Los directorios de enlace son un tipo más de objetos que sirven exclusivamente 
para las compilaciones de programa, programas de servicio y módulos. Con 
WRKBNDDIR puedes gestionarlos. Yo para mis programas de aplicación sólo utilizo 
uno propio más otro que viene con el sistema (QC2LE). Un directorio de enlace 
normalmente tiene una lista de programas de servicio, aunque también puede 
tener módulos (no es muy ortodoxo).

Qué ocurre cuando compilamos, normalmente en los mandatos existe un parámetro 
BNDDIR donde el compilador busca todos aquellos procedimientos utilizados en el 
programa pero que no están definidos en él. Cuando localiza el programa de 
servicio lo enlaza con el programa (ojo, no lo agrega al programa como si fuera 
un módulo).

Dentro del código del programa también puede utilizarse la palabra clave (hoja 
H) BNDDIR para detallar una lista de directorios de enlace. Esta técnica te 
facilita la tarea de compilación porque te olvidas dónde están los 
procedimientos dejando todo el trabajo al compilador.

En la guía de usuario de RPG (no sé ahora el título exacto) que puedes 
encontrar en el InfoCenter te explica todos estos conceptos más detalladamente. 
En las revistas HELP400, NEWS/400, ServerNews, … se publicaron muchísimos 
artículos sobre las técnicas de programación ILE.

No quiero extenderme más. Si necesitas alguna aclaración no dudes en plantearla.

Javier

De: [email protected] 
[mailto:[email protected]] En nombre de Carlos C.
Enviado el: jueves, 07 de julio de 2016 19:38
Para: forum.help400
Asunto: RE: CRTPMG y enlazando modulos

Hola Javier

Te explico como es la logica;
Un programa principal, despliega opciones ordenados por diferentes atributos :

1. programa de seleccion
  1.1-por documento
  1.2-por nombre
  1.3.-por clase de cliente
  1.4. por fecha de compra
                                            2.1 programa de mantemiento

El programa de seleccion permite seleccionar los ordenes (defino como 
PR-prototipo) ; se despliega un panel y el ingresar al detalle se llama al 
programa de mentenimiento (call).

El tema de BNDDIR como seria? perdon la ignorancia.


Saludos


________________________________
From: [email protected]<mailto:[email protected]>
To: [email protected]<mailto:[email protected]>
Subject: RE: CRTPMG y enlazando modulos
Date: Thu, 7 Jul 2016 15:47:03 +0000
Hola Carlos,

Antes de nada, la pantalla y el programa tienen que trasladarse a producción. 
Los módulos no son necesarios, ya están incluidos en el objeto *PGM.

Para ayudarte un poco sería interesante conocer cómo llamas a los 
“sub-programas”. Cuando hablas de estos no tengo muy claro si estás hablando de 
“subprocedimientos”, que no es lo mismo.

Mi recomendación al trabajar con ILE son:

1.       Un fuente por programa (objeto *PGM).
2.       No utilizar más de un módulo por programa. Al utilizar más de un 
módulo tendrás que tener mucho cuidado para actualizar los programas que lo 
usen.
3.       Todos aquellos procedimientos (subprocedimiento) que se utilicen en 
más de un programa deberías agruparlos en programas de servicio.
4.       Los programas de servicio podrían estar compuestos de más de un 
módulo, teniendo en cuenta que ese módulo sólo estará en ese programa de 
servicio.
5.       Incluye todos los programas de servicio en un directorio de enlace y 
utiliza la palabra clave BNDDIR(…) en la hoja H de los programas. Esta 
operativa automatizará bastante la compilación de  los programas.

Saludos,

Javier

De: 
[email protected]<mailto:[email protected]>
 [mailto:[email protected]] En nombre de Carlos C.
Enviado el: jueves, 07 de julio de 2016 14:34
Para: [email protected]<mailto:[email protected]>
Asunto: CRTPMG y enlazando modulos

Buen dia Foro
Tengo una consulta que hacerle y si alguien pueda guiar.

Tengo 5 programas con 5 pantallas; un programa principla que llama a los 
sub-programas.
Compile con opcion 15-Crear Modulo y hasta ahi todo bien.

Despues para entrelazar entres los 5 programas; estoy tratando de crear un solo 
programa para transferir al equipo de produccion; esa creacion lo realice con 
el comando CRTPGM.

El comando me solicita nombre de un programa para agrupar con los modulos 
creados, proceso creado correctamente.

Mi pregunta es? para que funcione, debo transferir los modulos con la pantalla 
en el equipo de produccion?

Tenia entendido que al crear el programa con el comando CRTPGM invocando los 
modulos ya no habria necesidad de transferir los "subprogramas" al otro equipo.

Si algunos de Uds. me puede indicar si algo estoy haciendo mal ???


Saludos y gracias por la ayuda.

____________________________________________________ �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.

Responder a