hi experts,
i got stuck in a big problem.i need to fetch the data from the 4 tables ie BSEG,BKPF,LFA1,VBRK.now because BSEG is a cluster table i could not use it in joins.yesterday someone recommended me to use FOR ALL ENTRIES.i have tried with this also but still it is not working.plz helm me out.i am sending you the code.plz make the changes where ever needed..
REPORT ZFI_R_VENDOR .
TABLES:BSEG,LFA1,BKPF,VBRK.
DATA: BEGIN OF ITAB OCCURS 0,
BUKRS LIKE BKPF-BUKRS,
BELNR LIKE BSEG-BELNR,
DOC LIKE BSEG-BELNR,
LIFNR LIKE BSEG-LIFNR,
BUDAT LIKE BKPF-BUDAT,
VBELN LIKE VBRK-VBELN,
ORT01 LIKE LFA1-ORT01,
PSTLZ LIKE LFA1-PSTLZ,
STRAS LIKE LFA1-STRAS,
NAME1 LIKE LFA1-NAME1,
KOART LIKE BSEG-KOART,
SHKZG LIKE BSEG-SHKZG,
DMBTR LIKE BSEG-DMBTR,
DEBIT LIKE BSEG-DMBTR,
CREDIT LIKE BSEG-DMBTR,
AMOUNT LIKE BSEG-DMBTR,
END OF ITAB.
DATA PTAB LIKE ITAB OCCURS 0 WITH HEADER LINE.
DATA PTAB1 LIKE ITAB OCCURS 0 WITH HEADER LINE.
DATA I_OUTPUT LIKE ITAB OCCURS 0 WITH HEADER LINE.
DATA ITAB1 LIKE ITAB OCCURS 0 WITH HEADER LINE.
DATA:WBUDAT LIKE BKPF-BUDAT,
WABUKRS LIKE BKPF-BUKRS,
WVBELN LIKE VBRK-VBELN,
WBUKRS LIKE VBRK-BUKRS,
WLIFNR LIKE LFA1-LIFNR.
DATA:WCREDIT LIKE BSEG-DMBTR VALUE '0',
WDEBIT LIKE BSEG-DMBTR VALUE '0'.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETER CMP_CD LIKE BKPF-BUKRS.
SELECT-OPTIONS:VENDOR FOR BSEG-LIFNR,
P_DATE FOR BKPF-BUDAT.
SELECTION-SCREEN END OF BLOCK B1.
SELECT BUDAT BUKRS FROM BKPF INTO CORRESPONDING FIELDS OF TABLE ITAB WHERE BUDAT IN P_DATE AND BUKRS = CMP_CD.
SELECT BUKRS BELNR SHKZG DMBTR FROM BSEG INTO CORRESPONDING FIELDS OF TABLE PTAB FOR ALL ENTRIES IN ITAB
WHERE LIFNR IN VENDOR
AND BUKRS = ITAB-BUKRS.
SELECT VBELN FROM VBRK INTO CORRESPONDING FIELDS OF TABLE PTAB1 FOR ALL ENTRIES IN PTAB WHERE BUKRS = PTAB-BUKRS.
SELECT NAME1 ORT01 PSTLZ STRAS FROM LFA1 INTO CORRESPONDING FIELDS OF TABLE ITAB1 FOR ALL ENTRIES IN PTAB WHERE LIFNR = PTAB-LIFNR.
MOVE-CORRESPONDING ITAB TO I_OUTPUT.
MOVE-CORRESPONDING ITAB1 TO I_OUTPUT.
MOVE-CORRESPONDING PTAB TO I_OUTPUT.
MOVE-CORRESPONDING PTAB1 TO I_OUTPUT.
LOOP AT I_OUTPUT.
WRITE:/ I_OUTPUT-NAME1,I_OUTPUT-ORT01,I_OUTPUT-VBELN,I_OUTPUT-BELNR.
ENDLOOP.
regards,
raman.