on 10-06-2008 4:57 PM
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
HOLA JESUS UNA DUDA,EN QUE PARTE DEL SISTEMA ESTA LA OPCION DE TRANSACTION NOTIFICATION?
LO QUE PASA QUE YO NECESITO CONFIGURAR UN AVISO TAMBIEN CUANDO UN ARTICULO SE HAYA RECODIFICADO, QUE CADA VEZ QUE SE TRATE DE FACTURAR EL CODIGO ANTERIOR MANDE UN AVISO DE QUE HAY UN CODIGO NUEVO , ESTO PORQUE AQUI EN LA EMPRESA SE DA DE ALTA EL MISMO CODIGO DE ARTICULO DE LA FACTURA DEL PROVEEDOR, POR LOQUE SI ELPROVEEDOR NOS ENVIA UNA FACTURA CON ITEM RECODIFICADO TAMBIEN SE DA DA ALTA EN SAP, PERO LOS FACTURISTAS POR DEFAULT SIEMPRE SE VAN AL CODIGO QUE YA SE SABEN Y NECESITO QUE EL SISTEMA AVISE CADA VES QUE SE TRATE DE FACTURAR EL CODIGO ANTERIOR
GRACIAS DE ANTEMANO
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hola, para ver el transaction notification debes irte al MSSQL Management Studio y abrir la base de datos de tu compañia, haces clic en programabilidad, y luego en Procedimientos almacenados (stored procedures), busca ahi uno que dice SBO_TransactionNotification, dale clic derecho y modificar
Entonces busca la linea de codigo que esta comentada y en color verde que dice ADD YOUR CODE HERE, debajo de esto puedes agreagar el codigo que pretendes manejar
hola Jesus, para cada formulario debes agregar:
IF @object_type='17' and @transaction_type='A'
begin
--aca va la validacion
end
donde el @Object_Type es el ID del objeto de negocios que quieres controlar
4 Items
2 Business Partner
Tipo de cambio no tiene objeto de negocio.
y el @transaction_type es el tipo de transaccion que quieres controlar(detallado en el SPTN)
@list_of_cols_val_tab_del (te entrega el valor de la llave del objeto de negocio en el que esta el SP)
@num_of_cols_in_key (numero de columnas que componen la llave)
@list_of_key_cols_tab_del (nombre del campo que compone la llave del Objeto)
ejemplo de Ian que soluciona el siguiente error:
"Hola a todos, tengo un problema con las ordenes de ventas, al hacer una orden de venta esta no verifica si hay existencia o no en el almacen, hice un SP para que me validara si el articulo tenia existencia en el stock . Funciona con una sola linea, si hay dos lineas me da error"
IF @object_type='17' and @transaction_type='A'
begin
declare @Mensaje as varchar(200)
set @Mensaje=''
if exists(
select 'A'
from RDR1 R1
inner join OITW IW on IW.ItemCode = R1.ItemCode and IW.WhsCode = R1.WhsCode
where R1.DocEntry = @list_of_cols_val_tab_del and IW.OnHand < 0
)
begin
select @Mensaje=''
select @Mensaje = coalesce(@Mensaje + ' ', '; ') + cast(R1.LineNum + 1 as varchar) + '. ' + R1.ItemCode + ' ' + cast(cast(IW.OnHand as numeric(10,2)) as varchar)
from RDR1 R1
inner join OITW IW on IW.ItemCode = R1.ItemCode and IW.WhsCode = R1.WhsCode
where R1.DocEntry = @list_of_cols_val_tab_del and IW.OnHand < 0
SET @ERROR = 1
select @error_message = 'Artículos sin stocks disponibles: ' + @Mensaje
return
end
end
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
105 | |
8 | |
6 | |
6 | |
5 | |
5 | |
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.