index

Package gb_fgac_user_rule

This package provides the Common Business interface for FGAC USER RULE API, gb_fgac_user_rule.
 
It supports the FGAC User Access to Predicate Rules Table (GORFGUS).
The FGAC User Profile Access Rules assign individual users and their privileges (Select, Insert, Update, Delete) to each domain or predicate combination for a FGAC VBS Group Rule.
Users assigned to a rule automatically inherit the characteristics of the predicates of the profile.
If a specific user has access restrictions it is not necessary to include the user in a business profile with access restrictions for the same predicate rule for the FGAC Rule Group.
 
If a user is also associated with one or more business profiles that have different access privileges for the same domain or predicate rule within a Group Rule, the restrictions associated with any one of the business profiles, in addition to their user-specific restrictions, will always be applied in FGAC processing.  For example, a user will have their insert privilege restricted if they belong to a business profile that has insert restrictions, even if their user access does not have insert restrictions.


Program units
f_api_version   Returns the API version number.
f_exists   Checks to see if a record exists.
f_isequal   Compares two records for equality.
f_query_all   Selects all records for the entity.
f_query_one   Selects one record using the key.
f_query_by_rowid   Selects one record using the ROWID.
f_query_one_lock   Selects one record and locks it.
p_create   Creates a record.
p_delete   Deletes a record.
p_lock   Locks a record.
p_update   Updates a record.

Types
fgac_user_rule_rec   Entity record type.
fgac_user_rule_ref   Entity cursor variable type.
fgac_user_rule_tab   Entity table type.

Constants
M_ENTITY_NAME   Business Entity name.


M_ENTITY_NAME

M_ENTITY_NAME    CONSTANT VARCHAR2(14) := 'FGAC_USER_RULE';

Business Entity name.


fgac_user_rule_rec

TYPE fgac_user_rule_rec IS RECORD (
   r_fgac_code               gorfgus.gorfgus_fgac_code%TYPE,
   r_fdmn_code               gorfgus.gorfgus_fdmn_code%TYPE,
   r_fprd_seqno              gorfgus.gorfgus_fprd_seqno%TYPE,
   r_fgac_user_id            gorfgus.gorfgus_fgac_user_id%TYPE,
   r_select_ind              gorfgus.gorfgus_select_ind%TYPE,
   r_insert_ind              gorfgus.gorfgus_insert_ind%TYPE,
   r_update_ind              gorfgus.gorfgus_update_ind%TYPE,
   r_delete_ind              gorfgus.gorfgus_delete_ind%TYPE,
   r_user_id                 gorfgus.gorfgus_user_id%TYPE,
   r_internal_record_id      gb_common.internal_record_id_type);

Entity record type.


fgac_user_rule_ref

TYPE fgac_user_rule_ref IS REF CURSOR RETURN fgac_user_rule_rec;

Entity cursor variable type.


fgac_user_rule_tab

TYPE fgac_user_rule_tab IS TABLE OF fgac_user_rule_rec INDEX BY BINARY_INTEGER;

Entity table type.


f_api_version

FUNCTION f_api_version RETURN PLS_INTEGER

Returns the API version number.

Returns
Version of the API signature. Changes only when the signature changes.


f_exists

FUNCTION f_exists(p_fgac_code    gorfgus.gorfgus_fgac_code%TYPE,
                  p_fdmn_code    gorfgus.gorfgus_fdmn_code%TYPE,
                  p_fprd_seqno   gorfgus.gorfgus_fprd_seqno%TYPE,
                  p_fgac_user_id gorfgus.gorfgus_fgac_user_id%TYPE DEFAULT NULL,
                  p_rowid        VARCHAR2 DEFAULT NULL) RETURN VARCHAR2

Checks to see if a record exists.

Parameters
p_fgac_code   FGAC group code.  VARCHAR2(30)  Required Key.
p_fdmn_code   FGAC domain code.  VARCHAR2(30)  Required Key.
p_fprd_seqno   One-up number per predicate and domain combination to allow multiple predicates per domain.  NUMBER(4)  Required Key.
p_fgac_user_id   Banner ID of the user who is being assigned to the FGAC group and domain.  VARCHAR2(30).
p_rowid   Database ROWID of the record to be selected.  VARCHAR2(18).

Returns
Y if found, otherwise N.


f_isequal

FUNCTION f_isequal(rec_one fgac_user_rule_rec,
                   rec_two fgac_user_rule_rec) RETURN VARCHAR2

Compares two records for equality.
Tests each field of rec_one against the corresponding field of rec_two.
Two null values are considered equal.

Parameters
rec_one   The first record to compare. Type fgac_user_rule_rec Required.
rec_two   The second record to compare. Type fgac_user_rule_rec Required.

Returns
Y if all values in records are equal, otherwise N. Nulls match Nulls.


f_query_all

