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: 

Screen enhancement in ME51N/ME52n/ME53N

Former Member
0 Kudos
1,801

Hi All,

I want to display 2 additional tabs in the line item of ME52N tcode. There is already an enhancement MEREQ001 created in a project named MEREQ001. I tried to do the changes in the existing screen after deactivating the project, But after creating the tabs in the screen & when i try to save it I am getting an information message "Object can only be created in SAP package" , and after clicking continue i get the error "SAP object FUGR XM02 cannot be assigned to package ZMM". But even if I try to save it in any other namespace I am getting the error "Object belongs to function group with customer exit", and it will come out of the screen layout deleting the changes made the screen layout.

My requirement is to display 2 tabs in the Tcode Me52n, and the user must be able to fill data in these tabs & the data should be saved in the database on clicking save.

Is it possible to use Badi "ME_PROCESS_REQ_CUST" ?, if yes then please advice how.

Thanks in advance.

6 REPLIES 6

Former Member
0 Kudos
747

Hi

As per my understanding for existing enhancement MEREQ001 created in a project named MEREQ001. you are trying to do changes in the existing screen after deactivating the project, But after creating the tabs in the screen & when you try to save you are getting an information message "Object can only be created in SAP package" , and after clicking continue i get the error "SAP object FUGR XM02 -


> You need to save your screen changes in this function group package (FUGR XM02) i.e. standard package for this function group, you can save it through access key .

former_member536879
Active Contributor
0 Kudos
747

Hi,

You can't use the BADI " ME_PROCESS_REQ_CUST.

The main purpose of this badi is use to validate the PR at different levels. If you see the methods of that BADI for eg :

1. Process_header : This for validating the header part.

2. Process_item : This for validating the line item details.

Like that there are so many methods are there inside this BADI.

You mentioned that you deactivated the Existing Project of PR and i want to know in which package you have mentioned.

If that existing project is not needed you can delete the old one and incoporate the new logic and the old logic in the new project.

Hope you got some idea now.

With Regards,

Sumodh.P

Former Member
0 Kudos
747

Hi Saurabh,

Can you please let me know how can you achieve this as i have the same requirement. And my problem is my second tabstrip is not even triggering(It is not displaying ) but the first one is triggering and it is working fine.

Please suggest me how can i achieve it.

Thanks,

Siva

0 Kudos
747

Hi Siva,

This is already answered question and posted by some one.You raise a new thread then people will reply.

Regards,

Madhu.

Former Member
0 Kudos
747

Hi Saurabh,

Create new (other that 0111) screen in SE51 with program SAPLXM02 and design it as you want. Since you are using program SAPLXM02 you can use any exit available in the program to handle data the way you want.

Now enhance standard FM MEGUI_BUILD_REQ_ITEM_PLUGIN and at the end write below code to add your own custom tab in addition to custom tab provided by SAP.

DATA: l_exit_active.
   CALL FUNCTION 'MODX_FUNCTION_ACTIVE_CHECK'
        EXPORTING
             cprogname          = 'SAPLMEREQ'
             funcnumber         = '001'
        IMPORTING
             active             = l_exit_active
*      TABLES
*           ACTIVE_FUNCNUMBERS =
        EXCEPTIONS
             not_found          = 1
             OTHERS             = 2.


IF l_exit_active IS INITIAL.
     CREATE OBJECT cust_item_view
                   EXPORTING im_dynpro         = '1318'
                             im_prog           = megui
                             im_foreign_prog   = 'SAPLXM02'
                             im_foreign_dynpro = SCREEN NUMBER THAT YOU JUST CREATED
       l_text = 'Additional custom tab'.
     CALL METHOD cust_item_view->set_label( l_text(40) ).
     CALL METHOD cust_item_view->set_name( 'Kundenpos.' ). "#EC NOTEXT
     CALL METHOD cust_item_view->set_struct_name( ).

     CALL METHOD item_view->add
       EXPORTING
         im_screen_view = cust_item_view
         im_position    = 17.
     SET HANDLER cust_item_view->if_observer_mm~handle_subject_changed
                                   FOR item_view.
     SET HANDLER item_view->if_observer_mm~handle_subject_changed FOR
                 cust_item_view.

   ENDIF.

0 Kudos
690

Hi,

At what point in the function can I include this code to add an extra screen?

Regards,