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

*----------------------------------------------------------