XML como parametro de SP

05/09/2005 - 15:34 por Sandro | Informe spam
Alguien uso XML como parametro de un SP ?
Estoy tratando de pasar un XML a un Procedimiento

Este XML tiene una factura con sus respectivos items, pero cuando guardo la
cabecera de la factura, obtengo un numero de factura el cual debo de usar
para los items, pero no se como isertar este numero obtenido de la cabecera
en medio del XML, ya que el XML biene desde la aplicacion.

Preguntas similare

Leer las respuestas

#1 Ivan Pascual
05/09/2005 - 16:19 | Informe spam
Mirate la ayuda de las BOL sobre lo siguiente...

sp_xml_preparedocument
OPENXML
sp_xml_removedocument

Yo lo utilizo así...

EXEC sp_xml_preparedocument @idoc OUTPUT, @XMLFras

SELECT Campo1, Campo2
INTO #TMP_XML
FROM OPENXML (@idoc, '/NombreItem/ROW', 1 )
WITH ( Campo1 varchar (06), Campo2 varchar (06) )

EXEC sp_xml_removedocument @idoc

Prefiero darte la pista de como puedes dar tu con ello a decirte como es la
solucion... asi se aprende mas... aunque ya te la he dicho casi... jejeje

Si no te sirve me dices...

Ivan Pascual


"Sandro" escribió en el mensaje
news:
Alguien uso XML como parametro de un SP ?
Estoy tratando de pasar un XML a un Procedimiento

Este XML tiene una factura con sus respectivos items, pero cuando guardo


la
cabecera de la factura, obtengo un numero de factura el cual debo de usar
para los items, pero no se como isertar este numero obtenido de la


cabecera
en medio del XML, ya que el XML biene desde la aplicacion.


Respuesta Responder a este mensaje
#2 Felixda
05/09/2005 - 16:22 | Informe spam
Hola. Yo lo que hago es pasarel XML como un parametro de tipo nvarchar(8000)
y si es muy grande como tipo TEXT. Puedes grabar la cabecera de la factura,
coger el identity que se le haya asignado y leer el XML con un cursor de la
siguiente forma:
DECLARE @cursortemporal cursor

/* Ejecutamos una SELECT con OPENXML para cargar datos con una estructura
determinada */
SET @cursortemporal = CURSOR FOR SELECT * FROM OPENXML
(@intDoc,'/Ds/Marcas',0) WITH (IdMarca int)

..


Si quieres que te lo explique con mas detalle mandame un correo y te lo envio

FELIX


mi correo es




"Sandro" escribió:

Alguien uso XML como parametro de un SP ?
Estoy tratando de pasar un XML a un Procedimiento

Este XML tiene una factura con sus respectivos items, pero cuando guardo la
cabecera de la factura, obtengo un numero de factura el cual debo de usar
para los items, pero no se como isertar este numero obtenido de la cabecera
en medio del XML, ya que el XML biene desde la aplicacion.



Respuesta Responder a este mensaje
#3 Sandro
05/09/2005 - 16:47 | Informe spam
Voy a tratar de ser mas explicito

Imaginen esto

CABECERA

Numero_factura
Fecha
Cliente

ITEMS

Numero_factura
Producto
Cantidad

esa son las tablas

Ahora en mi aplicacion capturo lo siguiente
Fecha y Cliente para la cabecera
Producto y cantidad para los Items

Un ejemplo:

CABECERA

FECHA CLIENTE
01/01/2005 Microsoft

ITEMS

Producto Cantidad
Prod1 5
Prod3 7

Todo esto armo un XML y lo paso a un procedimiento almacenado

El SP recibe el XML

y deberia obtener el XML, insertar la cabecera y obtener el Numero de
factura ( como ejemplo es un simple autonumerico clave)

hasta ahi todo bien
pero no se como pasarle ese ID de factura a la tabla Items,ya que el XML ya
esta armado, y no puedo o no se pasarle ese dato para completar la tabla
Items

Espro alla sifo claro
Respuesta Responder a este mensaje
#4 Felixda
05/09/2005 - 17:11 | Informe spam
Puedes pasar la cabecera como parametros individuales y los detalles en el
XML, asi grabas primero la cabecera obtienes el identificador y luego lees el
XML con un cursor y haces un insert por cada detalle y con el identificador
correspondiente

"Sandro" escribió:

Voy a tratar de ser mas explicito

Imaginen esto

CABECERA

Numero_factura
Fecha
Cliente

ITEMS

Numero_factura
Producto
Cantidad

esa son las tablas

Ahora en mi aplicacion capturo lo siguiente
Fecha y Cliente para la cabecera
Producto y cantidad para los Items

Un ejemplo:

CABECERA

FECHA CLIENTE
01/01/2005 Microsoft

ITEMS

Producto Cantidad
Prod1 5
Prod3 7

Todo esto armo un XML y lo paso a un procedimiento almacenado

El SP recibe el XML

y deberia obtener el XML, insertar la cabecera y obtener el Numero de
factura ( como ejemplo es un simple autonumerico clave)

hasta ahi todo bien
pero no se como pasarle ese ID de factura a la tabla Items,ya que el XML ya
esta armado, y no puedo o no se pasarle ese dato para completar la tabla
Items

Espro alla sifo claro




Respuesta Responder a este mensaje
#5 Sandro
05/09/2005 - 19:18 | Informe spam
eso no solucionoria nada ya que es en XML de los items en donde tengo que
isertar una numero que biene de una variable.

"Felixda" escribió en el mensaje
news:
Puedes pasar la cabecera como parametros individuales y los detalles en el
XML, asi grabas primero la cabecera obtienes el identificador y luego lees
el
XML con un cursor y haces un insert por cada detalle y con el
identificador
correspondiente

"Sandro" escribió:

Voy a tratar de ser mas explicito

Imaginen esto

CABECERA

Numero_factura
Fecha
Cliente

ITEMS

Numero_factura
Producto
Cantidad

esa son las tablas

Ahora en mi aplicacion capturo lo siguiente
Fecha y Cliente para la cabecera
Producto y cantidad para los Items

Un ejemplo:

CABECERA

FECHA CLIENTE
01/01/2005 Microsoft

ITEMS

Producto Cantidad
Prod1 5
Prod3 7

Todo esto armo un XML y lo paso a un procedimiento almacenado

El SP recibe el XML

y deberia obtener el XML, insertar la cabecera y obtener el Numero de
factura ( como ejemplo es un simple autonumerico clave)

hasta ahi todo bien
pero no se como pasarle ese ID de factura a la tabla Items,ya que el XML
ya
esta armado, y no puedo o no se pasarle ese dato para completar la tabla
Items

Espro alla sifo claro




Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida