Skip to end of metadata
Go to start of metadata

Purpose

You want to control field editability or display in ME5Xn transactions. This page describes the main concepts and how you can make changes.

Overview

Every field can have 4 different states: Optional = "." | Required = '+' | Display = '*' | Hidden = '-'

If there are no other restrictions, the field metadata can be influenced in 3 main ways: static customizing, BAdI and functor class.

How field metadata can be controlled

Static customizing

For a selection of fields, it is possible to control by customizing. You can find this in SPRO transaction, following this path:

SAP Customizing Implementation Guide → Materials Management → Purchasing → Purchase Requisition → Define Screen Layout at Document Level

This customizing is stored in table T162. The accounting tab has separate customizing, stored in T162k.

It is recommended to read the SAP Note 30316 and the Guided answer 2981295 about the details.

The customizing is read by function module MEX_FELDAUSWAHL.

Dynamic control

Some fields are dependent from the Purchase requisition data. For example, the Fixed indicator is disabled for requisitions created by MRP (EBAN-ESTKZ). The related field (MEREQ3321-FIXKZ) is disabled if ESTKZ = B.

Similar dynamic assignment is realized in functor classes. The functor class implements the interface lif_fieldsel defined in the function group MEGUI. 

For the field FIXKZ, the functor class is lcl_r_fixkz, implementing the method lif_fieldsel~compute_fieldstatus, setting the field to display status if the requisition is created by MRP:

BAdI

The fields can be controlled by the BAdI ME_PROCESS_REQ_CUST.

There are 4 methods to influence the field metadata:

FIELDSELECTION_HEADER_REFKEYS
FIELDSELECTION_HEADER
FIELDSELECTION_ITEM_REFKEYS
FIELDSELECTION_ITEM


To use the BAdI efficiently, you need to know the METAFIELD number of the field.

Set a breakpoint in Include LMEREQF05 Method GET_FIELDSELECTION (LCL_REQ_ITEM). When you display a tab, the breakpoint will stop.

Before continuing with debugging, in the call stack double-click event FS_GET. Check the table MY_DYNPRO_FIELDS for the METAFIELD column.

This is also described in Guided answer 2981295.

Restrictions

  1. The field editability can be restricted on layout designer level. Example:  MEREQ3328-ESTKZ. The input is set to "not possible" in the layout designer:


    If this restriction applied, you will never be able to make the field editable.

  2. You can only control the field metadata if the field is included into the Metafield Mapping. The Metafield Mapping is created in following two function modules:
    MEMFS_BUILD_MAPPING_PO_VIEWS
    MEMFS_BUILD_MAPPING_PO_DOC
    into the table CH_MAPPING.
    It is controlled by class CL_MFS_MM, function group MEMFS.
    Both function modules have enhancement points, where you can append or remove fields. Also, the BAdI MEGUI_GRID_ENHANCEMENT is called and can be used for the same purpose.


Related Content

Related SAP Notes/KBAs

SAP Note: 30316 - Problems with fields that are not ready for input in purchasing

KBA: 2981295 - Why a field is displayed, hidden, editable, disabled, optional or mandatory in Purchase Requisition, PO, Contract and Scheduling Agreement? - Guided Answer

  • No labels