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.

Reply via email to