DBA Data[Home] [Help]

APPS.PA_PAY_INTERFACE SQL Statements

The following lines contain the word 'select', 'insert', 'update' or 'delete':

Line: 69

PROCEDURE INSERT_AUDIT_RECORDS
(
P_DATE_START DATE,
 P_DATE_END   DATE ,
 P_PAYROLL_ID NUMBER,
 P_EMP_ORG_ID NUMBER,
 P_PERSON_ID NUMBER);
Line: 115

 Procedure           : INSERT_AUDIT_RECORDS
 Type                : Private
 Purpose             :
 Generates the interface_run_id  which is the unique identifier for
 each payroll batch  .
 Makes an entry  in PA_PAY_AUDIT table.

*/

PROCEDURE INSERT_AUDIT_RECORDS
(P_DATE_START DATE,
 P_DATE_END   DATE ,
 P_PAYROLL_ID NUMBER,
 P_EMP_ORG_ID NUMBER,
 P_PERSON_ID NUMBER
)
IS
      L_RUN_SEQUENCE NUMBER;
Line: 135

/* Generate interface run id and insert audit record for EBS Payroll  */

      FOR X IN
      ( SELECT DISTINCT
         PPIT.PAYROLL_ACTION_ID     ,
            PPIT.PAYROLL_ID            ,
            PPIT.TIME_PERIOD_START_DATE,
            PPIT.TIME_PERIOD_END_DATE  ,
            PPIT.TIME_PERIOD_ID   ,
            PPIT.SOURCE_START_DATE, /* bug 12690224*/
            PPIT.SOURCE_END_DATE
         FROM
            PA_PAY_INTERFACE_TEMP PPIT
     ORDER BY
            PAYROLL_ACTION_ID

      )
      LOOP

            BEGIN
             SELECT
                  NVL(MAX(RUN_SEQUENCE),0) +1 ,
                  MAX(INTERFACE_RUN_ID)
               INTO
                  L_RUN_SEQUENCE ,
                  L_MAX_RUN_ID
               FROM
                  PA_PAY_AUDIT_ALL
              WHERE
                  BATCH_ID       = X.PAYROLL_ACTION_ID AND
                  PAYROLL_ID     = X.PAYROLL_ID AND
                  TIME_PERIOD_ID = X.TIME_PERIOD_ID ;
Line: 174

             INSERT
               INTO
                  PA_PAY_AUDIT
                  (
                        ORG_ID               ,
                        BATCH_ID             ,
                        PAYROLL_ID           ,
                        INT_EXT_INDICATOR    ,
                        PAY_PERIOD_START_DATE,
                        PAY_PERIOD_END_DATE  ,
                        SOURCE_START_DATE ,    /* bug 12690224*/
                        SOURCE_END_DATE,
                        INTERFACE_RUN_ID     ,
                        TIME_PERIOD_ID       ,
                        PAYROLL_STATUS_FLAG  ,
                        RUN_SEQUENCE         ,
                        PREVIOUS_RUN_ID      ,
                        LAST_UPDATE_DATE     ,
                        LAST_UPDATED_BY      ,
                        CREATION_DATE        ,
                        CREATED_BY           ,
                        REQUEST_ID
                  )
                  VALUES
                  (
                        G_ORG_ID                         ,
                        X.PAYROLL_ACTION_ID              ,
                        X.PAYROLL_ID                     ,
                        'INT'                            ,
                        X.TIME_PERIOD_START_DATE         ,
                        X.TIME_PERIOD_END_DATE           ,
                        X.SOURCE_START_DATE ,             /* bug 12690224*/
                        X.SOURCE_END_DATE,
                        PA_PAY_INTERFACE_RUN_ID_S.NEXTVAL,
                        X.TIME_PERIOD_ID                 ,
                        'Y'                              ,
                        L_RUN_SEQUENCE                   ,
                        L_MAX_RUN_ID                     ,
                        G_RUN_DATE                       ,
                        G_USER_ID                        ,
                        G_RUN_DATE                       ,
                        G_USER_ID                        ,
                        G_REQUEST_ID
                  );
Line: 220

/* Generate interface run id and insert audit record for  Third party   Payroll  */
  FOR X IN
      (  SELECT DISTINCT
            PPEI.PAYROLL_BATCH_ID     ,
            PPEI.PAYROLL_ID            ,
            PPEI.TIME_PERIOD_START_DATE,
            PPEI.TIME_PERIOD_END_DATE  ,
            PPEI.TIME_PERIOD_ID  ,
            PPEI.RETRO_PERIOD_START_DATE  ,
            PPEI.RETRO_PERIOD_END_DATE,
			PPEP.PRIORITY
         FROM
            PA_PAY_EXT_INTERAFACE_V  PPEI,
			PA_PAY_EXTERNAL_PAYROLL  PPEP
          WHERE PPEP.PAYROLL_ID = PPEI.PAYROLL_ID AND
		  Trunc(PPEI.TIME_PERIOD_END_DATE) BETWEEN  P_DATE_START AND  P_DATE_END
          AND     PPEI.PAYROLL_ID =  Nvl(P_PAYROLL_ID,PPEI.PAYROLL_ID)
          AND     PPEI.PERSON_ID =  Nvl(P_PERSON_ID,PPEI.PERSON_ID)
          AND     PPEI.EMP_ORGANIZATION_ID = Nvl(P_EMP_ORG_ID,PPEI.EMP_ORGANIZATION_ID)
          AND TRANSFER_STATUS_FLAG = 'P'
      ORDER BY
            PPEI.PAYROLL_BATCH_ID,
			PPEP.PRIORITY
      )
      LOOP

            BEGIN
             SELECT
                  NVL(MAX(RUN_SEQUENCE),0) +1 ,
                  MAX(INTERFACE_RUN_ID)
               INTO
                  L_RUN_SEQUENCE ,
                  L_MAX_RUN_ID
               FROM
                  PA_PAY_AUDIT_ALL
              WHERE
                  BATCH_ID       = X.PAYROLL_BATCH_ID AND
                  PAYROLL_ID     = X.PAYROLL_ID AND
                  TIME_PERIOD_ID = X.TIME_PERIOD_ID ;
Line: 266

             INSERT
               INTO
                  PA_PAY_AUDIT
                  (
                        ORG_ID               ,
                        BATCH_ID             ,
                        PAYROLL_ID           ,
                        INT_EXT_INDICATOR    ,
                        PAY_PERIOD_START_DATE,
                        PAY_PERIOD_END_DATE  ,
                        INTERFACE_RUN_ID     ,
                        TIME_PERIOD_ID       ,
                        PAYROLL_STATUS_FLAG  ,
                        RUN_SEQUENCE         ,
                        PREVIOUS_RUN_ID      ,
                        LAST_UPDATE_DATE     ,
                        LAST_UPDATED_BY      ,
                        CREATION_DATE        ,
                        CREATED_BY           ,
                        REQUEST_ID
                  )
                  VALUES
                  (
                        G_ORG_ID                         ,
                        X.PAYROLL_BATCH_ID              ,
                        X.PAYROLL_ID                     ,
                        'EXT'                            ,
                        X.TIME_PERIOD_START_DATE         ,
                        X.TIME_PERIOD_END_DATE           ,
                        PA_PAY_INTERFACE_RUN_ID_S.NEXTVAL,
                        X.TIME_PERIOD_ID                 ,
                        'Y'                              ,
                        L_RUN_SEQUENCE                   ,
                        L_MAX_RUN_ID                     ,
                        G_RUN_DATE                       ,
                        G_USER_ID                        ,
                        G_RUN_DATE                       ,
                        G_USER_ID                        ,
                        G_REQUEST_ID
                  );
Line: 313

END INSERT_AUDIT_RECORDS;
Line: 322

 option  selected for CP
 */


PROCEDURE INTERFACE_PAY
( errbuf          OUT NOCOPY VARCHAR2
  ,retcode         OUT NOCOPY VARCHAR2
  ,P_FROM_DATE IN VARCHAR2
 , P_TO_DATE   IN VARCHAR2
 ,P_STREAMLINE IN VARCHAR2
 , P_PAYROLL_ID IN NUMBER
 , P_EMP_ORG_ID IN NUMBER
 , P_PERSON_ID IN NUMBER
) IS

l_date_from      DATE;
Line: 350

SELECT DISTINCT PAA.INTERFACE_RUN_ID,
  PAA.PAYROLL_ID,
  PAA.TIME_PERIOD_ID,
  PAA.PAY_PERIOD_END_DATE,
  PIT.ELEMENT_TYPE_ID,
  PEM.PAYROLL_PROJ_SEGMENT,
  PEM.PAYROLL_TASK_SEGMENT,
  PEM.PAYROLL_EXP_ORG_SEGMENT
FROM PA_PAY_AUDIT PAA,
  (select  distinct
    PAYROLL_ACTION_ID ,
    PAYROLL_ID,
    TIME_PERIOD_ID,
    TIME_PERIOD_END_DATE,
    ELEMENT_TYPE_ID
 from
     PA_PAY_INTERFACE_TEMP ) PIT,
     PA_PAY_ELEMENT_MAPPING PEM
WHERE
 PAA.BATCH_ID       = PIT.PAYROLL_ACTION_ID
AND PAA.PAYROLL_ID     = PIT.PAYROLL_ID
AND PAA.TIME_PERIOD_ID = PIT.TIME_PERIOD_ID
AND PAA.org_id =  PEM.ORG_ID
AND PIT.TIME_PERIOD_END_DATE between pem.start_date_active  and  Nvl(pem.end_date_active,PIT.TIME_PERIOD_END_DATE +1)
and PIT.ELEMENT_TYPE_ID =  pem.pay_element_type_id;
Line: 395

 SELECT sysdate INTO G_RUN_DATE FROM dual;
Line: 424

INSERT_AUDIT_RECORDS (l_date_from,l_date_to,P_PAYROLL_ID,P_EMP_ORG_ID,P_PERSON_ID);
Line: 447

FOR X  IN  (SELECT  * FROM     PA_PAY_AUDIT WHERE  request_id =  G_REQUEST_ID ORDER BY INTERFACE_RUN_ID)
LOOP
write_log( Log, '===========  Processing starts for =========== ' ) ;
Line: 482

        DELETE FROM  pa_pay_dist_lines
        WHERE  interface_run_id  =  G_INTERFACE_RUN_ID  AND
        person_id        IN     (SELECT DISTINCT PPS.PERSON_ID
                                                FROM             PA_PAY_REJECTIONS_ALL  PPR , PA_PAY_SOURCE_AMOUNTS   PPS
                                                WHERE            PPR.INTERFACE_RUN_ID = G_INTERFACE_RUN_ID
                                                  AND            PPR.PAY_SOURCE_ID    = PPS.PAY_SOURCE_ID

                                                ) ;
Line: 497

          SELECT DISTINCT PERSON_ID,ASSIGNMENT_ID
          FROM            PA_PAY_SOURCE_AMOUNTS
          WHERE           INTERFACE_RUN_ID = G_INTERFACE_RUN_ID
          AND             PERSON_ID  NOT IN ( SELECT DISTINCT PPS.PERSON_ID
                                                FROM             PA_PAY_REJECTIONS_ALL  PPR , PA_PAY_SOURCE_AMOUNTS   PPS
                                                WHERE            PPR.INTERFACE_RUN_ID = G_INTERFACE_RUN_ID
                                                  AND            PPR.PAY_SOURCE_ID    = PPS.PAY_SOURCE_ID

                                                )
          )
          LOOP

        /* Added for bug 13681581 */
        BEGIN
        SAVEPOINT process_emp_pay;
Line: 586

INSERT
INTO PA_PAY_INTERFACE_TEMP
  (
    COST_TYPE,
    EFFECTIVE_DATE,
    BUSINESS_GROUP_ID,
    CONSOLIDATION_SET_NAME,
    PAYROLL_NAME,
    ORGANIZATION_NAME,
    LOCATION_CODE,
    FULL_NAME,
    FIRST_NAME,
    LAST_NAME,
    MIDDLE_NAMES,
    EMPLOYEE_NUMBER,
    NATIONAL_IDENTIFIER,
    ASSIGNMENT_NUMBER,
    ELEMENT_NAME,
    REPORTING_NAME,
    CLASSIFICATION_NAME,
    INPUT_VALUE_NAME,
    UOM,
    OUTPUT_CURRENCY_CODE,
    CREDIT_AMOUNT,
    DEBIT_AMOUNT,
    CONCATENATED_SEGMENTS,
    SEGMENT1,
    SEGMENT2,
    SEGMENT3,
    SEGMENT4,
    SEGMENT5,
    SEGMENT6,
    SEGMENT7,
    SEGMENT8,
    SEGMENT9,
    SEGMENT10,
    SEGMENT11,
    SEGMENT12,
    SEGMENT13,
    SEGMENT14,
    SEGMENT15,
    SEGMENT16,
    SEGMENT17,
    SEGMENT18,
    SEGMENT19,
    SEGMENT20,
    SEGMENT21,
    SEGMENT22,
    SEGMENT23,
    SEGMENT24,
    SEGMENT25,
    SEGMENT26,
    SEGMENT27,
    SEGMENT28,
    SEGMENT29,
    SEGMENT30,
    PAYROLL_ACTION_ID,
    ASSIGNMENT_ACTION_ID,
    CONSOLIDATION_SET_ID,
    PAYROLL_ID,
    TAX_UNIT_ID,
    ORGANIZATION_ID,
    LOCATION_ID,
    PERSON_ID,
    ASSIGNMENT_ID,
    CLASSIFICATION_ID,
    ELEMENT_TYPE_ID,
    INPUT_VALUE_ID,
    RUN_RESULT_ID,
    GRE_NAME,
    COST_ID,
    TRANSFERED_TO_PRJ,
    TIME_PERIOD_ID,
    TIME_PERIOD_START_DATE,
    TIME_PERIOD_END_DATE,
    SOURCE_CREATOR_TYPE,
    SOURCE_START_DATE,
    SOURCE_END_DATE
  )
  SELECT COST_TYPE,
  EFFECTIVE_DATE,
  PCPV.BUSINESS_GROUP_ID,
  CONSOLIDATION_SET_NAME,
  PAYROLL_NAME,
  ORGANIZATION_NAME,
  LOCATION_CODE,
  FULL_NAME,
  FIRST_NAME,
  LAST_NAME,
  MIDDLE_NAMES,
  PCPV.EMPLOYEE_NUMBER,
  NATIONAL_IDENTIFIER,
  PCPV.ASSIGNMENT_NUMBER,
  ELEMENT_NAME,
  REPORTING_NAME,
  CLASSIFICATION_NAME,
  INPUT_VALUE_NAME,
  UOM,
  OUTPUT_CURRENCY_CODE,
  CREDIT_AMOUNT,
  DEBIT_AMOUNT,
  CONCATENATED_SEGMENTS,
  SEGMENT1,
  SEGMENT2,
  SEGMENT3,
  SEGMENT4,
  SEGMENT5,
  SEGMENT6,
  SEGMENT7,
  SEGMENT8,
  SEGMENT9,
  SEGMENT10,
  SEGMENT11,
  SEGMENT12,
  SEGMENT13,
  SEGMENT14,
  SEGMENT15,
  SEGMENT16,
  SEGMENT17,
  SEGMENT18,
  SEGMENT19,
  SEGMENT20,
  SEGMENT21,
  SEGMENT22,
  SEGMENT23,
  SEGMENT24,
  SEGMENT25,
  SEGMENT26,
  SEGMENT27,
  SEGMENT28,
  SEGMENT29,
  SEGMENT30,
  PAYROLL_ACTION_ID,
  ASSIGNMENT_ACTION_ID,
  CONSOLIDATION_SET_ID,
  PCPV.PAYROLL_ID,
  TAX_UNIT_ID,
  PCPV.ORGANIZATION_ID,
  PCPV.LOCATION_ID,
  PCPV.PERSON_ID,
  PCPV.ASSIGNMENT_ID,
  CLASSIFICATION_ID,
  ELEMENT_TYPE_ID,
  INPUT_VALUE_ID,
  RUN_RESULT_ID,
  GRE_NAME,
  COST_ID,
  TRANSFERED_TO_PRJ,
  TIME_PERIOD_ID,
  TIME_PERIOD_START_DATE,
  TIME_PERIOD_END_DATE,
  SOURCE_CREATOR_TYPE,
  (CASE WHEN SOURCE_CREATOR_TYPE IN ('R','RR','EE','PR','NR') THEN   SOURCE_START_DATE
          ELSE   NULL
         END), /* bug 12690224*/
  (CASE WHEN SOURCE_CREATOR_TYPE IN ('R','RR','EE','PR','NR') THEN   SOURCE_END_DATE
          ELSE   NULL
         END)
FROM
PAY_COSTING_PROJECTS_V   PCPV ,
PER_ALL_ASSIGNMENTS_F      PAAF ,
hr_organization_information HOI
WHERE
PCPV.PERSON_ID          =   PAAF.PERSON_ID          AND
PCPV.ASSIGNMENT_NUMBER  =   PAAF.ASSIGNMENT_NUMBER  AND
HOI.organization_id =  PAAF.organization_id AND
HOI.ORG_INFORMATION1 =  To_Char(FND_GLOBAL.ORG_ID) AND
PCPV.TIME_PERIOD_END_DATE  BETWEEN (P_FROM_DATE )  AND  ( P_TO_DATE )
AND     PCPV.PAYROLL_ID =  Nvl(P_PAYROLL_ID,PCPV.PAYROLL_ID)
AND     PCPV.PERSON_ID =  Nvl(P_PERSON_ID,PCPV.PERSON_ID)
AND     PCPV.ORGANIZATION_ID = Nvl(P_EMP_ORG_ID,PCPV.ORGANIZATION_ID)
AND     BALANCE_OR_COST = 'C'
AND   Nvl(TRANSFERED_TO_PRJ,'N' ) = 'N';
Line: 784

l_insert_fixed    VARCHAR2(2000);
Line: 785

l_insert_random    VARCHAR2(2000);
Line: 799

