cancel
Showing results for 
Search instead for 
Did you mean: 

Bloqueo Orden de Compra al sobre pasar presupuesto

armandomuozsule
Active Participant
0 Kudos

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

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

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

Former Member
0 Kudos

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

Answers (0)