1902 lines
76 KiB
Plaintext
1902 lines
76 KiB
Plaintext
|
|
PROMPT Creating API Package Body for Table 'CUSTOMERS'
|
|
--------------------------------------------------------------------------------
|
|
-- Name: cg$CUSTOMERS
|
|
-- Description: CUSTOMERS table API package definitions
|
|
--------------------------------------------------------------------------------
|
|
CREATE OR REPLACE PACKAGE BODY cg$CUSTOMERS IS
|
|
|
|
PROCEDURE validate_mandatory(cg$val_rec IN cg$row_type,
|
|
loc IN VARCHAR2 DEFAULT '');
|
|
PROCEDURE up_autogen_columns(cg$rec IN OUT cg$row_type,
|
|
cg$ind IN OUT cg$ind_type,
|
|
operation IN VARCHAR2 DEFAULT 'INS',
|
|
do_denorm IN BOOLEAN DEFAULT TRUE);
|
|
PROCEDURE err_msg(msg IN VARCHAR2,
|
|
type IN INTEGER,
|
|
loc IN VARCHAR2 DEFAULT '');
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Name: raise_uk_not_updateable
|
|
--
|
|
-- Description: Raise appropriate error when unique key updated
|
|
--
|
|
-- Parameters: none
|
|
--------------------------------------------------------------------------------
|
|
PROCEDURE raise_uk_not_updateable(uk IN VARCHAR2) IS
|
|
BEGIN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_UNIQUE_KEY_UPDATE, cg$errors.ERR_UK_UPDATE, uk),
|
|
'E',
|
|
'API',
|
|
cg$errors.API_UNIQUE_KEY_UPDATE,
|
|
'cg$CUSTOMERS.raise_uk_not_updateable');
|
|
cg$errors.raise_failure;
|
|
END raise_uk_not_updateable;
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Name: raise_fk_not_transferable
|
|
--
|
|
-- Description: Raise appropriate error when foreign key updated
|
|
--
|
|
-- Parameters: none
|
|
--------------------------------------------------------------------------------
|
|
PROCEDURE raise_fk_not_transferable(fk IN VARCHAR2) IS
|
|
BEGIN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_FOREIGN_KEY_TRANS, cg$errors.ERR_FK_TRANS, fk),
|
|
'E',
|
|
'API',
|
|
cg$errors.API_FOREIGN_KEY_TRANS,
|
|
'cg$CUSTOMERS.raise_fk_not_transferable');
|
|
cg$errors.raise_failure;
|
|
END raise_fk_not_transferable;
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Name: up_autogen_columns
|
|
--
|
|
-- Description: Specific autogeneration of column values and conversion to
|
|
-- uppercase
|
|
--
|
|
-- Parameters: cg$rec Record of row to be manipulated
|
|
-- cg$ind Indicators for row
|
|
-- operation Procedure where this procedure was called
|
|
--------------------------------------------------------------------------------
|
|
PROCEDURE up_autogen_columns(cg$rec IN OUT cg$row_type,
|
|
cg$ind IN OUT cg$ind_type,
|
|
operation IN VARCHAR2 DEFAULT 'INS',
|
|
do_denorm IN BOOLEAN DEFAULT TRUE) IS
|
|
BEGIN
|
|
IF (operation = 'INS') THEN
|
|
BEGIN
|
|
IF (cg$ind.CUST_ID = FALSE
|
|
OR cg$rec.CUST_ID is NULL) THEN
|
|
SELECT CUST_SEQ.nextval
|
|
INTO cg$rec.CUST_ID
|
|
FROM DUAL;
|
|
cg$ind.CUST_ID := TRUE;
|
|
END IF;
|
|
EXCEPTION WHEN others THEN
|
|
cg$errors.push(SQLERRM, 'E', 'ORA', SQLCODE,
|
|
'cg$CUSTOMERS.up_autogen.CUST_ID.OTHERS');
|
|
cg$errors.raise_failure;
|
|
END;
|
|
cg$rec.CREATED_ON := sysdate; -- Server Derived Date Created
|
|
NULL;
|
|
ELSE -- (operation = 'UPD')
|
|
NULL;
|
|
END IF; -- (operation = 'INS') ELSE (operation = 'UPD')
|
|
|
|
-- Statements executed for both 'INS' and 'UPD'
|
|
|
|
cg$rec.CREATED_BY := caco_utilities.get_syus_name; -- Server Derived Derivation Expression
|
|
|
|
EXCEPTION
|
|
WHEN no_data_found THEN
|
|
NULL;
|
|
WHEN others THEN
|
|
cg$errors.push( SQLERRM, 'E', 'ORA', SQLCODE,
|
|
'cg$CUSTOMERS.up_autogen_columns');
|
|
cg$errors.raise_failure;
|
|
END up_autogen_columns;
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Name: validate_mandatory
|
|
--
|
|
-- Description: Checks all mandatory columns are not null and raises appropriate
|
|
-- error if not satisfied
|
|
--
|
|
-- Parameters: cg$val_rec Record of row to be checked
|
|
-- loc Place where this procedure was called for error
|
|
-- trapping
|
|
--------------------------------------------------------------------------------
|
|
PROCEDURE validate_mandatory(cg$val_rec IN cg$row_type,
|
|
loc IN VARCHAR2 DEFAULT '') IS
|
|
BEGIN
|
|
IF (cg$val_rec.CREATED_BY IS NULL) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_MAND_COLUMN_ISNULL, cg$errors.VAL_MAND, P100CREATED_BY),
|
|
'E',
|
|
'API',
|
|
cg$errors.API_MAND_COLUMN_ISNULL,
|
|
loc);
|
|
END IF;
|
|
IF (cg$val_rec.CUST_ID IS NULL) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_MAND_COLUMN_ISNULL, cg$errors.VAL_MAND, P10CUST_ID),
|
|
'E',
|
|
'API',
|
|
cg$errors.API_MAND_COLUMN_ISNULL,
|
|
loc);
|
|
END IF;
|
|
IF (cg$val_rec.CODE IS NULL) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_MAND_COLUMN_ISNULL, cg$errors.VAL_MAND, P20CODE),
|
|
'E',
|
|
'API',
|
|
cg$errors.API_MAND_COLUMN_ISNULL,
|
|
loc);
|
|
END IF;
|
|
IF (cg$val_rec.NAME IS NULL) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_MAND_COLUMN_ISNULL, cg$errors.VAL_MAND, P30NAME),
|
|
'E',
|
|
'API',
|
|
cg$errors.API_MAND_COLUMN_ISNULL,
|
|
loc);
|
|
END IF;
|
|
IF (cg$val_rec.PERIOD_START IS NULL) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_MAND_COLUMN_ISNULL, cg$errors.VAL_MAND, P40PERIOD_START),
|
|
'E',
|
|
'API',
|
|
cg$errors.API_MAND_COLUMN_ISNULL,
|
|
loc);
|
|
END IF;
|
|
IF (cg$val_rec.CREATED_ON IS NULL) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_MAND_COLUMN_ISNULL, cg$errors.VAL_MAND, P110CREATED_ON),
|
|
'E',
|
|
'API',
|
|
cg$errors.API_MAND_COLUMN_ISNULL,
|
|
loc);
|
|
END IF;
|
|
NULL;
|
|
END validate_mandatory;
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Name: validate_foreign_keys
|
|
--
|
|
-- Description: Checks all mandatory columns are not null and raises appropriate
|
|
-- error if not satisfied
|
|
--
|
|
-- Parameters: cg$rec Record of row to be checked
|
|
--------------------------------------------------------------------------------
|
|
PROCEDURE validate_foreign_keys_ins(cg$rec IN cg$row_type) IS
|
|
fk_check INTEGER;
|
|
BEGIN
|
|
NULL;
|
|
END;
|
|
|
|
PROCEDURE validate_foreign_keys_upd( cg$rec IN cg$row_type,
|
|
cg$old_rec IN cg$row_type,
|
|
cg$ind IN cg$ind_type) IS
|
|
fk_check INTEGER;
|
|
BEGIN
|
|
NULL;
|
|
END;
|
|
|
|
PROCEDURE validate_foreign_keys_del(cg$rec IN cg$row_type) IS
|
|
fk_check INTEGER;
|
|
BEGIN
|
|
NULL;
|
|
END;
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Name: slct
|
|
--
|
|
-- Description: Selects into the given parameter all the attributes for the row
|
|
-- given by the primary key
|
|
--
|
|
-- Parameters: cg$sel_rec Record of row to be selected into using its PK
|
|
--------------------------------------------------------------------------------
|
|
PROCEDURE slct(cg$sel_rec IN OUT cg$row_type) IS
|
|
|
|
BEGIN
|
|
|
|
IF cg$sel_rec.the_rowid is null THEN
|
|
SELECT CREATED_BY
|
|
, CUST_ID
|
|
, CODE
|
|
, NAME
|
|
, PERIOD_START
|
|
, DESCRIPTION
|
|
, PERIOD_END
|
|
, EMAIL_ADDRESS
|
|
, TELEPHONE
|
|
, FAX
|
|
, CREATED_ON
|
|
, UPDATED_BY
|
|
, UPDATED_ON
|
|
, CUTY_ID
|
|
, PRIMARY_CONTACT
|
|
, PRIMARY_CONTACT_TEL
|
|
, KAM_MANAGER_SYUS_ID
|
|
, KAM_TELEPHONE
|
|
, STATUS
|
|
, NOM_CONF_SUBJECT
|
|
, NOM_CONF_CONTENT
|
|
, COM_CONF_SUBJECT
|
|
, COM_CONF_CONTENT
|
|
, AUTO_GEN_CONF_AM
|
|
, AUTO_GEN_CONF_PM
|
|
, IND_DEADLINE_FOR_NOM_SUBMIT
|
|
, rowid
|
|
INTO cg$sel_rec.CREATED_BY
|
|
, cg$sel_rec.CUST_ID
|
|
, cg$sel_rec.CODE
|
|
, cg$sel_rec.NAME
|
|
, cg$sel_rec.PERIOD_START
|
|
, cg$sel_rec.DESCRIPTION
|
|
, cg$sel_rec.PERIOD_END
|
|
, cg$sel_rec.EMAIL_ADDRESS
|
|
, cg$sel_rec.TELEPHONE
|
|
, cg$sel_rec.FAX
|
|
, cg$sel_rec.CREATED_ON
|
|
, cg$sel_rec.UPDATED_BY
|
|
, cg$sel_rec.UPDATED_ON
|
|
, cg$sel_rec.CUTY_ID
|
|
, cg$sel_rec.PRIMARY_CONTACT
|
|
, cg$sel_rec.PRIMARY_CONTACT_TEL
|
|
, cg$sel_rec.KAM_MANAGER_SYUS_ID
|
|
, cg$sel_rec.KAM_TELEPHONE
|
|
, cg$sel_rec.STATUS
|
|
, cg$sel_rec.NOM_CONF_SUBJECT
|
|
, cg$sel_rec.NOM_CONF_CONTENT
|
|
, cg$sel_rec.COM_CONF_SUBJECT
|
|
, cg$sel_rec.COM_CONF_CONTENT
|
|
, cg$sel_rec.AUTO_GEN_CONF_AM
|
|
, cg$sel_rec.AUTO_GEN_CONF_PM
|
|
, cg$sel_rec.IND_DEADLINE_FOR_NOM_SUBMIT
|
|
,cg$sel_rec.the_rowid
|
|
FROM CUSTOMERS
|
|
WHERE CUST_ID = cg$sel_rec.CUST_ID;
|
|
ELSE
|
|
SELECT CREATED_BY
|
|
, CUST_ID
|
|
, CODE
|
|
, NAME
|
|
, PERIOD_START
|
|
, DESCRIPTION
|
|
, PERIOD_END
|
|
, EMAIL_ADDRESS
|
|
, TELEPHONE
|
|
, FAX
|
|
, CREATED_ON
|
|
, UPDATED_BY
|
|
, UPDATED_ON
|
|
, CUTY_ID
|
|
, PRIMARY_CONTACT
|
|
, PRIMARY_CONTACT_TEL
|
|
, KAM_MANAGER_SYUS_ID
|
|
, KAM_TELEPHONE
|
|
, STATUS
|
|
, NOM_CONF_SUBJECT
|
|
, NOM_CONF_CONTENT
|
|
, COM_CONF_SUBJECT
|
|
, COM_CONF_CONTENT
|
|
, AUTO_GEN_CONF_AM
|
|
, AUTO_GEN_CONF_PM
|
|
, IND_DEADLINE_FOR_NOM_SUBMIT
|
|
, rowid
|
|
INTO cg$sel_rec.CREATED_BY
|
|
, cg$sel_rec.CUST_ID
|
|
, cg$sel_rec.CODE
|
|
, cg$sel_rec.NAME
|
|
, cg$sel_rec.PERIOD_START
|
|
, cg$sel_rec.DESCRIPTION
|
|
, cg$sel_rec.PERIOD_END
|
|
, cg$sel_rec.EMAIL_ADDRESS
|
|
, cg$sel_rec.TELEPHONE
|
|
, cg$sel_rec.FAX
|
|
, cg$sel_rec.CREATED_ON
|
|
, cg$sel_rec.UPDATED_BY
|
|
, cg$sel_rec.UPDATED_ON
|
|
, cg$sel_rec.CUTY_ID
|
|
, cg$sel_rec.PRIMARY_CONTACT
|
|
, cg$sel_rec.PRIMARY_CONTACT_TEL
|
|
, cg$sel_rec.KAM_MANAGER_SYUS_ID
|
|
, cg$sel_rec.KAM_TELEPHONE
|
|
, cg$sel_rec.STATUS
|
|
, cg$sel_rec.NOM_CONF_SUBJECT
|
|
, cg$sel_rec.NOM_CONF_CONTENT
|
|
, cg$sel_rec.COM_CONF_SUBJECT
|
|
, cg$sel_rec.COM_CONF_CONTENT
|
|
, cg$sel_rec.AUTO_GEN_CONF_AM
|
|
, cg$sel_rec.AUTO_GEN_CONF_PM
|
|
, cg$sel_rec.IND_DEADLINE_FOR_NOM_SUBMIT
|
|
,cg$sel_rec.the_rowid
|
|
FROM CUSTOMERS
|
|
WHERE rowid = cg$sel_rec.the_rowid;
|
|
END IF;
|
|
|
|
EXCEPTION WHEN OTHERS THEN
|
|
cg$errors.push(SQLERRM,
|
|
'E',
|
|
'ORA',
|
|
SQLCODE,
|
|
'cg$CUSTOMERS.slct.others');
|
|
cg$errors.raise_failure;
|
|
|
|
END slct;
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Name: cascade_update
|
|
--
|
|
-- Description: Updates all child tables affected by a change to CUSTOMERS
|
|
--
|
|
-- Parameters: cg$rec Record of CUSTOMERS current values
|
|
-- cg$old_rec Record of CUSTOMERS previous values
|
|
--------------------------------------------------------------------------------
|
|
PROCEDURE cascade_update(cg$new_rec IN OUT cg$row_type,
|
|
cg$old_rec IN cg$row_type) IS
|
|
BEGIN
|
|
NULL;
|
|
END cascade_update;
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Name: validate_domain_cascade_update
|
|
--
|
|
-- Description: Implement the Domain Key Constraint Cascade Updates Resticts rule
|
|
-- of each child table that references this tableCUSTOMERS
|
|
--
|
|
-- Parameters: cg$old_rec Record of CUSTOMERS current values
|
|
--------------------------------------------------------------------------------
|
|
PROCEDURE validate_domain_cascade_update( cg$old_rec IN cg$row_type ) IS
|
|
dk_check INTEGER;
|
|
BEGIN
|
|
NULL;
|
|
END validate_domain_cascade_update;
|
|
|
|
|
|
-----------------------------------------------------------------------------------------
|
|
-- Name: domain_cascade_update
|
|
--
|
|
-- Description: Implement the Domain Key Constraint Cascade Updates rules of each
|
|
-- child table that references this table CUSTOMERS
|
|
--
|
|
-- Parameters: cg$new_rec New values for CUSTOMERS's domain key constraint columns
|
|
-- cg$new_ind Indicates changed CUSTOMERS's domain key constraint columns
|
|
-- cg$old_rec Current values for CUSTOMERS's domain key constraint columns
|
|
-----------------------------------------------------------------------------------------
|
|
PROCEDURE domain_cascade_update(cg$new_rec IN OUT cg$row_type,
|
|
cg$new_ind IN OUT cg$ind_type,
|
|
cg$old_rec IN cg$row_type) IS
|
|
BEGIN
|
|
NULL;
|
|
END domain_cascade_update;
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Name: cascade_delete
|
|
--
|
|
-- Description: Delete all child tables affected by a delete to CUSTOMERS
|
|
--
|
|
-- Parameters: cg$rec Record of CUSTOMERS current values
|
|
--------------------------------------------------------------------------------
|
|
PROCEDURE cascade_delete(cg$old_rec IN OUT cg$row_type)
|
|
IS
|
|
BEGIN
|
|
NULL;
|
|
END cascade_delete;
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Name: domain_cascade_delete
|
|
--
|
|
-- Description: Implement the Domain Key Constraint Cascade Delete rules of each
|
|
-- child table that references this tableCUSTOMERS
|
|
--
|
|
-- Parameters: cg$old_rec Record of CUSTOMERS current values
|
|
--------------------------------------------------------------------------------
|
|
PROCEDURE domain_cascade_delete( cg$old_rec IN cg$row_type )
|
|
IS
|
|
BEGIN
|
|
NULL;
|
|
END domain_cascade_delete;
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Name: validate_domain_cascade_delete
|
|
--
|
|
-- Description: Implement the Domain Key Constraint Cascade Delete Restricts rule
|
|
-- of each child table that references this tableCUSTOMERS
|
|
--
|
|
-- Parameters: cg$old_rec Record of CUSTOMERS current values
|
|
--------------------------------------------------------------------------------
|
|
PROCEDURE validate_domain_cascade_delete(cg$old_rec IN cg$row_type)
|
|
IS
|
|
dk_check INTEGER;
|
|
BEGIN
|
|
NULL;
|
|
END validate_domain_cascade_delete;
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Name: validate_arc
|
|
--
|
|
-- Description: Checks for adherence to arc relationship
|
|
--
|
|
-- Parameters: cg$rec Record of CUSTOMERS current values
|
|
--------------------------------------------------------------------------------
|
|
PROCEDURE validate_arc(cg$rec IN OUT cg$row_type) IS
|
|
i NUMBER;
|
|
BEGIN
|
|
NULL;
|
|
END validate_arc;
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Name: validate_domain
|
|
--
|
|
-- Description: Checks against reference table for values lying in a domain
|
|
--
|
|
-- Parameters: cg$rec Record of CUSTOMERS current values
|
|
--------------------------------------------------------------------------------
|
|
PROCEDURE validate_domain(cg$rec IN OUT cg$row_type,
|
|
cg$ind IN cg$ind_type DEFAULT cg$ind_true)
|
|
IS
|
|
dummy NUMBER;
|
|
found BOOLEAN;
|
|
no_tabview EXCEPTION;
|
|
PRAGMA EXCEPTION_INIT(no_tabview, -942);
|
|
BEGIN
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
found := false;
|
|
IF (cg$ind.STATUS AND cg$rec.STATUS IS NOT NULL) THEN
|
|
FOR c IN (SELECT RV_LOW_VALUE, RV_HIGH_VALUE FROM CG_REF_CODES WHERE RV_DOMAIN = 'CUSTOMERS.STATUS' )
|
|
LOOP
|
|
IF ( c.RV_HIGH_VALUE IS NULL
|
|
AND cg$rec.STATUS = c.RV_LOW_VALUE )
|
|
OR ( c.RV_HIGH_VALUE IS NOT NULL
|
|
AND cg$rec.STATUS BETWEEN c.RV_LOW_VALUE AND c.RV_HIGH_VALUE )
|
|
THEN
|
|
found := true;
|
|
EXIT;
|
|
END IF;
|
|
END LOOP;
|
|
|
|
IF ( NOT found ) THEN
|
|
cg$errors.push( cg$errors.MsgGetText(cg$errors.API_RV_LOOKUP_FAIL,
|
|
cg$errors.APIMSG_RV_LOOKUP_FAIL,
|
|
cg$rec.STATUS,'CUSTOMERS','STATUS'),
|
|
'E',
|
|
'API',
|
|
cg$errors.API_RV_LOOKUP_FAIL,
|
|
'cg$CUSTOMERS.v_domain.no_data_found' );
|
|
cg$errors.raise_failure;
|
|
END IF;
|
|
END IF;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
NULL;
|
|
|
|
EXCEPTION
|
|
WHEN cg$errors.cg$error THEN
|
|
cg$errors.raise_failure;
|
|
WHEN no_tabview THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_RV_TAB_NOT_FOUND,
|
|
cg$errors.APIMSG_RV_TAB_NOT_FOUND,
|
|
'CG_REF_CODES','CUSTOMERS'),
|
|
'E',
|
|
'API',
|
|
cg$errors.API_RV_TAB_NOT_FOUND,
|
|
'cg$CUSTOMERS.v_domain.no_reftable_found');
|
|
cg$errors.raise_failure;
|
|
WHEN OTHERS THEN
|
|
cg$errors.push(SQLERRM,
|
|
'E',
|
|
'ORA',
|
|
SQLCODE,
|
|
'cg$CUSTOMERS.v_domain.others');
|
|
cg$errors.raise_failure;
|
|
END validate_domain;
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Name: err_msg
|
|
--
|
|
-- Description: Pushes onto stack appropriate user defined error message
|
|
-- depending on the rule violated
|
|
--
|
|
-- Parameters: msg Oracle error message
|
|
-- type Type of violation e.g. check_constraint: ERR_CHECK_CON
|
|
-- loc Place where this procedure was called for error
|
|
-- trapping
|
|
--------------------------------------------------------------------------------
|
|
PROCEDURE err_msg(msg IN VARCHAR2,
|
|
type IN INTEGER,
|
|
loc IN VARCHAR2 DEFAULT '') IS
|
|
con_name VARCHAR2(240);
|
|
BEGIN
|
|
con_name := cg$errors.parse_constraint(msg, type);
|
|
IF (con_name = 'CUST_PK') THEN
|
|
cg$errors.push(nvl(CUST_PK
|
|
,cg$errors.MsgGetText(cg$errors.API_PK_CON_VIOLATED
|
|
,cg$errors.APIMSG_PK_VIOLAT
|
|
,'CUST_PK'
|
|
,'CUSTOMERS')),
|
|
'E',
|
|
'API',
|
|
cg$errors.API_PK_CON_VIOLATED,
|
|
loc);
|
|
ELSIF (con_name = 'CUST_NAME_UK') THEN
|
|
cg$errors.push(nvl(CUST_NAME_UK
|
|
,cg$errors.MsgGetText(cg$errors.API_UQ_CON_VIOLATED
|
|
,cg$errors.APIMSG_UK_VIOLAT
|
|
,'CUST_NAME_UK'
|
|
,'CUSTOMERS')),
|
|
'E',
|
|
'API',
|
|
cg$errors.API_UQ_CON_VIOLATED,
|
|
loc);
|
|
ELSIF (con_name = 'CUST_CODE_UK') THEN
|
|
cg$errors.push(nvl(CUST_CODE_UK
|
|
,cg$errors.MsgGetText(cg$errors.API_UQ_CON_VIOLATED
|
|
,cg$errors.APIMSG_UK_VIOLAT
|
|
,'CUST_CODE_UK'
|
|
,'CUSTOMERS')),
|
|
'E',
|
|
'API',
|
|
cg$errors.API_UQ_CON_VIOLATED,
|
|
loc);
|
|
|
|
ELSIF (con_name = 'CUST_CUTY_FK') THEN
|
|
cg$errors.push(nvl(CUST_CUTY_FK
|
|
,cg$errors.MsgGetText(cg$errors.API_FK_CON_VIOLATED
|
|
,cg$errors.APIMSG_FK_VIOLAT
|
|
,'CUST_CUTY_FK'
|
|
,'CUSTOMERS')),
|
|
'E',
|
|
'API',
|
|
cg$errors.API_FK_CON_VIOLATED,
|
|
loc);
|
|
ELSIF (con_name = 'CUST_SYUS_FK') THEN
|
|
cg$errors.push(nvl(CUST_SYUS_FK
|
|
,cg$errors.MsgGetText(cg$errors.API_FK_CON_VIOLATED
|
|
,cg$errors.APIMSG_FK_VIOLAT
|
|
,'CUST_SYUS_FK'
|
|
,'CUSTOMERS')),
|
|
'E',
|
|
'API',
|
|
cg$errors.API_FK_CON_VIOLATED,
|
|
loc);
|
|
ELSE
|
|
cg$errors.push(SQLERRM,
|
|
'E',
|
|
'ORA',
|
|
SQLCODE,
|
|
loc);
|
|
END IF;
|
|
END err_msg;
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Name: doLobs
|
|
--
|
|
-- Description: This function is updating lob columns
|
|
--
|
|
-- Parameters: cg$rec Record of row to be inserted
|
|
-- cg$ind Record of columns specifically set
|
|
--------------------------------------------------------------------------------
|
|
PROCEDURE doLobs(cg$rec IN OUT cg$row_type,
|
|
cg$ind IN OUT cg$ind_type) IS
|
|
BEGIN
|
|
NULL;
|
|
END doLobs;
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Name: ins
|
|
--
|
|
-- Description: API insert procedure
|
|
--
|
|
-- Parameters: cg$rec Record of row to be inserted
|
|
-- cg$ind Record of columns specifically set
|
|
-- do_ins Whether we want the actual INSERT to occur
|
|
--------------------------------------------------------------------------------
|
|
PROCEDURE ins(cg$rec IN OUT cg$row_type,
|
|
cg$ind IN OUT cg$ind_type,
|
|
do_ins IN BOOLEAN DEFAULT TRUE) IS
|
|
cg$tmp_rec cg$row_type;
|
|
|
|
-- Constant default values
|
|
|
|
D250_AUTO_GEN_CONF_AM CONSTANT CUSTOMERS.AUTO_GEN_CONF_AM%TYPE := 'N';
|
|
D260_AUTO_GEN_CONF_PM CONSTANT CUSTOMERS.AUTO_GEN_CONF_PM%TYPE := 'N';
|
|
|
|
BEGIN
|
|
-- Application_logic Pre-Insert <<Start>>
|
|
-- Application_logic Pre-Insert << End >>
|
|
|
|
-- Defaulted
|
|
|
|
IF NOT (cg$ind.AUTO_GEN_CONF_AM) THEN cg$rec.AUTO_GEN_CONF_AM := D250_AUTO_GEN_CONF_AM; END IF;
|
|
IF NOT (cg$ind.AUTO_GEN_CONF_PM) THEN cg$rec.AUTO_GEN_CONF_PM := D260_AUTO_GEN_CONF_PM; END IF;
|
|
-- Auto-generated and uppercased columns
|
|
|
|
up_autogen_columns(cg$rec, cg$ind, 'INS', do_ins);
|
|
|
|
called_from_package := TRUE;
|
|
|
|
IF (do_ins) THEN
|
|
validate_foreign_keys_ins(cg$rec);
|
|
validate_arc(cg$rec);
|
|
validate_domain(cg$rec);
|
|
|
|
INSERT INTO CUSTOMERS
|
|
(CREATED_BY
|
|
,CUST_ID
|
|
,CODE
|
|
,NAME
|
|
,PERIOD_START
|
|
,DESCRIPTION
|
|
,PERIOD_END
|
|
,EMAIL_ADDRESS
|
|
,TELEPHONE
|
|
,FAX
|
|
,CREATED_ON
|
|
,UPDATED_BY
|
|
,UPDATED_ON
|
|
,CUTY_ID
|
|
,PRIMARY_CONTACT
|
|
,PRIMARY_CONTACT_TEL
|
|
,KAM_MANAGER_SYUS_ID
|
|
,KAM_TELEPHONE
|
|
,STATUS
|
|
,NOM_CONF_SUBJECT
|
|
,NOM_CONF_CONTENT
|
|
,COM_CONF_SUBJECT
|
|
,COM_CONF_CONTENT
|
|
,AUTO_GEN_CONF_AM
|
|
,AUTO_GEN_CONF_PM
|
|
,IND_DEADLINE_FOR_NOM_SUBMIT)
|
|
VALUES
|
|
(cg$rec.CREATED_BY
|
|
,cg$rec.CUST_ID
|
|
,cg$rec.CODE
|
|
,cg$rec.NAME
|
|
,cg$rec.PERIOD_START
|
|
,cg$rec.DESCRIPTION
|
|
,cg$rec.PERIOD_END
|
|
,cg$rec.EMAIL_ADDRESS
|
|
,cg$rec.TELEPHONE
|
|
,cg$rec.FAX
|
|
,cg$rec.CREATED_ON
|
|
,cg$rec.UPDATED_BY
|
|
,cg$rec.UPDATED_ON
|
|
,cg$rec.CUTY_ID
|
|
,cg$rec.PRIMARY_CONTACT
|
|
,cg$rec.PRIMARY_CONTACT_TEL
|
|
,cg$rec.KAM_MANAGER_SYUS_ID
|
|
,cg$rec.KAM_TELEPHONE
|
|
,cg$rec.STATUS
|
|
,cg$rec.NOM_CONF_SUBJECT
|
|
,cg$rec.NOM_CONF_CONTENT
|
|
,cg$rec.COM_CONF_SUBJECT
|
|
,cg$rec.COM_CONF_CONTENT
|
|
,cg$rec.AUTO_GEN_CONF_AM
|
|
,cg$rec.AUTO_GEN_CONF_PM
|
|
,cg$rec.IND_DEADLINE_FOR_NOM_SUBMIT
|
|
);
|
|
doLobs(cg$rec, cg$ind);
|
|
slct(cg$rec);
|
|
|
|
upd_oper_denorm2(cg$rec, cg$tmp_rec, cg$ind, 'INS');
|
|
END IF;
|
|
|
|
called_from_package := FALSE;
|
|
|
|
|
|
|
|
-- Application logic Post-Insert <<Start>>
|
|
-- Application logic Post-Insert << End >>
|
|
|
|
EXCEPTION
|
|
WHEN cg$errors.cg$error THEN
|
|
called_from_package := FALSE;
|
|
cg$errors.raise_failure;
|
|
WHEN cg$errors.mandatory_missing THEN
|
|
validate_mandatory(cg$rec, 'cg$CUSTOMERS.ins.mandatory_missing');
|
|
called_from_package := FALSE;
|
|
cg$errors.raise_failure;
|
|
WHEN cg$errors.check_violation THEN
|
|
err_msg(SQLERRM, cg$errors.ERR_CHECK_CON, 'cg$CUSTOMERS.ins.check_violation');
|
|
called_from_package := FALSE;
|
|
cg$errors.raise_failure;
|
|
WHEN cg$errors.fk_violation THEN
|
|
err_msg(SQLERRM, cg$errors.ERR_FOREIGN_KEY, 'cg$CUSTOMERS.ins.fk_violation');
|
|
called_from_package := FALSE;
|
|
cg$errors.raise_failure;
|
|
WHEN cg$errors.uk_violation THEN
|
|
err_msg(SQLERRM, cg$errors.ERR_UNIQUE_KEY, 'cg$CUSTOMERS.ins.uk_violation');
|
|
called_from_package := FALSE;
|
|
cg$errors.raise_failure;
|
|
WHEN OTHERS THEN
|
|
cg$errors.push(SQLERRM,
|
|
'E',
|
|
'ORA',
|
|
SQLCODE,
|
|
'cg$CUSTOMERS.ins.others');
|
|
called_from_package := FALSE;
|
|
cg$errors.raise_failure;
|
|
END ins;
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Name: upd
|
|
--
|
|
-- Description: API update procedure
|
|
--
|
|
-- Parameters: cg$rec Record of row to be updated
|
|
-- cg$ind Record of columns specifically set
|
|
-- do_upd Whether we want the actual UPDATE to occur
|
|
--------------------------------------------------------------------------------
|
|
PROCEDURE upd(cg$rec IN OUT cg$row_type,
|
|
cg$ind IN OUT cg$ind_type,
|
|
do_upd IN BOOLEAN DEFAULT TRUE,
|
|
cg$pk IN cg$row_type DEFAULT NULL )
|
|
IS
|
|
cg$upd_rec cg$row_type;
|
|
cg$old_rec cg$row_type;
|
|
RECORD_LOGGED BOOLEAN := FALSE;
|
|
BEGIN
|
|
-- Application_logic Pre-Update <<Start>>
|
|
-- Application_logic Pre-Update << End >>
|
|
|
|
|
|
IF ( cg$pk.CUST_ID IS NULL ) THEN
|
|
cg$upd_rec.CUST_ID := cg$rec.CUST_ID;
|
|
ELSE
|
|
cg$upd_rec.CUST_ID := cg$pk.CUST_ID;
|
|
END IF;
|
|
cg$old_rec.CUST_ID := cg$upd_rec.CUST_ID;
|
|
|
|
IF ( cg$pk.the_rowid IS NULL ) THEN
|
|
cg$upd_rec.the_rowid := cg$rec.the_rowid;
|
|
ELSE
|
|
cg$upd_rec.the_rowid := cg$pk.the_rowid;
|
|
END IF;
|
|
cg$old_rec.the_rowid := cg$upd_rec.the_rowid;
|
|
|
|
IF ( do_upd ) THEN
|
|
|
|
slct(cg$upd_rec);
|
|
|
|
|
|
-- Report error if attempt to update non updateable Primary Key CUST_PK
|
|
IF (cg$ind.CUST_ID AND cg$rec.CUST_ID != cg$upd_rec.CUST_ID) THEN
|
|
raise_uk_not_updateable('CUST_PK');
|
|
END IF;
|
|
IF NOT (cg$ind.CREATED_BY) THEN
|
|
cg$rec.CREATED_BY := cg$upd_rec.CREATED_BY;
|
|
END IF;
|
|
IF NOT (cg$ind.CUST_ID) THEN
|
|
cg$rec.CUST_ID := cg$upd_rec.CUST_ID;
|
|
END IF;
|
|
IF NOT (cg$ind.CODE) THEN
|
|
cg$rec.CODE := cg$upd_rec.CODE;
|
|
END IF;
|
|
IF NOT (cg$ind.NAME) THEN
|
|
cg$rec.NAME := cg$upd_rec.NAME;
|
|
END IF;
|
|
IF NOT (cg$ind.PERIOD_START) THEN
|
|
cg$rec.PERIOD_START := cg$upd_rec.PERIOD_START;
|
|
END IF;
|
|
IF NOT (cg$ind.DESCRIPTION) THEN
|
|
cg$rec.DESCRIPTION := cg$upd_rec.DESCRIPTION;
|
|
END IF;
|
|
IF NOT (cg$ind.PERIOD_END) THEN
|
|
cg$rec.PERIOD_END := cg$upd_rec.PERIOD_END;
|
|
END IF;
|
|
IF NOT (cg$ind.EMAIL_ADDRESS) THEN
|
|
cg$rec.EMAIL_ADDRESS := cg$upd_rec.EMAIL_ADDRESS;
|
|
END IF;
|
|
IF NOT (cg$ind.TELEPHONE) THEN
|
|
cg$rec.TELEPHONE := cg$upd_rec.TELEPHONE;
|
|
END IF;
|
|
IF NOT (cg$ind.FAX) THEN
|
|
cg$rec.FAX := cg$upd_rec.FAX;
|
|
END IF;
|
|
IF NOT (cg$ind.CREATED_ON) THEN
|
|
cg$rec.CREATED_ON := cg$upd_rec.CREATED_ON;
|
|
END IF;
|
|
IF NOT (cg$ind.UPDATED_BY) THEN
|
|
cg$rec.UPDATED_BY := cg$upd_rec.UPDATED_BY;
|
|
END IF;
|
|
IF NOT (cg$ind.UPDATED_ON) THEN
|
|
cg$rec.UPDATED_ON := cg$upd_rec.UPDATED_ON;
|
|
END IF;
|
|
IF NOT (cg$ind.CUTY_ID) THEN
|
|
cg$rec.CUTY_ID := cg$upd_rec.CUTY_ID;
|
|
END IF;
|
|
IF NOT (cg$ind.PRIMARY_CONTACT) THEN
|
|
cg$rec.PRIMARY_CONTACT := cg$upd_rec.PRIMARY_CONTACT;
|
|
END IF;
|
|
IF NOT (cg$ind.PRIMARY_CONTACT_TEL) THEN
|
|
cg$rec.PRIMARY_CONTACT_TEL := cg$upd_rec.PRIMARY_CONTACT_TEL;
|
|
END IF;
|
|
IF NOT (cg$ind.KAM_MANAGER_SYUS_ID) THEN
|
|
cg$rec.KAM_MANAGER_SYUS_ID := cg$upd_rec.KAM_MANAGER_SYUS_ID;
|
|
END IF;
|
|
IF NOT (cg$ind.KAM_TELEPHONE) THEN
|
|
cg$rec.KAM_TELEPHONE := cg$upd_rec.KAM_TELEPHONE;
|
|
END IF;
|
|
IF NOT (cg$ind.STATUS) THEN
|
|
cg$rec.STATUS := cg$upd_rec.STATUS;
|
|
END IF;
|
|
IF NOT (cg$ind.NOM_CONF_SUBJECT) THEN
|
|
cg$rec.NOM_CONF_SUBJECT := cg$upd_rec.NOM_CONF_SUBJECT;
|
|
END IF;
|
|
IF NOT (cg$ind.NOM_CONF_CONTENT) THEN
|
|
cg$rec.NOM_CONF_CONTENT := cg$upd_rec.NOM_CONF_CONTENT;
|
|
END IF;
|
|
IF NOT (cg$ind.COM_CONF_SUBJECT) THEN
|
|
cg$rec.COM_CONF_SUBJECT := cg$upd_rec.COM_CONF_SUBJECT;
|
|
END IF;
|
|
IF NOT (cg$ind.COM_CONF_CONTENT) THEN
|
|
cg$rec.COM_CONF_CONTENT := cg$upd_rec.COM_CONF_CONTENT;
|
|
END IF;
|
|
IF NOT (cg$ind.AUTO_GEN_CONF_AM) THEN
|
|
cg$rec.AUTO_GEN_CONF_AM := cg$upd_rec.AUTO_GEN_CONF_AM;
|
|
END IF;
|
|
IF NOT (cg$ind.AUTO_GEN_CONF_PM) THEN
|
|
cg$rec.AUTO_GEN_CONF_PM := cg$upd_rec.AUTO_GEN_CONF_PM;
|
|
END IF;
|
|
IF NOT (cg$ind.IND_DEADLINE_FOR_NOM_SUBMIT) THEN
|
|
cg$rec.IND_DEADLINE_FOR_NOM_SUBMIT := cg$upd_rec.IND_DEADLINE_FOR_NOM_SUBMIT;
|
|
END IF;
|
|
ELSE
|
|
-- Perform checks if called from a trigger
|
|
-- Indicators are only set on changed values
|
|
null;
|
|
-- Report error if attempt to update non updateable Primary Key CUST_PK
|
|
IF ( cg$ind.CUST_ID ) THEN
|
|
raise_uk_not_updateable('CUST_PK');
|
|
END IF;
|
|
END IF;
|
|
|
|
up_autogen_columns(cg$rec, cg$ind, 'UPD', do_upd); -- Auto-generated and uppercased columns
|
|
|
|
-- Now do update if updateable columns exist
|
|
IF (do_upd) THEN
|
|
DECLARE
|
|
called_from BOOLEAN := called_from_package;
|
|
BEGIN
|
|
called_from_package := TRUE;
|
|
|
|
slct(cg$old_rec);
|
|
validate_foreign_keys_upd(cg$rec, cg$old_rec, cg$ind);
|
|
validate_arc(cg$rec);
|
|
validate_domain(cg$rec, cg$ind);
|
|
validate_domain_cascade_update(cg$old_rec);
|
|
|
|
IF cg$rec.the_rowid is null THEN
|
|
UPDATE CUSTOMERS
|
|
SET
|
|
CREATED_BY = cg$rec.CREATED_BY
|
|
,CODE = cg$rec.CODE
|
|
,NAME = cg$rec.NAME
|
|
,PERIOD_START = cg$rec.PERIOD_START
|
|
,DESCRIPTION = cg$rec.DESCRIPTION
|
|
,PERIOD_END = cg$rec.PERIOD_END
|
|
,EMAIL_ADDRESS = cg$rec.EMAIL_ADDRESS
|
|
,TELEPHONE = cg$rec.TELEPHONE
|
|
,FAX = cg$rec.FAX
|
|
,CREATED_ON = cg$rec.CREATED_ON
|
|
,UPDATED_BY = cg$rec.UPDATED_BY
|
|
,UPDATED_ON = cg$rec.UPDATED_ON
|
|
,CUTY_ID = cg$rec.CUTY_ID
|
|
,PRIMARY_CONTACT = cg$rec.PRIMARY_CONTACT
|
|
,PRIMARY_CONTACT_TEL = cg$rec.PRIMARY_CONTACT_TEL
|
|
,KAM_MANAGER_SYUS_ID = cg$rec.KAM_MANAGER_SYUS_ID
|
|
,KAM_TELEPHONE = cg$rec.KAM_TELEPHONE
|
|
,STATUS = cg$rec.STATUS
|
|
,NOM_CONF_SUBJECT = cg$rec.NOM_CONF_SUBJECT
|
|
,NOM_CONF_CONTENT = cg$rec.NOM_CONF_CONTENT
|
|
,COM_CONF_SUBJECT = cg$rec.COM_CONF_SUBJECT
|
|
,COM_CONF_CONTENT = cg$rec.COM_CONF_CONTENT
|
|
,AUTO_GEN_CONF_AM = cg$rec.AUTO_GEN_CONF_AM
|
|
,AUTO_GEN_CONF_PM = cg$rec.AUTO_GEN_CONF_PM
|
|
,IND_DEADLINE_FOR_NOM_SUBMIT = cg$rec.IND_DEADLINE_FOR_NOM_SUBMIT
|
|
WHERE CUST_ID = cg$rec.CUST_ID;
|
|
null;
|
|
ELSE
|
|
UPDATE CUSTOMERS
|
|
SET
|
|
CREATED_BY = cg$rec.CREATED_BY
|
|
,CODE = cg$rec.CODE
|
|
,NAME = cg$rec.NAME
|
|
,PERIOD_START = cg$rec.PERIOD_START
|
|
,DESCRIPTION = cg$rec.DESCRIPTION
|
|
,PERIOD_END = cg$rec.PERIOD_END
|
|
,EMAIL_ADDRESS = cg$rec.EMAIL_ADDRESS
|
|
,TELEPHONE = cg$rec.TELEPHONE
|
|
,FAX = cg$rec.FAX
|
|
,CREATED_ON = cg$rec.CREATED_ON
|
|
,UPDATED_BY = cg$rec.UPDATED_BY
|
|
,UPDATED_ON = cg$rec.UPDATED_ON
|
|
,CUTY_ID = cg$rec.CUTY_ID
|
|
,PRIMARY_CONTACT = cg$rec.PRIMARY_CONTACT
|
|
,PRIMARY_CONTACT_TEL = cg$rec.PRIMARY_CONTACT_TEL
|
|
,KAM_MANAGER_SYUS_ID = cg$rec.KAM_MANAGER_SYUS_ID
|
|
,KAM_TELEPHONE = cg$rec.KAM_TELEPHONE
|
|
,STATUS = cg$rec.STATUS
|
|
,NOM_CONF_SUBJECT = cg$rec.NOM_CONF_SUBJECT
|
|
,NOM_CONF_CONTENT = cg$rec.NOM_CONF_CONTENT
|
|
,COM_CONF_SUBJECT = cg$rec.COM_CONF_SUBJECT
|
|
,COM_CONF_CONTENT = cg$rec.COM_CONF_CONTENT
|
|
,AUTO_GEN_CONF_AM = cg$rec.AUTO_GEN_CONF_AM
|
|
,AUTO_GEN_CONF_PM = cg$rec.AUTO_GEN_CONF_PM
|
|
,IND_DEADLINE_FOR_NOM_SUBMIT = cg$rec.IND_DEADLINE_FOR_NOM_SUBMIT
|
|
WHERE rowid = cg$rec.the_rowid;
|
|
|
|
null;
|
|
END IF;
|
|
|
|
slct(cg$rec);
|
|
|
|
upd_denorm2(cg$rec, cg$ind);
|
|
upd_oper_denorm2(cg$rec, cg$old_rec, cg$ind, 'UPD');
|
|
cascade_update(cg$rec, cg$old_rec);
|
|
domain_cascade_update(cg$rec, cg$ind, cg$old_rec);
|
|
called_from_package := called_from;
|
|
END;
|
|
END IF;
|
|
|
|
|
|
|
|
IF NOT (do_upd) THEN
|
|
cg$table(idx).CREATED_BY := cg$rec.CREATED_BY;
|
|
cg$tableind(idx).CREATED_BY := cg$ind.CREATED_BY;
|
|
cg$table(idx).CUST_ID := cg$rec.CUST_ID;
|
|
cg$tableind(idx).CUST_ID := cg$ind.CUST_ID;
|
|
cg$table(idx).CODE := cg$rec.CODE;
|
|
cg$tableind(idx).CODE := cg$ind.CODE;
|
|
cg$table(idx).NAME := cg$rec.NAME;
|
|
cg$tableind(idx).NAME := cg$ind.NAME;
|
|
cg$table(idx).PERIOD_START := cg$rec.PERIOD_START;
|
|
cg$tableind(idx).PERIOD_START := cg$ind.PERIOD_START;
|
|
cg$table(idx).DESCRIPTION := cg$rec.DESCRIPTION;
|
|
cg$tableind(idx).DESCRIPTION := cg$ind.DESCRIPTION;
|
|
cg$table(idx).PERIOD_END := cg$rec.PERIOD_END;
|
|
cg$tableind(idx).PERIOD_END := cg$ind.PERIOD_END;
|
|
cg$table(idx).EMAIL_ADDRESS := cg$rec.EMAIL_ADDRESS;
|
|
cg$tableind(idx).EMAIL_ADDRESS := cg$ind.EMAIL_ADDRESS;
|
|
cg$table(idx).TELEPHONE := cg$rec.TELEPHONE;
|
|
cg$tableind(idx).TELEPHONE := cg$ind.TELEPHONE;
|
|
cg$table(idx).FAX := cg$rec.FAX;
|
|
cg$tableind(idx).FAX := cg$ind.FAX;
|
|
cg$table(idx).CREATED_ON := cg$rec.CREATED_ON;
|
|
cg$tableind(idx).CREATED_ON := cg$ind.CREATED_ON;
|
|
cg$table(idx).UPDATED_BY := cg$rec.UPDATED_BY;
|
|
cg$tableind(idx).UPDATED_BY := cg$ind.UPDATED_BY;
|
|
cg$table(idx).UPDATED_ON := cg$rec.UPDATED_ON;
|
|
cg$tableind(idx).UPDATED_ON := cg$ind.UPDATED_ON;
|
|
cg$table(idx).CUTY_ID := cg$rec.CUTY_ID;
|
|
cg$tableind(idx).CUTY_ID := cg$ind.CUTY_ID;
|
|
cg$table(idx).PRIMARY_CONTACT := cg$rec.PRIMARY_CONTACT;
|
|
cg$tableind(idx).PRIMARY_CONTACT := cg$ind.PRIMARY_CONTACT;
|
|
cg$table(idx).PRIMARY_CONTACT_TEL := cg$rec.PRIMARY_CONTACT_TEL;
|
|
cg$tableind(idx).PRIMARY_CONTACT_TEL := cg$ind.PRIMARY_CONTACT_TEL;
|
|
cg$table(idx).KAM_MANAGER_SYUS_ID := cg$rec.KAM_MANAGER_SYUS_ID;
|
|
cg$tableind(idx).KAM_MANAGER_SYUS_ID := cg$ind.KAM_MANAGER_SYUS_ID;
|
|
cg$table(idx).KAM_TELEPHONE := cg$rec.KAM_TELEPHONE;
|
|
cg$tableind(idx).KAM_TELEPHONE := cg$ind.KAM_TELEPHONE;
|
|
cg$table(idx).STATUS := cg$rec.STATUS;
|
|
cg$tableind(idx).STATUS := cg$ind.STATUS;
|
|
cg$table(idx).NOM_CONF_SUBJECT := cg$rec.NOM_CONF_SUBJECT;
|
|
cg$tableind(idx).NOM_CONF_SUBJECT := cg$ind.NOM_CONF_SUBJECT;
|
|
cg$table(idx).NOM_CONF_CONTENT := cg$rec.NOM_CONF_CONTENT;
|
|
cg$tableind(idx).NOM_CONF_CONTENT := cg$ind.NOM_CONF_CONTENT;
|
|
cg$table(idx).COM_CONF_SUBJECT := cg$rec.COM_CONF_SUBJECT;
|
|
cg$tableind(idx).COM_CONF_SUBJECT := cg$ind.COM_CONF_SUBJECT;
|
|
cg$table(idx).COM_CONF_CONTENT := cg$rec.COM_CONF_CONTENT;
|
|
cg$tableind(idx).COM_CONF_CONTENT := cg$ind.COM_CONF_CONTENT;
|
|
cg$table(idx).AUTO_GEN_CONF_AM := cg$rec.AUTO_GEN_CONF_AM;
|
|
cg$tableind(idx).AUTO_GEN_CONF_AM := cg$ind.AUTO_GEN_CONF_AM;
|
|
cg$table(idx).AUTO_GEN_CONF_PM := cg$rec.AUTO_GEN_CONF_PM;
|
|
cg$tableind(idx).AUTO_GEN_CONF_PM := cg$ind.AUTO_GEN_CONF_PM;
|
|
cg$table(idx).IND_DEADLINE_FOR_NOM_SUBMIT := cg$rec.IND_DEADLINE_FOR_NOM_SUBMIT;
|
|
cg$tableind(idx).IND_DEADLINE_FOR_NOM_SUBMIT := cg$ind.IND_DEADLINE_FOR_NOM_SUBMIT;
|
|
idx := idx + 1;
|
|
END IF;
|
|
|
|
-- Application_logic Post-Update <<Start>>
|
|
-- Application_logic Post-Update << End >>
|
|
|
|
EXCEPTION
|
|
WHEN cg$errors.cg$error THEN
|
|
called_from_package := FALSE;
|
|
cg$errors.raise_failure;
|
|
WHEN cg$errors.upd_mandatory_null THEN
|
|
validate_mandatory(cg$rec, 'cg$CUSTOMERS.upd.upd_mandatory_null');
|
|
called_from_package := FALSE;
|
|
cg$errors.raise_failure;
|
|
WHEN cg$errors.check_violation THEN
|
|
err_msg(SQLERRM, cg$errors.ERR_CHECK_CON, 'cg$CUSTOMERS.upd.check_violation');
|
|
called_from_package := FALSE;
|
|
cg$errors.raise_failure;
|
|
WHEN cg$errors.fk_violation THEN
|
|
err_msg(SQLERRM, cg$errors.ERR_FOREIGN_KEY, 'cg$CUSTOMERS.upd.fk_violation');
|
|
called_from_package := FALSE;
|
|
cg$errors.raise_failure;
|
|
WHEN cg$errors.uk_violation THEN
|
|
err_msg(SQLERRM, cg$errors.ERR_UNIQUE_KEY, 'cg$CUSTOMERS.upd.uk_violation');
|
|
called_from_package := FALSE;
|
|
cg$errors.raise_failure;
|
|
WHEN OTHERS THEN
|
|
cg$errors.push(SQLERRM,
|
|
'E',
|
|
'ORA',
|
|
SQLCODE,
|
|
'cg$CUSTOMERS.upd.others');
|
|
called_from_package := FALSE;
|
|
cg$errors.raise_failure;
|
|
END upd;
|
|
|
|
|
|
----------------------------------------------------------------------------------------
|
|
-- Name: domain_cascade_upd
|
|
--
|
|
-- Description: Update the Domain Constraint Key columns of CUSTOMERS when the
|
|
-- Cascade Update rule is Cascades and the domain table has been
|
|
-- updated. Called from <Domain Table pkg>.domain_cascade_update().
|
|
--
|
|
-- Parameters: cg$rec New values for CUSTOMERS's domain key constraint columns
|
|
-- cg$ind Indicates changed CUSTOMERS's domain key constraint columns
|
|
-- cg$old_rec Current values for CUSTOMERS's domain key constraint columns
|
|
----------------------------------------------------------------------------------------
|
|
PROCEDURE domain_cascade_upd( cg$rec IN OUT cg$row_type,
|
|
cg$ind IN OUT cg$ind_type,
|
|
cg$old_rec IN cg$row_type )
|
|
IS
|
|
called_from BOOLEAN := called_from_package;
|
|
BEGIN
|
|
|
|
null;
|
|
END domain_cascade_upd;
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Name: upd_denorm
|
|
--
|
|
-- Description: API procedure for simple denormalization
|
|
--
|
|
-- Parameters: cg$rec Record of row to be updated
|
|
-- cg$ind Record of columns specifically set
|
|
-- do_upd Whether we want the actual UPDATE to occur
|
|
--------------------------------------------------------------------------------
|
|
PROCEDURE upd_denorm2( cg$rec IN cg$row_type,
|
|
cg$ind IN cg$ind_type ) IS
|
|
BEGIN
|
|
NULL;
|
|
END upd_denorm2;
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Name: upd_oper_denorm
|
|
--
|
|
-- Description: API procedure for operation denormalization
|
|
--
|
|
-- Parameters: cg$rec Record of row to be updated
|
|
-- cg$ind Record of columns specifically set
|
|
-- do_upd Whether we want the actual UPDATE to occur
|
|
--------------------------------------------------------------------------------
|
|
PROCEDURE upd_oper_denorm2( cg$rec IN cg$row_type,
|
|
cg$old_rec IN cg$row_type,
|
|
cg$ind IN cg$ind_type,
|
|
operation IN VARCHAR2 DEFAULT 'UPD'
|
|
)
|
|
IS
|
|
BEGIN
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
NULL;
|
|
END upd_oper_denorm2;
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Name: del
|
|
--
|
|
-- Description: API delete procedure
|
|
--
|
|
-- Parameters: cg$pk Primary key record of row to be deleted
|
|
--------------------------------------------------------------------------------
|
|
PROCEDURE del(cg$pk IN cg$pk_type,
|
|
do_del IN BOOLEAN DEFAULT TRUE) IS
|
|
BEGIN
|
|
-- Application_logic Pre-Delete <<Start>>
|
|
-- Application_logic Pre-Delete << End >>
|
|
|
|
-- Delete the record
|
|
|
|
called_from_package := TRUE;
|
|
|
|
IF (do_del) THEN
|
|
DECLARE
|
|
cg$rec cg$row_type;
|
|
cg$old_rec cg$row_type;
|
|
cg$ind cg$ind_type;
|
|
BEGIN
|
|
cg$rec.CUST_ID := cg$pk.CUST_ID;
|
|
slct(cg$rec);
|
|
|
|
validate_foreign_keys_del(cg$rec);
|
|
validate_domain_cascade_delete(cg$rec);
|
|
|
|
IF cg$pk.the_rowid is null THEN
|
|
DELETE CUSTOMERS
|
|
WHERE CUST_ID = cg$pk.CUST_ID;
|
|
ELSE
|
|
DELETE CUSTOMERS
|
|
WHERE rowid = cg$pk.the_rowid;
|
|
END IF;
|
|
|
|
upd_oper_denorm2(cg$rec, cg$old_rec, cg$ind, 'DEL');
|
|
cascade_delete(cg$rec);
|
|
domain_cascade_delete(cg$rec);
|
|
END;
|
|
END IF;
|
|
|
|
called_from_package := FALSE;
|
|
|
|
|
|
-- Application_logic Post-Delete <<Start>>
|
|
-- Application_logic Post-Delete << End >>
|
|
|
|
EXCEPTION
|
|
WHEN cg$errors.cg$error THEN
|
|
called_from_package := FALSE;
|
|
cg$errors.raise_failure;
|
|
WHEN cg$errors.delete_restrict THEN
|
|
err_msg(SQLERRM, cg$errors.ERR_DELETE_RESTRICT, 'cg$CUSTOMERS.del.delete_restrict');
|
|
called_from_package := FALSE;
|
|
cg$errors.raise_failure;
|
|
WHEN no_data_found THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_DEL, cg$errors.ROW_DEL),
|
|
'E',
|
|
'ORA',
|
|
SQLCODE,
|
|
'cg$CUSTOMERS.del.no_data_found');
|
|
called_from_package := FALSE;
|
|
cg$errors.raise_failure;
|
|
WHEN OTHERS THEN
|
|
cg$errors.push(SQLERRM,
|
|
'E',
|
|
'ORA',
|
|
SQLCODE,
|
|
'cg$CUSTOMERS.del.others');
|
|
called_from_package := FALSE;
|
|
cg$errors.raise_failure;
|
|
END del;
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Name: lck
|
|
--
|
|
-- Description: API lock procedure
|
|
--
|
|
-- Parameters: cg$old_rec Calling apps view of record of row to be locked
|
|
-- cg$old_ind Record of columns to raise error if modified
|
|
-- nowait_flag TRUE lock with NOWAIT, FALSE don't fail if busy
|
|
--------------------------------------------------------------------------------
|
|
PROCEDURE lck(cg$old_rec IN cg$row_type,
|
|
cg$old_ind IN cg$ind_type,
|
|
nowait_flag IN BOOLEAN DEFAULT TRUE) IS
|
|
cg$tmp_rec cg$row_type;
|
|
any_modified BOOLEAN := FALSE;
|
|
|
|
BEGIN
|
|
-- Application_logic Pre-Lock <<Start>>
|
|
-- Application_logic Pre-Lock << End >>
|
|
|
|
-- Do the row lock
|
|
|
|
BEGIN
|
|
IF (nowait_flag) THEN
|
|
IF cg$old_rec.the_rowid is null THEN
|
|
SELECT CREATED_BY
|
|
, CUST_ID
|
|
, CODE
|
|
, NAME
|
|
, PERIOD_START
|
|
, DESCRIPTION
|
|
, PERIOD_END
|
|
, EMAIL_ADDRESS
|
|
, TELEPHONE
|
|
, FAX
|
|
, CREATED_ON
|
|
, UPDATED_BY
|
|
, UPDATED_ON
|
|
, CUTY_ID
|
|
, PRIMARY_CONTACT
|
|
, PRIMARY_CONTACT_TEL
|
|
, KAM_MANAGER_SYUS_ID
|
|
, KAM_TELEPHONE
|
|
, STATUS
|
|
, NOM_CONF_SUBJECT
|
|
, NOM_CONF_CONTENT
|
|
, COM_CONF_SUBJECT
|
|
, COM_CONF_CONTENT
|
|
, AUTO_GEN_CONF_AM
|
|
, AUTO_GEN_CONF_PM
|
|
, IND_DEADLINE_FOR_NOM_SUBMIT
|
|
INTO cg$tmp_rec.CREATED_BY
|
|
, cg$tmp_rec.CUST_ID
|
|
, cg$tmp_rec.CODE
|
|
, cg$tmp_rec.NAME
|
|
, cg$tmp_rec.PERIOD_START
|
|
, cg$tmp_rec.DESCRIPTION
|
|
, cg$tmp_rec.PERIOD_END
|
|
, cg$tmp_rec.EMAIL_ADDRESS
|
|
, cg$tmp_rec.TELEPHONE
|
|
, cg$tmp_rec.FAX
|
|
, cg$tmp_rec.CREATED_ON
|
|
, cg$tmp_rec.UPDATED_BY
|
|
, cg$tmp_rec.UPDATED_ON
|
|
, cg$tmp_rec.CUTY_ID
|
|
, cg$tmp_rec.PRIMARY_CONTACT
|
|
, cg$tmp_rec.PRIMARY_CONTACT_TEL
|
|
, cg$tmp_rec.KAM_MANAGER_SYUS_ID
|
|
, cg$tmp_rec.KAM_TELEPHONE
|
|
, cg$tmp_rec.STATUS
|
|
, cg$tmp_rec.NOM_CONF_SUBJECT
|
|
, cg$tmp_rec.NOM_CONF_CONTENT
|
|
, cg$tmp_rec.COM_CONF_SUBJECT
|
|
, cg$tmp_rec.COM_CONF_CONTENT
|
|
, cg$tmp_rec.AUTO_GEN_CONF_AM
|
|
, cg$tmp_rec.AUTO_GEN_CONF_PM
|
|
, cg$tmp_rec.IND_DEADLINE_FOR_NOM_SUBMIT
|
|
FROM CUSTOMERS
|
|
WHERE CUST_ID = cg$old_rec.CUST_ID
|
|
FOR UPDATE NOWAIT;
|
|
ELSE
|
|
SELECT CREATED_BY
|
|
, CUST_ID
|
|
, CODE
|
|
, NAME
|
|
, PERIOD_START
|
|
, DESCRIPTION
|
|
, PERIOD_END
|
|
, EMAIL_ADDRESS
|
|
, TELEPHONE
|
|
, FAX
|
|
, CREATED_ON
|
|
, UPDATED_BY
|
|
, UPDATED_ON
|
|
, CUTY_ID
|
|
, PRIMARY_CONTACT
|
|
, PRIMARY_CONTACT_TEL
|
|
, KAM_MANAGER_SYUS_ID
|
|
, KAM_TELEPHONE
|
|
, STATUS
|
|
, NOM_CONF_SUBJECT
|
|
, NOM_CONF_CONTENT
|
|
, COM_CONF_SUBJECT
|
|
, COM_CONF_CONTENT
|
|
, AUTO_GEN_CONF_AM
|
|
, AUTO_GEN_CONF_PM
|
|
, IND_DEADLINE_FOR_NOM_SUBMIT
|
|
INTO cg$tmp_rec.CREATED_BY
|
|
, cg$tmp_rec.CUST_ID
|
|
, cg$tmp_rec.CODE
|
|
, cg$tmp_rec.NAME
|
|
, cg$tmp_rec.PERIOD_START
|
|
, cg$tmp_rec.DESCRIPTION
|
|
, cg$tmp_rec.PERIOD_END
|
|
, cg$tmp_rec.EMAIL_ADDRESS
|
|
, cg$tmp_rec.TELEPHONE
|
|
, cg$tmp_rec.FAX
|
|
, cg$tmp_rec.CREATED_ON
|
|
, cg$tmp_rec.UPDATED_BY
|
|
, cg$tmp_rec.UPDATED_ON
|
|
, cg$tmp_rec.CUTY_ID
|
|
, cg$tmp_rec.PRIMARY_CONTACT
|
|
, cg$tmp_rec.PRIMARY_CONTACT_TEL
|
|
, cg$tmp_rec.KAM_MANAGER_SYUS_ID
|
|
, cg$tmp_rec.KAM_TELEPHONE
|
|
, cg$tmp_rec.STATUS
|
|
, cg$tmp_rec.NOM_CONF_SUBJECT
|
|
, cg$tmp_rec.NOM_CONF_CONTENT
|
|
, cg$tmp_rec.COM_CONF_SUBJECT
|
|
, cg$tmp_rec.COM_CONF_CONTENT
|
|
, cg$tmp_rec.AUTO_GEN_CONF_AM
|
|
, cg$tmp_rec.AUTO_GEN_CONF_PM
|
|
, cg$tmp_rec.IND_DEADLINE_FOR_NOM_SUBMIT
|
|
FROM CUSTOMERS
|
|
WHERE rowid = cg$old_rec.the_rowid
|
|
FOR UPDATE NOWAIT;
|
|
END IF;
|
|
ELSE
|
|
IF cg$old_rec.the_rowid is null THEN
|
|
SELECT CREATED_BY
|
|
, CUST_ID
|
|
, CODE
|
|
, NAME
|
|
, PERIOD_START
|
|
, DESCRIPTION
|
|
, PERIOD_END
|
|
, EMAIL_ADDRESS
|
|
, TELEPHONE
|
|
, FAX
|
|
, CREATED_ON
|
|
, UPDATED_BY
|
|
, UPDATED_ON
|
|
, CUTY_ID
|
|
, PRIMARY_CONTACT
|
|
, PRIMARY_CONTACT_TEL
|
|
, KAM_MANAGER_SYUS_ID
|
|
, KAM_TELEPHONE
|
|
, STATUS
|
|
, NOM_CONF_SUBJECT
|
|
, NOM_CONF_CONTENT
|
|
, COM_CONF_SUBJECT
|
|
, COM_CONF_CONTENT
|
|
, AUTO_GEN_CONF_AM
|
|
, AUTO_GEN_CONF_PM
|
|
, IND_DEADLINE_FOR_NOM_SUBMIT
|
|
INTO cg$tmp_rec.CREATED_BY
|
|
, cg$tmp_rec.CUST_ID
|
|
, cg$tmp_rec.CODE
|
|
, cg$tmp_rec.NAME
|
|
, cg$tmp_rec.PERIOD_START
|
|
, cg$tmp_rec.DESCRIPTION
|
|
, cg$tmp_rec.PERIOD_END
|
|
, cg$tmp_rec.EMAIL_ADDRESS
|
|
, cg$tmp_rec.TELEPHONE
|
|
, cg$tmp_rec.FAX
|
|
, cg$tmp_rec.CREATED_ON
|
|
, cg$tmp_rec.UPDATED_BY
|
|
, cg$tmp_rec.UPDATED_ON
|
|
, cg$tmp_rec.CUTY_ID
|
|
, cg$tmp_rec.PRIMARY_CONTACT
|
|
, cg$tmp_rec.PRIMARY_CONTACT_TEL
|
|
, cg$tmp_rec.KAM_MANAGER_SYUS_ID
|
|
, cg$tmp_rec.KAM_TELEPHONE
|
|
, cg$tmp_rec.STATUS
|
|
, cg$tmp_rec.NOM_CONF_SUBJECT
|
|
, cg$tmp_rec.NOM_CONF_CONTENT
|
|
, cg$tmp_rec.COM_CONF_SUBJECT
|
|
, cg$tmp_rec.COM_CONF_CONTENT
|
|
, cg$tmp_rec.AUTO_GEN_CONF_AM
|
|
, cg$tmp_rec.AUTO_GEN_CONF_PM
|
|
, cg$tmp_rec.IND_DEADLINE_FOR_NOM_SUBMIT
|
|
FROM CUSTOMERS
|
|
WHERE CUST_ID = cg$old_rec.CUST_ID
|
|
FOR UPDATE;
|
|
ELSE
|
|
SELECT CREATED_BY
|
|
, CUST_ID
|
|
, CODE
|
|
, NAME
|
|
, PERIOD_START
|
|
, DESCRIPTION
|
|
, PERIOD_END
|
|
, EMAIL_ADDRESS
|
|
, TELEPHONE
|
|
, FAX
|
|
, CREATED_ON
|
|
, UPDATED_BY
|
|
, UPDATED_ON
|
|
, CUTY_ID
|
|
, PRIMARY_CONTACT
|
|
, PRIMARY_CONTACT_TEL
|
|
, KAM_MANAGER_SYUS_ID
|
|
, KAM_TELEPHONE
|
|
, STATUS
|
|
, NOM_CONF_SUBJECT
|
|
, NOM_CONF_CONTENT
|
|
, COM_CONF_SUBJECT
|
|
, COM_CONF_CONTENT
|
|
, AUTO_GEN_CONF_AM
|
|
, AUTO_GEN_CONF_PM
|
|
, IND_DEADLINE_FOR_NOM_SUBMIT
|
|
INTO cg$tmp_rec.CREATED_BY
|
|
, cg$tmp_rec.CUST_ID
|
|
, cg$tmp_rec.CODE
|
|
, cg$tmp_rec.NAME
|
|
, cg$tmp_rec.PERIOD_START
|
|
, cg$tmp_rec.DESCRIPTION
|
|
, cg$tmp_rec.PERIOD_END
|
|
, cg$tmp_rec.EMAIL_ADDRESS
|
|
, cg$tmp_rec.TELEPHONE
|
|
, cg$tmp_rec.FAX
|
|
, cg$tmp_rec.CREATED_ON
|
|
, cg$tmp_rec.UPDATED_BY
|
|
, cg$tmp_rec.UPDATED_ON
|
|
, cg$tmp_rec.CUTY_ID
|
|
, cg$tmp_rec.PRIMARY_CONTACT
|
|
, cg$tmp_rec.PRIMARY_CONTACT_TEL
|
|
, cg$tmp_rec.KAM_MANAGER_SYUS_ID
|
|
, cg$tmp_rec.KAM_TELEPHONE
|
|
, cg$tmp_rec.STATUS
|
|
, cg$tmp_rec.NOM_CONF_SUBJECT
|
|
, cg$tmp_rec.NOM_CONF_CONTENT
|
|
, cg$tmp_rec.COM_CONF_SUBJECT
|
|
, cg$tmp_rec.COM_CONF_CONTENT
|
|
, cg$tmp_rec.AUTO_GEN_CONF_AM
|
|
, cg$tmp_rec.AUTO_GEN_CONF_PM
|
|
, cg$tmp_rec.IND_DEADLINE_FOR_NOM_SUBMIT
|
|
FROM CUSTOMERS
|
|
WHERE rowid = cg$old_rec.the_rowid
|
|
FOR UPDATE;
|
|
END IF;
|
|
END IF;
|
|
|
|
EXCEPTION
|
|
WHEN cg$errors.cg$error THEN
|
|
cg$errors.raise_failure;
|
|
WHEN cg$errors.resource_busy THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_LCK, cg$errors.ROW_LCK),
|
|
'E',
|
|
'ORA',
|
|
SQLCODE,
|
|
'cg$CUSTOMERS.lck.resource_busy');
|
|
cg$errors.raise_failure;
|
|
WHEN no_data_found THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_DEL, cg$errors.ROW_DEL),
|
|
'E',
|
|
'ORA',
|
|
SQLCODE,
|
|
'cg$CUSTOMERS.lck.no_data_found');
|
|
cg$errors.raise_failure;
|
|
WHEN OTHERS THEN
|
|
cg$errors.push(SQLERRM,
|
|
'E',
|
|
'ORA',
|
|
SQLCODE,
|
|
'cg$CUSTOMERS.lck.others');
|
|
cg$errors.raise_failure;
|
|
END;
|
|
|
|
-- Optional Columns
|
|
|
|
IF (cg$old_ind.DESCRIPTION) THEN
|
|
IF (cg$tmp_rec.DESCRIPTION IS NOT NULL
|
|
AND cg$old_rec.DESCRIPTION IS NOT NULL) THEN
|
|
IF (cg$tmp_rec.DESCRIPTION != cg$old_rec.DESCRIPTION) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P50DESCRIPTION
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
ELSIF (cg$tmp_rec.DESCRIPTION IS NOT NULL
|
|
OR cg$old_rec.DESCRIPTION IS NOT NULL) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P50DESCRIPTION
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
END IF;
|
|
IF (cg$old_ind.PERIOD_END) THEN
|
|
IF (cg$tmp_rec.PERIOD_END IS NOT NULL
|
|
AND cg$old_rec.PERIOD_END IS NOT NULL) THEN
|
|
IF (cg$tmp_rec.PERIOD_END != cg$old_rec.PERIOD_END) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P60PERIOD_END
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
ELSIF (cg$tmp_rec.PERIOD_END IS NOT NULL
|
|
OR cg$old_rec.PERIOD_END IS NOT NULL) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P60PERIOD_END
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
END IF;
|
|
IF (cg$old_ind.EMAIL_ADDRESS) THEN
|
|
IF (cg$tmp_rec.EMAIL_ADDRESS IS NOT NULL
|
|
AND cg$old_rec.EMAIL_ADDRESS IS NOT NULL) THEN
|
|
IF (cg$tmp_rec.EMAIL_ADDRESS != cg$old_rec.EMAIL_ADDRESS) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P70EMAIL_ADDRESS
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
ELSIF (cg$tmp_rec.EMAIL_ADDRESS IS NOT NULL
|
|
OR cg$old_rec.EMAIL_ADDRESS IS NOT NULL) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P70EMAIL_ADDRESS
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
END IF;
|
|
IF (cg$old_ind.TELEPHONE) THEN
|
|
IF (cg$tmp_rec.TELEPHONE IS NOT NULL
|
|
AND cg$old_rec.TELEPHONE IS NOT NULL) THEN
|
|
IF (cg$tmp_rec.TELEPHONE != cg$old_rec.TELEPHONE) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P80TELEPHONE
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
ELSIF (cg$tmp_rec.TELEPHONE IS NOT NULL
|
|
OR cg$old_rec.TELEPHONE IS NOT NULL) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P80TELEPHONE
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
END IF;
|
|
IF (cg$old_ind.FAX) THEN
|
|
IF (cg$tmp_rec.FAX IS NOT NULL
|
|
AND cg$old_rec.FAX IS NOT NULL) THEN
|
|
IF (cg$tmp_rec.FAX != cg$old_rec.FAX) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P90FAX
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
ELSIF (cg$tmp_rec.FAX IS NOT NULL
|
|
OR cg$old_rec.FAX IS NOT NULL) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P90FAX
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
END IF;
|
|
IF (cg$old_ind.UPDATED_BY) THEN
|
|
IF (cg$tmp_rec.UPDATED_BY IS NOT NULL
|
|
AND cg$old_rec.UPDATED_BY IS NOT NULL) THEN
|
|
IF (cg$tmp_rec.UPDATED_BY != cg$old_rec.UPDATED_BY) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P120UPDATED_BY
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
ELSIF (cg$tmp_rec.UPDATED_BY IS NOT NULL
|
|
OR cg$old_rec.UPDATED_BY IS NOT NULL) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P120UPDATED_BY
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
END IF;
|
|
IF (cg$old_ind.UPDATED_ON) THEN
|
|
IF (cg$tmp_rec.UPDATED_ON IS NOT NULL
|
|
AND cg$old_rec.UPDATED_ON IS NOT NULL) THEN
|
|
IF (cg$tmp_rec.UPDATED_ON != cg$old_rec.UPDATED_ON) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P130UPDATED_ON
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
ELSIF (cg$tmp_rec.UPDATED_ON IS NOT NULL
|
|
OR cg$old_rec.UPDATED_ON IS NOT NULL) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P130UPDATED_ON
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
END IF;
|
|
IF (cg$old_ind.CUTY_ID) THEN
|
|
IF (cg$tmp_rec.CUTY_ID IS NOT NULL
|
|
AND cg$old_rec.CUTY_ID IS NOT NULL) THEN
|
|
IF (cg$tmp_rec.CUTY_ID != cg$old_rec.CUTY_ID) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P140CUTY_ID
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
ELSIF (cg$tmp_rec.CUTY_ID IS NOT NULL
|
|
OR cg$old_rec.CUTY_ID IS NOT NULL) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P140CUTY_ID
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
END IF;
|
|
IF (cg$old_ind.PRIMARY_CONTACT) THEN
|
|
IF (cg$tmp_rec.PRIMARY_CONTACT IS NOT NULL
|
|
AND cg$old_rec.PRIMARY_CONTACT IS NOT NULL) THEN
|
|
IF (cg$tmp_rec.PRIMARY_CONTACT != cg$old_rec.PRIMARY_CONTACT) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P150PRIMARY_CONTACT
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
ELSIF (cg$tmp_rec.PRIMARY_CONTACT IS NOT NULL
|
|
OR cg$old_rec.PRIMARY_CONTACT IS NOT NULL) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P150PRIMARY_CONTACT
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
END IF;
|
|
IF (cg$old_ind.PRIMARY_CONTACT_TEL) THEN
|
|
IF (cg$tmp_rec.PRIMARY_CONTACT_TEL IS NOT NULL
|
|
AND cg$old_rec.PRIMARY_CONTACT_TEL IS NOT NULL) THEN
|
|
IF (cg$tmp_rec.PRIMARY_CONTACT_TEL != cg$old_rec.PRIMARY_CONTACT_TEL) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P160PRIMARY_CONTACT_TEL
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
ELSIF (cg$tmp_rec.PRIMARY_CONTACT_TEL IS NOT NULL
|
|
OR cg$old_rec.PRIMARY_CONTACT_TEL IS NOT NULL) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P160PRIMARY_CONTACT_TEL
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
END IF;
|
|
IF (cg$old_ind.KAM_MANAGER_SYUS_ID) THEN
|
|
IF (cg$tmp_rec.KAM_MANAGER_SYUS_ID IS NOT NULL
|
|
AND cg$old_rec.KAM_MANAGER_SYUS_ID IS NOT NULL) THEN
|
|
IF (cg$tmp_rec.KAM_MANAGER_SYUS_ID != cg$old_rec.KAM_MANAGER_SYUS_ID) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P170KAM_MANAGER_SYUS_ID
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
ELSIF (cg$tmp_rec.KAM_MANAGER_SYUS_ID IS NOT NULL
|
|
OR cg$old_rec.KAM_MANAGER_SYUS_ID IS NOT NULL) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P170KAM_MANAGER_SYUS_ID
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
END IF;
|
|
IF (cg$old_ind.KAM_TELEPHONE) THEN
|
|
IF (cg$tmp_rec.KAM_TELEPHONE IS NOT NULL
|
|
AND cg$old_rec.KAM_TELEPHONE IS NOT NULL) THEN
|
|
IF (cg$tmp_rec.KAM_TELEPHONE != cg$old_rec.KAM_TELEPHONE) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P180KAM_TELEPHONE
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
ELSIF (cg$tmp_rec.KAM_TELEPHONE IS NOT NULL
|
|
OR cg$old_rec.KAM_TELEPHONE IS NOT NULL) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P180KAM_TELEPHONE
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
END IF;
|
|
IF (cg$old_ind.STATUS) THEN
|
|
IF (cg$tmp_rec.STATUS IS NOT NULL
|
|
AND cg$old_rec.STATUS IS NOT NULL) THEN
|
|
IF (cg$tmp_rec.STATUS != cg$old_rec.STATUS) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P190STATUS
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
ELSIF (cg$tmp_rec.STATUS IS NOT NULL
|
|
OR cg$old_rec.STATUS IS NOT NULL) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P190STATUS
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
END IF;
|
|
IF (cg$old_ind.NOM_CONF_SUBJECT) THEN
|
|
IF (cg$tmp_rec.NOM_CONF_SUBJECT IS NOT NULL
|
|
AND cg$old_rec.NOM_CONF_SUBJECT IS NOT NULL) THEN
|
|
IF (cg$tmp_rec.NOM_CONF_SUBJECT != cg$old_rec.NOM_CONF_SUBJECT) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P200NOM_CONF_SUBJECT
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
ELSIF (cg$tmp_rec.NOM_CONF_SUBJECT IS NOT NULL
|
|
OR cg$old_rec.NOM_CONF_SUBJECT IS NOT NULL) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P200NOM_CONF_SUBJECT
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
END IF;
|
|
IF (cg$old_ind.NOM_CONF_CONTENT) THEN
|
|
IF (cg$tmp_rec.NOM_CONF_CONTENT IS NOT NULL
|
|
AND cg$old_rec.NOM_CONF_CONTENT IS NOT NULL) THEN
|
|
IF (cg$tmp_rec.NOM_CONF_CONTENT != cg$old_rec.NOM_CONF_CONTENT) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P210NOM_CONF_CONTENT
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
ELSIF (cg$tmp_rec.NOM_CONF_CONTENT IS NOT NULL
|
|
OR cg$old_rec.NOM_CONF_CONTENT IS NOT NULL) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P210NOM_CONF_CONTENT
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
END IF;
|
|
IF (cg$old_ind.COM_CONF_SUBJECT) THEN
|
|
IF (cg$tmp_rec.COM_CONF_SUBJECT IS NOT NULL
|
|
AND cg$old_rec.COM_CONF_SUBJECT IS NOT NULL) THEN
|
|
IF (cg$tmp_rec.COM_CONF_SUBJECT != cg$old_rec.COM_CONF_SUBJECT) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P220COM_CONF_SUBJECT
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
ELSIF (cg$tmp_rec.COM_CONF_SUBJECT IS NOT NULL
|
|
OR cg$old_rec.COM_CONF_SUBJECT IS NOT NULL) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P220COM_CONF_SUBJECT
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
END IF;
|
|
IF (cg$old_ind.COM_CONF_CONTENT) THEN
|
|
IF (cg$tmp_rec.COM_CONF_CONTENT IS NOT NULL
|
|
AND cg$old_rec.COM_CONF_CONTENT IS NOT NULL) THEN
|
|
IF (cg$tmp_rec.COM_CONF_CONTENT != cg$old_rec.COM_CONF_CONTENT) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P230COM_CONF_CONTENT
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
ELSIF (cg$tmp_rec.COM_CONF_CONTENT IS NOT NULL
|
|
OR cg$old_rec.COM_CONF_CONTENT IS NOT NULL) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P230COM_CONF_CONTENT
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
END IF;
|
|
IF (cg$old_ind.AUTO_GEN_CONF_AM) THEN
|
|
IF (cg$tmp_rec.AUTO_GEN_CONF_AM IS NOT NULL
|
|
AND cg$old_rec.AUTO_GEN_CONF_AM IS NOT NULL) THEN
|
|
IF (cg$tmp_rec.AUTO_GEN_CONF_AM != cg$old_rec.AUTO_GEN_CONF_AM) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P250AUTO_GEN_CONF_AM
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
ELSIF (cg$tmp_rec.AUTO_GEN_CONF_AM IS NOT NULL
|
|
OR cg$old_rec.AUTO_GEN_CONF_AM IS NOT NULL) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P250AUTO_GEN_CONF_AM
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
END IF;
|
|
IF (cg$old_ind.AUTO_GEN_CONF_PM) THEN
|
|
IF (cg$tmp_rec.AUTO_GEN_CONF_PM IS NOT NULL
|
|
AND cg$old_rec.AUTO_GEN_CONF_PM IS NOT NULL) THEN
|
|
IF (cg$tmp_rec.AUTO_GEN_CONF_PM != cg$old_rec.AUTO_GEN_CONF_PM) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P260AUTO_GEN_CONF_PM
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
ELSIF (cg$tmp_rec.AUTO_GEN_CONF_PM IS NOT NULL
|
|
OR cg$old_rec.AUTO_GEN_CONF_PM IS NOT NULL) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P260AUTO_GEN_CONF_PM
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
END IF;
|
|
IF (cg$old_ind.IND_DEADLINE_FOR_NOM_SUBMIT) THEN
|
|
IF (cg$tmp_rec.IND_DEADLINE_FOR_NOM_SUBMIT IS NOT NULL
|
|
AND cg$old_rec.IND_DEADLINE_FOR_NOM_SUBMIT IS NOT NULL) THEN
|
|
IF (cg$tmp_rec.IND_DEADLINE_FOR_NOM_SUBMIT != cg$old_rec.IND_DEADLINE_FOR_NOM_SUBMIT) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P270IND_DEADLINE_FOR_NOM_SUBMI
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
ELSIF (cg$tmp_rec.IND_DEADLINE_FOR_NOM_SUBMIT IS NOT NULL
|
|
OR cg$old_rec.IND_DEADLINE_FOR_NOM_SUBMIT IS NOT NULL) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P270IND_DEADLINE_FOR_NOM_SUBMI
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
END IF;
|
|
|
|
-- Mandatory Columns
|
|
|
|
IF (cg$old_ind.CREATED_BY) THEN
|
|
IF (cg$tmp_rec.CREATED_BY != cg$old_rec.CREATED_BY) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P100CREATED_BY
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
END IF;
|
|
IF (cg$old_ind.CUST_ID) THEN
|
|
IF (cg$tmp_rec.CUST_ID != cg$old_rec.CUST_ID) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P10CUST_ID
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
END IF;
|
|
IF (cg$old_ind.CODE) THEN
|
|
IF (cg$tmp_rec.CODE != cg$old_rec.CODE) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P20CODE
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
END IF;
|
|
IF (cg$old_ind.NAME) THEN
|
|
IF (cg$tmp_rec.NAME != cg$old_rec.NAME) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P30NAME
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
END IF;
|
|
IF (cg$old_ind.PERIOD_START) THEN
|
|
IF (cg$tmp_rec.PERIOD_START != cg$old_rec.PERIOD_START) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P40PERIOD_START
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
END IF;
|
|
IF (cg$old_ind.CREATED_ON) THEN
|
|
IF (cg$tmp_rec.CREATED_ON != cg$old_rec.CREATED_ON) THEN
|
|
cg$errors.push(cg$errors.MsgGetText(cg$errors.API_ROW_MOD, cg$errors.ROW_MOD, P110CREATED_ON
|
|
),'E', 'API', CG$ERRORS.API_MODIFIED, 'cg$CUSTOMERS.lck');
|
|
any_modified := TRUE;
|
|
END IF;
|
|
END IF;
|
|
|
|
IF (any_modified) THEN
|
|
cg$errors.raise_failure;
|
|
END IF;
|
|
|
|
-- Application_logic Post-Lock <<Start>>
|
|
-- Application_logic Post-Lock << End >>
|
|
|
|
END lck;
|
|
|
|
|
|
BEGIN
|
|
cg$ind_true.CREATED_BY := TRUE;
|
|
cg$ind_true.CUST_ID := TRUE;
|
|
cg$ind_true.CODE := TRUE;
|
|
cg$ind_true.NAME := TRUE;
|
|
cg$ind_true.PERIOD_START := TRUE;
|
|
cg$ind_true.DESCRIPTION := TRUE;
|
|
cg$ind_true.PERIOD_END := TRUE;
|
|
cg$ind_true.EMAIL_ADDRESS := TRUE;
|
|
cg$ind_true.TELEPHONE := TRUE;
|
|
cg$ind_true.FAX := TRUE;
|
|
cg$ind_true.CREATED_ON := TRUE;
|
|
cg$ind_true.UPDATED_BY := TRUE;
|
|
cg$ind_true.UPDATED_ON := TRUE;
|
|
cg$ind_true.CUTY_ID := TRUE;
|
|
cg$ind_true.PRIMARY_CONTACT := TRUE;
|
|
cg$ind_true.PRIMARY_CONTACT_TEL := TRUE;
|
|
cg$ind_true.KAM_MANAGER_SYUS_ID := TRUE;
|
|
cg$ind_true.KAM_TELEPHONE := TRUE;
|
|
cg$ind_true.STATUS := TRUE;
|
|
cg$ind_true.NOM_CONF_SUBJECT := TRUE;
|
|
cg$ind_true.NOM_CONF_CONTENT := TRUE;
|
|
cg$ind_true.COM_CONF_SUBJECT := TRUE;
|
|
cg$ind_true.COM_CONF_CONTENT := TRUE;
|
|
cg$ind_true.AUTO_GEN_CONF_AM := TRUE;
|
|
cg$ind_true.AUTO_GEN_CONF_PM := TRUE;
|
|
cg$ind_true.IND_DEADLINE_FOR_NOM_SUBMIT := TRUE;
|
|
|
|
|
|
END cg$CUSTOMERS;
|
|
/
|
|
|