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.
