13
Thu, Jun
4 New Articles

Do You Use an ALIAS?

RPG
Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

In 7.1, you have a new option that allows you to use the alias names in externally described data structures.

 

Right after my first child was born, I remember admiring him and trying to decide what his name should be. My husband and I had four names picked out, and we liked the combination of any two. We wanted to make sure that our son had the right name. After all, studies show that your name can affect your self-concept—how effective, attractive, and valued you feel. It also affects the way you behave, your personality, and others' impressions of you. So we knew that we had an important decision to make and took it seriously. Names are not only important for people, but for products and other things too. History has shown that products with bad names don't sell well. As programmers, we know that the names we give variables, procedures, tables, and other objects need to be descriptive and self-documenting. So it's nice that we are able to use long, descriptive names for our columns and records. What isn't so nice is that when we use a file with long, descriptive names as externally described files in RPG, we get stuck with the short and sometimes cryptic names as subfields.

 

Thankfully, in 7.1, there is a new keyword to tell the RPG compiler and SQL precompiler that we want to use the long or alias names when creating an externally described data structure. The new keyword is ALIAS, and it can be used on the F-spec and the D-spec.

 

The ALIAS keyword is allowed on the F-spec when the compiler does not generate input or output specs. This would be in cases where the TEMPLATE or QUALIFIED keyword is used, as well as for local files defined in subprocedures. The alias names will be used as the subfield names for data structures defined with the LIKEREC keyword for the files specified with the ALIAS keyword. If an alias name does not exist, the standard external name is used. The ALIAS keyword can be used on any externally described data structure in the D spec.

Example 1

My DDS specification for MYFILE looks like this:

 

A          R MYREC                             

A            EMPNM         30A         ALIAS(EMPLOYEE_NAME)      

A            DEPT_ID        4A         ALIAS(DEPARTMENT_NAME)

A            BAND           1A                         

 

In the RPG source:

 

Fmyfile    if   e             disk    QUALIFIED ALIAS            

 

The subfields of the LIKEREC data structure would be…

  • EMPLOYEE_NAME
  • DEPARTMENT_NAME
  • BAND

 

When using this new feature, you need to remember that the rules for the PREFIX keyword are different for the alias names. If there is a second parameter on the PREFIX keyword, the subfields with an alias name will not have characters replaced, but just have the prefix added to the long name. Similarly, if the first parameter of the PREFIX keyword is double quotes ('') with a length specified in the second parameter, the subfields that do not have alias names will have characters removed. The subfields that have alias names will have no characters removed. If there is not a second parameter specified on the PREFIX keyword, the prefix is added to the alias name.

 

There are two other things to remember when using ALIAS. The EXTFLD keyword does not support continuation, and if you specify ALIAS, you need to be able to enter the entire alias name. The second is, if the alias name is enclosed in quotes, the standard external name is used, not the alias name.

 

Let's look at two more examples.

Example 2

My DDS specification for MYFILE2 looks like this:

 

A          R MYREC2                                               

A            XYZPRODNM      40A         ALIAS(PRODUCT_NAME)        

A            XYZSKU          8A                                

 

In RPG source:

 

Fmyfile2   if   e             disk    ALIAS QUALIFIED PREFIX(NEW_)              

 

The subfields of the LIKEREC data structure would be…                        

  • NEW_PRODUCT_NAME                                   
  • NEW_XYZSKU

                                            

 Fmyfile2   if   e             disk    ALIAS QUALIFIED PREFIX(AAA_:3)           

 

The subfields of the LIKEREC data structure would be…                             

  • AAA_PRODUCT_NAME                                
  • AAA_SKU

 

 Fmyfile2   if   e             disk    ALIAS QUALIFIED PREFIX('':3)             

 

The subfields of the LIKEREC data structure would be…                           

  • PRODUCT_NAME                                    
  • SKU                                           

                 

Example 3                                                                                                              

I have a table that is defined like this:

 

CREATE TABLE MYTAB(                             

 LONG_COLUMN_NAME_THAT_WOULD_BE_AN_ALIAS_NAME INT,              

 SECOND_LONG_COLUMN_NAME_THAT_IS_LONGER_THAN_THE_FIRST

INT,   "col %$¢&%# 23" int)

                              

In RPG source:

 

D DS1           E DS                  EXTNAME(MYTAB) QUALIFIED ALIAS     

D                                     PREFIX('A_')             

 

The subfields of DS1 would be…

  • A_LONG_COLUMN_NAME_THAT_WOULD_BE_AN_ALIAS_NAME
  • A_SECOND_LONG_COLUMN_NAME_THAT_IS_LONGER_THAN_THE_FIRST
  • A_COL__00001

 

As you can see, the ALIAS keyword allows you to utilize the long and descriptive names. Now it is up to you to name wisely.  

as/400, os/400, iseries, system i, i5/os, ibm i, power systems, 6.1, 7.1, V7,

Gina Whitney

Gina Whitney is a staff software engineer at IBM in SQL development for DB2 for i5/OS. She is responsible for the SQL precompilers. Gina is located in Rochester, Minnesota and can be reached at This email address is being protected from spambots. You need JavaScript enabled to view it..

BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$0.00 Raised:
$

Book Reviews

