Está en la página 1de 3

Debugeando procesos que corren en fondo

Con este tip vamos ha romper el mito sobre el debugeo de procesos en fondo . Parece estar
extendida la teora de que un report cualquiera lanzado en fondo no puede ser debugeado y en
parte tiene cierta lgica ya que no nos valen los tpicos procedimientos de debug pero la
verdad es que esto no es cierto.
Los jobs que corren en fondo pueden ser debugeados tan solo necesitamos ciertos permisos
para el debug de jobs activos para los administradores sabed que este permiso reside en el
objeto !"#$%&"'C$ ( P#$% ) Process administration using trans. !%*+ !%,* -.
.l procedimiento es muy sencillo
1.- !i el job esta corriendo tan solo hay que ir a la /ransaccin !%,* y marcar el chec0box
del proceso que corre nuestro job.
Luego vamos a la opcin del men1
Program2%ode)3Program)3$ebugging.
4 listo a debugear
2.- !i el job ya finalizo podemos debugearlo desde la !%56 seleccionando el job y escribiendo
la transaccin 7$89.
!i el job es demasiado r:pido para poder pillarlo por la !%,* un truco es programar el job por
!%5; usando dos pasos y siendo el primer paso el report de bucle estandard 8/CL<<P al
comenzar el debug solo tendremos que salir del bucle de este report.
.spero os sea de todos de utilidad.
=n saludo a todo el foro de sap .
""""""""""""""""""
!i precisas una mano recuerda que yo tengo dos.
>orale muy bueno ...
!abia que se podia hac?er debug por la !%,* pero no se por que no se me ocurrio para
procesos de fondo yo utilizo la !%,* para hacer debug a funciones que se mandan llamar via
@'C... #hi se los dejo como dato adicional para aquellos que no lo sepan
SAPHack
ADVERTENCIA
Todo lo que aqu se explica es puramente didactico lo que el usuario o pre!esional "a#a con ello s$lo
est% su&eto entre sus actos ' su conciencia( )os autores no se "acen responsa*les de los delitos que
puedan cometerse con el uso inde*ido de estos conocimientos( )os autores no pertenecen a SAP de
!orma al#una( )a lectura de este texto implica la aceptaci$n de dic"a ad+ertencia( En caso contrario no
si#as le'endo( )os c$di#os !uentes asociados son propiedad intelectual de ,cRatas se permite la
copia del mismo as como su utili-aci$n no o*stante se pro"i*e de cualquier !orma su modi!iaci$n sin
consentimiento de los autores(
ADEVERTENCIA
De.u#/)i+e
.ien este es el primer captulo de todo este cuento( Aunque pueda sonar extra0o el ttulo no es
lo que parece 'a lo iras entendiendo(
En de!initi+a todo sistema se compone de lo esencial un soporte donde almacenar in!ormaci$n(
Si su*imos m%s arri*a podemos +er que dic"o soporte no es m%s que unos !ic"eros o ta*las
donde esta in!ormaci$n est% catalo#ada ' descrita 1muc"as +eces parcamente2( No o*stante esto
no tiene que suponer nin#un pro*lema(
En el caso de SAP estamos "a*lando de una aplicaci$n Client/Ser+er como 'a sa*eis SAP
dispone de un ser+idor donde #uarda toda la in!ormaci$n ' unos 3rontEnds o Clientes donde el
usuario !inal puede atacar 1tra*a&ar2 a la m%quina( Esto implica que los pro#ramas no se e&ecutan
en nuestra maquina ' que la in!ormaci$n tampoco se "a'a en nuestro terminal est% todo
#uardado en el ser+idor( Esto se aplica a cualquier sistema CS(
)a di!ercia es que SAP siendo un ERP tan a*ierto se nos permite "acer cualquier cosa mientras
ten#amos autori-aci$n para ello ' como SAP es tan a*ierto los c$di#os !uentes de todos los
pro#ramas estan a disposici$n para que los modi!iquemos sea por propia nota de SAP o por
decisi$n del cliente(
Disponemos de un 4ork.enc" donde poder tra*a&ar ' unas "erramientas m%s que su!icientes(
As que lo dem%s sale solo(
Partiendo de que tenemos cualquier c$di#o !uente saltarselo o alterarlo 1incluso el standard2 no
es di!cil s$lo "a' que tener la paciencia su!iciente como para encontrar el lu#ar adecuado( Nota5
Realmente no disponemos del c$di#o !uente "a' al#unas rutinas6pro#ramas que estan
implementadas directamente en el ser+idor en c$di#o C supon#o que as est% pro#ramado
SAP( Por e&emplo cuando uno se pre#unta por la rutina de encr'ptado de pass7ord de usuario
de*eremos ir a mirar el propio e&ecuta*le de SAP 1del ser+er2 'a que no existe nin#8n A.AP o
e&ecuta*le local con dic"a in!ormaci$n(
Existen tam*i9n "erramientas ocultas o no documentadas que s$lo las aplica SAP a su #usto '
placer no o*stante +amos a intentar des+elarlas un poquito en la secci$n de :nd;c:mEntEd(
6H
Este es el pan nuestro de cada da la !unci$n de de*u#( Con esta !unci$n se puede tra*a&ar
directamente con el c$di#o !uente +iendo paso a paso lo que est% "aciendo a cada momento(
)amenta*lemente a8n no "emos encontrado la !orma de modi!icar ese c$di#o dentro del
proceso de de*u# pero estamos en ello
)o importante es que con esta "erramienta +amos a poder +er el contenido de las +aria*les '
ta*las as como otras -onas de memorias que !sicamente no son accesi*les pero que est%n
a"(
A partir de este momento ' con estos nue+os conocimientos 1crees que son pocos<2 'a puedes
"acer lo que quieras con SAP( He aqu unos e&emplos5
;*tener pri+ile#ios de SAP=
Editar c$di#os !uentes standard(
Saltarse protecciones por per!il(
etc(
E&emplos sencillos5
Para poder a*rir cualquier tipo de por#rama tan solo es necesario +isuali-a el c$di#o
!uente del pro#rama5 RDDINSYS ' poner un sencillo break-point( en la linea 376( Es un
case que controla el resultado de una !unci$n( :na +e- puesto el *reak *astar% con
sal#amos del editor ' editemos el pro#rama que +amos a utili-ar con mano/ne#ra( Al
apretar so*re el *ot$n de edit saltar% el DE.:> en la linea indicada ' simplemente
cam*iando el +alor de la +ar'a*le sy-subrc podremos acceder a cualquier !uente(
1Acordaros que en TST se #eneran ordenes de transporte mientras que en REC o PRD
no(2
)a transacci$n SE16 es una de las "erramientas m%s utiles del sistema 'a que nos permite
acceder a las ta*las +er su contenido ' como no((( ,odi!icarlo( Si al#una +e- no te aparece
las opciones de actuali-aci$n no te preocupes( Simplemente accede al re#istro el cual
quieres ?maquillar? ' utili-a el DE.:>( Veras que existe un c$di#o como okcode que
cam*iandolo por el que quieras podr%s "acer lo que te pla-ca 52

También podría gustarte