on 01-28-2008 5:12 PM
Hi Experts,
I'm in process of doing a change (add a new characteristic) in an infocube using Remodeling.
I'm trying to use the customer-exit feature using the example user exit --> CL_RSCNV_USER_EXIT_SAMPLE, as my template.
1. Can anyone tell me how to turn on interactive debugging when I execute the remodelling so I can debug the user exit I am using?
2. Has anyone use this sample user exit (see above) and does it return the month of the day? I'm using 0FISCPER as the source field.
Here's the code that I am using:
METHOD IF_RSCNV_EXIT~EXIT.
FIELD-SYMBOLS: <l_s_old> TYPE ANY,
<l_fillfield> TYPE ANY,
<l_newfield> TYPE ANY.
DATA: l_chavl TYPE rschavl,
l_0calmonth_chavl TYPE rschavl,
l_attr TYPE string.
break-point.
*****************************************************
Assign the references to field symbols
*****************************************************
ASSIGN c_r_newfield->* TO <l_newfield>.
ASSIGN i_r_old->* TO <l_s_old>.
*****************************************************
To use the individual fields of the old table
structure (e.g. SID_0CALDAY), assign these fields
to field symbols using the field name.
*****************************************************
1/22/2008 -- Request XXXX Add to Period without Year in DV cubes
**ASSIGN COMPONENT 'SID_0CALDAY' OF STRUCTURE <l_s_old> TO <l_fillfield>.
ASSIGN COMPONENT 'SID_0FISCPER' OF STRUCTURE <l_s_old> TO <l_fillfield>.
*****************************************************
Implement the logic you want to use for determing
the value to be filled into the new field.
*
E.g. Here, I have the SID of 0CALDAY available in
<l_fillfield>. I then do the following -
*
1) Get the 0CALDAY value corresponding to that SID.
2) Extract the month from this value
3) Get the SID for this month value
4) Assign this value to the changing parameter
through a field symbol
(Note: Steps 3 and 4 are done in one step in the
code)
*****************************************************
CALL FUNCTION 'RRSI_SID_VAL_SINGLE_CONVERT'
EXPORTING
i_iobjnm = '0CALDAY'
i_iobjnm = '0FISCPER'
I_S_COB_PRO =
i_sid = <l_fillfield>
IMPORTING
e_chavl = l_chavl
E_S_NODESID =
EXCEPTIONS
no_value_for_sid = 1
x_message = 2
OTHERS = 3
.
IF sy-subrc <> 0.
l_attr = text-001.
RAISE EXCEPTION TYPE cx_rscnv_exception
EXPORTING
attr1 = 'CL_RSCNV_USER_EXIT_SAMPLE'
attr1 = 'ZDV_FOR_0FISCPER3'
attr2 = 'EXIT-1'
attr3 = l_attr
ATTR4 = sy-subrc
.
ENDIF.
l_0calmonth_chavl = l_chavl+0(6).
CALL FUNCTION 'RRSI_VAL_SID_SINGLE_CONVERT'
EXPORTING
i_iobjnm = '0CALMONTH'
i_chavl = l_0calmonth_chavl
I_S_COB_PRO =
I_CHECKFL = RS_C_FALSE
I_WRITEFL = RRSI_C_WRITEFL-NO
I_MASTERDATA_CREATE = RS_C_TRUE
I_RNSID =
I_NEW_VALUES = RS_C_FALSE
IMPORTING
e_sid = <l_newfield>
EXCEPTIONS
no_sid = 1
chavl_not_allowed = 2
chavl_not_figure = 3
chavl_not_plausible = 4
x_message = 5
interval_not_found = 6
foreign_lock = 7
inherited_error = 8
OTHERS = 9
.
IF sy-subrc <> 0.
l_attr = text-002.
RAISE EXCEPTION TYPE cx_rscnv_exception
EXPORTING
attr1 = 'CL_RSCNV_USER_EXIT_SAMPLE'
attr1 = 'ZDV_FOR_0FISCPER3'
attr2 = 'EXIT-2'
attr3 = l_attr
ATTR4 = sy-subrc
.
ENDIF.
Cant you start the activities in simulation mode? So that you can check your routine works fine.
Regards
MultiABAP
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
I also wonder how can I debug the user exit and check if the code is correct?
Any ideas?
Regards,
Juergen
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
95 | |
11 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.