You are on page 1of 29

*--------------------------------------------------------------------*& Program name : ZISSUE_REGISTER *& Program Title : ISSUE REGISTER *& Module : *& Developed By :DEEPAK NIGAM

*& Summary : Report For ISSUE REGISTER *& Started On : 02/02/2011 *& Finished on : 0 *& T.Code : *& Request : *---------------------------------------------------------------------* Change History * *---------------------------------------------------------------------* Mod.# | Date | Author | Desc, Reference & CTS * *---------------------------------------------------------------------* | | | * * | | | * * | | | * *&--------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* *&---------------------------------------------------------------------* *& Report ZISSUE_REGISTER *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT ZISSUE_REGISTER.

include zselectdata. INCLUDE ZSELECTHEADER. INCLUDE ZSELECTDETAILS.

at selection-screen.. IF P_VKORG IS INITIAL OR S_ERDAT-LOW IS INITIAL. MESSAGE 'Fill All The Required Fields' TYPE 'I'. LEAVE LIST-PROCESSING. ENDIF.

start-of-selection. IF HEADER = 'X'. perform select_data. perform read_text.

perform create_fieldcat. perform alv_display. endif .

IF DETAILS = 'X'. perform select_data. *perform filldata. perform create_fieldcat1. perform alv_display1. ENDIF. *&---------------------------------------------------------------------* *& Include ZSELECTDATA *&---------------------------------------------------------------------* *&---------------------------------------------------------------------* *& Form SELECT_DATA *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* TYPE-POOLS: IMREP, SLIS. " Typen Bestandsfhrungsreporting " Typen Listviewer *TABLE DEFINITION TABLES :LIKP, LIPS, VBRK, VBRP, KNA1. "SD Document: Delivery Header "SD document: Delivery: Item data "Billing Document: Header data "Billing Document: Item data "General Data in Customer Master

*Data Definition DATA: I_FCAT TYPE STANDARD TABLE OF SLIS_FIELDCAT_ALV, W_FCAT TYPE SLIS_FIELDCAT_ALV. DATA ACTIVETAB(6) TYPE C . DATA: I_FCAT1 TYPE STANDARD TABLE OF SLIS_FIELDCAT_ALV, W_FCAT1 TYPE SLIS_FIELDCAT_ALV. DATA: D_REPID TYPE SY-REPID, C_REPID TYPE SY-REPID, P_F2CODE LIKE SY-UCOMM D_REPID = SY-REPID. C_REPID = SY-REPID. data idx type sy-tabix. data idx1 type sy-tabix. TYPES: BEGIN OF ty_vbrk, vbeln type vbrk-vbeln, " Billing Document: Item data " Billing Document No.

VALUE

'&IC1'.

fkart fkdat ERDAT vbtyp vtweg knumv inco1 spart fksto KUNAG

type type TYPE type type type type type type TYPE

vbrk-fkart, vbrk-fkdat, VBRK-ERDAT, vbrk-vbtyp, vbrk-vtweg, vbrk-knumv, vbrk-inco1, vbrk-spart, vbrk-fksto, KUNAG,

END OF ty_vbrk. DATA:IT_VBRK TYPE STANDARD TABLE OF TY_VBRK, WA_VBRK TYPE TY_VBRK.

TYPES : BEGIN OF TY_VBRP, VBELN TYPE VBRP-VBELN, POSNR TYPE POSNR_VF, VKGRP TYPE VBRP-VKGRP, VKBUR TYPE VBRP-VKBUR, VGBEL TYPE VGBEL, AUBEL TYPE VBELN_VA, FKIMG TYPE FKIMG, MATNR TYPE MATNR, ARKTX TYPE ARKTX, netwr_i type vbrp-netwr, END OF TY_VBRP. DATA:IT_VBRP TYPE STANDARD TABLE OF TY_VBRP, WA_VBRP TYPE TY_VBRP. DATA:IT_VBRP1 TYPE STANDARD TABLE OF TY_VBRP, WA_VBRP1 TYPE TY_VBRP. TYPES :BEGIN VBELN VKORG KUNNR OF TY_LIKP, TYPE VBELN_VL, TYPE VKORG, TYPE KUNWE,

END OF TY_LIKP. DATA:IT_LIKP TYPE STANDARD TABLE OF TY_LIKP, WA_LIKP TYPE TY_LIKP. TYPES :BEGIN VBELN ERDAT BWART posnr matnr OF TY_LIPS, TYPE VBELN_VL, TYPE ERDAT, TYPE BWART, type posnr, type matnr,

END OF TY_LIPS. DATA:IT_LIPS TYPE STANDARD TABLE OF TY_LIPS, WA_LIPS TYPE TY_LIPS.

TYPES :BEGIN OF TY_KNA1, KUNNR TYPE KUNNR, NAME1 TYPE NAME1_GP , END OF TY_KNA1. DATA:IT_KNA1 TYPE STANDARD TABLE OF TY_KNA1, WA_KNA1 TYPE TY_KNA1. TYPES : BEGIN OF TY_KONV, KNUMV TYPE KNUMV, kposn type kposn, KSCHL TYPE KSCHA, KWERT TYPE KWERT, kbetr type kbetr, MWSK1 type MWSKZ, END OF TY_KONV. DATA:IT_KONV TYPE STANDARD TABLE OF TY_KONV, WA_KONV TYPE TY_KONV. TYPES : BEGIN OF TY_VBAK, VBELN TYPE VBELN_VA, ZZHINW TYPE ZHINW, AUART TYPE AUART, END OF TY_VBAK. DATA:IT_VBAK TYPE STANDARD TABLE OF TY_VBAK, WA_VBAK TYPE TY_VBAK. TYPES : BEGIN OF TY_T007S, SPRAS TYPE SPRAS, KALSM TYPE KALSM_D, MWSKZ TYPE MWSKZ, TEXT1 TYPE TEXT1_007S, END OF TY_T007S. DATA:IT_T007S TYPE STANDARD TABLE OF TY_T007S, WA_T007S TYPE TY_T007S. TYPES:BEGIN OF TY_FINAL, vbeln type vbrk-vbeln, fkdat type vbrk-fkdat, ERDAT TYPE VBRK-ERDAT, * knumv type vbrk-knumv, VKGRP TYPE VBRP-VKGRP, VKBUR TYPE VBRP-VKBUR, POSNR TYPE VBRP-POSNR, netwr_i type vbrp-netwr, VKORG TYPE LIKP-VKORG, BWART TYPE LIPS-BWART, KUNNR TYPE KNA1-KUNNR, NAME1 TYPE KNA1-NAME1 , KNUMV TYPE KONV-KNUMV, KSCHL TYPE KONV-KSCHL, KWERT TYPE KONV-KWERT, VGBEL TYPE stxh-tdname,

