Sommario - Si-Soft Informatica Manuale d uso... · 2010. 11. 15. · 1 Sommario - Lezione 8 –...

30
1 Sommario - Lezione 8 – Parte 1 / Parte 2 – Batch Input. - Lezione 9 – Parte 1 / Parte 2 – Smartform. - Lezione 10 – Parte 1 / Parte 2 / Parte 3 – Module Pool. - Lezione 11 – Creare una funzione. - Lezione 12 – Creazione tabelle. - Lezione 13 – Creazione Database Logico. - Lezione 14 – Creazione di un job. - Lezione 15 – ALV. - Lezione 16 – Parte 1 / Parte 2 – Manuale Sapscript. - Lezione 17 – Parte 1 / Parte 2 – Creazione modulo Sapscript e report di lancio. - Lezione 18 – Parte 1 / Parte 2 / Parte 3 – Open SQL abap/4. - Lezione 19 – Query SAP – SQ03. - Lezione 20 – Query SAP – SQ02. - Lezione 21 – Query SAP – SQ01. - Lezione 22 – Esercitazioni sui magazzini. - Lezione 23 – Gestione file.

Transcript of Sommario - Si-Soft Informatica Manuale d uso... · 2010. 11. 15. · 1 Sommario - Lezione 8 –...

Page 1: Sommario - Si-Soft Informatica Manuale d uso... · 2010. 11. 15. · 1 Sommario - Lezione 8 – Parte 1 / Parte 2 – Batch Input. - Lezione 9 – Parte 1 / Parte 2 – Smartform.

1

Sommario - Lezione 8 – Parte 1 / Parte 2 – Batch Input.

- Lezione 9 – Parte 1 / Parte 2 – Smartform.

- Lezione 10 – Parte 1 / Parte 2 / Parte 3 – Module Pool.

- Lezione 11 – Creare una funzione.

- Lezione 12 – Creazione tabelle.

- Lezione 13 – Creazione Database Logico.

- Lezione 14 – Creazione di un job.

- Lezione 15 – ALV.

- Lezione 16 – Parte 1 / Parte 2 – Manuale Sapscript.

- Lezione 17 – Parte 1 / Parte 2 – Creazione modulo Sapscript e report di lancio.

- Lezione 18 – Parte 1 / Parte 2 / Parte 3 – Open SQL abap/4.

- Lezione 19 – Query SAP – SQ03.

- Lezione 20 – Query SAP – SQ02.

- Lezione 21 – Query SAP – SQ01.

- Lezione 22 – Esercitazioni sui magazzini.

- Lezione 23 – Gestione file.

Page 2: Sommario - Si-Soft Informatica Manuale d uso... · 2010. 11. 15. · 1 Sommario - Lezione 8 – Parte 1 / Parte 2 – Batch Input. - Lezione 9 – Parte 1 / Parte 2 – Smartform.

2

Indicazioni generali e definizioni segnalate dal corso Abap/4

Lezione 8 parte 1 - parte 2.

Batch Input.

Prima di cominciare a seguire il corso on line, ti consigliamo di leggere quanto segue per

agevolarti nell’apprendimento della lezione nr.8 .

Batch Input

Il batch input si propone di registrare tutte le videate di gestione di una transazione come se si trattasse di

una macro che memorizza i dati, schermata per schermata, al fine di simulare l’inserimento dati di uno o

più file standard SAP.

Questa registrazione sarà usata come linea guida per i successivi inserimenti di massa per passare i dati da

un sistema non SAP ad uno SAP, oppure per eventuali aggiornamenti di versione.

La registrazione avrà un proprio nome di identificazione e sarà elencata nella transazione propria del batch

input, cioè SHDB.

Al termine della registrazione si procederà con la creazione di un programma, attraverso la stessa

transazione del batch input, che creerà le specifiche Abap sulla base della transazione registrata.

Il programma avrà lo scopo di leggere massivamente i dati (o da un file esterno o dalla memorizzazione

della transazione in gestione) e sarà modificabile a seconda delle nostre peculiari necessità di inserimento

dei singoli dati (quanto non è necessario si potrà commentare per non renderlo eseguibile).

Questo programma genererà un file di testo da verificare accuratamente, soprattutto nelle posizioni dei

campi memorizzati, affinchè vengano rispettate le lunghezze dei singoli dati. In caso contrario l’esecuzione

genererà degli errori da rettificare.

Tabella BDC

Questa tabella è la tabella di transito dei dati della transazione al file finale e riporta varie informazioni, tra

cui il nome della transazione, del programma, della videata, il nome tecnico dei campi della videata ed il

valore attribuito a questi campi.

A QUESTO PUNTO PROCEDI CON LA LEZIONE ON-LINE NR. 8, QUANDO AVRAI

TERMINATO TORNA QUI E PROCEDI CON L’ESERCIZIO CHE TI CONSIGLIAMO.

Esercizio di ripasso

