Example Source Code
The following unsupported source code is not intended to be a production-ready implementation and is provided only as an example of how to customize SAP to meet your specific needs.
Note:
The server name and the parameter values of the constant gc_url must be modified to match the your deployment as described in Compose View URLs.
*&---------------------------------------------------------------------* *& Report ZPM_CALLEX *& *&---------------------------------------------------------------------* REPORT zpm_callex. CONSTANTS: gc_url TYPE string VALUE 'http://servername/BCEnterprise/home.aspx?VIEWID=DOC_3A9E0&TAGFILTER=9d14c5&NAVSTATE=HIDE&'. FORM zcallex_fl. DATA: lv_url TYPE bxmnodes-url, ls_iflo TYPE iflo. PERFORM get_context_iflo CHANGING ls_iflo. IF ls_iflo-tplnr IS INITIAL. MESSAGE s398(00) WITH 'Functional location can not be determined'. ELSE. WRITE ls_iflo-tplnr TO ls_iflo-tplnr USING EDIT MASK '==TPLNR'. CONCATENATE gc_url 'FL=' ls_iflo-tplnr INTO lv_url. CALL FUNCTION 'PRGN_GENER_EXECUTE_URL' EXPORTING node_data = lv_url. ENDIF. ENDFORM. " *&---------------------------------------------------------------------* *& Form GET_CONTEXT_IFLO *&---------------------------------------------------------------------* FORM get_context_iflo CHANGING cs_iflo TYPE iflo. DATA: lv_name TYPE string. FIELD-SYMBOLS <ls_iflo> TYPE iflo. * Context data sent by COIH lv_name = '(SAPMILO0)IFLO'. ASSIGN (lv_name) TO <ls_iflo>. IF sy-subrc <> 0. RETURN. ENDIF. cs_iflo = <ls_iflo>. ENDFORM. FORM zcallex_eq. DATA: lv_url TYPE bxmnodes-url, ls_itob TYPE itob. PERFORM get_context_itob CHANGING ls_itob. IF ls_itob-equnr IS INITIAL. MESSAGE s398(00) WITH 'Equipment can not be determined'. ELSE. * write ls_iflo-tplnr to ls_iflo-tplnr using edit mask '==TPLNR'. CONCATENATE gc_url 'EQ=' ls_itob-equnr INTO lv_url. CALL FUNCTION 'PRGN_GENER_EXECUTE_URL' EXPORTING node_data = lv_url. ENDIF. ENDFORM. " *&---------------------------------------------------------------------* *& Form GET_CONTEXT_ITOB *&---------------------------------------------------------------------* FORM get_context_itob CHANGING cs_itob TYPE itob. DATA: lv_name TYPE string. FIELD-SYMBOLS <ls_itob> TYPE itob. * Context data sent by COIH lv_name = '(SAPMIEQ0)ITOB'. ASSIGN (lv_name) TO <ls_itob>. IF sy-subrc <> 0. RETURN. ENDIF. cs_itob = <ls_itob>. ENDFORM.