You are on page 1of 1

zcxfm_bfiap0mx_read_xml

DATA: i_xml_data TYPE TABLE OF smum_xmltb.


DATA: i_errores TYPE TABLE OF bdcmsgcoll.
DATA: i_return TYPE TABLE OF bapiret2.
DATA: v_xml_xstring TYPE xstring.

FORM f_validar .

REFRESH: i_errores.
CLEAR: v_action.

v_xml_xstring = w_email-xml_cfdi.
*Leer XML y pasarlo a tabla interna
CALL FUNCTION 'SMUM_XML_PARSE'
EXPORTING
xml_input = v_xml_xstring
TABLES
xml_table = i_xml_data
return = i_return.

*Agrupa los nodos


CALL FUNCTION 'ZCXFM_BFIAP0BM_AGRUPAR_TAGS'
CHANGING
pc_tags = i_xml_data.

*Validar XML
CALL FUNCTION 'ZCXFM_BFIAP0BM_VALIDAR_XML'
TABLES
pt_errores = i_errores
CHANGING
pc_tags = i_xml_data.

* READ TABLE i_errores INTO w_errores


* WITH KEY msgtyp = 'E'.
* IF sy-subrc EQ 0.
**Rechazar Action
* v_action = c_rechazar.
* ELSE.
*Asignar Action
v_action = c_asignar.
* ENDIF.

You might also like