Sie sind auf Seite 1von 7

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,
useTRANSFER_DATA_TO_SUBSCREEN and TRANSFER_DATA_FROM_SUBS
CREEN 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.

CALL SUBSCREEN 8310 INCLUDING 'SAPMV45A' '8310'.


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 to8460
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!

Das könnte Ihnen auch gefallen