FAQ´s

Infinite has performed thousands of successful AS/400 migrations since its founding. Since that time, Infinite has developed and released many successful products and services packages designed to migrate AS/400-based applications written in RPG and COBOL.

What is Infinite i?

Infinite i migrates RPG and COBOL legacy applications developed for the IBM i / AS400 so they can run on other operating systems, specifically Windows and Linux. In order to use Infinite i you must have a complete set of source code. Unfortunately, not having source will not allow us to recompile the AS/400 code and execute it on an alternate platform. Applications run on the new platform very similarly to the way they run on the AS/400. Infinite i supports physical and logical files, subfiles, command language, stored procedures, etc.

What languages does Infinite i support?

Infinite i has compilers to support RPG/400, ILE RPG, SQL RPG/400, COBOL/400, SQL COBOL/400, COBOL ILE, CL/400, CMD/400, DDS/400 (pf, lf, dspf, prtf).

Does Infinite i convert my source code into another language?

No. We believe that maintaining the integrity of the initial software is important. Your native COBOL or RPG source code remains intact and is recompiled into object code that executes natively under Windows or UNIX. Your investment in development and support staff, documentation and training remain secure.

Is it possible to continue development once an application has been re-hosted?

Infinite i offers the developer options for future development. If an ISV plans to offer the same application on multiple platforms, they may prefer to develop on the AS/400 where they are more comfortable and recompile on Infinite i. Infinite i includes development tools to allow changes to be made, built and tested. The SEU, PDM and the language compilers implement full source validation. Or the developer may choose to use other toolsets for development in Java or .NET. Infinite has a suite of plug in middleware for use with development tools from the WebSphere family, the WebLogic family the JBoss family or the Microsoft family of products. Once migrated, RPG or COBOL applications can be executed in the Cloud using the Infinite Cloud family of products which are integrated with Infinite i. The Infinite Cloud family plug into JBoss, WebSphere and Web Logic. So, you can develop in RPG, COBOL or use other industry standard tools in Java or .NET and easily integrate new programs or modules into your newly re-hosted RPG or COBOL programs.

Does Infinite i require an AS/400 host at any stage (other than migrating source)?

No, once the application and data are migrated, Infinite i provides a platform for the High Level Language source code and is entirely independent of the AS/400. During the initial migration, the entire content of the libraries are downloaded from the AS/400 to Infinite i, including the objects (compiled programs, files, etc) that provide additional migration information.

Is it possible to transfer RPG source from Infinite i to AS/400 host? If yes, will source be compatible in the AS/400?

Yes, the source stays in AS/400 format. When an ISV or end-user plans to offer the same application on multiple platforms, some developers prefer to develop on the AS/400 where they are more comfortable and recompile on Infinite i. All the source and data transfer back and forth between the AS/400 and Infinite i is accomplished by simple Save Files and FTP Transfers.

What does an end-user or ISV have to provide Infinite so they can begin migrating AS/400 code?

The Infinite Project Manager will send instructions to the client in how to create a Save File (SAVF) on the AS/400. The Infinite team will then move it to the new system and begin recompiling it into native executables for the target platform. The Infinite i compilers and toolsets handle most of the migration themselves. The remediation comes from testing and interactive project management between the Infinite team and the client team.

How does a developer debug an application that encounters an error on the target platform but works on the AS/400?

Debugging is managed similarly to debugging on the AS/400. Compiled listings include the same error codes as the compilers on the AS/400, including references to missing dependent objects, syntax errors, data type errors, etc. In the event of failures that are not programming errors, Infinite Software support should be contacted to determine if a product bug exists.

Do the compiler licenses include the ability to rerun the conversion at any time?

Yes, the compiler licenses will allow for the re-running of conversions and at any time.

How is your performance versus the AS/400?

Customers who have done proprietary testing and benchmarking on a comparable system (processor speed, memory, disk response time) found performance as good as or better than their application running on an AS/400. Obviously the performance of Infinite cannot be isolated from other factors – system, network throughput and application architecture.

What version of Linux does Infinite i Support

Infinite i has been tested and certified on the following operating systems: Windows Enterprise Server 2016 and Linux Red Hat Enterprise Linux 7.2

What version of Oracle does the Infinite i Deployment Environment support?

Infinite i has been tested and certified on the following databases: Oracle: 11g MS SQL: 2008. Infinite i (Version 9.2) also fully support’s Oracle Exadata Database Machine, Oracle Exalogic elastic Cloud, SPARC SuperCluster , Oracle Database11g R2, Oracle Solaris 11, Oracle Web logic Server 11g R1 and SPARC SuperCluster.

Does Infinite i support OS/400 API's?

Infinite i supports most OS/400 APIs. In the typical selling cycle, the prospect will engage us to do a sample migration. We take a representative module of your software with test data and actually migrate it to your target platform (Windows or Linux). You will be able to see any exceptions and we will work with you to resolve each one of them.

