SysWorks©

SysWorks
Application Development Guide


Previous Contents Index

9.18 Pascal

Requirements for Pascal are summarized in Table 9-25.

Table 9-25 Pascal Requirements
File Type Feature Sematics
.PAS   Pascal source.
  filename Must start with application code. Should reside in the CMS library.
  module Must be the same as the filename.
  environment Should be the same file name as the source, but in the library directory and with a file type of .PEN. The .PEN file type is assumed by default.
  inherit Should be in the library directory and with a file type of .PEN. The .PEN file type is assumed by default.
.LIS, .OBJ   Generated in the library directory by the COMPILE command or the BUILD DESCRIP phase.
applOBJ.OLB   Created in the library directory to store the resultant object module.
.MMS_INC   Generated in the library directory by the BUILD RULES phase.

9.19 Runoff

Requirements for Runoff are summarized in Table 9-26.

Table 9-26 Runoff Requirements
File Type Feature Sematics
.RNH   Runoff help source.
.RNM   Runoff manual source.
.MMS_INC   Generated in the library directory by the BUILD RULES phase.

9.20 TDMS

9.20.1 Forms

Requirements for TDMS forms are summarized in Table 9-27.

Table 9-27 TDMS Forms Requirements
File Type Feature Sematics
.FRM_TDMS   CDD backup of TDMS form used as a source.
.MMS_INC   Generated in the library directory by the BUILD RULES phase.

9.20.2 Requests

Requirements for TDMS requests are summarized in Table 9-28.

Table 9-28 TDMS Request Requirements
File Type Feature Sematics
.RDF   TDMS Request source.
  form is ..., forms are ... Names must also exist as .FRM_TDMS sources and must either start with appl_FORMS. or start with appl and finish with _FRM.
  record is ..., records are ... Used to indicate a dependency on a CDD element. If the object is a record, its name must either start with appl_RECORDS. or start with appl and finish with _REC. If the object is a field, its name must either start with appl_FIELDS. or not finish with _REC.
.TAG_CDD   Used to manage dependencies required by the above statements.
.MMS_INC   Generated in the library directory by the BUILD RULES phase.

The logical name appl_TDMS_REPLACE indicates whether to execute the .RDF source or use an appropriate RDU command. By default, this is assumed to have a value of false.

9.20.3 Request Libraries

Requirements for TDMS request libraries are summarized in Table 9-29.

Table 9-29 TDMS Request Library Requirements
File Type Feature Sematics
.LDF   TDMS request library source.
  request is ..., requests are ... Used to indicate a dependency on a TDMS request definition. Its name must either start with appl_REQUESTS. or start with appl and finish with _REQ.
.TAG_CDD   Used to manage dependencies required by the above statements.
.RLB   Generated in the software directory by the COMPILE command or the BUILD DESCRIP phase.
.MMS_INC   Generated in the library directory by the BUILD RULES phase.

The logical name appl_TDMS_REPLACE indicates whether to execute the .LDF source or use an appropriate RDU command. By default, this is assumed to have a value of false.


Chapter 10
Naming Conventions

This chapter describes the suggested application object naming conventions. Note that while some language specific issues are discussed, further information is available in Chapter 9, Language Specifics.

applMSG

The application message shareable image. Relevant file types include .EXE and .OPT. A logical name should be defined for this file.

applRDBSHR

The application database shareable image. This additional shareable image is used when an application has a substantial number of common routines and calling images which don't need the database. These would be put into the application shareable image. The routines which need to use the database would be placed in the application database shareable image. Relevant file types include .EXE and .OPT. A logical name should be defined for this file.

applSHR

The application shareable image. Relevant file types include .EXE and .OPT. A logical name should be defined for this file.

applSHRPRV

The application protected shareable image. Relevant file types include .EXE and .OPT. A logical name must be defined for this file.

appl_envr_APL

The ACMS application definition for the whole application in the specified environment. This object is a dictionary based object. Relevant file types include .ADF. A .TAG_CDD file is placed in the library directory after this source is successfully loaded into the dictionary.

