Comprobado en V7R2 y también son las mismas
Autoriz ------------Datos-------------
Usuario Grupo objeto Lect Añadir Actu Supr Ejec
*PUBLIC USER DEF X
QSYS *ALL X X X X X
El 26 de agosto de 2016, 11:18, XEM foro i5 <[email protected]>
escribió:
> Hola Javier,
>
> He comprobado en una V7R1 y son las mismas autorizaciones.
>
> Saludos
>
> Xavier Estrems
>
>
>
> *De:* [email protected] [mailto:
> [email protected]] *En nombre de *Javier Mora
> *Enviado el:* viernes, 26 de agosto de 2016 10:59
> *Para:* 'forum.help400' <[email protected]>
> *Asunto:* Error de ejecución en procedimiento almacenado
> GET_VIEW_DEPENDENTS
>
>
>
> Hola a tod@s:
>
>
>
> a ver si me podéis echar un cable.
>
>
>
> He encontrado en IT Jungle un procedimiento almacenado que podría ser útil
> (para todos). Es algo parecido a un DSPDBR pero es capaz de encontrar las
> vistas SQL que están en función de otras vistas y, así, recursivamente
> hasta el final.
>
>
>
> Aquí está el código:
>
>
>
> CREATE PROCEDURE
>
> QGPL.GET_VIEW_DEPENDENTS (
>
> IN DBNAME CHAR(10),
>
> IN DBLIBRARY CHAR(10)
>
> )
>
> DYNAMIC RESULT SETS 1
>
> LANGUAGE SQL
>
> SPECIFIC
>
> GET_VIEW_DEPENDENTS
>
> NOT DETERMINISTIC
>
> READS SQL DATA
>
> CALLED ON NULL INPUT
>
> PROGRAM TYPE SUB
>
> SET OPTION ALWBLK = *ALLREAD, ALWCPYDTA = *OPTIMIZE,
>
> COMMIT = *NONE, CLOSQLCSR = *ENDMOD,
>
> DECRESULT = (31, 31, 00), DFTRDBCOL = *NONE,
>
> DYNDFTCOL = *NO, DYNUSRPRF = *USER, SRTSEQ = *HEX
>
> BEGIN
>
> DECLARE C1 CURSOR FOR
>
> WITH RECURSIVE
>
> DEPENDENTS ( CALLLEVEL, DBFFIL, DBFLIB, DBFFDP, DBFLDP )
>
> AS (
>
> SELECT
>
> 1 AS CALLLEVEL, DBFFIL, DBFLIB, DBFFDP DBFLDP
>
> FROM
>
> QADBFDEP
>
> WHERE
>
> DBFFIL = DBNAME AND DBFLIB = DBLIBRARY
>
> UNION ALL
>
> SELECT
>
> CALLLEVEL + 1 AS CALLLEVEL,
>
> PR.DBFFIL , PR.DBFLIB , PR.DBFFDP , PR.DBFLDP
>
> FROM
>
> DEPENDENTS PH
>
> INNER JOIN
>
> QADBFDEP PR ON ( PH.DBFFDP, PH.DBFLDP ) = ( PR.DBFFIL, PR.DBFLIB )
>
> )
>
> SELECT DISTINCT
>
> DBXLFI, DBXTXT, DBFFDP, DBFLDP
>
> FROM
>
> DEPENDENTS
>
> INNER JOIN
>
> QADBXREF ON ( DBFFDP, DBFLDP ) = ( DBXFIL, DBXLIB )
>
> ORDER BY
>
> DBFFDP, DBFLDP
>
> FOR READ ONLY;
>
>
>
> OPEN C1;
>
>
>
> SET RESULT SETS CURSOR C1;
>
> END;
>
>
>
> La he compilado como QSECOFR, aunque creo que no tiene nada que ver con el
> error que encuentro, en la biblioteca QGPL. Sin errores. Cuando la ejecuto
> como QSECOFR funciona sin problemas, pero cuando lo hago con mi usuario me
> aparece el siguiente error:
>
>
>
> > CALL QGPL.GET_VIEW_DEPENDENTS ('ARTICU', 'TESTER')
>
>
>
> Estado de SQL: 42501
>
> Código de proveedor: -551
>
> Mensaje: [SQL0551] No tiene autorización para el objeto QADBXREF de
> QSYS00144 tipo *FILE. Causa . . . . . : Se intentó una operación sobre el
> objeto QADBXREF en QSYS00144 de tipo *FILE. Esta operación no puede
> realizarse sin la autorización necesaria. Recuperación . . . : Obtenga la
> autorización necesaria del responsable de seguridad, del propietario del
> objeto o de un usuario con autorización sobre la función QIBM_DB_SECADM. Si
> no tiene autorización sobre un archivo lógico, obtenga la autorización
> sobre los archivos de base del archivo lógico. Repita la operación.
>
>
>
> El proceso ha finalizado porque la sentencia resaltada no se ha completado
> satisfactoriamente
>
>
>
> El objeto QADBXREF de QSYS00144 tiene las siguientes autorizaciones:
>
>
>
> Autoriz -----------Objeto------------
>
> Usuario Grupo objeto Opr Ges Exist Alterar Ref
>
> *PUBLIC USER DEF
>
> QSYS *ALL X X X X X
>
>
>
> Autoriz ------------Datos-------------
>
> Usuario Grupo objeto Lect Adic Actu Supr Ejecut
>
> *PUBLIC USER DEF X
>
> QSYS *ALL X X X X X
>
>
>
> Se aprecia que tengo autorización de lectura pero no la operativa, que
> permite utilizar el objeto. He intentado cambiar la autorización de *PUBLIC
> pero no me ha dejado el sistema porque el “trabajo de sistema” QDBX144XR lo
> tiene bloqueado.
>
>
>
> Utilizo la versión 7.2 con el nievl de PTFs a junio de este año y tengo un
> entorno con *SYSBAS y una ASP independiente (la 144).
>
>
>
> Me gustaría saber si algún alma caritativa puede comprobar qué
> autorizaciones tiene el objeto QSYS/QADBXREF *FILE tanto en versión 7.2 o
> en cualquier otra.
>
>
>
> Un saludo y gracias,
>
>
>
>
>
> Javier Mora
>
> ____________________________________________________
> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
> Forum.Help400 © Publicaciones Help400, S.L.
>
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.