Welcome to jBASE's new documentation site! Many answers to your questions can be found by searching the Knowledgebase or viewing the jBASE Documentation. We also have a Google Group for peer discussion about jBASE. If you are unable to find the information you are looking for, jBASE Support will be glad to assist in resolving your technical problems. Enjoy and please provide comments and feedback .

How can we help you?

Migration Checklist


  1. Where is it?
    • It is usual to locate source in development accounts.
  2. What is it?
    • Basic, Proc, RPL, Scripts, Other.
  3. Who's is it?
    • Third Party Software.
  4. Encryption?
    • Is encryption/decryption part of the product?
  5. Protection?
    • License mechanism, encrypted code.



  1. Where is it?
    • Single account or spread over multiple accounts.
  2. How big is it?
    • Single tape or multiple tape or network transfer.



  1. Application Level
    • Secured by Account, Location, Port, User ids, passwords.



  1. Application Level
    • Input/Output data.
  2. System Level
    • User/Telnet/SSH connection, Printer connections, Special Devices.



  1. Application Level
    • How to move application and test data.
  2. Data Level
    • How to move application data files, cutover time.
  3. System Level
    • Media and volume match.



  1. Application Level
    • Current and expected requirements.
  2. System Level
    • Availability level and expectation.


Data Transfer

Account Save

Preferred method. However SMA specification does not provide for binary files and items greater than 32k. Multitude of save formats all differing either slightly or completely. jBASE Account-Restore can handle 99 % of Account Save formats


Provided for by resuv utility. Restores data from "uvbackup" format, then cleans up empty files, resizes file and automatically executes PortBas utility. However can select phases via options.


Provided for by magres utility. Restores data from PRIME "magsave" format.


Slow but can be used when nothing else available. Also, same problem as the Account Save as there is no SMA format for binary items, so dumping these items should be avoided.

Warning Unidata providex a so called ACCSAVE but it is effectively a cpio and cannot be used to restore from. Even Unidata have to run a byte switching operation after files have been restored from different endian machines.

Risc Big Endian. Intel Little Endian.
Big Endian 4 byte int x"12345678" appears in memory as a sequence.
Little Endian means that bytes are swapped so int appears as x"78563412"

Import Options.


Where n is:
8 for source from 512 byte frame
4 for source from 1k frame
2 for source from 2k frame
1 for source from 4k frame



It is usually best from a security standpoint to issue all users with unique user ids. These user ids can then be managed to allow or deny read/write access permissions or a per user basis. So if one person leaves the company or an area they can then be removed or deny access to the system without the need to modify other users. When using individual user ids, care should be taken to ensure that the correct users have read and/or write access to the required files in order to run the application. This can normally be achieved by using groups on both UNIX and Windows.



Some legacy applications use what used to be the Account Name for security purposes, i.e. an application cannot run if not being executed from the expected Account. In order to allow the application to execute and still enable user based security, the environment variable JBCLOGNAME can be set to the required Account Name. System functions, WHO, LISTU and WHERE commands will now return the Account Name rather than the user id. However user id information can still be obtained via the WHERE (A command as well as the UNIX "ps" information. If this environment variable is set then it can also be used when cataloging subroutines to build the name of the shared library.



Applications which use Port based security or expect certain devices to be connected to hard Port numbers can make use of the JBCPORTNO environment variable. When set, the user will always connect as the specified port number. Usually the port number will just be dynamically allocated.

Note: If a common user id is used in place of individual user ids then, on some systems, the number of processes per user limit will need to be increased. The usual error message for this problem is error 11, resource temporarily unavailable.



The majority of source code migrates quite readily from other Multivalue legacy applications to jBASE. However until jBASE supports every syntax rule devised or created by all Multivalue suppliers there will always be the odd few statements which will not compile. In most cases, there is a similar statement that can be used.

Another problem that can be encountered when moving from one system to another is dealing with the anomalies and slightly different interpretations that have been implemented by differing Multivalue suppliers.

In order to reduce and ease these problems in portation, jBASE provides a configurable emulation file which contains switches that can be enabled or disabled dependent upon the emulation selected. This emulation configuration is updated as and when jBASE is required to support an additional emulation ambiguity.

Was this article helpful?