Resource Center

  • SB Profound WC 5536 Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application. You can find Part 1 here. In Part 2 of our free Node.js Webinar Series, Brian May teaches you the different tooling options available for writing code, debugging, and using Git for version control. Brian will briefly discuss the different tools available, and demonstrate his preferred setup for Node development on IBM i or any platform. Attend this webinar to learn:

  • SB Profound WP 5539More than ever, there is a demand for IT to deliver innovation. Your IBM i has been an essential part of your business operations for years. However, your organization may struggle to maintain the current system and implement new projects. The thousands of customers we've worked with and surveyed state that expectations regarding the digital footprint and vision of the company are not aligned with the current IT environment.

  • SB HelpSystems ROBOT Generic IBM announced the E1080 servers using the latest Power10 processor in September 2021. The most powerful processor from IBM to date, Power10 is designed to handle the demands of doing business in today’s high-tech atmosphere, including running cloud applications, supporting big data, and managing AI workloads. But what does Power10 mean for your data center? In this recorded webinar, IBMers Dan Sundt and Dylan Boday join IBM Power Champion Tom Huntington for a discussion on why Power10 technology is the right strategic investment if you run IBM i, AIX, or Linux. In this action-packed hour, Tom will share trends from the IBM i and AIX user communities while Dan and Dylan dive into the tech specs for key hardware, including:

  • Magic MarkTRY the one package that solves all your document design and printing challenges on all your platforms. Produce bar code labels, electronic forms, ad hoc reports, and RFID tags – without programming! MarkMagic is the only document design and print solution that combines report writing, WYSIWYG label and forms design, and conditional printing in one integrated product. Make sure your data survives when catastrophe hits. Request your trial now!  Request Now.

  • SB HelpSystems ROBOT GenericForms of ransomware has been around for over 30 years, and with more and more organizations suffering attacks each year, it continues to endure. What has made ransomware such a durable threat and what is the best way to combat it? In order to prevent ransomware, organizations must first understand how it works.

  • SB HelpSystems ROBOT GenericIT security is a top priority for businesses around the world, but most IBM i pros don’t know where to begin—and most cybersecurity experts don’t know IBM i. In this session, Robin Tatam explores the business impact of lax IBM i security, the top vulnerabilities putting IBM i at risk, and the steps you can take to protect your organization. If you’re looking to avoid unexpected downtime or corrupted data, you don’t want to miss this session.

  • SB HelpSystems ROBOT GenericCan you trust all of your users all of the time? A typical end user receives 16 malicious emails each month, but only 17 percent of these phishing campaigns are reported to IT. Once an attack is underway, most organizations won’t discover the breach until six months later. A staggering amount of damage can occur in that time. Despite these risks, 93 percent of organizations are leaving their IBM i systems vulnerable to cybercrime. In this on-demand webinar, IBM i security experts Robin Tatam and Sandi Moore will reveal:

  • FORTRA Disaster protection is vital to every business. Yet, it often consists of patched together procedures that are prone to error. From automatic backups to data encryption to media management, Robot automates the routine (yet often complex) tasks of iSeries backup and recovery, saving you time and money and making the process safer and more reliable. Automate your backups with the Robot Backup and Recovery Solution. Key features include:

  • FORTRAManaging messages on your IBM i can be more than a full-time job if you have to do it manually. Messages need a response and resources must be monitored—often over multiple systems and across platforms. How can you be sure you won’t miss important system events? Automate your message center with the Robot Message Management Solution. Key features include:

  • FORTRAThe thought of printing, distributing, and storing iSeries reports manually may reduce you to tears. Paper and labor costs associated with report generation can spiral out of control. Mountains of paper threaten to swamp your files. Robot automates report bursting, distribution, bundling, and archiving, and offers secure, selective online report viewing. Manage your reports with the Robot Report Management Solution. Key features include:

  • FORTRAFor over 30 years, Robot has been a leader in systems management for IBM i. With batch job creation and scheduling at its core, the Robot Job Scheduling Solution reduces the opportunity for human error and helps you maintain service levels, automating even the biggest, most complex runbooks. Manage your job schedule with the Robot Job Scheduling Solution. Key features include:

  • LANSA Business users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.

  • LANSAWhen it comes to creating your business applications, there are hundreds of coding platforms and programming languages to choose from. These options range from very complex traditional programming languages to Low-Code platforms where sometimes no traditional coding experience is needed. Download our whitepaper, The Power of Writing Code in a Low-Code Solution, and:

  • LANSASupply Chain is becoming increasingly complex and unpredictable. From raw materials for manufacturing to food supply chains, the journey from source to production to delivery to consumers is marred with inefficiencies, manual processes, shortages, recalls, counterfeits, and scandals. In this webinar, we discuss how:

  • The MC Resource Centers bring you the widest selection of white papers, trial software, and on-demand webcasts for you to choose from. >> Review the list of White Papers, Trial Software or On-Demand Webcast at the MC Press Resource Center. >> Add the items to yru Cart and complet he checkout process and submit

  • Profound Logic Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application.

  • SB Profound WC 5536Join us for this hour-long webcast that will explore:

  • Fortra IT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators with intimate knowledge of the operating system and the applications that run on it is small. This begs the question: How will you manage the platform that supports such a big part of your business? This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn: