ABAP 소개: 데이터 유형, Opera토르 및 편집자 – 튜토리얼

⚡ 스마트 요약

ABAP 소개에서는 ABAP 언어에 대해 다룹니다. SAP R/3 시스템에서 애플리케이션을 구축하기 위해 만들어진 자료입니다. 이 자료에서는 데이터 유형, 연산자, 제어문, 내부 테이블, 그리고 모든 ABAP 프로그램이 시작되는 SE38 편집기에 대해 설명합니다.

  • 🔤 선언 구문: DATA variable_name TYPE variable_type는 ABAP에서 모든 변수를 선언하는 구문입니다.
  • 🔢 데이터 유형: I, F, P는 숫자를 저장하고, C, D, N, T는 문자를 저장하며, X는 16진수 데이터를 저장합니다.
  • Opera토르: 산술 연산자는 값을 변경하는 반면, EQ, NE, GT, LT와 같은 논리 연산자는 결정을 내립니다.
  • 🔁 제어문: IF, CASE, WHILE 및 DO 문은 프로그램의 어떤 줄이 실제로 실행되는지를 결정합니다.
  • 📋 내부 테이블: 내부 테이블은 메모리에 여러 행을 저장하며 모든 ABAP 보고서의 핵심 역할을 합니다.
  • 🖥️ 에디터 : 트랜잭션 SE38은 ABAP 편집기로, 프로그램을 작성, 검토 및 실행하는 데 사용됩니다.

장점 소개 SAP ABAP

ABAP이란 무엇입니까?

ABAP는 Advanced Business Application Programming의 약자입니다. 이는 소프트웨어 개발을 위한 프로그래밍 언어입니다.ping 에 대한 응용 프로그램 SAP R/3 시스템.

ABAP의 최신 버전은 ABAP Objects라고 하며 객체 지향 프로그래밍을 지원합니다. SAP ABAP 개체를 사용하는 응용 프로그램뿐만 아니라 이전 ABAP 버전인 ABAP/4를 사용하여 작성된 응용 프로그램도 실행합니다.

이 서론은 모든 것을 자세히 설명하려는 것은 아닙니다. ABAP 언어 구성(Construct)이라는 책은 핵심 개념을 빠르게 소개하여, 바로 작동하는 프로그램을 작성하고 더 고급 주제로 넘어갈 수 있도록 도와줍니다.

데이터 타입

모든 ABAP 프로그램은 처리할 데이터를 선언하는 것으로 시작합니다.

ABAP에서 변수를 선언하는 구문 –

DATA Variable_Name TYPE Variable_Type.

예:

DATA employee_number TYPE I.

다음은 ABAP에서 지원하는 데이터 유형 목록입니다.

데이터 형식 초기 필드 길이 유효한 필드 길이 초기 값 의미
숫자 유형
I 4 4 0 정수(정수)
F 8 8 0 부동 소수점 숫자
P 8 1 – 16 0 포장된 수
문자 유형
C 1 1 – 65535 '…' 텍스트 필드(영숫자)
D 8 8 '00000000' 날짜 필드(형식: YYYYMMDD)
N 1 1 – 65535 '0 … 0' 숫자 텍스트 필드(숫자 문자)
T 6 6 '000000' 시간 필드(형식: HHMMSS)
XNUMX진수 유형
X 1 1 – 65535 X'0 … 0′ XNUMX진수 필드

위의 8가지 유형은 고전적인 고정 길이 유형입니다. ABAP는 초보자가 거의 즉시 접하게 되는 두 가지 가변 길이 유형도 제공합니다. STRING 텍스트 길이에 관계없이, XSTRING 길이에 관계없이 이진 데이터에 대해.

ABAP Opera토르

데이터가 선언되면 연산자가 데이터를 변경하고 비교합니다.

값 할당

a = 16.
MOVE 16 TO a.
WRITE a TO b.

세 가지 명령 모두 값을 이동합니다. 등호(=)는 최신 형식이고, MOVE와 WRITE TO는 레거시 프로그램에서 여전히 볼 수 있는 이전 형식의 명령입니다.

