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

Hi

Former Member
0 Likes
890

Hi,

I want to write a program where

i want

Customer number bame sales order number, item number matno, quantity netprice, net value.

At the end of each customer i want the net vlaue of all the sales orders that was billed on him. Like wise i want for all customers

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
859

Hi

See this sample report

Sort the ITAB by KUNNR.

in the last Loop..endloop. use the commands AT new KUNNR and at end of KUNNR.use SUM.. and display NETWR..

REPORT ZVRDOC0 no standard page heading

line-size 300

line-count 50(5).

TABLES : vbak, "Sales Document Header Level

vbap, "Sales Document Header Level

kna1. "General Data in customer Master

*INTERNAL TABLE T_VBAP

DATA : Begin of t_vbap occurs 0,

vbeln like vbap-vbeln,

matnr like vbap-matnr,

posnr like vbap-posnr,

arktx like vbap-arktx,

kwmeng like vbap-kwmeng,

cmkua like vbap-cmkua,

end of t_vbap.

*INTERNAL TABLE T_TAB.

DATA : Begin of t_tab occurs 0,

vbeln like vbak-vbeln,

kunnr like vbak-kunnr,

audat like vbak-audat,

netwr like vbak-netwr,

vkorg like vbak-vkorg,

name1 like kna1-name1,

land1 like kna1-land1,

end of t_tab.

*INTERNAL TABLE T_FINAL.

DATA : Begin of t_final occurs 0,

vbeln like vbap-vbeln,

kunnr like vbak-kunnr,

matnr like vbap-matnr,

posnr like vbap-posnr,

arktx like vbap-arktx,

kwmeng like vbap-kwmeng,

cmkua like vbap-cmkua,

audat like vbak-audat,

netwr like vbak-netwr,

vkorg like vbak-vkorg,

name1 like kna1-name1,

land1 like kna1-land1,

end of t_final.

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE text-bO3.

parameters : P_kunnr like vbak-kunnr.

select-options : S_vbeln for vbak-vbeln,

S_audat for vbak-audat.

SELECTION-SCREEN END OF BLOCK B1.

start-of-selection.

select vbeln matnr posnr arktx kwmeng cmkua from vbap

into corresponding fields of table t_vbap where vbeln in S_vbeln .

IF sy-subrc EQ 0.

select vbakkunnr vbakvbeln vbakaudat vbaknetwr vbak~vkorg

kna1name1 kna1land1 into table t_Tab from

vbak join kna1 on kna1kunnr = vbakkunnr

FOR ALL ENTRIES IN t_vbap

where vbak~vbeln = t_vbap-Vbeln and

vbak~kunnr = p_kunnr and

vbak~audat in S_audat .

ENDIF.

*end-of-selection.

loop at t_vbap.

read table t_tab with key vbeln = t_vbap-vbeln.

move :

t_vbap-vbeln to t_final-vbeln,

t_vbap-matnr to t_final-matnr,

t_vbap-posnr to t_final-posnr,

t_vbap-arktx to t_final-arktx,

t_vbap-kwmeng to t_final-kwmeng,

t_vbap-cmkua to t_final-cmkua,

t_tab-kunnr to t_final-kunnr,

t_tab-audat to t_final-audat,

t_tab-netwr to t_final-netwr,

t_tab-vkorg to t_final-vkorg,

t_tab-name1 to t_final-name1,

t_tab-land1 to t_final-land1.

append t_final.

clear t_Final.

endloop.

sort t_Final by vbeln Kunnr matnr posnr .

loop at t_final.

at new vbeln.

write : /1 SY-VLINE, 2 t_final-vbeln color 5 inverse.

ULINE /1(250).

endat.

write : /1 SY-VLINE, 2 t_final-vbeln color 5 inverse,

20 SY-VLINE, 21 t_final-posnr color 5 inverse,

40 SY-VLINE, 41 t_final-matnr color 5 inverse,

60 SY-VLINE, 61 t_final-arktx color 4 inverse,

80 SY-VLINE, 81 t_final-kwmeng color 4 inverse,

100 SY-VLINE, 101 t_final-cmkua color 4 inverse,

120 SY-VLINE, 121 t_final-kunnr color 3 inverse,

140 SY-VLINE, 141 t_final-audat color 3 inverse,

160 SY-VLINE, 161 t_final-netwr color 2 inverse,

180 SY-VLINE, 181 t_final-vkorg color 2 inverse,

210 SY-VLINE, 211 t_final-name1 color 1 inverse,

230 SY-VLINE, 231 t_final-land1 color 1 inverse,

250 SY-VLINE.

at end of vbeln.

sum.

ULINE /1(250).

write: /60 SY-VLINE, 'Total' ,

81 t_final-kwmeng color 4 inverse ,100 SY-VLINE,

101 t_final-cmkua color 4 inverse,120 SY-VLINE.

ULINE /1(250).

endat.

at last.

SKIP 2.

sum.

ULINE /1(250).

write: /1 SY-VLINE, 60 SY-VLINE, 'Grand Total' ,

81 t_final-kwmeng color 4 inverse , 100 SY-VLINE ,

101 t_final-cmkua color 4 inverse,120 SY-VLINE.

ULINE /1(250).

endat.

endloop.

TOP-OF-PAGE.

ULINE /50(24).

WRITE : /50 SY-VLINE , 52 'SALES ORDER DETAILS' COLOR 5,

73 SY-VLINE.

ULINE /50(24).

ULINE .

WRITE: /10 'CURRENT DATE :', 25 SY-DATUM COLOR 1 INVERSE,

100 'CURRENT TIME :', 115 SY-UZEIT color 5 INVERSE.

WRITE: /10 'USERNAME :', 25 SY-UNAME COLOR 1 INVERSE,

100 'PAGE NO :', 113 SY-PAGNO COLOR 5 INVERSE.

WRITE: /10 'LOGON CLIENT :', 25 SY-MANDT COLOR 1 INVERSE,

100 'COLON N0 :', 114 SY-COLNO COLOR 5 INVERSE.

WRITE: /10 'CURRENT REPROT:', 25 SY-REPID COLOR 1 INVERSE,

100 'LANGUAGE :', 116 SY-LANGU COLOR 5 INVERSE.

ULINE.

ULINE /1(250).

write : /1 SY-VLINE, 2 'SALES DOC NO' color 6 inverse,

20 SY-VLINE, 21 'SALES DOC ITEM' color 6 inverse,

40 SY-VLINE,41 'MATERIAL NO' color 6 inverse,

60 SY-VLINE, 61 'SHORT SALES TEXT' color 6 inverse,

80 SY-VLINE, 81 'CUMM ORDER SALES' color 6 inverse,

100 SY-VLINE, 101 'CREDIT DATA' color 6 inverse,

120 SY-VLINE, 121 'CUSTOMER NO' color 6 inverse,

140 SY-VLINE, 141 'DOC DATE' color 6 inverse,

160 SY-VLINE, 161 'NET VALUE SALES' color 6 inverse,

