示例代码:
- 代码
DATA: GV_FILE TYPE CHAR50. "Like SO_OBJ_DES PARAMETERS : P_FILE TYPE CHAR100 OBLIGATORY. AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE. PERFORM FRM_GET_FIELDNAME. START-OF-SELECTION. PERFORM FRM_SEND_MAIL. FORM FRM_GET_FIELDNAME . DATA: LV_RC TYPE I. DATA: LT_FILE_TABLE TYPE FILETABLE. CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG EXPORTING WINDOW_TITLE = '打开文件' CHANGING FILE_TABLE = LT_FILE_TABLE RC = LV_RC. IF SY-SUBRC = 0. READ TABLE LT_FILE_TABLE INTO DATA(WA_FILE_TABLE) INDEX 1. P_FILE = WA_FILE_TABLE-FILENAME. ENDIF. CALL FUNCTION 'STPU1_EXTRACT_FILENAME' EXPORTING FILE_AND_PATH = P_FILE IMPORTING FILE = GV_FILE * PATHNAME = . ENDFORM. FORM FRM_SEND_MAIL . *File Object Definition DATA: LV_FILENAME TYPE STRING, LV_SIZE TYPE I, LV_SIZE_CHAR TYPE SO_OBJ_LEN, LT_DATA TYPE SOLIX_TAB. *Mail Object Definition DATA: L_SEND_REQUEST TYPE REF TO CL_BCS, L_DOCUMENT TYPE REF TO CL_DOCUMENT_BCS, L_SENDER TYPE REF TO CL_SAPUSER_BCS, L_RECIPIENT TYPE REF TO CL_CAM_ADDRESS_BCS, L_BCS_EXCEPTION TYPE REF TO CX_DOCUMENT_BCS, L_ADDR_EXCEPTION TYPE REF TO CX_ADDRESS_BCS, L_SEND_EXCEPTION TYPE REF TO CX_SEND_REQ_BCS, L_ATTACHMENT_NAME TYPE SO_OBJ_DES. DATA: LV_CONTENTS TYPE STRING, LT_MTEXT TYPE BCSY_TEXT, LV_TITLE TYPE SO_OBJ_DES, LT_SENDER TYPE TABLE OF A