산술 연산

COMPUTE a = a * 100.

ABAP은 ADD와 SUB도 지원합니다.TRACT, MULTIPLY, DIVIDE는 독립적인 키워드로 사용할 수 있지만, 위에 표시된 COMPUTE 형식이 가장 자주 사용됩니다.

논리 연산자

논리 연산자는 참 또는 거짓을 반환하며, 다음 섹션의 모든 제어문에서 테스트하는 대상입니다. 각 연산자는 단어 형태와 기호 형태를 가지며, 두 형태는 서로 바꿔 사용할 수 있습니다.

단어 형태 기호 형태 의미
EQ = 동일
NE <> 같지 않음
GT > 보다 큰
GE >= 크거나 같음
LT < Less 보다
LE <= Less 이상

제어문

제어문은 위의 논리 연산자를 사용하여 어떤 코드 줄이 실행될지, 그리고 얼마나 자주 실행될지를 결정합니다.

만약… 끝

IF [NOT] exp [ AND / OR [NOT] exp ].
  ........
[ELSEIF exp.
  .......]
[ELSE.
  .......]
ENDIF.

CASE 문

CASE variable.
  WHEN value1.
    .........
  WHEN value2.
    .........
  [WHEN OTHERS.
    .........]
ENDCASE.

WHIE 루프

WHILE <logical expression>.
  .....
ENDWHILE.

DO 루프

DO <n> TIMES.
  .....
ENDDO.

WHILE 루프는 조건이 충족되는 동안 실행됩니다. DO 루프는 정해진 횟수만큼 실행되거나, EXIT 문이 실행될 때까지 무한히 실행됩니다.

ABAP의 내부 테이블

단일 변수만으로는 충분하지 않은 경우가 많습니다. 비즈니스 프로그램은 한 번에 많은 행을 읽으며, 내부 테이블은 이러한 행을 메모리에 저장하는 구조입니다.

내부 테이블은 동적 배열입니다. 고정된 크기가 없으며 프로그램이 실행되는 동안에만 존재하고, 데이터베이스와 화면 간에 행을 이동하는 표준적인 방법입니다.

" Declare an internal table and a work area
DATA: lt_employees TYPE TABLE OF pa0001,
      ls_employee  TYPE pa0001.

" Fill it from the database
SELECT * FROM pa0001 INTO TABLE lt_employees UP TO 10 ROWS.

" Read it row by row
LOOP AT lt_employees INTO ls_employee.
  WRITE: / ls_employee-pernr, ls_employee-ename.
ENDLOOP.

위의 세 가지 작업은 대부분의 일상적인 작업을 다룹니다. 테이블을 선언하고, SELECT 문을 사용하여 데이터를 채운 다음, LOOP AT 문을 사용하여 테이블을 순회합니다. APPEND 문은 행을 추가하고, READ TABLE 문은 행을 찾고, DELETE 문은 조건을 만족하는 행을 삭제합니다.

ABAP/4 편집자

위의 모든 구문은 한 곳에 입력됩니다.

거래 SE38 ABAP 편집기가 열립니다. 개발자로서 여러분은 이곳에서 프로그램을 만들고 수정하며 대부분의 시간을 보내게 될 것입니다.

ABAP/4 편집자

ABAP/4 편집기, 트랜잭션 SE38

첫 ABAP 프로그램을 작성하는 방법

위 화면은 다음 단계들이 진행되는 화면입니다. 아래 순서대로 진행하면 몇 분 안에 작동 가능한 보고서가 생성됩니다.

  1. 편집기를 엽니다. 거래 코드 입력 SE38 인간을 SAP GUI 명령 필드를 입력하고 Enter 키를 누르십시오.
  2. 프로그램 이름을 알려주세요. ~로 시작하는 이름을 입력하세요 Z or Y예를 들어, ZHELLO_WORLD저 두 글자는 고객 네임스페이스를 나타냅니다. SAP 업그레이드 중에 절대 덮어쓰지 않도록 보장합니다.
  3. 만들어 보세요. 만들기간단한 설명을 입력하고 선택하세요. 실행 프로그램 유형으로.
  4. 패키지를 지정하세요. 왼쪽 메뉴에서 로컬 개체 연습용입니다. 로컬 객체는 시스템에 남아 있으므로 전송 요청이 필요하지 않습니다.
  5. 코드를 작성하세요.
