DATAIT_FTP TYPE STANDARD TABLE OF ZFTPSERVERLIST ,
      WA_FTP 
TYPE ZFTPSERVERLIST,
      L_SLEN 
TYPE I,
      LV_USER
(30TYPE C,
      LV_PWD
(30TYPE C,
      C_KEY 
TYPE I VALUE 26101957.

DATATO_FILE TYPE CHAR300.
DATAMI_HANDLE TYPE I.
DATAitab1  TYPE truxs_t_text_data.


PERFORM CONVERT_TO_CSV.
PERFORM SERVER_CONN.
PERFORM R3_FTP USING TO_FILE.

FORM convert_to_csv .

  
CALL FUNCTION 'SAP_CONVERT_TO_TEX_FORMAT'
  
EXPORTING
    i_field_seperator    
','
    I_LINE_HEADER        
'X'
  
TABLES
    i_tab_sap_data       
ITAB[] " final file
    
"FIELDNAMES           = T_DESC  " for header file
  
CHANGING
    i_tab_converted_data 
itab1[]
  
EXCEPTIONS
    conversion_failed    
1
    
OTHERS               2.
  
IF sy-subrc <> 0.
    
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  
ENDIF.

ENDFORM.

FORM r3_ftp  USING    p_to_file.
  
""""" SEND FILE TO SERVER""""""
  
CALL FUNCTION 'FTP_R3_TO_SERVER'
  
EXPORTING
    HANDLE         
MI_HANDLE
    FNAME          
TO_FILE          "file path of destination system
    CHARACTER_MODE 
'X'
  
TABLES
    
TEXT           itab1
  
EXCEPTIONS
    TCPIP_ERROR    
1
    COMMAND_ERROR  
2
    DATA_ERROR     
3
    
OTHERS         4.

  
IF sy-subrc <> 0.
    
WRITE 'FILE NOT SEND'.
  
ELSE.
    
WRITE 'FILE SEND'.
  
ENDIF.

ENDFORM.

FORM server_conn .

  
SELECT FROM ZFTPSERVERLIST CLIENT SPECIFIED
  
INTO CORRESPONDING FIELDS OF TABLE IT_FTP
  
WHERE MANDT SY-MANDT
  
AND   ZCOUNTRY 'BD'.

  
CLEAR WA_FTP.
  
READ TABLE IT_FTP INTO WA_FTP INDEX 1.

*----CONNECTING TO FTP SERVER.
  
PERFORM FTP_CONNECT USING WA_FTP-ZUSER WA_FTP-ZPASSWD WA_FTP-ZHOST.

*----CHECKING SUCCESSFUL FTP CONNECTION
  
CHECK SY-SUBRC 0.
  
CLEARTO_FILE.
  
" FILE NAME CREATIONN
  
CONCATENATE WA_FTP-zapp 'test' '_' DATE '.csv' INTO TO_FILE.

ENDFORM.


FORM ftp_connect  USING   LV_USER LV_PWD LV_HOST.

  L_SLEN 
STRLENLV_PWD ).

  
CALL FUNCTION 'HTTP_SCRAMBLE'
  
EXPORTING
    SOURCE      
LV_PWD
    SOURCELEN   
L_SLEN
    
KEY         C_KEY
  
IMPORTING
    DESTINATION 
LV_PWD.

  
CALL FUNCTION 'FTP_CONNECT'
  
EXPORTING
    USER            
LV_USER "Your SAP-UNIX FTP user name (case sensitive)
    PASSWORD        
LV_PWD  "Your SAP-UNIX server host name (case sensitive)
    HOST            
LV_HOST
    RFC_DESTINATION 
'SAPFTPA'
  
IMPORTING
    HANDLE          
MI_HANDLE
  
EXCEPTIONS
    NOT_CONNECTED   
1
    
OTHERS          2.

ENDFORM.



Serkan AKKAVAK
Computer Engineer BSc
SAP Department Deputy Manager
Contact : serkurumsal@yandex.com