sinf.ase.rosinf.ase.ro/cursuri/integrare/referate2012/referat-erp... · web viewreferat integrarea...

14
Referat Integrarea datelor prin interfete in cadrul SAP Autor: Vasile Florin Grupa 1070 An II ASE - Masterat Informatica Economica Aprofundare Pag 1

Upload: others

Post on 16-Feb-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: sinf.ase.rosinf.ase.ro/cursuri/integrare/referate2012/Referat-ERP... · Web viewReferat Integrarea datelor prin interfete in cadrul SAP Autor: Vasile Florin Grupa 1070 An II ASE -

ReferatIntegrarea datelor prin interfete

in cadrul SAP

Autor: Vasile FlorinGrupa 1070

An IIASE - Masterat Informatica Economica Aprofundare

Pag 1

Page 2: sinf.ase.rosinf.ase.ro/cursuri/integrare/referate2012/Referat-ERP... · Web viewReferat Integrarea datelor prin interfete in cadrul SAP Autor: Vasile Florin Grupa 1070 An II ASE -

Cuprins

Introducere

Batch Input

BAPI - Business Application Programming Interface

IDoc - Intermediate Document

PI - Process Integration

Concluzii

Bibliografie

Pag 2

Page 3: sinf.ase.rosinf.ase.ro/cursuri/integrare/referate2012/Referat-ERP... · Web viewReferat Integrarea datelor prin interfete in cadrul SAP Autor: Vasile Florin Grupa 1070 An II ASE -

Introducere

Integrarea datelor reprezinta procesul prin intermediul caruia informatii stocate in locatii diferite (baze de date, aplicatii diferite) pot fi privite, din perspectiva utilizatorului sau din perspectiva altei aplicatii, ca o colectie omogena si unica de date.

Se ofera astfel posibilitatea de a avea o viziune unica si concisa asupra unor informatii obtinute din surse diferite.

Motivele pentru care pot exista surse diferite de date sunt:● sistemele legacy - se intampla ca in companii de dimensiuni medii si mari sa existe

sisteme vechi la care nu se doreste sa se renunte fie din motive de incredere (se cunoaste bine faptul ca acele sisteme functioneaza si se doreste verificarea informatiilor produse de sistemele noi prin intermediul acestora printr-o rulare concurenta), fie din motive de eficienta (dezvoltarea de la 0 cu tot ceea ce implica ea nu se justifica din punct de vedere economic)

● dispozitive care culeg date - spre exemplu, in cazul unei companii de utilitati se doreste ca in SAP sa se obtina informatii privind consumul de energie electrica al clientilor, aceste informatii fiind culese de catre dispozitive speciale

● alte sisteme - spre exemplu, compania in cauza, pe langa sistemul SAP, mai are implementat un sistem CRM

In functie de modalitatile prin care interactioneaza intre ele sistemele, SAP ne ofera urmatoarele interfete de integrare:

● Batch Input ● BAPI● ALE / IDOC● PI

Avand in vedere faptul ca SAP este un sistem informatic extrem de complex este foarte contraindicata realizarea de operatii DML asupra tabelelor, in primul rand din cauza dependentelor de campul / randul respectiv si in al doilea rand din cauza posibilitatii unui ulterior update care ar modifica structura tabelei / procesului. Doar in cazuri extreme se poate interveni printr-o operatie de insert / update / delete asupra unei tabele standard.

Batch Input

Batch Input este utilizat pentru introducerea datelor utilizand o tehnica similara cu introducerea manuala a datelor.

Pag 3

Page 4: sinf.ase.rosinf.ase.ro/cursuri/integrare/referate2012/Referat-ERP... · Web viewReferat Integrarea datelor prin interfete in cadrul SAP Autor: Vasile Florin Grupa 1070 An II ASE -

SAP, prin intermediul tranzactiei SM35 ofera posibilitatea inregistrarii ecranelor prin care se trece la navigarea printr-o tranzactie. Spre exemplu daca dorim sa simulam introducerea de material vom porni tranzactia SM35 si vom da ca referinta tranzactia MM01 (creare material). Aceasta va deschide o noua tranzactie in care vom introduce un material. (tehnica este usor de utilizat atunci cand se vor introduce date omogene - nu exista diferente mari intre 2 sesiuni diferite).

