Skip to Content
Technical Articles

Enabling XECM Business Workspace in My Inbox Fiori App

Business workspace from XECM is used to contain documents related to business objects in SAP system. It is one of the Document Management Solution provided by Open Text.

My Inbox 2.0 Fiori app provided by SAP is used to Approve/Reject work items assigned to user. Work items are rendered in My Inbox using two ways

AnnotaionbasedtaskUI
Webapp based

 

Here we are going to talk about how to enable business workspace for Purchase Order, Purchase Requisition and Contract in My Inbox.

PO, PR and Contact use annotation based UI configured in backend using transaction SWFVISU.

 

This blog explain the solution accelerator provided by Open Text in order to incorporate Business workspace in Fiori Apps.

Prerequisites:

XECM is already enabled in SAP system which could be accessed using GUI transactions.

Steps to enabled business workspace in My Inbox 2.0 Fiori app:

Step 1:  According to version of XECM installed in your landscape , you need to add add-ons in both SAP frontend and Backend system.

Document reference: SAP_Extended_ECM_Solution_Accelerator_for_SAP_Fiori_Business_Object_Browsing (OpenText)

For Version 16:

Backend SAP system

OTEXBAS 1600_700

OTEXBASO 1600_700

OTEXRL 1600_700

OTEXRLO 1600_700

FrontEnd SAP system

OTEXBASF 1600_740

OTEXRLF 1600_740

For Version 16.2:

Backend SAP system

OTEXBAS 1620_700

OTEXBASO 1620_700

OTEXRL 1620_700

OTEXRLO 1620_700

FrontEnd SAP system

OTEXBASF 1620_740

OTEXRLF 1620_740

 

 

Step 2: Import Transports to SAP system (Download sol_acc_fiori_bob_docacc_xecm_sap_1_0.zip from OpenText)

BackEnd SAP System

Import DALK900376, DALK900388 and DALK900334

FrontEnd SAP System

Import D5OK900639 and D5OK900374

 

 

Step 3: Enabled following SICF service in Front End system

sap/bc/ui5_ui5/otbcwui/pf07_bc_ui_02

sap/bc/ui5_ui5/otbcwui/pf07_bc_ui_02_t

sap/bc/ui5_ui5/otx/alf_docs4bc

sap/bc/ui5_ui5/otx/alf_doc_ui

sap/bc/ui5_ui5/otx/rmf_bws4bc

sap/bc/ui5_ui5/otx/rmf_bws_ui

 

 

Step 4: Register following Services in FrontEnd system using Transaction /IWFND/MAINT_SERVICE (You can register using Local system alias in case of Embedded system)

/OTX/RM_WSC_ODATA_SRV

/OTX/PF05_DATA

 

Step 5: Now we need to extend My Inbox Fiori application using SAP WebIDE

Open SAP WebIDE and click on File -> New -> Extension Project

Select SAP Front End system from dropdown

Extended%20My%20Inbox%20Project

Extended My Inbox Project

 

A list of fiori apps will appear, select CA_FIORI_INBOX and click OK.

Now an Extension Project of My Inbox Fiori Application would be created by SAP WebIDE.

Step 6: Register rmf_bws_ui application component inside My Inbox application by putting below code in Component.js.

jQuery.sap.registerModulePath('otx.ecmlink.businessworkspace','/sap/bc/ui5_ui5/otx/rmf_bws_ui');

try {

jQuery.sap.require('otx.ecmlink.businessworkspace.Component');

} catch(err) {

jQuery.sap.log.error(

"Cannot create business workspace component", err.message);

var sBwsActive = false;

}










Step 7: Create Frag Folder under webapp folder of your extended application

Create file businessworkspace.fragment.js under the Frag Folder

Add below piece of code to it.

