ABAP 보고서 프로그래밍에 관한 모든 것

SAP-ABAP는 보고서 프로그램과 대화 상자 프로그램이라는 두 가지 유형의 프로그램을 지원합니다. 보고서 프로그램은 많은 양의 데이터를 표시해야 할 때 사용됩니다.

신고 프로그램의 목적/사용

  • 여러 테이블의 데이터를 표시하기 전에 선택하고 처리해야 할 때 사용됩니다.
  • 보고서에 특별한 형식이 필요할 때 사용됩니다.
  • 보고서를 SAP에서 Excel 시트로 다운로드하여 배포해야 할 때 사용됩니다.
  • 보고서를 작성해야 할 때 사용됩니다. mail특정 사람에게 에드를 보냈습니다.

신고 프로그램 관련 중요 참고 사항

  • 보고서 프로그램은 항상 실행 가능한 프로그램입니다. 프로그램 유형은 항상 1입니다.
  • 모든 보고서 프로그램은 판매 및 유통, FI – CO 등과 같은 특정 애플리케이션 유형에 해당합니다. 교차 애플리케이션(예: '*' 유형)일 수도 있습니다.
  • 보고서 프로그래밍은 이벤트 기반 프로그래밍입니다.
  • 보고 프로그램의 첫 번째 줄은 항상 Report입니다. .
  • 목록 제목이나 프로그램 이름을 표시하지 않으려면 추가 표준 페이지 제목 없음 사용.
  • 특정 보고서의 줄 크기는 추가 기능을 사용하여 설정할 수 있습니다. 라인 크기 .
  • 특정 페이지의 줄 수는 추가 기능을 사용하여 설정할 수 있습니다. 라인 수 n(n1). N은 페이지의 줄 수이고 N1은 페이지 바닥글에 예약된 줄 수입니다.
  • 정보나 오류 메시지를 표시하려면 다음 추가 기능을 사용하여 프로그램에 메시지 클래스를 추가합니다. 메시지 ID . 메시지 클래스는 SE91에서 유지됩니다.

따라서 이상적인 보고 프로그램은 다음과 같이 시작해야 합니다.

Report <report name> no standard page heading

line-size <size>

line-count <n(n1)>

message-id <message class>.

선택 화면

“선택 화면”은 프로그램이 실행되어야 할 입력값을 지정하는 화면입니다.

선택 화면은 일반적으로 다음에서 생성됩니다.

  1. 파라미터
  2. 선택 옵션

통사론

Selection-screen begin of screen <screen #>
selection-screen begin of block <#>  with frame title <text>
.........
.........
selection-screen end of block <#>
selection-screen end of screen <screen #>

파라미터

매개변수는 동적 선택을 수행하는 데 도움이 됩니다. 프로그램 실행의 한 주기 동안 하나의 값만 수용할 수 있습니다.

통사론

매개변수를 데이터 유형으로 정의

Parameters p_id(30) type c.

테이블 필드와 같은 매개변수 정의

Parameter p_id like <table name>-<field name>.

매개변수는 검사될 수 있습니다boxes와 라디오버튼도 마찬가지입니다.

Parameters p_id as checkbox.Parameters p_id1 radiobutton group <group name>.
Parameters p_id2  radiobutton group <group name>.

매개변수는 목록일 수 있습니다.box.

Parameter p_id like <table name>-<field name> as listbox

옵션 선택

Select-Option은 프로그램에 값 범위 또는 값 세트를 입력하는 데 사용됩니다.

통사론

select-options s_vbeln for vbak-vbeln.

선택 화면

변수처럼 선택 옵션을 정의할 수도 있습니다.

select-options s_vbeln for vbak-vbeln no intervals no-extension

ABAP 보고서 프로그램의 이벤트

ABAP 보고서 프로그램은 이벤트 중심 프로그램. 보고서 프로그램의 다양한 이벤트는 다음과 같습니다.

프로그램 로드

  • 유형 1, M, F 또는 S의 프로그램을 로드한 후 내부 세션에서 관련 이벤트를 트리거합니다.
  • 또한 각 프로그램 및 내부 세션에 대해 관련 처리 블록을 한 번만 실행합니다.
  • 처리 블록 LOAD-OF-PROGRAM은 대략적으로 동일한 기능을 갖습니다. ABAP 프로그램 ABAP 객체의 클래스에 대한 생성자로서 유형 1, M, F 또는 S

