Evitar que eliminen Anexos a Orden de compra Aprov

Estimados,

Queria buscar la manera de evitar que usuarios puedan eliminar el anexo de una orden de compra. ya que hoy realizamos la prueba y se presta a que el usuario modifique el anexo. evitar que eliminen el anexo de la orden de compra autorizada, tambien puede pasar el caso de que agreguen anexos.Atento a sus comentarios

Saludos

Armando Parejo

mmm podrias probar con un transaction, podria ser que solo se ejecute cuando se actualice esa parte

1 me gusta

el código para evitar que modifiquen una linea, si me puedes orientar

no lo tengo realizado, pero se me ocurrio que esa podria ser una manera de bloquear que actualicen los anexos una vez agregados

1 me gusta

Los adjuntos estan en la tabla ATC1, con eso deberias usar el transaction notification para detectar cambios y crear el bloqueo.

Esta es la forma de relacionar OPOR con ATC1:

FROM OPOR a
INNER JOIN  ATC1 a1 on a.AtcEntry =a1.AbsEntry

Saludos,

1 me gusta

Gracias Willy, lo que no se es como hacer la consulta para que no modifique el anexo, ejemplo que no lo borre de la lista de anexos y lo cambie por otro, Saludos

Intenta de esta manera:

IF @transaction_type =‘U’ AND @object_type = ‘22’
Begin

Select T1.trgtPath from OPOR T0
INNER JOIN  ATC1 T1 on T0.AtcEntry =T1.AbsEntry  where T1.trgtPath is not null  and DocEntry=@list_of_cols_val_tab_del
Begin

set @error=-2
set @error_message='No Puede Eliminar el Anexo'
End

America,

mil gracias lo pruebo y te respondo

Saludos

Tengo Hana. lo hice de esta manera pero me falta algo por que no funciona. les copio el código para quien pueda ayudar.Saludos
BEGIN

DECLARE ANEXO VarChar(20);

ANEXO  :='X';

IF :ObjType=‘1470000113’ OR
:ObjType=‘112’ OR
:ObjType='22’THEN

---------DIMENSION 1


SELECT (IFNULL((
            SELECT TOP 1 IFNULL(T1."trgtPath",' ')
				FROM OPOR T0 INNER JOIN ATC1 T1 ON T0."AtcEntry"=T1."AbsEntry"
							WHERE   T0."DocEntry"=:ObjKey 
				
	    ),'X'))
INTO ANEXO FROM DUMMY;
ANEXO  := IFNULL(:ANEXO,'X');

END IF;

IF :ANEXO = ‘’
THEN

TN_Error := IFNULL(:NumError,1000);
SELECT CASE WHEN :ANEXO= ‘’ THEN ‘NO PUEDE ELIMINAR ANEXO’

                         ELSE :MsjError END INTO TN_Message FROM DUMMY;

END IF;

1 me gusta

Este tema se cerró automáticamente 91 días después del último post. No se permiten nuevas respuestas.