Buenos dias.
Supongo que unicamente cambiaras el valor de la clave y no los
parametros de la misma (fichero, numero de claves, ...). Si es asi
puedes intentar los siguiente:
Pasa la clave como variable al programa.
Crea dos variables. La primera, de tipo caracter, ha de ser con el
mismo numero (o m�s 1) de caracteres que el campo que tienes que
localizar, pero con un numero impar de caracteres (sin empaquetar).
Mueves por la derecha el numero que has recibido y rellenas el campo de
mas con un cero.
En la segunda concatenas todo el mandato de la forma siguiente:
CHGVAR &var 'OVRDBF FILE(CALNDR01) TOFILE(AMFLIB/CALNDR01) MBR(*FIRST)
POSITION (*KEYBE 1 CALNDRA X'' || & primera variable || 'F'')
A continuaci�n ejecuta este mandato mediante el programa QCMDEXC:
CALL QCMDEXC (&VAR &NUM)
La variable &num es un campo numerico de 15,5 que tiene que contener el
numero de caracteres de la variable &var.
Saludos.
----- Missatge Original -----
De: [EMAIL PROTECTED]
Data: Dimecres, Setembre 18, 2002 3:00 pm
Assumpte: Procesar Archivos BD en Programas CL
> Hola Foro, hace unos d�as envi� esta pregunta y todav�a no he
> encontrado la
> respuesta. Por favor, si alguno de Uds tiene alg�n programador cerca
> transmitanle este mensaje para ver si alguien puede contestarme a la
> pregunta.
> .......
> En el �ltimo numero de la revista NEWS 400 encontr� ejemplos de como
> situarse por clave en un archivo de datos en un progrma CL. Todo
> bien hasta
> que prob� con un archivo cuya clave es num�rica empaquetada. Hay
> que poner
> el valor en Hexadecimal. Muy bien, funciona:
> OVRDBF FILE(CALNDR01) TOFILE(AMFLIB/CALNDR01) MBR(*FIRST)
> POSITION (*KEYBE 1 CALNDRA X'1020911F')
>
> Claro que de poco me sirve si el valor se lo tengo que dar como una
> constante.
> Mi pregunta es como puedo pasarle el valor de posicionamiento en una
> variable. �como defino esa variable, *CHAR o DEC? etc... �c�mo
> convierto el
> valor que tengo a Hexadecimal?.
> Gracias, Jone Abrego
>
>
>
> _____________________________________________________
> Forum.HELP400 es un servicio m�s de NEWS/400.
> � Publicaciones Help400, S.L. - Todos los derechos reservados
> http://www.help400.es
> _____________________________________________________
>
> Para darte de baja, env�a el mensaje resultante de pulsar
> mailto:[EMAIL PROTECTED]?body^AVE
>
________________________________________________________________
El teu correu, el teu club, la teva agenda, la teva informaci�.
Tot a MENTA - http://www.menta.net
_____________________________________________________
Forum.HELP400 es un servicio m�s de NEWS/400.
� Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________
Para darte de baja, env�a el mensaje resultante de pulsar
mailto:[EMAIL PROTECTED]?body=LEAVE