1. Realizzazione di applicazioni client
con librerie di interfaccia di un
sistema ERP
Fabrizio Granchelli
Università di L’Aquila
2. Che cos’è un sistema ERP
Un Enterprice Resource Planning è un Sistema
Informativo per la Gestione Integrata dei Processi
Aziendali
I Processi Aziendali sono tutte le attività e funzioni svolte all’interno di
una azienda che coinvolgono le varie aree di un Sistema Produttivo;
Per Gestione Integrata si intende l’integrazione on-line e real-time dei
dati che mettono in relazione tra loro i vari processi aziendali
Un ERP rappresenta un Sistema Informativo perché è supportato da
strumenti e risorse dell’Informatic Tecnology
3. Architettura di SAP R/3
Hardware, Network, Sistemi Operativi, Database,
Frontends
Client Server
Piattaforme: UNIX, Windows, IBM, ...
Middleware (MMBC)
Linguaggio ANSI SQL
Protocollo TCP/IP
Chiamate di Sistema C, Posix
Remote Function Call ( RFC )
Business Application Programming Interface ( BAPI )
Applicazioni R/3
Applicazioni Client: Effettuano transazioni su SAP ( C++, Java, ... )
Servizi di presentazione: Reporting ( ABAP )
Servizi di accesso ai dati: Query ( ABAP )
5. Business Object
BO
Business Framework
Realtà aziendale
Incapsula i dati e i processi di una area aziendale
Sono nascosti i dettagli implementativi
Le applicazioni esterne possono accedere ai dati dell’oggetto solo
attraverso i suoi metodi pubblici
6. Struttura di un SAP Business Object
Kernel: Dati inerenti all’oggetto ( stato interno )
Integrity: Regole e vincoli che costituiscono la logica dell’oggetto
Interface: Librerie di interfaccia ( metodi BAPI )
Access: Tecnologie di interfacciamento
7. Business Application
Programming Interface
Permettono di accedere ai dati di un BO e di utilizzare i relativi metodi
Sono definite come un metodo di un BO di SAP
Sono implementate attraverso moduli funzionali che supportano il
protocollo RFC
8. Utilizzo delle BAPI
L’accesso a una BAPI avviene in due modi:
Accesso di tipo object-oriented
Accesso attraverso una chiamata RFC al modulo funzionale che
implementa la BAPI
I passi da seguire per invocare una BAPI sono:
Identificare il BO che contiene la BAPI
Determinare le informazioni sui parametri che definiscono l’interfaccia
della BAPI
Includere nell’applicazione, la chiamata BAPI con i parametri richiesti
9. Accesso Object Oriented
Windows 95 o NT
– BAPI ActiveX Control
Libreria di classi BAPI C++
Piattaforme con Java Virtual Machine
– Libreria di classi BAPI Java
10. Classi BAPI C++
La libreria di classi BAPI C++ offre una
proxy class per ogni SAP BO che ha metodi
pubblici.
Una proxy class è un rappresentante locale
di un’istanza remota di un BO in R/3.
11. Classi Proxy
(from Logical View)
Applicazione C++
Classi RFC
(from Logical View)
APPLICAZIONE C++ UTILIZZANDO CLASSI PROXY
12. Inserimento in remoto di un ordine di vendita
(Sales Order) su SAP R/3
Applicazione Client
Apre una connessione con sistema
SAP R/3
Creazione nuovo ordine di vendita
Server R/3
Inserimento ordine di vendita
transazioni in
remoto
transazioni su SAP R/3
(modulo SD)
13. Chiamata BAPI
Connection :
CRfcConnection
oOrder :
CBoSalesOrder
: Server R/3
SalesOrder(BusinessObjectSAP)
: Applicazione
Client
Crea oggetto
Connection Connection.SafeOpen()
Crea oggetto
oOrder oOrder.Createfromdata
Crea istanza di
BO:SalesOrder
Chiamata RFC
SEQUENCE DIAGRAM
BAPI Createfromdata