Adding the customer screen to enhance the header for Enjoy PO

Dear Expert's,
My requirement is to add a new tab on Header for Enjoy PO by enhancing ME21N/ME22N and ME23N.
I have already implemented the BADI's ME_GUI_PO_CUST and ME_PROCESS_PO_CUST.
Actions Taken:
I have created a custom Function group and subscreen '9000'.
I have created a 'Z' structure as per the screen layout on the Header Tab
I have appended the custom fields in EKKO custom include CI_EKKO.
Reactions:
1. I am able to successfully display the screen on additional tab at header level.
2. The Display & Change is working perfectly for screen '9000' on ME21N/ME22N and ME23N header.
Problem:
I am unable to read the 'Z' fields from EKKO to populate the TAB Screen '9000' and neither able to save the 'Z' fields from '9000' TAb screen for header data.
I am not using any EXIT for this and have to use only BADI for this solution. Please help me to implement this solution using BADI only.
Also i have tried implementaing the transport Data object -> Model + Model -> Dynpro + Dynpro -> Model + Model -> Data object methods, but these methods are not getting triggered.
Please let me know if i can use EVENT_PBO & EVENT_PAI if yes , than how to trigger these events and where..?

Hi ,
try to enhance PO header using SAP Note 407975
Summary
Symptom
You are using SAP customer enhancement MM06E005. There is no sample source
code for this enhancement.
More Terms
User exit, customer enhancement, MM06E005, example, sample
Cause and Prerequisites
You want to activate user exit MM06E005. Note that this is a consulting
note and not a correction of the user exit.
Solution
You can use the sample source code attached here to recognize the basic
functions of the exit. This example is, however, only one of many options
that are offered by the customer enhancement.
The sample source code includes the following functions:
o Supply of an additional field on header level
o Supply of an additional field on item level
o Derivation of a field on item level from the copied reference
document
Now, in order to be able to use the sample source code, you must create
field ZZFLAG on the header level of the document and field ZZFIELD on the
item level.
Double-click on Include table CI_EKKODB
Enter the following values:
- Name Component type DType Length DecPlace Short text
- ZZFLAG CHAR1 CHAR 1 0 1-digit indicator
Save and activate the include table.
Double-click on Include table CI_EKPODB
Enter the following values:
- Name Component type DType Length DecPlace Short Text
- ZZFIELD CHAR1 CHAR 1 0 1-digit indicator
Save and activate the include table.
In order to activate the sample source code, you additionally have to carry
out the following changes on screens 0101 and 0111.
1. Screen 0101: Create the following fields:
2010.02.05 Page 2 of 3
SAP Note 407975 - MM06E005: Collective note: Examples for
implementation
"Checkbox" Name: EKKO_CI-ZZFLAG
2. Screen 0111: Create the following fields:
"Input/output field" Name: EKPO_CI-ZZFIELD
"Pushbutton" Name: BUTTON
FctCode: ZZDETERMINE
The following assignments apply to the sample source code:
EXIT_SAPMM06E_006 --> LXM06F36
EXIT_SAPMM06E_007 --> LXM06F38
EXIT_SAPMM06E_008 --> LXM06F37
EXIT_SAPMM06E_009 --> LXM06F39
EXIT_SAPMM06E_016 --> LXM06F41
EXIT_SAPMM06E_017 --> LXM06F42
EXIT_SAPMM06E_018 --> LXM06F40
Copy the source code from the attachment and insert it into the
corresponding function modules. Save and activate the function modules.
Create the following variables in the corresponding TOP include in order
not to get any syntax errors:
INCLUDE ZXM06TOP
data: gl_aktyp type c,
gl_no_screen type c,
gl_rekko like ekko,
gl_ekko_ci like ekko_ci,
gl_ekpo_ci like ekpo_ci,
gl_ekpo like ekpo,
gl_ucomm like sy-ucomm.
types: begin of ekpo_tab,
ebeln like ekpo-ebeln,
ebelp like ekpo-ebelp,
ekpo like ekpo,
end of ekpo_tab.
data: gt_ref_ekpo_tab type table of ekpo_tab.
Save and activate the TOP include.
On header level, you can now store a character, X or space, via field
ZZFLAG on the database with the document and read it also again.
On item level, you can fill field ZZFIELD with a one-digit value and save
it with the document. If you copy this document, the system displays an
additional function button on tab page "Customer data". If you press this
button, the value of the reference document is copied to field ZZFIELD.
If you want to store the source code as sample source code in your system,
start Transaction SMOD. Enter MM06E005 as an enhancement. Select
"Components". Press "Change". Position the cursor on the corresponding
module and choose "Sample code". Create the corresponding include and copy
2010.02.05 Page 3 of 3
SAP Note 407975 - MM06E005: Collective note: Examples for
implementation
the source code from the note. Save the include. Note that, of course,
syntax errors may occur when you check components. This is because the
includes of the sample code are not integrated into a program but rather
are completely independent and, therefore, do not have any relationship to
each other either. For this reason, only save the include and do not
activate or check it. The sample code has to be copied into the
corresponding function modules in order to become active.
If you use the user exit in the new purchase order, it is not guaranteed
that the customer screen is always processed. To make sure that possible
required fields are checked, include a corresponding message into the
EXIT_SAPMM06E_012. This screen is always processed.

