LA PROGRAMMAZIONE IN SAP CON IL LINGUAGGIO ABAP/4

Documenti analoghi
Argomenti Corso SAP Online ABAP Completo

Argomenti Corso SAP Online ABAP/4 Completo

Percorso Formativo SAP Online ABAP/4 Completo

Argomenti Corso SAP ABAP Completo Individuale

SQL: le funzioni di aggregazione

QL (Query Language) Alice Pavarani

Percorso Formativo SAP per IMPIEGATO SAP TECNICO-INFORMATICO Programmazione-Analisi- Progetti

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/

Select From Where...

Select Anagrafiche, Movimenti From Descrizione? Where Anagrafiche.Codice=Codice And Cognome=' Bianchi ';

Argomenti Corso SAP Online Pacchetto Gold

Linguaggio SQL seconda parte

Practice: ERP Ruolo : Analista Programmatore Abap. Titolo di studio: Perito Industriale Informatica Data: 2000

CORSO ACCESS 2000 PARTE VI

4.SQL QUERY. Fare una query significa fare delle ricerche sul nostro database.

Caratteristiche dei linguaggi per Database

Structured Query Language

MODULO 2. Query normali e parametriche Query di:

DATABASE PER IL WEB. Programmazione Web 1

Sistemi di Elaborazione delle Informazioni

Archivi e basi di dati - ing. M. Cossentino. Settore. Traccia 1. Traccia 200. Settore non polarizzato

Lezioni di Laboratorio sui Data Base

SQL - Structured Query Language

Access. P a r t e t e r z a

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

<Nome Tabella>.<attributo>

Queries su più tabelle

SQL. Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative

Manuale SQL. Manuale SQL - 1 -

LA LOGISTICA AREA ACQUISTI IN SAP

DISPENSA ACCESS (OFFICE 2010 BETA)

OPERATORI LOGICI: AND, OR, NOT

Microsoft Access. Microsoft Access. Maurizio Rebaudengo, Paolo Garza 1. Microsoft Access. Creazione base di dati. Apertura di una base dati

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor

Domande utili alla preparazione dell orale di Informatica all Esame di Stato

SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013)

Prova Pratica di Informatica, Modulo Basi di dati Appello 23/07/2018

ESERCITAZIONI ACCESS

LA LOGISTICA AREA VENDITE IN SAP

2.4. Creare ed operare con le query

CORSO ACCESS PARTE IV

Esempi SQL con Access. Orazio Battaglia

SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA. 3. Panoramica su SQL Prof. Mauro Giacomini

Capitolo 6 Parameters e Selection-Screen

LA PIANIFICAZIONE DELLA PRODUZIONE IN SAP

MS ACCESS. Obiettivi. Creare e popolare un database. Interrogare un database. Accedere al database tramite input e output grafici

Corso sul linguaggio SQL

#include <stdio.h> main() { - 1 -

LA PIANIFICAZIONE DELLA PRODUZIONE IN SAP

MS Access Un DBMS relazionale per Windows?

Corso di Access. Prerequisiti. Modulo L2A (Access) 2.4 Ordinamento e filtri

Indice generale. Introduzione...ix. Strumenti per sviluppare applicazioni...1

SQL. Università degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto

LA LOGISTICA AREA VENDITE IN SAP

Il linguaggio SQL: raggruppamenti. Versione elettronica: SQLb-gruppi.pdf

Il comando provoca il salvataggio dello stato e la terminazione dell esecuzione.

A.A. 2018/2019. Esercitazione 12. Strutturazione di Istruzioni in Linguaggio SQL. [ Possibili Soluzioni ] FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE

Progettazione di Sistemi Informatici

INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. Raggruppamento. Raggruppamento

Capitolo 4 Internal Tables

IL LINGUAGGIO SQL LE BASI

Il linguaggio SQL: raggruppamenti

Informatica documentale Laurea in Scienze della Comunicazione Prova scritta del 25 giugno Cognome e nome: Matricola:

Il linguaggio SQL: raggruppamenti

Microsoft Access (parte 5) Query. Query. Query. Query. Creare una query

SQL Server Integration Services. SQL Server 2005: ETL - 1. Integration Services Project

AMMINISTRAZIONE DI UN SISTEMA SAP

Manuale Comandi SQL SQL. Sito per esercitarsi (on line) SQL

Corso di Informatica II. Corso di Informatica II. Progetti per l esame 1. Progetti per l esame 2 24/03/2009

MODULO 5 - USO DELLE BASI DI DATI 2 FINALITÁ

Excel 3. Master Universitario di II livello in MANAGER NELLE AMMINISTRAZIONI PUBBLICHE A.A Prof.ssa Bice Cavallo

