SQL语句 - HR模块员工信息导出

SELECT OTL.NAME
     , --业务组
      PER.LAST_NAME
     , --姓/姓氏
      PER.FIRST_NAME
     , --名/名字
      HL1.MEANING
     , --称谓
      PER.PRE_NAME_ADJUNCT
     , --前缀
      PER.SUFFIX
     , --后缀
      PER.MIDDLE_NAMES
     , --中间名
      DECODE(HL2.LOOKUP_CODE,
             'M',
             HL2.MEANING,
             'F',
             SUBSTR(HL2.MEANING, 1, 1),
             'U',
             HL2.MEANING)
     , --性别
      HL17.MEANING
     , --人员类型1
      HL18.MEANING
     , --人员类型2
      PER.EMPLOYEE_NUMBER
     , --标识2
      PER.NATIONAL_IDENTIFIER
     , --身份证号
      TO_CHAR(PER.DATE_OF_BIRTH, 'yyyy-mm-dd')
     , --出生日期
      PER.TOWN_OF_BIRTH
     , --祖籍              
      PER.REGION_OF_BIRTH
     , --出生地
      FTT.TERRITORY_SHORT_NAME
     , --出生国家
      ROUND((TRUNC(SYSDATE) - TRUNC(PER.DATE_OF_BIRTH)) / 365) AGE
     , --年龄
      HL4.MEANING
     , --婚姻状态
      HL5.MEANING
     , --国籍
      HL9.MEANING
     , --已登记的伤残人员
      TO_CHAR(PER.EFFECTIVE_START_DATE, 'yyyy-mm-dd')
     , --有效期自
      to_char(decode(to_char(PER.effective_end_date, 'yyyy-mm-dd'),
                     '4712-12-31',
                     NULL,
                     PER.effective_end_date),
              'yyyy-mm-dd')
     , --有效期至
      DECODE(PER.CURRENT_EMPLOYEE_FLAG,
             'Y',
             TO_CHAR(PPS.DATE_START, 'yyyy-mm-dd'),
             DECODE(PER.CURRENT_NPW_FLAG,
                    'Y',
                    TO_CHAR(PPP.DATE_START, 'yyyy-mm-dd'),
                    NULL))
     , --最初起始日期
      PER.OFFICE_NUMBER
     , --办公室
      PER.INTERNAL_LOCATION
     , --地点
      PER.MAILSTOP
     , --邮箱
      PER.EMAIL_ADDRESS
     , --电子邮件
      HL3.MEANING
     , --邮寄至
      PER.RESUME_EXISTS
     , --简历存在
      PER.RESUME_LAST_UPDATED
     , --最后更新
      PER.HOLD_APPLICANT_DATE_UNTIL /* , PPTTL.USER_PERSON_TYPE */
     , --暂挂申请至
      PER.BACKGROUND_CHECK_STATUS
     , --*背景检查
      TO_CHAR(PER.BACKGROUND_DATE_CHECK, 'yyyy-mm-dd')
     , --*审查日期
      PER.REHIRE_RECOMMENDATION
     , --推荐
      PER.REHIRE_REASON
     , --原因
      PER.BLOOD_TYPE
     , --血型
      TO_CHAR(PER.LAST_MEDICAL_TEST_DATE, 'yyyy-mm-dd')
     , --最后一次体检日期
      PER.LAST_MEDICAL_TEST_BY
     , --体检机构名称
      HL7.MEANING
     , --可使用时间表
      PER.FTE_CAPACITY
     , --全职可用率
      FLT.DESCRIPTION
     , --通信语言
      TO_CHAR(PER.DATE_OF_DEATH, 'yyyy-mm-dd')
     , --死亡日期
      HL6.MEANING
     , --学院状况
      TO_CHAR(PER.DATE_EMPLOYEE_DATA_VERIFIED, 'yyyy-mm-dd')
     , --最后核实日期
      PER.ON_MILITARY_SERVICE
     , --在服兵役
      PER.SECOND_PASSPORT_EXISTS
     , --有另一本护照
      PER.PER_INFORMATION14
     , --姓/姓氏(汉语拼音)
      PER.PER_INFORMATION15
     , --名/名字(汉语拼音)
      PER.PER_INFORMATION16
     , --曾用名
      PER.KNOWN_AS
     , --现名
      HL12.MEANING
     , --户口类型
      HL13.MEANING
     , --户口所在地
      HL14.MEANING
     , --民族
      PER.PER_INFORMATION18
     , --社会保险IC编号
      HL15.MEANING
     , --最高学历
      PER.PER_INFORMATION7
     , --*子女数
      HL16.MEANING
     , --健康状况
      PER.PER_INFORMATION8
     , --移居国外者
      PER.PER_INFORMATION11
     , --免税指示符
      OTL2.NAME ORGANIZATION_NAME
     , --组织
      JBT.NAME JOB_NAME
     , --职务
      GDT.NAME GRADE_NAME
     , --级别
      LOCTL.LOCATION_CODE
     , --地点
      PPG.SEGMENT1
     , --分配组
      HR_GENERAL.DECODE_POSITION_LATEST_NAME(PA.POSITION_ID) POSITION_NAME
     , --职位
      PAY.PAYROLL_NAME
     , --工资单
      NVL(AMDTL.USER_STATUS, STTL.USER_STATUS) USER_STATUS
     , --状态
      PA.ASSIGNMENT_NUMBER
     , --分配编号
      DECODE(PA.ASSIGNMENT_TYPE,
             'E',
             HR_GENERAL.DECODE_LOOKUP('EMP_CAT', PA.EMPLOYMENT_CATEGORY),
             'C',
             HR_GENERAL.DECODE_LOOKUP('CWK_ASG_CATEGORY',
                                      PA.EMPLOYMENT_CATEGORY)) EMPLOYMENT_CATEGORY_MEANING
     , --分配类别
      CA.NAME AGREEMENT_NAME
     , --集体协议
      HR_GENERAL.DECODE_LOOKUP('EMPLOYEE_CATG', PA. EMPLOYEE_CATEGORY) EMPLOYEE_CATEGORY_MEANING --员工类别
 FROM FND_LOOKUP_VALUES              HL1
     ,FND_LOOKUP_VALUES              HL2
     ,FND_LOOKUP_VALUES              HL3
     ,FND_LOOKUP_VALUES              HL4
     ,FND_LOOKUP_VALUES              HL5
     ,FND_LOOKUP_VALUES              HL6
     ,FND_LOOKUP_VALUES              HL7
     ,FND_LOOKUP_VALUES              HL8
     ,FND_LOOKUP_VALUES              HL9
     ,FND_LOOKUP_VALUES              HL10
     ,FND_LOOKUP_VALUES              HL11
     ,FND_LOOKUP_VALUES              HL12
     ,FND_LOOKUP_VALUES              HL13
     ,FND_LOOKUP_VALUES              HL14
     ,FND_LOOKUP_VALUES              HL15
     ,FND_LOOKUP_VALUES              HL16
     ,FND_LOOKUP_VALUES              HL17
     ,FND_LOOKUP_VALUES              HL18
     ,FND_LANGUAGES_TL               FLT
     ,PER_PERSON_TYPES               PPT
     ,PER_PERSON_TYPES_TL            PPTTL
     ,PER_PERIODS_OF_SERVICE         PPS
     ,PER_PERIODS_OF_PLACEMENT       PPP
     ,PER_PEOPLE_F                   PER
     ,HR_ALL_ORGANIZATION_UNITS_TL   OTL
     ,BEN_BENFTS_GRP                 BEN
     ,FND_TERRITORIES_TL             FTT
     ,PER_ALL_ASSIGNMENTS_F          PA
     ,PAY_PEOPLE_GROUPS              PPG
     ,PER_GRADES_TL                  GDT
     ,PER_JOBS_TL                    JBT
     ,PER_ASSIGNMENT_STATUS_TYPES_TL STTL
     ,PER_ASS_STATUS_TYPE_AMENDS     AMD
     ,PER_ASS_STATUS_TYPE_AMENDS_TL  AMDTL
     ,PAY_ALL_PAYROLLS_F             PAY
     ,HR_LOCATIONS_ALL_TL            LOCTL
     ,HR_ALL_ORGANIZATION_UNITS_TL   OTL2
     ,PER_COLLECTIVE_AGREEMENTS      CA
