Hola, la opción previa es válida, lo más sencillo es crear un módulo *NOMAIN donde colocas tus procedimientos a exportar y se lo incluyes como módulo al programa llamador, asi te evitas los directorios de enlace, aunque son igualmente válidos.
Yo personalmente utilizo uno o varios módulos *NOMAIN y creo un programa servicio, luego creo un fuente de enlace donde declaro o defino las funciones y procedimientos que utilizará el servicio y lo compilo definiendole el fuente de exportación. Y así tengo funciones y procedimiento para todo los programas que los requieran, parecido a como funciona JAVA. Saludos. - El lun, 9 oct 2023 a las 6:47, Alberto Martinez de Urda (< albert.martinez.deu...@gmail.com>) escribió: > Hola > Si lo tienes compilado como módulo y creado como programa de servicio > CRTSRVPGM, lo tienes que añadir a un directorio de enlace > WRKBNDDIR/WRKBNDDIRE > y luego añadir este directorio de enlace junto con la definición del > procedimiento, a tu programa: > por ejemplo: > Ctl-opt Datedit (*DMY) Dftactgrp(*no) Bnddir('@SRVPGMLIB/FUNCIONES') ; > //directorio de enlace > /Copy ARCADI/QSRVSRC,DEFPROC //definición > > Yo(y supongo que todo el mundo lo hace) tengo las definiciones de los > procedimientos externos en un fuente aparte sólo con definiciones, y luego > se hace un /copy del fuente > > Saludos > > > El lun, 9 oct 2023 a las 0:29, Carlos C. (<paipuk...@hotmail.com>) > escribió: > >> Buenos dias Foro >> >> Tengo una consulta con el Foro. >> Estuve creando progrmas tipo EXPORT >> >> >> Cabecera de programa: >> >> 01 Ctl-Opt DftActGrp(*No) ActGrp(*Caller); >> >> 02 >> >> 03 // ---- DEFINICIÓN DE PROCEDIMIENTO -------------------------+ >> >> 00 Dcl-Proc DatosValidacion Export; >> >> 00 Dcl-PI *N ; >> >> 00 var1 Char(12); >> >> 00 var2 Char(10); >> >> 00 var3 Char(02); >> >> 00 var4 Char(40); >> 01 End-PI; >> >> 00 >> >> >> >> Pude compilar con modulos todo, pero al intentar uilizar en un programa >> de RPG me da un error. >> >> Algunos de Uds. tienen alguna experiencia, les agradecer enormemente. >> >> >> >> llamada a programa RPG >> >> >> D PROEXT Pr 10i 0 ExtProc(' DatosValidacion') >> >> D var1 12 Value >> >> D var2 10 Value >> D var3 02 Value >> D var4 40 Value >> * >> >> *-- Set bit --------------------------------------------- >> >> * >> >> *------------------------------------------------------------------ >> >> * Inicio de Calculo >> >> *------------------------------------------------------------------ >> >> *INLR = *ON ; >> >> >> >> PROEXT (var1 :var2: var3: var4) ; >> >> mensaje de error >> >> *Definición no encontrada para el símbolo 'DatosValidacion'*. >> (debo hacer un paso mas para que se reconozca?) >> >> >> gracias desde ya !!! >> >> >> ____________________________________________________ >> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) >> Forum.Help400 � Publicaciones Help400, S.L. >> > ____________________________________________________ > Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) > Forum.Help400 � Publicaciones Help400, S.L.
____________________________________________________ Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 � Publicaciones Help400, S.L.