‎2006 Sep 11 11:00 AM
Hello experts,
I am currently having problems inserting records to my custom table. The problem says
that my work area is not long enough. My custom table has 6 fields(excluding MANDT) but I
only want to insert values in 5 fields since I dont need the to fill up the 6th one. So I
declared my internal table as:
TYPES: BEGIN OF t_zts_stpgeoloc,
kunnr TYPE zts_stpgeoloc-kunnr,
cdseq TYPE zts_stpgeoloc-cdseq,
zaddress TYPE zts_stpgeoloc-zaddress,
zcperson TYPE zts_stpgeoloc-zcperson,
zcnumber TYPE zts_stpgeoloc-zcnumber,
END OF t_zts_stpgeoloc.
DATA: lt_zts_stpgeoloc type hashed table of t_zts_stpgeoloc
with unique key kunnr cdseq,
wa_zts_stpgeoloc like line of lt_zts_stpgeoloc.
FIELD-SYMBOLS: <fs_stp> like line of lt_zts_stpgeoloc.
Below is the code:
LOOP AT gt_zts0001_old ASSIGNING <fs_old>.
read table lt_zts_stpgeoloc with table key
kunnr = <fs_old>-kunnr
cdseq = <fs_old>-cdseq
assigning <fs_stp>.
if sy-subrc <> 0.
wa_zts_stpgeoloc-kunnr = <fs_old>-kunnr.
wa_zts_stpgeoloc-cdseq = <fs_old>-cdseq.
wa_zts_stpgeoloc-zaddress = <fs_old>-zaddress.
wa_zts_stpgeoloc-zcperson = <fs_old>-zcperson.
wa_zts_stpgeoloc-zcnumber = <fs_old>-zcnumber.
insert into zts_stpgeoloc values wa_zts_stpgeoloc.
endif.
endloop.
So when I syntax check my program it says that my work area is not long enough.
Thanks guys and take care!
‎2006 Sep 11 11:02 AM
You need to assign all the fields of the table in your work area.
<b>Basically, as you said that you dont need to populate the sixth field of the table ..initialise it to zero/space depending on the field type</b>..
Regards
Anurag
Message was edited by: Anurag Bankley
‎2006 Sep 11 11:02 AM
You need to assign all the fields of the table in your work area.
<b>Basically, as you said that you dont need to populate the sixth field of the table ..initialise it to zero/space depending on the field type</b>..
Regards
Anurag
Message was edited by: Anurag Bankley
‎2006 Sep 11 11:02 AM
using modify is the best way, and no need to omit that field. but do nt pass any value to it
‎2006 Sep 11 11:04 AM
Declare this way:
<b>TYPES: BEGIN OF t_zts_stpgeoloc.
Include structure zts_stpgeoloc.
types: END OF t_zts_stpgeoloc.</b>
DATA: lt_zts_stpgeoloc type hashed table of t_zts_stpgeoloc
with unique key kunnr cdseq,
wa_zts_stpgeoloc like line of lt_zts_stpgeoloc.
FIELD-SYMBOLS: <fs_stp> like line of lt_zts_stpgeoloc.
LOOP AT gt_zts0001_old ASSIGNING <fs_old>.
read table lt_zts_stpgeoloc with table key
kunnr = <fs_old>-kunnr
cdseq = <fs_old>-cdseq
assigning <fs_stp>.
if sy-subrc <> 0.
<b>wa_zts_stpgeoloc-mandt = sy-mandt.</b>
wa_zts_stpgeoloc-kunnr = <fs_old>-kunnr.
wa_zts_stpgeoloc-cdseq = <fs_old>-cdseq.
wa_zts_stpgeoloc-zaddress = <fs_old>-zaddress.
wa_zts_stpgeoloc-zcperson = <fs_old>-zcperson.
wa_zts_stpgeoloc-zcnumber = <fs_old>-zcnumber.
insert into zts_stpgeoloc values wa_zts_stpgeoloc.
endif.
endloop.
Message was edited by: Ravi Kanth Talagana
‎2006 Sep 11 11:10 AM
hi,
tables zts_stpgeoloc.
data : lt_zts_stpgeoloc like zts_stpgeoloc occurs 0 withheader line.
FIELD-SYMBOLS: <fs_stp> like line of lt_zts_stpgeoloc.
LOOP AT gt_zts0001_old ASSIGNING <fs_old>.
read table lt_zts_stpgeoloc with table key
kunnr = <fs_old>-kunnr
cdseq = <fs_old>-cdseq
assigning <fs_stp>.
if sy-subrc <> 0.
lt_zts_stpgeoloc-kunnr = <fs_old>-kunnr.
lt_zts_stpgeoloc-cdseq = <fs_old>-cdseq.
lt_zts_stpgeoloc-zaddress = <fs_old>-zaddress.
lt_zts_stpgeoloc-zcperson = <fs_old>-zcperson.
lt_zts_stpgeoloc-zcnumber = <fs_old>-zcnumber.
insert into zts_stpgeoloc values lt_zts_stpgeoloc.
endif.
endloop.
this will solve ur pblm.rwrd points if hlped
anver
‎2006 Sep 11 12:13 PM
LOOP AT gt_zts0001_old ASSIGNING <fs_old>.
read table lt_zts_stpgeoloc with table key
kunnr = <fs_old>-kunnr
cdseq = <fs_old>-cdseq
assigning <fs_stp>.
if sy-subrc <> 0.
wa_zts_stpgeoloc-kunnr = <fs_old>-kunnr.
wa_zts_stpgeoloc-cdseq = <fs_old>-cdseq.
wa_zts_stpgeoloc-zaddress = <fs_old>-zaddress.
wa_zts_stpgeoloc-zcperson = <fs_old>-zcperson.
wa_zts_stpgeoloc-zcnumber = <fs_old>-zcnumber.
*insert into zts_stpgeoloc values wa_zts_stpgeoloc.
instead of this insert line you can use modify stmt like
modify wa_zts.
endif.
endloop.