Skip to Content
Author's profile photo Malathesha Sodad

Adding Customer Fields In Vendor Master

Finding out the BADI’s to implement to full fill the requirement of adding custom fields to the Vendor Master.

SPRO -> Logistics  -> General  -> Business Partner  -> Vendors  -> Control  -> Adoption of Customer’s Own Master Data Fields (last Option)  -> Prepare Modification-Free Enhancement of Vendor Master Record (Click on IMG Activity Documentation)

Information :

Prepare Modification-Free Enhancement of Vendor Master Record

     Use

     You can enhance the master data of your customers and vendors (FI and     LO) in order to add additional information. To do this, you develop subscreens to which you add the required fields. You can access your subscreens in the master records of the business partner via integrated buttons; there, your screens are integrated on tab page. You can assign up to 32 tab pages/subscreens to each button. With a change of release, upgrade, or a support package, you copy your own subscreens and data and the relevant tables without having to make any modifications.

     In this IMG activity, you prepare the modification-free transfer of enhancements from your business partner masters.

Activities

In the following, “business partner” indicates “customer” and “vendor“.

  1. Choose Edit screen group <business partner>, and define a two digit alphanumeric key and a name for each of the required screen groups. The name of the screen group appears later in the form of a pushbutton on the initial screens of your business partner master data.

    To use your enhancement, that is, your button is visible, activate it with the BADI Processing Master Data Enhancements with method CHECK_ADD_ON_ACTIVE (see step 3 below).

  1. Choose Name tab page, and for each screen group, enter the data required for the tab pages.

     For each screen group you can create a maximum of 32 tab pages.

     Note the following:

     –   With Ordinal number, you control the order of the tab pages.

     –   With the Function code, at runtime, the system identifies the tab page selected by the user.

     –   The Name appears as heading on the tab page.

     –   The Icon (optional) appears next to the heading on the tab page.

     You call up the tab pages in the business partner master data via the corresponding pushbutton. Each tab page contains your customer-specific subscreen on which you can process your business partner data.

     You integrate your subscreens using the filter-dependent BADI Customer Subscreens; choose your screen group as filter (see step 3 below).

  1. To link your subscreens and data to the standard application, use the following BADIs:

     –   Business Add-In: Processing Master Data Enhancements (CUSTOMER_ADD_DATA/VENDOR_ADD_DATA)

     –   Business Add-In: Customer Subscreens (CUSTOMER_ADD_DATA_CS/VENDOR_ADD_DATA_CS)

     –   Business Add-In: Processing Master Data Enhancements with Batch Input (CUSTOMER_ADD_DATA_BI/VENDOR_ADD_DATA_BI)

     You can access the BADIs in the Implementation Guide directly under this IMG activity; for more information see the documentation for the relevant BADIs and their methods.

  Now Go back to the IMG Screen.  Actual activities Starts here! 

Picture1.jpgF8

Click on continue on the Information POP-UP asking for Caution: The table is cross-client                             

** Define a two digit alphanumeric key and a name for each of the required screen groups.

Picture2.jpg

          ** This name of the screen group appears later in the form of a PUSHBUTTON on the initial screens of your business partner master data.

  POST View after doing this activity in XK03 (XK01, XK02)

Picture3.jpg

Once Added the screen group. Select the custom screen group from the list and then double click on the Label Tab Pages Item from the tree of Dialog structures.

Picture4.jpg

Here you add your own custom tabs; you can add as many number of tabs you need, as of now we are adding only one tab with tab-name/Description (Caption/Labled) Custom Tab.

Picture5.jpg


  1. We will see in later Screen shots how it looks like in Vendor Master J

This is the tab  to which will need to add to A sub-screen (YET TO CREATE) which will be displayed upon clicking the custom screen group button from the vendor master tab.

*** Now, Your screen group and the tab to which you need to add the sub-screen is ready.

** Lets create the sub-screen which you need to add to created tab.

* For this You need to create a function-poll (Will explain why Function Pool and its Importance).

Lets create it using the T-code SE80,

Picture6.jpg

  1. So Enter the name of the function-pool / function group and create it.
  2. Create the sub- screen 9000(any number) which should not collide with the screen numbers in the main program of XK01/02/03

Picture7.jpg

.

Picture8.jpg