sap.ui.jsfragment("cross.fnd.fiori.inbox.CA_FIORI_INBOXExtension.frag.businessworkspace", {

createContent: function (oController) {

var obj = sap.ui.getCore().getComponent("OtBwsComp");

if (obj) {

obj.destroy();

}

try {

var oCompBws = sap.ui.getCore().createComponent({

name: "otx.ecmlink.businessworkspace",

id: "OtBwsComp",

settings: {

SystemOrigin: "OTBCWUI_BACKEND",

// you can use system alias defined by use for the odata service    /OTX/RM_WSC_ODATA_SRV

AppMode: false,

UseClassicConfig: true

}

});

var oComponentContainerBws = new sap.ui.core.ComponentContainer({

component: oCompBws

});

var oContBws = oComponentContainerBws;

} catch (err) {

// Generate error output

oContBws = new sap.m.Label({

design: sap.m.LabelDesign.Bold,

text: "No Data",

textAlign: sap.ui.core.TextAlign.Center,

width: "100%",

visible: true

});

// Log an error to the console

//            jQuery.sap.log.error("Cannot create BW component", err.message);

}

// Define the IconTabFilter for Business Documents

var oIconTabFilterBws = new sap.m.IconTabFilter({

key: "OTXBWDocuments",

icon: "sap-icon://documents",

tooltip: "Business Workspace",

visible: true,

content: oContBws

});

oIconTabFilterBws.data("OtComponent", oCompBws);

return oIconTabFilterBws;

}

});

Note: useClassicConfig parameter will help you in not replacing the content server hostname and port name with Fiori Launchpad.

 

 

Step 7: Extend TaskUI_S3.view.xml and TaskUI_S3.controller.js Controller

Copy TaskUI_S3.view.xml and TaskUI_S3.controller.js Controller file from standard CA_FIORI_INBOX application to your view folder of your extended application

Write below piece of code in Manifest .json of your extended application

In TaskUI_S3.view.xml file add new item under icontabbar in order to call above create fragment (Businessworkspace.fragment,js)

Fragment%20insertion

Fragment insertion

 

 

Step 8: On click of Business Workspace in Detail page of My Inbox application, handleTabSelect method will be called so need to refresh the content of our icontabfilter with values of Business Object and Business Object ID.

if (k === "OTXBWDocuments") // Logic to Refresh Business Workspace Widget on click of Business Workspace tab

{

var oComp = sap.ui.getCore().getComponent("OtBwsComp");

var y = this.getView();

var d = y.getModel("detail");

var taskId = d.oData.TaskDefinitionID;

var taskTitle = d.oData.TaskTitle;

var sObjectId = taskTitle.match(/(\d+)/);

if (taskId === "TS20000166") {

var sSapObject = "BUS2012"; // Business Object for Purchase Order

oComp.refresh(sSapObject, sObjectId[0]);

}

if (taskId === "TS20000172") {

var sSapObject = "BUS2014"; // Business Object for Contract

oComp.refresh();

sap.ui.commons.MessageBox.alert("No Business Workspace Exists");

}

if (taskId === "TS20000159") {

var sSapObject = "BUS2105"; // Business Object for Requisition

oComp.refresh(sSapObject, sObjectId[0]);

}

}

Step 9: Deploy the application to your FrontEnd application and configure the tile using this extended application.

 

Enjoy using Business Workspace in your My Inbox Fiori Application for PR , PO and Contract.

Happy learning!

1 Comment
You must be Logged on to comment or reply to a post.
  • This is going to be a strange comment.  The first thing I want to say is that I did not set up our Fiori inbox.  Someone else did.

    Next - for approvals, rejects, reworks.   All of these are driven by a workflow.  Part of the workflow is saving the documents.   Another part of the workflow would save any comments made in the approval/reject/rework.   I can pull all of that from our workflow logs.  The PDFs attachments themselves are saved in a separate area.

    The above seems like a lot of work to get to the above.  Our workflow items are in an HTML format.

    Is this simply a different way of doing things?  I know there are 1001 different ways to do the same thing in SAP.  For me, it would have helped to see the final result.

    It's an interesting blog for my morning - it made me think.