Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Entornos de desarrollo y compiladores Cobol Fujitsu COBOL PowerCOBOL (ActiveX, v4 - v11)
PowerCOBOL (ActiveX, v4 - v11) Versiones del IDE basadas en ActiveX
 
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Duda] Enviar aviso "Sin conexion a internet" Gatomalo PowerCOBOL (ActiveX, v4 - v11) 11 26 de octubre de 2020 15:19
[Herramienta] Fujitsu Cobol & Internet Joseg PowerCOBOL (ActiveX, v4 - v11) 5 8 de marzo de 2018 13:10
Vendió una página de internet "píxel por píxel" Kuk Charladero - espacio libre 0 10 de febrero de 2017 15:29
[Duda] Creación de ficheros de datos Dasije WinDev 0 7 de agosto de 2016 19:16
[Duda] Colector de datos Argox Roger PowerCOBOL (ActiveX, v4 - v11) 0 2 de julio de 2015 00:36

Respuesta
 
Herramientas

  #11
Antiguo 17 de julio de 2019, 18:07
fastpho
El Foro es mi casa
Innovación: Por aportar innovaciones - Issue reason: SQLite + OO Cobol class Concurso: Primer puesto: Ganador/a del Primer puesto en un concurso - Issue reason: Acceso a datos Cobol vía web 
Última Actividad 21.08.2026 18:08
Posts Posts: 365
Likes enviados Enviados: 252
Likes recibidos Recibidos: 243

Buenas gente ....
Empece instalando wampserver para trabajar con el php haber como era el tema...
Y comence a leer un poco de php y el ejemplo que habia, resulta que hice una pruebas con un archivo de similares caracteristicas al del ejemplo "granos.dat" pero creado con pwcobol version 5 ,
lo que hace la rutina es buscar por indice o variable llamada $clave al principio todo bien encontraba el registro , resulta que a medida que hacia diferentes busquedas de acuerdo al indice del registro aumentaba su valor me daba como que el registro no existia.....
Jorgeanna me podrias mirar el codigo que puse haber en donde esta el problema

Código PHP:
  1. <HTML>
  2. <HEAD>
  3. <TITLE> Pruebas en PHP </TITLE>
  4. <LINK REL="stylesheet" TYPE="text/css" HREF="estilo.css">
  5. </HEAD>
  6.  
  7. <BODY>
  8.  
  9. <H1>lectura de archivo cobol</H1>
  10. <form method='post' >
  11.    <p><input name='numero' type='text' /></p>
  12.    <p><input type='submit' value='enviar'></p>
  13. </form>
  14. <?php
  15.     require("RmFile.php");
  16.     require("wenteje.php");
  17.    
  18.   // $datos= "Datos";
  19.   // $clave="0001";
  20.    
  21.    echo ("esta es la clave ") . $_POST['numero'];
  22.    $clave = $_POST['numero'];
  23.    
  24.    echo ("--------");
  25.    
  26.    
  27.    //------------------------WEMAES.DAT--------------------    
  28.         $iFile = new RmFile("RUBROS.DNX",wenteje::lectura(),".");
  29.     // muestra un determinado registro
  30.          if ($iFile->find($clave,0)){
  31.             if ($reg = $iFile->next()){
  32.         //  var_dump($reg);
  33.                 print_r($reg);
  34.                 echo "-------------lo encontro...................";
  35. //              if ($reg["wmid"]->Value == "10"){
  36.             }else{
  37.                 echo "no en el next";
  38.             }
  39.         }else{
  40.         echo "no en el find";
  41.         }
  42.         echo "---------------------------------- MUESTRA TODO EL REGISTRO --------------------";
  43.         // muestra todo el registro completo
  44.     if ($iFile->find($clave,0)){
  45.         while ($reg = $iFile->next())
  46.            
  47.         print_r($reg);
  48.         echo "----------------------------------";
  49.          
  50.         //endwhile;
  51.     }
  52.    
  53.  
  54. ?>
  55.  
  56. </BODY>
  57. </HTML>
fastpho is offline   Responder Con Cita
  #12
Antiguo 18 de julio de 2019, 04:46
Jorgeanna
Forero Junior
Última Actividad 25.01.2026 23:59
Posts Posts: 24
Likes enviados Enviados: 0
Likes recibidos Recibidos: 39
Predeterminado Libreria PHP - JOSE KOBER
3 Inactivo Inactivo

Para mejor respuesta a tu pregunta, subi un archivo con un ejemplo mas didactico de como se puede utilizar la rutina en php para leer archivos cobol desde la web sin pasar los datos a texto y luego leerlo en mysql. LO UNICO QUE HAY QUE HACER ES LEER Y MOSTRAR LOS RESULTADOS.

Quiero dejar aclarado que no soy el autor de la libreria, me la suministro gentilmente el Sr. JOSE KOBER y ademas me ayudo a ponerla en practica.

Oportunamente vi que la solicitaba Fito y se la envie con la observacion de que si la compartiera hiciera mencion a su creador, pero bueno la publico y ni siquiera dijo recordar quien se la habia enviado, por eso pido por favor demos el credito a quien desinteresadamente suministro esta poderosa libreria.

