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

https://help.sap.com/viewer/10a002cd6c531014b5e1cb16d2455072/7.0.37/en-US/fceb2d40358411d1829f0000e829fbfe.html

https://answers.sap.com/questions/3969906/dialog-step.html

+ Recent posts