180 SY-VLINE, 181 'SALES ORG' color 6 inverse,

210 SY-VLINE, 211 'CUSTOMER NAME' color 6 inverse,

230 SY-VLINE, 231 'CUSTOMER CONTY' color 6 inverse,

250 SY-VLINE.

ULINE /1(250).

END-OF-PAGE.

ULINE.

WRITE: /45 ' THIS IS END OF PAGE FOR SALES DOCUMENT DETAILS'

COLOR 6 .

<b>Reward points for useful Answers</b>

Regards

Anji

Hi,

I want to write a program where

i want

Customer number bame sales order number, item number matno, quantity netprice, net value.

At the end of each customer i want the net vlaue of all the sales orders that was billed on him. Like wise i want for all customers

5 REPLIES 5
Read only

Former Member
0 Likes
859

loop at itab.

l_netwr = l_netwr + itab-netwr.

at end of custno.

Read table itab where custno = itab-custno.

move-corresponding itab to itab1.

itab1-netwr = l_netwr.

Append itab1.

endat.

endloop.

Message was edited by:

Sumi Vasu

Read only

Former Member
0 Likes
859

Hello ram,

Check this program and <b>reward if found helpfull</b>.

Regards,

Rakesh.


*Report program for delivery details*

*Tables used: lips,
*             likp,
*             kna1.

REPORT  zsr_delivery_dtls NO STANDARD PAGE HEADING
                          MESSAGE-ID zivltcsr
                          LINE-SIZE 200 LINE-COUNT 35(3).


*Data declaration*

TABLES:likp,
       lips.

TYPES: BEGIN OF st_del,
         name1 TYPE kna1-name1,                             "Customer name1
         docno TYPE lips-vgbel,                             "Document number
         itmno TYPE lips-vgpos,                             "Item number
         matxt TYPE lips-mtart,                             "Material text
         name2 TYPE kna1-name2,                             "Customer name2
         salor TYPE likp-vkorg,                             "Sales organization
         qnty  TYPE lips-ntgew,                             "Quantity
         unit  TYPE lips-gewei,                             "Unit
         plant TYPE lips-werks,                             "Plant
         inct1 TYPE likp-inco1,                             "Incoterms1
         inct2 TYPE likp-inco2,                             "incoterms2
       END OF st_del.

DATA:wa_del TYPE st_del,
     wa_log TYPE zsr_del_login,
     it_del TYPE TABLE OF st_del,
     sysubrc TYPE sy-subrc.




*Selection screen for interactive input*

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS:so_date  FOR likp-lfdat,                          "Delivery date
               so_shppt FOR likp-vstel,                          "Shipping point
               so_matnr FOR lips-matnr.                          "Material number
SELECTION-SCREEN END OF BLOCK b1.




TOP-OF-PAGE.                    "Header

  WRITE:/,(15) text-002,(15) text-003,(15) text-004,
          (25) text-005,(20) text-006,(15) text-007,
          (15) text-008,(15) text-009, (15) text-010,
          (15) text-011,(15) text-012.
  ULINE.

END-OF-PAGE.                     "Footer
  SKIP.
  WRITE:'End of page ',sy-pagno LEFT-JUSTIFIED.
  ULINE.


START-OF-SELECTION.



*Retreiving data from database*

*Join details: lips = a
*              likp = b
*              kna1 = c

  SELECT c~name1 a~vgbel a~vgpos a~mtart c~name2
         b~vkorg a~ntgew a~gewei a~werks
         b~inco1 b~inco2

         INTO TABLE it_del
         FROM ( ( lips AS a

         INNER JOIN likp AS b ON a~vbeln = b~vbeln )
         INNER JOIN kna1 AS c ON c~kunnr = b~kunnr )

         WHERE b~lfdat IN so_date
         AND   b~vstel IN so_shppt
         AND   a~matnr IN so_matnr.

  IF sy-subrc NE 0.
    sysubrc = 1.
  ELSE.
    sysubrc = 0.

* uploading login data to login table

    wa_log-usernam    = sy-uname.
    wa_log-lgdate     = sy-datum.
    wa_log-lgtime     = sy-uzeit.
    wa_log-reccnt     = sy-dbcnt.
    wa_log-deldatelo  = so_date-low.
    wa_log-deldatehg  = so_date-high.
    wa_log-shppntlo   = so_shppt-low.
    wa_log-shppnthg   = so_shppt-high.
    wa_log-materiallo = so_matnr-low.
    wa_log-materialhg = so_matnr-high.

    INSERT INTO zsr_del_login VALUES wa_log.

  ENDIF.

END-OF-SELECTION.


*List output logic follows*
*_________________________________________________________________________________________*

  IF sysubrc NE 0.                              "Error message display if no match found
    MESSAGE i000.

  ELSE.                                          "Display logic if match occured with input

*Sorting internal table by name*

    SORT it_del BY name1.


*Displayig data from internal table*

    LOOP AT it_del INTO wa_del.

      WRITE:/  wa_del-docno UNDER text-002,                                       "Document number
               wa_del-itmno UNDER text-003,                                       "Item number
               wa_del-matxt UNDER text-004,                                       "Material text
               wa_del-name1 UNDER text-005,                                       "Customer name1
               wa_del-name2 UNDER text-006,                                       "Customer name2
               wa_del-salor UNDER text-007,                                       "Sales organization
               wa_del-qnty  UNDER text-008 LEFT-JUSTIFIED UNIT wa_del-unit  ,     "Quantity
               wa_del-unit  UNDER text-009,                                       "Unit
               wa_del-plant UNDER text-010,                                       "Plant
               wa_del-inct1 UNDER text-011,                 "Incoterms1
               wa_del-inct2 UNDER text-012.                 "incoterms2

      AT END OF name1.                                       "Calculating total quantity for each customer
        SUM.
        SKIP.
        WRITE: 'Total quantity = ',wa_del-qnty LEFT-JUSTIFIED  UNIT wa_del-unit.
        WRITE: wa_del-unit.
        SKIP.
      ENDAT.

    ENDLOOP.
    ULINE.




  ENDIF.        "End of if sy-subrc ne 0.

Read only

Former Member
0 Likes
859

hi,

for this requirement u can use control brake statements,

check the smaple code,

sort g_tab by matnr.

loop at g_tab into g_wa.

at first.

write: 'plant quantity details'.

endat.

on change of g_wa-werks.

write:/ 'Plant:', g_wa-werks.

endon.

write: / g_wa-matnr,

g_wa-basmg.

at end of matnr.

sum.

write:/ 'total amount:', g_wa-basmg.

endat.

endloop.

regards,

seshu.

Read only

Former Member
0 Likes
860

Hi

See this sample report

Sort the ITAB by KUNNR.

in the last Loop..endloop. use the commands AT new KUNNR and at end of KUNNR.use SUM.. and display NETWR..

REPORT ZVRDOC0 no standard page heading

line-size 300

line-count 50(5).

TABLES : vbak, "Sales Document Header Level