appl_DATABASE

An SQL script used to create a database. Relevant file types include .SQL and .SQL_CPY .

appl_DOMAINS

The set of database domains. Relevant file types include .SQL .

appl_FIELDS

The set of CDD/Plus dictionary fields. There are basically three types of fields that should be defined in the common set, these being database domains, database columns, and common record fields. Fields specific to single record should be placed in the source for the record (i.e. an appl_object-code_REC). This object is effectivly a set of dictionary objects. Relevant file types include .CDO , .CDO_GEN and .TAG_CDD .

appl_GRP

The ACMS task group definition for the whole application. This object is a dictionary based object. Relevant file types include .GDF.

appl_MESSAGES

The messages for the application. This source is separately compiled into two objects, appl_MESSAGES.OBJ and appl_MESSAGES.SYM. The first object, appl_MESSAGES.OBJ, is compiled with message text, but without the symbol values. It is then linked into the applMSG.EXE shareable image. The second object, appl_MESSAGES.SYM, is compiled with the symbol values, without text, and with a pointer to the applMSG.EXE shareable image. It is then placed into the applOBJ object library, from where it is linked into the various executable images, such as appl_PROC_SRV.EXE.

appl_MNU

The root menu for the application which should consist of entries for the top menu of each user class. Users would then be given access to the appropriate user class menu directly below the appl_MNU menu. Some super users may be given direct access to the root menu.

appl_PROC_SRV

An ACMS server used to perform read only transactions. Relevant file types include .EXE, .OBJ and .OPT. The object module is produced by ACMS when the appl_GRP task group is built. The options file is used to link the server image. Note that both the appl_GRP task group definition and the linker options file must list the procedures to be contained in the image.

appl[_type]_object-code_CC

An SQL module procedure to close the associated appl[_type]_object-code_CSR cursor. Note that this procedure must be called after the appl[_type]_object-type_FC procedure returns the SQL_END_OF_CURSOR status.

appl_table_CKn

An SQL script used to create a database table check constraint. Relevant file types include .SQL and .SQL_CPY .

Since there can be more than one check constraint on a table, a numeric suffix is used.

appl_object-code_COM

A report or other batch DCL command procedure. Relevant file types include .COM , .COM_CPY and .COM_SRC .

appl[_type]_object-code_CSR

An SQL module cursor. There should be an associated appl[_type]_object-code_OC procedure to open the cursor, a appl[_type]_object-code_FC procedure to fetch the rows from the cursor, and a appl[_type]_object-code_CC procedure (which must be called) to close the cursor.

appl_table_DIDX

An SQL script used to create a database direct (i.e. hashed) index. Relevant file types include .SQL and .SQL_CPY .

Although a database doesn't distinguish between different index uses, this naming convention is suggested to clarify the index usage for developers and database administrators.

If the direct index is not used for clustering, it is based around the primary key, and is normally stored in a mixed storage area with the data of the associated table.

If it is involved in clustering, it is based around the first segment of the primary key and is normsally stored in a mixed storage area with the data of the associated and parent tables.

appl_domain_DOM

An SQL script used to create a database domain. Relevant file types include .SQL and .SQL_CPY .

appl_file-or-table_DOM

A Datatrieve script used to define a domain on a file or database table.

appl[_type]_object-code_DR

An SQL module procedure to delete rows from the table indicated by the object-code. The type variants are used when there are differing delete options for the table. When only a single row based on the primary key should be deleted there should only be one appl_object-code_DR procedure.

appl[_type]_object-code_FC

An SQL module procedure to fetch a row form the the associated appl[_type]_object-code_CSR cursor. This procedure will evantually return the SQL_END_OF_CURSOR status, whereupon the appl[_type]_object-code_CC procedure must be called.

appl_table_FKn

An SQL script used to create a database foreign key. Since there can be more than one foreign key for a table, a numeric suffix is used. There should be a foreign key definition for each relationship between tables.

Note that the use of foreign keys to reference data is encouraged, but using them largely prevents the ability to delete reference rows. This is because the table which uses the reference data would not normally have an index on the columns used to access the reference table, and hence the using table would be sequentially scanned to ensure that it didn't use the reference data which is to be deleted.

