Application Development Blog Posts
Learn and share on deeper, cross technology development topics such as integration and connectivity, automation, cloud extensibility, developing at scale, and security.
cancel
Showing results for 
Search instead for 
Did you mean: 
Jigang_Zhang张吉刚
Active Contributor
3,098
There're some articles already explaining how to add customized fields at the customized sub-screen of ME53N:

What if only a few more standard fields at Purchase Requisition: Status Grid without using custom TAB/sub-screen?


Find the corresponding sub-screen number which is 3317 for Purchas Requisition: Status - ALV Grid at function group: MEGUI. Screen 3316 is a sub-area for purchase requisition: status.


Related objects for Purchase Requisition: Status Grid:

  • Structure name: MEREQ_HISTORY

  • Refered class: cl_grid_view_mm

  • Populate method: transport_from_model

  • Populate FM: MM_PURREQ_HISTORY_GET



Besides, the key function module 'MEPOBADI_CHANGE_OUTTAB' will provide method 'fill_outtab' against the BADI 'me_change_outtab_cus ' to populate customized or newly added fields inside 'MM_PURREQ_HISTORY_GET'.


So now it'll be clear that we can simply enhance this standard ALV grid with the following steps:

1, Create append structure for 'MMREQ_HISTORY'




2, Create BADI Implementation for 'ME_CHANGE_OUTTAB_CUS'



 
METHOD if_ex_me_change_outtab_cus~fill_outtab.
* When processing this source code, you activate the following functionality:
* The reporting transactions for purchasing documents provide three main views
* for display: basic list, delivery schedule, and account assignment. All
* three views contain a column "Material". If the material of a purchasing
* document item is a manufacturer part number (MPN) then this MPN is shown
* as "Material". The internal inventory managed material is not visible.
* The following source code replaces the MPN by the inventory managed material.

DATA: ls_ekpo TYPE ekpo,
lv_werks type EWERK,
lv_bstYP type EBSTYP.

FIELD-SYMBOLS: <fs_outtab> TYPE any,
<fs_ebeln> TYPE ebeln,
<fs_ebelp> TYPE ebelp,
<fs_ertwr> TYPE bbwert,
<fs_abskz> TYPE abskz,
<fs_werks> TYPE EWERK,
<fs_agmem> TYPE agmem,
<fs_material> TYPE matnr.

* check that a purchasing document view is displayed
CHECK im_struct_name EQ 'MMREQ_HISTORY'. "PO HISTORY for ITEM

* loop at the output table and assign a field symbol
LOOP AT ch_outtab ASSIGNING <fs_outtab>.

*-- assign the purchasing document number to a field symbol
ASSIGN COMPONENT 'EBELN' OF STRUCTURE <fs_outtab> TO <fs_ebeln>.
CHECK sy-subrc = 0.
*-- assign the purchasing document item number to a field symbol
ASSIGN COMPONENT 'EBELP' OF STRUCTURE <fs_outtab> TO <fs_ebelp>.
CHECK sy-subrc = 0.
ASSIGN COMPONENT 'WERKS' OF STRUCTURE <fs_outtab> TO <fs_werks>.
CHECK sy-subrc = 0.
* NEW 3 fields at PO history item level!
ASSIGN COMPONENT 'BRTWR' OF STRUCTURE <fs_outtab> TO <fs_ertwr>.
ASSIGN COMPONENT 'ABSKZ' OF STRUCTURE <fs_outtab> TO <fs_abskz>.
ASSIGN COMPONENT 'AGMEM' OF STRUCTURE <fs_outtab> TO <fs_agmem>.

" get Purchasing Document Category
clear lv_bstyp.
select single bstyp
into lv_bstyp
from ekko
where ebeln eq <fs_ebeln>.

* Restriction for IN* plant and 'RFQ' only!
if lv_bstyp eq 'A' and <fs_werks>+0(2) EQ 'IN'.
"populate those 3 added fields for ME53N at PO item history~!
SELECT SINGLE brtwr abskz agmem FROM ekpo
INTO ( <fs_ertwr>, <fs_abskz>, <fs_agmem> )
WHERE ebeln EQ <fs_ebeln>
AND ebelp EQ <fs_ebelp>.
endif.

ENDLOOP.

ENDMETHOD.

3, Change the layout at ME53n



So BADI 'ME_CHANGE_OUTTAB_CUS' will be very helpful for all those kinds of enhancing for ME* transactions. Check this first before using any other approaches.
Labels in this area