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 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:


Í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.

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.

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.



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'.

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.

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 ...