vbap, "Sales Document Header Level

kna1. "General Data in customer Master

*INTERNAL TABLE T_VBAP

DATA : Begin of t_vbap occurs 0,

vbeln like vbap-vbeln,

matnr like vbap-matnr,

posnr like vbap-posnr,

arktx like vbap-arktx,

kwmeng like vbap-kwmeng,

cmkua like vbap-cmkua,

end of t_vbap.

*INTERNAL TABLE T_TAB.

DATA : Begin of t_tab occurs 0,

vbeln like vbak-vbeln,

kunnr like vbak-kunnr,

audat like vbak-audat,

netwr like vbak-netwr,

vkorg like vbak-vkorg,

name1 like kna1-name1,

land1 like kna1-land1,

end of t_tab.

*INTERNAL TABLE T_FINAL.

DATA : Begin of t_final occurs 0,

vbeln like vbap-vbeln,

kunnr like vbak-kunnr,

matnr like vbap-matnr,

posnr like vbap-posnr,

arktx like vbap-arktx,

kwmeng like vbap-kwmeng,

cmkua like vbap-cmkua,

audat like vbak-audat,

netwr like vbak-netwr,

vkorg like vbak-vkorg,

name1 like kna1-name1,

land1 like kna1-land1,

end of t_final.

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE text-bO3.

parameters : P_kunnr like vbak-kunnr.

select-options : S_vbeln for vbak-vbeln,

S_audat for vbak-audat.

SELECTION-SCREEN END OF BLOCK B1.

start-of-selection.

select vbeln matnr posnr arktx kwmeng cmkua from vbap

into corresponding fields of table t_vbap where vbeln in S_vbeln .

IF sy-subrc EQ 0.

select vbakkunnr vbakvbeln vbakaudat vbaknetwr vbak~vkorg

kna1name1 kna1land1 into table t_Tab from

vbak join kna1 on kna1kunnr = vbakkunnr

FOR ALL ENTRIES IN t_vbap

where vbak~vbeln = t_vbap-Vbeln and

vbak~kunnr = p_kunnr and

vbak~audat in S_audat .

ENDIF.

*end-of-selection.

loop at t_vbap.

read table t_tab with key vbeln = t_vbap-vbeln.

move :

t_vbap-vbeln to t_final-vbeln,

t_vbap-matnr to t_final-matnr,

t_vbap-posnr to t_final-posnr,

t_vbap-arktx to t_final-arktx,

t_vbap-kwmeng to t_final-kwmeng,

t_vbap-cmkua to t_final-cmkua,

t_tab-kunnr to t_final-kunnr,

t_tab-audat to t_final-audat,

t_tab-netwr to t_final-netwr,

t_tab-vkorg to t_final-vkorg,

t_tab-name1 to t_final-name1,

t_tab-land1 to t_final-land1.

append t_final.

clear t_Final.

endloop.

sort t_Final by vbeln Kunnr matnr posnr .

loop at t_final.

at new vbeln.

write : /1 SY-VLINE, 2 t_final-vbeln color 5 inverse.

ULINE /1(250).

endat.

write : /1 SY-VLINE, 2 t_final-vbeln color 5 inverse,

20 SY-VLINE, 21 t_final-posnr color 5 inverse,

40 SY-VLINE, 41 t_final-matnr color 5 inverse,

60 SY-VLINE, 61 t_final-arktx color 4 inverse,

80 SY-VLINE, 81 t_final-kwmeng color 4 inverse,

100 SY-VLINE, 101 t_final-cmkua color 4 inverse,

120 SY-VLINE, 121 t_final-kunnr color 3 inverse,

140 SY-VLINE, 141 t_final-audat color 3 inverse,

160 SY-VLINE, 161 t_final-netwr color 2 inverse,

180 SY-VLINE, 181 t_final-vkorg color 2 inverse,

210 SY-VLINE, 211 t_final-name1 color 1 inverse,

230 SY-VLINE, 231 t_final-land1 color 1 inverse,

250 SY-VLINE.

at end of vbeln.

sum.

ULINE /1(250).

write: /60 SY-VLINE, 'Total' ,

81 t_final-kwmeng color 4 inverse ,100 SY-VLINE,

101 t_final-cmkua color 4 inverse,120 SY-VLINE.

ULINE /1(250).

endat.

at last.

SKIP 2.

sum.

ULINE /1(250).

write: /1 SY-VLINE, 60 SY-VLINE, 'Grand Total' ,

81 t_final-kwmeng color 4 inverse , 100 SY-VLINE ,

101 t_final-cmkua color 4 inverse,120 SY-VLINE.

ULINE /1(250).

endat.

endloop.

TOP-OF-PAGE.

ULINE /50(24).

WRITE : /50 SY-VLINE , 52 'SALES ORDER DETAILS' COLOR 5,

73 SY-VLINE.

ULINE /50(24).

ULINE .

WRITE: /10 'CURRENT DATE :', 25 SY-DATUM COLOR 1 INVERSE,

100 'CURRENT TIME :', 115 SY-UZEIT color 5 INVERSE.

WRITE: /10 'USERNAME :', 25 SY-UNAME COLOR 1 INVERSE,

100 'PAGE NO :', 113 SY-PAGNO COLOR 5 INVERSE.

WRITE: /10 'LOGON CLIENT :', 25 SY-MANDT COLOR 1 INVERSE,

100 'COLON N0 :', 114 SY-COLNO COLOR 5 INVERSE.

WRITE: /10 'CURRENT REPROT:', 25 SY-REPID COLOR 1 INVERSE,

100 'LANGUAGE :', 116 SY-LANGU COLOR 5 INVERSE.

ULINE.

ULINE /1(250).

write : /1 SY-VLINE, 2 'SALES DOC NO' color 6 inverse,

20 SY-VLINE, 21 'SALES DOC ITEM' color 6 inverse,

40 SY-VLINE,41 'MATERIAL NO' color 6 inverse,

60 SY-VLINE, 61 'SHORT SALES TEXT' color 6 inverse,

80 SY-VLINE, 81 'CUMM ORDER SALES' color 6 inverse,

100 SY-VLINE, 101 'CREDIT DATA' color 6 inverse,

120 SY-VLINE, 121 'CUSTOMER NO' color 6 inverse,

140 SY-VLINE, 141 'DOC DATE' color 6 inverse,

160 SY-VLINE, 161 'NET VALUE SALES' color 6 inverse,

180 SY-VLINE, 181 'SALES ORG' color 6 inverse,

210 SY-VLINE, 211 'CUSTOMER NAME' color 6 inverse,

230 SY-VLINE, 231 'CUSTOMER CONTY' color 6 inverse,

250 SY-VLINE.

ULINE /1(250).

END-OF-PAGE.

ULINE.

WRITE: /45 ' THIS IS END OF PAGE FOR SALES DOCUMENT DETAILS'

COLOR 6 .

<b>Reward points for useful Answers</b>

Regards

Anji

Read only

Former Member
0 Likes
859

Hi