Creare una registrazione di batch input per la transazione FK01 – Creazione di un fornitore (fare riferimento

alla lezione ( 8 parte 1 per la registrazione ed alla lezione 8 parte 2 per l’esecuzione).

Prima di avviare la registrazione occorre creare il file di testo con almeno un record di dati da caricare, come

spiegato nelle lezioni.

Page 3: Sommario - Si-Soft Informatica Manuale d uso... · 2010. 11. 15. · 1 Sommario - Lezione 8 – Parte 1 / Parte 2 – Batch Input. - Lezione 9 – Parte 1 / Parte 2 – Smartform.

3

HAI ESEGUITO L’ESERCIZIO DI RIPASSO? SE SI, PROCEDI CON LE INDICAZIONI

GENERALI DELLA LEZIONE NR. 9, ALTRIMENTI ESEGUI UN NUOVO RIPASSO DELLA

LEZIONE E SE HAI ANCORA DUBBI CHIAMA IL NOSTRO TUTOR.

Page 4: Sommario - Si-Soft Informatica Manuale d uso... · 2010. 11. 15. · 1 Sommario - Lezione 8 – Parte 1 / Parte 2 – Batch Input. - Lezione 9 – Parte 1 / Parte 2 – Smartform.

4

Indicazioni generali e definizioni segnalate dal corso Abap/4

Lezione 9 Parte 1 / Parte 2

Smartform.

Prima di cominciare a seguire il corso on line, ti consigliamo di leggere quanto segue per

agevolarti nell’apprendimento della lezione nr. 9.

SmartForms

Questa transazione permette di gestire le stampe su SAP. Gli smartforms sono uno strumento molto

versatile di SAP, con ottimi tools di interfaccia grafica. Essi permettono una gestione di manutenzione in

tempi decisamente più brevi rispetto ad altre applicazioni per le stampe (vedi Sapscript).

Il layout ( o prospetto di stampa) è indipendente dalla gestione dei dati da stampare ed è di facile

manutenzione .

Esiste una sezione opportuna per l’interfaccia tra il programma che passa i dati al form (layout di stampa)

ed esiste una sezione opportuna per definire costanti o campi con valori fissi da memorizzare nel form.

E’ possibile importare immagini e loghi già creati sul PC e creare appositi stili carattere per le varie aree del

form.

L’esecuzione dello smartform è comunque affidata ad un programma/report che lo richiama.

Finestra MAIN

Con questo termine si intende il corpo centrale o principale del form.

Aree di output

Si tratta delle varie parti di cui si compone il form (sezione centrale, piede e testa del modulo, etc.) e sono

gestite come “finestre” del form.

Creare un report

Utilizzare la transazione SE38 per creare un programma di report.

A QUESTO PUNTO PROCEDI CON LA LEZIONE ON-LINE NR. 9 (parte 1 e 2), QUANDO

AVRAI TERMINATO TORNA QUI E PROCEDI CON L’ESERCIZIO CHE TI CONSIGLIAMO.

Esercizio di ripasso

Creare uno smartform con 3 finestre (1 finestra che includa un logo a piacere, una finestra che includa una

intestazione ( testo fisso) ed una finestra che elenchi dei dati della tabella SPFLI).

I campi della tabella da elencare nel dettaglio della stampa saranno i seguenti:

Page 5: Sommario - Si-Soft Informatica Manuale d uso... · 2010. 11. 15. · 1 Sommario - Lezione 8 – Parte 1 / Parte 2 – Batch Input. - Lezione 9 – Parte 1 / Parte 2 – Smartform.

5

- compagnia aerea

- collegamento

- città di partenza

- città di arrivo

- durata

Da programma creare due selezioni (con select option) che permettano di filtrare i dati per “Città di

partenza” e “Città di arrivo”.

La selezione a video richiamata dal programma dovrà emettere un report che riporti i dati sopra elencati,

completi di logo ed intestazione.

HAI ESEGUITO L’ESERCIZIO DI RIPASSO? SE SI, PROCEDI CON LE INDICAZIONI

GENERALI DELLA LEZIONE NR. 10, ALTRIMENTI ESEGUI UN NUOVO RIPASSO DELLA

LEZIONE E SE HAI ANCORA DUBBI CHIAMA IL NOSTRO TUTOR.

Page 6: Sommario - Si-Soft Informatica Manuale d uso... · 2010. 11. 15. · 1 Sommario - Lezione 8 – Parte 1 / Parte 2 – Batch Input. - Lezione 9 – Parte 1 / Parte 2 – Smartform.

6

Indicazioni generali e definizioni segnalate dal corso Abap/4

Lezione 10.

Parte 1 / Parte 2 / Parte 3 – Module Pool.

Prima di cominciare a seguire il corso on line, ti consigliamo di leggere quanto segue per

agevolarti nell’apprendimento della lezione nr. 10.

Module Pool

Questo strumento permette di creare un programma detto dialog program ( corredato di una interfaccia

grafica e di un editor semplice da utilizzare) che permette di gestire due o più schermate collegate tra loro a

fronte di una richesta dati da parte dell’utente. La transazione è la SE80.

E’ strutturato in modo tale da manutenere la parte di layout (prospetto delle videate) e la parte del flusso

logico attraverso dei processi di gestione degli eventi che caratterizzano il programma. L’applicazione

prevede anche la creazione della transazione da creare.

Questa applicazione è strutturata graficamente con una parte a sinistra che elenca ad albero gli oggetti ed i

temi trattati nella creazione del programma.

PBO

Gestione degli eventi che precedono l’emissione dei dati della videata.

PAI

Gestione degli eventi che sono successivi all’emissione dei dati della videata.

Screen Painter

Consiste nella sezione abilitata alla mappatura della schermata (impostazione grafica).

Dynpro

E’ la videata o schermata di gestione.

Include

Si tratta del richiamo di righe di istruzioni di programma, suddivise per argomenti.

Stati GUI

GUI (Graphic User Interface) indica l’interfaccia grafica utente. Per stati GUI si intendono le abilitazioni ai

tasti funzione ed ai comandi usati nella videata in gestione.

Pop Up

Si tratta di una finestra di dati che richiede una risposta da parte dell’utente.

Page 7: Sommario - Si-Soft Informatica Manuale d uso... · 2010. 11. 15. · 1 Sommario - Lezione 8 – Parte 1 / Parte 2 – Batch Input. - Lezione 9 – Parte 1 / Parte 2 – Smartform.

7

A QUESTO PUNTO PROCEDI CON LA LEZIONE ON-LINE NR. 10 (parte 1 / 2 / 3),

QUANDO AVRAI TERMINATO TORNA QUI E PROCEDI CON L’ESERCIZIO CHE TI

CONSIGLIAMO.

Esercizio di ripasso

Questo programma deve

Creare una dynpro che visualizzi la città di partenza e la città di arrivo.

La seconda dynpro (in base alle scelte della prima) deve riportare una tabella (table control) che elenchi le

seguenti colonne:

Compagnia Aerea / Volo / Descrizione Compagnia / Città di partenza / Città di arrivo / Data Volo / Prezzo

Fuori dalla table control , inserire un pulsante che riporti il testo “Dettaglio”

In base alla scelta della riga, visualizzare una terza dynpro che riporti i dati della riga di sola visualizzazione,

con una intestazione “Dettaglio volo scelto”.

Testare la transazione (per prova è possibile usare le città da BERLIN A FRANKFURT)

HAI ESEGUITO L’ ESERCIZIO DI RIPASSO? SE SI, PROCEDI CON LE INDICAZIONI

GENERALI DELLA LEZIONE NR. 11, ALTRIMENTI ESEGUI UN NUOVO RIPASSO DELLA

LEZIONE E SE HAI ANCORA DUBBI CHIAMA IL NOSTRO TUTOR.

Page 8: Sommario - Si-Soft Informatica Manuale d uso... · 2010. 11. 15. · 1 Sommario - Lezione 8 – Parte 1 / Parte 2 – Batch Input. - Lezione 9 – Parte 1 / Parte 2 – Smartform.

8

Indicazioni generali e definizioni segnalate dal corso Abap/4

Lezione 11.

Creare una funzione.

Prima di cominciare a seguire il corso on line, ti consigliamo di leggere quanto segue per

agevolarti nell’apprendimento della lezione nr. 11.

Funzioni (o Function)

Una funzione o modulo funzione consiste in procedure o gruppo di istruzioni che possono essere

richiamate in vari punti del programma. Sono organizzate in gruppi funzione, cioè contenitori virtuali che

contengono le diverse funzioni.

La funzione usa dei parametri di ingresso e dei parametri di uscita al programma. Questo vuol dire la

funzione è richiamata con dei valori impostati dal programma chiamante e ritorna al programma un

risultato in merito alle operazioni che essa svolge.

Folder

Scheda di informazioni o cartella nella videata.

A QUESTO PUNTO PROCEDI CON LA LEZIONE ON-LINE NR. 11, QUANDO AVRAI

TERMINATO TORNA QUI E PROCEDI CON L’ESERCIZIO CHE TI CONSIGLIAMO.

Esercizio di ripasso

Creare una funzione che:

- passi come parametro di input il codice cliente

- riceva come parametri il nome, la città ed il cap del codice cliente passato

- nel testo sorgente della funzione esegua l’istruzione SQL appropriata per ricavare i parametri di uscita

Creare un programma che:

- definisca la tabella CUSTOMERS ed una parameters con il codice cliente

- definisca 3 parametri uguali ai 3 parametri di uscita della funzione (che abbiano però un nome

diverso) poiché necessari per poterli stampare

- gestire la function importando il modello dal tasto di funzione “Modello”

- eseguire un test che verifichi se il nome è stato valorizzato: se valorizzato scrivere intestazione e

dati di dettaglio per codice cliente, nome, città e cap. Se non è stato valorizzato scrivere un

Page 9: Sommario - Si-Soft Informatica Manuale d uso... · 2010. 11. 15. · 1 Sommario - Lezione 8 – Parte 1 / Parte 2 – Batch Input. - Lezione 9 – Parte 1 / Parte 2 – Smartform.

9

messaggio di segnalazione.

HAI ESEGUITO L’ ESERCIZIO DI RIPASSO? SE SI, PROCEDI CON LE INDICAZIONI

GENERALI DELLA LEZIONE NR. 12, ALTRIMENTI ESEGUI UN NUOVO RIPASSO DELLA

LEZIONE E SE HAI ANCORA DUBBI CHIAMA IL NOSTRO TUTOR.

Page 10: Sommario - Si-Soft Informatica Manuale d uso... · 2010. 11. 15. · 1 Sommario - Lezione 8 – Parte 1 / Parte 2 – Batch Input. - Lezione 9 – Parte 1 / Parte 2 – Smartform.

10

Indicazioni generali e definizioni segnalate dal corso Abap/4

Lezione 12.

Creazione tabelle.

Prima di cominciare a seguire il corso on line, ti consigliamo di leggere quanto segue per

agevolarti nell’apprendimento della lezione nr. 12.

Prima di affrontare questa sezione, si consiglia di rileggere la definizione di TABELLA nella lezione 1,

all’interno di questo documento. La transazione per poter creare una tabella è la SE11.

Dominio dati

E’ un’area di memoria dei dati di dizionario. Consiste in un elenco dei tipi di dati che si possono gestire a

sistema. A questo livello sono definite le lunghezze ed i tipi di dati (alfanumerico, numerico, etc.).

E’ possibile aggiungere nuovi domini a seconda delle necessità di sviluppo.

Elemento dati

E’ un’area di memoria dei dati di dizionario, subordinata al Dominio Dati. Consiste in un elenco degli

elementi dati, cioè le varie descrizioni che possono avere i tipi dati definiti nel dominio. Possono essere

ripetuti per domini differenti.

E’ possibile aggiungere nuovi elementi dati a seconda delle necessità di sviluppo.

A QUESTO PUNTO PROCEDI CON LA LEZIONE ON-LINE NR. 12, QUANDO AVRAI

TERMINATO TORNA QUI E PROCEDI CON L’ESERCIZIO CHE TI CONSIGLIAMO.

Esercizio di ripasso

Attenzione: ricordarsi di assegnare la “Z” davanti al nome della tabella da creare! Si raccomanda inoltre di

verificare se esistono già sia i domini che gli elementi dati, al fine di non caricare il sistema di dati già

presenti.

Creare una tabella custom Anagrafica inquilini, con i seguenti dati:

Identificativo Inquilino lungh. 3 con 0 dec.

Cognome dell’inquilino lungh. 15 caratteri

Nome dell’inquilino lungh. 10 caratteri

Indirizzo domicilio inquilino lungh. 40 caratteri

Città domicilio inquilino lungh. 15 caratteri

CAP domicilio inquilino lungh. 5 con 0 dec.

Page 11: Sommario - Si-Soft Informatica Manuale d uso... · 2010. 11. 15. · 1 Sommario - Lezione 8 – Parte 1 / Parte 2 – Batch Input. - Lezione 9 – Parte 1 / Parte 2 – Smartform.

11

Nr. camera dell’inquilino lungh. 3 con 0 dec.

Data di nascita inquilino lungh. 8 con 0 dec. (tipo dats)

Sesso inquilino lungh. 1 carattere

Al termine della definizione della struttura caricare almeno 2/3 records a piacere nella tabella appena

creata e visualizzare il risultato.

HAI ESEGUITO L’ ESERCIZIO DI RIPASSO PROPOSTO? SE SI, PROCEDI CON LE

INDICAZIONI GENERALI DELLA LEZIONE NR. 13, ALTRIMENTI ESEGUI UN NUOVO

RIPASSO DELLA LEZIONE E SE HAI ANCORA DUBBI CHIAMA IL NOSTRO TUTOR.

Page 12: Sommario - Si-Soft Informatica Manuale d uso... · 2010. 11. 15. · 1 Sommario - Lezione 8 – Parte 1 / Parte 2 – Batch Input. - Lezione 9 – Parte 1 / Parte 2 – Smartform.

12

Indicazioni generali e definizioni segnalate dal corso Abap/4

Lezione 13.

Creazione Database Logico.

Prima di cominciare a seguire il corso on line, ti consigliamo di leggere quanto segue per

agevolarti nell’apprendimento della lezione nr. 13.

Database Logico

Consiste nella modalità con cui si definisce un database. Si tratta di una definizione astratta, in quanto non

considera espressamente i dati fisici ma il modo in cui si può accedere ad essi.

Esso è costituito da una o più tabelle, dette “nodi”, secondo specifici criteri, definiti in fase di creazione del

data base logico. Supporta inoltre anche la schermata di dialogo con l’utente, attraverso l’impostazione dei

dati come dati di selezione/estrazione e questo farà si che il programma che gestirà il db logico non dovrà

definire/creare le selection screen di gestione dati utente a video.

Il database logico, inoltre, semplifica la lettura delle tabelle nei programmi che lo gestiscono.

Gerarchicamente subordinato

Con questo termine si intende indicare che la tabella che si sta creando è subordinata (dipendente) ad

un’altra tabella, definita in precedenza nel db logico.

Per esempio la tabella di posizione dell’ordine (EKPO) è subordinata alla tabella di testata degli ordini

(EKKO): per ogni numero di ordine saranno presenti “n” posizioni o righe dell’ordine stesso, ovvero EKPO è

gerarchicamente subordinata alla EKKO.

GET

E’ l’istruzione utilizzata dal programma che legge il db logico creato. Questa istruzione fa si che con un

unico comando si esegui la lettura ciclica della tabella. Eventuali GET nidificate dopo la prima GET sono da

intendersi come altri cicli di lettura nell’ambito nel ciclo precedente.

Es. Ipotizzando di avere i seguenti dati nelle tabelle del DB logico

EKKO EKPO

Docum. 1 Docum.1 Pos. 10

Docum.1 Pos. 20

Docum.1 Pos. 30

Docum. 2 Docum.2 Pos. 10

Page 13: Sommario - Si-Soft Informatica Manuale d uso... · 2010. 11. 15. · 1 Sommario - Lezione 8 – Parte 1 / Parte 2 – Batch Input. - Lezione 9 – Parte 1 / Parte 2 – Smartform.

13

Docum.3 Docum.3 Pos. 10

Docum.3 Pos. 20

Se a programma scriviamo le seguenti istruzioni:

START-OF-SELECTION .

GET EKKO.

Write: / ‘Documento:’, ekko-ebeln.

GET EKPO.

Write:/ ‘Riga:’, ekpo-ebelp

END-OF-SELECTION.

vuol dire che per ogni record letto sulla tabella EKKO (testate ordine acquisto) saranno letti tutti i records

trovati nella tabella EKPO (posizioni ordini acquisto) a fronte del nr. di documento letto con la prima GET.

La stampa sarà emessa come segue:

Documento 1

Riga 10

Riga 20

Riga 30

Documento 2

Riga 10

Documento 3

Riga 10

Riga 20.

A QUESTO PUNTO PROCEDI CON LA LEZIONE ON-LINE NR. 13, QUANDO AVRAI

TERMINATO TORNA QUI E PROCEDI CON L’ESERCIZIO CHE TI CONSIGLIAMO.

Esercizio di ripasso

Creare un database logico che legga le seguenti tabelle, definendone i nodi:

MKPF – Testata documento materiale

Page 14: Sommario - Si-Soft Informatica Manuale d uso... · 2010. 11. 15. · 1 Sommario - Lezione 8 – Parte 1 / Parte 2 – Batch Input. - Lezione 9 – Parte 1 / Parte 2 – Smartform.

14

MSEG – Segmento documento materiale

Per le selezioni generare le delimitazioni libere per la tabella MKPF e generare le selezioni di campo per la

tabella MSEG.

Nella include di gestione del primo nodo, effettuare una select sul nodo che legga il nr. documento e

l’esercizio del documento uguale ai parametri della selezione.

Nella include di gestione del secondo nodo, effettuare una select sul nodo che legga il nr. documento uguale

al nr. documento del primo nodo ed il nr. esercizio uguale al nr. esercizio del primo nodo.

Aggiornare i testi di selezione.

Ricordarsi di attivare ciascuna parte di generazione del DB Logico.

Creare un programma che legga il database logico:

Stampare una intestazione che riporti i seguenti dati:

Nr. documento, Esercizio, Data documento, Data registrazione, Pos. Documento, Tipo movimento,

Materiale, Divisione e Magazzino

Per ogni record di movimento cominciare a stampare dalla posizione 50, in modo da avere questo risultato:

HAI ESEGUITO L’ ESERCIZIO DI RIPASSO? SE SI, PROCEDI CON LE INDICAZIONI

GENERALI DELLA LEZIONE NR. 14, ALTRIMENTI ESEGUI UN NUOVO RIPASSO DELLA

LEZIONE E SE HAI ANCORA DUBBI CHIAMA IL NOSTRO TUTOR.

Page 15: Sommario - Si-Soft Informatica Manuale d uso... · 2010. 11. 15. · 1 Sommario - Lezione 8 – Parte 1 / Parte 2 – Batch Input. - Lezione 9 – Parte 1 / Parte 2 – Smartform.

15

Indicazioni generali e definizioni segnalate dal corso Abap/4

Lezione 14.

Creazione di un job.

Prima di cominciare a seguire il corso on line, ti consigliamo di leggere quanto segue per

agevolarti nell’apprendimento della lezione nr. 14.

In questa sezione si approfondirà la lezione nr. 3, nello specifico la parte riguardante i JOB.

Al fondo della lezione è presente un elenco con i JOB raccomandati per la pulizia del sistema.

Job

Per la definizione di JOB fare riferimento alla lezione nr. 3.

Server destinazione

Con questo termine si definisce su quale server sarà accodato il lavoro .

ATTENZIONE: SI RACCOMANDA DI CANCELLARE IL JOB CREATO ATTRAVERSO LA

SPIEGAZIONE DELLA LEZIONE AL FINE DI NON APPESANTIRE IL SISTEMA!!

Selezionare il tasto JOBS PROPRI, SPUNTARE IL PROPRIO JOB E CANCELLARLO CON

L’ICONA APPOSITA ( ).

Page 16: Sommario - Si-Soft Informatica Manuale d uso... · 2010. 11. 15. · 1 Sommario - Lezione 8 – Parte 1 / Parte 2 – Batch Input. - Lezione 9 – Parte 1 / Parte 2 – Smartform.

16

PROCEDI ORA CON LE INDICAZIONI GENERALI DELLA LEZIONE NR. 15, ALTRIMENTI

ESEGUI UN NUOVO RIPASSO DELLA LEZIONE E SE HAI ANCORA DUBBI CHIAMA IL

NOSTRO TUTOR.

Page 17: Sommario - Si-Soft Informatica Manuale d uso... · 2010. 11. 15. · 1 Sommario - Lezione 8 – Parte 1 / Parte 2 – Batch Input. - Lezione 9 – Parte 1 / Parte 2 – Smartform.

17

Indicazioni generali e definizioni segnalate dal corso Abap/4

Lezione 15.

ALV.

Prima di cominciare a seguire il corso on line, ti consigliamo di leggere quanto segue per

agevolarti nell’apprendimento della lezione nr. 15.

Alv

Questo strumento è utilizzato attraverso dei function module inseriti nella programmazione con la

transazione SE38.

Queste istruzioni sostituiscono i comandi “WRITE” all’interno del programma Abap.

La visualizzazione permette, per esempio, di utilizzare le funzioni di filtro, ordinamento, esportazione e

creazione layout, tipiche della transazione SE11/SE16 per visualizzare le tabelle.

A QUESTO PUNTO PROCEDI CON LA LEZIONE ON-LINE NR. 15, QUANDO AVRAI

TERMINATO TORNA QUI E PROCEDI CON L’ESERCIZIO CHE TI CONSIGLIAMO.

Esercizio di ripasso

Creare un stampa che usi le ALV, come segue:

Utilizzare la tabella SPFLI, definire come parametri di lancio un range per “Città di partenza” ed un range

per “Città di destinazione”.

Utilizzare la funzione ‘REUSE_ALV_LIST_DISPLAY’ per elencare “Compagnia aerea”, “Volo”, “Città di

partenza”, “Città di arrivo” e “Durata Volo”, come nell’esempio.

Page 18: Sommario - Si-Soft Informatica Manuale d uso... · 2010. 11. 15. · 1 Sommario - Lezione 8 – Parte 1 / Parte 2 – Batch Input. - Lezione 9 – Parte 1 / Parte 2 – Smartform.

18

HAI ESEGUITO L’ ESERCIZIO DI RIPASSO? SE SI, PROCEDI CON LE INDICAZIONI

GENERALI DELLA LEZIONE NR. 16, ALTRIMENTI ESEGUI UN NUOVO RIPASSO DELLA

LEZIONE E SE HAI ANCORA DUBBI CHIAMA IL NOSTRO TUTOR.

Page 19: Sommario - Si-Soft Informatica Manuale d uso... · 2010. 11. 15. · 1 Sommario - Lezione 8 – Parte 1 / Parte 2 – Batch Input. - Lezione 9 – Parte 1 / Parte 2 – Smartform.

19

Indicazioni generali e definizioni segnalate dal corso Abap/4

Lezione 16 Parte 1 / 2.

Manuale Sapscript.

Prima di cominciare a seguire il corso on line, ti consigliamo di leggere quanto segue per

agevolarti nell’apprendimento della lezione nr. 16.

Sapscript

Questo strumento di SAP permette di stampare attraverso l’uso di forms.

Il form, nel suo insieme, imposta il layout che si desidera attraverso l’attribuzione di fonts,

caratteri ed altre caratteristiche. Si tratta di vari moduli richiamati uno ad uno dal programma, al

contrario dello smartform che gestisce in un unico spazio le varie aree di gestione (es. titolo e

corpo del programma). Anche il supporto grafico è meno funzionale rispetto allo smartform e,

come strumento, si può definire meno attuale e versatile ma è ancora diffuso.

Può essere gestito un solo modulo alla volta.

HAI ESEGUITO L’ ESERCIZIO PROPOSTO NELLA LEZIONE 16? SE SI, PROCEDI CON LE

INDICAZIONI GENERALI DELLA LEZIONE NR. 17, ALTRIMENTI ESEGUI UN NUOVO

RIPASSO DELLA LEZIONE E SE HAI ANCORA DUBBI CHIAMA IL NOSTRO TUTOR.

Page 20: Sommario - Si-Soft Informatica Manuale d uso... · 2010. 11. 15. · 1 Sommario - Lezione 8 – Parte 1 / Parte 2 – Batch Input. - Lezione 9 – Parte 1 / Parte 2 – Smartform.

20

Indicazioni generali e definizioni segnalate dal corso Abap/4

Lezione 17.

Creazione modulo Sapscript e report di lancio.

Questa lezione esegue una esercitazione per quanto riguarda il SAP SCRIPT.

Per eventuali note informative si rimanda alla lezione nr. 16.

Page 21: Sommario - Si-Soft Informatica Manuale d uso... · 2010. 11. 15. · 1 Sommario - Lezione 8 – Parte 1 / Parte 2 – Batch Input. - Lezione 9 – Parte 1 / Parte 2 – Smartform.

21

Indicazioni generali e definizioni segnalate dal corso Abap/4

Lezione 18.

Open SQL abap/4.

Prima di cominciare a seguire il corso on line, ti consigliamo di leggere quanto segue per

agevolarti nell’apprendimento della lezione nr. 18.

SQL

Si tratta di un linguaggio che serve ad interrogare e modificare il database (Structured Query

Language).

SQL Nativo

E’ il linguaggio SQL originario creato da IBM e sviluppato successivamente da Oracle.

Open SQL

E’ il linguaggio SQL di SAP, si basa sulle istruzioni SQL conosciute con alcune personalizzazioni

proprie di SAP.

Codice di ritorno

Con questo termine si intende un valore da testare a programma. Questo valore è gestito

automaticamente dal sistema e viene impostato dopo una determinata operazione, verificandone

l’esattezza. Il codice di ritorno a seguito della lettura di una tabella si chiama SY-SUBRC.

Accesso puntuale

Si tratta di accedere al primo record di una tabella che abbia le condizioni imposte dal comando

SELECT * SINGLE. Se l’esito dell’operazione è negativo il codice SY-SUBRC è 4 (Non esiste il

record cercato).

Condizioni

Si tratta di limitazioni da imporre ad un determinato evento. In questo caso si riferisce a limitazioni

nella lettura del data base. Se non vi sono condizioni di lettura si intende la lettura dell’intera

tabella, dal primo all’ultimo record di dati.

Normalmente le condizioni sono costituite dall’istruzione WHERE.

Page 22: Sommario - Si-Soft Informatica Manuale d uso... · 2010. 11. 15. · 1 Sommario - Lezione 8 – Parte 1 / Parte 2 – Batch Input. - Lezione 9 – Parte 1 / Parte 2 – Smartform.

22

Operatori

Si intende l’operazione di test da applicare alle condizioni di lettura. Per esempio l’uso di una

condizione e di un’altra condizione ( espressa in questo caso con AND), oppure l’uso di una

condizione o di un’altra condizione ( espressa in questo caso con OR).

Colonne del record

Nella struttura di una tabella si indicano come “colonne del record” i nomi dei campi che

compongono la tabella.

Loop

E’ il ciclo di lettura di una tabella. Fare riferimento alla lezione nr. 2 – Ciclo.

Select elaborative

Sono istruzioni SELECT accompagnate da una funzione che elabora determinate richieste: per

esempio SELECT * COUNT conteggia il numero di record, SELECT MAX determina il valore massimo

di una variabile, etc..

Select per parte di chiave

E’ possibile cercare dei record che hanno un campo con una parte iniziale di codice in comune tra

loro.

Select con nome dinamico della tabella

L’istruzione SELECT , in questo caso, riceve il nome della tabella da interrogare attraverso un

valore impostato nella parameters.

Se i dati visualizzati con la write del record della tabella non sono visibili correttamente, potrebbe

dipendere dalla presenza di dati impaccati al suo interno.

Il dato impaccato consiste in un dato che viene memorizzato secondo una regola che permette di

risparmiare la memoria di allocazione all’interno del record.

A QUESTO PUNTO PROCEDI CON LA LEZIONE ON-LINE NR. 18, QUANDO AVRAI

TERMINATO TORNA QUI E PROCEDI CON L’ESERCIZIO CHE TI CONSIGLIAMO.

Esercizio di ripasso

Definire la tabella Customers

Preparare un report che indichi lo sconto massimo e lo sconto minimo riscontrato in tutta la tabella.

Page 23: Sommario - Si-Soft Informatica Manuale d uso... · 2010. 11. 15. · 1 Sommario - Lezione 8 – Parte 1 / Parte 2 – Batch Input. - Lezione 9 – Parte 1 / Parte 2 – Smartform.

23

Definire una tabella interna con le stesse caratteristiche della tabella Customers ma importando solamente i

dati che hanno il tipo cliente CUSTTYPE = P (privato).Ordinare i dati della tabella interna in base alla città.

Scrivere tutti i record trovati con la condizione richiesta.

Sommare il nr. di clienti elaborati ed elencare il totale.

HAI ESEGUITO L’ ESERCIZIO DI RIPASSO? SE SI, PROCEDI CON LE INDICAZIONI

GENERALI DELLA LEZIONE NR. 19, ALTRIMENTI ESEGUI UN NUOVO RIPASSO DELLA

LEZIONE E SE HAI ANCORA DUBBI CHIAMA IL NOSTRO TUTOR.

Page 24: Sommario - Si-Soft Informatica Manuale d uso... · 2010. 11. 15. · 1 Sommario - Lezione 8 – Parte 1 / Parte 2 – Batch Input. - Lezione 9 – Parte 1 / Parte 2 – Smartform.

24

Indicazioni generali e definizioni segnalate dal corso Abap/4

Lezione 19.

Query SAP – SQ03.

Prima di cominciare a seguire il corso on line, ti consigliamo di leggere quanto segue per

agevolarti nell’apprendimento della lezione 19.

In questa sezione l’argomento trattato è un tool fornito da SAP al fine di interrogare il Database,

chiamato Query SAP. Nello specifico questa lezione tratta la gestione del gruppo utenti.

Gruppo Utenti

All’interno di una azienda vi sono gruppi di utenti che gestiscono le diverse aree di attività.

La transazione SQ03 identifica all’interno di un gruppo logico uno o più utenti, assegnando loro

l’autorizzazione o meno alla modifica e/o inserimento dei query (liste di dati personalizzate).

Questo tipo di funzione è piuttosto delicata e deve essere gestita nell’azienda da un profilo utente

con una alta autorizzazione.

Per questo motivo vi invitiamo ad utilizzare solamente il pulsante di

visualizzazione, al fine di non effettuare modifiche all’interno dei gruppi utente

definiti.

HAI SEGUITO LA LEZIONE NR. 19? SE SI, PROCEDI CON LE INDICAZIONI GENERALI

DELLA LEZIONE NR. 20, ALTRIMENTI ESEGUI UN NUOVO RIPASSO DELLA LEZIONE E

SE HAI ANCORA DUBBI CHIAMA IL NOSTRO TUTOR.

Page 25: Sommario - Si-Soft Informatica Manuale d uso... · 2010. 11. 15. · 1 Sommario - Lezione 8 – Parte 1 / Parte 2 – Batch Input. - Lezione 9 – Parte 1 / Parte 2 – Smartform.

25

Indicazioni generali e definizioni segnalate dal corso Abap/4

Lezione 20.

Query SAP – SQ02.

Prima di cominciare a seguire il corso on line, ti consigliamo di leggere quanto segue per

agevolarti nell’apprendimento della lezione 20.

In questa sezione l’argomento trattato è un tool fornito da SAP al fine di interrogare il Database,

chiamato Query SAP. Nello specifico questa lezione tratta la gestione delle Infosets.

Infoset

Con questo termine si intende la struttura dei dati che verrà poi letta dalla transazione successiva,

quella della Query vera e propria. Infatti la query definita con la transazione SQ01 (lezione nr. 21)

deve essere collegata ad una infoset per poter funzionare.

Nella videata che definisce la infoset si identificano 3 aree: a sinistra i dati origine, cioè l’elenco dei

campi della tabella o di tutte le tabelle selezionate: a destra invece si potrà visualizzare in alto

l’elenco dei campi che vogliamo usare nella nostra struttura, che potrebbero non essere tutti i

campi delle tabelle, ma solo alcuni.

Nella parte destra in basso, invece, si potrà vedere il dettaglio uno alla volta di un campo

selezionato dall’elenco campi infoset, ovvero i dati tecnici ed eventuali descrizioni che si desidera

modificare.

Tipo rilevazione dei dati

Quando si definisce quali tabelle utilizzare e in quale modalità (es. lettura diretta oppure da una

join) vi ritroverete una finestra che chiederà il tipo di rilevazione dati da effettuare. Questa

operazione chiede in che modo si desidera importare i dati dalla tabella nell’area di definizione

della infoset.

Infatti è possibile importare i soli campi chiave di ciascuna tabella dati origine, oppure tutti i campi

o ancora non importare nulla: in questo caso saranno create nell’area infoset delle cartelle vuote

da riempire manualmente con il drag & drop per ciascun campo desiderato.

Definire tipo di campo con funzione LIKE

La lunghezza ed il tipo definiti per il campo in gestione sono ereditati automaticamente dal campo

dal quale si copiano le caratteristiche.

Page 26: Sommario - Si-Soft Informatica Manuale d uso... · 2010. 11. 15. · 1 Sommario - Lezione 8 – Parte 1 / Parte 2 – Batch Input. - Lezione 9 – Parte 1 / Parte 2 – Smartform.

26

Campo supplementare

Definisce un campo/dato che non esiste nella tabella o tabelle dati origine. Viene definito a

programma attribuendogli una lunghezza ed un tipo ed infine viene assegnato del codice Abap

affinchè svolga una determinata operazione.

Il valore o contenuto sarà visualizzato appositamente in una nuova colonna, come appendice ai

dati origine.

Database Logico

Per comprendere il significato di Database Logico si rimanda alla spiegazione nella lezione nr. 13.

A QUESTO PUNTO PROCEDI CON LA LEZIONE ON-LINE NR. 20, QUANDO AVRAI

TERMINATO TORNA QUI E PROCEDI CON L’ESERCIZIO CHE TI CONSIGLIAMO.

Esercizio di ripasso

Modificare la infoset dei voli creata con l’esercizio della lezione:

Aggiungere una tabella supplementare: SBOOK

Creare un nuovo gruppo campi relativo a questa nuova tabella inserita: aggiungervi all’interno i seguenti

dati

- Nr. Prenotazione

- Posto Fumatore

- Peso bagagli

da rilevare rilevati dalla tabella supplementare e gestire la compagnia aerea come “campo di classe” al fine

di ottenere i totali parziali del peso bagaglio ogni volta che cambia il codice compagnia aerea.

Salvare e rigenerare la Infoset. Ricordarsi di riassegnare il gruppo utente con il tasto di salvataggio.

HAI ESEGUITO L’ESERCIZIO DI RIPASSO PROPOSTO? SE SI, PROCEDI CON LE

INDICAZIONI GENERALI DELLA LEZIONE NR. 21, ALTRIMENTI ESEGUI UN NUOVO

RIPASSO DELLA LEZIONE E SE HAI ANCORA DUBBI CHIAMA IL NOSTRO TUTOR.

Page 27: Sommario - Si-Soft Informatica Manuale d uso... · 2010. 11. 15. · 1 Sommario - Lezione 8 – Parte 1 / Parte 2 – Batch Input. - Lezione 9 – Parte 1 / Parte 2 – Smartform.

27

Indicazioni generali e definizioni segnalate dal corso Abap/4

Lezione 21.

Query SAP – SQ01.

Prima di cominciare a seguire il corso on line, ti consigliamo di leggere quanto segue per

agevolarti nell’apprendimento della lezione nr. 21.

In questa sezione l’argomento trattato è un tool fornito da SAP al fine di interrogare il Database,

chiamato Query SAP. Nello specifico questa lezione tratta la gestione dei Queries.

Query

Indica una interrogazione o una richiesta di informazioni da un database. Nel nostro caso si tratta

di visualizzare o stampare un prospetto a partire dalle informazioni definite nella infoset generata

a monte. Si ricorda che è necessario aver creato una infoset prima di creare il query, infatti in fase

di creazione sarà la prima informazione che sarà richiesta. Dopo aver selezionato la infoset

potremo visualizzare le cartelle che la costituiscono, selezionarle e spuntare sui singoli campi che

desidereremo importare nel query.

In questa fase è importante verificare se si sta facendo riferimento al proprio gruppo utente. Per

fare ciò occorre verificare l’intestazione della lista dei query nella parte centrale della videata. In

caso contrario esiste la funzione che permette di posizionarsi sul proprio gruppo utente.

In generale quando, in questa lezione, si fa riferimento ad un prospetto intendiamo sia il prospetto

di stampa che l’impaginazione dei dati (layout) da visualizzare/interrogare. Durante la creazione

del query è possibile inoltre creare una schermata di dati-filtro che permetteranno di effettuare

delle selezioni mirate rispetto ai dati da estrarre.

Infoset legata alla query

Per visualizzare i riferimenti alla infoset gestita dalla query, è possibile selezionare dal menù

Opzioni “Vis. InfoSet”: questa scelta permetterà di esaminare il riepilogo delle informazioni

relative alla infoset di appartenenza.

Varianti

La gestione delle varianti permette di memorizzare dei valori predefiniti nella schermata di dati-

filtro per effettuare le selezioni. Serve allo scopo di non doverli digitare manualmente tutte le

volte che si elabora il query. Ovviamente sarà usato nel caso in cui il richiamo con gli stessi valori

impostati sia da effettuarsi con una certa regolarità.

A QUESTO PUNTO PROCEDI CON LA LEZIONE NR. 21, QUANDO AVRAI TERMINATO

TORNA QUI E PROCEDI CON L’ESERCIZIO CHE TI CONSIGLIAMO.

Page 28: Sommario - Si-Soft Informatica Manuale d uso... · 2010. 11. 15. · 1 Sommario - Lezione 8 – Parte 1 / Parte 2 – Batch Input. - Lezione 9 – Parte 1 / Parte 2 – Smartform.

28

Esercizio di ripasso

Modificare il query dei voli creato con l’esercizio della lezione:

Aggiungere i nuovi 3 campi rilevati dalla tabella supplementare e gestire la compagnia aerea come “campo di classe” al fine di ottenere i totali parziali del peso bagaglio ogni volta che cambia il codice compagnia aerea. Questo esercizio permetterà di esercitarsi sull’uso dei totali generali e parziali.

HAI ESEGUITO L’ESERCIZIO DI RIPASSO? SE SI, PROCEDI CON LE INDICAZIONI

GENERALI DELLA LEZIONE NR. 22, ALTRIMENTI ESEGUI UN NUOVO RIPASSO DELLA

LEZIONE E SE HAI ANCORA DUBBI CHIAMA IL NOSTRO TUTOR.

Page 29: Sommario - Si-Soft Informatica Manuale d uso... · 2010. 11. 15. · 1 Sommario - Lezione 8 – Parte 1 / Parte 2 – Batch Input. - Lezione 9 – Parte 1 / Parte 2 – Smartform.

29

Indicazioni generali e definizioni segnalate dal corso Abap/4

Lezione 22.

Esercitazioni sui magazzini.

Prima di cominciare a seguire il corso on line, ti consigliamo di leggere quanto segue per

agevolarti nell’apprendimento della lezione nr. 22.

Questi esercizi verificano la situazione di magazzino in base a due tabelle custom già create.

E’ bene controllare le tabelle T992 , T992_M, T990 e T990_M prima di cominciare gli esercizi

poiché il contenuto riportato nelle slide potrebbe essere cambiato. Conviene quindi salvare i dati

in un vostro documento word al fine di avere la situazione iniziale (per ogni esercizio) sotto

controllo.

Nell’ultimo esercizio è possibile vedere l’uso dell’istruzione JOIN collegata alla funzione SELECT.

JOIN

Il comando JOIN permette di leggere due o più tabelle contemporaneamente, concatenandole

attraverso un campo comune. Questo campo deve avere le stesse caratteristiche e lunghezza per

entrambe le tabelle da unire.

A QUESTO PUNTO PROCEDI CON LA LEZIONE ON-LINE NR. 22, QUANDO AVRAI

TERMINATO TORNA QUI E PROCEDI CON L’ESERCIZIO CHE TI CONSIGLIAMO.

Esercizio di ripasso

Elencare i codici provincia in comune tra la tabella Banche e la tabella dati imposta provincie.

Definire le tabelle BNKA e T005S.

Definire una lettura attraverso la JOIN che leghi le tabelle tramite i campi BNKA/LAND1 (paese banca e

provincia, sono comunque campi corrispondenti).

Per ogni corrispondenza scrivere il paese banca e la provincia.

Elencare un totale a fine report che indichi quanti records corrispondenti sono stati elaborati.

HAI ESEGUITO L’ ESERCIZIO DI RIPASSO? SE SI, PROCEDI CON LE INDICAZIONI

GENERALI DELLA LEZIONE NR. 23, ALTRIMENTI ESEGUI UN NUOVO RIPASSO DELLA

LEZIONE E SE HAI ANCORA DUBBI CHIAMA IL NOSTRO TUTOR.

Page 30: Sommario - Si-Soft Informatica Manuale d uso... · 2010. 11. 15. · 1 Sommario - Lezione 8 – Parte 1 / Parte 2 – Batch Input. - Lezione 9 – Parte 1 / Parte 2 – Smartform.

30

Indicazioni generali e definizioni segnalate dal corso Abap/4

Lezione 23.

Gestione file.

Prima di cominciare a seguire il corso on line, ti consigliamo di leggere quanto segue per

agevolarti nell’apprendimento della lezione nr. 23.

In questa lezione è spiegato come gestire il trasferimento di un file da PC a server SAP o viceversa.

Si basa sull’uso di una funzione di download ed una di upload già definite in SAP.

L’esercizio illustra come creare un programma di utilità che permetta il trasferimento del file.

HAI ESEGUITO CORRETTAMENTE L’ESERCIZIO PROPOSTO NELLA LEZIONE 23? SE SI,

CONGRATULAZIONI!

HAI TERMINATO IL CORSO ABAP AVANZATO MA SE HAI ANCORA DUBBI NON

ESITARE A CHIAMARE IL NOSTRO TUTOR.