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

Need help in my code Can any one help !

Former Member
0 Likes
1,274

I am getting my partner type repeated ly.....for every line inthe out put....i dont want that i want in everyline i will get distinct partner type....

I am getting my partner type repeated ly.....for every line inthe out put....i dont want that i want in everyline i will get distinct partner type....

10 REPLIES 10
Read only

Former Member
0 Likes
1,253

i will send my code....any body has the SAP system....can help me !!!!

Read only

0 Likes
1,253

post your code. if Possible we will help.

Regards

Prajwal. K

Read only

0 Likes
1,253

thanks friends

REPORT ZTESTBAPIJOY line-size 1023.

*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.

loop at t_vbpa.

READ TABLE t_vbpa WITH KEY kunnr = t_vbak-kunnr

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.

endloop.

APPEND itab.

*endloop.

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,t_vbkd.

endloop.

*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.

Read only

0 Likes
1,253

hey prajwal can you help

Read only

0 Likes
1,253

Am really sorry. got some problem in server. i cant access sap development server .

you just debug and check.

sorry

Regards

Prajwal K.

Read only

0 Likes
1,253

hay do one thing u just clear your itab in loop.

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.

clear itab.

ENDLOOP.

try this, it may solve your problem.

Regards

Prajwal.K

Read only

0 Likes
1,253

hey its still giving repeation ....

Read only

0 Likes
1,253

Hay Debug and check the data in table itab ..

Read only

Former Member
0 Likes
1,253

If you are selectin from databsae table then try,

select distinct(partner)....

If it is a internal table the try,

Sort itab by <partner>.

delecte adjecent duplicates compairing <partner>.

Read only

rahul2000
Contributor
0 Likes
1,253

Dear,

the problem lies in one of your READ statments.go through them and u will get it.