We cant fulfill your complete requirement but we will provide you guidance thats it. So in the same way for your present requirement i'll give you my coding plz check it and make modifications according to your requirement

 DATA : ED(15) TYPE N .
TABLES: EKKO, EKBE, EKPO, KONH , KONV ,LFA1 ,ESLL.
TYPE-POOLS: SLIS.

DATA: val1  like konh-vakey.



Data:GS_LAYOUT TYPE SLIS_LAYOUT_ALV,
     G_REPID LIKE SY-REPID,
     G_GRID_TITLE TYPE LVC_TITLE.

Data:G_USER_COMMAND TYPE SLIS_FORMNAME VALUE 'USER_COMMAND'.

DATA:G_TABNAME TYPE SLIS_TABNAME VALUE 'ITAB1',
G_SAVE .

DATA:GS_VARIANT LIKE DISVARIANT.
DATA:LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
DATA:GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.
     G_SAVE = 'A'.



DATA: BEGIN OF ITAB OCCURS 10,
          EBELN LIKE EKKO-EBELN,
*          LIFNR  like p_vendor,
          LIFNR LIKE EKKO-LIFNR,
          NAME1 LIKE LFA1-NAME1,
          NAME2 LIKE LFA1-NAME2,
*          EBELP LIKE EKBE-EBELP,
          BELNR LIKE EKBE-BELNR,
          VGABE LIKE EKBE-VGABE,
          GJAHR LIKE EKBE-GJAHR,
          KNUMV LIKE EKKO-KNUMV,
          EKORG LIKE EKKO-EKORG,
          BEDAT LIKE EKKO-BEDAT,
*          VAKEY LIKE KONH-VAKEY,

     END OF ITAB.

DATA: BEGIN OF ITAB1 OCCURS 10,
          NAME1 LIKE LFA1-NAME1,
          NAME2 LIKE LFA1-NAME2,
          EBELN LIKE EKPO-EBELN,
          LIFNR LIKE EKKO-LIFNR,
          EBELP LIKE EKPO-EBELP,
*          EBELP LIKE EKBE-EBELP,
          KNUMH LIKE KONH-KNUMH,
          BELNR LIKE EKBE-BELNR,
          MATNR LIKE EKPO-MATNR,
          TXZ01 LIKE EKPO-TXZ01,
          PS_PSP_PNR LIKE EKKN-PS_PSP_PNR,
          EXTROW LIKE ESLL-EXTROW,
          SRVPOS LIKE ESLL-SRVPOS,
          KTEXT1 LIKE ESLL-KTEXT1,
          KOSTL LIKE EKKN-KOSTL,
          NETPR LIKE EKPO-NETPR,
          NETWR LIKE EKPO-NETWR,
          ED1  TYPE p decimals 2,
          KBETR2 LIKE KONV-KBETR,
          KBETR1 LIKE KONV-KBETR,
          KBETR LIKE KONV-KBETR,
*          KBETR3 LIKE KONV-KBETR,
          KWERT LIKE KONV-KWERT, " THIS IS FOR FREIGHT
          KWERT1 LIKE KONV-KWERT, " THIS IS FOR PBXX OR PB00
          KWERT2 LIKE KONV-KWERT, " THIS FOR OTHER CONDITION
          MENGE LIKE EKPO-MENGE,
*          TOTAL(15) type  .
          TOTAL TYPE p decimals 2,
          VAKEY LIKE KONH-VAKEY,
          WERKS LIKE EKPO-WERKS,

          MWSKZ LIKE EKPO-MWSKZ,
          PACKNO LIKE EKPO-PACKNO,
          KNUMV LIKE KONV-KNUMV,

          SUB_PACKNO LIKE ESLL-SUB_PACKNO,



          GJAHR LIKE RSEG-GJAHR,

      END OF ITAB1.


DATA: BEGIN OF ITAB2 OCCURS 10,
         EBELN LIKE EKKN-EBELN,
         EBELP LIKE EKKN-EBELP,
         PS_PSP_PNR LIKE EKKN-PS_PSP_PNR,
         KOSTL      LIKE EKKN-KOSTL,
      END OF ITAB2.

data: begin of itab3 occurs 10,
        KNUMH LIKE KONH-KNUMH,
        KSCHL LIKE KONH-KSCHL,
     end of itab3.

data: begin of itab4 occurs 10,
        KBETR LIKE KONP-KBETR,
      end of itab4.

data: begin of itab5 occurs 10,
        KPOSN LIKE KONV-KPOSN,
        KNUMV LIKE KONV-KNUMV,
        KSCHL LIKE KONV-KSCHL,
        KBETR LIKE KONV-KBETR,
        KWERT LIKE KONV-KWERT, " THIS IS FOR FREIGHT
*          KAWRT LIKE KONV-KAWRT,

     end of itab5.
 DATA: BEGIN OF ITAB6 OCCURS 10,
*          PACKNO LIKE EKPO-PACKNO,
          SUB_PACKNO LIKE ESLL-SUB_PACKNO,
        END OF ITAB6.

 DATA: BEGIN OF ITAB7 OCCURS 10,

       BELNR LIKE RSEG-BELNR,
       GJAHR LIKE RSEG-GJAHR,

 END OF ITAB7.

 DATA: BEGIN OF ITAB8 OCCURS 10,

       SUB_PACKNO LIKE ESLL-SUB_PACKNO,
       SRVPOS LIKE ESLL-SRVPOS,
       EXTROW LIKE ESLL-EXTROW,
       KTEXT1 LIKE ESLL-KTEXT1,

 END OF ITAB8.


******************
*selection-screen
******************
*SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
*SELECTION-SCREEN SKIP 2.
*SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN COMMENT 25(23) text-002.
**SELECT-OPTIONS: s_lifnr FOR ekko-lifnr.
*PARAMETERS:p_lifnr LIKE ekko-lifnr obligatory.
*SELECTION-SCREEN END OF LINE.
*
*SELECTION-SCREEN END OF BLOCK b1.
*
START-OF-SELECTION.
  PERFORM get_data.
*  PERFORM field_catalog.
*  PERFORM display_data.

END-OF-SELECTION.

**&---------------------------------------------------------------------
**
**&      Form  display_data
**&---------------------------------------------------------------------
**
**       text
**----------------------------------------------------------------------
**
*

*
*FORM display_data.
*data: new(15) TYPE N.
*
*
*
*  CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
*    EXPORTING
*      i_callback_program = sy-repid
*      it_fieldcat        = int_cat[]
*
*    TABLES
*      t_outtab           = int_out
*    EXCEPTIONS
*      program_error      = 1
*      OTHERS             = 2.
*ENDFORM.                    "display_data





PERFORM GET_DATA.
PERFORM CALL_ALV_GRID.

FORM CALL_ALV_GRID.

