Wprowadzenie do ABAP: typy danych, Operators i redaktor – samouczek

⚡ Inteligentne podsumowanie

Wprowadzenie do ABAP obejmuje język SAP Stworzony do tworzenia aplikacji w systemie R/3. Ten zasób wyjaśnia typy danych, operatory, instrukcje sterujące, tabelę wewnętrzną i edytor SE38, od którego zaczyna się każdy program ABAP.

  • 🔤 Składnia deklaracji: DATA variable_name TYPE variable_type deklaruje każdą zmienną w ABAP.
  • 🔢 Typy danych: I, F i P przechowują liczby; C, D, N i T przechowują znaki; X przechowuje dane szesnastkowe.
  • Operatory: Operatorzy arytmetyczni zmieniają wartości, natomiast operatory logiczne, takie jak EQ, NE, GT i LT, kontrolują decyzje.
  • 🔁 Instrukcje kontrolne: Funkcje IF, CASE, WHILE i DO określają, które wiersze programu są faktycznie uruchamiane.
  • 📋 Tabele wewnętrzne: Wewnętrzna tabela przechowuje wiele wierszy w pamięci i stanowi podstawę każdego raportu ABAP.
  • 🖥️. Redaktor: Transakcja SE38 jest edytorem ABAP, w którym programy są pisane, sprawdzane i wykonywane.

Wprowadzenie do SAP ABAP

Co to jest ABAP?

ABAP to skrót od Advanced Business Application Programming. Jest to język programowania dla programistów.ping aplikacje dla SAP System R/3.

Najnowsza wersja ABAP nazywa się ABAP Objects i obsługuje programowanie obiektowe. SAP będzie uruchamiał aplikacje napisane przy użyciu ABAP/4, wcześniejszej wersji ABAP, a także aplikacje korzystające z obiektów ABAP.

Wprowadzenie to nie stanowi próby udokumentowania wszystkich Język ABAP Konstrukt. Szybko wprowadza kluczowe koncepcje, dzięki czemu możesz zacząć pisać działające programy, a następnie przejść do bardziej zaawansowanych tematów.

Typy danych

Każdy program ABAP zaczyna się od zadeklarowania danych, z którymi będzie pracował.

Składnia deklarowania zmiennej w ABAP –

DATA Variable_Name TYPE Variable_Type.

Przykład:

DATA employee_number TYPE I.

Poniżej znajduje się lista typów danych obsługiwanych przez ABAP.

DataType Początkowa długość pola Prawidłowa długość pola Wartość początkowa Znaczenie
Typy liczbowe
I 4 4 0 Liczba całkowita (liczba całkowita)
F 8 8 0 Liczba zmiennoprzecinkowa
P 8 1 - 16 0 Spakowany numer
Typy postaci
C 1 1 - 65535 „…” Pole tekstowe (znaki alfanumeryczne)
D 8 8 "00000000" Pole daty (format: RRRRMMDD)
N 1 1 - 65535 „0… 0” Pole tekstowe numeryczne (znaki numeryczne)
T 6 6 "000000" Pole czasu (format: GGMMSS)
Typ szesnastkowy
X 1 1 - 65535 X'0 … 0′ Pole szesnastkowe

Osiem powyższych typów to klasyczne typy o stałej długości. ABAP oferuje również dwa typy o zmiennej długości, z którymi początkujący spotykają się niemal natychmiast: STRING dla tekstu o dowolnej długości i XSTRING dla danych binarnych dowolnej długości.

ABAP Operatorsy

Po zadeklarowaniu danych następuje ich zmiana i porównanie za pomocą operatorów.

Przypisywanie wartości

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

Wszystkie trzy polecenia przenoszą wartość. Znak równości to współczesna forma, natomiast polecenia MOVE i WRITE TO to starsze odpowiedniki, które nadal można spotkać w starszych programach.

Działania arytmetyczne

COMPUTE a = a * 100.

ABAP obsługuje również polecenia ADD, SUBTRACT, MULTIPLY i DIVIDE to samodzielne słowa kluczowe, ale najczęściej używa się formy COMPUTE pokazanej powyżej.

operatory logiczne

Operatory logiczne zwracają wartość prawda lub fałsz i to właśnie je sprawdza każda instrukcja sterująca w następnej sekcji. Każdy z nich ma formę słowa i symbolu, a obie są wymienne.

Forma słowa Forma symboliczna Znaczenie
EQ = Równy
NE <> Nie równa się
GT > Lepszy niż
GE >= Większe bądź równe
LT < Less niż
LE <= Less niż lub równy

Oświadczenia kontrolne

Instrukcje sterujące wykorzystują powyższe operatory logiczne, aby zdecydować, które wiersze kodu mają być uruchamiane i jak często.

JEŻELI … ENDIF

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

Oświadczenie CASE

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

Pętla WHILE

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

Pętla DO

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

Pętla WHILE działa tak długo, jak długo spełniony jest jej warunek. Pętla DO działa ustaloną liczbę razy lub w nieskończoność, dopóki nie zostanie zatrzymana poleceniem EXIT.

Tabele wewnętrzne w ABAP

