Hi,
I’m trying to understand how to populate the ODataKeyFields property on a data query API using the simple object designer. From what I can understand it is required when creating virtual tables in dataverse.
Thanks in advance
hougaard Answered question September 17, 2024
That happens automatically by Simple Object Designer. Using the SystemId field.
hougaard Edited comment September 17, 2024
Ahh, query as API, no support for ODatakeyFields on queries. (Missing support for that by Microsoft, I have asked them why?)
This is what i get when i download the source code
query 51533 CustomerPaymentsDTT
{
QueryCategory = ‘payments’;
Caption = ‘NZHCustomerPayments’;
QueryType = API;
EntitySetName = ‘customerPayments’;
EntityName = ‘customerPayment’;
APIGroup = ‘DTT’;
APIPublisher = ‘hougaard’;
APIVersion = ‘v2.0’;
UsageCategory = ReportsAndAnalysis;
elements
{
dataitem(Payments;”Cust. Ledger Entry”)
{
DataItemTableFilter = “Document Type” = filter(‘Payment’);
column(entryno_;”Entry No.”)
{
}
column(customerno_;”Customer No.”)
{
}
column(postingdate;”Posting Date”)
{
}
column(documenttype;”Document Type”)
{
}
column(documentno_;”Document No.”)
{
}
column(description;Description)
{
}
column(customername;”Customer Name”)
{
}
column(yourreference;”Your Reference”)
{
}
column(currencycode;”Currency Code”)
{
}
column(amount;Amount)
{
}
column(remainingamount;”Remaining Amount”)
{
}
column(originalamt__lcy_;”Original Amt. (LCY)”)
{
}
column(remainingamt__lcy_;”Remaining Amt. (LCY)”)
{
}
column(amount_lcy_;”Amount (LCY)”)
{
}
column(sales_lcy_;”Sales (LCY)”)
{
}
column(bal_accounttype;”Bal. Account Type”)
{
}
column(bal_accountno_;”Bal. Account No.”)
{
}
column(systemid;SystemId)
{
}
}
}
}