Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Understanding Lock Objects with Enqueue and Dequeue FMs

Former Member
0 Likes
415

Hi,

I have created lock object for a custom table and I am trying to understand the various options in the Function Modules that get automatically generated, please explain me whether I am using all these options correctly and what is the use of the various options

CALL FUNCTION 'ENQUEUE_EZZZZZZ'
   EXPORTING
     mode_ZZZZZZ          = 'E'
     mandt                = sy-mandt
     field1                = i_ZZZZZZ-field1
     field2              = i_ZZZZZZ-field2
*   X_FIELD1           = ' '
*   X_FIELD2         = ' '
*   _SCOPE               = '2'
     _wait                = 'X'
*   _COLLECT             = ' '
   EXCEPTIONS
     foreign_lock         = 1
     system_failure       = 2
     OTHERS               = 3
            .
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

  MODIFY ZZZZZZ FROM i_ZZZZZZ.

  CALL FUNCTION 'DEQUEUE_EZZZZZZ'
   EXPORTING
     mode_ZZZZZZ          = 'E'
     mandt                = sy-mandt
     field1                = i_ZZZZZZ-field1
     field2              = i_ZZZZZZ-field2
*   X_FIELD1           = ' '
*   X_FIELD2         = ' '
*   _SCOPE            = '3'
*   _SYNCHRON         = ' '
*   _COLLECT          = ' '

Field 1 and Field 2 are the key fields in this table, I would like to know whether I need to pass on these values even when I am inserting a record...

Also how I can use these below options in Enqueue FM

  • X_FIELD1 = ' '

  • X_FIELD2 = ' '

  • _SCOPE = '2'

  • _WAIT

  • _COLLECT

and the below ones in Dequeue

  • _SCOPE = '3'

  • _SYNCHRON = ' '

  • _COLLECT = ' '

1 REPLY 1
Read only

Former Member