joi, 8 octombrie 2009

Ce sunt tranzactiile?

Putem numi tranzactie operatia prin care aducem modificari bazei de date, in sine sistemul SAP fiind el insusi un sistem tranzactional. Intregul lant de procese ce are loc in cadrul sistemului este generat de tranzactii.
In SAP o tranzactie este o secventa de pasi(pasi de dialog) pe care o realizeaza utilizatorul pentru a genera un eveniment, modul in care sunt executati toti acesti pasi de dialog fiind monitorizat de un dispatcher SAP.
De regula baza de date nu va fi actualizata pana cand ultima tranzactie nu s-a incheiat, in caz contrar se poate reveni asupra modificarilor.
O tranzactie are la baza 2 etape: una interactiva care poate avea unul sau mai multi pasi si este responsabila pentru pregatirea datelor ce vor actualiza baza de date, si una de actualizare a bazei de date.
Deoarece mai multi utilizatori pot accesa simultan aceeasi informatie, pentru a nu aduce inconsistente in procesul tranzactional exista un mecanism de blocare(LUW) care se activeaza pe durata rularii tranzactiei.
Toate tranzactiile au asociat un cod tranzactional ce se introduce direct in fereastra de comanda, spre exemplu ordinele de vanzare se pot crea accesand din fereastra de comanda codul de tranzactie VA01. O lista a tuturor tranzactiilor disponibile in sistemul SAP R/3 poate fi vazuta accesand tabela TSTC utilizand codul tranzactional SE16(vizualizare tabele) din fereastra de comanda.
Pasul de dialog(screen) este reprezentat de un program dinamic (dynpro) care are la baza o anumita logica de procesare a pasilor de dialog. Un dynpro contine definitiile campurilor, formatul ferestrei de dialog, validarea si logica de procesare a pasilor de dialog.
Logica de procesare presupune ca un dynpro sa controleze ceea ce trebuie executat inainte ca fereastra de dialog sa fie afisata(process before output PBO) si ceea trebuie executat dupa ce utilizator termina de introdus datele in fereastra de dialog.(process
after input PAI)
Trecerea utilizatorului de la o fereastra de dialog la alta genereaza de fapt un pas de dialog , iar un set de pasi alcatuiesc o tranzactie.
Asa cum mentionam mai sus pentru a pastra integritatea unei tranzactii in cazul accesarii simultane a aceleiasi informatii de catre mai multi utilizatorii a fost dezvoltat un mecanism de blocare numit LUW.(Logical Units of Work)
Conceptual un LUW este un set de pasi care trebuiesc executati corect intr-o tranzactie pentru a trece mai departe la logica tranzactiei. Daca apare vreo eroare in executarea unuia din pasi, doar pasul curent este eliminat, iar cei anteriori sunt pastrati.

0 comentarii:

Trimiteți un comentariu