ALIAS

When the ALIAS keyword is specified for an externally-described data structure, the RPG compiler will use the alias (alternate) names for the subfields, if present. If the ALIAS keyword is not specified for the data structure, or an external field does not have an alias name defined, the RPG compiler will use the standard external field name.

When alias names are being used and you want to rename a subfield, you specify the alias name as the parameter to the EXTFLD keyword. The EXTFLD keyword does not support continuation, so you must specify the entire name on one source specification. Figure 121 shows an example with two data structures, defined for the same file. The data structure that has the ALIAS keyword coded uses the alias name, CUSTOMER_ADDRESS, as the parameter for the EXTFLD keyword. The data structure that does not have the ALIAS keyword coded uses the standard name, CUSTAD, as the parameter for the EXTFLD keyword.

Note:
If the alternate name for a particular external field is enclosed in quotes, the standard external field name is used for that field.

When the PREFIX keyword is specified with the ALIAS keyword, the second parameter of PREFIX, indicating the number of characters to be replaced, does not apply to the alias names. In the following discussion, assume that the external file MYFILE has fields XYCUSTNM and XYID_NUM, and the XYCUSTNM field has the alias name CUSTOMER_NAME.

Figure 121. Using the ALIAS keyword for an externally-described data structure
 * The DDS specifications for file MYFILE, using the ALIAS keyword 
 * for the first two fields, to associate alias name CUSTOMER_NAME 
 * with the CUSTNM field and alias name CUSTOMER_ADDRESS
 * with the CUSTAD field. 
A          R CUSTREC
A            CUSTNM        25A         ALIAS(CUSTOMER_NAME)
A            CUSTAD        25A         ALIAS(CUSTOMER_ADDRESS)
A            ID_NUM        12P 0

 * The RPG source, using the ALIAS keyword.
 * The customer-address field is renamed to CUST_ADDR
 * for both data structures.
D aliasDs       e ds                  ALIAS 
D                                     QUALIFIED EXTNAME(myfile)
D   cust_addr   e                     EXTFLD(CUSTOMER_ADDRESS)
D noAliasDs     e ds                  
D                                     QUALIFIED EXTNAME(myfile)
D   cust_addr   e                     EXTFLD(CUSTAD)
 /free
    // The ALIAS keyword is specified for data structure "aliasDs"
    // so the subfield corresponding to the "CUSTNM" field has 
    // the alias name "CUSTOMER_NAME"    
    aliasDs.customer_name = 'John Smith';
    aliasDs.cust_addr = '123 Mockingbird Lane';
    aliasDs.id_num = 12345;
    
    // The ALIAS keyword is not specified for data structure 
    // "noAliasDs", so the subfield corresponding to the "CUSTNM" 
    // field does not use the alias name    
    noAliasDs.custnm = 'John Smith';
    aliasDs.cust_addr = '123 Mockingbird Lane';
    noAliasDs.id_num = 12345;
   


[ Top of Page | Previous Page | Next Page | Contents | Index ]