                                              CG section:  12.3

TITLE:  EDMS SCHEMA TO I-D-S/II               doc #     :  0023A-0

        DDL/DMCL CONVERSION PROGRAM           date      :  791121

                                              page      :   1

























              EDMS SCHEMA TO I-D-S/II DDL/DMCL

                     CONVERSION PROGRAM

                       USER'S MANUAL



                                              CG section:  12.3

TITLE:  EDMS SCHEMA TO I-D-S/II               doc #     :  0023A-0

        DDL/DMCL CONVERSION PROGRAM           date      :  791121

                                              page      :   2





                     Table Of Contents





1.0  INTRODUCTION . . . . . . . . . . . . . . . . . .



2.0  COMPONENTS OF THE ESCH CONVERTER . . . . . . . .



3.0  CP-V CONVERTER JCL . . . . . . . . . . . . . . .



4.0  JCL ON CP-6  . . . . . . . . . . . . . . . . . .



5.0  TRANSLATION FROM EDMS TO I-D-S/II  . . . . . . .



 5.1  SCHEMA AND AREA CLAUSES  . . . . . . . . . .



 5.2  GROUP AND ITEM CLAUSES . . . . . . . . . . .



 5.3  SET CLAUSE . . . . . . . . . . . . . . . . .



6.0  CONVERSION CONSIDERATIONS  . . . . . . . . . . .



7.0  IDS/II DMCL CONSIDERATIONS . . . . . . . . . . .

                                              CG section:  12.3

TITLE:  EDMS SCHEMA TO I-D-S/II               doc #     :  0023A-0

        DDL/DMCL CONVERSION PROGRAM           date      :  791121

                                              page      :   3





1.0  INTRODUCTION.



The conversion tool ESCH reads EDMS schemas and generates  a

file  of I-D-S/II DDL and DMCL for CP-6.  Many EDMS features

are converted directly.  Some features cannot  be  converted

at  all.   Some  features  are  converted to close neighbors

which may require changes to application programs.



The EDMS data  base  converter  is  a  separate  tool  which

assumes  that  ESCH  schema  converter  output  is  used  to

generate the I-D-S/II schema.  The resulting  DDL  and  DMCL

for  CP-6  is  used  by  the  data  base converted to direct

conversion and thus must not be changed prior to conversion.

Reorganizations of the data base should be accomplished  via

the  reorganization  program  on CP-V.  See Conversion Guide

document  number  30  for  an  overview  of  the  conversion

process.



The  ESCH  converter runs on CP-V, producing a symbolic file

which may be moved to CP-6 for use.

                                              CG section:  12.3

TITLE:  EDMS SCHEMA TO I-D-S/II               doc #     :  0023A-0

        DDL/DMCL CONVERSION PROGRAM           date      :  791121

                                              page      :   4





2.0  COMPONENTS OF THE ESCH CONVERTER.



The files used in  the  EDMS  Schema  to  I-D-S/II  DDL/DMCL

Converter as follow:





ESCH_SI1 Source for COBOL schema conversion program.



ESCH_OU1 Object unit for ESCH_SI1.



ESCH_CI2 Source for some COBOL callable subroutines to fix

  the in-core subschema to match the schema being

  accessed as a data base.



ESCH_OU2 Object unit of ESCH_SI2



  This is a copy of EDMS CF011.



ESCH_OU3 Object unit of ESCH_CI3 for inclusion in run unit.



ESCH_CI4 Compressed Source for F:DB01.  This is a copy of EDMS

  CD094.



ESCH_OU4 Object unit of ESCH_CI4.



ESCH_CI5 SYSTEM file required for the assembly of ESCH_CI2.



ESCH_CI6 Compressed Source for SYSTEM DMS.  This is a copy of

  EDMS CD001.



ESCH_RU  EDMS DML converter run unit.



ESCH_SI7 Schema and subschema DDL for all EDMS schemas.



ESCH-SI8 COBOL COPY file from ESCH-ID11 required for compilation

  of ESCH_SI1.