appl_object_code_FNC

The function name used within appl_object-code_KEY and appl_object-code_RSP DECforms include texts.

appl_routine_FNC

An SQL script used to create a function definition. Relevant file types include .SQL and .SQL_CPY .

The function appl_routine is normally an entry point on the applSHR sharable image.

appl[_type]_object-code_FRM

A form used to manipulate an object-code. Note that for most forms, there will be a corresponding ACMS task. Some common forms such as the appl_WORKING_FRM are shared among some or all tasks. Table 10-1 provides a list of form and task object types.

Table 10-1 Form and Task Types
Type Usage
APPLY Apply an operation or deferred update to the set of object-codes.
FIND Select an object-code from the set of object-code's. Use paging where required to select from a large number of object-codes.
MNT Maintain an object-code. Where appropriate icons would be used to select one of a predetermined set of values for fields, and calls to FIND tasks would be used to select values for validated fields.
RCV Receive object-code data from an external source. Typically, this will submit a batch job.
RPT Generate a report about object-codes. Typically this will submit a batch job.
SND Send a set of object-codes to some external system.

Typically a form manipulates information about the object-code on panel (appl_object-code_PNL. If the user presses the list function key (i.e. Gold L) on a key field, panel appl_object-code_PG_PNL is used to display the set of object-code's a page at a time. In most cases this paging will need to return to the task to get the next or previous page. Scrolled pages within DECforms should only be considered when the total table size is limited by nature (rather than by arbitrary decision) to less than 2Kb. Relevant file types include .FORM, .IFDL and .OBJ. appl[_type]_object-code_GRP A temporary ACMS task group used to assist in debugging the appl[_type]_object-code_TSK task. This object is a dictionary based object. Relevant file types include .GDF and .TDB.

appl[_type]_object-code_IR

An SQL module procedure to insert a row into the table indicated by the object-code. The type variants are used when there are differing partial insertions for the table. When only full insertion (i.e. no columns missing and no NULLs resulting) is required, there should only be one appl_object-code_IR procedure.

Table 10-2, SQL Module Procedure Suffices for Inserting a List of Byte Varying lists the suggested names for the SQL module procedures where a table has a list of byte varying column.

Table 10-2 SQL Module Procedure Suffices for Inserting a List of Byte Varying
Suffix Usage
_IR_OC Open the insert table cursor.
_IR_IC Insert the table row into the table cursor.
_IR_IC_OC Open the insert list cursor.
_IR_IC_IC Insert a segment into the list cursor.
_IR_IC_CC Close the insert list cursor.
_IR_CC Close the insert table cursor.

appl_object-code_KEY

A copy text for defining a function in a DECforms IFDL module. For each appl_object-code_KEY copy text there should be a corresponding appl_object-code_RSP copy text. This object is a text library based object. Relevant file types include .TXT.

Examples include:

appl_object-code[_type]_LST

A DECforms record list. The list would would normally correspond to a panel of the name appl_object-code_PNL. The exception is when a separate send and receive record list are used with a tranceive external response.

Examples include:

appl[_type]_object-code_OC

An SQL module procedure to open the associated appl[_type]_object-code_CSR cursor. appl_object-code[_type]_PNL A DECforms panel. The panel may appear directly in a form definition or be included form the copy library. Relevant file types include .TXT (when used via a copy library).

appl_table_PIDX

An SQL script used to create a database primary index. Relevant file types include .SQL and .SQL_CPY .

Also, an SQL module used to access a table via its primary index. Relevant file types include .OBJ and .SQLMOD . Typically this module would include procedures of the form appl[_type]_object-code_OC, appl[_type]_object-code_FC and appl[_type]_object-code_CC.

Although a database doesn't distinguish between primary and secondary or alternate indices, this naming convention is suggested to clarify the index usage for developers and database administrators. The primary index is based around the primary key. It would be used by application code to perform simple selections and by the database to validate the primary key.


Previous Next Contents Index