Technical Articles
Launch ByDesign UIs from External Applications
A common use case in business system landscapes with multiple applications is the navigation to business documents and master data objects across applications.
SAP Business ByDesign supports this use case by providing parameterized URLs, that can be used by external applications to launch ByD UIs and open ByD business documents. In ByD this integration point is called External Object-Based Navigation or short External OBN.
This document describes how to assemble parameterized URLs for External Object-Based Navigation.
URL Schema and Parameter
The URL schema for External Object-Based Navigation is
<hostname>/sap/public/ap/ui/runtime?bo_ns=<namespace>&bo=<business object name>&node=<business object node name>&operation=<OBN operation>&object_key=<BO instance key value>&key_type=<key type>¶m=<additional parameter>
URL Parameter:
bo_ns |
URL encoded BO namespace like specified in the OBN in-port |
bo |
URL encoded BO name like specified in the OBN in-port |
node |
URL encoded node name like specified in the OBN in-port |
operation |
URL encoded OBN operation like specified in the OBN in-port |
object_key |
optional: URL encoded BO instance UUID, no “-” separator is allowed and all characters must be upper case |
key_type |
optional: BO instance key type (technical name of the Global Data Type) |
param |
optional: any additional flat parameter that is required by the OBN in-port |
saml2 |
optional: disable SSO |
sap-language |
optional: specify the language to open the screen; for example: |
SAP partners can get the URL parameter values using the UI Designer of the SAP Cloud Applications Studio. You find the URL parameter values in the Inport Configuration of the corresponding ByD UI screen.
Alternatively you get the parameter values from the ByD Debug-Console: press SHIFT+CTRL+ALT+D for 5 seconds and check the information provided on the Development Console.
Please note that ByD screens support external object-based navigation only if the UI screen provides a stable anchor and is released for external navigation.
The object key is typically the business document UUID. You get these UUIDs from ByD query and read web service APIs or the output management xml integration. If you create business documents using web service APIs, then you can pick the business document UUID from the web service response as well.
You find more information about ByD web service APIs and ByD integration scenarios on SAP Help: SAP Business ByDesign – SAP Help Portal Page.
The deprecated endpoints /sap/public/byd/runtime and /sap/byd/nav are still supported for compatibility reasons, but should not be used anymore.
New features will be supported for the new endpoint /sap/public/ap/ui/runtime only.
The endpoint /sap/byd/runtime is no valid endpoint for External OBN, but launches the “normal” ByD UI.
Example:
Launch supplier overview of supplier with UUID 0000000000011DEFBA9FCC99416B7576:
https://myXXXXXX.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/FO/BusinessPartner/Global&bo=Supplier&node=Root&operation=Open&object_key=0000000000011DEFBA9FCC99416B7576&key_type=APC_V_UUID
Some applications/browsers may require URLs without special characters. In this case replace the characters “:” and “/” in parameter bo_ns by the corresponding %-syntax:
/ |
%2F |
: |
%3A |
Single Sign-On (SSO):
Logon using single sign-on can be implemented by using the corresponding single sign-on hostname.
myXXXXXX-sso.sapbydesign.com/sap/ap/ui/runtime |
Logon using SSO |
myXXXXXX.sapbydesign.com/sap/public/ap/ui/runtime |
Logon without SSO |
myXXXXXX-sso.sapbydesign.com/sap/ap/ui/runtime |
Logon without SSO by using the SSO hostname |
Example URLs
Supplier Overview: Launch supplier factsheet of supplier Miller&Son (ID S100700, UUID 0000000000011DEFBA9FCC99416B7576):
https://myXXXXXX.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/FO/BusinessPartner/Global&bo=Supplier&node=Root&operation=Open&object_key=0000000000011DEFBA9FCC99416B7576&key_type=APC_V_UUID
Account Overview: Launch account factsheet of account Almika Inc. (ID 1000000, UUID 0000000000011DDFB9FF7CEB3214ABF2):
https://myXXXXXX.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/FO/BusinessPartner/Global&bo=Customer&node=Root&operation=Open&object_key=0000000000011DDFB9FF7CEB3214ABF2&key_type=APC_V_UUID
Business Partner Overview: Launch business partner factsheet of business partner HPA Sweden (ID CP100993, UUID 0000000000011DDFBA8490E446493CE3):
https://myXXXXXX.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/FO/BusinessPartner/Global&bo=BusinessPartner&node=Root&operation=Open&object_key=0000000000011DDFBA8490E446493CE3&key_type=APC_V_UUID
Contact Overview: Launch contact factsheet of contact Peter Shaw (ID 7, UUID 0000000000011DDFBA8490EA2E421CE3):
https://myXXXXXX.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/FO/BusinessPartner/Global&bo=BusinessPartner&node=Root&operation=OpenGenericContactOverview&object_key=0000000000011DDFBA8490EA2E421CE3&key_type=APC_V_UUID
Material: Launch material factsheet of material P100101 – Heater (22.8 KW) (ID P100101, UUID 0000000000011DEFBAEA3D295D4F87A6):
https://myXXXXXX.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/FO/ProductDataMaintenance/Global&bo=Material&node=Root&operation=Open&object_key=0000000000011DEFBAEA3D295D4F87A6&key_type=APC_V_UUID
Service Overview: Launch service factsheet of service product 300002 – Engineer (ID 300002, UUID 0000000000011ED083A11BE19763A75F):
https://myXXXXXX.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/FO/ProductDataMaintenance/Global&bo=ServiceProduct&node=Root&operation=Open&object_key=0000000000011ED083A11BE19763A75F&key_type=APC_V_UUID
Purchase Order Overview: Launch purchase order factsheet of purchase order 225 using the PO UUID 0000000000011EE18AFB8B871861C45F:
https://myXXXXXX.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/Purchasing/Global&bo=PurchaseOrder&node=Root&operation=Open&object_key=0000000000011EE18AFB8B871861C45F&key_type=APC_V_UUID
Supplier Invoice Overview: Launch supplier invoice factsheet
… using the invoice ID 820:
https://myXXXXXX.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/SupplierInvoicing/Global&bo=SupplierInvoice&node=Root&operation=Open&object_key=820&key_type=APC_S_BTD_ID
… using the invoice UUID 0000000000011DEFBEB1F2413765FEA4:
https://myXXXXXX.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/SupplierInvoicing/Global&bo=SupplierInvoice&node=Root&operation=Open&object_key=0000000000011DEFBEB1F2413765FEA4&key_type=APC_V_UUID
Opportunity: Launch opportunity UI
… using the opportunity 1171:
https://myXXXXXX.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/CRM/Global&bo=Opportunity&node=Root&operation=Open&object_key=1171&key_type=APC_S_BTD_ID
… using the opportunity UUID 00163E04F79D1EE3AFC592CAFF2317D0:
https://myXXXXXX.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/CRM/Global&bo=Opportunity&node=Root&operation=Open&object_key=00163E04F79D1EE3AFC592CAFF2317D0&key_type=APC_V_UUID
Sales Quote: Launch the factsheet of sales quote 421:
https://myXXXXXX.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/CRM/Global&bo=CustomerQuote&node=Root&operation=Open&object_key=421&key_type=APC_S_BTD_ID
Sales Order: Launch sales order factsheet
… using the sales order ID 1096:
https://myXXXXXX.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/CRM/Global&bo=SalesOrder&node=Root&operation=Open&object_key=1096&key_type=APC_S_BTD_ID
… and using the sales order UUID 0000000000011ED087AC4D40499ADB24:
https://myXXXXXX.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/CRM/Global&bo=SalesOrder&node=Root&operation=Open&object_key=0000000000011ED087AC4D40499ADB24&key_type=APC_V_UUID
Customer Contract: Launch the contract overview
… using the contract ID 51:
https://myXXXXXX.businessbydesign.cloud.sap/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/CRM/Global&bo=CustomerContract&node=Root&operation=Open&object_key=51&key_type=APC_S_BTD_ID
… and using the contract UUID 00163E18-4318-1ED7-B9B2-84A6FC3E8061:
https://myXXXXXX.businessbydesign.cloud.sap/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/CRM/Global&bo=CustomerContract&node=Root&operation=Open&object_key=00163E1843181ED7B9B284A6FC3E8061&key_type=APC_V_UUID
Service Request: Launch the service request overview
… using the service request ID 1311:
https://myXXXXXX.businessbydesign.cloud.sap/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/CRM/Global&bo=ServiceRequest&node=Root&operation=Open&object_key=1311&key_type=APC_S_BTD_ID
… and using the service request UUID FA163EDC-0899-1EED-95DA-315C687DC0D2:
https://myXXXXXX.businessbydesign.cloud.sap/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/CRM/Global&bo=ServiceRequest&node=Root&operation=Open&object_key=FA163EDC08991EED95DA315C687DC0D2&key_type=APC_V_UUID
Service Order: Launch the service order overview
… using the service order ID 1033:
https://myXXXXXX.businessbydesign.cloud.sap/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/CRM/Global&bo=ServiceOrder&node=Root&operation=Open&object_key=1033&key_type=APC_S_BTD_ID
… and using the service order UUID 00163E63-3CEC-1ED8-A5AC-B60FAC0D6918:
https://myXXXXXX.businessbydesign.cloud.sap/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/CRM/Global&bo=ServiceOrder&node=Root&operation=Open&object_key=00163E633CEC1ED8A5ACB60FAC0D6918&key_type=APC_V_UUID
Customer Invoice: Launch customer invoice factsheet
… using the invoice ID 1INV-88-2015:
https://myXXXXXX.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/CustomerInvoicing/Global&bo=CustomerInvoice&node=CustomerInvoice&operation=Open&object_key=1INV-88-2015&key_type=APC_S_BTD_ID
… using the invoice UUID 00163E0E25A61ED5A3C0CE5B77268C36:
https://myXXXXXX.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/CustomerInvoicing/Global&bo=CustomerInvoice&node=CustomerInvoice&operation=Open&object_key=00163E0E25A61ED5A3C0CE5B77268C36&key_type=APC_V_UUID
Project Overview: Launch project factsheet
…using the project ID CPSO3:
https://myXXXXXX.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/ProjectManagement/Global&bo=Project&node=Root&operation=OpenByProjectID&object_key=CPSO3&key_type=APC_S_PROJECT_ID
… using the project UUID 00163E04472B1EE2B28E10DAAC413856:
https://myXXXXXX.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/ProjectManagement/Global&bo=Project&node=Root&operation=Open&object_key=00163E04472B1EE2B28E10DAAC413856&key_type=APC_V_UUID
Project Task Overview: Launch project task factsheet of project task CPSO3_3110 – Software Set-Up & Configuration with UUID 00163E04472B1EE2B28E10DAAC44B856:
https://myXXXXXX.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/ProjectManagement/Global&bo=Project&node=Task&operation=Open&object_key=00163E04472B1EE2B28E10DAAC44B856&key_type=APC_V_UUID
Outbound Delivery Overview: Launch outbound delivery overview of outbound delivery 55 with UUID 00163E0658BA1EE69DB1D65F7DD94321:
https://myXXXXXX.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/LogisticsExecution/Global&bo=OutboundDelivery&node=Root&operation=Open&object_key=00163E0658BA1EE69DB1D65F7DD94321&key_type=APC_V_UUID
Incoming Cash Payment Overview: Launch incoming cash payment overview of the payment monitor:
https://myXXXXXX.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/Payment/Global&bo=PaymentOrder&node=Root&operation=OpenCUIBB&object_key=00163E0658B81EE6A897CA98DDF68FBB&key_type=APC_V_UUID
Edit Time Sheet: Launch the screen to edit time sheets:
https://myXXXXXX.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/TimeAndLabourManagement/Global&bo=EmployeeTimeRecordingView&node=Root&operation=EditTimeSheet
Business configuration change project: Launch the project overview of a change project:
https://myXXXXXX.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/A1S&bo=BCUI_CHANGE_PROJECT_ECO&node=Root&operation=ProjectOverview&object_key=00163E0658B81EE6A998D1268B8FF25B&key_type=APC_V_UUID
External OBN for ByD Add-on Screens
You can as well launch custom screens created for a ByD Add-on with the SAP Cloud Applications Studio. This chapter describes how to enable custom factsheet screens and quick activity screens for external object-based navigation and how the parameterized URL looks like.
Quick Activity Screens:
- Create the business object quick activity screen. Here I assume you used the option “Create New Screens > Screens Scenario with Navigation“.
- Open the quick activity screen using the UI Designer and look for the Event Handler with parameters
– Type: BOOperation
– BO Operation Type: Read
– Parameters > Type: keyNavigation
Example: Event Handler EditHandlerSysPTP:
- Get the values of the properties BO, Namespace, Node and Operation from the Inport:
Note: Alternatively you can as well open the quick activity screen on the ByD UI and get the parameter values from the ByD Debug-Console: press SHIFT+CTRL+ALT+D for 5 seconds and check the information provided on the Development Console.
Launch the Add-on Quick Activity screen using the URL:
https://myXXXXXX.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=<Namespace>&bo=<BO>&node=<Node>&operation=<Operation>&object_key=<UUID>&key_type=APC_V_UUID
Factsheet Screens:
- Create the business object factsheet screen using the option “Create New Screens > Screen Type > Fact Sheet (FS)“.
- Open the related Work Center View screen using the UI Designer and assign the factsheet screen to the work center view screen (work center view properties > Assigned Objects). This step is required to be able to add the factsheet to the authorization profile of users.
- Open the factsheet screen using the UI Designer.
- Open the factsheet screen Data Model and create a field OBN_NAV_KEY on root level.
For example:
- Create a factsheet Event Handler with the following properties:
– Type: BOOperation
– BO Operation Type: Read
– Parameters > Type: keyNavigation
– Parameters > Bind: /Root/OBN_NAV_KEY
Example:
- Create a factsheet Inport with the following properties:
– Check box OBN Inport
– Select BO Based
– Select Namespace: <your solution namespace>
– Select BOModel: <your business object name>
– Select Operation: Open
– PortType Package: <your business object port type package>
– PortType Reference: OpenByKey
– ParameterName: Key
– ParameterBinding: Root/Root/OBN_NAV_KEY
In the factsheet Inport properties, enter the event:
– OnFire: <your event handler from step 5>
Example:
- Get the values of the properties BO, Namespace, Node and Operation from the factsheet Inport.
Note: Alternatively you can as well open the quick activity screen on the ByD UI and get the parameter values from the ByD Debug-Console: press SHIFT+CTRL+ALT+D for 5 seconds and check the information provided on the Development Console.
Launch the Add-on Factsheet screen using the URL:
https://myXXXXXX.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=<Namespace>&bo=<BO>&node=<Node>&operation=<Operation>&object_key=<UUID>&key_type=APC_V_UUID
https://my328222.sapbydesign.com/sap/public/ap/ui/repository/SAP_UI/Runtime/StartPage.html?bo_ns=http://sap.com/xi/AP/LogisticsExecution/Global&bo=OutboundDelivery&node=Root&operation=Open&object_key=00163e0e-4638-1ed6-9be6-625905d0ec04&key_type=APC_V_UUID&OBNRedirect=X
Hi Expert,
I Have a Url for Outbound Delivery but it does not show
Is this link correct ?
Regards
Cuong
Hi Cuong,
the following URL pattern should do the job and launch the outbound delivery overview of the outbound delivery with UUID 00163E0658BA1EE69DB1D65F7DD94321:
https://myXXXXXX.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/LogisticsExecution/Global&bo=OutboundDelivery&node=Root&operation=Open&object_key=00163E0658BA1EE69DB1D65F7DD94321&key_type=APC_V_UUID
Best regards,
Knut
Hi Knut,
It did not show any things. I use Web service to get the UUID
I want to see this delivery
Regards
Cuong
Hi Cuong,
please convert the UUID from 36 char into 32 char with capital case and without hyphens and try again.
Regards,
Knut
Dear Knut,
what would the URL look like if we want to open an "Incoming Cash Payment Overview" with a given UID?
Regards,
Sven
Hi Sven,
the following URL-pattern should do the job:
https://myXXXXXX.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/Payment/Global&bo=PaymentOrder&node=Root&operation=OpenCUIBB&object_key=00163E0658B81EE6A897CA98DDF68FBB&key_type=APC_V_UUID
where the object key contains the payment order UUID.
Best regards,
Knut
Hi Knut,
Is there also an option to do this and point directly to the HTML5 UI?
Kind regards,
Michiel
Hi Mijdam,
not yet, but I will update the blog post as as soon as external OBN is available for the ByD HTML5 UI as well.
Regards,
Knut
Hi Knut,
Could you advice on this method but using -sso.
First I tried to use this URL:
https://myXXXXXX-sso.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/CRM/Global&bo=SalesOrder&node=Root&operation=Open&object_key=91313&key_type=APC_S_BTD_ID
but it show me proposal to enter login/password
After some checks how -sso URL looks for me after login, I came to this variant with word “public” deleted:
https://myXXXXXX-sso.sapbydesign.com/sap/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/CRM/Global&bo=SalesOrder&node=Root&operation=Open&object_key=91313&key_type=APC_S_BTD_ID
In this case it works. First variant worked only if I already have existing session to that tenant opened. Is it my tenant-sso specific behavior?
But more important topic for me, is it possible to change this URL not to simply open sales order, but for example open it with “pressing” “Preview” button, or “View All” mode”, or open existing outputs in this Sales Order?
Best regards,
Andrey
Hi Knut,
Im trying to get the URL for Custom BO,
we tried the same as you mentioned in the blog, facing the problem in &key_type=.
I.e where to find the technical name(&key_type) for Custom BO
Regards
Rudhra
Hi Rudha,
the customer is named "account" on the ByD UI. You can use the follwing URL pattern:
Launch account factsheet of account Almika Inc. with UUID 000000000011DDFB9FF7CEB3214ABF2:
https://myXXXXXX.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/FO/BusinessPartner/Global&bo=Customer&node=Root&operation=Open&object_key=0000000000011DDFB9FF7CEB3214ABF2&key_type=APC_V_UUID
Best regards,
Knut
Hi everybody,
I added some remarks with regards to the External Object-Based Navigation using the new ByD HTML5 UI.
Regards, Knut
Hi Knut. We're glad to see the new HTML5 parameter!
I have a very specific question and I don't know if the following is possible as we do not have access to the cloud studio.
I mentioned this in a question but was directed back here. We have an external email notification scenario - the message content and send time is defined outside of ByDesign but we want to link directly to system work lists and functionality without a specific object ID.
With some direct links we'd be able to save time and clicks, in general across our organization over time that could be a huge benefit.
We want to prepare hyperlinks directly to the following functions:
Hi Matt,
the 3 UIs that you are referring to do follow the pattern that I described in my blog post and hence I don’t know how reliable the information is that I can give you. However, the following proposals seem to work, but they might be subject of changes and may need to be adapted in future releases.
Edit Timesheet (Home > Time > Edit Time Sheet):
https://myXXXXXX.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/TimeAndLabourManagement/Global&bo=EmployeeTimeRecordingView&node=Root&operation=EditTimeSheet
You can access the new HTML5-UI as well by simply appending the parameter &client_type=html.
You can open the Manage My Area and Project Management Approvals work list screens directly using the link displayed by your browser (simply open the ByD UI and copy the link), but these links contain software-version dependend parts, such that you may have to update the link frequently.
However, providing stable parameterized URLs to access work center views and work lists directly might be a requirement that is worth to be submitted in the ByD Idea Place.
Best regards,
Knut
Hi Knut, Thanks for your answer.
We understand the drawbacks to using this simple "just copy the URL" method but when testing we noticed that users that are not logged in are redirected to a login page although we are using SSO links. Is there any workaround for this problem?
We noticed the same problem with the time sheet link too, but removing /public/ from the URL seems to work.
Hi Matt,
as mentioned above the copied URLs are not intended for deep linking and I don't know how to use them with SSO.
Please feel welcome to submit the requirement to provide deep linking on static UIs via ByD Idea Place.
Best regards,
Knut
Hello, very interesting answers. I am trying to launch via URL a specific individual customer in SAP C4C. Do you know of anyway of achieving this? Thanks in advance, regards. Rigoberto Soto
Hello. Very interesting post. I am trying to open a specific individual customer via URL in C4C. Do you know of any way to achieve this? Thanks in advance for your quick reply. Regards.
Rigoberto Soto
Hi Rigoberto,
ByD and C4C are sharing the same platform, but use different UIs. Therefore please post your question in the C4C community SAP Hybris Cloud for Customer.
Thanks, Knut
Hello, Knut
Clould you tell me how can link to custom BO from mail.
I tried this URL want to enter to Edit Screen.
https://myXXXXX.sapbydesign.com/sap/public/ap/ui/repository/SAP_UI/HTMLOBERON5/client.html?client_type=html&app.component=/YTYXXXXXX_MAIN/SRC/SubmitProposal_V3_PTP.PTP.uicomponent&app.inport=OBNEdit¶m.Key=SAP_UUID
As a result, I could not enter the edit screen.
Could you tell me how to write URL?
Thank you
Best regards,
Mu Zhou
Dear Knut,
I would like to come back to the question of Andrey Rybakov, "is it possible to change this URL not to simply open sales order, but for example open it with “pressing” “Preview” button, or “View All” mode”, or open existing outputs in this Sales Order?" Of special importance to me is "preview" of a sales quote.
Looking forward to your response,
Bettina
Hi There.
Has anyone managed to get this working on chrome (using html5 ?)
https://myxxxxxx.sapbydesign.com/sap/public/ap/ui/repository/SAP_UI/HTMLOBERON5/Runtime/StartPage.html?bo_ns=http://sap.com/xi/AP/SupplierInvoicing/Global&bo=SupplierInvoice&node=Root&operation=Open&object_key=0000-ABCDE&key_type=APC_S_BTD_ID&client_type=html
shows message (an exception was raised)
if I change the url to https://myxxxxxx.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/SupplierInvoicing/Global&bo=SupplierInvoice&node=Root&operation=Open&object_key=0000-ABCDE&key_type=APC_S_BTD_ID&client_type=html
it asks for silverlight to be installed
This 3rd attempt
https://myxxxxxx.sapbydesign.com/sap/public/ap/ui/repository/SAP_UI/HTMLOBERON5/client.htm?bo_ns=http://sap.com/xi/AP/SupplierInvoicing/Global&bo=SupplierInvoice&node=Root&operation=Open&object_key=0000-ABCDE&key_type=APC_S_BTD_ID&client_type=html
it opens the HTML5 but does not redirect to the 0000-ABCDE Supplier Invoice.
Any suggestions ?
Hi Marcelo,
what is your default UI (the UI which opens if you enter the URL https://myxxxxxx.sapbydesign.com without any extensions in the browser): HTML5 or Silverlight?
If HTML5 is already your default UI, then the following URL should do the job:
https://myXXXXXX.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/SupplierInvoicing/Global&bo=SupplierInvoice&node=Root&operation=Open&object_key=0000000000011DEFBEB1F2413765FEA4&key_type=APC_V_UUID
Please note: I'm using the Supplier UUID as object key. You can get this UUID via Soap service QuerySupplierIn or OData service on business object Supplier. I'm not sure if you can launch the supplier overview using the business partner ID as object key.
Best regards,
Knut
Thanks Knut.
Changing the default to HTML did the trick.
Well done.
Update: Added examples to launch opportunities, customer invoices and supplier invoices by ID.
Hello Knut,
Thank you very much for all the well documented examples for showing ByD data into external applications.
I was wondering, is this also pssible for screens in which a transaction is executed trough a different system? Eg we have a external CRM application and we want to make an update to a sales order in Bydesign. Can we use a simular technique for this?
Hope to hear from you,
Kind regards,
Yvonne
Hi Yvonne,
basically yes you can update sales orders as well.
In general you need a user with access to ByD and sufficient authorizations to update sales orders. If this is the case, you can use the link above to open the fact sheet and then click on "View All" to edit the sales order.
If you are using an external CRM application you may consider updating sales orders using web services as well. You have the possibility to use OData Services (you can create, update ad read sales orders via OData) or Soap services (compare blog post Create ByD Sales Orders using Web Services).
Best regards,
Knut
Hi Knut,
Thanks for your response.
Yes we are using webservices to create sales orders from CRM. But incase of updates, Business Bydesign has much more validation rules then a CRM system does. (Like after a sales order is released, you cannot delete an item, cannot change an item, can only add etc)
These validations are difficult to copy to an external CRM (or will require a lot of work). So in case of updates, the above situation you describe sounds much more convenient.
Kind regards,
Yvonne
Hi Knut,
I saw someone above asking the same question I have, but without answer. In our case we want to navigate to a custom screen based on a custom BO. The BOs alternative key is of type BusinessSystemID. How can we find out the technical name of the data type?
We also tried with another port that uses the NodeID (which should be the UUID) as key, there at least the correct screen opens, but the BO instance identified by the passed key is not loaded. That is, an emtpy screen opens where the user could then enter data to create a new instance. Any hint?
Best regards,
Daniel
Hi Daniel,
did you try to add a UUID as alternative key to the custom BO and then use the URL parameter
Best regards,
Knut
Hi Knut,
yes I tried this to get it running at all, but this also does not work with a custom BO. I also tried with escaped special chracters in the namespace and also with different browsers. The correct screen opens, but the BO instance is not loaded.
However, we have multi customer solution already deployed to customers and now they start asking for the parameters on how to navigate directly to certain objects. That is, the type of the alternative key is settled to BusinessSystemID and cannot be changed.
So basically I see two issues right now:
Any help would be appreciated.
Thanks,
Daniel
Hi Knut,
Any further idea how we could get this working. We as SAP partner are acutally having multiple requests from customers that would like to navigate to screens of our AddOn from external systems, but are not abel to.
Best regards,
Daniel
Hi Daniel,
please check the info I added to the blog post in section "External OBN for ByD Add-on Screens".
Best regards,
Knut
Hi Knut,
thank you for this valable information. I will give this a try asap.
Best regards,
Daniel
Hi Knut,
I followed exactly your steps, but same behaviour as before. The correct screen opens, but no instance is read. Any idea what could be the issue? The screen I am using is a generated one using Cloud Application Studio's Screen Scenario.
Best regards,
Daniel
Hi Daniel,
looks like the screen does not trigger the event. Please check if you entered the right event (Events > OnFire) in your Inport.
Best regards,
Knut
Hi Knut,
it wasn't the event handler, but after detailed checking I found several issue with field bindings. After fixing those it works now. Thanks for you support!
Best regards,
Daniel
Hello Knut,
first of all, thanks for this great blog post and for keeping it updated!
Is there a possibility/parameter to open the target screen with the full nav bar on the left? So that users are able to edit/save that target screen and then navigate directly somewhere else?
Best wishes,
Michael
Dear Knut,
Thank you for this very valuable post.
I am trying to launch a Project Fact Sheet using the provided URL pattern.
However, I would like the Object Key to be the Project ID instead of the UUID (Key type APC_S_BTD_ID instead of APC_V_UUID).
I.E.
https://my123456.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/ProjectManagement/Global&bo=Project&node=Root&operation=Open&object_key=PROJECTID123&key_type=APC_S_BTD_ID
https://my123456.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/ProjectManagement/Global&bo=Project&node=Root&operation=Open&object_key=UUID123456789&key_type=APC_V_UUID
It seems like for some documents, it’s possible i.e. Sales Order, but it does not seem to be the case for Projects. Can you please assist.
Thank you,
Regards,
Thanh
Hi Thanh,
currently we do not support opening the project factsheet using the project ID, but we plan to enable to open the project factsheet using the project ID in release 1905; the URL would then look like:
https://my123456.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/ProjectManagement/Global&bo=Project&node=Root&operation=OpenByProjectID&object_key=MYPROJECTID&key_type=APC_S_PROJECT_ID.
Best regards,
Knut
Great news! Thank you. I’ll follow up.
Update:
Update: Added examples for external object-based navigation to custom quick activity and factsheet screens that have been created using the SAP Cloud Applications Studio.
Hi Knut,
I believe there is a little typo in the example of the “Launch project factsheets using the project ID”
Should the key type of the URL below be =APC instead of =APS?
https://myXXXXXX.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/ProjectManagement/Global&bo=Project&node=Root&operation=OpenByProjectID&object_key=CPSO3&key_type=APS_S_PROJECT_ID
Thank you!
Hi Thanh,
yes you are right!
Thanks a lot,
Knut
Hi Knut,
Could you advise the URL to open a Journal Entry (General Ledger - Journal Entries) for a specific Company ID.
Many thanks,
Lee
Hi Lee,
are you missing anything to form the URL by yourself according to the blog post? Or do you face any specific issues when you try to form the URL?
Thanks and best regards,
Sissi
Hi Sisse,
No specific issues when trying, but the URL pattern isn't specified in the blog so i just wondered if an example could be provided.
Many thanks,
Lee
Hi Knut,
it's could be a nice feature to connect other applications (e.g. CRM).
But is it really not included to create an URL for a specific Sales Quote?
The phrase "bo=SalesQuote" orrurs just an error.
My target is to create Sales Quotes via OData Service and create a link to the just created Sales Quote into our CRM system.
Thank you a lot, Markus.
Hi Markus,
the following URL pattern does the job:
https://myXXXXXX.sapbydesign.com/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/CRM/Global&bo=CustomerQuote&node=Root&operation=Open&object_key=421&key_type=APC_S_BTD_ID
Best regards,
Knut
Hi Knut, great job, works very nice.
But is there on help.sap.com a source where I could find all object names or fields to figure out a better way next time?
Best regards, Markus
Hi Knut,
Thanks for the amazing blog.!.
I have some doubts regarding the additional parameter that can be passed.
<hostname>/sap/public/ap/ui/runtime?bo_ns=<namespace>&bo=<business object name>&node=<business object node name>&operation=<OBN operation>&object_key=<BO instance key value>&key_type=<key type>¶m=<additional parameter>
Here how can I pass the parameter name and value. In my case the parameter name is code and value can be 123
Current Result :
I tried some rookie approach like this, but didn't work
BR,
Senz
Hi Senz,
the parameter ¶m is relevant for very specific use cases with specifically designed inports only. One use case is for example the app for phone integration to launch a list of business partners by providing the phone number.
Example: Open the Business Partner Search Result by Phone Number 14127829508:
https://myXXXXXX.sapbydesign.com/sap/public/ap/ui/runtime?app.component=/SAP_BYD_APPLICATION_UI/mdm/bpm/PhoneNumber_To_MultipleBP_QAF.QA.uicomponent&app.inport=InPort¶m.KeyList.Key=14127829508
Best regards,
Knut
Update: Correction of the endpoint to launch ByD UIs with SSO.
I corrected the endpoint for SSO to "myXXXXXX-sso.sapbydesign.com/sap/ap/ui/runtime" (w/o "public").
Example: Launch project overview with SSO:
https://myXXXXXX-sso.sapbydesign.com/sap/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/ProjectManagement/Global&bo=Project&node=Root&operation=OpenByProjectID&object_key=200_PRO_250&key_type=APC_S_PROJECT_ID
Hello Knut,
I recently (March 2022) found out that there is a slightly different URL based on if tenants are on AWS (seem to start with my4...). However, I have been unable to find any documentation about this online.
Are there any resources you can point me to? The reason I ask is that one of our customers has an issue with Excel addIn using the new format URL and I was wondering if that (URL format) had any impact.
Also, does External OBN change in any way for the new URL format?
Best Regards
Jay
Hi Jay,
yes, newly provided tenants come with a new pattern for ByD hostnames: https://myXXXXXX.businessbydesign.cloud.sap/
The URL and hostname of existing ByD tenant remain the same and the URL extension for the endpoint remains the same as well.
Example with new hostname pattern:
https://myXXXXXX.businessbydesign.cloud.sap/sap/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/ProjectManagement/Global&bo=Project&node=Root&operation=OpenByProjectID&object_key=200_PRO_250&key_type=APC_S_PROJECT_ID
Best regards,
Knut
Hello Knut Heusermann
Many thanks for the detailed blogpost!
I'm trying to create a link for a dashboard but I'm struggling to work out if this is possible. Are you able to advise please?
Many thanks
Tristan
Hello Knut,
what is the link for the following objects?
Many thanks
Wolfgang
Hallo Wolfgang,
voilà:
Customer Contract Overview: Launch the contract overview
… using the contract ID 51:
https://myXXXXXX.businessbydesign.cloud.sap/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/CRM/Global&bo=CustomerContract&node=Root&operation=Open&object_key=51&key_type=APC_S_BTD_ID
… and using the contract UUID 00163E18-4318-1ED7-B9B2-84A6FC3E8061:
https://myXXXXXX.businessbydesign.cloud.sap/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/CRM/Global&bo=CustomerContract&node=Root&operation=Open&object_key=00163E1843181ED7B9B284A6FC3E8061&key_type=APC_V_UUID
Service Request: Launch the service request overview
… using the service request ID 1311:
https://myXXXXXX.businessbydesign.cloud.sap/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/CRM/Global&bo=ServiceRequest&node=Root&operation=Open&object_key=1311&key_type=APC_S_BTD_ID
… and using the service request UUID FA163EDC-0899-1EED-95DA-315C687DC0D2:
https://myXXXXXX.businessbydesign.cloud.sap/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/CRM/Global&bo=ServiceRequest&node=Root&operation=Open&object_key=FA163EDC08991EED95DA315C687DC0D2&key_type=APC_V_UUID
Service Order: Launch the service order overview
… using the service order ID 1033:
https://myXXXXXX.businessbydesign.cloud.sap/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/CRM/Global&bo=ServiceOrder&node=Root&operation=Open&object_key=1033&key_type=APC_S_BTD_ID
… and using the service order UUID 00163E63-3CEC-1ED8-A5AC-B60FAC0D6918:
https://myXXXXXX.businessbydesign.cloud.sap/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/CRM/Global&bo=ServiceOrder&node=Root&operation=Open&object_key=00163E633CEC1ED8A5ACB60FAC0D6918&key_type=APC_V_UUID
Best regards,
Knut
Wow, that was fast. Thanks Knut.
I am amazed that such quick actions are possible within the large SAP organization. 👍🙂
Hi Knut,
I have tested the links.
But I get errors with all three links.
No matter if I take data from the test or productive system.
For example, here is the link to a service request in the test system:
https://my360940.businessbydesign.cloud.sap/sap/public/ap/ui/runtime?bo_ns=http://sap.com/xi/AP/CRM/Global&bo=ServiceRequest&node=Root&operation=Open&object_key=78082&key_type=APC_S_BTD_ID
Can you please check?
Hi Wolfgang,
ByD uses two possible hostname patterns: myXXXXXX.sapbydesign.com/ and the new pattern myXXXXXX.businessbydesign.cloud.sap/. Please check your ByD UI URL to use the right pattern.
Another possible root cause could be, that your user does not have the authorization for the respective work center view.
BR, Knut
Hi Knut,
this pattern works for us: myXXXXXX.sapbydesign.com/
Thank you!
Wolfgang
Hi Knut,
Is it also possible to access product planning details by an External OBN?
Background: We have QR codes on the labels of our raw materials and semi-finished products. This allows us to quickly and easily access relevant data about the product, the planning and the stock. But today we have to copy and paste the link manually. With External OBN, this can be automated. This saves time and errors.
Best regards
Wolfgang