SAP ENQUEUE_EFVIME Function Module for Request lock for object EFVIME









ENQUEUE_EFVIME is a standard enqueue efvime SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for Request lock for object EFVIME processing and below is the pattern details for this FM, showing its interface including any import and export parameters, exceptions etc. there is also a full "cut and paste" ABAP pattern code example, along with implementation ABAP coding, documentation and contribution comments specific to this or related objects.


See here to view full function module documentation and code listing for enqueue efvime FM, simply by entering the name ENQUEUE_EFVIME into the relevant SAP transaction such as SE37 or SE38.

Function Group: /1BCDWBEN/FEN0000
Program Name: /1BCDWBEN/SAPLFEN0000
Main Program:
Appliation area:
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:



Function ENQUEUE_EFVIME pattern details

In-order to call this FM within your sap programs, simply using the below ABAP pattern details to trigger the function call...or see the full ABAP code listing at the end of this article. You can simply cut and paste this code into your ABAP progrom as it is, including variable declarations.
CALL FUNCTION 'ENQUEUE_EFVIME'"Request lock for object EFVIME
EXPORTING
* MODE_VIMI01 = 'E' "Lock mode for table VIMI01
* DGAB = "06th enqueue argument
* SRAART = "07th enqueue argument
* SMERKMA = "08th enqueue argument
* X_BUKRS = ' ' "Fill argument 02 with initial value?
* X_SWENR = ' ' "Fill argument 03 with initial value?
* X_SMENR = ' ' "Fill argument 04 with initial value?
* X_SABRG = ' ' "Fill argument 05 with initial value?
* X_DGAB = ' ' "Fill argument 06 with initial value?
* X_SRAART = ' ' "Fill argument 07 with initial value?
* X_SMERKMA = ' ' "Fill argument 08 with initial value?
* MODE_VIMI08 = 'E' "Lock mode for table VIMI08
* _SCOPE = '2' "
* _WAIT = ' ' "
* _COLLECT = ' ' "Initially only collect lock
* MODE_VIOB10 = 'E' "Lock mode for table VIOB10
* MODE_VIMI02 = 'E' "Lock mode for table VIMI02
* MANDT = SY-MANDT "01th enqueue argument
* BUKRS = "02th enqueue argument
* SWENR = "03th enqueue argument
* SMENR = "04th enqueue argument
* SABRG = "05th enqueue argument

EXCEPTIONS
FOREIGN_LOCK = 1 SYSTEM_FAILURE = 2
.



IMPORTING Parameters details for ENQUEUE_EFVIME

MODE_VIMI01 - Lock mode for table VIMI01

Data type: ENQMODE
Default: 'E'
Optional: Yes
Call by Reference: No ( called with pass by value option)

DGAB - 06th enqueue argument

Data type: VIMI08-DGAB
Optional: Yes
Call by Reference: No ( called with pass by value option)

SRAART - 07th enqueue argument

Data type: VIOB10-SRAART
Optional: Yes
Call by Reference: No ( called with pass by value option)

SMERKMA - 08th enqueue argument

Data type: VIMI02-SMERKMA
Optional: Yes
Call by Reference: No ( called with pass by value option)

X_BUKRS - Fill argument 02 with initial value?

Data type:
Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)

X_SWENR - Fill argument 03 with initial value?

Data type:
Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)

X_SMENR - Fill argument 04 with initial value?

Data type:
Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)

X_SABRG - Fill argument 05 with initial value?

Data type:
Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)

X_DGAB - Fill argument 06 with initial value?

Data type:
Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)

X_SRAART - Fill argument 07 with initial value?

Data type:
Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)

X_SMERKMA - Fill argument 08 with initial value?

Data type:
Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)

MODE_VIMI08 - Lock mode for table VIMI08

Data type: ENQMODE
Default: 'E'
Optional: Yes
Call by Reference: No ( called with pass by value option)

_SCOPE -

Data type:
Default: '2'
Optional: Yes
Call by Reference: No ( called with pass by value option)

_WAIT -

Data type:
Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)

_COLLECT - Initially only collect lock

Data type: DDENQCOLL
Default: ' '
Optional: Yes
Call by Reference: No ( called with pass by value option)

MODE_VIOB10 - Lock mode for table VIOB10

Data type: ENQMODE
Default: 'E'
Optional: Yes
Call by Reference: No ( called with pass by value option)

MODE_VIMI02 - Lock mode for table VIMI02

Data type: ENQMODE
Default: 'E'
Optional: Yes
Call by Reference: No ( called with pass by value option)

MANDT - 01th enqueue argument

Data type: VIMI01-MANDT
Default: SY-MANDT
Optional: Yes
Call by Reference: No ( called with pass by value option)

BUKRS - 02th enqueue argument

Data type: VIMI01-BUKRS
Optional: Yes
Call by Reference: No ( called with pass by value option)

SWENR - 03th enqueue argument

Data type: VIMI01-SWENR
Optional: Yes
Call by Reference: No ( called with pass by value option)

SMENR - 04th enqueue argument

Data type: VIMI01-SMENR
Optional: Yes
Call by Reference: No ( called with pass by value option)

SABRG - 05th enqueue argument

Data type: VIMI08-SABRG
Optional: Yes
Call by Reference: No ( called with pass by value option)

EXCEPTIONS details

FOREIGN_LOCK - Object already locked

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

SYSTEM_FAILURE - Internal error from enqueue server

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

