Build Control User Guide
Build Control User Guide
User Guide
No part of this document may be reproduced or transmitted in any form or by any means, for any purpose,
without the express written permission of TEMENOS HEADQUARTERS SA.
COPYRIGHT 2007 - 2008 TEMENOS HEADQUARTERS SA. All rights reserved.
Build Control – User Guide
Table of Contents
2
Build Control – User Guide
[Link] ..................................................................................................... 29
[Link] ....................................................................................................... 29
[Link] ..................................................................................................... 30
[Link] .............................................................................................. 30
3
Build Control – User Guide
Document History
Comments:
User Guide
4
Build Control – User Guide
5
Build Control – User Guide
Introduction
The [Link] is a T24 Package deployment tool – very similar to [Link] except
that it also updates [Link] definition, [Link] I-descriptors,
automatic restoration of data records (using [Link]) and authorisation of records
restored using [Link].
1. Product Overview
The [Link] is a deployment tool that could be used to install non-core T24
applications and to move packages developed locally, on-site, from one environment to
another.
The basic idea is the same as [Link]. It save the details in one environment and release
them in another.
Typically in any implementation, the developments and configurations will be done in the build
environment. Then it is moved to the master and UAT environments and hence the name is
called as „[Link]‟.
It provides the user to perform the following processes in T24.
Save programs, data libraries, local reference table definitions, standard selection
descriptors and release them in another T24 environment;
Automatic restoration of data libraries using [Link];
Automatic authorisation of restored records using OFS;
Release Idescriptors;
Update [Link] with the saved definitions;
Compile/Catalog the programs released;
The resultant package will be saved in the path given in [Link] field, along with an
Index that will be used for Release operations. The contents of the package will be similar to
[Link].
6
Build Control – User Guide
2. Tables
The [Link] package consists of the table namely – [Link].
Given below is the brief description of each fields present in this table.
7
Build Control – User Guide
2
However, this lib has to be added to JBCOBJECTLIST in Login profile or [Link]
manually.
3
However, this bin has to be added to PATH in Login profile or [Link] manually.
8
Build Control – User Guide
data libraries.
9
Build Control – User Guide
Save Activities
The Build Control system creates a package that includes Programs/Object Codes,
[Link] units, Local Ref definitions, Idesc Definitions, Flat File details, new tables to be
released etc. Each of these components is saved in a layered approach and the priority of
these layers as given below.
1. [Link] – Save [Link] units
2. [Link] – Refresh I-desc definitions from [Link]
3. CONSOLIDATE – Integrate all the DL DEFINE units from [Link] to
[Link]/SAVE
4. PROGRAM – Use saved list or Select command to select programs and organise
under [Link]/SAVE
5. [Link] – Write a copy of [Link]
At the end of this process, a Build Control unit is created under the path specified in
[Link] and all the components are saved under that folder. A copy of [Link] is written
to this folder, with the name BCON_ID of Build Control where ID of Build Control is the ID to
the Current [Link] record being saved.
Release Activities
The Release/restore operation also follows a layered approach in restoring the components of
the Build Control Package. The order of these layers is as given below.
1. [Link] – Create any flat files defined
2. [Link] – Use DL PARAMETER RUN and DL DEFINE RUN to
release/restore [Link] units from [Link]/RELEASE
3. [Link] – Create RELEASE BP, if need to be, Release programs, compile
or catalog.
4. [Link] – Rebuild dictionary ([Link]) record for new
tables.
5. [Link] – Release Dictionary definitions
6. [Link] – Authorise [Link] records if in IHLD and Release Local
ref definitions.
7. [Link] – Not used currently
4
ID to [Link] follows the same convention as [Link].
10
Build Control – User Guide
SAVE
1. Enter [Link],MAIN5 at the Command Prompt.
2. Enter the ID that you would like to give to your Build Control Package (Having a date
component will help)
3. This will open up a set of associated versions as shown below.
4. Commit the record.
5. Open the record in V function and commit it. This will create a Build Control unit,
similar to DL DEFINE unit under the Build Control Save path.
5
Except for Release of Programs, [Link] supports operations from Browser.
Where Release of programs is involved, it must be done either in Desktop or Classic mode.
After compilation, however, tcserver needs to be stopped and restarted.
11
Build Control – User Guide
Main Screen
Use this screen to
Enter the Action – SAVE/RELEASE/HOLD/[Link]/[Link]/DL.AUTH6
Give a brief description on this package/in case of patch – what is the patch for
Mnemonic – just some name – currently not used for any specific purpose.
What Happens
SAVE – A new folder with the name same as the Record ID, is created under this
path and the build control unit is saved in this path (similar in function to [Link]
Unit)
Programs
Use this screen to define
1. The BP where the programs/object codes ($ Files) reside,
2. The Selection criteria7 and
3. The BP where the programs/object codes ($ Files) need to be restored in the
destination environment.
4. JBCDEV_LIB & JBCDEV_BIN to be set when Compiling/Cataloguing in the
destination environment8. Leaving these fields blank will result in the default
JBCDEV_LIB and JBCDEV_BIN, as defined in [Link] or .profile, being used.
6
If the action is not SAVE, then enter the Action and go straight to Release tab „To Release a
package, come here‟
7
This can either be a jQL statement or a Saved list prefixed by the key word „SL-„.
12
Build Control – User Guide
What Happens
SAVE – A new folder with the name same as the [Link] is created under
Build Control Unit Save path and the saved list or the select Command is used to
select the [Link] and the records are copied to the Build Control path‟s BP
folder.
RELEASE – The Release BP, if it doesn‟t already exist, is created in the destination
environment and the contents of the BP in Build Control unit are copied to the
Release BP. After setting JBCDEV_LIB and JBCDEV_BIN to required values, the
copied files – depending on whether they are source or object codes, are either
compiled using [Link] or catalogued using CATALOG command.
DL DEFINE Units
Use this screen to
1. Define the [Link] units that need to be saved as part of this package.
2. Define the company from which the records defined in [Link] need to be saved, in
case there are FIN type file records
What Happens
SAVE – The [Link] units are saved by invoking [Link] and the resultant
[Link] units are copied into Build Control save path.
RELEASE – The DL DEFINE Unit from under ../[Link]/RELEASE/<BCON unit
name>, will be copied to ../[Link]/[Link] and [Link] and
[Link] will be invoked to release and restore the DL DEFINE records.
Dict Items
Use this screen to
Define any Dictionary items – I-descriptor definitions that need to be saved as part of
the package.9
8
The path must be defined relative to Home directory – as in, $HOME/gdgitlib. While
restoring, the system will check if that path has been added to $JBCOBJECTLIST, else will
return an error. Similarly, JBCDEV_BIN path must have been included in $PATH.
9
Only enter the Standard Selection ID and the Idesc Name. The properties will automatically
be defaulted from [Link]. Every time the Build Control is saved, these
properties are refreshed automatically from [Link].
13
Build Control – User Guide
What Happens
SAVE – The properties – like TYPE, FIELD NO, VAL PROG and all other Standard
Selection fields are saved in their corresponding fields in [Link] of
[Link].
RELEASE – The idesc name is checked in [Link] and updated
with the details from [Link]; the [Link] record is locked, updated
and written to $NAU. [Link] is used to authorise this
[Link] record and thereby rebuilding dictionary.
LOCAL REF
Use this screen to define
The Local ref definitions for all the T24 applications that need to be part of this
package10
What Happens
SAVE – Nothing. The definitions are validated.
RELEASE – Based on the definitions and after ensuring that the Local ref fields are
available in [Link], the corresponding [Link] record is updated
with this definition. If the Local Ref is already attached to the application, then the
association is overwritten with this definition.
10
Please note that the [Link] records being defined here must be present.
14
Build Control – User Guide
What Happens
SAVE – Nothing.
RELEASE – A new record is locked and created in [Link], $NAU
file, on IHLD status. OFS GLOBUS MANAGER is used to authorise that record.
Instead of saving the [Link] record for new tables as part of the
[Link], specify the name of the table here11.
11
This proves to be helpful when a new table is being released and an Idescriptor also needs
to be attached to that [Link]. Since the Authorisation of restored DL
DEFINE records happen after the activity of restoring Idesc definitions, there will be a run time
error. However, by specifying the table here, the [Link] is rebuilt even
before Idesc activity is done and hence restoring Idesc definitions will be successful.
15
Build Control – User Guide
Flat Files
Use this screen to define
The path of flat files (Unix/NT directories – TYPE UD Files) that need to be created
when restoring this package.
What Happens
SAVE – Nothing
RELEASE – The path, folders are created and a VOC pointer is created with ID as
the last part as the ID
Results
Once the Save operation is complete, the system will be automatically displays the results in
the form of a standard T24 Enquiry, as shown below.
16
Build Control – User Guide
Package Checklist
Use the enquiry [Link] to review the contents of the package.
Shown below is a screen shot of this enquiry, running on a package called TMNS000-
[Link].
17
Build Control – User Guide
RELEASE
To release a package,
Copy the [Link] unit under the Build Control Release path (typically
../[Link]/RELEASE);
Launch [Link] and enter the name of the Build Control Unit as the ID
Commit the record after following steps 5.4.1 and 5.4.2.
Open the record in V function;
Commit the record and the package will be deployed12.
Main Screen
Use this screen to
Enter the ACTION – RELEASE
12
If the deployment involves Compilation/Cataloguing of programs, then the system would
prompt to log off and login back before continuing with the rest of the restoration process and
after the prompt, in effect, will automatically log the user out of the session.
18
Build Control – User Guide
The path of DL DEFINE Restore path will automatically be defaulted from the Index
record. If that path does not exist, the system will return an error message.
Define the [Link] record to be used by OFS GLOBUS MANAGER to
authorise Restored records.
- In this case, and all cases, by default, it will be [Link]
The field „If a Live Record Exists‟ is to tell the system what it should do when a record
released by DL DEFINE restoration, already exists in Live File.
a) It should simply go ahead and authorise the restored DL DEFINE record;
b) Check which is the latest – the live or the restored and determine whether to
authorise or ignore based on that;
c) Ignore the authorisation for that record.
13
Refer to Section 5.1 for the source of this Index
19
Build Control – User Guide
Authorisation Priority
Define the priority of Authorisation for the restored records.
- The priority is to take care of the dependency in authorising a record in a
given application, on another application. For example, a [Link]
record cannot be authorised until all the items defined in it (like VERSION,
ENQUIRY) is authorised.
- A default set of priority will be automatically populated by the system. The
operators can however, add/remove/change the priority.
- Prior to authorisation activity, all the records restored as part of this package
are sorted based on the priority for their file names as defined here and the
records are authorised according to this priority.
20
Build Control – User Guide
Output
The following screen shot shows an example of a package saved by BUILD CONTROL14.
14
This screen shot is taken in a Windows environment. The folder structure will be the same
in any other platform too.
21
Build Control – User Guide
[Link]
This is the BP defined as [Link], from which programs were selected. Note that
there were 2 programs in the Saved list [Link].PGMS15
SAVEDLISTS
If a Saved list had been mentioned in [Link] field, then that Saved list will be copied
under this folder. During RELEASE Operation, this will be copied over to &SAVEDLISTS& in
the destined environment.
15
Refer back to Section 5.3.3 for clarification.
22
Build Control – User Guide
[Link]
This is the [Link] to be saved part of the package16. During the RELEASE Operation,
this will be copied over to DL DEFINE restore path (typically, ../[Link]/[Link])
and restored/released using [Link] and [Link].
16
Refer back to Section 5.3.4 for clarification
23
Build Control – User Guide
When verified, [Link] will create the resultant unit under [Link]/SAVE17
(the folder highlighted)
17
The screen shot shown here is from a T24 on jBASE NT environment. This directory
structure holds good for other platforms too.
24
Build Control – User Guide
RELEASE
To test releasing a package, copy the [Link] unit TMNS000-
[Link] under [Link]/RELEASE.
In the Release Tab, in the field „Release package is available under‟, enter the path
(only the relative path – with respect to the environment‟s run directory) where the
[Link] Unit has been copied over.
The system will, along with other details, default the path where DL Units need to be
copied (as in ../[Link]/[Link] or ../[Link]) which may not be the
same in both Save and Release environments. Manually change the value if the
system raises an error.
18
DO NOT enter any value in the fields Package/Build Name or Mnemonic, during RELEASE
Operation.
25
Build Control – User Guide
At field input, if the path is correct, then the system will load the record based on the
index file BCON_TMNS000-[Link] stored under the release path.
Note, in the following 2 screen shots, the system has populated the Release details.
26
Build Control – User Guide
In the Release tab, in the field „OFS Source to be used for Authorising‟ enter the ID of
the [Link] to be used for authorising the records. At this field input, the
system will default Authorisation Priority. The user can amend this priority as
applicable.
19
After releasing Programs, the system will prompt to be logged out and login again. After
logging back in, the Release process will continue from where it was left.
27
Build Control – User Guide
[Link]
With this action, [Link] should releases all the programs that are part of the DL
Units specified in the multi-valued field [Link].
Saving and releasing programs, works exactly the same way as RELEASE. To release a
program, the ACTION could be set to [Link] or RELEASE.
Since the sample [Link] unit [Link] contains programs,
it can be used for testing [Link] alone.
If the field [Link] is NULL, then programs will not be Compiled/Catalogued.
Note: If the user chooses to release using [Link], then, the Action must first be set
to [Link] and Verified first (so that the programs are restored). Subsequently, the
Action can be set to [Link] and Verified.
[Link]
With this action, [Link] restores all the data records part of the DL Units specified
in the multi-valued field [Link].
Since the sample [Link] unit [Link] also contains data
records, it can be used for testing [Link] alone.
When the ACTION is set to RELEASE, [Link] automatically copies the DL Units
from [Link]/RELEASE to the DL Restore path (as in, [Link]/[Link]),
and then uses [Link] & [Link] to release & restore those records.
However, when the Action is set to [Link], the system assumes that the required DL
Units are already present in the DL Restore path (as in [Link]/[Link] or
.../[Link]). The user has to move the DL Units manually under the DL Restore path
before setting the Action to [Link]
[Link]
With this action, [Link] authorises all the data records part of DL Units specified
in the multi-valued field [Link]
Since the sample [Link] unit [Link] also contains data
records, it can be used for testing [Link] alone.
This will enable Authorisation of Restored records. However, when Action is set to
[Link], the system assumes that the records have already been restored and
will only attempt to authorise them.
Note: If the user chooses to authorise using [Link], then, the Action must first
be set to [Link] and Verified (so that the programs/records are restored).
Subsequently, the Action can be set to [Link] and Verified.
28
Build Control – User Guide
4. Technical Details
This section covers some of the significant programs involved in the process.
Click here to see a diagrammatic representation of the process flow for [Link]
[Link]
This section covers an overview of Validations done at various stages, inside this
template.
[Link]
If Function is V and if being invoked from Browser and if the package installation
involves Program Release, an error message will be raised.
Also, restriction on Opening a new record in Verify mode.
[Link]
Immediately after [Link], this subroutine sets the enrichments to certain
fields which do not have an associated CHECKFILE.
[Link]
This subroutine will be invoked when the function is V.
[Link] is again invoked inside this subroutine and subsequently,
[Link] is invoked.
[Link]
Invoked from [Link] template, to load the Common variables used by
[Link] & [Link].
[Link]
$RUN routine for [Link] template, called from CALL.$RUN in
[Link]
Based on the value in the field ACTION, it invokes either [Link] or
[Link].
While invoking either of them, it also determines which Activity to be carried out by
them using 2 common variables called C$[Link] and
C$[Link], as appropriate.
29
Build Control – User Guide
[Link]
Invoked from [Link], when the field ACTION is set to SAVE.
There are, by default, 5 steps in the process of saving a [Link] Unit. This
routine is called by [Link] for each step. Each of these steps are
defined as [Link] in I_BCON.COMMON
The sequence of events will be –
- Save the programs
- Save the [Link] Units
- Refresh the definition of descriptors from [Link], into
[Link]
- Consolidate all the [Link] Units
- Build the Index File prefixed with BCON_.
Every time a [Link] Unit is saved, the Unit, if it already exists in the
[Link], is deleted and recreated by this routine.
When this routine is invoked with activity as „CONSOLIDATE‟ and if V$FUNCTION is
R, then it will delete the saved [Link] unit from the [Link].
Calls [Link] with Operation set to „S‟, for each [Link] Unit defined in
the [Link] multi-valued field.
[Link]
Invoked from [Link], when the field ACTION is set to
RELEASE/[Link]/[Link]/[Link]
There are, by default, 7 steps in the process of releasing a [Link] unit.
This routine is called by [Link] for each step, in the case of ACTION
is RELEASE or for just that step in the case of ACTION = [Link] or
[Link] or [Link].
Each of these steps are defined as [Link] in I_BCON.COMMON
The sequence of events will be –
- Create any flat files defined in the [Link] field;
- Move, Release & Restore [Link] Units defined in the [Link] multi-
valued field;
- Release Programs (Compile or Catalog);
- Release Dictionary Items (Idescriptors) and rebuild standard selection (using
OFS);
- Authorise [Link] & Attach them to [Link], as per the
definition in [Link], [Link] & [Link] fields;
- Authorise other records restored using [Link].
Calls [Link] for releasing (creating [Link] records) for the
[Link] Units;
Every time a [Link] is releases the Unit, if it is already exists in [Link], it
is deleted and recreated.
Calls [Link] with Operation set to „R‟ for each [Link] Unit defined in
the [Link] multi-valued field.
30
Build Control – User Guide
31