Text preview for : GC21-5165-1_IBM_System3_CommunicatinsControlProgramSystemDesignGuide_Sep80.pdf part of IBM GC21-5165-1 IBM System3 CommunicatinsControlProgramSystemDesignGuide Sep80 IBM system3 GC21-5165-1_IBM_System3_CommunicatinsControlProgramSystemDesignGuide_Sep80.pdf



Back to : GC21-5165-1_IBM_System3_C | Home

IBM System/3
Communications
Control
Program
SystemDesign
Guide

ProgramNumbers:
(Models and 10)
5702-SC1 8
(Model4)
5703-SC1
(Model15)
5704-SC1
(Model15)
5704-SC2
(Model12)
5705-SC1

Feature 60 11/60 12160331 O 6071
607 |
Second Edition (September 1980)

This is a major revision of, and obsoletes, GC21-5165-O and Technical
N e w s l e t t e r sG N 2 1 - 5 5 9 6 , c N 2 1 - 7 9 6 9 . c N 2 t - 5 6 5 6 . a n d G N 2 1 - 5 2 8 8 . C h a n g e so r
additions to the text and illustrations are indicated bv a vertical line to the left of
the change or addition.

This edition applies to the System/3 system control program versions listed below
and to all subsequent versions and modifications until otherwise indicated in new
editions or technical newsletters:

Program
Version Modification Number Feature Numbers Model

16 00 5703-SC1 6033 Model 4
tb 00 5702-SC1 6033 M o d e l s8 a n d 1 0
06 00 5705-SC1 6070,6071 Model12
08 00 5704-SC1 6033,6070.6071 Model 15A, B, C
05 00 5704-SC2 6 0 11 . 6 0 1 2 Model15D


Changes are periodically made to the information herein; these changes will be
reported in technical newsletters or in new editions of this oublication.

Use this publication only for the purposes stated in the pref ace.

Publications are not stocked at the address below. Requests for copies of IBM
publications and for technical information about the system should be made to
your IBM representative or to the branch office serving your locality.

This publication could contain technical inaccuracies or typographical errors. Use
the Reader's Comment Form at the back of this publication to make comments
about this publication. lf the form has been removed, address vour commenrs to
IBM Corporation, Publications, Department 245, Rochester, Minnesota bsgol .
IBM may use and distribute any of the information you supply in any way it
believes appropriate without incurring any obligation whatever. you may. of
course, conttnue to use the information you supply.




I O Copyright International Business Machines Corporation 1977, 1980
Preface




This publication a guide to designingan IBM
is This publicationreferences severalspecificterminalsin
System/3 system that uses the Communications Control the 3270 Information Display System. These references
Program(CCP).The manualis primarilyintendedfor are for illustrationonly and not necessarily
customersystem analysts/programmers and IBM representativeof all 3270 devices supported. For a list
system engineers.This publication applicable
is to ot 3270 devices supported by System/3 CCP, refer to
System/3 Models 4,8. 10, 12, and 15. The following the IBM System/3 CommunicationsControl Program
subjectsare included: Systern RefererrceManual, GC21-7620.

ApplicationDesign Corrcepts;Describesthe This publication is oriented to the typical CCP user: one
considerations using variousCCP programtypes,
for who wants to use RPG ll and 3270 terminalswith the
programming facilities,and programmingconceptsin CCP DisplayFormat Facility(DFF). The readerwho
designingapplications be run under CCP.
to plans to use 3270 terminalsis assumedto have
knowledge of 3270 operation and design, either from
Direct Files: Describesthe use of direct files in a CCP IBM education,previousreading,or experience.
environmentand describestechniquesfor designing However,usefulness the manualis not limited to RPG
of
direct files. ll/3270 users. Most of the design conceptsare
applicableregardless the programminglanguageand
of
File Sharing: Describesthe necessityfor file sharing in a terminal type used.
CCP environment, and describesfile sharingcapabilities
and restrictions the variousSystem/3 models.
on This guide is intendedfor readerswho have had CCP
programminginstructionand who have attended,or are
3270 ScreenDesign; Describesthe human factors and attending, the CCP system design class. The reader is
CCP performanceaspects of designing screen formats expected to use this manual to refresh his or her
for the IBM 3270 InformationDisplaySystem. knowledge,as supplementary reading,and for
subsequentreference. The readeris assumedto have
Use of Printers lJder CCP: Describesthe system previous experience and/or training in:
design and performance considerations using the
for
system printerand terminal(remote)printerswith CCP. . Programmingand operatingSystem/3 with CCP

