GEN FILE MANAGER © VERSION 16 A Co-Production of Wil Wortelboer and Dirk Cumps Generic EAB for...
-
Upload
cynthia-woods -
Category
Documents
-
view
218 -
download
0
Transcript of GEN FILE MANAGER © VERSION 16 A Co-Production of Wil Wortelboer and Dirk Cumps Generic EAB for...
GEN FILE MANAGERGEN FILE MANAGER©©
VERSION 16VERSION 16
A Co-Production ofA Co-Production of
Wil Wortelboer Wil Wortelboer andand Dirk Cumps Dirk Cumps
Generic EAB for Sequential File HandlingGeneric EAB for Sequential File Handling
in AllFusion GEN z/OS Batch Programsin AllFusion GEN z/OS Batch Programs
Den Danske GEN BrugergruppeTorsdag d.29. marts 2007
IDA, Ingeniørforeningens Mødecenter, Kalvebod Brygge, København (DK)
© Tiss BV and KAIZEN Informatics bvba – 1993-2007© Tiss BV and KAIZEN Informatics bvba – 1993-2007
GEN FILE MANAGER GEN FILE MANAGER
Physical Sequential Files in GENPhysical Sequential Files in GEN
Not Supported but Used Everywhere in z/OS Not Supported but Used Everywhere in z/OS BatchBatch
Needs 1 Hand-Coded or Generated EAB per FileNeeds 1 Hand-Coded or Generated EAB per File
Work is moved from GEN AB to EABWork is moved from GEN AB to EAB
What about Performance ? What about Performance ?
Not even Mentioning Maintenance …Not even Mentioning Maintenance …
2
© Tiss BV and KAIZEN Informatics bvba – 1993-2007© Tiss BV and KAIZEN Informatics bvba – 1993-2007
1 External Action Block Usable 1 External Action Block Usable EverywhereEverywhere Supporting both ‘With’ and ‘Without’ Supporting both ‘With’ and ‘Without’ Missing Missing Flag ModesFlag Modes
Reads and Writes all PS File TypesReads and Writes all PS File Types All Work done in Standard GEN CodeAll Work done in Standard GEN Code Contains Many FeaturesContains Many Features
GEN FILE MANAGER GEN FILE MANAGER Overall Solution (1)Overall Solution (1)
3
© Tiss BV and KAIZEN Informatics bvba – 1993-2007© Tiss BV and KAIZEN Informatics bvba – 1993-2007
Small – Fast – Stable Assembler HSmall – Fast – Stable Assembler H Dynamically InvokedDynamically Invoked Reusable (Single Load / Multiple Use)Reusable (Single Load / Multiple Use) Usable in non-GEN applications as well Usable in non-GEN applications as well Easy to Install – Easy in UseEasy to Install – Easy in Use
GEN FILE MANAGER GEN FILE MANAGER
Overall Solution (2)Overall Solution (2)
4
© Tiss BV and KAIZEN Informatics bvba – 1993-2007© Tiss BV and KAIZEN Informatics bvba – 1993-2007
GEN FILE MANAGER GEN FILE MANAGER
Overview of Supported Features (1)Overview of Supported Features (1)
Full Physical Sequential File HandlingFull Physical Sequential File Handling
Data Types and Type ConversionData Types and Type Conversion
All-Round Record Characteristics All-Round Record Characteristics All GEN Supported Field TypesAll GEN Supported Field Types Multi GEN View Attribute Distribution Multi GEN View Attribute Distribution Adaptation to Missing-Flag modeAdaptation to Missing-Flag mode
5
© Tiss BV and KAIZEN Informatics bvba – 1993-2007© Tiss BV and KAIZEN Informatics bvba – 1993-2007
GEN FILE MANAGERGEN FILE MANAGER
Overview of Supported Features (2)Overview of Supported Features (2)
Skipping Attributes / FieldsSkipping Attributes / Fields
Help with Checkpoint / RestartHelp with Checkpoint / Restart
Parallel Put OptionParallel Put Option
User-Exit FacilityUser-Exit Facility
Implicit or Explicit OPEN/CLOSEImplicit or Explicit OPEN/CLOSE
6
© Tiss BV and KAIZEN Informatics bvba – 1993-2007© Tiss BV and KAIZEN Informatics bvba – 1993-2007
GEN FILE MANAGERGEN FILE MANAGER
Full PS File HandlingFull PS File Handling
Reads and Writes PS File RecordsReads and Writes PS File Records Re-Reads RecordRe-Reads Record
Keeps track of Current Record CountKeeps track of Current Record Count
Repositions with Checkpoint Restart Repositions with Checkpoint Restart
Up to 100 Files Open at any time in a Up to 100 Files Open at any time in a single single
GEN ApplicationGEN Application
7
© Tiss BV and KAIZEN Informatics bvba – 1993-2007© Tiss BV and KAIZEN Informatics bvba – 1993-2007
GEN FILE MANAGERGEN FILE MANAGERData Types and Type ConversionData Types and Type Conversion
Fixed Char and Varchar Fixed Char and Varchar Numeric Numeric (BIN, Fixed/Zoned Decimal, (BIN, Fixed/Zoned Decimal,
Signed/Unsigned)Signed/Unsigned)
Conversion of Numeric Data TypesConversion of Numeric Data Types All Data Types Usable with Reading andAll Data Types Usable with Reading and
Writing RecordsWriting Records Conversion Rules Stored with 1st File AccessConversion Rules Stored with 1st File Access Reference Conversion for PerformanceReference Conversion for Performance
8
© Tiss BV and KAIZEN Informatics bvba – 1993-2007© Tiss BV and KAIZEN Informatics bvba – 1993-2007
GEN FILE MANAGERGEN FILE MANAGER
All-Round Record CharacteristicsAll-Round Record Characteristics
Supports Fixed and Variable RecordsSupports Fixed and Variable Records
Supports Blocked and Unblocked Record Supports Blocked and Unblocked Record FormatsFormats
Single File may have different Record Single File may have different Record LayoutsLayouts
Records up to 27KB in LengthRecords up to 27KB in Length
9
© Tiss BV and KAIZEN Informatics bvba – 1993-2007© Tiss BV and KAIZEN Informatics bvba – 1993-2007
GEN FILE MANAGERGEN FILE MANAGER
Multi GEN View Attribute DistributionMulti GEN View Attribute Distribution
GEN Views do not need to match File Records. GEN Views do not need to match File Records.
Token determined by Conversion Rules Token determined by Conversion Rules
Output Record Fields may come from AttributesOutput Record Fields may come from Attributes
spread over multiple GEN Viewsspread over multiple GEN Views
Record Fields Read can be Distributed over Record Fields Read can be Distributed over MultipleMultiple
GEN ViewsGEN Views
Superfluous Attributes/Record Fields can be Superfluous Attributes/Record Fields can be SkippedSkipped
10
© Tiss BV and KAIZEN Informatics bvba – 1993-2007© Tiss BV and KAIZEN Informatics bvba – 1993-2007
GEN FILE MANAGERGEN FILE MANAGER
Adaptation to Missing Flag ModeAdaptation to Missing Flag Mode
File Manager supports both “With” and File Manager supports both “With” and “Without” “Without”
Missing Flag ModesMissing Flag Modes
Auto-Adapt to Active Mode at Execution TimeAuto-Adapt to Active Mode at Execution Time
Use the File Manager always as if there aren’t Use the File Manager always as if there aren’t
any Missing Flags present (Eg. Conversion any Missing Flags present (Eg. Conversion Rules) Rules)
11
© Tiss BV and KAIZEN Informatics bvba – 1993-2007© Tiss BV and KAIZEN Informatics bvba – 1993-2007
GEN FILE MANAGERGEN FILE MANAGER
Skipping Attributes / FieldsSkipping Attributes / Fields
Skip View Attributes that do not have to beSkip View Attributes that do not have to be
Taken in the Output File Record or that Taken in the Output File Record or that mustmust
not be filled with data Read from an not be filled with data Read from an Input FileInput File
Skip Fields in the Input File Record in case Skip Fields in the Input File Record in case
only parts of the Record are Neededonly parts of the Record are Needed
12
© Tiss BV and KAIZEN Informatics bvba – 1993-2007© Tiss BV and KAIZEN Informatics bvba – 1993-2007
GEN FILE MANAGERGEN FILE MANAGER Help with Checkpoint / Restart Help with Checkpoint / Restart
Passes Current Record Count (CRC) to Passes Current Record Count (CRC) to GEN ABGEN AB
Repositions on Input/Output Files with Repositions on Input/Output Files with
Checkpoint RestartCheckpoint Restart
User-Exits to Connect to External User-Exits to Connect to External Checkpoint /Checkpoint /
Restart ProcedureRestart Procedure
13
© Tiss BV and KAIZEN Informatics bvba – 1993-2007© Tiss BV and KAIZEN Informatics bvba – 1993-2007
GEN FILE MANAGERGEN FILE MANAGERParallel Put OptionParallel Put Option
Same Record Written to more than 1 OutputSame Record Written to more than 1 Output
File with a single FILE MANAGER InvocationFile with a single FILE MANAGER Invocation
High Speed PerformanceHigh Speed Performance
Attractive when making Data Extract Files for Attractive when making Data Extract Files for
Distribution (when not all Files must Contain Distribution (when not all Files must Contain all all
Records)Records)
14
© Tiss BV and KAIZEN Informatics bvba – 1993-2007© Tiss BV and KAIZEN Informatics bvba – 1993-2007
GEN FILE MANAGERGEN FILE MANAGER
User-Exit FacilityUser-Exit Facility
Executable just Before /After any Read / Write Executable just Before /After any Read / Write
Possible to Suppress the File Action Get or PutPossible to Suppress the File Action Get or Put
Usable for Any Purpose Usable for Any Purpose
(E.g. Customized Checkpoint/Restart Procedure)(E.g. Customized Checkpoint/Restart Procedure)
FILE MANAGER Passes:FILE MANAGER Passes:File DDNAMEFile DDNAME Type I(nput) or O(utput) Type I(nput) or O(utput)
Current Record CountCurrent Record Count I/O Area I/O Area
15
© Tiss BV and KAIZEN Informatics bvba – 1993-2007© Tiss BV and KAIZEN Informatics bvba – 1993-2007
GEN FILE MANAGERGEN FILE MANAGER
Import ‘IDENTIFICATION’ ViewImport ‘IDENTIFICATION’ View
Fixed Structure Fixed Structure
Contains:Contains:
- Eye Catcher ‘FM’- Eye Catcher ‘FM’ - Command to Execute- Command to Execute
- DDNAME- DDNAME - Conversion_Rule (1st - Conversion_Rule (1st access) access)
- Redefines Flags - Redefines Flags - Special Features input- Special Features input
Will contain the FILE MANAGER’s ReturnCodeWill contain the FILE MANAGER’s ReturnCode
upon Return. upon Return.
16
© Tiss BV and KAIZEN Informatics bvba – 1993-2007© Tiss BV and KAIZEN Informatics bvba – 1993-2007
GEN FILE MANAGERGEN FILE MANAGER
Export Group ViewExport Group View
Variable Structure containing the Specific Layout Variable Structure containing the Specific Layout of of
each Input and Output File each Input and Output File
ContainsContains::
- Matching Area (used for GEN EAB Matching Purpose)- Matching Area (used for GEN EAB Matching Purpose)
- Filled-out by the FILE MANAGER with Record Data Read - Filled-out by the FILE MANAGER with Record Data Read
from an Input File (based on the Conversion_Rules) from an Input File (based on the Conversion_Rules)
- Filled-out by the GEN AB with Record Data to be Written - Filled-out by the GEN AB with Record Data to be Written
to an Output File (based on the Conversion_Rules)to an Output File (based on the Conversion_Rules)
17
© Tiss BV and KAIZEN Informatics bvba – 1993-2007© Tiss BV and KAIZEN Informatics bvba – 1993-2007
GEN FILE MANAGERGEN FILE MANAGER
CommandsCommands
I I Explicit Open of an Input File Explicit Open of an Input File - optional- optional O O Explicit Open of an Output File Explicit Open of an Output File - optional- optional
CC Explicit Close of an Input or Output File Explicit Close of an Input or Output File - optional- optional
GG G(et) – Read next Record on an Input FileG(et) – Read next Record on an Input File
RR Re-Read last Record Read on an Input FileRe-Read last Record Read on an Input File
PP P(ut) – Write a Record to an Output FileP(ut) – Write a Record to an Output File
YY Ask Current Record Count of 1 or All FilesAsk Current Record Count of 1 or All Files ZZ Reposition on 1 or All Files (with Checkpoint / Reposition on 1 or All Files (with Checkpoint /
Restart)Restart)
18
© Tiss BV and KAIZEN Informatics bvba – 1993-2007© Tiss BV and KAIZEN Informatics bvba – 1993-2007
GEN FILE MANAGERGEN FILE MANAGER Data Structures and Record Views (1)Data Structures and Record Views (1)
GEN uses Views and AttributesGEN uses Views and AttributesCOBOL uses Level-ed Structures and FieldsCOBOL uses Level-ed Structures and FieldsFILE MANAGER uses Displacements onlyFILE MANAGER uses Displacements only
GEN Structure passed to the File Manager is seenGEN Structure passed to the File Manager is seenas a Series of Consecutive GEN Attributes each as a Series of Consecutive GEN Attributes each having a Starting Position, a Length and a Typehaving a Starting Position, a Length and a Type
RECORD VIEW: RECORD VIEW: A group of consecutive GEN A group of consecutive GEN Attributes matching a FILE Record.Attributes matching a FILE Record.A Record View can - but does not have to ! – A Record View can - but does not have to ! – correspond to a GEN View.correspond to a GEN View.
19
© Tiss BV and KAIZEN Informatics bvba – 1993-2007© Tiss BV and KAIZEN Informatics bvba – 1993-2007
GEN FILE MANAGERGEN FILE MANAGER Data Structures and Record Views Data Structures and Record Views
(2)(2)Example 1Example 1: Record View(s) Matching GEN View(s): Record View(s) Matching GEN View(s) GEN COBOL WS FILE MANAGER
VIEWS/ATTRIBUTES STRUCTURES/FIELDS DISPLACEMENTS
Group View my_group(1) 05 MY-GROUP-0001GV. Starting 0 Conversion_Rule
Work View matching_view 09 MATCHING-VIEW-002EV. attribute match_attr 13 MATCH-ATTR PIC XX. Skipped by File Manager Work View first_view 09 FIRST-VIEW-004EV. attribute a 13 A PIC X(12). + 0 12X, attribute b 13 B PIC X(9) COMP-3. + 12 5P, attribute c 13 C PIC S9(4). + 21 4N, attribute d 13 D PIC X. + 23 1X //
Spec View next 09 NEXT-018EV. attribute n 13 M PIC X(50). + 24 50X//
Work View another_one 09 ANOTHER-ONE-022EV. attribute v 13 V PIC X(5) COMP-3 + 74 3P, attribute w 13 W PIC X(24) + 77
24X, attribute x 13 X PIC X(9) COMP-3 + 101 5P, attribute y 13 Y PIC X(3) + 106 3X, attribute z 13 Z PIC X(9) + 109 9Xbb
Record View-1
Record View-2
Record View-3
20
© Tiss BV and KAIZEN Informatics bvba – 1993-2007© Tiss BV and KAIZEN Informatics bvba – 1993-2007
GEN FILE MANAGERGEN FILE MANAGER Data Structures and Record Views (3)Data Structures and Record Views (3)
Example 2Example 2: Record View(s) Not Matching GEN View(s): Record View(s) Not Matching GEN View(s)
GEN COBOL WS FILE MANAGERVIEWS/ATTRIBUTES STRUCTURES/FIELDS DISPLACEMENTS
Group View my_group(1) 05 MY-GROUP-0001GV. Starting 0 Conversion_Rule
Work View matching_view 09 MATCHING-VIEW-002EV. attribute match_attr 13 MATCH-ATTR PIC XX. Skipped by File Manager Work View first_view 09 FIRST-VIEW-004EV. attribute a 13 A PIC X(12). + 0 12X, attribute b 13 B PIC X(9) COMP-3. + 12 5P, attribute c 13 C PIC S9(4). + 21 4N, attribute d 13 D PIC X. + 23 1X,
Spec View next 09 NEXT-018EV. attribute n 13 M PIC X(50). + 24 50X,
Work View another_one 09 ANOTHER-ONE-022EV. attribute v 13 V PIC X(5) COMP-3 + 74 3P // attribute w 13 W PIC X(24) + 77 24X, attribute x 13 X PIC X(9) COMP-3 + 101 5P, attribute y 13 Y PIC X(3) + 106 3X, attribute z 13 Z PIC X(9) + 109 9Xbb
Record View-1
Record View-2
21
© Tiss BV and KAIZEN Informatics bvba – 1993-2007© Tiss BV and KAIZEN Informatics bvba – 1993-2007
Conversion Rules:Conversion Rules:
Pass the File Manager the Starting Position, Length and Type of eachPass the File Manager the Starting Position, Length and Type of eachAttribute in the GEN Group View or of each Field in the File Record.Attribute in the GEN Group View or of each Field in the File Record.Inform the File Manager about the Attributes/Fields belonging to the Inform the File Manager about the Attributes/Fields belonging to the samesame
Record View (each Record View is delimited by //)Record View (each Record View is delimited by //)
‘‘12X,5P,4N,1X//22X,7N,2X//12X,5P,4N,1X//22X,7N,2X//3P,3P,24X24X,5P,,5P,3X3X,9X,9Xbbbb’’
Redefines_FlagsRedefines_Flags:: ‘ ‘bbXbbbbbbbbbbbbbbbbbbbbbbbbbbb’
Tell File Manager which Record View(s) need(s) to be filled with DataTell File Manager which Record View(s) need(s) to be filled with Data Read from an Input File or which Record View must be taken to write a Read from an Input File or which Record View must be taken to write a
Record to an Output FileRecord to an Output File
GEN FILE MANAGERGEN FILE MANAGER Data Structures and Record Views (4)Data Structures and Record Views (4)
< Record View 1 >
< Record View 2>
< Record View 3 >
22
© Tiss BV and KAIZEN Informatics bvba – 1993-2007© Tiss BV and KAIZEN Informatics bvba – 1993-2007
Action Block…………Use NameIt Which Imports .. Which Exports ..… …… …… …Use NameIt Which Imports .. Which Exports .
NameIt
Static/Dynam FIL
E
MA
NA
GER
GEN123
GEN456GEN###
NOGENCOB
BOOTSTRAP (GFMBS000)
COBOL
AB AB
RE-USABLE
NameIt
NameIt
NameIt
GFMFH000
Static/Dynam
23
Dynamic
GEN FILE MANAGERGEN FILE MANAGERHow it Works – V16 (1)How it Works – V16 (1)
GFMCP000
GFMPRM00
GFMWTO00
© Tiss BV and KAIZEN Informatics bvba – 1993-2007© Tiss BV and KAIZEN Informatics bvba – 1993-2007
GEN FILE MANAGERGEN FILE MANAGERHow it Works (2)How it Works (2)
Uses Import/Export I/O Area’s Starting PointUses Import/Export I/O Area’s Starting Point
Locates all Views/Attributes by their DisplacementLocates all Views/Attributes by their Displacement
Imports 1 View File Identification ViewImports 1 View File Identification View
Exports 1 GroupView File Record ViewExports 1 GroupView File Record View
Uses Import View to Communicate Return CodeUses Import View to Communicate Return Code
Uses Export View for Input and Output Record I/O Uses Export View for Input and Output Record I/O
AreaArea
24
© Tiss BV and KAIZEN Informatics bvba – 1993-2007© Tiss BV and KAIZEN Informatics bvba – 1993-2007
GEN FILE MANAGERGEN FILE MANAGER
InstallationInstallation Define a ‘dummy’ EAB to GEN Using the ImportDefine a ‘dummy’ EAB to GEN Using the Import
Identification Area + the Export Matching AreaIdentification Area + the Export Matching Area Link-Edit Bootstrap Module Using the Link-Edit Bootstrap Module Using the
‘dummy’ ‘dummy’
EAB name (LE compliant !)EAB name (LE compliant !) Link-Edit the File Manager Module and Sub-Link-Edit the File Manager Module and Sub-
Modules Modules
Install GEN Application Package incl. BootstrapInstall GEN Application Package incl. Bootstrap
Use The GEN FILE MANAGER in Your GEN ABs Use The GEN FILE MANAGER in Your GEN ABs
Over and Over and Over and Over AgainOver and Over and Over and Over Again25
© Tiss BV and KAIZEN Informatics bvba – 1993-2007© Tiss BV and KAIZEN Informatics bvba – 1993-2007
GEN FILE MANAGERGEN FILE MANAGER
ESCROW ServiceESCROW Service GEN FILE MANAGER Sources Deposed at theGEN FILE MANAGER Sources Deposed at the
““Stockholm Chamber of Commerce” in 2006Stockholm Chamber of Commerce” in 2006
Licensees can Sign a ‘Licensee Acceptance’ to Licensees can Sign a ‘Licensee Acceptance’ to
become a Party Involved in the ESCROW Agreement.become a Party Involved in the ESCROW Agreement. Licensees Pay an Initial, Annual and Update Fee Licensees Pay an Initial, Annual and Update Fee
Licensees Get GEN FILE MANAGER Sources when Licensees Get GEN FILE MANAGER Sources when
KAIZEN/TISS Stops DistributionKAIZEN/TISS Stops Distribution
26
© Tiss BV and KAIZEN Informatics bvba – 1993-2007© Tiss BV and KAIZEN Informatics bvba – 1993-2007
GEN FILE MANAGERGEN FILE MANAGER
PublicationsPublications
GEN FILE MANAGER V16 USER MANUALGEN FILE MANAGER V16 USER MANUAL
‘ ‘Running The GEN FILE MANAGER In Running The GEN FILE MANAGER In Overdrive’Overdrive’
-> White Paper 2006/1 dealing with the -> White Paper 2006/1 dealing with the Performance ofPerformance of
GEN FILE MANAGER V16GEN FILE MANAGER V16
-> Contains Hints and Tips for Optimal Use-> Contains Hints and Tips for Optimal Use
27
© Tiss BV and KAIZEN Informatics bvba – 1993-2007© Tiss BV and KAIZEN Informatics bvba – 1993-2007
GEN FILE MANAGERGEN FILE MANAGERConclusionConclusion
The File Manager is Not the Cutest but……The File Manager is Not the Cutest but……
By Far the Most EfficientBy Far the Most Efficient
By Far the Most ProductiveBy Far the Most Productive
And Probably the Most Frequently And Probably the Most Frequently Executed Executed
EAB in the GEN WorldEAB in the GEN World
28
© Tiss BV and KAIZEN Informatics bvba – 1993-2007© Tiss BV and KAIZEN Informatics bvba – 1993-2007
What one of our customers says about What one of our customers says about
GEN FILE MANAGERGEN FILE MANAGER
It gives much more then just the function to read and write files.
We see at least these advantages:
1. We can encode all handling of files in the tool Allfusion Gen directly.
2. We get checkpoint/restart handling of files. Rewind is handled.
3. We are no longer depending on Cobol Skills in GEN development.
4. FILEMAN does not seem to be dependent of AllFusion Gen. It may be called from other languages like Cobol, PL1.
Bernt Svensson, IT-z/OS Classic, ALECTA pensionsförsäkring, ömsesidigt, Stockholm (SE)
29
© Tiss BV and KAIZEN Informatics bvba – 1993-2007© Tiss BV and KAIZEN Informatics bvba – 1993-2007
GEN FILE MANAGERGEN FILE MANAGER
InfoInfo
Dirk CumpsDirk Cumps
[email protected]@kaizen-informatics.com
Wil WortelboerWil Wortelboer
[email protected]@planet.nl
30