Skip to main content

Notifications

Finance | Project Operations, Human Resources, ...
Answered

Microsoft Dynamics GP eConnect XML execution of UPRCreateBenefitType for Payroll giving error 4315 Stored Procedure= taCreateBenefitBasedOnPayDedCodes Error Description = Based on Records is set to all in UPR40800 - due to this setup individual Based on

(0) ShareShare
ReportReport
Posted on by 25

Hello all.

I'm a newbie and hoping for a little help. Using the e-connect executing the payroll UPRCreateBenefitType using soapUI with below xml payload:

<soapenv:Envelope xmlns:soapenv="">schemas.xmlsoap.org/.../" xmlns:ns="">schemas.microsoft.com/.../01">
<soapenv:Header/>
<soapenv:Body>
<ns:CreateEntity>
<!--Optional:-->
<ns:connectionString>Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=DBNAME;Data Source=SQLEXPRESS</ns:connectionString>
<!--Optional:-->
<ns:xml>
<![CDATA[
<eConnect xmlns:dt="urn:schemas-microsoft-com:datatypes">
<UPRCreateBenefitType>
<taCreateBenefit>
<BENEFIT>401K </BENEFIT>
<DSCRIPTN>INSTest02</DSCRIPTN>
<INACTIVE>0</INACTIVE>
<BNFBEGDT>12/01/2021</BNFBEGDT>
<BNFENDDT></BNFENDDT>
<VARBENFT>0</VARBENFT>
<BNFTFREQ>1</BNFTFREQ>
<SBJTFDTX>0</SBJTFDTX>
<SBJTSSEC>0</SBJTSSEC>
<SBJTMCAR>0</SBJTMCAR>
<SBJTSTTX>0</SBJTSTTX>
<SBJTLTAX>0</SBJTLTAX>
<SBJTFUTA>0</SBJTFUTA>
<SBJTSUTA>0</SBJTSUTA>
<FFEDTXRT>0</FFEDTXRT>
<FLSTTXRT>0</FLSTTXRT>
<BORCDTYP>1</BORCDTYP>
<BSDORCDS>0</BSDORCDS>
<BNFTMTHD>1</BNFTMTHD>
<BNFFRMLA>0</BNFFRMLA>
<BNFPRCNT_1>0</BNFPRCNT_1>
<BNFPRCNT_2>0</BNFPRCNT_2>
<BNFPRCNT_3>0</BNFPRCNT_3>
<BNFPRCNT_4>0</BNFPRCNT_4>
<BNFPRCNT_5>0</BNFPRCNT_5>
<BNFITAMT_1>0</BNFITAMT_1>
<BNFITAMT_2>0</BNFITAMT_2>
<BNFITAMT_3>0</BNFITAMT_3>
<BNFITAMT_4>0</BNFITAMT_4>
<BNFITAMT_5>0</BNFITAMT_5>
<BNFTRMAX_1>0</BNFTRMAX_1>
<BNFTRMAX_2>0</BNFTRMAX_2>
<BNFTRMAX_3>0</BNFTRMAX_3>
<BNFTRMAX_4>0</BNFTRMAX_4>
<BNFTRMAX_5>0</BNFTRMAX_5>
<BNTRMXUN_1>0</BNTRMXUN_1>
<BNTRMXUN_2>0</BNTRMXUN_2>
<BNTRMXUN_3>0</BNTRMXUN_3>
<BNTRMXUN_4>0</BNTRMXUN_4>
<BNTRMXUN_5>0</BNTRMXUN_5>
<BNPAYPMX>0</BNPAYPMX>
<BNFYRMAX>0</BNFYRMAX>
<Benefit_Fiscal_Max>0</Benefit_Fiscal_Max>
<BNFLFMAX>0</BNFLFMAX>
<W2BXNMBR>0</W2BXNMBR>
<W2BXLABL></W2BXLABL>
<W2BXNMBR2>0</W2BXNMBR2>
<W2BXLABL2></W2BXLABL2>
<W2BXNMBR3>0</W2BXNMBR3>
<W2BXLABL3></W2BXLABL3>
<W2BXNMBR4>0</W2BXNMBR4>
<W2BXLABL4></W2BXLABL4>
<DATAENTDFLT>0</DATAENTDFLT>
<UpdateIfExists>1</UpdateIfExists>
<RequesterTrx>0</RequesterTrx>
</taCreateBenefit>
<taCreateBenefitBasedOnPayDedCodes_Items>
<taCreateBenefitBasedOnPayDedCodes>
<BENEFIT>401K </BENEFIT>
<BORCDTYP>2</BORCDTYP>
<BSDONCDE>401K </BSDONCDE>
<RequesterTrx>0</RequesterTrx>
</taCreateBenefitBasedOnPayDedCodes>
</taCreateBenefitBasedOnPayDedCodes_Items>
</UPRCreateBenefitType>
</eConnect>
]]>
</ns:xml>
</ns:CreateEntity>
</soapenv:Body>
</soapenv:Envelope>

When i executing this payload it's give below error:

<Message><![CDATA[Sql procedure error codes returned:
Error Number = 4315 Stored Procedure= taCreateBenefitBasedOnPayDedCodes Error Description = Based on Records is set to all in UPR40800 - due to this setup individual Based on Records are invalid
Node Identifier Parameters: taCreateBenefitBasedOnPayDedCodes
BENEFIT = 401K
BORCDTYP = 2
BSDONCDE = 401K

Please help me what i am missing 

Categories:
  • Verified answer
    RE: Microsoft Dynamics GP eConnect XML execution of UPRCreateBenefitType for Payroll giving error 4315 Stored Procedure= taCreateBenefitBasedOnPayDedCodes Error Description = Based on Records is set to all in UPR40800 - due to this setup individual Based

    That is the code from the taCreateBenefitBasedOnPayDedCodes stored procedure for eConnect, for error number 4315:

    if ( @I_vBENEFIT <> '' and @I_vBSDONCDE <> '' )

    begin

    select @BSDORCDS = BSDORCDS from UPR40800 (nolock) where BENEFIT = @I_vBENEFIT

    if ( @BSDORCDS = 0 )

    begin

    select @O_iErrorState = 4315  

    exec @iStatus = taUpdateString

    @O_iErrorState,

    @oErrString,

    @oErrString output,

    @iAddCodeErrState output

    end

    end

    This is from our 18.3.1200 version of Dynamics GP. If you let me know what version of Dynamics GP you're on, if different, I can double-check that, but I don't know if the eConnect procedures have changed all that much in the last few GP versions.

    In your code above, I see this:

    <BSDORCDS>0</BSDORCDS>

    <BENEFIT>401K </BENEFIT>

    In the UPR40800 table, for the '401K' BENEFIT, is the BSDORCDS value set to 0 or 1, or something else?

    I'd say to open a support case so we can look at this further with you to help expedite a resolution.

    Thank you,

  • RE: Microsoft Dynamics GP eConnect XML execution of UPRCreateBenefitType for Payroll giving error 4315 Stored Procedure= taCreateBenefitBasedOnPayDedCodes Error Description = Based on Records is set to all in UPR40800 - due to this setup individual Based

    HI @Derek

    Thank you so much for your reply!

    I am still getting the same error.

    select @BSDORCDS = BSDORCDS from UPR40800 (nolock) where BENEFIT = @I_vBENEFIT

    @BSDORCDS is returning me 1

    So please check in the script any other condition for Error Number 4315.

    Error Number = 4315 Stored Procedure= taCreateBenefitBasedOnPayDedCodes Error Description = Based on Records is set to all in UPR40800 - due to this setup individual Based on Records are invalid

    Please have a look on script once again 

  • Suggested answer
    RE: Microsoft Dynamics GP eConnect XML execution of UPRCreateBenefitType for Payroll giving error 4315 Stored Procedure= taCreateBenefitBasedOnPayDedCodes Error Description = Based on Records is set to all in UPR40800 - due to this setup individual Based

    Looking at the taCreateBenefitBasedOnPayDedCodes procedure for eConnect, here is the script that determines the 4315 error:

    if ( @I_vBENEFIT <> '' and @I_vBSDONCDE <> '' )
    begin
    select @BSDORCDS = BSDORCDS from UPR40800 (nolock) where BENEFIT = @I_vBENEFIT
    if ( @BSDORCDS = 0 )
    begin
    select @O_iErrorState = 4315

    It looks like you are passing both a BENEFIT and BSDONCDE value, thus it is running the SELECt statement above and if BSDORCDS = 0, it throws this error.

    Thanks

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

News and Announcements

Announcing Category Subscriptions!

Quick Links

December Spotlight Star - Muhammad Affan

Congratulations to a top community star!

Top 10 leaders for November!

Congratulations to our November super stars!

Tips for Writing Effective Verified Answers

Best practices for providing successful forum answers ✍️

Leaderboard

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 291,359 Super User 2024 Season 2

#2
Martin Dráb Profile Picture

Martin Dráb 230,370 Most Valuable Professional

#3
nmaenpaa Profile Picture

nmaenpaa 101,156

Leaderboard

Product updates

Dynamics 365 release plans