Upload
ciqala
View
191
Download
0
Embed Size (px)
DESCRIPTION
Intro to IDMS. Margaret Sliming. Introduction. This presentation will cover the basic concepts of IDMS database structure, data relationships and access methods. Agenda. Data Relationships Database Architecture Database Definition Currency COBOL Commands Error Handling Central Version - PowerPoint PPT Presentation
Citation preview
04/20/23 M Sliming 1
Intro to IDMSIntro to IDMS
Margaret SlimingMargaret Sliming
04/20/23 2M Sliming
Introduction Introduction
This presentation will cover the This presentation will cover the basic concepts of IDMS basic concepts of IDMS database structure, data database structure, data relationships and access relationships and access methods.methods.
04/20/23 3M Sliming
AgendaAgenda Data RelationshipsData Relationships Database ArchitectureDatabase Architecture Database DefinitionDatabase Definition CurrencyCurrency COBOL CommandsCOBOL Commands Error HandlingError Handling Central VersionCentral Version CulpritCulprit SQLSQL Additional Information / SourcesAdditional Information / Sources
04/20/23 4M Sliming
Data RelationshipsData Relationships
TABLE RELATIONSHIPS
PAY ROLL
ID TCHR SSN SALARY
TEACHER
ID NAME SSN
DEPT ID
DEPARTMENT
ID NAME
STUD-CRSE
STUD ID CRSE ID
COURSE
ID NAME
TCHR ID
STUDENT
ID NAME ADDR
One-to-One
One-to-Many
Many-to-Many
04/20/23 5M Sliming
Data Relationships Data Relationships (Con’t)(Con’t)
Data relates in three ways:Data relates in three ways: One-to-One (eg. Payroll & Teacher) One-to-One (eg. Payroll & Teacher) One-to-Many (eg. Teacher & Course)One-to-Many (eg. Teacher & Course) Many-to-Many (eg. Course & Student)Many-to-Many (eg. Course & Student)
Relational databases use foreign keys to Relational databases use foreign keys to relate records and IDMS uses sets.relate records and IDMS uses sets.
04/20/23 6M Sliming
Database ArchitectureDatabase Architecture
04/20/23 7M Sliming
Database ArchitectureDatabase Architecture The preceding page illustrates how The preceding page illustrates how
records are stored in IDMS.records are stored in IDMS.
The database is comprised of areas The database is comprised of areas which are mapped to disk files. Areas which are mapped to disk files. Areas are broken up into pages which contain are broken up into pages which contain the database records. The records are the database records. The records are uniquely identified by the page number, uniquely identified by the page number, they reside on, and a sequence number, they reside on, and a sequence number, called a line number. This makes up called a line number. This makes up what is known as the database key or what is known as the database key or DB-KEY. DB-KEY.
04/20/23 8M Sliming
Database ArchitectureDatabase ArchitectureDatabase Page
04/20/23 9M Sliming
Database ArchitectureDatabase ArchitectureDATABASE KEYS
04/20/23 10M Sliming
Database DefinitionDatabase Definition
PAYROLL-100 100 F CALC 100-PYRL-ID DN
ADMIN-AREA STUDENT-500
500 F CALC 500-STUD-ID DN
ADMIN-AREA COURSE-400 400 F CALC 400-CRSE-ID DN ACADEMIC-AREA
TEACHER-200 200 F CALC 200-TCHR-ID DN FACULTY-AREA STUD-CRSE-600
600 F VIA CRSE-STUDCRSE DN ACADEMIC-AREA
DEPT-300 300 F CALC 300-DEPT-ID DN FACULTY-AREA
TEACHER -COURSE
STUDENT-STUDCRSE
COURSE-STUDCRSE
TEACHER-PAYROLL
DEPT-TEACHER
04/20/23 11M Sliming
Database DefinitionDatabase Definition
01 PAYROLL-100.01 PAYROLL-100. 01 COURSE-400. 01 COURSE-400.
05 100-PYRL-ID PIC X(9). 05 100-PYRL-ID PIC X(9). 05 400-CRSE-ID PIC X(3).05 400-CRSE-ID PIC X(3).
05 100-PYRL-SSN PIC 9(9). 05 100-PYRL-SSN PIC 9(9). 05 400-CRSE-TITLE PIC X(20). 05 400-CRSE-TITLE PIC X(20).
05 100-PYRL-SALARY PIC 9(6)V9(2). 05 100-PYRL-SALARY PIC 9(6)V9(2). 05 400-CRSE-TCHR PIC X(5).05 400-CRSE-TCHR PIC X(5).
01 TEACHER-200.01 TEACHER-200. 01 STUDENT-500.01 STUDENT-500.
05 200-TCHR-ID PIC X(4).05 200-TCHR-ID PIC X(4). 05 500-STUD-ID PIC X(4).05 500-STUD-ID PIC X(4).
05 200-TCHR-SSN PIC 9(9).05 200-TCHR-SSN PIC 9(9). 05 500-STUD-NAME PIC X(30).05 500-STUD-NAME PIC X(30).
05 200-TCHR-NAME PIC X(30). 05 200-TCHR-NAME PIC X(30). 05 500-STUD-ADDR PIC X(40).05 500-STUD-ADDR PIC X(40).
05 200-TCHR-DEPT PIC X(4). 05 200-TCHR-DEPT PIC X(4).
01 DEPT-300.01 DEPT-300. 01 STUD-CRSE-600.01 STUD-CRSE-600.
05 300-DEPT-ID PIC X(4).05 300-DEPT-ID PIC X(4). 05 600-STUD-ID PIC X(4).05 600-STUD-ID PIC X(4).
05 300-DEPT-NAME PIC X(15). 05 300-DEPT-NAME PIC X(15). 05 600-CRSE-ID PIC X(3).05 600-CRSE-ID PIC X(3).
Record Descriptions
04/20/23 12M Sliming
Database Definition Database Definition
A Schema contains the record, set and A Schema contains the record, set and area definitions for an IDMS database.area definitions for an IDMS database.
A Subschema contains the records, sets A Subschema contains the records, sets and areas that can be referenced by an and areas that can be referenced by an application and whether they can be application and whether they can be updated or retrieved only.updated or retrieved only.
A DMCL maps the database areas to A DMCL maps the database areas to file blocks.file blocks.
04/20/23 13M Sliming
Database Definition Database Definition To program IDMS applications, our To program IDMS applications, our
most valuable tool is the schema most valuable tool is the schema definition and/or diagram, seen on definition and/or diagram, seen on slide 10, known as the “Bachman” slide 10, known as the “Bachman” diagram. diagram.
In order to retrieve and/or update In order to retrieve and/or update information in the database, we have information in the database, we have to know how to get to it.to know how to get to it.
The following pages will detail how The following pages will detail how we define data relationships in we define data relationships in IDMS.IDMS.
04/20/23 14M Sliming
Database DefinitionDatabase Definition
Record Attributes Record Attributes Location ModesLocation Modes Set AttributesSet Attributes Indexed SetsIndexed Sets Area SweepsArea Sweeps
04/20/23 15M Sliming
Database Definition - Record Database Definition - Record AttributesAttributes
04/20/23 16M Sliming
Database Definition - Record Database Definition - Record Attributes Attributes
Record ID:Record ID: Unique numeric value within the Unique numeric value within the schema assigned to the record. It’s helpful to schema assigned to the record. It’s helpful to include this number in the record name and to include this number in the record name and to also prefix each record element with it. also prefix each record element with it.
Storage Mode:Storage Mode: This means storing the record This means storing the record as fixed or variable. Fixed is the most as fixed or variable. Fixed is the most desirable so the record does not change size desirable so the record does not change size when it gets updated. Variable records can when it gets updated. Variable records can get fragmented and thus take more I/O to get fragmented and thus take more I/O to retrieve.retrieve.
04/20/23 17M Sliming
Database Definition - Record Database Definition - Record Attributes Attributes
Record Length:Record Length: This value includes the This value includes the total length of all data elements plus four total length of all data elements plus four bytes for each pointer database key bytes for each pointer database key associated with the record. Pointers will associated with the record. Pointers will be discussed later with set options.be discussed later with set options.
Location ModeLocation Mode, , Set NameSet Name and and Duplicates IndicatorDuplicates Indicator will we discussed will we discussed in more detail later in this section.in more detail later in this section.
Area Name:Area Name: Name of the database area Name of the database area the record is stored in.the record is stored in.
04/20/23 18M Sliming
Database Definitiion - Location Database Definitiion - Location ModesModes
The manner in which a record occurrence is The manner in which a record occurrence is physically located in an area of the database. physically located in an area of the database. The three types are: CALC, VIA and The three types are: CALC, VIA and DIRECT.DIRECT.
CALC: A method of determining the target CALC: A method of determining the target page for storage of a record in the database. page for storage of a record in the database. The target page is calculated is calculated by The target page is calculated is calculated by means of a randomizing routine executed means of a randomizing routine executed against the value of the Calc key in the against the value of the Calc key in the record.record.
04/20/23 19M Sliming
Database Definition - Location Database Definition - Location ModesModes
VIA: Clusters member records in the VIA: Clusters member records in the same physical location for efficient same physical location for efficient database access. Optionally, Via can database access. Optionally, Via can cluster member records with their owners.cluster member records with their owners.
DIRECT: Populates an area in the order DIRECT: Populates an area in the order the records are loaded. This mode is best the records are loaded. This mode is best used for data which is static and will be used for data which is static and will be retrieved in the order it physically resides retrieved in the order it physically resides in the database.in the database.
04/20/23 20M Sliming
Database Definition - Location Database Definition - Location Modes Modes
Example – CALC mode
04/20/23 21M Sliming
Database Definition - Location Database Definition - Location Modes Modes
Example – VIA mode
04/20/23 22M Sliming
Database Definition – Location Database Definition – Location Modes Modes
This example illustrates how records are stored VIA when the owner and member reside in different areas.
04/20/23 23M Sliming
Database Definition - Location Database Definition - Location Modes Modes
Example – DIRECT mode
04/20/23 24M Sliming
Database Definition - Set Database Definition - Set AttributesAttributes
Sets relate records to each other in IDMS Sets relate records to each other in IDMS using a number of parameters.using a number of parameters. PointersPointers: Next, Prior, Owner, Index, Index : Next, Prior, Owner, Index, Index
OwnerOwner MembershipMembership: Mandatory Automatic, Mandatory : Mandatory Automatic, Mandatory
Manual, Optional Automatic, Optional ManualManual, Optional Automatic, Optional Manual OrderOrder (Unsorted sets): First, Last, Next, Prior (Unsorted sets): First, Last, Next, Prior
(Sorted sets): Ascending or (Sorted sets): Ascending or descending by key descending by key
A database record contains a pointer (aka A database record contains a pointer (aka Db-key) for each record it relates to. ie. If Db-key) for each record it relates to. ie. If it is stored Next, Prior and Owner in a set, it it is stored Next, Prior and Owner in a set, it will contain the pointer for the owner, will contain the pointer for the owner, previous and next record in the set. previous and next record in the set.
04/20/23 25M Sliming
Database Definition – Database Definition – Indexed SetsIndexed Sets
SYSTEM-OWNED INDEX
04/20/23 26M Sliming
Database Definition – Database Definition – Indexed SetsIndexed Sets
USER-OWNED INDEX
04/20/23 27M Sliming
Database Definition – Area Database Definition – Area SweepsSweeps
This method of retrieval is used when records This method of retrieval is used when records cannot be retrieved using key information. cannot be retrieved using key information. The entire area is read from beginning to end The entire area is read from beginning to end and the program selects the desired records.and the program selects the desired records.
This can be a good method when all This can be a good method when all occurrences of a record type are needed and occurrences of a record type are needed and there are not too many different record types there are not too many different record types in the area.in the area.
The programmer must pay close attention to The programmer must pay close attention to currency when retrieving owner records with currency when retrieving owner records with an area sweep and then getting their member an area sweep and then getting their member records when both records reside in the same records when both records reside in the same area. Looping can occur if the owner record area. Looping can occur if the owner record is not made current of area before each is not made current of area before each obtain.obtain.
04/20/23 28M Sliming
CurrencyCurrency
IDMS keeps track of record IDMS keeps track of record occurrences, being processed, by area, occurrences, being processed, by area, set, record type and run-unit (program).set, record type and run-unit (program).
The current record is usually the last The current record is usually the last record retrieved or updated. record retrieved or updated.
Currency is extremely important to Currency is extremely important to understand, especially when updating a understand, especially when updating a database, for maintaining data database, for maintaining data integrity. integrity.
04/20/23 29M Sliming
COBOL CommandsCOBOL Commands ACCEPTACCEPT BINDBIND COMMITCOMMIT CONNECTCONNECT DISCONNECTDISCONNECT ERASEERASE FIND/OBTAINFIND/OBTAIN FINISHFINISH IFIF MODIFYMODIFY READYREADY ROLLBACKROLLBACK
04/20/23 30M Sliming
COBOL Commands - COBOL Commands - ACCEPTACCEPT
Retrieves information pertaining to the Retrieves information pertaining to the status of the database.status of the database.
Format:Format:ACCEPT {TASK CODE } INTO ACCEPT {TASK CODE } INTO return-return-
locationlocation..
{TASK ID }{TASK ID }
{LTERM ID }{LTERM ID }
{PTERM ID }{PTERM ID }
{SYSVERSION}{SYSVERSION}
{USER ID }{USER ID }
{SCREENSIZE}{SCREENSIZE}
04/20/23 31M Sliming
COBOL commands - COBOL commands - BINDBIND
Initiates a run-unit and establishes Initiates a run-unit and establishes addressability in variable storage to addressability in variable storage to the IDMS communication block, the IDMS communication block, record types and optionally to record types and optionally to procedure control information.procedure control information.
Format:Format:BIND {RUN-UNIT } .BIND {RUN-UNIT } .
{record-name }{record-name }
04/20/23 32M Sliming
COBOL Commands - COBOL Commands - COMMITCOMMIT
Makes database updates permanent. Makes database updates permanent. Ie. If a program abends without Ie. If a program abends without having issued any ‘COMMIT’s, all having issued any ‘COMMIT’s, all updates issued by the program will updates issued by the program will be rolled back.be rolled back.
Format:Format: COMMIT { } .COMMIT { } .
{ALL} {ALL}
04/20/23 33M Sliming
COBOL Commands - COBOL Commands - CONNECTCONNECT
Establishes a record occurrence as a Establishes a record occurrence as a member of a set occurrence. The member of a set occurrence. The set must not be defined as set must not be defined as Mandatory Automatic.Mandatory Automatic.
Format:Format: CONNECT CONNECT record-namerecord-name TO TO set-set-
namename . .
04/20/23 34M Sliming
COBOL Commands - COBOL Commands - DISCONNECTDISCONNECT
Removes a member record Removes a member record occurrence from a set but does not occurrence from a set but does not delete the record from the database. delete the record from the database. This command is only valid for This command is only valid for records which are optional members records which are optional members of a set.of a set.
Format:Format:DISCONNECT DISCONNECT record-namerecord-name FROM FROM
set-nameset-name . .
04/20/23 35M Sliming
COBOL Commands - COBOL Commands - ERASEERASE
Deletes a record occurrence from Deletes a record occurrence from the database and optionally deletes the database and optionally deletes records subordinate to it.records subordinate to it.
Format:Format: ERASE record-name { ERASE record-name {
} . } .
{ALL {ALL MEMBERS}MEMBERS}
04/20/23 36M Sliming
COBOL Commands - COBOL Commands - FIND / FIND / OBTAINOBTAIN
The FIND statement locates a record The FIND statement locates a record occurrence in the database; the occurrence in the database; the OBTAIN statement locates a record and OBTAIN statement locates a record and moves the data associated with the moves the data associated with the record to the record buffers. Because record to the record buffers. Because the FIND and OBTAIN command the FIND and OBTAIN command statements have identical formats, they statements have identical formats, they are discussed together. The six formats are discussed together. The six formats of the FIND/OBTAIN statement are as of the FIND/OBTAIN statement are as follows: follows:
04/20/23 37M Sliming
COBOL Commands - COBOL Commands - FIND / FIND / OBTAINOBTAIN
FIND/OBTAIN CALC FIND/OBTAIN CALC accesses a record accesses a record occurrence by using its CALC key value. occurrence by using its CALC key value.
FIND/OBTAIN CURRENT FIND/OBTAIN CURRENT accesses a record accesses a record occurrence by using established currencies. occurrence by using established currencies.
FIND/OBTAIN DB-KEY FIND/OBTAIN DB-KEY accesses a record accesses a record occurrence by using its database key. occurrence by using its database key.
FIND/OBTAIN OWNER FIND/OBTAIN OWNER accesses the owner accesses the owner record of a set occurrence. record of a set occurrence.
FIND/OBTAIN WITHIN SET USING SORT KEY FIND/OBTAIN WITHIN SET USING SORT KEY accesses a record occurrence in a sorted set by accesses a record occurrence in a sorted set by using its sort key value. using its sort key value.
FIND/OBTAIN WITHIN SET/AREA FIND/OBTAIN WITHIN SET/AREA accesses a accesses a record occurrence based on its logical location record occurrence based on its logical location within a set or on its physical location within an within a set or on its physical location within an area. area.
04/20/23 38M Sliming
COBOL Commands - COBOL Commands - FIND / FIND / OBTAINOBTAIN
Formats:Formats: FIND / OBTAIN CALC FIND / OBTAIN CALC record-namerecord-name . . FIND / OBTAIN CURRENT { FIND / OBTAIN CURRENT { record-namerecord-name } . } .
{WITHIN {WITHIN set-nameset-name } }
{WITHIN {WITHIN area-namearea-name } }
FIND / OBTAIN DB-KEY IS FIND / OBTAIN DB-KEY IS db-keydb-key . . FIND / OBTAIN OWNER WITHIN FIND / OBTAIN OWNER WITHIN set-nameset-name . . FIND / OBTAIN FIND / OBTAIN record-namerecord-name WITHIN WITHIN set-nameset-name USING USING sort-keysort-key.. FIND / OBTAIN {NEXT} { } WITHIN { set-name } . FIND / OBTAIN {NEXT} { } WITHIN { set-name } .
{PRIOR} {{PRIOR} {record-name } { area-name }
{FIRST} {LAST}
{seq-nbr}
04/20/23 39M Sliming
COBOL Commands - COBOL Commands - FINISHFINISH
Causes affected database sessions to Causes affected database sessions to terminate.terminate.
Format:Format: FINISH .FINISH .
04/20/23 40M Sliming
COBOL Commands - COBOL Commands - IFIF The IF statement allows the program to test The IF statement allows the program to test
for the presence of member record for the presence of member record occurrences in a set and to determine the occurrences in a set and to determine the membership status of a record occurrence in a membership status of a record occurrence in a specified set; once the set has been evaluated, specified set; once the set has been evaluated, the IF statement specifies further action based the IF statement specifies further action based on the outcome of the evaluation. For example, on the outcome of the evaluation. For example, an IF statement might be used to determine an IF statement might be used to determine whether a set occurrence is empty and, if it is whether a set occurrence is empty and, if it is empty, to erase the owner record. empty, to erase the owner record.
Note: DML IF statements cannot be nested within COBOL IF statements.
04/20/23 41M Sliming
COBOL Commands - COBOL Commands - IFIF Depending on its format, the IF statement uses set
or run-unit currency. The object set occurrence of an IF statement is determined by the owner of the current record of the named set; the object record occurrence is determined by the current of run unit.
Each IF statement contains a conditional phrase and an imperative statement. When an IF is issued, the precompiler first generates a call to the DBMS to execute the conditional phrase; the results of the test determine whether or not the imperative statement is executed.
04/20/23 42M Sliming
COBOL Commands - COBOL Commands - IFIF
Formats:Formats: IF IF set-nameset-name EMPTY EMPTY imperative-statementimperative-statement . . IF IF set-nameset-name NOT EMPTY NOT EMPTY imperative-
statement . . IF IF set-nameset-name MEMBER MEMBER imperative-imperative-
statementstatement . . IF NOT IF NOT set-nameset-name MEMBER MEMBER imperative-imperative-
statementstatement . .
04/20/23 43M Sliming
COBOL Commands - COBOL Commands - ModifyModify
Replaces the contents of a database Replaces the contents of a database record occurrence with the values in it’s record occurrence with the values in it’s corresponding variable storage.corresponding variable storage.
Note: The database record being Note: The database record being modified, must always be current of run-modified, must always be current of run-unit.unit.
Format:Format:
MODIFY MODIFY record-namerecord-name . .
04/20/23 44M Sliming
COBOL Commands - COBOL Commands - READYREADY
Prepares a database area for access by DML functions and specifies that area's usage mode.
Format: READY { } USAGE-MODE READY { } USAGE-MODE
{UPDATE } .{UPDATE } .
{ { area-namearea-name } } {RETRIEVAL}{RETRIEVAL}
04/20/23 45M Sliming
COBOL Commands - COBOL Commands - ROLLBACKROLLBACK
Rolls back uncommitted changes made to Rolls back uncommitted changes made to the database through an individual run the database through an individual run unit.unit.
Format:Format:
ROLLBACK { CONTINUE } . ROLLBACK { CONTINUE } . The CONTINUE option allows the run-unit The CONTINUE option allows the run-unit
to remain active after the changes have to remain active after the changes have been backed out. Database access can be been backed out. Database access can be resumed without issuing BIND and resumed without issuing BIND and READY statements.READY statements.
04/20/23 46M Sliming
ERROR HANDLINGERROR HANDLING After each IDMS command executes, a value After each IDMS command executes, a value
is returned into a field called ERROR-STATUS is returned into a field called ERROR-STATUS which is ‘0000’ if the command was which is ‘0000’ if the command was successful, or a 4-byte value indicating the successful, or a 4-byte value indicating the command in error and the reason for the command in error and the reason for the error. The first two bytes of ERROR-STATUS error. The first two bytes of ERROR-STATUS indicate the command and the last two bytes indicate the command and the last two bytes indicate the cause of the error.indicate the cause of the error.
Every IDMS error should be trapped and the Every IDMS error should be trapped and the appropriate action should be taken. This appropriate action should be taken. This action may be an error message or an Abort action may be an error message or an Abort of the program depending on the severity of of the program depending on the severity of the error.the error.
A list of these error status codes can be found A list of these error status codes can be found in Volume 4, Chapter 11 of the ‘IDMS in Volume 4, Chapter 11 of the ‘IDMS Messages and Codes’ manuals.Messages and Codes’ manuals.
04/20/23 47M Sliming
ERROR HANDLINGERROR HANDLINGComponent Major code DML functionComponent Major code DML function
00 Any DML function00 Any DML function 01 FINISH01 FINISH 02 ERASE02 ERASE 03 FIND/OBTAIN03 FIND/OBTAIN 05 GET05 GET 06 KEEP06 KEEP 07 CONNECT07 CONNECT 08 MODIFY08 MODIFY 09 READY09 READY 11 DISCONNECT11 DISCONNECT 12 STORE12 STORE 14 BIND14 BIND 15 ACCEPT15 ACCEPT 16 IF16 IF 17 RETURN17 RETURN 18 COMMIT18 COMMIT 19 ROLLBACK19 ROLLBACK 20 LRF requests20 LRF requests
04/20/23 48M Sliming
Central Version / Local Central Version / Local ModeMode
CENTRAL VERSIONCENTRAL VERSION is an IDMS system that enables is an IDMS system that enables multiple applications to access the database multiple applications to access the database concurrently. A central version controls access to data concurrently. A central version controls access to data at the individual record (or row) level thus providing at the individual record (or row) level thus providing integrity while maximizing concurrency. It also provides integrity while maximizing concurrency. It also provides automatic recovery in the event of failure. All automatic recovery in the event of failure. All applications executing within a TP monitor (including applications executing within a TP monitor (including DC/UCF) use central version services to access IDMS DC/UCF) use central version services to access IDMS data. Batch applications can access data in central data. Batch applications can access data in central version or local mode.version or local mode.
LOCAL MODELOCAL MODE is a mode of operation in which a batch is a mode of operation in which a batch program uses a dedicated copy DBMS to access the program uses a dedicated copy DBMS to access the database. In local mode, only one program can update database. In local mode, only one program can update the database at a time. Updates in local mode are the database at a time. Updates in local mode are usually rare and only done when it is faster to back of usually rare and only done when it is faster to back of the database, run the update program and restore in the the database, run the update program and restore in the event of an abend than running under Central Version.event of an abend than running under Central Version.
04/20/23 49M Sliming
Central Version / Local Central Version / Local ModeMode
04/20/23 50M Sliming
CulpritCulprit
Advantage CA-Culprit is a batch utility that generates reports from conventional and database files. Data Input: As shown in the diagram on the following page, Advantage CA-Culprit can extract data from several database and conventional file structures. As many as 32 conventional files can be read and processed in one Advantage CA-Culprit run. Each run can generate up to 100 reports from the same input data. Reports can be formatted as printed output, stored tables, or written to cards, tape, or disk.
The diagram shows The Advantage CA-Culprit Data Access and Transfer Network. Advantage CA-Culprit can extract data from and write reports to several database and file structures. Advantage CA-Culprit is fully integrated with other products, such as Advantage CA-IDMS/DB, the Integrated Data Dictionary (IDD), and CA-ICMS.
04/20/23 51M Sliming
CulpritCulprit
04/20/23 52M Sliming
CulpritCulpritSample program to list Service Office Address History Sample program to list Service Office Address History
for a Provider:for a Provider:
DATABASE DICTNAME=DICT05 DATABASE DICTNAME=DICT05 IN DB SS=DPU001 IN DB SS=DPU001 PATHAA DPR-PROVSVOFC DPR-ADDRHIST PATHAA DPR-PROVSVOFC DPR-ADDRHIST 01OUT 132 1330 D PS(3375) DD=SYS036,36 LT=S 01OUT 132 1330 D PS(3375) DD=SYS036,36 LT=S 0151*010 339-BILL-PROV-ID-NBR SZ=6 0151*010 339-BILL-PROV-ID-NBR SZ=6 0151*020 339-SERVICE-OFC-NBR SZ=2 0151*020 339-SERVICE-OFC-NBR SZ=2 0151*030 364-SERVICE-OFC-ADDR-GRP SZ=79 0151*030 364-SERVICE-OFC-ADDR-GRP SZ=79 0151*040 364-SVCOFC-STATUS-CODE SZ=1 0151*040 364-SVCOFC-STATUS-CODE SZ=1 0151*050 364-SVCOFC-ADDR-EFFDATE-FULL SZ=8 0151*050 364-SVCOFC-ADDR-EFFDATE-FULL SZ=8 0151*060 364-SVCOFC-ADDR-ENDDATE-FULL SZ=8 0151*060 364-SVCOFC-ADDR-ENDDATE-FULL SZ=8 0151*070 364-SVCOFC-PROVL-DATE-TIME SZ=14 0151*070 364-SVCOFC-PROVL-DATE-TIME SZ=14 017 IF 339-BILL-PROV-ID-NBR = 'B20000' 010 017 IF 339-BILL-PROV-ID-NBR = 'B20000' 010 017 DROP 017 DROP 017010 TAKE 017010 TAKE
04/20/23 53M Sliming
CulpritCulprit Output from Sample program: Output from Sample program:
B20000 52 7117 DAWN VIEW CT SUITE 5225 CITRUS HEIGHTS CA956100000C20 C 20040910 20040910 20040910140146 B20000 52 7117 DAWN VIEW CT SUITE 5225 CITRUS HEIGHTS CA956100000C20 C 20040910 20040910 20040910140146 B20000 52 11432123N VIEW CT SUITE CITRUS HEIGHTS CA956100000C20 C 20040901 20040910 20040910135446 B20000 52 11432123N VIEW CT SUITE CITRUS HEIGHTS CA956100000C20 C 20040901 20040910 20040910135446 B20000 52 11432123N VIEW CT CITRUS HEIGHTS CA956100000C20 C 20040901 20040910 20040910135041 B20000 52 11432123N VIEW CT CITRUS HEIGHTS CA956100000C20 C 20040901 20040910 20040910135041 B20000 52 7117 DAWN VIEW CT CITRUS HEIGHTS CA956100000A20 A 20040828 20040910 20040910124434 B20000 52 7117 DAWN VIEW CT CITRUS HEIGHTS CA956100000A20 A 20040828 20040910 20040910124434 B20000 56 NEW ADDRESS DIAMOND SPRINGS CA956190000A20 A 20050801 20050830 20050826105313 B20000 56 NEW ADDRESS DIAMOND SPRINGS CA956190000A20 A 20050801 20050830 20050826105313 B20000 47 7505 SYLVAN VALLEY WAY CITRUS HEIGHTS CA956100000C20 C 20041001 20041005 20041005100933 B20000 47 7505 SYLVAN VALLEY WAY CITRUS HEIGHTS CA956100000C20 C 20041001 20041005 20041005100933 B20000 30 7117 NEW ADDRESS CITRUS HEIGHTS CA956213501C20 C 20050829 20050829 20050829143219 B20000 30 7117 NEW ADDRESS CITRUS HEIGHTS CA956213501C20 C 20050829 20050829 20050829143219 B20000 54 75 CH CA956100000A20 A 20040901 20040907 20040907150639 B20000 54 75 CH CA956100000A20 A 20040901 20040907 20040907150639 B20000 55 TEST ADDRESSS TT CITY CA956100000C20 C 20030901 20040830 20041026154158 B20000 55 TEST ADDRESSS TT CITY CA956100000C20 C 20030901 20040830 20041026154158 B20000 55 TEST ADDRESSS CITY CA956100000A20 A 20040901 20041026 20040923141317 B20000 55 TEST ADDRESSS CITY CA956100000A20 A 20040901 20041026 20040923141317 B20000 50 785 CH CA956100000A20 A 20040701 20041005 20040830143345 B20000 50 785 CH CA956100000A20 A 20040701 20041005 20040830143345 B20000 48 12123 DH CA956100000C20 C 20041002 20041005 20041005101456 B20000 48 12123 DH CA956100000C20 C 20041002 20041005 20041005101456 B20000 5 7117 DAWN VIEW CT CITRUS HEIGHTS CA956284011C20 C 20060316 20060328111055 B20000 5 7117 DAWN VIEW CT CITRUS HEIGHTS CA956284011C20 C 20060316 20060328111055 B20000 5 7117 DAWN VIEW CT CITRUS HEIGHTS CA956284011C20 C 20040901 20040910 20040907150441 B20000 5 7117 DAWN VIEW CT CITRUS HEIGHTS CA956284011C20 C 20040901 20040910 20040907150441 B20000 5 7505 SYLVAN VALLEY WAY CITRUS HEIGHTS CA956284011C20 C 20040828 20040907 20040907132818 B20000 5 7505 SYLVAN VALLEY WAY CITRUS HEIGHTS CA956284011C20 C 20040828 20040907 20040907132818 B20000 53 75 X CH CA956100000C20 C 20041001 20041005 20041005101533B20000 53 75 X CH CA956100000C20 C 20041001 20041005 20041005101533 B20000 53 75 CH CA956100000A20 A 20040401 20041005 20040901155604B20000 53 75 CH CA956100000A20 A 20040401 20041005 20040901155604 B20000 1 5555555555555ET PLACERVILLE CA956213501C20 C 20060314 20060315113330B20000 1 5555555555555ET PLACERVILLE CA956213501C20 C 20060314 20060315113330 B20000 1 555 MAIN STREET PLACERVILLE CA956213501C20 C 20060308 20060315 20060309113516B20000 1 555 MAIN STREET PLACERVILLE CA956213501C20 C 20060308 20060315 20060309113516 B20000 1 555 MAIN STREET PLACERVILLE CA956213501C20 C 20060207 20060216 20060207161221B20000 1 555 MAIN STREET PLACERVILLE CA956213501C20 C 20060207 20060216 20060207161221 B20000 1 555 MAIN STREET PLACERVILLE CA956213501C20 C 20060205 20060207 20060206131043B20000 1 555 MAIN STREET PLACERVILLE CA956213501C20 C 20060205 20060207 20060206131043 B20000 1 555 MAIN STREET PO BOX 5 PLACERVILLE CA956213501C20 C 20040830 20041207 20040901160019 B20000 1 555 MAIN STREET PO BOX 5 PLACERVILLE CA956213501C20 C 20040830 20041207 20040901160019 B20000 46 DD X CC CA956100000C20 C 20041001 20041005 20041005101738B20000 46 DD X CC CA956100000C20 C 20041001 20041005 20041005101738 B20000 51 7505 SYLVAN VALLEY WAY CITRUS HEIGHTS CA956100000A20 A 20040828 20041005 20040831153728 B20000 51 7505 SYLVAN VALLEY WAY CITRUS HEIGHTS CA956100000A20 A 20040828 20041005 20040831153728
04/20/23 54M Sliming
CulpritCulprit
ADDITIONAL INFORMATIONADDITIONAL INFORMATION
G:\SYSGRP\IDMS R16 Manuals\IDMS Manuals – PDF\G:\SYSGRP\IDMS R16 Manuals\IDMS Manuals – PDF\B01287-1EB01287-1E
TSO DATASETS:TSO DATASETS: DLST.CULP.SOURCEDLST.CULP.SOURCE DLST.CULP.JCLDLST.CULP.JCL DLST.CULP.PROC DLST.CULP.PROC
04/20/23 55M Sliming
SQLSQL With the SQL feature, non-SQL defined With the SQL feature, non-SQL defined
IDMS databases can be accessed using SQL IDMS databases can be accessed using SQL DML (IDMS version of SQL). This is done DML (IDMS version of SQL). This is done by either using the Online Command Facility by either using the Online Command Facility (OCF) or the batch program IDMSBCF. (OCF) or the batch program IDMSBCF.
An SQL schema is created which maps to An SQL schema is created which maps to that of the non-SQL IDMS database.that of the non-SQL IDMS database.
Records defined in the non-SQL schema can then be accessed as tables in SQL.
The following page show an example of The following page show an example of executing a SELECT statement using OCF.executing a SELECT statement using OCF.
04/20/23 56M Sliming
SQLSQL
04/20/23 57M Sliming
Additional Information / Additional Information / SourcesSources
List of manuals and file names located on G: List of manuals and file names located on G: drive at: G:\SYSGRP\IDMS R16 Manualsdrive at: G:\SYSGRP\IDMS R16 Manuals Glossary: B01251-1EGlossary: B01251-1E DML Reference – COBOL: B01247-1E DML Reference – COBOL: B01247-1E Messages and Codes – Volume 4: B01259-Messages and Codes – Volume 4: B01259-
2E2E SQL Option Self-Training Guide B01274-1ESQL Option Self-Training Guide B01274-1E
G:\SYSGRP\2006 IUA WorkshopG:\SYSGRP\2006 IUA Workshop CDMMIS Schema Definition:CDMMIS Schema Definition:
DDLST.IDMS.RPTS(CV5SCHEM)LST.IDMS.RPTS(CV5SCHEM)