REPORT Z58_I_BREAK_ME_PLUS.
*--[ Rutinas de soporte para el include Z58_I_BREAK_ME
FORM INSERT_BKP USING P_CPROG TYPE SYCPROG
P_REPID TYPE SYREPID.
DATA: L_Z58_IG_TB_BRK TYPE Z58_IG_TB_BRK,
L_MOTIVO TYPE TEXT50.
IF SY-LISEL+0(1) = '@'.
*--[ Buscamos por TAG
SELECT SINGLE MOTIVO INTO L_MOTIVO FROM Z58_IG_TB_BRK
WHERE TAG = SY-LISEL.
ELSE.
*--[ Buscamos por programa
SELECT SINGLE MOTIVO INTO SY-LISEL FROM Z58_IG_TB_BRK
WHERE CPROG = P_CPROG
AND REPID = P_REPID.
ENDIF.
IF SY-SUBRC NE 0.
CLEAR L_Z58_IG_TB_BRK.
IF SY-LISEL+0(1) = '@'.
L_Z58_IG_TB_BRK-TAG = SY-LISEL.
IF SY-MSGV1 IS INITIAL.
L_Z58_IG_TB_BRK-MOTIVO = '## AUTOMATIC TAG BREAK ##'.
ELSE.
L_Z58_IG_TB_BRK-MOTIVO = SY-MSGV1.
ENDIF.
ELSE.
L_Z58_IG_TB_BRK-MOTIVO = '## AUTOMATIC SOURCE BREAK ##'.
ENDIF.
L_Z58_IG_TB_BRK-CPROG = P_CPROG.
L_Z58_IG_TB_BRK-REPID = P_REPID.
L_Z58_IG_TB_BRK-UNAME = SY-UNAME.
L_Z58_IG_TB_BRK-DATBI = '99991231'.
L_Z58_IG_TB_BRK-DATAB = SY-DATUM.
INSERT Z58_IG_TB_BRK FROM L_Z58_IG_TB_BRK.
ENDIF.
ENDFORM. "insert_BKP
FORM CHECK_BKP USING P_CPROG TYPE SYCPROG
P_REPID TYPE SYREPID
CHANGING P_SUBRC.
IF SY-LISEL+0(1) = '@'.
SELECT SINGLE BUCLE INTO SY-LISEL FROM Z58_IG_TB_BRK
WHERE TAG = SY-LISEL
AND ( UNAME = SY-UNAME OR UNAME = '*' )
AND DATBI >= SY-DATUM
AND DATAB <= SY-DATUM
AND ACTIV = 'X'.
ELSE.
SELECT SINGLE BUCLE INTO SY-LISEL FROM Z58_IG_TB_BRK
WHERE CPROG = P_CPROG
AND REPID = P_REPID
AND ( UNAME = SY-UNAME OR UNAME = '*' )
AND DATBI >= SY-DATUM
AND DATAB <= SY-DATUM
AND ACTIV = 'X'.
ENDIF.
IF SY-SUBRC EQ 0.
P_SUBRC = 100.
IF SY-LISEL = 'X'.
*--[ Bucle infinito activo
ADD 1 TO P_SUBRC.
ENDIF.
ENDIF.
ENDFORM.