Difference between revisions of "SAP ABAP DEBUGGER SCRIPTING"

From SapWiki
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
==Bypasear los AUTHORITY-CHECK==
 
==Bypasear los AUTHORITY-CHECK==
 +
Ejemplo de uso del Debug Scripting para bypasear todas las llamadas de AUTHORITY-CHECK en un reporte/transacción: en este ejemplo, nuestro usuario no tiene acceso a todos los botones en la pantalla de selección de un reporte(restringidos por AUTHORITY-CHECK), vía el debug script le damos acceso a todos.
 +
 
<youtube>URz7B-EZTOI</youtube>
 
<youtube>URz7B-EZTOI</youtube>
  
Line 20: Line 22:
 
==Trazar todas las líneas de programa==
 
==Trazar todas las líneas de programa==
 
Template: RSTPDA_SCRIPT_STATEMENT_TRACE
 
Template: RSTPDA_SCRIPT_STATEMENT_TRACE
 +
 +
1) Poner un breakpoint en el programa donde se estime conveniente o simplemente ejecutar con /H. Cuando se llegué al break ir a la viñeta “Script”.
 +
 +
2) Seleccionar “Load Script” y cargar el Script RSTPDA_SCRIPT_STATEMENT_TRACE.
 +
 +
3) Seleccionar “Start Script” y esperar hasta la finalización del programa.
 +
 +
4) Ejecutar de nuevo el programa y al llegar al break ir a viñeta “Script”, seleccionar “Exit Script”.
 +
 +
5) Ir a viñeta “Trace Files” seleccionar la línea y ejecutar “Start analysis in a new session”.
 +
 +
6) Se abrirá otra pantalla donde veremos el archivo de trace, seleccionamos “Statemens” y exportamos el archivo como hoja de cálculo.
 +
 +
7) Abrimos el archivo y en este caso buscamos el string T596J hasta encontrar una línea con SELECT.
 +
 +
8) Copiamos el include y vamos a la trn. SE38.
 +
 +
9) Visualizamos el programa y voilà.
 +
 +
 +
[[File:Scriptt LRE.jpg|900px|]]

Latest revision as of 19:15, 13 March 2024

Bypasear los AUTHORITY-CHECK

Ejemplo de uso del Debug Scripting para bypasear todas las llamadas de AUTHORITY-CHECK en un reporte/transacción: en este ejemplo, nuestro usuario no tiene acceso a todos los botones en la pantalla de selección de un reporte(restringidos por AUTHORITY-CHECK), vía el debug script le damos acceso a todos.

 METHOD script.

*** insert your script code here
    TRY.
      debugger_controller->debug_step(
      p_command = cl_tpda_script_debugger_ctrl=>debug_step_over ).

      cl_tpda_script_data_descr=>change_value(
      p_new_value = '0'
      p_varname = 'SY-SUBRC' ).
    CATCH CX_TPDA_VARNAME .
    CATCH CX_TPDA_SCR_AUTH .
    ENDTRY.

  ENDMETHOD.                    "script

Trazar todas las líneas de programa

Template: RSTPDA_SCRIPT_STATEMENT_TRACE

1) Poner un breakpoint en el programa donde se estime conveniente o simplemente ejecutar con /H. Cuando se llegué al break ir a la viñeta “Script”.

2) Seleccionar “Load Script” y cargar el Script RSTPDA_SCRIPT_STATEMENT_TRACE.

3) Seleccionar “Start Script” y esperar hasta la finalización del programa.

4) Ejecutar de nuevo el programa y al llegar al break ir a viñeta “Script”, seleccionar “Exit Script”.

5) Ir a viñeta “Trace Files” seleccionar la línea y ejecutar “Start analysis in a new session”.

6) Se abrirá otra pantalla donde veremos el archivo de trace, seleccionamos “Statemens” y exportamos el archivo como hoja de cálculo.

7) Abrimos el archivo y en este caso buscamos el string T596J hasta encontrar una línea con SELECT.

8) Copiamos el include y vamos a la trn. SE38.

9) Visualizamos el programa y voilà.


Scriptt LRE.jpg