ABAP 보고서 프로그래밍에 관한 모든 것
SAP-ABAP는 보고서 프로그램 및 대화 상자 프로그램의 두 가지 유형의 프로그램을 지원합니다. 보고서 프로그램은 대량의 데이터를 표시해야 할 때 사용됩니다.
신고 프로그램의 목적/사용
- 여러 테이블의 데이터를 표시하기 전에 선택하고 처리해야 할 때 사용됩니다.
- 보고서에 특별한 형식이 필요할 때 사용됩니다.
- 보고서를 다운로드해야 할 때 사용됩니다. SAP Excel 시트로 배포됩니다.
- 특정한 사람에게 보고서를 우편으로 보내야 할 때 사용합니다.
신고 프로그램 관련 중요 참고 사항
- 보고서 프로그램은 항상 실행 가능한 프로그램입니다. 프로그램 유형은 항상 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>.
선택 화면
“선택 화면”은 프로그램이 실행되어야 할 입력값을 지정하는 화면입니다.
선택 화면은 일반적으로 다음에서 생성됩니다.
- 파라미터
- 선택 옵션
통사론
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>.
매개변수는 체크박스와 라디오 버튼이 될 수 있습니다.
Parameters p_id as checkbox.Parameters p_id1 radiobutton group <group name>. Parameters p_id2 radiobutton group <group name>.
매개변수는 목록 상자가 될 수 있습니다.
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 쿼리에 비해 논리 데이터베이스의 장점
- 입력이 정확하고 완전하며 타당한지 확인하기 위한 검사 조건을 제공합니다.
- 데이터베이스 액세스에 대한 중앙 인증 확인이 포함되어 있습니다.
- 성능 향상 등의 개선 사항은 논리적 데이터베이스를 사용하는 모든 보고서에 즉시 적용됩니다.
참고: 복잡성으로 인해 대부분의 경우 논리적 데이터베이스는 사용되지 않습니다.