*======================================================================* * Selection Screen *======================================================================* PARAMETERS : P_LOGO TYPE RSTXT-TDNAME."Imag/Logo Name *======================================================================* * Data Objects *======================================================================*
DATA: GV_FM_NAME TYPE RS38L_FNAM, " FM Name GS_FP_DOCPARAMS TYPE SFPDOCPARAMS, GS_FP_OUTPUTPARAMS TYPE SFPOUTPUTPARAMS, GV_NAME TYPE TDOBNAME, GV_LOGO TYPE XSTRING, GV_BMP TYPE XSTRING. *======================================================================* * Constants *======================================================================* CONSTANTS : GC_BTYPE TYPE TDBTYPE VALUE 'BCOL', GC_ID TYPE TDIDGR VALUE 'BMAP', GC_OBJECT TYPE TDOBJECTGR VALUE 'GRAPHICS', GV_FORM_NAME TYPE FPNAME VALUE 'YADOBE_FORM_DEMO5'.
*======================================================================* * START of Calling the Form *======================================================================* *&---------------------------------------------------------------------* **&&~~ Form Processing: Call Form - Open * CALL FUNCTION 'FP_JOB_OPEN' CHANGING IE_OUTPUTPARAMS = GS_FP_OUTPUTPARAMS EXCEPTIONS CANCEL = 1 USAGE_ERROR = 2 SYSTEM_ERROR = 3 INTERNAL_ERROR = 4 OTHERS = 5. IF SY-SUBRC <> 0. " Suitable Error Handling ENDIF. *&---------------------------------------------------------------------* **&&~~ Get the Function module name based on Form Name * CALL FUNCTION 'FP_FUNCTION_MODULE_NAME' EXPORTING I_NAME = GV_FORM_NAME IMPORTING E_FUNCNAME = GV_FM_NAME. IF SY-SUBRC <> 0. " Suitable Error Handling ENDIF.
* Passing the logo name GV_NAME = P_LOGO.
* Get the image/logo graphic information CALL METHOD CL_SSF_XSF_UTILITIES=>GET_BDS_GRAPHIC_AS_BMP EXPORTING P_OBJECT = GC_OBJECT " GRAPHICS P_NAME = GV_NAME " Name of the Logo P_ID = GC_ID " BMAP P_BTYPE = GC_BTYPE " BCOL for color, 'BMON' for Black & White RECEIVING P_BMP = GV_BMP EXCEPTIONS NOT_FOUND = 1 INTERNAL_ERROR = 2 OTHERS = 3.
GV_LOGO = GV_BMP.
*&---------------------------------------------------------------------* **&&~~ Take the FM name by execuing the form - by using Pattern- **&&~~ call that FM and replace the FM Name by gv_fm_name **&&~~ Call the Generated FM CALL FUNCTION GV_FM_NAME EXPORTING /1BCDWB/DOCPARAMS = GS_FP_DOCPARAMS * iv_name = p_name * iv_flag = p_flag IV_LOGO = GV_LOGO EXCEPTIONS USAGE_ERROR = 1 SYSTEM_ERROR = 2 INTERNAL_ERROR = 3 OTHERS = 4. IF SY-SUBRC <> 0. * Implement suitable error handling here ENDIF. *&---------------------------------------------------------------------*
*&---------------------------------------------------------------------* *&---- Close the spool job CALL FUNCTION 'FP_JOB_CLOSE' EXCEPTIONS USAGE_ERROR = 1 SYSTEM_ERROR = 2 INTERNAL_ERROR = 3 OTHERS = 4. IF SY-SUBRC <> 0. * <error handling> ENDIF.