WHERE otl.organization_id = per.BUSINESS_GROUP_ID
  AND otl.language = NVL('&LANGUAGE', otl.LANGUAGE)
  AND HL1.LOOKUP_TYPE(+) = 'TITLE'
  AND HL1.LOOKUP_CODE(+) = PER.TITLE
  AND HL1.LANGUAGE(+) = NVL('&LANGUAGE', hl1.LANGUAGE(+))
  AND HL2.LOOKUP_TYPE(+) = 'SEX'
  AND HL2.LOOKUP_CODE(+) = PER.SEX
  AND HL2.LANGUAGE(+) = NVL('&LANGUAGE', hl2.LANGUAGE(+))
  AND HL2.VIEW_APPLICATION_ID =
      (SELECT FLT.VIEW_APPLICATION_ID
         FROM FND_LOOKUP_TYPES FLT
             ,FND_APPLICATION  FA
        WHERE FLT.APPLICATION_ID = FA.APPLICATION_ID
          AND FLT.LOOKUP_TYPE = 'SEX'
          AND FA.APPLICATION_SHORT_NAME = 'PER')
  AND HL17.LOOKUP_TYPE(+) = 'PERSON_TYPE'
  AND HL17.LOOKUP_CODE(+) =
      UPPER(HR_PERSON_TYPE_USAGE_INFO.GET_USER_PERSON_TYPE(SYSDATE,
                                                           PER.PERSON_ID))
  AND HL17.LANGUAGE(+) = '&LANGUAGE'
  AND HL18.LOOKUP_TYPE(+) = 'HR_PERSON_NUMBER_TYPES'
  AND HL18.LOOKUP_CODE(+) = PPT.SYSTEM_PERSON_TYPE
  AND HL18.LANGUAGE(+) = '&LANGUAGE'
  AND HL3.LOOKUP_TYPE(+) = 'HOME_OFFICE'
  AND HL3.LOOKUP_CODE(+) = PER.EXPENSE_CHECK_SEND_TO_ADDRESS
  AND HL3.LANGUAGE(+) = NVL('&LANGUAGE', hl3.LANGUAGE(+))
  AND HL4.LOOKUP_TYPE(+) = 'MAR_STATUS'
  AND HL4.LOOKUP_CODE(+) = PER.MARITAL_STATUS
  AND HL4.LANGUAGE(+) = NVL('&LANGUAGE', hl4.LANGUAGE(+))
  AND HL5.LOOKUP_TYPE(+) = 'NATIONALITY'
  AND HL5.LOOKUP_CODE(+) = PER.NATIONALITY
  AND HL5.LANGUAGE(+) = NVL('&LANGUAGE', hl5.LANGUAGE(+))
  AND HL6.LOOKUP_TYPE(+) = 'STUDENT_STATUS'
  AND HL6.LOOKUP_CODE(+) = PER.STUDENT_STATUS
  AND HL6.LANGUAGE(+) = NVL('&LANGUAGE', hl6.LANGUAGE(+))
  AND HL7.LOOKUP_TYPE(+) = 'WORK_SCHEDULE'
  AND HL7.LOOKUP_CODE(+) = PER.WORK_SCHEDULE
  AND HL7.LANGUAGE(+) = NVL('&LANGUAGE', hl7.LANGUAGE(+))
  AND HL8.LOOKUP_TYPE(+) = 'BLOOD_TYPE'
  AND HL8.LOOKUP_CODE(+) = PER.BLOOD_TYPE
  AND HL8.LANGUAGE(+) = NVL('&LANGUAGE', hl8.LANGUAGE(+))
  AND HL9.LOOKUP_TYPE(+) = 'REGISTERED_DISABLED'
  AND HL9.LOOKUP_CODE(+) = PER.REGISTERED_DISABLED_FLAG
  AND HL9.LANGUAGE(+) = NVL('&LANGUAGE', hl9.LANGUAGE(+))
  AND HL10.LOOKUP_TYPE(+) = 'MILITARY_SERVICE'
  AND HL10.LOOKUP_CODE(+) = PER.ON_MILITARY_SERVICE
  AND HL10.LANGUAGE(+) = NVL('&LANGUAGE', hl10.LANGUAGE(+))
  AND HL11.LOOKUP_TYPE(+) = 'TOBACCO_USER'
  AND HL11.LOOKUP_CODE(+) = PER.USES_TOBACCO_FLAG
  AND HL11.LANGUAGE(+) = NVL('&LANGUAGE', hl11.LANGUAGE(+))
  AND HL12.LOOKUP_TYPE(+) = 'CN_HUKOU_TYPE'
  AND HL12.LOOKUP_CODE(+) = PER.PER_INFORMATION4
  AND HL12.LANGUAGE(+) = NVL('&LANGUAGE', hl12.LANGUAGE(+))
  AND HL13.LOOKUP_TYPE(+) = 'CN_HUKOU_LOCN'
  AND HL13.LOOKUP_CODE(+) = PER.PER_INFORMATION5
  AND HL13.LANGUAGE(+) = NVL('&LANGUAGE', hl13.LANGUAGE(+))
  AND HL14.LOOKUP_TYPE(+) = 'CN_RACE'
  AND HL14.LOOKUP_CODE(+) = PER.PER_INFORMATION17
  AND HL14.LANGUAGE(+) = NVL('&LANGUAGE', hl14.LANGUAGE(+))
  AND HL15.LOOKUP_TYPE(+) = 'CN_HIGH_EDU_LEVEL'
  AND HL15.LOOKUP_CODE(+) = PER.PER_INFORMATION6
  AND HL15.LANGUAGE(+) = NVL('&LANGUAGE', hl15.LANGUAGE(+))
  AND HL16.LOOKUP_TYPE(+) = 'CN_HEALTH_STATUS'
  AND HL16.LOOKUP_CODE(+) = PER.PER_INFORMATION10
  AND HL16.LANGUAGE(+) = NVL('&LANGUAGE', hl16.LANGUAGE(+))
  AND FLT.LANGUAGE_CODE(+) = PER.CORRESPONDENCE_LANGUAGE
  AND FLT.LANGUAGE(+) = NVL('&LANGUAGE', FLT.LANGUAGE(+))
  AND PPT.PERSON_TYPE_ID = PER.PERSON_TYPE_ID
  AND PPS.PERSON_ID(+) = PER.PERSON_ID
  AND PPP.PERSON_ID(+) = PER.PERSON_ID
  AND BEN.BENFTS_GRP_ID(+) = PER.BENEFIT_GROUP_ID
  AND FTT.TERRITORY_CODE(+) = PER.COUNTRY_OF_BIRTH
  AND FTT.LANGUAGE(+) = NVL('&LANGUAGE', FTT.LANGUAGE(+))
  AND ((PER.EMPLOYEE_NUMBER IS NULL) OR
      (PER.EMPLOYEE_NUMBER IS NOT NULL AND
      PPS.DATE_START =
      (SELECT MAX(PPS1.DATE_START)
           FROM PER_PERIODS_OF_SERVICE PPS1
          WHERE PPS1.PERSON_ID = PER.PERSON_ID
            AND PPS1.DATE_START <= PER.EFFECTIVE_END_DATE)))
  AND ((PER.NPW_NUMBER IS NULL) OR
      (PER.NPW_NUMBER IS NOT NULL AND
      PPP.DATE_START =
      (SELECT MAX(PPP1.DATE_START)
           FROM PER_PERIODS_OF_PLACEMENT PPP1
          WHERE PPP1.PERSON_ID = PER.PERSON_ID
            AND PPP1.DATE_START <= PER.EFFECTIVE_END_DATE)))
  AND PPT.PERSON_TYPE_ID = PPTTL.PERSON_TYPE_ID
  AND PPTTL.LANGUAGE = NVL('&LANGUAGE', PPTTL.LANGUAGE)
     --
  AND PA.PERSON_ID = PER.PERSON_ID
  AND PA.PEOPLE_GROUP_ID = PPG.PEOPLE_GROUP_ID
  AND PA.ASSIGNMENT_TYPE IN ('E', 'C')
  AND PA.GRADE_ID = GDT.GRADE_ID(+)
  AND GDT.LANGUAGE(+) = NVL('&LANGUAGE', GDT.LANGUAGE(+))
  AND PA.JOB_ID = JBT.JOB_ID(+)
  AND JBT.LANGUAGE(+) = NVL('&LANGUAGE', JBT.LANGUAGE(+))
  AND PA.ASSIGNMENT_STATUS_TYPE_ID = STTL.ASSIGNMENT_STATUS_TYPE_ID
  AND STTL.LANGUAGE(+) = NVL('&LANGUAGE', STTL.LANGUAGE(+))
  AND PA.ASSIGNMENT_STATUS_TYPE_ID = AMD.ASSIGNMENT_STATUS_TYPE_ID(+)
  AND PA.BUSINESS_GROUP_ID + 0 = AMD.BUSINESS_GROUP_ID(+) + 0
  AND AMD.ASS_STATUS_TYPE_AMEND_ID = AMDTL.ASS_STATUS_TYPE_AMEND_ID(+)
  AND DECODE(AMDTL.ASS_STATUS_TYPE_AMEND_ID, NULL, '1', AMDTL.LANGUAGE) =
      DECODE(AMDTL.ASS_STATUS_TYPE_AMEND_ID,
             NULL,
             '1',
             nvl('&LANGUAGE', AMDTL.LANGUAGE) /*USERENV('LANG')*/)
  AND PA.PAYROLL_ID = PAY.PAYROLL_ID(+)
  AND PA.LOCATION_ID = LOCTL.LOCATION_ID(+)
  AND DECODE(LOCTL.LOCATION_ID, NULL, '1', LOCTL.LANGUAGE) =
      DECODE(LOCTL.LOCATION_ID,
             NULL,
             '1',
             nvl('&LANGUAGE', LOCTL.LANGUAGE) /*USERENV('LANG')*/)
  AND PA.ORGANIZATION_ID = OTL2.ORGANIZATION_ID(+)
  AND OTL2.LANGUAGE(+) = NVL('&LANGUAGE', OTL2.LANGUAGE(+))
  AND PA.COLLECTIVE_AGREEMENT_ID = CA.COLLECTIVE_AGREEMENT_ID(+)
  AND per.EFFECTIVE_START_DATE <= SYSDATE
  AND PER.EFFECTIVE_END_DATE >= SYSDATE
     --AND PER.LAST_UPDATE_DATE >= hss_setup_export_pub.get_db_created_time
  AND PER.LAST_UPDATED_BY <> 1
  AND ('&LANGUAGE' = 'ZHS' OR '&LANGUAGE' = 'US')