AUBEL TYPE VBRP-VBELN, FKIMG TYPE VBRP-FKIMG, MATNR TYPE VBRP-MATNR, ARKTX TYPE VBRP-ARKTX, KWERT1 TYPE KONV-KWERT, " FOR BASIC VALUE KWERT2 TYPE KONV-KWERT, KWERT3 TYPE KONV-KWERT, KWERT4 TYPE KONV-KWERT, KWERT5 TYPE KONV-KWERT, KWERT6 TYPE KONV-KWERT, KWERT7 TYPE KONV-KWERT, KWERT8 TYPE KONV-KWERT, KWERT9 TYPE KONV-KWERT, MWSK1 TYPE KONV-MWSK1, TOTAL TYPE P DECIMALS 3, DTOT TYPE KONV-KWERT, STTOT TYPE KONV-KWERT, kbetr type konv-kbetr, BAMNT TYPE KONV-KBETR, ZZHINW TYPE VBAK-ZZHINW, TDNAME TYPE TDOBNAME, TDID TYPE TDID, TXT1 TYPE CHAR50, txt2 type char50, txt3 type char50, KALSM TYPE T007S-KALSM, MWSKZ TYPE T007S-MWSKZ, TEXT1 TYPE T007S-TEXT1,

END OF TY_FINAL. DATA:IT_FINAL TYPE STANDARD TABLE OF TY_FINAL WITH HEADER LINE, WA_FINAL TYPE TY_FINAL. *************************************************************************** *********************

SELECTION-SCREEN BEGIN OF SCREEN 100. SELECTION-SCREEN:BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001. PARAMETERS:P_VKORG TYPE VKORG OBLIGATORY. " SALES ORG. SELECT-OPTIONS:S_ERDAT FOR LIKP-ERDAT OBLIGATORY. " Date on which the r ecord was created. SELECTION-SCREEN:END OF BLOCK B1. SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE PARAMETERS:HEADER RADIOBUTTON GROUP k1. PARAMETERS:DETAILS RADIOBUTTON GROUP k 1. SELECTION-SCREEN END OF BLOCK b2. SELECTION-SCREEN END OF SCREEN 100. text-002.

start-of-selection. *perform select_data. form SELECT_DATA . * *------------------------------------------------------------------* * Selecting data from LIKP *------------------------------------------------------------------* SELECT VBELN VKORG KUNNR FROM LIKP INTO corresponding fields of table IT_LIKP N S_ERDAT and VKORG = p_vkorg. IF IT_LIkp IS NOT INITIAL. SELECT VBELN ERDAT BWART POSNR MATNR FROM LIPS INTO CORRESPONDING FIELDS OF TABLE es in it_likp WHERE vbeln = it_likp-vbeln and BWART = '601'.

WHERE ERDAT I

IT_LIPS for all entri

ENDIF.

IF IT_LIKP IS NOT INITIAL. SELECT KUNNR NAME1 FROM KNA1 INTO TABLE IT_KNA1 FOR ALL ENTRIES IN IT_LIKP WHERE KUNN R = IT_LIKP-KUNNR. ENDIF. * IF IT_KNA1 IS NOT INITIAL. * LOOP AT IT_LIKP INTO WA_LIKP. SELECT VBELN POSNR FKIMG VGBEL AUBEL MATNR ARKTX FROM VBRP INTO CORRESPONDING FIELDS OF TABLE IT_VBRP FOR ALL ENTRIES I N IT_LIKP WHERE VGBEL = IT_LIKP-VBELN. ENDIF. IF IT_VBRP IS NOT INITIAL. SELECT VBELN ZZHINW AUART FROM VBAK INTO CORRESPONDING FIELDS OF TABLE IT_

VBAK FOR ALL ENTRIES IN IT_VBRP

WHERE VBELN = IT_VBRP-AUBEL

AND AUART = 'ZET'. ENDIF.

IF IT_VBAK IS NOT INITIAL. SELECT VBELN POSNR FKIMG VGBEL AUBEL MATNR ARKTX FROM VBRP INTO CORRESPONDING FIELDS OF TABLE IT_VBRP1 FOR ALL ENTRIES IN IT_vbak WHERE aubel = IT_vbak-VBELN. endif. * LOOP AT IT_VBRP INTO WA_VBRP. SELECT vbeln knumv ERDAT KUNAG fkart FROM VBRK INTO corresponding fields of table IT_VBRK FOR ALL ENTRIE S IN IT_VBRP WHERE VBELN = IT_VBRP-VBELN.

*ENDLOOP. * ENDIF. IF IT_VBRK IS NOT INITIAL. * LOOP AT IT_VBRK INTO WA_VBRK. SELECT KNUMV kposn KSCHL KWERT kbetr MWSK1 FROM KONV INTO TABLE IT_KONV FOR ALL ENTRIES IN IT_VBRK WHERE KNUMV = IT_VBRK-KNUMV. * HL * * 'ZRST', * 'HD00', * 'JIVC', * 'JIVP', * AND KSC IN ('PR00', 'ZTTR',

'JCSR', * 'JLST', * 'JLSR', * * 'VPRS'). ENDLOOP.

ENDIF. * ************************************************************************* *********************** ************** FOR DETAILS WISE.... IF IT_KONV IS NOT INITIAL. SELECT SPRAS KALSM MWSKZ TEXT1 FROM T007S INTO TABLE IT_T007S FOR ALL ENTRIES IN IT_KONV WHERE MWSKZ = IT_KONV-MWSK1 AND SPRAS = 'EN' AND KALSM = 'TAXINN'.