ESCH_ID1 Schema DDL for a test schema for input to the converter.



ESCH_ID2 Test input schema for the converter.  Created by

    TRTESTDDL.



ESCH-ID10 Schema describing EDMS schemas.



ESCH-ID11 Subschema describing EDMS schemas.



ESCH_CL To compile all modules, link the run unit and

  run a sample test job.



                                              CG section:  12.3

TITLE:  EDMS SCHEMA TO I-D-S/II               doc #     :  0023A-0

        DDL/DMCL CONVERSION PROGRAM           date      :  791121

                                              page      :   5





ESCH_LX  To link object units into a run unit.



ESCH_BA JCL to run an EDMS schema conversion.  Use BATCH

  to replace file names in this file of canned JCL.



                                              CG section:  12.3

TITLE:  EDMS SCHEMA TO I-D-S/II               doc #     :  0023A-0

        DDL/DMCL CONVERSION PROGRAM           date      :  791121

                                              page      :   6





3.0  CONVERTER JCL (CP-V).



The  following  JCL  is  contained in the file ESCH_BA.  The

EDMS schema is read using EDMS.  Output work files ESCH_WF1,

ESCH_WF2 and ESCH_WF3 are concatenated into file DDLOUT  for

export to CP-6.



!JOB

!LIMIT (TIME,6),(CORE,32),(ACCOUNT)

!PCL

DELETE ESCH_WF1,ESCH_WF2,ESCH_WF3

END

!.     THE INPUT TO THIS CONVERTER MUST BE AN EDMS SCHEMA

!SET F:SCHE/SCHEMA

!SET F:DB01/SCHEMA

!SET F:SSCH DC/ESCH-ID11

!.     THE OUTPUT OF THIS CONVERTER IS THREE WORK FILES

!.          WHICH ARE CONCATENATED AT THE END BY PCL.

!SET F:LOCK-OUT/ESCH_WF3;SAVE;KEYED

!SET F:LOCK-IN/ESCH_WF3;SAVE;INOUT

!SET F:DDL-OUT/ESCH_WF1;SAVE;KEYED

!SET F:DMCL-OUT/ESCH_WF2;SAVE;KEYED

!SET F:DMCL-IN/ESCH_WF2;SAVE;INOUT

!RUN (LMN,ESCH_RU)

!.     MERGE THE THREE WORK FILES INTO ONE OUTPUT FILE.

!PCL

COPY ESCH_WF1,ESCH_WF2,ESCH_WF3 OVER DDLOUT(LN)

DELETE ESCH_WF1,ESCH_WF2,ESCH_WF3

END









To batch a job,



!BATCH ESCH_BA SCHEMA=file1,DDLOUT=file2



Where:



file1    Input EDMS schema file.

file2   Concatenated schema DDL, DMCL and LOCKS. (Default DDLOUT)



The  only  file  which must be specified is the input schema

file.  The output file name is DDLOUT.

                                              CG section:  12.3

TITLE:  EDMS SCHEMA TO I-D-S/II               doc #     :  0023A-0

        DDL/DMCL CONVERSION PROGRAM           date      :  791121

                                              page      :   7





4.0  JCL ON CP-6.





JCL  after  defining the schema-name, subschema-name and the

subschema-ddl-name



!SET M$SO subschema-ddl-name

!DBACS input-file-from-CPV

!DBACS subschema-ddl-name

DBACS TRANSLATE SUBSCHEMA subschema-name DDL END

DBACS VALIDATE SUBSCHEMA subschema-name

               SCHEMA schema-name END

EDMS SCHEMA TO I-D-S/II DDL/DMCL

CONVERTER

                                              CG section:  12.3

TITLE:  EDMS SCHEMA TO I-D-S/II               doc #     :  0023A-0

        DDL/DMCL CONVERSION PROGRAM           date      :  791121

                                              page      :   8





5.0  TRANSLATION FROM EDMS TO I-D-S/II.