ASP e Database. A cura di Michele Cavalieri

Lo scopo. Il primo esperimento. Soluzione informale. Le variabili

DATABASE CLIENTIRAPPRESENTANTI

TABELLE RECORD E CAMPI

Basi di Dati: Corso di laboratorio

File binari e file di testo

Corso di Informatica - prova scritta del 28/01/2008

Database Lezione 2. Sommario. - Progettazione di un database - Join - Valore NULL - Operatori aggregati

COMPITO DI FONDAMENTI DI INFORMATICA Allievi Ingegneri Meccanici. Appello dell 11 Febbraio 2008 ( )

Programma Master Programmatore Java

ORACOLO Gestione questionari.

PRODOTTO CARTESIANO Caso Generale

A.A. 2018/2019. Esercitazione 11. Strutturazione di Istruzioni in Linguaggio SQL. [ Possibili Soluzioni ] FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE

Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:

Prof. Alberto Postiglione Dipartimento di Scienze della Comunicazione Università degli Studi di Salerno

Il formato di base di un interrogazione in SQL è: SELECT R i1.c 1, R i2.c 2,..., R in.c n FROM R 1, R 2,..., R k WHERE F;

Corso di. Basi di Dati I. 9. Esercitazioni in SQL: Check, asserzioni, viste

IL MANUALE PER IL CONSULENTE SAP

USO DELLE BASI DI DATI (ACCESS) COMPRENDERE I DATABASE UTILIZZO DELL APPLICAZIONE TABELLE CERCARE INFORMAZIONI OGGETTI STAMPE

IL PRIMO PROGRAMMA IN C

SQL. Argomenti della lezione. Join esplicito. Interrogazioni complesse in SQL join esplicito outer join operatori aggregati interrogazioni nidificate

Personalizzazione del report

A.s Programma di Informatica

Laboratorio di Basi di Dati

Appunti di informatica. Lezione 8 anno accademico Mario Verdicchio

Esame Laboratorio di Programmazione

Corso di Access. Prerequisiti. Modulo L2 A (Access) Le query

Transcript:

GLI E-BOOK DI SI-SOFT INFORMATICA LA PROGRAMMAZIONE IN SAP CON IL LINGUAGGIO ABAP/4 - BASE -

2

ABAP/4 INDICE Struttura delle Tabelle SAP pag. 7 Navigazione nelle Tabelle SAP pag. 12 Creazione di un Dominio pag. 16 Creazione di un Tipo Dati pag. 22 Creazione di una Tabella personalizzata pag. 28 Creazione di una Chiave Esterna in una Tabella pag. 38 Creazione di un Help di Ricerca in una Tabella pag. 42 Creazione di un Programma Report pag. 49 Dichiarazione di Tabelle e Variabili in un programma Pag. 57 Elenco delle Variabili di Sistema pag. 61 Variabili: elenco delle varie tipologie pag. 66 Creazione dei Parametri di Selezione in un programma pag 69 L istruzione SELECT pag. 77 Le Tabelle Interne e relative istruzioni pag. 96 Le Condizioni pag. 106 I Cicli pag. 109 Stampa a Video dei dati di output di un programma pag. 112 3

ABAP/4 INDICE Caricamento di un File sul Server SAP in ABAP pag. 119 Lettura di un File dal Server SAP in ABAP pag. 124 Le istruzioni FORM e PERFORM pag. 128 L istruzione INCLUDE pag. 131 Il Debug pag. 134 Creazione di una Variante pag. 145 Creazione di un programma ALV pag. 151 Schedulazione di un Programma tramite Job pag. 162 Functions e BAPI Analisi Pag. 167 Functions e BAPI Utilizzo pag. 178 Creazione di un Enhancements pag. 187 Creazione di un Batch Input pag 193 Creazione di uno Smartforms Layout pag. 213 Creazione di uno Smartforms Stili pag. 249 Creazione di uno Smartforms il programma ABAP pag. 259 Utility: attivare l Editor SAP negli Smartforms pag. 266 Creazione di un Module Pool pag. 270 4

ABAP/4 INDICE Creazione di un Job pag. 296 Visualizzazione di un Job pag. 305 Utility: caricamento rapido di un file sul Server SAP pag. 308 Utility: scaricamento rapido di un file dal Server SAP pag. 311 Utility: caricamento di immagini su SAP pag. 314 5

