0% found this document useful (0 votes)
122 views

TAFC or JBASE Config

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
122 views

TAFC or JBASE Config

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 21

TAFC/jBASE

We have copied jBASE of MODEL_BANK_TAFC R15 release from

\\10.93.5.18\Localhost\MODEL_BANK_TAFC\R15.000\jBase

TAFC Application from

\\10.93.5.18\Localhost\TAFC_RUNTIME\R15\TAFC_R15_SP3

Installed TAFC Application in my local and changing the value of environmental variable in the
remote.cmd script file.

 Open cmd in admin mode


 Navigate into C:\TAFC\bnk\bnk.run
 Run your remote.cmd script file

For resolving ERROR! License for the hostname not found

PFB You have to add license of jBASE in the system.properties file (C:\TAFC\R15\config)

Note: First line is default license and 2nd line is added by us (TAFC R15 SP3 - Internal override code (Non
Expiring) is taken from \\10.93.5.18\Localhost\TAFC_RUNTIME\R15\TAFC_R15_SP3)

Only two variables are set it up in remote.cmd


We have created user directory CREATE-FILE KALAI.BP TYPE=UD

It’s created under (inside these two folders, .jbase_header file has been created)

JEDIFILENAME_MD

 This variable should be used if you require the use of the MD/VOC file to hold Q pointers, jCL
programs, paragraphs or entries for the jQL language.
 F pointers and Q pointers in an MD / VOC take precedence over paths in the JEDIFILEPATH.
 No default value
 Valid file path; while it is not required, it is strongly advised that this value be set to the complete
path of the MD and not a relative path (as an example, “/home/bob/MD]D” should be used
instead of “./MD]D”).
 As per normal environment variable, so it can be set at any time by the commands:
SET JEDIFILENAME_MD=D:\GLOBAL\VOC
After setting the variable SET JEDIFILENAME_MD=%HOME%\VOC in remote.cmd script and ran the
same cmd in jsh.

Ex.1

We have created simple program CIF

By using below commands, Enter your program name by using JED editor
Coding:

Press Escape and then type FI, it will move your cursor to command and save your source file.
Compilation

Because V C++ Compiler was not installed. For that we have installed the compiler and configured the
environmental variables (INCLUDE, LIB and PATH) in remote.cmd

Compiler showed the errors

Once we corrected the if else statement, it has been compiled successfully

When I tried, Execution of CIF thrown “Unable to Execute” Error. With the help of Ojasvi we changed the
value of the JBCDEV_BIN and JBCDEV_LIB variables in remote.cmd
CATALOG (C:\TAFC\bnk\bnk.run\bin)

Execution of the program

Jshow –c will help you know executable location, Data & time details.
Ex. 2

I have created one program and calling anther program.

Program A

Subroutine

Note: In program A, We have called PHNO subroutine.

We noticed above error and found incorrect value for the JBCOBJECTLIST and corrected the same in
remote.cmd script.
Subroutine has compiled successfully

Execution of program PGMTEST

Note: In this above example, I have made some changes (‘input customer name’ changed into ‘input
phone no’) in subroutine. After that, I have compiled and cataloged the subroutine otherwise those
changes won’t reflect while running your program.

Environment Variables in .profile/remote.cmd


Initial Environment Variables
 JBCRELEASEDIR, Defines the release directory for the jBASE system executables and libraries.
 JBCGLOBALDIR, same as JBCRELEASEDIR, no need to specify this in your remote.cmd script.
 JBCOBJECTLIST, Defines the directories to find user shared object libraries where user
subroutines are located.
 JBCDATADIR, Defines the location for jBASE to determine any configured databases. Overrides
the default setting for the spooler directory.
 JEDIFILENAME_MD, This variable should be used if you require the use of the MD/VOC file to
hold Q pointers, jCL programs, paragraphs or entries for the jQL language.
 PATH, contains a list of all directories that contain executable programs.

Note: LD_LIBRARY_PATH, will be used instead of PATH if UNIX OS. SHLIB_PATH, will be used if

Hewlett Packard UNIX OS.

 JBCDEV_BIN, Defines the directory where user executables will be built when programs are
CATALOGed.
 JBCDEV_LIB, Defines the directory where user shared object libraries will be built when
