Sei sulla pagina 1di 13

Adding custom tab to the transaction VF01/VF02/VF03 Header

detail screen
By Ugur Baris Turkeli , Istanbul

Go to VF02 transaction

Custom Tab to be added in the header detail

Step by step how can we add custom tab to the billing header detail;

In order to fulfill the requirement we need a custom subscreen with some custom fields in that screen.

Steps for creating the custom fields and adding them to the custom sub screen.
1. Creating the Custom fields

a) Create the Z fields to the table VBRK, by appending the structure.


b) Give a name to the structure for example ZZVBRK_APPEND. Enter the fields name which will
you need.

Note: the added fields should follow the naming convention that they should start with ZZxxxxx or
YYxxxxx.

c) Save and activate.

2. Creating the z* program and its screen and adding the Z fields on layout.

a) Create a z*program using transaction SE38

give a name for example ZZBILLHEADER .

b) Create a screen using the transaction SE51.

Adding custom tab to the transaction VF01/VF02/VF03 Header


detail screen
...Previous
Go to screen layout and get the fields from dictionary on vbrk table

The screen in VF03 before which is in changeable mode. If you write screen pbo module below code
it will be read only.

Save and activate program and screen.

Go to transaction vf02,
Double click program name SAPMV60A
SAP provides 2 screens for customer addional datas; screen 6001 is for header and screen 6002 is
for detail screen.
In the cust_head_activate subroutine we have to activate TABSTRIP_TAB06 for customer header
tab screen.

3. Steps to write the code in the enhancement spots.

a. First to find the enhancement spots click on the spiral icon in the menu bar, and next click on the
edit enhancement operations - show implicit enhancement options.
You will see the arrows . Right click on the arrow line and click Enhancement implemantation
>Create
4. Give a name for Enhancement point, for example ZZBILLHEADER_ACTIVATE_TAB

Click enter and save in a package.


To make use of this logic use enhancement frame work. We have enhancement spots at the
begin/end of the subroutine.

5. Steps to write the code in the enhancement spots.

GS_CUST_TAB-HEAD_CAPTION = 'ihracat Ek veriler'.custom tab name


GS_CUST_TAB-HEAD_PROGRAM = 'ZZBILLHEADER'.custom z* program
GS_CUST_TAB-HEAD_DYNPRO = '0001' custom z* program screen

Activate the enhancement and check in the VF01/ VF02/ VF03 you can find the custom tab with the
custom fields. The Data automatically populates to the database table when the data is entered into
the Z fields.
RV60AFZZ

FORM USEREXIT_PRICING_PREPARE_TKOMK.
*{ INSERT DEVK911780 1
TABLES : ZADV_LIC.

DATA : ZZADVLI TYPE ZADV_LIC-ZADVLI.


Data: T_ITAB LIKE ZADV_LIC OCCURS 0,
W_ITAB LIKE ZADV_LIC.

IF XVBRK-FKART = 'ZF0'.

IF SY-UCOMM = 'SICH'.

IF XVBRK-ZZADVLI = ''.
MESSAGE 'Pls Enter Adv Lic Number in Header' TYPE 'E'.

ELSE.

SELECT ZADVLI FROM ZADV_LIC INTO ZZADVLI WHERE ZADVLI = XVBRK-ZZADVLI.


ENDSELECT.

IF sy-subrc = 4.
MESSAGE 'Pls Enter Valid Adv Lic Number.' TYPE 'E'.
ENDIF.

SELECT * FROM ZADV_LIC INTO W_ITAB WHERE ZADVLI = XVBRK-ZZADVLI.


* BUDAT GE XVBRK-FKDAT AND
* BLDAT LE XVBRK-FKDAT.
ENDSELECT.

if w_itab-budat ge XVBRK-FKDAT.

MESSAGE 'Entered Adv Lic Number Not in Between Valid dates ' TYPE '
E'.

elseif w_itab-bldat le XVBRK-FKDAT.


MESSAGE 'Entered Adv Lic Number Not in Between Valid dates ' TYPE 'E
'.

endif.

ENDIF.

ENDIF.
ENDIF.

*************eXPORT PROCESS **********************

IF XVBRK-FKART = 'ZF1'.

IF SY-UCOMM = 'SICH'.

IF XVBRK-ZZADVLI = ''.
MESSAGE 'Pls Enter Adv Lic Number in Header' TYPE 'E'.

ELSE.
SELECT ZADVLI FROM ZADV_LIC INTO ZZADVLI WHERE ZADVLI = XVBRK-ZZADVLI.
ENDSELECT.

IF sy-subrc = 4.
MESSAGE 'Pls Enter Valid Adv Lic Number.' TYPE 'E'.
ENDIF.

SELECT * FROM ZADV_LIC INTO W_ITAB WHERE ZADVLI = XVBRK-ZZADVLI.


* BUDAT GE XVBRK-FKDAT AND
* BLDAT LE XVBRK-FKDAT.
ENDSELECT.

if w_itab-budat ge XVBRK-FKDAT.

MESSAGE 'Entered Adv Lic Number Not in Between Valid dates ' TYPE '
E'.

elseif w_itab-bldat le XVBRK-FKDAT.


MESSAGE 'Entered Adv Lic Number Not in Between Valid dates ' TYPE 'E
'.

endif.

ENDIF.

ENDIF.
ENDIF.
*} INSERT

Potrebbero piacerti anche