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
[Aporte] Codigo de barras de Pago Fácil ( Argentina ) Fito Software 3 3 de diciembre de 2024 19:14
Mantenimiento Facil en España. Hrmcobol Charladero - espacio libre 10 30 de junio de 2020 03:25
[Herramienta] Pasar datos de Cobol (Archivos RMKF) a txt/Excel JuanPelaez COBOL - General 10 3 de enero de 2020 12:58
[Sintaxis] Crear generar un TXT Dasije WinDev 1 12 de noviembre de 2016 03:21

Respuesta

  #1
Antiguo 29 de septiembre de 2017, 22:22
KalEl
Forero Junior
Última Actividad 30.05.2018 21:37
Posts Posts: 14
Likes enviados Enviados: 1
Likes recibidos Recibidos: 0
Predeterminado Facil - cambiar exportador de excel a txt
0 Inactivo Inactivo

Gente que tal,

Tengo este código que convierte un archivo rmkf .dat en Excel, pero desearía que sea a TXT o CSV para evitar problemas de versiones.

No se programar en cobol, pero si sé en PHP, VB, JS, etc.

Código COBOL:
  1. PROCEDURE DIVISION.
  2.  DECLARATIVES.
  3.  #INCLUDE "19.DEC".
  4.  #INCLUDE "38.DEC".
  5.  END DECLARATIVES.
  6. * Abre Excel y graba títulos
  7. *     MOVE "\XXX\AR19.DAT" TO AR19.
  8. *     INVOKE POW-SELF "CallForm" USING "Excel" "RUTINAS"
  9. *     IF V-RUT NOT = "S" EXIT PROGRAM.
  10. *     IF V-EXEL = 1 MOVE POW-TRUE TO "ShowExcel" OF EXCEL.
  11.      MOVE 11 to "MousePointer" OF POW-SELF
  12.      MOVE "  Generando planilla en Excel " TO "StatusText" OF POW-SELF.
  13.  1.    
  14.      INVOKE EXCEL "Start"
  15.      INVOKE EXCEL "NewBook" USING 1
  16.      MOVE "Cuenta         " TO "Text"(1 1)  OF EXCEL
  17.      MOVE "Nombre         " TO "Text"(1 2)  OF EXCEL
  18.      MOVE "Domicilio      " TO "Text"(1 3)  OF EXCEL
  19.      MOVE "Localidad      " TO "Text"(1 4)  OF EXCEL
  20.      MOVE "Provincia      " TO "Text"(1 5)  OF EXCEL
  21.      MOVE "Cuit           " TO "Text"(1 6)  OF EXCEL
  22.      MOVE "Iva            " TO "Text"(1 7)  OF EXCEL
  23.      MOVE "Vendedor       " TO "Text"(1 8)  OF EXCEL
  24.      MOVE "Cobrador       " TO "Text"(1 9)  OF EXCEL
  25.      MOVE "Zona           " TO "Text"(1 10) OF EXCEL
  26.      MOVE "Mercado        " TO "Text"(1 11) OF EXCEL
  27.      MOVE 1 TO IL
  28.      OPEN INPUT CLIE  
  29.      INITIALIZE R19 SFA
  30.      START CLIE KEY NOT < CO19 INVALID MOVE 1 TO SFA
  31.        NOT INVALID READ CLIE NEXT NO LOCK.
  32.      PERFORM UNTIL SFA = 1
  33.         PERFORM PASO1
  34.         READ CLIE NEXT NO LOCK AT END MOVE 1 TO SFA END-READ  
  35.      END-PERFORM
  36.      CLOSE CLIE  
  37. *     INVOKE POW-SELF "DISPLAYMESSAGE" USING "PASO 1"
  38.      INVOKE EXCEL "SaveAsBook" USING "C:\DATA\CLIENT.XLS" POW-FALSE RETURNING ReturnValue.
  39. *     INVOKE POW-SELF "DISPLAYMESSAGE" USING "PASO 2"
  40.      INVOKE EXCEL "CloseBook" USING 1.

se que faltan otras partes del código, pero quisiera saber si con un simple cambio del código puedo exportarlo a txt en lugar de XLS.
KalEl is offline   Responder Con Cita
  #2
Antiguo 2 de octubre de 2017, 13:35
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

KalEl, publica los SELECT y FD también.
Entiendo que este programa no lo vas a ejecutar en un script, sino que se trata de uno con Forms (PowerCOBOL)



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
  #3
Antiguo 2 de octubre de 2017, 14:17
KalEl
Forero Junior
Última Actividad 30.05.2018 21:37
Posts Posts: 14
Likes enviados Enviados: 1
Likes recibidos Recibidos: 0

Hola Kuk, ahi te paso los archivos.

Saludos
Archivos Adjuntos
Tipo de Archivo: zip FILES.zip (2,4 KB)Descargas: 146
KalEl is offline   Responder Con Cita
  #4
