REPORT Z_SALES_ORDER_SHIPPING_INVOICE_DETAILS NO STANDARD PAGE HEADING line-size 140.
**** report for displaying the sales order shipping and invoice details
tables : vbak , " sales document header
vbap , " sales document item details
vttp , " shipment item
likp , " delivery document header
lips , " sales delivery doc items
vbrk , " billing document header
vbrp. " billing document item details
selection-screen begin of block b1 with frame title text-001.
parameters : p_vkorg like vbak-vkorg default '1000',
p_vtweg like vbak-vtweg default '10',
p_spart like vbak-spart default '00'.
select-options : s_erdat for likp-erdat default '19970101' to'19970130'.
selection-screen end of block b1.
data : begin of itab1 occurs 0,
vbeln like vbak-vbeln, " sales document number
auart like vbak-auart, " sales doc type
erdat like vbak-erdat, " creation date
vstel like vbap-vstel, " shipping point
lgort like vbap-lgort, " storage location
end of itab1.
data : begin of itab2 occurs 0.
* include structure itab1.
data: vgbel like lips-vgbel, " document of the ref docu
d_vbeln like lips-vbeln, " delivery no
lfdat like likp-lfdat, " delivery date
i_vbeln like vbrk-vbeln, " invoice number
fkdat_rl like vbrk-fkdat_rl, " invoice date num
tknum like vttp-tknum, " shipment number
netwr like vbrk-netwr, " invoice net value
end of itab2.
DATA : BEGIN OF ITAB3 OCCURS 0.
INCLUDE STRUCTURE ITAB1.
INCLUDE STRUCTURE ITAB2.
DATA : END OF ITAB3.
start-of-selection.
select vk~vbeln vk~auart vk~erdat vp~vstel vp~lgort
* into table itab2
into corresponding fields of itab1
from vbak as vk inner join vbap as vp
on vk~vbeln = vp~vbeln
where vk~vkorg = p_vkorg and vk~vtweg = p_vtweg and vk~spart = p_spart
and vk~vbeln = vp~vbeln AND vk~erdat in s_erdat.
append itab1. clear itab1.
endselect.
select lp~vgbel lp~vbeln lk~lfdat vp~vbeln vk~fkdat_rl vk~netwr
into (itab2-vgbel,itab2-d_vbeln, itab2-lfdat,itab2-i_vbeln, itab2-fkdat_rl,itab2-netwr)
* corresponding fields of itab2 from ( ( ( lips as lp inner join likp as lk
on lp~vbeln = lk~vbeln ) inner join vbrp as vp on lp~vbeln = vp~vgbel and
lp~posnr = vp~posnr ) inner join vbrk as vk on vp~vbeln = vk~vbeln )
for all entries in itab1 where lp~vgbel = itab1-vbeln and
lp~vbeln = lk~vbeln and lp~vbeln = vp~vgbel and lp~posnr = vp~posnr.
APPEND itab2. * MODIFY ITAB2. clear itab2.
endselect.
READ TABLE ITAB2 WITH KEY ITAB1-VBELN.
MOVE-CORRESPONDING ITAB1 TO ITAB3. MOVE-CORRESPONDING ITAB2 TO ITAB3.
APPEND ITAB3. CLEAR ITAB3.
ENDLOOP.
TOP-OF-PAGE.
WRITE : / ' sales order shipping and invoice details ' color 3.
END-OF-SELECTION.
* loop at itab1.
* write : /10 itab1-vbeln, 25 itab1-auart, 30 itab1-erdat, 40
*itab1-vstel, 50 itab1-lgort.
* endloop.
loop at itab3.
AT FIRST.
write : /2 itab3-vbeln, 10 itab3-auart, 20 itab3-erdat, 35 itab3-vstel, 55 itab3-lgort, 65 itab3-vgbel, 75 itab3-d_vbeln, 85 itab3-lfdat, 95 itab3-fkdat_rl, 110 itab3-netwr. endloop. |
FORMAT INTENSIFIED COLOR 3 on.
write : /2 'itab3-vbeln',
10 'itab3-auart',
20 'itab3-erdat',
35 'itab3-vstel',
55 'itab3-lgort',
65 'itab3-vgbel',
70 'itab3-d_vbeln',
85 'itab3-lfdat',
95 'itab3-fkdat_rl',
110 'itab3-netwr'.
ENDAT.
Project---object ---3
REPORT ZSALESRPT_VIN LINE-COUNT 23 LINE-SIZE 150.
" TO GENERATE PERFORMANCE OF SALES GROUP IN" PARTICULAR SALES AREA FOR SPECIFIED PERIOD
TABLES : VBAK. " NAME OF THE TABLE
DATA: BEGIN OF ITAB OCCURS 0, " CREATING A INTERNAL TABLE
VKORG LIKE VBAK-VKORG, " SALES ORGANISATION
VTWEG LIKE VBAK-VTWEG, " SALES GROUP
SPART LIKE VBAK-SPART, " SALES DIVISION
AUDAT LIKE VBAK-AUDAT, " SALES DOCUMENT CREATION DATE
VBELN LIKE VBAK-VBELN, " SALES ORDER NUMBER
NAME1 LIKE KNA1-NAME1, " CUSTOMER NAME
KUNNR LIKE KNA1-KUNNR, " CUSTOMER NUMBER
VKGRP LIKE VBAK-VKGRP, " SALES GROUP
VKBUR LIKE VBAK-VKBUR, " SALES OFFICE
NETWR LIKE VBAK-NETWR, " NET VALUE OF EACH ORDER
END OF ITAB.
SELECTION-SCREEN BEGIN OF BLOCK BLOCK1 WITH FRAME TITLE TEXT-OO1.
SELECT-OPTIONS:
VKORG FOR VBAK-VKORG, " INPUT FIELDS TO INTERACT WITH
VTWEG FOR VBAK-VTWEG, " END USERS
SPART FOR VBAK-SPART,
AUDAT FOR VBAK-AUDAT.
SELECTION-SCREEN END OF BLOCK BLOCK1.
*write : ZVKORG-LOW,ZVTWEG-LOW,ZSPART-HIGH.
*RETRIEVING THE INFORMATION FROM TWO TABLES BY USING SELECT
SELECT A~NAME1 A~KUNNR B~VKGRP B~VBELN B~VKBUR B~NETWR
FROM VBAK AS B INNER JOIN KNA1 AS A ON A~KUNNR = B~KUNNR INTO
CORRESPONDING FIELDS OF TABLE ITAB WHERE VKORG IN VKORG AND VTWEG IN VTWEG AND SPART IN SPART.
SORT ITAB BY VKGRP.
WRITE : /2 'DOCUMENT' COLOR 5, 22 'CUSTOMER NO' COLOR 5, 42 'C-NAME' COLOR 5, 62 'S-GROUP' COLOR 5, 82 'S-ORDER' COLOR 5.
LOOP AT ITAB.
AT FIRST.
WRITE:/'THIS IS FOR SALES GROUP'. "SKIP 2.
ENDAT.
AT NEW VKGRP.ULINE.
*WRITE :/1(3) SY-VLINE , 4(20) SY-VLINE,24(20) SY-VLINE, 44(20) SY-VLINE
* 64(20) SY-VLINE. WRITE :/ ITAB-VKGRP.
ENDAT.
WRITE :/2 ITAB-VBELN , 22 ITAB-KUNNR , 42 ITAB-NAME1 , 62 ITAB-VKGRP , 82 ITAB-NETWR .
AT LAST.
WRITE :/ 'IT IS OVER'.
ENDAT.
ENDLOOP.