Skip to main content

SAP ABAP Create Text File and Read Text File on Application Server

*&---------------------------------------------------------------------*
*& Report ZTEXTFILE
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ZTEXTFILE.

TYPES :
  BEGIN OF T_EKKO,
    EBELN TYPE EBELN,
    BUKRS TYPE EKKO-BUKRS,
    BSART TYPE EKKO-BSART,
    AEDAT TYPE EKKO-AEDAT,
    BEDAT TYPE EKKO-BEDAT,
    LIFNR TYPE EKKO-LIFNR,
    WAERS TYPE EKKO-WAERS,
    ZTERM TYPE EKKO-ZTERM,
    WKURS TYPE EKKO-WKURS,
    ERNAM TYPE EKKO-ERNAM,
  END OF T_EKKO.

DATA :
  LT_EKKO   TYPE T_EKKO   OCCURS WITH HEADER LINE,
  LS_EKKO   TYPE T_EKKO,
  TAB       TYPE VALUE CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB,
  FILE      LIKE RLGRAP-FILENAME,
  RESULT    TYPE STRING,
  V_TMP     TYPE STRING,
  LS_STRING TYPE STRING.

FIELD-SYMBOLS <FS> TYPE ANY.

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECTION-SCREEN BEGIN OF LINE.
*PARAMETERS : P_INCHES(10) TYPE C.
SELECTION-SCREEN COMMENT 1(19TEXT-002.
SELECTION-SCREEN POSITION 20.
PARAMETERS P_RAD1 RADIOBUTTON GROUP G1 DEFAULT 'X'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(19TEXT-003.
SELECTION-SCREEN POSITION 20.
PARAMETERS P_RAD2 RADIOBUTTON GROUP G1.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK B1.

START-OF-SELECTION.

  IF P_RAD1 'X'.
    PERFORM F_CREATE_TEXT_FILE.
  ELSEIF P_RAD2 'X'..
    PERFORM F_READ_TEXT_FILE.
  ENDIF.

FORM F_CREATE_TEXT_FILE.
  SELECT INTO CORRESPONDING FIELDS OF TABLE LT_EKKO
    FROM EKKO UP TO 10 ROWS.

  FILE '/usr/sap/upload/ekko2.txt'.
  OPEN DATASET FILE FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
  LOOP AT LT_EKKO.
    CLEARRESULT.
    DO.
      ASSIGN COMPONENT SY-INDEX OF
             STRUCTURE LT_EKKO TO <FS>.
      IF SY-SUBRC <> 0.
        EXIT.
      ENDIF.
      V_TMP <FS>.
      CONCATENATE RESULT V_TMP TAB INTO RESULT.
    ENDDO.

    TRANSFER RESULT TO FILE.
  ENDLOOP.
  CLOSE DATASET FILE.
  MESSAGE 'Text file created' TYPE 'S' DISPLAY LIKE 'S'.
ENDFORM.

FORM F_READ_TEXT_FILE.
  REFRESH LT_EKKO.
  FILE '/usr/sap/upload/ekko2.txt'.
  OPEN DATASET FILE FOR INPUT IN TEXT MODE ENCODING DEFAULT.
  IF SY-SUBRC NE 0.
  ELSE.
    DO.
      CLEARLS_STRINGLS_EKKO.
      READ DATASET FILE INTO LS_STRING.
      IF SY-SUBRC NE 0.
        EXIT.
      ELSE.
        SPLIT LS_STRING AT TAB INTO LS_EKKO-EBELN
                                    LS_EKKO-BUKRS
                                    LS_EKKO-BSART.
*        MOVE-CORRESPONDING ls_ekko TO WA_RECORD.
        APPEND LS_EKKO TO LT_EKKO[].
      ENDIF.
    ENDDO.
  ENDIF.
  CLOSE DATASET FILE.

  LOOP AT LT_EKKO.
    WRITE:/     SY-VLINE,
           (10LT_EKKO-EBELNSY-VLINE,
           (10LT_EKKO-BUKRSSY-VLINE,
           (10LT_EKKO-BSARTSY-VLINE.
  ENDLOOP.
ENDFORM.


Selection Screen



output read file



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 ...

Laravel - Sistem Informasi Perpustakaan Sederhana Laravel

Postingan kali saya akan sharing membuat aplikasi perpustakaan sederhana menggunakan laravel 5.8, dimana terdapan menu Anggota, Kategori Buku, Daftar Buku dan Transaksi (Peminjaman/Pengembalian Buku). ok langsung saja kita buat project laravel dengan nama perpus : composer create-project --prefer-dist laravel/laravel perpus setelah create project laravel-nya selesai kita buat database melalui localhost/phpmyadmin dengan nama db_perpus, lalu kita buka project laravel dengan code editor disini saya menggunakan visual studio code. Setelah project kita buka dengan code editor, pertama kita atur koneksi database yang ada di file .env, kita rubah menjadi seperti berikut : note : untuk db_username dan db_password di sesuiakan dengan configurasi masing-masing. Selanjutnya kita tambahkan 4 buah data migration yaitu : table_anggota, table_kategori, table_buku, table_transaksi, kita buka terminal dan jalankan command berikut :  php artisan make:migration crea...