cancel
Showing results for 
Search instead for 
Did you mean: 

is the way user exit written in BI 7 different from the BW 3.5 user exit ?

Former Member
0 Kudos
80

Hi

I have a user exit that is running fine in BW 3.5.

But when i created a new user exit in BI 7.0 for a posting period variable.

& copy-paste the code from BW 3.5

this code is fine , & free from all errors .

But when run the Query on Bi 7.0 Analyser i am just getting an error that "error in customer enchancement"

I have tried to debug the code using RSRT & RSECADMIN , but couldnt find any errors in it.

somewhere though it relates to the "Brain 649 error" . I have gone through the forums related to Brain 649 & the tried the stuff mentioned there . But nothing could resolve my problem yet.

I am pasting the user exit below for your reference

&----


*& Include ZXRSRU01

&----


DATA: L_S_RANGE TYPE RSR_S_RANGESID,

zfisyear type /BI0/OIFISCYEAR,

ZUPTOPER_HIGH like /BI0/AFIGL_O0200-FISCPER,

LOC_VAR_RANGE type RRS0_S_VAR_RANGE.

Data: zfispf type /BI0/OIFISCPER3,

ZUPTOPOS_HIGH like /BIC/AZSEM_O1100-FISCPER3.

TABLES: T009B.

*For accepting the values from the variable.

CASE I_VNAM.

  • Current month to date variable ZCMTD example.

WHEN 'ZUPTOPER'.

IF I_STEP = 2.

READ TABLE I_T_VAR_RANGE INTO LOC_VAR_RANGE with key VNAM =

'ZFISPER'.

ZUPTOPER_HIGH = LOC_VAR_RANGE-LOW.

  • you variable name

DATA: ZUPTOPER_LOW like /BI0/AFIGL_O0200-FISCPER.

*defining variable for using as a starting date of the interval

*added by yogesh

*SELECT SINGLE * FROM T009B

  • WHERE PERIV = 'Z2'

  • AND BUMON = SY-DATUM+4(2).

  • IF SY-SUBRC = 0.

  • zfisyear = SY-DATUM+0(4) + T009B-RELJR.

  • ENDIF.

*end by yogesh

zfisyear = LOC_VAR_RANGE-LOW+0(4).

concatenate zfisyear '001' into ZUPTOPER_LOW.

CLEAR L_S_RANGE.

L_S_RANGE-LOW = ZUPTOPER_LOW.

*initializing low interval limit

L_S_RANGE-HIGH = ZUPTOPER_HIGH.

*initializing high interval limit

L_S_RANGE-SIGN = 'I'.

*defining interval as inclusive

L_S_RANGE-OPT = 'BT'.

APPEND L_S_RANGE TO E_T_RANGE.

ENDIF.

***********TCS_AYG * 16/03/2007 *

  • For making Year to Date calculations based on Customer Exits

  • For YTD Posting Period "ZUPTOPOS" and Current Posting Period "ZFISPF".

  • BEx Queries: ZCCAPLACT_PLAN_ACTUAL_2

WHEN 'ZUPTOPOS'.

IF I_STEP = 2.

READ TABLE I_T_VAR_RANGE INTO LOC_VAR_RANGE with key VNAM =

'ZFISPF'.

ZUPTOPOS_HIGH = LOC_VAR_RANGE-LOW.

DATA: ZUPTOPOS_LOW like /BIC/AZSEM_O1100-FISCPER3.

concatenate zfisyear '001' into ZUPTOPOS_LOW.

CLEAR L_S_RANGE.

L_S_RANGE-LOW = ZUPTOPOS_LOW.

*initializing low interval limit

L_S_RANGE-HIGH = ZUPTOPOS_HIGH.

*initializing high interval limit

L_S_RANGE-SIGN = 'I'.

*defining interval as inclusive

L_S_RANGE-OPT = 'BT'.

APPEND L_S_RANGE TO E_T_RANGE.

ENDIF.

*****end TCS_AYG

Please let me know what can be done ?

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Nagesh,

thanks a lot for your reply.

i tried to re-create evrything , miraclously evrything seems to be fine now.

)

regards,

ramesh

Former Member
0 Kudos

Ramesh,

Try to know the Rules in Forum. You asked us to point out the error in the code. I found some thing(i know, one statement is missing), you need to think about time.

No body like to waste their time just like that.

As an experienced BW Technical Person, if i paste the above code, i will get error only.

You need encourage by assigning the points.

Nagesh Ganisetti.

Former Member
0 Kudos

Ramesh,

I can see one thing from your Code. for the Variable "ZUPTOPOS", You are not populating "zfisyear ". If Calender Year and Fiscal Year both are same.

You need to Declare a statement to polate data i.e. zfisyear = sy-datum+0(4).

Let me know whether it helps?

Regards,

Nagesh Ganisetti.

*Assing Points if it helps.