Busqueda formateada campo de usuario condicionado

Hola chic@, buenas.
Un tema que no doy resuelto, estoy obcecado ya.

Tengo un campo de usuario con valor SI o NO, establecido por defecto a NO.

La idea es que si el valor del campo lo establezco en SI me calcule un coste en base al total del documento, pero no logro que me funcione.

imagen

El codigo es:

SELECT case when t0.u_costes='SI' then (T0.DocTotal-T0.VatSum)*0.1 else 0 end FROM ORDR t0 where T0.DocNum=$[$8.0.0] and t0.U_costes=$[$U_Costes]

Gracias anticipadas por las posibles ayudas.

Probar:

SELECT 
CASE WHEN $[ORDR."U_Costes"] = 'SI' THEN 
(SELECT (($[ORDR."DocTotal"]-$[ORDR."VatSum"]) * 0.1) FROM DUMMY) 
ELSE 0
END

FROM DUMMY;
2 Me gusta

Hola @meqs

yo probaría a quitar la condición a partir del AND.

Cuando haces clic en la lupa ¿aparecen valores en el campo?

Un saludo

1 me gusta

Hola @ndon gracias por el aporte, per con ese código no consigo que funcione la búsqueda formateada.

Hola @Amarcos, si quito la parte referente al DocNum …
Me aparecen los valores de todos los documentos tras la pulsación en la lupa…
imagen

Detecto que al estar en modo creación no voy a poder obtener ese dato directamente, que voy a tener que hacerlo a posteriori, por el cambio en el número de documento y con el case, pero no logro que me refresque y guarde la información al ir cambiando de documento en documento.

Hola @meqs

me refiero a esta parte de la condición: and t0.U_costes=$[$U_Costes]

Un saludo

Claro, usas SQL Server? La query la modifique para HANA. En HANA funciona. Hay que adaptarla para SQL Server

Hola @meqs:

Buen día, podría ser que la descripción de los valores de este campo sean SI o NO, pero sus valores sean otros (0 o 1; S o N; Y o N etc) ?

Saludos a tod@s :raised_hand_with_fingers_splayed:t5:

Al final la opción mas eficiente que he encontrado aunque no me acaba de gustar del todo…va así:

SELECT case when t0.U_TipoGestion='BONIFICADO' then (T0.DocTotal-T0.VatSum)*0.1 else 0 end FROM ORDR t0 where T0.DocNum=$[$8.0.0]

Asigno la Búsqueda formateada de la siguiente forma:

imagen

Ocurre que así en el proceso de creación del documento no se rellena.

Al ser de tipo Actualizar regularmente, no guarda el valor en la tabla y tengo que volver a entrar al documento en modo corrección avanzar o retroceder registro o provocar que se habilite el botón de Actualizar y actualizar para que se guarde el dato en la tabla.

No doy el caso por perdido, seguiré haciendo pinitos, el objetivo es que ese campo se cubra al cambiar otro campo de usuario en modo automático y guarde el valor en el momento de creación del documento.

Buenos días, ¿el campo de usuario lo tienes donde lo ubica SAP por defecto?, es decir, a la derecha de la ventana, con los demás campos de usuario.

Si es así, prueba a mover el campo a la cabecera o pie de la ventana del documento, mediante la herramienta de modificación de IU.
Los campos de usuario con búsquedas formateadas, no funcionan en la ubicación predeterminada que SAP les da.

Ya me cuentas, si esto lo soluciona.

Hola @FernandoB el campo está integrado (con la herramienta de modificación de la UI) en una pestaña nueva en concreto.

Quizás dejandolo en su ubicación original funcione… lo probaré…

Hola @meqs:

Inicialmente comentabas, que el calculo debiera realizarse si cambias el valor de tu campo de usuario de no a si, cierto? De ser así, podrías probar que actualice automáticamente el valor si se produce esta modificación en tu campo de usuario y no en el número de documento.

Saludos a tod@s :raised_hand_with_fingers_splayed:t5:

Hola @meqs
Para mi la solución esta aquí. elimina las partes del FROM DUMMY con eso te debería funcionar.
Debes tener muy en cuenta que esto T0.DocNum=$[$8.0.0] solo funciona cuando el documento ya este creado, es decir si realizas una actualización de la orden de venta.

Andres Ramirez Jaramillo :colombia:

1 me gusta

Este tema se cerró automáticamente 30 días después de la última publicación. No se permiten nuevas respuestas.