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
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,
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
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
Stay up to date on forum activity by subscribing. You can also customize your in-app and email Notification settings across all subscriptions.
André Arnaud de Cal... 290,524 Super User 2024 Season 2
Martin Dráb 228,469 Most Valuable Professional
nmaenpaa 101,148