Características Visual RPG para .NET
AVR se integra perfectamente con Visual Studio

- Herramienta de depuración de código fuente
- Herramientas de diseño de interfaz de usuario
- Un editor de código fuente (Intellisense)
- Modelo de control
- Herramientas de implementación
- Entorno de pruebas de unidad
Con AVR puede crear aplicaciones Windows, aplicaciones basadas en navegador web (entendidas para Internet o para su red interna), servicios Windows, servicios Web (utilizando la WCF) y aplicaciones de consola y todo con ¡RPG!
AVR completa sintaxis RPG
AVR ofrece una gran sintaxis RPG y se puede considerar una combinación del mejor lenguaje de RGP con el mejor de CL. La sintaxis de AVR es, igual que ocurre con CL, bastante similar a la sintaxis RPG en el formato libre de ILE RPG. El nombre de campo puede ser tan largo como sea necesario, y muchos de los lenguajes tienen propiedades adicionales. Por ejemplo, en el siguiente fragmento de código, la variable Cust
representa un archivo de disco y tiene la propiedad IsEof
(línea 7) y que es un valor de tipo Boolean, indicador de final de archivo.
A pesar de que puede escribir modernas aplicaciones RPG con AVR, también es perfectamente compatible con otros lenguajes, incluso con las funciones incorporadas a RPG.
BegSr LoadGrid
DclFld Row Type(*Integer4)
Do FromVal(1) ToVal(GRID_SIZE) Index(Row)
Read Cust
If Cust.IsEof
Leave
EndIf
Write CustMem
EndDo
gridviewCust.DataSource = CustMem.GetFileData()
gridviewCust.DataBind()
EndSr
Por ejemplo, las líneas 5 y 6 mostradas arriba, pueden ser escritas de este modo utilizando el indicador:
Read Cust EOF(*IN55)
If *IN55=*ON
o como ésta, utilizando una función incorporada:
Read Cust
If %EOF(CUST)
Trabajar con la sintaxis AVR, para los programadores RPG, es una tarea fácil y cómoda.
Alta fidelidad con el entorno .NET y VB.NET/C#
AVR proporciona un alto nivel de fidelidad con el entorno .NET. Puede crear clases con AVR que implementan los mismos comportamientos y accesibilidad como VB.NET y C#. El compilador AVR lo escribió el equipo I+D de ASNA y produce directamente la salida del Microsoft Intermediate Language, tal como se muestra a continuación.
Debido al alto nivel de similitud de AVR con el entorno .NET, los ensamblados AVR son perfectamente asumibles por VB.NET y C# (y muchos otros lenguajes .NET), y cada ensamblador VB o C# también es soportado por AVR. Esto significa que su equipo AVR podría crear grandes y ricas bibliotecas de clases accediendo, por ejemplo, a los datos del IBM i. que son comprensibles por sus equipos de programación VB.NET o C#, alejándolos de posibles y abstractas incidencias del IBM i. Esta fidelidad implica que muchos de los productos que estaban dirigidos a VB.NET o C#, son ahora también asumibles por AVR. Por ejemplo, existe una rica oferta de controles de terceros (que facilitan elementos para la UI, como pueden ser gráficos) y esos controles trabajan en perfecta armonía con AVR.
Excelente conectividad de la base de datos

AVR se conecta a la base de datos subyacente con ASNA DataGate. DataGate está disponible para tres plataformas:
-
DataGate para IBM i (DGi). DGi instala una biblioteca de objetos en el IBM i y es también el servidor que conecta AVR a la base de datos de IBM i. En el IBMi, DataGate proporciona el acceso a los archivos de lectura/escritura a nivel de registro, con un programa de llamada implementado llamado
CALL/PARM
). Este programa obedece a la semántica de paso por referencia a argumentos anteriores, así como tiene fácil acceso a las áreas de datos. DGi sigue todas las reglas de seguridad impuestas, por lo que en ningún momento se pone en peligro el acceso a su base de datos y a las instalaciones del servidor. - DataGate para SQL Server (DGSS). DGSS se instala en la base de datos de un servidor Windows y conecta AVR al servidor MS SQL. DGSS traduce a nivel de registro, y sobre la marcha, los modismos de acceso de AVR a SQL.
- DataGate para Servidores Windows y PC’s(DGW). DGW se instala en los servidores de Windows o PC’s, facilitando su propia base de datos “local” en ese PC o servidor. La base de datos local de ASNA proporciona una base de datos semánticamente similar a la base de datos del IBM i pero implementada en el PC.
Un programa AVR puede conectarse a cualquiera de estas tres plataformas sin necesidad de ningún cambio en el código fuente.