Download presentation
Presentation is loading. Please wait.
Published byJunior McDowell Modified over 9 years ago
2
z/OS FNA Revealed and Exposed Phil Veal Senior Principal Support Engineer Bug Diagnosis and Escalations
3
Agenda History File name transformation POSIX Syntax Examples
4
File Name Augmentation A brief history Available since MPM days (1980’s) Pre-dates UNIX System Services and zFS/HFS Originally used Oracle C runtime library syntax Since Oracle 9.2.0, uses IBM LE syntax Backwards compatibility is maintained ORA$ENV: ORA_RTL_COMPAT=ON (default)
5
File Name Transformation Oracle utilities use simple file specifications E.g. myquery.sql, myquery.lst The native MVS file system uses datasets E.g. MYGROUP.LIB.SQL(MYQUERY), &&SPOOLOUT Question: How to convert a file name to a dataset name automatically? Answer: ORA$FNA
6
POSIX(OFF) versus POSIX(ON) LE runtime parameter POSIX(ON) For UNIX System Services environment LE enclave uses POSIX semantics POSIX(OFF) Default for traditional MVS batch and TSO environments LE enclave uses non-POSIX semantics Simple file names are interpreted as datasets or files, as appropriate
7
File Name Syntax Old MPM syntax - /DD/name /DSN/name OSDI syntax - //DD:name //’name’ //SYSOUT:class Old syntax still accepted, but not recommended May be disabled via ORA_RTL_COMPAT (default ON)
8
FNA Syntax //ORA$FNA DD DSN=…|PATH=… FSA( FTYPE(extension) FNAME(new name) FATTR(attribute string) )
9
FTYPE File name type/extension Logical data type identifier Defaults defined by Oracle tools Usually 3 characters Examples –.sql,.plb,.lst,.ctl,.log,.dmp Can be user defined
10
FNAME New transformed file name Original file specification may be included using “+” Example 1: FNAME(‘MYLIB.SQL(+)’) stuff.sql -> MYLIB.SQL(STUFF) Example 2: FNAME(‘MYGROUP.+’) stuff.sql -> MYGROUP.STUFF.SQL PROFILE PREFIX (TSO) or USERID (batch) may be included using “*” E.g. FNAME(“//’*.LIB.SQL(+)’”)
11
Examples stuff.sql LIB.SQL(STUFF) FSA( FTYPE(SQL) FNAME(‘LIB(+)’) ) stuff.sql //DD:SQL(STUFF) FSA( FTYPE(SQL) FNAME(‘//DD:SQL(+)’) ) FSA( FTYPE(LST) FNAME('//SYSOUT:X') ) SPOOL report //SYSOUT:X
12
FATTR File attribute assignment Output only Must begin with a semicolon Keywords – RECFM=V(B)|F(B) etc. LRECL=record length BLKSIZE=block size SPACE=(units,(primary,secondary,directory blocks)) Example - FATTR(';space=(trk,(2,1)),recfm=VBA,lrecl=137,blksize=0')
13
Questions?
14
https://metalink.oracle.com/ Forums: IBM z/OS Platform Phil.Veal@oracle.com
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.