Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

ALV REPORT

Former Member
0 Likes
472

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

2 REPLIES 2
Read only

Former Member
0 Likes
432

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....

Read only

former_member156446
Active Contributor
0 Likes
432
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.