我在USEREXIT_FIELD_MODIFICATION遇到问题

2020-08-21 16:30发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我希望在某些情况下进行屏幕屏蔽输...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我希望在某些情况下进行屏幕屏蔽输入,其中之一是用户状态。 我使用FM status_text_edit获取用户状态的值。 就像下面的代码一样。

但是有问题,当用户更改用户状态时,这是错误的。

 FORM USEREXIT_FIELD_MODIFICATION。

 数据:jstat的it_status类型标准表,
        wa_status喜欢it_status的行,
        lv_objnr TYPE vbak-objnr,
        lv_line TYPE BSVX-STTXT,
        lv_status类型BSVX-STTXT。
 清除:lv_objnr。
 刷新it_status。
 从vbak选择单个objnr到lv_objnr,其中vbeln = vbak-vbeln。


 通话功能" STATUS_TEXT_EDIT"
   出口
    客户= SY-MANDT
    FLG_USER_STAT ='X'
     objnr = lv_objnr
     ONLY_ACTIVE ='X'
     spras = sy-langu
 * BYPASS_BUFFER =''
  输入
 * ANW_STAT_EXISTING =
 * E_STSMA =
    LINE = lv_line
    USER_LINE = lv_status
 * STONR =
  例外情况
    OBJECT_NOT_FOUND = 1
    其他= 2
           。
 如果sy-subrc <> 0。
 *在这里实施适当的错误处理
 万一。

  IF语法EQ'VA02'。
    sy-uname NE'STC25'和sy-uname NE'STC26'。
      如果是lv_status EQ'AP'或lv_status EQ'CBDA'。  " AP和CBDA"
         案例屏幕名称。
           当" RV45A-KWMENG"时。
                 如果是VBAP-PSTYV EQ'ZPPR'。
           屏幕输入= 0。
                  修改屏幕。
                 万一。
           当" VBAP-VRKME"时。
             如果是VBAP-PSTYV EQ'ZPPR'。
                  屏幕输入= 0。
                  修改屏幕。
             万一。
           当'VBEP-WMENG'。
             如果是VBAP-PSTYV EQ'ZPPR'。
                  屏幕输入= 0。
                  修改屏幕。
             万一。
        结束。
       万一。
    万一。
  万一。


 ENDFORM。