on 02-15-2008 8:31 PM
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
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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
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
Ashwani,
Refer to SAP Note 539720 (Simplified Pricing - classic scenario)
Regards,
Suren
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
One more useful link.
http://help.sap.com/saphelp_srm30/helpdata/en/72/f40f3c98ddaa4ce10000000a11402f/content.htm
- Suren
User | Count |
---|---|
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.