Antiguo 2 de octubre de 2017, 14:30
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

KalEl, has colgado descripción de 2 ficheros. ¿Para cual necesitas eso, para los dos?



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
  #5
Antiguo 2 de octubre de 2017, 23:29
KalEl
Forero Junior
Última Actividad 30.05.2018 21:37
Posts Posts: 14
Likes enviados Enviados: 1
Likes recibidos Recibidos: 0

Citación del post de Kuk Ver Mensaje
KalEl, has colgado descripción de 2 ficheros. ¿Para cual necesitas eso, para los dos?
No, solo del 19.
Colgue el 38 porque vi que al principio del código lo leia pero no debe ser necesario.
KalEl is offline   Responder Con Cita
  #6
Antiguo 3 de octubre de 2017, 14:18
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

KalEl, dame el código del párrafo PASO1.



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
  #7
Antiguo 3 de octubre de 2017, 21:19
KalEl
Forero Junior
Última Actividad 30.05.2018 21:37
Posts Posts: 14
Likes enviados Enviados: 1
Likes recibidos Recibidos: 0

Kuk, aqui va el código del paso1:

Código COBOL:
  1. PASO1.
  2.      ADD 1 TO IL
  3.      MOVE CO19 TO TEX MOVE TEX TO "Text"(IL 1) OF EXCEL
  4.      MOVE NOM19 TO "Text"(IL 2) OF EXCEL
  5.      MOVE DOM19 TO "Text"(IL 3) OF EXCEL
  6.      MOVE COP19 TO "Text"(IL 4) OF EXCEL
  7.      MOVE PRO19 TO "Text"(IL 5) OF EXCEL
  8.      MOVE CUI19 TO "Text"(IL 6) OF EXCEL    
  9.      EVALUATE TIV19
  10.        WHEN 1 MOVE "RI" TO TEX
  11.        WHEN 2 MOVE "RN" TO TEX
  12.        WHEN 3 MOVE "NR" TO TEX
  13.        WHEN 4 MOVE "EX" TO TEX
  14.        WHEN 5 MOVE "CF" TO TEX
  15.        WHEN 6 MOVE "RM" TO TEX
  16.        WHEN 7 MOVE "NC" TO TEX
  17.        WHEN OTHER MOVE "  " TO TEX
  18.      END-EVALUATE
  19.      MOVE TEX TO "Text"(IL 7) OF EXCEL
  20.      MOVE VEN19 TO "Text"(IL 8) OF EXCEL
  21.      MOVE COB19 TO "Text"(IL 9) OF EXCEL
  22.      MOVE ZON19 TO "Text"(IL 10) OF EXCEL
  23.      MOVE MER19 TO "Text"(IL 11) OF EXCEL.
KalEl is offline   Responder Con Cita
  #8
Antiguo 4 de octubre de 2017, 09:58
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

KalEl,

