‎2008 Nov 03 4:55 PM
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
‎2008 Nov 03 7:40 PM
Did you create a new Process code and assign that to your new Z function module?
‎2008 Nov 03 5:19 PM
HI Stefan,
do you used an EXIT ? Then you have to activate it via CMOD tcode, first.
‎2008 Nov 04 8:33 AM
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
‎2008 Nov 03 5:44 PM
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
‎2008 Nov 04 8:56 AM
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
‎2008 Nov 05 8:47 AM
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
‎2008 Nov 03 7:04 PM
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.
‎2008 Nov 03 7:40 PM
Did you create a new Process code and assign that to your new Z function module?
‎2008 Nov 04 9:32 AM
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
‎2008 Nov 04 4:31 PM
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.
‎2008 Nov 05 11:57 AM
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.
‎2008 Nov 11 3:33 PM
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
‎2008 Nov 03 7:43 PM
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