2007 Jul 16 11:04 AM
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
2007 Jul 16 11:07 AM
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
2007 Jul 16 11:06 AM
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
2007 Jul 16 11:07 AM
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.
2007 Jul 16 11:07 AM
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.
2007 Jul 16 11:07 AM
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
2007 Jul 16 11:09 AM
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
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |