New Data Transfer ActiveX Automations in Express

  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times
In the initial release of Client Access Express, IBM provided a new collection of powerful, easy-to-use automation objects to access AS/400 resources and data. These new objects gave Windows programmers and script writers a simple API to access iSeries and AS/400 data queues, call system APIs and user programs, and run CL commands from many widely used programming languages and applications.

These new objects are known as ActiveX automation objects. ActiveX is a technology developed by Microsoft. It facilitates the use and reuse of common objects and controls. ActiveX technology accomplishes this feat by maintaining a defined, standard interface that each object or control must provide. By querying an object, applications can determine the capabilities of the object. This would be like phoning your local carpenter and asking him what types of carpentry work he does. ActiveX is built on top of Microsoft's Component Object Model (COM), which brought about Object Linking and Embedding (OLE). OLE allows application objects and data to be easily linked into other applications. Inserting an Excel spreadsheet into a Word document is a common use of OLE. ActiveX objects work in the same fashion.

ActiveX automation objects are the OLE of the programming world. As easily as you would plug an Excel spreadsheet into Word, you can plug automation objects into development languages such as C++ and Visual Basic (VB). In fact, ActiveX is designed such that any programming or scripting language running under Windows may easily incorporate and use ActiveX objects. Currently, there is support for ActiveX automation objects in Visual C++, VB, Visual Basic for Applications (VBA), Java, VB Script (including Active Server Pages), J Script, Perl, .NET, and many other languages.

Getting Started

Use of the Express ActiveX automation objects requires installation of iSeries Access for Windows (V5R2) or Client Access Express on the desktop. The Dynamic Link Library (DLL) containing the code for the Express automation objects, cwbx.dll, is installed as part of the Express base. Therefore, any desktop with Express currently installed may use the Express automation objects. Application developers should install the Express Toolkit, specifically the Headers, Libraries, and Documentation. By installing the toolkit, developers will get context-sensitive help for each of the various ActiveX objects, object properties, and methods. The context-sensitive help contains VB code samples as well as functional information.

To use the Express automation objects in a VB 6.0 application, you must include a reference to the Express object library in your project. The code examples in this article are written in VB 6, so you'll need to follow these steps to run them on your PC. To include the automation object library in your project, click on the Project menu and select References. Scroll down the list of available object references and select IBM AS/400 Client Access Express ActiveX Object Library. Click OK to add a reference to the Express automations to your project. If you are writing a VBA macro in Microsoft Office, you can add the reference by opening the Visual Basic Editor and choosing References from the Tools menu. Now, you are ready to use the Express automation objects.

Exploring the Express Automation Library

IBM iSeries Access for Windows, formerly Client Access Express, has a very robust toolkit to help developers build client applications for the iSeries and AS/400. Information on the ActiveX automation library, including links to code samples, are found in the toolkit. After installation, you can find the toolkit by opening the IBM iSeries Access for Windows or IBM Client Access Express desktop shortcut, opening the Programmer's Toolkit folder, and selecting the icon of the same name. After the toolkit application starts, expand Overview and then Programming Technologies. Then, click on the ActiveX link. In the left pane, you'll see an overview of ActiveX support. You'll also find a link to the complete documentation for the ActiveX automation library.

The automation library was added in the initial release of Client Access Express (V4R4). In this first release, there were ActiveX automations for accessing AS/400 data queues, calling AS/400 server APIs and user programs, managing connections and validating security, running CL commands on the iSeries server, and performing data type and code page conversions. Specifically, programmers could access the AS/400 from the client using objects such as AS400System, DataQueue, KeyedDataQueue, Command, and Program. By calling methods or functions on these objects, they could sign on to an AS/400, read and write records to and from a data queue, and call AS/400 commands and programs. Since the AS/400 typically stores data in different formats than a Windows PC, programmers could also use the data manipulation automations like StringConverter and ZonedConverter to convert data between PC and AS/400 format. All this could be done from a multitude of different programming languages with very few lines of code.

What's New in the ActiveX Library?

In V5R1 of Client Access Express, the ActiveX automation library was expanded. New objects were added that allow software developers to programmatically run data transfers to and from a Windows workstation and the iSeries or AS/400 in many popular file formats. These new objects are referred to as Database Transfer automations. The Database Transfer objects are built on top of the functionality of the Data Transfer application. Therefore, at least base Data Transfer support must be installed to use these new automations. Since Data Transfer is a licensed component, you must also purchase or have a license for the Client Access family of products (5722-XW1) to use the automations.

The new Database Transfer automations provide a programming interface for all of the functionality in the Data Transfer To AS/400 and Data Transfer From AS/400 applications. These new automations have two types of interfaces: A high-level interface is provided to allow quick and easy data transfers with very little coding, and a low-level interface is provided for those who need complete control over their transfers.

The Quick and Easy Way

If all this talk of ActiveX automations and objects has made you a bit sheepish, fear not! The high-level automation interface was designed just for you. The high-level interface has minimal properties (values you can get or set) and methods (functions you instruct the object to perform). The high-level interface also defaults many of the typical behaviors of Data Transfer. Using the high-level interface, you can run a data transfer in as few as two lines of VB code! Figure 1 shows an example of a simple database transfer.

' Visual Basic 6.0 code to run a simple transfer using the high-level interface

' Create new DatabaseTransfer object from the cwbx library
Dim dt As New cwbx.DatabaseTransfer
' Create a variable to easily access transfer results
Dim tr As cwbx.DatabaseTransferResults
' Download QIWS/QCUSTCDT from the server, to the C: drive
' and store it in an Excel (BIFF) 8 file
dt.Download "myiseries", "QIWS/QCUSTCDT", "c:customers.xls", cwbdtBIFF8
' Display the completion time and number of rows transferred
Set tr = dt.TransferResults
MsgBox "CompletionTime = " & tr.CompletionTime & vbCr & _
  "Rows Transferred = " & tr.RowsTransferred & vbCr

Figure 1: A simple database transfer

The high-level interface consists of one primary object, DatabaseTransfer. The DatabaseTransfer object has the properties Errors, TransferResults, UserID, and Password. The Errors property allows you to retrieve any errors that may have occurred while running a transfer. The TransferResults property allows you to retrieve information about the transfer, such as the completion time and number of records transferred. The UserID and Password properties allow you to programmatically set the user ID and password that will be used to make the connection to the iSeries or AS/400. Setting the UserID and Password properties can eliminate prompting for credentials while a program executes, highly useful when trying to automate a business process.

The DatabaseTransfer object has three simple methods: Download, Upload, and Transfer. Figure 1 shows an example of how to call the Download method. The download method requires you to identify the iSeries or AS/400 system to transfer data from, the server file name in Library/File(Member) format, the PC file name, and the PC file type. The Upload method is very similar. The Upload method requires the iSeries or AS/400 system to transfer data to, the server file name in Library/File(Member) format, the PC file name, and the File Description File (FDF) to use. If an FDF is not specified, the Upload method will assume the system file is a source physical file. The final method, Transfer, is used to run a stored Data Transfer request. The supported request types are the legacy .TTO and .TFR formats and the newer .DTT and .DTF formats. By using program variables, any of the parameters on these methods can be changed at runtime to produce a custom transfer. For example, your program could prompt the user for the name of the PC file to use, but it could have a hard-coded system name, file type, and system file name.

Need More Control?

The Database Transfer low-level interface was designed to give programmers full control over database transfers. Often, when writing a script or application, some setting is required to make the application behave correctly. The low-level interface allows you to do just that. Unlike the single-object, high-level interface, the low-level interface has over a dozen objects that may be used to configure and run a data transfer.

Two types of object interfaces make up the low-level interface. One interface is the download interface. From a client perspective, downloading is sending data to the PC. The other interface is for uploads, or sending data from the client PC to the iSeries or AS/400 server. Each of these interfaces consists of a core object. Each core object contains many smaller objects.

DatabaseDownloadRequest is the core download object. This object contains other objects, such as DatabaseAS400File and DatabaseQuerySettings. These objects are used to modify specific settings in your transfer requests that you are unable to modify with the high-level interface. DatabaseDownloadRequest also contains another object for storing PC file options. This object is based on the PC file type you chose to store your data in. For example, if you chose HTML output, you'd use the DatabaseDownloadHTMLOptions object or, for the Excel file types, you'd use the DatabaseDownloadBIFFOptions object.