Copy and paste ABAP code example for ENQUEUE_EFVIME Function Module

The ABAP code below is a full code listing to execute function module POPUP_TO_CONFIRM including all data declarations. The code uses the original data declarations rather than the latest in-line data DECLARATION SYNTAX but I have included an ABAP code snippet at the end to show how declarations would look using the newer method of declaring data variables on the fly. This will allow you to compare and fully understand the new inline method. Please note some of the newer syntax such as the @DATA is not available until a later 4.70 service pack (SP8), which i why i have stuck to the origianl for this example.

DATA:
lv_mode_vimi01  TYPE ENQMODE, "   'E'
lv_foreign_lock  TYPE ENQMODE, "   
lv_dgab  TYPE VIMI08-DGAB, "   
lv_sraart  TYPE VIOB10-SRAART, "   
lv_smerkma  TYPE VIMI02-SMERKMA, "   
lv_x_bukrs  TYPE VIMI02, "   SPACE
lv_x_swenr  TYPE VIMI02, "   SPACE
lv_x_smenr  TYPE VIMI02, "   SPACE
lv_x_sabrg  TYPE VIMI02, "   SPACE
lv_x_dgab  TYPE VIMI02, "   SPACE
lv_x_sraart  TYPE VIMI02, "   SPACE
lv_x_smerkma  TYPE VIMI02, "   SPACE
lv_mode_vimi08  TYPE ENQMODE, "   'E'
lv_system_failure  TYPE ENQMODE, "   
lv__scope  TYPE ENQMODE, "   '2'
lv__wait  TYPE ENQMODE, "   SPACE
lv__collect  TYPE DDENQCOLL, "   ' '
lv_mode_viob10  TYPE ENQMODE, "   'E'
lv_mode_vimi02  TYPE ENQMODE, "   'E'
lv_mandt  TYPE VIMI01-MANDT, "   SY-MANDT
lv_bukrs  TYPE VIMI01-BUKRS, "   
lv_swenr  TYPE VIMI01-SWENR, "   
lv_smenr  TYPE VIMI01-SMENR, "   
lv_sabrg  TYPE VIMI08-SABRG. "   

  CALL FUNCTION 'ENQUEUE_EFVIME'  "Request lock for object EFVIME
    EXPORTING
         MODE_VIMI01 = lv_mode_vimi01
         DGAB = lv_dgab
         SRAART = lv_sraart
         SMERKMA = lv_smerkma
         X_BUKRS = lv_x_bukrs
         X_SWENR = lv_x_swenr
         X_SMENR = lv_x_smenr
         X_SABRG = lv_x_sabrg
         X_DGAB = lv_x_dgab
         X_SRAART = lv_x_sraart
         X_SMERKMA = lv_x_smerkma
         MODE_VIMI08 = lv_mode_vimi08
         _SCOPE = lv__scope
         _WAIT = lv__wait
         _COLLECT = lv__collect
         MODE_VIOB10 = lv_mode_viob10
         MODE_VIMI02 = lv_mode_vimi02
         MANDT = lv_mandt
         BUKRS = lv_bukrs
         SWENR = lv_swenr
         SMENR = lv_smenr
         SABRG = lv_sabrg
    EXCEPTIONS
        FOREIGN_LOCK = 1
        SYSTEM_FAILURE = 2
. " ENQUEUE_EFVIME




ABAP code using 7.40 inline data declarations to call FM ENQUEUE_EFVIME

The below ABAP code uses the newer in-line data declarations. This allows you to see the coding differences/benefits of the later inline syntax. Please note some of the newer syntax below, such as the @DATA is not available until 4.70 EHP 8.

DATA(ld_mode_vimi01) = 'E'.
 
 
"SELECT single DGAB FROM VIMI08 INTO @DATA(ld_dgab).
 
"SELECT single SRAART FROM VIOB10 INTO @DATA(ld_sraart).
 
"SELECT single SMERKMA FROM VIMI02 INTO @DATA(ld_smerkma).
 
DATA(ld_x_bukrs) = ' '.
 
DATA(ld_x_swenr) = ' '.
 
DATA(ld_x_smenr) = ' '.
 
DATA(ld_x_sabrg) = ' '.
 
DATA(ld_x_dgab) = ' '.
 
DATA(ld_x_sraart) = ' '.
 
DATA(ld_x_smerkma) = ' '.
 
DATA(ld_mode_vimi08) = 'E'.
 
 
DATA(ld__scope) = '2'.
 
DATA(ld__wait) = ' '.
 
DATA(ld__collect) = ' '.
 
DATA(ld_mode_viob10) = 'E'.
 
DATA(ld_mode_vimi02) = 'E'.
 
"SELECT single MANDT FROM VIMI01 INTO @DATA(ld_mandt).
DATA(ld_mandt) = SY-MANDT.
 
"SELECT single BUKRS FROM VIMI01 INTO @DATA(ld_bukrs).
 
"SELECT single SWENR FROM VIMI01 INTO @DATA(ld_swenr).
 
"SELECT single SMENR FROM VIMI01 INTO @DATA(ld_smenr).
 
"SELECT single SABRG FROM VIMI08 INTO @DATA(ld_sabrg).
 


Search for further information about these or an SAP related objects



Comments on this SAP object

What made you want to lookup this SAP object? Please tell us what you were looking for and anything you would like to be included on this page!