How to check empty idoc fields in user defined function

Dear All,
I am working on an IDOC to file scenario. In my user defined function, I want to check whether a particular field of the idoc is populated. I can perform this test in message mapping by comparing the field with an empty constant.
How can I do the same test in an advanced user defined function? I have tried all the following, but none has worked so far
If (a.length == 0) ….
If (a[0].length == 0) …
If (a[0] == “”) …
If (a[0] == “ “)…
Am I doing something wrong?
Thx/Farshad

To check whether an element is not available:
if (a.length == 0)
but you have to set cache to context. If you set cache to queue, it will not work, as in this case the context changes are part of the array a.
To check whether an element is empty:
if (a[0].equals(""))
Regards
Stefan
Message was edited by: Stefan Grube
Message was edited by: Stefan Grube

Similar Messages

  • 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

  • How to map empty IDoc field

    Hi everybody!
    I want to map the value of a source field through a <b>FixValues</b> function to the target field. Unfortunately this is an IDoc field which sometimes doesn't even exist (i. e. it's not just empty - it's not even there). In this case the <b>FixValues</b> function suppresses the output, and there is <i>no</i> output - not even the <i>default</i> value of <b>FixValues</b>. However, the requirement is that I always have to generate a default output - even if the input field is empty/missing.
    Ony ideas how this could be done?
    Regards, Joerg

    Hi Himadri!
    Thanks for the quick response! I tried to create such a que. However, it doesn't remove the SUPPRESS from the queue. Here's the code:
    // Two input params: src[] and def[]
    // src contains the input queue (with SUPPRESS values)
    // dst contains (hopefully) only one value - the default value
    int n=src.length;
    result.clear();
    if (n==0) {
      result.addValue(def[0]);
    else {
      for (int i=0; i<n; i++) {
        if (src<i>.equals(ResultList.SUPPRESS)) {
          result.addValue(def[0]);
        else {
          result.addValue(src<i>);
    What am I doing wrong?
    Regards, Joerg

  • How to hide empty data fields (php users only)

    how do you suppress the display of a given field if it has no value in a database (see code below)? You can take a look of the printscreen also.
    Thanks
    <td align="center" valign="middle"><span class="STYLECENTER"><img src="<?php echo $row_DetailRS2['thumbnail1']; ?>" alt="" name="" border="1" /></span><span class="STYLECENTER"><br />
              <?php echo $row_DetailRS2['code1']; ?></span></td>
            <td align="center" valign="middle"><span class="STYLECENTER"><img src="<?php echo $row_DetailRS2['thumbnail2']; ?>" alt="" name="" border="1" /></span><span class="STYLECENTER"><br />
              <?php echo $row_DetailRS2['code2']; ?></span></td>
            <td align="center" valign="middle"><span class="STYLECENTER"><img src="<?php echo $row_DetailRS2['thumbnail3']; ?>" alt="" name="" border="1" /></span><span class="STYLECENTER"><br />
              <?php echo $row_DetailRS2['code3']; ?></span></td>
            <td align="center" valign="middle"><span class="STYLECENTER"><img src="<?php echo $row_DetailRS2['thumbnail4']; ?>" alt="" name="" border="1" /></span><span class="STYLECENTER"><br />
              <?php echo $row_DetailRS2['code4']; ?></span></td>
            <td align="center" valign="middle"><span class="STYLECENTER"><img src="<?php echo $row_DetailRS2['thumbnail5']; ?>" alt="" name="" border="1" /></span><span class="STYLECENTER"><br />
              <?php echo $row_DetailRS2['code5']; ?></span></td>

    // run the query; if it fails, print out the error message and terminate the script
    $result = mysql_query($QrySQL) or die('Query failed: ' . mysql_error());
    //if there isn't a row to fetch, then mysql_fetch_assoc() will return FALSE.
    if ($row = mysql_fetch_assoc($result)) {
        //$row now contains an associative array of the field names to their values in the first row
        $firstSeen = $row['FirstSeen'];
    You could loop through the result set by replacing that if with a while. If you wanted to find out how many rows were returned, you could use mysql_num_rows().

  • How to do this in SQL or User defined Function?

    Hello All
    I have a table STATUS_CODES which has values like this
    HRKEY ITEMKEY
    HRAS 1
    HVAS 1
    HXAS 1
    SMST 2
    SLRS 2
    HWAS 2
    PAYT 3
    The HRKEY is unique
    Same ITEMKEY may be applied to different HRKEY (Item keyhas fixed values 1, 2, 3)
    Now I have a function which can return values like one of these(any combination of HRKEYseparated by a dash) which is captured in a variable called LAST_STATUS
    HRAS-PAYT
    HRAS-SMST-PAYT
    PAYT
    HRAS
    HXAS
    HRAS-HVAS-PAYT
    HRAS-HVAS-SMST-SLRS-PAYT
    HRAS-HVAS-SMST
    Now I want my query or function to do this
    If one of the values in the LAST_STATUS string matches STATUS_CODES.HRKEY, then it should return that HRKEY based on the priority below
    If Itemkey = 1 then it should return HRKEY for ITEMKEY = 1
    Then 2 and then 3
    If there are more than one HRKEY for same ITEMKEY then it should return any one of them
    SO for eg.
    If LAST_STATUS = HRAS-HVAS-SMST-SLRS-PAYT, then Output = HRAS
    If LAST_STATUS = SLRS-PAYT, then Output = SLRS
    If LAST_STATUS = PAYT, then Output = PAYT
    Thank you for your help
    Ach

    With Scott’s setup script …
    flip@FLOP> var str varchar2(1000);
    flip@FLOP> exec :str := 'HRAS-HVAS-SMST-SLRS-PAYT';
    PL/SQL procedure successfully completed.
    flip@FLOP>
    flip@FLOP> with a as
      2       ( select :str last_status from dual )
      3      ,b as
      4       (select '-'||last_status str, rownum rn from a connect by level <= length(last_status) )
      5      ,c as
      6       (select str, rn
      7              ,instr(str,'-',1,rn  ) f
      8              ,instr(str,'-',1,rn+1) t
      9        from   b
    10        where  instr(str,'-',1,rn) > 0
    11       )
    12      ,d as
    13       ( select c.*, decode(t,0,substr(str,f+1),substr(str,f+1,t-f-1)) x
    14         from  c
    15       )
    16      ,e as
    17       (
    18  select d.*, s.itemkey, row_number() over (order by s.itemkey, d.x) rnk
    19  from   d, status_codes s
    20  where  d.x = s.hrkey
    21       )
    22  select x hrkey
    23  from   e
    24  where  rnk = 1
    25  ;
    HRKEY
    HRAS
    flip@FLOP> exec :str := 'SLRS-PAYT'
    PL/SQL procedure successfully completed.
    flip@FLOP> /
    HRKEY
    SLRS
    flip@FLOP> exec :str := 'PAYT'
    PL/SQL procedure successfully completed.
    flip@FLOP> /
    HRKEY
    PAYT
    flip@FLOP> exec :str := null;
    PL/SQL procedure successfully completed.
    flip@FLOP> /
    no rows selected
    flip@FLOP> exec :str := 'HRAS-HVAS----SMST-SLRS-PAYT-HRAS-HVAS-PAYT-HRAS-HVAS-SMST-SLRS-PAYT-HRAS-HVAS-SMST-SLRS-PAYT--';
    PL/SQL procedure successfully completed.
    flip@FLOP> /
    HRKEY
    HRAS

  • How to use StreamTransformationException in user-defined function?

    Hi,
    I'm doing a DBLookup (using Java pgm in one of my Imported Java archives) for populating one of the fields in message mapping. If the DB connection fails, I want to terminate the mapping by throwing a StreamTransformationException from within a user-defined function.
    I require urgent help in this regard.
    Thanks in advance.
    Regards,
    Sridhar Rajan N

    Hi,
    I had the same problem. I failed to find the way how to throw a StreamTransformationException in my user-defined function. But I used another exception: NullPointerException. Yes, I know, this is not an elegant solution...
    Best regards,
    Andrzej Filusz

  • USER DEFINED FUNCTIONS IN FORM 6i

    I am interested to learn how can I manipulate, call a database user define function in a form6i that I am now using. It should give me desire database information on the forms? I am sorry, if I could explain the topics?
    Thanks & regards
    Dharani Barman

    Just call the function from PL/SQl or SQL in your Forms code - it shoudl all work providing that the user you are connected as has access to and execution rights on that function, and that the function uses parameters and return types that are compatible with the version of PL/SQL that the Forms engine has.

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

    you 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

  • How to check a checkbox field value in fw9 PDF form

    Hi,
    I got a PDF given form IRS (http://www.irs.gov/pub/irs-pdf/fw9.pdf). While creating a widget to this pdf form to sign it, I merged the custum data to those PDF form fields using API setMergeFields.
    All the data fields are merged fine except the checkboxes. I tried by passing the values to the merge_fields array as 'On', '1', 'checked', 'checkbox(checked)' but no luck
    What is wrong here in checking the chexbox field in this fw9 PDF or How to check a checkbox field in a form?
    Thank you,

    Hi Simon,
    I re-added and edited the fields of fw9 form by pdf printer. While doing so, I made fields as ready only so that, the data cannot be edited in the form through the widget but will be merged the data to fields only be the code. Wherein Im using the widget only for signature but not for form filling.
    Here, Im able to merge my custom data to all fields while creating widget but not to the fields of checkboxes. The checkboxes fields which are made ready-only are not allowing me to merge the value as checked by the API.
    Please help me,
    Thanks you,

  • How to check whether a field contains at least one numeric value

    how to check whether a field contains at least one numeric value..

    Hi,
    I hope that this code will works.
    constants:
       c_digit_grp        TYPE char11         VALUE '0123456789',        " Digit group
    * Data Declaration
    data :
      str   type string.
    * if you want check entire string and pass entire string
    if  str CA c_digit_grp.
    * write your logic ---this block will execute atleast one numeric value exists in the string
    Endif.
    Regards
    Bhupal Reddy

  • How to check if a field is hidden or disabled?

    I have implemented a progress bar, however, it counts all the fields in the form including hidden and disabled fields as well. I need to figure out how to check whether a field is hidden or disabled, and not count them for the progress bar. Please help!

    Try this (javascript):
    if (field.presence == 'visible' && field.access == 'open') {
         include in count...

  • How to add user defined functions in Menu bar of a Selection Screen?

    Hi,
    Can anybody please suggest me that how can I add user defined functions in the menu bar of a Selection Screen?
    Regards
    s@k

    Dear Amit,
    I am referring to the standard SAP program: RIEQUI20.
    On the initial screen, there are 3 tabs.
    Code:
    SELECTION-SCREEN BEGIN OF TABBED BLOCK tab FOR 25 LINES.
    SELECTION-SCREEN TAB (20) tab1 USER-COMMAND ucomm1
                         DEFAULT SCREEN 001.
    SELECTION-SCREEN TAB (20) tab2 USER-COMMAND ucomm2
                         DEFAULT SCREEN 002.
    SELECTION-SCREEN TAB (20) tab3 USER-COMMAND ucomm2
                         DEFAULT SCREEN 003.
    SELECTION-SCREEN END OF BLOCK tab.
    AT SELECTION-SCREEN.
      CLEAR gv_okcode.
      gv_okcode = sy-ucomm.
      CLEAR sy-ucomm.
      CASE gv_okcode.
        WHEN 'IH08'.
          CALL TRANSACTION 'IH08'. "Equipment Selection
        WHEN 'IW29'.
          CALL TRANSACTION 'IW29'. "Notification Selection
        WHEN 'IW39'.
          CALL TRANSACTION 'IW39'. "Order List Selection
        WHEN OTHERS.
      ENDCASE.
    *   Check date:                                         
      IF NOT datuv IS INITIAL                            
      AND NOT datub IS INITIAL.                         
        IF datub >= datuv.                              
        ELSE.                                           
          MESSAGE e884(ih) WITH datuv datub.            
        ENDIF.                                           
      ENDIF.                                             
      IF variant IS INITIAL AND
         dy_vari IS INITIAL.
        PERFORM get_default_variant_f14 USING variant.
      ENDIF.
      PERFORM variant_existence_f14 USING variant.
      IF datuv IS INITIAL.
        datuv = sy-datum.
      ENDIF.
      IF datub IS INITIAL.
        datub = sy-datum.
      ENDIF.
      IF sy-ucomm = 'ADDR'.
        PERFORM adress_sel_f01 USING 'EQUIR'.
      ENDIF.
      PERFORM check_parnr_f76.
    *  AT SELECTION SCREEN OUTPUT
    AT SELECTION-SCREEN OUTPUT.
      STATICS: l_slset TYPE sy-slset.
    *--- Set initial variant
      PERFORM variant_init_f14 USING 'INST' 'INST' 'INST' 'RIEQUI20'.
      IF variant IS INITIAL AND
         dy_vari IS INITIAL AND
        gv_variant_flag IS INITIAL.
        PERFORM get_default_variant_f14 USING variant.
        gv_variant_flag = 'X'.
      ENDIF.
    *--- Set Icon for adress-button
      PERFORM set_icon_f01 USING dy_adrfl ad_icon text-ad0 text-ad1.
    *--- get classification data from select option
    *--- (if new variant or if called via submit or F3)
      IF ( l_slset NE sy-slset ) OR
         ( s_comw[] IS NOT INITIAL AND gt_clsd_comw[] IS INITIAL ).
        l_slset = sy-slset.
        gv_class_old = dy_class.
        gv_klart_old = dy_klart.
        PERFORM copy_selopt_comw_f79 TABLES gt_clsd_comw s_comw.
        PERFORM class_search_init_f77 USING 'EQUI'.
      ENDIF.
    *--- set Icon for classification
      LOOP AT gt_clsd_comw TRANSPORTING NO FIELDS          
                          WHERE atcod > '0'.               
        EXIT.                                              
      ENDLOOP.                                             
      IF sy-subrc IS INITIAL.
        gv_comw_flag = 'X'.
      ELSE.
        CLEAR gv_comw_flag.
      ENDIF.
      PERFORM set_icon_f01 USING gv_comw_flag cl_icon text-cl0 text-cl1.
      CALL METHOD cl_uid_cust=>selection_screen_output.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR variant.
      PERFORM variant_inputhelp_f14 USING variant 'RIEQUI20'.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR dy_parnr.
      PERFORM f4_for_parnr_f76.
    AT SELECTION-SCREEN ON BLOCK clse.
      IF dy_class NE gv_class_old
        OR dy_klart NE gv_klart_old.
        gv_class_old = dy_class.
        gv_klart_old = dy_klart.
        CLEAR gv_comw_flag.
        REFRESH gt_clsd_comw.
        REFRESH s_comw.
      ENDIF.
      PERFORM class_exist_f77 USING dy_klart dy_class 'DY_CLASS'.
      IF sy-ucomm = 'COMW'.
        CALL FUNCTION 'IHCLSD_VALUATION_POPUP'
          EXPORTING
            i_klart               = dy_klart
            i_class               = dy_class
            i_language            = sy-langu
            i_key_date            = sy-datum
            i_also_subclasses     = dy_subcl
          TABLES
            ct_comw               = gt_clsd_comw
          EXCEPTIONS
            exc_no_class          = 1
            exc_klart_not_allowed = 2.
        IF sy-subrc <> 0.
          MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.
    *--- fill classification data in select option
        PERFORM copy_comw_selopt_f79 TABLES gt_clsd_comw s_comw.
      ENDIF.
      IF sy-ucomm = 'ONLI'.
        sscrfields-ucomm = sy-ucomm.
      ENDIF.
    Regards
    s@k
    Edited by: siemens.a.k on Jan 15, 2010 10:10 AM

  • 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,
    Mike

    Hi 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 apply dll file or user defined function in B1

    Dear all,
    I have dll file and user defined function which use for converting number amount to text of my language. I plan to create UDF to keep the result of function on A/R invoice and I will use this UDF on print layout desiner but I don't know how to apply my function on B1. Please kindly suggest.
    Thanks you in advanced.
    Angnam

    Hi Angnam,
    Check this link.
    Re: amount in words
    Thanks,
    Srujal Patel

  • How many types of user defined functions are there?

    how many types of user defined functions are there?

    Hi Ramakrishna,
    A user-defined function is only visible in the message mapping in which you created it. You can insert the function in the data-flow editor as a standard function by using the User-Defined function category.
    You can use the following user-defined functions:
    1.Simple functions, which can process individual field input values for each function call. Simple functions therefore expect strings as input values and return a string.
    2.Advanced functions, which can process several field input values for each function call. You can import either all field values of a context or the whole queue for the field in an array before calling the function. For more information, see Advanced User-Defined Functions.
        go through :
    http://help.sap.com/saphelp_erp2004/helpdata/en/22/e127f28b572243b4324879c6bf05a0/content.htm
         Advanced user-defined functions, which can process more than just individual field values.Instead, you can import a complete context or an entire queue for a field as an array before your function is called
        go through :
    http://help.sap.com/saphelp_erp2004/helpdata/en/f8/2857cbc374da48993c8eb7d3c8c87a/content.htm
    *Pls: Reward points if helpful*
    Regards,
    Jyoti

Maybe you are looking for