FUNCTION f_query_all(p_fgac_code    gorfgus.gorfgus_fgac_code%TYPE,
                     p_fdmn_code    gorfgus.gorfgus_fdmn_code%TYPE,
                     p_fprd_seqno   gorfgus.gorfgus_fprd_seqno%TYPE,
                     p_fgac_user_id gorfgus.gorfgus_fgac_user_id%TYPE DEFAULT NULL)
  RETURN fgac_user_rule_ref

Selects all records for the entity.

Parameters
p_fgac_code   FGAC group code.  VARCHAR2(30)  Required Key.
p_fdmn_code   FGAC domain code.  VARCHAR2(30)  Required Key.
p_fprd_seqno   One-up number per predicate and domain combination to allow multiple predicates per domain.  NUMBER(4)  Required Key.
p_fgac_user_id   Banner ID of the user who is being assigned to the FGAC group and domain. VARCHAR2(30).

Returns
A cursor variable that will fetch the set of records.


f_query_one

FUNCTION f_query_one(p_fgac_code    gorfgus.gorfgus_fgac_code%TYPE,
                     p_fdmn_code    gorfgus.gorfgus_fdmn_code%TYPE,
                     p_fprd_seqno   gorfgus.gorfgus_fprd_seqno%TYPE,
                     p_fgac_user_id gorfgus.gorfgus_fgac_user_id%TYPE)
  RETURN fgac_user_rule_ref

Selects one record using the key.

Parameters
p_fgac_code   FGAC group code.  VARCHAR2(30)  Required Key.
p_fdmn_code   FGAC domain code.  VARCHAR2(30)  Required Key.
p_fprd_seqno   One-up number per predicate and domain combination to allow multiple predicates per domain.  NUMBER(4)  Required Key.
p_fgac_user_id   Banner ID of the user who is being assigned to the FGAC group and domain.  VARCHAR2(30) Required Key.

Returns
A cursor variable that will fetch exactly one record.


f_query_by_rowid

FUNCTION f_query_by_rowid(p_rowid VARCHAR2) RETURN fgac_user_rule_ref

Selects one record using the ROWID.

Parameters
p_rowid   Database ROWID of the record to be selected.   VARCHAR2(18) Required Key.

Returns
A cursor variable that will fetch exactly one record.


f_query_one_lock

FUNCTION f_query_one_lock(p_fgac_code    gorfgus.gorfgus_fgac_code%TYPE,
                          p_fdmn_code    gorfgus.gorfgus_fdmn_code%TYPE,
                          p_fprd_seqno   gorfgus.gorfgus_fprd_seqno%TYPE,
                          p_fgac_user_id gorfgus.gorfgus_fgac_user_id%TYPE,
                          p_rowid        VARCHAR2 DEFAULT NULL)
  RETURN fgac_user_rule_ref

Selects one record and locks it.

Parameters
p_fgac_code   FGAC group code.  VARCHAR2(30)  Required Key.
p_fdmn_code   FGAC domain code.  VARCHAR2(30)  Required Key.
p_fprd_seqno   One-up number per predicate and domain combination to allow multiple predicates per domain.  NUMBER(4)  Required Key.
p_fgac_user_id   Banner ID of the user who is being assigned to the FGAC group and domain.  VARCHAR2(30) Required Key.
p_rowid   Database ROWID of the record to be selected.  VARCHAR2(18).

Returns
A cursor variable for one record, locking the record.


p_create

PROCEDURE p_create(p_fgac_code    gorfgus.gorfgus_fgac_code%TYPE,
                   p_fdmn_code    gorfgus.gorfgus_fdmn_code%TYPE,
                   p_fprd_seqno   gorfgus.gorfgus_fprd_seqno%TYPE,
                   p_fgac_user_id gorfgus.gorfgus_fgac_user_id%TYPE,
                   p_select_ind   gorfgus.gorfgus_select_ind%TYPE DEFAULT 'N',
                   p_insert_ind   gorfgus.gorfgus_insert_ind%TYPE DEFAULT 'N',
                   p_update_ind   gorfgus.gorfgus_update_ind%TYPE DEFAULT 'N',
                   p_delete_ind   gorfgus.gorfgus_delete_ind%TYPE DEFAULT 'N',
                   p_user_id      gorfgus.gorfgus_user_id%TYPE DEFAULT gb_common.f_sct_user,
                   p_rowid_out    OUT VARCHAR2)

Creates a record.
Enter Required Key parameters to assign individual users and their privileges (Select, Insert, Update, Delete) to each domain or predicate for a FGAC VBS Group Rule.
A parent record must exist in table GORFPRD.

