2020-08-18 14:44发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
是否可以根据条件在ME21N和ME22N中制作不可编辑的字段EKKO-ZTERM? 我正在尝试在IF_EX_ME_PROCESS_PO_CUST〜FIELDSELECTION_HEADER中进行此操作,但是我不知道如何做。
预先感谢
玛丽亚
嗨,
代替尝试方法PROCESS_HEADER
嗨
另一种方法是动态选择预先准备的屏幕变体(使用该字段
这可以在ME_PROCESS_PO_CUST BADI的FIELDSELECTION_HEADER_REFKEYS方法中完成。
IF条件= abap_true。 ch_key0 ='SOME_SCREEN_VARIANT_NAME'。 ENDIF。
您好,玛丽亚美利奴 p>
我阅读了BADI文档并进行了一些调试,这就是我所发现的。
在BADI的FIELDSELECTION_HEADER方法中,您需要分配字段ID和显示选项:
您可以在类型池MMMFD中找到字段ID。
在您的BADI代码中,方法应如下所示。
TYPE- 池: mmmfd。 数据: ls_field_selection TYPE mmpur_fs。 ls_field_selection-metafield = mmmfd_pmnttrms。 ls_field_selection-fieldstatus ='*'。 "显示 INSERT ls_field_selection插入表ch_fieldselection
但是,问题是,只有在标题屏幕的一个选项卡("定制字段"选项卡)上有一个定制字段时,才调用此方法。 您可以在MEPOBADI_FS_HEADER函数中看到这一点。
MMFMD_CUST_01的定义如下。
该方法被注释为防火墙,因为它可以防止更改 标准字段的属性,但是一旦您调用了BADI方法,我展示的逻辑就会起作用。 过滤部分不会阻止任何事情,只是调用了BADI方法。
要使用自定义字段添加此自定义屏幕,您需要实现BADI ME_GUI_PO_CUST,然后在BADI中向交易添加新屏幕。
您可以检查SAP为ME_GUI_PO_CUST和ME_PROCESS_PO_CUST BADI准备的示例: p>
-CL_EXM_IM_ME_GUI_PO_CUST
-CL_EXM_IM_ME_PROCESS_PO_CUST
希望有帮助。
问候,
Mateusz
最多设置5个标签!
嗨,
代替尝试方法PROCESS_HEADER
嗨
另一种方法是动态选择预先准备的屏幕变体(使用该字段
这可以在ME_PROCESS_PO_CUST BADI的FIELDSELECTION_HEADER_REFKEYS方法中完成。
,Mateusz
您好,玛丽亚美利奴 p>
我阅读了BADI文档并进行了一些调试,这就是我所发现的。
在BADI的FIELDSELECTION_HEADER方法中,您需要分配字段ID和显示选项:
您可以在类型池MMMFD中找到字段ID。
在您的BADI代码中,方法应如下所示。
但是,问题是,只有在标题屏幕的一个选项卡("定制字段"选项卡)上有一个定制字段时,才调用此方法。 您可以在MEPOBADI_FS_HEADER函数中看到这一点。
MMFMD_CUST_01的定义如下。
该方法被注释为防火墙,因为它可以防止更改 标准字段的属性,但是一旦您调用了BADI方法,我展示的逻辑就会起作用。 过滤部分不会阻止任何事情,只是调用了BADI方法。
要使用自定义字段添加此自定义屏幕,您需要实现BADI ME_GUI_PO_CUST,然后在BADI中向交易添加新屏幕。
您可以检查SAP为ME_GUI_PO_CUST和ME_PROCESS_PO_CUST BADI准备的示例: p>
-CL_EXM_IM_ME_GUI_PO_CUST
-CL_EXM_IM_ME_PROCESS_PO_CUST
希望有帮助。
问候,
Mateusz
一周热门 更多>