DataService - parameter not passed correctly from XML context

I have an UI action Workflow where I pass data from ActualRecord such as

Context parCourseCoach is of type XML with correct DataStructure applied.

When I use DataService method LoadData and map parameter value from above mentioned parCourseCoach XML context I get an error that the the value was not supplied. Which is not true.

Parameter mapping is done this way

Error I get in UI

Workflow Trace stack says:

Error loading data from table 'Coach' into entity 'Coach'
Message: The parameterized query '(@Coach_parId uniqueidentifier,@Coach_parCurrentDate datetime)SE' expects the parameter '@Coach_parId', which was not supplied. Exception was encountered while updating data. For more information see Details.
-------------------------------- 
Error loading data from table 'Coach' into entity 'Coach'
Message: The parameterized query '(@Coach_parId uniqueidentifier,@Coach_parCurrentDate datetime)SE' expects the parameter '@Coach_parId', which was not supplied. Exception was encountered while updating data. For more information see Details.
-------------------------------- 
The parameterized query '(@Coach_parId uniqueidentifier,@Coach_parCurrentDate datetime)SE' expects the parameter '@Coach_parId', which was not supplied.
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds)
   at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior)
   at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)
   at Origam.DA.Service.DataLoader.Fill() in D:\a\1\s\backend\Origam.DA.Service\AbstractSqlDataService.cs:line 120

So to me it seems like that the XPath part of parameter mapping is not processed correctly or at all.

Thank you for the response or fix.

ORIGAM version I have tested is 2024.11.1.3633

When I map the parameter form Uniqidentifier context like this


everything is just fine and working.

Please turn on the workflow trace and see what you actually receive into the parCourseCoach context store.

Well, sorry, I of course did that as I analyzed the problem. Context parCoursCoach recieves exactly what I expected

<ROOT>
  <Course
    _Label="UPOZORNĚNÍ: Pole níže budou vyplněna při změně Typu kurzu nebo Vydané licence po uložení formuláře."
    RecordDetailUpdated="2024-12-12T18:02:56+01:00"
    refApprovalOrganizationId="afaafce6-d988-4d3c-9c0c-12fdedb6c26b" Selected="false"
    RecordCreated="2022-10-12T19:15:23.237+02:00"
    RecordUpdatedBy="69aacf26-300e-477b-b9a6-408324ca1cad" Id="9f6ed863-8c4e-4424-88eb-4288926f535a"
    RecordCreatedBy="69aacf26-300e-477b-b9a6-408324ca1cad"
    Remark="&lt;p&gt;Program kurzu:&lt;br&gt;&lt;br&gt;1. bod č. 1&lt;br&gt;2. bod č. 2&lt;br&gt;3. finální test&lt;br&gt;&lt;br&gt;Minimální počet bodů pro splnění je 80 ze 100.&lt;/p&gt;&#xA;"
    RecordUpdated="2024-12-12T18:02:56.587+01:00" CapacityFree="0" CourseConditionIDs="0"
    LicenceType_Name="Futsal UEFA B" CourseCoachTotal="1" CourseConditionNOTIDs="0"
    CourseCoachRegisteredTotal="5" CourseType_Name="Kurz licence"
    CourseTypeLicenceType="Kurz licence Futsal UEFA B"
    DateRegistrationTo="2023-06-30T00:00:00+02:00" Place="Doubek 181, 251 01 Doubek"
    Date="2024-09-21T08:21:00+02:00" Price="1234.0000" CreditDel="15" SST_IsPaidStatusVisible="true"
    refRegionId="24e9e438-7719-44aa-90ab-6812c2001b56"
    refInvoicedById="da3277b3-f544-4b78-9be8-57a736448e4d" CreditAdd="7"
    Name="Kurz licence Futsal UEFA B" refCourseTypeId="d89ec5b6-7455-440b-9a7e-843842887bb1"
    refSupervisorId="69aacf26-300e-477b-b9a6-408324ca1cad"
    DateAccomplished="2023-06-30T00:00:00+02:00"
    refOrganizerId="afaafce6-d988-4d3c-9c0c-12fdedb6c26b"
    refRegionLicenceId="24e9e438-7719-44aa-90ab-6812c2001b56" Capacity="4"
    refLicenceTypeId="353d50b3-c1be-4bb6-bcbe-b6e868d446c5" IsPublic="true" Origin="Manual"
    City="Praha" BankAccountNumber="666999666/0666" IsCreditSubscription="false"
    refCourseStatusId="b3908c9d-1ece-452b-afe2-95352b20dbe8" CourseCertificateIDs="0">
    <CourseCoach ABRA_ReceivedOrderID="9X0D300101" DateLastPaymentCheck="2023-04-18T22:53:42+02:00"
      DatePaid="2024-12-13T09:27:27+01:00"
      refCourseCoachStatusId="57092d91-9b09-494d-9c9e-21d4f6027294"
      refConsolidatedCoachId="7cf5a378-ac8f-4b0a-886d-a98dd3b7c482" Selected="false"
      RecordCreated="2023-02-21T12:23:33.74+01:00"
      RecordUpdatedBy="69aacf26-300e-477b-b9a6-408324ca1cad"
      Id="ca998c6c-6764-4fa0-80ea-18a38f8c3667"
      RecordCreatedBy="69aacf26-300e-477b-b9a6-408324ca1cad" CompanyName="TEST DM TEST"
      RecordUpdated="2024-12-10T22:57:18.847+01:00" IdentificationNo="CZ9966" CertificateIDs="0"
      ZipCode="763 63" Street="č.p. 242/2" VirtualCreditsToCourseDate="7" LicenceIDs="1"
      RegistrationNo="98765432" CoachCertificateCount="0" Town="Halenkovice" Email="info@gmcr.cz"
      VirtualCreditsToDateAccomplished="7" CompanyZipCode="666 99"
      EvT_refInvoiceId="89e0f4cd-3bdd-4673-b2b6-4a766b861999" ABRA_Company_FirmID="1NQ8000101"
      ABRA_IssuedDepositInvoiceID="DU87500101"
      Course_refLicenceTypeId="353d50b3-c1be-4bb6-bcbe-b6e868d446c5"
      ABRA_IssuedInvoiceID="12G2100101" CourseDate="2024-09-21T08:21:00+02:00"
      EvT_refDepositId="c0b2bce6-8520-4663-8f14-ea8dd20b63c2" PriceLocalNotPaid="-566.0000"
      refCourseId="9f6ed863-8c4e-4424-88eb-4288926f535a" CompanyStreet="Pekelná 666/99"
      CompanyIdentificationNo="CZ12345678" CompanyRegistrationNo="12345678"
      refCoachId="7cf5a378-ac8f-4b0a-886d-a98dd3b7c482" PriceLocal="1234.0000"
      PriceLocalPaid="1800.0000" CreditAdd="0" CompanyIsInvoiced="true" CreditDel="0"
      DateAccomplished="2023-06-30T00:00:00+02:00" CompanyCity="Peklo 666 - Peklíčko"
      refCourseCoachPaymentStatusId="0dcb9b86-0289-497d-94a6-c4f8e7b91824" Mobile="774228038">
    </CourseCoach>
  </Course>
</ROOT>

That is quite strange, as this is the most standard functionality. Passing a parameter to a load data method from an XML structured context store.

Do you have this problem in all your workflows or just here?