如何按行使用锁定对象

2020-08-16 10:28发布

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

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


大家好,
我需要您的建议,

我有屏幕并创建了锁定对象,

我需要在用户1打开编号帐单ex:1-10并进行更改时,屏幕将输入=1。然后,当用户2打开编号帐单ex:8-12时,屏幕输出编号bill 8 -10等于= 0,因为用户1打开了它,并且编号11-12屏幕输出= 1。

如何将对象锁定在循环内?

这是我的代码。

输出前的过程。
   模块状态_0100。
   模块初始化。
   使用控制tc_0001在it_show上循环播放
   游标tc_0001-current_line。
     模组icon_status。
     模块lock_object。
     MODULE screen_control。
     MODULE moveback_to_screen。
   结局。


 " ------------------
 模块lock_object。
 数据:lv_uname TYPE sy-msgv1,
        lv_msg类型c长度40。

   通话功能'ENQUEUE_EZLOSD_TRIP_BBO2'
     出口
       mode_zsdtb_trip_bbo2 ='E'
       mandt = sy-mandt
       no_bill = it_show-no_bill
     例外情况
       foreign_lock = 1
       system_failure = 2
     其他= 3。
   如果sy-subrc <> 0。
 * lv_uname = sy-msgv1。
 * CONCATENATE'数据已被锁定:'lv_uname INTO lv_msg
 *按空格分隔。
 * MESSAGE i000(zmm),带有lv_msg,显示为" E"。
     gv_error2 ='X'。
   万一。
 ENDMODULE。

谢谢

(14.7 kB)

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

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


大家好,
我需要您的建议,

我有屏幕并创建了锁定对象,

我需要在用户1打开编号帐单ex:1-10并进行更改时,屏幕将输入=1。然后,当用户2打开编号帐单ex:8-12时,屏幕输出编号bill 8 -10等于= 0,因为用户1打开了它,并且编号11-12屏幕输出= 1。

如何将对象锁定在循环内?

这是我的代码。

输出前的过程。
   模块状态_0100。
   模块初始化。
   使用控制tc_0001在it_show上循环播放
   游标tc_0001-current_line。
     模组icon_status。
     模块lock_object。
     MODULE screen_control。
     MODULE moveback_to_screen。
   结局。


 " ------------------
 模块lock_object。
 数据:lv_uname TYPE sy-msgv1,
        lv_msg类型c长度40。

   通话功能'ENQUEUE_EZLOSD_TRIP_BBO2'
     出口
       mode_zsdtb_trip_bbo2 ='E'
       mandt = sy-mandt
       no_bill = it_show-no_bill
     例外情况
       foreign_lock = 1
       system_failure = 2
     其他= 3。
   如果sy-subrc <> 0。
 * lv_uname = sy-msgv1。
 * CONCATENATE'数据已被锁定:'lv_uname INTO lv_msg
 *按空格分隔。
 * MESSAGE i000(zmm),带有lv_msg,显示为" E"。
     gv_error2 ='X'。
   万一。
 ENDMODULE。

谢谢

(14.7 kB)
付费偷看设置
发送
5条回答
土豆飞人
1楼-- · 2020-08-16 11:02

您好

您可以按如下所示禁用它

通话功能'ENQUEUE_EZLOSD_TRIP_BBO2'
     出口
       mode_zsdtb_trip_bbo2 ='E'
       mandt = sy-mandt
       no_bill = it_show-no_bill
     例外情况
       foreign_lock = 1
       system_failure = 2
     其他= 3。
   如果sy-subrc <> 0。
        LOOP AT屏幕。  " <=====屏幕循环
            SCREEN-INPUT =0。"禁止输入
            修改屏幕。
       结局。  " <===屏幕循环
     gv_error2 ='X'。
   万一。
 
d56caomao
2楼-- · 2020-08-16 11:07

因此在从表中获取数据之后并在屏幕上显示之前,应检查记录是否已锁定,然后将输入设置为0。

派大星 ヾ
3楼-- · 2020-08-16 11:04

与您的内容无关 问题,但是请不要在PBO期间锁定,因为您不应该锁定用户的每个输入或屏幕的每个滚动。

我建议您在显示屏幕之前锁定 ,将锁定状态存储在内部表IT_SHOW的中间字段中,不显示该字段,然后在PBO中测试此字段以使字段能够输入或仅输出。

葫芦娃快救爷爷
4楼-- · 2020-08-16 11:02

您的 混用正常语言和ABAP元素时,问题尚不清楚。 尝试花费更多时间来用完整的英语清楚地描述。

解码并重新表达您的问题:

要求:

  • 当用户1选择帐单1时 到10,由于尚未有人维护,所以可以输入所有钞票的屏幕字段。
  • 用户2选择钞票8至12时,由于用户1打开/锁定它们,然后可以输入帐单11和12。

问题:

  • 是否有人知道如何根据输入字段或输入字段来设置字段

您好 Sandra Rossi
谢谢你纠正我。
是的,我的意思是那样。
非常感谢您。

一周热门 更多>