subroutines are CATALOGed.
 JBCSPOOLERDIR, Spooler location (where data needs to be fetch/print) of the data.
 INCLUDE, Specify the header files of the program (that will help us to include library files).
 LIB, contains the system libraries (those library files are required to execute the programs)
 LANG, Language type (UNIX only)
 LC_ALL, will override a specified list of locale settings (UNIX only)
 TZ, Timezone (Unix only)
 TERM, Specifies terminal type as per terminfo database
 TERMINFO, Specifies directory for terminal settings
 JBCPORTNO, Forced Port number for use by user. (Usually allocated)
 JBCLOGNAME, User name to use in-place of login id.
 JBCEMULATE, When importing legacy applications, this variable tells jBASE what system it
originally ran on. Note that programs and subroutines imported from different systems may be
freely mixed.

Note: The default is jbase, which will suit most imported applications.

Unix: JBCEMULATE=sequoia (.profile)

export JBCEMULATE (System.properties)

Windows: set JBCEMULATE=reality (.profile/remote.cmd script)

 JEDIFILEPATH, Directory Paths of application files location


 JEDIFILENAME_SYSTEM, Pathname of file to be used for SYSTEM entries

Additional jBASE Environment Variables

 JBCBACKGROUND, Set to 1 to run “PORT” as background task


 JBCRUNDIR, Set to executable directory for RUN command
 JEDIENABLEQ2Q, Set to 1 to force detection of Qptr to Qptr (Q pointer)
 JEDI_DISTRIB_DEFOPEN, Set to 1 to defer(delay) OPENs of distributed file parts
 JEDI_SECURE_LEVEL, Set security level for flushable files (such as J3s or jPLUS files)
 JEDI_INDEX_MMAP_ON, Set to force use of memory mapping on indexes when updating
memory mapped files
 JEDI_AIX_FILE_MMAP_ON, Set to force use of memory mapping of j4 files on AIX multi-
processor machines(Advanced Interactive eXecutive)
 JEDI_AIX_OBJECT_MMAP_ON, Set to force use of memory mapping of .el files on AIX multi-
processor machines
 JEDI_OBJECT_MMAP_OFF, Turn off memory mapping of .el files
 JBC_TCLRESTART, Set to command to execute instead of shell
 JBC_ENDRESTART, Set to command to execute after end from debugger
 JBCRESTARTPROG, to execute after off
 JBCOBJECTLIST, Set to alternate path(s) for user subroutine libraries
 JBC_BLOCK_SYSTEM14, Set to 1 to force a 100-millisecond delay on SYSTEM (14) calls.
 JBASE_ERRMSG_NON_NUMERIC, Controls behaviour when a numeric operation on a non-
numeric value is encountered
 JBASE_ERRMSG_ZERO_USED, Controls behaviour when a zero used condition is encountered
 JBASE_WIN_TERM_SVR,This should be set on servers running Windows Terminal Server before
starting the License Server, and for all sessions wishing to access jBASE licences.
Internationalisation

 JBASE_I18N, it switches on UTF8 processing in jBASE (default no value set it up).


Unix: JBASEI18N=1 Windows: SET JBASEI18N=1
export JBASEI18N
 JBASE_CODEPAGE, it's sets the codepage to use for UTF8 conversion. Ex.
Unix: JBASE_CODEPAGE=latin1 Windows : SET JBASE_CODEPAGE=latin1
export JBASE_CODEPAGE
 JBASE_TIMEZONE, it sets the timezone to use for UTF8 timestamp conversion into local time for
display.
Unix: JBASE_TIMEZONE=Europe/London Windows: SET JBASE_TIMEZONE=Europe/London
export JBASE_TIMEZONE
 BASE_LOCALE, it sets the locale to use for UTF8 collation, sorting and date settings.
Unix: JBASE_LOCALE=en_GB Windows: SET JBASE_LOCALE=en_GB
export JBASE_LOCALE

Note: These JBASE_CODEPAGE, JBASE_TIMEZONE and BASE_LOCALE will have no effect unless
internationalization is switched on using JBASEI18N.

Development

 JBCDEV_BIN, Defines the directory where user executables will be built when programs are
CATALOGed.
 JBCDEV_LIB, Defines the directory where user shared object libraries will be built when
subroutines are CATALOGed.
 JBCTTYNAME, This variable defines your UNIX tty name.It will greatly improve execution start-
