Skip to Content

What is SAP VE Viewer
SAP Visual Enterprise Viewer (VEV) is used to view 2D/3D images on various SAP tools, web pages and even with Microsoft Office. VEV is an end-user tool which is lightweight, powerful, easy to use, and free of charge. It enables nontechnical users to view and interact with authored and published 2D and 3D content. One can provide visual instruction to a shop floor operator with help of SAP VEV. Following is a screen shot of image representation in VEV.

User can rotate the image, zoom in/out it ,select any of the component and view its meta-data but can not edit it.
In this blog the focus is on integrating VEV with .irpt pages which can be built through SAP MII.
Prerequisites
SAP VEV should be installed on the client machine. Following are the hardware/software requirements for SAP VE Viewer 9.

Note: It can work with 2GB RAM and without graphic card but some of the functionalties like comparison of two images will not work.

Integration
         Once VEV is installed, its Integration with MII .irpt page is very simple. Generally 2D/3D files are of .rh and .vds format. For the explanation .rh file has been considered throughout this blog but the same is applicable to other format also. HTML renders these files as an object so it can be embedded by use of object tag with below syntax .

<object id="DeepView" type="application/rh" width="100%" height="60%" >
<paramname="FileName" value="filePath”>
</object>

Here “filePath” is the path of the 3D file that we want to embedd. It can be loaded dynamically with use of java script function:

dvPlugin= document.getElementById("DeepView");
dvPlugin.LoadFile("filePath");

After loading the file in object, we have to initialize some events that VEV provides. Below is the code to initialize and to get meta-data (refdes) of the selected node.

dvPlugin.SceneLoaded= sceneLoaded; //assigning sceneLoaded function on node selection event
dvPlugin.NodesSelected= selectionChanged; //assigning selectionChanged function on node selection event
selectionChanged([]);


//sceneLoaded function which will be trggered on scene loaded event
function sceneLoaded(){
GetNodeMetadataStrings();
var sceneLoad=GetNodeMetadataStrings();
}

//sceneLoaded function which will be trggered on node selected event
function selectionChanged(nodes) {
var refdes=[]; //declaring an array to store refdes value of all the selected nodes
for (var i = 0; i < nodes.count; i++) { //looping around all the selected nodes
var node = nodes.item(i); //storing current node info in node variable
var refdesData=node.Metadata.Item("rh").Item("refdes"); //fetching value of refdes
var refdesStr=GetMetadataVariableStringValue(refdesData); //converting value to a                                                                               //string
refdes.push(refdesStr); //pushing string values in an array
}
}

To report this post you need to login first.

Be the first to leave a comment

You must be Logged on to comment or reply to a post.

Leave a Reply