La keyword ALIAS in DDS esiste da molti anni. Se si aggiunge una keyword alias ad un qualunque file creato, questo potrà utilizzare l’alias più lungo al posto del nome del campo.
E’ altresì vero che se si usa la funzione Client Access “Data Transfer from System i” per trasformare un file AS400 inun file per Excel il nome alias verrebbe usato dal foglio di calcolo come intestazione di colonna.
Questa è da sola un’ottima ragione per definire gli alias nella DDS, anche se non si potevano usare i termini nei programmi RPG quando venne introdotto RPGLE. La capacità di utilizzare l’alias in un pgm RGP arrivò molto dopo, nella versione IBM i 7.1
Mentre definisci DDS, alias non è che un’altra keyword che puoi usare, qui è stata inclusa nel codice sorgente di file fisici:
A R TESTFILER A FLD001 10 ALIAS(FIRST_FIELD) A FLD002 3P 0 ALIAS(SECOND_FIELD) A FLD003 10 ALIAS(THIRD_FIELD) A FLD004 5P 0 ALIAS(FOURTH_FIELD) A K FLD001 |
A si può fare lo stesso nel codice sorgente di file logici:
A R TESTFILELR PFILE(TESTFILE) A FLD001 ALIAS(FIELD_1) A FLD002 ALIAS(FIELD_2) A FLD003 ALIAS(FIELD_3) A FLD004 ALIAS(FIELD_4) A K FLD002 A K FLD001 |
Di seguito c’è un piccolo programma creato per mostrare come usare i nomi alias meglio del nome originale. Questo dimostra anche che questa è una delle funzionalitià più interessanti per RPG.
01 dcl-f TESTFILE usage(*input) alias qualified ; 02 dcl-ds PhyFile likerec(TESTFILE.TESTFILER) ; 03 dcl-f TESTFILEL usage(*input) alias qualified ; 04 dcl-ds LglFile likerec(TESTFILEL.TESTFILELR:*input) ; 05 dcl-ds Another extname('TESTFILE') alias qualified end-ds ; 06 read TESTFILE PhyFile ; 07 read TESTFILEL LglFile ; 08 Another = PhyFile ; 09 *inlr = *on ; |
fonte: http://www.rpgpgm.com/2014/11/using-alias-for-longer-field-names.html