Lezione SAP 2

Post on 09-Dec-2016

246 views 0 download

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