‎2007 May 11 7:27 AM
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
‎2007 May 11 7:30 AM
Hi,
Select single name1 from kna1 into name where kunnr = wa_vbak-kunnr.
Name is not a table,plz check....
‎2007 May 11 7:36 AM
Hi Venkat,
smenr from vbak.
i think in VBAK table don't having the field like smner. Check this.
Thanks.
‎2007 May 11 7:36 AM
‎2007 May 11 7:36 AM
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
‎2007 May 11 7:38 AM
hi,
smenr is not a filed of vbak that's why it's going to dump.
remove that one .u will get correct output.
‎2007 May 11 7:39 AM
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
‎2007 May 11 7:54 AM
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.