I want to load this xml into my database, are there any simple ways to do it? I want the customer to have auto increment ID and table with Customers.
<?xml version="1.0" encoding="utf-8"?>
<Customers>
<Customer>
<Document>000 000 000</Document>
<Name>Mary Angel</Name>
<Address>Your City, YC 1212</Address>
<Profession>Systems Analyst</Profession>
</Customer>
</Customers>
Related
Am trying to migrate data from CRM online to Data Lake.
within Copy Activity of ADF, am using FetchXML to read data from CRM (CDM)
FetchXML:
<fetch>
<entity name="cdm_location">
<attribute name="cdm_gisid" />
<attribute name="cdm_locationid" />
<attribute name="cdm_locationtype" />
<attribute name="cdm_name" />
</entity>
</fetch>
Issue is ADF looks and the Sample dataset of above source query and determines the columns to be extracted. In my case column cdm_gisid within the sample dataset is NULL and hence this column is being ignored by ADF.
Is there a way in FetchXML saying if column is null replace with 'Default Value' so that ADF can see the column in the Sample Dataset.
[Or] is there better way in ADF to pull data from CDM, bringing every column irrespective if its null or not null.
You just need to use a column map which can be defined in the Mapping tab of your copy activity. This is a known issue and is recommend in the ADF/D365 documentation.
See the Important note in the following link.
https://learn.microsoft.com/en-us/azure/data-factory/connector-dynamics-crm-office-365#dynamics-as-a-source-type
How can i List All domains and data sources use in the domains in Jaspersoft.
i mean i have different domains like audit domains,customer domain etc is there any way to get all domains with tables(Data sources) use in these domains in jaspersoft?
I have around 20 domains and manually going to each domain and listing tables is cubersome so i need some help!
there is not a good way that i have found (i am sure you can dig into the DB)
one way to get this is to export the domains and it exports to a nice neat XML file.
As we only use JDBC sources we only need to look for "jdbcTable" and "jdbcQuery" tags to see what a domain is using this is all in the second 1/2 of the xml. if you use other datasources you may nee to review the xml to see how Jasper references them in the XML.
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.jaspersoft.com/2007/SL/XMLSchema" version="1.0">
<resources>
<jdbcTable id="" datasourceId="" tableName="">
<jdbcQuery id="" datasourceId="">
<query> select * from table <\query>
Below solution is for identifying Adhoc Views that depend on Domains, but I believe you could implement a similar solution with domains that depend on Datasources.
In the domain I created a derived table [AdhocViewName].
The query for this domain is:
SELECT a.id as AdhocID,
r.label as AdhocLabel,
a.reportDataSource as AdhocDataSourceID,
t.AdhocDataSourceLabel
FROM (SELECT id as AdhocDataSourceID,
label as AdhocDataSourceLabel
FROM public.jiresource
) as t
INNER JOIN public.jiadhocdataview a ON a.reportDataSource = t.AdhocDataSourceID
INNER JOIN public.jiresource r ON a.id = r.id
Notes:
even though the tables appear with underscore (public_jiresource, the query only worked by substituting "." (public.jiresource).
for some reason jasper doesn't like it when you use brackets; eg, a.id [AdhocID], thus I used a.id as AdhocID.
When you pull the derived table into an Adhoc View,
create a table
filter with resourcetype is one of SemanticLayerDataSource, AdhocDataView
Colums: Resource Label, uri
Groups: adhocdatasourcelabel
I'm trying to query Jobs for a specific Customer, but am running into a little issue. It appears that the ParentRef is not queryable:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<IntuitResponse xmlns="http://schema.intuit.com/finance/v3" time="2014-02-19T10:20:31.635-08:00">
<Fault type="ValidationFault">
<Error code="4001">
<Message>Invalid query</Message>
<Detail>QueryValidationError: property 'ParentRef' is not queryable</Detail>
</Error>
</Fault>
</IntuitResponse>
However, that's the only thing I can think of to limit the query on the server-side. In the old world, we submitted a Filter of CustomerId :EQUALS: #{id} to the Jobs API, but now the Customer/Job APIs have been combined. My v3 query is SELECT * FROM Customer WHERE Job = true AND ParentRef = '#{id}' which seems like a reasonable thing to do.
Am I missing something? Could you allow us to query on ParentRef?
Something like this works OK:
SELECT * FROM Customer WHERE FullyQualifiedName LIKE 'Your Customer Name:%'
the above works if you only have one level. Try a cast:
if (null != cust.ParentRef && ((ReferenceType)cust.ParentRef).Value == c.Id)
Then if you were building a treeview for instance just wrap it in a recursive method.
Please guide me about this. I am working on CRM online.
I need report(custom SSRS) which will be invoked from Campaign and it will print all the Leads belongs to that Campaign.
How should i achieve this.
I created a master report based on Campaign, and a child report which is added inside that master report using BIDS.
I am passing campaignId to the child and child report does it work simply.
Is it possible using single report instead of two report...??
Any help would be appreciated.
Thanks
You can create a single report, isn't mandatory to use the Parent-Child relationship that is available with Dynamics CRM.
Inside your report you can create how many dataset you want, just define a dataset with a query (built with FetchXml because you are using CRM Online) that will fetch for the related leads of the selected campaign.
You can use Advanced Find to get the FetchXml to start.
Example:
you have the FetchXml from the Advanced Find, this will retrieve all the leads with the attribute new_campaignid as the selected GUID value.
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">
<entity name="lead">
<attribute name="fullname" />
<attribute name="companyname" />
<attribute name="telephone1" />
<attribute name="leadid" />
<order attribute="fullname" descending="false" />
<filter type="and">
<condition attribute="new_campaignid" operator="eq" uiname="Test Campaign" uitype="campaign" value="{F7038DE4-B5A5-E211-8417-000C29E20CBC}" />
</filter>
</entity>
</fetch>
after create the dataset, I attached a screenshot of BIDS
I am using the IPPDotNetDevKit.2.1.12.0 SDK to first get a list of all customers. I then add new customers which works 99.9 percent of the time, but for some (and thereafter persistant for that perticular entity) I am getting this error;
QB -sdk NAME must be unique in QB! name = ABC Company
I don't see the customer in QuickBooks (so sync error), and I look at the set of customers returned in the 1st request (where I set qb_query.ActiveOnly = false)
<xml version="1.0" encoding="utf-8"?>
<CustomerQuery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.intuit.com/sb/cdm/v2">
<StartPage>1</StartPage>
<ChunkSize>500</ChunkSize>
</CustomerQuery>
and the customer in question "ABC Company" is clearly not there (only have 43 customers returned so ChukSize is not the issue). So it seems I tired to add that customer, it got "stuck", and now everytime I try to add it again, I get "name must be unique". However checking sync errors;
<?xml version="1.0" encoding="utf-8"?>
<CustomerQuery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ErroredObjectsOnly="true" xmlns="http://www.intuit.com/sb/cdm/v2">
<StartPage>1</StartPage>
<ChunkSize>100</ChunkSize>
</CustomerQuery>
I get no rows returned. (it does look a little funny where the SDK puts ErroredObjectsOnly but what do I know).
So my question is, how can I get either the customer query or the sync error query to return the "lost" customer so I can find the ID and delete it or fix it?
Thank you.
Names have to be unique across all Customers, Vendors, Employees, and "Other Name" elements.
Did you also check to make sure that there's no Vendor, Employee, or "Other Name" with that same name?