Traversing and printing class hierarchy

I'm writing a class exercise that requires taking a class as input and prints our class hierarchy for that class, includeing all the interfaces implemented by it or its superclasses. It should also print out the interfaces that those interfaces extend.
My thinking here (it's been almost a year since my last Java courses) is calling getInterfaces and getClass, and then using recursion to continually call these and print them out until gatClass returns Object.
Anybody got some input for me? Am I on the right track?

I strongly recamend you to read about java.lang.Class in the documentation and you'll find all that you need to do this.

Similar Messages

  • [svn] 4885: Flex SDK Framework - Update mx.filters API and class hierarchy

    Revision: 4885
    Author: [email protected]
    Date: 2009-02-06 16:12:32 -0800 (Fri, 06 Feb 2009)
    Log Message:
    Flex SDK Framework - Update mx.filters API and class hierarchy
    - Removed BaseFilter.as, BaseDimensionFilter.as, and GradientFilter.as
    - Renamed IBitmapFilter.as to IFlexBitmapFilter.as
    - Changed IBitmapFilter.clone to createBitmapFilter
    - Moved properties and functions from base classes up to filter subclasses
    - Changed ColorMatrixFilter constructor parameter from Array to Object
    - Added Change metadata to all filter classes
    - Changed notifyFilterChanged from public to private
    - Added ASDoc comments
    - Added copyright info
    - Added a number of formatting and style fixes
    QE Notes: Need to update tests based on API changes. Missing tests for DisplacementMapFilter.as.
    Doc Notes: Need extensive ASDoc review. Consider using @copy for properties that match the flash.filters properties
    Bugs: n/a
    Reviewer: Gordon
    Modified Paths:
    flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimateFilter.as
    flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateFilterInst ance.as
    flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/BevelFilter.as
    flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/BlurFilter.as
    flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/ColorMatrixFilter.as
    flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/ConvolutionFilter.as
    flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/DisplacementMapFilter.as
    flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/DropShadowFilter.as
    flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/GlowFilter.as
    flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/GradientBevelFilter.as
    flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/GradientGlowFilter.as
    flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/ShaderFilter.as
    flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/Parser.as
    flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/StrokedElement.as
    flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.a s
    flex/sdk/trunk/frameworks/projects/framework/src/FrameworkClasses.as
    flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as
    Added Paths:
    flex/sdk/trunk/frameworks/projects/framework/src/mx/filters/IFlexBitmapFilter.as
    Removed Paths:
    flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/GradientFilter.as
    flex/sdk/trunk/frameworks/projects/framework/src/mx/filters/BaseDimensionFilter.as
    flex/sdk/trunk/frameworks/projects/framework/src/mx/filters/BaseFilter.as
    flex/sdk/trunk/frameworks/projects/framework/src/mx/filters/IBitmapFilter.as

    Yup. The source files are simply missing from the 4.5 source releases....I'm hitting the same issue when trying to rebuild the SDK with flexcover changes applied.

  • What happened to class designer and printing in JDev 9i??

    Where did the "Class Designer" go in JDeveloper 9i... It was in JDev 3.2??
    Also, I've read that the printing functionality will be put back into JDeveloper in the next release. It there a date set for this release?
    Thanks

    Are we still another release away from getting the printing functionality back?? I just downloaded 903 and it still doesn't have all the printing functionallity that 3.2.3 had?? What happened?
    Bret
    Where did the "Class Designer" go in JDeveloper 9i... It was in JDev 3.2??In JDev9i, the editors are seperated, so right-click in your code editor, and select Class Editor.
    Also, I've read that the printing functionality will be put back into JDeveloper in the next release. It there a date set for this release?Unfortunately, we don't have a firm date yet for the next release.
    Rob

  • Error list and class hierarchy unexpected refresh

    I'm running LabVIEW 2013 Service Pack 1
    There is an irritating issue that I am sure I have never come across before, in that the Error list, class hierarchy window, VI hierarchy window, and I am sure other UI elements are refreshing themselves every few seconds.
    For example:
    Open the class/VI hierarchy window and browse around. In a couple of seconds the pane will refresh its position to hte top left corner.
    Ensure that the error window has enough errors and warnings (show warnings is reccommended!) that it shows a scrollbar. Scroll down and sellect/highlight an item (this happens naturally if you ctrl-L from a VI). Scroll up/down the list and in a couple of seconds the list focus will move back to the highlighted item.
    This is really, REALLY irritating me with refactoring a large project. Has anyone else seen this, and is it fixable?
    - Cheers, Ed

    That's some pretty strange behaviour, just tried to test it on a machine with 2013 SP1 and another with just 2013; but this behaviour wasn't observed?
    Aside from the standard steps like restarting LabVIEW, or turning your machine on/off; you could try do a repair operation on LabVIEW to correct this?
    Hopefully someoneone else can pitch in who has experienced similar behaviour recently...

  • Can Forte C++ build the class hierarchy and generate documents?

    Can Forte C++ build the class hierarchy and generate documents?

    Can Forte C++ build the class hierarchy and generate documents?

  • Creating and printing a BufferedImage with Robot class

    I use class robot to create a bufferedImage of a screenCapture.
    But all it keeps printing is a black box.
    What am I missing here?
    Dimension dim = mainPanel.getSize();
    Robot robot = null;
    try{ 
           robot = new Robot();
        final BufferedImage bufferedImage = robot.createScreenCapture(new Rectangle
                                               (mainPanel.getLocationOnScreen().x,
                                                mainPanel.getLocationOnScreen().y,
                                                dim.width,
                                                dim.height));
        catch( Exception e ){}     
            PrintUtilities.printImage(bufferedImage);Printing code
    public class PrintUtilities implements Printable{
              private BufferedImage bufferedImage;
      public static void printImage(BufferedImage c) { 
              new PrintUtilities(c).print();
      public PrintUtilities( BufferedImage bufferedImage ){
             this.bufferedImage = bufferedImage;
      public void print(){
             PrinterJob printJob = PrinterJob.getPrinterJob();
             printJob.setPrintable(this);
               if (printJob.printDialog())
                try {
                      printJob.print();
                      System.out.println("calling printjob " );
                catch(PrinterException pe)
                       System.out.println("Error printing: " + pe);
    public int print(Graphics g, PageFormat pf, int pageIndex){
                 Graphics2D g2d = (Graphics2D)g;
                 int imageWidth = bufferedImage.getWidth(); //width in pixels
                 int imageHeight = bufferedImage.getHeight(); //height in pixels
                 g2d.drawImage( bufferedImage, 0, 0, (int)pageWidth, (int)pageHeight, null );
                 return Printable.PAGE_EXISTS;
              }

    Ok, day 4 of working on this. Dukes are still up for grabs.
    I created a small pop up frame in the print method of the print Utilities class to display the buffered image, worked fine. So the problem seems to be in the drawImage()
    Someone has got to have a clue as to why this just printing a black box
    The call to the print class:
    PrintUtilities.printImage(bufferedImage);
    The entire print class:
    import java.awt.*;
    import javax.swing.*;
    import java.awt.print.*;
    import java.awt.image.BufferedImage;
      public class PrintUtilities implements Printable{
              private BufferedImage bufferedImage;
      public static void printImage(BufferedImage c) { 
              new PrintUtilities(c).print();
      public PrintUtilities( BufferedImage bufferedImage ){
             this.bufferedImage = bufferedImage;
      public void print(){
             PrinterJob printJob = PrinterJob.getPrinterJob();
             printJob.setPrintable(this);
               if (printJob.printDialog())
                try {
                      printJob.print();
                catch(PrinterException pe)
                       System.out.println("Error printing: " + pe);
      public int print(Graphics g, PageFormat pf, int pageIndex) throws PrinterException {
         Graphics2D g2d = (Graphics2D)g;
         int panelWidth    = bufferedImage.getWidth(); //width in pixels
         int panelHeight   = bufferedImage.getHeight(); //height in pixels
         double pageHeight = pf.getImageableHeight(); //height of printer page
         double pageWidth  = pf.getImageableWidth(); //width of printer page
         if( pageIndex >= 1 ){
              return Printable.NO_SUCH_PAGE;
                // shift Graphic to line up with beginning of print-imageable region
          g2d.translate(pf.getImageableX(), pf.getImageableY());
          g2d.drawImage( bufferedImage, 10, 10, (int)pageWidth, (int)pageHeight, null );
          return Printable.PAGE_EXISTS;
    }// close print class.

  • Convert a web report into pdf and print (in BW 3.5)

    Hello gurus,
    i have few web reports ( created using WAD). i am looking for a possibility to convert a web report (viewed in a browser by a user) into pdf and print them and this should be done by pressing a button.
    Is it possible in BW 3.5 version?.
    could anyone please help me?
    Any how to docs. would be really helpful.
    thanks and regards
    kumar

    Here it is
    <HTML>
    <!-- BW data source object tags -->
    <object>
             <param name="OWNER" value="SAP_BW"/>
             <param name="CMD" value="SET_DATA_PROVIDER"/>
             <param name="NAME" value="DATAPROVIDER_1"/>
             <param name="DATA_PROVIDER_ID" value=""/>
             DATA_PROVIDER:             DATAPROVIDER_1
    </object>
    <object>
             <param name="OWNER" value="SAP_BW"/>
             <param name="CMD" value="SET_PROPERTIES"/>
             <param name="TEMPLATE_ID" value="ZPD_ADHOC_PAGE"/>
             <param name="MENU_BACK" value=""/>
             <param name="MENU_BACK_TO_START" value=""/>
             <param name="SUPPRESS_WARNINGS" value="X"/>
             <param name="MENU_FILTER" value=""/>
             <param name="MENU_FILTER_ON_AXIS" value=""/>
             <param name="MENU_SELECT_FILTER" value=""/>
             <param name="MENU_FILTER_ON_AXIS_CHART" value=""/>
             <param name="MENU_FILTER_CHART" value=""/>
             <param name="MENU_FILTER_DRILL_DOWN" value=""/>
             <param name="MENU_DRILL_UP_GIS" value=""/>
             <param name="MENU_DRILL_DOWN" value=""/>
             <param name="MENU_EXCHANGE_OBJECTS" value=""/>
             <param name="MENU_REMOVE_DRILL_DOWN" value=""/>
             <param name="MENU_SWITCH_AXIS" value=""/>
             <param name="MENU_HIERARCHY_NODE_DRILL" value=""/>
             <param name="MENU_HIERARCHY_DRILL" value=""/>
             <param name="MENU_HIERARCHY_STATE" value=""/>
             <param name="MENU_SORT" value=""/>
             <param name="MENU_CALCULATE_RESULT" value=""/>
             <param name="MENU_CALCULATE_VALUE" value=""/>
             <param name="MENU_CUMULATE_VALUE" value=""/>
             <param name="MENU_DISPLAY_DOCUMENTS" value=""/>
             <param name="MENU_DOCUMENT_CREATE" value=""/>
             <param name="MENU_DISPLAY_DOCUMENT_PROP" value=""/>
             <param name="MENU_DISPLAY_DOCUMENT_SELEC" value=""/>
             <param name="MENU_RRI" value=""/>
             <param name="MENU_EXPORT_TO_CSV" value=""/>
             <param name="MENU_EXPORT_TO_XLS" value=""/>
             <param name="MENU_BOOKMARK" value=""/>
             <param name="MENU_CHARACTERISTIC_PROPERTIES" value=""/>
             <param name="MENU_VALUE_PROPERTIES" value=""/>
             <param name="MENU_QUERY_PROPERTIES" value=""/>
             <param name="MENU_VARIABLE_SCREEN" value=""/>
             <param name="MENU_CURRENCY_CONVERSION" value=""/>
             <param name="MENU_ENHANCED" value=""/>
             TEMPLATE PROPERTIES
    </object>
    <HEAD>
    <META NAME="GENERATOR" Content="Microsoft DHTML Editing Control">
    <TITLE>SAP BW Reporting Print Page</TITLE>
    <link href="/sap/bw/Mime/BEx/StyleSheets/BWReports.css" type="text/css" rel="stylesheet"/>
    <script type"text/javascript">
    <!--
    //   Global Variable Definition
    var dataTable = "";
    var pageRowCnt = 0;
    var prevPage = 0;
    var ColumnCnt = 0;
    var PrintDateTimeStamp = new Date();
    var rptWidth = 0;
    //DATE STAMP FUNCTION
    function datestamp(){
               var Today = new Date()
               document.write(Today);
    function getReportTitle() {
                    var myQueryString = window.location.search;
                    var startOfRptTitle = myQueryString.indexOf("QTITLE=");
                    if (startOfRptTitle != -1)
                         var endOfRptTitle = myQueryString.indexOf("&", startOfRptTitle + 7);
                         var myTitle = unescape(myQueryString.substring(startOfRptTitle + 7, endOfRptTitle));
                         var rpttitle = "";
                         for(i=0;i<myTitle.length;i++){
                             if (myTitle.substring(i,i+1) == "+"){
                                 rpttitle = rpttitle + ' ';
                             else
                                 rpttitle = rpttitle + (myTitle.substring(i,i+1));
                    else
                         var rpttitle =  "Unspecified Query Title";
                    return rpttitle;
    queryTitle=getReportTitle();
    function getHeading2() {
                    var myQueryString = window.location.search;
                    var startOfHdr2 = myQueryString.indexOf("HDR2=");
                    if (startOfHdr2 != -1)
                         var endOfHdr2 = myQueryString.indexOf("&", startOfHdr2 + 5);
                         var myHdr2 = unescape(myQueryString.substring(startOfHdr2 + 5, endOfHdr2));
                         var hdr2 = "";
                         for(i=0;i<myHdr2.length;i++){
                             if (myHdr2.substring(i,i+1) == "+"){
                                 hdr2 = hdr2 + ' ';
                             else
                                 hdr2 = hdr2 + (myHdr2.substring(i,i+1));
                    else
                         var hdr2 =  "#";
                    return hdr2;
    header2=getHeading2();
    function getHeading3() {
                    var myQueryString = window.location.search;
                    var startOfHdr3 = myQueryString.indexOf("HDR3=");
                    if (startOfHdr3 != -1)
                         var endOfHdr3 = myQueryString.indexOf("&", startOfHdr3 + 5);
                         var myHdr3 = unescape(myQueryString.substring(startOfHdr3 + 5, endOfHdr3));
                         var hdr3 = "";
                         for(i=0;i<myHdr3.length;i++){
                             if (myHdr3.substring(i,i+1) == "+"){
                                 hdr3 = hdr3 + ' ';
                             else
                                 hdr3 = hdr3 + (myHdr3.substring(i,i+1));
                    else
                         var hdr3 =  "#";
                    return hdr3;
    header3=getHeading3();
    function getAsOfDate() {
                    var myQueryString = window.location.search;
                    var startOfRelevance = myQueryString.indexOf("ASOFDATE=");
                    if (startOfRelevance != -1)
                         var endOfRelevance = myQueryString.indexOf("&", startOfRelevance + 9);
                         var myRelevance = unescape(myQueryString.substring(startOfRelevance + 9, endOfRelevance));
                         var asof = "";
                         for(i=0;i<myRelevance.length;i++){
                             if (myRelevance.substring(i,i+1) == "+"){
                                 asof = asof + ' ';
                             else
                                 asof = asof + (myRelevance.substring(i,i+1));
                    else
                         var asof =  "";
                    return asof;
    asofDateTime=getAsOfDate();
    function getPaperSize() {
                    var myQueryString = window.location.search;
                    var startOfPaperSize = myQueryString.indexOf("PSIZE=");
                    if (startOfPaperSize != -1)
                         var endOfPaperSize = myQueryString.indexOf("&", startOfPaperSize + 6);
                         var myPaperSize = unescape(myQueryString.substring(startOfPaperSize + 6, endOfPaperSize));
                         var psize = "";
                         for(i=0;i<myPaperSize.length;i++){
                                 psize = psize + (myPaperSize.substring(i,i+1));
                    else
                         var psize =  "0";    // default if none supplied  (normal 8x11)
                    return psize;
    varPaperSize=getPaperSize();
    var PaperSizeParamString='&PSIZE=' + escape(varPaperSize);
       switch(varPaperSize){
            case "0":    // Landscape - Letter
                           var WidthMax = 910;
                           var RowsPerPageMax = 38;
                           break;
            case "1":    // Landscape - Legal
                           var WidthMax = 1190;
                           var RowsPerPageMax = 38;
                           break;
            case "2":    // Portrait - Letter
                           var WidthMax = 660;
                           var RowsPerPageMax = 54;
                           break;
    function getTotalColumns() {
       var myHTML = dataTable.rows[1].innerHTML;
       var TotalTDs = 0;
       var nextTD = 0;
       for (i=0;i<myHTML.length;i++) {
           nextTD =  myHTML.indexOf("<TD", i);
           if (nextTD != -1) {
              i=nextTD;
              TotalTDs++;
           else break;
       return TotalTDs;
    function GetPageHeadings() {
       var headingHTM = "";
       var leftspancnt = 0;
       var rightspancnt = 0;
       var headingspancnt = 2;
       if (header2 != '#') headingspancnt = headingspancnt + 1;   // adjust for extra headings
       if (header3 != '#') headingspancnt = headingspancnt + 1;  
       if (currPage > 1) {
          headingHTM += '<TR style="page-break-before:always; display:none; visibility:hidden; "><TD Colspan="' + ColumnCnt + '"></td></tr>';
       else {
          headingHTM += '<TABLE  id="THEREPORT" name="MYREPORT" cellSpacing=0 cellPadding=0 width=' + WidthMax + ' border=0>';
       if (ColumnCnt == 1) {
          headingHTM += '<TR><TD vAlign=top align=left nowrap><font Size=3><STRONG>';
          headingHTM += queryTitle;
          headingHTM += '</STRONG></font></TD><TD Rowspan="' + headingspancnt + '" align="right" vAlign="top"><input type="image" border="0" name="SAPLogo" src="/sap/bw/Mime/Customer/Images/images.jpg" alt="SAP Logo"></TD></TR>';
          if (header2 != '#') headingHTM += '<TR><TD vAlign="top" align="left"><FONT Size=1>' + header2 + '</FONT></TD></TR>';
          if (header3 != '#') headingHTM += '<TR><TD vAlign="top" align="left"><FONT Size=1>' + header3 + '</FONT></TD></TR>';
          headingHTM += '<TR><TD vAlign="top" align="left"><FONT Size=1>' + asofDateTime + '</FONT></TD></TR>';
          headingHTM += '<TR><TD vAlign="top" align="left" Colspan="2"><hr size=2 color=black align=left></TD></TR>';
          headingHTM += '<tr>' + dataTable.rows[0].innerHTML + '<TD> </TD></TR>';
       else {
          leftspancnt = Math.floor(ColumnCnt/2);
          rightspancnt = ColumnCnt - leftspancnt;
          headingHTM += '<TR><TD vAlign=top align=left nowrap Colspan="' + leftspancnt + '"><font Size=3><STRONG>';
          headingHTM += queryTitle;
          headingHTM += '</STRONG></font></TD><TD Rowspan="' + headingspancnt + '" Colspan="' + rightspancnt  + '" align="right" vAlign="top"><input type="image" border="0" name="SAPLogo" src="/sap/bw/Mime/Customer/Images/images.jpg" alt="SAP Logo"></TD></TR>';
          if (header2 != '#') headingHTM += '<TR><TD vAlign="top" align="left" Colspan="' + leftspancnt + '"><FONT Size=1>' + header2 + '</FONT></TD></TR>';
          if (header3 != '#') headingHTM += '<TR><TD vAlign="top" align="left" Colspan="' + leftspancnt + '"><FONT Size=1>' + header3 + '</FONT></TD></TR>';
          headingHTM += '<TR><TD vAlign="top" align="left" Colspan="' + leftspancnt + '"><FONT Size=1>' + asofDateTime + '</FONT></TD></TR>';
          headingHTM += '<TR><TD vAlign="top" align="left" Colspan="' + ColumnCnt + '"><hr size=2 color=black align=left></TD></TR>';
          headingHTM += '<tr>' + dataTable.rows[0].innerHTML + '</TR>';
       return headingHTM;
    function GetPageFooting() {
       var footingHTM = "";
       var leftspancnt = 0;
       var rightspancnt = 0;
       if (ColumnCnt == 1) {
          footingHTM += '<TR><TD vAlign="top" align="left" Colspan="2"><hr size=2 color=black align=left></TD></TR>';
          footingHTM += '<TR><TD vAlign="top" align="left" nowrap><FONT Size=1>Prepared: ';
          footingHTM += PrintDateTimeStamp;
          footingHTM += '</FONT></TD><TD vAlign="top" align="right"><FONT Size=1>';
          footingHTM = footingHTM + 'Page ' + currPage.toString() + ' of ' + varPageTotal.toString();
          footingHTM += '</FONT></TD></TR>';
       else {
          leftspancnt = Math.floor(ColumnCnt/2);
          rightspancnt = ColumnCnt - leftspancnt;
          footingHTM += '<TR><TD vAlign="top" align="left" Colspan="' + ColumnCnt + '"><hr size=2 color=black align=left></TD></TR>';
          footingHTM += '<TR><TD vAlign="top" align="left" nowrap Colspan="' + leftspancnt + '"><FONT Size=1>Prepared: ';
          footingHTM += PrintDateTimeStamp;
          footingHTM += '</FONT></TD><TD vAlign="top" align="right" Colspan="' + rightspancnt + '"><FONT Size=1>';
          footingHTM = footingHTM + 'Page ' + currPage.toString() + ' of ' + varPageTotal.toString();
          footingHTM += '</FONT></TD></TR>';
       return footingHTM;
    function GetReportFooting() {
       var footingHTM = "";
       footingHTM += '</TABLE>';
       return footingHTM;
    function formatToPrint() {
       var PrintHTM = "";
       PrintHTM += GetPageHeadings();
       if (ColumnCnt != 1) {
          for (var i=1;i<dataTable.rows.length;i++) {
               (currPage > prevPage)?prevPage=currPage:"";  //increment current page count
               if ((pageRowCnt + 1)>RowsPerPageMax){
                   PrintHTM += GetPageFooting();
                   pageRowCnt = 0;
                   currPage++;
               if (prevPage != currPage) {
                   PrintHTM += GetPageHeadings();
               else
                   PrintHTM += '<tr>' + dataTable.rows<i>.innerHTML + '</tr>';
                   pageRowCnt++;
       PrintHTM += GetPageFooting();       
       PrintHTM += GetReportFooting();
       return PrintHTM;
    function DisplayPrintNotice() {
    // Paper Size "0" is Letter with Landscape
    // Paper Size "1" is Legal with Landscape
    // Paper Size "2" is Letter with Portrait
    if (varPaperSize == "0") {var varMessage ="nn From your browser File Menu, select Page Setup and do the following: nn 1) Adjust the Printer Orientation to Landscape n 2) select Print menu, then select the Print button.";}
    if (varPaperSize == "1") {var varMessage ="nn From your browser File Menu, select Page Setup and do the following: nn 1) Adjust the Paper Size to Legal n 2) Adjust the Printer Orientation to Landscape n 3) select Print menu, then select the Print button.";}
    //if (varPaperSize == "2") {var varMessage ="nn From your browser File Menu, select Page Setup and do the following: nn 1) Adjust the Paper Size to Letter n 2) Adjust the Paper Source (if necessary) n 3) Adjust the Orientation to Portrait (default) n 4) Select the Okay button nn Again select the File Menu, select Print, then select the Print button.";}
    alert(varMessage);
    //window.print()
    /*   SAP BW Reporting Stylesheet Revisions        */        
    function writeStyleRevisions() {
    function writeDynamicFontRevisions(dynafont) {
    //Writes the Dynamic Stylesheet
    -->
    </script>
    </HEAD>
    <BODY>
    <TABLE  id="tp1" cellSpacing=0 cellPadding=0 width=660 border=0 >
        <TR>
        <TD vAlign=top align=left nowrap>
    <object>
             <param name="OWNER" value="SAP_BW"/>
             <param name="CMD" value="GET_ITEM"/>
             <param name="NAME" value="MYQUERY"/>
             <param name="ITEM_CLASS" value="CL_RSR_WWW_ITEM_GRID"/>
             <param name="DATA_PROVIDER" value="DATAPROVIDER_1"/>
             <param name="GENERATE_CAPTION" value=""/>
             <param name="GENERATE_LINKS" value=""/>
             <param name="WIDTH" value="660"/>
             <param name="BORDER_STYLE" value="NO_BORDER"/>
             <param name="SUPPRESS_REPETITION_TEXTS" value=""/>
             <param name="BLOCK_SIZE" value="3500"/>
             <param name="SHOW_PAGING_AREA_TOP" value="X"/>
             <param name="TARGET_DATA_PROVIDER_1" value="DATAPROVIDER_1"/>
             ITEM:            MYQUERY
    </object>
        </TD>
      </TR>
    </TABLE>
    <SCRIPT type="text/javascript">
    <!--
            var tbls = document.body.getElementsByTagName("TABLE");
            for (var i=0;i<tbls.length;i++) {
                  if (tbls<i>.name == "MYQUERY"){
                        var dataTable = tbls<i>;
                        break;
            document.title = queryTitle;
            rptWidth = dataTable.clientWidth;
            rptHeight = dataTable.clientHeight;
            originalRptWidth = rptWidth;
            originalRptHeight = rptHeight;
            originalRowHeight = Math.floor(rptHeight/(dataTable.rows.length+1));
            rptPageHeightMax = 580;                                                                                //660 less basic header and footer of 80
            if (header2 != '#') rptPageHeightMax = rptPageHeightMax - 20;   // adjust for extra headings
            if (header3 != '#') rptPageHeightMax = rptPageHeightMax - 20;  
            if (dataTable.rows.length == 1) {
                ColumnCnt = 1;                //No Applicable Data found message
            else {
                ColumnCnt = getTotalColumns();
            startingFont = 65;
            varFontSize = startingFont;
            if (rptWidth > WidthMax) {
                while ((rptWidth > WidthMax) && (varFontSize > 15))
                    writeDynamicFontRevisions(varFontSize);
                    rptWidth = dataTable.clientWidth;
                    rptHeight = dataTable.clientHeight;
                    varFontSize = varFontSize - 5;
                // calculate max rows per page
                rowHeight = Math.floor(rptHeight/(dataTable.rows.length+1)) + 1;        // add 1 for 2 row heading, add 1 for padding
                RowsPerPageMax = Math.floor(rptPageHeightMax/rowHeight) - 2;   // adjust for column headings
            if (dataTable.rows.length == 1) {
                varPageTotal = 1;                //No Applicable Data found message
            else {
                totalRows = dataTable.rows.length-1;                                       // total rows less headings
                varPageTotal = Math.floor(totalRows/RowsPerPageMax);       // compute total pages
                if (totalRows != (varPageTotal * RowsPerPageMax)) {
                    varPageTotal = varPageTotal + 1;                                        // if not a complete last page, add 1 for partial page
            currPage = 1;
            document.write(formatToPrint());
            document.all.tp1.style.display = "none";
            document.all.tp1.style.visibility = "hidden";
    //        DisplayPrintNotice();
    -->
    </SCRIPT>
    <STYLE>
    input.ie55   { display: none }
    </STYLE>
    <!-- special style sheet for printing -->
    <STYLE media=print>
    .noprint     { display: none }
    </STYLE>
    <script defer>
    function window.onload() {
        if (!factory.object) {
            return
        else {
    //     factory.printing.header = "SAP"
    //     factory.printing.footer = "SAP"
            if ( varPaperSize == "2" ) { factory.printing.portrait = true; }
            else { factory.printing.portrait = false; }
            factory.printing.Print(true);
            // enable control buttons
      /*  var templateSupported = factory.printing.IsTemplateSupported();
           var controls = idControls.all.tags("input");
           for ( i = 0; i < controls.length; i++ ) {
               controls<i>.disabled = false;
               if ( templateSupported && controls<i>.className == "ie55" )
                  controls<i>.style.display = "inline";
    </script>
    <P>
    <div id=idControls class="noprint" style="VISIBILITY: hidden">
    <input disabled type="button" value="Print this page"
    onclick="factory.printing.Print(true)">
    <input disabled type="button" value="Page Setup..."
    onclick="factory.printing.PageSetup()">
    <input class=ie55 disabled type="button" value="Print Preview..."
    onclick="factory.printing.Preview()">
    <input class=ie55 disabled type="button" value="Landscape"
    onclick="factory.printing.portrait=false">
    <input class=ie55 disabled type="button" value="Portrait"
    onclick="factory.printing.portrait=true">
    </div>
    </BODY>
    </HTML>

  • How to Customize Preview and Print / Sales Order Acknowledgement

    Hi,
    Our client needs some additional attributes on a sales order acknowledgement print ( Preview and Print ) output.
    The current layout is based on ONTORDDFFN.xml and ONTORDDFN.xsd
    How to customize the same to include additional attributes like Territory and Shipping instructions etc.These new fields are not there in xsd or the xml.
    Appreciate your great help.
    Regards,
    Raju

    Per Oracle you need to implement the method "getPrintExtensionXMLFragment" of  PrintExtensionObject.java. Oracle has given the flexibility that getPrintExtensionXMLFragment can either return a XMLFragement or a sql query.. If the code in getPrintExtensionXMLFragment returns a string which starts with "select" Applications code will execute that query and the corresponding XML will be appended to the main XML. This needs to be written in a CustomClass and then set to the Profile " OM: Printed Document Extension Class Name".
    I would like to know if somebody has extensively added columns at the different levels (header, lines, Addresses, Line Discounts, Charges) and the same additional cols. were implemented in the CustomClass. Let me know.
    Regards,
    Rajesh.

  • Search for record in txt and print to console

    QairNo: 21, PostCd: 12, Age: 21, Gender: 2, Q1Res: 1, Q2Res: 2, Q3Res: 3,
    QairNo: 23, PostCd: 21, Age: 12, Gender: 2, Q1Res: 1, Q2Res: 2, Q3Res: 3,
    QairNo: 32, PostCd: 32, Age: 12, Gender: 1, Q1Res: 2, Q2Res: 1, Q3Res: 2, Hi i manage to write the above entry into database.txt
    now i need to search and print the particular data i need. For example i enter *21* and it will print all the attribute that belong to it.
    Please forgive me i am new to this, i have google for example but i can`t apply them for some reason. Below are my code, thank you for helping out !
    public class PollSummary {
         public static void main (String args[]) throws IOException {
              //int inputQuestionNum= 0;
              String key = "QairNo: ";
              Scanner input = new Scanner(new FileReader("polldata.txt"));
              while(input.hasNextLine()){
                   System.out.println(input.nextLine());
              //System.out.println("Enter the Questionnaire Number to view records");
              //inputQuestionNum = Integer.parseInt(entry.nextLine());
               while (input.hasNext() && input.findInLine(key) != null)
                     String fileLine = input.nextLine();
                     System.out.println(fileLine);
         }//end main
    }//end class

    You should use a map, just use the QuairNo as a key (aside: what is a Quair?)
    http://java.sun.com/docs/books/tutorial/collections/interfaces/map.html

  • "Preview and Print " report extension in Order Management

    Looking for help on how to add extra information to this report.. I did setup the profile to implement the how to implement PrintExtensionObject interface with method getPrintExtensionXMLFragment.... and created the class file and compiled on Java_top. ( Am very new to java)
    -- enabled the logs
    -selected an order in OM and via action button (preview and print)
    --Shows error message "An error occured during the PDF document generation. Please contact your system Administrator."
    As per the fnd logs table (SELECT * FROM fnd_log_messages WHERE message_text LIKE '%PrintAM:writeBusinessDoc%';)
    shows the following ..
    PrintAM:writeBusinessDoc: Checking for Customer Extension Class
    PrintAM:writeBusinessDoc: Custom Extension Class Found
    PrintAM:writeBusinessDoc:Successfully instantiated the Custom Extension Class
    PrintAM:writeBusinessDoc: Retrieving Custom Extension XML failed
    So I am sure that the issue is on the class which I made.. but not sure what is the cause (Again as mentioned I am new to java) and can anyone help me on this..
    ( I did check the PrintAMImpl.java which calls this profile (Custom class) and can see the above message.
    (Oracle PrintAMImp.java related codes are this
    s29 = ((OADBTransaction)getDBTransaction()).getProfile("ONT_PRINT_CUSTOMER_EXTN_OBJECT");
    if(s29 != null || s29 == "")
    if(flag3)
    logfile.writeln("PrintAM:writeBusinessDoc: Custom Extension Class Found", 1);
    logfile.writeln("PrintAM:writeBusinessDoc: Instantiating the Custom extension class", 1);
    if(flag6)
    oadbtransaction.writeDiagnostics(s6, "PrintAM:writeBusinessDoc: Custom Extension Class Found", 1);
    oadbtransaction.writeDiagnostics(s6, "PrintAM:writeBusinessDoc: Instantiating the Custom extension class", 1);
    PrintExtensionObject printextensionobject = (PrintExtensionObject)Class.forName(s29).newInstance();
    if(flag6)
    oadbtransaction.writeDiagnostics(s6, "PrintAM:writeBusinessDoc:Successfully instantiated the Custom Extension Class", 1);
    if(flag3)
    logfile.writeln("PrintAM:writeBusinessDoc: Successfully instantiated the Custom Extension Class", 1);
    byte abyte0[] = printextensionobject.getPrintExtensionXMLFragment(s, s1).toByteArray();
    if(flag6)
    oadbtransaction.writeDiagnostics(s6, "PrintAM:writeBusinessDoc:Getting the data from the user impl class", 1);
    if(flag3)
    logfile.writeln("PrintAM:writeBusinessDoc: Getting the data from the user impl class", 1);
    bytearrayoutputstream.write(abyte0);
    if(flag6)
    oadbtransaction.writeDiagnostics(s6, "PrintAM:writeBusinessDoc:Writing the data to the main xml", 1);
    if(flag3)
    logfile.writeln("PrintAM:writeBusinessDoc: Writing the data to the main xml", 1);
    } else
    if(flag3)
    logfile.writeln("PrintAM:writeBusinessDoc: No Custom Extension Class Found", 1);
    if(flag6)
    oadbtransaction.writeDiagnostics(s6, "PrintAM:writeBusinessDoc: No Custom Extension Class Found", 1);
    catch(Exception exception1)
    if(flag2)
    logfile.writeln((new StringBuilder()).append("PrintAM:writeBusinessDoc: Retrieving Custom Extension XML failed for ").append(s29).append(" with Exception \n").append(exception1.toString()).toString(), 1);
    if(flag6)
    oadbtransaction.writeDiagnostics(s6, "PrintAM:writeBusinessDoc: Retrieving Custom Extension XML failed", 1);
    **********************THIS IS CUSTOM CLASS I WAS TRYING TO DO ********************************(not a java person)
    package oracle.apps.ont.print.server;
    import com.sun.java.util.collections.HashMap;
    import java.io.*;
    import java.sql.SQLException;
    import java.util.Hashtable;
    import java.util.Properties;
    import oracle.apps.fnd.common.AppsContext;
    import oracle.apps.fnd.common.MessageToken;
    import oracle.apps.fnd.common.EnvironmentStore;
    import oracle.apps.fnd.common.VersionInfo;
    import oracle.apps.fnd.cp.request.CpContext;
    import oracle.apps.fnd.cp.request.LogFile;
    import oracle.apps.fnd.cp.request.OutFile;
    import oracle.apps.fnd.cp.request.JavaConcurrentProgram;
    import oracle.apps.fnd.framework.OAException;
    import oracle.apps.fnd.framework.OAFwkConstants;
    import oracle.apps.fnd.framework.server.OAApplicationModuleImpl;
    import oracle.apps.fnd.framework.server.OADBTransaction;
    import oracle.apps.fnd.framework.server.OADBTransactionImpl;
    import oracle.apps.fnd.framework.*;
    import oracle.apps.okc.printing.server.ContractTermsXMLGenerator;
    import oracle.apps.okc.util.server.TermsConstants;
    import oracle.apps.okc.util.server.TermsUtil;
    import oracle.apps.ont.print.blanket.server.HeaderVOImpl;
    import oracle.apps.ont.print.blanket.server.HeaderVORowImpl;
    import oracle.apps.ont.print.blanket.server.LinesVOImpl;
    import oracle.apps.ont.print.order.server.EndCustomerVOImpl;
    import oracle.apps.ont.print.server.PrintExtensionObject;
    import oracle.apps.qp.print.blanket.server.ModAtrbsVOImpl;
    import oracle.apps.qp.print.blanket.server.ModHdrVOImpl;
    import oracle.apps.qp.print.blanket.server.ModLinesVOImpl;
    import oracle.apps.qp.print.blanket.server.ModPrBrkVOImpl;
    import oracle.apps.qp.print.blanket.server.PrlAtrbsVOImpl;
    import oracle.apps.qp.print.blanket.server.PrlHdrVOImpl;
    import oracle.apps.qp.print.blanket.server.PrlLinesVOImpl;
    import oracle.apps.qp.print.blanket.server.PrlPrBrkVOImpl;
    import oracle.apps.xdo.XDOException;
    import oracle.apps.xdo.oa.schema.server.Template;
    import oracle.apps.xdo.oa.schema.server.TemplateHelper;
    import oracle.apps.xdo.template.FOProcessor;
    import oracle.apps.xdo.template.RTFProcessor;
    import oracle.jbo.RowIterator;
    import oracle.jbo.RowSet;
    import oracle.jbo.XMLInterface;
    import oracle.jbo.domain.BaseLobDomain;
    import oracle.jbo.domain.BlobDomain;
    import oracle.jbo.domain.Number;
    import oracle.jbo.server.ApplicationModuleImpl;
    import oracle.jbo.server.DBTransaction;
    import oracle.jbo.server.ViewLinkImpl;
    import oracle.jdbc.OracleTypes;
    import oracle.jdbc.driver.OracleCallableStatement;
    import oracle.jdbc.driver.OraclePreparedStatement;
    import oracle.jdbc.driver.OracleResultSet;
    import oracle.jdbc.driver.OracleConnection;
    import oracle.xml.parser.v2.XMLNode;
    import java.lang.*;
    import java.sql.*;
    public class KciSoPrintClass implements PrintExtensionObject
    KciSoPrintClass()
    public ByteArrayOutputStream getPrintExtensionXMLFragment(String s, String s1)
    ByteArrayOutputStream bytearrayoutputstream = new ByteArrayOutputStream();
    String s2 = null;
    String s3 = null;
    String s40 ="KciCustomClass";
    byte abyte0[] = null;
    byte abyte1[] = null;
    OAApplicationModuleImpl a1=new OAApplicationModuleImpl();
    OADBTransaction dbtransaction = (OADBTransaction)a1.getTransaction();
    dbtransaction.writeDiagnostics(s40, "Sujo John"+ s,1);
    try
    //OAApplicationModuleImpl a1=new OAApplicationModuleImpl();
    //OADBTransaction dbtransaction = (OADBTransaction)a1.getTransaction();
    Statement stmt = dbtransaction.createStatement(1);
    System.out.println("Testline1");
    String str = "select attribute7, attribute8 from oe_order_headers_all where header_id = " + s + " and 'O' = " + s1;
    System.out.println("Testline2");
    ResultSet resultset = stmt.executeQuery(str);
    dbtransaction.writeDiagnostics(s40, "nessDoc method"+ s,1);
    dbtransaction.writeDiagnostics(s40, "START:Prinoc method"+ s1,1);
    //OAApplicationModule am = pageContext.getApplicationModule(webBean);
    //OracleConnection conn = (OracleConnection)dbtransaction.getJdbcConnection();
    //OracleConnection conn = (OracleConnection)dbtransaction.getLocalJDBCConnection();
    //Connection conn = (Connection)am.getOADBTransaction();
    //DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    //Connection conn = new oracle.jdbc.driver.OracleDriver().defaultConnection ();
    //Class.forName("oracle.jdbc.driver.OracleDriver");
    System.out.println("Sujo");
    //Connection conn = DriverManager.getConnection("jdbc:oracle:thin:APPS/[email protected]:1533");
    //System.out.println("Sujo2");
    //String s41 = "select shipping_instructions,attribute8 from OE_ORDER_HEADERS_ALL where header_id = " + s + " and 'O' = " + s1;
    //System.out.println("Sujo3");
    //Statement statement = conn.createStatement();
    //dbtransaction.createStatement();
    //ResultSet resultset = statement.executeQuery(s41);
    if(resultset.next())
    s2 = resultset.getString("attribute7");
    s3 = resultset.getString("attribute8");
    catch(SQLException sqlexception)
    sqlexception.printStackTrace();
    catch (Exception e)
    System.err.println("Got an exception! ");
    System.err.println(e.getMessage());
    try
    //s2 = "abc";
    if(s2 != null)
    abyte0 = s2.getBytes("UTF-8");
    //s3 = "abc1";
    if(s3 != null)
    abyte1 = s3.getBytes("UTF-8");
    bytearrayoutputstream.write("<attribute7>".getBytes("UTF-8"));
    bytearrayoutputstream.write(abyte0);
    bytearrayoutputstream.write("</attribute7>".getBytes("UTF-8"));
    bytearrayoutputstream.write("<Attribute8>".getBytes("UTF-8"));
    bytearrayoutputstream.write(abyte1);
    bytearrayoutputstream.write("</Attribute8>".getBytes("UTF-8"));
    catch(IOException ioexception)
    ioexception.printStackTrace();
    // dbtransaction.writeDiagnostics(s40, "START:PrintAM:writeBusinessDoc method"+ abyte0[0]);
    // dbtransaction.writeDiagnostics(s40, "START:PrintAM:writeBusinessDoc method"+ abyte1);
    return bytearrayoutputstream;
    Any help will be appreciated

    There is a custom extension class available for this "Print and Priview" report. You can implement that and return the SQL Query in the class so that it gets executed and adds the custom attribute information at the end of XML file and you can modify the layout to add the information. The extended java class can return "select statement" or XML data. If it returns select statement code executes the query and adds the xml data at the end or returned XML data will be added. Look for Profile "OM: Printed Document Extension Class Name"

  • Issue : Read a text file and print the same

    Hi, My requirement is to read a text file and print it the same way.
    import java.io.BufferedReader;
    import java.io.FileReader;
    public class CatFile {
    public static void main(String[] args) throws Exception
         FileReader file = new FileReader("D:/Test/Allfiles.txt");
         BufferedReader reader = new BufferedReader(file);
         String text = "";
         String line = reader.readLine();
         while (line != null)
              text += line;
              line = reader.readLine();
         System.out.println(text);
    The text file i used contains
    A
    B
    C
    but my output is ABC.
    What change should be made to print it the same way in the txt file ?

    Hi EJP,
    I modified the code based on your suggestion and now its working as expected. Thanks
    Modified code :
    import java.io.BufferedReader;
    import java.io.FileReader;
    public class CatFile {
    public static void main(String[] args) throws Exception
         FileReader file = new FileReader("D:/Test/Allfiles.txt");
         BufferedReader reader = new BufferedReader(file);
         String text = "";
         String line = reader.readLine();
         while (line != null)
              System.out.println(line);
              line = reader.readLine();
              text += line;
    }

  • Problems with RH 9, CBT, and Printed Documentation

    When I upgrade an x5 project in the new RH9, all appears to go fine until I try to generate the Printed Documentation. I was disappointed that the printed documentation STILL requires so much cleanup. Text tagged with the Online condition sometimes displays on some topics, even when Online is excluded from the output. Also, some of the cleanup issues surrounding headings and index entries are still necessary.
    The four biggest issues are:
    1) If a "book" TOC heading also has content (a topic associated with it), a double-heading appears in the printed output. You have to manually remove all these extra headings in the cleanup process.
    2) All index entries appear in the paragraph BEFORE the actual heading they mark, instead of after the heading, resulting in the Index not being correct (if a heading appears at the top of the page, the Index points to the previous page where the index entry resides, instead of the correct page). I have to manually go through the entire document and move each index entry to the paragraph AFTER the heading it marks.
    3) Robohelp ignores the exclusion of Online conditions on some random topics. There is a workaround to "trick" Robohelp, but it takes *a lot* of time to do. To "trick" Robohelp, I had to generate a printed manual and make a list of all topics that "slipped" through. And, then edit each topic where the online condition was ignored, by adding an extra, empty paragraph to the end of each topic that had:
    ·         a single paragraph of text (aside from header and footer info)
    ·         ends with bulleted list (and no extra paragraph marker following)
    ·         ends with a table (and no extra paragraph marker following)
    ·         ends with a figure (and no extra paragraph marker following)
    ·         ends with see also\How do I\misc button text (and no extra paragraph marker before the seealso/how do I listings)
    4) I noticed that when I opened a topic for the first time in Robohelp, the Online condition sometimes gets applied to incorrectly tagged text (it wasn't tagged this way in the x5 content).  This requires me opening each topic in the upgraded project, and checking each topic to make sure the online condition is applied correctly in each one (a very tedious process, especiallly if you have a doc set of over 1 mil words!).
    Expected results:
    Printed doc does not contain double headings. Index entries appear after headings. Conditional text behaves as it is supposed to behave (and if you tell Robohelp to exclude the ONLINE condition, it does it for ALL topics).
    Does anyone have any suggestions/recommendations for this? Yes, I have the latest build. We held off on upgrading to previous releases of Robohelp because of the Printed Manual problem too (it seems like each version created more clean up work). :-(  I logged a bug on the Adobe forum.Any and all suggestions appreciated.  Thanks!

    Mr. Grainge,
    Thank you so much for your thoughtful answers back!  I appreciate you taking time out to write such a thorough reply. I hope Adobe appreciates you!  You're number one in follow ups!
    Unfortunately, your answers did not solve my problems. But, you did give me some ideas on where the problems could be occurring. So, thank you!!  Before I begin: In answer to your question, yes I *am* using the supplied Style Mapping template (I never had luck with the custom one myself). Also, I am going to hold off on replying to 1) and 2), but I'd like to share my answer on 3) and 4), which is really just what I need to get Printed Documentation working in Robohelp 9 the same way it worked in x5.
    A little history:  I have a set of about 50 help projects that span many versions of our company's product, and multiple versions of Robohelp (some even go back to the 90s!). They even include some help projects that were originally in Frame/WebWorks but were later ported to Robohelp. There's a lot of history to them.
    Investigating the Problem: When I opened an x5 project in RH 9, I noticed that some of the timestamps on the .htm files didn't match the rest of the files. It turned out, that these very same files that were the ones giving me problems with the Conditional text!  That's when your thoughts about the mapping came to mind...As I said, my project spanned mutiple versions of Robohelp. I wondered if some of the coding on the .htm page was being parsed incorrectly on upgrade, and if if that was the reason why RH couldn't update the pages (which explain the unchanged timestamps). In other words, I wondered if Robohelp was mapping the styles correctly on import. So, I compared these unupgraded .htm files with ones that did upgrade, to see if there was something on the code page that could be causing the problem.
    Solution to Fix 3) and 4) above:
    I'm going to list out everything that I did below, however, not everything on this list applies to everyone. But, hopefully it will help you, if you ever run into this scenario yourself, and it might give you some ideas on how to get your HTML files working. So, before upgrading, here is what I did:
    I opened my old CSS in a text editor and removed all the Robohelp autogenerated comments.
    In Homesite, I did a bunch of Search and Replaces on a copy of the older x5 project.  I looked for code that may have been generated in an earlier version of RH,and for unusual structures in the meta and style declaration area that could be causing conflicts. Here is a list of my search and replaces below:
    Search for:
    <!--(Title)=========================================================-->
    Replace With:
    nothing
    Search for:
    <!--(See Also)======================================================-->
    Replace With:
    nothing
    Search for:
    <!--(Content)=======================================================-->
    Replace With:
    nothing
    Search for:
    <p> </p>
    Replace With:
    nothing
    Search for:
    <p> </p>
    Replace With:
    nothing
    Search for:
    <html>
    <head>
    Replace With:
    <html>
    <!--(==============================================================)-->
    <!--(Document created with RoboEditor. )============================-->
    <!--(==============================================================)-->
    <head>
    Search for:
    <!--(Meta)==========================================================-->
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <!--(Links)=========================================================-->
    <link href="MyHelp.css" rel="stylesheet" type="text/css">
    <!--(Scripts)=======================================================-->
    <script language="javaScript" type="text/javascript" src="MyHelp.js"></script>
    <script language="javascript" src="eHlpDhtm.js"></script>
    </head>
    <!--(Body)==========================================================-->
    <body TABINDEX=1>
    Replace With:
    <!--(Meta)==========================================================-->
    <meta http-equiv=Content-Type content="text/html; charset=windows-1252">
    <meta name=generator content="RoboHELP by eHelp Corporation - www.ehelp.com">
    <meta name=generator-major-version content=0.1>
    <meta name=generator-minor-version content=1>
    <meta name=filetype content=kadov>
    <meta name=filetype-version content=1>
    <meta name=page-count content=1>
    <meta name=layout-height content=597>
    <meta name=layout-width content=662>
    <!--(Links)=========================================================-->
    <link href="MyHelp.css" rel="stylesheet" type="text/css">
    <!--(Scripts)=======================================================-->
    <script language=javaScript
      type="text/javascript"
      src="MyHelp.js"></script>
    <script language=javascript
      src="eHlpDhtm.js"></script>
    </head>
    <!--(Body)==========================================================-->
    <body TABINDEX=1>
    Search for:
    <a class=toplinks href="#top"> Top</a>
    …or…
    <a class=toplinks href="#top">Top</a>
    Replace With:
    <a class=toplinks
    href="#top">Top</a>
    Search for:
    <h3 id=SeeAlsoTitle
    class=SeeAlsoTitle
    style="x-condition: Online;">See Also</h3>
    <div id=seeAlso
    Replace With:
    <h3 id=SeeAlsoTitle
    class=SeeAlsoTitle
    style="x-condition: Online;">See Also</h3>
    <div id=seeAlso
    After I did these all these search and replaces in the copy of the x5 version of the project, I opened the project again in RH 9 and upgraded it.  After the upgrade, I checked the timestamps on the .htm files to make sure they all changed.  They did!  It worked!  Everything upgraded properly this time... I tested the Printed Manual output and no conditional text slipped through this time. Yay!
    In Summary:
    This is what I learned if you are having problems with Conditional text and Printed Manuals in an upgraded RH project:
    Always make backups of your older projects before you upgrade anything. I know this is elementary, but I thought it was worth reminding.
    Check the timestamps of the files after you upgrade the project. If there are a group of files with timestamps that aren't similar to the rest of the files, chances are Robohelp was having trouble converting those files.
    Try looking at the HTML code in those files and see if anything looks out of the ordinary. Some examples are above.
    If you have already ported the RH project and it's too late to go back, go look at the file timestamps anyhow. For all the older files, try opening each one in Robohelp and add a space or something (to force RH to change it), and save it. I didn't have the time to verify this, but it seemed on most instances: when I forced RH to save the file manually, it updated correctly and the problem with the conditional text went away.  (This option takes longer, especially if you have to do each page individually, but it's worth a try, IMHO.)
    Aside from the initial Printed Manual woes, which are resolved, the upgrade process from RH 9 really was seamless!  Best I have ever seen!  Everything just works!  Awesome is a word that comes to mind.
    Printed Documentation output does work on upgrade, but in my opinion is: it is no better than it was before, in previous versions.
    I wish there were more fixes to the Printed Manual output. When you have a product help system that spans multiple versions, contains over 2.5 million words, and 10,000+ topics, having a lot of cleanup on the production end is costly. What use to take a person on my team less than a day to generate 50+ PDFs in FrameMaker, takes 4-5 weeks man-time in RH.  I will outline my opinions in my next reply to this thread.
    Thanks again, Mr. Grainge!

  • Preview and Print in Actions Tab

    Hi,
    I have customized the sales order acknowledgement report and created a new report with my modifications and designed a rtf template to view the output.
    I need to call my new template in the place of Preview and Print.
    I referred to Note:341206.1 which states to update the template. As I have modified the report itself , this doesn't works. Can anyone let me know to do the same?
    Thanks
    GM

    I found metalink note 404144.1 where is explained how to customize the data source. However I don't know how to define such java class. I'm just a beginner in JDeveloper.
    I hope this help. If you are interested please continue the thread. I will try to help, it's very interesting to me.

  • Why time-dependent not work for cost center and profit center hierarchy

    Has anybody been able to successfully turn on time-dependent for cost center hierarchy? Looks like the R/3 datasource 0COSTCENTER_0101_HIER is defaulted to be NOT time-dependent, and I don’t know how to change the R/3 configuration to enable time-dependent for this datasource.
    Here is what I found. If you go to RSA2 in R/3 and enter datasource 0COSTCENTER_0101_HIER, and then select "Hierarchy Info", you will see that all the time-dependent properties are unchecked by default. By comparison, Cons Unit datasource 0CS_UNIT_CSCU_HIER has “Version Dependent Hierarchy” as selected, and we are able to load Cons Unit hierarchy as time-dependent, but have no luck so far with the Cost Center hierarchy.
    Can any BI guru tell me how I can make time-dependent work for the cost center hierarchy?
    Thanks a bunch!

    Check SETLEAF and SETNODE.
    Basically CO Master data groups dont have seperate tables. They will be available in above tables. Choose proper Set class to filter the results

  • Add a actionlistener to JTextArea and print out string when  the user input

    Hello:
    I got a problem to add a actionlistener to JTextArea and print out string which from the user input a sentence and after the user press the "enter".
    Could anyone help me please?
    Thanks
    import java.awt.event.*;
    import java.awt.*;
    import javax.swing.*;
    import javax.swing.JScrollBar;
    public class PanelDemo extends JFrame {
       private static JTextArea tAreaUp, tAreaDown;
       private BorderLayout layout;
       private static String strings;
       public PanelDemo()
          super( " test " );
          Container container = getContentPane();
          layout = new BorderLayout();
          container.setLayout( layout );
          tAreaUp = new JTextArea(2,1);
          tAreaUp.setLineWrap(true);
          tAreaUp.setWrapStyleWord(true);
          tAreaUp.setEditable(false);
          tAreaUp.append("I am testing ");
          tAreaUp.append("I am testing");
           JScrollPane scrollPane = new JScrollPane(tAreaUp);
           scrollPane.setVerticalScrollBarPolicy(
                            JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
           scrollPane.setPreferredSize(new Dimension(250, 250));
          tAreaDown =new JTextArea(2,1);
          tAreaDown.setLineWrap(true);
          tAreaDown.setWrapStyleWord(true);
          tAreaDown.addActionListener(new TextAreaHandler());
          JScrollPane scrollPane2 = new JScrollPane(tAreaDown);
          scrollPane2.setVerticalScrollBarPolicy(
                            JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
          container.add( scrollPane, layout.CENTER );
          container.add( scrollPane2, layout.SOUTH );
          setSize( 300, 300 );
          setVisible( true );
         //private inner class for event handling
         private class TextAreaHandler implements ActionListener{
              //process textArea events
            public void actionPerformed(ActionEvent e){
               strings=e.getActionCommand();
                System.out.println(strings);
       public static void main( String args[] )
          PanelDemo application = new PanelDemo();
          application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
    }

    Thanks for your help, but I still got a question for you.
    Do you think the way I register the even handler to the TextArea is correct?
    Because the compailer complains about that which like
    "D:\101\fig13_27\PanelDemo.java:43: cannot resolve symbol
    symbol  : method addActionListener (PanelDemo.TextAreaHandler)
    location: class javax.swing.JTextArea
          tAreaDown.addActionListener(new TextAreaHandler());

Maybe you are looking for

  • [Solved]Unable to connect to wireless network using networkmanager

    I have just recently reinstalled Arch Linux so I could try out Gnome 3. I am using Slim for a display manager and as I said before Gnome 3 for the window manager. All of the packages are the latest versions. slim 1.3.4-2 gnome-session 3.4.2-3 console

  • How can I get my iPhone out of landscape mode and back to portrait?

    How can I get my iPhone out of landscape mode and back to portrait? Tilting the phone doesn't work.

  • TNS Timed out error when connecting from internet

    All, Apologies if I am missing something simple... I have set up a test 9i database on a Win 2003 Server, and I can connect to it fine from within my LAN. I am trying to connect to the same database from the internet, but am getting a TNS:Operation t

  • TextEdit's Unicode broken?

    I know it sounds ridiculous, but a year ago, when I saved TextEdit documents as Unicode (UTF-8) text files (.txt), everything worked fine. And when using non-Roman fonts everything looked great. Plus, I could drop those text files in my iPod's Notes

  • Weird garbled black square logo on startup

    Anybody seen this before - a black box of multi-colored garbled pixels where the apple logo should be on startup? I came across this because my external hard drives wouldn't mount or would mount and then give me the beach ball of death when I tried t