Task Chaining;Describes how the System/3 Model 15D and processing
. System/3 disk file organizations
CCP task chaining facility can be used in CCP system methods
design.
. The particular
terminaldevicesto be used
Sort Under CCP: Describessystem design aspects of
using CCP/Disk Sort to sort files under CCP.
Related Publications
System Security /lntegrity: Describesthe special
considerations involvedin maintaining system securityin The publicationsrelatedto CCP and System/3 data
a CCP environment.Describes procedures ensuring
for communications listed in Appendix B. See lBM
are
the accuracyof information processed by the system System/3 Bibliography, GC20-8080, for descriptionsof
and stored in the system files. other System/3 publications.

QueuingTheory: Describesthe applicationof simplified
queuingtheory to CCP system design.

Performancefips: Providesmiscellaneoustips and
techniquesfor improvingCCP performance.
Contents




C H A P T E R II N T R O D U C T I O N , .
. .......1 PerformanceConsiderationsandTechniques . . . . . . . . 34
SystemPerformance .......1 D i s p l a y F o r m a t F a c i l i t y ( D .F F ) .....34
SystemThroughput... .....1 ProgramRequestUnderFormat(PRUF) . . . . . .35
T e r m i nR e s p o n s e T i m e ,
al ........,1 HeadingsandPrompts .....35
EaseofUse ......2 AttributeCharacters . . . . . . .35
Expandability/Changeability ........2 FieldDescriotorTable(FDT) .......36
System Security and Integrity. PutOverride ...... .36
SystemDesign. ......2 OverlayandSegmentedScreens. ......36
B e n e f i t s o f f e r e d b y :c. c :P: . : : : : : : . . ..... .....2
DesignData .......3 C H A P T E R 6 .U S E ' O F P R I N T E R S U N D E B C C P . . . . . . ., .39
SystemPrinter .......39
C H A P T E R 2 . A P P L I C A T I O ND E S I G N C O N C E P T S.. . , . . . , . 7 SpoolingPrintedOutputUnderCCP . . . . . .. . .41
EstabfishingApplicationGoals . .. . .. ..7 T e r m i n aP r i n t e r s
l ....41
CCPApplicationProgramTypes .......8 F o r m s D e s i g nf o r T e r m i n a l P r i n t e r s . . . . .41
SRT(SingleRequestingTerminaProgram l) . . . . . .8 P r o g r a m D e s i g nT e c h n i q u e s f o r T e r m i n a l P r i n t e r s . . . . . . . 44
MRT(MultipleRequestingTerminalProgram. . . . . . . . . .8 ) PrinterBusyCondition. .....45
SingleFunctionandMultipleFunctions . . . . . . ..9 Usingan NEP for Terminal Printing . . . . 46
SingleFunctionSRT. .....10
SingleFunctionMRT. .....11 C H A P T E R TT A S K C H A I N I N G .
. .,,..,.47
C o m p a r i s o n o f i n g l e F u n c t i o n S R T a n d M R T.. . . . . . . . 1 1
S BreakingApplicationsintosmalProgramsl . . . . . . .48
MultipfelndependentFunctionsRT.. . . . . .. .12 RunningBatchProgramsUnderCCP... ...48
M u l t i p f e l n d e p e n d e n t F u n c t i o n M R. T . .. .. .12 ChainingtoResourceHandlers ........48
Multiple,DependentFunctionsRT . . . . . .. . . 14 TransactionFileWriterProgram .....48
M u l t i p l e , D e p e n d e n t F u n c t i o n M R T.. . . . . . . . 15 Terminal Printer Program . , .52
InterprogramCommunication. ........15
NEP(Never-EndingProgram) .......15 C H A P T E R SS O R T U N D E R C C P . . .
. ....53
S u m m a r y . . . . . . . . . 1 6 ConsiderationsforUsingCCP/Disksort. . .. .. .53
MIF/MRTTechnique. . . . . .16 T r a n s a c t i o n - O r i e n t e d r o c e s s i n g w i t hC C P / D i s k S o r t . . . . . . . . 5 3
P
ORDERSProgram .......54
C H A P T E R 3 .D I R E C TF I L E S . . .. . . ., .17 XWRlTEProgram. .......55
DirectFileAdvantages .......17 lNVWRTProgram ........56
DiskAccesses ...'17 SRTWRTProgram ....,,.57
FileRecovery ....17 SORTProgram ....58
FileSharing .....17 PlKWRTProgram. ..,....59
AccessAlgorithmandSynonyms. ........lS
DetermininganAccessAlgorithm. ....18 CHAPTER9. SYSTEMSECURITV/INTEGRITY . . , .61
HandlingSynonymRecords ........18 TransactionLogging ........61
E x a m p l e s . . . . . . . . . 1 9 TransactionData ......61
E x a m p l e l . . . . . . . . . . . . 1 9 AuditTrail .. . .... .62
E x a m p l e 2. . . . . .. . ... .23 f m p fe m e n t i n ga n A u d i t T r a i l . . . . .62
E x a m p l e 3 . . . . . . . . . . . . 2 4 ControlProcedures . ........63
TransactionFilesasDirectFiles... .....25 ManualControlProcedures ........63
MasterFilesasDirectFiles... ........25 ProgrammedControlProcedures .....63
DataProcessingDepartmentControls . ., .. . . .65
C H A P T E R 4F I L E S H A R I N G
. ,.. ,.,.,27 DataSecurity .......66
FifeUpdateConflict ........27 PhysicalSecurityMeasures. ........66
CCP/DiskSortFiles. ........27 ProgrammedSecurityMeasures ......67
AnafyzingFifeSharingConflicts .......28 BackupandRecovery .......69
HardwareBackup ........69
CHAPTER 5. 3270 SCBEEN DESIGN . . . . .29 DataBackupandRecovery ........70
H u m a n F a c t o r sC o n s i d e r a t i o n s a n d T e c h n i q u e s . . . . . . . 29 Fife Becovery Procedures . . . . . . , . . 71
G e n e r G lu i d e l i n e s
a ........29
S p e c i f i cS u g g e s t i o n s y A p p l i c a t i o n T y p e . .
b . . . .32
E x a m p l e : T h r e e A p p r o a c h e st o S c r e e n D e s i g nf o r
FileUpdate. .....33
C H A P T E 1 0 . S I M P L I F I E D O U E U I N G T H E O R .Y., . . . . 7 3
R .
S i m p l i f i e d Q u e u i n gT h e o r y E q u a t i o n s . 73
S i m p l i f i e d O u e u i n gT h e o r y E x a m p l e . 74
Step 1. Define and Flowchart the Application 7t

