on 07-09-2012 6:23 PM
hola a todos
alguien me podria ayudar
necesito que en la orden de fabricacion una vez emitida y aunque este en planificada
o liberada un usuario no pueda modificar la cantidad planificada
y si pueda entregar componentes
gracias de antemano por tu ayuda
envio on tn que tengo ahorita para las ordenes
if (select COUNT(*)
from AWOR t1 where t1.DocEntry = @DocEntry)>0 begin
select @statushist=t1.status, @PlannedQtyHist = t1.PlannedQty
from AWOR t1
where t1.DocEntry = @DocEntry
and t1.LineDirty = (select top 1 (t2.LineDirty) from AWOR t2
where t2.DocEntry = @DocEntry
order by t2.LineDirty desc)
if @Estatus = 'P' AND @statushist ='R'
BEGIN
Set @error = 5
Set @error_message = 'OPR - IMPOSIBLE MODIFICAR STATUS DE ORDEN-5'
End
if (@Estatus ='P' OR @Estatus ='R') and @PlannedQtyHist <>@PlannedQty AND
BEGIN
Set @error = 4
Set @error_message = 'OPR - IMPOSIBLE MODIFICAR CANTIDAD EN ORDEN LIBERADA-4'
End
end
Acabo de hacer una comparacion entre 8.81 y 8.82 y en la ultima no es necesario hacer la tabla TEMP porque el problema del log de modificaciones esta solucionado
Tu TN solo debe quedar así
IF @object_type=202 AND @transaction_type='U' AND (SELECT T0.UserSign2 FROM OWOR T0 WHERE T0.DocEntry=@list_of_cols_val_tab_del)IN (Usuario a bloquear)
BEGIN
DECLARE
@log SMALLINT,
@CantP NUMERIC(19,6),
@CantH NUMERIC(19,6)
SET @log=(SELECT MAX(Y.LogInstanc) FROM AWOR Y WHERE Y.DocEntry=@list_of_cols_val_tab_del)
SET @CantP=(SELECT A.PlannedQty FROM OWOR A WHERE A.DocEntry=@list_of_cols_val_tab_del)
SET @CantH=(SELECT B.PlannedQty FROM AWOR B WHERE B.DocEntry=@list_of_cols_val_tab_del AND B.LogInstanc=@log)
IF (SELECT COUNT(*) FROM AWO1 Z WHERE Z.DocEntry=@list_of_cols_val_tab_del)!=''
BEGIN
IF
(SELECT SUM(T0.PlannedQty)+@CantP
FROM WOR1 T0
WHERE T0.DocEntry=@list_of_cols_val_tab_del)
!=
(SELECT SUM(T0.PlannedQty)+@CantH
FROM AWO1 T0
WHERE T0.DocEntry=@list_of_cols_val_tab_del AND T0.LogInstanc=@log)
BEGIN
SELECT @error=-202, @error_message='-202 NAT, No puede modificar las cantidades planificadas'
END
END
END
IF @object_type=202 AND @transaction_type='U' AND (SELECT T0.UserSign2 FROM OWOR T0 WHERE T0.DocEntry=@list_of_cols_val_tab_del)IN (Usuario a bloquear)
BEGIN
IF (SELECT A.[Status] FROM OWOR A WHERE A.DocEntry=@list_of_cols_val_tab_del)='P'
BEGIN
DECLARE
@StatO CHAR(1),
@StatH CHAR(1)
SET @StatO = (SELECT A.[Status] FROM OWOR A WHERE A.DocEntry=@list_of_cols_val_tab_del)
SET @StatH = (SELECT V.[Status] FROM AWOR V WHERE V.DocEntry=@list_of_cols_val_tab_del AND V.LogInstanc=@log)
IF @StatH!=@StatO
BEGIN
SELECT @error=-204, @error_message='-202 STA, No puede cambiar el estado de liberado a planificado'
END
END
END
Saludos
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
¿Que versión de SAP utilizas?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
107 | |
12 | |
11 | |
6 | |
5 | |
4 | |
4 | |
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.