DEVELOPMENT STANDARDS
T3 Technical Guide
PTF 53.5
This publication could include technical inaccuracies or typographical errors. Information in this
document is subject to change without notice and does not represent a commitment on the part
of Coca-Cola Computer Service G.m.b.H. No part of this manual may be reproduced or
transmitted in any form or by any means, electronic, mechanical, or otherwise, including
photocopying and recording, for any purpose other than the user's personal use without the prior
written permission of Coca-Cola Computer Service G.m.b.H.
These materials are furnished upon the condition that the user assumes all risks and liabilities
arising out of the use, or reliance upon this documentation.
Neither The Coca-Cola Company nor Coca-Cola Computer Service G.m.b.H. warrants suitability
or favorable results, NOR SHALL THEY BE LIABLE OR RESPONSIBLE FOR ANY LOSS,
CLAIM, OR DAMAGE, DIRECT OR CONSEQUENTIAL, ARISING OUT OF THE USE, POSSESSION, OR RELIANCE UPON THE INFORMATION CONTAINED IN THIS PUBLICATION.
This document may contain examples of data used in daily business correspondence and
operations. In these examples, we use names of hypothetical businesses and persons. These
names are fictitious, and any similarity to names of actual businesses or persons is purely
coincidental.
If you have any comments about this document, complete the Documentation Feedback form
at the back of this manual and return it to Coca-Cola Computer Services.
THIS PROGRAM AND ACCOMPANYING DOCUMENTATION IS PROPRIETARY TO THE
COCA-COLA COMPANY. IT IS A VALUABLE TRADE SECRET AND IS TO BE KEPT
CONFIDENTIAL AND NOT TO BE USED WITHOUT THE PRIOR WRITTEN CONSENT OF
THE OWNER.
COPYRIGHT 1993, 1994, 1995, 1996, 2001, 2007. AN UNPUBLISHED WORK BY THE COCACOLA COMPANY. ALL RIGHTS RESERVED.
Contents
1 DOCUMENTATION STANDARDS
1.1
1.2
1.3
2 DESIGN STANDARDS
2.1
ii
2.2
2.3
2.4
2.5
2.6
2.7
2.8
3 COBOLPROGRAMMING STANDARDS
3.1
Objectives 3-3
3.2
Overview 3-5
General Remarks 3-5
Notation 3-5
3.3
3.4
3.5
3.6
3.7
iii
3.8
3.9
4 LIBRARYSTANDARDS
iv
4.1
Introduction 4-3
Guidelines 4-3
Coordination and Scope 4-3
Modification Level 4-4
4.2
4.3
CL Standards 4-15
CL Complexes 4-15
CL Program Procedures 4-21
CL Messages 4-23
CL-Standard Procedures 4-23
Defining of Printer Files in Procedures 4-35
4.4
4.5
Miscellaneous 4-53
Prompt Display 4-53
5.2
6.2
Planning 6-11
Preparation of Long Range Plan 6-8
Application Development Check List 6-9
7 INTERNAL STANDARDS
7.1
vi
Documentation Structure
Documentation
Standards
1.1
1.2
1.3
1-1
DOCUMENTATION STANDARDS
1-2
Documentation Structure
1.1
Documentation Structure
1.1.1
Overview
1) "User" Manuals
a) Intended for the general user:
B2 Business & System Approaches
B3 Terms & Codes
B4 Operating Guide
aa
Developtment Standards
iSeries Devlopment Standards
Call Modules
Technical Guides: aaT = Order Entry Technical Guide, Dispatching
Technical Guide, and so on. These manuals describe technical information
such as how to set up the application.
1-3
DOCUMENTATION STANDARDS
Note:
Data Distribution
XC
Shareware Tools
XD
XF
XI
XJ
XL
Control Lists (selection list, grouping list, print list, sort list, and so on)
XM
XO
Run Options
XP
Patching
XQ
Driver
XR
Restart
XS
Security
XT
Installation Utilities
XU
1-4
Cross Application
Documentation Structure
1.1.2
User system manuals include manuals which group user information related to the
BASIS System as a whole. B1, B2, B3, B4 are intended for the general user; B5, B6,
and B7, are intended for the DP Manager.
1-5
DOCUMENTATION STANDARDS
FIELDNAME
N/5(1)
DATA STORED IN:
- - field no.
- - field no.
- - field no.
(2)
ALLOWED VALUES:
(3)
CODE LEVEL:
(4)
DESCRIPTION
= Field definition
N = numeric,
A = alphanumeric. If not specified differently in (3) the valid characters
in N fields are 0 to 9, in A fields any printable characters.
= Only specified if not all values are allowed according to the field
characteristics, for example, field is N/1 but allowed are only 0 and 1.
1-6
Documentation Structure
1.1.3
aa - Application Manuals
A standard table of contents is present in all aa and Xs manuals:
Description
Short description what it is and what it does (extended version of the
'Highlights').
1.2
Background Information
Basic information and required background knowledge with references to
sections of B2, B3, or other application manuals.
1.3
1-7
DOCUMENTATION STANDARDS
Data Flow
Functional flowchart, showing connections to other applications, and so on.
1.5
Application Files
Major files, created or mainly used in this application. Fields and how they are
used.
1.6
Integration
Integration of the application in the BASIS package. Data sources like files,
fields (for example, from Master files) and transactions and how they are
used.
1.7
Calculation Rules
Formulars, description of complex calculation proceedings (Only if
applicable).
1.8
aa/2 INSTALLATION
Contains all necessary documentation for implementation and condition settings.
2.1
Technical Implementation
1-8
Documentation Structure
2.2
2.3
2.4
Preparation of Output
Reports
Generic programs
per Generic Program the following information has to be given:
- the name of the generic program (aaP7nn)
- a short description (for example, 'VISIT PLAN')
- the number of the complex in which the generic program runs
- the number of the object(s) used (aaOBnn)
- the data components the object(s) consist of (for example, OM01,
OM08). Details of the fields in the data components are in the B/6
manual
- Control Lists used (for example, PL05, OL03, SL08) and to which
objects they are assigned
- the maximum size allocated in the generic program for the internal
format
- the processing logic if necessary, for example, that only outlets are
processed which have an OM08 record
- overflow handling in case of multiple print lists used in a generic
program
- run options associated
- subtotal calculation by the program
- the contents of system field $$COMPLOC which are loaded by the
generic program
1-9
DOCUMENTATION STANDARDS
- the meaning of system and object conditions set by the generic program
in case the description in the external format of the control list is not
sufficient.
- a sample printout (only if print list used)
- the external format of the Control Lists used as provided by the
development group. Print Lists have to agree with the sample printouts.
Files (User interface files)
Diskettes
Run Options
3.2
3.3
Menues by Item
Description by complex.
3.4
Run Book
The run book describes in detail all activities to be executed at the workstation.
It defines, per activity, and in chronological order, the steps to be performed.
Each step is supported by practical examples of reports and screens. The
steps are furnished by a consecutive number allowing the user to skip or
repeat certain steps. For each screen only those explanations are given
which are related to the current activity. In case an activity is very similar to
another already explained step, there is no need to duplicate the whole
description.
3.5
1 - 10
Documentation Structure
3.6
Screens
Hardcopy of a practical example with
Explanation of output fields
Input fields with their checks
Used error messages from control file
(Description if mandatory or optional)
Command key directory
3.7
Reports
Standard print list examples of all reports produced by this application. For
reports produced by 'Print Lists' the standard version is described. Free
space for user versions of reports should be available. All reports are
examples, reflecting real business situations. For error reports, the used error
messages from control file are listed.
3.8
Miscellaneous References
Definition of specific fields and transactions (for example, control totals, and
so on).
4.2
4.3
1.1.4
Technical Manuals
Technical manuals describe how the applications (aa) and system functions (Xs)
work internally. They are intended for use by the development and support groups,
1 - 11
DOCUMENTATION STANDARDS
not for the user or the DP Manager. However they can be made available to these
people in certain circumstances.
T3 - Development Standards
T3 covers documentation standards, design standards, programming standards,
control language standards, and so on It is a "cookbook" for the designers and
programmers, covering topics such as patching, restart, and so on (that is, how to
program these functions; how they work is described in the TXs manuals)
1 - 12
Documentation Structure
1 - 13
DOCUMENTATION STANDARDS
2) Screen layouts can be defined by the user by means of control lists (display list).
No special layout is provided. A sample screen will be shown in aa/2.4.
Taa/6
REPORT LAYOUTS
A standard preprinted form is used for report layouts. Entries are, however, done
manually.
1) Report layouts can be defined by the development group. Each layout consists
of one page and uses the report layout form and conventions described in
chapter 2.4.
2) Reports can also be defined by the user by means of control lists (print list). No
special layout is provided. A sample report will be shown in aa/2.5.
Taa/7
LOGIC MANUALS
The logic manuals are also part of the T-manuals. They are kept in manuscript form
only. The lead programmer/program analyst is responsible for updating the logic
manuals whenever a modification in the program concerned is made.
1.1.5
These are not published and are kept in manuscript form. They are intended
exclusively for development staff. All logic manuals of an application are part of the
T-manual Taa/7. All logic manuals of the system utilities are in one binder, LXs;
within the binder L-manuals ascend by program name and consist of 4 sections:
1) General
This section is written by the lead programmer and gives general information about
modification level (for internal control), files used (organization, access mode,
records used), standard modules used, switches and LDA used, key arrays, CMDkeys used (screen programs only) formats used (screen programs only) patching
requirements (literal records used).
1 - 14
Documentation Structure
2) Hierarchy
This section is drawn by the programmer in cooperation with the lead programmer
(or deputy); typically it consists of 3 or 4 levels and fits onto 1 page. Refer to 1.3.4
for symbols used.
3) Key modules
A narrative description of the key modules is given by the lead programmer (or
deputy) and will be more detailed in the analysis stage; a reduced version is kept
for actual documentation.
1.1.6
1 - 15
DOCUMENTATION STANDARDS
1 - 16
Documentation Structure
1.2
1.2.1
Page Numbering
1.2.2
Table of Contents
Each section appears with its title in the Table of Contents of the manual. Subsections are not listed in the table of contents. It is identified as section 0, which
also includes the List of Pages of the manual. (See 1.2.5, Checking for
Completeness...)
1.2.3
Paragraphs
1 - 17
DOCUMENTATION STANDARDS
1) ...
a) ...
or by a heading (that is, a name) without a number. These non-numbered headings
should not be used for sections which are longer than 2 or 3 pages; otherwise it
would be too difficult to find the desired paragraph.
1.2.4
Standard Referencing
1.2.5
1.2.6
Word Processing
1 - 18
Documentation Structure
DOCUMENTATION
Documentation Structure
Overview
1 - 19
DOCUMENTATION STANDARDS
org.:
32
rec. length:
39
key length:
45
file and record name: 55 (approximately)
Text begins in
Field number:
Field name:
Type:
Position:
Length:
Description:
Quarto (U.S. size) paper is used exclusively. Pages are distributed with three holes
to fit standard American binders. BASIS binders, labelled for the appropriate
manuals are distributed when necessary with the documentation.
1.2.7
Standard Forms
1 - 20
1.3
Documentation Techniques
1.3.1
Data flow diagrams show how data flows from process to process. They show
where data comes from and where it goes, either to a data store (computer or
manual file) or an interface (user department, another application...)
Data flow diagrams are mainly used in aa 1, Description (and if required in Taa 1,
Technical Description) to show how data flows between and within applications.
1 - 21
DOCUMENTATION STANDARDS
Symbols Used:
1) PROCESS
Process
Name
Computer Process
Process
Name
Clerical Process
2) FILES
File
name
or
or
File
name
or
File
Name
= Manual File
Computer File
Diskette File
or
Screen File
Report, Document
3) DATA FLOW
Data Flow
Data transport (for example diskette)
Data transmission
Name
4) INTERFACES
1 - 22
or
or
Name or Name
Name
Documentation Structure
5) OTHER
TEXT
- - - - Commentary
Example:
From:
ID
or to:
ID
From:
ID
or to:
ID
3
3
2
Page 1
Page 2
Controls
Data Controls (compare totals...) can also be shown on a data flow diagram. Symbol
used:
Example:
Control Chart
Date
Process x
Total
Cash
Total
Credit
..
Process y
Use
Data-flow diagrams are mainly in aa/2 (Functions) and aa/3 (Activities).
1 - 23
DOCUMENTATION STANDARDS
Cashier
Load/Unload
Load/Unload
Data
Salesman
Sales Slips
Cash Data
Sales Data
Control Sheet
Group
per
Route
Data Entry
OM
AM
OE
+
IN
RS
1 - 24
Documentation Structure
1.3.2
Control flow diagrams or flowcharts show how control flows from program to program (within a
procedure). For each program in a procedure they show files (I, O, U), screens and reports.
Use: Control flow diagrams or flowcharts are used in section Taa/3 of the Technical Manual.
Note that in BASIS, because of structured programming, structograms are used in the Laa Manuals
instead of program flowcharts.
Files, processing and input/output devices are shown on diagrams from left to right.
FILES
INPUT/OUTPUT
PROCESS
DEVICES
TEXT ON EXTERNAL
VARIABLES AND
DECISIONS
The text on external variables and decisions identifies the external variable and what information is
received or passed. For a decision, it identifies what is tested and what action is taken.
If the action is in the program, the text is shown in line with the program.
Outlet Master
OM01
OMP600
LIST
End
1 - 25
DOCUMENTATION STANDARDS
Program
Name or
Function
Program
or
Program Step
RSC015
Standard Module
or
Subroutine
RSP200
Condition
Test
NO
List
Tag
Parameter 3
- List Requested
YES
File
RSP205
File
Name(s)
Options
Screen
File
Name
Report
LDA - Writes
last outlet
RSP210
File
Name
Control Flow
From or To
RSS220
COPY
Off-Page Connector
From or To
END
On-Page Connector
FILES
Text
PROCESS
I/O DEVICES
TEXT
1 - 26
Documentation
Techniques
Documentation
Structure
1.3.3
Decision Tables
Decision tables show the static relationship between conditions and actions. They are sometimes
useful for investigating and documenting complex static relationships.
Table Format
Rules
1
CONDITIONS
Driver type
Note 1
Volume Total
Note 2
ACTIONS
Calculate
Commission
with rates =
Pay Overtime
Note 3
NOTE 1
D = DRIVER
A = ASSISTANT
NOTE 2
A = 0-200 CASES
B = 201-250 CASES
C = 251-300 CASES
D = OVER 300 CASES
NOTE 3
COMMISSION = VOLUME X RATE SHOWN BY 100 (RATES ARE SHOWN IN
PERCENTAGE)
1 - 27
DOCUMENTATION STANDARDS
1.3.4
Hierarchy Charts
1 - 28
Documentation
Techniques
Documentation
Structure
Mainline
UNTIL CMD 7
1
Init
3
Read-WS
4
Write
Trans. File
Processing
Terminate
OFF
UPSI 0
ON
XMIO02
Read from
Job Control File
11
Load
Patch
Data
(Outl. No.)
(Roll)
(Initial Read)
(Else)
XM1O03
31
Y1
Load
Array
32
Prepare
1st Screen
Write Jobe
Control File
33
Prepare
prompt
outl.No.
ON
Error
OFF
UPSI 0
Y1
321
Load
Array
322
1 - 29
DOCUMENTATION STANDARDS
Documentation Techniques
Yc . . .
Znn . . .
Each module performs its own function and may delegate functions to lower
level modules. This delegation may be conditioned by one of the 3 symbols:
Repetitive execution of the lower level module(s) while or
until a condition is true; the condition test is done in the
higher level module.
(For example, 2/3/4 are performed by MAINLINE UNTIL
CMD Key 7 has been pressed).
Case structure, that is, only one of the lower level
1 - 30
Documentation Structure
1.3.5
MOVE A TO B
Datacheck
SYNTAX CHECKING
1 - 31
Documentation Techniques
DOCUMENTATION STANDARDS
2) IF-THEN-ELSE
AMOUNT
POSITIVE
N
Two-way branching based on
an IF-statement
Add Amount
to
Debit Total
Subtract Amount
from
Credit Total
LINE COUNTER =
PAGE SIZE
N
One-way branching. The box
under N (ELSE path) remains
empty.
Write Heading/
Advance Page
3) CASE
A
RECORD CODE
B
Address
Edit Name
& Address
for Printing
1 - 32
C
ELSE
Art.
Total
Accumulate
Article
Quantities
Calculate
Tax and
Prepare
Total Line
Display
Error
Message
Documentation Structure
4) DOWHILE
Index
100
Iteration body
5) DOUNTIL
Stays empty
Read WS
I1
CMD-7
Process
Process Workstation
Read
I2
I3
SEVERE ERROR
Write Trans.
1 - 33
Documentation Techniques
DOCUMENTATION STANDARDS
6) DECISION TABLES
If a route consists of a heavy load of IF's and ELSE's, it may be desirable to group the
decisions and actions into a table and put the table into a box, for example,
ACTIONS
CONDITIONS
CASE
CASH CUSTOMER
TAX EXEMPT
EXTEND ARTICLES
COMPUTE PROMOTION
COMPUTE TAX
X
X
Y = Condition TRUE
N = Condition FALSE
- = Condition may be true or fals
X = To be executed
b = Not to be executed
EACH COLUMN REPRESENTS A SEPARATE CASE, FOR EXAMPLE, CASE 4 READS: -
IF CASH CUSTOMER AND NOT ELIGIBLE FOR PROMORTIONS AND NOT TAX EXEMPT,
PERFORM EXTENDED ARTICLES AND THEN COMPUTE TAX
TAX
(Calculate tax, tax rate
from tax table using tax
class and art. tax code as
indices.)
1 - 34
Documentation Structure
1.3.6
Documentation Hints
Good documentation is a difficult job. Each author has his own style. It should be as
short as possible, but it must contain all important facts to assist implementation,
questions arising at remote sites, and so on.
There are some important guidelines which will help to achieve our efforts to
maintain a high standard of documentation and, at the same time, support our
development procedures.
Similar manual presentation
For the user each manual should have the same structure, it should have the same
style, it should help him find information quickly.
Reduction of documentation
A major criticism of BASIS I was the volume of documentation to study. Information
should be documented in one place and not repeated. Avoid repetition of B2-3. Avoid
documenting information that is 'padding', that is, it really brings the reader no new
information and could be omitted. It is no criticism that a section is small or even not
used, it will help keep the attention of the reader.
Standard structure reference manuals
Standard sections are to be used for structuring reference manuals. See 1.1.3 and
1.1.4. In addition, make your own check list of topics that require explanation and
group them together in a logical reading sequence. This will help you avoid
duplication and omission.
When standard sections are not applicable, they will appear in the Table of Contents
with their section numbersbut with the title missing and N/A. These sections do not
appear in the text itself.
The names of standard sections can be modified or extended if this helps to make
them more meaningful.
Style
Use simple language. English is not the mother tongue of many of our users.
1 - 35
Documentation Techniques
DOCUMENTATION STANDARDS
1 - 36
CL Techniques
CL Technique Number One
Text
CL Technique Number Two
Text
Documentation Structure
When the writer finds that the sub-section is becoming too lengthy and should
appear in the Table of Contents, he should consider changing all the sub-sections
to sections.
Example:
4.6.
4.6
4.6.1
(4.6.2
1.3.7
Documentation Conventions
Files
Abbreviations
Application,
System Function
Manuals
If doubt exists, the rule is to avoid capitals as far as possible, for example, it is not
necessary to use capitals for codes, for example, sales term 5, and so on.
1 - 37
Documentation Techniques
DOCUMENTATION STANDARDS
1. DOCUMENTATION STANDARDS
Press ENTER key
Standard American spelling, vocabulary and style will be used throughout the
Documentation, the only exception being the internal date format (Year/
Month/Day) used in the headings and in sample reports and sample screens.
1 - 38
Screen Standards
Design
Standards
2.1
2.2
2.3
2.4
2-1
DESIGN STANDARDS
2-2
2.4
2.5
2.6
2.7
2.8
Screen
Standards
Naming
Conventions
2.1
Naming Conventions
The naming conventions apply to applications (aa), system functions (Xs) and
cross application menus and complexes (XX). Fixed conventions appear in
capitals, for example, aaMnnn. Variable conventions appear in small letters and are
underlined if an explanation follows in the text, for example, aaMnnn. Not included
are code structures which are explained under the subject concerned, normally in
the B3 manual.
2.1.1
Library Members
Meaning
aa or Xs menus are described in the application or system
manual. Cross application menus with aa=XX are described
in B4 Operating Guide.
aaM000
aaM001-499
aaM500-999
XXM000
XXM001-499
XXM500-999
2-3
DESIGN STANDARDS
ZZM000
ZZM0uu
Menu Items
aaMnnn-01 to 24
2) Complexes
Name
aaCnnn
Meaning
S/34 OCL procedures or S/38 CL programs, except XU
complexes (utilities) and single program procedures
0nn
1nn
2nn
.
.
.
7nn
8nn
9nn
main complexes
level 1 complexes (or called from Onn complexes)
level 2 complexes (or called from 1nn complexes)
XUccccxx
XU complexes (utilities)
cccc
mnemonic name
xx
bb
= main complex
00-99 = sub complexes
2-4
Naming
Screen
Conventions
Standards
Meaning
program source and load member, CL
procedure containing // LOAD, // FILE,
// RUN (single program procedure)
001
0nn
header program
stand alone auxiliary or inquiry program (in
gaps of 5 or 10)
group 1 of programs (in gaps of 10)
group 2 of programs (in gaps of 10)
1nn
2nn
.
.
7nn
8nn
9nn
generic programs
conversion/Linkages programs (e.g. BASIS I-II)
local programs
Sorts
Name
aaSnnn
Meaning
CL-sort procedure, nnn assigned in line with program name
aaPnnn, for example, OMS14O is executed between
programs OMP130 and OMP150.
Meaning
Format Member for screen programs, with aa nnn
corresponding to screen programs
Format
Name
Meaning
FMTnn or
2-5
DESIGN STANDARDS
FMTHLPnn
FMTnn
= data format name
FMTHLPnn = HELP format name
nn = 01 Standard heading (line 1)
02-31 Free
32 Error Format (line 22-24)
33-99 Free
NOTE
FOR NAMING CONVENTIONS OF FORMATS USED IN // PROMPT
SEE 4.5.1.
5) Modules
Name
XMccnnd
Meaning
cc = classification for example
FR =
IO =
TP =
FP =
ER =
program frames
input/output modules
table processing
field processing
error handling
2-6
Naming
Screen
Conventions
Standards
2.1.2
Files
Name
Meaning
aann
nn
1) Ranges:
The more permanent and important the file, the lower the number.
The major files therefore come first (within each application) in the
B6 manual.
01-19
20-39
40-59
60-79
80-99
Work files (Scratch files, for example, sort work files, print files, ...)
Data components created and used by generic programs
2-7
DESIGN STANDARDS
2) File Group
c.aann
c
a file group can be prefixed for separate files per company (A, B,
C, and so on) or for test files (T).
NOTE
FILE GROUPS ARE NO LONGER SUPPORTED BY BASIS SO ALL
VALUES SHOULD BE SET TO BLANK
3) Suffix
aannc
c
4) Fieldnames
Fieldnames are defined by the analyst according to the following rules:
Length of name:
Naming
Conventions
Screen
Standards
2.1.3
1) Screen Number
Name
aaSnn
Meaning
Each main screen in its normal sequence within an application is
identified by a screen number (gaps of 5 to allow new screens to
be inserted).
Used in aa/3, Activities (Workstation User Guide)
2) Reports
Name
aaPnnnc
Meaning
As printed on a report, corresponding to the name of program that
prints the report.
c...
Suffix, if one program produces more than one report
(c = A, B, C, ...).
2.1.4
Name
aaQnnn
Query Members
Meaning
aa ...... application
Q ...... fixed
nnn ...... 001 - 499 Development query members
500 - 999 User query members no other structure
2-9
DESIGN STANDARDS
2 - 10
Program
Screen
Error Standards
Messages
2.2
2.2.1
Overview
Program Error Messages are stored in the message part of the SCF. They are
divided into:
common Error Messages (available for all Applications) documented in
chapter 2.2.8 and identified by an application code XX
application Error Messages.
They can be translated into local language with XP Patching. Each error is
identified by an error code Eaant and up to 9 message lines can be stored by error
code. Error code + line number is used as XI01 subkey:
E
aa
nnn
fixed
aa
nnn
error type
E = Error
W = Warning
2 - 11
DESIGN STANDARDS
NOTE
ORIGINALLY ONLY 4 MESSAGE LINES WERE SUPPORTED. WITH
THE NEW SCREEN STANDARDS THE NUMBER OF MESSAGE LINES
PER ERROR CODE HAS BEEN INCREASED TO 9. ALL OLD
APPLICATIONS STILL USE THE OLD DISPLAY TECHNIQUE OF
MESSAGE LINE 1 IN SCREEN LINE 24 AND MESSAGE LINES 2-4 IN
SCREEN LINES 22-24 WHEN F2 IS PRESSED.
2.2.2
Error Attribute
b
Meaning
Reject (and ignore) transaction (all fields)
W-Warning
2 - 12
Program
Error Standards
Messages
Screen
2.2.3
In screen programs that make validity checks and therefore display error messages
the following procedure is used:
One screen may contain one or more input fields to be checked and one or
more error messages may be displayed.
If at least one error is detected the screen is redisplayed with entered data in
the input fields and erroneous field(s) appear in reverse image
2 - 13
DESIGN STANDARDS
2 - 14
Program
Error Standards
Messages
Screen
2.2.4
In print programs that make validity checks and therefore display error messages
the following procedure is used:
Either all transactions (all = with or without error) are listed or only erroneous
transaction. They are printed left aligned on the report.
Error messages are printed immediately following the erroneous transaction,
right aligned. Usually no space line is left between the transaction and the
first error message but a space line is used between transactions.
One or more error messages may be printed per transaction. They should be
in sequence of input fields from left to right.
The message text should use the same terms and field names as printed in
column headings.
The error message attribute is handled similarly to the screen program
procedure.
"C"
"b"
"N"
2.2.5
2 - 15
DESIGN STANDARDS
2.2.6
PIC
PIC
PIC
PIC
PIC
PIC
X(11)
X(11)
X(11)
X(11)
X(11)
X(11)
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
'EOM001E
'EOM002E
'EOM003E
'EOM020E
'EOM021E
'EOM031E
'.
'.
'.
'.
'.
'.
01 TER-TABLE
REDEFINES TER-CODES.
30 TER-ELEMENT OCCURS 06
INDEXED BY TER.
32 TER-CODE
1)
PIC X(7).
32 TER-FLAG
2)
PIC X.
32 TER-ATTR.
3)
34 TER-ATTR1
PIC X.
34 TER-ATTR2
PIC X.
32 TER-ADDINFO
4)
PIC X.
2 - 16
Program
Error Standards
Messages
Screen
1 = TER-CODE
2 = TER-FLAG
(set by program)
3 = TER-ATTR1
(loaded by XMER03
from XI01)
TER-ATTR2
4 = TER-ADDINFO
2 - 17
DESIGN STANDARDS
2 - 18
Program
Error Standards
Messages
Screen
2.2.7
2 - 19
DESIGN STANDARDS
2) Program Requirements
a) TER-Table
The TER-Table must be defined as shown below:
01 TER-CODES.
05 TER-CODE01
05 TER-CODE02
05 TER-CODE03
05 TER-CODE04
05 TER-CODE05
05 TER-CODE06
PIC
PIC
PIC
PIC
PIC
PIC
X(20)
X(20)
X(20)
X(20)
X(20)
X(20)
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
'EOM001E
'EOM002E
'EOM003E
'EOM020E
'EOM021E
'EOM031E
'.
'.
'.
'.
'.
'.
1)
01 TER-TABLE
REDEFINES TER-CODES.
30 TER-ELEMENT OCCURS 06
INDEXED BY TER.
32 TER-CODE
PIC X(7).
32 TER-FLAG
PIC X.
32 TER-ATTR.
34 TER-ATTR1
PIC X.
34 TER-ATTR2
PIC X.
32 TER-ADDINFO
PIC X(10).
3)
2)
TO TER-FLAG (6)
TO TER-ADDINFO(6).
2 - 20
Screen
Program
Error Standards
Messages
2.2.8
EXX
BASIS XIP080 12
31.10.88 15:32
BA B5
TEST COMPANY --CCCS-S Y S T E M C O N T R O L F I L E - ERROR MESSAGES
APPLICATION: XX
MESSAGE CODE
EXX000
EXX000
EXX001
EXX001
EXX003
EXX004
EXX005
EXX006
EXX006
EXX006
EXX008
EXX009
EXX009
EXX009
EXX010
EXX012
EXX012
EXX013
EXX013
EXX014
EXX014
EXX014
EXX014
EXX015
E1
E2
E1
E2
E1
E1
E1
E1
E2
E3
E1
E1
E2
E3
E1
E1
E2
E1
E2
E1
E2
E3
E4
E1
EXX015 E2
EXX015 E3
EXX016 E1
ERROR ATTRIBUTES
NO MESSAGE FOUND
NO FURTHER INFORMATION AVAILABLE
F1/CMD-1 PRESSED BUT NOT REQUIRED
F2/CMD-2 PRESSED BUT NOT REQUIRED
ITEM NO./LINE NO. ENTERED IS NOT ON SCREEN
DATE MISSING OR INVALID
INVALID COMMAND KEY PRESSED
ROUTE NOT DEFINED IN SYSTEM CONTROL FILE.
ENTER CORRECT ROUTE OR ADD ROUTE TO CODE INTERPRETATION PART OF
THE SYSTEM CONTROL FILE (USE MENU XIM001-03)
INVALID OUTLET NUMBER OR CHECK DIGIT ENTERED
OUTLET NOT EXISTING IN OUTLET MASTER FILE.
ENTER CORRECT OUTLET NO. OR CREATE NEW OUTLET BEFORE ENTERING
ANY TRANSACTION (USE MENU OMM000-01)
INVALID STATUS CODE ENTERED
ARTICLE NUMBER(S) NOT ON ARTICLE MASTER FILE
-OR- GENERIC ARTICLE NUMBER ENTERED
INVALID ARTICLE NUMBER ENTERED
INVALID ARTICLE NUMBER ENTERED
ARTICLE QUANTITY NOT NUMERIC OR INVALID FORMAT
NOT NUMERIC -OR- MISSING -OR- OTHER THAN DECIMAL SIGN USED FOR
SUBUNITS SEPARATOR SIGN -OR- SUBUNITS ENTERED FOR AN ARTICLE W/O
SUBUNITS -OR- INVALID MINUS SIGN
PERSONNEL NUMBER MISSING OR NOT EXISTING ON PERSONNEL MASTER
FILE
ENTER CORRECT PERSONNEL NUMBER OR STOP PROCESSING TO
UPDATE PERSONNEL MASTER FILE WITH MISSING PERSONNEL DATA
CALENDAR RECORDS MISSING IN SYSTEM CONTR.FILE FOR MONTY ##########
2 - 21
DESIGN STANDARDS
EXX016
EXX016
EXX016
EXX017
EXX017
EXX017
EXX018
EXX018
EXX019
EXX020
EXX021
EXX022
EXX023
EXX024
EXX025
EXX025
EXX026
EXX027
EXX027
EXX027
EXX028
EXX029
EXX030
EXX031
EXX031
EXX032
EXX034
EXX035
EXX035
EXX035
E2
E3
E4
E1
E2
E3
E1
E2
E1
E1
E1
E1
E1
E1
W1
W2
W1
E1
E2
E3
E1
E1
E1
W1
W2
W1
E1
E1
E2
E3
BASIS XIP080 12
TEST COMPANY --CCCS--
31.10.88 15:32
BA B5
S Y S T E M C O N T R O L F I L E - ERROR MESSAGES
S Y S T E M C O N T R O L F I L E - ERROR MESSAGES
APPLICATION: XX
RELEASE DATE: 01.07.88
APPLICATION: XX
RELEASE DATE: 01.07.88
MESSAGE CODE
MESSAGE TEXT
ERROR ATTRIBUTES
EXX035
EXX037
EXX039
EXX041
EXX042
EXX043
EXX043
E4
E1
E1
E1
E1
E1
E2
EXX043 E3
EXX044 E1
2 - 22
Screen
Program
Error Standards
Messages
EXX045
EXX046
EXX047
EXX048
EXX049
EXX050
EXX051
EXX052
EXX052
EXX052
EXX052
EXX053
EXX053
EXX053
EXX054
EXX055
EXX056
EXX056
EXX057
EXX057
EXX058
EXX058
EXX058
EXX059
EXX059
EXX061
EXX062
EXX063
EXX064
EXX065
EXX065
EXX065
EXX065
EXX066
EXX066
EXX066
EXX066
EXX067
EXX068
EXX068
EXX068
EXX069
EXX070
EXX070
EXX070
EXX070
EXX071
EXX072
E1
E1
E1
E1
E1
E1
E1
E1
E2
E3
E4
E1
E2
E3
E1
E1
E1
E2
E1
E2
E1
E2
E3
E1
E2
E1
W1
E1
E1
E1
E2
E3
E4
E1
E2
E3
E4
E1
E1
E2
E3
E1
E1
E2
E3
E4
E1
E1
2 - 23
DESIGN STANDARDS
BASIS XIP080 12
TEST COMPANY --CCCS--
31.10.88 15:32
BA B5
S Y S T E M C O N T R O L F I L E - ERROR MESSAGES
S Y S T E M C O N T R O L F I L E - ERROR MESSAGES
APPLICATION: XX
RELEASE DATE: 01.07.88
APPLICATION: XX
RELEASE DATE: 01.07.88
MESSAGE CODE
MESSAGE TEXT
ERROR ATTRIBUTES
EXX072
EXX072
EXX072
EXX073
EXX074
EXX075
EXX075
EXX075
EXX076
EXX077
EXX078
EXX079
EXX080
EXX081
EXX081
EXX081
E2
E3
E4
E1
E1
E1
E2
E3
W1
W1
E1
E1
E1
E1
E2
E3
EXX081
EXX082
EXX082
EXX082
EXX082
EXX083
EXX083
E4
E1
E2
E3
E4
E1
E2
EXX083
EXX084
EXX085
EXX085
EXX085
E3
E1
E1
E2
E3
EXX086
EXX086
EXX086
EXX086
EXX087
EXX088
EXX089
EXX090
EXX090
EXX090
EXX090
E1
E2
E3
E4
E1
E1
E1
W1
W2
W3
W4
2 - 24
Program
Error Standards
Messages
Screen
EXX091
EXX091
EXX091
EXX091
EXX092
EXX092
EXX092
EXX092
EXX093
EXX094
EXX095
EXX095
EXX095
EXX095
EXX096
EXX097
EXX098
EXX099
E1
E2
E3
E4
E1
E2
E3
E4
E1
E1
E1
E2
E3
E4
E1
E1
E1
E1
BASIS XIP080 12
TEST COMPANY --CCCS--
31.10.88 15:32
BA B5
S Y S T E M C O N T R O L F I L E - ERROR MESSAGES
S Y S T E M C O N T R O L F I L E - ERROR MESSAGES
APPLICATION: XX
RELEASE DATE: 01.07.88
APPLICATION: XX
RELEASE DATE: 01.07.88
MESSAGE CODE
MESSAGE TEXT
ERROR ATTRIBUTES
EXX100
EXX101
EXX102
EXX103
EXX104
EXX104
EXX104
EXX105
EXX105
EXX105
EXX106
EXX106
EXX106
EXX107
EXX107
EXX108
EXX108
EXX109
EXX109
EXX110
EXX111
EXX112
E1
E1
E1
E1
E1
E2
E3
E1
E2
E3
E1
E2
E3
E1
E2
E1
E2
E1
E2
E1
E1
E1
2 - 25
DESIGN STANDARDS
EXX112
EXX113
EXX114
EXX115
EXX116
EXX117
EXX118
EXX119
EXX120
EXX120
EXX120
EXX121
EXX122
EXX122
EXX123
EXX124
EXX125
EXX125
EXX126
EXX126
EXX127
EXX127
EXX128
EXX129
EXX130
EXX130
EXX130
EXX130
EXX131
EXX131
EXX131
EXX131
EXX132
EXX133
EXX133
E2
E1
E1
E1
E1
E1
E1
E1
E1
E2
E3
E1
E1
W1
E1
E1
E1
E2
E1
E2
E1
E2
E1
E1
W1
W2
W3
W4
E1
E2
E3
E4
W1
W1
W2
BASIS XIP080 12
TEST COMPANY --CCCS--
31.10.88 15:32
BA B5
S Y S T E M C O N T R O L F I L E - ERROR MESSAGES
S Y S T E M C O N T R O L F I L E - ERROR MESSAGES
APPLICATION: XX
RELEASE DATE: 01.07.88
APPLICATION: XX
RELEASE DATE: 01.07.88
MESSAGE CODE
MESSAGE TEXT
ERROR ATTRIBUTES
EXX133
EXX133
EXX134
EXX135
2 - 26
W3
W4
W1
E1
Screen
Program
Error Standards
Messages
EXX135
EXX135
EXX135
EXX136
EXX137
EXX137
EXX137
EXX138
EXX139
EXX140
EXX141
EXX142
EXX142
EXX143
EXX143
EXX144
EXX145
EXX146
EXX147
EXX147
EXX148
EXX148
EXX149
EXX149
EXX149
EXX150
EXX151
EXX152
EXX153
EXX153
EXX153
EXX153
EXX154
EXX155
EXX156
EXX156
EXX156
EXX157
EXX157
EXX157
EXX157
EXX158
E2
E3
E4
E1
E1
E2
E3
E1
E1
E1
E1
E1
E2
E1
E2
E1
E1
E1
E1
E2
E1
E2
W1
W2
W3
E1
W1
E1
E1
E2
E3
E4
E1
W1
W1
W2
W3
E1
E2
E3
E4
E1
2 - 27
DESIGN STANDARDS
2 - 28
Screen Standards
2.3
Screen Standards
2.3.1
2.3.2
2.3.3
2.3.4
2.3.5
2.3.6
2.3.7
2.3.8
2.3.9
2.3.10
2.3.11
2.3.12
2.3.13
2.3.14
2.3.15
2.3.16
2.3.17
2.3.18
2.3.19
2 - 29
DESIGN STANDARDS
2.3.1
Statement:
All new BASIS applications developed from 1989 onwards follow the standards as
documented in this chapter. Most of the guidelines are taken from IBM's SAA
concept for CUA but also keeping to old BASIS standards in favour of the integrety
of the package. Abbreviations SAA and CUA stand for:
SAA ... System Application Architecture
CUA ... Common User Access
All standards specified in chapter 2.3 are based on the technical capabilities of the
S/36 Screen Format Generator ($SFGR) and follow the SAA/CUA rules for:
Non-programmable terminals
Character applications
Refer to publications:
IBM SC26-4351-0
COCA-COLA
2) Action bar:
2 - 30
Screen Standards
3) Help:
4) Function keys:
7) Message area:
2.3.2
Screen Documentation
2 - 31
DESIGN STANDARDS
common screen, along with a sample of the screen. This prevents having to explain
the screen twice or more within the manual.
Chapter 2 should also contain a section on standard routines if they are used
throughout an application. Standard routines include use of the action bar, on-line
help and the shortcut facility. This section shows significant screens with examples
of the routine.
2) All sections of a guide that contain step-by-step instructions show all the
corresponding screens in the sequence as they appear on a user's workstation.
3) Important areas on menus and screens are highlighted and arrows indicate the
relation between fields and screen caption text.
2.3.3
This chapter describes the layout of a full-size panel with 24 lines x 80 characters.
It is referred to as primary window (SAA term) or as main screen (former BASIS
term).
....:...10....:...20....:...30....:...40....:...50....:...60....:...70....:...80
1| uu X--loc---X BASIS X-------title---------------------------X 00 00 aaPnnn/Snn | 1
2|
N X-action-X N X-action-X N X-action-X N X-action-X N X-action-X
| 2
3|
A
XX/XX/XX | 3
4|
|
| 4
5|
|
| 5
6|
|
| 6
7|
|
| 7
8|
|
| 8
9|
|
| 9
10|
Panel body
in lines 3-22 (if action bar)
|10
11|
or
in lines 2-22 (if no action bar)
|11
12|
|
|12
13|
|
|13
14|
|
|14
15|
|
|15
16|
|
|16
17|
|
|17
18|
|
|18
19|
|
|19
20|
|
|20
21|
|
|21
22| ===> A-----------------V-----command entry line (optional)----------------A
|22
23| X---key1---X X---key2---X X---key3---X X---key4---X X---key5---X X---key6---X |23
24| X---key7---X X---key8---X X---key9---X X---key10--X X---key11--X X---key12--X |24
....:...10....:...20....:...30....:...40....:...50....:...60....:...70....:...80
2 - 32
Screen Standards
....:...10....:...20....:...30....:...40....:...50....:...60....:...70....:...80
23| Eaannnt X-----error message line 1----------------------------------------X
|23
24| X----F1----X X----F2----X X---(F11)--X X---key?--X X----key?--X X---HELP---X
|24
....:...10....:...20....:...30....:...40....:...50....:...60....:...70....:...80
....:...10....:...20....:...30....:...40....:...50....:...60....:...70....:...80
23| Eaannnt X-----error message lines /2\ or /4\ or /6\ or /8\---------------X
|23
24|
X-------------------------\3/
\5/
\7/
\9/---------------X
|24
....:...10....:...20....:...30....:...40....:...50....:...60....:...70....:...80
User-Id
Short name of Sign-on location, from XI01 OXX-LOCNAM
Non-patchable constant (high intensity or white on color
screens)
--title-Application and screen title (= panel title), patchable constant
in capital letters. Examples:
'OUTLET SELECTION RUN OPTIONS'
'O S RUN OPTIONS'
00 00
Modification levels of program and format member
aaPnnn/Snn Program name and screen number, non-patchable (high
intensity or white on color screens)
Line 2 is used as action bar on screens with 2 or more actions supported. Simple
screens with only one implied action do not have an action bar.
N
X--action--X
2 - 33
DESIGN STANDARDS
Lines 2-22
On AS/400 and on S/36 the command entry line must be combined in one
format with the application input format, in most cases. For standards on
commands in 'expert mode' refer to chapter 2.3.11.
Lines 23-24 are used for key descriptions and error messages (FMT99):
X---key?---X
2 - 34
Screen Standards
Eaannnt
Standards for the different screen sections are further explained in the
following chapters.
Frames for the formats FMT01, FMT99, and for the action bar line and command
entry line are available in format source member XMF999 in library SYSMOD.
2. OSP001/S01
2 - 35
DESIGN STANDARDS
Example 1:
00 00 CBP090/S01
02/10/89
Enter settlement date under which you want to process CB deliveries,
based on execution calender:
PERIOD
1---+---10----+---20----+----31
8901
8902
8903
8904
8905
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
|
|
|
|
09.02.89
New
010189
Settlement Date............
BLANK = no settlement
X = days to be
settled
9 = days already
closed
Example 2:
00 00
OSP002/S01
890928
__
__
__
__
__
__
No
001
002
003
004
005
006
Description
FIRST TEST UNDER N6
SLAVES TEST
SECND TEST
OUTLET SELECTION
BFO-VERSION
BFO SECOND VERSION
2 - 36
Owner
Type
SMART
SMART
SMART
SMART
SMART
SMART
Status
Bottom
HELP key for information
Screen Standards
2.3.4
The same sequence of performance steps must be followed in all BASIS screen
programs to start and perform a function from an action bar. The SAA design
principle of Object-action' is followed but the 'Action-object' sequence is also
possible.
STEP 1
STEP 2
User selects an action and object(s), and presses the ENTER key.
An action is selected by keying any character into an input field of the
action bar (using the TAB-key or FIELD EXIT to move the cursor).
Object(s) are selected by keying any character into the
input
field(s) of the overview (using the TAB-key or FIELD EXIT or the NewLine key to move the cursor).
If only an action is selcted but no object an error message appears if
the action requires an object.
If both action and object was selected but no object is required the
selected object is kept as selected (no error message).
If only object(s) were selected but no action the program shows them in
high intensity (selected emphasis) and waits for an action to be selected later (no error message).
STEP 3
STEP 4
User enters input fields in window (if any) and follows instructions.
F3 or F12 are available to exit from the started action and to take the
user back to STEP 1.
2 - 37
DESIGN STANDARDS
STEP 5
STEP 6
When the user has gone through all windows the program performs
the selected action. As a result the original primary window with refreshed data is redisplayed or a new screen is displayed. An information message should be displayed:
a)
b)
2.3.5
Action Bars
Definition:
An Action bar is a group of functions that can be performed from one screen. They
are displayed in line 2 of the screen. The functions within an action bar are referred
to as 'action bar choices' or as 'action bar elements'.
Optional:
Simple screens with only one implied action do not have an action bar. As a rule of
thumb: If you attempt to use a function key (other than standard keys F1/F2/F3/
F11/F12/F23/F24)) to perform a function an action bar is required (for instance do
not use F4 to delete!).
2 - 38
Screen Standards
Layout:
The action bar line contains one to five choices with a one-byte input field in front of
each choice. There should be 5 functions each with 1 byte input and a 12 character
constant field. The 5 x (1+12) character layout is available in member XMF999 in
library SYSMOD.
Non-active choices are shown in reverse image/normal intensity (or on a green
background on color screens), the activated function is shown in reverse image/
high intensity (or on white background on color screens).
Naming of actions:
Each action bar choice is labelled with a verb or noun that best describes the
action or group of actions that it contains (examples: UPDATE, VIEW, DELIVERY,
PAYMENTS).
These words are specified as user defined constants in XI01 option Aaa-SCRFCTnnn (aa=application, nnn=function number) together with its corresponding 'expert
mode' command.
Selecting an action bar element:
An action is selected when any character is keyed into the input field in front of its
action bar choice. At the same time one or more object(s) can be selected from the
overview. Then the ENTER key must be pressed. Only one action is accepted by
the program at the same time. See also T3, 2.3.4.
2 - 39
DESIGN STANDARDS
2 - 40
Screen Standards
GD CCBELGIQUE BASIS
Display
Error Corr.
00 00
CBP100/S10
Calculate
Others
-->
Type any char. left to desired function.
Settlem. date: 01/31
008 <-#loc--> 000
01 SOKODRINK
02 ANVERS
03 LA LOUVIER
04 MAASTRICHT
05 LIEGE
06 GOSSELIERS
07 BRUGGE
08 GANCO GENT
02/15
001
02/28
000
03/15
001
NIL
03/31
000
04/15
001
NIL
04/30
001
NIL
05/15
004
007
NIL
001
NIL
NIL
Bottom
HELP KEY FOR INFORMATION
GD CCBELGIQUE
S10
Display
BASIS
Proc./Reproc.
Error Corr.
02/15
001
02/28
000
NIL
03/15
001
Calculate
HO
0
0
NIL
00 00 CBP100/
1
Others
NIL
Bottom
HELP KEY FOR INFORMATION
2 - 41
DESIGN STANDARDS
2.3.6
Action Codes
Definition:
Action codes are one- or two-character codes which identify an action and which
can be used to directly select object(s) for processing. They are used as alternative
method to selecting an object and an action from the action bar separately.
Example:
EL VIENNA
_ Display
Select action from action bar and select one location, press ENTER.
Or, select one or more location(s) with action codes, press ENTER:
1=Display
2=Process
3=Correct
4=Calculate
_
_
_
_
_
Locations
01 VIENNA
02 SALZBURG
03 INNSBRUCK
04 GRAZ
05 LINZ
etc.
ENTER
01/31
001
005
F3=exit
ROLL up/dwn
HELP
Sel.sign=any
Aaa-SCRFCT options:
Action codes and their associated text are stored on the System Control file XI01
along with the action bar functions. Both, codes and text, can be translated by the
user. If no Aaa-SCRFCT records are found on XI01 (or action code fields are
blank) the program uses its own 'hardcoded' defaults (usually numbers 1-9).
Use:
Action codes can be used in addition to an action bar or without action bar. As a
rule: if a program has an action bar then the actions supported by action codes
must also be present in an action bar.
Action codes can be used on overview screens if multiple objects can be selected
together and/or multiple actions can be selected from one screen.
2 - 42
Screen Standards
For instance, on AS/400 the Program Developement Manager (PDM) uses action
codes to edit/copy/delete/and so on members.
2.3.7
Windows
Definition:
In SAA the term 'window' defines a screen format of any size in which the user and
the computer communicate. There are primary windows (full screen) and
secondary windows (only parts of screen). In this context a window is a secondary
window which occupies only part of the screen and leaves all unused lines/columns
of the primary window unchanged.
Types of windows:
There are 2 types of windows: Working windows (input expected) and Information
windows (no input).
Use:
Working windows:
....:...10....:...20....:...30....:...40
1|** X---title--------------X ** aaWnnn **|1
2|* X----instruction-------------------X *|2
3|*
A
*|3
4|*
|
*|4
5|* <---------- Panel body -----------> *|5
6|*
|
*|6
7|*
V
*|7
8|** X--key---X X--key---X X--key---X ****|8
....:...10....:...20....:...30....:...40
2 - 43
DESIGN STANDARDS
aaWnnn:
--title--:
--instruction--:
Optional patchable text over one or more lines at the top to guide
the user (in addition to title)
window format: Application data in form of input fields, output fields and text
-key descr.-:
frame:
....:...10....:...20....:...30....:...40
1| X----title----------------X X--type--X |1
2|
A
|2
3|
|
|3
4|
|
|4
5| <--------- Information text ---------> |5
6|
|
|6
7|
|
|7
8|
V
|8
9 | X---key descriptions-----------------X |9
....:...10....:...20....:...30....:...40
--title--:
Patchable constant for field name or other title (for Help format) or
blank (for other message)
--type--:
frame:
No frame.
Instead line 1 in reverse image/ high intensity (or white
background on color screens) and the rest in reverse image/
normal intensity (or green background on color screen).
Furthermore line 1 is defined as protected input field. This
prevents from keying data on the original format on S/36.
2 - 44
Screen Standards
--key descriptions--:
************
*
1 *
************ *
*
2 * *
*
* **
*
*
************
************
*
1 *
* ************
* *
2 *
** *
*
*
*
************
************
*
*
** *
*
* *
2 *
* ************
*
1 *
************
************
*
*
*
* **
*
2 * *
************ *
*
1 *
************
2 - 45
DESIGN STANDARDS
Error messages:
Any error messages for invalid input in the current window appear at the bottom of
the main screen (FMT99). Standard error handling with F1/F2/F11 is provided.
2 - 46
Screen Standards
Frame XMF999:
A standard frame for both, working windows and information windows, is available
in member XMF999 in library SYSMOD.
2.3.8
Definition:
The term 'overview screen' is equivalent to the SAA term 'list panel'.
An overview screen lists a variable number of similar items. Typically one line per
item is displayed in a 'body' of, say 12 lines, that can be scrolled and from which
the user can select one or more items.
User defined line layouts (Screen Design Facility):
The SDF (Screen Design Facility) feature should be used to display overview
screens whenever possible. It enables the user to define the fields to be displayed
per line, up to 99 different line layouts. In this way the decision what to show on
overview screens is given to the user. It is possible to alternately view the different
layouts in a session.
The analyst has to decide if an overview is to be handled through the SDF and
corresponding Aaa-SCREEN options must be submitted together with the program.
An action bar choice 'Select Layout' must be included in the application screen
program which calls up modules to select user defined 'layouts' (layout number 0199) and prepare output data per line. For more details see chapter 2.3.9 User
defined screens and windows.
Instructions:
A user guide instruction line is always placed on top (or any other convenient
place) of the overview body. It may extend over 2 or more lines, if necessary.
Example:
'Select one outlet, press ENTER. If outlet is not on screen, use ROLL keys.'
Refer to chapter 2.3.13 for more information on Instructions.
2 - 47
DESIGN STANDARDS
If the first screen is shown initially than 'more......' is displayed and n o t '--Top--'!
If ROLL-DOWN is pressed from the first screen or if ROLL-UP is pressed from the
last screen an informational message is displayed in line 24 and the screen
remains unchanged. Two common constants are available for the informational
message:
'** The Top has already been reached. ROLL-DOWN is not possible.'
'** The Botttom has already been reached. ROLL-UP is not possible.'
If no data is present on the files to be displayed on an overview an empty screen or
a screen with a patchable text 'No data present' is displayed.
Select object(s) from the overview for processing:
Usually the items (=objects) displayed in the panel body are selected for further
processing. The analyst/programmer can use two methods:
select object(s) from the overview and an action from the action bar
use action codes to directly select object(s) from the overview
The two methods are described in more detail in T3 chapters 2.3.5 and 2.3.6.
2 - 48
Screen Standards
2.3.9
Entry Screens
Definition:
The term 'entry screen' combines both SAA-terms 'entry panel' and 'menu panel'.
Entry screens contain a number of input fields to enter options, low-volume data or
high volume data.
Field prompts:
Description to the left, input filed in the middle, and permitted values, if applicable,
to the right. For example:
Document type................. __ 1=settl.header 2=helper 5=outload
6=inload 8=deliv.document
Article group..................... __ 01-99 or ?=Prompt
Artno
_____
_____
_____
Quantity
___________
___________
___________
Artno Quantity
Artno Quantity
_____ ___________ _____ ___________
_____ ___________ _____ ___________
and so on
Instructions:
An instruction line is always placed on top of the panel body (line 2 or 4) or at the
bottom (line 21-22). The text may extend over 2 or more lines, if necessary.
Example:
'Key changes to print options, press ENTER. If no change, just press ENTER.'
Refer to chapter 2.3.13 for more information on Instructions.
2 - 49
DESIGN STANDARDS
2.3.10
Definition:
The BASIS II Screen Design Facility allows the user to define:
line layout of overview screens(up to 63 fields horizontally)
block layout of consecutive lines
(up to 04 lines with 2 fields each)
windows
(up to 63 fields vertically)
XI01 options Aaa-SCREEN and Oaa-SCREEN:
Options Aaa-SCREEN store the file and field definitions for the line, block and
window layouts. Screen numbers are BASIS defined, layout numbers are user
defined. Fields are defined with field numbers from the BASIS data dictionary. The
following symbols are used: aa=application, nn=main screen number 01-99,
B/L=fixed letters known to the program, ll=layout number 01-99, Fn=field definitions
F1-F9 for 9 possible records each 7 fields.
Aaa- SCREEN-nn
- SCREEN-nnL
- SCREEN-nnLll
- SCREEN-nnLllFn
- SCREEN-nnB
- SCREEN-nnBll
- SCREEN-nnBllFn
- SCREEN-nnn
- SCREEN-nnnll
- SCREEN-nnnllFn
2 - 50
Screen Standards
The following sequence of fields within line is recommended from left to right: input
field for selection, key field (usually ascending), other fields.
Block layout:
The block definition ('nnB') allows to define 02-08 fields to appear in 1-4
consecutive lines in 2 columns:
X---fld1-----X
X---fld2-----X
X---fld3-----X
X---fld4-----X
X---fld5-----X
X---fld6-----X
X---fld7-----X
X---fld8-----X
2 - 51
DESIGN STANDARDS
Window layout:
The window definition ('nnn') allows to define 1-63 fields to appear in the window
vertically:
hhhhh =
**x---title (optional)-------x**aaWnnn***
*
*
* hhhhh x------fld1-------------------x *
* hhhhh x------fld2-------------------x *
*
|
|
*
*
|
|
*
*
|
|
*
*
V
V
*
* hhhhh x------fldn-------------------X *
*
*
* Function key descriptions............ *
*****************************************
The window width and length is not fixed. It can vary from a width of 10 to 40 bytes
and a length of 5 to 20 lines. Module XMFP20 supplies an area of 63 x 40 bytes (or
smaller) field elements. The application screen program moves as many field
elements into the window format as possible at a time. With ROLL the application
screen program must be able to page thru all 63 field definitions.
NOTE
THE SDF CANNOT BE USED TO DEFINE INPUT OR SELECTION
FIELDS. IF NEEDED, THEY HAVE TO BE DEFINED SEPARATELY IN
THE FORMAT.
2 - 52
Screen Standards
These definitions are made by the analyst and cannot be changed by the user. It is
possible to have both supported on a main screen, or only a block part, or only a
line part or none of both.
Connection main screen aaSnn and window(s):
On the main screen header Aaa-SCREEN-nn up to three window numbers can be
connected to a main screen aaSnn. These are windows which can be 'opened'
on that main screen via action bar or via a function key. The same window number
can be connected to multiple screens. These window connections are made by the
analyst and cannot be changed by the user.
For uniform presentation to the user the same window name must be used:
for the action bar/F-key description (Aaa-SCRFCT or patchable constant)
for the selection of layouts (title on window header Aaa-SCREEN-nnn)
in the window itself, if a title is displayed
XIP050 Screen Design Facility program (SDF):
There is one XI program which can design any layout for any application. This
program is called from the XIM030 menu item number 01. It asks for the application
and screen number and offers layouts already available. Existing layouts can be
modified and new layouts can be created interactively similar to the IBM QUERY
product.
The options for screen header and Block/Line/Window header must exist on XI01
(created by the analyst of an application). The layout header and field definition
options are created/maintained by the user with program XIP050.
This SDF program also displays data dictionary to select files and fields, it checks
that only files which are defined in the corresponding screen header are selected, it
displays draft layouts and allows rearranging fields within a line, block or window.
Headings for a line layout are taken from data dictionary field names, left aligned
for alpha fields or right aligned for numeric fields.
XIP055 program to select layouts via action bar 'Selct Layout':
If an application screen program uses the SDF feature to display user
defined lines, blocks and windows it must have an action bar element for 'Selct
Layout'. If this function is selected from the action bar the application screen
program is terminated (temporarily) and the XIP055 program is called.
2 - 53
DESIGN STANDARDS
This program:
displays a pull-down window with layout numbers allowed for this user (from
Oaa-SCREEN option)
lets the user select a layout number for the Line part, for the Block part and
1-3 windows connected to the currenltly displayed main screen aaSnn
returns to the calling application screen program with selected layout
numbers in the LDA
LDA layout used between application screen program aaPnnn <--> XIP055:
Pos.
(returned unchanged)
(returned unchanged)
New selected layout number 'll'
New selected layout number 'll'
New selcted layout number(s)
(if 'll' applicable)
(returned unchanged)
(returned unchanged)
2 - 54
Screen Standards
2.3.11
Function Keys
Definition:
Function keys are all programmable keys of the S/3X keyboard. These are: F1-F24
keys (former command keys CMD1-24), ROLL keys, ENTER key, HELP key.
NOTE
ON PCS THERE ARE A LOT MORE KEYS THAT CAN BE
PROGRAMMED SUCH AS CTRL+ANY LETTER/DIGIT OR ALT+ANY
LETTER/DIGIT WHICH ARE NOT SUPPORTED IN THE S/3X SCREEN
FORMAT GENERATOR!
2 - 55
DESIGN STANDARDS
CCnn
key=..text..
CC62
CC63
CC64
CC65
CC66
CC67
CC68
ENTER
ROLL up/down
ROLL up
ROLL down
F1=nxt.error
F2=add.info
F3=exit
CC69
CC70
CC71
CC72
CC73
CC74
Meaning
2 - 56
Screen Standards
' or 'ROLL
2.3.12
Definition:
Commands are mnemonic abbreviations of the functions described in action bars.
Instead of selecting an action bar function from line 2, an advanced user (=expert)
can also key in the mnemonic command to start an action. Additional parameters
can be entered together with the command to replace entry or selection from
windows.
Commands, subcommands and parameters:
The BASIS Expert mode supports entry of commands in 3 levels:
Command
2 - 57
DESIGN STANDARDS
Entry format:
Commands and parameters separated by the slash '/' can be entered in the
following format:
------------------------------------------------------------------------===> ccc/sss/p1/p2/..../pn
------------------------------------------------------------------------ccc = 1-3 character command (mandatory)
sss = 1-3 character subcommand (optional)
p1 = parameter 1, any BASIS code such as outlet number (optional)
p2 = parameter 2, if applicable (optional)
:
:
:
:
pn = nth parameter, if applicable (optional)
Examples from AR:
===> D
===> D/AC
===> D/AC/10256
2 - 58
Screen Standards
2 - 59
DESIGN STANDARDS
Error messages:
If an invalid command was entered, error message EXX... is displayed in FMT99. If
an invalid parameter was entered (for example a non-existing outlet number) an
application message Eaannn is displayed in FMT99 and the corresponding pulldown window in which the correct value can be entered.
Standard modules to handle command entry in 'Expert mode':
XMFR modules are available in library SYSMOD, which should be used by the
programmer of the application screen program:
2.3.13
- Print totals 0 = no
1 = yes
- Print totals 0 = no
1 = physical units
2 = converted un.
- JOBQ/EVOKE processing:
blank = interactive
E = EVOKE
J = Job queue
Letters should not be used as option values unless they can be translated by the
user into local languages.
2 - 60
Screen Standards
2 - 61
DESIGN STANDARDS
It is preferred to have a more precise application message naming the field in the
text explicitly.
Prompt permitted code interpretation values for an input field:
If an input field requires one to enter an 'anonymous' code such as market
segment', the selection sign from OXX-SELECT, pos.27 can be keyed into pos.1 of
that input field. The default sign is a '?'.
The program shows a window listing all code values and names from the XI01
code interpretation part. From this window the user may select one code by typing
the '*' selection sign in the window. On return to the main screen the program
inserts the selected code value into the input field.
2 - 62
Screen Standards
2.3.14
Input Fields
After
Alphanumeric
Stays left adjusted
Padded with blanks
A A A
A A A b b b
Numeric
Right adjusted
Leading Zones
1 2 3
0 0 0 1 2 3
1 2 3
b b 1 2 3
Codes
b b 1 2 3 -
(Field Exit -)
or
Calculator Mode
Right adjusted
Leading blanks
1 2
. 3 -
- 1 2
. 3
b 1 2
b
. 3 -
- 1 2
. 3
NOTES
1) ALL FIELDS EXCEPT SIGNED NUMERIC USE "FIELD EXIT".
2) SIGNED NUMERIC (SSS-) IS THE ONLY FIELD TYPE WHICH USES
"THE 'FIELD-' KEY". WHEN USED, IT SHOULD BE INDICATED AS
SUCH IN NOTES IN AA/3. NORMAL FORMAT FOR NUMERIC
FIELDS IS CALCULATOR MODE.
2 - 63
DESIGN STANDARDS
NOTES, CONTINUED
3) IN SELECTION LIST, THE FREE FIELDS REMAIN LEFT ADJUSTED
(LIKE CHARACTER FIELDS).
4) IN CALCULATION MODE A "T" SUFFIX MEANS THOUSAND, A "M"
SUFFIX MEANS MILLION, FOR EXAMPLE, 2.75M = 2,750,000 "T"
AND "M" ARE TRANSLATABLE.
2.3.15
Instructions
Use:
BASIS uses the 'step-by-step approach' as recommended by IBM's SAA standard.
Every step must be documented to the user in a way that he always knows what he
has to do.
Wording:
The text should: Name the fields that have to be entered, selected or just say
how many options are to be entered if they can not be named
individually
Say which button has to be pressed
Standard terms: Use the verb 'key' (for codes or options) or 'type' (for text) and
not 'enter'
Use the verb 'Press' for keys, not 'hit' or 'enter'
Use 'you' and the active voice, not the passive voice
Lower-case script should be used, not upper-case.
Examples:
'Key outlet number and invoice number. Press ENTER.'
'Key selection sign to select 1-12 outlets. Press ENTER.'
'Key changes to print options, press ENTER. If no changes just press ENTER.'
'Type reason for unproductive visit. Press ENTER.'
Placement on the primary window (= main screen):
The instructions should be placed either at the top of the panel body (line 3-5) or at
the bottom (line 20-22). More than one line can be used if required. However the
placement at the top or at the body should be consistent within a job (never mix top
and bottom placement!). The analyst should always provide more space than the
English text to enable proper translation into local language.
2 - 64
Screen Standards
Placement in a window:
The instruction line(s) should also be placed at the top of a window. Refer to
chapter 2.3.6 for more information on Windows.
Layout:
The text is aligned to the left of the format and appears as a 'narrative' sentence in
lower case script and in normal intensity (or green on color screens).
2.3.16
Error messages:
Error messages for invalid input or data are presented at the bottom of the screen,
lines 23-24 (FMT99). One to nine lines of message texts are stored on XI01 per
error code. Message line 1 is displayed in screen line 23, and message lines 2-9
are displayed in screen lines 23-24 when F2 is pressed, two at a time. Refer to
chapter 2.2 for more information on Program error messages.
F1 next error message:
F1 is a BASIS standard function key to roll through error messages if more than
one error occurred on a window at a time. F1 diplays the message line 1 of the next
erroneous field in screen line 23 and leaves the function key descriptions in screen
line 24 unchanged. Wrap around is done automatically when F1 is pressed from
the last error.
F2 additional information on current error:
F2 is also a BASIS standard function key to roll through the message lines 2-9 of
one specific error. Every time F2 is pressed 2 more message lines are displayed in
line 23-24, as many as are available for an error code. If at the end it automatically
wraps around to show message line 1 again.
F11 accept warning error:
F11 is the third BASIS standard key for error handling. It is used to accept warning
errors and let the program continue with the default action as described in the error
message. F11 is only allowed if a warning error is displayed and no terminal error is
present. For more information refer to T3,2.2.
2 - 65
DESIGN STANDARDS
Informational messages:
Informational messages are messages that inform the user. They usually do not
require a response by the user and disappear when the function is complete.
Examples:
what the program is doing if the action takes longer, for example, 'Article
groups are being loaded'
that an action has been successfully completed, for example, 'Payment has
been applied in B/F mode to number of invoices.. 25'
Information window:
Temporary messages that inform the user about a longer action are displayed in
windows. The window appears as soon as the action is started (for example,
'Article groups are being loaded') and disappears when finished. Refer to chapter
2.3.6 for more information on Windows.
Messages in line 23:
Messages that should not overlap the main screen can be displayed in line 23 such
as '***Payment has been applied. Select next account.'
Such messages are patchable constants. They are headed by 3 asterisks '***' and
are displayed in high intensity (or white on color screens). They disappear as soon
as ENTER or another function key has been pressed.
2.3.17
Help Support
HELP key:
BASIS programs utilze the HELP key, whereas IBM's SAA manual proposes either
the F1-key or selecting HELP from an action bar with selection possibilities (Help
index, extended Help, Keys Help, and so on).
The HELP key on the S/36 is system supported and needs no programming in
application programs! It is always bound to the cursor position.
2 - 66
Screen Standards
Use:
Help is supported:
a) On menues:
to explain what each item does
b) On Prompt screens: every input field
a general description (first page)
function key explanations (last page)
c) On Program screens: every input field
a general description (first page)
function key explanations (last page)
optionally also for important output fields
Help windows:
Help texts are presented in informational windows. Refer to 2.3.6 for more
information on Windows.
Shape of Help windows:
The size of Help windows should be kept small. It is preferred to rather spread text
for one input field over several pages (in this case ROLL UP and DOWN keys must
be described at the window bottom accordingly!).
Placement of Help windows on the primary window (=main screen):
A help window should be placed adjacent to the field it describes. For general help
text any place that does not hide valuable information on the main screen is
possible.
Placement of Help windows for working windows:
The help window should be placed so that it overlaps the working window without
covering the input (or other) fields that it explains.
Examples:
*************
*
Working*
*
*
*
*
*******_____________
|
Help |
|
|
|____________|
_______________
|
Help
|
|
|
|_____________|******
*
Working*
*
*
*
*
**************
2 - 67
DESIGN STANDARDS
2 - 68
Screen Standards
2.3.18
Patchable Constants
FMTHxxnn
for help formats, old standard still supported, not used in new
applications (with xx = any alphabetic combination AA-ZZ and
nn = 01-99, unique within format member also incl. FMTnn!)
FMTnnnn
3)
2 - 69
DESIGN STANDARDS
4)
The first format wihin a format member must always be standard format
FMT01. This format is available as a source member in library SYSMOD
(XMF999). Standard format FMT99 is also available in member XMF999,
library SYSMOD. In addition format definitions for action bar and windows are
also included.
5)
6)
7)
8)
9)
Constant data is not selected for patching if an entry (Y/N) is found in position
43-44 (NONDISPLAY) of a field description record.
2.3.19
1)
Performance Considerations
Both AS/400 and S/36 support precompiled screen formats (SFGR on S/36 and
DDS on AS/400). COBOL on both machines includes special WRITE operations
which actually imply two output operations:
2 - 70
Screen Standards
a)
b)
The "override" and "erase input fields" indicators should be used extensively so as
to avoid unnecessary transmission of format specifications:
a)
"Override"
OFF
if a format is written the first time or replaces another format
ON
if a format is redisplayed with new data (for example ROLL)
OFF
if an input format is being written the first time or if the
input field values remain unchanged
ON
if the same input format is cleared (= erased) to
receive the following input.
3)
Every format with output fields should specify this indicator in order to completely
skip the input routine when executing a WRITE operation. This results in a faster
response time.
NOTE
"ENABLING/DISABLING" OF FUNCTION AND COMMAND KEYS NEED
NOT BE SPECIFIED ALONG WITH "SUPPRESS INPUT"
2 - 71
DESIGN STANDARDS
4)
For programs which exeed the program size of 64K it is not possible to keep all
used screen formats in the WSO-definitions of the working storage. Therefore, a
so-called screen memory work file should be used.
The structure of this workfile should be:
Record Length = length of the largest output buffer used in the format members
Key Length
= 8 bytes (use the format name defined in the format member)
Whenever a format is written to the Workstation file, the format is saved to the
screen memory work file. If the formats need to be redisplayed and previously
displayed data has not been changed, only one I-O is needed to read the previous
format from the screen memory workfile and redisplay it.
2 - 72
Report Standards
Screen
2.4
Report Standards
2.4.1
Report Documentation
The term "reports" is applied to all computer printed output. The term "lists" is
reserved for the system function XL lists.
aa, Application Manual
aa/1 Overview
aa/2 Description
aa/3 Activities
2 - 73
DESIGN STANDARDS
2.4.2
Report Sizes
For standard reports, two sizes are proposed. See attached examples:
Full report
Quarto report
The Quarto report corresponds to quarto paper (8.5" wide, 11" high) and can be
copied 1 to 1 on normal copying machines. It is envisaged to use this size for a
wide range of reports where additional copies may be made frequently. It can also
be filed, conveniently, in normal binders as day-to-day correspondence.
2 - 74
8"
7"
6"
5"
4"
3"
2"
1"
1 BASIS aaPnnnc 00
CCnnn YY/MM/DD HH.MM.SS US WS
PAGE XXXX
2 X-------------------------------------------------X
X---------------------------------------------------------X
3
(COMPANY/LOCATION NAME)
(REPORT DISTRIBUTION)
4 X----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X-----X
5
(REPORT HEADING)
6
7
8
9
10
11
Eaannn t X------------------------------------------------------------------------------------------------------------------X
12
(ERROR MESSAGE, if applicable)
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
EXAMPLE FULL REPORT
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
0
1
2
3
4
5
6
7
8
9
10
11
12
13
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012
PRINT LAYOUT
Screen Standards
2 - 75
2 - 76
8"
7"
6"
5"
4"
3"
2"
1"
1 BASIS aaPnnnc 00
CCnnn YY/MM/DD HH.MM.SS US WS
PAGE XXXX
2 X-------------------------------------------------X
X-------------------------------------------------------X
3
(COMPANY/LOCATION NAME)
(REPORT DISTRIBUTION)
4 X----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X
5
(REPORT HEADING)
6
7
8
9
10
11
12 Eaannn t X------------------------------------------------------------------------------------------------------------------X
(ERROR MESSAGE)
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
EXAMPLE QUARTO REPORT
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
0
1
2
3
4
5
6
7
8
9
10
11
12
13
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012
PRINT LAYOUT
DESIGN STANDARDS
Screen
Report Standards
As many as 9 different form lengths may be defined by the user. The appropriate
number of print lines available are defined as installation options in the System
Control File:
For example, 1) Full report (11 inches/66 lines in U.S., 12 inches/72 lines in Germany)
2) Quarto (8 inches/48 lines)
3) Invoices (6 inches/36 lines)
NOTE
MANY REPORTS ARE SPECIFIED BY THE USER BY MEANS OF A
"PRINT" LIST. THE PRINT LIST ALLOWS SPECIFICATION OF THE
NUMBER OF PRINT POSITIONS AND THE NUMBER OF LINES.
2.4.3
Report Layout
Contents
Standard Heading
BASIS
Program Name
Program Modification Level
License Contract no.
Date
Time
User ID
WSID
Page Constant
Page Number
Length
5
6
2
5
8
8
2
2
6
4
2 - 77
DESIGN STANDARDS
Standard Heading
Company Name
Report Distribution
First Header Line
Variable
30
30
132
76
Quarto Report
As above, compressed.
2.4.4
Patchable Constants
XXXX
XX/XX/XX
X,XXX.XX...AMOUNT...
(.. = used to show full length, as in XP Patching)
In case of a long field, a straight line can be used between the first X and last X
symbol.
2 - 78
Disk
File Standards
Screen
Standards
2.5
2.5.1
Application and System Function disk file layouts (aann and Xsnn) are filed
under B6, except the System Control File XIO1 layouts which are filed under B7.
Page identification: Manual
B6
Section
aann-x
Xsnn-aa
Page
Page
x = Record format code
aa = Application Code (if
records for more than
one application exist)
File Name
B7
X-----X
(record key, high order part)
Page
Guidelines for completion of disk file form. (See pages 2 and 3.)
1) File Data
Record Length
Key Length
Organization
File Name
1
XXXX
10
X---------X
2
X
4
3
XXXX XXX field
-------------XX*
table
XXX
2 - 79
DESIGN STANDARDS
Explanation of Columns
FIELD NO.
1)
FIELD NAME
TYPE
LGTH.
XXX
Length of field
XX* = number of elements in table (occurs XX times)
Example 1:
2 - 80
10*
2
valid locations
Screen
Disk
File Standards
Example 2:
G
A
N
21
20*
6
(1)
(3)
2
4
Distribution Option
market subsegment
distribution %
relative start position within
element (optional)
Example 3:
free
2) Field Data
The field definition will be a 1:1 of COBOL Copybook modules XFaann. Only
elementary fields are included. Group items are shown to structure fields and assist
programmer in redefining a record in the Working Storage Section.
3) Standard field sizes
per outlet
ship-to
Q
$
7 (4)
11 (6)
7 (4)
11 (6)
5 (3)
9 (5)*
per year
per month
per day
per group
of outlets
Q
$
9 (5)
13 (7)
9 (5)
13 (7)
7 (4)
11 (6)
NOTE
(X) = PACKED FIELD LENGTH
*... WITH 4 ADDITIONAL DECIMALS: THIS BECOMES 13 (7)
2 - 81
DESIGN STANDARDS
Adjustment rates: 7 (4) = a) for value per case 1 decimal more than prices
b) for % = ooxx,xxx % = oo,xxxxx (fraction) that is, one
decimal more than usual for percentages.
2.5.2
=
=
=
=
=
2) Key (for indexed files) or other "record identification" (for other files). (These
include record code(s) used for identification.) When the records are organized
in continuation sets, the rightmost positions of the key or record identification
are the record number (01,02, ---)
3) For continuation sets: Last record indicator (or 'L').
4) Other status codes and/or record codes, for example, reservation status code
(for record reservation in shared files)
5) Data fields
6) BASIS I linkage information when required (to be dropped later)
7) User data starting from end of record
2 - 82
Screen
Disk
File Standards
2.5.3
Multisegment Records
The first record in a continuation set has 'n' fixed length segments (usually 16
bytes), right adjusted in the record following the record sections 1) through 7)
described in 2.5.2.
KEY
FIXED PORTION
(SIMILAR STRUCTURE AS NORMAL RECORDS)
SEGMENTS
The following records in a continuation set can have a shorter fixed portion (only
sections 1) through 3) are needed) and therefore more segments.
2 - 83
DESIGN STANDARDS
2 - 84
Standards
CL/ProgramScreen
Communication
2.6
CL/Program Communication
2.6.1
The LDA is a 'temporary' work area of 512 bytes (user area) which is used to
1)
pass data between programs and CL, that is, write CL options to the LDA to
be used in a program or vice versa, write program options to the LDA to be
further used in CL.
2)
pass data between programs, that is, write program options to the LDA to be
used in the next program
3)
take a job step checkpoint (CP), that is, save all CL information to the Job
Control File valid at a certain point of processing, a so-called CP
NOTE
THE LDA SHOULD NOT BE USED IN COBOL PROGRAMS WHICH
READ CL PARAMETERS ONLY. IN SUCH CASES, THE ACCEPT
METHOD IS PREFERABLE, AS DESCRIBED IN 2.6.2.
b)
The stand-alone jobs can freely access all LDA positions, 1-512. The XJ controlled
jobs can only use positions 1-100. The remaining positions, 101-256, are reserved
for XJ (Job Control) and XR (Restart). Positions 505-512 are reserved for multiple
application jobs. All jobs which may run in multiple application processing may not
use pos. 101-256 for own positions. The standard layout of the LDA follows. For
further details concerning positions 101-256, refer to TXJ and TXR.
2 - 85
DESIGN STANDARDS
NOTE
ON THE AS/400 THE LDA HAS A LENGTH OF 1024 BYTES. THE
FIRST 512 BYTES (USER AREA) ARE DESCRIBED HERE. THE
SECOND 512 BYTES (SYSTEM AREA) ARE NOT DEFINED AND
SHOULD NOT BE USED. THIS AREA IS RESERVED FOR BASIS
DEVELOPMENT.
512
G
CL/Program Options
Subdivided into fields as required
101
49
Job Information
RESTCOND
101
MENUITEM
102
110
111
112
113
EXTYPE A
XJ02EXIST
AS400EXIT
2 - 86
USERID
114
WSID
116
MICNO
118
JOBNOSUF
122
CL/ProgramScreen
Communication
Standards
512
CTLJOBNOSUF
124
LIBRARY
126
134
FSUFFIXA
MESSAGEMBR
136
COMPLEXNO
144
Complex Number
PERYEAR
146
PERTYPE
PERNUMB
A
N
147
148
1
2
Rightmost byte of
period year
Period type
Period number
150
92
Checkpoint Information
150
36
186
20
SAVMIL
206
SWITCHES
210
Switches 1-8
CPTAG
218
CL Tag Name
CLEANUP
226
CANCEL
234
FILEGROUPC
242
FILEGROUPL
244
LOCATION
246
G
CLPARAM
2 - 87
DESIGN STANDARDS
512
MSGSAVE1
248
MSGSAVE2
252
SAVESIGN
256
Savesign
1 = save has to be done
(Set by automatic save creation
program)
XO01NAME
257
265
199
464
465
19
Reserved
484
10
494
Reserved
502
PGMTEMFLG
LDAENDOPT
2 - 88
free
Native program termination flag
b = normal termination with
'GO BACK'
1 = abnormal termination with
'END PROGRAM'
MUAPVERS
504
MUAPDATE
506
601 25*10
CL/Program
Communication
Screen
Standards
LDADUM
924
LDACOMARE
925
100
2 - 89
DESIGN STANDARDS
2 - 90
Screen
Program
Standards
Design
2.7
Program Design
1)
2)
Alternatively a program can be split into separate programs (for example, one
for each interactive function) but this is much slower than using overlays (2 to
4 seconds instead of 0.1 second).
3)
When an interactive program is split into multiple programs the RUF (Read
under Format) technique can and should be used when applicable to overlap
data entry with the loading of the next program. RUF must not be used,
however, to pass data from one program to the next via the screen; if data
must be passed, the LDA must be used (not the Job Control File that saves
LDA for a restart). The program should also function without modification on
systems which do not support RUF (or which do not support the LDA but can
read or write a file in control language).
NOTE:
RUF FUNCTIONS AS FOLLOWS:
- PROGRAM A WRITES FORMAT XX AND GOES TO EOJ
- THE OPERATOR CAN ENTER INPUT DATA (UNDER CONTROL OF
THE OPERATING SYSTEM) WHILE PROGRAM B IS LOADED
- PROGRAM B READS THE SCREEN. IF RUF IS NOT SUPPORTED,
PROGRAM B MUST WRITE FORMAT XX AND THEN READ THE
SCREEN.
4)
2 - 91
DESIGN STANDARDS
2 - 92
Screen
Standards
Module
Design
2.8
Module Design
modules covering one or more functions in a general and flexible way, known
as program respectively procedure frames.
2)
modules covering one or more functions in a fixed way. These modules are
CALL or COPY modules.
Program/Procedure Frames
Typical functions covered by program frames are the general functions such as
merge
level break
screen processing and so on
and by procedure frames single functions such as
roll up/roll down, and so on
Frames must be provided as source members to allow the programmer to adapt
the module to his individual needs by adding and/or changing logic statements.
CALL/COPY Modules
Typical functions covered by these modules are for example
The attribute of the modules for these functions is that the logic is fixed and cannot
be changed.
In order to decide whether a module should be a CALL module/subroutine member
or a COPY module/source member the following should be considered:
if possible, the module should be a CALL module because of
o better utilization and more flexibility as a COPY module (use of parameters
and so on)
2 - 93
DESIGN STANDARDS
2 - 94
COBOL
Programming Standards
3.1
Objectives 3-3
3.2
Overview 3-5
General Remarks 3-5
Notation 3-5
3.3
3.4
3.5
3.6
3.7
3.8
3-1
DOCUMENTATION STANDARDS
3.9
3-2
3.1
Objectives
3-3
DOCUMENTATION STANDARDS
3-4
3.2
Overview
3.2.1
General Remarks
All standards documented in this manual are mandatory for all programmers writing
COBOL programs, screen formats or a CL procedure. However, each user is free
to make suggestions for modifications or the introduction of new standards.
Programs in which the BASIS standards are not used will not be administered and/
or distributed by the BASIS Group.
This is because non-standardized programs:
cannot be patched with the BASIS patching procedure
are not automatically convertible to the S/38 COBOL language
cannot be combined with other programs and/or modules developed by a
different development group (that is, Vienna, Atlanta, and so on).
3.2.2
Notation
Reserved words (that is, standard words) are written in capital letters. They
must be used as specified and must not be changed by the programmer. In
addition, no other words (or abbreviations) identical to a reserved word must
be used.
The expression "mnemonic" indicates that the programmer may insert any
desired term.
Example:
SWITCH - mnemonic
fixed
free
The length of the mnemonic character string should not exceed 10-15 positions.
3-5
DOCUMENTATION STANDARDS
3-6
3.3
Structured Programming
3.3.1
Standard Elements:
3-7
DOCUMENTATION STANDARDS
1) SEQUENCE
2) IF-THEN-ELSE
True
False
C
True
False
C
Or A is only executed if C is
true and the ELSE-path is empty.
3) CASE
C1
Else
C2
A1
3-8
A2
Cn
An
4) DOWHILE
Iteration of A:
False
C
True
5) DOUNTIL
Iteration of A:
DO A UNTIL a condition C is true.
Condition C is only tested after the
execution of A; thus A is executed at
least once.
False
C
True
6) COMPOUND STRUCTURES
The five basic elements may be combined by replacing a box with any other structureelement. This can be done with no problem because each element has a single entry
point and single exit-point; a GO TO from one structure element into another is not
possible.
For example: take an IF-THEN-ELSE and replace box A by a DOWHLIE and box B by a
CASE:
3-9
DOCUMENTATION STANDARDS
C1
BOX A
BOX B
C3
C2
S1
C4
S2
C5
Else
S3
3.3.2
3 - 10
NOTE
STRUCTOGRAMS (SEE 1.3.5) ARE USED INSTEAD OF FLOWCHART
SYMBOLS BECAUSE ACTUAL CODING IS ALWAYS DONE FROM
STRUCTOGRAMS.
1)
SEQUENCE
all basic COBOL instructions such as MOVE, ADD, SET, and the simple
PERFORM... THRU...
2)
IF-THEN-ELSE
Overflow
Y
N
***** EXAMPLE IF-THEN
Yo1
PRINT
HEADINGS
IF C-OVERFLOW
PERFORM Y01-PRINT-HEADINGS THRU Y01-EXIT
MOVE ZEROS TO W-LINE-COUNTER
Clear linecounter
NOTE
INDENTATION OF 3 POSITIONS IS RECOMMENDED.
3 - 11
DOCUMENTATION STANDARDS
b) IF-THEN-ELSE
***** EXAMPLE IF-THEN-ELSE
Amount positive
Y
Add Amount
to
Debit-Total
IF W-AMOUNT IS POSITIVE
ADD W-AMOUNT TO W-DEBIT-TOTAL
IF CI-CREDIT-CUSTOMER
PERFORM 52-PASTDUE-CALCULATION THRU 52-EXIT
ELSE
NEXT SENTENCE
Subtract
amount from
Credit Total
Credit
Customer
Y
ELSE
SUBTRACT W-AMOUNT FROM W-CREDIT-TOTAL
52 PASTDUE
Calculation
with
with
with
with
with
with
AT END
INVALID
INVALID
INVALID
INVALID
INVALID
KEY
KEY
KEY
KEY
KEY
Z05-AM01-READ
RECORD PRESENT
Y
3 - 12
UNSTRING WS-LINE
DELIMITED BY SPACES
INTO SEL-WORD
DELIMITER IN W-BLANKS
ON OVERFLOW
Y
SET END-OF-LINE
TO
TRUE
4351
Check
Sel-Word
Error
Y
Set 4351
Error-in
Line to
true
N
Interpret
Sel-Word
435- UNSTRING-EXAMPLE.
UNSTRING WSI-LINE DELIMITED BY SPACES
INTO W-SEL-WORD
DELIMITER IN W-BLANKS
ON OVERFLOW GO TO
435-END-OF-LINE.
435- PROCESS-SEL-WORD.
PERFORM 4351-CHECK-SEL-WORD THRU 4351-EXIT.
IF C-ERROR-IN-WORD
SET C-ERROR-IN-LINE TO TRUE
ELSE
PERFORM 4352-INTERPRET-SEL-WORD THRU 4352-EXIT.
GO TO 435-EXIT.
435- END-OF-LINE.
SET C-END-OF-LINE TO TRUE.
435- EXIT.
NOTE
THE "ON OVERFLOW" CLAUSE SHOULD NOT CONTAIN ANY
ACTUAL STATEMENT
3) CASE
a) Series of IF's and GO TO's (simulating nested IF's)
"A"
RECORD-CODE
31Process-rec.A
"B"
32Process-Rec.B
"C"
33Process-Rec,C
Else
XMER02
Stop-Error
3-PROCESS.
IF RECODE EQUAL "A"
PERFORM 31-PROCESS-REC-A THRU 31-EXIT
GO TO 3-EXIT.
IF RECODE EQUAL "B"
PERFORM 32-PROCESS-REC-B THRU 32-EXIT
GO TO 3-EXIT.
IF RECODE EQUAL "A"
PERFORM 33-PROCESS-REC-C THRU 33-EXIT
GO TO 3-EXIT.
PERFORM XMER02-STOP-ERROR THRU XMER02-EXIT.
3-EXIT.
3 - 13
DOCUMENTATION STANDARDS
MARITAL STATUS
2
Move
"Married"
to
Print Line
3
Move
"Single"
to
Print Line
Else
Move
"Divorced"
to
Print Line
Move
"Undefined"
to
Print Line
852-CASE-EXAMPLE.
GO TO
852-SINGLE, 852-DIVORCED
DEPENDING ON W-MARITAL-STATUS.
852-UNDEFINED.
MOVE "UNDEFINED" TO RPT-MARITAL-STATUS
GO TO 852-EXIT.
852-MARRIED.
MOVE "MARRIED" TO RPT-MARITAL-STATUS.
GO TO 852-EXIT.
852-SINGLE.
MOVE "SINGLE"
TO RPT-MARITAL-STATUS.
GO TO 852-EXIT.
852-DIVORCED.
MOVE "DIVORCED" TO RPT-MARITAL-STATUS.
852-EXIT.
c) SEARCH with several WHEN's and AT-END (the AT-END clause is the ELSE path)
SEARCH ART-TABLE
Art. No.
found
Add
Units/Subunits
Key-Art-No. compared to
WS-Art. No.
Next
greater
At
end
371
INSERT Art
(Shift all greater
elements by 1 &
insert new Art.
at T5).
Y03
Write Array
NOTE
THE "WHEN" AND THE "AT END" CLAUSES
SHOULD NOT CONTAIN ANY ACTUAL
STATEMENT.
Clear
Art-Table
3 - 14
GO TO 37-ARRAY-FULL
GO TO 37-UPDATE-ART
GO TO 37-INSERT-ART.
4) DOWHILE
The PERFORM....UNTIL in COBOL is a mixture of the 2 elements DOWHILE and
DOUNTIL; the condition is tested before performing the routine but if it is true it means
discontinuation instead of continuation (it also says UNTIL not WHILE). It becomes a
WHILE condition when you negate it: (for example, UNTIL NOT LESS = WHILE LESS).
a) PERFORM with UNTIL NOT
SET T1 TO 1
T1-ART (T1) LESS WSI-ART. AND NOT
END-OF-LIST
43
Process
List-Element
(If pointer is zero end of list
is reached, else move pointer
to T1).
3 - 15
DOCUMENTATION STANDARDS
16 TIMES
15-EDITMASK
T2 = 1-100
and ELEMENT (T2) not blank
612Art-Line
VARYING T2 FROM 1 BY 1
UNTIL T2 GREATER 100
OR T2-ELEMENT(T2) EQUAL SPACES
5) DOUNTIL
There is nothing in COBOL directly supporting this iteration process. Although the
PERFORM ...... UNTIL contains the correct condition test (UNTIL = discontinue when it
becomes true) the test is done before performing the routine. There are two possibilities:
3 - 16
a) Self programmed loop in which you can put one or more UNTIL conditions anywhere
between starting and ending paragraph:
Z01
WSFILE
READ
(Read input
format)
CMD 1 (EOJ)
3-PROCESS
WRITE-WS
Process input
format received
and write new
format)
Z04
OM60WRITE
(Write record
to Transaction
File.)
b) Use a PERFORM .... UNTIL and initially set the condition to false. Note that only one
UNTIL condition is possible and that it must always be put in front. Moreover combine all
steps of a loop into a procedure. (For example, PROCESS-WS is a new procedure used
to combine WSFILE-READ, PROCESS-WRITE-WS, OM60-WRITE, into a single,
performable procedure).
UNTIL CMD-7
OR
CMD-3
3-PROCESSWS
(Read and process input-record
from workstation, write new
formats, and write record
Transaction File.)
3 - 17
DOCUMENTATION STANDARDS
3 - 18
3.4
3.4.1
Paragraph Names
Each paragraph name has 2 parts: a module identification part and a mnemonic
part:
the module identification part of the name consists of one or more digits,
22-CALCULATE-TAX
221-DETERMINE-RATE
22 and 221 = module identification
All paragraph names within the module start with the same module identification.
Module identifiers are assigned in a hierarchy:
MAINLINE
1-mnem
2-mnem.
21-mnem.
3-mnem.
9-
A-
22-mnem.
221-mnem.
222-mnem.
3 - 19
DOCUMENTATION STANDARDS
The number of characters within the identification part indicates the level of the
corresponding module.
Considerations for the module identification part:
the mainline has no identification part and is called 'MAINLINE'
characters 0 - 9 and A - W are used. It is recommended that digits be used.
Letters must be specified only if more than 10 procedures are needed in a
level.
the letter "X" must not be used as it is reserved for standard modules.
the letter "Y" is to be applied for modules performed in different places in the
program. The "Y" is followed by a "c" (with C = 1-9, A-Z)
the letter "Z" is used for I/O modules. The "Z" is followed by nn (with nn = 0199)
22-mnem.
Ycc-mnem.
221-mnem.
2211-mnem.
Ycc-mnem.
the paragraph name for Y-common modules is Yc-mnemonic and can in turn
be structured with level numbers added to Yc (for example, Y11 called from
Y1)
3 - 20
Yc-mnem.
Yc1-mnem.
Yc2.mnem.
2211-mnem
Ycc-mnem.
EXIT paragraph
cccc-EXIT, where "cccc" is the module identification part.
for example, 221-EXIT
Z41-EXIT
Y3-EXIT
branch points (tags)
cccc- mnemonic, where "cccc" is the module identification part.
for example, 11-GETNEXT-P01
If the programmer uses any unique identification for branch points, it must be
uniform within the program.
paragraphs for I/O operations (non-workstation files). All I/O operations have
to be specified in paragraphs having standard names:
module identification part
Znn
file name
aann (disk)
RPT (printer)
LDA
OCL
DATE-TIME
- I/O operation
- READ
WRITE (mnomonic)
REWRITE
START
DELETE
READNEXT
3 - 21
DOCUMENTATION STANDARDS
Znn
01-50
51-95
96
97
98-99
free
reserved for system files
DATE/TIME read
OCL-read
LDA
3 - 22
3.4.2
3.4.3
File Description
1) Disk Files
For most of the files used in BASIS programs, standard file descriptions comparable
to the DDS record formats on S/38 are available.
These descriptions, stored in COPY modules, must be copied into the FD's of the
COBOL programs.
3 - 23
DOCUMENTATION STANDARDS
written by programmer
01 OM4REC
frame XFOM40 (copied
06 COMPANY
PIC
into program during
06 OUTLETNO
.
compilation
06 NAME
.
.
.
.
.
06 PRICELIST
PIC
66 KEYOM40 RENAMES COMPANY THROUGH OUTLETNO.
3 - 24
If the field names are not unique within the program, that is, same name used in
multiple files or records, the qualification feature of COBOL is used.
If any further structuring of predefined input and/or output fields is needed in the
program, two possibilities exist for the programmer:
specify these additional record formats in the FD (that is, use REDEFINES at
01 level following the COPY statement)
use separate I/O areas in the Working Storage Section which are processed
via the READ INTO/WRITE FROM or MOVE operation codes.
For the additional record formats in the FD the same standards as used in the
Working Storage Section must be applied (see 3.4.4):
01 aannc - mnemonic
05
aannc-mnemonic
.
05
aannc-mnemonic
NOTE
THE STANDARDS FOR EXTERNAL FIELD DESCRIPTIONS (NAME
LESS 11 BYTES, NO HYPHEN, AND SO ON) NEED NOT BE APPLIED
HERE.
The use of either method is up to the programmer. When these areas are specified
in the Working Storage Section rather than in the FD area, no data in the FD is lost
when any unsuccessful I/O operations have been performed. However, no
additional storage space is required using the "FD method". The programmer
should use only one method in the program.
If the disk file is an output file created by a generic program using a file list naming
conventions for SELECT and FD clause are the following:
SELECT FLxxxx ASSIGN TO DISK-aann
FD FLxxxx....
aann standard file name (see 2.1.2)
xxxx record length (0064, 0128, 0256)
3 - 25
DOCUMENTATION STANDARDS
2) Printer Files
FD RPT.
01 RPT-LINE PIC X(132)
The actual structure must be given in the Working Storage Section
3) Workstation Files
FD WSFILE
01 WSREC
The actual structure is defined in the Working Storage Section, that is, a MOVE
from FD to the Working Storage Section must be programmed.
4) Sort Files
SD SORTn
n = 1-9
01 SORTRECn
The actual structure may be defined in the Working Storage Section.
5) Condition Names in FD
88 Cc-mnemonic
"c" stands for I, O or U (input, output or update), depending on the file
type, for example, 88 CI-NEW CUSTOMER VALUE '1'
for standard use of VALUE clause refer to 3.6.5
3 - 26
3.4.4
n = 1-9
3 - 27
DOCUMENTATION STANDARDS
CONDITION NAMES
C-mnemonic VALUE...
for standard use of VALUES refer to 3.6.5
LOCAL DATA AREA
01 LDA-AREA
05 LDA-mnemonic
A standard module and standard field names will be used for processing the
LDA (see frames XMFR01-04).
CONTROL AREA FOR WORKSTATION FILES
01 WS-CTR.
05 FUNCTION KEYS
88
ENTER-KEY
88
CMD-NXTERR
88
CMD-ADDINFO
88
CMD-DEL
88
CMD-UPD
88
CMD-EOJ
88
ROLL-UP
88
ROLL-DOWN
05 TERMINAL-ID
05 RESERVED
PIC XX.
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
'00'.
'01'.
'02'.
'04'.
'05'.
'07'.
'90'.
'91'.
These are standard CMD keys used throughout BASIS (see 2.3.4). Additional
CMD keys may be added according to the program functions.
FILE STATUS AREA
01 FILE-STATUS-aann (aann = file name)
88 FS-aann-SUCCESSFUL
-EOF
-SEQ-ERR
-DUPL-KEY
-NO-REC
-BOUNDARY-IND-REL
-PERM-ERR
-BOUNDARY-SEQU
-ERROR
3 - 28
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
VALUE
'00'.
'10'.
'21'.
'22'.
'23'.
'24'.
'30'.
'34'.
'90' THRU '9Z'.
05 A-INPUT-STATUS
3 - 29
DOCUMENTATION STANDARDS
05 A-DATA STATUS
88 A-DATA PENDING
88 A-DATA-NOTPENDING
05 A-INQUIRY-STATUS
88 A-INQUIRY-MODE
88 A-NOTINQU - MODE
"Y"
"N"
"Y"
VALUE "N"
value "N"
NOTE
THE TERMINAL ATTRIBUTES ARE NOT USED CURRENTLY.
TABLES
Every table name consists of a table identifier and a mnemonic character
string:
for example, T4-ARTICLE DATA
T4 = table identifier
The table identifier must start with the character "T", followed by 1, 2, or 3
identical characters (0- 9, A - Z). This allows for a maximum of 36 tables per
program. The number of these characters indicates the dimension of the field
to be referenced, for example,
T4 ..... first dimension
T88 .... second dimension
TZZZ ... third dimension.
The index of each table is identical to the corresponding table identifier:
30 TB-ARTICLE-ELEMENT OCCURS nn INDEXED BY TB.
Should more indexes be needed for one table the following rule must be
applied:
..... INDEXED BY T3, T3-1, T3-2 .....
..... INDEXED BY T77, T77-1, T77-2, T77-3 .....
3 - 30
The level number of table elements must be within the range of 30 and 39.
Example:
01 T1-ARTICLE-DATA
30 T1-ELEMENT OCCURS ..., INDEXED T1
32 T1-ARTNO
32 T1-ARTNAME
32 T11-ELEMENT OCCURS ..., INDEXED T11
34 T11-PRICE
34 T11-REPRICE
34 T111-ELEMENT OCCURS ..., INDEXED T111
36
T111-LEFT
36
T111-RIGHT
PIC (10)
OCCURS 10 TIMES INDEXED BY WSOPIC (5).
PIC (6).
PIC (10).
3 - 31
DOCUMENTATION STANDARDS
STANDARD TABLES
Standard tables are used in more than one program. They have an identical
structure and contain the same type of data. The following standard is used
for the table name and the table identifier.
Tcc-mnemonic INDEXED BY Tcc.
"cc" and the mnemonic name are predetermined and must not be changed by
the programmer. The following tables exist:
TER-TABLE
TBL-TABLE
TCL-TABLE
3 - 32
WORK FIELDS
W-mnemonic
RELATIVE KEY
RELKEY-aann (= file name)
BOOLEAN AREAS
01 INDICATOR-c VALUE ZERO
30 INDIC-c INDICATOR 1 PIC 1 OCCURS 99 INDEXED BY TI-c
88 IND-c-ON
VALUE B"1"
88 IND-c-OFF
VALUE B"0"
- The character "c" stands for any letter of the alphabet.
- A 99 element table must always be used.
- COPY MODULES (if applied)
name of the module is XWaacc (W = working storage section,
aa = application, cc = mnemonic, T1 for Table 1)
3.4.5
Aside from the ANS-COBOL reserved words there are a number of 'BASIS
reserved' words and prefixes which have a standard meaning and must not be
used in any other expression (data name, condition name, and so on) than the one
they have been set up for:
1) Standard Words
CCnn (01-99)
CMD-ADDINFO
CMD-AWR
CMD-DEL
CMD-EOJ
CMD-NXTERR
ENTER-KEY
FOOTING-LINE
IBM-DSP
3 - 33
DOCUMENTATION STANDARDS
LDA
LDA-AREA
LINAGE-VALUE
MODLEV-AREA
MODLEV
PATCH-AREA-nn (nn = 01-99)
PCccccc
(ccccc = mnemonic name)
RPT
ROLL-DOWN
ROLL-UP
SHUTDOWN
SHUTDOWN-ON
SHUTDOWN-OFF
SKIP-VALUE
SORTn (n = 1-9)
SYS-CONSOLE
SYSTEM-SHUTDOWN
TBL-ERROR-FM
TBL-BOTTOM-LINE
TBL-ERROR-LINE
TBL-CMD-DESCR
TBL-ERRORCODE
TBL-ERRORMSG
TCL
TCL-TABLE
TER
TER-TABLE
TER-CODE
TER-CODES
TER-CODEnn (where nn = 01-99)
TER-RECOV
TER-FLAG
TER-ATTR
TER-ELEMENT
W-HHMMSS
W-SYSDATE
W-SYSTIME
WS-CTR
WSCODE
WS-ATTR
WSDATA
WSFILE
3 - 34
2) Standard Prefixes
ACORE-INDEX-aann
CCICOCUCLCMDFILE STATUS-aann
FS-
I
INDIC-c
INDIC-c-ON
INDIC-c-OFF (where "C" = A-Z)
INDICATOR-c
KEYaann
LDARPTRELKEY-aann
SWITCH-nSWn-ON- (where n = 1-8)
SWn-OFFTBL
TCL
Description
Terminal Attribute Area
I- C- Control/main storage index of
file aann
Condition names in FD
OCL parameters
Command keys
Condition name in Working Storage Section
File status for file aann
Condition defined for file status
(for example, FS-aann-EOF)
Index data item
Indicator Field
Condition defined for indicator field
Condition defining status of indicator
(ON/OFF)
Indicator area
Key for index file
LDA-Area
FD for printer files
Key for relative file
Status of switches
TER
Tccc-
Tables
WSWSIWSO- WSU-
3 - 35
DOCUMENTATION STANDARDS
Apart from the rules for the use of standard words and/or prefixes, the following
suggestions should be followed by the programmer:
No field name in the program must start with the character "X" which is to be
used in modules only.
No field other than patchable constants should begin with characters "PC" or
"CC".
3 - 36
Naming
Conventions
for
Standards
for Patchable
COBOL Constants
Programs
3.5
NOTE
ANY OTHER XI01 RECORD DESCRIPTION (LEVEL 01) MUST BE
CODED AFTER COMMON CONSTANT AND PROGRAM CONSTANT
RECORDS.
The module loads the constants in patch areas defined in the working storage
section: see the example below:
01 PATCH-AREA-nn
3 - 37
DOCUMENTATION STANDARDS
Program error messages are read from the SCF at execution time when needed.
Only a table of error codes used in the program is defined in the working storage
section.
3.5.1
Common Constants
3 - 38
3 - 39
3 4
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
2
3 4
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
28
12
16
20
CCnn
24
28
32
32
36
36
40
40
44
44
48
48
P IC X ( . . ) .
24
05
20
P IC X (17 ) .
P IC X ( . . ) .
P IC X ( . . ) .
16
XI 01 -CCnn .
05 F ILLER
05 CCmm
05 CCnn
05 F ILLER
COBOL STATEMENT
12
52
52
56
56
60
60
PUNCHING INSTRUCTIONS
01
CONT.
DATE
GRAPHIC
PUNCH
+ A standard card form, IBM Electro C61 1987, is punching source statements from this form. Instructions for using this form are given in any
IBM COBOL reference manual. Address comments concerning this form to IBM Corporation, P.O. Box 50020, Programming Publiching, San Jose, CA 95150
(PAGE) (SERIAL)
SEQUENCE
SYSTEM
PROGRAM
PROGRAMMER
IBM
64
64
68
68
OF
72
72
76
76
80
80
IDENTIFICATION
PAGE
CARD FORM #
Naming
Standards
Conventions
for Patchable
for
COBOLConstants
Programs
DOCUMENTATION STANDARDS
NOTE
THESE RECORD DESCRIPTIONS ARE PRE-CODED AND AVAILABLE
IN THE COBOL FRAMES (FOR EXAMPLE, XMFR01). THEY MUST
IMMEDIATELY FOLLOW THE 'COPY' STATEMENT FOR XI01.
3.5.2
Program Constants
All translatable text in a program (print constants, constants displayed via the
DISPLAY operation code or a screen format) is called "program constant". These
constants can only be specified in so-called "patch areas" in the working storage
section of the COBOL program.
The following standards must be adhered to when defining patch areas in the
working storage section:
The patch areas must immediately follow the modification level area orif
presentthe error codes area.
name:
01 PATCH-AREA-nn
nn = patch area number 01-99
Patch areas in the program must begin with 01 and must be in ascending
sequence.
3 - 40
Naming
Conventions
for
Standards
for Patchable
COBOLConstants
Programs
3 - 41
3 - 42
3 4
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
2
3 4
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
20
24
12
05
16
20
CCnn
24
PATCH AREA-nn
05 PCccccc
16
12
01
CONT.
28
28
DATE
32
32
36
36
'
'
'
'
44
40
44
48
P IC X (nn)
P IC X (nn)
40
48
52
52
60
56
60
VALUE
VALUE
56
PUNCHING INSTRUCTIONS
COBOL STATEMENT
GRAPHIC
PUNCH
+ A standard card form, IBM Electro C61 1987, is punching source statements from this form. Instructions for using this form are given in any
IBM COBOL reference manual. Address comments concerning this form to IBM Corporation, P.O. Box 50020, Programming Publiching, San Jose, CA 95150
(PAGE) (SERIAL)
SEQUENCE
SYSTEM
PROGRAM
PROGRAMMER
IBM
64
64
68
68
'.
'.
OF
72
72
76
76
80
80
IDENTIFICATION
PAGE
CARD FORM #
DOCUMENTATION STANDARDS
Naming
Conventions
for
Standards
for Patchable
COBOL Constants
Programs
3 - 43
DOCUMENTATION STANDARDS
The record descriptions for program constants must be coded after the ones
for common constants.
If a patch area contains only common constants, a dummy SCF record
description (no fields defined) must nevertheless be defined, that is, the
1 to 1 relationship between the SCF and patch areas must be kept. See
example 2.
3 - 44
3 - 45
3 4
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
2
3 4
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
20
12
16
20
XI 01 -PA04.
05 F ILLER
05 PCOUTL
05 PCADDR
05 PCCITY
05 F ILLER
16
01
12
CONT.
24
24
28
28
DATE
32
32
36
36
40
P IC
P IC
P IC
P IC
P IC
40
44
48
X (17 ) .
X (10 ) .
X (40 ) .
X (10 ) .
X (09 ) .
44
48
52
52
56
56
60
60
PUNCHING INSTRUCTIONS
COBOL STATEMENT
GRAPHIC
PUNCH
+ A standard card form, IBM Electro C61 1987, is punching source statements from this form. Instructions for using this form are given in any
IBM COBOL reference manual. Address comments concerning this form to IBM Corporation, P.O. Box 50020, Programming Publiching, San Jose, CA 95150
(PAGE) (SERIAL)
SEQUENCE
SYSTEM
PROGRAM
PROGRAMMER
IBM
Example 1:
64
64
68
68
OF
72
72
76
76
80
80
IDENTIFICATION
PAGE
CARD FORM #
Naming
Conventions
for
Standards
for Patchable
COBOLConstants
Programs
3 - 46
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
3 4
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
2
3 4
01
01
01
CONT.
16
20
24
PCAMT
05
12
05
16
20
PCNAME
24
PATCH-AREA- 03 .
PATCH-AREA- 02 .
05 CC04
05 W- . . .
PCTOWN
05
PATCH-AREA- 01 .
12
28
28
DATE
32
32
36
36
44
40
44
48
P IC X (20 )
P IC X (50 )
P IC X (14 ) .
P IC X (15 )
P IC X (14 )
40
48
56
60
52
56
60
VALUE . . . .
VALUE . . . .
VALUE . . . .
VALUE . . . .
52
PUNCHING INSTRUCTIONS
COBOL STATEMENT
GRAPHIC
PUNCH
+ A standard card form, IBM Electro C61 1987, is punching source statements from this form. Instructions for using this form are given in any
IBM COBOL reference manual. Address comments concerning this form to IBM Corporation, P.O. Box 50020, Programming Publiching, San Jose, CA 95150
(PAGE) (SERIAL)
SEQUENCE
SYSTEM
PROGRAM
PROGRAMMER
IBM
64
64
68
68
OF
72
72
76
76
80
80
IDENTIFICATION
PAGE
CARD FORM #
In this example, patch area 02 does not contain program constants. The following record descriptions of the SCF must be
coded as follows:
Example 2
DOCUMENTATION STANDARDS
3 - 47
20
24
28
01
01
12
16
20
24
28
XI 01 -PA03 .
05 status / Key field
05 PCNAME
05 FILLER
XI 01 -PA02 .
XI 01 -PA01 .
05 status / Key field
05 PCADDR
05 PCAMT
05 FILLER
16
12
01
DATE
32
32
36
36
44
40
44
48
P IC X (20 ) .
PIC X (96 ) .
P IC X (40 ) .
P IC X (21 ) .
40
48
52
52
56
56
60
60
PUNCHING INSTRUCTIONS
COBOL STATEMENT
GRAPHIC
PUNCH
+ A standard card form, IBM Electro C61 1987, is punching source statements from this form. Instructions for using this form are given in any
IBM COBOL reference manual. Address comments concerning this form to IBM Corporation, P.O. Box 50020, Programming Publiching, San Jose, CA 95150
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
3 4
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
2
3 4
CONT.
(PAGE) (SERIAL)
SEQUENCE
SYSTEM
PROGRAM
PROGRAMMER
IBM
64
64
68
68
OF
72
72
76
76
80
80
IDENTIFICATION
PAGE
CARD FORM #
Naming
Standards
Conventions
for Patchable
for
COBOLConstants
Programs
DOCUMENTATION STANDARDS
NOTE
THE RECORD DESCRIPTIONS AND EXAMPLES OF PATCH AREAS
ARE ALREADY PRE-CODED IN ALL AVAILABLE COBOL FRAMES,
FOR EXAMPLE, XMFR01.
3.5.3
Translated error messages are accessed from the literal part of the System Control
file ("LP of SCF"). When defining the error codes in the program, the following
standards must be adhered to:
3 - 48
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
20
24
01
TER-CODEnn
28
32
36
44
48
P IC X (11 )
40
COBOL STATEMENT
12
16
20
24
28
32
36
40
44
48
56
60
64
52
56
60
64
68
68
'.
OF
72
72
76
76
80
80
IDENTIFICATION
PAGE
CARD FORM #
52
PUNCHING INSTRUCTIONS
05
TER-CODES
05 TER-CODE01
05 PCNAME
16
12
01
DATE
GRAPHIC
PUNCH
+ A standard card form, IBM Electro C61 1987, is punching source statements from this form. Instructions for using this form are given in any
IBM COBOL reference manual. Address comments concerning this form to IBM Corporation, P.O. Box 50020, Programming Publiching, San Jose, CA 95150
3 4
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
2
3 4
CONT.
(PAGE) (SERIAL)
SEQUENCE
SYSTEM
PROGRAM
PROGRAMMER
IBM
Naming
Conventions
for
Standards
for Patchable
COBOL Constants
Programs
3 - 49
DOCUMENTATION STANDARDS
Frame XMFR04 can be used to show how to store the error codes in the
program.
All other TER-CODES (TER-CODEnn) and the OCCURS clause must be
added and modified by the programmer according to the needs of the
program.
3 - 50
Naming
for
CodingConventions
and Efficiency
COBOL
Programs
Techniques
3.6
3.6.1
General
The following clauses in the ENVIRONMENT and DATA DIVISION are not used
and will be partially replaced by BASIS routines:
CURRENCY SIGN
DECIMAL-POINT
SEGMENT-LIMIT
RERUN ON
BLANK WHEN ZERO
SYNCHRONIZED
VALUE OF
DATA RECORDS ARE
CODE SET
SIGN LEADING/TRAILING
3.6.2
Data Division
The contents of fields must always be compatible with their PICTURE definition, for
example, a numeric field must not contain blank. To avoid unpredictable results, all
fields in the Working Storage Section must be initialized with VALUE accordingly,
for example, VALUE "SPACES" for alphanumeric fields, "VALUE ZEROS" for
numeric fields.
All fields should be defined alphanumerically unless used in arithmetical
operations.
Numeric values are always defined signed.
Arithmetical operations with packed and/or binary are slow and should therefore be
avoided.
Exception: COMP-4 fields having identical length can be added or subtracted
without converting them.
3 - 51
DOCUMENTATION STANDARDS
3.6.3
Procedure Division
ON SIZE ERROR
INSPECT: should be replaced by a PERFORM statement whenever possible.
The "ON OVERFLOW" clause should be used in the STRING and
UNSTRING operation codes.
PERFORM: Must always be used with the "THRU" option.
Array elements, COMP-3 or COMP-4 fields should be moved to work fields
when used often in a routine.
The COMPUTE statement is more efficient and readable than corresponding
arithmetical expressions.
Segmentation should be used whenever the impact on performance is low
(less than, for example, 5% of program duration) to reduce program size.
SECTION names are used only in relation to segmentation.
3 - 52
Naming
for
CodingConventions
and Efficiency
COBOL
Programs
Techniques
3.6.4
If...IF... perform x
IF... perform x
GO TO EXIT-01.
IF... perform x
GO TO EXOT-02.
*
* (difference 0.160 ms)
*
*
*
Printer Files
Data
OXXLINES
3 - 53
DOCUMENTATION STANDARDS
3 - 54
CodingConventions
and Efficiency
Naming
for
Techniques
COBOL Programs
3.6.5
PIC X.
VALUE "A".
VALUE "B".
VALUE X.
PIC 9.
VALUE 1.
VALUE 2.
VALUE Y.
Y = ZERO(S) or 0
77 W-ERROR
88 C-ERROR
88 C-NOERROR
PIC X.
VALUE "1".
VALUE Z.
3 - 55
DOCUMENTATION STANDARDS
3.6.6
set up/down
*
set
*
go to
*
short decimal arithmetic. * 0.005 ms
compare with 'X'
*
compare with index value *
*
*
0.020 ms
3 - 56
0.2-0.6ms
0.5 ms
1.0
1.5
2.4
2.9
0.6
0.6
1.4
0.6
1.0
0.6
1.0
ms
ms
ms
ms
ms
ms
ms
ms
ms
ms
ms
Naming
for
CodingConventions
and Efficiency
COBOL
Programs
Techniques
3.6.7
This coding has to be applied for all disk I-O operations. Normally it forces a
COBOL-'STOP' if an I-O operation was not performed successfully (for example,
WRITE-operation, but file is full and no EXTEND performed, and so on).
The AT END and INVALID KEY clause is not used on the COBOL I-O statements.
By using a DECLARATIVE section system stops are avoided. In the I-O
procedures (see 3.4.1 for naming conventions) file status test and error handling is
optional and must not be coded if:
a) File status test is performed in main program outside of I-O procedure (see
processing of XI01, XJ02.......in program frames) or
b) procedure should not stop for a not successful I-O operation (for example,
dummy READ's to unlock locked records......).
Standard coding consits of three parts:
a) FILE STATUS entries (see 3.4.4 file status area)
b) DECLARATIVE section (see example)
c) I-O procedures (see examples)
Declaratives:
PROCEDURE DIVISION
* ------------------DECLARATIVES
I-O-ERROR SECTION
USE AFTER ERROR PROCEDURE ON
XI01 , XJ02
AANN , AANN . . . . . > AANN .
?-----> SUBSTITUTE FILE NAMES (AANN) FOR ALL USED DISK FILES
DUMMY-PARAGRAPH.
END DECLARATIVES.
* ------------------MAIN-PROGRAM SECTION.
* **********************************
MAINLINE.
* *************
3 - 57
DOCUMENTATION STANDARDS
NOTE
THE CODING EXAMPLEX FOR THE DECLARATIVE SECTION AND
THE I-O PROCEDURES ARE INCLUDED IN THE PROGRAM FRAMES.
Similar procedures are available for XO01 and XO70 in program frame XMFR05.
3 - 58
Naming
CodingConventions
and Efficiency
for
Techniques
COBOL
Programs
*
***************************************************************************************************
* Random 'READ' for Disk Files
*
***************************************************************************************************
*
?-----> Substitute in whole procedure, file name for 'aann'
Z??-aann-READNEXT.
***************************
READ aann .
Z??- ERROR.
IF NOT FS-aann-SUCCESSFUL
DISPLAY 'ERROR FOR FILE aann / READ / '
'FILE STATUS = ' FILE-STATUS-aann
UPON IBM-DSP
DISPLAY 'TAKE HARD CPOY AND DUMP / CALL FOR SUPPORT'
UPON IBM-DSP
STOP ' '
GO TO Z??-ERROR.
Z?? EXIT.
EXIT.
3 - 59
DOCUMENTATION STANDARDS
*
***************************************************************************************************
* 'START' or 'DELETE' for Disk Files
*
***************************************************************************************************
*
?-----> Substitute in whole procedure
?----->
+ file name for 'aann' and
?----->
+ START or DELETE for ???????
Z??-aann-??????.
**********************
?????? aann .
Z??- ERROR.
IF NOT FS-aann-SUCCESSFUL
DISPLAY 'ERROR FOR FILE aann / ?????? / '
'FILE STATUS = ' FILE-STATUS-aann
UPON IBM-DSP
DISPLAY 'TAKE HARD COPY AND DUMP / CALL FOR SUPPORT'
UPON IBM-DSP
STOP ' '
GO TO Z??-ERROR.
Z?? EXIT.
EXIT.
*
***************************************************************************************************
* 'WRITE' or 'REWRITE' for Disk Files
*
***************************************************************************************************
*
?-----> Substitute in whole procedure
?----->
+ file name for 'aann' and
?----->
+ START or DELETE for ???????
Z??-aann-???????.
***********************
??????? aannREC.
Z??- ERROR.
IF NOT FS-aann-SUCCESSFUL
DISPLAY 'ERROR FOR FILE aann / ??????? / '
'FILE STATUS = ' FILE-STATUS-aann
UPON IBM-DSP
DISPLAY 'TAKE HARD COPY AND DUMP / CALL FOR SUPPORT'
UPON IBM-DSP
STOP ' '
GO TO Z??-ERROR.
Z?? EXIT.
EXIT.
3 - 60
3.7
Program Structure
3.7.1
The different areas of the WSS must be coded in the sequence specified below:
1) Areas for modification level (MODLEV-AREA) and system identification
(SYSTEM-IDENT).
2) Error code area and error code table:
01
TER-CODES
01
TER-TABLE
3) Patch areas
01 PATCH-AREA-01
01 PATCH-AREA-02
For further information on patching standards see 3.4.5.
4) Areas for installation options and run options:
Only the 01 level names are standard and have to be used as specified in the
following examples: Both examples are also available in frames XMFR01
through XMFR04.
01 XI01 - INSTALLATION-OPTIONS.
05
05
05
05
XI01-DATE-FORMAT
XI01-DATE-MASK
XI01-TIME-MASK
XI01-DECIMAL-SIGN
'
'
' etc. (as required)
PIC
PIC
PIC
PIC
X(6)
X(8)
X(8)
X
VALUE
VALUE
VALUE
VALUE
'DDMMYY'.
'bb//.bb//.bb//'.
'bb//:bb//.bb//'.
','.
3 - 61
DOCUMENTATION STANDARDS
The VALUE represents the default to be used by the program unless the
XI01 record is present; it must be set according to the default documented
on the B7 layout.
A subdefinition can be inserted wherever required with the VALUE-clause
remaining on the 05 level, for example,
05 XI01-DATE-MASK
10
10
10
10
10
VALUE 'bb.bb.bb'.
FILLER
XI01-DATE-EDITSIGN-1
FILLER
XI01-DATE-EDITSIGN-2
FILLER
PIC
PIC
PIC
PIC
PIC
X(2).
X.
X(2).
X.
X(2).
01 XJ02-RUN-OPTIONS.
05 XJ02-CALL-DATE
05 XJ02-REORG-DATE
05 XJ02-CALL-ROUTE
PIC X(6).
PIC X(6)
PIC X(3)
VALUE SPACES.
VALUE SPACES.
3 - 62
3.7.2
All standard modules must be copied at the end of the procedure divison.
All paragraphs in ascending sequence by module identifier
Example:
MAINLINE
1-INIT
2-READWS
3-PROCESS *
31
*
311
*
312
*
32
*
.
*
.
*
.
* Module 3-PROCESS together
33
*
331
*
3312
*
'
*
'
*
'
*
4-DISPLAY
5-TERMINATE
Y1
Y11
'
Y2- - '
Z1
'
'
'
Znn
XM
'
'
'
3 - 63
DOCUMENTATION STANDARDS
3.7.3
COMMENTS
EJECT should be used only after FILE SECTION AND WORKING STORAGE
SECTION.
blank lines should be used for an optical separation of paragraphs.
level numbers: 1- 5-1 ...
For table elements, the level numbers must be in the range between 30 and 39.
PICTURE AND VALUE clauses should be in identical positions in one
program. For patch constants, however, certain positions are obligatory (see
patching standards in this manual).
Indentation:
01
05
10 W- FLAG
88 C-INVALID ...
IF CONDITION-1
MOVE
ADD
IF CONDITION-2
ADD
SUBTRACT
ELSE
MULTIPLY
ELSE
PERFORM
DIVIDE
An extra line must be coded for the following clauses:
INVALID KEY, AT END, GIVING, VARYING WHEN, INTO, ON OVERFLOW, ON
SIZE ERROR
3 - 64
3 - 65
DOCUMENTATION STANDARDS
3 - 66
3.8
Program Administration
IDENTIFICATION DIVISION
AUTHOR, INSTALLATION, DATE-WRITTEN, DATE-COMPILED are not
used and replaced by an identification block:
Programmer
A
8
01 01
02
03
04
05
06
07
B
12
COBOL STATEMENT
16
20
24
28
32
MODLEV-AREA .
05 MODLEV
05 MODLEV-FILLER
05 MODLEV-IDENT
36
40
44
PIC 99
PIC X (4 ) .
PIC X (9 ) .
48
52
56
VALUE
VALUE
VALUE
60
64
00
' ------- '
'MODLECBL'
3 - 67
68
DOCUMENTATION STANDARDS
3 - 68
3.9
Program Modules
Generally, all standards used in main programs must also be applied in modules.
3.9.1
Naming Conventions
Module Names
A common naming structure is used for all module types (COPY/CALL modules,
frames):
XMccnnC
XM = Standard identification
cc = Classification of the module
for example,
FP - field processing
TP - table processing
nn = Sequence number within the class of the modules
C
= First letter of the COBOL division where the module is used: for
example, D - Data Division, P-Procedure Division
If the module goes across divisions, (program frame, CALL module),
no character is present.
3 - 69
DOCUMENTATION STANDARDS
Example:
XMccnn
XMccmm-1-
XMccnn-2-
XMccnn-3-
XMccnn-4-
DIGITS
SIGN
DECIM
ALPHA
XMccnn-31-
XMccnn-32-
COMMA
FULL STOP
For COPY modules all fields-, table-, condition-, paragraph names, and so on
are preceded by XMccnn-, that is, the identification prefix of the module.
for example, 01 XMFP01-AGE
88 XMFP01-C-SENILE
VALUE 35 THRU 99
Note that the prefix can be omitted in all documentation of the module, for
example, structograms, procedure diagrams, and so on. The main paragraph,
that is, the paragraph performed by the program, and its corresponding EXIT
must be coded as follows:
Main Program:
PERFORM
Module (XMFP4P)
XMFP4-mnemonic
XMFP4-EXIT
3 - 70
Since most of the fields in a module are work fields, the prefix "W" can be
omitted.
All input/update/output parameters of the module must be prefixed by:
XMccnn-I- , XMccnn-U-, XMccnn-O-,
for example, XMFP4-I-INTERNAL, XMFP4-O-EXTERNAL
XMTP8-O-C-OVERFLOW condition name as output parameter
In this way, all parameters which link the module with the main program can
easily be distinguished from internal work fields.
3.9.2
"Dummy Parameters"
When he is writing a COPY module and for example the length of fields,
parameters, number of elements for a table, and so on. are different from program
to program, the programmer must define "dummy parameters" instead of these
entries. These parameters will be replaced by actual values at the time the module
is copied into the program.
As shown in the following examples the following standards must be adhered to,
when defining dummy parameters.
dummy parameter for substitution of PICTURE clause
Module:
XMccnn-I-AMOUNT
XMccnn-I-TAX
PIC ?10? .
PIC ?04? .
COPY Statement:
COPY XMccnn REPLACING ==?10?== BY ==9(2)==
==?04?== BY ==9(4)==
if two or more identical attributes occur in a module, the same dummy
parameter name can be assigned to them.
3 - 71
DOCUMENTATION STANDARDS
Module:
XMccnn - FIELD1 PIC ?02? .
XMccnn - FIELD2 PIC ?02? .
Copy Statement:
COPY XMccnnD REPLACING ==?02?== BY ==X(24)==
as specified in the COBOL manual, the pseudo text- replacing option can be
used only to replace complete text words, that is, expressions delimited by
blank characters:
for example, PIC b ?07? b .
?07? can be replaced by, for example, "X(5)"
PIC b X(?07?) .
(?07?)- cannot be replaced by, for example, '5' because not
delimited by blanks.
as shown in the example, the full stop must not be coded immediately after
the parameter's name ?07?. This is to ensure:
- that the parameter is followed by a blank character -and- that enough space is reserved for the replacing text:
for example,
1) PICb?08?bbbb.
2) COPY XMccnnD REPLACING
==?08?== BY XXXXXXX
that is, "?08?bbb" will be replaced.
The space to be reserved for the replacing text must at least be equal to the
number of positions in that text plus one blank position, for example,
a parameter must be replaced by the character string XXBBXXBBXX, (i.e.
10 positions). The parameter must be coded as follows:
PIC ?01?bbbbbbb.
11 positions (10 for the text +1)
for OCCURS and/or VALUE clauses, and so on, the aformentioned standards
have to be applied accordingly.
3 - 72
3.9.3
MODULE
DATE OF
TYPE
LAST CHANGE
b)
MODULE
VERSION NO.
MODULE
SERIAL NO.
NAME
COPY
MODULE
(D AND P)
60-67
c)
70-73
c)
75-80
d)
91-95
d)
FRAME
60-67
c)
70-73
c)
75-80
d)
91-95
d)
NOTES
A) FORMAT OF DATE IS YY/MM/DD
B) FORMAT OF VERSION NO. IS XX.Y
XX = NUMBER BEING INCREASED BY 2 WITH EACH CHANGE (00//,
2 ...). IF A CHANGE APPEARS IN A COPY MODULE OF TYPE
'D', AND NOT IN TYPE 'P', OR VICE VERSA, THE NUMBER IS
INCREASED IN BOTH TYPES.
Y
3 - 73
DOCUMENTATION STANDARDS
2) For COPY modules and procedure frames, comment statements are used in
the beginning, defining the function.
3) Description of parameters, fields, subroutines, and so on, are put into the T5
module manual.
Example of 1), 2), and 3):
XMER02D
***
01
Position 60-67
0001
0002
0003
0004
0005
Position 70-73
XMER02P
***
XMER02 STOP ERROR HANDLING
********************* 81/03/12 02.0
********************************
XMER02-STOP-ERROR.
********************************
DISPLAY XMER01-O-ERRCODE XMER01-O-T1-MESSAGE(01) UPON IBM-DSP
PERFORM XMER02-DISPLAY THRU XMER02-DISPLAY-EXIT
VARYING XMER01-T1 FROM 02 BY 01
UNTIL XMER01-T1 IS EQUAL TO 05
IF XMER02-I-C-REC-O-ALLOWED
STOP "RECOVERY ''0'' ID ALLOWED"
ELSE
PERFORM XMER02-STOP THRU XMER02-STOP-EXIT
100 TIMES.
SET XMER02-I-C-REC-O-NOT-ALLOWED TO TRUE.
XMER02
XMER02
XMER02
XMER02
XMER02
XMER02
XMER02
XMER02
XMER02
XMER02
XMER02
XMER02
XMER02
XMER02
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
Position 75-80
Position 91-95
3 - 74
3.10
3.10.1
Programs
3 - 75
DOCUMENTATION STANDARDS
25
XUP002 0061
XUP002 0062
XUP002 0063
26
01 MODLEV-AREA
XUP002 0064
27
05 MODLEV
PIC 99
VALUE 00.
XUP002 0065
28
05 MODLEV-FILLER
PIC XXXX VALUE '----',
XUP002 0066
29
05 MODLEV-IDENT
PIC X(9)
VALUE 'MODLEVCBL', XUP002 0067
XUP002 0068
************************************************************************
XUP002 0069
XUP002 0070
COPY XWXXSI.
XUP002 0071
*
83/06/07 00.0 XWXXSI
30
01 SYSTEM-IDENT
PIC X(6)
VALUE 'S/34'.
XWXXSU
31
88 C-S34
VALUE 'S/34'.
XWXXSI
32
88 C-S36
VALUE 'S/36'.
XWXXSI
33
88 C-S38
VALUE 'S/38'.
XWXXSI
*
XWXXSI
************************************************************************
IF C-S34
WRITE ....
IF C-S36
WRITE ....
IF C-S38
WRITE ....
3 - 76
3 - 77
DOCUMENTATION STANDARDS
Control Statement
Pos. 7
'*'
Pos. 8 - 11
name of system for which the source statements are valid
(S/34, S/36 or S/38).
Pos. 12
blank
Pos. 13 - 14
n n = number of source statements following the control
statement, if not used default = 01
Example
*S/34 01
*PROCESS SOURCE LIST
*S/36
PROCESS SOURCE OFFSET
*S/38
*PROCESS
CONFIGURATION SECTION
*S/34 02
*SOURCE-COMPUTER. IBM-S34.
*OBJECT-COMPUTER. IBM-S34
*S/36 02
SOURCE-COMPUTER. IBM-S36.
OBJECT-COMPUTER. IBM-S36
*S/38 02
*SOURCE-COMPUTER. IBM-S38.
*OBJECT-COMPUTER. IBM-S38
*S/36 01
MEMORY 21504 CHARACTERS.
*S/34
*
MEMORY 23004 CHARACTERS.
SPECIAL-NAMES.
*S/34 03
*
UPSI-0 IS SWITCH-1-MNEMONIC
*
ON IS SWI-ON-MNEMONIC
*
OFF IS SWI-OFF-MNEMONIC.
position 7
3 - 78
b) After conversion
CONFIGURATION SECTION
*S/34 02
SOURCE-COMPUTER. IBM-S34.
OBJECT-COMPUTER. IBM-S34
*S/36 02
*SOURCE-COMPUTER. IBM-S36.
*OBJECT-COMPUTER. IBM-S36
*S/38 02
*SOURCE-COMPUTER. IBM-S38.
*OBJECT-COMPUTER. IBM-S38
*S/36 01
*
MEMORY 21504 CHARACTERS.
*S/34
MEMORY 23004 CHARACTERS.
SPECIAL-NAMES.
*S/34 03
UPSI-0 IS SWITCH-1-MNEMONIC
ON IS SWI-ON-MNEMONIC
OFF IS SWI-OFF-MNEMONIC.
position 7
3.10.2
Screen Formats
Similarly to programs our objective is to develop screen formats which can be used
on S/34, S/36 and S/38 while maintaining only one screen format source member.
To achieve this we must
apply standards in designing screen formats, and
run a conversion aid (S/38 only).
a) Design Standards
Although there is no difference between S/34 and S/36 screen formats, for S/38
some standards must be observed as described in 2.3.3.
b) Conversion Aid (S/38 only)
This is a set of modified IBM utilities which converts S/34-DSF to S/38-DDS
(menu SYS2). For conversion details see SB30-0447. During the conversion
3 - 79
DOCUMENTATION STANDARDS
process the following S/34 screen format functions are ignored as not or
incorrectly supported on S/38:
3 - 80
return input
suppress input
override fields
indicator for output/input fields.
CL Standards
Library
Standards
4.1
Introduction 4-3
Guidelines 4-3
Coordination and Scope 4-3
Modification Level 4-4
4.2
4.3
CL Standards 4-15
CL Complexes 4-15
CL Program Procedures 4-21
CL Messages 4-23
CL-Standard Procedures 4-23
Defining of Printer Files in Procedures 4-35
4.4
4.5
Miscellaneous 4-53
Prompt Display 4-53
4-1
LIBRARY STANDARDS
4-2
CL
Standards
Introduction
4.1
Introduction
4.1.1
Guidelines
Generally, library members such as menus and control language will not be fully
compatible between machines. Although conversion aids are often provided, in
practice a great deal of manual interaction is normally required for such conversion.
For these reasons,the BASIS policy is to keep these functions as simple as
possible. In addition, documentation is left as generalized as possible.
Documentation of particular features of a machine should be avoided. For
example, explanations such as '?1? on S/34' should be avoided. 'Parameter 1
means...' is superior.
Section 4 is restricted to standards. For example, cross-application CL procedures
and messages are documented in B4, Operating guide, and are available to the
user.
4.1.2
4-3
LIBRARY STANDARDS
PROGRAM SOURCE
COBOL PROGRAMS
SCREEN FORMATS
MODULES
PROGRAM OBJECT
COBOL PROGRAMS
SCREEN FORMATS
CALL MODULES
Each topic is discussed individually.
The Development Manager is responsible for controlling the assignment of
Subject
Menu names
Documented in
(aaMnnn)
Program/format/
sort names
(aaPnnn/
aaFnnn/
aaSnnn)
MIC numbers
(BASISMSG)
4.1.3
Modification Level
Modification levels are structured in such a way that utilities (such as UTLB in
BASIS) can find them in SOURCE as well as LOAD members. The modification
level is placed as close as possible to the beginning of the members in order to
allow fast search (especially in LOAD members, the member must be searched
byte by byte).
4-4
CL
Introduction
Standards
(COBOL program)
(RPG linkage programs)
(Screen formats)
(Message member)
(Menus) - standard structure not
applied, see 5 )
(CL complexes)
(Source members for print lists,
selection lists, order lists, file lists)
(Assembler routine)
The member type is stored in the ML. If this were not the case it would be very
difficult to determine the type of a utility. This is especially important for local
members.
1) COBOL
2) RPG:
4-5
LIBRARY STANDARDS
CCnnn XX.XX.XX XX XX
In the load member, IBM generates 4 bytes in front of each field. These positions
are not checked by the utility which looks for the ML. But in order to have a unique
ML in all load members these 4 positions are left blank in all member types.
4) MESSAGE MEMBER:
5) MENU:
a) Using SDA: Insert the 2 digits of ML in line 3 (heading line) pos. 3-4.
b) Using SEU/BILDMENU: Update MIC 0003/pos. 7-8 of "display text" source
member-aaMnnnDT, with the 2 digits of ML.
Execute BLDMENU with aaMnnn
6) CL COMPLEXES:
4-6
Menu
CL Standards
4.2
Menu Standards
4.2.1
Menu Types
aaM000
aaM001-499
XXM000
XXM001-499
2) User menus
aaM500
aaM501-999
XXM500
XXM501-999
3) Start menus
ZZM000
ZZM0uu
BASIS menus are designed and maintained by the development group. They
appear in the BASIS Documentation and must therefore not be changed by the
user. Normally the main menu has a sufficient number of menu items. If too many
menu items exist (selection possibilities, and so on), sub menus can be created for
similar activities. The BASIS cross application menus XXM000-499 provide a
proposal for organizing departmental activities such as daily and month-end
processing, and so on and are documented in B4, Operating Guide.
Generally, the user is free to build his own menus, so-called user menus, and to
rearrange items in BASIS menus according to local needs. Numbers 500-999 are
available to the user. User menus are created and maintained locally with SDA (or
by the MIS-group). Automatic linkage to the user main menu is provided by item
no. 23 of all BASIS menus (for example, OMM000-23 calls menu OMM500 and
XXM005-23 calls menu XXM500).
To make use of the IBM menu security system, so-called start menus are used to
channel the activities of every workstation user entitled to work on the computer.
Start menus must be created and maintained locally with SDA. A standard start
menu, ZZM000, which is supplied by Vienna can be used as a pattern. The
individual start menu automatically appears to the workstation user after sign-on.
4-7
LIBRARY STANDARDS
Automatic return to 'his' start menu is provided by item number 24 of all BASIS
main menus. A typical start menu contains item number 1 to assign message
member ('start-up') and items 2-24 to call permissable menus.
No hierarchical relationship exists between main and sub menu numbers.
Assignment of numbers 001-499 is left to the analyst designing an application. Item
number 24 of a main menu is always used return to the start menu, whereas item
number 24 of a sub-menu is used to return to the main menu. See the example on
the next page.
4-8
Menu
CL Standards
MENU ZZMOAB
START MENU
--Sales Department (AB)-1.
5.
6.
7.
22.
MENU OEM000
ORDER ENTRY
--MAIN MENU-1.
2.
5.
22.
TEL-SELL
ADVANCE SALESMAN
REPORTS MENU
SIGN-OFF
23. USER MENU
24. Start MENU
MENU INM500
DAILY INVOICING
--USER MAIN MENU-1.
2.
ORDER SUMMARY
NON-BUYING OUTLETS
EXCEPTIONREPORT
SIGN-OFF 23. USER MENU
24. MAIN MENU
MENU OEM003
ORDER ENTRY
--REPORTS MENU-1.
2.
3.
22.
START-UP
ORDER ENTRY
DAILY INV. (local)
DAILY CLOSING
SIGN OFF
MENU INM502
DAILY INVOICING
--LOCAL REPORTS MENU-1.
2.
3.
MENU XXM001
DAILY CLOSING
--MAIN MENU-1. FINAL ROUTE SETTLEMENT
2. DAILY REPORTS (SA & DS)
3. COMMISSION (del. Personnel)
4.
(Sales Staff)
22. SIGN-OFF 23. USER MENU
24. Start MENU
MENU OEM500
ORDER ENTRY
--USER MAIN MENU-1.
2.
4-9
LIBRARY STANDARDS
4.2.2
Menu Design
4
5
6-19
20
21-24
not available
menu name (also not available)
modification level (see 4.1.3),
name of application, resp. system function or cross application
title, for example, 'DAILY CLOSING', with 1 space between letters
main menu constant, or title of constant 'MAIN MENU' or
submenu title (for example, 'REPORTS MENU'), delimited by '--'
blank line
menu items
standard menu items
not available.
The sub-menu title is identical to the title of the main menu item.
Space is available for 13 menu items (lines 7-19).
Standard menu items presented in line 20:
22. SIGN-OFF 23. USER MENU 24. START MENU (for main menu)
24. MAIN MENU (for sub-menu)
- The OCL behind the standard menu items are:
22. XRC003 INTERACT,,?WS?
23. // MENU aaM500,?SLIB?
24. // MENU ZZM0?USER?
Comments are to be shown right-adjusted next to the menu item. Comments
do not appear between menu items.
Menu items are listed in a straight line down the page (except standard menu
items which appear on one line). If space is needed for comments, left adjust
menu items.
4 - 10
CL Standards
Menu
COMMAND
02 2
O R D E R
W5
MENU : OEM000
E N T R Y
A N D
I N V O I C I N G
--MAIN MENU--
1.
2.
3.
4.
5.
22.
ENTER
SIGN OFF
PROCESSING MENU
5
INQUIRY MENU
REPORTS MENU
MONTHLY CLOSE MENU
FILE MAINTENANCE MENU
23.
USER MENU
24.
START MENU 6
1
2
3
Menu name
Modification Level
Application title
4
5
6
READY
4 - 11
LIBRARY STANDARDS
COMMAND
04 2
O R D E R
W5
MENU : OEM001
E N T R Y
A N D
I N V O I C I N G
--ORDER PROCESSING MENU--
22.
ENTER
SIGN OFF
1.
2.
3.
4.
5.
6.
7.
8.
ORDER ENTRY
ORDER ENTRY-IMMEDIATE
ORDER MAINTENANCE
ODER RELEASE
DISKETTE ORDER ENTRY
BATCH UPDATE
PICK LISTS
INVOICES
23.
USER MENU
24.
RELEASE 5
START MENU
7
8
READY
COMMAND
W5
MENU : XPM000
P A T C H I N G
--MAIN MENU--
00
22.
ENTER
SIGN OFF
1.
2.
3.
4.
23.
USER MENU
24.
START MENU
4 - 12
READY
Menu
CL Standards
COMMAND
MENU : XPM001
06
--EXTRACT CONSTANTS
22.
ENTER
W5
P A T C H I N G
MENU--
1.
COBOL
2.
MENU
3.
MESSAGE
4.
SCREEN
5.
ALL
SIGN OFF
PROGRAMS
EXTRACT
PROGR.
EXTRACT
CONSTANTS
FROM
MEMBER
EXTRACT
CONSTANTS
FROM
FORMATS
EXTRACT
CONSTANTS
FROM
EXTRACT
FROM
MEMBERS
MENBERS
23.
USER MENU
&
ALL
24.
COMMON
CONSTANTS
MENU
MESS.MEMB.
SCR.
MEMBERS
FORMATS
TYPES
START MENU
4.2.3
READY
Menu Documentation
4 - 13
LIBRARY STANDARDS
4 - 14
CL Standards
4.3
CL Standards
4.3.1
CL Complexes
4 - 15
LIBRARY STANDARDS
4 - 16
CL Standards
User Complexes
If it is necessary to run user applications together with BASIS complexes in Multiple
Application Processing (MUAP), the user complexes have to be coded according to
BASIS standards, including job control. To allow this, message member entries
have been reserved in the job control area records (4460-4469) and CL messages
(1970-1979). (See 4.4.2.) If the above is provided for, the complex can be included
in MUAP processing as can any BASIS complex.
For a description of MUAP complexes, see manual XJ.
4 - 17
LIBRARY STANDARDS
Documentation in CL procedures:
1-10
11-20
21-30
31-40
41-50
51-60
61-70
71-80
1234567890123456789012345678901234567890123456789012345678901234567890123456789
*******************************************************************************************
* xxxxxx
DESCRIPTION
NN MODLEVCL *
*******************************************************************************************
*
***PARAMETERS
* NUMBER, VALUE
* 1 'XXXXXX' DESCRIPTION
* 2
X(8) DESCRIPTION
* 3
'A'
DESCRIPTION
*
'B'
DESCRIPTION
*
***SWITCHES
* NUMBER STATUS
* 1
0
DESCRIPTION
*
1
DESCRIPTION
* 2
1
DESCRIPTION
* 3
X
DESCRIPTION
*
***LOCAL DATA AREA
* POS. LENGTH
* 1
8
DESCRIPTION
* 9
1
DESCRIPTION
* 10
2
DESCRIPTION
*
***MESSAGE MEMBER
* MIC
POS/LENGTH
* XXXX XX XX DESCRIPTION
*
XX XX DEXCRIPTION
* XXXX XX XX DESCRIPTION
*
XX XX DESCRIPTION
*
***MAINTENANCE COMPLEX
aaC001
4 - 18
CL Standards
MIC NO.
POS.
LENGTH
0003
1
3
5
2
2
2
3nnn
31
36
40
56
5
4
1
5
Number of BLOCKS
Number of BLOCKS for EXTEND
On line indicator
Slot of diskette station
4nnn6nnn
1
9
10
12
14
8
1
2
2
1
16
Menu item
Execution type
Complex number
Version number
MUAP processing code
X = job not allowed in MUAP
CL-procedure name
LDA
POS.
LENGTH
101
156
PARAMETERS
TEXT
NO.
10*
11*
PTF 53.5
REL45
T3
T3
DEVELOPMENT
DEVELOPMENT
STANDARDS
STANDARDS
4 - 19
LIBRARY STANDARDS
************************************************************************** *
O E C 0 0 3
ORDER ENTRY TEL-SELL COMPLEX
02
MODLEVCL
*
**************************************************************************
*
*** PARAMETERS
* NUMVER VALUE
* NONE
*
*** SWITCHES
* NUMBER STATUS
*
1
1
ALWAYS SET ON FOR COMPLEX (USED ONLY I OEP230)
*
*** LOCAL DATA AREA
* POS.
LENGTH
*
1
2
USER-ID
*
3
2
WORKSTATION-ID
*** 05
14
OUTLET NAME AND ADDRESS SEARCH FIELD (INPUT TO OMP072)
*
05
7
OUTLET NUMBER (FROM OMP072 OR SELECTED FROM REVIEW SCREEN
*
20
6
PROGRAM AFTER OMP072 (UPD.: OEP200.USED ONLY IN OMP072)
*
35
6
NEXT PROGRAM NAME TO BE EXECUTED
*
41
1
ERROR INDICATOR
*
42
1
PROCESSING TYPE
*
71
6
OE20 ADDRESS (OF OUTLET SELECTED FROM REVIEW SCREEN)
*
77
5
FP03 ADDRESS (OF OUTLET SELECTED FROM REVIEW SCREEN)
*
*** MESSAGE MEMBER
* MIC
POS/LENGTH
* NONE
*
*** INITIALZE LDA
XXDELLDA
// LOCAL OFFSET-001,DATA-'?USER?'
// LOCAL OFFSET-003,DATA-'?WS?'
// LOCAL OFFSET-035,DATA-'OEP200'
// LOCAL OFFSET-102,DATA-'?1'OEM00105'?'
// LOCAL OFFSET-114,DATA-'?USER?'
// LOCAL OFFSET-116,DATA-'?WS?'
// LOCAL OFFSET-122,DATA-'?USER?'
// LOCAL OFFSET-245,DATA-'?M'0003.5.2'?'
*
*** ACCESS COMPANY & LOCATION FILE GROUP CODES.FORCE AS PARMETER 10 & 11
// IF ?10F'?M'0003,1,2'?'?/DUMMY
// IF ?11F'?M'0003,3,2'?'?/DUMMY
*
*** BUILD FILE OE20?USER? IF NOT EXISTING
// IF DATAF1-?11?OE20?USER? GOTO START
// BLDFILE ?11?OE20?,D,BLOCKS.?M'3000.31.5'?.512
*
// TAG START
*
*** SET ON SWITH-1
// SWITCH 10000000
*
*** SUBSTITUTE NEXT PROGRAM TO BE EXECUTED AS A TAG NAME
// TAG RETURN
// IF ?L'35,6'?/
GOTO END
// GOTO ?L'35,6'?
// TAG OEP200
OEP200 ,,,,,,,,,?10?,?11?
// GOTO RETURN
4 - 20
CL Standards
*
***TEL-SELL ORDER ENTRY
// TAG OEP210
OEP210 ,,,,,,,,,?10?,?11?
// GOTO RETURN
*
***TEL-SELL UPDATE ORDER
// TAG OEP220
OEP220 ,,,,,,,,,?10?,?11?
// GOTO RETURN
*
***TEL-SELL DISPLAZ CALLING STATUS
// TAG OEP230
OEP230 ,,,,,,,,,?10?,?11?
// GOTO RETURN
*
***OMP072 NAME ADDRESS SEARCH
// TAG OMP071
OMP072 ,,,,,,,,,?10?.?11?
// GOTO RETURN
*
***END COMPLEX
// TAG END
4.3.2
CL Program Procedures
PTF 53.5
REL45
T3
T3
DEVELOPMENT
DEVELOPMENT
STANDARDS
STANDARDS
4 - 21
LIBRARY STANDARDS
NOTE
THE COMPANY FILE GROUP CODE SHOULD BE SET TO BLANK IN
THE BASIS MESSAGE MEMBER.
The program name and title is taken from the Message Member and
displayed to the workstation calling the program (before actual LOAD), for
exaemple, O M P 0 3 0 UPDATE OM-FILE (suppress for batch jobs, that is,
on S/34 // IF JOBQ-NO IF EVOKED-NO MIC-no.).
Output files are deleted (before actual LOAD) to avoid SYS-stop. Use
standard complex XXDELFIL.
CL parameters are passed to the program from the CL program procedure,
either using the COBOL ACCEPT method (as described in 2.6.2) or via the
LDA (using the // LOCAL statement on S/34. See 2.6.1.
If the program was cancelled with recovery 2, cancel the entire job, that is, on
S/34 test Return Code ?CD? after the // RUN statement and CANCEL the
procedure with a message to the workstation.
CL program complexes have to be generated without history logging.
N
N
N
4 - 22
PTF
REL45
53.5 T3 DEVELOPMENT STANDARDS
CL Standards
4.3.3
CL Messages
The only way to display a message is from the message member (that is, use
// * MIC no.).
CL messages can be translated into local language with menu XIM000/// (via
SEU and screen formats).
CL messages are documented in B5, Implementation Guide (common
messages) and Taa (application related messages).
MIC Numbers 1-2999
MIC no. 1-100
101-999
1000-2999
Application related CL messages are assigned in ranges (for example, 10801099 OM, 1100-1119 AM, ...) with vacant records for future additions.
4.3.4
CL-Standard Procedures
A series of standard procedures is available for general purpose use e.g. deletion
of file(s), existence test on files etc.
The descriptive name for those procedures is:
XXcccccc
where cccccc is split into 2 times 3 characters with the first 3 ccc's
equalling the function name (such as CPY, DEL, TST) and the
next 3 'ccc' equalling the object name (such as FIL, FLS).
The following standard procedures exist and are documented in the following:
XXCPYFIL
copy file disk to disk
XXDELFIL
delete a single disk file
XXDELFLS
delete up to 11 disk files
XXORGFIL
organize an indexed disk file
XXRNMFIL
rename a disk file
XXTSTFIL
test presence of a disk file and restore from diskette if not present
XXTSTFLS
same for up to 11 files
XXCOPFLS
copy up to 5 files disk to disk
XXP050
check for valid security code/user-ID combination
XXP100
transfer records from file to LDA
PTF 53.5
REL45
T3
T3
DEVELOPMENT
DEVELOPMENT
STANDARDS
STANDARDS
4 - 23
4 - 24
SYS.JOB
ATTRIBUTES
TIME
10.51
PAGE
--5.0
---
------------
-----120
----30
-----
REL MRT
PROGRAM
RECORD NUM TOTAL
LEV MAX SIZE/K BYTES LENGTH STMTS
************************************************************************
* X X P 0 5 0
PROCESS AXX-JOBSEC RECORDS
00 MODLEVCL *
************************************************************************
***PARAMETER(S)
*
PARAMETER NUMBER
*
01: SECURITY CODE BEING USED FOR CHECKS IN XI01
*
FOR DETAILS SEE :
B2, JOB SECURITY (SECURITY CODE METHOD)
*
B7, AXX-JOBSEC OPTIONS
*
02: TO SAVE/RESTORE LDA POS. 114-117
(USER-ID)
*
03: TO SAVE/RESTORE LDA POS. 484-489
(SECURITY CODE)
*
***LOCAL DATA AREA (LDA)
*
POS.
LENGTH
*
114
4
USER-ID (ONLY TWO POSITIONS ARE USED)
*
484
6
SECURITY CODE
*
*************************************************************************
// IF JOBQ-NO IF EVOKED-NO
* 1129
// EVALUATE P2='?L'114,4'?'
// EVALUATE P3='?L'484,6'?'
// LOCAL OFFSET-484,DATA-'?1?',BLANK-6
// LOCAL OFFSET-114,DATA-'?USER?',BLANK-4
*
// LOAD XXP050
// FILE NAME-XI01,LABEL-?M'0003,1,2'?XI01,DISP-SHR
// RUN
*RESTORE LDA
// LOCAL OFFSET-114,DATA-'?2?'
// LOCAL OFFSET-484,DATA-'?3?'
*
NOLOG
---------------------
DATE 20/12/88
SUB
REF
NAME
TYPE TYPE
DATE
TIME
NUMBER
SECTORS
------- ---- ---- ------- ---------XXP050
P
20/01/88 10.45 000013
5
LIBRARY
1
LIBRARY STANDARDS
DATE 11/12/87
10.22
NOLOG
---------------------
ATTRIBUTES
TIME
PAGE 1
--5.0
---
------------
-----120
----51
-----
REL MRT
PROGRAM
RECORD NUM TOTAL
LEV MAX SIZE/K BYTES LENGTH STMTS
************************************************************************
* X X P 1 0 0
TRANSFER RECORDS FROM FILE TO LDA
00 MODLEVCL *
************************************************************************
***PARAMETER DESCRIPTION
*
PAR-1 FILE NAME ------------->
NAME OF INPUT FILE (RECL=132).
*
*
-2 SEARCH KEY ------------>
**** ONLY USED ID ?4? = 'L' ****
*
DEFINES -ALL- OR A GROUP OF RECORDS
*
VALUES MAY BE :
*
-NAME- ,
*
-NAME.- (=GROUP SELECTION) OR
*
-ALL(=DEFAULT FOR BLANK)
*
-3 PROCESSING INDIC. ------>
'START' =
PROGRAM PROVIDES DATA OF
*
1. RECORD IN FILE OR IF
*
DEFINED IN ?2?+?4?
*
1. RECORD OF A GROUP
*
BLANK
= PROGRAM PROVIDES DATA OF
*
'NEXT' RECORD IN PHYSICAL
*
SEQUENCE OF IF DEFINED
*
IN ?2?+?4? , -NEXT- RECORD
*
OF A GROUP
*
-4 FILE TYPE
-------------->
'L'
=
FILE TO BE PROCESSED IS A
*
'LISTLIBR' DISK FILE. ?2? IS
*
USED FOR RECORD SELECTION.
*
BLANK
= FILE TO BE PROCESSED IS A
*
NORMAL DISK FILE AND ?2? IS
*
IGNORED.-ALL- RECORDS WILL
*
BE SELECTED.
*
***LDA-DESCRIOPTON
*
POSITION
LENGTH
* 301 G
132
RECORD-AREA FROM FILE
*
301
8
PAR-2 / SEARCH KEY
*
433
7,0
REL. REC # OF LAST TRANSFERRED RECORD
*
-----> '9999998' = 'EOF' OR 'END OF GROUP'
*
440
8
PAR-3 / PROCESSING INDICATOR
*
448
1
PAR-4 / FILE TYPE
*
// * '?M1129?'
// LOACL OFFSET-301,DATA-'?2'ALL'?',BLANK-8
PAR-2 / SEARCH KEY
// LOCAL OFFSET-440,DATA-'?3?',BLANK-8
PAR-3 / PROCESSING INDIC.
// LOCAL OFFSET-448,DATA-'?4?',BLANK-1
PAR-4 / FILE TYPE
*
// LOAD XXP100
// FILE NAME-XX40,LABEL-?1?,DBLOCK-20
// RUN
*
SUB
REF
NAME
TYPE TYPE
DATE
TIME
NUMBER
SECTORS
------- ---- ---- ------- ---------XXP100
P
11/01/87 08.42 000013
7
LIBRARY - XDI
CL Standards
4 - 25
#LIBRARY
4 - 26
ATTRIBUTES
TIME
09.47
#LIBRARY
ATTRIBUTES
TIME
09.47
--1.0
---
------------
-----120
-----
PAGE
11
-----
---
1.0
---
------------
------
120
-----
22
-----
REL MRT
PROGRAM
RECORD NUM TOTAL
LEV MAX SIZE/K BYTES LENGTH STMTS
************************************************************************
* X X C O P F L S
COPY FILES DISK TO DISK
02 MODLEVCL *
************************************************************************
***PARAMETERS
*
NUMBER VALUE
*
1
X(8)
FILE LABEL OF INPUT
FILE
1
*
2
X(8)
FILE LABEL OF OUTPUT FILE
1
*
3
X(8)
FILE LABEL OF INPUT
FILE
2
*
4
X(8)
FILE LABEL OF OUTPUT FILE
2
*
5
X(8)
FILE LABEL OF INPUT
FILE
3
*
6
X(8)
FILE LABEL OF OUTPUT FILE
3
*
7
X(8)
FILE LABEL OF INPUT
FILE
4
*
8
X(8)
FILE LABEL OF OUTPUT FILE
4
*
9
X(8)
FILE LABEL OF INPUT
FILE
5
*
10
X(8)
FILE LABEL OF OUTPUT FILE
5
*
// IFF ?01?/
IFF ?02?/
XXCPYFIL ?01?,?02?
// IFF ?03?/
IFF ?04?/
XXCPYFIL ?03?,?04?
// IFF ?05?/
IFF ?06?/
XXCPYFIL ?05?,?06?
// IFF ?07?/
IFF ?08?/
XXCPYFIL ?07?,?08?
// IFF ?09?/
IFF ?10?/
XXCPYFIL ?09?,?10?
NOLOG
---------------------
DATE 26/11/87
SUB
REF
NAME
TYPE TYPE
DATE
TIME
NUMBER
SECTORS
------- ---- ---- ------- ---------XXCOPFLS
P
05/06/84 09.33 000002
4
LIBRARY
2
PAGE
REL MRT
PROGRAM
RECORD NUM TOTAL
LEV MAX SIZE/K BYTES LENGTH STMTS
************************************************************************
* X X B L D M S G
UPDATE MESSGAE MEMBER - BASISMS(x)
02 MODLEVCL *
************************************************************************
***PARAMETERS
*
NUMBER VALUE
*
1
X(1)
MESSAGE MEMBER SUFFIX
*
// IF ?1?/ * 0100
SEU BASISMS?1R?,S,XXF000,80,?SLIB?
CREATE BASISMS?1?,REPLACE,?SLIB?
NOLOG
---------------------
DATE 26/11/87
SUB
REF
NAME
TYPE TYPE
DATE
TIME
NUMBER
SECTORS
------- ---- ---- ------- ---------XXBLDMSG
P
12/03/84 12.38 000001
2
LIBRARY
1
LIBRARY STANDARDS
#LIBRARY
ATTRIBUTES
TIME
09.47
PAGE
--4.0
---
------------
-----120
----37
-----
REL MRT
PROGRAM
RECORD NUM TOTAL
LEV MAX SIZE/K BYTES LENGTH STMTS
************************************************************************
* X X C P Y F I L
COPY FILE DISK TO DISK
06 MODLEVCL *
************************************************************************
***PARAMETERS
*
NUMBER VALUE
*
1
X(8)
FILE LABEL OF FILE TO BE COPIED
*
2
X(8)
FILE LABEL OF OUTPUT FILE
*
3
'D
OPTIONAL, DELETE INPUT FILE (DEFAULT=NO DELETE)
*
4
N(4)
OPTIONAL, NO.OF BLOCKS FOR OUTPUT FILE (DEFAULT=BLOCKS
*
FROM INPUT FILE)
*
5
X(3)
'YES' OR 'NO' FOR DFILE-KEYWORD , BLANK = NO CHANGE
*
6
X(3)
'YES' OR 'NO' FOR IFILE-KEYWORD , BLANK = NO CHANGE
*
// IF
?1?=?2?
*
'- TRYING TO COPY TO SAME FILE-LABEL : ?1?'
// IF
?1?=?2?
*
'- JOB IS IN TERMINATION...'
// IF
?1?=?2?
PAUSE
// IF
?1?=?2?
CANCEL
*
// IFF DATAF1-?1?
RETURN
XXDELFIL
?2?
*
// IF
JOBQ-NO
IF EVOKED-NO
* '?M1120?'
// LOAD $COPY
// FILE NAME-COPYIN,LABEL-?1?,
// IF
?3?/D
RETAIN-S,
//
UNIT-F1,
// IF
?M'0002,36,1'?/
DISP-SHRRM
// IFF ?M'0002,36,1'?/
DISP-SHR
// FILE NAME-COPYO,LABEL-?2?,
//
UNIT-F1
// IFF ?5?/
DFILE
-?5?,
// IFF ?6?/
IFILE-?6?,
//
BLOCKS-?4'?F'S,?1?'?'?
// RUN
// COPYFILE OUTPUT-DISK
// END
NOLOG
---------------------
DATE 26/11/87
SUB
REF
NAME
TYPE TYPE
DATE
TIME
NUMBER
SECTORS
------- ---- ---- ------- ---------XXCPYFIL
P
04/03/87 09.33 000002
5
LIBRARY
3
CL Standards
4 - 27
4 - 28
#LIBRARY
TIME
----
DATE
-------
------
REF
NUMBER
ATTRIBUTES
TIME
09.47
NOLOG
---------------------
DATE 26/11/87
PAGE
---
--8.0
------------
------
----96
-----
REL MRT
PROGRAM
RECORD NUM TOTAL
LEV MAX SIZE/K BYTES LENGTH STMTS
************************************************************************
* X X D E L F I L
DELETE A SINGLE DISK FILE (IF PRESENT) 00 MODLEVCL *
************************************************************************
***PARAMETERS
*
NUMBER VALUE
*
1
X(8)
FILE LABEL OF FILE TO BE DELETED
*
// IFF DATAF1-?1?
RETURN
*
// IF JOBQ-NO
IF EVOKED-NO
* ?M11217'
// LOAD $DELET
// RUN
// SCRATCH LABEL-?1?,UNIT-F1
// END
SUB
NAME
TYPE TYPE
SECTORS
------- ---- ----XXDELFIL
P
15
2
LIBRARY
4
LIBRARY STANDARDS
#LIBRARY
ATTRIBUTES
TIME
09.47
PAGE
--2.0
---
------------
-----96
----36
-----
REL MRT
PROGRAM
RECORD NUM TOTAL
LEV MAX SIZE/K BYTES LENGTH STMTS
************************************************************************
* X X C P Y F I L
DELETE UP TO 11 DISK FILES(IF PRESENT) 02 MODLEVCL *
************************************************************************
***PARAMETERS
*
NUMBER VALUE
*
1-11
X(8)
FILE LABEL(S) OF FILE(S) TO BE DELETED
*
BLANK
TERMINATES THE PARAMETER LIST
*
// IF
JOBQ-NO
IF EVOKED-NO
* 1122
// LOAD $DELT
// RUN
// IF ?01?/
GOTO ENDO
// IF DATAF1-?1?
SCRATCH UNIT-F1,LABEL-?1?
// IF ?02?/
GOTO ENDO
// IF DATAF1-?2?
SCRATCH UNIT-F1,LABEL-?2?
// IF ?03?/
GOTO ENDO
// IF DATAF1-?3?
SCRATCH UNIT-F1,LABEL-?3?
// IF ?04?/
GOTO ENDO
// IF DATAF1-?4?
SCRATCH UNIT-F1,LABEL-?4?
// IF ?05?/
GOTO ENDO
// IF DATAF1-?5?
SCRATCH UNIT-F1,LABEL-?5?
// IF ?06?/
GOTO ENDO
// IF DATAF1-?6?
SCRATCH UNIT-F1,LABEL-?6?
// IF ?07?/
GOTO ENDO
// IF DATAF1-?7?
SCRATCH UNIT-F1,LABEL-?7?
// IF ?08?/
GOTO ENDO
// IF DATAF1-?8?
SCRATCH UNIT-F1,LABEL-?8?
// IF ?09?/
GOTO ENDO
// IF DATAF1-?9?
SCRATCH UNIT-F1,LABEL-?9?
// IF ?10?/
GOTO ENDO
// IF DATAF1-?10?
SCRATCH UNIT-F1,LABEL-?10?
// IF ?11?/
GOTO ENDO
// IF DATAF1-?11?
SCRATCH UNIT-F1,LABEL-?11?
// TAG ENDO
// END
NOLOG
---------------------
DATE 26/11/87
SUB
REF
NAME
TYPE TYPE
DATE
TIME
NUMBER
SECTORS
------- ---- ---- ------- ---------XXDELFLS
P
31/10/84 31.35 000007
5
LIBRARY
5
CL Standards
4 - 29
4 - 30
#LIBRARY
ATTRIBUTES
TIME
09.47
PAGE
--3.0
---
------------
-----96
----5
-----
REL MRT
PROGRAM
RECORD NUM TOTAL
LEV MAX SIZE/K BYTES LENGTH STMTS
************************************************************************
* X X D E L L D A
DELETE LDA (SET POS.1-256 TO BLANK)
02 MODLEVCL *
************************************************************************
*
// LOCAL BLANK-256
NOLOG
---------------------
DATE 26/11/87
SUB
REF
NAME
TYPE TYPE
DATE
TIME
NUMBER
SECTORS
------- ---- ---- ------- ---------XXDELLDA
P
27/09/85 12.45 000001
1
LIBRARY
6
LIBRARY STANDARDS
#LIBRARY
ATTRIBUTES
TIME
09.47
PAGE
--1.0
---
------------
-----96
----32
-----
REL MRT
PROGRAM
RECORD NUM TOTAL
LEV MAX SIZE/K BYTES LENGTH STMTS
************************************************************************
* X X O R G F I L
ORGANIZE AN INDEXED DISK FILE
02 MODLEVCL *
************************************************************************
*
***PARAMETERS
*
NUMBER VALUE
*
1
X(8)
FILE LABEL OF FILE TO BE ORGANIZED
*
2
X(8)
FILE LABEL OF OUTPUT FILE
*
3
'D
OPTIONAL, DELETE INPUT FILE (DEFAULT=NO DELETE)
*
4
N(4)
OPTIONAL, NO.OF BLOCKS FOR OUTPUT FILE (DEFAULT=BLOCKS
*
FROM INPUT FILE)
*
5
N(3)
OPTIONAL, POS.OF DELETION CHARACTER
*
'SYSDEL'
REMOVE DELETED RECS. FROM DELETE-CAPABLE FILE
*
6
X(2)
OPTIONAL, DELETION CHARACTER(S)
*
// IFF DATAF1-?1?
RETURN
XXDELFIL
?2?
*
// IF
JOBQ-NO
IF EVOKED-NO
* '?M1124?'
// LOAD $COPY
// FILE NAME-COPYIN,LABEL-?1?,
// IF
?3?/D
RETAIN-S,
// UNIT-F1,
// FILE NAME-COPYO,LABEL-?2?,BLOCKS-?4'?F'S,?1?'?'?,
// IF ?5?/SYSDEL
DFILE-YES,
// UNIT-F1
// RUN
// COPYFILE OUTPUT-DISK,
// IF ?5?/SYSDEL
DELETE-SYSDEL,
// ELSE
IFF ?5?/
IFF ?6?/ DELETE-'?5?,?6?,
// REORG-YES
// END
NOLOG
---------------------
DATE 26/11/87
SUB
REF
NAME
TYPE TYPE
DATE
TIME
NUMBER
SECTORS
------- ---- ---- ------- ---------XXORGFIL
P
08/11/83 14.51 000003
5
LIBRARY
7
CL Standards
4 - 31
4 - 32
#LIBRARY
TIME
----
DATE
-------
------
REF
NUMBER
ATTRIBUTES
TIME
09.47
NOLOG
---------------------
DATE 26/11/87
PAGE
---
--8.0
------------
------
----120
-----
REL MRT
PROGRAM
RECORD NUM TOTAL
LEV MAX SIZE/K BYTES LENGTH STMTS
************************************************************************
* X X R N M F I L
RENAME FILE,DELETE NEW LABEL IF PRES.
00 MODLEVCL *
************************************************************************
*
***PARAMETERS
*
NUMBER VALUE
*
1
X(8)
FILE LABEL OF FILE TO BE RENAMED
*
2
X(8)
NEW FILE LABEL
*
// IF JOBQ-NO
IF EVOKED-NO
* '?M11237'
// LOAD $RENAM
// RUN
// RENAME LABEL-?1?,NEWLABEL-?2?
// END
SUB
NAME
TYPE TYPE
SECTORS
------- ---- ----XXRNMFIL
P
17
2
LIBRARY
8
LIBRARY STANDARDS
#LIBRARY
TIME
----
DATE
-------
------
REF
NUMBER
ATTRIBUTES
TIME
09.47
NOLOG
---------------------
DATE 26/11/87
PAGE
---
--8.0
------------
------
----96
-----
REL MRT
PROGRAM
RECORD NUM TOTAL
LEV MAX SIZE/K BYTES LENGTH STMTS
************************************************************************
* X X T S T F I L
TEST PRESENCE OF FILE,RESTORE FROM DSKT 00 MODLEVCL *
************************************************************************
*
***PARAMETERS
*
NUMBER VALUE
*
1
X(8)
FILE LABEL OF FILE TO BE TESTED AND RESTORED
*
2
X(5)
OPTIONAL, DISKETTE LOCATION (DEFAULT=S1)
*
// IF DATAF1-?1?
RETURN
*
// IF JOBQ-NO
IF EVOKED-NO
* '?M1126?'
// ** '?M1127?'
// IF JOBQ-NO
IF EVOKED-NO
* '?M1125?'
// LOAD $COPY
// FILE NAME-COPYIN,LABEL-?1?,UNIT-F1,LOCATION-?2'S1'?
// FILE NAME-COPYO,LABEL-?1?,UNIT-F1
// RUN
// COPYFILE OUTPUT-DISK,REORG-NO
// END
SUB
NAME
TYPE TYPE
SECTORS
------- ---- ----XXTSTFIL
P
20
3
LIBRARY
9
CL Standards
4 - 33
4 - 34
#LIBRARY
TIME
----
DATE
-------
------
REF
NUMBER
ATTRIBUTES
TIME
09.47
NOLOG
---------------------
DATE 26/11/87
PAGE
---
--8.0
------------
------
----96
-----
REL MRT
PROGRAM
RECORD NUM TOTAL
LEV MAX SIZE/K BYTES LENGTH STMTS
************************************************************************
* X X T S T F I L
TEST PRES.OF AND RESTORE UP TO 11 FILES 00 MODLEVCL *
************************************************************************
***PARAMETERS
*
NUMBER VALUE
*
1-11
X(8)
FILE LABEL(S) OF FILE(S) TO BE TESTED AND RESTORED
*
BLANK
TERMINATES THE PARAMETER LIST
*
// IF
JOBQ-NO
IF EVOKED-NO
* 1128
// IF ?01?/
XXTSTFIL ?1?,S1
// ELSE
RETURN
// IF ?02?/
XXTSTFIL ?2?,S1
// ELSE
RETURN
// IF ?03?/
XXTSTFIL ?3?,S1
// ELSE
RETURN
// IF ?04?/
XXTSTFIL ?4?,S1
// ELSE
RETURN
// IF ?05?/
XXTSTFIL ?5?,S1
// ELSE
RETURN
// IF ?06?/
XXTSTFIL ?6?,S1
// ELSE
RETURN
// IF ?07?/
XXTSTFIL ?7?,S1
// ELSE
RETURN
// IF ?08?/
XXTSTFIL ?8?,S1
// ELSE
RETURN
// IF ?09?/
XXTSTFIL ?9?,S1
// ELSE
RETURN
// IF ?10?/
XXTSTFIL ?10?,S1
// ELSE
RETURN
// IF ?11?/
XXTSTFIL ?11?,S1
// ELSE
RETURN
SUB
NAME
TYPE TYPE
SECTORS
------- ---- ----XXTSTFLS
P
32
4
LIBRARY
10
LIBRARY STANDARDS
CL Standards
4.3.5
MIC
// LOAD aaPnnn
// PRINTER NAME-aaPnnn?M7020?
// FILE
// FILE
.
.
.
// RUN
7020
, FORMS-5501, ALIGN-YES,......
7030
7031
7032
, COPIES-3,......
, COPIES-2,......
, FORMS-5502,......
7040
7050
, PRIORITY-0,....
// IF ?L'144,2'?/01
// IF ?L'144,2'?/02
// IF ?L'144,2'?/02
CPI-15
// IF ?L'144,2'?/04
// IF ?L'144,2'?/04
CPI-15
POSITIONS)
(132 PRINT
CPI-15
(198 PRINT
POSITIONS)
// FILE
// FILE
.
.
.
// RUN
4 - 35
LIBRARY STANDARDS
4 - 36
Message Member
4.4
Message Member
The message member is used in BASIS as a central place to store and maintain
information to be used in CL-procedures.
4.4.1
Concept
NOTE
THE COMPANY GROUPING CODE IS NO LONGER SUPPORTED BY
BASIS. THE VALUE IN THE BASIS MESSAGE MEMBER SHOULD BE
SET TO SPACES.
The message member must be manually activated from the user's start menu
ZZMuu (with uu = user ID). Refer to 4.2, Menu Standards.
4 - 37
LIBRARY STANDARDS
4.4.2
MIC number
0001
BASIS I / BASIS II title
0002
Modification level (BASIS I as well as BASIS II)
0003
Company and location file groups and libraries.
0004
SD Preparation
0005
MUAP Library
0006
SAVDAT (internal BASIS save data parameters)
0007
BASIS Data Dictionay (IDDU) and Query Library
0008
BASIS to ROSS Linkage
0009
BASIS to ROSS Linkage
4 - 38
0nnn
1nnn2nnn
3nnn
4nnn6nnn
7nnn
8nnn
90009499
95009998
9999
Message Member
1029
1059
1069
1079
1099
1119
1139
1159
1179
1199
1249
1269
1289
1339
1399
1449
1474
1549
1579
1584
1629
1649
1699
1729
1779
1809
1819
1829
1849
1879
1899
1949
1969
1979
1989
1999
2099
2129
2139
2159
2179
2219
2239
FP (1)
OE (1)
XO
XJ & XR (1)
OM (1)
AM (1)
XX
XL (1)
OM (2)
XL (2)
OM (3)
XP
XI
AM (2)
FP (2)
SI (1)
OE (2)
RS (1)
IN (1)
XJ & XR (2)
SA (1)
IN (2)
DS
FI (1)
AR (1)
SD (1)
MA
KA
CA
WH
CF (1)
RS (2)
SI (2)
USER JOBS
XA (1)
AR (2)
CB
SI (3)
SB (2)
FI (2)
XA (2)
CS (1)
AR (3)
2240
2250
2270
2275
2280
2290
2300
2400
2425
2850
2880
2249
2269
2274
2279
2289
2299
2399
2424
2449
2879
2899
SD (2)
SA (2)
SB (2)
AR (4)
CF (2)
CS (2)
OS & PA
EC
ED
SD (3)
XJ & XR (3)
4 - 39
LIBRARY STANDARDS
3410
3430
3440
3500
3520
3530
3429
3439
3449
3519
3529
3539
MM
AR (2)
SD
OS
EC
PA
4 - 40
4024
4049
4074
4099
4109
4139
4154
4159
4169
4219
4234
4249
4269
4279
4299
4329
4344
4364
4374
4394
4409
4439
4459
4469
4499
4509
4529
4549
4559
4565
4569
4619
4639
4649
6399
6909
6919
FP
OE (1)
OM (1)
AM
XL (reserved)
OM (2)
CF
XJ (1)
AM (2)
SI
OE (2)
RS (1)
SA
RS (2)
DS
IN
FI (1)
AR (1)
FI (2)
SD (1)
CA
WH
XA
USER JOBS
CB
SB (1)
CS
MM
AR (2)
SD (2)
SB (2)
OS
EC
PA
XJ (2)
RS (3)
OC
Message Member
12
IDENT1
10
MODLEVEL1
11
13
free
21
15
21
23
free
27
Identifier 'MODLEVMSG'
G
MODLEVEL2
IDENT2
System Identification
SYSIDENT
36
'b' = S/36
'1' = S/34
'2' = AS/400
HISTORY
37
TEXT
38
free
41
35
4 - 41
LIBRARY STANDARDS
COMPANYFG
LOCATIONFG
LOCATIONCD
50
AS/400 - as of Release 40
10
LIBDDS
17
10
FILLIB36
27
10
LANGLIB
37
10
MSGF
47
10
57
20
G
FILLIB
TEXT
4 - 42
PTF
PTF53.5
53.5 T3
T3 DEVELOPMENT
DEVELOPMENT STANDARDS
Message Member
G
ADMGRPLBL
Administration / Distribution
74
G
MUAPLIB
Multiple Application
MUAP library
68
18
SAVLIB
SAVDAT Library
SAVGRP
SAVUSR
11
SAVAST
19
SAVDAYINC
27
4 - 43
LIBRARY STANDARDS
*SAVHST
28
16
BASDATDIC
BASQRYLIB
18
17
60
User Text
NOTE:
The Release 40 BASIS Data
Dictinary is called 'BASNDIC'. This
name can be changed by the user.
The Release 40 BASIS Query
Library is called 'BASNQRY'. This
name can be changed by the user.
The BASIS Data Dictionary and
Query Library prior to Release 40
are called 'BASISDIC' and
'BASISQRY'. These names should
not be changed.
4 - 44
Message Member
76
ENTRY
MARSC
OECOM
17
76
17
25
Note:
Do not use c.GL99X or GL99TR as
file labels. These file labels are
already used by BASIS (as internal
workfile) and by ROSS/GL.
CLMESSAGE
75
Message Text
(Standard English texts provided by
Vienna, can be translated into local
language via SEU.)
4 - 45
LIBRARY STANDARDS
G
FILENAME
FILETEXT
FILLER2
30
File Description
free
8
30
22
1
Descriptive text
31
10
SIZE
31
Number of BLOCKS to be substituted in OCL for output file ( mandatory left adjusted, e.g. '20')
EXTEND
36
ONLINE
40
ON-line indicator
blank = file is on-line permanently
'1' = file must be restored from
diskette (BEFORE USING IT)
41
15
free
56
20
SLOTNO
56
VOLUMEID
61
GENERATION
67
Number of generations
69
free
75
File Type
C ... Company File
L ... Location File
FILETYPE
4 - 46
Message Member
15
Job Identification
MENUITEM
EXTYPE
Execution Type
'J' = Job queue
'j' = Always runs in job queue
'E'= Evoked
'e' = Always runs evoked
'B'= Interactive
'0' = Always runs interactive
The execution type values apply
mainly to pre-native applications.
Users cannot override the code for
a job defined to "always" execute a
certain way.
COMPLEXNO
VERSIONNO
PRIORITY
N
A
10
12
14
2
2
1
15
OCL Specifications
CLPROC
16
22
CLPARAM
23
38
JOBQSUF
61
TEXTMIC
63
OCL parameters
(as entered in S/36 mode. No
padded blanks between parameters
and separated by commas (,), e.g.
LIST,A,,,100
4 - 47
LIBRARY STANDARDS
SAVEMIC1
67
SAVEMIC2
71
75
4 - 48
MEDMSGREC
75
VOLID
Media Volume ID
free
SAVMEDSGL
SAVMEDMUAP
14
MSGCOB
19
Message Member
20
40
ENDTAP
60
66
free
MEDMIC
72
G SAVCPYDEF
75
RETDAY
Retention days
(000 - 999)
FLELBL
SUFLBL
SAVDEF
4*16
4 - 49
LIBRARY STANDARDS
Type:
Direct to media
Online save
Online and save file group
Save at end of MUAP job
71
75
free
NOTE:
The 16th element of the Safety
Copy Definitions field can also
contain a pointer to a Media Message Records definition. The MIC
number stored in this element
overwrites the default record 9500.
Only the first Safety Copy Definition
record of a group is accessed for
this override. If the 16th element of
another record also contains a MIC
number the element is ignored.
4 - 50
75
Message Member
4.4.3
Maintenance
The BASISMSG message file is used as a central place to store all CL options
required to run the system. This simplifies maintenance, especially when the BASIS
system is being installed. An XIMnnn menu offers all the maintenance and print
facilities needed by the responsible person (for example, EDP manager or system
operator).
The development group will supply a 'standard' message member on diskette at
the time of initial implementation. The user should update or translate this message
member carefully, paying heed, for example, to file sizes. Aternatively, the
message member can be copied from a neighboring bottler.
When a new application is implemented, the appropirate 'standard' message
records are also supplied on diskette from Vienna. The user has a special utility to
merge them into the existing BASISMSG member and update or translate them
accordingly.
Any updates to existing message records will be reported to the users on special
forms (included in the program distribution). The actual update must be done
record by record by the user (via SEU). This is preferrable to an automatic replace
because this would destroy previous updates which the user has made.
CL messages in the message member are not translatable with XP Patching.
4 - 51
LIBRARY STANDARDS
4 - 52
Miscellaneous
Message
Member
4.5
Miscellaneous
4.5.1
Prompt Display
Use:
For system functions, the prompt display can be useful to enter parameters.
For applications, the XO run options will normally be preferred.
The prompt display is generally used interactive jobs and is not allowed in the job
queue.
Name:
aaF000 for member except aa = XU (one member for all PROMPT formats of
an application), FMTnn (01-99) for individual formats.
XUccccPR for member used in a utility, where cccc is taken from the main
complex name (see 2.1.1)
Standards for Patching
Standard format FMT01 with modification level is needed but is never
displayed.
Patchable text must not exceed 80 characters.
Text which is not to be translated must be furnished with 'Y' or 'N' in NonDisplay column pos. 43-44 (for example default values)
Layout:
Input fields on the left side down the screen (starting in position 4)
Input fields with column separator at exact length (for example, only 2 slots
for a 2 byte field).
Headings in line 3 (application name and appropriate text, screen number
and processing mode) and line 4 (if needed)
4 - 53
LIBRARY STANDARDS
Explanatory text on the right side down the screen (starting in position 14).
CMD key description in line 22 (if applicable)
Error message in line 24.
Error Message:
A standard SWITCH 8 is used to control display of an error message "INVALID
OR MISSING PARAMETER". Switch 8 is converted to indicator 98 to be used
internally for displays of error message.
Screen Number (aaSnn)
The range between 80 and 99 is used. It is displayed in line 3, pos. 64-68.
Command and Function Keys
Return code ?CD? can be used to test for command or function keys
Command-7 is used to return to the menu
The roll up/down key may be useful if several screens are necessary.
4 - 54
Message
Member
Miscellaneous
BASIS
TRANSFER
P A T C H I N G
TRANSLATED BACK TO SOURCE
|p|
ENTER
MEMBER
|x|p|p|0|2|4||
ENTER
MEMEBER
TYPE
INVALID
OR
NO
PARAMETERS
XPS80
....MESSAGE MEMBER
F ....SCREEN FORMAT
M ....MENU
NAME
ENTERED
1)
2)
3)
4)
MEMBER
4 - 55
LIBRARY STANDARDS
4 - 56
Development Steps
Application Development
Standards
5.1
5.2
5-1
APPLICATION DEVELOPMENT
STANDARDS
5-2
Development Steps
5.1
Development Steps
5.1.1
5.1.2
(Sign-off step 1)
5.1.3
The Project Manager and his senior manager are responsible for this development
step.
5-3
APPLICATION DEVELOPMENT
STANDARDS
The step starts with the actualization of the Field Requirements based on the latest
printout of the Requirements Data Base.
The analysis and evaluation of the requirements is accomplished according to the
current and future business situations. The evaluation is supported by surveys thru
MIS channels and on-site evaluations.
5.1.4
System Concept
The system concept is prepared by the Project Manager with assistance of other
members of the development team.
It consists of:
Revision and itemization of the brief description of the Broad Design,
Description of functions supported including:
- functions covered and how they are supported
- special problems and solutions
- special end-user features
Data flow also showing the integration and interfaces
Description of complexes and menu items
Major functions by program
Prototypes and sequence of screens and reports with correct and realistic
data (in English languageno live data from users)
Definition and description of system and user options
Concept of major files - data bases
Definition of support utilities
Description of access security concept
Concepts for restart, reruns and safety copies
Hardware considerations
List of Field Change Requests included as an attachment
5.1.5
5-4
Development Steps
The system concept is distributed to the MIS Managers of the Coca-Cola Company
and to the selected key users. The review and feedback is requested from the field
within a specified period of time, which has to be considered in the project
planning.
The answers from the field are discussed and reviewed with the responsible
customer services manager and senior development management. Changes to the
system concept are considered, if necessary and useful.
The Final System Concept is created after review and sign-off by CCCS
Management.
The Project Plan is completed with
Task details
Dependencies
Assignment of resources
The final System Concept is distributed to the field.
(Sign-off step 3)
5.1.6
Menu items
Complexes
Restart and repetition runs
Safety copy concept
Use of BASIS tools (XL...)
Procedures (OCL, CL)
Design of queries and SQL
Use of existing modules and frames
Consideration of BASIS standards
5-5
APPLICATION DEVELOPMENT
STANDARDS
The basic documentation material has to be created, discussed and passed over to
the documentation department. A report 'Deviations from System Concept'
including reasons and explanations has to be prepared. Review (Sign off) of detail
design and deviations from system concept by senior development management.
(Sign-off step 4)
5.1.7
Programming
5.1.8
Documentation
All external documentation (B manuals and Application Manuals) are produced and
edited by the Documentation department according to standards described in T3.
Documentation starts in parallel to Step 6 (Technical Detail Design) and has to be
5-6
Development Steps
completed (draft version) for system test. The final version has to be submitted
together with all application members to the acceptance test. Documentation is
distributed to the field in coordination with program/release distribution.
The Project Manager is responsible for:
coordination of deadlines
submission of necessary information to the Documentation Department
providing ongoing support and documentation enhancements according to
development status
contents and accuracy
approval of final application manuals
The application manuals are a substantial part of the final product and therefore
important aspect of system test and acceptance test.
5.1.9
System Test
System test is conducted by Project Manager and executed by the whole project
team.
Following items have to be considered while preparing test data:
selection of representative data from bottling plants
completion of a small data base containing single transactions to be
especially tested
creation of system test check lists
The execution of the System Test requires following:
test
test
test
test
test
test
test
test
test
test
5-7
APPLICATION DEVELOPMENT
STANDARDS
5.1.10
Pilot Installation
5-8
Development Steps
After completion of all implementation work a final meeting with local responsible
management and staff involved must be arranged. Open or remaining points have
to be discussed. Agreement has to be reached about further steps of
implementation and organizational or programming work still to be done. Local
management should approve quality and agree continuing live run. An
implementation report has to be prepared by the responsible Project Manager.
(Sign-off step 9)
All members except objects are submitted to Quality Control and Distribution
department according to described standards.
5.1.11
Acceptance Test
The Acceptance Test is performed under consideration of the overall project plan
and the BASIS release planning. Before the start of the first phase of testing, the
test files and the list of functional and business test cases are actualized.
The execution of the Acceptance Test requires attention of:
5-9
APPLICATION DEVELOPMENT
STANDARDS
5.1.12
Distribution
5.1.13
Evaluation
5 - 10
Development Steps
5.1.14
Major enhancement projects are managed like new development projects and
require all development steps from 1 to 13.
Maintenance, enhancements and major revisions of applications are handled in
releases. A release is defined as one project and may consist of several tasks.
Which field change requests (FCR's) have to be considered within a release is
decided by Customer Service Managers and the responsible managers of
Application Services and New Development.
For urgent requests the Customer Service Manager can decide to arrange a
special program distribution. All special program distributions are to be included in
the next release.
5 - 11
APPLICATION DEVELOPMENT
STANDARDS
5 - 12
Development Steps
5.1.15
5 - 13
APPLICATION DEVELOPMENT
STANDARDS
Project:
Planned completion date:
SIGN-OFF STEP
Project Manager:
Supervising Mgr.:
Supervising Manager
Date
Signature
Senior Manager
Date
Signature
Remarks
1. Project Definition
2. System Concept
Internal Review
(Ahead of Distribution)
3. System Concept Review
Final Version
(after field review)
4. Technical Detail Design
- All program descript.
- Deviations Reports
5. Program Concept
(of all programs incl.)
Project. Mgr.
6. Final System Test
7. Documentation
Completness of internal
and external Manuals
8. Pilot Implementation
(Preparation of Data
and personell)
Project Mgr.
9. Completion of Pilot
Implementation and
Submission of programs
10. Acceptance Test Phase 1
( List of findings )
Mgr. Quality Control
11. Acceptance Test
Final test and approval
(Applic.incl.Document.)
All steps habe to be completed according to standards described in BASIS II Documentation T3.
Additional remarks or reports (Deviation Reports) are attached
5 - 14
Application Documentation
(Top Down)
Development
Steps
5.2
MANUAL/CHAPTER
A
N
A
L
Y
S
T
P
R
O
G
R
A
M
M
I
N
G
M
A
N
A
G
E
R
/
L
E
A
D
P
R
O
G
R
A
M
M
E
R
T
E
S
T
G
R
O
U
P
REQUIRE-
BROAD
DETAILED
TECH.
MENTS
DESIGN
DESIGN
SPECS. GRAMMING
B2
BUSINESS APPROACHES
B3
aa
REFERENCE MANUAL
aa/ 1.
2.
3.
4.
5.
Description
Activities
Workstation User Guide
Implementation
Error Messages
B6
FILE LAYOUTS
Taa
TECHNICAL MANUAL
Taa/1.
2.
3.
4.
5.
6.
Technical Description
Menu Specifications
Complex Specifications
Program Specifications
Screen Layouts
Report Layouts
PRO
SYSTEM
TEST
ACCEPT
TEST
X
X
X
X
X
X
X
X
Samples in
aa/1, aa/2
X
X
X
X
General
Hierarchy
Key Modules
Structograms
PROGRAM LISTING
SYSTEM TEST CHECK-LIST
X
X
X
X
X
5 - 15
APPLICATION DEVELOPMENT
STANDARDS
5 - 16
Project Monitor
Project Monitor
and Planning
6.1
6.2
Planning 6-8
Preparation of Long Range Plan 6-8
Application Development Check List 6-9
6-1
PROJECT MONITOR
AND PLANNING
6-2
Project Monitor
6.1
Project Monitor
6.1.1
PM Software Package
The planning and control fo BASIS is centered on Project Monitor. Project Monitor
(PM) is a software package developed by EDP Design Consultants Inc. St. Louis
and marketed by Program Products Inc.
There are approximately 100 installations of Project Monitor, mainly on larger
equipment; the package was converted to IBM System/34 in 1979 and is written in
COBOL.
The purchase price includes source programs and documentation comprising:
Introduction Guide
User Reference Guide
Installation and Operations Guide
System Documentation Guide.
Menu and DFU data entry programs are provided.
In case of further interest, please contact Corporate Information Services, Atlanta
who have negotiated a central contract at favorable terms. The price is
approximately 8,300.
6.1.2
PM Procedure
6-3
PROJECT MONITOR
AND PLANNING
Use as needed:
Defines
System Form
Report Form
Employee Form
Weekly Usage:
Project Form
Assignment
6-4
Project Monitor
6.1.3
PM Code Structure
Development
Other
Activities
Application
Milestone
Specific Task
B,T Manuals
Specific
Manual
Specific Task
System
Functions
Function
Specific Task
Year
Group
Specific Task
Project tasks are planned and reported at level 4. Levels 1-3 are used to
summarize the information.
Because project ID's are created for specific tasks as they occur, the reader should
obtain a copy of the Project Master List for a full list of current codes. At the planning
stage, the specific tasks may not be known, for example, programming. In this case,
a Project Task for Programming is included and time transferred from this reserve to
specific tasks as they become known, that is,
OMP
Programming
OMP100
Header Program
TOTAL
EST
REV
EST
1000 HOURS
840 HOURS
160 HOURS
1000 HOURS
6-5
PROJECT MONITOR
AND PLANNING
6.1.4
(Not applicable).
6.1.5
See next page for a list of project monitor reports and options.
6-6
Project Schedule
43
04
13
24
37
38
ON REQUEST
02
08
39
EVERY 2 WEEKS
32
01
03
08
DESCRIPTION
WEEKLY
No.
2W
2W
2W
2W
HOURS NO
HOURS NA
W
W
HOURS
YES
HOURS NA
HOURS NA
NA
YES
NA
NA
NA
NA
NA
NA
YES
NA
YES
NA
NA
NA
Print
Print
Assign- Levels
ments
W
W
W
W
Freq. Time
Units
OPTIONS
NA
1
1
1
0
NA
NA
3
1
4
1
1
1
1
1
1
1
1
1
1
1
1
1
1
Group Employee
Leader
Control of Hours
Audit Trail
CF Administration
Special Run
Control of Hours/
Admin.
6-7
SUMMARY
1
1
1
New No.
Master HS, JH GA
Page Copies
Levels
Project Monitor
PROJECT MONITOR
AND PLANNING
Planning
6.2
Planning
6.2.1
1) Introduction
The total BASIS development is divided into phases. Each phase consists of
project tasks classified either as System Functions or Business Applications. A long
range plan is prepared for each Phase. Progress is monitored against the Long
Range Plan and reported to management quarterly. Minor revisions are made
weekly, depending on progress and do not materially affect the Long Range Plan.
Normally quarterly, a review of the Long Range Plan (and minor revisons) versus
progress will be carried out to assess whether a major revison is required. System
functions support technical procedures which apply throughout the entire
development (the tools to build the car). Examples are language patching, option
handling, programming modules that are generalized features serving all business
applications.
6-8
Project Monitor
total planned hours of Project Tasks. This information is further broken down by key
staff and programming groups. This provides a first overview of the Long Range
Plan: whether the plan is realistic, what safety margin is available and whether key
people are overloaded. As a result, certain revisions may be needed. The plan is
entered in PM to reveal scheduling problems. Further revisions may then be
required.
3) Planning Standards
As a rule, the lapsed time from start date to completion date is spread as far as
possible in the planning. The main reason for this decision is to provide sufficient
time for users to study the detailed design and provide their input before
programming takes place. Another reason is that it provides more time for walkthroughs within the development group and with outside experts. The typical
lapsed time is 15 months. A consequence is that two applications will be developed
in parallel by an analyst and a programming group. Experience with BASIS I
showed an average development time, per application, of 24 man months, typically
6 people for 4 months. The time was divided as follows: 1/3 for analysis, 1/3 for
programming and 1/3 for testing and implementation. Estimates in the Long Range
Plan currently use these figures. An average application development check-list
follows under 6.2.2. It shows planned man-months, lapsed time and work to be
completed for each milestone. It also shows the planned work distribution to
employees included in the Long Range Plan.
6.2.2
(Not applicable).
6-9
PROJECT MONITOR
AND PLANNING
6 - 10
Internal
Standards
7.1
7-1
INTERNAL STANDARDS
7-2
7.1
To avoid file conflicts while testing BASIS II programs on the S/36 the following file
name prefixes have been assigned.
Function/Group
Prefix
AS
(W. Maresch)
B, E, M, K
CS1
(F. Sack)
CS2
(M. Felsmann)
DS
(S. Messner)
D1
(E. Lackermayer)
D2
(T. Linnahovi)
EID
(E. Mullner)
A; W,X,Y,Z
(for training)
U,V
M2
(H. Letz)
M3
(H. Possl)
QC
(R. Friedl)
D,L
SS
(P. Jerabek)
I,J
7-3
INTERNAL STANDARDS
7-4
Standards
for Query
8-1
8-2
The file, format and field definitions for some AR and RS files are stored in the
BASNDIC folder. For distribution of new or changed definitions a second folder,
DISTrrDIC (rr=release level), is used. This contains ALL standard BASIS
definitions. The contents of this folder are copied into the BASNDIC folder, by
hand, when the user receives the updates.
AR and RS expect to find IDDU definitions in BASNDIC folder or the folder
specified in the BASIS Message Member MIC No. 0007, positions 1-8. Linking to
IDDU is done by the calling application procedure.
Query members are stored in a separate library called BASNQRY. For distribution
of new or changed members a second library, DISTrrQRY (rr=release level), is
used. This contains only new or changed members. The contents of this library are
copied into the BASNQRY library, by hand, when the user receives the updates.
BASIS applications expect the Queries to be in session's Library List, members do
not have to be in BASNQRY. The Query library specified in the BASIS Message
Member MIC No. 0007, position 9-18, is no longer used.
NOTE
AT DISTRIBUTION TIME, THE USER IS FULLY RESPONSIBLE FOR
UPDATING THE:
BASNDIC FOLDER
BASNQRY LIBRARY
8-3
8-4