cancel
Showing results for 
Search instead for 
Did you mean: 

Need to create $0 SC in classic SRM 7.0 into PO in ECC

Former Member
0 Kudos

Hello Gurus,

We are on SRM 7.0 EhP1 SP Level 7 using classic scenario.  We have a requirement to be able to create a $0 shopping cart in SRM and them have that create a $0 PO in ECC.  Creating the SC is fine, but need to know how to resolve creating the $0 PO in ECC.  Is there any config that needs to be done to make this happen or will this be Abap development required.  If there is development can you please provide a sample code.  Appreciate any help for this.

Thanks,

Jeff Miller

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

As you want to create $0 PO, means you need goods/services as free-of-cost. Am I right?

If this is the case, then we have one checkbox (Free) in ME21n screen at item level. Just tick it while creating PO. It will fulfill your requirement.

If any doubt, just let me know.

Former Member
0 Kudos

Are you using the the Create PO Badi in SRM to do that?  Basically have logic stating if line item price is $0 then check the Free box in ECC PO line item.

Former Member
0 Kudos

Sorry Jeff, I didn't get what you want to ask?

I just suggested how to create PO for $0 in ECC with the help of SC.

Former Member
0 Kudos

Hi Jeff,

Are you using Direct PO creation from SC once it is approved or going through PR and then converting PO?

Regards

Ritesh

Former Member
0 Kudos

I understand how PO in ECC get created for $0.  I am asking how to make that happen from SRM when the system is trying to create the follow-on document in ECC.  The SRM SC is fine with being at $0, but it gives an error message when trying to create the PO in the backend ECC system.  How can we resolve this?  Can this be done through a BADI?

Former Member
0 Kudos

We are doing direct PO creation from SRM to ECC.  We do not create a PR in ECC only PO.

Former Member
0 Kudos

Hi Jeff,

Thank you for providing information. In order to achieve your requirement please implement BADI BBP_CREATE_BE_PO_NEW Method FILL_PO_INTERFACE1.

There is standard Structure you have to use BBPS_BADI_PO_ITEM_1 for PO line item where you can set the flag FREE_ITEM while transferring the SC data into PO.

Regards

Ritesh

Former Member
0 Kudos

Ritesh,

We have implemented this change, but I am getting an error message in SOCO net price must be greater than $0.  This is occurring before the transfer to ECC.  Is there a condition that I am missing in the config?

Thanks,

Jeff

Former Member
0 Kudos

Hi Jeff,

Based on your original question i thought you are creating PO's in ECC. You did not mention about SOCO being used in your scenario.

As per standard system behavior if you are using SOCO to create PO's then PO's must be created first in SRM and then replicated back into ECC? DO you have some BADI implemented where once you click on create PO in SOCO it actually trigger and create PO in ECC rather then SRM?

Thank you

Ritesh

Former Member
0 Kudos

Ritesh,

The PO's are created in the ECC side.  We are using SRM Classic scenario where by the SC is transferred over from SRM to ECC via RFC where the PO then gets created.  There should be a way for this to happen.

Thanks,

Jeff

Former Member
0 Kudos

Hi Jeff,

Thank you for the update information. The case you just mentioned that you are creating SC and then once it convert into PO in that case the BADI which i have mentioned does get call and . The reason i got confused as you mentioned SOCO which is Sourcing Cockpit in SRM terms.

So you are getting error message when placing $0 shopping cart itself? Correct me if i am wrong. If that is the case then please check your Workflow. Because there could be high possibility in workflow there is some customization put in place not to allow $0 SC and throw error message. I got the same error in my client when creating SC and when checking into workflow i found out that the n-step workflow is configured in such a way that it does not allow $0 shopping cart creation in my client but if  create SC with one $0 line item and other with dollar amount then it does allow.

Please check the same.

Thank you

Ritesh

uk_yelamuri
Contributor
0 Kudos

Hi Jeff,

Please check note '1707345: SOCO : Price cannot be zero for

purchase order item'

Former Member
0 Kudos

The note reference contracts, but we have not activated contracts in SRM yet.  So would this note still apply?

Former Member
0 Kudos

Here is where the validation error occurs for this issue.

The validation error "You must enter a price in order to create a purchase order" is thrown in webdynpro component "/SAPSRM/WDC_DO_SOCO_GAF_2".

  The responsible model class is "/SAPSRM/WDC_DO_SOCO_GAF_2".


