While executing a custom business adapter i am getting below error.
An error has occurred when trying to run the query [select * from [flexera_records_all.csv]]. The error message is [Access to the path '\\SEA\Shares\Ironclad-Flexera\Schema.ini' is denied.].Access to the path '\\SEA\Shares\Ironclad-Flexera\Schema.ini' is denied.
I am not able to locate Schema.ini file. We are using CSV file to feed Flexera with IronClad contract information.
Please can someone suggest the possible reason.
Thank You
Loveneesh
Mar 28, 2023 05:24 AM
Good morning lsaxena, thanks for reaching out on the Community!
I believe a schema.ini outlines the data-structure for files such as CSVs.
I'm wondering if your issue may relate to the below Known Issue -- suggesting the Business Adapter removed the schema.ini?
Mar 28, 2023 06:35 AM
Thank you @jevans
Please can you check what i am doing wrong here. While executing its giving error"Import failed. Error: Incorrect syntax near ','."
Below is XML code
<?xml version="1.0" encoding="utf-8"?>
<root>
<ManageSoft connectiontype="default" runintransaction="False" />
<Imports>
<Import Type="CSV" Delimiter="Comma" Name="IronClad" Template="Custom Import" Enabled="True" ConnectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\SEA\Shares\Ironclad-Flexera;Extended Properties='text;HDR=Yes;FMT=FMT=Delimited(None)'" Query="select * from [flexera_records_all.csv]" FileName="\\SEA\Shares\Ironclad-Flexera\flexera_records_all.csv" TraceActions="created,deleted,updated,rejected" TraceFields="[Workflow ID]" Impersonate="false" Username="" Password="">
<Log Name="Log 1" Output="File" LogLevel="Information" Content="All" FileName="[DATE][TIME][IMPORT NAME].Log.txt" />
<Object Type="Contract" Name="Contract" Update="True" Create="True" OutputField="Contract_ID">
<Property Type="contractno" Name="Contract No" Update="Do not blank" ValueType="Field Value" Value="Workflow ID" UseForMatching="True" Length="60" />
<Property Type="contractname" Name="Contract Description" Update="Do not blank" ValueType="Field Value" Value="Contract Description" Length="100" />
<Property Type="contracttype" Name="Contract Type" Update="Do not blank" ValueType="Fixed Value" Value="Subscription" Length="1000" />
<Property Type="contractstatus" Name="Contract Status" Update="Do not blank" ValueType="Fixed Value" Value="Draft" Length="1000" />
<Property Type="startdate" Name="Start Date" Update="Do not blank" ValueType="Field Value" Value="Effective Date" DataType="Date" />
<Property Type="enddate" Name="Expiry Date" Update="Do not blank" ValueType="Field Value" Value="End Date" DataType="Date" />
<Property Type="totalvalue" Name="Global Amount" Update="Do not blank" ValueType="Field Value" Value="Contract Value (USD)" DataType="Float" />
</Object>
<Object Type="ComplianceResponsibility" Name="Contract Responsibility" Update="True" Create="True" OutputField="ContractResponsibility_ID" />
</Import>
</Imports>
</root>
Apr 11, 2023 01:57 AM
Good afternoon Loveneesh,
No problems, thanks for coming back to me here.
I suspect the issue is your configuration - with the error being a bit unclear!
Looking at your quote above, you've configured:
TraceActions="created,deleted,updated,rejected"
But the Business Adapter documentation states:
Optional. Set what action(s) will be recorded in the detailed log stored in the target database. Valid values are:
|
Apr 11, 2023 08:16 AM
Thank You @jevans It really work. You are AWESOM!! I can see the data is imported into FNMS.
However, some of the datafiles are missing and now its giving me another error. I am sure, I am doing something wrong and need help please.
"Import failed. Error: The required property attribute, UseForMatching, must be set for the following objects: [Vendor]."
Below is the code :
<?xml version="1.0" encoding="utf-8"?>
<root>
<ManageSoft connectiontype="default" runintransaction="False" />
<Imports>
<Import Type="CSV" Delimiter="None" Name="IronClad" Template="Custom Import" Enabled="True" ConnectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\SEA\Shares\Ironclad-Flexera;Extended Properties='text;HDR=Yes;FMT=Delimited(FMT=None)'" Query="select * from [flexera_records_all.csv]" FileName="\\SEA\Shares\Ironclad-Flexera\flexera_records_all.csv" TraceActions="Creation,Deletion,Update,Rejected" TraceFields="[Workflow ID]" Impersonate="false" Username="" Password="">
<Log Name="Log 1" Output="File" LogLevel="Information" Content="All" FileName="[DATE][TIME][IMPORT NAME].Log.txt" />
<Object Type="Contract" Name="Contract" Update="True" Create="True" UpdateRule="RejectDuplicateRecords" OutputField="Contract_ID">
<Property Type="contractno" Name="Contract No" Update="Do not blank" ValueType="Field Value" Value="Workflow ID" UseForMatching="True" Length="60" />
<Property Type="contractname" Name="Contract Description" Update="Do not blank" ValueType="Field Value" Value="Contract Description" Length="100" />
<Property Type="contracttype" Name="Contract Type" Update="Do not blank" ValueType="Fixed Value" Value="Subscription" Length="1000" />
<Property Type="contractstatus" Name="Contract Status" Update="Do not blank" ValueType="Fixed Value" Value="Draft" Length="1000" />
<Property Type="startdate" Name="Start Date" Update="Do not blank" ValueType="Field Value" Value="Effective Date" DataType="Date" />
<Property Type="enddate" Name="Expiry Date" Update="Do not blank" ValueType="Field Value" Value="End Date" DataType="Date" />
<Property Type="totalvalue" Name="Global Amount" Update="Do not blank" ValueType="Field Value" Value="Contract Value (USD)" DataType="Float" />
<Property Type="contract_status" Name="Contract_Status" Update="Do not blank" ValueType="Fixed Value" Value="Continue" Length="2000" IsCustomField="True" />
<Property Type="totalvaluerateid" Name="Global Amount Currency Rate ID" Update="Do not blank" ValueType="Field Value" Value="RowNumber" DataType="Integer" />
<Property Type="vendorid" Name="Vendor ID" Update="Do not blank" ValueType="Field Value" Value="RowNumber" DataType="Integer" />
<Property Type="comments" Name="Comments" Update="Do not blank" ValueType="Fixed Value" Value="Source : IronClad " />
</Object>
<Object Type="Vendor" Name="Vendor" Update="True" Create="True" OutputField="Vendor_ID">
<Property Type="vendorname" Name="Name" Update="Do not blank" ValueType="Field Value" Value="Counterparty Name" Length="64" />
</Object>
<Object Type="ComplianceResponsibility" Name="Contract Responsibility" Update="True" Create="True" OutputField="ContractResponsibility_ID">
<Property Type="responsibilitytype" Name="Responsibility" Update="Do not blank" ValueType="Field Value" Value="Business Owner" Length="1000" />
</Object>
</Import>
</Imports>
</root>
Apr 12, 2023 12:10 AM
Good afternoon Loveneesh,
Looking into the documentation for UseForMatching, we do see this value is Optional, but:
"For most import objects, you cannot save an existing adapter or create a new adapter without setting UseForMatching="True", or if defining import rules for attributes/properties using the UI without selecting the Use this property for matching existing data check box. If using the UI and do not select the check box but the chosen adapter requires it to be checked, then a warning message is displayed and you will not be able to save the new adapter until the issue is corrected."
My temptation would be to either select 'Use this property for matching existing data', or add 'UseForMatching="True"' on your Vendor object.
Kind regards and thanks,
Jack
Flexera Support
Apr 14, 2023 06:22 AM