l_insert_fixed :=
 'INSERT
  INTO PA_PAY_SOURCE_AMOUNTS
  ( PAY_SOURCE_ID,
    INTERFACE_RUN_ID,
    PERSON_ID,
    ASSIGNMENT_ID,
    EMP_ORGANIZATION_ID,
    PAY_ELEMENT_TYPE_ID,
    PAY_ELEMENT_MAP_ID,
	  COST_TYPE_CODE,
	  DISTRIBUTION_BASIS_CODE,
	  TIMECARD_ELEMENT,
	  TIMECARD_EXP_TYPE,
	  ALLOW_MISC_FLAG,
	  EXPENDITURE_TYPE,
	  PROJ_COST_REQD,
    PAYROLL_EXP_ORG_SEGMENT,
    PAYROLL_PROJ_SEGMENT,
    PAYROLL_TASK_SEGMENT,
    PAY_CURRENCY_CODE,
    ORG_ID,
    REQUEST_ID,
    LAST_UPDATE_DATE,
    LAST_UPDATED_BY,
    CREATION_DATE,
    CREATED_BY' ;
Line: 829

  ' SELECT
  PA_PAY_SOURCE_ID_S.nextval ,INNER.* from
  (Select
  PAA.INTERFACE_RUN_ID,
  PIT.PERSON_ID,
  PIT.ASSIGNMENT_ID,
  PIT.ORGANIZATION_ID ,
  PIT.ELEMENT_TYPE_ID,
  PEM.PAY_ELEMENT_MAP_ID,
	PEM.COST_TYPE_CODE,
	PEM.DISTRIBUTION_BASIS_CODE,
	PEM.TIMECARD_ELEMENT,
	PEM.TIMECARD_EXP_TYPE,
	PEM.ALLOW_MISC_FLAG,
	PEM.EXPENDITURE_TYPE,
	PEM.PROJ_COST_REQD,
  PEM.PAYROLL_EXP_ORG_SEGMENT,
  PEM.PAYROLL_PROJ_SEGMENT,
  PEM.PAYROLL_TASK_SEGMENT,
  PIT.OUTPUT_CURRENCY_CODE,
  458 ORG,
  FND_GLOBAL.CONC_REQUEST_ID,
  trunc(sysdate)L_UPDATE_DATE,
  fnd_global.user_id L_UPDATE_BY,
  trunc(sysdate) C_UPDATE_DATE,
  fnd_global.user_id C_UPDATE_BY,';
Line: 857

       l_insert_random :=  ' , PAY_SOURCE_PROJECT_ID';
Line: 863

       l_insert_random   := l_insert_random   || ' , PAY_SOURCE_TASK_ID';
Line: 869

       l_insert_random    := l_insert_random    || ' , PAY_SOURCE_ORGANIZATION_ID';
Line: 875

  l_insert_random := l_insert_random || ' , PAY_AMOUNT )';
Line: 915

l_sql_final := l_insert_fixed ||l_insert_random ||  l_sql_sel_fixed ||l_sql_sel_random ||  l_sql_from_where ||l_sql_goup_Fixed || l_sql_goup_random|| ') INNER';
Line: 952

  INSERT
   INTO
      PA_PAY_SOURCE_AMOUNTS
      (
            PAY_SOURCE_ID           ,
            INTERFACE_RUN_ID        ,
            PERSON_ID               ,
            ASSIGNMENT_ID           ,
            EMP_ORGANIZATION_ID     ,
            PAY_ELEMENT_TYPE_CODE     ,
            PAY_ELEMENT_MAP_ID      ,
            COST_TYPE_CODE          ,
            DISTRIBUTION_BASIS_CODE,
            TIMECARD_ELEMENT        ,
            TIMECARD_EXP_TYPE       ,
            ALLOW_MISC_FLAG         ,
            EXPENDITURE_TYPE        ,
            PROJ_COST_REQD          ,
            PAY_SOURCE_ORGANIZATION_ID ,
            PAY_SOURCE_PROJECT_ID    ,
            PAY_SOURCE_TASK_ID    ,
            PAY_CURRENCY_CODE       ,
            ORG_ID                  ,
            REQUEST_ID              ,
            LAST_UPDATE_DATE       ,
            LAST_UPDATED_BY         ,
            CREATION_DATE           ,
            CREATED_BY              ,
            PAY_AMOUNT
      )
 SELECT
      PA_PAY_SOURCE_ID_S.nextval ,
      INNER.*
   FROM
      (
             SELECT
                  PAA.INTERFACE_RUN_ID          ,
                  PPEI.PERSON_ID                ,
                  PPEI.ASSIGNMENT_ID            ,
                  PPEI.EMP_ORGANIZATION_ID      ,
                  PPEI.PAY_ELEMENT_TYPE_CODE    ,
                  PEM.PAY_ELEMENT_MAP_ID        ,
                  PEM.COST_TYPE_CODE            ,
                  PEM.DISTRIBUTION_BASIS_CODE   ,
                  PEM.TIMECARD_ELEMENT          ,
                  PEM.TIMECARD_EXP_TYPE         ,
                  PEM.ALLOW_MISC_FLAG           ,
                  PEM.EXPENDITURE_TYPE          ,
                  PEM.PROJ_COST_REQD            ,
                  PPEI.PAY_SOURCE_ORGANIZATION_ID   ,
                  PPEI.PAY_SOURCE_PROJECT_ID      ,
                  PPEI.PAY_SOURCE_TASK_ID      ,
                  PPEI.PAY_CURRENCY_CODE        ,
                  G_ORG_ID                      ,
                  FND_GLOBAL.CONC_REQUEST_ID    ,
                  TRUNC(sysdate)L_UPDATE_DATE   ,
                  fnd_global.user_id L_UPDATE_BY,
                  TRUNC(sysdate) C_UPDATE_DATE  ,
                  fnd_global.user_id C_UPDATE_BY,
                  SUM(PAY_AMOUNT) PAY_AMOUNT
               FROM
                  PA_PAY_AUDIT PAA           ,
                  PA_PAY_EXT_INTERAFACE_V  PPEI,
                  PA_PAY_ELEMENT_MAPPING PEM
              WHERE
                  PAA.REQUEST_ID             = G_REQUEST_ID AND
                  PAA.BATCH_ID               = PPEI.PAYROLL_BATCH_ID AND
                  PAA.PAYROLL_ID             = PPEI.PAYROLL_ID AND
                  PAA.TIME_PERIOD_ID         = PPEI.TIME_PERIOD_ID AND
                  PPEI.PAY_ELEMENT_TYPE_CODE = PEM.PAY_ELEMENT_CODE AND
                  /*PPEI.ELEMENT_TYPE_ID  = :C_ELEMENT_TYPE_ID AND */
                  --For third party , every thign shd run at one shot
                  (
                        PPEI.TIME_PERIOD_END_DATE BETWEEN PEM.START_DATE_ACTIVE
                        AND NVL(PEM.END_DATE_ACTIVE,PPEI.TIME_PERIOD_END_DATE +
                        1 )
                  )
           GROUP BY
                  PAA.INTERFACE_RUN_ID       ,
                  PPEI.PERSON_ID             ,
                  PPEI.ASSIGNMENT_ID         ,
                  PPEI.EMP_ORGANIZATION_ID   ,
                  PPEI.PAY_ELEMENT_TYPE_CODE ,
                  PEM.PAY_ELEMENT_MAP_ID     ,
                  PEM.COST_TYPE_CODE         ,
                  PEM.DISTRIBUTION_BASIS_CODE,
                  PEM.TIMECARD_ELEMENT       ,
                  PEM.TIMECARD_EXP_TYPE      ,
                  PEM.ALLOW_MISC_FLAG        ,
                  PEM.EXPENDITURE_TYPE       ,
                  PEM.PROJ_COST_REQD         ,
                  PPEI.PAY_SOURCE_ORGANIZATION_ID ,
                  PPEI.PAY_SOURCE_PROJECT_ID  ,
                  PPEI.PAY_SOURCE_TASK_ID ,
                  PPEI.PAY_CURRENCY_CODE
      )
      INNER;
Line: 1071

   INSERT
   INTO
      PA_PAY_REJECTIONS_ALL
      (
            PAY_REJECTION_ID  ,
            INTERFACE_RUN_ID ,
            PERSON_ID        ,
            ASSIGNMENT_ID    ,
            PAY_SOURCE_ID    ,
			PAY_ELEMENT_TYPE_ID , /*  Bug 12678472 */
            REJECTION_CODE   ,
            LAST_UPDATE_DATE ,
            LAST_UPDATED_BY  ,
            CREATION_DATE    ,
            CREATED_BY
      )
 SELECT
      PA_PAY_REJECTION_ID_S.NEXTVAL,
      INTERFACE_RUN_ID             ,
      PERSON_ID                    ,
      ASSIGNMENT_ID                ,
      Pay_source_id                ,
	  PAY_ELEMENT_TYPE_ID          , /*  Bug 12678472 */
      'RC 10'                       ,
      G_RUN_DATE                   ,
      G_USER_ID                    ,
      G_RUN_DATE                   ,
      G_USER_ID
   FROM
      PA_PAY_SOURCE_AMOUNTS
  WHERE
      PROJ_COST_REQD        = 'YES'  AND
   /* PAYROLL_PROJ_SEGMENT IS NULL AND   Bug 12678472 */
	  PAY_SOURCE_PROJECT_ID IS NULL AND
      REQUEST_ID            = G_REQUEST_ID;
Line: 1109

   INSERT
   INTO
      PA_PAY_REJECTIONS_ALL
      (
            PAY_REJECTION_ID  ,
            INTERFACE_RUN_ID ,
            PERSON_ID        ,
            ASSIGNMENT_ID    ,
            PAY_SOURCE_ID    ,
			PAY_ELEMENT_TYPE_ID , /*  Bug 12678472 */
            REJECTION_CODE   ,
            LAST_UPDATE_DATE ,
            LAST_UPDATED_BY  ,
            CREATION_DATE    ,
            CREATED_BY
      )
 SELECT
      PA_PAY_REJECTION_ID_S.NEXTVAL,
      INTERFACE_RUN_ID             ,
      PERSON_ID                    ,
      ASSIGNMENT_ID                ,
      PAY_SOURCE_ID                ,
	  PAY_ELEMENT_TYPE_ID , /*  Bug 12678472 */
      'RC 15'                       ,
      G_RUN_DATE                   ,
      G_USER_ID                    ,
      G_RUN_DATE                   ,
      G_USER_ID
   FROM
      PA_PAY_SOURCE_AMOUNTS
  WHERE
      DISTRIBUTION_BASIS_CODE = 'NONE' AND
      (
            PAY_SOURCE_PROJECT_ID IS NULL OR
            PAY_SOURCE_TASK_ID    IS NULL
      )
      AND
      REQUEST_ID = G_REQUEST_ID;
Line: 1151

      INSERT
   INTO
      PA_PAY_REJECTIONS_ALL
      (
            PAY_REJECTION_ID  ,
            INTERFACE_RUN_ID ,
            PERSON_ID        ,
            ASSIGNMENT_ID    ,
            PAY_SOURCE_ID    ,
            PAY_ELEMENT_TYPE_ID ,
            REJECTION_CODE   ,
            LAST_UPDATE_DATE ,
            LAST_UPDATED_BY  ,
            CREATION_DATE    ,
            CREATED_BY
      )
 SELECT
      PA_PAY_REJECTION_ID_S.NEXTVAL,
      PPS.INTERFACE_RUN_ID             ,
      PERSON_ID                    ,
      ASSIGNMENT_ID                ,
      Pay_source_id                ,
        PAY_ELEMENT_TYPE_ID          ,
      'RC 24'                       ,
      G_RUN_DATE                   ,
      G_USER_ID                    ,
      G_RUN_DATE                   ,
      G_USER_ID
   FROM
      PA_PAY_SOURCE_AMOUNTS PPS, PA_PAY_AUDIT PPA
  WHERE
      PPS.INTERFACE_RUN_ID =  PPA.INTERFACE_RUN_ID  AND
      PPA.SOURCE_START_DATE IS NULL AND
      PPS.PAY_AMOUNT < 0  AND
      NVL(PPS.ALLOW_MISC_FLAG,'NO') ='NO' AND /*Added for bug#13595751*/
      PPS.REQUEST_ID            = G_REQUEST_ID;
Line: 1192

   INSERT
   INTO
      PA_PAY_REJECTIONS_ALL
      (
            PAY_REJECTION_ID ,
            INTERFACE_RUN_ID ,
            PERSON_ID        ,
            ASSIGNMENT_ID    ,
            PAY_SOURCE_ID    ,
			PAY_ELEMENT_TYPE_ID , /*  Bug 12678472 */
            REJECTION_CODE   ,
            LAST_UPDATE_DATE ,
            LAST_UPDATED_BY  ,
            CREATION_DATE    ,
            CREATED_BY
      )
 SELECT
      PA_PAY_REJECTION_ID_S.NEXTVAL,
      INTERFACE_RUN_ID           ,
      PERSON_ID                  ,
      ASSIGNMENT_ID              ,
      Pay_source_id                ,
	  PAY_ELEMENT_TYPE_ID , /*  Bug 12678472 */
      'RC 70'                       ,
      G_RUN_DATE                   ,
      G_USER_ID                    ,
      G_RUN_DATE                   ,
      G_USER_ID
   FROM
      PA_PAY_SOURCE_AMOUNTS PPSA
  WHERE
      PAY_SOURCE_PROJECT_ID IS NOT NULL AND
      PAY_SOURCE_TASK_ID    IS NOT NULL AND
      NOT EXISTS
      (
             SELECT
                  1
               FROM
                  PA_PROJECTS PPA ,
                  PA_TASKS PTA
              WHERE
                  PPA.PROJECT_ID                                = PPSA.PAY_SOURCE_PROJECT_ID AND
                  PTA.TASK_ID                                   = PPSA.PAY_SOURCE_TASK_ID AND
                  PTA.PROJECT_ID                                = PPA.PROJECT_ID AND   /*12824209 */
                  PA_TASK_UTILS.CHECK_CHILD_EXISTS(PTA.TASK_ID) = 0
      )
      AND
      REQUEST_ID = G_REQUEST_ID;
Line: 1248

(SELECT
      INTERFACE_RUN_ID                       ,
      TRUNC(Nvl(SOURCE_START_DATE,PAY_PERIOD_START_DATE))START_DATE ,
      TRUNC(Nvl(SOURCE_END_DATE,PAY_PERIOD_END_DATE)) END_DATE
   FROM
      PA_PAY_AUDIT
  WHERE
      REQUEST_ID = G_REQUEST_ID
)
LOOP

-- Bug 12783959
-- RC 16
-- Reject the Payroll if there exists a TC with Payroll amount and that is not yet costed.

 write_log(Log,'Checking uncosted payroll amounts in   '  ||  X.START_DATE || '-' || X.END_DATE);
Line: 1265

INSERT
   INTO
      PA_PAY_REJECTIONS_ALL
      (
            PAY_REJECTION_ID ,
            INTERFACE_RUN_ID ,
            PERSON_ID        ,
            ASSIGNMENT_ID    ,
            PAY_SOURCE_ID    ,
			      PAY_ELEMENT_TYPE_ID       ,
            REJECTION_CODE   ,
            LAST_UPDATE_DATE ,
            LAST_UPDATED_BY  ,
            CREATION_DATE    ,
            CREATED_BY
      )
 SELECT
      PA_PAY_REJECTION_ID_S.NEXTVAL,
      INTERFACE_RUN_ID             ,
      PERSON_ID                    ,
      ASSIGNMENT_ID                ,
      PAY_SOURCE_ID                ,
	    PAY_ELEMENT_TYPE_ID          ,
      'RC 16'                       ,
      G_RUN_DATE                   ,
      G_USER_ID                    ,
      G_RUN_DATE                   ,
      G_USER_ID
   FROM
      PA_PAY_SOURCE_AMOUNTS
  WHERE
      PERSON_ID IN
      (
             SELECT
                  EXP.INCURRED_BY_PERSON_ID
               FROM
                  PA_EXPENDITURE_ITEMS ITEM,
                  PA_EXPENDITURES EXP
              WHERE
                  EXP.EXPENDITURE_ID                      = ITEM.EXPENDITURE_ID AND
                  ITEM.SYSTEM_LINKAGE_FUNCTION           IN ('OT', 'ST') AND
                  EXP.INCURRED_BY_PERSON_ID              IN
                  (
                        SELECT DISTINCT
                              PERSON_ID
                           FROM
                              PA_PAY_SOURCE_AMOUNTS
                          WHERE
                              INTERFACE_RUN_ID = X.INTERFACE_RUN_ID
                  )
                  AND
                  (
                        Trunc(ITEM.EXPENDITURE_ITEM_DATE) BETWEEN X.START_DATE AND  X.END_DATE
                  )
                  AND
                  (
                        ITEM.INTERFACE_RUN_ID IS NOT NULL AND
                        Nvl(ITEM.COST_DISTRIBUTED_FLAG,'N') = 'N'
                      --  Nvl(ITEM.NET_ZERO_ADJUSTMENT_FLAG,'N') = 'N'
                  )
      )
      AND   INTERFACE_RUN_ID = X.INTERFACE_RUN_ID ;
Line: 1332

        INSERT
   INTO
      PA_PAY_REJECTIONS_ALL
      (
            PAY_REJECTION_ID ,
            INTERFACE_RUN_ID ,
            PERSON_ID        ,
            ASSIGNMENT_ID    ,
            PAY_SOURCE_ID    ,
			PAY_ELEMENT_TYPE_ID , /*  Bug 12678472 */
            REJECTION_CODE   ,
            LAST_UPDATE_DATE ,
            LAST_UPDATED_BY  ,
            CREATION_DATE    ,
            CREATED_BY
      )
 SELECT
      PA_PAY_REJECTION_ID_S.NEXTVAL,
      INTERFACE_RUN_ID             ,
      PERSON_ID                    ,
      ASSIGNMENT_ID                ,
      Pay_source_id                ,
	    PAY_ELEMENT_TYPE_ID          , /*  Bug 12678472 */
      'RC 20'                      , /*Bug 13551455*/
      G_RUN_DATE                   ,
      G_USER_ID                    ,
      G_RUN_DATE                   ,
      G_USER_ID
   FROM
      PA_PAY_SOURCE_AMOUNTS
  WHERE
      PERSON_ID IN
      (
             SELECT
                  EXP.INCURRED_BY_PERSON_ID
               FROM
                  PA_EXPENDITURE_ITEMS ITEM,
                  PA_EXPENDITURES EXP
              WHERE
                  EXP.EXPENDITURE_ID                      = ITEM.EXPENDITURE_ID AND
                  EXP.EXPENDITURE_STATUS_CODE             = 'APPROVED' AND
                  ITEM.SYSTEM_LINKAGE_FUNCTION           IN ('OT', 'ST') AND
                  NVL(ITEM.NET_ZERO_ADJUSTMENT_FLAG,'N') <> 'Y' AND
                  ITEM.QUANTITY                           < 0 AND
                  EXP.INCURRED_BY_PERSON_ID              IN
                  (
                        SELECT DISTINCT
                              PERSON_ID
                           FROM
                              PA_PAY_SOURCE_AMOUNTS
                          WHERE
                              INTERFACE_RUN_ID = X.INTERFACE_RUN_ID
                  )
                  AND
                  (
                        EXP.EXPENDITURE_ENDING_DATE BETWEEN X.START_DATE AND
                        X.END_DATE
                  )
      )
        AND  interface_run_id = X.INTERFACE_RUN_ID;
Line: 1397

         INSERT
   INTO
      PA_PAY_REJECTIONS_ALL
      (
            PAY_REJECTION_ID ,
            INTERFACE_RUN_ID ,
            PERSON_ID        ,
            ASSIGNMENT_ID    ,
            PAY_SOURCE_ID    ,
			PAY_ELEMENT_TYPE_ID , /*  Bug 12678472 */
            REJECTION_CODE   ,
            LAST_UPDATE_DATE ,
            LAST_UPDATED_BY  ,
            CREATION_DATE    ,
            CREATED_BY
      )
 SELECT
      PA_PAY_REJECTION_ID_S.NEXTVAL,
      INTERFACE_RUN_ID             ,
      PERSON_ID                    ,
      ASSIGNMENT_ID                ,
      PAY_SOURCE_ID                ,
	  PAY_ELEMENT_TYPE_ID       , /*  Bug 12678472 */
      'RC 45'                       ,
      G_RUN_DATE                   ,
      G_USER_ID                    ,
      G_RUN_DATE                   ,
      G_USER_ID
   FROM
      PA_PAY_SOURCE_AMOUNTS
  WHERE
      PERSON_ID IN
      (
             SELECT
                  EXP.INCURRED_BY_PERSON_ID
               FROM
                  PA_EXPENDITURE_ITEMS ITEM,
                  PA_EXPENDITURES EXP
              WHERE
                  EXP.EXPENDITURE_ID                      = ITEM.EXPENDITURE_ID AND
                  EXP.EXPENDITURE_STATUS_CODE             = 'APPROVED' AND
                  ITEM.SYSTEM_LINKAGE_FUNCTION           IN ('OT', 'ST') AND
                  NVL(ITEM.NET_ZERO_ADJUSTMENT_FLAG,'N') <> 'Y' AND
                  EXP.INCURRED_BY_PERSON_ID              IN
                  (
                        SELECT DISTINCT
                              PERSON_ID
                           FROM
                              PA_PAY_SOURCE_AMOUNTS
                          WHERE
                              INTERFACE_RUN_ID = X.INTERFACE_RUN_ID
                  )
                  AND
                  (
                        EXP.EXPENDITURE_ENDING_DATE BETWEEN X.START_DATE AND
                        X.END_DATE
                  )
                  AND
                  get_cost_method(ITEM.expenditure_item_id,
                  ITEM.expenditure_item_date)IS NULL
      ) ;
Line: 1461

   INSERT
   INTO
      PA_PAY_REJECTIONS_ALL
      (
            PAY_REJECTION_ID ,
            INTERFACE_RUN_ID ,
            PERSON_ID        ,
            ASSIGNMENT_ID    ,
            PAY_SOURCE_ID    ,
			PAY_ELEMENT_TYPE_ID       , /*  Bug 12678472 */
            REJECTION_CODE   ,
            LAST_UPDATE_DATE ,
            LAST_UPDATED_BY  ,
            CREATION_DATE    ,
            CREATED_BY
      )
 SELECT
      PA_PAY_REJECTION_ID_S.NEXTVAL,
      INTERFACE_RUN_ID             ,
      PERSON_ID                    ,
      ASSIGNMENT_ID                ,
      PAY_SOURCE_ID                ,
	  PAY_ELEMENT_TYPE_ID          , /*  Bug 12678472 */
      'RC 50'                       ,
      G_RUN_DATE                   ,
      G_USER_ID                    ,
      G_RUN_DATE                   ,
      G_USER_ID
   FROM
      PA_PAY_SOURCE_AMOUNTS
  WHERE
      PERSON_ID IN
      (
             SELECT
                  EXP.INCURRED_BY_PERSON_ID
               FROM
                  PA_EXPENDITURE_ITEMS ITEM,
                  PA_EXPENDITURES EXP
              WHERE
                  EXP.EXPENDITURE_ID                      = ITEM.EXPENDITURE_ID AND
                  EXP.EXPENDITURE_STATUS_CODE             = 'APPROVED' AND
                  ITEM.SYSTEM_LINKAGE_FUNCTION           IN ('OT', 'ST') AND
                  NVL(ITEM.NET_ZERO_ADJUSTMENT_FLAG,'N') <> 'Y' AND
                  EXP.INCURRED_BY_PERSON_ID              IN
                  (
                        SELECT DISTINCT
                              PERSON_ID
                           FROM
                              PA_PAY_SOURCE_AMOUNTS
                          WHERE
                              INTERFACE_RUN_ID = X.INTERFACE_RUN_ID
                  )
                  AND
                  (
                        EXP.EXPENDITURE_ENDING_DATE BETWEEN X.START_DATE AND
                        X.END_DATE
                  )
                  AND
                  (
                        COSTING_METHOD IS NOT NULL AND
                        COSTING_METHOD <> get_cost_method(
                        ITEM.expenditure_item_id,ITEM.expenditure_item_date)
                  )
      ) ;
Line: 1539

 INSERT
   INTO
      PA_PAY_REJECTIONS_ALL
      (
            INTERFACE_RUN_ID   ,
            PERSON_ID          ,
            ASSIGNMENT_ID      ,
            PAY_SOURCE_ID      ,
            PAY_ELEMENT_TYPE_ID,
            REJECTION_CODE     ,
            LAST_UPDATE_DATE   ,
            LAST_UPDATED_BY    ,
            CREATION_DATE      ,
            CREATED_BY
      )
 SELECT
      INTERFACE_RUN_ID    ,
      PERSON_ID           ,
      ASSIGNMENT_ID       ,
      Pay_source_id       ,
      PAY_ELEMENT_TYPE_ID ,
      'RC50'              ,
      G_RUN_DATE          ,
      G_USER_ID           ,
      G_RUN_DATE          ,
      G_USER_ID
   FROM
      PA_PAY_SOURCE_AMOUNTS PPSA,
      PA_PAY_AUDIT PPA
  WHERE
  PPSA.INTERFACE_RUN_ID = PPA.INTERFACE_RUN_ID AND
      PAY_SOURCE_ORGANIZATION_ID IS NOT NULL AND
      PPSA.DISTRIBUTION_BASIS_CODE in ('ST_AMT',
                                      'OT_AMT',
                                      'ST_OT_AMT',
                                      'NONE')
      NOT EXISTS
      (SELECT
            'Y'
         FROM
            pa_organizations_expend_v paev
        WHERE
            organization_id = PPSA.PAY_SOURCE_ORGANIZATION_ID AND
       AND PPA.PAY_PERIOD_END_DATE between  paev.date_from  and  paev.date_to )
      REQUEST_ID = p_request_id;  */
Line: 1585

        UPDATE PA_PAY_SOURCE_AMOUNTS PPS
        SET    PAY_REJECTION_ID =
              ( SELECT MAX(PAY_REJECTION_ID)
              FROM    PA_PAY_REJECTIONS_ALL PPR
              WHERE   PPR.PAY_SOURCE_ID = PPS.PAY_SOURCE_ID
              )
        WHERE  REQUEST_ID = G_REQUEST_ID
        AND    PAY_SOURCE_ID IN
              (SELECT PAY_SOURCE_ID
              FROM    PA_PAY_REJECTIONS_ALL
              WHERE   REQUEST_ID = G_REQUEST_ID
            ) ;
Line: 1621

INSERT
INTO PA_PAY_DIST_LINES
  ( PAY_DIST_ID,
  PAY_SOURCE_ID,
    INTERFACE_RUN_ID,
    PERSON_ID,
    ASSIGNMENT_ID,
    ORGANIZATION_ID,
    PROJECT_ID,
    TASK_ID,
    EXPENDITURE_TYPE,
    SYSTEM_LINKAGE_FUNCTION,
    EXPENDITURE_ITEM_DATE,
    PAY_ELEMENT_TYPE_ID,
    PAY_ELEMENT_TYPE_CODE,
    QUANTITY,
    DENOM_CURRENCY_CODE,
    DENOM_RAW_COST,
    DENOM_BURDEN_COST,
    ORG_ID,
    LAST_UPDATE_DATE,
    LAST_UPDATED_BY,
    CREATION_DATE,
    CREATED_BY

  )
  SELECT
  pa_pay_dist_id_s.NEXTVAL ,
  PAY_SOURCE_ID,
  INTERFACE_RUN_ID,
  PERSON_ID,
  ASSIGNMENT_ID,
  EMP_ORGANIZATION_ID,
  PAY_SOURCE_PROJECT_ID,
  PAY_SOURCE_TASK_ID,
  EXPENDITURE_TYPE,
  DECODE(COST_TYPE_CODE,'RAW','PJ','BURDEN','BTC',NULL)  ,
  G_PAY_PERIOD_END,
  PAY_ELEMENT_TYPE_ID,
  PAY_ELEMENT_TYPE_CODE,
  0,--Quantity    ,
  PAY_CURRENCY_CODE,
  DECODE(COST_TYPE_CODE,'RAW',PAY_AMOUNT,0),
  DECODE(COST_TYPE_CODE,'BURDEN',PAY_AMOUNT,0),
  ORG_ID,
  trunc(sysdate),
  fnd_global.user_id,
  trunc(sysdate),
  fnd_global.user_id
  from  PA_PAY_SOURCE_AMOUNTS
  WHERE  PAY_REJECTION_ID  IS NULL
  AND  DISTRIBUTION_BASIS_CODE = 'NONE'
  AND  PAY_SOURCE_PROJECT_ID >0
  AND  PAY_SOURCE_TASK_ID > 0
  AND  INTERFACE_RUN_ID = G_INTERFACE_RUN_ID ;
Line: 1699

UPDATE PA_PAY_SOURCE_AMOUNTS
SET PRIORITY =
( Decode(PAY_CURRENCY_CODE,G_FUNC_CURR_CODE,10000,0)+
 (Decode(PAY_SOURCE_PROJECT_ID,NULL , 0,1)*1000) +
 (Decode(PAY_SOURCE_TASK_ID,NULL , 0,1)*100) +
 (Decode(PAY_SOURCE_ORGANIZATION_ID,NULL , 0,1)* 10) +
 (Decode(TIMECARD_EXP_TYPE,NULL , 0,1)*1))
WHERE
      Upper(TIMECARD_ELEMENT) = 'YES'
AND  REQUEST_ID =  G_REQUEST_ID;
Line: 1711

UPDATE PA_PAY_SOURCE_AMOUNTS
SET PRIORITY =
(

 (Decode(PAY_SOURCE_PROJECT_ID,NULL , 0,1)*10000) +
 (Decode(PAY_SOURCE_TASK_ID,NULL , 0,1)*1000) +
 (Decode(PAY_SOURCE_ORGANIZATION_ID,NULL , 0,1)* 100) +
 (Decode(TIMECARD_EXP_TYPE,NULL , 0,1)*10)  +
  Decode(PAY_CURRENCY_CODE,G_FUNC_CURR_CODE,1,0)
 )
WHERE
      distribution_basis_code IN ('STHOURS','OTHOURS','TOTAL_HOURS') AND /*
Added for bug#12975007 */
      Upper(TIMECARD_ELEMENT) = 'YES'
AND  REQUEST_ID =  G_REQUEST_ID;
Line: 1728

UPDATE PA_PAY_SOURCE_AMOUNTS
SET PRIORITY =
(

 (Decode(PAY_SOURCE_PROJECT_ID,NULL , 0,1)*20000) +
 (Decode(PAY_SOURCE_TASK_ID,NULL , 0,1)*2000) +
 (Decode(PAY_SOURCE_ORGANIZATION_ID,NULL , 0,1)* 200)
 )
WHERE
      distribution_basis_code IN ('STHOURS','OTHOURS','TOTAL_HOURS') AND
      Upper(Nvl(TIMECARD_ELEMENT,'NO')) = 'NO'
AND  REQUEST_ID =  G_REQUEST_ID;
Line: 1743

UPDATE PA_PAY_SOURCE_AMOUNTS
SET PRIORITY =
(

 (Decode(PAY_SOURCE_PROJECT_ID,NULL , 0,1)*30000) +
 (Decode(PAY_SOURCE_TASK_ID,NULL , 0,1)*3000) +
 (Decode(PAY_SOURCE_ORGANIZATION_ID,NULL , 0,1)* 300)
 )
WHERE
      distribution_basis_code IN ('ST_AMT','OT_AMT','ST_OT_AMT')
AND  REQUEST_ID =  G_REQUEST_ID;
Line: 1788

        DELETE
        FROM   PA_PAY_EXP_TEMP ;
Line: 1792

        INSERT
        INTO   PA_PAY_EXP_TEMP
                       (
                       INCURRED_BY_PERSON_ID,
                       EXPENDITURE_ITEM_ID     ,
                       EXPENDITURE_ITEM_DATE,
                       EXPENDITURE_TYPE                             ,
                       ORGANIZATION_ID                              ,
                       OVERRIDE_TO_ORGANIZATION_ID                  ,
                       ORG_ID                                       ,
                       PROJECT_ID                                   ,
                       TASK_ID                                      ,
                       SYSTEM_LINKAGE_FUNCTION  ,
                       COST_DISTRIBUTED_FLAG,
                       ACCT_RAW_COST,
                       QUANTITY ,
                       INTERFACE_RUN_ID,
                       PAYROLL_ACCRUAL_FLAG,
                       TRANSFERRED_FROM_EXP_ITEM_ID)
               (SELECT EI.INCURRED_BY_PERSON_ID,
                       EII.EXPENDITURE_ITEM_ID     ,
                       EII.EXPENDITURE_ITEM_DATE,
                       EII.EXPENDITURE_TYPE                             ,
                       EI.INCURRED_BY_ORGANIZATION_ID                   ,
                       EII.OVERRIDE_TO_ORGANIZATION_ID                  ,
                       EII.ORG_ID                                       ,
                       EII.PROJECT_ID                                   ,
                       EII.TASK_ID                                      ,
                       EII.SYSTEM_LINKAGE_FUNCTION                     ,
                       EII.COST_DISTRIBUTED_FLAG,
                       EII.ACCT_RAW_COST,
                       EII.QUANTITY,
                       EII.INTERFACE_RUN_ID,
                       EII.PAYROLL_ACCRUAL_FLAG,
                       EII.TRANSFERRED_FROM_EXP_ITEM_ID
               FROM    PA_EXPENDITURE_ITEMS EII,
                       PA_EXPENDITURES  EI
               WHERE   EI.INCURRED_BY_PERSON_ID IN (SELECT  DISTINCT PERSON_ID FROM  PA_PAY_SOURCE_AMOUNTS
                                                     WHERE
                                                     INTERFACE_RUN_ID = G_INTERFACE_RUN_ID)
               AND     EI.EXPENDITURE_ID =  EII.EXPENDITURE_ID
               AND     EII.expenditure_item_date BETWEEN P_START_DATE AND P_END_DATE
               AND     net_zero_adjustment_flag <> 'Y'
               AND    (( costing_method            = 'ACTUAL'  AND
                        payroll_accrual_flag = 'N'  AND
                        COST_DISTRIBUTED_FLAG = 'Y' AND     INTERFACE_RUN_ID IS NOT NULL
                        AND     system_linkage_function IN ('ST','OT','PJ','BTC')
                          )
                          OR
                          ( costing_method            = 'ACTUAL'  AND
                        payroll_accrual_flag = 'Y'  AND
                        --COST_DISTRIBUTED_FLAG = 'Y' AND    /*Accrual line Marked for re-calc also should get picked up*/
                           INTERFACE_RUN_ID IS NULL
                        AND     system_linkage_function IN ('ST','OT')
                          )
                          OR
                      (COST_DISTRIBUTED_FLAG = 'N'  AND
                       get_cost_method(eii.expenditure_item_id,eii.expenditure_item_date) = 'ACTUAL' AND
                       Nvl(COSTING_METHOD,'ACTUAL') <> 'STANDARD'AND
                       system_linkage_function IN ('ST','OT'))
                       )

               ) ;
Line: 1905

                          SELECT temp.expenditure_item_id,
                                ei1.acct_currency_code,
                                ei1.acct_raw_cost
                          FROM   PA_PAY_EXP_TEMP temp ,
                                pa_expenditure_items_all ei1,
                                pa_expenditure_items_all ei2,
                                pa_expenditure_items_all ei3
                          WHERE
                                  temp.expenditure_item_id= ei3.expenditure_item_id
                          AND    ei3.transaction_source = 'ORACLE TIME AND LABOR'
                          AND    ei2.orig_transaction_reference =  ei3.orig_transaction_reference
                          AND    ei2.system_linkage_function  IN ('ST','OT')
                          AND    ei2.transaction_source = 'ORACLE TIME AND LABOR'
                          AND    ei2.COSTING_METHOD  = 'ACTUAL'
                          AND    ei2.net_zero_adjustment_flag = 'Y'
                          AND    ei2.adjusted_expenditure_item_id = ei1.expenditure_item_id
                          AND    ei1.transaction_source = 'ORACLE TIME AND LABOR'
                          AND    ei1.COSTING_METHOD  = 'ACTUAL'
                          AND    ei1.system_linkage_function  IN ('ST','OT')
                          AND    ei1.net_zero_adjustment_flag = 'Y'
              )

              LOOP

                      UPDATE PA_PAY_EXP_TEMP t
                      SET ORIG_CURR_CODE = x.acct_currency_code
                          , ORIG_AMOUNT =  x.acct_raw_cost
                      WHERE t.expenditure_item_id = x.expenditure_item_id;
Line: 1938

 UPDATE PA_PAY_EXP_TEMP T
      SET
        (
               ORIG_CURR_CODE ,
               ORIG_AMOUNT
        )
        =
        (SELECT EI3.ACCT_CURRENCY_CODE,
                EI3.ACCT_RAW_COST
        FROM    PA_EXPENDITURE_ITEMS EI3
        WHERE   EXPENDITURE_ITEM_ID =
                (SELECT MAX(EI5.EXPENDITURE_ITEM_ID)
                FROM    PA_EXPENDITURE_ITEMS EI4 ,
                        PA_EXPENDITURE_ITEMS EI5  ,
                        PA_PAY_AUDIT AUD
                WHERE   EI4.EXPENDITURE_ITEM_ID        = T.EXPENDITURE_ITEM_ID
                AND     EI4.TRANSACTION_SOURCE         = 'ORACLE TIME AND LABOR'
                AND     EI5.TRANSACTION_SOURCE         = 'ORACLE TIME AND LABOR'
                AND     EI5.INTERFACE_RUN_ID IS NOT NULL
                AND     EI5.INTERFACE_RUN_ID =  AUD.INTERFACE_RUN_ID
                AND     AUD.BATCH_ID  <>  (SELECT BATCH_ID FROM  PA_PAY_AUDIT WHERE  INTERFACE_RUN_ID = G_INTERFACE_RUN_ID)
                AND     SUBSTR(EI5.ORIG_TRANSACTION_REFERENCE,1,INSTR(EI5.ORIG_TRANSACTION_REFERENCE,':') - 1) = SUBSTR(EI4.ORIG_TRANSACTION_REFERENCE,1,INSTR(EI4.ORIG_TRANSACTION_REFERENCE,':') - 1)
                AND     EI5.COST_DISTRIBUTED_FLAG = 'Y'
                AND   EI5.ADJUSTED_EXPENDITURE_ITEM_ID IS NULL
                )
        )
 WHERE  EXPENDITURE_ITEM_ID IN
        (SELECT T.EXPENDITURE_ITEM_ID
        FROM    PA_EXPENDITURE_ITEMS EI1 ,
                PA_PAY_EXP_TEMP T
        WHERE   T.EXPENDITURE_ITEM_ID  = EI1.EXPENDITURE_ITEM_ID
        AND     EI1.TRANSACTION_SOURCE = 'ORACLE TIME AND LABOR'
        AND     EXISTS
                (SELECT 1
                FROM    PA_EXPENDITURE_ITEMS EI2
                        ,PA_PAY_AUDIT AUD2
                WHERE   EI2.TRANSACTION_SOURCE     = 'ORACLE TIME AND LABOR'
                AND     EI2.INTERFACE_RUN_ID IS NOT NULL
                AND     EI2.INTERFACE_RUN_ID =  AUD2.INTERFACE_RUN_ID
                AND     AUD2.BATCH_ID  <>  (SELECT BATCH_ID FROM  PA_PAY_AUDIT WHERE  INTERFACE_RUN_ID = G_INTERFACE_RUN_ID)
                AND     SUBSTR(EI2.ORIG_TRANSACTION_REFERENCE,1,INSTR(EI2.ORIG_TRANSACTION_REFERENCE,':') - 1) = SUBSTR(EI1.ORIG_TRANSACTION_REFERENCE,1,INSTR(EI1.ORIG_TRANSACTION_REFERENCE,':') - 1)
                AND     COST_DISTRIBUTED_FLAG = 'Y'
                AND     ADJUSTED_EXPENDITURE_ITEM_ID IS NULL   )
        ) ;
Line: 2012

      SELECT DISTINCT
            PRIORITY ,
            PAY_CURRENCY_CODE
         FROM
            PA_PAY_SOURCE_AMOUNTS
        WHERE
            DISTRIBUTION_BASIS_CODE IN ('STHOURS', 'OTHOURS', 'TOTAL_HOURS')
            AND
            TIMECARD_ELEMENT = 'YES' AND
            /* PERSON_ID                = P_PERSON_ID AND  */
            INTERFACE_RUN_ID = G_INTERFACE_RUN_ID
     ORDER BY
            PRIORITY DESC
)
LOOP
       INSERT
         INTO
            PA_PAY_DIST_LINES
            (
                  PAY_DIST_ID               ,
                  PAY_SOURCE_ID             ,
                  INTERFACE_RUN_ID          ,
                  PERSON_ID                 ,
                  ORGANIZATION_ID           ,
                  PROJECT_ID                ,
                  TASK_ID                   ,
                  EXPENDITURE_TYPE          ,
                  SYSTEM_LINKAGE_FUNCTION   ,
                  EXPENDITURE_ITEM_DATE     ,
                  PAY_ELEMENT_TYPE_ID       ,
                  PAY_ELEMENT_TYPE_CODE     ,
                  DENOM_CURRENCY_CODE       ,
                  QUANTITY                  ,
                  DENOM_RAW_COST            ,
                  SOURCE_EXPENDITURE_ITEM_ID,
                  ORG_ID                    ,
                  LAST_UPDATE_DATE          ,
                  LAST_UPDATED_BY           ,
                  CREATION_DATE             ,
                  CREATED_BY                ,
                  LAST_UPDATE_LOGIN         ,
                  REQUEST_ID
            )
            SELECT
            PA_PAY_DIST_ID_S.NEXTVAL,
            PSA.PAY_SOURCE_ID       ,
            G_INTERFACE_RUN_ID      ,
            PSA.PERSON_ID           ,
            NVL(EII.OVERRIDE_TO_ORGANIZATION_ID , EII.ORGANIZATION_ID),
            EII.PROJECT_ID             ,
            EII.TASK_ID                ,
            EII.EXPENDITURE_TYPE       ,
            EII.SYSTEM_LINKAGE_FUNCTION,
            EII.EXPENDITURE_ITEM_DATE  ,
            PSA.PAY_ELEMENT_TYPE_ID    ,
            PSA.PAY_ELEMENT_TYPE_CODE  ,
            PSA.PAY_CURRENCY_CODE      ,
            EII.QUANTITY               ,
            RATIO_TO_REPORT(EII.QUANTITY) over (PARTITION BY PAY_SOURCE_ID) * PSA.PAY_AMOUNT AS AMOUNT ,
            EII.EXPENDITURE_ITEM_ID ,
            EII.ORG_ID              ,
            TRUNC(sysdate)          ,
            fnd_global.user_id      ,
            TRUNC(sysdate)          ,
            fnd_global.user_id      ,
            G_LOGIN_ID              ,
            G_REQUEST_ID
         FROM
            PA_PAY_EXP_TEMP  EII ,      -- change to  PA_PAY_EXP_TEMP danger
            PA_PAY_SOURCE_AMOUNTS PSA
        WHERE
            PSA.INTERFACE_RUN_ID = G_INTERFACE_RUN_ID AND
            PSA.PRIORITY = Z.PRIORITY  AND
            PSA.PAY_CURRENCY_CODE = Z.PAY_CURRENCY_CODE  AND
            --PSA.PERSON_ID        =  p_person_id  AND
            PSA.PERSON_ID = EII.INCURRED_BY_PERSON_ID AND
            ((PSA.PAY_AMOUNT >0 AND G_RETRO ='N') OR (G_RETRO ='Y')) AND /*Added
for bug#13595751*/
            -- PSA.PAY_SOURCE_ID    = p_pay_source_id AND
            EII.expenditure_type = NVL(PSA.TIMECARD_EXP_TYPE, EII.expenditure_type) AND
            /*pick the same pay source record */
            PSA.PERSON_ID                                              = EII.INCURRED_BY_PERSON_ID AND
            EII.PROJECT_ID                                             = NVL( PSA.PAY_SOURCE_PROJECT_ID,EII.PROJECT_ID )AND
            EII.TASK_ID                                                = NVL(PSA.PAY_SOURCE_TASK_ID ,EII.TASK_ID) AND
            NVL(EII.OVERRIDE_TO_ORGANIZATION_ID , EII.ORGANIZATION_ID) =
            COALESCE(PSA.PAY_SOURCE_ORGANIZATION_ID,
            EII.OVERRIDE_TO_ORGANIZATION_ID , EII.ORGANIZATION_ID) AND
            EII.QUANTITY                <> 0 AND
            EII.SYSTEM_LINKAGE_FUNCTION IN
            (
                   SELECT
                        DECODE(psa.DISTRIBUTION_BASIS_CODE,'STHOURS' ,'ST',
                        'OTHOURS','OT','TOTAL_HOURS','ST')
                     FROM
                        dual
                    UNION
                   SELECT
                        DECODE(psa.DISTRIBUTION_BASIS_CODE,'STHOURS' ,'ST',
                        'OTHOURS','OT','TOTAL_HOURS','OT')
                     FROM
                        dual
            )
            AND  NVL(EII.PROCESSED_FLAG,'N') <> 'Y' -- not processed in current run
            AND  EII.INTERFACE_RUN_ID IS NULL; -- not an EI which has actual cost
