Q: In my DDS, I have defined a field using the REFFLD. The field that is being referenced is defined with a length of 12 with three decimal positions. I would like the new field to have zero decimals. Is there a way to reference a field and change or truncate the decimals? I tried zero in the decimal field, but this just moved the decimal point. When the report prints, it shows 13000, not 13.000.
A: You cannot truncate the decimals directly using DDS. The technique I recommend uses a data structure as shown in 4. The data structure defines the first nine positions of the 12-position field (DATA) as the new field (D@DATA).
A: You cannot truncate the decimals directly using DDS. The technique I recommend uses a data structure as shown in Figure 4. The data structure defines the first nine positions of the 12-position field (DATA) as the new field (D@DATA).
In this situation, the only real advantages to using REFFLD are that the field text will be shown on the compiler listing, and it's a little easier to tell what's happening when you look at it again a year from now. 5 illustrates the DDS you could use to define the new field. Editing keywords may be inappropriate with the new field length and decimal positions. They can be overridden with the DLTEDT keyword.
In this situation, the only real advantages to using REFFLD are that the field text will be shown on the compiler listing, and it's a little easier to tell what's happening when you look at it again a year from now. Figure 5 illustrates the DDS you could use to define the new field. Editing keywords may be inappropriate with the new field length and decimal positions. They can be overridden with the DLTEDT keyword.
Changing Decimal Positions of Referenced Fields
Figure 4 Changing Decimal Positions
*. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+ I DS I I 1 123DATA I 1 90D@DATA
Changing Decimal Positions of Referenced Fields
Figure 5 Referencing a Field
*. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+ A D@DATA R 9 0 XX YYREFFLD(REC/DATA MYFILE)
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.
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:
LATEST COMMENTS
MC Press Online