Backjob 으로 잡혀 있고 BDC 설정이 되어 있는 Report 프로그램이 있습니다.
이 프로그램이 Backjob 으로도 돌지만
T-code 가 따로 잡혀 있어서 수동으로도 실행 가능합니다.
제가 의도하는 부분은 프로그램이 중복 실행되는 걸 방지하려고 하는데요.
TEST 라는 프로그램이 Backjob 으로 돌고 있을 때
누군가 수동으로 다시 프로그램을 실행 시키려고 하면
TEST 가 실행되고 있는지 확인해서 프로그램이 실행중이면
경고 메시지를 띄워 다른이가 수행중임을(혹은 Backjob 처리중) 임을
알리고 수동으로는 프로그램을 돌지 못하게 막고 싶습니다.
특정 프로그램이 현재 실행 중인지 아닌지 확인 할 수 있는 방법이
없겠는지요?
댓글 3
-
버미!
2010.10.23 00:47
-
미소
2010.10.23 01:13
저도 조만간 . 비슷한 기능을 구현하는 프로그램을 만들어야 해서 찾고 있었는데...
'BP_FIND_JOBS_WITH_PROGRAM' 펑션을 call할 때. PROGRAM parameter 부분에 BACKGROUND로 실행할 프로그램 이름을
넣고.. 실행을 하면.. 해당 프로그램으로 BACKGROUND 실행 내역이 나옵니다.
그중에 종료 시간이 없는 녀석이 있으면.. 그 녀석이.. 현재 해당 프로그램이 실행되고 있는 상태입니다.
~~ 깔끔한 방법은 아닌데.. 저런 정보 조금 사용해서.. 원하는 기능을 어느 정도 구현 가능할 것 같습니다.
-
아바뻐
2010.10.26 19:30
고수님들 답변 감사합니다.
문의 내용으로 본다면 같은 프로그램이 동시(BDC, Custom)에 실행되는 것을 막고자 하는 거 같은데요..
제가 구현을 한다면...
1. Memory를 이용하는 방법(비 추천)
-. 프로그램이 실행될때 Memory 변수에 값을 주고, 프로그램이 종료되기 직전 Memory 변수의 값을 삭제
그 후 프로그램이 실행되면 Memory 변수의 값을 체크하여 값이 있으면 프로그램이 실행 상태 이므로 메시지 표시
2. Registry 이용하는 방법
-. 프로그램이 실행될때 Reg.에 값을 기록하고, 종료되기 직전에 값을 삭제
그 후 프로그램이 실행되면 Reg. 값을 체크하여 값이 있으면 프로그램 실행 상태 이므로 메시지 표시
여러가지 방법이 있을테니..선택은 님의 몫..