on 07-30-2014 3:34 PM
Hi Experts,
We've a planning layout on an Aggregation Level 1, which is directly based on a Planning DSO 1. I wanted to execute a Planning function which is based on Aggregation Level 2, which is based on a MultiProvider having two Planning DSO's 1 and 2. This Planning function will copy data from DSO1 to DSO2. This shall be executed on Save.
Now when I save the promotion, it goes to the dump of "Unassigned Field Symbol".
In this case, I can't even implement the BADI: RSCRM_IMP_QUERY for InfoProvider restriction to which the data needs to be saved because the query is based on Aggregation Level 1 which is directly based on DSO1.
It would be great to share your expert thoughts here.
Thanks & regards,
Jomy
Have you tried implementing the badi RSCRM_IMP_EVT_PLANNING_FUNCT, and change your info provider selection? you also need to set the filter as custom when you register the PF
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Karthik,
Yes in RSCRM_EVENTCUST, I've maintained custom as QFilter for this Planning Function and I've also implemented the BADI: RSCRM_IMP_EVT_PLANNING_FUNCT with the below code:
DATA: lw_var TYPE rscrms_imp_selection,
lw_var_ran TYPE rscrms_imp_range_value,
lt_var_ran TYPE rscrmt_imp_range_value.
CLEAR: lw_var_ran, lw_var, lt_var_ran.
IF iv_query_id EQ 'YTPMP_AC01_Q0001' .
IF iv_planning_function EQ 'YTPMMP_PF_03'.
lw_var-name = '0INFOPROV'.
lw_var_ran-sign = 'I'.
lw_var_ran-option = 'EQ'.
lw_var_ran-low = 'YTPMPD02'.
APPEND lw_var_ran TO lt_var_ran.
lw_var-values = lt_var_ran.
APPEND lw_var TO ct_variables.
ENDIF.
ENDIF.
But it still somehow dumps, do you think something more needs to be done.
Thanks & regards,
Jomy
HI Karthik,
It dumps at the below code:
The termination occurred in ABAP program "CL_RSDRC_TREX_QUERY_LAYER=====CP",
in "_GET_PARTPROVS_WITH_TREX_PART". The main program
was "SAPMSSY1".
11 LOOP AT l_ts_partprov ASSIGNING <l_partprov>.
12 IF i_r_ipro->n_s_dta-cubetype = rsd_c_cubetype-hcpr
13 AND i_r_ipro->is_execution_on_part_possible( ) = rs_c_false
14 AND i_r_ipro->is_part_in_columnview( i_partprov = <l_partprov>-partprov ) = rs_c_true.
15 IF rs_c_false = cl_rsdrc_trex_query_layer=>_has_partprov_trex_part(
16 i_partprov = i_r_ipro->n_infoprov
17 i_th_sfc = i_th_sfc
18 i_actualdata = <l_partprov>-actualdata
19 i_cubetype = i_r_ipro->n_s_dta-cubetype ).
20
21 DELETE l_ts_partprov.
22 ENDIF.
23 ELSE.
24 READ TABLE i_r_ipro->n_ts_part ASSIGNING <l_s_part>
25 WITH KEY partprov = <l_partprov>-partprov.
26
>>>>> _map_sfc_to_part(
28 EXPORTING
29 i_infoprov = <l_s_part>-infoprov
30 i_partprov = <l_partprov>-partprov
31 i_th_sfc = i_th_sfc
32 IMPORTING
33 e_th_sfc = l_th_sfc ).
I did not understood your last ask:
"Also in ur badi, when u add the infoprovider did you remove others and made sure it had only the one you need?"
It's under a IF ELSE right and hence shouldn't be an issue, i believe as shown below:
DATA: lw_var TYPE rscrms_imp_selection,
lw_var_ran TYPE rscrms_imp_range_value,
lt_var_ran TYPE rscrmt_imp_range_value.
CLEAR: lw_var_ran, lw_var, lt_var_ran.
IF iv_query_id EQ 'YTPMP_AC01_Q0001' .
IF iv_planning_function EQ 'YTPMMP_PF_03'.
lw_var-name = '0INFOPROV'.
lw_var_ran-sign = 'I'.
lw_var_ran-option = 'EQ'.
lw_var_ran-low = 'YTPMPD02'.
APPEND lw_var_ran TO lt_var_ran.
lw_var-values = lt_var_ran.
APPEND lw_var TO ct_variables.
ENDIF.
ENDIF.
Let me know what you think.
Really appreciate your help here.
Thanks & regards,
Jomy
Hi Karthik,
Are you saying we can't execute a planning function which is on a different aggregation level which is based on MP?
One more observation:
When I skip this code where dump happens, then everything works perfectly fine. This means something gets set in some table for it to go over this code.
Really appreciate your help here.
Thanks ,
Jomy
Hi Experts,
Really appreciate, if someone can guide on this issue.
Some observations:
a) The control comes to this point and if I bypass this code, then this works for ever unless and untill I reactivated the MultiProvider and Aggregation Level.
b) In the case of dump, the dumps happens because of unassigned field symbol <l_s_part>-infoprov .
This is because Read Table read table i_r_ipro->n_ts_part has all part providers but not the Aggregation Level itself but reading of the table happens with below key:
with key partprov = <l_partprov>-partprov which is nothing but the Aggregation Level.
Thanks & regards,
Jomy
User | Count |
---|---|
85 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.