My Oracle Support Banner

Problem with 6X Calculations In BN_COSTS Application Package (Doc ID 1288772.1)

Last updated on NOVEMBER 02, 2020

Applies to:

PeopleSoft Enterprise HCM 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.


To view full details, sign in with your My Oracle Support account.

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

In this Document

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.