Está en la página 1de 7

Capitolo 10

Field-Symbols e Messaggi di errore

10.1 I Field-Symbols: definizione di base


Finora per tutti gli oggetti che abbiamo definito sono stati fissati la lunghezza ed il carattere. Ora si
rende necessario lutilizzo di funzioni meno specifiche in grado di leggere anche solo una parte di
un determinato oggetto; questo possibile attraverso i Field Symbols, i quali non sono altro che
campi definiti senza lunghezza e tipo di carattere, in grado di occupare una minima parte di
memoria.
Per definire un Field Symbol si devono usare comandi di questo tipo:

data CAMPO value X.


field-symbols <NOME>.
assign CAMPO to <NOME>.

Figura 105

149
Il nome del Field Symbol deve essere rinchiuso allinterno dei due simboli di minore-maggiore; il
comando assign rende possibile lutilizzo dei field-symbols come delle semplicissime data,
facilitando notevolmente il nostro lavoro.

Per capire come funziona un Field Symbol leggiamo la videata di figura 105. Con questo
programma vogliamo caricare sul nostro field symbol OUTPUT la tabella del database
CUSTOMERS. Per fare tutto ci assegnamo una alla volta le righe della nostra tabella (comando
assign component allinterno di un ciclo do) facendo riferimento allindice della tabella stessa (sy-
index).
Come risultato finale si pu considerare la figura 106, in cui abbiamo a video i dati richiesti.

Figura 106

10.2 Lettura di record con i field-symbols


Prendiamo ora ad esame questaltro esempio, in cui viene letto un record esterno (riga 12, figura
107) che comprende una serie di nomi e codici in successione. Il programma legge soltanto una
parte del record associandola al nostro field symbols <ENTRY>; in ultimo lancia il comando di
scrittura.
Tutti questi passaggi sono inclusi in un ciclo do / enddo; luscita da questo ciclo subordinata alla
lettura completa del record definito alla riga 12.

Nella figura 108 si pu vedere il risultato dellesercizio.

150
Figura 107

Figura 108

151
10.3 Caricamento di tabelle con i field-symbols
Naturalmente anche possibile caricare una tabella del database in un field symbol e far scrivere al
programma soltanto alcuni campi della nostra tabella. Ad esempio se noi volessimo scrivere i campi
CARRID, CONNID, FLDATE della tabella SBOOK, dovremmo scrivere un programma di questo
tipo:

Figura 109

Come si pu vedere dalle righe 4 e 5 del programma, la definizione del field symbol leggermente
diversa rispetto a quella a cui siamo abituati: necessario aggiungere alcuni comandi (structure e
default) in modo da associare ad <SB> la struttura di base della tabella SBOOK. Inoltre si deve
anche definire (riga 2) il valore di default di appoggio SBOOK_WA (WA: Work Area), che useremo
come area di lavoro temporanea.
In ultimo per scrivere a video i dati richiesti il comando da utilizzare simile a quello precedent: si
deve aggiungere il campo richiesto, ovvero scriviamo <SB>-CARRID (riga 8).

152
Figura 110

10.4 Invio di un messaggio da un programma


Una possibilit molto interessante quella di implementare un determinato programma attraverso
linvio di messaggi che vadano a dialogare con lutente. Tali messaggi sono in genere catalogati in
base alla loro severit, ovvero in base a quanto seriamente essi interrompono le operazioni del
nostro sistema. I principali tipi di messaggi sono:

A ABNORMAL END Termina il programma e mostra il messaggio sullo


schermo del video. Non si hanno possibilit di correggere
i dati utilizzati.
E ERROR Interrompe il flow logic in processi PAI e non permette
allutente di inserire nuovi dati.
W WARNING Viene bloccato il processo in corso ed appare un
messaggio che permette diverse possibilit di uscita.
I INFORMATION Viene lanciato un messaggio puramente informativo, che
interrompe solo momentaneamente i processi in corso.
S SUCCESS Anchesso un messaggio informativo. La differenza
che appare nella schermata successiva.

153
Un semplice esempio quello riassunto dal programma della videata di figura 111, qui sotto
riportata (si consideri in particolare la riga 19).

Figura 111

Figura 112

154
Per creare un messaggio (ad esempio i003) si deve completare la riga iniziale del programma con
listruzione message-id z0 e cliccare due volte sul messaggio stesso (riga 19), a quel punto si apre la
schermata di definizione del messaggio, come da figura 112.
Dopo aver salvato si pu mandare in esecuzione il programma e verificare la funzionalit del
messaggio inserendo dei valori non validi allinterno della parameters creata (figura 113).

Figura 113

Osservazione: verificare il diverso comportamento del programma con o senza listruzione at


selection-screen della riga 14.

155

También podría gustarte

  • Lim Quiz
    Lim Quiz
    Documento5 páginas
    Lim Quiz
    Fabio Moschettini
    Aún no hay calificaciones
  • Compressione File
    Compressione File
    Documento2 páginas
    Compressione File
    antoninoxxx
    Aún no hay calificaciones
  • Teorema Cinese Del Resto
    Teorema Cinese Del Resto
    Documento2 páginas
    Teorema Cinese Del Resto
    antoninoxxx
    Aún no hay calificaciones
  • Teorema Cinese Del Resto
    Teorema Cinese Del Resto
    Documento2 páginas
    Teorema Cinese Del Resto
    antoninoxxx
    Aún no hay calificaciones
  • Teorema Cinese Del Resto
    Teorema Cinese Del Resto
    Documento2 páginas
    Teorema Cinese Del Resto
    antoninoxxx
    Aún no hay calificaciones
  • Teorema Cinese Del Resto
    Teorema Cinese Del Resto
    Documento2 páginas
    Teorema Cinese Del Resto
    antoninoxxx
    Aún no hay calificaciones
  • Teorema Cinese Del Resto
    Teorema Cinese Del Resto
    Documento2 páginas
    Teorema Cinese Del Resto
    antoninoxxx
    Aún no hay calificaciones
  • Compressione File2
    Compressione File2
    Documento2 páginas
    Compressione File2
    antoninoxxx
    Aún no hay calificaciones
  • Teorema Cinese Del Resto
    Teorema Cinese Del Resto
    Documento2 páginas
    Teorema Cinese Del Resto
    antoninoxxx
    Aún no hay calificaciones
  • Cap12 Par7 Velocita Di Fuga PDF
    Cap12 Par7 Velocita Di Fuga PDF
    Documento2 páginas
    Cap12 Par7 Velocita Di Fuga PDF
    antoninoxxx
    Aún no hay calificaciones
  • Bustapaga
    Bustapaga
    Documento32 páginas
    Bustapaga
    antoninoxxx
    Aún no hay calificaciones
  • Teorema Cinese Del Resto
    Teorema Cinese Del Resto
    Documento2 páginas
    Teorema Cinese Del Resto
    antoninoxxx
    Aún no hay calificaciones
  • Bustapaga
    Bustapaga
    Documento32 páginas
    Bustapaga
    antoninoxxx
    Aún no hay calificaciones
  • Compendio Fisica
    Compendio Fisica
    Documento2 páginas
    Compendio Fisica
    antoninoxxx
    Aún no hay calificaciones
  • Bustapaga
    Bustapaga
    Documento32 páginas
    Bustapaga
    antoninoxxx
    Aún no hay calificaciones
  • Bustapaga
    Bustapaga
    Documento32 páginas
    Bustapaga
    antoninoxxx
    Aún no hay calificaciones
  • Bustapaga
    Bustapaga
    Documento32 páginas
    Bustapaga
    antoninoxxx
    Aún no hay calificaciones
  • Bustapaga
    Bustapaga
    Documento32 páginas
    Bustapaga
    antoninoxxx
    Aún no hay calificaciones
  • Bustapaga
    Bustapaga
    Documento32 páginas
    Bustapaga
    antoninoxxx
    Aún no hay calificaciones
  • Lezione 3
    Lezione 3
    Documento85 páginas
    Lezione 3
    antoninoxxx
    Aún no hay calificaciones
  • Bustapaga PDF
    Bustapaga PDF
    Documento32 páginas
    Bustapaga PDF
    antoninoxxx
    Aún no hay calificaciones
  • Bustapaga
    Bustapaga
    Documento32 páginas
    Bustapaga
    antoninoxxx
    Aún no hay calificaciones
  • 5 Compressione
    5 Compressione
    Documento21 páginas
    5 Compressione
    antoninoxxx
    Aún no hay calificaciones
  • Bustapaga
    Bustapaga
    Documento32 páginas
    Bustapaga
    antoninoxxx
    Aún no hay calificaciones
  • 5 Compressione
    5 Compressione
    Documento21 páginas
    5 Compressione
    antoninoxxx
    Aún no hay calificaciones
  • Huffman4 PDF
    Huffman4 PDF
    Documento19 páginas
    Huffman4 PDF
    antoninoxxx
    Aún no hay calificaciones
  • Huffman 22
    Huffman 22
    Documento19 páginas
    Huffman 22
    antoninoxxx
    Aún no hay calificaciones
  • Huffman 4
    Huffman 4
    Documento19 páginas
    Huffman 4
    antoninoxxx
    Aún no hay calificaciones
  • Huffman 4
    Huffman 4
    Documento19 páginas
    Huffman 4
    antoninoxxx
    Aún no hay calificaciones
  • Huffman 3
    Huffman 3
    Documento19 páginas
    Huffman 3
    antoninoxxx
    Aún no hay calificaciones
  • Huffman
    Huffman
    Documento19 páginas
    Huffman
    antoninoxxx
    Aún no hay calificaciones
  • 25 Pdfsam 91ManualeCaldaia Victrix 28 35 KW TT 1041728
    25 Pdfsam 91ManualeCaldaia Victrix 28 35 KW TT 1041728
    Documento4 páginas
    25 Pdfsam 91ManualeCaldaia Victrix 28 35 KW TT 1041728
    teooldo
    Aún no hay calificaciones
  • Cantenna
    Cantenna
    Documento7 páginas
    Cantenna
    J_Klaus
    Aún no hay calificaciones
  • Catalogo Vento Final
    Catalogo Vento Final
    Documento28 páginas
    Catalogo Vento Final
    Javier
    Aún no hay calificaciones
  • Showthread - PHP 9748 Ruota Dentata in
    Showthread - PHP 9748 Ruota Dentata in
    Documento2 páginas
    Showthread - PHP 9748 Ruota Dentata in
    sp_escher
    Aún no hay calificaciones
  • Technical Service Bulletin (TSB) - VF3PSCFBBER048503: 1. Origine
    Technical Service Bulletin (TSB) - VF3PSCFBBER048503: 1. Origine
    Documento2 páginas
    Technical Service Bulletin (TSB) - VF3PSCFBBER048503: 1. Origine
    Luca Trotta
    Aún no hay calificaciones