Line: 2128

	 INSERT
   INTO
      PA_PAY_REJECTIONS_ALL
      (
            PAY_REJECTION_ID ,
            INTERFACE_RUN_ID ,
            PERSON_ID        ,
            ASSIGNMENT_ID    ,
            PAY_SOURCE_ID    ,
            PAY_ELEMENT_TYPE_ID,
            PAY_ELEMENT_TYPE_CODE,
            REJECTION_CODE   ,
            LAST_UPDATE_DATE ,
            LAST_UPDATED_BY  ,
            CREATION_DATE    ,
            CREATED_BY
      )
           SELECT
			     PA_PAY_REJECTION_ID_S.nextval,
            G_INTERFACE_RUN_ID           ,
            PS.PERSON_ID                 ,
            PS.ASSIGNMENT_ID             ,
            PS.PAY_SOURCE_ID             ,
            PS.PAY_ELEMENT_TYPE_ID ,
            PS.PAY_ELEMENT_TYPE_CODE ,
            'RC 25'            ,
            G_RUN_DATE                   ,
            G_USER_ID                    ,
            G_RUN_DATE                   ,
            G_USER_ID
			FROM
			PA_PAY_SOURCE_AMOUNTS PS
			Where
			INTERFACE_RUN_ID = G_INTERFACE_RUN_ID    AND
			PRIORITY =   Z.PRIORITY AND
			PAY_CURRENCY_CODE =  Z.PAY_CURRENCY_CODE  AND
			 Nvl(PS.ALLOW_MISC_FLAG,'NO') = 'NO'    AND
			NOT EXISTS
			(
			   SELECT 1 FROM   PA_PAY_DIST_LINES PPD
			   WHERE
			   PPD.PAY_SOURCE_ID = PS.PAY_SOURCE_ID
			)
               ;
Line: 2178

 INSERT
   INTO
      PA_PAY_DIST_LINES
      (
            PAY_DIST_ID            ,
            PAY_SOURCE_ID          ,
            INTERFACE_RUN_ID       ,
            PERSON_ID              ,
            ASSIGNMENT_ID          ,
            ORGANIZATION_ID        ,
            PROJECT_ID             ,
            TASK_ID                ,
            EXPENDITURE_TYPE       ,
            SYSTEM_LINKAGE_FUNCTION,
            EXPENDITURE_ITEM_DATE  ,
            PAY_ELEMENT_TYPE_ID    ,
            PAY_ELEMENT_TYPE_CODE  ,
            QUANTITY               ,
            DENOM_CURRENCY_CODE    ,
            DENOM_RAW_COST         ,
            DENOM_BURDEN_COST      ,
            ORG_ID                 ,
            LAST_UPDATE_DATE       ,
            LAST_UPDATED_BY        ,
            CREATION_DATE          ,
            CREATED_BY             ,
            LAST_UPDATE_LOGIN      ,
            REQUEST_ID
      )
 SELECT
      PA_PAY_DIST_ID_S.NEXTVAL                                 ,
      HOURS_TOTAL.PAY_SOURCE_ID                                ,
      G_INTERFACE_RUN_ID                                       ,
      HOURS_TOTAL.PERSON_ID                                    ,
      HOURS_TOTAL.ASSIGNMENT_ID                                ,
      HOURS_TOTAL.ORGANIZATION_ID                              ,
      HOURS_TOTAL.PROJECT_ID                                   ,
      HOURS_TOTAL.TASK_ID                                      ,
      HOURS_TOTAL.EXPENDITURE_TYPE                             ,
      'PJ'                                                     ,
      G_PAY_PERIOD_END                                         ,
      HOURS_TOTAL.PAY_ELEMENT_TYPE_ID                          ,
      HOURS_TOTAL.PAY_ELEMENT_TYPE_CODE                        ,
      0                                                        ,
      HOURS_TOTAL.PAY_CURRENCY_CODE                            ,
      HOURS_TOTAL.PAY_AMOUNT * RATIO_TO_REPORT(HOURS_TOTAL.HOURS) OVER (PARTITION BY HOURS_TOTAL.PAY_SOURCE_ID),
      0                                                        ,
      G_ORG_ID                                                 ,
      G_RUN_DATE                                               ,
      G_USER_ID                                                ,
      G_RUN_DATE                                               ,
      G_USER_ID                                                ,
      G_LOGIN_ID                                               ,
      G_REQUEST_ID
   FROM
      (
             SELECT
			       PAY_SOURCE_ID                                          ,
                   PERSON_ID                                              ,
                   ASSIGNMENT_ID  ,
                  NVL(ORGANIZATION_ID ,OVERRIDE_TO_ORGANIZATION_ID)  ORGANIZATION_ID ,
                  PROJECT_ID      ,
                  TASK_ID         ,
				  PPSA.EXPENDITURE_TYPE,
				  PAY_ELEMENT_TYPE_ID,
                  PAY_ELEMENT_TYPE_CODE ,
			      PAY_CURRENCY_CODE ,
				  PAY_AMOUNT,
                  SUM(QUANTITY) AS HOURS
               FROM
                  PA_PAY_EXP_TEMP EI,
                  PA_PAY_SOURCE_AMOUNTS PPSA
              WHERE
                  PPSA.INTERFACE_RUN_ID         = G_INTERFACE_RUN_ID AND
                  PPSA.PRIORITY = Z.PRIORITY  AND
                  PPSA.PAY_CURRENCY_CODE = Z.PAY_CURRENCY_CODE  AND
                  PPSA.DISTRIBUTION_BASIS_CODE IN ('STHOURS', 'OTHOURS','TOTAL_HOURS') AND
                  PPSA.TIMECARD_ELEMENT  = 'YES' AND
                  PPSA.PAY_SOURCE_ID NOT IN
                  (       SELECT
                              PAY_SOURCE_ID
                           FROM
                              PA_PAY_DIST_LINES PPD
                          WHERE
                              PPD.INTERFACE_RUN_ID = G_INTERFACE_RUN_ID
                  )AND
                  NVL(PPSA.ALLOW_MISC_FLAG,'NO') = 'YES' AND
                  PPSA.PERSON_ID                 = EI.INCURRED_BY_PERSON_ID AND
                  COALESCE(EI.ORGANIZATION_ID ,EI.OVERRIDE_TO_ORGANIZATION_ID,-99) = COALESCE(PPSA.PAY_SOURCE_ORGANIZATION_ID, EI.ORGANIZATION_ID ,EI.OVERRIDE_TO_ORGANIZATION_ID,-99) AND
                  EI.PROJECT_ID = NVL(PPSA.PAY_SOURCE_PROJECT_ID,PROJECT_ID) AND
                  EI.TASK_ID    = NVL(PPSA.PAY_SOURCE_TASK_ID,TASK_ID)
                  /*AND      COST_DISTRIBUTED_FLAG <> 'Y'
                  -- No unprocessed timecard found .. shd go on already
                  -- processed in prior runs*/
                  AND
                  EI.SYSTEM_LINKAGE_FUNCTION IN
                  (
                         SELECT
                              DECODE(PPSA.DISTRIBUTION_BASIS_CODE,'STHOURS' ,'ST', 'OTHOURS','OT','ALLHOURS','ST')
                           FROM
                              DUAL
                          UNION
                         SELECT
                              DECODE(PPSA.DISTRIBUTION_BASIS_CODE,'STHOURS' ,'ST',  'OTHOURS','OT','ALLHOURS','OT')
                           FROM
                              DUAL
                  )
                  AND
                  EI.EXPENDITURE_TYPE NOT IN
                  (
                         SELECT
                              EXPENDITURE_TYPE
                           FROM
                              PA_PAY_EXCLUDE_EXP_TYPES
                          WHERE
                              PAY_ELEMENT_MAP_ID = PPSA.PAY_ELEMENT_MAP_ID
                  )
           GROUP BY
                  PAY_SOURCE_ID                                          ,
                  PERSON_ID                                              ,
                  ASSIGNMENT_ID ,
                  NVL(ORGANIZATION_ID ,OVERRIDE_TO_ORGANIZATION_ID)   ,
                  PROJECT_ID      ,
                  TASK_ID         ,
				  PPSA.EXPENDITURE_TYPE,
				  PAY_ELEMENT_TYPE_ID,
                  PAY_ELEMENT_TYPE_CODE ,
			      PAY_CURRENCY_CODE ,
				  PAY_AMOUNT
      )
      HOURS_TOTAL ;
Line: 2315

  INSERT
  INTO   PA_PAY_REJECTIONS_ALL
         (
                PAY_REJECTION_ID     ,
                INTERFACE_RUN_ID     ,
                PERSON_ID            ,
                ASSIGNMENT_ID        ,
                PAY_SOURCE_ID        ,
                PAY_ELEMENT_TYPE_ID  ,
                PAY_ELEMENT_TYPE_CODE,
                REJECTION_CODE       ,
                LAST_UPDATE_DATE     ,
                LAST_UPDATED_BY      ,
                CREATION_DATE        ,
                CREATED_BY
         )
  SELECT PA_PAY_REJECTION_ID_S.NEXTVAL,
         G_INTERFACE_RUN_ID           ,
         PS.PERSON_ID                 ,
         PS.ASSIGNMENT_ID             ,
         PS.PAY_SOURCE_ID             ,
         PS.PAY_ELEMENT_TYPE_ID       ,
         PS.PAY_ELEMENT_TYPE_CODE     ,
         'RC 30'                      ,
         G_RUN_DATE                   ,
         G_USER_ID                    ,
         G_RUN_DATE                   ,
         G_USER_ID
  FROM   PA_PAY_SOURCE_AMOUNTS PS
  WHERE  INTERFACE_RUN_ID             = G_INTERFACE_RUN_ID
  AND    PRIORITY                     = Z.PRIORITY
  AND    PAY_CURRENCY_CODE            = Z.PAY_CURRENCY_CODE
  AND    NVL(PS.ALLOW_MISC_FLAG,'NO') = 'YES'
  AND    PS.PAY_SOURCE_ID NOT IN
         ( SELECT PAY_SOURCE_ID
         FROM    PA_PAY_DIST_LINES PPD
         WHERE   PPD.INTERFACE_RUN_ID = G_INTERFACE_RUN_ID
         ) ;
Line: 2358

      UPDATE PA_PAY_EXP_TEMP
      SET    PROCESSED_FLAG = 'Y'
      WHERE  EXPENDITURE_ITEM_ID IN
            (SELECT DIST.SOURCE_EXPENDITURE_ITEM_ID
            FROM    PA_PAY_DIST_LINES DIST,
                    PA_PAY_SOURCE_AMOUNTS SOURCE
            WHERE   SOURCE.INTERFACE_RUN_ID  = G_INTERFACE_RUN_ID
            AND     SOURCE.PRIORITY          = Z.PRIORITY
            AND     SOURCE.PAY_CURRENCY_CODE = Z.PAY_CURRENCY_CODE
            AND     DIST.PAY_SOURCE_ID       = SOURCE.PAY_SOURCE_ID
          ) ;
Line: 2409

