CFAJAXPROXY - getting JSON data ?
I want to pass JSON formatted data to JavaScript components
(I want to use Yahoo Interface framework) - CFC methods accessed
via CFAJAXPROXY tag automatically return results already converted
to JavaScript so my question is how do I either suppress the
JavaScript conversion or how do I reference the JSON data returned
by the method (which I can see in the debugger).
You should be able to use the SP.WebProxy to make the remote REST call. You will have to list the endpoint in your AppManifest under RemoteEndPoints. You can read more in the link below. The REST call method using jQuery is in the second option.
https://msdn.microsoft.com/en-us/library/office/fp179895.aspx
Blog | SharePoint Field Notes Dev Tools |
SPFastDeploy | SPRemoteAPIExplorer
Similar Messages
-
Hi all,
I have a requirement of reading JSON data from a particular URL and using one of the value to set one property in iView. I need some info on how to get JSON data from a URL and extracting attribute's value from it.
What are the APIs that can be used for this?Can anyone provide a solution/working example in Java for this?
I am working on EP 7.3.Hi Tarun,
JAXB should work for you. Take a look at this example:
JAXB JSON Example | Examples Java Code Geeks
Regards,
Tobias -
DeserializeJSON - is there a limit on the size of the JSON data that can be converted?
I have some valid JSON data that's being converted successfully by DeserializeJSON... until it gets to a certain size, or that's certainly what appears to be happening. The breaking point seems to be somewhere in the neighborhood of 35,000 characters... about 35KB. When the conversion fails, it fails with a "JSON parsing failure: Unexpected end of JSON string" message. And when the conversion fails, the JSON data is deemed to be valid per tools like this one: http://www.freeformatter.com/json-validator.html.
So, is there a limit on the size of the JSON data that can be converted by DeserializeJSON?
Thanks!Thanks Carl.
The JSON is being submitted in its entirety, confirmed by Fiddler. And it's actually being successfully saved to a SQL Server nvarchar(MAX) field too. I can validate that saved JSON.
I'm actually grabbing the JSON to convert directly from the SQL Server, and your comments / thoughts led me down the path of resolution.
Turns out that the JSON was being truncated prior to getting to the DeserializeJSON command, but it was the cfquery pull that was doing the truncating. The fix was to enable "long text retrieval (CLOB)" for this datasource in CF Admin. I'd never run into that before or even knew that this setting existed.
Thanks again for your comments! -
Save the data in the file as json data
Hello,
I need to read data from list / Pictures gallery / Documents and save the returned data in the file as json data .
How Can I Implement that .
ASkTry below:
http://msdn.microsoft.com/en-us/library/office/jj164022%28v=office.15%29.aspx
The code in the following example shows you how to request a JSON representation of all of the lists in a site by using C#. It assumes that you have an OAuth access token that you are storing in the
accessToken variable.
C#
HttpWebRequest endpointRequest = (HttpWebRequest)HttpWebRequest.Create(sharepointUrl.ToString() + "/_api/web/lists");
endpointRequest.Method = "GET";
endpointRequest.Accept = "application/json;odata=verbose";
endpointRequest.Headers.Add("Authorization", "Bearer " + accessToken);
HttpWebResponse endpointResponse = (HttpWebResponse)endpointRequest.GetResponse();
Getting properties that aren't returned with the resource
Many property values are returned when you retrieve a resource, but for some properties, you have to send a
GET request directly to the property endpoint. This is typical of properties that represent SharePoint entities.
The following example shows how to get a property by appending the property name to the resource endpoint. The example gets the value of the
Author property from a File resource.
http://<site url>/_api/web/getfilebyserverrelativeurl('/<folder name>/<file name>')/author
To get the results in JSON format, include an Accept header set to
"application/json;odata=verbose".
If this helped you resolve your issue, please mark it Answered -
Get the date and time from iframe.
Hi,
Am using jdeveloper 11.1.1.6.0., I have used the following iframe source which gets the date and time.
<af:form>
<iframe src="http://free.timeanddate.com/clock/i3xb4nm0/n1722/tt0/tw0/ts1" frameborder="0" width="244" height="19">
</iframe>
</af:form>
I need to get the date and time separately to perform some validation. How can i get it.
regards,
Prasad K T,
9840021070Prasad,
I don't understand your use case. The url you use is a json web service which returns it's result as either xml or json payload. Why do you pretty print this as a web page and try to get to the result this way?
Why don't you get the result directly using the json result or (AFAIK) the java script api which the service also provides. Check the documentation of the service.
From your description I understand that the user enters a time. You need to know if the time is before or after 2:30pm and have to set a 'shift' to A or B.
Where do I need a timeservice in this validation?
From what I see your approach won't work. As I still don't understand the use case I don't know how to help.
Timo -
i have json string which i want to parse in string and add in Array,
also i want to access this value as per field name to display in TextBox.
i have parse the json data in string format but i want to add it in array as per their field name,so that i can access it in textfields.
[{"userid":1,"uname":"andruw","address":"west","city":"london","email":"[email protected]"},
{"userid":2,"uname":"pamela","address":"east","city":"london","email":"[email protected]"},
{"userid":3,"uname":"penny","address":"south","city":"paris","email":"[email protected]"},
{"userid":4,"uname":"jhon","address":"north","city":"zurich","email":"[email protected]"}]Why do you wnat it string in hte first place, now you need to split it to get the info. The honest thing to do is to create a custom class to hold this info and populate the array with objects created from JSON. That way you can easily map data to UI controls.
class Person
userId:int;
uname:String;
address:String;
city:String;
email:String;
My 2 cents,
C -
Accessing data nested inside a JSON data source in Project Siena
Hi all
I'm trying to work with JSON data sources via REST in Project Siena. I can easily set up the JSON data source and get the data into my data sources list. However, the data is nested, so for example a REST request to search returns JSON data that is unpacked
(correctly) as:
search_query > entries > name
I have tried two different REST-based data sources with the same result. I have tried accessing the data a couple of ways: firstly via a Gallery view and secondly just getting a listing with a DropDown.
For this example, I've tried setting the Data items to search_query!entries (and a bunch of other things) with the idea that I could then refer to ThisItem!name and when that failed trying almost everything I could from the function reference
http://siena.blob.core.windows.net/beta/ProjectSienaBetaFunctionReference.html#_Toc373745469
Should this work? It seems like it's an extremely common structure for JSON returned from a RESTful service (top level containing count, pagination, other data and then a set of result details beneath).
Any ideas appreciated. For completeness, the two data sources I've tried are the Box.com Content API (Search and Folders) and the ZenDesk API (Groups).
Cheers.What you get back from the call is essentially a table with a single row--the "entries" column within that row have multiple rows that contain the name data. Try binding First(search_query)!entries to extract the name records.
-
Flash Pro CS6 - Exporting Sprite Sheet With EaselJS JSON Data
Hi,
I've imported a png sequence into Flash Pro and have been trying to get the new sprite sheet generation feature to export JSON data in EaselJS format, but when I choose the EaselJS option from the dropdown menu, I only get a window function:
(function(window) {
}(window));
However, when I export as JSON, I do get proper JSON data. Is this a known issue with EaselJS support in CS6, or should I be doing something differently? I'd rather not use Zoe, the SWF to EaselJS AIR utility, because the pngs are fairly large and Zoe seems to have a maximum dimention cap for exporting sprite sheets, I get 12 of them whereas Flash Pro is able to auto detect dimentions, exporting one sprite sheet, which is great, I just need to get it to generate the EaselJS data along with it. Thanks in advance!Thanks, I was just about to convert the JSON file myself, then I read your reply, tried it and viola. Do you happen to know why EaselJS can only read symbols, even if I labeled my frames?
-
C# Parsing JSON data within Mobile project OR via Controller Issue
When I invoke the following to a custom controller to return data to my client (Windows Phone 8.1 app):
var _lines = await App.MobileService.InvokeApiAsync<List<Tfl.Api.Presentation.Entities.Line>>("lines", System.Net.Http.HttpMethod.Get, new Dictionary<string, string>
{"url", "http://api.tfl.gov.uk/Line"}
I received the following Exception:-
FileNotFoundException was caught
Could not load file or assembly 'System.Runtime.Serialization,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one
of its dependencies. The system cannot find the file specified.
However, I successfully parse the JSON data via the controller [I did have an image here displaying the data, but not enough rep to post!] and I also have no references to the above dll in my Windows Phone application.
Any ideas?
Note: Occurs using either local parsing within the mobile app or via controllers in a service app; also running VS Ultimate 2013 with Update 4Hi James,
The data is deserializing using System.Runtime.Serialization 4.0.0.0 on the client side (which is targeting .NET 4.5). I am using a third party DLL found here (api.tfl.gov.uk) which contains all of the data transfer objects required to map the data from
the JSON into an object structure.
I have tested this DLL also within a console application and runs as expected, deserializing and mapping data etc; could the issue be that the DLL I'm using containing DataContract and DataMember annotations cannot be used as a reference within the Windows
Phone 8.1 app?
I say this because I have a solution whereby I 'copy' the DTO modes in the DLL into plain models using the same code (minus Serialization annotations) and the JSON then is able to deserialize and map to those in the phone.
So the solution are present is to create my own models, however if you've any other ideas/workarounds that would be great to know in the future where I can just reference the third party DLL.
Thanks for the response!
--David -
How to Analyze and make reporting for JSON data on DocumentDB
I have Twitter and Facebook data and I would like to store them on DocumentDB.
Traditionally thinking data would be made Flat on File or Relation DB and then analyzed, but I would like to understand what is best way.
What is best way to bring DocumentDB data to SSAS Tabular model? Or is there any better tools?
Kenny_IHi Kenny_I
I take that you would like to perform aggregations and push the refined data to SSAS. One option is to leverage SSIS to transform DocumentDB Data and push it to SSAS. In SSIS, you can use the Script component to
connect to DocumentDB via the .net SDK and get the data back from DocumentDB as Source. From there, you can then transform JSON to tabular format you need and push it to a SSAS destination. Is SSAS
a requirement in your implementation? If not, another option is to leverage Hadoop to perform your aggregation & analytics then push the refined data back to DocumentDB. We provide a DocumentDB-Hadoop
connector that allows you load DocumentDB data to Azure HDInsight for Map/Reduce jobs. For more information, please visit http://azure.microsoft.com/en-us/documentation/articles/documentdb-run-hadoop-with-hdinsight/
Thanks,
Han -
How to get activity data by Bulk APIs v2.0?
Hi all,
I have completed to get Account data by Bulk APIs v2.0. (create an export for Account and then create a Sync for this export)
But when trying to use the integration to work for Activity data, I always get Error status of Sync.
So, could you please show me any suggestions for this issue?
Is there any option different between exports of Account and Activity?
Thanks,
Biao
PS: I find an example to request activity data:
POST https://<host>.eloqua.com/api/bulk/2.0/activities/exports
"name":"Example Activity Export",
"fields":{
"ActivityId":"{{Activity.Id}}",
"AssetName":"{{Activity.Asset.Name}}",
"ActivityType":"{{Activity.Type}}",
"Id":"{{Activity.Id}}",
"ActivityDate":"{{Activity.CreatedAt}}",
"EmailAddress":"{{Activity.Field(EmailAddress)}}",
"ContactId":"{{Activity.Contact.Id}}",
"VisitorId":"{{Activity.Visitor.Id}}",
"AssetType":"{{Activity.Asset.Type}}",
"AssetId":"{{Activity.Asset.Id}}",
"RawData":"{{Activity.Field(RawData)}}"
"filter":"’{{Activity.Type}}’=’FormSubmit’"
I get error status of Sync for this export. But when I remove the 'Id' and 'RawData' fields, I get success.
I guess that there are some roles of the field settings, e.g. one statement should not appear more than once, and so on.
So, where could I find the roles? Or is there an API could return the valid field list?
Thank you very much.Hi Biao,
I am able to pull the data for Activity Export for Type Form Submit.
I am adding details below :
1) Create Activity Export Structure
URL : https://www02.secure.eloqua.com/API/Bulk/2.0/activities/exports
Input JSON : {"name":"Bulk Activity Export","dataRetentionDuration":"PT1H","fields":{"activityId":"{{Activity.Id}}","assetId":"{{Activity.Asset.Id}}","activityType":"{{Activity.Type}}","activityDate":"{{Activity.CreatedAt}}","contactId":"{{Activity.Contact.Id}}","visitorId":"{{Activity.Visitor.Id}}","visitorExternalId":"{{Activity.Visitor.ExternalId}}","assetType":"{{Activity.Asset.Type}}","assetName":"{{Activity.Asset.Name}}","rawData":"{{Activity.Field(RawData)}}"},"filter":"'{{Activity.Type}}'='FormSubmit' and '{{Activity.CreatedAt}}'>='2013-06-01' and '{{Activity.CreatedAt}}'<='2013-06-30'"}
Status Code : 201
Output JSON : {"name":"Bulk Activity Export","fields":{"activityId":"{{Activity.Id}}","assetId":"{{Activity.Asset.Id}}","activityType":"{{Activity.Type}}","activityDate":"{{Activity.CreatedAt}}","contactId":"{{Activity.Contact.Id}}","visitorId":"{{Activity.Visitor.Id}}","visitorExternalId":"{{Activity.Visitor.ExternalId}}","assetType":"{{Activity.Asset.Type}}","assetName":"{{Activity.Asset.Name}}","rawData":"{{Activity.Field(RawData)}}"},"filter":"'{{Activity.Type}}'='FormSubmit' and '{{Activity.CreatedAt}}'>='2013-06-01' and '{{Activity.CreatedAt}}'<='2013-06-30'","dataRetentionDuration":"PT1H","uri":"/activities/exports/74","createdBy":"CXDELQ.API","createdAt":"2014-11-03T09:40:00.9397930Z","updatedBy":"CXDELQ.API","updatedAt":"2014-11-03T09:40:00.9397930Z"}
2) Create Sync with status pending
URL : https://www02.secure.eloqua.com/API/Bulk/2.0/syncs
Input JSON : {"syncedInstanceUri":"/activities/exports/74","status":"pending"}
Status Code : 201
Output JSON : {"syncedInstanceUri":"/activities/exports/74","status":"pending","createdAt":"2014-11-03T09:41:18.2503138Z","createdBy":"CXDELQ.API","uri":"/syncs/90640"}
3) Get sync Result
URL : https://www02.secure.eloqua.com/API/Bulk/2.0/syncs/90640
Status Code : 200
Output JSON : {"syncedInstanceUri":"/activities/exports/74","syncStartedAt":"2014-11-03T09:41:20.6670000Z","syncEndedAt":"2014-11-03T09:41:23.1970000Z","status":"success","createdAt":"2014-11-03T09:41:18.1670000Z","createdBy":"CXDELQ.API","uri":"/syncs/90640"}
4) Get the data from API
URL : https://www02.secure.eloqua.com/API/Bulk/2.0/activities/exports/74/data?limit=1000&offset=0&count=1&depth=complete
Output JSON : "Output is high voulme, am not attaching here".
Please let me know is this will help you to reolve the issue.
Thanks,
Deepak Chincholi -
Need to retrieve JSON data in asc file
Hi everyone,
In an asc file, I am trying to retrieve some data from a server that uses JSON as its exchange format each time someone connects to a specific application. ( I can't control the exchange format)
To do that I send a POST using the sendAndLoad method of a LoadVars Object.
So far I only managed to get the HTTP header. The target object from the sendAndLoad method seems to be empty .
The response format from the server is like this :
{"result":{"uid":"24947431041778945007157724608309","sid":"2082506819603055982775876268396 7"}} (I got it by doing a POST with cURL)
Since the data doesn't have the "attribute=value&attribute2=value2..." format, I think I will not be able to get them.
Does anyone know if it is possible to first get and then parse these data using either ServerSide ActionScript's API
or another good method .To make it easier to understand.
I try to retrieve data using the sendandload() method of a Loadvars Object
First question :
Is it a problem if the response data does not look like this : "attribute=value&attribute2=value2..." (it looks like this : {"result":{"uid":"24947431041778945007157724608309","sid":"20825068196 030559827758762683967"}} )
Second Question :
If it is not possible to get the data this way, would it be a good idea to do a Php script to retrieve the data and then format it ? -
SAP UI Table and escaped JSON data
Hi,
There is table which is bound to a JSON data.
I'm getting the JSON data via ajax call. Some of the data in the JSON is escaped.
But, i'm loading the table data via Table.bindRows() API. This shows the data in the escaped format. I want to show it in the unescaped format
=========================== Representative code =================================
oControl = new sap.ui.commons.TextField().bindProperty("value","Token").setEditable(false);
oMasterTbl.addColumn(new sap.ui.table.Column({
label : new sap.ui.commons.Label({
text : "MYDATA"
template : oControl,
sortProperty : "mydata",
filterProperty : "mydata",
width : "50%"
function onBody() {
var aUrl = '../services/MyCustom.xsjs;
jQuery.ajax({
url: aUrl,
method: 'GET',
dataType: 'json',
success: this.onCompleteBody
function onCompleteBody(myTxt){
oModel.setData({ businessData : myTxt });
oMasterTbl.bindRows("/businessData/MyData");
oMasterTbl.setModel(oModel);
oMasterTbl.invalidate();
=========================== End Representative code ==============================
Tried oModel.setData({ businessData : unescape(myTxt) });
This invalidates the JSON and the table data is empty.
How and where do i unescape the relevant data ?
I know that the value in the field may be escaped. How do i unescape the data from the model ?
regards,
sreeramHello,
The below code snipped worked
function onCompleteBody(myTxt){
oModel.setData({ businessData : myTxt });
oMasterTbl.bindRows("/businessData/MyData");
oMasterTbl.setModel(oModel);
var nrows = oModel.getProperty("/businessData/MyData");
var cntxt, len, i;
len = nrows.length;
for (i=0; i<len; i++) {
cntxt = oMasterTbl.getContextByIndex(i);
tkn = cntxt.getProperty("mydata");
tkn = unescape(tkn);
oModel.setProperty("mydata", tkn, cntxt);
oMasterTbl.setModel(oModel);
oMasterTbl.invalidate(); -
I am receiving the JSON data from Delicious perfectly however
when I got to target it using jsonObj.Delicious.posts all I get
returned is undefined. However, if I simply trace jsonObj I can see
that it is working properly. What am I missing?BINGO !
works like a charm
I used this at compReady. Loads all the animated thumbnails with image, jersey number and full name.
$.getJSON('images/profiles.json', function(json)
sym.getComposition().getStage().setVariable('data', eval(json));
var data = sym.getComposition().getStage().getVariable('data');
for ( i = 1 ; i < 17; i++){
sym.getSymbol("thumb"+[i]).$("thumb1").css("background-image","url("+data.player[i].thumb +")");
sym.getSymbol("thumb"+[i]).$("j_num").html(data.player[i].j_num);
sym.getSymbol("thumb"+[i]).$("p_name").html((data.player[i].f_name)+"<br>"+(data.player[i ].l_name));
sym.$("Stage").css({"margin-left":"auto","margin-right":"auto"});
and this on all the "display on click" profile sheets. Right now just gets the larger player pic but will get all the other "fields" also when complete
var i = 1 // this var identifies the player
var data = sym.getComposition().getStage().getVariable('data');
sym.$("player_image").css("background-image","url("+data.player[i].image+")");
sym.play("profile" + [i]);
Works perfect. Now I just have to add all the other fields to the profile sheets and presto...
thanks again
Joel -
Populating JSON Data to Combobox - Need Help!
Hello,
I am trying to use a dynamicly created JSON comming from a webservice to populate comboboxes. I am really new to Flex and ActionScript 3.0.
The problem what i have here is that my combobox stays empty. I am trying to fill it with all values from "key" (representing the manufacturers)
Here´s my Code so far:
[CODE]<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*" layout="absolute"
creationComplete="service.send(params)" xmlns:s="library://ns.adobe.com/flex/spark">
<mx:Script>
<![CDATA[
import com.adobe.serialization.json.JSON;
import mx.collections.ArrayCollection;
import mx.rpc.events.ResultEvent;
public var myURL:String = "http://dev.ws.topdata.de/data/tdifdata.php?";
public var params:Object = {Lookup: "DeviceManufacturerId"};
private function onJSONLoad(event:ResultEvent):void
//get the raw JSON data and cast to String
var rawData:String = String(event.result);
//decode the data to ActionScript using the JSON API
//in this case, the JSON data is a serialize Array of Objects.
var arr:Array = (JSON.decode(rawData) as Array);
//create a new ArrayCollection passing the de-serialized Array
//ArrayCollections work better as DataProviders, as they can
//be watched for changes.
var dp:ArrayCollection = new ArrayCollection(arr);
//pass the ArrayCollection to the Combobox as its dataProvider.
dropdown.dataProvider = dp;
trace(rawData);
]]>
</mx:Script>
<mx:HTTPService id="service" method="GET" resultFormat="text" url="{myURL}" result="onJSONLoad(event)">
</mx:HTTPService>
<s:ComboBox x="26" y="33" labelField="key" id="dropdown"/>
</mx:Application>[/CODE]
trace(rawData); returns something like
[CODE]"1607":
"key": "Xitan",
"value": "2283",
"isPremium": "0"
"1608":
"key": "Xitron",
"value": "2284",
"isPremium": "0"
"1609": [/CODE]
Now i´ve tried to bind this dataProvider for my first combobox listing all items with the value from "key" but my combobox stays blank/empty....I tried the following now and it says "can´t convert obect@... to Array" maybe there is something wrong with the JSON outout from the webservice? But the JSON from the webservice validates, however if i test it with a small own JSON file locally it works...
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute"
minWidth="955" minHeight="600"
applicationComplete="init()"
frameRate="30">
<mx:Script>
<![CDATA[
import com.adobe.serialization.json.JSON;
// var ini
private var filePath:String = "http://dev.ws.topdata.de/data/tdifdata.php?Lookup=DeviceManufacturerId";
private var urlLoader:URLLoader;
private var jsonDataArray:Array;
private function init():void
// Add event listener for button click
btn.addEventListener(MouseEvent.CLICK,loadJSONFile);
private function loadJSONFile(e:MouseEvent=null):void
// Load file
urlLoader = new URLLoader();
urlLoader.addEventListener(Event.COMPLETE, fileLoaded,false,0,true);
//urlLoader.addEventListener(IOErrorEvent.IO_ERROR, fileLoadFailed);
urlLoader.load(new URLRequest(filePath));
private function fileLoaded(e:Event):void
// Clean up file load event listeners
urlLoader.removeEventListener(Event.COMPLETE, fileLoaded);
// If you wanted to get the data from the event use the line below
//var urlLoader:URLLoader = URLLoader(event.target);
// Parse the file to an array
jsonDataArray = JSON.decode(urlLoader.data);
trace(jsonDataArray);
// Proceed to do something with the loaded data
proceed();
private function proceed():void
// Retrieve data tests
trace("jsonDataArray[0].name = " + jsonDataArray[0].name);
// Populate data grid with our JSON Data
dg.dataProvider = jsonDataArray;
]]>
</mx:Script>
<mx:DataGrid horizontalCenter="0" top="100" id="dg" width="400" height="200">
<mx:columns>
<mx:DataGridColumn headerText="Key" dataField="key"/>
<mx:DataGridColumn headerText="Value" dataField="value"/>
</mx:columns>
</mx:DataGrid>
<mx:Label text="An example of parsing JSON using AS3Corelib" color="#FFFFFF" fontWeight="bold" left="10" top="10" fontSize="14"/>
<mx:Button label="PARSE DATA INTO DATA GRID" horizontalCenter="0" top="70" width="400" id="btn"/>
</mx:Application>
Maybe you are looking for
-
Sharing between two accounts on the same Windows Vista PC
Is it possible to home share between two different accounts on the same computer? On my son's account, iTunes for some reason won't connect to the iTunes Store. So I would like to enable him to purchase stuff on my account and then use home share to
-
How to change backend databases sql server 2008 R2 to Sql server 2012 datacenter
Hi i have current sharepoint 2010 form has backend database is sql server 2008 R2 on windows server 2008 R2 Enterprise and this form has 1 application server 1 Search server (index server) 1 wfe server ( all web applications are running) 1 databse se
-
Stream from IMac to Samsung Blu Ray?
Is it possible to watch movies on my Samsung Blu Ray from my IMac? If so, what is the easiest way to do it?
-
Where to get license key for SAP Netweaver ABAP 7.01 trail version?
Hi All, I installed SAP Netweaver ABAP 7.01 trail version on my PC but I don't know where to get the license key and how to install it. Please guide me.
-
Hi, I have the following query to retrieve attachment data for complete HR workflows: select distinct paa.assignment_number , pap2.full_name selected_person , pap.full_name created_by , fad_l.creation_date attachment_creation_date ,