cancel
Showing results for 
Search instead for 
Did you mean: 

UDF based on conditions

Former Member
0 Kudos

Dear Experts,

I have a requirement wherein its a idoc to file scenario when idocs are triggered at source wherein in a single idoc there are many different SPART(divisions) under each segment.


For particular division alone its adding zeros in front for MATNR(materials) field I wanted to make an conditions either through UDF or graphical mapping wherein it should not disturb other division in a single same xml when reaching the target path.

Please find below screenshot. Kindly help and Many Thanks.

Accepted Solutions (1)

Accepted Solutions (1)

iaki_vila
Active Contributor
0 Kudos

Hi Rajesh,

Try with:

MATNR = MATNR.replaceFirst("^0+(?!$)", "");

Check this thread java - How to remove leading zeros from alphanumeric text? - Stack Overflow

Regards.

Former Member
0 Kudos

Hi Inaki,

I tried above UDF code but getting below error. Please help. Thanks.

sahithi_moparthi
Contributor
0 Kudos


Hi,

Try this

if(SPART.equals("GP"))

condition

else

condition

Regards,

Sahithi

Former Member
0 Kudos

Hi Sahithi,

I tried the same but Getting error which specifies:

       Source code has syntax error:
/usr/sap/DPI/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Mapf066c9a0ee5011e4b51c00226494d57d/source/com/sap/xi/tf/_MM_ITEMMASTER_IDOC_.java:764: missing return statement
}
^
1 error

Code:

public String Getmatnr(String MATNR,String SPART,Container container){

if(SPART.equals("GP"))

{

MATNR = MATNR.replaceFirst("^0+(?!$)", "");

}

else

return MATNR;

sahithi_moparthi
Contributor
0 Kudos

Hi,

Try this with Execution type as : Context

for(int i = 0;i< SPART.length;i++)
{
if(SPART[i].equals("GP"))
{
   MATNR[i] = MATNR[i].replaceFirst("^0+(?!$)", "");
}
result.addValue(MATNR[i]);

}

iaki_vila
Active Contributor
0 Kudos

Hi Rajesh,

Try this:

public String Mapeo(String MANTR,String SPART,Container container){

if (SPART.equals("GP"))

{

MANTR = MANTR.replaceFirst("^0+(?!$)", "");

}

return MANTR;

}

Regards.

Former Member
0 Kudos

Hi Sahithi,

Now getting below error:

Former Member
0 Kudos

Hi Inaki,

Thanks alot Inaki. Above JAVA code solved my problem and full filled my requirement.

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Rajesh,

Use if else condition and map it to formatnumber function to add or deleting leading zeros.

Regards,

Suhale Shaik