Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

Transaction Notification

Estimados:

Tengo unas dudas con respecto al TRANSACTION NOTIFICATION quiero validar los modulos de Maestro de Articulos, Maestro de Socios de Negocio y la Tabla del Tipo de cambio ya que tengo problemas con las metidas de dedo de los usuarios,

para los documentos utilizo la sgte sentencia un ejemplo de una validacion:

-

-


--VALIDA QUE NO SE CREE LA ORDEN DE VENTA SI EL CAMPO IMPUESTOS ESTA VACIO

SET @OVIGV = (select ORDR.vatsum from ORDR WHERE ORDR.DocEntry = @list_of_cols_val_tab_del)

SET @TipVta = (select ORDR.u_qa_vta from ORDR WHERE ORDR.DocEntry = @list_of_cols_val_tab_del)

IF @OVIGV is null AND @TipVta <> '3'

BEGIN

SET @error = 1 -- IMPORTANTE: Indica que la validación no ha sido superada

SET @error_message = 'NO SE PUEDE CREAR LA ORDEN DE VENTA VERIFICAR EL CAMPO IMPUESTOS'

END

-

-


Si quisiera validar los Maestro de Articulos o SN o la tabla de tipo de cambio como lo hago y si me pueden decir que significa, como utilizarlo y en donde se utilizan estas variables

@num_of_cols_in_key int,

@list_of_key_cols_tab_del nvarchar(255),

@list_of_cols_val_tab_del nvarchar(255)

Edited by: Rui Pereira on Nov 7, 2008 10:07 AM

Former Member
Former Member replied

Hola Jesus

Te escribo por lo siguiente, ojo y no es para levantar polemicas leo que jorge te responde con una idea que dio Ian, pero la verdad que no me funciono yo mejore el proceso del error que tenia y que jorge me ayudo

IF @object_type='17' and @transaction_type='A'

begin

declare @ItemCode as varchar(20)

declare @Mensaje as varchar(200)

declare@OnHand as varchar(10)

declare @WHSCODE as varchar(20)

set @Mensaje=''

declare C cursor for

SELECT T0.itemcode, T0.WHSCODE from rdr1 T0

WHERE T0.docentry=@list_of_cols_val_tab_del/* esta SQL te entregara mas de 1 registro*/

open C

fetch next from C

into @ItemCode,@WHSCODE

while @@fetch_status = 0

begin

SEt @OnHand=(SELECT OITW.onhand

FROM OITW INNER JOIN RDR1 ON OITW.ItemCode = RDR1.ItemCode

WHERE (OITW.WHSCODE = @WHSCODE) and (RDR1.ItemCode = @ItemCode)

GROUP BY RDR1.ItemCode,OITW.OnHand )

IF @OnHand = '0.000000'

begin

set @Mensaje=@Mensaje@ItemCode'-'

end

-- Avanzamos otro registro

fetch next from C

into @ItemCode,@WHSCODE

end

--cerramos el cursor

close C

deallocate C

if @Mensaje =''

begin

SET @ERROR = 0

SET @error_message = ''

end

else

begin

SET @ERROR = 1

SET @error_message = 'Artículos sin stocks disponibles: ' + @Mensaje

end

end

0 View this answer in context

Helpful Answer

by
Not what you were looking for? View more on this topic or Ask a question