The following pages in this section define EDMS DDL

together with equivalent I-D-S/II DDL and DMCL.

The first page defines the schema and area clause.

The second page defines the group and item clauses.

The third page defines the set clauses.



Lines with ** mark EDMS DDL which has no direct conversion,

see notes in Section 6.

5.1  EDMS SCHEMA DDL

  (SCHEMA/AREA)



SCHEMA NAME IS schema-name

  ;PRIVACY LOCK FOR EXTRACT IS lock-value-1



  ;PRIVACY LOCK FOR ALTER IS lock-value-2



  ;PASSWORD IS password-1  **

 ,RETRIEVE lock-value-3, lock-value-4 ...

 ,UPDATE lock-value-5, lock-value-6 ...



AREA NAME IS area-name-1

 CONTAINS integer-1 PAGES

  ;NUMBER IS type-1

  ;INVENTORY PERCENT IS integer-3

  ;OVERFLOW integer-4 integer-5 **

  ;FILL PERCENT IS integer-6 **

  ;LINES PER PAGE IS/ARE integer-7







(If the area contains one INDEXED record type



(If an area is not INDEXED,

 then it must be INTEGRATED)



  ;CHECKSUM IS REQUIRED

  ;JOURNAL IS REQUIRED

  ;ENCIPERING IS REQUIRED

5.1 (cont) I-D-S/II SCHEMA DDL   I-D-S/II SCHEMA DMCL

    (SCHEMA/AREA)     (SCHEMA/AREA)



SCHEMA NAME IS schema-name  SCHEMA NAME IS schema-name

  ;PRIVACY COPY lock-name-1

  ;PRIVACY DISPLAY lock-name-1

  ;PRIVACY ALTER lock-name-2

  ;PRIVACY LOCKS lock-name-2









AREA NAME IS area-name-1  AREA NAME IS area-name-1

           ALLOCATE integer-8



           INVENTORY integer-3

        (INTEGRATED area only)



           PAGE INTERVAL IS integer-9

           (CALC_INT defaults to PAGE_INT)





           ORGANIZATION IS INDEXED





           ORGANIZATION IS INTEGRATED



           CHECKSUM

           JOURNAL

           ENCRYPTION

5.2  EDMS SCHEMA DDL

    (RECORD)



GROUP NAME IS group-name-1

  ;WITHIN area-name-1

 RANGE IS PAGE integer-1 THRU PAGE integer-2

  ;LOCATION MODE IS DIRECT

  ;LOCATION MODE IS DIRECT

 ,STORAGE SET IS set-name-1 SET  **

  ;LOCATION MODE IS INDEXED USING item-name-1

 (, item-name-2) ...  **







  ;LOCATION MODE IS CALC USING item-name-3

 (, item-name-4) ...

 DUPLICATES ARE (NOT) ALLOWED

  ;LOCATION MODE IS VIA set-name-2

  ;LOCATION MODE IS VIA set-name-2

 ,STORAGE IS set-name-3 SET  **

  ;NUMBER IS type-2

  ;PRIVACY LOCK FOR RETRIEVE IS lock-value-7

  ;PRIVACY LOCK FOR UPDATE IS lock-value-8



  ;STATISTICS ARE (NOT) REQUIRED **

  ;NUMBER IS type-3

  ;WITHIN area-name-1

 RANGE integer-7 integer-8  **

  ;DUPLICATES ARE (NOT) ALLOWED

item-name-1

  ;PICTURE IS character-string

  ;TYPE IS BINARY

  ;TYPE IS FLOATING SHORT

  ;TYPE IS FLOATING LONG

  ;TYPE IS PACKED DECIMAL integer-1

  ;TYPE IS CHARACTER integer-2

  (Alpha-numeric)

  (Alphabetic)

  (Signed numeric)

  (Numeric)

  ;OCCURS integer-3 times **

  ;PRIVACY LOCK FOR RETRIEVE IS lock-value-9

  ;PRIVACY LOCK FOR UPDATE IS lock-value-10

  ;CHECK IS PICTURE OF literal-1 THRU literal-2 **

  ;CHECK IS RANGE OF literal-1 THRU literal-2 **





5.2 (cont) I-D-S/II SCHEMA DDL   I-D-S/II SCHEMA DMCL

   (RECORD)     (RECORD)



RECORD NAME IS group-name-1  RECORD NAME IS group-name-1

WITHIN-area-name-1        RANGE IS integer-1 to integer-2

           IN area-name-1

  ;LOCATION MODE IS DIRECT REF-CODE

  ;LOCATION MODE IS DIRECT REF-CODE



  ;LOCATION MODE IS INDEXED      KEY NAME IS key-item-name-1

           USING KEY-item-name-1

    ;KEY NAME IS KEY-item-name-1     KEY_ID IS integer-1

     ASCENDING item-name-1

    DUPLICATES ARE NOT ALLOWED

  ;LOCATION MODE IS CALC USING

     item-name-3 (, item-name-4) ...

 DUPLICATES (NOT) ALLOWED

  ;LOCATION MODE IS VIA set-name-2 SET

  ;LOCATION MODE IS VIA set-name-2 SET





  ;PRIVACY FIND, GET IS lock-name-7

  ;PRIVACY INSERT, REMOVE, STORE,

 DELETE, MODIFY IS lock-name-8



  ;KEY NAME IS KEY-item-name-5 KEY NAME IS key-item-name-1

 ASCENDING item-name-5      KEY_ID IS integer-1





 DUPLICATES ARE (NOT) ALLOWED



  ;TYPE IS BINARY 35

  ;TYPE IS FLOAT BINARY 35

  ;TYPE IS FLOAT BINARY 71

  ;TYPE IS DECIMAL integer-1 SIGNED



  ;TYPE IS CHARACTER integer-2

  ;TYPE IS CHARACTER integer-3

  ;TYPE IS DECIMAL integer-4 SIGNED

  ;TYPE IS DECIMAL integer-5 SIGNED

    (See DDL Note about OCCURS below)

  ;PRIVACY LOCK FOR GET IS lock-name-9

  ;PRIVACY LOCK FOR MODIFY IS lock-name-10







5.3  EDMS SCHEMA DDL

      (SET)



SET NAME IS set-name-1

  ;OWNER IS group-name-1

  ;OWNER IS AREA area-name-1

  ;ORDER IS SORTED



    (Duplicates defined as MEMBER subclause)

  ;ORDER IS SORTED WITH GROUP-NO AS MAJOR/MINOR



    (Duplicates defined as MEMBER subclause)

  ;ORDER IS FIRST

  ;ORDER IS LAST

  ;ORDER IS NEXT

  ;ORDER IS PRIOR

  ;LINKED TO PRIOR

  ;STATISTICS ARE (NOT) REQUIRED **



MEMBER IS group-name-1

  ;INCLUSION IS AUTOMATIC

  ;INCLUSION IS OPTIONAL AUTOMATIC

  ;INCLUSION IS MANUAL

  ;LINKED TO OWNER

  ;SET OCCURRENCE SELECTION IS THRU

 CURRENT OF SET

 LOCATION MODE OF OWNER

      (DIRECT location mode)

      (CALC location mode)

     (ALIAS FOR item-name-1 IS item-name-2) ...

(If the location mode of the owner is VIA and

  the VIA set is also location mode of owner, then

        LOCATION MODE OF OWNER

          that is CURRENT)

          that is DIRECT)

          that is CALC)

          that is CALC with ALIAS)



  ;ASCENDING KEY IS item-name-3 ...

  ;ASCENDING RANGE KEY IS item-name-4 ...

  ;DESCENDING KEY IS item-name-5 ...

  ;DESCENDING RANGE KEY IS item-name-6

 DUPLICATES ARE FIRST

 DUPLICATES ARE LAST

 DUPLICATES ARE NOT ALLOWED

