Lezione SAP 2

60
MET Sistemi Finanziari S.r.L. Alessandro Ciampichetti - Marzo 2002 / 1 SAP: ERP nel cuore SAP: ERP nel cuore del 'Sistema Azienda' del 'Sistema Azienda' Dott. Alessandro Ciampichetti Analista SAP

Transcript of Lezione SAP 2

Page 1: 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

Page 2: Lezione SAP 2

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

Page 3: Lezione SAP 2

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

ERP - Enterprise Resource ERP - Enterprise Resource PlanningPlanning

Page 4: Lezione SAP 2

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

Page 5: Lezione SAP 2

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

Page 6: Lezione SAP 2

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

Architettura client/server a 3 livelli (presentation, application e database)

ERP - Caratteristiche

Page 7: Lezione SAP 2

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, ...)

Page 8: Lezione SAP 2

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

Client/Server versus Host-Based Client/Server versus Host-Based

Page 9: Lezione SAP 2

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

Page 10: Lezione SAP 2

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

Page 11: Lezione SAP 2

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

Page 12: Lezione SAP 2

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)

Page 13: Lezione SAP 2

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

Systems, Applications, Products Systems, Applications, Products in data Processingin data Processing

Page 14: Lezione SAP 2

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.

Page 15: Lezione SAP 2

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

Page 16: Lezione SAP 2

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

Architettura Architettura logicalogica

Page 17: Lezione SAP 2

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

Page 18: Lezione SAP 2

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

Architettura Architettura fisicafisica

Page 19: Lezione SAP 2

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

Page 20: Lezione SAP 2

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

Page 21: Lezione SAP 2

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

Topologia di rete

Page 22: Lezione SAP 2

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

Page 23: Lezione SAP 2

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)

Page 24: Lezione SAP 2

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

DizionarioDizionarioDatiDati

Page 25: Lezione SAP 2

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

Page 26: Lezione SAP 2

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

Page 27: Lezione SAP 2

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

Page 28: Lezione SAP 2

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

TransazioniTransazioni

Page 29: Lezione SAP 2

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

Transazioni: concetti generali

Dialog stepTCode

Evento GUI

Page 30: Lezione SAP 2

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

Page 31: Lezione SAP 2

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

Il Sistema Il Sistema R/3R/3

Page 32: Lezione SAP 2

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

Page 33: Lezione SAP 2

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)

Page 34: Lezione SAP 2

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

Page 35: Lezione SAP 2

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)

Page 36: Lezione SAP 2

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

Livelli di modificaLivelli di modificae trasportie trasporti

Page 37: Lezione SAP 2

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

Page 38: Lezione SAP 2

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

Page 39: Lezione SAP 2

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

Page 40: Lezione SAP 2

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

OrganizzazioneOrganizzazioneDBDB

Page 41: Lezione SAP 2

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

Page 42: Lezione SAP 2

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

Page 43: Lezione SAP 2

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

Page 44: Lezione SAP 2

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

Page 45: Lezione SAP 2

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

ABAP ABAP WorkbenchWorkbench

Page 46: Lezione SAP 2

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

Page 47: Lezione SAP 2

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

ABAP/4ABAP/4Advanced Business Application ProgrammingAdvanced Business Application Programming

Page 48: Lezione SAP 2

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

Page 49: Lezione SAP 2

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: ...

Page 50: Lezione SAP 2

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

Page 51: Lezione SAP 2

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

Page 52: Lezione SAP 2

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

Page 53: Lezione SAP 2

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

Page 54: Lezione SAP 2

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

Page 55: Lezione SAP 2

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

Page 56: Lezione SAP 2

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

Page 57: Lezione SAP 2

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

Page 58: Lezione SAP 2

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

Page 59: Lezione SAP 2

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

Page 60: Lezione SAP 2

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

CRM - Mobile Sales

SAP R/3

Sql Server

Laptop