Skip to Content
0
Former Member
Jun 26, 2009 at 07:03 AM

short dump error when extracting from one of the datasource in R/3 to BW

21 Views

When extracting from one of the datasource I am getting the short dump. below is the source code of the same.

Source code extract

Get boundaries of next TID block

L_FROM_INDEX = L_TO_INDEX + 1.

IF L_FROM_INDEX GT NFILL. EXIT. ENDIF.

L_TO_INDEX = L_TO_INDEX + L_BLOCK_SIZE.

IF L_TO_INDEX GT NFILL.

L_TO_INDEX = NFILL.

L_BLOCK_SIZE = L_TO_INDEX - L_FROM_INDEX + 1.

ENDIF.

Create hashed index on TID of TID table

CLEAR L_TH_TID_IDX.

LOOP AT TIDTAB FROM L_FROM_INDEX TO L_TO_INDEX.

L_S_TID_IDX-TIDIX = SY-TABIX.

L_S_TID_IDX-TID = TIDTAB-TID.

COLLECT L_S_TID_IDX INTO L_TH_TID_IDX.

ENDLOOP.

Select TID block from STATE table

SELECT * INTO TABLE L_T_STATE

FROM ARFCSSTATE FOR ALL ENTRIES IN L_TH_TID_IDX

WHERE ARFCIPID EQ L_TH_TID_IDX-TID-ARFCIPID

AND ARFCPID EQ L_TH_TID_IDX-TID-ARFCPID

AND ARFCTIME EQ L_TH_TID_IDX-TID-ARFCTIME

AND ARFCTIDCNT EQ L_TH_TID_IDX-TID-ARFCTIDCNT

ORDER BY PRIMARY KEY.

Consistence check

DESCRIBE TABLE L_T_STATE LINES L_LINES.

IF L_LINES NE L_BLOCK_SIZE OR

L_LINES EQ 0.

MESSAGE X097(SY).

ENDIF.

PERFORM DELETE_BATCH_JOB

USING L_T_STATE

CHANGING L_S_TID1.

Update LUW-Status und Zeit

CLEAR L_T_STATE_IDX.

CLEAR L_TH_TID2_IDX.

CLEAR L_T_TID.

LOOP AT L_T_STATE INTO L_S_STATE.

L_S_STATE_IDX-TABIX = SY-TABIX.