SAP ABAP 請求鎖住物件

FUNCTION ENQUEUE_EZSDS0001.
*"--------------------------------------------------------------------
*"*"區域介面:
*"  IMPORTING
*"     VALUE(MODE_ZSDS0001) TYPE  ENQMODE DEFAULT 'E'
*"     VALUE(MANDT) TYPE  ZSDS0001-MANDT DEFAULT SY-MANDT
*"     VALUE(VTWEG) TYPE  ZSDS0001-VTWEG OPTIONAL
*"     VALUE(KUNNR) TYPE  ZSDS0001-KUNNR OPTIONAL
*"     VALUE(X_VTWEG) DEFAULT SPACE
*"     VALUE(X_KUNNR) DEFAULT SPACE
*"     VALUE(_SCOPE) DEFAULT '2'
*"     VALUE(_WAIT) DEFAULT SPACE
*"     VALUE(_COLLECT) TYPE  DDENQCOLL DEFAULT ' '
*"  EXCEPTIONS
*"      FOREIGN_LOCK
*"      SYSTEM_FAILURE
*"--------------------------------------------------------------------
* 加鎖物件 EZSDS0001 所產生的功能模組:
* 請勿修改或複製此功能模組
* 請參閱對 SAP 加鎖概念資訊的 ABAP 輔助說明
* 針對關鍵字 'ENQUEUE'


DATA: __seqta_tab TYPE SEQTA OCCURS 01 WITH HEADER LINE,
      __scope TYPE DDENQSCOPE,
      __wait TYPE DDENQWAIT.
__wait = _wait.
__scope = _scope.


DATA: BEGIN OF %a_ZSDS0001,
*       表格 ZSDS0001 的加鎖參數
            MANDT TYPE ZSDS0001-MANDT,
            VTWEG TYPE ZSDS0001-VTWEG,
            KUNNR TYPE ZSDS0001-KUNNR,
      END OF %a_ZSDS0001.
* 加鎖引數初始設定:
CALL 'C_ENQ_WILDCARD' ID 'HEX0' FIELD %a_ZSDS0001.


* 指派加鎖參數至加鎖欄位:

IF NOT MANDT IS INITIAL.
   MOVE MANDT TO:
        %a_ZSDS0001-MANDT.
ENDIF.

IF NOT VTWEG IS INITIAL OR
   NOT x_VTWEG IS INITIAL.
   MOVE VTWEG TO:
        %a_ZSDS0001-VTWEG.
ENDIF.

IF NOT KUNNR IS INITIAL OR
   NOT x_KUNNR IS INITIAL.
   MOVE KUNNR TO:
        %a_ZSDS0001-KUNNR.
ENDIF.


* 填寫加鎖表格:

__seqta_tab-gname = 'ZSDS0001'.
__seqta_tab-gmode = MODE_ZSDS0001.
__seqta_tab-garg = %a_ZSDS0001.
APPEND __seqta_tab.


* 已指派加鎖:
PERFORM send_enqueue(saplsena)
        TABLES __seqta_tab
        USING '1' __scope __wait ' ' 'EZSDS0001' _collect.

ENDFUNCTION.

FORM lock_data .

  CALL FUNCTION 'ENQUEUE_EZSDS0001'
    EXPORTING
*     MODE_ZSDS0001  = 'E'
*     MANDT          = SY-MANDT
      vtweg          = zsdt0001-vtweg
      kunnr          = zsdt0001-kunnr
*     X_VKORG        = ' '
*     X_VTWEG        = ' '
*     X_KUNNR        = ' '
*     _SCOPE         = '2'
*     _WAIT          = ' '
*     _COLLECT       = ' '
    EXCEPTIONS
      foreign_lock   = 1
      system_failure = 2
      OTHERS         = 3.
  IF sy-subrc <> 0.
    MESSAGE 'Lock資料錯誤' TYPE 'E'.
  ENDIF.

ENDFORM.

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值