Payroll: Replicate Formula

From KeystoneIntranet
Revision as of 16:21, 10 April 2017 by Intra>Chanson (→‎Replicate Formula)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Replicate Formula

Model Query:

INSERT INTO PRTFORMULA
( FORMULA_ID, DESCRIPTION, CUSTOM_FLAG, FORMULA_TYPE, ACTIVE_FLAG, LAST_CHANGE_DATETIME, LAST_CHANGE_USER )
SELECT
  '~NEW_FORM_ID~', '~NEW_FORM_DESC~', 'Y', FORMULA_TYPE, 'Y', CAST('TODAY' AS TIMESTAMP), 'HIT'   FROM PRTFORMULA WHERE FORMULA_ID='~ORIG_FORM_ID~';
 
INSERT INTO PRTPOP
( FORMULA_ID, SEQUENCE, OPERATION, PARAM_1, PARAM_2, PARAM_3, CONTROL_FLAG, COMMENT )
 SELECT '~NEW_FORM_ID~', SEQUENCE, OPERATION, PARAM_1, PARAM_2, PARAM_3, CONTROL_FLAG, COMMENT FROM PRTPOP WHERE FORMULA_ID = '~ORIG_FORM_ID~';

INSERT INTO PRTFORMFACT
( FORMULA_ID, FACTOR_ID, DESCRIPTION, VALUE_TYPE, TYPE_FLAG, EVENT_TYPE, LAST_CHANGE_DATETIME, LAST_CHANGE_USER )
SELECT
 '~NEW_FORM_ID~', FACTOR_ID, DESCRIPTION, VALUE_TYPE, TYPE_FLAG, EVENT_TYPE, CAST('TODAY' AS TIMESTAMP), 'HIT'
   FROM PRTFORMFACT WHERE FORMULA_ID='~ORIG_FORM_ID~';
 

Note: Refresh Cache

Example:

INSERT INTO PRTFORMULA
( FORMULA_ID, DESCRIPTION, CUSTOM_FLAG, FORMULA_TYPE, ACTIVE_FLAG, LAST_CHANGE_DATETIME, LAST_CHANGE_USER )
SELECT
  'CO_RETMAT', 'COMPANY RETIREMENT MATCH ALL', 'Y', FORMULA_TYPE, 'Y', CAST('TODAY' AS TIMESTAMP), 'HIT'   FROM PRTFORMULA WHERE FORMULA_ID='CO_401KTT';

  
INSERT INTO PRTPOP
( FORMULA_ID, SEQUENCE, OPERATION, PARAM_1, PARAM_2, PARAM_3, CONTROL_FLAG, COMMENT )
 SELECT 'CO_RETMAT', SEQUENCE, OPERATION, PARAM_1, PARAM_2, PARAM_3, CONTROL_FLAG, COMMENT FROM PRTPOP WHERE FORMULA_ID = 'CO_401KTT';

 
INSERT INTO PRTFORMFACT
( FORMULA_ID, FACTOR_ID, DESCRIPTION, VALUE_TYPE, TYPE_FLAG, EVENT_TYPE, LAST_CHANGE_DATETIME, LAST_CHANGE_USER )
SELECT
 'CO_RETMAT', FACTOR_ID, DESCRIPTION, VALUE_TYPE, TYPE_FLAG, EVENT_TYPE, CAST('TODAY' AS TIMESTAMP), 'HIT'
  FROM PRTFORMFACT WHERE FORMULA_ID='CO_401KT';