5.3 (cont) I-D-S/II SCHEMA DDL   I-D-S/II SCHEMA DMCL

   (SETS)     (SETS)



SET NAME IS set-name-1    (NONE)

  ;OWNER IS record-name



  ;ORDER IS PERMANENT INSERTION IS SORTED

      BY DEFINED KEYS

      DUPLICATES ARE LAST/NOT ALLOWED

  ;ORDER IS PERMANENT INSERTION IS SORTED

    WITHIN RECORD-NAME

 DUPLICATES ARE LAST/NOT ALLOWED

  ;ORDER IS PERMANENT INSERTION IS FIRST

  ;ORDER IS PERMANENT INSERTION IS LAST

  ;ORDER IS PERMANENT INSERTION IS NEXT

  ;ORDER IS PERMANENT INSERTION IS PRIOR

  ;SET IS PRIOR PROCESSABLE  (required)





MEMBER IS record-name-1

 INSERTION IS AUTOMATIC RETENTION IS MANDATORY

    INSERTION IS AUTOMATIC RETENTION IS OPTIONAL

 INSERTION IS MANUAL RETENTION IS OPTIONAL

LINKED TO OWNER

  ;SET SELECTION IS THRU set-name-1

    OWNER IDENTIFIED BY APPLICATION



    OWNER IDENTIFIED BY DATA_BASE_KEY

    OWNER IDENTIFIED BY CALC_KEY

      EQUAL TO identifier-1 (, identifier-2) ...



  ;SET SELECTION IS THRU set-name-2

    OWNER IDENTIFIED BY APPLICATION

    OWNER IDENTIFIED BY DATA_BASE_KEY

    OWNER IDENTIFIED BY CALC_KEY

      EQUAL TO identifier-3 (, identifier-4)...

    MEMBER SELECTION THEN THRU set-name-3

      WHERE OWNER IDENTIFIED BY data-base-identifier

  ;KEY IS ASCENDING data-base-identifier-3 ...



  ;KEY IS DESCENDING data-base-identifier-5 ...



