Question from sanju-k on May 12 at 11:26 AM when i was uploading file (like pdf jpg etc) to GOS of Va02 through my program is successfully uploaded. But when i want to delete that file which i was uploaded though background is not deleting. Displaying Message - The delete function not supporting for that file. Please any one help me out this. Following my code. *&-* *& Report ZGOS_SERVICES *& *&-* *& *& *&-* REPORT zgos_services. TYPE-POOLS : slis . *FIELD-SYMBOLS: TYPE lvc_s_fcat. TYPES : BEGIN OF ty_vbak, vbeln TYPE vbeln, f_path TYPE rlgrap-filename, END OF ty_vbak. TYPES : BEGIN OF ty_stru, vbeln TYPE vbeln, erdat TYPE erdat, checkbox TYPE c, ws_color TYPE c LENGTH 4, KUNNR TYPE kna1-KUNNR, END OF ty_stru. TYPES : BEGIN OF ty_FINAL, vbeln TYPE vbeln, erdat TYPE erdat, checkbox TYPE c, ws_color TYPE c LENGTH 4, * cellstyles TYPE lvc_t_styl , name1 TYPE kna1-name1, END OF ty_FINAL. TYPES: BEGIN OF ty_it_t, vbeln TYPE vbak-vbeln, erdat TYPE kna1-erdat, kunnr TYPE vbak-kunnr, END OF ty_it_t. TYPES:BEGIN OF TY_NAME, KUNNR TYPE KNA1-KUNNR, NAME1 TYPE KNA1-NAME1, END OF TY_NAME. DATA IT_NAME TYPE TABLE OF TY_NAME. DATA WA_NAME TYPE TY_NAME. data it_t type table of ty_it_t. DATA wa_t TYPE ty_it_t. DATA it TYPE TABLE OF ty_stru. DATA wa TYPE ty_stru. DATA it1 TYPE TABLE OF ty_stru. DATA it2 TYPE TABLE OF ty_FINAL. DATA wa1 TYPE ty_stru. DATA wa2 TYPE ty_FINAL. DATA itab TYPE TABLE OF ty_vbak. DATA wtab TYPE ty_vbak. DATA objkey TYPE vbeln. DATA fp_file TYPE rlgrap-filename. DATA fp TYPE rlgrap-filename. DATA f_d TYPE rlgrap-filename. DATA g_user_command TYPE slis_formname VALUE 'USER_COMMAND'. DATA so(15) TYPE c. DATA ex(5) TYPE c. DATA: wa_fact TYPE slis_fieldcat_alv, it_fact TYPE slis_t_fieldcat_alv, it_events TYPE slis_t_event, wa_events TYPE slis_alv_event, it_fieldcat TYPE slis_t_fieldcat_alv, list_layout TYPE slis_layout_alv. DATA dir(50) TYPE c VALUE 'c:\users\user\desktop\img'. DATA file_path(70) TYPE c . DATA file_no TYPE i. DATA file_table LIKE TABLE OF sdokpath WITH HEADER LINE. DATA dir_table LIKE TABLE OF sdokpath WITH HEADER LINE. DATA: it_headings TYPE slis_t_listheader, wa_headings LIKE LINE OF it_headings. CALL FUNCTION 'TMP_GUI_DIRECTORY_LIST_FILES' EXPORTING directory = dir filter = '*.*' IMPORTING file_count = file_no * DIR_COUNT = TABLES file_table = file_table dir_table = dir_table . IF sy-subrc = 0. LOOP AT file_table. CLEAR fp. CONCATENATE dir '\' file_table-pathname INTO fp. SPLIT file_table-pathname AT '.' INTO so ex. MOVE so TO wtab-vbeln. MOVE fp TO wtab-f_path. APPEND wtab TO itab. ENDLOOP. LOOP AT itab INTO wtab. SELECT SINGLE vbeln erdat kunnr FROM vbak INTO WA_t WHERE vbeln = wtab-vbeln. IF sy-subrc NE 0. wa-ws_color = 'C611'. wa-erdat = ' '. MODIFY TABLE it FROM wa TRANSPORTING ws_color erdat. wa1-vbeln = wtab-vbeln. wa1-KUNNR = ' '. wa1-ERDAT = ' '. wa1-ws_color = wa-ws_color. APPEND wa1 TO it1. ELSE. * READ TABLE it INTO wa WITH KEY vbeln = wtab-vbeln. wa1-vbeln = wtab-vbeln. wa1-erdat = wa_T-erdat. wa1-KUNNR = wa_T-KUNNR. wa1-checkbox = wa-checkbox. wa1-ws_color = wa-ws_color. APPEND wa1 TO it1. ENDIF. CLEAR wtab. ENDLOOP. ENDIF. IF it1 IS NOT INITIAL. SELECT kunnr name1 FROM kna1 INTO TABLE it_name FOR ALL ENTRIES IN it1 WHERE kunnr = it1-kunnr. LOOP AT it1 INTO wa1. MOVE-CORRESPONDING wa1 TO wa2. READ TABLE it_name INTO wa_name WITH KEY kunnr = wa1-kunnr . IF sy-subrc EQ 0. wa2-name1 = wa_name-name1. ENDIF. APPEND wa2 TO IT2. CLEAR wa2. ENDLOOP. ENDIF. list_layout-info_fieldname = 'WS_COLOR'. wa_fact-seltext_m = 'SALES ORDER'. wa_fact-fieldname = 'VBELN'. wa_fact-col_pos = 1. wa_fact-hotspot = ' '. *wa_fact-emphasize = 'X'. wa_fact-outputlen = 20. wa_fact-edit = ' '. APPEND wa_fact TO it_fact. CLEAR wa_fact. wa_fact-seltext_l = 'CREATED ON'. wa_fact-fieldname = 'ERDAT'. wa_fact-col_pos = 2. *wa_fact-emphasize = 'C611'. wa_fact-just = 'L'. wa_fact-input = 'X'. wa_fact-edit = ' '. APPEND wa_fact TO it_fact. CLEAR wa_fact. wa_fact-seltext_l = 'CUSTOMER'. wa_fact-fieldname = 'NAME1'. wa_fact-col_pos = 3. *wa_fact-emphasize = 'C611'. wa_fact-just = 'L'. wa_fact-input = 'X'. wa_fact-edit = ' '. APPEND wa_fact TO it_fact. CLEAR wa_fact. wa_fact-seltext_s = 'SELECTION'. wa_fact-fieldname = 'CHECKBOX'. *WA_FACT-sel_tab_field = 'CHECKBOX'. wa_fact-col_pos = 4. wa_fact-row_pos = '2'. wa_fact-checkbox = 'X'. wa_fact-just = 'R'. wa_fact-edit = 'X'. wa_fact-input = 'X'. APPEND wa_fact TO it_fact. CLEAR wa_fact. CLEAR wa_events. wa_events-name = 'TOP_OF_PAGE'. wa_events-form = 'PRINT_HEADINGS'. APPEND wa_events TO it_events. CLEAR wa_events. wa_events-name = 'USER_COMMAND'. wa_events-form = 'COMMAND1'. APPEND wa_events TO it_events. CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING * I_INTERFACE_CHECK = ' ' * I_BYPASSING_BUFFER = ' ' * I_BUFFER_ACTIVE = ' ' i_callback_program = sy-repid i_callback_pf_status_set = 'PF_STAT'(001) i_callback_user_command = 'USER_COMMAND' * I_CALLBACK_TOP_OF_PAGE = ' ' * I_CALLBACK_HTML_TOP_OF_PAGE = ' ' * I_CALLBACK_HTML_END_OF_LIST = ' ' i_structure_name = 'TY_STRU' * I_BACKGROUND_ID = ' ' * I_GRID_TITLE = * I_GRID_SETTINGS = is_layout = list_layout it_fieldcat = it_fact * IT_EXCLUDING = * IT_SPECIAL_GROUPS = * IT_SORT = * IT_FILTER = * IS_SEL_HIDE = * I_DEFAULT = 'X' * I_SAVE = ' ' * IS_VARIANT = it_events = it_events * IT_EVENT_EXIT = * IS_PRINT = * IS_REPREP_ID = * I_SCREEN_START_COLUMN = 0 * I_SCREEN_START_LINE = 0 * I_SCREEN_END_COLUMN = 0 * I_SCREEN_END_LINE = 0 * I_HTML_HEIGHT_TOP = 0 * I_HTML_HEIGHT_END = 0 * IT_ALV_GRAPHICS = * IT_HYPERLINK = * IT_ADD_FIELDCAT = * IT_EXCEPT_QINFO = * IR_SALV_FULLSCREEN_ADAPTER = * IMPORTING * E_EXIT_CAUSED_BY_CALLER = * ES_EXIT_CAUSED_BY_USER = TABLES t_outtab = it2. CLEAR it[]. *&---------------------------------------------------------------------* *& Form pf_staT *&---------------------------------------------------------------------* * text *-* * -->RT_EXTAB text *-* FORM pf_stat USING rt_extab TYPE slis_t_extab. SET PF-STATUS 'ZPF_STATUS'. ENDFORM. "pf_staT *&-* *& Form print_headings *&-* * text *-* FORM print_headings. CLEAR wa_headings. wa_headings-typ = 'S'. wa_headings-info = 'SALES ORDERS FOUND IN LOCAL FOLDER ARE :'. APPEND wa_headings TO it_headings. CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE' EXPORTING it_list_commentary = it_headings. CLEAR it_headings. ENDFORM. "PRINT_HEADINGS *&-* *& Form command1 *&-* * text *-* * -->UCOMM text * -->RS_SELFIELD text *-* FORM command1 USING ucomm LIKE sy-ucomm rs_selfield TYPE slis_selfield. "set_det type slis_selfield. DATA ref_grid TYPE REF TO cl_gui_alv_grid. CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR' IMPORTING e_grid = ref_grid. IF NOT ref_grid IS INITIAL. CALL METHOD ref_grid->check_changed_data. ENDIF. CASE ucomm. WHEN 'EXECUTE1'. LOOP AT it1 INTO wa1 WHERE checkbox = 'X'. READ TABLE itab INTO wtab WITH KEY vbeln = wa1-vbeln. fp_file = wtab-f_path. objkey = wa1-vbeln. PERFORM create_attachments USING fp_file. PERFORM copy_file. PERFORM delete_file. ENDLOOP. ENDCASE. ENDFORM. "command1 *&---------------------------------------------------------------------* *& Form create_attachments *&---------------------------------------------------------------------* * text *-* * -->FP_FILE text *-* FORM create_attachments USING fp_file TYPE rlgrap-filename. DATA :l_mimetype TYPE toadd-mimetype, wl_toadd TYPE toadd, tl_file TYPE STANDARD TABLE OF bapifiles, tl_signature TYPE STANDARD TABLE OF bapisignat, t_toadv TYPE STANDARD TABLE OF toadv, wl_toadv TYPE toadv, wl_signature TYPE bapisignat, wl_file TYPE bapifiles, filename_all TYPE sapb-sapfiles, file_path TYPE sapb-sapfiles, file_extension TYPE toadd-doc_type, file_name TYPE sapb-sapfiles, l_objkey TYPE bdn_con-objkey, l_variant TYPE imav-varnt. filename_all = fp_file. *-- Get file path & file name PERFORM split_path USING filename_all file_path file_name. *-- Get file type PERFORM get_file_extension USING file_name file_extension. *-- Get mime type PERFORM mimetype_get USING file_extension CHANGING wl_toadd. MOVE wl_toadd-mimetype TO l_mimetype. wl_file-doc_count = 1. wl_file-directory = file_path. wl_file-filename = file_name. wl_file-mimetype = l_mimetype. APPEND wl_file TO tl_file. CLEAR: wl_file. wl_signature-doc_count = 1. wl_signature-prop_name = 'BDS_DOCUMENTCLASS'. wl_signature-prop_value = file_extension. APPEND wl_signature TO tl_signature. CLEAR wl_signature. wl_signature-doc_count = 1. wl_signature-prop_name = 'BDS_CONTREP'. wl_signature-prop_value = ' ' . APPEND wl_signature TO tl_signature. CLEAR wl_signature. *-- get all standard document type SELECT * FROM toadv INTO TABLE t_toadv WHERE standard = 'X'. IF sy-subrc = 0. *-- get document type for given file READ TABLE t_toadv INTO wl_toadv WITH KEY doc_type = file_extension. wl_signature-doc_count = 1. wl_signature-prop_name = 'BDS_DOCUMENTTYPE'. wl_signature-prop_value = wl_toadv-ar_object. APPEND wl_signature TO tl_signature. CLEAR wl_signature. ENDIF. wl_signature-doc_count = 1. wl_signature-prop_name = 'DESCRIPTION'. wl_signature-prop_value = file_name. APPEND wl_signature TO tl_signature. CLEAR wl_signature. wl_signature-doc_count = 1. wl_signature-prop_name = 'LANGUAGE'. wl_signature-prop_value = 'E'. APPEND wl_signature TO tl_signature. CLEAR wl_signature. l_objkey = objkey. CALL FUNCTION 'BDS_BUSINESSDOCUMENT_CREATEF' EXPORTING * LOGICAL_SYSTEM = classname = 'VBAK' classtype = 'BO' client = sy-mandt object_key = l_objkey * IMPORTING * OBJECT_KEY = TABLES files = tl_file signature = tl_signature . IF sy-subrc NE 0. MESSAGE i999(zz) WITH 'Error in creating attachments for' fp_file. ELSE. COMMIT WORK. ENDIF. ENDFORM. "create_attachments *&--* *& Form split_path *&-* * text *--* * -->VALUE(INPATH) text * -->PATH text * -->FILE text *--* FORM split_path USING value(inpath) TYPE any path TYPE any file TYPE any. DATA: length TYPE i. DATA: path2(1200). DATA: l_file LIKE path2, l_dir LIKE path2, l_delimiter TYPE c, l_offset TYPE i, l_bytes TYPE i, l_delimiter_offset TYPE i, l_delimiter_bytes TYPE i, l_char TYPE c, l_previous_char TYPE c, l_last_char TYPE c. path2 = inpath. length = STRLEN( path2 ). l_offset = 0. WHILE l_offset < length. l_last_char = l_char. "remember last characte l_bytes = CHARLEN( path2+l_offset ). l_char = path2+l_offset(l_bytes). "get current character IF l_char = '/' OR l_char = '\' OR l_char = ':'. IF l_delimiter IS INITIAL OR l_delimiter = ':'. l_delimiter = l_char. ENDIF. IF l_char = l_delimiter. l_delimiter_offset = l_offset. l_delimiter_bytes = l_bytes. l_previous_char = l_last_char. ENDIF. ENDIF. l_offset = l_offset + l_bytes. ENDWHILE. IF NOT l_delimiter IS INITIAL. l_offset = l_delimiter_offset + l_delimiter_bytes. l_file = path2+l_offset. IF l_previous_char = ':' OR l_delimiter = ':'. l_dir = path2(l_offset). ELSEIF NOT l_delimiter_offset IS INITIAL. l_dir = path2(l_delimiter_offset). ELSE. CLEAR l_dir. ENDIF. ELSE. l_dir = space. l_file = path2. ENDIF. path = l_dir. file = l_file. ENDFORM. "split_path *&-* *& Form get_file_extension *&-* * text *-* * -->FILE_NAME text * -->FILE_EXTENSION text *--* FORM get_file_extension USING file_name file_extension. DATA: length TYPE i, single_c TYPE c. CLEAR: single_c. length = STRLEN( file_name ). IF length > 0. WHILE length > 0. single_c = file_name+length(1). IF single_c CO '.'. length = length + 1. EXIT. ELSE. length = length - 1. ENDIF. ENDWHILE. IF length > 0. file_extension = file_name+length. ELSE. file_extension = space. ENDIF. ELSE. file_extension = space. ENDIF. IF file_extension <> space. SET LOCALE LANGUAGE sy-langu. TRANSLATE file_extension TO UPPER CASE. ENDIF. ENDFORM. "get_file_extension *&--* *& Form mimetype_get *&--* * text *-* * -->FP_DOCUMENTCLASS text * -->FP_TOADD text *--* FORM mimetype_get USING fp_documentclass TYPE toadd-doc_type CHANGING fp_toadd TYPE toadd. DATA: l_documentclass TYPE toadd-doc_type. MOVE fp_documentclass TO l_documentclass. SET LOCALE LANGUAGE sy-langu. TRANSLATE l_documentclass TO UPPER CASE. SET LOCALE LANGUAGE space. SELECT SINGLE * FROM toadd INTO fp_toadd WHERE doc_type EQ l_documentclass. IF sy-subrc NE 0. fp_toadd-doc_type = l_documentclass. fp_toadd-mimetype = 'application/x-docType'. ENDIF. ENDFORM. "mimetype_get *&-* *& Form copy_file *&-* * text *-* * --> p1 text * <-- p2 text *--* FORM copy_file . DATA: a TYPE i. DATA: x TYPE string. DATA: y TYPE string. SPLIT fp_file AT 'img' INTO x y. CONCATENATE x 'img' '\' 'copy' y INTO f_d. CALL FUNCTION 'WS_FILE_COPY' EXPORTING destination = f_d SOURCE = fp_file IMPORTING return = a. ENDFORM. " copy_file *&--* *& Form delete_file *&-* * text *--* * --> p1 text * <-- p2 text *--* FORM delete_file . DATA rc TYPE i. DATA filename TYPE string. filename = fp_file. CALL METHOD cl_gui_frontend_services=>file_delete EXPORTING filename = filename CHANGING rc = rc. ENDFORM. " delete_file | Reply to this email to post your response. __.____._ | In the Spotlight Become a blogger at Toolbox.com and share your expertise with the community. Start today. _.____.__ |
No comments:
Post a Comment