on 09-22-2010 8:29 PM
Ya me apoyaron con la actualización, pero ahora quisiera saber si algo estoy haciendo mal, de repente se van algunos documentos con el campo vació que segun yo estoy bloqueando con el transaction notification.
Alguien me podría ayudar a saber por que sucede esto?. tengo el siguiente código en el transaction notifcation.
USE [FEYCO]
GO
/****** Object: StoredProcedure [dbo].[SBO_SP_TransactionNotification] Script Date: 09/22/2010 13:21:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[SBO_SP_TransactionNotification]
@object_type nvarchar(20), -- SBO Object Type
@transaction_type nchar(1), -- [A]dd, <u>pdate, [D]elete, [C]ancel, C[L]ose
@num_of_cols_in_key int,
@list_of_key_cols_tab_del nvarchar(255),
@list_of_cols_val_tab_del nvarchar(255)
AS
begin
-- Return values
declare @error int -- Result (0 for no error)
declare @error_message nvarchar (200) -- Error string to be displayed
select @error = 0
select @error_message = N'Ok'
--------------------------------------------------------------------------------------------------------------------------------
-- ADD YOUR CODE HERE
--revisa precio unitario debajo de costo o igual a costo excepto promociones.
IF @object_type = '17' and @transaction_type IN ('A','U')
BEGIN
if exists (SELECT T1.[ItemCode]
FROM ORDR T0
INNER JOIN RDR1 T1 ON T0.DocEntry = T1.DocEntry
INNER JOIN OITM T2 ON T1.ITEMCODE=T2.ITEMCODE
WHERE (T1.[price] <= T2.[avgprice])and (T0.docentry = @list_of_cols_val_tab_del)
and (t1.itemcode<>'PREF-15')and(t1.itemcode<>'POLV-17'))
begin
SELECT @error = 1, @error_message = 'orden de venta con precio bajo de costo !'
end
END
-- Revisa ordenes de venta en actualizaciones tambien sin código de vendedor.
IF (@object_type = '17') and @transaction_type IN ('A','U')
BEGIN
DECLARE @CODV NVARCHAR(10)
SET @CODV = (SELECT T0.U_CODIGO
FROM ORDR T0
WHERE T0.DocEntry = @list_of_cols_val_tab_del)
IF @CODV is null
BEGIN
SELECT @error = 1
SELECT @error_message = 'Orden de Venta sin codigo de vendedor!'
END
END
--Revisa Oferta de venta sin código de vendedor.
IF (@object_type = '23') and @transaction_type IN ('A','U')
BEGIN
DECLARE @COD NVARCHAR(10)
SET @COD = (SELECT T0.U_CODIGO
FROM OQUT T0
WHERE T0.DocEntry = @list_of_cols_val_tab_del)
IF @COD is null
BEGIN
SELECT @error = 1
SELECT @error_message = 'Oferta de Venta sin codigo de vendedor!'
END
END
--Oferta de venta sin código de vendedor.
--------------------------------------------------------------------------------------------------------------------------------
-- Select the return values
select @error, @error_message
end
o acaso tengo que borrar el @error y asignarle otro número dependiendo del if que tenga?...
ojalay alguien pueda orientarme :):D saludos!
ya anide los if y con eso quedo. saludos. y gracias
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hola...
La verdad es que el transaction notification te debe validar siempre, porque el criterio siempre será el mismo. No entiendo muy bien cuando señalas que en algunos documentos el campo está vacio. Se asume que existen documentos que están de antes que se creara el transaction y que por ende pueden mostrar el campo en blanco. Ahora si quieres actualizar esos documentos entiendo que la validación si se aplicará y te enviará el mensaje correspondiente, pero en su estado actual no es posible ver los datos.
Eso es lo que entiendo de tu consulta
Espero te sea de ayuda
Saludos Cordiales,
PD: Otra consulta....el campo de usuario lo estás llenando con una búsqueda formateada?
Edited by: Paul Ponce on Sep 22, 2010 9:47 PM
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
104 | |
12 | |
11 | |
6 | |
6 | |
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.