Skip to Content

SAP SRM 7.0 Customer enhancement in Supplier Registration form


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).



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


Create/Change Questionnaire


Select Product Categories for Registration


Language Selection for Questionnaire


Assign Questionnaire and Language to Product Category


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


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.


  • 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.


  • 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.


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



Step 2:

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


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


Test the changes:



A Questionnaire email should have floated to Supplier provided address.


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



You must be Logged on to comment or reply to a post.
  • 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.


    Venkatesh P

    • 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

      • 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.


        Venkatesh P

        • 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.



  • 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 .


    Venkatesh P

    • 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.



    • 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.



      • 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.



        • 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


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

          Or implement BUPA_EXTINCL_CHECK



          • 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


  • 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.



    • Dear Mrityunjai,

      Confirm me.

      1 - What all view you have enhanced?

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



      • 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.



        • /
          Bug fix in SuS ROS.png
          • 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


            Venkatesh P

          • 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.



          • Hi Ravi,

            Have you implemented the Enhancement?


               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.

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

            Hope this helps.


            Venkatesh P

          • 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



                  name =  `ZZ_XXX`


                  value = lv_zz_xxx).

            if lv_zz_xxx is initial.






            * set single attribute


                    name =  `ZZ_xxx`

                    value = lv_zz_xxx ).

            Then  value traveller .



  • 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?


    • 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.




  • 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?


    • 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.


  • 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:



    and my new field.

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

    Any idea?


    • 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.


    • 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 🙂

  • 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.


    • 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?



      • 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?


        • 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.


          Shuvrajyoti Sardar

          • 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 🙂

          • Dear Jon,

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


            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.





  • 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,