AccessingAccessing the the
AS/400 AS/400 DATABASE DATABASE
Preparation for DATA storage
Create a receptacle (file)
internal -- in program or direct (output / crtpf)
external -- with DDS
PDM (strpdm, wrkobjpdm)
SEU (strseu)
Access to the data
programmatically
Utilities (dsp cpy chg)
DFU
Query/400
Source Physical File vsSource Physical File vsData Physical FileData Physical File
• Source Physical File Source Physical File (in between stage, a blueprint) (in between stage, a blueprint)
– Layout is fixed: 3 fields Layout is fixed: 3 fields
• programmers can only alter the length of the text fieldprogrammers can only alter the length of the text field
– Used to store codeUsed to store code
• Data Physical File (actual object)Data Physical File (actual object)– Layout is determined by Application DesignerLayout is determined by Application Designer
– Used to store dataUsed to store data
Source files - Source files - CRTSRCPFCRTSRCPF
Are created only once in a library (container for blueprints)All / each library can contain source physical filesContain zero to many members (specifications)
e.g.Programs (PGM)external physical file specification (PF)logical file specifications (LF) display files (DSPF)printer file (PRTF)
Default names for specific source types are
QCLSRC CLP Programs
QCBLSRC COBOL programs
QRPGSRC RPG Programs
QCSRC C Programs
QDDSSRC File specifications for PF, LF, DSPF, PRTF
etc. etc.
preparation for source preparation for source filesfiles
AS/400 Programming Development Manager (PDM) Select one of the following: 1. Work with libraries 2. Work with objects 3. Work with members : : : 9. Work with user-defined options
PDM provides access to all levels of data storage
LIBRARIES
File objects (*file)
members
option 12 will allow “drill down” from the highest to the lowest level
Specify Members to Work With Type choices, press Enter. File . . . . . . . . . . qddssrc Name, F4 for list Library . . . . . . . . aberns *LIBL, *CURLIB, name Member: Name . . . . . . . . . *ALL *ALL, name, *generic* Type . . . . . . . . . *ALL *ALL, type, *generic*, *BLANK
Work with Members Using PDM ODIN File . . . . . . QDDSSRC Library . . . . ABERNS Position to _____________________. . . . . Type options, press Enter. 2=Edit 3=Copy 4=Delete 5=Display 6=Print 7=Rename 8=Display description 9=Save 13=Change text 14=Compile 15=Create module...
Opt Member Type Text __ APVENDOR PF In class developed __ ARCUST PF ASSIGNMENT 2 and in class 3/4 __ ARTRANPF PF AR transaction file OPS234 fall 2000 __ ARTRNS PF ASSIGNMENT 2 __ ARTRNSDF DSPF Assignment 2 transaction display file __ ASSG2DSP DSPF
Columns . . . : 1 71 Edit ABERNS/QDDSSRC SEU==> ARCUST FMT A* .....A*. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 *************** Beginning of data ************************************* 0001.00 A* Physical file ARCUST ACCOUNTS RECEIVABLE Master File 0002.00 A* 0003.00 A UNIQUE 0004.00 A R ARCUSTR 0005.00 A CUSTNO 5S 0 TEXT('CUSTOMER NUMBER') 0006.00 A ALIAS(AR_CUST_NUMBER) 0007.00 A NAME 30A TEXT('CUSTOMER NAME') 0008.00 A ALIAS(AR_CUST_NAME) 0009.00 A SALESMAN 2S 0 TEXT('SALESMAN') 0010.00 A ALIAS(AR_SLSM_NUMBER) 0011.00 A STATUS 1A TEXT('STATUS') 0012.00 A ALIAS(AR_CUST_STATUS)
Source editing for physical files - PF
0002.00 A* DISPLAY FILE - ARTRNSDF - CUSTOMER TRANSACTION INPUT 0003.00 A* 0004.00 A* SCREEN1 FORMAT TO PROMPT FOR CUSTOMER NUMBER 0005.00 A* 0007.00 A DSPSIZ(24 80 *DS3) 0008.00 A CA03(03 'F3=EXIT') 0009.00 A INDARA 0010.00 A R SCREEN1 0011.00 A BLINK 0012.00 A S1DATE 8 0O 1 3ALIAS(SN1_SYS_DATE) 0013.00 A EDTCDE(Y) 0014.00 A 1 25'Customer Transaction Input 0015.00 A DSPATR(RI) 0016.00 A S1PNAME 5A O 1 68ALIAS(SN1_PROG_NAME) 0017.00 A 4 10'CUSTOMER = ' 0018.00 A CUSTNO 5A B 4 35ALIAS(SN1_CUST_NUMBER) 0019.00 A 10 7 10'DIAGNOSTIC = ' 0020.00 A 10 S1DIAGN 30A O 7 35ALIAS(SN1_DIAGNOSTICS) 0021.00 A 23 2'F3=Exit' 0022.00 A R SCREEN2 0023.00 A CF12(12 'F12=NEXT') 0024.00 A S2DATE 8 0O 1 3ALIAS(SN2_SYS_DATE) 0025.00 A EDTCDE(Y) 0026.00 A 1 25'Transaction Capture for' 0027.00 A DSPATR(RI) 0028.00 A S2PNAME 5A O 1 68ALIAS(SN2_PROG_NAME) 0029.00 A 3 10'CUST NO' 0030.00 A DSPATR(HI) 0031.00 A 3 20'NAME' 0032.00 A DSPATR(HI)
Source editing for display files - DSPF
0002.00 ....................................................................... 0003.00 : Sequence Number - Help : 0004.00 : : 0005.00 : F?=Show the Select Format display : 0006.00 : Type F? to show the Select Format display. From this display : 0007.00 : choose the format to use. : 0008.00 : : 0009.00 : I=Insert a line : 0010.00 : Type I to insert a blank line after this record. : 0011.00 : : 0012.00 : In=Insert n lines : 0013.00 : Type In to insert n blank lines after this record. : 0014.00 : : 0015.00 : IF=Insert line and display format :
0016.00 : More... :
SEU HELP F1 with cursor on sequence number function
File . . . . . . QDDSSRC Library . . . . ABERNS Position to . . . . . Type options, press Enter. 2=Edit 3=Copy 4=Delete 5=Display 6=Print 7=Rename 8=Display description 9=Save 13=Change text 14=Compile 15=Create module... Opt Member Type Text 14 ARTRNSDF DSPF Assignment 2 transaction display file ASSG2DSP DSPF ASSG3DSP DSPF ASSG3DSPC2 DSPF
Create / Generate the object option 14
a executable program
a physical file
a display (screen) file
a report format (regular 8 1/2 x 11 or special forms)
DATA (files)DATA (files)Can come from anywhere
disk, tape, screen, communications,
internet, e-biz
Is managed / created / manipulated by a program
or a utility such as DFU
or generated by QUERY as output
or ??????
Types of Physical FilesTypes of Physical Files
• Flat files - Arrival order only Flat files - Arrival order only Sequential or Random Sequential or Random
access only access only
• Keyed / Indexed FilesKeyed / Indexed FilesSequential, Random, Keyed Sequential, Random, Keyed
accessaccess
Physical Files using a KeyPhysical Files using a Key• Access a record in a file according to Access a record in a file according to
the value of a specific field (the Key the value of a specific field (the Key Field).Field).ex. ex. You could access a particular student record You could access a particular student record using the student id as the key rather than read the using the student id as the key rather than read the whole file a record at the time looking for it.whole file a record at the time looking for it.
• You specify that a file will have a key You specify that a file will have a key when you created / entered the DDS when you created / entered the DDS source member for the filesource member for the file
What if we want to access What if we want to access the data in a different the data in a different way?way?
We can create new We can create new access path (‘s)access path (‘s) to the data using to the data using Logical FilesLogical Files
Type LFType LF
Logical FilesLogical Files
‘‘Logical View’Logical View’ or ‘ or ‘IndexIndex’ over one or ’ over one or more physical filesmore physical files
Refer to physical file(‘s) and can only be Refer to physical file(‘s) and can only be created aftercreated after the Physical file(‘s) exist the Physical file(‘s) exist
Do Do NOTNOT contain data contain data
They are They are an access pathan access path into a file by into a file by usingusing index key’s index key’s from afrom a keyed record keyed record to pointto point to a position in the physical to a position in the physical file it is based onfile it is based on
What is a Logical File?What is a Logical File?• It is a file which provides another way It is a file which provides another way
or or viewview of looking at data in a physical of looking at data in a physical file, i.e. another access path to the file, i.e. another access path to the data.data.
• It It does not contain datadoes not contain data, the data is , the data is stored in the physical file member.stored in the physical file member.
• The access path in the logical file The access path in the logical file acts acts as an indexas an index to the data. to the data.
• A logical file is A logical file is always created over always created over one or moreone or more specific PF’s specific PF’s
RR# STUDID LASTNAME FIRSTNAME
Physical File - STUDENTS (FIFO sequence)
RR# LASTNAME
Logical File - STUDENTS by last name
Example of a simple logical file with a key of LASTNAME over a physical file that does not have a key.
Entering dataEntering data
• If the compile (option14) was successful, If the compile (option14) was successful, you will have a new object in your library, you will have a new object in your library, a physical file. (type *FILE Attr. PF)a physical file. (type *FILE Attr. PF)
• To enter data into that file. To enter data into that file. Under program control.Under program control.Using a systems utility (CPYF etc.)Using a systems utility (CPYF etc.)Using DFU, Data File UtilityUsing DFU, Data File Utility
Helpful commandsHelpful commands
• DSPOBJD: display object descriptionDSPOBJD: display object descriptiongives you information such as creation gives you information such as creation date, change date, owner, etc.date, change date, owner, etc.
• DSPFD: display file descriptionDSPFD: display file descriptiongives you information such as file size, gives you information such as file size, record length, number of fields, etc.record length, number of fields, etc.
• DSPFFD: display file field descriptionDSPFFD: display file field descriptiondisplays complete field informationdisplays complete field information
QUERY/400 QUERY/400 • IBM licensed product provided for IBM licensed product provided for
free with every OS/400 system free with every OS/400 system
• USED for QUICK screen inquiriesUSED for QUICK screen inquiries
• On demand ONE OF reportsOn demand ONE OF reports
• Collect data from various physical Collect data from various physical files and generate a new format files and generate a new format data file or report data file or report
• When saved becomes an object of When saved becomes an object of type *QRYDFN definitiontype *QRYDFN definition
Run Query (RUNQRY) Type choices, press Enter. Query . . . . . . . . . . . . . ------------ Name, *NONE Library . . . . . . . . . . . *LIBL Name, *LIBL, *CURLIB Query file: File . . . . . . . . . . . . . -students--- Name, *SAME Library . . . . . . . . . . *LIBL Name, *RUNOPT, *LIBL, *CURLIB Member . . . . . . . . . . . . *FIRST Name, *RUNOPT, *FIRST, *LAST + for more values Report output type . . . . . . . *RUNOPT *RUNOPT, *DISPLAY... Output form . . . . . . . . . . *RUNOPT *RUNOPT, *DETAIL, *SUMMARY Record selection . . . . . . . . *NO *NO, *YES
Display Report Report width . . . . . : 142 Position to line . . . . . Shift to column . . . . . . Line ....+....1....+....2....+....3....+....4....+....5....+....6....+....7. SOCINS LNAME FNAME ADDR1 000001 111,110,002 BILBO BAGGINS 345 HAWTHORNE LN 000002 111,110,003 KARIKOOL CLAPSADDLE SUNDOWN RD 000003 111,110,004 MATILDA TWIDDLEBOTHAM 1812 RIVER RD 000004 111,110,001 CHAN CHARLIE HOLLYWOOD BLVD 000005 111,110,005 DOWEGER ENGAR LA LANE 000006 111,110,006 STEAMS HOT WATER RD 000007 111,110,007 MULLIGAN SWINGA HOLE89 000008 111,110,008 WILSON ACE TENNISCOURT 45 000009 111,110,009 ICECOLD DRINK ARENA5 000010 111,110,010 RAPTURED PURPLE AIR CENTRE 000011 111,110,011 ARROW BOWEN BULLSEYE 000012 111,110,012 SHOTPUT IRONBALLS AROUNDCORNER 000013 111,110,013 GYMNASTICS ACROBAT RINGALLEY 000014 111,110,014 ATHLETIC RUNNER BEN JOHNSON ALLEY
000015 111,110,015 RACING HARNESS HORSESTALLS
RESULT of QUICK query run
QUERY Query Utilities System: ODIN Select one of the following: Query for AS/400 1. Work with queries 2. Run an existing query 3. Delete a query DB2 for AS/400 10. Start DB2 Query Manager for AS/400 Query management 20. Work with query management forms 21. Work with query management queries 22. Start a query 23. Analyze a Query for AS/400 definition More... Selection or command ===> F3=Exit F4=Prompt F9=Retrieve F12=Cancel F13=Information Assistant F16=AS/400 Main menu .
•STRQRY
Work with Queries Type choices, press Enter. Option . . 1 . . . 1=Create, 2=Change, 3=Copy, 4=Delete 5=Display, 6=Print definition 8=Run in batch, 9=Run Query . .???????? Name, F4 for list Library . . . . . ABERNS Name, *LIBL, F4 for list
•OPTION 1
Define the Query Query . . . . . . : Option . . . . . : CREATE Library . . . . : ABERNS CCSID . . . . . . : 65535 Type options, press Enter. Press F21 to select all. 1=Select Opt Query Definition Option 1 Specify file selections 1 Define result fields 1 Select and sequence fields 1 Select records - Select sort fields - Select collating sequence 1 Specify report column formatting 1 Select report summary functions - Define report breaks 1 Select output type and output form - Specify processing options F3=Exit F5=Report F12=Cancel
F13=Layout F18=Files F21=Select all
Specify File Selections Type choices, press Enter. Press F9 to specify an additional file selection. File . . . . . . . . . STUDENTS Name, F4 for list Library . . . . . . AB234MRKA1 Name, *LIBL, F4 for list Member . . . . . . . . *FIRST Name, *FIRST, F4 for list Format . . . . . . . . *FIRST Name, *FIRST, F4 for list File ID . . . . . . . T01 A-Z99, *ID File . . . . . . . . . SCHOOL Name, F4 for list Library . . . . . . AB234MRKA1 Name, *LIBL, F4 for list Member . . . . . . . . *FIRST Name, *FIRST, F4 for list Format . . . . . . . . *FIRST Name, *FIRST, F4 for list File ID . . . . . . . *ID A-Z99, *ID
File selection
Select Output Type and Output Form Type choices, press Enter. Output type . . . . . . . . . . . 1 1=Display 2=Printer 3=Database file Form of output . . . . . . . . . . 1 1=Detail 2=Summary only Line wrapping . . . . . . . . . . N Y=Yes, N=No Wrapping width . . . . . . . . . Blank, 1-378 Record on one page . . . . . . . N Y=Yes, N=No
OUTPUT selection ! REDIRECTION !
The ENDThe END
Top Related