cancel
Showing results for 
Search instead for 
Did you mean: 

File to Idoc multiple rows

former_member271795
Participant
0 Kudos

Hi

Could someone steer me in the right direction

I have a file which has several fixed length rows, for each row I want to create an Idoc FIDCC1.FIDCCP01

Can this be done through message mapping or would I have to create a BPM?

Are there any examples where this has already been done.

If defined the incoming message as

mt_refund 1. 1

row 0..unbounded

refund 1..1

module 1.1

the idoc has been modified so that several idocs can be produced for one message

FIDCCP01 1. 1

IDOC 0..unbounded

Begin 1..1

E1FIKPF 1..1

E1FISEG 0..999

E1FISEC 0..999

In the mapping the field row maps to IDOC ; field refund maps to E1FIKPF , E1FISEG, E1FISEC and the respective segment

The error that keeps occuring is "Cannot produce target element /FIDCCP01/IDOC/E1FIKPF/E1FISEG[2]/SEGMENT. Queue does not have enougth values in context. Target xsd requires a value for this element but target field mapping does not produce one"

It's wants to add more than one E1FISEG segement, but I only require one per input row

can anyone help

thanks

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

>>Cannot produce target element /FIDCCP01/IDOC/E1FIKPF/E1FISEG[2]/SEGMENT

this error means that there is no value coming for the "SEGMENT" field under second occurrence of E1FISEG...

former_member271795
Participant
0 Kudos

Thanks for the prompt reply

but I don't want multiple occurances of the segment to be produced, only one

Former Member
0 Kudos

Hi Geoff

If you need just one occurrence of the segment, you can map it with a constant.

Segment will be created only once per each parent.

Regards,

Giuseppe

Former Member
0 Kudos

to which sorurce filed u are mapping "E1FISEG"??

and make sure that each segment has an attribute "Segment" and should have a value "1". u can sue constant function to achieve this...

former_member271795
Participant
0 Kudos

Thanks for all the help, the test mapping is now working but I'm still getting an error when the interface runs

mmrefunds_to_FIDCCP01_: Fatal Error

does anyone know where I can get more information on whats causing the problem

The payload, a text file does not look like it has been broken down into PI XML

eg

C01027347111376846 8 xxxxxxxxxxxxxxxxxxxxxxxxxxxx

C01027347111688968 5 xxxxxxxxxxxxxxxxxxxxxxxxxxxx

do I have to define the recordset in config for this to happen?

Former Member
0 Kudos

Hi

I'm still getting an error when the interface runs

> mmrefunds_to_FIDCCP01_: Fatal Error

> does anyone know where I can get more information on whats causing the problem

Check on the "Trace" sheet in SXMB_MONI.

> The payload, a text file does not look like it has been broken down into PI XML

> eg

> C01027347111376846 8 xxxxxxxxxxxxxxxxxxxxxxxxxxxx

> C01027347111688968 5 xxxxxxxxxxxxxxxxxxxxxxxxxxxx

>

> do I have to define the recordset in config for this to happen?

For this you need to enable and configure content conversion on the sender adapter.

You can have a look at this page: http://help.sap.com/saphelp_nw04/helpdata/EN/2c/181077dd7d6b4ea6a8029b20bf7e55/content.htm

Regards,

Giuseppe

Answers (1)

Answers (1)

former_member271795
Participant
0 Kudos

I decided to split the incoming message using ccBPM