Application Development 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: 

data transfer using idoc.

Former Member
0 Kudos

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

4 REPLIES 4

alex_m
Active Contributor
0 Kudos

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.

Former Member
0 Kudos

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

0 Kudos

May be past the code then we can help.

Former Member
0 Kudos

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'.