Il linguaggio di Programmazione ABAP/4 Abbiamo scelto come argomento di questa demo alcune delle attività più importanti che vengono svolte in ambito programmazione ABAP/4. Ci auguriamo che questa demo ti possa permettere di verificare, non solo l utilità dei nostri e-book, ma anche la qualità con cui essi sono stati implementati. Il linguaggio di Programmazione ABAP/4 L ABAP/4 è il linguaggio di programmazione proprietario di SAP per creare e personalizzare il Sistema tramite programmi custom. Di base, l ABAP sfrutta le potenzialità del linguaggio SQL migliorandone le performance (ovviamente se le istruzioni sono ben implementate). In questo E-Book vengono utilizzati esempi specifici per ogni tematica, partendo quindi dall SQL SAP (chiamato Open SQL) arrivando fino alle Utility più complesse come i Batch Input, Smartforms e Module Pool. L E-Book è stato pensato per essere un valido supporto durante l attività di studio o l attività lavorativa e vista la molteplicità delle operazioni disponibili in ABAP vengono forniti esempi schematici nel modo più chiaro possibile. 6

L ISTRUZIONE SELECT (TRANSAZIONE SE38) 7

L istruzione SELECT permette al programma di prelevare dei dati da una tabella SAP e poi elaborarli a seconda delle esigenze del programmatore. Possono ad esempio essere stampati a video, trasportati in altre tabelle o combinati per avere calcoli o output particolari. Esistono varie tipologie di SELECT ed ognuna deve avere obbligatoriamente la tabella di riferimento (istruzione FROM) ed in modo facoltativo la condizione di selezione (istruzione WHERE). Gli esempi di SELECT sono basati sulla tabella MARA (anagrafica materiale). SELECT *. Questa SELECT permette la selezione di tutti i campi di una tabella senza che il programmatore debba elencarli tutti. Per scrivere in output il campo tabella si utilizza l istruzione WRITE. Se dopo l istruzione è presente il carattere / vuol dire il record successivo viene scritto direttamente a capo. 8

SELECT campo1, campo2, ecc. Questa SELECT permette la selezione dei singoli campi di una tabella indicati dal programmatore. Anche qui per scrivere in output il campo tabella si utilizza l istruzione WRITE. I dati che vengono estratti dalla tabella devono essere salvati in altrettante variabili di appoggio. 9

SELECT con CONDIZIONE Qualsiasi SELECT, se seguita dalla condizione WHERE, permette di filtrare il risultato secondo parametri decisi dal programmatore. Questa istruzione coinvolge anche simboli di confronto tra oggetti, analizzati in questa sezione. 10

Se si hanno più condizioni, esse devono essere legate tra di loro. Nel caso in cui tutte queste debbano essere soddisfatte si utilizza l istruzione AND. 11

Se invece l output deve dipendere dal fatto che non tutte le condizioni, ma solo alcune vengano soddisfatte, si utilizza l istruzione OR. 12

Tra il campo tabella ed il valore da comparare si hanno simboli di confronto. Per l uguaglianza si usa il simbolo = o EQ. EQ significa Equal to. Per il simbolo di maggiore si usa il simbolo <> o NE.NE significa Not equal. Per il simbolo di minore si usa il simbolo < o LT. LT significa Less than. 13

Per il simbolo di maggiore si usa il simbolo > o GT. GT significa Greather than. Per il simbolo di minore-uguale si usa il simbolo <= o LE. LE significa Less equal. Per il simbolo di minore-uguale si usa il simbolo >= o GE. GE significa Greater equal. 14

SELECT SINGLE Questa SELECT permette la selezione del primo record che corrisponde alle condizioni impostate. Se esiste più di un record che corrisponde al criterio di scelta viene infatti considerato solo il primo di questi in ordine di lettura. Notare che la SELECT SINGLE non richiede l uso della ENDSELECT. SELECT MIN / SELECT MAX Queste SELECT permettono la selezione del record con il valore minimo o massimo che corrisponde alle condizioni impostate. Esse richiedono il salvataggio del valore in corrispettive variabili d appoggio. Le SELECT MIN e SELECT MAX non richiedono l istruzione ENDSELECT. 15

SELECT COUNT Questa SELECT permette il conteggio dei record che soddisfano la condizione imposta dal programmatore. Essa richiede il salvataggio del valore in una corrispettiva variabile d appoggio. La SELECT COUNT non richiede l istruzione ENDSELECT. SELECT ANNIDATE Una SELECT può a sua volta contenere un altra SELECT. In questo caso, la SELECT più interna legge i dati dalla seconda tabella a fronte del record letto nella SELECT più esterna. 16

