대화 프로그래밍 튜토리얼: 모듈 풀 SAP ABAP

SAP-ABAP는 Report 프로그램과 Dialog 프로그램의 두 가지 프로그램을 지원합니다.

ABAP 프로그램이 사용자 입력을 요구하는 경우 대화 상자 프로그래밍이 사용됩니다.

이 자습서에서는 다음을 배웁니다.

사용자 대화 상자는 사용자와 프로그램 간의 모든 형태의 상호 작용이며 다음 중 하나일 수 있습니다.

  • 데이터 입력
  • 메뉴 항목 선택
  • 버튼 클릭
  • 항목을 클릭하거나 두 번 클릭합니다.

대화 상자 프로그램은 화면 사이를 앞뒤로 탐색해야 할 때도 사용됩니다.

대화 상자 프로그램은 'M' – 모듈 풀 유형으로 생성됩니다. 독립적으로 실행될 수 없으며, 초기 화면을 지정한 하나 이상의 거래 코드에 첨부되어야 합니다.

리포트 프로그램과 다이얼로그 프로그램의 차이점

리포트 프로그램과 다이얼로그 프로그램의 차이점

보고 프로그램:

보고서는 일반적으로 데이터베이스 테이블의 데이터를 변경하지 않고 읽고 분석하는 프로그램입니다. 데이터베이스.

대화 프로그램:

대화 상자 프로그램을 사용하면 시스템과 대화식으로 작업하고 데이터베이스 테이블의 내용을 변경할 수 있습니다. 각 대화 상자 프로그램에는 시스템에서 차례로 처리되는 특정 화면 순서가 있습니다.

대화 프로그래밍의 샘플 트랜잭션 처리

샘플 거래 처리

대화 프로그램의 구성요소

같지 않은 신고 일반적으로 대화형 프로그램 개발은 다른 객체와 독립적으로 실행될 수 있는 하나의 자율 프로그램을 만드는 것을 수반하는 반면, 대화형 프로그램 개발은 어느 것도 자체적으로 실행될 수 없는 여러 객체를 개발하는 것을 수반합니다. 대신 모든 객체는 계층적으로 메인 프로그램에 연결되고 Dialog Main Program에서 지시하는 순서대로 실행됩니다..

대화 프로그램의 구성 요소는 다음과 같습니다.

거래 코드

  • 거래 코드는 화면 순서를 시작합니다.
  • ABAP Workbench의 Repository Browser에서 또는 Transaction SE93을 사용하여 트랜잭션 코드를 생성합니다.
  • ABAP 프로그램과 초기화면에는 트랜잭션 코드가 연결되어 있습니다.
  • CALL SCREEN 문을 사용하여 ABAP 프로그램에서 화면 시퀀스를 시작할 수 있습니다.

스크린

  • 각 대화상자는 SAP 시스템은 하나 이상의 화면으로 제어됩니다.
  • Screen을 사용하여 화면을 만듭니다. Painter 트랜잭션 SE51을 통해 ABAP Workbench에서
  • 각 화면은 다음에 속합니다. ABAP 프로그램.
  • 이러한 화면은 "화면 마스크" 또는 "레이아웃"과 그 흐름 논리로 구성됩니다. 화면에는 입력/출력 필드와 체크박스 및 라디오 버튼과 같은 다른 그래픽 요소의 위치를 ​​결정하는 레이아웃이 있습니다. 흐름 논리는 화면 내의 논리적 처리를 결정합니다.

GUI 상태

  • 각 화면에는 프로그램의 독립적인 구성 요소인 GUI 상태가 있습니다.
  • 이는 사용자가 응용 프로그램에서 기능을 선택할 수 있는 메뉴 표시줄, 표준 도구 모음, 응용 프로그램 도구 모음을 제어합니다.
  • 메뉴를 사용하여 ABAP Workbench에서 생성합니다. Painter.

ABAP 프로그램

  • R/3 시스템의 각 화면과 GUI 상태는 하나의 ABAP 프로그램에 속합니다.
  • ABAP 프로그램에는 화면 흐름 로직에 의해 호출되고 GUI 상태에서 사용자 입력을 처리하는 대화 상자 모듈이 포함되어 있습니다.
  • 화면을 사용하는 ABAP 프로그램은 대화 프로그램이라고도 합니다.
  • 모듈 풀(M 프로그램 유형) 호출되는 첫 번째 처리 블록은 항상 대화 모듈입니다. 그러나 실행 프로그램이나 기능 모듈과 같은 다른 ABAP 프로그램의 화면을 사용할 수도 있습니다. 그러면 첫 번째 처리 블록이 다르게 호출됩니다. 예를 들어 런타임 환경이나 프로시저 호출을 통해 가능합니다. 그런 다음 CALL SCREEN 문을 사용하여 화면 시퀀스가 ​​시작됩니다.

화면 흐름 논리

화면 흐름 논리는 기본적으로 4가지 구성요소로 나뉩니다.

  • 출력 전 처리(PBO) 이벤트 : 화면이 표시되기 전에 처리되는 이벤트
  • 입력 후 처리(PAI) 이벤트: 화면에서 사용자 동작 후에 처리됩니다.
  • 도움요청 처리(): F1을 눌렀을 때 처리됩니다.
  • 값 요청 처리(POV): F4를 누르면 처리됩니다.

딘프로

  • Flow 로직과 함께 화면을 Dynpro라고 합니다(화면 흐름 로직이 프로그램 흐름에 영향을 주기 때문에 "동적 프로그램").
  • 각 dynpro는 대화 프로그램의 정확히 한 단계를 제어합니다.
  • 프로그램에 속한 화면은 다음과 같습니다. 번호가 매겨진. 화면 흐름 순서는 선형 또는 순환일 수 있습니다. 스크린 체인 내에서 다른 스크린 체인을 호출하고 이를 처리한 후 원래 체인으로 돌아갈 수도 있습니다. ABAP 프로그램의 대화 모듈 내에서 정적으로 정의된 다음 화면을 재정의할 수도 있습니다.

ABAP 모듈 풀

  • PBO 또는 PAI 이벤트에서 Dynpro는 ABAP 대화 프로그램을 호출합니다. 이러한 프로그램의 모음을 ABAP 모듈 풀이라고 합니다.
  • 예를 들어 PAI 이벤트에서 호출되는 모듈은 사용자 입력을 확인하고 업데이트 작업과 같은 적절한 대화 단계를 트리거하는 데 사용됩니다.
  • 모든 dynpro는 내부에서 호출됩니다. 트랜잭션은 공통 모듈 풀을 참조합니다.

대화 프로그램의 구조

대화 프로그램의 구조

대화 프로그램의 프로세스 흐름

대화 프로그램의 프로세스 흐름