‎2008 May 27 7:00 AM
Hi
The following logic is not working. I need to extract all data in to LT_LIPOV using invoice No.
Pls help me
FORM GET_VBRP_DATA.
SELECT * INTO CORRESPONDING FIELDS OF TABLE LT_VBRP
FROM VBRP WHERE VBELN IN S_INVNO.
ENDFORM. " get_vbrp_data
************************************************************************
FORM GET_ASN_DATA_INVNO.
SORT LT_VBRP BY VGBEL.
*Read in ASN
SELECT VBELN VERUR BOLNR ERDAT ERNAM
FROM LIKP INTO TABLE IT_LIKP
FOR ALL ENTRIES IN LT_VBRP
WHERE BOLNR = LT_VBRP-VGBEL.
*Read in ASN details
IF IT_LIKP[] IS NOT INITIAL.
SELECT VBELN POSNR MATNR ERDAT LFIMG ERNAM WERKS VGBEL VGPOS FROM LIPS INTO
TABLE IT_LIPS
FOR ALL ENTRIES IN IT_LIKP
WHERE VBELN = IT_LIKP-VBELN.
ELSE. "No ASN records found for the invoice
CLEAR LT_REP-VBELN.
CLEAR LT_REP-LFDAT.
CLEAR LT_REP-VERUR.
CLEAR LT_REP-BOLNR.
LT_REP-KOMAU = IT_LIPS-KOMAU. "Inv no
LV_MESSAGE = TEXT-504.
PERFORM CREATE_REPORT_RECORD_LIN01.
LT_REP-LINE_COLOUR = 'C610'. " red Intensified
ENDIF.
LOOP AT LT_VBRP. "Read invoice with Delivery header records
LT_LIPOV-KOMAU = LT_VBRP-VBELN.
READ TABLE IT_LIKP WITH KEY BOLNR = LT_VBRP-VGBEL BINARY SEARCH.
IF SY-SUBRC = 0.
LT_LIPOV-VBELN = IT_LIKP-VBELN.
LT_LIPOV-BOLNR = IT_LIKP-BOLNR.
LT_LIPOV-LDDAT = IT_LIKP-ERDAT.
LT_LIPOV-ERNAM = IT_LIKP-ERNAM.
MODIFY LT_LIPOV.
ENDIF.
CLEAR : LT_VBRP-VGBEL.
ENDLOOP. "End reading invoice
LOOP AT IT_LIPS. "Combine header records and details records to internal table
READ TABLE LT_LIPOV WITH KEY VBELN = IT_LIPS-VBELN BINARY SEARCH.
IF SY-SUBRC = 0.
LT_LIPOV1-VBELN = IT_LIPS-VBELN.
LT_LIPOV1-POSNR = IT_LIPS-POSNR.
LT_LIPOV1-MATNR = IT_LIPS-MATNR.
LT_LIPOV1-LDDAT = IT_LIPS-ERDAT.
LT_LIPOV1-LFIMG = IT_LIPS-LFIMG.
LT_LIPOV1-ERNAM = IT_LIPS-ERNAM.
LT_LIPOV1-WERKS = IT_LIPS-WERKS.
LT_LIPOV1-VGBEL = IT_LIPS-VGBEL.
LT_LIPOV1-VGPOS = IT_LIPS-VGPOS.
LT_LIPOV1-BOLNR = LT_LIPOV-BOLNR.
APPEND LT_LIPOV1.
CLEAR LT_LIPOV1.
ENDIF.
CLEAR : IT_LIPS-VBELN.
ENDLOOP.
LOOP AT LT_LIPOV1. "move records back to LT_LIPOV for further verification
REFRESH LT_LIPOV.
MOVE-CORRESPONDING LT_LIPOV1 TO LT_LIPOV.
APPEND LT_LIPOV.
ENDLOOP.
APPEND LT_REP.
CLEAR LT_LIPOV.
CLEAR LT_REP.
ENDFORM. " get_asn_data_invo
‎2008 May 27 7:39 AM
Hi,
Check the code below:
FORM GET_VBRP_DATA.
SELECT * INTO CORRESPONDING FIELDS OF TABLE LT_VBRP
FROM VBRP WHERE VBELN IN S_INVNO.
ENDFORM. " get_vbrp_data
************************************************************************
FORM GET_ASN_DATA_INVNO.
SORT LT_VBRP BY VGBEL.
IF NOT LT_VBRP IS INITIAL.*Read in ASN
SELECT VBELN VERUR BOLNR ERDAT ERNAM
FROM LIKP INTO TABLE IT_LIKP
FOR ALL ENTRIES IN LT_VBRP
WHERE BOLNR = LT_VBRP-VGBEL.
ENDIF.*Read in ASN details
IF IT_LIKP[] IS NOT INITIAL.
SELECT VBELN POSNR MATNR ERDAT LFIMG ERNAM WERKS VGBEL VGPOS FROM LIPS INTO
TABLE IT_LIPS
FOR ALL ENTRIES IN IT_LIKP
WHERE VBELN = IT_LIKP-VBELN.
ELSE. "No ASN records found for the invoice
CLEAR LT_REP-VBELN.
CLEAR LT_REP-LFDAT.
CLEAR LT_REP-VERUR.
CLEAR LT_REP-BOLNR.
LT_REP-KOMAU = IT_LIPS-KOMAU. "Inv no
LV_MESSAGE = TEXT-504.
PERFORM CREATE_REPORT_RECORD_LIN01.
LT_REP-LINE_COLOUR = 'C610'. " red Intensified
ENDIF.
LOOP AT LT_VBRP. "Read invoice with Delivery header records
LT_LIPOV-KOMAU = LT_VBRP-VBELN.
READ TABLE IT_LIKP WITH KEY BOLNR = LT_VBRP-VGBEL BINARY SEARCH.
IF SY-SUBRC = 0.
LT_LIPOV-VBELN = IT_LIKP-VBELN.
LT_LIPOV-BOLNR = IT_LIKP-BOLNR.
LT_LIPOV-LDDAT = IT_LIKP-ERDAT.
LT_LIPOV-ERNAM = IT_LIKP-ERNAM.
MODIFY LT_LIPOV.
ENDIF.
CLEAR : LT_VBRP-VGBEL.
ENDLOOP. "End reading invoice
LOOP AT IT_LIPS. "Combine header records and details records to internal table
READ TABLE LT_LIPOV WITH KEY VBELN = IT_LIPS-VBELN BINARY SEARCH.
IF SY-SUBRC = 0.
LT_LIPOV1-VBELN = IT_LIPS-VBELN.
LT_LIPOV1-POSNR = IT_LIPS-POSNR.
LT_LIPOV1-MATNR = IT_LIPS-MATNR.
LT_LIPOV1-LDDAT = IT_LIPS-ERDAT.
LT_LIPOV1-LFIMG = IT_LIPS-LFIMG.
LT_LIPOV1-ERNAM = IT_LIPS-ERNAM.
LT_LIPOV1-WERKS = IT_LIPS-WERKS.
LT_LIPOV1-VGBEL = IT_LIPS-VGBEL.
LT_LIPOV1-VGPOS = IT_LIPS-VGPOS.
LT_LIPOV1-BOLNR = LT_LIPOV-BOLNR.
APPEND LT_LIPOV1.
*CLEAR LT_LIPOV1."Remove ThisENDIF.
CLEAR : IT_LIPS-VBELN.
ENDLOOP.
LOOP AT LT_LIPOV1. "move records back to LT_LIPOV for further verification
REFRESH LT_LIPOV.
MOVE-CORRESPONDING LT_LIPOV1 TO LT_LIPOV.
APPEND LT_LIPOV.
ENDLOOP.
APPEND LT_REP.
*CLEAR LT_LIPOV. "Remove ThisCLEAR LT_REP.
ENDFORM. " get_asn_data_invo
Regards
Kannaiah
‎2008 May 27 7:39 AM
Hi,
Check the code below:
FORM GET_VBRP_DATA.
SELECT * INTO CORRESPONDING FIELDS OF TABLE LT_VBRP
FROM VBRP WHERE VBELN IN S_INVNO.
ENDFORM. " get_vbrp_data
************************************************************************
FORM GET_ASN_DATA_INVNO.
SORT LT_VBRP BY VGBEL.
IF NOT LT_VBRP IS INITIAL.*Read in ASN
SELECT VBELN VERUR BOLNR ERDAT ERNAM
FROM LIKP INTO TABLE IT_LIKP
FOR ALL ENTRIES IN LT_VBRP
WHERE BOLNR = LT_VBRP-VGBEL.
ENDIF.*Read in ASN details
IF IT_LIKP[] IS NOT INITIAL.
SELECT VBELN POSNR MATNR ERDAT LFIMG ERNAM WERKS VGBEL VGPOS FROM LIPS INTO
TABLE IT_LIPS
FOR ALL ENTRIES IN IT_LIKP
WHERE VBELN = IT_LIKP-VBELN.
ELSE. "No ASN records found for the invoice
CLEAR LT_REP-VBELN.
CLEAR LT_REP-LFDAT.
CLEAR LT_REP-VERUR.
CLEAR LT_REP-BOLNR.
LT_REP-KOMAU = IT_LIPS-KOMAU. "Inv no
LV_MESSAGE = TEXT-504.
PERFORM CREATE_REPORT_RECORD_LIN01.
LT_REP-LINE_COLOUR = 'C610'. " red Intensified
ENDIF.
LOOP AT LT_VBRP. "Read invoice with Delivery header records
LT_LIPOV-KOMAU = LT_VBRP-VBELN.
READ TABLE IT_LIKP WITH KEY BOLNR = LT_VBRP-VGBEL BINARY SEARCH.
IF SY-SUBRC = 0.
LT_LIPOV-VBELN = IT_LIKP-VBELN.
LT_LIPOV-BOLNR = IT_LIKP-BOLNR.
LT_LIPOV-LDDAT = IT_LIKP-ERDAT.
LT_LIPOV-ERNAM = IT_LIKP-ERNAM.
MODIFY LT_LIPOV.
ENDIF.
CLEAR : LT_VBRP-VGBEL.
ENDLOOP. "End reading invoice
LOOP AT IT_LIPS. "Combine header records and details records to internal table
READ TABLE LT_LIPOV WITH KEY VBELN = IT_LIPS-VBELN BINARY SEARCH.
IF SY-SUBRC = 0.
LT_LIPOV1-VBELN = IT_LIPS-VBELN.
LT_LIPOV1-POSNR = IT_LIPS-POSNR.
LT_LIPOV1-MATNR = IT_LIPS-MATNR.
LT_LIPOV1-LDDAT = IT_LIPS-ERDAT.
LT_LIPOV1-LFIMG = IT_LIPS-LFIMG.
LT_LIPOV1-ERNAM = IT_LIPS-ERNAM.
LT_LIPOV1-WERKS = IT_LIPS-WERKS.
LT_LIPOV1-VGBEL = IT_LIPS-VGBEL.
LT_LIPOV1-VGPOS = IT_LIPS-VGPOS.
LT_LIPOV1-BOLNR = LT_LIPOV-BOLNR.
APPEND LT_LIPOV1.
*CLEAR LT_LIPOV1."Remove ThisENDIF.
CLEAR : IT_LIPS-VBELN.
ENDLOOP.
LOOP AT LT_LIPOV1. "move records back to LT_LIPOV for further verification
REFRESH LT_LIPOV.
MOVE-CORRESPONDING LT_LIPOV1 TO LT_LIPOV.
APPEND LT_LIPOV.
ENDLOOP.
APPEND LT_REP.
*CLEAR LT_LIPOV. "Remove ThisCLEAR LT_REP.
ENDFORM. " get_asn_data_invo
Regards
Kannaiah