FOR X IN  ( SELECT * FROM pa_pay_source_amounts WHERE pay_source_id =p_pay_source_id )
Loop
        INSERT
        INTO   PA_PAY_DIST_LINES
               (      PAY_DIST_ID,
                      PAY_SOURCE_ID,
                      INTERFACE_RUN_ID       ,
                      PERSON_ID              ,
                      ASSIGNMENT_ID          ,
                      ORGANIZATION_ID        ,
                      PROJECT_ID             ,
                      TASK_ID                ,
                      EXPENDITURE_TYPE       ,
                      SYSTEM_LINKAGE_FUNCTION,
                      EXPENDITURE_ITEM_DATE  ,
                      PAY_ELEMENT_TYPE_ID    ,
                      PAY_ELEMENT_TYPE_CODE  ,
                      QUANTITY               ,
                      denom_CURRENCY_CODE,
                      denom_RAW_COST               ,
                      denom_BURDEN_COST            ,
                      ORG_ID                 ,
                      LAST_UPDATE_DATE       ,
                      LAST_UPDATED_BY        ,
                      CREATION_DATE          ,
                      CREATED_BY              ,
                      LAST_UPDATE_LOGIN,
                      REQUEST_ID
               )
                    SELECT pa_pay_dist_id_s.NEXTVAL ,
                      X.PAY_SOURCE_ID,
                      X.INTERFACE_RUN_ID                   ,
                       X.PERSON_ID                          ,
                       X.ASSIGNMENT_ID                      ,
                       Hours_total.organization_id          ,
                       Hours_total.project_id               ,
                       Hours_total.task_id                  ,
                       X.expenditure_type                   ,
                       'PJ'                                 ,
                       G_PAY_PERIOD_END                     ,
                       X.PAY_ELEMENT_TYPE_ID                ,
                       X.PAY_ELEMENT_TYPE_CODE              ,
                       0                                    ,
                       X.PAY_CURRENCY_CODE,
                       X.PAY_AMOUNT * Ratio_To_Report(Hours_total.hours) over (),
                       0                                    ,
                       G_ORG_ID                             ,
                       G_RUN_DATE                           ,
                       G_USER_ID                            ,
                       G_RUN_DATE                           ,
                       G_USER_ID     ,
                       G_LOGIN_ID,
                       G_REQUEST_ID
               FROM    ( SELECT  NVL(organization_id ,OVERRIDE_TO_ORGANIZATION_ID) organization_id ,
                                project_id                                                                     ,
                                task_id                                                                        ,
                                SUM(quantity)  AS   hours
                       FROM     PA_PAY_EXP_TEMP
                       WHERE    COALESCE(organization_id ,OVERRIDE_TO_ORGANIZATION_ID,-99) =  COALESCE(X.PAY_SOURCE_ORGANIZATION_ID,organization_id ,OVERRIDE_TO_ORGANIZATION_ID,-99)
                       AND      project_id                                                    = Nvl(X.PAY_SOURCE_PROJECT_ID,project_id)
                       AND      task_id                                                       = Nvl(X.PAY_SOURCE_TASK_ID,task_id)
                       --AND      COST_DISTRIBUTED_FLAG <> 'Y'
                       -- No unprocessed timecard found .. shd go on already processed in prior runs
                       AND      SYSTEM_LINKAGE_FUNCTION IN
                                (SELECT DECODE(X.distribution_basis_code,'STHOURS' ,'ST','OTHOURS','OT','ALLHOURS','ST')
                                FROM    dual

                                UNION

                                SELECT DECODE(X.distribution_basis_code,'STHOURS' ,'ST','OTHOURS','OT','ALLHOURS','OT')
                                FROM   dual
                                )
                       AND      expenditure_type NOT IN  (SELECT  expenditure_type   FROM  PA_PAY_EXCLUDE_EXP_TYPES
                                                      WHERE  pay_element_map_id = X.pay_element_map_id )
                       GROUP BY NVL(organization_id ,OVERRIDE_TO_ORGANIZATION_ID) ,
                                project_id                                                    ,
                                task_id
                       )
                       Hours_total ;
Line: 2528

INSERT INTO
PA_PAY_DIST_LINES
               (      PAY_DIST_ID,
                      PAY_SOURCE_ID,
                      INTERFACE_RUN_ID       ,
                      PERSON_ID              ,
                      ASSIGNMENT_ID          ,
                      ORGANIZATION_ID        ,
                      PROJECT_ID             ,
                      TASK_ID                ,
                      EXPENDITURE_TYPE       ,
                      SYSTEM_LINKAGE_FUNCTION,
                      EXPENDITURE_ITEM_DATE  ,
                      PAY_ELEMENT_TYPE_ID    ,
                      PAY_ELEMENT_TYPE_CODE,
                      QUANTITY               ,
                      DENOM_CURRENCY_CODE,
                      DENOM_RAW_COST        ,
                      DENOM_BURDEN_COST      ,
                      ORG_ID                 ,
                      LAST_UPDATE_DATE       ,
                      LAST_UPDATED_BY        ,
                      CREATION_DATE          ,
                      CREATED_BY             ,
                      LAST_UPDATE_LOGIN,
                      REQUEST_ID
               )
         SELECT
          PA_PAY_DIST_ID_S.NEXTVAL
        , SOURCE.PAY_SOURCE_ID
        , SOURCE.INTERFACE_RUN_ID
        , SOURCE.PERSON_ID
        , SOURCE.ASSIGNMENT_ID
        , Hours_total.organization_id
        , Hours_total.project_id
        , Hours_total.task_id
        , SOURCE.EXPENDITURE_TYPE
        , DECODE(SOURCE.COST_TYPE_CODE
                ,'RAW','PJ'
                ,'BURDEN','BTC')
        , G_PAY_PERIOD_END
        , SOURCE.PAY_ELEMENT_TYPE_ID
        , SOURCE.PAY_ELEMENT_TYPE_CODE
        , 0
        , SOURCE.PAY_CURRENCY_CODE
        , DECODE(SOURCE.COST_TYPE_CODE
                ,'RAW',SOURCE.PAY_AMOUNT * Ratio_To_Report(Hours_total.hours) over (PARTITION BY SOURCE.PAY_SOURCE_ID))
        , DECODE(SOURCE.COST_TYPE_CODE
                ,'BURDEN',SOURCE.PAY_AMOUNT * Ratio_To_Report(Hours_total.hours) over (PARTITION BY SOURCE.PAY_SOURCE_ID))
        , G_ORG_ID
        , G_RUN_DATE
        , G_USER_ID
        , G_RUN_DATE
        , G_USER_ID
        , G_LOGIN_ID
        , G_REQUEST_ID
          FROM   ( SELECT  Pay_source_id
                  , NVL(organization_id ,OVERRIDE_TO_ORGANIZATION_ID) organization_id
                  , project_id
                  , task_id
                  , SUM(NVL(quantity,0)) AS hours
          FROM     PA_PAY_EXP_TEMP TEMP
                  , PA_PAY_SOURCE_AMOUNTS S2
          WHERE    S2.INTERFACE_RUN_ID = G_INTERFACE_RUN_ID
          AND      DISTRIBUTION_BASIS_CODE IN ('STHOURS'
                                              , 'OTHOURS'
                                              , 'TOTAL_HOURS')
          AND      NVL(TIMECARD_ELEMENT,'NO')                                 = 'NO'
          AND      S2.PERSON_ID                                               = TEMP.INCURRED_BY_PERSON_ID
          AND      COALESCE(organization_id ,OVERRIDE_TO_ORGANIZATION_ID,-99) = COALESCE(S2.PAY_SOURCE_ORGANIZATION_ID,organization_id ,OVERRIDE_TO_ORGANIZATION_ID,-99)
          AND      project_id                                                 = NVL(S2.PAY_SOURCE_PROJECT_ID,project_id)
          AND      task_id                                                    = NVL(S2.PAY_SOURCE_TASK_ID,task_id)
          AND
                    (
                            (
                                      S2.distribution_basis_code  <> 'TOTAL_HOURS'
                            AND      TEMP.SYSTEM_LINKAGE_FUNCTION = DECODE(S2.distribution_basis_code
                                                                          ,'STHOURS' ,'ST'
                                                                          ,'OTHOURS','OT' )
                            )
                    OR
                            (
                                      S2.distribution_basis_code = 'TOTAL_HOURS'
                            AND      TEMP.SYSTEM_LINKAGE_FUNCTION IN ('ST'
                                                                    , 'OT')
                            )
                    )
          AND      TEMP.expenditure_type NOT IN (SELECT expenditure_type
                    FROM    PA_PAY_EXCLUDE_EXP_TYPES
                    WHERE   pay_element_map_id = S2.pay_element_map_id
                    )
          GROUP BY Pay_source_id
                  , NVL(organization_id ,OVERRIDE_TO_ORGANIZATION_ID)
                  , project_id
                  , task_id
          )
          Hours_total
        , PA_PAY_SOURCE_AMOUNTS SOURCE
          WHERE  hours_total.pay_source_id = source.pay_source_id;
Line: 2629

              INSERT
              INTO   PA_PAY_REJECTIONS_ALL
                    (
                            PAY_REJECTION_ID
                          , INTERFACE_RUN_ID
                          , PERSON_ID
                          , ASSIGNMENT_ID
                          , PAY_SOURCE_ID
                          , PAY_ELEMENT_TYPE_ID
                          , PAY_ELEMENT_TYPE_CODE
                          , REJECTION_CODE
                          , LAST_UPDATE_DATE
                          , LAST_UPDATED_BY
                          , CREATION_DATE
                          , CREATED_BY
                    )
              SELECT PA_PAY_REJECTION_ID_S.NEXTVAL
                  , G_INTERFACE_RUN_ID
                  , PS.PERSON_ID
                  , PS.ASSIGNMENT_ID
                  , PS.PAY_SOURCE_ID
                  , PS.PAY_ELEMENT_TYPE_ID
                  , PS.PAY_ELEMENT_TYPE_CODE
                  , 'RC 30'
                  , G_RUN_DATE
                  , G_USER_ID
                  , G_RUN_DATE
                  , G_USER_ID
              FROM   PA_PAY_SOURCE_AMOUNTS PS
              WHERE  INTERFACE_RUN_ID = G_INTERFACE_RUN_ID
              AND    DISTRIBUTION_BASIS_CODE IN ('STHOURS'
                                              , 'OTHOURS'
                                              , 'TOTAL_HOURS')
              AND    NVL(TIMECARD_ELEMENT,'NO') = 'NO'
              AND    PS.PAY_SOURCE_ID NOT IN ( SELECT PAY_SOURCE_ID
                    FROM    PA_PAY_DIST_LINES PPD
                    WHERE   PPD.INTERFACE_RUN_ID = G_INTERFACE_RUN_ID
                    ) ;
Line: 2700

INSERT
INTO   PA_PAY_DIST_LINES
       (
              PAY_DIST_ID
            , PAY_SOURCE_ID
            , INTERFACE_RUN_ID
            , PERSON_ID
            , ASSIGNMENT_ID
            , ORGANIZATION_ID
            , PROJECT_ID
            , TASK_ID
            , EXPENDITURE_TYPE
            , SYSTEM_LINKAGE_FUNCTION
            , EXPENDITURE_ITEM_DATE
            , PAY_ELEMENT_TYPE_ID
            , PAY_ELEMENT_TYPE_CODE
            , QUANTITY
            , DENOM_CURRENCY_CODE
            , DENOM_RAW_COST
            , DENOM_BURDEN_COST
            , ORG_ID
            , LAST_UPDATE_DATE
            , LAST_UPDATED_BY
            , CREATION_DATE
            , CREATED_BY
       )
SELECT pa_pay_dist_id_s.NEXTVAL
     , SOURCE.PAY_SOURCE_ID
     , G_INTERFACE_RUN_ID
     , SOURCE.PERSON_ID
     , SOURCE.ASSIGNMENT_ID
     , SUMM_AMOUNTS.organization_id
     , SUMM_AMOUNTS.project_id
     , SUMM_AMOUNTS.task_id
     , SOURCE.EXPENDITURE_TYPE
     , DECODE(SOURCE.COST_TYPE_CODE
            ,'RAW','PJ'
            ,'BURDEN','BTC')
     , G_PAY_PERIOD_END
     , SOURCE.PAY_ELEMENT_TYPE_ID
     , SOURCE.PAY_ELEMENT_TYPE_CODE
     , 0
     , SOURCE.PAY_CURRENCY_CODE
     , DECODE(SOURCE.COST_TYPE_CODE
            ,'RAW',SOURCE.PAY_AMOUNT * Ratio_To_Report(SUMM_AMOUNTS.amount) over (PARTITION BY SOURCE.PAY_SOURCE_ID))
     , DECODE(SOURCE.COST_TYPE_CODE
            ,'BURDEN',SOURCE.PAY_AMOUNT * Ratio_To_Report(SUMM_AMOUNTS.amount) over (PARTITION BY SOURCE.PAY_SOURCE_ID))
     , G_ORG_ID
     , G_RUN_DATE
     , G_USER_ID
     , G_RUN_DATE
     , G_USER_ID
FROM   (
            SELECT   pay_source_id
                  , organization_id
                  , project_id
                  , task_id
                  , SUM(amount) amount
          FROM     ( SELECT  S1.pay_source_id
                          , NVL(organization_id ,OVERRIDE_TO_ORGANIZATION_ID) organization_id
                          , project_id
                          , task_id
                          , SUM(ACCT_RAW_COST) AS amount
                    FROM     PA_PAY_DIST_LINES DIST
                          ,PA_PAY_SOURCE_AMOUNTS S1
                    WHERE    S1.INTERFACE_RUN_ID = G_INTERFACE_RUN_ID
                    AND      DISTRIBUTION_BASIS_CODE IN ('ST_AMT'
                                                      ,'OT_AMT'
                                                      , 'ST_OT_AMT')
                    AND      DIST.PERSON_ID                                                       = S1.PERSON_ID
                    AND      DIST.INTERFACE_RUN_ID                                                = S1.INTERFACE_RUN_ID
                    AND      COALESCE(DIST.organization_id ,DIST.OVERRIDE_TO_ORGANIZATION_ID,-99) = COALESCE(S1.PAY_SOURCE_ORGANIZATION_ID,DIST.organization_id ,DIST.OVERRIDE_TO_ORGANIZATION_ID,-99)
                    AND      project_id                                                           = NVL(S1.PAY_SOURCE_PROJECT_ID,project_id)
                    AND      task_id                                                              = NVL(S1.PAY_SOURCE_TASK_ID,task_id)
                    AND
                            (
                                      (
                                              S1.distribution_basis_code  <> 'ST_OT_AMT'
                                      AND      DIST.SYSTEM_LINKAGE_FUNCTION = DECODE(S1.distribution_basis_code
                                                                                  ,'ST_AMT' ,'ST'
                                                                                  ,'OT_AMT','OT' )
                                      )
                            OR
                                      (
                                              S1.distribution_basis_code = 'ST_OT_AMT'
                                      AND      DIST.SYSTEM_LINKAGE_FUNCTION IN ('ST'
                                                                              ,'OT')
                                      )
                            )
                    AND      DIST.expenditure_type NOT IN (SELECT expenditure_type
                            FROM    PA_PAY_EXCLUDE_EXP_TYPES
                            WHERE   pay_element_map_id = S1.pay_element_map_id
                            )
                    GROUP BY S1.pay_source_id
                          , NVL(organization_id ,OVERRIDE_TO_ORGANIZATION_ID)
                          , project_id
                          , task_id

                    UNION

                    SELECT   S2.pay_source_id
                          , NVL(organization_id ,OVERRIDE_TO_ORGANIZATION_ID) organization_id
                          , project_id
                          , task_id
                          , SUM(acct_raw_cost) AS amount
                    FROM     PA_PAY_EXP_TEMP TEMP
                          , PA_PAY_SOURCE_AMOUNTS S2
                    WHERE    S2.INTERFACE_RUN_ID = G_INTERFACE_RUN_ID
                    AND      DISTRIBUTION_BASIS_CODE IN ('ST_AMT'
                                                      ,'OT_AMT'
                                                      , 'ST_OT_AMT')
                    AND      S2.PERSON_ID                                               = TEMP.INCURRED_BY_PERSON_ID
                    AND      COALESCE(organization_id ,OVERRIDE_TO_ORGANIZATION_ID,-99) = COALESCE(S2.PAY_SOURCE_ORGANIZATION_ID,organization_id ,OVERRIDE_TO_ORGANIZATION_ID,-99)
                    AND      project_id                                                 = NVL(S2.PAY_SOURCE_PROJECT_ID,project_id)
                    AND      task_id                                                    = NVL(S2.PAY_SOURCE_TASK_ID,task_id)
                    AND      COST_DISTRIBUTED_FLAG                                      = 'Y'
                    AND      NVL(PAYROLL_ACCRUAL_FLAG,'N')                             <> 'Y' -- Bug 12813753
                    AND
                            (
                                      (
                                              S2.distribution_basis_code  <> 'ST_OT_AMT'
                                      AND      TEMP.SYSTEM_LINKAGE_FUNCTION = DECODE(S2.distribution_basis_code
                                                                                  ,'ST_AMT' ,'ST'
                                                                                  ,'OT_AMT','OT' )
                                      )
                            OR
                                      (
                                              S2.distribution_basis_code = 'ST_OT_AMT'
                                      AND      TEMP.SYSTEM_LINKAGE_FUNCTION IN ('ST'
                                                                              ,'OT')
                                      )
                            )
                    AND      TEMP.expenditure_type NOT IN (SELECT expenditure_type
                            FROM    PA_PAY_EXCLUDE_EXP_TYPES
                            WHERE   pay_element_map_id = S2.pay_element_map_id
                            )
                    GROUP BY S2.pay_source_id
                          , NVL(organization_id ,OVERRIDE_TO_ORGANIZATION_ID)
                          , project_id
                          , task_id
                    )
                  GROUP BY
                    pay_source_id
                  , organization_id
                  , project_id
                , task_id ) SUMM_AMOUNTS , pa_Pay_source_amounts SOURCE WHERE SUMM_AMOUNTS.PAY_SOURCE_ID = SOURCE.PAY_SOURCE_ID ;
Line: 2847

              INSERT
              INTO   PA_PAY_REJECTIONS_ALL
                     (
                            PAY_REJECTION_ID
                          , INTERFACE_RUN_ID
                          , PERSON_ID
                          , ASSIGNMENT_ID
                          , PAY_SOURCE_ID
                          , PAY_ELEMENT_TYPE_ID
                          , PAY_ELEMENT_TYPE_CODE
                          , REJECTION_CODE
                          , LAST_UPDATE_DATE
                          , LAST_UPDATED_BY
                          , CREATION_DATE
                          , CREATED_BY
                     )
              SELECT PA_PAY_REJECTION_ID_S.NEXTVAL
                   , G_INTERFACE_RUN_ID
                   , PS.PERSON_ID
                   , PS.ASSIGNMENT_ID
                   , PS.PAY_SOURCE_ID
                   , PS.PAY_ELEMENT_TYPE_ID
                   , PS.PAY_ELEMENT_TYPE_CODE
                   , 'RC 35'
                   , G_RUN_DATE
                   , G_USER_ID
                   , G_RUN_DATE
                   , G_USER_ID
              FROM   PA_PAY_SOURCE_AMOUNTS PS
              WHERE  INTERFACE_RUN_ID = G_INTERFACE_RUN_ID
              AND    DISTRIBUTION_BASIS_CODE IN ('ST_AMT'
                                               ,'OT_AMT'
                                               , 'ST_OT_AMT')
              AND    PS.PAY_SOURCE_ID NOT IN ( SELECT PAY_SOURCE_ID
                     FROM    PA_PAY_DIST_LINES PPD
                     WHERE   PPD.INTERFACE_RUN_ID = G_INTERFACE_RUN_ID
                     ) ;
Line: 2911

 INSERT
   INTO
      PA_PAY_DIST_LINES
      (
            PAY_DIST_ID            ,
            PAY_SOURCE_ID          ,
            INTERFACE_RUN_ID       ,
            PERSON_ID              ,
            ASSIGNMENT_ID          ,
            ORGANIZATION_ID        ,
            PROJECT_ID             ,
            TASK_ID                ,
            EXPENDITURE_TYPE       ,
            SYSTEM_LINKAGE_FUNCTION,
            EXPENDITURE_ITEM_DATE  ,
            PAY_ELEMENT_TYPE_ID    ,
            PAY_ELEMENT_TYPE_CODE  ,
            QUANTITY               ,
            DENOM_CURRENCY_CODE    ,
            DENOM_RAW_COST         ,
            DENOM_BURDEN_COST      ,
            ORG_ID                 ,
            LAST_UPDATE_DATE       ,
            LAST_UPDATED_BY        ,
            CREATION_DATE          ,
            CREATED_BY
      )
 SELECT
      PA_PAY_DIST_ID_S.NEXTVAL                                ,
      SOURCE.PAY_SOURCE_ID                                    ,
      G_INTERFACE_RUN_ID                                      ,
      SOURCE.PERSON_ID                                        ,
      SOURCE.ASSIGNMENT_ID                                    ,
      SUMM_AMOUNTS.ORGANIZATION_ID                            ,
      SUMM_AMOUNTS.PROJECT_ID                                 ,
      SUMM_AMOUNTS.TASK_ID                                    ,
      SOURCE.EXPENDITURE_TYPE                                 ,
      DECODE(SOURCE.COST_TYPE_CODE,'RAW','PJ','BURDEN','BTC') ,
      G_PAY_PERIOD_END                                        ,
      SOURCE.PAY_ELEMENT_TYPE_ID                              ,
      SOURCE.PAY_ELEMENT_TYPE_CODE                            ,
      0                                                       ,
      SOURCE.PAY_CURRENCY_CODE                                ,
      DECODE(SOURCE.COST_TYPE_CODE,'RAW',SOURCE.PAY_AMOUNT * RATIO_TO_REPORT(
      SUMM_AMOUNTS.AMOUNT) OVER (PARTITION BY SOURCE.PAY_SOURCE_ID)),
      DECODE(SOURCE.COST_TYPE_CODE,'BURDEN',SOURCE.PAY_AMOUNT * RATIO_TO_REPORT
      (SUMM_AMOUNTS.AMOUNT) OVER (PARTITION BY SOURCE.PAY_SOURCE_ID)),
      G_ORG_ID                                                       ,
      G_RUN_DATE                                                     ,
      G_USER_ID                                                      ,
      G_RUN_DATE                                                     ,
      G_USER_ID
   FROM
      (
             SELECT
                  PAY_SOURCE_ID   ,
                  ORGANIZATION_ID ,
                  PROJECT_ID      ,
                  TASK_ID         ,
                  SUM(AMOUNT) AMOUNT
               FROM
                  (
                         SELECT
                              S1.PAY_SOURCE_ID,
                              NVL(ORGANIZATION_ID ,OVERRIDE_TO_ORGANIZATION_ID) ORGANIZATION_ID ,
                              PROJECT_ID      ,
                              TASK_ID         ,
                              SUM(ACCT_RAW_COST) AS AMOUNT
                           FROM
                              PA_PAY_DIST_LINES DIST ,
                              PA_PAY_SOURCE_AMOUNTS S1
                          WHERE
                              S1.INTERFACE_RUN_ID     = G_INTERFACE_RUN_ID AND
                              DISTRIBUTION_BASIS_CODE = 'TOTAL_RAW' AND
                              DIST.PERSON_ID          = S1.PERSON_ID AND
                              DIST.INTERFACE_RUN_ID   = S1.INTERFACE_RUN_ID AND
                              COALESCE(DIST.ORGANIZATION_ID ,
                              DIST.OVERRIDE_TO_ORGANIZATION_ID,-99) = COALESCE( S1.PAY_SOURCE_ORGANIZATION_ID, DIST.ORGANIZATION_ID , DIST.OVERRIDE_TO_ORGANIZATION_ID,-99) AND
                              PROJECT_ID = NVL(S1.PAY_SOURCE_PROJECT_ID, PROJECT_ID) AND
                              TASK_ID                       = NVL(S1.PAY_SOURCE_TASK_ID,TASK_ID) AND
                              DIST.SYSTEM_LINKAGE_FUNCTION IN ('ST','OT','PJ') AND
                              DIST.EXPENDITURE_TYPE NOT IN
                              (
                                     SELECT
                                          EXPENDITURE_TYPE
                                       FROM
                                          PA_PAY_EXCLUDE_EXP_TYPES
                                      WHERE
                                          PAY_ELEMENT_MAP_ID =   S1.PAY_ELEMENT_MAP_ID
                              )
                       GROUP BY
                              S1.PAY_SOURCE_ID,
                              NVL(ORGANIZATION_ID ,OVERRIDE_TO_ORGANIZATION_ID)
                              ,
                              PROJECT_ID ,
                              TASK_ID
                          UNION
                         SELECT
                              S2.PAY_SOURCE_ID,
                              NVL(ORGANIZATION_ID ,OVERRIDE_TO_ORGANIZATION_ID) ORGANIZATION_ID ,
                              PROJECT_ID      ,
                              TASK_ID         ,
                              SUM(ACCT_RAW_COST) AS AMOUNT
                           FROM
                              PA_PAY_EXP_TEMP TEMP ,
                              PA_PAY_SOURCE_AMOUNTS S2
                          WHERE
                              S2.INTERFACE_RUN_ID      = G_INTERFACE_RUN_ID AND
                              DISTRIBUTION_BASIS_CODE = 'TOTAL_RAW' AND
                              S2.PERSON_ID = TEMP.INCURRED_BY_PERSON_ID AND
                              COALESCE(ORGANIZATION_ID ,
                              OVERRIDE_TO_ORGANIZATION_ID,-99) = COALESCE(S2.PAY_SOURCE_ORGANIZATION_ID,ORGANIZATION_ID ,OVERRIDE_TO_ORGANIZATION_ID,-99) AND
                              PROJECT_ID = NVL(S2.PAY_SOURCE_PROJECT_ID,PROJECT_ID) AND
                              TASK_ID                        = NVL(S2.PAY_SOURCE_TASK_ID,TASK_ID) AND
                              COST_DISTRIBUTED_FLAG          = 'Y' AND
                              NVL(PAYROLL_ACCRUAL_FLAG,'N') <> 'Y' AND
                              TEMP.SYSTEM_LINKAGE_FUNCTION IN ('ST','OT','PJ')   AND
                              TEMP.EXPENDITURE_TYPE NOT IN
                              (
                                     SELECT
                                          EXPENDITURE_TYPE
                                       FROM
                                          PA_PAY_EXCLUDE_EXP_TYPES
                                      WHERE
                                          PAY_ELEMENT_MAP_ID =  S2.PAY_ELEMENT_MAP_ID
                              )
                       GROUP BY
                              S2.PAY_SOURCE_ID,
                              NVL(ORGANIZATION_ID ,OVERRIDE_TO_ORGANIZATION_ID),
                              PROJECT_ID ,
                              TASK_ID
                  )
           GROUP BY
                  PAY_SOURCE_ID   ,
                  ORGANIZATION_ID ,
                  PROJECT_ID      ,
                  TASK_ID
      )
      SUMM_AMOUNTS ,
      PA_PAY_SOURCE_AMOUNTS SOURCE
  WHERE
      SUMM_AMOUNTS.PAY_SOURCE_ID = SOURCE.PAY_SOURCE_ID ;
