You just need to set the TargetHANAxApp as /B1SpatialDemo/ui/index.html and leave the TargetWebAppFullUrl as blank. The tool will compose the full url for your HAAN app dynamically by adding the https://<HANAServer>:4300 in prior to TargetHANAxApp.
-FormTitle: The title of your Web App Form, the default values as "My Web App"
-PassB1CredInUrl: "true" or "false" to determine if current user’s B1 credential will be added to URL as parameters including CompanyDB, User and Language, which can be used in your target web app to support connection to dynamic B1 company schema to support multi B1 company.
For example:https://<HANA_SERVER>:4300/B1SpatialDemo/ui/index.html?CompanyDB=SBODEMOUS&User=manager&Language=ln_English
-PassSLContextInUrl: "true" or "false" are possible values. If set to true the Service Layer Context will be passed in the URL, the SL context is obtained via UI API new SSO method available since B1H 9.2 version (for more information on SL SSO please check the blog SAP Business One Service Layer SSO with UI API).
Url example:
https://<HANA_SERVER>:4300/B1SpatialDemo/ui/index.html?SLCONTEXT=B1SESSION=cd41846e-638f-11e6-8000-0...Note: This feature is only implemented in the source code and not in the prepackaged addon executable and installer. You can download the source code from here.
In my HANA sample app, I have models and procedure deployed to SBODEMOUS, SBODEMOAU for Sales Analysis by Geospatial, using Server Side JavaScript(xsjs) to invoke the procedure to retrieve values from the models. To enable your HANA app work with multiple B1 company schemas, as a best practice, it is recommended to have the Company schema or company package dynamically as parameters into XSJS instead of a static company schema.
https://<HANASERVER>:4300/B1SpatialDemo/services/getCustomerList.xsjs?CompanyDB=SBODEMOUS&User=manager&Language=ln_English
An example of the B1xAppMenus.xml:
<?xml version="1.0" encoding="UTF-16"?>
<Application>
<Menus>
<action type="add">
<!--Menus for your B1xApp
It will add an folder on top of B1 Menu.
You can customize the menus as you like, except below
1.The naming conversion of menu id as "B1xApp_n" (n=0~9), used to open the xApp.
2.Image name "xApp_icon.png", the icon file name must be "xApp_icon.png".-->
<Menu Checked="0" Enabled="1" FatherUID="43520" Position="0" String="My Web Apps" Type="2" UniqueID="B1xApp" Image="{0}\xApp_icon.png">
<Menus>
<action type="add">
<Menu Checked="0" Enabled="1" FatherUID="B1xApp" Position="0" String="HANA App#1-Customer/Sales Ana on Map" Type="1" UniqueID="B1xApp_1"
TargetHANAxApp="/B1SpatialDemo/ui/index.html" TargetWebAppFullUrl="" PassB1CredInUrl="false" PassSLContextInUrl="true" FormTitle="Customer and Sales Analysis on Map"/>
<Menu Checked="0" Enabled="1" FatherUID="B1xApp" Position="1" String="Web App#2-SuccessFactor" Type="1" UniqueID="B1xApp_2"
TargetHANAxApp="" TargetWebAppFullUrl="https://pmsalesdemo8.successfactors.com/sf/home?_s.crb=RsKr8UXadKuYx%252bJKVgONbYDMjwY%253d"
PassB1CredInUrl="true" FormTitle="HR - SuccessFactors - Dashboard/KPI"/>
</action>
</Menus>
</Menu>
</action>
</Menus>
</Application>
As a result, the menus created as screenshot below:
B1xAppContainerAddOn listen to the menu events for the menu id following the pattern "B1xApp_n"(n=0~9), open a UI API form embedding a web browser with the given target url and form title of the web app.
You can download the lightweight Add-On package, Binary Files and source code of B1xAppContainerAddOn here.
Latest source code of the B1xAppContainerAddOn (containing the SLContext implementation) can be donwloaded from here.
The lightweight installer of B1xAppContainerAddOn is available as B1xAppContainerAddOn_LW_Installer.zip. You can use import and deploy B1xAppContainerAddOn, then just configure the menus and your target web app in B1xAppMenu.xml after deployment.
Step 1: Download the lightweight installer B1xAppContainerAddOn_LW_Installer.zip from download area above
Step 2: Import the lightweight Add-On package (B1xAppContainerAddOn_LW_Installer.zip) through lightweight Add-On deployment (SAP Business One menu=>System=>Add-On=>Add-On Administration)
Step 3: Assign the extension to your target company and users.
Step 4: (If applicable) Deploy your HANA App or external web App
Step 5: Customize the menu caption, icon and B1xAppPath or WebAppFullPath etc as described above the B1xAppMenu.xml and B1xAppContainerAddOn.exe.config
Step 6: Start the Add-On from Add-On manager.
Please note that the HANA app or external web app will be deployed separately, and the Add-On name is fixed as “B1xAppContainerAddOn” in Add-On Manager. If you would like to package your own lightweight extension package including HANA app delivery unit and specific configuration for your solution, check option 2 below.
If you would like to learn more about the lightweight extension management, please check this document: How to Package and Deploy SAP Business One Extensions for Lightweight Deployment in SAP Business One... (S-number login required)
You also can package your own lightweight extension with solution name and version management instead of fixed extension as B1xAppContainerAddOn in option 1. The executable files of the B1xAppContainerAddOn are also available in download area above as B1xAppContainerAddOn_executable.zip.
Step 1: (If applicable) Export your HANA App with SAP HANA Studio, File=>Export=>SAP HANA Content=>Delivery Unit.
Or deploy your external web app if necessary.
Step 2: Download and unzip the executable files (B1xAppContainerAddOn_executable.zip) from the download link above.
Step 3: Customize the menu caption, icon and B1xAppPath or WebAppFullPath etc as described above the B1xAppMenu.xml in the executable files in step 2.
Step 4: Package your own lightweight Add-On Package with ExtensionPackage tool, which can be found in the SDK installation folder. For example,
C:\Program Files (x86)\SAP\SAP Business One SDK\Tools\ExtensionPackage
Now you can enter the Extension name and version freely in the basic information page.
In Extension File, so you can use them for both 32 bit and 64 bit client, for this B1xAppContainerAddOn Add-On is compiled with any cpu option.
If there is a HANA App delivery unit exported in step 1, now you can upload the delivery unit of your HANA extreme App in the App for the version for SAP HANA. Be sure that your HANA App Delivery Unit can be imported to your target HANA system; otherwise you may receive an error for uploading the HANA Delivery Unit.
Then finally click the Package button to save your package. As a result, a ready-to-use package will be created including everything in one package.
Step 5: Import your own lightweight Add-On package in step 3 through lightweight Add-On deployment (SAP Business One menu=>System=>Add-On=>Add-On Administration).
And the delivery unit of HANA App will be deployed when the package is deployed if HANA app is included in Step 3, so you don’t have to deploy the HANA App by manual.
Step 6: Start your Container Add-On for your Web Apps from Add-On manager.
Alternatively, if B1xAppContainerAddOn doesn't accomplish your specific requirement to accommodate the web app, source code of the tool is also available for your modification, and then follow the steps in option 2 to package and deploy it.
This B1xAppContainerAddOn tool and its source code are provided by SAP under SCN AS-IS license agreement.
No official support from SAP. If you have any question or feedback, you can leave a comment. I will do my best to reply. Thank you.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
8 | |
8 | |
8 | |
5 | |
4 | |
3 | |
3 | |
3 | |
3 | |
2 |