En el comprimido van una serie de pantallas que estan corriendo en la web, con resultados extraidos directamente desde los archivos enviados por ftp, que se actualiza automaticamente al salir de la aplicacion.

Un demo que hice oportunamente para una presentacion de reconocimiento de ultrasonido podran observar en el siguiente Menu Demo USE

Por ultimo quiero decirles que el tiempo que le dediquen a su implementacion seguro estara ampliamente compensado.
Archivos Adjuntos
Tipo de Archivo: rar ejemplo.rar (404,2 KB)Descargas: 170
Jorgeanna is offline   Responder Con Cita
  #13
Antiguo 18 de julio de 2019, 16:30
fastpho
El Foro es mi casa
Innovación: Por aportar innovaciones - Issue reason: SQLite + OO Cobol class Concurso: Primer puesto: Ganador/a del Primer puesto en un concurso - Issue reason: Acceso a datos Cobol vía web 
Última Actividad 21.08.2026 18:08
Posts Posts: 365
Likes enviados Enviados: 252
Likes recibidos Recibidos: 243

Muchas Gracias Jorgeanna y tambien a el Sr JOSE KOBER , por su tiempo
seguire haciendo pruebas y subire los resultados para que otras personas puedan utilizar esta libreria para implementar en sus sistemas
fastpho is offline   Responder Con Cita
  #14
Antiguo 18 de julio de 2019, 17:52
Joseg
El Foro es mi casa
Activista del Foro: Activista del Foro - Issue reason: Por participación activa Innovación: Por aportar innovaciones - Issue reason: Por aportar soluciones innovadoras en varias ocasiones 
Última Actividad 21.09.2026 18:39
Posts Posts: 402
Likes enviados Enviados: 130
Likes recibidos Recibidos: 179

Citación del post de Jorgeanna Ver Mensaje
Para mejor respuesta a tu pregunta, subi un archivo con un ejemplo mas didactico de como se puede utilizar la rutina en php para leer archivos cobol desde la web sin pasar los datos a texto y luego leerlo en mysql. LO UNICO QUE HAY QUE HACER ES LEER Y MOSTRAR LOS RESULTADOS.

Quiero dejar aclarado que no soy el autor de la libreria, me la suministro gentilmente el Sr. JOSE KOBER y ademas me ayudo a ponerla en practica.

Oportunamente vi que la solicitaba Fito y se la envie con la observacion de que si la compartiera hiciera mencion a su creador, pero bueno la publico y ni siquiera dijo recordar quien se la habia enviado, por eso pido por favor demos el credito a quien desinteresadamente suministro esta poderosa libreria.

En el comprimido van una serie de pantallas que estan corriendo en la web, con resultados extraidos directamente desde los archivos enviados por ftp, que se actualiza automaticamente al salir de la aplicacion.

Un demo que hice oportunamente para una presentacion de reconocimiento de ultrasonido podran observar en el siguiente Menu Demo USE

Por ultimo quiero decirles que el tiempo que le dediquen a su implementacion seguro estara ampliamente compensado.


Muito interessante.
Esta libraria consegue ler qualquer arquivo indexado? Não necessita de runtime do Fujitsu Cobol?
Consegue interpretar campos COMP ?
Joseg is offline   Responder Con Cita
  #15
Antiguo 19 de julio de 2019, 01:14
Jorgeanna
Forero Junior
Última Actividad 25.01.2026 23:59
Posts Posts: 24
Likes enviados Enviados: 0
Likes recibidos Recibidos: 39

No se necesita el runtime del powerCOBOL, y segun tengo entendido es compatible con campos comp, habria que ver si la rutina esta actualizada. Aclaro que no los he utilizado.

los tipos a declarar serian I,S,C,D, no es necesario delarar la totalidad de los campos sino los que se van a utilizar su ubicacion y largo.

Pueden probar con cualquier archivo que tengan, con solo hacer muy pocos cambios al ejemplo enviado pueden ver los resultados inmediatamente

Tengan en cuenta que si lo suben en un servidor web, mantengan los nombres de archivo en minusculas, ya que lo que anda en local cuando se sube a la web no anda y este fue uno de mis primeros dolores de cabeza.

Para quien tenga alguna duda, se puede hacer de todo menos grabar, el resto funciona de maravilla y por eso digo que depende de las ganas de aprender a utilizar esta herramienta, que hace tiempo esta en el foro y nadie le metio mano.

Saludos y suerte.
Jorgeanna is offline   Responder Con Cita
  #16
Antiguo 30 de agosto de 2019, 16:50
fastpho
El Foro es mi casa
Innovación: Por aportar innovaciones - Issue reason: SQLite + OO Cobol class Concurso: Primer puesto: Ganador/a del Primer puesto en un concurso - Issue reason: Acceso a datos Cobol vía web 
Última Actividad 21.08.2026 18:08
Posts Posts: 365
Likes enviados Enviados: 252
Likes recibidos Recibidos: 243

