Skip to Content
Author's profile photo Former Member

SAP SRM 7.0 Customer enhancement in Supplier Registration form

Summary:


Supplier registration process is a mandatory process for sourcing activity. For any new prospect suppliers to participate in a bid, they must exist in SRM system. We can bring these bidders into system using Supplier registration process. SAP does provide a standard form for registration but most of the customers has their custom requirement which requires enhancements in it.

Process to activate standard Form:

In SRM 7.0 SAP has provided ABAP WebDyn Pro form for Registration of supplier.

Step 1: Activate SRM_SUCO_1 switch and then active Supplier Self-Registration node (@ RoS Client).

/wp-content/uploads/2013/09/1_287379.png

/wp-content/uploads/2013/09/2_287380.png

Step 2:- Under Node Questionnaire Settings maintain below configuration (RoS Client).This configuration is required to send Questionnaire after submitting registration from.

/wp-content/uploads/2013/09/3_287418.png

Create/Change Questionnaire

/wp-content/uploads/2013/09/4_287419.png

Select Product Categories for Registration

/wp-content/uploads/2013/09/5_287443.png

Language Selection for Questionnaire

/wp-content/uploads/2013/09/6_287457.png

Assign Questionnaire and Language to Product Category

/wp-content/uploads/2013/09/7_287458.png

Step 3:- Activate SICF service for supplier form at RoS Client. Test this service & it will open a standard form.

/wp-content/uploads/2013/09/7_1_287465.png

Enhancement section

SAP main form consists of a main component which holds multiple view containers; each view container is linked with a webdynpro component.

Step 1:-  In this example Customer wants to add custom fields at General Company data component which is one of the webdynpro component linked with main form (I will be showing here for few fields for a single view).

  • Go to transaction SE80 and open webdynpro component /SAPSRM/WDC_SUCO_SREG_GEN for General data.

/wp-content/uploads/2013/09/a_287467.png

  • Add a append structure in INCL structure  INCL_EEW_BP_CSF_COMPANY_DATA. Here we are adding a custom field ZZ_SUP_TYPE. This INCL is associated with the above webdynpro view.

/wp-content/uploads/2013/09/b_287493.png

  • Now we want to make sure that data of this custom field should also store into data base table BUT000 (Master table for business partner).
  • For this we need to enhance BUT000 INCL structure INCL_EEW_BUT000 with the similar fields, add a custom append structure here as well.

/wp-content/uploads/2013/09/c_287494.png

  • Create an UI element and bind it with custom field inserted into INCL structure.

/wp-content/uploads/2013/09/d_287610.png

/wp-content/uploads/2013/09/e_287618.png

Step 2:

Meta data settings; Go to transaction SM30 and maintain meta data  view /SAPSRM/V_MDF_S1 for RoS

/wp-content/uploads/2013/09/8_287620.png

Step 3:- Test Service, it will open the form, now you will able to view custom field on the screen.

/wp-content/uploads/2013/09/9_287466.png

Test the changes:

/wp-content/uploads/2013/09/10_287660.png

/wp-content/uploads/2013/09/11_287674.png

A Questionnaire email should have floated to Supplier provided address.

/wp-content/uploads/2013/09/12_287681.png

You can find that data has been saved in business partner table BUT000 (@RoS client)

/wp-content/uploads/2013/09/13_287682.png

/wp-content/uploads/2013/09/14_287683.png

