실무에 적용된 소스이며, 재밌는 예제인것같습니다.
( 자재 실사처리시 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.
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
107 | 색상 정리 파일. [15] | 공백 | 2012.03.08 | 7973 |
106 | Internal Table 알아보기 [15] | 양키 | 2010.12.20 | 8000 |
105 | 요약파일1 [7] | 밤의화신 | 2013.09.11 | 8040 |
104 | Dynamic Internal Table [5] | sapjoy | 2007.02.11 | 8092 |
103 | BAPI_PO_CHANGE [1] | 노름마치 | 2009.09.03 | 8147 |
102 | <img src=b.gif>계속 남아있는 Debugger창 없에기(New Debugger)[추천:e-abap][추천:보나][추천:버미!] [14] | 해처리 | 2011.01.07 | 8169 |
101 | Number Range Object 변경/삭제 [4] | MadMax | 2010.12.07 | 8172 |
100 | Breakpoints 알아보기 [4] | 양키 | 2010.12.14 | 8176 |
99 | 전기기간 및 회계기간 오픈(MMPV, ob52) [4] | sapjoy | 2014.02.20 | 8230 |
» | <img src=d.gif>테이블 Lock & UnLock function[추천:e-abap] [1] | 양키 | 2011.01.18 | 8269 |
97 | Area 메뉴 일괄 다운로드 하기 [5] | 고담 | 2011.06.15 | 8276 |
96 | ABAP에서 웹브라우져 호출 | 홍성현 | 2007.08.09 | 8330 |
95 | SELECTION-SCREEN [4] | sapjoy | 2007.01.23 | 8344 |
94 | ABAP 교육 [13] | 밤의화신 | 2013.09.11 | 8361 |
93 | 바피사용이유 [18] | 꿀단지 | 2011.10.11 | 8386 |
92 | SCN에서 인기있는 Tutorial강좌들 입니다. [1] | 양키 | 2013.08.12 | 8420 |
91 | SAP Factory Calendar | sapjoy | 2006.12.12 | 8493 |
90 | ABAP 교육 [13] | 밤의화신 | 2013.09.11 | 8494 |
89 | ABAP 교육 [32] | 밤의화신 | 2013.09.11 | 8496 |
88 | 시분초를 가져오는 구문 [8] | 양키 | 2011.05.26 | 8559 |
감사합니다.