TABLES: LFB1,BSIK. SELECT-OPTIONS: S_BUKRS FOR BSIK-BUKRS,S_LIFNR FOR LFB1-LIFNR. TYPE-POOLS: RSDS, RSFS. DATA: CALLBACK TYPE TABLE OF LDBCB, CALLBACK_WA LIKE LINE OF CALLBACK. DATA: SELTAB TYPE TABLE OF RSPARAMS, SELTAB_WA LIKE LINE OF SELTAB. DATA: TEXPR TYPE RSDS_TEXPR, FSEL TYPE RSFS_FIELDS. CALLBACK_WA-LDBNODE = 'LFB1'. CALLBACK_WA-GET = 'X'. CALLBACK_WA-GET_LATE = 'X'. CALLBACK_WA-CB_PROG = SY-REPID. CALLBACK_WA-CB_FORM = 'CALLBACK_LFB1'. APPEND CALLBACK_WA TO CALLBACK. CLEAR CALLBACK_WA. CALLBACK_WA-LDBNODE = 'BSIK'. CALLBACK_WA-GET = 'X'. CALLBACK_WA-CB_PROG = SY-REPID. CALLBACK_WA-CB_FORM = 'CALLBACK_BSIK'. APPEND CALLBACK_WA TO CALLBACK. SELTAB_WA-KIND = 'S'. SELTAB_WA-SELNAME = 'KD_BUKRS'. LOOP AT S_BUKRS. MOVE-CORRESPONDING S_BUKRS TO SELTAB_WA. APPEND SELTAB_WA TO SELTAB. ENDLOOP. SELTAB_WA-KIND = 'S'. SELTAB_WA-SELNAME = 'KD_LIFNR'. LOOP AT S_LIFNR. MOVE-CORRESPONDING S_LIFNR TO SELTAB_WA. APPEND SELTAB_WA TO SELTAB. ENDLOOP. CALL FUNCTION 'LDB_PROCESS' EXPORTING LDBNAME = 'KDF' VARIANT = ' ' EXPRESSIONS = TEXPR FIELD_SELECTION = FSEL TABLES CALLBACK = CALLBACK SELECTIONS = SELTAB EXCEPTIONS LDB_NOT_REENTRANT = 1 LDB_INCORRECT = 2 LDB_ALREADY_RUNNING = 3 LDB_ERROR = 4 LDB_SELECTIONS_ERROR = 5 LDB_SELECTIONS_NOT_ACCEPTED = 6 VARIANT_NOT_EXISTENT = 7 VARIANT_OBSOLETE = 8 VARIANT_ERROR = 9 FREE_SELECTIONS_ERROR = 10 CALLBACK_NO_EVENT = 11 CALLBACK_NODE_DUPLICATE = 12 OTHERS = 13. IF SY-SUBRC <> 0. WRITE: 'Exception with SY-SUBRC', SY-SUBRC. ENDIF. FORM CALLBACK_LFB1 USING NAME TYPE LDBN-LDBNODE WA TYPE LFB1 EVT TYPE C CHECK TYPE C. CASE EVT. WHEN 'G'. WRITE: / WA-BUKRS, WA-LIFNR. ULINE. WHEN 'L'. ULINE. ENDCASE. ENDFORM. FORM CALLBACK_BSIK USING NAME TYPE LDBN-LDBNODE WA TYPE BSIK EVT TYPE C CHECK TYPE C. WRITE: / WA-BELNR. ENDFORM.
result:
ZFI_IF0005_NEW 2001 300000638 1900000006
But when I run the following code:
REPORT ZFI_IF0005_NEW.
NODES: LFB1,BSIK. GET LFB1. WRITE: / LFB1-BUKRS,LFB1-LIFNR. GET BSIK. WRITE: / BSIK-BELNR.
result:
ZFI_IF0005_NEW 2001 300000638 1900000006 1500000209 5100000072 1500000012 1900000005
why the results are not same?