Similar Messages

  • How to set the header for second page

    Hello all,
    I'm trying to set different header for first page and page number should starts from second page.
    Below is the sample code to set the header for each and every page.
    DECLARE
    hApplication OLE2.OBJ_TYPE;
    hWindow OLE2.OBJ_TYPE;
    hPane OLE2.OBJ_TYPE;
    hView OLE2.OBJ_TYPE;
    hDocuments OLE2.OBJ_TYPE;
    hDocument OLE2.OBJ_TYPE;
    hSelection OLE2.OBJ_TYPE;
    hParagraphFormat OLE2.OBJ_TYPE;
    hRange OLE2.OBJ_TYPE;
    hFields OLE2.OBJ_TYPE;
    hFont OLE2.OBJ_TYPE;
    args OLE2.LIST_TYPE;
    wdAlignParagraphLeft CONSTANT number(3) := 0;
    wdAlignParagraphCenter CONSTANT number(3) := 1;
    wdAlignParagraphRight CONSTANT number(3) := 2;
    wdSeekCurrentPageHeader CONSTANT number(3) := 9;
    wdSeekCurrentPageFooter CONSTANT number(3) := 10;
    wdSeekMainDocument CONSTANT number(3) := 0;
    wdFieldPage CONSTANT number(3) := 33;
    wdFieldNumPages CONSTANT number(3) := 26;
    wdPageBreak CONSTANT number(3) := 7;
    wdStory CONSTANT number(3) := 6;
    myTab CONSTANT varchar2(1) := chr(9);
    myBlue CONSTANT number(8) := 16711680; --FF0000
    myGreen CONSTANT number(8) := 65280; --00FF00
    myRed CONSTANT number(8) := 255; --0000FF
    myDkGreen CONSTANT number(8) := 32768; --008000
    myBlack CONSTANT number(8) := 0; --000000
    myText varchar2(2000);
    BEGIN
    hApplication:=OLE2.CREATE_OBJ('Word.Application');
    OLE2.SET_PROPERTY(hApplication, 'Visible', 1);
    hDocuments := OLE2.GET_OBJ_PROPERTY(hApplication, 'Documents');
    hDocument := OLE2.INVOKE_OBJ(hDocuments, 'Add');
    -------- Create Header and Footer --------
    hWindow := OLE2.GET_OBJ_PROPERTY(hApplication, 'ActiveWindow');
    hPane := OLE2.GET_OBJ_PROPERTY(hWindow, 'ActivePane' );
    hView := OLE2.GET_OBJ_PROPERTY(hPane, 'View' );
    ---- Header Section ---
    OLE2.SET_PROPERTY(hView, 'SeekView', wdSeekCurrentPageHeader);
    hSelection := OLE2.GET_OBJ_PROPERTY(hApplication, 'Selection');
    hFont := OLE2.GET_OBJ_PROPERTY(hSelection, 'Font');
    OLE2.SET_PROPERTY(hFont, 'Name', 'Times New Roman');
    OLE2.SET_PROPERTY(hFont, 'Size', 10);
    OLE2.SET_PROPERTY(hFont, 'Bold', FALSE);
    OLE2.SET_PROPERTY(hFont, 'Color', MyBlue );
    hParagraphFormat := OLE2.GET_OBJ_PROPERTY(hSelection, 'ParagraphFormat');
    OLE2.SET_PROPERTY(hParagraphFormat, 'Alignment', wdAlignParagraphCenter);
    OLE2.RELEASE_OBJ(hParagraphFormat);
    args := OLE2.CREATE_ARGLIST;
    OLE2.ADD_ARG(args, 'This is a');
    OLE2.INVOKE(hSelection, 'TypeText', args);
    OLE2.DESTROY_ARGLIST(args);
    OLE2.INVOKE(hSelection, 'TypeParagraph');
    OLE2.SET_PROPERTY(hFont, 'Size', 16);
    OLE2.SET_PROPERTY(hFont, 'Bold', TRUE);
    OLE2.SET_PROPERTY(hFont, 'Color', MyDkGreen );
    args := OLE2.CREATE_ARGLIST;
    OLE2.ADD_ARG(args, 'Test Header');
    OLE2.INVOKE(hSelection, 'TypeText', args);
    OLE2.DESTROY_ARGLIST(args);
    ---- Footer Section ----
    OLE2.SET_PROPERTY(hView, 'SeekView', wdSeekCurrentPageFooter);
    hParagraphFormat := OLE2.GET_OBJ_PROPERTY(hSelection, 'ParagraphFormat');
    OLE2.SET_PROPERTY(hParagraphFormat, 'Alignment', wdAlignParagraphCenter);
    OLE2.RELEASE_OBJ(hParagraphFormat);
    hFields := OLE2.GET_OBJ_PROPERTY(hSelection, 'Fields');
    args := OLE2.CREATE_ARGLIST;
    OLE2.ADD_ARG(args, 'Page ');
    OLE2.INVOKE(hSelection, 'TypeText', args);
    OLE2.DESTROY_ARGLIST(args);
    hRange := OLE2.GET_OBJ_PROPERTY(hSelection, 'Range');
    args := OLE2.CREATE_ARGLIST;
    OLE2.ADD_ARG_OBJ(args, hRange);
    OLE2.ADD_ARG(args, wdFieldPage);
    OLE2.INVOKE(hFields, 'Add', args );
    OLE2.DESTROY_ARGLIST(args);
    args := OLE2.CREATE_ARGLIST;
    OLE2.ADD_ARG(args, ' of ');
    OLE2.INVOKE(hSelection, 'TypeText', args);
    OLE2.DESTROY_ARGLIST(args);
    hRange := OLE2.GET_OBJ_PROPERTY(hSelection, 'Range');
    args := OLE2.CREATE_ARGLIST;
    OLE2.ADD_ARG_OBJ(args, hRange);
    OLE2.ADD_ARG(args, wdFieldNumPages);
    OLE2.INVOKE(hFields, 'Add', args );
    OLE2.DESTROY_ARGLIST(args);
    OLE2.RELEASE_OBJ(hRange);
    OLE2.RELEASE_OBJ(hFields);
    OLE2.SET_PROPERTY(hView, 'SeekView', wdSeekMainDocument);
    OLE2.RELEASE_OBJ(hView);
    OLE2.RELEASE_OBJ(hPane);
    OLE2.RELEASE_OBJ(hWindow);
    -------- Insert Text --------
    hFont := OLE2.GET_OBJ_PROPERTY(hSelection, 'Font');
    OLE2.SET_PROPERTY(hFont, 'Name', 'Arial');
    OLE2.SET_PROPERTY(hFont, 'Size', 12);
    OLE2.SET_PROPERTY(hFont, 'Bold', FALSE );
    OLE2.SET_PROPERTY(hFont, 'Color', myBlack );
    OLE2.INVOKE(hSelection, 'TypeParagraph');
    myText := myTab || 'This text is on the ';
    args := OLE2.CREATE_ARGLIST;
    OLE2.ADD_ARG(args, myText);
    OLE2.INVOKE(hSelection, 'TypeText', args);
    OLE2.DESTROY_ARGLIST(args);
    OLE2.SET_PROPERTY(hFont, 'Bold', TRUE);
    OLE2.SET_PROPERTY(hFont, 'Color', myRed);
    args := OLE2.CREATE_ARGLIST;
    OLE2.ADD_ARG(args, 'first ');
    OLE2.INVOKE(hSelection, 'TypeText', args);
    OLE2.DESTROY_ARGLIST(args);
    OLE2.SET_PROPERTY(hFont, 'Bold', FALSE);
    OLE2.SET_PROPERTY(hFont, 'Color', myBlack );
    args := OLE2.CREATE_ARGLIST;
    OLE2.ADD_ARG(args, 'page.');
    OLE2.INVOKE(hSelection, 'TypeText', args);
    OLE2.DESTROY_ARGLIST(args);
    args := OLE2.CREATE_ARGLIST;
    OLE2.ADD_ARG(args, wdPageBreak);
    OLE2.INVOKE(hSelection, 'InsertBreak', args);
    OLE2.DESTROY_ARGLIST(args);
    ----page 2
    myText := myTab || 'This text is on the ';
    args := OLE2.CREATE_ARGLIST;
    OLE2.ADD_ARG(args, myText );
    OLE2.INVOKE(hSelection, 'TypeText', args);
    OLE2.DESTROY_ARGLIST(args);
    OLE2.SET_PROPERTY(hFont, 'Bold', TRUE);
    OLE2.SET_PROPERTY(hFont, 'Color', myBlue);
    args := OLE2.CREATE_ARGLIST;
    OLE2.ADD_ARG(args, 'second ');
    OLE2.INVOKE(hSelection, 'TypeText', args);
    OLE2.DESTROY_ARGLIST(args);
    OLE2.SET_PROPERTY(hFont, 'Bold', FALSE);
    OLE2.SET_PROPERTY(hFont, 'Color', myBlack );
    args := OLE2.CREATE_ARGLIST;
    OLE2.ADD_ARG(args, 'page.');
    OLE2.INVOKE(hSelection, 'TypeText', args);
    OLE2.DESTROY_ARGLIST(args);
    ---- go to the top of the first page
    args := OLE2.CREATE_ARGLIST;
    OLE2.ADD_ARG(args, wdStory);
    OLE2.INVOKE(hSelection, 'HomeKey', args);
    OLE2.DESTROY_ARGLIST(args);
    OLE2.RELEASE_OBJ(hFont);
    OLE2.RELEASE_OBJ(hSelection);
    OLE2.RELEASE_OBJ(hDocument);
    OLE2.RELEASE_OBJ(hDocuments);
    OLE2.RELEASE_OBJ(hApplication);
    END;
    Please help me out
    Thanks,
    Bhavana

    Click on --
    Edit link for Page> Click "Edit Default" link on Banner >
    Under the "Banner Links"
    provide value something like this:
    Label = Help
    URL = /pls/portal30/docs/myhelp.html
    Icon = U can upload any icon here.
    For Application Components = See the Second Last tab on "Edit Component".
    Thanx,
    Chetan.

  • How to boldface the header for ONE column

    hi,
    I want to know how to boldface the header for ONE column. The following will boldface the header for all the columns in the table
    table.getTableHeader().setFont(new java.awt.Font("Dialog", 1, 12));
    Thanks.
    Jrabi

    jtable.getColumnModel().getColumn( indexOfBoldColumn ).setHeaderRenderer( TableCellRenderer aRenderer )

  • How can I set the Reminders app so that it does not shown my AppleID password as the header for my lists on my desktop or laptop screen?!?

    My Reminders app which I sync with iPad shows my AppleID password as a heading for my lists when I have it open on my screen of my laptop or desktop. The iPad does not reveal the password the same way. Desktop is not so worrisome, but I don't understand why this would happen and is especially weird if I have the app open in public on my laptop.  Is this a default? What do I do to make sure the list does not show by password?  I understand that sharing the Reminders via the iCloud may cause a need to show what Reminder lists are being shared between a device and laptop, but why not a user name instead of the PASSWORD!!!?

    Where in the Reminder's window are you seeing the password.  Here's what my Reminder's window looks like?
    That's Reminders V2.0 on 10.9.4.

  • How to add field to the header for FBL5N ALV report

    Hi,
       I need to add fields to the customer line item display ALV report(FBL5N) header part.Right now there are four fields in the header like customer, company code, name and city, after that I need to add first name last name and phone no. Can any one tell me where exactly I need to add and populate there fields to be appear in ALV output list.
    Thanks in Advance
    Swapna

    Yes I have tried, I have place a break point in that perform but it does not stop. I think that is not the correct place to added and populate fields. That routine is for populate selection screen ranges single and multiple values and parameters only.
    Thanks
    Swapna

  • Adding the Checkbox for each row in classic report

    Hello,
    I have created classic report with checkboxes in each row and added the On-Submit process, BUTTON CONDITIONAL, to determine the behavior of the checkboxes. The PL/SQL process is suppose to delete the selected row from database.
    I am getting the Success message, but When I check the database, the row still persist in the database.
    PLSQL CODE:
    FOR i IN 1..apex_application.g_f01.count LOOP
    DELETE 
    FROM
      registry 
    WHERE
      reg_id = apex_application.g_f01(i);END LOOP;
    ORACLE APEX: 4.2
    Thank you

    Hi ApexNewLearner,
    Try this
    DECLARE
    j number;
    BEGIN
    FOR i IN 1..apex_application.g_f01.count LOOP
      j := apex_application.g_f01(i);
      DELETE FROM  registry
      WHERE  reg_id = apex_application.g_f01(j);
    END LOOP;
    END;
    or better try to replicate your issue on apex.oracle.com , that is easy for users to investigate the issue and give you appropriate solution.
    Hope this helps you,
    Regards,
    Jitendra

  • How to get the text field in the header for only first page of the report

    Hi,
    I am developing reports in BI Publisher Enterprise where i am facing problem i.e., i have to get some text field in header,for only first page in the result but it is displaying in all the other pages of the report in result.So,please if you have any idea of how to solve it, please reply.It is required as early as possible.
    Thanks in Advance

    Invalid path? What are you doing? Writing the report output to an invalid directory?
    Where are your terms and conditions? It would be very easy just to put them in a database table and select them in your report query.

  • How to change the font size of the header for a login page

    I am using theme 15. I want the header of my login page have a larger font size. Can anybody tell me how to do that?
    In HTML Header I put text like
    <a target="_blank" href="http://www.myweb.com"><img src="#WORKSPACE_IMAGES#my_header_logo_white.jpg" alt=http://www.myweb.com" title="Application" ></a> <center><b><font size="4">Web Management System</font></b></center>
    However, the font doesn't do anything.
    Any help is appreciated!!
    Edited by: user12048533 on Jun 14, 2010 8:19 AM

    In HTML Header I put textDid you mean Page Header Text? It wouldn't have done much of anything at all in the HTML Header...
    However, the font doesn't do anything.Yet another universal selector problem: see +{message:id=4184109}+
    How do I overwrite the style sheet? I am wondering if I change the default style sheet, does that also affect the other pages, which is not what I want. In that case you can just include the CSS inline, which will also get round the universal selector issue. You are also recommended to use a semantic HTML element instead of deprecated presentational elements like &lt;center&gt; and &lt;font&gt;. Assuming this text is the primary heading on the page, use &lt;h1&gt;:
    <img src="#WORKSPACE_IMAGES#my_header_logo_white.jpg" alt="" title="Application" />
    <h1 style="font-size: large; font-weight: bold; text-align: center;">Web Management System</h1>

  • Putting the Header for Text part in the query properties.........

    Hi,
    I am displaying the Key and text for the characteristic.....
    Is it possible that I can put some column heading for the text part...
    Like if I display 0Material (key and text), I can display the column heading for the text part
    as "Material Descripion"
    Is it possible.......? Please let me know
    Thanks , Jeetu

    I dont think it is possible the way you are thinking. However, if you have Material description in the data target (MAKTX) then you can use this in the separate column in the report.
    Thanks..
    Shambhu

  • Error while adding  the issue for production (item cost not found)

    Hi all,
    The scenario is,
    when the user is trying to add the issue for production system is showing error item cost not
    found.The item which is issued is Inventory + purchase item with manual issue method.The valuation
    method for that item is FIFO.since the valuation method is FIFO,error related to item cost should
    not occur.
    Since the valuation method is FIFO.Item cost error should not occur.
    The error related to item cost must not occur at the time of issue for production.
    Regards-
    Mona.

    Hi!
    Please check these threads
    Sales Delivery Document
    Item Cost Error
    No item cost was found

  • The header for datafinder queries

    I used Datafinder as a database with TDMS.
    In my office, the TDMS files can be searched in any properties.
    But one PXI has a problem in searching the properties (for example, _NumChannels) in the file level.
    (Only using <>, the query result was displayed and no problems in channel and group level.)
    However, other PXIs and computers didn't show this problem.
    NI engineer recommend to install LV again.
    (My computer LV: 2009, the specific PXI LV: 2009, tested computers and PXIs: 2011)
    As a solution of future problem, I'd like to know what kind of trouble in PXI can show current trouble.
    labmaster.
    *) All tests were done with the enclosed one TDMS file. 
    Attachments:
    11_11_07_142932.zip ‏213 KB

    Thanks for the reply.
    I reset the index option in Datafinder but useless before.
    (I will try to reset again.)
    However, can you identify other items to be checked in the computer? 
    labmaster.

  • How do I find the header for an incoming email to locate sender's IP?

    I need to identify the IP address for a person who is spoofing me so I can block them at my server.

    Please do not start multiple threads for the same problem. Follow up to your other thread at https://support.mozilla.org/en-US/questions/1006081 .

  • Made content hidden, now I can't turn the content back on, ie: the header for pages, images and such

    I haven't been on in so long, it looks like Business Catalyst Developer has changed (UI, UX). Any help would be great. Thanks!
    Litterdata.com

    Is the script installed and enabled? On the Add-ons page, you should be able to view the script and its options.
    orange Firefox button ''or'' classic Tools menu > Add-ons > Userscripts category
    Is Greasemonkey running? It's a little to easy to disable by clicking the monkey icon (which causes it to have a faded appearance).
    For each script hosted on userscripts.org, when you are on the page with the description, you will notice a Discussions tab. You usually can read posts about new bugs and workarounds for the script there if the above is not helpful.

  • Hi Guys, Just added the widget for Spry Image Slideshow...HELP!

    How do I add my own pictures the the slideshow? I'm not the best with this so your help would be amazing!!!
    Please reply
    Thanks,
    Oli

    Gramps

  • I want to add a very simple email only form in the header for offers/newsletter etc. Anyone know how to do this?

    I have tried deleting the various parts of the contact form, but it won't let me delete the 'name' field. All i want is 'email' and 'submit'. Thanks in advance.

    You can't remove the name field ... but here are some options for you.
    newsletter – Adobe Muse Widget Directory

Maybe you are looking for