Sage evolution with branch accounting in flowgear - flowgear

I have one question regarding to flowgear with sage evolution(branching) integration.
I have created flowgear workflow for client and stkitem data sync with branch accounting(specific Branch id) to my web porter.
when i submit order from web to flowgear using specific client and stkitem data at that time sage evolution node giving the error
Record (Customer: THR001C) cannot be used in this context as it is linked to branch 'CH'. Current branch is 'Global'.
My sage evolution node source XML is:
<?xml version="1.0" encoding="utf-16"?>
<Documents xmlns="http://flowgear.net/Schemas/PastelEvolution/Documents.xsd">
<Configuration>
<DocumentType>ArSalesOrders</DocumentType>
<ProcessAllOrNone>1</ProcessAllOrNone>
</Configuration>
<Document>
<ProcessAction>Create</ProcessAction>
<Account>AFR099T</Account>
<ExternalOrderNo>12543</ExternalOrderNo>
<OrderNo>123</OrderNo>
<Description>Test</Description>
<DetailLines>
<DetailLine>
<LineAction>Add</LineAction>
<StockItem>TPJ057</StockItem>
<Quantity>20.0</Quantity>
<UnitSellingPrice>0.0</UnitSellingPrice>
<Warehouse>CH/CA</Warehouse>
</DetailLine>
</DetailLines>
</Document>
</Documents>
Please help me
Thanks

Related

Content Type Instantiation: Picking value of a reference field

I'm trying sensenet features, my focus is on reference field inside content type.
I defined & installed the following content type successfully.
<?xml version="1.0" encoding="utf-8"?>
<ContentType name="EmployeeCT" parentType="GenericContent"handler="SenseNet.ContentRepository.GenericContent" xmlns="http://schemas.sensenet.com/SenseNet/ContentRepository/ContentTypeDefinition">
<DisplayName>Employee Record</DisplayName>
<Description></Description>
<Icon>Content</Icon>
<AllowIncrementalNaming>true</AllowIncrementalNaming>
<AllowedChildTypes>EmployeeCT</AllowedChildTypes>
<Fields>
<Field name="Manager" type="Reference">
<DisplayName>Manager</DisplayName>
<Description></Description>
<Configuration>
<AllowMultiple>false</AllowMultiple>
<AllowedTypes>
<Type>EmployeeCT</Type>
</AllowedTypes>
<SelectionRoot>
<Path>/Root</Path>
</SelectionRoot>
<!--<DefaultValue>/Root/Path1,/Root/Path2</DefaultValue>-->
<ReadOnly>false</ReadOnly>
<Compulsory>false</Compulsory>
<VisibleBrowse>Show</VisibleBrowse>
<VisibleEdit>Show</VisibleEdit>
<VisibleNew>Show</VisibleNew>
</Configuration>
</Field>
</Fields>
</ContentType>
The problem is that I could not found & pick manager of employee.
Any help please,
Thanks.
Are there any previously saved content with the type EmployeeCT? Because you set it as the only allowed type as the value of the Manager field.
I've checked your code on my local site and it works. First I had to save an Employee Record to create a content for a manager and then I was able to pick it as a manager of a new Employee Record.

Is it possible to create multiple data source objects under the same database executing a single xmla script?

I want to create multiple data source objects under the same database executing the single XMLA script only once.I have tried the below script but it did not work.If I define only a single node, the script executes successfully.But when I add the another same node it gives error. I am newer to this.Please guide.
<Create xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
<ParentObject>
<DatabaseID>Test Database</DatabaseID>
</ParentObject>
<ObjectDefinition>
<DataSource xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="RelationalDataSource">
<ID>Test Datasource1</ID>
<Name>Test Datasource1</Name>
<Description>A test datasource1.</Description>
<ConnectionString>Provider=SQLNCLI11.1;Data Source=servername;User ID=user;Password=pass;Initial Catalog=SqlDb</ConnectionString>
<ImpersonationInfo>
<ImpersonationMode>ImpersonateServiceAccount</ImpersonationMode>
</ImpersonationInfo>
<Timeout>PT0S</Timeout>
</DataSource>
<DataSource xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="RelationalDataSource">
<ID>Test Datasource2</ID>
<Name>Test Datasource2</Name>
<Description>A test datasource2.</Description>
<ConnectionString>Provider=SQLNCLI11.1;Data Source=servername;User ID=user;Password=pass;Initial Catalog=SqlDb</ConnectionString>
<ImpersonationInfo>
<ImpersonationMode>ImpersonateServiceAccount</ImpersonationMode>
</ImpersonationInfo>
<Timeout>PT0S</Timeout>
</DataSource>
</ObjectDefinition>
</Create>
Is there a batch element wrapper you can use?

