Sei sulla pagina 1di 60

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
Server
Server
application
application
L
Client A
Application N
Server
Server
WAN application
application

 Più processori  Un processore


 Molti luoghi  Un unico luogo
 Controllo del flusso di lavoro  Flusso di lavoro predefinito
(event driven)  Database gerarchici,
 Database relazionali modello reticolare
 Indipendenza applicazione -  Dipendenza applicazione -
dati dati

 MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 9


I 5 stili di Client/Server

I componenti Gli stili

Data  Distributed
Management
presentation
 Remote presentation
Function  Distributed function
 Remote data
Presentation 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

SD FI
Sales & Financal
Distribution Accounting
MM CO
Materials Controlling
Mgmt.
PP AM

R/3
Production Fixed Assets
Planning Mgmt.

QM Client / Server PS
Project
Quality
Mgmt.
PM ABAP/4 WF
System

Plant Workflow
Maint.
HR IS
Human Industry
Resources Solutions

 MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 14


Il Sistema R/3

g Online
in
iz Service
o m System
t
C us

R/3
XXL

CO BA
DMS RB PI
A/
(D
)C
O
M
ALE Sistemi SAP
EDI
Altri sistemi

 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

Application Modules

Communication Intercafe
User Interface

Screen Interpreter ABAP/4 Interpreter


Data
Dictionary

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

Lan, Wan, WEB


Presentation Application

Application Database
Lan (>10 Mbit/sec),
FDDI
 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

Java Web MS
Presentation OSF/Motif OS2 Mac
AWT Browser Windows

COM/DCOM MQ - Series
Middleware Corba HTTP/XML
ActiveX MSMQ

Linguaggi ABAP/4 (Objects) C/C++ Java

RDBMS IBM DB2 MS


Ababas Informix Oracle
/UDB /400 /390 SQL Server

Unix NT Midrange Mainframe


SO
HP IBM Sun Compaq
Linux Siemens NT OS/400 OS/390
UX AIX Solaris Digital

Architettura PA Power
Sparc MIPS Alpha Alpha Intel AS/400 S/390
PC

 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

Usa

Elemento dati
 Routine di conversione e controllo valori associate ai domini

 Dominio come meta-classe ed Elemento dati come classe

 Tabelle: definizione logica

Usa

Campo

 MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 25


Dizionario Dati - Componenti

Pool Search-help
Cluster DD
Viste

Indici
Tabelle
secondari
Lock

Relazioni Elementi
Campi
Campi Domini
dati

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 )

Process After Input - PAI


Process Before Output - PBO
Programma di dialogo
( Module pool )
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

Application SAP Server


Istanza Server
Database RDBMS

 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
AS

Work
Workprocess
process
Process Dispatcher
Dispatcher
request
Work
Workprocess
process
...

Gateway Work
Workprocess
process
Gateway

D: Dialog S: Print formatting (Spool)

V: Update E: SAP lock admin. (enqueue)

B: Background processing 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 Enhance Customizing


Custom ment 1
3 2

Applicazioni R/3 4 Modifiche


Progr ABAP (Repair)
(SAP standard)
Classe WB Cust. exit 1

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

Produzione
Sviluppo Test

1 3 3
2 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

Data file 1 Data file 2


KEY
A0 B0 A2
Tabella A: comprende 4 extent
Extent A1
Tabella B: comprende 2 extent
B1
A3
Spazio libero
da essere allocato
come 1 o più extent

Database block

 MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 41


DB: Update

Component1 Call f1
DB
Component2 Call f2
Update request ...
Componentn Call fn

Update request

Critical Non Critical


syncronous update (U1) asyncronous update (U2)

 MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 42


DB: Update

D1 D2 D3 Commit Singolo
Rollback AS/WP
U1
LUW (Logical Unit of Work)
DB

D4 D5 Commit e Rollback
U2 indipendenti (update task)
LUW LUW

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
Screen Painter ABAP/4
e R
n
F
u
Screen ABAP/4 C
Data
P Interpreter Interpreter
Dictionary
a C
i
n Flow control P
t I
e
r
System interfaces C

System software and platforms

 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 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 / 48


Struttura di un programma

Sezione Identificativa
Report <name>. Parametri di selezione
o Parameters: …
Program <name>. o
Select-options: ...

Sezione Dichiarativa
DATA: Sezione Procedurale
TABLES:
CONSTANTS: MOVE ......
......
WRITE .......

 MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 49


Gestione degli eventi

Struttura di un report Esecuzione di un report


REPORT <name> Start
DATA.: ..…
of
selection
PARAMETERS: ...

SELECT-OPTIONS: ...
Top End
AT SELECTION-SCREEN.
. of of
TOP-OF-PAGE. page page
.
END-OF- PAGE.
. End
.
of
START -OF - SELECTION. selection
.
END-OF-SELECTION.

Module
Module pool:
pool: PAI
PAI ee PBO
PBO

 MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 50


Dichiarazione dati

DATA: NAME1(25) TYPE C, Riferimento a campi interni


NAME2 LIKE NAME1, (legame statico)
NAME3 LIKE NAME1.

DATA: BEGIN OF SALES_REC,


NAME1 LIKE LFA1-NAME1, Riferimento a campi DD
CITY LIKE LFA1-ORT01, (legame dinamico)
SALES LIKE LFC3-SOLL,
END OF SALES_REC.

DATA: BEGIN OF TABLE OCCURS 10. Riferimento a intere


INCLUDE STRUCTURE T001G. strutture DD
DATA: END OF TABLE. (legame dinamico)

 MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 51


Tabelle interne