ENDIF. *************************************************************************** ********************************************************** data : flag type char1, v_kwert type kwert. if header = 'X'. LOOP AT IT_VBRK INTO WA_VBRK. wa_final-vbeln = wa_vbrk-vbeln. * wa_final-fkdat = wa_vbrk-fkdat. WA_FINAL-ERDAT = WA_VBRK-ERDAT. wa_final-knumv = wa_vbrk-knumv. WA_FINAL-KUNNR = WA_VBRK-KUNAG. * WA_FINAL-VBELN = WA_VBRP-VBELN. * WA_FINAL-ZZHINW = WA_VBrK-ZZHINW. READ TABLE IT_VBRP INTO WA_VBRP WITH IF SY-SUBRC = 0. WA_FINAL-POSNR = WA_VBRP-POSNR. WA_FINAL-VGBEL = WA_VBRP-VGBEL. WA_FINAL-AUBEL = WA_VBRP-AUBEL. * WA_FINAL-ERDAT = WA_VBRP-ERDAT. WA_FINAL-FKIMG = WA_VBRP-FKIMG. * WA_FINAL-MATNR = WA_VBRP-MATNR. WA_FINAL-ARKTX = WA_VBRP-ARKTX.

KEY VBELN = WA_VBRK-VBELN.

WA_FINAL-VBELN = WA_VBRP-VBELN. * WA_FINAL-TEXT1 = WA_VBRP-TEXT1. concatenate wa_VBRP-MATNR+7(4) '-' wa_VBRP-MATNR+11(4) '-' wa_VBRPMATNR+15(3) into wa_final-matnr. ENDIF. *READ TABLE IT_VBRK INTO WA_VBRK WITH KEY VBELN = WA_FINAL-VBELN. *IF SY-SUBRC = 0. * WA_FINAL-KNUMV = WA_VBRK-KNUMV. *ENDIF.

APPEND WA_FINAL TO IT_FINAL. CLEAR : WA_FINAL , WA_VBRK . ENDLOOP.

*********************************************************

loop at it_final into wa_final. idx = sy-tabix. read table it_kNA1 into wa_kNA1 with key kUNNR = wa_FINAL-kUNNR. IF SY-SUBRC = 0. WA_FINAL-NAME1 = WA_KNA1-NAME1. ENDIF.

loop at it_konv into wa_konv where knumv = wa_final-knumv . WA_FINAL-MWSK1 = WA_KONV-MWSK1. wa_final-kschl = wa_konv-kschl.

read table it_VBAK into wa_VBAK with key VBELN = WA_final-AUBEL. IF SY-SUBRC = 0. WA_FINAL-ZZHINW = WA_VBAK-ZZHINW. ENDIF. if wa_final-kschl = 'PR00'. wa_final-KWERT = wa_final-KWERT + wa_KONV-Kwert. wa_final-Kbetr = wa_final-kbetr + wa_KONV-Kbetr. WA_FINAL-BAMNT = ( WA_FINAL-KBETR ) * ( * WA_FINAL-KWERT1 = WA_FINAL-FKIMG ).

WA_FINAL-KWERT + WA_KONV-KWERT.

endif.

if wa_final-kschl = 'ZTTR'."CONDITION FOR DISCOUNT WA_FINAL-KWERT1 = wa_final-KWERT1 + wa_KONV-Kwert. elseIF wa_final-kschl = 'ZRST'. "CONDITION FOR DISCOUNT WA_FINAL-KWERT2 = wa_final-KWERT2 + wa_KONV-Kwert. ENDIF. WA_FINAL-DTOT = IF WA_FINAL-KWERT1 + WA_FINAL-KWERT2.

wa_final-kschl = 'HD00'."CONDITION FOR FOROW CHARGES WA_FINAL-KWERT3 = wa_final-KWERT3 + wa_KONV-Kwert.

elseIF wa_final-kschl = 'JIVC'."CONDITION FOR SALES TAXES WA_FINAL-KWERT4 = wa_final-KWERT4 + wa_KONV-Kwert. ELSEIF wa_final-kschl = 'JCSR'."CONDITION FOR SALES TAXES WA_FINAL-KWERT5 = wa_final-KWERT5 + wa_KONV-Kwert. elseIF wa_final-kschl = 'JLST'."CONDITION FOR SALES TAXES WA_FINAL-KWERT6 = wa_final-KWERT6 + wa_KONV-Kwert. elseIF wa_final-kschl = 'JLSR'."CONDITION FOR SALES TAXES WA_FINAL-KWERT7 = wa_final-KWERT7 + wa_KONV-Kwert. elseIF wa_final-kschl = 'JIVP'."CONDITION FOR SALES TAXES WA_FINAL-KWERT8 = wa_final-KWERT8 + wa_KONV-Kwert. ENDIF. WA_FINAL-STTOT = WA_FINAL-KWERT4 + WA_FINAL-KWERT5 + WA_FINAL-KWERT6 + W A_FINAL-KWERT7 + WA_FINAL-KWERT8 .

IF

wa_final-kschl = 'VPRS'. "CONDITION FOR MATERIAL COST WA_FINAL-KWERT9 = wa_final-KWERT9 + wa_KONV-Kwert. endif.

*ENDCASE. WA_FINAL-TOTAL = wa_final-KWERT NAL-STTOT.

WA_FINAL-DTOT + wa_final-KWERT3 +

WA_FI

