Introduction : In CRM , sometimes we get the requirement to display the order details of the order chosen by the user from ALV list and then display the complete order details . This is done with the help of the transaction ‘CRMD_ORDER’. But after selecting one of the orders from the interactive alv list , the transaction cmd_order gets open but with the initial screen .We have to put the order_number over there and execute it . After that complete transactions gets available for the user.
Below steps 1to 4 are displaying the simple flow of transaction while step 5 to 6 displays the flow after the code addition for bypassing the initial screen.
Step 1 : Transaction : CRMD_ORDER
Step 2 : Open the Business transaction :
Step 3 :Put the Order Number :
Step 4 : CRMD_ORDER Screen.
We can bypass the initial screes and directly call the transaction with help of following steps.
Step 1 : Create a simple program to display the list of orders with the order details .
Step 2 : While making the ALV as the interactive one , on the selection of ‘OBJECT_ID’, one object needs to prepare with the help of guid for the transaction.
Step 3 : If object is successfully prepared, call method ‘get_main_screen’ with the object ,
Step 4 : Call the FM 'CRM_1O_MANAG_CALL_SCREEN_UI' to get the screen.
Below is the Code to be executed on the USER Command :
*User actions on ALV
FORM user_command USING r_ucomm TYPE sy-ucomm
rs_selfield TYPE slis_selfield.
READ TABLE lt_final INTO ls_final INDEX rs_selfield-tabindex .
IF sy-subrc EQ 0.
CASE r_ucomm.
WHEN '&IC1'.
IF rs_selfield-fieldname = 'OBJECT_ID'.
gv_1o_frame_pa-transaction_guid = ls_final-guid.
CREATE OBJECT gv_1o_manag
EXPORTING
iv_with_navig = gv_boolean
iv_1o_frame_pa = gv_1o_frame_pa.
IF sy-subrc = 0.
*----------Do Nothing
ENDIF.
CALL METHOD gv_1o_manag->get_main_screen
IMPORTING
ev_dynnr = gv_dynnr.
CALL FUNCTION 'CRM_1O_MANAG_CALL_SCREEN_UI'
EXPORTING
iv_dynnr = gv_dynnr
iv_1o_frame_pa = gv_1o_frame_pa.
- Endif.
- Endif.
- ENDFORM. "user_command.
Output :
Step 5 :
Step 6:
Summary : In ALV by bypassing the first screen , CRMD_ORDER can be display .