Paese Vendite Paese Vendite


100 Buffer
D
D 100 (Header Line)
APPEND <tabella interna>. :
F 500
F 500
carica il contenuto del record di GB 1100
GB 1100 Tabella interna
buffer alla fine della tabella interna. I 5000
I 5000
D 100

Paese Vendite COLLECT <tabella interna>. : Paese Vendite


D 100 Buffer
D 100
(Header Line)
somma il contenuto del buffer
F 500 ad un eventuale record esistente F 500

GB 1100 con la stessa chiave (campi non GB 1100


Tabella interna
D 5000 numerici) ; se tale record non esiste D 5100
funziona come APPEND.

 MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 52


Form

PROGRAM RSDEMO1
Chiamata sub. TASSE

Definizione Form TASSE


Chiamata interna
( Calcolo Tasse )

PROGRAM RSDEMO2 PROGRAM RSDEMO4


Chiamata
Chiamata FormTASSE Def.Form TASSE esterna
( Calcolo Tasse )

PROGRAM RSDEMO3 ABAP/4 Function library Chiamata in


Chiamata funzione Function module TASSE
una libreria
TASSE ( Calcolo Tasse ) di funzioni

 MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 53


Funzioni di libreria

CALL
CALLFUNCTION
FUNCTION‘<nome>‘
‘<nome>‘
EXPORTING
EXPORTING <parametri>
<parametri>
IMPORTING
IMPORTING <parametri>
<parametri>
TABLES
TABLES <parametri>
<parametri>
Exceptions
Exceptions <eccezioni>.
<eccezioni>.

Non sono implementate le funzioni

 MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 54


ABAP SQL

SELECT
SELECTSINGLE
SINGLE**FROM
FROM<tabella>
<tabella>
Data Base

WHERE
WHERE <campo chiave 1> = <campo
<campo chiave 1> = <campo1>1>
...
...
......
......
......
......
.....
.....

AND Accesso ad un .... ..... .... .....


AND <campo <campochiave
chiave2>
2>== <campo
<campo2>
.... ..... .... .....
2> ... ...... ...... ....
.........
.........
singolo record ...
...
...
......
.....
.....
......
.....
.....
....
....
....
AND
AND <campo
<campochiave
chiaven>
n>== <campo
<campon>.
n>.

Data Base

SELECT
SELECT **FROMFROM<tabella>
<tabella> .... ...... ..... .....
WHERE
WHERE <campo tabella1>1><op>
<campo tabella <op><campo
<campo1>1> Lettura di ....
....
....
......
......
......
.....
.....
.....
.....
.....
.....
AND
AND <campo <campotabella
tabella2>
2><op>
<op><campo
<campo2>
2> più record ...
...
......
......
......
......
....
....
.........
... ..... ..... ....
.........
... ..... ..... ....

AND
AND <campo <campotabella
tabella n>
n><op>
<op><campo
<campon>.
n>.
ENDSELECT.
ENDSELECT. Data Base

... ... ...


... ... ...
.... .... .... Tabella interna
SELECT
SELECT **FROM
FROM<tabella>
<tabella> .... .... ....
... ... ... ... ... ...
INTO
INTO TABLE <tabella
TABLE <tabellainterna>
interna>
...
...
...
...
...
...
... ... ...
.... .... ....
... ... ... .... .... ....
WHERE
WHERE<campo
<campochiave
chiave1>1> == <campo
<campo1>1> ...
...
...
...
...
...
AND
AND <campo
<campochiave
chiave2>2> == <campo
<campo2>.
2>.
Caricamento ...
...
...
...
...
...

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.


CLASS C_COUNTER DEFINITION.
PUBLIC SECTION.
PUBLIC SECTION.
METHODS: SET_COUNTER IMPORTING VALUE(SET_VALUE) TYPE I,
METHODS: SET_COUNTER IMPORTING VALUE(SET_VALUE) TYPE I,
INCREMENT_COUNTER,
INCREMENT_COUNTER,
GET_COUNTER EXPORTING VALUE(GET_VALUE) TYPE I.
GET_COUNTER EXPORTING VALUE(GET_VALUE) TYPE I.
PRIVATE SECTION.
PRIVATE SECTION.
DATA COUNT TYPE I.
DATA COUNT TYPE I.
ENDCLASS.
ENDCLASS.

CLASS C_COUNTER IMPLEMENTATION.


CLASS C_COUNTER IMPLEMENTATION.
METHOD SET_COUNTER.
METHOD SET_COUNTER.
COUNT = SET_VALUE.
COUNT = SET_VALUE.
ENDMETHOD.
ENDMETHOD.
DATA
DATACREF
CREFTYPE
TYPEREF
REFTO
TOC_COUNTER
C_COUNTER
DATA
DATA NUMBER TYPE I VALUE55
NUMBER TYPE I VALUE
METHOD INCREMENT_COUNTER.
METHOD INCREMENT_COUNTER.
ADD 1 TO COUNT.
ADD 1 TO COUNT.
ENDMETHOD.
CREATE
CREATEOBJECT
OBJECTCREF.
CREF.
ENDMETHOD.
METHOD GET_COUNTER. CALL
CALLMETHOD
METHODCREF->SET_COUNTER
CREF->SET_COUNTER
METHOD GET_COUNTER.
GET_VALUE = COUNT.
GET_VALUE = COUNT. EXPORTING
EXPORTINGSET_VALUE
SET_VALUE==NUMBER.
NUMBER.
ENDMETHOD.
ENDMETHOD.
ENDCLASS..
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


CRM - Mobile Sales

Laptop
 MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 60

Potrebbero piacerti anche