Line: 3055

        INSERT
              INTO   PA_PAY_REJECTIONS_ALL
                     (
                            PAY_REJECTION_ID
                          , INTERFACE_RUN_ID
                          , PERSON_ID
                          , ASSIGNMENT_ID
                          , PAY_SOURCE_ID
                          , PAY_ELEMENT_TYPE_ID
                          , PAY_ELEMENT_TYPE_CODE
                          , REJECTION_CODE
                          , LAST_UPDATE_DATE
                          , LAST_UPDATED_BY
                          , CREATION_DATE
                          , CREATED_BY
                     )
              SELECT PA_PAY_REJECTION_ID_S.NEXTVAL
                   , G_INTERFACE_RUN_ID
                   , PS.PERSON_ID
                   , PS.ASSIGNMENT_ID
                   , PS.PAY_SOURCE_ID
                   , PS.PAY_ELEMENT_TYPE_ID
                   , PS.PAY_ELEMENT_TYPE_CODE
                   , 'RC 35'
                   , G_RUN_DATE
                   , G_USER_ID
                   , G_RUN_DATE
                   , G_USER_ID
              FROM   PA_PAY_SOURCE_AMOUNTS PS
              WHERE  INTERFACE_RUN_ID = G_INTERFACE_RUN_ID
              AND    DISTRIBUTION_BASIS_CODE = 'TOTAL_RAW'
              AND    PS.PAY_SOURCE_ID NOT IN ( SELECT PAY_SOURCE_ID
                     FROM    PA_PAY_DIST_LINES PPD
                     WHERE   PPD.INTERFACE_RUN_ID = G_INTERFACE_RUN_ID
                     ) ;
Line: 3111

   select --ei.org_id				ORG_ID
         --,TO_CHAR(ei.expenditure_item_date,'YYYY/MM/DD') expenditure_item_date
         --,nvl(ei.override_to_organization_id
         --        ,exp.incurred_by_organization_id) orgj_id
        -- ,
	 exp.incurred_by_person_id incurred_by_person_id
        -- ,ei.job_id			JOB_ID
         ,detail.compensation_rule_set
         ,nvl(detail.cost_rate_currency_code,pa_currency.get_currency_code)
         ,to_char(detail.rate_schedule_id)
         ,detail.override_type
         ,detail.acct_rate_type
         ,detail.acct_rate_date_code
         ,detail.acct_exchange_rate
         ,detail.base_hours
     from pa_compensation_details       detail
      --   ,pa_expenditure_items          ei
         ,pa_expenditures               exp
    where trunc(p_exp_item_date) between trunc(detail.start_date_active)
                        and trunc(nvl(detail.end_date_active,p_exp_item_date))
      and detail.person_id = exp.incurred_by_person_id
      and exp.expenditure_id = x_exp_id
      --and ei.source_expenditure_item_id is null
     -- and ei.expenditure_item_id = p_exp_item_id
     -- and ei.po_line_id IS NULL
     ;
Line: 3139

     select
	p_job_id,
	p_org_id				ORG_ID
	,TO_CHAR(x_exp_item_date,'YYYY/MM/DD') expenditure_item_date
	,p_organization_id orgj_id
	from dual;
Line: 3258

     select rule.costing_method, rule.rate_source_code
       into x_costing_method, x_rate_source_code
       from pa_compensation_rule_sets rule
      where rule.compensation_rule_set = l_costing_rule_tab(1);
Line: 3286

   select ei.org_id				ORG_ID
         ,TO_CHAR(ei.expenditure_item_date,'YYYY/MM/DD') expenditure_item_date
         ,nvl(ei.override_to_organization_id
                 ,exp.incurred_by_organization_id) orgj_id
         ,exp.incurred_by_person_id incurred_by_person_id
         ,ei.job_id			JOB_ID
         ,detail.compensation_rule_set
         ,nvl(detail.cost_rate_currency_code,pa_currency.get_currency_code)
         ,to_char(detail.rate_schedule_id)
         ,detail.override_type
         ,detail.acct_rate_type
         ,detail.acct_rate_date_code
         ,detail.acct_exchange_rate
         ,detail.base_hours
     from pa_compensation_details       detail
         ,pa_expenditure_items          ei
         ,pa_expenditures               exp
    where trunc(p_exp_item_date) between trunc(detail.start_date_active)
                        and trunc(nvl(detail.end_date_active,p_exp_item_date))
      and detail.person_id = exp.incurred_by_person_id
      and exp.expenditure_id = ei.expenditure_id
      --and ei.source_expenditure_item_id is null
      and ei.expenditure_item_id = p_exp_item_id
      and ei.po_line_id IS NULL;
Line: 3400

     select rule.costing_method, rule.rate_source_code
       into x_costing_method, x_rate_source_code
       from pa_compensation_rule_sets rule
      where rule.compensation_rule_set = l_costing_rule_tab(1);
Line: 3434

       UPDATE
            pa_pay_dist_lines
      SET
            ACCT_RAW_COST      = DENOM_RAW_COST ,
            ACCT_CURRENCY_CODE = DENOM_CURRENCY_CODE
        WHERE
            DENOM_CURRENCY_CODE  = G_FUNC_CURR_CODE AND
            INTERFACE_RUN_ID = G_INTERFACE_RUN_ID;
Line: 3446

      write_log(Log,'updated ACCT amounts for records ' || SQL%rowcount);
Line: 3449

             SELECT
                  pay_dist_id                                      ,
                  pay_source_id                                    ,
                  pay_element_type_id                              ,
                  pay_element_type_code                            ,
                  person_id                                        ,
                  TRUNC(expenditure_item_date)expenditure_item_date,
                  denom_currency_code                              ,
                  denom_raw_cost
               FROM
                  pa_pay_dist_lines
              WHERE
                  interface_run_id = G_INTERFACE_RUN_ID AND
                 /* person_id        = G_PERSON_ID        AND   */
                  DENOM_CURRENCY_CODE <> G_FUNC_CURR_CODE
      )
      LOOP
            write_log(Log,'Getting conversion attributes');
Line: 3511

             UPDATE
                  pa_pay_dist_lines
            SET
                  ACCT_RAW_COST      =   l_acct_pay_amount ,
                  ACCT_CURRENCY_CODE =   G_FUNC_CURR_CODE  ,
                  ACCT_EXCHANGE_RATE =   l_acct_exch_rate   ,
                  ACCT_RATE_DATE     =   l_conversion_date,
                  ACCT_RATE_TYPE     =   l_acct_rate_type
              WHERE
                  pay_dist_id = X.PAY_DIST_ID;
Line: 3557

  INSERT
   INTO
      PA_PAY_REJECTIONS_ALL
      (
            PAY_REJECTION_ID ,
            INTERFACE_RUN_ID ,
            PERSON_ID        ,
            ASSIGNMENT_ID    ,
            PAY_SOURCE_ID    ,
            PAY_ELEMENT_TYPE_ID,
            PAY_ELEMENT_TYPE_CODE,
            REJECTION_CODE   ,
            LAST_UPDATE_DATE ,
            LAST_UPDATED_BY  ,
            CREATION_DATE    ,
            CREATED_BY
      )
      VALUES
      (
            PA_PAY_REJECTION_ID_S.nextval,
            G_INTERFACE_RUN_ID           ,
            G_PERSON_ID                  ,
            G_ASSIGNMENT_ID              ,
            P_PAY_SOURCE_ID              ,
            P_PAY_ELEMENT_TYPE_ID ,
            P_PAY_ELEMENT_TYPE_CODE ,
            P_REJECTION_CODE             ,
            G_RUN_DATE                   ,
            G_USER_ID                    ,
            G_RUN_DATE                   ,
            G_USER_ID
               );
Line: 3615

  INSERT
   INTO
      PA_PAY_REJECTIONS_ALL
      (
            PAY_REJECTION_ID ,
            INTERFACE_RUN_ID ,
            PERSON_ID        ,
            ASSIGNMENT_ID    ,
            PAY_SOURCE_ID    ,
            PAY_ELEMENT_TYPE_ID,
            PAY_ELEMENT_TYPE_CODE,
            REJECTION_CODE   ,
            LAST_UPDATE_DATE ,
            LAST_UPDATED_BY  ,
            CREATION_DATE    ,
            CREATED_BY
      )
      select PA_PAY_REJECTION_ID_S.nextval,
            INTERFACE_RUN_ID           ,
            PERSON_ID                  ,
            ASSIGNMENT_ID              ,
            P_PAY_SOURCE_ID              ,
	    PAY_ELEMENT_TYPE_ID ,
            PAY_ELEMENT_TYPE_CODE ,
	    P_REJECTION_CODE             ,
            G_RUN_DATE                   ,
            G_USER_ID                    ,
            G_RUN_DATE                   ,
            G_USER_ID
	    from pa_pay_source_amounts where pay_source_id = P_PAY_SOURCE_ID;
Line: 3667

 SELECT
      MIN(PAY_REJECTION_ID)
   INTO
      L_PARENT_REJECTION_ID
   FROM
      PA_PAY_REJECTIONS_ALL
  WHERE
      INTERFACE_RUN_ID = G_INTERFACE_RUN_ID AND
      PERSON_ID        = G_PERSON_ID ;
Line: 3680

  SELECT            PPS.PERSON_ID , Min(PPR.PAY_REJECTION_ID) PARENT_REJECTION_ID
  FROM             PA_PAY_REJECTIONS_ALL  PPR , PA_PAY_SOURCE_AMOUNTS   PPS
  WHERE             PPR.INTERFACE_RUN_ID =  G_INTERFACE_RUN_ID
  AND               PPR.INTERFACE_RUN_ID =  PPS.INTERFACE_RUN_ID
  AND             PPR.PAY_SOURCE_ID    =  PPS.PAY_SOURCE_ID
    GROUP BY        PPS.PERSON_ID
  )

 LOOP

 INSERT
   INTO
      PA_PAY_REJECTIONS_ALL
      (
            PAY_REJECTION_ID   ,
            INTERFACE_RUN_ID   ,
            PERSON_ID          ,
            ASSIGNMENT_ID      ,
            PAY_SOURCE_ID      ,
            PAY_ELEMENT_TYPE_ID,
            PAY_ELEMENT_TYPE_CODE,
            PARENT_REJECTION_ID,
            REJECTION_CODE     ,
            LAST_UPDATE_DATE   ,
            LAST_UPDATED_BY    ,
            CREATION_DATE      ,
            CREATED_BY
      )
 SELECT
      PA_PAY_REJECTION_ID_S.NEXTVAL,
      G_INTERFACE_RUN_ID ,
      PERSON_ID                                      ,
      ASSIGNMENT_ID                                  ,
      PAY_SOURCE_ID                                    ,
      PAY_ELEMENT_TYPE_ID,
      PAY_ELEMENT_TYPE_CODE,
      X.PARENT_REJECTION_ID                            ,
      'RC 85'                       ,
      G_RUN_DATE                                       ,
      G_USER_ID                                        ,
      G_RUN_DATE                                       ,
      G_USER_ID
   FROM
      PA_PAY_SOURCE_AMOUNTS
  WHERE
      PERSON_ID          = X.PERSON_ID AND
      INTERFACE_RUN_ID = G_INTERFACE_RUN_ID AND
      PAY_source_id NOT IN
      (
            SELECT DISTINCT
                  PAY_source_id
               FROM
                  PA_PAY_REJECTIONS_ALL
              WHERE
                  PERSON_ID        = X.PERSON_ID AND
                  INTERFACE_RUN_ID = G_INTERFACE_RUN_ID
      ) ;
Line: 3761

SELECT  INT_EXT_INDICATOR
INTO
l_int_ext_flag
FROM pa_pay_audit_all
WHERE INTERFACE_RUN_ID = G_INTERFACE_RUN_ID ;
Line: 3769

 INSERT
   INTO
      PA_PAY_REJECTIONS_ALL
      (PAY_REJECTION_ID   ,
            INTERFACE_RUN_ID   ,
            PERSON_ID          ,
            ASSIGNMENT_ID      ,
            PAY_ELEMENT_TYPE_ID,
            REJECTION_CODE     ,
            LAST_UPDATE_DATE   ,
            LAST_UPDATED_BY    ,
            CREATION_DATE      ,
            CREATED_BY
      )
SELECT
      PA_PAY_REJECTION_ID_S.NEXTVAL, rej.*
      from
      (select  DISTINCT
      G_INTERFACE_RUN_ID INTERFACE_RUN_ID,
      G_PERSON_ID        PERSON_ID,
      G_ASSIGNMENT_ID    ASSIGNMENT_ID,
      ELEMENT_TYPE_ID    ,
      'RC 05'         REJECTION_CODE,
      G_RUN_DATE        LAST_UPDATE_DATE ,
      G_USER_ID         LAST_UPDATED_BY ,
      G_RUN_DATE        CREATION_DATE ,
      G_USER_ID      CREATED_BY
   FROM
      PA_PAY_INTERFACE_TEMP TEMP, PA_PAY_AUDIT AUD
  WHERE
       AUD.INTERFACE_RUN_ID = G_INTERFACE_RUN_ID AND
      -- TEMP.TIME_PERIOD_ID = AUD.TIME_PERIOD_ID AND
           TRUNC(NVL(TEMP.SOURCE_START_DATE,TEMP.TIME_PERIOD_START_DATE)) = TRUNC(NVL(AUD.SOURCE_START_DATE,AUD.PAY_PERIOD_START_DATE))
      AND      TRUNC(NVL(TEMP.SOURCE_END_DATE,TEMP.TIME_PERIOD_END_DATE))   = TRUNC(NVL(AUD.SOURCE_END_DATE,AUD.PAY_PERIOD_END_DATE)) /* bug 12690224*/
       AND TEMP.PERSON_ID = G_PERSON_ID AND
      ELEMENT_TYPE_ID NOT IN
      (
             SELECT
                  PAY_ELEMENT_TYPE_ID
               FROM
                  PA_PAY_SOURCE_AMOUNTS PSA
              WHERE
              PSA.INTERFACE_RUN_ID = G_INTERFACE_RUN_ID AND
              PSA.PERSON_ID = G_PERSON_ID /*AND
                  PAY_SOURCE_ID IN
                  (
                         SELECT
                              PAY_SOURCE_ID
                           FROM
                              PA_PAY_REJECTIONS_ALL
                          WHERE
                              PERSON_ID        = G_PERSON_ID AND
                              INTERFACE_RUN_ID = G_INTERFACE_RUN_ID
                  )*/
      ))rej ;
Line: 3830

   INSERT
   INTO
      PA_PAY_REJECTIONS_ALL
      (PAY_REJECTION_ID   ,
            INTERFACE_RUN_ID   ,
            PERSON_ID          ,
            ASSIGNMENT_ID      ,
            PAY_ELEMENT_TYPE_CODE,
            REJECTION_CODE     ,
            LAST_UPDATE_DATE   ,
            LAST_UPDATED_BY    ,
            CREATION_DATE      ,
            CREATED_BY
      )
SELECT
      PA_PAY_REJECTION_ID_S.NEXTVAL, rej.*
      from
      (select  DISTINCT
      G_INTERFACE_RUN_ID INTERFACE_RUN_ID,
      G_PERSON_ID        PERSON_ID,
      G_ASSIGNMENT_ID    ASSIGNMENT_ID,
      PAY_ELEMENT_TYPE_CODE    ,
      'RC 05'         REJECTION_CODE,
      G_RUN_DATE        LAST_UPDATE_DATE ,
      G_USER_ID         LAST_UPDATED_BY ,
      G_RUN_DATE        CREATION_DATE ,
      G_USER_ID      CREATED_BY
   FROM
      PA_PAY_EXT_INTERAFACE_V  EXT, PA_PAY_AUDIT AUD
  WHERE
       AUD.INTERFACE_RUN_ID = G_INTERFACE_RUN_ID AND
       EXT.TIME_PERIOD_ID = AUD.TIME_PERIOD_ID AND
       EXT.PERSON_ID = G_PERSON_ID AND
      PAY_ELEMENT_TYPE_CODE NOT IN
      (
             SELECT
                  PAY_ELEMENT_TYPE_CODE
               FROM
                  PA_PAY_SOURCE_AMOUNTS PSA
              WHERE
              PSA.INTERFACE_RUN_ID = G_INTERFACE_RUN_ID AND
              PSA.PERSON_ID = G_PERSON_ID
      ))rej ;
Line: 3911

SELECT  'Y'   INTO  l_burden_exists FROM  dual
WHERE  EXISTS (SELECT 1
FROM    pa_pay_dist_lines
WHERE   SYSTEM_LINKAGE_FUNCTION = 'BTC'
AND      INTERFACE_RUN_ID        = G_INTERFACE_RUN_ID
AND      PERSON_ID               = G_PERSON_ID ) ;
Line: 3928

        pa_transactions.InsertExpGroup (
                                          l_exp_group,
                                          'RELEASED',
                                          G_PAY_PERIOD_END,
                                          'BTC',
                                          0,
                                          NULL,
                                          NULL,
                                          G_ORG_ID);
Line: 3942

          (SELECT DISTINCT organization_id ,
                           denom_currency_code
          FROM             pa_pay_dist_lines
          WHERE            SYSTEM_LINKAGE_FUNCTION = 'BTC'
          AND              INTERFACE_RUN_ID        = G_INTERFACE_RUN_ID
          AND              PERSON_ID               = G_PERSON_ID
          )
LOOP
		select pa_expenditures_s.nextval
						 into l_expenditure_id  from dual;
Line: 3953

write_log(LOG,'Calling InsertExp'  );
Line: 3955

		pa_transactions.InsertExp(
		  x_expenditure_id =>l_expenditure_id,
		  x_expend_status =>'APPROVED',
		  x_expend_ending => pa_utils.NewGetWeekEnding((G_PAY_PERIOD_END)),   --Bug 2236707,3551106
		  x_expend_class => 'BT',
		  x_inc_by_person => G_PERSON_ID ,
		  x_inc_by_org => X.organization_id,
		  x_expend_group => l_exp_group,
		  x_entered_by_id =>X.organization_id,
		  x_created_by_id =>0,
		  x_attribute_category => null,
		  x_attribute1 => null,
		  x_attribute2 => null,
		  x_attribute3 => null,
		  x_attribute4 => null,
		  x_attribute5 => null,
		  x_attribute6 => null,
		  x_attribute7 => null,
		  x_attribute8 => null,
		  x_attribute9 => null,
		  x_attribute10=> null,
		  x_description=> null,
		  x_control_total=> null,
		  x_denom_currency_code =>X.denom_currency_code,
		  x_acct_currency_code => G_FUNC_CURR_CODE,
		  x_acct_rate_type => null,
		  x_acct_rate_date => null,
		  x_acct_exchange_rate=> null
		  ,X_person_type => null
		  ,P_Org_Id => G_ORG_ID
		,X_vendor_id => null
		);
Line: 3987

  write_log(LOG,'After InsertExp'  );
Line: 3992

		 -- For each organization and  denom currency above , insert all items
		FOR Y IN
                  (
                         SELECT
                              DIST. ORGANIZATION_ID      ,
                              DIST.PROJECT_ID            ,
                              DIST.TASK_ID               ,
                              DIST.EXPENDITURE_TYPE      ,
                              DIST.EXPENDITURE_ITEM_DATE ,
                              PA.PROJECT_CURRENCY_CODE   ,
                              PA.PROJFUNC_CURRENCY_CODE  ,
                              DIST.DENOM_CURRENCY_CODE   ,
                              DIST.ACCT_CURRENCY_CODE   ,
                              SUM(DIST.DENOM_BURDEN_COST) DENOM_BURDEN_COST
                           FROM
                              PA_PAY_DIST_LINES DIST ,
                              PA_PROJECTS_ALL PA
                          WHERE
                              DIST.PROJECT_ID         = PA.PROJECT_ID AND
                              SYSTEM_LINKAGE_FUNCTION = 'BTC' AND
                              INTERFACE_RUN_ID        = G_INTERFACE_RUN_ID AND
                              PERSON_ID               = G_PERSON_ID AND
                              ORGANIZATION_ID         = X.ORGANIZATION_ID AND
                              DENOM_CURRENCY_CODE     = X.DENOM_CURRENCY_CODE
                       GROUP BY
                              DIST. ORGANIZATION_ID      ,
                              DIST.PROJECT_ID            ,
                              DIST.TASK_ID               ,
                              DIST.EXPENDITURE_TYPE      ,
                              DIST.EXPENDITURE_ITEM_DATE ,
                              PA.PROJECT_CURRENCY_CODE   ,
                              PA.PROJFUNC_CURRENCY_CODE  ,
                              DIST.DENOM_CURRENCY_CODE ,
                              DIST.ACCT_CURRENCY_CODE
                       ORDER BY
                              PROJECT_ID ,
                              TASK_ID
                  )
                  LOOP

					i := i+1;
Line: 4033

					  select pa_expenditure_items_s.nextval
									 into l_exp_item_id from dual;
Line: 4103

            FOR X  IN  (SELECT DISTINCT
                PAY_SOURCE_ID,PAY_ELEMENT_TYPE_ID,PAY_ELEMENT_TYPE_CODE
            FROM
                PA_PAY_DIST_LINES
            WHERE
                INTERFACE_RUN_ID        = G_INTERFACE_RUN_ID AND
                PERSON_ID               = G_PERSON_ID AND
                PROJECT_ID              = Y.PROJECT_ID AND
                TASK_ID                 = Y.TASK_ID AND
                SYSTEM_LINKAGE_FUNCTION = 'BTC' AND
                EXPENDITURE_TYPE        = Y.EXPENDITURE_TYPE)
            LOOP
            reject_pay_element  ( X.PAY_SOURCE_ID,X.PAY_ELEMENT_TYPE_ID,X.PAY_ELEMENT_TYPE_CODE,'RC 75');
Line: 4124

            FOR X  IN  (SELECT DISTINCT
                        PAY_SOURCE_ID,PAY_ELEMENT_TYPE_ID,PAY_ELEMENT_TYPE_CODE
                        FROM
                        PA_PAY_DIST_LINES
                        WHERE
                        INTERFACE_RUN_ID        = G_INTERFACE_RUN_ID AND
                        PERSON_ID               = G_PERSON_ID AND
                        PROJECT_ID              = Y.PROJECT_ID AND
                        TASK_ID                 = Y.TASK_ID AND
                        SYSTEM_LINKAGE_FUNCTION = 'BTC' AND
                        EXPENDITURE_TYPE        = Y.EXPENDITURE_TYPE)
            LOOP
            reject_pay_element  ( X.PAY_SOURCE_ID,X.PAY_ELEMENT_TYPE_ID,X.PAY_ELEMENT_TYPE_CODE,'RC 65');
