09-15-2008 12:13 PM
Hi,
I need to insert a new screen (tab) in ME23N (Item).
Can I use the badi ME_GUI_PO_CUST for that ? how can i use this badi for create a new screen in this transaction please?
Thanks for your reply.
09-15-2008 2:11 PM
What difference they are between CI_EKKODB and CI_EKPDB?
And what i need to implement in this include. I just need a tab with 1 title and in this tab 1 filed PS_POSID.
Thanks .
09-15-2008 12:48 PM
Hi
You can easily acheive this by using enhancement MM06E005.
Screen exit(Item): SAPLXM06 u2013 0111
Use the following exits to handle data between screen and table.
EXIT_SAPMM06E_018 - Custom Screen(Item) to table EKPO
EXIT_SAPMM06E_016 - Table EKPO to Custom Screen(Item)
09-15-2008 1:41 PM
Thanks a lot for your reply.I test the implementation I have never do that.
I need to impelement this 2 user exits?
EXIT_SAPMM06E_016 - Table EKPO to Custom Screen(Item).
EXIT_SAPMM06E_018 - Custom Screen(Item) to table EKPO
09-15-2008 2:11 PM
What difference they are between CI_EKKODB and CI_EKPDB?
And what i need to implement in this include. I just need a tab with 1 title and in this tab 1 filed PS_POSID.
Thanks .
09-15-2008 2:17 PM
Hi
Let's consider extra field is a Die Number(in Item Level)
1) First Append fields in EKPO by double clicking on the existing structure CI_EKPODB.
2) Create screen elements (SE51) using dictionary fields in EKPO which were created in the previous step in the screen exit SAPLXM06 u2013 0111.
3) To save the enhanced field values, Go to PAI of screen SAPLXM06 u2013 0111 and export the values to memory as below.
4) SET PARAMETER ID 'DIENO' FIELD ekpo-zzdieno.
5) In the user exit EXIT_SAPMM06E_018, get the values from memory as below and store it in extended structure.
6) GET PARAMETER ID u2018DIENOu2019 FIELD e_ci_ekpo-zzdieno.
7) Now values will be updated in the table upon saving.
8) For displaying the data from table to screen, Go to the user exit EXIT_SAPMM06E_016, import the value to memory as below.
9) SET PARAMETER ID u2018ODIENOu2019 FIELD i_ekpo-zzdieno.
10) Go to PBO of screen SAPLXM06 u2013 0111, and get the value form memory as below.
11) GET PARAMETER ID 'ODIENO' FIELD ekpo-zzdieno.
If you have any clarification, revert back.
09-15-2008 3:26 PM
1) First Append fields in EKPO by double clicking on the existing structure CI_EKPODB.
It's ok i have create my field to the tab : PS_POSID.
2) Create screen elements (SE51) using dictionary fields in EKPO which were created in the previous step in the screen exit SAPLXM06 u2013 0111.
I have create the screen : SAPLXM06 u2013 0111
I have insert a input field for PS_POSID ( with referece : search help : COBL_EX_PRPM.
I have do the all next step. But I have activate the screen but he don't show me the screen?
When i activate the screen in se51 it should be ok?
09-15-2008 3:35 PM
when i launch the transaction they are a dump and error DIENO is unknow.
I think he don't pass to my screen.
09-15-2008 3:45 PM
I think is because i have not implemented ME_GUI_PO_CUST.
Can you help me with this implementation please?
I don't know what method use with the element i have create before.
09-16-2008 8:55 AM
Hi,
I have try to implement the badi ME_GUI_PO_CUST with the method : SUBSCRIBE but nothing appear in item for transaction ME23N.
I use this code :
method IF_EX_ME_GUI_PO_CUST~SUBSCRIBE.
*BREAK-POINT.
DATA: ls_subscriber LIKE LINE OF re_subscribers.
CHECK im_application = 'PO'.
CHECK im_element = 'ITEM'.
CLEAR re_subscribers[].
ls_subscriber-name = screen.
ls_subscriber-dynpro = '0111'.
ls_subscriber-program = 'SAPLXM06'.
ls_subscriber-struct_name = 'MEPO_BADI_STRUCT'.
ls_subscriber-label = 'test'.
APPEND ls_subscriber TO re_subscribers.
endmethod.
thanks.
Edited by: Spawn rad on Sep 16, 2008 9:56 AM
09-16-2008 9:57 AM
I have found the solution but he don't save the value that i assign .
Any Idea?
I have use
Include ZXM06U41 (user exit)
SET PARAMETER ID 'PRO' FIELD i_ci_ekpo-ZZPS_POSID.
Include ZXM06U40 (user exit)
GET PARAMETER ID 'PRO' FIELD e_ci_ekpo-ZZPS_POSID.
In screen painter :
PROCESS BEFORE OUTPUT :
module ZSTATUS_0111 output.
GET PARAMETER ID 'PRO' FIELD ekpo-ZZPS_POSID.
endmodule. " ZSTATUS_0111 OUTPUT
PROCESS AFTER INPUT :
module ZUSER_COMMAND_0111 input.
SET PARAMETER ID 'PRO' FIELD ekpo-ZZPS_POSID.
endmodule. " ZUSER_COMMAND_0111 INPUT
09-16-2008 11:16 AM
Hi Spawn,
whatever you have done is correct except the memory ID.
You are using same memory ID for both. Change that as below.
In Exits:
Include ZXM06U41 (user exit) - From EKPO to Screen
SET PARAMETER ID 'IPRO' FIELD i_ci_ekpo-ZZPS_POSID. " IPRO Here
Include ZXM06U40 (user exit) - From Screen To EKPO
GET PARAMETER ID 'OPRO' FIELD e_ci_ekpo-ZZPS_POSID. " OPRO Here
In screen painter :
PROCESS BEFORE OUTPUT :
module ZSTATUS_0111 output.
GET PARAMETER ID 'IPRO' FIELD ekpo-ZZPS_POSID. " IPRO Here
endmodule. " ZSTATUS_0111 OUTPUT
PROCESS AFTER INPUT :
module ZUSER_COMMAND_0111 input.
SET PARAMETER ID 'OPRO' FIELD ekpo-ZZPS_POSID. " OPRO Here
endmodule. " ZUSER_COMMAND_0111 INPUT