GUID in CRM Online for Objects in ISA b2c Application
Hi All
I am trying to find GUID for Some Objects Like Saved Basket Entries in CRM Online throgh Internet Sales 4.0
<b>Scenario b2c</b>.
Can Anybody Guide !!!!!!
Thanks & Regards
Ravi Sah
<i>Hi Roman
Thank you for your attention.
I needed to Find where Exactly Saved Basket( In Shopping Basket Module: <b><b>Save Basket as</b> Functionality</b>) is Stored in CRM . So I tried with Logging & Tracing to get the Function Module( which in turn contain the export tables ) needed to save those type of Basket Only.
But coudnt find Exact One as it wasnot relavent.
So by Stephen's Help i could know the Function Module as <b>CRM_ISA_BASKET_SAVE</b> but the Export Parametrs which it corrosponds , even there i could not find where those Basket Object is saved.
So Last Option i had that if by some means , if i can get some method to get the GUID of the Entity of Saved Basket. We can Search the Exact Location .
So I need ur Help in these Context can u help me !!!!!
Thanks & regards
Ravi Sah</i>
Similar Messages
-
Installing CRM Online for Outlook with multiple profiles
For a number of reasons I have had to create multiple profiles in Outlook. I also have a Microsoft CRM account. Up to this point I have been able to successfully install and use CRM for Outlook on my previous profiles. However, when the last profile was
created the CRM for Outlook functionality did not install. / transfer. I have tried uninstalling the CRM for Outlook and reinstalling. No luck it only crashed an old profile which appears now to be inoperable. It is essential that I get the latest Profile
working the CRM for Outlook Any suggestions?Hi,
As per the description, I understand that it's an issue about CRM Online for Outlook.
This is the forum to discuss questions and feedback for Microsoft Office client. To get better assistance, I would suggest you to post in
Microsoft Dynamics CRM Forum, where you can get more experienced responses:
https://community.dynamics.com/crm/f/117.aspx
The reason why we recommend posting appropriately is you will get the most qualified pool of respondents, and other partners who read the forums regularly can either share their knowledge or learn from your interaction with us. Thank you for your understanding.
Regards,
Ethan Hua
TechNet Community Support
It's recommended to download and install
Configuration Analyzer Tool (OffCAT), which is developed by Microsoft Support teams. Once the tool is installed, you can run it at any time to scan for hundreds of known issues in Office
programs. -
ABAP debugging in CRM ISA B2C application
Hi gurus !
I need to debug FM 'CRM_ISA_BASKET_ORDER' to monitor some values in a CRM ISA 4.0 B2C application. The FM is stateful and I have set the necessary parameters in modification-config.xml file. However, when running the CRM ISA 4.0 B2C application from a remote client, I do not get the SAPGUI popping up as given in the SAP_ISA4DevExtG10.pdf documentation. Have I missed any setting ? Is there anything else that I need to complete to get the SAPGUI to popup to debug the FM ?
Cheers,
Ashok.- Did you set an external break point or just a session break point?
- Did you set the RFC-user in SAPGUI as debug user? Utilities -> Settings -> ABAP Editor -> Debugging -> External Debugging: Here should be the RFC user of the B2C application.
Florian -
Help for Calling RFC in B2C application.
hi,
We had written one RFC and all java classes related to that.
we are able to call RFC in b2c application.we are calling RFC on loading of JSP.
now my requirement is to call same RFC in other JSP but muliple times(in a for loop).But how can i do that?
one thing is sure we cannot calll this RFC on loading of new jsp page.we have to call inside jsp page(in a loop).
there is any way?
please help me out.
thanks in advance.
jayesh talrejaTwo things I would like to say here:
1) Calling RFCs directly from JSP is not supported so we need to use interfaces and backend classes.
2) Calling an rfc is java code and in jsp we write java code along with html to make it dynamic...so dynamic
call is also possible.
ie. suppose we want to call our rfc for fetching some data from the backend based on the data entered at item level once the user clicks on update button on order creation page.So we can write the code like below
<%-- messages --%>
<%@ include file="/b2b/itemErrMsg.inc.jsp"%>
<% } %>
<%-- ui.showItemDetailButton() --%>
<% } %>
<%-- ui.isBOMSubItemToBeSuppressed() --%>
<%--Start of addition by Arshid --%>
<!-- From here our custom rfc call is starting-->
<%
String arg1[]= {"crm~isa~isacore~resources_en"};
if((JspUtil.removeNull(item.getProduct()).length()) !=0 && !(JspUtil.removeNull(item.getNetValue()).equals(WebUtil.translate(pageContext,"yourcompany.order.minimumValue",arg1))) )
String baseUOM = "";
int enteredQuan= 0;
double minOrderQuan = 0.00;
double roundingValue = 0.00;
BusinessObjectManager isaBOM = (BusinessObjectManager)userSessionData.getBOM(BusinessObjectManager.ISACORE_BOM);
User user = (User)isaBOM.getUser();
Shop shop = (Shop)isaBOM.getShop();
String distrChannel = shop.getDistributionChannel();
String sod = shop.getSalesOrganisation();
Z_CustomBusinessObjectManager customBOM = (Z_CustomBusinessObjectManager)userSessionData.getBOM(Z_CustomBusinessObjectManager.CUSTOM_BOM);
//Z_prodInfoValue is a bo that will hold the data returned from rfc call
Z_prodInfoValue z_prodinfo = customBOM.getZ_prodInfobo().getProdInfo(Zeropadding.productInfoNoPadding(item.getProduct()), sod, distrChannel);
<!-- Call ends here and this piece of code is called for every item on clicking on update buton -->
Although this is not a good code design as instead of making multiple calls to the backend we can get the above thing done in a single call also.I wrote this code just to give an example .
This clearky proves we can have dynamic calls to the backend through jsps also.
But Jayesh, your question is not very clear to me.
If its about for loop, where you want to call the backend for multiple times with different set of values than i would rather suggest you to create lists of these different datasets and send these in a single call to the backend and fetch the data similarily in tables in a single call.
Regards,
Arshi -
I tRounding the Total Scores for Objectives and Competencies in Application
Hello
Where does one change the format of the total scores for the Overall Ratings and Comments - Objectives and Competencies in the front end /application?
Currently the total scores are in the format Objectives: Total Score 3.375
Competencies Total Score 2.69230769230769
HR want to show the Total Scores as rounded to 2 decimal places in the application so 3.375 becomes 3.38 and
2.69230769230769 becomes 2.70
Now i know how to do this in Toad using a select on the TOTAL_SCORE column in the hr.per_assessments table, but this is not i want to do here. Here i want to change the format in the FRONT END, not in the back end.
I tried the fast formulas but they dont seem to work unless i am missing something
Edited by: iandekoker on Apr 2, 2009 2:53 PMin case anyone wondered you use the package called apps.hr_appraisals_util_ss. Inside the package you can add round(,2) to obtain the result
-
Rounding the Total Scores for Objectives and Competencies in application
Hello
Where does one change the format of the total scores for the Overall Ratings and Comments in the front end /application?
Currently the total scores are in the format Objectives: Total Score 3.375
Competencies Total Score 2.69230769230769
HR want to show the Total Scores as rounded to 2 decimal places in the application so 3.375 becomes 3.38 and
2.69230769230769 becomes 2.70in case anyone wondered you use the package called apps.hr_appraisals_util_ss. Inside the package you can add round(,2) to obtain the result
-
Hi,
I have created a User Access report for CRM on-premise using SQl query in the following format. One row corresponds to one user in organization. Currently, I am using Microsoft Dynamics CRM Online trial version and have two users in my organization.
I want to the same report for CRM Online environment. Only Fetch-Xml based custom reports are supported by CRM online environment hence this SQL query cannot be used.
I have already written fetch-xml query to retrieve user access records ("audit" entity records) in "last-x-months" (where x = 1,2,3,4,5,6) as below.
I am able to retrieve the records with "last-x-months" condition at a time, for example, the last-2-months in my fetch-xml query only.
For, example, when I retrieve the records in the last-2-months, it also includes the records in the last month. I want to count the records in the 2nd month only that is the difference between these two. The difference will be my 2nd column.
Similarly, I want the other columns.
For the case in the above example, I have created the two separate datasets to get the record-count for the last month and last-2-months. But, I am not able to use the two datasets in the same table in my report and hence not able to calculate the difference.
Is there any way to solve this problem?Hi,
I have modified my Fetch-XML query to retrieve all the required User Access records and removed aggregation and counting and grouping from the query as well. Did grouping and counting in SSRS. Now the report works fine as shown in the above picture. -
Tracking status in CRM-online of MUP in error for MSA clients
Hi,
We are using the Upgrade console to distribute MSA application updates via the middleware.
When these are in error, a status entry and log file errors are put back into the CRM-online tables SMOGSYSMP and SMOGSYSMON.
Has anyone written any ABAP's to interpret these tables into a more readable format?
Thanks,
GrahamHi Simran08,
According to your description, you fail to add your report to CRM due to the custom code. Right?
In this scenario, based on my knowledge, I find two issues in your custom code.
You pass the array Items as argument to the function. This array is from the LookupSet() function. However, it returns an concatenated string with commas. When you convert it into decimal, it will throw error.
In your For Each loop part, we should follow the format below:
For Each element In group
[statements]
[Exit For]
[statements]
Next [element]
It seems you miss Item after Next.
If you still have any question, please feel free to ask.
Best Regards,
Simon Hou -
Hi,
I am using CRM ONLINE 2013.
How to automate below process?
1. On Approval Of Quotation, Run Report.
2. Generate PDF.
3. Send an Email With PDF as attachment.
As i have gone through many forums for this topic, but creating a plugin code for generating Report PDF is not possible in CRM ONLINE.
So, What is the alternate way to do this..?
Thanks.This is my entire code mentioned below:-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
<script type="text/javascript">
if (typeof (SDK) == "undefined")
{ SDK = { __namespace: true }; }
SDK.JScriptRESTDataOperations = {
_context: function () {
if (typeof GetGlobalContext != "undefined")
{ return GetGlobalContext(); }
else {
if (typeof Xrm != "undefined") {
return Xrm.Page.context;
else { return new Error("Context is not available."); }
_getServerUrl: function () {
var serverUrl = this._context().getServerUrl()
if (serverUrl.match(/\/$/)) {
serverUrl = serverUrl.substring(0, serverUrl.length - 1);
return serverUrl;
_ODataPath: function () {
return this._getServerUrl() + "/XRMServices/2011/OrganizationData.svc/";
_errorHandler: function (req) {
return new Error("Error : " +
req.status + ": " +
req.statusText + ": " +
JSON.parse(req.responseText).error.message.value);
_dateReviver: function (key, value) {
var a;
if (typeof value === 'string') {
a = /Date\(([-+]?\d+)\)/.exec(value);
if (a) {
return new Date(parseInt(value.replace("/Date(", "").replace(")/", ""), 10));
return value;
Create: function (object, type, successCallback, errorCallback) {
var req = new XMLHttpRequest();
req.open("POST", this._ODataPath() + type + "Set", true);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.onreadystatechange = function () {
if (this.readyState == 4 /* complete */) {
if (this.status == 201) {
successCallback(JSON.parse(this.responseText, SDK.JScriptRESTDataOperations._dateReviver).d);
else {
errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
req.send(JSON.stringify(object));
Retrieve: function (id, type, successCallback, errorCallback) {
var req = new XMLHttpRequest();
req.open("GET", this._ODataPath() + type + "Set(guid'" + id + "')", true);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.onreadystatechange = function () {
if (this.readyState == 4 /* complete */) {
if (this.status == 200) {
successCallback(JSON.parse(this.responseText, SDK.JScriptRESTDataOperations._dateReviver).d);
else {
errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
req.send();
Update: function (id, object, type, successCallback, errorCallback) {
var req = new XMLHttpRequest();
req.open("POST", this._ODataPath() + type + "Set(guid'" + id + "')", true);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.setRequestHeader("X-HTTP-Method", "MERGE");
req.onreadystatechange = function () {
if (this.readyState == 4 /* complete */) {
if (this.status == 204 || this.status == 1223) {
successCallback();
else {
errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
req.send(JSON.stringify(object));
Delete: function (id, type, successCallback, errorCallback) {
var req = new XMLHttpRequest();
req.open("POST", this._ODataPath() + type + "Set(guid'" + id + "')", true);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.setRequestHeader("X-HTTP-Method", "DELETE");
req.onreadystatechange = function () {
if (this.readyState == 4 /* complete */) {
if (this.status == 204 || this.status == 1223) {
successCallback();
else {
errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
req.send();
RetrieveMultiple: function (type, filter, successCallback, errorCallback) {
if (filter != null) {
filter = "?" + filter;
else { filter = ""; }
var req = new XMLHttpRequest();
req.open("GET", this._ODataPath() + type + "Set" + filter, true);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.onreadystatechange = function () {
if (this.readyState == 4 /* complete */) {
if (this.status == 200) {
successCallback(JSON.parse(this.responseText, SDK.JScriptRESTDataOperations._dateReviver).d.results);
else {
errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
req.send();
__namespace: true
</script>
<script type="text/javascript">
//Create Email and link it with Order as Regarding field
var Xrm;
var email = new Object();
var ownerID = "";
var CustomerId = "";
if (window.opener) { Xrm = window.opener.Xrm; }
else if (window.parent) { Xrm = window.parent.Xrm; }
//Get ownerid who send email of quotation to customer
function GetOwnerID() {
var owner = Xrm.Page.getAttribute("ownerid").getValue();
ownerID = owner[0].id;
var ownerName = owner[0].name;
var entityType = owner[0].entityType;
GetToEmailGUID();
//Get customerid who receive email of quotation from owner
function GetToEmailGUID() {
var Customer = Xrm.Page.getAttribute('customerid').getValue();
CustomerId = Customer[0].id;
var CustomerName = Customer[0].name;
var entityType = Customer[0].entityType;
//if CustomerId is type of "Account" then get Primary Contact id of that account
if (entityType == "account") {
var contact = Xrm.Page.getAttribute("customerid").getValue();
if (contact === null) return;
var serverUrl = Xrm.Page.context.getClientUrl();
var oDataSelect = serverUrl + "/XRMServices/2011/OrganizationData.svc/AccountSet(guid'" + contact[0].id + "')?$select=PrimaryContactId";
var req = new XMLHttpRequest();
req.open("GET", oDataSelect, false);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json;charset=utf-8");
req.onreadystatechange = function () {
if (req.readyState === 4) {
if (req.status === 200) {
var retrieved = JSON.parse(req.responseText).d;
CustomerId = retrieved.PrimaryContactId.Id;
else {
alert(this.statusText);
req.send();
function CreateEmail() {
GetOwnerID();
email.Subject = "Email with Report Attachment";
//Set The current order as the Regarding object
email.RegardingObjectId = {
Id: Xrm.Page.data.entity.getId(), //Get the current entity Id , here OrderId
LogicalName: Xrm.Page.data.entity.getEntityName()//Get the current entity name, here it will be “salesOrder”
//Create Email Activity
SDK.JScriptRESTDataOperations.Create(email, "Email", EmailCallBack, function (error) { alert(error.message); });
// Email Call Back function
function EmailCallBack(result) {
email = result; // Set the email to result to use it later in email attachment for retrieving activity Id
var activityPartyFrom = new Object();
// Set the From party of the ActivityParty to relate an entity with Email From field
activityPartyFrom.PartyId = {
Id: CustomerId, //"79EBDD26-FDBE-E311-8986-D89D6765B238", // id of entity you want to associate this activity with.
LogicalName: "contact"
// Set the "activity" of the ActivityParty
activityPartyFrom.ActivityId = {
Id: result.ActivityId,
LogicalName: "email"
// Now set the participation type that describes the role of the party on the activity).
activityPartyFrom.ParticipationTypeMask = { Value: 2 }; // 2 means ToRecipients
// Create the from ActivityParty for the email
SDK.JScriptRESTDataOperations.Create(activityPartyFrom, "ActivityParty", ActivityPartyFromCallBack, function (error) { alert(error.message); });
var activityPartyTo = new Object();
// Set the From party of the ActivityParty to relate an entity with Email From field
activityPartyTo.PartyId = {
Id: ownerID, //"79EBDD26-FDBE-E311-8986-D89D6765B238", // id of entity you want to associate this activity with.
LogicalName: "systemuser"
// Set the "activity" of the ActivityParty
activityPartyTo.ActivityId = {
Id: result.ActivityId,
LogicalName: "email"
// Now set the participation type that describes the role of the party on the activity).
activityPartyTo.ParticipationTypeMask = { Value: 1 }; // 1 means Sender
// Create the from ActivityParty
SDK.JScriptRESTDataOperations.Create(activityPartyTo, "ActivityParty", ActivityPartyToCallBack, function (error) { alert(error.message); });
//ActivityParty From Callback
function ActivityPartyFromCallBack(result) {
//ActivityParty To Callback
function ActivityPartyToCallBack(result) {
GetReportId('ABM_Infotech_SalesQuote');
//Create attachment for the created email
function CreateEmailAttachment() {
//get reporting session and use the params to convert a report in PDF
var params = getReportingSession();
//Email attachment parameters
var activitymimeattachment = Object();
activitymimeattachment.ObjectId = Object();
activitymimeattachment.ObjectId.LogicalName = "email";
activitymimeattachment.ObjectId.Id = email.ActivityId;
activitymimeattachment.ObjectTypeCode = "email",
activitymimeattachment.Subject = "File Attachment";
activitymimeattachment.Body = encodePdf(params);
activitymimeattachment.FileName = "Report1.pdf";
activitymimeattachment.MimeType = "application/pdf";
//Attachment call
SDK.JScriptRESTDataOperations.Create(activitymimeattachment, "ActivityMimeAttachment", ActivityMimeAttachmentCallBack, function (error) { alert(error.message); });
//ActivityMimeAttachment CallBack function
function ActivityMimeAttachmentCallBack(result) {
var features = "location=no,menubar=no,status=no,toolbar=no,resizable=yes";
var width = "800px";
var height = "600px";
window.open(Xrm.Page.context.getServerUrl() + "main.aspx?etc=" + 4202 + "&pagetype=entityrecord&id=" + email.ActivityId, "_blank", features);
// To open window which works in outlook and IE both
//openStdWin(Xrm.Page.context.getServerUrl() + "main.aspx?etc=" + 4202 + "&pagetype=entityrecord&id=" + email.ActivityId, "_blank", width,
height, features);
//This method will get the reportId based on a report name that will be used in getReportingSession() function
function GetReportId(reportName) {
var oDataSetName = "ReportSet";
var columns = "ReportId";
var filter = "Name eq '" + reportName + "'";
retrieveMultiple(oDataSetName, columns, filter, onSuccess);
function retrieveMultiple(odataSetName, select, filter, successCallback) {
var serverUrl = Xrm.Page.context.getServerUrl();
var ODATA_ENDPOINT = "/XRMServices/2011/OrganizationData.svc";
var odataUri = serverUrl + ODATA_ENDPOINT + "/" + odataSetName + "?";
if (select) {
odataUri += "$select=" + select + "&";
if (filter) {
odataUri += "$filter=" + filter;
$.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
datatype: "json",
url: odataUri,
beforeSend: function (XMLHttpRequest) {
XMLHttpRequest.setRequestHeader("Accept", "application/json");
success: function (data) {
if (successCallback) {
if (data && data.d && data.d.results) {
successCallback(data.d.results);
else if (data && data.d) {
successCallback(data.d);
else {
successCallback(data);
error: function (XmlHttpRequest, errorThrown) {
if (XmlHttpRequest && XmlHttpRequest.responseText) {
alert("Error while retrieval ; Error – " + XmlHttpRequest.responseText);
function onSuccess(data) {
reportId = data[0].ReportId.replace('{', ").replace('}', ");
CreateEmailAttachment(); // Create Email Attachment
//Gets the report contents
function getReportingSession() {
var pth = Xrm.Page.context.getServerUrl() + "/CRMReports/rsviewer/reportviewer.aspx";
var retrieveEntityReq = new XMLHttpRequest();
var Id = Xrm.Page.data.entity.getId();
var quotationGUID = Id.replace('{', ""); //set this to selected quotation GUID
quotationGUID = quotationGUID.replace('}', "");
var reportName = "ABM_Infotech_SalesQuote"; //set this to the report you are trying to download
var reportID = "751089AA-74B8-E211-B52F-D8D3855B253B"; //set this to the guid of the report you are trying to download
var rptPathString = ""; //set this to the CRMF_Filtered parameter
var strParameterXML = "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'><entity name='quote'><all-attributes /><filter type='and'><condition
attribute='quoteid' operator='eq' uitype='quote' value='" + quotationGUID + "' /> </filter></entity></fetch>";
retrieveEntityReq.open("POST", pth, false);
retrieveEntityReq.setRequestHeader("Accept", "*/*");
retrieveEntityReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
rptPathString = "id=%7B" + reportID + "%7D&uniquename=" + Xrm.Page.context.getOrgUniqueName() + "&iscustomreport=true&reportnameonsrs=&reportName="
+
reportName + "&isScheduledReport=false&p:ABMFilteredQuote=" + strParameterXML;
//remove the part starting from &p:salesorderid if your report has no parameters
retrieveEntityReq.send(rptPathString);
var x = retrieveEntityReq.responseText.indexOf("ReportSession=");
var ret = new Array();
ret[0] = retrieveEntityReq.responseText.substr(x + 14, retrieveEntityReq.responseText.indexOf("&", x) - x - 14); //the session id
x = retrieveEntityReq.responseText.indexOf("ControlID=");
ret[1] = retrieveEntityReq.responseText.substr(x + 10, retrieveEntityReq.responseText.indexOf("&", x) - x - 10); //the control id
return ret;
var bdy = new Array();
var bdyLen = 0;
function concat2Bdy(x) {
bdy[bdyLen] = x;
bdyLen++;
function encodePdf(params) {
bdy = new Array();
bdyLen = 0;
var retrieveEntityReq = new XMLHttpRequest();
var pth = Xrm.Page.context.getServerUrl() + "/Reserved.ReportViewerWebControl.axd?ReportSession=" + params[0] +
"&Culture=1033&CultureOverrides=True&UICulture=1033&UICultureOverrides=True&ReportStack=1&ControlID=" + params[1] +
"&OpType=Export&FileName=Public&ContentDisposition=OnlyHtmlInline&Format=PDF";
retrieveEntityReq.open("GET", pth, false);
retrieveEntityReq.setRequestHeader("Accept", "*/*");
retrieveEntityReq.send();
BinaryToArray(retrieveEntityReq.responseBody);
return encode64(bdy);
var StringMaker = function () {
this.parts = [];
this.length = 0;
this.append = function (s) {
this.parts.push(s);
this.length += s.length;
this.prepend = function (s) {
this.parts.unshift(s);
this.length += s.length;
this.toString = function () {
return this.parts.join('');
var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
function encode64(input) {
var output = new StringMaker();
var chr1, chr2, chr3;
var enc1, enc2, enc3, enc4;
var i = 0;
while (i < input.length) {
chr1 = input[i++];
chr2 = input[i++];
chr3 = input[i++];
enc1 = chr1 >> 2;
enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
enc4 = chr3 & 63;
if (isNaN(chr2)) {
enc3 = enc4 = 64;
} else if (isNaN(chr3)) {
enc4 = 64;
output.append(keyStr.charAt(enc1) + keyStr.charAt(enc2) + keyStr.charAt(enc3) + keyStr.charAt(enc4));
return output.toString();
</script>
<script type="text/vbscript">
Function BinaryToArray(Binary)
Dim i
ReDim byteArray(LenB(Binary))
For i = 1 To LenB(Binary)
byteArray(i-1) = AscB(MidB(Binary, i, 1))
concat2Bdy(AscB(MidB(Binary, i, 1)))
Next
BinaryToArray = byteArray
End Function
</script>
</head>
<body>
<input type="button" onclick="CreateEmail();" value="Attach Report" />
</body>
</html> -
Custom code in SSRS gives error when uploaded to report in CRM online
Hi All;
Below is my custom code
Function SumLookup(ByVal items As Object()) As Decimal
If items Is Nothing Then
Return Nothing
End If
Dim suma As Decimal = New Decimal()
Dim ct as Integer = New Integer()
suma = 0
ct = 0
For Each item As Object In items
suma += Convert.ToDecimal(item)
ct += 1
Next
If (ct = 0) Then return 0 else return suma
End Function
and this code is used in
=Code.SumLookup(LookupSet(Fields!new_mainprogrammeid.Value & "," &
Fields!new_subprogrammeid.Value & "," &
Fields!new_outputs.Value & "," &
Fields!new_claimmonthid.Value,
Fields!new_mainprogrammeid.Value & "," &
Fields!new_subprogrammeid.Value & "," &
Fields!new_outputs.Value & "," &
Fields!new_claimmonthid.Value,
Fields!new_fte.Value, "JobOutcome"))
when this code is uploaded in CRM online report it gives an error
below is the error from the log file
Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]: An error occurred while trying to add the report to Microsoft Dynamics CRM. Try adding the report again. If this problem persists, contact your system administrator.Detail:
<OrganizationServiceFault xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/xrm/2011/Contracts">
<ErrorCode>-2147188072</ErrorCode>
<ErrorDetails xmlns:d2p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
<Message>An error occurred while trying to add the report to Microsoft Dynamics CRM. Try adding the report again. If this problem persists, contact your system administrator.</Message>
<Timestamp>2014-10-07T14:21:25.5823821Z</Timestamp>
<InnerFault i:nil="true" />
<TraceText i:nil="true" />
</OrganizationServiceFault>
but when i remove the custom code and upload the lookup as below i dont get any error
=(LookupSet(Fields!new_mainprogrammeid.Value & "," &
Fields!new_subprogrammeid.Value & "," &
Fields!new_outputs.Value & "," &
Fields!new_claimmonthid.Value,
Fields!new_mainprogrammeid.Value & "," &
Fields!new_subprogrammeid.Value & "," &
Fields!new_outputs.Value & "," &
Fields!new_claimmonthid.Value,
Fields!new_fte.Value, "JobOutcome"))
I need to calculate the sum of fte hence needed the custom code
Any help on this much appreciated
Thanks
Pradnya07Hi Simran08,
According to your description, you fail to add your report to CRM due to the custom code. Right?
In this scenario, based on my knowledge, I find two issues in your custom code.
You pass the array Items as argument to the function. This array is from the LookupSet() function. However, it returns an concatenated string with commas. When you convert it into decimal, it will throw error.
In your For Each loop part, we should follow the format below:
For Each element In group
[statements]
[Exit For]
[statements]
Next [element]
It seems you miss Item after Next.
If you still have any question, please feel free to ask.
Best Regards,
Simon Hou -
What is the use of guid in CRM?
Hi ,
what is the use of guid in crm.
there is nothing like this in r/3.if the data is to flow in from r/3 to crm or crm - r/3 is do we verify the guid.partner guid or product guid.
please make me understand this.
thank you,
hunGUIDs are system generated unique keys which identifies CRM objects (campaigns, sales documents, business partners, products etc.). CRM & MSA works on GUIDs. Most of the table relationships are defined on GUIDs.
Important CRM tables:
COMM_PRODUCT : Products
CRMC_T077D : customer account groups
CRMD_ORDERADM_H (for header) CRMD_ORDERADM_I (Item data)
CRMD_ORDERADM_H Business Transactions CRM
CRMD_ACTIVITY_H Activity
CRMD_OPPORT_H Opportunity
BUTOO : Customer details
BUT001 BP: General data II
BUT100 BP: Roles
BUT150 BP relationship: Attribute table (test
different
BUT_HIER_TREE Business Partner Group Hierarchy
CDBC_T_PRODUCTID Mapping: Product Id
CDBD_ORGMAN Business transaction - organizational unit -
set
COMC_PRODUCT General Product Settings
COMC_R3_FIELDS Assignment of R/3 material master fields to
CFOP
COMM_CATEGORY Category
COMM_CFGMAT Basic Data for Materials
COMM_HIERARCHY Category Hierarchy
COMP_TYPES Hierarchy Tool: Comparison Type Check
Table
CRMC_CPRICPROC Customer Pricing Procedures
SMOKVBEZ15 Assignment employees to positions
All transactions are uniquely identified by their guids internally
Transaction numbers are not unique
System calls a function module GUID_CREATE to create a unique GUID everytime you create a transaction.
Whenever you are creating some transaction programatically you will have to first create a unique GUID for the transaction by calling GUID_CREATE.
Look at What is GUID in CRM & its significance please? maybe it helps
<b>Please, Reward Points.....</b> -
Migration questionaire for ICSS n ISA
Good morning,
I wanted to gear up myself with some questions to ask the implementers of a proj. so that I can better understand the kinda implementation that has done.
I am looking specifically for ICSS and ISA question.
Please post some if you guys/ gals are aware or if u think of any..
Thanks in advance and anticipation.
ave a good day.
CliveHere are some which I feel might help you. These are based on my past support proj exp.
ICSS (Internet Customer Self Service) / ISA (Internet Sales)
Basic Installation/Development
Version of ICSS implemented and Service Pack
Version of ISA implemented and Service Pack.
Scenario Implemented
ICSS B2B B2C
ISA B2B B2C
Version Controlling Implemented? Yes No
If above is Yes then what tool and please document the process for the same
Solution Database installed for the FAQ? 0 Yes 0 No
IDE used?
Is TREX engine configured, if yes then name of the RFC destination 0 Yes 0 No
Search Server Relation name.(To publish CRM Products)
Internet User Management/Roles and Authorization
User type created at the backend 0
SU01
0
SU01
0
SU01 & SU05
User created using web user interface? If no then How?
Country Settings for internet Users? Country and date format.
Super User facility given to the customer
Name the reference user used for creating the B2C users
Reference user used for creating the B2B users
Roles assigned for B2B users
ICSS
ISA
Roles assigned for B2C users
ICSS
ISA
ICSS
XCM Configuration
Name the default configuration used?
JCO connection to the backend system
FAQ Enabled 0 Yes 0 No
Solution Search Enabled
0 Yes 0 No
Transactions Enabled 0 Yes 0 No
Installed Base Enabled 0 Yes 0 No
Product Registration Enabled 0 Yes 0 No
FAQ enabled for portal 0 Yes 0 No
Solution Search enabled for portal 0 Yes 0 No
Installed Base Enabled for portal 0 Yes 0 No
Product Registration Enabled for portal 0 Yes 0 No
Transaction Enabled for portal 0 Yes 0 No
File Attachment size
Live Web Collaboration component Enabled 0 Yes 0 No
General
Object Family used and to which product type it is assigned?
Name Installed Base used for creation of CSR?
Partner functions used in the partner Determination Procedure used for service order creation.
Object category used for individual objects being created when you register products as part of an E-Commerce Internet Customer Self-Service process?
FAQ enabled for customers? If Yes, then what is the Category ID used for FAQ product
Is warranty enabled for products? If yes, list down the warranties used for the corresponding type of product
Catalog type used for the service product
Partner functions used for the product registration
Transaction type used for transaction
Transaction type used for complaint processing
Technical
How ICSS is accessed?
ICSS standard code has been modified?
Name custom package created for developing/enhancing Standard SAP code
Any new mime object used apart from the Standard SAP, if yes then for what?
Any XML files been modified manually, if yes then for what reason and name the files
Any custom RFC module created at the backend, for what reason
Any standard RFC Module or standard SAP code modified
Any call back function created for business transaction
Is there any custom Workflow attached to the service order creation, or complaint creation
Please name the Badis implemented and for what reason
Any SMARTFORM has been enhanced or created, If yes please name them
Julius -
Not able to connect CRM Online to PowerBI
Not able to connect CRM Online to PowerBI, Please let me know if you have an idea to resolve this issue.
oops, something went wrong
Failed to update model parameters
Activity Id59a2a854-8e34-6636-0679-3d2e245d2241
Request Id9b7fa606-324e-4ec8-495f-13f91d03bc54
Error Code400
TimeWed Mar 18 2015 21:24:18 GMT-0400 (Eastern Daylight Time)
Version11.0.9165.945
Cluster URIhttps://wabi-south-east-asia-redirect.analysis.windows.netHi Kiran
Please chcek the Note 1359600-MDM stopped communicating after upgrading to 7.1.03 from SAP NOTES.
https://websmp230.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/sapnotes/index2.htm?numm=1359600
SAP Note Description:
Summary
Symptom
MDM components stopped communicating after upgrading to 7.1.03
Other terms
TCP ports, Firewall, connection, network, SP03, SP3, 7.1
Reason and Prerequisites
Starting from version 7.1.03 the MDM suite is using different TCP ports for its operations. The change was in order to be compliant with the Internet Authority for Numbering Assignment. Port numbers changed as follows:
Application Old Port # New Port #
MDS 20005 59950
MDLS 20008 59650
MDIS 20009 59750
MDSS 20010 59850
If firewalls were configured to allow MDM's communication throughout the landscape, they actually might prevent (depending on their rules table) the communication after an upgrade to MDM suite starting at version 7.1.03 and higher.
Solution
Revise the firewall rules such that they will allow the communication according to the changes described above.
In order to check that the ports are allowed to pass trough the firewall a telnet test could be done like so:
1) Open a terminal window (on UNIX) or a command window (on Windows) on the same machine which hosts the application which tries to connect, and issue the following command:
telnet <MDM server host name or IP address> <TCP port to test>
2) If no error response is received than it means that the TCP port is allowed to go trough.
3) Repeat steps 1,2 for all the other ports need by the application.
Thanks
Sowseel
Edited by: sowseel pasumarthi on Jan 18, 2011 6:36 AM -
Field value(s) for object S_SERVICE were not entered
Hi
Whenever I try to generate a profile in PFCG I get an error, that is saying;
... field value(s) for object S_SERVICE were not entered
Number of values could be different but message text is always the same.
The problem is in CRM2007 IDES.
It is regardless if I try to generate for existing role (like SAP_CRM_UIU_MKT_PROFESSIONAL) or for own role
Does anybody know how to solve such issue ?
regards
RafalDear Rafal,
kindly check documentation of customizing node
SAP Customizing Implementation Guide
Customer Relationship Management
UI Framework
Business Roles
Define Authorization Role
"Make sure that the authorization object S_SERVICE is set to inactive.
An active authorization object S_SERVICE could interrupt the profile
generation."
You have to deactivate the S_SERVICE authorization object in PFCG to
solve the error.
Hope this helps,
Gerhard -
Error while uploading report in Microsoft Dynamics CRM Online
I have created a report using fetch-xml query for Microsoft Dynamics CRM Online. In this field, I have created a custom enity which has "Last Accessed Date Time" field of type "DateTime". This field stores the value in GTM. I am retrieving
the value of this field using fetch-xml query. Also, I want to calculate the difference between the current DateTime and the value (in the locale and not in GMT) of this field in "Hours Minutes Seconds" format. I
have written an expression for the same in reportas follows.
(IIF(((INT((DateDiff(DateInterval.Second, DateTime.SpecifyKind(DateTime.Parse(Fields!new_lastaccesseddatetime.Value), DateTimeKind.Utc).ToLocalTime(), DateTime.Now))/60))>60), INT(((((DateDiff(DateInterval.Second, DateTime.SpecifyKind(DateTime.Parse(Fields!new_lastaccesseddatetime.Value),
DateTimeKind.Utc).ToLocalTime(), DateTime.Now)))/60)) / 60), 0))
& "Hours"&
(IIF(((INT((DateDiff(DateInterval.Second, DateTime.SpecifyKind(DateTime.Parse(Fields!new_lastaccesseddatetime.Value), DateTimeKind.Utc).ToLocalTime(), DateTime.Now))/60))>60), INT((((DateDiff(DateInterval.Second,DateTime.SpecifyKind(DateTime.Parse(Fields!new_lastaccesseddatetime.Value),
DateTimeKind.Utc).ToLocalTime(), DateTime.Now)))/60) Mod 60), INT((DateDiff(DateInterval.Second, DateTime.SpecifyKind(DateTime.Parse(Fields!new_lastaccesseddatetime.Value), DateTimeKind.Utc).ToLocalTime(), DateTime.Now))/60)))
& "Minutes" &
((DateDiff(DateInterval.Second, DateTime.SpecifyKind(DateTime.Parse(Fields!new_lastaccesseddatetime.Value),
DateTimeKind.Utc).ToLocalTime(), DateTime.Now)) Mod 60)
& "Seconds"
This works fine in visual studio. But, when tried to upload the same report in CRM Online organization, it gives the following error.
Any idea how to solve this issue?I have found the following useful link-
- support.microsoft.com/.../en-us
The error occurred because I have used some functions("Int", "DateTime.SpecifyKind(DateTime.Parse(Fields!new_lastaccesseddatetime.Value), DateTimeKind.Utc).ToLocalTime()") in my ssrs report which are not supported by CRM Online., though
it works fine in visual studio.
Maybe you are looking for
-
CS6 Mini Bridge - Thumbnail size and preview
I've just upgraded to CS6 (design & web premium) and was setting up my workspace in InDesign, and after adding (docking) Mini Bridge there seems to be no preview or anyway to change the size of the thumbnails I can view. I use Mini Bridge a lot as we
-
When composing an email in Mac Mail I've noticed a small but very irritating bug: pressing the spacebar after typing an apostrophe in a word, e.g. "we're", the cursor moves to the left i.e. backwards, and not to the right, effectively deleting a spac
-
Generalise business rule to fetch common inputs region wise
Hi, Our entity dimension is changed to program(Which means projects) dimension which will include the location as a parent and under that are the list of programs specific to that location. our legal entity is a custom dimension. This change is done
-
Unreported Exception error message
( Error message: AddStudentException must be caught or declared to be thrown) Can anyone explain the error message above from this code? public class Course public void addStudent(Student s) throws AddStudentException public static void main(String[]
-
hello everyone i have a question. i am trying to get snmp version 3 working on my network. i am using solarwinds to monitor the cisco WLC's. but when i add a snmp-user to the controller i get the following message: (Cisco Controller) debug>snmp all e