PERSONNEL RESOURCE INFORMATION MANAGEMENT (PRIM) SYSTEM INTEGRATION TEST PLAN (SITP-C20-5)
Document Type:
Collection:
Document Number (FOIA) /ESDN (CREST):
CIA-RDP88-00893R000200060006-1
Release Decision:
RIPPUB
Original Classification:
K
Document Page Count:
213
Document Creation Date:
December 16, 2016
Document Release Date:
July 19, 2005
Sequence Number:
6
Case Number:
Publication Date:
September 23, 1983
Content Type:
REQ
File:
Attachment | Size |
---|---|
CIA-RDP88-00893R000200060006-1.pdf | 7.09 MB |
Body:
Approved For Release 2005/08/02 : CIA-RDP88-00893R000200060006-1
U N C LAS S I F I E D
Personnel Resource Information Management
(PRIM)
System Integration Test Plan
(SITP-C20-5)
by
PRIM Project Team
ODP/A/SDD
OP/ID/ADRB
23 September 1983
U N C LAS S I F I E D
Approved For Release 2005/08/02 : CIA-RDP88-00893R000200060006-1
Apprd
CHAPTER
1. INTRODUCTION
1. PURPOS
L SCOPE
1 REFEREI~
Ili
2.. ALAN
2.:L FUNCTI
2.2 METHOD
2.2.1
2.2.2
2.2.3
2. 2.5
2.2.6
2.2.7
2.2.8
2.2.9
2_.2.10
ved For ilelas6 k@5k&O :ICFA -DP88-068 b 3 O66 66 8 -1
CONTENTS
CES . . . . . . . . ..
LOGY . . . . . . . . . . . . . . . . . . . .
TEST TEAM . . . . . . . . . . . . . .. . . . . .
RESO[JRCE REQUIREMENTS . . . . . . . . . . . . . .
SYSTEM STRESS . . . . . . . . . . . . . . . . .
2.2.3.1 RELIAB'1LITY . . . . . . . . . . . . . .
2.2.3.2 SIZING . . . . . . . . . . . . . . . . .
2.2.3.3 ACCURACY . . . . . . . . . . . . . . . .
2.2.3.4 Tl:M:HNG. . . . . . . . . . . . . . . . . .
2.2.3.5 AVAILABILITY . . . . . . . . . . . . . .
2.2.3.6 BACKUP . . . . . . . . . . . . . . . . .
2.2.3.7 RECOVERY . . . . . . . . . . . . . . . .
CONTROLS . . . . . . . . . . . . . . . . . . .
2.2.4.1 SOFTWARE (DEVELOPMENT AND PRODUCTION) .
2.2.4.2 SYSTEM SOFTWARE . . . . . . . . . . . .
2.2.4.3 HARDWARE . . . . . . . . . . . . . . . .
2.2.4.4 SECURITY CONTROLS . . . . . . . . . . .
TEST DATA . . . . . . . .. . . . . . . . . . . . .
CONSTRAINTS . . . . . .. . . . . . . . . . . . .
REGRESSION TESTING .. . . . . . .
DATA REC DRDTNG . . .. . . . . . . . . . . . . .
EVALUATI DN . . . . . . . . . . . . . . . . . .
TEST CASE MAINTENANCE . . . . . . . . . . . . .
LIST OF TABLES
:L
:L
2
3
3
4
5
9
9
10
12
13
14
14
14
15
15
15
15
16
17
19
1.9
1.9
19
20
Appr~ved For R61eIp ?025608I0? ~CJA09P88-00893R00020006?00611
Approved For W4 169s& A05/68J0f : 6I (-hDP88-00ii3 'ff6 60006 1
TABLE PAGE
1. Documents, Publications and Reference Material . . . . . . . . 2
Approved For ReWaReG2~0j/q/S2f CAP-R 188-00893R000200060006ikii
Appr ved For Release i0e51%8S/0i ~CITAFRbP88-008?aRO@10
Chapter 1
INTRODUCTION
PURPOSE
The purpose of
through system
pod in the Requ
tem Requirement
specified in th
SCOPE
This ldocument p
which will subj
test.; neither d
near 1y live envA
The intent
state the overal
ties procedurE:s
Inte~;.region Tee.t
designed in a ph
Plan wiLL be wri
ture of the PRIM
will be updated
philosophy estab
each successive
suppoLrt or test
regarding; QAD pa
?~'he test pi
Chapter 1 -
PR1:M System Into
contetts of the
Chapter 2 _
defines testing
formance, secur:Lt
meets!
he System Integ:ratio.n Test plan is to demonstrate
estingt:aai: the system satisfies the requirements map-
re:ments Traceability Matrix (RTM) to the Detailed Sys-
Documenu; (DSRD) and accurately reflects the desi n
Detailed System Design Specifications (DSDS).
esent.s the PRIM'' System Integration Test Plan/tasks
ct the p:rogra.mmo:rs' products to a thorough set of
signed nor executed by the programmers and run in ~as
ronment as possible with a minimum of simulation.
of this test plan is to identify responsibilities
'-;
I test environment, identify objectives, responsibli-
and tools to be used for each of the various System
ased approach; therefore, this System Integration-Test
tten to test Release 1 as well as the overall stru
System. Thereafter, the System Integration Test
for each successive release. However, the testing
li
h
s
e,d in Release 1 will continue to be. utilized i
release.
rce limitations,, ODP/QAD will not be providing QA
la.ns in Release 1. Releases 2 through 5 are (TBR
ticipation.
lan
in consists of 21 Chapters:
"Introduction" ;resents the purpose and scope of the
;ration Test Plan and references applicable to the
yste.l Int:egra.tion Test Plan.
"Plafit presents the major testing methodologies and
rite:r.ia to be applied against the functional, per-
y, hardware, human engineering and interface requi e-
Apprdved For F I@af%2VI/0P/g2 CSI %RDP88-00893R00020006?006-1
Approved For RBI as; i0e51bk1 :FCIrA FRIYP88-00843Rb?t)1Nbtb0b%8~
1.3 REFERENCES
The PRIM Team is utilizing a number of documents, publications and
other reference material in writing the PRIM System Integration Test
Plan. They are listed in Table 1.
r--------------------------------------------------------------------
L I
TABLE 1
Documents, Publications and Reference Material
1. Data Requirements Document
2. Data Specifications Document
3. Detailed System Design Specifications
4. Detailed System Requirements Document
5. Interface Control Document
6. ODP Applications Documentation Standards
7. Requirements Traceability Matrix
8. System Development. Plan
--------------------------------------------------------------------Ej
Approved For ReJegse J0(A5/98g0j :ICI-?[ 88-00893R000200060006-'4Z
Appr ved For RJTe9fs& 2 O%/68102F: 6IAADP88-00~~3tINt & _11
Chapter 2
FUNC'rIONS
PRIM is a centralized data base for use by the Personnel Officer, CIa-
r:eer Aztnagement. f:Ei(-er, Office 'Director or Training Officer of a ~c.om-
Iaonezit in dirE.ct support of the components day-to-day personnel aan-
agement, activities. The overall objective of the test plan is to
ensure that thet system meets all of the requirements identified in the
Detai}l?:d System equi'.rethents Document and Detailed System Design S ec-
ifications as ma ped in the Requirements Traceability Matrix and list-
ed b? }low.
a) Centralizing Official Data for Component Access (Release 1, &
5)
b) Data Trars ers Between Components (Release 1)
c)! Component Data Manipulation (Releases 2 & 4)
d)'I Queries an Reports (Release 1)
e) Controlled Component Data Access (Release 1.)
f) Other Requirements: Performance, Security, Hardware, Human
gineering, Interface, Legal
2.2 METHODOLOG
The Siystem Integration Test Plan, is being written. for Release 1 of
PRIM; however, t e testing philosophies established in Release 1 w
be utilized insuccessive releaiI,es of PRIM. The PRIM System Integ
tion Test. Plan will. ensure that program/system specifications were
terpreted correc ly; coding standards and conventions were followe
subject procedur s/functions have been sufficiently tested by the
gramnyers involve ; previously prepared integration test packets
Thel term compo
separate entit
rectorate leve
ter..
exit :in the context of this document is defined as
in the Agency"s organizational structure be it a
an. office, a staff, a division., a service or a
a
di-
en-
Approved For1J Ieiase 3025T810?: IC A 2DP88-00893R00020006?00?-1
Approved For Reteksg 2I0A/68/% is bIA-kDl~88-0089iko% V1 00 i3
covering all appropriate areas were successfully tested, user produc-
tion documentation, where required for a procedure/function is com-
plete and accurate; program/system documentation is complete and accu-
rate for procedures/functions; and that the procedures/functions will
perform as specified by the user prior to "official pass" to the PRIM
Library for acceptance testing by the user.
2.2.1 TEST TEAM
The System Integration Test Team will consist of the two ODP and two
OP analysts. Skills required will be systems analysis, system design,
data base design, and project management. A detailed state-of-the-art
knowledge of computer systems architecture and software engineering
are mandatory. Skills will be required in interpreting the previously
prepared integration test packets and in certifying that the manuals
are complete and accurate. The analysts will be required to service
"Requests for Change (RFC)" and to estimate impact on schedule, etc.
All system analytical and design work is to be completed prior to Sys-
tem Integration testing. The PRIM Project Leader will keep management
apprised on the status of System Integration testing.
The analysts are responsible for:
a) Re-examining the internal workings of the program structure - -
testing of procedures, testing system functions, the HRS2 Inter-
face coming in, security testing and data transfer between com-
ponents. In-depth testing of system security is considered
critical. System test cases are designed by analyzing the ob-
jectives and then formulated by analyzing the user documentation
along with the program/system documentation.
b) Ensuring that procedures are set up to control the System Inte-
gration Test environment of the various test packets and the
status of the test plan and tests at any given point in time.
c) Re-certifying that there is sufficient disk space to contain
source code, ODP load modules, OP load modules, ODP test data,
if applicable, and OP test data (which after acceptance will be
used to test future PRIM releases of software).
d) Reviewing the established procedures and the required JCL for
ODP to load their source code and test load modules back to the
PERTEST test libraries, if applicable.
e) JCL executes system without errors or unnecessary operator in-
tervention and file labels are correct. JCL - defined file ca-
pacities adequate, assuming moderate expansion.
f) Execution sequence (system flow) accurate and workable.
Approved For Re1ljeAst 2LOOA5/98~02i: cI -RDjP88-00893R000200060006-14
Apprd
ved For UIAs6 0651J8T/O :ICFA 2DP88-0089?PbbbTb?b6bbb%-1
g)I'Re-testing the established procedures and the required JCL t
transfer:tested :load modules to the PRIMTEST library, if appli-
cable. During the System Integration Test phase the PRIMTES
library may contain only functions that have been "officiall
passed", E e., certified by ODP; whereas the ODP PERTEST library
may contaii functional areas that have to be retested.
h)
Creating a d generating te-I.t data for System Integration tes s.
The: test d t:a. will be established in such a manner that any nest
or group o tests may be executed at any given time.
NOTE: 3nly test..ng; generalities' have been. addressed above; more i -
depth testing criteria is covered beginning with Section 2.2.2. I a
more .n-depth knowledge is required of any area., it will be necess ry
to refer to the supporting documentation, i.e., Program Manual, Pr d-
uct Mnual, User Documentation, estc.
2.2.21 RESOURCE RE UTREMENI'S
a)11 Human
1. Production Division/'MD' - Data Base Management support a d
DAC su port dur__ng the,System Integration testing phase.
2. Operat ons Division/OD' - Operating the computer equipme is
that t #e PRIM development system will utilize during Sys em
Integr tion Testing.
3. Engina ring= DivJ.s:i.on/OEPP - System performance measurement
a.nd mo itoring.
4. Inform tion and Anal. .s Branch/OP - HRS2 RAMIS Report defi-
nition support.
Automated Data Resources Branch/OP - PRIM DBM and ADRB ana-
lysts to prepare selec''ted HRStransactions to complete a
PRIM test case, i.e. I.terface Transaction for a "ZZ" TO A.
PRIM =J ers Group - Directorate Referents and Directorate ADP
Control Officer, represent various components during dev 1_-
opment PRIM U:e:ts Group will formalize changes to current
requirements if the need arises. Request for Change (RFC)
will 'a controlled. via', Configuration Management Procedur s.
7. Officelof Communicat:io s
i) omestic Networks Division (DND) within OC handles all
RIM clomestic communications . DND is responsible or
4 he i:nsta].la.tion and/or procurement of communications
Ines, modems, and cryptographic equipment in support
Apprved ForURRIe,a a j0505g01/Ol2 :LCEIAJZDP88-00893R00020006Q0056-1
Approved For ke egfs~ AA/68102E: 6IT--IkDP88-OA%3 6O 1
of all PRIM peripheral equipment (terminals, remote
printers, and remote job entry stations). DND inter-
faces directly with Engineering Division (ED/ODP) in
response to communications requirements or problems
encountered in the PRIM Project.
ii) Communications Security Division (CSD) within OC is
responsible for TEMPEST testing/approval of all termi-
nals and printers accessing PRIM. CSD interfaces di-
rectly with ED/ODP in response to communications re-
quirements or problems encountered in the PRIM
Project.
8. Office of the Inspector General (OIG) - The Information Sys-
tems Audit Division of the Audit Staff may examine PRIM pro-
cedures, records, reports, and test cases during the System
Integration Test phase.
9. Office of Security - The Information Systems Security Group
(ISSG) will play a consulting role in the evaluation of the
PRIM System security feature during System Integration Test
and Acceptance Testing.
b) Equipment
1. Hardware
The PRIM System will be accessed by the individual com-
ponents through existing equipment. Peripherals in common
use include video terminals (Delta Data 5000 or 7260 series)
printers (TI Silent 700, Design 100). The components will
be responsible for acquiring any additional equipment needed
to access the PRIM System. Any equipment, specifically ter-
minals or printers, must comply with standard Agency comput-
er security regulations.
All System Integration Testing, Acceptance Testing and
Production activity performed outside of the Headquarters
building must utilize only equipment approved for classified
use. (Refer to Resource Requirements, paragraph a) Human,
above for further details regarding point of contact.)
2. Software
In House
GIMS Yes
DBM System Software related
to controlling read and/or
write to PRIM and to data
in PRIM Yes
VM Yes
c) Materials
Applicable Documents and Forms
Approved For 2ROs5/g8/IO2F: ~If-5DP88-00893R00020006000%-1
Approved For RYI rile k65k8I0i :FCIrAFP,6P88-00843IR6?8~DI)ba 0b%N
- File Description
The index or table of contents noting the acrony
relative sequence, test description, etc. of eac
data element in the project file.
Form 369 - Data ]'clement Description
for each data 'element listed in the file desc:ript:i.on
Used to define!, each data. element within a given
apl.icat_on of the system and its associated edit
specifications. There is a copy of this form
mentioned above:.
A - Input Requirements
An error message number is produced if a require
data element: is missing from the input.
task or transaction specified in the system design.
(required or optional) to accomplish a particula
Defines only those data elements that may be input
B - Program Specification (PRIM has added this sp c
to the front of the POL in lieu of using the nocrm.)
Provides additional specifications necessary for
the program to''be written that are not previousl
recorded on the. data element description form or
the input requirements form.
C - Message Descriptions
Used to document all messages generated by the
project transactions in message number sequence,
t:he:i.r program source number, and corrective
action to be. taken upon display of the message.
A g:r:aphi.c layout of each menu to be used with a
project transaction which is input on a CRT
terminal. (All menus must be tested on both
the Delta Data 5000 and 7260T series.)
Form 2271' - Program Narrative (PRIM has added, this narrati
the front of the POL in lieu of using the Form.
Provides a general description of the program
relating; to any project function.
Form 37v1 - Verification Procedures
Document verification procedures that must be
performed to determine successful program
Approved For F I aeeL2,O 5O IO12 F 9A.E-P$P88-00893R00020006?006-)
Approved For Fkekarse-2a0?/08/e2F GII4 F P88-00i933A6d626b660b8 31
execution and the identification of any messages
that pertain to the program.
Form 3417 - Report Specifications
Form 3417A - Report Data Elements
Used to supplement Form 3417 (above) in the event
of insufficient space.
Form 3984 - Problem Report (Discrepancy Report) (To be used for
Release 1 only)
The IOC Testers will record problems on this form.
The OP PRIM Analysts will analyze and if appropriate
forward copy to ODP PRIM Analysts. This documents
and controls the correcting and retesting of the
problem(s). When the problem has been corrected,
the ODP PRIM Analysts will forward it (Orig plus 1)
back to the OP PRIM Analysts who in turn will ask
the user testers to retest the transaction.
PANVALET - Current list of PANVALET Specifications and
Source - to include program/module, PANVALET
numbers, date last updated and level numbers.
COMVAD
DATADOC/PROGRAMDOC
PRIM Users Manual
PRIM Program Manual
PRIM Production Manual
Applications Manual
Report-Writer Software
RAMIS Graphics
Audit Trail - Containing sufficient information to permit
a regular security review of system activity
by Office of Security.
Contingency Plan - Including backup procedures in the event
the main system is damaged or destroyed.
Approved For Re "q,220RA( 8/p2I gIA- DB88-00893R000200060006-1 8
Apprgved For F e1Vaiel2Cb&0?/OZ2 FCIIAERbP88-0080 1 0. 9
w
or pass Iords,) - For Off,-,,,e of Personnel Analysts only.
GIMS Procedures, Dictionaries, M and M/Dict, SYSMAN2 (excep
l
f
2.2 . 3 SYSTEM
System Stress t
accuracy, timi-i
System will pro
cial HRS2 data
access to emplo
on-1 Lne queries
#i.cial data" on
mple:s: Integration Test Review
System Test Packets
ui:re:ment,s will be provided by the PRIM Analysts.
er documentation which sets forth any special
ditions and/or limitations impacting the system
sts will be measured in terms of reliability, siz.ng,
, availability,backup and recovery. In Release the
ide components terminal access and retrieval of o fi-
long with the capability for components to transfer
ee data between components and to generate their o
or reports, cff ine reports and graphs utilizing "of-
Y.
2.2.3.1 .:L Corr-sisterit Results
Tests uiLl be corducted to insure that the system provides the same
results for the same successive requests for data. providing neither
the ata nor the software has been changed by an update.
2.2.31.1.2 Cons stent Output Response:'
Testslwill be conducted to demonstrate that the requested response
levellywith a data reporting activity of up to 200 users can be acc ra-
modat:d. Releas 1 will have approximately 40-50 users; therefore,
the full test wish 200 users will. be certified in a future release.
les will not be'
Component Data F available in Release 1; testing of
the update respo level will be certified beginning with Release
se level will be certified beginning with Release
Appr ved Fotj PNeWaf-eA2(~05/0f/g2I CL 5RDP88-00893R00020006
1.3 Cony stentt:. Update Response Level for Component Data
006-1
9
Approved For kegJs~ A05/68J01: U-ADP88-00iJ3WO 6(8~
2.2.3.2 SIZING
2.2.3.2.1 Users
The system must support up to 200 concurrent users actively querying,
reporting or updating the Data Base. Release 1 will only certify ap-
proximately 40-50 concurrent users, therefore, the full test with 200
concurrent users will be certified in future releases.
The system must support queries and reports requesting data from up to
30 different user data files utilizing a minimum of 70 edit/validation
dictionaries. In release 1 the System Integration Test Analysts will
certify 10 data files and a minimum of 65 dictionaries exclusive of
data files required to satisfy security. (Security is addressed in
Section 2.2.4)
PRIM FILES ACCESS
INDEX FILES - A group of files will be provided for DB Manager
both Active data and Separated data
indexing. The files will be used in-
directly via XBRIDGING from the PRIM
PERSIGN and PRIMSEP files. A file
will be provided for each Selection
element used when building a Component's
Active and Separated data links. The
Index files will be established once
and updated through XBRIDGES. How-
ever, the Index files can be re-
established with the PRINDX process.
STATEMENT
FILE - This file will permit the PRIM DBMGR DB Manager
to format high volume query statements
which components will utilize via the
LISTSTMT Procedure.
INTERFACE - This file contains all current Components
INTERFACE data passed to PRIM from via SEGACCESS
HRS2. The file will be accessed
through SEGACCESS segments spanning
to an INTERINDX which spans to
INTERFACE. An INPURGE date for each
INTERFACE record will be stored in
the INTERINDX file and INTERFACE
records will be deleted when that
date is reached. Data will be
loaded into the PRIM INTERINDX file
Approved For ?es ~ 2P5/g8j02: f,I 1-~DP88-00893R0002000600gF-1
Appro
ved For R9IJ a '06518101 :FCITA 4[ P88-0084 R6?8190&
069
d
]:NTERINDX: -
OFFICIAL
DATA
FILES
d
1
Il
ie. a BUL(-LOAD statement using the
isk created by the PRCAUPDT procedure
resat ing an INPURGE date for each
record. Data will be loaded into
he. PRIM INTERFACE file via an ITEM'
DUMP statement using the same disk.
is file is the link between the Compone
EGACCESS files and the INTERFACE
ile. It contains a purge date
INPURGE) for each INTERFACE record.
his date will be used when purging,
ata from the INTERFACE file. The
NT'ERINDX link (]:NTERLINK) will also
e deleted.
Iles contain_ng''official personnel Compon
ata. These files are moved from
1RS2 and include all Official data
r
i
PRIM
PERSIGN
equired from HRS2 by PRIM.
his is considered one of the Official Compon
nts
ata files in so far as how it is linked.
he entire P'ERSIGN file will be moved
my once (not: daily) into PRIM and
ill he updated daily by the PRCHGLOAD
rocedure with data received from the
RS2 INTERFACE file via the PRCAUPDT
rocedure, The P'ERSIGN data is
ccessed by a component through the
EGACCESS files (SYSMAN2+A) containing
hat component:'s Active data links.
PRI:FN - RIM INTERFACE File Name on HRS2 and DB Ma age:r
RIM. This filei will insure dumps and
oads are done it. the same order. This
ile will contai~. all files to be dumped
With a flag on those files to be dumped
my on weekends'.
PRI 1SEP - This file will. contain the PRIM PERSIGN Compo ents
ecord for a sep'a.rated employee plus that
mployee's reasofl for separation and
4ate of separation. This data is
4ccessed by a component through the
EGACCESS file (SYSMAN2+S) containing
that component's: Separated data links.
SEG CCESS - et of segmented files. One set of DB Ma ager
egmerits will be established for each
evel of component access requested.
Approved For RRIea~e F?R55? 100 CJA P88-00893R00020006~
006 1
Approved For Rees 2T05/88)b2I: IA-kD'PP 88-00893k0%WA%*M 0WJ3
The file name will be the SYSMAN2
Signon concatentated to either "A"
(Active), "S" (Separated) or "C"
(Component). All access of Official
data (Active and Separated) will be
through these segmented files.
SELECTION - Set of segmented files. One segment Component-
will be established for each Signon Individual
ORG. This file will contain the Selection
Criteria used to select records File only
authorized for the Signon ORG, Signon
ORG text, ORGCODE links (SLORGLINK)
and POSNR links (SLPOSLINK). The
ORGCODE and POSNR data is accessed
by a component through the SELECTION
File.
SYSER - In addition to its normal function, DB Manager
this file will contain the Delete-
Data and Invert statements needed
to create new Index files for PRIM
PERSIGN and PRIMSEP. This file is
used by the PRINDX procedure.
COMVAD - Files containing edit and validation Components
data used in HRS2. These files are
moved from HRS2 to support the Official
data files and in Release 2 will support
the Component data files.
Data transferred from HRS2 into PRIM must reflect the exact same data
values in the PRIM System as was present in HRS2 at the time the data
was extracted (i.e., COMVAD) or processed via the HRS2 INTERFACE Data
List to PRIM Active and PRIMSEP.
2.2.3.3.2 Edits and Validations for Component Data
Component Data Files will not be available in Release 1, therefore,
the edit and validations for these files will be certified in Releases
2 and 4.
Approved For R"it 290O/98W2i: I111-I L 88-00893R000200060006-12
Apprc4ved For ilAs* i065 WOE :1CFA-&DP88-0(@9 QO$9'2bOO6i
2.2.3'.4.1. Dire
The System Integ
testing to ensur
rest queries in
ever, a more rea
tanceq) Testing wh
repre.Sent.at:ives
query' will utili
lected data list
trieving the inf
in the Detailed
4.2 Comp
The System Integ
ensure that the
search) at the r
conditions. How
during the Acce3
40+ I PC compone:a
time. In additi
the daily Data B
executing longer
The S.Vstem In.tea
ensure ",.hat the
ati_ng!, conditions
leases will incl
Query
ation Test Analysts will attempt to conduct stres4
that the system can complete 95 per. cent of the .i-
-7 seconds under normal operating conditions. Ho --
istic stress test will be conducted during the Ac cep-
re the OP analysts will utilize all 40+ IOC component
o stress test a' t a given .point in time. The direct
e the DBMS Query Language to retrieve data from s
e -
u.sing'the DLID: as the selection criteria for re-
rm.at ion. (Norm'al operating conditions are as defned
ystem Requirements Document, Section 3.2.4.1).
ex Query
ation Test Analysts will conduct stress testing t
ystem can complete a complex query (end-to-end
to of 2,000 records per minute under normal operating
ver, a more realistic stress test will be conduct d
ance Testing where the OP analysts will utilize all
representatives, to stress test at a given point 'n
n, the System itegration Test Analysts will review
se Exception Resort which identifies query statements
than 3 minutes.
a.tion Test Analysts will conduct stress testing t
ystern cart print', reports in 2 hours under normal o
with a maximum overnight turnaround. Subsequent r
de "scheduled" batch production reports.
2,2.31.4.4 Sche u.ling Updates to PRIM from HRS2
The ekt:ract of H
the complete ni
grati.on Test Ana
the Data Base S
ensure he upda
Manager" compare
the: PkI]1 Data Lis
S2 data for updating the PRIM System must occur after
tly update of the HRS2 Data Base. The System Int -?
ysts serving as!"PRIM Data Base Manager" will review
is a:ad output: from any nightly updates (Route -tA) to
s to PRIM were riade. In addition, the "Data Base
selected HRS2 Data Lists and number of data items to
is and number of data items.
Apprc''ved For F Ie9e JOS05~01 /0 C~IAJDP88-00893R00020006Q
01Q36-1
opy Reports
Approved For RMle s' io '5tWOi :FCFA FP[YP88-008c333R66026db86Obg-4
2.2.3.4.5 Updates to Component Data
Component Data Files will not be available in Release 1. Stress Test-
ing of the update timings will be certified beginning with Release 2.
The PRIM System must be available during regular working hours
(0800-1800 hours), thus the System Integration Test analysts will con-
duct system availability tests on the data base during these hours.
In addition, the system cannot operate in a degraded mode for more
than one day and the degraded mode must only affect response time with
no affect on the system's functional capabilities.
Tests will be conducted to insure that the PRIM System is backed up
daily with audit trails of all updates to data and PRIM software. The
daily backup must occur without user activation or intervention. The
daily backup must be retained for a period of one-work week, a weekly
backup must be kept until the next monthly backup; and each monthly
backup is replaced by the next monthly backup.
The PRIM System must virtually self recover in the event of hardware
failure or the inadvertent destruction of data and/or files. The re-
covery process to restore the PRIM System or restart an interrupted
activity must minimize the need for the user to re-enter data.
The capability must exist to restore the PRIM System as of the close
of business the previous day, and also reprocess activity for the cur-
rent day to minimize the need for the user to re-enter data. The re-
store and reprocess activity must take less than two hours. The Sys-
tem Integration Test Analysts serving as "PRIM Data Base Manager" will
notify and coordinate with Production Division/ODP when the Data Base
must be restored for either data or software problems.
Approved For R"ss 10%5/p8AO J :ICI,4- ?88-00893R0002000600061t
Apprc4ved For'2E eisb 2'00?5/68kf : bIYk-RDP88-00%%3 W6 1
2.2.4 CONTROLS
2.2.44; .1 SOFT A E (DEVELOPMENT AND PRODUCTION)
All PRIM Softwa.r received by the PRIM Team from the programmers will
be thoroughly tested on the. PRIMTEST Data Base and before it is mo ed
to the Production System. The first phase of the System Integration
Te
t Pl
.C
... 8,.11 .. .. 1
__..,..___.u -.
_ T__t t__ 11.
s
a
o
f
will
Integration anal st:s who will perform an integrated test of all pr ce-
dures/programs i a semi-live environment.. This will verify that he
system still performs in the same manner with all. its functional a eas
completed as it lid when only specific areas were complete. If an er-
change control (~reclue:st for change) will be used to officially rep~r
the Error. PRIM software which :requires change must be conducted
first{ on ODP's P RTEST Data Base. After t:he error has been correc~ed
and tested by th programmer, they will certify to the PRIM Projec
Leader that it i ready for retest on PRIMTEST. PRIM test data isles-
tabliiished utilizing accepted numbering and dating conventions to e
sure ''ithe capability of re-executing or referencing any given test
group of tests, After testing on PRIMTEST, the PRIM Project Leade
Sion is ready fo acceptance testing and certify such via Integration
Test Review. Wh re appropriate, PANVALET specifications and sourc
levels are requi ed to be updated during all System Integration to t-
i.ng.
All of the Data
read and/'or writ
Syster is highly
sure access and
information. Se
Procedures and D
as.e Management System software related to controlling
access to the PRIM System and to data in the PRIM
sensitive; therefore, tests will be conducted to :n-
at.a is limited to only the individuals needing th
urity locks and keys will. be placed on selected G'.]'IS
ct.ionaries (i.e., M, M/Dict, SYSMAN2).
The Agency's reg la.tion on Cornputer Security, HR II controls t -e
hardware security for the PRIM System. All System Integration Test-
ing, Acce:pt:ance Testing and Production activity performed outside f
Headquarters Buiding must utilize only equipment approved for cla si-
fied Fuse. System Integration Test Analysts will monitor that access
to thie system wi 1 not be conducted on equipment not approved for
classified use, .e.., graphics printer.
Appr ved For 9IeOge 3OQ5~08/012 :IC i4$DP88-00893800020006 0? -1
STATINTL
Approved For ReleaseC2& 16/62z GFIAIR l988-00893 $061 @06J83
2.2.4.4 SECURITY CONTROLS
2.2.4.4.1 Component Record Level Access
Tests will be conducted to ensure that a component is restricted to
a) access only the records for individuals
assigned to that component or have a
Career Service Designation of that component
b) access data passed electronically between
components for individuals with an upcoming/proposed
as
i
s
gnment to that component
c) enter, update and retrieve component data
d) query and report on organizational, position
and employee data that applies to their
assigned job requirements.
e) Directorate-level requires read access to
all of the official organizational and
position data as well as data for employees
assigned to every office within the Directorate
or who have a grandfather Career Service
Designation associated with that Directorate.
Directorate level cannot have access to a
component's input data.
2.2.4.4.2 Limited Data Access
Tests will be conducted to ensure limited read access to an employee's
race code. Only designated personnel such as those responsible for
preparing applicant and promotion data for Uniform Selection Review
Reports can have read access to this code.
2.2.4.4.3 HRS2 Transferred Data
Tests will be conducted to ensure that no one can update the data
transferred into the PRIM Data Base from the HRS2 Data Base. The only
way the data can be changed is by the next transfer of data from the
HRS2 Data Base. The Security Matrix prevents anyone from entering new
data, deleting data or changing data values of the HRS2 data stored in
PRIM.
Approved For lease, 2,Q0O/f8/p2F: ~IlL1-~DP88-00893R0002000600066--1
Appr ved FoY F~elCeAcA21b0?/OI8/92~ (51kRDP88-6i ftMOB'606 006-1
2..2.4.4.4 PRIM Data Base Reporting Security
The Stst:em Integration Test Analysts will review the daily Security
Violations Report against the PRIM Data Base which :identifies viola-
tions of establ hed read and/or write access control and the stand rd
ACF2 violations eport. Directorate Referents may be notified if
abuses are deter ed.
2,2.5 TEST DA's
Release 1 will -p ovide components terminal access and, retrieval of
"official" HRS2 data which is transferred to the :PRIM Data Base each
night. The data will be tested by the System Integration Test Ana
lysts!i:a a semi- ive environment and will consist of re-executing he
13 PRIM procedur s, querying and reporting from:
654 COMVAD Dictionaries
b)', the HRS2 0 ficial data files and
c)'', the new PR
PRIM PROCEDURES/
PRDDC)MF
PRDLOAID
PRCAIt"STB
PRCA14 PDT
PRCHGLOAD
PRCAITR SF
M data files.
ROCESSES
Test
Responsibili)
- Create ITEM-DUMP statements. DBCC
- Create ITEM-LQAD statements. DBCC
- Establish a component's access DB Manag
criteria in that component's
SELECTION file.
- Extract data from the HRS2
INTERFACE file which pertains
to PRIM to be used by the
PRCHGLCIAD procedure. This is
a [3ATCF[GIM II program.
Uses disk from PRCAUPDT to make DBCC
changes to PRIM PERSIGN and
related Index files, PRIMSEP
and related Index files,
INTERINDX and load INTERFACE
record into the PRIM INTERFACE
file.
- Allows a component to create an Components
access to an employee's record,
for another component or remove
an access to a record created for
one component by another component.
Approved For Relea8eL2DAO5JOR/(112 F q Rj9P88-00893R00020006~00E1-1
Approved For RMss 10651%&01 ~CIk-FRBP88-008iiRbbbt2 tb0b ~
PRNTEPRG - Review component access segmented DBCC
file and purge any records with
PRGDTE LE the System date.
PRINTPRG - Review the PRIM INTERINDX file for DBCC
INTERLINKS with INPURGE LE the
System date. Delete INTERLINK
as well as the INTERFACE record
related to it.
PRACCUPDT - Allows the user the freedom to Components
change a PRGDTE and add SSNORs to
their component data file.
PRCALINK - Uses SELECTION Criteria data from Components
the SELECTION segment for Signon
ORG to trigger the appropriate
Index file(s) to build the daily
link for that ORG. Done once a
day - at the time of the first
Signon for a particular ORG.
PRINDX - This process extracts data from DBCC
PRIM PERSIGN and/or PRIMSEP to DB Manager
re-establish the Index files.
PRCRTLINK - Uses SLORGLINK in the SELECTION DBCC
segments to build new links to the
ORGCODE file for each segment and
SLPOSLINK in the SELECTION segments
to build new links to the POSNR
file for each segment. This
procedure is executed on weekends
by DBCC.
SEARCH - This procedure will be used by the Components
components to query the NAME and
HPOSNR files.
LISTSTMT - Allows a component to access per- DB Manager
formatted statements which contain
selected full file data (QUAL,
LREQID, ORGCODE, etc.) as well as
high volume query statements, thus
eliminating the need for a component
to key the various data elements
to execute their request.
*Indicates test responsibility for Acceptance Testing.
The testing will be conducted daily by the System Integration Test
Team. In addition, the System Integration Test Team will pass access
Approved For RoJeRse %OG5/R8f0?I :ICI f -FO!88-00893R000200060006.i98
Apprgved For Re Us 2 o%/0'8/b2l: 6IA(-F DP88-00H3?W-1
to air (employee'
individuals pen
official data from one component to another for
ing an upcoming assignment to a specific componen
2.2.6 CONSTRA NTS
The Initial tin ng requ:i:cementt for transferring data to PRIM in Re-
lease :L is gear (d to the upda.te~process of data :In the HRS2 Data Base.
The +~xtract of RS2 data for updating the PRIM System nightly must oc-
cur After the c mplet:e nightly update of the HRS2 Data Base. On occa-
sion,; due to a tim.in2 prcblem with the HRS2 job stream PRIM may no ;
get updated; ho ever, this will not seriously impact the users. A
message appears at S:Lgnon time of the last date of update to the Data
Base;
2.2. REGRESSSION TESTING
All PR]:M test cses will be documented using preplanned test formats
for dac:h and every test with accepted numbering and dating standar.s
to ensure the capability of re-executing any given test or group of
tests. The System Integration Test Analysts test; top down, where p-
plicnb].e; therefore, if an error is detected and fixed, the tester
ensure that the than?;e made will not adversely affect previously t st-
ed code.
2.2.8 DATA RECORDING
]'here is a test
cations. The Sy
of a:1.1 tests exe
tected and corre
fy to the System
the applicable p
Statistics betwe
maintained for a
acke;t for every test case which is made from spec'fi-
tem Integration} Test Analysts will review the results
ut:ed against these test packets. If an error is e-
ted, the originator of the Problem Report must ce ti-
Inte.gration Test Analysts that he/she has reteste
oced.ure and along with the retest date. Data Bas
an HRS2 and PRIM Data Lists will. be analyzed daily and
].east 33 days after PRIM goes into Production..
2.2.9 I VALUATI~N
Release :I. of PRI
HRS2 Data Base t
data kralues used
cable to PRIM in
dated!'! nightly, t
a.te test data fo
evaluation is ba
the 11PS2 INTERFA
an employee's of
Appr
is basically transferring "officiall" data from t e
PRIM via ex-~racts; therefore, testing of range o
combination of input: types used, etc. are not appli-
Re:lease I. In addition, since PRIM is due to be p-
e System Integration Test: Analysts will have to c e-
manipulation on a very "limited basis". Testing
ic.ally one of evaluating security matrices, verifying
E coming in is appl.ied properly and passing access to
ic.ial dai.a from one component to another.
ved For lea a R095fP810? :1CLA fDP88-00893R0002000600096-1
Approved For I ekAcI'2e08/(Y%/b2F 6I4 F P88-00IN31 68626066000631
2.2.10 TEST CASE MAINTENANCE
The System Integration Test Analysts will maintain and file the re-
sults of all major or necessary tests during the System Integration
Test phase or until Audit Staff has completed their audit of the sys-
tem.
Approved For ReyseC220R/g8/p2I 9IA-PLD?88-00893R000200060006-'to
Approved For Release 2005/08/02 : CIA-RDP88-00893R000200060006-1
U N C L A S S I F I E D
Personnel Resource Information Management
(PRIM)
Acceptance Test Plan
(ATP-C20-5)
by
PRIM Project Team
ODP/A/SDD
OP/ID/ADRB
23 September 1983
Approved For Release 2005/08/02 : CIA-RDP88-00893R000200060006-1
Aproved For Release 2005/08/02 : CIA-RDP88-00893R000200 60006-1
U N C L, A S S I F I E D 23 Septe 'giber 1983
CHAPTER
I
1 INT.RODUCT
1.1 PUF:I, S1. . . . . . . . . . .
.. . . . .
1
1,. 2 SCCIP . . . . . . . . . .
. . . . . .
.
1
1..3 REFE ENCES . . . . . . . .
. . . . .
2
2.1 FUNCTIONS . .. . . . . . .
. . . .. . . . . . . . .
.
3
2.2 METfI DOLOGY . . . . . . . .
. . . . . . . . . . . .
.
3
2.2 , TEST TEAM . . . .
. . . . . . . . . . . .
.
4
2.2. RESOURCE REQUIREMENTS . . . . . . . . . . . .
.
6
2.2. SYSTEM STRESS', . . . .
. . . . . . . . . . . .
.
10
2.2.3.1. RELIABILITY
. . . . . . . . . . . .
.
10
2.2.3I.2 SIZING . . .
. . . . . . . . . . . . . .
.
11
2.2.3.3 ACCURACY . .
. . . . . . . . . . . .
.
13
2.2.3.4 TIMING . . .
. . . . . . . . . . . .
.
1.4
2.2.3`.5 AVAILABILITY . . . . . . . . . . . .
.
15
.7.2.3.6 BACKUP . . . . . . . . . . . . . . . .
.
15
2.2.3 7 RECOVERY . . . . . . . . . . . . . . .
.
15
2.2.4 CONTROLS . . . . .. . . . . . . . . . . . . ..
.
.16
2.2.4.1 SOFTWARE (DEVELOPMENT AND PRODUCTION)
.
16
2; .2.4.2 SYSTEM SOFTWARE . . . . . . . . . .
.
16
2..2.4.3 HARDWARE . . . . . . . . . . . . . .
.
16
2.2.4.4 SECURITY CONTROLS . . .. . . . . . .
.
17
2 . TEST DATA . . . . . . . . .. . . . . . . . .
.
3.8
2.2.o CONSTRA::NTS . . . . . . . . . . . . . . . .
.
20
2.2.7 REG.RESS]:ON TESTING . . . . . . . . . . . . .
.
20
2.2.8 DATA REC;ORD]:NG . . . . . . . . . . . . . . . .
.
20
2.2.1 E TESTA
CASE N[AINTENANCE . . . . . . . . . . . .
.
20
21
LIST OF TABLES
Approved For ReJei4s@ 2,9 5/Q8~021: SI#-RDP88-00893R0002000600p6-111
Approved For Ike%A '2603/058/b2F: 6IA4DP88-006@3?Nb 60 1
Chapter 1
1.1 PURPOSE
The purpose of the Acceptance Test Plan is to demonstrate that the
system satisfies the requirements as traced in the Requirements Trace-
ability Matrix to the functional requirements. In addition, this doc-
ument will address Quality Assurance test plans and procedures which
will be conducted by Office of Personnel/PRIM Analysts from Automated
Data Resources Branch. ADRB is officially charged with QA support for
all OP/ADP applications and will be conducting an independent audit
for verification and validation of the PRIM System prior to recommend-
ing acceptance of the system. Due to the complexity of the PRIM Sys-
tem, it is being designed and tested in a phased approach. This docu-
ment will further provide for a mutual understanding by all parties
concerned of the Acceptance Test criteria to be conducted during the
development of the PRIM System.
1.2 SCOPE
This document presents the PRIM System Acceptance Test Plan/tasks
which will control the PRIM test environment during development.
The PRIM System is being designed in a phased approach, there-
fore, the initial test plan will be written for Release 1 of PRIM.
Thereafter the test plan will be updated for each successive release.
However, the testing philosophy established in Release 1 will continue
to be utilized in each successive release.
Due to resource limitations, ODP/QAD will not be providing QA
support or test plans in Release 1. Releases 2 through 5 are (TBR)
regarding QAD participation.
The test plan consists of 2 Chapters:
Chapter 1 - 'Introduction' presents the purpose and scope of the
PRIM Acceptance Test Plan and references applicable to the contents of
the Acceptance Test Plan.
Chapter 2 - 'Plan' presents the major testing methodologies and
defines testing criteria to be applied against the functional, per-
formance, security, hardware, human engineering and interface require-
ments.
Approved For FfI aeeL2%0W0P/q2F ( IWP88-00893R000200060006-i1
Approved For F I a e12A&0?/OZ2 FC4AE-R8P88-008 R 2 b
TABLE
PAGE
1. Documents, Publications and Reference Material . . . . . . . . 2
Approved For ~e"%2ROR/%0/92F CSI F P88-00893R0002000600Q6i1
Approved For Release ~A 085/0I ~ A-FR8P88-008??R 2 0M$
1.3 REFERENCES
The OP Analysts from the PRIM Team are utilizing a number of docu-
ments, publications and other reference material in writing the PRIM
Acceptance Test Plan. They are listed in Table 1.
--------------------------------------------------------------------
Documents, Publications and Reference Material
I 1. Applications Manual
2. Data Requirements Document
3. Data Specifications Document
4. Detailed System Design Specifications
5. Detailed System Requirements Document
6. Interface Control Document
7. ODP Applications Documentation Standards
8. Production Manual
9. Program Manual
10. Requirements Traceability Matrix
11. System Development Plan
12. System Integration Test Plan
13. User Manual
--------------------------------------------------------------------
Approved ForLRjoe@sS R09548iO? :1Cf$DP88-00893RO00200060009-1
Approved For RA&sJ,260%/68/b2F: CIA-lkbP88-008?3WAbT&ft0 1
Chapter 2
2.1 FUNCTIONS
PRIM is a centralized data base for use by the Personnel Officer, Ca-
reer Management Officer, Office Director or Training Officer of a com-
ponent in direct support of the component's day-to-day personnel man-
agement activities. The overall objective of the test plan is to
ensure that the system meets all of the requirements identified in the
Detailed System Requirements Document and Detailed System Design Spec-
ifications as mapped in the Requirements Traceability Matrix and list-
ed below.
a) Centralizing Official Data for Component Access (Release 1, 3 &
5)
b) Data Transfers Between Components (Release 1)
c) Component Data Manipulation (Releases 2 & 4)
d) Queries and Reports (Release 1)
e) Controlled Component Data Access (Release 1)
f) Other Requirements: Performance, Security, Hardware, Human En-
gineering, Interface, Legal
2.2 METHODOLOGY
The initial Acceptance Test Plan is being written for Release 1 of
PRIM; however, the testing philosophies established in Release 1 will
be utilized in successive releases of PRIM.
The test plan has been divided into 2 distinct areas - System and
Acceptance. This is to aid in the detection of errors or deficiencies
at the earliest point in time. Test packets are to be used; they are
--------------------
The term component in the context of this document is defined as a
separate entity in the Agency's organizational structure be it a di-
rectorate level, an office, a staff, a division, a service, or a
center.
Approved For Release L005/08/S I : F IIA- 2 88-00893R000200060006-13
Approved
specifically desig
every test case wh
designers. The to
unique test case n
in performing thei
suits of all tests
test library will
tests-certified by
providing OP the t
test data base. P
that any test or g
However, to achiev
with the ODP analy
ble, execute proje
lowed by the ODP a
Plan for Release 1
lysts who will per
in a semi-live env
performs in the sa
it did when only s
from this phase wi
to the PRIM Data B
Upon successf
of acceptance test
successful testing
ty, access, etc.)
human engineering,
HRS2 Data Base. T
until test specifi
production and mai
The ODP PRIM
ficiency to ensure
lysts will maintai
tests during the a
their audit of the
2.2.1 TEST TEAM
The Acceptance Tes
ployees from 10 of
Initial Operating
lyst will provide
ticipants, Directo
of Personnel. She
the testing effort
For Fiel aie1655/0 /62 6k-R'bP88-006330666 66068 1
ed to control the testing. There is a packet for
ch is made from specifications received from the
t packets are identified by a cover sheet with a
mber and include procedures which guide the testers
tests. The OP/PRIM analysts will review the re-
executed against the system test packets. The PRIM
my contain functions that have passed all of ODP's
official pass. In addition, ODP is responsible for
ols which they may use in establishing their system
IM's test data will be established in such a manner
oup of tests may be executed at any given time.
continuity and effective working relationships
ts, the testers will, to the fullest extent possi-
t testing in the same developmental sequence fol-
alysts. The first phase of the Acceptance Test
will consist of a system test by the OP/PRIM Ana-
orm an integrated test of all procedures/programs
ronment. This will verify that the system still
e manner with all its functional areas completed as
ecific areas were complete. An additional benefit
1 be the training and familiarization of the system
se Manager and the IOC users.
1 completion of the first phase, the second phase
for Release 1 will begin. This will consist of
of data base security (security matrices, integri-
ite testing, data transfers, performance, hardware,
reporting, and massaging interface data from the
sting will consist of processing transactions/data
ations are met and all documentation required for
tenance of the system are complete and accurate.
nalysts will be notified of any system error or de-
that appropriate action is taken. The OP/PRIM ana-
and file the results of all major or necessary
ceptance phase or until Audit Staff has completed
system.
Team consists of the two OP/PRIM Analysts and em-
ices who have been selected to participate in the
apability (IOC) of PRIM. The senior OP PRIM Ana-
he communications link between ODP and the IOC par-
ate Referents, the PRIM User Group and the Office
will also keep management apprised on the status of
via weekly reports or official briefings.
The OP PRIM Analysts are responsible for:
d guidance in writing system test specifications.
Approved IFor F IRa~eL2Q~(0?/012 FG AERPP88-00893R000200060006
Approved For FieleaielA?/A/t2' Ci1AERbP88-001Mf66&26&60681
b) Assistance and guidance in writing acceptance test specifica-
tions based on the re-execution of selected segments of all of
the system test(s).
c) Assistance and guidance in creating test data.
d) Assistance and guidance in scheduling test resources.
e) Assistance and guidance in sequencing and executing tests.
f) Assistance and guidance in analyzing test results.
g) Assistance and guidance in documenting all test results with ac-
cepted numbering and dating standards to ensure the capability
of re-executing or referencing any given test or group of tests.
h) Communicating both positive and negative test results to the ODP
PRIM Analysts and following up on remedial action necessary to
correct deficiencies or errors with subsequent retesting.
i) Ensuring that user documentation is complete and accurate as
tests are executed.
j) Ensuring that all Audit Staff's written requirements are met.
k) Ensuring that all test objectives are met for the various data
transfers. (Example: HRS2 Interface coming in and Data Trans-
fers between components.)
1) Security controls (production, reports, users, etc).
m) Privacy Act compliances.
n) Ensuring official pass of all documentation/access to all
files/data lists/complete testing capabilities, etc. (See Sec-
tion )
The IOC Participants are responsible for:
a) Writing acceptance test specifications based on the re-execution
of selected segments or all of the system test(s).
b) Creating test data in terms of transaction (menu) processing.
c) Scheduling test resources.
d) Sequencing and executing tests.
e) Analyzing test results.
f) Documenting all test results using preplanned test formats for
each and every test with accepted numbering and dating standards
to ensure the capability of re-executing or referencing any giv-
en test or group of tests.
Approved For ~e "t2R0R/V/P2I: YL -~DP88-00893R0002000600065-1
Approved
g) Communicating
OP/PRIM Anal
to correct de
h) Ensuring that
tests are exe
Analysts.
For IeUd'2609/6$/62F 6I-F'bP88-0063hbbbbt01
both positive and negative test results to the
sts and following up on remedial action necessary
ficiencies or errors with subsequent retesting.
user documentation is complete and accurate as
cuted. Provide monthly status report to OP/PRIM
i) Complying with all Audit Staff's written requirements.
j) Ensuring that
all test objectives are met.
Skills Required - The PRIM testers (IOC Components) must be
knowledgable in GI S, VM, RAMIS and the batch process, to input, up-
date and retrieve formation from the PRIM System. In addition, the
IOC components are committed to assisting in the training of other
careerists in their Directorate who will be participating in future
releases of PRIM.
2.2.2 RESOURCE REQUIREMENTS
a) Human
1. Production Division/ODP - Data Base Management support and
DAC suppo
rt during the development testing phase
2. Operations Division/ODP - Operating the computer' equipment
that the PRIM development system will utilize during Accep-
tance Testing.
3. Engineering Division/ODP - System performance measurement
4. Information and Analysis Branch/OP - HRS2 RAMIS Report defi-
nition s port.
5. Automate Data Resources Branch/OP - PRIM DBM
6. PRIM Users Group - Directorate Referents and Directorate ADP
Control Officers represent various components during devel-
opment. PRIM Users Group will formalize changes to current
requirements if the need arises. Request For Change (RFC)
will be controlled via Configuration Management Procedures.
7. Office of Communications
i) Domestic Networks Division (DND) within OC handles all
PRIM domestic communications. DND is responsible for
the installation and/or procurement of communications
lines, modems, and cryptographic equipment in support
of all PRIM peripheral equipment (terminals, remote
Approved IFor R l aLseL2R0?/0 /Q2F gIAjFpP88-00893R00020006000661
Approved For Release~D0g08/02 FCIA DP88-00883Fz b"OU6
printers, and remote job entry stations). DND
interfaces directly with Engineering Division (ED/ODP)
in response to communications requirements or problems
encountered in the PRIM Project.
ii) Communications Security Division (CSD) within OC is
responsible for TEMPEST testing/approval of all termi-
nals and printers accessing PRIM. CSD interfaces di-
rectly with ED/ODP in response to communications re-
quirements or problems encountered in the PRIM
Project.
8. Office of the Inspector General (OIG) - The Information Sys-
tems Audit Division of the Audit Staff will examine PRIM
procedures, records and reports and certify that their tests
are complete prior to the PRIM analysts recommending that
the system be implemented.
9. Office of Security - The Information Systems Security Group
(ISSG) will play a consulting role in the evaluation of the
PRIM System security feature during Acceptance Testing.
b) Equipment
1. Hardware
The PRIM System will be accessed by the individual com-
ponents through existing equipment. Peripherals in common
use include video terminals (Delta Data 5000 or 7260 series)
printers (TI Silent 700, Desi?n 100). The components will
be responsible for acquiring any additional equipment needed
to access the PRIM System. Any equipment, specifically ter-
minals or printers, currently installed or newly acquired by
the components, must comply with standard Agency computer
security regulations.
All Acceptance Testing and Production activity per-
formed outside of the Headquarters building must utilize
only equipment approved for classified use. (Refer to Re-
source Requirements, paragraph a) Human, above for further
details regarding point of contact.)
Software
In House
GIMS Yes
DBM System Software related
to controlling read and/or
write to PRIM and to data
in PRIM Yes
VM Yes
c) Materials
Applicable Documents and Forms
Approved For F I1qageL2(A0W0?/(2 F 9AEPJ)P88-00893R000200060006-~
Approved For Fiekaseh2&9/A/W 6IAE A)P88-00&hF 6662 866068M
Form 2968 - File Description
Th index or table of contents noting the acronym,
re ative sequence, test description, etc. of each
da a element in the project file.
Form 3692 - Data Element Description
Us d to define each data element within a given
ap ication of the system and its associated edit
specifications. There is a copy of this form
for each data element listed in the file description
mentioned above.
Form 3692A -Input Requirements
Defines only those data elements that may be input
(required or optional) to accomplish a particular
task or transaction specified in the system design.
An error message number is produced if a required
data element is missing from the input.
Form 3692B - Program Specification (PRIM has added this spec
to the front of the POL in lieu of using the form.)
Pr
th
re
th
vides additional specifications necessary for
program to be written that are not previously
orded on the data element description form or
input requirements form.
Form 3692C -(Message Descriptions'
Us
pr
th
ac
d to document all messages generated by the
ject transactions in message number sequence,
it program source number, and corrective
ion to be taken upon display of the message.
A
pr
to
th
raphic layout of each menu to be used with a
ject transaction which is input on a CRT
minal. (All menus must be tested on both
Delta Data 5000 and 7260T series.)
Form 2278 rogram Narrative (PRIM has added this narrative to
the front of the POL in lieu of using the Form.)
Pr vides a general description of the program
relating to any project function.
Do4ument verification procedures that must be
pe formed to determine successful program
Approved (For F IRaeeL20AO 0?/Ot2 F C11AERRP88-00893R000200060006-
Approved For IiiekAeL2e09/0?8/62F GII1-F DP88-00&3k68OQOb 6Ob%%31
execution and the identification of any messages
that pertain to the program.
Form 3417 - Report Specifications
Form 3417A - Report Data Elements
Used to supplement Form 3417 (above) in the event
of insufficient space.
Form 3984 - Problem Report (Discrepancy Report) (This Form
to be used for Release 1 only.)
The IOC Testers will record problems on this form.
The OP PRIM Analysts will analyze and if appropriate
forward copy to ODP PRIM Analysts. This documents
and controls the correcting and retesting of the
problem(s). When the problem has been corrected,
the ODP PRIM Analysts will forward it (Orig plus 1)
back to the OP PRIM Analysts who in turn will
ask the user testers to retest the transaction.
PANVALET - Current list of PANVALET Specifications and
Source - to include program/module, PANVALET
numbers, date last updated and level numbers.
COMVAD
DATADOC/PROGRAMDOC
PRIM Users Manual
PRIM Program Manual
PRIM Production Manual
Applications Manual
Report-Writer Software
RAMIS Graphics
Audit Trail - Containing sufficient information to permit
a regular security review of system activity
by Office of Security.
Contingency Plan - Including backup procedures in the event
the main system is damaged or destroyed.
Approved For Release 200S/0S8/0I F : CIA-RDP88-00893ROO0200060006-1
1 9
Approved
For IekAet'260?/058/b2F 6I4AbP88-00943t'
GIMS Procedurs, Dictionaries, M and M/Dict, SYSMAN2 (except for
passwords) eor Office of Personnel Analysts only.
NOTE: Other
condi
requi
Copie
forms
with
Examp
documentation which sets forth any special
tions and/or limitations impacting the system
rements will be provided by the OP PRIM Analysts.
s (some with examples and comments) of additional
to be used in system testing will be ?rovided
the Acceptance Test Procedures Package.
les: Integration Test Review
System Test Packets
2.2.3 SYSTEM STRESS
System Stress tests
accuracy, timing, a
System will provide
cial HRS2 data alon
access to employee
on-line queries or
ficial data" only.
will be measured in terms of reliability, sizing,
ailability, backup and recovery. In Release 1 the
components terminal access and retrieval of offi-
with the capability for components to transfer
data between components and to generate their own
reports, offline reports and graphs utilizing "of-
Tests will be condu
results for the sam
the data nor the so
cted to insure that the system provides the same
e successive requests for data providing neither
ftware has been changed by an update.
ent Output Response
Tests will be cond cted to demonstrate that the requested response
level with a data reporting activity of up to 200 users can be accom-
modated. Release 1 will have approximately 40-50 users; therefore,
the full test with 200 users will be certified in a future release.
ent Update Response Level for Component Data
Component. Data Fil s will not be available in Release 1; testing of
the update response level will be certified beginning with Release 2.
0020006000p01
Approved IFor Ioe "eL2(R0?1 8192E CIIA-FJDP88-00893R0
2.2.3.2
Approved For FI66I26&0?42
SIZING
dAERbP88-008R~M&0%00A
2.2.3.2.1
Users
The system must support up to 200 concurrent users actively querying,
reporting or updating the Data Base. Release 1 will only certify ap-
proximately 40-50 concurrent users, therefore, the full test with 200
concurrent users will be certified in future releases.
The system must support queries and reports requesting data from up to
30 different user data files utilizing a minimum of 70 edit/validation
dictionaries. Release 1 will certify 10 data files and a minimum of
65 dictionaries exclusive of data files required to satisfy security.
(Security is addressed in Section 2.2.4)
PRIM FILES ACCESS
INDEX FILES - A group of files will be provided for DB Manager
both Active data and Separated data
indexing. The files will be used in-
directly via XBRIDGING from the PRIM
PERSIGN and PRIMSEP files. A file
will be provided for each Selection
element used when building a Component's
Active and Separated data links. The
Index files will be established once
and updated through XBRIDGES. How-
ever, the Index files can be re-
established with the PRINDX procedure.
STATEMENT
FILE - This file will permit the PRIM DBMGR DB Manager
to format high volume query statements
which components will utilize via the
INDXSTMT Procedure.
INTERFACE - This file contains all current Components
INTERFACE data passed to. PRIM from via SEGACCESS
HRS2. The file will be accessed
through SEGACCESS segments spanning
to an INTERINDX which spans to
INTERFACE. An INPURGE date for each
INTERFACE record will be stored in
the INTERINDX file and INTERFACE
records will be deleted when that
date is reached. Data will be
loaded into the PRIM INTERINDX file
via a BULK-LOAD statement using the
Approved For Pelja~eL200p581j2~ 91I -R P88-00893R00020006000qi1
Approved For FUa eL2609/0%/62~ GIIkF~)P88-00879%060620609068 1
disk created by the PRCAUPDT procedure
creating an INPURGE date for each
record. Data will be loaded into
the PRIM INTERFACE file via an ITEM-
DUMP statement using the same disk.
INTERINDX - This file is the link between the Components
SEGACCESS files and the INTERFACE
file. It contains a purge date
(INPURGE) for each INTERFACE record.
This date will be used when purging
data from the INTERFACE file. The
INTERINDX link (INTERLINK) will also
be deleted.
OFFICIAL
DATA
FILES - Files containing official personnel Components
data. These files are moved from
HRS2 and include all Official data
required from HRS2 by PRIM.
PRIM - This is considered one of the Official Components
PERSIGN Data Files in so far as how it is linked.
The entire PERSIGN file will be moved
only once (not daily) into PRIM and
will be updated daily by the PRCHGLOAD
procedure with data received from the
HRS2 INTERFACE file via the PRCAUPDT
procedure. The PERSIGN data is
accessed by a component through the
SEGACCESS file (SYSMAN2+A) containing
that component's Active data links.
PRIFN - PRIM INTERFACE File Name on HRS2 and DB Manager
PRIM. This file will insure dumps and
loads are done in the same order. This
file will contain all files to be dumped
with a flag on those files to be dumped
only on weekends.
PRIMSEP - This file will contain the PRIM PERSIGN Components
record for a separated employee plus that
employee's reason for separation and
date of separation. This data is
accessed by a component through the
SEGACCESS file (SYSMAN2+S) containing
that component's Separated data links.
SEGACCESS - Set of segmented files. One set of DB Manager
segments will be established for each
level of component access requested.
The file name will be the SYSMAN2
Signon concatentated to either "A"
Approved For FI9apL20A0%/0?/012 ~qASR$P88-00893R000200060006121
Approved For F~eI a9e'2& &0?/&2>! 6P -FbP88-0081hk*626 0066
(Active), "S" (Separated) or "Ctt
(Component). All access of Official
data (Active and Separated) will be
through these segmented files.
SELECTION - Set of segmented files. One segment Component-
will be established for each Signon Individual
ORG. This file will contain the ' Selection
Criteria used to select records File only
authorized for the Signon ORG, Signon
ORG text, ORGCODE links (SLORGLINK)
and POSNR links (SLPOSLINK). The
ORGCODE and POSNR data is accessed
by a component through the SELECTION
File.
SYSER - In addition to its normal function, DB Manager
this file will contain the Delete-
Data and Invert statements needed
to create new Index files for PRIM
PERSIGN and PRIMSEP. This file is
used by-the PRINDX procedure.
COMVAD - Files containing edit and validation Components
data used in HRS2. These files are
moved from HRS2 to support the Official
data files and in Release 2 will support
the Component data files.
Data transferred from HRS2 into PRIM must reflect the exact same data
values in the PRIM System as was present in HRS2 at the time the data
was extracted (i.e., COMVAD) or processed via the HRS2 INTERFACE Data
List to PRIM Active and PRIMSEP.
2.2.3.3.2 Edits and Validations for Component Data
Component Data Files will not be available in Release 1, therefore,
the edit and validations for these files will be certified in Releases
2 and 4.
Approved For ~"qL220R/~81p2F: ~If-F DP88-00893R000200060001631
Approved For FUa el 60?/0$/62F GIIk I P88-008 31 ?062'0b?906b%31
2.2.3.4 TIMING
2.2.3.4.1 Direct Query
The OP PRIM Analysts will conduct stress testing utilizing IOC compo-
nent representatives to ensure that the system can complete 95 per
cent of the direct queries in 4-7 seconds under normal operating con-
ditions. The direct query will utilize the DBMS Query Language to re-
trieve data from selected data lists using the DLID as the selection
criteria for retrieving the information. (Normal operating conditions
are as defined in the Detailed System Requirements Document, Section
3.2.4.1)
2.2.3.4.2 Complex Query
The OP PRIM Analysts will conduct stress testing utilizing IOC compo-
nent representatives to ensure that the system can complete a complex
query (end-to-end search) at the rate of 2,000 records per minute un-
der normal operating conditions. In addition, they will review the
daily Data Base Exception Report which identifies query statements ex-
ecuting longer than 3 minutes.
2.2.3.4.3 Hardcopy Reports
The OP PRIM Analysts will conduct stress testing utilizing IOC compo-
nent representatives to ensure that the system can print reports in 2
hours under normal operating conditions with a maximum overnight turn-
around. Subsequent releases will include "scheduled" batch production
reports.
2.2.3.4.4 Scheduling Updates to PRIM from HRS2
The extract of HRS2 data for updating the PRIM System must occur after
the complete nightly update of the HRS2 Data Base. The PRIM Data Base
Manager will review the Data Base Statistics and the output from any
nightly updates (ROUTE *A) to ensure that the updates to PRIM were
made. In addition, the Data Base Manager compares selected HRS2 Data
Lists and number of data items to the PRIM Data Lists and number of
data items.
Approved For Fie "eL2R0?/%8/42F CIIA-I P88-00893R00020006000P41
Approved For F I a el16&09/0'2 F6AERbP88-008 RVO600WA
2.2.3.4.5 Updates to Component Data
Component Data Files will not be available in Release 1. Stress Test-
ing of the update timings will be certified beginning with Release 2.
The PRIM system must be available during regular working hours
(0800-1800 hours), thus the analysts and customers will conduct system
availability tests on both the development and production data base
prior to recommending acceptance of the system. In addition, the sys-
tem cannot operate in a degraded mode for more than one day and the
degraded mode must only affect response time with no affect on the
system's functional capabilities.
Tests will be conducted to insure that the PRIM System is backed up
daily with audit trails of all updates to data and PRIM software. The
daily backup must occur without user activation or intervention. The
daily backup must be retained for a period of one-work week, a weekly
backup must be kept until the next monthly backup; and each monthly
backup is replaced by the next monthly backup.
-- Th -,PRIM System must virtually self recover in the event of hardware
failure or the inadvertent destruction of data and/or files. The re-
covery process to restore the PRIM System or restart an interrupted
activity must minimize the need for the user to re-enter data.
The capability must exist to restore the PRIM System as of the close
of business the previous day, and also reprocess activity for the cur-
rent day to minimize the need for the user to re-enter data. The re-
store and reprocess activity must take less than two hours. The PRIM
Data Base Manager will notify and coordinate with Production Division/
ODP when the Data Base must be restored for either data or software
problems.
Approved For ~eWa~2905/0S8192F qI F~P88-00893R00020006000~51
Approved For &a eI'260?/A/62~ GIIk-F bP88-00633F d062
2.2.4 CONTROLS
2.2.4.1 SOFTWARE (DEVELOPMENT AND PRODUCTION)
O6068M
All PRIM Software received by "official pass" from ODP will be thor-
oughly tested on the PRIMTEST Data Base and accepted by the user be-
fore it is moved to the Production System for semi-live environment
tests. The first phase of the Acceptance Test Plan for Release 1 will
consist of a System Test by the OP/PRIM Analysts who will perform an
integrated test of all procedures/programs in a semi-live environment.
This will verify that the system still performs in the same manner
with all its functional areas completed as it did when only specific
areas were complete. Once the data base has been loaded with the live
production version, all procedures, dictionaries, etc. will again be
certified prior to the users having access to the system. If an error
is detected either on PRIMTEST or PRIM, a problem report and/or change
control (request for change) will be used to officially report the er-
ror. PRIM software which requires change must be conducted first on
ODP's PERTEST Data Base. After the error has been corrected and test-
ed, ODP will certify via "official pass" that it is ready for retest
on PRIMTEST. PRIM test data is established utilizing accepted number-
ing and dating conventions to ensure the capability of re-executing or
referencing any given test or group of tests. After user testing on
PRIMTEST, the Senior OP Analyst will request that it be moved to the
Production System via a DAC PIR. A copy of the DAC PIR is to be for-
warded to ADRB certifying that the software was moved. Where appro-
priate, PANVALET specifications and source levels are required as part
of the "official pass" during all acceptance testing.
All of the Data Base Management System software related to controlling
read and/or write access to the PRIM System and to data in the PRIM
System is highly sensitive; therefore, tests will be conducted to en-
sure access and data is limited to only the individuals needing the
information. Security locks and keys will be placed on selected GIMS
Procedures and Dictionaries (i.e., M, M/Dict, SYSMAN2).
The Agency's regulation on Computer Security, HR controls the STATINTL
hardware security for the PRIM System. All acceptance testing and
Production activity performed outside of Headquarters Building must
utilize only equipment approved for classified use. IOC participants
will be briefed on the use of Tempest Approved equipment. IOC partic-
ipants will be referred to Office of Security and Office of Communica-
tions/Domestic Networks Division regarding Hardware Security ques-
tions.
Approved For F IfjateL20A0N0?/0p2 FClAERPP88-00893RO002000600061-
Approved For F;61Va9el263S/0?/0'2 F 6AE~P88-00873F kmkt&mO(@@A
2.2.4.4 SECURITY CONTROLS
2.2.4.4.1 Component Record Level Access
Tests will be conducted to ensure that a component is restricted to
i
a) access only the records for individuals
assigned to that component or have a
Career Service Designation of that component
b) access data passed electronically between
components for individuals with an upcoming/proposed
assignment to that component
c) enter, update and retrieve component data
d) query and report on organizational, position
and employee data that applies to their
assigned job requirements.
e) Directorate-level requires read access to
all of the official organizational and
position data as well as data for employees
assigned to every office within the Directorate,
or who have a grandfather Career Service
Designation associated with that Directorate.
Directorate level cannot have access to a
component's input data.
.Tests will be conducted to ensure limited read access to an employee's
race code. Only designated personnel such as those responsible for
preparing applicant and promotion data for Uniform Selection Review
Reports can have read access to this code.
Tests will be conducted to ensure that no one can update the data
transferred into the PRIM Data Base from the HRS2 Data Base. The only
way the data can be changed is by the next transfer of data from the
HRS2 Data Base. The Security Matrix prevents anyone from entering new
data, deleting data or changing data values of the HRS2 data stored in
PRIM.
Approved For ~e east 2055/g8/p2F: ~IA-I DP88-00893R0002000600016 1
Approved For I e%"e-260?/OS8//2F: 6IAf4QDP88-00H3k&0 1
2.2.4.4.4 PRIM Data Base Reporting Security
The OP Analysts will review the daily Security Violations Report
against the PRIM Data Base which identifies violations of established
read and/or write access control and the standard ACF2 violations re-
port. Directorate Referents may be notified if abuses are detected.
2.2.5 TEST DATA
Release 1 will provide components terminal access and retrieval of
"official" HRS2 data which is transferred to the PRIM Data Base each
night. The data will be tested in a semi-live environment and will
consist of re-executing the 13 PRIM procedures, querying and reporting
from
a) 65+ COMVAD Dictionaries
b) the HRS2 Official data files and
c) the new PRIM data files.
Test
PRIM PROCEDURES/PROCESSES Responsibility
PRDDUMP - Create ITEM-DUMP statements. DBCC
PRDLOAD - Create ITEM-LOAD statements. DBCC
PRCAESTB - Establish a component's access DB Manager
criteria in that component's
SELECTION file.
PRCAUPDT - Extract data from the HRS2
INTERFACE file which pertains
to PRIM to be used by the
PRCHGLOAD procedure. This is
a BATCHGIM II program.
PRCHGLOAD - Uses disk from PRCAUPDT to make DBCC
changes to PRIM PERSIGN and
related Index files, PRIMSEP
and related Index files,
INTERINDX and load INTERFACE
record into the PRIM INTERFACE
file.
PRCATRSF - Allows a component to create an Components
access to an employee's record
for another component or remove
an access to a record created for
one component by another component.
Approved For F~el a~seL2%0?/q/Q2F qIA-FpP88-00893R00020006000~81
Approved For Fiel a9er2h,/0?/(d2 F 6fi -F P88-0083M w 66odd I
PRNTEPRG - Review component access segmented DBCC
file and purge any records with
PRGDTE LE the System date.
PRINTPRG - Review the PRIM INTERINDX file for DBCC
INTERLINKS with INPURGE LE the
System date. Delete INTERLINK
as well as the INTERFACE record
related to it.
PRACCUPDT - Allows the user the freedom to Components
change a PRGDTE and add SSNORs to
their component data file.
PRCALINK - Uses SELECTION Criteria data from Components
the SELECTION segment for Signon
ORG to trigger the appropriate
Index file(s) to build the daily
link for that ORG. Done once a
day - at the time of the first
Signon for a particular ORG.
PRINDX - This process extracts data from DBCC
PRIM PERSIGN and/or PRIMSEP to DB Manager
re-establish the Index files.
PRCRTLINK - Uses SLORGLINK in the SELECTION DBCC
segments to build new links to the
ORGCODE file for each segment and
SLPOSLINK in the SELECTION segments
to build new links to the POSNR
file for each segment. This
procedure is executed on weekends
by DBCC.
SEARCH - This procedure will be used by the Components
components to query the NAME and
HPOSNR files.
LISTSTMT - Allows a component to access per- DB Manager
formatted statements which contain
selected full file data (QUAL,
LREQID, ORGCODE, etc.) as well as
high volume query statements, thus
eliminating the need for a component
to key the various data elements
to execute their request.
The testing will be conducted daily by 10 offices and the volume of
data to be used consists of 12,000 tracks. In addition, components
will also be able to pass access to an employee's official data from
one component to another for individuals pending an upcoming assign-
ment to a specific component. Security is the major focus for Release
1 testing.
Approved For F2Ue"eL2%05gi/OS8/Q2F CIA FP88-00893R00020006000~91
Approved For F Ida ey26&0?42 FGIIAERbP88-008 R b
2.2.6 CONSTRAINTS
The initial timing requirement for transferring data to PRIM in Re-
lease 1 is geared to the update process of data in the HRS2 Data Base.
The extract of HRS2 data for updating the PRIM System nightly must oc-
cur after the complete nightly update of the HRS2 Data Base. On occa-
sion, due to a timing problem with the HRS2 job stream PRIM may not
get updated; however, this will not seriously impact the users. A
message appears at Signon time of the last date of update to the Data
Base.
2.2.7 REGRESSION TESTING
All PRIM test cases will be documented using preplanned test formats
for each and every test with accepted numbering and dating standards
to ensure the capability of re-executing any given test or group of
tests. The OP Analysts and IOC Test Officers test top down; there-
fore, if an error is detected and fixed, the testers ensure that the
change made will not adversely affect previously tested code.
2.2.8 DATA RECORDING
There is a test packet for every test case which is made from specifi-
cations received from the designers. The OP PRIM Analysts will review
the results of all tests executed against these test packets. If an
error is detected and corrected, the originator of the Problem Report
must certify to the OP PRIM Analysts that he/she has retested the ap-
plicable procedure and along with the retest date. Data Base Statis-
tics between HRS2 and PRIM Data Lists will be analyzed daily and main-
tained for at least 30 days after PRIM goes into Production.
2.2.9 EVALUATION
Release 1 of PRIM is basically transferring "Official" data from the
HRS2 Data Base to PRIM via extracts; therefore, testing of range of
data values used, combination of input types used, etc are not appli-
cable to PRIM in Release 1. In addition since PRIM is due to be up-
dated nightly, the OP PRIM Analysts will not have to create test data
for manipulation. Testing evaluation is basically one of evaluating
security matrices, verifying the HRS2 INTERFACE coming in is applied
properly and passing access to an employee's official data from one
component to another.
Approved For F IRa~eL20Q5 O /012 i.qAERPP88-00893R000200060006Za
Approved For IWekd1;e-'2e0?/0%/e2F dIfr-F~bP88-008' 3P?obQvj?6raobb%31
2.2.10 TEST CASE MAINTENANCE
The OP PRIM Analysts will maintain and file the results of all major
or necessary tests during the acceptance phase or until Audit Staff
has completed their audit of the system.
Approved For ~elftsq.220R/V/~2P: ~I1-~DP88-00893R00020006000O11
oRJ crtvL: No.
?STA~_I N z_[_M _ I I DC_I oP
Oiutcrivu: I
I (Persoiinet Re-source Inforunition Management)
SDD/A
O13JIECF IVL: AUD ACTION PI.J1I1
-06
I__ 3ritx] + _
JIW,P111R =
1 APIZ-JtJN T-T1 JUI1S FP -- T
17T EXCI FDJNG PLA
To provide a computer system satisfying the requirements
components for personal_ data using the IIRS2 Data Base as
I source of data with the capability to input and update component
I data, and retrieve all data stored.
ACTION PLAN (Milestones)
3.2 Design Phase/Detailed Design Development
3.2.1 Develop Detailed System Design
Specifications
3.2.2 Develop System Integration 'Pest Plan
3.2.3 Develop Acceptance Test Plan
3.2.4 Develop Draft of Users Manual
3.2.5 Up late System Development Plan
3.2.6 Uixlate Data Speci ficaLIC56s Document
3.2.7 Ulx]a to Requirements Traceability Matrix
3.2.8 IJplate Interface control Dbxument
3.2.9 Conduct Critical Design Review
I I = ME I ING PLAN
_ I - BEHIND P] Af.J
COMPLETION MOMI`II: SC71EI)[1LFD 0; ACIUJAL X
FY: 134 IOCT NOV DEC JAN FL:II MAR APR MAY JIJtd JUL AUG SI I'
I I I .1 I 'I I I I I I I
I i I I I I I I I I I
I I I I I I I I I I I
I I I I I I I I I I I I
i I I I I I I I I i I I
I I I I I I I I I I I I
I I I I I I I I
I I~ I I I I I
I o-o-1------I_----+---- I I
I i I I I I
I ' I I I I I I
I I I I 1 I I I
1- o- I-----}o--- I-----4 o---4 ----k---o;
of Agency
the prime
FY I W KYRi DOLLARS
#33 . 4.5
I 84 4.I_T---
I 135 4.1
86 1.2
0006-1
KL.SOUI UE ESTIMATE
T-~ S I 11I'I IJ
I I I I I I
1>__ ,.P=ersonnel I 4 4 5 4 4 4 4 4 4
Approved For Release 2005/08/02 : CIA-RDP88-00893R00 -
PROJECT LIFE CYCU 1llA.F"' OWEC[IVL: AND ACTION PLAN
I ORJECl'TVC NO. App)1 E 1 For a s jam;
STATOW1 I I DC--I/OP I I I I- I
I o ,c. r-r_vl I SDD/A/ODP I
I (Per_sonnel Resource Infonwation Pt,nagement)
To provide a computer system satisfying the
components for personal data using t:he I1RS2
source of data with the capability to input
data, and retrieve all data stored.
I-
requirements of Agency
Data Base as the prime
and ulxlate component
ACTION PLAN (Milestones)
4.0 System Implementation/Integration Phase
4.1. Develop Program ManuaL
4.2 Develop Application M P0893ROO020006000~-1
Approved 08PIli6(6/R~,1AUb'0893R06k10(d-~
IF Signon Org ne DBMGRP
THEN - PRINT message stating for data base
manager use only
endif;
IF $A(2) EQ BLANK or $A(2) NE 'A' or $A(2) NE 'C' or
$A(2) NE 'D' or $A(2) NE 'R' or $A(2) NE 'X'
or $A(2) NE 'AS'
THEN - PRINT message stating valid Action required
- RUN EXIT-FOR-RESTART
ELSE
IF $A(3) EQ BLANK
THEN - PRINT message stating Access Segment
required
- RUN EXIT-FOR-RESTART
endif;
endif;
DO UNTIL SELECTION = 'YES' or SARRAY = 109
IF $A(SARRAY) NE BLANK
THEN - SELECTION = 'YES'
ELSE - SARRAY = SARRAY + 1
endif;
enddo;
IF SELECTION = 'NO' and $A(2) NE 'R' or 'D'
THEN - PRINT error message requesting one selection
field to be filled in
- RUN EXIT-FOR-RESTART
IF $A(2) EQ 'A' and null $A(3)
THEN - PRINT error message requesting Text for
Action 'A'
- RUN EXIT-FOR-RESTART
IF $A(2) EQ 'A' and present $A(3)
(Add new to the SELECTION segment specified by
Access Segment field on menu)
THEN - RUN ACASE
- RUN ADDCASE
- RUN EXIT-FOR-MORE
IF $A(2) EQ 'AS'
(Add additional ORG and/or TEXT to SELECTION segment
specified by Access Segment field on menu)
THEN - RUN ASCASE
- RUN ADDCASE
- RUN EXIT-FOR-MORE
Approved Ae1INT23 TKApf?925/ (0?NAC~I~ ftpPPpp-00893R000200060006-1
Approve 6*60' IkU494 $b0 6 'CVASFRbk~-00893Rv 02&060006-1
IF $A(2) EQ 'C' (Change entire Criteria)
THEN - RUN CCASE
- RUN ADDCASE
- RUN EXIT-FOR-MORE
IF $A(2) EQ 'D' (Delete all Criteria)
THEN - RUN DCASE
- RUN EXIT-FOR-MORE
endif;
IF $A(2) EQ 'R' (Retrieve current Criteria)
THEN - RUN RCASE
- RUN EXIT-FOR-MORE
IF $A(2) EQ 'X' (Exit the Menu)
THEN - RUN EXIT-FOR-NOMORE
endif;
DEC ACASE
STMT temporary buffer area
$A(3) array containing Access Segment
$A(4) array containing Text
enddec ACASE
PROC ACASE
(Build first part of an add statement using ADD NEW)
(STMT = 'ADD NEW '//$A(3)//$QM//$A(3)//$QM//SLTEXT//
$QM//$A(4)//$QM)
endproc ACASE;
DEC ASCASE
BLANK
STMT
$A(3)
$A(4)
r r
value
temporary buffer
array containing
array containing
area
Access Segment
Text
PROC ASCASE
(Build first part of statement using ADD verb)
(STMT = 'ADD '//$A(3)//$QM//$A(3)//$QM)
IF $A(4) NE BLANK
THEN - continue add statement to include Text
(STMT = STMT//' SLTEXT '//$QM//$A(4)//$QM)
endif;
endproc ASCASE
DEC ADDCASE
BLANK value
STMT2 temporary buffer area
A value 5
B value 6
Approved FoADF Mjqff8JR?. .Rqa-FRE8Mg893R000200060006-12
AD II ISTR~T6OJI6 a-F P8 66893R000 0086POO69 3
Approved For a ease
value 7
value 8
value 9
value 10
value 11
$A(5 through 11) 1st line of Criteria data
$A(12 through 18) 2nd line of Criteria data
$A(19 through 25) 3rd line of Criteria data
$A(26 through 32) 4th line of Criteria data
$A(33 through 39) 5th line of Criteria data
$A(40 through 46) 6th line of Criteria data
$A(47 through 53) 7th line of Criteria data
$A(54 through 60) 8th line of Criteria data
$A(61 through 67) 9th line of Criteria data
$A(68 through 74) 10th line of Criteria data
$A(75 through 81) 11th line of Criteria data
$A(82 through 88) 12th line of Criteria data
$A(89 through 95) 13th line of Criteria data
$A(96 through 102) 14th line of Criteria data
$A(103 through 109) 15th line of Criteria data
enddec ADDCASE
PROC ADDCASE
(Start at first array of each Criteria line and build
a Criteria value. Separate each element with an
asterisk and enclose each Criteria value in quotes)
INITIATE STMT2
(STMT2 = ' SLCRITERIA ')
DO for each Criteria
line
IF
$A(A)
$A(C)
$A(E)
$A(G)
NE
NE
NE
NE
BLANK
BLANK
BLANK
BLANK
or
or
or
$A(B)
$A(D)
$A(F)
NE
NE
NE
BLANK
BLANK
BLANK
or
or
or
THEN - include in
endif;
STMT2 (remove imbedded blanks)
(STMT2 = STMT2//$QM//$A(A)//'::'//$A(B)//''
$A(C)//'::'//$A(D)//'::'//$A(E)//';;'//$A(F)//
'"r//$A(G)//$QM)
(STMT2 = $EAB(STMT2)
INCREASE array values for next line
enddo;
A=A+7, B=B+7, C=C+7, D=D+7,
E _ E + 7 , F = F + 7 , G= G+ 7
EXECUTE complete statement for Action A, AS, or C
(using statements formed in ACASE, ASCASE, or
CCASE with criteria value formed in ADDCASE)
(&STMT &STMT2)
endproc ADDCASE
9 rN" Q ,I MA-C f Q P88-00893R000200060006-1
Approve
ONLY 23
Approved WV1,;G~49 ibb6'AI6.IAfA&)00893R02`'60 1
DEC CCASE
BLANK value
STMT temporary buffer area
$A(3) (array containing Access Segment)
$A(4) (array containing Text)
enddec CCASE
START with Access Segment and build a change statement
(STMT = 'CHANGE '//$A(3)//$QM//$A(3)//$QM)
IF $A(4) NE BLANK
THEN - (continue statement to include Text)
(STMT = STMT//' SLTEXT TO '//$QM//$A(4)//$QM)
endif;
EXTEND STMT to contain beginning of Criteria
(STMT = STMT//' SLCRITERIA TO ')
endproc CCASE
DEC DCASE
BLANK value
STMT temporary buffer area
$A(3) array containing access segment
enddec DCASE
START with Access Segment and build a delete statement
(STMT = 'DELETE '//$A(3)//$QM//$A(3)//$QM
//' SLCRITERIA ')
EXECUTE &STMT
endproc DCASE
DEC RCASE
Area
value 5
$A(3)
array containing Access Segment
TEXT
temporary
area
for
SLTEXT value
CRITERIA
temporary
area
for
SLCRITERIA value
SD
temporary
area
for
SD value
OCCE
temporary
area
for
OCCE value
SCH
temporary
area
for
SCH value
GRFM
temporary
area
for
GRFM value
GRTO
temporary
area
for
GRTO value
SCCE
temporary
area
for
SCCE value
ORGCODE
temporary
area
for
ORGCODE value
enddec RCASE
(Execute ACQUIRE statement for Text and Criteria
for Access Segment on menu)
Approved f ff M~ft?gp5/ / :AgI-~ADg D0893R00020006000~41
Approved ~ * kT '16651 )b$N~IkKDPbbYO0893R0bb2bMtobbt31
(FOR &($A(3) '&($A(3)' ACQUIRE)
GFAV SLTEXT
TEXT = $W
VOPRINT (1114,TEXT)
DO for all Criteria in Access Segment SELECTION file
GET SLCRITERIA (using GFAV and GNAV)
CRITERIA = $W
SD = $SBF(CRITERIA,0,1,'*')
OCCE = $SBF(CRITERIA,1,1,'*')
SCH = $SBF(CRITERIA,2,1,'*')
GRFM = $SBF(CRITERIA,3,1,'*')
GRTO = $SBF(CRITERIA,4,1,'*')
SCCE _ $SBF(CRITERIA,5,1,'-,')
ORGCODE = $SBF(CRITERIA,6,1,'-;')
VOPRINT ('*I//$ALF(area)//','//SD)
area = area + 1
VOPRINT ('*I//$ALF(area)//','//OCCE)
area = area + 1
VOPRINT ('*I//$ALF(area)//','//SCH)
area = area + 1
VOPRINT ('-,I//$ALF(area)//','//GRFM)
area = area + 1
VOPRINT ('*I//$ALF(area)//','//GRTO)
area = area + 1
VOPRINT ('*I//$ALF(area)//','//SCCE)
area = area + 1
VOPRINT ('*I//$ALF(area)//','//ORGCODE)
area = area + 1
enddo;
endproc RCASE
DEC EXIT-FOR-RESTART
$A(2)
array
containing Action
$A(3)
array
containing Access Segment
$A(4)
array
containing Text
$A(5-109)
arrays
containing Criteria data
BLANK
value
enddec EXIT-FOR-RESTART
IF $A(2) EQ BLANK or $A(2) NE 'A' or $A(2) NE 'C' or
$A(2) NE 'D' or $A(2) NE 'R' or $A(2) NE 'X'
or $A(2) NE 'AS'
THEN - RELOCATE cursor to Action (*RL2)
ELSE
IF $A(3) EQ BLANK
THEN - RELOCATE cursor to Access Segment (-,RL3)
ELSE
IF SELECTION = 'NO'
THEN - RELOCATE cursor to first Criteria (*RL5)
Approved AgTNgS'TRA-P-T18p5( (R&A~IAO-ppgR O0893R00020006000~51
Approved PWi T46T2W576b ~NtFAUkrD "0893R0c61c od6"
ELSE
IF $A(2) EQ 'A' and $A(4) EQ BLANK
THEN - RELOCATE cursor to Text (*RL4)
endif;
endif;
endif;
endif;
endproc EXIT-FOR-RESTART
PROC EXIT-FOR-MORE
VOPRINT '-C' clears menu
VOPRINT '*Il,E PRCAESTB' establishes value in $A(l)
VOPRINT '*+B' big buffer
VOPRINT '%'RL2' relocate cursor to $A(2)
endproc EXIT-FOR-MORE
PROC EXIT-FOR-NOMORE
VOPRINT '*-F' exit format mode
VOPRINT '*C' clear entire screen
endproc EXIT-FOR-NOMORE
endproc PRCAESTB
4.3.3 PRCAUPDT - COMPONENT ACCESS UPDATE
4.3.3.1 PURPOSE
This BATCHGIM II program is designed to gather all INTERFACE changes
that will affect PRIM data access. HRS2 INTERFACE changes that would
affect PRIM would be changes to SSNOR, SD, ORGCODE, SCHEDULE, GRADE,
SUBCAT CODE, and/or OCCUPATIONAL SERIES CODE as well as any other data
that may be required. See flow diagram in Figure 8 of the Appendix.
Proc Name : PRCAUPDT
Language Used: PLI (BATCHGIM II)
Initiated By : Production Division - DBCC
Frequency Of
Execution : Will be done nightly as part of the
HRS2/PRIM Interface.
Input : ACCESSCTL file (DLID)
HRS2 INTERFACE file (all data)
Output : Extract disk file with the required HRS2
INTERFACE data.
Approved ~ it i i 5/1Ni'ERNAYAU-- p PR~P0893R000200060009-1
Approved ftiWI~i~4T '65/ l'$Tb$i~ DIS?&y00893R0dd266O60dd6-1
DSN=
4.3.3.3 FUNCTIONAL DESCRIPTION
This program will extract changes made to PERSIGN data in the HRS2
Data Base that also apply to PRIM. As updates are made to the HRS2
PERSIGN data, entries are made in two other files (ACCESSCTL and
INTERFACE). The ACCESSCTL file is merely an access file and is used
by all external data bases receiving PERSIGN data from HRS2. The
INTERFACE file contains the actual from/to change that was made during
the nightly update.
The PRCAUPDT program will scan the ACCESSCTL file in the HRS2
Data Base for those records with a value in ACCPRIM. The DL/ID of
these records will be retained by the program. After a complete scan
of the ACCESSCTL file, the retained DL/ID's will be used to retrieve
data from the HRS2 INTERFACE file. This data will be written to disk
and will be used on the PRIM Data Base by the PRCHGLOAD procedure to
update the PRIM PERSIGN or PRIMSEP file and the PRIM INTERFACE file.
The final step of the PRCAUPDT program will delete the ACCPRIM values
from the ACCESSCTL file to avoid redundant data moves.
Input to this program will be all data from the HRS2 INTERFACE; Data
file.
The data extracted by this program will be placed on a disk. The disk
will contain the DL/ID of the HRS2 INTERFACE record and all of the
INTERFACE elements.
A BATCHGIM II program used to extract the INTERFACE data from HRS2 to
a disk. BATCHGIM II is being used in order to be consistent with oth-
er systems using HRS2 INTERFACE data.
When an external system wants to access HRS2 INTERFACE data it
must first access the ACCESSCTL file to know which INTERFACE record
have not already been seen. The ACCESSCTL file in HRS2 uses the same
DL/ID values as INTERFACE file and contains flags for each system In-
terfacing with HRS2 requiring INTERFACE data. PRIM flags will be in
the ACCPRIM field. Once PRIM accesses an INTERFACE record, the access
Approved ADMIRNISTRATJ.VE5/INTER NAL USA ONLY 0893R00020006000f-l
Approved O~~ I Tid65/ ' /6iNldi kbP6byU0893R06626OOtObbt31
flag must be removed from the ACCESSCTL file to show that INTERFACE
record has been reviewed and is no longer needed by PRIM.
DEC PRCAUPDT
ACCESSCTL
ACCPRIM access flag
$A single dimensional array
INTERFACE data file
LVL value 1
STMT temporary buffer area
enddec PRCAUPDT
PROC PRCAUPDT
ACCESS HRS2 Data Base
ORDER ACCESSCTL
DO for all ACCESSCTL records
(Execute ACQUIRE statement for ACCESSCTL
records with a value in ACCPRIM)
(FOR ACCESSCTL WITH PRESENT ACCPRIM ACQUIRE)
$A = ACCESSCTL ($W) (load into next available array)
enddo;
IF no records found with present ACCPRIM
THEN - print message that no records were found to
move to PRIM
ELSE
(build extract statement to include all filled arrays)
DO for all filled arrays
IF $A(LVL) NE $AM
THEN - INCLUDE in Extract statement)
(STMT = STMT//$QM//$A(LVL)//$QM)
endif;
LVL = LVL + 1
enddo;
IF STMT NE BLANK
THEN - (execute statement to place data on disk)
. $DISK,$DSN=G3P.A3176600...... $VOL=LOCATE
FOR INTERFACE &STMT EXTRACT
- (delete ACCPRIM flags from ACCESSCTL file for
all filled arrays)
FOR ACCESSCTL &STMT DELETE ACCPRIM
- PRINT message notifying of successful completion
and files are ready for load to PRIM
endif;
endproc PRCAUPDT
Approved fIMM"5/ gRNACI~ D~R2VO0893R00020006000981
Approved ~Wi *Jk s Ti665hi&6~N I VDRbYO0893R0662b
4.3.4 PRCHGLOAD - COMPONENT ACCESS CHANGES
ltob?31
This procedure is designed to use the output from the PRCAUPDT program
to make updates to the PRIM PERSIGN or PRIMSEP file, update the Access
INDEX files through XBRIDGES, and make an entry in the PRIM INTERINDX
and INTERFACE files. See flow diagram in Figure 8 of the Appendix.
Proc Name : PRCHGLOAD
Language Used: GIM POL
Initiated By : Production Division - DBCC
Frequency Of
Execution : Will be done nightly as part of the HRS2/PRIM
Interface.
Input : Disk produced by PRCAUPDT.
DSN=
Output : Updates will be made to the PRIM PERSIGN,
PRIMSEP, INDEX files (SDINDX,ORGINDX,SCCEINDX,
OCCEINDX,SSDINDX,SORGINDX,SSCCEINDX,
SOCCEINDX), INTERINDX, and
PRIM INTERFACE.
The PRCHGLOAD procedure uses the disk file created by the PRCAUPDT
procedure. The disk contains updates made to PERSIGN data in HRS2
which pertain to PRIM, as well as, data which will be required for the
procedure to accurately analyze the updates. These records are used
to build an update statement against the PRIM PERSIGN or PRIMSEP
files, make an entry in the PRIM INTERINDX file and load the INTERFACE
records into the PRIM INTERFACE file. When updates are made to the
PRIM PERSIGN file XBRIDGES are evoked which cause updates to INDEX
files. These INDEX files are used by the PRCRTLINK procedure to es-
tablish daily links for Components at Signon time.
No menu will be required for this procedure. The following statement
will initiate the procedure: E PRCHGLOAD
Approved fffINg sp?jSp5/ (P&A~IAUfRDg 00893R00020006000p91
Approved P Ii~~6T2 576bW~1 fAUkbO&bO893R00'( 2( Od
4.3.4.5 OUTPUT
The output from the PRCHGLOAD procedures will be determined by the
following specifications:
DOWHILE the INTERFACE data is read from the disk:
- Perform unique processing for the ZZ actions. (TBR)
If the record contains an SSNOR change (both segments of
IFCSIGN are different and the first segment of IFCSIGN
NE $$$$$$$$$)
then - change PERSIGN record
- change SSNOR in SEGACCESS file (SYSMAN2+C) (TBR Release 2)
endif;
If record contains PRIM PERSIGN updates
then - update PERSIGN record (which evokes XBRIDGING and updates
INDEX files where applicable.
- add record to PRIM INTERINDX with INPURGE (RUNDATE + 30).
endif;
If the record contains CEILING 'X' (separated employee)
(IFCCEIL newside EQ 'X' oldside NE 'X')
then - copy PRIM PERSIGN record to PRIMSEP
- add SD, OCCE, SCCE, ORG separately to PRIMSEP
(to evoke XBRIDGING and update INDEX files where
applicable).
- add reason for separation from INTERFACE (IFISEPCODE)
to PRIMSEPCODE, separation date (IFCDOA(newside)) to
PRIMSEPDTE.
- add record to PRIM INTERINDX with INPURGE (RUNDATE + 30).
endif;
If the record contains CEILING 'X' or 'G' (updates to separated
record)
then - update PRIMSEP RECORD
- add record to PRIM INTERINDX with INPURGE (RUNDATE + 30).
endif;
If the record contains an old CEILING 'X' and new CEILING
NE 'X' or 'G' (cancellation of an immediate separation)
then - add record to PRIM PERSIGN
- add record to PRIM INTERINDX with INPURGE (RUNDATE + 30).
enddowhile;
If all updates are completed
then - load all INTERFACE records into the PRIM
INTERFACE file.
Approved EM f1 k 5/ ~R ftIi~WPM~P0893R00020006000?-1
Approved t I TIU65/ '$T/biNti kbPbbYO0893R06626?060689-1
Using INTERFACE data placed on a disk by the PRCAUPDT procedure, this
procedure must analyze each INTERFACE field, pertinent to PERSIGN, and
make the appropriate changes to the PERSIGN or PRIMSEP file on PRIM.
The process order will be guaranteed by doing an ORDER of the
ACCESSCTL file before acquiring any records from it. The ACCESSCTL
file is a file on HRS2 used to show which records have been accessed
or have not been accessed by a system interfacing with HRS2.
Changes to some PRIM PERSIGN fields will envoke XBRIDGES and up-
date INDEX files as noted below:
PERSD SDINDX
PERORGCODE ORGINDX
PEROCCE OCCEINDX
PERSCCE SCCEINDX
Changes to some PRIMSEP fields will envoke XBRIDGES and update
INDEX files as noted below:
PERSD SSDINDX
PERORGCODE SORGINDX
PEROCCE SOCCEINDX
PERSCCE SSCCEINDX
The HRS2 INTERFACE record will be added to the PRIM INTERFACE
file, an entry with an INPURGE date will be added to INTERINDX, and an
update date will be added to SYSER to notify components of the most
recent HRS2/PRIM update.
DEC PRCHGLOAD
CSIGN Input value from disk, shows SSNOR change
CCEIL Input value from disk,
Shows record moving from Active to Separated
NEWREC value received from BLDSTMT (CCEIL)
enddec PRCHGLOAD
PROC PRCHGLOAD
RUN SETLVL
DO FOR ALL INTERFACE records on Disk
RUN READREC
CSIGN NE BLANK (SSNOR CHANGE)
THEN RUN SSNCHG
pffi DPO ~Q0893R000200060006i1
Approved FA8f
INT 1ff~MR5/ ?RN
Approved ~$VWJf il4Tidbsa6ii ,)L9 4DPbbY00893R0662b?ot0bbb31
endif;
$SBF(CCEIL,1,1,'*') EQ 'X' (new side)
THEN RUN NEWSEP
endif;
NEWREC = 'YES' (NEW EOD)
THEN RUN ADDNEW
endif;
RUN ADDREC
enddo;
FILE RECORD
LVL01 INTER,CS
LVL02 CACTREQ,C,5
LVL02 CAFF,C,7
LVL02 CAFFTXTL,C,49
LVL02 CANF,C,5
LVL02 CANO,C,7
LVL02 CANTYST,C,3
LVL02 CAORG,C,9
LVL02 CAPNTE,C,13
LVL02 CASALARY,C,15
LVL02 CCEIL,C,3
LVL02 CCIT,C,3
LVL02 CCOVDPT,C,7
LVL02 CCOVDPTXT,C,17
LVL02 CCOVDT,C,13
LVL02 CCOVORG,C,5
LVL02 CCOVORGTXT,C,25
LVL02 CCSEOD,C,13
LVL02 CDETC,C,5
LVL02 CDETONTE,C,13
LVL02 CDETTXTS,C,25
LVL02 CDEVC,C,5
LVL02 CDEVDI,C,13
LVL02 CDEVLAST,C,13
LVL02 CDEVNTE,C,13
LVL02 CDOA,C,13
LVL02 CDOB,C,13
LVL02 CDOG,C,13
LVL02 CETP,C,13
LVL02 CFLSA,C,3
LVL02 CFLSADT,C,13
LVL02 CGR,C,5
LVL02 CGRPRT1,C,11
LVL02 CGSDTXTS,C,11
LVL02 CHQTXTS,C,9
LVL02 CHRS,C,7
Approved ~e~5/1~NA~I~D~00893R0002000600021
Approved +WR~fk~"1bb5W I ikDO' BY00893R06b2b&%0 1
LVL02 CLCD,C,13
LVL02 CLEI,C,13
LVL02 CNAMEOR,C,49
LVL02 CNAMEOR3,C,7
LVL02 CNOA,C,5
LVL02 CNSCA,C,3
LVL02 CNSCADT,C,13
LVL02 CNTY,C,3
LVL02 COCCE,C,15
LVL02 COCCETXT,C,41
LVL02 COCCFAM,C,5
LVL02 COCCSUF,C,11
LVL02 CONAMEOR3,C,7
LVL02 CORGCODE,C,39
LVL02 CORGDTIN,C,13
LVL02 COVERLAP,C,19
LVL02 COVLAPING,C,19
LVL02 COVNTE,C,13
LVL02 CPAYB,C,5
LVL02 CPAYDT,C,13
LVL02 CPAYDTC,C,3
LVL02 CPDATE,C,13
LVL02 CPGVT,C,3
LVL02 CPOSNO,C,11
LVL02 CPRA,C,3
LVL02 CPRADI,C,13
LVL02 CPRANTE,C,13
LVL02 CPRMNTE,C,13
LVL02 CPROJNO,C,13
LVL02 CPWGI,C,13
LVL02 CRACE,C,3
LVL02 CRESV1,C,11
LVL02 CRESV2,C,11
LVL02 CRESV3,C,11
LVL02 CRESV4,C,21
LVL02 CRESV5,C,21
LVL02 CRETDI,C,13
LVL02 CRETNTE,C,13
LVL02 CRTMT,C,3
LVL02 CRTMTTXT,C,13
LVL02 CSALARY,C,15
LVL02 CSCCE,C,3
LVL02 CSCCESK,C,3
LVL02 CSCCETXTS,C,9
LVL02 CSCD,C,13
LVL02 CSCH,C,9
LVL02 CSCHGRSK1,C,5
LVL02 CSCHGRSK2,C,5
LVL02 CSCHPRT1,C,9
LVL02 CSD,C,7
LVL02 CSECCL,C,3
LVL02 CSEQ,C,7
LVL02 CSERIAL,C,15
LVL02 CSEX,C,3
Approved fgA? "Aer?005/ (RQ&A~IAU D~ 00893R00020006000f31
Approved 08~ I61aiiT2V(1P5'/biT6i ' 1AU b &b0893R0(62 Odd6A
LVL02 CSFN,C,15
LVL02 CSIGN,C,19
LVL02 CSREF,C,5
LVL02 CSSNOTH,C,19
LVL02 CSTAN,C,13
LVL02 CSTANAREA,C,5
LVL02 CSTANTXT,C,51
LVL02 CSTEP2,C,5
LVL02 CSTIND,C,3
LVL02 CSTRCTR,C,5
LVL02 CTOA,C,5
LVL02 CTOUR,C,3
LVL02 CVET,C,3
LVL02 CWGIE,C,3
LVL02 GCUTOFFDT,C,6
LVL02 GPROJUPDTD,C,1
LVL02 IACTREQ,C,2
LVL02 IAFF,C,3
LVL02 IAL,C,2
LVL02 IANO,C,3
LVL02 IANPRPAY,C,2
LVL02 IANTYSAL,C,5
LVL02 IANTYST,C,1
LVL02 IAORG,C,4
LVL02 IAPNTE,C,6
LVL02 ICCANO,C,3
LVL02 ICCNOA,C,2
LVL02 ICCTOA,C,12
LVL02 ICIT,C,1
LVL02 ICSEOD,C,6
LVL02 ICTPCLASS,C,3
LVL02 IDETC,C,2
LVL02 IDETONTE,C,6
LVL02 IDEVC,C,2
LVL02 IDEVDI,C,6
LVL02 IDEVLAST,C,6
LVL02 IDEVNTE,C,6
LVL02 IDOA,C,6
LVL02 IDOB,C,6
LVL02 IDOG,C,6
LVL02 IETP,C,6
LVL02 IFLSA,C,l
LVL02 IFLSADT,C,6
LVL02 IGR,C,2
LVL02 IHQ,C,1
LVL02 IHRS,C,3
LVL02 IINDT,C,6
LVL02 IINORIGDT,C,6
LVL02 ILCD,C,6
LVL02 ILEI,C,6
LVL02 ILWOPSTRT,C,4
LVL02 INAMEOR,C,24
LVL02 INAMEOR3,C,3
LVL02 INCPP,C,2
Approved E 1gfkk.5/ RREtIA~WPR~Q0893R00020006000?41
Approved t k Tit'65/ 7f ~NAd1 fCDPdbYO0893R06626086r0666-1
LVL02 INEWIDN,C,9
LVL02 INSCA,C,1
LVL02 INSCADT,C,6
LVL02 INTY,C,l
LVL02 IOCCE,C,7
LVL02 IOCCSUF,C,5
LVL02 IOPERATOR,C,10
LVL02 IORGCODE,C,09
LVL02 IORGDTIN,C,6
LVL02 IOUTSK,C,3
LVL02 IOVERLAP,C,9
LVL02 IOVNTE,C,6
LVL02 IOVRD,C,2
LVL02 IPAYB,C,2
LVL02 IPGVT,C,1
LVL02 IPOSNO,C,5
LVL02 IPRA,C,1
LVL02 IPRADI,C,6
LVL02 IPRANTE,C,6
LVL02 IPRMNTE,C,6
LVL02 IPROJNO,C,6
LVL02 IPWGI,C,6
LVL02 IRACE,C,1
LVL02 IREMC,C,2
LVL02 IREMNS,C,69
LVL02 IRESV1,C,5
LVL02 IRESV2,C,5
LVL02 IRESV3,C,5
LVL02 IRESV4,C,10
LVL02 IRESV5,C,10
LVL02 IRETDI,C,6
LVL02 IRETNTE,C,6
LVL02 IRTMT,C,1
LVL02 ISALARY,C,7
LVL02 ISCCE,C,1
LVL02 ISCD,C,6
LVL02 ISCH,C,4
LVL02 ISD,C,3
LVL02 ISECCL,C,l
LVL02 ISEPCODE,C,10
LVL02 ISEPCOMP,C,8
LVL02 ISERIAL,C,7
LVL02 ISEX,C,l
LVL02 ISFN,C,7
LVL02 ISIGN,C,9
LVL02 ISREF,C,2
LVL02 ISSNOTH,C,9
LVL02 ISTAN,C,6
LVL02 ISTEP2,C,2
LVL02 ISUSPEN,C,2
LVL02 ITIDN,C,9
LVL02 ITNAME,C,24
LVL02 ITOA,C,12
LVL02 ITOASK,C,3
Approved A~MrIN1J KTIVE5/INTERNAI- USE O P0893R00020006000~51
Approved*b ~a I ldi AbiRS 00893R 2 606N 1
LVL02 ITOUR,C,l
LVL02 ITRANS,C,10
LVL02 IVET,C,1
LVL02 IWGIE,C,1
LVL02 SAFF,C,3
LVL02 SANF,C,2
LVL02 SANO,C,3
LVL02 SAPNTE,C,6
LVL02 SCEIL,C,1
LVL02 SDEVC,C,2
LVL02 SDOB,C,6
LVL02 SDOG,C,6
LVL02 SGR,C,2
LVL02 SLEI,C,6
LVL02 SNAMEOR,C,24
LVL02 SPAYB,C,2
LVL02 SPGVT,C,1
LVL02 SPROJNO,C,6
LVL02 SRTMT,C,l
LVL02 SSALARY,C,7
LVL02 SSCD,C,6
LVL02 SSCH,C,4
LVL02 SSERIAL,C,7
LVL02 SSFN,C,7
LVL02 SSTEP2,C,2
LVL02 STOUR,C,1
LVL02 INTERFACE,C,22
endproc SETLVL
DEC READREC
$DSN value = permanent data set name
$VOL value = locate
enddec READREC
OPEN RECORD,INPUT,$DSN=DSN,$VOL='LOCATE',$DISK='DISK'
DO for INPUT record
GET Corresponding PERSIGN record
FOR PERSIGN '&ISIGN' ACQUIRE PERSIGN
IF record found in PERSIGN
THEN FILE = 'PERSIGN'
endif;
GET Corresponding PRIMSEP record
FOR PRIMSEP '&ISIGN' ACQUIRE PRIMSEP
IF record found in PRIMSEP
THEN FILE = 'PRIMSEP'
ELSE FILE _ 'PERSIGN'
endif;
enddo;
Approved EIKISesfT?925/P?~AC"~DERPyO0893RO0020006000~b1
Approved tW Ii TIb'fig/bM62i?ANbP8byOO893R0?02008600?631
endproc READREC
DEC BLDSTMT
BLANK value
$A array area containing fields to be added
$C array area containing fields to be changed
$D array area containing fields to be deleted
$E array area containing add to INTERFACE
STMT value ' '
area contains SEPCODE and SEPDTE for PRIMSEP ONLY
OLD old value of IFC item
NEW new value of IFC item
NEWREC value 'NO' - flags new EOD - see CCEIL
enddec BLDSTMT
use WHEN operator for this PROC
IF CACTREQ NE BLANK
THEN OLD=$SBF(CACTREQ,0,1,'%~')
NEW=$SBF(CACTREQ,1,1,'*')
$E=' CACTREQ '//$QM//CACTREQ//$QM
$SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERACTREQ '//$QM//OLD//$QM//' TO
//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERACTREQ '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERACTREQ '//$QM//OLD//$QM
endif;
endif;
IF CAFF NE BLANK
THEN
OLD=$SBF(CAFF,0,1,'%*')
NEW=$SBF(CAFF,l,l,'%.')
$E=' CAFF '//$QM//CAFF//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERAFF TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERAFF '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PERAFF '//$QM//OLD//$QM
Approved For Release 2005/08/02 : CIA-RDP88-00893R000200060006-1
ADMINISTRATIVE-INTERNAL USE ONLY 37
Approve dWh~63~W 1bb5Rt I-D 8Y00893R0bb2bbbt 0
endif;
endif;
IF CAFFTXTL NE BLANK
THEN
OLD=$SBF(CAFFTXTL,0,1,'*')
NEW=$SBF(CAFFTXTL,1,1,'*')
$E=' CAFFTXTL '//$QM//CAFFTXTL//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERAFFTXTL TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERAFFTXTL '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PERAFFTXTL '//$QM//OLD//$QM
endif;
endif;
IF CANF NE BLANK
THEN
OLD=$SBF(CANF,0,1,'*')
NEW=$SBF(CANF,1,1,'*')
$E=' CANF '//$QM//CANF//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERANF TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERANF '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERANF '//$QM//OLD//$QM
endif;
endif;
IF CANO NE BLANK
THEN
OLD=$SBF(CANO,0,1,'%;')
NEW=$SBF(CANO,1,1,'*')
$E=' CANO '//$QM//CANO//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERANO TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERANO '//$QM//NEW//$QM
endif;
Approved F I hWj N I~ DP IQ0893R00020006000 81
Approved F i`f kWg
Rb51( ?/ "'6TA bP$ '60893R00 }~0 'O0 i
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PERANO '//$QM//OLD//$QM
endif;
endif;
IF CANTYST NE BLANK
THEN
OLD=$SBF(CANTYST,0,1,'*')
NEW=$SBF(CANTYST,1,1,'*')
$E=' CANTYST '//$QM//CANTYST//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERANTYST TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERANTYST '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERANTYST '//$QM//OLD//$QM
endif;
endif;
IF CAORG NE BLANK
THEN
OLD=$SBF(CAORG,0,1,'*')
NEW=$SBF(CAORG,1,1,'*')
$E=' CAORG '//$QM//CAORG//$QM
IF $SBF(OLD,O,l) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERAORG TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERAORG '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PERAORG '//$QM//OLD//$QM
endif;
endif;
IF CAPNTE NE BLANK
THEN
OLD=$SBF(CAPNTE,0,1,'*')
NEW=$SBF(CAPNTE,l,1,'-;')
$E=' CAPNTE '//$QM//CAPNTE//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERAPNTE TO '//$QM//NEW//$QM
endif;
Approved AB~INI-S ATIVE5/pN~j ACf,It-T ~88Y00893R000200060006--91
Approved +W1 ~ T~W1bb5 I Di` 00893RD 2 6" 1
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERAPNTE '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERAPNTE '//$QM//OLD//$QM
endif;
endif;
IF CASALARY NE BLANK
THEN
OLD=$SBF(CASALARY,0,1,'-;')
NEW=$SBF(CASALARY,1,1,'*')
$E=' CASALARY '//$QM//CASALARY//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERASALARY TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERASALARY '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERASALARY '//$QM//OLD//$QM
endif;
endif;
IF CCEIL NE BLANK
THEN
OLD=$SBF(CCEIL,0,1,'*')
NEW=$SBF(CCEIL,1,1,'*')
$E=' CCEIL '//$QM//CCEIL//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
and NEW NE 'X' and NEW NE 'G'
THEN $C=' PERCEIL TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERCEIL '//$QM//NEW//$QM
NEWREC = 'YES' (new EOD)
endif;
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PERCEIL '//$QM//OLD//$QM
endif;
endif;
IF CCIT NE BLANK
THEN
OLD=$SBF(CCIT,0,1,'')
NEW=$SBF(CCIT,1,1,'*')
$E=' CCIT '//$QM//CCIT//$QM
Approved F%f1"t.5/RREI-~P0R~~D0893R00020006000~~
Approved O8P li6T2VF5/bbT ,61AU bF966'y00893R0( 626
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERCIT TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERCIT '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PERCIT '//$QM//OLD//$QM
endif;
endif;
IF CCOVDPT NE BLANK
THEN
OLD=$SBF(CCOVDPT,0,1,'*')
NEW=$SBF(CCOVDPT,l,l,'';')
$E=' CCOVDPT '//$QM//CCOVDPT//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERCOVDPT TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERCOVDPT '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERCOVDPT '//$QM//OLD//$QM
endif;
endif;
IF CCOVDPTXT NE BLANK
THEN
OLD=$SBF(CCOVDPTXT,0,1,'*')
NEW=$SBF(CCOVDPTXT,1,1,'*')
$E=' CCOVDPTXT '//$QM//CCOVDPTXT//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERCOVDPTXT TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERCOVDPTXT '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERCOVDPTXT '//$QM//OLD//$QM
endif;
endif;
IF CCOVDT NE BLANK
THEN
OWL)
Approved Jff& ft,,M5f ffiA~IQADg 00893R0002000600046 1
Approved FPIiiiiiT2T0'5169N6AUIkbb0893R06k00M
OLD=$SBF(CCOVDT,0,1,'*')
NEW=$SBF(CCOVDT,1,1,'*')
$E=' CCOVDT '//$QM//CCOVDT//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERCOVDT TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERCOVDT '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERCOVDT '//$QM//OLD//$QM
endif;
endif;
IF CCOVORG NE BLANK
THEN
OLD=$SBF(CCOVORG,0,1,'*')
NEW=$SBF(CCOVORG,1,1,'*')
$E=' CCOVORG '//$QM//CCOVORG//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERCOVORG TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERCOVORG '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERCOVORG '//$QM//OLD//$QM
endif;
endif;
IF CCOVORGTXT NE BLANK
THEN
OLD=$SBF(CCOVORGTXT,0,1,'*')
NEW=$SBF(CCOVORGTXT,1,1,'';')
$E=' CCOVORGTXT '//$QM//CCOVORGTXT//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERCOVORGTXT TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERCOVORGTXT '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERCOVORGTXT '//$QM//OLD//$QM
endif;
endif;
Approved ~g1~~51I~P~Q0893R00020006000~21
Approved #W I~ T2b'63/ f $N 1 DI560893R066260060( 6631
IF CCSEOD NE BLANK
THEN
OLD=$SBF(CCSEOD,0,1,'-.')
NEW=$SBF(CCSEOD,1,1,'-,')
$E=' CCSEOD '//$QM//CCSEOD//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERCSEOD TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERCSEOD '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PERCSEOD '//$QM//OLD//$QM
endif;
endif;
IF CDETC NE BLANK
THEN
OLD=$SBF(CDETC,0,1,'"')
NEW=$SBF(CDETC,1,1,'*')
$E=' CDETC '//$QM//CDETC//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERDETC TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERDETC '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERDETC '//$QM//OLD//$QM
endif;
endif;
IF CDETONTE NE BLANK
THEN
OLD=$SBF(CDETONTE,0,1,'*')
NEW=$SBF(CDETONTE,1,1,'"')
$E=' CDETONTE '//$QM//CDETONTE//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERDETONTE TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERDETONTE '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
Approved For Release 2005/08/0 : CIA RDPON8 00893R00020006000643
Approved &1l2Sis&5766'IN&tA2b-60893R0(SM
THEN $D=' PERDETONTE '//$QM//OLD//$QM
endif;
endif;
IF CDETTXTS NE BLANK
THEN
OLD=$SBF(CDETTXTS,0,1,'*')
NEW=$SBF(CDETTXTS,1,1,'*')
$E=' CDETTXTS '//$QM//CDETTXTS//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE
THEN $C=' PERDETTXTS TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERDETTXTS '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERDETTXTS '//$QM//OLD//$QM
endif;
endif;
IF CDEVC NE BLANK
THEN
OLD=$SBF(CDEVC,0,1,'-,')
NEW=$SBF(CDEVC,1,1,'-.')
$E=' CDEVC '//$QM//CDEVC//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE
THEN $C=' PERDEVC TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERDEVC '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERDEVC '//$QM//OLD//$QM
endif;
endif;
IF CDEVDI NE BLANK
THEN
OLD=$SBF(CDEVDI,0,1,1-1)
NEW=$SBF(CDEVDI
$E=' CDEVDI '//$QM//CDEVDI//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE
THEN $C=' PERDEVDI TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERDEVDI '//$QM//NEW//$QM
ApprovedA~pirl TRR,? 05TRWALCIN-ff~NJJ 00893R0002000600( ~-1
Approved kW"LT 4db5Md2NNEIA31 00893Rd&2 6dd& 1
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERDEVDI '//$QM//OLD//$QM
endif;
endif;
IF CDEVLAST NE BLANK
THEN
OLD=$SBF(CDEVLAST,0,1,'*')
NEW=$SBF(CDEVLAST,1,1,'*')
$E_' CDEVLAST '//$QM//CDEVLAST//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE
THEN $C=' PERDEVLAST TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERDEVLAST '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERDEVLAST '//$QM//OLD//$QM
endif;
endif;
IF CDEVNTE NE BLANK
THEN
OLD=$SBF(CDEVNTE,0,1,'%;')
NEW=$SBF(CDEVNTE,1,1,'*')
$E=' CDEVNTE '//$QM//CDEVNTE//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE
THEN $C=' PERDEVNTE TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERDEVNTE '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERDEVNTE '//$QM//OLD//$QM
endif;
endif;
IF CDOA NE BLANK
THEN
OLD=$SBF(CDOA,0,1,'%')
NEW=$SBF(CDOA,1,1,'*')
$E=' CDOA '//$QM//CDOA//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE
THEN $C=' PERDOA TO '//$QM//NEW//$QM
endif;
Approved FAKFMTR
Approved FA8~1II~ii~a"1T0516NN6AUkb4-b0893R00'032Od
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERDOA '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PERDOA '//$QM//OLD//$QM
endif;
endif;
IF CDOB NE BLANK
THEN
OLD=$SBF(CDOB,0,1,'*')
NEW=$SBF(CDOB,1,1,'*')
$E=' CDOB '//$QM//CDOB//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERDOB TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERDOB '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PERDOB '//$QM//OLD//$QM
endif;
endif;
IF CDOG NE BLANK
THEN
OLD=$SBF(CDOG,0,1,'*')
NEW=$SBF(CDOG,1,1,'*')
$E=' CDOG '//$QM//CDOG//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERDOG TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERDOG '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERDOG '//$QM//OLD//$QM
endif;
endif;
IF CETP NE BLANK
THEN
OLD=$SBF(CETP,0,1,'*')
NEW=$SBF(CETP,1,1,'**')
$E=' CETP '//$QM//CETP//$QM
Approved fgr{t14/RRACIi~POR~,~0893R00020006000~61
Approved t Wik Ti&65/ $T/6~ t k-kbP 1by00893R0dd268O6066d-1
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERETP TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERETP '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERETP '//$QM//OLD//$QM
endif;
endif;
IF CFLSA NE BLANK
THEN
OLD=$SBF(CFLSA,0,1,'*')
NEW=$SBF(CFLSA,1,1,'*')
$E=' CFLSA '//$QM//CFLSA//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERFLSA TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERFLSA '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERFLSA '//$QM//OLD//$QM
endif;
endif;
IF CFLSADT NE BLANK
THEN
OLD=$SBF(CFLSADT,0,1,'%')
NEW=$SBF(CFLSADT,1,1,'*')
$E=' CFLSADT '//$QM//CFLSADT//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERFLSADT TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERFLSADT '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERFLSADT '//$QM//OLD//$QM
endif;
endif;
IF CGR NE BLANK
THEN
OLD=$SBF(CGR,0,1,'`')
Approved FA%INI~;Ra~ff/QRMNRAMP $0893R000200060006-)
Approved ~l&*Jk Tidb5 /6~i~~I 4DObbYO0893R06626?IOtObbt31
NEW=$SBF(CGR,1,1,'*')
$E=' CGR '//$QM//CGR//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERGR TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERGR '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PERGR '//$QM//OLD//$QM
endif;
endif;
IF CGRPRT1 NE BLANK
THEN
OLD=$SBF(CGRPRT1,0,1,'*')
NEW=$SBF(CGRPRT1,1,1,'7'C')
$E=' CGRPRT1 '//$QM//CGRPRTI//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERGRPRT1 TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERGRPRTI '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERGRPRT1 '//$QM//OLD//$QM
endif;
endif;
IF CGSDTXTS NE BLANK
THEN
OLD=$SBF(CGSDTXTS,0,1,'*')
NEW=$SBF(CGSDTXTS,1,1,'*')
$E=' CGSDTXTS '//$QM//CGSDTXTS//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERGSDTXTS TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERGSDTXTS '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PERGSDTXTS '//$QM//OLD//$QM
endif;
endif;
Approved ffm"5/giNAC"~D~RPy00893R00020006000~81
Approved +W0,;fi?WWibb5IAi DO8YO0893R0bb2 t0W 1
IF CHQTXTS NE BLANK
THEN
OLD=$SBF(CHQTXTS,0,1,'k')
NEW=$SBF(CHQTXTS,l,l,'*')
$E=' CHQTXTS '//$QM//CHQTXTS//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERHQTXTS TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERHQTXTS '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PERHQTXTS '//$QM//OLD//$QM
endif;
endif;
IF CHRS NE BLANK
THEN
OLD=$SBF(CHRS,0,1,'*')
NEW=$SBF(CHRS,1,1,1*')
$E=' CHRS '//$QM//CHRS//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERHRS TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERHRS '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERHRS '//$QM//OLD//$QM
endif;
endif;
IF CLCD NE BLANK
THEN
OLD=$SBF(CLCD,0,1,'*')
NEW=$SBF(CLCD,1,1,'%;')
$E=' CLCD '//$QM//CLCD//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERLCD TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERLCD '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERLCD '//$QM//OLD//$QM
Approved fffI~? sAeTREQ54?JEQ :A~I~ADg 00893R00020006000&1
Approved FAS~1I l~i~a 1681 ~"&PA bP -b0893R00d2 406"
endif;
endif;
IF CLEI NE BLANK
THEN
OLD=$SBF(CLEI,0,1,'*')
NEW=$SBF(CLEI,1,1,'-;')
$E_' CLEI '//$QM//CLEI//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE
THEN $C=' PERLEI TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERLEI '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERLEI '//$QM//OLD//$QM
endif;
endif;
IF CNAMEOR NE BLANK
THEN
OLD=$SBF(CNAMEOR,0,1,'-;')
NEW=$SBF(CNAMEOR,1,1,'*')
$E=' CNAMEOR '//$QM//CNAMEOR//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE
THEN $C=' PERNAMEOR TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERNAMEOR '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA
THEN $D=' PERNAMEOR '//$QM//OLD//$QM
endif;
endif;
IF CONAME03 NE BLANK
THEN
OLD=$SBF(CONAME03,0,1,'*')
NEW=$SBF(CONAME03,1,1,'-;')
$E=' IFCONAMEOR3 '//$QM//CONAME03//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE
THEN $C=' PERONAMEOR3 TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERONAMEOR3 '//$QM//NEW//$QM
endif;
Approved ffi-I~g !,pp5f"%.A~l~ADg 00893R0002000600060-1
Approved P;~ I+ Ti&65MTbi~ 1AUkbPgbYO0893R0dd26686068i '1
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PERONAMEOR3 '//$QM//OLD//$QM
endif;
endif;
IF CNOA NE BLANK
THEN
OLD=$SBF(CNOA,0,1,'*')
NEW=$SBF(CNOA,1,1,'*')
$E=' CNOA '//$QM//CNOA//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERNOA '//$QM//OLD//$QM//'TO'//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERNOA '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PERNOA '//$QM//OLD//$QM
endif;
endif;
IF CNSCA NE BLANK
THEN
OLD=$SBF(CNSCA,0,1,'*')
NEW=$SBF(CNSCA,1,1,'*')
$E=' CNSCA '//$QM//CNSCA//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERNSCA TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERNSCA '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERNSCA '//$QM//OLD//$QM
endif;
endif;
IF CNSCADT NE BLANK
THEN
OLD=$SBF(CNSCADT,0,1,'`')
NEW=$SBF(CNSCADT,1,1,'*')
$E=' CNSCADT '//$QM//CNSCADT//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERNSCADT TO '//$QM//NEW//$QM
endif;
Approved ADMR~e}eS eA 0~~5/g N~~A fflP $0893R000200060006- j
Approved 06V i6Tai4TIU65MT/6iNbkkbPgbYO0893R06626?0$0666 1
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERNSCADT '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERNSCADT '//$QM//OLD//$QM
endif;
endif;
IF CNTY NE BLANK
THEN
OLD=$SBF(CNTY,0,1,'*')
NEW=$SBF(CNTY,1,1,'*')
$E=' CNTY '//$QM//CNTY//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE
THEN $C=' PERNTY TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERNTY '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PERNTY '//$QM//OLD//$QM
endif;
endif;
IF COCCE NE BLANK
THEN
OLD=$SBF(COCCE,0,1,'*')
NEW=$SBF(COCCE,1,1,'*')
$E=' COCCE '//$QM//COCCE//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE $'
THEN $C=' PEROCCE TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PEROCCE '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PEROCCE '//$QM//OLD//$QM
endif;
endif;
IF COCCETXT NE BLANK
THEN
OLD=$SBF(COCCETXT,0,1,'*')
NEW=$SBF(COCCETXT,1,1,'*')
$E=' COCCETXT '//$QM//COCCETXT//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE $'
Approved FRR flfft5/JNACI1~-DP0?R0893R00020006000~21
Approved W~Ikik~"1bb51 / INWDN18YO0893R0bb2bwt0 1
THEN $C=' PEROCCETXT TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,O,1) EQ '$'
THEN $A=' PEROCCETXT '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PEROCCETXT '//$QM//OLD//$QM
endif;
endif;
IF COCCFAM NE BLANK
THEN
OLD=$SBF(COCCFAM,0,1,'%;')
NEW=$SBF(COCCFAM,1,1,'*')
$E=' COCCFAM '//$QM//COCCFAM//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PEROCCFAM TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PEROCCFAM '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PEROCCFAM '//$QM//OLD//$QM
endif;
endif;
IF COCCSUF NE BLANK
THEN
OLD=$SBF(COCCSUF,0,1,'*')
NEW=$SBF(COCCSUF,1,1,'*')
$E=' COCCSUF '//$QM//COCCSUF//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PEROCCSUF TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PEROCCSUF '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PEROCCSUF '//$QM//OLD//$QM
endif;
endif;
IF CNAMEOR3 NE BLANK
THEN
OLD=$SBF(CNAMEOR3,0,1,'*')
NEW=$SBF(CNAMEOR3,1,1,'*')
Approved A6r,N?MPTREQ54 /EQ]&A~I~ADg 00893R000200060003631
Approved V8MWT 1 05 I DW 8Y00893R0bb2 X60 1
$E=' CNAMEOR3 //$QM//CNAMEOR3//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERNAMEOR3 TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERNAMEOR3 '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PERNAMEOR3 '//$QM//OLD//$QM
endif;
endif;
IF CORGCODE NE BLANK
THEN
OLD=$SBF(CORGCODE,0,1,'*')
NEW=$SBF(CORGCODE,1,1,'-;')
$E=' CORGCODE //$QM//CORGCODE//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERORGCODE TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERORGCODE '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PERORGCODE '//$QM//OLD//$QM
endif;
endif;
IF CORGDTIN NE BLANK
THEN
OLD=$SBF(CORGDTIN,0,1,'*')
NEW=$SBF(CORGDTIN,1,1,'*')
$E=' CORGDTIN //$QM//CORGDTIN//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERORGDTIN TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERORGDTIN '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PERORGDTIN '//$QM//OLD//$QM
endif;
endif;
Approved F$fi Igo?R. 5/" &,IACWPCR-f 0893R000200060006-41
Approved Fo `elleaslbb5%(i/&A6A60893R00?10b0W-4
THEN
OLD=$SBF(COVERLAP,0,1,'*')
NEW=$SBF(COVERLAP,1,1,'*')
$E=' COVERLAP '//$QM//COVERLAP//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PEROVERLAP TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PEROVERLAP '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PEROVERLAP '//$QM//OLD//$QM
endif;
endif;
IF COVLAPING NE BLANK
THEN
OLD=$SBF(COVLAPING,0,1,'*')
NEW=$SBF(COVLAPING,1,1,'*')
$E=' COVLAPING '//$QM//COVLAPING//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PEROVLAPING TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PEROVLAPING '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PEROVLAPING '//$QM//OLD//$QM
endif;
endif;
IF COVNTE NE BLANK
THEN
OLD=$SBF(COVNTE,0,1,'*')
NEW=$SBF(COVNTE,1,1,'*')
$E=' COVNTE '//$QM//COVNTE//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PEROVNTE TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PEROVNTE '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PEROVNTE '//$QM//OLD//$QM
endif;
Approved ~ ~~5/ ~ NACLIAU pOR~P0893R00020006000~51
or We16iaiiTk&5/biT6i~'1AUkbPgb-YO0893R0dd2600$0669-31
Approved
endif;
IF CPAYB NE BLANK
THEN
OLD=$SBF(CPAYB,0,1,'-;')
NEW=$SBF(CPAYB,1,1,'*')
$E=' CPAYB '//$QM//CPAYB//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERPAYB TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERPAYB '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERPAYB '//$QM//OLD//$QM
endif;
endif;
IF CPAYDT NE BLANK
THEN
OLD=$SBF(CPAYDT,0,1,'
NEW=$SBF(CPAYDT,1,1,'-.')
$E=' CPAYDT '//$QM//CPAYDT//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERPAYDT TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERPAYDT '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERPAYDT '//$QM//OLD//$QM
endif;
endif;
IF CPAYDTC NE BLANK
THEN
OLD=$SBF(CPAYDTC,0,1,'%.')
NEW=$SBF(CPAYDTC,1,1,'*')
$E=' CPAYDTC '//$QM//CPAYDTC//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERPAYDTC TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERPAYDTC '//$QM//NEW//$QM
endif;
ApprovedAf t 0511pf%ALCIN-~~N> -00893R0002000600~~-1
Approved *8Vk~Wi~g1bbB)EiI~A6IRD'O00893RO6b26'0W 1
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERPAYDTC '//$QM//OLD//$QM
endif;
endif;
IF CPDATE NE BLANK
THEN
OLD=$SBF(CPDATE,0,1,'*')
NEW=$SBF(CPDATE,1,1,'*')
$E=' CPDATE '//$QM//CPDATE//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERPDATE TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERPDATE '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PERPDATE '//$QM//OLD//$QM
endif;
endif;
IF CPGVT NE BLANK
THEN
OLD=$SBF(CPGVT,0,1,'*')
NEW=$SBF(CPGVT,1,1,'*')
$E=' CPGVT '//$QM//CPGVT//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERPGVT TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERPGVT '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERPGVT '//$QM//OLD//$QM
endif;
endif;
IF CPOSNO NE BLANK
THEN
OLD=$SBF(CPOSNO,0,1,'*')
NEW=$SBF(CPOSNO,1,1,'%1')
$E=' CPOSNO '//$QM//CPOSNO//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERPOSNO TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
Approved FA$~ gHgli% /INTERNAI- USE O~> P0893R00020006000?~1
Approved FQri i~ikal0 5%69ITHN I'AUIkb 1'b0893R00'0310 00V&-I
THEN $A=' PERPOSNO '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PERPOSNO '//$QM//OLD//$QM
endif;
endif;
IF CPRA NE BLANK
THEN
OLD=$SBF(CPRA,0,1,'*')
NEW=$SBF(CPRA,1,1,'*')
$E=' CPRA '//$QM//CPRA//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERPRA TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERPRA '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERPRA '//$QM//OLD//$QM
endif;
endif;
IF CPRADI NE BLANK
THEN
OLD=$SBF(CPRADI,0,1,'%;')
NEW=$SBF(CPRADI,1,1,'*')
$E=' CPRADI '//$QM//CPRADI//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERPRADI TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERPRADI '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERPRADI '//$QM//OLD//$QM
endif;
endif;
IF CPRANTE NE BLANK
THEN
OLD=$SBF(CPRANTE,0,1,'*')
NEW=$SBF(CPRANTE,1,1,'*')
$E=' CPRANTE '//$QM//CPRANTE//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERPRANTE TO '//$QM//NEW//$QM
Approved ffr 1 4 / RRAqI4jEpPoR~,P0893R00020006000%1
Approved 081&Tai4T2'(X55/T~t1AkbP6&'Y00893R0(626*0(8d-)
endif ;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERPRANTE '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERPRANTE '//$QM//OLD//$QM
endif;
endif;
IF CPRMNTE NE BLANK
THEN
OLD=$SBF(CPRMNTE,0,1,'%;')
NEW=$SBF(CPRMNTE,1,1,'k')
$E=' CPRMNTE '//$QM//CPRMNTE//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERPRMNTE TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERPRMNTE '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERPRMNTE '//$QM//OLD//$QM
endif;
endif;
IF CPROJNO NE BLANK
THEN
OLD=$SBF(CPROJNO,0,1,'*')
NEW=$SBF(CPROJNO,1,1,'?;')
$E=' CPROJNO '//$QM//CPROJNO//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERPROJNO TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERPROJNO '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PERPROJNO '//$QM//OLD//$QM
endif;
endif;
IF CPWGI NE BLANK
THEN
OLD=$SBF(CPWGI,0,1,'*')
NEW=$SBF(CPWGI,1,1,'*')
$E=' CPWGI '//$QM//CPWGI//$QM
Approved A%F0gjgR?ffjINTERNAZ- USEP0NLY0893R00020006000~91
Approved I IkIk kI T16651 /b~"`~lk-WOk8YO0893R0bb2b
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERPWGI TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERPWGI '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERPWGI '//$QM//OLD//$QM
endif;
endif;
IF CRACE NE BLANK
THEN
OLD=$SBF(CRACE,0,1,'';')
NEW=$SBF(CRACE,1,1,'%;')
$E=' CRACE '//$QM//CRACE//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERRACE TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERRACE '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PERRACE '//$QM//OLD//$QM
endif;
endif;
IF CRESV1 NE BLANK
THEN
OLD=$SBF(CRESV1,0,1,'*')
NEW=$SBF(CRESV1,1,1,'%1')
$E=' CRESVI '//$QM//CRESVI//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERRESV1 TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERRESV1 '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERRESV1 '//$QM//OLD//$QM
endif;
endif;
IF CRESV2 NE BLANK
THEN
tob1
Approved flICI.?e95/1(l93~ACID~00893R00020006000po1
Approved #W~ F : Wi6651 /b~~~Ik#DP~bYO0893R06626OOtOb
OLD=$SBF(CRESV2,0,1,'*')
NEW=$SBF(CRESV2,1,1,'*')
$E=' CRESV2 '//$QM//CRESV2//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERRESV2 TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERRESV2 '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERRESV2 '//$QM//OLD//$QM
endif;
endif;
IF CRESV3 NE BLANK
THEN
OLD=$SBF(CRESV3,0,1,'*')
NEW=$SBF(CRESV3,1,1,'*')
$E=' CRESV3 '//$QM//CRESV3//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,O,1) NE '$'
THEN $C=' PERRESV3 TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERRESV3 '//$QM//NEW//$QM
endif;
IF $SBF(NEW,O,1) EQ '$'
THEN $D=' PERRESV3 '//$QM//OLD//$QM
endif;
endif;
IF CRESV4 NE BLANK
THEN
OLD=$SBF(CRESV4,0,1,'*')
NEW=$SBF(CRESV4,1,1,'*')
$E_' CRESV4 '//$QM//CRESV4//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERRESV4 TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERRESV4 '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERRESV4 '//$QM//OLD//$QM
endif;
endif;
Approved AgINgSfiRsMap5/P&A~IA-ADg00893R00020006000911
Approved ~&lk'~i~i4hT2b)bt7dbk~N6ALAbFkg#-bO893RO6nMDMDV6~LI
IF CRESV5 NE BLANK
THEN
OLD=$SBF(CRESV5,0,1,1-1)
NEW=$SBF(CRESV5,1,1,1 *1
)
$E=' CRESV5 '//$QM//CRESV5//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERRESV5 TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERRESV5 '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERRESV5 '//$QM//OLD//$QM
endif;
endif;
IF CRETDI NE BLANK
THEN
OLD=$SBF(CRETDI,0,1,'-;')
NEW=$SBF(CRETDI,1,1,'1;')
$E=' CRETDI '//$QM//CRETDI//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERRETDI TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERRETDI '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERRETDI '//$QM//OLD//$QM
endif;
endif;
IF CRETNTE NE BLANK
THEN
OLD=$SBF(CRETNTE,0,1,'-,')
NEW=$SBF(CRETNTE,1,1,'*')
$E=' CRETNTE '//$QM//CRETNTE//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERRETNTE TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERRETNTE '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
Approved ~~Nf tz ~el~ts~t 8~5/ ~ NAT- Dg 00893R00020006000P21
Approved MWk~W2665'$T62NALEIADP8by00893R06626009066t31
THEN $D=' PERRETNTE '//$QM//OLD//$QM
endif;
endif;
IF CRTMT NE BLANK
THEN
OLD=$SBF(CRTMT,0,1,'*')
NEW=$SBF(CRTMT,1,1,'-*')
$E=' CRTMT '//$QM//CRTMT//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERRTMT TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERRTMT '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERRTMT '//$QM//OLD//$QM
endif;
endif;
IF CRTMTTXT NE BLANK
THEN
OLD=$SBF(CRTMTTXT,0,1,'*')
NEW=$SBF(CRTMTTXT,1,1,'*')
$E=' CRTMTTXT '//$QM//CRTMTTXT//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERRTMTTXT TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERRTMTTXT '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERRTMTTXT '//$QM//OLD//$QM
endif;
endif;
IF CSALARY NE BLANK
THEN
OLD=$SBF(CSALARY,0,1,'*')
NEW=$SBF(CSALARY,1,1,'*')
$E_' CSALARY '//$QM//CSALARY//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERSALARY TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERSALARY '//$QM//NEW//$QM
Approved ADMIRNI~'t~~!INTERfAL USA PONLY0893R000200060006651
Approved FAaP"~i6T2V(5/t~IAUDM0893R06626'Od0631
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERSALARY '//$QM//OLD//$QM
endif;
endif;
IF CSCCE NE BLANK
THEN
OLD=$SBF(CSCCE,0,1,'*')
NEW=$SBF(CSCCE,1,1,'*')
$E=' CSCCE '//$QM//CSCCE//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERSCCE TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERSCCE '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PERSCCE '//$QM//OLD//$QM
endif;
endif;
IF CSCCESK NE BLANK
THEN
OLD=$SBF(CSCCESK,0,1,'*')
NEW=$SBF(CSCCESK,1,1,'*')
$E=' CSCCESK '//$QM//CSCCESK//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERSCCESK TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERSCCESK '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PERSCCESK '//$QM//OLD//$QM
endif;
endif;
IF CSCCETXTS NE BLANK
THEN
OLD=$SBF(CSCCETXTS,0,1,'*')
NEW=$SBF(CSCCETXTS,1,1,'"')
$E=' CSCCETXTS '//$QM//CSCCETXTS//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERSCCETXTS TO '//$QM//NEW//$QM
endif;
Approved f&rIl g et.?gQ5f/ :A~I~SRDg 00893R000200060006641
Approved 9kig"W ` 5166kV IX DW8Y00893R0bb2 6 1
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERSCCETXTS '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PERSCCETXTS '//$QM//OLD//$QM
;
endif,
endif;
IF CSCD NE BLANK
THEN
OLD=$SBF(CSCD,0,1,'*')
NEW=$SBF(CSCD,1,1,''')
$E=' CSCD '//$QM//CSCD//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERSCD TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERSCD '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERSCD '//$QM//OLD//$QM
endif;
endif;
IF CSCH NE BLANK
THEN
OLD=$SBF(CSCH,0,1,'*')
NEW=$SBF(CSCH,1,1,'*')
$E=' CSCH '//$QM//CSCH//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERSCH TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERSCH '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PERSCH '//$QM//OLD//$QM
endif;
endif;
IF CSCHGRSK1 NE BLANK
THEN
OLD=$SBF(CSCHGRSK1,0,1,'*')
NEW=$SBF(CSCHGRSK1,1,1,'*')
$E=' CSCHGRSK1 '//$QM//CSCHGRSKI//$QM
Approved AF$MAII MW I RFNACLIAU "RPP0893R00020006000R51
Approved 0kTid65MTbi~ikbPb'by00893R0662600606661
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERSCHGRSK1 TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERSCHGRSK1 '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERSCHGRSK1 '//$QM//OLD//$QM
endif;
endif;
IF CSCHGRSK2 NE BLANK
THEN
OLD=$SBF(CSCHGRSK2,0,1,'*')
NEW=$SBF(CSCHGRSK2,1,1,'-')
$E=' CSCHGRSK2 '//$QM//CSCHGRSK2//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERSCHGRSK2 TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERSCHGRSK2 '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERSCHGRSK2 '//$QM//OLD//$QM
endif;
endif;
IF CSCHPRT1 NE BLANK
THEN
OLD=$SBF(CSCHPRT1,0,1,'*')
NEW=$SBF(CSCHPRT1,1,1,'*')
$E=' CSCHPRT1 '//$QM//CSCHPRTI//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERSCHPRT1 TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERSCHPRT1 '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERSCHPRT1 '//$QM//OLD//$QM
endif;
endif;
IF CSD NE BLANK
THEN
OLD=$SBF(CSD,0,1,'%;')
Approved FgRFogt?R. 5/Qpl%& AOWP 1Q0893R00020006000%61
Approved ~BI~~T25/~1AUb0893R0(0~2(0(~~I
NEW=$SBF(CSD,1,1,'*')
$E=' CSD '//$QM//CSD//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERSD TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERSD '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PERSD '//$QM//OLD//$QM
endif;
endif;
IF CSECCL NE BLANK
THEN
OLD=$SBF(CSECCL,0,1,'*')
NEW=$SBF(CSECCL,1,1,'*')
$E=' CSECCL '//$QM//CSECCL//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERSECCL TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERSECCL '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERSECCL '//$QM//OLD//$QM
endif;
endif;
IF CSEQ NE BLANK
THEN
OLD=$SBF(CSEQ,0,1,'`')
NEW=$SBF(CSEQ,1,1,'k')
$E=' CSEQ '//$QM//CSEQ//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERSEQ TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERSEQ '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERSEQ '//$QM//OLD//$QM
endif;
endif;
Approved NACLIAUEDP?? P0893R00020006000g~1
Approved OBPI~lai~T2T(Y(1P5/T~t4iAUD15>M0893R066266A6066631
IF CSERIAL NE BLANK
THEN
OLD=$SBF(CSERIAL,0,1,'%;')
NEW=$SBF(CSERIAL,1,1,'*')
$E=' CSERIAL '//$QM//CSERIAL//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERSERIAL TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERSERIAL '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERSERIAL '//$QM//OLD//$QM
endif;
endif;
IF CSEX NE BLANK
THEN
OLD=$SBF(CSEX,0,1,'*')
NEW=$SBF(CSEX,1,1,'%,')
$E=' CSEX '//$QM//CSEX//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERSEX TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERSEX '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PERSEX '//$QM//OLD//$QM
endif;
endif;
IF CSFN NE BLANK
THEN
OLD=$SBF(CSFN,0,1,'*')
NEW=$SBF(CSFN,1,1,'*')
$E=' CSFN '//$QM//CSFN//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERSFN TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERSFN '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PERSFN '//$QM//OLD//$QM
Approved Illg&ei,?9p5/A~I~SRDg;00893R00020006000A 1
Approved Vk;W"g ?` 5#E 6kF2NP X--W& 8Y00893R0bb2 6* 1
endif;
endif;
IF CSREF NE BLANK
THEN
OLD=$SBF(CSREF,0,1,'*')
NEW=$SBF(CSREF,1,1,'*')
$E=' CSREF '//$QM//CSREF//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERSREF '//$QM//OLD//$QM//'TO'//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERSREF '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERSREF '//$QM//OLD//$QM
endif;
endif;
IF CSSNOTH NE BLANK
THEN
OLD=$SBF(CSSNOTH,O,l,'*')
NEW=$SBF(CSSNOTH,1,1,'*')
$E=' CSSNOTH '//$QM//CSSNOTH//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERSSNOTH TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERSSNOTH '//$QM//NEW//$QM
endif ;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERSSNOTH '//$QM//OLD//$QM
endif;
endif;
IF CSTAN NE BLANK
THEN
OLD=$SBF(CSTAN,0,1,'*')
NEW=$SBF(CSTAN,1,1,'*')
$E=' CSTAN '//$QM//CSTAN//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERSTAN TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERSTAN '//$QM//NEW//$QM
endif;
Approved ~re~s,?185/(~AC~I-pg,00893R00020006000g91
Approved 06VI'ii~Tai4T &/&T6i~ k-kbP?&'Y00893R0( 626tl66O6dd-~
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PERSTAN '//$QM//OLD//$QM
endif;
endif;
IF CSTANAREA NE BLANK
THEN
OLD=$SBF(CSTANAREA,0,1,",-')
NEW=$SBF(CSTANAREA,1,1,'-;')
$E=' CSTANAREA '//$QM//CSTANAREA//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERSTANAREA TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERSTANAREA '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PERSTANAREA '//$QM//OLD//$QM
endif;
endif;
IF CSTANTXT NE BLANK
THEN
OLD=$SBF(CSTANTXT,0,1,'*')
NEW=$SBF(CSTANTXT,1,1,'*')
$E=' CSTANTXT '//$QM//CSTANTXT//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERSTANTXT TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERSTANTXT '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PERSTANTXT '//$QM//OLD//$QM
endif;
endif;
IF CSTEP2 NE BLANK
THEN
OLD=$SBF(CSTEP2,0,1,'*')
NEW=$SBF(CSTEP2,1,1,'`')
$E=' CSTEP2 '//$QM//CSTEP2//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERSTEP2 TO '//$QM//NEW//$QM
endif;
Approved FABnFo~"R ( 5/4p/ &RJA LPPJR.Q0893R000200060006-a
Approved F &l 4~is& 166'l N&l'A 2bW-b0893R00 20 0 4
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERSTEP2 '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERSTEP2 '//$QM//OLD//$QM
endif;
endif;
IF CSTIND NE BLANK
THEN
OLD=$SBF(CSTIND,0,1,'*')
NEW=$SBF(CSTIND,1,1,'%;')
$E=' CSTIND '//$QM//CSTIND//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERSTIND TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERSTIND '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERSTIND '//$QM//OLD//$QM
endif;
endif;
IF CSTRCTR NE BLANK
THEN
OLD=$SBF(CSTRCTR,0,1,'*')
NEW=$SBF(CSTRCTR,1,1,'*')
$E=' CSTRCTR '//$QM//CSTRCTR//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERSTRCTR '//$QM//OLD//$QM//' TO
//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERSTRCTR '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERSTRCTR '//$QM//OLD//$QM
endif;
endif;
IF CTOA NE BLANK
THEN
OLD=$SBF(CTOA,0,1,'-')
NEW=$SBF(CTOA,1,1,'*')
$E=' CTOA '//$QM//CTOA//$QM
Approved ~ ~~5/ NACU EDP0R~P0893R00020006000911
Approved 06~IiATid65MT/bi~'did-kbPgby00893R0662608$066931
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERTOA '//$QM//OLD//$QM//'TO'//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERTOA '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PERTOA '//$QM//OLD//$QM
endif;
endif;
IF CTOUR NE BLANK
THEN
OLD=$SBF(CTOUR,0,1,'*')
NEW=$SBF(CTOUR,1,1,'%;')
$E=' CTOUR '//$QM//CTOUR//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERTOUR TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERTOUR '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERTOUR '//$QM//OLD//$QM
endif;
endif;
IF CVET NE BLANK
THEN
OLD=$SBF(CVET,0,1,'*')
NEW=$SBF(CVET,1,1,'*')
$E=' CVET '//$QM//CVET//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERVET TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERVET '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$'
THEN $D=' PERVET '//$QM//OLD//$QM
endif;
endif;
IF CWGIE NE BLANK
THEN
OLD=' ',OLD=$SBF(CWGIE,0,1,'%*')
Approved -I~Vktnll 95fM ~eL~ De 00893R0002000600Q-1
-Iftiigtbb5Mi 2ND tIA44D*8Y00893R0 2 661 1
Approved
NEW=$SBF(CWGIE,1,1,1*')
$E=' CWGIE '//$QM//CWGIE//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=' PERWGIE TO '//$QM//NEW//$QM
endif;
IF $SBF(OLD,0,1) EQ '$'
THEN $A=' PERWGIE '//$QM//NEW//$QM
endif;
IF $SBF(NEW,0,1) EQ '$' (only occurs if ITOA = 'ZZ')
THEN $D=' PERWGIE '//$QM//OLD//$QM
endif;
endif;
IF GCUTOFFDT NE BLANK
THEN $E=' GCUTOFFDT '//$QM//GCUTOFFDT//$QM
endif;
IF GPROJUPDTD NE BLANK
THEN $E_' GPROJUPDTD '//$QM//GPROJUPDTD//$QM
endif;
IF IACTREQ NE BLANK
THEN $E_' IACTREQ '//$QM//IACTREQ//$QM
endif;
IF IAFF NE BLANK
THEN $E_' IAFF '//$QM//IAFF//$QM
endif;
IF IAL NE BLANK
THEN $E=' IAL '//$QM//IAL//$QM
endif;
IF IANO NE BLANK
THEN $E=' IANO '//$QM//IANO//$QM
endif;
IF IANPRPAY NE BLANK
THEN $E=' IANPRPAY '//$QM//IANPRPAY//$QM
endif;
IF IANTYSAL NE BLANK
THEN $E_' IANTYSAL '//$QM//IANTYSAL//$QM
endif;
IF IANTYST NE BLANK
THEN $E_' IANTYST '//$QM//IANTYST//$QM
endif;
IF IAORG NE BLANK
THEN $E=' IAORG '//$QM//IAORG//$QM
Approved For R IISTRATIO( 5/INTEI~I~ALI USA ORN~ 0893R00020006000931
Approved
endif;
IF IAPNTE NE BLANK
THEN $E=' IAPNTE '//$QM//IAPNTE//$QM
endif;
IF ICCANO NE BLANK
THEN $E=' ICCANO '//$QM//ICCANO//$QM
endif;
IF ICCNOA NE BLANK
THEN $E=' ICCNOA '//$QM//ICCNOA//$QM
endif;
IF ICCTOA NE BLANK
THEN $E=' ICCTOA '//$QM//ICCTOA//$QM
endif;
IF ICIT NE BLANK
THEN $E=' ICIT '//$QM//ICIT//$QM
endif;
IF ICSEOD NE BLANK
THEN $E=' ICSEOD '//$QM//ICSEOD//$QM
endif;
IF ICTPCLASS NE BLANK
THEN $E=' ICTPCLASS '//$QM//ICTPCLASS//$QM
endif;
IF IDETC NE BLANK
THEN $E=' IDETC '//$QM//IDETC//$QM
endif;
IF IDETONTE NE BLANK
THEN $E=' IDETONTE '//$QM//IDETONTE//$QM
endif;
IF IDEVC NE BLANK
THEN $E=' IDEVC '//$QM//IDEVC//$QM
endif;
IF IDEVDI NE BLANK
THEN $E=' IDEVDI '//$QM//IDEVDI//$QM
endif;
IF IDEVLAST NE BLANK
THEN $E=' IDEVLAST '//$QM//IDEVLAST//$QM
endif;
IF IDEVNTE NE BLANK
THEN $E=' IDEVNTE '//$QM//IDEVNTE//$QM
endif;
Approved ~jg~r8~5/l~A~IDg,00893R00020006000~41
Approved OBVIii~4T'65/b'676i~4dibPdb'y00893R066266060669-1
IF IDOA NE BLANK
THEN $E=' IDOA '//$QM//IDOA//$QM
endif;
IF IDOB NE BLANK
THEN $E=' IDOB '//$QM//IDOB//$QM
endif;
IF IDOG NE BLANK
THEN $E=' IDOG '//$QM//IDOG//$QM
endif;
IF IETP NE BLANK
THEN $E_' IETP '//$QM//IETP//$QM
endif;
IF IFLSA NE BLANK
THEN $E=' IFLSA '//$QM//IFLSA//$QM
endif;
IF IFLSADT NE BLANK
THEN $E=' IFLSADT '//$QM//IFLSADT//$QM
endif;
IF IGR NE BLANK
THEN $E=' IGR '//$QM//IGR//$QM
endif;
IF IHQ NE BLANK
THEN $E=' IHQ '//$QM//IHQ//$QM
endif;
IF IHRS NE BLANK
THEN $E=' IHRS '//$QM//IHRS//$QM
endif;
IF IINDT NE BLANK
THEN $E_' IINDT '//$QM//IINDT//$QM
endif;
IF IINORIGDT NE BLANK
THEN $E_' IINORIGDT '//$QM//IINORIGDT//$QM
endif;
IF ILCD NE BLANK
THEN $E=' ILCD '//$QM//ILCD//$QM
endif;
IF ILEI NE BLANK
THEN $E_' ILEI '//$QM//ILEI//$QM
endif;
IF ILWOPSTRT NE BLANK
THEN $E_' ILWOPSTRT '//$QM//ILWCPSTRT//$QM
Approved FA~re}eSeA~~~S/~ I&AJPP$0893R000200060006yj1
Approved bVkb~W;W, bI~ 00893R kd&OV 1
IF IOVERLAP NE BLANK
THEN $E=' IOVERLAP '//$QM//IOVERLAP//$QM
endif;
IF IOVNTE NE BLANK
THEN $E_' IOVNTE '//$QM//IOVNTE//$QM
endif;
IF IOVRD NE BLANK
THEN $E=' IOVRD '//$QM//IOVRD//$QM
endif;
IF IPAYB NE BLANK
THEN $E=' IPAYB '//$QM//IPAYB//$QM
endif;
IF IPGVT NE BLANK
THEN $E_' IPGVT '//$QM//IPGVT//$QM
endif;
IF IPOSNO NE BLANK
THEN $E=' IPOSNO '//$QM//IPOSNO//$QM
endif;
IF IPRA NE BLANK
THEN $E_' IPRA '//$QM//IPRA//$QM
endif;
IF IPRADI NE BLANK
THEN $E=' IPRADI '//$QM//IPRADI//$QM
endif;
IF IPRANTE NE BLANK
THEN $E=' IPRANTE '//$QM//IPRANTE//$QM
endif;
IF IPRMNTE NE BLANK
THEN $E=' IPRMNTE '//$QM//IPRMNTE//$QM
endif;
IF IPROJNO NE BLANK
THEN $E_' IPROJNO '//$QM//IPROJNO//$QM
endif;
IF IPWGI NE BLANK
THEN $E=' IPWGI '//$QM//IPWGI//$QM
endif;
IF IRACE NE BLANK
THEN $E=' IRACE '//$QM//IRACE//$QM
endif;
IF IREMC NE BLANK
THEN $E_' IREMC '//$QM//IREMC//$QM
Approved FAc t e eA Q NR PP 0893R0002000600061)
Approved 'b0893R0(2(0(d(?I
endif;
IF INAMEOR NE BLANK
THEN $E=' INAMEOR '//$QM//INAMEOR//$QM
endif;
IF INAMEOR3 NE BLANK
THEN $E=' INAMEOR3 '//$QM//INAMEOR3//$QM
endif;
IF INCPP NE BLANK
THEN $E=' INCPP '//$QM//INCPP//$QM
endif;
IF INEWIDN NE BLANK
THEN $E=' INEWIDN '//$QM//INEWIDN//$QM
endif;
IF INSCA NE BLANK
THEN $E=' INSCA '//$QM//INSCA//$QM
endif;
IF INSCADT NE BLANK
THEN $E=' INSCADT '//$QM//INSCADT//$QM
endif;
IF INTY NE BLANK
THEN $E=' INTY '//$QM//INTY//$QM
endif;
IF IOCCE NE BLANK
THEN $E_' IOCCE '//$QM//IOCCE//$QM
endif;
IF IOCCSUF NE BLANK
THEN $E=' IOCCSUF '//$QM//IOCCSUF//$QM
endif;
IF IOPERATOR NE BLANK
THEN $E_' IOPERATOR '//$QM//IOPERATOR//$QM
endif;
IF IORGCODE NE BLANK
THEN $E=' IORGCODE '//$QM//IORGCODE//$QM
endif;
IF IORGDTIN NE BLANK
THEN $E=' IORGDTIN '//$QM//IORGDTIN//$QM
endif;
IF IOUTSK NE BLANK
THEN $E=' IOUTSK '//$QM//IOUTSK//$QM
endif;
ApprovedA gAM,mRTM51RMA, PI ff
Os- 008938000200060006-1
Approved FA~~1 i~SiiaT2T0 5766 N l'AUFkb ' b0893R00 2 Od
endif;
IF IREMNS NE BLANK
THEN $E=' IREMNS '//$QM//IREMNS//$QM
endif;
IF IRESV1 NE BLANK
THEN $E=' IRESV1 '//$QM//IRESV1//$QM
endif;
IF IRESV2 NE BLANK
THEN $E=' IRESV2 '//$QM//IRESV2//$QM
endif;
IF IRESV3 NE BLANK
THEN $E=' IRESV3 '//$QM//IRESV3//$QM
endif;
IF IRESV4 NE BLANK
THEN $E=' IRESV4 '//$QM//IRESV4//$QM
endif;
IF IRESV5 NE BLANK
THEN $E=' IRESV5 '//$QM//IRESV5//$QM
endif;
IF IRETDI NE BLANK
THEN $E=' IRETDI '//$QM//IRETDI//$QM
endif;
IF IRETNTE NE BLANK
THEN $E=' IRETNTE '//$QM//IRETNTE//$QM
endif;
IF IRTMT NE BLANK
THEN $E=' IRTMT '//$QM//IRTMT//$QM
endif;
IF ISALARY NE BLANK
THEN $E=' ISALARY '//$QM//ISALARY//$QM
endif;
IF ISCCE NE BLANK
THEN $E=' ISCCE '//$QM//ISCCE//$QM
endif;
IF ISCD NE BLANK
THEN $E=' ISCD '//$QM//ISCD//$QM
endif;
IF ISCH NE BLANK
THEN $E=' ISCH '//$QM//ISCH//$QM
endif;
Approved kMMW?995/pi~AqI4jDERfl00893R00020006000~81
Approved PkTIU65fT6T/6iN1kbPgby00893R066260060688-1
IF ISD NE BLANK
THEN $E=' ISD '//$QM//ISD//$QM
endif;
IF ISECCL NE BLANK
THEN $E_' ISECCL '//$QM//ISECCL//$QM
endif;
IF ISEPCODE NE BLANK
THEN $E=' ISEPCODE '//$QM//ISEPCODE//$QM
STMT=' PRIMSEPCODE '//$QM//ISEPCODE//$QM//
//' PRIMSEPDTE '//$QM//IDOA//$QM
IF ISEPCOMP NE BLANK
THEN $E=' ISEPCOMP '//$QM//ISEPCOMP//$QM
endif;
IF ISERIAL NE BLANK
THEN $E_' ISERIAL '//$QM//ISERIAL//$QM
endif;
IF ISEX NE BLANK
THEN $E_' ISEX '//$QM//ISEX//$QM
endif;
IF ISFN NE BLANK
THEN $E=' ISFN '//$QM//ISFN//$QM
endif;
IF ISIGN NE BLANK
THEN $E=' ISIGN '//$QM//ISIGN//$QM
endif;
IF ISREF NE BLANK
THEN $E=' ISREF '//$QM//ISREF//$QM
endif;
IF ISSNOTH NE BLANK
THEN $E=' ISSNOTH '//$QM//ISSNOTH//$QM
endif;
IF ISTAN NE BLANK
THEN $E=' ISTAN '//$QM//ISTAN//$QM
endif;
IF ISTEP2 NE BLANK
THEN $E=' ISTEP2 '//$QM//ISTEP2//$QM
endif;
IF ISUSPEN NE BLANK
THEN $E=' ISUSPEN '//$QM//ISUSPEN//$QM
endif;
Approved AMFO ERR , 5/ MN' RA ~P $0893R000200060006~j
Approved 081 1~iiiT 65/&Tbii 16 kbPbbYO0893ROO62600606?631
IF ITIDN NE BLANK
THEN $E=' ITIDN '//$QM//ITIDN//$QM
endif;
IF ITNAME NE BLANK
THEN $E=' ITNAME '//$QM//ITNAME//$QM
endif;
IF ITOA NE BLANK
THEN $E=' ITOA '//$QM//ITOA//$QM
endif;
IF ITOASK NE BLANK
THEN $E=' ITOASK '//$QM//ITOASK//$QM
endif;
IF ITOUR NE BLANK
THEN $E=' ITOUR '//$QM//ITOUR//$QM
endif;
IF ITRANS NE BLANK
THEN $E=' ITRANS '//$QM//ITRANS//$QM
endif;
IF IVET NE BLANK
THEN $E=' IVET '//$QM//IVET//$QM
endif;
IF IWGIE NE BLANK
THEN $E=' IWGIE '//$QM//IWGIE//$QM
endif;
IF SAFF NE BLANK
THEN $E=' SAFF '//$QM//SAFF//$QM
endif;
IF SANF NE BLANK
THEN $E=' SANF '//$QM//SANF//$QM
endif;
IF SANO NE BLANK
THEN $E=' SANO '//$QM//SANO//$QM
endif;
IF SAPNTE NE BLANK
THEN $E=' SAPNTE '//$QM//SAPNTE//$QM
endif;
IF SCEIL NE BLANK
THEN $E=' SCEIL '//$QM//SCEIL//$QM
endif;
IF SDEVC NE BLANK
THEN $E=' SDEVC '//$QM//SDEVC//$QM
Approved gA"ItA0 Rffl ~ICIN~D 00893R0002000600%-1
Approved #W; lam'16651 / NibIAJWDkbYO0893R0662bMtobW1
endif ;
IF SDOB NE BLANK
THEN $E=' SDOB '//$QM//SDOB//$QM
endif;
IF SDOG NE BLANK
THEN $E=' SDOG '//$QM//SDOG//$QM
endif;
IF SGR NE BLANK
THEN $E=' SGR '//$QM//SGR//$QM
endif;
IF SLEI NE BLANK
THEN $E=' SLEI '//$QM//SLEI//$QM
endif;
IF SNAMEOR NE BLANK
THEN $E=' SNAMEOR '//$QM//SNAMEOR//$QM
endif;
IF SPAYB NE BLANK
THEN $E_' SPAYB '//$QM//SPAYB//$QM
endif;
IF SPGVT NE BLANK
THEN $E_' SPGVT '//$QM//SPGVT//$QM
endif;
IF SPROJNO NE BLANK
THEN $E=' SPROJNO '//$QM//SPROJNO//$QM
endif;
IF SRTMT NE BLANK
THEN $E_' SRTMT '//$QM//SRTMT//$QM
endif;
IF SSALARY NE BLANK
THEN $E=' SSALARY '//$QM//SSALARY//$QM
endif;
IF SSCD NE BLANK
THEN $E=' SSCD '//$QM//SSCD//$QM
endif;
IF SSCH NE BLANK
THEN $E_' SSCH '//$QM//SSCH//$QM
endif;
IF SSERIAL NE BLANK
THEN $E_' SSERIAL '//$QM//SSERIAL//$QM
endif;
Approved Ag IINIglRRIJW/INTERNAZ- USE ORLY0893R00020006000?i1
Approved &lgi Tib6si/b~N` 9 KDPbbYO0893ROa626?b~0bbi31
IF SSFN NE BLANK
THEN $E=' SSFN '//$QM//SSFN//$QM
endif;
IF SSTEP2 NE BLANK
THEN $E=' SSTEP2 '//$QM//SSTEP2//$QM
endif;
IF STOUR NE BLANK
THEN $E=' STOUR '//$QM//STOUR//$QM
endif;
endproc BLDSTMT
DEC SSNCHG
CSIGN Input value from disk to check for SSN Change
OLD
NEW
$C
$E
old side of CSIGN
new side of CSIGN
statement to change DL/ID (SSNOR)
part of statement for INTERFACE record
PROC SSNCHG
IF CSIGN NE BLANK
THEN
OLD=$SBF(CSIGN,0,1,'*')
NEW=$SBF(CSIGN,1,1,'*')
$E=' CSIGN '//$QM//CSIGN//$QM
IF $SBF(OLD,0,1) NE '$' and $SBF(NEW,0,1) NE '$'
THEN $C=FILE//$QM//OLD//$QM//' TO
$QM//NEW//$QM
endif;
CHANGE &($C)
$C = BLANK
endif;
endproc SSNCHG
DEC ADDREC
$A
$C
$D
LVL
$E
FILE
STMT
STMTS
all values to be added
all values to be changed
all values to be deleted
current array level
all values to be added to INTERFACE
file changes are to be applied to
SEPCODE and SEPDTE for PRIMSEP add only
concatenation of array values for execution
Approved FgnMR~RRA( 5/4 /%& IAdWP -f 0893R00020006000%)
Approved FWif &'~b` tld,?/T&Nd4LRb 60893R00 00Mi
IF $C NE BLANK
THEN
LVL = 1
STMTS = 'FOR '//FILE//' CHANGE
DO UNTIL LVL GT $CM
STMTS = STMTS//$C(LVL)
LVL = LVL + 1
enddo;
&STMTS (execute change statememt)
$C=BLANK, STMTS=BLANK
endif;
IF $A NE BLANK or STMT NE BLANK
THEN
LVL = 1
STMTS = 'FOR '//FILE//' ADD
DO UNTIL LVL GT $AM
STMTS = STMTS//$A(LVL)
LVL = LVL + 1
enddo;
&STMTS &STMT (execute add statement)
$A=BLANK, STMTS=BLANK
endif;
IF $D NE BLANK AND ITOA NE 'ZZ'
THEN
LVL = 1
STMTS = 'FOR '//FILE//' DELETE
DO UNTIL LVL GT $DM
STMTS = STMTS//$D(LVL)
LVL = LVL + 1
enddo;
&STMTS (execute delete statement)
$D=BLANK, STMTS=BLANK, STMT=BLANK
endif;
IF $E NE BLANK
THEN
LVL = 1
STMTS = 'ADD INTERFACE '//INTERFACE
DO UNTIL LVL GT $EM
STMTS = STMTS//$E(LVL)
LVL = LVL + 1
enddo;
&STMTS (update INTERFACE file)
$E=BLANK, STMTS=BLANK
endif;
Approved For Release 2005/08/02 : CIA-RDP88-00893R000200060006-1
DMINISTRATIVE-INTERNAL USE ONLY 83
Approved O;V I T Ti665f /6iN1I KnPbbYO0893R0662600$0666 1
DEC ADDNEW
$A all values to be added
NEWREC flag to designate new record
ISIGN INPUT value from disk containing record DL/ID
IF $A NE BLANK
THEN
LVL = 1
STMTS = 'ADD NEW PERSIGN '//$QM//ISIGN//$QM
DO UNTIL LVL GT $AM
STMTS = STMTS//$A(LVL)
LVL = LVL + 1
enddo;
&STMTS (add new PERSIGN record)
$A=BLANK, STMTS=BLANK
endif;
endproc ADDNEW
DEC NEWSEP
FILE value received in READREC 'PERSIGN'
ISIGN value received on input
enddec NEWSEP
PROC NEWSEP
FOR &FILE '&ISIGN' MOVE REPLACE TO PRIMSEP
DELETE &FILE '&ISIGN'
FILE = 'PRIMSEP'
endproc NEWSEP
endproc PRCHGLOAD
4.3.5 PRCATRSF - TRANSFER COMPONENT ACCESS
When an employee has been nominated for reassignment consideration to
another component, the owning component can electronically provide the
requesting component with the employee's biographic data. If a Compo-
Approved fMM~ft?gp5//PA~I,~-ODg00893R00020006000p41
Approved iV1,;figiiVg1 3 I 4kDO`I' 8YO0893R0bb2 0 1
nent wants to extend a Purge Date (PRGDTE) to avoid losing a record
from it's access, that Component must use the PRACCUPDT (Access Up-
date) menu to change the PRGDTE. See flow diagram in Figure 9 of the
Appendix.
Proc Name : PRCATRSF
Language Used: GIM POL
Initiated By : Component owning the employee
Input : Menu parameters
SSNOR of transferring employee
SYSMAN2 Signon ORG
PRGDTE (Purge Date)
Output : The SSNOR will be copied from one
SEGACCESS file to another.
The PRCATRSF procedure is used by one component to pass an employee's
SSNOR to another component, thus creating a link to the employee's bi-
ographic data. This will be done when that employee is being nominat-
ed for an assignment to another component or transferred temporarily
to the other component. The sending component should enter a Purge
Date. If the employee is actually assigned to the receiving office,
the Purge Date will be removed by an entry in the HRS2 INTERFACE file
via the PRCAUPDT procedure. If the employee is not reassigned, the
entire entry made for the employee in the receiving office's file will
be removed by the PRNTEPRG procedure. The SEGACCESS file with the use
of Security update keys will allow the component owning the record to
delete an SSNOR passed in error to another component. Access to this
procedure will be controlled through a key in the SYSMAN2 file.
NOTE: If Access is required to an official record and no
ownership has been established in PRIM for that
record, the component must request the PRIM Data
Base Manager to transfer the record.
This procedure will utilize the following menu which will be stored in
the MENU-FORMATS file:
E PRCATRSF (Component Access Transfer)
ACTION: (A) ADD (D) DELETE (X) EXIT
Approved AIINgMq~p54(EQ&A~I~ADgR00893R00020006000p51
Approved F li%f~is& 766MN6~A bFP8''$~b0893R00a 4
SSNOR/STATUS:
STATUS: A - Active S- Separated
SYSMAN2 PURGE DATE SYSMAN2 PURGE DATE
MENU ITEM DESCRIPTION
(R) ACTION: Action (A,D,X) (LA01)
(R) SSNOR: Social Security Number (LN09)
(R) STATUS: Active or Separated Employee (LA01)
(R) SYSMAN2: ORG Receiving Employee Info (LA06)
(0) PURGE DATE: Purge Date (YYMMDD) (LN06)
If Action = 'X'
then - exit the procedure.
endif;
If Purge Date = blank
then - create PRGDTE (current date + 90)
endif;
If Action = 'A' or 'D' and null SSNOR, STATUS, and/or null SYSMAN2
then - issue error message (Required fields must be present)
endif;
If Action = 'A' and present SSNOR, STATUS and SYSMAN2
then - use the SYSMAN2 Signon ORG to verify ownership (service
designation on record EQ SD field of SELECTION Criteria).
,ff-I~g M75 1 / :A~I~SRDg ;00893R00020006000861
Approved
Approved #iWI;~ Ti&65/ 6 , Idi fC006b)'00893R06d266O6068d-31
If any menu STATUS = 'A'
then - Build add statement for each active SYSMAN2 entry
- Add SSNOR, and PRGDTE to each SEGACCESS segment as
designated by SYSMAN2 entry(ies) on menu. Active
SSNOR(s) will be added to SYSMAN2+A
EX: Add (SYSMAN2+A) ' ' PRGDTE '
endif ;
If any menu STATUS = 'S'
then - Build add statement for each separated SYSMAN2 entry
- Add SSNOR, and PRGDTE to each SEGACCESS segment as
designated by SYSMAN2 entry(ies) on menu. Separated
SSNOR(s) will be added to SYSMAN2+S
EX: Add (SYSMAN2+S) ' ' PRGDTE '
endif;
endif;
If Action = 'D' and present SYSMAN2 on menu NE SYSMAN2 Signon ORG
then - Use the SYSMAN2 Signon ORG to verify Ownership (SD on
record EQ SD field of SELECTION Criteria).
If any menu STATUS = 'A'
then - Build delete statements for each SYSMAN2 entry
on the menu.
- Delete SSNOR with null SDTE from each active SEGACCESS
segment as designated by the SYSMAN2 entry(ies)
on the menu. Active records will be deleted from
SYSMAN2+A.
EX: Delete (SYSMAN2+A) ' ' when null SDTE.
If any menu STATUS = 'S'
then - Build delete statements for each SYSMAN2 entry
on the menu.
- Delete SSNOR with null SSDTE from each separated
SEGACCESS segment as designated by the SYSMAN2
entry(ies) on the menu. Separated records will be
deleted from SYSMAN2+S.
endif;
endif;
EX: Delete (SYSMAN2+S) ' ' when null SSDTE.
A component can transfer an employee's record if the component owns
that record. Ownership is valid if the SD of the record equals the SD
in the components SELECTION Criteria (SD is first segment of Cri-
Approved For
ADMINISTRA Release 2 VE /0 NTERNAL USE PML-g0893R000200060006 I
Approved ~ ~giPi(1F(TMi
ff 41CIWSfk6i-00893Rdd026666686d-1
teria). The initiating component is determined by the Signon ORG
($UNAMEl).
DEC PRCATRSF
BLANK
value
ERRSW
value
SLVL
value
11 (SYSMAN2 level)
SWCH
value
'OFF'
$A
single
dimensional array
$A(2)
$A(3)
$A(4)
$A(5)
$A(6)
$A(7)
$A(8)
$A(9)
$A(10)
$A(11)
$A(12)
$A(13)
$A(14)
$A(15)
$A(16)
$A(17)
$A(18)
$A(19)
$A(20)
$A(21)
$A(22)
$A(23)
$A(24)
$A(25)
$A(26)
$A(27)
$A(28)
$A(29)
$A(30)
$A(31)
$A(32)
$A(33)
$A(34)
$A(35)
$A(36)
$A(37)
$A(38)
$A(39)
$A(40)
$A(41)
$A(42)
area containing Action
1st SSNOR
Status for $A(3)
2nd SSNOR
Status for $A(5)
3rd SSNOR
Status for $A(7)
4th SSNOR
Status for $A(9)
1st SYSMAN2
Purge date for 1st SYSMAN2
2nd SYSMAN2
Purge date for 2nd SYSMAN2
3rd SYSMAN2
Purge date for 3rd SYSMAN2
4th SYSMAN2
Purge date for 4th SYSMAN2
5th SYSMAN2
Purge date for 5th SYSMAN2
6th SYSMAN2
Purge date for 6th SYSMAN2
7th SYSMAN2
Purge date for 7th SYSMAN2
8th SYSMAN2
Purge date for 8th SYSMAN2
9th SYSMAN2
Purge date for 9th SYSMAN2
10th SYSMAN2
Purge date for 10th SYSMAN2
11th SYSMAN2
Purge date for 11th SYSMAN2
12th SYSMAN2
Purge date for 12th SYSMAN2
13th SYSMAN2
Purge date for 13th SYSMAN2
14th SYSMAN2
Purge date for 14th SYSMAN2
15th SYSMAN2
Purge date for 15th SYSMAN2
16th SYSMAN2
Purge date for 16th SYSMAN2 enddec PRCATRSF
Approved ABq I "RRI5/Q ~ IAL-DPOI IQ0893R00020006000?$1
Approved F';I*~k4ge~lbb?/ttY8$RN4441OPM6f0893R00M0t:0M3
READ menu into $A arrays
IF $A(2) EQ 'X'
THEN - RUN EXIT-FOR-NOMORE
endif;
IF $A(2) EQ 'A' or 'D' and
(($A(3)
NE BLANK and
$A(4)
EQ BLANK)
or
($A(3)
EQ BLANK and
$A(4)
NE BLANK)
or
($A(5)
NE BLANK and
$A(6)
EQ BLANK)
or
($A(5)
EQ BLANK and
$A(6)
NE BLANK)
or
($A(7)
NE BLANK and
$A(8)
EQ BLANK)
or
($A(7)
EQ BLANK and
$A(8)
NE BLANK)
or
($A(9)
NE BLANK and
$A(10)
EQ BLANK)
or
($A(9)
EQ BLANK and
$A(10)
NE BLANK))
THEN - PRINT message that both SSNOR and STATUS
must be entered
- RUN EXIT-FOR-RESTART
endif;
DO UNTIL SWCH EQ 'ON' or SLVL EQ 43
IF $A(SLVL) EQ BLANK
THEN - SLVL = SLVL + 2
ELSE - SWCH EQ 'ON'
endif;
enddo;
IF SWCH EQ 'OFF'
THEN - PRINT message stating at least one
SYSMAN2 value must be entered
RUN EXIT-FOR-RESTART
endif;
IF $A(2) EQ 'A'
THEN - RUN VERIFYCASE
IF ERRSW EQ BLANK
THEN - RUN SSNCASE
- RUN SDCASE
endif;
IF ERRSW EQ BLANK
THEN - RUN ADDCASE
endif;
RUN EXIT-FOR-MORE
endif;
IF $A(2) EQ 'D'
THEN - RUN VERIFYCASE
IF ERRSW EQ BLANK
THEN - RUN SSNCASE
- RUN SDCASE
Approved For Release 2005/08/02 : CIA-RDP88-00893R000200060006-1
ADMINISTRATIVE-INTERNAL USE ONLY 89
Approved 4PI ;W"Wib1b5 /bY~A6I,&-WDP' 8YO0893R0bb2bMtOb
endif;
IF ERRSW EQ BLANK
THEN - RUN DELETECASE
endif;
RUN EXIT-FOR-MORE
endif;
DEC VERIFYCASE
SEGMENT value $UNAME1
CRITERIA temporary buffer area
$B single dimensional arrays
$BM count of $B arrays
$W current value
enddec VERIFYCASE
(execute statement to acquire SD values from the
SELECTION segment for the initiating ORG)
FOR &SEGMENT ACQUIRE SLCRITERIA
DO for all Criteria lines in the file
GET SLCRITERIA (use GFAV and GNAV)
CRITERIA = $W
$B = $SBF(CRITERIA,0,1,'*')
enddo;
IF $BM EQ 0 (no SD value found)
THEN - PRINT message that initiator
have ownership of record
does not
- ERRSW = '1'
endif;
endproc VERIFYCASE;
DEC SSNCASE
$A single dimensional array
$A(2)
area containing Action
$A(3)
1st SSNOR
$A(4)
Status for $A(3)
$A(5)
2nd SSNOR
$A(6)
Status for $A(5)
$A(7)
3rd SSNOR
$A(8)
Status for $A(7)
$A(9)
4th SSNOR
$A(10)
Status for $A(9)
$B
single dimensional arrays
$C
value ' '
buffer area for active SSNORs
$D
value ' '
buffer area for separated data
enddec SSNCASE
Approved 1A%F0g"R 5/QR/%& IA0WP -f 0893R00020006000~a
Approved FW 66~aW1bbtfd&Yi%fi4-WbP 0893RO0 0 bOMI
IF $A(4) EQ 'A'
THEN - add $A(3) to active SSNOR statement
- $C = $C//$QM//$A(3)//$QM
endif;
IF $A(4) EQ 'S'
THEN - add $A(3) to separated SSNOR statement
- $D = $D//$QM//$A(3)//$QM
endif;
IF $A(6) EQ 'A'
THEN - add $A(5) to active SSNOR statement
- $C = $C//$QM//$A(5)//$QM
endif;
IF $A(6) EQ 'S'
THEN - add $A(5) to separated SSNOR statement
- $D = $D//$QM//$A(5)//$QM
endif;
IF $A(8) EQ 'A'
THEN - add $A(7) to active SSNOR statement
- $C = $C//$QM//$A(7)//$QM
endif;
IF $A(8) EQ 'S'
THEN - add $A(7) to separated query statement
- $D = $D//$QM//$A(7)//$QM
endif;
IF $A(10) EQ 'A'
THEN - add $A(9) to active query statement
- $C = $C//$QM//$A(9)//$QM
endif;
IF $A(10) EQ 'S'
THEN - add $A(9) to separated SSNOR statement
- $D = $D//$QM//$A(9)//$QM
endif;
endproc SSNCASE
DEC SDCASE
BLANK
BLVL
value
value
1
ERRSW
value
$B
single dimensional arrays
$BM
count of used $B arrays
$C
buffer area containing active SSNORs
$D
buffer area containing separated SSNORs
SDSCAN
value ' '
temporary buffer area for SD value
Approved f l?? ?f9p5/I( (R&A~IAO- Pp 00893R000200060006 -1
Approved b %A~gi~I2 0' /bi 4TCI Sk i 00893R(d0i6666(86d-1
DO UNTIL BLVL EQ $BM
(build SD scan portion of statement)
SDSCAN = SDSCAN//' WITH $SCAN(PERSD,
//$QM//$B(BLVL)//$QM
IF BLVL NE $BM
THEN - BLVL = BLVL + 1
- SDSCAN = SDSCAN//' OR
endif;
enddo;
IF $C NE BLANK
THEN - (scan for SD value in PERSIGN)
FOR PERSIGN &($C) &SDSCAN ACQUIRE PERSD
IF NO VALUE ACQUIRED (SD does not match)
THEN - PRINT message stating initiator does not
have ownership of record
- VOPRINT &($C)
endif;
endif;
IF $D NE BLANK
THEN - (scan for SD value in PRIMSEP)
FOR PRIMSEP &($D) &SDSCAN ACQUIRE PERSD
IF NO VALUE ACQUIRED (SD does not match)
THEN - PRINT message stating initiator does not
have ownership of record
- VOPRINT $D
endif;
endif;
endproc SDCASE
DEC ADDCASE
BLANK
area containing active SSNORs
area containing separated SSNORs
$C buffer
$D buffer
$A(11)
$A(12)
$A(13)
$A(14)
$A(15)
$A(16)
$A(17)
$A(18)
$A(19)
$A(20)
$A(21)
$A(22)
$A(23)
$A(24)
$A(25)
$A(26)
$A(27)
1st SYSMAN2
Purge date for
2nd SYSMAN2
Purge date for
3rd SYSMAN2
Purge date for
4th SYSMAN2
Purge date for
5th SYSMAN2
Purge date for
6th SYSMAN2
Purge date for
7th SYSMAN2
Purge date for
8nd SYSMAN2
Purge date for
9rd SYSMAN2
1st SYSMAN2
2nd SYSMAN2
3rd SYSMAN2
4th SYSMAN2
5th SYSMAN2
6th SYSMAN2
7th SYSMAN2
8th SYSMAN2
Approved FgnFog~ glZ IR/ ~RrtI~ PMIQ0893R00020006000921
Approved 'Pik~l~ii~T oU&6g `" I'AUitb b0893R0(l2( Od
$A(28)
Purge date for 9th SYSMAN2
$A(29)
10th SYSMAN2
$A(30)
Purge
date for 10th SYSMAN2
$A(31)
11th
SYSMAN2
$A(32)
Purge
date for 11th SYSMAN2
$A(33)
12th
SYSMAN2
$A(34)
Purge
date for 12th SYSMAN2
$A(35)
13th
SYSMAN2
$A(36)
Purge
date for 13th SYSMAN2
$A(37)
14th
SYSMAN2
$A(38)
Purge
date for 14th SYSMAN2
$A(39)
15th
SYSMAN2
$A(40) Purge date for 15th SYSMAN2
$A(41) 16th SYSMAN2
$A(42) Purge date for 16th SYSMAN2
SLVL value 11 (SYSMAN2 array level)
PURGE buffer area for current purge date
TPRGDTE $ODATE (GIM current date)
TSTMT buffer containing verb and file name
enddec ADDCASE
IF $C NE BLANK
THEN - (build and execute add statement for each
SYSMAN2+A)
DO UNTIL SLVL EQ 43
IF $A(SLVL) NE BLANK
THEN - (SYSMAN2+A is file for add statement)
IF $A(SLVL+1) NE BLANK
THEN - PURGE = PRGDTE '//$QM//$A(SLVL+1)//$QM
ELSE - PURGE = PRGDTE '//$QM//TPRGDTE//$QM
endif;
TSTMT = 'ADD '//$A(SLVL)//'A'
DO execute created statement
&TSTMT &($C) &PURGE
enddo;
endif;
SLVL = SLVL + 2
enddo;
endif;
IF $D EQ BLANK
THEN - (build and execute add statement for all
SYSMAN2+S)
DO UNTIL SLVL EQ 43
IF $A(SLVL) NE BLANK
THEN - (SYSMAN2+S is file for add statement)
IF $A(SLVL+1) NE BLANK
THEN - PURGE = ' SPRGDTE '//$QM//$A(SLVL+1)//$QM
ApprovedAFH-I e jg fp51R~AFIoS~D~A>-00893R0002000600 06-1 93
Approved
ELSE - PURGE SPRGDTE '//$QM//TPRGDTE//$QM
endif;
TSTMT = 'ADD '//$A(SLVL)//'S'
DO execute created statement
&TSTMT &($D) &PURGE
enddo;
endif;
SLVL = SLVL + 2
enddo;
endif;
endproc ADDCASE
DEC DELETECASE
BLANK
value
$C
buffer area containing active SSNORs
$D
buffer area containing separated SSNORs
$A(11)
1st SYSMAN2
$A(12)
Purge date for 1st SYSMAN2
$A(13)
2nd SYSMAN2
$A(14)
Purge date for 2nd SYSMAN2
$A(15)
3rd SYSMAN2
$A(16)
Purge date for 3rd SYSMAN2
$A(17)
4th SYSMAN2
$A(18)
Purge date for 4th SYSMAN2
$A(19)
5th SYSMAN2
$A(20)
Purge date for 5th SYSMAN2
$A(21)
6th SYSMAN2
$A(22)
Purge date for 6th SYSMAN2
$A(23)
7th SYSMAN2
$A(24)
Purge date for 7th SYSMAN2
$A(25)
8nd SYSMAN2
$A(26)
Purge date for 8th SYSMAN2
$A(27)
9rd SYSMAN2
$A(28)
Purge
date for 9th SYSMAN2
$A(29)
10th
SYSMAN2
$A(30)
Purge
date for 10th SYSMAN2
$A(31)
11th
SYSMAN2
$A(32)
Purge
date for 11th SYSMAN2
$A(33)
12th
SYSMAN2
$A(34)
Purge
date for 12th SYSMAN2
$A(35)
13th
SYSMAN2
$A(36)
Purge
date for 13th SYSMAN2
$A(37)
14th
SYSMAN2
$A(38)
Purge
date for 14th SYSMAN2
$A(39)
15th
SYSMAN2
$A(40)
Purge
date for 15th SYSMAN2
$A(41) 16th SYSMAN2
$A(42) Purge date for 16th SYSMAN2
SLVL value 11 (SYSMAN2 array level)
TSTMT buffer containing verb and file name
enddec DELETECASE
Approved F$RfM~ R72fflgp/ &RIAC?LPPCR-f0893R00020006000~4
Approved OBPWI~~i6T2bV576bI ~tfAUikbO&b0893R0(3( 2( 0060
IF $C NE BLANK
THEN (build and execute delete statement for each
SYSMAN2+A)
DO UNTIL SLVL EQ 43
IF $A(SLVL) NE BLANK
THEN (SYSMAN2+A is file for delete statement)
TSTMT = 'DELETE '//$A(SLVL)//'A'
DO execute created statement to remove SSNORs
from file
&TSTMT &($C)
enddo;
endif;
SLVL = SLVL + 2
enddo;
endif;
SLVL = 11
IF $D NE BLANK
THEN (build and execute delete statement for each
SYSMAN2+S)
DO UNTIL SLVL EQ 43
IF $A(SLVL) NE BLANK
THEN (SYSMAN2+S is file for delete statement)
TSTMT = 'DELETE '//$A(SLVL)//'S'
DO execute created statement to remove SSNORs
from file
&TSTMT &($D)
enddo;
endif;
SLVL = SLVL + 2
enddo;
endif;
endproc DELETECASE
PROC EXIT-FOR-RESTART
IF $A(2) EQ BLANK
THEN - RELOCATE cursor to Action (-~RL2)
endif;
IF $A(3) EQ BLANK and $A(4) NE BLANK
THEN - RELOCATE cursor to $A(3) (*RL3)
endif;
IF $A(4) EQ BLANK and $A(3) NE BLANK
THEN - RELOCATE cursor to $A(4) (1.RL4)
endif;
IF $A(5) EQ BLANK and $A(6) NE BLANK
THEN - RELOCATE cursor to $A(5) (*RL5)
endif;
Approved fffigliep e- ?0051 (E?NA~IAO-ftpPOA~Y00893R00020006000651
Approve d*6V Ugi~I 06 ~bI A OO893Rd& 6( -1
IF $A(6) EQ BLANK and $A(5) NE BLANK
THEN - RELOCATE cursor to $A(6) (*RL6)
endif;
IF $A(7) EQ BLANK and $A(8) NE BLANK
THEN - RELOCATE cursor to $A(7) (*RL7)
endif;
IF $A(8) EQ BLANK and $A(7) NE BLANK
THEN - RELOCATE cursor to $A(8) (*RL8)
endif;
IF $A(9) EQ BLANK and $A(10) NE BLANK
THEN - RELOCATE cursor to $A(9) (*RL9)
endif;
IF $A(10) EQ BLANK and $A(9) NE BLANK
THEN - RELOCATE cursor to $A(10) (-*RL10)
endif;
IF SWCH EQ 'OFF'
THEN - RELOCATE cursor to first SYSMAN2 (*RL11)
endif;
endproc EXIT-FOR-RESTART
PROC EXIT-FOR-MORE
VOPRINT '*C' clears menu
VOPRINT '*Il,E PRCATRSF' establishes value in $A(l)
VOPRINT '*+B' big buffer
VOPRINT '*RL2' relocate cursor to $A(2)
endproc EXIT-FOR-MORE
PROC EXIT-FOR-NOMORE
VOPRINT
'*-F'
exit format mode
VOPRINT
'*C'
clear entire screen
endproc EXIT-FOR-NOMORE
endproc PRCATRSF
4.3.6 PRNTEPRG - NOT-TO-EXCEED PURGE
When an employee's reassignment is anticipated or planned, the receiv-
ing organization can request that employee's record from the owning
organization. The owning organization will pass this data via the
PRCATRSF procedure (Component Access Transfer). A Purge Date must
Approved F15/~ NA~I~j-SRR2?,00893ROO020006000961
Approved F Wgi~1bb51( A/ ti'61A- P(6' 0893R00b40b@]Bb0bt8f
also be passed with the data. If the employee actually transfers, an
INTERFACE transaction will officially move the individual from one or-
ganization to another. However, if the employee does not move, the
PRNTEPRG procedure will be used to purge the record from the Security
Matrix (SEGACCESS) file of the receiving organization when the Purge
Date is reached. See flow diagram in Figure 9 of the Appendix.
Proc Name : PRNTEPRG
Language Used: GIM POL
Initiated By : Monthly process by DBCC
Frequency of
Execution : Monthly
Input : System Date
Output : List of SYSMAN2, SSNOR, PRGDTE,
purged data,
(PRNTEPRG Report)
The PRNTEPRG procedure will be used to purge records from the
SEGACCESS files. The various components can purge records using the
PRCATRSF (limited use) or PRACCUPDT procedures. However, if this is
not done the PRNTEPRG procedure will purge all records with a Purge
Date LE to the System Date. When a SEGACCESS segment has a Purge Date
LE to the System Date a purge statement will be produced and executed
for that segment.
EX: For (SEGACCESS Active segment) with PRGDTE LE
'System Date' delete.
For (SEGACCESS Separated segment) with PRGDTE LE 'System Date'
with present PRIMSEPDTE delete.
No menu will be required for this procedure. The procedure will be
initiated by issuing the following command:
Approved ~2
UTTAT 5108/ FNAC~I~ftpP$NR0893R000200060006-1
Approved ~ W~'O~k Tidb5i/b~N I KDPbbYO0893R08626?10$06bt31
This procedure will use the following statement to purge all SEGACCESS
Segments of the SSNOR with a Purge Date LE System Date.
EX: For (SEGACCESS Active segment) with PRGDTE LE '(System
Date)' delete.
For (SEGACCESS Separated segment) with PRGDTE LE '(System
Date)' with present PRIMSEPDTE delete.
This procedure will also produce the PRNTEPRG Report which lists all
data purged. The report will be produced for the PRIM Data Base Man-
ager via REPORTW (See Report Section). xxx PRNTEPRG
This procedure will use the REPORTW verb against each SEGACCESS active
and separated segment (for all Component Signon ORGs) to produce a
2-part report for each Component. The report will list all data to be
purged from the Component's SEGACCESS file (SYSMAN2+A (active),
SYSMAN2+S (separated)). After the report has been produced, a delete
statement will be issued against the active and separated segments to
purge the data.
The file name and the Text field of the segments will be acquired
from the SELECTION file which also has a segment for each Component
SYSMAN2.
DEC PRNTEPRG
$A single dimensional array to hold SELECTION IDs
$AM count of filled $A arrays
ALVL level of $A array
SDATE value current date YYMMDD
$B single dimensional array to hold SELECTION TEXT
$BM count of filled $B arrays
IDENT used to store 'type of segment' for report
header
INSRZ1 used to hold organizational text for report
header
RPTCNT count of reports produced (2 per Signon ORG)
STMT1A used to build main body of the format
STMT1B statement before specifics pertaining to the
STMT1C organization is added.
STMT1D
STMT2 used to store finished format statement.
Approved ~ ~e s V~5/ g?NAC~IAU DP0?2p0893R0002000600OR-1
Approved ~or ell aii'k&/RT6i''b UWDOg> Y00893R0d'd2d6766t068g~1
STMT3 used to hold deletion statement.
enddec PRNTEPRG PROC PRNTEPRG
GET all SELECTION DLIDs through master
FOR SELECTALL ACQUIRE
DO for all SELECTION records
GET DLID (use NEXT)
$A = $W
GET SLTEXT (use GFAV)
$B=$W
IF $BM NE $AM
THEN - $B = $A(ALVL)//' NO TEXT AVAILABLE'
endif;
enddo;
Build main body of format statements. Leave places for
inserting organizational name, and report type.
DO UNTIL ALVL EQ $AM
RPTCNT = 1
DO WHILE RPTCNT LE 2
IDENT = Type of report being processed.
First pass - Active segment
Second Pass - Separated segment
INSRZ1 = Filename (Value from $A concatinated with
'A' in first pass, and with 'S' in second pass)
Build format statement
FORMAT P'60,131' H'$61,SECRET'
'Report of data requiring purging
from the //IDENT// for //$B(ALVL)'
F '$61,SECRET'; FOR //INSRZ1//
WITH SAPRGDTE LE //SDATE//
REPORTW SSNOR = //INSRZ1// 'L9,,Al'
NAME = PERNANEOR : 'L20'
SEGMENT-ACCESS-DATE = SADTE : 'L19'
PURGE-DATE = SAPRGDTE : 'L10'
FOR //INSRZ1// WITH SAPRGDTE LE '&SDATE'
DELETE
RPTCNT = RPTCNT + 1
enddo;
ALVL = ALVL + 1
enddo;
endproc PRNTEPRG
Approved ~1M%5/2iNACID~R>E0893R00020006000991
Approved *8VkbG I &BB 6i AblASk 8Y 00893R6&2 60'dg 1
4.3.7 PRINTPRG - INTERFACE PURGE
This procedure will be used to purge interface data from the PRIM
INTERFACE file. When INTERFACE data is received from HRS2, the
PRCHGLOAD procedure is used to analyze the data, make necessary up-
dates to the PRIM PERSIGN or PRIMSEP file, create an INTERINDX record
with a purge date (INPURGE = RUNDATE + 30), and add a record to the
PRIM INTERFACE file. This procedure will scan the PRIM INTERINDX file
and delete the INTERINDX and INTERFACE records with a purge date
(INPURGE) LE the System Date. See flow diagram in Figure 10 of the
Appendix.
Proc Name : PRINTPRG
Language Used: GIM POL
Frequency Of
Execution : Monthly
Initiated By : Monthly process by DBCC
Input : System Date
INTERINDX
INTERLINK (Dl)
INPURGE (D2)
Output : All items associated with the purge
date (INPURGE) will be removed from
the INTERINDX and PRIM INTERFACE
files.
4.3.7.3 FUNCTIONAL REQUIREMENTS
When data is added to the PRIM INTERFACE file, a link record will also
be created in the INTERINDX file. The INTERINDX file will use the
SSNOR as the DL/ID and any INTERFACE actions associated with that
SSNOR will be entered by INTERFACE DL/ID (RUNDATE*TIME*STMT) into the
INTERLINK field. The Purge Date (INPURGE) will be entered as D2s un-
der INTERLINK.
No menu will be required for this procedure. The following statement
will initiate the procedure: E PRINTPRG
Approved Fgn foR fg, 5/ ~~ ftIPt7 pPR)p0893R00020006004go
Approved F ~I6 T1b'ST( i/ 6iA-WbA L-60893R00b10bM'O0bVi
The PRINTPRG procedure will purge the PRIM INTERFACE file data with
the following statement:
FOR INTERFACE WITH INPURGE NE 'system date' DELETE INTERFACE/
The INTERINDX file data will be analyzed and purged using the follow-
ing decision formula:
If INTERINDX SSNOR has only one Dl and INPURGE LE System Date
or has many Dls all with INPURGE LE System Date
then - delete INTERINDX record
endif;
If INTERINDX SSNOR has more than one D1 and some INPURGE LE System
Date
then - delete INTERLINK when INPURGE LE System Date
endif;
4.3.7.6 GENERAL PROGRAM CONSIDERATIONS
The PRINTPRG procedure will delete INTERFACE records that are 30 days
old. A span from INTERFACE to the INTERINDX file will be used to de-
lete the INTERFACE record when the INTERINDX INPURGE date has been
reached or passed. After the INTERFACE records are deleted, the asso-
ciated INTERINDX record will also be deleted.
4.3.7.7 DETAILED PROGRAM SPECIFICATIONS
DEC PRINTPRG
BLANK value
DATE value current date YYMMDD
GDATE value current date - GIM format NNNN
(N denoting a numeric character)
INTERINDX
INPURGE used via Span from INTERFACE
DCNT value 0 (count of items to delete)
DTECNT value 0 (count of dates checked)
ID buffer for current INTERINDX DLID
INDTE INPURGE date being checked
LNK INTERLINK of INPURGE being checked
$A buffer area to contain all delete
statements to be executed
ALVL level of $A array
$AM count of used $A arrays
DLNK INTERLINKs to delete
enddec PRINTPRG
Approved f ,?IIap5/ O?NAC~I~ pP0pp 0893R0002000600006-1
Approved F~8 1 ~ ( /b 1AU b 0893RD( k ( DMA
FOR INTERINDX WITH INPURGE LE '&DATE'
ACQUIRE
If no data found
THEN print message (no data found for purge)
EXIT PRINTPRG
DO for all records found in SCAN
GET record DLID
ID = $QM//$W//$QM
DO for all INTERLINK values for DLID
GET INTERLINK (use GFAV or GNAV)
LNK = $W
GET INPURGE (use GCAV)
INDTE = $W
IF INDTE LE DATE
THEN
DO (INTERLINK and INTERFACE should be deleted)
DLNK = DLNK//$QM//LNK//$QM
DCNT = DCNT + 1
enddo;
endif;
DTECNT = DTECNT + 1
enddo;
IF DTECNT EQ DCNT
THEN (entire INTERINDX record can be deleted)
$A = 'DELETE INTERINDX '//ID
ELSE (only INTERLINK in DLNK can be deleted)
$A = 'DELETE INTERINDX '//ID//' INTERLINK '//DLNK
endif;
IF DLNK NE ' '
THEN (INTERFACE record may be deleted)
$A = 'DELETE INTERFACE '//DLNK
ELSE;
endif;
ID = BLANK
LNK = BLANK
INDTE = BLANK
DCNT = 0
DTECNT = 0
enddo;
DO UNTIL ALVL EQ $A (execute statement in $A array)
DO &($A(ALVL))
enddo;
ALVL = ALVL + 1
enddo;
endproc PRINTPRG
Approved ~g f#R~RR 5/p#%~IAGTP -P0893R0002000600gt21
Approved ~Wr'OJkWi665kilbLN Ik Dk8YO0893R0bb2bbbt0b31
4.3.8 PRACCUPDT - ACCESS UPDATE
4.3.8.1 PURPOSE
This procedure will be used by the various components to make changes
to their SEGACCESS segments. The components will be able to change
PRGDTE, add SSNORs needed to link to their component file (Release 2),
and delete SSNORs which were passed from another component but are no
longer needed. See flow diagram in Figure 10 for the Appendix.
Proc Name : PRACCUPDT
Language Used: GIM POL
Frequency Of
Execution : Random per component need
Initiated by : Individual Components
Input : SSNOR
STATUS
Purge Date
OWNCODE (Release 2)
Output : Deletes or adds PRGDTE
and/or SSNOR to file
4.3.8.3 FUNCTIONAL REQUIREMENTS
This procedure will be used by a component to update it's personal
SEGACCESS files. Because the SEGACCESS file ID is the same as the
Signon SYSMAN2 ID, this procedure will use the Signon SYSMAN2 to de-
termine the SEGACCESS file to be updated (SYSMAN2+A for Active,
SYSMAN2+S for Separated). If a component has received an employee's
record from another component and wants to change the Purge Date
(PRGDTE) or delete the record entirely, this procedure will be used.
If the SSNOR had not been previously entered into the SEGACCESS file
via the PRCALINK or the PRCATRSF procedure, the component can use
PRACCUPDT to enter the SSNOR in the file (SYSMAN2+C) used to link to
their component file. This will allow a component to enter an SSNOR
on an employee or applicant in their component file but will not allow
that component access to the Official Data for that SSNOR.
This procedure will utilize the following menu which will be stored in
the MENU-FORMATS file.
E PRACCUPDT (Access Update)
Approved fffI~g errvz5/ / :A~ItADg 00893R0002000600p~31
Approved Vk~W I &BJ l ~6IX tDW-00893Robb2 6 1
Action:
(A) Add (C) Change Purge Date (D) Delete (R) Retrieve (X) Exit
SSNOR STATUS PURGE DATE OWNERSHIP
(A/S/C) (YYMMDD)
MENU ITEM DESCRIPTION
(R)
ACTION
Action to be done (A,C,D,R,X) (LA01)
(R)
SSNOR
Social Security Number
(LA09)
(R/0) STATUS
Active,Separated,Component
(LA01)
(0)
Purge Date
Removal from System (YYMMDD)
(LN06)
(0)
Ownership
Ownership of Record
(LA01)
If Action = 'X'
then - exit the procedure.
endif;
If Action = 'R' and present SSNOR(s)
then - leave data on menu
- retrieve data
If Action = 'A', 'C'
or 'D'
and
null SSNOR or null STATUS
then - error message (SSNOR
and
STATUS must be entered)
else -
SEGACCESS =
SEGACCESS =
SEGACCESS =
SYSMAN2+A
SYSMAN2+S
SYSMAN2+C
for
for
for
Active record
Separated record
Component record
Approved FM 1 %5/ RNACLI~T POR~~D0893R00020006004g41
Approved Fg ~11bMT( WbY%f4- P%' 0893R00 0b6b0
If Action = 'A' and present SSNOR and STATUS = 'C'
then - CSDTE = Current Date (generated by procedure)
- build add statement to add SSNOR(s) to (SYSMAN2+C)
with SDTE, PRGDTE, and OWNCODE
endif;
If Action = 'C' and present SSNOR, STATUS and present Purge :Date
then - build statement to change Purge Date in SEGACCESS file
SYSMAN2+A PRGDTE (Active) for SSNOR(s) with STATUS = 'A'
- build statement to change Purge Date in SEGACCESS file
SYSMAN2+S PRGDTE (Separated) for SSNOR(s) with
STATUS = 'S'
- build statement to change Purge Date in SEGACCESS file
SYSMAN2+C PRGDTE (Component) for SSNOR(s) with
STATUS = V. If Ownership field present on menu with
STATUS = 'C' add ownership value to OWNCODE.
endif;
If Action = 'D' and present SSNOR and present STATUS
then - build statement to delete SSNOR(s) with STATUS = 'A' from
(SYSMAN2+A) when SDTE NE current date ($ODATEG)
- build statement to delete SSNOR(s) with STATUS = 'S' from
(SYSMAN2+S) when SDTE NE current date ($ODATEG)
- build statement to delete SSNOR(s) with STATUS = 'C' from
(SYSMAN2+C)
endif;
4.3.8.6 GENERAL PROGRAM CONSIDERATIONS
The PRACCUPDT procedure will be used by the Component to extend the
purge date of SSNORs passed from another Component, extend the purge
date of an employee's SSNOR who has left that Component, remove the
SSNOR entirely or add the SSNOR to the Component link segment. Each
record must be verified before it can be deleted.
In Release 2, Component files will be added to the PRIM data
base. Before an SSNOR can be added to a Component's file, it must be
present in one of the Component's SEGACCESS official data link files
(SYSMAN2+A or SYSMAN2+S). If the SSNOR is not present in either of
those files, it must be added to the Component data link file
(SYSMAN2+C) via the PRACCUPDT procedure. Adds can only be done
against Component files. SSNOR cannot begin with a '6', '8', '90',
',91', '92', '95', '96', or '97'.
DEC PRACCUPDT
BLANK value
$A single dimensional arrays
$A(2) Action value
Approved f f
081 2 JNACLIAUS DPRR P0893R0002000600?g51
16 INNI-I (105/
Approved FA~~1
i~iiaT2T0 5166'IYN&PA bP%
b0893R00 }32azttoWi
$A(3)
1st
SSNOR
$A(4)
1st
SSNOR
Status
$A(5)
1st
SSNOR
Purge Date (SAPRGDTE)
$A(6)
1st
SSNOR
Ownership Code (SAOWNCODE)
$A(7)
2nd
SSNOR
$A(8)
2nd
SSNOR
Status
$A(9)
2nd
SSNOR
Purge Date (SAPRGDTE)
$A(10)
2nd
SSNOR
Ownership Code (SAOWNCODE)
$A(11)
3rd
SSNOR
$A(12)
3rd
SSNOR
Status
$A(13)
3rd
SSNOR
Purge Date (SAPRGDTE)
$A(14)
3rd
SSNOR
Ownership Code (SAOWNCODE)
$A(15)
4th
SSNOR
$A(16)
4th
SSNOR
Status
$A(17)
4th
SSNOR
Purge Date (SAPRGDTE)
$A(18)
4th
SSNOR
Ownership Code (SAOWNCODE)
$A(19)
5th
SSNOR
$A(20)
5th
SSNOR
Status
$A(21)
5th
SSNOR
Purge Date (SAPRGDTE)
$A(22)
5th
SSNOR
Ownership Code (SAOWNCODE)
$A(23)
6th
SSNOR
$A(24)
6th
SSNOR
Status
$A(25)
6th
SSNOR
Purge Date (SAPRGDTE)
$A(26)
6th
SSNOR
Ownership Code (SAOWNCODE)
STATSW
value established in ADDCASE
LOCATE
value established in CKCASE
enddec PRACCUPDT
PROC PRACCUPDT (User Update of Access Date)
READ menu values into $A single demensional arrays
IF $A(2) EQ 'X' (Exit the Menu)
THEN - RUN EXIT-FOR-NOMORE
endif;
IF $A(2) EQ BLANK or ($A(2) NE 'A' and $A(2) NE 'C' and
$A(2) NE 'D' and $A(2) NE 'R')
THEN - PRINT message stating valid Action required
- RUN EXIT-FOR-RESTART
ELSE
IF $A(3) EQ BLANK and $A(7) EQ BLANK
and $A(11) EQ BLANK and $A(15) EQ BLANK
and $A(19) EQ BLANK and $A(23) EQ BLANK)
THEN - PRINT message stating SSNOR is a required field
- RUN EXIT-FOR-RESTART
endif;
endif;
IF $A(2) EQ 'R' (Retrieve current Access Links)
THEN - RUN CKCASE
IF LOCATE NE 0
THEN - RUN EXIT-FOR-RESTART
endif;
Approved "5fRR~ACLI~~?E~p0893R00020006009~61
Approved R W RU& OM 4t; IA O OO893R0bb 01
- RUN RCASE
- RUN EXIT-FOR-MORE
endif;
IF $A(2) EQ 'A' and ($A(4) EQ 'C'
$A(12) EQ 'C' or $A(16) EQ 'C'
$A(24) EQ 'C')
THEN - RUN CKCASE
IF LOCATE NE 0
THEN RUN EXIT-FOR-RESTART
ELSE - RUN ADDCASE
IF STATSW EQ 'ON'
THEN - RUN EXIT-FOR-RESTART
ELSE - RUN EXIT-FOR-MORE
endif;
endif;
endif;
or $A(8) EQ 'C' or
or $A(20) EQ 'C' or
IF $A(2) EQ 'C' (Change Purge Date)
THEN - RUN CKCASE
IF LOCATE NE 0
THEN - RUN EXIT-FOR-RESTART
endif;
- RUN CCASE
- RUN EXCASE
- RUN EXIT-FOR-MORE
endif;
IF $A(2) EQ 'D' (Delete SSNOR if SADTE not Current)
THEN - RUN CKCASE
IF LOCATE NE 0
THEN - RUN EXIT-FOR-RESTART
endif;
- RUN DCASE
- RUN EXCASE
- RUN EXIT-FOR-MORE
DEC ADDCASE
STATSW value 'OFF'
STMT
STMT1
SEGMENT
TDATE
ALVL
value 'ON' if STATUS NE 'C'
buffer area for add statement
buffer area for 1st part of statement
$UNAME1
buffer area for date
value 3
$A(3)
1st
SSNOR
$A(4)
1st
SSNOR
Status
$A(5)
1st
SSNOR
Purge Date (SAPRGDTE)
$A(6)
1st
SSNOR
Ownership Code (SAOWNCODE)
$A(7)
2nd
SSNOR
$A(8)
2nd
SSNOR
Status
$A(9)
2nd
SSNOR
Purge Date (SAPRGDTE)
$A(1O)
2nd
SSNOR
Ownership Code (SAOWNCODE)
Approved For Release e 2005/08/02 : CIA RDP88 OO893ROOO2OOO6OO06-1
Approved*6i
;&A;Ii( O'gM~4iATCI fk&64-00893Rd6026b66d8663-1
$A(11)
3rd
SSNOR
$A(12)
3rd
SSNOR
Status
$A(13)
3rd
SSNOR
Purge Date (SAPRGDTE)
$A(14)
3rd
SSNOR
Ownership Code (SAOWNCODE)
$A(15)
4th
SSNOR
$A(16)
4th
SSNOR
Status
$A(17)
4th
SSNOR
Purge Date (SAPRGDTE)
$A(18)
4th
SSNOR
Ownership Code (SAOWNCODE)
$A(19)
5th
SSNOR
$A(20)
5th
SSNOR
Status
$A(21)
5th
SSNOR
Purge Date (SAPRGDTE)
$A(22)
5th
SSNOR
Ownership Code (SAOWNCODE)
$A(23)
6th
SSNOR
$A(24)
6th
SSNOR
Status
$A(25)
6th
SSNOR
Purge Date (SAPRGDTE)
$A(26)
6th
SSNOR
Ownership Code (SAOWNCODE)
enddec ADDCASE
STMT1 = 'ADD '//SEGMENT//'C' (1st part of add statement)
DO for all SSNORs on menu
IF $A(ALVL+l) EQ 'C'
THEN - TDATE = $QM//$ODATEA($DATEG)//$QM
- STMT=STMT//$QM//$A(ALVL)//$QM//' SADTE '//TDATE
IF $A(ALVL+2) NE BLANK
THEN - TDATE = $QM//$A(ALVL+2)//$QM
- STMT=STMT//' SAPRGDTE '//TDATE
ELSE - TDATE = $QM//$ODATEA($DATEG + 30)//$QM
- STMT=STMT//' SAPRGDTE '//TDATE
endif;
IF $A(ALVL+3) NE BLANK
THEN STMT=STMT//' SAOWNCODE '//$QM//$A(ALVL+3)//$QM
endif;
ELSE STATSW = 'ON'
endif;
IF &STMT NE BLANK
THEN
DO execute created statement
&STMT1 &STMT
enddo;
endif;
ALVL = ALVL + 4
enddo;
IF STATSW EQ 'ON'
THEN PRINT message stating only Status 'C
items have been added
endif;
endproc ADDCASE
Approved FAc e} eA S/4 N l pP $0893R0002000600gf~~
Approved F6P ~ii5~'i0Y' /06ffi~UA-KU'P b893RO0 ( 3
BLANK value ' '
SEGMENT $UNAME1
TSEGMENT current segment value
TDATE buffer area for date
$B single dimensional array
$BM
$BC
ALVL
$A
hold change statements
count of used $B arrays
current $B array
value 3
single dimensional
$A(3)
1st
SSNOR
$A(4)
1st
SSNOR
Status
$A(5)
1st
SSNOR
Purge Date (SAPRGDTE)
$A(6)
1st
SSNOR
Ownership Code (SAOWNCODE)
$A (7)
2nd
SSNOR
$A(8)
2nd
SSNOR
Status
$A(9)
2nd
SSNOR
Purge Date (SAPRGDTE)
$A(10)
2nd
SSNOR
Ownership Code (SAOWNCODE)
$A(11)
3rd
SSNOR
$A(12)
3rd
SSNOR
Status
$A(13)
3rd
SSNOR
Purge Date (SAPRGDTE)
$A(14)
3rd
SSNOR
Ownership Code (SAOWNCODE)
$A(15)
4th
SSNOR
$A(16)
4th
SSNOR
Status
$A(17)
4th
SSNOR
Purge Date (SAPRGDTE)
$A(18)
4th
SSNOR
Ownership Code (SAOWNCODE)
$A(19)
5th
SSNOR
$A(20)
5th
SSNOR
Status
$A(21)
5th
SSNOR
Purge Date (SAPRGDTE)
$A(22)
5th
SSNOR
Ownership Code (SAOWNCODE)
$A(23)
6th
SSNOR
$A(24)
6th
SSNOR
Status
$A(25)
6th
SSNOR
Purge Date (SAPRGDTE)
$A(26)
enddec CCASE
6th
SSNOR
Ownership Code (SAOWNCODE)
DO UNTIL ALVL EQ 23
IF $A(ALVL) NE BLANK AND $A(ALVL+l) EQ 'A'
THEN - TSEGMENT = SEGMENT//'A'//$qm//$A(ALVL)
//$qm
endif;
IF $A(ALVL) NE BLANK AND $A(ALVL+1) EQ 'S'
THEN - TSEGMENT = SEGMENT//'S'//$qm//$A(ALVL)
//$qm
endif;
IF $A(ALVL) NE BLANK AND $A(ALVL+l) EQ 'C'
THEN - TSEGMENT = SEGMENT//'C'//$qm//$A(ALVL)
//$qm
endif;
Approved gsA(~_RLQ5/08/02 : CIA-RDP88-00893R000200060006-1
INTERNAL USE ONLY 109
Approved l~8Pkiiai6T2 516bI ~tIAUFkrD b0893ROQ'032( 0( 1
IF $A(ALVL+l) EQ 'A' OR $A(ALVL+l) EQ 'S'
THEN - TDATE = $QM//$ODATEA($DATEG)//$QM
- $B='FOR '//TSEGMENT//' WITH SADTE NE '//
TDATE//' OR WITH NULL SADTE CHANGE
SAPRGDTE TO '//$QM//$A(ALVL+2)//$QM
endif;
IF $A(ALVL+1) EQ 'C' AND $A(ALVL+2)
NE BLANK
THEN - $B = 'FOR '//TSEGMENT//' CHANGE
SAPRGDTE TO '//$QM//$A(ALVL+2)//$QM
IF $A(ALVL+3) NE BLANK
THEN - $B($BC)=$B.($BC)//' SAOWNCODE TO
$QM//$A(ALVL+3)//$QM
endif;
endif;
ALVL = ALVL + 4
enddo;
endproc CCASE
DEC DCASE
SEGMENT $UNAME1
TSEGMENT current segment value
$B
single dimensional array to
hold change statements
ALVL value 3
$A single dimensional array
$A(3)
1st
SSNOR
$A(4)
1st
SSNOR
Status
$A(7)
2nd
SSNOR
$A(8)
2nd
SSNOR
Status
$A(11)
3rd
SSNOR
$A(12)
3rd
SSNOR
Status
$A(15)
4th
SSNOR
$A(16)
4th
SSNOR
Status
$A(19)
5th
SSNOR
$A(20)
5th
SSNOR
Status
$A(23)
6th
SSNOR
$A(24)
6th
SSNOR
Status
enddec DCASE
DO UNTIL ALVL EQ 23
IF $A(ALVL) NE BLANK AND $A(ALVL+l) EQ 'A'
THEN - TSEGMENT = SEGMENT//'A'//$qm//$A(ALVL)
//$qm
endif;
IF $A(ALVL) NE BLANK AND $A(ALVL+1) EQ 'S'
THEN - TSEGMENT = SEGMENT//'S'//$qm//$A(ALVL)
//$qm
endif;
Approved FA%Fo~"R.125/QR/&NRIAP$0893R000200060011~-01
Approved #Wi Wik~"i665ki/kNA6IN D 8Y00893R0bb2b
IF $A(ALVL) NE BLANK AND $A(ALVL+l) EQ 'C'
THEN - TSEGMENT = SEGMENT//'C'//$qm//$A(ALVL)
//$qm
endif;
IF $A(ALVL+1) EQ 'A' OR $A(ALVL+l) EQ 'S'
OR $A(ALVL+1) EQ 'C'
THEN - $B = 'DELETE '//TSEGMENT//$QM//$A(ALVL)//$QM
endif;
ALVL = ALVL + 4
enddo;
endproc DCASE
DEC CKCASE
BLANK
ALVL
LOCATE
$A
value
value 3
value 0
single dimensional array
$A(3)
1st
SSNOR
$A(4)
1st
SSNOR
Status
$A(5)
1st
SSNOR
Purge Date (SAPRGDTE)
$A(6)
1st
SSNOR
Ownership Code (SAOWNCODE)
$A(7)
2nd
SSNOR
$A(8)
2nd
SSNOR
Status
$A(9)
2nd
SSNOR
Purge Date (SAPRGDTE)
$A(10)
2nd
SSNOR
Ownership Code (SAOWNCODE)
$A(11)
3rd
SSNOR
$A(12)
3rd
SSNOR
Status
$A(13)
3rd
SSNOR
Purge Date (SAPRGDTE)
$A(14)
3rd
SSNOR
Ownership Code (SAOWNCODE)
$A(15)
4th
SSNOR
$A(16)
4th
SSNOR
Status
$A(17)
4th
SSNOR
Purge Date (SAPRGDTE)
$A(18)
4th
SSNOR
Ownership Code (SAOWNCODE)
$A(19)
5th
SSNOR
$A(20)
5th SSNOR Status
$A(21)
5th
SSNOR
Purge Date (SAPRGDTE)
$A(22)
5th
SSNOR
Ownership Code (SAOWNCODE)
$A(23)
6th
SSNOR
$A(24)
6th
SSNOR
Status
$A(25)
6th
SSNOR
Purge Date (SAPRGDTE)
$A(26)
6th
SSNOR
Ownership Code (SAOWNCODE)
enddec CKCASE
DO UNTIL ALVL EQ 23 or LOCATE NE 0
IF $A(ALVL) NE BLANK AND $A(ALVL+l) EQ BLANK
THEN - LOCATE = ALVL+l
- PRINT msg (status is required)
endif;
ALVL = ALVL + 4
enddo;
Approved fD&?sA~LQ5RTLQAFI~Dg8Y00893R000200060006 1
Approved 0;~WJIi Tid6'S/b'/6ih~ kbObbYO0893R0662b?t)606bt31
endproc CKCASE
DEC EXCASE
BLVL value 1
$B single dimensional array
containing created statements
$BM count of used $B arrays
enddec EXCASE
DO UNTIL BLVL EQ $BM
&($B(BLVL)) (Execute all statement)
BLVL = BLVL + 1
enddo;
endproc EXCASE
DEC RCASE
ALVL value 3
SEGMENT $UNAME1
TSEGMENT current segment value
HOLD temporary hold area for SAPRGDTE
$A single dimensional array
enddec RCASE
DO UNTIL ALVL EQ 23
IF $A(ALVL) NE BLANK
THEN - TSEGMENT = SEGMENT//$A(ALVL+1)//$QM
//$A(ALVL)//$QM
- FOR &TSEGMENT ACQUIRE SAPRGDTE SAOWNCODE
- get SAPRGDTE (use GFAV)
- HOLD = $W
VOPRINT '*I'//$ALF(ALVL+2)//','//HOLD
IF $A(ALVL+l) EQ 'C'
THEN - get SAOWNCODE (use GFAV)
- VOPRINT '*I'//$ALF(ALVL+3)//','//$W
endif;
endif;
ALVL = ALVL + 4
enddo;
endproc RCASE
DEC EXIT-FOR-RESTART
$A single dimensional arrays
$A(2)
Action value
$A(3)
1st
SSNOR
$A(4)
1st
SSNOR
Status
$A(5)
1st
SSNOR
Purge Date (SAPRGDTE)
$A(6)
1st
SSNOR
Ownership Code (SAOWNCODE)
$A(7)
2nd
SSNOR
$A(8)
2nd
SSNOR
Status
$A(9)
2nd
SSNOR
Purge Date (SAPRGDTE)
Approved f&[,""W?995/R/:AgIFDFO0893RO002000600pp21
Approved A9
ll 25ii6 5/6b tiAUi2b7 ' b0893R06032 40
$A(10)
2nd
SSNOR
Ownership Code (SAOWNCODE)
$A(11)
3rd
SSNOR
$A(12)
3rd
SSNOR
Status
$A(13)
3rd
SSNOR
Purge Date (SAPRGDTE)
$A(14)
3rd
SSNOR
Ownership Code (SAOWNCODE)
$A(15)
4th
SSNOR
$A(16)
4th
SSNOR
Status
$A(17)
4th
SSNOR
Purge Date (SAPRGDTE)
$A(18)
4th
SSNOR
Ownership Code (SAOWNCODE)
$A(19)
5th
SSNOR
$A(20)
5th
SSNOR
Status
$A(21)
5th
SSNOR
Purge Date (SAPRGDTE)
$A(22)
5th
SSNOR
Ownership Code (SAOWNCODE)
$A(23)
6th
SSNOR
$A(24)
6th
SSNOR
Status
$A(25)
6th
SSNOR
Purge Date (SAPRGDTE)
$A(26)
6th
SSNOR
Ownership Code (SAOWNCODE)
BLANK
value
' '
enddec EXIT-FOR-RESTART
IF $A(2) EQ BLANK or ($A(2) NE 'A' and $A(2) NE 'C' and
$A(2) NE 'D' and $A(2) NE 'R' and $A(2) NE 'X')
THEN - PRINT MESSAGE VALID ACTION REQUIRED
RELOCATE cursor to Action (*RL2)
ELSE
IF $A(3) EQ BLANK AND $A(7) EQ BLANK AND
$A(11) EQ BLANK AND $A(15) EQ BLANK AND
$A(19) EQ BLANK AND $A(23) EQ BLANK
THEN - RELOCATE cursor to Access Segment (*RL3)
endif;
IF LOCATE NE 0
THEN - PRINT MESSAGE STATING SSNOR AND STATUS
ARE REQUIRED FIELDS AND PURGE DATE IS A
REQUIRED FIELD FOR 'C'
- RELOCATE CURSOR TO $A(LOCATE)
' *RL' // $A (LOCATE )
- LOCATE = 0
endif;
endif;
endproc EXIT-FOR-RESTART
PROC EXIT-FOR-MORE
VOPRINT '*C' clears menu
VOPRINT '*Il,E PRACCUPDT' establishes value in $A(1)
VOPRINT ' :;+B' big buffer
VOPRINT '*RL2' relocate cursor to $A(2)
endproc EXIT-FOR-MORE
PROC EXIT-FOR-NOMORE
VOPRINT '*-F' exit format mode
VOPRINT '*C' clear entire screen
endproc EXIT-FOR-NOMORE
i
Approved AM ~~/~ I MR USI: PONLY 0893R000200060006 31
Approved P$i4g 11 b hff 6X t&W00893R 2 60 1
endproc PRACCUPDT
4.3.9 PRCALINK - PRIM LINKS CREATED DAILY BY COMPONENT
4.3.9.1 PURPOSE
This procedure establishes the links for the initiating Signon Org to
the Official Data files, ORGCODE file, POSNR file, and the Separated
Data file (PRIMSEP). The procedure is activated at the time of Signon
but will only perform the link-building function when the first Signon
is done for an ORG. All SSNORs to be made available to the ORG initi-
ating the Signon will be added to the ORGCODE and POSNR files if the
user requests it. These links are stored in the ORG's SELECTION seg-
ment file where the Selection Criteria also is stored. The ORGCODE
and POSNR links will be created on the weekend but the user can re-
quest a new link creation at
flow diagram in Figure 11 of
Signon time with this
the Appendix.
procedure. See
Proc Name
:
PRCALINK
Language
Used:
GIM POL
Frequency
Of
Execution
Daily, the first time a
Signon
is initiated against an
ORG.
Input
Signon ORG's SELECTION
file
Selection Criteria
SLOLNKDTE
SLLNKDTE
PERSIGN (XBRIDGE will trigger appropriate
index)
PERSD
PERAORG
PEROCCE
PERSCCE
PRIMSEP (XBRIDGE will trigger appropriate
index)
PERSD
PERAORG
PEROCCE
PERSCCE
INDEX files (For active data)
SDINDX SDSSN
ORGINDX ORGSSN
OCCEINDX OCCESSN
SCCEINDX SCCESSN
INDEX files (For separated data)
Approved FAQ- Iles q 5/q~%NRAT?PPMCg0893R0002000600%1
Approved FWkgf 6Wi6bb (3&&PltfA- PW40893RO04).20 bOMI
SSDINDX SSDSSN
SORGINDX SORGSSN
SOCCEINDX SOCCESSN
SSCCEINDX SSCCESSN
Output : Current links created for the initiating
ORG to Official, Separated and INTERFACE data
4.3.9.3 . FUNCTIONAL DESCRIPTION
This procedure is triggered at Signon time by the EXECPROC element in
SYSMAN2. If the initiator is the first to sign on to that ORG that
day, the procedure will acquire the ORGs Selection Criteria from the
correct SELECT segment and with the use of INDEX files will select the
SSNORs which can be accessed by that ORG (Both Active and Separated
files). This procedure will also give the initiator the option to es-
tablish the most recent updated version of SLORGLINKs and SLPOSLINKs.
No menu will be used for this procedure. The procedure will be initi-
ated automatically at Signon time. If the link has not been built by
a previous Signon (SLOLNKDTE IN ORG'S Selection file NE current date),
the procedure will acquire Selection Criteria data from the Signon
ORG's SELECTION segment and build a copy statement against the PRIM
PERSIGN and PRIMSEP files to copy the appropriate SSNORs to the ORG's
SEGACCESS files for active data and separated data links. The copy
statement will trigger INDEX files through XBRIDGES which will elimi-
nate an end-to-end search of PRIM PERSIGN or PRIMSEP. Upon request
via prompts, the procedure will build an access link at first Signon
to ORGCODE and POSNR files if the user requests it. This link data
will be stored in the ORG's SELECTION segment and will be accessed
through that file.
Procedure Prompt: Do You Want Your ORG/POS Link Updated?
User Response
YES - create links for ORGCODE and POSNR file
- create links for Active data and Separated data
NO - create links for Active data and Separated data
The output from the PRCALINK will be the links to the PRIM PERSIGN and
PRIMSEP files. The initiator will be asked if updated links are re-
quested for ORGCODE and POSNR data.
If return from VOPREADI EQ 'NO'
ApprovedAFD rI lggRTMTRA%ALCINffQN 008938000200060006-1
IM 115
Approve&06 iii~li({ gi6Wi~ 1 k&6i-00893R6dO0 66666666-1
then - Acquire SLOLNKDTE (Official Link date) in SELECTION
file (Signon ORG)
endif;
If SLOLNKDTE LT System Date (Link not established)
then - acquire Selection Criteria for Signon ORG from
SELECTION segment.
- Build statement against PRIM PERSIGN file using
Selection Criteria (triggers INDEX files that
apply to Selection Criteria for Active data).
- use copy verb to move SSNORs into SEGACCESS
segment for Active data link (SYSMAN2+A)
with SDTE and PRGDTE (SDTE + 60).
- build statement against PRIMSEP file using
Selection Criteria (triggers INDEX files that
apply to Selection Criteria for Separated
data).
- use COPY verb to move SSNORs into SEGACCESS
segment for Separated data link (SYSMAN2+S)
with a PRGDTE (current date + 60).
- add current date to SLOLNKDTE in SELECTION file
for Signon ORG.
If return from VOPREADI EQ 'YES'
then - acquire SLLNKDTE (POS/ORG link date) in SELECTION file
If SLLNKDTE NE current date
then - acquire ORGCODE from Criteria line in the SELECTION file.
- build statement against ORGCODE file using ORGCODE from
Criteria lines.
- add ORGCODE to the SELECTION file (SLORGLINK).
- acquire SD from Criteria lines in the SELECTION file
- build statement against POSNR file using ORGCODE from
Criteria line and SD from Criteria line (with $scan POSCSD
EQ 'SD value' or with $scan POSORG EQ 'ORGCODE value')
- add POSNR to the SELECTION file (SLPOSLINK)
- add SLLNKDTE "Current Date"
endif;
endif;
This program establishes daily links for the Signon ORGs. This pro-
gram is initiated by any Signon ORG at signon time if the program name
has been entered in Sysman2 EXECPROC for the Signon ORG. Only one
signon per day per ORG will generate the daily links. The program
will check the SLOLNKDTE in the SELECTION file to verify whether the
daily link has been done.
The PRCALINK procedure will also give the Signon ORG the option
of creating new links to the POSNR and ORGLINK files. If the initia-
Approved FA R eA 55/Q IA ~P (ftP0893RO002000600q61-g
Approved F` V kT6)6 idb'g/OT&6~R i4 P?$'1CY0893R00020?0600064
tor requests new links and the SLLNKDTE is not equal to the current
date then new links will be created. Otherwise, new POSNR and ORGCODE
links are only created on weekends.
4.3.9.7 DETAILED PROGRAM SPECIFICATIONS
DEC PRCALINK
ODATE
value
0, Official link date
LDATE
value
0, POSNR/ORGCODE link date
RESPONSE
value
'NO'
value
returned from VOPREADI
SEGMENT
value
$UNAME1
STMT1
holds
message to be displayed in
the VOPREADI statement
TDATE
$DATEG (GIM date format)
$A
single dimensional array
used to hold criteria data
enddec PRCALINK
DO acquire data from SELECTION segment
FOR &SEGMENT '&SEGMENT' ACQUIRE
GET SLOLNKDTE (use GFAV)
ODATE = $W
GET SLLNKDTE (use GFAV)
LDATE = $W
DO for all SLCRITERIA values
GET SLCRITERIA (use GFAV & GNAV)
$A = $W
enddo;
enddo;
IF ODATE NE TDATE
THEN - RUN OFFLNK
endif;
IF LDATE NE TDATE
THEN
VOPREADI 'Should new POSNR/ORGCODE links be
Created (Yes or No)'//RESPONSE
RESPONSE = response from VOPREADI
IF RESPONSE EQ 'YES'
THEN - RUN OTHLNK
endif;
endif;
EXIT PRCALINK DEC OFFLNK
ALVL value 1
ApprovedAF -I j~?MQ f~WALCl~ DP88 00893R000200060006 1 117
Approved Aor1eTIJT2Tt~(5/T6j N11AU,bP~i&'y00893R0(d26
BLANK value ' '
$A single dimension array used to
hold criteria data
$AM count of filled $A arrays
SD SD value from SLCRITERIA
OCCE OCCE value from SLCRITERIA
SCHGR SCH and GRADE values from SLCRITERIA
SCCE SCCE value from SLCRITERIA
ORGCODE ORGCODE value from SLCRITERIA
SEGMENT $UNAME1
TSEGMENT current segment being updated
TDATE $DATEG
PDATE $DATEG + 60
STMT area for 'WITH' portion of statement
STMTA 1st part of Active statement(PERSIGN)
STMTS 1st part of Separated statement (PRIMSEP)
enddec OFFLNK
DO UNTIL ALVL EQ $AM
IF $SBF($A(ALVL),0,1,'%;') NE BLANK
THEN SD=$QM//$SBF($A(ALVL),0,1,'*')//$QM
endif;
IF $SBF($A(ALVL),l,l,'*') NE BLANK
THEN OCCE=$QM//$SBF($A(ALVL),1,1,'*')
endif;
IF $SBF($A(ALVL),2,1,'*') NE BLANK
THEN SCHGR=$QM//$SBF($A(ALVL),2,1,'-')
IF $SBF($A(ALVL),3,1,'*') NE BLANK
THEN SCHGR=SCHGR//$SBF($A(ALVL),3,1,'*')//$QM
endif;
IF $SBF($A(ALVL),4,1,'*') NE BLANK
THEN SCHGR=' GE '//SCHGR//' AND WITH SCHGR LE
//$QM//$SBF($A(ALVL),2,1,'*')//
$SBF($A(ALVL),4,1,'*')//$QM
endif;
endif;
IF $SBF($A(ALVL),5,1,'*') NE BLANK
THEN SCCE=$QM//$SBF($A(ALVL),5,1,'*')//$QM
endif;
IF $SBF($A(ALVL),6,1,'*') NE BLANK
THEN ORGCODE=$QM//$SBF($A(ALVL),6,1,'-;')//$QM
endif;
6COddb
Approved ~ II ski. ~~5/ ~ NA~I~-- Dg ,00893R0002000600?P81
Approved 08~I~Tai~T2V65/ T ` ld1AUfibP? YO0893R0662660606di-1
(BUILD COPY STATEMENT)
IF SD NE BLANK
THEN STMT=STMT//' WITH $SCANX(PERSD,'//SD//')'
endif;
IF OCCE NE BLANK
IF STMT NE BLANK
THEN STMT=STMT//' AND'
endif;
THEN STMT=STMT//' WITH $SCANX(PEROCCE,'//OCCE//')'
endif;
IF SCHGR NE BLANK
IF STMT NE BLANK
THEN STMT=STMT//' AND'
endif;
THEN STMT=STMT//' WITH PERSCHGR '//SCHGR
endif;
IF SCCE NE BLANK
IF STMT NE BLANK
THEN STMT=STMT//' AND'
endif;
THEN STMT=STMT//' WITH PERSCCE '//SCCE
endif;
IF ORGCODE NE BLANK
IF STMT NE BLANK
THEN STMT=STMT//' AND'
endif;
THEN STMT=STMT//' WITH $SCANX(PERORGCODE,'//ORGCODE//')'
endif;
Approved A~IINI~~TIVE5/INTERNA UPPONLY0893R0002000600R~91
Approved)D~~i~I2 051bi bbl skl? 00893Rd&2'*6(ddd-1
(EXECUTE BUILD STATEMENT AND DATE UPDATE STATEMENT)
STMTA='FOR PERSIGN
STMTS='FOR PRIMSEP
TSEGMENT = SEGMENT//'A'
&STMTA &STMT COPY REPLACE TO &TSEGMENT, PERTD TO SADTE,
PERTD TO SAPRGDTE
FOR &TSEGMENT WITH NULL SADTE AND WITH NULL SAPRGDTE
ADD SADTE '&TDATE' SAPRGDTE '&PDATE'
TSEGMENT = SEGMENT//'S'
&STMTS &STMT COPY REPLACE TO &TSEGMENT, PERTD TO SADTE,
PERTD TO SAPRGDTE
FOR &TSEGMENT WITH NULL SADTE AND WITH NULL SAPRGDTE
ADD SADTE '&TDATE' SAPRGDTE '&PDATE'
enddo;
FOR &SEGMENT '&SEGMENT' ADD SLOLNKDTE '&TDATE'
endproc OFFLNK DEC OTHLNK
ALVL current $A array being addressed
BLANK value '
LDATE value 0, POSNR/ORGCODE link date
ORGCODE ORGCODE value from SLCRITERIA
SEGMENT $UNAMEl
STMT use to build 'WITH' statement for ORGCODE
STMT1 use to build 'WITH' statement for POSNR
STMT2 use to build 'ADD' statements to add
STMTO
STMTP
TDATE
$A
$AM
$B
dates to the office file
contains first part of ORGCODE
contains first part of POSNR statement
$DATEG (GIM date format)
single dimensional array
containing all SLCRITERIA
count of filled $A arrays
single dimensional array
contains ORGCODE DLID for link
BLVL count of $B elements stored in current
$C element
$C single dimension array used to store
CLVL
$CM
$W
groups of $B elements
current $C element in use
last $C element used
current value being addressed
PROC OTHLNK
DO UNTIL ALVL EQ $AM
IF $SBF($A(ALVL),6,l,'%*') NE BLANK
Approved FAQ ~ R 514R/ R~JP P0893R0002000600Q6~~1
Approved F~9`~eNlb~ idd?A~6~R~ITA-WbP?bl&893R0062060600698f
THEN ORGCODE=$QM//$SBF($A(ALVL),6,1," ')//$QM
STMT=STMT//' WITH $SCANX(ORGCODE,'//ORGCODE//')'
STMT1=STMT1//' WITH $SCANX(POSORG,'//ORGCODE//')'
endif;
ALVL=ALVL + 1
ORGCODE = BLANK
enddo;
IF STMT EQ BLANK (No ORGCODES found)
THEN PRINT MESSAGE 'No Org Value found in Selection
Criteria - See Data Base Administrator'
EXIT PRCALINK
endif;
STMTO = 'FOR ORGCODE
&STMTO &STMT ACQUIRE
DO for all ORGCODE
GET DLID
$B = $QM//$W//$QM
IF BLVL EQ 50
THEN BLVL=O,CLVL=CLVL+l
endif;
$C(CLVL)=$C(CLVL)//$B($BC)
BLVL=BLVL+l
enddo;
(use NEXT)
(Delete previous links)
FOR &SEGMENT '&SEGMENT' DELETE SLORGLINK SLPOSLINK
DO for all $C elements used
FOR &SEGMENT '&SEGMENT' ADD SLORGLINK $C
enddo;
$B = BLANK,$C=BLANK
STMTP = 'FOR POSNR
&STMTP &STMT1 ACQUIRE
DO for all POSNR
GET DLID
$B = $QM//$W//$QM
IF BLVL EQ 50
THEN BLVL=O,CLVL=CLVL+l
endif;
$C(CLVL)=$C(CLVL)//$B($BC)
enddo;
(use NEXT)
DO for all $C elements used
FOR &SEGMENT '&SEGMENT' ADD SLPOSLINK $C
enddo;
FOR &SEGMENT '&SEGMENT' ADD SLLNKDTE '&TDATE'
endproc PRCALINK
Approved f r1RII fn J?25I08TORNALIA-RDPP88 00893R000200060006-1 U 121
Approved a I1 -5166 W6l: ~W00893Rd0b2 6'0 1
4.3.10 PRINDX - PRIM INDEXING OF DATA
4.3.10.1 PURPOSE
The PRINDX procedure is used to establish the INDEX files for Active
and Separated data. These files will normally be established once
only and updated via XBRIDGING from the PRIM PERSIGN (Active) and
PRIMSEP (Separated) files. If, however, a problem occurs with these
INDEX files, they can be re-established with this procedure. See flow
diagram in Figure 12 of the Appendix.
Program Name : PRINDX
Language Used: GIM Statements
in SYSER via DAC-STMTS POL
Frequency of
Execution : When data base is established,
re-establish INDEX files, or
incorporate a new INDEX file.
Input : SYSER
PRINDX1
PRINDX2
PRINDX3
,PRINDX4
PRINDX5
PRINDX6
PRINDX7
PRINDX8
PERSIGN
PERSD
PEROCCE
PERSCCE
PERORGCODE
PRIMSEP
PERSD
PEROCCE
PERSCCE
PERORGCODE
Output : SDINDX
SDSSN
ORGINDX
ORGSSN
OCCEINDX
OCCESSN
SCCEINDX
SCCESSN
SSDINDX
SSDSSN
SORGINDX
Approved F -,ERleas qq /qW,& ~~LA~WP#hq0893RO0020006000f2l
lblK-Aq
Approved FWik~I a 1bb3T( 6/ N64iA b &60893R00&0 0 I
SORGSSN
SOCCEINDX
SOCCESSN
SSCCEINDX
SSCCESSN
4.3.10.3 FUNCTIONAL REQUIREMENTS
This procedure will be used by the PRIM Data Base Manager or DBCC on
instructions from the Data Base Manager to re-establish the data in
the INDEX files for both Active and Separated data. This procedure
will be used to originally establish the INDEX files, re-establish the
files any time there is a question about the connections of INDEX
data, or when a new INDEX file is added to the system. This will be
done with DELETE-DATA statements to remove old INDEX values and INVERT
statements to establish new INDEX values. The statements will be
stored in SYSER records starting with PRINDX. These statements will
be stored in the order of normal execution, however, any one could be
executed alone.
This procedure will not require a menu. The following statements
which are stored in SYSER will be executed using the DAC-STMTS proce-
dure in the following format:
E
DAC-STMTS
PRINDXI
(for
SDINDX)
E
DAC-STMTS
PRINDX2
(for
ORGINDX)
E
DAC-STMTS
PRINDX3
(for
SCCEINDX)
E
DAC-STMTS
PRINDX4
(for
OCCEINDX)
E
DAC-STMTS
PRINDX5
(for
SSDINDX)
E
DAC-STMTS
PRINDX6
(for
SORGINDX)
E
DAC-STMTS
PRINDX7
(for
SSCCEINDX)
E
DAC-STMTS
PRINDX8
(for
SOCCEINDX)
Execution of this procedure will load into designated INDEX files all
SSNORs associated to that file by associated element (ex: SDINDDX file
will contain all SSNORs by SD). This process will perform the follow-
ing steps by using statements stored in SYSER file:
delete data from Active INDEX file.
load each Active INDEX file via INVERT verb.
delete data from separated INDEX file.
load each separated INDEX via INVERT verb.
create a completion message for each PRINDX record used.
Ex. PRINDX1 will have a completion message in PRINDXIMSG
ApprovedAFDgI 1~ M5 fRq AEl~?E DOP88 00893R000200060006-1
ERNNLY 123
Approved OBV I61i~Tid66/b~Ib'il~1 kbP6bY00893R0662600$066631
4.3.11 PRCRTLINK - PRIM LINKS CREATED WEEKENDS BY DBCC
This procedure will be used on weekends to create new component links
to the ORGCODE and POSNR files. See flow diagram in Figure 13 of the
Appendix.
4.3.11.2 GENERAL INFORMATION
Proc Name : PRCRTLINK
Language Used: GIM POL
Initiated by : DBCC
Frequency of
Execution : Will be done each weekend.
Input : SELECTION file (all segments)
SEGNAME
ORGCODE data
SLLNKDTE
ORGCODE
POSNR
Output : SELECTION file (all segments)
SLORGLINK
SLPOSLINK
SLLNKDTE
4.3.11.3 FUNCTIONAL REQUIREMENTS
This procedure will use the ORGCODE portion of the SELECT field in
each SELECTION segment to build an acquire statement against the
ORGCODE and POSNR files. The ORGCODEs received will be added to the
segment (SLORGLINK) and used by the component to query the ORGCODE
file. The POSNRs received will be added to the segment (SLPOSLINK)
and used by the component to query the POSNR file. A date will be
stored in the SLLNKDTE field to show when the last SLORGLINK/SLPOSLINK
link was created on PRIM.
This procedure will require no menu. It will be initiated with the
following statement:
Approved -I~,et 5fRR
%~IRDM 00893R00020006011g2~-1
Approved 08~ 21 Iiii6T2 '(iP5/ T(i~'tiAVFkbF9*-tO893R0( & Od86-)
This procedure will acquire through the SELECTION master, SEGNAME (to
know what segment is being updated), ORGCODE (to know what ORGCODE to
scan for in the ORGCODE and POSNR files), and SLLNKDTE (to know if new
links are required for that segment).
Do for each SELECTION segment:
If the SLLNKDTE is LT current date
then - delete old SLORGLINK
- Scan ORGCODE file for ORGCODE record containing
ORGCODE from SELECTION Criteria.
- add ORGCODEs acquired to current segment SLORGLINK
- delete old SLPOSLINK
- scan POSNR file for POSNR records containing ORGCODE
from SELECTION Criteria
- add POSNRs acquired to current segment SLPOSLINK
- add current date to SLLNKDTE
endif;
This program establishes ORGCODE and POSNR links for all PRIM Signon
ORGs. This program is initiated each weekend by DBCC.
DATE
I
$A
$W
STMT
STMT1
STMT2
VAR
SDVAR
OGVAR
WLVL
$odatea($dateg) (GIM date format)
current $A being used
array containing file name
current value being addressed
statement containing 'WITH $SCANX' statements
statement containing 'WITH $SCANX' statements
statement containing 'WITH $SCANX' statements
value containing the SLCRITERIA
value containing the Service Designations
value containing the ORGCODES
count of CTEMP or DTEMP elements stored in
current $C or $D array
CLVL current $C array element in use
$C array used to store groups of CTEMP elements
CTEMP variable used to store values acquired from ORGCODE
DTEMP variable used to store values acquired from POSNR
DLVL current $D array element in use
$D array used to store groups of DTEMP elements
J current array being updated
Approved FAoDrM e}e lgp~R/qW, NP
JAIPP $0893R00020006000p2I
LAIJ
Approved aPhWiSWid& 1 fAUID -b0893R06{ 2( 0' OM-l
enddec PRCRTLINK
PROC PRCRTLINK
DO for all SELECTION segments
FOR SELECTALL WITH PRESENT SLCRITERIA ACQUIRE
GET file name (use NEXT)
$A= $W
FOR filename ACQUIRE SLCRITERIA
GET SLCRITERIA (use GFAV's and GNAV's)
DO for all SLCRITERIA values
VAR = $W
SDVAR = $SBF(VAR,0,1,'*')
ORGVAR = $SBF(VAR,6,1,'*')
IF ORGVAR and SDVAR NE blank
THEN
STMT = STMT//' WITH $SCANX(ORGCODE,'//$QM//ORGVAR//$QM')',
STMT1 = STMT1//' WITH $SCANX(POSORG,'//$QM//ORGVAR//$QM')',
and STMT2 = STMT2//' WITH $SCANX(POSCSD,'//$QM//SDVAR//$QM')',
endif;
enddo;
DO for twenty values at a time
FOR ORGCODE &STMT ACQUIRE
GET value (use NEXT)
CTEMP = $W
$C(CLVL) = $C(CLVL)//$QM//CTEMP//$QM
enddo;
DO for twenty values at a time
FOR POSNR &STMT1 OF &STMT2 ACQUIRE
GET value (use NEXT)
DTEMP = $W
$D(DLVL) = $D(DLVL)//$QM//DTEMP//$QM
enddo;
(Delete previous links)
FOR &($A(I)) '&($A(I)' DELETE SLORGLINK SLPOSLINK
FOR &($A(I)) '&($A(I))' ADD SLORGLINK &($C(J))
SLPOSLINK &($D(J)) SLLNKDTE '&DATE'
enddo;
endproc PRCRTLINK
Approved 00893R0002000600p 61
Approved PI&' kIT290SAM62^NAOI AtbYO0893RObb2bOBtObbt31
4.4 COMPONENT RETRIEVAL
4.4.1 DEFINITION
Component Retrieval in Release 1 will be through adhoc queries. All
queries will be through the SEGACCESS file. The SEGACCESS file is a
segmented file, segmented by ORG Access Levels which correspond to the
SYSMAN2 Signon ORG. Flow diagrams are provided in Figures 14 and 15
of the appendix to graphically depict how a query will be controlled
in PRIM.
4.4.2 ONLINE QUERIES
4.4.2.1 BASIC QUERIES - VIA SEGACCESS and SELECTION
4.4.2.1.1 PURPOSE
PRIM will provide components with online access to Official Personnel
data. A great deal of the component's access will be done through on-
line queries. All queries will be done through the SELECTION and
SEGACCESS files. A query made through these files can be direct or
complex. A complex query, however, will only search the SSNORs listed
in the appropriate SEGACCESS file. This will eliminate the need for
using reports for simple queries. See flow diagram in Figure 14 of
the Appendix.
Language Used: GIM statements
Initiated By : Individual in a component
authorized to use PRIM.
Each person accessing PRIM must have pre-authorization to use one of
the SEGACCESS segments established on PRIM. All queries will be done
through the SEGACCESS segment and data retrieved will be for only
those records authorized for that segment.
Approved For Release 2005/08/02 : CIA-RDP88-00893R000200060006-1
ADMINISTRATIVE-INTERNAL USE ONLY 127
Approve&1 th1 Q~I ~~i&$QyCIASP,~$- 00893R6dOi
66(866-1
The component online query requirements from PRIM are varied and will
include such items as:
1. List the Position, Schedule, and Grade of an employee
to insure the proposed assignment conforms to Office
of Personnel mandated assignment controls.
2. Count Positions of a selected Occupational Series.
3. Counts of LWOP Cases and N-T-E Dates.
4. List date of last change to a position.
5. Count of vacant positions.
6. List the date a position was officially deleted.
7. List daily strength for:
- part-time
- full-time
- Dev Comp
- LWOP
- Details in/out
- Sick Leave (approved for disability retirement)
8. List the Service Designation of a position
versus the incumbent.
9. List the Sub-Category Code of a position.
10. List selected Cover Items.
11. List FLSA Designation of Employee.
12. List projected WGI to ascertain whether to delay
a promotion until the WGI is granted.
Output from a GIM statement will follow in the standard GIM output
vertical/horizontal print rule. The print will be horizontal if the
total record length is LE 80 and vertical if it is GT 80.
Approved FB I'm ?9=& AOWP -f 0893R0002000600g6-81
Approved F 'kg'I aWiddg/D 6~K~ITA- P?b (YO893R0062060600OB&P
4.4.2.2 SEARCH - SEARCH NAME AND HPOSNR FILES
4.4.2.2.1 PURPOSE
This procedure is used to search for a particular record in either the
NAME or the HPOSNR file. This procedure is used) rather than a state-
ment, to restrict the user to only one record at a time. See flow di-
agram in Figure 15 of the Appendix.
4.4.2.2.2 GENERAL INFORMATION
Proc Name : SEARCH
Language Used: GIM POL
Initiated by : User
Frequency of
Execution : Random
Input : Parameters
File Name (NAME,HPOSNR)
Value to search for
4.4.2.2.3 FUNCTIONAL REQUIREMENTS
The NAME and HPOSNR files are not linked to any primary PRIM files.
At times, a user may know a person's name but not the SSNOR or may
wish to look at a deleted position number. Because of security re-
strictions, the user will be limited to only one record from either
file per request.
This procedure does not require a menu. However, a file name and val-
ue to be searched for must be passed at execution.
Example: E SEARCH NAME (last*first)
E SEARCH HPOSNR (position number)
Using the parameters passed, a query statement will be made against
the file specified for the record specified. The NAME file responses
will list all individuals with the same last and first name specified.
The HPOSNR response will only list one position record. FILE: SEARCH
SCRIPT A RUFFING COMPUTER CENTER SEARCH
Approved fasAi0051 FNAC~IAI-ftpPN$ 00893R000200060006-1
Approved 4Wt$ T ` 65)661i''A61,4D 00893R0bb2 60 1
All retrieval from the HPOSNR and NAME files will be through the
SEARCH procedure, direct queries against these files will not be al-
lowed. The procedure will not use a menu but will expect two (2) pa-
rameters via prompts (file name and ID of record to be retrieved).
DEC SEARCH
$A array containing file name
$C array containing ID of record
$B array used to contain file name synonym
enddec SEARCH
PROC SEARCH
VOPREADI 'ENTER FILE TO BE ACCESSED (NAME, HPOSNR)',$A
VOPREADI 'ENTER RECORD ID FOR RETRIEVAL',$C
BUILD and EXECUTE query statements for NAME or HPOSNR
FOR &($b(1)) '&($c(1))' LIST
EXIT PROC SEARCH
endproc SEARCH
Approved FEgIea A?482/0W,~~~APWg0893R00020006000~
Approved FWk~Ie Wi668AI6~R~k-WbPftL60893R0002000BOObtat
The procedure will use generalized statements entered by the Data Base
Manager and personalize the statement with pre-determined parameters.
Because of the security matrix on PRIM, users will not be allowed to
use the LIST verb with a data file name to list all elements or all
records. The user will have to go through a unique SEGACCESS or
SELECTION file and list each element. Because of the large number of
elements, a statement will be provided in the STATEMENT file for this
purpose.
4.4.2.3.2 GENERAL INFORMATION
Proc Name : LISTSTMT
Language Used: GIM POL
Initiated by : User
Frequency of
Execution : Random
Input : Parameters
STATEMENT name
ORG initiating
Any additional parameters
pre-established for that
statement.
4.4.2.3.3 FUNCTIONAL REQUIREMENTS
Statements must be entered in the STATEMENT file by the Data Base Man-
ager and can use the LIST, COUNT, REPORTW, or EXTRACT verbs. State-
ments added should be generalized so they can be used by all compo-
nents.
Each statement used by LISTSTMT will have different parameter require-
ments, therefore, the user must refer to the sample given for each
statement. The first and second parameters will always be STATEMENT
name and ORG followed by any additional parameters, if required.
Ex. E LISTSTMT POSNR T56PER
ApprovedAF -IJle j~ 05IR8102 ~SERD~88 008938000200060006-1 131
~ eT i1 !i)6iW~6IX Di~W-00893R0?0~2%b 6.00` 1
Approved
If the correct parameters are passed, the output will be from the
specified file for the specified ORG. One ORG accessing data for an-
other ORG will envoke security restrictions and will not be allowed.
The position of each parameter for a STATEMENT record should be shown
by a percent sign (%) followed by the parameter number, followed by a
space. Ex. (For %1 LIST PERNAMEOR) would execute as (FOR T56PER LIST
PERNAMEOR) when executed by E LISTSTMT PERTEST T56PER. NOTE: There
are two spaces following %1. Up to 5 parameters are allowed.
LISTSTMT (Executes Pre-established statements)
DEC LISTSTMT
$AM
$A(l)
Total $A arrays read
STATEMENT Name
$A(2)
Signon
ORG of Initiator
$A(3)
first
parameter
$A(4)
second
parameter
$A(5)
third parameter
$A(6)
forth parameter
$A(7)
fifth parameter
enddec LISTSTMT
PROC LISTSTMT
READ parameters into $A array
ACQUIRE STATEMENT record per $A(l)
IF STATEMENT record not found
THEN Issue error (STMT not found)
EXIT LISTSTMT
endif;
IF $AM LT 2
THEN Issue error (not enough parameters)
EXIT LISTSTMT
endif;
IF $AM GT 2
THEN SCAN statement for %1
replace with $A(3) value
endif;
Approved A~ II~17I ~I~IVE5/1t~'ERNA~IAIT- P 0R~P0893R0002000600Qg21
Approved F~~~bT($$YN~~i4-P0893R00b0'00bVi
IF $AM GT 3
THEN SCAN statement for %2
replace with $A(4) value
endif;
IF $AM GT 4
THEN SCAN statement for %3
replace with $A(5) value
endif;
IF $AM GT 5
THEN SCAN statement for %4
replace with $A(6) value
endif;
IF $AM EQ 6
THEN SCAN statement for %5
replace with $A(7) value
endif;
Execute READF (GIM System module)
to change all single quotes to double
endproc LISTSTMT
4.4.3 OFFLINE REPORTS
4.4.3.1 PURPOSE
PRIM will provide components with RAMIS report definitions currently
used on HRS2, as well as, frequently used REPORTW statements which can
be used for offline reporting.
Language Used: RAMIS
REPORTW
Initiated by : Individual in a component
authorized to use PRIM
Approved EgAj1 M005/0&/02: CIA-RDP88-00893R000200060006-1
VE- I ERNAL USE ONLY 133
Approved WIkik~"ibb5IT0(!$/b~~~Ik-#DkbYO0893R0bb2btJlOtObbt31
Each person accessing PRIM must have pre-authorization to use one of
the SEGACCESS segments established on PRIM. All REPORTW or extract
statements will be done through the SEGACCESS segment and data re-
trieved will be for only those records authorized for that segment.
The initiator of a REPORTW statement or an extract statement will be
required to pass the SEGACCESS segment name and the desired report se-
lection to initiate an offline report.
Output for a REPORTW report will follow the format specified in the
REPORTW statement. Output will be produced with a ROUTE 'A and PRINT
command. A successful extract will result in a tape or disk of re-
quired data. A job must then be executed on VM to use the tape/disk
with a RAMIS report program to produce final output.
4.4.4 DATA BASE ACCESS VIOLATION REPORT
The access violation report is used by the PRIM Data Base Manager to
locate those persons having difficulty using the system or violating
data base access security restrictions.
Program Name : PRIMSEC
Language Used: RAMIS
Initiated By: DBCC
Input DBCC Source
Output : PRIM Security Access Violation Data
Approved FA M ~pA 1q=N.Ai RP 90893R00020006000 14
Approved 08~Iili6T2 5/btT6i,~ IAflkDf MO893RO6' 26MOd?631
The PRIM System must provide weekly reports to the PRIM Data Base Man-
ager identifying any violations of established read and/or write ac-
cess control to the PRIM System. The violations of established access
control report should be similar to the HRS2 Data Base report. The
report will also identify individuals who have been forced off' the
PRIM System after 3 security code violations.
Input will be provided by DBCC.
4.4.4.5 OUTPUT
The report should list at a minimum:
1. Data Base Name
2. User Identification
3. Terminal Identification
4. Date and Time of violation
5. If appropriate:
a) Data List Name
b) Transaction Number
c) Verb Name
4.4.5 DATA BASE EXCEPTION REPORT
This report is used by the Data Base Manager to identify those state-
ments executing longer than 3 minutes.
ApprovedAFDV-IPff j~M510q/ERNAL CIA RDOPN88 OO893ROOO2OOO6OOO6-1
Approves P6~ ~~i~' '(kiad~Al i kl9gii-00893R6dOi6db66863b-1
Program Name : PRIMEXCP
Language Used: RAMIS
Initiated By : DBCC
Input : DBCC Source
Output : PRIM Exceptions Data
A weekly Data Base Exception Report will be produced to identify query
statements executing longer than 3 minutes. The report will be used
by the Data Base Manager to focus on component areas that may need
guidance on creating cost effective queries. This report can use the
same program used for the HRS2 Data Base.
Input to this report will be provided by DBCC.
4.4.5.5 OUTPUT
The report should list at a minimum:
1. Data Base Name
2. User Identification
3. Terminal Identification
4. Date and Time of statement
5. If appropriate:
a) Data List Name
b) Transaction Number
4.4.6 ACF2 VIOLATION REPORT
Approved FAQ g 5/4 / RAOWP ff 0893R0002000600g6~-61
Approved Fo kel~iali'i(d?%0 &i %IA- P6 IOY0893R006~0666000@Bf
A standard report will be available online or offline to an ACF2 Con-
trol Officer showing ACF2 violations by persons attempting to illegal-
ly access a dataset.
4.4.7 PRNTEPRG REPORT
The PRNTEPRG Report will give the user a list of SSNORs and associated
data which was purged from each segment of the SEGACCESS file.
4.4.7.2 GENERAL INFORMATION
Program Name : PRNTEPRG Report
Language Used: GIMS REPORTW
Initiated By: PRNTEPRG Procedure
Input : Records with Purge Date (PRGDTE)
LE System Date
Output : SYSMAN2 (SEGACCESS Segment Name)
SSNOR
STATUS
NAME
4.4.7.3 FUNCTIONAL DESCRIPTION
The PRNTEPRG Report will be produced by the PRNTEPRG Procedure. The
procedure will produce the report using a REPORTW statement just prior
to executing the delete statement. The report will be printed with a
ROUTE *A and a PRINT command which will route the listing to the PRIM
Data Base Manager. A comment line will be used to slot the listing to
the Data Base Manager.
The PRNTEPRG Procedure will create and execute a REPORTW statement for
each SEGACCESS that has data to purge.
Approved f ri ? 20054?/EQ&AFItADg~88 00893R000200060006 1 137
Approved F4P i~SaT~ b 166'l ~"6A b ' b0893R00 2 00
The PRNTEPRG report will be a basic REPORTW output. It will provide
the user by SEGACCESS (SYSMAN2) with SSNOR, STATUS, Name for each item
purged.
4.4.8 DBSTATS REPORT
The DBSTATS report is a statistical report of the outlay of the data
base resources.
4.4.8.2 GENERAL INFORMATION
Program Name DBSTATS Report
Initiated By DBCC nightly
Input : DBCC source
Output : Statistics of PRIM Data Base
4.4.8.3 FUNCTIONAL DESCRIPTION
The DBSTATS report will be produced nightly by DBCC for the PRIM Data
Base Manager. This report will be compared with a similar report pro-
duced for the HRS2 Data Base for verification that the nightly Inter-
face between the two systems was successful. The report will also be
used by the PRIM Program Applications Specialist (PAS) to determine
when a reallocation is required.
4.4.9 PRCHANGE REPORT - REMOVE, SEPARATE, AND SSN CHANGES
The PRCHANGE report will be a REPORTW produced report and will provide
the user a list of Active SSNORs that are to be deleted (with SDTE NE
current date), Separated SSNORs that are to be deleted (SSDTE NE cur-
rent date) and SSNORs that have changed (IFCSIGN old NE $$$$$$$$$ and
NE new).
Approved f [I AI.?e25/ p?NAgI-,~-ftDERPP0893R0002000600?~81
Approved I b*k 2b'6S/TM62NAOI P]8bY00893ROO6260H130bbt31
Proc Name : PRCHANGE Report
Language Used: GIM REPORTW
Frequency Of
Execution : Random per component need
Initiated by : Individual Components
Input : SEGACCESS (SYSMAN2)
STATUS (A/S)
System Date (SDTE or SSDTE)
Purge Date (PRGDTE)
INTERFACE (PRIM)
IFCSIGN (old/new SSNOR)
IFCNAMEOR (old/new name)
Output : Report of Component link data
The PRCHANGE report will be created by a REPORTW statement. By going
through the master SEGACCESS segment with a selection statement for
SDTE NE current date or SSDTE NE current date and with IFCSIGN
'OLDSSNOR' NE '$$$$$$$$$' and NE 'NEWSSNOR' a report can be produced
to advise the generating office of records that will soon be purged
and the date of purge (PRGDTE) as well as, SSNORs that have changed
and what they were changed to.
A file will be provided which will contain statements which can be
adapted for any segment. This can be done with a temporary change and
execution by any individual. If, however, this report is used exten-
sively by all segments, a procedure can be implemented that will ac-
cept parameters via a procedure and change the statement and execute
it. (TBR)
The output will be produced with a ROUTE %.A and a PRINT command for
the appropriate printer. It will contain only data for the initiating
segment and that data will include:
SSNOR STATUS NAME IN Date Purge Date New SSNOR NEW NAME
Approved For Release 2005/08/02 : CIA-RDP88-00893R000200060006-1
ADMINISTRATIVE-INTERNAL USE ONLY 139
Approved 08~i~IaiiIM6557 ~ AU D b0893R0($($2( Od6 l
Chapter 5
Approved -I~g t Q5# %A lI RDE 00893R0002000600,04661
Approved
Chapter 6
Figure
1 - PRIM FUNCTIONAL FLOW
Figure
2 - PRIM HARDWARE CONFIGURATION
Figure
2.1 - DMS ARCHITECTURE
Figure
3 -
PRIM REQUIREMENTS MATRIX
Figure
4 -
PRIM PROCEDURES
Figure
5 -
PRIM SHORT FILE DESCRIPTIONS
Figure
6 - PRDDUMP & PRDLOAD DATA FLOWS
Figure
7 - PRCAESTB DATA FLOW
Figure
8 - PRCAUPDT & PRCHGLOAD DATA FLOWS
Figure
9 -
PRCATRSF & PRNTEPRG DATA FLOWS
Figure
10 -
PRINTPRG & PRACCUPDT DATA FLOWS
Figure
11 -
PRCALINK DATA FLOW
Figure
12 -
PRINDX DATA FLOW
Figure
13 -
PRCRTLINK DATA FLOW
Figure
14 - BASIC QUERY DATA FLOW
Figure
15 - SEARCH DATA FLOW
Approved F~% e}MI, ff/JM,
PJAIRP $0893R000200060001641
Nal,