Dialog Step을 이해하기 위해서는 우선 SAP Application Server (AP서버)가 사용자의 SAPGUI와 어떤 식으로 정보를 주고 받는지 이해가 필요합니다.
예를 들어 기간 별 사용자 접속 현황을 보는 프로그램이 있고, 이를 실행하고 조회한다고 가정해봅시다.
① 프로그램 실행
② 프로그램 화면 출력됨
③ 조회 조건(기간) 입력
④ 조회
⑤ 조회 결과 출력
만약에 이 일련의 과정을 진행할 때 항상 SAP Application Server의 리소스를 차지하고 있다고 한다면, 엄청난 리소스 손실을 가져오겠죠? 사용자의 입력을 기다리는 동안에는 Application Server가 계속해서 기다리고 있어야 하니까요.
그래서 이를 크게 3개의 층 (3-tier)으로 나눴습니다. Presentation Layer / Application Layer / Database Layer 입니다. 이번에는 Dialog Step에 대한 명쾌한 이해를 돕기 위해 Presentation Layer와 Application Layer에 대해서만 다루도록 하겠습니다.
아래 그림을 보시죠.
Presentation Layer는 사용자와 상호작용하는 구간으로, SAP GUI에서 동작합니다.
Application Layer는 실제로 사용자의 요청이 수행되는 단계로, SAP Application Server에서 동작합니다.
다시 위에서 들었던 예로 각각의 단계가 어디에 해당하는지 볼까요?
① 프로그램 실행: Application Layer
② 프로그램 화면 출력됨: Presentation Layer
③ 조회 조건(기간) 입력: Presentation Layer
④ 조회: Application Layer
⑤ 조회 결과 출력: Presentation Layer
사용자가 SAP GUI에서 프로그램을 실행하면 Application Server에서 처리를 해준 후 SAP GUI로 프로그램 화면을 뿌려줘야 합니다.
여기까지 진행이 되면 Application Layer는 비활성화되고, Presentation Layer가 활성화됩니다.
이때부터는 Application Server는 새로운 작업이 들어오기 전까지 놀고 있습니다.
사용자는 SAP GUI를 통해 조회 조건을 입력하겠죠?
그리고 조회 버튼을 누릅니다. 이때부터는 Presentation Layer는 비활성화되고 Application Server의 리소스를 할당 받고 조회 작업을 처리합니다. Presentation Layer는 비활성화되었기 때문에 사용자의 입력을 추가로 받을 수 없습니다.
조회 작업이 끝나고 결과를 SAP GUI 화면에 전달하고 나면, Application Server의 리소스는 다시 해제 (Application Layer 비활성화)되고 Presentation Layer가 활성화됩니다.
이제 Dialog Step에 대해 정의를 내려 볼까요?
Dialog Step이란 "사용자 요청과 그 요청에 따른 새로운 화면을 띄우기까지 Application Server에 할당되는 사용자 세션"입니다.
하지만 사용자가 요청하고 요청 결과를 받기 까지 한 개의 Dialog Step만 실행되는 것은 아닙니다. 여러 개의 Dialog Step으로 나누어서 실행할 수 있습니다.
예를 들어, Dialog Step이 DB Table Update 구문이 있다고 하면 Dialog Step이 실행되는 동안에는 해당 Table에 Lock이 잡히게 됩니다. 그럼 굉장히 큰 Dialog Step을 실행하게 되면 쓸데 없이 Lock이 오랫동안 잡히게 되는 경우가 발생하겠죠? 그러면 또 리소스에 손실이 나게 되고요. 그래서 여러 Dialog Step들로 나누어서 처리하게 됩니다.
또, 사용자 프로그램만 Dialog Step을 사용하는 것은 아닙니다. 사용자의 입력이 필요하지 않은 Batch 작업 같은 Non-dialog 작업 처리에서도 사용됩니다.
따라서 Dialog Step을 다시 정의하자면,
"SAP 시스템에서 가장 작은 작업의 단위로, 요청사항 처리를 위해 Application Server에 할당되는 세션" 이라고 할 수 있겠네요.
참고자료:
https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-US/abendialog_step_glosry.htm
'SAP BC' 카테고리의 다른 글
[SAP] 신규 설치 후 Client Copy (Local Client Copy) (0) | 2020.03.13 |
---|---|
SAP S/4HANA와 Business Suite 7(ERP, CRM 등) EoS 기간 (0) | 2020.02.17 |
[SAP] STMS Import Queue가 계속해서 비어있을 경우 해결 방법 (0) | 2020.02.03 |
[SAP] Data file must still be transferred 없이 TMS 사용하기 (trans 디렉터리 변경) (0) | 2020.02.03 |
SAP CTS, TMS 개념 및 설정 방법 (4) | 2020.01.31 |