Line: 4225

           INSERT
   INTO
      PA_EXPENDITURE_ITEMS_ALL
      (
            EXPENDITURE_ITEM_ID      ,
            LAST_UPDATE_DATE         ,
            LAST_UPDATED_BY          ,
            CREATION_DATE            ,
            CREATED_BY               ,
            EXPENDITURE_ID           ,
            TASK_ID                  ,
            EXPENDITURE_ITEM_DATE    ,
            EXPENDITURE_TYPE         ,
            COST_DISTRIBUTED_FLAG    ,
            REVENUE_DISTRIBUTED_FLAG ,
            BILLABLE_FLAG            ,
            BILL_HOLD_FLAG           ,
            QUANTITY                 ,
            NET_ZERO_ADJUSTMENT_FLAG ,
            LAST_UPDATE_LOGIN        ,
            REQUEST_ID               ,
            PROGRAM_APPLICATION_ID   ,
            PROGRAM_ID               ,
            PROGRAM_UPDATE_DATE      ,
            PROJECT_ID               ,
            ORG_ID                   ,
            SYSTEM_LINKAGE_FUNCTION  ,
            DENOM_CURRENCY_CODE      ,
            /*DENOM_RAW_COST           ,*/
            DENOM_BURDENED_COST,
            ACCT_CURRENCY_CODE          ,
            PROJECT_CURRENCY_CODE       ,
            ASSIGNMENT_ID               ,
            PROJFUNC_CURRENCY_CODE      ,
            HISTORICAL_FLAG             ,
            COSTING_METHOD              ,
            PAYROLL_ACCRUAL_FLAG        ,
            INTERFACE_RUN_ID            ,
            COST_BURDEN_DISTRIBUTED_FLAG,
            CC_CROSS_CHARGE_TYPE        ,
            CC_BL_DISTRIBUTED_CODE      ,
            CC_IC_PROCESSED_CODE        ,
            CC_PRVDR_COST_RECLASS_CODE
      )
      VALUES
      (
            l_exp_item_id           ,
            G_RUN_DATE              , -- LAST_UPDATE_DATE
            G_USER_ID               , -- LAST_UPDATED_BY
            G_RUN_DATE              , -- CREATION_DATE
            G_USER_ID               , -- CREATED_BY
            l_expenditure_id        ,
            Y.TASK_ID               ,
            Y.EXPENDITURE_ITEM_DATE ,
            Y.EXPENDITURE_TYPE      ,
            'N'                     , --COST_DISTRIBUTED_FLAG
            'N'                     ,--REVENUE_DISTRIBUTED_FLAG
            l_billable_flag         ,--BILLABLE_FLAG
            'N'                     ,--BILL_HOLD_FLAG
            0                       ,--QUANTITY
            'N'                     , --NET_ZERO_ADJUSTMENT_FLAG
            G_LOGIN_ID              ,--LAST_UPDATE_LOGIN
            G_REQUEST_ID            ,--REQUEST_ID
            275                     ,
            G_PROGRAM_ID            ,
            G_RUN_DATE              ,--PROGRAM_UPDATE_DATE
            Y.PROJECT_ID            ,
            G_ORG_ID                ,
            'BTC'                    ,
            Y.denom_CURRENCY_CODE   , --DENOM_CURRENCY_CODE
            PA_CURRENCY.ROUND_TRANS_CURRENCY_AMT1( Y.denom_burden_cost, Y.denom_CURRENCY_CODE) ,--DENOM_BURDENED_COST
            G_FUNC_CURR_CODE         ,
            Y.PROJECT_CURRENCY_CODE  ,
            G_ASSIGNMENT_ID          ,
            Y.PROJFUNC_CURRENCY_CODE ,
            'N'                      ,--HISTORICAL_FLAG
            'ACTUAL'                 ,
            'N'                      ,
            G_INTERFACE_RUN_ID       ,
            'X'                      ,
            'NO'                     ,
            'X'                      ,
            'X'                      ,
            'N'
      ) ;
Line: 4313

UPDATE PA_PAY_DIST_LINES
 SET    TARGET_EXPENDITURE_ITEM_ID  = l_exp_item_id
 WHERE  ORGANIZATION_ID         = Y. ORGANIZATION_ID
 AND    PROJECT_ID              = Y.PROJECT_ID
 AND    TASK_ID                 = Y.TASK_ID
 AND    EXPENDITURE_TYPE        = Y.EXPENDITURE_TYPE
 AND    EXPENDITURE_ITEM_DATE   = Y.EXPENDITURE_ITEM_DATE
 AND    DENOM_CURRENCY_CODE     = Y.DENOM_CURRENCY_CODE
 AND    ACCT_CURRENCY_CODE      = Y.ACCT_CURRENCY_CODE ;
Line: 4329

      /*  UPDATE  pa_expenditure_items_all
        SET  interface_run_id = G_INTERFACE_RUN_ID
                  ,COSTING_METHOD      = 'ACTUAL'
                  ,PAYROLL_ACCRUAL_FLAG = 'N'
        WHERE  expenditure_id = l_expenditure_id   ;     */
Line: 4382

        SELECT  'Y'   INTO  l_misc_exists FROM  dual
        WHERE  EXISTS (SELECT 1
        FROM    pa_pay_dist_lines
        WHERE   SYSTEM_LINKAGE_FUNCTION = 'PJ'
        AND      INTERFACE_RUN_ID        = G_INTERFACE_RUN_ID
        AND      PERSON_ID               = G_PERSON_ID ) ;
Line: 4404

        pa_transactions.InsertExpGroup (
                                          l_exp_group,
                                          'RELEASED',
                                          G_PAY_PERIOD_END,
                                          'PJ',
                                          0,
                                          NULL,
                                          NULL,
                                          G_ORG_ID);
Line: 4423

          (SELECT DISTINCT organization_id ,
                            denom_currency_code
          FROM             pa_pay_dist_lines
          WHERE            SYSTEM_LINKAGE_FUNCTION = 'PJ'
          AND              INTERFACE_RUN_ID        = G_INTERFACE_RUN_ID
          AND              PERSON_ID               = G_PERSON_ID
          )
LOOP

		select pa_expenditures_s.nextval
						 into l_expenditure_id  from dual;
Line: 4435

    write_log(LOG,'Calling InsertExp for '  || X.organization_id || ' - ' || x.denom_currency_code );
Line: 4437

		pa_transactions.InsertExp(
		  x_expenditure_id =>l_expenditure_id,
		  x_expend_status =>'APPROVED',
		  x_expend_ending => pa_utils.NewGetWeekEnding((G_PAY_PERIOD_END)),   --Bug 2236707,3551106
		  x_expend_class => 'PU',
		  x_inc_by_person => G_PERSON_ID ,
		  x_inc_by_org => X.organization_id,
		  x_expend_group => l_exp_group,
		  x_entered_by_id =>X.organization_id,
		  x_created_by_id =>0,
		  x_attribute_category => null,
		  x_attribute1 => null,
		  x_attribute2 => null,
		  x_attribute3 => null,
		  x_attribute4 => null,
		  x_attribute5 => null,
		  x_attribute6 => null,
		  x_attribute7 => null,
		  x_attribute8 => null,
		  x_attribute9 => null,
		  x_attribute10=> null,
		  x_description=> null,
		  x_control_total=> null,
		  x_denom_currency_code =>X.denom_currency_code,
		  x_acct_currency_code => G_FUNC_CURR_CODE,
		  x_acct_rate_type => null,
		  x_acct_rate_date => null,
		  x_acct_exchange_rate=> null
		  ,X_person_type => null
		  ,P_Org_Id => G_ORG_ID
		,X_vendor_id => null
		);
Line: 4469

  write_log(LOG,'After InsertExp'  );
Line: 4476

		 -- For each organization and  denom currency above , insert all items
		FOR Y IN
            (
                   SELECT
                        DIST.ORGANIZATION_ID       ,
                        DIST.PROJECT_ID            ,
                        DIST.TASK_ID               ,
                        DIST.EXPENDITURE_TYPE      ,
                        DIST.EXPENDITURE_ITEM_DATE ,
                        PA.PROJECT_CURRENCY_CODE   ,
                        PA.PROJFUNC_CURRENCY_CODE  ,
                        DIST.DENOM_CURRENCY_CODE   ,
                        DIST.acct_currency_code,
                        SUM(DIST.DENOM_RAW_COST) DENOM_RAW_COST
                     FROM
                        PA_PAY_DIST_LINES DIST,
                        PA_PROJECTS_ALL PA
                    WHERE
                        DIST.PROJECT_ID         = PA.PROJECT_ID AND
                        SYSTEM_LINKAGE_FUNCTION = 'PJ' AND
                        INTERFACE_RUN_ID        = G_INTERFACE_RUN_ID AND
                        PERSON_ID               = G_PERSON_ID AND
                        ORGANIZATION_ID         = X.ORGANIZATION_ID AND
                        DENOM_CURRENCY_CODE     = X.DENOM_CURRENCY_CODE
                 GROUP BY
                       DIST.ORGANIZATION_ID       ,
                        DIST.PROJECT_ID            ,
                        DIST.TASK_ID               ,
                        DIST.EXPENDITURE_TYPE      ,
                        DIST.EXPENDITURE_ITEM_DATE ,
                        PA.PROJECT_CURRENCY_CODE   ,
                        PA.PROJFUNC_CURRENCY_CODE  ,
                        DIST.DENOM_CURRENCY_CODE  ,
                        DIST.acct_currency_code
                 ORDER BY
                        PROJECT_ID ,
                        TASK_ID
            )
            LOOP

					i := i+1;
Line: 4517

					  select pa_expenditure_items_s.nextval
									 into l_exp_item_id from dual;
Line: 4586

            FOR X  IN  (SELECT DISTINCT
                PAY_SOURCE_ID,PAY_ELEMENT_TYPE_ID,PAY_ELEMENT_TYPE_CODE
            FROM
                PA_PAY_DIST_LINES
            WHERE
                INTERFACE_RUN_ID        = G_INTERFACE_RUN_ID AND
                PERSON_ID               = G_PERSON_ID AND
                PROJECT_ID              = Y.PROJECT_ID AND
                TASK_ID                 = Y.TASK_ID AND
                SYSTEM_LINKAGE_FUNCTION = 'PJ' AND
                EXPENDITURE_TYPE        = Y.EXPENDITURE_TYPE)
            LOOP
            reject_pay_element  ( X.PAY_SOURCE_ID,X.PAY_ELEMENT_TYPE_ID,X.PAY_ELEMENT_TYPE_CODE,'RC 75');
Line: 4608

            FOR X  IN  (SELECT DISTINCT
                        PAY_SOURCE_ID,PAY_ELEMENT_TYPE_ID,PAY_ELEMENT_TYPE_CODE
                        FROM
                        PA_PAY_DIST_LINES
                        WHERE
                        INTERFACE_RUN_ID        = G_INTERFACE_RUN_ID AND
                        PERSON_ID               = G_PERSON_ID AND
                        PROJECT_ID              = Y.PROJECT_ID AND
                        TASK_ID                 = Y.TASK_ID AND
                        SYSTEM_LINKAGE_FUNCTION = 'PJ' AND
                        EXPENDITURE_TYPE        = Y.EXPENDITURE_TYPE)
            LOOP
            reject_pay_element  ( X.PAY_SOURCE_ID,X.PAY_ELEMENT_TYPE_ID,X.PAY_ELEMENT_TYPE_CODE,'RC 65');
Line: 4711

          INSERT
      INTO
      PA_EXPENDITURE_ITEMS_ALL
      (
            EXPENDITURE_ITEM_ID      ,
            LAST_UPDATE_DATE         ,
            LAST_UPDATED_BY          ,
            CREATION_DATE            ,
            CREATED_BY               ,
            EXPENDITURE_ID           ,
            TASK_ID                  ,
            EXPENDITURE_ITEM_DATE    ,
            EXPENDITURE_TYPE         ,
            COST_DISTRIBUTED_FLAG    ,
            REVENUE_DISTRIBUTED_FLAG ,
            BILLABLE_FLAG            ,
            BILL_HOLD_FLAG           ,
            QUANTITY                 ,
            NET_ZERO_ADJUSTMENT_FLAG ,
            LAST_UPDATE_LOGIN        ,
            REQUEST_ID               ,
            PROGRAM_APPLICATION_ID   ,
            PROGRAM_ID               ,
            PROGRAM_UPDATE_DATE      ,
            PROJECT_ID               ,
            ORG_ID                   ,
            SYSTEM_LINKAGE_FUNCTION  ,
            DENOM_CURRENCY_CODE      ,
            DENOM_RAW_COST           ,
            /*DENOM_BURDENED_COST*/
            ACCT_CURRENCY_CODE          ,
            PROJECT_CURRENCY_CODE       ,
            ASSIGNMENT_ID               ,
            PROJFUNC_CURRENCY_CODE      ,
            HISTORICAL_FLAG             ,
            COSTING_METHOD              ,
            PAYROLL_ACCRUAL_FLAG        ,
            INTERFACE_RUN_ID            ,
            COST_BURDEN_DISTRIBUTED_FLAG,
            CC_CROSS_CHARGE_TYPE        ,
            CC_BL_DISTRIBUTED_CODE      ,
            CC_IC_PROCESSED_CODE        ,
            CC_PRVDR_COST_RECLASS_CODE
      )
      VALUES
      (
            l_exp_item_id           ,
            G_RUN_DATE              , -- LAST_UPDATE_DATE
            G_USER_ID               , -- LAST_UPDATED_BY
            G_RUN_DATE              , -- CREATION_DATE
            G_USER_ID               , -- CREATED_BY
            l_expenditure_id        ,
            Y.TASK_ID               ,
            Y.EXPENDITURE_ITEM_DATE ,
            Y.EXPENDITURE_TYPE      ,
            'N'                     , --COST_DISTRIBUTED_FLAG
            'N'                     ,--REVENUE_DISTRIBUTED_FLAG
            l_billable_flag         ,--BILLABLE_FLAG
            'N'                     ,--BILL_HOLD_FLAG
            0                       ,--QUANTITY
            'N'                     , --NET_ZERO_ADJUSTMENT_FLAG
            G_LOGIN_ID              ,--LAST_UPDATE_LOGIN
            G_REQUEST_ID            ,--REQUEST_ID
            275                     ,
            G_PROGRAM_ID            ,
            G_RUN_DATE              ,--PROGRAM_UPDATE_DATE
            Y.PROJECT_ID            ,
            G_ORG_ID                ,
            'PJ'                    ,
            Y.denom_CURRENCY_CODE   , --DENOM_CURRENCY_CODE
            PA_CURRENCY.ROUND_TRANS_CURRENCY_AMT1( Y.denom_raw_cost, Y.denom_CURRENCY_CODE) ,--DENOM_RAW_COST
            G_FUNC_CURR_CODE         ,
            Y.PROJECT_CURRENCY_CODE  ,
            G_ASSIGNMENT_ID          ,
            Y.PROJFUNC_CURRENCY_CODE ,
            'N'                      ,--HISTORICAL_FLAG
            'ACTUAL'                 ,
            'N'                      ,
            G_INTERFACE_RUN_ID       ,
            'X'                      ,
            'NO'                     ,
            'X'                      ,
            'X'                      ,
            'N'
      );
Line: 4799

 UPDATE PA_PAY_DIST_LINES
 SET    TARGET_EXPENDITURE_ITEM_ID  = l_exp_item_id
 WHERE  ORGANIZATION_ID         = Y. ORGANIZATION_ID
 AND    PROJECT_ID              = Y.PROJECT_ID
 AND    TASK_ID                 = Y.TASK_ID
 AND    EXPENDITURE_TYPE        = Y.EXPENDITURE_TYPE
 AND    EXPENDITURE_ITEM_DATE   = Y.EXPENDITURE_ITEM_DATE
 --AND    PROJECT_CURRENCY_CODE   = Y.PROJECT_CURRENCY_CODE
 --AND    PROJFUNC_CURRENCY_CODE  = Y.PROJFUNC_CURRENCY_CODE
 AND    DENOM_CURRENCY_CODE     = Y.DENOM_CURRENCY_CODE
 AND    ACCT_CURRENCY_CODE      = Y.ACCT_CURRENCY_CODE ;
Line: 4821

        UPDATE  pa_expenditure_items_all
        SET  interface_run_id = G_INTERFACE_RUN_ID
             ,COSTING_METHOD      = 'ACTUAL'
             ,PAYROLL_ACCRUAL_FLAG = 'N'
        WHERE  expenditure_id = l_expenditure_id   ;
Line: 4869

   FOR X IN ( SELECT DISTINCT
            SOURCE_EXPENDITURE_ITEM_ID ,
            EI.EXPENDITURE_ITEM_DATE,
            DENOM_CURRENCY_CODE,
            ORIG_CURR_CODE ,
            Sum(ORIG_AMOUNT)    ORIG_AMOUNT ,
            SUM(DENOM_RAW_COST) DENOM_RAW_COST
         FROM
            PA_PAY_DIST_LINES DIST , PA_PAY_EXP_TEMP EI
        WHERE
            DIST.SOURCE_EXPENDITURE_ITEM_ID = EI.EXPENDITURE_ITEM_ID AND
            DIST.SOURCE_EXPENDITURE_ITEM_ID IS NOT NULL AND
            DIST.INTERFACE_RUN_ID            = G_INTERFACE_RUN_ID AND
            DIST.PERSON_ID                   = G_PERSON_ID AND
            EI.COST_DISTRIBUTED_FLAG = 'N' AND
            EI.PAYROLL_ACCRUAL_FLAG is NULL
            GROUP BY
                              DIST.SOURCE_EXPENDITURE_ITEM_ID ,
                              EI.EXPENDITURE_ITEM_DATE,
                              DIST.DENOM_CURRENCY_CODE,
                              EI.ORIG_CURR_CODE

            )
            LOOP

            l_denom_orig_amount := NULL;
Line: 4928

            UPDATE
                  PA_EXPENDITURE_ITEMS_ALL  EI
            SET    DENOM_CURRENCY_CODE = X.DENOM_CURRENCY_CODE
                  ,DENOM_RAW_COST      =  PA_CURRENCY.ROUND_TRANS_CURRENCY_AMT1(l_denom_raw_cost, X.DENOM_CURRENCY_CODE)
                  ,REQUEST_ID          =  G_REQUEST_ID
                  ,INTERFACE_RUN_ID    =  G_INTERFACE_RUN_ID
                  ,COSTING_METHOD      = 'ACTUAL'
                  ,PAYROLL_ACCRUAL_FLAG = 'N'
              WHERE
                  EXPENDITURE_ITEM_ID = X.SOURCE_EXPENDITURE_ITEM_ID;
Line: 4941

              UPDATE PA_PAY_DIST_LINES
              SET TARGET_EXPENDITURE_ITEM_ID = SOURCE_EXPENDITURE_ITEM_ID
              WHERE SOURCE_EXPENDITURE_ITEM_ID = X.SOURCE_EXPENDITURE_ITEM_ID;
Line: 4945

      write_log(LOG,'Case  of uncosted EIs .. updated  expendture item '|| X.SOURCE_EXPENDITURE_ITEM_ID);
Line: 4950

FOR X IN (SELECT DISTINCT
            DIST.SOURCE_EXPENDITURE_ITEM_ID,DIST.DENOM_CURRENCY_CODE,
            TEMP.COST_DISTRIBUTED_FLAG,TEMP.PAYROLL_ACCRUAL_FLAG , TEMP.ORIG_CURR_CODE,
             TEMP.ORIG_AMOUNT,TEMP.EXPENDITURE_ITEM_DATE
         FROM
            PA_PAY_DIST_LINES DIST , PA_PAY_EXP_TEMP TEMP
        WHERE

            DIST.SOURCE_EXPENDITURE_ITEM_ID IS NOT NULL AND
            DIST.INTERFACE_RUN_ID            = G_INTERFACE_RUN_ID AND
            DIST.PERSON_ID                   = G_PERSON_ID AND
            DIST.SOURCE_EXPENDITURE_ITEM_ID = TEMP.EXPENDITURE_ITEM_ID AND
            TEMP. PAYROLL_ACCRUAL_FLAG = 'Y')
LOOP

 -- Accrual  EI , but was marked for re-calc.
 -- Mark them back as costed  and  copy amounts from  CDL
        IF ((X.COST_DISTRIBUTED_FLAG = 'N') AND (X.PAYROLL_ACCRUAL_FLAG = 'Y')) THEN
            UPDATE   PA_EXPENDITURE_ITEMS EI
            SET
                  EI.COST_DISTRIBUTED_FLAG='Y',
                  (EI.RAW_COST , EI.RAW_COST_RATE, EI.BURDEN_COST, EI.BURDEN_COST_RATE,
                  EI.ACCT_RAW_COST, EI.ACCT_BURDENED_COST, EI.DENOM_RAW_COST,
                  EI.DENOM_BURDENED_COST, EI.PROJECT_RAW_COST, EI.PROJECT_BURDENED_COST) =
                  (
                        SELECT
                              CDL.AMOUNT,
                              (CDL.DENOM_RAW_COST/DECODE(CDL.QUANTITY, NULL, 1,0, 1,
                              CDL.QUANTITY))    ,
                              CDL.BURDENED_COST ,
                              (CDL.DENOM_BURDENED_COST/DECODE(CDL.QUANTITY, NULL,1,0,1,
                              CDL.QUANTITY))          ,
                              CDL.ACCT_RAW_COST       ,
                              CDL.ACCT_BURDENED_COST  ,
                              CDL.DENOM_RAW_COST      ,
                              CDL.DENOM_BURDENED_COST ,
                              CDL.PROJECT_RAW_COST    ,
                              CDL.PROJECT_BURDENED_COST
                          FROM
                              PA_COST_DISTRIBUTION_LINES CDL
                          WHERE
                              CDL.EXPENDITURE_ITEM_ID   =EI.EXPENDITURE_ITEM_ID AND
                              CDL.LINE_TYPE             ='R' AND
                              NVL(CDL.REVERSED_FLAG,'N')='N' AND
                              CDL.LINE_NUM_REVERSED    IS NULL
                  )
              WHERE
                  EXPENDITURE_ITEM_ID     =X.SOURCE_EXPENDITURE_ITEM_ID AND
                  EI.COST_DISTRIBUTED_FLAG='N' AND
                  EI.ADJUSTMENT_TYPE     IS NOT NULL AND
                  EI.COSTING_METHOD      IS NOT NULL AND
                  EXISTS
                  (
                        SELECT
                              1
                          FROM
                              PA_COST_DISTRIBUTION_LINES CDL2
                          WHERE
                              CDL2.EXPENDITURE_ITEM_ID =EI.EXPENDITURE_ITEM_ID
                  ) ;
Line: 5037

      SELECT  ei.expenditure_item_id INTO  l_reversal_id
          FROM    pa_expenditure_items ei
          WHERE ei.adjusted_expenditure_item_id= X.SOURCE_EXPENDITURE_ITEM_ID
			AND  ei.net_zero_adjustment_flag = 'Y'
			AND ei.cost_distributed_flag='N';
Line: 5083

