Ayuda SAP

Alerta cuando se modifique un campo especificado

hana
Etiquetas: #<Tag:0x00007fe4849320e0>
#1

Buenos días.

Alguien que haya hecho una validación para que alerte cuando se modifique un campo especifico. Yo realice un query pero me trae al modificar cualquier campo y solo quiero uno en especifico, en este caso es el modelo el que quiero que me genere la alerta.

El codigo es el sgte:

select DISTINCT t0."SWW" as Modelo_Modificado, SUBSTRING(T0."ItemCode",4,20) as Clave,  t2."FirmName" as "Marca",
t0."U_MT_PROY" as PROYECTO, t4."CardName" as Proveedor
from oitm t0
inner join aitm t1 on t0."ItemCode" = t1."ItemCode"
inner join omrc t2 on t0."FirmCode" = t2."FirmCode" 
full outer join ocrd t4 on t4."CardCode" = t0."CardCode"
where (t1."SWW" <> t0."SWW" ) and t0."U_MT_ESTATUS" = 'Aprobado' and t0."U_MT_PROY" <> '' and  t0."UpdateDate" = CURRENT_DATE

De antemano Gracias

1 me gusta

#2

te falta la condicional que busque en la ultima instancia del log:

and T1.loginstanc in (select max (loginstanc-1 ) from aitm where "ItemCoe"=T0."ItemCode")

0 me gusta

#3

buenos días,
probé tu query (yo no usé los campos de estatus y proyecto, pero lo demás sí) y obtuve el resultado esperado, es decir, valida cuando se modifica nada más el campo “sww”; no veo error en el código.

0 me gusta

#4

yo modifico otro campo que no sea modelo y me genera. que raro.!!

0 me gusta

#5

Por favor puedes probar con este?

select 
  DISTINCT t0."FirmCode", 
  t2."FirmName" as Modelo_Modificado, 
  SUBSTRING(T0."ItemCode", 4, 20) as Clave, 
  t2."FirmName" as "Marca", 
  t0."U_MT_PROY" as PROYECTO, 
  t4."CardName" as Proveedor --, T0."LogInstanc", T1."LogInstanc"--, T1."PrchseItem", T0."PrchseItem" --in (select max (T0."LogInstanc"-1 ), 
from 
  oitm t0 
  inner join aitm t1 on t0."ItemCode" = t1."ItemCode" --and T1."LogInstanc"=T0."LogInstanc"-1 AND T1."PrchseItem" != T0."PrchseItem"
  inner join omrc t2 on t0."FirmCode" = t2."FirmCode" full 
  outer join ocrd t4 on t4."CardCode" = t0."CardCode" 
where 
  (t1."FirmCode" <> t0."FirmCode") 
  and t0."U_MT_ESTATUS" = 'Aprobado' 
  and t0."U_MT_PROY" <> '' 
  and t0."UpdateDate" = CURRENT_DATE
0 me gusta

#6

hola de nuevo, lo probé y si funciona.
(adecuándolo a campos de mi base de datos que si se hayan modificado, pues firmcode no ha sufrido cambios)
Primero no me daba ningún registro, y al quitarle la condición del campo PrchseItem (porque en mis datos no aplicaría), ya salieron los registros de mis datos que cumplían las demás condiciones.

select 
  DISTINCT t0."firmcode", 
  t2."firmcode" as Modelo_Modificado, 
  SUBSTRING(T0."ItemCode", 4, 20) as Clave, 
  t2."FirmName" as "Marca", 
  t4."CardName" as Proveedor, 
  T0."LogInstanc", 
  T1."LogInstanc", 
  T1."PrchseItem", 
  T0."PrchseItem" 
from 
  oitm t0 
  inner join aitm t1 on t0."ItemCode" = t1."ItemCode" 
  inner join omrc t2 on t0."FirmCode" = t2."FirmCode" full 
  outer join ocrd t4 on t4."CardCode" = t0."CardCode" 
where 
  (t1."itemname" <> t0."itemname") 
  and t0."UpdateDate" = '[%1]' 
  and T1.loginstanc in (
    select 
      max (t8.loginstanc)-1 
    from 
      aitm t8 
    where 
      t8."ItemCode" = T0."ItemCode"
  )
2 me gusta

#7

Muchisimas Gracias!! Ahorita si funcionaa… :heart_eyes:

0 me gusta

cerrado #8
0 me gusta