cancel
Showing results for 
Search instead for 
Did you mean: 

PPO Usage

Former Member
0 Kudos

Hi Experts

Iam facing a problem in linking customer / vendor to business partner.

After refereing to SAP Note 956054 - BP CVI Customer-Vendor integration. It talks about activating Post Processing Order. At the same time in this note in point 1.2 it talks about activating PPO in test environemnt and in the same point it advise not activate PPO in productive environment.

My question is can be proceed with the CVI without using / or activating PPO.

thanks & regards

Accepted Solutions (1)

Accepted Solutions (1)

sivaprasad_r
Active Contributor
0 Kudos

Hi,

Yes. it is possible to go ahead without PPO ( Post processing office ) activation. it is necessary to activate PPO in case you want to trouble shoot the auto creation of BP through Synchronisation cockpit.

After executing Synchronisation cockpit, to see the errors, a pre requisite is to activate the PPO.

Enjoy..

Siva

Former Member
0 Kudos

Hi Siva,

Still its quite confusing, inspite of being possible to go head without activation of PPO it is necessay to activate to trouble soot th auto creation of BP through syncronization cockpit.

Could u please explain in little more detail.

thanks & regards

Former Member
0 Kudos

Hi,

On a day-to-day use of the production system, you would not really see too many customizing based errors. Also, you would not want to create inconsistencies by creating an unsynchronised object. Hence, you'd keep the PPO off.

Suppose, someone suddenly comes along and changes the customizing, and as a result of this, you start getting short dumps with un-informatinve messages, you might want to know how to correct the errors / cause of dumps. That's when you can switch ON the PPO, and you can see the actual error in the log and then take preventive action.

This is the reason for "inspite of being possible to go head without activation of PPO it is necessay to activate to trouble soot th auto creation of BP through syncronization cockpit."

Regards,

Rishu.

Answers (2)

Answers (2)

Venkat_Sesha
Advisor
Advisor
0 Kudos

Hi there,

PPO is like a separate department where you can handle the error which are unexpected and unhandled to be handled in PPO.

There is a master table for all the PPOs raised and it is /SAPPO/ORDER_HDR.

You will have each Business process for each process where in for example, Billing in Financial Services area will be BILL_CRE. Similarly in your case you will also have one. It could be this /SAPPO/S_BPROC_T.

Also to know more about PPO from your SAP standard menu you will find the PPO department saying Postprocessing Office. Please expand the menu to know more and see how it works.

Hope this helps

Former Member
0 Kudos

Hi Bhargav,

How to link z business process to a standard business process provided by SAP ?

We have a field for Business Process ID in the table /SAPPO/ORDER_HDR, will this help in linking Z business process to standard business process ?

Example: Account Billing in Financial Services has a standard business process BCA_BL, in the table /SAPPO/ORDER_HDR an entry gets stored whenever an order is created during account billing process.

Is there a customizing table to maintain the Business Process ID as well ? From my analysis, i don't see a master table which has business process and i believe it is fixed(written) in the code(of the application). Is my understanding correct ?

Thanks, Deni

Venkat_Sesha
Advisor
Advisor
0 Kudos

Hi Deni,

You can define a Custom Business process in the PostProcessing Office SPRO

Financial Services - > Account Management -> PostProcessing Office -> Business Process -> Define Business Process.

Or you can go to transaction BCA_PPO_VIEWCALL

1. There you must define a new Z Business process assigned to a Software component for example

FS-AM ZBILL_PAY and Process description

2. Activate creation of PPO orders

3. Assign Priority if you want to assign this is a optional step

4. In Worklist -> Assign Worklists to Business Process Lets say you can assign to PPO1(Production Support)

5. That's it you are done, you can verify the setting made in the transaction /SAPPO/SYS_VALDISP

After all this you can use these settings in your program to create Custom PPO order if something goes wrong. for example.

Check this interface IF_AM_PP_PACKAGE for creating a PPO order programmatically.

you can even check this BADI IF_EX_BCA_PPO_CREATE_ORDER. There are also lot of BAPIs that you can use to create PPO Orders

Hope this helps.

Venkat_Sesha
Advisor
Advisor
0 Kudos

Sorry for the late reply by the way.

Former Member
0 Kudos

Thank you Bhargav for the inputs.:)

There are couple of FM's to create a PPO.

1. BCA_PPO_MAPI_PROC_SET_CONTEXT - to set the context like component, business process and business process id.

2. BCA_PPO_MAPI_PROC_CREATE_ORDER - To create the order

3. BCA_PPO_MAPI_PROC_SAVE_ORDER - To save the order in DB

Former Member
0 Kudos

Hi,

Yes, you can proceed to use PPO as you wish,the note only provides a recomendation.

The reasoning is this :

If PPO is active, you see the errors in the PPO log. But, this leads to an inconsistency in the sense that the synchronization is incomplete. E.g: you get an error that required field is not filled on the custoemr, but the BP gets created. Thus, just one obejct - either BP or customer gets creaetd- and this is inconsistent for the production systems. Thus, for production, keep PPO off.

If PPO is inactive, then you donot get to see the errors, but you get a short dump in case of error. Though a short dump isn't a great program repsonse, it atleast prevents the inconsistency from being created.

Hope this answers your query.

Cheers,

Rishu.

Former Member
0 Kudos

Hi Rishu,

Nice explanation, thanks.

When trying to create a BP for customer or vendor i just get a message "No business partner could be created for vendor XXXXXXXX"

The error message futher says that it could be due to some fields in customer / vendor master which are blank and which are required in BP master data.

Now is there any report where in we can compare the field status of customer / vendor master with the field status of BP?

Cheers ......

Former Member
0 Kudos

Hi ,

There's no report to compare the field customizing, but there's another nice workaround-

you can make a small change so that the short dump in case of inactive PPO shows you the real message instead of a useless "MESSAGE_TYPE_X".

Go to method SYCHRONISE of class MDS_CTRL_STRATEGY.

You'll find this block of code that raises the MESSAGE_TYPE_X...

MESSAGE x010.                                                    
 CONCATENATE text-001 text-002 INTO lv_text SEPARATED BY space.   
 MESSAGE lv_text TYPE 'X'.

Delete those lines and insert these -

DATA: lx_Object type MDS_CTRLS_ERROR_OBJ_LINE,
             lx_message type MDS_CTRLS_OBJ_ID_MESSAGES,                                                          
             lx_info type BAPIRET2.                                                                                
MESSAGE x010.                                                                                
LOOP AT ls_error-objects INTO lx_object.                                                               
      	 LOOP AT lx_object-id_messages INTO lx_message.                                                       
        		 LOOP AT lx_message-messages INTO lx_info.                                                          
           		 Message ID lx_info-ID TYPE X Number lx_info-number display like "A" raising lx_info-message.    
          		 lv_text = lx_info-message.                                                                                
MESSAGE lv_text TYPE 'X'.                                                                                
ENDLOOP.                                                                                
ENDLOOP.                                                                                
ENDLOOP.
CONCATENATE text-001 text-002 INTO lv_text SEPARATED BY space.                                        
    MESSAGE lv_text TYPE 'X'.  

Now the short dump will show you the actual error message so you can do the trouble shooting - and still not have inconsistencies.

Try this workaround, i'm sure it'll help

Cheers,

Rishu.

Former Member
0 Kudos

closed