To get data to your iSeries or AS/400, the low-level object to use is DatabaseUploadRequest. DatabaseUploadRequest is similar to DatabaseDownloadRequest in that it contains several objects for setting up an upload request. Some of these objects are DatabaseAS400File, DatabaseUploadPCFile, and DatabaseUserLibraryList. These objects can be used to set the AS/400 file name and type to transfer data to, the name of the PC file to transfer data from, and the PC file type. Also, like the download request object, the upload object contains an object for configuring settings based on the PC file type that is being used. When transferring a Lotus 123 file, use the DatabaseUpload123Options. If your file type is ASCII text, modify settings on the DatabaseUploadASCIIOptions object. Figure 2 shows a database transfer that's more complex than the simple database transfer shown in Figure 1.

' Visual Basic 6.0 code to run a simple transfer using the high-level interface
' Create a new system object
Dim sys As New cwbx.AS400System
' Create a new low-level DatabaseUploadRequest object
Dim upload As New cwbx.DatabaseUploadRequest

' Define the system object and set the user ID and password
sys.Define "myiseries"
sys.UserID = "myuid"
sys.Password = "mypassword"

' Set the System property of the upload request object
Set upload.System = sys

' Set the name of the PC file
upload.pcFile.Name = "c:customers.xls"

' Set the FDF name, to identify the layout of the data in the file
upload.pcFile.fileDescriptionFile = "c:customers.fdf"

' Change the file name to send data to
upload.AS400File.Name = "mylib/customers"

' Change upload creation info to create a new file based on
' QIWS/QCUSTCDT with all authority
upload.AS400File.SetUploadCreationInfo cwbdtCreateFileAndMember, _
                                       "", "", cwbdtObjAuthAll, "QIWS/QCUSTCDT"
' Upload the data to the new file

Figure 2: A more complex database transfer

Configuration objects such as DatabaseAS400File only allow you to set up your transfer requests. Methods on DatabaseDownloadRequest and DatabaseUploadRequest do the real work. The download request object has five methods: Download, LoadRequest, SaveRequest, Cancel, and DownloadAsync. The Download method performs the transfer of data from the iSeries or AS/400 using the settings specified in the request object. The LoadRequest and SaveRequest methods allow you to load and save Data Transfer request files. The Cancel and DownloadAsync methods will be discussed later in this article. The DatabaseUploadRequest has similar methods, including Upload, LoadRequest, SaveRequest, Cancel, and UploadAsync. The Upload method performs the transfer of data to the iSeries or AS/400, and the LoadRequest and SaveRequest methods allow you to load and save Data Transfer requests. Figure 2 shows an example of calling the Upload method using the low-level automations. The Cancel and UploadAsync methods will be discussed shortly.

As you can see from the code examples, not only is the low-level interface more robust than the high-level interface, it is also more flexible. Later in this article, you'll see how to simplify coding to interfaces by using stored Data Transfer requests.

Asynchronous Transfers and Events

Earlier, I mentioned a few low-level interface methods that I did not discuss. These methods were DownloadAsync, UploadAsync, and Cancel. The Async methods are very powerful in that they allow a program to run a transfer request asynchronously in the "background" while other program statements execute. These methods are especially important for single-threaded languages such as VB, in which a single "thread" of program statements can execute at one time. This can be detrimental when building an application with a GUI, where it is bad practice to "lock up" the user interface while a function is performed.

DownloadAsync and UploadAsync allow you to build better GUIs by providing a way to run transfers and, at the same time, free up your GUI to do other work. The Cancel method provides an added bonus by allowing you to stop a long-running asynchronous transfer request or a request that was not responding because of a network problem or some other problem. If you are building a GUI, you could add a Cancel button that is "wired" to the Cancel method, allowing you to easily cancel a transfer from your application. Another typical scenario would be to add a program timer that canceled a request if it was taking too long.

