Consulta formateada nivel línea de documento

Buen día!!

Necesito vuestra ayuda con una consulta formateada a nivel línea de documento.

El caso es el siguiente:

Necesito multiplicar dos campos a nivel detalle del pedido.

Tengo por un lado un campo TASA que se alimenta de una consulta formateada: SELECT TOP 1 T2.“U_Tasa” FROM “XXX_SA”.“ORDR” T1, “XXX_SA”."@INTERES" T2 WHERE T2.“Code” = $[ORDR.“GroupNum”.number]

Este campo trae un valor numérico que siempre va a ser igual en todas las líneas

Y por otro lado un segundo campo que es price de RDR1

Necesito multiplicar esos dos campos a nivel línea es decir si mi campo price es de 30 y mi campo TASA 10% debería traer el valor de: 33

Alguien podría darme una mano con esto?

Gracias

Hola @PP24:

Buenas tardes, y si estos se encuentran a nivel de línea, por que no se crea un campo de usuario en este lugar, y agrega una busqueda formateada que sea el p x q de estos?

Saludos :raised_hand_with_fingers_splayed:t5:

Sólo multiplica el campo del PRECIO * (1+TASA)

Aquí podrás ver la sintaxis para BFs.

h_tps://blogs.sap.com/2013/10/30/syntax-of-formatted-search-in-sap-business-one-version-for-sap/

El problema es que no me arroja ningún resultado, no se si es porque uno de los campos que multiplica ya es una búsqueda formateada y si es necesario que la consulta tenga una sintaxis diferente por ser a nivel línea.
estoy probando con esta:

Hola PP24
La informacion que necesitas no esta en la base de datos, ya que no se ha creado el pedido, debes tomar los datos desde las variables del formulario.
SELECT $[RDR1.“Price”]*(1+$[ORDR.“U_Tasa”]) FROM DUMMY
Ten en cuenta que en HANA se debe agrega “FROM DUMMY” en caso de no utilizar ninguna tabla de la base de datos, algo que no es necesario en SQLSERVER

Saludos,
Andres Ramirez Jaramillo :colombia:

2 Me gusta

Utilizando la siguiente query pude lograr que traiga resultados:

SELECT T1.“Price”*(1+(T0.“U_Tasa”/100 ))FROM “BDEV_SA”."@INTERES" T0 , RDR1 T1 INNER JOIN ORDR T2 ON T1.“DocEntry” = T2.“DocEntry” WHERE T2.“GroupNum” = T0.“Code” AND T1.“DocEntry” = $[“ORDR”.“DocEntry”.0]

PERO HASTA QUE NO ESTÁ CREADO EL DOCUMENTO NO ME TRAE RESULTADOS, UNA VEZ QUE SE CREÓ EL PEDIDO AHÍ ARROJA EL RESULTADO CORRECTO.

Buenos días

Que tal @PP24, en el último apoyo que te dió @andresramirez, precisamente fue lo que te dijo, que no podrías recuperar los datos de la tabla porque no están guardados todavía en la Base de Datos.

Tu caso es interesante porque en lo personal no había tenido necesidad de crear una búsqueda formateada basada en otro campo con otra búsqueda formateada, sin embargo de acuerdo a la spreubas que realicé, icnluso se me congela SAP, no se si sea coincidencia o será que hace como un tipo de referencia circular, recordé Excel, en fin, lo que te recomiendo es lo siguiente, que dicho sea de paso a mí si me funcionó.

1.- En el primer campo, recupera el dato del porcentaje, que sea solo informativo, en mi caso lo recupero de una tabla de usuario, sin embargo, puede ser de cualquier parte.
select convert(varchar,(convert(numeric(19,4),U_Descripcion)/100)) from [@VALORES] where U_Codigo = $[$38.1.0]
NOTA: La resultado de la operación aritmética la convierto en “varchar”, para que me muestre todos los decimales posibles.

2.- En el segundo campo, realiza la operación para adicionarle el porcentaje con respecto al precio, sin embargo, en lugar de hacer referencia al primer campo, recupero nuevamente el porcentaje con el query completo, incluso como podrás ver, utiliza varios métodos, para quitar los espacios que se recuperan al momento de hacer referencia al campo precio, así como quitarle las iniciaciones de la Moneda (si aplica), para poder extraer exclusivamente el valor numérico del precio, espero no confundirte con tanto rollo en los querys, jajajaja
select convert(decimal,substring(rtrim($[$38.14.0]),1,len(rtrim($[$38.14.0]))-4)) * (1 + (select (convert(float,U_Descripcion)/100) from [@VALORES] where U_Codigo = $[$38.1.0]))

Realicé algunas pruebas y me es funcional. Espero te ayude en algo

Saludos
SAP B1, v9.2 PL03
México

2 Me gusta

Este tema se cerró automáticamente 7 días después del último post. No se permiten nuevas respuestas.