Ver Mensaje Individual
  #56
Antiguo 17 de enero de 2018, 14:06
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 30.09.2026 19:12
Posts Posts: 365
Likes enviados Enviados: 252
Likes recibidos Recibidos: 243

Laura, te paso un ejemplo de Informe X e Informe Z
Informe X
Código COBOL:
  1. ENVIRONMENT     DIVISION.
  2.  DATA            DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  01 ReturnDEValue        PIC S9(9) COMP-5 VALUE 0.
  5.  01 LINEA-INFORME-X.
  6.     03 Comando            PIC X VALUE  X"08".
  7.     03 Comandobis         PIC X VALUE  X"02".
  8.  01 LINEA-EXTRA.  
  9.     03 DataField1         PIC X VALUE  X"0C".
  10.     03 DataField2         PIC X VALUE  X"21".
  11.  01 ReturnValue Pic S9(9) Comp-5 Value 0.    
  12.  01 N-Length pic 99    value zero.  
  13.  01 lpString1   pic x(2).
  14.  01 lpString2   pic x(2).
  15.  
  16.  01 x pic x(4).
  17.  01 Cantidad           PIC S9(9) COMP-5 VALUE 0.
  18.  01 ReturnString       PIC X(4) VALUE HIGH-VALUE.
  19.  01 Variable           PIC 9(3).
  20.  PROCEDURE       DIVISION.
  21.      move spaces        TO FUNC-EPSON-LIB.
  22.      MOVE 2             TO BufferLen
  23.      MOVE "AddDataField" TO FUNC-EPSON-LIB
  24.    *> La propia llamada a la FUNC-EPSON-LIBión:
  25.      CALL FUNC-EPSON-LIB WITH STDCALL USING BY REFERENCE LINEA-INFORME-X
  26.                                   BY VALUE BufferLen    
  27.  
  28.      move spaces       TO FUNC-EPSON-LIB.  
  29.  
  30.      MOVE 2             TO BufferLen
  31.      MOVE "AddDataField" TO FUNC-EPSON-LIB
  32.    *> La propia llamada a la FUNC-EPSON-LIBión:
  33.      CALL FUNC-EPSON-LIB WITH STDCALL USING BY REFERENCE LINEA-EXTRA
  34.                                    BY VALUE BufferLen    
  35. *SEND  COMMAND                                  
  36.      move spaces       TO FUNC-EPSON-LIB.
  37.      MOVE "SendCommand" TO FUNC-EPSON-LIB.
  38.      CALL FUNC-EPSON-LIB WITH  STDCALL  USING BY REFERENCE VERSION.  
Informe Z
Código COBOL:
  1.  WORKING-STORAGE SECTION.
  2.  01 ReturnDEValue        PIC S9(9) COMP-5 VALUE 0.
  3.  01 Comando            PIC X VALUE  X"39".
  4.  01 LINEA-INFORME-Z.
  5.     03 Comando            PIC X VALUE  X"08".
  6.     03 Comandobis         PIC X VALUE  X"01".
  7.  01 LINEA-EXTRA.  
  8.     03 DataField1         PIC X VALUE  X"0C".
  9.     03 DataField2         PIC X VALUE  X"00".
  10.  
  11.  01 Cantidad           PIC S9(9) COMP-5 VALUE 0.
  12.  01 ReturnString       PIC X(12).
  13.  01 Variable           PIC 9(3).
  14.  PROCEDURE       DIVISION.
  15.  
  16.    
  17.  
  18.      move spaces        TO FUNC-EPSON-LIB.
  19.      MOVE 2             TO BufferLen
  20.      MOVE "AddDataField" TO FUNC-EPSON-LIB
  21.  
  22.      CALL FUNC-EPSON-LIB WITH STDCALL USING BY REFERENCE LINEA-INFORME-Z
  23.                                   BY VALUE BufferLen    
  24.  
  25.      move spaces       TO FUNC-EPSON-LIB.  
  26.  
  27.      MOVE 2             TO BufferLen
  28.      MOVE "AddDataField" TO FUNC-EPSON-LIB
  29.  
  30.      CALL FUNC-EPSON-LIB WITH STDCALL USING BY REFERENCE LINEA-EXTRA
  31.                                    BY VALUE BufferLen    
  32. *SEND  COMMAND                                  
  33.      move spaces       TO FUNC-EPSON-LIB.
  34.      MOVE "SendCommand" TO FUNC-EPSON-LIB.
  35.      CALL FUNC-EPSON-LIB WITH  STDCALL  USING BY REFERENCE VERSION.  
  36.      
fastpho is offline   Responder Con Cita