UNION ALL
SELECT OTL.NAME
     , --业务组
      PER.LAST_NAME
     , --姓/姓氏
      PER.FIRST_NAME
     , --名/名字
      HL1.MEANING
     , --称谓
      PER.PRE_NAME_ADJUNCT
     , --前缀
      PER.SUFFIX
     , --后缀
      PER.MIDDLE_NAMES
     , --中间名
      DECODE(HL2.LOOKUP_CODE,
             'M',
             HL2.MEANING,
             'F',
             SUBSTR(HL2.MEANING, 1, 1),
             'U',
             HL2.MEANING)
     , --性别
      HL17.MEANING
     , --人员类型1
      HL18.MEANING
     , --人员类型2
      PER.EMPLOYEE_NUMBER
     , --标识2
      PER.NATIONAL_IDENTIFIER
     , --身份证号
      TO_CHAR(PER.DATE_OF_BIRTH, 'yyyy-mm-dd')
     , --出生日期
      PER.TOWN_OF_BIRTH
     , --祖籍              
      PER.REGION_OF_BIRTH
     , --出生地
      FTT.TERRITORY_SHORT_NAME
     , --出生国家
      ROUND((TRUNC(SYSDATE) - TRUNC(PER.DATE_OF_BIRTH)) / 365) AGE
     , --年龄
      HL4.MEANING
     , --婚姻状态
      HL5.MEANING
     , --国籍
      HL9.MEANING
     , --已登记的伤残人员
      TO_CHAR(PER.EFFECTIVE_START_DATE, 'yyyy-mm-dd')
     , --有效期自
      to_char(decode(to_char(PER.effective_end_date, 'yyyy-mm-dd'),
                     '4712-12-31',
                     NULL,
                     PER.effective_end_date),
              'yyyy-mm-dd')
     , --有效期至
      DECODE(PER.CURRENT_EMPLOYEE_FLAG,
             'Y',
             TO_CHAR(PPS.DATE_START, 'yyyy-mm-dd'),
             DECODE(PER.CURRENT_NPW_FLAG,
                    'Y',
                    TO_CHAR(PPP.DATE_START, 'yyyy-mm-dd'),
                    NULL))
     , --最初起始日期
      PER.OFFICE_NUMBER
     , --办公室
      PER.INTERNAL_LOCATION
     , --地点
      PER.MAILSTOP
     , --邮箱
      PER.EMAIL_ADDRESS
     , --电子邮件
      HL3.MEANING
     , --邮寄至
      PER.RESUME_EXISTS
     , --简历存在
      PER.RESUME_LAST_UPDATED
     , --最后更新
      PER.HOLD_APPLICANT_DATE_UNTIL /* , PPTTL.USER_PERSON_TYPE */
     , --暂挂申请至
      PER.BACKGROUND_CHECK_STATUS
     , --*背景检查
      TO_CHAR(PER.BACKGROUND_DATE_CHECK, 'yyyy-mm-dd')
     , --*审查日期
      PER.REHIRE_RECOMMENDATION
     , --推荐
      PER.REHIRE_REASON
     , --原因
      PER.BLOOD_TYPE
     , --血型
      TO_CHAR(PER.LAST_MEDICAL_TEST_DATE, 'yyyy-mm-dd')
     , --最后一次体检日期
      PER.LAST_MEDICAL_TEST_BY
     , --体检机构名称
      HL7.MEANING
     , --可使用时间表
      PER.FTE_CAPACITY
     , --全职可用率
      FLT.DESCRIPTION
     , --通信语言
      TO_CHAR(PER.DATE_OF_DEATH, 'yyyy-mm-dd')
     , --死亡日期
      HL6.MEANING
     , --学院状况
      TO_CHAR(PER.DATE_EMPLOYEE_DATA_VERIFIED, 'yyyy-mm-dd')
     , --最后核实日期
      PER.ON_MILITARY_SERVICE
     , --在服兵役
      PER.SECOND_PASSPORT_EXISTS
     , --有另一本护照
      PER.PER_INFORMATION14
     , --姓/姓氏(汉语拼音)
      PER.PER_INFORMATION15
     , --名/名字(汉语拼音)
      PER.PER_INFORMATION16
     , --曾用名
      PER.KNOWN_AS
     , --现名
      HL12.MEANING
     , --户口类型
      HL13.MEANING
     , --户口所在地
      HL14.MEANING
     , --民族
      PER.PER_INFORMATION18
     , --社会保险IC编号
      HL15.MEANING
     , --最高学历
      PER.PER_INFORMATION7
     , --*子女数
      HL16.MEANING
     , --健康状况
      PER.PER_INFORMATION8
     , --移居国外者
      PER.PER_INFORMATION11
     , --免税指示符
      OTL2.NAME ORGANIZATION_NAME
     , --组织
      JBT.NAME JOB_NAME
     , --职务
      GDT.NAME GRADE_NAME
     , --级别
      LOCTL.LOCATION_CODE
     , --地点
      PPG.SEGMENT1
     , --分配组
      HR_GENERAL.DECODE_POSITION_LATEST_NAME(PA.POSITION_ID) POSITION_NAME
     , --职位
      PAY.PAYROLL_NAME
     , --工资单
      NVL(AMDTL.USER_STATUS, STTL.USER_STATUS) USER_STATUS
     , --状态
      PA.ASSIGNMENT_NUMBER
     , --分配编号
      DECODE(PA.ASSIGNMENT_TYPE,
             'E',
             HR_GENERAL.DECODE_LOOKUP('EMP_CAT', PA.EMPLOYMENT_CATEGORY),
             'C',
             HR_GENERAL.DECODE_LOOKUP('CWK_ASG_CATEGORY',
                                      PA.EMPLOYMENT_CATEGORY)) EMPLOYMENT_CATEGORY_MEANING
     , --分配类别
      CA.NAME AGREEMENT_NAME
     , --集体协议
      HR_GENERAL.DECODE_LOOKUP('EMPLOYEE_CATG', PA. EMPLOYEE_CATEGORY) EMPLOYEE_CATEGORY_MEANING --员工类别
 FROM FND_LOOKUP_VALUES              HL1
     ,FND_LOOKUP_VALUES              HL2
     ,FND_LOOKUP_VALUES              HL3
     ,FND_LOOKUP_VALUES              HL4
     ,FND_LOOKUP_VALUES              HL5
     ,FND_LOOKUP_VALUES              HL6
     ,FND_LOOKUP_VALUES              HL7
     ,FND_LOOKUP_VALUES              HL8
     ,FND_LOOKUP_VALUES              HL9
     ,FND_LOOKUP_VALUES              HL10
     ,FND_LOOKUP_VALUES              HL11
     ,FND_LOOKUP_VALUES              HL12
     ,FND_LOOKUP_VALUES              HL13
     ,FND_LOOKUP_VALUES              HL14
     ,FND_LOOKUP_VALUES              HL15
     ,FND_LOOKUP_VALUES              HL16
     ,FND_LOOKUP_VALUES              HL17
     ,FND_LOOKUP_VALUES              HL18
     ,FND_LANGUAGES_TL               FLT
     ,PER_PERSON_TYPES               PPT
     ,PER_PERSON_TYPES_TL            PPTTL
     ,PER_PERIODS_OF_SERVICE         PPS
     ,PER_PERIODS_OF_PLACEMENT       PPP
     ,PER_PEOPLE_F                   PER
     ,HR_ALL_ORGANIZATION_UNITS_TL   OTL
     ,BEN_BENFTS_GRP                 BEN
     ,FND_TERRITORIES_TL             FTT
     ,PER_ALL_ASSIGNMENTS_F          PA
     ,PAY_PEOPLE_GROUPS              PPG
     ,PER_GRADES_TL                  GDT
     ,PER_JOBS_TL                    JBT
     ,PER_ASSIGNMENT_STATUS_TYPES_TL STTL
     ,PER_ASS_STATUS_TYPE_AMENDS     AMD
     ,PER_ASS_STATUS_TYPE_AMENDS_TL  AMDTL
     ,PAY_ALL_PAYROLLS_F             PAY
     ,HR_LOCATIONS_ALL_TL            LOCTL
     ,HR_ALL_ORGANIZATION_UNITS_TL   OTL2
     ,PER_COLLECTIVE_AGREEMENTS      CA
