index

Package gb_address

Common Business interface for the ADDRESS API (gb_address).
 
A person or company may have many addresses of different types, and even multiple addresses of the same type differentiated by a sequence number.
The status indicator provides a way to disable an address without deleting it.
Active addresses have a status indicator of null, inactive ones are set to 'I'.
Different combinations of fields are mandatory depending on what else is defined. For instance, if a ZIP code is passed in, State and Nation parameters are required.

There are two types of processing rules implemented in this API.
The default processing rules require that the time period defined by the start and end dates does not overlap the time period of any other active address of the same type for a given person. This is the default. Null start or end dates are considered the beginning and end of time respectively.
In addition,  a person or company may have multiple inactive addresses of the same type with overlapping dates.

The p_seqno INOUT returns the generated sequence number when a new address is created. This must be passed in as NULL.

The other type of processing rule is enabled by the p_finance_rules parameter. If this is Y, then the API does no date checking at all.
It allows a person or company to have multiple, active address of the same type, regardless of dates. Note that this can lead to unusual behavior if a person has addresses that were created using both sets of rules.
In addition, the p_finance_rules parameter allows the calling application to specify a value for p_seqno_inout on create, rather than automatically generating it.

See special notes in p_update for updating the status indicator of ADDRESS.


Program units
f_api_version   Returns API version number.
f_exists   Checks to see if record exists.
f_exists_active   Checks to see if an active record exists between two dates.
f_isequal   Compares two records for equality.
f_get_status   Returns the status code for an address.
f_get_valid_description   Returns the address description of the address type for a given PIDM.
f_query_all   Select all records for the entity.
f_query_by_rowid   Selects one record using the ROWID.
f_query_lock   Selects one address record and locks it.
f_query_one   Selects one record.
p_lock   Locks a record.
p_delete   Deletes an address record.
p_create   Creates an address record.
p_update   Updates a record.

Types
address_rec   Entity record type
address_ref   Entity cursor variable type
address_tab   Entity table type

Constants
M_ENTITY_NAME   Business Entity name


M_ENTITY_NAME

M_ENTITY_NAME   CONSTANT VARCHAR2(7) := 'ADDRESS';

Business Entity name


address_rec

TYPE address_rec IS RECORD(
  r_pidm                 spraddr.spraddr_pidm%TYPE,
  r_atyp_code            spraddr.spraddr_atyp_code%TYPE,
  r_seqno                spraddr.spraddr_seqno%TYPE,
  r_from_date            spraddr.spraddr_from_date%TYPE,
  r_to_date              spraddr.spraddr_to_date%TYPE,
  r_street_line1         spraddr.spraddr_street_line1%TYPE,
  r_street_line2         spraddr.spraddr_street_line2%TYPE,
  r_street_line3         spraddr.spraddr_street_line3%TYPE,
  r_city                 spraddr.spraddr_city%TYPE,
  r_stat_code            spraddr.spraddr_stat_code%TYPE,
  r_zip                  spraddr.spraddr_zip%TYPE,
  r_cnty_code            spraddr.spraddr_cnty_code%TYPE,
  r_natn_code            spraddr.spraddr_natn_code%TYPE,
  r_status_ind           spraddr.spraddr_status_ind%TYPE,
  r_user                 spraddr.spraddr_user%TYPE,
  r_asrc_code            spraddr.spraddr_asrc_code%TYPE,
  r_delivery_point       spraddr.spraddr_delivery_point%TYPE,
  r_correction_digit     spraddr.spraddr_correction_digit%TYPE,
  r_carrier_route        spraddr.spraddr_carrier_route%TYPE,
  r_gst_tax_id           spraddr.spraddr_gst_tax_id%TYPE,
  r_reviewed_ind         spraddr.spraddr_reviewed_ind%TYPE,
  r_reviewed_user        spraddr.spraddr_reviewed_user%TYPE,
  r_data_origin          spraddr.spraddr_data_origin%TYPE,
  r_ctry_code_phone      spraddr.spraddr_ctry_code_phone%TYPE,
  r_house_number         spraddr.spraddr_house_number%TYPE,
  r_street_line4         spraddr.spraddr_street_line4%TYPE,
  r_internal_record_id   gb_common.internal_record_id_type);

Entity record type


address_ref

TYPE address_ref IS REF CURSOR
  RETURN address_rec;

Entity cursor variable type


address_tab

TYPE address_tab IS TABLE OF address_rec
  INDEX BY BINARY_INTEGER;

