Header Ads

  • Recent Posts

    RemoteCall error on running "On Demand Event Maintenance" in Benefits Automated Enrollment

    When running On Demand Event Maintenance(PSPBARUN process) under Automated Enrollment the below error message can occur:
    Remote program PSPBARUN failed with reason:
    FETCH-EVENTTABLE-ACCESS(PSPBATBL)ELECT-OPTIONS
    PSPBAELT)PROCESS-PAR-OPTIONS(PSPBAENR) (2,1)
    BENEF_PB_WRK.ODEM_SCHED_ACTY_PB.FieldDefault
    NAME:OEDM_RemoteCall PCP:355 Statement:4
    Called from:BENEF_PB_WRK_OE=DEM_REPROC_PB.FieldChange
    Statement:4
     
    Navigation to run this COBOL process - PSPBARUN: 
    1. Benefits > Manage Automated Enrollment > Events > Run Automated Event Processing
    2. Benefits > Manage Automated Enrollment > Events > On-Demand Event Maintenance
    Reason for the Error Message:

    1. Not all COBOL programs are compiled
    2. Remote Call Service is not working in PeopleSoft. Check here to see how to test Remote Call Service?
    3. Data issue between Event Rules Id tagged to the Benefit Program and Event Class tagged to the Employee. This post details about this reason.

    Viewing the trace files can provide valuable information on the error message. Click here to see How to get trace enabled for COBOL Programs executed from PeopleSoft in 2 tier and/or 3 tier? If the trace file has a message like, "No Rules Found For Event Rules Id/Class: XXXX/YYYY " then the issue may not be with the Remote Call Function. It might just well be a data issue.

    By running the below SQL, and if there are any rows returned we can conclude very well indeed that this is a data issue.
    (SELECT DISTINCT B.EVENT_CLASS,A.EVENT_RULES_ID
    FROM PS_BEN_DEFN_PLAN A, PS_BAS_PARTIC B
    WHERE A.EFFDT =
    (SELECT MAX(A_ED.EFFDT) FROM PS_BEN_DEFN_PLAN A_ED
    WHERE A.BENEFIT_PROGRAM = A_ED.BENEFIT_PROGRAM
    AND A_ED.EFFDT <= SYSDATE)
    AND A.BENEFIT_PROGRAM = B.BENEFIT_PROGRAM
    AND B.EVENT_STATUS = 'O'
    --AND B.EMPLID = :1) /* Substitute the emplid, if the issue is specific to one emplid(while running on-demand maintenance; In order to get the entire list of discrepancies with programs, event rules and event classes keep this condition suppressed */
    MINUS
    (SELECT DISTINCT A.EVENT_CLASS, A.EVENT_RULES_ID
    FROM PS_BAS_EVENT_CLASS A
    WHERE A.EFFDT = (SELECT MAX(A_ED.EFFDT) FROM PS_BAS_EVENT_CLASS A_ED
    WHERE A.EVENT_RULES_ID = A_ED.EVENT_RULES_ID
    AND A_ED.EFFDT <= SYSDATE))

    If there are any rows retured, then add the corresponding Event Class to the Event Rules Id in Setup HRMS > Product Related > Automated Benefits > Eligibility and Event Rules > Event Rules Table. This data is stored in PS_BAS_EVENT_CLASS and PS_BAS_CVG_CD_RULE table.

    Note: The no. of rows returned by this SQL might have few additional rows for which event class and event rules id are not required for the particular emplid run. However, it definitely does not leave out any event rules id and event class combination that has to be defined. Have to get this SQL tweaked further to avoid the few additional rows returned.

    3 comments:

    1. Best solution ever

      ReplyDelete
    2. Excellent write-up. Saved a lot of time to debug the issue and we knew where the issue was.

      ReplyDelete

    Please refrain for marketing messages and unnecessary back links.

    Post Top Ad

    Post Bottom Ad