Problem with 6X Calculations In BN_COSTS Application Package

(Doc ID 1288772.1)

Last updated on DECEMBER 13, 2017

Applies to:

PeopleSoft Enterprise HRMS Human Resources - Version 9 and later
Information in this document applies to any platform.


The red paper in "Doc ID 747438.1 - HCM Benefits 9.0 - On-line Benefits Cost Determination" provides guidance for the use of a set of application classes - BN_COSTS that have been developed to estimate benefit costs. (Please refer attached - "rp_e_hcm_benefits_cost.pdf").

SQL errors occur while trying to use BN_COSTS application package, as per the setup mentioned in red paper. The main goal is to use the BN_COSTS app pkg class to extend the Benefits Summary in Self Service to include Benefit Costs in addition to just showing the election.


SAPPSRV.11524 (905) 1-18639 11.01.19 0.000000 ErrorReturn-> 279 - SQL error in DescribeCol. (2,279)

BN_COSTS.PlanTypeBase.OnExecute Name:getBalanceIDInfo PCPC:16807 Statement:256Called from:BN_COSTS.PlanType6X.OnExecute Name:calcCost Statement:43Called from:BN_COSTS.PlanType6X.OnExecute Name:PlanType6X Statement:8Called from:BN_COSTS.BenefitCost.OnExecute Name:calcCost Statement:58Called from:W3EB_BENEF_SMRY.DEDN_AMT_A_TAX.RowInit Statement:18

The issue can be reproduced at will with the following steps:
Steps to replicate:
1. Add the DEDN_AMT_B_TAX field to the W3EB_BENEF_SMRY record, alter the record.
2. Add the W3EB_BENEF_SMRY.DEDN_AMT_B_TAX field to the W3EB_GRID page by inserting an edit box into the W3EB_BENEF_SMRY grid on the W3EB_GRID page - set the edit box to be the W3EB_BENEF_SMRY.DEDN_AMT_B_TAX field and display it.
3. Add the following peoplecode to the W3EB_BENEF_SMRY.DEDN_AMT_B_TAX rowinit peoplecode:

import BN_COSTS:*;
Local BN_COSTS:BenefitCost &oCostMgr;
Local BN_COSTS:ElectionInput &oElection;
Local BN_COSTS:Costs &oCosts;
Local array of any &axCoveredDpnd;
Local date &dEffDt;
Local string &sEmplID, &sFreq, &sDepID;
Local number &nCvgAmount, &nMonthlyCost, &nAnnualCost;
Local integer &I, &iBRN;
Local integer &bc_creditamt;

If %Panel = Panel.W3EB_GRID Then
&sFreq = "";
&oCostMgr = create BN_COSTS:BenefitCost(&sEmplID, &iBRN, &dEffDt, &sFreq);

If (&oCostMgr.HasErrors) Then
For &I = 1 To &oCostMgr.AppMsgs.Len
WinMessage(&oCostMgr.AppMsgs [&I].ToString());

&oElection = create BN_COSTS:ElectionInput();
&oElection.PlanType = W3EB_BENEF_SMRY.PLAN_TYPE;
&oElection.BenefitPlan = W3EB_BENEF_SMRY.BENEFIT_PLAN;
&oElection.CobraEventID = 0;
&oElection.CovrgCd = W3EB_BENEF_SMRY.COVRG_CD;

If &oElection.PlanType <> "" Then
&oCosts = &oCostMgr.calcCost(&oElection);

If (&oCostMgr.HasErrors) Then
For &I = 1 To &oCostMgr.AppMsgs.Len
WinMessage(&oCostMgr.AppMsgs [&I].ToString());
If All(&oCosts) Then


4. Navigate to Self Service > Benefits > Benefits Summary

Once the above is setup with delivered Application Package peoplecode for BN_COSTS, it will display costs for people that do NOT have a plan type 6X elected. This display has shown costs for all other test cases except employees with 6X elected.


Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms