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: 

Create SO from PO Output (IDOC)

dp_prasad
Participant
0 Kudos

Hi

we need to create an SO in company code XYZ from the PO output IDOC( Message NEU ) of another company code ABC.

Im trying to create the SO in the same System and same client , but in a Different Company code.

I have already configured in this way:

we have maintained VENDOR partner role to PO output type NEU

**Partner profile:
 
Vendor Outbound:
Partner no.           272xxxx
Partn.Type            LI
Partn.funct.          VN
Message Type      ORDERS
 
Outbound parmtrs.
VN	ORDERS	   	   
 
Receiver port        SAPEDI
Basic type           ORDERS05
Transfer idoc immediately
 
Message Control:
EF	NEU	   ME10
 
 
Customer Inbound:
SP Orders  
 
Partner no.           254XXX
Partn.Type            KU
Partn.funct.          SP
Message type      ORDERS
 
WE45 Transaction :
Logical address
    DSN 00002725XX
Application                         EF
Destination in SAP system           GMC 00002541XX

But the IDoc created from the Outbound is having status '03'. so the Inbound function module is not receiving this IDOC.

Am i missing something here , to connect the Outbound to Inbound.?

Regards

Dp

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi,

Are you getting IDOC in receiving system ? Have you created distribution model (BD64) for transmitting data from sender to receiver system?

Regards

Vinod

7 REPLIES 7

Former Member
0 Kudos

Hi,

Are you getting IDOC in receiving system ? Have you created distribution model (BD64) for transmitting data from sender to receiver system?

Regards

Vinod

0 Kudos

Hi Vinod,

Both Sender and receiver sytem is same. I need to create the SO in companycode XYZ from a PO IDOC of ABC company code.Here both system/Client are the same.

Its not a normal PO-->to SO, We are creating the SO in a different company Code.

IDOC is created with status 03, but its not passed to Inbound Function module.

PO outbound Partner:

VN orders(MESSAGE tYPE)

Customer Inbound

SP ORDERS

Hi Reddy

Receiver port SAPEDI

Former Member
0 Kudos

What port you r using here?

--

Reddy

Former Member
0 Kudos

Just check how your outbound port SAPEDI is defined. If you have an outbound IDoc you would need another inbound IDoc, which could then be processed. So your receiver port in the outbound partner profile should point to the same SAP system (so could be for example a Transaction RFC port referencing a logical RFC destination that just points back to the system).

In general though such a setup is not really desirable, because this means IDoc duplication (outbound and inbound IDoc). If you have an outbound IDoc, you cannot use it for inbound processing (at least in the standard IDoc framework). However, in general SAP accounts for such scenarios where you have an IDoc that needs to be sent back to the same system. To avoid duplicate IDocs, SAP just generates the inbound IDoc.

Best example is intercompany invoices, which you could use to better understand and read up on this scenario. E.g. if you check outbound process code (transaction WE41) SD08, you will see that it has the option Processing with trigger (inbound) checked. I haven't seen such use case for orders though and I don't think you can simply configure it (you'd need some custom programs, so it might be ok to stick with duplicate IDocs).

Cheers, harald

0 Kudos

Hi Herald,

I have changed the port to Trfc port which is pointing to the same Dev Server. But still im getting error that inbound partner profile not found. So i removed the Inbound Partner Profile that is maintained in Partner type KU .

I have created a new partner profile for the Inbound process under Partner Type 'LS', and the Outbound IDOC is forwarrded to the INBOUND with status "62", Which is what i wanted to achieve.( Same IDOC is forwarded to inbound process)

Partner no. P01CLNT888 Logical

Partn.Type LS Logical system

Partn.funct.

Message type ORDERS

Message code

Message function

Process code ORDE

My question here is , My outbound partner profile is maintained under the Partner type Vendor, but why is the system expecting the Inbound partner profile to be maintained at partner type Logical system( LS)( standard outbound function module for ME10 is reading the T000 table to get the standard Logical system and expecting( checking in table EDP21) my inbound profile to be maintained under same LS.

Thanks a lot .

0 Kudos

I have created a new partner profile for the Inbound process under Partner Type 'LS', and the Outbound IDOC is forwarrded to the INBOUND with status "62", Which is what i wanted to achieve.( Same IDOC is forwarded to inbound process)

I suspect that you're saying that you still have two IDocs (this is what I would expect). Status 62 is kind of odd, because this should be at best a transitional status. So once IDoc is created and ready for processing it should be in status 64 and then move to some status like 53, 51 or something like 56 etc.

My question here is , My outbound partner profile is maintained under the Partner type Vendor, but why is the system expecting the Inbound partner profile to be maintained at partner type Logical system( LS)

Let's take a step back and try to see what happens. So your output type on the PO generates an outbound IDoc and you are using condition records that specify the vendor as the receiving partner (on the IDoc control record). So when SAP generates the IDoc it uses the partner you specified as the recipient (and thus expects a corresponding outbound partner profile based on this recipient) and by default SAP enters itself as the sending partner (i.e. LS with logical system name assigned to client).

Now your outbound port points back to the same system and thus generates basically an almost one-to-one copy of your outbound IDoc. Thus your inbound IDoc has still the vendor as the receiving partner and the logical SAP system name as the sending partner. Since for inbound partner profile only the sending partner matters, you have to create an inbound partner profile using the logical system name assigned to your SAP client.

If you prefer to utilize a different sending partner on your inbound IDoc, you could for example for outbound initial orders implement customer exit EXIT_SAPLEINM_001 and overwrite the default sending partner filled in by SAP.

0 Kudos

Hi DP

I have the same scenario and after updating the port and having the inbound as logical system, still Im getting the outbound Idoc status as 03 and moved created as Inbound. Here PO SO is within the same company code.

Is anything Im missing here.