DUPLICATES ARE FIRST

DUPLICATES ARE LAST

DUPLICATES ARE NOT ALLOWED





6.0  CONVERSION CONSIDERATIONS.



General EDMS Schema Conversion Considerations



1.  The EDMS schema is converted into  I-D-S/II  schema  DDL

and  DMCL  without referencing the original DDL.  Therefore,

the conversion  program  is  not  dependent  upon  EDMS  DDL

statement syntax, statement order, or optional wording.



2.    EDMS   privacy-locks   are   equivalent   to  I-D-S/II

lock-values.  There is no EDMS lock-name analog and I-D-S/II

lock-values are not assigned in the schema definition.   The

conversion  program  generates a lock-name of PWn:R for each

password and retrieve key pair.  A lock-value is assigned to

the lock and a statement is included in the  lock  file  for

input  with  the  use  of  the ASSIGN LOCKS directive in the

DBACS.  Likewise, for each password and update key  pair,  a

lock-name  of  PWn:U is generated and a statment is added to

the locks file for use with the ASSIGN  LOCKS  directive  in

the  DBACS.   A  typical  locks  file  statement will be SET

lock-name-1 = lock-value-1.



3.  Hyphens used in EDMS DDL names will be  translated  into

underscores.   I-D-S/II  COBOL  subschema  names are written

with hyphens and do  not  require  alias  statements  to  be

considered  synonymous  with schema names which use hyphens.



4.  STATISTICS are not implemented in I-D-S/II at either the

record or the set level.



5.  STORAGE SET on LOCATION MODE IS DIRECT  or  VIA  is  not

present in I-D-S/II.



6.   The integers used in I-D-S/II RANGE statements are half

of the value used in EDMS.  Range boundaries are arranged to

avoid overlaps due to EDMS range boundaries on odd  numbers.



7.   The level-number for data items is arbitrarily assigned

by the conversion program.



8.  OWNER IS AREA is not  present  in  I-D-S/II.   A  DIRECT