' Visual Basic 6.0 code to run a simple transfer using the high-level async
' interface.  The GUI is a simple form with two buttons, a cancel button
' and a Run button.  You will need to create the form with VB and plug
' in this code.
' Define the download object and system object at global scope
' The download object must be defined WithEvents to process events
Dim WithEvents download As cwbx.DatabaseDownloadRequest
Dim sys As New cwbx.AS400System

' This is the VB subroutine that is called when the GUI form loads
Private Sub Form_Load()
  ' Create the download request object
  Set download = New cwbx.DatabaseDownloadRequest
  ' Retrieve the default server and use it to initialize the AS400System
  ' object
  sys.Define "myiseries"
  ' Set the System property of the download request object
  Set download.System = sys
  ' Set the server and PC file names for the transfer
  download.AS400File = "qiws/qcustcdt"
  download.pcFile = "c:customers.xls"
End Sub

' Command1 is a button to run the download
Private Sub RunButton_Click()
End Sub

' Command2 is a button to cancel the download
Private Sub CancelButton_Click()
End Sub

' The subroutine to handle the DownloadComplete event
Private Sub download_DownloadComplete(ByVal status As cwbx.cwbdtTransferStatusEnum)
  ' Display the completion status of the request
  If (status = cwbdtStatusCompletedOK) Then
    MsgBox "Transfer completed successfully"
  ElseIf (status = cwbdtStatusCompletedWithWarning) Then
    MsgBox "Transfer completed with a warning"
  ElseIf (status = cwbdtStatusCompletedWithError) Then
    MsgBox "Transfer completed with an error"
  End If
End Sub

Figure 3: Asynchronous download with events

Another powerful feature of the Database Transfer Async interface is that it provides events. Events are notifications that may be handled by your program to perform some action when something has changed. The events issued by the Database Transfer Async methods are StatusChanged, UploadComplete, and DownloadComplete. The StatusChanged method gets issued anytime the status of a transfer request has changed, and it includes an indicator for row count and transfer status. The row count indicator can be configured to have an event issued each time a number of rows has been transferred. The status flag shows if there was a warning, if there was an error, or if the transfer is still running. In addition to StatusChanged, an application can handle the UploadComplete and DownloadComplete events. These events are triggered when an asynchronous upload or download completes, respectively. Figure 3 shows an example of using the DownloadComplete event to determine when an asynchronous download has finished.

By using asynchronous transfers and events, you can build a very robust GUI to do database transfers. This interface can include status, resulting information, and the ability to cancel the transfer if problems arise.

Simplifying Code with Transfer Requests

The amount of coding required to use the automations can be greatly reduced by using stored data transfer request profiles. Stored transfer requests are simply files that store all the settings for a transfer request. They include things such as the iSeries system name, iSeries file, PC file name and file type, and all the other options configurable through the Data Transfer interface or the low-level automation objects. Transfer requests can be stored on your local PC or accessed from any network server accessible by your PC. They can even be loaded from an iSeries or AS/400 Netserver share.

The high-level interface allows transfers to be run by issuing the Transfer method on your DatabaseTransfer object simply by giving it the name of the transfer request file. The low-level interface gives you even more flexibility. By using the LoadRequest method on the DatabaseUploadRequest and DatabaseDownloadRequest objects, you can quickly load all the settings from a stored transfer request file into your upload or download object. After loading the request, you can also modify any of the transfer request settings before you run the request. For example, your request could have all the configuration information you need except for the columns to include in your output data. Your program could load the stored request, change the Select property on the DatabaseQuerySettings object in the download request object, and then run the download. Another advantage is that you now have the ability to modify the transfer request without modifying your program. This makes it quick and easy to change something like the iSeries system name outside of the program code.

ActiveX=Easy Access

A Client Access Data Transfer user once said, "I don't really like the user interface. Is there anything I can do to change it?" To the user was replied, "With the new ActiveX automations in V5R1, you can easily write your own!" The automation library contains interfaces ranging from easy for the average computer user to implement to more challenging for the seasoned programmer. If your application requires more than just data transfers, ActiveX automations are the answer. The ActiveX automations provided with Express and iSeries Access for Windows also allow you to access data queues, run commands, and do data manipulation. Since the automations are ActiveX-compliant, they can be used many programming languages. Take a look at the ActiveX library, and you'll see how quickly and easily you can run iSeries commands and access iSeries data.

