0% found this document useful (0 votes)
227 views9 pages

How To Create A Custom TAB For MIGO Item Details

The document provides steps to create a custom tab in MIGO (Material Inventory Management by Object) in SAP. It involves: 1) Creating a custom table to store additional data; 2) Creating structures and appending them to existing structures; 3) Developing a BADI class with methods to initialize, populate, validate and save the custom tab data. 4) Configuring the BADI implementation and screen layout in transactions SE80 and SE19. This allows adding a new "Warranty" tab to MIGO to maintain additional warranty-related fields.

Uploaded by

Ganesh Chaudhary
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
227 views9 pages

How To Create A Custom TAB For MIGO Item Details

The document provides steps to create a custom tab in MIGO (Material Inventory Management by Object) in SAP. It involves: 1) Creating a custom table to store additional data; 2) Creating structures and appending them to existing structures; 3) Developing a BADI class with methods to initialize, populate, validate and save the custom tab data. 4) Configuring the BADI implementation and screen layout in transactions SE80 and SE19. This allows adding a new "Warranty" tab to MIGO to maintain additional warranty-related fields.

Uploaded by

Ganesh Chaudhary
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

3/1/24, 9:44 PM How to create a custom TAB for MIGO Item Details - SAP Community

How to create a custom TAB for MIGO Item Details

Former Member

‎06-14-2013 9:18 AM

11 Kudos

Dear all, I have implemented a custom tab in MIGO, you can follow the steps.

My requirement was to add a new tab named “Warranty” in MIGO.

Step1 : Create a custom table to store the data of “Warranty” tab

The first four fields should be the key fields, and the rest fields are your required custom fields.

Step 2: create a structure with the custom field you require on the MIGO.

https://community.sap.com/t5/application-development-blog-posts/how-to-create-a-custom-tab-for-migo-item-details/ba-p/13260106 1/9
3/1/24, 9:44 PM How to create a custom TAB for MIGO Item Details - SAP Community

Step 3: open structure GOITEM and append the same custom structure into it as shown below.

Step 4: Create another structure and append the table created in Step-1.

https://community.sap.com/t5/application-development-blog-posts/how-to-create-a-custom-tab-for-migo-item-details/ba-p/13260106 2/9
3/1/24, 9:44 PM How to create a custom TAB for MIGO Item Details - SAP Community

Step 5: Create a Table type of the structure created in step-4 as shown below.

Step 6: go to SE80 and create a program as shown below. This screen must contain two screen.

https://community.sap.com/t5/application-development-blog-posts/how-to-create-a-custom-tab-for-migo-item-details/ba-p/13260106 3/9
3/1/24, 9:44 PM How to create a custom TAB for MIGO Item Details - SAP Community

Step 7: SE19 -> Badi Name: MB_MIGO_BADI

Press Create Impl. Button and create Implementation: ZMIGO_WARRENTY as shown below.

https://community.sap.com/t5/application-development-blog-posts/how-to-create-a-custom-tab-for-migo-item-details/ba-p/13260106 4/9
3/1/24, 9:44 PM How to create a custom TAB for MIGO Item Details - SAP Community

Step 8: Create a Class : ZCLASS_MIGO_WARRENTY as shown below.

Step 9: Maintain the following attributes in your Class Interface as shown below.

Step 10: Write the following codes for the methods shown below.

https://community.sap.com/t5/application-development-blog-posts/how-to-create-a-custom-tab-for-migo-item-details/ba-p/13260106 5/9
3/1/24, 9:44 PM How to create a custom TAB for MIGO Item Details - SAP Community

(a) for IF_EX_MB_MIGO_BADI~INIT

METHOD if_ex_mb_migo_badi~init.
APPEND gf_class_id TO ct_init.ENDMETHOD.

(b) for IF_EX_MB_MIGO_BADI~PBO_DETAIL

METHOD if_ex_mb_migo_badi~pbo_detail.
DATA: wa_extdata TYPE zst_warrenty.
DATA :gf_class_id TYPE migo_class_id.
gf_class_id = 'ZCLASS_MIGO_WARRENTY'.
CHECK i_class_id = gf_class_id.
IF g_no_input IS INITIAL.
e_cprog = 'ZSAPMZMM_MIGO_WARENTY'.
e_dynnr = '9001'. "External fields: Input
e_heading = 'Warranty'(001).
ELSE.
e_cprog = 'ZSAPMZMM_MIGO_WARENTY'.
e_dynnr = '9002'. "External fields: Display
e_heading = 'Warranty'(001).
ENDIF.
g_line_id = i_line_id.
READ TABLE gt_extdata INTO wa_extdata WITH KEY line_id = g_line_id.
IF sy-subrc = 0 AND wa_extdata-mblnr IS NOT INITIAL AND wa_extdata-mjahr IS NOT INITIAL AND wa_extdata-
zeile IS NOT INITIAL.

https://community.sap.com/t5/application-development-blog-posts/how-to-create-a-custom-tab-for-migo-item-details/ba-p/13260106 6/9
3/1/24, 9:44 PM How to create a custom TAB for MIGO Item Details - SAP Community

SELECT SINGLE * FROM ztb_warrenty


CLIENT SPECIFIED INTO CORRESPONDING FIELDS OF wa_extdata
WHERE mandt = sy-mandt
AND mblnr = wa_extdata-mblnr
AND mjahr = wa_extdata-mjahr
AND zeile = wa_extdata-zeile.
SET PARAMETER ID: 'ZWARANTY' FIELD wa_extdata-zzwarnt,
'ZWARBEGD' FIELD wa_extdata-zzwbegd,
'ZWARENDD' FIELD wa_extdata-zzwendd.
ELSE.
SET PARAMETER ID: 'ZWARANTY' FIELD space,
'ZWARBEGD' FIELD space,
'ZWARENDD' FIELD space.
ENDIF.ENDMETHOD.