REPORT zhello_world.

DATA employee_name TYPE string.
employee_name = 'Guru99'.

WRITE: / 'Hello, ABAP!',
       / 'Welcome', employee_name.
  1. 구문을 확인하세요. PR 기사 Ctrl + F2상태 표시줄에는 오류와 오류를 발생시킨 줄이 표시됩니다.
  2. 프로그램을 실행하세요. PR 기사 Ctrl + F3비활성화된 프로그램은 실행할 수 없습니다.
  3. 실행하다. PR 기사 F8출력 목록이 열리고 두 개의 WRITE 줄이 모두 표시됩니다.

WRITE 문에 있는 슬래시(/)는 줄 바꿈을 강제합니다. 슬래시를 제거하면 모든 내용이 한 줄에 출력되는데, 이는 초보자들이 가장 먼저 익히는 서식 지정 습관입니다.

일반적인 ABAP 트랜잭션 Codes

몇 개의 트랜잭션 코드로 초보 ABAP 개발자에게 필요한 거의 모든 기능을 구현할 수 있습니다.

거래 목적
SE38 ABAP 편집기. 프로그램을 생성, 편집, 검사 및 실행합니다.
SE80 Object Navigator. 프로그램, 클래스, 패키지 및 화면을 위한 단일 작업 환경입니다.
SE11 ABAP 사전. 데이터베이스 테이블, 데이터 요소 및 도메인을 정의하고 검사합니다.
SE16N 데이터 브라우저. SELECT 문을 작성하지 않고도 모든 테이블의 내용을 볼 수 있습니다.
SE37 함수 빌더. 함수 모듈을 생성하고 테스트하세요.
SE24 클래스 빌더. ABAP 객체에 대한 전역 클래스를 생성합니다.
ST22 덤프 분석. 프로그램이 종료될 때 발생하는 런타임 오류를 읽습니다.

SE38과 SE11만으로도 초기 보고서를 작성하기에 충분합니다. ST22는 프로그램이 충돌하는 순간 가장 가치 있는 도구가 됩니다.

자주 묻는 질문

Z와 Y는 고객 네임스페이스를 구성합니다. SAP 해당 접두사가 붙은 객체는 절대 배포하지 않으므로 업그레이드 시 프로그램이 덮어쓰여지지 않습니다. 하지만 해당 네임스페이스 외부에 있는 이름은 교체될 위험이 있습니다.

ABAP/4는 리포트와 서브루틴을 기반으로 하는 절차적 언어 버전입니다. ABAP Objects는 클래스, 인터페이스 및 상속을 추가합니다. 두 언어 모두 동일한 시스템에서 실행되므로 기존 코드와 새로운 코드가 공존합니다.

압축형 데이터 타입인 P를 사용하세요. P는 소수점 이하 자릿수를 정확하게 저장하며, 이는 금융 거래에 필수적입니다. 반면, 부동 소수점 데이터 타입인 F는 반올림 오류가 발생하여 금융 거래의 총액을 신뢰할 수 없게 만듭니다.

네. AI 어시스턴트는 덤프를 설명하고, 의사 코드를 ABAP 코드로 변환하며, 더 깔끔한 루프를 제안할 수 있습니다. 생성된 코드가 시스템에 없는 테이블을 참조할 수 있으므로 항상 구문 검사를 실행하세요.

검토 없이 바로 사용할 수는 없습니다. 생성된 코드는 권한 확인, 성능 규칙 및 ABAP 클라우드에서 제공하는 API 목록을 무시하는 경우가 많습니다. 생성된 코드는 초안으로 간주하고, 다른 코드와 마찬가지로 테스트하십시오.

이 게시물을 요약하면 다음과 같습니다.