Assigned Tags

      53 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member

      Good Work..thanks for sharing nice document..

      Author's profile photo Gaurav Gautam
      Gaurav Gautam

      Hello Sir,

         Its a great document.Thanks for sharing this with us.Helped me to learn a lot.

      Thanks

      Gaurav

      Author's profile photo Arun Padmanabhan
      Arun Padmanabhan

      Dear Devraj,

      Nice document. Thank you for sharing the Knowledge.

      Thanks & Regards

      Arun.K.P

      Author's profile photo Venkatesh Padarti
      Venkatesh Padarti

      Hello sir,

      Its very good document. Thanks for sharing this.

      I have one question regarding mail to vendor manager.

      Whether is this standard functionality mail should go to vendor about the new supplier registration. If yes, please let us know, where that setting needs to be maintained.

      Regards

      Venkatesh P

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Thanks everyone for your inspiring comments.

      @Venkatesh You just need to configure SCOT for emails. Sending email is a standard function in this process. if you check below class then there is a method which is used for sending Questionnaire with email.

      Class    -->   /SAPSRM/CL_SUCO_QSTNR_PUBLISH

      Method -->   QSTNR_SEND

      Author's profile photo Former Member
      Former Member

      HI Devraj,

      Thank you for your reply.

      Sorry for confusion. I mean mail regarding new vendor registration information to the manager/buyer with the content "A new supplier has been registered XXX...." . This mail is not trigerring in our case.

      Is this standard mail configuration or do we need to configure mail any where?

      Questionnaire mail is getting trigggered to vendor.

      Only problem is triggering mail to manager/buyer for the new supplier registration.

      Regards

      Venkatesh P

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Hi Venkatesh,

      As per my understanding these is no such provision in standard to send an email to buyer, most of the time buyers get to know about new supplier registered while checking "Supplier Pre Select Tab" using Operational purchaser role in role client but I believe there is a scope of custom development here.

      Let me know if need more information on the same.

      Regards

      Devraj

      Author's profile photo Venkatesh Padarti
      Venkatesh Padarti

      Thank you Devraj.

      Author's profile photo Former Member
      Former Member

      Thanks Devraj for gr8 document,

      please advise, how to handle supplier renewals in ROS.

      Regards,

      Ravi

      Author's profile photo Venkatesh Padarti
      Venkatesh Padarti

      Hi Devraj,

      Thank you for your steps.

      We have followed the steps as per your steps for adding the custom field.

      But BUT000 table is getting updated with custom values and also value is disappaering in the form after save.

      Also could you please let me know, what to add in the table /SAPSRM/V_MDF_S1 .

      Thanks

      Venkatesh P

      Author's profile photo Former Member
      Former Member

      Hi Devraj and Venkatesh,

      I followed the steps as per above process for adding the custom fields.

      After activation of /SAPSRM/WDC_SUCO_SERG_GEN, custom fields are not displaying in the registration form.

      I tested custom UI element bind with standard field in the structure. Then it displaying custom UI element in the form.

      Can you please advice.

      Thanks

      Ravi

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Dear Ravi,

      Have you done with meta data config?

      Regards

      Devraj

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Hi Venkat,

      Sorry for delay ..

      You need to add meta data information here.

      i.e for Gen Data

      Set type -  BC

      BO type - BUP002

      Filed name  - Zfield

      and visibility parameter, It will make you field visible. Let me know incase of any other issue.

      Regards

      Devraj

      Author's profile photo Former Member
      Former Member

      Hi Devraj,

      Thanks for response.

      I am done with that part. it displaying custom fields. Custom fields data not saving into the table and can you please let me know correct place to put custom field validations.

      Thanks

      Ravi

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Can u let me know in which component you have done changes (i.e. there are multiple components in ROS form like Gen data, Contact person etc)? Provide me component names.

      for Validation Check

      ROS_BUPA_DATA_CHECK


      if it does not work then check "Note 1678039 - BAdi ROS_BUPA_DATA_CHECK not getting called in ROS"


      Or implement BUPA_EXTINCL_CHECK


      Regards

      Devraj

      Author's profile photo Former Member
      Former Member

      Hi Devraj,

      I added my custom fields in Gen Data Component.

      Thanks for validation check information, I will check and let u know.

      Thanks

      Ravi

      Author's profile photo Edward Manrique Alarcon
      Edward Manrique Alarcon

      Hi Devraj,

      I followed the steps as for adding the custom fields.

      The z field it is not obligatory, therefore, and valid in webdynpro:

      Created action in ivew V_SUPP_GENERAL - > VAL_USER. And corrected validate.

      But when pressed the send button, not valid, so the enhancement, but the value is not sent. why?

      and implemented ROS_BUPA_DATA_CHECK but dont see the field in any  structure.

      in BUPA_EXTINCL_CHECK. I see the field, but it's clear

      Therefore does not record to a but000



      Thanks & Regards

      Edward.

      Author's profile photo Mrityunjai Pandey
      Mrityunjai Pandey

      Hi Devraj,

      I have followed all the steps here.

      Additionally i have done the meta data config with the below details for General WDC for all my custom fields-

      Structure Field Name- Zfield

      BO Set Type- BC

      Bus Object Type- BUP002

      Metadata field Type- S

      Set level- HEADER

      and the required/mandatory/visible parameters.

      Everything comes fine on form, it accept input and i am able to aubit the form too,

      but when i open this form from the portal, the data for all the custom fields on the general WDC gets cleared automatically.

      Any expert comment here?

      Anticipating your response here.

      Regards,

      Mrityunjai

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Dear Mrityunjai,

      Confirm me.

      1 - What all view you have enhanced?

      2 - Is data getting saved into BUT000 (RoS Client).

      Regards

      Devraj

      Author's profile photo Former Member
      Former Member

      Hi Devraj,

      We are also getting same issue, ROS custom field data not saving into BUT000.

      According to the sap note 1848510, there is no standard way to enhance the ROS.

      Can you please help me to save the custom fields to BUT000 table.

      Thanks

      Ravi

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Data is getting clear at this stage, It seems, a Bug in SAP code!!

      Bug fix in SuS ROS.png

      Author's profile photo Venkatesh Padarti
      Venkatesh Padarti

      Hi All,

      We had also same issue. So we have written our enhancement to update the same.

      To update the custom field value in the BUT000 table, we need to implement the Implicit enhancement in the class : /SAPSRM/CL_PDO_BP_UPDATE_BUFF , Method : PREPARE_PD_CP_BASIC_DATA

      Regards

      Venkatesh P

      Author's profile photo Former Member
      Former Member

      Thanks Devraj and Venkatesh,

      We implemented the enhancement and custom fields are saving into but00. When we try to edit the custom fields not updating with new value.

      Can you please help me on this.

      Thanks

      Ravi

      Author's profile photo Venkatesh Padarti
      Venkatesh Padarti

      Hi Ravi,

      Have you implemented the Enhancement?

      /SAPSRM/CL_PDO_BP_UPDATE_BUFF , Method : PREPARE_PD_CP_BASIC_DATA

         IF ms_buffer_change-company_data-zz_ind_key NE ms_buffer_master-company_data-zz_ind_key. " Update action
        MOVE 'X' TO ms_pd_bupa-data_central_ext_x-zz_ind_key.
        MOVE-CORRESPONDING ms_buffer_change-company_data-ext_csf TO ms_pd_bupa-data_central_ext.
      ELSE. " Create action
        MOVE-CORRESPONDING ms_buffer_change-company_data-ext_csf TO ms_pd_bupa-data_central_ext.
      ENDIF.

      This is the code we have written for both update and create action of value.

      Hope this helps.

      Regards

      Venkatesh P

      Author's profile photo Edward Manrique Alarcon
      Edward Manrique Alarcon

      Hi Ravi!!

      Into the view of webdynpro. in the method tab. click in icon (web dynpro code wizard) and insert code get and set the custom field for validation.

      * get single attribute

        lo_el_context->get_attribute(

          EXPORTING

            name =  `ZZ_XXX`

          IMPORTING

            value = lv_zz_xxx).

      if lv_zz_xxx is initial.

      validate

      endif.

      ***

      ***

      ***

      * set single attribute

            lo_el_context->set_attribute(

              name =  `ZZ_xxx`

              value = lv_zz_xxx ).

      Then  value traveller .

      Regards,

      Edward.

      Author's profile photo Arjun Pawar
      Arjun Pawar

      Thanks Devraj Singh for sharing such a useful article 🙂

      Author's profile photo Former Member
      Former Member

      Thank you very much.

      Can you help suggest more articles about ROS?

      Regards,

      Hayashi

      Author's profile photo Mrityunjai Pandey
      Mrityunjai Pandey

      Hi Devraj,

      Thank you so much for the expert help.

      Regards,

      Mrityunjai

      Author's profile photo Former Member
      Former Member

      Thanks for the article . Its helpful in my upcoming assignment

      Rgds

      Ankit

      Author's profile photo Jon Azcorra Olano
      Jon Azcorra Olano

      Hello Devraj,

      First of all thanks for this post it's been very useful for me.

      I have followed the steps you have indicated in the post, but once i execute the service i cannot see the newly added fields. I can see them in the layout but not in the service.

      Any idea?

      Regards

      Author's profile photo Mrityunjai Pandey
      Mrityunjai Pandey

      Hello Jon,

      True, you won't be able to see the newly added fields, since you have missed one part of it, which is configuration for all the custom fields. This is a brilliant document, but incomplete without this config part 😉

      I am including here one example, please use it suitably and your job will be done 🙂

      Please let me know if you face any further issue after this config.

      Regards,

      Mrityunjai

      /wp-content/uploads/2015/07/config_742733.jpg

      Author's profile photo shuvrajyoti sardar
      shuvrajyoti sardar

      Thanks Devraj for your help.

      Author's profile photo Jon Azcorra Olano
      Jon Azcorra Olano

      Helpful link!!

      but does anybody know which are the values i have to indicate in fields:

      BO Set type

      Bus Object Type

      If I want to add the fields in the supplier registration process?

      Regards

      Author's profile photo Mrityunjai Pandey
      Mrityunjai Pandey

      Jon,

      please take help from the above attached screen shot.

      It varies and depends on your requirement.

      You can select the different values based on the component, view, data section where you have appended the fields.

      BO set type- BCPB as in i had appended fields on contact data view only, select this value based on the Data type added on ROS form.

      BO Object Type- BCPB for ROS.

      Rest you can put as it is in the screenshot.

      Regards

      Author's profile photo Jon Azcorra Olano
      Jon Azcorra Olano

      Hello Mrityunjai,

      You are right, i have maintained the view with the field i want to add. In my case i want to add a new field for VAT in company data.

      So the table entry is:

      BC

      BUP002

      and my new field.

      I have saved it but i cannot see it in the dynpro.

      Any idea?

      Regards

      Author's profile photo shuvrajyoti sardar
      shuvrajyoti sardar

      Hi Jon,

      As Mrityunjai said field should be visible.Please cross check if you maintained it as per the screenshot.Please make sure to update the webdynpro screen with the new field.In case of issue please provide your screenshot.

      /wp-content/uploads/2015/07/screencapture_743087.png

      Author's profile photo Jon Azcorra Olano
      Jon Azcorra Olano

      Thanks a lot.

      Author's profile photo Mrityunjai Pandey
      Mrityunjai Pandey

      sorry Jon to be late here.

      Thanks Sardar for helping out Jon, you have these properties, visible/enabled/required/editable, which you have to mark accordingly.

      You could always refer the detailed screenshot for the same.

      Anyways it's good to find your problem is resolved 🙂

      Author's profile photo Jon Azcorra Olano
      Jon Azcorra Olano

      Curious, i made a mistake now it works!!

      Author's profile photo Jon Azcorra Olano
      Jon Azcorra Olano

      By the way, i would like to make another question... does anybody know how can I avoid the email dupplicate message when i try to create a new supplier in the supplier registration form?

      Thank you.

      Jon

      Author's profile photo shuvrajyoti sardar
      shuvrajyoti sardar

      Hi Jon,

      Its a standard functionality and you can check the CHECK_DUPLICATES method of the BADI  ROS_BUPA_DATA_CHECK

      Thanks

      Shuvrajyoti

      Author's profile photo Jon Azcorra Olano
      Jon Azcorra Olano

      Thanks I saw it before but i was not sure about it would suit my requirements because when I introduced a breakpoint in the exithandler class that badi was not being showed. I will try and tell if its ok for me.

      Thanks

      Shuvrajyoti

      Author's profile photo shuvrajyoti sardar
      shuvrajyoti sardar

      Hi Jon,

      Please check Note 1678039:BAdi ROS_BUPA_DATA_CHECK not getting called in ROS once.

      Thanks

      Shuvrajyoti Sardar

      Author's profile photo Jon Azcorra Olano
      Jon Azcorra Olano

      HI,

      Our SRM version is higher than the ones that apply that note.

      Regards

      Author's profile photo shuvrajyoti sardar
      shuvrajyoti sardar

      Hi Jon,

      Suggession is to set debug point inside method /SAPSRM/IF_PDO_AO~SAVE of Class Object  /SAPSRM/CL_PDO_AO_BP_POT_SUPPL  and check step by step.

      Thanks

      Shuvrajyoti Sardar

      Author's profile photo Mrityunjai Pandey
      Mrityunjai Pandey

      Hi Jon,

      Please explain your concern in detail.

      Are you looking to stop the email triggering to the supplier upon registration for response to questionnaire based on category selection in ROS form?

      Regards,

      Mrityunjai

      Author's profile photo Jon Azcorra Olano
      Jon Azcorra Olano

      Hi again,

      First of all thanks a lot.

      I try to explain, when i try to register a supplier in the supplier reistration form, if there's a supplier with the mail i have indicated for the new one an error message is showed. I want to skip this error message ( diable the check ).

      I have implemented the ros_bupa_data_check badi, but it does not work i ( i set the duplicate value in method check_duplicate by debugging ) and i do not get rid of that message.

      Any idea?

      Regards

      Author's profile photo Jon Azcorra Olano
      Jon Azcorra Olano

      Hi again,

      Do you know which badi i have to implement to validat the value i introduce in a custom field?

      Regards

      Jon

      Author's profile photo shuvrajyoti sardar
      shuvrajyoti sardar

      Hi Jon,

      You need to create Post-Exist of  CHECK_MANDATORY_FIELDS method of class object /SAPSRM/CL_PDO_AO_BP_POT_SUPPL  to validate the custom fields.

      Thanks

      Shuvrajyoti Sardar

      Author's profile photo Jon Azcorra Olano
      Jon Azcorra Olano

      Thanks a lot for all the comments. I have made the implicit enhancement in the method indicated by devraj and it works.

      Now I have seen another problem, when I try to edit the Z fields of Potential supplier form data is no¡t being saved, any idea of where I have to check this?

      Regards 🙂

      Author's profile photo shuvrajyoti sardar
      shuvrajyoti sardar

      Dear Jon,

      It was already mentioned in this blog.Please try following .

      /SAPSRM/CL_PDO_BP_UPDATE_BUFF , Method : PREPARE_PD_CP_BASIC_DATA

      ENHANCEMENT ZPREPARE_PD_CP_BASIC_DATA.    "active version

      IF ms_buffer_change-company_data-zz_acptrjt_rsn NE ms_buffer_master-company_data-zz_acptrjt_rsn. " Update action

         MOVE 'X' TO ms_pd_bupa-data_central_ext_x.

         MOVE-CORRESPONDING ms_buffer_change-company_data-ext_csf TO ms_pd_bupa-data_central_ext.

      ELSE. " Create action

         MOVE-CORRESPONDING ms_buffer_change-company_data-ext_csf TO ms_pd_bupa-data_central_ext.

      ENDIF.

      ENDENHANCEMENT.


      Thanks

      Shuvrajyoti

      Author's profile photo Jon Azcorra Olano
      Jon Azcorra Olano

      Dear Shuvrajyoti,

      That's what i did, and it works:D thenk you so much for your answer.

      Regards

      Author's profile photo Former Member
      Former Member

      Hi,


      I have done all the settings but could not see the input field in my Registration portal.


      So, i thought of maintaining the calues in the View  /SAPSRM/V_MDF_S1 for RoS. But, is not available in my system. Can someone help with the right view, so that i can maintain the values.


      Please suggest.


      Thanks and Regards,

      Satish