Application Development and Automation 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: 
Read only

Outbound IDOC - function modul is not called?

Former Member
0 Likes
3,410

Hi community,

since i tried different things i don't get the right solution - maybe someone has some ideas / suggestions

we want to create an outbound idoc via CI42N (PP Order)

- because of additional values we create new segments and a new basistyp (WE31/ WE30)

- everthing around (distribution model / partnermodel (BD64 / WE20) works fine as well

> in standard we can create an standard idoc (PPCC2RECORDER) with no problems

but how can we get our own IDOC (ZPPCCRECORDER)

-i know that if we route this standard idoc to porttyp ABAP_PPS (WE21) with our own Z function modul we could create our idoc on our own - but the break point in the function modul is not raising. (debugging is activated)

Thanks in advance

Steppe

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
2,380

Did you create a new Process code and assign that to your new Z function module?

12 REPLIES 12
Read only

Former Member
0 Likes
2,380

HI Stefan,

do you used an EXIT ? Then you have to activate it via CMOD tcode, first.

Read only

0 Likes
2,380

Hi Gordon,

no we don't use an user exit. Because of creating a complete new IDOC we thougt it is easier to create ABAP-PPS Port in WE20 and put a function modul there for creating the idoc.

(also i couldn't found an appropriate Exit for that IDOC - PPCC2RECORDER)

Steppe

Read only

Former Member
2,380

Hi,

If its a few additional fields you want to add then you can use the concept of IDoc extensions, where you can extend a standard IDoc and then populate the segments in user exits of the standard function module that creates the outbound IDoc. You can search IDoc documentation for IDoc extension.

If the above doesn't meet your requirement which is very rare, only then should you think of going for a custom IDoc.

Regarding stopping at the function module where you have set the break point, you will have to change the output type output mode. Here instead of using 1 , Trigger Idoc immediately, choose 4 , (dont rememeber the exact text ) Save the data.

Now run the program RSNAST00 program in, just put a break point in the subroutine edi processing in this program, this is when the function module that you configured to be used for creating the Idoc is called.

regards,

Advait

Read only

0 Likes
2,380

Hi Advait,

Thanks for response. Because of a lot more fields that we have to transfer we decided to make a new idoc with new segments ...also we couldn't find a suitable Exit for PPCC2RECORDER Idoc.

I changed the output mode from 2 to 4 (collect IDOC) - due to the receiver port for that idoc is an ABAP PPS (WE20) there is only typ 2 and 4 -

After that i called the report RSEOUT00 (WE14) - now in WE02 in status message " IDOC is forwarded to function module z***" the function module we definded in WE21 for our ABAP-PPS port.

But still the breakpoint is not called in this function module. (Maybe there is an other way to create our idoc)

Thanks

Steppe

Read only

0 Likes
2,380

Hi,

I was not referring to the collecting of IDocs in the partner profile, because by this time the IDoc is already created and RSEOUT00 only pushes the IDoc to the receiver.

I guess you must be using a custom output type which gets triggered when you save the data in application.

So do as follows :

1. Goto the Output messages ,

2. Select an existing output (for the custom output that is already sent) and

3. Click on repeat output button. A a copy of that output is created and the status field is yellow at this moment.

4. Choose the newly created output message and click on the further details button on the application toolbar.

5. There you have options 1 to 4, choose the 1. Send with periodically scheduled job. Now press the save button.

After this execute the program RSNAST00 , but before executing the program , put a breakpoint on the subroutine (form...endform) edi_processing of that program.

regards,

Advait

Read only

Former Member
0 Likes
2,380

check the output mode for the IDOC if its collect idocs then it will not be triggered.

In tcode WE20 in the outbound paramters of that message type

try to change Outputoptions -> output mode ->Transfer Idoc Immediately.

Read only

Former Member
0 Likes
2,381

Did you create a new Process code and assign that to your new Z function module?

Read only

0 Likes
2,380

Hi MxG

yes - in WE41 i create an new process code and assign that to my z function module.

But i didn't do anything with this process code - do i have to link this code and if yes to what.

thanks

Steppe

Read only

0 Likes
2,380

you have to enter the process code in the message control tab. but before that you make sure that the message control is supported for this idoc.

in we20 ,in outbound parameters double click on message type.

in the message control tab enter your process code.

Read only

0 Likes
2,380

Hi,

Make Sure you follow this seq:

Goto WE31- Create the Idoc Type.

Goto WE30- Create the Seg Type.

Goto WE81- Create the Msg Type.

Goto WE82- Assign IDOC Type to Msg Type , Give the proper Release(47).

Goto WE57- Assign of Function Module to Logical Msg Type and IDOC Type.

Change Mode.

New Entries.

Give FM Name , Type is F .

IDOC Type

Msg Type.

Goto WE42 u2013 Define Inbound Process Code .

Change Mode.

New Entries.

Give Process Code Name.

Desc.

In Identification Give ur FM name.

In Options ALE u2013 Choose First.i.e With ALE.

Processing Type is Second. i.e By FM.

Goto WE20 u2013 Maintain Partner Profile.

New

Choose an Existing LS as Partner Number.

Part Type is LS.

Goto Inbound Parameters.

Create Msg Type

Give Ur Msg type.

In Process Code give the Process Code U have created earlier.

Choose Syntax check.

Choose Trigger Immidiately.

Read only

0 Likes
2,380

Hello Ajay,

sorry for late reply

thanks for answer - i mixed something up in WE57 and WE42 so that it couldn't work. after that it work.

Thanks Steppe

Read only

Former Member
0 Likes
2,380

Hello,

The first thing is to check whether the assignment of the IDoc Extetsion with the extended Segments has been made in the Transaction WE82 with the Message Type, Basic Type & the Extension Combination.

Secondly, if the Break Point does not trigger when you are processing the IDoc, use the Program RSNAST00 to reprocess the IDoc again. The Break Point should be triggering.

Thanks and Regards,

Venkat Phani Prasad Konduri