INSERT
   INTO
      PA_EXPENDITURE_ITEMS_ALL
      (
            EXPENDITURE_ITEM_ID           ,
            LAST_UPDATE_DATE              ,
            LAST_UPDATED_BY               ,
            CREATION_DATE                 ,
            CREATED_BY                    ,
            EXPENDITURE_ID                ,
            TASK_ID                       ,
            EXPENDITURE_ITEM_DATE         ,
            EXPENDITURE_TYPE              ,
            COST_DISTRIBUTED_FLAG         ,
            REVENUE_DISTRIBUTED_FLAG      ,
            BILLABLE_FLAG                 ,
            BILL_HOLD_FLAG                ,
            QUANTITY                      ,
            /*NON_LABOR_RESOURCE            ,
            ORGANIZATION_ID               ,  */
            OVERRIDE_TO_ORGANIZATION_ID   ,
            /*RAW_COST                      ,
            RAW_COST_RATE                 ,
            BURDEN_COST                   ,
            BURDEN_COST_RATE              ,
            COST_DIST_REJECTION_CODE      ,
            LABOR_COST_MULTIPLIER_NAME    ,
            RAW_REVENUE                   ,
            BILL_RATE                     ,
            ACCRUED_REVENUE               ,
            ACCRUAL_RATE                  ,
            ADJUSTED_REVENUE              ,
            ADJUSTED_RATE                 ,
            BILL_AMOUNT                   ,
            FORECAST_REVENUE              ,
            BILL_RATE_MULTIPLIER          ,
            REV_DIST_REJECTION_CODE       ,
            EVENT_NUM                     ,
            EVENT_TASK_ID                 ,
            BILL_JOB_ID                   ,
            BILL_JOB_BILLING_TITLE        ,
            BILL_EMPLOYEE_BILLING_TITLE   ,
            ADJUSTED_EXPENDITURE_ITEM_ID  , */
            NET_ZERO_ADJUSTMENT_FLAG      ,
            TRANSFERRED_FROM_EXP_ITEM_ID  ,
            CONVERTED_FLAG                ,
            LAST_UPDATE_LOGIN             ,
            REQUEST_ID                    ,
            PROGRAM_APPLICATION_ID        ,
            PROGRAM_ID                    ,
            PROGRAM_UPDATE_DATE           ,
            ATTRIBUTE_CATEGORY            ,
            ATTRIBUTE1                    ,
            ATTRIBUTE2                    ,
            ATTRIBUTE3                    ,
            ATTRIBUTE4                    ,
            ATTRIBUTE5                    ,
            ATTRIBUTE6                    ,
            ATTRIBUTE7                    ,
            ATTRIBUTE8                    ,
            ATTRIBUTE9                    ,
            ATTRIBUTE10                   ,
           /* COST_IND_COMPILED_SET_ID      ,
            REV_IND_COMPILED_SET_ID       ,
            INV_IND_COMPILED_SET_ID       ,
            COST_BURDEN_DISTRIBUTED_FLAG  ,
            IND_COST_DIST_REJECTION_CODE  ,*/
            ORIG_TRANSACTION_REFERENCE    ,
            TRANSACTION_SOURCE            ,
            PROJECT_ID                    ,
            SOURCE_EXPENDITURE_ITEM_ID    ,
            JOB_ID                        ,
            ORG_ID                        ,
            SYSTEM_LINKAGE_FUNCTION       ,
            BURDEN_SUM_DEST_RUN_ID        ,
           /* RECEIPT_CURRENCY_AMOUNT       ,
            RECEIPT_CURRENCY_CODE         ,
            RECEIPT_EXCHANGE_RATE         ,*/
            DENOM_CURRENCY_CODE           ,
            DENOM_RAW_COST                ,
            /*DENOM_BURDENED_COST           ,*/
            ACCT_CURRENCY_CODE            ,
           /* ACCT_RATE_DATE                ,
            ACCT_RATE_TYPE                ,
            ACCT_EXCHANGE_RATE            ,
            ACCT_RAW_COST                 ,
            ACCT_BURDENED_COST            ,
            ACCT_EXCHANGE_ROUNDING_LIMIT  ,*/
            PROJECT_CURRENCY_CODE         ,
            /*PROJECT_RATE_DATE             ,
            PROJECT_RATE_TYPE             ,
            PROJECT_EXCHANGE_RATE         ,
            DENORM_ID                     ,
            CC_CROSS_CHARGE_CODE          , */
            CC_PRVDR_ORGANIZATION_ID      ,
            CC_RECVR_ORGANIZATION_ID      ,
           /* CC_REJECTION_CODE             ,
            DENOM_TP_CURRENCY_CODE        ,
            DENOM_TRANSFER_PRICE          ,
            ACCT_TP_RATE_TYPE             ,
            ACCT_TP_RATE_DATE             ,
            ACCT_TP_EXCHANGE_RATE         ,
            ACCT_TRANSFER_PRICE           ,
            PROJACCT_TRANSFER_PRICE       ,
            CC_MARKUP_BASE_CODE           ,
            TP_BASE_AMOUNT                ,
            CC_CROSS_CHARGE_TYPE          ,*/
            RECVR_ORG_ID                  ,
            /*CC_BL_DISTRIBUTED_CODE        ,
            CC_IC_PROCESSED_CODE          ,
            TP_IND_COMPILED_SET_ID        ,
            TP_BILL_RATE                  ,
            TP_BILL_MARKUP_PERCENTAGE     ,
            TP_SCHEDULE_LINE_PERCENTAGE   ,
            TP_RULE_PERCENTAGE            ,
            CC_PRVDR_COST_RECLASS_CODE    ,
            CRL_ASSET_CREATION_STATUS_CODE,
            CRL_ASSET_CREATION_REJ_CODE   ,
            COST_JOB_ID                   ,
            TP_JOB_ID                     ,
            PROV_PROJ_BILL_JOB_ID         ,
            COST_DIST_WARNING_CODE        ,
            PROJECT_TP_RATE_DATE          ,
            PROJECT_TP_RATE_TYPE          ,
            PROJECT_TP_EXCHANGE_RATE      ,
            PROJFUNC_TP_RATE_DATE         ,
            PROJFUNC_TP_RATE_TYPE         ,
            PROJFUNC_TP_EXCHANGE_RATE     ,
            PROJFUNC_TRANSFER_PRICE       ,
            BILL_TRANS_FORECAST_CURR_CODE ,
            BILL_TRANS_FORECAST_REVENUE   ,
            PROJFUNC_REV_RATE_DATE        ,
            PROJFUNC_REV_EXCHANGE_RATE    ,
            PROJFUNC_COST_RATE_TYPE       ,
            PROJFUNC_COST_RATE_DATE       ,
            PROJFUNC_COST_EXCHANGE_RATE   ,
            PROJECT_RAW_COST              ,
            PROJECT_BURDENED_COST         ,*/
            ASSIGNMENT_ID                 ,
            WORK_TYPE_ID                  ,
           /* PROJFUNC_RAW_REVENUE          ,
            PROJECT_BILL_AMOUNT           ,*/
            PROJFUNC_CURRENCY_CODE        ,
           /* PROJECT_RAW_REVENUE           ,
            PROJECT_TRANSFER_PRICE        ,
            TP_AMT_TYPE_CODE              ,
            BILL_TRANS_CURRENCY_CODE      ,
            BILL_TRANS_RAW_REVENUE        ,
            BILL_TRANS_BILL_AMOUNT        ,
            BILL_TRANS_ADJUSTED_REVENUE   ,
            REVPROC_CURRENCY_CODE         ,
            REVPROC_RATE_TYPE             ,
            REVPROC_RATE_DATE             ,
            REVPROC_EXCHANGE_RATE         ,
            INVPROC_CURRENCY_CODE         ,
            INVPROC_RATE_TYPE             ,
            INVPROC_RATE_DATE             ,
            DISCOUNT_PERCENTAGE           ,
            LABOR_MULTIPLIER              ,
            AMOUNT_CALCULATION_CODE       ,
            BILL_MARKUP_PERCENTAGE        ,
            RATE_SOURCE_ID                ,
            INVPROC_EXCHANGE_RATE         ,
            INV_GEN_REJECTION_CODE        ,
            PROJFUNC_BILL_AMOUNT          ,
            PROJECT_REV_RATE_TYPE         ,
            PROJECT_REV_RATE_DATE         ,
            PROJECT_REV_EXCHANGE_RATE     ,
            PROJFUNC_REV_RATE_TYPE        ,
            PROJFUNC_INV_RATE_TYPE        ,
            PROJFUNC_INV_RATE_DATE        ,
            PROJFUNC_INV_EXCHANGE_RATE    ,
            PROJECT_INV_RATE_TYPE         ,
            PROJECT_INV_RATE_DATE         ,
            PROJECT_INV_EXCHANGE_RATE     ,
            PROJFUNC_FCST_RATE_TYPE       ,
            PROJFUNC_FCST_RATE_DATE       ,
            PROJFUNC_FCST_EXCHANGE_RATE   ,
            PRVDR_ACCRUAL_DATE            ,
            RECVR_ACCRUAL_DATE            ,
            RATE_DISC_REASON_CODE         ,
            POSTED_DENOM_BURDENED_COST    ,
            POSTED_PROJECT_BURDENED_COST  ,
            POSTED_PROJFUNC_BURDENED_COST ,
            POSTED_ACCT_BURDENED_COST     ,
            ADJUSTMENT_TYPE               ,
            CAPITAL_EVENT_ID              ,
            PO_LINE_ID                    ,
            PO_PRICE_TYPE                 ,
            WIP_RESOURCE_ID               ,
            INVENTORY_ITEM_ID             ,
            UNIT_OF_MEASURE               ,
            SRC_SYSTEM_LINKAGE_FUNCTION   ,
            DOCUMENT_HEADER_ID            ,
            DOCUMENT_DISTRIBUTION_ID      ,
            DOCUMENT_LINE_NUMBER          ,
            DOCUMENT_PAYMENT_ID           ,
            VENDOR_ID                     ,
            DOCUMENT_TYPE                 ,
            DOCUMENT_DISTRIBUTION_TYPE    ,*/
            HISTORICAL_FLAG               ,
            LOCATION_ID                   ,
            PAY_ELEMENT_TYPE_ID          ,
            COSTING_METHOD                ,
            /* RATE_SOURCE_CODE             */
             PAYROLL_ACCRUAL_FLAG,
            INTERFACE_RUN_ID
      )
        SELECT
                  l_transfer_id         ,
                  G_RUN_DATE                  , -- LAST_UPDATE_DATE
                  G_USER_ID                   , -- LAST_UPDATED_BY
                  G_RUN_DATE                  , -- CREATION_DATE
                  G_USER_ID                   , -- CREATED_BY
                  EXPENDITURE_ID              ,
                  TASK_ID                     ,
                  EXPENDITURE_ITEM_DATE       ,
                  EXPENDITURE_TYPE            ,
                  'N'                         , --COST_DISTRIBUTED_FLAG
                  'N'                         ,--REVENUE_DISTRIBUTED_FLAG
                  BILLABLE_FLAG               ,
                  BILL_HOLD_FLAG              ,
                  QUANTITY                    ,
                  /*NON_LABOR_RESOURCE          ,
                  ORGANIZATION_ID             ,  */
                  OVERRIDE_TO_ORGANIZATION_ID ,
                /* RAW_COST                   ,
                  RAW_COST_RATE                 ,
                  BURDEN_COST                   ,
                  BURDEN_COST_RATE              ,
                  COST_DIST_REJECTION_CODE      ,
                  LABOR_COST_MULTIPLIER_NAME    ,
                  RAW_REVENUE                   ,
                  BILL_RATE                     ,
                  ACCRUED_REVENUE               ,
                  ACCRUAL_RATE                  ,
                  ADJUSTED_REVENUE              ,
                  ADJUSTED_RATE                 ,
                  BILL_AMOUNT                   ,
                  FORECAST_REVENUE              ,
                  BILL_RATE_MULTIPLIER          ,
                  REV_DIST_REJECTION_CODE       ,
                  EVENT_NUM                    ,
                  EVENT_TASK_ID                ,
                  BILL_JOB_ID                  ,
                  BILL_JOB_BILLING_TITLE       ,
                  BILL_EMPLOYEE_BILLING_TITLE  ,
                  ADJUSTED_EXPENDITURE_ITEM_ID , */
                  'N'                         , --NET_ZERO_ADJUSTMENT_FLAG
                  EXPENDITURE_ITEM_ID          , --TRANSFERRED_FROM_EXP_ITEM_ID
                  CONVERTED_FLAG               ,
                  G_LOGIN_ID                   ,--LAST_UPDATE_LOGIN
                  G_REQUEST_ID                 ,--REQUEST_ID
                  PROGRAM_APPLICATION_ID       ,
                  PROGRAM_ID                   ,
                  G_RUN_DATE                   ,--PROGRAM_UPDATE_DATE
                  ATTRIBUTE_CATEGORY           ,
                  ATTRIBUTE1                   ,
                  ATTRIBUTE2                   ,
                  ATTRIBUTE3                   ,
                  ATTRIBUTE4                   ,
                  ATTRIBUTE5                   ,
                  ATTRIBUTE6                   ,
                  ATTRIBUTE7                   ,
                  ATTRIBUTE8                   ,
                  ATTRIBUTE9                   ,
                  ATTRIBUTE10                  ,
                /* COST_IND_COMPILED_SET_ID      ,
                  REV_IND_COMPILED_SET_ID       ,
                  INV_IND_COMPILED_SET_ID       ,
                  COST_BURDEN_DISTRIBUTED_FLAG  ,
                  IND_COST_DIST_REJECTION_CODE  ,*/
                  ORIG_TRANSACTION_REFERENCE    ,
                  TRANSACTION_SOURCE            ,
                  PROJECT_ID                    ,
                  SOURCE_EXPENDITURE_ITEM_ID    ,
                  JOB_ID                        ,
                  ORG_ID                        ,
                  SYSTEM_LINKAGE_FUNCTION       ,
                  NULL                          ,--BURDEN_SUM_DEST_RUN_ID
                  /*RECEIPT_CURRENCY_AMOUNT       ,
                  RECEIPT_CURRENCY_CODE         ,
                  RECEIPT_EXCHANGE_RATE         , */
                  dist.denom_CURRENCY_CODE             ,    --DENOM_CURRENCY_CODE
                  --dist.denom_raw_cost + l_denom_orig_amount ,    --DENOM_RAW_COST
                  PA_CURRENCY.ROUND_TRANS_CURRENCY_AMT1(dist.denom_raw_cost + l_denom_orig_amount,dist.denom_CURRENCY_CODE ) ,
               /* DENOM_BURDENED_COST           ,*/
                  ACCT_CURRENCY_CODE            ,
               /* ACCT_RATE_DATE                ,
                  ACCT_RATE_TYPE                ,
                  ACCT_EXCHANGE_RATE            ,
                  ACCT_RAW_COST                 ,
                  ACCT_BURDENED_COST            ,
                  ACCT_EXCHANGE_ROUNDING_LIMIT  ,*/
                  PROJECT_CURRENCY_CODE         ,
               /*   PROJECT_RATE_DATE             ,
                  PROJECT_RATE_TYPE             ,
                  PROJECT_EXCHANGE_RATE         ,
                  DENORM_ID                     ,
                  CC_CROSS_CHARGE_CODE          , */
                  CC_PRVDR_ORGANIZATION_ID      ,
                  CC_RECVR_ORGANIZATION_ID      ,
                 /* CC_REJECTION_CODE             ,
                  DENOM_TP_CURRENCY_CODE        ,
                  DENOM_TRANSFER_PRICE          ,
                  ACCT_TP_RATE_TYPE             ,
                  ACCT_TP_RATE_DATE             ,
                  ACCT_TP_EXCHANGE_RATE         ,
                  ACCT_TRANSFER_PRICE           ,
                  PROJACCT_TRANSFER_PRICE       ,
                  CC_MARKUP_BASE_CODE           ,
                  TP_BASE_AMOUNT                ,
                  CC_CROSS_CHARGE_TYPE          ,*/
                  RECVR_ORG_ID                  ,
                  /*CC_BL_DISTRIBUTED_CODE        ,
                  CC_IC_PROCESSED_CODE          ,
                  TP_IND_COMPILED_SET_ID        ,
                  TP_BILL_RATE                  ,
                  TP_BILL_MARKUP_PERCENTAGE     ,
                  TP_SCHEDULE_LINE_PERCENTAGE   ,
                  TP_RULE_PERCENTAGE            ,
                  CC_PRVDR_COST_RECLASS_CODE    ,
                  CRL_ASSET_CREATION_STATUS_CODE,
                  CRL_ASSET_CREATION_REJ_CODE   ,
                  COST_JOB_ID                   ,
                  TP_JOB_ID                     ,
                  PROV_PROJ_BILL_JOB_ID         ,
                  COST_DIST_WARNING_CODE        ,
                  PROJECT_TP_RATE_DATE          ,
                  PROJECT_TP_RATE_TYPE          ,
                  PROJECT_TP_EXCHANGE_RATE      ,
                  PROJFUNC_TP_RATE_DATE         ,
                  PROJFUNC_TP_RATE_TYPE         ,
                  PROJFUNC_TP_EXCHANGE_RATE     ,
                  PROJFUNC_TRANSFER_PRICE       ,
                  BILL_TRANS_FORECAST_CURR_CODE ,
                  BILL_TRANS_FORECAST_REVENUE   ,
                  PROJFUNC_REV_RATE_DATE        ,
                  PROJFUNC_REV_EXCHANGE_RATE    ,
                  PROJFUNC_COST_RATE_TYPE       ,
                  PROJFUNC_COST_RATE_DATE       ,
                  PROJFUNC_COST_EXCHANGE_RATE   ,
                  PROJECT_RAW_COST              ,
                  PROJECT_BURDENED_COST         ,*/
                  ASSIGNMENT_ID                 ,
                  WORK_TYPE_ID                  ,
                  /*PROJFUNC_RAW_REVENUE          ,
                  PROJECT_BILL_AMOUNT           ,*/
                  PROJFUNC_CURRENCY_CODE        ,
                 /* PROJECT_RAW_REVENUE           ,
                  PROJECT_TRANSFER_PRICE        ,
                  TP_AMT_TYPE_CODE              ,
                  BILL_TRANS_CURRENCY_CODE      ,
                  BILL_TRANS_RAW_REVENUE        ,
                  BILL_TRANS_BILL_AMOUNT        ,
                  BILL_TRANS_ADJUSTED_REVENUE   ,
                  REVPROC_CURRENCY_CODE         ,
                  REVPROC_RATE_TYPE             ,
                  REVPROC_RATE_DATE             ,
                  REVPROC_EXCHANGE_RATE         ,
                  INVPROC_CURRENCY_CODE         ,
                  INVPROC_RATE_TYPE             ,
                  INVPROC_RATE_DATE             ,
                  DISCOUNT_PERCENTAGE           ,
                  LABOR_MULTIPLIER        ,
                  AMOUNT_CALCULATION_CODE ,
                  BILL_MARKUP_PERCENTAGE  ,
                  RATE_SOURCE_ID          ,
                  INVPROC_EXCHANGE_RATE         ,
                  INV_GEN_REJECTION_CODE        ,
                  PROJFUNC_BILL_AMOUNT          ,
                  PROJECT_REV_RATE_TYPE         ,
                  PROJECT_REV_RATE_DATE         ,
                  PROJECT_REV_EXCHANGE_RATE     ,
                  PROJFUNC_REV_RATE_TYPE        ,
                  PROJFUNC_INV_RATE_TYPE        ,
                  PROJFUNC_INV_RATE_DATE        ,
                  PROJFUNC_INV_EXCHANGE_RATE    ,
                  PROJECT_INV_RATE_TYPE         ,
                  PROJECT_INV_RATE_DATE         ,
                  PROJECT_INV_EXCHANGE_RATE     ,
                  PROJFUNC_FCST_RATE_TYPE       ,
                  PROJFUNC_FCST_RATE_DATE       ,
                  PROJFUNC_FCST_EXCHANGE_RATE   ,
                  PRVDR_ACCRUAL_DATE            ,
                  RECVR_ACCRUAL_DATE            ,
                  RATE_DISC_REASON_CODE         ,
                  POSTED_DENOM_BURDENED_COST    ,
                  POSTED_PROJECT_BURDENED_COST  ,
                  POSTED_PROJFUNC_BURDENED_COST ,
                  POSTED_ACCT_BURDENED_COST     ,
                  ADJUSTMENT_TYPE             ,
                  CAPITAL_EVENT_ID            ,
                  PO_LINE_ID                  ,
                  PO_PRICE_TYPE               ,
                  WIP_RESOURCE_ID             ,
                  INVENTORY_ITEM_ID           ,
                  UNIT_OF_MEASURE             ,
                  SRC_SYSTEM_LINKAGE_FUNCTION ,
                  DOCUMENT_HEADER_ID          ,
                  DOCUMENT_DISTRIBUTION_ID    ,
                  DOCUMENT_LINE_NUMBER        ,
                  DOCUMENT_PAYMENT_ID         ,
                  VENDOR_ID                   ,
                  DOCUMENT_TYPE               ,
                  DOCUMENT_DISTRIBUTION_TYPE  ,*/
                  'N'                         ,--HISTORICAL_FLAG
                  LOCATION_ID                 ,
                  PAY_ELEMENT_TYPE_ID      ,
                   'ACTUAL'              ,
                 /* RATE_SOURCE_CODE            , */
                  'N',
                  G_INTERFACE_RUN_ID
               FROM
                  PA_EXPENDITURE_ITEMS_ALL  ei,
                  ( SELECT  source_expenditure_item_id seid ,denom_CURRENCY_CODE,Sum(denom_raw_cost) denom_raw_cost, Sum(denom_raw_cost) acct_raw_cost  FROM
                    pa_pay_dist_lines
                    WHERE
                    source_expenditure_item_id IS NOT  NULL
                    AND  interface_run_id =    G_INTERFACE_RUN_ID
                    AND  person_id        =    G_PERSON_ID
                    AND  source_expenditure_item_id = X.SOURCE_EXPENDITURE_ITEM_ID
                    GROUP BY  source_expenditure_item_id ,denom_CURRENCY_CODE
                  )  dist
               WHERE dist.seid = ei.expenditure_item_id ;
Line: 5509

              write_log(Log, 'New item inserted  ' || l_transfer_id);
Line: 5513

              UPDATE PA_PAY_DIST_LINES
              SET TARGET_EXPENDITURE_ITEM_ID = l_transfer_id
              WHERE SOURCE_EXPENDITURE_ITEM_ID = X.SOURCE_EXPENDITURE_ITEM_ID;
Line: 5519

                SELECT
                  ec.expenditure_comment
                INTO
                  l_item_comment
                FROM
                  pa_expenditure_comments ec
                WHERE
                  ec.expenditure_item_id = X.SOURCE_EXPENDITURE_ITEM_ID;
Line: 5556

             write_log(LOG, 'Audit record Inserted');
Line: 5558

        UPDATE  pa_expenditure_items
        SET  interface_run_id = G_INTERFACE_RUN_ID
                  ,COSTING_METHOD      = 'ACTUAL'
                  ,PAYROLL_ACCRUAL_FLAG = 'N'
        WHERE  expenditure_id = l_transfer_id   ;
Line: 5568

UPDATE PA_EXPENDITURE_ITEMS_ALL EI2
SET    EI2.DENOM_RAW_COST = 0 ,
       EI2.INTERFACE_RUN_ID =  G_INTERFACE_RUN_ID
WHERE  EI2.EXPENDITURE_ITEM_ID IN
            ( SELECT EI.EXPENDITURE_ITEM_ID
       FROM    PA_EXPENDITURE_ITEMS_ALL EI ,
               PA_EXPENDITURES_ALL E,
               PA_PAY_AUDIT AUD
       WHERE   E.INCURRED_BY_PERSON_ID = G_PERSON_ID
       AND     AUD.INTERFACE_RUN_ID  = G_INTERFACE_RUN_ID
       AND     EI.EXPENDITURE_ID        = E.EXPENDITURE_ID
       AND     Trunc(EXPENDITURE_ITEM_DATE)  BETWEEN  Trunc(Nvl(AUD.SOURCE_START_DATE,AUD.PAY_PERIOD_START_DATE)) AND   Trunc( Nvl(AUD.SOURCE_END_DATE,AUD.PAY_PERIOD_END_DATE))
       AND     EI.DENOM_RAW_COST              IS NULL
       AND     get_cost_method(EI.expenditure_item_id,EI.expenditure_item_date) = 'ACTUAL'
       AND     NVL(EI.NET_ZERO_ADJUSTMENT_FLAG,'N') = 'Y'
       )  ;
Line: 5590

	/* Update all netzero OTL EI's between  pay start and dates with  zero  payroll cost  */

        UPDATE PA_EXPENDITURE_ITEMS Ei2 SET
	(EI2.DENOM_RAW_COST,Ei2.INTERFACE_RUN_ID,Ei2.
	COSTING_METHOD,Ei2.PAYROLL_ACCRUAL_FLAG,Ei2.REQUEST_ID) = (SELECT
	NVL((-1*EI.DENOM_RAW_COST),0),
	G_INTERFACE_RUN_ID,'ACTUAL',NVL(EI.PAYROLL_ACCRUAL_FLAG,'N'),G_REQUEST_ID FROM
	PA_EXPENDITURE_ITEMS Ei,
	PA_EXPENDITURES E,
	PA_PAY_AUDIT AUD
	WHERE   E.INCURRED_BY_PERSON_ID = G_PERSON_ID
	AND     AUD.INTERFACE_RUN_ID  = G_INTERFACE_RUN_ID
	AND     EI2.EXPENDITURE_ID        = E.EXPENDITURE_ID
	AND     EI2.EXPENDITURE_ITEM_DATE BETWEEN  Trunc(Nvl(AUD.SOURCE_START_DATE,AUD.PAY_PERIOD_START_DATE))
	AND     Trunc( NVL(AUD.SOURCE_END_DATE,AUD.PAY_PERIOD_END_DATE))
	AND     EI.EXPENDITURE_ITEM_ID = nvl(EI2.ADJUSTED_EXPENDITURE_ITEM_ID,EI2.EXPENDITURE_ITEM_ID)
	AND     PA_PAY_INTERFACE.GET_COST_METHOD1(EI2.EXPENDITURE_ID,EI2.JOB_ID,EI2.ORG_ID,
		NVL(EI2.OVERRIDE_to_ORGANIZATION_ID
               ,E.INCURRED_BY_ORGANIZATION_ID),EI2.EXPENDITURE_ITEM_ID,EI2.EXPENDITURE_ITEM_DATE) = 'ACTUAL'
	       	AND     EXISTS (
		SELECT 1 FROM PA_EXPENDITURE_ITEMS EI3
		WHERE EI3.INTERFACE_RUN_ID = G_INTERFACE_RUN_ID
		AND   SUBSTR(EI3.ORIG_TRANSACTION_REFERENCE,1,INSTR(EI3.ORIG_TRANSACTION_REFERENCE,':')-1) =
		SUBSTR(EI.ORIG_TRANSACTION_REFERENCE,1,INSTR(EI.ORIG_TRANSACTION_REFERENCE,':')-1)
	))
	WHERE  NVL(EI2.NET_ZERO_ADJUSTMENT_FLAG,'N') = 'Y'
	AND    EI2.SYSTEM_LINKAGE_FUNCTION IN ('ST','OT')
	AND    EI2.TRANSACTIOn_SOURCE ='ORACLE TIME AND LABOR'
	AND    EI2.DENOM_RAW_COST IS NULL;
