MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 06/05/10, 15:25:54
JayEffpee JayEffpee is offline
Junior Member
 
Fecha de Ingreso: oct 2006
Mensajes: 12
Error En Interfaz Sincronica Entre Sap PI Y R/3

Hola Gente,
no sé si el foro de ABAP es el indicado para esto, pero al menos el tema lo está viendo mi equipo de ABAP :-)

A ver si nos pueden ayudar porque es muy extraño. Estamos haciendo un upgrade de ECC 5.0 a ECC 6.0, y al probar una de las interfaces sincronicas con SAP NetWeaver 7.10 (para conversion de Ordenes de Compra)

Cuando SAP PI nos devuelve la respuesta
SAP R/3 no puede interpretar el XML dando el error

El momento exacto es cuando PI proces el IDOC ORDERS y reponde el status, no puede interpretar el XML

La llamanda a CALL TRANSFORMATION termina, por algun motivo desconocido, con la excepcion CX_ST_MATCH_ELEMENT.

Les adjunto un detalle (en ingles, perdon) con la secuencia de ejecucion de los metodos. Si alguien quiere las pantallas del debug, me pasa su mail, por favor:

Order in which the methods are executed until arriving at the exception:

1.-

cl_ws_payload_handler=>deserialize(
exporting
part = lr_part
ws_payload = me->ws_payload
payload = payload
changing
bindings = lt_bindings
).

2.- lr_part->deserialize( reader = lr_reader ).

3.-

CALL TRANSFORMATION (m_transformation_deserialize)
PARAMETERS (l_ref_params)
SOURCE XML reader
RESULT (l_data_refs).
options value_handling = m_opt_value_handling.

CATCH cx_xslt_system_error cx_st_error INTO l_exception.

cl_soap_util=>log_create_from_exception(
ex_root = l_exception
add_info = m_transformation_deserialize
add_info_name = 'DESERIALIZE_TRANSFORMATION'
).

Values of the parameters:

a.- m_transformation_deserialize = ‘/1SAI/TXS32F9B78F3FC73361C131’.

b.- l_ref_params = Table[0x16].

c.- reader = {O:165*\CLASS=CL_SXML_STRING_READER}

d.- l_data_refs = Table[1x16].

NAME INPUT
VALUE {A:4*\TYPE=ZDPI_ORDEN_COCO_SUPPLIER_RESP1}

4.- Exception CX_ST_MATCH_ELEMENT.




Si testeamos proxy desde la trx SPROXY aparece el error:

Detail of the error:

The error that this giving is in line 124 of the transformation /1SAI/TXE32F9B78F3FC73361C131:


<!--
name /1SAI/TXE32F9B78F3FC73361C131
object CLAS
obj_name ZDPI_ORDEN_COCO_CO_SI_R3_ORDEN
method EXECUTE_SYNCHRONOUS
extended
-->
<?sap.transform simple?>
<tt:transform version="1.0" xmlns:tt="http://www.sap.com/transformation-templates" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:sapgdt="http://sap.com/xi/SAPGlobal/GDT" xmlns:ddic="http://www.sap.com/abapxml/types/dictionary" xmlns&>
rx="urn:sap.comroxy:PRD:/1SAI/TXE32F9B78F3FC73361C131:701:2009/02/10" xmlns:n0="urn:dds.com.ar:r3:int_11">
<tt:root name="INPUT" type="ddic:ZDPI_ORDEN_COCO_SUPPLIER_RESP1"/>
<tt:variable name="_C_NIL" val="''"/>

