2008 Apr 30 5:56 AM
HI experts,
I have made an alv report.in my field catalog the field named ' werks_1 ' is not displaying in the output.m sending u the code.plz check it out why field ' werks_1 ' is not displaying in the output.
&----
*& Report ZSALE_MAT_EXC_INV
*&1
&----
*&
*&
&----
REPORT ZSALE_MAT_EXC_INV NO STANDARD PAGE HEADING LINE-SIZE 260.
----
DATABSE TABLES
----
TYPE-POOLS : SLIS .
TABLES : J_1IEXCDTL,LIKP,EKBE, ZTRFRATE.
TYPES : BEGIN OF X_ITAB ,
XBLNR LIKE EKBE-XBLNR,
WERKS LIKE EKBE-WERKS,
WERKS_1 LIKE LIKP-WERKS,
EBELN LIKE EKBE-EBELN,
EBELP LIKE EKBE-EBELP,
BELNR LIKE EKBE-BELNR,
BUZEI LIKE EKBE-BUZEI,
KUNNR LIKE LIKP-KUNNR,
BUDAT LIKE EKBE-BUDAT,
MENGE LIKE EKBE-MENGE,
DMBTR LIKE EKBE-DMBTR,
WAERS LIKE EKBE-WAERS,
MATNR LIKE EKBE-MATNR,
MAKTX LIKE MAKT-MAKTX,
CHARG LIKE EKBE-CHARG,
VSTEL LIKE LIKP-VSTEL,
VKORG LIKE LIKP-VKORG,
DOCNO LIKE J_1IEXCDTL-DOCNO,
EXNUM LIKE J_1IEXCDTL-EXNUM,
EXDAT LIKE J_1IEXCDTL-EXDAT,
EXBAS LIKE J_1IEXCDTL-EXBAS,
EXBED LIKE J_1IEXCDTL-EXBED,
EXAED LIKE J_1IEXCDTL-EXAED,
ECS LIKE J_1IEXCDTL-ECS,
EXADDTAX1 LIKE J_1IEXCDTL-EXADDTAX1,
TOTAL LIKE EKBE-DMBTR,
END OF X_ITAB.
TYPES : BEGIN OF X_ITAB1 ,
WERKS LIKE VBRP-WERKS,
VBELN LIKE VBRP-VBELN,
POSNR LIKE VBRP-POSNR,
AUBEL LIKE VBRP-AUBEL,
VRKME LIKE VBRP-VRKME,
KNUMV LIKE VBRK-KNUMV,
AUPOS LIKE VBRP-AUPOS,
FKDAT LIKE VBRK-ERDAT,
FKIMG LIKE VBRP-FKIMG,
NETWR LIKE VBRP-NETWR,
VGBEL LIKE VBRP-VGBEL,
VGPOS LIKE VBRP-VGPOS,
MATNR LIKE VBRP-MATNR,
MAKTX LIKE MAKT-MAKTX,
CHARG LIKE VBRP-CHARG,
VSTEL LIKE LIKP-VSTEL,
VKORG LIKE LIKP-VKORG,
DOCNO LIKE J_1IEXCDTL-DOCNO,
EXNUM LIKE J_1IEXCDTL-EXNUM,
EXDAT LIKE J_1IEXCDTL-EXDAT,
EXBAS LIKE J_1IEXCDTL-EXBAS,
EXBED LIKE J_1IEXCDTL-EXBED,
EXAED LIKE J_1IEXCDTL-EXAED,
ECS LIKE J_1IEXCDTL-ECS,
EXADDTAX1 LIKE J_1IEXCDTL-EXADDTAX1,
KUNNR LIKE LIKP-KUNNR,
NAME1CU LIKE KNA1-NAME1,
CITYCU LIKE KNA1-ORT01,
STCEG LIKE KNA1-STCEG,
REGIO LIKE KNA1-REGIO,
END OF X_ITAB1.
TYPES: BEGIN OF X_KONV ,
KNUMV LIKE KONV-KNUMV,
KPOSN LIKE KONV-KPOSN,
KWERT LIKE KONV-KWERT,
KBETR LIKE KONV-KBETR,
KSCHL LIKE KONV-KSCHL,
KAWRT LIKE KONV-KAWRT,
END OF X_KONV.
DATA : SWBILL_VAL LIKE KONV-KWERT,
WSALES_TAX LIKE KONV-KWERT,
WEXI_DUTY LIKE KONV-KWERT,
VUMREN LIKE MARM-UMREN,
VUMREZ LIKE MARM-UMREZ,
VLMEIN LIKE EKPO-LMEIN.
DATA: IT_FCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA WBUKRS(1). " LIKE VBRK-BUKRS.
DATA COM.
DATA COM1.
DATA : WEBELN LIKE EKBE-EBELN,
WBELNR LIKE EKBE-BELNR,
XXBLNR LIKE LIKP-XBLNR,
XBELNR LIKE EKBE-BELNR,
XMENGE LIKE EKBE-MENGE,
XDMBTR LIKE EKBE-DMBTR,
XEXBAS LIKE J_1IEXCDTL-EXBAS,
XEXBED LIKE J_1IEXCDTL-EXBED,
XEXAED LIKE J_1IEXCDTL-EXAED,
XECS LIKE J_1IEXCDTL-ECS,
XEXADDTAX1 LIKE J_1IEXCDTL-EXADDTAX1,
XTOTAL LIKE EKBE-DMBTR,
XWERKS LIKE VBRP-WERKS,
XKUNNR LIKE KNA1-KUNNR,
XBUDAT LIKE EKBE-BUDAT,
XEBELN LIKE EKBE-EBELN,
XEXNUM LIKE J_1IEXCDTL-EXNUM,
XEXDAT LIKE J_1IEXCDTL-EXDAT,
XDOCNO LIKE J_1IEXCDTL-DOCNO.
DATA: IT_KONV TYPE X_KONV OCCURS 0 WITH HEADER LINE.
DATA : WA_FCAT TYPE SLIS_FIELDCAT_ALV.
DATA: ITAB_MM TYPE X_ITAB OCCURS 0 WITH HEADER LINE.
DATA: ITAB_SD TYPE X_ITAB1 OCCURS 0 WITH HEADER LINE.
DATA: ITAB_FINAL TYPE X_ITAB OCCURS 0 WITH HEADER LINE.
DATA: ITAB_FINAL_SUM TYPE X_ITAB OCCURS 0 WITH HEADER LINE.
DATA W_WERKS LIKE VBAP-WERKS.
TYPES: BEGIN OF ITAB_T ,
MATNR LIKE ZTRFRATE-MATNR,
DATE LIKE ZTRFRATE-VALIDDATE,
RATE LIKE ZTRFRATE-TRFRATE,
END OF ITAB_T.
DATA: ITAB_TRF TYPE ITAB_T OCCURS 0 WITH HEADER LINE.
DATA: VRATE LIKE ZTRFRATE-TRFRATE.
----
SELECTION SCREENS
----
SELECTION-SCREEN : BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-001.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETER : CHECK1 RADIOBUTTON GROUP RAD1 DEFAULT 'X'.
SELECTION-SCREEN COMMENT 5(15) TEXT-002.
PARAMETER : CHECK2 RADIOBUTTON GROUP RAD1.
SELECTION-SCREEN COMMENT 26(15) TEXT-003.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN : END OF BLOCK B2.
SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS : I_WERKS FOR EKBE-WERKS NO-EXTENSION NO INTERVALS,
S_BELNR FOR EKBE-BELNR ,
S_MATNR FOR EKBE-MATNR,
S_BUDAT FOR EKBE-BUDAT OBLIGATORY,
R_KUNNR FOR LIKP-KUNNR
. " NO-EXTENSION NO INTERVALS.
SELECTION-SCREEN : END OF BLOCK B1.
----
selection
----
PERFORM SELECT.
SORT ITAB_FINAL BY BELNR.
IF CHECK1 = 'X'.
PERFORM OUTPUT.
ELSE.
LOOP AT ITAB_FINAL.
ON CHANGE OF ITAB_FINAL-XBLNR.
XXBLNR = ITAB_FINAL-XBLNR.
ENDON.
IF ITAB_FINAL-XBLNR = XXBLNR.
XMENGE = ITAB_FINAL-MENGE + XMENGE.
XDMBTR = ITAB_FINAL-DMBTR + XDMBTR.
XEXBAS = ITAB_FINAL-EXBAS + XEXBAS.
XEXBED = ITAB_FINAL-EXBED + XEXBED.
XEXAED = ITAB_FINAL-EXAED + XEXAED.
XECS = ITAB_FINAL-ECS + XECS.
XEXADDTAX1 = ITAB_FINAL-EXADDTAX1 + XEXADDTAX1.
XTOTAL = ITAB_FINAL-TOTAL + XTOTAL.
XWERKS = ITAB_FINAL-WERKS.
XKUNNR = ITAB_FINAL-KUNNR.
XBUDAT = ITAB_FINAL-BUDAT.
XEBELN = ITAB_FINAL-EBELN.
XXBLNR = ITAB_FINAL-XBLNR.
XEXNUM = ITAB_FINAL-EXNUM.
XEXDAT = ITAB_FINAL-EXDAT.
XDOCNO = ITAB_FINAL-DOCNO.
ENDIF.
AT END OF XBLNR.
ITAB_FINAL_SUM-WERKS = XWERKS.
ITAB_FINAL_SUM-KUNNR = XKUNNR.
ITAB_FINAL_SUM-BUDAT = XBUDAT.
ITAB_FINAL_SUM-EBELN = XEBELN.
ITAB_FINAL_SUM-XBLNR = XXBLNR.
ITAB_FINAL_SUM-EXNUM = XEXNUM.
ITAB_FINAL_SUM-EXDAT = XEXDAT.
ITAB_FINAL_SUM-DOCNO = XDOCNO.
ITAB_FINAL_SUM-MENGE = XMENGE.
ITAB_FINAL_SUM-DMBTR = XDMBTR.
ITAB_FINAL_SUM-EXBAS = XEXBAS.
ITAB_FINAL_SUM-EXBED = XEXBED.
ITAB_FINAL_SUM-EXAED = XEXAED.
ITAB_FINAL_SUM-ECS = XECS.
ITAB_FINAL_SUM-EXADDTAX1 = XEXADDTAX1.
ITAB_FINAL_SUM-TOTAL = XTOTAL.
APPEND ITAB_FINAL_SUM.
CLEAR: ITAB_FINAL_SUM, XXBLNR, XMENGE, XDMBTR, XEXBAS, XEXBED, XEXAED, XECS, XEXADDTAX1, XTOTAL.
ENDAT.
ENDLOOP.
CLEAR: ITAB_FINAL, XXBLNR, XBELNR.
FREE ITAB_FINAL.
PERFORM OUTPUT_SUM.
ENDIF.
----
FORM OUTPUT .
----
FORM OUTPUT .
WA_FCAT-FIELDNAME = 'WERKS'.
WA_FCAT-SELTEXT_M = 'Issueing Plant'.
WA_FCAT-COL_POS = 1.
WA_FCAT-OUTPUTLEN = 4.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'WERKS_1'.
WA_FCAT-SELTEXT_M = 'Rec plant / Customer'.
WA_FCAT-COL_POS = 2.
WA_FCAT-OUTPUTLEN = 10.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'BELNR'.
WA_FCAT-SELTEXT_M = 'Mat/Bill Doc Number'.
WA_FCAT-COL_POS = 3.
WA_FCAT-OUTPUTLEN = 10.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'BUDAT'.
WA_FCAT-SELTEXT_M = 'Mat/Bill Date'.
WA_FCAT-COL_POS = 3.
WA_FCAT-OUTPUTLEN = 10.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'BUZEI'.
WA_FCAT-SELTEXT_M = 'Item Number'.
WA_FCAT-COL_POS = 3.
WA_FCAT-OUTPUTLEN = 4.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'EBELN'.
WA_FCAT-SELTEXT_M = 'Pur/Sale order Number'.
WA_FCAT-COL_POS = 5.
WA_FCAT-OUTPUTLEN = 10.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'XBLNR'.
WA_FCAT-SELTEXT_M = 'OBD Number'.
WA_FCAT-COL_POS = 6.
WA_FCAT-OUTPUTLEN = 10.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'MATNR'.
WA_FCAT-SELTEXT_M = 'Material Number'.
WA_FCAT-COL_POS = 7.
WA_FCAT-OUTPUTLEN = 12.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'MAKTX'.
WA_FCAT-SELTEXT_M = 'Material description'.
WA_FCAT-COL_POS = 8.
WA_FCAT-OUTPUTLEN = 25.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'CHARG'.
WA_FCAT-SELTEXT_M = 'Batch Number'.
WA_FCAT-COL_POS = 9.
WA_FCAT-OUTPUTLEN = 20.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'MENGE'.
WA_FCAT-SELTEXT_M = 'Quantity(KG/L)'.
WA_FCAT-COL_POS = 10.
WA_FCAT-OUTPUTLEN = 10.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'DMBTR'.
WA_FCAT-SELTEXT_M = 'Mat/Sale Value'.
WA_FCAT-COL_POS = 11.
WA_FCAT-OUTPUTLEN = 16.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'EXNUM'.
WA_FCAT-SELTEXT_M = 'Excise Inv. Number'.
WA_FCAT-COL_POS = 12.
WA_FCAT-OUTPUTLEN = 10.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'EXDAT'.
WA_FCAT-SELTEXT_M = 'Excise Inv. Date'.
WA_FCAT-COL_POS = 13.
WA_FCAT-OUTPUTLEN = 10.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'DOCNO'.
WA_FCAT-SELTEXT_M = 'Internal Excise Number'.
WA_FCAT-COL_POS = 14.
WA_FCAT-OUTPUTLEN = 10.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'EXBAS'.
WA_FCAT-SELTEXT_M = 'Assessable Value'.
WA_FCAT-COL_POS = 15.
WA_FCAT-OUTPUTLEN = 16.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'EXBED'.
WA_FCAT-SELTEXT_M = 'Basic Excise Duty'.
WA_FCAT-COL_POS = 16.
WA_FCAT-OUTPUTLEN = 16.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'EXAED'.
WA_FCAT-SELTEXT_M = 'Additional Excise Duty'.
WA_FCAT-COL_POS = 17.
WA_FCAT-OUTPUTLEN = 16.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'ECS'.
WA_FCAT-SELTEXT_M = 'ECS Value'.
WA_FCAT-COL_POS = 18.
WA_FCAT-OUTPUTLEN = 16.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'EXADDTAX1'.
WA_FCAT-SELTEXT_M = 'H S ECS'.
WA_FCAT-COL_POS = 19.
WA_FCAT-OUTPUTLEN = 16.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'TOTAL'.
WA_FCAT-SELTEXT_M = 'TOTAL'.
WA_FCAT-COL_POS = 20.
WA_FCAT-OUTPUTLEN = 16.
APPEND WA_FCAT TO IT_FCAT.
WBUKRS = I_WERKS+4(1).
IF WBUKRS = 'C' .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_BACKGROUND_ID = 'ALV_BACKGROUND'
I_CALLBACK_PROGRAM = SY-CPROG
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_GRID_TITLE = ' C R Y S T R A L P H O S P H A T E S L I M I T E D '
IT_FIELDCAT = IT_FCAT
I_SAVE = 'A'
TABLES
T_OUTTAB = ITAB_FINAL[].
ELSEIF WBUKRS = 'J' .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_BACKGROUND_ID = 'ALV_BACKGROUND'
I_CALLBACK_PROGRAM = SY-CPROG
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_GRID_TITLE = 'J A I B H A R A T C R O P. C H E M. P V T. L I M I T E D'
IT_FIELDCAT = IT_FCAT
I_SAVE = 'X'
TABLES
T_OUTTAB = ITAB_FINAL[].
ELSEIF WBUKRS = SPACE .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_BACKGROUND_ID = 'ALV_BACKGROUND'
I_CALLBACK_PROGRAM = SY-CPROG
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_GRID_TITLE = 'Crystral Phosphates Limited And JAI Bharat Crop. Chem. PVT. Limited'
IT_FIELDCAT = IT_FCAT
I_SAVE = 'X'
TABLES
T_OUTTAB = ITAB_FINAL[].
ENDIF.
FREE ITAB_FINAL.
APPEND WA_FCAT TO IT_FCAT.
ENDFORM. " OUTPUT
----
FORM OUTPUT_SUM .
----
FORM OUTPUT_SUM.
WA_FCAT-FIELDNAME = 'WERKS'.
WA_FCAT-SELTEXT_M = 'Issueing Plant'.
WA_FCAT-COL_POS = 1.
WA_FCAT-OUTPUTLEN = 4.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'WERKS_1'.
WA_FCAT-SELTEXT_M = 'Rec plant / Customer'.
WA_FCAT-COL_POS = 2.
WA_FCAT-OUTPUTLEN = 10.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'BUDAT'.
WA_FCAT-SELTEXT_M = 'Mat/Bill Date'.
WA_FCAT-COL_POS = 3.
WA_FCAT-OUTPUTLEN = 10.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'EBELN'.
WA_FCAT-SELTEXT_M = 'Pur/Sale order Number'.
WA_FCAT-COL_POS = 4.
WA_FCAT-OUTPUTLEN = 10.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'XBLNR'.
WA_FCAT-SELTEXT_M = 'OBD Number'.
WA_FCAT-COL_POS = 5.
WA_FCAT-OUTPUTLEN = 10.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'MENGE'.
WA_FCAT-SELTEXT_M = 'Quantity(KG/L)'.
WA_FCAT-COL_POS = 6.
WA_FCAT-OUTPUTLEN = 10.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'DMBTR'.
WA_FCAT-SELTEXT_M = 'Mat/Sale Value'.
WA_FCAT-COL_POS = 7.
WA_FCAT-OUTPUTLEN = 16.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'EXNUM'.
WA_FCAT-SELTEXT_M = 'Excise Inv. Number'.
WA_FCAT-COL_POS = 8.
WA_FCAT-OUTPUTLEN = 10.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'EXDAT'.
WA_FCAT-SELTEXT_M = 'Excise Inv. Date'.
WA_FCAT-COL_POS = 9.
WA_FCAT-OUTPUTLEN = 10.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'DOCNO'.
WA_FCAT-SELTEXT_M = 'Internal Excise Number'.
WA_FCAT-COL_POS = 10.
WA_FCAT-OUTPUTLEN = 10.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'EXBAS'.
WA_FCAT-SELTEXT_M = 'Assessable Value'.
WA_FCAT-COL_POS = 11.
WA_FCAT-OUTPUTLEN = 16.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'EXBED'.
WA_FCAT-SELTEXT_M = 'Basic Excise Duty'.
WA_FCAT-COL_POS = 12.
WA_FCAT-OUTPUTLEN = 16.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'EXAED'.
WA_FCAT-SELTEXT_M = 'Additional Excise Duty'.
WA_FCAT-COL_POS = 13.
WA_FCAT-OUTPUTLEN = 16.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'ECS'.
WA_FCAT-SELTEXT_M = 'ECS Value'.
WA_FCAT-COL_POS = 14.
WA_FCAT-OUTPUTLEN = 16.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'EXADDTAX1'.
WA_FCAT-SELTEXT_M = 'H S ECS'.
WA_FCAT-COL_POS = 15.
WA_FCAT-OUTPUTLEN = 16.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'TOTAL'.
WA_FCAT-SELTEXT_M = 'TOTAL'.
WA_FCAT-COL_POS = 16.
WA_FCAT-OUTPUTLEN = 16.
APPEND WA_FCAT TO IT_FCAT.
WBUKRS = I_WERKS+4(1).
IF WBUKRS = 'C' .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_BACKGROUND_ID = 'ALV_BACKGROUND'
I_CALLBACK_PROGRAM = SY-CPROG
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_GRID_TITLE = ' C R Y S T R A L P H O S P H A T E S L I M I T E D ( S U M M A R Y )'
IT_FIELDCAT = IT_FCAT
I_SAVE = 'A'
TABLES
T_OUTTAB = ITAB_FINAL_SUM[].
ELSEIF WBUKRS = 'J' .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_BACKGROUND_ID = 'ALV_BACKGROUND'
I_CALLBACK_PROGRAM = SY-CPROG
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_GRID_TITLE = 'J A I B H A R A T C R O P. C H E M. P V T. L I M I T E D ( S U M M A R Y )'
IT_FIELDCAT = IT_FCAT
I_SAVE = 'X'
TABLES
T_OUTTAB = ITAB_FINAL_SUM[].
ELSEIF WBUKRS = SPACE .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_BACKGROUND_ID = 'ALV_BACKGROUND'
I_CALLBACK_PROGRAM = SY-CPROG
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_GRID_TITLE = 'Crystral Phosphates Limited And JAI Bharat Crop. Chem. PVT. Limited'
IT_FIELDCAT = IT_FCAT
I_SAVE = 'X'
TABLES
T_OUTTAB = ITAB_FINAL_SUM[].
ENDIF.
FREE ITAB_FINAL_SUM.
APPEND WA_FCAT TO IT_FCAT.
ENDFORM. " OUTPUT_SUM
----
FORM OUTPUT .
----
FORM SELECT .
SELECT A~EBELN A~EBELP A~BELNR A~BUZEI A~BUDAT A~MENGE A~WAERS A~XBLNR A~MATNR A~WERKS A~CHARG
B~VSTEL B~VKORG B~HANDLE B~KUNNR INTO CORRESPONDING FIELDS OF TABLE ITAB_MM
FROM EKBE AS A INNER JOIN LIKP AS B ON A~XBLNR = B~VBELN
WHERE ( A~BWART = '641' OR A~BWART = '603' )
AND A~WERKS IN I_WERKS
AND A~BELNR IN S_BELNR
AND A~MATNR IN S_MATNR
AND A~BUDAT IN S_BUDAT
AND B~WERKS IN R_KUNNR.
SORT ITAB_MM BY BELNR DESCENDING.
LOOP AT ITAB_MM.
ON CHANGE OF ITAB_MM-XBLNR.
XXBLNR = ITAB_MM-XBLNR.
XBELNR = ITAB_MM-BELNR.
ENDON.
IF ITAB_MM-XBLNR = XXBLNR.
IF XBELNR NE ITAB_MM-BELNR.
DELETE ITAB_MM INDEX SY-TABIX.
ENDIF.
ENDIF.
AT END OF XBLNR.
CLEAR: XXBLNR, XBELNR.
ENDAT.
ENDLOOP.
CLEAR: ITAB_MM, XXBLNR, XBELNR.
LOOP AT ITAB_MM.
SELECT SINGLE MAKTX FROM MAKT INTO (ITAB_MM-MAKTX) WHERE MATNR = ITAB_MM-MATNR.
SELECT SINGLE WERKS FROM LIKP INTO (ITAB_MM-WERKS_1) WHERE VBELN = ITAB_MM-XBLNR.
SELECT SINGLE DOCNO EXNUM EXDAT EXBAS EXBED
EXAED ECS EXADDTAX1
FROM J_1IEXCDTL INTO
(ITAB_MM-DOCNO,ITAB_MM-EXNUM,ITAB_MM-EXDAT,ITAB_MM-EXBAS,ITAB_MM-EXBED,ITAB_MM-EXAED,ITAB_MM-ECS,ITAB_MM-EXADDTAX1)
WHERE MATNR = ITAB_MM-MATNR
AND RDOC2 = ITAB_MM-BELNR
AND RITEM2 = ITAB_MM-BUZEI.
FOR ITAB_MM Qty. ************************************************************************************
SELECT SINGLE MEINS FROM EKPO INTO (VLMEIN) WHERE EKPO~MATNR = ITAB_MM-MATNR AND EKPO~EBELN = ITAB_MM-EBELN AND EKPO~EBELP = ITAB_MM-EBELP.
IF VLMEIN = 'G' OR VLMEIN = 'ML'.
COMPUTE ITAB_MM-MENGE = ( ITAB_MM-MENGE / 1000 ).
ELSEIF VLMEIN = 'KG' OR VLMEIN = 'L' OR ITAB_SD-VRKME = 'EA' OR ITAB_SD-VRKME = 'PC'.
ITAB_MM-MENGE = ITAB_MM-MENGE.
ELSE.
SELECT SINGLE UMREN UMREZ FROM MARM INTO (VUMREN, VUMREZ) WHERE MARM~MATNR = ITAB_MM-MATNR
AND ( MARM~MEINH = 'KG' OR MARM~MEINH = 'L' OR MARM~MEINH = 'EA' OR MARM~MEINH = 'PC' ).
COMPUTE ITAB_MM-MENGE = ( ITAB_MM-MENGE * VUMREN ) / VUMREZ.
CLEAR : VUMREN , VUMREZ.
ENDIF.
For ITAB_MM rate *****************************************************************************
SELECT MATNR VALIDDATE TRFRATE FROM ZTRFRATE INTO (ITAB_TRF-MATNR, ITAB_TRF-DATE, ITAB_TRF-RATE) WHERE MATNR = ITAB_MM-MATNR.
APPEND ITAB_TRF.
CLEAR ITAB_TRF.
ENDSELECT.
CLEAR ITAB_TRF.
SORT ITAB_TRF BY DATE.
LOOP AT ITAB_TRF.
IF ITAB_MM-BUDAT >= ITAB_TRF-DATE AND ITAB_MM-MATNR = ITAB_TRF-MATNR.
VRATE = ITAB_TRF-RATE.
ITAB_MM-DMBTR = VRATE * ITAB_MM-MENGE.
ELSE.
IF ITAB_MM-BUDAT < ITAB_TRF-DATE AND ITAB_MM-MATNR = ITAB_TRF-MATNR AND SY-TABIX = 1.
VRATE = ITAB_TRF-RATE.
ITAB_MM-DMBTR = VRATE * ITAB_MM-MENGE.
ELSE.
ITAB_MM-DMBTR = VRATE * ITAB_MM-MENGE.
ENDIF.
ENDIF.
ENDLOOP.
Total Field **************************************************************************************
ITAB_MM-TOTAL = ITAB_MM-DMBTR + ITAB_MM-ECS + ITAB_MM-EXADDTAX1.
***********************************************************************************************************************************
MODIFY ITAB_MM.
MOVE-CORRESPONDING ITAB_MM TO ITAB_FINAL.
APPEND ITAB_FINAL.
CLEAR: VRATE, ITAB_TRF.
REFRESH: ITAB_TRF.
ENDLOOP.
**************************************************
LOOP AT ITAB_MM.
MOVE-CORRESPONDING ITAB_MM TO ITAB_FINAL.
APPEND ITAB_FINAL.
ENDLOOP.
**************************************************
SELECT A~WERKS A~VRKME A~VBELN A~POSNR C~KUNAG A~AUBEL A~AUPOS
C~FKDAT A~FKIMG A~NETWR A~VGBEL A~VGPOS A~MATNR
A~CHARG B~VSTEL B~VKORG C~KNUMV
INTO CORRESPONDING FIELDS OF TABLE ITAB_SD
FROM ( VBRP AS A INNER JOIN VBRK AS C ON A~VBELN = C~VBELN )
INNER JOIN LIKP AS B ON A~VGBEL = B~VBELN
WHERE
A~WERKS IN I_WERKS
AND A~MATNR IN S_MATNR
AND A~VBELN IN S_BELNR
AND C~FKDAT IN S_BUDAT
AND B~KUNNR IN R_KUNNR
AND C~FKSTO NE 'X'
AND ( C~VBTYP NE 'S' OR C~VBTYP NE 'N' ). .
LOOP AT ITAB_SD.
SELECT SINGLE MAKTX FROM MAKT INTO (ITAB_SD-MAKTX) WHERE MATNR = ITAB_SD-MATNR.
SELECT SINGLE KUNNR FROM LIKP INTO (ITAB_SD-KUNNR) WHERE VBELN = ITAB_SD-VGBEL.
SELECT SINGLE NAME1 ORT01 STCEG REGIO FROM KNA1 INTO (ITAB_SD-NAME1CU,ITAB_SD-CITYCU,ITAB_SD-STCEG,ITAB_SD-REGIO)
WHERE KUNNR = ITAB_SD-KUNNR.
SELECT SINGLE DOCNO EXNUM EXDAT EXBAS EXBED EXAED ECS EXADDTAX1 FROM J_1IEXCDTL INTO
(ITAB_SD-DOCNO,ITAB_SD-EXNUM,ITAB_SD-EXDAT,ITAB_SD-EXBAS,ITAB_SD-EXBED,ITAB_SD-EXAED,ITAB_SD-ECS,ITAB_SD-EXADDTAX1)
WHERE MATNR = ITAB_SD-MATNR
AND RDOC2 = ITAB_SD-VBELN
AND RITEM2 = ITAB_SD-POSNR.
FOR ITAB_SD Qty. *****************************************************************
IF ITAB_SD-VRKME = 'G' OR ITAB_SD-VRKME = 'ML'.
COMPUTE ITAB_SD-FKIMG = ( ITAB_SD-FKIMG / 1000 ).
ELSEIF ITAB_SD-VRKME = 'KG' OR ITAB_SD-VRKME = 'L' OR ITAB_SD-VRKME = 'EA' OR ITAB_SD-VRKME = 'PC'.
ITAB_SD-FKIMG = ITAB_SD-FKIMG.
ELSE.
SELECT SINGLE UMREN UMREZ FROM MARM INTO (VUMREN, VUMREZ) WHERE MARM~MATNR = ITAB_SD-MATNR
AND ( MARM~MEINH = 'KG' OR MARM~MEINH = 'L' OR MARM~MEINH = 'EA' OR MARM~MEINH = 'PC' ).
COMPUTE ITAB_SD-FKIMG = ( ITAB_SD-FKIMG * VUMREN ) / VUMREZ.
CLEAR : VUMREN , VUMREZ.
ENDIF.
******************************************************************************************************
PERFORM KONV_FORM.
MODIFY ITAB_SD.
MOVE ITAB_SD-WERKS TO ITAB_FINAL-WERKS.
MOVE ITAB_SD-VBELN TO ITAB_FINAL-BELNR.
MOVE ITAB_SD-POSNR TO ITAB_FINAL-BUZEI.
MOVE ITAB_SD-AUBEL TO ITAB_FINAL-EBELN.
MOVE ITAB_SD-AUPOS TO ITAB_FINAL-EBELP.
MOVE ITAB_SD-FKDAT TO ITAB_FINAL-BUDAT.
MOVE ITAB_SD-FKIMG TO ITAB_FINAL-MENGE.
MOVE ITAB_SD-NETWR TO ITAB_FINAL-DMBTR.
MOVE ITAB_SD-VGBEL TO ITAB_FINAL-XBLNR.
MOVE ITAB_SD-MATNR TO ITAB_FINAL-MATNR.
MOVE ITAB_SD-MAKTX TO ITAB_FINAL-MAKTX.
MOVE ITAB_SD-CHARG TO ITAB_FINAL-CHARG.
MOVE ITAB_SD-VSTEL TO ITAB_FINAL-VSTEL.
MOVE ITAB_SD-VKORG TO ITAB_FINAL-VKORG.
MOVE ITAB_SD-DOCNO TO ITAB_FINAL-DOCNO.
MOVE ITAB_SD-EXNUM TO ITAB_FINAL-EXNUM.
MOVE ITAB_SD-EXDAT TO ITAB_FINAL-EXDAT.
IF ITAB_SD-DOCNO NE 0.
MOVE ITAB_SD-EXBAS TO ITAB_FINAL-EXBAS.
MOVE ITAB_SD-EXBED TO ITAB_FINAL-EXBED.
MOVE ITAB_SD-EXAED TO ITAB_FINAL-EXAED.
MOVE ITAB_SD-ECS TO ITAB_FINAL-ECS.
MOVE ITAB_SD-EXADDTAX1 TO ITAB_FINAL-EXADDTAX1.
ENDIF.
MOVE ITAB_SD-KUNNR TO ITAB_FINAL-KUNNR.
MOVE-CORRESPONDING ITAB_SD TO ITAB_FINAL.
APPEND ITAB_FINAL.
CLEAR ITAB_FINAL.
ENDLOOP.
****************************************************
LOOP AT ITAB_SD.
MOVE ITAB_SD-WERKS TO ITAB_FINAL-WERKS.
MOVE ITAB_SD-VBELN TO ITAB_FINAL-BELNR.
MOVE ITAB_SD-POSNR TO ITAB_FINAL-BUZEI.
MOVE ITAB_SD-AUBEL TO ITAB_FINAL-EBELN.
MOVE ITAB_SD-AUPOS TO ITAB_FINAL-EBELP.
MOVE ITAB_SD-FKDAT TO ITAB_FINAL-BUDAT.
MOVE ITAB_SD-FKIMG TO ITAB_FINAL-MENGE.
MOVE ITAB_SD-NETWR TO ITAB_FINAL-DMBTR.
MOVE ITAB_SD-VGBEL TO ITAB_FINAL-XBLNR.
MOVE ITAB_SD-MATNR TO ITAB_FINAL-MATNR.
MOVE ITAB_SD-MAKTX TO ITAB_FINAL-MAKTX.
MOVE ITAB_SD-CHARG TO ITAB_FINAL-CHARG.
MOVE ITAB_SD-VSTEL TO ITAB_FINAL-VSTEL.
MOVE ITAB_SD-VKORG TO ITAB_FINAL-VKORG.
MOVE ITAB_SD-DOCNO TO ITAB_FINAL-DOCNO.
MOVE ITAB_SD-EXNUM TO ITAB_FINAL-EXNUM.
MOVE ITAB_SD-EXDAT TO ITAB_FINAL-EXDAT.
IF ITAB_SD-DOCNO NE 0.
MOVE ITAB_SD-EXBAS TO ITAB_FINAL-EXBAS.
MOVE ITAB_SD-EXBED TO ITAB_FINAL-EXBED.
MOVE ITAB_SD-EXAED TO ITAB_FINAL-EXAED.
MOVE ITAB_SD-ECS TO ITAB_FINAL-ECS.
*
ENDIF.
MOVE ITAB_SD-KUNNR TO ITAB_FINAL-KUNNR.
MOVE-CORRESPONDING ITAB_SD TO ITAB_FINAL.
APPEND ITAB_FINAL.
CLEAR ITAB_FINAL.
ENDLOOP.
*******************************************************
ENDFORM. "SELECT
DATA I_UCOMM LIKE SY-UCOMM.
&----
*& Form USER_COMMAND
&----
text
----
-->RF_UCOMM text
-->RS text
----
FORM USER_COMMAND USING RF_UCOMM LIKE SY-UCOMM
RS TYPE SLIS_SELFIELD.
IF RS-TABNAME = '1'.
RS-TABNAME = 'ITAB_FINAL'.
ENDIF.
CLEAR: ITAB_FINAL.
CASE RS-TABNAME.
WHEN 'ITAB_FINAL'.
READ TABLE ITAB_FINAL INDEX RS-TABINDEX.
ENDCASE.
CHECK SY-SUBRC = 0.
IF RF_UCOMM = '&IC1'.
CASE RS-FIELDNAME.
WHEN 'BELNR'.
RF_UCOMM = 'POHIST'.
WHEN OTHERS.
RF_UCOMM = 'POHIST'.
ENDCASE.
ENDIF.
CASE RF_UCOMM.
WHEN 'KRED'.
IF RS-FIELDNAME = 'BELNR'.
ITAB_FINAL-BELNR = ITAB_FINAL-BELNR.
ENDIF.
SET PARAMETER ID 'MBN' FIELD ITAB_FINAL-BELNR.
CALL TRANSACTION 'MB03'
AND SKIP FIRST SCREEN.
WHEN 'POHIST'.
IF RS-FIELDNAME = 'BELNR'.
ITAB_FINAL-BELNR = ITAB_FINAL-BELNR.
ENDIF.
SELECT SINGLE EBELN BELNR FROM EKBE INTO (WEBELN,WBELNR) WHERE EBELN = ITAB_FINAL-EBELN AND BELNR = ITAB_FINAL-BELNR .
IF SY-SUBRC = 0 .
SET PARAMETER ID 'MBN' FIELD ITAB_FINAL-BELNR.
SET PARAMETER ID 'BES' FIELD ITAB_FINAL-EBELP.
CALL TRANSACTION 'MB03' AND SKIP FIRST SCREEN.
ELSE .
SET PARAMETER ID 'VF' FIELD ITAB_FINAL-BELNR.
SET PARAMETER ID 'BES' FIELD ITAB_FINAL-EBELP.
CALL TRANSACTION 'VF03' AND SKIP FIRST SCREEN.
ENDIF.
ENDCASE.
ENDFORM. " USER_COMMAND
&----
*& Form KONV_FORM
&----
text
----
FORM KONV_FORM .
SELECT KNUMV KPOSN KWERT KBETR KAWRT KSCHL FROM KONV INTO CORRESPONDING FIELDS OF TABLE IT_KONV
WHERE KNUMV = ITAB_SD-KNUMV
AND KPOSN = ITAB_SD-POSNR.
IF SY-SUBRC = 0.
LOOP AT IT_KONV.
IF IT_KONV-KPOSN = ITAB_SD-POSNR AND IT_KONV-KNUMV = ITAB_SD-KNUMV.
PERFORM COND.
CLEAR IT_KONV.
ENDIF.
ENDLOOP.
CLEAR : WSALES_TAX , WEXI_DUTY ,SWBILL_VAL .
ENDIF.
ENDFORM. "KONV_FORM
&*********************************************************************
*& Form COND
&*********************************************************************
FORM COND .
IF IT_KONV-KSCHL = 'ZPR0'.
WSALES_TAX = IT_KONV-KWERT.
ENDIF.
IF IT_KONV-KSCHL = 'ZZRP'.
WSALES_TAX = IT_KONV-KWERT.
ENDIF.
IF IT_KONV-KSCHL = 'ZZRT'.
WEXI_DUTY = IT_KONV-KWERT.
ENDIF.
SWBILL_VAL = WSALES_TAX + WEXI_DUTY.
MOVE SWBILL_VAL TO ITAB_SD-EXBAS.
ENDFORM. "COND
regards,
raman
HI experts,
I have made an alv report.in my field catalog the field named ' werks_1 ' is not displaying in the output.m sending u the code.plz check it out why field ' werks_1 ' is not displaying in the output.
&----
*& Report ZSALE_MAT_EXC_INV
*&1
&----
*&
*&
&----
REPORT ZSALE_MAT_EXC_INV NO STANDARD PAGE HEADING LINE-SIZE 260.
----
DATABSE TABLES
----
TYPE-POOLS : SLIS .
TABLES : J_1IEXCDTL,LIKP,EKBE, ZTRFRATE.
TYPES : BEGIN OF X_ITAB ,
XBLNR LIKE EKBE-XBLNR,
WERKS LIKE EKBE-WERKS,
WERKS_1 LIKE LIKP-WERKS,
EBELN LIKE EKBE-EBELN,
EBELP LIKE EKBE-EBELP,
BELNR LIKE EKBE-BELNR,
BUZEI LIKE EKBE-BUZEI,
KUNNR LIKE LIKP-KUNNR,
BUDAT LIKE EKBE-BUDAT,
MENGE LIKE EKBE-MENGE,
DMBTR LIKE EKBE-DMBTR,
WAERS LIKE EKBE-WAERS,
MATNR LIKE EKBE-MATNR,
MAKTX LIKE MAKT-MAKTX,
CHARG LIKE EKBE-CHARG,
VSTEL LIKE LIKP-VSTEL,
VKORG LIKE LIKP-VKORG,
DOCNO LIKE J_1IEXCDTL-DOCNO,
EXNUM LIKE J_1IEXCDTL-EXNUM,
EXDAT LIKE J_1IEXCDTL-EXDAT,
EXBAS LIKE J_1IEXCDTL-EXBAS,
EXBED LIKE J_1IEXCDTL-EXBED,
EXAED LIKE J_1IEXCDTL-EXAED,
ECS LIKE J_1IEXCDTL-ECS,
EXADDTAX1 LIKE J_1IEXCDTL-EXADDTAX1,
TOTAL LIKE EKBE-DMBTR,
END OF X_ITAB.
TYPES : BEGIN OF X_ITAB1 ,
WERKS LIKE VBRP-WERKS,
VBELN LIKE VBRP-VBELN,
POSNR LIKE VBRP-POSNR,
AUBEL LIKE VBRP-AUBEL,
VRKME LIKE VBRP-VRKME,
KNUMV LIKE VBRK-KNUMV,
AUPOS LIKE VBRP-AUPOS,
FKDAT LIKE VBRK-ERDAT,
FKIMG LIKE VBRP-FKIMG,
NETWR LIKE VBRP-NETWR,
VGBEL LIKE VBRP-VGBEL,
VGPOS LIKE VBRP-VGPOS,
MATNR LIKE VBRP-MATNR,
MAKTX LIKE MAKT-MAKTX,
CHARG LIKE VBRP-CHARG,
VSTEL LIKE LIKP-VSTEL,
VKORG LIKE LIKP-VKORG,
DOCNO LIKE J_1IEXCDTL-DOCNO,
EXNUM LIKE J_1IEXCDTL-EXNUM,
EXDAT LIKE J_1IEXCDTL-EXDAT,
EXBAS LIKE J_1IEXCDTL-EXBAS,
EXBED LIKE J_1IEXCDTL-EXBED,
EXAED LIKE J_1IEXCDTL-EXAED,
ECS LIKE J_1IEXCDTL-ECS,
EXADDTAX1 LIKE J_1IEXCDTL-EXADDTAX1,
KUNNR LIKE LIKP-KUNNR,
NAME1CU LIKE KNA1-NAME1,
CITYCU LIKE KNA1-ORT01,
STCEG LIKE KNA1-STCEG,
REGIO LIKE KNA1-REGIO,
END OF X_ITAB1.
TYPES: BEGIN OF X_KONV ,
KNUMV LIKE KONV-KNUMV,
KPOSN LIKE KONV-KPOSN,
KWERT LIKE KONV-KWERT,
KBETR LIKE KONV-KBETR,
KSCHL LIKE KONV-KSCHL,
KAWRT LIKE KONV-KAWRT,
END OF X_KONV.
DATA : SWBILL_VAL LIKE KONV-KWERT,
WSALES_TAX LIKE KONV-KWERT,
WEXI_DUTY LIKE KONV-KWERT,
VUMREN LIKE MARM-UMREN,
VUMREZ LIKE MARM-UMREZ,
VLMEIN LIKE EKPO-LMEIN.
DATA: IT_FCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA WBUKRS(1). " LIKE VBRK-BUKRS.
DATA COM.
DATA COM1.
DATA : WEBELN LIKE EKBE-EBELN,
WBELNR LIKE EKBE-BELNR,
XXBLNR LIKE LIKP-XBLNR,
XBELNR LIKE EKBE-BELNR,
XMENGE LIKE EKBE-MENGE,
XDMBTR LIKE EKBE-DMBTR,
XEXBAS LIKE J_1IEXCDTL-EXBAS,
XEXBED LIKE J_1IEXCDTL-EXBED,
XEXAED LIKE J_1IEXCDTL-EXAED,
XECS LIKE J_1IEXCDTL-ECS,
XEXADDTAX1 LIKE J_1IEXCDTL-EXADDTAX1,
XTOTAL LIKE EKBE-DMBTR,
XWERKS LIKE VBRP-WERKS,
XKUNNR LIKE KNA1-KUNNR,
XBUDAT LIKE EKBE-BUDAT,
XEBELN LIKE EKBE-EBELN,
XEXNUM LIKE J_1IEXCDTL-EXNUM,
XEXDAT LIKE J_1IEXCDTL-EXDAT,
XDOCNO LIKE J_1IEXCDTL-DOCNO.
DATA: IT_KONV TYPE X_KONV OCCURS 0 WITH HEADER LINE.
DATA : WA_FCAT TYPE SLIS_FIELDCAT_ALV.
DATA: ITAB_MM TYPE X_ITAB OCCURS 0 WITH HEADER LINE.
DATA: ITAB_SD TYPE X_ITAB1 OCCURS 0 WITH HEADER LINE.
DATA: ITAB_FINAL TYPE X_ITAB OCCURS 0 WITH HEADER LINE.
DATA: ITAB_FINAL_SUM TYPE X_ITAB OCCURS 0 WITH HEADER LINE.
DATA W_WERKS LIKE VBAP-WERKS.
TYPES: BEGIN OF ITAB_T ,
MATNR LIKE ZTRFRATE-MATNR,
DATE LIKE ZTRFRATE-VALIDDATE,
RATE LIKE ZTRFRATE-TRFRATE,
END OF ITAB_T.
DATA: ITAB_TRF TYPE ITAB_T OCCURS 0 WITH HEADER LINE.
DATA: VRATE LIKE ZTRFRATE-TRFRATE.
----
SELECTION SCREENS
----
SELECTION-SCREEN : BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-001.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETER : CHECK1 RADIOBUTTON GROUP RAD1 DEFAULT 'X'.
SELECTION-SCREEN COMMENT 5(15) TEXT-002.
PARAMETER : CHECK2 RADIOBUTTON GROUP RAD1.
SELECTION-SCREEN COMMENT 26(15) TEXT-003.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN : END OF BLOCK B2.
SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS : I_WERKS FOR EKBE-WERKS NO-EXTENSION NO INTERVALS,
S_BELNR FOR EKBE-BELNR ,
S_MATNR FOR EKBE-MATNR,
S_BUDAT FOR EKBE-BUDAT OBLIGATORY,
R_KUNNR FOR LIKP-KUNNR
. " NO-EXTENSION NO INTERVALS.
SELECTION-SCREEN : END OF BLOCK B1.
----
selection
----
PERFORM SELECT.
SORT ITAB_FINAL BY BELNR.
IF CHECK1 = 'X'.
PERFORM OUTPUT.
ELSE.
LOOP AT ITAB_FINAL.
ON CHANGE OF ITAB_FINAL-XBLNR.
XXBLNR = ITAB_FINAL-XBLNR.
ENDON.
IF ITAB_FINAL-XBLNR = XXBLNR.
XMENGE = ITAB_FINAL-MENGE + XMENGE.
XDMBTR = ITAB_FINAL-DMBTR + XDMBTR.
XEXBAS = ITAB_FINAL-EXBAS + XEXBAS.
XEXBED = ITAB_FINAL-EXBED + XEXBED.
XEXAED = ITAB_FINAL-EXAED + XEXAED.
XECS = ITAB_FINAL-ECS + XECS.
XEXADDTAX1 = ITAB_FINAL-EXADDTAX1 + XEXADDTAX1.
XTOTAL = ITAB_FINAL-TOTAL + XTOTAL.
XWERKS = ITAB_FINAL-WERKS.
XKUNNR = ITAB_FINAL-KUNNR.
XBUDAT = ITAB_FINAL-BUDAT.
XEBELN = ITAB_FINAL-EBELN.
XXBLNR = ITAB_FINAL-XBLNR.
XEXNUM = ITAB_FINAL-EXNUM.
XEXDAT = ITAB_FINAL-EXDAT.
XDOCNO = ITAB_FINAL-DOCNO.
ENDIF.
AT END OF XBLNR.
ITAB_FINAL_SUM-WERKS = XWERKS.
ITAB_FINAL_SUM-KUNNR = XKUNNR.
ITAB_FINAL_SUM-BUDAT = XBUDAT.
ITAB_FINAL_SUM-EBELN = XEBELN.
ITAB_FINAL_SUM-XBLNR = XXBLNR.
ITAB_FINAL_SUM-EXNUM = XEXNUM.
ITAB_FINAL_SUM-EXDAT = XEXDAT.
ITAB_FINAL_SUM-DOCNO = XDOCNO.
ITAB_FINAL_SUM-MENGE = XMENGE.
ITAB_FINAL_SUM-DMBTR = XDMBTR.
ITAB_FINAL_SUM-EXBAS = XEXBAS.
ITAB_FINAL_SUM-EXBED = XEXBED.
ITAB_FINAL_SUM-EXAED = XEXAED.
ITAB_FINAL_SUM-ECS = XECS.
ITAB_FINAL_SUM-EXADDTAX1 = XEXADDTAX1.
ITAB_FINAL_SUM-TOTAL = XTOTAL.
APPEND ITAB_FINAL_SUM.
CLEAR: ITAB_FINAL_SUM, XXBLNR, XMENGE, XDMBTR, XEXBAS, XEXBED, XEXAED, XECS, XEXADDTAX1, XTOTAL.
ENDAT.
ENDLOOP.
CLEAR: ITAB_FINAL, XXBLNR, XBELNR.
FREE ITAB_FINAL.
PERFORM OUTPUT_SUM.
ENDIF.
----
FORM OUTPUT .
----
FORM OUTPUT .
WA_FCAT-FIELDNAME = 'WERKS'.
WA_FCAT-SELTEXT_M = 'Issueing Plant'.
WA_FCAT-COL_POS = 1.
WA_FCAT-OUTPUTLEN = 4.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'WERKS_1'.
WA_FCAT-SELTEXT_M = 'Rec plant / Customer'.
WA_FCAT-COL_POS = 2.
WA_FCAT-OUTPUTLEN = 10.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'BELNR'.
WA_FCAT-SELTEXT_M = 'Mat/Bill Doc Number'.
WA_FCAT-COL_POS = 3.
WA_FCAT-OUTPUTLEN = 10.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'BUDAT'.
WA_FCAT-SELTEXT_M = 'Mat/Bill Date'.
WA_FCAT-COL_POS = 3.
WA_FCAT-OUTPUTLEN = 10.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'BUZEI'.
WA_FCAT-SELTEXT_M = 'Item Number'.
WA_FCAT-COL_POS = 3.
WA_FCAT-OUTPUTLEN = 4.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'EBELN'.
WA_FCAT-SELTEXT_M = 'Pur/Sale order Number'.
WA_FCAT-COL_POS = 5.
WA_FCAT-OUTPUTLEN = 10.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'XBLNR'.
WA_FCAT-SELTEXT_M = 'OBD Number'.
WA_FCAT-COL_POS = 6.
WA_FCAT-OUTPUTLEN = 10.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'MATNR'.
WA_FCAT-SELTEXT_M = 'Material Number'.
WA_FCAT-COL_POS = 7.
WA_FCAT-OUTPUTLEN = 12.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'MAKTX'.
WA_FCAT-SELTEXT_M = 'Material description'.
WA_FCAT-COL_POS = 8.
WA_FCAT-OUTPUTLEN = 25.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'CHARG'.
WA_FCAT-SELTEXT_M = 'Batch Number'.
WA_FCAT-COL_POS = 9.
WA_FCAT-OUTPUTLEN = 20.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'MENGE'.
WA_FCAT-SELTEXT_M = 'Quantity(KG/L)'.
WA_FCAT-COL_POS = 10.
WA_FCAT-OUTPUTLEN = 10.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'DMBTR'.
WA_FCAT-SELTEXT_M = 'Mat/Sale Value'.
WA_FCAT-COL_POS = 11.
WA_FCAT-OUTPUTLEN = 16.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'EXNUM'.
WA_FCAT-SELTEXT_M = 'Excise Inv. Number'.
WA_FCAT-COL_POS = 12.
WA_FCAT-OUTPUTLEN = 10.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'EXDAT'.
WA_FCAT-SELTEXT_M = 'Excise Inv. Date'.
WA_FCAT-COL_POS = 13.
WA_FCAT-OUTPUTLEN = 10.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'DOCNO'.
WA_FCAT-SELTEXT_M = 'Internal Excise Number'.
WA_FCAT-COL_POS = 14.
WA_FCAT-OUTPUTLEN = 10.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'EXBAS'.
WA_FCAT-SELTEXT_M = 'Assessable Value'.
WA_FCAT-COL_POS = 15.
WA_FCAT-OUTPUTLEN = 16.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'EXBED'.
WA_FCAT-SELTEXT_M = 'Basic Excise Duty'.
WA_FCAT-COL_POS = 16.
WA_FCAT-OUTPUTLEN = 16.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'EXAED'.
WA_FCAT-SELTEXT_M = 'Additional Excise Duty'.
WA_FCAT-COL_POS = 17.
WA_FCAT-OUTPUTLEN = 16.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'ECS'.
WA_FCAT-SELTEXT_M = 'ECS Value'.
WA_FCAT-COL_POS = 18.
WA_FCAT-OUTPUTLEN = 16.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'EXADDTAX1'.
WA_FCAT-SELTEXT_M = 'H S ECS'.
WA_FCAT-COL_POS = 19.
WA_FCAT-OUTPUTLEN = 16.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'TOTAL'.
WA_FCAT-SELTEXT_M = 'TOTAL'.
WA_FCAT-COL_POS = 20.
WA_FCAT-OUTPUTLEN = 16.
APPEND WA_FCAT TO IT_FCAT.
WBUKRS = I_WERKS+4(1).
IF WBUKRS = 'C' .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_BACKGROUND_ID = 'ALV_BACKGROUND'
I_CALLBACK_PROGRAM = SY-CPROG
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_GRID_TITLE = ' C R Y S T R A L P H O S P H A T E S L I M I T E D '
IT_FIELDCAT = IT_FCAT
I_SAVE = 'A'
TABLES
T_OUTTAB = ITAB_FINAL[].
ELSEIF WBUKRS = 'J' .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_BACKGROUND_ID = 'ALV_BACKGROUND'
I_CALLBACK_PROGRAM = SY-CPROG
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_GRID_TITLE = 'J A I B H A R A T C R O P. C H E M. P V T. L I M I T E D'
IT_FIELDCAT = IT_FCAT
I_SAVE = 'X'
TABLES
T_OUTTAB = ITAB_FINAL[].
ELSEIF WBUKRS = SPACE .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_BACKGROUND_ID = 'ALV_BACKGROUND'
I_CALLBACK_PROGRAM = SY-CPROG
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_GRID_TITLE = 'Crystral Phosphates Limited And JAI Bharat Crop. Chem. PVT. Limited'
IT_FIELDCAT = IT_FCAT
I_SAVE = 'X'
TABLES
T_OUTTAB = ITAB_FINAL[].
ENDIF.
FREE ITAB_FINAL.
APPEND WA_FCAT TO IT_FCAT.
ENDFORM. " OUTPUT
----
FORM OUTPUT_SUM .
----
FORM OUTPUT_SUM.
WA_FCAT-FIELDNAME = 'WERKS'.
WA_FCAT-SELTEXT_M = 'Issueing Plant'.
WA_FCAT-COL_POS = 1.
WA_FCAT-OUTPUTLEN = 4.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'WERKS_1'.
WA_FCAT-SELTEXT_M = 'Rec plant / Customer'.
WA_FCAT-COL_POS = 2.
WA_FCAT-OUTPUTLEN = 10.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'BUDAT'.
WA_FCAT-SELTEXT_M = 'Mat/Bill Date'.
WA_FCAT-COL_POS = 3.
WA_FCAT-OUTPUTLEN = 10.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'EBELN'.
WA_FCAT-SELTEXT_M = 'Pur/Sale order Number'.
WA_FCAT-COL_POS = 4.
WA_FCAT-OUTPUTLEN = 10.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'XBLNR'.
WA_FCAT-SELTEXT_M = 'OBD Number'.
WA_FCAT-COL_POS = 5.
WA_FCAT-OUTPUTLEN = 10.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'MENGE'.
WA_FCAT-SELTEXT_M = 'Quantity(KG/L)'.
WA_FCAT-COL_POS = 6.
WA_FCAT-OUTPUTLEN = 10.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'DMBTR'.
WA_FCAT-SELTEXT_M = 'Mat/Sale Value'.
WA_FCAT-COL_POS = 7.
WA_FCAT-OUTPUTLEN = 16.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'EXNUM'.
WA_FCAT-SELTEXT_M = 'Excise Inv. Number'.
WA_FCAT-COL_POS = 8.
WA_FCAT-OUTPUTLEN = 10.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'EXDAT'.
WA_FCAT-SELTEXT_M = 'Excise Inv. Date'.
WA_FCAT-COL_POS = 9.
WA_FCAT-OUTPUTLEN = 10.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'DOCNO'.
WA_FCAT-SELTEXT_M = 'Internal Excise Number'.
WA_FCAT-COL_POS = 10.
WA_FCAT-OUTPUTLEN = 10.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'EXBAS'.
WA_FCAT-SELTEXT_M = 'Assessable Value'.
WA_FCAT-COL_POS = 11.
WA_FCAT-OUTPUTLEN = 16.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'EXBED'.
WA_FCAT-SELTEXT_M = 'Basic Excise Duty'.
WA_FCAT-COL_POS = 12.
WA_FCAT-OUTPUTLEN = 16.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'EXAED'.
WA_FCAT-SELTEXT_M = 'Additional Excise Duty'.
WA_FCAT-COL_POS = 13.
WA_FCAT-OUTPUTLEN = 16.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'ECS'.
WA_FCAT-SELTEXT_M = 'ECS Value'.
WA_FCAT-COL_POS = 14.
WA_FCAT-OUTPUTLEN = 16.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'EXADDTAX1'.
WA_FCAT-SELTEXT_M = 'H S ECS'.
WA_FCAT-COL_POS = 15.
WA_FCAT-OUTPUTLEN = 16.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'TOTAL'.
WA_FCAT-SELTEXT_M = 'TOTAL'.
WA_FCAT-COL_POS = 16.
WA_FCAT-OUTPUTLEN = 16.
APPEND WA_FCAT TO IT_FCAT.
WBUKRS = I_WERKS+4(1).
IF WBUKRS = 'C' .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_BACKGROUND_ID = 'ALV_BACKGROUND'
I_CALLBACK_PROGRAM = SY-CPROG
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_GRID_TITLE = ' C R Y S T R A L P H O S P H A T E S L I M I T E D ( S U M M A R Y )'
IT_FIELDCAT = IT_FCAT
I_SAVE = 'A'
TABLES
T_OUTTAB = ITAB_FINAL_SUM[].
ELSEIF WBUKRS = 'J' .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_BACKGROUND_ID = 'ALV_BACKGROUND'
I_CALLBACK_PROGRAM = SY-CPROG
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_GRID_TITLE = 'J A I B H A R A T C R O P. C H E M. P V T. L I M I T E D ( S U M M A R Y )'
IT_FIELDCAT = IT_FCAT
I_SAVE = 'X'
TABLES
T_OUTTAB = ITAB_FINAL_SUM[].
ELSEIF WBUKRS = SPACE .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_BACKGROUND_ID = 'ALV_BACKGROUND'
I_CALLBACK_PROGRAM = SY-CPROG
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_GRID_TITLE = 'Crystral Phosphates Limited And JAI Bharat Crop. Chem. PVT. Limited'
IT_FIELDCAT = IT_FCAT
I_SAVE = 'X'
TABLES
T_OUTTAB = ITAB_FINAL_SUM[].
ENDIF.
FREE ITAB_FINAL_SUM.
APPEND WA_FCAT TO IT_FCAT.
ENDFORM. " OUTPUT_SUM
----
FORM OUTPUT .
----
FORM SELECT .
SELECT A~EBELN A~EBELP A~BELNR A~BUZEI A~BUDAT A~MENGE A~WAERS A~XBLNR A~MATNR A~WERKS A~CHARG
B~VSTEL B~VKORG B~HANDLE B~KUNNR INTO CORRESPONDING FIELDS OF TABLE ITAB_MM
FROM EKBE AS A INNER JOIN LIKP AS B ON A~XBLNR = B~VBELN
WHERE ( A~BWART = '641' OR A~BWART = '603' )
AND A~WERKS IN I_WERKS
AND A~BELNR IN S_BELNR
AND A~MATNR IN S_MATNR
AND A~BUDAT IN S_BUDAT
AND B~WERKS IN R_KUNNR.
SORT ITAB_MM BY BELNR DESCENDING.
LOOP AT ITAB_MM.
ON CHANGE OF ITAB_MM-XBLNR.
XXBLNR = ITAB_MM-XBLNR.
XBELNR = ITAB_MM-BELNR.
ENDON.
IF ITAB_MM-XBLNR = XXBLNR.
IF XBELNR NE ITAB_MM-BELNR.
DELETE ITAB_MM INDEX SY-TABIX.
ENDIF.
ENDIF.
AT END OF XBLNR.
CLEAR: XXBLNR, XBELNR.
ENDAT.
ENDLOOP.
CLEAR: ITAB_MM, XXBLNR, XBELNR.
LOOP AT ITAB_MM.
SELECT SINGLE MAKTX FROM MAKT INTO (ITAB_MM-MAKTX) WHERE MATNR = ITAB_MM-MATNR.
SELECT SINGLE WERKS FROM LIKP INTO (ITAB_MM-WERKS_1) WHERE VBELN = ITAB_MM-XBLNR.
SELECT SINGLE DOCNO EXNUM EXDAT EXBAS EXBED
EXAED ECS EXADDTAX1
FROM J_1IEXCDTL INTO
(ITAB_MM-DOCNO,ITAB_MM-EXNUM,ITAB_MM-EXDAT,ITAB_MM-EXBAS,ITAB_MM-EXBED,ITAB_MM-EXAED,ITAB_MM-ECS,ITAB_MM-EXADDTAX1)
WHERE MATNR = ITAB_MM-MATNR
AND RDOC2 = ITAB_MM-BELNR
AND RITEM2 = ITAB_MM-BUZEI.
FOR ITAB_MM Qty. ************************************************************************************
SELECT SINGLE MEINS FROM EKPO INTO (VLMEIN) WHERE EKPO~MATNR = ITAB_MM-MATNR AND EKPO~EBELN = ITAB_MM-EBELN AND EKPO~EBELP = ITAB_MM-EBELP.
IF VLMEIN = 'G' OR VLMEIN = 'ML'.
COMPUTE ITAB_MM-MENGE = ( ITAB_MM-MENGE / 1000 ).
ELSEIF VLMEIN = 'KG' OR VLMEIN = 'L' OR ITAB_SD-VRKME = 'EA' OR ITAB_SD-VRKME = 'PC'.
ITAB_MM-MENGE = ITAB_MM-MENGE.
ELSE.
SELECT SINGLE UMREN UMREZ FROM MARM INTO (VUMREN, VUMREZ) WHERE MARM~MATNR = ITAB_MM-MATNR
AND ( MARM~MEINH = 'KG' OR MARM~MEINH = 'L' OR MARM~MEINH = 'EA' OR MARM~MEINH = 'PC' ).
COMPUTE ITAB_MM-MENGE = ( ITAB_MM-MENGE * VUMREN ) / VUMREZ.
CLEAR : VUMREN , VUMREZ.
ENDIF.
For ITAB_MM rate *****************************************************************************
SELECT MATNR VALIDDATE TRFRATE FROM ZTRFRATE INTO (ITAB_TRF-MATNR, ITAB_TRF-DATE, ITAB_TRF-RATE) WHERE MATNR = ITAB_MM-MATNR.
APPEND ITAB_TRF.
CLEAR ITAB_TRF.
ENDSELECT.
CLEAR ITAB_TRF.
SORT ITAB_TRF BY DATE.
LOOP AT ITAB_TRF.
IF ITAB_MM-BUDAT >= ITAB_TRF-DATE AND ITAB_MM-MATNR = ITAB_TRF-MATNR.
VRATE = ITAB_TRF-RATE.
ITAB_MM-DMBTR = VRATE * ITAB_MM-MENGE.
ELSE.
IF ITAB_MM-BUDAT < ITAB_TRF-DATE AND ITAB_MM-MATNR = ITAB_TRF-MATNR AND SY-TABIX = 1.
VRATE = ITAB_TRF-RATE.
ITAB_MM-DMBTR = VRATE * ITAB_MM-MENGE.
ELSE.
ITAB_MM-DMBTR = VRATE * ITAB_MM-MENGE.
ENDIF.
ENDIF.
ENDLOOP.
Total Field **************************************************************************************
ITAB_MM-TOTAL = ITAB_MM-DMBTR + ITAB_MM-ECS + ITAB_MM-EXADDTAX1.
***********************************************************************************************************************************
MODIFY ITAB_MM.
MOVE-CORRESPONDING ITAB_MM TO ITAB_FINAL.
APPEND ITAB_FINAL.
CLEAR: VRATE, ITAB_TRF.
REFRESH: ITAB_TRF.
ENDLOOP.
**************************************************
LOOP AT ITAB_MM.
MOVE-CORRESPONDING ITAB_MM TO ITAB_FINAL.
APPEND ITAB_FINAL.
ENDLOOP.
**************************************************
SELECT A~WERKS A~VRKME A~VBELN A~POSNR C~KUNAG A~AUBEL A~AUPOS
C~FKDAT A~FKIMG A~NETWR A~VGBEL A~VGPOS A~MATNR
A~CHARG B~VSTEL B~VKORG C~KNUMV
INTO CORRESPONDING FIELDS OF TABLE ITAB_SD
FROM ( VBRP AS A INNER JOIN VBRK AS C ON A~VBELN = C~VBELN )
INNER JOIN LIKP AS B ON A~VGBEL = B~VBELN
WHERE
A~WERKS IN I_WERKS
AND A~MATNR IN S_MATNR
AND A~VBELN IN S_BELNR
AND C~FKDAT IN S_BUDAT
AND B~KUNNR IN R_KUNNR
AND C~FKSTO NE 'X'
AND ( C~VBTYP NE 'S' OR C~VBTYP NE 'N' ). .
LOOP AT ITAB_SD.
SELECT SINGLE MAKTX FROM MAKT INTO (ITAB_SD-MAKTX) WHERE MATNR = ITAB_SD-MATNR.
SELECT SINGLE KUNNR FROM LIKP INTO (ITAB_SD-KUNNR) WHERE VBELN = ITAB_SD-VGBEL.
SELECT SINGLE NAME1 ORT01 STCEG REGIO FROM KNA1 INTO (ITAB_SD-NAME1CU,ITAB_SD-CITYCU,ITAB_SD-STCEG,ITAB_SD-REGIO)
WHERE KUNNR = ITAB_SD-KUNNR.
SELECT SINGLE DOCNO EXNUM EXDAT EXBAS EXBED EXAED ECS EXADDTAX1 FROM J_1IEXCDTL INTO
(ITAB_SD-DOCNO,ITAB_SD-EXNUM,ITAB_SD-EXDAT,ITAB_SD-EXBAS,ITAB_SD-EXBED,ITAB_SD-EXAED,ITAB_SD-ECS,ITAB_SD-EXADDTAX1)
WHERE MATNR = ITAB_SD-MATNR
AND RDOC2 = ITAB_SD-VBELN
AND RITEM2 = ITAB_SD-POSNR.
FOR ITAB_SD Qty. *****************************************************************
IF ITAB_SD-VRKME = 'G' OR ITAB_SD-VRKME = 'ML'.
COMPUTE ITAB_SD-FKIMG = ( ITAB_SD-FKIMG / 1000 ).
ELSEIF ITAB_SD-VRKME = 'KG' OR ITAB_SD-VRKME = 'L' OR ITAB_SD-VRKME = 'EA' OR ITAB_SD-VRKME = 'PC'.
ITAB_SD-FKIMG = ITAB_SD-FKIMG.
ELSE.
SELECT SINGLE UMREN UMREZ FROM MARM INTO (VUMREN, VUMREZ) WHERE MARM~MATNR = ITAB_SD-MATNR
AND ( MARM~MEINH = 'KG' OR MARM~MEINH = 'L' OR MARM~MEINH = 'EA' OR MARM~MEINH = 'PC' ).
COMPUTE ITAB_SD-FKIMG = ( ITAB_SD-FKIMG * VUMREN ) / VUMREZ.
CLEAR : VUMREN , VUMREZ.
ENDIF.
******************************************************************************************************
PERFORM KONV_FORM.
MODIFY ITAB_SD.
MOVE ITAB_SD-WERKS TO ITAB_FINAL-WERKS.
MOVE ITAB_SD-VBELN TO ITAB_FINAL-BELNR.
MOVE ITAB_SD-POSNR TO ITAB_FINAL-BUZEI.
MOVE ITAB_SD-AUBEL TO ITAB_FINAL-EBELN.
MOVE ITAB_SD-AUPOS TO ITAB_FINAL-EBELP.
MOVE ITAB_SD-FKDAT TO ITAB_FINAL-BUDAT.
MOVE ITAB_SD-FKIMG TO ITAB_FINAL-MENGE.
MOVE ITAB_SD-NETWR TO ITAB_FINAL-DMBTR.
MOVE ITAB_SD-VGBEL TO ITAB_FINAL-XBLNR.
MOVE ITAB_SD-MATNR TO ITAB_FINAL-MATNR.
MOVE ITAB_SD-MAKTX TO ITAB_FINAL-MAKTX.
MOVE ITAB_SD-CHARG TO ITAB_FINAL-CHARG.
MOVE ITAB_SD-VSTEL TO ITAB_FINAL-VSTEL.
MOVE ITAB_SD-VKORG TO ITAB_FINAL-VKORG.
MOVE ITAB_SD-DOCNO TO ITAB_FINAL-DOCNO.
MOVE ITAB_SD-EXNUM TO ITAB_FINAL-EXNUM.
MOVE ITAB_SD-EXDAT TO ITAB_FINAL-EXDAT.
IF ITAB_SD-DOCNO NE 0.
MOVE ITAB_SD-EXBAS TO ITAB_FINAL-EXBAS.
MOVE ITAB_SD-EXBED TO ITAB_FINAL-EXBED.
MOVE ITAB_SD-EXAED TO ITAB_FINAL-EXAED.
MOVE ITAB_SD-ECS TO ITAB_FINAL-ECS.
MOVE ITAB_SD-EXADDTAX1 TO ITAB_FINAL-EXADDTAX1.
ENDIF.
MOVE ITAB_SD-KUNNR TO ITAB_FINAL-KUNNR.
MOVE-CORRESPONDING ITAB_SD TO ITAB_FINAL.
APPEND ITAB_FINAL.
CLEAR ITAB_FINAL.
ENDLOOP.
****************************************************
LOOP AT ITAB_SD.
MOVE ITAB_SD-WERKS TO ITAB_FINAL-WERKS.
MOVE ITAB_SD-VBELN TO ITAB_FINAL-BELNR.
MOVE ITAB_SD-POSNR TO ITAB_FINAL-BUZEI.
MOVE ITAB_SD-AUBEL TO ITAB_FINAL-EBELN.
MOVE ITAB_SD-AUPOS TO ITAB_FINAL-EBELP.
MOVE ITAB_SD-FKDAT TO ITAB_FINAL-BUDAT.
MOVE ITAB_SD-FKIMG TO ITAB_FINAL-MENGE.
MOVE ITAB_SD-NETWR TO ITAB_FINAL-DMBTR.
MOVE ITAB_SD-VGBEL TO ITAB_FINAL-XBLNR.
MOVE ITAB_SD-MATNR TO ITAB_FINAL-MATNR.
MOVE ITAB_SD-MAKTX TO ITAB_FINAL-MAKTX.
MOVE ITAB_SD-CHARG TO ITAB_FINAL-CHARG.
MOVE ITAB_SD-VSTEL TO ITAB_FINAL-VSTEL.
MOVE ITAB_SD-VKORG TO ITAB_FINAL-VKORG.
MOVE ITAB_SD-DOCNO TO ITAB_FINAL-DOCNO.
MOVE ITAB_SD-EXNUM TO ITAB_FINAL-EXNUM.
MOVE ITAB_SD-EXDAT TO ITAB_FINAL-EXDAT.
IF ITAB_SD-DOCNO NE 0.
MOVE ITAB_SD-EXBAS TO ITAB_FINAL-EXBAS.
MOVE ITAB_SD-EXBED TO ITAB_FINAL-EXBED.
MOVE ITAB_SD-EXAED TO ITAB_FINAL-EXAED.
MOVE ITAB_SD-ECS TO ITAB_FINAL-ECS.
*
ENDIF.
MOVE ITAB_SD-KUNNR TO ITAB_FINAL-KUNNR.
MOVE-CORRESPONDING ITAB_SD TO ITAB_FINAL.
APPEND ITAB_FINAL.
CLEAR ITAB_FINAL.
ENDLOOP.
*******************************************************
ENDFORM. "SELECT
DATA I_UCOMM LIKE SY-UCOMM.
&----
*& Form USER_COMMAND
&----
text
----
-->RF_UCOMM text
-->RS text
----
FORM USER_COMMAND USING RF_UCOMM LIKE SY-UCOMM
RS TYPE SLIS_SELFIELD.
IF RS-TABNAME = '1'.
RS-TABNAME = 'ITAB_FINAL'.
ENDIF.
CLEAR: ITAB_FINAL.
CASE RS-TABNAME.
WHEN 'ITAB_FINAL'.
READ TABLE ITAB_FINAL INDEX RS-TABINDEX.
ENDCASE.
CHECK SY-SUBRC = 0.
IF RF_UCOMM = '&IC1'.
CASE RS-FIELDNAME.
WHEN 'BELNR'.
RF_UCOMM = 'POHIST'.
WHEN OTHERS.
RF_UCOMM = 'POHIST'.
ENDCASE.
ENDIF.
CASE RF_UCOMM.
WHEN 'KRED'.
IF RS-FIELDNAME = 'BELNR'.
ITAB_FINAL-BELNR = ITAB_FINAL-BELNR.
ENDIF.
SET PARAMETER ID 'MBN' FIELD ITAB_FINAL-BELNR.
CALL TRANSACTION 'MB03'
AND SKIP FIRST SCREEN.
WHEN 'POHIST'.
IF RS-FIELDNAME = 'BELNR'.
ITAB_FINAL-BELNR = ITAB_FINAL-BELNR.
ENDIF.
SELECT SINGLE EBELN BELNR FROM EKBE INTO (WEBELN,WBELNR) WHERE EBELN = ITAB_FINAL-EBELN AND BELNR = ITAB_FINAL-BELNR .
IF SY-SUBRC = 0 .
SET PARAMETER ID 'MBN' FIELD ITAB_FINAL-BELNR.
SET PARAMETER ID 'BES' FIELD ITAB_FINAL-EBELP.
CALL TRANSACTION 'MB03' AND SKIP FIRST SCREEN.
ELSE .
SET PARAMETER ID 'VF' FIELD ITAB_FINAL-BELNR.
SET PARAMETER ID 'BES' FIELD ITAB_FINAL-EBELP.
CALL TRANSACTION 'VF03' AND SKIP FIRST SCREEN.
ENDIF.
ENDCASE.
ENDFORM. " USER_COMMAND
&----
*& Form KONV_FORM
&----
text
----
FORM KONV_FORM .
SELECT KNUMV KPOSN KWERT KBETR KAWRT KSCHL FROM KONV INTO CORRESPONDING FIELDS OF TABLE IT_KONV
WHERE KNUMV = ITAB_SD-KNUMV
AND KPOSN = ITAB_SD-POSNR.
IF SY-SUBRC = 0.
LOOP AT IT_KONV.
IF IT_KONV-KPOSN = ITAB_SD-POSNR AND IT_KONV-KNUMV = ITAB_SD-KNUMV.
PERFORM COND.
CLEAR IT_KONV.
ENDIF.
ENDLOOP.
CLEAR : WSALES_TAX , WEXI_DUTY ,SWBILL_VAL .
ENDIF.
ENDFORM. "KONV_FORM
&*********************************************************************
*& Form COND
&*********************************************************************
FORM COND .
IF IT_KONV-KSCHL = 'ZPR0'.
WSALES_TAX = IT_KONV-KWERT.
ENDIF.
IF IT_KONV-KSCHL = 'ZZRP'.
WSALES_TAX = IT_KONV-KWERT.
ENDIF.
IF IT_KONV-KSCHL = 'ZZRT'.
WEXI_DUTY = IT_KONV-KWERT.
ENDIF.
SWBILL_VAL = WSALES_TAX + WEXI_DUTY.
MOVE SWBILL_VAL TO ITAB_SD-EXBAS.
ENDFORM. "COND
regards,
raman
2008 Apr 30 6:29 AM
hi
Use CLEAR WA_FCAT statement in the FORM OUTPUT
for every field....
u also remove WA_FCAT-OUTPUTLEN = 10 for werks_1 field
then u will get.....
try it
thnx
sravani
reward if useful....
2008 Apr 30 6:40 AM
WA_FCAT-FIELDNAME = 'WERKS_1'.
WA_FCAT-SELTEXT_M = 'Rec plant / Customer'.
WA_FCAT-COL_POS = 2. " <<<try to remove this
WA_FCAT-OUTPUTLEN = 10. " <<<try to remove this
APPEND WA_FCAT TO IT_FCAT.