Batch Input va inregistra fiecare informatie introdusa in fiecare camp si fiecare cod de functie (un cod de functie este identificatorul unic al fiecarui buton de pe ecran / anumite taste, spre exemplu daca se apasa pe SAVE). Dupa terminarea sesiunii se va putea genera un codul sursa pentru introducerea informatiilor, cod sursa care poate fi utilizat intr-un nou program ABAP sau in crearea unei functii (care eventual sa poata fi chemata din exterior prin RFC).

Codul sursa generat va contine, pentru fiecare camp din fiecare ecran, identificatorul campului si informatia care a fost introdusa in recording. Pentru parametrizarea codului sursa se va inlocui informatia cu variabile.

Un avantaj al acestei tehnici este faptul ca fiecare procesare rezulta intr-un log al sesiunii. Astfel se poate vedea fiecare ecran parcurs si posibilele erori care au fost obtinute.

BAPI - Business Application Programming Interface

BAPI - reprezinta o interfata definita precis care ofera acces la procese si date din sistemul de aplicatii de business din SAP. BAPI sunt descrise si stocate in BOR (Business Object Repository).

Business Object Repository (BOR) - un sistem orientat obiect in cadrul SAP. El contine tipurile de obiecte business SAP si tipurile de interfete, dar si componente cum ar fi metode, atribute sau evenimente. Ofera o vedere orientata obiect a datelor si proceselor de sistem, ierarhizeaza diverse interfete usurand gasirea de functii, ofera stabilitatea interfetelor.

BAPI-urile sunt definite ca metode ale BOR si sunt implementate ca si functii (function modules) in SAP. Astfel ele pot fi chemate din exteriorul SAP utilizandu-se tehnologii precum RFC (remote function call) sau CORBA.

Pag 4

Page 5: sinf.ase.rosinf.ase.ro/cursuri/integrare/referate2012/Referat-ERP... · Web viewReferat Integrarea datelor prin interfete in cadrul SAP Autor: Vasile Florin Grupa 1070 An II ASE -

Exista diverse tipuri de BAPI-uri:● bapi-uri de obtinere de informatie - se dau parametri pentru informatiile ce vor fi obtinute

(spre exemplu se poate da un range de coduri de material si se vor obtine toate materialele care au codul de material corespunzator). Se mai pot obtine informatii detaliate privind un singur obiect, sau informatii despre statusul acestuia.

● bapi-uri pentru creare, modificare sau stergere de obiecte (individuale sau in masa)

De regula un BAPI are o serie de parametri de intrare, parametri de iesire si o tabela return in care se vor stoca mesajele de eroare / succes / avertizare care au fost intalnite in timpul procesului. In general, pentru a permite o procesare in masa a elementelor, instructiunea de commit nu este executata in BAPI, oferindu-se celui care cheama BAPI-ul posibilitatea de a decide daca este cazul de a se persista informatiile sau nu.

Un exemplu de bapi ar fi cel de obtinere al ordinelor de aprovizionare din cadrul obiectului PurchaseOrder:

Pag 5

Page 6: sinf.ase.rosinf.ase.ro/cursuri/integrare/referate2012/Referat-ERP... · Web viewReferat Integrarea datelor prin interfete in cadrul SAP Autor: Vasile Florin Grupa 1070 An II ASE -

Functia care pentru metoda GetDetail s-ar numi BAPI_PO_GETDETAIL.

BAPI-urile sunt preferate fata de Batch Input deoarece sunt mult mai rapide.

Alte avantaje ale BAPI: - utilizabilitate - interfetele contin nume sugestive ale parametrilor doriti- stabilitate si compatibilitate - odata ce interfata unui BAPI a fost stabilita de catre SAP, aceasta va fi constanta pe o perioada lunga de timp oferind posibilitatea dezvoltarii de aplicatii care vor ramane neafectate la modificari ale software-ului SAP- model orientat obiect pentru a se putea interactiona cu usurinta cu tehnologii precum COM/DCOM, astfel permitandu-se componentelor SAP si componentelor externe sa interactioneze liber

Pag 6

Page 7: sinf.ase.rosinf.ase.ro/cursuri/integrare/referate2012/Referat-ERP... · Web viewReferat Integrarea datelor prin interfete in cadrul SAP Autor: Vasile Florin Grupa 1070 An II ASE -