READ TABLE IT_T007S INTO WA_T007S WITH KEY MWSKZ = WA_KONV-MWSK1. IF SY-SUBRC = 0. WA_FINAL-TEXT1 = WA_T007S-TEXT1. ENDIF. endloop. modify it_final from wa_final index idx. " transporting kschl kwert. CLEAR:WA_FINAL, WA_T007S, WA_KONV, wa_vbrp. endloop. loop at it_final into wa_final. idx = sy-tabix. read table it_vbrk into wa_vbrk with key vbeln = wa_final-vbeln. if sy-subrc = 0. if wa_vbrk-fkart = 'S1'. wa_final-KWERT = wa_final-KWERT * -1. wa_final-KWERT9 = wa_final-KWERT9 * -1. wa_final-total = wa_final-total * -1. modify it_final from wa_final index idx. endif. read table it_vbrp1 into wa_vbrp1 with key vbeln = wa_final-vbeln. if sy-subrc ne 0. delete it_final index idx. CONTINUE. endif. endif. clear: wa_final, endloop. wa_vbrk , idx.

CLEAR: WA_VBRP, WA_FINAL, FLAG , IDX. endif. if details = 'X'. PERFORM FILLDATA. ENDIF. endform. " SELECT_DATA form filldata. loop at it_vbrp into wa_vbrp. WA_FINAL-VBELN = WA_VBRP-VBELN.

WA_FINAL-MATNR = WA_FINAL-ARKTX =

WA_VBRP-MATNR. WA_VBRP-ARKTX.

WA_FINAL-POSNR = WA_VBRP-POSNR. WA_FINAL-VGBEL = WA_VBRP-VGBEL.

WA_FINAL-AUBEL = WA_VBRP-AUBEL. * WA_FINAL-ERDAT = WA_VBRP-ERDAT. WA_FINAL-FKIMG = WA_VBRP-FKIMG. * WA_FINAL-TEXT1 = WA_VBRP-TEXT1. concatenate wa_VBRP-MATNR+7(4) '-' wa_VBRP-MATNR+11(4) '-' wa_VBRPMATNR+15(3) into wa_final-matnr.

read table it_vbrk into wa_vbrk with key vbeln = wa_VBRP-vbeln.. if sy-subrc = 0. wa_final-fkdat = wa_vbrk-fkdat. WA_FINAL-ERDAT = WA_VBRK-ERDAT. wa_final-knumv = wa_vbrk-knumv. WA_FINAL-KUNNR = WA_VBRK-KUNAG. * modify it_final from wa_final index idx1. endif.

* APPEND WA_FINAL TO IT_FINAL. CLEAR : WA_FINAL , WA_VBRp ,wa_vbrk. ENDLOOP.

********************************************************* sort it_final by vbeln posnr. loop at it_final into wa_final. idx1 = sy-tabix. read table it_kNA1 into wa_kNA1 with key kUNNR = wa_FINAL-kUNNR. IF SY-SUBRC = 0. WA_FINAL-NAME1 = WA_KNA1-NAME1. ENDIF.

*READ TABLE it_konv into wa_konv WITH KEY knumv = wa_final-knumv. " KPOSN = wa_finaL-POSNR. loop at it_konv into wa_konv where knumv = wa_final-knumv and KPOSN = wa_fi naL-POSNR. IF SY-SUBRC = 0. if wa_konv-kschl = 'PR00'. * wa_final-KWERT = wa_KONV-Kwert. wa_FINAL-Kbetr = wa_KONV-Kbetr. wa_FINAL-BAMNT = ( wa_FINAL-KBETR ) * ( wa_FINAL-FKIMG ). wa_final-KWERT = wa_final-KWERT + wa_FINAL-BAMNT.

wa_konv-KWERT1 =

wa_konv-KWERT + WA_KONV-KWERT.

endif.

if wa_konv-kschl = 'ZTTR'."CONDITION FOR DISCOUNT wa_FINAL-KWERT1 = wa_KONV-Kwert. elseIF wa_konv-kschl = 'ZRST'. "CONDITION FOR DISCOUNT wa_FINAL-KWERT2 = wa_KONV-Kwert. ENDIF. wa_FINAL-DTOT = IF wa_FINAL-KWERT2.

wa_konv-kschl = 'HD00'."CONDITION FOR FOROW CHARGES wa_FINAL-KWERT3 = wa_KONV-Kwert.

elseIF wa_konv-kschl = 'JIVC'."CONDITION FOR SALES TAXES wa_FINAL-KWERT4 = wa_KONV-Kwert. ELSEIF wa_konv-kschl = 'JCSR'."CONDITION FOR SALES TAXES wa_FINAL-KWERT5 = wa_KONV-Kwert. elseIF wa_KONV-kschl = WA_FINAL-KWERT6 elseIF wa_KONV-kschl = WA_FINAL-KWERT7

'JLST'."CONDITION FOR SALES TAXES = wa_KONV-Kwert. 'JLSR'."CONDITION FOR SALES TAXES = wa_KONV-Kwert.

endif. if wa_KONV-kschl = 'JIVP'."CONDITION FOR SALES TAXES WA_FINAL-KWERT8 = wa_KONV-Kwert. ENDIF. WA_FINAL-STTOT = WA_FINAL-KWERT4 + WA_FINAL-KWERT5 + WA_FINAL-KWERT6 + W A_FINAL-KWERT7 + WA_FINAL-KWERT8 .

IF wa_KONV-kschl = 'VPRS'. "CONDITION FOR MATERIAL COST WA_FINAL-KWERT9 = wa_KONV-Kwert. endif. WA_FINAL-TOTAL = wa_final-KWERT WA_FINAL-DTOT + wa_final-KWERT3 + WA_FI

NAL-STTOT. ENDIF. endloop. READ TABLE IT_T007S INTO WA_T007S WITH KEY MWSKZ = WA_KONV-MWSK1. IF SY-SUBRC = 0. WA_FINAL-TEXT1 = WA_T007S-TEXT1. ENDIF. modify it_final from wa_final index idx1. " transporting kschl kwert. CLEAR:WA_FINAL, WA_T007S, WA_KONV, wa_vbrp,idx1. endloop. loop at it_final into wa_final. idx1 = sy-tabix. read table it_vbrk into wa_vbrk with key vbeln = wa_final-vbeln. if sy-subrc = 0. if wa_vbrk-fkart = 'S1'. wa_final-KWERT = wa_final-KWERT * -1. wa_final-KWERT3 = wa_final-KWERT3 * -1. wa_final-total = wa_final-total * -1. wa_final-dtot = wa_final-dtot * -1. wa_final-sttot = wa_final-sttot * -1. modify it_final from wa_final index idx1. endif. read table it_vbrp1 into wa_vbrp1 with key vbeln = wa_final-vbeln. if sy-subrc ne 0. delete it_final index idx1. CONTINUE. endif. endif. clear: wa_final, endloop. endform. wa_vbrk , idx1.