Line: 5626

       FOR X IN (SELECT   EI2.EXPENDITURE_ITEM_ID,EI2.TRANSACTION_SOURCE,EI2.ADJUSTED_EXPENDITURE_ITEM_ID
       FROM    PA_EXPENDITURE_ITEMS EI2 ,
               PA_EXPENDITURES E,
               PA_PAY_AUDIT AUD
       WHERE   E.INCURRED_BY_PERSON_ID = G_PERSON_ID
       AND     AUD.INTERFACE_RUN_ID  = G_INTERFACE_RUN_ID
       AND     EI2.INTERFACE_RUN_ID = G_INTERFACE_RUN_ID
       AND     EI2.EXPENDITURE_ID        = E.EXPENDITURE_ID
       AND     EI2.EXPENDITURE_ITEM_DATE BETWEEN  Trunc(Nvl(AUD.SOURCE_START_DATE,AUD.PAY_PERIOD_START_DATE)) AND Trunc( Nvl(AUD.SOURCE_END_DATE,AUD.PAY_PERIOD_END_DATE))
       AND     pa_pay_interface.get_cost_method(EI2.EXPENDITURE_ITEM_ID,EI2.EXPENDITURE_ITEM_DATE) = 'ACTUAL'
       AND     NVL(EI2.NET_ZERO_ADJUSTMENT_FLAG,'N') = 'N'
       AND     EI2.SYSTEM_LINKAGE_FUNCTION IN ('ST','OT')
       AND     NVL(EI2.TRANSACTION_SOURCE,' ') <>'ORACLE TIME AND LABOR'
       )

       LOOP
       --{
		UPDATE PA_EXPENDITURE_ITEMS EI2
		SET (EI2.DENOM_RAW_COST,EI2.INTERFACE_RUN_ID,
			       EI2.COSTING_METHOD,
			       EI2.PAYROLL_ACCRUAL_FLAG,
			       EI2.REQUEST_ID) = (SELECT
		/*(NVL ( ( SELECT (-1*EI1.DENOM_RAW_COST) FROM PA_EXPENDITURE_ITEMS EI1 WHERE
		EI1.EXPENDITURE_ITEM_ID=EI2.ADJUSTED_EXPENDITURE_ITEM_ID),0 ) ),G_INTERFACE_RUN_ID,'ACTUAL',
	        (NVL ( ( SELECT EI1.PAYROLL_ACCRUAL_FLAG FROM
PA_EXPENDITURE_ITEMS EI1 WHERE
                EI1.EXPENDITURE_ITEM_ID=EI2.ADJUSTED_EXPENDITURE_ITEM_ID),'N' )),
		--'N',
		G_REQUEST_ID FROM DUAL)*/
		NVL((-1*EI1.DENOM_RAW_COST),0),G_INTERFACE_RUN_ID,'ACTUAL',NVL(EI1.PAYROLL_ACCRUAL_FLAG,'N'),G_REQUEST_ID
FROM PA_EXPENDITURE_ITEMS EI1
       WHERE
                EI1.EXPENDITURE_ITEM_ID=NVL(EI2.ADJUSTED_EXPENDITURE_ITEM_ID,EI2.EXPENDITURE_ITEM_ID))
		WHERE EI2.EXPENDITURE_ITEM_ID IN
		(SELECT EXPENDITURE_ITEM_ID
		FROM PA_EXPENDITURE_ITEMS Ei3
		    ,PA_EXPENDITURES E,
		     PA_PAY_AUDIT AUD
		WHERE EI3.EXPENDITURE_ITEM_ID IN
		(SELECT EXPENDITURE_ITEM_ID FROM PA_EXPENDITURE_ITEMS START WITH EXPENDITURE_ITEM_ID= X.EXPENDITURE_ITEM_ID
		CONNECT BY PRIOR TRANSFERRED_FROM_EXP_ITEM_ID=EXPENDITURE_ITEM_ID
		UNION
		SELECT EXPENDITURE_ITEM_ID FROM PA_EXPENDITURE_ITEMS START WITH EXPENDITURE_ITEM_ID= X.EXPENDITURE_ITEM_ID
		CONNECT BY PRIOR TRANSFERRED_FROM_EXP_ITEM_ID=ADJUSTED_EXPENDITURE_ITEM_ID
		)
		AND     E.INCURRED_BY_PERSON_ID = G_PERSON_ID
		AND     AUD.INTERFACE_RUN_ID  = G_INTERFACE_RUN_ID
		AND     EI3.EXPENDITURE_ID        = E.EXPENDITURE_ID
		AND     EI3.EXPENDITURE_ITEM_DATE BETWEEN
Trunc(Nvl(AUD.SOURCE_START_DATE,AUD.PAY_PERIOD_START_DATE))
		AND     Trunc( NVL(AUD.SOURCE_END_DATE,AUD.PAY_PERIOD_END_DATE))
		AND
PA_PAY_INTERFACE.GET_COST_METHOD1(EI3.EXPENDITURE_ID,EI3.JOB_ID,EI3.ORG_ID,
		NVL(EI3.OVERRIDE_to_ORGANIZATION_ID
		,E.INCURRED_BY_ORGANIZATION_ID),EI3.EXPENDITURE_ITEM_ID,EI3.EXPENDITURE_ITEM_DATE)
= 'ACTUAL'
		AND Ei3.INTERFACE_RUN_ID  IS NULL
		AND NVL(EI3.NET_ZERO_ADJUSTMENT_FLAG,'N') = 'Y'
		AND EI3.SYSTEM_LINKAGE_FUNCTION IN ('ST','OT')
		AND NVL(EI3.TRANSACTION_SOURCE,' ') <>'ORACLE TIME AND LABOR'
		AND EI3.DENOM_RAW_COST IS NULL
		);
Line: 5698

write_log (DEBUG,  'No of adjustment ei updated' || SQL%rowcount);
Line: 5718

DELETE FROM  pa_pay_dist_lines
WHERE  interface_run_id  =  G_INTERFACE_RUN_ID  AND
       person_id         =   G_PERSON_ID  ;
Line: 5745

       SELECT  REJECTION_CODE
       INTO
            l_rejection_code
       FROM pa_pay_rejection_priority
WHERE  PRIORITY = (
       SELECT
              MIN(pprp.priority)
        FROM
            PA_PAY_REJECTIONS_ALL ppr     ,
            pa_pay_rejection_priority pprp
        WHERE
            ppr.interface_run_id    = p_interface_run_id AND
            ppr.person_id           = p_person_id AND
             ( (p_int_ext_indicator = 'INT'  AND (ppr.pay_element_type_id = p_pay_element_type_id )
                )OR
               ( p_int_ext_indicator = 'EXT'  AND (ppr.pay_element_type_code = p_pay_element_type_code)
                )
              )  AND
            ppr.rejection_code       = pprp.rejection_code
     GROUP BY
            ppr.pay_element_type_id);
Line: 5795

             SELECT
                  PPR.REJECTION_CODE,
                  MAX(PPRP.PRIORITY) PRTY
               FROM
                  PA_PAY_REJECTIONS_ALL PPR ,
                  PA_PAY_REJECTION_PRIORITY PPRP
              WHERE
                  PPR.INTERFACE_RUN_ID    = P_INTERFACE_RUN_ID AND
                  PPR.PERSON_ID           = P_PERSON_ID AND
                  ( (p_int_ext_indicator = 'INT'  AND (ppr.pay_element_type_id = p_pay_element_type_id )
                     )OR
                    (p_int_ext_indicator = 'EXT'  AND (ppr.pay_element_type_code = p_pay_element_type_code)
                    )
                  )  AND
                  PPR.REJECTION_CODE      = PPRP.REJECTION_CODE
           GROUP BY
                  PPR.REJECTION_CODE
           ORDER BY
                  PRTY ASC
      )
      LOOP
            L_COUNTER              := L_COUNTER +1;
Line: 5849

SELECT  INT_EXT_INDICATOR
INTO
l_int_ext_flag
FROM pa_pay_audit_all
WHERE INTERFACE_RUN_ID = G_INTERFACE_RUN_ID ;
Line: 5860

             SELECT
                  PAYROLL_ACTION_ID       ,
                  ASSIGNMENT_ACTION_ID    ,
                  SRC.PAY_ELEMENT_TYPE_ID ,
                  'Y' STATUS
               FROM
                  PA_PAY_AUDIT AUD           ,
                  PA_PAY_INTERFACE_TEMP TEMP ,
                  PA_PAY_SOURCE_AMOUNTS SRC
              WHERE
                  AUD.INTERFACE_RUN_ID        = G_INTERFACE_RUN_ID AND
                  AUD.INTERFACE_RUN_ID        = SRC.INTERFACE_RUN_ID AND
                  TEMP.PERSON_ID              = SRC.PERSON_ID AND
                  SRC.PERSON_ID    =  G_PERSON_ID   AND
                  TEMP.ASSIGNMENT_ID          = SRC.ASSIGNMENT_ID AND
                  TRUNC(NVL(TEMP.SOURCE_START_DATE,TEMP.TIME_PERIOD_START_DATE)) = TRUNC(NVL(AUD.SOURCE_START_DATE,AUD.PAY_PERIOD_START_DATE)) AND
                  TRUNC(NVL(TEMP.SOURCE_END_DATE,TEMP.TIME_PERIOD_END_DATE))   = TRUNC(NVL(AUD.SOURCE_END_DATE,AUD.PAY_PERIOD_END_DATE))/* bug 12690224*/
  UNION
             SELECT
                  PAYROLL_ACTION_ID        ,
                  ASSIGNMENT_ACTION_ID     ,
                  TEMP.ELEMENT_TYPE_ID PAY_ELEMENT_TYPE_ID ,
                  'Z' STATUS
               FROM
                  PA_PAY_AUDIT AUD           ,
                  PA_PAY_INTERFACE_TEMP TEMP
              WHERE
                  AUD.INTERFACE_RUN_ID        = G_INTERFACE_RUN_ID AND
                  TRUNC(NVL(TEMP.SOURCE_START_DATE,TEMP.TIME_PERIOD_START_DATE)) = TRUNC(NVL(AUD.SOURCE_START_DATE,AUD.PAY_PERIOD_START_DATE)) AND
                  TRUNC(NVL(TEMP.SOURCE_END_DATE,TEMP.TIME_PERIOD_END_DATE))   = TRUNC(NVL(AUD.SOURCE_END_DATE,AUD.PAY_PERIOD_END_DATE))  AND /* bug 12690224*/
                  TEMP.PERSON_ID              = G_PERSON_ID AND
                  TEMP.ASSIGNMENT_ID          = G_ASSIGNMENT_ID AND
                  NOT EXISTS
                  (
                         SELECT
                              'Y'
                           FROM
                              PA_PAY_SOURCE_AMOUNTS PPSA
                          WHERE
                              PPSA.PERSON_ID        = G_PERSON_ID AND
                              PPSA.ASSIGNMENT_ID    = G_ASSIGNMENT_ID AND
                              PPSA.INTERFACE_RUN_ID = G_INTERFACE_RUN_ID AND
                              PPSA.PAY_ELEMENT_TYPE_ID = TEMP.ELEMENT_TYPE_ID
                  ))
LOOP
      pay_core_utils.update_prj_flag (X.pay_element_type_id , X.assignment_action_id, X.STATUS, l_status ) ;
Line: 5915

Update  PA_PAY_EXT_INTERFACE_DETAILS
set  TRANSFER_STATUS_FLAG = 'A'
where  INTERFACE_LINE_ID  in
(

 SELECT
      EXT.INTERFACE_LINE_ID
   FROM
      PA_PAY_AUDIT AUD           ,
      PA_PAY_EXT_INTERAFACE_V EXT ,
      PA_PAY_SOURCE_AMOUNTS SRC
  WHERE
      AUD.INT_EXT_INDICATOR =  'EXT' AND
      AUD.INTERFACE_RUN_ID        = G_INTERFACE_RUN_ID AND
      AUD.INTERFACE_RUN_ID        = SRC.INTERFACE_RUN_ID AND
      SRC.PERSON_ID   =  G_PERSON_ID   AND
      SRC.ASSIGNMENT_ID = G_ASSIGNMENT_ID AND
      EXT.PERSON_ID              = SRC.PERSON_ID AND
      EXT.ASSIGNMENT_ID          = SRC.ASSIGNMENT_ID AND
      Trunc(EXT.TIME_PERIOD_START_DATE) = Trunc(AUD.PAY_PERIOD_START_DATE )AND
      Trunc(EXT.TIME_PERIOD_END_DATE)   = Trunc(AUD.PAY_PERIOD_END_DATE) AND
      EXT.PAY_ELEMENT_TYPE_CODE =  SRC.PAY_ELEMENT_TYPE_CODE
      );
Line: 5942

UPDATE PA_PAY_EXT_INTERFACE_DETAILS EXTD
SET    TRANSFER_STATUS_FLAG = 'X'
  WHERE
      INTERFACE_LINE_ID IN
      (
             SELECT
                  EXT.INTERFACE_LINE_ID
               FROM
                  PA_PAY_EXT_INTERAFACE_V EXT,
                  PA_PAY_AUDIT AUD
              WHERE
                  AUD.INT_EXT_INDICATOR      = 'EXT' AND
                  AUD.INTERFACE_RUN_ID       = G_INTERFACE_RUN_ID AND
                  Trunc(EXT.TIME_PERIOD_START_DATE) = Trunc(AUD.PAY_PERIOD_START_DATE) AND
                  Trunc(EXT.TIME_PERIOD_END_DATE)   = Trunc(AUD.PAY_PERIOD_END_DATE) AND
                  NOT EXISTS
                  (
                         SELECT
                              PAY_ELEMENT_TYPE_CODE
                           FROM
                              PA_PAY_SOURCE_AMOUNTS SRC
                          WHERE
                              SRC.INTERFACE_RUN_ID      = AUD.INTERFACE_RUN_ID AND
                              SRC.PERSON_ID             = G_PERSON_ID AND
                              SRC.ASSIGNMENT_ID         = G_ASSIGNMENT_ID AND
                              SRC.PAY_ELEMENT_TYPE_CODE =    EXT.PAY_ELEMENT_TYPE_CODE
                  ));
Line: 5986

write_log (LOG,'Insert Pay Proj record ' );
Line: 5987

        INSERT
   INTO
      PA_PAY_PROJ_STATUS_ALL
      (
            INTERFACE_RUN_ID            ,
            PERSON_ID                   ,
            ASSIGNMENT_ID               ,
            PAYROLL_STATUS_FLAG         ,
            PROJECT_ROLLBACK_STATUS_IND ,
            LAST_UPDATE_DATE            ,
            LAST_UPDATED_BY             ,
            CREATION_DATE               ,
            CREATED_BY                  ,
            LAST_UPDATE_LOGIN           ,
            REQUEST_ID                  ,
            ASSIGNMENT_ACTION_ID
      )
SELECT DISTINCT
      G_INTERFACE_RUN_ID,
      G_PERSON_ID       ,
      G_ASSIGNMENT_ID   ,
      NULL              ,
      NULL              ,
      G_RUN_DATE        ,
      G_USER_ID         ,
      G_RUN_DATE        ,
      G_USER_ID         ,
      G_LOGIN_ID,
      G_REQUEST_ID      ,
      ASSIGNMENT_ACTION_ID
   FROM
      PA_PAY_INTERFACE_TEMP TEMP ,
      PA_PAY_AUDIT AUD
  WHERE
      AUD.INTERFACE_RUN_ID   = G_INTERFACE_RUN_ID AND
      TEMP.PAYROLL_ACTION_ID = AUD.BATCH_ID AND
      TEMP.PERSON_ID         =   G_PERSON_ID AND
      TEMP.ASSIGNMENT_ID     =   G_ASSIGNMENT_ID AND
      TEMP.TIME_PERIOD_ID    = AUD.TIME_PERIOD_ID ;
Line: 6051

        p_program_update_date           pa_cost_distribution_lines.program_update_date%TYPE;
Line: 6131

       SELECT ITEMS.adjusted_expenditure_item_id,
              ITEMS.transferred_from_exp_item_id,
              TRN.gl_accounted_flag,
              TRN.transaction_source
             ,ITEMS.expenditure_item_date
             ,ITEMS.org_id
             ,NVL(ITEMS.recvr_org_id,ITEMS.ORG_ID)
             ,ITEMS.system_linkage_function
             ,ITEMS.expenditure_id

       INTO   p_parent_adjusted_id,
              p_parent_transferred_id,
              p_gl_accounted_flag,
              p_transaction_source
             ,l_ei_date
             ,l_org_id
              ,l_recvr_org_id
             ,l_sys_link_function
             ,l_exp_id

       FROM   pa_expenditure_items_All ITEMS,
              pa_transaction_sources TRN
       WHERE  ITEMS.transaction_source = TRN.transaction_source (+)
       AND    ITEMS.expenditure_item_id = X_exp_item_id;
Line: 6156

   	SELECT	imp1.set_of_books_id, imp2.set_of_books_id
   	INTO	l_sob_id, l_recvr_sob_id
   	FROM	pa_implementations_all imp1, pa_implementations_all imp2
     WHERE   imp1.org_id = l_org_id
       AND     imp2.org_id = l_recvr_org_id;
Line: 6168

    SELECT max(cdl.line_num)
         INTO actual_cdl_line_num
         FROM pa_cost_distribution_lines cdl
        WHERE cdl.expenditure_item_id = X_exp_item_id and cdl.line_type = 'R';
Line: 6174

       SELECT        amount
                   , dr_code_combination_id
                   , cr_code_combination_id
                   , transfer_status_code
                   , quantity
                   , billable_flag
                   , request_id
                   , program_application_id
                   , program_id
                   , program_update_date
                   , pa_date
                   , gl_date
                   , transferred_date
                   , transfer_rejection_reason
                   , line_type
                   , ind_compiled_set_id
                   , nvl(burdened_cost,0) + nvl(projfunc_burdened_change,0)
                   , line_num_reversed
                   , reversed_flag
                   , system_reference1
                   , system_reference2
                   , system_reference3
                   , denom_currency_code
                   , denom_raw_cost
                   , NVL(denom_burdened_cost,0) + nvl(denom_burdened_change,0)
                   , acct_currency_code
                   , acct_rate_date
                   , acct_rate_type
                   , acct_exchange_rate
                   , acct_raw_cost
                   , NVL(acct_burdened_cost,0) + nvl(acct_burdened_change,0)
                   , project_currency_code
                   , project_rate_date
                   , project_rate_type
                   , project_exchange_rate
                   , project_id
                   , task_id,
                     recvr_gl_date
                   , Projfunc_currency_code
                   , Projfunc_cost_rate_date
                   , Projfunc_cost_rate_type
                   , Projfunc_cost_exchange_rate
                   , Project_raw_cost
                   , NVL(Project_burdened_cost,0) + nvl(project_burdened_change,0)
                   , Work_type_id
                   , system_reference4
                   , system_reference5
   		, decode(si_assets_addition_flag, 'R','T', 'O', 'T', 'Y', 'T', 'N', 'T',si_assets_addition_flag )
   				, rate_source_code
   				, costing_method
        INTO       p_amount,
                   p_dr_ccid,
                   p_cr_ccid,
                   p_transfer_status_code,
                   p_quantity,
                   p_billable_flag,
                   p_request_id,
                   p_program_application_id,
                   p_program_id,
                   p_program_update_date,
                   p_pa_date,
                   p_gl_date,
                   p_transferred_date,
                   p_transfer_rejection_reason,
                   p_line_type,
                   p_ind_complied_set_id,
                   p_burdened_cost,
                   p_line_num_reversed,
                   p_reversed_flag,
                   p_cdlsr1,
                   p_cdlsr2,
                   p_cdlsr3,
                   p_denom_currency_code,
                   p_denom_raw_cost,
                   p_denom_burdened_cost,
                   p_acct_currency_code,
                   p_acct_rate_date,
                   p_acct_rate_type,
                   p_acct_exchange_rate,
                   p_acct_raw_cost,
                   p_acct_burdened_cost,
                   p_project_currency_code,
                   p_project_rate_date,
                   p_project_rate_type,
                   p_project_exchange_rate,
                   p_project_id,
                   p_task_id
                   , p_recvr_gl_date
                   , p_Projfunc_currency_code
                   , p_Projfunc_cost_rate_date
                   , p_Projfunc_cost_rate_type
                   , p_Projfunc_cost_exchange_rate
                   , p_Project_raw_cost
                   , p_Project_burdened_cost
                   , p_Work_type_id
                   , p_cdlsr4
                   , p_cdlsr5
   		, l_si_assets_addition_flag
    				, l_rate_source_code
   				, l_costing_method
        FROM       pa_cost_distribution_lines_All -- 12i MOAC changes
        WHERE      expenditure_item_id = X_exp_item_id
        AND        line_num            = actual_cdl_line_num; -- bug2378505
Line: 6320

           , x_program_update_date         =>	p_program_update_date
           , X_pa_date                     =>	l_pa_date /* bug 2361495 p_pa_date */
           , X_recvr_pa_date               =>	l_recvr_pa_date /** bug 2361495 p_recvr_pa_date CBGA **/
           , X_gl_date                     =>	l_gl_date /* bug 2661921 p_gl_date */
           , X_transferred_date            =>	NULL /* bug 2361495 p_transferred_date */
           , X_transfer_rejection_reason   =>	NULL /* bug 2361495 p_transfer_rejection_reason */
           , X_line_type                   =>	p_line_type
           , X_ind_compiled_set_id         =>	p_ind_complied_set_id
           , X_burdened_cost               =>	-p_burdened_cost
           , X_line_num_reversed           =>	p_line_num_reversed
           , X_reverse_flag                =>	p_reversed_flag
           , X_user                        =>	X_user
           , X_err_code                    =>	p_err_code
           , X_err_stage                   =>	p_err_stage
           , X_err_stack                   =>	p_err_stack
           , X_project_id                  =>	p_project_id
           , X_task_id                     =>	p_task_id
           , X_cdlsr1                      =>	p_cdlsr1
           , X_cdlsr2                      =>	p_cdlsr2
           , X_cdlsr3                      =>	p_cdlsr3
           , X_denom_currency_code         =>	p_denom_currency_code
           , X_denom_raw_cost              =>	-p_denom_raw_cost
           , X_denom_burden_cost           =>	-p_denom_burdened_cost
           , X_acct_currency_code          =>	p_acct_currency_code
           , X_acct_rate_date              =>	p_acct_rate_date
           , X_acct_rate_type              =>	p_acct_rate_type
           , X_acct_exchange_rate          =>	p_acct_exchange_rate
           , X_acct_raw_cost               =>	-p_acct_raw_cost
           , X_acct_burdened_cost          =>	-p_acct_burdened_cost
           , X_project_currency_code       =>	p_project_currency_code
           , X_project_rate_date           =>	p_project_rate_date
           , X_project_rate_type           =>	p_project_rate_type
           , X_project_exchange_rate       =>	p_project_exchange_rate
           , P_PaPeriodName                =>  P_Pa_Period_Name
           , P_RecvrPaPeriodName           =>  P_Recvr_Pa_Period_Name
           , P_GlPeriodName                =>  P_Gl_Period_Name
           , P_RecvrGlDate                 =>  l_recvr_gl_date /* bug 2661921 P_Recvr_Gl_Date */
           , P_RecvrGlPeriodName           =>  P_Recvr_Gl_Period_Name
           , P_Projfunc_currency_code      =>  P_Projfunc_currency_code
           , P_Projfunc_cost_rate_date     =>  P_Projfunc_cost_rate_date
           , P_Projfunc_cost_rate_type     =>  P_Projfunc_cost_rate_type
           , P_Projfunc_cost_exchange_rate =>  P_Projfunc_cost_exchange_rate
           , P_Project_Raw_Cost            =>  -P_Project_Raw_Cost           --Bug 3315099
           , P_Project_Burdened_Cost       =>  -P_Project_Burdened_Cost      --Bug 3315099
           , P_Work_Type_Id                =>  P_Work_Type_Id
           , p_cdlsr4                      =>	p_cdlsr4
   	, p_si_assets_addition_flag     => l_si_assets_addition_flag
   	, p_cdlsr5                      => p_cdlsr5
   	, P_Parent_Line_Num             => actual_cdl_line_num
   	    /* 12.2 payroll intg .. start */
   		, p_rate_source_code        => l_rate_source_code
   		, p_costing_method          => l_costing_method);
Line: 6376

           UPDATE pa_expenditure_items
           SET    cost_distributed_flag = 'Y'
           WHERE  expenditure_item_id = X_backout_id;
Line: 6403

             SELECT DEFAULT_RATE_TYPE,
                    DEFAULT_RATE_DATE_CODE
                    INTO
                    X_ACCT_RATE_TYPE,
                    X_ACCT_RATE_DATE_CODE
               FROM pa_implementations ;
Line: 6455

                            SELECT DISTINCT
                                  PAY_SOURCE_ID      ,
                                  PAY_ELEMENT_TYPE_ID,
                                  PAY_ELEMENT_TYPE_CODE
                              FROM
                                  PA_PAY_DIST_LINES
                              WHERE
                                  INTERFACE_RUN_ID           = G_INTERFACE_RUN_ID AND
                                  PERSON_ID                  = G_PERSON_ID AND
                                  SOURCE_EXPENDITURE_ITEM_ID = P_SOURCE_EXPENDITURE_ITEM_ID
                      )
                      LOOP
                            reject_pay_element (X.PAY_SOURCE_ID, X.PAY_ELEMENT_TYPE_ID,X.PAY_ELEMENT_TYPE_CODE , 'RC 80' ) ;
Line: 6498

                            SELECT DISTINCT
                                  PAY_SOURCE_ID      ,
                                  PAY_ELEMENT_TYPE_ID,
                                  PAY_ELEMENT_TYPE_CODE
                              FROM
                                  PA_PAY_DIST_LINES
                              WHERE
                                  INTERFACE_RUN_ID           = G_INTERFACE_RUN_ID AND
                                  PERSON_ID                  = G_PERSON_ID AND
                                  SOURCE_EXPENDITURE_ITEM_ID = P_SOURCE_EXPENDITURE_ITEM_ID
                      )
                      LOOP
                            reject_pay_element (X.PAY_SOURCE_ID, X.PAY_ELEMENT_TYPE_ID,X.PAY_ELEMENT_TYPE_CODE , 'RC 80' ) ;