选择屏幕做必输项控制

选择屏幕做必输项控制

在这里插入图片描述
在这里插入图片描述
实现的功能:点击不同的功能选择可以实现跳转到不同的选择条件同时要对必输字段进行控制。
源代码:

 IF RB_CJ = 'X'.   "选择创建
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'M2'.  " M2 是在选择屏幕界面对一些字段进行了分组
SCREEN-ACTIVE = '0'. " 0表示隐藏
ENDIF.
IF SCREEN-GROUP1 = 'M1' or SCREEN-NAME = 'S_WERKS-LOW' .  "SCREEN-NAME是对屏幕的具体某个字段进行了控制
SCREEN-REQUIRED = '2'.   "为2是一定要做手动检验的
ENDIF.

MODIFY SCREEN.
ENDLOOP.
ELSEIF RB_CX = 'X'.  "选择查询
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'M1'.
SCREEN-ACTIVE = '0'.
ENDIF.
IF  SCREEN-NAME = 'S_WERKS-LOW' .
SCREEN-REQUIRED = '2'.
ENDIF.

MODIFY SCREEN.
ENDLOOP.
ENDIF.

在这里插入图片描述
手动检验的代码:

IF RB_CJ = 'X'. 
IF S_WERKS IS INITIAL OR P_UMLGO IS INITIAL OR P_LGORT IS INITIAL .
MESSAGE '检查必输项!' TYPE 'S' DISPLAY LIKE 'E'.
STOP.
ENDIF.
ELSE.
IF S_WERKS IS INITIAL .
MESSAGE '检查必输项!' TYPE 'S' DISPLAY LIKE 'E'.
STOP.

ENDIF.
ENDIF.
### SAP BP前台界面配置 在SAP Business Partner (BP)模块中,对于前台界面的配置主要通过后台设置来完成。然而,在某些情况下,特定的角色类别如FLVN00/FLVN01无法直接实现场景中的字段属性配置[^2]。 为了正确配置这些,通常需要遵循以下方式: #### 使用事务代码SU3进行权限对象维护 虽然这不是直接针对BP前端显示的方式,但对于控制哪些字段可以在BP入时作为填呈现至关重要。这涉及到调整PFCG角色内的授权对象,特别是那些涉及BP创建和修改的对象。 #### 利用自定义屏幕布局 进入`SE54`事务码,可以访问ABAP Screen Painter工具。在这里可以根据具体需求定制化业务伙伴主记录屏幕上的字段可见性和要性。此过程允许更改现有屏幕元素或添加新的逻辑以满足企业特殊要求。 #### 应用BAdI扩展接口 Business Add-Ins (BAdIs) 提供了一种灵活的方法来自定义应用程序行为而无需改变标准程序源代码。对于更复杂的场景,可以通过实现适当的BAdI方法来动态决定哪些字段应该被标记为需。 ```abap DATA: lo_badi TYPE REF TO /sapsd/bp_partner. CREATE OBJECT lo_badi. lo_badi->set_mandatory_field( EXPORTING iv_bp_type = 'ZC' " 自定义业务伙伴类型 iv_field_name = 'CUSTOM_FIELD' IMPORTING ev_is_mandatory = lv_is_mandatory ). ``` 上述代码片段展示了如何利用BAdI设定某个自定义字段为的例子。 #### 考虑增强框架Enhancement Spots 如果以上选都不能完全解决问题,则考虑使用增强点(Enhancement Spot)。这种方法允许开发者向现有的SAP功能添加额外的功能而不影响核心系统稳定性。 尽管存在多种途径可用来处理这个问题,但在实际操作前建议先评估企业的具体情况以及可用资源再决策。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值