Para hacer llamadas remotas (desde otras plataformas) a programas RPG residentes en el Iseries, sean estos generados con Gx o a "mano", se deben declarar via la opción DECLARE PROCEDURE del SQL propietario de la plataforma ISeries.
Recuerdo que la opción para hacerlo automaticamente para los programas invocados por GX desde otras plataformas, aparecia en el developer menu cuando se genera en Java/Win, no recuerdo haberlo visto para .Net.
Una solución rápida para tu caso, seria crear otro generador dentro de tu environment, con las propiedades Java/Win, crear un work panel main dummy y luego ejecutar el developer menu para arrancar el programa que define los stored procedures.
Nos cuentas, saludos.
Atte
Juan Carlos Báez
--------------------------
Juan Carlos Báez
--------------------------
El 26 de diciembre de 2012 09:50, Christian Berrios <berrios.christian@gmail.com> escribió:
Estimados, gracias por sus respuestas, la solución que use fue la siguiente:En la creación del dataview en el record format, ingrese el nombre del registro de las tablas a las que estaba haciendo los dataview, con esto pude compilar en rpg sin problemas.Ahora tengo el siguiente problema:Los procedimientos RPG los tengo como main para ejecutarlos como procedimientos almacenados.En un modelo nuevo WEB Genexus X Ev 1 U8 .Net contra ISeries, los declaro en el datastore, como lista externa de procedimientos almacenados, y en la lista de librerías, agrego la biblioteca donde se encuentra el procedimiento almacenado. Hasta aca todo perfecto bajo las normas de genexus, ya que al momento de especificar el objeto solo me da el warning del llamado al procedimiento con una función deprecate como indica la linea de más abajo:warning: spc0145: Calling stored procedure 'AINF000' in datastore 'PPC' via the call keyword is deprecated. (Events, Line: 889#987e06db-145d-4376-9be0-ee0c676e663b, Details#609421dc-feff-4798-aea2-3dbe12f519f4)Ahora el problema se produce al ejecutar el objeto y llamar el procedimiento, arrojando el siguiente error:Error de servidor en la aplicación '/UAIUAIAS400'.
SQL0204 AINF000 en de tipo *N no encontrado.
Descripción: Excepción no controlada al ejecutar la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código.
Detalles de la excepción: IBM.Data.DB2.iSeries.iDB2SQLErrorException: SQL0204 AINF000 en de tipo *N no encontrado.
Error de código fuente:
Se ha generado una excepción no controlada durante la ejecución de la solicitud Web actual. La información sobre el origen y la ubicación de la excepción pueden identificarse utilizando la excepción del seguimiento de la pila siguiente.
Seguimiento de la pila:
[iDB2SQLErrorException (0x80004005): SQL0204 AINF000 en de tipo *N no encontrado.] IBM.Data.DB2.iSeries.iDB2Exception.throwDcException(MpDcErrorInfo mpEI, MPConnection conn) +146 IBM.Data.DB2.iSeries.iDB2Command.reportDCError(Int32 rc) +586 IBM.Data.DB2.iSeries.iDB2Command.Prepare() +461 IBM.Data.DB2.iSeries.iDB2Command.ExecuteNonQuery() +110 GeneXus.Data.GxDataRecord.ExecuteStoredProcedure(IDbCommand cmd) +16 GeneXus.Data.ADO.GxCommand.ExecRpc() +610 [GxADODataException: SQL0204 AINF000 en de tipo *N no encontrado.] GeneXus.Data.ADO.GxCommand.ExecRpc() +902 GeneXus.Data.ADO.GxCommand.FetchDataRPC(IDataReader& dr) +78 [GxADODataException: SQL0204 AINF000 en de tipo *N no encontrado.SQL0204 AINF000 en de tipo *N no encontrado.] GeneXus.Data.ADO.GxCommand.FetchDataRPC(IDataReader& dr) +366 GeneXus.Data.NTier.ADO.CallCursor.execute() +86 GeneXus.Data.NTier.DataStoreProvider.execute(Int32 cursor, Object[] parms, Boolean batch) +609 GeneXus.Data.NTier.DataStoreProvider.execute(Int32 cursor, Object[] parms) +11 GeneXus.Programs.presprueba.E163Z2() +1200 GeneXus.Programs.presprueba.EVT3Z2() +891 GeneXus.Programs.presprueba.DispatchEvents() +5 GeneXus.Programs.uai1.EVT0H2() +1166 GeneXus.Programs.uai1.webExecute() +131 GeneXus.Programs.presprueba.webExecute() +251 GeneXus.Http.GXHttpHandler.ProcessRequest(HttpContext httpContext) +266 [Exception: GXApplication exception] GeneXus.Http.GXHttpHandler.ProcessRequest(HttpContext httpContext) +355 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +181 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75
Información de versión: Versión de Microsoft .NET Framework:2.0.50727.5466; Versión ASP.NET:2.0.50727.5456
Esperando se encuentren bien y atento a sus comentarios, me despido cordialmente deseándoles feliz navidad a todos.
Christian Berrios Sepúlveda.Ing. Industrial.Analista Genexus.
El 7 de diciembre de 2012 09:48, Christian Berrios <berrios.christian@gmail.com> escribió:
Estimad@s, buenos dias.
Estoy implementando GeneXus desde 0, para formar un área de desarrollo. Esta tiene un ISeries con compilador rpg.
En este ISeries ya instale la biblioteca GX y estoy creando tablas y procedimientos.
Mi problema es que cuando creo procedimientos que leen Dataview, estos no se compilan en el ISeries.
Visualizar Mensajes
Sistema: ISISDAF
Cola . . . . . : CBS Programa . . . : *DSPMSG
Biblioteca . : QUSRSYS Biblioteca . :
Gravedad . . . : 00 Entrega . . . . : *BREAK
Teclee respuesta (si necesario), pulse Intro.
* Could not create Procedure PPRC01 in library GWEB.
Final
F3=Salir F11=Eliminar un mensaje F12=Cancelar
F13=Eliminar todo F16=Eliminar todo excepto no respondido F24=Más teclasEl procedimiento hace lo siguientefor each order NIMICE, UIMICE, ICLICEendfor
Procedure Prc01 Navigation Report
Name Prc01
Description Prc01 Output Devices None
Environment
RPG for iSeries Spec. Version
9_0_6-009 Form Class Graphic Program Name PPrc01 Parameters
Levels
For Each PFMICE10 (Line: 1)
Order:
NIMICE , UIMICE , ICLICE Index: LFMICE10
Navigation filters:
Start from: FirstRecord
Loop while: NotEndOfTable
=PFMICE10( ICLICE) INTO ICLICE UIMICE NIMICE
Donde PFMICE10 esta asociado al dataviewEstimados necesito saber si falta algo que configurar en el ISeries o Genexus para poder realizar esto ya que necesito realizar SP para mejorar performance de aplicaciónAtento a sus comentarios.--
Christian Berríos Sepúlveda
Ing. Industrial.
Analista Genexus
Movil : 09-9185722--
Christian Berríos Sepúlveda
Desarrollador Genexus
Movil : 09-9185722
0 Response to "Re: [as400-l] Re: Implementación GX"
Publicar un comentario