Hiding Custom Fields in Migo
Hi All,
I have customized the MIGO screen by adding a subscreen with two fields using MB_migo_Badi and the data entered in these fields is saving in a custom data base table using the POST_DOCUMENT method of the BADI.
I Need to write the code to display these values in the MIGO, only while displaying the
"Goods Receipt - Purchase Order" & for the rest, fields need to be hidden..
Please help me on how to solve this problem by suggesting the method or sample code?
Thanks & Regards,
Ravi S.
Hi,
Thanks For the Reply.
Actually i knew that procedure.But Looking for some sample code to be written in Loop & Endloop.
Like
Loop at screen.
Here where can i fieldnames for Goods Receipt-Purchase Order in a structure so that i can write
if structurename-Action = 'a01' and structurename-Refdoc = 'r01'
screen-active = 0.
Endloop.
Also Need to Separate these fields based on Company Code.
Any Help would be appreciated.
Thanks & regards,
Ravi S.
Edited by: Ravi chandra on Jun 20, 2009 10:39 AM
Similar Messages
-
Custom fields in migo table control not updating
hi ,
This is to have your valuable suggestion , wrt , following issue..
In transaction MIGO , i have to add two fields uebto and untto in table control .
I am able to add them in table control, but some how not able to pick data for these fields .
error coming is :
" System error: Incorrect Customizing for field
ZZUEBTO".
if any face such type of issue , answer me .
Thanx,
jeetHi,
Thanks for your reply. I have added the custom fields in the item detail. But the customer wants the custom fields in the table view also.
Is there any screen exit available to modify the table control of MIGO?
Thanks. -
Hiding Customized fields through Config - T88M
Hi,
My system parameter is : ECC 6.0.
As per requirement in my project, I have customized IT7 and added a new field - Annual Time . I am populating that field by default using some logic which wrote in the PBO of the newly created module pool and everything is working fine !!
Query :
Business wants this field to be displayed only for Ausy employees and not for Indonesian employees AND they want this to be done through config only. How can I do that ?
What I have tried :
I can very well go to the PBO and hide this screen reading the WERKS from PA1 for that employee but this is not what is reqd.
They require to hide this using Infotype screen modification.
When I go to SM30 and maintain the Infotype screen modification view : V_T88M and give the newly created module pool name : ZMPA0007 ...it doesnt list down the new;y created fields in this screen !! :-s
So my query is - Is T88M can Only be used to hude standard fields and Not custom fields ?? If it can be used for custom fields also, please let me know how can I see my field there in the list ??
Note : After creating the new field in PM01, I have assigned it to the standard MP00007 screen 2000. So now for all employees this std screen is getting displayed and also my little field at the end.
I tried to modify the feature for this std screen and then I tried to create a new variable based on WERKS and assign some other screen 3000 for all employees and 2000 only for Indonesian employees, but it is not working ... at all the times the screen 2000 with my newly added field is getting displayed.
What am I doing wrong or what do I need to do extra ?? or is it not possible to hide custom fields through Config I have to do it using coding only ??
Experts, please put some light !!
Many Thanks,
Cheers.Hi Sourav,
In table T588M create two entries for MP000700 with different variable key say according to the molga of the country one aus(xx) and other bagladesh(yy).
Now make the field visible/invisible depending on the country req.
Now go inside the entry, click on feature and give feature name as P0007. Now change the feature according and return the variable key what you assigned to the module pool.
Take the help of functional people to change the feature.
Br/Manas -
Hi,
when i try to add a new tab in the T-code MIGO my new tab added successfully but when i click on "Item OK" it don't show the Excise Invoice tab. i am using MB_MIGO_BADI badi. please help me how to solve this issue?
Mukeshmy issue is solved by using the standard class "CL_EXM_IM_MB_MIGO_BADI" Class.
-
Hi Friends ,
I want to disable line item fields like quantity for a given line incase of outbound delivery in migo. Please help me out how to do it using the badi MB_MIGO_BADI.Hi Madhvi,
Go through the following links.
Hiding Custom Fields in Migo
How to modify items fields with MB_MIGO_BADI or enhancement point
Hope this helps.
Regards,
Manish -
Updating custom fields to MSEG through MIGO
Hi,
I got a requirement to add a tab with custom fields in MIGO transaction, which I did using BADI MB_MIGO_BADI
and requirement also says to extend table MSEG with custom fields and store the values in MSEG.
I have gone through example implimentation and updated MSEG in similar way. IS it a good approach to extend MSEG table? I read one thread says we can't extend MSEG table with custom fields. is it true?
Goods receipt will be done only through MIGO to restrict inconsistensies in material documents.
One more question.
How to restrict the additional custom screen to be displayed for particular action in MIGO?
ThanksHi,
Yes you can do it, i did it with the same BADI method to update to custom fields in MSEG table through MIGO transaction.
Here is the steps you need to follow :-
1. Create a append structure or you can use the CI include to add fields in MSEG table. I did it though append structure only.
2. Create a implementaion of MB_MIGO_BADI through SE18 or SE19 transaction.
3. Inplement the interface IF_EX_MB_MIGO_BADI methods, the details of interface implementaions are described below:-
Attribute
GV_VEND_LOT Instance Attribute Public Type CHAR1 'X' : Purchase order Type NB (Standard PO) found
GIT_MSEG Instance Attribute Public Type TY_T_MSEG Table MSEG
GV_BSART Instance Attribute Public Type ESART Purchasing Document Type
GV_GRMODE Instance Attribute Public Type CHAR1 X: Document is of Type GR with PO and Y : Document with Mat.
GWA_MSEG Instance Attribute Public Type MSEG Document Segment: Material
GC_CLASS_ID Constant Private Type MIGO_CLASS_ID Class ID for MIGO Components (External Detail Screen) 'ZIMP_MB_MIGO_BADI'
GV_LINE_ID Instance Attribute Private Type GOITEM-GLOBAL_COUNTER LINE_ID of Line Displayed in Detail
GIT_LINE_ID Instance Attribute Private Type /KYK/TRG_NUMC6 Range Table: NUMC6
GWA_LINE_ID Instance Attribute Private Type /KYK/SRG_NUMC6 Range Structure: NUMC6
GC_X Constant Private Type CHAR1 'X' : Select 'X'
GC_BSART Constant Private Type ESART Purchasing Document Type 'NB'
IF_EX_MB_MIGO_BADI~INIT
METHOD if_ex_mb_migo_badi~init.
IF gv_grmode = gc_x.
Regristration of BAdI-Implementation:
Append class attribute GF_CLASS_ID (='ZIMP_MB_MIGO_BADI') to
regristration table.
APPEND gc_class_id TO ct_init.
ENDIF.
ENDMETHOD.
IF_EX_MB_MIGO_BADI~PBO_DETAIL
METHOD if_ex_mb_migo_badi~pbo_detail.
Lines added to do display Vendor lot tab in the item level
Only for Purchase order type NB (Standard PO)
Local constants
DATA : lc_cprog TYPE sycprog VALUE 'ZMMM_MIGO_VENDOR_COO',
lc_dynnr TYPE sydynnr VALUE '0100'.
lc_heading TYPE migo_badi_heading VALUE 'Vendor Lot Number'.
Read Line item from buffer table
if sy-subrc =0 then only display vendor lot tab
READ TABLE git_line_id WITH KEY low = i_line_id
BINARY SEARCH TRANSPORTING NO FIELDS.
IF sy-subrc EQ 0 AND ( gv_grmode IS NOT INITIAL
AND gv_vend_lot = gc_x ).
e_cprog = lc_cprog. " Program name
e_dynnr = lc_dynnr. " Screen number
e_heading = text-001. " Tab Heading
gv_line_id = i_line_id. " line Item
ENDIF.
ENDMETHOD.
IF_EX_MB_MIGO_BADI~PAI_DETAIL
METHOD if_ex_mb_migo_badi~pai_detail.
IF gv_grmode IS NOT INITIAL AND gv_vend_lot = gc_x.
'X': The Method LINE_MODIFY Is Processed
e_force_change = gc_x.
Reset the Flag for next line item selection
CLEAR gv_vend_lot.
ENDIF.
ENDMETHOD.
IF_EX_MB_MIGO_BADI~LINE_MODIFY
METHOD if_ex_mb_migo_badi~line_modify.
IF cs_goitem-ebeln IS NOT INITIAL.
Look for Purchase order number from EKKO and get the Order Type.
If the Order type is NB (Standard PO) then set the flag GV_VEND_LOT.
SELECT SINGLE bsart FROM ekko INTO gv_bsart
WHERE ebeln = cs_goitem-ebeln.
IF sy-subrc EQ 0 AND gv_bsart = gc_bsart.
gv_vend_lot = gc_x.
IF NOT i_line_id IS INITIAL.
gwa_line_id-low = i_line_id.
ENDIF.
IF git_line_id IS NOT INITIAL.
SORT git_line_id BY low.
ENDIF.
READ TABLE git_line_id WITH KEY
low = i_line_id BINARY SEARCH
TRANSPORTING NO FIELDS.
IF sy-subrc <> 0 AND gwa_line_id IS NOT INITIAL.
APPEND gwa_line_id TO git_line_id.
ENDIF.
ELSE.
CLEAR gv_vend_lot.
ENDIF.
CLEAR : gv_bsart,
gwa_line_id.
ENDIF.
*************Buffer MSEG table with custom fields **********************
*Item is Adopted in Document
IF NOT cs_goitem-take_it IS INITIAL.
CLEAR gwa_mseg.
MOVE-CORRESPONDING cs_goitem TO gwa_mseg.
APPEND gwa_mseg TO git_mseg.
ENDIF.
ENDMETHOD.
METHOD if_ex_mb_migo_badi~post_document.
Delete duplicate line item if avail in GIT_MSEG table
SORT git_mseg BY zeile.
DELETE ADJACENT DUPLICATES FROM git_mseg COMPARING zeile.
To access these valu in Ennhancement Spot ZENHIMPL_MM_MB_MIGO_BADI_MB
EXPORT : git_mseg FROM git_mseg TO MEMORY ID 'GIT_MSEG',
gv_grmode FROM gv_grmode TO MEMORY ID 'GV_GRMODE'.
Refresh all class content
CLEAR : gv_vend_lot,
gv_bsart,
gv_grmode,
gwa_mseg,
gv_line_id,
gwa_line_id.
REFRESH : git_mseg,
git_line_id.
ENDMETHOD.
METHOD if_ex_mb_migo_badi~mode_set.
Local Constants
DATA : lc_a01 TYPE goaction VALUE 'A01', " Goods Receipt
lc_r01 TYPE refdoc VALUE 'R01', " Purchase order
lc_a04 TYPE goaction VALUE 'A04', " Display
lc_r02 TYPE refdoc VALUE 'R02', " Material Document
lc_y TYPE char1 VALUE 'Y'. " Indicator for Display material document
Set mode variable for Good Receipt with Purchase order
IF i_action = lc_a01 AND i_refdoc = lc_r01.
gv_grmode = gc_x.
ELSEIF i_action = lc_a04 AND i_refdoc = lc_r02.
Set mode variable for Good Receipt with Purchase order
gv_grmode = lc_y.
ELSE.
CLEAR gv_grmode.
ENDIF.
ENDMETHOD.
METHOD if_ex_mb_migo_badi~publish_material_item.
IF ls_goitem-ebeln IS NOT INITIAL.
Look for Purchase order number from EKKO and get the Order Type.
If the Order type is NB (Standard PO) then set the flag GV_VEND_LOT.
This method is used to material document display
SELECT SINGLE bsart FROM ekko INTO gv_bsart
WHERE ebeln = ls_goitem-ebeln.
IF sy-subrc EQ 0 AND gv_bsart = gc_bsart.
gv_vend_lot = gc_x.
IF NOT ls_goitem-zeile IS INITIAL.
gwa_line_id-low = ls_goitem-zeile.
ENDIF.
IF git_line_id IS NOT INITIAL.
SORT git_line_id BY low.
ENDIF.
READ TABLE git_line_id WITH KEY
low = ls_goitem-zeile BINARY SEARCH
TRANSPORTING NO FIELDS.
IF sy-subrc <> 0 AND gwa_line_id IS NOT INITIAL.
APPEND gwa_line_id TO git_line_id.
ENDIF.
ELSE.
CLEAR gv_vend_lot.
ENDIF.
CLEAR : gv_bsart,
gwa_line_id.
ENDIF.
ENDMETHOD.
METHOD modify_mseg.
DATA : lwa_mseg TYPE mseg.
Check if buffer MSEG table is not initial
and mode is GR with PO then only update XMSEG from GIT_MSEG
IMPORT : git_mseg TO git_mseg FROM MEMORY ID 'GIT_MSEG',
gv_grmode TO gv_grmode FROM MEMORY ID 'GV_GRMODE'.
IF git_mseg IS NOT INITIAL
AND gv_grmode = gc_x.
SORT git_mseg BY zeile.
LOOP AT xy_mseg INTO lwa_mseg.
Identify the record and update XMSEG
CLEAR gwa_mseg.
READ TABLE git_mseg
INTO gwa_mseg
WITH KEY zeile = lwa_mseg-zeile BINARY SEARCH.
IF sy-subrc EQ 0.
MODIFY xy_mseg FROM gwa_mseg
TRANSPORTING zvendlot zcoo WHERE zeile = gwa_mseg-zeile.
ENDIF.
CLEAR lwa_mseg.
ENDLOOP.
Reset buffer table and mode
REFRESH git_mseg.
CLEAR gv_grmode.
ENDIF.
Free memory ids
FREE MEMORY ID : 'GIT_MSEG',
'GV_GRMODE'.
ENDMETHOD.
4. Now go to the function module MB_POST_GOODS_MOVEMENT andcall the method modify_msegfrom the implemented class ZCL_IM__MB_MIGO_BADI.
ENHANCEMENT 110 ZENHIMPL_MM_MB_MIGO_BADI_MB. "active version
Data declaration for badi method
Data : lo_ZCL_IM__MB_MIGO_BADI TYPE REF TO ZCL_IM__MB_MIGO_BADI.
CREATE OBJECT lo_ZCL_IM__MB_MIGO_BADI.
if sy-subrc eq 0 and xmseg[] is NOT INITIAL.
CALL METHOD lo_zcl_im__mb_migo_badi->modify_mseg
CHANGING
xy_mseg = xmseg[].
endif.
ENDENHANCEMENT.
Regards,
Dhirendra Pandit -
Hi all,
I am new in programming Badi's. Does anybody got an example code for hiding customer fields in a shopping cart?
I know i need to use badi: BBP_CUF_BADI_2, method "modify screen".
My customer field is "ztempleet" and is maintaint as a component in structure BBP_PDS_SC_ITEM_ICU.
Regards
JordiHi Jordi,
Here is the sample code :
CASE lf_doc_type.
WHEN 'object_type'
LOOP AT et_fields INTO ls_fields.
IF ls_fields-fieldname = 'ztempleet'
ls_fields-xinput = ' '.
ls_fields-xdisplay = ' '.
MODIFY et_fields FROM ls_fields TRANSPORTING xinput xdisplay.
ENDIF.
ENDLOOP.
ENDCASE.
Thanks,
Pradeep. -
How to create custom screen in 'MIGO'
Hi,
In transaction Code 'MIGO' I want to add a custom screen at header level / item level. I think there is no screen exit. How do I do this?
Thanks.Simply i just searched with your subject line i got these thread:
Adding custom fields in the MIGO screen
Add custom field in MIGO (SAP 4.6C) -
Unable to capture data from drop down list in custom added field in migo tcode at item level
Hi guys,
need bit help in resolving query related to custom added field in Tcode migo.
i have added a field in migo at item level ,in this i have used drop down list
to get data but unable to capture data from drop down list.gown through
many blogs in scn but unable to resolve.
Please help me out in this.
Thanks,
Umakant.Hi,
U can use following code to fill the list box
write this code in PBO
In layout editor please select listbox in dropdown attribute of input field and put some fctcode attribute
TYPE-POOLS vrm.
DATA values TYPE vrm_values WITH HEADER LINE.
TABLES: <ur custom Database table>.
clear values, values[].
SELECT * FROM <ur custom Database table>.
values-text = <TABLE FIELD TO DISPLAY IN DROPDOWN> .
values-key = <TABLE KEY FIELD TO DISPLAY IN DROPDOWN>.
APPEND values.
ENDSELECT.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = '<SCREEN INPUT FIELD NAME>'
values = values[]
EXCEPTIONS
id_illegal_name = 1
OTHERS = 2.
Also please define the following before accessing the listbox value
data: <listbox input field name> type <table field name>,
<inputfield name where text to display> type string in top include
In PAI, select the text from the table into <inputfield name where text to display> depending on value selected which will be called when enter key is pressed or any vale is selected -
To Update Custom field in mch1 table through MIGO Tcode
Dear champs,
I have added one custom field in mch1 table ( date ).
Now , In MIGO Tcode when i am doing posting, MCH1 table is also updated.
I want to know how to update my custom field in mch1 table at the time of posting.
Please tell me where to write logic to update mch1 table.
Regards,
Satyen TrivediHi Satyen,
what data has to be update in MCH1 table new field, for this did you added any screen or you want to implement your own custom logic.
1) if you implemented the screen , then you have to write logic there itself.
2) If you want to update through custom logic , then you takeup with the Enhancements or BADI.
Regards,
Krishna -
Saving custom fields to MSEG added in additional TAB in MIGO transaction
Hi Experts,
I am facing an issue with an enhancement in MIGO transaction for which i need help. I have gone through several threads with similar issues but none of them have solved my issue. I have worked around with all BADIs of MIGO and user exits available but to no avail so I am posting a new thread.
The requirement is pretty straight forward of adding a custom TAB in item details section of MIGO transaction. I have done that using BADI: MB_MIGO_BADI, method PBO_DETAIL. I created a screen with my custom fields and passed them in this method. The TAB appears as expected with all the fields. The custom fields are in MSEG table which has been enhanced and it needs to be updated with the user values on the screen.
The issue creeps in when there are multiple materials in the purchasing document and user works around with them. Say he clicks on the second material and in the custom TAB changes its details in custom fields. Now he clicks on the fourth material and changes its details. Continues this for all the materials in random order. How do i identify in my custom screen [developed separately and called in PBO_DETAIL of the BADI] which details belong to which material or line number. The only way to do it is by using the purchasing order number and line item number. These are not available in my custom screen and needs to be exported from somewhere and imported there. I have not been able to identify the point where export can be done.
Can anyone help me out with this problem? Either the point where export can be done or any other way of identifying the link between the line number / material number and the custom field details entered by the user.
Thanks,
RitvikHi Ritvik,
you will not need it.
The item methods will process exactly the item what the addional item data are related to. In PBO_DETAIL and PAI_DETAIL, use parameter I_LINE_ID for the item reference.
Note: Not only read SCN etc, also the parameters desciption of the methods used.
Regards,
Clemens -
BAPI to validate data in customized fields of transaction MIGO
Hi,
I have a requirement where we need to add two custom fields to the header tab of MIGO screen. Please let me know if there is any BAPI existing to validate the data entered? If yes, how do we implement it?
Thanks
ShanthiCheck the BADI in SE18....:-
MB_MIGO_BADI for header
MB_MIGO_ITEM_BADI for item -
Add columns with custom fields in the table control of MIGO
Hi,
I have to add custom fields in the table control view of item in the MIGO. I have added the fields in the GOITEM structure and i am able to display it in the item details tab. I want the same fields to be visible as columns in the table control view of the items.
I found that TV_GOITEM is the control in SAPLMIGO program referring to the table control of items but it is referring only to the standard fields available in Screen 200.
Please let me know if there is any screen exit or option to add the custom fields in the control TV_GOITEM.
Thanks.Hi,
Thanks for your reply. I have added the custom fields in the item detail. But the customer wants the custom fields in the table view also.
Is there any screen exit available to modify the table control of MIGO?
Thanks. -
Update Custom fields in MSEG in MIGO through MB_MIGO_BADI
Hi All,
I have to update my custom fields in MSEG table after getting them from user in MIGO transaction. I am using BADI--> MB_MIGO_BADI for this. There is method called POST_DOCUMENT in BADI but it is having MSEG as importing parameter. Also, How can i send my custom fields to BADI. If some how I send them how to update MSEG through this BADI.
Please help me out in this. This is urgent.
Thanks,
RaviHi Ravi,
I have the same issue . So can you please help me on the same.
Through the BADI : MB_MIGO_BADI~POST_DOCUMENT method I have to update a customer field named zznotno.
Added By Kamal on 21/07/2010 Ticket No 8000003778 ***
DATA : lt_goitem TYPE TABLE OF goitem,
wa_goitem LIKE LINE OF lt_goitem. .
FIELD-SYMBOLS: <mseg> TYPE mseg,
<fs> TYPE ANY.
IMPORT lt_goitem TO lt_goitem FROM MEMORY ID 'GT_GOITEM'.
LOOP AT it_mseg ASSIGNING <mseg>.
IF <mseg>-bwart = '415' OR
<mseg>-bwart = '301'.
IF <mseg>-sobkz = 'Q'.
READ TABLE lt_goitem INTO wa_goitem WITH KEY zeile = <mseg>-zeile.
IF sy-subrc IS INITIAL.
wa_mseg-zznotno = <mseg>-zznotno. <<<<<<<<<
ASSIGN ('(SAPLMIGO)mseg') TO <fs>.
MOVE wa_mseg-zznotno TO <fs>-zznotno .
MODIFY it_mseg FROM wa_mseg TRANSPORTING zznotno.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
End Addition By Kamal on 21/07/2010 Ticket No 8000003778 ***
Thanks and regards
kamal kumar -
Hiding some level of grouping when the custom field is empty at Project Center
Hi:
I group some custom fields at the Project Center (portfolio/programs/subprograms), but some on this are empty (see the image). I want to eliminate this fields (subprograms; subprogramas in the image), but next level (the projects) must continue to be visible.
Is it possible?
Thanks
PabloYour interpretation is right. But in real life is usual that exists projects part of a program but that don't have a subprogram assigned (see for example the PMBOK for the concept, i.e. unbalanced tree of programs/subprograms/projects). Again,
it seems to me that MS PPM 2013 is a project server tool enhanced but not a REAL portfolio tool. I wonder why Gartner put it in it's first magic quadrant ?
Thanks again for you kindness.
Pablo
Montevideo, Uruguay
South America
Maybe you are looking for
-
I'm using Mac OS X 10.6.4. Today, I tried to save my email content as a PDF file. However, I only got a PDF file that have partial content of email. Then I adjust the printer setting and did it again, then I only got a blank PDF file. There was nothi
-
Its been stuck like that for more than an hour. My iTunes doesnt recognize the iPod Touch and says 'iTunes could nit connect to this iPhone-unknown error
-
Hi, I am using a CWGPIB control to interact with a HP spectrum analyzer. In the GPIB programming guide which comes with the intrument, it says writing a command "*TRG" should be able to trigger a measurement if the trigger source is set to be BUS.
-
hey all, this has been really frustrating for me today. i want to be able to write to an external HDD that's formatted in NTFS. today i find out it isn't possible to write to this file system on a Mac and that on FAT32 it is possible. however, FAT32
-
What happened to the dvd players in iMac
The the Hack. No dvd player in the new Imac. What are they thinking. If we stop buying imac mybe they will go back with dvd players