Skip to main content

SAP ABAP - Upload File to OneDrive Folder

 


REPORT yupload_file.
** Data Declarations
DATA: gv_filename    TYPE string,
      lt_data_tab    TYPE TABLE OF x255,
      lv_bin_size    TYPE i,
      lv_file        TYPE string,
      e_filenamefull TYPE string,
      e_filename     TYPE string,
      e_extension    TYPE string.

DATA:
  lv_e_pathname TYPE rstxtlg, "
  lv_i_filepath TYPE rsfilenm, "
  lv_e_filename TYPE rsawbnobjnm. "

** Parameters
PARAMETERS : gv_name TYPE localfile.
** Selection screen value request
AT SELECTION-SCREEN ON VALUE-REQUEST FOR gv_name.
  CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
    EXPORTING
      static    = 'X'
    CHANGING
      file_name = gv_name.
  IF sy-subrc <> 0.
* Implement suitable error handling here
  ENDIF.
START-OF-SELECTION.
  PERFORM upload_attachment.
FORM upload_attachment.
  CLEAR : lv_i_filepath.
  gv_filename   = gv_name.
  lv_i_filepath = gv_name.
** upload the file data from desktop/localfile
  CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
      filename   = gv_filename
      filetype   = 'BIN'
    IMPORTING
      filelength = lv_bin_size
    TABLES
      data_tab   = lt_data_tab.

  CALL FUNCTION 'RSDS_SPLIT_PATH_TO_FILENAME'  "split file path in file name and path
    EXPORTING
      i_filepath = lv_i_filepath
    IMPORTING
      e_pathname = lv_e_pathname
      e_filename = lv_e_filename
    . " RSDS_SPLIT_PATH_TO_FILENAME
  CLEAR lv_file.
  DATA(dstpatch) = 'XX:OneDrivePath\'.
  lv_file = |{ dstpatch }{ lv_e_filename }|.

  CALL FUNCTION 'GUI_DOWNLOAD'
    EXPORTING
      filename                = lv_file
      filetype                = 'BIN'
    TABLES
      data_tab                = lt_data_tab
    EXCEPTIONS
      file_write_error        = 1
      no_batch                = 2
      gui_refuse_filetransfer = 3
      invalid_type            = 4
      no_authority            = 5
      unknown_error           = 6
      header_not_allowed      = 7
      separator_not_allowed   = 8
      filesize_not_allowed    = 9
      header_too_long         = 10
      dp_error_create         = 11
      dp_error_send           = 12
      dp_error_write          = 13
      unknown_dp_error        = 14
      access_denied           = 15
      dp_out_of_memory        = 16
      disk_full               = 17
      dp_timeout              = 18
      file_not_found          = 19
      dataprovider_exception  = 20
      control_flush_error     = 21
      OTHERS                  = 22.
  IF sy-subrc <> 0.
* Implement suitable error handling here
  ENDIF.
  IF sy-subrc = 0.
    WRITE: / 'Successfully uploaded to One Drive'.
  ENDIF.
ENDFORM.







Comments

Popular posts from this blog

PHP MySql CRUD Dengan Konsep MVC

Pada postingan kali ini saya akan sharing cara membuat CRUD dengan php menggunakan konsep MVC, ok langsung saja buka code editor (saya menggunakan sublime text) dan buat folder baru dengan nama phpmvc didalam folder htdocs kalian dan tambah folder seperti berikut :  Setelah itu kita siapkan database di mysql, buat database dengan nama phpmvc dan tablenya seperti gambar berikut : tambahkan file config.php didalam folder app/config : <?php define('BASEURL', 'http://localhost:8181/phpmvc/public'); define('DB_HOST', 'localhost'); define('DB_USER', 'root'); define('DB_PASS', ''); define('DB_NAME', 'phpmvc'); kemudian tambahkan 3 file controller didalam folder app/controllers, yaitu Home, About, dan Mahasiswa : Home.php <?php class Home extends Controller { public function index() { $data['nama'] = $this->model('User_model')->getUser()...

Cara Sederhana Multi Insert Data Dengan PHP - MySQL

Pada postingan kali ini saya akan share cara melakukan insert lebih dari satu data dengan menggunaka PHP- Jquery dan MySQL. Pertama buat database di MySQL dan table, disini saya membuat database dengan nama db_latihan dan table dengan nama t_barang dengan struktur table seperti berikut : Setelah membuat database dan table selanjutnya membuat project PHP, project PHP nya saya buat dengan nama multi-insert, lalu didalam folder ini saya membuat dua file yaitu index.php dan insert.php . Source code index.php seperti berikut : <! doctype   html > < html   lang = "en" >    < head >      <!-- Required meta tags -->      < meta   charset = "utf-8" >      < meta   name = "viewport"   content = "width=device-width, initial-scale=1" >      <!-- Bootstrap CSS -->      < link ...

IT Asset Management Dengan PHP MySQL

Pada postingan kali saya akan share sebuah aplikasi IT Asset management yang fungsinya untuk memonitoring semua Asset khusus IT, contohnya : Laptop/komputer , Printer, Router, Hardisk, dll. Dalam aplkasi ini kita bisa mengetahui Asset IT posisinya dimana dan digunakan oleh siapa. untuk data-data yang dibutuhkan antara lain : 1. data kategori asset dalam menu ini kita bisa meng-input jenis2 kategory asset : tambah kategori asset : 2. data department 3. data karyawan 4. data department per karyawan 5. data asset location  6. data satuan asset dan untuk transaksi yang ada dalam aplikasi ini adalah,  1. create asset, pada menu create asset ini kita akan mengalokasikan sebuah asset ke karyawan/personnel tampilannya seperti berikut: setelah klik tombol save akan muncul seperti dibawah : untuk melihat detail asset yang sudah dibuat tadi, kita bisa pilih...