Entity table type


f_api_version

FUNCTION f_api_version RETURN PLS_INTEGER

Returns API version number.

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


f_exists

FUNCTION f_exists(p_pidm       spraddr.spraddr_pidm%TYPE,
                  p_atyp_code  spraddr.spraddr_atyp_code%TYPE,
                  p_seqno      spraddr.spraddr_seqno%TYPE DEFAULT dml_common.f_unspecified_number,
                  p_status_ind spraddr.spraddr_status_ind%TYPE DEFAULT dml_common.f_unspecified_string,
                  p_rowid      gb_common.internal_record_id_type DEFAULT NULL)
  RETURN VARCHAR2

Checks to see if record exists.
 
If p_seqno is not provided, it matches any address for the PIDM and address type.
If p_status_ind is not provided, it matches the current address for the PIDM.
type and sequence, which is the one with status = NULL.
Passing NULL or omitting completely either p_seqno or p_status_ind will logically exclude them from the select. This allows you to test for the existence of a PIDM and address type regardless of seuqnce number or status.

Parameters
p_pidm   Internal identification number of the person. NUMBER(8) Required Key
p_atyp_code   Type of address associated with the person. VARCHAR2(2) Required Key
p_seqno   Assigns an internal sequence number to each address type associated with the person. NUMBER(2) Key
p_status_ind   Identifies if the address information is inactive. Valid values are NULL-Active,  I - Inactive.
p_rowid   Database ROWID of the record to be selected. VARCHAR(18)

Returns
Y if found, otherwise N.


f_exists_active

FUNCTION f_exists_active(p_pidm      spraddr.spraddr_pidm%TYPE,
                         p_atyp_code spraddr.spraddr_atyp_code%TYPE,
                         p_from_date spraddr.spraddr_from_date%TYPE,
                         p_to_date   spraddr.spraddr_to_date%TYPE)
  RETURN VARCHAR2

Checks to see if an active record exists between two dates.
 
Returns Y if there is an address for this PIDM and an address type with an active status and matching from and to dates.

Parameters
p_pidm   Internal identification number of the person. NUMBER(8) Required Key
p_atyp_code   Type of address associated with the person. VARCHAR2(2) Required Key
p_from_date   Effective start date of the address associated with the person. DATE Required
p_to_date   Effective end date of the address associated with the person. DATE Required

Returns
Y if found, otherwise N.


f_isequal