*&---------------------------------------------------------------------* *& Include ZSELECTHEADER *&---------------------------------------------------------------------* *INCLUDE ZSELECTDATA. *perform READ_TEXT. *perform create_fieldcat. *perform ALV_DISPLAY.

form CREATE_FIELDCAT .

DATA: pos TYPE i VALUE 0.

CLEAR W_FCAT. pos = pos + 1. W_FCAT-col_pos W_FCAT-FIELDNAME W_FCAT-SELTEXT_M W_FCAT-OUTPUTLEN APPEND W_FCAT TO CLEAR W_FCAT. pos = pos + 1. W_FCAT-col_pos W_FCAT-FIELDNAME W_FCAT-SELTEXT_M W_FCAT-OUTPUTLEN APPEND W_FCAT TO CLEAR W_FCAT. pos = pos + 1. W_FCAT-col_pos W_FCAT-FIELDNAME W_FCAT-SELTEXT_M W_FCAT-OUTPUTLEN APPEND W_FCAT TO CLEAR W_FCAT. pos = pos + 1. W_FCAT-col_pos W_FCAT-FIELDNAME W_FCAT-SELTEXT_M W_FCAT-OUTPUTLEN APPEND W_FCAT TO CLEAR W_FCAT.

= pos. = 'ERDAT'. = 'Date'. = 10. I_FCAT.

= pos. = 'VGBEL'. = 'Delivery No.'. = 10. I_FCAT.

= pos. = 'NAME1'. = 'Customer Name'. = 10. I_FCAT.

= pos. = 'VBELN'. = 'Invoice No.'. = 10. I_FCAT.

pos = pos + 1. W_FCAT-col_pos = pos. W_FCAT-FIELDNAME = 'AUBEL'. W_FCAT-SELTEXT_M = 'Order No.'. W_FCAT-OUTPUTLEN = 10. W_FCAT-no_out = 'X'. APPEND W_FCAT TO I_FCAT. CLEAR W_FCAT.

* * * pos = pos + 1. W_FCAT-col_pos

pos.

* * ** * * *

W_FCAT-FIELDNAME W_FCAT-SELTEXT_M W_FCAT-DO_SUM W_FCAT-OUTPUTLEN APPEND W_FCAT TO CLEAR: W_FCAT ,

= 'FKIMG'. = 'Quantity'. = 'X'. = 15. I_FCAT. pos.

pos = pos + 1. W_FCAT-col_pos W_FCAT-FIELDNAME W_FCAT-SELTEXT_M * W_FCAT-DO_SUM W_FCAT-OUTPUTLEN APPEND W_FCAT TO CLEAR W_FCAT.

= pos. = 'KWERT'. = 'Gr.Amt.'. = 'X'. = 15. I_FCAT.

pos = pos + 1. W_FCAT-col_pos = pos. W_FCAT-FIELDNAME = 'TOTAL'. * W_FCAT-ref_tabname = 'IT_FINAL'. W_FCAT-SELTEXT_M = 'Net Amount.'. * W_FCAT-DO_SUM = 'X'. W_FCAT-OUTPUTLEN = 15. APPEND W_FCAT TO I_FCAT. CLEAR W_FCAT. pos = pos + 1. W_FCAT-col_pos = pos. W_FCAT-FIELDNAME = 'ZZHINW'. * W_FCAT-ref_tabname = 'IT_FINAL'. W_FCAT-SELTEXT_M = 'Insurance'. * W_FCAT-DO_SUM = 'X'. W_FCAT-OUTPUTLEN = 15. APPEND W_FCAT TO I_FCAT. CLEAR W_FCAT. pos = pos + 1. W_FCAT-col_pos = pos. W_FCAT-FIELDNAME = 'TXT1'. * W_FCAT-ref_tabname = 'IT_FINAL'. W_FCAT-SELTEXT_M = 'Mode of Desp.'. * W_FCAT-DO_SUM = 'X'. W_FCAT-OUTPUTLEN = 50. APPEND W_FCAT TO I_FCAT. CLEAR W_FCAT. pos = pos + 1. W_FCAT-col_pos

pos.

W_FCAT-FIELDNAME = 'TXT2'. W_FCAT-ref_tabname = 'IT_FINAL'. W_FCAT-SELTEXT_M = 'Goods Recd. By'. * W_FCAT-DO_SUM = 'X'. W_FCAT-OUTPUTLEN = 50. APPEND W_FCAT TO I_FCAT. CLEAR W_FCAT. * pos = pos + 1. W_FCAT-col_pos = pos. W_FCAT-FIELDNAME = 'TXT3'. * W_FCAT-ref_tabname = 'IT_FINAL'. W_FCAT-SELTEXT_M = 'POD Date'. * W_FCAT-DO_SUM = 'X'. W_FCAT-OUTPUTLEN = 15. APPEND W_FCAT TO I_FCAT. CLEAR W_FCAT. pos = pos + 1. W_FCAT-col_pos = pos. W_FCAT-FIELDNAME = 'KWERT9'. * W_FCAT-ref_tabname = 'IT_FINAL'. W_FCAT-SELTEXT_M = 'Wtd.Avg.Rate'. * W_FCAT-DO_SUM = 'X'. W_FCAT-OUTPUTLEN = 15. APPEND W_FCAT TO I_FCAT. CLEAR W_FCAT.

