User-defined function: BAD ARGUMENT TYPE, ERROR

I am creating a function defined by the user, named DOTAN, to calculate the angle between two vectors X and Y.  The UDF looks like this: DEFINE (' DOTHAN (X, Y) = ACOS (DOT (X, Y) / (ABS (X) * ABS (Y)))')--> (see pic attached to the actual Calculator display).  The problem is that I can not set because as soon as I hit ENTER I get the warning: DEFINE ERROR: wrong Type of Argument.  I tested each component separately and I am sure that the problem is with the help of DOT (X, Y) inside a UDF, but I don't know why. Maybe I'm missing some setting related to the use of functions which take an argument that is greater than 1 inside a UDF. Just guessing. Any idea?

Thank you

for some reason, the DOWRY is a commandment and not a function for the 50G.

You cannot use DOT in a function, you maybe wrote a program

in RPL

'--> x, y   '  x y DOT  XY ABS ABS * / ACOS   ' ""DOTHAN"STO

[3.0] [0.3] DOTAN
back 90 degrees

I never use the algebraic mode but I guess it's the same thing with a program...

Tags: HP Tablets

Similar Questions

  • Use of user defined function in mathscript containing a structure

    Hi, I am a novice user of LabView MathScript module,

    I have the following problem when integrating my code MATLAB, LabView, for HMM: in my program, I tried to call a MATLAB called "mixgaussinit.m" user-defined function, it shows this error...

    "

    I just noticed that these files appear to be copyrighted. My first question is do you have author permissions to post them in a public forum? If this isn't the case, then you can remove them. That being said, I have reviewed the code and it seems easy enough to work around your problems (provided that you have the copyright permissions). How to bypass the problems is to replace the fields of the struct with variables. There is of course allows you to change some definitions of functions for input and output the necessary variables which I think was the best 5 variables. You will also need to redo the code that uses a table of error checking cell. In total, I estimated about 30 minutes of work. I would have given you work around these files had not been protected by copyright. So, unfortunately, you will need to implement the work around you.

  • Variable with a value. «PURGE error: bad Argument Type.»

    
    

    Hi, my 50G calculator accuses a value for the variable 'X' but I can't find it in any directory, and when I try to delete I get the message "' PURGE error: bad Argument Type." " I also have the theta variable with the same problem. How can I remove the value of these variables? TKS

    In addition to Make suggestions, two other possibilities come to mind: 'X' can be a directory object (which would cause the error to the wrong Type of Argument because non-empty directory objects cannot be purged by PURGE, but must be purged by PGDIR), or it could be a local variable (which can only be served by putting an end to the environment that created which is usually a program).  So if Make suggestions don't work, try foster 'X' PGDIR and if that does not work, try KILL (which ends all the current environments).

    If those WHO do not work, please do 'X' TYPE HOME and tell us what object type 'X'.

    DISCLAIMER: I do not work for HP; I'm a happy user of HP Calculator.

  • User Defined functions in the Mapper

    I have user-defined functions that work in BPEL but I can't make them work in the Mapper. They appear when expected for jDeveloper but throw "function not found" errors

    Can someone look at my config files and see if the error comes out? Thank you bunches!

    BPEL file:

    " < soa-xpath-functions xmlns =" http://xmlns.Oracle.com/SOA/config/XPath "" "

    ' xmlns:f17 = ' http://ENTP.HUD.gov/customxpath/functions "" "

    version = "11.1.1.

    resourceBundle = "oracle.tip.tools.ide.common.resource.IDEMessageBundle"

    >

    < name of the function = "f17:editCaseNumber" >

    com.F17.CustomFunction.editCaseNumber < className > < / className >

    < return type = "tree" / >

    < params >

    < param name = "stringToFormat" type = "string" / >

    < param name = "order" type = "string" / >

    < / params >

    number of valid cases and formats < desc > < / desc >

    < detail >

    <! [CDATA [this is a custom function.] If you use it, you must include the

    Following namespace declaration in your BPEL file.

    < br / > < br / >

    ' xmlns:f17 = ' http://ENTP.HUD.gov/customxpath/functions "" "

    < br / > < br / >

    USE: f17:editCaseNumber(string,string) < br / >

    Channel 1 is the data < br / >

    Channel 2 is the command. Valid commands are: < br / >

    1 = number of control check and come back as nnnnnnnnnn < br / >

    2 = number of control check and come back as nnn-nnnnnnn < br / >

    3 = Append check digit and return under nnnnnnnnnn < br / >

    4 = Append check digit and return under nnn-nnnnnnn

    < br / > < br / >

    Returns XML document fragment: < br / >

    Import of f17userDefinedFusnctions.xsd space variable prototype. < br / >

    See documentation for more details.]] >

    < / details >

    < / feature >

    < name of the function = "f17:compressFile" >

    com.F17.CustomFunction.compressFile < className > < / className >

    < return type = "tree" / >

    < params >

    < param name = "stringToFormat" type = "string" / >

    < / params >

    < desc > compress long strings by DB storage < / desc >

    < detail >

    <! [CDATA [this is a custom function.] If you use it, you must include the

    Following namespace declaration in your BPEL file.

    < br / > < br / >

    ' xmlns:f17 = ' http://ENTP.HUD.gov/customxpath/functions "" "

    < br / > < br / >

    USE: f17:compresFile (string)

    < br / > < br / >

    Returns XML document fragment: < br / >

    See documentation for more details.]] >

    < / details >

    < / feature >

    < name of the function = "f17:sortList" >

    com.F17.CustomFunction.sortList < className > < / className >

    < return type = "tree" / >

    < params >

    < param name = "listIn" type = "string" / >

    < / params >

    lists of kinds of < desc > < / desc >

    < detail >

    <! [CDATA [this is a custom function.] If you use it, you must include the

    Following namespace declaration in your BPEL file.

    < br / > < br / >

    ' xmlns:f17 = ' http://ENTP.HUD.gov/customxpath/functions "" "

    < br / > < br / >

    USE: f17:sortList (String) < br / >

    Build the string as: & lt; list & gt; & lt; point & gt; [data] & lt; / point & gt;... & lt; / list & gt; < br / >

    Returns XML document fragment: < br / >

    Import of f17userDefinedFusnctions.xsd space variable prototype. < br / >

    See documentation for more details.]] >

    < / details >

    < / feature >

    < name of the function = "f17:replaceString" >

    com.F17.CustomFunction.replaceString < className > < / className >

    < return type = "string" / >

    < params >

    < param name = "StringToFix" type = "string" / >

    < param name = "RegX" type = "string" / >

    < param name = "replaceString" type = "string" / >

    < param name = "mode" type = "string" / >

    < / params >

    Sets < desc > replaceFirst and replaceAll functions java < / desc >

    < detail >

    <! [CDATA [this is a custom function.] If you use it, you must include the

    Following namespace declaration in your BPEL file.

    < br / > < br / >

    ' xmlns:f17 = ' http://ENTP.HUD.gov/customxpath/functions "" "

    < br / > < br / >

    USE: f17:replaceString(String,String,String,String) < br / >

    Chain change, regular expression, mode [optional] replace the string - 1 = all, 2 = first by default all the < br / >

    See documentation for more details.]] >

    < / details >

    < / feature >

    < / soa-xpath-functions >

    file Mapper:

    < soa-xpath-functions

    " xmlns =" http://xmlns.Oracle.com/SOA/config/XPath "" "

    ' xmlns:repl = ' http://www.Oracle.com/xsl/transform/Java/COM.F17.CustomFunction.replaceString "" "

    ' xmlns:comp = ' http://www.Oracle.com/xsl/transform/Java/COM.F17.CustomFunction.compressFile "" "

    version = "11.1.1.

    resourceBundle = "oracle.tip.tools.ide.common.resource.IDEMessageBundle"

    >

    < name of the function = ' model: compressFile ">

    com.F17.CustomFunction.compressFile < className > < / className >

    < return type = "tree" / >

    < params >

    < param name = "stringToFormat" type = "string" / >

    < / params >

    < desc > compress long strings by DB storage < / desc >

    < detail >

    <! [CDATA [this is a custom function.] If you use it, you must include the

    Following namespace declaration in your BPEL file.

    < br / > < br / >

    ' xmlns:f17 = ' http://ENTP.HUD.gov/customxpath/functions "" "

    < br / > < br / >

    USE: f17:compresFile (string)

    < br / > < br / >

    Returns XML document fragment: < br / >

    See documentation for more details.]] >

    < / details >

    < / feature >

    < name of the function = "repl:replaceString" >

    com.F17.CustomFunction.replaceString < className > < / className >

    < return type = "string" / >

    < params >

    < param name = "StringToFix" type = "string" / >

    < param name = "RegX" type = "string" / >

    < param name = "replaceString" type = "string" / >

    < param name = "mode" type = "string" / >

    < / params >

    Sets < desc > replaceFirst and replaceAll functions java < / desc >

    < detail >

    <! [CDATA [this is a custom function.] If you use it, you must include the

    Following namespace declaration in your BPEL file.

    < br / > < br / >

    ' xmlns:f17 = ' http://ENTP.HUD.gov/customxpath/functions "" "

    < br / > < br / >

    USE: f17:replaceString(String,String,String,String) < br / >

    Chain change, regular expression, mode [optional] replace the string - 1 = all, 2 = first by default all the < br / >

    See documentation for more details.]] >

    < / details >

    < / feature >

    < / soa-xpath-functions >

    None of the answers was * exactly * correct, but they gave me enough information to solve the problem.

    To implement what I have to code the functions a bit differently.

    • BPEL functions are all the IXpathFunction extension classes.
    • Mapper functions are not.
    • BPEL functions are each separate classes.
    • A single class with a method for each desired function mapper functions.
    • BPEL classes outcrop in the config file ext-bpel-xpath-functions-config. XML
    • The Mapper class is exposed in the config file ext-Mapper-xpath-functions - config.xml

    A BPEL class looks like:

    public class editCaseNumber implements IXPathFunction {
        public Object call(IXPathContext context, List args) throws XPathFunctionException {
           return docOut;
        }
    }
    

    A class to map looks like:

    public class mapperFunctions {
        public static String replaceString(String sIn,String sMat,String sRep,String mode){
            return finalString;
        }
        public static XMLDocumentFragment compressFile(String indoc){
            return docOut;
        }
    }
    

    (I deleted the code of these to avoid confusion.)


    My ext-Mapper-xpath-functions file - config.xml looks like:

    soa-xpath-functions
            xmlns="http://xmlns.oracle.com/soa/config/xpath"
            xmlns:map="http://www.oracle.com/XSL/Transform/java/com.f17.customfunction.mapperFunctions"
            version="11.1.1"
            resourceBundle="oracle.tip.tools.ide.common.resource.IDEMessageBundle"
            >
      
      com.f17.customfunction.mapperFunctions.compressFile
      
      
      
      
      Compresses large strings for DB storage
      
                    
    USE: map:compresFile(string)

    Returns XML document fragment containing HEX binary string:
    <compressedFile$gt;[outPut]</compressedFile> See documentation for details.]]>
    com.f17.customfunction.mapperFunctions.replaceString Exposes replaceFirst and replaceAll java functions
    USE: map:replaceString(String,String,String,String)
    String to edit,
    regular expression,
    replacement string mode
    1 = all
    2 = first occurance
    See documentation for details.]]>


  • How to create a user-defined function?

    is there a substitute for the exe instsrv and srvany in Vista?

    I don't know what means your post, so here's how to create a user-defined function:
    1) click Start
    (2) select "Control Panel".
    (3) select "system and maintenance".
    4) click on "Administrative Tools".
    5) click on "Task Scheduler."
    (6) click on "create task" (right in the list pane under) "Actions") "
    "(7) opened in the general tab it will choose if it only works when the account that is used to implement is connected, or ' if that user is logged in or not" (leave the box ' do not store the... "empty password)
    (8) always in the general tab, check the box 'run with highest privileges '. (This will ensure that no program can block)
    (9) type a name for the task (in the general tab)
    (10) to set the job to run an awhile, use the "triggers" tab, if you want to set a task runs after xx min. temps_inactivite, choose the 'conditions' tab, then choose the desired time.
    (12) click on the 'actions' tab click on 'new '. in the program/script line, search for and select the program you want to run, and then click Open.
    13) click OK in the window "create a task".
    14) click OK again and you are done.
    I hope this helps.

  • any user defined function in the rule set by the user

    Hello

    I wonder if I can use a function defined by the user in a rule set by the user in oracle sem... I've seen examples of user defined function the used in sparql query filter clause in this guide to dev... However, I don't know if I can define a function in oracle database SEM. and use it in the body rule or the head. For example, I want to define a function of the length that allow to calculate the difference between two dates.  So, I want to set a rule as follows: event1: d1 and event1 has_start_date: has_end_date d2 and duration (24, d1, d2) then event1:date_satisfiable 'yes '. Oracle supports this type of rule? Thank you very much.

    Hong

    Salvation Hong,

    User-defined in 12 c inference can be a good choice for your condition. Please see the following document.

    Defined by the user and querying inference

    Thank you

    Zhe Wu

  • Xquery functions using predefined in user defined functions

    Hi all

    I have a requirement to call a function defined by the user in the osb xquery file. That function, I use osb predefined string functions, but they do not work it displays the error message in the file of xquery. Can you please suggest how to use user-defined functions.

    Thank you
    Srinivas.
    xquery version "1.0" encoding "Cp1252";
    
    declare namespace xf = "http://tempuri.org/TransactieService/Xquery/test/";
    
    declare function xf:test($string1 as xs:string)
        as xs:string {
            xf:buildReferenceRange($string1)
    };
    
    declare function xf:buildReferenceRange($inRange as xs:string)
         as xs:string {
         let $filtered :=
              if (contains($inRange,"^"))
              then
                   "it's in"
              else
                   "it's not in"
    
         return $filtered
    }; 
    
    declare variable $string1 as xs:string external;
    
    xf:test($string1)
    

    It works for me

  • the user-defined function

    Hi, experts,
    I wrote a sql query to get the amount after calculation.

    SELECT A.FORM_NO, C.SKUCODE, B.QUANTITY * (
    CASE WHEN TO_NUMBER(TO_CHAR(A.START_DATE,'YYYY')) = 2008 AND TO_NUMBER(TO_CHAR(A.END_DATE,'YYYY')) = 2008 THEN 
    TO_NUMBER(TO_CHAR(A.END_DATE,'MM')) - TO_NUMBER(TO_CHAR(A.START_DATE,'MM'))  +1 
    WHEN TO_NUMBER(TO_CHAR(A.START_DATE,'YYYY')) = 2008 AND TO_NUMBER(TO_CHAR(A.END_DATE,'YYYY')) > 2008 THEN
    12- TO_NUMBER(TO_CHAR(A.START_DATE,'MM')) + 1
    WHEN TO_NUMBER(TO_CHAR(A.START_DATE,'YYYY')) < 2008 AND TO_NUMBER(TO_CHAR(A.END_DATE,'YYYY')) = 2008 THEN 
    TO_NUMBER(TO_CHAR(A.END_DATE,'MM'))
    WHEN TO_NUMBER(TO_CHAR(A.START_DATE,'YYYY')) < 2008 AND TO_NUMBER(TO_CHAR(A.END_DATE,'YYYY')) > 2008 THEN
    12 ELSE 0 END )/((TO_NUMBER(TO_CHAR(A.END_DATE,'YYYY')) - TO_NUMBER(TO_CHAR(A.START_DATE,'YYYY'))) *12 + TO_NUMBER(TO_CHAR(A.END_DATE,'MM')) - TO_NUMBER(TO_CHAR(A.START_DATE,'MM')) + 1 )
    
    AS QUAN
    FROM FORM_TBL A, QUANTITY_TBL B, SKU_TBL C
    WHERE A.FORMNO = B.FORMNO AND B.SKU = C.SKU;
    It runs correctly, and no error returned.


    I would change for a user-defined function.

    create or replace
    function get_quantity
            (pi_year number, pi_year_diff number, pi_form_no varchar2, pi_skucode varchar2)
            return number is
        po_quantity number;
    begin
        
        
        SELECT ( B.QUANTITY * (
        CASE WHEN TO_NUMBER(TO_CHAR(A.START_DATE,'YYYY')) = (pi_year + pi_year_diff) AND TO_NUMBER(TO_CHAR(A.END_DATE,'YYYY')) = (pi_year + pi_year_diff) THEN 
        TO_NUMBER(TO_CHAR(A.END_DATE,'MM')) - TO_NUMBER(TO_CHAR(A.START_DATE,'MM'))  +1 
        WHEN TO_NUMBER(TO_CHAR(A.START_DATE,'YYYY')) = (pi_year + pi_year_diff) AND TO_NUMBER(TO_CHAR(A.END_DATE,'YYYY')) > (pi_year + pi_year_diff) THEN
        12- TO_NUMBER(TO_CHAR(A.START_DATE,'MM')) + 1
        WHEN TO_NUMBER(TO_CHAR(A.START_DATE,'YYYY')) < (pi_year + pi_year_diff) AND TO_NUMBER(TO_CHAR(A.END_DATE,'YYYY')) = (pi_year + pi_year_diff) THEN 
        TO_NUMBER(TO_CHAR(A.END_DATE,'MM'))
        WHEN TO_NUMBER(TO_CHAR(A.START_DATE,'YYYY')) < (pi_year + pi_year_diff) AND TO_NUMBER(TO_CHAR(A.END_DATE,'YYYY')) > (pi_year + pi_year_diff) THEN
        12 ELSE 0 END )/((TO_NUMBER(TO_CHAR(A.END_DATE,'YYYY')) - TO_NUMBER(TO_CHAR(A.START_DATE,'YYYY'))) *12 + TO_NUMBER(TO_CHAR(A.END_DATE,'MM')) - TO_NUMBER(TO_CHAR(A.START_DATE,'MM')) + 1 ))
        
        into po_quantity
        FROM FORM_TBL A, QUANTITY_TBL B, SKU_TBL C
        WHERE A.FORMNO = B.FORMNO AND B.SKU = C.SKU
        and c.skucode = pi_skucode and a.form_no = pi_form_no;
    return po_quantity;
    end;
    BUT IT CANNOT BE COMPILIED.
    The error is a recursive sql error

    ORA-00604: an error has occurred at the SQL level 1 recursive

    I think that there is no syntax error.

    What is the reason?

    Thank you very much!

    What is your DB version. If you are using 11g then can be consider that

    http://www.DBA-Oracle.com/sf_ora_00604_error_occurred_and_recursive_sql_level_string.htm

  • User-defined function problem. Help!

    I can't get the user-defined function to work in Essbase, although it seems to be just registered. Could someone help me to have a look at java codes below? Greatly appreciated!

    public class {depreciation

    public static double Adeath (double r, int period, double LoanBalance) {}

    Calculate amortization payment
    Double LBound = LoanBalance/period;
    Double UBound = LoanBalance;
    Double MBound =(LBound+UBound)/2;
    Double err = 0;
    int i = 0;

    If (r < 0 |) Period < = 0 | LoanBalance < = 0) {}
    MBound = 0;
    }

    ElseIf (period == 1) {}
    MBound = LoanBalance *(1+r) ;}

    on the other

    {}
    Double MBalance is PVCalc (r, Period, MBound);.
    ERR = MBalance-LoanBalance;
    If (err > 0) {}
    UBound = MBound ;}
    If (err < = 0) {}
    LBound = MBound ;}
    MBound =(UBound+LBound)/2;
    i ++ ;
    }
    While (err > 0.001 | err <-0,001 & & I < = 100);

    return (MBound);
    }


    Define the present value
    public static double PVCalc (double rate, NPER, double PMT int) {}
    Double pvpmt = pmt;
    Double cpvpmt = 0;

    for (int j = NPM; j > 0; j-) {}
    for (int i = 1; i < = j; i ++) {}
    pvpmt = pvpmt /(1+rate/12);
    }
    cpvpmt = cpvpmt + pvpmt;
    pvpmt = pmt;
    }
    Return cpvpmt;
    }
    }


    Is there something to do with the double data type, int, double? Essbase spend 'int '?
    Help, please! Thank you very much!!

    Published by: user9132709 on March 2, 2010 12:47

    I just tried and it works.

    I also added

    System.out.Print (MBound);

    just before the return (MBound);

    in the Java class

    I created a calc script against Sample.Basic

    Fix("Florida","100-10","Actual","Apr")

    ('Sales'
    'Sales' = @Amort (0.06, 360, 10000000);
    )

    ENDFIX

    I run essbase in the foreground, so I see the exit of System.out.print (Mbound);
    Validated the script "59955.05251799688" was written in the output window, so the Java class works.
    I also ran the calc script and the value was written in 'Sales' (the block already existed for the POV before anyone says that my script would not work)

    I registered the CDF of Java with.
    create or replace function '@AMORT' as
    "Amortization.Amort (double, int, double).

    You must ensure that you see something like the following in the application log or output in the command window.

    External function of [GLOBAL] [@AMORT] saved OK

    See you soon

    John
    http://John-Goodwin.blogspot.com/

  • Help! User-defined function problem.

    Need help on using custom function defined in Essbase. Thanks in advance!

    I have not found a function of depreciation in Essbase, so thought I might create one in Java and save it as a user defined function. However, I can't get this to work.

    Here's what I did:
    1. I created a java class called depreciation.

    public class {depreciation

    public double Adeath (double r, int period, double LoanBalance) {}
    Double LBound = LoanBalance/period;
    Double UBound = LoanBalance;
    Double MBound =(LBound+UBound)/2;
    Double err = 0;
    int i = 0;

    Calculate amortization payment
    {}
    Double MBalance is PVCalc (r, Period, MBound);.
    ERR = MBalance-LoanBalance;
    If (err > 0) {}
    UBound = MBound ;}
    If (err < = 0) {}
    LBound = MBound ;}
    MBound =(UBound+LBound)/2;
    i ++ ;
    }
    While (err > 0.001 | err <-0,001 & & I < = 100);

    return (MBound);
    }


    define the present value
    public static double PVCalc (double rate, NPER, double PMT int) {}
    Double pvpmt = pmt;
    Double cpvpmt = 0;

    for (int j = NPM; j > 0; j-) {}
    for (int i = 1; i < = j; i ++) {}
    pvpmt = pvpmt /(1+rate/12);
    }
    cpvpmt = cpvpmt + pvpmt;
    pvpmt = pmt;
    }
    Return cpvpmt;
    }
    }

    2. copy the .jar to 'C:\Hyperion\AnalysticServices\java\udf '.
    3. has created a new MaxL file and run the script that runs:

    create or replace function '@Amortize' as
    'Amortization.Amort '.
    Spec "@Amortize (spleen, period, balance)"

    It shows: statement executed successfully.

    4 then I tried to test in the following statement:

    If (@isuda ("Time", "Test Date"))
    "Depreciation Payment"=@Amortize (0.06, 360, 10000000);
    endif;

    And I got an error message as below:
    Error compiling formula [amortization payment] (line 2): [)] without [()]

    Could someone help me with this issue? 1 million thanks!

    The udf.policy file is located in the hyperion\products\essbase\essbaseserver\java directory and put the security on the java interface with Essbase points if there is a dev environment you can open the file with Notepad and go to the bottom of it. You will find a line
    permission java.security.AllPermission;

    remove the / / (which comments out) and this will allow all java functions are allowed. After the change, you must restart the service Essbase

  • User-defined function removes the expression hooks

    Trying to convert this column in a user function expression, however when I apply the function to the user hooks literally disappear.

    1 REGEXP_REPLACE (SRC_IO_PHONES_A.PHONE, ' ({: digit:{3})\.(:digit:{3})\.(:digit:{4})' 1 (\1)-\2-\3'),)

    2 REGEXP_REPLACE (SRC_IO_PHONES_A.PHONE, ' ([[: digit:]] {3})------.) () [[: digit:]] {3}). ([[: digit:]] {4})' 1 (\1)-\2-\3')


    These lines come from the same mapping. One implements the user-defined function and the second line is with I plug the code into the target Expression field.


    Any thoughts on why this is?


    Thank you

    So I thought to it thanks to a post of @oraclebase.  Another friend of mine has indicated that user in ODI functions develops a sort of pseudo-code and it is not really passing commands to the database.  Anyway, my research turned to substitute for the construction of all [: digit:].  This resulted in me find the above post where \d = [0-9].  By replacing all the scoring by \d hooks, the function worked.

  • User defined function join VS - Performance...

    Hi all

    all connecting mulitple table and get values... which one is the best?
    Join or user-defined function...


    row function
    --------------------------


    Select b.SID, get_salary (empid) from emp;

    Note: get_salary function will return the salary of the pay tables.

    Using joins
    --------------


    Select b.SID, b.salary from emp, a, b of salary
    where a.empid = b.empid;


    What is the best performancewise?

    also if you give any related document also very well.

    Thanks in advance.

    Published by: NICOLAS BELOT on January 6, 2011 22:09

    Always try to avoid calling a function defined by the user from a SQL statement.
    Word: context switching.
    http://asktom.Oracle.com/pls/asktom/f?p=100:11:0:P11_QUESTION_ID:60122715103602

    "Databases are born to join" - © T.Kyte

    Another must-see:
    http://www.Oracle.com/technetwork/database/features/PLSQL/overview/doing-SQL-from-PLSQL-129775.PDF

  • User-Defined Functions

    Hi, I am a newbie in oracle database,

    I want to know if this is possible:

    is it possible to build a sql (in string format), then run it inside a function defined by the user (NOT stored procedure)?

    If so, are all versions of oracle database able to do this?

    and it's samples?

    and a stored procedure can be called inside a user-defined function?

    Thank you!

    Hello

    Forreging wrote:
    is it possible to build a sql (in string format), then run it inside a function defined by the user (NOT stored procedure)?

    Yes.
    Create a string that is a SQL command and then running it is called dynamic SQL .
    You can do inside of a function, or a procedure. (Attention this: all procedures and functions is often called Stored Procedures .)
    Everything you can do in a procedure, you can also do this in a function.

    If so, are all versions of oracle database able to do this?

    Yes, all versions of Oracle behave this way.

    and it's samples?

    The [PL/SQL manual | http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28370/dynamic.htm#sthref852] has many examples.
    There are a lot of questions on this forum about PL/SQL. Enter "Dynamic SQL" in the serach box (top right of the Thread list page) to see [examples | http://forums.oracle.com/forums/search.jspa?objID=f75&q=dynnamic+SQL].

    and a stored procedure can be called inside a user-defined function?

    Yes, it is done very often.

  • Writing user defined function the same way as the oracle functions

    Hi guys,.

    In one of the interviews, I saw the guy asked me to write a function defined by the user who will be the column name and the list of all values.

    For example

    Name: employees table
    Column name: Employee_Name

    Employee_name
    Scott
    Ivgun
    Jack
    Shane

    The query must be in this marker

    SELECT col_agg (Employee_name) emp_name of employees;

    The output must be

    Emp_names
    Scott, ivgun, jack, shane

    Please let me know if this is possible


    Any suggestions will be much appreciated.

    Thank you
    Ranjan

    You certainly could write what a user defined aggregate function if you wish...

    for example this function will consolidate channels in a CLOB...

    create or replace type clobagg_type as object
      (
      text clob,
      static function ODCIAggregateInitialize(sctx in out clobagg_type) return number,
      member function ODCIAggregateIterate(self in out clobagg_type, value in clob) return number,
      member function ODCIAggregateTerminate(self in clobagg_type, returnvalue out clob, flags in number) return number,
      member function ODCIAggregateMerge(self in out clobagg_type, ctx2 in clobagg_type) return number
      );
    /
    create or replace type body clobagg_type is
      static function ODCIAggregateInitialize(sctx in out clobagg_type) return number is
      begin
        sctx := clobagg_type(null) ;
        return ODCIConst.Success ;
      end;
      member function ODCIAggregateIterate(self in out clobagg_type, value in clob) return number is
      begin
        self.text := self.text || value ;
        return ODCIConst.Success;
      end;
      member function ODCIAggregateTerminate(self in clobagg_type, returnvalue out clob, flags in number) return number is
      begin
        returnValue := self.text;
        return ODCIConst.Success;
      end;
      member function ODCIAggregateMerge(self in out clobagg_type, ctx2 in clobagg_type) return number is
      begin
        self.text := self.text || ctx2.text;
        return ODCIConst.Success;
      end;
    end;
    /
    create or replace function clobagg(input clob) return clob
      deterministic
      parallel_enable
      aggregate using clobagg_type;
    / 
    
    SQL> select trim(',' from clobagg(ename||',')) as enames from emp;
    
    ENAMES
    -----------------------------------------------------------------------------------
    SMITH,ALLEN,WARD,JONES,MARTIN,BLAKE,CLARK,SCOTT,KING,TURNER,ADAMS,JAMES,FORD,MILLER
    
    SQL> ed
    Wrote file afiedt.buf
    
      1  with t as
      2    (select 'PFL' c1, 0 c2,110 c3 from dual union all
      3     select 'LHL', 0 ,111 from dual union all
      4     select 'PHL', 1, 111 from dual union all
      5     select 'CHL', 2, 111 from dual union all
      6     select 'DHL', 0, 112 from dual union all
      7     select 'VHL', 1, 112 from dual union all
      8     select 'CPHL', 0, 114 from dual union all
      9     select 'WDCL', 1, 114 from dual union all
     10     select 'AHL' ,2 ,114 from dual union all
     11     select 'NFDL', 3, 114 from dual)
     12  --
     13  -- end of test data
     14  --
     15  select trim(clobagg(c1||' ')) as c1, c3
     16  from (select * from t order by c3, c2)
     17  group by c3
     18* order by c3
    SQL> /
    
    C1                                     C3
    ------------------------------ ----------
    PFL                                   110
    LHL CHL PHL                           111
    DHL VHL                               112
    CPHL AHL NFDL WDCL                    114
    

    OK, it's more that a function it uses a type of object that connects in operation internal to the ODCI... but it does what you ask. :)

  • Why I'm not able to associate the user defined exception with ORA-01403 error code

    why I am not able to

    Associate a user defed exception with ORA-01403 error code?

    declare
     myException Exception;
     pragma exception_init(myException ,-1403);
    
     begin
     raise myException ;
    Exception
    when myException  then
     dbms_output.put_line('raised due to myException ');
     end;
    /
    

    exception of ABC;

    *

    ERROR on line 2:

    ORA-06550: line 2, column 4:

    PLS-00701: ORACLE error-1403 of PRAGMA EXCEPTION_INIT illegal number

    ORA-1403 is an outgoing BOF NO_DATA_FOUND exception. And we used to NO_DATA_FOUND in pragma exception_init + 100.

    Thus, instead of the you can used this different exception code which is not associated with any exception.

    For example:

    declare

    Exception myException;

    pragma exception_init (myException,-7856);

    Start

    raise myException;

    Exception

    When myException then

    dbms_output.put_line ('high due myException');

    end;

Maybe you are looking for

  • Windows cannot be installed after replacement Toshiba HDD

    I installed Windows 7 (and Windows XP) on my laptop A42F, another manufacturer, using a DVD without problem and was used for about 18 months. Last week TOSHIBA MQ01ABD050 hard drive has failed and it turns out the disc has been damaged. I managed to

  • How to configure playback SIT

    Hi all I use a host VI SIT on my desk and the model on a target RT. The way I set it up right now is that I'm able to type in some input on the host VI values, and happening in the model (that I put in place in the SIT Connection Manager). Now I want

  • A user on 2 or more areas

    Hello I experimented with emails on an old box of Server 2003 and have hit a problem that I can not find the answer.  On the server I want to host several domains e-mail (easy - fact), but also potentially need to be able to have the same username on

  • Issue of logging with time

    Hello I'm working on this project which is expected to connect the whenever data current x seconds has been reached that is defined by the data recorder area.  I would like the graphics and displays for update as often they like as just write to file

  • I need to uninstall all components of itune

    I ran e. MS Security and avg to day when I came home, I got my old version of itunes is back with his bad library! I need to uninstall all components of itune "apple software update ' was the 2nd to remove and uninstall wouldn't IR... I restarted and