Skip to main content

SAP ABAP : Parallel Cursor

 


*&---------------------------------------------------------------------*
*& Report Z_PARALEL_CURSOR
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT Z_PARALEL_CURSOR.

DATA LT_BKPF TYPE TABLE OF BKPF,
       LT_BSEG TYPE TABLE OF BSEG,
       LS_BKPF TYPE BKPF,
       LS_BSEG TYPE BSEG.

DATA LV_TIME1               TYPE I,
       LV_TIME2               TYPE I,
       LV_TIME3               TYPE I,
       LV_TIME4               TYPE I,
       LV_RES_TIME_GN_PROCESS TYPE I,
       LV_RES_TIME_PA_PROCESS TYPE I,
       INDX                   TYPE I.

DATA LV_BKPF_RECS TYPE I.
DATA LV_BSEG_RECS TYPE I.

START-OF-SELECTION.

  SELECT FROM BKPF INTO TABLE LT_BKPF UP TO 10000 ROWS.
  SELECT FROM BSEG INTO TABLE LT_BSEG UP TO 10000 ROWS.

  DESCRIBE TABLE LT_BKPF LINES LV_BKPF_RECS.
  DESCRIBE TABLE LT_BSEG LINES LV_BSEG_RECS.

  GET RUN TIME FIELD LV_TIME1.
  LOOP AT LT_BKPF INTO LS_BKPF.
    LOOP AT LT_BSEG INTO LS_BSEG WHERE VBELN LS_BKPF-BELNR.

    ENDLOOP.
  ENDLOOP.

  GET RUN TIME FIELD LV_TIME2.

  LV_RES_TIME_GN_PROCESS LV_TIME2 LV_TIME1.

* APPLYING PARALLEL CURSOR TECHNIQUE
 SORT LT_BKPF BY BELNR.
 SORT LT_BSEG BY BELNR.

  GET RUN TIME FIELD LV_TIME3.
  LOOP AT LT_BKPF INTO LS_BKPF.
    READ TABLE LT_BSEG INTO LS_BSEG WITH  KEY BELNR LS_BKPF-BELNR BINARY SEARCH.
    IF SY-SUBRC 0.
      INDX SY-TABIX.
      LOOP AT LT_BSEG INTO LS_BSEG FROM INDX.
        IF LS_BSEG-BELNR <> LS_BKPF-BELNR.
          EXIT.
        ENDIF.
      ENDLOOP.
    ENDIF.
  ENDLOOP.

  GET RUN TIME FIELD LV_TIME4.

  LV_RES_TIME_PA_PROCESS LV_TIME4 LV_TIME3.

  WRITE:'Total BKPF Rows = 'LV_BKPF_RECS.
  WRITE:'Total BSEG Rows = 'LV_BSEG_RECS.

  WRITE :'Nested loop Processing Time'LV_RES_TIME_GN_PROCESS.
  WRITE :'Parallel Cursor Processing Time'LV_RES_TIME_PA_PROCESS.

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