location mode record is created to serve as set owner.



9.  PRIOR and OWNER pointers are required in I-D-S/II.



10.   INDEXED  areas must contain only records with LOCATION

MODE IS INDEXED.



11.  INDEXED records may not participate in  sets.   INDEXED

location  mode  records that participate in sets are changed

to CALC records.



12.  INDEXED areas must not contain  inverted  groups  since

secondary  keys are not yet available in CP-6 INDEXED files.





13.  The primary key of INDEXED records must consist of  one

item within the record.  Multiple item keys used in EDMS are

shortened by the translator to the first item only.



14.   OCCURS  is  a  clause  not supported in I-D-S/II.  The

solution implemented in the  EDMS  schema  converter  is  to

translate an OCCURS item into many individually named items.

The  names  of  the  new  items  will  be  generated  by the

translator by appending Z0,...,Zn to the end of the original

EDMS item name.  Then in the I-D-S/II subschema,  the  items

may be grouped under the original name with an appended Z as

02  and  with  the  newly  generated names as 03.  The COBOL

application program may move  the  items  to  another  group

which is defined with the OCCURS clause.



15.   ORGANIZATION  IS  INDEXED statement is generated if an

area has one record type  and  only  with  INDEXED  location

mode.



16.   KEY_ID  integers  are  assigned sequentially from 1 to

1000 by the EDMS schema converter.



17.   EDMS  CHECK  statements  are  ignored  by  the  schema



18.   EDMS  signed  and  unsigned  numeric  data  types were

characters in EDMS and will  be  signed  packed  decimal  in

I-D-S/II.   The  I-D-S/II subschema can change the data type

of numeric items back to character  for  use  in  the  COBOL

program.



19.  SORTED sets WITHIN RECORD_NAME are not sorted by record

type  as  a major key but are sorted without regard to other

record types in the set.





6.1  Other Considerations



The following text describing converter input and output  is

taken from a sample run of the converter.



The  schema  translator  uses  an EDMS schema file as input.

From this an analagous I-D-S/II schema is produced which may

be input to the DBACS.



Three output files are always generated, DDLOUT, SUBSCHEMOUT

and DMCLOUT.  DDLOUT is the DDL, and DMCLOUT  is  the  DMCL.

The   third  file  generated  is  SUBSCHEMOUT.   This  is  a

subschema that encompasses the entire  schema.   It  may  be

edited  to produce any desired subset.  If privacy locks are

contained in the schema, a third file is generated, LOCKOUT.

This file contains lock function  statements  which  may  be

input  to  the  lock function in order to apply the locks to

the generated lock names.



The translator printout includes a listing of all  generated

files.  Line numbers (EDIT keys) are included.  Comments are

preceded by ****, they are not included in the output files.



The translator changes all hyphens (-) used in user names to

underscores (_).  It prefixes all user names starting with a

numeric  char with (Z) and prefixes all user names which are

the listing.



The  error  messages have severity level from 0-9 and are of

the form  (X-Y-Z)  where:   X=DATA  base  structure  impact,

Y=SUBSCHEMA impact and Z=APPLICATION program impact.







Note:   In  addition  to the reserved words above many other

words are reserved by the COBOL language and thus may be  in

conflict  with  EMDS  schemal  names when using COBOL 74 and

I-D-S/II.  See the COBOL Reference  Manual  for  a  list  of

these words.



7.0  I-D-S/II DMCL Considerations



1.   The  number  of  data  base keys is kept the same as in

EDMS.  The number of pages is halved  since  the  pages  are

twice as long.



2.  The CALC interval will be the twice that used in EDMS to

create  one  CALC  headers on each page.  The number of CALC

headers will be one per page which is half the  number  that

was  used in EDMS.  Two CALC headers per page cause the line

offset table at the end of the page to be  half  built  upon

initialization.



3.   Statements  concerning  OVERFLOW  and LOAD LIMIT do not

apply to I-D-S/II.

