on 03-08-2012 12:46 AM
Buenas tardes, estoy trabajando sobre SAP B1 y en el query manager quiero obtener el valor de una tabla de usuario, de esta manera:
/* SELECT FROM OINV T1 */
SET @DateFrom = /* T1.DocDate */ '[%0]'
set @DateTo = /* T1.DocDate */ '[%1]'
/select from .[@DETALLESUCURSAL] T2/
set @CardName = /* t2.Name */ '[%2]'
/* select from oslp t3 */
set @sVendedor = /* t3.SlpName */ '[%3]'
las líneas del select From Oinv y la final del select from oslp no marcan error, pero cuando le agrego la de la tabla de usuario:
/select from .[@DETALLESUCURSAL] T2/
set @CardName = /* t2.Name */ '[%2]'
me dice "Error:Must specify table to select from"
La pregunta es: De qué manera se trabajan las tablas de usuario ?
gracias por su ayuda....
Saludos cordiales,
Jorge
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
gracias a ambos, de esta manera es como lo tengo ahorita, pero sigue sin funcionarme, las tablas las tengo dentro de corchetes, el dbo y el DetalleSucursal, al pasarlo acá al foro, no sé porqué los elimina....
declare @CardName as varchar(200),
@sPromoter as varchar(50)
/* SELECT FROM ICSV.DBO.OINV T1 */
SET @DateFrom = /* T1.DocDate */ '[%0]'
set @DateTo = /* T1.DocDate */ '[%1]'
/* select from .[@DetalleSucursal] T2 */
/* WHERE */
set @CardName = /* t2.Name */ '[%2]'
/* select from oslp t3 */
set @sVendedor = /* t3.SlpName */ '[%3]'
/* select from .[@DetalleSucursal] T4 */
/* WHERE */
set @sPromoter = /* t4.u_Promotora */ '[%4]'
gracias por su ayuda desinteresada,
Jorge
Edited by: jdiazportillo on Mar 8, 2012 9:20 PM
hice unos ejercicios y llegue al siguiente código
/* select from [dbo].[@DetalleSucursal] T4 */ declare @sPromoter varchar(50) /* WHERE */set @sPromoter = /* t4.u_Promotora */ '[%4]'
/* select from [dbo].[@DetalleSucursal] T2 */ declare @CardName varchar(200) /* WHERE */ set @CardName = /* t2.Name */ '[%2]'
/* SELECT FROM OINV T1 */ declare @DateFrom datetime /* WHERE */ SET @DateFrom = /* T1.DocDate */ '[%0]'
/* SELECT FROM OINV T1 */ declare @DateTo datetime /* WHERE */ set @DateTo = /* T1.DocdueDate */ '[%1]'
/* select from OSLP t3 */declare @svendedor varchar(100) /* WHERE */ set @svendedor = /* t3.SlpName */ '[%3]'
nota que tuve que reemplazar las variable spor que no me habpias puesto todas en tu mensaje inicial
haciendo los ejemplos me di cuenta que con esta forma de sintaxis, es case sensitive. El nombre de tus campos deben ir tal cual estan dados de alta en tu base de datos, así como los nombres de las variables
Saludos
perdón pero tuve que cambiarme en otras cosas y dejé pendiente esta parte... lo siento...
David, he aplicado el ejemplo que me distes y aún no me funcionaba, pero al cambiar el orden para pedir los parametros me funcionó...o sea... pedir el filtro de la tabla de usuario primero.. me explico...exactamente como tú lo has hecho... yo dejaba las tablas de usuario al final..
gracias a todos por su ayuda...
Te anexo un ejemplo de cómo lo uso yo, espero que te sea útil
/*SELECT FROM [dbo].[@clase] M0*/ declare @M as VARCHAR (10) /* WHERE */ set @M = /* M0.code */ '[%0]'
SELECT T0.Code, T0.Name FROM [dbo].[@CLASE] T0 where t0.code=@m
Saludos!!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
110 | |
12 | |
11 | |
6 | |
5 | |
4 | |
4 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.