3. On the sub-screen add the custom fields like: You can add many fields you want.

Picture9.jpg

4. This is the screen field we add is enhanced structure item of LFA1.

Enhancement of structure is as fallows :

Picture10.jpg

Click on the append structure form the goto menu item

Picture11.jpg

From the pop up click on the Create button to add the custom structure.

Picture12.jpg

Give the name of the structure to append.

Picture13.jpg

Add the custom fields : ZZFIEM_TYPE only field now but can add many fields here.

Picture14.jpg

Activate the structure and then use this element to insert it on to the screen.

5. Now go to the program logic write the logic for this particular screen.

Like below : say you want to make all these items to be in display mode when you are in XK03 and rest for XK01 and XK02 it should be in Edit mode.

Picture15.jpg

Code:

MODULE STATUS_1100 OUTPUT.
*  SET PF-STATUS ‘xxxxxxxx’.
*  SET TITLEBAR ‘xxx’.
*  IMPORT act TO g_aktyp FROM MEMORY ID ‘ZZACT’. “ check the exported activity type * and change accordingly the screen *                                             elements.
*    LOOP AT SCREEN.
*        IF g_aktyp = ‘A’. ” Display
*            screen-input = ‘0’.
*        ENDIF.
*        MODIFY SCREEN.
*   ENDLOOP.

  LOOP AT SCREEN.
IF SYTCODE EQ ‘XK03’.” Display
screeninput = ‘0’.
ELSEIF SYTCODE EQ ‘XK01’ OR SYTCODE EQ ‘XK02’.
screeninput = ‘1’.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDMODULE.                 ” STATUS_1100  OUTPUT

6. As we are going to work with LFA1 Structure at run time you need to add this line TABLES: LFA1. To the function pools TOP Include.


Picture16.jpg

7. Now Implement the fist BADI: VENDOR_ADD_DATA

Goto SE18.

  1. Enter the definition(Interface) of the BADI as VENDOR_ADD_DATA . à Click on display.

  In the BADI display screen. Click on Implementation menu Item à choose the display to see all the implementations. But now Click on Create option from the menu list.

Picture17.jpg

Enter the Name of the BADI Implementation name (Any Name) and click on ü Mark.

Picture18.jpg

8. In this BADI enhance/redefine the method CHECK_ADD_ON_ACTIVE  in your subclass/Implementation

Code:

method IF_EX_VENDOR_ADD_DATA~CHECK_ADD_ON_ACTIVE.
” If the screen group is ur custom screen group you have to activate it manually
if I_SCREEN_GROUP = ‘ZC’. ” check the import parameter for the screen group name.
e_add_on_active
= ‘X’. ” Activate it by setting the return parameter
endif.
endmethod.

** Now your screen group is active. So now you can see the screen group as button on xk01/02/03 with a button and when u click on the button will take dump screen because the screen sub-screen is still not added to the tab that tab is not called yet.

9. Now Implement the other BADI VENDOR_ADD_DATA_CS:

Goto SE18.

Enter the definition(Interface) of the BADI as VENDOR_ADD_DATA_CS

  In the BADI display screen. Click on Implementation menu Item à choose the display to see all the implementations. But now Click on Create option from the menu list.

Picture19.jpg

10. In this Implementation we will call the screen when the screen group is our custom screen group.
here we handle the each individual custom screen groups.

To do this; In this BADI we will enhance/redefine the method GET_TAXI_SCREEN in your subclass/Implementation

CODE:

method IF_EX_VENDOR_ADD_DATA_CS~GET_TAXI_SCREEN.
IF flt_val = ‘ZC’  “Check the import parameter screen group if it is ur custom screen group name
AND i_taxi_fcode = ‘ZFIRM’. “And import parameter FCODE for Tab : for custom Tab Function code
” If these two are true then
e_screen  
= ‘9000’.   “set the changing parameter sub-screen to custom sub-screen number u created in FG ZMM_ZC
e_program 
= ‘SAPLZMM_ZC’“Function Group (Main program name of the function group ZMM_ZC)
e_headerscreen_layout
= ‘ ‘.“Filter if u want to make it. as of now its global.
ENDIF.
endmethod.

