Professional Documents
Culture Documents
Deklarowanie struktury
Każda struktura i tabela wewnętrzna wymaga zadeklarowania. Celem tego ćwiczenia jest
zadeklarowanie struktury zawierającej jedną kolumnę dla miasta wylotu (CITYFROM),
jedną dla miasta przylotu (CITYTO), jedną dla oznaczenia linii lotniczych (CARRID) i
jedną dla numeru lotu (CONNID) w oparciu o elementy struktury tabeli bazy danych
SPFLI.
Ćwiczenie:
1. Stwórz nowy program o nazwie Z<nr_indeksu>INTTAB. Ustawiając właściwości
programu tak, by dane były wczytywane przy użyciu logicznej bazy danych F1S.
2. Zadeklaruj tabelę SPFLI.
3. Ustaw kursor w sekcji deklaracji twojego programu i wybierz przycisk Wzorzec.
4. Okno: Wstaw. wzorca
1. Strukturalny obiekt danych
1. Z polami ze struktury: SPFLI
2. Kontynuacja
5. Ekran: ABAP: Edytor - dodawanie instrukcji SELECT dla tabeli SPFLI
Ćwiczenie:
1. W edytorze ABAP otwórz program stworzony w poprzednim ćwiczeniu.
2. Poniżej deklaracji struktury zadeklaruj tabelę wewnętrzną korzystając ze składni:
DATA <nazwa_tabeli_wewnętrznej> TYPE <nazwa_struktury> OCCURS 0.
Słowo kluczowe OCCURS definiuje strukturę jako tabelę wewnętrzną. Liczba
występująca po OCCURS określa liczbę linii tabeli po jej zainicjowaniu. Brak słowa
kluczowego OCCURS w deklaracji sprawia, że zamiast tabeli wewnętrznej
zadeklarowany zostanie ciąg pól.
Ćwiczenie:
1. Otwórz program utworzony w poprzednim ćwiczeniu
2. Zadeklaruj obszar roboczy korzystając ze składni:
DATA: <nazwa_obszaru_roboczego> TYPE <nazwa_struktury>.
3. Sprawdź poprawność składniową i zapisz program.
W ten sposób zdefiniowano obszar roboczy o takiej samej strukturze jak struktura tabeli
wewnętrznej. Obszar ten może być wykorzystany do wyświetlania lub zmiany zawartości
tabeli wewnętrznej. Dostęp do pól obszaru roboczego następuje w taki sam sposób jak
do pól tabeli bazodanowej poprzez <nazwa_obszaru_roboczego>—<nazwa_pola>.
APPEND
Składnia:
APPEND <obszar_roboczy> TO <tabela_wewnętrzna>
Ćwiczenie:
1. Otwórz program utworzony w poprzednim ćwiczeniu.
2. W zdarzeniu GET SPFLI przesuń zawartość tabeli SPFLI do odpowiednich pól
obszaru roboczego tabeli wewnętrznej używając słowa kluczowego MOVE.
3. Dodaj zawartość obszaru roboczego na końcu tabeli wewnętrznej.
4. Sprawdź składnię i zapisz program.
Uwaga: Zamiast przenosić pojedynczo zawartość każdego pola można użyć składni
polecenia MOVE-CORRESPONDING.
MOVE-CORRESPONDING
Składnia:
MOVE-CORRESPONDING <struktura_1> TO <struktura_2>
LOOP
Składnia:
LOOP AT <tabela_wewnętrzna> INTO <obszar_roboczy> <warunek>.
<blok_instrukcji>
ENDLOOP.
Ćwiczenie:
1. Otwórz opracowywany program w Edytorze ABAP.
2. Wybierz odpowiednie zdarzenie spośród: AT SELECTION SCREEN, START OF
SELECTION, GET … , GET … LATE, END-OF-SELECTION, TOP-OF-PAGE, które
zostanie użyte przy wyświetlaniu zawartości tabeli. Bliższy opis tych zdarzeń
można znaleźć w dokumentacji poprzedniego ćwiczenia laboratoryjnego.
3. Dodaj to programu pętlę dla tabeli wewnętrznej z obszarem roboczym.
4. Spowoduj wypisanie na ekranie pól obszaru roboczego w bloku instrukcji pętli
LOOP.
5. Sprawdź poprawność składniową i zapisz program.
6. Uruchom program dla lotów Lufthansy od numeru 400 do 2000 (zapisz ten wybór
jako wariant).
2. W drugiej pętli LOOP wstaw instrukcję warunkową IF, która będzie spełniona dla
lotu numer ‘0402’.
3. Usuń z tabeli wewnętrznej linie dotyczące lotu numer ‘0402’.
4. Dodaj następną pętlę LOOP, w której zostanie wyświetlona zawartość
zmodyfikowanej tabeli wewnętrznej. Oddziel tę treść od wcześniejszych znakiem
podziału strony.
5. Sprawdź poprawność składniową i zapisz program.
6. Uruchom program korzystając z wcześniej zdefiniowanego wariantu.
SORT
Składnia:
SORT <tabela_wewnętrzna> [ASCENDING|DESCENDING] [AS TEXT] [STABLE]
[BY <pole_1> [ASCENDING|DESCENDING] [AS TEXT]
...
<pole_n> [ASCENDING|DESCENDING] [AS TEXT]].
Powoduje posortowanie tabeli wewnętrznej rosnąco lub malejąco według klucza tabeli lub
według innych pól (pole_1 do pole_n). Opcja AS TEXT wymusza sortowanie alfabetycznie
zgodnie z ustawieniami systemu, w przeciwnym przypadku sortowanie jest zależne od
platformy sprzętowej. Opcja STABLE powoduje zachowanie tej samej kolejności po
każdym sortowaniu.
Ćwiczenie:
1. Otwórz opracowywany program w Edytorze ABAP.
2. Po ostatniej instrukcji LOOP wstaw instrukcję SORT, która spowoduje
posortowanie według miejsca przylotu.
3. Dołącz do programu kolejną pętlę LOOP, w której wyświetlony zostanie wynik
sortowania, podobnie jak poprzednio oddziel tę informację od poprzednich
znakiem podziału strony
4. Sprawdź poprawność składniową i zapisz program.
5. Wykonaj program korzystając z wcześniej zdefiniowanego wariantu.