Details of class "/SAPSRM/WDC_DO_SOCO_GAF_2".


  The validation check occurs in method "/SAPSRM/IF_CLL_DOM_SOCO_GAF2~MARK_ITEM_FOR_PO" of class "/SAPSRM/CL_CH_WD_DOM_SOCO_GAF2"

  between lines 329 to 349. Here it checks if " ls_workarea-gross_price IS INITIAL " and throws the error msg.

Former Member
0 Kudos

Hello all,

Here is SAP's response for this issue.

I had a discussion with my experts colleagues in Sourcing. In classic

scenario, the validation of the creation of back end PO is not

possible. Regarding the zero price check, it could not be removed

because there are cases in the backend where it is not allowed (for

example if there is an invoice expected) and that could not be validatedbeforehand in sourcing.


However, in order in for you to have that possibility for your business

case, here is a solution:

In the step 2 you should maintain a price (1$ for example) and at the

step 3 you maintain the badi BBP_CREATE_BE_PO_NEW which should, based onyour product and/or the associate vendor, put back the value to 0$.

Thus, because this is customizing I could not provide a note for that,

you should contact your local SAP consultant for further assistance

Answers (2)

Answers (2)

Former Member
0 Kudos

All,

We are receiving an error message "Net value must be greater than 0" when we are trying to create the ECC PO and flag the item as free item.  We are creating the SC as .01 USD and it works good, but when it is done as .01 in another currency it is giving the error message.  Can anyone please let me know where the currency exchange rate is happening for this to occur?  Is there any suggested work around for this?

Thanks,

Jeff

Former Member
0 Kudos

Just to let everyone know how we accomplished this.

· Implemented the Pre-exit ( Enhancement implementation ) to method MARK_ITEM_FOR_PO of class /SAPSRM/CL_CH_WD_DOM_SOCO_GAF2. This method is to update the static attribute of the Shopping Cart, specifically the Gross Price.
If the SC item Price is in Zero value, regardless in any currency, it will then be changed to 0.01 USD or converted to other amount which is equivalent to 0.01 USD for other currency. It will use to-date (system date) exchange rate. Function module READ_EXCHANGE_RATE is used here.
This changed price will not be bring forward to PO draft as it is designed to bypass the price validation check takes place in initial MARK_ITEM_FOR_PO method.
· Change done in method FILL_PO_INTERFACE1 of implementation class ZCL_IM__SRM_DEFLT_PO_DATA ( BADI BBP_CREATE_BE_PO_NEW).  It is to populate PO item net price to Zero and Mark it as Free Item if the SC item is in Zero or 0.01 for USD currency or equivalent to 0.01USD for any other currency.
Additional changes is to populate the field of Requisitioner name located in PO item table and the field of Goods Recipient located in PO Account table with user name instead or user ID. Bapi BAPI_USER_GET_DETAIL is used here.
1.)    SRDK900986 (Version 6.0)
· In method BBP_SC_CHANGE of class ZCL_IM__SRM_DOC_CHANGE_BAD, update Price unit to 1 if Gross price and Net price is zero. If net price is not zero, calculate Total value.
Total value = Quantity * Net price / Price unit
If Total value is less or equal to zero then update Price unit to 1 and Gross price and Net Price to zero.
Clear static attribute Company currency (V_CO_CURRENCY) of class ZCL_IM__SRM_SEI_ITEM_CHECK if Company code is changed.
· In pre-method MARK_ITEM_FOR_PO of class /SAPSRM/CL_CH_WD_DOM_SOCO_GAF2, simply update Gross price of the work area to 0.01.
· Create a private method DO_EXCHANGE_RATE_CONVERSION in class ZCL_IM__SRM_SEI_ITEM_CHECK. This method is to convert the currency from value into to currency value.
· In method BBP_ITEM_CHEK of class ZCL_IM__SRM_SEI_ITEM_CHECK, if static attribute Company’s currency is initial then get company’s currency from BAPI_COMPANYCODE_GETDETAIL bapi. If static attribute company currency is not equal to document currency then calculate the Total value.
Total value = Quantity * Net price / Price unit
If total value is not zero then do the value conversion from document currency into company currency. When the company currency value is less than or equal to zero then throw message “Net value in (comp. currency) becomes 0, please check your input”.
· In method FILL_PO_INTERFACE1 of class ZCL_IM__SRM_DEFLT_PO_DATA, if buffered Net price is equal to 0.01, populate the PO Net price value from SC database instead. PO item is free item only if the PO Net price is zero.
Former Member
0 Kudos

Hi Jeff,

You should able to set up zero dollar POs from SC without any customization except you have to un-check Invoice expected on PO form.

Please refer below thread with detail http://scn.sap.com/message/8725017 for details.

Thank you

Ritesh