reportPlaySeconds being called regardless of returned interval

I'm using some additional logic to skirt around this issue, but I've noticed reportPlaySeconds being called regardless of the interval value I return.
The Result documentation states:
interval string(128) - Number of seconds to elapse before next report. Note: A value of 0 indicates that no reporting after the start of playback of that track should be issued.
This is an example request request:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.sonos.com/Services/1.1">
<SOAP-ENV:Header>
<ns1:credentials>
<ns1:deviceId>00-01-02-0A-0B-0C</ns1:deviceId>
<ns1:deviceProvider>Sonos</ns1:deviceProvider>
<ns1:sessionId>303-TEMP</ns1:sessionId>
</ns1:credentials>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:reportPlaySeconds>
<ns1:id>track_id</ns1:id>
<ns1:seconds>0</ns1:seconds>
</ns1:reportPlaySeconds>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
And the response:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.sonos.com/Services/1.1">
<SOAP-ENV:Body>
<ns1:reportPlaySecondsResponse>
<ns1:reportPlaySecondsResult>
<ns1:interval>0</ns1:interval>
</ns1:reportPlaySecondsResult>
</ns1:reportPlaySecondsResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
If I've understood the documentation correctly, returning <ns1:interval>0</ns1:interval> means reportPlaySeconds shouldn't be called again. I'm also using setPlayedSeconds to calculate more granular reporting, so additional reportPlaySeconds calls are unnecessary.
Any ideas?
Although the documentation does state you (the provider) can change the reporting interval by returning interval in the reportPlaySecondsResult, the feature is not enabled in firmware as of the latest release (Version 5.4, Build 29.5-91030, Released 13 July 2015).
As you have seen, the player continues to report on a fixed interval no matter what the value returned in reportPlaySecondsResult.
I've opened a ticket with the documentation team for an update.

SPARQL Query questions in WSO2 DSS

