Application Development 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: 

Can anybody check my code plz!

Former Member
0 Kudos

in the folllowing code I want to get different partner type(parvw)

but its giving me only one constant value.

need help

REPORT YINTERACTIVEPROGRAM01.

**********************************************************************

*CREATED BY:

  • *

*DATE OF CREATION : *

  • *

**********************************************************************

*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:text

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,

KDKG2 LIKE VBKD-KDKG2,

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,

POSTCODE1 LIKE ADRC-POST_CODE1,

POBOX 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,

STRSUPPL1 LIKE ADRC-STR_SUPPL1,

STRSUPPL2 LIKE ADRC-STR_SUPPL2,

STRSUPPL3 LIKE ADRC-STR_SUPPL3,

NRART LIKE TPAR-NRART,

VTEXT1 LIKE TPART-VTEXT,

PARVW LIKE TPART-PARVW,

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,

SMTP_ADDR LIKE ADR6-SMTP_ADDR,

END OF TY_TAB.

DATA: ITAB TYPE STANDARD TABLE OF TY_TAB WITH HEADER LINE.

*WRITING THE QUERY

SELECT A1~VBELN

A1~VKORG

A1~ERDAT

A1~AUGRU

A2~BSTDK

A2~BSTDK_E

A2~BSTDK

A2~KONDA

A2~KDKG2

A3~MATNR

A3~SPART

A3~KONDM

A3~WAERK

A3~NETWR

A3~KWMENG

A3~VKAUS

A3~MVGR1

A3~MVGR2

A3~MVGR3

A3~MVGR4

A3~MVGR5

A4~POST_CODE1

A4~PO_BOX

A4~NAME1

A4~NAME2

A4~CITY1

A4~CITY2

A4~COUNTRY

A4~STREET

A4~STR_SUPPL1

A4~STR_SUPPL2

A4~STR_SUPPL3

A5~BEZEI

A6~KUNNR

A7~NRART

A8~VTEXT

A9~PARVW

A10~BEZEI

A11~VTEXT

A12~VTEXT

A13~BEZEI

A14~BEZEI

A15~BEZEI

A16~BEZEI

A17~BEZEI

A18~VTEXT

  • A20~SMTP_ADDR

INTO CORRESPONDING FIELDS OF TABLE ITAB

FROM VBAK AS A1

JOIN VBKD AS A2

ON A1VBELN = A2VBELN

JOIN VBAP AS A3

ON A1VBELN = A3VBELN

LEFT OUTER JOIN VBPA AS A6

ON A2VBELN = A6VBELN

AND A2POSNR = A6POSNR

JOIN TPAR AS A7

ON A7PARVW = A6PARVW

*JOIN ADR6 AS A20

*ON A6ADRNR = A20ADDRNUMBER

JOIN ADRC AS A4

ON A6ADRNR = A4ADDRNUMBER

LEFT OUTER JOIN TVM1T AS A13

ON A3MVGR1 = A13MVGR1

LEFT OUTER JOIN TVM2T AS A14

ON A3MVGR2 = A14MVGR2

LEFT OUTER JOIN TVM3T AS A15

ON A3MVGR3 = A15MVGR3

LEFT OUTER JOIN TVM4T AS A16

ON A3MVGR4 = A16MVGR4

LEFT OUTER JOIN TVM5T AS A17

ON A3MVGR5 = A17MVGR5

JOIN TPART AS A8

ON A8PARVW = A6PARVW

LEFT OUTER JOIN T178T AS A11

ON A3KONDM = A11KONDM

AND A11~SPRAS = SY-LANGU

LEFT OUTER JOIN T188T as A12

ON A2KONDA = A12KONDA

AND A12~SPRAS = SY-LANGU

JOIN TPART AS A9

ON A6PARVW = A9PARVW

LEFT OUTER JOIN TVLVT AS A10

ON A1ABRVW = A10ABRVW

AND A10~SPRAS = SY-LANGU

LEFT OUTER JOIN TVAUT AS A5

