Es muy sencillo. Dejar un bucle infinito en el llamado de uno de los metodos o funciones que pasen por el WorkFlow por ejemplo:
WHILE 0 EQ 0.
ENDWHILE.
Luego ejecutamos el Workflow y ese proceso estará "colgado". Para verlo, vamos a la transacción SM50 y tocamos el proceso que está en ejecución y en el menú Gestión - Programa - Debugging:
Blog de Abap
Trucos, respaldos y mejores prácticas en ABAP.
Índice de un radio Webdynpro ABAP
DATA lo_nd_radio TYPE REF TO if_wd_context_node.
DATA index TYPE i.
lo_nd_radio = wd_context->get_child_node( name = wd_this->wdctx_radio ).
index = lo_nd_radio->get_lead_selection_index( ).
CASE index.
WHEN 1.
WHEN 2.
ENDCASE.
DATA index TYPE i.
lo_nd_radio = wd_context->get_child_node( name = wd_this->wdctx_radio ).
index = lo_nd_radio->get_lead_selection_index( ).
CASE index.
WHEN 1.
WHEN 2.
ENDCASE.
Llamar a un action cómo método en WebDynpro ABAP
DATA lo_event TYPE REF TO cl_wd_custom_event.
DATA lt_parameters TYPE wdr_event_parameter_list.
DATA ls_parameters LIKE LINE OF lt_parameters.
CREATE OBJECT lo_event
EXPORTING
name = 'ON_ACTION'
parameters = lt_parameters.
CALL METHOD wd_this->onactionNOMBRE_DEL_ACTION
EXPORTING
wdevent = lo_event.
DATA lt_parameters TYPE wdr_event_parameter_list.
DATA ls_parameters LIKE LINE OF lt_parameters.
CREATE OBJECT lo_event
EXPORTING
name = 'ON_ACTION'
parameters = lt_parameters.
CALL METHOD wd_this->onactionNOMBRE_DEL_ACTION
EXPORTING
wdevent = lo_event.
Leer textos de un dominio ABAP
TYPES: ty_dd07v TYPE STANDARD TABLE OF dd07v.
DATA: it_valores TYPE ty_dd07v,
wa_valores TYPE LINE OF ty_dd07v.
REFRESH: it_valores.
* Valores del Dominio
CALL FUNCTION 'DD_DOMVALUES_GET'
EXPORTING
domname = 'STTRG'
text = 'X'
langu = sy-langu
TABLES
dd07v_tab = it_valores
EXCEPTIONS
wrong_textflag = 1
OTHERS = 2.
DATA: it_valores TYPE ty_dd07v,
wa_valores TYPE LINE OF ty_dd07v.
REFRESH: it_valores.
* Valores del Dominio
CALL FUNCTION 'DD_DOMVALUES_GET'
EXPORTING
domname = 'STTRG'
text = 'X'
langu = sy-langu
TABLES
dd07v_tab = it_valores
EXCEPTIONS
wrong_textflag = 1
OTHERS = 2.
Ejecutar transancciones SAP sin autorización (sólo con debug)
En el programa LSEUKF01 buscar el llamado a la función CALL FUNCTION 'AUTH_CHECK_TCODE' colocar un break-point y ejecutar la transacción a la que no tenemos acceso:
Cambiar el sy-subrc por 0 y listo.
Variables a memoria SAP ABAP
DATA: lv_nivel(5) TYPE c,
p_nivel(5) TYPE c.
lv_nivel = 'SUP'.
* Enviar a memoria variable nivel
EXPORT nivel FROM lv_nivel TO MEMORY ID 'nivel'.
* Importar datos de memoria
IMPORT nivel TO p_nivel FROM MEMORY ID 'nivel'.
FREE MEMORY ID 'nivel'.
p_nivel(5) TYPE c.
lv_nivel = 'SUP'.
* Enviar a memoria variable nivel
EXPORT nivel FROM lv_nivel TO MEMORY ID 'nivel'.
* Importar datos de memoria
IMPORT nivel TO p_nivel FROM MEMORY ID 'nivel'.
FREE MEMORY ID 'nivel'.
2 maneras de leer Infotipo 41 - Datos de Fecha
Opción 1:
Con la función HR_ECM_GET_DATETYP_FROM_IT0041.
Opción 2:
LOOP AT gen_p0041 WHERE begda LE dhf_date
AND endda GE dhf_date.
DO 12 TIMES
VARYING i0041-type FROM gen_p0041-dar01 NEXT gen_p0041-dar02
VARYING i0041-date FROM gen_p0041-dat01 NEXT gen_p0041-dat02.
CHECK i0041-type EQ hdate.
dhf_hire = i0041-date.
EXIT.
ENDDO.
ENDLOOP.
Suscribirse a:
Entradas (Atom)
Debuggear Workflow ABAP y procesos de fondo
Es muy sencillo. Dejar un bucle infinito en el llamado de uno de los metodos o funciones que pasen por el WorkFlow por ejemplo: WHILE 0 ...
-
Opción 1: Con la función HR_ECM_GET_DATETYP_FROM_IT0041 . Opción 2: LOOP AT gen_p0041 WHERE begda LE dhf_date ...
-
Ejecutamos el programa RSCPSETEDITOR por la transacción SE38 y tildamos (para activar)o destildamos (para desactivar) las opciones de SAPsc...
-
DATA : lv_nivel ( 5 ) TYPE c , p_nivel ( 5 ) TYPE c . lv_nivel = 'SUP' . * Enviar a memoria variable nivel ...