How to generate a random number within a specified tolerance and control than tolerance.

I am trying to simulate data without using a data acquisition device using a random number generator and I want to be able to control the "range" the random number generated well.  On the front panel, the user can enter a nominal number, and the random number generator would generate numbers more or less disponibles.003 this number nominal.  The data would be delayed on a chart.  Someone knows how to do this?  Or if it is still possible?

Just for the sake of information, the random number is supposed to resemble thickness measures, that's why I want to simulate more and less disponibles.003 because the data might be thinner or thicker than the nominal value.

Thanks in advance!

Two ways of approaching the issue.  First of all, for even distribution, you can 'Roll the dice', which is the (0,1) random number function, multiply the result by 0.06 and then add Mean - 0.03 to center around average distribution.  If you simulate a real process, my initial guess would be that the results would follow a normal distribution.  In this case, you can use the VI of white noise Gaussian of the palette of generation of signals with a standard deviation of 0.015 if you wanted 0.03 to be the point of 2 sigma, then add average results.

Tags: NI Software

Similar Questions

  • Generate a random number with a decimal point

    I searched all over the internet and cannot find how to generate a random number that had a decimal.

    I'm trying to randomly generate numbers between 12.0 and 13.0.

    Here is my code... I know its bad because of Math.round and Math.random, but I can't seem to find something that deals with a decimal...

    addEventListener (Event.ENTER_FRAME, fl_EnterFrameHandler_1);

    function fl_EnterFrameHandler_1(event:Event):void
    {
    Volt.Text = Math.round (Math.random () * (1) + 12) m:System.NET.SocketAddress.ToString ();
    }

    Any suggestions?

    -Pat

    Try this,

    addEventListener(Event.ENTER_FRAME, fl_EnterFrameHandler_1);
    
    function fl_EnterFrameHandler_1(event:Event):void
    {
    
         var rndNum:Number = int(Math.random()*10)/10; // Generate random num with 1 decimal place
         var newVal:Number = newVal + 12;
         volt.text = newVal.toString();
    }
    

    If you want 2 decimal places then replace the 10 per 100.

  • How to build a VI that generates a random number between 1 and 80... Help!

    Generate a VI that generates a random number between 1 and 80

    Divide the random number by a number specified in the front panel.

    If the number of seizures is zero, the VI program should light a LED in the face to indicate a divide by zero error.

    Hai edwardty2009,

    Welcome to the forum.

    Thanks for the congratulations.

    Your problem is solved? If so can you please mark as solution what post help better to solve your problem.

    Thank you

    Mathan

  • generate a random number between 1 and 10

    Dear All;

    I have an insert... Select and in one of the columns, I would like to generate a random number from 1 to 10, how is this possible. Thank you.

    Select round (dbms_random.value (1,10)) double;

    http://download.Oracle.com/docs/CD/B28359_01/AppDev.111/b28419/d_random.htm#CDEJAHCB

  • Generate a random number

    I have this function to generate a random number

    RandNum = genRand();

    public function genRand (): int
    {
    Return (Math.Random ());
    }

    but he seemed to generate the number is 0

    any1 have more luck with this?

    Hey,.

    According to the range of numbers you're trying to get it, you must either change the type returned or modfiy before he returned. What happens is the number that you generate is probably something like 0.9393 (example) and his cutting the comma because you return a value type int value (no decimals).

    try to modify the function to do this:

    public function genRand():int
            {
                return(Math.random() * 10);
            }
    

    and you will get a number from 0 to 10. If you want a number from 0 to 100, you can use 100 instead of ten, and so on. This will give you back not decimal numbers. If you want decimal numbers simply change the type of data returned to the number instead. hope that helps. Good luck!

  • How to generate the random password policy password knowing resources

    Hello

    Any body tell me how to generate the random password policy password knowing the purpose of resource in OIM11g

    Kind regards
    Mireille Nayan

    Hi Pascal,.

    You can try the below code snippet:

    UserRepository your = new DBUserRepository();
    UserInfo user = your.getUserInfo (take);
                   
    ResourceRepository rrepo = new ResourceDBRepository();
    Resource = rrepo.findResource (resourceName);
              
    By PasswordPolicyAssignmentsRepository = new PasswordPolicyAssignmentsDBRepository();
    PasswordPolicyRepository ppr = new DBPasswordPolicyRepository();
    The list of passwordPolicyAssignments = par.getPasswordPolicyAssigments (resource);
    PasswordPolicy passwordPolicy;
                   
    PasswordPolicyAssignment passwordPolicyAssignment = passwordPolicyAssignments.get (0) (PasswordPolicyAssignment);
    If (isApplicable (passwordPolicyAssignment, {getMappedAttributes (userInfo.getAttributes ())})})
    passwordPolicy = ppr.find (passwordPolicyAssignment.getPasswordPolicyID ());
    }
    RPG RandomPasswordGeneratorImpl = new RandomPasswordGeneratorImpl();
    password = rpg.generatePassword (userInfo, passwordPolicy);

    Kind regards
    GYAN

  • How to generate a random integer between 1-5?

    If I use random how can I convert an integer?

    Alana says:
    What exactly does the I32?

    "Of I32' converts your floating-point to integer number, as you specified in your first post as a requirement.

    Here's a version that gives all 5 numbers with equal probabilities. Instead of explicitly convert I32, I use + 1 output configuration. Same difference.

  • Generating unique random number with a Boolean signal on an RT target

    Hello, this is my first time asking your question. I apologize if I post this question in the wrong Council.

    [What I'm trying to do]

    I am stable heating and cooling in an experimental space that I (with cRio9024).

    And I'm putting a different experimental condition in space based on the function 'random number '.

    'Different experimental conditions' sense different combinations of Tind, Twat_s and mdot (refer to the attached VI).

    For example, if I get the Boolean TRUE signal.

    I should have a set of [Tind, Twat_s, mdot] = [21,14,0.05], and IS this set of numbers until this Boolean signal goes to FALSE.

    And when the signal passes to the TRUE once again.

    I should have a different set of [Tind, Twat_s, mdot] = [24,16,0.15] for example.

    [I]

    Problem I am with my code is that,

    When the VI is running, the random number remains the same as the Boolean signal is set to TRUE.

    From what I tried so far for the last couple days, using 'the event structure' was the message more concerned that I found,

    However, LabView help tells me that "structure of the event" on the objectives of the RT do not support the events associated with the user interface such as the façade of VI or controls panels.

    I would therefore ask a quick help, since my knowledge of LabView is exhausted at this point.

    This is so the part where I want to generate random numbers, WHEN this structure case is TRUE.

    convert whole numbers, random numbers

    Use them as a table index,

    while I can choose conditions from radom to the given set of conditions.

    Once more, I want to do is,

    generate a SINGLE random number series when the structure above is TRUE.

    Hope I have developed quite clear.

    I'm appreciated for any kind of advice.

    Thank you!

    You just need to store the Boolean from the previous run. Then the logic would be (I'll call her Boolean previous B_prevand current boolean B):

    If B AND B_prev > don't generate new values

    otherwise if B > generate new values

    Edit: to store your Boolean value, you can use a feedback node, or a loop with N = 1 and a registry change.

  • How to sort a random number without using the command by

    Hello

    How must be sorted, 5 random number without the use of order by in PLSQL
    for example.
    amount of ID
    1 2
    2 9
    3 3
    4 5
    5 7

    Edited by: sake1 1-dec-2010 08:16

    I used Altavista and found an example, how is it?

    DECLARE
    
      /* there is no built array in oracle, you must declare
      your own */
      TYPE Numarray IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
    
      /* the array of numbers - using assoc array because I can start
      with zero like traditional arrays */
      Nums Numarray;
    
      n NUMBER := 0;
    
      Temp NUMBER;
    
    BEGIN
    
      /* load up the array, put 20 random values in the array,
      in array indicies 0 to 19 */
      FOR i IN 0 .. 19
    
       LOOP
        Nums(i) :=  Round(Dbms_Random.Value(1, 1000));
      END LOOP;
    
      /* get the array size */
      n :=  Nums.Count();
    
      /* display the unsorted values - loop through the whole array and
      print out the values */
      Dbms_Output.Put_Line('unsorted:');
      FOR i IN Nums.First .. Nums.Last LOOP
        Dbms_Output.Put_Line(Nums(i));
      END LOOP;
    
      /* bubble sort - using two loops, compare each value with the one
      after it
      if the one after the current one is smaller , then
    
      switch their locations in the array, this is just like standard
      bubble sorts
      in other languages. The only real diff is the syntax.
      */
    
      FOR i IN 0 .. n - 1 LOOP
        FOR j IN 0 .. n - (i + 1) - 1 LOOP
    
          IF (Nums(j) > Nums(j + 1)) THEN
            Temp := Nums(j);
            Nums(j) :=  Nums(j + 1);
            Nums(j + 1) :=  Temp;
          END IF;
    
        END LOOP;
      END LOOP;
    
      /* display the values sorted */
      Dbms_Output.Put_Line('sorted');
      FOR i IN Nums.First .. Nums.Last LOOP
        Dbms_Output.Put_Line(Chr(9) || Nums(i));
      END LOOP;
    END;
    /*
    unsorted:
    155
    909
    795
    977
    942
    214
    105
    269
    283
    820
    108
    594
    784
    921
    856
    736
    802
    457
    951
    411
    sorted
         105
         108
         155
         214
         269
         283
         411
         457
         594
         736
         784
         795
         802
         820
         856
         909
         921
         942
         951
         977
    
    */
    

    In the code the first comment is wrong in fact, I think, this one:
    "There is no table built in oracle, you must declare your own."
    I remember there are some types of collection of the system, if I not mix with something, I remember there was a sort of like they were undocumented, so we can say legally that the comment in the code has always been right.

  • generate a random number in a range of duplication no

    Good day people,

    I need help once again. I want to animate an image inside a movieclip with frame label animate1, animate2, animate3 and animate4.

    I managed to generate random numbers, but my concern is I want my animation not animate same image twice, here is my code.

    = main time line code =.

    function randRange(min:Number,_max:Number):Number {}
    Generate a number between and including min - max
    var randomNum:Number = Math.floor (Math.random () *(max-min)) + min;
    Return randomNum;
    }


    build table to hold the frame label names
    var frameArray:Array = new Array();
    frameArray [0] = "animate1";
    frameArray [1] = "animate2";
    frameArray [2] = "animate3";
    frameArray [3] = "animate4";

    Get created random number
    var n: Number = plageAleatoire (0, frameArray.length);


    trace ("n": + n);


    Stop Frame label name
    This.img_ani.gotoAndStop (frameArray [n]);


    trace ("frameArray:" + frameArray [n])

    = label code and frame inside a clip with 4 frames containing different pictures =.

    as layer: stop();

    image tag: animate1, animate2, animate3, animate4

    Any help is greatly appreciated. Thanks in advance.

    It is not a routine of brewing, integrated, but there is a pretty standard shuffle function that was happening around...

    var frameArray:Array = new Array();
    frameArray [0] = "animate1";
    frameArray [1] = "animate2";
    frameArray [2] = "animate3";
    frameArray [3] = "animate4";

    function shuffle (a) {}
    var p;
    var t;
    Ivar var;
    for (ivar =. Length-1; Ivar > = 0; Ivar-) {}
    p = Math.Floor ((Ivar+1) * Math.Random ());
    t = a [ivar];
    a [ivar] = a [p];
    a [p] = t;
    }
    }

    trace (frameArray);  See the property before shuffle

    Use:
    Shuffle (frameArray);

    trace (frameArray);  Show after shuffle

  • ideas on how to generate a random password in vCO

    I need to generate a random password in a workflow of vCO.

    I think calling a ssh on a host and run pwgen here but it seems to be a dirty way to do.

    Is there an easier way to generate stuff randomly in vCO?

    Thank you

    Cristian

    Hello Cristian,

    cause, you can use javascript in vCO, you can use something like this:

    http://StackOverflow.com/questions/1349404/generate-a-string-of-5-random-characters-in-JavaScript

    Kind regards

    Chris

  • 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.

  • How to generate the serial number for the lines of the form. PLEASE HELP GUYS

    I have a tabular presentation. in which I have a column named Serial_number. I want to change the line (by enter or click the mouse) shape is expected to generate automatically in the next serial number.

    Published by: Gul on March 9, 2012 16:09

    Dear Gul

    Create a trigger a TIMES-NEWS-RECORD-INSTANCE at the block level.
    &
    Write the code in the following trigger

    IF: SYSTEM. RECORD_STATUS = 'NEW' THEN
    *: + YOUR_BLOCK_NAME +. SERIAL_NUMBER: =: SYSTEM. CURSOR_RECORD; *
    END IF;

    Hope this can solve your problem.

  • How to choose a telephone number of the text box and of appeal?

    Hello everyone, I am building an app for iphone and android. I'm wondiring if I can get these two features working in my project:

    • When we click on the email address field and start typing the name it will address similar to the address book list in the phone.
    • If there is a phone number in the text box, we can click on it and make a call.

    Is there a way we can do it in flex application?

    1. you will probably need to look into writing a native extension for this: http://www.adobe.com/devnet/air/native-extensions-for-air.html

    2 see http://cookbooks.adobe.com/post_Open_the_Phone_Dialog___Flex_Mobile-19068.html

  • Canvas of generation of random number in the JavaScript link

    When I export my canvas animation it always generates a random number within the index file, as well as in the example of Javascript:

    CBC: images/Bitmap19.jpg? 1462231964024 «»

    < script src = "test.js? 1462321721905" > < / script >

    Anyone know why this is happening? I have the same version of fix in another computer and it never happened.

    Thank you.

    These numbers are added as a cache-buster for the local web server does not display old content when previewing a page.

Maybe you are looking for