06-30-2009 8:35 AM
hi all
i want to transfer data from my sap tables to non sap server using idoc.
how can i transfer it? please guide me to do it
Thanks & Regards.
Gaurav
06-30-2009 8:43 AM
Hi,
If you want to really to send the data via Idoc, then you need to write a program and use the FM MASTER_IDOC_DISTRIBUTE to create an Idoc.
06-30-2009 9:37 AM
hii thanks for reply
i tried it . but field length is giving me a problem. i.e. is data is not of exact length as field length then its taking datas from other fields to filling the space and hence giving wrong o/p
how to tackle it...
Thanks
Gaurav
06-30-2009 9:40 AM
06-30-2009 10:19 AM
here is my code...
in this code field arktx has filed length of 35 char but if the descrip is less than 35 char then it adds values of next fileds in those blank splaces of arktx in idoc... how to avoid it?
&----
*& Report ZZ_PROGRAM_TO_CREATE_IDOC
*&
&----
*&
*&
&----
report zz_program_to_create_idoc.
.
tables: zvbrp.
selection-screen begin of block b1 with frame title titl.
selection-screen skip.
select-options:s_vbeln for zvbrp-vbeln.
parameters : p_logsys like tbdlst-logsys.
selection-screen end of block b1.
data: header_segment_name like edidd-segnam value 'ZZVBRP',
idoc_name like edidc-idoctp value 'ZVBRP'.
data: header_segment_data like zvbrp.
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_vbrp occurs 0,
vbeln like vbrp-vbeln,
posnr like vbrp-posnr,
matnr like vbrp-matnr,
arktx like vbrp-arktx,
vrkme like vbrp-vrkme,
aubel like vbrp-aubel,
aupos like vbrp-aupos,
vgbel like vbrp-vgbel,
vgpos like vbrp-vgpos,
end of i_vbrp.
start-of-selection.
select
vbeln posnr matnr arktx vrkme aubel aupos vgbel vgpos
from vbrp into table i_vbrp
where vbeln in s_vbeln
and fkimg ne 0.
control_record-mestyp = 'ZZ9838MESG1'.
control_record-idoctp = 'ZVBRP'.
control_record-rcvprt = 'LS'.
control_record-direct = '1'.
control_record-rcvprn = p_logsys.
loop at i_vbrp.
header_segment_data-vbeln = i_vbrp-vbeln.
header_segment_data-posnr = i_vbrp-posnr.
header_segment_data-matnr = i_vbrp-matnr.
header_segment_data-arktx = i_vbrp-arktx.
header_segment_data-vrkme = i_vbrp-vrkme.
header_segment_data-aubel = i_vbrp-aubel.
header_segment_data-aupos = i_vbrp-aupos.
header_segment_data-vgbel = i_vbrp-vgbel.
header_segment_data-vgpos = i_vbrp-vgpos.
i_data-segnam = header_segment_name.
i_data-sdata = header_segment_data.
condense i_data-sdata.
append i_data.
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 BILL NUMBER'.