- deschidere - bapi-urile pot fi accesate de pe toate platformele de dezvoltare care suporta protocolul SAP Remote Function Call (RFC)- standard - bapi-ul este o modalitate garantata de SAP de a realiza schimbari in sistem.

IDoc - Intermediate Document

IDoc-ul este formatul standard SAP pentru transferul de date dintre sisteme. Este un document “intermediar” din doua aspecte: - Orientat pe mesaj - idoc-ul este stocat in aplicatii numai prin intermediul altor formate. Este utilizat doar ca limbaj de comunicare intre aplicatii (SAP sau non-SAP).- Asincron - Datele stocate in IDoc pot fi stocate inainte de procesare, astfel asigurandu-se posibilitatea reprocesarii in cazul in care sunt intampinate erori

In general IDoc-urile sunt utilizate impreuna cu tehnologiile ALE (Application Link Enabling - utilizat pentru transfer intre sisteme in cadrul aceleiasi companii) si EDI (Electronic Document Interchange - utilizat pentru transfer intre sisteme ale unor companii diferite, in relatia cu partenerii).

Cele doua tipuri de procesare presupuse de IDoc sunt● procesare outbound:

Exemplu: - Postare document - Generare Idoc corespunzator

Pag 7

Page 8: sinf.ase.rosinf.ase.ro/cursuri/integrare/referate2012/Referat-ERP... · Web viewReferat Integrarea datelor prin interfete in cadrul SAP Autor: Vasile Florin Grupa 1070 An II ASE -

- Gasire partener si port - Transferul documentului catre sistemul extern

● procesare inbound:Exemplu: - Primire date IDoc de la sistem extern prin port extern - Creare IDoc inbound - Gasire tipul de procesare corect prin intermediul profiului partenerului - Creare document de aplicatie (si postare)

Un IDoc are urmatoarea structura:

Totusi transmisia intre 2 sisteme a IDoc-ului presupune doar transferul Control Record si Data Records. Control Record - contine informatii de control precum IDoc ID, Partenerul, tipul IDoc-ului, structura externa.Data Records - contine o parte de control in care se definesc segmentele continute si segmentele (un segment contine un rand de informatii). Intre segmente exista si o ierarhie (spre exemplu se poate trimite un Ordin de cumparare impreuna cu randurile ordinului de cumparare).

Pag 8

Page 9: sinf.ase.rosinf.ase.ro/cursuri/integrare/referate2012/Referat-ERP... · Web viewReferat Integrarea datelor prin interfete in cadrul SAP Autor: Vasile Florin Grupa 1070 An II ASE -

PI - Process Integration

PI este un software de integrare (Enterprise Integration Application - EAI - Software) care este utilizat pentru schimbul de informatii dintre sistemele din interiorul companiei si cele din exteriorul companiei.

SAP considera PI broker de integrare “integration broker”, deoarece mediaza intre entitati cu cerinte variate din punct de vedere al conectivitatii, formatului si protocoalelor. PI are rolul de a reduce costul cu integrarea aplicatiilor oferind un singur repository pentru toate interfetele. Rolul central il detine SAP Integration Server, care faciliteaza interactiunea intre diverse sisteme de operare si aplicatii de-a lungul computerelor ce formeaza reteaua de calculatoare.

SAP PI nu este o singura componenta dar o colectie de componente care lucreaza impreuna flexibil pentru a implementa scenarii de integrare. Arhitectura include componente utilizate la timpul designului, configurarii si executarii.

Componentele incluse sunt: ● System Landscape Directory - este un repository central pentru informatii despre

software si sisteme din centre de date care simplifica vederea intregului sistem. Acesta ofera informatii despre toate modulele SAP. SLD este aplicatie server care comunica cu aplicatiile client prin intermediul HTTP

● Integration Builder - este un framework client-server pentru accesarea si editarea obiectelor de integrare. Ofera doua unelte:

○ Integration Repository - ofera mediul pentru a proiecta, dezvolta si intretine tipurile de date, structurile de mesaje, interfetele, maparile, procesele de integrare si scenariile de integrare independent de decorul de sistem (System Landscape)

○ Integration Directory - o unealta care ofera mediul pentru configurarea scenariilor din Integration Repository. Cu ajutorul acestuia putem defini si intretine specificatii ale unor potentiali emitatori si receptori de mesaje, descrierile optiunilor tehnice ale acestora pentru schimbul de informatii si specificatii privind reguli de rutare pentru schimbul de mesaje.