WHERE otl.organization_id = per.BUSINESS_GROUP_ID
  AND otl.language = NVL('&LANGUAGE', otl.LANGUAGE)
  AND HL1.LOOKUP_TYPE(+) = 'TITLE'
  AND HL1.LOOKUP_CODE(+) = PER.TITLE
     --AND HL1.LANGUAGE(+) = NVL('&LANGUAGE', hl1.LANGUAGE(+))
  AND HL2.LOOKUP_TYPE(+) = 'SEX'
  AND HL2.LOOKUP_CODE(+) = PER.SEX
     --AND HL2.LANGUAGE(+) = NVL('&LANGUAGE', hl2.LANGUAGE(+))
  AND HL2.VIEW_APPLICATION_ID =
      (SELECT FLT.VIEW_APPLICATION_ID
         FROM FND_LOOKUP_TYPES FLT
             ,FND_APPLICATION  FA
        WHERE FLT.APPLICATION_ID = FA.APPLICATION_ID
          AND FLT.LOOKUP_TYPE = 'SEX'
          AND FA.APPLICATION_SHORT_NAME = 'PER')
  AND HL17.LOOKUP_TYPE(+) = 'PERSON_TYPE'
  AND HL17.LOOKUP_CODE(+) =
      UPPER(HR_PERSON_TYPE_USAGE_INFO.GET_USER_PERSON_TYPE(SYSDATE,
                                                           PER.PERSON_ID))
  AND HL17.LANGUAGE(+) = '&LANGUAGE'
  AND HL18.LOOKUP_TYPE(+) = 'HR_PERSON_NUMBER_TYPES'
  AND HL18.LOOKUP_CODE(+) = PPT.SYSTEM_PERSON_TYPE
     --AND HL18.LANGUAGE(+) = '&LANGUAGE'
  AND HL3.LOOKUP_TYPE(+) = 'HOME_OFFICE'
  AND HL3.LOOKUP_CODE(+) = PER.EXPENSE_CHECK_SEND_TO_ADDRESS
  AND HL3.LANGUAGE(+) = NVL('&LANGUAGE', hl3.LANGUAGE(+))
  AND HL4.LOOKUP_TYPE(+) = 'MAR_STATUS'
  AND HL4.LOOKUP_CODE(+) = PER.MARITAL_STATUS
  AND HL4.LANGUAGE(+) = NVL('&LANGUAGE', hl4.LANGUAGE(+))
  AND HL5.LOOKUP_TYPE(+) = 'NATIONALITY'
  AND HL5.LOOKUP_CODE(+) = PER.NATIONALITY
  AND HL5.LANGUAGE(+) = NVL('&LANGUAGE', hl5.LANGUAGE(+))
  AND HL6.LOOKUP_TYPE(+) = 'STUDENT_STATUS'
  AND HL6.LOOKUP_CODE(+) = PER.STUDENT_STATUS
  AND HL6.LANGUAGE(+) = NVL('&LANGUAGE', hl6.LANGUAGE(+))
  AND HL7.LOOKUP_TYPE(+) = 'WORK_SCHEDULE'
  AND HL7.LOOKUP_CODE(+) = PER.WORK_SCHEDULE
  AND HL7.LANGUAGE(+) = NVL('&LANGUAGE', hl7.LANGUAGE(+))
  AND HL8.LOOKUP_TYPE(+) = 'BLOOD_TYPE'
  AND HL8.LOOKUP_CODE(+) = PER.BLOOD_TYPE
  AND HL8.LANGUAGE(+) = NVL('&LANGUAGE', hl8.LANGUAGE(+))
  AND HL9.LOOKUP_TYPE(+) = 'REGISTERED_DISABLED'
  AND HL9.LOOKUP_CODE(+) = PER.REGISTERED_DISABLED_FLAG
  AND HL9.LANGUAGE(+) = NVL('&LANGUAGE', hl9.LANGUAGE(+))
  AND HL10.LOOKUP_TYPE(+) = 'MILITARY_SERVICE'
  AND HL10.LOOKUP_CODE(+) = PER.ON_MILITARY_SERVICE
  AND HL10.LANGUAGE(+) = NVL('&LANGUAGE', hl10.LANGUAGE(+))
  AND HL11.LOOKUP_TYPE(+) = 'TOBACCO_USER'
  AND HL11.LOOKUP_CODE(+) = PER.USES_TOBACCO_FLAG
  AND HL11.LANGUAGE(+) = NVL('&LANGUAGE', hl11.LANGUAGE(+))
  AND HL12.LOOKUP_TYPE(+) = 'CN_HUKOU_TYPE'
  AND HL12.LOOKUP_CODE(+) = PER.PER_INFORMATION4
  AND HL12.LANGUAGE(+) = NVL('&LANGUAGE', hl12.LANGUAGE(+))
  AND HL13.LOOKUP_TYPE(+) = 'CN_HUKOU_LOCN'
  AND HL13.LOOKUP_CODE(+) = PER.PER_INFORMATION5
  AND HL13.LANGUAGE(+) = NVL('&LANGUAGE', hl13.LANGUAGE(+))
  AND HL14.LOOKUP_TYPE(+) = 'CN_RACE'
  AND HL14.LOOKUP_CODE(+) = PER.PER_INFORMATION17
  AND HL14.LANGUAGE(+) = NVL('&LANGUAGE', hl14.LANGUAGE(+))
  AND HL15.LOOKUP_TYPE(+) = 'CN_HIGH_EDU_LEVEL'
  AND HL15.LOOKUP_CODE(+) = PER.PER_INFORMATION6
  AND HL15.LANGUAGE(+) = NVL('&LANGUAGE', hl15.LANGUAGE(+))
  AND HL16.LOOKUP_TYPE(+) = 'CN_HEALTH_STATUS'
  AND HL16.LOOKUP_CODE(+) = PER.PER_INFORMATION10
  AND HL16.LANGUAGE(+) = NVL('&LANGUAGE', hl16.LANGUAGE(+))
  AND FLT.LANGUAGE_CODE(+) = PER.CORRESPONDENCE_LANGUAGE
  AND FLT.LANGUAGE(+) = NVL('&LANGUAGE', FLT.LANGUAGE(+))
  AND PPT.PERSON_TYPE_ID = PER.PERSON_TYPE_ID
  AND PPS.PERSON_ID(+) = PER.PERSON_ID
  AND PPP.PERSON_ID(+) = PER.PERSON_ID
  AND BEN.BENFTS_GRP_ID(+) = PER.BENEFIT_GROUP_ID
  AND FTT.TERRITORY_CODE(+) = PER.COUNTRY_OF_BIRTH
  AND FTT.LANGUAGE(+) = NVL('&LANGUAGE', FTT.LANGUAGE(+))
  AND ((PER.EMPLOYEE_NUMBER IS NULL) OR
      (PER.EMPLOYEE_NUMBER IS NOT NULL AND
      PPS.DATE_START =
      (SELECT MAX(PPS1.DATE_START)
           FROM PER_PERIODS_OF_SERVICE PPS1
          WHERE PPS1.PERSON_ID = PER.PERSON_ID
            AND PPS1.DATE_START <= PER.EFFECTIVE_END_DATE)))
  AND ((PER.NPW_NUMBER IS NULL) OR
      (PER.NPW_NUMBER IS NOT NULL AND
      PPP.DATE_START =
      (SELECT MAX(PPP1.DATE_START)
           FROM PER_PERIODS_OF_PLACEMENT PPP1
          WHERE PPP1.PERSON_ID = PER.PERSON_ID
            AND PPP1.DATE_START <= PER.EFFECTIVE_END_DATE)))
  AND PPT.PERSON_TYPE_ID = PPTTL.PERSON_TYPE_ID
  AND PPTTL.LANGUAGE = NVL('&LANGUAGE', PPTTL.LANGUAGE)
     --
  AND PA.PERSON_ID = PER.PERSON_ID
  AND PA.PEOPLE_GROUP_ID = PPG.PEOPLE_GROUP_ID
  AND PA.ASSIGNMENT_TYPE IN ('E', 'C')
  AND PA.GRADE_ID = GDT.GRADE_ID(+)
  AND GDT.LANGUAGE(+) = NVL('&LANGUAGE', GDT.LANGUAGE(+))
  AND PA.JOB_ID = JBT.JOB_ID(+)
  AND JBT.LANGUAGE(+) = NVL('&LANGUAGE', JBT.LANGUAGE(+))
  AND PA.ASSIGNMENT_STATUS_TYPE_ID = STTL.ASSIGNMENT_STATUS_TYPE_ID
  AND STTL.LANGUAGE(+) = NVL('&LANGUAGE', STTL.LANGUAGE(+))
  AND PA.ASSIGNMENT_STATUS_TYPE_ID = AMD.ASSIGNMENT_STATUS_TYPE_ID(+)
  AND PA.BUSINESS_GROUP_ID + 0 = AMD.BUSINESS_GROUP_ID(+) + 0
  AND AMD.ASS_STATUS_TYPE_AMEND_ID = AMDTL.ASS_STATUS_TYPE_AMEND_ID(+)
  AND DECODE(AMDTL.ASS_STATUS_TYPE_AMEND_ID, NULL, '1', AMDTL.LANGUAGE) =
      DECODE(AMDTL.ASS_STATUS_TYPE_AMEND_ID,
             NULL,
             '1',
             nvl('&LANGUAGE', AMDTL.LANGUAGE) /*USERENV('LANG')*/)
  AND PA.PAYROLL_ID = PAY.PAYROLL_ID(+)
  AND PA.LOCATION_ID = LOCTL.LOCATION_ID(+)
  AND DECODE(LOCTL.LOCATION_ID, NULL, '1', LOCTL.LANGUAGE) =
      DECODE(LOCTL.LOCATION_ID,
             NULL,
             '1',
             nvl('&LANGUAGE', LOCTL.LANGUAGE) /*USERENV('LANG')*/)
  AND PA.ORGANIZATION_ID = OTL2.ORGANIZATION_ID(+)
  AND OTL2.LANGUAGE(+) = NVL('&LANGUAGE', OTL2.LANGUAGE(+))
  AND PA.COLLECTIVE_AGREEMENT_ID = CA.COLLECTIVE_AGREEMENT_ID(+)
  AND per.EFFECTIVE_START_DATE <= SYSDATE
  AND PER.EFFECTIVE_END_DATE >= SYSDATE
     --AND PER.LAST_UPDATE_DATE >= hss_setup_export_pub.get_db_created_time
  AND PER.LAST_UPDATED_BY <> 1
  AND '&LANGUAGE' IS NULL
ORDER BY 1
        ,2
        ,3


本文标题:SQL语句 - HR模块员工信息导出

本文链接:http://catonisland.cn/post/247.html

本文版权归作者所有,欢迎转载,转载请以文字链接的形式注明文章出处。

相关文章