PERFORM FIELDCAT_INIT USING GT_FIELDCAT[].

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_CALLBACK_PROGRAM                = G_repid


      I_CALLBACK_USER_COMMAND           = G_USER_COMMAND
      I_GRID_TITLE                      = G_GRID_TITLE
      IT_FIELDCAT                       = GT_FIELDCAT[]
      I_DEFAULT                         = 'X'
      I_SAVE                            =  G_SAVE
      IS_VARIANT                        =  Gs_VARIANT
    TABLES
      T_OUTTAB                          = ITAB1.
*
ENDFORM.

FORM FIELDCAT_INIT
       USING RT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.


  CLEAR LS_FIELDCAT.
  LS_FIELDCAT-TABNAME       = G_TABNAME.
  LS_FIELDCAT-seltext_l     = 'Vendo No'.
  LS_FIELDCAT-FIELDNAME     = 'LIFNR'.
  LS_FIELDCAT-REF_FIELDNAME = 'LIFNR'.
  LS_FIELDCAT-REF_TABNAME   = 'EKKO'.
  APPEND LS_FIELDCAT TO  RT_FIELDCAT.

*
   CLEAR LS_FIELDCAT.
  LS_FIELDCAT-TABNAME       = G_TABNAME.
  LS_FIELDCAT-SELTEXT_L  = 'Vendor Name'.
  LS_FIELDCAT-FIELDNAME     = 'NAME1'.
  LS_FIELDCAT-REF_FIELDNAME = 'NAME1'.
  LS_FIELDCAT-REF_TABNAME   = 'LFA1'.
  APPEND LS_FIELDCAT TO  RT_FIELDCAT.

* CLEAR LS_FIELDCAT.
*  LS_FIELDCAT-TABNAME       = G_TABNAME.
*  LS_FIELDCAT-FIELDNAME     = 'NAME2'.
*  LS_FIELDCAT-REF_FIELDNAME = 'NAME2'.
*  LS_FIELDCAT-REF_TABNAME   = 'LFA1'.
*  APPEND LS_FIELDCAT TO  RT_FIELDCAT.
*


  CLEAR LS_FIELDCAT.
  LS_FIELDCAT-TABNAME       = G_TABNAME.
  LS_FIELDCAT-seltext_l   = 'Purchase Document No'.
  LS_FIELDCAT-FIELDNAME     = 'EBELN'.
  LS_FIELDCAT-REF_FIELDNAME = 'EBELN'.
  LS_FIELDCAT-REF_TABNAME   = 'EKKO'.
  APPEND LS_FIELDCAT TO  RT_FIELDCAT.


*  CLEAR LS_FIELDCAT.
*  LS_FIELDCAT-TABNAME       = G_TABNAME.
*  LS_FIELDCAT-FIELDNAME     = 'VGABE'.
*  LS_FIELDCAT-REF_FIELDNAME = 'VGABE'.
*  LS_FIELDCAT-REF_TABNAME   = 'EKBE'.
*  APPEND LS_FIELDCAT TO  RT_FIELDCAT.

  CLEAR LS_FIELDCAT.
  LS_FIELDCAT-TABNAME       = G_TABNAME.
  LS_FIELDCAT-SELTEXT_L     = 'Item No'.
  LS_FIELDCAT-FIELDNAME     = 'EBELP'.
  LS_FIELDCAT-REF_FIELDNAME = 'EBELP'.
  LS_FIELDCAT-REF_TABNAME   = 'EKPO'.
  APPEND LS_FIELDCAT TO  RT_FIELDCAT.
*
*  CLEAR LS_FIELDCAT.
*  LS_FIELDCAT-TABNAME       = G_TABNAME.
*  LS_FIELDCAT-FIELDNAME     = 'BELNR'.
*  LS_FIELDCAT-REF_FIELDNAME = 'BELNR'.
*  LS_FIELDCAT-REF_TABNAME   = 'EKBE'.
*  APPEND LS_FIELDCAT TO  RT_FIELDCAT.
*

   CLEAR LS_FIELDCAT.
  LS_FIELDCAT-TABNAME       = G_TABNAME.
  LS_FIELDCAT-SELTEXT_L     = 'Document Con'.
  LS_FIELDCAT-FIELDNAME     = 'KNUMH'.
  LS_FIELDCAT-REF_FIELDNAME = 'KNUMH'.
  LS_FIELDCAT-REF_TABNAME   = 'KONH'.
  APPEND LS_FIELDCAT TO  RT_FIELDCAT.



*   CLEAR LS_FIELDCAT.
*  LS_FIELDCAT-TABNAME       = G_TABNAME.
*  LS_FIELDCAT-SELTEXT_L = 'Service/Material No'.
*  LS_FIELDCAT-FIELDNAME     = 'MATNR'.
*  LS_FIELDCAT-REF_FIELDNAME = 'MATNR'.
*  LS_FIELDCAT-REF_TABNAME   = 'EKPO'.
*  APPEND LS_FIELDCAT TO  RT_FIELDCAT.
*
*   CLEAR LS_FIELDCAT.
*  LS_FIELDCAT-TABNAME       = G_TABNAME.
*  LS_FIELDCAT-SELTEXT_L = 'Service / Material description' .
*  LS_FIELDCAT-FIELDNAME     = 'TXZ01'.
*  LS_FIELDCAT-REF_FIELDNAME = 'TXZ01'.
*  LS_FIELDCAT-REF_TABNAME   = 'EKPO'.
*  APPEND LS_FIELDCAT TO  RT_FIELDCAT.

*   CLEAR LS_FIELDCAT.
*  LS_FIELDCAT-TABNAME       = G_TABNAME.
*  LS_FIELDCAT-SELTEXT_L =  'WBS Element' .
*  LS_FIELDCAT-FIELDNAME     = 'PS_PSP_PNR'.
*  LS_FIELDCAT-REF_FIELDNAME = 'PS_PSP_PNR'.
*  LS_FIELDCAT-REF_TABNAME   = 'EKKN'.
*  APPEND LS_FIELDCAT TO  RT_FIELDCAT.
*

*
*   CLEAR LS_FIELDCAT.
*  LS_FIELDCAT-TABNAME       = G_TABNAME.
*  LS_FIELDCAT-SELTEXT_L =  'Serial Number' .
*  LS_FIELDCAT-FIELDNAME     = 'EXTROW'.
*  LS_FIELDCAT-REF_FIELDNAME = 'PACKNO'.
*  LS_FIELDCAT-REF_TABNAME   = 'ESLL'.
*  APPEND LS_FIELDCAT TO  RT_FIELDCAT.
*


*
*  CLEAR LS_FIELDCAT.
*  LS_FIELDCAT-TABNAME       = G_TABNAME.
*  LS_FIELDCAT-SELTEXT_L =  'Service Number' .
*  LS_FIELDCAT-FIELDNAME     = 'SRVPOS'.
*  LS_FIELDCAT-REF_FIELDNAME = 'SRVPOS'.
*  LS_FIELDCAT-REF_TABNAME   = 'ESLL'.
*  APPEND LS_FIELDCAT TO  RT_FIELDCAT.
*

