Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Customer Screen add for ME21N

former_member229036
Participant
0 Kudos

Hello !

i am using ME_GUI_PO_CUST to create customer screen on step by step some docu, but i do not know how to create screen 0001, because when i was trying to create screen 001 or 0100 on function group MEPOBADIEX,, system was asking development key to modify standard source.

is it correct ?

in method of Subscribe ,,

i defined as below;

  • the dynpro number to use

ls_subscriber-dynpro = '0001'.

  • the program where the dynpro can be found

ls_subscriber-program = 'SAPLMEPOBADIEX'.

  • each subscreen needs his own DDIC-Structure

ls_subscriber-struct_name = 'CI_EKKODB'.

where can i create screen 0001 ?

Thank you & Best Regards;

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi,

Donot use program SAPLMEPOBADIEX. This is for example Implementation. Create a Z program with a screen 0002. and use that program and screen. For more details check below link:

[http://wiki.sdn.sap.com/wiki/display/ABAP/DetailedexplanationaboutBADIandthewaystofindtheBADIwithanexample(ME23n+transaction)]

BR

Chandra

4 REPLIES 4

Former Member
0 Kudos

Hi,

Donot use program SAPLMEPOBADIEX. This is for example Implementation. Create a Z program with a screen 0002. and use that program and screen. For more details check below link:

[http://wiki.sdn.sap.com/wiki/display/ABAP/DetailedexplanationaboutBADIandthewaystofindtheBADIwithanexample(ME23n+transaction)]

BR

Chandra

0 Kudos

Hi,,

New tab was showed in ME23N, but New tabs added by Badi ME GUI PO CUST not seen in ME21N and ME22N.

please help me what wrong is.

thanks you

bangbangbang.

0 Kudos

Hi

See SAP Note 496083 - FAQ: Customer enhancements (User Exits) in purchasing

You have this question and answer:


Question:
I implemented the 'ME_GUI_PO_CUST' Business Add-In to display customerspecific
tab titles in the EnjoySAP purchase order. They are only shown in
display mode (ME23N) however, not in create or change. Why?
Solution:
You may have forgotten to assign a field status to the user-defined fields
on these tabs. As a result, the system automatically interprets the field
status as 'hidden' in create and change modes. However if a tab contains
only hidden fields, then the entire tab is set to hidden. In display mode,
fields without a field status are automatically set to display. That is why
the tab is displayed in this case.
To assign a field status to the user-defined fields, use the methods
provided for this purpose in the Business Add-In 'ME_PROCESS_PO_CUST'
(compare sample source code in the FIELDSELECTION_ITEM method).

The question is to write a code as this in method FIELDSELECTION_HEADER (or ITEM) in BADI 'ME_PROCESS_PO_CUST'


  data: l_persistent type mmpur_bool,
        l_changeable type mmpur_bool,
        l_header type mepoheader.

  l_persistent = im_header->is_persistent( ).
  l_changeable = im_header->is_changeable( ).
  l_header = im_header->get_data( ).

  if condition.
    if condition.
      if l_changeable = 'X'.
        <fs>-fieldstatus = '.'. " READY FOR INPUT
      else.
        <fs>-fieldstatus = '*'. " view
      endif.
    else.
      <fs>-fieldstatus = '-'.    "SUPRESS IT
    endif.
   else.
     <fs>-fieldstatus = '-'.   "suprress it
   endif.

I hope this helps you

Regards

Eduardo

Edited by: E_Hinojosa on May 25, 2011 5:59 PM

Venkat_Sesha
Advisor
Advisor
0 Kudos

Hi,

to add a screen you need to do the following coding in BADI ME_GUI_PO_CUST

In Method IF_EX_ME_GUI_PO_CUST~SUBSCRIBE :

DATA: LS_SUBSCRIBER LIKE LINE OF RE_SUBSCRIBERS.

pass all the data as required to LS_SUBSCRIBER

In method IF_EX_ME_GUI_PO_CUST~MAP_DYNPRO_FIELDS map all the data as required

FIELD-SYMBOLS: <mapping> LIKE LINE OF ch_mapping.

In method IF_EX_ME_GUI_PO_CUST~TRANSPORT_FROM_MODEL

  • system asks to transport data from the business logic into the view

DATA: L_ITEM TYPE REF TO IF_PURCHASE_ORDER_ITEM_MM,

LS_MEPOITEM TYPE MEPOITEM,

do accordingly as per requirement.

In Method IF_EX_ME_GUI_PO_CUST~TRANSPORT_TO_DYNP

Fill the data . For example i am using a FM to fill data as follows

  • If FM was Called in PBO

IF EXPORT Is Not Initial.

ZBOM_COMP_SCR = C_ZBOM_COMP_SCR.

ElseIf IMPORT Is Not Initial.

C_ZBOM_COMP_SCR = ZBOM_COMP_SCR.

EndIf.

In Method IF_EX_ME_GUI_PO_CUST~TRANSPORT_FROM_DYNP

*Class definition Should be the same as in method Subscribe.

  • If FM was Called in PBO

IF EXPORT Is Not Initial.

ZBOM_COMP_SCR = C_ZBOM_COMP_SCR.

ElseIf IMPORT Is Not Initial.

C_ZBOM_COMP_SCR = ZBOM_COMP_SCR.

EndIf.

Thats it you need to do.... Hope this helps

Thanks,

Bhargav