FUNCTION f_isequal(rec_one address_rec,
                   rec_two address_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 address_rec Required
rec_two   The second record to compare. Type address_rec Required

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


f_get_status

FUNCTION f_get_status(p_pidm       IN NUMBER,
                      p_addr_type  IN VARCHAR2,
                      p_addr_seqno IN NUMBER,
                      p_check_date IN VARCHAR2 DEFAULT 'N',
                      p_asof_date  IN DATE DEFAULT SYSDATE) RETURN VARCHAR2

Returns the status code for an address.
This function returns the status of a particular address.
 
The check date parameter controls whether only addresses in a specified date range are considered.

Parameters
p_pidm   Internal identification number of the person. NUMBER(8) Required Key
p_atyp_code   Type of address associated with the person. VARCHAR2(2) Required Key
p_seqno   Assigns an internal sequence number to each address type associated with the person. NUMBER(2) Required Key
p_check_date   Controls the use of p_asof_date in restricting what addresses are considered. Defaults to 'N'. Any non-null value causes dates to be checked. VARCHAR2(1)
p_asof_date   If p_check_date is 'Y' then it only selects addresses where p_check_date is between the address start and end date. DATE

Returns
N if the address is not found at all, I if it is found but has an inactive status, A if it is found but is active


f_get_valid_description

FUNCTION f_get_valid_description(p_pidm IN NUMBER,
                                 p_atyp IN VARCHAR2) RETURN VARCHAR2

Returns the address description of the address type for a given PIDM.
This function is used for validating addresses in Finance and AR.
It simply returns the description of an address for a given PIDM and type.

Parameters
p_pidm   Internal identification number of the person. NUMBER(8) Required Key
p_atyp_code   Type of address associated with the person. VARCHAR2(2) Required Key

Returns
Description of the address type


f_query_all

FUNCTION f_query_all(p_pidm spraddr.spraddr_pidm%TYPE) RETURN address_ref

Select all records for the entity.
The refcursor returned will select every address for the PIDM, including inactive addresses.

Parameters
p_pidm   Internal identification number of the person. NUMBER(8) Required Key

Returns
Description of the address type code. Null if no address of that type exists for the PIDM.


f_query_by_rowid

FUNCTION f_query_by_rowid(p_rowid gb_common.internal_record_id_type)
  RETURN address_ref

Selects one record using the ROWID.
The refcursor returned will select exactly one address record, based on 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_lock

FUNCTION f_query_lock(p_pidm       spraddr.spraddr_pidm%TYPE,
                      p_atyp_code  spraddr.spraddr_atyp_code%TYPE,
                      p_seqno      spraddr.spraddr_seqno%TYPE,
                      p_status_ind spraddr.spraddr_status_ind%TYPE DEFAULT NULL,
                      p_rowid      gb_common.internal_record_id_type DEFAULT NULL)
  RETURN address_ref

Selects one address record and locks it.
If p_rowid is null, it only uses that to identify the row to lock. In that case it ignores the other key fields.
If p_rowid is NULL, then it uses they key fields to lock the row, and a null p_status_ind matches the active record(the one with status_ind = NULL in the database.

Parameters
p_pidm   Internal identification number of the person. NUMBER(8) Required Key
p_atyp_code   Type of address associated with the person. VARCHAR2(2) Required Key
p_seqno   Internal sequence number for addresses of a particular address type. Number(2) Required Key. NUMBER(2) Required Key
p_status_ind   Identifies if the address information is inactive. Valid values are NULL-Active,  I - Inactive.
p_rowid   Database ROWID of the record to be selected. VARCHAR(18)

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


f_query_one

FUNCTION f_query_one(p_pidm       spraddr.spraddr_pidm%TYPE,
                     p_atyp_code  spraddr.spraddr_atyp_code%TYPE,
                     p_seqno      spraddr.spraddr_seqno%TYPE,
                     p_status_ind spraddr.spraddr_status_ind%TYPE DEFAULT NULL)
  RETURN address_ref

Selects one record.

Parameters
p_pidm   Internal identification number of the person. NUMBER(8) Required Key
p_atyp_code   Type of address associated with the person. VARCHAR2(2) Required Key
p_seqno   Internal sequence number for addresses of a particular address type. Number(2) Required Key. NUMBER(2) Required Key
p_status_ind   Identifies if the address information is inactive. Valid values are NULL-Active,  I - Inactive.

Returns
A cursor variable that will fetch exactly one record


p_lock

PROCEDURE p_lock(p_pidm        spraddr.spraddr_pidm%TYPE,
                 p_atyp_code   spraddr.spraddr_atyp_code%TYPE,
                 p_seqno       spraddr.spraddr_seqno%TYPE,
                 p_status_ind  spraddr.spraddr_status_ind%TYPE,
                 p_rowid_inout IN OUT gb_common.internal_record_id_type)

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

Parameters
p_pidm   Internal identification number of the person. NUMBER(8) Required Key
p_atyp_code   Type of address associated with the person. VARCHAR2(2) Required Key
p_seqno   Internal sequence number for addresses of a particular address type. Number(2) Required Key. NUMBER(2) Required Key
p_status_ind   Identifies if the address information is inactive. Valid values are NULL-Active,  I - Inactive.
p_rowid_inout   Database ROWID of the record to be locked. VARCHAR(18) Required


p_delete

PROCEDURE p_delete(p_pidm       spraddr.spraddr_pidm%TYPE,
                   p_atyp_code  spraddr.spraddr_atyp_code%TYPE,
                   p_seqno      spraddr.spraddr_seqno%TYPE,
                   p_status_ind spraddr.spraddr_status_ind%TYPE DEFAULT NULL,
                   p_rowid      gb_common.internal_record_id_type DEFAULT NULL)

Deletes an address record.
 
If there is a telephone record associated with this address, it will be deleted.
If there is more than one telephone associated with this address, the delete operation will fail and the telephone records will have to be deleted first.

Parameters
p_pidm   Internal identification number of the person. NUMBER(8) Required Key
p_atyp_code   Type of address associated with the person. VARCHAR2(2) Required Key
p_seqno   Internal sequence number for addresses of a particular address type. Number(2) Required Key. NUMBER(2) Required Key
p_status_ind   Identifies if the address information is inactive.
NULL   Active
I   Inactive

p_rowid   Database ROWID of the record to be deleted. VARCHAR(18)


p_create

PROCEDURE p_create(p_pidm             spraddr.spraddr_pidm%TYPE,
                   p_atyp_code        spraddr.spraddr_atyp_code%TYPE,
                   p_from_date        spraddr.spraddr_from_date%TYPE DEFAULT NULL,
                   p_to_date          spraddr.spraddr_to_date%TYPE DEFAULT NULL,
                   p_street_line1     spraddr.spraddr_street_line1%TYPE DEFAULT NULL,
                   p_street_line2     spraddr.spraddr_street_line2%TYPE DEFAULT NULL,
                   p_street_line3     spraddr.spraddr_street_line3%TYPE DEFAULT NULL,
                   p_city             spraddr.spraddr_city%TYPE,
                   p_stat_code        spraddr.spraddr_stat_code%TYPE DEFAULT NULL,
                   p_zip              spraddr.spraddr_zip%TYPE DEFAULT NULL,
                   p_cnty_code        spraddr.spraddr_cnty_code%TYPE DEFAULT NULL,
                   p_natn_code        spraddr.spraddr_natn_code%TYPE DEFAULT NULL,
                   p_status_ind       spraddr.spraddr_status_ind%TYPE DEFAULT NULL,
                   p_user             spraddr.spraddr_user%TYPE DEFAULT gb_common.f_sct_user,
                   p_asrc_code        spraddr.spraddr_asrc_code%TYPE DEFAULT NULL,
                   p_delivery_point   spraddr.spraddr_delivery_point%TYPE DEFAULT NULL,
                   p_correction_digit spraddr.spraddr_correction_digit%TYPE DEFAULT NULL,
                   p_carrier_route    spraddr.spraddr_carrier_route%TYPE DEFAULT NULL,
                   p_gst_tax_id       spraddr.spraddr_gst_tax_id%TYPE DEFAULT NULL,
                   p_reviewed_ind     spraddr.spraddr_reviewed_ind%TYPE DEFAULT NULL,
                   p_reviewed_user    spraddr.spraddr_reviewed_user%TYPE DEFAULT NULL,
                   p_data_origin      spraddr.spraddr_data_origin%TYPE DEFAULT NULL,
                   p_ctry_code_phone  spraddr.spraddr_ctry_code_phone%TYPE DEFAULT NULL,
                   p_house_number     spraddr.spraddr_house_number%TYPE DEFAULT NULL,
                   p_street_line4     spraddr.spraddr_street_line4%TYPE DEFAULT NULL,
                   p_finance_rules    VARCHAR2 DEFAULT 'N',
                   p_seqno_inout      IN OUT spraddr.spraddr_seqno%TYPE,
                   p_rowid_out        OUT gb_common.internal_record_id_type)

Creates an address record.
 
Address processing allows for multiple addresses of a type for one person.
Each has a unique sequence number within the address type. Addresses can be made inactive by setting the status indicator to 'I', in which case they are ignored by address selections and date processing rules.
 
There are two separate types of address processing rules that may be applied, and which may cause unexpected results if misunderstood.
 
Normal default address rules stipulate that for a given person and address type, no two active addresses can have overlapping dates. That is, for a given date, only one address has a selected date fall between it's start and end dates. A null start date means the beginning of time, and a null to date means the end of time. Also, every new address gets a new sequence number for that type, regardless of status.
 
In finance, address dates are completely ignored, and a person (vendor) may have up to 99 addresses of a particular type.
 
In order to accommodate both rules, the p_finance_rules parameter is provided. If passed a 'Y', then no address checking is done.
 
It must be noted that one PIDM may acquire addresses created under both rules. If this is the case, the finance address, having no dates, will cause all subsequent creates using default rules to fail, since that address will be seen as active for all time.

Parameters
p_pidm   Internal identification number of the person. NUMBER(8) Required Key
p_atyp_code   Type of address associated with the person. VARCHAR2(2) Required Key
p_seqno_inout   Internal sequence number for addresses of a particular address type. If null, a new sequence number is generated one up from the last address for this type. Number(2) Required Key. NUMBER(2) Required Key
p_from_date   Effective start date of the address associated with the person. DATE
p_to_date   Effective end date of address associated with the person. DATE
p_street_line1   First line of the address associated with the person. VARCHAR2(75)
p_street_line2   Second line of the address associated with the person. VARCHAR2(75)
p_street_line3   Third line of the address associated with the person. VARCHAR2(75)
p_city   City associated with the address of the person. VARCHAR2(50) Required
p_stat_code   State associated with the address of the person. VARCHAR2(3)
p_zip   ZIP code associated with the address of the person. VARCHAR2(30)
p_cnty_code   County associated with the address of the person. VARCHAR2(5)
p_natn_code   Nation/Country associated with the address of the person. VARCHAR2(5)
p_status_ind   Identifies if the address information is inactive. Valid
NULL   Active
I   Inactive

p_user   The Oracle ID for the user who created or last updated the record. VARCHAR2(30)
p_asrc_code   Address source code. VARCHAR2(4)
p_delivery_point   This field is used to designate the delivery point for mail as established by the Postal Service. NUMBER(2)
p_correction_digit   The Correction Digit field is defined by the Postal Service and is used to determine the digits used for delivery related to the ZIP code. NUMBER(1)
p_carrier_route   The addresses to which a carrier delivers mail. In common usage, carrier route includes city routes, rural routes, highway contract routes, post office box sections, and general delivery units. VARCHAR2(4)
p_gst_tax_id   Goods and Services Tax Identification of vendor at this address. VARCHAR2(15)
p_reviewed_ind   Reviewed Indicator, Y indicates the address has been reviewed. VARCHAR2(1)
p_reviewed_user   Reviewed User, indicates the Oracle user who reviewed the address. VARCHAR2(30)
p_data_origin   Source system that generated the data. VARCHAR2(30)
p_ctry_code_phone   Country Code associated with telephone. VARCHAR2(04)
p_house_number   House Number associated with address. VARCHAR2(10)
p_street_line4   Fourth line of the address associated with the person. VARCHAR2(75)
p_rowid_out   Database ROWID of record to be created. VARCHAR(18) Required
p_finance_rules   If set to 'Y' then no date checking is done, and sequence number can be passed in. Default is 'N'.


p_update

PROCEDURE p_update(p_pidm             spraddr.spraddr_pidm%TYPE,
                   p_atyp_code        spraddr.spraddr_atyp_code%TYPE,
                   p_seqno            spraddr.spraddr_seqno%TYPE,
                   p_from_date        spraddr.spraddr_from_date%TYPE DEFAULT dml_common.f_unspecified_date,
                   p_to_date          spraddr.spraddr_to_date%TYPE DEFAULT dml_common.f_unspecified_date,
                   p_street_line1     spraddr.spraddr_street_line1%TYPE DEFAULT dml_common.f_unspecified_string,
                   p_street_line2     spraddr.spraddr_street_line2%TYPE DEFAULT dml_common.f_unspecified_string,
                   p_street_line3     spraddr.spraddr_street_line3%TYPE DEFAULT dml_common.f_unspecified_string,
                   p_city             spraddr.spraddr_city%TYPE DEFAULT dml_common.f_unspecified_string,
                   p_stat_code        spraddr.spraddr_stat_code%TYPE DEFAULT dml_common.f_unspecified_string,
                   p_zip              spraddr.spraddr_zip%TYPE DEFAULT dml_common.f_unspecified_string,
                   p_cnty_code        spraddr.spraddr_cnty_code%TYPE DEFAULT dml_common.f_unspecified_string,
                   p_natn_code        spraddr.spraddr_natn_code%TYPE DEFAULT dml_common.f_unspecified_string,
                   p_status_ind       spraddr.spraddr_status_ind%TYPE DEFAULT dml_common.f_unspecified_string,
                   p_user             spraddr.spraddr_user%TYPE DEFAULT gb_common.f_sct_user,
                   p_asrc_code        spraddr.spraddr_asrc_code%TYPE DEFAULT dml_common.f_unspecified_string,
                   p_delivery_point   spraddr.spraddr_delivery_point%TYPE DEFAULT dml_common.f_unspecified_number,
                   p_correction_digit spraddr.spraddr_correction_digit%TYPE DEFAULT dml_common.f_unspecified_number,
                   p_carrier_route    spraddr.spraddr_carrier_route%TYPE DEFAULT dml_common.f_unspecified_string,
                   p_gst_tax_id       spraddr.spraddr_gst_tax_id%TYPE DEFAULT dml_common.f_unspecified_string,
                   p_reviewed_ind     spraddr.spraddr_reviewed_ind%TYPE DEFAULT dml_common.f_unspecified_string,
                   p_reviewed_user    spraddr.spraddr_reviewed_user%TYPE DEFAULT dml_common.f_unspecified_string,
                   p_data_origin      spraddr.spraddr_data_origin%TYPE DEFAULT dml_common.f_unspecified_string,
                   p_ctry_code_phone  spraddr.spraddr_ctry_code_phone%TYPE DEFAULT dml_common.f_unspecified_string,
                   p_house_number     spraddr.spraddr_house_number%TYPE DEFAULT dml_common.f_unspecified_string,
                   p_street_line4     spraddr.spraddr_street_line4%TYPE DEFAULT dml_common.f_unspecified_string,
                   p_finance_rules    VARCHAR2 DEFAULT 'N',
                   p_rowid            gb_common.internal_record_id_type DEFAULT NULL)

Updates a record.
There are two separate types of address processing rules that may be applied, and which may cause unexpected results if misunderstood.
 
Normal default address rules stipulate that for a given person and address type, no two active addresses can have overlapping dates. That is, for a given date, only one address has a selected date fall between it's start and end dates.  A null start_date means the beginning of time, and a null to_date means the end of time.  Also, every new address gets a new sequence number for that type, regardless of status.
 
In finance, address dates are completely ignored, and a person(vendor) may have up to 99 addresses of a particular type.
 
In order to accommodate both rules, the p_finance_rules parameter is provided.
If passed a 'Y', then no address checking is done. If an inactive address is reactivated by changing status to NULL, default address checking is reapplied and the update will fail if another address overlaps the dates.  If finance rules are applied, no date checking is done.
 
Because status indicator is part of the unique key, and updates to it are allowed, special processing is required. In order to reactivate an inactive row (set its status_ind to null) or inactivate an active row (set its status_ind to 'I') the ROWID is required.  The ROWID is used to compare the status_ind value passed with the value in the database. If they are different, the row identified by the ROWID is considered the target row, and the status indicator passed is used to update the database. In this case the key values of p_pidm, p_atyp_code, and p_seqno are ignored for purposes of identifying the target row for update.
 
If the status is set to inactive, then all associated telephone records are inactivated as well.

Parameters
p_pidm   Internal identification number of the person. NUMBER(8) Required Key
p_atyp_code   Type of address associated with the person. VARCHAR2(2) Required Key
p_seqno   Internal sequence number for addresses of a particular address type. Number(2) Required Key. NUMBER(2) Required Key
p_from_date   Effective start date of the address associated with the person. DATE
p_to_date   Effective end date of address associated with the person. DATE
p_street_line1   First line of the address associated with the person. VARCHAR2(75)
p_street_line2   Second line of the address associated with the person. VARCHAR2(75)
p_street_line3   Third line of the address associated with the person. VARCHAR2(75)
p_city   City associated with the address of the person. VARCHAR2(20) Required
p_stat_code   State associated with the address of the person. VARCHAR2(3)
p_zip   ZIP code associated with the address of the person. VARCHAR2(30)
p_cnty_code   County associated with the address of the person. VARCHAR2(5)
p_natn_code   Nation/Country associated with the address of the person. VARCHAR2(5)
p_status_ind   Identifies if the address information is inactive. Valid
NULL   Active
I   Inactive

p_user   The Oracle user ID for the User who created or last updated the record. VARCHAR2(30)
p_asrc_code   Address source code. VARCHAR2(4)
p_delivery_point   This field is used to designate the delivery point for mail as established by the Postal Service. NUMBER(2)
p_correction_digit   The Correction Digit field is defined by the Postal Service and is used to determine the digits used for delivery related to the ZIP code. NUMBER(1)
p_carrier_route   The addresses to which a carrier delivers mail. In common usage, carrier route includes city routes, rural routes, highway contract routes, post office box sections, and general delivery units. VARCHAR2(4)
p_gst_tax_id   Goods and Services Tax Identification of vendor at this address. VARCHAR2(15)
p_reviewed_ind   Reviewed Indicator, Y indicates the address has been reviewed. VARCHAR2(1)
p_reviewed_user   Reviewed User, indicates the Oracle user who reviewed the address. VARCHAR2(30)
p_data_origin   Source system that generated the data. VARCHAR2(30)
p_ctry_code_phone   Country Code associated with telephone. VARCHAR2(04)
p_house_number   House Number associated with address. VARCHAR2(10)
p_street_line4   Fourth line of the address associated with the person. VARCHAR2(75)
p_finance_rules   Controls date checking rules.
Y   No date checking is done, and sequence number can be passed in. This should be used with caution.
N   Default. Dates cannot overlap.

p_rowid   Database ROWID of the record to be updated. VARCHAR(18)