ON A1AUGRU = A5AUGRU

AND A5~SPRAS = SY-LANGU

LEFT OUTER JOIN TVKGGT AS A18

ON A8SPRAS = A18SPRAS

UP TO 100 ROWS

WHERE A1~VBELN IN S_VBELN.

*PRINTING THE OUTPUT

loop AT ITAB.

WRITE :

/(30) 'Order No :', itab-VBELN,

/(30) 'Sales Org :', itab-VKORG,

/(30) 'Order Date :', itab-ERDAT,

/(30) 'Purchase Order # :', itab-BSTKD,

/(30) 'Purchase Order Date :', itab-BSTDK,

/(30) 'Order Reason code :', itab-AUGRU,

/(30) 'Order Reason description :', itab-BEZEI,

/(30) 'Partner Type :', itab-NRART,

/(30) 'Partner Type description :', itab-VTEXT,

/(30) 'Partner no :', itab-KUNNR,

/(30) 'Partner Name1 :', itab-NAME1,

/(30) 'Partner Name2 :', itab-NAME2,

/(30) 'Partner Address 1 :', itab-STREET,

/(30) 'Partner Address 2 :', itab-STRSUPPL1,

/(30) 'Partner Address 3 :', itab-STRSUPPL2,

/(30) 'Partner Address 4 :', itab-STRSUPPL3,

/(30) 'City :', itab-CITY1,

/(30) 'DISTRICT :', itab-CITY2,

/(30) 'Country :', itab-COUNTRY,

/(30) 'Post Code :', itab-POSTCODE1,

/(30) 'PO BOX :', itab-POBOX,

/(30) 'Partner email :', itab-SMTP_ADDR,

/(30) 'Material no :', itab-MATNR,

/(30) 'Material Division :', itab-SPART,

/(30) 'Product Line and Edition code:', itab-MVGR1,

/(30) 'Product Line and Edition Desc:', itab-BEZEI1,

/(30) 'Product Name code :', itab-MVGR2,

/(30) 'ProductName Desc :', itab-BEZEI2,

/(30) 'Product Version Code :', itab-MVGR3,

/(30) 'Product Version Desc :', itab-BEZEI3,

/(30) 'Product Platform Code :', itab-MVGR4,

/(30) 'Product Platform Desc :', itab-BEZEI4,

/(30) 'Product App Server Code :', itab-MVGR5,

/(30) 'Product App Server Desc :', itab-BEZEI5,

/(30) 'Compiler Code :', itab-KONDM,

/(30) 'Compiler Desc :', itab-VTEXT,

/(30) 'LanguageCode :', itab-KONDA,

/(30) 'LanguageDesc :', itab-V_TEXT,

/(30) 'Runtime Band Code :', itab-VKAUS,

/(30) 'Runtime Band description :', itab-BEZE_I,

/(30) 'Support Start Date :', itab-BSTDK,

/(30) 'Support End Date :', itab-BSTDK_E,

/(30) 'Support Level Code :', itab-KDKG2,

/(30) 'Support Level Desc :', itab-VTEXT2,

/(30) 'Order Quantity :', itab-KWMENG,

/(30) 'Net Price :', itab-NETWR,

/(30) 'Currency :', itab-WAERK.

uline.

ENDLOOP.

if sy-subrc <> 0.

write : / 'No data found'.

endif.

2 REPLIES 2

Former Member
0 Kudos

Hi,

Please dont write code like this.

try to write the code as performance wise.

regards,

Billa

Former Member
0 Kudos

Hi,

Performence wise its not better to use join on more than 3 tables.

It will take lot of time in production because of large data from sales tables.

Most of all your tables are transactional tbales.so you can expect large volume of data in production server even you dont find much difference in development system.

you have to decomment the below lines otherwise we get syntax error.

JOIN ADR6 AS A20

ON A6ADRNR = A20ADDRNUMBER

you can go for FOR ALL ENTRIES version instead of using join on those tables.

Regds

Sivaparvathi

Please reward points if helpful..