Ejemplo WSFEv1 en COBOL para obtener CAE

Todas los compiladores y versiones de COBOL que admiten OCX y acceden a interface COM pueden implementar el control WSAFIPFE para conectar con todos los web service de AFIP, entre los versiones testeadas están: RM COBOL, MICROFOCUS, ACUCOBOL, FUJITSU, POWERCOBOL.

Aunque las sentencias y el modo de referenciar la interfaz puede variar de versión en versión pero en todos se usan 3 sentencias básicas:

Ejecutar un método (con o sin argumentos) de la interfaz, cargar el valor de una propiedad y leer el valor de una propiedad.

Si alguno de los ejemplos no corresponde a la versión de COBOL a usar contactar con el soporte para más datos sobre las sentencias a usar. O revisar los ejemplos para el WSFE.

Para estos ejemplos usar fechas actuales. En los ejemplos, por simplicidad, no se usan decimales y no se hace ningún tipo de validaciones.

Ejemplo para MICROFOCUS COBOL y ACU COBOL.

move 0 to numero

invoke "FE" "iniciar" using numero "aqui cuit sin separador" "aqui archivo del certificado tipo pfx" " "

invoke "FE" "f1obtenerTicketAcceso"

move 1 to numero

invoke "FE" "setF1CabeceraCantReg" using numero

move 4 to numero

invoke "FE" "setF1CabeceraPtoVta" using numero

move 1 to numero

invoke "FE" "setF1CabeceraCbteTipo" using numero

move 0 to numero

invoke "FE" "setf1Indice" using numero

move 1 to numero

invoke "FE" "setF1DetalleConcepto" using numero

move 80 to numero

invoke "FE" "setF1DetalleDocTipo" using numero

invoke "FE" "setF1DetalleDocNro" using "20111111112"

move 1 to numero

invoke "FE" "setF1DetalleCbteDesde" using numero

move 1 to numero

invoke "FE" "setF1DetalleCbteHasta" using numero

invoke "FE" "setF1DetalleCbteFch" using "20101018"

invoke "FE" "setF1DetalleImpTotal" using 18405

invoke "FE" "setF1DetalleImpTotalConc" using 0

invoke "FE" "setF1DetalleImpNeto" using 15000

invoke "FE" "setF1DetalleImpOpEx" using 0

invoke "FE" "setF1DetalleImpTrib" using 780

invoke "FE" "setF1DetalleImpIva" using 2625

invoke "FE" "setF1DetalleFchServDesde" using "20101018"

invoke "FE" "setF1DetalleFchServHasta" using "20101018"

invoke "FE" "setF1DetalleMonId" using "PES"

move 1 to numero

invoke "FE" "setF1DetalleMonCotiz" using numero

move 1 to numero

invoke "FE" "setF1DetalleTributoItemCantidad" using numero

move 0 to numero

invoke "FE" "setF1DetalleTributoItemCantidad" using numero

move 0 to numero

invoke "FE" "setf1IndiceItem" using numero

move 3 to numero

invoke "FE" "setF1DetalleTributoId" using numero

invoke "FE" "setF1DetalleTributoDesc" using "Impuesto Municipal Matanza"

invoke "FE" "setF1DetalleTributoBaseImp" using 1500

invoke "FE" "setF1DetalleTributoAlic" using 52

invoke "FE" "setF1DetalleTributoImporte" using 780

move 2 to numero

invoke "FE" "setF1DetalleIvaItemCantidad" using numero

move 0 to numero

invoke "FE" "setf1IndiceItem" using numero

move 5 to numero

invoke "FE" "setF1DetalleIvaId" using numero

invoke "FE" "setF1DetalleIvaBaseImp" using 10000

invoke "FE" "set.F1DetalleIvaImporte " using 2100

move 1 to numero

invoke "FE" "setf1IndiceItem" using numero

move 4 to numero

invoke "FE" "setF1DetalleIvaId" using numero

invoke "FE" "setF1DetalleIvaBaseImp" using 5000

invoke "FE" "set.F1DetalleIvaImporte " using 525

move 0 to numero

invoke "FE" "setF1DetalleCbtesAsocItemCantidad" using numero

move 0 to numero

invoke "FE" "setF1DetalleOpcionalItemCantidad" using numero

invoke "FE" "setArchivoXMLRecibido" using "c:\recibido.xml"

invoke "FE" "setArchivoXMLEnviado" using "c:\enviado.xml"

invoke "FE" "f1CAESolicitar"

invoke "FE" "getF1RespuestaResultado" returning Resultado

invoke "FE" "getF1RespuestaReProceso" returning Resultado

invoke "FE" "getf1ErrorMsg1" returning Resultado

invoke "FE" "getF1RespuestaDetalleObservacionMsg1" returning Resultado

invoke "FE" "getF1RespuestaDetalleCae" returning Resultado