T24 Technical Training
APPLICATION PROGRAMMING INTERFACES
Application Program Interfaces
Page 1 of 25
T24 Technical Training
APPLICATION APPLICATION PROGRAM INTERFACES INTERFACES 1.1
Introduction
This chapter describes the available options for developers who wish to enhance the operation of the current GLOBUS system, where there are insufficient options provided provided by the Standar Standard d GLOBUS GLOBUS utilitie utilities. s. Within Within specifi specific c applica application tions s the system allows universe subroutines or Uni!erse commands in some cases" to be defined defined,, which which will will then then be invo#ed invo#ed when runnin$ runnin$ the application applications. s. This This provides a powerful tool to allow customisation of the GLOBUS to meet re$ional or customer specific re%uirements. 1.2 1.2
APPLI PPLICA CAT TION ION CUST CUSTO OMISA MISAT TION ION
1.2. 1.2.1 1 Intr Introd oduc ucti tion on
This section is concerned concerned with the options available in customisin$ customisin$ the operation operation and content of GLOBUS applications. 1.2.2 VERSION APPLICATION APPLICATION - USER DEFINED SUBROUTINES
The VERSION application allows user defined subroutines to be specified in the followin$ fields& • • • •
1.2.2.1
' (UT. (UT.)*W.+O)T*) )*W.+O)T*)T T !(L-(TO).T) ')/UT.OUT)* )/UT.OUT)* (UT0.OUT)* (UT0.OUT)* AUT.NEW.CONTENT (F (Fi!d "" "".1#
This field would normally be used to automatically enter a value into a field specifie specified d in the associate associated d (UTO1.2*L-.)O (UTO1.2*L-.)O.. The automatic contents are only used if the e3istin$ content of the field matches that defined in the associated (UT.O (UT.OL-.+O)T*) L-.+O)T*)T T. This field may also contain a sub4routine used to perform conditional defaultin$ that cannot be defined in !ersion, or defaultin$ from related files.
Application Program Interfaces
Page 2 of 25
T24 Technical Training
The followin$ steps must be followed& (UTO1.2*L-.)O The name of the field that has to be automatically defaulted. (UT.)*W.+O)T*)T @user-deined su!routine
U$r-d%ind $u&routin must be defined in /G1.2L* as a type S application. The field (//L.2O.SUB contains the applications allowed to use the subroutine.
*3ample& The followin$ e3ample demonstrates a routine, which will automatically assi$n the industry code and industry name in the file T).S0(*.1(ST* .
Figure 1.1 PGM.FILE – For V.INDUSTRY.NAME
Figure 1.2 VERSION – Automati !e"au#ti$g !e"i$itio$
Application Program Interfaces
Page 3 of 25
T24 Technical Training
To default the )-UST5.+O-* and )-UST5.)(1* field usin$ the routine !.)-UST5.)(1*. Program % 0001: SUBROUTINE V.INUSTR!.N"#E 0002: $ S%&ro%'ine 'o (efa%l' 'he )al%e of in(%*'r+ co(e an( in(%*'r+ na,e in 0003: $ 'he a--lica'ion TRN.S"RE.#"STER 0004: $ 0005: /INSERT IO##ON 000: /INSERT IEU"TE 000: /INSERT I.INUSTR! 0006: /INSERT I.TRN.S"RE.#"STER 0007: $ 0010: TE#P 8 IE9I.NE;<=>=<2? 0011: "99 BR@INUSTR!@:#:EB.IN.ESRIPTION
1.2.2.2
VALIDATION.RTN (Fi!d '.1#
This field, to$ether with !(L-(TO).2L-, allows definition of subroutines to be e3ecuted when validatin$ the contents of fields within an application. ( routine defined here would normally be used to perform specific validation or to default the contents of field accordin$ to local re%uirements. !(L-(TO).2L- The name of the field which has to be validated. !(L-(TO).T) user-deined su!routine
This subroutine is invo#ed immediately after the call to )633 as defined in the T parameters for the application, and before any validation in the section +0*+7.2*L-S is e3ecuted. (lso at +ross4!alidation time, before the +OSS.!(L-(TO) section of the application is e3ecuted. outines defined here have the standard system variables available for chec#in$. The followin$ variables should be used when performin$ chec#s8defaults& COMI COMI.ENRI "ISPLA# ETE$T
+ontains the contents of specified !(L-(TO).2L-. This should contain the enrichment for the contents of +O1. +ontains the formatted version of +O1 for display purposes. +ontains any error messa$e $enerated from the subroutine. This field should be populated when an error is found. MESSAGE This variable can be used to determine whether the system is performin$ field level chec#s or cross validation. (t cross4validation time it will contain the value 9!(L:; on4line it will be null.
Application Program Interfaces
Page 4 of 25
T24 Technical Training
*3ample & 0001: $S%&ro%'ine 'o checA he'her 'he 'ra(ing %ni' i* a ,%l'i-le 0002: $ of 12 0003: $ 0004: SUBROUTINE V.TR"E.UNIT.V"9 0005: $ 000: /INSERT IO##ON 000: /INSERT IEU"TE 0006: /INSERT I.TRN.S"RE.#"STER 0007: /INSERT I.TRN.S.TR"NS"TION 0010: $ 0011: "99 BR CTRN.S"RE.#"STERD:#:TRS#.TR"IN.UNITS
0017:
EN
n the version the followin$ are specified &
Figure 1.&
1.2.2."
Ver'io$ (Va#i!atio$ Routi$e
AUT).ROUTINE (Fi!d '*.1#
The subroutine may be e3ecuted at the authori
Application Program Interfaces
Page 5 of 25
T24 Technical Training
E%&'()e * 0001: $S%&ro%'ine 'o %-(a'e 'he TRN.S"RE.O9IN a' a%'horiGa'ion *'age 0002: $ 0003: SUBROUTINE V.UP"TE.S"RE.O9IN 0004: $ 0005: /INSERT IO##ON 000: /INSERT IEU"TE 000: /INSERT I.TRN.S"RE.O9IN 0006: /INSERT I.TRN.S.TR"NS"TION 0007: $ 0010: OSUB INITI"9ISE 0011: OSUB PROESS 0012: RETURN 0013: $ 0014: INITI"9ISE: 0015: N.TRN.S"RE.O9IN 8 @.TRN.S"RE.O9IN@ 001: "99 OPN.TRN.S"RE.O9IN<.TRN.S"RE.O9IN? 001: H.I 8 == 0016: R.RE 8 == 0017: RETURN 0020: $ 0021: PROESS: 0022: UST.I 8 R.NE;TRST.USTO#ER.I? 0023: S".I 8 R.NE;TRST.S"RE.I? 0024: H.I 8 S".I :==:UST.I 0025: "99 .RE"@.TRN.S"RE.O9IN@< H.I8 R.NE;TRST.TR"NS.UNITS? 0043: R.REJTRS.URR.OSTK >8 R.NE;TRST.TR"NS.UNITS? $ R.REJTRS."V.PRIEK 0044: "99 .;RITE@.TRN.S"RE.O9IN@
Figure 1.)
Ver'io$ – Aut*ori+atio$ routi$e
Application Program Interfaces
Page of 25
T24 Technical Training
1.2.2.'
INPUT ROUTINE (Fi!d ''.1#
( subroutine may be e3ecuted at the unauthori
To =run> the !*SO) simply enter the application name with the version reference. S1S control can be defined specifically for the !*SO) by enterin$ the name of the !*SO), with the comma, in US*, in the field !*SO). +onse%uently you can restrict access to the records, as well as the application itself. E%&'()e* +onsider a version for e3ample +USTO1*,T*ST. S1S control is defined for the version in US*.
Figure 1., APPLIATION
SMS o$tro# "or -er'io$
Specifies the (pplication used to access records belon$in$ to the +ompany specified in the related +O1/()5 *ST. E%. CUSTOMER
VERSION
Specifies a particular !ersion which may be used to access records for the (pplication entered in the correspondin$ (//L+(TO) E%. CUSTOMER+TEST
FUNTION
Specifies the functions that may be used to access records of the application entered in the (//L+(TO) field. E%. L S
Application Program Interfaces
Page of 25
T24 Technical Training FIELD NO
Specifies a$ainst which field the condition is to be met. E% N&tion&)it, 1/
DATA.OMPARISON Specifies the type of comparison to be made between the
contents of the field indicated in 2*L-.)O and the values specified in -(T(.2O1 and -(T(.TO. E%. E0 DATA.FROM
Specifies the value, or start of a ran$e of values, with which the contents of the field indicated in 2*L- )O are to be compared with. E% US
DATA.TO
Specifies the end of a ran$e of values with which the contents of the field indicated in 2*L- )O are to be compared with.
The version +USTO1*,T*ST limits the user to listin$ and seein$ only those records of the customer application where the nationality is US. 1.2." OVERRIDE.CLASS.DETAILS
OVERRIDE.CLASS.DETAILS allows a subroutine to be defined to manipulate an override messa$e so that the conditions defined in this table may be applied to it. 2or e3ample, an overdraft messa$e could be converted into local currency for allocatin$ an override class dependin$ on the amount. 1.2. PGM.FILE The PGM.FILE has several uses for developers wishin$ to customise GLOBUS. • • •
-efinition of Subroutines to be used in applications -efinition of new applications to be run on4line '-efinition of routines which may be run in the batch
1.2..1 PROGRAM I"/ 2or on4line applications the #ey to this record must be the same as the pro$ram to be run. For'&t* Subroutine name Subroutine name is the name of the application, which can be invo#ed. The field T5/* indicates the application type to be e3ecuted. 2or on4line use this may 0,U,L,T,W or 1. This is invo#ed from U).(//L+(TO) (ny application of types 0,U,L,T or W are used to maintain a file and must conform to the standard T*1/L(T* application type. Type 1 routines are used to e3ecute a specific main line pro$ram where there is no standard file maintenance re%uired, for e3ample a conversion pro$ram, or
Application Program Interfaces
Page 6 of 25
T24 Technical Training
pro$ram to print a report. Where a history is re%uired of a pro$ram bein$ run, a type W pro$ram should be used. When a type 1 pro$ram is written, it 'ust contain a SUBOUT)* statement at the start in order to return to GLOBUS once e3ecuted. *3ample& The type 1 pro$ram SB.LST.LO+7s allows an operator to list the active system loc#s. The pro$ram for SB.LST.LO+7S is as follows& ???@& SUBOUT)* SB.LST.LO+7S ???6& A ???& A This pro$ram performs the LST.*(-U command ???C& A ???D& *E*+UT* F+SF ; A +lear Screen ???& *E*+UT* FLST.*(-UF ???H& +T F/ress eturn TO eturn to GLOBUSF& ???I& )/UT W(T ???J& *TU) ??@?& A ??@@& *)-
The /G1.2L* record for SB.LST.LO+7S is as follows&
The result of e3ecution of SB.LST.LO+7S subroutine at GLOBUS (ction prompt is as follows&
Application Program Interfaces
Page 7 of 25
T24 Technical Training
1.2..2 ATC3.4O This field is used to define the names of subroutines, or Uni!erse commands, which may be e3ecuted from the GLOBUS BATCH.CONTROL process. To be e3ecuted durin$ the end of day the B(T+0.KOB must be defined on a BATCH record. For'&t* Subroutine name or !niVer"e Comman# Subroutine name is the name of the application, which can be invo#ed. !ni$er"e Comman# i" the name of the item defined in the local !O+ file to be e3ecuted. This is a multi4valued field, and several subroutines and or commands may be e3ecuted se%uentially. This is invo#ed from B.)T(T*./O+*SS. ( subroutine may be written to perform specific end of day processin$. This may have a variety of functions, such as maintenance of local files8applications, production of reports, interface file production etc. ( Uni!erse command, or para$raph can also be e3ecuted from this option. (ny item reco$nised in the !O+ file of the correct type may be e3ecuted.
Application Program Interfaces
Page 10 of 25
T24 Technical Training
1.2. ATC3.CONTROL (/ calls li#e subroutine, script, crystal report or en%uiry can be run at the pre batch sta$e. 1ultiple calls may be defined by e3pandin$ the multi4values. For'&t* Subroutine name t has to be defined in !O+ SPT S%ri&t Name t has to be defined in 2.S+/T.-*SG)* RPT Re&ort Name t has to be defined in 2.*/OT.+O)TOL and it has to be a crystal report. EN' En(uir) Name t has to be defined in 2.*)U5 This is a multi4valued field and several (/ calls may be e3ecuted se%uentially. This is invo#ed from B(T+0.+O)TOL. This routine is called Must before control passes to the batch menu. 1.5
S#STEM MANAGEMENT CUSTOMISATION
1.5.1 Introduction This section contains details of options available to users for customisation of system mana$ement. This includes the ability to be able to define commands or e3ecutable pro$rams" to perform system bac#ups as part of the end of day process. 1.5.2 SPF The SPF file allows definition of the commands" used to perform the system bac#up and restore at end of day. 1.5.2.1 UNI$ AC6UP &nd UNI$ RESTORE These fields allow definition of the U)E bac#up and restore commands to be e3ecuted when the end of day process is run. For'&t* !NI* %omman# name !NI* %omman# name may contain any U)E commands" to be e3ecuted. t may also contain a shell script. This is invo#ed from S5ST*1.B(+7U/ and S5ST*1.*STO*
1.
REPORTING 7 EN0UIR# CUSTOMISATION
Application Program Interfaces
Page 11 of 25
T24 Technical Training
1..1 Introduction The GLOBUS utilities REPGEN and EN'!IR+ provide several (/s for users who wish to perform operations on data outside the delivered functionality. GLOBUS also provides options for users to redirect output from reports or micro4 fiches, which could include definition of their own subroutines. 1..2 EN0UIR# The EN'!IR+ application provides three main areas where local routines may be added to provide additional functionality. These are& 'Selection of data where criteria cannot be easily specified within the e3istin$ application this will be covered under STANDARD.SELECTION " '+O)!*SO) routines to manipulate8enhance data to re%uired format BUL-.OUT)* to build initial data to base en%uiry. •
• •
1..2.1 CON8ERSION Local conversion routines may be written to manipulate e3tracted data. For'&t* "ubroutine name Subroutine name is the name of the Universe subroutine to be e3ecuted. )ote the re%uired space between N and the name. This is invo#ed from *).BUL-./(G* for each item the conversion is associated with. The en%uiry system has its own common area I9EN0UIR#.COMMON which must be inserted at the start of all conversion routines. This allows access to the variables controllin$ the en%uiry processin$. The followin$ variables are the most li#ely ones to be re%uired when writin$ a conversion routine& +urrent id of the record bein$ processed .*+O- The current record bein$ processed O.-(T( The current incomin$ data bein$ processed. This is also the returned data. !+ The current multi4value number bein$ processed S The current sub4value number !1.+OU)T The ma3imum number of multi4values within the current record S1.+OU)T The ma3imum number of sub4values within the current record
Application Program Interfaces
Page 12 of 25
T24 Technical Training
E%&'()e* The followin$ e3ample shows a routine, which displays either the actual maturity date of an L-811 deal, or displays the number of days notice&
1..2.2
UIL".ROUTINE
( routine may be called prior to the selection phase of the en%uiry when runnin$ the en%uiry. This routine should be used to manipulate the data prior to selection, for instance it could be used to build a wor# file. For'&t* Subroutine name Subroutine name is the name of the Universe subroutine to be e3ecuted. 1ore than one routine may be specified. This is invo#ed from T.*)U5.S*L*+T and S.*)U5.S*L+TO). t uses one ar$ument 4 EN', - here EN' is a dynamic array containin$ the entered selection criteria as follows& EN'/0 EN'1,20 EN'3,20 EN'4,2,)0
)ame of en%uiry Selection field names (ssociated Operands -ata List
The data passed in EN' should be used within the subroutine to determine the action to be ta#en. )o data is re%uired to be returned to the en%uiry system.
1..2.5
E$TERNAL LIN6 TO EN0UIRIES
Application Program Interfaces
Page 13 of 25
T24 Technical Training
The en%uiry system is not dependent on bein$ invo#ed by the selection screen *). t can be invo#ed from applications providin$ they are runnin$ under GLOBUS" usin$ the followin$ ar$ument synta3& +(LL *)U5.-S/L(5 '''" where ''' is a dynamic array with the format& '''/0 *n%uiry name #ey to 2.*)U5" '''1,20 Selection field names '''3,20 (ssociated selection operands '''4,2,)0 (ssociated selection data '''5,60 1ulti valued list of sort re%uirements '''/70 -isplay mode t can be& OUT/UT /rint in report format )ull -isplay to screen / /rint of screen format 1..5 STAN"AR" SELECTION The STANDARD.SELECTION application allows definition of local subroutines, which can be used as selection items in the *n%uiry system. These can be used within en%uiry to perform selections of data not possible throu$h the e3istin$ system. They can also be used to build virtual records containin$ data from different files; this can be achieved usin$ a )O2L* record type. 1..5.1 S#S.FIEL".NO &nd USR.FIEL".NO These fields are used to hold the routine name when the associated S5S.T5/* or US.T5/* is a type . For'&t* Subroutine name Subroutine name is the name of the subroutine to be e3ecuted. This is invo#ed from +O)+(T.LST./O+*SSO Ar:u'ents* RTN.LIST where RTN.LIST is a dynamic array containin$ the selected #eys to be returned to the en%uiry system, separated by field mar#ers N21". The main purpose of usin$ a routine at this point is to return a list of #eys for the en%uiry process to use. /ossible reasons for usin$ a routine may be, the selection re%uired mi$ht not be possible to enter directly in the en%uiry system; re%uire additional chec#s are re%uired; the selection may simply be too slow and re%uires an alternative access method. Since the routine will need to use the common en%uiry variables, the insert I9EN0UIR#.COMMON should always be inserted at the top of the subroutine. The main variables li#ely to be re%uired are&
Application Program Interfaces
Page 14 of 25
T24 Technical Training
-.2*L-SPEQ -.LOG+(L.O/*()-SPEQ
-.()G*.()-.!(LU*PE,5Q
+ontains a list of the Selection 2ield )ames +ontains a list of the associated operands entered in numeric form. The followin$ values are used& @ * 6 G LT C GT D )* L7 H UL I L* J G* @? ) @@ (ssociated entered values.
The routine must perform the re%uired processin$ to build the RTN.LIST. )ote that if this routine is bein$ used to 9pre4select: data ready for a further selection within the en%uiry system, if no records are returned, the en%uiry system will attempt to select the whole file. This may have performance implications. 1..5.2
NOFILE St&nd&rd Se)ection Records
f the information that needs to be presented in an en%uiry does not e3ists in the sin$le file, then the en%uiry can be made to ta#e information form routines. To do this first let us understand the way in which en%uiry subsystem wor#s. The en%uiry subsystem first builds up list of -s, then pic#up each - and constructs a record and then displays the records. f the information needs to present does not e3ists in a file then subroutine can be written to do the tas#. Basically 6 routines needs to be written 4 One which will construct the list of -s and one which will accept the - and build the record based on -. f the field is specified in an en%uiry the type and position of the field is retrieved from the standard selection record of the file mentioned in the 2L*.)(1*. Standard selection is an application that basically stores the dictionary for a file. 5ou could have data fields and lo$ical fields i.e. the information is a calculated value for e.$. from a subroutine". 0owever $enerally when you try to input a standard selection record it will validate if a 2L*.+O)TOL record e3ists for the file. The only e3ception to this is if the SS record id be$ins with =)O2L*>. So for our above re%uirement we will need to create an SS record with - startin$ with =)O2L*>. n the record for the - field ma#e it an type field and attach a routine that would build a dynamic array of ids that need to be displayed in the en%uiry.
Application Program Interfaces
Page 15 of 25
T24 Technical Training
R*)U5.+O11O), a common file that is used in en%uires defines a variable called O.-(T( which contains the - of the record that is currently $oin$ to be displayed. (nother common variable called .*+O- a dynamic array" is used by the en%uiry subsystem to display the record. So you need to write a routine that would use the id defined in O.-(T( and populate .*+O-. Ste(1* ;rite t
Application Program Interfaces
Page 1 of 25
T24 Technical Training * IF Y.OPERAND = 1 T#EN Y.I = Y.I = 1 Y.CUST.ID = Y.C#&.'ALUE<11Y.I READ Y.CUST.REC FROM F.CUSTOMER Y.CUST.ID ELSE Y.CUST.REC = IF Y.CUST.REC T#EN Y.CUST.ARRAY<-1 = Y.CUST.ID END END * IF Y.OPERAND = T#EN Y.I = 1 Y.% = Y.C#&.'ALUE<11Y.I Y.SEL.SET = SSELECT : FN.CUSTOMER
CALL EB.READLIST(Y.SEL.SETSEL.LIST""NO.OF.RECERR1) LOOP REMO'E FIRST.ID FROM SEL.LIST SETTIN! POS +#ILE FIRST.ID:POS IF FIRST.ID NE Y.% T#EN Y.CUST.ARRAY<-1 = FIRST.ID END REPEAT END RETURN
*---------------------------------------------------------END
Ste(2* ;rite ¬o?e =it
I_COMMON I_EQUATE I_ENQUIRY.COMMON I_F.CUSTOMER I_F.ACCOUNT
FN.ACCOUNT = "F.ACCOUNT" CALL OPF(FN.ACCOUNTF.ACCOUNT) TOT = IF O.DATA NE T#EN SEL.REC = "SELECT ": FN.ACCOUNT SEL.REC := " +IT# CUSTOMER EQ ":O.DATA SEL.REC := " TO 1" CALL ,#US#IT(1) E%ECUTE SEL.REC CALL ,#US#IT()
LOOP READNE%T &.RECORD FROM 1 ELSE &.RECORD = +#ILE &.RECORD DO READ R.RECORD FROM F.ACCOUNT &.RECORD ELSE R.RECORD =
Application Program Interfaces
Page 1 of 25
T24 Technical Training
IF R.RECORD T#EN TOT = TOT R.RECORD
Ste(5* Cre&te ne= St&nd&rd Se)ection record =it< t
Ro%'ine Na,e
Application Program Interfaces
Page 16 of 25
T24 Technical Training
Ste(* Cre&te enuir, =it< t
1.. REPGEN.CREATE The rep$en utility allows use of subroutines in two areas& '1O-2+(TO) '2L.-*+SO).2 • •
1...1 FL."ECISION.FR ep$en allows a subroutine to be entered to perform a selection. The value SUB must be entered in 2L.-*+SO) to indicate that this field contains a sub4routine definition. For'&t* Subroutine name Subroutine name is the name of the subroutine to be e3ecuted. Only one subroutine may be defined per read file. The "ubroutine name must be defined on /G1.2L* file as a type S application. This is invo#ed from GS.... pro$ram $enerated. t uses the ar$ument FILENAME, -8i%8 is the full filename to be selected. The routine should perform the re%uired selection of the 2L*)(1* supplied and return an ACTI8E select list to the GS... pro$ram. The */G*).SOT record is available in .)*W, and may contain specified values in the fields +O)ST()TS.
1...2 MO"IFICATION
Application Program Interfaces
Page 17 of 25
T24 Technical Training
The 1O-2+(TO) field allows a sub4routine to be called to manipulate the e3tracted data. For'&t* N Subroutine name9n Subroutine name is the name of the Universe subroutine to be e3ecuted. 9n denotes the ar$ument number in the call to the subroutine. The subroutine must be defined in PGM.FILE as a type routine, to$ether with the re%uired number of parameters in field (--TO)(L.)2O as ./(33, ..33". The actual name of the sub4routine must be defined in the PGM.FILE record in the field B(T+0./O+*SS prefi3ed by a N. This is invo#ed from GS.... pro$ram $enerated.t uses the ar$uments 4 Par/, Parn - here Parn may be any number of parameters at least one" as per the definition in PGM.FILE . (ll details re%uired in the subroutine from the rep$en must be passed into the subroutine as separate ar$uments. ( sin$le value may be returned. 1.. PRINTER.I" (llows definition of a command or routine" which can be used to create a file of printed output. This means that whenever GLOBUS output is directed to this printer id the command will be invo#ed. 1...1 COMMAN" (ny Uni!erse command or subroutine may be specified here. Usually a U)E cat command will be used to build a file. For'&t* Comman# Comman# may be any e3ecutable command from Universe. t is invo#ed from *E*+UT*.+O11()-. The routine is driven from 2.0OL-.+O)TOL, and will be able to pass the id in the command line. This can then be accessed within any re%uired routine usin$ the system variable NS*)T*)+*. 2or e3ample, the command specified could be& LO+(L./)T.LO(- 0OL-.+O)TOLQN- The routine would then have to chec# NS*)T*)+*9 9,6,@ in order to e3tract the -.
Application Program Interfaces
Page 20 of 25
T24 Technical Training
1. "ELI8ER# S#STEM 1..1 Introduction The GLOBUS delivery system provides the ability for user defined routines for mappin$ messa$es, control of disposition, processin$ SW2T interfaces, and for formattin$ inward and outward Swift messa$es. The -elivery system has been further opened up to enable users to define their own formattin$ rules for messa$es and to write interface routines, usin$ the Generic -elivery nterface. 1..2 "E.FORMAT.S;IFT The DE.FORMAT.S:IFT application allows a subroutine to be called for a particular Swift 2ield when processin$ incomin$ Swift messa$es 1..5 "E.;OR"S This application allows a user routine to be defined for a $iven lan$ua$e to allow translation of numbers to words. 1.. "E."ISP.CONTROL ( user4defined routine may be called to provide enhanced selection for disposition control. 1.. "E.MAPPING The DE.MAPPING application allows a user subroutine to modify the information passed to (//L+(TO).0()-O22 by the callin$ application and hence to map additional data which is not normally available for the messa$e type. 1.. "E.CARRIER The delivery carrier file, DE.CARRIE , contains details of all the carriers available in -elivery. To enable a carrier, it must be specified on the -elivery /arameter file, DE.PAR 1. The - of this file is the name of the carrier, as used in DE.PROD!C T. *ach record contains the address type to be used for the carrier i.e. when accessin$ DE.ADDRESS", the formattin$ rules ;DE.FORMAT.%arrie r" and the carrier module e.$. -*.O.++.SW2T". f the carrier module is G*)*+, i.e. the messa$es are handled by the $eneric pro$ram DE.CC.GENERI +, interface must be specified. The interface must reference a record on DE.INTERFAC *, which contains details of the protocol for all $eneric interfaces non4$eneric interface details are stored on the parameter file, DE.PAR 1". When the record is authorised, formattin$ and carrier files are created if they do not already e3ist. These files are 2.-*.O.1SG.format4module and 2.-*.O./.format4module for the formattin$ files and 2.-*.O.1SG.interface and 2.-*..1SG.interface for the interface files. 1..B "E.INTERFACE
Application Program Interfaces
Page 21 of 25
T24 Technical Training
This file contains details of the protocols for all interfaces which use the Generic -elivery nterface. The protocols for interfaces written prior to the introduction of the Generic -elivery nterface are either stored on DE.PARM or are hard4coded in the pro$ram. Se%uence numbers for e3istin$ interfaces are stored on 2.LO+7)G. The id of the file is the interface as defined in the interface field on -*.+(*. There is little validation of the fields on DE.INTERFAC *. This is to allow for ma3imum fle3ibility when new interfaces are written. *ach field can be used to control how the interface is defined and used and more information can be found in the 0elpte3t. 1.. "E.MESSAGE ( routine can be defined to process inward messa$es to $enerate 2unds Transfers usin$ the O2S module. 1..D F".ACTI8IT# The 2iduciary application allows subroutines to be called to modify the contents of data passed to delivery from the application. 1..1 MG.ACTI8IT# The mort$a$e application allows subroutines to be called to modify the contents of data passed to delivery from the application.
1.
INTERFACES - LOCAL CLEARING
1..1 Introduction GLOBUS provides options for allowin$ the re%uired additional functionality to be added to the 2unds Transfer module in order to allow local clearin$ transactions to be entered accordin$ to the local rules. This functionality is provided by the parameter file FT.BC.PARAMETER for the local clearin$ transaction types, B+, B and B-. The parameter allows subroutines to be added to perform specific local validation, and update of cross4reference files and production of additional8new delivery messa$es. ( further option allows a sub4routine to be invo#ed from the delivery processin$, which can allow diversion of messa$es with different carriers into the local clearin$ system accordin$ to the coded rules.
Application Program Interfaces
Page 22 of 25
T24 Technical Training
1..2 FT.C.PARAMETER This application allows customisation of e3istin$ field level validation for the B+ 2unds Transaction type. (dditionally subroutines may be defined to perform specific local validation within the 2T module in the followin$ fields& 2T.!(L-(TO).T) 2T.-*L!*5.T) STO.!(L-(TO).T) BUL7.STO.!(L-.T) • • • •
(dditionally the ability to define subroutines called from the C!STOMER and ACCO!NT applications is provided in the fields& (++OU)T.U/-.T) +USTO1*.U/-.T) • •
( subroutine to allow diversion of messa$es into the local clearin$ system within the delivery system may be defined in& -!*SO).T) •
1..5 FT.TAPE.PARAMS The FT.TAPE.PARAMS application mana$es import and e3port of data for the local clearin$ systems" installed. -ata is typically downloaded or uploaded onto tapes, or directly to a specified file. Subroutines and commands may be defined for each type of interface which are used for& LO(-.+1LO(-.OUT)* U/-(T*.OUT)* +*(T*.+1+*(T*.OUT)* G*)*(T*.OUT)* *)./UG*.OUT)* • • • • • • •
1.. AC.ENTR#.PARAM The AC.ENTR+.PARAM application controls the Generic (ccountin$ nterface. t contains boo#in$ details of entries supplied in an e3ternal (S+ file, and the layout of the file. The standard routine (+.)W(-.2L* should be used as the U/-(T* routine in FT.TAPES to run the $eneric interface. (dditional validation is possible by callin$ user routines.
Application Program Interfaces
Page 23 of 25
T24 Technical Training
1.B
LOCAL STATUTOR# REPORTING
1.B.1 Introduction GLOBUS allows subroutines to be called at input time for the applications F!NDS.TRANSFE . DATA.CAPT!R *, TELLER and DRA:INGS, which can validate and default local reference values used in local reportin$. Typically an activity code will be allocated accordin$ to the type of contract entered. 1.B.2 AN6.RETURN.PARAMS This application allows definition of subroutines to be called from the T*LL*, 2U)-S.T()S2*, -(T(.+(/TU* and -(W)GS applications at input time to allow defaultin$ and validation of local reference items. The record applicable to the company is defined in LO+(L./O+*SS in the COMPAN+ record. 1.
TA6EO8ER 7 INSTALLATION CUSTOMISATION
1..1 Introduction n order to assist the ta#eover of e3istin$ systems when installin$ GLOBUS, the system allows lin#a$e of subroutines. Subroutines will usually be re%uired to perform processin$ which allows e3istin$ file structures to be mapped into the appropriate GLOBUS data files. 1..2 ALT.ACCT.PARAMETER The application ALT.ACCT.PARAMETE , allows definition of the details of the account number structure in the e3istin$ system. The old account number is stored in a cross4reference table lin#in$ it to the new GLOBUS account number, called ALTERNATE.ACCO!N T. 1..5 ES.AUTO.FUNCTION The system allows a subroutine to be inserted when buildin$ the input buffer when contents need to be calculated, and when maintainin$ totals for the records processed. 1.. TA6EO8ER.MAPPING Subroutines may be defined in TA
Application Program Interfaces
Page 24 of 25
T24 Technical Training
1.D
LIMITS
1.D.1 Introduction n order to allow comple3 calculations of ris# factors to be applied to limit products or sub4products, the L1T.*2**)+* application allows definition of a subroutine, which may be invo#ed. The subroutine will return the amount of a $iven transaction to be recorded in the limits system. 1.1 COMPAN# CUSTOMISATION 1.1.1 Introduction n order to allow for different account number structures and chec#di$it calculations, the chec#di$it type may be defined as a user routine, which will perform the desired formattin$ and chec#di$it validation. This routine should also return the ne3t available id if called from the (++OU)T application with 2 or 26 entered at awaitin$ id. The routine is specified in the COMPAN+ record.
Application Program Interfaces
Page 25 of 25