Resultados 1 al 5 de 5

Tema: USE AFTER ERROR ......

  1. #1
      Forero
    G

    Registrado
    febrero de 2015
    Edad
    67
    Mensajes
    180
    Ciudad
    Quilmes, Buenos Aires

    Agradecimientos
     
    Recibidos
    118
    Enviados
    90

    Citaciones y menciones
     
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    19
    Concurso: Segundo puesto / Point Value: 0 Activista del Foro / Point Value: 0

    Predeterminado USE AFTER ERROR ......

    Hola colegas, necesito de vuestra ayuda.
    Siempre he usado en
    COBOL Código:
    1. DECLARATIVES
    la sentencia
    COBOL Código:
    1. USE AFTER ERROR PROCEDURE ON
    y a continuación la lista de archivos que usará el programa para evitar abortos provocados por errores imprevistos.
    COBOL Código:
    1. USE AFTER ERROR PROCEDURE ON ARCHIVO1 ARCHIVO2.

    Ahora tengo algunos programas que usan Excel o Word (total novedad para mi)

    Todo funciona perfectamente siempre y cuando esten instalados, pero en caso de no estarlos (cosa rara), el programa aborta dando un error "Clase no registrada".

    Mi pregunta es como puedo agregar un control mediante la sentencia USE, para poder controlar este error ademas de controlar los posibles errores que pudieran provocar los archivos.

    Desde ya, muchas gracias.

    0 Not allowed!

  2. #2
      Guardián del Foro
    Avatar de Fito

    Registrado
    febrero de 2015
    Edad
    51
    Mensajes
    331
    Ciudad
    Córdoba, Villa María

    Agradecimientos
     
    Recibidos
    171
    Enviados
    176

    Citaciones y menciones
     
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    24
    Agradecimientos / Point Value: 0 Guardián del Foro / Point Value: 0 Activista del Foro / Point Value: 0

    Predeterminado

    Hola Gustavo.

    Para la factura electrónica, uso un ocx de terceros. pero no lo incrusto en el formulario, lo instancio en tiempo de ejecución. Por eso uso el REPOSITORY con este código.

    COBOL Código:
    1.      CLASS OLE AS "*OLE"
    2.      CLASS EXCEP AS "*COM-EXCEPTION"

    Despues a mi declaratives le agrego

    COBOL Código:
    1.        err section.
    2.            use after exception excep.
    3.            invoke exception-object "GET-SOURCE"      returning SRC.
    4.            invoke exception-object "GET-DESCRIPTION" returning MSG.
    5.            invoke pow-self "DisplayMessage" using MSG SRC POW-DMICONERROR.
    6.            exit program.

    Es lo único que tengo para ayudarte, no sé si se adecuará a lo tuyo.

    Saludos...

    Fito...

    0 Not allowed!

  3. #3
      Forero
    G

    Registrado
    febrero de 2015
    Edad
    67
    Mensajes
    180
    Ciudad
    Quilmes, Buenos Aires

    Agradecimientos
     
    Recibidos
    118
    Enviados
    90

    Citaciones y menciones
     
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    19
    Concurso: Segundo puesto / Point Value: 0 Activista del Foro / Point Value: 0

    Predeterminado

    No encaja exactamente en AcuCobol, pero gracias @Fito. en base a esto iré probando hasta que lo emboque.

    0 Not allowed!

  4. #4
      Senior
    Avatar de fastpho

    Registrado
    diciembre de 2016
    Edad
    51
    Mensajes
    230
    Ciudad
    Mendoza

    Agradecimientos
     
    Recibidos
    148
    Enviados
    142

    Citaciones y menciones
     
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    4 Post(s)
    Poder de Reputación
    19
    Concurso: Primer puesto / Point Value: 0

    Gadget Detectar Error durante ejecucion *OLE

    Hola @Gusaiello, te paso un ejemplo sacado del manual de cobol debe ser parecido en AcuCobol para el manejo de errores OLE.
    COBOL Código:
    1.  
    2. IDENTIFICATION DIVISION.
    3. PROGRAM-ID. PROGRAM-A.
    4. ENVIRONMENT DIVISION.
    5. CONFIGURATION SECTION.
    6. REPOSITORY.
    7. CLASS OLE AS "*OLE"
    8. CLASS OLE-EXCEPTION AS "*OLE-EXCEPTION".
    9. * :
    10. DATA DIVISION.
    11. WORKING-STORAGE SECTION.
    12. 01 OLE-SV-OBJ USAGE IS OBJECT REFERENCE OLE.
    13. 01 OLE-ERROR-INFORMATION.
    14.       03 OLE-ER-TYPE PIC X(01).
    15.       03 OLE-WCODE PIC X(02).
    16. 01 OLE-SERVER PIC X(20) VALUE "OLESERVER.OLECLASS".
    17. 01 METHOD-NAME PIC X(20) VALUE SPACE.
    18. 01 SERVER-PASSWORD PIC X(04).
    19. *:
    20. PROCEDURE DIVISION.
    21. DECLARATIVES.
    22. ERR SECTION.
    23. USE AFTER EXCEPTION OLE-EXCEPTION.
    24. INVOKE EXCEPTION-OBJECT "GET-ERROR-TYPE"
    25. RETURNING OLE-ER-TYPE. *> [1]
    26. IF OLE-ER-TYPE = "1"
    27. THEN
    28. DISPLAY "ERROR OCCURED IN " METHOD-NAME "METHOD" *> [2]
    29. SET OLE-SV-OBJ TO NULL.
    30. EXIT PROGRAM
    31. ELSE
    32. INVOKE EXCEPTION-OBJECT "GET-WCODE"
    33. RETURNING OLE-WCODE *> [3]
    34. IF OLE-WCODE NOT = X"0001"
    35. THEN *> [4]
    36. DISPLAY "ERROR OCCURED IN " METHOD-NAME "METHOD"
    37. SET OLE-SV-OBJ TO NULL.
    38. EXIT PROGRAM
    39. END-IF
    40. END-IF.
    41. END DECLARATIVES.
    42. :
    43. MOVE SPACE TO OLE-ER-TYPE.
    44. MOVE "CREATE-OBJECT" TO METHOD-NAME.
    45. INVOKE OLE "CREATE-OBJECT" USING OLE-SERVER *> [5]
    46. RETURNING OLE-SV-OBJ.
    Saludos ...

    0 Not allowed!

  5. #5
      Forero
    G

    Registrado
    febrero de 2015
    Edad
    67
    Mensajes
    180
    Ciudad
    Quilmes, Buenos Aires

    Agradecimientos
     
    Recibidos
    118
    Enviados
    90

    Citaciones y menciones
     
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    19
    Concurso: Segundo puesto / Point Value: 0 Activista del Foro / Point Value: 0

    Predeterminado

    @fastpho, excelente, muchas gracias.

    0 Not allowed!

Información de Tema

Usuarios Viendo este Tema

Actualmente hay 1 usuarios viendo este tema. (0 miembros y 1 visitantes)

User Tag List

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •