Selection Tab content
Hi,
I have a requirement to categorize screen element in different selection TAB.I would want to know whether there is any internal table which stores all the elements with respect to which selection tab it is placed in.
For Eg:
SCREEN
This contains all the screen elements.
Please help!
Regards,
Tashi
If you have a SCREEN in your program you can check the screen elements there, instead of looking for it in debugging mode..
Similar Messages
-
Spry - load tab content only when clicked / selected
I'm considering spry to create a multi-tab page layout.. tabs
such as 'account', 'balance', 'bin', 'history', etc.
Each tab's content is dynamic and based on moderately
demanding DB calls. Is there a way to set Spry such that
- only the default selected tab's content (on page load) is
'filled', while the content of other tabs is generated only upon
user's click?
- once a tab's content is loaded, not regenerate its dynamic
content? I think I have an idea how to do this, but doesn't hurt to
ask.
thanks.quote:
Originally posted by:
shanbyrt
Brandan98,
I have a little script that sets the default panel whenever I
click on a tab.
I know it sounds redundant, but if/when the page reloads
onclick it reloads the default tab's contents. Just so you know I'm
not talking about persistent state stuff that V1 addressed in other
posts. :)
here's the script that I have that sets default tabs
<script type="text/javascript">
function setPanel(pan){
if (pan == 1){
var tp2 = new Spry.Widget.TabbedPanels("tp2", {defaultTab:
0});
if (pan == 2){
var tp2 = new Spry.Widget.TabbedPanels("tp2",{defaultTab:
1}); }
var tp2 = new Spry.Widget.TabbedPanels("tp2");
</script>
It seems to work for me, but may not be the best approach.
Byron
Hi Byron,
If i understand you right, this script sets the current tab
as default so if the page refreshes it reloads the current tab not
the first tab? If so this is exactly what i'm after! I'm not hot on
javascript so could you possibly expand a little on how i would
implement this in a php page??
Thanks, Mike :) -
How to change "Select a content category " text
Hi folks,
I really appreciate the support community, as I did deeper and deeper into the produce I've seen the same handful of names pop up across the board! Thanks for all your help!
I was wondering how to change the "Select a content category>>" text that displays in a traditional skin next to your content categories upon generation. Specifically this:
Is there a way to edit the text? Mine are focused on government levels and I'd like to make it easier for users.
Thanks! Happy New Year!Hi there
I believe you do it as follows:
Click File > Project Settings.
Ensure the General tab has focus.
Click the Advanced... button.
Click the LNG File tab.
Scroll the list to the [WebHelp] section.
Locate the item that reads: ContentCategoryList=Select a content category.
Click on it to select it.
Click the Edit button.
Change the text following the equals sign it to what you want it to read.
ContentCategoryList=Change this text
Press Enter to accept the change.
Click OK to dismiss the dialogs.
Generate and test!
Hope this helps... Rick -
Javascript to put text of selected tab in a header element at top of page
Create a simple html document a header and main div's. tab menu, say three tabs, in the main div. Want the header to display the text of the selected tab.
Here is the example with default SpryTabbedPanels.js and SpryTabbedPanels.css.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script src="SpryAssets/SpryTabbedPanels.js" type="text/javascript"></script>
<link href="SpryAssets/SpryTabbedPanels.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="header">Content for id "header" Goes Here :Want this to be the text of the selected tab.</div>
<div id="main">
<div id="TabbedPanels1" class="TabbedPanels">
<ul class="TabbedPanelsTabGroup">
<li class="TabbedPanelsTab" tabindex="0">Tab 1 text</li>
<li class="TabbedPanelsTab" tabindex="0">Tab 2 text</li>
<li class="TabbedPanelsTab" tabindex="0">Tab 3 text<br />
</li>
</ul>
<div class="TabbedPanelsContentGroup">
<div class="TabbedPanelsContent">Content 1</div>
<div class="TabbedPanelsContent">Content 2</div>
<div class="TabbedPanelsContent">Content 3</div>
</div>
</div>
main content
</div>
<script type="text/javascript">
<!--
var TabbedPanels1 = new Spry.Widget.TabbedPanels("TabbedPanels1");
//-->
</script>
</body>
</html>
Anyone have a javascript for this?Just to clarify:
-
hi friends,
i need to write routine in data selection tab , i need like when ever i open need to show current data.
how can i write coding.
i have code like this, please correct my code
L_t_RANGE_IOBJNM = '0CALDAY'.
L_t_RANGE-FIELD NAME = 'CALDAY'.
L_t_RANGE-SIGN = 'I'.
L_t_RANGE-OPTION = 'EQ'.
L_t_RANGE-LOW = sy-datum .
I DIDNT UNDERSTAND HERE WHAT IS ACTUALLY IOBJNM WHAT DO U MEAN BY LOW AND HIGH ACTUALLY. FIELD NAME MEANS I NEED TO MENTION LIKE/BIC/ZMNO LIKE .
THANKING U,
SUNEEL.Check below link to understand the RANGE type objects in ABAP. The OBJNAM is the object name which is used for selection in the InfoPackage. l_t_range is the internal table which contains all the selections used in the InfoPackage. So, if you need dynamic selections you have to code to populate dynamic values for the corresponding InfoObject in this Internal table. Low/High are the fields which actually contains the "From" and "to" range in selection.
Option - <,>,=, <> etc.
Sign -Include/Exclude (I/E)
http://help.sap.com/saphelp_nw2004s/helpdata/en/9f/dba71f35c111d1829f0000e829fbfe/content.htm
Regards,
Sree -
Can't find 0FYTLFP OLAP Variable in InfoPackage Data Selection tab on 3.5
On BW 3.5, when generating an InfoPackage with the datasource as Purchasing Data(80PUR_C01), under Data Selection tab, for the InfoObject 0FISCPER, I selected 7 (OLAP variables)for the Type column, then click the button next to it and under the column of Details for Type to bring up a window, but when expending the OLAP Variable field list, can't find the following value in the list which shows up on BW 3.1:
0FYTLFP 0FISCPER Cumulated to Last Fiscal Year/Period (SAP Exit)
How to make the above value show up in the OLAP Variable list? I thought maybe the variable 0FYTLFP needs to be installed in Business Contents, but there is no variable object type in Business Content. It sounds like a SAP Exit, but how to make the SAP Exit value show up on BW 3.5?
Thanks for everyone's input!hey Rohit,
Besides the three variable values in the list on BW 3.5, now I find a new one in the list, called "0E_ROLE 0SR_ROLE Role (SAP Exit)", I have no idea why this one shows up now. Now all the four variables in the list are:
1. 0CML12LM 0CALMONTH Last 12 Months Excluding the Current Month
2. 0CMONTH 0CALMONTH Current Calendar Month
3. 0E_ROLE 0SR_ROLE Role (SAP Exit)
4. 0S_RQMRC 0REQUID Most Current Data
0FYTLFP is still not in the list! We can't try to create BEx query since our BW 3.5 system is just installed and we have not got to the step to ceate a query. I try the 2nd way you suggested by pressing F6 on this variable with the typed in value 0FYTLFP, get the following msg "BEx variable 0FYTLFP could not be evaluated - No error message", that means it would not work on BEx query as well, right?
What could be the reason that we can't see 0FYTLFP variable in our new installed BW 3.5? Do you think our BASIS missed installing sth?
Thanks
Message was edited by: Kevin Smith -
Display tab content in Developer Studio 7.1
Hello all,
I've updated to Developer Studio 7.1 and imported my Web Dynpro Project from 7.0. So far, so good!
But, if I want to display the tab contents of my main view, I only can see the content of the 1st tab in the View Editor.
How can the content of the other tabs be displayed in the View Editor? Double-Click on each tab doesn't work... Is there any trick?
Regards,
JensIn the Outline view, right-click the "Tab" and select "Show".
Armin -
Tab content is empty when tab is dragged
I have two TabPanes which can move tabs each other. This is the code of the TabPane which receives the dragged tabs from the user:
tabPane.setOnDragDropped(new EventHandler<DragEvent>()
@Override
public void handle(DragEvent event)
final Dragboard dragboard = event.getDragboard();
if (dragboard.hasString()
&& TAB_DRAG_KEY.equals(dragboard.getString())
&& DragBuffer.getDraggingTab().get() != null
&& DragBuffer.getDraggingTab().get().getTabPane() != tabPane)
final Tab tab = DragBuffer.getDraggingTab().get();
tab.getTabPane().getTabs().remove(tab);
tabPane.getTabs().add(tab);
tabPane.getSelectionModel().select(tab);
event.setDropCompleted(true);
DragBuffer.getDraggingTab().set(null);
event.consume();
I noticed that when I drag the tab into the target TabPane the content of the tab is empty. But when I swith to the next tab of the target tabPane and return back I can see the content. This is couced by this line:
tab.getTabPane().getTabs().remove(tab);
Can you tell me how I can change the logic in order to prevent the empty tab body?
Ref javafx 2 - Tab content is empty when tab is dragged - Stack OverflowThis looks like a bug; I see the same thing in the context of your other thread. I can't seem to find a workaround. I have some sample code below which demonstrates the same problem without cluttering the code with drag and drop. This should move the selected tab in the bottom tapPane to the top tabPane ("Up" button) or the selected tab in the top tabPane to the bottom tabPane ("Down" button). When a tab is moved it is automatically selected; moving a tab to the top tabPane fails to show its content. (Strangely, moving a tab to the bottom tabPane works fine.) You should probably file a JIRA; reference this thread ("discussion" in the new forum-speak).
import java.util.Random;
import javafx.application.Application;
import javafx.beans.binding.Bindings;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.Tab;
import javafx.scene.control.TabPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Pane;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class TabSelectionTest extends Application {
@Override
public void start(Stage primaryStage) {
final TabPane tabPane1 = new TabPane();
final Random rng = new Random();
final int NUM_TABS = 4 ;
for (int i=1; i<=NUM_TABS; i++) {
tabPane1.getTabs().add(createTab(rng, i));
final TabPane tabPane2 = new TabPane();
for (int i=1; i<=NUM_TABS; i++) {
tabPane2.getTabs().add(createTab(rng, i+NUM_TABS));
final Button moveToPane1Button = new Button("Up");
final Button moveToPane2Button= new Button("Down");
final HBox buttons = new HBox(10);
buttons.getChildren().addAll(moveToPane1Button, moveToPane2Button);
moveToPane1Button.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
Tab selectedTab = tabPane2.getSelectionModel().getSelectedItem();
tabPane2.getTabs().remove(selectedTab);
tabPane1.getTabs().add(selectedTab);
tabPane1.getSelectionModel().select(selectedTab);
moveToPane2Button.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
Tab selectedTab = tabPane1.getSelectionModel().getSelectedItem();
tabPane1.getTabs().remove(selectedTab);
tabPane2.getTabs().add(selectedTab);
tabPane2.getSelectionModel().select(selectedTab);
moveToPane1Button.disableProperty().bind(Bindings.isEmpty(tabPane2.getTabs()));
moveToPane2Button.disableProperty().bind(Bindings.isEmpty(tabPane1.getTabs()));
VBox root = new VBox(10);
root.getChildren().addAll(tabPane1, buttons, tabPane2);
primaryStage.setScene(new Scene(root, 600, 500));
primaryStage.show();
private Tab createTab(Random rng, int i) {
Tab tab = new Tab("Tab "+i);
Pane pane = new Pane();
pane.setMinSize(600, 400);
String style = String.format("-fx-background-color: rgb(%d, %d, %d);", rng.nextInt(256), rng.nextInt(256), rng.nextInt(256));
pane.setStyle(style);
pane.getChildren().add(new Label("This is tab "+i));
tab.setContent(pane);
return tab ;
public static void main(String[] args) {
launch(args); -
Programatically disclosing tab does not cause tab contents to be displayed
I'm using Jdev 11g, update 2.
I have a page with a panelStretchLayout. The Start facet has a tree component. The Center facet has a panelTabbed component with 2 showDetailItems, each with different panelForms.
Manually clicking on the tabs shows the correct contents.
The tree has a SelectionListener mapped to a managed bean method. When a node is selected, the bean method sets one of the showDetailItems to disclosed.
There is PRR for the showDetailItems based on the tree.
This code does cause the right tab to become current. The problem is that the tab contents do not also display IF that tab was not previously the disclosed one.
An example:
Tree shows Departments & Employees, The first tab shows the selected Dept from the tree in a form, the other shows the selected Employee from the tree in a form.
When the page is run, the Dept tab is disclosed by default because it is the first one.
Select a Dept in the tree. The Dept tab remains disclosed and the correct Dept is displayed.
Select an Emp in the tree. The Emp tab become disclosed but it is blank. The Emp form does not appear.
Select a Dept in the tree to reset tabs.
Now manually click the Employee tab. The Employee formis displayed correctly with the last Emp selcted from the tree.
Select a Dept in the tree. Now the Dept tab becomes disclosed but it is blank.
My first thought was that this is a PRR problem with the tab children. But I've tried setting PRR on the panelForms so they are refreshed when the showDetailItems are refreshed. That didn't help.
I've also tried setting the rendered and visible properties for the tab child (form) programatically. No luck.
My current code for the selectionListener is:
public void setSelData(SelectionEvent selevt)
RichTree tree = (RichTree)selevt.getSource();
RowKeySet sel = tree.getSelectedRowKeys();
Iterator seliter = sel.iterator();
while (seliter.hasNext())
Object rowKey = seliter.next();
tree.setRowKey(rowKey);
FacesCtrlHierNodeBinding node =
(FacesCtrlHierNodeBinding)tree.getRowData();
String viewDefName = node.getHierTypeBinding().getStructureDefName();
if (viewDefName.contains("Dept"))
setSelDeptNo((oracle.jbo.domain.Number)node.getAttribute("Deptno"));
OperationBinding ob =
(OperationBinding)bindings.get("setCurrentRowWithKeyValue1");
ob.execute();
} else
setSelEmpId((oracle.jbo.domain.Number)node.getAttribute("Empno"));
OperationBinding ob =
(OperationBinding)bindings.get("setCurrentRowWithKeyValue");
ob.execute();
if (viewDefName.contains("Dept"))
panTab.getChildren().get(0).getAttributes().put("disclosed", false);
panTab.getChildren().get(1).getAttributes().put("disclosed", true);
empsTab.setDisclosed(false);
empsTab.setDisabled(true);
deptsTab.setDisabled(false);
deptsTab.setDisclosed(true);
} else
deptsTab.setDisclosed(false);
deptsTab.setDisabled(true);
empsTab.setDisabled(false);
empsTab.setDisclosed(true);*/
panTab.getChildren().get(1).getAttributes().put("disclosed", false);
panTab.getChildren().get(0).getAttributes().put("disclosed", true);
}That was it. I don't need to set up PPR for the showDetailItems either - just the panelTabbed. I'll remember to walk up and try PPR on all the parent components next time. Thanks.
-
Skinning UI Shell selected Tabs
Hello everybody. I've been skimming through the net a while for a simple but yet annoying problem.
We've built our webapp based on the UI Shell architecture: http://www.oracle.com/technetwork/developer-tools/adf/uishell-093084.html
Everything works great and our styles are fine as well, but there is one small problem. Older monitors lack contrast, so our tabs are not distinguishable from the background.
http://img211.imageshack.us/img211/5184/pic1sn.png
http://img140.imageshack.us/img140/171/pic2md.png
As you can see, I've tried to work with the style sheet and set the panelTabbed background color to Orange. It shows up(very ugly) on the wrong tab. The "main" tab isn't rendered this way. So obviously my skinning didn't apply to this one.
This is the root tag of the .jspx file: +<af:document id="d1" theme="dark">+
This is in my customCSS file:
af|panelTabbed::tab:selected
+{+
color:Yellow;
background-color: Orange;
cursor: crosshair;
+}+
Any ideas, why only the one tab renders the orange, the main one however doesn't?Okay so I made some progress with this but still can't quite figure out exactly how to get the look I want.
I modified the .css file:
af|navigationPane-tabs::tab:selected af|navigationPane-tabs::tab-start{
background-color: red;
However it doesn't set the tab itself to be red but rather the area behind the tab. It doesn't do anything if I set color:red;
This is how it looks atm:
http://img211.imageshack.us/img211/6329/tabbed.png
As you can see, the red isn't supposed to be behind the tab but rather the selected tab itself should be red. I know I will have to set tab-content and tab-end as well, but thats not whats important.
Here's also a firebug screenshot:
http://img819.imageshack.us/img819/426/firebugh.png
Any ideas how to get the "tab content background" or whatever one should call it to be skinned?
Any help is greatly appreciated!
Thanks,
Pascal -
How to insure selected tabs are visible in JTabbedPane
Hello all,
How can you insure that the selected tab in a JTabbedPane is visible.
Here is the code:
import javax.swing.*;
import java.awt.*;
public class TabbedPaneTest extends JTabbedPane implements Runnable
public TabbedPaneTest()
super(JTabbedPane.TOP, JTabbedPane.SCROLL_TAB_LAYOUT);
} // end TabbedPaneTest constructor
public void run ()
for (int i = 1; i <= 10; i ++)
try
this.addTab(Integer.toString(i), createDefaultPanel (i));
this.getModel().setSelectedIndex(i - 1);
Thread.sleep(3000);
} // end try block
catch (Exception e)
e.printStackTrace();
} // end catch block
} // end for loop
} // end run method
private JPanel createDefaultPanel (int index)
JPanel defaultPanel = new JPanel ();
defaultPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLoweredBevelBorder(), Integer.toString(index)));
return defaultPanel;
} // end createDefaultPanel method
public static void main (String args [])
JFrame frame = new JFrame ();
TabbedPaneTest tpt = new TabbedPaneTest ();
frame.getContentPane().add(tpt);
frame.setSize(200, 200);
Thread newThread = new Thread (tpt);
newThread.start();
frame.setVisible(true);
} // end main method
} // end TabbedPaneTest class
I've crated a JTabbedPane with the tabLayoutPolicy set to JTabbedPane.SCROLL_TAB_LAYOUT.
If I add enough tabs the scroll buttons appear but the newly adde tab is hidden behind them,
even though I have set the selection index to the added tab. The content of the panel associated
with the tab is visible but the tab itself is hidden.
So the selected tab is hidden behind the scroll buttons.
Any one know how to insure that if a tab is selected it is visible to the user.
ThanksThis is an interesting question so I tried it out. After some poking around to see how Swing does this for mouse clicking (try setting things up so that a tab is only partially visible and then click on the visable part - notice how the whole tab is scrolled into view) I found this: /**
* This inner class is marked "public" due to a compiler bug.
* This class should be treated as a "protected" inner class.
* Instantiate it only within subclasses of BasicTabbedPaneUI.
public class TabSelectionHandler implements ChangeListener {
public void stateChanged(ChangeEvent e) {
JTabbedPane tabPane = (JTabbedPane)e.getSource();
tabPane.revalidate();
tabPane.repaint();
if (tabPane.getTabLayoutPolicy() == JTabbedPane.SCROLL_TAB_LAYOUT) {
int index = tabPane.getSelectedIndex();
if (index < rects.length && index != -1) {
tabScroller.tabPanel.scrollRectToVisible(rects[index]);
}Which is called when the selected tab changes. The member theScroller is a private inner class that handles the scrolling tabs. The call to scrollRectToVisible is executed for each of your new tabs. Sometimes when I stopped in the debugger and then continued things worked and your new tab scrolled into view.
So I tried putting your code into a Runnable class and invoked it later: final int newIndex = i;
SwingUtilities.invokeLater (new Runnable () {
public void run () {
addTab(Integer.toString(newIndex), createDefaultPanel (newIndex));
getModel().setSelectedIndex(newIndex - 1);
});But that did not work. That is as far as I got so far and I have to stop now. Perhaps this can inspire someone else to a solution.
IL
PS. I first tried Rammensee's solution and it did not work.
Rammensee, you said you hoped you had it right - perhaps you are close. -
Want to change the Background Color of Selected Tab
Hi All,
I want to change the Background Color of Selected Tab of the tabstrip visible in Content Admin Role (Browse, Overview etc.).
I have changed the Background Color of Selected Tab - Tabstrips-Complex Elements through Theme Editor, but that did not take effect.
Only the other webdynpro components tabstrips took effect.
Regards,
VishalHi Andre,
I don't know if you have already figured out how to change the background color of the tabstrip, but I will explain how we have done it.
You might have tried to change the background color in "Tabstrip" (under the menu "Complex Elements") in Theme Editor. When you change the property "Background color of selected/unselected tabs", this will not change the color of the images on the tabstrip (ex. the triangle on the side of the tab). These images are on the server. We copied these images and then made changes to them, before we uploaded them again through the Theme Editor.
The path to find the images is /usr/sap/~/JC01/j2ee/cluster/server0/apps/sap.com/irj/servlet_jsp/irj/root/portalapps/com.sap.design.urdesigndata/themes/portal/the name of your theme/common/tablist
If this didn't work for you, you might have to change the properties in "Pattern Containers" (under Complex Elements") in Theme Editor. The tablist properties are under the header "Tab Container".
I think it should work for you then. We also found that there was some problems when we tried to view the changes in Firefox, but haven't figured out how to solve this.
/Ellen -
I wonder, that i don't get any feedback here (please see below).
Can somebody first just confirm this observation?
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
"CORE 11.2.0.3.0 Production"
TNS for Linux: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production
NLSRTL 11.2.0.3.0 Production
Oracle Database 11g Enterprise Edition 11.2.0.3.0 64bit Production
PL/SQL 11.2.0.3.0 Production
TNS for Linux: 11.2.0.3.0 Production
I recognized for my application, that there is an increasing efforts (in terms of time) for executing
(in a pl/sql package procedure invoked by a BIU trigger)
SELECT XMLSERIALIZE(CONTENT(p_xml_data)) INTO v_xml_clob FROM DUAL;
Here is a little demo sqlplus script:
create or replace package test_pkg
as
procedure check_xml(
p_xml_data in out nocopy xmltype);
end;
create or replace package body test_pkg
as
procedure log(
p_txt in varchar2)
is
ts TIMESTAMP WITH TIME ZONE := systimestamp;
begin
dbms_output.put_line(to_char(ts, 'hhmiss.FF3') || ':' || p_txt);
end;
procedure check_xml(
p_xml_data in out nocopy xmltype)
is
v_xml_clob CLOB;
v_len NUMBER;
begin
log('check_xml(): enter');
SELECT XMLSERIALIZE(CONTENT(p_xml_data)) INTO v_xml_clob FROM DUAL;
log(' serialized');
v_len := dbms_lob.getlength(v_xml_clob);
log('check_xml(): done - length = #' || v_len);
exception
when others then
oerror_pkg.set_ora_error;
raise;
end;
end;
drop table test_table;
create table test_table(
tid number(19,0),
data xmltype
create or replace trigger BIU_TEST_TABLE
before insert or update on test_Table
for each row
declare
begin
test_pkg.check_xml(:new.data);
end;
insert into test_table(tid, data)
select ctr_tab.ctr, '<root><node>' || ctr_tab.ctr || '</node></root>'
from ( SELECT LEVEL ctr
FROM dual
CONNECT BY LEVEL <= 200) ctr_tab;
The output is going like this
021543.204:check_xml(): enter
021543.204: serialized
021543.204:check_xml(): done - length = #32
021543.206:check_xml(): enter
021543.206: serialized
021543.206:check_xml(): done - length = #32
021543.207:check_xml(): enter
021543.208: serialized
021543.208:check_xml(): done - length = #32
021543.209:check_xml(): enter
021543.210: serialized
021543.210:check_xml(): done - length = #32
021543.211:check_xml(): enter
021543.212: serialized
021543.212:check_xml(): done - length = #32
021543.214:check_xml(): enter
021543.214: serialized
021543.214:check_xml(): done - length = #32
021549.625:check_xml(): enter
021549.664: serialized
021549.665:check_xml(): done - length = #34
021549.708:check_xml(): enter
021549.746: serialized
021549.747:check_xml(): done - length = #34
021549.791:check_xml(): enter
021549.829: serialized
021549.830:check_xml(): done - length = #34
021549.874:check_xml(): enter
021549.912: serialized
021549.913:check_xml(): done - length = #34
When i filter it with a little perl script to extract the efforts (xmlserialize / dbms_lob.getlength):
0 / 0
0 / 0
1 / 0
1 / 0
1 / 0
0 / 0
0 / 0
0 / 1
1 / 0
0 / 0
0 / 1
1 / 0
0 / 0
0 / 1
1 / 0
0 / 1
0 / 1
0 / 0
0 / 1
0 / 0
0 / 1
0 / 0
1 / 0
0 / 1
0 / 0
31 / 1
31 / 1
32 / 1
32 / 1
32 / 1
33 / 0
33 / 0
34 / 1
34 / 0
34 / 1
34 / 0
34 / 1
34 / 1
35 / 1
35 / 1
36 / 0
36 / 1
36 / 1
37 / 1
37 / 0
37 / 1
38 / 0
38 / 0
39 / 1
38 / 1
38 / 1
38 / 1
Unfortunately i can't easily change the way the insert from select is done (legacy code not under my control)
Can someone tell me, if there is a way starting with the trigger to avoid those increasing efforts?
- many thanks!
best regards,
Frank[ Addendum - 24.01.2014:
This only worked for the test/demo program. It didn't work for my application.
For my application i really had to move the logic to the INSERT before the trigger
- similar to the 3rd posting for my monologue(!) here.
A little step further:
I also don't have the problem if i expand the code of the PROCEDURE test_pkg.check_xml(...) directly into the trigger
- instead of invoking the PROCEDURE in the trigger:
create or replace package test_pkg
as
procedure log(
p_txt in varchar2);
end;
create or replace package body test_pkg
as
procedure log(
p_txt in varchar2)
is
ts TIMESTAMP WITH TIME ZONE := systimestamp;
begin
dbms_output.put_line(to_char(ts, 'hhmiss.FF3') || ':' || p_txt);
end;
end;
drop table test_table;
create table test_table(
tid number(19,0),
data xmltype
create or replace trigger BIU_TEST_TABLE
before insert or update on test_Table
for each row
declare
begin
-- test_pkg.check_xml(:new.data);
declare
v_xml_clob CLOB;
v_len NUMBER;
begin
test_pkg.log('check_xml(): enter');
SELECT XMLSERIALIZE(CONTENT(:new.data)) INTO v_xml_clob FROM DUAL;
test_pkg.log(' serialized');
v_len := dbms_lob.getlength(v_xml_clob);
test_pkg.log('check_xml(): done - length = #' || v_len);
exception
when others then
oerror_pkg.set_ora_error;
raise;
end;
end;
insert into test_table(tid, data)
select ctr_tab.ctr, '<root><node>' || ctr_tab.ctr || '</node></root>'
from ( SELECT LEVEL ctr
FROM dual
CONNECT BY LEVEL <= 200) ctr_tab;
-- rollback;
That gives some hint.
Does oracle have some problem / limit for invoking procedures (functions) from triggers?
Or only if those use certain features?
An issue about deterministic and re-entrance?
Well, that boxes me into a corner.
Because the single package procedure implements a functionality at a central place - i.e. a single central place to extend it or to fix it.
If i now have to expand its content (like a macro) into the triggers of the respective table i am in trouble.
Because those tables (and their triggers) are dynamically generated by a compiler tool of a c++ client.
This means for extension and fixes i need to change, test, deliver and deploy a list of c++ client processes :-(
Is there any way around?
How can i inform oracle that the invocation of a PL/SQL procedure is functionally identically with expanding the PL/SQL functions code into the trigger?
rgds,
Frank -
Data Selection tab in infopackage
Hi Gurus
Its a very basic question but can anybody tell me what function the "data selection " Tab does in infopackage?
I know the setting required on R3 side for that but not sure why we use the data selection.
Can we use this data selection for master data as well?Hi Kris,
Data Selection tab allows you to select: date ranges, document numbers and the like.
In order to have filds in there, you should first select in the DataSource in the R/3 side wich field could be selected.
If it is a Generic DataSource, you can do it running RSO2 transaction code.
<text removed by moderator>
Claudio
Message was edited by: Matthew Billingham -
Not able to put data selection condition in data selection tab of infopakag
I was loading data from data source as data mart ( export data sauce from ODS) to other ODS.
when I tried to do delta Initialization with data transfer , I am not able to put data selection condition in data selection tab of infopakage.
when I choose Full Update in Update tab . It enables data selection fields in data selection tab. and I could put the condition.
I have checked in transfer structure as well , the fields are marked for selection.
Please advice .
Please tell me what could be the reason for this problemAshutosh,
As you are doing delta upload the data selection tab will be disabled, if you want to do the selective load then you need to do init update with your selection.
When you do the full updtae then definitely the data selection tab will be enabled for all the objects.
Hope this helps...
*******Assign Points if it helps********
Thanks,
Gattu
Maybe you are looking for
-
An issue with the computer crashing.
My Macbook bought in 2007 recently has gone through some running issues. Every now and then when I am running a facebook program that uses an Adobe Flash application the laptop stops running and requires a restart. This is becoming almost a daily i
-
2010 MBA with Samsung BX2231 monitor? (HDMI connector)
Will my 2010 13" MBA work with this monitor? I read in this forum that connecting a MBA to a monitor via HDMI creates problems. Is this true? The Samsung BX2231 only has one D-sub and two HDMI connectors. (no DVI) BX2231 - Signal Input Video Signal A
-
Can Captivate be set to advance when only a certain key is pressed
I am doing software training simulation. I am trying to teach the user how to do a set of tasks. In the software you must press certain key to accomplish certain steps so I want to set captivate to advance to the next slide only when the correct k
-
Planning daily servers restart (XI 3.1)
Hi all, is there someone who knows how can I schedule a daily restart of some of Business Enterprise Servers (let's say all the servers involved for Web Intelligence)? I'm on BObj XI 3.1 on AIX. My idea is to schedule the restart using CRONTAB...any
-
Ipod nano - audio distortion ????
I got my Nano in October and noticed that the audio was distorted when using external JBL speakers. I haven't used my buds for a while, but during the holidays, I noticed the distortion with the buds. Last week, I purchased new Sony buds and the dist