|
<< Click to Display Table of Contents >> Navigation: All About ABAP Technique > Indonesia > Function Module for RFC > Create YFM_RFC_PRACTICE_101 |
Objektif |
|
Kode Transaksi |
|
Support |
|
Buatlah Structure baru "YST_HEADER_101"
▪Buka t-Code "SE11" ▪Masukkan Data Type dengan "YST_HEADER_101"
▪Klik " ▪Pilih "Structure"
▪Isikan Short Description dengan "Structure for RFC Report"
▪Tamahkan komponen seperti dibawah
▪Klik " Cttn : Anda Dapat menyimpan Package yang ada atau local objek ▪Klik " |
1.Buka t-Code "SE37"
2.Masukkan Function Baru "YFM_RFC_PRACTICE_101"

3.Klik "
"
4.Isikan Function group dengan "YFG_MIL" dan Short text dengan "RFC Practice 101"

5.Klik "
" untuk menyimpan function
6.Edit dan Atur Processing type menjadi "Remote-enabled module"

7.Tambahkan variabel impor seperti gambar dibawah

8.Tambahkan variabel Tabel seperti gambar dibawah

9.Tambahkan Kode Sintak, Salin dan paste kode berikut pada tab "Source Code"
Lihat Kode sintak tanpa menggunakan "UP TO gv_max_row ROWS"
FUNCTION yfm_rfc_practice_101. *"---------------------------------------------------------------------- *"*"Local interface: *" IMPORTING *" VALUE(GV_MATKL) LIKE MARA-MATKL OPTIONAL *" VALUE(GV_MATNR) LIKE MARA-MATNR OPTIONAL *" VALUE(GV_MAX_ROW) TYPE I DEFAULT 0 *" TABLES *" GI_HEADER STRUCTURE YST_HEADER_101 OPTIONAL *"----------------------------------------------------------------------
DATA: gi_makt TYPE STANDARD TABLE OF makt WITH HEADER LINE, gi_t006a TYPE STANDARD TABLE OF t006a WITH HEADER LINE. DATA: lv_counter TYPE i.
RANGES : lr_matkl FOR mara-matkl, lr_matnr FOR mara-matnr.
IF gv_matkl IS NOT INITIAL. MOVE : gv_matkl TO lr_matkl-low, space TO lr_matkl-high, 'EQ' TO lr_matkl-option, 'I' TO lr_matkl-sign. APPEND lr_matkl. ENDIF.
IF gv_matnr IS NOT INITIAL. MOVE : gv_matnr TO lr_matnr-low, space TO lr_matnr-high, 'EQ' TO lr_matnr-option, 'I' TO lr_matnr-sign. APPEND lr_matnr. ENDIF.
* Collect Master Material SELECT matnr matkl bismt meins INTO CORRESPONDING FIELDS OF TABLE gi_header FROM mara WHERE matkl IN lr_matkl AND matnr IN lr_matnr.
* Collect Material Decription SELECT matnr maktx INTO CORRESPONDING FIELDS OF TABLE gi_makt FROM makt FOR ALL ENTRIES IN gi_header WHERE matnr = gi_header-matnr AND spras = sy-langu.
* Collect Measurement Text SELECT msehi mseht INTO CORRESPONDING FIELDS OF TABLE gi_t006a FROM t006a FOR ALL ENTRIES IN gi_header WHERE msehi = gi_header-meins AND spras = sy-langu.
*Mendapatkan informasi lain yang dibutuhkan LOOP AT gi_header. * Maksimal pengecekan row ADD 1 TO lv_counter. IF lv_counter <= gv_max_row OR gv_max_row = 0. * Mendapatkan deskripsi material READ TABLE gi_makt WITH KEY matnr = gi_header-matnr. IF sy-subrc = 0. gi_header-maktx = gi_makt-maktx. ENDIF.
* mendapatkan standar teks pengukuran READ TABLE gi_t006a WITH KEY msehi = gi_header-meins. IF sy-subrc = 0. gi_header-mseht = gi_t006a-mseht. ENDIF.
MODIFY gi_header.
ELSE. DELETE gi_header. ENDIF.
ENDLOOP.
ENDFUNCTION. |
Lihat kode Sintak menggunakan "UP TO gv_max_row ROWS"
FUNCTION yfm_rfc_practice_101. *"---------------------------------------------------------------------- *"*"Local interface: *" IMPORTING *" VALUE(GV_MATKL) LIKE MARA-MATKL OPTIONAL *" VALUE(GV_MATNR) LIKE MARA-MATNR OPTIONAL *" VALUE(GV_MAX_ROW) TYPE I DEFAULT 100 *" TABLES *" GI_HEADER STRUCTURE YTA_HEADER_101 OPTIONAL *"----------------------------------------------------------------------
DATA: gi_makt TYPE STANDARD TABLE OF makt WITH HEADER LINE, gi_t006a TYPE STANDARD TABLE OF t006a WITH HEADER LINE. * DATA: lv_counter TYPE i.
RANGES : lr_matkl FOR mara-matkl, lr_matnr FOR mara-matnr.
IF gv_matkl IS NOT INITIAL. MOVE : gv_matkl TO lr_matkl-low, space TO lr_matkl-high, 'EQ' TO lr_matkl-option, 'I' TO lr_matkl-sign. APPEND lr_matkl. ENDIF.
IF gv_matnr IS NOT INITIAL. MOVE : gv_matnr TO lr_matnr-low, space TO lr_matnr-high, 'EQ' TO lr_matnr-option, 'I' TO lr_matnr-sign. APPEND lr_matnr. ENDIF.
* Seleksi Material Master SELECT matnr matkl bismt meins UP TO gv_max_row ROWS INTO CORRESPONDING FIELDS OF TABLE gi_header FROM mara WHERE matkl IN lr_matkl AND matnr IN lr_matnr.
* Seleksi Deskripsi Material SELECT matnr maktx INTO CORRESPONDING FIELDS OF TABLE gi_makt FROM makt FOR ALL ENTRIES IN gi_header WHERE matnr = gi_header-matnr AND spras = sy-langu.
* Seleksi Standar teks pengukuran
SELECT msehi mseht INTO CORRESPONDING FIELDS OF TABLE gi_t006a FROM t006a FOR ALL ENTRIES IN gi_header WHERE msehi = gi_header-meins AND spras = sy-langu.
*Mendapatkan informasi lain yang dibutuhkan
LOOP AT gi_header. * Mendapatkan Deskripsi Material READ TABLE gi_makt WITH KEY matnr = gi_header-matnr. IF sy-subrc = 0. gi_header-maktx = gi_makt-maktx. ENDIF.
* Mendapatkan Standar teks pengukuran READ TABLE gi_t006a WITH KEY msehi = gi_header-meins. IF sy-subrc = 0. gi_header-mseht = gi_t006a-mseht. ENDIF.
MODIFY gi_header.
ENDLOOP.
ENDFUNCTION. |
10.Simpan dan aktifkan function
▪Input

▪Output

