Many applications, both Windows and Web, need to connect to the Internet to send or receive data. ASNA Visual RPG Classic apps do not intrinsically have the ability to make HTTP requests. This can be a crippling drawback when you have a legacy enterprise app for which you now have the requirement to send and/or receive data from the Internet. There are still a few third-party COM controls around that can enable AVR to make HTTP requests, but these controls are often troublesome and customers report that some no longer work. This article shows how to extend AVR Classic with AVR for .NET to enable the AVR Classic app to fetch data Json data with an HTTP request. We'll first a look at the AVR for .NET class library project responsible for making the HTTP request to fetch the Json then we'll take a look at the AVR Classic app that consumes that .NET class library. This article provides a simple example of fetching Json. Things like user authentication and product-worthy error handling are omitted--but both can be added.
By default, most HTML elements don't display text that contains carriage returns and linefeed characters correctly. This article shows how to resolve that issue by applying a simple CSS property.
We've worked with several AVR Classic customers lately helping them resolve challenges with their legacy Classic apps. During this work, we've come to the opinion that integrating AVR for .NET with AVR Classic is not only a great way to solve AVR Classic-imposed challenges and limitations, but it's also a way to start replacing parts of your AVR Classic applications with AVR for .NET. Many AVR Classic applications are quite large and complex and rewriting them from the ground up isn't doable--at least quickly. But over time, incrementally replacing parts of them with AVR for .NET may be the key to clawing your way out of COM prison. Be sure to understand that this article isn't about launching .NET EXEs with AVR's OSExec operation. While you can achieve a modest level of interoperability with by launching an EXE with OSExec, you're still dealing with two distinct processes that don't really interoperate with each other. With this article's techniques, you'll have a single (started by AVR Classic), that uses the .NET binary just as it would an ActiveX control. You'll be able to call .NET methods, get results back from .NET functions, and read and write .NET properties. This article provides the keys for integrating AVR for .NET with AVR Classic.
When cutting and pasting data into Web pages, it's easy to paste smart quotes and other characters that won't later render well on IBM i green-screens. This article shows how to "cleanse" your HTML inputs before submitting them to the server.
The .NET command line is probably not used very frequently by AVR for .NET coders. But for those needing to achieve AVR for .NET to AVR Classic interoperability, it's a necessity. This article shows how to configure Visual Studio for easy .NET command line access.
This document introduces several of the unique and powerful features of ASNA Visual RPG for .NET (AVR). Whether you're a traditional RPG programmer with little or no experience with other languages, or a veteran VB/C# programmer, this document provides an overview of several of AVR's language concepts and syntactical details.
This page provides the current list of browsers on which web-based ASNA products are specifically tested.
This article discusses how to use the DDSList control to provide a dropdown element for a Mobile RPG record format.
The ListView is a worthy alternative to the GridView control. With the ListView control, you are 100% in charge of the markup produced. This makes the ListView much better suited to pages where you need complete control over the markup, such as when you're using a CSS framwork like BootStrap. However, the ListView's model for determining row clicks is quite different from the GridView. This article shows how to determine what row and column got clicked with the ListView.
A very important consideration for AVR for .NET ASP.NET websites is managing IBM i jobs. This article discusses how to ensure that an AVR for .NET website doesn't create more IBM i jobs than necessary.
Despite your best efforts, your ASNA Visual RPG web application may be launching way more IBM i jobs than necessary. This article offers a few tips on finding the cause of orphaned IBM i jobs associated with your ASNA Visual RPG web app.
DataGate's connection pooling is a way to improve website performance by reusing existing server-side jobs for ASNA Visual RPG for .NET ASP.NET Web apps.