Are there any limitations to the RPG Compiler?

Infinite i supports the commonly used commands and there are usually workarounds for the less commonly used ones. Most issues arise because of AS/400 hardware references that no longer exist. For example communication commands referencing controllers and line descriptions are not supported, however communication protocols on the new platform usually provide a solution.

Are there any limitations to the COBOL/400 compiler?

The COBOL/400 compiler in Infinite i is consistent with the IBM COBOL/400 compiler in terms of features and functionality. The only limitation is partial support for DISPLAY / ACCEPT with ROW / COLUMN.

Can the definition of PIC X(250000 be used to work around the OPM COBOL limitations of field size?

It is possible to use this definition in the COBOL programs. It is however not possible to define the same field length in a file.

Are there any limitations to the ILE COBOL compiler?

The COBOL/ILE compiler in Infinite i is consistent with the IBM COBOL/ILE compiler in terms of features and functionality.

Is there support in the Infinite i for 'C'?

Infinite i provide C-APIs that allow an interface with the environment when writing standard C-programs. These C programs are compiled using the CRTCPGM command to create a C program in the environment from where the C program can then be called from a COBOL, RPG or CL program or vice versa.

How long does it take to migrate an application?

Timing can vary based on the amount of code to be converted. A typical migration consisting of 12,000 objects – 3,000 programs combined with physical and logical files, display files and command language – may take less than four weeks to complete including migration, analysis, testing and validation. On average, the re-hosting and modernization process takes about 90 days.

How does Infinite i migrate, store and access DB2/400 data?

The Infinite i re-hosting components include a complete replication of the AS/400 DB2/400 database. This database resides on the new host and operates just like the database you are accustomed to. The end user may elect to use Oracle or SQL Server in place of the internal database. All three options include support for specific DB2/400 features like Physical Files, Logical Files, Joined Files, Triggers, Referential Integrity, Commitment Control and Journaling.

Can Infinite i work along with/support other tools or software, for example MQSERIES (MSMQ)?

Infinite i can interface with MQSERIES or MSMQ via C API calls. The underlying runtime support within Infinite i allows any HLL program (written in ILE RPG, RPG/400 or COBOL/400) to invoke external C programs. This generic mechanism allows also calling MQSERIES or MSMQ API functions to send or receive transactional messages and communicate with any type of host that runs these products.

Does Infinite i support Journaling and Commitment Control?

Yes.

Our source for RPG and CL programs is in git, everytime we update/recompile would we need to transfer the source to the linux OS and then run your conversion process?

Infinite i supports integration with Git. If new development and/or maintenance is going to take place on the IBM i, every time code additions or changes are pushed to Git, it can be then pulled into the Infinite i environment and recompiled using the native Infinite i compilers. This process can be done manually, or it can be automated using a CI/CD pipeline.

How would we transfer user profiles?

The command DSPUSRPRF USRPRF(*ALL) TYPE(*BASIC) OUTPUT(*OUTFILE) OUTFILE(LIBRARY/ALLUSRPRFS) is used on the IBM i to capture all the information about user profiles (except passwords). This file is then transferred to the Infinite i server and processed with a bash script that creates the same user profiles on the new environment. The passwords would have to be reset. 

How would we transfer custom system settings on libraries, commands, etc?

Infinite i supports system values like the IBM i. System commands can be changed to alter default values. User commands will be recompiled in Infinite i with the same values they have on the original environment.

Does it support iNavigator options (managing the IFS via iNetserver and various TCP servers/services)?

IBM i Navigator is not supported and not needed. IFS is supported by the underlying Linux File System and any path in any file system can be used as an IFS location. TCP servers and services (HTTPD, DNS, DHCP, VPN, etc) are supported by the underlying Linux operating system.

Does it support integrated services such as DCM and WAS?

DCM and WAS are handled in conjunction with the Linux operating system. In the case of WAS, Apache Tomcat or WAS for Linux can be integrated with applications running on Infinite i

Does it support all spooled file functions including IPDS?

Yes, all IBM i Spool File functions are supported by Infinite i, including IPDS.

Is data encryption at rest possible for local and external sql databases?

Data encryption at rest is not possible for the internal DB, but it's possible when Infinite i is configured to use an external database.

Our largest table has almost 80 million records and a record length of 405 characters, is that an issue and how would we size the sql server to mitigate any performance concerns?

With proper system sizing, very large files can be handled by Infinite i and the external DB. The files are migrated to Infinite's internal DB first and then converted to the external DB. After this, the applications (batch and interactive) are executed, and the system is tuned to achieve optimal performance (i.e., creating additional indexes, increasing server memory, etc).

With an external/sql DB, how does it handle libraries being renamed or deleted?

The Infinite i runtime automatically keeps track of library and file (PFs / LFs) creation and the synchronization with an external database.

With an external/sql DB, how do we handle security/access?

Security can be handled at global level, with 1 set of connection parameters (host / user / pass / permissions) for all the users, or at user level with connection parameters for each user. In this case, connection information is stored on the user profile and it's encrypted.

With an external/sql DB, how would we handle multiple libraries with tables of the same name?

When PFs and LFs are converted to tables and views (respectively), if a PF or LF exists with the same name in more than one library, the name of the table or view created in the external database will be appended with a numeric suffix (i.e., filename_1, filename_2).

We currently have a centralized data library that has logicals referencing data from other data libraries, how might that be handled in an SQL db?

When using Infinite i with an external database, physical files are created as tables and logical files are created as views. If a LF references PFs from multiple libraries, when converted to an external DB the view will reference tables that correspond to the original PFs.

What is Infinite36?

Infinite36 is a powerful suite of programs that provides an operating environment for execution of System/36 applications, supports other features of the System/36 operating environment, and allows continued development on either platform. It combines all the benefits of Open Systems with the power and stability of Midrange Systems.

How was Infinite36 created?

Infinite36 was introduced in the late 1980s (and was sold under private label by IBM) to allow applications written on the proprietary IBM System 36. Infinite36 has been deployed worldwide because companies invested heavily in custom code to support their business and wanted to retain it. At the same time, IBM made successive efforts to obsolete the System 36 and move the applications to the AS/400. The gain required from this move considered with the effort to do so made this an unattractive option for developers. Infinite36 provided a second option.

How does Infinite36 work?

Infinite36 is comprised of two main components. The Developer Toolset includes COBOLII and RPGII compilers that recompile the mid-range applications to run native on the new platform. The Deployment Environment along with user licenses is an SSP-compliant series of DLLs that allow RPG code to execute and provides an OCL environment under Windows or Linux. Because this environment is written in C and because C is the Natural Language for Java, Java programs can be written using JVN to co-process. This would be similar to writing COBOL applications with RPG applications to co-execute in the System/36 environment.

What platforms can Infinite36 deploy on?

Infinite36 can be deployed on Windows or Linux.

How does Infinite36 handle the System 36 Database?

The latest version of Infinite36 for Windows or Linux incorporates new database technology that is multi-threaded and provides for expanded and more sophisticated integration with MS SQL. The new version can also write to Oracle 11g. Like the new operating systems, this new 64-bit version of Infinite36 writes to 64-bit database versions of MS SQL and Oracle. This new capability is designed to work with BI tools for reporting and data analytics that are part of the Microsoft and Oracle database stack. In addition, data from other applications can be easily integrated with, reported from, and analyzed by the Microsoft or Oracle tools.

What databases can Infinite36 run on?

Infinite36 supports Oracle DB as well as SQL Server.

Can Infinite36 be run on 64-bit architecture?

Yes, Infinite36 is 64-bit compatible.

Does Infinite36 have Graphical User Interface (GUI) capabilities?

Yes, Infinite36 is fully compatible with Infinite’s Infinite Cloud GUI toolset.

Does Infinite36 support XML?

Yes, Infinite36’s support for XML support allows data from flat files to be used to generate XML for consumption by other applications.

Does Infinite36 support Network Printing?

Yes, Infinite36 fully supports Network Printing.

Does Infinite36 support sending printer reports via Email?

Yes, Printer reports generated by Infinite36 can now be automatically emailed to a named recipient via a new MAILTO keyword of the PRINTER OCL statement.

Does Infinite36 support Barcode printing?

Yes, RPG programs can now easily print barcodes using the SUBR50 subroutine. The printer database has been extended to include escape sequences that cause specific printer models to enter and exit barcode print mode. This ensures that RPG programs to generate reports with barcodes are independent of the type of printer to which the report will be printed. Further the programmer is freed from the onerous task of generating the appropriate escape sequences manually within the RPG code.

How does Infinite36’s database differ from a traditional System36 database?

The System/36 architecture is a flat file structure, which means that data is not externally available as it is with database applications. This architecture is very limited and generally does not provide real time reporting. Typically the implementation of database functionality within an application requires a major code rewrite to create the database calls.

The latest version of Infinite36 for Windows or Linux incorporates new database technology that is multi-threaded and provides for expanded and more sophisticated integration with MS SQL. The new version can also write to Oracle 11g. Like the new operating systems, this new 64-bit version of Infinite36 writes to 64-bit database versions of MS SQL and Oracle. This new capability is designed to work with BI tools for reporting and data analytics that are part of the Microsoft and Oracle database stack. In addition, data from other applications to be easily integrated with, reported from, and analyzed by the Microsoft or Oracle tools.

What is Infinite Cloud?

The Infinite Cloud toolset has been developed to modernize green screens from the IBM i (AS/400) and mainframe. The toolset takes host-based green screens, and automatically and dynamically renders them graphically with point-and-click capabilities. This functionality does not require programming or screen design. Once the screens are graphical, the toolset deploys them to the web.

Is Infinite Cloud a screen scraper?

No, Infinite Cloud works very differently than a screen scraper. A screen scraper does a simple translation of an entire text screen into a graphical one. Infinite Cloud transforms each object on the screen (i.e. labels, input fields, etc.) into XML objects that can in turn be “consumed” by other applications.

Can I use Infinite Cloud with my AS/400-based and re-hosted versions of my application?

Yes, Infinite Cloud is designed to be used with multiple host types – System36, AS/400, Infinite i, Infinite36, and Mainframe. So you have one set of screen customizations no matter what platform you deploy on.

What benefits are there to using Infinite Cloud?

Modernize Applications

The Infinite Cloud toolset automatically creates beautiful and functional GUI screens from a single template. The use of a single template makes the GUI process easy and fast. This can all be done with no changes to the original source code. Infinite Cloud creates AS 400 GUI screens in days not months. Infinite Cloud provides an easy-to-use GUI solution for AS/400 and Mainframe green screen applications. Infinite Cloud uses on-the-fly technology that can be used by existing AS/400 users with little or no training.

Web Deployment

The Infinite Cloud toolset automatically creates browser pages from the newly graphical screens. These screens are now accessible from any browser, tablet, or smart phone. This will automatically deploy to the web or cloud with no code changes required. Desktop integration provides bidirectional support for MS Office and other desktop apps.

Integration

Infinite Cloud is written in Eclipse, and converts AS/400 screens into Java-based screens. Because of its Eclipse foundation, any third party plug-ins can be utilized with Infinite Cloud. Additionally, any browser-based content can be incorporated or accessed using Infinite Cloud.

Scalable

Infinite Cloud architecture is ready to work in a cluster environment, allowing the product process capacity to grow as required by the business.

Can Infinite Cloud interface with Java applications and plugins?

Yes, Infinite Cloud is written in Eclipse, and converts AS/400 screens into Java-based screens. Because of its Eclipse foundation, any third party plug-ins can be utilized with Infinite Cloud. Additionally, any browser-based content can be incorporated or accessed using Infinite Cloud. Once Infinite Cloud has been deployed, the application can be accessed via the web from any device such as PC, Laptop, Tablet, and Smart Phone. Infinite Cloud will automatically deploy AS/400 screens to your choice of IIS or Apache and No IBM hardware upgrades are necessary to deploy Infinite Cloud's GUI. Infinite Cloud uses industry standard plug-ins and can easily integrate with third party interfaces.

How does Infinite Cloud handle User Authority?

The Infinite Cloud application offers a portal to the host application environment. User, Group, Function and Field authority set in the underlying host application is retained at the Infinite Cloud graphical view. Within the Infinite Cloud application, there are configurable parameters to enable or disable access to its editor tools. Access to the Infinite Cloud installation and its tools would be determined by the customer's installation environment. For example, Server Administration permissions are required for a user to install the Infinite Cloud project.

Does Infinite Cloud support Single Sign On?

Yes, Single sign on authorities and credentials are supported between the Infinite Cloud client and to the host application environment, i.e., Infinite i host. The same profile defined under the host application environment is valid for logging in via the Infinite Cloud client portal. Infinite Cloud also provides a configurable file to associate this logon with a database table lookup to access other enterprise-wide applications from Infinite Cloud.

Can Infinite Cloud act as a Portal?

Yes, The Infinite Cloud client is a portal to the host application environment as well as applications available to the user via network or system security. The Infinite Cloud Integration Agent (configurable XML object) supports rendering graphical controls that provide access to other systems outside of the underlying host application.

What is the footprint on Infinite i for the GUI and/or server programs?

Infinite Cloud is an Eclipse application that uses Java tools and deploys on Apache Tomcat. The system operates comfortably in any environment – Windows or Linux. It is designed to enable a light footprint on the host environment.

How are user sessions handled, and are there any limitations for the single user, or the customer installation as a whole?

Yes, when the Infinite Cloud web service opens a connection; it returns a unique Session ID. This Session ID is passed in the communication between the host application and the Infinite Cloud web service. The Host Application calls to the web service to close the connection using the Session. If the Host application fails to invoke the web service disconnect, the Infinite Cloud connection pool closes the connection after a configurable period of time to keep resources usage as low as possible. The number of available user sessions is defined for the Infinite product license and should include sufficient total user sessions plus any additional concurrent sessions a single user may invoke. If the maximum number of user session plus concurrent sessions is reached, the installed license prohibits any additional connections until sessions become available.

How does Infinite Cloud deploy:

Infinite Cloud deploys on any server running Linux with Apache and Tom Cat. That might be an X86, Sun, HP or Power server.