1. 잠금 오브젝트 만들기
se11에서 잠금오브젝트에서 ez* 로 조회하면 기존에 만들어져있던 걸 볼 수있다.
이것을 참조해서 만들면된다.(ex. ezzpp318 , zppr307)
참조가 되었으며 새로만들 잠금오브젝트 이름을 적고 생성 버튼을 누른다.
이름은 EZ* 로 하면된다.
주요 테이블 탭에서 이름에는 잠금할 테이블을 적고 잠금모드는 배타적,누적을
선택한다.
잠금매개변수 탭에 가보면 자동으로 키값이 입력되어있을것이다.
저장하고 Active한다.
2.프로그램 수정
그런 다음 잠금 프로그램으로 이동한다.
(2-1). 테이블 잠그기
잠금할 부분에서 패턴 버튼을 눌러 함수를 찾는다.
찾을 함수 이름은 ENQUEUE_EZZPP318와 같이 "ENQUEUE_자신이 만들어준 오브젝트이름"을
입력하면된다.
그럼 자동으로 함수 코드가 등록될것이다.
여기서 자신이 필요한 값만 주석을 풀고 값을 준다.
ex)
CALL FUNCTION 'ENQUEUE_EZZPP318'
EXPORTING
MODE_ZPP202 = 'E'
MANDT = SY-MANDT
WERKS = zpp202-werks
ZLOTNO = zpp202-zlotno
* X_WERKS = ' '
* X_ZLOTNO = ' '
* _SCOPE = '2'
* _WAIT = ' '
* _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.
(2-2).풀기
잠금 풀 부분에서 패턴 버튼을 눌러 함수를 찾는다.
찾을 함수 이름은 DEQUEUE_EZZPP318와 같이 "DEQUEUE_자신이 만들어준 오브젝트이름"을
입력하면된다.
그럼 자동으로 함수 코드가 등록될것이다.
여기서 자신이 필요한 값만 주석을 풀고 값을 준다.
ex)
CALL FUNCTION 'DEQUEUE_EZZPP318'
EXPORTING
MODE_ZPP202 = 'E'
MANDT = SY-MANDT
WERKS = zpp202-werks
ZLOTNO = zpp202-zlotno
* X_WERKS = ' '
* X_ZLOTNO = ' '
* _SCOPE = '3'
* _SYNCHRON = ' '
* _COLLECT = ' '
.
(2-3).ENQUE_READ 함수를 이용하면 체크가능