11. Now your screen field is ready and displayed on XK01/02/03 but to SET/GET the value of these elements you have to redefine/enhance/implement the methods SET_DATA to set the value entered to LFA1/ (all other runtime structure) runtime structure and GET_DATA to get data from the LFA1/ (all other runtime structure) runtime structure and set it to the screen element from this same BADI Implementation.

SET_DATA: Method implementation.

In this we have only the import parameters which are structures and to set the runtime structure like LFA1. We have to do it from outside so to do this we will export value from this method through the FM call which is written in the Function Group ZMM_ZC and in which we will set the value (new value entered on the screen) to LFA1 runtime structure.

CODE:

method IF_EX_VENDOR_ADD_DATA_CS~SET_DATA.
CALL FUNCTION ‘Z_SET_FIRM_TYPE’
EXPORTING
iv_zzfirm_type      
= I_LFA1zzfirm_type “ sent here
            .
endmethod.

Code:

Z_SET_FIRM_TYPE:

FUNCTION Z_SET_FIRM_TYPE.
*”———————————————————————-
*”*”Local Interface:
*”  IMPORTING
*”     REFERENCE(IV_ZZFIRM_TYPE) TYPE  ZZFIRM_TYPE
*”———————————————————————-
” LFA1-ZZFIRM_TYPE is the screen field name.
LFA1
ZZFIRM_TYPE = IV_ZZFIRM_TYPE. “set here
ENDFUNCTION. GET_DATA: Method implementation.

In this method we have to set the sub-screen value to the value which is there in the LFA1. But here I have access to the s_lfa1 which is screen structure, but to set the value of this entry we need access to this runtime structure so we will do it with the help of FM which is written in the Function Group ZMM_ZC.

CODE:

method IF_EX_VENDOR_ADD_DATA_CS~GET_DATA.
DATA lv_zzfirm_type TYPE zzfirm_type.
CALL FUNCTION ‘Z_GET_FIRM_TYPE’
IMPORTING
EV_ZZFIRM_TYPE      
= lv_zzfirm_type
.

S_LFA1zzfirm_type = lv_zzfirm_type.
endmethod.

CODE:

Z_GET_FIRM_TYPE:

FUNCTION Z_GET_FIRM_TYPE.
*”———————————————————————-
*”*”Local Interface:
*”  EXPORTING
*”     REFERENCE(EV_ZZFIRM_TYPE) TYPE  ZZFIRM_TYPE
*”———————————————————————-
“LFA1-ZZFIRM_TYPE is the screen field name.
EV_ZZFIRM_TYPE
= LFA1ZZFIRM_TYPE.

ENDFUNCTION.

So by now you got to know why we added the tables statement : TABLES : LFA1. To the main program of the Function Group ZMM_ZC.


12. So now XK02 look like.

Picture20.jpg

Picture21.jpg

13. To add more fields follow the same procedure from beginning or can add custom fields to existing enhanced structure and can add the fields as elements and do the coding in set an get methods and Function Modules corresponding to the set and get methods .