Jeremy Bauer is a Staff Software Engineer at IBM Rochester. He has worked on client database technologies for six years. He is currently the iSeries Access for Windows Data Transfer team leader. Jeremy is also among the ranks of the sleep deprived, pursuing a Master of Science in Software Engineering at the University of Minnesota. He may be contacted via email at This email address is being protected from spambots. You need JavaScript enabled to view it..



Support MC Press Online





  • White Paper: Node.js for Enterprise IBM i Modernization

    SB Profound WP 5539

    If your business is thinking about modernizing your legacy IBM i (also known as AS/400 or iSeries) applications, you will want to read this white paper first!

    Download this paper and learn how Node.js can ensure that you:
    - Modernize on-time and budget - no more lengthy, costly, disruptive app rewrites!
    - Retain your IBM i systems of record
    - Find and hire new development talent
    - Integrate new Node.js applications with your existing RPG, Java, .Net, and PHP apps
    - Extend your IBM i capabilties to include Watson API, Cloud, and Internet of Things

    Read Node.js for Enterprise IBM i Modernization Now!


  • Profound Logic Solution Guide

    SB Profound WP 5539More than ever, there is a demand for IT to deliver innovation.
    Your IBM i has been an essential part of your business operations for years. However, your organization may struggle to maintain the current system and implement new projects.
    The thousands of customers we've worked with and surveyed state that expectations regarding the digital footprint and vision of the companyare not aligned with the current IT environment.

    Get your copy of this important guide today!


  • 2022 IBM i Marketplace Survey Results

    Fortra2022 marks the eighth edition of the IBM i Marketplace Survey Results. Each year, Fortra captures data on how businesses use the IBM i platform and the IT and cybersecurity initiatives it supports.

    Over the years, this survey has become a true industry benchmark, revealing to readers the trends that are shaping and driving the market and providing insight into what the future may bring for this technology.

  • Brunswick bowls a perfect 300 with LANSA!

    FortraBrunswick is the leader in bowling products, services, and industry expertise for the development and renovation of new and existing bowling centers and mixed-use recreation facilities across the entertainment industry. However, the lifeblood of Brunswick’s capital equipment business was running on a 15-year-old software application written in Visual Basic 6 (VB6) with a SQL Server back-end. The application was at the end of its life and needed to be replaced.
    With the help of Visual LANSA, they found an easy-to-use, long-term platform that enabled their team to collaborate, innovate, and integrate with existing systems and databases within a single platform.
    Read the case study to learn how they achieved success and increased the speed of development by 30% with Visual LANSA.


  • Progressive Web Apps: Create a Universal Experience Across All Devices

    LANSAProgressive Web Apps allow you to reach anyone, anywhere, and on any device with a single unified codebase. This means that your applications—regardless of browser, device, or platform—instantly become more reliable and consistent. They are the present and future of application development, and more and more businesses are catching on.
    Download this whitepaper and learn:

    • How PWAs support fast application development and streamline DevOps
    • How to give your business a competitive edge using PWAs
    • What makes progressive web apps so versatile, both online and offline



  • The Power of Coding in a Low-Code Solution

    LANSAWhen it comes to creating your business applications, there are hundreds of coding platforms and programming languages to choose from. These options range from very complex traditional programming languages to Low-Code platforms where sometimes no traditional coding experience is needed.
    Download our whitepaper, The Power of Writing Code in a Low-Code Solution, and:

    • Discover the benefits of Low-code's quick application creation
    • Understand the differences in model-based and language-based Low-Code platforms
    • Explore the strengths of LANSA's Low-Code Solution to Low-Code’s biggest drawbacks



  • Why Migrate When You Can Modernize?

    LANSABusiness users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.
    In this white paper, you’ll learn how to think of these issues as opportunities rather than problems. We’ll explore motivations to migrate or modernize, their risks and considerations you should be aware of before embarking on a (migration or modernization) project.
    Lastly, we’ll discuss how modernizing IBM i applications with optimized business workflows, integration with other technologies and new mobile and web user interfaces will enable IT – and the business – to experience time-added value and much more.


  • UPDATED: Developer Kit: Making a Business Case for Modernization and Beyond

    Profound Logic Software, Inc.Having trouble getting management approval for modernization projects? The problem may be you're not speaking enough "business" to them.

    This Developer Kit provides you study-backed data and a ready-to-use business case template to help get your very next development project approved!

  • What to Do When Your AS/400 Talent Retires

    FortraIT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators is small.

    This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn:

    • Why IBM i skills depletion is a top concern
    • How leading organizations are coping
    • Where automation will make the biggest impact


  • Node.js on IBM i Webinar Series Pt. 2: Setting Up Your Development Tools

    Profound Logic Software, Inc.Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application. In Part 2, Brian May teaches you the different tooling options available for writing code, debugging, and using Git for version control. Attend this webinar to learn:

    • Different tools to develop Node.js applications on IBM i
    • Debugging Node.js
    • The basics of Git and tools to help those new to it
    • Using as a pre-built development environment



  • Expert Tips for IBM i Security: Beyond the Basics

    SB PowerTech WC GenericIn this session, IBM i security expert Robin Tatam provides a quick recap of IBM i security basics and guides you through some advanced cybersecurity techniques that can help you take data protection to the next level. Robin will cover:

    • Reducing the risk posed by special authorities
    • Establishing object-level security
    • Overseeing user actions and data access

    Don't miss this chance to take your knowledge of IBM i security beyond the basics.



  • 5 IBM i Security Quick Wins

    SB PowerTech WC GenericIn today’s threat landscape, upper management is laser-focused on cybersecurity. You need to make progress in securing your systems—and make it fast.
    There’s no shortage of actions you could take, but what tactics will actually deliver the results you need? And how can you find a security strategy that fits your budget and time constraints?
    Join top IBM i security expert Robin Tatam as he outlines the five fastest and most impactful changes you can make to strengthen IBM i security this year.
    Your system didn’t become unsecure overnight and you won’t be able to turn it around overnight either. But quick wins are possible with IBM i security, and Robin Tatam will show you how to achieve them.

  • Security Bulletin: Malware Infection Discovered on IBM i Server!

    SB PowerTech WC GenericMalicious programs can bring entire businesses to their knees—and IBM i shops are not immune. It’s critical to grasp the true impact malware can have on IBM i and the network that connects to it. Attend this webinar to gain a thorough understanding of the relationships between:

    • Viruses, native objects, and the integrated file system (IFS)
    • Power Systems and Windows-based viruses and malware
    • PC-based anti-virus scanning versus native IBM i scanning

    There are a number of ways you can minimize your exposure to viruses. IBM i security expert Sandi Moore explains the facts, including how to ensure you're fully protected and compliant with regulations such as PCI.



  • Encryption on IBM i Simplified

    SB PowerTech WC GenericDB2 Field Procedures (FieldProcs) were introduced in IBM i 7.1 and have greatly simplified encryption, often without requiring any application changes. Now you can quickly encrypt sensitive data on the IBM i including PII, PCI, PHI data in your physical files and tables.
    Watch this webinar to learn how you can quickly implement encryption on the IBM i. During the webinar, security expert Robin Tatam will show you how to:

    • Use Field Procedures to automate encryption and decryption
    • Restrict and mask field level access by user or group
    • Meet compliance requirements with effective key management and audit trails


  • Lessons Learned from IBM i Cyber Attacks

    SB PowerTech WC GenericDespite the many options IBM has provided to protect your systems and data, many organizations still struggle to apply appropriate security controls.
    In this webinar, you'll get insight into how the criminals accessed these systems, the fallout from these attacks, and how the incidents could have been avoided by following security best practices.

    • Learn which security gaps cyber criminals love most
    • Find out how other IBM i organizations have fallen victim
    • Get the details on policies and processes you can implement to protect your organization, even when staff works from home

    You will learn the steps you can take to avoid the mistakes made in these examples, as well as other inadequate and misconfigured settings that put businesses at risk.



  • The Power of Coding in a Low-Code Solution

    SB PowerTech WC GenericWhen it comes to creating your business applications, there are hundreds of coding platforms and programming languages to choose from. These options range from very complex traditional programming languages to Low-Code platforms where sometimes no traditional coding experience is needed.
    Download our whitepaper, The Power of Writing Code in a Low-Code Solution, and:

    • Discover the benefits of Low-code's quick application creation
    • Understand the differences in model-based and language-based Low-Code platforms
    • Explore the strengths of LANSA's Low-Code Solution to Low-Code’s biggest drawbacks



  • Node Webinar Series Pt. 1: The World of Node.js on IBM i

    SB Profound WC GenericHave you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application.
    Part 1 will teach you what Node.js is, why it's a great option for IBM i shops, and how to take advantage of the ecosystem surrounding Node.
    In addition to background information, our Director of Product Development Scott Klement will demonstrate applications that take advantage of the Node Package Manager (npm).
    Watch Now.

  • The Biggest Mistakes in IBM i Security

    SB Profound WC Generic The Biggest Mistakes in IBM i Security
    Here’s the harsh reality: cybersecurity pros have to get their jobs right every single day, while an attacker only has to succeed once to do incredible damage.
    Whether that’s thousands of exposed records, millions of dollars in fines and legal fees, or diminished share value, it’s easy to judge organizations that fall victim. IBM i enjoys an enviable reputation for security, but no system is impervious to mistakes.
    Join this webinar to learn about the biggest errors made when securing a Power Systems server.
    This knowledge is critical for ensuring integrity of your application data and preventing you from becoming the next Equifax. It’s also essential for complying with all formal regulations, including SOX, PCI, GDPR, and HIPAA
    Watch Now.

  • Comply in 5! Well, actually UNDER 5 minutes!!

    SB CYBRA PPL 5382

    TRY the one package that solves all your document design and printing challenges on all your platforms.

    Produce bar code labels, electronic forms, ad hoc reports, and RFID tags – without programming! MarkMagic is the only document design and print solution that combines report writing, WYSIWYG label and forms design, and conditional printing in one integrated product.

    Request your trial now!

  • Backup and Recovery on IBM i: Your Strategy for the Unexpected

    FortraRobot automates the routine tasks of iSeries backup and recovery, saving you time and money and making the process safer and more reliable. Automate your backups with the Robot Backup and Recovery Solution. Key features include:
    - Simplified backup procedures
    - Easy data encryption
    - Save media management
    - Guided restoration
    - Seamless product integration
    Make sure your data survives when catastrophe hits. Try the Robot Backup and Recovery Solution FREE for 30 days.

  • Manage IBM i Messages by Exception with Robot

    SB HelpSystems SC 5413Managing messages on your IBM i can be more than a full-time job if you have to do it manually. How can you be sure you won’t miss important system events?
    Automate your message center with the Robot Message Management Solution. Key features include:
    - Automated message management
    - Tailored notifications and automatic escalation
    - System-wide control of your IBM i partitions
    - Two-way system notifications from your mobile device
    - Seamless product integration
    Try the Robot Message Management Solution FREE for 30 days.

  • Easiest Way to Save Money? Stop Printing IBM i Reports

    FortraRobot automates report bursting, distribution, bundling, and archiving, and offers secure, selective online report viewing.
    Manage your reports with the Robot Report Management Solution. Key features include:

    - Automated report distribution
    - View online without delay
    - Browser interface to make notes
    - Custom retention capabilities
    - Seamless product integration
    Rerun another report? Never again. Try the Robot Report Management Solution FREE for 30 days.

  • Hassle-Free IBM i Operations around the Clock

    SB HelpSystems SC 5413For over 30 years, Robot has been a leader in systems management for IBM i.
    Manage your job schedule with the Robot Job Scheduling Solution. Key features include:
    - Automated batch, interactive, and cross-platform scheduling
    - Event-driven dependency processing
    - Centralized monitoring and reporting
    - Audit log and ready-to-use reports
    - Seamless product integration
    Scale your software, not your staff. Try the Robot Job Scheduling Solution FREE for 30 days.