SAP ABAP-기본 구문
진술
ABAP 소스 프로그램은 주석과 ABAP 문으로 구성됩니다. ABAP의 모든 문은 키워드로 시작하고 마침표로 끝납니다. ABAP는 대소 문자를 구분하지 않습니다.
프로그램에서 주석이 아닌 첫 번째 줄은 REPORT라는 단어로 시작합니다. 보고서는 항상 생성 된 실행 프로그램의 첫 번째 줄이됩니다. 명령문 뒤에는 이전에 작성된 프로그램 이름이옵니다. 그런 다음 라인은 완전 정지로 종료됩니다.
구문은-
REPORT [Program_Name].
[Statements…].
이렇게하면 명령문이 편집기에서 필요한만큼 많은 행을 차지할 수 있습니다. 예를 들어, REPORT는 다음과 같을 수 있습니다.
REPORT Z_Test123_01.
명령문은 마침표로 끝나는 명령과 변수 및 옵션으로 구성됩니다. 성명서 끝에 기간이 표시되는 한 문제가 발생하지 않습니다. 성명서가 끝나는 시점이 바로이 기간입니다.
코드를 작성해 봅시다.
REPORT 문 아래 줄에 다음 문을 입력하십시오. 'ABAP Tutorial'을 작성하십시오.
REPORT Z_Test123_01.
Write 'This is ABAP Tutorial'.
Four things to consider while writing statements −
write 문은 따옴표로 묶인 내용을 출력 창에 기록합니다.
ABAP 편집기는 작은 따옴표로 묶인 텍스트 문자열을 제외한 모든 텍스트를 대문자로 변환합니다.
일부 이전 프로그래밍 언어와 달리 ABAP는 명령문이 한 줄에서 시작하는 위치를 신경 쓰지 않습니다. 코드 블록을 표시하기 위해 들여 쓰기를 사용하여이를 활용하고 프로그램의 가독성을 향상시킬 수 있습니다.
ABAP은 문 레이아웃에 제한이 없습니다. 즉, 여러 명령문을 한 줄에 배치하거나 단일 명령문을 여러 줄에 걸쳐 확장 할 수 있습니다.
콜론 표기법
각 명령문의 시작 부분이 동일하면 연속 명령문을 함께 연결할 수 있습니다. 이것은 마침표가 일반 문을 종료하는 것처럼 개별 문을 종료하는 데 사용되는 콜론 (:) 연산자와 쉼표로 수행됩니다.
다음은 키 입력을 저장할 수있는 프로그램의 예입니다.
WRITE 'Hello'.
WRITE 'ABAP'.
WRITE 'World'.
콜론 표기법을 사용하면 다음과 같이 다시 작성할 수 있습니다.
WRITE: 'Hello',
'ABAP',
'World'.
다른 ABAP 문과 마찬가지로 레이아웃은 중요하지 않습니다. 이것은 똑같이 올바른 진술입니다-
WRITE: 'Hello', 'ABAP', 'World'.
코멘트
인라인 주석은 두 가지 방법 중 하나로 프로그램의 어느 곳에서나 선언 할 수 있습니다.
전체 줄 주석은 줄의 첫 번째 위치에 별표 (*)를 배치하여 표시됩니다.이 경우 전체 줄은 시스템에서 주석으로 간주됩니다. 주석은 한 줄 이상으로 확장 할 수 없기 때문에 마침표로 종료 할 필요가 없습니다.
* This is the comment line
부분 라인 주석은 명령문 뒤에 큰 따옴표 ( ")를 입력하여 표시됩니다. 큰 따옴표 뒤의 모든 텍스트는 시스템에서 주석으로 간주됩니다. 부분 라인 주석은 더 이상 확장되지 않을 수 있으므로 마침표로 종료 할 필요가 없습니다. 한 줄보다-
WRITE 'Hello'. "Here is the partial comment
Note − 주석 처리 된 코드는 ABAP 편집기에서 대문자로 표시되지 않습니다.
공백 억제
NO-ZERO 명령은 DATA 문 뒤에옵니다. 공백을 포함하는 숫자 필드의 모든 선행 0을 억제합니다. 출력은 일반적으로 사용자가 읽기가 더 쉽습니다.
예
REPORT Z_Test123_01.
DATA: W_NUR(10) TYPE N.
MOVE 50 TO W_NUR.
WRITE W_NUR NO-ZERO.
위의 코드는 다음 출력을 생성합니다.
50
Note − NO-ZERO 명령없이 출력 : 0000000050
빈 줄
SKIP 명령은 페이지에 빈 줄을 삽입하는 데 도움이됩니다.
예
메시지 명령은 다음과 같습니다-
WRITE 'This is the 1st line'.
SKIP.
WRITE 'This is the 2nd line'.
위의 메시지 명령은 다음과 같은 출력을 생성합니다.
This is the 1st line
This is the 2nd line
SKIP 명령을 사용하여 여러 개의 빈 줄을 삽입 할 수 있습니다.
SKIP number_of_lines.
출력은 행 수로 정의 된 여러 개의 빈 행입니다. SKIP 명령은 페이지의 원하는 행에 커서를 놓을 수도 있습니다.
SKIP TO LINE line_number.
이 명령은 커서를 페이지 위아래로 동적으로 이동하는 데 사용됩니다. 일반적으로 WRITE 문은이 명령 뒤에 원하는 행에 출력을 배치하기 위해 발생합니다.
라인 삽입
ULINE 명령은 자동으로 출력에 수평선을 삽입합니다. 선의 위치와 길이를 제어하는 것도 가능합니다. 구문은 매우 간단합니다.
ULINE.
예
메시지 명령은 다음과 같습니다-
WRITE 'This is Underlined'.
ULINE.
위의 코드는 다음 출력을 생성합니다.
This is Underlined (and a horizontal line below this).
메시지
MESSAGE 명령은 프로그램 시작 부분의 REPORT 문에 지정된 메시지 ID로 정의 된 메시지를 표시합니다. 메시지 ID는 MESSAGE 명령이 사용될 때 프로그램이 액세스 할 1,000 개의 메시지 세트를 정의하는 2 자 코드입니다.
메시지는 000에서 999까지 번호가 지정됩니다. 각 번호와 관련된 메시지 텍스트는 최대 80 자입니다. 메시지 번호가 호출되면 해당 텍스트가 표시됩니다.
다음은 메시지 명령과 함께 사용하는 문자입니다-
메시지 | 유형 | 결과 |
---|---|---|
이자형 | 오류 | 메시지가 나타나고 응용 프로그램이 현재 지점에서 중지됩니다. 프로그램이 백그라운드 모드에서 실행중인 경우 작업이 취소되고 메시지가 작업 로그에 기록됩니다. |
W | 경고 | 메시지가 나타나고 사용자는 애플리케이션을 계속하려면 Enter를 눌러야합니다. 백그라운드 모드에서는 메시지가 작업 로그에 기록됩니다. |
나는 | 정보 | 메시지 텍스트가 포함 된 팝업 창이 열리고 계속하려면 Enter 키를 눌러야합니다. 백그라운드 모드에서는 메시지가 작업 로그에 기록됩니다. |
ㅏ | 이상하다 | 이 메시지 클래스는 사용자가 현재 사용중인 트랜잭션을 취소합니다. |
에스 | 성공 | 화면 하단에 정보 메시지가 제공됩니다. 표시되는 정보는 본질적으로 긍정적이며 사용자 피드백을위한 것입니다. 메시지는 어떤 식 으로든 프로그램을 방해하지 않습니다. |
엑스 | 중단 | 이 메시지는 프로그램을 중단하고 ABAP 짧은 덤프를 생성합니다. |
오류 메시지는 일반적으로 사용자가해서는 안되는 작업을하지 못하도록하는 데 사용됩니다. 경고 메시지는 일반적으로 사용자에게 행동의 결과를 상기시키는 데 사용됩니다. 정보 메시지는 사용자에게 유용한 정보를 제공합니다.
예
ID AB 메시지에 대한 메시지를 만들 때 MESSAGE 명령-MESSAGE E011은 다음과 같은 출력을 제공합니다.
EAB011 This report does not support sub-number summarization.