Ejemplo de la rutina php con archivos indexados en pwc 5
La rutina muestra los archivos rapidamente , tiene problema con campos con signo
Y he tenido problemas para poder leer un registro en particular esta detallado en el index.php
en el adjunto van dos archivos de cobol y un print-screen del listado de rubros en pwc
Saludos
Archivos Adjuntos
Tipo de Archivo: rar PW5 PHP.rar (532,4 KB)Descargas: 138
fastpho is offline   Responder Con Cita
  #17
Antiguo 2 de septiembre de 2019, 01:54
Jorgeanna
Forero Junior
Última Actividad 25.01.2026 23:59
Posts Posts: 24
Likes enviados Enviados: 0
Likes recibidos Recibidos: 39
Predeterminado ver declaracion de los campos
2 Inactivo Inactivo

Citación del post de fastpho Ver Mensaje
Ejemplo de la rutina php con archivos indexados en pwc 5
La rutina muestra los archivos rapidamente , tiene problema con campos con signo
Y he tenido problemas para poder leer un registro en particular esta detallado en el index.php
en el adjunto van dos archivos de cobol y un print-screen del listado de rubros en pwc
Saludos
1. La rutina no tiene problemas. El problema consiste en que declaras un campo numerico como string. Cambia 'S' por 'I' y te va andar, luego formatearas el resultado de salida, tambien podes probar con campos tipo 'E' y 'D' -> 2 decimal.

Los inconvenientes fueron sorteados solamente con cambiar el tipo de dato de la variable y paso andar todo como estaba previsto.

Por mi experiencia, los problemas que se presentas es por desconocimiento del usuario y no de la rutina.

Podes ver el listado enviado en el zip en la siguiente direccion web que es donde hice la prueba ya que hoy domingo no accedo a mi oficina:

http://veterinariatejedo.com.ar/prueba/index.php

se le agrego un css para ver mejor la tabla.
Suerte!
Jorgeanna is offline   Responder Con Cita
  #18
Antiguo 2 de septiembre de 2019, 16:16
fastpho
El Foro es mi casa
Innovación: Por aportar innovaciones - Issue reason: SQLite + OO Cobol class Concurso: Primer puesto: Ganador/a del Primer puesto en un concurso - Issue reason: Acceso a datos Cobol vía web 
Última Actividad 21.08.2026 18:08
Posts Posts: 365
Likes enviados Enviados: 252
Likes recibidos Recibidos: 243

Jorgeanna, Primero antes que todo gracias por contestar un dia domingo ,
Realice los cambios de que me marcaste (cambie la variable string "S" POR "I" integer) y ahora me muestra el listado y el error que tenia para buscar algun registro en particular no lo estaba poniendo entre comillas a la variable de busqueda y ahora me encuentra el registro.
Con respecto al comentario que pruebe de poner campos tipo 'E' y 'D' -> 2 decimal lo hice pero me da error y estuve mirando la funcion seteo campos y no tiene en el case el tipo "E"
y si le coloco "D" me un error Notice: Undefined property: stdClass::$decimal in C:\wamp64\www\php\RmFile.php on line 672

Código PHP:
  1. class fd_rubros{
  2.     public static function get(){
  3.             $fd_rubros["rubcodigo"]    = (Object) array ("desde" => 1 , "cant" => 4 , "tipo"=>"I");
  4.             $fd_rubros["rubnombre"]    = (Object) array ("desde" => 5 , "cant" => 30    , "tipo"=>"S");
  5.             $fd_rubros["rubmargenmin"]    = (Object) array ("desde" => 35 , "cant" => 5 , "tipo"=>"I");
  6.             $fd_rubros["rubmargenmay"]    = (Object) array ("desde" => 40 , "cant" => 5 , "tipo"=>"I");
  7.             $fd_rubros["rubacumulado"]    = (Object) array ("desde" => 45 , "cant" => 11 , "tipo"=>"D" , "decimal"=>2);        
  8.            
  9.            
  10.             return $fd_rubros;
  11.         }
  12.     }
Esta es la linea 672 return (float) substr($a,0,strlen($a)- $v->decimal).",".substr($a ,($v->decimal * - 1));

Funcio Seteo Campos

Código PHP:
  1. protected function SeteoCampos($mBuff,$v){
  2.         switch ($v->tipo) {
  3.             case "I":
  4.                 return (integer) $this->Substr($mBuff,$v->desde-1,$v->cant);
  5.                 break;
  6.             case "S":
  7.                 return  $this->Substr($mBuff,$v->desde-1,$v->cant);
  8.                 break;
  9.             case "D":
  10.                 $a =$this->Substr($mBuff,$v->desde-1,$v->cant);
  11.                 return (float) substr($a,0,strlen($a)- $v->decimal).",".substr($a ,($v->decimal * - 1));
  12. //              return NULL;
  13.                 break;
  14.         }
  15.         return NULL;   
  16.     }
fastpho is offline   Responder Con Cita
Respuesta



Derechos de Publicación
No puedes publicar nuevos temas
No puedes publicar posts/responder
No puedes adjuntar archivos
No puedes editar tus posts

BB code is habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado

Saltar a Foro


La franja horaria es GMT +2. Ahora son las 03:55.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.