cancel
Showing results for 
Search instead for 
Did you mean: 

Problem with Network UI Element

Former Member
0 Kudos

Hi,

I have a big problem with Network UI Element

I am planing organization chart

when I deploy the App

Somtimes I See The App with arrow (it's OK)

but somtimes I see the App without arrow (It's wrong)

i don't change nothing in the source and it's change

plz help meeeee

Regards

Yossi

This is the source

public void buildDOM( )

{

//@@begin buildDOM()

// File fileName = new File ("orgchart.xml");

wdThis.wdGetEmpUserIdInterface().getemp();

wdContext.currentContextElement().setPernrRet(wdContext.currentContextElement().getPernrRet());

Zhr_Rfc_Disp_Manger_Employees2_Input input = new co.i.bnhp.model.Zhr_Rfc_Disp_Manger_Employees2_Input();

wdContext.nodeZhr_Rfc_Disp_Manger_Employees2_Input().bind(input);

input.setP_Pernr("1511");

// input.setP_Pernr(wdContext.currentContextElement().getPernrRet());

try{

String xmlFile =WDURLGenerator.getResourcePath(wdComponentAPI.getDeployableObjectPart(), "
tmp
tipex.xml");

File file = new File(xmlFile);

/////////////////////////////

//Creating an empty XML Document

//We need a Document

input.execute();

DocumentBuilderFactory dbfac = DocumentBuilderFactory.newInstance();

DocumentBuilder docBuilder = dbfac.newDocumentBuilder();

// DOMImplementation impl = docBuilder.getDOMImplementation();

Document doc = docBuilder.newDocument();

////////////////////////

//Creating the XML tree

Element SapJNETData = doc.createElement("SAPJNetData");

SapJNETData.setAttribute("version","1.0");

doc.appendChild(SapJNETData);

Element typeRepository = doc.createElement("TypeRepository");

typeRepository.setAttribute("id","orgchart");

typeRepository.setAttribute("version","1.0");

SapJNETData.appendChild(typeRepository);

Element color = doc.createElement("COLOR");

typeRepository.appendChild(color);

Element type1 = doc.createElement("type");

type1.setAttribute("name","OCBlue");

Element rgb1 = doc.createElement("rgb");

Text textRGB1 = doc.createTextNode("0,0,128");

color.appendChild(type1);

rgb1.appendChild(textRGB1);

type1.appendChild(rgb1);

Element type2 = doc.createElement("type");

type2.setAttribute("name","OCGray");

Element rgb2 = doc.createElement("rgb");

Text textRGB2 = doc.createTextNode("215,220,216");

color.appendChild(type2);

rgb2.appendChild(textRGB2);

type2.appendChild(rgb2);

Element type3 = doc.createElement("type");

type3.setAttribute("name","OCGrayer");

Element rgb3 = doc.createElement("rgb");

Text textRGB3 = doc.createTextNode("195,200,196");

color.appendChild(type3);

rgb3.appendChild(textRGB3);

type3.appendChild(rgb3);

Element type4 = doc.createElement("type");

type4.setAttribute("name","OCLighter");

Element rgb4 = doc.createElement("rgb");

Text textRGB4 = doc.createTextNode("235,240,236");

color.appendChild(type4);

rgb4.appendChild(textRGB4);

type4.appendChild(rgb4);

Element layout = doc.createElement("LAYOUT");

typeRepository.appendChild(layout);

Element typeLayout = doc.createElement("type");

typeLayout.setAttribute("name","OCLayout");

Element style = doc.createElement("style");

Text textStyle = doc.createTextNode("VERTICAL_FLOW");

layout.appendChild(typeLayout);

typeLayout.appendChild(style);

style.appendChild(textStyle);

Element label = doc.createElement("LABEL");

typeRepository.appendChild(label);

Element typeLabel1 = doc.createElement("type");

typeLabel1.setAttribute("name","OCLabelBase");

Element colorLabel = doc.createElement("color");

colorLabel.setAttribute("type","Black");

Element font1 = doc.createElement("font");

Element size1 = doc.createElement("size");

Text textSize1 = doc.createTextNode("12");

Element multiLine =doc.createElement("multiLine");

Text textMultiLine=doc.createTextNode("TRUE");

Element hAlign = doc.createElement("halign");

Text textHalign = doc.createTextNode("CENTER");

Element hAlignText = doc.createElement("halignText");

Text textHalignText = doc.createTextNode("CENTER");

Element border1 = doc.createElement("border");

Element insets1 = doc.createElement("insets");

insets1.setAttribute("top","3");

Element typeLabel2 = doc.createElement("type");

typeLabel2.setAttribute("name","OCLabelOrgUnit");

typeLabel2.setAttribute("inherits","OCLabelBase");

Element colorLabel2 = doc.createElement("color");

colorLabel2.setAttribute("type","OCBlue");

Element fillColorLabel2 = doc.createElement("fillColor");

fillColorLabel2.setAttribute("type","OCGrayer");

Element font2 = doc.createElement("font");

Element style2 = doc.createElement("style");

Text textStyle2 = doc.createTextNode("BOLD");

Element border2 = doc.createElement("border");

Element thickness = doc.createElement("thickness");

Text textThickness = doc.createTextNode("1");

Element Side = doc.createElement("sides");

Text textSide = doc.createTextNode("SOUTH");

Element typeLabel3 = doc.createElement("type");

typeLabel3.setAttribute("name","OCLabelNumber");

typeLabel3.setAttribute("inherits","OCLabelBase");

Element colorLabel3 = doc.createElement("color");

colorLabel3.setAttribute("type","OCBlue");

Element size3 = doc.createElement("size");

Text textSize3 = doc.createTextNode("40,0");

Element halign3 = doc.createElement("halign");

Text textHalign3 = doc.createTextNode("RIGHT");

Element multiLine3 = doc.createElement("multiline");

Text textMultiLine3 = doc.createTextNode("FALSE");

Element border3 = doc.createElement("border");

Element Thickness3 = doc.createElement("thickness");

Text textThickness3 = doc.createTextNode("1");

Element insets3 = doc.createElement("insets");

insets3.setAttribute("top","0");

Element Sides3 = doc.createElement("sides");

Text textSides3 = doc.createTextNode("NORTH,WEST");

Element typeLabel4 = doc.createElement("type");

typeLabel4.setAttribute("name","OCLabelChief");

typeLabel4.setAttribute("inherits","OCLabelBase");

Element font4 = doc.createElement("font");

Element style4 = doc.createElement("style");

Element border4 = doc.createElement("border");

Element insets4 = doc.createElement("insets");

insets4.setAttribute("top","6");

Element edgeT = doc.createElement("EDGE");

Element typeEdge= doc.createElement("type");

typeEdge.setAttribute("name","OCLink");

Element Shape = doc.createElement("shape");

Element ThickNess =doc.createElement("thickness");

Element targetDeco = doc.createElement("targetdeco");

targetDeco.setAttribute("shape","NONE");

Element nodeT = doc.createElement("NODE");

Element typeNode = doc.createElement("type");

typeNode.setAttribute("name","OCNodeBase");

Element shape = doc.createElement("shape");

shape.setAttribute("type","Box");

Element fillColor = doc.createElement("fillColor");

fillColor.setAttribute("type","OCGray");

Element borderNode = doc.createElement("border");

Element styleNode = doc.createElement("style");

Element plugs = doc.createElement("plugs");

plugs.setAttribute("min","0");

plugs.setAttribute("position","SOUTH");

plugs.setAttribute("positionMode","CENTRIC");

Element socket = doc.createElement("sockets");

socket.setAttribute("min","0");

socket.setAttribute("position","NORTH");

socket.setAttribute("positionMode","CENTRIC");

Element OCNode = doc.createElement("type");

OCNode.setAttribute("name","OCNode");

OCNode.setAttribute("inherits","OCNodeBase");

Element OCNodeShape = doc.createElement("shape");

Element OCNodeSize = doc.createElement("size");

OCNodeSize.setAttribute("pack","true");

Element OClayout = doc.createElement("layout");

OClayout.setAttribute("type","OCLayout");

Element OCNodeArrowUp = doc.createElement("type");

OCNodeArrowUp.setAttribute("name","OCNodeArrowUp");

OCNodeArrowUp.setAttribute("inherits","OCNodeBase");

Element OCNodeArrowShape = doc.createElement("shape");

Element OcNodeArrowSize = doc.createElement("size");

Element OcNodeArrowLabel = doc.createElement("label");

Element OcNodeArrowicon = doc.createElement("icon");

Element OcNodeArrowHalign = doc.createElement("halign");

Element OCNodeArrowDown = doc.createElement("type");

OCNodeArrowDown.setAttribute("name","OCNodeArrowDown");

OCNodeArrowDown.setAttribute("inherits","OCNodeArrowUp");

Element OCNodeArrowDownLabel = doc.createElement("label");

Element OcNodeArrowDownIcon = doc.createElement("icon");

Element NodeGraph = doc.createElement("Graph");

Element OCGraph = doc.createElement("type");

OCGraph.setAttribute("name","OCGraph");

Element direction = doc.createElement("direction");

Element components = doc.createElement("components");

Element OCGraphLayouts = doc.createElement("layouts");

Element types = doc.createElement("types");

Element OCGraphlayout = doc.createElement("layout");

OCGraphlayout.setAttribute("type","TREE");

Element property1 = doc.createElement("property");

property1.setAttribute("name","STYLE");

property1.setAttribute("value","VARIABLE_SIZE");

Element property2 = doc.createElement("property");

property2.setAttribute("name","OFFS_X");

property2.setAttribute("value","50");

Element property3 = doc.createElement("property");

property3.setAttribute("name","OFFS_Y");

property3.setAttribute("value","30");

Element Graph = doc.createElement("Graph");

Graph.setAttribute("type","OCGraph");

Graph.setAttribute("version","1.0");

Element layouts = doc.createElement("layouts");

layouts.setAttribute("onLoad","TREE");

Element view = doc.createElement("view");

Element grid = doc.createElement("grid");

Text TextGrid = doc.createTextNode("80,80");

Element UserInterface = doc.createElement("userInterface");

UserInterface.setAttribute("version","1.0");

Element mode = doc.createElement("mode");

label.appendChild(typeLabel1);

typeLabel1.appendChild(colorLabel);

typeLabel1.appendChild(font1);

font1.appendChild(size1);

size1.appendChild(textSize1);

typeLabel1.appendChild(multiLine);

multiLine.appendChild(textMultiLine);

typeLabel1.appendChild(hAlign);

hAlign.appendChild(textHalign);

typeLabel1.appendChild(hAlignText);

hAlignText.appendChild(textHalignText);

typeLabel1.appendChild(border1);

border1.appendChild(insets1);

label.appendChild(typeLabel2);

typeLabel2.appendChild(colorLabel2);

typeLabel2.appendChild(fillColorLabel2);

typeLabel2.appendChild(font2);

font2.appendChild(style2);

style2.appendChild(textStyle2);

typeLabel2.appendChild(border2);

border2.appendChild(thickness);

thickness.appendChild(textThickness);

border2.appendChild(Side);

Side.appendChild(textSide);

label.appendChild(typeLabel4);

typeLabel4.appendChild(font4);

font4.appendChild(style4);

style4.appendChild(doc.createTextNode("BOLD"));

typeLabel4.appendChild(border4);

border4.appendChild(insets4);

label.appendChild(typeLabel3);

typeLabel3.appendChild(colorLabel3);

typeLabel3.appendChild(size3);

size3.appendChild(textSize3);

typeLabel3.appendChild(halign3);

halign3.appendChild(textHalign3);

typeLabel3.appendChild(multiLine3);

multiLine3.appendChild(textMultiLine3);

typeLabel3.appendChild(border3);

border3.appendChild(Thickness3);

Thickness3.appendChild(textThickness3);

border3.appendChild(insets3);

insets3.setAttribute("top","0");

border3.appendChild(Sides3);

Sides3.appendChild(textSides3);

typeRepository.appendChild(edgeT);

edgeT.appendChild(typeEdge);

typeEdge.appendChild(Shape);

Shape.appendChild(doc.createTextNode("BENT"));

typeEdge.appendChild(ThickNess);

ThickNess.appendChild(doc.createTextNode("1"));

typeEdge.appendChild(targetDeco);

typeRepository.appendChild(nodeT);

nodeT.appendChild(typeNode);

typeNode.appendChild(shape);

shape.appendChild(fillColor);

shape.appendChild(borderNode);

borderNode.appendChild(styleNode);

styleNode.appendChild(doc.createTextNode("RAISED"));

typeNode.appendChild(plugs);

typeNode.appendChild(socket);

nodeT.appendChild(OCNode);

OCNode.appendChild(OCNodeShape);

OCNodeShape.appendChild(OCNodeSize);

OCNodeSize.appendChild(doc.createTextNode("150,0"));

OCNode.appendChild(OClayout);

nodeT.appendChild(OCNodeArrowUp);

OCNodeArrowUp.appendChild(OCNodeArrowShape);

OCNodeArrowShape.appendChild(OcNodeArrowSize);

OcNodeArrowSize.appendChild(doc.createTextNode("22,21"));

OCNodeArrowUp.appendChild(OcNodeArrowLabel);

OcNodeArrowLabel.appendChild(OcNodeArrowicon);

OcNodeArrowicon.appendChild(doc.createTextNode("apps/orgchart/arrow-up.gif"));

OcNodeArrowLabel.appendChild(OcNodeArrowHalign);

OcNodeArrowHalign.appendChild(doc.createTextNode("CENTER"));

nodeT.appendChild(OCNodeArrowDown);

OCNodeArrowDown.appendChild(OCNodeArrowDownLabel);

OCNodeArrowDownLabel.appendChild(OcNodeArrowDownIcon);

OcNodeArrowDownIcon.appendChild(doc.createTextNode("apps/orgchart/arrow-down.gif"));

typeRepository.appendChild(NodeGraph);

NodeGraph.appendChild(OCGraph);

OCGraph.appendChild(direction);

direction.appendChild(doc.createTextNode("TOP_BOTTOM"));

OCGraph.appendChild(components);

components.appendChild(doc.createTextNode("OCNode"));

OCGraph.appendChild(OCGraphLayouts);

OCGraphLayouts.appendChild(types);

types.appendChild(doc.createTextNode("TREE"));

OCGraphLayouts.appendChild(OCGraphlayout);

OCGraphlayout.appendChild(property1);

OCGraphlayout.appendChild(property2);

OCGraphlayout.appendChild(property3);

SapJNETData.appendChild(UserInterface);

UserInterface.appendChild(mode);

mode.appendChild(doc.createTextNode("READONLY"));

SapJNETData.appendChild(Graph);

Graph.appendChild(layouts);

Graph.appendChild(view);

view.appendChild(grid);

grid.appendChild(TextGrid);

for (int i=0; i<wdContext.nodeZhr_Rfc_Employees2().size(); i++) {

IPublicOrgTree.IEmpElement Emp = wdContext.nodeEmp().createEmpElement();

IPublicOrgTree.IZhr_Rfc_Employees2Element curEmp = wdContext.nodeZhr_Rfc_Employees2().getZhr_Rfc_Employees2ElementAt(i);

Element node = doc.createElement("node");

node.setAttribute("id",curEmp.getEmp_Pernr());

node.setAttribute("type","OCNode");

Element label1 = doc.createElement("label");

label1.setAttribute("type","OCLabelOrgUnit");

Text TextLabel1 = doc.createTextNode(curEmp.getEmp_Name());

Element label2 = doc.createElement("label");

label2.setAttribute("type","OCLabelChief");

Text TextLabel2 = doc.createTextNode(curEmp.getEmp_Pernr());

Graph.appendChild(node);

node.appendChild(label1);

label1.appendChild(TextLabel1);

node.appendChild(label2);

label2.appendChild(TextLabel2);

wdContext.nodeEmp().addElement(Emp);

}

for (int i=0; i<wdContext.nodeZhr_Rfc_Employees2().size()-1; i++) {

IPublicOrgTree.IEmpElement Emp = wdContext.nodeEmp().createEmpElement();

IPublicOrgTree.IZhr_Rfc_Employees2Element curEmp = wdContext.nodeZhr_Rfc_Employees2().getZhr_Rfc_Employees2ElementAt(i);

for (int j=i1; j<wdContext.nodeZhr_Rfc_Employees2().size(); j+)

if (wdContext.nodeZhr_Rfc_Employees2().getZhr_Rfc_Employees2ElementAt(i).getEmp_Pernr().equals(wdContext.nodeZhr_Rfc_Employees2().getZhr_Rfc_Employees2ElementAt(j).getEmp_Manager()))

{

Element edge = doc.createElement("edge");

edge.setAttribute("type","OCLink");

Element from = doc.createElement("from");

from.setAttribute("node",curEmp.getEmp_Pernr());

Element to = doc.createElement("to");

to.setAttribute("node",wdContext.nodeZhr_Rfc_Employees2().getZhr_Rfc_Employees2ElementAt(j).getEmp_Pernr());

Graph.appendChild(edge);

edge.appendChild(from);

edge.appendChild(to);

}

}

// typeLabel3.appendChild()

// Element font = doc.createElement("font");

// .appendChild(color);

// type1.appendChild(rgb1);

//create a comment and put it in the root element

// Comment comment = doc.createComment("Just a thought");

// type1.appendChild(comment);

//create child element, add an attribute, and add to root

// Element child = doc.createElement("child");

//child.setAttribute("name", "value");

//type.appendChild(child);

//add a text element to the child

/////////////////

//Output the XML

//set up a transformer

TransformerFactory transfac = TransformerFactory.newInstance();

Transformer trans = transfac.newTransformer();

trans.setOutputProperty(OutputKeys.ENCODING, "ISO-8859-8");

// trans.setOutputProperty(OutputKeys.STANDALONE, "yes");

trans.setOutputProperty(OutputKeys.INDENT, "yes");

//create string from xml tree

// StringWriter sw = new StringWriter();

StreamResult result = new StreamResult(file);

DOMSource source = new DOMSource(doc);

trans.transform(source, result);

// wdContext.currentContextElement().setXmlString(sw.toString());

} catch (DOMException e) {

wdComponentAPI.getMessageManager().reportException("2-"+e.getMessage(),true);

} catch (TransformerConfigurationException e) {

wdComponentAPI.getMessageManager().reportException("3-"+e.getMessage(),true);

} catch (IllegalArgumentException e) {

wdComponentAPI.getMessageManager().reportException("4-"+e.getMessage(),true);

} catch (FactoryConfigurationError e) {

wdComponentAPI.getMessageManager().reportException("5-"+e.getMessage(),true);

} catch (ParserConfigurationException e) {

wdComponentAPI.getMessageManager().reportException("6-"+e.getMessage(),true);

} catch (TransformerFactoryConfigurationError e) {

wdComponentAPI.getMessageManager().reportException("7-"+e.getMessage(),true);

} catch (TransformerException e) {

wdComponentAPI.getMessageManager().reportException("8!-"+e.getMessage(),true);

}

catch (WDDynamicRFCExecuteException e) {

wdComponentAPI.getMessageManager().reportException("9!-"+e.getMessage(),true);

}

catch (WDAliasResolvingException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

// catch (IOException e) {

// wdComponentAPI.getMessageManager().reportException("10-"+e.getMessage(),true);

//

// }

// catch (SAXException e) {

// // TODO Auto-generated catch block

// e.printStackTrace();

// }

//@@end

}

public void supplySource(IPrivateOrgTree.ISourceNode node, IPrivateOrgTree.IContextElement parentElement)

{

//@@begin supplySource(IWDNode,IWDNodeElement)

IPublicOrgTree.ISourceElement element =node.createSourceElement();

node.addElement(element);

try{

String orgChart =WDURLGenerator.getResourcePath(wdComponentAPI.getDeployableObjectPart(), "//tmp//tipex.xml");

String demo =WDURLGenerator.getResourcePath(wdComponentAPI.getDeployableObjectPart(), "orgchart.xml");

FileInputStream is = new FileInputStream(demo);

element.setXml(WDResourceFactory.createResource(is, "",WDWebResourceType.XML, false));

}

// handle exceptions properly ifthis were not a demo app

catch (FileNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

catch (WDAliasResolvingException e)

{

wdComponentAPI.getMessageManager().reportWarning("****");

}

catch (IOException e){}

//@@end

}

Accepted Solutions (0)

Answers (3)

Answers (3)

sanyev
Active Participant
0 Kudos

Hi Yossi Tamam ,

You have good documentation about NetworkUI element [here|http://help.sap.com/saphelp_nw2004s/helpdata/en/f5/248841a79f1609e10000000a155106/frameset.htm] and [here.|https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/lw/uuid/f010ec31-9658-2910-3c83-c6e62904eceb] Network UI in also called JNet. The visibility of the arrows can be controlled in the data xml. You have to analyze the xml. It will be visible in your java console or you can write the xml to a file from the IWDResource attribute bound to the NeworkUI.

Regards,

Sanyev

Former Member
0 Kudos

No, i have no error in java console

Former Member
0 Kudos

Hi,

I am also trying to develop organization chart in the WD.

How can i do that?

Plz help me out this?

Thanks,

Former Member
0 Kudos

Hi,

When the lines(edges) are not displayed do you see any errors in the java console?

IE->Tools->Sun Java Console.

Regards

Ayyapparaj