cancel
Showing results for 
Search instead for 
Did you mean: 

No PO Created in backend system after Bid is accepted

Former Member
0 Kudos

We are on SRM 4.0. using Classic Scenario

We can create a bid invitation in SRM and we have used the BADI - BBP_DETERMINE_LOGSYS to indicate to the system to create a purchase order in the backend system after the bid is accepted. We keep getting the following error in SM21: Purchase orders cannot be created without IPC pricing

Did you have to turn on the IPC in order to create the purchase order in R/3? Also, if you have used the BBP_DETEMINE_LOGSYS Badi and have example code that might be helpful as well.

If anyone has some useful BID INVITATION configuration document or tips that will be appreciated. email id is ashwani.bhalani@gmail.com

Thanks,

Ashwani

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

The BADI is used in case of Backend contract creation.Please read the documentaion of the BADI carefully.

You can use the Business Add-In BBP_DETERMINE_LOGSYS to define your own

criteria for determining the backend system / company code. You use thi

BAdI to determine the source system for

o Shopping cart items

In the standard system, the backend system is determined using the

product category Define Backend Systems. The backend System is

placed in the field ITEM_DATA-LOGICAL_SYSTEM. Then the system calls

the Business Add-In BBP_DETERMINE_LOGSYS.

The company code is put in the field ITEM_DATA-BC_CO_CODE. Then the

system calls the Business Add-In BBP_DETERMINE_LOGSYS.

o Contracts

In the standard system, the system creates contracts locally from

Sourcing and SAP Bidding Engine You can use this BAdI to determine

backend system.

Example

Shopping Cart:

Backend system A is determined for product category OFFICEMATERIAL. You

also want to consider the vendor and purchasing organization fields

during determination of the backend system. The purchase order is to be

created in backend system B for the vendor OFFICE1 and purchasing

organization 0001. You overwrite the field ITEM_DATA-LOGICAL_SYSTEM wit

B.

Contract:

The local system used by the standard system to create contracts is

XYZ4711. In the field CV_LOGSYS, you enter the logical system ABC0815

that links to a backend system. In this way, contracts are created in

the backend system.

Sample codes for the BADI:

method IF_EX_BBP_DETERMINE_LOGSYS~DETERMINE_LOGSYS.

data: w_acct_data type enriched_acct_data.

data: w_acct_icom type BBP_PDS_ACC_ICOM.

data: w_et_messages type BBP_TMESSAGES_BADI.

data: re_obj(40).

data: imkey(8).

field-symbols: <waItem> type bbp_oci_enritem.

field-symbols: <waAcct> type bbp_oci_enracct.

field-symbols: <f1> type any.

if not acct_data[] is initial.

loop at item_data assigning <waItem>.

loop at acct_data assigning <waAcct> where line = <waitem>-line.

check <waAcct>-acc_cat = 'RE'.

if not <waAcct>-acc_str is initial.

CALL FUNCTION 'Z_RE_ACCT_ASSGN'

EXPORTING

ACC_STR = <waAcct>-ACC_STR

BUKRS = <waItem>-BE_CO_CODE

IMPORTING

RE_OBJ = RE_OBJ

IMKEY = IMKEY

TABLES

BBP_RETURN = w_et_messages.

endif.

if not imkey is initial and w_et_messages[] is initial.

move imkey to <waAcct>-rl_esk_key.

move re_obj to <waAcct>-acc_str.

modify acct_data from <waAcct>.

endif.

endloop.

endloop.

endif.

endmethod.

OR

method IF_EX_BBP_DETERMINE_LOGSYS~DETERMINE_LOGSYS.

data: ztprod type zprod1.

data result(4).

data tline TYPE LINE OF bbpt_detlogsys_item.

loop at item_data into tline.

case sy-uname.

when 'BUYER3'.

if tline-product eq '69E2D3C8AF4B5C4CBDCC73A50C58EFA2' or

tline-product eq '6BB856ADA25D584FA0B5A2FDCDA27766' or

tline-product eq 'F31AD68E8EDCE646A9C7ECC4F24CE464' or

tline-product eq 'ABC0320E1A37E743B75406DF0B7C53BF' or

tline-product eq '3C0665006B2D2A43B3A1CC74B560E8A9' or

tline-product eq '8F97635441496647A69CD021A5FFF4D2'.

tline-be_co_code = '1000'.

tline-logical_system = 'F47CLNT800'.

