Skip to Content
0
Mar 20, 2015 at 09:19 AM

IPC help on User Exit Type VAL

85 Views

Hello Experts,

In ECC we have a custom condition type ZYTS and against that there is a formulae routine attached and in the routine there is some code which i need to re-write in CRM IPC java using ECLIPSE.

Below is the code in ECC for 900 routine which i need to right in IPC JAVA( I know how to right the JAVA coding for this)

xkwert = xworkd - xworke

.

So below are the steps I did...

1) Eclipse JDK 1.4 I created on custom exit ZCUS_900 and did the coding in eclipse.

2) /SAPCND/UE_DEV -->Upload the JAR file from Eclipse to VMC.

3) /SAPCND/UEASS --> ASSIGN ZCUS_900 to usage type "PR" and User Exit Type "VAL".

4) THEN assign ZCUS_900 to forumale number 900 and this formula number is assign to my the condition type ZYTS,

5) SM52-->VMC-->RESET.

6) ZYTS is a condition formula with no access sequence.

7) SET PRC_RFC = X.

Now when I create the sales order in CRM then I am putting a breakpoint in ZCUS_900 but my breakpoint is not getting trigger. If I put breakpoint in another IPC exit ZCUS_914 which I created for REQ type for another condition type then the breakpoint trigger in ECLIPSE and I can debug for ZCUS_914.

Once my breakpoint trigger in ZCUS_900 then I only I can write the code as per ECC routine.

What I found is that in one of the VMC RFC we pass the HEADER GUID and it return all the CONDITION TYPE in that i cannot see my condition type ZYTS. Is it because of this my ZCUS_900 not trigger or do I need to register ZCUS_900 in some other standard java exit??

Code : ZCUS_900 ( below is just the sample code I have written later i will changed it, once my breakpoint trigger),

public class ZCUS_900 extends ValueFormulaAdapter {

/* private static UserexitLogger uelogger = new UserexitLogger(ZCUS_900.class);*/

public IPricingConditionUserExit overwriteConditionValue(IPricingItemUserExit pricingItem,

IPricingConditionUserExit pricingCondition, String kschl, ICurrencyValue XKWERT) throws ConversionMissingDataException {

BigDecimal value = new BigDecimal(2);

pricingCondition.setConditionValue(value);

pricingCondition.setConditionBaseValue(value);

pricingCondition.setConditionRate(PricingTransactiondataConstants.ZERO, "%");

return pricingCondition;

}

}

Regards,

Jan.