Generate Doc DB shows no comments for a table

When you generate the schema via the menu 'Generate DB Doc' documentation, the result html file does not display the comments in the table.

The DOF has the following, but the generated HTML code does not display this comment.
COMMENT ON TABLE "XXX"  IS 'A reference table that contains the time.';
Is this a limitation of the SQL Developer not able to post comments to the table, but showing only the comments for each column?


Kind regards
Gary

Hello Gary,.

You can find the commentary to the table in the 'Détails' tab on the last row.
You don't mention the version of SQL-Developer, but for the 3.2.10.09 version is generated the comment.

Best regards

Joop

Tags: Database

Similar Questions

  • Use SQL Developer to generate Doc DB

    Developer SQL version 3.1.07 build HAND = 07.42. I'm generating Doc DB of SQL Developer for a schame. He's busy with the treatment in the first table and the html files generated much like < table > Flashback_Row823.html. If I create just the doc for the views in the diagram. It can perform within a reasonable time.

    How can he stop the < table > Flashback_Row823.html file generating schema doc can be done? My version of SQL Developer is good for this?

    Hello

    This problem has been reported previously, and a bug registered:
    3.1EA3 - generation DBDoc - flashback

    It has been set for SQL Developer 3.2. Now the Flashback database are not included when generating the Doc DB.

    Kind regards
    Gary
    SQL development team

  • vCloud Director 5.5 does not show all comments properties define in EGGS

    Hi all

    I work with a partner who is having a problem after the upgrade to 5.5 VCD

    Problem: vCloud Director 5.5 does not show all comments properties define in the OVA. Same EGGS has worked with vCloud Director 5.1

    Comment: When you create a new TIME by using the model from EGGS, all properties are displayed.

    But even if all of the properties have been shown at the time of the creation, that some have been observed when MISTLETOE was used to view existing comments properties

    Any thoughts?

    Thank you

    Florence

    This is a bug in VCD 5.5.0 and 5.5.1. It will be fixed in 5.5.2. If you can't wait for the fix so there is a /hotpatch. If you file a support request then GSS can give you the /hotpatch

  • problem with post a comment for a specific image

    So I was able to view the comment in the page I created and that comment is also saved in the table of comments in the database with the id of the image, but when I'm in the first picture and I comment comments are displayed registered in the database with the id 1 and then I'm going to the second the comments are also displayed and recorded in the commentary of tabel with the id of photo 2. But my problem is that when I go on the second picture I also see the comments of the first photo. So overall my pictures, I can see comments of photos with identification. How can I managed to solve this problem. Please suggest me sth

    I will describe a little of my database

    database name is art

    Tabel photo, I have named piktur (Titulli, Pershkrimi, id_piktur, Piktur_url) rsGallery is the Recordset photo

    the tabel of comment, I appointed komente (id_koment, id_piktur, text) rsKomente is comment recordset

    Text is the column where the comment is save

    I use the session variable in order to get the id of the image of the table of the photo and the photo id of the tabel of comment column

    This is the piece of code, I guess I should make some conditions but I tried sth myself but I couldn't solve my problem. The images on my page are organized with pagination and repeat the view-only region 1 photo at a time. the commentary are also repeating the region showing all comments at once.

    < p >

    <? PHP while ($row_rsKomente = mysql_fetch_assoc ($rsKomente)) {? >}

    <? PHP

    $id_piktur=$row_rsGallery['Id_piktur']; $_SESSION['id_piktur']=$id_piktur; 

    echo $row_rsKomente ["text"]. "" < br / > ';? >

    <? PHP}? >

    < /p >

    my entire code is shown below if you don't think that this code is enough to solve the problem thanks in advance gallery.php

    Gallery.php

    <? php require_once('Connections/art.php');? >

    <? PHP session_start()? >

    <? PHP

    If (! function_exists ("GetSQLValueString")) {//this is a code that I've not shown here because it has nothing to do with the problem I want to solve}

    If ((isset($_POST["MM_insert"])) & & ($_POST ["MM_insert"] == "form1") & & (isset($_SESSION['id_piktur']))) {}

    $insertSQL = sprintf ("INSERT INTO komente (text, id_piktur) VALUES (% s,'". $_SESSION ['id_piktur']. "')", GetSQLValueString ($_POST ['text'], "text") ");

    @mysql_select_db ($database_art, $art);

    $Result1 = mysql_query ($insertSQL, $art) or die (mysql_error ());

    }

    $maxRows_rsGallery = 1;

    $pageNum_rsGallery = 0;

    If (isset($_GET['pageNum_rsGallery'])) {}

    $pageNum_rsGallery = $_GET ['pageNum_rsGallery'];

    }

    $startRow_rsGallery = $pageNum_rsGallery * $maxRows_rsGallery;

    @mysql_select_db ($database_art, $art);

    $query_rsGallery = "SELECT Pershkrim, Piktur_url, Rankim, id_piktur FROM piktur";

    $query_limit_rsGallery = sprintf ("%s LIMIT %d, %d", $query_rsGallery, $startRow_rsGallery, $maxRows_rsGallery);

    $rsGallery = mysql_query ($query_limit_rsGallery, $art) or die (mysql_error ());

    $row_rsGallery = mysql_fetch_assoc ($rsGallery);

    If (isset($_GET['totalRows_rsGallery'])) {}

    $totalRows_rsGallery = $_GET ['totalRows_rsGallery'];

    } else {}

    $all_rsGallery = mysql_query ($query_rsGallery);

    $totalRows_rsGallery = mysql_num_rows ($all_rsGallery);

    }

    $totalPages_rsGallery = ceil($totalRows_rsGallery/$maxRows_rsGallery)-1;

     $maxRows_rsKomente = 10; $pageNum_rsKomente = 0; if (isset($_GET['pageNum_rsKomente'])) {   $pageNum_rsKomente = $_GET['pageNum_rsKomente']; } $startRow_rsKomente = $pageNum_rsKomente * $maxRows_rsKomente; 
    mysql_select_db($database_art, $art); $query_rsKomente = "SELECT Tekst,id_piktur FROM komente"; $query_limit_rsKomente = sprintf("%s LIMIT %d, %d", $query_rsKomente, $startRow_rsKomente, $maxRows_rsKomente); $rsKomente = mysql_query($query_limit_rsKomente, $art) or die(mysql_error()); $row_rsKomente = mysql_fetch_assoc($rsKomente);   if (isset($_GET['totalRows_rsKomente'])) {   $totalRows_rsKomente = $_GET['totalRows_rsKomente']; } else {   $all_rsKomente = mysql_query($query_rsKomente);   $totalRows_rsKomente = mysql_num_rows($all_rsKomente); } $totalPages_rsKomente = ceil($totalRows_rsKomente/$maxRows_rsKomente)-1; 

    $queryString_rsGallery = "";

    If (! empty($_SERVER['QUERY_STRING'])) {}

    $params = explode ("&", $_SERVER ['QUERY_STRING']);

    $newParams = array();

    {foreach ($params as $param)

    If (stristr ($param, "pageNum_rsGallery") == false & &)

    stristr ($param, "totalRows_rsGallery") == false) {}

    return ($newParams, $param);

    }

    }

    If (count ($newParams)! = 0) {}

    $queryString_rsGallery = '& '. htmlentities (implode ("&", $newParams));

    }

    }

    $queryString_rsGallery = sprintf ("& totalRows_rsGallery = %d %s", $totalRows_rsGallery, $queryString_rsGallery);

    $queryString_rsKomente = "";

    If (! empty($_SERVER['QUERY_STRING'])) {}

    $params = explode ("&", $_SERVER ['QUERY_STRING']);

    $newParams = array();

    {foreach ($params as $param)

    If (stristr ($param, "pageNum_rsKomente") == false & &)

    stristr ($param, "totalRows_rsKomente") == false) {}

    return ($newParams, $param);

    }

    }

    If (count ($newParams)! = 0) {}

    $queryString_rsKomente = '& '. htmlentities (implode ("&", $newParams));

    }

    }

    $queryString_rsKomente = sprintf ("& totalRows_rsKomente = %d %s", $totalRows_rsKomente, $queryString_rsKomente);

    ? >

    <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional / / IN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > ""

    "< html xmlns ="http://www.w3.org/1999/xhtml">".

    < head >

    < meta http-equiv = "Content-Type" content = text/html"; charset = utf-8 "/ >"

    < title > < /title > paintings

    < link href = "style_gallery.css" rel = "stylesheet" type = "text/css" / > "

    < / head >

    < body >

    < / div >

    < div id = "logo_wrapper" >

    <!-for the logo of the example, we used a font called "Burrow of ink", which is free on the sites of large fonts. ->

    < div id = "logo" > < img src = "_images/logo.png" width = "600" height = "79" align = "right" / > < / div > "

    < / div >

    < div id = "main_container" >

    < div id = "menu_container" >

    < div id = 'menu' >

    < ul id = "base_menu" >

    < li > < a href = "index.php" > home < /a > < /li >

    < li > < a href = "#" > on < /a > < /li >

    < li > < a href = "gallery.php" > Gallery < /a > < /li > ""

    < ul class = "sub_menu" >

    < li > < a href = "#" title = 'Charcoal' > coal < /a > < /li >

    < li > < a href = "#" title = "Oil paintings" > < /a > < /li > oil paintings

    < li > < a href = "#" title = "Sketches" > sketch < /a > < /li >

    < li > < a href = "#" title = "Our latest podcast" > Video Podcast < /a > < /li >

    < /ul >

    < li > < a href = "#" > Contact < /a > < /li >

    < li > < a href = "#" > events < /a > < /li >

    < li > < a href = "login.php" > Connect < /a > < /li >

    < /ul >

    < / div >

    < / div >

    < div id = "mainArticle" >

    Gallery of paintings of < h1 > < / h1 >

    < p > welcome! < /p >

    < p >

    <? PHP {? >}

       <?php   $id_piktur=$row_rsGallery['id_piktur']; $_SESSION['id_piktur']=$id_piktur;             echo $row_rsKomente['Tekst']."<br/>" ;                      ?>         <?php }  while ($row_rsKomente = mysql_fetch_assoc($rsKomente)); ?>  </p>

    < form id = "form1" name = "form1" method = "POST" action = "<?" PHP echo $editFormAction;? > ">"

    < p >

    < label for 'comment' = > comment: < / label >

    < /p >

    < p >

    < textarea = 'text' id = 'text' passes name = "45" lines = "5" > < / textarea >

    < /p >

    < input name = "comment" type = "submit" value = "Comment" / >

    < input type = "hidden" name = "MM_insert" value = "form1" / >

    < / make >

    < p > < / p >

    < p >

    < a href = "<?" PHP printf ("%s? pageNum_rsGallery = %d %s "(, $currentPage, 0, $queryString_rsGallery);?" > "> first < /a >"

    < a href = "<?" PHP printf ("%s? (pageNum_rsGallery = %d %s", $currentPage, max (0, $pageNum_rsGallery - 1), $queryString_rsGallery);? > "> back < /a >"

    < a href = "<?" PHP printf ("%s? (pageNum_rsGallery = %d %s", $currentPage, min ($totalPages_rsGallery, $pageNum_rsGallery + 1), $queryString_rsGallery);? > "> Next < /a >"

    < a href = "<?" PHP printf ("%s? pageNum_rsGallery = %d %s "(, $currentPage, $totalPages_rsGallery, $queryString_rsGallery);?" > "> last < /a >"

    <p class="galleryText"><img src="_images/<?php echo $row_rsGallery['Piktur_url']; ?>" alt="golden gate bridge" class="galleryImage" />    <?php do { ?>     <?php echo $row_rsGallery['Pershkrim']; ?>     <?php } while ($row_rsGallery = mysql_fetch_assoc($rsGallery)); ?> </p>

    < / div >

    < p > < / p >

    < / div >

    < / body >

    < / html >

    <? PHP

    mysql_free_result ($rsGallery);

    mysql_free_result ($rsKomente);

    ? >

    We have already discussed this. Your request for the komente does not contain a WHERE clause:

    >SELECT Tekst,id_piktur FROM komente

    You must include a WHERE clause so that the select statement returns only the lines of the current id_piktur.

  • When I click with the right button of the mouse on videos from facebook it shows no options for me to copy the link and etc.

    When I click with the right button of the mouse on videos from facebook it shows no options for me to copy the link and etc. It only shows the parameters for the flash player. How can I fix?

    You can find the URL of the thumbnail by following these steps:
    In the context menu, choose {inspect element}.
    Now, you can see the URL in the source down (perhaps you click the small arrow to the left of the line of seledted firstly to show).

  • I have a 2560p which shows driver missing for 'Base system device '.

    I have a 2560p which shows driver missing for 'Base system device '. Shows the location

    PCI Slot 2 (bus PCI 35, device 0, function 0).

    What is the device and where can I find the driver? Thank you

    Excellent thanks a lot!

  • Can't get on to the website of Irish supporters League that it closed for maintenance three days ago while my friends are on the websight it shows still closed for someone could please

    Can't get on to the Irish League supporters websight that it closed for mainenance three days ago while my friends are on the websight it shows always closed for me could someone please help

    Hi colinsewell,

    1. what browser do you use?

    2 are you able to access other Web sites correctly?

    If you use Internet Explorer, you can follow these methods & check if it helps.


    Method 1

    You can follow this link and check if it helps.

    Some sites Web may not behave as expected in Internet Explorer


    Method 2

    You can also add the Web site to the trusted sites in Internet Explorer and check to see if you are able to access properly.

    For more information, refer to this link: How to use areas of security in Internet Explorer

    Hope the helps of information.
    Please post back and we do know.

  • This show is phishing for data.

    This show is phishing for data...

    Hi Charles,

    Phishing (pronounced "fishing") is a type of online identity theft. It uses the e-mail and fraudulent Web sites designed to steal your personal data or information such as credit card numbers, passwords, data, account or other information.

    I suggest you try the steps from the following link:

    Scams by e-mail or web: how to protect yourself (this to do if you think you were scammed)
    http://www.Microsoft.com/security/online-privacy/phishing-scams.aspx

    Come back and let us know the State of the question, I'll be happy to help you. We, at tender Microsoft to excellence.

  • To select a series of comments for deletion

    I can't select a series of comments (using Shift) that spans multiple pages. If I try, the first comment I click on is not when I click + shift on the end comment. I am trying to remove the comments on the 170 first of all pages of a 600 pages, PDF format. I am using Acrobat Reader DC. Any help appreciated.

    Hi Jordan,

    Please use "Ctrl + click" to select the comments for more than one page.

    If you still experience the problem, please share the version Acrobat Reader DC and OS dot on your system.

    Kind regards

    Meenakshi

  • Why my CS6 apps show the need for an update?

    For some reason, in my drop down list creative cloud, my Adobe Photoshop CS6 and my Dreamweaver CS6 show that they must be updated.  I went through and got the error "U44M1P7" and found different solutions.  When I arrived at the Solution #2, I went to try to install the updates manually.  Out of curiosity, I made a command-I on the two applications to see what version I already had - and they are the same version as the last update.  So, in simple terms, the creative cloud app shows the need for an update, but according to the 'latest news', the last update is already installed.  Can someone tell me what could be the problem?  Thanks in advance - Scott

    Hi,

    Please, try the following steps:

    Kind regards

    Sheena

  • How to generate the array Diagnostic Utility ADU for Esxi server

    How to run Diagnostic Utility ADU or HP Insight Diagnostics HP Insight Diagnostics table to collect the status tables and logs data FRO an Esxi Server

    How to generate the array Diagnostic Utility ADU for Esxi server

    Example:

    Download the package .vib here: http://vibsdepot.hp.com/hpq/feb2013/esxi-5x-vibs/hpacucli/hpacucli-9.40-12.0.vib

    and place it on a store of data seen by the host...

    Install it using the CLI:

    software esxcli vib install d vmfs/volumes //hpacucli-9.40-12.0.vib

    Now run it:

    ~ # cd/opt/hp/hpacucli/bin

    / opt/HP/hpacucli/bin # . / hpacucli

    HP Array Configuration Utility CLI 9.40.12.0

    Detection of controllers... Fact.

    Type 'help' for a list of supported commands.

    Type "exit" to close the console.

    => ctrl all diag file=/tmp/my_ADUreport.zip ris = on = on zip xml = on

    Generation of diagnostic report... done

    -Online output

    / opt/HP/hpacucli/bin #.

    my_ADUreport.zip in / tmp can now be downloaded from the host...

    It could be that useful...

    / Rubeck

  • Hi, I installed Lightroom and Photoshop, but the application does not launch when I try to start it. It shows 'OPEN' in the desktop menu. It doesn't show anything (busy for a few seconds) if I try to run it from the windows menu. Is there something else t

    That's what I see (blelow), but it shows on busy for a few seconds and no application is started:

    Clipboard01.jpg

    Hi bennievivier,

    • Not really necessary, can you please check your task manager, if somehow PS running in the background, also please try to put an end to all the process Adobe running in the background and then open PS and LR both and see if they launch.
    • Also, be sure that your Windows operating system is up-to-date.
    • If it still doesn't work then please try provide full permissions on all folders of adobe.

    Concerning

    Rohit

  • Output report shows different characters for English letters

    Hello

    The output of the PDF report shows different characters for English letters for alrl concurrent reports

    Could you please put the content of the.env custom file under directory $APPL_TOP?

    Thank you
    Hussein

  • How to get a magic number for any table that returns more than 32 k?

    I'm in a unique situation where in I try to extract the values of the multiple tables and to publish as XML output. The problem is based on the condition of a few tables can retrieve more than 32 KB and less than 32 KB of data. Less than 32KB is not a problem, as the generation of XML is smooth. The minute he reached more than 32 k, it generates a runtime error. I was wondering if there is a way to make sure that the minute results of the query is greater than 32 KB, it must break say - if results is 35KO, so should I break this result 32 KB and 3 KB. Once then pass these data to appear as XML output. Again, it is not just for a table, but all the tables which are called in the function.

    Is it possible? I'm unable to get ideas, or did I do something so complex from the point of view of production support. If you'd be grateful if someone can guide me on this.

    The way it is, is the following:
    I have a table named ctn_pub_cntl


    CREATE TABLE CTNAPP.ctn_pub_cntl 
    (ctn_pub_cntl_id          NUMBER(18)
    ,table_name                  VARCHAR2(50)
    ,last_pub_tms              DATE
    ,queue_name               VARCHAR2(50)
    ,dest_system              VARCHAR2(50)
    ,frequency                  NUMBER(6)
    ,status                      VARCHAR2(8)
    ,record_create_tms          DATE
    ,create_user_id                VARCHAR2(8)
    ,record_update_tms          DATE
    ,update_user_id             VARCHAR2(8)
    ,CONSTRAINT ctn_pub_cntl_id_pk PRIMARY KEY(ctn_pub_cntl_id)
    );
    
    

    To do this, the data are:


    INSERT INTO CTNAPP.ctn_pub_cntl
    (ctn_pub_cntl_id    
     ,table_name         
     ,last_pub_tms  
    ,queue_name  
     ,dest_system        
     ,frequency          
    )
    VALUES
    (CTNAPP_SQNC.nextval
    ,'TRKFCG_SBDVSN'
    ,TO_DATE('10/2/2004 10:17:44PM','MM/DD/YYYY HH12:MI:SSPM')
    ,'UT.TSD.TSZ601.UNP'
    ,'SAP'
    ,15
    );
    
    INSERT INTO CTNAPP.ctn_pub_cntl
    (ctn_pub_cntl_id    
     ,table_name         
     ,last_pub_tms  
     ,queue_name  
     ,dest_system        
     ,frequency          
    )
    VALUES
    (CTNAPP_SQNC.nextval
    ,'TRKFCG_TRACK_SGMNT_DN'
    ,TO_DATE('02/06/2015 9:50:00AM','MM/DD/YYYY HH12:MI:SSPM')
    ,'UT.TSD.WRKORD.UNP'
    ,'SAP'
    ,30
    );
    
    INSERT INTO CTNAPP.ctn_pub_cntl
    (ctn_pub_cntl_id    
     ,table_name         
     ,last_pub_tms  
    ,queue_name  
     ,dest_system        
     ,frequency          
    )
    VALUES
    (CTNAPP_SQNC.nextval
    ,'TRKFCG_FXPLA_TRACK_LCTN_DN'
    ,TO_DATE('10/2/2004 10:17:44PM','MM/DD/YYYY HH12:MI:SSPM')
    ,'UT.TSD.YRDPLN.INPUT'
    ,'SAP'
    ,30
    ); 
    
    INSERT INTO CTNAPP.ctn_pub_cntl
    (ctn_pub_cntl_id    
     ,table_name         
     ,last_pub_tms  
    ,queue_name  
     ,dest_system        
     ,frequency          
    )
    VALUES
    (CTNAPP_SQNC.nextval
    ,'TRKFCG_FXPLA_TRACK_LCTN2_DN'
    ,TO_DATE('02/06/2015 9:50:00AM','MM/DD/YYYY HH12:MI:SSPM')
    ,'UT.TSD.TSZ601.UNP'
    ,'SAP'
    ,120
    );
    
    INSERT INTO CTNAPP.ctn_pub_cntl
    (ctn_pub_cntl_id    
     ,table_name         
     ,last_pub_tms 
    ,queue_name  
     ,dest_system        
     ,frequency          
    )
    VALUES
    (CTNAPP_SQNC.nextval
    ,'TRKFCG_FXPLA_TRACK_LCTN2_DN'
    ,TO_DATE('04/23/2015 11:50:00PM','MM/DD/YYYY HH12:MI:SSPM')
    ,'UT.TSD.YRDPLN.INPUT'
    ,'SAP'
    ,10
    );
    
    INSERT INTO CTNAPP.ctn_pub_cntl
    (ctn_pub_cntl_id    
     ,table_name         
     ,last_pub_tms 
    ,queue_name  
     ,dest_system        
     ,frequency          
    )
    VALUES
    (CTNAPP_SQNC.nextval
    ,'TRKFCG_FIXED_PLANT_ASSET'
    ,TO_DATE('04/23/2015 11:50:00AM','MM/DD/YYYY HH12:MI:SSPM')
    ,'UT.TSD.WRKORD.UNP'
    ,'SAP'
    ,10
    );
    
    INSERT INTO CTNAPP.ctn_pub_cntl
    (ctn_pub_cntl_id    
     ,table_name         
     ,last_pub_tms 
    ,queue_name  
     ,dest_system        
     ,frequency          
    )
    VALUES
    (CTNAPP_SQNC.nextval
    ,'TRKFCG_OPRLMT'
    ,TO_DATE('03/26/2015 7:50:00AM','MM/DD/YYYY HH12:MI:SSPM')
    ,'UT.TSD.WRKORD.UNP'
    ,'SAP'
    ,30
    );
    
    INSERT INTO CTNAPP.ctn_pub_cntl
    (ctn_pub_cntl_id    
     ,table_name         
     ,last_pub_tms
    ,queue_name  
     ,dest_system        
     ,frequency          
    )
    VALUES
    (CTNAPP_SQNC.nextval
    ,'TRKFCG_OPRLMT_SGMNT_DN'
    ,TO_DATE('03/28/2015 12:50:00AM','MM/DD/YYYY HH12:MI:SSPM')
    ,'UT.TSD.WRKORD.UNP'
    ,'SAP'
    ,30
    );
    
    /
    
    COMMIT;
    
    

    Once the above data are inserted and committed, then I created a feature in a package:


    CREATE OR REPLACE PACKAGE CTNAPP.CTN_PUB_CNTL_EXTRACT_PUBLISH
    IS
    
    TYPE tNameTyp IS TABLE OF ctn_pub_cntl.table_name%TYPE INDEX BY BINARY_INTEGER;
    g_tName tNameTyp;
    
    TYPE tClobTyp IS TABLE OF CLOB INDEX BY BINARY_INTEGER;
    g_tClob tClobTyp;
    
    
    FUNCTION GetCtnData(p_nInCtnPubCntlID IN CTN_PUB_CNTL.ctn_pub_cntl_id%TYPE,p_count OUT NUMBER ) RETURN tClobTyp;
    
    
    END CTNAPP.CTN_PUB_CNTL_EXTRACT_PUBLISH;
    
    
    --Package body
    
    CREATE OR REPLACE PACKAGE BODY CTNAPP.CTN_PUB_CNTL_EXTRACT_PUBLISH
    IS
    
         doc           xmldom.DOMDocument;
         main_node     xmldom.DOMNode;
         root_node     xmldom.DOMNode;
         root_elmt     xmldom.DOMElement;
         child_node    xmldom.DOMNode;
         child_elmt    xmldom.DOMElement;
         leaf_node     xmldom.DOMNode;
         elmt_value    xmldom.DOMText;
         tbl_node      xmldom.DOMNode;
         table_data    XMLDOM.DOMDOCUMENTFRAGMENT;
      
         l_ctx         DBMS_XMLGEN.CTXHANDLE;
         vStrSqlQuery  VARCHAR2(32767);
         l_clob        tClobTyp;
         --
         l_xmltype     XMLTYPE;
         --
    --Local Procedure to build XML header     
    PROCEDURE BuildCPRHeader IS
    
      BEGIN
        child_elmt := xmldom.createElement(doc, 'PUBLISH_HEADER');
        child_node  := xmldom.appendChild (root_node, xmldom.makeNode (child_elmt));
    
        child_elmt := xmldom.createElement (doc, 'SOURCE_APLCTN_ID');
        elmt_value := xmldom.createTextNode (doc, 'CTN');
        leaf_node  := xmldom.appendChild (child_node, xmldom.makeNode (child_elmt));
        leaf_node  := xmldom.appendChild (leaf_node, xmldom.makeNode (elmt_value));
        
        child_elmt := xmldom.createElement (doc, 'SOURCE_PRGRM_ID');
        elmt_value := xmldom.createTextNode (doc, 'VALUE');
        leaf_node  := xmldom.appendChild (child_node, xmldom.makeNode (child_elmt));
        leaf_node  := xmldom.appendChild (leaf_node, xmldom.makeNode (elmt_value));
    
        child_elmt := xmldom.createElement (doc, 'SOURCE_CMPNT_ID');
        elmt_value := xmldom.createTextNode (doc, 'VALUE');
        leaf_node  := xmldom.appendChild (child_node, xmldom.makeNode (child_elmt));
        leaf_node  := xmldom.appendChild (leaf_node, xmldom.makeNode (elmt_value));
    
        child_elmt := xmldom.createElement (doc, 'PUBLISH_TMS');
        elmt_value := xmldom.createTextNode (doc, TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS'));
        leaf_node  := xmldom.appendChild (child_node, xmldom.makeNode (child_elmt));
        leaf_node  := xmldom.appendChild (leaf_node, xmldom.makeNode (elmt_value));
        
    END BuildCPRHeader;
    
    --Get table data based on table name
    FUNCTION GetCtnData(p_nInCtnPubCntlID IN CTN_PUB_CNTL.ctn_pub_cntl_id%TYPE,p_Count OUT NUMBER) RETURN tClobTyp IS
        
        vTblName      ctn_pub_cntl.table_name%TYPE;
        vLastPubTms   ctn_pub_cntl.last_pub_tms%TYPE;
         
    BEGIN
                g_vProcedureName:='GetCtnData';    
                g_vTableName:='CTN_PUB_CNTL';
                
            SELECT table_name,last_pub_tms
            INTO   vTblName, vLastPubTms
            FROM   CTN_PUB_CNTL
            WHERE  ctn_pub_cntl_id=p_nInCtnPubCntlID;
        
        -- Start the XML Message generation
            doc := xmldom.newDOMDocument;
            main_node := xmldom.makeNode(doc);
            root_elmt := xmldom.createElement(doc, 'PUBLISH');
            root_node := xmldom.appendChild(main_node, xmldom.makeNode(root_elmt));
            
          --Append Table Data as Publish Header
            BuildCPRHeader;
            
          --Append Table Data as Publish Body
          
           child_elmt := xmldom.createElement(doc, 'PUBLISH_BODY');
           leaf_node  := xmldom.appendChild (root_node, xmldom.makeNode(child_elmt)); 
           
           DBMS_SESSION.SET_NLS('NLS_DATE_FORMAT','''YYYY:MM:DD HH24:MI:SS''');
           
           vStrSqlQuery := 'SELECT * FROM ' || vTblName 
                          || ' WHERE record_update_tms <= TO_DATE(''' || TO_CHAR(vLastPubTms, 'MM/DD/YYYY HH24:MI:SS') || ''', ''MM/DD/YYYY HH24:MI:SS'') ' ;
                        --  ||  ' AND rownum < 16'
                          --;
          DBMS_OUTPUT.PUT_LINE(vStrSqlQuery);
           
           l_ctx  := DBMS_XMLGEN.NEWCONTEXT(vStrSqlQuery);
          DBMS_XMLGEN.SETNULLHANDLING(l_ctx, 0);
          DBMS_XMLGEN.SETROWSETTAG(l_ctx, vTblName); 
           
          -- Append Table Data as XML Fragment
          l_clob(1):=DBMS_XMLGEN.GETXML(l_ctx);  
          elmt_value := xmldom.createTextNode (doc, l_clob(1)); 
         leaf_node  := xmldom.appendChild (leaf_node, xmldom.makeNode (elmt_value)); 
         
         xmldom.writeToBuffer (doc, l_clob(1));
         l_clob(1):=REPLACE(l_clob(1),'&lt;?xml version=&quot;1.0&quot;?&gt;', NULL);
         l_clob(1):=REPLACE(l_clob(1),'&lt;', '<');
         l_clob(1):=REPLACE(l_clob(1),'&gt;', '>');
         
         RETURN l_clob;
         
         DBMS_OUTPUT.put_line('Answer is' ||l_clob(1));
         
         EXCEPTION
            
            WHEN NO_DATA_FOUND THEN
            
            DBMS_OUTPUT.put_line('There is no data with' || SQLERRM);
            g_vProcedureName:='GetCtnData';
            g_vTableName:='CTN_PUB_CNTL';
            g_vErrorMessage:=SQLERRM|| g_vErrorMessage;
            g_nSqlCd:=SQLCODE;
            ctn_log_error('ERROR',g_vErrorMessage,'SELECT',g_nSqlCd,p_nInCtnPubCntlID,g_vPackageName,g_vProcedureName,g_vTableName);
            
            
            WHEN OTHERS THEN
           
           DBMS_OUTPUT.PUT_LINE('ERROR : ' || SQLERRM);
           ctn_log_error('ERROR',g_vErrorMessage,'OTHERS',g_nSqlCd,p_nInCtnPubCntlID,g_vPackageName,g_vProcedureName,g_vTableName);
           
    END GetCtnData;
    
    
    PROCEDURE printClob (result IN OUT NOCOPY CLOB) IS
        xmlstr   VARCHAR2 (32767);
        line     VARCHAR2 (2000);
    BEGIN
        xmlstr := DBMS_LOB.SUBSTR (result, 32767);
    
        LOOP
           EXIT WHEN xmlstr IS NULL;
           line := SUBSTR (xmlstr, 1, INSTR (xmlstr, CHR (10)) - 1);
           DBMS_OUTPUT.put_line (line);
           xmlstr := SUBSTR (xmlstr, INSTR (xmlstr, CHR (10)) + 1);
        END LOOP;
    END printClob;
    
    END CTN_PUB_CNTL_EXTRACT_PUBLISH;
    
     
    

    If you notice my query:


    vStrSqlQuery := 'SELECT * FROM ' || vTblName 
                          || ' WHERE record_update_tms <= TO_DATE(''' || TO_CHAR(vLastPubTms, 'MM/DD/YYYY HH24:MI:SS') || ''', ''MM/DD/YYYY HH24:MI:SS'') ' ;
                         ||  ' AND rownum < 16'
                        ;
    

    The minute I comment

    ||  ' AND rownum < 16' ;


    It generates an error because this query returns about 600 lines and all these lines must be published in XML format and the tragedy, is that it is a C program between institutions i.e. C calls my functions of packged and then will do all the processing. This will return the results to the C program. Then obviously C does not recognize the CLOB and somewhere in the process, I convert to VARCHAR or CLOB CLOB, I have to use VARCHAR as a return type. That's my challenge.


    Someone who can help me find the number required of magic and also a brief knows how, I understand that. Thanks in advance.

    Not that I would use it myself but your package can be simplified down, like this:

    create or replace package ctn_pub_cntl_extract_publish is
    
      C_DTFORMAT  constant varchar2(30) := 'YYYY-MM-DD HH24:MI:SS';
    
      function getXMLData (p_table_name in varchar2, p_pub_tms in date) return xmltype;
      function getCTNData (p_id in number) return clob;
    
    end ctn_pub_cntl_extract_publish;
    /
    
    create or replace package body ctn_pub_cntl_extract_publish is
    
      function getXMLData (p_table_name in varchar2, p_pub_tms in date)
      return xmltype
      is
    
        v_query  varchar2(32767) :=
                 q'{select * from $$TABLE_NAME where record_update_tms <= to_date(:1, 'YYYYMMDDHH24MISS')}';
    
        ctx      dbms_xmlgen.ctxHandle;
        doc      xmltype;
    
      begin
    
        execute immediate 'alter session set nls_date_format = "'||C_DTFORMAT||'"';
        v_query := replace(v_query, '$$TABLE_NAME', dbms_assert.simple_sql_name(p_table_name)); 
    
        ctx := dbms_xmlgen.newContext(v_query);
        dbms_xmlgen.setBindValue(ctx, '1', to_char(p_pub_tms, 'YYYYMMDDHH24MISS'));
        dbms_xmlgen.setRowSetTag(ctx, p_table_name);
        dbms_xmlgen.setNullHandling(ctx, dbms_xmlgen.DROP_NULLS);
        doc := dbms_xmlgen.getXMLType(ctx);
        dbms_xmlgen.closeContext(ctx);
    
        return doc; 
    
      end;
    
      function getCTNData (p_id in number)
      return clob
      is
    
        doc  clob;
    
      begin
    
        select xmlserialize(document
                 xmlelement("PUBLISH"
                 , xmlelement("PUBLISH_HEADER"
                   , xmlforest(
                       'CNT' as "SOURCE_APLCTN_ID"
                     , 'VALUE' as "SOURCE_PRGRM_ID"
                     , 'VALUE' as "SOURCE_CMPNT_ID"
                     , to_char(sysdate, C_DTFORMAT) as "PUBLISH_TMS"
                     )
                   )
                 , xmlelement("PUBLISH_BODY"
                   , getXMLData(t.table_name, t.last_pub_tms)
                   )
                 )
               )
        into doc
        from ctn_pub_cntl t
        where t.ctn_pub_cntl_id = p_id;
    
        return doc;
    
      end;
    
    end ctn_pub_cntl_extract_publish;
    

    Function getXMLData() generates a canonical XML document out of the table that is passed as a parameter.

    Function built getCTNData() code XML "PUBLISH", the document using SQL/XML functions, the getXMLData() call in the process and returns the content serialized as a CLOB.

  • Showing and hiding of multiple tables with a drop-down list

    I'm doing a drop-down list so that users can select the number of tables that are shown/generated when they specify the tables how they need to complete (there is 1 table for each day of a multi = day, maximum of 5).

    I thought I would use a similar javascript than I used in another place on the form that has been applied to radio buttons to show or hide a specific table. When I applied that to the drop down and added more than lines that the scipt was ineffective, with some play that I managed to do the work, but now it seems thre is a question with which value is selected in the list. When a user selects a certain value, it shows the previous value (so when I chose 4 days, which has a hairy '3', the message box for the test proposed, I added told me I selected the value '2').

    I wonder if there is an easier way to do the function, what I'm doing, or if the drop down menu is the best solution? The maximum number of tables that can be filled is 5, then the drop down menu appears as a way ideal for resticting than for the person filling out the form.

    This is an example of writing, that I joined the drop-down list, as an action of "change." It is repeated 4 times for each value.

    Form1. Page2.DropDownList1::change - (JavaScript, client)

    If (this.value == '2') {}

    Form1. Page2.TableDay1.presence = "visible";

    Form1. Page2.TableDay2.presence = "visible";

    Form1. Page2.TableDay3.presence = 'hidden ';

    Form1. Page3.TableDay4.presence = 'hidden ';

    Form1. Page3.TableDay5.presence = 'hidden ';

    }

    else {}

    Form1. Page2.TableDay1.presence = 'hidden ';

    Form1. Page2.TableDay2.presence = 'hidden ';

    Form1. Page2.TableDay3.presence = 'hidden ';

    Form1. Page3.TableDay4.presence = 'hidden ';

    Form1. Page3.TableDay5.presence = 'hidden ';

    }

    If (this.value == '3') {}

    Form1. Page2.TableDay1.presence = "visible";

    Form1. Page2.TableDay2.presence = "visible";

    Form1. Page2.TableDay3.presence = "visible";

    Form1. Page3.TableDay4.presence = 'hidden ';

    Form1. Page3.TableDay5.presence = 'hidden ';

    }

    else {}

    Form1. Page2.TableDay1.presence = 'hidden ';

    Form1. Page2.TableDay2.presence = 'hidden ';

    Form1. Page2.TableDay3.presence = 'hidden ';

    Form1. Page3.TableDay4.presence = 'hidden ';

    Form1. Page3.TableDay5.presence = 'hidden ';

    }

    I looked at it and tried a few different things and my colleague who is much better than me with sciprting is also at a loss for now - he is unfamiliar with LiveCycle, unless I have so any help is appreciated. Thanks a lot once again as my last number (the script for radio buttons) has been resolved here. Thanks again.

    The question that you see with the value being off is due to the fact that you use the change event. The change event is triggered * before * the new value is assigned to the field. This event is commonly used for intercpet changes. If you wish to continue using the change event, you can get the new value with:

    xfa.event.newText;

    This, however, will get the text that is displayed instead of the value behind. No doubt, you can consult the nodes in the drop-down list to see what value, but I think you should just avoid all of this by adding your code to the layout event: each subform hideable... loan for example, for the first, in the case of TableDay2 layout_ready (as the day1 should never be hidden, as I understand it) put :

    This.Presence = (DropDownList1.rawValue > = 1)? "visible": "hidden";

    TableDay3 would be:

    This.Presence = (DropDownList1.rawValue > = 2)? "visible": "hidden";

    etc.

    Let me know if it helps.

    -Scott

Maybe you are looking for