*   CLEAR LS_FIELDCAT.
*  LS_FIELDCAT-TABNAME       = G_TABNAME.
*  LS_FIELDCAT-SELTEXT_L =  'Dscription' .
*  LS_FIELDCAT-FIELDNAME     = 'KTEXT1'.
*  LS_FIELDCAT-REF_FIELDNAME = 'KTEXT1'.
*  LS_FIELDCAT-REF_TABNAME   = 'ESLL'.
*  APPEND LS_FIELDCAT TO  RT_FIELDCAT.
*




*   CLEAR LS_FIELDCAT.
*  LS_FIELDCAT-TABNAME       = G_TABNAME.
*    LS_FIELDCAT-SELTEXT_L = 'Cost Center'.
*  LS_FIELDCAT-FIELDNAME     = 'KOSTL'.
*  LS_FIELDCAT-REF_FIELDNAME = 'KOSTL'.
*  LS_FIELDCAT-REF_TABNAME   = 'EKKN'.
*  APPEND LS_FIELDCAT TO  RT_FIELDCAT.

  CLEAR LS_FIELDCAT.
  LS_FIELDCAT-TABNAME       = G_TABNAME.
*  LS_FIELDCAT-FIELDNAME     = 'NETWR'.
  LS_FIELDCAT-FIELDNAME     = 'NETPR'.
  LS_FIELDCAT-reptext_ddic = 'Basic'.
*  LS_FIELDCAT-SELTEXT_L    = 'Basic'.
   LS_FIELDCAT-REF_FIELDNAME = 'NETPR'.
  LS_FIELDCAT-REF_TABNAME   = 'EKPO'.
  APPEND LS_FIELDCAT TO  RT_FIELDCAT.


  CLEAR LS_FIELDCAT.
  LS_FIELDCAT-TABNAME       = G_TABNAME.
  LS_FIELDCAT-FIELDNAME     = 'NETWR'.
*  LS_FIELDCAT-FIELDNAME     = 'NETPR'.
*  LS_FIELDCAT-reptext_ddic = ''.
*  LS_FIELDCAT-SELTEXT_L    = 'Basic'.
   LS_FIELDCAT-REF_FIELDNAME = 'NETWR'.
  LS_FIELDCAT-REF_TABNAME   = 'EKPO'.
  APPEND LS_FIELDCAT TO  RT_FIELDCAT.


 CLEAR LS_FIELDCAT.
  LS_FIELDCAT-TABNAME       = G_TABNAME.
    LS_FIELDCAT-SELTEXT_L = 'Excise'.
  LS_FIELDCAT-FIELDNAME     = 'ED1'.
  LS_FIELDCAT-REF_FIELDNAME = 'ED1'.
*  LS_FIELDCAT-REF_TABNAME   = 'EKKN'.
  APPEND LS_FIELDCAT TO  RT_FIELDCAT.

   CLEAR LS_FIELDCAT.
  LS_FIELDCAT-TABNAME       = G_TABNAME.
  LS_FIELDCAT-SELTEXT_L = 'Insurance'.
  LS_FIELDCAT-FIELDNAME     = 'KBETR2'.
    LS_FIELDCAT-REF_FIELDNAME = 'KBETR'.
  LS_FIELDCAT-REF_TABNAME   = 'KONV'.
  APPEND LS_FIELDCAT TO  RT_FIELDCAT.


CLEAR LS_FIELDCAT.
  LS_FIELDCAT-TABNAME       = G_TABNAME.
  LS_FIELDCAT-SELTEXT_L     = 'Frieght'.
  LS_FIELDCAT-FIELDNAME     = 'KWERT'.
  LS_FIELDCAT-REF_FIELDNAME = 'KWERT'.
  LS_FIELDCAT-REF_TABNAME   = 'KONV'.
  APPEND LS_FIELDCAT TO  RT_FIELDCAT.



*
* CLEAR LS_FIELDCAT.
*  LS_FIELDCAT-TABNAME       = G_TABNAME.
*  LS_FIELDCAT-SELTEXT_L     = '' .
*  LS_FIELDCAT-FIELDNAME     = 'KBETR1'.
*  LS_FIELDCAT-REF_FIELDNAME = 'KBETR'.
*  LS_FIELDCAT-REF_TABNAME   = 'KONV'.
*  APPEND LS_FIELDCAT TO  RT_FIELDCAT.

*CLEAR LS_FIELDCAT.
*  LS_FIELDCAT-TABNAME       = G_TABNAME.
*  LS_FIELDCAT-SELTEXT_L     = 'PBXX'.
*  LS_FIELDCAT-FIELDNAME     = 'KWERT1'.
*  LS_FIELDCAT-REF_FIELDNAME = 'KWERT'.
*  LS_FIELDCAT-REF_TABNAME   = 'KONV'.
*  APPEND LS_FIELDCAT TO  RT_FIELDCAT.



  CLEAR LS_FIELDCAT.
  LS_FIELDCAT-TABNAME       = G_TABNAME.
  LS_FIELDCAT-SELTEXT_L     = 'VAT/ST '.
  LS_FIELDCAT-FIELDNAME     = 'KBETR'.
  LS_FIELDCAT-REF_FIELDNAME = "KBETR".
  LS_FIELDCAT-REF_TABNAME   = 'KONV'.
  APPEND LS_FIELDCAT TO  RT_FIELDCAT.


 CLEAR LS_FIELDCAT.
  LS_FIELDCAT-TABNAME       = G_TABNAME.
  LS_FIELDCAT-SELTEXT_L     = 'OTHER '.
  LS_FIELDCAT-FIELDNAME     = 'KWERT2'.
  LS_FIELDCAT-REF_FIELDNAME = "KWERT".
  LS_FIELDCAT-REF_TABNAME   = 'KONV'.
  APPEND LS_FIELDCAT TO  RT_FIELDCAT.


  CLEAR LS_FIELDCAT.
  LS_FIELDCAT-TABNAME       = G_TABNAME.
  LS_FIELDCAT-SELTEXT_L = 'TOTAL'.
  LS_FIELDCAT-FIELDNAME     = 'TOTAL'.
  LS_FIELDCAT-REF_FIELDNAME = 'TOTAL'.
*  LS_FIELDCAT-REF_TABNAME   = 'EKKN'.
  APPEND LS_FIELDCAT TO  RT_FIELDCAT.



   ENDFORM.                    " FIELDCAT_INIT


   FORM GET_DATA.




   SELECT  A~EBELN A~LIFNR  A~EKORG A~KNUMV B~VGABE  B~GJAHR B~BELNR
           L~NAME1 L~NAME2
        FROM  EKKO AS A
                      INNER JOIN EKBE  AS B ON  B~EBELN = A~EBELN
                      INNER JOIN LFA1 AS L ON L~LIFNR = A~LIFNR
                      INTO  CORRESPONDING
                      FIELDS OF TABLE ITAB.
*                      WHERE B~VGABE = '2'.

