ABAP 하위 화면 튜토리얼: 하위 화면 호출 SAP

이 튜토리얼을 읽기 전에 대화 프로그램이 무엇인지 확인하세요.

서브스크린 호출

  • 하위 화면은 다른("메인") 화면의 영역에 표시되는 독립적인 화면입니다.
  • 하위 화면을 사용하면 런타임 시 한 화면을 다른 화면에 삽입할 수 있습니다. 메인 화면에 여러 개의 하위 화면을 포함할 수 있습니다.
  • 하위 화면이라는 용어는 포함된 화면과 이를 배치하는 기본 화면의 영역 모두에 적용됩니다. 이 튜토리얼은 하위 화면 영역에 관한 것입니다. SE51 트랜잭션을 통해 생성된 실제 화면을 화면 속성에 정의하면 보조 화면이라고 합니다.
  • 하위 화면을 사용하면 포함된 화면의 흐름 논리가 기본 화면의 흐름 논리에도 포함됩니다. 따라서 화면에서 하위 화면을 사용하는 것은 ABAP 프로그램.

하위 화면을 사용하려면 간단한 세 단계를 따라야 합니다.

  1. 화면의 하위 화면 영역 정의
  2. 적합한 하위 화면 화면 정의
  3. 보조 화면 영역에 보조 화면 화면을 포함합니다.

또한, 서브화면과 메인화면의 프레임을 조정해야 합니다. 필드 이름 필드에 이름을 지정해야 합니다.

또한 하위 화면 내의 필드를 조정하여 기본 화면에 표시되도록 해야 합니다. 보조 화면이 메인 화면의 사용 가능한 영역보다 크게 정의된 경우 사용 가능한 영역에 맞는 보조 화면의 일부만 표시됩니다. 면적은 항상 화면의 왼쪽 상단부터 측정됩니다. 따라서 하위 화면 영역을 정의하고 하위 화면을 생성할 때에는 충분한 주의가 필요합니다.

예를 들어 여기서는 기본 화면에 두 개의 하위 화면 영역을 정의하고 해당 영역에 두 개의 서로 다른 하위 화면을 연결했습니다. 메인화면이 호출될 때마다 메인화면의 PBO가 호출됩니다. 그러나 표시되기 전에는 메인 화면의 하위 화면 영역과 연결된 각 화면의 PBO도 호출됩니다.

하위 화면 호출 SAP

기본 화면의 흐름 논리에 CALL SUBSCREEN 문을 사용하여 하위 화면 화면을 포함할 수 있습니다.

메인 화면의 하위 화면 영역에 하위 화면 화면을 포함하고 해당 PBO 흐름 논리를 호출하려면 메인 화면의 PBO 이벤트에서 다음 명령문을 사용합니다.

PROCESS BEFORE OUTPUT.

CALL SUBSCREEN <area> INCLUDING [<prog>] <dynp>.

이 명령문은 보조 화면 화면에 번호를 지정합니다. 라는 하위 화면 영역으로 . 보조 화면 화면이 정의된 프로그램을 지정할 수도 있습니다(선택 사항). 프로그램을 명시적으로 지정하지 않으면 시스템은 메인 프로그램과 동일한 ABAP 프로그램에서 보조 화면을 찾습니다. 해당 보조화면 화면을 찾지 못하면 런타임 에러가 발생합니다. 서브 화면 화면의 PBO 흐름 로직도 같은 지점에 포함됩니다. 서브화면 화면이 정의되어 있는 ABAP 프로그램의 PBO 모듈을 호출할 수 있습니다. 하위 화면 PBO 끝에서 프로그램의 전역 필드는 하위 화면 화면의 동일한 이름의 화면 필드로 전달됩니다. 하위 화면 화면의 PBO 흐름 논리 자체에는 추가 하위 화면이 포함될 수 있습니다.

이름 하위 화면 영역은 반전된 쉼표 없이 직접 입력해야 합니다. 이름을 지정할 수 있습니다 그리고 리터럴이나 변수로. 변수를 사용하는 경우 ABAP 프로그램에서 동일한 이름의 변수를 선언하고 채워야 합니다. 화면 번호 4자여야 합니다. 하위 화면 화면을 영역에 할당하지 않으면 해당 영역은 비어 있습니다.

하위 화면의 PAI 흐름 논리를 호출하려면 기본 화면의 PAI 흐름 논리에서 다음 명령문을 사용합니다.

PROCESS AFTER INPUT.

CALL SUBSCREEN <area>.

이 문장에는 보조화면 영역에 포함된 보조화면 화면의 PAI 흐름 로직이 포함되어 있습니다. PBO 이벤트에서. 서브화면 화면이 정의되어 있는 ABAP 프로그램의 PAI 모듈을 호출할 수 있습니다. 데이터는 PAI 이벤트가 트리거될 때 또는 하위 화면 화면의 PAI 흐름 논리에 있는 해당 FIELD 문에서 하위 화면 화면과 ABAP 프로그램의 동일한 이름의 필드 간에 전송됩니다.

기억해야 할 점들

  • 화면 내 하위 화면 요소의 이름은 고유해야 합니다.
  • 보조화면에는 OK_CODE나 FCODE가 첨부되어서는 안됩니다. 메인화면 자체의 OK_CODE는 서브화면의 OK_CODE입니다.
  • 하위 화면에는 SET TITLEBAR, SET PF-STATUS, SET SCREEN, LEAVE SCREEN 또는 LEAVE TO SCREEN을 포함하는 대화 상자 모듈이 있을 수 없습니다. 이로 인해 런타임 오류가 발생합니다.
  • 메인 화면의 흐름 로직(PBO와 PAI 모두)에서 호출해야 합니다.
  • CALL SUBSCREEN은 CHAIN..ENDCHAIN ​​및 LOOP ENDLOOP 문에서 허용되지 않습니다.
  • AT EXIT-COMMAND 모듈을 가질 수 없습니다.
  • 사용하는 필드는 전역 필드입니다. 포함 상단에 선언해야 합니다.
  • 다른 하위 화면을 사용하는 경우 대화 프로그램 특정 코드를 추가하지 않으면 데이터 전송이 발생하지 않습니다.