Lezione SAP 2
Transcript of Lezione SAP 2
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 1
SAP: ERP nel cuore del SAP: ERP nel cuore del 'Sistema Azienda''Sistema Azienda'
Dott. Alessandro CiampichettiAnalista SAP
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 2
IndiceIndice 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 / 3
ERP - Enterprise Resource ERP - Enterprise Resource PlanningPlanning
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 4
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 / 5
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 / 6
Architettura client/server a 3 livelli (presentation, application e database)
ERP - Caratteristiche
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 7
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 / 8
Client/Server versus Host-Based Client/Server versus Host-Based
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 9
Architetture a confronto
Client/Server Host-Based
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
Server application
Server application
LAN
WAN
Client Applicatio
n
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 10
I 5 stili di Client/Server
I componenti
DataManagement
Function
Presentation
Gli stili
Distributed presentation
Remote presentation
Distributed function
Remote data management
Distributed data management
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 11
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 / 12
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 / 13
Systems, Applications, Products Systems, Applications, Products in data Processingin data Processing
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 14
Il Sistema R/3
R/3R/3Client / ServerClient / Server
ABAP/4ABAP/4
COCOControllingControlling
AMAMFixed AssetsFixed Assets
Mgmt.Mgmt.
PSPSProjectProjectSystemSystem
WFWFWorkflowWorkflow
ISISIndustryIndustry
SolutionsSolutions
MMMMMaterialsMaterials
Mgmt.Mgmt.
HRHRHumanHuman
ResourcesResources
SDSDSales &Sales &
DistributionDistribution
PPPPProductionProductionPlanningPlanning
QMQMQualityQualityMgmt.Mgmt.
FIFIFinancal Financal
AccountingAccounting
PMPMPlantPlantMaint.Maint.
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 15
Il Sistema R/3
OnlineService System
Sistemi SAPAltri sistemi
EDIALE
Custom
izing
R/3R/3XXL
DMSBAPI
CORBA/(D)COM
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 16
Architettura Architettura logicalogica
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 17
Architettura logica
SAP Applications
Application Modules
System software and Platforms
DataDictionary
Screen Interpreter ABAP/4 Interpreter
User
Inte
rface
Comm
unication Intercafe
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 18
Architettura Architettura fisicafisica
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 19
Architettura fisica
Presentation
Application
Database
Two-tierClient/Server
Three-tierClient/Server
Remote Presentatio
n
Multi-Layer Cooperative
Client/Server
Central System
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 20
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 ApplicationLan, Wan, WEB
Application DatabaseLan (>10 Mbit/sec),
FDDI
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 21
Topologia di rete
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 22
Piattaforme supportate
JavaAWT
WebBrowser
MSWindows OSF/Motif OS2 MacPresentation
COM/DCOMActiveX Corba HTTP/XML MQ - Series
MSMQMiddleware
ABAP/4 (Objects) C/C++ JavaLinguaggi
Ababas IBM DB2/UDB /400 /390 Informix MS
SQL Server OracleRDBMS
Unix NT Midrange MainframeSO
HPUX
IBMAIX
SunSolaris LinuxSiemens OS/390OS/400
S/390AS/400Alpha Intel
CompaqDigital NT
PA PowerPC Sparc MIPS AlphaArchitettura
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 23
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 / 24
DizionarioDizionarioDatiDati
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 25
Dizionario Dati - Oggetti Base
Campo
Tabella Tabella
Elemento dati
Usa
Dominio
Usa
Routine di conversione e controllo valori associate ai domini
Dominio come meta-classe ed Elemento dati come classe Tabelle: definizione logica
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 26
Indici secondari
Relazioni
Valori
CampiCampi
Tabelle
PoolCluster
Viste
Search-help
Lock
DominiElementidati
Dizionario Dati - Componenti
DD
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 27
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 / 28
TransazioniTransazioni
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 29
Transazioni: concetti generali
Dialog stepTCode
Evento GUI
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 30
Transazioni: ambiente di sviluppo
Sequenza di schermate( Dynamic Processing, Dynpro )
Process After Input - PAIProcess Before Output - PBO
Programma di dialogo
( Module pool )
DB
Dialog processor
ABAP/4 processor
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 31
Il Sistema Il Sistema R/3R/3
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 32
Sistema R/3: Istanza
Application SAP Server
Database RDBMS
Definizione: ‘Installable administration unit’ Sistema R/3: consiste di 3 livelli di servizi
Istanza
Presentation SAPGui Client
Server
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 33
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 ASGateway server: comunicazioni fra AS e con
altri sistemi (CPI-C)
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 34
Dispatcher
AS
Sistema R/3: Application Server
Gateway
Work process
Work process
Work process...
D: DialogV: UpdateB: Background processing
Process request
S: Print formatting (Spool)E: SAP lock admin. (enqueue)G: Gateway
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 35
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 / 36
Livelli di modificaLivelli di modificae trasportie trasporti
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 37
Classe disviluppo
R/3 Basis
Software di sistema
ABAPWB
ProgrCust. exit 1
Cust. exit 2
Applicazioni R/3(SAP standard)
CustomizingCustomizing1 1
Enhancement
22
Sviluppi Sviluppi
CustomCustom
33
Modifiche (Repair)
4
OSS
Livelli di modifica
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 38
Sistema trasporti
Sviluppo Test Produzione
Transport Info system
1. Rilascio2. Esportazione3. Importazione
12
3 3
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 39
Task Task
Change requestTask
Workbench/Customizing Organizer
Chiavi repository oggetti creati/modificati
R3TR TRAN ZA01
R3TR PROG SAPMZCAQ
LIMU REPS MZACQTOP
...
Sistema trasporti
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 40
OrganizzazioneOrganizzazioneDBDB
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 41
DB: Tablespace (Oracle)
DATABASE
TABLESPACE 1 ... TABLESPACE n
Tabella A: comprende 4 extentKEY
Tabella B: comprende 2 extent
Spazio liberoda essere allocatocome 1 o più extent
Extent
Data file 1 Data file 2A0
A1B1
B0 A2
A3
Database block
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 42
DB: Update
DBUpdate request
Component1 Component2
Componentn ...
Call f1 Call f2
Call fn
Critical Critical syncronous update syncronous update
(U1)(U1)
Non Critical asyncronous update
(U2)
Update request
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 43
DB: Update
D4 D5
DB
LUWU2
Commit e Rollback indipendenti (update task)
DB
LUW
CommitRollback
Singolo AS/WP
DBLUW (Logical Unit of
Work)
U1D1 D2 D3
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 44
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 / 45
ABAP ABAP WorkbenchWorkbench
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 46
System software and platforms
System interfaces
Flow control
DataDictionary
ScreenInterpreter
ABAP/4Interpreter
RFC
CPIC
Ambiente di sviluppo integrato
Function library (API)
Menu
Painte
Screen Painter
ABAP/4
r
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 47
ABAP/4ABAP/4Advanced Business Application ProgrammingAdvanced Business Application Programming
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 48
Generalità Linguaggio della 4a 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 / 49
Sezione IdentificativaReport <name>.oProgram <name>.
Sezione DichiarativaDATA:TABLES:CONSTANTS:
Sezione ProceduraleMOVE ............WRITE .......
Struttura di un programma
Parametri di selezioneParameters: … oSelect-options: ...
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 50
REPORT <name>
DATA.: ..…
PARAMETERS: ...
SELECT-OPTIONS: ...
AT SELECTION-SCREEN. .TOP-OF-PAGE. .END-OF- PAGE. . .
START -OF - SELECTION. .END-OF-SELECTION.
Struttura di un report Esecuzione di un reportStart
ofselection
Topof
page
Endof
page
Endof
selection
Gestione degli eventi
Module pool: PAI e PBO
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 51
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)
Dichiarazione dati
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 52
Tabelle interne
APPEND <tabella interna>. :
carica il contenuto del record di buffer alla fine della tabella interna.
Paese VenditeD 100
F 500GB 1100
I 5000
Paese VenditeD 100
F 500
GB 1100
I 5000
D
Buffer (Header Line)
Tabella interna
100
COLLECT <tabella interna>. :
somma il contenuto del bufferad un eventuale record esistentecon la stessa chiave (campi non numerici) ; se tale record non esistefunziona come APPEND.
Buffer (Header Line)
Tabella interna
Paese VenditeD 100
F 500
GB 1100
D 5000
Paese VenditeD 100
F 500
GB 1100
D 5100
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 53
Chiamata interna
PROGRAM RSDEMO1Chiamata sub. TASSE
Definizione Form TASSE( Calcolo Tasse )
Chiamata esterna
PROGRAM RSDEMO4
Def.Form TASSE( Calcolo Tasse )
PROGRAM RSDEMO2
Chiamata FormTASSE
Form
Chiamata in una libreria di funzioni
ABAP/4 Function library Function module TASSE( Calcolo Tasse )
PROGRAM RSDEMO3
Chiamata funzione TASSE
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 54
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 / 55
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
SELECT * FROM <tabella> INTO TABLE <tabella interna>
WHERE <campo chiave 1> = <campo 1>AND <campo chiave 2> = <campo 2>. Caricamento
tabella interna
..........
...
..........
...
..........
...
..........
...
..........
...
..........
...
Tabella interna
Data Base
ABAP SQL
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 56
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
ABAP Objects
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 57
Concetto di classe locale e globale
Tools: object browser / class builder, libreria ‘grafica’
Garbage collector
Evoluzione del sistema: ABAP/4 ABAP Objects
ABAP Objects
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 58
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.
ENDCLASS..
DATA CREF TYPE REF TO C_COUNTERDATA NUMBER TYPE I VALUE 5
CREATE OBJECT CREF.
CALL METHOD CREF->SET_COUNTER EXPORTING SET_VALUE = NUMBER.
ABAP Objects
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 59
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 / 60
CRM - Mobile Sales
SAP R/3
Sql Server
Laptop