SELECT EKPO~EBELN EKPO~EBELP EKPO~MATNR EKPO~TXZ01 EKPO~WERKS
          EKPO~NETWR EKPO~MENGE EKPO~MWSKZ  EKPO~NETPR EKPO~PACKNO
          FROM EKPO
                    INTO CORRESPONDING FIELDS OF TABLE ITAB1
                    FOR ALL ENTRIES IN ITAB
                    WHERE EKPO~EBELN = ITAB-EBELN and
                          EKPO~BUKRS = 'company code'.


   SELECT EKKN~EBELN EKKN~EBELP EKKN~KOSTL EKKN~PS_PSP_PNR
      FROM EKKN
               INTO CORRESPONDING FIELDS OF TABLE ITAB2
               FOR ALL ENTRIES IN ITAB1
               WHERE EKKN~EBELN = ITAB1-EBELN  AND
                     EKKN~EBELP = ITAB1-EBELP.


   SELECT KONV~KNUMV KONV~KSCHL KONV~KBETR KONV~KWERT KONV~KWERT
              KONV~KPOSN
      FROM KONV
          INTO CORRESPONDING FIELDS OF TABLE ITAB5
          WHERE KONV~KNUMV =   ITAB1-KNUMV AND
                KONV~KPOSN = ITAB1-EBELP.



*    SELECT LFA1~NAME1 LFA1~NAME2 FROM LFA1
*    INTO CORRESPONDING FIELDS OF TABLE ITAB1
*    WHERE  LFA1~LIFNR = ITAB-LIFNR.


*  SELECT ESLL~SUB_PACKNO ESLL~SRVPOS
*           ESLL~EXTROW  ESLL~KTEXT1 FROM ESLL
*
*       INTO CORRESPONDING FIELDS OF TABLE ITAB6
*       FOR ALL ENTRIES IN ITAB1
*       WHERE ESLL~PACKNO = ITAB1-PACKNO .

**         SELECT ESLL~SUB_PACKNO FROM ESLL
**       INTO CORRESPONDING FIELDS OF TABLE ITAB6
**       FOR ALL ENTRIES IN ITAB1
**       WHERE ESLL~PACKNO = ITAB1-PACKNO.
*
*        SELECT ESLL~SUB_PACKNO ESLL~SRVPOS
*           ESLL~EXTROW  ESLL~KTEXT1 FROM ESLL
*       INTO CORRESPONDING FIELDS OF TABLE ITAB8
*       FOR ALL ENTRIES IN ITAB6
*       WHERE ESLL~PACKNO = ITAB6-SUB_PACKNO .
*




* SELECT RSEG~BELNR RSEG~GJAHR FROM RSEG
*        INTO CORRESPONDING FIELDS OF TABLE  ITAB7
*        FOR ALL ENTRIES IN ITAB
*        WHERE RSEG~BELNR = ITAB-BELNR AND
*              RSEG~GJAHR = ITAB-GJAHR.
*


*LOOP AT ITAB1.
 LOOP AT ITAB.

              READ TABLE ITAB1 WITH KEY EBELN = ITAB-EBELN.

*         IF ITAB1-EBELN = ITAB-EBELN.
                IF sy-subrc eq 0.

*                          ITAB1-EBELN = ITAB-EBELN.
                          ITAB1-LIFNR = ITAB-LIFNR.
*                          ITAB1-EBELP = ITAB-EBELP.
                          ITAB1-BELNR = ITAB-BELNR.
                          ITAB1-KNUMV = ITAB-KNUMV.
                          ITAB1-NAME1  = ITAB-NAME1.
                          ITAB-NAME2 = ITAB-NAME2.
                          ITAB1-GJAHR = ITAB-GJAHR.

                modify itab1 index   sy-tabix.

        ENDIF.

ENDLOOP.

*LOOP AT ITAB2.
*
*         READ TABLE ITAB1 WITH KEY EBELN = ITAB2-EBELN.
*          IF sy-subrc eq 0.
*              ITAB1-EBELN = ITAB2-EBELN.
*              ITAB1-PS_PSP_PNR = ITAB2-PS_PSP_PNR.
*              ITAB1-KOSTL = ITAB2-KOSTL.
*
*               modify itab1 transporting ps_psp_pnr kostl
*               where ebeln = Itab2-ebeln AND EBELP = ITAB2-EBELP.
*          ENDIF.
*
*ENDLOOP.


LOOP AT ITAB1.

**ON CHANGE OF   ITAB1-ebeln or itab1-ebelp.
*
*     concatenate itab1-werks itab1-lifnr itab1-matnr
*         into val1.
*
*   MOVE VAL1 TO ITAB1-VAKEY.
*   MODIFY ITAB1.
*
*
*
*
*
*
*    SELECT KONH~KNUMH KONH~KSCHL FROM KONH
*        INTO  CORRESPONDING FIELDS OF TABLE ITAB3
*        FOR ALL ENTRIES IN ITAB1
*        WHERE KONH~VAKEY = ITAB1-VAKEY.
*
*
**endon.
**        sort Itab3 by kschl descending.
*
*
**        Select konp-kbetr  from konp into itab4 where
**        KONP~KNUMH = ITAB3-KNUMH AND KONP~KSCHL = ITAB3-KSCHL.
*
*
*
**ON CHANGE OF  ITAB1-ebelp.
*
*
*
**LOOP AT ITAB3
*
*
*
*
**  ON CHANGE OF  ITAB1-ebelp.
*
*              itab1-knumh = itab3-knumh.
*
*
*
**
**              SELECT  KONP~KBETR FROM KONP INTO CORRESPONDING FIELDS
**              OF  TABLE  ITAB4
**              FOR ALL ENTRIES IN ITAB3   WHERE
**              KONP~KNUMH = ITAB3-KNUMH AND KONP~KSCHL = ITAB3-KSCHL .
**
*
*
**              IF ITAB3-KSCHL = 'JMOP' .
**               ED = ITAB4-KBETR / 1000 * ITAB1-NETWR .
**              ENDIF.
**
**             IF ITAB3-KSCHL = 'JEC1'.
**              Itab1-ed1 = ITAB4-KBETR / 1000 * ED.
**              ADD ED TO ITAB1-ED1.
**             modify  ITAB1 transporting ed1.
**             ENDIF.
**
*
*
*
*              IF ITAB3-KSCHL = 'JMOP' .
*               ED = 16 / 100 * ITAB1-NETWR .
*              ENDIF.
*
*
*             IF ITAB3-KSCHL = 'JEC1'.
*              Itab1-ed1 = 2 / 100 * ED.
*              ADD ED TO ITAB1-ED1.
*             modify  ITAB1 transporting ed1.
*             ENDIF.
*
*
*
**
**        ENDLOOP.
*
**endon.

 modify  ITAB1.



*
*endon.





