For my own convenience, but maybe also for yours, I wanted to document and share a few of the little scripts or pieces of code I use often and need easy access to. I hope they can come in handy for you too 😉
And do not forget to come back once in a while, as I will be updating these, or feel free to share me yours!
Deeplinks
Using a URL, individual transactions can be opened directly in a browser. This is done through a deeplink:
- There are classic deeplinks with the classic landing pages in the background, but these should be phased out as workspace is taking over Information on how to create and use deeplinks can be found here.
- Then we have brand new deeplinks that open up transaction pages with workspace in the background. Information on how to create those can be found here.
Embedding BI report example URL
The following is an example of how to embed a report into CX Sales through a URL whilst sending parameters :
https://......com/analytics/saw.dll?Go&Action=Navigate&path=%2Fshared%2FCustom%2FEdward%2FOpen%20Opportunities%20List&p0=1&p1=eq&p2=%22Time%22.%22Year%22&p3=2019
Embedding BI dashboard example URL
The following is an example of how to embed a dashboard into CX Sales through a URL whilst sending parameters:
https://......com/analytics/saw.dll?PortalPages&PortalPath=%2Fshared%2FEdward%2F_portal%2FAccount%20Mashup&Action=Navigate&col1=Customer."Customer Row ID"&val1="' + PartyId
Embedding a BI dashboard through Page integration
When embedding a dashboard or a report in a new page through page integration, the URL is slightly different
../../analytics/saw.dll?PortalPages&PortalPath=%2Fshared%2FCustom%2FEdward%2F_portal%2FOpportunity%20Breakdown&page=page%201
Mashup Embedding Groovy
The following is the groovy script I used to embed a report on the opportunity detail page as shown in this mashup blog post.
def JWTtoken = (new oracle.apps.fnd.applcore.common.SecuredTokenBean().getTrustToken()) def url = '../BIProxy' url += '?cid=BIPresentationServer&RedirectURL=saw.dll?Dashboard' url += '&PortalPath=%2Fshared%2FCustom%2FEdward%2F_portal%2FOpportunity%20Chevron&page=page%201' url += '&Action=Navigate' url += '&col1=Opportunity."Opportunity ID"' url += '&val1=' + OptyId url += '&var2=dashboard.variables[%27JWT_TOKEN%27]' url += '&val2="Bearer ' + JWTtoken + '"' return url
Page Composer BI parameters
When embedding reports or dashboards on analytics pages in CX Sales, page composer allows you to send session parameters to the loading reports. A list of available session scope variables can be found here:
- Customer ID : #{sessionScope.zcmAnalyticsCustomerId}
- Contact Id: #{sessionScope.hzAnalyticsContactPartyId}
- Contact Name: #{sessionScope.hzAnalyticsContactName}
- Lead ID: #{sessionScope.mklAnalyticsLeadId}
- Opportunity Id: #{sessionScope.mooAnalyticsOpportunityId}
- Partner Id: #{pageFlowScope.biFilterName_PartnerPartnerROWID}
- JWT Token: #{applCoreSecuredToken.trustToken}
BI Currency data format
In any report, to make sure the reports display currency values in the correct currency format, the following custom data format mask should be used as explained here
[$:currencyTagColumn="Sales - CRM Customer Overview"."Currency"."Common Currency Code"]
Tim Tierney
I have a good one related to BI and generating clickable URLs.
We are building an automated email sent by an Agent out of BI. Basically an Opportunity hit-list sent to the Sales users. I was using a BI Action to make the Opportunity Name a clickable URL inside of the email. I was banging my head on it because I couldn’t get it to work. It worked fine in BI but when it generated the email, BI was modifying the URL and breaking it.
Anyway, contacted Support and they helped me out a lot. The TL;DR is instead of doing a BI Action. Just modify the the actual column formula in BI to generate a hyperlink HTML element. Make sure you click the Contains HTML checkbox in the column formula editor.
‘<a style="color:#145c9e; font-weight:bold; font-size: 12px" target="_new" href="https:///sales/faces/CrmFusionHome?cardToOpen=MOO_OPPTYMGMTOPPORTUNITIES_CRM_CARD&tabToOpen=MOO_OPPTYMGMTOPPORTUNITIES_CRM&TF_skipToEditOptyId=‘||”Sales – CRM Pipeline”.”Opportunity”.”Opportunity ID”||'” > ‘||”Sales – CRM Pipeline”.”Opportunity”.”Opportunity Name”||’‘
Edward Dewolf
Great idea Tim, let me add a reference to all deeplinks as this can be done for other objects than opportunities also