endform. " CREATE_FIELDCAT *&---------------------------------------------------------------------* *& Form ALV_DISPLAY *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* form ALV_DISPLAY . CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING * I_INTERFACE_CHECK = ' ' * I_BYPASSING_BUFFER = ' ' * I_BUFFER_ACTIVE = ' ' I_CALLBACK_PROGRAM = D_REPID * I_CALLBACK_PF_STATUS_SET = ' ' * I_CALLBACK_USER_COMMAND = ' ' * I_CALLBACK_TOP_OF_PAGE = ' ' I_CALLBACK_HTML_TOP_OF_PAGE = 'HTML_TOP_OF_PAGE ' * I_CALLBACK_HTML_END_OF_LIST = ' ' * I_STRUCTURE_NAME =

* * * * * * * * *

* * * * * * * * * * * * * * * * * * *

* * *

* *

I_BACKGROUND_ID = ' ' I_GRID_TITLE = I_GRID_SETTINGS = IS_LAYOUT = IT_FIELDCAT = I_FCAT IT_EXCLUDING = IT_SPECIAL_GROUPS = IT_SORT = IT_FILTER = IS_SEL_HIDE = I_DEFAULT = 'X' I_SAVE = 'A' IS_VARIANT = IT_EVENTS = IT_EVENT_EXIT = IS_PRINT = IS_REPREP_ID = I_SCREEN_START_COLUMN = 0 I_SCREEN_START_LINE = 0 I_SCREEN_END_COLUMN = 0 I_SCREEN_END_LINE = 0 I_HTML_HEIGHT_TOP = 0 I_HTML_HEIGHT_END = 0 IT_ALV_GRAPHICS = IT_HYPERLINK = IT_ADD_FIELDCAT = IT_EXCEPT_QINFO = IR_SALV_FULLSCREEN_ADAPTER = IMPORTING E_EXIT_CAUSED_BY_CALLER = ES_EXIT_CAUSED_BY_USER = TABLES t_outtab = IT_FINAL EXCEPTIONS PROGRAM_ERROR = 1 OTHERS = 2 . IF sy-subrc <> 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF.

endform. " ALV_DISPLAY *&---------------------------------------------------------------------* *& Form READ_TEXT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* form READ_TEXT .

tables:stxh. DATA: tline TYPE STANDARD TABLE OF tline. DATA: wline TYPE tline. DATA: tname TYPE thead-tdname. CLEAR : wline, tname. REFRESH: tline[]. DATA: ID TYPE THEAD-TDID, ID1 TYPE THEAD-TDID, ID2 TYPE THEAD-TDID, ID3 TYPE THEAD-TDID. TYPES: BEGIN OF TY_STXH, TDNAME TYPE TDOBNAME, TDID TYPE TDID, END OF TY_STXH. DATA:IT_STXH TYPE STANDARD TABLE OF TY_STXH, WA_STXH TYPE TY_STXH.

DATA :TXT1 TYPE CHAR15. * ID1 = Z027. * ID2 = Z028. * ID3 = Z029. * CONCATENATE ID1 ID2 ID3 INTO ID. * LOOP AT it_FINAL INTO wa_final. select tdname tdid FROM STXH into table it_STXH for all entries in it_final where tdname = it_final-VGBEL. * append wa_stxh to it_stxh. *endloop. data idx type sy-tabix. LOOP AT it_FINAL INTO wa_final. idx = sy-tabix. * read table it_stxh into wa_stxh with key tdname = wa_final-vgbel . * if sy-subrc = 0. loop at it_stxh into wa_stxh where tdname = wa_final-vgbel . *if wa_stxh-tdid = 'Z027' or wa_stxh-tdid = 'Z029' or wa_stxh-tdid = 'Z028' . * tname = wa_final-VGBEL. * txt1 = wa_final-txt1. CALL FUNCTION 'READ_TEXT' EXPORTING CLIENT = SY-MANDT id = wa_stxh-tdid language = sy-langu name = wa_stxh-tdname object = 'VBBK' * ARCHIVE_HANDLE = 0 * LOCAL_CAT = ' '

* IMPORTING * HEADER = tables lines = TLINE EXCEPTIONS ID = 1 LANGUAGE = 2 NAME = 3 NOT_FOUND = 4 OBJECT = 5 REFERENCE_CHECK = 6 WRONG_ACCESS_TO_ARCHIVE = 7 OTHERS = 8 . IF sy-subrc <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. *endif. *loop at tline into wline. READ TABLE tline INTO wline index 1 . IF wa_stxh-tdid = 'Z027'. if sy-subrc = 0. wa_final-txt1 = wline-tdline. modify it_final from wa_final index idx transporting txt1. endif. endif. READ TABLE tline INTO wline index 1 . if wa_stxh-tdid = 'Z028'. if sy-subrc = 0. wa_final-txt2 = wline-tdline. modify it_final from wa_final index idx transporting txt2. endif. endif. READ TABLE tline INTO wline index 1 . IF wa_stxh-tdid = 'Z029'. if sy-subrc = 0. wa_final-txt3 = wline-tdline. modify it_final from wa_final index idx transporting txt3. endif. ENDIF.

endloop. clear : idx,wa_final,wa_stxh. ENDLOOP. *IF wa_final-tdid = 'Z027'. * wa_final-txt1 = wline-tdline. * ELSEIF wa_final-tdid = 'Z028'. * wa_final-txt1 = wline-tdline. *ELSEIF wa_final-tdid = 'Z029'. * wa_final-txt1 = wline-tdline.

*ENDIF. endform.

" READ_TEXT

FORM html_top_of_page USING document TYPE REF TO cl_dd_document. DATA:m1 TYPE y1 TYPE d1 TYPE S_ERDAT1 DATA:m2 TYPE y2 TYPE d2 TYPE S_ERDAT2 ERDAT, ERDAT, ERDAT, TYPE char10. ERDAT, ERDAT, ERDAT, TYPE char10.

DATA: text TYPE sdydo_text_element.

text = 'Avon ispat.'.

CALL METHOD document->add_gap EXPORTING width = 150. text = text. CALL METHOD document->add_text EXPORTING text = text sap_style = 'HEADING'. CALL METHOD document->new_line. CALL METHOD document->add_gap EXPORTING width = 225. text = 'Issue Register'. CALL METHOD document->add_text EXPORTING text = text sap_style = 'emphasis'."emphasis