tline-BE_PUR_ORG = 'O 50000660'.

tline-BE_PUR_GROUP = 'O 50000662'.

modify item_data from tline.

endif.

when others.

select single * from zprod1 into ztprod where product eq tline-product.

if sy-subrc eq 0.

tline-be_co_code = '3000'.

tline-logical_system = 'F47CLNT800'.

modify item_data from tline.

elseif tline-product is initial.

tline-be_co_code = '3000'.

tline-logical_system = 'F47CLNT800'.

tline-BE_PUR_ORG = 'O 50000612'.

tline-BE_PUR_GROUP = 'O 50000614'.

modify item_data from tline.

endif.

endcase.

endloop.

endmethod.

Also if you have activated "EXTENDED CLASSIC SCENARIO"( SPRO>Supplier Relationship Management>SRM Server>Cross-Application Basic Settings>Activate Extended Classic Scenario),then IPC is mandatory for ECS .

BR,

Disha.

Do reward points for useful answers.

Former Member
0 Kudos

Hi Disha,

I have an additional question. I have implemented the BADI that you talk about below, but is there additional configuration required in the "Define Transaction Types" section of SPRO. We have already configured the following their:

For transaction "Bid Invitation" and type "PFCR" we have configured the following:

- The internal number range is consistent with the R/3 contracdt external number range

- Under Process Control we have flagged "Contract" (I would think this plus the BADI implementation would force the system to create the contract in the R/3 system, but we are not seeing that.)

- For the BADI IF_EX_BBP_DETERMINE_LOGSYS~DETERMINE_LOGSYS we have the following code:

METHOD if_ex_bbp_determine_logsys~determine_logsys.

DATA: line TYPE BBPS_DETLOGSYS_ITEM.

loop at item_data into line.

line-logical_system = 'Q01CLNT030'.

line-logsys_fi = 'Q01CLNT030'.

line-be_co_code = '2861'.

modify item_data from line.

endloop.

- For the BADI IF_EX_BBP_DETERMINE_LOGSYS~CONTRACT_LOGSYS_DETERMINE.

method IF_EX_BBP_DETERMINE_LOGSYS~CONTRACT_LOGSYS_DETERMINE.

CV_LOGSYS = 'CSC_Q01030'.

endmethod.

Even after all these change we still do not see the SRM sytem attempting to create the contract in R/3 from the BID after we click on "Create Contract" on the accepted BID. I assume the contract is created via a BAPI? I am not seeing any errors or dumps, I have check ST22, RZ20, SM21....

If you can please let us know if we missed a step in our setup and/or if there is another place we might be able to see an error. Also it would be nice to know how to debug this as I have not found a way to debug it.

Regards,

-Paul

Former Member
0 Kudos

Hi Paul,

I am not sure, if you can manipulate the system within Bid Invitation to directly create a contract in R/3. The process works that way, that you create a contract document from bid invitation by clicking on the button. That is also related to the follow on documents your're defining. The system creates a contract doc in SRM, which is not yet fully complete. That's way also direct contract creation from bid inviation is not possible. Bid Invitation and Contract Management are directly connected. Then from contract management, you can directly create a contact in R/3 using the Badi BBP_DETERMINE_LOGSYS. When you the create contract, the contract doc is directly created in R/3.

Cheers,

Claudia

Former Member
0 Kudos

I appreciate your clarification on the process. I have not noticed that a local contract has been created. Is there anywhere I would be able to see an error? Would I see this contract under the "Process Contract" transaction?

Regards,

-Paul

Former Member
0 Kudos

Yes - have a look in the Contract transaction - there you'll find the missing contract.

When you push the Create Contract Button you should get a green message stating, that a contract has been created not complete; something like that. No error, as it is the normal process. Go to the contract transaction and there should be an entry in the overview with a contract in held status. The document type depends on your settings in the customizing for follow on document.

Cheers,

Claudia

P.S.: In case you want to reward the people in the community, open a new thread with your question. All members will be happy to help and also like getting a smile when solutions are found and points are reward

Answers (1)

Answers (1)

Former Member
0 Kudos

Ashwani,

Refer to SAP Note 539720 (Simplified Pricing - classic scenario)

Regards,

Suren

Former Member
Former Member
0 Kudos

Hi Suren,

Thanks for your reply. We already have Simplified Pricing configured in SRM.

The problem is that we want to create a PO in the backend system and are unable to do so. Any suggestions on how to do this?

Regards,

Ashwani