I've got a question with using WSO2 DSS and SPARQL queries in Fedora Commons. At the moment I'm running WSO2 DSS from my desktop machine and accessing it as a localhost service. My SPARQL endpoint is a remote server, running an open source application called Fedora Commons, requires basic authentication to preform a query and accepts input via GET or POST requests with the content of the query being placed in the "query" var. For the sake of this example, we'll say the the endpoint URL I'm attempting to query looks like this:
http://fedoraAdmin:fedoraPW#fedora-server.yoyodyne.com:8080/fedora/risearch?lang=sparql
The query I'm attempting to run works in the Fedora Resource Index Query Service test page and looks like this:
PREFIX fedora: <info:fedora/fedora-system:def/relations-external#>
SELECT ?pid
FROM <#ri>
WHERE {
?pid fedora:isMemberOfCollection <info:fedora/islandora:root>
}
At some point I'd like to replace the identifier of "islandora:root" with a query param, but that's not important at the moment. The result of the above query look something like this:
<sparql>
<head>
<variable name="pid"/>
</head>
<results>
<result>
<pid uri="info:fedora/islandora:sp_basic_image_collection"/>
</result>
<result>
<pid uri="info:fedora/islandora:sp_large_image_collection"/>
</result>
<result>
<pid uri="info:fedora/islandora:70"/>
</result>
<result>
<pid uri="info:fedora/rick:1"/>
</result>
<result>
<pid uri="info:fedora/islandora:419"/>
</result>
<result>
<pid uri="info:fedora/islandora:420"/>
</result>
</results>
</sparql>
Given the above situation and data output, I have created a data service in WSO2 DSS that resembles the following:
<data name="FedoraSPARQL">
<config id="FedoraDEVServer">
<property name="rdf_datasource">http://fedoraAdmin:fedoraPW#fedora-server.yoyodyne.com:8080/fedora/risearch?lang=sparql</property>
</config>
<query id="getMemberOfCollection" useConfig="FedoraDEVServer">
<sparql><![CDATA[PREFIX fedora: <info:fedora/fedora-system:def/relations-external#> SELECT ?pid FROM <#ri> WHERE {?pid fedora:isMemberOfCollection <info:fedora/islandora:root>}]]></sparql>
<result element="results" rowName="result">
<element column="pid" name="pid" xsdType="string"/>
</result>
<param name="targetPID" sqlType="STRING"/>
</query>
<operation name="getMemberOfCollection">
<description>Returns the collection objects under islandora:root</description>
<call-query href="getMemberOfCollection">
<with-param name="targetPID" query-param="targetPID"/>
</call-query>
</operation>
</data>
Currently I'm experiencing a 401 Unauthorized likely due to either a typo or formatting error in the connection string or the fact that WSO2 DSS may not be able to connect to an SPARQL endpoint requiring authentication. My question here is how do I make the above data source work given my current setup? If I can't get authentication working with DSS, I do have the option of bypassing authentication completely if WSO2 DSS were running from another server. Assuming this can be made to work, what change do I need to make to use the "targetPID" query param in place of the "islandora:root" string currently used?
Ah, I think i see the problem with this approach. Wow, I totally misunderstood what a RDF data source operation is supposed to do. Funny how more coffee tends to make things a bit clearer.
When going through the Edit Data Source configuration I see that the property name of "rdf_datasource" in the configuration XML is listed as "RDF File Location" in the data source editor wizard. That make me think that DSS isn't sending any query to the Fedora server as I had hoped but is executing the query (locally) on a pre-existing RDF result it expects to download from the Fedora server.
I guess I need to restructure this as a Web Data Source to get the result I'm expecting.

Inuit TimeActivity Create: The request sent by the client was syntactically incorrect

I am trying to test my ability to import TimeActivity records and even when using the sample Create Request XML for TimeActivity I get an error:
Apache Tomcat/7.0.23 - Error report HTTP Status 400 - type Status reportmessage description The request sent by the client was syntactically incorrect ().Apache Tomcat/7.0.23
below is my sample xml create request (pulled from https://developer.intuit.com/docs/0025_quickbooksapi/0050_data_services/v2/0400_quickbooks_online/timeactivity)
<?xml version="1.0" encoding="utf-8"?>
<TimeActivity xmlns:ns2="http://www.intuit.com/sb/cdm/qbo" xmlns="http://www.intuit.com/sb/cdm/v2">
<TxnDate>2011-08-03-07:00</TxnDate>
<NameOf>Vendor</NameOf>
<Vendor>
<VendorIdidDomain="QBO">3793</VendorId>
</Vendor>
<CustomerId>3794</CustomerId>
<ItemId>3</ItemId>
<ClassId>1</ClassId>
<StartTime>2011-08-30T11:45:00-07:00</StartTime>
<EndTime>2011-08-30T13:15:00-07:00</EndTime>
<Taxable>true</Taxable>
<HourlyRate>10.5</HourlyRate>
<BillableStatus>Billable</BillableStatus>
<Hours>10</Hours>
<Minutes>5</Minutes>
<Description>This is a Description</Description>
</TimeActivity>
What am I doing wrong here?
Sharing a sample TimeActivity create request. Please check other reference attributes like Vendor, Class etc. It should work.
<?xml version="1.0" encoding="utf-8"?>
<TimeActivity xmlns='http://www.intuit.com/sb/cdm/v2'>
<TxnDate>2012-08-30-07:00</TxnDate>
<NameOf>Employee</NameOf>
<Employee>
<EmployeeId>11</EmployeeId>
</Employee>
<CustomerId>2</CustomerId>
<JobId>4</JobId>
<BillableStatus>Billable</BillableStatus>
<HourlyRate>50.0</HourlyRate>
<StartTime>2012-08-30T11:45:00-07:00</StartTime>
<EndTime>2012-08-30T13:15:00-07:00</EndTime>
<Description/>
</TimeActivity>
There should be couple of small changes in the sample request ( We will update the doc )
<?xml version="1.0" encoding="utf-8"?>
<TimeActivity xmlns:ns2="http://www.intuit.com/sb/cdm/qbo" xmlns="http://www.intuit.com/sb/cdm/v2">
<NameOf>Vendor</NameOf>
<Vendor>
<VendorId idDomain="QBO">5</VendorId>
</Vendor>
<CustomerId>2</CustomerId>
<ItemId>3</ItemId>
<Taxable>true</Taxable>
<HourlyRate>10.5</HourlyRate>
<BillableStatus>Billable</BillableStatus>
<Hours>10</Hours>
<Minutes>5</Minutes>
<Description>This is a Description</Description>
</TimeActivity>
First replace all the reference values with the same of your test data.
For ex - VendorId, Class, Item and Customer
There are two bugs in the sample request.
1. There should be a space between 'VendorId' and 'idDomain' ( Ref -5th line of the req )
2. According to the doc, " Either method of indicating duration can be entered, but not both. Hours/Minutes OR StartTime/EndTime is required."
So plz remove any one of these. ( I've removed StartTime/EndTime )
Otherwise you'll get the error which you have mentioned above.
That is - Response code 400, Error msg - TIME_ACTIVITY_MULTIPLE_DURATION_TYPES_PRESENT
Please let us know if the above changes work for you.
I tried the same XML in Api Explorer. It worked fine for me. PFB snapshot. Please check if you are facing any encoding issue.
Please let me know if it works for you.