SELECT E TRASPORTO DATI IN TABELLA INTERNA Questa SELECT permette di estrarre tutti i contenuti o parte dei contenuti da una tabella per inserirli direttamente in una tabella interna. Il requisito fondamentale per eseguire correttamente la SELECT è che la Tabella Interna deve essere dichiarata con la dicitura OCCURS n WITH HEADER LINE. Notare che per la scrittura in output della Tabella Interna è necessario il ciclo LOOP.. La SELECT non richiede l istruzione ENDSELECT. 17

SELECT E TRASPORTO DATI IN TABELLA INTERNA CON CAMPI UGUALI Questa SELECT permette di estrarre tutti i contenuti o parte dei contenuti da una tabella per inserirli direttamente in una tabella interna che ha gli stessi identici campi della tabella sorgente. L uguaglianza dei campi non è riferita al numero, ma al nome campo. Il requisito fondamentale per eseguire correttamente la SELECT è che la Tabella Interna deve essere dichiarata con la dicitura OCCURS n WITH HEADER LINE. Notare che per la scrittura in output della Tabella Interna è necessario il ciclo LOOP. La SELECT non richiede l istruzione ENDSELECT. 18

SELECT E TRASPORTO DATI IN CODA A TABELLA INTERNA CON CAMPI UGUALI Questa SELECT permette di estrarre tutti i contenuti o parte dei contenuti da una tabella per inserirli direttamente in una tabella interna in coda ai contenuti già presenti. La tabella interna deve avere gli stessi identici campi della tabella sorgente. L uguaglianza dei campi non è riferita al numero, ma al nome campo. Il requisito fondamentale per eseguire correttamente la SELECT è che la Tabella Interna deve essere dichiarata con la dicitura OCCURS n ed è a discrezione del programmatore se dichiararla anche con l istruzione WITH HEADER LINE. Notare che per la scrittura in output della Tabella Interna è necessario il ciclo LOOP. La SELECT non richiede l istruzione ENDSELECT. 19

SELECT IN UN RANGE DI VALORI Questa SELECT permette di estrarre tutti i contenuti inclusi in un range definito nella condizione WHERE. L istruzione adatta per questo tipo di SELECT è BETWEEN. Qui l istruzione ENDSELECT è obbligatoria 20

SELECT VALORI DA UNA PARTE DI CHIAVE Questa SELECT permette di estrarre tutti i contenuti che iniziano o terminano con la dicitura specificata nella condizione WHERE. L istruzione adatta per questo tipo di SELECT è LIKE e la porzione di chiave deve essere delimitata dal simbolo percentuale % all inizio o fine a seconda delle esigenze. In base, quindi, alla posizione in cui è messa la percentuale, il Sistema dà in output tutti i record che iniziano, contengono o terminano per la porzione di chiave inserita. 21

SELECT JOIN Questa SELECT permette di estrarre i valori voluti dall unione di due o più tabelle relazionati da precise chiavi. La relazione tra le tabelle è determinata con l istruzione ON. E buona norma ridenominare le tabella con delle lettere provvisorie per evitare il problema di doppi nomi tra tabelle simili. Per esempio, se si ha una Tabella1, questa diventa X grazie al comando AS (Tabella1 AS X) ed i relativi campi vengono dichiarati con X~nomecampo. Notare che i campi di tabelle ridenominate non vengono dichiarati con il classico trattino, ma con il simbolo Tilde (in tastiera Alt+126). 22

L uso della SELECT JOIN spesso risulta dispendioso a livello di prestazioni SAP. E infatti consigliabile limitare il più possibile l uso della JOIN sostituendola con l uso delle SELECT ANNIDATE. Il risultato è lo stesso, ma a livello di performance questa risulta più veloce nell elaborazione. 23

ORDINAMENTO RISULTATO DELLA SELECT Ogni risultato di una SELECT può essere ordinato secondo criteri decisi dal programmatore. L istruzione adatta a ciò è la ORDER BY. Tutti i campi successivi all istruzione sono interpretati da SAP in modo sequenziale. L Ordinamento può essere Crescente o Decrescente. Per impostare ciò, basta aggiungere la dicitura ASCENDING o DESCENDING subito dopo il campo oggetto dell ordinamento. Se, invece, si vuole ordinare automaticamente per Chiave Primaria, basta inserire l istruzione ORDER BY PRIMARY KEY. 24

RAGGRUPPAMENTO RISULTATO DELLA SELECT Ogni risultato di una SELECT può essere raggruppato secondo criteri decisi dal programmatore. L istruzione adatta a ciò è la GROUP BY. Tutti i campi successivi all istruzione sono interpretati da SAP in modo sequenziale. Questa istruzione richiede l uso di variabili di appoggio. 25

Questo documento è di proprietà della Si-Soft Informatica e tutti i