• Post category:Payroll
  • Post comments:5 Comments
  • Post last modified:November 3, 2023
  • Reading time:2 mins read
You are currently viewing How to handle comma-separated person numbers input in HCM Extracts?

Do you know if we can pass multiple values for an input value in HCM Extract? Read on to know more details.

This is a VIP member-only content.

Please sign-up for the VIP Membership to get access to this content.

If you have already signed up, please Login to access the content.

  • I have done similar thing for a numeric field. i.e. person_number for our scenario is numeric, we added this on TRU ID parameter. We have ended up with below error. Tried to_number function, without any luck! Any inputs will be helpful.

    A system error ORA-06502: PL/SQL: numeric or value error: character to number conversion error ORA-06512: at “FUSION.FF_EXEC”, line 3796 ORA-06512: at “FUSION.FF_EXEC”, line 2688 ORA-06512: at “FUSION.FF_EXEC”, line 3521 ORA-06512: at “FUSI

    Filter snippet:

    and pdrc.TAX_UNIT_ID IN
    (select to_number(a) from (
    (SELECT (regexp_substr(personList, ‘[^,]+’, 1,LEVEL)) a
    FROM (select pay_report_utils.get_parameter_value(‘TAX_REPORTING_UNIT’) personList from dual)
    CONNECT BY LEVEL <= regexp_count(personList, ',')+1)))

    TAX_REPORTING_UNIT parameter is Text and passed as 300000006024086,300000006024246

    • Hi Veena,

      Instead of the above try this:

      and to_char(pdrc.TAX_UNIT_ID) IN
      (select a from (
      (SELECT (regexp_substr(personList, ‘[^,]+’, 1,LEVEL)) a
      FROM (select pay_report_utils.get_parameter_value(‘TAX_REPORTING_UNIT’) personList from dual)
      CONNECT BY LEVEL <= regexp_count(personList, ',')+1))) Thanks, Fusion HCM KB Team

      • We have tried all the possible combinations already 🙂
        to_char on tax_unit_id
        to_number on the subquery
        Nothing is working

        Below is from log. The question is does the list work on numeric or only characters?

        input name : “TAX_REPORTING_UNIT”
        input cl
        ass : INPUT
        input name : REPORT_RECORD_NAME
        input class : INPUT

        Out } PayDebug.writePLSQLLog
        In { PayMessage.setMessageText
        ORA-06502: PL/SQL: numeric or value error: character to number conversion error
        ORA-06512: at “FUSION.FF_EXEC”, line 3796
        ORA-06512: at “FUSION.FF_EXEC”, line 2688
        ORA-06512: at “FUSION.FF_EXEC”, line 3521
        ORA-06512: at “FUSION.FF_EXEC”, line 3806
        ORA-06512: at “FUSION.PAY_REPORT_PROCESS”, line 2249
        ORA-06512: at “FUSION.PAY_REPORT_PROCESS”, line 2118
        ORA-06512: at line 1

        Out } PayMessage.setMessageText

        • give one last try with below:
          and to_char(pdrc.TAX_UNIT_ID) IN
          (SELECT (regexp_substr(personList, ‘[^,]+’, 1,LEVEL)) a
          FROM (select to_char(pay_report_utils.get_parameter_value(‘TAX_REPORTING_UNIT’)) personList from dual)
          CONNECT BY LEVEL <= regexp_count(personList, ',')+1)

          • Thanks. All this time we were trying this out with an existing parameter. We then deleted that one and recreated a new param, it then worked!

  • In visible box by plugintheme