Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
REPORT zmdm_ftp_files.
START-OF-SELECTION.
DO 3 TIMES.
l_count = l_count + 1.
CLEAR v_directory.
CASE l_count.
WHEN 1.
CONCATENATE wa_direc-map '/Exception/ImportX'(002) INTO v_directory.
WHEN 2.
CONCATENATE wa_direc-map '/Exception/StructuralX'(003) INTO v_directory.
WHEN 3.
CONCATENATE wa_direc-map '/Exception/ValueX'(004) INTO v_directory.
ENDCASE.
CONDENSE v_directory.
CONCATENATE 'cd'(005) v_directory INTO v_directory SEPARATED BY space.
FREE itab_files.
*Get the file names on remote server
CALL FUNCTION 'FTP_COMMAND'
EXPORTING
handle = v_hdl
command = 'nlist'(006)
compress = v_compress "N
TABLES
data = itab_files
EXCEPTIONS
command_error = 1
tcpip_error = 2.
IF sy-subrc = 0.
DELETE itab_files FROM 1 TO 3.
CLEAR v_lines.
DESCRIBE TABLE itab_files LINES v_lines.
DELETE itab_files INDEX v_lines.
LOOP AT itab_files_det.
REPLACE itab_files-line IN itab_files_det-line WITH space.
CONDENSE itab_files_det-line.
CLEAR l_date.
CONCATENATE itab_files_det-line+6(4) itab_files_det-line+0(2) itab_files_det-line+3(2)
INTO l_date.
IF l_date = sy-datum.
v_lines = v_lines + 1.
ENDIF.
ENDLOOP.
ENDLOOP.
CLEAR:v_len, wa_objbin1.
v_len = STRLEN( v_directory ).
IF v_lines IS NOT INITIAL.
CONCATENATE v_directory+3(v_len) wa_direc-bound v_lines INTO l_line SEPARATED
BY cl_abap_char_utilities=>horizontal_tab. "' '.
CONCATENATE c_ret l_line INTO wa_objbin1-line.
APPEND wa_objbin1 TO itab_objbin1.
WRITE:/3 v_directory+3(v_len),
125 wa_direc-bound,
135 v_lines.
ENDIF.
ENDIF.
* ENDIF.
ENDDO.
ENDLOOP.
*&---------------------------------------------------------------------*
*& Form sub_mail_f4
*&---------------------------------------------------------------------*
FORM sub_mail_f4 .
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
*&---------------------------------------------------------------------*
*& Form SUB_SEND_MAIL
*&---------------------------------------------------------------------*
FORM sub_send_mail .
CLEAR v_lines.
* Describe the body of the message
DESCRIBE TABLE itab_objtxt LINES v_lines.
READ TABLE itab_objtxt INTO wa_objtxt INDEX v_lines.
wa_docdata-doc_size = ( v_lines - 1 ) * 255 + STRLEN( wa_objtxt ).
CLEAR wa_objpack-transf_bin.
wa_objpack-head_start = 1.
wa_objpack-head_num = 0.
wa_objpack-body_start = 1.
wa_objpack-body_num = v_lines.
wa_objpack-doc_type = 'RAW'.
APPEND wa_objpack TO itab_objpack.
*Attachment 1
CLEAR v_lines.
DESCRIBE TABLE itab_objbin1 LINES v_lines.
wa_objpack-doc_size = v_lines * 255.
wa_objpack-transf_bin = 'X'.
wa_objpack-head_start = 1.
wa_objpack-head_num = 1.
wa_objpack-body_start = 1.
wa_objpack-body_num = v_lines.
wa_objpack-doc_type = 'XLS'.
wa_objpack-obj_descr = 'Exception File'(009).
APPEND wa_objpack TO itab_objpack.
IF sy-subrc = 0.
COMMIT WORK.
SKIP 1.
WRITE:/ 'Email Successfully sent to'(011), p_email, 'Distribution list'(013).
ELSE.
SKIP 1.
WRITE:/ 'Email not sent to'(012), p_email, 'Distribution list'(013).
ENDIF.