on 07-01-2015 4:03 PM
Buenas a todos, alguien me podria ayudar en ver cual es el error en la siguiente busqueda formateada.
SELECT ((T1.[OnHand] + T1.[OnOrder]) - T1.[IsCommited]) FROM OITW T1 WHERE T1.[ItemCode] = $[$38.1.11] and T1.[WhsCode] = $[$38.24.11]
Esta funciona bien, pero me arroja un error cuando el numero que esta recuperando es mayor a 1000. cuando es menor funciona sin problemas.
Este es el error que me arroja.
Hola Luis
Yo cree un campo alfanumérico y este es la búsqueda que tengo en mi sap
SELECT convert(int,(T0.[OnHand]-T0.[IsCommited]),0) FROM OITW T0 WHERE T0.whscode = '03' and itemcode = $[$38.1.0]
Saludos
Sara
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Muchas gracias a todos por sus respuestas.
La búsqueda formateada quedó así:
SELECT convert(int,(T0.[OnHand] -T0.[IsCommited] + T0.OnOrder),0) FROM OITW T0 WHERE T0.whscode = $[$38.24.0] and itemcode = $[$38.1.0]
Quisiera ver si me podrían ayudar con el TN, la idea de este es que si la cantidad a facturar es menor al resultado del sql de arriba, arroje error.
Lo que estoy haciendo es lo siguiente:
If @object_type = '17'
and @transaction_type in ('A', 'U')
BEGIN
declare @lin1 AS DECIMAL
SET @lin1=0
SET @lin1= ISNULL( (SELECT TOP 1 T0.LineNum + 1 FROM RDR1 T0 WHERE T0.DocEntry = @list_of_cols_val_tab_del and
T0.Quantity > T0.FreeTxt),0)
IF @lin1> 0
begin
SET @error = 30
SET @error_message = 'Linea' + LTRIM(str(@lin10))+',NO existe cantidad para la venta'
end
END
La validación de que si es menor la logré realizar, pero estoy tratando de agregarle que me indique el numero de la linea en que se encuentra el error.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Use un campo que es alfanumerico, que el FreeTxt, y como les decia mas arriba al hacer el Tn me arroja error. Este es el TN que estoy tratando de meter.
If @object_type = '17'
and @transaction_type in ('A', 'U')
BEGIN
If exists (SELECT T0.ItemCode FROM RDR1 T0 WHERE T0.DocEntry = @list_of_cols_val_tab_del and
T0.Quantity > T0.FreeTxt)
begin
SET @error = 30
SET @error_message = 'cantidad no permitida'
end
END
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hola Luis, eso se debe a que Quantity es Numerico y FreeTxt es caracter, intenta lo siguiente:
If @object_type = '17' and @transaction_type in ('A', 'U')
BEGIN
If exists (SELECT T0.ItemCode FROM RDR1 T0 WHERE T0.DocEntry = @list_of_cols_val_tab_del and
T0.Quantity > cast(cast(T0.FreeTxt as nvarchar(max)) as int) )
begin
SET @error = 30
SET @error_message = 'cantidad no permitida'
end
END
Saludos.
Alessandro.
Que me recomiendan volver a crear el campo como alfanumerico, o como puedo indicar en el codigo que no tome en cuenta la coma. Estoy trayendo este campo para luego en TN hacer una validacion, y no se si al ser alfanumerico me de problemas en el TN.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Lo estoy trayendo a un campo definido que cree,y que esta definido como numerico. Puede que sea ese el error?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hola, igual influye como este estes declarando tu campo ¿Es numerico? Debe ser el caracter de la coma ','.
Saludos
Alessandro.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hola Luis.
A mi me funciona bien tu búsqueda formateada. Igual intenta cambiando los "11" por "0", quedarían: "$[$38.1.0]" y "$[$38.24.0]"
Prueba y nos comentas.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
108 | |
12 | |
11 | |
6 | |
5 | |
4 | |
3 | |
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.