Skip to Content

transaction notication a veces funciona y a veces no

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!

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

2 Answers

  • author's profile photo Former Member
    Former Member
    Posted on Sep 22, 2010 at 07:40 PM

    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

    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Oct 07, 2010 at 02:55 PM

    ya anide los if y con eso quedo. saludos. y gracias

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.