<tt:template name="ZDPI_ORDEN_COCO_SUPPLIER_RESP1">
<tt:context>
<tt:root name="ROOT" type="ddic:ZDPI_ORDEN_COCO_SUPPLIER_RESP1"/>
<tt:variable name="_C_1" val="''"/>
<tt:variable name="_C_2" val="'3'"/>
<tt:variable name="_C_3" val="'3'"/>
</tt:context>
<tt:ref name="ROOT">
<tt:deserialize>
<tt:group>
<tt:cond frq="?">
<status>
<tt:assign to-var="_C_2" val="'1'"/>
<tt:deserialize>
<tt:apply name="XSI_NIL_READ">
<tt:with-parameter name="CTRL" var="_C_2"/>
</tt:apply>
</tt:deserialize>
<tt:cond-var check="_C_2!='2'">
<tt:read var="_C_2" type="C"/>
<tt:assign to-ref="SUPPLIER_RESPONSE_MSG.STATUS" var="_C_2"/>
<tt:switch-var>
<tt:cond-var check="initial(var(_C_2))">
<tt:assign to-var="_C_2" val="'1'"/>
</tt:cond-var>
<tt:cond-var>
<tt:assign to-var="_C_2" val="''"/>
</tt:cond-var>
</tt:switch-var>
</tt:cond-var>
</status>
</tt:cond>
<tt:cond frq="?">
<messageId>
<tt:assign to-var="_C_3" val="'1'"/>
<tt:deserialize>
<tt:apply name="XSI_NIL_READ">
<tt:with-parameter name="CTRL" var="_C_3"/>
</tt:apply>
</tt:deserialize>
<tt:cond-var check="_C_3!='2'">
<tt:read var="_C_3" type="C"/>
<tt:assign to-ref="SUPPLIER_RESPONSE_MSG.MESSAGE_ID" var="_C_3"/>
<tt:switch-var>
<tt:cond-var check="initial(var(_C_3))">
<tt:assign to-var="_C_3" val="'1'"/>
</tt:cond-var>
<tt:cond-var>
<tt:assign to-var="_C_3" val="''"/>
</tt:cond-var>
</tt:switch-var>
</tt:cond-var>
</messageId>
</tt:cond>
</tt:group>
<tt:group>
<tt:cond using="exist($REF)">
<tt:cond-var check="not-initial(_C_1)">
<tt:assign to-ref="CONTROLLER">
<tt:assign to-ref="FIELD" val="'SUPPLIER_RESPONSE_MSG'"/>
<tt:assign to-ref="VALUE" var="_C_1"/>
</tt:assign>
</tt:cond-var>
<tt:ref name="SUPPLIER_RESPONSE_MSG">
<tt:cond-var check="not-initial(_C_2)">
<tt:assign to-ref="CONTROLLER">
<tt:assign to-ref="FIELD" val="'STATUS'"/>
<tt:assign to-ref="VALUE" var="_C_2"/>
</tt:assign>
</tt:cond-var>
<tt:cond-var check="not-initial(_C_3)">
<tt:assign to-ref="CONTROLLER">
<tt:assign to-ref="FIELD" val="'MESSAGE_ID'"/>
<tt:assign to-ref="VALUE" var="_C_3"/>
</tt:assign>
</tt:cond-var>
</tt:ref>
</tt:cond>
</tt:group>
</tt:deserialize>
</tt:ref>
</tt:template>

<tt:template name="XSI_NIL_READ">
<tt:context>
<ttarameter name="CTRL" kind="in/out"/>
</tt:context>
<tt:d-cond>
<tt:attribute name="xsi:nil">
<tt:switch>
<tt:cond>
<tt:text>true</tt:text>
<tt:assign to-var="CTRL" val="'2'"/>
</tt:cond>
<tt:cond>
<tt:text>false</tt:text>
</tt:cond>
<tt:cond>
<tt:text>1</tt:text>
<tt:assign to-var="CTRL" val="'2'"/>
</tt:cond>
<tt:cond>
<tt:text>0</tt:text>
</tt:cond>
</tt:switch>
</tt:attribute>
</tt:d-cond>
</tt:template>

<tt:template>
<tt:clear ref="INPUT"/>  Here it is where it marks the error!!
<n0:SupplierResponseMsg tt:extensible="deep">
<tt:namespace name="prx"/>
<tt:namespace name="n0"/>
<tt:ref name="INPUT">
<tt:apply name="ZDPI_ORDEN_COCO_SUPPLIER_RESP1">
<tt:with-root name="ROOT"/>
</tt:apply>
</tt:ref>
</n0:SupplierResponseMsg>
</tt:template>
</tt:transform>



Desde ya cualquier ayuda será bienvenida!!

Mil gracias
Javier

Úlima edición por JayEffpee fecha: 06/05/10 a las 19:03:13.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 11:56:13.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web