研究、分享我学习零售业SAP的历程
------------打造中国第一个零售SAP博客
1. Split Function

          String [ ] StrArray = LGORT.split(",") //-- pass LGORT to this UDF
          int len1 = LGORT.length;
          for ( i=0;i<len1;i++){ result.addValue(StrArray[i]); }

  2. Global Containers
       2.1 To store values in global variable

          container.getGlobalContainer ().setParameter ("str", FIELDNAME);

       2.2 To get the value already stored in global variable.

          String myStr = (String) container.getGlobalContainer().getParameter ("str");

  3. RemoveLeadingZeros

          int value = Integer.parseInt(str);
          String str1 = Integer.toString(value) ;
          return str1;

         You can also use this code.

           Here a is input string.

            //write your code here
            String b = a.replaceFirst("^0+", "");
           return b;
      

  4. Unique Value

          String strLocal = 
               (String) container.getGlobalContainer().getParameter ("strGlobal");
          container.getGlobalContainer ().setParameter ("strGlobal", str);
          if (!str.equals(strLocal))
          return "1";
          else 
          return "0"; 

  5. Credit/Debit using Substring

          int i = str.length();
          String str1 = str.substring(i-1,i);
          if (str1.equals("-"))
          return "D";
          else
          return "K";         

 6. Capturing Input File name in output file

           DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);

           DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File" , "FileName");

          String Outputfile = conf.get(key,a); //ENABLE ASMA in Receiver File Channel
          return Outputfile;

7. Remove Comma from string

        Here 'a' is a input string.

        //write your code here
        String b = "";
        b = a.replaceAll(",", "");
       return b;

8. Find Index of a word or sentence inside one sentence and get sub string starting from that index

Fixed string to find in sentence coming from input "a". Result will contain that index no as start point of index in other sentence.

   //write your code here
String  fixed = "ORDER OF"; //Fixed string to find in sentence coming from input "a". Result will contain that index no as start point of index in other sentence.
String res = "";
int index = 0;
index = a.indexOf(fixed);
res = b.substring(index+9,index+12);
return res;

9. Add New line in End of Each xml tag

xmlstring is input to this program.

   //write your code here
String res = "";
int flag = 0;
for(int i = 0;i<xmlString.length();i++)

Unknown macro: {  if(xmlString.charAt (i) =='<')  {   flag = 1;   res = res + xmlString.charAt (i);   }

 else
 

Unknown macro: {   if(xmlString.charAt (i) =='>')   {    flag = 0;    res = res +xmlString.charAt (i) + "n";   }

  else
  


Unknown macro: {    res = res +xmlString.charAt (i);    }

 }
}

return res;

10. Displaying XMLString in single line into approriate XML format

xmlString = xmlString.replaceALL("><","">\n<");

11. Check if Integer

 try
{
int i=Integer.parseInt(input,10);
return "Integer";
}catch (NumberFormatException exception)
{
return "String";
}

12. Remove duplicates from list

   //write your code here   
HashSet h = new HashSet();
for (int i=0; i<a.length; i++)
{      if (! h.contains(a[i]))    

Unknown macro: {        h.add(a[i]);        result.addValue(a[i]);     }

}
https://wiki.sdn.sap.com/wiki/display/XI/JAVA+Functions+in+XI
posted on 2010-08-18 22:04  会东  阅读(839)  评论(0编辑  收藏  举报