on 08-02-2017 6:44 AM
Hello,
We implement MDG for materials 8.0.
I’m faced with issue when trying to get value from the initial screen for the CR type MAT02 ( edit material ) at the specified storage location <LGORT>. I can’t find reference to the variables from the initial selection screen.
I try to use the BadI USMD_SSW_RULE_CONTEXT_PREPARE with adding the <LGORT> for the decision tables in BRF+ (User Agent Decision tables) .
I have following code
…..
* test get type of CR
CALL METHOD read_crequest
EXPORTING
iv_cr_number = iv_cr_number
IMPORTING
es_crequest = lv_crequest.
CALL METHOD read_material
EXPORTING
iv_cr_number = iv_cr_number
IMPORTING
es_material = ls_material.
….
I’m going to get necessary <LGORT> at the structure LS_MATERIAL which is equal to value from initial screen.
Could you give me advance, how to solve this problem.
Best regards,
Natalia
Hello,
I would like to add few words:
I’m faced with issue if material has been already created on different storage location level.
I use the BadI USMD_SSW_RULE_CONTEXT_PREPARE with adding the <LGORT> for the decision tables in BRF+ .
I need to determine person who will be approved CR on level LGORT, which is equal to value from initial screen.
I need to get value from the initial screen for the CR type MAT02 ( edit material ) at the specified storage location <LGORT>.
….
The METHOD read_material:
. . .
CALL METHOD lr_model->create_data_reference
EXPORTING
i_fieldname = if_mdg_bs_mat_gen_c=>GC_FIELDNAME_MARDSTOR
i_struct = lr_model->gc_struct_key_attr
if_table = abap_true
i_tabtype = lr_model->gc_tabtype_sorted
IMPORTING
er_data = lr_data.
ASSIGN lr_data->* TO <lt_data>.
CLEAR lt_sel.
ls_sel-fieldname = if_mdg_bs_mat_gen_c=>gc_fieldname_material.
ls_sel-sign = lc_incl.
ls_sel-option = lc_equal.
ls_sel-low = lv_matnr.INSERT ls_sel INTO TABLE lt_sel.
ls_sel-fieldname = usmd0_cs_fld-crequest.
ls_sel-low = iv_cr_number.INSERT ls_sel INTO TABLE lt_sel.
CALL METHOD lr_model->read_char_value
EXPORTING
i_fieldname = if_mdg_bs_mat_gen_c=>gc_fieldname_MARDSTOR
it_sel = lt_sel
i_readmode = if_usmd_model_ext=>gc_readmode_default
if_use_edtn_slice = abap_false
IMPORTING
et_data = <lt_data>.
...
<lt_data>contain ALL lgort, which material was extended.
I’m going to get the needed <LGORT> at the structure LS_MATERIAL which is equal to value from initial screen (only one).
For solution my problem , I try to use this method:
Data : LV_RS_INITIAL_SCREEN_VALUES TYPE MDG_BS_MAT_S_MP_SETTINGS_DATA.
CALL METHOD CL_MDG_BS_MAT_SETTINGS=>GET_INITIAL_SCREEN_VALUES(
RECEIVING
RS_INITIAL_SCREEN_VALUES = LV_RS_INITIAL_SCREEN_VALUES ).
Unfortunately this method does not work correctly.
LV_RS_INITIAL_SCREEN_VALUES is empty.
Where is my error ?Please, explain in code or something that how to get lgort from initial screen. ?
Best regards, Natalia
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
86 | |
10 | |
10 | |
9 | |
6 | |
6 | |
6 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.