Skip to Content
Author's profile photo Aasim Khan

New Tabs in Sales – VAxx transactions

Quite often we come across instances where we require custom fields on the face of quotations, orders, etc. To achieve this, SAP has provided an Additional tab named Additional Data tab B at header and item level in VAxx transactions. However, over a period of time, these additional tabs get cluttered with many custom fields, especially in a matured project. Now if the business demands more custom fields on quotations, orders on a new tab altogether, what is the solution?

Yes, you’re right! We require more tabs; preferably next to Additional Data tab B.

How do we go about achieving this functionality?

Well, we first need to add custom fields to VBAK table using APPEND STRUCTURE. It’s assumed we all know it already.

Now, if you’re using a system with Enhancement Pack 6 installed, you’d be delighted to know SAP has provided a BAdI named BADI_SLS_HEAD_SCR_CUS/BADI_SLS_ITEM_SCR_CUS. You can find this in SPRO


All you need to do is just implement this BAdI. Use the methods ACTIVATE_TAB_PAGE to populate name of the Tab, custom program name and the dynpro number. Next, use TRANSFER_DATA_TO_SUBSCREEN and TRANSFER_DATA_FROM_SUBSCREEN methods for passing the data to and fro from screen to workarea. More info here. And Voila! You can see the custom tab added next to Additional Data Tab B.

HOWSOEVER! For a few unfortunate souls like me who come to know their SAP system is not yet on Enh Pack 6, adding a new tab to VAxx becomes a challenge because the aforementioned BAdIs are not available in the older systems.

So, what needs to be done?

Well, I’m sure most of you have heard of this transaction named VFBS.

Yes, we’re now going to add a new tab to sales transactions in SAP using this very transaction!

Step1: Execute VFBS, enter program name as SAPMV45A


Step2: Select Tab Control and click Change button and add below records for header and item tabs

  • Program Name: SAPMV45A
  • Screen Group: K0 (Screen Group for Header) and in case of item, the screen grp is P0
  • Number: 131 or the number immediately after Additional Data Tab B
  • Funct. Code: Any custom function code (eg. ZCM)
  • Description: Any meaningful description you want on the tab


  Save and come back to the main screen

Step3: Enter program name as SAPMV45B, select the first radio button Function Codes and click Change


Create new entries as below


TTyp – A, H and V are Create/Change/Display modes respectively

FCode – ZCM and ZCM2 are function codes for Header and Item tabs

Save the entries and back on the main screen of VFBS

Step4: Select the second option – Paths between process locations


The idea behind creating entries in this step is to simply copy the standard SAP data already maintained for Additional Data Tab B

The function code for Additional Data Tab B on Header Level is KZKU and PZKU is for item as shown below in the screenshot taken from step 3



Now find the entries maintained for KZKU and PZKU function codes.



We’re going to clone these entries as is and change the FCcode and Subsequent Panel to ZCM (Header) and ZCM2 (Item)


Step5: Select the third radio button on the main screen and click on the Change button


Now find for panel KZKU – Header


Clone it and rename Panel to ZCM. Change the Location description to something meaningful


K0 as explained in step # 2, is the header group. Screen # 4002 is the dynpro number for Header tab.

Below screenshot taken using System->Status in VA22 on Additional Data Tab B


Detailed view of the record created in this step is as shown below


I’ve kept Screen module 2 as 8309. This can be changed to screen # 8310 too. In that case, we’d simply need to add a line of code on the flow logic of screen # 4312 below this line.



Also, we need to add a subscreen of the same name in the screen Layout

Below is the screenshot of Item details. Again, in this case, we can change Screen Module2 to 8460


Now execute any VAxx transactions like VA02, VA22, etc, you’ll get to see the newly added tab.


To restrict visiblity of this tab to only a particular transaction, below is the code which needs to be added using an Enhancement Implementation in INCLUDE MV45AF0C_CUA_SETZEN – FORM CUA_SETZEN


Hope you find this useful!

Assigned Tags

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

      @Aasim: Very good and helpful documents.

      Author's profile photo Former Member
      Former Member

      AASIM, Indeed very Interesting and helpful way of adding the new TAB for Sales txn.

      Appreciate for sharing this !!

      Author's profile photo Jelena Perfiljeva
      Jelena Perfiljeva

      Thanks for sharing! We are upgrading one system right now, so BADIs will come in handy for sure. Finally some progress comes to the VAxx transactions. Now we never have to switch to HANA! 😀

      Author's profile photo Former Member
      Former Member

      Thanks for sharing this useful document. 🙂

      Author's profile photo Simone Milesi
      Simone Milesi

      Thanks for this!

      I'm adding a bunch of custom fields on my SO header and without this i have to loose an huge amount of time merging them in existing screen.

      Author's profile photo Simone Milesi
      Simone Milesi


      We passed to SAPKH61707 (EHP7) and i do not have the new BaDIs.
      The sys admins missed something?

      Author's profile photo Aasim Khan
      Aasim Khan
      Blog Post Author


      Are you able to see the Business Addins in the SPRO path? I'm pretty sure these BAdIs are made available to all the systems with Enh Pack 6 and above.

      Author's profile photo Jelena Perfiljeva
      Jelena Perfiljeva

      In our EHP6 system I can see BADI_SLS_HEAD_SCR_CUS in SE18. We have not done anything special to expose it...

      Author's profile photo Simone Milesi
      Simone Milesi

      This is my SPRO screenshot

      But thanks to Jelena Perfiljeva, i used SE18 (i dumbly checked under SE19 and cannot found it) and find it under the Enh. Spot BADI_SD_SALES_BASIC

      Author's profile photo Former Member
      Former Member

      Dear Simone,

      you have to activate the Business Function LOG_SD_CI_02. Afterwards everything is available.

      Regards Tobias

      Author's profile photo Former Member
      Former Member

      Very well structured content.  Helpful, thanks.

      Author's profile photo Former Member
      Former Member

      hi Aasim Khan,

      To locate the tab at Header/item additional tabs, Badis BADI_SLS_ITEM_SCR_CUS / BADI_SLS_HEAD_SCR_CUS to be used as you stated, but could you please let me know to position the tab in first screen itself, i.e. screen where you can see 'Item overview' tab, there you might be knowing the tab 'Reason for rejection'.

      User wants the new tab to place very next to 'Reason for rejection' tab.

      Actually new fields to add should be at line item level, hence they don't want to go each and every item to see those fields, instead they want to see like an 'item overview' tab to see the fields for al the items in single tab.

      Hope you understand the requirement. And nowhere i found the BADIs to support and for sure, access key is not the solution.

      Please do needful and provide inputs if any, Thanks.



      Author's profile photo Aasim Khan
      Aasim Khan
      Blog Post Author


      You can use the above technique and check the Tab Control option in VFBS txn with SAPMV45A as the program name. You'll see screen group for Item Overview, Reason for rejection, etc along with its sequence Number. I'd suggest you do changes in the Number column in your sandbox server to see how the screen behaves.

      Author's profile photo atul saxena
      atul saxena

      Fantastic Aasim, not sure how i missed this Buddy !!