Código COBOL:
  1.  ENVIRONMENT DIVISION.  
  2.  INPUT-OUTPUT SECTION.
  3.  FILE-CONTROL.
  4.      
  5.      COPY "AR19.SEL".
  6.      
  7.      SELECT CSV-FILE
  8.      ASSIGN TO "AR19.csv"
  9.      ORGANIZATION IS LINE SEQUENTIAL
  10.      FILE STATUS IS ST1.
  11.  
  12.  DATA DIVISION.
  13.  FILE SECTION.
  14.  COPY "AR19.FD".
  15.  
  16.  FD  CSV-FILE.
  17.  01  RE-CSV.
  18.      05  RE-CO19      PIC X(7).
  19.      05  FILLER       PIC X(1).
  20.      05  RE-NOM19     PIC X(40).
  21.      05  FILLER       PIC X(1).
  22.      05  RE-DOM19     PIC X(30).
  23.      05  FILLER       PIC X(1).
  24.      05  RE-COP19     PIC 9(4).  
  25.      05  FILLER       PIC X(1).
  26.      05  RE-PRO19     PIC 99.
  27.      05  FILLER       PIC X(1).
  28.      05  RE-CUI19     PIC X(13).
  29.      05  FILLER       PIC X(1).
  30.      05  RE-TIV19-X   PIC X(2).
  31.      05  FILLER       PIC X(1).
  32.      05  RE-VEN19     PIC 999.
  33.      05  FILLER       PIC X(1).
  34.      05  RE-COB19     PIC 999.
  35.      05  FILLER       PIC X(1).
  36.      05  RE-ZON19     PIC 99.
  37.      05  FILLER       PIC X(1).
  38.      05  RE-MER19     PIC 9.
  39.  
  40.  WORKING-STORAGE SECTION.
  41.  01  ST1              PIC X(2).
  42.      88  ST1-OK             VALUE '00' '02' '05'.
  43.      88  ST1-EOF            VALUE '10'.
  44.  
  45.  01  TEX              PIC X(10).
  46.  01  EDT              PIC -(6)9.
  47.  
  48.  LINKAGE SECTION.
  49.  01  CMD-LINE.
  50.      05   CMD-LENGTH  PIC S9(4) COMP-5.
  51.      05   CMD-CONTENT PIC X(100).
  52.  PROCEDURE DIVISION USING CMD-LINE.
  53.  
  54.  DECLARATIVES.
  55.  #INCLUDE "19.DEC".
  56.  END DECLARATIVES.
  57.  
  58.      PERFORM ABRIR-FICHEROS
  59.      PERFORM GRABA-CABECERA
  60.      
  61.      START CLIE FIRST
  62.      
  63.      IF  ST-OK
  64.          READ CLIE NEXT      
  65.          
  66.          PERFORM UNTIL ST1-EOF  
  67.              MOVE CO19  TO EDT
  68.              
  69.              EVALUATE TIV19
  70.                  WHEN 1 MOVE "RI" TO TEX
  71.                  WHEN 2 MOVE "RN" TO TEX
  72.                  WHEN 3 MOVE "NR" TO TEX
  73.                  WHEN 4 MOVE "EX" TO TEX
  74.                  WHEN 5 MOVE "CF" TO TEX
  75.                  WHEN 6 MOVE "RM" TO TEX
  76.                  WHEN 7 MOVE "NC" TO TEX
  77.                  WHEN OTHER MOVE "  " TO TEX
  78.              END-EVALUATE
  79.                          
  80.              STRING EDT   ";"                    
  81.                     NOM19 ";"
  82.                     DOM19 ";"
  83.                     COP19 ";"
  84.                     PRO19 ";"
  85.                     CUI19 ";"
  86.                     TEX   ";"
  87.                     VEN19 ";"
  88.                     COB19 ";"
  89.                     ZON19 ";"
  90.                     MER19 ";"
  91.                     DELIMITED BY SIZE INTO RE-CSV
  92.              
  93.              WRITE RE-CSV
  94.              
  95.              IF  NOT ST1-OK                
  96.                  INVOKE POW-SELF "DisplayMessage"
  97.                   USING "Error WRITE CSV", ST1, 16
  98.              
  99.                  GOBACK
  100.              END-IF
  101.                                    
  102.              READ CLIE NEXT    
  103.          END-PERFORM
  104.      END-IF
  105.      
  106.      CLOSE CLIE, CSV-FILE
  107.      
  108.      GOBACK
  109.      .            
  110.      
  111.  ABRIR-FICHEROS.
  112.  
  113.      OPEN INPUT CLIE
  114.      
  115.      IF  NOT ST1-OK
  116.          INVOKE POW-SELF "DisplayMessage"
  117.           USING "Error OPEN AR86", ST1, 16
  118.          
  119.          GOBACK
  120.      END-IF
  121.      
  122.      OPEN OUTPUT CSV-FILE
  123.      
  124.      IF  NOT ST1-OK
  125.          INVOKE POW-SELF "DisplayMessage"
  126.           USING "Error OPEN CSV", ST1, 16
  127.          
  128.          GOBACK
  129.      END-IF
  130.      .
  131.  
  132.  GRABA-CABECERA.
  133.      
  134.      MOVE "Cuenta         ;" &
  135.           "Nombre         ;" &
  136.           "Domicilio      ;" &
  137.           "Localidad      ;" &
  138.           "Provincia      ;" &
  139.           "Cuit           ;" &
  140.           "Iva            ;" &
  141.           "Vendedor       ;" &
  142.           "Cobrador       ;" &
  143.           "Zona           ;" &
  144.           "Mercado        ;" TO RE-CSV
  145.          
  146.      WRITE RE-CSV
  147.      
  148.      IF  NOT ST-OK
  149.          INVOKE POW-SELF "DisplayMessage"
  150.           USING "Error WRTIE CSV", ST1, 16
  151.          
  152.          GOBACK
  153.      END-IF
  154.      .
  155.            



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
  #9
Antiguo 4 de octubre de 2017, 17:53
Fito
Guardián del Foro
Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos de parte de los Foreros Guardián del Foro: Guardián del espíritu y clima del Foro - Issue reason: Por el Avatar Activista del Foro: Activista del Foro - Issue reason: Por aportar ideas 
Última Actividad 19.09.2026 13:19
Posts Posts: 458
Likes enviados Enviados: 267
Likes recibidos Recibidos: 243

Hola KUK:

Estoy viendo mal o el string y el move de la cabecera, son más grandes que el RE-CSV?

Saludos.

Fito...
Fito is offline   Responder Con Cita
  #10
Antiguo 4 de octubre de 2017, 19:25
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Fito, he creado la estructura copiando los campos uno a uno añadiendo los FILLER, pero no lo he probado, así que es posible que se me haya escapado algo.



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
Respuesta


Herramientas

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 15:41.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.