Implementation of Tree Strucure in ABAP
Hi,
I have to display a report in the tree structure.
--->Node....
Root Node------>Node....
--->Node.....
>Node....
The report goes like this...Is there any way to implement the same. I have to display the report in ALV.
and it is interactive.
Thanks in advance,
hi sumanth,
you can use htmln:Tree tag for ur problem
u try this code,
<htmlb:tree id = "t1"
title = "t1"
tooltip = "Tooltip for t1"
toggle = "X" >
<htmlb:treeNode id = "n1"
text = "n1"
image = "@09@" />
</htmlb:treeNode>
<htmlb:treeNode id = "node3"
link = "http://www.xyz.com"
text = "Node3"
isOpen = "true"
image = "@A0@" />
</htmlb:treeNode>
</htmlb:tree>
u can similarly add any number of trees and their nodes.
and u can also define events in eventhandler corresponding to each child.
try this code in event handler
DATA: event TYPE REF TO CL_HTMLB_EVENT.
event = CL_HTMLB_MANAGER=>get_event( runtime->server->request ).
IF event IS NOT INITIAL AND event->name = 'tree'.
DATA: tree_event TYPE REF TO CL_HTMLB_EVENT_TREE.
tree_event ?= event.
ENDIF.
Regards,
kamaljeet
Similar Messages
-
Anyone knows how to implement Decomposition Tree in Oracle BI products? to
Hello Everybody
Recently I'm trying to use Oracle BIEE plus to upgrade our old report service in our product. I'm a newbee to OracleBI products but I have a question that oracle support guys in our region also could figure out a clear answer. If anybody here can give me some clues it would be appreciated.
I once used ProClarity BI product before, and ProClarity report service can provide a very powerful visualization tool like Decomposition Tree. I'm quite interested this function. But I searched many Oracle BIEE plus and ESSBASE documents, it seems Oracle BI can' implements the functional for which Proclrity Decomposition Tree can provided?
Is there any body knows any other solution to implement Decomposition Tree in Oracle BI product?
ThanksAppreciated the quick response:)
Yes. I don't find the directory object .. I'm not very familiar with biee so far so might be me slight this object in my investigation.
I need to check this object and see how it works.
And thanks for your advise. -
ALV tree without using abap objects---------urgent
hi
can anybody send me code for making alv tree without using ABAP objects.
thanks in advance
AdityaHI
goto this link
you will get all ALV TREE programs
follow that code you can understand very easily
http://www.sapdev.co.uk/reporting/alv/alvtree.htm
<b>Reward if usefull</b> -
Tree-Control in ABAP redifinieren
Hi there,
I would like to use my tree as navigation-menue. In this case, the alphabetical order of the entries is not used. I would like to specify the direction by myself. Is there any possibility to change or redefinate the abap class cl_wd_tree and how should I implement the changes into my application.
Kind regards,
Albert
Message was edited by: Albert Neumueller
Message was edited by: Albert NeumuellerHi Albert,
Redefining the class won't make a difference, since there won't be a renderer for your new class - including a number of other required settings/objects/interfaces.
Well, nonetheless there is a way to achieve what you want. You could use a ContextualNavigationPanel and there inside a NavigationList.
Best regards,
Thomas -
HI Experts,
I am working on WD for ABAP.
I am using a tree to display some data. Node1 points to Root and subnode1 point to node1.
node1-->root
subnode1--> node1
When we expand node1, it shows ">" (arrow) for child nodes.
and if we further expand chld node(sunbnode1) we can see "." (Dot)
As per my requirement IF the node1 does not have any value for subnode1 than node1 should not show ">" , istead of that it should how "." for that child node.
could anyone plz tell me ....
1)how can I solve this.
2)How to use recursive node. I have never used recursive nodes.
PLease reply ASAP. Its very urgent.
for helpfull answers full points would be rewarded.
Regards,
Vishal.Hi,
When you work on Tree, you should remember 4 important attributes.
expanded, parent row key, row_key and is_leaf.
To add children to parent we will have to maintain the relationship between row_key of PARENT and parent_row_key of CHILD.
if row_key = 1, then parent_row_key shoud be eqaul to row_key of parent, so that the corresponding childs will get added to parent.
if u put is_leaf = 'X'., then it means that they bcome childs(no longer exapndable ".")
and when u expand a parent, then expand = 'X'.
Provide Reward points.
Rewards, -
How to implement this calendar function in ABAP code
Hi everyone,
Our requirement is : Give a date (e.g. YYYY.MM.DD, 1983.12.26), then we need to know which weekday it is. Is there a existing FM for this fuction? or how to implement it in ABAP?
Thanks a lot for any hint
Best regards
DeyangHi Deyang Liu,
Could you please check these the below links they would give you some idea ....[SAP Calendar Control|http://help.sap.com/printdocu/core/print46b/en/data/en/pdf/BCCICALENDAR/SAP_KALENDER.pdf]
[Calendar functions |http://help.sap.com/saphelp_nw04/Helpdata/EN/2a/fa00f6493111d182b70000e829fbfe/content.htm]
[SAP Functions|http://abap4.tripod.com/SAP_Functions.html]
[Determine calendar |http://help.sap.com/saphelp_nw04/helpdata/en/2a/fa00e9493111d182b70000e829fbfe/content.htm]
Regards,
S.Manu -
Implementing a tree type structure - how?
I am fairly sufficient programming in Java, however I have never had the need to use (or learn) ways of implementing tree structures; therefore i'll try and explain carefully what i'm trying to achieve.
I need a method of grouping a small number of objects (no more than 20) in a logical way. The objects stored in the tree will be of the same class (the actual objects called 'wordObj' are quite basic, they only have 5 String fields).
The purpose is to represent a sentence of text, where each word is represented as a 'wordObj' object, into "meaningful" clusters.
For example, given the sentence:
"The pyramids were built in the egyptian city of Giza, 3000 years ago".
I want to represent the sentence in the following way:
ROOT (node 1): "Pyramids"
CHILD of ROOT (node 2): "Built"
CHILD of node 2 (node 3): "Giza"
CHILD of node 2 (node 4): "3000 years ago"
I have written an algorithm which extracts the information from the sentence so i'm not asking how to that; basically I need to find a way of creating the above tree structure within a single object. So the tree object can be passed between methods and the information held within it can be searched (I.e. get root node, retrieve child objects... etc) and the objects in the leaf nodes retrieved.
I hope I havent been to vague, any help or urls pointing to a suitable tutorial (which I cannot find) would be appreciated!
ThanksFor your example you might want lists (ordered children). Otherwise you could use it pretty much as-is:
final Node root = new Node("Pyramids");
final Node node2 = new Node("Built");
final Node node3 = new Node("Giza");
final Node node4 = new Node("3000 years ago");
root.getChildren().add(node2);
node2.getChildren().add(node3);
node2.getChildren().add(node4);(Edit)
Just to clarify, you would build the above tree however you want to, but would only need to retain the reference to the "root" node in order to pass it into search methods.
I should also point out that if you're planning to do a lot of this sort of thing and you're not committed to using Java, you should probably consider using LISP for which this sort of problem is pretty much its raison d'etre.
This online text is good: http://gigamonkeys.com/book/ and for learning how to do tree searches the Peter Norvig book is excellent: http://norvig.com/paip.html -
Hi,
In my present project we have requirement for developing ALV tree output using ALV configuration model in WD4A. Please provide sample code or tutorial related to ALV Tree development in WebDynpro ABAP.
Best regards,
AlleiahThere is no hierarchy of nodes when building an ALV or Table Tree in WDA. You still provide a flat structure of a single node. What you do is specify certain columns to be hierarchy columns. The framework then builds a sorting/grouping around these columns and turns them into the "pesudo nodes" of the tree.
This can be done via configuration or via coding:
http://www.flickr.com/photos/tjung/2802287945/
For instanace, taking the same flat SFLIGHT structure I can just define certain columns and create two different hierarchies:
http://www.flickr.com/photos/tjung/2802287971/
http://www.flickr.com/photos/tjung/2802287989 -
How to implement BSP in wed dynpro abap
Hi experts how to implement BSP application into
web dynpro abap, Plz send the application procedure in detail....how to implement BSP application into
web dynpro abap
If i understand your question correctly, you want to use BSP application inside your web dynpro ABAP application,
There are some ways to do:
if you want to simply navigate to BSP application from WDA application then you can use Exit Plugs
http://help.sap.com/saphelp_nw04s/helpdata/en/45/1bc575ba064574e10000000a114a6b/content.htm
If you want to navigate between BSP and WDA application you have to use Suspend and Resume Plugs
http://help.sap.com/saphelp_nw04s/helpdata/en/45/19bf8c16f25d7ae10000000a11466f/content.htm
Abhi -
Program to add node / delete node in the tree control via abap object
Hi all,
i am new to abap objects.
Can anyone help me out to give program about add node , delete node at
a particular point in tree hierarchy.
folder1 -- level 1
subfolder1 -- level 2
*********subfolder1 -- level 3
*********subfolder2 -- level 3
subfolder2 -- level 2
folder2 -- level 1
if i select level3 and click on ADD button .....i get a facility to add new node
at level 3 and and same thing can happen at level1 and level2 ............ if i select
and folder at level3 and click on delete button ....it should delete that folder...
if you do not have such program ........then guide me how to achieve this target via object oriented because i have to split the screen also and have to show some alve display in that.
just guide me how to add and delete node at a particular level in tree structure....
thanks in advance........Hello Ravi,
Try this demo program:
<b>BCALV_TREE_01</b>
<b>BCALV_TREE_DEMO</b>
BCALV_TREE_SIMPLE_DEMO
Also try:
BCALV_TREE_02
BCALV_TREE_03
BCALV_TREE_04
BCALV_TREE_05
BCALV_TREE_06
regards,
Beejal
**reward if this helps -
Implementing Menu Tree in the ADF Faces
We needed to create a Menu tree.
I.e a menu list and sub menus inside ont of them.
Something like this
Inbox
E-Prescription>>--Create New Prescription
>>--My Prescriptions
>>--Refill Requests
ReminderHas any one implemented this and woul dprovide a sample code.
Please helpJDev 10.1.3 documentation shows you how to do this. Refer to the section "Using PanelPage and Menu Components with a Menu Model" for more info. Specifically the sub-link within that help page "procedures for creating a menu model" will show you the steps. An online reference can be found here:
http://www.oracle.com/webapps/online-help/jdeveloper/10.1.3?topic=af_ppanelmodel_html
Hope this helps.
CM. -
I really needed this one implementation of tree table on mvc
hi there i'm burning my as* reading some tutorials about tree table and all i found was a complex codes
i just wanna know if you know some codes of a simple tree table where in the content of a tree or table was hardcoded and there are no thingy effects such as sortes. coz i really wanted to implement this on mvc since we are using STable here's the sample code:
View:
package treeTable;
import java.awt.*;
//import java.awt.event.MouseEvent;
//import java.util.EventObject;
import javax.swing.*;
//import javax.swing.table.TableCellEditor;
//import javax.swing.table.TableCellRenderer;
import javax.swing.table.TableColumnModel;
//import javax.swing.tree.DefaultTreeCellRenderer;
//import javax.swing.tree.DefaultTreeSelectionModel;
//import javax.swing.tree.TreeCellRenderer;
//import javax.swing.tree.TreeModel;
//import javax.swing.tree.TreePath;
import javax.swing.border.*;
//import javax.swing.event.ListSelectionEvent;
//import javax.swing.event.ListSelectionListener;
import com.jgoodies.forms.layout.CellConstraints;
import com.jgoodies.forms.layout.FormLayout;
//import com.borland.jbcl.layout.*;
import org.scopemvc.core.Control;
import org.scopemvc.core.Selector;
import org.scopemvc.view.swing.*;
* View for PosCCYFX
* @author Raymond Isip
public class HistoricTotalPositionByCurrencyFXView extends SPanel implements HistoricTotalPositionByCurrencyFXConstants {
// Instance variables for the selectors used by the JBuilder designer
Selector cashStructTBLSelector = CASH_STRUCT_TBL_SELECTOR;
Selector selectedCashStructTBLSelector = SELECTED_CASH_STRUCT_TBL_SELECTOR;
Selector optionsTBLSelector = OPTIONS_TBL_SELECTOR;
Selector selectedOptionsTBLSelector = SELECTED_OPTIONS_TBL_SELECTOR;
Selector fxcashStructuredFwdLBLSelector = FXCASH_STRUCTURED_FWD_LBL_SELECTOR;
Selector cashLBLSelector = CASH_LBL_SELECTOR;
Selector structFwdsLBLSelector = STRUCT_FWDS_LBL_SELECTOR;
Selector optionsLBLSelector = OPTIONS_LBL_SELECTOR;
FormLayout MainFormLayout = new FormLayout ("12,p,12,p,12", "11,p,11");
FormLayout LeftFormLayout = new FormLayout ("280,250,87", "p,p");
FormLayout LeftTableFormLayout = new FormLayout ("p", "p,p");
FormLayout RightTableFormLayout = new FormLayout ("300", "p,p");
FormLayout LeftSubFormLayout = new FormLayout ("100,50,100", "p");
CellConstraints cc = new CellConstraints();
Border cashStructTBLBorder;
STable cashStructTBLTable = new STable();
JScrollPane cashStructTBLScrollPane = new JScrollPane(cashStructTBLTable);
Border optionsTBLBorder;
STable optionsTBLTable = new STable();
JScrollPane optionsTBLScrollPane = new JScrollPane(optionsTBLTable);
JLabel fxcashStructuredFwdLBLLabel = new JLabel();
SLabel fxcashStructuredFwdLBLSLabel = new SLabel();
JLabel cashLBLLabel = new JLabel();
SLabel cashLBLSLabel = new SLabel();
JLabel structFwdsLBLLabel = new JLabel();
SLabel structFwdsLBLSLabel = new SLabel();
JLabel optionsLBLLabel = new JLabel();
SLabel optionsLBLSLabel = new SLabel();
* Constructor for the PosCCYFXView object
public HistoricTotalPositionByCurrencyFXView() {
jbInit();
* The main program for the PosCCYFXView class
* @param args The command line arguments
public static void main(String[] args) {
HistoricTotalPositionByCurrencyFXView view = new HistoricTotalPositionByCurrencyFXView();
JFrame frame = new JFrame();
frame.setSize(800, 600);
frame.getContentPane().add(view);
frame.setVisible(true);
* Used by Scope to set the window frame title.
* @return The title value
public String getTitle() {
return "PosCCYFX";
* Used by Scope to end the application when the window is closed.
* @return The closeControl value
public Control getCloseControl() {
return new Control(HistoricTotalPositionByCurrencyFXController.EXIT_CONTROL_ID);
* Description of the Method
* @return Description of the Return Value
public boolean validateForm() {
return true;
private void jbInit() {
this.setLayout(MainFormLayout);
JPanel LeftPanel = new JPanel();
JPanel LeftSubPanel = new JPanel();
JPanel LeftTablePanel = new JPanel();
JPanel RightTablePanel = new JPanel();
LeftPanel.setLayout(LeftFormLayout);
LeftSubPanel.setLayout(LeftSubFormLayout);
LeftTablePanel.setLayout(LeftTableFormLayout);
RightTablePanel.setLayout(RightTableFormLayout);
JScrollPane LeftScrollPane = new JScrollPane(LeftTablePanel);
//LeftScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
LeftScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_NEVER);
JScrollPane RightScrollPane = new JScrollPane(RightTablePanel);
RightScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
RightScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_NEVER);
LeftScrollPane.setPreferredSize(new Dimension(620,330));
RightScrollPane.setPreferredSize(new Dimension(300,330));
cashStructTBLTable.setSelector(cashStructTBLSelector);
cashStructTBLTable.setSelectionSelector(selectedCashStructTBLSelector);
String[] columnSelects = {"col1", "col2", "col3", "col4", "col5","col6", "col7", "col8", "col9", "col10"};
String[] columnNames = {"USD", "Date","Product Type", "Details", "Buy", "Sell", "Sub Total", "Buy", "Sell", "Total"};
int colWidths[] = {100,70,70,40,50,50,60,50,50,60};
cashStructTBLTable.setColumnSelectors(columnSelects);
cashStructTBLTable.setColumnNames(columnNames);
cashStructTBLTable.setPreferredScrollableViewportSize(new Dimension(600,273));
TableColumnModel cashStructTBLModel = cashStructTBLTable.getColumnModel();
for (int x=0; x<colWidths.length; x++) {
int width = colWidths[x];
cashStructTBLModel.getColumn(x).setPreferredWidth(width);}
cashStructTBLTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
cashStructTBLScrollPane.setBorder(cashStructTBLBorder);
cashStructTBLScrollPane.getViewport().add(cashStructTBLTable, null);
optionsTBLTable.setSelector(optionsTBLSelector);
optionsTBLTable.setSelectionSelector(selectedOptionsTBLSelector);
String[] columnSelects1 = {"col1", "col2", "col3"};
String[] columnNames1 = {"Buy", "Sell", "Total"};
int colWidths1[] = {90,90,100};
optionsTBLTable.setColumnSelectors(columnSelects1);
optionsTBLTable.setColumnNames(columnNames1);
optionsTBLTable.setPreferredScrollableViewportSize(new Dimension(300,290));
TableColumnModel optionsTBLModel = optionsTBLTable.getColumnModel();
for (int x1=0; x1<colWidths1.length; x1++) {
int width1 = colWidths1[x1];
optionsTBLModel.getColumn(x1).setPreferredWidth(width1); }
optionsTBLTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
optionsTBLScrollPane.setBorder(optionsTBLBorder);
optionsTBLScrollPane.getViewport().add(optionsTBLTable, null);
optionsTBLTable.setEnabled(false);
fxcashStructuredFwdLBLLabel.setText(" FX Cash & Structured Forwards");
fxcashStructuredFwdLBLLabel.setBorder(BorderFactory.createRaisedBevelBorder());
cashLBLLabel.setText(" Cash");
cashLBLLabel.setBorder(BorderFactory.createRaisedBevelBorder());
structFwdsLBLLabel.setText(" Structured FWDs");
structFwdsLBLLabel.setBorder(BorderFactory.createRaisedBevelBorder());
optionsLBLLabel.setText(" Options");
optionsLBLLabel.setBorder(BorderFactory.createRaisedBevelBorder());
/******************************Fillers*************************************/
JLabel sample = new JLabel(" ");
JLabel sample1 = new JLabel(" ");
JLabel sample2 = new JLabel(" ");
JLabel sample3 = new JLabel(" ");
JLabel sample4 = new JLabel(" ");
sample.setBorder(BorderFactory.createRaisedBevelBorder());
sample1.setBorder(BorderFactory.createRaisedBevelBorder());
sample2.setBorder(BorderFactory.createRaisedBevelBorder());
sample3.setBorder(BorderFactory.createRaisedBevelBorder());
sample4.setBorder(BorderFactory.createRaisedBevelBorder());
LeftSubPanel.add(sample, cc.xy(2,1));
LeftPanel.add(sample1, cc.xy(1,1));
LeftPanel.add(sample2, cc.xy(3,1));
LeftPanel.add(sample3, cc.xy(1,2));
LeftPanel.add(sample4, cc.xy(3,2));
LeftSubPanel.add(cashLBLLabel, cc.xy(1,1));
LeftSubPanel.add(structFwdsLBLLabel, cc.xy(3,1));
LeftPanel.add(fxcashStructuredFwdLBLLabel, cc.xy(2,1));
LeftPanel.add(LeftSubPanel, cc.xy(2,2));
LeftTablePanel.add(LeftPanel, cc.xy(1,1));
LeftTablePanel.add(cashStructTBLScrollPane, cc.xy(1,2));
RightTablePanel.add(optionsLBLLabel, cc.xy(1,1));
RightTablePanel.add(optionsTBLScrollPane, cc.xy(1,2));
this.add(LeftScrollPane, cc.xy(2,2));
this.add(RightScrollPane, cc.xy(4,2));
Model:
package treeTable;
import java.util.ArrayList;
import java.util.List;
import org.scopemvc.core.ModelChangeEvent;
import org.scopemvc.core.Selector;
import org.scopemvc.model.basic.*;
import org.scopemvc.model.collection.ListModel;
* Model for for PosCCYFX
* @author Raymond Isip
public class HistoricTotalPositionByCurrencyFXModel extends BasicModel implements HistoricTotalPositionByCurrencyFXConstants {
private ListModel cashStructTBLList = new ListModel();
private CashStructTBLItem selectedCashStructTBL = null;
private ListModel optionsTBLList = new ListModel();
private OptionsTBLItem selectedOptionsTBL = null;
private String fxcashStructuredFwdLBL;
private String cashLBL;
private String structFwdsLBL;
private String optionsLBL;
* Constructor for the PosCCYFXModel object
public HistoricTotalPositionByCurrencyFXModel() {
Object[] data1= new Object[]{"100","100","200"};
Object[] data2= new Object[]{"","29.Apr.2004","Forward","SGD","200","100","300","250","150","400"};
for(int x = 0; x<=25;x++){
selectedOptionsTBL = new OptionsTBLItem(data1);
optionsTBLList.add(selectedOptionsTBL);
selectedCashStructTBL = new CashStructTBLItem(data2);
cashStructTBLList.add(selectedCashStructTBL);
* Gets the cashStructTBL list
* @return The cashStructTBL list
public List getCashStructTBLList() {
return cashStructTBLList;
* Sets the cashStructTBL list
* @param newCashStructTBLList The new cashStructTBL list
public void setCashStructTBLList(List newCashStructTBLList) {
cashStructTBLList.setList(newCashStructTBLList);
this.fireModelChange(ModelChangeEvent.VALUE_CHANGED, CASH_STRUCT_TBL_SELECTOR);
* Gets the selected cashStructTBL item
* @return A cashStructTBL item
public CashStructTBLItem getSelectedCashStructTBL() {
return selectedCashStructTBL;
* Sets the selected cashStructTBL item
* @param newCashStructTBL The new cashStructTBL item
public void setSelectedCashStructTBL(CashStructTBLItem newCashStructTBL) {
selectedCashStructTBL = newCashStructTBL;
this.fireModelChange(ModelChangeEvent.VALUE_CHANGED, SELECTED_CASH_STRUCT_TBL_SELECTOR) ;
* Gets the optionsTBL list
* @return The optionsTBL list
public List getOptionsTBLList() {
return optionsTBLList;
* Sets the optionsTBL list
* @param newOptionsTBLList The new optionsTBL list
public void setOptionsTBLList(List newOptionsTBLList) {
optionsTBLList.setList(newOptionsTBLList);
this.fireModelChange(ModelChangeEvent.VALUE_CHANGED, OPTIONS_TBL_SELECTOR);
* Gets the selected optionsTBL item
* @return A optionsTBL item
public OptionsTBLItem getSelectedOptionsTBL() {
return selectedOptionsTBL;
* Sets the selected optionsTBL item
* @param newOptionsTBL The new optionsTBL item
public void setSelectedOptionsTBL(OptionsTBLItem newOptionsTBL) {
selectedOptionsTBL = newOptionsTBL;
this.fireModelChange(ModelChangeEvent.VALUE_CHANGED, SELECTED_OPTIONS_TBL_SELECTOR) ;
* Gets the fxcashStructuredFwdLBL attribute
* @return The fxcashStructuredFwdLBL value
public String getFxcashStructuredFwdLBL() {
return fxcashStructuredFwdLBL;
* Sets the fxcashStructuredFwdLBL attribute
* @param newFxcashStructuredFwdLBL The new fxcashStructuredFwdLBL value
public void setFxcashStructuredFwdLBL(String newFxcashStructuredFwdLBL) {
fxcashStructuredFwdLBL = newFxcashStructuredFwdLBL;
this.fireModelChange(ModelChangeEvent.VALUE_CHANGED, FXCASH_STRUCTURED_FWD_LBL_SELECTOR);
* Gets the cashLBL attribute
* @return The cashLBL value
public String getCashLBL() {
return cashLBL;
* Sets the cashLBL attribute
* @param newCashLBL The new cashLBL value
public void setCashLBL(String newCashLBL) {
cashLBL = newCashLBL;
this.fireModelChange(ModelChangeEvent.VALUE_CHANGED, CASH_LBL_SELECTOR);
* Gets the structFwdsLBL attribute
* @return The structFwdsLBL value
public String getStructFwdsLBL() {
return structFwdsLBL;
* Sets the structFwdsLBL attribute
* @param newStructFwdsLBL The new structFwdsLBL value
public void setStructFwdsLBL(String newStructFwdsLBL) {
structFwdsLBL = newStructFwdsLBL;
this.fireModelChange(ModelChangeEvent.VALUE_CHANGED, STRUCT_FWDS_LBL_SELECTOR);
* Gets the optionsLBL attribute
* @return The optionsLBL value
public String getOptionsLBL() {
return optionsLBL;
* Sets the optionsLBL attribute
* @param newOptionsLBL The new optionsLBL value
public void setOptionsLBL(String newOptionsLBL) {
optionsLBL = newOptionsLBL;
this.fireModelChange(ModelChangeEvent.VALUE_CHANGED, OPTIONS_LBL_SELECTOR);
Controller:
package treeTable;
import java.awt.Dimension;
import org.scopemvc.controller.basic.BasicController;
import org.scopemvc.core.Control;
import org.scopemvc.core.ControlException;
* Controller for PosCCYFX
* @author Raymond Isip
public class HistoricTotalPositionByCurrencyFXController extends BasicController implements HistoricTotalPositionByCurrencyFXConstants {
* Constructor for the PosCCYFXController object
public HistoricTotalPositionByCurrencyFXController() {
setModel(new HistoricTotalPositionByCurrencyFXModel());
setView(new HistoricTotalPositionByCurrencyFXView());
public HistoricTotalPositionByCurrencyFXController(HistoricTotalPositionByCurrencyFXView view) {
setModel(new HistoricTotalPositionByCurrencyFXModel());
setView(view);
* Call this after creating the Controller to make it perform
* its initial action. Default impl opens the view in a new frame.
public void startup() {
HistoricTotalPositionByCurrencyFXView myView = (HistoricTotalPositionByCurrencyFXView) getView();
// This is the code that centers the view
myView.setViewBounds(myView.CENTRED);
myView.setPreferredSize(new Dimension(1000, 600));
showView(myView);
* Can be called by a parent to shutdown and remove this from
* the chain of responsibility. Default impl does this:
* <ul>
* <li>call shutdown() on every child controller</li>
* <li>call hideView()</li>
* <li>setParent(null)</li>
* </ul>
public void shutdown() {
super.shutdown();
* Handles all controls
* @param inControl The control token invoking the presentation logic
* @throws ControlException when an error occured while handling the control
protected void doHandleControl(Control inControl) throws ControlException {
try {
if (inControl.matchesID(SAVE)) {
inControl.markMatched();
doSave();
} else if (inControl.matchesID(RESET)) {
inControl.markMatched();
doReset();
} else if (inControl.matchesID(GOT_OPTIONS_TBL)) {
inControl.markMatched();
doGotOptionsTbl();
} catch (ControlException ce) {
throw ce;
} catch (RuntimeException re) {
re.printStackTrace();
throw re;
} finally {
// do cleanup
* Handles the SAVE control
* @todo Implement doSave
protected void doSave() throws ControlException {
// to implement
* Handles the RESET control
* @todo Implement doReset
protected void doReset() throws ControlException {
// to implement
* Handles the GOT_OPTIONS_TBL control
* @todo Implement doGotOptionsTbl
protected void doGotOptionsTbl() throws ControlException {
// to implement
Launcher:
package treeTable;
import org.scopemvc.util.ResourceLoader;
import org.scopemvc.util.UIStrings;
* Launcher for PosCCYFX
* @author Raymond Isip
public class HistoricTotalPositionByCurrencyFXLauncher {
* Constructor for the PosCCYFXLauncher object
public HistoricTotalPositionByCurrencyFXLauncher() {
* Start the PosCCYFX application
* @param args The command line arguments
public static void main(String[] args) {
// TODO: change 'resources' by the name of your properties file
UIStrings.setPropertiesName("resources");
ResourceLoader.setClientClassLoader(HistoricTotalPositionByCurrencyFXLauncher.class.getClassLoader());
HistoricTotalPositionByCurrencyFXController mainController = new HistoricTotalPositionByCurrencyFXController();
mainController.startup();
Constant:
package treeTable;
import org.scopemvc.core.Selector;
* Constants for the selectors and the control ids defined in PosCCYFX
* @author Raymond Isip
public interface HistoricTotalPositionByCurrencyFXConstants {
// Selectors
Selector CASH_STRUCT_TBL_SELECTOR = Selector.fromString("cashStructTBLList");
Selector SELECTED_CASH_STRUCT_TBL_SELECTOR = Selector.fromString("selectedCashStructTBL");
Selector OPTIONS_TBL_SELECTOR = Selector.fromString("optionsTBLList");
Selector SELECTED_OPTIONS_TBL_SELECTOR = Selector.fromString("selectedOptionsTBL");
Selector FXCASH_STRUCTURED_FWD_LBL_SELECTOR = Selector.fromString("fxcashStructuredFwdLBL");
Selector CASH_LBL_SELECTOR = Selector.fromString("cashLBL");
Selector STRUCT_FWDS_LBL_SELECTOR = Selector.fromString("structFwdsLBL");
Selector OPTIONS_LBL_SELECTOR = Selector.fromString("optionsLBL");
// Control IDs
* The SAVE control ID for the save button
String SAVE = "SAVE";
* The RESET control ID for the reset button
String RESET = "RESET";
* The GOT_OPTIONS_TBL control ID for the optionsTBL field
String GOT_OPTIONS_TBL = "GOT_OPTIONS_TBL";
CashStructTBLItem:
package treeTable;
* Item for CashStructTBL
* @author Raymond Isip
public class CashStructTBLItem {
String col1= new String();
String col2= new String();
String col3= new String();
String col4= new String();
String col5= new String();
String col6= new String();
String col7= new String();
String col8= new String();
String col9= new String();
String col10= new String();
* Constructor for the CashStructTBLItem object
public CashStructTBLItem(Object[] data1) {
setCol1((String)data1[0]);
setCol2((String)data1[1]);
setCol3((String)data1[2]);
setCol4((String)data1[3]);
setCol5((String)data1[4]);
setCol6((String)data1[5]);
setCol7((String)data1[6]);
setCol8((String)data1[7]);
setCol9((String)data1[8]);
setCol10((String)data1[9]);
* @return
public String getCol1() {
return col1;
* @return
public String getCol10() {
return col10;
* @return
public String getCol2() {
return col2;
* @return
public String getCol3() {
return col3;
* @return
public String getCol4() {
return col4;
* @return
public String getCol5() {
return col5;
* @return
public String getCol6() {
return col6;
* @return
public String getCol7() {
return col7;
* @return
public String getCol8() {
return col8;
* @return
public String getCol9() {
return col9;
* @param string
public void setCol1(String string) {
col1 = string;
* @param string
public void setCol10(String string) {
col10 = string;
* @param string
public void setCol2(String string) {
col2 = string;
* @param string
public void setCol3(String string) {
col3 = string;
* @param string
public void setCol4(String string) {
col4 = string;
* @param string
public void setCol5(String string) {
col5 = string;
* @param string
public void setCol6(String string) {
col6 = string;
* @param string
public void setCol7(String string) {
col7 = string;
* @param string
public void setCol8(String string) {
col8 = string;
* @param string
public void setCol9(String string) {
col9 = string;
OptionsTBLItem:
package treeTable;
* Item for OptionsTBL
* @author Raymond Isip
public class OptionsTBLItem {
String col1= new String();
String col2= new String();
String col3= new String();
* Constructor for the OptionsTBLItem object
public OptionsTBLItem(Object[] data1) {
setCol1((String)data1[0]);
setCol2((String)data1[1]);
setCol3((String)data1[2]);
* @return
public String getCol1() {
return col1;
* @return
public String getCol2() {
return col2;
* @return
public String getCol3() {
return col3;
* @param string
public void setCol1(String string) {
col1 = string;
* @param string
public void setCol2(String string) {
col2 = string;
* @param string
public void setCol3(String string) {
col3 = string;
All I want is for the tree table renderers or editors to use the table created on the vieew part of this mvc
i will greatly appreciates your helpAs a start point take sources of JTable (the component and datamodel) and rebuild them. I have made such component for my company product. To write it I spend 5 days and about two weeks for debugging. This code cannot be very simple. As it should be fully mutable. For example, each line should have bkcolor, fgcolor, font, etc. Each sell has bkcolor, fgcolor, font, insets, border, alighnment, visibility, etc. Each node has its cell, indent and array of data cells. To support fast scrolling the painting should be buffered. My components also supports text line wrapping. The tree component consists of three parts: the header, the left part and the matrix of data. This component can be printed (this is a secial code for paging and scaling).
-
Implementing F4 Help functionality of ABAP work bench on Adobe form
Hi ,
http://help.sap.com/saphelp_nw2004s/helpdata/en/42/c8a3ccc84e136ee10000000a1553f7/frameset.htm
Above link gives following description about Web Dynpro Form UI Element ValueHelpDropDownList
<b>ValueHelpDropDownList contains the script that is required for the link to the server in order to retain the elements of the list field from the back end at runtime. This Library object enables the end user to set up an input help request to the SAP server. This request always works in online mode, but not in offline mode. A server-side update of the input help is possible.</b>
Please explain me how ValueHelpDropDownList UI Element works .
Please correct my understanding -
We use a RFC adaptive model BAPI to retrive data from R/3 system and bind the variable to ValueHelpDropDownList UI Element . This means we get the data from backend in intialization of PDF form ( It means it is one time activity which will be used to extract data from R/3 system to display to end user ).
Is there any alternative by which we can get data from R/3 system ( some thing similar to F4 help in ABAP work bench ).
Please let me know if any one implemented this functionality .
Regards,
NandaHi Ankit,
Thanks for a reply. Could you please explain the details? I am mapping a context attribute to the whole column and the value help button besides the field.
Thanks
Samatha. -
How to implement a tree like security realm?
hi all:
i am working on a project . it's a very complex one and most importantly there's
so many
functions( 1000 or more) and every fuction should be protected resources. so i have
to define many roles and map the roles to the many functions. it's a very tiring
job and
i am not sure the role to function mapping is stable one. because the mapping is
saved in
a xml file and this file is depolyed with the application, so if there s any changes
we have to redeploy all the application and restart the server.
there s still another problem. we want security realm to be a tree instead of
a flat one( weblogic's group is a flat one ) . if we assign a node to a role all
its children
belong to the same role.
so is there way to do this. any solution?
regards
daniel wangmaybe you could exploit the way ACLs have dotted names to reflect your tree
structure, so the acl root applies to all functions, root.branch1 only
applies to functions on branch branch1, and root.branch1.branch2 applies to
functions on branch2 of branch1. there´s an api that gets the most specific
acl given a path to a node.
i'm not it´s acls that you want to correspond to nodes, but maybe you can
work out some kind of scheme that gives you what you want.
andrew
"daniel" <[email protected]> escribió en el mensaje
news:3d16efc7$[email protected]..
>
hi all:
i am working on a project . it's a very complex one and mostimportantly there's
so many
functions( 1000 or more) and every fuction should be protected resources.so i have
to define many roles and map the roles to the many functions. it's a verytiring
job and
i am not sure the role to function mapping is stable one. because themapping is
saved in
a xml file and this file is depolyed with the application, so if there sany changes
we have to redeploy all the application and restart the server.
there s still another problem. we want security realm to be a treeinstead of
a flat one( weblogic's group is a flat one ) . if we assign a node to arole all
its children
belong to the same role.
so is there way to do this. any solution?
regards
daniel wang -
Data retrieval from a loaded tree in WD ABAP
Hi All,
I have a node 'ENTRY' and have a recursive sub node called 'SUB_ENTRY' now assume that i have created a 10 level tree by creating 9 recursive nodes. Now i would like to fetch or retrieve all the data from this tree.
So can you pls tell me if there exists a method to do it in one go or will i have to use GET_TABLE_FROM_NODE for every node ..
Thanks for your help.
Regards,
AnoopYes Thomas you are right about the use of ByKey and NestingColumn but the thing is that as far as application development is concerned then i am done with that .. but it was to improve the performance of this application that i needed to know if i can retrieve the already available data from this tree instead of calling the FMs again which is very costly ...
anyways thanks for your response.
Regards,
Anoop
Maybe you are looking for
-
How to restrict the delivery quantity not more than target quantity?
Dear Gurus, How to restrict the delivery quantity not more than target quantity in a scheduling agreement? I think there are 2 methods. 1. I found that setting 0 in Overdelivery Tolerance Limit in Info Record is not effective. Why? 2. I want to set E
-
Problem opening a Premiere cs3 project in Premiere cs4
i recently did a clean install on a new machine with adobe premiere cs4 i attempted to open the project in adobe cs4 that i created in adobe cs 3 ( i confirmed that the project isnt corrupted as the same project plays fine on another machine that has
-
I have Adobe Reader on my computer & want Adobe X Standard - Do I need to buy upgrade or full?
I have Adobe Reader on my computer and want to install Adobe X Standard - Do I need to purchase an upgrade or full version?
-
Organizer plays all my videos, PSE 9 won't play or edit any.
I have an Asus laptop with Corei5 processor, 4gb ram, 500gb HDD @ 7200rpm with plenty of contiguous space. I believe my playback/editing problem lies in my video card. I have an Geforce GT 32M 1GB with Nvidia Optimus technology. This lets my lapto
-
File attachment issue persists
The OTA update was supposed to fix the issue of allowing a file greater than 5mb to be attached to emails. After the update, I still can't attach a file greater than 5mb. Will this issue get corrected soon?