‎2010 Feb 12 11:05 AM
Hello,
I am trying to create a Class call via a navigation profile in ECC6, in transaction COOIS.
I am attempting to use class CL_COIS_DETAIL_MPT_PI, however I keep getting a short dump DYN_CALL_METH_PARAM_MISSING. Essentially this is because the function parameter is not set.
However, I do not know what function parameter to set, and when I try to find out whether this parameter is evaluated by the class and which values I can enter, there is no documentation for this in the corresponding class. The documentation button gives me message "The data element does not appear on any screen".
How can I find out the function parameter values?
Thanks.
‎2010 Sep 22 4:27 PM
For create a class call, you must create a new specific class in SE24 and add interface IF_NAVIGATION_PROFILE. After save and activate, you can see a method IF_NAVIGATION_PROFILE~USER_COMMAND. In this method, you can add your specific code like bellow :
DATA : lo_alv_grid TYPE REF TO cl_gui_alv_grid
, ls_cell_row TYPE lvc_s_row
, ls_cell_col TYPE lvc_s_col
, lv_aufnr TYPE afru-aufnr
, lv_vornr TYPE afru-vornr
.
FIELD-SYMBOLS: <table> TYPE table
, <ls_dataline> TYPE ANY
, <field> TYPE ANY
, <data> TYPE zpp00_cois_confirmation
.
get data table from reference
ASSIGN id_table->* TO <table>.
TRY.
lo_alv_grid ?= io_alv.
CATCH cx_sy_move_cast_error.
ENDTRY.
CHECK lo_alv_grid IS NOT INITIAL.
*ALV is found. Get cell selected
lo_alv_grid->get_current_cell(
IMPORTING
es_row_id = ls_cell_row
es_col_id = ls_cell_col ).
cl_gui_cfw=>flush( ).
CHECK ls_cell_row-rowtype IS INITIAL.
READ TABLE <table> INDEX ls_cell_row-index
ASSIGNING <ls_dataline>.
IF sy-subrc <> 0.
MESSAGE i017(navigation_profile).
EXIT.
ENDIF.
CHECK <ls_dataline> IS ASSIGNED.
*Cell selected is found. Get order and operation numbers
ASSIGN COMPONENT 'AUFNR' OF STRUCTURE <ls_dataline> TO <field>.
CHECK <field> IS ASSIGNED.
lv_aufnr = <field>.
UNASSIGN <field>.
ASSIGN COMPONENT 'VORNR' OF STRUCTURE <ls_dataline> TO <field>.
CHECK <field> IS ASSIGNED.
lv_vornr = <field>.
UNASSIGN <field>.
CHECK lv_aufnr IS NOT INITIAL AND lv_vornr IS NOT INITIAL.
==> Action like call CO02
Regards,
Yannick