Skip to Content
avatar image
Former Member

Bloquear usuario de departamento A solicite artículos departamento B.(HANA)

Estoy intentando bloquear a ciertos usuarios de departamento especifico no pueda hacer solicitud o requerimiento de artículos que pertenezcan a otras áreas :

Este es un posible código pero necesito mayor filtro entre áreas que no logro realizar.

EL CÓDIGO TIENE QUE SER EN HANA... GRACIAS POR SU AYUDA!

IF (:object_type = '1470000113' AND :transaction_type = 'A' OR :transaction_type = 'U') THEN SELECT "UserSign" INTO UserSign FROM OPRQ WHERE "DocEntry" = :list_of_cols_val_tab_del; SELECT "Department" INTO Dprtmn FROM OPRQ WHERE "DocEntry" = :list_of_cols_val_tab_del;

IF (UserSign = '1') THEN

SELECT COUNT(*) INTO numeroArt FROM OPRQ T1 INNER JOIN PRQ1 T2 ON T2."DocEntry" = T1."DocEntry" INNER JOIN OITM T3 ON T3."ItemCode" = T2."ItemCode" INNER JOIN OITB T4 ON T4."ItmsGrpCod" = T3."ItmsGrpCod" WHERE T4."ItmsGrpCod" not in ('101','102','105') AND T1."DocEntry" = :list_of_cols_val_tab_del; ---- VENTAS---

IF (:numeroArt > 0) THEN error := :list_of_cols_val_tab_del; error_message := '[SYP: Usuario de VENTAS no tiene autorización de req. de artículo seleccionado. Porfavor seleccione ArtÍculo relacionado a su Área.]'; END IF; else

IF (UserSign = '2' OR Dprtmn = '4') THEN

SELECT COUNT(*) INTO numeroArt FROM OPRQ T1 INNER JOIN PRQ1 T2 ON T2."DocEntry" = T1."DocEntry" INNER JOIN OITM T3 ON T3."ItemCode" = T2."ItemCode" INNER JOIN OITB T4 ON T4."ItmsGrpCod" = T3."ItmsGrpCod" WHERE T4."ItmsGrpCod" not in ('101','102','106','107') AND T1."DocEntry" = :list_of_cols_val_tab_del; ---- ALMACEN---

IF (:numeroArt > 0) THEN error := :list_of_cols_val_tab_del; error_message := '[SYP: Usuario de ALMAACEN no tiene autorización de req. de artículo seleccionado. Porfavor seleccione ArtÍculo relacionado a su Área.]'; END IF; else

IF (UserSign = '3' OR Dprtmn = '3') THEN

SELECT COUNT(*) INTO numeroArt FROM OPRQ T1 INNER JOIN PRQ1 T2 ON T2."DocEntry" = T1."DocEntry" INNER JOIN OITM T3 ON T3."ItemCode" = T2."ItemCode" INNER JOIN OITB T4 ON T4."ItmsGrpCod" = T3."ItmsGrpCod" WHERE T4."ItmsGrpCod" not in ('100','102','106') AND T1."DocEntry" = :list_of_cols_val_tab_del; ---- ADMINISTRACION---

IF (:numeroArt > 0) THEN error := :list_of_cols_val_tab_del; error_message := '[SYP: Usuario de ADMINISTRACION no tiene autorización de req. de artículo seleccionado. Porfavor seleccione ArtÍculo relacionado a su Área.]'; END IF; else

IF (UserSign = '7' OR Dprtmn = '5') THEN

SELECT COUNT(*) INTO numeroArt FROM OPRQ T1 INNER JOIN PRQ1 T2 ON T2."DocEntry" = T1."DocEntry" INNER JOIN OITM T3 ON T3."ItemCode" = T2."ItemCode" INNER JOIN OITB T4 ON T4."ItmsGrpCod" = T3."ItmsGrpCod" WHERE T4."ItmsGrpCod" not in ('100','102','106') AND T1."DocEntry" = :list_of_cols_val_tab_del; ---- CONTABILIDAD---

IF (:numeroArt > 0) THEN error := :list_of_cols_val_tab_del; error_message := '[SYP: Usuario de CONTABILIDAD no tiene autorización de req. de artículo seleccionado. Porfavor seleccione ArtÍculo relacionado a su Área.]'; END IF; END IF; END IF; END IF; END IF; END IF;

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

0 Answers