‎2007 Sep 27 10:31 AM
Hi all,
I am populating a segment in an idoc by using the folllowing statements
LOOP AT tb_accgl into wa_accgl.
<b>move wa_accgl to WA_seg-SDATA.</b>
EDIDD-MANDT = SY-MANDT.
EDIDD-SEGNAM = WA_SEG-SEGNAM.
EDIDD-SDATA = WA_seg-SDATA.
APPEND EDIDD.
endloop.
but at the move statement i am getting an syntax error " wa_accgl and WA_seg-SDATA are not mutually convertible in a unicode program.program "
can anybody solve this syntax error..
points will be rewarded,
thanks,
veena.
‎2007 Sep 27 10:37 AM
Hi,
Check the Data type of <b>wa_accgl </b> and <b> WA_seg-SDATA</b>
If it has the Same data type only you can move the data from one field to another.
Thanks,
Reward If Helpful.
‎2007 Sep 27 10:49 AM
Hi try like this..
data : i_data like edidd occurs 0 with header line,
header_segment_data like line of tb_accgl,
header_segment_name like edidd-segnam value <give the segment name>.
LOOP AT tb_accgl into wa_accgl.
header_segment_data-field1= wa_accgl-field1
header_segment_data-field2 = wa_accgl-field2
i_data-segnam = header_segment_name.
i_data-sdata = header_segment_data.
append i_data.
endloop.
now u will get the data...
Regards,
Nagaraj
‎2007 Sep 27 11:03 AM
‎2007 Sep 27 11:15 AM
hi,
can u paste ur full code here...iam sending my sample code ,have a look at it..
&----
*& Report ZZ_Program_To_Create_Idoc
&----
report zz_program_to_create_idoc .
tables: ekko,ekpo.
selection-screen skip 3.
selection-screen begin of block b1 with frame title titl.
selection-screen skip.
select-options s_ebeln for ekko-ebeln.
selection-screen skip.
selection-screen end of block b1.
data: header_segment_name like edidd-segnam value 'Z1EKKO',
item_segment_name like edidd-segnam value 'Z1EKPO',
idoc_name like edidc-idoctp value 'Z19838IDOC1'.
data: header_segment_data like z1ekko,
item_segment_data like z1ekpo.
data: control_record like edidc.
data: messagetyp like edmsg-msgtyp value 'ZZ9838MESG1'.
data: i_communication like edidc occurs 0 with header line,
i_data like edidd occurs 0 with header line.
data: begin of i_ekko occurs 0,
ebeln like ekko-ebeln,
aedat like ekko-aedat,
bukrs like ekko-bukrs,
bsart like ekko-bsart,
lifnr like ekko-lifnr,
end of i_ekko.
data: begin of i_ekpo occurs 0,
ebelp like ekpo-ebelp,
matnr like ekpo-matnr,
menge like ekpo-menge,
meins like ekpo-meins,
netpr like ekpo-netpr,
end of i_ekpo.
start-of-selection.
select ebeln aedat bukrs bsart lifnr from ekko
into table i_ekko where ebeln in s_ebeln.
select ebelp
matnr
menge
meins
netpr
from ekpo
into table i_ekpo
where ebeln in s_ebeln.
control_record-mestyp = messagetyp.
control_record-rcvprt = 'LS'.
control_record-idoctp = idoc_name.
control_record-rcvprn = '0MART800'.
loop at i_ekko.
header_segment_data-ebeln = i_ekko-ebeln.
header_segment_data-aedat = i_ekko-aedat.
header_segment_data-bukrs = i_ekko-bukrs.
header_segment_data-bsart = i_ekko-bsart.
header_segment_data-lifnr = i_ekko-lifnr.
i_data-segnam = header_segment_name.
i_data-sdata = header_segment_data.
append i_data.
select ebelp
matnr
menge
meins
netpr
from ekpo
into table i_ekpo
where ebeln = i_ekko-ebeln.
loop at i_ekpo.
item_segment_data-ebelp = i_ekpo-ebelp.
item_segment_data-matnr = i_ekpo-matnr.
item_segment_data-menge = i_ekpo-menge.
item_segment_data-meins = i_ekpo-meins.
item_segment_data-netpr = i_ekpo-netpr.
i_data-segnam = item_segment_name.
i_data-sdata = item_segment_data.
append i_data.
endloop.
clear i_ekpo.
refresh i_ekpo.
endloop.
call function 'MASTER_IDOC_DISTRIBUTE'
exporting
master_idoc_control = control_record
OBJ_TYPE = ''
CHNUM = ''
tables
communication_idoc_control = i_communication
master_idoc_data = i_data
exceptions
error_in_idoc_control = 1
error_writing_idoc_status = 2
error_in_idoc_data = 3
sending_logical_system_unknown = 4
others = 5
.
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
else.
loop at i_communication.
write: 'IDOC GENERATED', i_communication-docnum.
endloop.
commit work.
endif.
initialization.
titl = 'ENTER THE PURCHASE ORDER NUMBER'.
reward points if u find sueful.
Regards,
nagaraj
‎2007 Sep 27 11:48 AM
Nagaraj,
Thanks for the code...
sorry i cant paste my entire code here ,its very big code moreover so many includes are there.
i cant move each and every field differently. i have to move the entire itab once as there are so many fields. is there any other idea.
thanks,