Podstawy projektowania aplikacji biznesowych w systemie SAP R/3
Transcript of Podstawy projektowania aplikacji biznesowych w systemie SAP R/3
![Page 1: Podstawy projektowania aplikacji biznesowych w systemie SAP R/3](https://reader030.fdocuments.net/reader030/viewer/2022020108/587625f61a28abfc0c8b92ca/html5/thumbnails/1.jpg)
Podstawy projektowania aplikacji biznesowych
w systemie SAP R/3
![Page 2: Podstawy projektowania aplikacji biznesowych w systemie SAP R/3](https://reader030.fdocuments.net/reader030/viewer/2022020108/587625f61a28abfc0c8b92ca/html5/thumbnails/2.jpg)
SAP R/3
Zintegrowany zbiór aplikacji
zaprojektowanych w celu wspomagania
przetwarzania danych w dużych firmach
Producent SAP AG
SAP – Systems Applications and
Products for data processing
SAP R/3 w większości napisany w
ABAP/4
![Page 3: Podstawy projektowania aplikacji biznesowych w systemie SAP R/3](https://reader030.fdocuments.net/reader030/viewer/2022020108/587625f61a28abfc0c8b92ca/html5/thumbnails/3.jpg)
Logiczna struktura systemu
PP MM SD FI HR
ABAP/4
Basis
System Operacyjny
...
![Page 4: Podstawy projektowania aplikacji biznesowych w systemie SAP R/3](https://reader030.fdocuments.net/reader030/viewer/2022020108/587625f61a28abfc0c8b92ca/html5/thumbnails/4.jpg)
Obszary konceptualne SAP R/3
Obszar aplikacji
Obszar Basis
Środowisko projektowe
![Page 5: Podstawy projektowania aplikacji biznesowych w systemie SAP R/3](https://reader030.fdocuments.net/reader030/viewer/2022020108/587625f61a28abfc0c8b92ca/html5/thumbnails/5.jpg)
Kod transakcji
Ciąg znaków jednoznacznie identyfikujący
transakcję
Dopuszczalne znaki: A-Z, 0-9, _
Długość do 20 znaków (najczęściej 4)
Wywoływanie z poziomu pola komend
tcode – tylko z poziomu głównego menu
/ntcode – nowa transakcja w tym samym oknie
/otcode – nowa transakcja w nowym oknie
System Status
![Page 6: Podstawy projektowania aplikacji biznesowych w systemie SAP R/3](https://reader030.fdocuments.net/reader030/viewer/2022020108/587625f61a28abfc0c8b92ca/html5/thumbnails/6.jpg)
Basis
Middleware
Warstwa pośrednicząca pomiędzy programami napisanymi w ABAP/4 a systemem operacyjnym
Efekt migracji od architektury mainframesystemu R/2 do architektury klient-serwer systemu R/3
Zbiór programów umożliwiających działanie aplikacji napisanych w ABAP/4 na różnych platformach
![Page 7: Podstawy projektowania aplikacji biznesowych w systemie SAP R/3](https://reader030.fdocuments.net/reader030/viewer/2022020108/587625f61a28abfc0c8b92ca/html5/thumbnails/7.jpg)
Architektura klient-serwer
SerwerKlient
żądanie
odpowiedź
![Page 8: Podstawy projektowania aplikacji biznesowych w systemie SAP R/3](https://reader030.fdocuments.net/reader030/viewer/2022020108/587625f61a28abfc0c8b92ca/html5/thumbnails/8.jpg)
Typy architektury klient/serwer
K
S
K
S
K
K
S
S
Architektura
jednowarstwowa
Architektura
dwuwarstwowa
Architektura
trójwarstwowa
![Page 9: Podstawy projektowania aplikacji biznesowych w systemie SAP R/3](https://reader030.fdocuments.net/reader030/viewer/2022020108/587625f61a28abfc0c8b92ca/html5/thumbnails/9.jpg)
Architektura systemu R/3
DB
Serwer
bazodanowy
Serwer
aplikacji
Serwer
aplikacji
Serwer
prezentacjiSerwer
prezentacjiSerwer
prezentacjiSerwer
prezentacji
Serwer
prezentacjiprezentacjiSerwer
prezentacjiSerwer
prezentacji
![Page 10: Podstawy projektowania aplikacji biznesowych w systemie SAP R/3](https://reader030.fdocuments.net/reader030/viewer/2022020108/587625f61a28abfc0c8b92ca/html5/thumbnails/10.jpg)
Warstwy architektury SAP R/3
Warstwa prezentacji: serwer prezentacji – SAPGUI, frontend
cienki klient
Warstwa aplikacji: zbiór programów uruchamianych i zatrzymywanych
równocześnie
w pliku profilu serwera aplikacji określa się m.in.:○ liczbę i typ procesów
○ ilość pamięci przeznaczonej dla każdego procesu
○ czas, po jakim użytkownik zostanie automatycznie wylogowany w przypadku braku aktywności
programy ABAP-owe są wykonywane na serwerze aplikacji (inicjowane na serwerze prezentacji)
jest warstwą pośrednią oferującą dostęp do danych
![Page 11: Podstawy projektowania aplikacji biznesowych w systemie SAP R/3](https://reader030.fdocuments.net/reader030/viewer/2022020108/587625f61a28abfc0c8b92ca/html5/thumbnails/11.jpg)
Warstwy architektury SAP R/3 – cd.
Warstwa bazodanowa
serwer bazy danych będący zbiorem
aplikacji pośredniczących pomiędzy
programami z warstwy aplikacji a RDBMS
serwer bazy danych może być
zainstalowany na tym samym komputerze,
na którym zainstalowano RDBMS lub na
odrębnej jednostce
![Page 12: Podstawy projektowania aplikacji biznesowych w systemie SAP R/3](https://reader030.fdocuments.net/reader030/viewer/2022020108/587625f61a28abfc0c8b92ca/html5/thumbnails/12.jpg)
Przykładowe konfiguracje serwerów
System centralny
Rozproszona prezentacja
Architektura dwuwarstwowa
Architektura trójwarstwowa
SP
SA
SBD
SA
SBD
SP
SP
SA
SBDSBD
SA
SP
![Page 13: Podstawy projektowania aplikacji biznesowych w systemie SAP R/3](https://reader030.fdocuments.net/reader030/viewer/2022020108/587625f61a28abfc0c8b92ca/html5/thumbnails/13.jpg)
Architektura serwera aplikacji
Serwer aplikacji
Dispatcher
Buffers
Work
processes
Queue
FIFO
Roll area
(extended memory)
WP WP WP WP WP
Z serwera prezentacji
Do serwera bazy danych
![Page 14: Podstawy projektowania aplikacji biznesowych w systemie SAP R/3](https://reader030.fdocuments.net/reader030/viewer/2022020108/587625f61a28abfc0c8b92ca/html5/thumbnails/14.jpg)
User context i roll area
User context – obszar pamięci przydzielany na czas pracy w systemie R/3 z informacjami o użytkowniku zawierający m.in.: bieżące ustawienia użytkownika
prawa dostępu użytkownika
nazwy programów aktualnie wykonywanych przez użytkownika
Roll area – obszar pamięci przydzielany instancji programu ABAP-owego przez proces roboczy, w którym przetrzymywane są przez czas wykonywania programu następujące informacje: wartości zmiennych
dynamicznie przydzielona pamięć
bieżący wskaźnik do programu
![Page 15: Podstawy projektowania aplikacji biznesowych w systemie SAP R/3](https://reader030.fdocuments.net/reader030/viewer/2022020108/587625f61a28abfc0c8b92ca/html5/thumbnails/15.jpg)
Krok dialogowy
jakakolwiek zmiana ekranu
wszystkie działania potrzebne do przejścia pomiędzy dwoma kolejnymi ekranami od momentu żądania użytkownika aż do zakończenia wyświetlania nowego ekranu
krok dialogowy może być zainicjowany przez użytkownika jednym z następujących sposobów: wciśnięcie klawisza ENTER
wciśnięcie klawisza funkcyjnego (skrótu klawiszowego)
wybór przycisku (ikony)
wybór opcji z menu
![Page 16: Podstawy projektowania aplikacji biznesowych w systemie SAP R/3](https://reader030.fdocuments.net/reader030/viewer/2022020108/587625f61a28abfc0c8b92ca/html5/thumbnails/16.jpg)
Krok dialogowy - przykładK
rok d
ialo
go
wy
Początek kroku
dialogowego
Dispatcher FIFO
...WP WP
Serwer Bazy Danych
Koniec kroku
dialogowego
![Page 17: Podstawy projektowania aplikacji biznesowych w systemie SAP R/3](https://reader030.fdocuments.net/reader030/viewer/2022020108/587625f61a28abfc0c8b92ca/html5/thumbnails/17.jpg)
Roll-in i Roll-out
Programy ABAP-owe zajmują WP wyłącznie na czas jednego kroku dialogowego: Roll-in – na początku kroku
dialogowego wskaźniki do UserContext i Roll Area są przekazywane do WP
przetwarzanie w WP, który korzysta z User Context i Roll Area
przesłanie kolejnego ekranu lub zakończenie programu
Roll-out – usunięcie z WP wskaźników do Roll Area i UserContext po przesłaniu ekranu
lub zwolnienie Roll Area po zakończeniu programu (User Contextpozostaje do momentu wylogowania użytkownika)
User Context
Roll Area
Work Process
WskaźnikiRoll-in
Roll-out
![Page 18: Podstawy projektowania aplikacji biznesowych w systemie SAP R/3](https://reader030.fdocuments.net/reader030/viewer/2022020108/587625f61a28abfc0c8b92ca/html5/thumbnails/18.jpg)
Przesyłanie danych do serwera
prezentacji
Dane pomiędzy serwerami prezentacji i aplikacji przesyłane w określonym formacie
SAPGUI wyświetla przesłane dane w zależności od platformy, na której został uruchomiony
Zaleta: serwery prezentacji działające na różnych platformach sprzętowo-programowych mogą łączyć się z tym samym serwerem aplikacji
![Page 19: Podstawy projektowania aplikacji biznesowych w systemie SAP R/3](https://reader030.fdocuments.net/reader030/viewer/2022020108/587625f61a28abfc0c8b92ca/html5/thumbnails/19.jpg)
Składniki procesu roboczego
Wszystkie żądania przechodzą przez Task Handlera, który kieruje je do odpowiednich składników procesu roboczego
Interpretery interpretują kod programu ABAP-owego Interpreter ABAP-a – pełna składnia ABAP-a
Interpreter ekranu – specjalizowany podzbiór języka ABAP/4
Interfejs do bazy danych obsługuje zadania komunikacji z serwerem bazy danych
Task Handler
ABAP/4 Interpreter
Screen Interpreter
Database Interface
![Page 20: Podstawy projektowania aplikacji biznesowych w systemie SAP R/3](https://reader030.fdocuments.net/reader030/viewer/2022020108/587625f61a28abfc0c8b92ca/html5/thumbnails/20.jpg)
Typy procesów
Typ Symbol Opis
Dialog D Żądania dialogowe
Update V Żądanie aktualizacji danych w BD
Background B Zadania wykonywane w tle
Spool S Żądania spoolera wydruku
Enqueue E Żądania logicznej blokady
Message M Przesyłanie komunikatów pomiędzy
serwerami systemu R/3
Gateway G Przekazywanie komunikatów wewnątrz i na
zewnątrz systemu R/3
![Page 21: Podstawy projektowania aplikacji biznesowych w systemie SAP R/3](https://reader030.fdocuments.net/reader030/viewer/2022020108/587625f61a28abfc0c8b92ca/html5/thumbnails/21.jpg)
Tabele zależne i niezależne od
mandanta Tabele zależne od mandanta – pierwsze pole tabeli:
typu – CLNT
długość – 3
nazwa – mandt
Tabele niezależne od mandanta – pierwsze pole tabeli typu innego niż CLNT
Umożliwiają niezależną pracę testerów i developerów
Możliwe jest tworzenie kopii mandanta
Możliwy jest odczyt danych z innego mandanta: select * from tabela client specified where mandt = 'nnn'.
tylko dla programów systemowych (aplikacje są zawsze zależne od mandanta)
![Page 22: Podstawy projektowania aplikacji biznesowych w systemie SAP R/3](https://reader030.fdocuments.net/reader030/viewer/2022020108/587625f61a28abfc0c8b92ca/html5/thumbnails/22.jpg)
Tabele zależne od mandanta –
przykład
Użytkownik loguje się
do mandantu 100
...
...SELECT FROM LFA1
WRITE: / LFA1-LIFNR.
ENDSELECT.
...
...
...
Użytkownik wykonuje
program
MANDT LIFNR
100 201
100 205
150 10
150 11
150 12
300 220
Tabela LFA1
Wynik
201
205
![Page 23: Podstawy projektowania aplikacji biznesowych w systemie SAP R/3](https://reader030.fdocuments.net/reader030/viewer/2022020108/587625f61a28abfc0c8b92ca/html5/thumbnails/23.jpg)
Open SQL
Kod programów ABAP-owych jest przenoszalny pomiędzy różnymi systemami baz danych
Dostęp do baz danych z poziomu programu ABAP-owego rezlizowany przez Open SQL
Open SQL podzbiór i odmiana ANSI SQL
Wszystkie fragmenty kodu zapisane w OpenSQL-u są przekazywane do interfejsu bazy danych procesu roboczego
Interfejs bazy danych przekłada składnię OpenSQL-a na składnię SQL danego RDBMS-a
![Page 24: Podstawy projektowania aplikacji biznesowych w systemie SAP R/3](https://reader030.fdocuments.net/reader030/viewer/2022020108/587625f61a28abfc0c8b92ca/html5/thumbnails/24.jpg)
Open SQL – zalety
Przenoszalność
Buforowanie danych na serwerze aplikacji redukcja obciążenia serwera bazy danych
redukcja obciążenia łącz pomiędzy serwerem bazy danych a serwerami aplikacji
Automatyczna obsługa mandantów po zalogowaniu numer mandanta
automatycznie dołączany przez interfejs bazy danych
wiele grup projektowych i testowych może pracować na tej samej bazie danych bez wzajemnego ingerowania w pracę innych grup
![Page 25: Podstawy projektowania aplikacji biznesowych w systemie SAP R/3](https://reader030.fdocuments.net/reader030/viewer/2022020108/587625f61a28abfc0c8b92ca/html5/thumbnails/25.jpg)
Środowisko projektowe
Obiekt projektowy – cokolwiek stworzone przez developera (program, ekran, tabela, perspektywa, struktura, model danych, komunikat, moduł include itp.)
Narzędzia środowiska projektowego: Object Navigator
Edytor ABAP
Słownik
Modeler danych
Edytor funkcji
Malarz ekranu
Malarz menu
Debugger ABAP
Śledzenie SQL
Analiza czasu wykonania
Repozytorium
inne
Wszystkie obiekty projektowe są przenoszalne (co m.in. oznacza, że w łatwy sposób można je przenieść z systemu developerskiego do systemu produkcyjnego)
![Page 26: Podstawy projektowania aplikacji biznesowych w systemie SAP R/3](https://reader030.fdocuments.net/reader030/viewer/2022020108/587625f61a28abfc0c8b92ca/html5/thumbnails/26.jpg)
Typy programów
Podstawowe: raporty
○ zadanie – odczyt danych z bazy i wyświetlenie ich na urządzeniach we/wy
○ co najwyżej tylko dwa ekrany: wyboru danych (opcjonalny) i wynikowy z listą danych wyselekcjonowanych przez program
programy dialogowe (transakcje)
○ elastyczniejsze, ale bardziej skomplikowane niż raporty
○ dowolna liczba ekranów
○ sekwencja ekranów może się dynamicznie zmieniać podczas wykonywania programu
○ każdy ekran może zawierać różne pola, przyciski i inne
![Page 27: Podstawy projektowania aplikacji biznesowych w systemie SAP R/3](https://reader030.fdocuments.net/reader030/viewer/2022020108/587625f61a28abfc0c8b92ca/html5/thumbnails/27.jpg)
Składniki raportu ABAP-owego
i obiekty wykonywalne
Wymagane: kod źródłowy
atrybuty
Wszystkie obiekty projektowe wraz ze składnikami przechowywane są w odpowiednich tabelach bazy danych
Programy ABAP-owe są interpretowane (nie są kompilowane)
Pierwsze uruchomienie programu wiąże się z utworzeniem obiektu wykonywalnego
Obiekt wykonywalny jest formą programu poddaną preprocesingowi, która do wykonania nadal jednak wymaga środowiska systemu R/3
Po zmianie kodu źródłowego nowy obiekt wykonywalny zostanie automatycznie wygenerowany przy następnym wywołaniu tego programu
Atrybuty
Elementy
tekstowe
Doku-
mentacja
Warianty
Kod
źródłowy
![Page 28: Podstawy projektowania aplikacji biznesowych w systemie SAP R/3](https://reader030.fdocuments.net/reader030/viewer/2022020108/587625f61a28abfc0c8b92ca/html5/thumbnails/28.jpg)
Konwencje nazewnicze
Obiekty użytkownika muszą mieć nazwy
spełniające reguły określone przez SAP,
tzw. zakres nazw użytkownika
Dla programów zakres nazw określa, że
nazwa rozpoczyna się od liter: y albo z
![Page 29: Podstawy projektowania aplikacji biznesowych w systemie SAP R/3](https://reader030.fdocuments.net/reader030/viewer/2022020108/587625f61a28abfc0c8b92ca/html5/thumbnails/29.jpg)
DDIC – Data Dictionary
Narzędzie środowiska projektowego ABAP służące do tworzenia i przechowywania takich obiektów jak: tablice, struktury, perspektywy.
DDIC niejako pośredniczy między środowiskiem projektowym a bazą danych, dla danego obiektu, który został w zdefiniowany lub zmodyfikowany dopiero aktywacja powoduje wygenerowanie odpowiedniego kodu i wysłanie go do RDBMS
Uwaga! Nie należy modyfikować tabel i innych obiektów z poziomu RDBMS, ponieważ DDIC nie jest w stanie samo się zaktualizować, co wywoła brak synchronizacji z bazą danych, błędy aplikacji a nawet utratę danych.
![Page 30: Podstawy projektowania aplikacji biznesowych w systemie SAP R/3](https://reader030.fdocuments.net/reader030/viewer/2022020108/587625f61a28abfc0c8b92ca/html5/thumbnails/30.jpg)
Tabele i struktury w R/3
Tabela składa się ze zbioru wierszy, a te z kolei ze zbioru kolumn (zazwyczaj liczba kolumn jest identyczna w każdym wierszu)
Nazwy tabel muszą być unikalne w całym systemie
Widok tabeli w DDIC odpowiada opisowi tabeli w bazie danych, a nie bezpośredniemu widokowi bazy danych
Struktura – opis grupy pól (nazwa, kolejność, typy danych i długość)
Nazwy struktur muszą być unikalne w całym systemie i nie mogą być takie same jak nazwy tabel w programie używane do przydzielenia pamięci grupie pól
w tabeli używane do opisu zbioru pól
Zasadnicza różnica pomiędzy tabelą i strukturą jest taka, że: tabela jest opisem układu pól odpowiedniej fizycznej tabeli bazy danych
struktura jest opisem układu pól, który nie ma odpowiednika w bazie danych