up times.
 JBCERRFILE, Sets the location of the jBASE error message file (DEFAULT
JBCRELEASEDIR/jbcmessages)
 JBCSPOOLERDIR, defines the directory where the jBASE spooler entries are located.
Default in Unix: /usr/jspooler (UNIX)
Windows: We need to set it up before the jSHELL is invoked.
 JBC_DESPOOLSLEEP, default the jBASE despooler processes on Windows check for queued jobs
every 30 seconds. This environment variable can be used to decrease or increase that interval.
The environment variable is not required on UNIX because the despooler processes are sent a
signal when a new job has been generated.
Windows: it should be set before form queues are started.
SET JBC_DESPOOLSLEEP=12
 JBC_CRREQ, Controls whether line feeds and form feeds are followed by a carriage return when
printing to the spooler(Default 0 value, range 0-3)
 JBCLISTFILE, specifies the file where stored lists are kept(Any valid path to a directory or hashed
file)
Note: If not set, jBASE will attempt to store lists in POINTER-FILE.
 JBCSCREEN_WIDTH, Specifies the page width for paged terminal output, and overrides the value
specified by the TERM type(default no value set it up)
 JBCPRINTER_DEPTH, specifies the page depth for paged spooler output, and overrides the value
specified by the TERM type(default no value set it up)
 JBCPRINTER_WIDTH, Specifies the page width for paged spooler output, and overrides the value
specified by the TERM type(default no value set it up)
Note: JBCSCREEN_WIDTH, JBCPRINTER_DEPTH, JBCPRINTER_WIDTH value should be decimal
numbers.

jBASE Remote File Server (jRFS)

 JBCNETACCESS, Defines the location of the jRFS security access file jnet_access
DEFAULT: /usr/jbc/config (UNIX) %JBCRELEASEDIR%\config (Windows)
 JBCNETDIR, Defines the location of the jRFS configuration files
DEFAULT: /usr/jbc/config (UNIX) %JBCRELEASEDIR%\config (Windows)
 JRFS_REMOTE_JQL, Specifies that the jQL command will run on the remote server and send the
data back rather than querying line by line over the network(default no value set it up)
UNIX: JRFS_REMOTE_JQL=1 Windows: SET JRFS_REMOTE_JQL=1
export JRFS_REMOTE_JQL
 JRFS_LOCALPATH_JQL, Specifies that the jRFS Server process will use the file name as 'opened'
on the remote system rather than using the file name specified in the original select statement.
(default no value set it up)
UNIX: JRFS_LOCALPATH_JQL=1 Windows: SET JRFS_LOCALPATH_JQL=1
export JRFS_LOCALPATH_JQL
 JRFS_SERVERNAME, Allows the jRFS client to override the service port(default no value set it
up)
UNIX: JRFS_SERVERNAME=1 Windows: SET JRFS_SERVERNAME=1
export JRFS_SERVERNAME
 JBASE_GROUP_LOCK, Allows the POSIX semaphore locking to override the default locking in
UNIX. This setting is to handle the jBASE scalability problem in UNIX based systems (default no
value set it up)
UNIX: JBASE_GROUP_LOCK=1 Windows: Not Available
export JBASE_GROUP_LOCK

VOC
 VOC file helping to fetch the details quickly from the database
 It has a file pointer that will decide where to go data/dict based on your JED cmd.
Here F is a File Pointer

Based on your cmd this file pointer will go to bnk.data or bnk.dict

1. File pointer will got to bnk.data

Ex1. Below command is going to fectch the data from FBNK.CUSTOMER record, pointer has to move to
bnk.data.

Ex2. Below command also going to count the data in the record so in this case file pointer will move into
bnk.data.

2. File pointer will got to bnk.dict

When you change the dictionary/structure/definition of the table then pointer will move to bnk.dict.

Ex1.
Ex2:
Note: See the difference between LIST FBNK.CUSTOMER and LIST DICT FBNK.CUSTOMER

LIST FBNK.CUSTOMER LIST DICT FBNK.CUSTOMER


Listing all the records with their values Listing all the fields of FBNK.CUSTOMER
VOC Pointer will be FBNK.DATA VOC Pointer will be FBNK.DICT

Note: Different licenses are used for TAFC/jBASE and T24

