About User defined Functions
Hi,
Do anyone know what are user defined functions .. and what's the procedure to create a user defined function in sql or pl/sql ??
Regards
Is this Seshu or someone else asking with his login? The reason for this is earlier there was a post from some Param Reddy from Kurnool asking with his login.
If it is Seshu himself, I've seen you using the word 'function' a couple of time earlier.
Re: Comma separation
and
Re: Data Hiding
If you go and see in SQL Reference, you find two types of functions. SQL built-in and User-defined.
Cheers
Sarma.
Similar Messages
-
Questions about user-defined functions
Hello all,
I've got some questions about user-defined function in a message mapping:
1) How can I get the current date/time in format yyyy-mm-dd hh:mm:ss ? What is the java code for this?
2) I want to use the StreamTransformation constant TIME_SENT, only this is not in the right time-zone.
It is GMT and it should be CET (1 hour difference). How can I convert this in Java?
Can somebody help me with this?
Thanks in advance.
Kind regards,
Marco van IerselHi Marco,
If the date format is fixed as you have mentioned,please use this:
String test = "2009-03-27 23:15:30";
String test1 = test.substring(11,13);
if(!test1.equals("23"))
int a = Integer.parseInt(test1);
int b = a+1;
System.out.println("b"+b);
String c = Integer.toString(b);
test = test.substring(0,10)+" " + c + test.substring(13,19);
return test;
if(test1.equals("23"))
test = test.substring(0,10)+ " 00" + test.substring(13,19);
return test;
else return "";
Kindly let me know if this works.
Thanks.
Regards.
Shweta -
About user defined function in user defined rule
Hi,
I am wondering if I can use a user defined function in a user defined rule in oracle sem.. I've seen examples of user defined function used in sparql query filter clause in that dev. guide. However, I don't know if I can define a function in oracle sem. database and use it in the rule body or head. For example, I want to define a duration function that calculate the date difference between two dates. Then, I want to define a rule like this: event1 :has_start_date d1 and event1: has_end_date d2 and duration (24, d1,d2) then event1:date_satisfiable "yes". Does oracle support this kind of rule? Thank you very much.
HongHi Hong,
The user defined rules are quite similar to a CONSTRUCT SPARQL query, where the FILTER clause is implemented in SQL.
I think we have already written rules like you want :
You have to write a PL/SQL FUNCTION that returns a NUMBER (not a BOOLEAN, think you are in SQL) :
FUNCTION DURATION(HOURS INTEGER, D1 VARCHAR2, D2 VARCHAR2) RETURN INTEGER
IS
BEGIN
IF(.................)
THEN RETURN 1;
ELSE RETURN 0;
END IF;
END;
Maybe you will have to GRANT EXECUTE ON DURATION TO MDSYS.
Then include the following in the FILTER clause of the Rulebase "[owner].duration (24, TO_CHAR(d1),TO_CHAR(d2)) = 1"
Hope this helps. -
Regarding sqlserver user defined functions
Hi,
How to write user defined functions dynamically?
Please help me in any situationHi Bellam,
You post same question 2 times. Please avoid this practice on Forum, I
have merged the same thread into this thread.
As other post, dynamic SQL is not allowed in user defined functions (UDF), however, you can execute dynamic SQL store procedure with parameter. A user-defined function takes zero or more input parameters and returns either a scalar value or a table. There
is different between user-defined stored procedures and
user-defined function. User-defined functions do not support output parameters.
For more information, you can review the article about User-Defined Functions(UDF).
http://technet.microsoft.com/en-us/library/ms191007.aspx
Regards,
Sofiya Li
Sofiya Li
TechNet Community Support -
How can I use Seeburger java functions on SAP XI's user defined functions?
Hi All,
As my title implies; how can I use Seeburger java functions on SAP XI's user defined functions? I've tried searching over the net in tutorials regarding this topic but I failed to find one; can someone provide me information regarding my question? thanks very much.
best regards,
MikeHi Mike !
You should check your documentation about which java classes you need to reference in the "import" section of your UDF. And also deploy the java classes into the java stack or include them as a imported archive in integration repository...it should be stated in the seeburger documentation.
What kind of functions are you trying to use?
Regards,
Matias. -
User-defined function in FILTER clause
hi,
can i create the user-defined functions and use them in the FILTER clause in the sem_match function? there are some built-in functions for the FILTER clasue. however, only one function (DATATYPE(literal)) support for date/time in the built-in functions. i want to implement some user-defined funcitons in the FILTER clause which can check time intervals in ontology. there are some functions about valid time in the WorkSpace Manager such as WM_OVERLAPS, WM_CONTAINS,WM_MEETS, etc. so, can i write some functions using the these valid time functions in WM and use them in the FILTER clause? thanks a lot in advance.
hongHi Hong,
You don't need user-defined functions to do time interval comparisons. You can directly compare xsd:dateTime values with the built-in comparison operators: <, >, =, !=, <=, >=
For example, the query pattern below could find events that happened during event1 if we have data such as:
:event1 :startTime "2013-01-01T03:15:00Z"^^xsd:dateTime .
:event1 :endTime "2013-02-01T02:15:00Z"^^xsd:dateTime .
:event2 :startTime "2013-01-11T14:15:00Z"^^xsd:dateTime .
:event2 :startTime "2013-01-14T12:15:00Z"^^xsd:dateTime .
SELECT ?e2
WHERE
{ :event1 :startTime ?e1_st; :endTime ?e1_et .
?e2 :startTime ?e2_st; endTime ?e2_et .
FILTER (?e1_st < ?e2_st && ?e2_et < ?e1_et) }
In general, it is trivial to convert interval relations such as meets and overlaps to conditions on start and end times.
Hope this helps.
- Matt -
XI 7.0 Advnaced User Defined Function how to check Cache Entire Queue ?
Hi Friends ,
We are using XI 7.0 (PI) . There is no Selection For Advanecd UserDefinedFunction . I think in this version Both will perfom in the User DefinedFunction Itself .
There is option for Context and Queue While we are creating Function . If we select Queue is it eqivalent to Check box of Cache Entire Queue ? Is My assuption is correct ?
I want to cache the Entire Queue ? Can you please tell me about this.
My environment is like
Session Information
Application:
Design: Integration Builder
User:
Test
Logon Language:
English
Server:
xidev_XID
Server Node:
server0
Runtime Environment
Java version:
1.4.2_13
Java vendor:
Sun Microsystems Inc.
Version
Service pack:
10
Release:
645_VAL_REL
Best Regards .,
V.Rangarajanyou advanced user defined functions are now known as
Enhanced Functions (Cache = Context or Cache = Queue)
From Help -
+Features
Depending on which values are available in the cache for a user-defined function, different functions are available:
· Simple Functions (Cache = Value)
This function type can process individual input values of a field for each function call. Therefore, simple functions expect strings as input values and return a string.
· Enhanced Functions (Cache = Context or Cache = Queue)
This function type can process multiple input values of a field for each function call. Before you call the function, you can either import all the field values of a context or the whole queue for the field in an array.+
Have this link as your reference - http://help.sap.com/saphelp_nw04s/helpdata/en/22/e127f28b572243b4324879c6bf05a0/content.htm -
User defined function to find difference between dates
format of dtActivityStartDate/dtActivityFinishDate: 2010-09-17 14:50:51.150
usdFuncTimeCalc (vcActivityName,dtActivityStartDate, dtActivityFinishDate) -- user defined function
i need to calculate time elapsed for that type of activity following are the rules:
(If Process Request is the activity)
Working Days: Monday through Saturday
Hours of Operation: 9AM – 5PM
only working hours of day need to the counted like for example if it is sep 15 11 Am is dtActivityStartDate & Sep 17 is dtActivityFinishDate is 10 Am. then time elapsed is 11am to 5pm on sep 15 , 9 to 5 on sep 16 & 9 to 10 on sep 17 so total should be
6+ 8 + 1 = 15 hours + minutes.
format of date time: 2010-09-17 14:50:51.150
vcActivityName = Process Request
Don't worry about process request...I hv modified the code to make it more generic inorder to suit any timings (customizable) from Monday - Saturday.
declare
-- ** b u s i n e s s _ h o u r s **
-- business_hours returns the number of work houts (9 am through 5 pm,
-- Monday through Saturday) between in_start_dt and in_end_dt.
-- If in_start_dt > in_end_dt, the results will be <= 0.
-- Holidays are not considered.
in_start_dt DATE := to_date('15-SEP-2010 11:00:00','DD-MON-RRRR HH24:MI:SS');
in_end_dt DATE := to_date('17-SEP-2010 10:00:00','DD-MON-RRRR HH24:MI:SS');
d NUMBER; -- Hours of either start_dt or end_dt after midnight
end_dt DATE := GREATEST(in_start_dt, in_end_dt); -- In case dates were in wrong order
return_val NUMBER; -- Total number of working hours
start_dt DATE := LEAST(in_start_dt, in_end_dt); -- In case dates were in wrong order
start_time number := 9;
end_time number := 17;
BEGIN
WITH all_days AS(
SELECT start_dt + LEVEL - 1 AS a_dt
FROM dual
CONNECT BY LEVEL <= 1 + TRUNC(end_dt) - TRUNC(start_dt))
--SELECT SUM(12)
SELECT SUM(end_time-start_time)
INTO return_val
FROM all_days
WHERE TO_CHAR(a_dt,'Dy','NLS_DATE_LANGUAGE = ''ENGLISH''') NOT IN ('Sun');
dbms_output.put_line('Return_Val_1 : '||return_val);
-- Adjust hours from start_dt, if necessary
IF TO_CHAR(start_dt, 'Dy', 'NLS_DATE_LANGUAGE = ''ENGLISH''') NOT IN ('Sun') THEN
-- Calculate nbr of hours passed from midnight
d := 24 * (start_dt - TRUNC(start_dt));
dbms_output.put_line('d:'||d);
IF d >= end_time THEN -- d has passed 5 PM (end_time)
-- Don't count start_dt if it has passed the closing hours
return_val := return_val - (end_time-start_time);
dbms_output.put_line('if-d:'||return_val);
ELSIF d > start_time and d < end_time THEN -- d has passed 9 AM but less than 5 PM
-- Don't count the part of start_dt which has passed the opening hours
return_val := return_val - (d - start_time);
dbms_output.put_line('else-d:'||return_val);
END IF;
END IF;
dbms_output.put_line('');
dbms_output.put_line('Return_Val_2 : '||return_val);
-- Adjust hours from end_dt, if necessary
IF TO_CHAR(end_dt, 'Dy', 'NLS_DATE_LANGUAGE = ''ENGLISH''') NOT IN ('Sun') THEN
d := 24 * (end_dt - TRUNC(end_dt));
dbms_output.put_line('d:'||d);
IF d <= 9 THEN -- d < 9 AM
-- Don't count end_dt itself
return_val := return_val - (end_time-start_time);
dbms_output.put_line('if-d:'||return_val);
ELSIF d > start_time and d < end_time THEN -- d > 5 PM
-- Don't count part of end_dt
return_val := return_val - (end_time - d);
dbms_output.put_line('else-d:'||return_val);
END IF;
END IF;
dbms_output.put_line('');
dbms_output.put_line('Return_Val_3 : '||return_val);
IF in_start_dt > in_end_dt THEN
return_val := -return_val;
END IF;
dbms_output.put_line('');
dbms_output.put_line('Return_Val_4 : '||return_val);
END;Plz note the following points of the code :
1) You'll need to convert it a function, I just made it a declare..begin..end; block.
2) I hv used the same timings for start & end as you hv mentioned.
3) The 2 variables "start_time" and "end_time" take the opening & closing business hours respectively in a 24 hour format.
4) You might want to remove the DBMS_OUTPUT ... stmts which I had added for debugging.
It was an interesting code block to analyze ... :-) -
User-defined function(java)
hi expects,
how to write user defined finction in javain meesage mapping.please help me.Hi Rohit,
In order to create UDFs, you need to have a basic idea about using Core Java. Also, based on the kind of functonality of the code, you will need to know if you require any extra jar files.
To create a UDF, all you need to do is click on LHS icon in the graphical mapping editor. Also, keep in min that the input and otput of a udf is always in strings.
To test your functions, you can either use the test tab present in the mapping editor or you can even use the following editor(blog by Sravya):-
/people/sravya.talanki2/blog/2006/07/24/integrating-java-editor-in-xi-integration-stack
I think info will be enough for you to start off with creating and using UDFs:)
This link for User Defined Functions,
http://help.sap.com/saphelp_nw04/helpdata/en/d9/718e40496f6f1de10000000a1550b0/content.htm
Writing use defrined functions in XI is quite simple. Create a simple UDF, give the import parameters and then just go ahead with the logic coding and then return the output from the UDF.
Just remember that all inputs and outputs to an UDF are always Strings.
Cheers...
Vasu
<b>** REward Points if found useful **</b> -
Making a User Defined Function for Mapping in XI
Hi folks..
I knw how to make User defined Function in XI,
i was wondering about can we have any room for making a function for Initializing Purpose, which intializes few fields in source Message to some Global variables, and later we can use these Global Variables to set the the Target field
My Doubt is this...
i have Source & target Structure like this Structure like this....
SOURCE TEST DATA IS...
Parentsrc
child1src a
child2src b
child3src c
child4src hi
child4src hello
child4src hey
(On the basis of instances of child4src the istance of the Parentdst will be generated)
TARGET DATA SHUD BE LIKE THIS....
Parentdst
child1dst a
child2dst b
child3dst c
child4dst hi
Parentdst
child1dst a
child2dst b
child3dst c
child4dst hello
Parentdst
child1dst a
child2dst b
child3dst c
child4dst heyHi
You have to modify your target structure:
<b>Source</b>
Parentsrc
child1src a
child2src b
child3src c
child4src hi
child4src hello
child4src hey
<b>Target</b>
<b>root</b>
Parentdst
child1dst a
child2dst b
child3dst c
child4dst hi
Parentdst
child1dst a
child2dst b
child3dst c
child4dst hello
Parentdst
child1dst a
child2dst b
child3dst c
child4dst hey
<b></root></b>
Now map like this:
child4src -
Parentdst
child1src--|
child4src--| UseOneAsMany -- Splitbyvalue --- child1dst
child4src--|
child2src--|
child4src--|UseOneAsMany --Splitbyvalue --- child2dst
child4src--|
child3src--|
child4src--| UseOneAsMany -- Splitbyvalue --- child3dst
child4src--|
child4src -- SplitbyValue -- child4src.
Regards
Suraj -
Java class within user defined function
Hi all,
in order to have a JDBC-lookup java function "globally" in XI i created a java class and imported it to XI as an imported Archive (i have to do the lookup within a mapping). I then can include the class to a user defined function. However the problem is now that this works fine within one Software Component Version but when i want to use it in several SWCV i have to import the jar to every SWCV. My question is therefore if anybody has already had this problem and if there is another possible solution - maybe deploying the class to XI using SDM?
Thank you for your thoughts.
Mathiashi Markus,
>>>>My question is therefore if anybody has already had this problem and if there is another possible solution - maybe deploying the class to XI using SDM?
if you do that then you'll have to remember about it
every time you import a new SP or upgreade your XI
this is not standard so SAP may always overwrite it
and your interfaces will stop working
consider importing it for every SWCV
Regards,
michal -
Calling ORACLE Store Procedure with parameters in user define function
Hi everybody,
We have a scenario connecting Oracle DB thru JDBC adapter.
We have to call store procedure with input parameter and output parameter to retrieve data from DB. The implementation was made using JDBC adapter by building the correct XML message with EXECUTE action, and it works fine.
Now we need to use DB lookup within mapping. I wrote users define function with SELECT statement (using the JDBC adapter) and it works fine but I need to call store procedure in ORACLE instead of SELECT statement.
I found lot of examples concerning DB lookup but none of them explained how to write UDF calling store procedure in ORACLE with input and output parameters.
I am looking for an example.
Thanks in advance,
GigiI agree with you, but issue is we have lots of existing store procedure, which we need to call where damn required. I am sure those will be few but still i need to find out.
If you think you are going to get existing MS Stored Procedures or Oracle Packages that had nothing to do with the ORM previously to work that are not geared to do simple CRUD operations with the ORM and the database tables, you have a rude awakening
coming that's for sure. You had better look into using ADO.NET and Oracle Command objects and call those Oracle Packages by those means and use a datareader.
You could use the EF backdoor, call Oracle Command object and use the Packages, if that's even possible, just like you can use MS SQL Server Stored Procedures or in-line T-SQL via the EF backdoor.
That's about your best shot.
http://blogs.msdn.com/b/alexj/archive/2009/11/07/tip-41-how-to-execute-t-sql-directly-against-the-database.aspx -
How to create user defined functions in xi.
how to create user defined functions in xi.
can anyone give info with screen shots.Hi,
Please follow the steps mentioned in below link
http://help.sap.com/saphelp_nw04/helpdata/en/f8/2857cbc374da48993c8eb7d3c8c87a/frameset.htm
also refer below links to know more about UDF
udf
Thanks
Swarup
Edited by: Swarup Sawant on Mar 3, 2008 3:59 PM -
User defined Function in materlized view???
Hi All:
can we use user defined functions in materlized views. If anybody know about it. Please help me. Thanks
AliHere we go... (see how quick it was)...
SQL> create or replace function myfunc(x in number) return number is
2 begin
3 return (x*2*3.14152);
4 end;
5 /
Function created.
SQL> create table a as select rownum x from dual connect by rownum <= 90;
Table created.
SQL> create materialized view as
2
SQL> create materialized view mv_a as
2 select x, myfunc(x) as x_2pi from a;
select x, myfunc(x) as x_2pi from a
ERROR at line 2:
ORA-12014: table 'A' does not contain a primary key constraint
SQL> alter table a add primary key (x);
Table altered.
SQL> create materialized view mv_a as
2 select x, myfunc(x) as x_2pi from a;
Materialized view created.
SQL> select * from mv_a;
X X_2PI
1 6.28304
2 12.56608
3 18.84912
4 25.13216
5 31.4152
6 37.69824
7 43.98128
8 50.26432
9 56.54736
10 62.8304
11 69.11344
12 75.39648
13 81.67952
etc. -
Advanced User Defined Functions - Handling Contexts
Hi All,
Are there any blogs on Advanced User Defined functions? I would like to get some information on how the queue is accessed, manipulation of the ResultList object etc.
Many Thanks,
SandeepHi,
This blog talks about context handling
/people/riyaz.sayyad/blog/2006/04/23/introduction-to-context-handling-in-message-mapping
This is will give you a clear idea and will be hwlpful for sure
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/9202d890-0201-0010-1588-adb5e89a6638
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/190eb190-0201-0010-0ab3-e69f70b6c257
Thanks
Prakash
Maybe you are looking for
-
Transferring open items and balances
Hello! Do anyone know if there are SAP tools for the transfer of Account Receivables (AR), Account Payables (AP) open items and General Ledger (GL) balances from old SAP environment 4.6C to newer SAP environment 6.0? What should be considered when do
-
Is there a way to add/delete words from the predictive text ?
Is there a way to add/delete words from the predictive text options that my iPhone is giving me? I'm using an iPhone 6 Plus with iOS 8. There are specific words that are popping up in the area right above the keyboard where it displays 3 word suggest
-
File get currupt if downloaded by response.getOutputStream();
Hi, I am trying to download file (of any type pdf/rar/any etc...) using following code, but SOME TIME downloaded file is currupted. File file = new File(filePath); if (file.exists()) { if(isDebugEnabled)
-
IPhoto unexpectedly quits when viewing or editing certain photos
I have just returned from three weeks abroad and had hoped this issue would have been handled by Apple in the interim, but the same status message is still on their web site as when I left. "After updating to QuickTime 7.1.3, iPhoto may unexpectedly
-
Display the paysalary of the employee to his responsability in MSS
Good Morning, There are an Iview in where the chief can Display the paysalary of the employee to his responsability in MSS? How can solve this issue. Kind Regards