Create new tab in header using badi ME_GUI_PO_CUST for tcode ME21N
Dear all,
i have implemented method SUBSCRIBE in ME_GUI_PO_CUST to create new tab in ME21N,
but the tab is not coming
following is the code snips, please tell where is the error, or some setting needs to be done
method IF_EX_ME_GUI_PO_CUST~SUBSCRIBE.
DATA: ls_subscriber LIKE LINE OF re_subscribers.
if sy-tcode eq ' ME21N' OR SY-TCODE EQ 'ME22N' OR SY-TCODE EQ 'ME23N'.
CHECK im_application = 'PO'.
CHECK im_element = 'HEADER'.
CLEAR re_subscribers[].
ls_subscriber-name = 'Customer-Data'.
ls_subscriber-dynpro = '0101'.
ls_subscriber-program = 'SAPLMEGUI'.
ls_subscriber-struct_name = 'MEPO_SUBSCRIBERS'.
ls_subscriber-label = 'Customer Data'.
ls_subscriber-position = 10.
ls_subscriber-height = 7.
APPEND ls_subscriber TO re_subscribers.
ENDIF.
endmethod.
Regards
Sumodh
Hi...I hv similar requirement.
I need to show a custom field in the screen for the items.
I tried using the methods "SUBSCRIBE" and "MAP_DYNPRO_FIELDS" as explained in the sample code.
Below is my code. I have copied the sample code and changed it lil.
Method "SUBSCRIBE":
DATA: ls_subscriber LIKE LINE OF re_subscribers.
we want to add a customer subscreen on the item detail tab
CHECK im_application = 'PO'.
CHECK im_element = 'ITEM'.
each line in re_subscribers generates a subscreen. We add one subscreen in this example
CLEAR re_subscribers[].
the name is a unique identifier for the subscreen and defined in this class definition
ls_subscriber-name = subscreen1.
the dynpro number to use
ls_subscriber-dynpro = '9000'.
the program where the dynpro can be found
ls_subscriber-program = 'SAPLZMMPO1'.
each subscreen needs his own DDIC-Structure
ls_subscriber-struct_name = 'ZMM_PO_CUST_SCREEN'.
a label can be defined
ls_subscriber-label = text-t01.
the position within the tabstrib can be defined
ls_subscriber-position = 13.
the height of the screen can be defined here. Currently we suport two screen sizes:
value <= 7 a sevel line subscreen
value > 7 a 16 line subscreen
ls_subscriber-height = 7.
APPEND ls_subscriber TO re_subscribers.
method "MAP_DYNPRO_FIELDS":
FIELD-SYMBOLS: <mapping> LIKE LINE OF ch_mapping.
*- customer fields
CONSTANTS: mmmfd_cust_01 TYPE mmpur_metafield VALUE 90000000.
LOOP AT ch_mapping ASSIGNING <mapping>.
CASE <mapping>-fieldname.
WHEN 'CLMNO'. <mapping>-metafield = mmmfd_cust_01.
ENDCASE.
ENDLOOP.
I created a function group - "ZMMPO1" and created the subscreen 9000 in that. I placed the custom field in that screen. Tha main program of ZMMPO1 is "SAPLZMMPO1".
I created a structure also - "ZMM_PO_CUST_SCREEN".
I want to know whether this is sufficient to display the tab on the screen or am I missing something.
It is mentioned that the implementation of "ME_PROCESS_PO_CUST" is a pre-requisite.
could you lemme know the process please.
Thanks,
Ram.
Similar Messages
-
Require new tab at header level in ME21N using BADI
Hi All,
My requirement is add new tab with 8 new fields plus one button. On pressing this button header data need to copy at item detail level. I found two BADI's for that.
ME_GUI_PO_CUST & ME_PROCESS_PO_CUST. Till now I am able to create new tab with require fields.
Now help to put how to transfer data from header level to item detail level on pressing newly created push button.
Also tell me how these data will save in EKKO table.Hi Vikas,
hOPE U CAN USE
PROCESS_HEADER
PROCESS_ITEM methods of the badi used and the data will be stored in EKKO table if u populate them .
let me know if any issues ....
regards -
Hi All,
I have added custom screen with two z fields at item level using BADI ME_GUI_PO_CUST and ME_PROCESS_PO_CUST i can see my screen in tcodes ME21N , ME22N , ME23N but I am not able to save data.
and also screen is coming in change mode even in ME23N .
thanks.Hi,
I have added two xfields at item level.
This is the code i have added in zimplementation ZME_GUI_PO_CUST .
IN Zimplementation ME_PROCESS_PO_CUST I have added code only in method FIELDSELECTION_ITEM . after doing this I can see only screens in ME21N, ME22N, ME23N but when enter data in zfields and trying to save it is giving me message no data has changed.
method IF_EX_ME_GUI_PO_CUST~SUBSCRIBE.
DATA: ls_subscriber LIKE LINE OF re_subscribers.
we want to add a customer subscreen on the item detail tab
CHECK im_application = 'PO'.
CHECK im_element = 'ITEM'.
each line in re_subscribers generates a subscreen. We add one subscreen in this example
CLEAR re_subscribers[].
the name is a unique identifier for the subscreen and defined in this class definition
ls_subscriber-name = subscreen1.
the dynpro number to use
ls_subscriber-dynpro = '0001'.
the program where the dynpro can be found
ls_subscriber-program = 'SAPLYMEPOBADIEX'.
each subscreen needs his own DDIC-Structure
ls_subscriber-struct_name = 'MEPO_BADI_STRUCT'.
a label can be defined
ls_subscriber-label = text-001.
the position within the tabstrib can be defined
ls_subscriber-position = 4.
the height of the screen can be defined here. Currently we suport two screen sizes:
value <= 7 a sevel line subscreen
value > 7 a 16 line subscreen
ls_subscriber-height = 7.
APPEND ls_subscriber TO re_subscribers.
ENDIF.
method IF_EX_ME_GUI_PO_CUST~TRANSPORT_FROM_MODEL.
DATA: l_item TYPE REF TO if_purchase_order_item_mm,
ls_mepoitem TYPE mepoitem,
ls_customer TYPE mepo_badi_exampl.
system asks to transport data from the business logic into the view
CASE im_name.
WHEN subscreen1.
is it an item? im_model can be header or item.
mmpur_dynamic_cast l_item im_model.
CHECK NOT l_item IS INITIAL.
transport standard fields
ls_mepoitem = l_item->get_data( ).
transport customer fields
CALL FUNCTION 'YMEPOBADIEX_GET_DATA'
EXPORTING
im_ebeln = ls_mepoitem-ebeln
im_ebelp = ls_mepoitem-ebelp
IMPORTING
ex_data = ls_customer.
store info for later use
MOVE-CORRESPONDING ls_mepoitem TO dynp_data_pbo.
MOVE ls_customer-badi_bsgru TO dynp_data_pbo-badi_bsgru.
MOVE ls_customer-badi_afnam TO dynp_data_pbo-badi_afnam.
WHEN OTHERS.
ENDCASE.
endif.
method IF_EX_ME_GUI_PO_CUST~TRANSPORT_TO_DYNP.
CASE im_name.
WHEN subscreen1.
CALL FUNCTION 'YMEPOBADIEX_PUSH'
EXPORTING
im_dynp_data = dynp_data_pbo.
WHEN OTHERS.
ENDCASE.
ENDIF.
endmethod.
method IF_EX_ME_GUI_PO_CUST~TRANSPORT_FROM_DYNP.
CASE im_name.
WHEN subscreen1.
CALL FUNCTION 'YMEPOBADIEX_POP'
IMPORTING
ex_dynp_data = dynp_data_pai.
IF dynp_data_pai NE dynp_data_pbo.
something has changed therefor we have to notify the framework
to transport data to the model
re_changed = mmpur_yes.
ENDIF.
WHEN OTHERS.
ENDCASE.
ENDIF.
endmethod.
method IF_EX_ME_GUI_PO_CUST~TRANSPORT_TO_MODEL.
DATA: l_item TYPE REF TO if_purchase_order_item_mm,
ls_mepoitem TYPE mepoitem,
ls_customer TYPE mepo_badi_exampl.
data have to be transported to business logic
CASE im_name.
WHEN subscreen1.
is it an item? im_model can be header or item.
mmpur_dynamic_cast l_item im_model.
CHECK NOT l_item IS INITIAL.
ls_mepoitem = l_item->get_data( ).
standard fields changed?
IF dynp_data_pbo-matkl NE dynp_data_pai-matkl OR
dynp_data_pbo-plifz NE dynp_data_pai-plifz OR
dynp_data_pbo-webaz NE dynp_data_pai-webaz.
update standard fields
ls_mepoitem-matkl = dynp_data_pai-matkl.
ls_mepoitem-plifz = dynp_data_pai-plifz.
ls_mepoitem-webaz = dynp_data_pai-webaz.
CALL METHOD l_item->set_data( ls_mepoitem ).
ENDIF.
CALL FUNCTION 'YMEPOBADIEX_GET_DATA'
EXPORTING
im_ebeln = ls_mepoitem-ebeln
im_ebelp = ls_mepoitem-ebelp
IMPORTING
ex_data = ls_customer.
ls_customer-badi_bsgru = dynp_data_pai-badi_bsgru.
ls_customer-badi_afnam = dynp_data_pai-badi_afnam.
CALL FUNCTION 'YMEPOBADIEX_SET_DATA'
EXPORTING
im_data = ls_customer.
ENDIF.
WHEN OTHERS.
ENDCASE.
ENDIF.
method IF_EX_ME_PROCESS_PO_CUST~FIELDSELECTION_ITEM.
DATA: l_persistent TYPE mmpur_bool.
CONSTANTS:
FIELD-SYMBOLS: <fs> LIKE LINE OF ch_fieldselection.
l_persistent = im_item->is_persistent( ).
*IF l_persistent EQ mmpur_yes.
READ TABLE ch_fieldselection ASSIGNING <fs> WITH TABLE KEY
metafield = MMMFD_YYMAN_NUM."fd_cust_01.
IF sy-subrc IS INITIAL.
<fs>-fieldstatus = '*'. " Display <-- this one was as per the sample code given.
<fs>-fieldstatus = '+'. " Input <-- this i added to make the field mandatory.
ENDIF.
READ TABLE ch_fieldselection ASSIGNING <fs> WITH TABLE KEY
metafield = MMMFD_YYMAN_DES."fd_cust_01.
IF sy-subrc IS INITIAL.
<fs>-fieldstatus = '*'. " Display <-- this one was as per the sample code given.
<fs>-fieldstatus = '+'. " Input <-- this i added to make the field mandatory.
ENDIF.
*ENDIF.
ENDIF.
endmethod. -
Create a tab view item in obj-c for use in applescript studio
I'm making an application with applescript studio. I want to be able to add tab view items to a tab view at the press of a button. The problem I have is applescript studio doesn't allow me to create a new tab view item. So I'm thinking I can create the tab view item using objective-c, pass that to my applescript, then add it to my tab view.
In applescript I plan to use the following call methods to first create the tab view item object, and then add it to my tab view. The objective-c code which is called from the first line in the applescript code is below that. When I run my code I'm getting an error saying newTVI is not defined... so maybe you can see my error! Be kind to me because I'm new to objective-c and I'm sure that's where my problem lies. Anyway, I'd appreciate any help.
==Applescript calls to create and add a new tab view item
set newTVI to call method "returnNewTabViewItem" of class "makeNewTabViewItem"
call method "addTabViewItem:" of objMainTV with parameter newTVI
==Objective-c code to create the tab view item
==makeNewTabViewItem.h==
#import <Cocoa/Cocoa.h>
@interface makeNewTabViewItem : NSTabViewItem
NSTabViewItem *newTVI;
-(NSTabViewItem *)returnNewTabViewItem;
@end
== makeNewTabViewItem.m==
#import "makeNewTabViewItem.h"
@implementation makeNewTabViewItem
-(NSTabViewItem *)returnNewTabViewItem
newTVI = [[[NSTabViewItem alloc] initWithIdentifier:nil] autorelease];
return newTVI;
@endPlease, any ideas?
-
How do i open a new tab similar to using ctrl+k in ie?
how do i open a new tab similar to using ctrl+k in ie?
Try Ctrl+t
Most of the shortcuts should be listed on the full menus. To display the classic menu bar, tap the Alt key or press F10.
Oops, sorry, Ctrl+k duplicates the current tab. To do that in Firefox, click in the URL of the page and press Alt+Enter.
There also might be an add-on that creates a more convenient method. -
Double tap to open new tabs in Safari using a trackpad
Hi
I've been using my trackpad to double tap next to open tabs in safari ie to create new tabs, over the last 2-3 days that feature has disappeared and it doesn't work any longer also if it does it may take as many as 5-10 taps to create a new tab.
I remember setting this feature up when i first got Lion, but i can't find the settings now. Any help appreciated.
Thank you & happy new year.Hi,
Thanks, i've been through most of the settings as you've mentioned.
Anyway what it came down to was i'd recently set up a bluetooth mouse, that is what stopped the function of double tap next to an open tab in safari to open a new tab. Very strange indeed.
But alas i removed the mouse from setup fixed the problem, but thanks for your advice. -
Need: CREATE NEW PROJECTS FROM TEMPLATE using Adobe Captivate 8.
Problem: NEW PROJECT (.cptx) duplicates the Advanced Actions originally configured within TEMPLATE FILE (.cpt.).
For example: Template file (.cptl) advanced action "_initializeModule" gets duplicated as "_initializeModule1", "_initializeModule2", "_initializeModule3" within NEW PROJECT. FYI, the original "_initializeModule" advanced action still appears.
MAJOR BUG, what the heck is going on?!?!!! Planning to deploy this template file to use for multiple courses with multiple users, this WILL cause epic confusion across the board.Similar problem, think they are working on it as well: when dragging a shared action from an external library to a slide or object event, and that action is using a parameter that was already created for another shared action, there will be a new parameter created which really screws up the shared action contrary to this problem. Tip: for the moment do not drag shared actions from an external library immediately to an event, but drag them first to the Library: Reuse Shared Actions in other Projects - Captivate 7 vs. 8 - Captivate blog
-
The keyboard shortcuts on the pull down menus are grayed out. So I cant use my keyboard to (for instance) open up a new tab. This is the case for all keyboard s
Mine appear in gray, too; I think that's just the style.
Does this problem occur on all pages? (If it only appears on YouTube or other pages with Flash players, it may be related to keystrokes being captured by the plugin.)
A standard diagnostic for possible interference by add-ons is to try Firefox's Safe Mode.
First, I recommend backing up your Firefox settings in case something goes wrong. See [[Backing up your information]]. (You can copy your entire Firefox profile folder somewhere outside of the Mozilla folder.)
Next, restart Firefox in Firefox's Safe Mode ([[Safe Mode]]) using
Help > Restart with Add-ons Disabled
In the Safe Mode dialog, do not check any boxes, just click "Continue in Safe Mode."
If your keyboard shortcuts work correctly, this points to one of your add-ons or custom settings as the problem.
Any change? -
Error in badi ME_GUI_PO_CUST for ME21n/22n/23n
Dear All,
I want to add 1 tab in ME21n/22n/23n.
In that 2 field in EKKO table using ci_ekkodb include is add
For that I use badi ME_GUI_PO_CUST.
in that
MAP_DYNPRO_FIELDS
TRANSPORT_FROM_MODEL
TRANSPORT_TO_DYNP
TRANSPORT_FROM_DYNP
TRANSPORT_TO_MODEL
these method find error do to field name passing.
method IF_EX_ME_GUI_PO_CUST~MAP_DYNPRO_FIELDS.
FIELD-SYMBOLS: <mapping> LIKE LINE OF ch_mapping.
LOOP AT ch_mapping ASSIGNING <mapping>.
CASE <mapping>-fieldname.
WHEN 'ZZDEPT'. " Field Name
<mapping>-metafield = mmmfd_cust_03.
WHEN 'ZZPOGR'. " Field Name
<mapping>-metafield = mmmfd_cust_04.
ENDCASE.
ENDLOOP.
endmethod.
Referening **************** - Step by step guide on adding a new tab in ME21N using a BADI
Replay is appreciable.
Regards,
PoojaFirst you go to se18 and read documentation of this badi.
You have to implement BAdI ME_PROCESS_PO_CUST before implementing this BAdI.
Sample code is available here.... goto->sample code->display
In case any doubt u ask..
Regards
Sreekanth -
Extensions like Ghostery, WOT or AdBlock stop working after two or three times. Restarting the webpage in a new tab the extensions will work again for several times and then stop again. Has anybody an explanation or a workaround for this bug in Safari 5?
Remove the extensions, redownload Safari, reload the extensions.
http://www.apple.com/safari/download/
And if you really want a better experience, use Firefox, tons more choices and possibilities there.
Firefox's "NoScript" will block the Trojan going around on websites. Best web security you can get.
https://addons.mozilla.org/en-US/firefox/addon/noscript/
Ghostery, Ad Block Plus and thousands of add-ons more have originated on Firefox. -
Im getting message while i create new icloud id " no more free account for this iphone "
im getting message while i create new icloud id " no more free account for this iphone "
please help me if anyone knew the solution,
thankshttps://discussions.apple.com/message/24635931#24635931
-
Just upgrade to 33.1.1, terrible! new tab position not configurable, no response for clicking a link, not going to the website by click "enter", "space" keyboard can not be the page down anymore, always die....
how can I have the old version?
Thanks!Just to clarify, let's say you have tab 1 Google results and tab 2 something else. When you Ctrl+click a link in tab 1, it opens between tab 1 and tab 2 instead of at the end? Here's how you switch that:
(1) In a new tab, type or paste '''about:config''' in the address bar and press Enter. Click the button promising to be careful.
(2) In the search box above the list, type or paste '''tabs''' and pause while the list is filtered
(3) Double-click the '''browser.tabs.insertRelatedAfterCurrent''' preference to switch it from true to false.
You can switch back to an earlier tab and test. Success? -
A new tab always opens Yahoo versus wait for an address
I downloaded an MP4 player and it did something to Mozilla such that every time I open a new tab it opens yahoo versus wait for a site address to find. How do I get rid of this nuisance?
== Operating system ==
Windows XP2002 SP 3Hello Jack C. Anderson,
this problem could probably be caused by a Firefox extension.
To make sure that no extension is causing the problems,
start Firefox in Safe Mode by following the instructions in the [[Safe Mode]] article.
Kind regards,
Tobbi
Firefox Support Volunteer -
Create authorization for storage Loction for tcode ME21N
Hi All,
My requirement is to create authorization for storage Loction for tcode ME21N and ME51N.
There are standard authorizations for Plant, Document type Group and Org for ME21N
M_BANF_WRK, BSA,EKG, and EKO which i checked in TCODE SU24.
But there is no std authorization check for storage location.
If this is possible then please help me with the procedure and steps.
Please guide me with all the steps that i need to take care abt..
Thanks in Advance.
Regards
SujeerHi
This is the authorization objects for PO and PR
For PO : M_BEST_LGO for palnt/Storage location
For PR : M_BANF_LGO for palnt/Storage location -
How to create new tab in Me21N using enhancement MM06E005
Hi All,
Can u guys please tell me know to create a new tab at item level in purhcase order ME21N using enhancement MM06E005.
Thanks in advance.
Thanks,
Jaffer Ali.SPlease search the forum:
addition of new tab (reasons) on me21n (item level)
Re: Adding a new Tab - ME22n - Item Detail Level
Maybe you are looking for
-
Home directory on USB key?
Hi all, A friend suggested this idea and it seems like a good idea, I was wondering if something similar already exists or what your opinion of it would be. The idea is as follows: suppose you could have your home directory on a USB key. To log in on
-
Time machine - backup not found yet visible
Hello, I am having trouble setting up Time Machine on a new Macbook Air running OSX Yosemite 10.10. I have an external hard drive connected to a first generation Airport Extreme, and it is running fine and backing up on my other computer, a MacBook
-
Is there a way to restrict who can connect/find a HP MFP attached to a router.
We have a HP MFP connected to a local network router. I'd like to restrict access to who can print to it. The printer is connected via ethernet. Anyone who has access to our network (wired or wirless) can find/connect to the printer. We only wan
-
After updating my 4s with ios7, my safari links are in a different language. How do I fix it?
-
How can I judge the servlet directory?
hi there I am learning web programming. I wonder when it comes the statement such as: "http://localhost/servlet/test", which directory is used? If I want to access a class file at, for example, e:\servlet, how can I do so? Anyone can give me a clue?