jBASE License
 In jBASE, we have license model. If user have the license then only they can access jBASE
database. We are following the below things:
o License maintenance (Expiry, upgrade, or change in the type of license)
o Expand the licensing requirements (for new permission/access to the features)
 The jBASE License are calculated on the number of jBASE foreground sessions.

EX. Starting a 'jshell' prompt OR starting the 'EX' and 'tSS' application from the 'remote.cmd'. (‘tSS’
application is used for OFS)

 Starting 'PHANTOM' (background) processes and / or 'jspprint' (Printer) sessions are NOT
included in the jBASE user count and do NOT take a jBASE license.
 To find out the total number of free licenses by using "jInstallKey -v" cmd.
 If the total free license is 0 all licenses are currently in use.

PFB We have given override key in my environment so that it’s showing ‘0’

PFB In client environment it will show like

Previous release jlicensinginfo cmd is used to identify the above license information’s.

Note: The foreground process like jsh, EX, tSS, tSM consume one license per process.

 This can be verified by the following utilities:


1) jInstallKey –v
2) WHERE

This cmd will show only active/live foreground process


3) jprocdisp –av

This cmd will show your all the previous foreground processes and live process
Port No. 1

Port No. 2, 3 and 4


Port No. 5 and 6

Port No. 7

Note: You can see here, Date & time of when port is connected, Port No, Host Name, Status of the
process session, User, How much memory is used and what are all the threads are running, etc.

Once your port no is exceed the range 0-499, then it will throw “No ports free in the specified range”. In
this case we have to clear the port no’s in proc directory (JBCRELEASEDIR/proc)
Note: Sometimes zombie processes and hang up processes consumes licenses, in your case many
processes were became zombie or hang up processes. These processes contains entry in proc
directory(JBCRELEASEDIR/proc). So you need to clear the proc directory once.

Important point*: While clearing the proc directory make sure no users are online also make sure there
are not T24 and TAFC processes are running.

4) mw42

To come out from above session press q and then up arrow, it will take you into last cmd.

T24 License:

 T24 License are used by the number of actual users logged into the system.
 This will include number of Users signed on to access application and the number of Phantoms
running as each phantom will have to sign on into the system in order to access T24
applications.
 Meaning is, both foreground and background process are using the T24 license.

Ports:

 T24 users, Phantom processes and 'jspprint' processes will take a 'Port number', simply for the
purposes of displaying a 'Port number' in the 'WHERE' output and providing 'Pick' (MultiValue)
compatibility.
 The Port numbers in use have NO relation to the jBASE (or T24) licensing.
 Also to effectively to reuse the license it is recommended to use loginproc.
Note: Sometimes zombie processes and hang up processes consumes licenses, in your case many
processes were became zombie or hang up processes. These processes contains entry in proc directory
(JBCRELEASEDIR/proc). So we need to clear the proc directory once.

Important point*: While clearing the proc directory make sure no users are online also make sure there
are not T24 and TAFC processes are running.

 Also we can enable autologout cmd to terminate idle process that consuming jbase licenses.
 To terminate idle ports you can use the AUTOLOGOUT functionality.

Ex: AUTOLOGOUT 1 has set it up at 12.29 PM

 Exactly after 1 minute, the session will be disconnected. If you have mw42 running in parallel
session, it should no longer show you the port where AUTOLOGOUT is running.

Note: AUTOLOGOUT functionality is used for automatically terminating a session if it has been idle for a
certain point of time.

Ex: 'AUTOLOGOUT 1' sets a timeout period of 1 minute, 'AUTOLOGOUT 2' sets it for 2 minutes etc.
 To set this in loginproc do as follows: We can choose a timeout period and implement it in the
loginproc para as below -

Create a Loginproc:

 Create this login proc VOC and save.

 Add the following line in remote.cmd script

%JBCRELEASEDIR%/bin/jpqn %JEDIFILENAME_MD%\loginproc

 Once we added and started our script, OSTART GLOBUS We have to give based on Y/N. If Y then
it has went to EBS.TERMINAL.SELECT otherwise go to JSH application.

Note: The AUTOLOGOUT functionality minimizes the leftover process in the machine.

 The setting of timeout functions improves in retrieval of licenses from idle process/ports.[The
license consuming processes are EX/jsh/jpqn/tSS]

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy