Creacion de TN en modulo de produccion en SAP HANA

Ayuda por favor para la creacion de estos 3 TN
1- Que una orden de producción “Liberada” no pueda volver al estado de “Planificada”.
2- Que la cantidad de los “Recibos de producción” no excedan la “cantidad planificada”
3- Una vez que una Orden de fabricación sea liberada, no permita que se modifique el valor de “cantidad planificada”.

Hola, me parece que en el foro no se contribuye con soluciones a la medida, personalizadas o por encargo. Si está dispuesto a recibir ejemplos y trabajarlos a su consideración le puedo compartir algunas ideas.

IF :object_type = '202' AND :transaction_type = 'U' THEN
    DECLARE @Status NVARCHAR(20);
    SELECT @Status = Status FROM OWOR WHERE DocEntry = :list_of_cols_val_tab_del;
    IF @Status = 'P' AND (SELECT Status FROM OWOR WHERE DocEntry = :list_of_cols_val_tab_del) = 'L' THEN
        SELECT @error = 1, @error_message = 'No se puede cambiar una orden de producción liberada a planificada.';
    END IF;
END IF;

IF :object_type = '202' AND :transaction_type = 'A' THEN
    DECLARE @PlannedQty DECIMAL(19,6);
    DECLARE @ReceiptQty DECIMAL(19,6);
    SELECT @PlannedQty = PlannedQty FROM OWOR WHERE DocEntry = :list_of_cols_val_tab_del;
    SELECT @ReceiptQty = SUM(Quantity) FROM IGE1 WHERE BaseEntry = :list_of_cols_val_tab_del AND BaseType = '202';
    IF @ReceiptQty > @PlannedQty THEN
        SELECT @error = 1, @error_message = 'La cantidad de recibos de producción no puede exceder la cantidad planificada.';
    END IF;
END IF;

IF :object_type = '202' AND :transaction_type = 'U' THEN
    DECLARE @OldStatus NVARCHAR(20);
    DECLARE @NewStatus NVARCHAR(20);
    DECLARE @OldPlannedQty DECIMAL(19,6);
    DECLARE @NewPlannedQty DECIMAL(19,6);
    SELECT @OldStatus = Status, @OldPlannedQty = PlannedQty FROM OWOR WHERE DocEntry = :list_of_cols_val_tab_del;
    SELECT @NewStatus = Status, @NewPlannedQty = PlannedQty FROM INSERTED WHERE DocEntry = :list_of_cols_val_tab_del;
    IF @OldStatus = 'L' AND @NewPlannedQty <> @OldPlannedQty THEN
        SELECT @error = 1, @error_message = 'No se puede modificar la cantidad planificada de una orden de fabricación liberada.';
    END IF;
END IF;

Recuerde, solo son sugerencias.

Saludos.

Buenas tardes muchas gracias

Se solucionó esto ? Si es así, dinos en cuál mensaje ya podemos dar por cerrado tu tema marcando la respuesta como :white_check_mark: