When is the DFT keyword in PF used for? 

 September 25, 2011

By  NickLitten

The DFT Keyword is used specify the default value of a field in the Physical File. The format of the keyword is:

DFT('value' | numeric-value | X'hexadecimal-value' | *NULL)

Without this keyword, character and hexadecimal fields are set to blanks as default and numeric fields are set to zeros as default. However, if you specify the ALWNULL keyword for the field, then the character, hexadecimal, and numeric fields are set to the null value as default.

This keyword does not affect the physical file on input operations.


The following example shows how to specify the DFT keyword.

  CHARFLD1   20A   DFT('Sample field')
  CHARFLD2    5A   DFT(X'D985955185')
  HEXFLD1     3H   DFT('ABC')
  HEXFLD2     3H   DFT(X'C1C2C3')
  NUMFLD1     5S 0 DFT(99999)
  NUMFLD2     5S 2 DFT(999.99)
  NUMFLD3     5S 2 DFT(999)
  NUMFLD4     5S 2 DFT(*NULL)
  NUMFLD5     5S 2 DFT(999.99)
  TIMFLD1      T   DFT('11.15.00')

The default value for CHARFLD1 is ‘Sample field’. The default value for CHARFLD2 is hex D985955185. The default value for HEXFLD1 is C1C2C3 (the hexadecimal representation of the character constant). The default value for HEXFLD2 is C1C2C3. The default value for NUMFLD1 is 99999 (no decimal character is required because the field has zero decimal positions). The default value for NUMFLD2 is 999.99. The default value for NUMFLD3 is 999 (no decimal character is required if you do not need to specify decimal values). The default value for NUMFLD4 is the null value (ALWNULL is a required keyword for the field if DFT(*NULL) is specified). The default value for NUMFLD5 is 999.99; the field also allows the null value. The default value for DATFLD1 is 12-31-91. The default value for TIMFLD1 is 11.15.00 (*ISO format).

You big silly.

Isn’t it obvious?

Now you feel silly for googling that right?


IBM i Software Developer, Digital Dad, AS400 Anarchist, RPG Modernizer, Shameless Trekkie, Belligerent Nerd, Englishman Abroad and Passionate Eater of Cheese and Biscuits. Nick Litten Dot Com is a mixture of blog posts that can be sometimes serious, frequently playful and probably down-right pointless all in the space of a day. Enjoy your stay, feel free to comment and remember: If at first you don't succeed then skydiving probably isn't a hobby you should look into.

Nick Litten

related posts:

  • No, because it doesn’t work out of the box in an RPGLE program. Never has without special coding. (Unless I’m missing something and that’s always a possibility.)

  • {"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}
    __CONFIG_colors_palette__{"active_palette":0,"config":{"colors":{"cff50":{"name":"Main Accent","parent":-1},"a344d":{"name":"Accent Transparent","parent":"cff50"}},"gradients":[]},"palettes":[{"name":"Default","value":{"colors":{"cff50":{"val":"var(--tcb-skin-color-0)"},"a344d":{"val":"rgba(46, 138, 229, 0.85)","hsl_parent_dependency":{"h":210,"l":0.54,"s":0.78}}},"gradients":[]},"original":{"colors":{"cff50":{"val":"rgb(0, 178, 255)","hsl":{"h":198,"s":1,"l":0.5}},"a344d":{"val":"rgba(0, 178, 255, 0.85)","hsl_parent_dependency":{"h":198,"s":1,"l":0.5}}},"gradients":[]}}]}__CONFIG_colors_palette__

    Get In Touch

    I’m always looking for awesome input, feedback and critique!