Proceso fel
Enviado por Sebastian2 Herrera • 16 de Agosto de 2019 • Ensayo • 3.600 Palabras (15 Páginas) • 228 Visitas
[pic 2][pic 3][pic 4]
Detalle de Programas, Funciones y Procedimientos utilizados para FEL
Módulo | Nombre | Tipo | Descripción | Empresa |
SD | ZSD_FEL_INFILE y ZSD_FEL_INFILE_02 | Programa | Programa de impresión utilizado para parametrizar los datos de FEL y el llamado al proceso para comunicación con Infile. | FOCASA |
SD | ZSD_FEL_INFILE_02 y ZSD_FEL_INFILE_02 | Programa | Programa de impresión utilizado para parametrizar los datos de FEL y el llamado al proceso para comunicación con Infile. | DIVENSA |
SD | Z_XML_INFILE | Programa | Programa para elaboración y generación de los XML para FEL para los DTE's, de las diferentes empresas, existe un procedimiento para cada empresa. | Todas |
SD | CREAR_XML_INFILE_3020 | Procedimiento | Contrucción de xml para DTE´s de factura de Divensa. | DIVENSA |
SD | CREAR_XML_INFILE_3010 | Procedimiento | Contrucción de xml para DTE´s de factura de Focasa. | FOCASA |
SD | CREAR_XML_INFILE_3020_NOT | Procedimiento | Contrucción de xml para DTE´s de notas de crédito y débito de Divensa. | DIVENSA |
SD | CREAR_XML_INFILE_3010_NOT | Procedimiento | Contrucción de xml para DTE´s de notas de crédito y débito de Focasa. | FOCASA |
SD | MANDA_MENSAJE_XML_INFILE | Procedimiento | Procedimiento para estructurar XML, convertir a base 64 y establecer comunicación ida y vuelta con INFILE para firma y certificación de documentos. | Todas |
ZSD_FEL_INFILE y ZSD_FEL_INFILE_02
Dentro del programa se localiza el procedimiento FORM GET_DATA_INFILE y dentro de este, se realizan los llamados a los diferentes procedimientos relacionados con cada empresa para construcción de datos para FEL, se valida con el código de la sociedad:
CASE VBDKR-BUKRS.
WHEN '3010'.
DATA: vl_beln like vbrk-vbeln.
* Documentos electrónicos en línea para Focasa !!
"se valida por VBTYP FP 30.03.2019
SELECT SINGLE VBELN
into vl_beln
FROM ZSD_REG_DOC_FEL
where BUKRS = VBDKR-BUKRS
and VBELN = VBDKR-VBELN.
if sy-subrc = 0.
"mensaje
DATA: lv_answer2 TYPE c.
DATA: textoarchivo TYPE CHAR200.
CLEAR: textoarchivo.
textoarchivo =
'El documento ya tiene autorización de SAT'.
MESSAGE textoarchivo TYPE 'I'.
" ENDIF.
else.
IF VBDKR-VBTYP = 'O' or VBDKR-VBTYP = 'P'."para notas
"IF VBDKR-FKART = 'ZFVN'.
PERFORM FOCASA_FACE_NOT USING VBDKR-VBELN.
* PERFORM COMEGSA_FACE USING VBDKR-VBELN CHANGING GS_LOGS.
* ELSEIF VBDKR-FKART = 'ZNCN'.
ELSE. "FACTURAS.
PERFORM FOCASA_FACE_FAC USING VBDKR-VBELN.
* ELSEIF
* PERFORM COMEGSA_NCE USING VBDKR-VBELN CHANGING GS_LOGS.
ENDIF.
ENDIF.
WHEN '3020'.
* Documentos electrónicos en línea para Divensa !!
" DATA: vl_beln like vbrk-vbeln.
* Documentos electrónicos en línea para Focasa !!
"se valida por VBTYP FP 30.03.2019
SELECT SINGLE VBELN
into vl_beln
FROM ZSD_REG_DOC_FEL
where BUKRS = VBDKR-BUKRS
and VBELN = VBDKR-VBELN.
if sy-subrc = 0.
"mensaje
" DATA: lv_answer2 TYPE c.
" DATA: textoarchivo TYPE CHAR200.
CLEAR: textoarchivo.
textoarchivo =
'El documento ya tiene autorización de SAT'.
MESSAGE textoarchivo TYPE 'I'.
else.
IF VBDKR-VBTYP = 'O' or VBDKR-VBTYP = 'P'."para notas
"IF VBDKR-FKART = 'ZFVN'.
PERFORM DIVENSA_FACE_NOT USING VBDKR-VBELN.
ELSE. "FACTURAS.
PERFORM DIVENSA_FACE_FAC USING VBDKR-VBELN.
ENDIF.
ENDIF.
ENDCASE.
Z_XML_INFILE
Dentro del programa Z_XML_INFILE se localizan los diferentes procedimientos para cada Sociedad los cuales tienen las diferentes rutinas para construcción de los XML:
En su definición de variables, cada procedimiento contiene lo referente a etiquetas de XML, valores de precios, totales, datos cliente, etc.
FORM CREAR_XML_INFILE_3020 USING TIPO_DOCUMENTO TYPE FKART_RL.
DATA: LO_DOCUMENTO TYPE REF TO IF_IXML_DOCUMENT,
ETQ_GTDOCUMENTO TYPE REF TO IF_IXML_ELEMENT,
ETQ_SAT TYPE REF TO IF_IXML_ELEMENT,
ETQ_DTE TYPE REF TO IF_IXML_ELEMENT,
ETQ_DATOSEMISION TYPE REF TO IF_IXML_ELEMENT,
ETQ_DATOSGENERALES TYPE REF TO IF_IXML_ELEMENT,
ETQ_EMISOR TYPE REF TO IF_IXML_ELEMENT,
ETQ_DIRECCION_EMISOR TYPE REF TO IF_IXML_ELEMENT,
ETQ_DIRECCION TYPE REF TO IF_IXML_ELEMENT,
ETQ_CODIGO_POSTAL TYPE REF TO IF_IXML_ELEMENT,
ETQ_MUNICIPIO TYPE REF TO IF_IXML_ELEMENT,
ETQ_DEPARTAMENTO TYPE REF TO IF_IXML_ELEMENT,
ETQ_PAIS TYPE REF TO IF_IXML_ELEMENT,
ETQ_RECEPTOR TYPE REF TO IF_IXML_ELEMENT,
ETQ_FRASES TYPE REF TO IF_IXML_ELEMENT,
ETQ_FRASE TYPE REF TO IF_IXML_ELEMENT,
ETQ_ITEMS TYPE REF TO IF_IXML_ELEMENT,
ETQ_ITEM TYPE REF TO IF_IXML_ELEMENT,
ETQ_IMPUESTOS TYPE REF TO IF_IXML_ELEMENT,
ETQ_IMPUESTO TYPE REF TO IF_IXML_ELEMENT,
ETQ_TOTALES TYPE REF TO IF_IXML_ELEMENT,
ETQ_COMPLEMENTOS TYPE REF TO IF_IXML_ELEMENT,
ETQ_COMPLEMENTO TYPE REF TO IF_IXML_ELEMENT,
ETQ_TOTAL_IMPUESTOS TYPE REF TO IF_IXML_ELEMENT,
ETQ_DIRECCION_RECEPTOR TYPE REF TO IF_IXML_ELEMENT,
ETQ_ADENDA TYPE REF TO IF_IXML_ELEMENT,
ETQ_SIGNATURE TYPE REF TO IF_IXML_ELEMENT,
ETQ_CLASEDOCUMENTO TYPE REF TO IF_IXML_ELEMENT,
VG_TIPO_DOCUMENTO TYPE STRING.
DATA: vl_werks LIKE lips-werks."PARA CENTRO
VG_TIPO_DOCUMENTO = 'FCAM'.
* IF TIPO_DOCUMENTO EQ ''. "Factura exportacion.
* VG_TIPO_DOCUMENTO = 'FCAM'.
* ELSE.
* VG_TIPO_DOCUMENTO = ''.
* ENDIF.
DATA: LO_IXML TYPE REF TO IF_IXML.
DATA: LO_HTTPUTIL TYPE REF TO IF_HTTP_UTILITY.
DATA: LV_XML_BASE64 TYPE STRING,
V_TOT_IVA TYPE VBDPR-SKFBP,
GRAN_TOTAL TYPE ZZ_PRECIO,
GRAN_TOTAL_USD TYPE ZZ_PRECIO,
RESUL TYPE VBDPR-SKFBP,
CAMPO TYPE VBDPR-NETWR,
CANTIDAD TYPE I,
LT_TAGS TYPE TABLE_OF_STRINGS,
LS_TAGS LIKE LINE OF LT_TAGS,
LT_0530 TYPE TABLE_OF_STRINGS,
LS_0530 LIKE LINE OF LT_0530,
GL_SEP TYPE C LENGTH 1 VALUE '|',
GL_TEXCAB TYPE STRING,
LV_CODIGO_UUID TYPE STRING.
DATA: PRECIO_NETO TYPE VBDPR-NETWR,
IVA_TOTAL TYPE VBDPR-MWSBP,
UNIDADES TYPE VBDPR-FKIMG,
PRECIO_UNITARIO TYPE ZZ_PRECIO,
MONTO_GRAVABLE_QTZ TYPE ZZ_PRECIO,
MONTO_IMPUESTO_QTZ TYPE ZZ_PRECIO,
MONTO_GRAVABLE_USD TYPE ZZ_PRECIO,
MONTO_IMPUESTO_USD TYPE ZZ_PRECIO,
PRECIO TYPE ZZ_PRECIO.
DATA: TIPO_FACTURA TYPE STRING VALUE 'B'. " 'S'--> SERVICIOS 'I'--> IVA EXENTO 'B'--> BIEN 'E'--> EXPORTACION
DATA: NUM_LINEA TYPE I VALUE 1,
TOTAL_IVA TYPE ZZ_PRECIO,
TOTAL_IVA_USD TYPE ZZ_PRECIO.
DATA: V_FECHA TYPE STRING,
V_FECHA_HORA TYPE STRING,
V_MONEDA TYPE STRING,
V_NOM_EMISOR TYPE STRING,
V_NOM_COMERCIAL TYPE STRING,
V_NOM_RECEPTOR TYPE STRING,
V_DIRECCION TYPE STRING,
V_CODIGO_POSTAL TYPE STRING,
V_PAIS TYPE STRING,
V_MUNICIPIO TYPE STRING,
V_DEPARTAMENTO TYPE STRING,
V_DIRECCION_RECEPTOR TYPE STRING,
V_CODIGO_POSTAL_RECEPTOR TYPE STRING,
V_MUNICIPIO_RECEPTOR TYPE STRING,
V_DEPARTAMENTO_RECEPTOR TYPE STRING,
V_PAIS_RECEPTOR TYPE STRING,
V_NIT TYPE STRING,
V_NUM_LINEA TYPE STRING,
V_NIT_RECEPTOR TYPE STRING,
V_FAC_CANTIDAD TYPE STRING,
V_FAC_UNI_MEDIDA TYPE STRING,
V_FAC_DESCRIPCION TYPE STRING,
V_FAC_PREUNI_CONIVA TYPE STRING,
V_FAC_PREUNI_SINIVA TYPE STRING,
V_FAC_IVA TYPE STRING,
V_FAC_TOTAL_IVA TYPE STRING,
V_FAC_TOTAL TYPE STRING,
V_FAC_DESC TYPE STRING,
V_FAC_GRAN_TOTAL TYPE STRING,
V_MONTO_GRAVABLE TYPE STRING,
V_MONTO_IMPUESTO TYPE STRING,
V_TOKEN TYPE STRING,
V_DATO_RECEPTOR TYPE STRING,
V_NUMFACTURA TYPE STRING,
V_NOMVENDEDOR TYPE STRING,
V_PEDIDO TYPE STRING,
V_NUMASIGNACION TYPE STRING,
V_TEXTO_CABECERA TYPE STRING,
V_HORA TYPE STRING,
V_TELEFONO TYPE STRING,
V_DIRECCION_RECEPTOR_ENT TYPE STRING,
V_FECHA_VENC TYPE STRING,
V_INCOTERMS TYPE STRING,
V_PAIS_NOMBRE TYPE STRING.
...