CALL METHOD document->new_line. CALL METHOD document->new_line. CALL METHOD document->add_gap EXPORTING width = 200. text = 'Period:'. CALL METHOD document->add_text EXPORTING text = text

sap_style = 'Strong'. CALL METHOD document->add_gap EXPORTING width = 10. y1 = m1 = d1 = * CONCATENATE d1 m1 y1 INTO S_ERDAT1 SEPARATED BY '.'. text = S_ERDAT1. * CALL METHOD document->add_text EXPORTING text = text sap_style = 'Strong'. CALL METHOD document->add_gap EXPORTING width = 10. y2 = m2 = d2 = * CONCATENATE d2 m2 y2 INTO S_ERDAT2 SEPARATED BY '.'. text = S_ERDAT2. CALL METHOD document->add_text EXPORTING text = text sap_style = 'Strong'. ENDFORM. "html_top_of_page S_ERDAT-high+0(4). S_ERDAT-high+4(2). S_ERDAT-high+6(2). S_ERDAT-low+0(4). S_ERDAT-low+4(2). S_ERDAT-low+6(2).

*&---------------------------------------------------------------------* *& Include ZSELECTDETAILS *&---------------------------------------------------------------------* *INCLUDE ZSELECTDATA. *perform select_data. *perform create_fieldcat1. *&---------------------------------------------------------------------* *& Form CREATE_FIELDCAT1 *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* form CREATE_FIELDCAT1 .

DATA: pos TYPE i VALUE 0. * CLEAR W_FCAT. pos = pos + 1. W_FCAT1-col_pos = pos. W_FCAT1-FIELDNAME = 'POSNR'. W_FCAT1-SELTEXT_M = 'Item No.'. * W_FCAT1-ref_tabname = 'IT_FINAL1'. W_FCAT1-OUTPUTLEN = 18. APPEND W_FCAT1 TO I_FCAT1. CLEAR W_FCAT1.

pos = pos + 1. W_FCAT1-col_pos W_FCAT1-FIELDNAME W_FCAT1-SELTEXT_M W_FCAT1-OUTPUTLEN APPEND W_FCAT1 TO CLEAR W_FCAT1. pos = pos + 1. W_FCAT1-col_pos W_FCAT1-FIELDNAME W_FCAT1-SELTEXT_M W_FCAT1-OUTPUTLEN APPEND W_FCAT1 TO CLEAR W_FCAT1. pos = pos + 1. W_FCAT1-col_pos W_FCAT1-FIELDNAME W_FCAT1-SELTEXT_M W_FCAT1-OUTPUTLEN APPEND W_FCAT1 TO CLEAR W_FCAT1. pos = pos + 1. W_FCAT1-col_pos W_FCAT1-FIELDNAME W_FCAT1-SELTEXT_M W_FCAT1-OUTPUTLEN APPEND W_FCAT1 TO CLEAR W_FCAT1.

= pos. = 'ERDAT'. = 'Date'. = 10. I_FCAT1.

= pos. = 'VGBEL'. = 'Delivery No.'. = 10. I_FCAT1.

= pos. = 'NAME1'. = 'Customer Name'. = 10. I_FCAT1.

= pos. = 'VBELN'. = 'Invoice No.'. = 10. I_FCAT1.

pos = pos + 1.

W_FCAT1-col_pos W_FCAT1-FIELDNAME W_FCAT1-SELTEXT_M * W_FCAT-DO_SUM W_FCAT1-OUTPUTLEN APPEND W_FCAT1 TO CLEAR W_FCAT1.

= pos. = 'KWERT'. = 'Gr.Amt.'. = 'X'. = 15. I_FCAT1.

pos = pos + 1. W_FCAT1-col_pos = pos. W_FCAT1-FIELDNAME = 'DTOT'. W_FCAT1-SELTEXT_M = 'Discount'. * W_FCAT1-ref_tabname = 'IT_FINAL'. * W_FCAT-DO_SUM = 'X'. W_FCAT1-OUTPUTLEN = 15. APPEND W_FCAT1 TO I_FCAT1. CLEAR W_FCAT1. pos = pos + 1. W_FCAT1-col_pos W_FCAT1-FIELDNAME W_FCAT1-SELTEXT_M * W_FCAT-DO_SUM W_FCAT1-OUTPUTLEN APPEND W_FCAT1 TO CLEAR W_FCAT1.

= pos. = 'KWERT3'. = 'Forw.Chg'. = 'X'. = 15. I_FCAT1.

pos = pos + 1. W_FCAT1-col_pos = pos. W_FCAT1-FIELDNAME = 'STTOT'. W_FCAT1-SELTEXT_M = 'Sales Tax'. * W_FCAT1-ref_tabname = 'IT_FINAL'. * W_FCAT-DO_SUM = 'X'. W_FCAT1-OUTPUTLEN = 15. APPEND W_FCAT1 TO I_FCAT1. CLEAR W_FCAT1. *pos = pos + 1. * W_FCAT-col_pos * W_FCAT-FIELDNAME * W_FCAT-SELTEXT_M ** W_FCAT-DO_SUM * W_FCAT-OUTPUTLEN * APPEND W_FCAT TO * CLEAR W_FCAT.

= pos. = 'KWERT'. = 'Other Exp..'. = 'X'. = 15. I_FCAT.

pos = pos + 1. W_FCAT1-col_pos = pos. W_FCAT1-FIELDNAME = 'TOTAL'. * W_FCAT1-ref_tabname = 'IT_FINAL'. W_FCAT1-SELTEXT_M = 'Net Amount.'. * W_FCAT-DO_SUM = 'X'.

W_FCAT1-OUTPUTLEN = 15. APPEND W_FCAT1 TO I_FCAT1. CLEAR W_FCAT1.

pos = pos + 1. W_FCAT1-col_pos W_FCAT1-FIELDNAME W_FCAT1-SELTEXT_M W_FCAT1-OUTPUTLEN APPEND W_FCAT1 TO CLEAR W_FCAT1.

= pos. = 'TEXT1'. = 'Sale Against Form'. = 20. I_FCAT1.