초기화.

  • 이 이벤트는 선택 화면이 표시되기 전에 실행됩니다.
  • 모든 값을 초기화합니다.
  • 선택 화면에서 기본값으로 설정된 값 외에 다른 값을 할당할 수 있습니다.
  • 런타임에 일부 값으로 선택 화면을 채울 수 있습니다.

선택 화면에서.

  • 선택 화면이 처리되면( PAI 끝) 이벤트가 처리됩니다.
  • 입력된 값의 유효성 검사 및 확인이 여기에서 발생합니다.

선택 시작.

  • 여기서 프로그램은 테이블에서 값을 선택하기 시작합니다.

선택 끝.

  • 모든 데이터가 선택된 후 이 이벤트는 데이터를 화면에 씁니다.

인터랙티브 이벤트

  • 대화형 보고에 사용됩니다. 기본 목록에서 세부 목록을 생성하는데 사용됩니다.

보고서 형식 지정

ABAP을 사용하면 사용자가 원하는 대로 보고서 형식을 지정할 수 있습니다. 예를 들어, "대체 라인"은 다른 색상으로 표시되어야 하고 "합계" 라인은 노란색으로 표시되어야 합니다.

통사론

Format Color n

Format Color n Intensified On

n 다양한 숫자에 해당할 수 있음

형식과 함께 다른 추가 사항도 있습니다.

FORMAT COLOR OFF INTENSIFIED OFF INVERSE OFF HOTSPOT OFF INPUT OFF

대화형 보고서 프로그래밍

  • 대화형 프로그래밍을 사용하면 사용자는 데이터 검색 및 데이터 표시를 적극적으로 제어할 수 있습니다.
  • 매우 기본적인 목록에서 자세한 목록을 만드는 데 사용됩니다.
  • 자세한 데이터는 보조 목록에 기록됩니다.
  • 보조 목록은 첫 번째 화면에 완전히 오버레이되거나 새 화면에 표시될 수 있습니다.
  • 보조 목록은 그 자체로 대화형일 수 있습니다.
  • 첫 번째 목록은 트랜잭션을 호출할 수도 있습니다.
  • 대화형 프로그래밍과 관련된 다양한 이벤트가 있습니다.

대화형 프로그래밍에 사용되는 일부 명령

핫스팟

보고서에 표시된 데이터 위로 마우스를 끌면 커서가 검지 손가락을 뻗은 손 모양으로 변경됩니다. FORMAT 문을 사용하여 핫스팟을 얻을 수 있습니다.

Syntax:      Format Hotspot On (Off).

숨는 장소

이 명령은 자세한 목록을 얻기 위해 추가 처리를 수행할 필드 이름을 저장하는 데 도움이 됩니다. 이는 필드에 대한 WRITE 문 바로 뒤에 작성됩니다. 행을 선택하면 나중에 사용할 수 있도록 값이 변수에 자동으로 채워집니다.

Syntax:     Hide <field-name>.

논리적 데이터베이스

  • "선택" 쿼리를 사용하는 대신 논리 데이터베이스를 사용하여 프로그램에 대한 데이터를 검색할 수 있습니다.
  • 논리적 데이터베이스는 트랜잭션에 의해 생성됩니다. SE36
  • 논리적 데이터베이스의 이름은 최대 20자까지 가능합니다. 네임스페이스 접두사로 시작할 수 있습니다.
  • 데이터는 다른 프로그램에 의해 선택되며 GET을 사용하여 데이터에 액세스할 수 있습니다. 작업 영역에 데이터를 배치하는 명령 .

일반 Select 쿼리에 비해 논리 데이터베이스의 장점

  1. 입력이 정확하고 완전하며 타당한지 확인하기 위한 검사 조건을 제공합니다.
  2. 데이터베이스 액세스에 대한 중앙 인증 확인이 포함되어 있습니다.
  3. 성능 향상 등의 개선 사항은 논리적 데이터베이스를 사용하는 모든 보고서에 즉시 적용됩니다.

참고: com으로 인해plex관련된 문제로 인해 대부분의 경우 논리적 데이터베이스가 사용되지 않습니다.