on 06-05-2014 6:33 PM
Buen dia expertos estoy tratando de hacer un bloqueo para los documentos que representen compra, he empezado a realizar basandome en la ordenes de compra,dicha restriccion debe decir que ya se sobre paso el presupuesto y no puede generar la orden de compra, pero no encuentro como enlazar la tabla que contiene los presupuestos con las tablas de de las ordenes de compra , si alguien me pudiera asesorar a crear este bloqueo de antemano muchas gracias.
IF @object_type = '22' AND (@transaction_type IN('A','U')
BEGIN
IF Exists
(SELECT T1.DocEntry from POR1 T0 INNER JOIN OPOR T1
ON T0.DocEntry = T1.DocEntry LEFT JOIN PDN1 T2 ON T2.BaseEntry = T0.DocEntry
INNER JOIN OBGT T3 <-----???????????
AND T0.BaseType = '20' AND T2.BaseLine = T0.LineNum
WHERE (T1.DocEntry = @list_of_cols_val_tab_del) AND ( SUM(T1.Linetotal) > T3.DebLTotal)
BEGIN
SELECT @error = 20
SELECT @error_message = 'La compra excede el Presupuesto'
END
END
Armando,
Probaste utilizando la parametrizacion estándar de SAP.
en Gestión-->Inicializacion de sistema--> Parametrizaciones Generales-->Presupuesto.
Activas la opcion de inicilizacion de presupuesto y indicas que deseas hacer si bloquear el documento,mensaje de advertencia o sin mensaje de advertencia, ademas seleccionas los documentos de pedidos, pedidos entradas de mercancía y finanzas.
Saludos,
Wuilmer Venegas
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hola Armando,
Luego de verificar como tienes tu escenarios de presupuesto, la única manera de utilizar la configuración estandar del sistema es utilizando solo el presupuesto inicial que tiene por defecto el sistema debido que el resto lo toma como pruebas.
El siguiente TN te puede dar una idea de como hacerlo:
En este caso no tiene mucho filtros solo busca en la tabla de presupuesto si el total excede de lo presupuestado, pero no valida ni escenario ni periodo.
IF (@transaction_type = 'A' OR @transaction_type = 'U') AND @object_type = '22'
BEGIN
declare @prueba nvarchar(max)
IF Exists(
SELECT T1.DocEntry from POR1 T0 INNER JOIN OPOR T1
ON T0.DocEntry = T1.DocEntry LEFT JOIN PDN1 T2 ON T2.BaseEntry = T0.DocEntry
INNER JOIN OBGT T3 on T0.AcctCode=T3.AcctCode
WHERE (T1.DocEntry =@list_of_cols_val_tab_del ) AND T0.LineTotal>T3.DebLTotal)
begin
SET @error = -3
SET @error_message ='La compra excede el Presupuesto'
end
end
saludos,
Wuilmer Venegas
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.