物料主数据增强 - MM01 Enhance

沈博延
2023-12-01


https://blogs.sap.com/2015/03/06/additional-fields-on-the-material-master/


Extending the master table
1 , 标准表附加结构
Go to TCode SE11 and display table for plant-specific fields (MARC)
Extend an existing or create new custom Append for MARC table- it will be a normal structure (will be editable in SE11) which will be appended at the end of the table
New MARC Append structure


Add your fields to the Append-structure – In our example we will add field for storing a process code called ZZ_PROCCODE of type ZZ_DTEL_PROCCODE built on domain ZZ_DOM_PROCCODE.
New data element for MARC Append structure


Data element Domain definition


Activate the append structure -> this will trigger the MARC table
(and all depending tables/structures) adjustments – this can be quite 
time consuming so take care when doing such change in production 
environment
Updated MARC table with new Append structure


2 , 创建子屏幕 (通过  后勤-常规>>物料主数据>>配置物料主数据>>(1)创建定制子屏幕程序
                                                             >>(2)定义每个屏幕序列的数据屏幕的结构

Create/Extend own sub-screen
Create new function group (you can skip this step if you already 
have a FUGR created for this purpose) where you define new sub-screens 
which will contain your custom fields.
!!! STOP !!!


Do not create the FUGR manually but go through customizing for the MM views in
SPRO IMG -> Logistics General -> Material Master -> 
Configuring the Material Master -> Create Programs for Customized 
Subscreens


SAP IMG for Material Master Customizing


Let’s call our new FUGR ZSALES_MASTER.


通过复制 标准程序 函数组 MGD1 的子屏幕 到  2 创建的 函数组子屏幕 ,更改数据元素 即可
In SE80 display FUGR MGD1 and select the screen (MM View 
sub-screen) you want to enhance with your own fields – in our case it 
will be screen 2701 (Storage data: general data)
Copy the selected screen from MGD1 to your FUGR (keep its current number)
Copy standard screen to your FUGR


Using Screen Painter edit the new screen in your FUGR (in our case 
screen 2701) and rename the group to some custom text describing the 
group of fields you’re going to put inside. Then delete all fields from 
the screen and put there only your custom fields.
…the original layout will be changed from this


Original screen layout


… to the following


New screen layout


Save and activate your new screen
In SE80 open the screen (in our case 2701) and go to tab Flow logic
In the code displayed remove (or comment out) all lines manipulating
with fields that no longer exist in the screen and replace them with 
commands that will manipulate with your own custom fields. Be careful – 
don’t remove (comment out) module calls MODULE GET_DATEN_SUB and MODULE SET_DATEN_SUB – these are responsible for reading data from database and putting them back once you change them in the MM views.
Changed Flow logic of your new screen


Activate all changes in the custom FUGR (added screen, its layout and flow logic)
Add the new subscreen to the standard MM Views
Go to customizing for the MM views in SPRO IMG -> Logistics 
General -> Material Master -> Configuring the Material Master 
-> Define Structure of Data Screens for Each Screen Sequence (Tcode OMT3)


Now you can either create your own screen sequence (by copying some 
of the existing ones) or just modify one of the already prepared ones – 
we will go to update already existing one (21 – Standard Industry: Tab 
pages)
SAP IMG - MM Screens Sequence Customizing


select the line and double-click on Data Screens
SAP IMP Screens Sequence Customizing - Data Screens


Now select the line with Screen Desription General Plant Data / Storage 1 and double-click on Subscreens
SAP IMG Screens Sequence Customizing - Sub Screens


Here you can preview the whole screen with its all sub-screens by pushing the button View Data Screen
You can see your custom sub-screen is not visible … yet :-)
Go back and select the first line where  PROGRAM = SAPLMGD1 and SCREEN=0001 (screen 0001 is a dummy/empty screen), click on the Add new Entries button and replace the program name with SAPLZSALES_MASTER (main program of your FUGR) and put your own screen number (2701)
Press SAVE button (you will be asked for a transport number) and voila …YOU ARE DONE 8-)
To test your new screen go to MM01 or MM02


New material creation


Check in the General Plant Data / Storage 1 tab, that your new field (ZZ_PROCCODE) in your new sub-screen (2161) is visible. Change its value, enter all other required fields and save changes.


New material details


Check in SE16 that data has been saved correctly in the MARC table


New material details in MARC table


Modification of new fields data in PAI
In case you need to process or modify data of your new fields (or


also data of standard fields) during PAI in MM01/MM02/MM03) you have to


增强检查 可通过 >>
implement Customer-Exit EXIT_SAPLMGMU_001.


This user exit is called every time PAI is triggered.


If you need to do some error-checking during the SAVE action only, then you can surround your code with something like


IF sy-ucomm = ‘BU’. “this code executed only during SAVE
* your code
ENDIF.








================================================================================================
= DBSQL_REDIRECT_INCONSISTENCY 的解决 
================================================================================================


参考 Note 2242679 - Redirect inconsistency - Proxy Substitution
https://launchpad.support.sap.com/#/notes/2242679


For S/4HANA OP1610:


1. Create an EXTEND VIEW


For APPENDs on structures of tables for the above described cases use ABAP Development Tools (ADT) Core Data Services (CDS) and create a new DDL source with name <Name of your append>_DDL. Enter a description like 'Extension view for Append <Name of your append>'. Select the template 'Extend View'  and adopt the proposed coding EXTEND VIEW <proxy view name for table> with <Name of your append>_E . 


The <proxy view name for MARC> is NSDM_E_MARC.
The <proxy view name for xBEW> is MBV_xBEW.
The <proxy view name for MSEG> is NSDM_E_MSEG.
The <proxy view name for MKPF> is NSDM_E_MKPF.
The <proxy view name for Mxyz> is NSDM_E_Mxyz.
Enter all the fields from the APPEND in this extend proxy view. If you have several APPENDs in one table (may happen if a table is composed by sub-structures or for MSEG an implemented CI_COBL include as well as an APPEND on table MSEG), then all fields from all your APPENDs shall be inserted in the customer CDS proxy view.


Example for MARC:


@AbapCatalog.sqlViewAppendName:'<Name of your append>_V'
@EndUserText.label:'Extension view for Append <Name of your append>'
@AccessControl.authorizationCheck:#NOT_REQUIRED
EXTEND VIEW NSDM_E_MARC with <Name of your append>_E
{
<your field list>
}
 类似资料: