Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Function Parameter for a Class Call in a Navigation Profile

Former Member
0 Likes
933

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.

1 REPLY 1
Read only

Former Member
0 Likes
475

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