Ejemplo Power Cobol FUJITSU 5
Este ejemplo usa el identificador "1" como 3°er argumento del método registrar. Debe usar un identificador único y diferente para obtener CAE diferentes en cada ejecución. Después de probar el ejemplo lea toda la documentación referente a "identificador" y "reproceso" para una explicación detallada sobre la función de este argumento.
El ejemplo es para POWER COBOL FUJITSU (versión 5). Emite una factura y muestra el CAE obtenido. Para simplificar no hay validación de errores. Debe usar fechas del día.
crear una proyecto con un formulario y un botón.
es fundamental en la sección "repository" del formulario establecer la clausula:
CLASS OLE AS "*OLE"
en el evento "click" del botón insertar el siguiente código
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 numero PIC S9(9) comp-5.
77 Resultado PIC s9(9) comp-5.
77 Resultado2 PIC s9(9) comp-5.
77 resultado3 PIC s9(9) comp-5.
77 cuit pic x(20).
77 ruta pic x(15).
77 mensaje pic x(200).
77 licencia pic x(50).
77 cae pic x(18).
77 cIdentificador PIC X(10).
01 werror pic x(100).
01 wnroerror pic 9(4).
77 XLS-APP-TYPE PIC X(8192) VALUE "WSAFIPFE.factura".
77 OBJ-APP OBJECT REFERENCE OLE.
77 RETURN-ERROR PIC 9(9) COMP-5.
01 w-Indice PIC S9(9) comp-5.
01 w-CabeceraCantReg PIC S9(9) comp-5.
01 w-CabeceraPresta_serv PIC S9(9) comp-5.
01 w-DetalleFecha_vence_pago PIC S9(9) comp-5.
01 w-DetalleFecha_serv_desde PIC S9(9) comp-5.
01 w-DetalleFecha_serv_hasta PIC S9(9) comp-5.
01 w-DetalleImp_neto PIC S9(9) comp-5.
01 w-DetalleImp_total PIC S9(9) comp-5.
01 w-DetalleFecha_cbte PIC S9(9) comp-5.
01 w-DetalleNro_doc pic x(11).
01 w-DetalleTipo_doc PIC S9(9) comp-5.
77 ipuntoventa PIC S9(9) comp-5.
77 itipocomprobante PIC S9(9) comp-5.
PROCEDURE DIVISION.
move 0 to numero
move "aqui CUIT del emisor sin separadores" to cuit
move "aqui ruta y nombre del certificado *.pfx" to ruta
move " " to licencia
INVOKE OLE "CREATE-OBJECT"
USING XLS-APP-TYPE
RETURNING OBJ-APP.
INVOKE OBJ-APP "INICIAR" USING numero cuit ruta licencia RETURNING resultado
INVOKE OBJ-APP "ObtenerTicketAcceso" RETURNING resultado
INVOKE OBJ-APP "GET-ULTIMOMENSAJEERROR" RETURNING MENSAJE
INVOKE pow-self "Displaymessage" using mensaje
INVOKE OBJ-APP "GET-token" RETURNING MENSAJE
INVOKE pow-self "Displaymessage" using mensaje
INVOKE OBJ-APP "GET-tickethoravencimiento" RETURNING MENSAJE
INVOKE pow-self "Displaymessage" using mensaje
INVOKE OBJ-APP "GET-TicketValido" RETURNING MENSAJE
INVOKE pow-self "Displaymessage" using mensaje
*---------------- datos a registrar ----------------------------
move 0 to w-Indice
move 1 to w-CabeceraCantReg
move 1 to w-CabeceraPresta_serv
move "20110219" to w-DetalleFecha_vence_pago
move "20110219" to w-DetalleFecha_serv_desde
move "20110219" to w-DetalleFecha_serv_hasta
move 100 to w-DetalleImp_neto
move 121 to w-DetalleImp_total
move "20110219" to w-DetalleFecha_cbte
move "CUIT válido de un responsable inscripto" to w-DetalleNro_doc
move 80 to w-DetalleTipo_doc
INVOKE OBJ-APP "SET-Indice" USING w-Indice RETURNING MENSAJE
INVOKE OBJ-APP "SET-FECabeceraCantReg" USING w-CabeceraCantReg RETURNING MENSAJE
INVOKE OBJ-APP "SET-FECabeceraPresta_serv" USING w-CabeceraPresta_serv RETURNING MENSAJE
INVOKE OBJ-APP "SET-FEDetalleFecha_vence_pago" USING w-DetalleFecha_vence_pago RETURNING MENSAJE
INVOKE OBJ-APP "SET-FEDetalleFecha_serv_desde" USING w-DetalleFecha_serv_desde RETURNING MENSAJE
INVOKE OBJ-APP "SET-FEDetalleFecha_serv_hasta" USING w-DetalleFecha_serv_hasta RETURNING MENSAJE
INVOKE OBJ-APP "SET-FEDetalleImp_neto" USING w-DetalleImp_neto RETURNING MENSAJE
INVOKE OBJ-APP "SET-FEDetalleImp_total" USING w-DetalleImp_total RETURNING MENSAJE
INVOKE OBJ-APP "SET-FEDetalleFecha_cbte" USING w-DetalleFecha_cbte RETURNING MENSAJE
INVOKE OBJ-APP "SET-FEDetalleNro_doc" USING w-DetalleNro_doc RETURNING MENSAJE
INVOKE OBJ-APP "SET-FEDetalleTipo_doc" USING w-DetalleTipo_doc RETURNING MENSAJE
Move 1 to ipuntoventa
Move 1 to itipocomprobante
Move "1" to cIdentificador
*
INVOKE OBJ-APP "Registrar" USING iPuntoVenta iTipoComprobante, cIdentificador
RETURNING Resultado.
INVOKE pow-self "Displaymessage" using Resultado " resultado "
INVOKE OBJ-APP "GET-ULTIMOMENSAJEERROR" RETURNING MENSAJE
INVOKE pow-self "Displaymessage" using mensaje " error "
INVOKE OBJ-APP "GET-ferespuestaresultado" RETURNING MENSAJE
INVOKE pow-self "Displaymessage" using mensaje " respuesta resultado "
INVOKE OBJ-APP "GET-ferespuestamotivo" RETURNING MENSAJE
INVOKE pow-self "Displaymessage" using mensaje " respuesta resultado "
INVOKE OBJ-APP "GET-ferespuestacantidadreg" RETURNING numero
IF numero > 0 THEN
INVOKE OBJ-APP "GET-ferespuestadetallecae" RETURNING cae
invoke pow-self "Displaymessage" using cae " cae "
END-IF
move "fin" to mensaje.
INVOKE pow-self "Displaymessage" using mensaje
*----------------------------------------------------------