Parameters
p_fgac_code   FGAC group code.  VARCHAR2(30)  Required Key.
p_fdmn_code   FGAC domain code.  VARCHAR2(30)  Required Key.
p_fprd_seqno   One-up number per predicate and domain combination to allow multiple predicates per domain.  NUMBER(4)  Required Key.
p_fgac_user_id   Banner ID of the user who is being assigned to the FGAC group and domain.  VARCHAR2(30) Required Key.
p_select_ind   Indicates if the FGAC user has select access.  VARCHAR2(1).
p_insert_ind   Indicates if the FGAC user has insert access.  VARCHAR2(1).
p_update_ind   Indicates if the FGAC user has update access.  VARCHAR2(1).
p_delete_ind   Indicates if the FGAC user has delete access.  VARCHAR2(1).
p_user_id   Oracle ID of the user who created or last updated the record.  VARCHAR2(30).
p_rowid_out   Database ROWID of the record being created.  VARCHAR2(18).


p_delete

PROCEDURE p_delete(p_fgac_code    gorfgus.gorfgus_fgac_code%TYPE,
                   p_fdmn_code    gorfgus.gorfgus_fdmn_code%TYPE,
                   p_fprd_seqno   gorfgus.gorfgus_fprd_seqno%TYPE,
                   p_fgac_user_id gorfgus.gorfgus_fgac_user_id%TYPE,
                   p_rowid        VARCHAR2 DEFAULT NULL)

Deletes a record.  The record must exist in order to be deleted.

Parameters
p_fgac_code   FGAC group code.  VARCHAR2(30)  Required Key.
p_fdmn_code   FGAC domain code.  VARCHAR2(30)  Required Key.
p_fprd_seqno   One-up number per predicate and domain combination to allow multiple predicates per domain.  NUMBER(4)  Required Key.
p_fgac_user_id   Banner ID of the user who is being assigned to the FGAC group and domain.  VARCHAR2(30) Required Key.
p_rowid   Database ROWID of the record to be deleted.  VARCHAR2(18).


p_lock

PROCEDURE p_lock(p_fgac_code    gorfgus.gorfgus_fgac_code%TYPE,
                 p_fdmn_code    gorfgus.gorfgus_fdmn_code%TYPE,
                 p_fprd_seqno   gorfgus.gorfgus_fprd_seqno%TYPE,
                 p_fgac_user_id gorfgus.gorfgus_fgac_user_id%TYPE,
                 p_rowid_inout  IN OUT VARCHAR2)

Locks a record.
If the ROWID is not passed in, the record is located using the key values.
The ROWID of the locked row is passed back as p_rowid_inout.

Parameters
p_fgac_code   FGAC group code.  VARCHAR2(30)  Required Key.
p_fdmn_code   FGAC domain code.  VARCHAR2(30)  Required Key.
p_fprd_seqno   One-up number per predicate and domain combination to allow multiple predicates per domain.  NUMBER(4)  Required Key.
p_fgac_user_id   Banner ID of the user who is being assigned to the FGAC group and domain.  VARCHAR2(30)  Required Key.
p_rowid_inout   Database ROWID of the record to be locked.  VARCHAR2(18) Required.


p_update

PROCEDURE p_update(p_fgac_code    gorfgus.gorfgus_fgac_code%TYPE,
                   p_fdmn_code    gorfgus.gorfgus_fdmn_code%TYPE,
                   p_fprd_seqno   gorfgus.gorfgus_fprd_seqno%TYPE,
                   p_fgac_user_id gorfgus.gorfgus_fgac_user_id%TYPE,
                   p_select_ind   gorfgus.gorfgus_select_ind%TYPE DEFAULT dml_common.f_unspecified_string,
                   p_insert_ind   gorfgus.gorfgus_insert_ind%TYPE DEFAULT dml_common.f_unspecified_string,
                   p_update_ind   gorfgus.gorfgus_update_ind%TYPE DEFAULT dml_common.f_unspecified_string,
                   p_delete_ind   gorfgus.gorfgus_delete_ind%TYPE DEFAULT dml_common.f_unspecified_string,
                   p_user_id      gorfgus.gorfgus_user_id%TYPE DEFAULT gb_common.f_sct_user,
                   p_rowid        VARCHAR2 DEFAULT NULL)

Updates a record.
Required Keys may not be updated.  Indicators and user ID may be updated.

Parameters
p_fgac_code   FGAC group code.  VARCHAR2(30)  Required Key.
p_fdmn_code   FGAC domain code.  VARCHAR2(30)  Required Key.
p_fprd_seqno   One-up number per predicate and domain combination to allow multiple predicates per domain.  NUMBER(4)  Required Key.
p_fgac_user_id   Banner ID of the user who is being assigned to the FGAC group and domain.  VARCHAR2(30)  Required Key.
p_select_ind   Indicates if the FGAC user has select access.  VARCHAR2(1).
p_insert_ind   Indicates if the FGAC user has insert access.  VARCHAR2(1).
p_update_ind   Indicates if the FGAC user has update access.  VARCHAR2(1).
p_delete_ind   Indicates if the FGAC user has delete access.  VARCHAR2(1).
p_user_id   The Oracle ID of the user who created or last updated the record.  VARCHAR2(30).
p_rowid   Database ROWID of the record to be updated.  VARCHAR2(18).