Logic for user defined function in java language.

Hi Guys,
I want to use a "&" function in below code & include vafrdate.substring(130,132).equals("01").
if ( delperiod.substring(4,6).equals("01") )
Need your help to include & function in java code.
In layman language , i need,
if ( delperiod.substring(4,6).equals("01")  & (vafrdate.substring(130,132).equals("01"))
pls help me to do it in java language.

Santosh,
Use this -
if ( delperiod.substring(4,6).equals("01")  && vafrdate.substring(130,132).equals("01"))
Regards,
Neetesh

Similar Messages

  • User defined function in java for message mapping

    I wrote the following user defined function in java for message mapping and mapped vendor with this. The aim of this function is to write a error file at defined path when i send empty Vendor value from File to RFC-Function module BAPI_PO_CREATE. The "err.txt" error file is not written when i execute in TEST but the value "ERROR" is returned to destination Vendor Field.
    public String  validation(String a, Container container) {
    //write your code here
    if (a.equals("")) {
    try {
    String source = "Vendor cannot be empty";
    char buffer[] = new char[source.length()];
    source.getChars(0, source.length(), buffer, 0);
    for (int i = 0; i < buffer.length; i +=2)
       f0.write(buffer<i>);
    f0.close();
    FileWriter f1 =  new FileWriter("/10.10.0.55/sapmnt/trans/edixiin/err.txt");
    f1.write(buffer);
    f1.close();
    catch (IOException e) {}
    return "ERROR";

    Hi Senthil,
    Check these things :
    1) Whether you have permission to create a file in that directory.
    2) try giving this 
    10.10.0.55
    sapmnt
    trans
    edixiin
    err.txt
    3) Also check for permissions.
    Hope this will help you.
    Regards
    Suraj

  • GraphicalMapping: Split logic using user defined function

    Hi all
    I am doing a mapping in which the request xml comes this way
    <header>                        ----- occurance 1
    </header>
    <detail>                        ------- occurance 0 to unbounded
    <F123ABC>1000</F123ABC>      ------- occurance 0 to 1
    <F456PQR>2000</F456PQR>      ------- occurance 0 to 1
    <G200XYZ></G200XYZ>      ------- occurance 0 to 1
    <G500PPP>12</G500PPP>      ------- occurance 0 to 1
    </detail>   
    <trailer>
    </trailer>
    Now my target structure is like this
    <zheader>                        ----- occurance 1
    </zheader>
    <zdetail>                        ------- occurance 0 to unbounded
    <record type>...............</<record type>
    <Format>F</Format> ---if the tag <F123ABC> is not NULL then the data of format sortation and machine will be F,123 and ABC respectively and then whatever the between the TAG <F123ABC></F123ABC> will be fed in the *<quantity>*
    <sortation>123<sortation>
    <machine>ABC<machine>
    <quantity>1000</quantity>
    </zdetail>   
    <zdetail>                        ------- occurance 0 to unbounded
    <record type>...............</<record type>
    <Format>F</Format> ---if the tag <F456PQR> is not NULL then the data of format, sortation, and machine will be F,456 and PQR respectively and then whatever the between the TAG <F456PQR>2000</F456PQR>  will be fed in the *<quantity>*
    <sortation>456<sortation>
    <machine>PQR<machine>
    <quantity>2000</quantity>
    </zdetail>   
    <ztrailer>
    </ztrailer>
    I tried this code in the UDF but it did not work
    public void ud_splitDetail(String[] F123ABC,String[] F456PQR,String[] G200XYZ,String[] G500PPP,Detail,ResultList result,Container
       //write your code here
         int lenDetail=Detail.length;
         for(int i=0;i<lenDetail;i++)
         //int len1=A.length;
         if(F123ABC<i>!=""){
         result.addValue("F");
         result.addContextChange();}
         if(F456PQR<i>!=""){
         result.addValue("F");
         result.addContextChange();
         if(G200XYZ<i>!=""){
         result.addValue("F");
         result.addContextChange();
         if(G500PPP<i>!=""){
         result.addValue("F");
         result.addContextChange();
         else
         result.addValue("");
         result.addContextChange();
    The above code is to take F for format and the same way it is for sortation, machine and quantity
    But this code is not working properly, it gives a lots of F and other values. Could anyone give me some idea of how to code for the desired output
    Your help is really appreciable
    Thanks
    Naina

    Sarvesh
    There is one more issue....the source and target structure is like this
    SOURCE
    <detail>                        ------- occurance 0 to unbounded
    <countryName>India</countryName>
    <F123ABC>1000</F123ABC>      ------- occurance 0 to 1
    <F456PQR></F456PQR>      ------- occurance 0 to 1
    <G200XYZ> </G200XYZ>      ------- occurance 0 to 1
    <G500PPP>12</G500PPP>      ------- occurance 0 to 1
    </detail>
    <detail>                        ------- occurance 0 to unbounded
    <countryName>China</countryName>
    <F123ABC></F123ABC>      ------- occurance 0 to 1
    <F456PQR>2000</F456PQR>      ------- occurance 0 to 1
    <G200XYZ>1</G200XYZ>      ------- occurance 0 to 1
    <G500PPP></G500PPP>      ------- occurance 0 to 1
    </detail>
    TARGET
    <zdetail>
    <countryName>India</countryName>
    <format>F</format>
    <sortation>123</sortation>
    </zdetail>
    <zdetail>
    <countryName>India</countryName>
    <format>G</format>
    <sortation>500</sortation>
    </zdetail>
    <zdetail>
    <countryName>China</countryName>
    <format>F</format>
    <sortation>456<sortation>
    </zdetail>
    <zdetail>
    <countryName>China</countryName>
    <format>G</format>
    <sortation>200</sortation>
    </zdetail>
    So my question is how to make multiple entries of node <countryName> because  for first occurance of <detail> it will be INDIA and it will remain india till we are duplicating the first occurance of <detail>. Then it will be China for next occurance of detail till it is duplicated.
    Please reply at earliest...i have to finish it today only
    Thanks
    Naina

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

  • User defined function during Mapping.

    Hi,
    I am trying to retrieve filename using user defined function.
    The payload is simple.
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:FTPTOFTP_MT_OB xmlns:ns0="urn://ftptoftp.com">
       <RECORD>
          <ROW>
             <EMPNO>723</EMPNO>
             <NAME>Jack</NAME>
          </ROW>
       </RECORD>
    </ns0:FTPTOFTP_MT_OB>
    the code for user defined function is
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
    String ourSourceFileName = conf.get(key);
    return  ourSourceFileName; 
    now during message mapping ...
    do I have to have extra xml tag in the destination
    message which is now having
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:FTPTOFTP_MT_IB xmlns:ns0="urn://ftptoftp.com">
       <RECORD>
          <ROW>
             <EMPNO>723</EMPNO>
             <NAME>Jack</NAME>
          </ROW>
       </RECORD>
    </ns0:FTPTOFTP_MT_IB>.
    If yes ...
    Then how to graphically map this extra xml tag.

    Hi Deepak,
    If u want to display the source file name in ur output, then ur output XML structure there should be an extra tag for displaying the file name.
    In message mapping, select the user defined function which u have already created and map it to the tag for storing the file name in the target message XML format.
    There is a editor present to write the user defined function on the bottom left corner of the message mapping screen.
    For this function u need to select the Simple Function Tab.
    Regards
    Neetu

  • How to Use Sequence Object Inside User-defined Function In SQL Server

    I'm trying to call sequence object inside SQL Server user-defined function. I used 
    Next Value for dbo.mySequence  to call the next value for my sequence created. But I'm getting an error like below.
    "NEXT VALUE FOR function is not allowed in check constraints, default objects, computed columns, views, user-defined functions, user-defined aggregates, user-defined table types, sub-queries, common table expressions, or derived tables."
    Is there any standard way to call sequence inside a function?
    I would really appreciate your response.
    Thanks!

    The NEXT
    VALUE FOR function cannot be used for User Defined function. It's one of the limitation.
    https://msdn.microsoft.com/en-us/library/ff878370.aspx
    What are you trying to do? Can you give us an example and required output?
    --Prashanth

  • Component Palette - User Defined Functions not visible

    I have created a simple class for a User Defined Function I want to add into a Transformation process in my BPEL process.
    I followed this tutorial - https://blogs.oracle.com/bwb/resource/custom_xpath_functions/Creating_Custom_XPath_functions_with_JDeveloper_FullPost.ht…   to create the extension and add it in to JDeveloper
    However when I open the Transformation editor I have no option in the component Palette for User Defined functions.
    I am currently on 11.1.1.7. However this was working on 11.1.1.6 but this also has stopped.
    Does anybody have any suggestions of where I should look.
    Any help much appreciated
    Cheers
    Owen

    Hi Raja,
    Prior to trying Gordons option of unmarking and remarking them i would suggest you do a little more investigation as this can potentially change the field names in XL report and if you have any reports using them they may stop working (it can add a post fix of _1).
    Firstly, what are the fields set as in the User Defined Fields window in XL reporter?  Light Dimensions, Dimension Attribute or Measure?  If its a Dimension Attribute for example on the Business Partner UDF, it will not be visible in the tab section but should be shown if you drag and drop the Business Partner dimension in the report, then right click and choose display more attributes (dimension attribute UDFs will be in this list).  Light Dimensions and Measures should appear in the tabs.
    If they are set as a light dimension or measure and are not in the tab section, has this only just started happening or have they never been visible?  If its just started happening, having you recently upgraded to a new patch?  If so, in future you need to run a script on the Company and Common database prior to the patch upgrade.  If you did not run these scripts you will need to do Gordons solution but as I say, if any reports have UDFs in these may not work after and you will have to manually edit them.
    Regards,
    Adrian

  • Java user-defined function for mapping a complex structure

    All,
    Hope one of you can help me with this. I have a structure with over 15 fields and would like to concatenate all the fields into one target field and while I do this, I need to ensure that each field is padded with blanks as defined the data type. Can one of tell me if this is possible with a java user-defined function and if so, what type of logic is needed.
    Input_MT
    Field_1  string len=10 "need"
    Field_2  string len=6 "java"
    Field_3  string len=7 "help"
    Field_4  string len=8  "asap"
    etc,
    Output_MT 
    DataOut string  "need      java  help   asap    "
    (for some reason the exact spaces in between the words disappear in my Preview message)
    I have several fields in the input mt and therefore I find graphical mapping using concatenate and my own user defined function padWithSpace too messy.
    Thank you for you help.

    Hi,
    If your final req is to write all these fields next each other in a file, you can configure this in receiver file adapter by specifying the fixed length for each field.
    If you want the padded string as your MM o/p, you can create a simple user defined funtion with 15 fields as input and 15 constants for their lengths, and find out the length of the each string and pad it with required no of spaces.
    int max_len = 10;
    int actual_len;
    actual_len = a.lengh();
    for(int i=0; i < (max_len-actual_len; i++)
    a = a.append(" ");
    return a;
    praveen

  • User Defined Function is not recognizing java class in IR.

    Hi All,
    i have written one normal java class, and i imported that java class into IR using imported Archive as a .jar file,
    it will add just two values .
    now in message mapping i created one user defined function in that
    iam trying to call this java class. while testing it is showing error as cannot resolve symbol java class name
    so experts please help me in this or it would be appreciate if any one will provide
    step by step process of one java class and one USD just to add two numbers.
    thanks in advance,
    jasmine .

    Hi,
    The steps are as follows:
    1) Create a java file with .java extension.
    2)Compile it to create a .class file.
    3) Create a zip file for this .class file using any compressed archive program(ex-winrar)
    4) Upload this zip file as an imported archive ,save and activate.
    When you go to this archive,below , you can see your .class file with the older path,for below ex:
    ObjRecord.class     jxl/biff/drawing/
    you have to give following entry in imports section:
    jxl.biff.drawing.ObjRecord;
    Please try this and let us know if this works.
    Thanks.
    Regards,
    Shweta

  • Error in User defined function for dynamic file naming

    Hi,
    While creating User Defined function with this following code for dynamic fieldname
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
    String ourSourceFileName = conf.get(key);
    return ourSourceFileName;
    which options should i select for cache Value, Context, Queue
    for Augument , what name shd i mention.
    Regards,
    Varun

    Hi Varun,
    I guess I have answered a similar question just a few minutes before on very similar post from you. Just pasting the same here .................
    Are you trying to access the ASMA values from the SOAP header of the XI message for the source file name?
    First of all you need to Set the Sender File Adapter for Set ASMA and then file name. So it will work fine when you actually run the scenario end to end.
    But in the mapping tool when you test the mapping - there is not message header updated with the actual source filename - and whenever you try to read the FileName attribute in the message header from the UDF - it cannot find the object and returns a NullPointerException.
    I would suuggest for your mapping tool testing to be successful, have a check in the java code for null values,
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
    String ourSourceFileName = conf.get(key);
    If (ourSourceFileName != null)
       Return ourSourceFileName;
    Return "NoFileName.txt";
    Let us know if this works.
    Regards,
    Suddha

  • Need user define function for the message  mapping structure

    Hi All
    I am new to XI.I need the java code for Udf for the following structure.
    i have two input and one out put as error.
    order_nos----
    user define function-------error message
    order_details----
    num of orders---- i.e. 10
    order_details------ i.e. whole order records details
    1.i have to compare the 1st  input with 2nd one means if the ist input contain 10 means there are 10 orders in 2nd input.if not then i have to give error message .
    2.then i have to check the fields in 2nd input has no null values.if no values the output will be error message.
    Edited by: Rohit Kumar on Dec 18, 2008 4:43 PM

    Hi Sudhir
    thanks for your continues help.i need some help so that i can fulfill my requirmrnt
    this is my message mapping xml.
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ns0:methodCall_MT xmlns:ns0="http://www.dfdsf">
      <num_orders>10</num_orders>
      <test_mode />
    - <order_x>                        ( which is order details)
      <order_id>t78tyu8t</order_id>
      <order_date />
      <mfg_id />
      <catalog_id />
      <first_name />
      <last_name />
      <recipient />
      <message />
      <address1 />
      <address2 />
      <address3 />
      <city />
      <state />
      <zip />
      <country />
      <country_code />
      <phone />
      <subtotal />
      <tax />
      <shipping />
      <total />
      <shopatron_total />
      <fulfiller_total />
      <shipment_id />
    - <additional_info>
      <in_store_pickup />
    - <express_shipping>
      <express_shipping_flag />
      <express_shipping_text />
      <express_shipping_arrival />
      </express_shipping>
      </additional_info>
    - <discount>
      <discount_description />
      <discount_percentage />
      <discount_total />
      </discount>
      <lang_id />
      <currency_id />
      <packing_list />
      <num_items />
    - <items>
      <item_id />
      <quantity />
      <price />
      <part_number />
      <fulfiller_total />
      <shopatron_total />
    - <options>
      <option_x />
      </options>
      </items>
      </order_x>
      </ns0:methodCall_MT>
    this my mapping where under one element number elements are there.when i am excuting the code to check the null value its always giving the there is null val but i have filled evrything.its due to first its checking the order_x and which will be always null.uder this all data will be filled.please suggest what to change in the udf.the code  given by u is working fine but its failing in this scenario because it getting the parent filed is null.

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

    hi 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

  • UDF(user defined function) for standard date transformate function,

    Hi All,
    Hope you are doing good !!!
    I have a requirement where i need to write an UDF(user defined function). Please help me in writing the code for below logic-
    I am getting my Input as 111213 where 11 denotes HH 12 denotes mm 13 denotes ss. I need ti insert : between hh:mm:ss
    Please help me achieving a code for below logic
    I have used standard date transformate function, there i am getting spaces as separator in my input resulting an errors i am sending without spaces.
    Regards,
    Vijay Kumar.

    Hello,
    I am getting my Input as 111213 where 11 denotes HH 12 denotes mm 13 denotes ss. I need ti insert : between hh:mm:ss
    Please help me achieving a code for below logic
    I have used standard date transformate function, there i am getting spaces as separator in my input resulting an errors i am sending without spaces.
    What do you mean by spaces? Can you try the mapping below?
    inputDate -> replaceString -> dateTrans(inputDateFormat: HHmmss outputDateFormat: HH:mm:ss) -> target
    Constant: -> /
    Constant:-> /
    Hope this helps,
    Mark

  • User defined function for getting last string in the line

    Hi Experts,
    I am not java expert, can anyone give me user defined function for getting last string in the line.
    for example if the source field is "NEW ARBOUR SQUARE"  i want to pass to target field only last string that is "SQUARE"
    please help me out of this.
    Kind Regards.
    Praveen.

    You don't even need a UDF for this. In the graphical editor look for the standard functions and once you do a scroll over on 'text functions; you will find what you are looking for.
    Just a piece of advice, try keeping UDF's to minimum unless really required or it is complicated without it.
    regards

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

Maybe you are looking for