logologo2

CORSO SAP R/3 - PROGRAMMAZIONE ABAP/4 - Introduzione

Pagina 1 di 4 - Pagina 2 di 4 - Pagina 3 di 4 - Pagina 4 di 4

Indice

Archivi SAP

Tutte le informazioni aziendali (Clienti, Fornitori, Materiali, Ordini, ecc.) sono memorizzate in appositi archivi ad indici (cioè dotati di una chiave che identifica univocamente ciascun record) chiamati tabelle (Tables).

A loro volta le tables sono correlate tra loro in maniera logica e formano i Data Base Logici di SAP.

Le tabelle che costituiscono un Data Base Logico sono collegate tra di loro secondo strutture gerarchiche che prevedono una tabella padre (o radice) e una o più tabelle a livello inferiore (figlie) che a loro volta possono avere altre tabelle ad esse sottostanti. Normalmente la chiave di un livello rappresenta la prima parte della chiave di tutte le tabelle a livello inferiore.

A titolo di esempio esplicativo consideriamo la memorizzazione degli ordini clienti:

image1

Una situazione come l’esempio indicato potrebbe dare luogo a due differenti archivi:

Archivio TESTATE ORDINI avente come chiave il numero dell’ordine e come attributi: data ordine, codice cliente, …

Archivio RIGHE ORDINE avente un record per ogni riga di ciascun ordine registrato nel sistema. Ogni record deve avere come chiave univoca l’insieme del numero ordine e del numero della riga nell’ambito di quell’ordine.

La struttura dei files sarà quindi analoga a quanto indicato qui di seguito:

ARCHIVIO TESTATE ORDINI

Num. Ordine

Data Ordine

Cod. Cliente

Data Consegna

000002

19990116

000123

19990331

000003

19990118

000120

19990331

ARCHIVIO RIGHE ORDINI

Num. Ordine

Num. Riga

Cod. Materiale

Quantità

000002

01

001200XX

100

000002

02

002700YY

1.500

000002

03

001700ZZ

20

000003

01

001200XX

300

I records facenti parte dell’archivio delle righe ordini risultano logicamente collegati a quello delle testate perché ad ogni testata corrispondono una o più righe e ad ogni riga corrisponde una sola testata. L’elemento che costituisce il legame logico tra i due archivi è il numero dell’ordine.

L’archivio principale (testate) ha come chiave tale campo, mentre l’archivio figlio (righe) ha come chiave lo stesso campo più il numero della riga.

Molto spesso una situazione di questo genere viene strutturata tramite Data Base gerarchici che altro non sono se non gli strumenti di accesso ai vari archivi di un Data Base sfruttando i relativi legami di gerarchia.

Normalmente tali legami vengono rappresentati graficamente tramite una struttura analoga a quanto indicato di seguito.

 

STRUTTURA GERARCHICA ORDINI

 

image2

Nell’esempio indicato si suppone inoltre che la prima riga dell’ordine 000002 abbia avuto due consegne presso il cliente e che il sistema preveda anche un archivio consegne avente come chiave la sequenza di: numero ordine, numero riga e numero progressivo di consegna nell’ambito di quella riga di ordine.

In tale situazione si ottiene quindi un data base gerarchico a 3 livelli.

Tipologia di Programmi in SAP

REPORT

Sono programmi che ottengono stampe di vario tipo a partire dalle tabelle presenti in SAP. Esempi di reports possono essere: lista dei fornitori, elenco dei materiali, stampa fatture, elenco dipendenti per reparto di appartenenza, …

BATCH INPUT

Programmi utilizzati per il caricamento iniziale delle tabelle SAP tramite la simulazione delle attività che l’utente dovrebbe compiere per inserire manualmente i dati richiesti utilizzando le videate messe a disposizione da SAP. Esempi di batch input possono essere: trasferimento archivi clienti dal sistema informativo precedente a SAP, caricamento dei listini applicati da un fornitore e comunicati tramite supporto magnetico, …

SCREEN PAINTER

Programmi on-line che permettono al programmatore di disegnare delle videate per la gestione di singoli record presenti nelle varie tabelle SAP. Esempi di screen painter possono essere: programma di inserimento/variazione di un singolo materiale, programma di modifica cambio tra Euro e Dollaro USA, …

Ambiente SAP

Al momento del collegamento con SAP viene richiesta la digitazione di alcuni campi:

MANDANTE

Tutti gli archivi SAP hanno come primo campo della loro chiave il codice del Mandante che deve essere inteso come elemento di separazione tra vari ambienti applicativi. Normalmente esistono almeno due mandanti distinti, uno di test e uno operativo. Collegandosi con il mandante di test si accede ai soli archivi utilizzati per le prove dei programmi non ancora definitivi, mentre collegandosi con il mandante operativo si accede all’ambiente di produzione cioè contenente archivi e programmi operativi. Un altro criterio di suddivisione potrebbe essere il caso di un sistema SAP che gestisca due o più aziende differenti, ciascuno delle quali risulta caratterizzata da un particolare codice del mandante.

UTENTE

Rappresenta il codice dell’utente abilitato al collegamento al mandante di cui sopra. L’amministratore del sistema definisce i vari utenti e il relativo livello di abilitazione (l’utente preposto alla gestione vendite verrà abilitato esclusivamente all’utilizzo delle videate caratteristiche del modulo vendite ed analogamente per altre tipologie di utente).

PAROLA CHIAVE

