메뉴 건너뛰기

SAP 한국 커뮤니티

<img src=d.gif>테이블 Lock & UnLock function[추천:e-abap]

양키 2011.01.18 10:01 조회 수 : 8268 추천:2

실무에 적용된 소스이며, 재밌는 예제인것같습니다. 
( 자재 실사처리시 MARD테이블 Lock처리해서 이중실사처리하지 못하도록 할경우 사용)


 


===================================================================


MARD 테이블 Lock


===================================================================


 

FUNCTION ENQUEUE_EZ_MARD.

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


DATA: BEGIN OF %a_MARD,
*       테이블 MARD 에 대한 잠금인수
            MANDT TYPE MARD-MANDT,
            MATNR TYPE MARD-MATNR,
            WERKS TYPE MARD-WERKS,
            LGORT TYPE MARD-LGORT,
      END OF %a_MARD.
* 잠금인수 초기화:
CALL 'C_ENQ_WILDCARD' ID 'HEX0' FIELD %a_MARD.


* 잠금필드에 잠금매개변수 지정:

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

IF NOT MATNR IS INITIAL OR
   NOT x_MATNR IS INITIAL.
   MOVE MATNR TO:
        %a_MARD-MATNR.
ENDIF.

IF NOT WERKS IS INITIAL OR
   NOT x_WERKS IS INITIAL.
   MOVE WERKS TO:
        %a_MARD-WERKS.
ENDIF.

IF NOT LGORT IS INITIAL OR
   NOT x_LGORT IS INITIAL.
   MOVE LGORT TO:
        %a_MARD-LGORT.
ENDIF.


* 잠금테이블채우기:
__seqta_tab-gname = 'MARD'.
__seqta_tab-gmode = MODE_MARD.
__seqta_tab-garg = %a_MARD.
APPEND __seqta_tab.


* 잠금 지정:
PERFORM send_enqueue(saplsena)
        TABLES __seqta_tab
        USING '1' __scope __wait ' ' 'EZ_MARD' _collect.

ENDFUNCTION.


===================================================================


MARD 테이블 UnLock


===================================================================


 

FUNCTION DEQUEUE_EZ_MARD.

DATA: __seqta_tab TYPE SEQTA OCCURS 01 WITH HEADER LINE,
      __scope TYPE DDENQSCOPE,
      __synchron TYPE DDENQSYNC.
__synchron = _synchron.
__scope = _scope.


DATA: BEGIN OF %a_MARD,
*       테이블 MARD 에 대한 잠금인수
            MANDT TYPE MARD-MANDT,
            MATNR TYPE MARD-MATNR,
            WERKS TYPE MARD-WERKS,
            LGORT TYPE MARD-LGORT,
      END OF %a_MARD.
* 잠금인수 초기화:
CALL 'C_ENQ_WILDCARD' ID 'HEX0' FIELD %a_MARD.


* 잠금필드에 잠금매개변수 지정:
IF NOT MANDT IS INITIAL.
   MOVE MANDT TO:
        %a_MARD-MANDT.
ENDIF.

IF NOT MATNR IS INITIAL OR
   NOT x_MATNR IS INITIAL.
   MOVE MATNR TO:
        %a_MARD-MATNR.
ENDIF.

IF NOT WERKS IS INITIAL OR
   NOT x_WERKS IS INITIAL.
   MOVE WERKS TO:
        %a_MARD-WERKS.
ENDIF.

IF NOT LGORT IS INITIAL OR
   NOT x_LGORT IS INITIAL.
   MOVE LGORT TO:
        %a_MARD-LGORT.
ENDIF.


* 잠금테이블채우기:
__seqta_tab-gname = 'MARD'.
__seqta_tab-gmode = MODE_MARD.
__seqta_tab-garg = %a_MARD.
APPEND __seqta_tab.


* 잠금 지정:
PERFORM send_enqueue(saplsena)
        TABLES __seqta_tab
        USING '2' __scope ' ' __synchron 'EZ_MARD' _collect.

ENDFUNCTION.


번호 제목 글쓴이 날짜 조회 수
367 표준편차구하는 로직 윤사모 2011.03.23 9369
366 BAPI자료입니다. [14] file neopaper 2011.03.23 10287
365 IE 9.0 설치 시 se80 다운되는 문제 해결 [5] Jey 2011.03.16 6996
364 <img src=d.gif>Source Activation 시 [READ_REPORT_LINE_TOO_LONG] dump 발생하면?[추천:e-abap] [5] JYG 2011.02.11 9416
363 [For Power User] Dynamic Transient Program [3] file 양키 2011.01.21 6016
362 <img src=d.gif>[For Power User] Dynamic Creation of Data Objects[추천:e-abap] [3] 양키 2011.01.20 5005
361 [For Power User]Dynamic Casting Symbol Variable [3] 양키 2011.01.19 5755
» <img src=d.gif>테이블 Lock & UnLock function[추천:e-abap] [1] 양키 2011.01.18 8268
359 <img src=b.gif>계속 남아있는 Debugger창 없에기(New Debugger)[추천:e-abap][추천:보나][추천:버미!] [14] 해처리 2011.01.07 8164
358 SAP GUI WINDOW TITLE BAR 정보 표시 설정 방법 / 색상 설정 [15] file 미소 2010.12.26 13448
357 Internal Table 알아보기 [15] file 양키 2010.12.20 8000
356 ASP.NET과 wsdl로 연동시 광돈 2010.12.17 7339
355 풍선도움말 Quickinfo [16] file 양키 2010.12.17 7210
354 Breakpoints 알아보기 [4] 양키 2010.12.14 8169
353 Number Range Object 변경/삭제 [4] file MadMax 2010.12.07 8152
352 새 창에서 트랜잭션 실행하기... 'Navigation_execute_object' 입니다.. [8] 밥~~ 2010.12.02 6130
351 <img src=c.gif>Regular Expression Processing in ABAP[추천:e-abap][추천:유리선율] [5] file magicsy69 2010.11.24 5539
350 AT SELECTION-SCREEN ON BLOCK b01. 육억 2010.11.17 6067
349 윈도우7에서 sapgui가 꺼지는 현상에 관한 팁 [14] 고양이야옹 2010.10.21 9559
348 [Function]달력 팝업창을 뛰워보자 [14] file 양키 2010.10.07 7819