Cl_salv_table - self-defined functions
Hi!
I have added some functions as buttons to my alv via cl_salv_functions_list->add_function and would now like to
a) add a separator between them
b) change the functions text dynamically.
Until now I have found now way to either achieve the first nor the second goal.
Any hints are appreciated!
Regards,
Thomas
Thomas,
If you add your custom functions in a GUI Status instead, then you would be able to add the separator & dynamic text directly in the menu painter. You would also need to call method set_screen_status (from class cl_salv_table).
Note: To change the text to dynamic text in the menu painter, you can double-click the function name and choose the "Change Text Type" function (and then assign a program or table field to use for the dynamic function text).
Regards,
Jamie
Similar Messages
-
Make self defined function on ALV toolbar invisible
Hello Experts,
I have defined a self defined function dropdown on standard ALV toolbar on the Lead select event and defined the function too.
But I want at some condition the dropdown should disappear. How can I set the drop down on the ALV toolbar to invisible.
Please suggest.
Thanks and Best Regards,
SahilWhile defining the drop down, just bind the visible property to a context node attribute of type WDUI_VISIBILITY and set it based on your requirement.
Manas Dua -
How to implement a user-defined function in a mathscript node
I am trying to use a mathscript node that includes self-defined functions, but I always get an error. I tried to run an NI-example: MathScript using Riemann Zeta.vi ,and I got the same error I get when I run my own programmes:MathScript Node'MathScript Node' (zeta): User-defined function contains an error. I didn't change anything in that example, so what could be wrong?
Try the Mathscript forum instead. Good luck.
(Maybe start reading this, for example)
Message Edited by altenbach on 11-18-2009 01:48 PM
LabVIEW Champion . Do more with less code and in less time . -
BI Integrated Planning Self-defined planning function type ( RSPLF1 )
Dear all,
I got 2 questions regarding the new BIIP customer defined planning function type.
1. How do we create the class for the planning function type ? Do we copy standard one( like CL_RSPLFC_DELETE ) as template ? Or , can we create a class whcih use standard class as a supper class and change the methods as we want?
2. Since the planning modeler is running on web , is it possible to debug the self-defined planning function type in SAPGUI?
Thank you,
JeffHi Jeff,
from the documentation it seems that you have to copy the delivered Classes: two methods are mandatory (the ones about execution IF_RSPLFA_SRVTYPE_IMP_EXEC and IF_RSPLFA_SRVTYPE_IMP_EXEC_REF). See the on line help:
http://help.sap.com/saphelp_nw2004s/helpdata/en/43/548bafbc0f357ee10000000a11466f/frameset.htm
I didn't try yet, did you? Have you experienced something different?
Best regards
GFV -
BIIP Self-defined planning function type ( RSPLF1 )
Dear all,
I got 2 questions regarding the new BIIP customer defined planning function type.
1. How do we create the class for the planning function type ? Do we copy standard one( like CL_RSPLFC_DELETE ) as template ? Or , can we create a class whcih use standard class as a supper class and change the methods as we want?
2. Since the planning modeler is running on web , is it possible to debug the self-defined planning function type in SAPGUI?
Thank you,
Jeff
How can I move this post to BPS forum?
Message was edited by: Jeff HuangJeff,
Copying a standard planning function is the simplest way to begin and CL_RSPLFC_DELETE is the simplest function, so that is the ideal one to start with (assuming you are not looking to collect reference data as well).
As far as debugging, simply put a hard BREAK-POINT statement in your method(s) and it will break as desired whenever you test it from the planning modeler.
Michael -
Writing user defined function the same way as the oracle functions
Hi Guys,
In one of the interviews , I have attended the guy asked me to write a user defined function which will take the column name and list all the values .
For example
Table Name:Employees
Column Name: Employee_Name
Employee_name
Scott
Ivgun
Jack
Shane
The query should be in this fromat
SELECT col_agg(Employee_name) emp_name from Employees;
The output shoulld be
Emp_names
scott,ivgun,jack,shane
Please let me know if this is possible
Any suggestions will be highly appreciated.
Thanks,
RanjanYou could certainly write a user defined aggregate function if you like...
e.g. this function will aggregate strings into 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 114Ok, it's more than just a function as it uses an object type linking into the internals of the ODCI... but it does what you ask. :) -
Probleme with Self defined info struc
Hi All,
We have Create some Self define Info structure Like ;--
S061 Location and Planning --->S501
if we campare standard info structure with self defined info structure ..screen layoutis are not same ..
1.Means *Characteristics Restriction * Functional Location hierarchy it is not appearing in Self defined info structure
2. S064 Object Statistics---> S505 in this case we don't have F4 option in Obejct Class field
Any one can tell how can i solve this probleme.
Thanks
VinitHi All,
We have Create some Self define Info structure Like ;--
S061 Location and Planning --->S501
if we campare standard info structure with self defined info structure ..screen layoutis are not same ..
1.Means *Characteristics Restriction * Functional Location hierarchy it is not appearing in Self defined info structure
2. S064 Object Statistics---> S505 in this case we don't have F4 option in Obejct Class field
Any one can tell how can i solve this probleme.
Thanks
Vinit -
Why self-defined access sequences of free goods can not work?
Hi gurus,
I have maintained access sequences of free goods self-defined.but when i creat the SO it does not work!
when i used the standard access sequences ,it is OK .
Can anybody tell me why?
thanks in advanceDear Sandy,
Go to V/N1 transaction select your self defined access sequence then go in to the accesses and fields and check all fields are activated.
Make sure that these fields are flowing in your sales order.
I hope this will help you,
Regards,
Murali. -
Error in conditional map using User Defined Function
All,
In my mapping I basically have a user defined function that returns the filename of my inbound file from the adapter-specific message attributes (file adapter). I know this is coded properly because if I simply assign this function to my destination field I can see the filename in the payload XML.
However if I conditionally check that returned value using if,then,else I get an error message stating:
"During the application mapping com/sap/xi/tf/_MaterialData2ZcustProdMastMulti_ a com.sap.aii.utilxi.misc.api.BaseRuntimeException was thrown: RuntimeException in Message-Mapping transformation"
Essentially in my if I'm checking if the value returned by my user defined function is equal to the constant "SOMECONSTANT" then I'm setting my destination field to some other constant value. Otherwise it's equal to a different constant value.
Any thoughts?Claus,
Thanks for the help. I actually had figured the problem out on my own. Sorry for not updating the thread sooner. What happened was this (as I suspected it wasn't related to my user defined function). For the newbies out there (of which I'm one) the problem was I was comparing strings in the graphical mapping tool using the Boolean "EQUALS" rather than the Text "EQUALSS".
Can you give yourself points for solving -
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. -
How to resolve the error while using user defined function.
EPN Assembly file
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:osgi="http://www.springframework.org/schema/osgi"
xmlns:wlevs="http://www.bea.com/ns/wlevs/spring"
xmlns:jdbc="http://www.oracle.com/ns/ocep/jdbc"
xmlns:spatial="http://www.oracle.com/ns/ocep/spatial"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/osgi
http://www.springframework.org/schema/osgi/spring-osgi.xsd
http://www.bea.com/ns/wlevs/spring
http://www.bea.com/ns/wlevs/spring/spring-wlevs-v11_1_1_3.xsd
http://www.oracle.com/ns/ocep/jdbc
http://www.oracle.com/ns/ocep/jdbc/ocep-jdbc.xsd
http://www.oracle.com/ns/ocep/spatial
http://www.oracle.com/ns/ocep/spatial/ocep-spatial.xsd">
<wlevs:event-type-repository>
<wlevs:event-type type-name="TestEvent">
<wlevs:class>com.bea.wlevs.event.example.FunctionCEP.TestEvent</wlevs:class>
</wlevs:event-type>
</wlevs:event-type-repository>
<wlevs:adapter id="InputAdapter"
class="com.bea.wlevs.adapter.example.FunctionCEP.InputAdapter">
<wlevs:listener ref="inputStream" />
</wlevs:adapter>
<wlevs:channel id="inputStream" event-type="TestEvent">
<wlevs:listener ref="processor" />
</wlevs:channel>
<wlevs:processor id="processor">
<wlevs:listener ref="outputStream" />
<wlevs:function function-name="sum_fxn" exec-method="execute">
<bean>com.bea.wlevs.example.FunctionCEP.TestFunction</bean>
</wlevs:function>
</wlevs:processor>
<wlevs:channel id="outputStream" event-type="TestEvent">
<wlevs:listener ref="bean" />
</wlevs:channel>
<bean id="bean" class="com.bea.wlevs.example.FunctionCEP.OutputBean">
</bean>
</beans>
Event class
package com.bea.wlevs.event.example.FunctionCEP;
public class TestEvent {
private int num_1;
private int num_2;
private int sum_num;
public int getSum_num() {
return sum_num;
public void setSum_num(int sumNum) {
sum_num = sumNum;
public int getNum_1() {
return num_1;
public void setNum_1(int num_1) {
this.num_1 = num_1;
public int getNum_2() {
return num_2;
public void setNum_2(int num_2) {
this.num_2 = num_2;
Adapter class
package com.bea.wlevs.adapter.example.FunctionCEP;
import com.bea.wlevs.ede.api.RunnableBean;
import com.bea.wlevs.ede.api.StreamSender;
import com.bea.wlevs.ede.api.StreamSource;
import com.bea.wlevs.event.example.FunctionCEP.TestEvent;
public class InputAdapter implements RunnableBean, StreamSource {
private StreamSender eventSender;
public InputAdapter() {
super();
public void run() {
generateMessage();
private void generateMessage() {
TestEvent event = new TestEvent();
event.setNum_1(10);
event.setNum_2(20);
eventSender.sendInsertEvent(event);
public void setEventSender(StreamSender sender) {
eventSender = sender;
public synchronized void suspend() {
Output Bean class
package com.bea.wlevs.example.FunctionCEP;
import com.bea.wlevs.ede.api.StreamSink;
import com.bea.wlevs.event.example.FunctionCEP.TestEvent;
import com.bea.wlevs.util.Service;
public class OutputBean implements StreamSink {
public void onInsertEvent(Object event) {
System.out.println("In Output Bean");
TestEvent event1 = new TestEvent();
System.out.println("Num_1 is :: " + event1.getNum_1());
System.out.println("Num_2 is :: " +event1.getNum_2());
System.out.println("Sum of the numbers is :: " +event1.getSum_num());
Function Class
package com.bea.wlevs.example.FunctionCEP;
public class TestFunction {
public Object execute(int num_1, int num_2)
return (num_1 + num_2);
config.xml file
<?xml version="1.0" encoding="UTF-8"?>
<wlevs:config xmlns:wlevs="http://www.bea.com/ns/wlevs/config/application"
xmlns:jdbc="http://www.oracle.com/ns/ocep/config/jdbc">
<processor>
<name>processor</name>
<rules>
<view id="v1" schema="num_1 num_2">
<![CDATA[
select num_1, num_2 from inputStream
]]>
</view>
<view id="v2" schema="num_1 num_2">
<![CDATA[
select sum_fxn(num_1,num_2), num_2 from inputStream // I am getting error when i am trying to call this function
]]>
</view>
<query id="q1">
<![CDATA[
select from v2[now] as num_2* // Showing error while accessing the view also ]]>
</query>
</rules>
</processor>
</wlevs:config>
Error I am getting is :
Invalid statement: "select >>sum_fxn<<(num_1,num_2),age from inputStream"
Description: Invalid call to function or constructor: sum_fxn
Cause: Probable causes are: Function name sum_fxn(int,int) provided is invalid, or arguments are of
the wrong type., or Error while handling member access to complex type. Constructor sum_fxn of type
sum_fxn not found. or Probable causes are: Function name sum_fxn(int,int) provided is invalid, or
arguments are of the wrong type., or Error while handling member access to complex type.
Constructor sum_fxn of type sum_fxn not found.
Action: Verify function or constructor for complex type exists, is not ambiguous, and has the correct
number of parameters.
I have made a user defined function in a java class and configured this function in the EPN assembly file under the processor tag.
But when i am trying to access the function in the config.xml file , it is giving me an error in the query.
Please provide urgent help that how to write the exact query.Hi,
In the EPN Assembly file use
<bean class="com.bea.wlevs.example.FunctionCEP.TestFunction"/>
instead of
<bean>com.bea.wlevs.example.FunctionCEP.TestFunction</bean>
Best Regards,
Sandeep -
Getting error while using user-defined function in transform activity
Hi
I designed one user-defined function to add 2 nos following the
link:http://docs.oracle.com/cd/E16764_01/integration.1111/e10224/bp_xslt_mpr.htm .
Under this i followed the portion creating user-defined function.
After deploying,i'm getting an error stating:"<summary>
An error occurs while processing the XPath expression; the expression is ora:doXSLTransformForDoc("xsl/Transformation_1.xsl", $inputVariable.payload).
</summary>
<detail>
XPath expression failed to execute.
An error occurs while processing the XPath expression; the expression is ora:doXSLTransformForDoc("xsl/Transformation_1.xsl", $inputVariable.payload).
The XPath expression failed to execute; the reason was: javax.xml.transform.TransformerException: oramds:/deployed-composites/PO/HelloWorld_rev1.0/xsl/Transformation_1.xsl<Line 6, Column 104>: XML-22045: (Error) Extension function error: Class not found '
Missing class: addition.add
can anybody help me in this regard
Thanks
AvinashDid you copy the jar file of your java classes to MIDDLEWARE_Home/user_projects/domains/soa_domain/lib?
http://georgie-soablog.blogspot.com/2010/06/soasuite-11g-implement-user-defined.html
hope this helps -
Error while using user defined function in reports
Hi,
When I use the below user defined function in oracle reports I got the wrong number of arguments error
select test_function(id,a_number,v_date-14,b_number) from dual;
If I remove -14 from the argument it works. But iIneed to subtract 14 days from the date.
Thanks for your help.select test_function(id,a_number,v_date-14,b_number) from dual;
you have to give the command like this to_date(v_date,'dd-mon-yyyy')-14
because the v_Date you choose in the parameter form is not having the corrent date format
the format dd-mon-yyyy is the format in which v_date is passed by the user. -
Error while creating Custom Defined Functions in Essbase
<p>Hi All,<br>I am trying to create CDF(Custom Defined Functions) in Essbase. Iwant to create a function which take list of child member andreturn the first child. For this, i have created a java file called"ChildAccess.java" which contains the following code:<br>public class ChildAccess<br>{<br>public static char GetFirstMember(char [] members)<br>{<br>return members[0];<br>}<br>}<br>I have compiled and made jar file called"ChildAccess.jar" and pasted it at"ARBORPATH/java/udf". Then i restarted the Essbase Serverand run the following MaxL command to register the function<br>create or replace function '@ChildAccess' as<br>'ChildAccess.GetFirstMember'<br>spec '@ChildAccess(memberRange)'<br>comment 'adds list of input members'.<br>Till here i am not getting any error but when i am using thisfunction in my calc script as given below<br><br>FIX(@ChildAccess(@CHILDREN("Abc")))<br><br>it gives the following error<br>"Error:1200414 Error parsing formula for [FIX STATEMENT]<br>(line 2)"argument[1] may not have size[6] in function[@CHILDREN]"<br>NOTE: The SIZE[6] is giving the no. of child in member"ABC".<br><br>Thanks in Advance<br>Arpit</p>
If you want to use the CDF in a FIX statement you need to make sure that it returns a member name rather than a number:<BR><i><BR>public class ChildAccess<BR>{<BR> public static String GetFirstMember(String[] members)<BR> {<BR> return members[0];<BR> }<BR>}<BR></i><BR>I prefer to define the function against a specific application rather than globally because you only need to restart the application in order to pick-up any modifications to the .jar file. So the MaxL function definition would be:<BR><i><BR> create or replace function appname.'@_GETFIRSTMEMBER' as<BR> 'ChildAccess.GetFirstMember(String[])';<BR></i><BR>and in the calculation script the FIX statement would become:<BR><i><BR> fix ( @member( @_GetFirstMember( @name( @children( "Abc" ) ) ) ) )<BR></i><BR>This looks a little messy so you can use a macro to simplify it:<BR><i><BR> create or replace macro appname.'@GETFIRSTMEMBER'(single) <BR> as '@member( @_GETFIRSTMEMBER( @name( @@1 ) ) )' <BR> SPEC "@GETFIRSTMEMBER(memberRange)";<BR></i><BR>and then the FIX statement could be written:<BR><i><BR> fix( @getfirstmember( @children( "PRODUCT" ) ) )<BR></i>
-
User Defined Function VS join - Performance....
Hi All,
while linking the mulitple table and getting the values ....which one is the best ?
Joining or User defined function.....
single row function
select a.name , get_salary(empid) from emp a;
Note : get_salary function will return the salary from salary tables.
Using joins
select a.name ,b.salary from emp a, salary b
where a.empid=b.empid;
which is the performancewise best ?
also if you give any related document also fine.
Thanks in advance.
Edited by: BASKAR NATARAJAN on Jan 6, 2011 10:09 PMDon't use such functions for joins. The function itself has to query the salary table. It will run the query against the salary table separately for each row that it reads from the emp table. You will end up with multiple recursive calls and possibly inconsistency in the output. (Imagine what would happen if the salary table were updated and commited while this query was running -- some rows would have been read with the pre-update values and others with the updated values).
Specifying the join in the query ensures that a single SQL call is executed and provides read consistency across all the rows it reads. And it is much faster, being one single parse and execute.
Hemant K Chitale
http://hemantoracledba.blogspot.com
Maybe you are looking for
-
Error while create aggmap for concatenated dimension ???
How can I create aggmap for concatenated dimension ?? I created dimensions named awprod_lvl0 ,awprod_lvl1,awprod_lvl2,awprod_lvl3,awprod_lvl4 and concatenated with a dimension awproducts. Then I created a parent relation awproducts.parents and mapped
-
Lync 2010: Deleted Trusted Server remains in Config: Failed to connect to a peer server
Hi We added a Trusted Application to our Lync 2010 topology and removed it a few days later as it became clear it will not work for us.. Since then conference group chats do not work any longer. If I trace the issue I get reason="Failed to connect to
-
Length of events in lightning when the events are imported from external application
Hello, I am using the lightning calendar along with the Thunderbird. Also I have imported the following calendar to the lightning so i am getting the events directly to my calendar ( webcal://app.kigo.net/public/ics.php?p-9907bef8f54b4093e01b67caf4c0
-
I have had some problem with my iphoto library. Whilst I have deleted anything, or atleast, nothing appears to be in TRASH, my mac now only shows iphoto libraries that have been created recently. These recent libraries though, do include thousands of
-
Client Drops - No Exception Thrown
Hi All, I have a client server application which has been tested extensively and works fine. I have recently migrated the server to a linux environment (it was on windows) and now am experiencing a problem. Any exception thrown in the client is progr