Pojedyncze zmienne rzadko wystarczają. Programy biznesowe odczytują wiele wierszy jednocześnie, a tabela wewnętrzna to struktura, która przechowuje je w pamięci.

Tabela wewnętrzna to tablica dynamiczna. Nie ma stałego rozmiaru, istnieje tylko przez czas trwania programu i jest standardowym sposobem przenoszenia wierszy między bazą danych a ekranem.

" 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.

Powyższe trzy operacje obejmują większość codziennej pracy: deklaracja tabeli, wypełnienie jej instrukcją SELECT, a następnie przeglądanie jej za pomocą instrukcji LOOP AT. Instrukcja APPEND dodaje wiersz, instrukcja READ TABLE go znajduje, a instrukcja DELETE usuwa wiersze spełniające warunek.

Redaktor ABAP/4

Cała powyższa składnia jest wpisana w jednym miejscu.

Transakcja SE38 otwiera Edytor ABAP, w którym jako programista spędzisz większość czasu, tworząc i modyfikując programy.

Redaktor ABAP/4

Edytor ABAP/4, transakcja SE38

Jak napisać swój pierwszy program ABAP

Na powyższym ekranie wykonywane są poniższe kroki. Poniższa sekwencja generuje działający raport w ciągu kilku minut.

  1. Otwórz edytor. Wprowadź kod transakcji SE38 SAP Pole poleceń GUI i naciśnij Enter.
  2. Podaj nazwę programu. Wpisz nazwę zaczynającą się od Z or Y, Na przykład ZHELLO_WORLDTe dwie litery to przestrzeń nazw klienta i SAP gwarantuje, że nigdy nie zostaną one nadpisane podczas aktualizacji.
  3. Utwórz to. Kliknij Stwórz, wprowadź krótki opis i wybierz Program wykonywalny jako typ.
  4. Przypisz pakiet. Dodaj Obiekt lokalny do ćwiczeń. Obiekt lokalny pozostaje w systemie i nie wymaga żądania transportu.
  5. Napisz kod.
REPORT zhello_world.

DATA employee_name TYPE string.
employee_name = 'Guru99'.

WRITE: / 'Hello, ABAP!',
       / 'Welcome', employee_name.
  1. Sprawdź składnię. Naciśnij przycisk Ctrl + F2Pasek stanu wyświetla komunikat o błędzie i wierszu, który go spowodował.
  2. Aktywuj program. Naciśnij przycisk Ctrl + F3. Nieaktywny program nie może zostać uruchomiony.
  3. Wykonany. Naciśnij przycisk F8. Lista wyjściowa otwiera się i wyświetla obie linie WRITE.

Ukośnik w poleceniu WRITE wymusza przejście do nowej linii. Jego usunięcie powoduje zapisanie wszystkiego w jednej linii, co jest pierwszym nawykiem formatowania, jaki nabywa większość początkujących.

Wspólna transakcja ABAP Codes

Kilka kodów transakcji obejmuje niemal wszystko, czego potrzebuje nowy programista ABAP.

Transakcja Cel
SE38 Edytor ABAP. Twórz, edytuj, sprawdzaj i uruchamiaj programy.
SE80 Nawigator obiektów. Pojedyncze środowisko pracy dla programów, klas, pakietów i ekranów.
SE11 Słownik ABAP. Definiuj i sprawdzaj tabele bazy danych, elementy danych i domeny.
SE16N Przeglądarka danych. Wyświetl zawartość dowolnej tabeli bez pisania instrukcji SELECT.
SE37 Konstruktor funkcji. Twórz i testuj moduły funkcji.
SE24 Konstruktor klas. Twórz klasy globalne dla obiektów ABAP.
ST22 Analiza zrzutu. Odczytaj błąd czasu wykonania po zakończeniu programu.

SE38 i SE11 wystarczą do wygenerowania pierwszego raportu. ST22 staje się najcenniejszy z grupy w momencie awarii programu.

FAQ

Z i Y tworzą przestrzeń nazw klienta. SAP Nigdy nie wysyła obiektów z tymi prefiksami, więc aktualizacja nie może nadpisać programu. Nazwy spoza tej przestrzeni nazw mogą zostać zastąpione.

ABAP/4 to wersja proceduralna, oparta na raportach i podprogramach. Obiekty ABAP dodają klasy, interfejsy i dziedziczenie. Oba działają w tym samym systemie, więc stary i nowy kod współistnieją.

Użyj P, typu spakowanego. Przechowuje on liczby dziesiętne dokładnie, co jest wymagane w przypadku pieniądza. Typ F to liczba zmiennoprzecinkowa i wprowadza błędy zaokrągleń, które sprawiają, że sumy finansowe są mało wiarygodne.

Tak. Asystent AI może wyjaśnić zrzut, przetłumaczyć pseudokod na ABAP i zasugerować czystszą pętlę. Zawsze przeprowadzaj sprawdzanie składni, ponieważ wygenerowany kod może odwoływać się do tabel, których brakuje w systemie.

Nie bez przeglądu. Wygenerowany kod często ignoruje kontrole autoryzacji, reguły wydajności i listę API udostępnioną przez ABAP Cloud. Potraktuj go jako pierwszy szkic, a następnie przetestuj go tak, jak każdy inny kod.

Podsumuj ten post następująco: