Skip to Content
-1
Jun 24, 2020 at 02:30 AM

How to using lock object by row

96 Views

Hi all,
i need your advice,

i have screen and i create lock object,

i need when user1 open no.bill ex : 1-10 and change it, screen will input = 1.
and then when user 2 open no.bill ex : 8 - 12 , screen output no.bill 8-10 equal = 0 because user 1 opened it and no.bill 11-12 screen output = 1.

how can lock object inside loop ?

this is my code.

PROCESS BEFORE OUTPUT.
  MODULE status_0100.
  MODULE init.
  LOOP AT it_show WITH CONTROL tc_0001
  CURSOR tc_0001-current_line.
    MODULE icon_status.
    MODULE lock_object.
    MODULE screen_control.
    MODULE moveback_to_screen.
  ENDLOOP.


"------------------
MODULE lock_object.
DATA : lv_uname TYPE sy-msgv1,
       lv_msg   TYPE c LENGTH 40.

  CALL FUNCTION 'ENQUEUE_EZLOSD_TRIP_BBO2'
    EXPORTING
      mode_zsdtb_trip_bbo2 = 'E'
      mandt                = sy-mandt
      no_bill              = it_show-no_bill
    EXCEPTIONS
      foreign_lock         = 1
      system_failure       = 2
    OTHERS                 = 3.
  IF sy-subrc <> 0.
*    lv_uname = sy-msgv1.
*    CONCATENATE 'Data has been locked by :' lv_uname INTO lv_msg
*    SEPARATED BY space.
*    MESSAGE i000(zmm) WITH lv_msg DISPLAY LIKE 'E'.
    gv_error2 = 'X'.
  ENDIF.
ENDMODULE.

Thank You

Attachments

usr1.png (14.7 kB)
usr-2.png (16.7 kB)