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

select query for single record

Former Member
0 Likes
822

hi all,

i am working for script which is letter.

i had to extract the fields as shown in the code. from two tables i had to extract single record. and pass this values to script.i developed the code. wen i execute the code its going to dump. can any body help me.

TABLES : VBAK, KNA1.

PARAMETERS : p_vbeln LIKE vbak-vbeln.

Data : name like kna1-name1.

Data: begin of wa_vbak ,

vbeln(10),

netwr(15),

bstdk(8),

kunnr(10),

smenr(8),

end of wa_vbak.

Data: begin of wa_final,

vbeln(10),

netwr(15),

bstdk(8),

kunnr(10),

smenr(8),

name1(35),

end of wa_final.

Select single vbeln

netwr

bstdk

kunnr

smenr from vbak

into wa_vbak where vbeln = p_vbeln.

If sy-subrc = 0.

Select single name1 from kna1 into name where kunnr = wa_vbak-kunnr.

If sy-subrc = 0.

Move wa_vbak-vbeln to wa_final-vbeln.

Move wa_vbak-netwr to wa_final-netwr.

Move wa_vbak-bstdk to wa_final-bstdk.

Move wa_vbak-kunnr to wa_final-kunnr.

Move wa_vbak-smenr to wa_final-smenr.

Move name to wa_final-name1.

endif.

endif.

write:/10 wa_final-vbeln, 20 wa_final-netwr.

thanks

venkat

7 REPLIES 7
Read only

Former Member
0 Likes
779

Hi,

Select single name1 from kna1 into name where kunnr = wa_vbak-kunnr.

Name is not a table,plz check....

Read only

Former Member
0 Likes
779

Hi Venkat,

smenr from vbak.

i think in VBAK table don't having the field like smner. Check this.

Thanks.

Read only

Former Member
0 Likes
779

hi,

smenr is not a filed of VBAK. check it out.

Read only

Former Member
0 Likes
779

Hai,

Make sure that field names(itab) are same as database tables.

And also INTO CORRESPONDING FIELDS OF TABLE .

The modified code is as below:

TABLES : VBAK, KNA1.

PARAMETERS : p_vbeln LIKE vbak-vbeln.

Data : name like kna1-name1.

Data: begin of wa_vbak ,

vbeln(10),

netwr(15),

bstdk(8),

kunnr(10),

smenr(8),

end of wa_vbak.

Data: begin of wa_final,

vbeln(10),

netwr(15),

bstdk(8),

kunnr(10),

smenr(8),

name1(35),

end of wa_final.

Data:

T_wa_vbak like standard table of wa_vbak.

Select single vbeln

netwr

bstdk

kunnr

smenr from vbak

into <b>CORRESPONDING FIELDS OF TABLE T_</b>wa_vbak where vbeln = p_vbeln.

If sy-subrc = 0.

Select single name1 from kna1 into name where kunnr = wa_vbak-kunnr.

If sy-subrc = 0.

Move wa_vbak-vbeln to wa_final-vbeln.

Move wa_vbak-netwr to wa_final-netwr.

Move wa_vbak-bstdk to wa_final-bstdk.

Move wa_vbak-kunnr to wa_final-kunnr.

Move wa_vbak-smenr to wa_final-smenr.

Move name to wa_final-name1.

endif.

endif.

write:/10 wa_final-vbeln, 20 wa_final-netwr.

Regards,

Rama chary.Pammi

Read only

Former Member
0 Likes
779

hi,

smenr is not a filed of vbak that's why it's going to dump.

remove that one .u will get correct output.

Read only

Former Member
0 Likes
779

Hi,

I think your itab defination has some problem in lengths...

so instead of declaring like this:

Data: begin of wa_vbak ,

vbeln(10),

netwr(15),

bstdk(8),

kunnr(10),

smenr(8),

end of wa_vbak.

Declare like this:

Data: begin of wa_vbak ,

vbeln type vbak-vbeln,

netwr type vbak-netwr,

bstdk type vbak-bstdk,

kunnr type vbak-kunnr,

smenr type vbak-smenr,

end of wa_vbak.

And try again ...

It is just assumption ... otherwise give ur dump erro here which will help a lot to resolve issue..

Jogdand M B

Read only

0 Likes
779

There is no field smenr in VBAK, So pls remove that field and check the output.

Copy this code and check.

TABLES : VBAK, KNA1.

PARAMETERS : p_vbeln LIKE vbak-vbeln.

Data : name like kna1-name1.

Data: begin of wa_vbak ,

vbeln like vbak-vbeln,

netwr like vbak-netwr,

bstdk like vbak-bstdk,

kunnr like vbak-kunnr,

end of wa_vbak.

Data: begin of wa_final,

vbeln like vbak-vbeln,

netwr like vbak-netwr,

bstdk like vbak-bstdk,

kunnr like vbak-kunnr,

name1(35),

end of wa_final.

Select single vbeln

netwr

bstdk

kunnr

from vbak

into wa_vbak where vbeln = p_vbeln.

If sy-subrc = 0.

Select single name1 from kna1 into name where kunnr = wa_vbak-kunnr.

If sy-subrc = 0.

Move wa_vbak-vbeln to wa_final-vbeln.

Move wa_vbak-netwr to wa_final-netwr.

Move wa_vbak-bstdk to wa_final-bstdk.

Move wa_vbak-kunnr to wa_final-kunnr.

Move name to wa_final-name1.

endif.

endif.

write:/10 wa_final-vbeln,

20 wa_final-netwr,

50 wa_final-name1.