Resumen Vb y Cobol

Mensaje enviado por "Alberto Vernieri" <AVernieri@juncalnet.com.ar>

Hola!

Que formato es exactamente comp-6? Seguramente en algún manual de referencia tenés el esquema de almacenamiento.... por tu definición parecería ser empaquetado sin signo, pero no puedo estar seguro, y no tengo a mano una referencia de RM...

Si este fuera el caso (es decir, si es empaquetado sin signo):

En tu definición de datos en VB (seguramente un Type) los tenes que definir como string * nn (donde nn es LA MITAD de la longitud del picture)

Luego tienes que ir recorriendo el string caracter por caracter, tomando el valor ASC, y a ese valor dividirlo por 16. Tomar el cociente y multiplicarlo por 10 y sumarle el resto, esto te va a dar un valor entre 0 y 99 por cada carácter en tu string, Si no es el último, debes multiplicar todo ese resultado por 100 y sumarle el resultado de hacer la misma transformación con el caracter siguiente, y seguir así, multiplicando por 100 y sumando el valor calculado del caracter siguiente, hasta el último del string (te aconsejo hacer una función UNPACK que lo haga).

Por último, si la posición del punto decimal virtual no es la última, debes dividir por 10 elevado a la (cantidad de caracteres despues de la V del picture), en tu ejemplo el campo Monto habría que dividirlo por 100 (10 ^ 2)

También fijate que me parece que una cantidad de bytes al principiop del archivo (en una epoca eran 128) y al principio de cada registro (en una época eran 2, no se si en versiones posteriores habrá cambiado) son reservados (los primeros para header, los otros para indicador de la longitud del registro) y los debes saltear en tu lectura...

Más complicado es el tema de los índices, y ahora no tengo a mano la estrura (hace tiempo que no trabajo con RM) pero si no me equivoco era un árbol n-ario en que cada nodo era de 128 bytes y tenía la clave del registro seguido de un número binario en 4 bytes (long) que si era negativo daba el numero de registro relativo de la siguiente página del índice, y si era positivo directamente el offset desde el principio del archivo donde encontrabas el registro buscado. También recuerdo que había forma de hacer que los archivos contuvieran el índice y los datos mezclados, o los datos por un lado y el índice por otro. Yo siempre use datos e índices separados, de modo que no recuerdo muy bien la técnica para extraer los datos de las páginas de indice de un archivo combinado, pero también estaba explicado en el manual...

Bueno, espero que tengas suerte, cualquier otra cosa, comentame...
Saludos
Alberto

>>> "Jorge Clemente Hermoza" <JClemente@bonus.com.pe> 05/03/01 11:04 >>>
Alberto Vernieri....


    Trabajo con RM-COBOL 85, vos sabeis que la DATA (.DAT) pos tiene su estructura (.FD).., por ejemplo una estructura parcial puede ser:

    Codigo PIC 9(8) COMP 6
    Instituto PIC 99 COMP 6
    Monto PIC 9(6)V99 COMP 6
    Glosa PIC X(40)

    Mi problema es que si los leo directamente con un GET..., los campos numericos.., no son reconocidos..., emite cualquier cosa menos los numeros...

    Alguna idea...., gracias por la colaboración que me puedas dar....

                   \\\|///
                 \\ ~ ~ //
                 ( @ @ )
----------oOOo-(__)- oOOo----------
   Jorge Clemente Hermoza
         Dpto. de Sistemas
  Jclemente@bonus.com.pe
            Lima - PERU
--------------------- Oooo---------------
          oooO ( )
            ( ) ) /
             \ ( (_/
               \_)
  ----- Original Message -----
  From: Alberto M. Vernieri (ar)
  To: visualbasic-esp@yahoogroups.com ; grupovb@yahoogroups.com ; ntlargo@hotmail.com
  Sent: Sunday, March 04, 2001 10:28 PM
  Subject: Re: (VB-ESP) vb y cobol


  Hola!

  La pregunta del millón es... ¿Qué Cobol?

  En Microfocus Cobol yo compilé una DLL en el propio cobol, con
  funciones de Open, Close, Read, Red Next, Start, Write, Rewrite y
  Delete para cada archivo al que necesito acceder, y llamo a las
  funciones correspondientes desde VB...

  Para archivos VSAM de IBM 390, hice transacciones CICS que los
  acceden, y llamo a las transacciones con las API's del emulador
  3270...

  Con otros coboles no se me ha presentado la necesidad, pero en algún
  momento había hecho funciones para acceder a archivos de RM (Ryan
  McFarland) directamente con get y put de basic... (en esa época no era
  VB, pero recuerdo que la estructura de archivos e índices del RM
  estaba bien documentada en los manuales...

  Son tres caminos distintos, no conozco tu caso, pero tal vez alguno te
  pueda servir....

  Saludos
  Alberto

  ----- Original Message -----
  From: "Nelson Largo Morales" <ntlargo@hotmail.com>
  To: <grupovb@yahoogroups.com>; <visualbasic-esp@yahoogroups.com>
  Sent: Saturday, March 03, 2001 10:20 PM
  Subject: (VB-ESP) vb y cobol


  > Companeros
  > Solicito su ayudad, para accesar una base de datos cobol desde
  visual basic.
  > Gracias
  >
  _


____________________________________________________________________________________________________
Si quieres darte de baja de la lista manda un mensaje a visualbasic-esp-unsubscribe@yahoogroups.com desde la cuenta que quieres dar de baja.

No envies ficheros de más de 25 Kb a la lista, por favor.
Si envías ficheros con virus podrás ser dado de baja de la lista.



Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/



Resumen Resumen

Visual Basic Página de Visual Basic

Página principal Página principal

www.jrubi.com