Planning Workflow (9.3.1): how to influence the view of an enduser?
Hi all,
In Planning (9.3.1) Workflow the administrator and planner views are quite different. Where the administrator sees a nice top-down approach when opening Workflow (in other words: an administrator can navigate from generation 0 down into the entity dimension) a planner always sees the level 0 members. All of them… which is not very handy.
How can we influence the way a planner (=account with role “planner”) sees his part of the Workflow? Now, if a planner has to see multiple departments, he can see 100s of cost centers in Planning, while just viewing and influencing the highest level depending on a person’s actual security (for instance a department as a whole) would be enough already.
There must be some place where this can be influenced within Planning, but we can’t find it in the documentation or in the standard interfaces of the Planning administration site.
Thanks in advance!
Gr.
Ivo
Hi,
some FM elements always need special treatment. This is true for graphics (objects), cross links and tables especially.
The EDD can do lots of things, but is also limited in doing others.
There are also different ways to reach a goal, depending on your preferences.
Some things have to be done in the template, some things need to be done in the EDD, others need to be done in the RWR.
It always depends on what you have as given input, how good your skills at certain things are, how consistent your input is or how the general workflow is laid out.
The best way to learn structured FM is to take a look on existing EDDs, DTDs, RWR and templates.
Check out how other people solved those problems. See if the same way works for you.
In your special case, my solution was the quick and dirty one. But there could have been another solution.
You could have wrapped your reference within a font formatting tag (such as <b> or <i> in DITA/HTML) and add the font properties there.
But introducing a font tag usually has influence on your XML input/output.
This means you would need to either get this information already within the XMl source, add it with XSLT on import (remove on export), redefine your structure or use FM scripting.
As you see, there are many ways leading to the desired output - it just depends on your special case, what is best for you.
-Alex
Similar Messages
-
Java3D - how to get the viewing frustum coordinates
Hi all!
I am so desperate to find out how to retrieve the viewing frustum (truncated pyramid) coordinates (xyz) in Java3D.
Please let me know. I checked the API docs but no luck.
I am sure there must be some way (or method) of extracting these (xyz) coodrinates from this frustum.
Thanks!firstly I humbly admit I am not that familiar with openGL so I dont know what those functions are doing ..but still I might be missing what is it you are looking for...u saying "to get xyz" coordinates of truncated pyramid ... u need 8 points (depending on the way you wanna calculate it)to create viewing frustum so which one u looking for? ....btw there is a viewing frustum method to get points but unfortunately due to j3d setup by the time u get them using that method 2 frames will go by .... so
View view = viewer.getView();
double point1 = view.getBackClipDistance() * SOME_CONSTANT;
double point2 = view.getFrontClipDistance();
double point3 = view.getFieldOfView();
double point4 = (double) view.getCanvas3D(0).getWidth() /
(double) view.getCanvas3D(0).getHeight();
double point5 = Math.tan(point3 / SOME_CONSTANT) * point2;
double point6 = point5 / point4;
double point7 = (point5 / point1) * point1;
double point8 = point7 / point4;
now just just normals and u can setup up your 6 planes of the view frustum ... -
How to get the view Object in UserDefined Action
Hi All,
Any body tell me how to get the view object , like the view object avilable in the wdDoModifyView() method as parameter.
I have requirement like, i want to change the , no of rows displaying in the table should be changed at the runtime based onthe no of rows selected in the dropdown box.
The action which i created will be assigned to that dropdown box, on select of the available option, i will get the view object and change the properties of the "maxrows" of the table .
so for getting the view object in the the Action methods tell me what is the procedure for getting the current view object.Hello Vishal,
Simply create a value attribute (say rowCount) of type 'integer' and bind it to the 'visibleRowCount' property of your table. Then, in the actionHandler get the value from the UI element (in your case, I guess it is drop down) and set it to the attribute 'rowCount' like this.
wdContext.currentContextElement.setRowCount(
wdContext.current<nodeElement>.set<AttributeBound toDropDown>);
Bala -
How to set the view privilege of a portlet?
Dear all,
I would like to ask how to set the view privilege of a portlet (which is located on the Intranet homepage) to only a group of users?
As far as I know, I can create a tab with view privilege to address the about scenario. But is it possible to directly set the view privilege to the portlet ?
thanks
George (HK)
Welcome to my photo albums at http://community.webshots.com/user/GeorgeLee80
Message was edited by:
georgelkhOK, you got me there George. I don't know where you can set view rights to an out of box portlet. So how about a different approach?
1) Create a blank page with no nav bar or anything else
2) Assign the group you want to see the notifications portlet view rights on the page
3) Make sure the show as portlet check box is checked on the Optional tab in the page properties
4) Add the notifications portlet to the page
5) Ensure the portlet settings are how you desire in terms of what notifications to show and the region settings are how they should be in terms of border, headers, etc
6) Edit the page where you want the notifications portlet to be shown and add the page portlet you just created instead of the notification portlet
This should achieve what you seek without having to dig into out-of-box portlets.
Rgds/Mark M. -
How to implement the View V_SEPA_CUST in SAP 4.7 ?
Hi SAP Experts,
We are going to implement SEPA in our project and currently using SAP 4.7.
Is there any way to implement the View V_SEPA_CUST in SAP 4.7.
I came to know that there is an OSS Note available for this implementation but I couldn't find the same.
Please suggest me how to Implement the View V_SEPA_CUST in our SAP system, since we need this View for SEPA implementation.
Many Thanks in Advance.
Yogesh.
Moderator message: one thread only per issue, please.
Edited by: Thomas Zloch on Jan 31, 2012Dear Yogesh,
SAP has just recently released a note you might want to consider: 1834272. One of the preliminary notes for this note is 1784060...
This works for SAP 6.4. I can not help you where it is specifically related to SAP 4.7
Hoping it is of use.
Best regards,
Raymond -
How to influence the op-direction of combobox
Hi guys,
All my comboboxes are opening in the direction up.
Is there a way to influence the opening-direction of a
combo-box, so I can set this to "down"?
Thnx!Adobe Newsbot hopes that the following resources helps you.
NewsBot is experimental and any feedback (reply to this post) on
its utility will be appreciated:
mx.controls.ComboBox (Flex 3):
ComboBox. listData : BaseListData. When a component is used
as a drop-in item renderer or drop-in item editor, Flex initializes
the listData property of the
Link:
http://livedocs.adobe.com/flex/3/langref/mx/controls/ComboBox.html
Tag Archive for combobox at Flex Examples:
Setting the label color on a disabled ComboBox control in
Flex. By peterd 0 Comments ... Specifying a custom icon function on
a ComboBox control in Flex
Link:
http://blog.flexexamples.com/tag/combobox/
Flex 3 - ComboBox control:
If the ComboBox control is editable, and the user types into
the control, Flex broadcasts a change event each time the text
field of the control changes.
Link:
http://livedocs.adobe.com/flex/3/html/dpcontrols_5.html
Customizing the Flex ComboBox controls text input styles at
Flex:
The following example shows how you can customize the
ComboBox controls text input styles by setting the
textInputStyleName style in Flex.
Link:
http://blog.flexexamples.com/2007/12/21/customizing-the-flex-combobox-controls-text-input- styles/
ComboBox control -- Flex 2.01:
Flex 2 Developer's Guide > Building User Interfaces for
Flex Applications > Using Data-Driven Controls > ComboBox
control
Link:
http://livedocs.adobe.com/flex/201/html/dpcontrols_062_10.html
Displaying item tool tips in a Flex ComboBox control at Flex
Examples:
Text for the itemRenderer property of ComboBox. I neither got
a tooltip nor found the contents to be wrapped around. I am
learning Flex.
Link:
http://blog.flexexamples.com/2008/01/26/displaying-item-tool-tips-in-a-flex-combobox-contr ol/
Disclaimer: This response is generated automatically by the
Adobe NewsBot based on Adobe
Community
Engine. -
How to influence the substitution workitem list in the inbox?
Hi gang,
Do you have an idea if there is a simple way to filter the work item list offered for an agent in his inbox? BADI preferably, 'nice' modification (enhancement spot?) in the worst case.
I got a requirement, that for some work items the substitution should be disabled (not some tasks but some work items!!!).
The whole scenario: SRM PO approval workflow. There are two different approval step types (lets name them preliminary and real). Approval task is the same (SRM standard). Approvers maintain the active substitution for the preliminary approval steps. However; this must not influence the real approval that cannot be delegated.
Message was edited by:
Michal KlembaThis would be to easy
Imagine the agent A has 5 orders to approve as a preliminary and another 10 to approve as a real. He maintains an agent B as his active substitute. Than the agent B should see... only 5 work items of agent A.
Regards,
Michal -
How to influence the text display of key figures in the interarctive DP
Hello all,
Does anyone know if there is a possibility (BADI, etc.) to change the text display of key figures (not characteristics!) in a planning book/data view?
I know that you can define a free text in the data view but still, this is only one fixed text and it cannot be changed.
Reason for the request: We would like to use the same key figure (and hence, indicate 2 different texts) for two different purposes (in different selections) without having to create a new data view.
Kind regards,
Klemensif you dont want a new data view and might even go to the extent of creating a user exit for this ... here is an idea
- just create auxillary KF ( or use spare Temp KF depending on what you want to do with the data in the view) for each of these KF with the text
lets say you have KF1 and KF2 - create KF1A and KF2A
Make sure KF1A = KF1 and KF2a = KF2
Now depending on user you can display KF 1 and KF2 or KF1a and KF2a depending on the user by using macros USER() and ROW_VISIBLE(0) -
How to influence the up-direction of combobox
Hi guys,
All my comboboxes are opening in the direction up.
Is there a way to influence the opening-direction of a
combo-box, so I can set this to "down"?
Thnx!You may have to make the rowCount : int smaller
-
How to get the View for a particular Document position?
Hi there,
Does anyone know how to get the "deepest" View that is responsible for rendering a particular Document offset?
I tried looking at modelToView() and some other methods, but I am lost.
Can anyone please help me?
Thanks,
SwatiBart--
To find the table cell of the insertion point, you could use something like:
InterfacePtr<ITextStoryThread> storythreadp(txtModel->QueryStoryThread(startPos + 1));
InterfacePtr<ICellContent> cellcontentp(storythreadp, UseDefaultIID());
if (! cellcontentp) {
// Not a table cell, so see if it's the primary thread (kTextStoryBoss/ITextModel).
InterfacePtr<ITextModel> threadmodelp(storythreadp, UseDefaultIID());
if (threadmodelp) {
// It's the primary thread...
else {
// It's something else with an ITextStoryThread (note, footnote, etc.).
else {
// The insertion point's in a table cell (kTextCellContentBoss).
InterfacePtr<ITableModel> tableModel(cellcontentp->GetTableModel(), UseDefaultIID());
GridID gridID(cellcontentp->GetGridID());
GridAddress gridLoc(cellcontentp->GetGridAddress());
// ...and so on.
Hope this helps get you where you want to go.
Chris Roueche / Freelance Developer -
HOW TO DISABLE THE VIEW OF CONTACT
Hi
I want to know how to disable contact view from a friend taking my phone
exemple : If I give my cell phone blackberry 9900 to a friend for 1 day, I want for him the possibility to answer phone call and see who is calling him ! ,
buy I want to disable any search in full contact list
how to do this ?
help,
mail me backYou cannot selectively lock the address book app. If all contacts are sync'd online you can delete the account. However, the all around better approach would be to backup the device and do a security wipe before loaning it.
- Ira -
RowSetInfo; bc4j; how to get the View Object
So I'm trying to get/update/insert/delete records in a database that contain an interMedia image in a blob.
I've figured out that I can't simply set the ImmediateAccess attribute. It doesn't like that...
So I'm trying to go after the view object, since the interMedia white paper uses a VO row setAttribute to accomplish the write.
RowSetInfo extends ResultSetInfo which has a method getViewObject(). Cool.
So I try it... and get an error that getViewObject() has protected access.
Anyone know what I am doing wrong? Or should I be even taking this approach?!?!?!
If I go exclusively with the VO layer... how do I preserve the navigationBar functionality? Or do I need to roll my own?
( NOTE: This hilights another example of the perception of 'friction' between rowsetinfos and the view objects/entity objects. An approach that makes "sense" to me as a naive novice didn't pan out. And oddly, most of the bc4j examples go against VOs when, if you are an application programmer, you may never see or use the VO methods ( although it looks like we should be)... we're working at the ResultSetInfo layer. )
Is the the observation of other folk who are building Java Applications/Applets? Or do you all work directly with VOs instead of going through the ResultSetInfo "layer"?Here is some sample code that I am currently working on and will post on OTN when complete. The code shows how to access a BC4J Domain based on an Oracle type. Working with interMedia is similar since interMedia utilizes Oracle Object types. Please note that I have not tested this yet against interMedia, but I'm hoping that you may find the general process useful.
// Copyright (c) 2000 Oracle Corporation
package ObjectSampleDAC;
import oracle.dacf.control.swing.*;
import javax.swing.*;
import oracle.dacf.dataset.*;
import oracle.dacf.dataset.connections.*;
import java.awt.*;
import oracle.jdeveloper.layout.*;
import java.awt.event.*;
import javax.infobus.*;
import oracle.jbo.domain.DomainInterface;
import ObjectSampleBC4J.common.TAddress;
import java.sql.SQLException;
* A Frame class.
* <P>
* @author Scott Tiger
public class Frame1 extends InfoFrame {
* Constructs a new instance.
public Frame1() {
super();
try {
jbInit();
sessionInfo1.publishSession();
// call my initialization method
bfInit();
catch (Exception e) {
e.printStackTrace();
* Initializes the state of this instance.
private void jbInit() throws Exception {
/* All of the following code in this method was added by the designer except where noted below
EmailrowSetInfo1.setName("Email");
jPanel3.setLayout(gridBagLayout1);
StatusrowSetInfo1.setName("Status");
AddressrowSetInfo1.setName("Address");
PasswordrowSetInfo1.setName("Password");
UsernamerowSetInfo1.setName("Username");
LastnamerowSetInfo1.setName("Lastname");
FirstnamerowSetInfo1.setName("Firstname");
IdrowSetInfo1.setName("Id");
rowSetInfo1.setAttributeInfo( new AttributeInfo[] {
IdrowSetInfo1,
FirstnamerowSetInfo1,
LastnamerowSetInfo1,
UsernamerowSetInfo1,
PasswordrowSetInfo1,
AddressrowSetInfo1,
StatusrowSetInfo1,
EmailrowSetInfo1} );
this.setDataItemName("infobus:/oracle/sessionInfo1");
this.setTitle("Customer Information");
this.getContentPane().setLayout(borderLayout1);
this.setSize(new Dimension(536, 473));
jPanel1.setLayout(borderLayout2);
sessionInfo1.setAppModuleInfo(new ModuleInfo("ObjectSampleBC4J", "ObjectSampleBC4JModule"));
sessionInfo1.setConnectionInfo(new LocalConnection("MyJdbcConn"));
sessionInfo1.setName("sessionInfo1");
rowSetInfo1.setQueryInfo(new QueryViewInfo(
"CustomerView",
rowSetInfo1.setSession(sessionInfo1);
rowSetInfo1.setName("rowSetInfo1");
/* The following listener was added using the event tab in the property inspector in design
mode. The rowsetPopulated method is called when the rowset is queried/requeried.
rowSetInfo1.addChangeListener(new oracle.dacf.dataset.ChangeAdapter() {
public void rowsetPopulated(RowSetChangeEvent e) {
rowSetInfo1_rowsetPopulated(e);
textFieldControl1.setText("textFieldControl1");
textFieldControl2.setDataItemName("infobus:/oracle/sessionInfo1/rowSetInfo1/Firstname");
textFieldControl2.setText("textFieldControl2");
textFieldControl3.setDataItemName("infobus:/oracle/sessionInfo1/rowSetInfo1/Lastname");
textFieldControl3.setText("textFieldControl3");
textFieldControl4.setDataItemName("infobus:/oracle/sessionInfo1/rowSetInfo1/Username");
textFieldControl4.setText("textFieldControl4");
textFieldControl5.setDataItemName("infobus:/oracle/sessionInfo1/rowSetInfo1/Password");
textFieldControl5.setText("textFieldControl5");
textFieldControl6.setDataItemName("infobus:/oracle/sessionInfo1/rowSetInfo1/Status");
textFieldControl6.setText("textFieldControl6");
textFieldControl7.setDataItemName("infobus:/oracle/sessionInfo1/rowSetInfo1/Email");
textFieldControl7.setText("textFieldControl7");
navigationBar1.setDataItemName("infobus:/oracle/sessionInfo1/rowSetInfo1");
jLabel1.setText("ID:");
jLabel2.setText("First Name:");
jLabel3.setText("Last Name:");
jLabel4.setText("User Name:");
jLabel5.setText("Password:");
jLabel6.setText("Status:");
jLabel7.setText("Email:");
jLabel8.setText("Address:");
jPanel4.setLayout( gridBagLayout2);
textFieldStreet.setColumns(20);
textFieldStreet.setText("textFieldStreet");
/* The following listener (as well as the listeners on textFieldCity, textFieldState, and
textFieldZipcode were added by the designer, but the focusGained and focusLost methods
were modified in each case to call a common textField_focusGained method
textFieldStreet.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusGained(FocusEvent e) {
textField_focusGained(e);
public void focusLost(FocusEvent e) {
textField_focusLost(e);
textFieldCity.setColumns(20);
textFieldCity.setText("textFieldCity");
textFieldCity.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusGained(FocusEvent e) {
textField_focusGained(e);
public void focusLost(FocusEvent e) {
textField_focusLost(e);
textFieldState.setColumns(20);
textFieldState.setText("textFieldState");
textFieldState.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusGained(FocusEvent e) {
textField_focusGained(e);
public void focusLost(FocusEvent e) {
textField_focusLost(e);
textFieldZipcode.setColumns(20);
textFieldZipcode.setText("textFieldZipcode");
textFieldZipcode.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusGained(FocusEvent e) {
textField_focusGained(e);
public void focusLost(FocusEvent e) {
textField_focusLost(e);
jLabel9.setText("Street:");
jLabel10.setText("City:");
jLabel11.setText("State:");
jLabel12.setText("Zip Code:");
textFieldControl1.setDataItemName("infobus:/oracle/sessionInfo1/rowSetInfo1/Id");
this.getContentPane().add(jPanel1, BorderLayout.CENTER);
jPanel1.add(jPanel2, BorderLayout.NORTH);
jPanel2.add(navigationBar1, null);
jPanel1.add(jPanel3, BorderLayout.CENTER);
jPanel3.add(textFieldControl1, new GridBagConstraints2(1, 0, 1, 1, 1.0, 0.0,
GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(37, 11, 0, 0), 0, 0));
jPanel3.add(textFieldControl2, new GridBagConstraints2(1, 1, 1, 1, 1.0, 0.0,
GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(7, 11, 0, 0), 0, 0));
jPanel3.add(textFieldControl3, new GridBagConstraints2(1, 2, 1, 1, 1.0, 0.0,
GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(7, 11, 0, 0), 0, 0));
jPanel3.add(textFieldControl4, new GridBagConstraints2(1, 3, 1, 1, 1.0, 0.0,
GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(6, 11, 0, 0), 0, 0));
jPanel3.add(textFieldControl5, new GridBagConstraints2(1, 4, 1, 1, 1.0, 0.0,
GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(6, 11, 0, 0), 0, 0));
jPanel3.add(textFieldControl6, new GridBagConstraints2(1, 5, 1, 1, 1.0, 0.0,
GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(7, 11, 0, 0), 0, 0));
jPanel3.add(textFieldControl7, new GridBagConstraints2(1, 6, 1, 1, 1.0, 0.0,
GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(6, 11, 0, 0), 0, 0));
jPanel3.add(jLabel1, new GridBagConstraints2(0, 0, 1, 1, 0.0, 0.0,
GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(37, 106, 0, 0), 0, 0));
jPanel3.add(jLabel2, new GridBagConstraints2(0, 1, 1, 1, 0.0, 0.0,
GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(8, 54, 0, 0), 0, 0));
jPanel3.add(jLabel3, new GridBagConstraints2(0, 2, 1, 1, 0.0, 0.0,
GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(8, 54, 0, 0), 0, 0));
jPanel3.add(jLabel4, new GridBagConstraints2(0, 3, 1, 1, 0.0, 0.0,
GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(10, 54, 0, 0), 0, 0));
jPanel3.add(jLabel5, new GridBagConstraints2(0, 4, 1, 1, 0.0, 0.0,
GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(8, 62, 0, 0), 0, 0));
jPanel3.add(jLabel6, new GridBagConstraints2(0, 5, 1, 1, 0.0, 0.0,
GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(9, 83, 0, 0), 0, 0));
jPanel3.add(jLabel7, new GridBagConstraints2(0, 6, 1, 1, 0.0, 0.0,
GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(9, 86, 0, 0), 0, 0));
jPanel3.add(jLabel8, new GridBagConstraints2(0, 7, 1, 1, 0.0, 0.0,
GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(7, 72, 94, 0), 0, 0));
jPanel3.add(jPanel4, new GridBagConstraints2(1, 7, 1, 1, 0.0, 0.0,
GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
jPanel4.add(textFieldZipcode, new GridBagConstraints2(1, 3, 1, 1, 0.0, 0.0,
GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 10, 0, 0), 0, 0));
jPanel4.add(textFieldState, new GridBagConstraints2(1, 2, 1, 1, 0.0, 0.0,
GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 10, 0, 0), 0, 0));
jPanel4.add(jLabel9, new GridBagConstraints2(0, 0, 1, 1, 0.0, 0.0,
GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(5, 0, 0, 0), 0, 0));
jPanel4.add(textFieldStreet, new GridBagConstraints2(1, 0, 1, 1, 0.0, 0.0,
GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 10, 0, 0), 0, 0));
jPanel4.add(jLabel10, new GridBagConstraints2(0, 1, 1, 1, 0.0, 0.0,
GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(5, 0, 0, 0), 0, 0));
jPanel4.add(jLabel11, new GridBagConstraints2(0, 2, 1, 1, 0.0, 0.0,
GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(5, 0, 0, 0), 0, 0));
jPanel4.add(jLabel12, new GridBagConstraints2(0, 3, 1, 1, 0.0, 0.0,
GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(5, 0, 0, 0), 0, 0));
jPanel4.add(textFieldCity, new GridBagConstraints2(1, 1, 1, 1, 0.0, 0.0,
GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 10, 0, 0), 0, 0));
/* The following vaiable declarations were made by the designer
BorderLayout borderLayout1 = new BorderLayout();
JPanel jPanel1 = new JPanel();
SessionInfo sessionInfo1 = new SessionInfo();
RowSetInfo rowSetInfo1 = new RowSetInfo();
AttributeInfo IdrowSetInfo1 = new AttributeInfo(java.sql.Types.NUMERIC);
AttributeInfo FirstnamerowSetInfo1 = new AttributeInfo(java.sql.Types.VARCHAR);
AttributeInfo LastnamerowSetInfo1 = new AttributeInfo(java.sql.Types.VARCHAR);
AttributeInfo UsernamerowSetInfo1 = new AttributeInfo(java.sql.Types.VARCHAR);
AttributeInfo PasswordrowSetInfo1 = new AttributeInfo(java.sql.Types.VARCHAR);
AttributeInfo AddressrowSetInfo1 = new AttributeInfo();
AttributeInfo StatusrowSetInfo1 = new AttributeInfo(java.sql.Types.VARCHAR);
AttributeInfo EmailrowSetInfo1 = new AttributeInfo(java.sql.Types.VARCHAR);
JPanel jPanel2 = new JPanel();
JPanel jPanel3 = new JPanel();
TextFieldControl textFieldControl1 = new TextFieldControl();
TextFieldControl textFieldControl2 = new TextFieldControl();
TextFieldControl textFieldControl3 = new TextFieldControl();
TextFieldControl textFieldControl4 = new TextFieldControl();
TextFieldControl textFieldControl5 = new TextFieldControl();
TextFieldControl textFieldControl6 = new TextFieldControl();
TextFieldControl textFieldControl7 = new TextFieldControl();
BorderLayout borderLayout2 = new BorderLayout();
NavigationBar navigationBar1 = new NavigationBar();
JLabel jLabel1 = new JLabel();
JLabel jLabel2 = new JLabel();
JLabel jLabel3 = new JLabel();
JLabel jLabel4 = new JLabel();
JLabel jLabel5 = new JLabel();
JLabel jLabel6 = new JLabel();
JLabel jLabel7 = new JLabel();
JLabel jLabel8 = new JLabel();
GridBagLayout gridBagLayout1 = new GridBagLayout();
JPanel jPanel4 = new JPanel();
JTextField textFieldStreet = new JTextField();
JTextField textFieldCity = new JTextField();
JTextField textFieldState = new JTextField();
JTextField textFieldZipcode = new JTextField();
JLabel jLabel9 = new JLabel();
JLabel jLabel10 = new JLabel();
JLabel jLabel11 = new JLabel();
JLabel jLabel12 = new JLabel();
GridBagLayout gridBagLayout2 = new GridBagLayout();
/* The following declarations were made manually
/* DomainAccess provides a means for getting and setting values of a column object as domain
DomainAccess da = null;
/* TAddress is the domain class
TAddress addr = null;
/* Declare variables for determining if JTextField values have been changed by user
String oldVal = null;
String newVal = null;
/* The following method is generated by the wizard when the frame was created
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSED) {
System.exit(0);
public void bfInit () throws Exception {
/* To add code to be invoked when the user moves from one row to another, get the
DataItemChangeManager from the RowSetInfo (via RowsetAccess) and add a
DataItemChangeListener. The specific method we want to use here is rowsetCursorMoved
which is invoked when the user moves from one row to another; the other methods are
defined simply because the interface requires them.
RowsetAccess ra = rowSetInfo1.getRowsetAccess();
DataItemChangeManager dcm = (DataItemChangeManager)ra;
dcm.addDataItemChangeListener(new DataItemChangeListener() {
public void rowsetCursorMoved(RowsetCursorMovedEvent e) {
rowSetInfo1_rowsetCursorMoved(e);
public void dataItemAdded(DataItemAddedEvent e) {
public void dataItemDeleted(DataItemDeletedEvent e) {
public void dataItemRevoked(DataItemRevokedEvent e) {
public void dataItemValueChanged(DataItemValueChangedEvent e) {
/* This method was generated by the designer. See rowSetInfo1.addChangeListener(...) in jbInit
above.
void rowSetInfo1_rowsetPopulated(RowSetChangeEvent e) {
try {
/* When the rowset is populated, set the JTextField values based on the domain. See
updateFields() below.
updateFields();
catch (Exception ex) {
System.out.println("Error occurred while retrieving values");
ex.printStackTrace();
/* This method was added manually to track row navigation. See dcm.addDataItemChangeListener(...)
in jbInit above.
void rowSetInfo1_rowsetCursorMoved(RowsetCursorMovedEvent e) {
try {
/* When the user moves from one row to another, set the JTextField values based on the
domain. See updateFields() below.
updateFields();
catch (Exception ex) {
System.out.println("Error occured while assigning values");
ex.printStackTrace();
/* This method finds the values from each field of the column object by using the domain, then
sets the values of the JTextFields respectively. It is invoked when the rowset is initially
populated, and each time the user moves from one row to another.
public void updateFields () throws Exception {
/* Get DataItem for the Address column object and cast to DomainAccess for to prepare for
getting and setting column value as domain.
da = (DomainAccess)AddressrowSetInfo1.getImmediateAccess();
/* Get the value of the attribute as a Domain and cast to DomainInterface.
DomainInterface di = da.getValueAsDomain();
/* null out addr. Otherwise, if the address column is null for a particular record, when
the user navigates to the record with the null values, addr will retain the previous record's
values. This ensures a clean slate.
addr = null;
/* Using DomainInterface allows us to cast the domain object to the specific Domain class for
that type. So, cast the address attribute's value to TAddress, the class that
represents the T_ADDRESS type created in the database. This provides getters and setters
for each of the fields of the Object Type.
if ( di instanceof TAddress ) {
addr = (TAddress) di;
/* If the above statement resulted in some non-null object assigned to addr, it is because
one or more of the fields of the domain contained non-null values. Therefore, if addr is
not null, get the values from each field of the domain and assign them to their
respective JTextFields. Otherwise, set each JTextField to an empty string.
if (addr != null) {
textFieldStreet.setText(addr.getStreet());
textFieldCity.setText(addr.getCity());
textFieldState.setText(addr.getState());
textFieldZipcode.setText(addr.getZipcode());
else {
textFieldStreet.setText("");
textFieldCity.setText("");
textFieldState.setText("");
textFieldZipcode.setText("");
/* If addr is null, after making sure the JTextFields are cleared, create a new TAddress
object so that we have something to assign values to if the user edits the JTextFields.
try {
addr = new TAddress();
catch (SQLException ex) {
System.out.println("Error creating domain TAddress");
ex.printStackTrace();
/* The method below is invoked when the user navigates to textFieldStreet, textFieldCity,
textFieldState, or textFieldZipcode. It's used just to find the value of the field when
the user enters the field (the "before" value).
void textField_focusGained(FocusEvent e) {
Object obj = e.getSource();
if (obj instanceof JTextField) {
JTextField field = (JTextField)obj;
oldVal = field.getText();
/* The method below is invoked when the user navigates away from textFieldStreet, textFieldCity,
textFieldState, or textFieldZipcode. It checks to see if the user changes the value of the
field, and if so, updates the value of the address attribute.
void textField_focusLost(FocusEvent e) {
/* Find out the value of the JTextField now that the user is attempting to leave the field.
Object obj = e.getSource();
if (obj instanceof JTextField) {
JTextField field = (JTextField)obj;
newVal = field.getText();
/* Compare the new value of the field ("after" value) to the "before" value captured
in textField_focusGained above. If they are equal, we do nothing. If they are not equal,
then the user must have changes the value in the field, and we have some work to do.
if (!oldVal.equals(newVal)) {
/* Since this same method is called regardless of which JTextField has been left, we find
out which text field the user is leaving, and then set the value of the appropriate
element of the addr domain.
if (obj.equals(textFieldStreet)) {
addr.setStreet(newVal);
if (obj.equals(textFieldCity)) {
addr.setCity(newVal);
if (obj.equals(textFieldState)) {
addr.setState(newVal);
if (obj.equals(textFieldZipcode)) {
addr.setZipcode(newVal);
/* So, we've set the value of the appropriate element of the addr domain, but we have not
"posted" those changes to the BC4J (middle-tier), so if we were to commit at this point
our changes would not get saved to the database (because BC4J is not aware of these
changes). The next step is to notify BC4J of the changes.
try {
da.setValueAsDomain(addr);
catch (InvalidDataException ex) {
System.out.println("Invalid Data assigned to TAddress");
ex.printStackTrace();
/* Clear out the oldVal and newVal variable so we are ready to track more changes.
oldVal = null;
newVal = null;
}-- Brian -
How to set the view, which has to be shown at runtime?
Hi,
in my application i have more than one view, but at runtime only one of these views has to be shown. I want to decide this via a parameter that I get from the url.
How can i set the right view to be showing at runtime?
I tried it with a StartView which fires the right Outbound Plug in his wdDoInit-Method. This is working fine, but the problem is, that the method OnPlugDefault() of ComponentInterfaceViewController isn't called already at this time. So in the Init-Method of the StartView I don't have the given URL Parameter, so I can't decide which Plug I want to fire. The method OnPlugDefault() is called only after the init-method of the StartView.
Is there any other possibilty to set the view, which has to be shown, at runtime?
Thanks and Best Regards
KatharinaHi,
One way is you can pass the parameter in the URL , read the parameter and then fire the outbound plug depending upon that.
You can read the parameters as follows
HttpServletRequest request =Task.getCurrentTask()
.getWebContextAdapter()
.getHttpServletRequest();
String[] param1 = request.getParameterValues("<<PARAMETRNAME");
if(param1.equals("VALUE"))
fire outbound plug1;
Regards, Anilkumar -
How to restrict the view in a application?
hello colleagues,
need your help to find the best solution. There are two restriction which I need to implement:
1. different view for single field groups
2. different view for a complete application
Additional Point 3) multiple view assignment to a role
Point 1)
I need to have for the Role the original view (leave standard) but only in the specific field group structure I want to extend with the additional view. The system need to check if the additional view is available if not it need to take the standard, if yes, than it should take the assigned view. My question, is this behaviour possible without enhancements only with the assignment of the new created view? If yes, how I can assign the view to the role that this behaviour will be covererd?
Point 2)
I need to change the Account structure but only for the Business application "COMM_BUPA" and not for all related Business application. The Account reference to so many application that I need to restrict the changes to avoid the overlapping to other areas and try to do this with a new created view which I assign to the relevant role. Is this possible, if yes, how?
Point 3)
Is it possible to assign multiple view to one role? Is there a specific setting required and how can I do this and where I assign the view to the role?
System News: CRM 4.0 = Channel Management , EP 6.0
Waiting for your responds -
Thank you and regards,
AnjaDear Thiruamala,
Thank you for your answer. I still need more information, please can you help me again?
Point 1)
- Which Transaction (e.g. /nsu01) I can assign the iview to the role in the customizing?
- Which are the process steps and what I need to do each step need more details - or a screen shoot?
Point 3)
I have customized a new view for accounts which I need to assign to all the roles and additional some roles need to have additional views depend on the roles. How I would realize this without having multiple views to a role? How I can work with screen variants in CRM 4.0?
Thank you and best regards,
Anja
Message was edited by:
Anja Herrmann -
How to hide the view latest instance option for the reports in XIR3
Created an access level and denied the rights "view document instances" and "view document instances that the user owns" in the access level.
Applied this access level for a particular group on a particular folder.
Login to Infoview and when view the history,there are no instances for a particular report under that folder.
But we could still see the 'View Latest instance' option in the properties of the report and when click on it,we are able to view the report.
As per the security assigned,the user should only be able to view the instances owned by him.
Plz help me how to hide the option in INFOVIEWIn 9.3.1 (not sure about 9.2) there is a table in your BIPlus repository which stores preferences/profile information, however, having a user simply log in to WA doesn't appear to automatically create a row for them in this table. (So this may not be a viable solution to your situation, I'm still looking for one myself.) This table stores lots of preference info such as whether or not to show the Main Menu, Toolbar, Masthead, etc. by default.
To hide the View Pane, edit the data in the SHOW_INFO_PANEL column, change it from a 1 to a 0 and for that user the View Pane will not longer appear by default.
HYA_USER_PREFS
But again, this only works if you already see the user in the table otherwise I guess maybe they have to 'touch' their Preference before it creates an entry in that table. Haven't figured that part out yet, and Support didn't have any information.
If anyone has found a way to maneuver through the table structures I'd love to hear any insight you can offer.
Before you make any changes to the data in this table be sure to take adequate repository backups, and use caution as usual.
I'm going to create a Shared Preference and have each user point to it the first time they log in - but then you lose the ability for each user to have their own personal folder as their default, so it's still not the ideal solution. Really wish there was a way for Admins to set certain prefs. A coworker reminded me under 7.? or 6.x things like View Pane were system-level settings which was easy to control, but now it's at the user level.
Good luck,
Karen
Maybe you are looking for
-
Trouble Creating ringtone in itunes with mac
ok so i have snowleopard 10.6 and the iphone 4 and i went through everything to create a new ringtone and it doesnt work. i created the aac version, changed the time, changed it to a .m4r. (i followed a tutorial on youtube and when i got all done it
-
Oracle 10.2.0.4 patch upgrade
Hi, We have recently upgraded oralce 10.2.0.2 to 10.2.0.4 we downloaed the Oracle patches as per snote # 871735 for SUN aparc 64 bit . We have used OUI and done the upgrade as per the instaructions in the readme file of the patch. I have observe
-
Just bought a new 15" MacBook pro with lion (2.0 GHz i7, 4GB RAM, 500GB Hard Drive @7200 RPM) I am having a small problem with the graphics / animations in Lion (spefically entering mission control). After a fresh startup, the animations seem "chop
-
I have an iPod touch that was a gift this past Christmas. I cracked the screen and don't know if it can be replaced. I've been told it can be at an Apple Store. Is this true?
-
I am in the UK. I have been gifted an album by someone in Canada. The store says I can't redeem the token because I'm not in the Canada Store. Help!