Assigned Tags

      52 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Silvio Miranda
      Silvio Miranda

      Very good information.. I applied into our system.. we created 2 new tabs to XK01/02/03.. it works perfectly... thank you for sharing this Malathesha Sodad!! 🙂

      Author's profile photo Malathesha Sodad
      Malathesha Sodad
      Blog Post Author

      Thanks Sílvio Miranda 🙂 Cheers !!

      Author's profile photo David López Alcaide
      David López Alcaide

      Hello Malathesha. Great work! I've a question:

      How can add this customer fields to transaction xk04 or fk04?

      Regards,

      David.

      Author's profile photo Former Member
      Former Member

      Hello Malathesha. Great work! I've a question: Is it possible to control button "Additional Data" according to Sales Area? I would like to show the button when Sales Area Info is filled. What do you know about this?

      Author's profile photo Raymond Giuseppi
      Raymond Giuseppi

      Can be performed in IF_EX_VENDOR_ADD_DATA_CS~SUPPRESS_TAXI_TABSTRIPS method :

      * Hide company tab if not passed or not allowed
      IF i_bukrs IS INITIAL.
         APPEND 'Z1-LFB1' TO e_not_used_taxi_fcodes.
      ELSE.
         AUTHORITY-CHECK OBJECT 'F_LFA1_BUK'
                  ID 'BUKRS' FIELD i_bukrs
                  ID 'ACTVT' FIELD '03'.
         IF sy-subrc NE 0.
           APPEND 'Z1-LFB1' TO e_not_used_taxi_fcodes.
         ENDIF.
      ENDIF.


      Regards,

      Raymond

      Author's profile photo Malathesha Sodad
      Malathesha Sodad
      Blog Post Author

      Hi Luís Martins,

      The solution that Raymond Giuseppi given will work fine to suppress the tab strips within the subscreen, suppose like If you have got two tab strips in which one of the tab strip will be having elements to capture info related to sales area. then you can control that using the above code. For suppressing entire button I don't think it is possible bcoz its the part of config.

      Regards,

      Malathesha Sodad

      Author's profile photo SAP ABAP
      SAP ABAP

      Hi Luis,

      Below code can be used to control visibility of button based on Conditions:

      Include                                        :   MF02DFE0

      Implicit Enhancement under form   :  EXCTAB_FUELLEN_ANLEGEN

      DATA :LV_FIELDNAME TYPE STRING.

         FIELD-SYMBOLS:  <LV_FIELDNAME> TYPE ANY.

      * Check if User has entered Sales Area Details

      IF  RF02D-VKORG IS INITIAL AND

          RF02D-VTWEG IS INITIAL AND

          RF02D-SPART IS INITIAL .

      * Hide Custom Button or Sales Area additional fields ( Screen group YY)

      DATA:  LV_FIELDNAME(30)     TYPE C VALUE 'DYNAMIC_FUNCTION-GOTO_ADDON_', LV_SCGR_COUNTER_N(2) TYPE N.

      DATA: LS_SCGR_ACTIVE TYPE LINE OF ZDTT_OM_SCGR_ACTIVE.

      CONSTANTS : LC_GRP TYPE ZDS_OM_SCGR_ACTIVE-SCREEN_GROUP VALUE 'Z1'.

        LOOP AT I_GT_SCGR_ACTIVE INTO LS_SCGR_ACTIVE  WHERE SCREEN_GROUP = 'YY'.

      * wegen führender Null bei '_01'

            LV_SCGR_COUNTER_N   = SY-TABIX.

            LV_FIELDNAME+28(2)  = LV_SCGR_COUNTER_N.

            MOVE LV_FIELDNAME TO I_FS_FNAME.

            CLEAR LS_SCGR_ACTIVE.

            EXIT.

          ENDLOOP.

      * Pass Null value to Button and make it disappear from App. tool bar

        ASSIGN (LV_FIELDNAME) TO <LV_FIELDNAME>.

        <LV_FIELDNAME> = SPACE.

      Regards,

      Sachin

      Author's profile photo Former Member
      Former Member

      Dear Mr. Sodad,

      Thank you so much for this post. This couldn't have been described in a better way. I'm a beginner and it was just what I needed. I am looking forward to reading more posts like this on different subjects related to SD(or anything).

      Regards,

      Arindam

      Author's profile photo Former Member
      Former Member

      Hello Malathesha.

      Great article!

      I've a question to you: i performed all as you explained and i have my custom screen with a checkbox field. When i access with XK02, i put the check at my custom field and I click SAVE the transaction says to me: "no changes were made" and in LFA1 (with the custom table append) my new field still empty.

      Have you got any suggest?


      Thank you.

      Best regards,

      Stefano

      Author's profile photo Former Member
      Former Member

      I solved my problem.

      My custom field name in my new screen was different from LFA1 name inserted in my custom functions!

      Regards

      Author's profile photo Malathesha Sodad
      Malathesha Sodad
      Blog Post Author

      Hi Stefano Casari

      That's great! Happy Programming 🙂 Cheers!

      Author's profile photo Vinicius Souza
      Vinicius Souza

      Hello Malathesha,

      I'm facing the same problem Stefano had.

      But I could not find the problem. Could you please suggest?

      Regards.

      Author's profile photo Vinicius Souza
      Vinicius Souza

      Hi Stefano,

      Could you explain better what you have done? I'm facing the same problem, I did as you told, but the problem persists.

      Regards.

      Author's profile photo Former Member
      Former Member

      Hi Vinicius,

      My problem was in Z_GET_FIRM_TYPE and Z_SET_FIRM_TYPE.

      The LFA1 filed name that we want to manage, in this case LFA1-ZZFIM_TYPE, must be equal to the field name in your dynpro. So equal to the field that you add in LFA1 using append structure.

      I hope was clear enough.

      Regards

      Stefano

      Author's profile photo Vinicius Souza
      Vinicius Souza

      Hi Stefano,

      I did as you told and it worked. In Dynpro we must refer to table and field.

      The name of new field must be the same that is appended in LFA1.

      Regards.

      Author's profile photo Gaurav Karkara
      Gaurav Karkara

      Hello Malathesha,

      Thanks for the great blog.

      I have a question. When we click on 'BACK' button in new subscreen, system will ask you to save the vendor first & when saved it comes out to vendor master initial screen. Logically, it should have gone to previous screen without asking to save. I expect it to work similar to 'Tax Categories' pushbutton in 'Vendor:Control' screen w.r.t. 'BACK' button functionality but its not working so.

      Can you help on this?

      Regards

      Gaurav K

      Author's profile photo Malathesha Sodad
      Malathesha Sodad
      Blog Post Author

      Hi Gaurav Karkara

      In this case what I would suggest you is to go ahead and create an local button on the taxi screen (like you would have seen some buttons inside the tabs) and handle the back button in the taxi screen's PAI.

      Hope this will works for your use case...!

      Author's profile photo Former Member
      Former Member

      Hello Malathesha,

      Can the custom field be add to the company code data (table LFB1) instead of LFA1? Also, can we make the custom field added to the company code data mandatory for specific company code? In our system, multiple company codes share the same account group and certain information is required for certain company code. Appreciate if you could share with me the solution.

      Regards,

      Nunda

      Author's profile photo Malathesha Sodad
      Malathesha Sodad
      Blog Post Author

      Hi Nunda Riengchan,

      Yes, You can do that... please put all the validations in the exits, and you can even have messages raised in some BADI's at the time of SAVE. If available.

      Author's profile photo Vinicius Souza
      Vinicius Souza

      Hello Malathesha,

      How can I restrict it to show the button just in XK01/02?

      Att.,

      Author's profile photo Malathesha Sodad
      Malathesha Sodad
      Blog Post Author

      Hi Vinicius Souza,

      You can do it... Check one of the screen exit. Write an if statement to check the sy-tcode if any tcode other than xk01 or 02 you can change the visiblity of the button by looping in the screen elements in one of screen exit PBO event.


      Let me know if you need any help.! 🙂


      Regards,

      Malathesha Sodad

      Author's profile photo Vinicius Souza
      Vinicius Souza

      Hi Malathesha,

      Do you have the name of the screen exits?

      Att.,

      Author's profile photo Malathesha Sodad
      Malathesha Sodad
      Blog Post Author

      Hi Vinicius Souza ,

      Not sure about the exit, you can find one, hopefully ! Been long time I am out of programming in logistics, so not sure what have been really changed...!

      Regards,

      Malathesha Sodad

      Author's profile photo David López Alcaide
      David López Alcaide

      Very good information...but How can add this customer fields to transaction xk04 or fk04?

      Regards,

      David.

      Author's profile photo Malathesha Sodad
      Malathesha Sodad
      Blog Post Author

      Hi David López Alcaide,

      This can easily be achieved, I did some trails and worked fine for me. Thinking of to recreate the newer version of this document. As your query is a very valid one.!! 🙂


      Thanks for your findings.


      To take this effect on to the fk04 or xk04 all you have to do is just make additional field data element's change document check box active. This you will find it under the further characteristics of Data Element in SE11.

      fk04 and xk04 are not really any transactions as such. They are just some reports looking for data flagged for the change document.

      Read more on 'Change documents' under ABAP dictionary for more information.

      Hope this will help you...!

      Regards,

      Malathesha Sodad

      Author's profile photo David López Alcaide
      David López Alcaide

      Hi Malathesha,

      Thanks for your idea, but I have a problem. The Data Element is standard although I can register the object.

      Is correct???

      /wp-content/uploads/2015/06/fk03_2_720914.jpg

      /wp-content/uploads/2015/06/fk03_3_720916.jpg

      /wp-content/uploads/2015/06/fk03_4_720935.jpg

      /wp-content/uploads/2015/06/fk03_5_720936.jpg

      /wp-content/uploads/2015/06/fk03_6_720937.jpg

      Regards,

      David

      Author's profile photo Malathesha Sodad
      Malathesha Sodad
      Blog Post Author

      Hi David López Alcaide,

      Hmm for this if you really want to track you should have this check box ticked. And I am not sure if you any other logistics related customization which will help you to achieve this. Please talk to some functional expertise if you can get this fixed.

      As I said, technically possible and can easily be achieved with this tick.

      The last other options would be find the function module generated for the change object( you need to findout the change object used in the xd04 for LFA1 table) and write enhancement before calling write_change_document or inside write_change_document. (again these are just alternatives)

      Thanks And Regards,

      Malathesha Sodad

      Author's profile photo Former Member
      Former Member

      It is a great document Malathesha Sodad!


      Thanks.

      Author's profile photo Malathesha Sodad
      Malathesha Sodad
      Blog Post Author

      Hello MURAT TURKEN,

      Thank you for your comments.

      Regards,
      Malathesha Sodad

      Author's profile photo Perinba Rani Maniraj
      Perinba Rani Maniraj

      Hi Malathesha,

      Am a SRM Technical Consultant, sitting @ customer location.

      Need your assistance on this. Even i need to achieve the same.

      But not the custom screen.. need to add a custom check box in XK01 under conditions.

      xk01 screen.png

      can u mail me... perinbarani.maniraj@gmail.com.

      I need to discuss with you regarding the flow to enhance xk01.

      Thanks,

      Rani.

      Author's profile photo Malathesha Sodad
      Malathesha Sodad
      Blog Post Author

      Hi Rani,

      Check this out in SPRO, I think this should help you in resolving the problem,

      Vendor add data.JPG

      Regards,

      Malathesha Sodad

      Author's profile photo Perinba Rani Maniraj
      Perinba Rani Maniraj

      Hi Malathesha,


      Thanks for your reply.

      Is it not required to implement the badi for this?

      Standard table (LAM1) append structure?


      Regards,

      Rani.

      Author's profile photo Malathesha Sodad
      Malathesha Sodad
      Blog Post Author

      Yes! I think you might even go with customer include structure if available just CI_<tabname> and some screen exit implementations

      Author's profile photo Uma Shankar Nachimuthu
      Uma Shankar Nachimuthu

      Hi Malathesha Sodad,

      It is an wonderful article, it did save my day. It works fine for me, though i have a small enhancement in this enhancement 😛 , it is the 'Additional Data' button should be visible only in the Address screen i.e., Address, and after that it should be invisible like the 'Tax Categories' is visible only in Control. Can you kindly help me to sort this out.,

      Thank you in advance.

      Author's profile photo Malathesha Sodad
      Malathesha Sodad
      Blog Post Author

      Yes,You can do it. It is very simple check for the sub screen number or like the tab active and then control the visibility of the button.

      Author's profile photo Uma Shankar Nachimuthu
      Uma Shankar Nachimuthu

      Hi Malathesha Sodad,

      Thank you for the idea, can you be little more specific on where i have to check for the sub screen number or tab active to control the visibility? i.e which class of the BADI

      Author's profile photo raja rajan anbalagan
      raja rajan anbalagan

      Hi Uma Shankar,

      I have the similar requirement now to be done in our system. Were you able to achieve this? If so, could you please tell me what needs to be done?.

      Thanks,

      Rajarajan

      Author's profile photo raja rajan anbalagan
      raja rajan anbalagan

      Hi Malathesha,

      This article was very helpful. I have the same question which Uma Shankar has posted, Is it possible to have the custom button only visible on the address tab? If so, could you please suggest how to do it?

      Thanks,

      Rajarajan

      Author's profile photo Ermelinda Petralia
      Ermelinda Petralia

      Hi Rajarajan,

      I have the same issue, can you please say me how to solved it ? thanks

      Author's profile photo Ermelinda Petralia
      Ermelinda Petralia

      Hi Uma,

      I have the same issue, can you please say me how to solved it ? thanks

      Author's profile photo Ermelinda Petralia
      Ermelinda Petralia

      Hi Malathesha,

       

      can you be little more specific on where i have to check for the sub screen number or tab active to control the visibility?  please 🙂

       

      thanks

      Author's profile photo Miguel Alvear
      Miguel Alvear

      Hi Malathesha.

      Very good article, I'm just doing something like this and it is very helpful.

      Question, does it work on Fk01, FK02, FK03 and MK01, MK02, MK03???

      shoud work also or not?

      Regards

      Miguel

      Author's profile photo Malathesha Sodad
      Malathesha Sodad
      Blog Post Author

      Sorry Mr. Miguel Alvear

      I was busy with work, Answer for your question we need to check the feasibility!

      Do share your experience here if you could succeed.

      Cheers, Happy Programming.

      Author's profile photo Veena S
      Veena S

      Hi,

      Thank you for the documentation.

      I added a new custom field in the screen as per this document. But I am unable to find it when I try to record BDC. Could you please help me to update this custom field using BDC ?

      Thanks in advance,

      Veena

      Author's profile photo Former Member
      Former Member

      Hi Malathesha,

      Thank you for the post, I appreciate it if you can answer my question.

      I did the same thing in my system for customer and it works except this:

      I added some extra fields to KNB1 and I only want the additional data and the push button show up only if the user has specified the company code.

      The way it is functioning is, it still shows the push button and the sub-screen for additional data for Company code but it does not save the data in KNB1 unless I enter the CCode in the initial screen.

      I expect the push button does not show and does not display the sub-screen if I did not provide the company code. can you help?

      Author's profile photo Malathesha Sodad
      Malathesha Sodad

      Sorry I Missed this post. Hope you cracked it.

      Author's profile photo Former Member
      Former Member

      Hi,

      Thank you for the documentation.

      I have a problem that the button is appearing on Quality environment, but on Devlopment it doesn't appear.

      But everything is equal on both environments. Do you have any idea of what it can be?

      Thanks,

      Nicole Jocys

       

      Author's profile photo Malathesha Sodad
      Malathesha Sodad

      Check if your customization has been moved or not since the customization are client independent.

       

      Author's profile photo Hamilton Riaño
      Hamilton Riaño

      I have a problem with this method (SET_DATA) in the function (Z_SET_FIRM_TYPE) does not return the value and therefore does not appear on the screen, please help.
      This is the code:

      Method SET_DATA

      CALL FUNCTION 'Z_SET_FIRM_TYPE'
      EXPORTING
      iv_zznovedadtercero = i_lfa1-zznovedadtercero.

      Function Z_SET_FIRM_TYPE.

      FUNCTION z_set_firm_type.
      *"----------------------------------------------------------------------
      *"*"Interfase local
      *" IMPORTING
      *" REFERENCE(IV_ZZNOVEDADTERCERO) TYPE LFA1-ZZNOVEDADTERCERO
      *"----------------------------------------------------------------------
      lfa1-zznovedadtercero = iv_zznovedadtercero. "set here

      ENDFUNCTION.

      Regards William.

      Author's profile photo Chris Thrall
      Chris Thrall

      Did you ever figure this out?  Running into the same issue where Results are not pulling from the DB and displaying nor are they saving.  Have circled through this guide numerous times and I can't seem to figure out whats missing.

      Author's profile photo Tanju Lise
      Tanju Lise

      Hi Chris,

      Did you solve the problem?

       

      METHOD if_ex_vendor_add_data_cs~set_data.
      BREAK tlise.

      CALL FUNCTION 'Z_SET_FIRM_TYPE'
      EXPORTING
      lv_zzfirm_type = i_lfa1–zzfirm_type. " sent here
      ENDMETHOD.

       

      When I try to active it, I am receiving 

      Method IF_EX_VENDOR_ADD_DATA_CS~SET_DATA
      Field "I_LFA1–ZZFIRM_TYPE" is unknown.

       

      message.

      What can I do?

      Regards

      Tanju

      Author's profile photo Kalyana Lakshmanan
      Kalyana Lakshmanan

      Hi Malathesha and other experts,

      I am trying to follow your steps for an IS-OIL module 'PRA' related vendor table called /PRA/BP_VEND_ESC to add a custom field in XK01/2/3,  but this table structure is not part of standard enhancement spot VENDOR_ADD_DATA_CS.   So, in method IF_EX_VENDOR_ADD_DATA_CS~SET_DATA, when calling my custom function module ...SET_DATA, can't export the PRA table field!

      Any advice would be appreciated.