* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Datacom and Dataquery
Open Database Connectivity wikipedia , lookup
Concurrency control wikipedia , lookup
Functional Database Model wikipedia , lookup
Clusterpoint wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Versant Object Database wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Datacom An Introduction What is Datacom? Datacom is a Database Manager developed by Computer Associates for MVS Data is stored in the form of databases, which can have one or more keys Access is through ‘embedded” datacom calls in high level languages, or through dataquery Datacom This is NOT a Relational Database Manager or even a sophisticated database manager This is a filing system, for better organization of data It has the basic features of a filing system - keys, indexes etc. It has locking features, to prevent “lost updates” It does not have features such as referential integrity Databases Databases are known by a user name E.g. FED-PROFILE Internally, in the system, they are referred to by a 3 character id E.g. F11 It is important to remember the 3-character ID that is how datacom knows this database Database structure Each database consists of records (Rows) Each Record has Fields (Columns) One or more fields can combine in several ways to form several keys There is no concept of a primary key or alternate keys - all keys are “on par” Datacom with COBOL The structure (definition) of the databases used must be declared in the program This is done by a “COPYDD” statement, which “embeds” a COBOL declaration of the database structure The embedded item may be a view, defined with a particular structure, and a key, for a specific purpose COPYDD The COPYDD statement looks like 01 A01A0 COPYDD COMPANY.A01A0(PROD),2,N. The first item is the required level of the structure The next item is the group name If this is left blank, the default name is taken Then next is the dataview to be used A pattern can be given here, to prefix all elements 01 *R2 COPYDD FED-PROFILE.A13A0(PROD),2,N. In this case, all elements will have a R2- prefix Passing values The next step is to fill up the desired values to the call interface The interface consists of User ID Request area The “embedded” structure The element list Calling interface The user id is either the ID of the User, or that of the program ID These Ids need to be authorized by the database Admin, for accessing this database The request area contains The command name (Commands are in a later slide) The name of the file - 3 characters The name of the KEY used The value(s) of the LOW key (mandatory), and High key (if applicable) The DB Call The database access call is in the form of the following command CALL ‘DBNTRY’ USING USER-ID F11-REQ-AREA F11F0 F11-ELEMENT-LIST An example Declaration 01 USER-ID. 05 PROGRAM-NAME 05 FILLER PIC X(08) VALUE 'ICS3000 '. PIC X(24) VALUE SPACES. 01 A20-REQ-AREA. 05 05 05 05 05 05 05 A20-REQ-COMMAND A20-REQ-FILENAME A20-REQ-KEYNAME A20-REQ-RETURNCD A20-REQ-DBID A20-REQ-REC-ID A20-REQ-KEY-VALUE PIC X(05) VALUE SPACES. PIC X(03) VALUE 'A20'. PIC X(05) VALUE SPACES. PIC X(02) VALUE SPACES. PIC X(02) VALUE SPACES. PIC X(07). PIC X(180). Declaration 01 A20-WORK-AREA. 05 A20-WORK-AREA-0 05 A20-WORK-AREA-6 PIC X(274). PIC X(300). 01 A20-ELEMENT-LIST. 05 05 05 05 05 A20-ELM-1 FILLER A20-ELM-2 FILLER FILLER PIC X(05) VALUE 'A20A0'. PIC X(01). PIC X(05) VALUE 'A20A6'. PIC X(01). PIC X(05) VALUE SPACES. Declaration 01 A20A0-A20A6. 03 A20A0 COPYDD BRANCH.A20A0(PROD),2,N. 03 A20A6 COPYDD BRANCH.A20A6(PROD),2,N. 01 *BILL- COPYDD BRANCH.A20A0(PROD),2,N. Assigning values MOVE WS-NEXT-KBRANCHCD MOVE 'BRNCH’ MOVE 'REDKY’ MOVE A20-REQ-AREA TO A20-REQ-KEY-VALUE. TO A20-REQ-KEYNAME. TO A20-REQ-COMMAND. TO LKBO099-DB-REQ-AREA. Here, the command name is “REDKY” - read key exact The keyname used is BRNCH, and the value of the key comes from the WORKING-STORAGE variable The DB Call CALL 'DBNTRY’ USING USER-ID A20-REQ-AREA A20-WORK-AREA A20-ELEMENT-LIST. Thus the data required for the DB call is filled up, and the database access is completed. Datacom Commands Command ABEND ADDIT CLOSE CNTKR CNTKY CNTTB COMIT Description Abnormal Termination Command Add Record Close User Requirements Table Count For Key Value Range Count For Equal Key Value Count For Table Commit Transaction Datacom Commands Command DELET GETIT GETPS GSETL GSETP INQIN Description Delete Record Retrieve Next Sequential Record Get Next Physical Sequential Record Set To Starting Key Set Physical Sequential Record Inquire CA Datacom Commands Command LOCBR LOCKG LOCKI LOCKL LOCKR LOCKX LOCKY Description Locate Backwards Locate Key Equal Or Higher Test For Logical Intersections Of Two Keys Locate Key Equal Or Lower Locate a Record in a Specified Range Locate Key Exact Locate Key Equal Or Higher Datacom Commands Command LOCNE LOCNK LOCNR LOCNX LOGCP LOGCR LOGDR LOGDW Description Locate Next Equal Key Value Locate Next Key Locate Next Record in Specified Range Locate Next Checkpoint the Task Log Checkpoint With Release Log Directed Read Log Directed Write Datacom Commands Command LOGIT LOGLB LOGTB NOOPS OPEN Description Add Data To Log Area Read Back a LOGIT Record Back Out Transactions No Operation Open User Requirements Table Datacom Commands Command REDBR/RDUBR REDID/RDUID REDKG/RDUKG REDKL/RDUKL REDKR/RDUKR Description Read Backwards Read Record By Id Read Record Greater Than / EqualTo Key Read Record Less Than / Equal To Key Read Record in a Specified Range Datacom Commands Command REDKX/RDUKX REDKY/RDUKY REDLE/RDULE REDNE/RDUNE REDNK/RDUNK REDNR/RDUNR Description Read Key Exact Read Key Exact Read Located Entry Read Next Equal Key Value Read Record With the Next Sequential Key Value Read the Next Record in a Specified Range Datacom Commands Command REDNX/RDUNX RELES RELFL ROLBK SELCN SELFR SELNR Description Read Next Release Record Release Table Rollback Transaction Continue Set Record Selection Select Set And Return First Record Select Next Record Datacom Commands Command SELPR SELSM SELST TEST UPDAT Description Release Set Select Same Record Stop Set Record Selection Test Option Command Update Record Dataquery What is Dataquery? Dataquery is a query tool to access the contents of the databases directly It uses a language called dataquery language (DQL) Structured Query Language (SQL) is also supported. Dataquery Dataquery runs as an application under CICS It has a menu-driven interface It allows creating / modifying queries, viewing public queries etc. It also allows query execution in batch, by setting up a JCL header and an environment Components The components of a query are The VERB (FIND, ERASE etc.) The Database / dataview name The condition(s) (WHERE clause) The columns to be included in the output, with column titles if required The title for the overall query Query creation / execution You can create a new query / edit an existing query The query editor will show up You can enter the qurery data and press PF4 to save it It you are editing an existing query, press PF9 to save it PF3 is for execution, PF2 is EXIT An Example FIND AGY-DISB-MTHD-2 WHERE N-A-CODE-SFX = '3102' PRINT YEAR N-A-CODE-SFX 'N&A' PROFILE-DISB 'PD' TITLE “Agency Disbursement Methods” This query has a database name, condition, fields to be printed, and headings for those fields. There is also an overall title for the query results