JDeveloper extension - custom composite templates

Is it possible to extend JDeveloper with SOA Suite extension (11.1.1.6) to create custom composite templates ?
When you create a SOA Project in JDeveloper, Step 2 of 2 (Configure SOA Settings) presents you with a list of seeded composite templates to choose from i.e Empty Composite, Composite with BPEL Process, Composite with Mediator.
Can I add my own templates that will contain pre-configured BPEL process settings, variables, XSDs etc? The idea is to standardize the development process by reducing the number of steps that a developer will have to do.
I have not seen any documentation that addresses this.
Thanks!
Sunder

I would love to have this feature. Something like the AIA service constructor but you can provide it with a template project and it creates the composite for you.

Similar Messages

  • How to create JDeveloper Extension for new Projects ??

    I want to create a JDeveloper Extension for creating new project with following: (11gR2)
    1. Maven Support
    2. pre-defined dependencies in pom.xml
    3. pre-defined project feature (e.g. ADF Business Components)
    4. pre-defined Custom Base classes for ADF Business Componets
    Are there any documents / samples that i can reference ?!

    Some of these can be added declaratively using the template_hook in the extension.xml file and defining an application and project template. Others will need to be added directly.
    1. Add Maven Support
    This can be added declaratively, as technology in the project template hook.
    2. pre-defined dependencies in pom.xml
    This is going to need to be added to your project after it's created.
    3. pre-defined project feature (e.g. ADF Business Components)
    Same as Maven support.
    4. pre-defined Custom Base classes for ADF Business Componets
    You should be able to use the library hook for this, but I'm not quite clear on what this means.
    Here is an example template-hook that describes the creation of a Maven Application and the Maven Project that will be included with it. The <template-hook> element is placed inside the <triggers> section of the extension.xml file in 11gR2 (this won't work in 11gR1). This template-hook is what makes the Maven Application item show up in the New Gallery. Take a look at how that New Maven Application process works, and then look over this example. The <technologyKey> setting what adds the features to your application/project. In the example below, the Maven feature is being added to the project. The technologyKey for ADF Business Components is "ADFbc"
    The commented out lines below are either just comments, or they are optional elements for the project and application template hooks. It's pretty obvious which is which.
         <template-hook>
            <!--Maven Project template-->
            <projectTemplate>
              <templateId>mavenProjectTemplate</templateId>
              <name>Maven Project Template</name>
              <description>${MAVEN_PROJECT_TEMPLATE_DESCRIPTION}</description>
              <!-- <toolTip /> -->
              <!-- <weight /> -->
              <!-- <icon /> -->
              <!-- <galleryFolder /> -->
              <!-- <unsorted /> -->
              <projectName>mavenProj</projectName>
              <!-- <deploymentProfile>a.b.c.D</deploymentProfile> -->
              <technologyScope>
                <technologyKey>Maven</technologyKey>
              </technologyScope>
            </projectTemplate>
            <!-- Maven Application template -->
            <applicationTemplate>
              <templateId>#mavenApplicationTemplate</templateId>
              <!-- <templateClass /> -->
              <name>Maven Application</name>
              <description>${MAVEN_APPLICATION_TEMPLATE_DESCRIPTION}</description>
              <!-- <toolTip /> -->
              <weight>1.0</weight>
              <icon>/oracle/javatools/icons/application.png</icon>
              <!-- <galleryFolder /> -->
              <unsorted>false</unsorted>
              <applicationName>MavenApp</applicationName>
              <!-- <deploymentProfile>a.b.c.D</deploymentProfile> -->
              <projectTemplates>
                <projectTemplate>
                  <templateId>mavenProjectTemplate</templateId>
                  <!-- <name /> -->
                  <!-- <description /> -->
                  <!-- <projectName /> -->
                  <!-- <promptForProjectName /> -->
                  <!-- <deploymentProfile /> -->
                  <technologyScope>
                    <technologyKey>Maven</technologyKey>
                  </technologyScope>
                </projectTemplate>
              </projectTemplates>
            </applicationTemplate>
          </template-hook>For including predefined pom.xml settings, you can either edit the generated pom.xml file after the project is created, or you can add a predefined pom.xml file to the project. You can see more about working with files in a project on the [url https://blogs.oracle.com/jdevextensions/tags/files] JDev Extensions Blog
    Not quite sure what you are looking to do with the last item. If it's libraries that you're looking to add, you can take a look into the <libraries> hook.
    Staying with the Maven example... Here is a partial <libraries> element
          <libraries xmlns="http://xmlns.oracle.com/jdeveloper/1013/jdev-libraries">
            <library name="Apache Maven 3.0.3">
              <classpath>../../apache-maven-3.0.3/lib/maven-aether-provider-3.0.3.jar</classpath>
               <classpath>../../apache-maven-3.0.3/lib/maven-artifact-3.0.3.jar</classpath>
           <classpath>../../apache-maven-3.0.3/lib/maven-compat-3.0.3.jar</classpath>
           <classpath>../../apache-maven-3.0.3/lib/maven-core-3.0.3.jar</classpath>
           <classpath>../../apache-maven-3.0.3/lib/maven-embedder-3.0.3.jar</classpath>
           <classpath>../../apache-maven-3.0.3/lib/maven-model-3.0.3.jar</classpath>
            </library>
          </libraries>Hope all of this helps, Please feel free to contact me directly via email if that would help you out. john<dot>brock<AT>oracle.com
    --jb                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Custom Report Template Issue

    Hi,
    I have a Custom Report Template, it is a Named Column(Row) Report that I have created. It seems I can get the look and feel I want on a per row basis. But when I try and convert it to be able to loop through for a specific type, like a break on the first column, it gets all messed up. I was wondering if someone might be able to shed some light for me on this I have tried everything
    Here is the row template
    <table width="100%"  border="0" cellspacing="1" cellpadding="0" bgcolor="#000000">
       <tr  class="Tabledetail">
          <td class="SectionHeading" width="100%" bgcolor="#336699" valign="middle">
             <img src="spacer.gif" width="1" height="1">  <b>#1#</b> 
          </td>
       </tr>
       <tr class="Tabledetail">
          <td>
             <table width="100%"  border="0" cellspacing="1" cellpadding="1" bgcolor=white>
                <tr class="Tabledetail">
                   <td>
                      <img src="spacer.gif" width="5" height="1">
                   </td>
                   <td class=formlabel>
                      #2#
                   </td>
                   <td>
                      <img src="spacer.gif" width="5" height="1">
                   </td>
                   <td colspan=4 class="SectionHeading" bgcolor="#336699" align=middle valign="bottom">
                      <b>Evaluation Trips</b> 
                   </td>
                   <td>
                      <img src="spacer.gif" width="10" height="1">
                   </td>
                   <td colspan=4 class="SectionHeading" bgcolor="#336699" align=middle valign="bottom">
                      <b>All Other Trips</b> 
                   </td>
                </tr>
                <tr class="Tabledetail">
                   <td>
                      <img src="spacer.gif" width="5" height="1">
                   </td>
                   <td  class=formlabel>
                      #3#
                   </td>
                   <td  align=right class=formlabel>
                      <img src="spacer.gif" width="5" height="1">
                   </td>
                   <td align=right class=formlabel>
                      #4#
                   </td>
                   <td align=right class=formlabel>
                      #5#
                   </td>
                   <td align=right class=formlabel>
                      #6#
                   </td>
                   <td align=right class=formlabel>
                      #7#
                   </td>
                   <td>
                      <img src="spacer.gif" width="10" height="1">
                   </td>
                   <td align=right class=formlabel>
                      #4#
                   </td>
                   <td align=right class=formlabel>
                      #5#
                   </td>
                   <td align=right class=formlabel>
                      #6#
                   </td>
                   <td align=right class=formlabel>
                      #7#
                   </td>
                </tr>
                <tr class="Tabledetail" width=50%>
                   <td>
                      <img src="spacer.gif" width="5" height="1">
                   </td>
                   <td  class=formlabel>
                      #8#
                   </td>
                   <td class=formlabel>
                      <img src="spacer.gif" width="5" height="1">
                   </td>
                   <td align=right>
                      #9#
                   </td>
                   <td  align=right>
                      #10#
                   </td>
                   <td align=right >
                      #11#
                   </td>
                   <td align=right >
                      #12#
                   </td>
                   <td>
                      <img src="spacer.gif" width="10" height="1">
                   </td>
                   <td align=right >
                      #13#
                   </td>
                   <td align=right >
                      #14#
                   </td>
                   <td align=right >
                      #15#
                   </td>
                   <td align=right >
                      #16#
                   </td>
                </tr>
             </table>
          </td>
       </tr>
    </table>
    </td>
    </tr>
    <tr>
    <td><img src="spacer.gif" width="1" height="10"> </td>
    </tr>
    <tr>
    <td>Here is the before rows
    <table cellpadding="0" border="0" cellspacing="0" summary="" #REPORT_ATTRIBUTES# id="report_#REGION_STATIC_ID#">
      #TOP_PAGINATION#
      <tr>
        <td>
          <table cellpadding="0" border="0" cellspacing="0" summary="" class="report-standard">Here is the after rows
            </table>
        </td>
      </tr>
      #PAGINATION#
    </table>But when I try and pull the upper level html tables out of the row template the format goes to heck. Anyone have any ideas?
    Thanks in advance!

    goochable wrote:
    Thanks for the input! Yeah it is based on a query from a collection as all this data is summations that i am pre-populating.
    Yes this html is probably from 1998 or 1999 I think they told me actually lol
    So there is no way to accomplish what I am trying to do then?
    There is no way I could use a break on first column and modify the header info to get the same sort of look and feel?Still not really clear what you are trying to accomplish, and in my view there are so many problems with the "look and feel" that it's not worth perpetuating.
    Making a lot of assumptions, I've come up with the kind of HTML structure I'd use when marking up this kind of data. I added a page 2 to your example on apex.oracle.com, showing a basic presentation of this structure alongside the original for comparison, and another styled using the default theme L&F.
    <li>Given the requirement to use multi-level headers (and because I prefer to have total control over the HTML), I stayed with a custom report template rather than trying to utilise column breaking with a generic column report template. This also permits use of more advanced table structures than can be supported by standard templates, such as s<tt>colgroup</tt>s to organize the table columns as well as the rows:
    Before Rows
      <table cellpadding="0" border="0" cellspacing="0" summary="" #REPORT_ATTRIBUTES# id="report_#REGION_STATIC_ID#">
      #TOP_PAGINATION#
      <tr>
        <td>
          <table class="fish">
            <caption>Some fishy summaries</caption>
            <colgroup span="1"></colgroup>
            <colgroup span="4" class="evaluation-trips" align="right"></colgroup>
            <colgroup span="4" class="other-trips" align="right"></colgroup>
    After Rows
          </table>
        </td>
      </tr>
      #PAGINATION#
    </table><li>Rather than separate tables, the report is contained in one HTML table, utilizing the <tt>tbody</tt> element to subdivide this into separate row groups to meet the "break on first column" requirement. This is achieved using conditional row templates, with PL/SQL Expressions based on the values of metadata columns added to the query:
    Row Template 1
    Header rows and first data row for each row group. <tt>scope</tt> attributes are added to multi-column headers for improved accessibility:
      <tbody>
        <tr>
          <th colspan="9" scope="rowgroup">#C1#</th>
        </tr>
        <tr>
          <th></th>
          <th colspan="4" scope="colgroup">Evaluation Trips</th>
          <th colspan="4" scope="colgroup">All Other Trips</th>
        </tr>
        <tr>
          <th>#C2#</th>
          <th>#C4#</th>
          <th>#C5#</th>
          <th>#C6#</th>
          <th>#C7#</th>
          <th>#C4#</th>
          <th>#C5#</th>
          <th>#C6#</th>
          <th>#C7#</th>
        </tr>
        <tr class="#ALT#">
          <td class="desc">#C8#</td>
          <td>#C9#</td>
          <td>#C10#</td>
          <td>#C11#</td>
          <td>#C12#</td>
          <td>#C13#</td>
          <td>#C14#</td>
          <td>#C15#</td>
          <td>#C16#</td>
        </tr>
      #CLOSE_ROW_GROUP#
    Row Template 1 Expression
    This template is used when the row metadata shows that the current row is in a different row group from the previous row:
    #ROW_GROUP# != #PREVIOUS_ROW_GROUP#
    Row Template 2
    This is the "default" template, used for any subsequent data rows in the row group:
        <tr class="#ALT#">
          <td class="desc">#C8#</td>
          <td>#C9#</td>
          <td>#C10#</td>
          <td>#C11#</td>
          <td>#C12#</td>
          <td>#C13#</td>
          <td>#C14#</td>
          <td>#C15#</td>
          <td>#C16#</td>
        </tr>
      #CLOSE_ROW_GROUP#Both templates make use of a <tt>#CLOSE_ROW_GROUP#</tt> column value conditionally generated in the query that returns a <tt>&lt;/tbody&gt;</tt> tag if the current row is the last data row in the row group. (Mixing logic and structure in this way is not good practice, but APEX only allows up to 4 conditional row templates, which is completely insufficient for any moderately complex structure.)
    <li>Several metadata columns (incorporating heavy use of analytic functions) are added to the report query for use in the report template or CSS presentation:
    with fish as (
          select
                    c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16
                      Generate a fixed order for separate report sections/row groups.
                      (This is a guess as the actual requirement is not specified.)
                  , case c1
                      when 'OTC Summary' then 1
                      when 'Retained Catch Summary' then 2
                      when 'Discarded Catch Summary' then 3
                      when 'Discarded Species Composition Summary' then 4
                      when 'Retained Species Composition Summary' then 5
                      when 'Priority Species Biospecimen Summary - Discarded Catch' then 6
                      when 'Other Species Biospecimen Summary - Discarded Catch' then 7
                      when 'Dissection Summary - Discarded Catch' then 8
                    end row_group
                      Calculate row number within row group.
                      Copes with row order in some row groups being determined
                      numerically, while others used standard character semantics.
                  , row_number()
                      over (
                        partition by  c1
                        order by      to_number(regexp_replace(c8, '[^[:digit:]]')) nulls last
                                    , c8) group_rn
                      Calculate number of rows in row group.
                  , count(*)
                      over (
                        partition by c1) group_rows
          from
                  test)
    select
              c1
                Not clear on meaning of "Weight"/"Method" values: assumed this is
                column heading equivalent to "Species".
                Combine both source DB columns into one for HTML heading, dealing
                with various null/space/blank issues...
            , nullif(c2 || ' ', '  ') || c3 c2
            , ' ' c3
            , c4
            , c5
            , c6
            , c7
            , c8
            , c9
            , c10
            , c11
            , c12
            , c13
            , c14
            , c15
            , c16
            , row_group
                Get the rowgroup for the previous row
            , lag(row_group, 1, 0)
                over (
                  order by row_group) previous_row_group
            , group_rn
            , group_rows
                Determine odd/even row number: used for standard or alternate style.
            , mod(group_rn, 2) alt
                Generate a closing element if the row is the last row in the
                row group.
            , case
                when group_rn = group_rows
                then
                  '</tbody>'
                else
              end close_row_group
    from
              fish
    order by
               row_group
             , group_rnThis makes major assumptions about the sort order(s) and break(s) required in the report.
    <li>Finally, the visual presentation is applied using CSS rather than (mainly deprecated) HTML attributes, via an embedded style sheet in the page HTML Header:
    <style type="text/css">
    .fish {
      empty-cells: show;
      border-collapse: collapse;
    .fish tbody tr:first-child th {
      border-top: 1px solid #fff;
      font-weight: bold;
    .fish th,
    .fish td {
      padding: 3px 6px;
    .fish th {
      border-bottom: 1px solid #fff;
      border-left: 1px solid #fff;
      background-color: #275096;
      color: #fff;
      font-weight: 300;
      text-align: left;
    .fish td {
      text-align: right;
      .fish tr.\30  td {
        background-color: #dde;
      .fish td:first-child {
        text-align: left;
    </style>The default theme L&F report adds vertical borders to separate columns and column groups (latter may not be fully effective on IE: I'm not wasting my time on quirks mode fixes for that).
    The resulting report uses 60% less vertical space, and 87% less HTML code[1] than the original. Usability and accessibility are improved by eliminating nested tables and useless table cells and shim images, increasing the contrast between text and background colours, and using alternating row backgrounds for better visual tracking.
    [1] Including whitespace, but neither template is compressed in any way: both are in fully readale format including normal whitespace indentation.

  • JDeveloper extension : JDevLibsForAnt

    hi
    I would like to be able to use Ant to compile and package my code, but I don't want to maintain libraries in two places, JDeveloper and Ant.
    My first approach was to call JDeveloper from Ant using a custom JDeveloper extension that provides an MBean to "access" the JDeveloper extension API.
    http://verveja.footsteps.be/~verveja/files/oracle/CallJDevApps-v0.01.zip
    Although it "works", it is intended to be used from within JDeveloper.
    My second approach was to have a custom JDeveloper extension automatically maintain an Ant build file on each library change in JDeveloper. This Ant build file can than be imported into another Ant build file.
    http://verveja.footsteps.be/~verveja/files/oracle/JDevLibsForAntApps-v0.01.zip
    Although this does what I want, I have a few questions:
    (1) What is the preferred way to get the "outputDirectory" of a Project (see LibrariesProjectChangeListener$MyJProjectPaths)?
    (2) How can I get notified of changes to my custom project options (see JDevLibsForAntOptionsPanel and LibrariesProjectChangeListener.isChangeLibraryRelated())?
    All suggestions for improvement are welcome.
    many thanks
    Jan Vervecken

    I was interested to read your dialogue because I too am trying to use Ant to automate the build and deployment of JDeveloper projects. I have to say that I'm a total newcomer to JDeveloper, Ant and Java, so much of what you're saying is way above my head!
    I've achieved some degree of success with BPEL modules, mainly by using a <for> task to iterate over the build.xml files created by JDeveloper. However I'm coming unstuck with the non-BPEL bits; I know what keystrokes are required to tell JDeveloper how to do the job manually, but I have very little clue about what goes on under the bonnet when I initiate a deployment, so replicating it in my Ant project is well-nigh impossible; furthermore the build.xml files produced by JDeveloper for the non-BPEL stuff all seem to stop short of actually doing the deployment - either to a server or to jar/war/ear files.
    I then came across the JDeveloper Ant task <jdev> at http://www.oracle.com/technology/products/jdev/htdocs/partners/addins/exchange/anttasks/index.html
    which sounded as though it might help. However I encountered some difficulty in getting it to do anything useful other than simply firing up JDeveloper, so I am currently having a dialogue with its author, Gerard Davison at Oracle, to try and get some help. He also suggested a tool called ojmake, which is available in the jdev/bin directory of the Technology Preview for 11, which I've also tried playing with, but I can't get it to work in JDev 10.
    Does anybody out there have any knowledge either of the <jdev> Ant task or ojmake, or of any other tools that might help in this situation?

  • Beneficiary Details coming as null in SOA Custom Composite--Create User

    I have created a soa composite which works on create user workflow. This has one level of approval workflow and once the approval is done i'm sending mail to beneficiary user with the benefeciary firstname,lastname etc which i seleted from the payload... What i observered is that these values are coming as blank in the email.
    I had added the wait event before this mail and sending the mail after 5 mins . In this case also the values are coming as blank.
    One alternative which i found is that to create custom notification template and send mail to end user with the required details. Is there any alternative for populating the beneficiary details in the soa composite while creating user.

    You can check the payload in EM by logging in into EM and then clicking on the soa-infra on the left tree and then clicking on the running instance on the right pane. On opening up the running instance of the process, you should get a popup and in those you will have the various stages the process is in. Click through each stage to check the payload xml and you can verify there. Check the BPEL doc and the steps screenshots should be somewhere, can't recall now where I read it from but had been using it for sometime myself.
    -Bikash

  • JDeveloper Extensions

    Hi folks,
    I'm (mostly for my own use/interest) developing a few JDeveloper extensions.
    During development & testing of my extensions, I find that the IDE wraps & hides any exceptions that I don't handle. This is great behaviour for an end user who is using the extension, but makes life difficult during development. Is there any way for me to disable this behaviour so that any unhandled exceptions get delivered to me somehow (or should I be looking somewhere for this information)?
    Thanks,
    Chris
    PS - If the answer changes based on version, I'm currently using the 10.1.3 preview release.

    Hi Chris,
    There's no way to turn them on, I'm afraid. I'm on a personal crusade against the part of the JDeveloper implementation that causes this ;)
    The reason you don't see stack traces is that we use an assertion mechanism (existed prior to Java 1.4) for printing stack traces. In our nondebug builds (e.g. production code released to customers), all usages of these assertion APIs are stripped out by our compiler.
    Because of that, there's no way for you to see the stack traces unless you can get hold of a debug version of jdev.jar. Since we don't ship that, it's not possible.
    One small possibility is to use the debugger and set exception breakpoints. However, this isn't very useful, since you need to know in advance what kind of exceptions are being thrown.
    There are a couple of things I'm hoping to do in future to improve this:
    - Migrate to java.util.logging and 1.4 asserts instead of our own custom Assert implementation.
    - Possibly look into making the debug ide.jar / javatools.jar / jdev.jar available to extension developers. This would probably not be part of the base product, but in the separate esdk download. This would also make it far easier to debug your extension code (no more _slots in the data window).
    Thanks,
    Brian

  • Odd behavior when using custom Composite/CompositeContext and antialiasing

    Hi,
    I created a custom Composite/CompositeContext class and when I use it with antialiasing it causes a black bar to appear. I seems it has nothing to do with the compose() code but just that fact that I set my own Composite object. The submitted code will show you what I mean. There are 3 check boxes 1) allows to use the custom Composite object, 2) allows to ignore the compose() code in the CompositeContext and 3) toggles the antialiasing flag in the rendering hints. When the antialiasing flag is set and the Composite object is used the bar appears regardless of if the compose() method is executed or not. If the Composite object is not used the bar goes away.
    The Composite/CompositeContext class performs clipping and gradient paint using a Ellipse2D.Float instance.
    a) When the Composite is not used the code does a rectangular fill.
    b) When the Composite is used it should clip the rectangular fill to only the inside of a circle and do a gradient merge of background color and current color.
    c) If the compose() method is ignored then only the background is painted.
    d) When antialiasing is turned on the black bar appears, i) if you ignore the compose() method it remains, ii) if you do not use the Composite object the bar disappears (???)
    NOTE: the compose method's code is only for illustration purposes, I know that AlphaComposite, clipping and/or Gradient paint can be used to do what the example does. What I am trying to find out is why the fact of simply using my Composite object with antialiasing will cause the odd behavior.  Been trying to figure it out but haven't, any help is appreciated.
    Thx.
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.geom.*;
    import java.awt.image.*;
    import javax.swing.*;
    public class TestCustomComposite2
    extends JFrame
    implements ActionListener {
        private JCheckBox useCompositeChk, useAntialiasingChk, useCompositeContextChk;
        private Shape clippingShape = new Ellipse2D.Float(100, 100, 100, 100);
        private MergeComposite composite = new MergeComposite();
        public TestCustomComposite2() {
            super("Test Custom Composite");
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            JPanel cp = (JPanel) getContentPane();
            cp.setLayout(new BorderLayout());
            cp.add(new TestCanvas(), BorderLayout.CENTER);
            JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0));
            panel.add(useCompositeChk = new JCheckBox("Use Composite", true));
            useCompositeChk.addActionListener(this);
            panel.add(useCompositeContextChk = new JCheckBox("Use Composite Context", true));
            useCompositeContextChk.addActionListener(this);
            panel.add(useAntialiasingChk = new JCheckBox("Use Antialiasing"));
            useAntialiasingChk.addActionListener(this);
            cp.add(panel, BorderLayout.SOUTH);
            pack();
            setVisible(true);
        public void actionPerformed(ActionEvent evt) {
            useCompositeContextChk.setEnabled(useCompositeChk.isSelected());
            invalidate();
            repaint();
        private class TestCanvas
        extends JComponent {
            public TestCanvas() {
                setSize(300, 300);
                setPreferredSize(getSize());
            public void paint(Graphics gfx) {
                Dimension size = getSize();
                Graphics2D gfx2D = (Graphics2D) gfx;
                gfx2D.setColor(Color.GRAY);
                gfx2D.fillRect(0, 0, size.width, size.height);
                RenderingHints rh = null;
                if(useAntialiasingChk.isSelected()) {
                    rh = gfx2D.getRenderingHints();
                    gfx2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
                Rectangle r = clippingShape.getBounds();
                //gfx2D.setColor(Color.GREEN);
                //gfx2D.drawRect(r.x, r.y, r.width, r.height);
                gfx2D.setColor(Color.YELLOW);
                gfx2D.fill(clippingShape);
                Composite oldComposite = null;
                if(useCompositeChk.isSelected()) {
                    oldComposite = gfx2D.getComposite();
                    gfx2D.setComposite(composite);
                gfx2D.setColor(Color.ORANGE);
                gfx2D.fillRect(r.x, r.y, r.width + 1, r.height + 1);
                if(oldComposite != null)
                    gfx2D.setComposite(oldComposite);
                if(rh != null)
                    gfx2D.setRenderingHints(rh);
        public class MergeComposite
        implements Composite, CompositeContext {
            public CompositeContext createContext(ColorModel srcColorModel,
                                                  ColorModel dstColorModel,
                                                  RenderingHints hints) {
                return this;
            public void compose(Raster src,
                                Raster dstIn,
                                WritableRaster dstOut) {
                if(!useCompositeContextChk.isSelected())
                    return;
                int[] srcPixel = null;
                int[] dstPixel = null;
                for(int sy = src.getMinY(); sy < src.getMinY() + src.getHeight(); sy++) {
                    for(int sx = src.getMinX(); sx < src.getMinX() + src.getWidth(); sx++) {
                        int cx = sx - dstOut.getSampleModelTranslateX();
                        int cy = sy - dstOut.getSampleModelTranslateY();
                        if(!clippingShape.contains(cx, cy)) continue;
                        srcPixel = src.getPixel(sx, sy, srcPixel);
                        int ox = dstOut.getMinX() + sx - src.getMinX();
                        int oy = dstOut.getMinY() + sy - src.getMinY();
                        if(ox < dstOut.getMinX() || ox >= dstOut.getMinX() + dstOut.getWidth()) continue;
                        if(oy < dstOut.getMinY() || oy >= dstOut.getMinY() + dstOut.getHeight()) continue;
                        dstPixel = dstIn.getPixel(ox, oy, dstPixel);
                        float mergeFactor = 1.0f * (cy - 100) / 100;
                        dstPixel[0] = merge(mergeFactor, srcPixel[0], dstPixel[0]);
                        dstPixel[1] = merge(mergeFactor, srcPixel[1], dstPixel[1]);
                        dstPixel[2] = merge(mergeFactor, srcPixel[2], dstPixel[2]);
                        dstOut.setPixel(ox, oy, dstPixel);
            protected int merge(float mergeFactor, int src, int dst) {
                return (int) (mergeFactor * src + (1.0f - mergeFactor) * dst);
            public void dispose() {
        public static void main(String[] args) {
            new TestCustomComposite2();
    }

    I got a better version to work as expected. Though there will probably be issues with the transformation to display coordinates as mentioned before. At least figured out some of the kinks of using a custom Composite/CompositeContext object.
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.geom.*;
    import java.awt.image.*;
    import javax.swing.*;
    public class TestCustomComposite2
    extends JFrame
    implements ActionListener {
        private JCheckBox useCompositeChk, useAntialiasingChk, useCompositeContextChk;
        private Shape clippingShape = new Ellipse2D.Float(100, 100, 100, 100);
        private MergeComposite composite = new MergeComposite();
        public TestCustomComposite2() {
            super("Test Custom Composite");
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            JPanel cp = (JPanel) getContentPane();
            cp.setLayout(new BorderLayout());
            cp.add(new TestCanvas(), BorderLayout.CENTER);
            JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0));
            panel.add(useCompositeChk = new JCheckBox("Use Composite", true));
            useCompositeChk.addActionListener(this);
            panel.add(useCompositeContextChk = new JCheckBox("Use Composite Context", true));
            useCompositeContextChk.addActionListener(this);
            panel.add(useAntialiasingChk = new JCheckBox("Use Antialiasing"));
            useAntialiasingChk.addActionListener(this);
            cp.add(panel, BorderLayout.SOUTH);
            pack();
            setVisible(true);
        public void actionPerformed(ActionEvent evt) {
            useCompositeContextChk.setEnabled(useCompositeChk.isSelected());
            invalidate();
            repaint();
        private class TestCanvas
        extends JComponent {
            public TestCanvas() {
                setSize(300, 300);
                setPreferredSize(getSize());
            public void paint(Graphics gfx) {
                Dimension size = getSize();
                Graphics2D gfx2D = (Graphics2D) gfx;
                gfx2D.setColor(Color.GRAY);
                gfx2D.fillRect(0, 0, size.width, size.height);
                RenderingHints rh = null;
                if(useAntialiasingChk.isSelected()) {
                    rh = gfx2D.getRenderingHints();
                    gfx2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
                Rectangle r = clippingShape.getBounds();
                //gfx2D.setColor(Color.GREEN);
                //gfx2D.drawRect(r.x, r.y, r.width, r.height);
                gfx2D.setColor(Color.YELLOW);
                gfx2D.fill(clippingShape);
                Composite oldComposite = null;
                if(useCompositeChk.isSelected()) {
                    oldComposite = gfx2D.getComposite();
                    gfx2D.setComposite(composite);
                gfx2D.setColor(Color.ORANGE);
                gfx2D.fillRect(r.x, r.y, r.width + 1, r.height + 1);
                if(oldComposite != null)
                    gfx2D.setComposite(oldComposite);
                if(rh != null)
                    gfx2D.setRenderingHints(rh);
        public class MergeComposite
        implements Composite, CompositeContext {
            public CompositeContext createContext(ColorModel srcColorModel,
                                                  ColorModel dstColorModel,
                                                  RenderingHints hints) {
                return this;
            public void compose(Raster src,
                                Raster dstIn,
                                WritableRaster dstOut) {
    //            dumpRaster("SRC   ", src);
    //            dumpRaster("DSTIN ", dstIn);
    //            dumpRaster("DSTOUT", dstOut);
    //            System.out.println();
                if(dstIn != dstOut)
                    dstOut.setDataElements(0, 0, dstIn);
                if(!useCompositeContextChk.isSelected())
                    return;
                int[] srcPixel = null;
                int[] dstPixel = null;
                int w = Math.min(src.getWidth(), dstIn.getWidth());
                int h = Math.min(src.getHeight(), dstIn.getHeight());
                int xMax = src.getMinX() + w;
                int yMax = src.getMinY() + h;
                for(int x = src.getMinX(); x < xMax; x++) {
                    for(int y = src.getMinY(); y < yMax; y++) {
                        try {
                            // THIS MIGHT NOT WORK ALL THE TIME
                            int cx = x - dstIn.getSampleModelTranslateX();
                            int cy = y - dstIn.getSampleModelTranslateY();
                            if(!clippingShape.contains(cx, cy)) {
                                dstPixel = dstIn.getPixel(x, y, dstPixel);
                                dstOut.setPixel(x, y, dstPixel);
                            else {
                                srcPixel = src.getPixel(x, y, srcPixel);
                                dstPixel = dstIn.getPixel(x, y, dstPixel);
                                float mergeFactor = 1.0f * (cy - 100) / 100;
                                dstPixel[0] = merge(mergeFactor, srcPixel[0], dstPixel[0]);
                                dstPixel[1] = merge(mergeFactor, srcPixel[1], dstPixel[1]);
                                dstPixel[2] = merge(mergeFactor, srcPixel[2], dstPixel[2]);
                                dstOut.setPixel(x, y, dstPixel);
                        catch(Throwable t) {
                            System.out.println(t.getMessage() + " x=" + x + " y=" + y);
            protected int merge(float mergeFactor, int src, int dst) {
                return (int) (mergeFactor * src + (1.0f - mergeFactor) * dst);
            protected void dumpRaster(String lbl,
                                      Raster raster) {
                System.out.print(lbl + ":");
                System.out.print(" mx=" + format(raster.getMinX()));
                System.out.print(" my=" + format(raster.getMinY()));
                System.out.print(" rw=" + format(raster.getWidth()));
                System.out.print(" rh=" + format(raster.getHeight()));
                System.out.print(" tx=" + format(raster.getSampleModelTranslateX()));
                System.out.print(" ty=" + format(raster.getSampleModelTranslateY()));
                System.out.print(" sm=" + raster.getSampleModel().getClass().getName());
                System.out.println();
            protected String format(int value) {
                String txt = Integer.toString(value);
                while(txt.length() < 4)
                    txt = " " + txt;
                return txt;
            public void dispose() {
        public static void main(String[] args) {
            new TestCustomComposite2();
    }

  • Custom RTF templates in Oracle Core Contracts ..

    Hello:
    We want to create custom RTF templates in Oracle Core Contracts along with custom data templates.
    We do not want to use XSL-FO templates since we are finding this too complex to work with ... also the fact that the XML data is being generated by some internal OAF processes that we cannot control.
    This is unnecessarily too complex for us.
    Can we create our own reporting using XML -Publisher and integrate it in the system ?
    Any thoughts on this would be appreciated ... Yesh

    Srini:
    I did read those pages and unless I am missing something .. it is basically saying the follwing:
    Copy the seeded XSL-FO templates and make changes to them and then upload them back. I have no real access to the xml data since it is somehow pre-generated. I do not have a choice of using RTF templates along with the ease of Word based formatting.
    The above process goes against the way in which we can write our own reports in XMLP:
    (a) Create our own data templates (use our own SQL)
    (b) Create our own layout templates (using RTF or XSl_FO)
    So I am stuck into undertsanding .... OAF, Java API's ,etc that I should not have to understand to generate a report ...
    yesh

  • Create a custom web template using VS 2012 with web features,site features sections applied

    hi,
     Want to create a  custom web template using VS 2012  in my SP 2013 environment.  i know "Vesku" has posted a great artice on this [  based on prev. version of SP].
    here -
    http://blogs.msdn.com/b/vesku/archive/2010/10/14/sharepoint-2010-and-web-templates.aspx
    i am  looking for a code based article  which has step by step process which provides how to add the site features, web features and attach the eventreceivers etc etc on sitecollection creation when i apply this template from central admin. 
    can anyone provide me any links / any source how to create a custom web template with one / two  custom features -  site features element and web features element , / master page etc ....
    I am stuck with this. as part of my reqmnt, i need to create a webtemplate with all the customlistinstances, custompagelayouts, custom masterpages, custom appln pages, custom web parts.
    help is appreciated !
    Das

    The problem is that Web Templates are deployed to a gallery in a site collection and aren't available in Central Admin when creating a new site collection.  YOu have to create the site collection without choosing a template and then choose your web
    template when you first access the root site in the site collection.  Here's an article that discusses that process here:
    http://sharepointchick.com/archive/2011/02/10/using-web-templates-to-create-site-collections.aspx
    Other than that Vesa's article is still the best one and works essentially the same in 2013 as it does in 2010.
    Paul Stork SharePoint Server MVP
    Principal Architect: Blue Chip Consulting Group
    Blog: http://dontpapanic.com/blog
    Twitter: Follow @pstork
    Please remember to mark your question as "answered" if this solves your problem.

  • Custom report templates with the help of BI Publisher.

    Hi All,
    I have created custom report templates with the help of BI Publisher it is working as we excepted.
    refered : https://blogs.oracle.com/kyle/tags/reports
    But our requirement want to change the color of heading and include filters in output report, It is possible, if yes pls share you comments?
    Best Regards
    Pradeep

    how silly of me!
    just restarting the tomcat sorted the problem!!!

  • Custom Administrative Template Error 53 Key name specified more than once

    Hi All,
    Hope I've picked the correct forum. I am making my first foray into setting up a custom administrative template for some software that is developed in house. The current deployment method is to merge a reg file on each computer that requires the registry
    settings. I am trying to set this up so that it is controlled via GPO.
    My idea is that in the a GP can set the registry settings for one or more areas that are controlled by the software. 
    The problem I have - I get Error 53 Keyname specified more than once on Line 9 (second KEYNAME). In total I will have about 30 different sites this needs to be set up for.
    Does this mean that I can't set more than one registry key per "Policy" setting in the GPO?
    The adm file I have so far is below
    TIA
    Jason
    ---------------------------------------------CUT---------------------------------------------
    CLASS User
    CATEGORY "App Site Settings"
    POLICY !!Site1Policy
    EXPLAIN !!Site1Explain
    KEYNAME "Software\ApplicationCompany\Site1\Access"
    VALUENAME "SystemDatabase"
    VALUEON "D:\\App\\Data\\App.mdw"
    VALUEOFF DELETE
    KEYNAME "Software\ApplicationCompany\Site1\Arbitration"
    VALUENAME "ConfigPath"
    VALUEON "D:\\Site1\\Data"
    VALUEOFF DELETE
    KEYNAME "Software\ApplicationCompany\Site1\Common Settings"
    VALUENAME "ConfigFile"
    VALUEON "D:\\App\\Data\\App_Comms.mdb"
    VALUEOFF DELETE
    VALUENAME "SysConfig"
    VALUEON "D:\\Site1\\Data\\SITE1_SYS.mdb"
    VALUEOFF DELETE
    END POLICY
    POLICY !!Site2Policy
    EXPLAIN !!Site2Explain
    KEYNAME "Software\ApplicationCompany\Site2\Access"
    VALUENAME "SystemDatabase"
    VALUE "D:\\App\\Data\\App.mdw"
    KEYNAME "Software\ApplicationCompany\Site2\Arbitration"
    VALUENAME "ConfigPath"
    VALUE "D:\\Site2\\Data"
    KEYNAME "Software\ApplicationCompany\Site2\Common Settings"
    VALUENAME "ConfigFile"
    VALUE "D:\\App\\Data\\App_Comms.mdb"
    VALUENAME "SysConfig"
    VALUE "D:\\Site2\\Data\\Site2_SYS.mdb"
    END POLICY
    END CATEGORY
    [strings]
    Site1Policy = "Site1 settings"
    Site1Explain = "Enabling this setting configures the registry settings for dummy Site1."
    Site2Policy = "Site2 settings"
    Site2Explain = "Enabling this setting configures the registry settings for dummy Site2."

    Well - I ended up sorting this out - and no - you can't have the Keyname keyword twice - unless you enclose the the setting in a PART statement. Below is what I ended up with:
    ---------------------------------------------CUT---------------------------------------------
    CLASS USER
    CATEGORY "ApplicationSettings"
    KEYNAME "Software\ApplicationCompany\Site1\Common Settings"
    POLICY !!SITE1Policy
    #if version >= 3
    EXPLAIN !!PolicyExplain
    #endif
    KEYNAME "Software\ApplicationCompany\Site1\Access"
    PART !!ConfigFilePolicy EDITTEXT
    KEYNAME "Software\ApplicationCompany\Site1\Common Settings"
    VALUENAME ConfigFile
    DEFAULT !!ConfigFileDefault
    END PART ;!!ConfigFilePolicy
    PART !!SystemDBPolicy EDITTEXT
    KEYNAME "Software\ApplicationCompany\Site1\Access"
    VALUENAME SystemDatabase
    DEFAULT !!SystemDBDefault
    END PART ;!!SystemDBPolicy
    PART !!SysConfigPolicy EDITTEXT
    KEYNAME "Software\ApplicationCompany\Site1\Common Setting"
    VALUENAME SysConfig
    DEFAULT !!SysConfigDefault
    END PART ;!!SysConfigPolicy
    PART !!ArbitrationPolicy EDITTEXT
    KEYNAME "Software\ApplicationCompany\Site1\Arbitration"
    VALUENAME ConfigPath
    DEFAULT !!ArbitrationDefault
    END PART ;!!ArbitrationPolicy
    END POLICY
    POLICY !!SITE2Policy
    #if version >= 3
    EXPLAIN !!PolicyExplain
    #endif
    KEYNAME "Software\ApplicationCompany\Site2\Access"
    PART !!ConfigFilePolicy EDITTEXT
    KEYNAME "Software\ApplicationCompany\Site2\Common Settings"
    VALUENAME ConfigFile
    DEFAULT !!ConfigFileDefault
    END PART ;!!ConfigFilePolicy
    PART !!SystemDBPolicy EDITTEXT
    KEYNAME "Software\ApplicationCompany\Site2\Access"
    VALUENAME SystemDatabase
    DEFAULT !!SystemDBDefault
    END PART ;!!SystemDBPolicy
    PART !!SysConfigPolicy EDITTEXT
    KEYNAME "Software\ApplicationCompany\Site2\Common Setting"
    VALUENAME SysConfig
    DEFAULT !!SysConfigDefault
    END PART ;!!SysConfigPolicy
    PART !!ArbitrationPolicy EDITTEXT
    KEYNAME "Software\ApplicationCompany\Site2\Arbitration"
    VALUENAME ConfigPath
    DEFAULT !!ArbitrationDefault
    END PART ;!!ArbitrationPolicy
    END POLICY
    END CATEGORY
    [Strings]
    ArbitrationDefault =D:\SITE\Data
    ArbitrationPolicy =Arbitration path
    ConfigFileDefault =D:\App\Data\App_Comms.mdb
    ConfigFilePolicy =Application configuration file
    PolicyExplain =Enter Explainition of the Registry settings here
    SysConfigDefault =D:\SITE\Data\SITE1_SYS.mdb
    SysConfigPolicy =Application site system configuration file
    SystemDBDefault =D:\App\Data\App.mdw
    SystemDBPolicy =Application system database path
    SITE1Policy =Site1 Application Settings
    SITE2Policy =Site2 Application Settings

  • How to create a Custom form Template..

    Hi Eperts,
    I would like to seek a help from you regarding creating a custom form template on custom BO. could you guide me where i have gone wrong in successfully creating a Print form. I am in dead need of this particular solution for a client. It is hampering my entire scenario......
    1. I had created a Custom BO and I am trying to preview the created form on the OIF screen.
    2. I had created a form on above of the custom BO. This created form and form group is activated and configured as of needed by opening it through ALD (Adobe Life Cycle Designer).
    3. I had created a BAC element with some scoping questions and activated it. After activating it i had deployed the Business configuration.
    4. my solution got updated with the created and deployed BAC elements and i had done scoping for those elements to make my created form available.
    5. I can see my form template in Form Template maitaince under Application user managment WOC. I had made it to be available for all users and published.
    6. All the above steps are done success fully with no errors.
    7. When i accessed my custom BO and tried to preview the created form i am unable to view it and i am seeing the following window.
    Could you help me out in solving this or send me across any detailed document regarding this what you had done previously.
    Thanks in advance for your valuable help...
    Regards...
    Hanu K

    It looks like system didn't identify the form template. So please check if the required configuration for "Preview" modal dialog is done properly. In the SDK documentation, refer to section "8.4.3.4 Create a Preview Button for a Print Form"
    If you have already done the steps mentioned in the section 8.4.3.4, but still facing the issue then let me know.
    Best regards,
    Hari

  • Custom Rowtype Template with apex.widget.report.sort() - does this work?

    Hi Folks!
    I have a report with a custom rowtype template (3 rows for each dataset) and I have fiddeled around with the build-in javascript sorting-function. (Cause as it seems you can't use the standard sorting functionality on custom rowtemplates.) I came up with a short solution, but I would like to know how safe this is.
    Setup very simple:
    The Header-Template [before rows]
    <table id="myDomId">
        <thead><tr>
            <th><a href="javascript:sortCol(1)">Col1</a></th>
            <th><a href="javascript:sortCol(2)">Details</a></th>
            <th><a href="javascript:sortCol(3)">Col3</a></th>
        </tr></thead>
    Then the javascript handling runs like that:
    var qmmSorter = {};
    $(function(){
       setupSorters();
    function setupSorters(){
        qmmSorter.DomCatch = /\d+/.exec($('#myDomId>div').attr('id'))[0];
        qmmSorter.lastCol = 1;
        qmmSorter.asc = true;
    function sortCol(colnum){
    //console.log(colnum);
        if (qmmSorter.DomCatch) {
            qmmSorter.lastCol = colnum;
            qmmSorter.asc = !qmmSorter.asc;
            javascript:apex.widget.report.sort( qmmDomCatch,'fsp_sort_'+colnum + ( qmmSorter.asc ? '' : '_desc') );
    Maybe I'll also add some arrows to indicate what sorting took place. Tested so far in IE9 and Moz - all we really use in our internal network.
    But this seems all a bit just too easy. so I'd be really thankful for your comments.
    Tanks and greetings,
    Tobi

    TobiP wrote:
    But this seems all a bit just too easy. so I'd be really thankful for your comments.
    It would be even easier to use column header substitution and retain the built-in sort functionality (although this includes the sort direction image bug).
    <table id="myDomId"> 
      <thead><tr>
        <th>#1#</th>
        <th>#2#</th> 
        <th>#3#</th> 
      </tr></thead>

  • Link in my customized Report Template doesn't work – Apex 3.1

    I created a report template based on columns of my report
    My query report is:
    SELECT MEM_NAS ID, MEM_NOM NAME, MEM_DATE_NAIS BIRTH
    FROM ACMT_MEMBRE;
    My customized report template have this Row Template definition:
    <tr onclick="redirect('f?p=&APP_ID.:6:&SESSION.:::6:P6_NAS:#ID#');">
    <td #ALIGNMENT# class="t16data_edit">#NAME#</td>
    <td #ALIGNMENT# class="t16data_edit">#BIRTH#</td>
    </tr>
    This would redirect to the page 6 when user click anywhere on a row but it doesn’t work.
    I have this error message:
    CHECK$01');"> CHECK$01');"> CHECK$01');"> CHECK$01');"> CHECK$01');"> CHECK$01');"> CHECK$01');"> CHECK$01');"> CHECK$01');"> CHECK$01');"> CHECK$01');"> CHECK$01');"> CHECK$01');"> CHECK$01');"> CHECK$01');">
    I realized that problem is caused by #ID# because if I hardcode this ID, it works.
    How can my report template get the “ID” from my query report ?
    Apex version: 3.1
    Edited by: mario_romero77 on Jun 8, 2012 10:06 AM

    mario_romero77 wrote:
    I created a report template based on columns of my reportAlways post code wrapped in <tt>\...\</tt> tags to prevent the forum software mangling it.
    My query report is:
    SELECT MEM_NAS ID, MEM_NOM  NAME, MEM_DATE_NAIS  BIRTH
    FROM ACMT_MEMBRE; My customized report template have this Row Template definition:
    &lt;tr onclick="redirect('f?p=&APP_ID.:6:&SESSION.:::6:P6_NAS:#ID#');"&gt;
    <td #ALIGNMENT# class="t16data_edit">#NAME#</td>
    <td #ALIGNMENT# class="t16data_edit">#BIRTH#</td>
    </tr>
    Is the report template definitely of type Named Column (row template) (defined on App Builder page 4000:4654) and not Generic Columns (column template) (defined on page 400:258)?
    Note that the <tt>#ALIGNMENT#</tt> substitution string is not supported in named column templates. Set column alignment explicitly using HTML attributes in the template, or use CSS.
    This would redirect to the page 6 when user click anywhere on a row but it doesn’t work.
    I have this error message:
    CHECK$01');"> CHECK$01');"> CHECK$01');"> CHECK$01');"> CHECK$01');"> CHECK$01');"> CHECK$01');"> CHECK$01');"> CHECK$01');"> CHECK$01');"> CHECK$01');"> CHECK$01');"> CHECK$01');"> CHECK$01');"> CHECK$01');">
    {code}Where do you see this? It looks like there's a mismatch between the report columns returned by the query and those referenced in the report template. Or the data contains unsafe HTML characters that aren't being escaped.
    Yes, my report query has a column called ID and it's set as Hidden. This could be the problem. In a report based on a named column template any columns referenced in the template must be +shown+ in the report, even if (as in this case) the column value is not visible to the user: the positioning of the <tt>#ID#</tt> column placeholder in the <tt>onclick</tt> attribute rather than in a table cell is what makes it "hidden". *The Show checkbox for the ID column must be checked.*
    From the gobbledygook being generated it looks like there could be a row selector checkbox column in this report as well? Named column row templates must include substitution placeholders for every shown column. It's also advisable to keep the columns in the same order in the SQL, report column attributes and row template.
    Something like
    {code}
    &lt;tr onclick="redirect('f?p=&APP_ID.:6:&SESSION.:::6:P6_NAS:#ID#');"&gt;
    <td class="t16data_edit">#CHECK$01#</td>
    <td class="t16data_edit">#NAME#</td>
    <td class="t16data_edit">#BIRTH#</td>
    </tr>
    {code}
    I realized that problem is caused by #ID# because if I hardcode this ID, it works.
    How can my report template get the “ID” from my query report ?If the above doesn't help then the easiest way to troubleshoot this would be for you to upload the app to apex.oracle.com and post guest developer credentials for the workspace so we can see the whole thing: template, SQL, and report attributes. Otherwise we're likely to and up with a lot of tedious to and fro here posting bits of code and attribute values.

  • Custom report template and URL links

    Hello,
    I have been working on this problem for some-time and it's starting to get frustrating. I am trying to 'mimic' the functionality of the 'people search' application and I am working on the hierarchy portion of it (page 3).
    I copied the (3) custom report templates (one for each level of the hierarchy) and I created three queries to go to each.
    My problem is that the links in the report template code keep getting mixed around -- the mgr_id is showing where the mgr_name should be, etc. In the example application the query has about 6 columns, and the template is only showing three (and the order of them in the report attributes doesn't seem to matter. But when I change the column order in my application, the data in the template changes??
    Here is an example query:
    select MGR_NAME, work_role,
    nvl(total_direct,0) Directs, nvl(total_reports,0) Reports
    from hr_orgchart_view
    where
    emp_id = :p3_emp_id
    And the matching report template:
    <tr align="center" valign="top">
    <td align="center"class="instructiontext">
    <b>#MGR_NAME#</b>
    <br><font size=-2>
    #WORK_ROLE#
    </font><br><FONT class="smallBlack">
    Directs: #DIRECTS#   Total: #REPORTS#</font></td></tr>
    Since the column name is being referenced as the link text, column order should not matter right?
    Please shed some light on this situation, as I am holding up development. I am using version 1.6
    Thanks,
    Jeff

    Sorry, the code was messed up in previous post:
    Template:
    <tr align="center" valign="top">
    <td align="center"class="instructiontext">
    <b>#MGR_NAME#</b>
    <br><font size=-2>
    #WORK_ROLE#</font><br><FONT class="smallBlack">
    Directs: #DIRECTS#   Total: #REPORTS#</font></td></tr>

Maybe you are looking for

  • Lost sound from Macbook Pro late 2008

    Having recently run my computer very hot I have now lost the audio output option.  The speaker icon on the menu bar has gone to grey and the volume control no longer works.... Thanks in advance. Rutternfa

  • First PKGBUILD... where/how to install

    I want to create a package for Triangle (http://www.cs.cmu.edu/~quake/triangle.html). My current pkgbuild looks like: pkgname=triangle pkgver=1 pkgrel=1 pkgdesc="A Two-Dimensional Quality Mesh Generator and Delaunay Triangulator." arch=('i686' 'x86_6

  • Problem with audio

    Hi, I have a problem with my Adobe premiere pro cs6. When I import a video there is no audio, altough when I use win.media player I can clearly hear audio track. Can anyone help me?

  • Calendar sync and Blackberry Storm

    Ever since the update of Desktop software to 6.0.1.18 I can no longer sync my Outlook 2007 calendar bw desktop and device. Ii have checked default settings and reloaded and installed but at all times Calendar says not installed on desktop. help???  I

  • Server Name Changed after update

    I'm new to SBS 2011 so I don't know much about it yet.  I updated a server for a client and when the server retarted the name for the server that showed up in the Network had changed.  It's now showing up as WIN-P0NIHSQCMU2.  I tried restarting from