Step 2. Determine Activity for Each Program Step . . . - . t3
S t e p 3 . D e t e r m i n eT r a n s a c t i o n s e r H o u r f o r E a c h
p
OnlinsApplication 77
S t e p 4 . C a l c u l a t et h e A v e r a g eN u m b e r o f C h a r a c t e r s
per Transaction 79
S t e p 5 . C a l c u l a t eL i n e T i m e t o T r a n s m i t a n A v e r a g e
Transaction. . .. .79
S t e p 6 .C a l c u l a t e L i n e U t i l i z a r i o n .......gO
Step7. CalculateLineResponseTime. . . .. . .. gO
S t e p 8 .C a l c u l a t e D i s k U t i l i z a t i o n .......g2
Step9. CalculateDiskResponseTime. . . . .. . . g3
S t e p 1 0 . C a l c u l a t eP r o c e s s i n g n i t U t i l i z a t i o n
U . . . g4
Step 11. DetermineResponse ime for processing T
UnitandTotaSystem l ....96
Step12.DetermineSystemSize .....99

C H A P T E R 1 1 . P E R F O R M A N C ET I P S . . . .91
CCP-AssociatedBuffers .....91
UserRecordArea. .....9.1
OutputHoldArea. .....91
TP(TefeprocessinglBuffer. ........92
LineBuffer ....1O2
CCPTaskSizes ........ 102
MinimizingstorageRequirements ... 104
DFFConsiderations ..... 104
CCPDiskAccesses ........105
P l a c e m e n t o fP r o g r a m sF o r m a t s , a n dF i l e s o n D i s k . . . . . . . 1 0 7
,
DiskUtilization .... 109
Generation/AssignmentConsiderations .. 108
ConsiderationsUsingPRUF .. . 1Og
MiscellaneousCCPTips ..... 109

APPENDIXA.GLOSSARY ... 113

APPENDIXB. IBLIOGRAPHY..
B .... 119

lNDEX 121
Ghapter 1. Introduction




A communications-based system like System/3 with System Throughput
CCP, is made up of dissimilarelements(personnel,
programming, devices)that operate at totally different System throughputis the total volume of work
speeds. Theseielementsare: performedby a computingsystem over a period of time.
Throughputis a primaryconcernof the CCP user and
. Terminal operators
should also be the direct concernof the designer.
. Terminals Throughputis a measurable aspect of performance.The
designerof an online system frequentlymeasures
. The communication
facility
throughputin terms of the number of transactions per
. The system operator unit of time (hour,day) that the system can handle. The
usersof the system may think of throughputas the
. The processingunit and associatedl/O devices
numberof invoices,orders,or inquiries the system can
. Applicationprograms processover a period of time.

These elements must perform well together to satisfy
user requirements. Good system performancerequires
Terminal Response Time
good system design.
To providea viable system,the designermust balance
system throughputrequirements againstterminal
SYSTEM PERFORMANCE Terminalresponsetime is
responsetime requirements.
the time intervalfrom when the terminaloperatorenters
Performance requirements vary widely among CCP
data to the system until the keyboardis openedto
users, but there are quantitativeand qualitativeaspects permit more data to be entered. Response time
of performancethat are important to all users.
requirements vary greatlyamong CCP users and even
among applications a single user. For example,a
for
1O-second 3O-second
to responsemay be adequatefor
QuantitativeAspects an inquiryapplication that is used occasionally, a
but
1-secondto 3-second responsemay be requiredfor
. System throughput
high-volume data entry and order entry applications.
. Terminalresponsetime
Minimum responsetime resultswhen there are no
. Businessresponsetime gueuesin the system; that is, there are no units of work
waiting to be servicedby the different system facilities:
disk, processingunit, communication lines.or terminals'
QualitativeAspects Chapter 10, Simplifid Queuing Theory further describes
responsetime and queues.
. Ease of use
. Expandability/changeability
BusinessResponseTime
. System security and integrity
Businessresponsetime is the total durationof time
requiredto satisfy a user (customer) transaction,inquiry,
or request. A completebusinessresponsemay require
severalterminalresponses, but the entire responsemust
be accomplished at one terminaleven if other system
resources are idle. lndividualterminalresponsetimes
surelycontributeto good businessresponse,but good
system design plays the most importantpart.




lntroduction
Ease of Use These requirements must be an integralpart of the
system design. lf system security and integrity are
Ease of use is another important aspect of system lacking,seriousproblemscan occur when an audit is
performance. lf use of the terminal is easy for the required,when there is a system failure,when an error
operator, if screens are carefully designed, if operator occurs,or when an unauthorized person attempts to
keying is kept to a minimum, if applications are broken accessand perhapsmodify data in the system.
into efficient, logical steps, and if the terminal operator
is shieldedfrom the internalworkings of the system,the
terminal operator can be more productive, make fewer SYSTEM DESIGN
mistakes, and thus contribute to improved system
throughput. Becauseonline applications usuallyhave a significant,
Ease of use is important for other users also, such as overallimpact on the way the user organization run, it
is
the system operator and the application programmer. is vital that the eventualusers of the system-
Clearand completeoperatingprocedures management, programmers, operators.and user
should be
defined and documented to govern the system departments-beinvolvedin the design processfrom the
operator's actions under all conditions. Recoveryand beginningand that all of their needs and wants are
backup procedures considered.In many cases,a phasedapproachto
should be carefullyconsideredin the
system design and should be clearly documented for the design and implementation, with simple inquirybeing
system operator. Application programs should be the first online application,
allows a gradualchangeover
written with clear, straightforward logic and should be from currentmethods, providesearly success,and
well documented. Standard methods of return code allows the system designerto gain experience that can
checkingand error handlingshould be considered be appliedto later applications.
throughoutthe design of the user applicationprograms. Duringthe system design process,each facilityand
Careful attention to program design will result in applicationshould be justifiedon its own, either
programs that have fewer errors and are easier to economicallyor as a necessarypart of an integrated
correct or modify. system. Otherwise, the design process can become
unnecessarilycomplex and costly, and may result in a
system that has more capacitythan is requiredfor the
Expanda bility/Changeability necessary functionsand anticipated growth. lt is
sometimesbetter to use batch processing manual
or
Expandability and changeability long-termmeasures
are methods for certainjobs and to use the online resources
of system performance. lf a system design does not in areaswhere they are clearlyjustified.
anticipate future expansion or changes,the system may
initiallyperform adequately, The system design processmust be guided by cost
but requirea major redesign
when facilitiesor functionsare added. The system constraintsand applicationrequirements. be
To
designer should consider effects on the system of an successful,the system designermust understand the
increasedtransaction load, system hardware changes, or benefitsthat are expectedfrom the online system and
must gather a great amount of data concerning the
additionalapplications.
proposedapplications.


System Security and Integrity
Benefits Offered by CCP
System security and integrity are other long-term
aspects of performance. The concepts of system Onlineprocessing with CCP offers benefitsthat are not
possiblein manualor batch data processing systems.
securityand integrityincluderequirements such as:
The following benefits might be analyzed differentlyin
. Transactionlogging terms of importanceto the business, ease of
. Audit trail implementation, cost of facilities,measurability,
and
whether the benefitswill be immediateor in the future.
. Control procedures

. Data security

. Backup and recovery
Fast Accessto lnformation Design Data

Inquiryapplications can providea fast answer for a The CCP system designermust gather and analyzea
customerwho is on the telephoneor in the office. l a r g ea m o u n to f d a t a , i n c l u d i n g :
Inquiryapplications can provideimprovedcustomer
Applicationdescriptions
service,reducedlook-up time, and fewer computer
printouts. Inquiryapplications a good place to start, Messagesand line control activities
are
Transaction descriptions
since they are often easy to define and implement.
Terminallocations
Computerlocation
Presentcommunication network lavout and
lmproved Worker Ef ficiency
description
Data securityrequirements
Becauseof the necessity queuingand routing work
for
Man-machineinterfaces
through variousdepartments, many manualsystemsare
Messageformats
inefficient,inaccurate,and time-consuming.Online
Messagedestinations
applications enablean organization operateon
to
Traffic statistics
informationas soon as it is available. which resultsin
greaterworker productivity.Onlineapplications Effectivespeedsof equipmentand operators
can
Transmission line error rates
result in: less time spent waiting for information,less
Rate of system growth
time spent transferring informationfrom one area to
Throughputobjectivesfor both online and batch
another,less time spent restudyinginformationthat has
processlng
been delayedin processing, fewer requestsfor
Terminalresponsetime requirements-business
additionalinformation, and improvedaccuracy.
responserequirements
Logicalfile information
Type of error recovery required
ReducedJob Complexity
Other information, determinedin part by the
proposedapplications
Complexcalculations, procedures, and detailed
requirements can make a clerk's task highly subjectto
Some of this design data must be particularlydetailed
error. Applicationssuch as order entry, pricing,and
becauseof the importantaffect it has on network
accountsreceivable can requireconsiderable system
design and, therefore,the performance the system:
of
design effort becausethe system is handlingmany
complexities, but the benefitsof improvedaccuracyand
Message /transactiontypes
improvedcustomerservicecan be valuable.
Message /transactionlength
Messages/transactions given time period
per
Message/transaction input-outputratios
lmproved Resource Control
Message/transaction priorityclassifications
Response time requirements
Applicationssuch as inventorycontrol in manufacturing
Peaktraffic determination
or distributionindustriesand reservations hotels can
in
Growth projections
enablemany interdependent usersto accesscurrent
information.lmprovedcontrol of limited or
time-dependent resources often essential the
is to
functioningof an organization. well-organized
A system
design effort is requiredto redirectthe informationflow
around the centralized system.




lntroduction
Tralfic Peaks Queuing Theory

Traffic peaks must be considered; is not sufficientto
it A n u n d e r s t a n d i no f q u e u i n gt h e o r y( C h a p t e r 0 ) h e l p s
g 1
total the work for a day and divide by the number of the system designerto use the design data to estimate
hours to get an average. For example, a plotting of the how much utilization expect of a system resourceand
to
arrivalof orders in a businessmight look like Figure1. to evaluatea design at intermediate stages. However,
The system should be designedto handlepeak loads. lt resourceutilization a CCP system is not a simple
in
may be possiblefor certainorders to be held off and consideration and few designerscan depend solely on
enteredduring slack periodsto levelthe peaks. For q u e u i n ga n a l y s i sn d e s i g n i n g C P s y s t e m s .U t i l i z a t i o n
i C
example,in Figure'l, all mail orders are receivedat 1O of resources can changefrom minute to minute and
a.m. Perhaps the mail ordersthat cannot be processed there are so many variablesthat to pick any set and say
in the morning can be held off until late in the afternoon this is my system is usuallyinvalid. Also, reliabledata
so that telephoneand walk-in orders can be processed may not be available early in the design stage.
on a real-time basis during peak periods. In no case
should the averageload be the maximum load capability CCP system design requiressome experimentation and
of the system. adjustments the initialdesign to improve
to
performance.Overdesign often a desirableapproach.
is
Regardless whether design is done manuallyor with
of F o r e x a m p l e t h e d e s i g n e r a n a l l o wf o r m o r e d i s k
, c
the assistance specialized
of network design aids activityor communication line activitythan he actually
providedby lBM, the design data collectedis neededto expects,or can purposelyoverestimate the number of
determine: transactions per hour that will be enteredfrom
t e r m i n a l s . u d i c i o u sr e d u c t i o n sn t h e a r e a so f
J i
. L i n ea n d t e r m i n a l o a d i n g overdesign can be the key to successof the design
project.
. Facilityutilization

Responsetime IBM Design Aids

Oueues in the system The CCP system designershould be aware of the IBM
design aids available(such as performanceanalysis
programs)and what benefitscan be gainedfrom each.

One such design aid for the Model 15D is the System
MeasurementFacility(program5799-AYO). When
enabled,this facility assemblesstatus reports of the
operatingsystem and selectedl/O devices. This
informationis useful for workload balancingwithin the
CCP system. Contactyour IBM representative for
informationconcerningthis and other design aids.
Order Sources:
- - - T e l e p h o nO r d e r s
e
- w a l k - i no r d e r s
-.-Mail Orders
. . - . . . C u m u l a t i v C u s t o m eT r a n s a c t i o n s
e r




500
Customer Notificationand
A d m i n i s t r a t i vA c t i v i t y
e
400
Trans-
actions
300

200


100


0




Time+


Figure 1. Transaction Peaks




lntroduction
Ghapter 2. Application Design Concepts




This chapterpresentsbroad conceptsof implementing . Concurrentutilization svstem resources
of
applications an onlineterminalor work statlon
in
environment. Dedicatingmost of the resources the system to of
one user at the expenseof other concurrentusers
can cause dissatisfaction. Some examplesof this are:
E S T A B L I S H I N G P P L I C A T I O NG O A L S
A allowing an application be written as a large
to
program,so that other users cannot load their
An application designermust establishspecificgoals for programsbecausememory is not available; specifying
a p p l i c a t i o n sI.n a d d i t i o nt o s p e c i f i ca p p l i c a t i o n o a l s ,
g N O S H R( n o s h a r e )f o r f i l e s o n t h e P R O G R A M
the following generalgoals should be considered all for assignmentstatementso that a long runningprogram
applications: has a file dedicatedto it at the expenseof other
users who need accessto the same file; runninga
. Easeof use programthat loops or does complex calculations and
thus makes excessiveuse of processing unit
Designdecisionsshould be made in favor of ease of instructionc./cles(cyclebound). Considerthat
use, not ease of coding or design. The personwho a p p l i c a t i o nw i l l b e r u n a t t h e s a m e t i m e a n d t h a t
s
uses the terminalshould see the system as an other applications may be added to the system at a
easy-to-use tool. He expectsto receiveguidance later time.
throughoutthe applicationin the form of messages
and definitionsof the variousoptions permitted. Concurrentutilization resources
of may increasethe
However,once an operatorunderstands task well, his responsetime of the terminal. But responsetime is
he should not be burdenedwith replyingto repetitive not the most importantindicatorof performance.For
messagesnor with readinglong text to understand example, onsiderhe following:
c t
where he is in the application. For example,if a
3270 display is being used and variousfunction keys An applicationis designedusing two methods. The
are allowed,presentthe user with a legendof the first method uses one large programthat remainsin
functionsin a specificarea of the screenwhere the memory. Two operatorsare employedand response
u s e r c a n r e a d i t o r e a s i l yi g n o r ei t i f h e i s f a m i l i a r t i m e a v e r a g e s . 5 s e c o n d s a c ht i m e t h e e n t e rk e y i s
1 e
with the application.Error messagesshould also be pressed. One hundredcharacters are keyed for every
confinedto one area of the screen. High intensity enter key operation.
and the audiblealarm can be used to draw attention
to the message. Use default options where possible The second method of design uses a seriesof three
to eliminaterepetitivekeying. For example,if special programs,each small. The programsare loaded as
discountingis allowed but seldom used, let the required.The averageresponsetime is 2.5 seconds
operatorspecifywhen he wants it, but default to becauseprogram loads must take place. With the
normal when he specifiesnothing. See Chapter5, first method, there is no memory remaining for other
3270 ScreenDesignfor further information in
concurrentapplications; the second,there is. Since
concerningoperatorease of use. all keying is done offline,that is, between program
loads,the processingunit has processing time and
. Logicaland simple flow main storageavailable serviceother users. Hence,
to
the total work accomplished may very well be greater
Whether you solve the applicationproblemwith one in the second case.
programor many programsusing PRUF(program
requestunder format),the operatormust never have
to understand how the applicationwas coded. lf you
design an applicationusing severalprograms,lead
the operatorthrough the sequenceof programsby
includingthe name of the next programto be called
on the display.


ApplicationDesignConcepts
. Minimum scheduling SRT (Single Requesting Terminal) Program

The main advantageof online applicationsis that the An SBT program is one that can serviceonly one
system can be responsiveto the end user-it can do requestingterminalon each executionof the program.
work when he has work to do. lf there are fewer Eachtime the program is requested, CCP must load that
terminals than operators or more applicationsthan program into main storage. lf two terminalsrequestthe
operators, obviously scheduling has to be done. same program,each will have its own duplicatecopy of
However. an applicationdesign where there are the program in main storage.
sufficient operators and terminals available,but
because of the design they cannot all have access to An SRT program can communicate with other terminals
the system, should be considered unacceptable. while servicinga requestingterminal,but these would
be data terminalsand would be attachedto the
. Efficient design executingprogrameither by being specifiedin the
assignment set or by being acquiredby the program
When the first application is designed for a system, using an acquireterminaloperationcode. In most
the probabititythat more applicationswill be added cases,an SRT program handlesone terminal,which is
later-some known and some unforeseen-must be the requester.
considered. This requireswriting efficient code,
designing files for the fastest processing.and using
as little main storage as possible. A batch program MRT (Multiple Reguesting Terminal) Program
is usually judged by whether it does the job and
produces accurate results. Online jobs must be An MRT program can servicemore than one requesting
judged by those factors but also by size, modularity, terminalon each executionof the program. An MRT
function, flexibility and responsetime. The key to program,like an SRT program,is initiatedby a
efficient design is that the system resourcesmust be requesting command terminal. However,any
shared, and rationing the resourcesfrom the subsequent requestsfor the programby other terminal
beginning will ensure that the maximum potential for users causethe additionalrequesting terminalsto be
system growth can be realized. attachedto the program alreadyin main storage,rather
than to a separatecopy. The maximum numberof users
of the program is specifiedin the assignmentset. Thus,
CCP APPLICATION PROGRAM ryPES CCP controlsthe number of concurrentusers of the
MRT program.
ln order to use CCP most efficiently, the application
designer must understandthe CCP application program When a terminalattachedto an MRT program is
types, classifiedon the basis of : finishedprocessing. is released
it from the program
under either program or operatorcontrol. lf other
. The number of requestingterminals the program can terminalsare attached,they continueto process. lf
handFone, or more than one. there are no other terminalsattachedat this time, the
programends (the program logic must set on LR in
. The number of different kinds of functions or RPG ll). Another requestfor the programcausesit to
transactionsthe program can handle--one, more
or be again loadedfrom the object library.
than one. (A transaction is defined as the entry of
some unit of data, the processingof that data, and The system designershould considerusing an MRT
the return of some response or answer.) programto minimizethe impact of program loading
when a program is calledoften and must be loaded into
Specific coding examples of each type of program are main storagefrequentlyduring the courseof a CCP run.
avaifabfe in the CCP Programmer's Reference Manual, Programload time is dependenton the accesstime of
GC21 -7579. the specificdisk drives used with the system;for
example, a program load from 2 $Q-Q{ slower than
is
from a 3340. See Chapter 10, Simplitid Queuing
Thary for further information about how to determine
when program residencein main storageis high enough
that an MRT approachshould be considered.
Single Function and Multiple Functions Summary CCPProgram
of Types

In additionto the SRT/MRT distinction, the system Combiningthese concepts-number requesters;
of
designermust understand the distinctionbetween single number and relationship functions-yields
of the
function and multiplefunction programs. following breakdownof CCP programtypes:

lf a programcan only handleone kind of function,the . Singlefunction SRT (SF/SRT)
program is a singlefunction program. The
characteristics a singlefunction programare:
of . function SRT (MIF/SRT)
Multiple independent

. Programlogic determineswhen the program . Multipledependentfunction SRT (MDF/SRT)
termrnates.
. S i n g l ef u n c t i o nM R T ( S F / M R T )
. Coding is straightforward
and efficient.
function MRT (MlF/MRT)
. Multiple independent
. There is duplicatecode if more than one copy resides
in mainstorage. . M u l t i p l ed e p e n d e n f u n c t i o nM R T ( M D F / M R T )
t

lf a programcan handlemultiplefunctions,the program
is a multiplefunction program. The characteristics a
of
multiplefunction programare:

. Eitherthe operatoror program logic can determine
when the programterminates.

. Some coding logic is requiredto determinewhich
function is to be performed.

. There is unusedcode in the processing cycle (code
for functionsnot performedstill takes up main
storagespace).

When multiplefunctionsare performed,the functions
are either irdeperdent of each other or dependenton
each other.




Application Design Concepts 9
Single Function SRT PRUF (Program RequestUnder Format)

The singlefunction SRT programtype is the easiestto Figure 2 shows two methods of receivingdata from a
write. A terminaloperatorrequestsa program(for terminalin an SRT program: with the program request
example,an inquiry),the program performsthe function or after the program has been initiated.Where possible,
and terminates. CCP attachesthe terminalto the the data should accompanythe program request.
program at program initiationand automatically releases Puttinga format and waiting for the operatorto respond
it at programtermination.No code is neededin the ties up parts of main storageduring the keying
application programto perform either of these functions. operation.Another operator'sresponsetime can be
adversely affected if main storageis not available.
However, in order to enter data with the program
request, the terminal operator must know exactly what
data format is acceptable. This contradictsone of the
basic CCP system design guidelines:ease of use. But
becauseCCP has the PRUFfacility,good utilization of
storageand ease of use at the terminalcan be achieved.
The program now becomes two programs with the flow
describedin Figure3.



Program1 Program 2


Initiate program
with data




T h i s c o u l d b e a s p e c i a lP R U F V r l
put operation that prepares
Figure 2. Receiving Program Data in an SRT Program t h e s c r e e nf o r a n o t h e r t r a n s -
action, Thus, Program1
would be calledonly when
the ooerator does not have
t h e a p p r o p r i a t e s c r e e nf o r m a t .




Figure 3. PRUF Concept-Single Function SRT Program




10
Single Function MRT Comparison of Single Function SRT and MRT

A singlefunction MRT requiresminor additionalcode The major considerationsin choosing between an SRT
comparedto the previousexample. The additionalcode or an MRT approachare use of main storageand
is requiredbecausean MRT must not go to end of job responsetimes. (The terminal operator does not do
unlessall users are finishedwith the program. anything differently between the two approaches.)The
Therefore,ratherthan simply terminate,the program advantageof the SRT approach is the ability to have
must releasethe requesterand ask CCp if there are any multiple copies in main storage concurrently. The
other terminalsrequesting the program. lf there are. the advantageof the MRT approach is the potential for
cycle must be performedagain. Still using the pRUF reduced responsetime. since the program does not
approach,the program logic shown in Figure3 would be have to be loaded for each request. Each approach also
modified as shown in Figure4. has a disadvantage: the SRT must always includea
program load in its responsetime, and the MRT allows
only a single terminal to process through its code at one
time. (Terminals that are queuedto an MRT have a