SAP: ERP nel cuore del 'Sistema Azienda' Dott. Alessandro Ciampichetti Analista SAP? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 1
Indice ERP Requisiti e Caratteristiche Client/Server vs. Host-Based Architetture e Stili SAP Architettura Logica e Fisica Dizionario dati Transazioni Livelli di modifica e trasporti Organizzazione DB ABAP Workbench e linguaggio ABAP/4? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 2
ERP - Enterprise Resource Planning? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 3
Requisiti sistema informatico Software configurabile e scalabile Supporto ai processi aziendali Apertura verso altri sistemi/architetture Funzionalità avanzate Evoluzione nel tempo e qualità del supporto? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 4
ERP - Caratteristiche Sistema informativo gestionale integrato Copertura dei principali processi aziendali (logistica, contabilità, produzione, risorse umane) Software c/s modulare e configurabile basato sulla tecnologia relazionale (e a oggetti) Dati strutturati in entità operative a livello di transazioni commerciali Assetto per funzioni? Assetto per processi? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 5
ERP - Caratteristiche Architettura client/server a 3 livelli (presentation, application e database)? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 6
ERP - Evoluzione CRM (Customer Relationship Management) e SCM (Supply Chain Management) Data Warehouse, Data Mining ASP (Application Service Providing) PMI (Piccole e Medie Imprese) Internet (e-commerce, e-procurement, B2B, B2C,...)? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 7
Client/Server versus Host-Based? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 8
Architetture a confronto Client/Server Host-Based Client Application L A N WAN Server application Server application Più processori Molti luoghi Controllo del flusso di lavoro (event driven) Database relazionali Indipendenza applicazione - dati Un processore Un unico luogo Flusso di lavoro predefinito Database gerarchici, modello reticolare Dipendenza applicazione - dati? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 9
I 5 stili di Client/Server I componenti Gli stili Data Management Function Presentation Distributed presentation Remote presentation Distributed function Remote data management Distributed data management? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 10
C/S: Benefici per l azienda Miglioramento dei servizi Flessibilità SW (downsizing, rightsizing, portabilità) Flessibilità HW (riduzione dei costi, scalabilità) Produttività utente? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 11
C/S: Rischi per l azienda Incremento complessità SI Variazioni organizzative Incremento dei costi operativi e/o di sviluppo (nelle fasi iniziali)? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 12
Systems, Applications, Products in data Processing? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 13
Il Sistema R/3 PP Production Planning MM Materials Mgmt. SD Sales & Distribution R/3 FI Financal Accounting CO Controlling AM Fixed Assets Mgmt. QM Quality Mgmt. PM Plant Maint. Client / Server ABAP/4 HR Human Resources IS Industry Solutions WF Workflow PS Project System? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 14
Il Sistema R/3 Customizing Online Service System R/3 XXL DMS BAPI CORBA/(D)COM ALE Sistemi SAP Altri sistemi EDI? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 15
Architettura logica? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 16
Architettura logica SAP Applications User Interface Application Modules Screen Interpreter ABAP/4 Interpreter Data Dictionary Communication Intercafe System software and Platforms? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 17
Architettura fisica? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 18
Architettura fisica Presentation Application Database Central System Remote Presentation Two-tier Client/Server Three-tier Client/Server Multi-Layer Cooperative Client/Server? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 19
Architettura fisica Distribuzione del carico, sfruttamento diverse piattaforme HW, un solo DB server (di norma) Central instance (servizi di base): su DB server o application server Comunicazioni basate su TCP/IP Presentation Application Lan, Wan, WEB Lan (>10 Mbit/sec), FDDI Application Database? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 20
Topologia di rete? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 21
Piattaforme supportate Presentation Java AWT Web Browser MS Windows OSF/Motif OS2 Mac Middleware COM/DCOM ActiveX Corba HTTP/XML MQ - Series MSMQ Linguaggi ABAP/4 (Objects) C/C++ Java RDBMS Ababas IBM DB2 /UDB /400 /390 Informix MS SQL Server Oracle SO HP UX IBM AIX Sun Solaris Unix NT Midrange Mainframe Linux Siemens OS/390 Compaq Digital NT OS/400 Architettura PA Power PC Sparc MIPS Alpha Alpha Intel AS/400 S/390? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 22
SapGUI Conforme allo standard IBM CUA (Common User Access) Carico di rete contenuto verso il livello application (0,5/3 K per ogni dialog step - Release 4.0)? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 23
Dizionario Dati? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 24
Dizionario Dati - Oggetti Base Tabella Tabella Dominio Elemento dati Usa Usa Routine di conversione e controllo valori associate ai domini Campo Dominio come meta-classe ed Elemento dati come classe Tabelle: definizione logica? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 25
Dizionario Dati - Componenti Pool Cluster DD Search-help Viste Indici secondari Tabelle Lock Relazioni Campi Elementi dati Domini Valori? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 26
Dizionario Dati - Integrazione Presupposto: modalità interpretativa Rigenerazione automatica dei programmi a fronte di modifiche nel DD, rigenerazione (attivazione) degli oggetti DD dipendenti? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 27
Transazioni? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 28
Transazioni: concetti generali TCode Dialog step Evento GUI? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 29
Transazioni: ambiente di sviluppo Sequenza di schermate ( Dynamic Processing, Dynpro ) Programma di dialogo ( Module pool ) Process After Input - PAI Process Before Output - PBO Dialog processor DB ABAP/4 processor? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 30
Il Sistema R/3? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 31
Sistema R/3: Istanza Definizione: Installable administration unit Sistema R/3: consiste di 3 livelli di servizi Presentation SAPGui Client Istanza Application Database SAP Server RDBMS Server? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 32
Sistema R/3: SAP Server Definizione: componente di una istanza R/3 che fornisce due tipologie di servizi Application Communication Message server: comunicazioni veloci fra AS Gateway server: comunicazioni fra AS e con altri sistemi (CPI-C)? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 33
Sistema R/3: Application Server AS Process request Dispatcher Gateway Work process Work process... Work process D: Dialog V: Update B: Background processing S: Print formatting (Spool) E: SAP lock admin. (enqueue) G: Gateway? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 34
Mandante (Client) Partizione logica del DB; corrisponde all unità organizzativa di più alto livello Il mandante deve essere specificato in fase di logon Istanza SAP: composta da più mandanti Tabelle: dipendenti dal mandante (primo campo chiave è il mandante) e indipendenti Gestione: copia /export del mandante, configurazione (abilitazione al customizing/sviluppo)? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 35
Livelli di modifica e trasporti? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 36
Livelli di modifica Sviluppi Custom 3 Enhance ment 2 Customizing 1 Classe Progr ABAP WB Cust. exit 1 Applicazioni R/3 (SAP standard) 4 Modifiche (Repair) di Cust. exit 2 sviluppo R/3 Basis OSS Software di sistema? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 37
Sistema trasporti Sviluppo Test Produzione 1 2 3 3 1. Rilascio 2. Esportazione 3. Importazione Transport Info system? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 38
Sistema trasporti Workbench/Customizing Organizer Change request Task Task Task Chiavi repository oggetti creati/modificati R3TR TRAN ZA01 R3TR PROG SAPMZCAQ LIMU REPS MZACQTOP...? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 39
Organizzazione DB? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 40
DB: Tablespace (Oracle) DATABASE TABLESPACE 1... TABLESPACE n Extent Data file 1 Data file 2 A0 B0 A2 A1 B1 A3 Database block KEY Tabella A: comprende 4 extent Tabella B: comprende 2 extent Spazio libero da essere allocato come 1 o più extent? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 41
DB: Update DB Update request Component 1 Component 2... Call f 1 Call f 2 Component n Call f n Update request Critical syncronous update (U1) Non Critical asyncronous update (U2)? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 42
DB: Update U1 D 1 D 2 D 3 Commit Rollback Singolo AS/WP DB LUW (Logical Unit of Work) U2 D 4 D 5 LUW LUW Commit e Rollback indipendenti (update task) DB DB? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 43
DB: Lock SAP Locking: estensione dei meccanismi di lock del DBMS (lock a livello di transazione) Modalità: E(sclusivo), S(hared), X(esclusivo non cumulativo) Lock definiti come oggetti del DD Requisito: lock DB a livello di record? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 44
ABAP Workbench? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 45
Ambiente di sviluppo integrato Function library (API) M e n u P a i n t e r Screen Painter Screen Interpreter Data Dictionary Flow control System interfaces ABAP/4 ABAP/4 Interpreter System software and platforms R F C C P I C? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 46
ABAP/4 Advanced Business Application Programming? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 47
Generalità Linguaggio della 4 a Generazione (Gestionale, Strutturato, Interpretato - pseudo codice) Paradigma: imperativo; logica ad eventi Sintassi/Semantica di tipo procedurale con estensioni dichiarative (ABAP SQL / Native SQL) Debug integrato nei tool di sviluppo, editor ipertestuale con CASE di autocomposizione Logica applicativa scritta interamente in ABAP/4? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 48
Struttura di un programma Sezione Identificativa Report <name>. o Program <name>. Parametri di selezione Parameters: o Select-options:... Sezione Dichiarativa DATA: TABLES: CONSTANTS: Sezione Procedurale MOVE...... WRITE...? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 49
Gestione degli eventi Struttura di un report REPORT <name> DATA.:.. PARAMETERS:... Esecuzione di un report Start of selection SELECT-OPTIONS:... AT SELECTION-SCREEN.. TOP-OF-PAGE.. END-OF- PAGE... START -OF - SELECTION.. END-OF-SELECTION. Top of page End of selection End of page Module pool: PAI e PBO? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 50
Dichiarazione dati DATA: NAME1(25) TYPE C, NAME2 LIKE NAME1, NAME3 LIKE NAME1. Riferimento a campi interni (legame statico) DATA: BEGIN OF SALES_REC, NAME1 LIKE LFA1-NAME1, CITY LIKE LFA1-ORT01, SALES LIKE LFC3-SOLL, END OF SALES_REC. Riferimento a campi DD (legame dinamico) DATA: BEGIN OF TABLE OCCURS 10. INCLUDE STRUCTURE T001G. DATA: END OF TABLE. Riferimento a intere strutture DD (legame dinamico)? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 51
Tabelle interne Paese Vendite D 100 APPEND <tabella interna>. : Paese Vendite D 100 Buffer (Header Line) F 500 GB 1100 I 5000 carica il contenuto del record di buffer alla fine della tabella interna. F 500 GB 1100 I 5000 D 100 Tabella interna Paese Vendite D 100 F 500 GB 1100 D 5000 COLLECT <tabella interna>. : somma il contenuto del buffer ad un eventuale record esistente con la stessa chiave (campi non numerici) ; se tale record non esiste funziona come APPEND. Paese Vendite D 100 F 500 GB 1100 D 5100 Buffer (Header Line) Tabella interna? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 52
Form PROGRAM RSDEMO1 Chiamata sub. TASSE Definizione Form TASSE ( Calcolo Tasse ) Chiamata interna PROGRAM RSDEMO2 Chiamata FormTASSE PROGRAM RSDEMO4 Def.Form TASSE ( Calcolo Tasse ) Chiamata esterna PROGRAM RSDEMO3 Chiamata funzione TASSE ABAP/4 Function library Function module TASSE ( Calcolo Tasse ) Chiamata in una libreria di funzioni? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 53
Funzioni di libreria CALL FUNCTION <nome> EXPORTING <parametri> IMPORTING <parametri> TABLES <parametri> Exceptions <eccezioni>. Non sono implementate le funzioni? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 54
ABAP SQL SELECT SINGLE * FROM <tabella> WHERE <campo chiave 1> = <campo 1> AND <campo chiave 2> = <campo 2>... AND <campo chiave n> = <campo n>. Accesso ad un singolo record.................................... Data Base............ SELECT * FROM <tabella> WHERE <campo tabella 1> <op> <campo 1> AND <campo tabella 2> <op> <campo 2>... AND <campo tabella n> <op> <campo n>. ENDSELECT. Lettura di più record.................................... Data Base Data Base............ SELECT * FROM <tabella> INTO TABLE <tabella interna> WHERE <campo chiave 1> = <campo 1> AND <campo chiave 2> = <campo 2>. Caricamento............ tabella interna........................ Tabella interna....................................? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 55
ABAP Objects Estensione object-oriented del linguaggio ABAP/4 Integrato con il linguaggio originale e i relativi tool di sviluppo Modelli: Java e C++ Supporta solo l ereditarietà singola Supporta la gestione di eventi? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 56
ABAP Objects Concetto di classe locale e globale Tools: object browser / class builder, libreria grafica Garbage collector Evoluzione del sistema: ABAP/4? ABAP Objects? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 57
ABAP Objects CLASS C_COUNTER DEFINITION. PUBLIC SECTION. METHODS: SET_COUNTER IMPORTING VALUE(SET_VALUE) TYPE I, INCREMENT_COUNTER, GET_COUNTER EXPORTING VALUE(GET_VALUE) TYPE I. PRIVATE SECTION. DATA COUNT TYPE I. ENDCLASS. CLASS C_COUNTER IMPLEMENTATION. METHOD SET_COUNTER. COUNT = SET_VALUE. ENDMETHOD. METHOD INCREMENT_COUNTER. ADD 1 TO COUNT. ENDMETHOD. METHOD GET_COUNTER. GET_VALUE = COUNT. ENDMETHOD. DATA CREF TYPE REF TO C_COUNTER DATA NUMBER TYPE I VALUE 5 CREATE OBJECT CREF. CALL METHOD CREF->SET_COUNTER EXPORTING SET_VALUE = NUMBER. ENDCLASS..? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 58
ERP esteso mysap.com (BW, APO, CRM, SCM, ) e PMI Business Framewok ITS: Internet Transaction Server Release 6.0: Kernel supporta ABAP Objects e Java? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 59
Computer CRM - Mobile Sales Opzionali SAP BW Server Laptop Mobile Front-End Minicomputer Communication Station CRM Server MSA Client MTS Middleware RDBMS IPC JVM DCOM DCOM Connector RFC Admin Console SAP APO Sql Server Backweb Client HTTP Backweb Server RDBMS RDBMS RFC SAP R/3 Mobile development Station Mobile Application Studio Application Repository Sql Server Plugin 2000 RDBMS Italy Germany? MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 60