*
  LOOP AT ITAB5.



     IF ITAB5-KSCHL = 'NAVS' OR ITAB5-KSCHL = 'NAVM'.

            ITAB1-KBETR = ITAB5-KBETR.

             modify  ITAB1 transporting KBETR
             where  KNUMV =  ITAB1-KNUMV AND EBELP = ITAB1-EBELP .


           ELSEIF ITAB5-KSCHL = 'FRA1' OR ITAB5-KSCHL = 'FRC1' OR
                ITAB5-KSCHL = 'FRB1'.

                   ITAB1-KWERT = ITAB5-KWERT .

                   modify  ITAB1 transporting KWERT
                   where  KNUMV =  ITAB1-KNUMV AND EBELP = ITAB1-EBELP
.



*               IF ITAB5-KSCHL = 'FRA1'.
*
*                    ITAB1-KBETR1 = ITAB5-KBETR / 1000 * ITAB1-NETWR .
*
*                   modify  ITAB1 transporting KBETR1
*                   where  KNUMV =  ITAB1-KNUMV AND EBELP = ITAB1-EBELP
*.
*
*                 ELSEIF ITAB5-KSCHL = 'FRC1' .
*
*                   ITAB1-KBETR1 = ITAB5-KBETR * ITAB1-MENGE .
*                   modify  ITAB1 transporting KBETR1
*                   where  KNUMV =  ITAB1-KNUMV AND EBELP = ITAB1-EBELP
*.
*
*                 ELSEIF ITAB5-KSCHL = 'FRB1' .
*
*                    ITAB1-KBETR1 = ITAB5-KBETR .
*                   modify  ITAB1 transporting KBETR1
*                   where  KNUMV =  ITAB1-KNUMV AND EBELP = ITAB1-EBELP
*.
*


*              ENDIF.


*           **THIS  CODE IS FOR iNSURANCE  CONDITION


           ELSEIF ITAB5-KSCHL = 'ZGIN' OR ITAB5-KSCHL = 'ZIN2'.


                   ITAB1-KBETR2 = ITAB5-KBETR.
                   modify  ITAB1 transporting KBETR2
                   where  KNUMV =  ITAB1-KNUMV AND EBELP = ITAB1-EBELP
.


*           **THIS  CODE IS FOR PBXX OR PB00  CONDITION

*          ELSEIF ITAB5-KSCHL = 'PBXX' OR ITAB5-KSCHL = 'PB00'.
*
*                   ITAB1-KWERT1 = ITAB5-KWERT1.
*                   modify  ITAB1 transporting KWERT1
*                   where  KNUMV =  ITAB1-KNUMV AND EBELP = ITAB1-EBELP




**          ELSEIF ITAB5-KSCHL = 'JOCM' OR ITAB5-KSCHL = 'RA00' OR
**                 ITAB5-KSCHL = 'RA01' OR ITAB5-KSCHL = 'RB00' OR
**                 ITAB5-KSCHL = 'RC00' OR

**THIS  CODE IS FOR OTHER CONDITION

           ELSEIF ITAB5-KSCHL = 'RL01' OR ITAB5-KSCHL = 'ZA00' OR
                 ITAB5-KSCHL = 'ZA01' OR ITAB5-KSCHL = 'ZAE1' OR
                 ITAB5-KSCHL = 'ZAED' OR

                 ITAB5-KSCHL = 'ZAFR' OR ITAB5-KSCHL = 'ZB00' OR
                 ITAB5-KSCHL = 'ZBCH' OR ITAB5-KSCHL = 'ZBED' OR
                 ITAB5-KSCHL = 'ZC00' OR

                 ITAB5-KSCHL = 'ZCEX' OR ITAB5-KSCHL = 'ZCIF' OR
                 ITAB5-KSCHL = 'ZHC1' OR ITAB5-KSCHL = 'ZHC2' OR
                 ITAB5-KSCHL = 'ZHCT' OR

                 ITAB5-KSCHL = 'ZHCV' OR ITAB5-KSCHL = 'ZJOC' OR
                 ITAB5-KSCHL = 'ZOTH' OR ITAB5-KSCHL = 'ZOTP' OR
                 ITAB5-KSCHL = 'ZOTT' OR

                 ITAB5-KSCHL = 'ZPK1' OR ITAB5-KSCHL = 'ZPK2' OR
                 ITAB5-KSCHL = 'ZPK3' OR ITAB5-KSCHL = 'ZPK4' OR
                 ITAB5-KSCHL = 'ZRPO' OR

                 ITAB5-KSCHL = 'ZSE1' OR ITAB5-KSCHL = 'ZSED' OR
                 ITAB5-KSCHL = 'ZSFR' OR ITAB5-KSCHL = 'ZSTX' OR
                 ITAB5-KSCHL = 'ZTPI' OR

                 ITAB5-KSCHL = 'ZTPV' OR ITAB5-KSCHL = 'ZTRD' OR
                 ITAB5-KSCHL = 'ZWCT'.

                   ITAB1-KWERT2 = ITAB5-KWERT.
                   modify  ITAB1 transporting KWERT2
                   where  KNUMV =  ITAB1-KNUMV AND EBELP = ITAB1-EBELP
.

          modify itab1.
       ENDIF.



 ENDLOOP .



 ITAB1-TOTAL = ITAB1-NETWR + ITAB1-KWERT2 + ITAB1-KWERT + ITAB1-KBETR.



*              ITAB1-TOTAL = ITAB1-NETWR + ITAB1-ED1 + ITAB1-KBETR2 +
*                     ITAB1-KBETR1 + ITAB1-KBETR + ITAB1-KWERT   .
*
                 modify  ITAB1 transporting TOTAL.



LOOP AT ITAB6.

          ITAB1-SUB_PACKNO = ITAB6-SUB_PACKNO.
*           modify  ITAB1.
ENDLOOP.

LOOP AT ITAB7.
        ITAB1-BELNR = ITAB7-BELNR.
        ITAB1-GJAHR = ITAB7-GJAHR.

  ENDLOOP.



LOOP AT ITAB8.
          ITAB1-SUB_PACKNO = ITAB8-SUB_PACKNO.
          ITAB1-SRVPOS  = ITAB8-SRVPOS.
          ITAB1-EXTROW = ITAB8-EXTROW.
          ITAB1-KTEXT1 = ITAB8-KTEXT1.
          modify  ITAB1.
ENDLOOP.


* SELECT ESLL~PACKNO ESLL~SUB_PACKNO ESLL~SRVPOS ESLL~KTEXT1
*          FROM ESLL
*          INTO CORRESPONDING FIELDS OF TABLE ITAB6
*          WHERE ESLL~PACKNO = ITAB1-PACKNO.
*

*
** delete  adjacent  duplicates  from itab1 comparing EBELN .
*
*
*


 modify  ITAB1.



endloop.

sort Itab1 by EBELN Ascending.




        SELECT KONV~KBETR FROM KONV
        INTO ITAB1-KBETR
        WHERE KONV~KSCHL =  'NAVS' OR KONV~KSCHL = 'NAVM'.
        ENDSELECT.

        ITAB1-KBETR = ITAB5-KBETR.



*ENDLOOP.

*ENDLOOP.
*ENDLOOP.

ENDFORM.

Reward all helpfull answers

Regards

Pavan