Ver Mensaje Individual
  #1  
Viejo 26/06/13, 03:37:01
laus24 laus24 is offline
Junior Member
 
Fecha de Ingreso: jun 2013
Mensajes: 1
Problemas conversión XML->Tabla Interna

Tengo el siguiente fragmento de una factura electronica:

<?xml version="1.0" encoding="UTF-8"?>
<cfdi:Comprobante xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv32.xsd" xmlns:cfdi="http://www.sat.gob.mx/cfd/3" version="3.2">
<cfdi:Emisor rfc="DSA1202093X4" nombre="D&amp;O&amp;G SERVICIOS ADMINISTRATIVOS DEL HIPODROMO C.H.U. S.A. DE C.V.">
<cfdiomicilioFiscal calle="AVENIDA BAJA CALIFORNIA" noExterior="218" noInterior="401" colonia="ROMA SUR" referencia="CUAUHTEMOC" municipio="CUAUHTEMOC" estado="DISTRITO FEDERAL" pais="MÉXICO" codigoPostal="06760"/>
<cfdi:RegimenFiscal Regimen="Régimen general personas morales"/>
</cfdi:Emisor>
</cfdi:Comprobante>

Y necesito leer el RFC del EMISOR, por lo que he creado la siguiente transformación en la tx STRANS:

<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sap="http://www.sap.com/sapxsl" version="1.0">

<xsl:strip-space elements="*"/>

<xsl:template match="COMPROBANTE">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<XML_OUTPUT>
<xsl:for-each select="Comprobante">
<xsl:variable name="head" select="Emisor"/>
<a_rfc>
<xsl:value-of select="$head/@rfc"/>
</a_rfc>
</xsl:for-each>
</XML_OUTPUT>
</asx:values>
</asx:abap>
</xsl:template>

</xsl:transform>

El fragmento de mi código ABAP es el siguiente para el llamado de la transformación:

DATA: a_rfc TYPE string.

TRY.
CALL TRANSFORMATION ztest_alsg_trans
SOURCE XML ls_line_xml
RESULT xml_out = a_rfc.

CATCH cx_st_error.
CATCH cx_xslt_format_error INTO cx_format_error.

ENDTRY.

Sin embargo, me sale el siguiente error CX_FORMAT_ERROR (En espera de elemento ) y ya intente de mil modos y sigo sin poder leer mi variable . Ojala alguien me podria apoyar diciendome que me sobra o que me falta, de antemano muchas gracias por su ayuda
Responder Con Cita