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