(c) for IF_EX_MB_MIGO_BADI~PAI_DETAIL

METHOD if_ex_mb_migo_badi~pai_detail.
e_force_change = 'X'.ENDMETHOD.

(d) for IF_EX_MB_MIGO_BADI~LINE_MODIFY

METHOD if_ex_mb_migo_badi~line_modify.
DATA: ls_extdata TYPE zst_warrenty.
IF cs_goitem-mblnr IS NOT INITIAL AND cs_goitem-mjahr IS NOT INITIAL AND cs_goitem-zeile IS NOT INITIAL.
ls_extdata-line_id = i_line_id.
ls_extdata-mblnr = cs_goitem-mblnr.
ls_extdata-mjahr = cs_goitem-mjahr.
ls_extdata-zeile = cs_goitem-zeile.
ls_extdata-zzwarnt = cs_goitem-zzwarnt.
ls_extdata-zzwbegd = cs_goitem-zzwbegd.
ls_extdata-zzwendd = cs_goitem-zzwendd.
DELETE gt_extdata WHERE line_id = ls_extdata-line_id.
INSERT ls_extdata INTO TABLE gt_extdata.
ELSE.
ls_extdata-line_id = i_line_id.
ls_extdata-zzwarnt = cs_goitem-zzwarnt.
ls_extdata-zzwbegd = cs_goitem-zzwbegd.
ls_extdata-zzwendd = cs_goitem-zzwendd.
DELETE gt_extdata WHERE line_id = ls_extdata-line_id.
INSERT ls_extdata INTO TABLE gt_extdata.
ENDIF.ENDMETHOD.

(e) for IF_EX_MB_MIGO_BADI~RESET

https://community.sap.com/t5/application-development-blog-posts/how-to-create-a-custom-tab-for-migo-item-details/ba-p/13260106 7/9
3/1/24, 9:44 PM How to create a custom TAB for MIGO Item Details - SAP Community

METHOD if_ex_mb_migo_badi~reset.
CLEAR: gt_extdata,
g_no_input,
gs_exdata_header,
g_cancel,
g_line_id.ENDMETHOD.

(f) for IF_EX_MB_MIGO_BADI~POST_DOCUMENT

METHOD if_ex_mb_migo_badi~post_document.
DATA: wa_warrenty TYPE ztb_warrenty,
it_warrenty TYPE TABLE OF ztb_warrenty,
wa_mseg TYPE mseg,
wa_extdata TYPE zst_warrenty.

LOOP AT it_mseg INTO wa_mseg.


READ TABLE gt_extdata INTO wa_extdata WITH KEY line_id = wa_mseg-line_id.
IF sy-subrc = 0.
MOVE-CORRESPONDING wa_mseg TO wa_extdata.
MOVE-CORRESPONDING wa_extdata TO wa_warrenty.
APPEND wa_warrenty TO it_warrenty.
ENDIF.
ENDLOOP.
MODIFY ztb_warrenty FROM TABLE it_warrenty.
ENDMETHOD.

(g) for IF_EX_MB_MIGO_BADI~CHECK_ITEM

METHOD if_ex_mb_migo_badi~check_item.
DATA: wa_extdata TYPE zst_warrenty,
ls_bapiret TYPE bapiret2.

READ TABLE gt_extdata INTO wa_extdata WITH TABLE KEY line_id = i_line_id.
IF wa_extdata-zzwarnt IS INITIAL.
ls_bapiret-type = 'E'.
ls_bapiret-id = 'M7'.
ls_bapiret-number = '895'.
ls_bapiret-message_v1 = 'Enter warranty condition'(002).
APPEND ls_bapiret TO et_bapiret2.
ENDIF.
IF wa_extdata-zzwarnt = 'YES' AND ( wa_extdata-zzwbegd IS INITIAL OR wa_extdata-zzwendd IS INITIAL
OR ( wa_extdata-zzwbegd GT wa_extdata-zzwendd ) ).
ls_bapiret-type = 'E'.
ls_bapiret-id = 'M7'.

https://community.sap.com/t5/application-development-blog-posts/how-to-create-a-custom-tab-for-migo-item-details/ba-p/13260106 8/9
3/1/24, 9:44 PM How to create a custom TAB for MIGO Item Details - SAP Community

ls_bapiret-number = '895'.
ls_bapiret-message_v1 = 'Enter appropriate warranty Start and End date'(003).
APPEND ls_bapiret TO et_bapiret2.
ENDIF.
ENDMETHOD.

(h) for IF_EX_MB_MIGO_BADI~MODE_SET

METHOD if_ex_mb_migo_badi~mode_set.
CLEAR : g_no_input.
IF i_action = 'A04' .
g_no_input = 'X'.
ENDIF.

IF i_action = 'A03'.
g_cancel = 'X'.
ENDIF.ENDMETHOD.

Note: Leave the other Methods blank. Do not write any thing in that.

Step 11: Open MIGO , you will be able to see the new tab “WARRANTY” as shown below.

The system will store the data of your custom screen into the table created in Step-1.

https://community.sap.com/t5/application-development-blog-posts/how-to-create-a-custom-tab-for-migo-item-details/ba-p/13260106 9/9

You might also like