2008 Jan 29 8:03 AM
I have one report where i am printing out the partner types for one sales order. But my requirement is I have to get at least three partner types..in each line i.e SH,SP,BP.....
If Any body has SAP system with it then I can send my code
for better understandibility...to check....but its really important for me as i am under pressure
I have one report where i am printing out the partner types for one sales order. But my requirement is I have to get at least three partner types..in each line i.e SH,SP,BP.....
If Any body has SAP system with it then I can send my code
for better understandibility...to check....but its really important for me as i am under pressure
2008 Jan 29 8:14 AM
Hi,
SH, SP & BP are commonly used Sales Partner Types.
Do let us know your exact problem.
Regards
Eswar
2008 Jan 29 8:32 AM
Hi... i am getting one partner type for each item....but i shpuld get ,,,,three partner types in each line....SP,SH,BP
Do you have the SAP system with you ?
2008 Jan 29 8:37 AM
2008 Jan 29 8:40 AM
In the output....under the partner type field...i am actually getting one value for the partner type.....but it should be at least three values n each line.... i.e SP,SH,BP
REPORT ZTESTBAPIJOY line-size 1000.
*TABLE DECLARATION
********************
TABLES:vbak, "Sales Document: Header Data
vbkd, "Sales Document: Business Data
vbpa, "Sales Document: Partner
vbap, "Sales Document: Item Data
adrc, "Addresses (central address admin.)
t178t, "Conditions: Groups for Materials
t188t, "Pricing groups for customers
tvm1,
tvm1t, "Material pricing group 1:Description
tvm2,
tvm2t, "Material Pricing Group 2:Description
tvm3,
tvm3t, "Material Pricing Group 3:Description
tvm4,
tvm4t, "Material Pricing Group 4:Description
tvm5,
tvm5t, "Material Pricing Group 5:Description
sza1_d0100,
tvlv , "Check table for release orders:Usage ID
tvlvt,
tvkgg, "Customer Condition Groups(Customer Master)
tvkggt,
tpar, "Business Partner: Functions
tpart,
tvaut. "Sales Documents: Order Reasons:Texts
*SELECT OPTIONS
****************
SELECT-OPTIONS s_vbeln FOR vbak-vbeln.
*CREATING INTERNAL TABLES
TYPES:BEGIN OF ty_tab,
vbeln LIKE vbak-vbeln,
vkorg LIKE vbak-vkorg,
erdat LIKE vbak-erdat,
augru LIKE vbak-augru,
bezei LIKE tvaut-bezei,
bstdk LIKE vbkd-bstdk,
bstdk_e LIKE vbkd-bstdk_e,
bstkd LIKE vbkd-bstkd,
kdkg1 LIKE vbkd-kdkg1,
konda LIKE vbkd-konda,
matnr LIKE vbap-matnr,
spart LIKE vbap-spart,
kondm LIKE vbap-kondm,
waerk LIKE vbap-waerk,
netwr LIKE vbap-netwr,
kwmeng LIKE vbap-kwmeng,
vkaus LIKE vbap-vkaus,
mvgr1 LIKE vbap-mvgr1,
mvgr2 LIKE vbap-mvgr2,
mvgr3 LIKE vbap-mvgr3,
mvgr4 LIKE vbap-mvgr4,
mvgr5 LIKE vbap-mvgr5,
kunnr LIKE vbpa-kunnr,
parvw like vbpa-parvw,
post_code1 LIKE adrc-post_code1,
po_box LIKE adrc-po_box,
name1 LIKE adrc-name1,
name2 LIKE adrc-name2,
city1 LIKE adrc-city1,
city2 LIKE adrc-city2,
country LIKE adrc-country,
street LIKE adrc-street,
str_suppl1 LIKE adrc-str_suppl1,
str_suppl2 LIKE adrc-str_suppl2,
str_suppl3 LIKE adrc-str_suppl3,
smtp_addr LIKE adr6-smtp_addr,
beze_i LIKE tvlvt-bezei,
vtext LIKE v_t178-vtext,
v_text LIKE v_t188-vtext,
bezei1 LIKE tvm1t-bezei,
bezei2 LIKE tvm2t-bezei,
bezei3 LIKE tvm3t-bezei,
bezei4 LIKE tvm4t-bezei,
bezei5 LIKE tvm5t-bezei,
vtext2 LIKE tvkggt-vtext,
END OF ty_tab.
DATA: itab TYPE STANDARD TABLE OF ty_tab WITH HEADER LINE.
DATA: BEGIN OF t_vbak OCCURS 0,
vbeln TYPE vbak-vbeln,
erdat TYPE vbak-erdat,
vkorg type vbak-vkorg,
augru TYPE vbak-augru,
kunnr TYPE vbak-kunnr,
posnr TYPE vbap-posnr,
matnr TYPE vbap-matnr,
vkaus TYPE vbap-vkaus,
spart TYPE vbap-spart,
netwr TYPE vbap-netwr,
waerk TYPE vbap-waerk,
kwmeng TYPE vbap-kwmeng,
kondm TYPE vbap-kondm,
mvgr1 TYPE vbap-mvgr1,
mvgr2 TYPE vbap-mvgr2,
mvgr3 TYPE vbap-mvgr3,
mvgr4 TYPE vbap-mvgr4,
mvgr5 TYPE vbap-mvgr5,
END OF t_vbak.
DATA:
BEGIN OF t_vbkd OCCURS 0,
vbeln TYPE vbkd-vbeln,
posnr TYPE vbkd-posnr,
konda TYPE vbkd-konda,
bstkd TYPE vbkd-bstkd,
bstdk TYPE vbkd-bstdk,
bstkd_e TYPE vbkd-bstkd_e,
bstdk_e TYPE vbkd-bstdk_e,
kdkg1 TYPE vbkd-kdkg1,
END OF t_vbkd.
DATA:
BEGIN OF t_vbpa OCCURS 0,
vbeln type vbpa-vbeln,
posnr type vbpa-posnr,
kunnr type vbpa-kunnr,
adrnr type vbpa-adrnr,
parvw type vbpa-parvw,
END OF t_vbpa.
DATA: t_adrc TYPE TABLE OF adrc WITH HEADER LINE.
DATA:
BEGIN OF t_tvm1t OCCURS 0,
mvgr1 TYPE tvm1t-mvgr1,
bezei TYPE tvm1t-bezei,
END OF t_tvm1t.
DATA:
BEGIN OF t_tvaut OCCURS 0,
augru TYPE vbak-augru,
bezei TYPE tvaut-bezei,
END OF t_tvaut.
DATA:
BEGIN OF t_tvm2t OCCURS 0,
mvgr2 TYPE tvm2t-mvgr2,
bezei TYPE tvm2t-bezei,
END OF t_tvm2t.
DATA:
BEGIN OF t_tvm3t OCCURS 0,
mvgr3 TYPE tvm3t-mvgr3,
bezei TYPE tvm3t-bezei,
END OF t_tvm3t.
DATA:
BEGIN OF t_tvm4t OCCURS 0,
mvgr4 TYPE tvm4t-mvgr4,
bezei TYPE tvm4t-bezei,
END OF t_tvm4t.
DATA:
BEGIN OF t_tvm5t OCCURS 0,
mvgr5 TYPE tvm5t-mvgr5,
bezei TYPE tvm5t-bezei,
END OF t_tvm5t.
DATA:
BEGIN OF T_ADR6 OCCURS 0,
SMTP_ADDR TYPE ADR6-SMTP_ADDR,
ADDRNUMBER TYPE ADR6-ADDRNUMBER,
END OF T_ADR6.
data:
begin of t_tvkggt occurs 0,
vtext type tvkggt-vtext,
kdkgr type tvkggt-kdkgr,
spras type tvkggt-spras,
end of t_tvkggt.
data:
begin of t_tpart occurs 0,
parvw type tpart-parvw,
vtext1 type tpart-VTEXT,
spras type tpart-spras,
end of t_tpart.
DATA:
BEGIN OF T_T178T OCCURS 0,
SPRAS TYPE T178T-SPRAS,
KONDM TYPE T178T-KONDM,
VTEXT TYPE T178T-VTEXT,
END OF T_T178T.
DATA:
BEGIN OF T_T188T OCCURS 0,
SPRAS TYPE T188T-SPRAS,
KONDA TYPE T188T-KONDA,
VTEXT TYPE T188T-VTEXT,
END OF T_T188T.
data:
begin of t_tvlvt occurs 0,
spras type tvlvt-spras,
abrvw type tvlvt-abrvw,
bezei type tvlvt-bezei,
end of t_tvlvt.
*WRITING THE QUERY
Sales Order details...
*break-point.
SELECT vbak~vbeln
vbak~erdat
vbak~vkorg
ABRVW
augru
kunnr
posnr
matnr
vbap~vkaus
vbap~spart
vbap~netwr
vbap~waerk
kwmeng
kondm
mvgr1
mvgr2
mvgr3
mvgr4
mvgr5
FROM vbak AS vbak INNER JOIN vbap AS vbap
ON vbak~vbeln EQ vbap~vbeln
INTO corresponding fields of TABLE t_vbak
WHERE vbak~vbeln IN s_vbeln.
Sales data from VBKD.
SELECT vbeln
posnr
konda
bstkd
bstdk
bstkd_e
bstdk_e
kdkg1
FROM vbkd
INTO TABLE t_vbkd
WHERE vbeln IN s_vbeln.
SELECT vbeln
posnr
kunnr
adrnr
parvw
FROM vbpa
INTO CORRESPONDING FIELDS OF TABLE t_vbpa
where vbpa~vbeln IN s_vbeln.
IF t_vbak[] IS INITIAL.
WRITE : / 'No data found'.
else.
SORT t_vbak BY vbeln.
SELECT augru bezei
FROM tvaut
INTO TABLE t_tvaut
FOR ALL ENTRIES IN t_vbak
WHERE spras EQ sy-langu
AND augru EQ t_vbak-augru.
SORT t_tvaut BY augru.
SELECT vbeln posnr kunnr adrnr parvw
FROM vbpa
INTO CORRESPONDING FIELDS OF TABLE t_vbpa
FOR ALL ENTRIES IN t_vbak
WHERE vbeln EQ t_vbak-vbeln
and posnr EQ t_vbpa-posnr.
IF sy-subrc EQ 0.
SORT t_vbpa BY vbeln posnr parvw.
SELECT *
FROM adrc
INTO TABLE t_adrc
FOR ALL ENTRIES IN t_vbpa
WHERE addrnumber EQ t_vbpa-adrnr.
SORT t_adrc BY addrnumber.
ENDIF.
select smtp_addr
from adr6
into table t_adr6
for all entries in t_vbpa
WHERE ADDRNUMBER = t_vbpa-ADRNR.
SORT T_ADR6 BY ADDRNUMBER.
SELECT mvgr1 bezei
FROM tvm1t
INTO TABLE t_tvm1t
FOR ALL ENTRIES IN t_vbak
WHERE spras EQ sy-langu
AND mvgr1 EQ t_vbak-mvgr1.
SORT t_tvm1t BY mvgr1.
SELECT mvgr2 bezei
FROM tvm2t
INTO TABLE t_tvm2t
FOR ALL ENTRIES IN t_vbak
WHERE spras EQ sy-langu
AND mvgr2 EQ t_vbak-mvgr2.
SORT t_tvm2t BY mvgr2.
SELECT mvgr3 bezei
FROM tvm3t
INTO TABLE t_tvm3t
FOR ALL ENTRIES IN t_vbak
WHERE spras EQ sy-langu
AND mvgr3 EQ t_vbak-mvgr3.
SORT t_tvm3t BY mvgr3.
SELECT mvgr4 bezei
FROM tvm4t
INTO TABLE t_tvm4t
FOR ALL ENTRIES IN t_vbak
WHERE spras EQ sy-langu
AND mvgr4 EQ t_vbak-mvgr4.
SORT t_tvm4t BY mvgr4.
SELECT mvgr5 bezei
FROM tvm5t
INTO TABLE t_tvm5t
FOR ALL ENTRIES IN t_vbak
WHERE spras EQ sy-langu
AND mvgr5 EQ t_vbak-mvgr5.
SORT t_tvm5t BY mvgr5.
SELECT SPRAS KONDM VTEXT
FROM T178T
INTO TABLE T_T178T
FOR ALL ENTRIES IN T_VBAK
WHERE SPRAS EQ SY-LANGU
AND KONDM EQ T_VBAK-KONDM.
SORT T_T178T BY KONDM.
SELECT SPRAS KONDA VTEXT
FROM T188T
INTO TABLE T_T188T
FOR ALL ENTRIES IN T_VBKD
WHERE SPRAS EQ SY-LANGU
AND KONDA EQ T_VBKD-KONDA.
SORT T_T188T BY KONDA.
LOOP AT t_vbak.
MOVE-CORRESPONDING t_vbak TO itab.
SORT t_vbkd BY vbeln posnr.
loop at t_vbkd.
READ TABLE t_vbkd WITH KEY
vbeln = t_vbak-vbeln
posnr = t_vbak-posnr
BINARY SEARCH.
endloop.
IF sy-subrc EQ 0.
MOVE-CORRESPONDING t_vbkd TO itab.
ENDIF.
READ TABLE t_tvaut WITH KEY augru = t_vbak-augru BINARY SEARCH.
itab-bezei = t_tvaut-bezei.
READ TABLE t_tvm1t WITH KEY mvgr1 = t_vbaK-mvgr1 BINARY SEARCH.
itab-bezei1 = t_tvm1t-bezei.
READ TABLE t_tvm2t WITH KEY mvgr2 = t_vbak-mvgr2 BINARY SEARCH.
itab-bezei2 = t_tvm2t-bezei.
READ TABLE t_tvm3t WITH KEY mvgr3 = t_vbak-mvgr3 BINARY SEARCH.
itab-bezei3 = t_tvm3t-bezei.
READ TABLE t_tvm4t WITH KEY mvgr4 = t_vbak-mvgr4 BINARY SEARCH.
itab-bezei4 = t_tvm4t-bezei.
READ TABLE t_tvm5t WITH KEY mvgr5 = t_vbak-mvgr5 BINARY SEARCH.
itab-bezei5 = t_tvm5t-bezei.
READ TABLE t_tpar WITH KEY PARVW = t_vbpa-PARVW BINARY SEARCH.
ITAB-NRART = T_TPAR-NRART.
itab-parvw = t_tpar-parvw.
READ TABLE T_T178T WITH KEY KONDM = T_VBAk-KONDM BINARY SEARCH.
ITAB-KONDM = T_T178T-KONDM.
ITAB-VTEXT = T_T178T-VTEXT.
READ TABLE T_T188T WITH KEY KONDA = T_VBKD-KONDA BINARY SEARCH.
ITAB-KONDA = T_T188T-KONDA.
ITAB-V_TEXT = T_T188T-VTEXT.
READ TABLE t_adr6 with key addrnumber = t_vbpa-adrnr binary search.
itab-smtp_addr = t_adr6-smtp_addr.
READ TABLE t_vbpa WITH KEY vbeln = t_vbak-vbeln
BINARY SEARCH.
itab-kunnr = t_vbpa-kunnr.
itab-parvw = t_vbpa-parvw.
SELECT bezei FROM TVLVT
INTO CORRESPONDING FIELDS OF TABLE T_TVLVT
WHERE ABRVW = ITAB-VKAUS.
read table t_tvlvt with key abrvw = t_tvlvt-abrvw binary search.
itab-beze_i = t_tvlvt-bezei.
SELECT vtext FROM TVKGGT
INTO CORRESPONDING FIELDS OF TABLE t_tvkggt
WHERE KDKGR = itab-kdkg1.
clear t_tvkggt.
read table t_tvkggt with key kdkgr = t_tvkggt-kdkgr binary search.
itab-vtext2 = t_tvkggt-vtext.
READ TABLE t_adrc WITH KEY addrnumber = t_vbpa-adrnr BINARY SEARCH.
if sy-subrc EQ 0.
MOVE-CORRESPONDING t_adrc TO itab.
ENDIF.
APPEND itab.
CLEAR :itab, t_tvm1t,t_tvm2t,t_tvm3t,t_tvm4t,t_tvm5t,t_adrc,t_tvaut,
t_adr6,t_t188t,t_t178t,t_tvlvt,t_vbak, t_vbpa.
ENDLOOP.
ENDIF.
*PRINTING THE OUTPUT
FORMAT COLOR COL_HEADING
.
WRITE:/
'Order-No',' ',
'Sales-Org',' ',
'Order-Date',' ',
'Purchase-Order',' ',
'Purchase-Order-Date',' ',
'Order-Reason-code',' ',
'Order-Reason description',' ',
'Partner-Type',' ',
'Partner-Type description',' ',
'Partner-no',' ',
'Partner-Name1',' ',
'Partner-Name2',' ',
'Partner-Address 1',' ',
'Partner-Address 2',' ',
'Partner-Address 3',' ',
'Partner-Address 4',' ',
'City',' ',
'DISTRICT',' ',
'Country',' ',
'Post Code',' ',
'PO BOX',' ',
'Partner-email',' ',
'Material-no',' ',
'Material-Division',' ',
'Product-Line and Edition code',' ',
'Product-Line and Edition Desc',' ',
'Product-Name code',' ',
'ProductName Desc',' ',
'Product-Version Code',' ',
'Product-Version Desc',' ',
'Product-Platform Code',' ',
'Product-platform Desc',' ',
'Product-App Server Code',' ',
'Product-App Server Desc',' ',
'Compiler-Code',' ',
'Compiler-Desc',' ',
'LanguageCode', ' ',
'LanguageDesc',' ',
'Runtime-Band Code',' ',
'Runtime-Band description',' ',
'Support-Start Date',' ',
'Support-End Date',' ',
'Support-Level Code',' ',
'Support-Level Desc',' ',
'Currency',' ',
'NetPrice',' ',
'Order-Quantity',' ',
sy-uline.
FORMAT COLOR COL_NORMAL.
LOOP AT itab.
WRITE:/
itab-vbeln UNDER 'Order-No',
itab-vkorg UNDER 'Sales-Org',' ',
itab-erdat UNDER 'Order-Date',
itab-bstkd UNDER 'Purchase-Order',
itab-bstdk UNDER 'Purchase-Order-Date',
itab-augru UNDER 'Order-Reason-code',
itab-bezei UNDER 'Order-Reason description',
itab-parvw UNDER 'Partner-Type',
itab-vtext UNDER 'Partner-Type description',
itab-kunnr UNDER 'Partner-no',
itab-name1 UNDER 'Partner-Name1',
itab-name2 UNDER 'Partner-Name2',
itab-street UNDER 'Partner-Address 1',
itab-str_suppl1 UNDER 'Partner-Address 2',
itab-str_suppl2 UNDER 'Partner-Address 3',
itab-str_suppl3 UNDER 'Partner-Address 4',
itab-city1 UNDER 'City',
itab-city2 UNDER 'DISTRICT',
itab-country UNDER 'Country',
itab-post_code1 UNDER 'Post Code',
itab-po_box UNDER 'PO BOX',
itab-smtp_addr UNDER 'Partner-email',
itab-matnr UNDER 'Material-no',
itab-spart UNDER 'Material-Division',
itab-mvgr1 UNDER 'Product-Line and Edition code',
itab-bezei1 UNDER 'Product-Line and Edition Desc',
itab-mvgr2 UNDER 'Product-Name code',
itab-bezei2 UNDER 'ProductName Desc',
itab-mvgr3 UNDER 'Product-Version Code',
itab-bezei3 UNDER 'Product-Version Desc',
itab-mvgr4 UNDER 'Product-Platform Code',
itab-bezei4 UNDER 'Product-platform Desc',
itab-mvgr5 UNDER 'Product-App Server Code',
itab-bezei5 UNDER 'Product-App Server Desc',
itab-kondm UNDER 'Compiler-Code',
itab-vtext UNDER 'Compiler-Desc',
itab-konda UNDER 'LanguageCode',
itab-v_text UNDER 'LanguageDesc',
itab-vkaus UNDER 'Runtime-Band Code',
itab-beze_i UNDER 'Runtime-Band description',
itab-bstdk UNDER 'Support-Start Date',
itab-bstdk_e UNDER 'Support-End Date',
itab-kdkg1 UNDER 'Support-Level Code',
itab-vtext2 UNDER 'Support-Level Desc',
itab-kwmeng UNDER 'Order-Quantity',
itab-netwr UNDER 'NetPrice',
itab-waerk UNDER 'Currency'.
ULINE.
ENDLOOP.
2008 Jan 29 8:47 AM
Hi,
While extracting data to T_VBAK get the Item number as well.
At code Instance:
READ TABLE t_vbpa WITH KEY vbeln = t_vbak-vbeln
BINARY SEARCH.
itab-kunnr = t_vbpa-kunnr.
itab-parvw = t_vbpa-parvw.
Using read statement you get only one record, so you have to use LOOP to get the partner for each item and partner type and append accordingly.
Regards
Eswar
2008 Jan 29 8:51 AM
Hey thanks for this ..I have written like this
read table t_vbpa.
loop at t_vbpa into t_vbpa.
READ TABLE t_vbpa WITH KEY kunnr = t_vbak-kunnr
BINARY SEARCH.
itab-kunnr = t_vbpa-kunnr.
itab-parvw = t_vbpa-parvw.
append t_vbpa to itab.
endloop.
but
1. entire output gets changed.....
2. PO dates are comming in a wrong way.....
3. order dates are comming in a wring way
4.only one value of partner type is comming.
Now how to solve this
2008 Jan 29 8:52 AM
2008 Jan 29 9:56 AM
2008 Jan 30 12:39 AM
Hi,
Have made few modifications, check below code.
Copy the code to a temporary program, execute and check the results... There have been more than once instance where i have changed the code, so difficult to highlight.
*TABLE DECLARATION
********************
TABLES:vbak, "Sales Document: Header Data
vbkd, "Sales Document: Business Data
vbpa, "Sales Document: Partner
vbap, "Sales Document: Item Data
adrc, "Addresses (central address admin.)
t178t, "Conditions: Groups for Materials
t188t, "Pricing groups for customers
tvm1,
tvm1t, "Material pricing group 1:Description
tvm2,
tvm2t, "Material Pricing Group 2:Description
tvm3,
tvm3t, "Material Pricing Group 3:Description
tvm4,
tvm4t, "Material Pricing Group 4:Description
tvm5,
tvm5t, "Material Pricing Group 5:Description
sza1_d0100,
tvlv , "Check table for release orders:Usage ID
tvlvt,
tvkgg, "Customer Condition Groups(Customer Master)
tvkggt,
tpar, "Business Partner: Functions
tpart,
tvaut. "Sales Documents: Order Reasons:Texts
*SELECT OPTIONS
****************
SELECT-OPTIONS s_vbeln FOR vbak-vbeln.
*CREATING INTERNAL TABLES
TYPES:BEGIN OF ty_tab,
vbeln LIKE vbak-vbeln,
vkorg LIKE vbak-vkorg,
erdat LIKE vbak-erdat,
augru LIKE vbak-augru,
bezei LIKE tvaut-bezei,
bstdk LIKE vbkd-bstdk,
bstdk_e LIKE vbkd-bstdk_e,
bstkd LIKE vbkd-bstkd,
kdkg1 LIKE vbkd-kdkg1,
konda LIKE vbkd-konda,
matnr LIKE vbap-matnr,
spart LIKE vbap-spart,
kondm LIKE vbap-kondm,
waerk LIKE vbap-waerk,
netwr LIKE vbap-netwr,
kwmeng LIKE vbap-kwmeng,
vkaus LIKE vbap-vkaus,
mvgr1 LIKE vbap-mvgr1,
mvgr2 LIKE vbap-mvgr2,
mvgr3 LIKE vbap-mvgr3,
mvgr4 LIKE vbap-mvgr4,
mvgr5 LIKE vbap-mvgr5,
kunnr LIKE vbpa-kunnr,
parvw LIKE vbpa-parvw,
post_code1 LIKE adrc-post_code1,
po_box LIKE adrc-po_box,
name1 LIKE adrc-name1,
name2 LIKE adrc-name2,
city1 LIKE adrc-city1,
city2 LIKE adrc-city2,
country LIKE adrc-country,
street LIKE adrc-street,
str_suppl1 LIKE adrc-str_suppl1,
str_suppl2 LIKE adrc-str_suppl2,
str_suppl3 LIKE adrc-str_suppl3,
smtp_addr LIKE adr6-smtp_addr,
beze_i LIKE tvlvt-bezei,
vtext LIKE v_t178-vtext,
v_text LIKE v_t188-vtext,
bezei1 LIKE tvm1t-bezei,
bezei2 LIKE tvm2t-bezei,
bezei3 LIKE tvm3t-bezei,
bezei4 LIKE tvm4t-bezei,
bezei5 LIKE tvm5t-bezei,
vtext2 LIKE tvkggt-vtext,
END OF ty_tab.
DATA: itab TYPE STANDARD TABLE OF ty_tab WITH HEADER LINE.
DATA: BEGIN OF t_vbak OCCURS 0,
vbeln TYPE vbak-vbeln,
erdat TYPE vbak-erdat,
vkorg TYPE vbak-vkorg,
augru TYPE vbak-augru,
kunnr TYPE vbak-kunnr,
posnr TYPE vbap-posnr,
matnr TYPE vbap-matnr,
vkaus TYPE vbap-vkaus,
spart TYPE vbap-spart,
netwr TYPE vbap-netwr,
waerk TYPE vbap-waerk,
kwmeng TYPE vbap-kwmeng,
kondm TYPE vbap-kondm,
mvgr1 TYPE vbap-mvgr1,
mvgr2 TYPE vbap-mvgr2,
mvgr3 TYPE vbap-mvgr3,
mvgr4 TYPE vbap-mvgr4,
mvgr5 TYPE vbap-mvgr5,
END OF t_vbak.
DATA:
BEGIN OF t_vbkd OCCURS 0,
vbeln TYPE vbkd-vbeln,
posnr TYPE vbkd-posnr,
konda TYPE vbkd-konda,
bstkd TYPE vbkd-bstkd,
bstdk TYPE vbkd-bstdk,
bstkd_e TYPE vbkd-bstkd_e,
bstdk_e TYPE vbkd-bstdk_e,
kdkg1 TYPE vbkd-kdkg1,
END OF t_vbkd.
DATA:
BEGIN OF t_vbpa OCCURS 0,
vbeln TYPE vbpa-vbeln,
posnr TYPE vbpa-posnr,
kunnr TYPE vbpa-kunnr,
adrnr TYPE vbpa-adrnr,
parvw TYPE vbpa-parvw,
END OF t_vbpa.
DATA: t_adrc TYPE TABLE OF adrc WITH HEADER LINE.
DATA:
BEGIN OF t_tvm1t OCCURS 0,
mvgr1 TYPE tvm1t-mvgr1,
bezei TYPE tvm1t-bezei,
END OF t_tvm1t.
DATA:
BEGIN OF t_tvaut OCCURS 0,
augru TYPE vbak-augru,
bezei TYPE tvaut-bezei,
END OF t_tvaut.
DATA:
BEGIN OF t_tvm2t OCCURS 0,
mvgr2 TYPE tvm2t-mvgr2,
bezei TYPE tvm2t-bezei,
END OF t_tvm2t.
DATA:
BEGIN OF t_tvm3t OCCURS 0,
mvgr3 TYPE tvm3t-mvgr3,
bezei TYPE tvm3t-bezei,
END OF t_tvm3t.
DATA:
BEGIN OF t_tvm4t OCCURS 0,
mvgr4 TYPE tvm4t-mvgr4,
bezei TYPE tvm4t-bezei,
END OF t_tvm4t.
DATA:
BEGIN OF t_tvm5t OCCURS 0,
mvgr5 TYPE tvm5t-mvgr5,
bezei TYPE tvm5t-bezei,
END OF t_tvm5t.
DATA:
BEGIN OF t_adr6 OCCURS 0,
smtp_addr TYPE adr6-smtp_addr,
addrnumber TYPE adr6-addrnumber,
END OF t_adr6.
DATA:
BEGIN OF t_tvkggt OCCURS 0,
vtext TYPE tvkggt-vtext,
kdkgr TYPE tvkggt-kdkgr,
spras TYPE tvkggt-spras,
END OF t_tvkggt.
DATA:
BEGIN OF t_tpart OCCURS 0,
parvw TYPE tpart-parvw,
vtext1 TYPE tpart-vtext,
spras TYPE tpart-spras,
END OF t_tpart.
DATA:
BEGIN OF t_t178t OCCURS 0,
spras TYPE t178t-spras,
kondm TYPE t178t-kondm,
vtext TYPE t178t-vtext,
END OF t_t178t.
DATA:
BEGIN OF t_t188t OCCURS 0,
spras TYPE t188t-spras,
konda TYPE t188t-konda,
vtext TYPE t188t-vtext,
END OF t_t188t.
DATA:
BEGIN OF t_tvlvt OCCURS 0,
spras TYPE tvlvt-spras,
abrvw TYPE tvlvt-abrvw,
bezei TYPE tvlvt-bezei,
END OF t_tvlvt.
*WRITING THE QUERY
* Sales Order details...
*break-point.
SELECT vbak~vbeln
vbak~erdat
vbak~vkorg
abrvw
augru
kunnr
posnr
matnr
vbap~vkaus
vbap~spart
vbap~netwr
vbap~waerk
kwmeng
kondm
mvgr1
mvgr2
mvgr3
mvgr4
mvgr5
FROM vbak AS vbak INNER JOIN vbap AS vbap
ON vbak~vbeln EQ vbap~vbeln
INTO CORRESPONDING FIELDS OF TABLE t_vbak
WHERE vbak~vbeln IN s_vbeln.
IF t_vbak[] IS INITIAL.
WRITE : / 'No data found'.
ELSE.
SORT t_vbak BY vbeln.
* Sales data from VBKD.
SELECT vbeln
posnr
konda
bstkd
bstdk
bstkd_e
bstdk_e
kdkg1
FROM vbkd
INTO TABLE t_vbkd
FOR ALL ENTRIES IN t_vbak
WHERE vbeln = t_vbak-vbeln
AND posnr = t_vbak-posnr.
SORT t_vbkd BY vbeln posnr.
* SELECT vbeln
* posnr
* kunnr
* adrnr
* parvw
* FROM vbpa
* INTO CORRESPONDING FIELDS OF TABLE t_vbpa
* WHERE vbpa~vbeln IN s_vbeln.
* IF t_vbak[] IS INITIAL.
* WRITE : / 'No data found'.
* ELSE.
* SORT t_vbak BY vbeln.
SELECT augru bezei
FROM tvaut
INTO TABLE t_tvaut
FOR ALL ENTRIES IN t_vbak
WHERE spras EQ sy-langu
AND augru EQ t_vbak-augru.
SORT t_tvaut BY augru.
SELECT vbeln posnr kunnr adrnr parvw
FROM vbpa
INTO CORRESPONDING FIELDS OF TABLE t_vbpa
FOR ALL ENTRIES IN t_vbak
WHERE vbeln EQ t_vbak-vbeln.
* AND posnr EQ t_vbak-posnr.
IF sy-subrc EQ 0.
SORT t_vbpa BY vbeln posnr parvw.
SELECT *
FROM adrc
INTO TABLE t_adrc
FOR ALL ENTRIES IN t_vbpa
WHERE addrnumber EQ t_vbpa-adrnr.
SORT t_adrc BY addrnumber.
SELECT smtp_addr
FROM adr6
INTO TABLE t_adr6
FOR ALL ENTRIES IN t_vbpa
WHERE addrnumber = t_vbpa-adrnr.
SORT t_adr6 BY addrnumber.
ENDIF.
SELECT mvgr1 bezei
FROM tvm1t
INTO TABLE t_tvm1t
FOR ALL ENTRIES IN t_vbak
WHERE spras EQ sy-langu
AND mvgr1 EQ t_vbak-mvgr1.
SORT t_tvm1t BY mvgr1.
SELECT mvgr2 bezei
FROM tvm2t
INTO TABLE t_tvm2t
FOR ALL ENTRIES IN t_vbak
WHERE spras EQ sy-langu
AND mvgr2 EQ t_vbak-mvgr2.
SORT t_tvm2t BY mvgr2.
SELECT mvgr3 bezei
FROM tvm3t
INTO TABLE t_tvm3t
FOR ALL ENTRIES IN t_vbak
WHERE spras EQ sy-langu
AND mvgr3 EQ t_vbak-mvgr3.
SORT t_tvm3t BY mvgr3.
SELECT mvgr4 bezei
FROM tvm4t
INTO TABLE t_tvm4t
FOR ALL ENTRIES IN t_vbak
WHERE spras EQ sy-langu
AND mvgr4 EQ t_vbak-mvgr4.
SORT t_tvm4t BY mvgr4.
SELECT mvgr5 bezei
FROM tvm5t
INTO TABLE t_tvm5t
FOR ALL ENTRIES IN t_vbak
WHERE spras EQ sy-langu
AND mvgr5 EQ t_vbak-mvgr5.
SORT t_tvm5t BY mvgr5.
SELECT spras kondm vtext
FROM t178t
INTO TABLE t_t178t
FOR ALL ENTRIES IN t_vbak
WHERE spras EQ sy-langu
AND kondm EQ t_vbak-kondm.
SORT t_t178t BY kondm.
SELECT spras konda vtext
FROM t188t
INTO TABLE t_t188t
FOR ALL ENTRIES IN t_vbkd
WHERE spras EQ sy-langu
AND konda EQ t_vbkd-konda.
SORT t_t188t BY konda.
LOOP AT t_vbak.
MOVE-CORRESPONDING t_vbak TO itab.
* LOOP AT t_vbkd.
READ TABLE t_vbkd WITH KEY
vbeln = t_vbak-vbeln
posnr = t_vbak-posnr
BINARY SEARCH.
* ENDLOOP.
IF sy-subrc EQ 0.
MOVE-CORRESPONDING t_vbkd TO itab.
ENDIF.
READ TABLE t_tvaut WITH KEY augru = t_vbak-augru BINARY SEARCH.
itab-bezei = t_tvaut-bezei.
READ TABLE t_tvm1t WITH KEY mvgr1 = t_vbak-mvgr1 BINARY SEARCH.
itab-bezei1 = t_tvm1t-bezei.
READ TABLE t_tvm2t WITH KEY mvgr2 = t_vbak-mvgr2 BINARY SEARCH.
itab-bezei2 = t_tvm2t-bezei.
READ TABLE t_tvm3t WITH KEY mvgr3 = t_vbak-mvgr3 BINARY SEARCH.
itab-bezei3 = t_tvm3t-bezei.
READ TABLE t_tvm4t WITH KEY mvgr4 = t_vbak-mvgr4 BINARY SEARCH.
itab-bezei4 = t_tvm4t-bezei.
READ TABLE t_tvm5t WITH KEY mvgr5 = t_vbak-mvgr5 BINARY SEARCH.
itab-bezei5 = t_tvm5t-bezei.
* READ TABLE t_tpar WITH KEY PARVW = t_vbpa-PARVW BINARY SEARCH.
* ITAB-NRART = T_TPAR-NRART.
* itab-parvw = t_tpar-parvw.
READ TABLE t_t178t WITH KEY kondm = t_vbak-kondm BINARY SEARCH.
itab-kondm = t_t178t-kondm.
itab-vtext = t_t178t-vtext.
READ TABLE t_t188t WITH KEY konda = t_vbkd-konda BINARY SEARCH.
itab-konda = t_t188t-konda.
itab-v_text = t_t188t-vtext.
* READ TABLE t_adr6 WITH KEY addrnumber = t_vbpa-adrnr BINARY SEARCH
*.
* itab-smtp_addr = t_adr6-smtp_addr.
*
* READ TABLE t_vbpa WITH KEY vbeln = t_vbak-vbeln
* BINARY SEARCH.
* itab-kunnr = t_vbpa-kunnr.
* itab-parvw = t_vbpa-parvw.
SELECT bezei FROM tvlvt
INTO CORRESPONDING FIELDS OF TABLE t_tvlvt
WHERE abrvw = itab-vkaus.
READ TABLE t_tvlvt WITH KEY abrvw = t_tvlvt-abrvw BINARY SEARCH.
itab-beze_i = t_tvlvt-bezei.
SELECT vtext FROM tvkggt
INTO CORRESPONDING FIELDS OF TABLE t_tvkggt
WHERE kdkgr = itab-kdkg1.
CLEAR t_tvkggt.
READ TABLE t_tvkggt WITH KEY kdkgr = t_tvkggt-kdkgr BINARY SEARCH.
itab-vtext2 = t_tvkggt-vtext.
READ TABLE t_vbpa WITH KEY vbeln = t_vbak-vbeln
posnr = t_vbak-posnr.
IF sy-subrc EQ 0.
LOOP AT t_vbpa WHERE vbeln = t_vbak-vbeln
AND posnr = t_vbak-posnr.
itab-kunnr = t_vbpa-kunnr.
itab-parvw = t_vbpa-parvw.
READ TABLE t_adrc WITH KEY addrnumber = t_vbpa-adrnr
BINARY SEARCH.
MOVE-CORRESPONDING t_adrc TO itab.
READ TABLE t_adr6 WITH KEY addrnumber = t_vbpa-adrnr
BINARY SEARCH.
itab-smtp_addr = t_adr6-smtp_addr.
ENDLOOP.
ELSE.
LOOP AT t_vbpa WHERE vbeln = t_vbak-vbeln.
CLEAR: t_adrc, t_adr6.
itab-kunnr = t_vbpa-kunnr.
itab-parvw = t_vbpa-parvw.
READ TABLE t_adrc WITH KEY addrnumber = t_vbpa-adrnr
BINARY SEARCH.
MOVE-CORRESPONDING t_adrc TO itab.
READ TABLE t_adr6 WITH KEY addrnumber = t_vbpa-adrnr
BINARY SEARCH.
itab-smtp_addr = t_adr6-smtp_addr.
APPEND itab.
ENDLOOP.
ENDIF.
CLEAR :itab, t_tvm1t, t_tvm2t, t_tvm3t, t_tvm4t, t_tvm5t, t_adrc,
t_tvaut, t_adr6, t_t188t, t_t178t, t_tvlvt, t_vbak, t_vbpa.
ENDLOOP.
ENDIF.
*PRINTING THE OUTPUT
FORMAT COLOR COL_HEADING
.
WRITE:/
'Order-No',' ',
'Sales-Org',' ',
'Order-Date',' ',
'Purchase-Order',' ',
'Purchase-Order-Date',' ',
'Order-Reason-code',' ',
'Order-Reason description',' ',
'Partner-Type',' ',
'Partner-Type description',' ',
'Partner-no',' ',
'Partner-Name1',' ',
'Partner-Name2',' ',
'Partner-Address 1',' ',
'Partner-Address 2',' ',
'Partner-Address 3',' ',
'Partner-Address 4',' ',
'City',' ',
'DISTRICT',' ',
'Country',' ',
'Post Code',' ',
'PO BOX',' ',
'Partner-email',' ',
'Material-no',' ',
'Material-Division',' ',
'Product-Line and Edition code',' ',
'Product-Line and Edition Desc',' ',
'Product-Name code',' ',
'ProductName Desc',' ',
'Product-Version Code',' ',
'Product-Version Desc',' ',
'Product-Platform Code',' ',
'Product-platform Desc',' ',
'Product-App Server Code',' ',
'Product-App Server Desc',' ',
'Compiler-Code',' ',
'Compiler-Desc',' ',
'LanguageCode', ' ',
'LanguageDesc',' ',
'Runtime-Band Code',' ',
'Runtime-Band description',' ',
'Support-Start Date',' ',
'Support-End Date',' ',
'Support-Level Code',' ',
'Support-Level Desc',' ',
'Currency',' ',
'NetPrice',' ',
'Order-Quantity',' ',
sy-uline.
FORMAT COLOR COL_NORMAL.
LOOP AT itab.
WRITE:/
itab-vbeln UNDER 'Order-No',
itab-vkorg UNDER 'Sales-Org',' ',
itab-erdat UNDER 'Order-Date',
itab-bstkd UNDER 'Purchase-Order',
itab-bstdk UNDER 'Purchase-Order-Date',
itab-augru UNDER 'Order-Reason-code',
itab-bezei UNDER 'Order-Reason description',
itab-parvw UNDER 'Partner-Type',
itab-vtext UNDER 'Partner-Type description',
itab-kunnr UNDER 'Partner-no',
itab-name1 UNDER 'Partner-Name1',
itab-name2 UNDER 'Partner-Name2',
itab-street UNDER 'Partner-Address 1',
itab-str_suppl1 UNDER 'Partner-Address 2',
itab-str_suppl2 UNDER 'Partner-Address 3',
itab-str_suppl3 UNDER 'Partner-Address 4',
itab-city1 UNDER 'City',
itab-city2 UNDER 'DISTRICT',
itab-country UNDER 'Country',
itab-post_code1 UNDER 'Post Code',
itab-po_box UNDER 'PO BOX',
itab-smtp_addr UNDER 'Partner-email',
itab-matnr UNDER 'Material-no',
itab-spart UNDER 'Material-Division',
itab-mvgr1 UNDER 'Product-Line and Edition code',
itab-bezei1 UNDER 'Product-Line and Edition Desc',
itab-mvgr2 UNDER 'Product-Name code',
itab-bezei2 UNDER 'ProductName Desc',
itab-mvgr3 UNDER 'Product-Version Code',
itab-bezei3 UNDER 'Product-Version Desc',
itab-mvgr4 UNDER 'Product-Platform Code',
itab-bezei4 UNDER 'Product-platform Desc',
itab-mvgr5 UNDER 'Product-App Server Code',
itab-bezei5 UNDER 'Product-App Server Desc',
itab-kondm UNDER 'Compiler-Code',
itab-vtext UNDER 'Compiler-Desc',
itab-konda UNDER 'LanguageCode',
itab-v_text UNDER 'LanguageDesc',
itab-vkaus UNDER 'Runtime-Band Code',
itab-beze_i UNDER 'Runtime-Band description',
itab-bstdk UNDER 'Support-Start Date',
itab-bstdk_e UNDER 'Support-End Date',
itab-kdkg1 UNDER 'Support-Level Code',
itab-vtext2 UNDER 'Support-Level Desc',
itab-kwmeng UNDER 'Order-Quantity',
itab-netwr UNDER 'NetPrice',
itab-waerk UNDER 'Currency'.
ULINE.
ENDLOOP.
Regards
Eswar
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |