A01.1 - Metodi: nomi programmi e procedure
Questo documento indica le regole per l'attribuzione dei nomi di programmi, l'uso della sintassi e lo schema standard per la impostazione delle funzioni.
Sommario
Questa guida fa parte della documentazione che definisce le metodologie utilizzate dall'ambiente ADSW per assegnare nomi e definire la struttura di programmi, maschere, dati e variabili, la sintassi e lo schema standard per la impostazione delle funzioni.
I contenuti riguardano i seguenti argomenti:
- Nomi programmi
- Procedure division Cobol: sintassi
- Procedure division Cobol: routines
- Nomi form / mask
1.1 - Metodi per i programmi
1.1.1 - Attribuzione nome programma
L'attribuzione dei nomi ai programmi deve essere effettuata rispettando le regole descritte di seguito.
Il nome del programma coincide con il nome del file nella libreria e quello che lo identifica nel repository di ADE.
Deve essere conforme alla smorfia UdddddTS utilizzata seguendo lo schema seguente:
U | ddddd | L | S | E | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Identificativo di gruppo | Descrizione mnemonica | Livello | Suffisso | Estensione | ||||||||||||||||||||||||||
I Impostare (Manutenzione)
G Compiere (Gestione)
P Utilizzare (Elaborazione)
R Generare(Reporting-Stampe)
V Aggiornamenti interattivi/schedulabili M Manutenzione batch U Utility varie C Base T Trigger |
Attribuire rispetto alle funzionalità base del programma, es: IAGGCL2D = Aggiornamento Parametri Cli/For il quinto carattere può essere utilizzato come progressivo nell'ambito del livello |
|
|
|
1.1.2 - Procedure division Cobol: SINTASSI
Incolonnamento istruzioni:
Colonne | 1 |
1 | 2 | 2 |
3 | 4 |
4 | 5 | ||
1 7 | 8 |
2 | 6 |
0 | 4 | 0 | 0 | 8 | 4 | |
ADD | D-AAAA-BBBB | TO | T1-AAAA-BBBB | |||||||
SUBTRACT |
D-AAAA-BBBB | FROM | T1-AAAA-BBBB | |||||||
DIVIDE |
D-AAAA-BBBB | BY |
3 | |||||||
MULTIPLY | D-AAAA-BBBB | BY | 3 | |||||||
MOVE | C-AAAA-BBBB | TO | P-AAAA-BBBB | |||||||
SET | IXA | TO | I-IND | |||||||
IF K-AAAA-BBBB NOT EQUAL D-AAAA-AAAA | ||||||||||
GO TO R-100-0x0. | ||||||||||
PERFORM R100-AAAA(-aaa) | THRU | R100-EX | ||||||||
STOP RUN. |
1.1.3 - Procedure division Cobol: ROUTINES
Struttura a blocchi:
"R600-xxx-xxx" --> SUB-Routines Liv. A:
Controlli generici (formale e di merito sui dati;
esempio: controllo data, cod. fisc. etc.)
Calcoli
"R650-FIND-xxx" --> SUB-Routines Liv. B
Find in liste tramite SFH
"R700-xxx-xxx" --> SUB-Routines Liv. C:
Aggiornamenti , ricerche e selezioni complesse su archivi.
Istruzioni di:
a) WRITE/REWRITE/DELETE/READ
b) Preparazione campi KEY
c) PERFORM R900-STR-TAB THRU R975-EX
(Start e Read routinizzate, etc.)
"R800-xxx-xxx" --> SUB-Routines Liv. D:
Preparazione righe di stampa.
Istruzioni di: a) PERFORM R975-STA-RIG THRU R975-EX.
"R870-xxx-xxx" --> SUB-Routines Liv. E:
Manipolazione MASK e gestione VDU.
"R900 " --> SUB-Routines di Esecuz. e Controllo I/O (Liv. F):
"R900-xxx-xxx" --> > I/O DK "START e READ"
"R975-xxx-xxx" --> > CALL "PRINT" Gestione stampe
"R980-xxx-xxx" --> > CALL "UCRSF11X" Controllo I/O su VDU
"R985-xxx-xxx" --> > Varie
Non saranno logiche le PERFORM riferitesi a BLOCCHI siti in SUB-Routines di livello inferiore a quella chiamante.
È esatto:R700-CTR-CAU.
- PERFORM R901-REA-TAB THRU R901-EX
- R700-EX.
No Comments