A ciascun utente viene assegnata una parola chiave (password) iniziale che deve essere digitata per poter effettuare il primo collegamento, successivamente l’utente può modificare la sua password in modo tale da essere l’unico a conoscerla al fine di garantire la sicurezza e la riservatezza dei dati. Durante l’inserimento della password, il sistema visualizza esclusivamente degli asterischi per motivi di sicurezza.

Sono permessi più collegamenti contemporanei di uno stesso utente.

LINGUA

SAP consente il collegamento in differenti lingue (inglese, tedesco, francese, italiano, spagnolo, …). Selezionando l’italiano tutti i menù, gli help, i tasti funzionali, la messaggistica e le mappe operative verranno presentate in tale lingua. A volte alcune traduzioni in italiano sono carenti, in tale caso conviene riferirsi alla lingua inglese.

Navigazione in SAP

La navigazione in SAP utilizza una interfaccia grafica/web, analoga a quella usata da windows, caratterizzata da pulsanti, riga dei menù, tendine, …

E’ possibile operare con più task contemporaneamente, aprendo più modi. Per aprire un nuovo modo basta fare clic sulla funzione “Creare modo” dal menù “Sistema”. Il Sistema apre una nuova finestra in cui si può operare con un nuovo task indipendentemente dagli altri modi già aperti. Sempre tramite il menu Sistema e la scelta “Cancellare modo”, si può concludere un task lasciando attivi tutti gli altri.

Nella riga di stato è indicato il numero del modo caratteristico di ciascuna videata.

Per visualizzare l’help relativo ad un determinato campo, posizionare il cursore sul campo e premere F1 o fare clic sul pulsante corrispondente.

Per vedere un elenco di valori ammessi per quel campo o un matchcode (help di ricerca dei valori possibili), posizionare il cursore sul campo e premere F4 o fare clic sul pulsante corrispondente. Inoltre è possibile fare clic sul pulsante “Input possibili” situato vicino al campo.

Per trasferire un valore dall’elenco “Input possibili” al campo input, posizionare il cursore sul valore e premere il tasto “Selezionare” oppure fare doppio clic sul valore.

Premendo il tasto destro del mouse si ottiene un elenco dei tasti funzionali utilizzabili nella videata.

Ogni videata di SAP è raggiungibile in 2 differenti modi:

  1. tramite il relativo percorso di navigazione (tendine e menù vari);
  2. digitando il relativo codice transazione nella linea di comando presente in alto a sinistra della videata.

Il codice transazione è una sigla di 4 caratteri che attiva l’esecuzione di un programma ABAP associato ad una o più videate (ad esempio digitando il codice transazione SE16 si attiva il programma SAP che permette la visualizzazione del contenuto di una tabella).

Al cambiare della versione di SAP possono cambiare i percorsi di navigazione per attivare un particolare programma, ma il codice della transazione resta sempre invariato. Ad esempio il codice SE16 attiva sempre la medesima funzione in qualunque versione di SAP disponibile sul mercato.

Il Linguaggio ABAP/4

Tutto il pacchetto SAP è stato scritto nel linguaggio ABAP/4 appositamente creato dai sistemisti SAP che hanno fatto un notevole sforzo per arricchirlo con un considerevole numero di funzioni ed automatismi interni.

ABAP/4 nasce come una fusione tra linguaggi storici dell’informatica (COBOL) e strumenti più moderni come Visual Basic, … Comunque, come in tutti i linguaggi di programmazione, ciò che conta più di ogni altra cosa per diventare un buon programmatore ABAP/4 è essenzialmente utilizzare in modo appropriato la consueta logica di programmazione; il linguaggio deve essere considerato esclusivamente come uno strumento per operare. Un buon programmatore ABAP/4 non è una persona che conosce alla perfezione tutti i comandi del linguaggio, ma è uno che dispone di una corretta logica di programmazione, che conosce bene i fondamenti di ABAP/4 e che sa dove reperire di volta in volta tutte le informazioni necessarie alla scrittura dei suoi programmi.

Gli strumenti di help forniti al programmatore ABAP/4 sono normalmente tali e tanti da permettere spesso un apprendimento da autodidatta a chiunque sia dotato di interesse, curiosità e voglia di apprendere, condizioni queste indispensabili ad un programmatore degno di questo nome.

Prima di iniziare una panoramica relativa alla programmazione ABAP/4, occorre fissare alcuni concetti base di SAP:

  1. SAP ha già definito tutti gli archivi fondamentali del sistema informativo, pertanto di norma tutti i tracciati record sono già pronti e non modificabili da parte del programmatore;
  2. In fase di analisi si possono eventualmente aggiungere nuove tabelle, ma si sconsiglia la modifica di quelle già definite da SAP;
  3. Gli archivi di SAP prevedono già una tale varietà di campi tale da renderli normalmente adatti alla gestione di aziende molto diverse tra di loro;
  4. Gli archivi di SAP di dividono normalmente in tabelle di configurazione del sistema (il cui nome inizia con la lettera T) e tabelle contenenti i dati di gestione aziendale (il cui nome non inizia con la lettera T). Esempi di tabelle di configurazione possono essere: tabella nazioni, tabella tipi materiale, tabella valute, … mentre tabelle di gestione sono ad esempio: tabella clienti, tabella materiali, tabella fornitori, tabella ordini clienti, …
  5. La programmazione ABAP/4 è attivata tramite il richiamo della transazione SE38.