pos = pos + 1. W_FCAT1-col_pos = pos. W_FCAT1-FIELDNAME = 'MATNR'. * W_FCAT1-INTTYPE = 'CHAR'. W_FCAT1-SELTEXT_M = 'Item Code'. * W_FCAT1-ref_tabname = 'IT_FINAL'. W_FCAT1-OUTPUTLEN = 18. APPEND W_FCAT1 TO I_FCAT1. CLEAR W_FCAT1.

pos = pos + 1. W_FCAT1-col_pos = pos. W_FCAT1-FIELDNAME = 'ARKTX'. W_FCAT1-SELTEXT_M = 'Item Description'. * W_FCAT1-ref_tabname = 'IT_FINAL'. W_FCAT1-OUTPUTLEN = 18. APPEND W_FCAT1 TO I_FCAT1. CLEAR W_FCAT1.

pos = pos + 1. W_FCAT1-col_pos W_FCAT1-FIELDNAME W_FCAT1-SELTEXT_M * W_FCAT-DO_SUM W_FCAT1-OUTPUTLEN APPEND W_FCAT1 TO CLEAR: W_FCAT1 ,

= pos. = 'FKIMG'. = 'Quantity'. = 'X'. = 15. I_FCAT1. pos.

pos = pos + 1. W_FCAT1-col_pos = pos. W_FCAT1-FIELDNAME = 'KBETR'. W_FCAT1-SELTEXT_M = 'Rate'. * W_FCAT1-ref_tabname = 'IT_FINAL'.

W_FCAT-DO_SUM = 'X'. W_FCAT-OUTPUTLEN = 15. APPEND W_FCAT1 TO I_FCAT1. CLEAR: W_FCAT1 , pos.

pos = pos + 1. W_FCAT1-col_pos W_FCAT1-FIELDNAME W_FCAT1-SELTEXT_M * W_FCAT-DO_SUM W_FCAT1-OUTPUTLEN APPEND W_FCAT1 TO CLEAR: W_FCAT1 ,

= pos. = 'BAMNT'. = 'Amount'."Rate* Quan = 'X'. = 15. I_FCAT1. pos.

endform. form ALV_DISPLAY1.

" CREATE_FIELDCAT1

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING * I_INTERFACE_CHECK = ' ' * I_BYPASSING_BUFFER = ' ' * I_BUFFER_ACTIVE = ' ' I_CALLBACK_PROGRAM = D_REPID * I_CALLBACK_PF_STATUS_SET = ' ' * I_CALLBACK_USER_COMMAND = ' ' * I_CALLBACK_TOP_OF_PAGE = ' ' I_CALLBACK_HTML_TOP_OF_PAGE = 'HTML_TOP_OF_PAGE1 ' * I_CALLBACK_HTML_END_OF_LIST = ' ' * I_STRUCTURE_NAME = * I_BACKGROUND_ID = ' ' * I_GRID_TITLE = * I_GRID_SETTINGS = * IS_LAYOUT = IT_FIELDCAT = I_FCAT1 * IT_EXCLUDING = * IT_SPECIAL_GROUPS = * IT_SORT = * IT_FILTER = * IS_SEL_HIDE = I_DEFAULT = 'X' I_SAVE = 'A' * IS_VARIANT = * IT_EVENTS = * IT_EVENT_EXIT = * IS_PRINT = * IS_REPREP_ID = * I_SCREEN_START_COLUMN = 0

* * * * * * * * * * * * *

I_SCREEN_START_LINE I_SCREEN_END_COLUMN I_SCREEN_END_LINE I_HTML_HEIGHT_TOP I_HTML_HEIGHT_END IT_ALV_GRAPHICS IT_HYPERLINK IT_ADD_FIELDCAT IT_EXCEPT_QINFO IR_SALV_FULLSCREEN_ADAPTER IMPORTING E_EXIT_CAUSED_BY_CALLER ES_EXIT_CAUSED_BY_USER TABLES t_outtab

= = = = = = = = = = = =

0 0 0 0 0

= IT_FINAL

* * *

EXCEPTIONS PROGRAM_ERROR = 1 OTHERS = 2 . IF sy-subrc <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF.

ENDFORM. FORM html_top_of_page1 USING document TYPE REF TO cl_dd_document. DATA:m1 TYPE y1 TYPE d1 TYPE S_ERDAT1 DATA:m2 TYPE y2 TYPE d2 TYPE S_ERDAT2 ERDAT, ERDAT, ERDAT, TYPE char10. ERDAT, ERDAT, ERDAT, TYPE char10.

DATA: text TYPE sdydo_text_element.

text = ' India Pvt.Ltd.'.

CALL METHOD document->add_gap EXPORTING width = 150. text = text. CALL METHOD document->add_text

EXPORTING text = text sap_style = 'HEADING'. CALL METHOD document->new_line. CALL METHOD document->add_gap EXPORTING width = 225. text = 'Issue Register'. CALL METHOD document->add_text EXPORTING text = text sap_style = 'BOLD'."strong CALL METHOD document->new_line. CALL METHOD document->new_line. CALL METHOD document->add_gap EXPORTING width = 200. text = 'Period:'. CALL METHOD document->add_text EXPORTING text = text sap_style = 'Strong'."strong CALL METHOD document->add_gap EXPORTING width = 10. y1 = m1 = d1 = * CONCATENATE d1 m1 y1 INTO S_ERDAT1 SEPARATED BY '.'. text = S_ERDAT1. * CALL METHOD document->add_text EXPORTING text = text sap_style = 'Strong'. CALL METHOD document->add_gap EXPORTING width = 10. y2 = m2 = d2 = * CONCATENATE d2 m2 y2 INTO S_ERDAT2 SEPARATED BY '.'. S_ERDAT-high+0(4). S_ERDAT-high+4(2). S_ERDAT-high+6(2). S_ERDAT-low+0(4). S_ERDAT-low+4(2). S_ERDAT-low+6(2).

text = S_ERDAT2. CALL METHOD document->add_text EXPORTING text = text sap_style = 'Strong'. ENDFORM. "html_top_of_page

You might also like