280 likes | 452 Views
Accessing the AS/400 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)
E N D
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 vsData Physical File • Source Physical File (in between stage, a blueprint) • Layout is fixed: 3 fields • programmers can only alter the length of the text field • Used to store code • Data Physical File (actual object) • Layout is determined by Application Designer • Used to store data
Source files - CRTSRCPF Are created only once in a library (container for blueprints) All / each library can contain source physical files Contain 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 files 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
Source editing for physical files - PF 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 display files - DSPF 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)
SEU HELP F1 with cursor on sequence number function 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... :
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) 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 14ARTRNSDF DSPF Assignment 2 transaction display file ASSG2DSP DSPF ASSG3DSP DSPF ASSG3DSPC2 DSPF
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 Files • Flat files - Arrival order only Sequential or Random access only • Keyed / Indexed Files Sequential, Random, Keyed access
Physical Files using a Key • Access a record in a file according to the value of a specific field (the Key Field).ex. You could access a particular student record using the student id as the key rather than read the whole file a record at the time looking for it. • You specify that a file will have a key when you created / entered the DDS source member for the file
What if we want to access the data in a different way? We can create new access path (‘s) to the data using Logical Files Type LF
Logical Files ‘Logical View’ or ‘Index’ over one or more physical files Refer to physical file(‘s) and can only be created after the Physical file(‘s) exist Do NOT contain data They are an access path into a file by usingindex key’s from akeyed record to point to a position in the physical file it is based on
What is a Logical File? • It is a file which provides another way or viewof looking at data in a physical file, i.e. another access path to the data. • It does not contain data, the data is stored in the physical file member. • The access path in the logical file acts as an index to the data. • A logical file is always created over one or more specific PF’s
Physical File - STUDENTS (FIFO sequence) RR# STUDID LASTNAME FIRSTNAME Logical File - STUDENTS by last name RR# LASTNAME Example of a simple logical file with a key of LASTNAME over a physical file that does not have a key.
Entering data • If the compile (option14) was successful, you will have a new object in your library, a physical file. (type *FILE Attr. PF) • To enter data into that file. Under program control. Using a systems utility (CPYF etc.) Using DFU, Data File Utility
Helpful commands • DSPOBJD: display object descriptiongives you information such as creation date, change date, owner, etc. • DSPFD: display file descriptiongives you information such as file size, record length, number of fields, etc. • DSPFFD: display file field descriptiondisplays complete field information
QUERY/400 • IBM licensed product provided for free with every OS/400 system • USED for QUICK screen inquiries • On demand ONE OF reports • Collect data from various physical files and generate a new format data file or report • When saved becomes an object of type *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
RESULT of QUICK query run 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
STRQRY 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 .
OPTION 1 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
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
File selection 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
OUTPUT selection ! REDIRECTION ! 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