On July 1, say, the organizational change of an employee takes place, and this, in turn, leads to new entries in tables T001P or T503 and, above all, leads to a new shift.
If you now enter an absence which spans the organizational change, for instance from June 28 to July 7, the employee's shift is read inconsistently or incorrectly. The error message "No entry in table T508A, argument ..." P2801 may appear, or an incorrect counting of the absence might occur.
Key words: P2001, I2001, P0007, I0007, P0001, I0001.
Program error
SolutionYou can correct the error as follows:
Edit Include MP200140 and find
FORM EXEC_REAKTION.
As shown below, insert one line and deactivate the other lines marked:
FORM EXEC_REAKTION USING ER_BEGDA ER_ENDDA ER_BEGUZ ER_ENDUZ
ER_STDAZ ER_ABWTG ER_ABRTG ER_ABRST
ER_KALTG ER_VTKEN ER_SUBTY ER_CONTI.
...
ELSE. "Mehrtaegige Abwesenheit
CLEAR: ER_ABWTG, ER_ABRTG, ER_ABRST, ER_STDAZ, ER_KALTG, PTPRG.
IF ER_CONTI EQ YES.
CLEAR HOLIDAY. REFRESH HOLIDAY.
ENDIF.
MOVE SPACE06 TO PTPRG-BEGUZ.
MOVE SPACE06 TO PTPRG-ENDUZ.
MOVE ER_BEGDA TO REAK_DATE.
WHILE REAK_DATE LE ER_ENDDA.
CLEAR: REAK_ABWTG, REAK_ABRTG, REAK_ABRST, 550AO-SOLLZ.
PERFORM FETCH_OPKEN USING ER_VTKEN ER_BEGUZ ER_ENDUZ PTPRG-OPKEN.
PERFORM READ_APLA USING REAK_DATE APLA.
MOVE-CORRESPONDING APLA TO PTPRG.
MOVE: INITIAL_RETCD TO PTPRG-RETCD,
INITIAL_RETCD TO PTPRG-RETC1,
PSPAR-PERNR TO PTPRG-PERNR,
T554S-ABWRG TO PTPRG-ABWRG.
IF PSYST-IOPER EQ 'FAST'. "QAFK78790
PERFORM FAST_ABWRG USING ER_SUBTY ER_BEGDA
ER_ENDDA PTPRG-ABWRG.
ENDIF.
* MOVE: T503-ZEITY TO PTPRG-ZEITY, <<<< deactivate line
* T001P-MOFID TO PTPRG-MOFID, <<<< deactivate line
* T001P-MOSID TO PTPRG-MOSID, <<<< deactivate line
* REAK_DATE TO PTPRG-DATUM. <<<< deactivate line
MOVE: REAK_DATE TO PTPRG-DATUM. <<<< insert line
REFRESH: I550AN, I550AO, I550PN, I550PO.
CLEAR : I550AN, I550AO, I550PN, I550PO.
CALL FUNCTION 'RP_DAYPROGRAM'
...
Afterwards, please carry out a syntax check for program MP200000.
No comments:
Post a Comment