cancel
Showing results for 
Search instead for 
Did you mean: 

Sending text to Standard IDOC

Former Member
0 Kudos

Hello Experts,

My scenario is SOAP-IDOC,my client will send the text with 1000 characters or more than that,now I need to read the text and pass it to ECC using a field called TEXT_LINE having 132 character length  with occurence 0..1 which is  inside a segment   E1BPMEREQITEMTEXT(with occurence 0...999999999).

Please suggest on how to send the text to ECC using PI.

Note:This is a PR,using the standard IDOC PREQCR1.PREQCR101 and PI version is 7.1

Regards,

Kalpana.

Accepted Solutions (1)

Accepted Solutions (1)

markangelo_dihiansan
Active Contributor
0 Kudos

Hi Kalpana,

Your requirement can be achieved using a context type UDF. Here is a sample code that splits strings into 4 characters per line. You can modify it by replacing all number 4's with 132

Here is a sample mapping

display queue

mapping test tab output

Hope this helps,

Mark

Answers (2)

Answers (2)

Former Member
0 Kudos

Hello All,

Thanks for your reply.

The  ABAPer has come with the new idea, instead of passing PRLINE to the segment,

PRLINENUM should get  passed to PREQ_ITEM which is present in the same segment(E1BPMEREQITEMTEXT).

Below is the mapping Strucuture for PREQ_ITEM.

As suggested,I did the mapping in two ways as shown below.

While testing,the PREQ_ITEM occurs only one time.

As this PREQ_ITEM is mandatory field,this has to be passed.

Please Suggest on how to take this forward.

Regards,

Kalpana.

Former Member
0 Kudos

Hi,

Thanks for your reply,my issue is resolved using UseoneAsmany function,passed the input of  PRLINENUM and Splitstring UDF to UseoneAsmany and mapped to PREQ_ITEM,it worked.



Regards,

Kalpana

Former Member
0 Kudos

Hi Mark,

Thanks for your reply,it worked perfectly ,but  the concern is the  segment E1BPMEREQITEMTEXT works in a condition based on PRLINE as shown below,

please suggest on how to club the existing logic and the new logic

Regards,

Kalpana.

markangelo_dihiansan
Active Contributor
0 Kudos

Hi Kalpana,

Try using the logic ifWithoutElse function.

PRLINE -> exists -> ifWithoutElse -> removeContext -> splitString UDF

text----------------------> /

Regards,

Mark

pvishnuvardan_reddy
Active Contributor
0 Kudos

Hi Kalpana,

After the createIf node function, use IFWITHOUTELSE boolean function, passthe createIf output to the IF part, for the then part, pass the output of splitstring function as mentioned by Mark.

Try this out and let us know if you struck anywhere.

Regards

Vishnu