0% encontró este documento útil (0 votos)
31 vistas2 páginas

Resumen Zec003 Determine Approvers

El documento describe un proceso de verificación y manipulación de registros en las tablas ZET00302 y ZEC00303. Dependiendo del resultado de las selecciones y el valor de sy-subrc, se realizan inserciones o se devuelve un código de estado que indica si se encontraron o no registros válidos. En caso de errores, se registran mensajes específicos en la tabla correspondiente.

Cargado por

tatuflo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
31 vistas2 páginas

Resumen Zec003 Determine Approvers

El documento describe un proceso de verificación y manipulación de registros en las tablas ZET00302 y ZEC00303. Dependiendo del resultado de las selecciones y el valor de sy-subrc, se realizan inserciones o se devuelve un código de estado que indica si se encontraron o no registros válidos. En caso de errores, se registran mensajes específicos en la tabla correspondiente.

Cargado por

tatuflo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Loop at ZET00302.

Si esta vaca:
Leo I_ITEM (/RPM/ITEM_D) donde guid = ZET00302-guid_a_utilizar. Se
guarda en
ls_item
Si est informada
Leo I_ITEM donde initiative_guid = abap_false. Se guarda en ls_item
.
Perform fabd_co_get_zec00303
*------------------------------------------------------------------------------------------------------------*
En este perform se hacen las distintas select.
En caso de no encontrar registros en la tabla zec00303, el perform tiene un
parmetro del tipo sy-subrc, el cual tendr el valor 4.
En caso de encontrar registros en alguna select, se verifica el importe de
cada una de ellas.
Y si el importe de zec00303 es menor que el /RPM/ITEM_D-frcst_costtotal se
eliminara de la tabla interna zec00303.
Al final, compruebo si quedan registros en la tabla interna zec00303, en
caso de no tener ninguno, porque se hayan borrado, se devolver un 4 en el
perform, y si no, un 0.
*------------------------------------------------------------------------------------------------------------*
Dependiendo de la variabla subrc que devuelva el perform:

Si es igual a 4:
-

Se realiza en select a zet00303 con el gui, workflow_id y el contador.


-Si encuentra reg. La funcin devuelve un 0 en E_SUBRC.
-Si no encuentra reg. La funcin devuelve un 4 en E_SUBRC, y
se insertara un mensaje de retorno No se pudieron determinar
aprobadores vlidos para..

Si es igual a 0 (Encontr registros en zec00303).

Se realiza en select a la tabla zet00303 entrando con el registro que se est


tratando (zer00302) entrando con gui, wf_id y contador.
Si encuentra registro:
Se inserta en la tabla ZET003002, estado = 3- Con error y el mensaje
de error Error al escribir en la tabla de ZET003003, para... Se
devuelve E_SUBRC igual a 4.

Si no encuentra registro:
Se inserta en la tabla ZET003002 estado = 5- Finalizado.
Se devuelve E_SUBRC IGUAL 0.
** Ahora mismo, yo no estoy insertando ni modificando nada en las tablas z,
solo devuelvo el E_SUBRC y la tabla bapi con los errores.

También podría gustarte