The problem is due some corruption in the R/3 program which has led to
failure of BW batch issue
when I run RSA7 in R/3 and execute the data I am getting short dump error
which is due to Internal SAP table entries mismatch when reading the data.
The Internal Table L_T_STATE showing 49 records and the other table
Internal Table L_TH_TID_IDX showing 50 Records
The problem is due to missing record in the table ARFCSSTATE when check
with the table TRFCQOUT which inturn throws the short dump error.
Short dump error
Get boundaries of next TID block
003940 L_FROM_INDEX = L_TO_INDEX + 1.
003950 IF L_FROM_INDEX GT NFILL. EXIT. ENDIF.
003960 L_TO_INDEX = L_TO_INDEX + L_BLOCK_SIZE.
003970 IF L_TO_INDEX GT NFILL.
003980 L_TO_INDEX = NFILL.
003990 L_BLOCK_SIZE = L_TO_INDEX - L_FROM_INDEX + 1.
004000 ENDIF.
004010
004020 * Create hashed index on TID of TID table
004030 CLEAR L_TH_TID_IDX.
004040 LOOP AT TIDTAB FROM L_FROM_INDEX TO L_TO_INDEX.
004050 L_S_TID_IDX-TIDIX = SY-TABIX.
004060 L_S_TID_IDX-TID = TIDTAB-TID.
004070 COLLECT L_S_TID_IDX INTO L_TH_TID_IDX.
004080 ENDLOOP.
004090
004100 * Select TID block from STATE table
004110 SELECT * INTO TABLE L_T_STATE
004120 FROM ARFCSSTATE FOR ALL ENTRIES IN L_TH_TID_IDX
004130 WHERE ARFCIPID EQ L_TH_TID_IDX-TID-ARFCIPID
004140 AND ARFCPID EQ L_TH_TID_IDX-TID-ARFCPID
004150 AND ARFCTIME EQ L_TH_TID_IDX-TID-ARFCTIME
004160 AND ARFCTIDCNT EQ L_TH_TID_IDX-TID-ARFCTIDCNT
004170 ORDER BY PRIMARY KEY.
004180 * Consistence check
004190 DESCRIBE TABLE L_T_STATE LINES L_LINES.
004200 IF L_LINES NE L_BLOCK_SIZE OR
004210 L_LINES EQ 0.
-
> MESSAGE X097(SY).
004230 ENDIF.
004240
004250 PERFORM DELETE_BATCH_JOB
004260 USING L_T_STATE
004270 CHANGING L_S_TID1.
004280
004290 * Update LUW-Status und Zeit
004300 CLEAR L_T_STATE_IDX.
004310 CLEAR L_TH_TID2_IDX.
004320 CLEAR L_T_TID.
004330 LOOP AT L_T_STATE INTO L_S_STATE.
004340 L_S_STATE_IDX-TABIX = SY-TABIX.
004350
004360 CLEAR L_S_TID_IDX.
004370 MOVE-CORRESPONDING L_S_STATE TO L_S_TID_IDX-TID.
004380 READ TABLE L_TH_TID_IDX INTO L_S_TID_IDX
004390 %_WITH TABLE KEY = L_S_TID_IDX.
004400 IF SY-SUBRC EQ 0.
004410 L_S_STATE_IDX-TIDIX = L_S_TID_IDX-TIDIX.
In the development I cannot recreate the issue as I am not able to delete
the record from the standard Internal table(s) TRFCQOUT and ARFCSSTATE.