● Integration Server - serverul de integrare este motorul central de procesare al PI. Toate mesajele, fie PI sau non-PI, Application-2-Application sau Business-2-Business, indiferent de tehnologia din spate sau de vendor, sunt procesate intr-un mod consistent.

● Central Monitoring - monitorizarea centrala a SAP PI ofera optiunea de executie a diverse activitati de monitorizare. Runtime Workbench este unealta centrala pentru procesarea de monitorizare PI si ofera optiunea de a naviga prin functiunile de monitorizare ale motorului de integrare, ca si integrarea cu Computer Center Management System (CCMS), si Process Monitor Infrastructure (PMI) al SAP.

● Adapter Engine - motorul de adaptori este utilizat pentru a conecta motorul de integrare la SAP si la alte sisteme. Diversi adaptori sunt utilizati in interiorul Adapter Engine pentru a converti mesaje bazate pe XML si HTTP la protocolul si formatul specific

Pag 9

Page 10: sinf.ase.rosinf.ase.ro/cursuri/integrare/referate2012/Referat-ERP... · Web viewReferat Integrarea datelor prin interfete in cadrul SAP Autor: Vasile Florin Grupa 1070 An II ASE -

necesar pentru aceste sisteme. Acesti adaptori sunt parte a Adapter Framework, care este bazat pe SAP J2EE Engine si J2EE Connector Arhitecture (JCA). Adapter Framework ofera interfete pentru configurare, management si monitorizare a adaptoarelor.

● Proiectare. PI utilizeaza Integration Repository pentru a proiecta structura mesajelor pentru sistemele implicate. Unelte de mapari ale mesajelor permit dezvoltatorului sa mapeze atribute pentru structuri in mod grafic. Astfel se obtin mapari Java, XLST si ABAP.

● Configurare. Dupa ce a fost proiectat scenariul, Integration Directory poate fi utilizat pentru a stabili parametri tehnici pentru obiectele create. Aici se pot specifica cine sunt potentialii emitatori si receptori ai mesajelor, care ar trebui sa fie rutarea tehnica si logica a mesajelor, care adaptor ar trebui utilizat pentru procesare etc.

● Procesarea mesajelor. Sistemul SAP utilizeaza tehnica sa proprie de a declasa IDoc-uri si a utiliza adaptorul IDoc din PI. Odata ce un IDoc a fost declansat cu succes in SAP, PI va realiza restul procesarii, PI va converti mesajul in XML pentru procesare interna. In aceasta etapa PI va verifica parametrii tehnici privind destinatarul mesajului si catre ce interfata ar trebui trimis.

● Monitorizarea mesajelor. Aceste mesaje procesate pot fi monitorizate si urmarite utilizand Run Time Workbench. Utilizand aceasta unelta pot fi monitorizati adaptorii de trimitere si primire de mesaje, mesajele ce vor fi trimise si cele ce vor fi primite, erori etc.

Pag 10

Page 11: sinf.ase.rosinf.ase.ro/cursuri/integrare/referate2012/Referat-ERP... · Web viewReferat Integrarea datelor prin interfete in cadrul SAP Autor: Vasile Florin Grupa 1070 An II ASE -

Concluzii

In functie de varianta de software instalata, SAP ofera o gama varianta de modalitati de conectare si integrare cu alte sisteme. In cazul SAP Netweaver cea mai buna varianta ar fi PI, middleware-ul oferit de acesta realizand cel mai bine o conexiune scalabila cu cat mai multe sisteme. In cazul unor sisteme mai vechi, daca avem trafic scazut si nu este necesara comunicarea real-time se poate opta pentru crearea unei functii care sa apeleze batch input si apelarea acesteia prin intermediul RFC. Daca totusi este necesara comunicarea real-time ar trebui utilizat BAPI.

Daca se doreste stocarea si arhivarea mesajelor dintre sisteme probabil tehnologia ALE / IDoc ar fi cea mai potrivita.

Bibliografiehttp :// help . sap . com / saphelp _ wp / helpdata / en /69/ c 250274 ba 111 d 189750000 e 8322 d 00/ content . htm - Batch Input

BAPI Programming, 2000, SAP AG

BC620 - SAP IDOC Interface (Technology)

http :// www . architectsap . com / blog / sap / sap - pi - process - integration - an - integration - platform /

Pag 11