The DSPFFD command on the iSeries is quite cumbersome to read through. I wrote a routine that will give me the
field descriptions and sizes along with a record size summary, which encapsulates the detail found in the
DSPFFD Command. I call mine DFD. It uses the DSPFFD command to output to a file in QTEMP. Then I run a query
over the file, selecting those fields that I want to display or print. In the command and CLP I designate whether to display the query output or to print the output using the query output options on the RUNQRY command. It's really quick. The tech support and
programming staff use it regularly and are grateful for not having to dig through the DSPFFD display.
Code
Here's the code that accomplishes this:
Command Source for DFD Command
CMD PROMPT('Display File Field Description')
PARM KWD(FILE) TYPE(*CHAR) LEN(11) MIN(1) +
PROMPT('File Name -' 01)
PARM KWD(LIBRARY) TYPE(*CHAR) LEN(11) MIN(1) +
PROMPT('Library Name -' 02)
PARM KWD(OUTPUT) TYPE(*CHAR) LEN(11) RSTD(*YES)
DFT(*DISPLAY) VALUES(*DISPLAY *PRINTER) +
MIN(0) PROMPT('Output Device -' 03)
======================================================
PGM PARM(&FILE &LIBRARY &OUTPUT)
DCL VAR(&FILE) TYPE(*CHAR) LEN(11)
DCL VAR(&LIBRARY) TYPE(*CHAR) LEN(11)
DCL VAR(&OUTPUT) TYPE(*CHAR) LEN(11)
DLTF QTEMP/DDSLIST
MONMSG MSGID(CPF0000)
DSPFFD FILE(&LIBRARY/&FILE) OUTPUT(*OUTFILE) +
OUTFILE(QTEMP/DDSLIST)
MONMSG MSGID(CPF3012 CPF3064) EXEC(DO)
SNDPGMMSG MSG('File Not Found!!! Command Aborted!!!')
GOTO CMDLBL(EXIT)
ENDDO
RUNQRY QRY(COMMON/DSPFFDQ) QRYFILE((QTEMP/DDSLIST)) +
OUTTYPE(&OUTPUT) OUTFORM(*DETAIL)
EXIT:
ENDPGM
=========================================================
Query Summary Selections
---Options--- Field Text
Len
1 5 WHFLDB Field length in bytes
5 0 Query Report Breaks
Break Sort
Level Prty Field Text
Len
Dec
1 10 WHFILE File
10
1 20 WHFTYP Type of file: P=Physical, L=Logical
1
1 30 WHNAME Record format
10
Report execution format
Select Output Type and Output Form
This will work with any file, whether physical, logical,
or display to show the relative fields defined to the
record structure of the file.
==================================
MORE INFORMATION ON THIS TOPIC
==================================
The Best Web Links: tips, tutorials and more.
Ask your programming questions--or help out your peers by answering them--in our live discussion forums.
Ask the Experts yourself: Our application development gurus are waiting to answer your programming questions.