Exceptions for row highlights?

Hi Experts,
Can anyone guide me on exceptions in Bex and WAD please.
I did go through the help site steps as well. If anyone has any documents or so
I tried to create it but does not give the expected result. All I want to do is white out the background report and just highlight the top nodes of the hierarchy (which is totals row) in another color. There is no Kfg evaluation here.
Is exceptions a better way to achieve this or anything simpler method.
Please suggest.
Thanks
Sarah.
Message was edited by: Sarah

Hi Arun / Andrea thanks for the response, I will go over and try and see the VB coding part.
Is it the Macro's in BEx queries where I require do this coding or on the WAD side is there anywhere I have to do the coding? Sorry abt the very basic question but this is my first time with WAD and VB.
The BW version is 3.0.
At this point I am not sure if the client will want to use another reporting tool and use queries from BW.
Well, in that case then not only the highlights have to happen. I will keep this link open for a few days to hear back any further comments.
Thanks
Sarah
Message was edited by: Sarah

Similar Messages

  • Row highlighting is gone on enabling inline style for columns

    We have a multi-select enabled table on which cusomter wanted to change the color based on row stauts (a column in the table).
    We did it on the column component of the table as background-color:#{row.Status == 'Inactive'? '#A5A5A5': row.Status == 'Draft'?'#D8D8D8':''};
    this works great though as soon as this is done the row highlight color is gone from the table and hence makes it impossible to know which rows are actually selected.
    we are using RUP3 (Rel 4) version of jdev 11.1.1.6.2 version from edelivery.

    To apply that css rules to only one table set property styleClass="MyCustomTable" of the <af:table> and change the above rules for these (note that each rule starts with af|table.MyCustomTable):
    af|table.MyCustomTable::status-message {background-color: #0090c1; color: white; border: 2px #a0b4ba inset;}
    af|table.MyCustomTable::column-resize-indicator {border: 1px solid #51bfff;}
    af|table.MyCustomTable::data-row:selected af|column::data-cell {border-top: 1px solid #00afea; border-bottom: 1px solid #00afea;}
    af|table.MyCustomTable::data-row:selected af|column::banded-data-cell {border-top: 1px solid orange; border-bottom: 1px solid orange;}
    af|table.MyCustomTable::data-row:selected:focused af|column::data-cell {border-top: 1px dashed #00afea; border-bottom: 1px dashed #00afea;}
    af|table.MyCustomTable::data-row:selected:focused af|column::banded-data-cell {border-top: 1px dashed orange; border-bottom: 1px dashed orange;}
    af|table.MyCustomTable::data-row:selected:inactive af|column::data-cell {border-top: 1px solid #84e0ff; border-bottom: 1px solid #84e0ff;}
    af|table.MyCustomTable::data-row:selected:inactive af|column::banded-data-cell {border-top: 1px solid green; border-bottom: 1px solid green;}
    af|table.MyCustomTable::data-row:hover af|column::data-cell,af|table.MyCustomTable::data-row:hover af|column::banded-data-cell {background-color: #bfd6b0 !important;}
    af|table.MyCustomTable af|column::data-cell:selected {background-color: #9CACC9 !important;}AP

  • What is the exception for finding more than one row?

    What is the exception if you do a select and get more than one row? no_data_found is the exception for not finding any, what is the exception for finding "too much". Thx

    Funnily enough there is a complete list of predefined exceptions in the documentation .
    Cheers, APC

  • Alternate row highlighting for library and playlist display

    I recently upgraded to iTunes 7 from an old version (4). The old version had a readability feature that appears to be lacking in 7 -- library and playlist contents had alternate rows highlighted subtly. As I have a high screen resolution and use many columns, this highlighting was very useful to me.
    Does anyone know if there is a way to turn this on for iTunes 7?
    Thanks,
    Per
      Windows XP Pro  

    I don't think the source bar ever had the alternate bars, and the library still has it. It does seem to be much more subtle than before, though. Have you tried adjusting the contrast on your monitor?

  • Keeping selected row highlighted

    I have a datatable that has 2 panel grids in it. The first panel grid is used only to show the first image/link all the time because it is not stored in our database. The second panelGrid fetches a list of programs from our database, and lists them with an image next to the link if the user is subscribed to that program. When the page first loads up, I need the first row highlighted by default. When a user selects a program, I need to change the highlight to that the program they selected. When the user selects a program, it loads the same page, but changes an ifram that has the details of what they clicked on. How can I get the row for this program only to be selected and stay selected until they click another program. Below is my page code and my backing bean.
    <h:dataTable id="programTable" headerClass="programTableHeader" width="100%"
                                                                     value="#{Program_profile.programDataModel}" var="varprogramDataModel">
                                                                     <h:column>
                                                                          <f:facet name="header">
                                                                               <h:panelGrid id="pnlgridAboutMyPrograms" width="100%" border="0" cellpadding="0" cellspacing="0" columns="1">                                                                                
                                                                                    <h:commandLink id="lnkAboutMyPrg" action="#{Program_profile.aboutMyProgramAction}" >
                                                                                         <hx:graphicImageEx id="imgAbtMyPrg1" value="#{msg.Program_profile_About_My_Program_Image}" border="0" hspace="5"></hx:graphicImageEx>
                                                                                         <h:outputText id="txtAbtMyPrg" value="#{msg.Program_profile_About_My_Program_Name}"></h:outputText>
                                                                                    </h:commandLink>
                                                                               </h:panelGrid>
                                                                          </f:facet>     
                                                                          <h:panelGrid id="pnlgridPrograms" width="100%" border="0" cellpadding="0" cellspacing="0" columns="1"  columnClasses="">
                                                                               <h:commandLink id="programLink" action="#{Program_profile.selectedProgram}">
                                                                                    <hx:graphicImageEx id="checkMarkProgram" value="#{msg.Program_profile_Check_Mark_Image}" border="0" rendered="#{varprogramDataModel.subscribed}" hspace="5"></hx:graphicImageEx>
                                                                                    <h:outputText id="programName" value="#{varprogramDataModel.name}"></h:outputText>
                                                                               </h:commandLink>
                                                                          </h:panelGrid>
                                                                     </h:column>Backing bean:
    public String selectedProgram(){
              // A program details which is selected by the user
              ApplicationParameter.getLogger().debug(ENTRY);
              ProgramInformation selectedProgram= null;
              ProfileController profileController = new ProfileController();
              Customer customer =null;
              // Returning the value for from-outcome element of faces-config.xml file 
              String from_outcome=null;
              try{
                   //Check for customer object
                   if(!utility.isUserInSession()){
                        FacesMessage message = MessageFactory.getMessage(facesContext,"Program_profile_customer_help");
                        facesContext.addMessage("",message);
                        return ApplicationParameter.NAVIGATION_CUSTOMER_HELP;
                   selectedProgram = (ProgramInformation)programDataModel.getRowData();
                   selectedProgram=createProgramInformation(selectedProgram.getCode());
                    * Highlight the program selected
                    UICommand programCommand = getProgramLink();
                    UIComponent parent = programCommand.getParent();
                    parent.getAttributes().put("rowClasses","tnSelected");
                    ApplicationParameter.getLogger().debug("\n ***************  programCommand = "+programCommand.getClientId(facesContext));
                 ApplicationParameter.getLogger().debug("\n*************     programParent = "+parent.getClientId(facesContext));
                     * Highlight the About my programs link
    //                 UICommand aboutProgramCommand = getLnkAboutMyPrg();
    //                 UIComponent aboutParent = aboutProgramCommand.getParent();
    //                 if (!parent.getAttributes().containsKey("rowClasses")) {
    //                      aboutParent.getAttributes().put("rowClasses","tnSelected");
                   //setSelectedHighlight("tnSelected");
                   //Set in the session
                   ApplicationParameter.getLogger().debug("Iframe page ->"+selectedProgram.getInfoPage());
                   utility.getExternalContext().getSessionMap().
                             put(ApplicationParameter.SESSION_KEY_PROGRAM_INFORMATION,selectedProgram);     
                   utility.getExternalContext().getSessionMap().
                             put(ApplicationParameter.SESSION_KEY_IFRAMEPAGE,selectedProgram.getInfoPage());                                   
                   from_outcome=ApplicationParameter.NAVIGATION_PROGRAM_PROFILE;
              }catch (Exception ex){
                   ApplicationParameter.getLogger().error("\n\nException ->\n"+ex.getMessage());
                   FacesMessage message = MessageFactory.getMessage(facesContext,"Program_profile_Customer_Help_Exception");
                   facesContext.addMessage("",message);
                   return ApplicationParameter.NAVIGATION_CUSTOMER_HELP;
              ApplicationParameter.getLogger().debug(EXIT);
              return from_outcome;
         }When I click on a program link using the code above, it highligts all the rows, not just the selected one.

    can anyone please help me? I can post more code if that helps.

  • Apex 4 -- Standard, Alternating Row Colors row highlight broken

    template: 14. Standard, Alternating Row Colors in apex 4.0 appears to have it mouse-over row highlight colors reversed (except for the first row, which is not highlighted)
    when first displayed, the rows are displayed white/gray/white...
    mousing over the first row does nothing, mousing out does nothing
    mousing over the 2nd row does nothing, mouse out changes it to white
    mousing over the 3rd row does nothing, mouse out changes it to gray
    etc

    I noticed this behavior too, very annoying. Did someone found a way to fix the template ?

  • Row highlighting - variable substitution?

    Hi
    Report templates are great except that the Row Highlighting options take literal values.
    Is there (at 3.0.1) any way to vary the background color for current row dependent on a CSS style or other variable?
    Is there (please...) any intention to support CSS styles or a substitution variable (or application item reference) in these settings in a future release?
    Thanks
    John

    Bump again. Variable ROW-level formatting would be REALLY nice. And not just the {span] tag, but include row-level changes for both cell- and text-based attributes such as cell borders, cell background colors, font size, font weight, font color, etc. Would be best if one could create a pseudocolumn in the SQL and have the row use the specified CSS value, ie
    This SQL query
      select CASE(dept_id)
            when 1 then 'mktg'
            when 2 then 'sales'
            when 3 then 'admin'
        END CASE as CSS,
       emp_id, emp_nm, dept_id
        from EMP;This could be paired with a stylesheet in the page header that looked something like:
    <style type="text/css">
    tr.sales {text-align: center, font-weight: bold; color: #FF0000; border: 1px solid black;}
    tr.mktg {text-align: right, font-weight: bold; color: #32CD32}
    tr.admin {text-align: right, font-weight: bold; color: #00FF00; border:1px solid green;}
    </style>Then when rendering the page, it would apply the row-level css to the {tr} tag when building the table.
    What say you?
    Edited by: blarman74 on Apr 30, 2010 12:25 PM

  • My MacAir is great except for a problem i have. Keys F1, F2,F5,F6,F7,F8,F9,F10,F11,F12 and the power button are unresponsive. These are keys i frequently use and i have searched the whole apple help centre. Anyone got answers for me? Please helP!!!

    My MacAir is great except for a problem i have. Keys F1, F2,F5,F6,F7,F8,F9,F10,F11,F12 and the power button are unresponsive. These are keys i frequently use and i have searched the whole apple help centre. Anyone got answers for me? Please helP!!!

    Some keys don't work as expected
    From the Apple menu, choose System Preferences.
    From the View menu, choose Speech.
    Click the Text to Speech tab.
    If "Speak selected text when the key is pressed" is enabled, the key or key combination set to speak text cannot be used for other purposes or used to type text--click Set Key and change it to a less-commonly used key combination (try to use modifier keys such as Shift, Command, Option, and Control). Or, disable the "Speak selected text when the key is pressed" option.
    Click the Universal Access pane in System Preferences, click the Keyboard tab.
    Make sure that Slow Keys is turned off. With Slow Keys on, you need to press a key for a longer period of time for it to be recognized.
    In the Universal Access pane, click the Mouse tab, and make sure Mouse Keys is turned off. With Mouse Keys enabled, you cannot use the Numeric Keypad to enter numbers--instead the keypad moves the pointer (cursor). (There is an option to enable Mouse Keys with five presses of the Option key; you may want to turn that option off to avoid accidentally enabling it.) If Mouse Keys is enabled and you are using a keyboard with no numeric keypad or Num Lock function, see Unable to type while Mouse Keys is enabled in Mac OS X.
    If the function keys on the top row of the keyboard are not working as expected, see Mac OS X: How to change the behavior of function keys.
    If the issue persists, use Keyboard Viewer to help isolate the issue:
    Click the Language & Text pane (Mac OS X v10.6) or International pane (Mac OS X v10.5.8 or earlier) in System Preferences.
    Click the Input Sources tab (or Input Menu tab in Mac OS X 10.5.8 or earlier).
    Click the Keyboard & Character Viewer "On" checkbox to select it (click the Keyboard Viewer "On" checkbox in Mac OS X 10.5.8 or earlier).
    From the Input (flag) menu, choose Show Keyboard Viewer.
    If the keyboard is connected and detected by Mac OS X, the keys you type will highlight in the Keyboard Viewer window. Open TextEdit (or any text application), and try to type something using the keys that were previously not responding to see if they highlight in Keyboard Viewer.
    Start from the Mac OS X Install Disc, choose Terminal from the Utilities menu and test the keys which were previously not working.  If the keys work while started from the Install disc, then the keyboard itself is working correctly.  Use Mac OS X: How to troubleshoot a software issue to isolate the software issue that may be causing the keys to not respond.
    http://support.apple.com/kb/TS1381

  • Row highlight does not work when class has a background-clolor

    This is more a CSS / javascript question but since the problem occurs in Apex I'll try my luck here.
    I try to implement a row highlight feature that worked in 3.2 but not in 4.0. The difference is that the style that is used for the table cells contains a background-color in the 4.0 template and it did not in 3.2.
    This is how it works.
    I created a report template with "before each row" : <tr onMouseOver="cOn(this);" onMouseOut="cOut(this);">
    The javascript does this:
    function cOn(td) {
       if(document.getElementById||(document.all && !(document.getElementById))) {
          if (td.previousSibling != null) {
              td.style.backgroundColor="#FFFF99";
              td.style.color="#000000";         
    }My thought was that td.style.backgroundColor="#FFFF99" would overrule the background color given by the class but when this happens from within javascript this does not work. Is this proper behaviour? Are there other methods that will work?

    Hi Rene
    If you are just looking for a row highlight on a mouse hover, it might be easier to place the following in the html header of the page:
    <style = text/css>
    .apexir_WORKSHEET_DATA tr:hover td {
    background-color: #FFFF99 !important;
    color: #000000 !important;
    </style>
    ~Andrew Schultz

  • Can we display comments row for row in Input Ready Query...

    Dear All,
    Currently I have created Web template with Signle Document. When executed it in the Portal it will come up with a "Save" and "Cancel" button of its own and can allowing me to capture comment here & Finally Click on SAVE button which was stored in Documents area in RSA1.
    Now I am was trying to figure out to display comments Row for Row in Input Ready Query...
    Can you give ideas on this...

    Check link http://help.sap.com/saphelp_nw04/helpdata/en/1e/99ea3bd7896f58e10000000a11402f/frameset.htm
    In query properties in BEx query designer you have to do settings to - Display document links
    For metadata, master data, and InfoProvider data for a query, you can display links to Documents that you have created for these objects. If documents exist for these objects, the symbol  appears next to these objects. If you click on this symbol, you jump to where the document is displayed on the Web.
    Highlight the appropriate setting so that the document links for the desired document class are displayed. The document classes are oriented to the various categories of BW objects. InfoProvider data, metadata and master data.

  • JTable cell focus outline with row highlight

    With a JTable, when I click on a row, the row is highlighted and the cell clicked has a subtle outline showing which cell was clicked.
    I would like to do that programatically. I can highlight the row, but I have not been able to get the subtle outline on the cell. My purpose is to point the user to the row and cell where a search found a match. I do not have cell selection enabled, because I want the whole row highlighted.
    My basic code is:
    table.changeSelection(irow, icol, false, false);
    table.scrollRectToVisible(table.getCellRect(irow, icol, true));I keep thinking I just need to find a way to "set focus" to the cell so the subtle outline is displayed, but I cannot find something like that.
    Does anyone have some ideas on how to activate that automatic outline on the cell? I prefer not to write custom cell renderers for this if possible.

    That seems unnecessarily complicated, the outline is the focused cell highlight border so requesting focus on the table should be enough.
    import java.awt.BorderLayout;
    import java.awt.EventQueue;
    import java.awt.Rectangle;
    import java.awt.event.ActionEvent;
    import javax.swing.*;
    public class TestTableFocus {
        public static void main(String[] args) {
            EventQueue.invokeLater(new Runnable() {
                public void run() {
                    final JTable table = new JTable(10, 10);
                    JFrame frame = new JFrame("Test");
                    frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
                    frame.getContentPane().add(new JScrollPane(table));
                    frame.getContentPane().add(new JButton(
                      new AbstractAction("Focus cell") {
                        @Override
                        public void actionPerformed(ActionEvent e) {
                            table.changeSelection(5, 5, false, false);
                            centerCell(table, 5, 5);
                            table.requestFocusInWindow();
                        private void centerCell(JTable table, int x, int y) {
                            Rectangle visible = table.getVisibleRect();
                            Rectangle cell = table.getCellRect(x, y, true);
                            cell.grow((visible.width - cell.width) / 2,
                                    (visible.height - cell.height) / 2);
                            table.scrollRectToVisible(cell);
                    }), BorderLayout.PAGE_END);
                    frame.pack();
                    frame.setLocationRelativeTo(null);
                    frame.setVisible(true);
    }

  • Validating XML stored in CLOB without exceptions for malformed XML

    Hello,
    I have a CLOB column that should contain an XML which conforms to a registered XSD schema. However, there might also be cases, in which the CLOB content violates the XSD or is not even wellformed XML at all.  Now I am trying to find a way to either
    identify all records, for which the CLOB contains well-formed XML that validates against my schema (find all "good" records) , or
    find all the other records (those with either no XML at all, malformed XML, or XML that does not validate against the XSD) (find all "exceptions")
    The problem is that all XML-validation methods I know of (e.g. isXmlValid or XmlType.isSchemaValid)  require an XmlType instance, and that records, for which no proper XmlType can be constructed from the CLOB, because the CLOB does not contain well-formed XML, will cause an exception, rather than just returning false or NULL or something else I could filter out.
    Is there a way to do something like
    SELECT * FROM MYTABLE where <MY_XML_COL is wellformed XML> and <MY_XML_COL validates against 'blabla.xsd'>
    without getting an ORA-31011 or whatever other kind of exception as soon as there is a row that does not contain proper XML?
    Thank you...

    So here is my example - this will be quiet a long post now...
    First, I create the table with the CLOBs
    CREATE TABLE ZZZ_MINITEST_CLOB (
      ID NUMBER(10,0) NOT NULL ENABLE,
      XML_DOC CLOB,
      REMARKS VARCHAR2(1000),
      CONSTRAINT PK_ZZZ_MINITEST_CLOB PRIMARY KEY (ID)
    ) NOLOGGING;
    Then I insert some examples
    INSERT INTO ZZZ_MINITEST_CLOB VALUES (
    10,
    '<minitest_root>
      <l2Node>
      <l2Num>1</l2Num>
      <l2Name>one.one</l2Name>
      </l2Node>
      <minitestId>1</minitestId>
      <minitestName>One</minitestName>
    </minitest_root>',
    'Basic valid example');
    INSERT INTO ZZZ_MINITEST_CLOB VALUES (
    20,
    '<minitest_root>
      <l2Node>
      <l2Num>1</l2Num>
      <l2Name>two.one</l2Name>
      </l2Node>
      <minitestId>2</minitestId>
      <!-- minitestName element is missing -->
    </minitest_root>',
    'Invalid - minitestName element is missing');
    INSERT INTO ZZZ_MINITEST_CLOB VALUES (
    30,
    '<minitest_root>
      <l2Node>
      <l2Num>1</l2Num>
      <l2Name>three.one</l2Name>
      </l2Node>
      <!-- minitestName and minitestId are switched -->
      <minitestName>Three</minitestName>
      <minitestId>3</minitestId>
    </minitest_root>',
    'Invalid - minitestName and minitestId are switched');
    INSERT INTO ZZZ_MINITEST_CLOB VALUES (
    40,
    '<minitest_root>
      <l2Node>
      <l2Num>1</l2Num>
      <l2Name>four.one</l2Name>
      </l2Node>
      <l2Node>
      <l2Num>2</l2Num>
      <l2Name>four.two</l2Name>
      </l2Node>
      <l2Node>
      <l2Num>3</l2Num>
      <l2Name>four.three</l2Name>
      </l2Node>
      <minitestId>4</minitestId>
      <minitestName>Four</minitestName>
    </minitest_root>',
    'Valid - multiple l2Node elements');
    INSERT INTO ZZZ_MINITEST_CLOB VALUES (
    50,
    '<minitest_root>
      <l2Node>
      <l2Num>1</l2Num>
      <l2Name>five.one</l2Name>
      </l2Node>
      <l2Node>
      <l2Num>2</l2Num>
      <l2Name>five.two</l2Name>
      </l2Node>
      <minitestId>4</minitestId>
      <minitestName>Five</minitestName>
      <!-- another l2Node node, but too far down -->
      <l2Node>
      <l2Num>3</l2Num>
      <l2Name>five.three</l2Name>
      </l2Node>
    </minitest_root>',
    'Invalid - another l2Node node, but too far down');
    INSERT INTO ZZZ_MINITEST_CLOB VALUES (
    60,
    'something that is not even xml',
    'Invalid - something that is not even xml');
    INSERT INTO ZZZ_MINITEST_CLOB VALUES (
    70,
    NULL,
    'Invalid - good old NULL');
    INSERT INTO ZZZ_MINITEST_CLOB VALUES (
    80,
    '<minitest_root>
      <l2Node>
      <l2Num>1</l2Num>
      <l2Name>
      <unexpected_node>
      this one should not be here!
      </unexpected_node>
      </l2Name>
      </l2Node>
      <minitestId>8</minitestId>
      <minitestName>Eight</minitestName>
    </minitest_root>',
    'Invalid - unexpected addl node');
    INSERT INTO ZZZ_MINITEST_CLOB VALUES (
    90,
    '<something> that has tags but is no xml </either>',
    'Invalid - something that has tags but is no xml either');
    COMMIT;
    Next I register the XSD...
    BEGIN
    DBMS_XMLSCHEMA.REGISTERSCHEMA(
      'http://localhost/minitest.xsd',
      '<?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:oraxdb="http://xmlns.oracle.com/xdb" oraxdb:storeVarrayAsTable="true" oraxdb:schemaURL="http://localhost/minitest.xsd">
      <xs:element name="minitest_root" oraxdb:SQLName="MINITEST_ROOT" oraxdb:SQLType="MINITEST_TYPE" oraxdb:defaultTable="" oraxdb:tableProps="NOLOGGING" oraxdb:maintainDOM="false">
        <xs:complexType oraxdb:SQLType="MINITEST_TYPE" oraxdb:maintainDOM="false">
          <xs:sequence>
            <xs:element maxOccurs="unbounded" ref="l2Node" oraxdb:SQLName="L2_NODE" oraxdb:SQLType="L2_NODE_TYPE" oraxdb:SQLCollType="L2_NODE_COLL" oraxdb:maintainDOM="false"/>
            <xs:element ref="minitestId" oraxdb:SQLName="MINITEST_ID" oraxdb:SQLType="NUMBER" oraxdb:maintainDOM="false"/>
            <xs:element ref="minitestName" oraxdb:SQLName="MINITEST_NAME" oraxdb:SQLType="VARCHAR2" oraxdb:maintainDOM="false"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="l2Node" oraxdb:SQLName="L2_NODE" oraxdb:SQLType="L2_NODE_TYPE" oraxdb:defaultTable="" oraxdb:tableProps="TABLESPACE CATALOG NOLOGGING" oraxdb:maintainDOM="false">
        <xs:complexType oraxdb:SQLType="L2_NODE_TYPE" oraxdb:maintainDOM="false">
          <xs:sequence>
            <xs:element ref="l2Num" oraxdb:SQLName="L2_NUM" oraxdb:SQLType="NUMBER" oraxdb:maintainDOM="false"/>
            <xs:element ref="l2Name" oraxdb:SQLName="L2_NAME" oraxdb:SQLType="VARCHAR2" oraxdb:maintainDOM="false"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="l2Num" type="number10_0Type" oraxdb:SQLName="L2_NUM" oraxdb:SQLType="NUMBER" oraxdb:maintainDOM="false" />
      <xs:element name="l2Name" type="varchar100Type" oraxdb:SQLName="L2_NAME" oraxdb:SQLType="VARCHAR2" oraxdb:maintainDOM="false" />
      <xs:element name="minitestId" type="number10_0Type" oraxdb:SQLName="MINITEST_ID" oraxdb:SQLType="NUMBER" oraxdb:maintainDOM="false" />
      <xs:element name="minitestName" type="varchar100Type" oraxdb:SQLName="MINITEST_NAME" oraxdb:SQLType="VARCHAR2" oraxdb:maintainDOM="false" />
      <xs:simpleType name="varchar100Type">
        <xs:restriction base="xs:string">
          <xs:maxLength value="100"/>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType name="number10_0Type">
        <xs:restriction base="xs:integer">
          <xs:totalDigits value="10"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:schema>',
      GENTABLES=>FALSE
    END;
    And then I create my XML tables - four different ones for four different test cases. I am trying unstructured binary XML and strucured OR-based XML, each with and without a trigger.
    One with structured OR storage and no trigger
    CREATE TABLE ZZZ_MINITEST_ORXML (
      ID NUMBER(10,0) NOT NULL ENABLE,
      XML_CONTENT XMLTYPE,
      CONSTRAINT PK_ZZZ_MINITEST_ORXML PRIMARY KEY (ID)
    ) NOLOGGING
    VARRAY "XML_CONTENT"."XMLDATA"."L2_NODE" STORE AS TABLE "ZZZ_OR_L2_NODE" (NOLOGGING) RETURN AS LOCATOR
    XMLTYPE XML_CONTENT STORE AS OBJECT RELATIONAL XMLSCHEMA "http://localhost/minitest.xsd" ELEMENT "minitest_root";
    One with structured OR storage which will also have a trigger added further down
    CREATE TABLE ZZZ_MINITEST_ORXML_TRGR (
      ID NUMBER(10,0) NOT NULL ENABLE,
      XML_CONTENT XMLTYPE,
      CONSTRAINT PK_ZZZ_MINITEST_ORXML_TRGR PRIMARY KEY (ID)
    ) NOLOGGING
    VARRAY "XML_CONTENT"."XMLDATA"."L2_NODE" STORE AS TABLE "ZZZ_OR_L2_NODE_TRGR" (NOLOGGING) RETURN AS LOCATOR
    XMLTYPE XML_CONTENT STORE AS OBJECT RELATIONAL XMLSCHEMA "http://localhost/minitest.xsd" ELEMENT "minitest_root";
    One with unstructured binary XML in a SECUREFILE, no trigger
    CREATE TABLE ZZZ_MINITEST_BINXML_TRGR (
      ID NUMBER(10,0) NOT NULL ENABLE,
      XML_CONTENT XMLTYPE,
      CONSTRAINT PK_ZZZ_MINITEST_BINXML_TRGR PRIMARY KEY (ID)
    ) NOLOGGING
    XMLTYPE COLUMN XML_CONTENT STORE AS SECUREFILE BINARY XML
      (NOCOMPRESS NOCACHE NOLOGGING KEEP_DUPLICATES);
    One with unstructured binary XML in a SECUREFILE, which will also have a trigger
    CREATE TABLE ZZZ_MINITEST_BINXML (
      ID NUMBER(10,0) NOT NULL ENABLE,
      XML_CONTENT XMLTYPE,
      CONSTRAINT PK_ZZZ_MINITEST_BINXML PRIMARY KEY (ID)
    ) NOLOGGING
    XMLTYPE COLUMN XML_CONTENT STORE AS SECUREFILE BINARY XML
      (NOCOMPRESS NOCACHE NOLOGGING KEEP_DUPLICATES);
    Then I create the error logging tables
    begin
    DBMS_ERRLOG.CREATE_ERROR_LOG ('ZZZ_MINITEST_BINXML', 'ZZZ_MINITEST_BINXML_E', NULL, NULL, TRUE);
    DBMS_ERRLOG.CREATE_ERROR_LOG ('ZZZ_MINITEST_BINXML_TRGR', 'ZZZ_MINITEST_BINXML_TRGR_E', NULL, NULL, TRUE);
    DBMS_ERRLOG.CREATE_ERROR_LOG ('ZZZ_MINITEST_ORXML', 'ZZZ_MINITEST_ORXML_E', NULL, NULL, TRUE);
    DBMS_ERRLOG.CREATE_ERROR_LOG ('ZZZ_MINITEST_ORXML_TRGR', 'ZZZ_MINITEST_ORXML_TRGR_E', NULL, NULL, TRUE);
    END;
    Now the two triggers
    create or replace trigger TRG_ZZZ_MINITEST_BINXML
    BEFORE UPDATE OR INSERT ON ZZZ_MINITEST_BINXML_TRGR
    REFERENCING NEW AS NEW
    for each row
    BEGIN
      :NEW.XML_CONTENT := :NEW.XML_CONTENT.createSchemaBasedXML('http://localhost/minitest.xsd');
      :NEW.XML_CONTENT.SCHEMAVALIDATE();
    END TRG_ZZZ_MINITEST_BINXML;
    CREATE OR REPLACE TRIGGER TRG_ZZZ_MINITEST_ORXML
    BEFORE UPDATE OR INSERT ON ZZZ_MINITEST_ORXML_TRGR
    REFERENCING NEW AS NEW
    for each row
    BEGIN
      :NEW.XML_CONTENT := :NEW.XML_CONTENT.createSchemaBasedXML('http://localhost/minitest.xsd');
      :NEW.XML_CONTENT.SCHEMAVALIDATE();
    END TRG_ZZZ_MINITEST_ORXML;
    I also tried to just validate the XML using queries such as the below, since validating all without the WHERE also caused exception and abortion:
    SELECT ID, DECODE(XMLISVALID(XMLTYPE(XML_DOC), 'http://localhost/minitest.xsd'), 1, 'Y', 0, 'N', '?') VALID
    FROM ZZZ_MINITEST_CLOB WHERE ID=90;
    The results are in column "VALID" in the below tables
    I tried inserting all records from ZZZ_MINITEST_CLOB into the four test tables at once using a query such as
    INSERT INTO ZZZ_MINITEST_ORXML_TRGR
    SELECT ID, XMLPARSE(DOCUMENT XML_DOC WELLFORMED) FROM ZZZ_MINITEST_CLOB
    LOG ERRORS INTO ZZZ_MINITEST_ORXML_TRGR_E REJECT LIMIT UNLIMITED;
    I also tried different versions of creating the XML in the SELECT portion:
    XMLPARSE(DOCUMENT XML_DOC WELLFORMED)
    XMLPARSE(DOCUMENT XML_DOC WELLFORMED)
    XMLTYPE(XML_DOC)
    XMLTYPE(XMLDOC, 'http://localhost/minitest.xsd', 0, 1)
    Almost all combinations of the four test tables with the four ways to instantiate the XML caused exceptions and query abortion despite the LOG ERRORS INTO clause.
    In order to find the exact problems, I started inserting records one by one using queries like
    INSERT INTO ZZZ_MINITEST_ORXML
    SELECT ID, XMLPARSE(DOCUMENT XML_DOC) FROM ZZZ_MINITEST_CLOB WHERE ID=10
    LOG ERRORS INTO ZZZ_MINITEST_ORXML_E REJECT LIMIT UNLIMITED;
    or
    INSERT INTO ZZZ_MINITEST_BINXML_TRGR
    SELECT ID, XMLTYPE(XMLDOC, 'http://localhost/minitest.xsd', 0, 1) FROM ZZZ_MINITEST_CLOB WHERE ID=20
    LOG ERRORS INTO ZZZ_MINITEST_BINXML_TRGR_E REJECT LIMIT UNLIMITED;
    I captured the results of each in the below four tables. "1" and "0" are number of rows inserted. 0 means there was no record inserted and instead, there was an error logged in the ERROR LOGGING table.
    The ORA-????? exception numbers mean that this error actually caused the INSERT to fail and abort rather than just being logged in the LOGGING TABLE.These are the most critical cases for me. Why do these exceptions "bubble up" forcing the query to be aborted rather than being logged in the error log as well???
    This table is for INSERT of XMLs using XMLTYPE(XML_DOC)
    Test case
    VALID
    Binary XML,
    no trigger
    Binary XML,
    trigger
    OR XML,
    no trigger
    OR XML,
    trigger
    10
    Good
    Y
    1
    1
    1
    1
    20
    no name
    N
    1
    0
    1
    0
    30
    switched tags
    N
    1
    1
    1
    1
    40
    Good
    Y
    1
    1
    1
    1
    50
    L2 down
    N
    1
    1
    1
    1
    60
    no xml
    EX
    ORA-31011
    ORA-31011
    ORA-31011
    ORA-31011
    70
    NULL
    EX
    ORA-06502
    ORA-06502
    ORA-06502
    ORA-06502
    80
    addl. Node
    N
    1
    0
    ORA-31187
    ORA-31187
    90
    crappy xml
    EX
    ORA-31011
    ORA-31011
    ORA-31011
    ORA-31011
    This table is for INSERT of XMLs using XMLTYPE(XML_DOC, 'http://localhost/minitest.xsd', 0, 1)
    Test case
    VALID
    Binary XML,
    no trigger
    Binary XML,
    trigger
    OR XML,
    no trigger
    OR XML,
    trigger
    10
    Good
    Y
    1
    1
    1
    1
    20
    no name
    N
    1
    0
    1
    0
    30
    switched tags
    N
    1
    1
    1
    1
    40
    Good
    Y
    1
    1
    1
    1
    50
    L2 down
    N
    1
    1
    1
    1
    60
    no xml
    EX
    ORA-31043
    ORA-31043
    ORA-31043
    ORA-31043
    70
    NULL
    EX
    ORA-06502
    ORA-06502
    ORA-06502
    ORA-06502
    80
    addl. Node
    N
    1
    0
    ORA-31187
    ORA-31187
    90
    crappy xml
    EX
    ORA-31043
    ORA-31043
    ORA-31043
    ORA-31043
    This table is for INSERT of XMLs using XMLPARSE(DOCUMENT XML_DOC WELLFORMED)
    Test case
    VALID
    Binary XML,
    no trigger
    Binary XML,
    trigger
    OR XML,
    no trigger
    OR XML,
    trigger
    10
    Good
    Y
    1
    1
    1
    1
    20
    no name
    N
    1
    0
    1
    0
    30
    switched tags
    N
    1
    1
    1
    1
    40
    Good
    Y
    1
    1
    1
    1
    50
    L2 down
    N
    1
    1
    1
    1
    60
    no xml
    ORA-31061
    0
    ORA-31011
    ORA-31011
    70
    NULL
    1
    0
    1
    0
    80
    addl. Node
    N
    0
    0
    ORA-31187
    ORA-31187
    90
    crappy xml
    ORA-31061
    0
    ORA-30937
    ORA-30937
    This table is for INSERT of XMLs using XMLPARSE(DOCUMENT XML_DOC) (same as above, but without "WELLFORMED")
    Test case
    VALID
    Binary XML,
    no trigger
    Binary XML,
    trigger
    OR XML,
    no trigger
    OR XML,
    trigger
    10
    Good
    Y
    1
    1
    1
    1
    20
    no name
    N
    1
    0
    1
    0
    30
    switched tags
    N
    1
    1
    1
    1
    40
    Good
    Y
    1
    1
    1
    1
    50
    L2 down
    N
    1
    1
    1
    1
    60
    no xml
    ORA-31011
    ORA-31011
    ORA-31011
    ORA-31011
    70
    NULL
    1
    0
    1
    0
    80
    addl. Node
    N
    1
    0
    ORA-31187
    ORA-31187
    90
    crappy xml
    ORA-31011
    ORA-31011
    ORA-31011
    ORA-31011
    As you can see, different ways to instantiate the XML which is being inserted will cause different results for the most critical cases (60, 80 and 90). One will go through with an error logged in the logging table and no record inserted, others cause exceptions. Also, using XMLPARSE with or without WELLFORMED causes different ORA numbers for record 90...
    It seems like the only way to not get any exceptions for my test records is inserting XMLs that were created using XMLPARSE (DOCUMENT ... WELLFORMED) into the trigger-protected binary XML table. However, that causes me to miss record number 80, which is one that I really need, because it is well formed and I could use XSLTs to fix the XML by removing the extra tags, as long as I know which ones those are.

  • Keep row highlighted using jQuery

    Hello!
    I'm using the following code to highlight a row in my report, calling it via an onclick event -
    function highLight( pThis ){
     $('td').removeClass('current');
     $(pThis).parent().parent().children().addClass('current') ;
    I have an icon in the same row that opens a popup page where a user can edit that particular record. Once the changes have been made and the 'Apply changes' button is clicked, the popup window closes and the page is refreshed to show the changes, but my row highlight disappears. How can I go about keeping that row highlighted after the page has reloaded?
    Thank you!
    Tammy

    I give...I've spent the past few days trying to figure out how the value in my hidden variable will help identify the row that I need to highlight. I have 2 buttons in each row...one button, when clicked, calls the highLight function and the row is highlighted and the pThis value returns "http://.....f?p=111:34:123456789012232::::P34_TEST:1". The other button opens the popup...I make my changes, click Apply Changes to submit and close the popup, I set my P34_TEST hidden value to the ID, which equals 1, but how am I supposed to modify the highLight function and call the function and use the ID value to find the row I want to highlight? I added a class to the column like you recommended, but when I click the first button to highlight the row, it highlights all of the columns in the table, which I understand why it does that, I just don't know how to identify the class with the ID. I know that probably doesn't make much sense to you, but I don't know enough about jQuery to put all the pieces together. I'm not looking for someone to hand me the answer, I just don't understand how it's supposed to work. Can you give me a little more detailed information on how to go about doing this?
    Thank you,
    Tammy

  • Row Highlighting

    I am trying to find a thrad / example showing how to do row highlighting using javascript. I want to highlight a row in a report by clicking on it. It is supposed to remain highlighted until I either reload / submit the form or click on an other row. Mouseover and mouseout events are not desired :). Anyone with an idea?
    Denes Kubicek
    http://deneskubicek.blogspot.com/
    http://www.opal-consulting.de/training
    http://apex.oracle.com/pls/otn/f?p=31517:1
    -------------------------------------------------------------------

    Denes,
    Here is the CSS and Javascript I use to achieve row highlighting on click..
    <style type="text/css">
    tr.odd td.t15data{background:#F4FFFD;}
    tr td.t15data{background:#FFFFFF;}
    tr.selected td.t15data{background:#D7D7D7;}
    </style>
    <script type="text/javascript">
    function addLoadEvent(func) {
      var oldonload = window.onload;
      if (typeof window.onload != 'function') {
        window.onload = func;
      } else {
        window.onload = function() {
          oldonload();
          func();
    function addClass(element,value) {
      if (!element.className) {
        element.className = value;
      } else {
        newClassName = element.className;
        newClassName+= " ";
        newClassName+= value;
        element.className = newClassName;
    function stripeTables() {
         var tables = document.getElementsByTagName("table");
         for (var m=0; m<tables.length; m++) {
              if (tables[m].className == "t15standard") {
                   var tbodies = tables[m].getElementsByTagName("tbody");
                   for (var i=0; i<tbodies.length; i++) {
                        var odd = true;
                        var rows = tbodies.getElementsByTagName("tr");
                        for (var j=0; j<rows.length; j++) {
                             if (odd == false) {
                                  odd = true;
                             } else {
                                  addClass(rows[j],"odd");
                                  odd = false;
    function lockRow() {
         var tables = document.getElementsByTagName("table");
         for (var m=0; m<tables.length; m++) {
              if (tables[m].className == "t15standard") {
                        var tbodies = tables[m].getElementsByTagName("tbody");
                        for (var j=0; j<tbodies.length; j++) {
                             var rows = tbodies[j].getElementsByTagName("tr");
                             for (var i=0; i<rows.length; i++) {
                                  rows[i].oldClassName = rows[i].className
                                  rows[i].onclick = function() {
                                       if (this.className.indexOf("selected") != -1) {
                                            this.className = this.oldClassName;
                                       } else {
                                            addClass(this,"selected");
    addLoadEvent(stripeTables);
    addLoadEvent(lockRow);
    </script>
    This will also stripe or do alternate row colors for you. If you do not want or need that functionality, just remove the stripeTables function and addLoadEvent(stripeTables)
    Hope this helps.
    -Chris

  • Row highlighting with Jquery

    Hi,
    I heard a lot of good things about Jquery. I was trying to see for myself how to get Jquery to work with APEX. I've this sample code snippet that does row highlighting when hovering over a table row. The code works as a html file but I can't seem to get it to work with APEX. Here's the procedure I follow in APEX:
    1. Uploaded the jquery library into APEX workspace.
    2. Modify the page template to include the jquery library. I had rename the jquery library to "jqmin_126.hs"
    &lt;script src="#APP_IMAGES#jqmin_126.js" type="text/javascript"&gt;&lt;/script&gt;
    3. Added the code snippet to the html header of APEX report page.
    &lt;style type="text/css"&gt;
    .highlight {
    background-color: #FC6 !important;
    &lt;/style&gt;
    &lt;script type="text/javascript"&gt;
    $(document).ready(function( ) {
    $('table.default1 tbody tr').mouseover(function() {
    $(this).addClass('highlight');
    $(this).css('cursor','pointer');
    }).mouseout(function() {
    $(this).removeClass('highlight');
    &lt;/script&gt;
    To keep things simple, I used the following APEX settings:
    Template: Reports region
    Report template: Default: Look 1
    Version of APEX : 3.1.2
    My interest here is mostly trying to see how jquery works with APEX and not so much the row highlighting. What am I missing?
    Thanks in advance.

    I ran into this problem as well. What happened to me is that the style associated for the TD tag was overwriting the style for the TR tag. So even though I was adding and removing classes to the TR the page would not reflect the changes.
    I would first make sure the Jquery is working by adding the following to my header section.
    $(document).ready(function( ) {
      alert('Jquery is working');
    });If it is working I would try adding .find("td") to edit the CSS of each table data thus changing the background of the row.
    <script type="text/javascript">
      $(document).ready(function( ) {
        $('table.default1 tbody tr').mouseover(function() {
          $(this).find("td").addClass('highlight');
          $(this).find("td").css('cursor','pointer');
        }).mouseout(function() {
          $(this).find("td").removeClass('highlight');
    </script>Hope this can point you in the right direction.
    Tyson
    Edited by: Tyson Jouglet on Nov 24, 2008 9:31 AM

Maybe you are looking for