Kamis, 28 Juni 2012

Contoh Parameter Menggunakan List Box

Berikut contoh program sederhana untuk membuat List Box .

*&---------------------------------------------------------------------*
*& Report ZLIST_BOX
*&
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*

REPORT zlist_box.

TYPE-POOLS: vrm.
DATA : t_itab TYPE STANDARD TABLE OF sairport WITH HEADER LINE,
t_data LIKE TABLE OF t_itab WITH HEADER LINE.
DATA : w_value
TYPE vrm_value,
t_values
TYPE vrm_values,
n_value TYPE vrm_id.

PARAMETERS : p_list(10) AS LISTBOX VISIBLE LENGTH 15.

AT SELECTION-SCREEN OUTPUT.
  PERFORM : fm_create_list_box.

START-OF-SELECTION.
  PERFORM : fm_collect_data,
                        fm_display_data.

BADI For TM01 ( FTR_TR_GENERIC )

Kali ini kita akan membuat implementasi menggunakan BADI "FTR_TR_GENERIC". Contoh kasus pada t-code TM01 kita harus mengisikan External Reference. Jika tidak diisi maka akan muncul pesan Error. Ok langsung saja berikut step - stepnya :

1. Buka t-code SE18 lalu isi Badi Name dengan "FTR_TR_GENERIC".
2. Klik menu Enhancement Implementation lalu Create seperti pada gambar berikut : ccsa

Selasa, 10 Januari 2012

subtract & Write Unit


1. Bagaimanakah cara untuk mengubah nilai plus menjadi minus.
    Dengan mengkalikan -1 maka nilai akan menjadi minus, di abap sendiri ada cara lain untuk menugbah nilai menjadi minus. contoh:

subtract ls_join-erfmg from lv_erfmg.  ( ls_join-erfmg = 1000 lv_erfmg menjadi 1000- )

2. Quantity dalam tabel SAP otomatis akan menyimpan tiga angka dibelkang koma (,). 
     Dan ternyata di abap sendiri juga ada fungsi untuk mengubah format quantity. contoh :
write lv_stockakhir unit lv_meins to gv_stockakhir.
( lv_stockakhir = 9,000 lv_meins = EA menjadi gv_stockakhir = 9 ).

3. Curency untuk IDR biasanya yang tersimpan dalam tabel di bagi 100. Untuk menampilkannya kembali kita juga harus mengalikan 100. Fungsi Abap untuk otomatis mengalikan nilai sesuai dengan curency adalah:
write gv_v currency lv_curr to gv_v3.
gv_v = 100,00 lv_curr = IDR hasil gv_v3 = 10000,00
Cara ini hanya bisa digunakan untuk tipe data Karakter. Cara lain supaya bisa digunakan ditipe data currency adalah dengan memanggil function modul. Berikut cara pemanggilannya :

CALL FUNCTION 'CURRENCY_AMOUNT_SAP_TO_DISPLAY'
     EXPORTING
          currency        = p_cur
          amount_internal = p_val
    IMPORTING
         AMOUNT_DISPLAY   = gv_val
    EXCEPTIONS
         INTERNAL_ERROR   = 1
         OTHERS           2.

Jumat, 23 Desember 2011

Call Number Ranges (SNRO) from Function Module

Pada kesempatan kali ini kita akan bikin Number Ranges dari T-Code SNRO kemudian kita panggil lewat function. OK!!.. Untuk pertama kalinya kita bikin dulu Object NoRangenya dari SNRO. Misal kita kasih nama YRANGE.


Selasa, 06 Desember 2011

Macro Data for Insert Ranges

define macro_insert_ranges.

  &1-sign = 'I'.
  &1-option = 'EQ'.
  &1-low = &2.
  append &1.

end-of-definition.

macro_insert_ranges : r_with1 'Y101',
                      r_with1 'Z101',
                      r_with1 'Z1ZA'

===============================================================


ranges : lr_vbeln for vbrk-vbeln,
           lr_matnr for vbrp-matnr,
           lr_fkdat for vbrk-fkdat,
           lr_kunnr for knvv-kunnr,
           lr_vkbur for knvv-vkbur,
           lr_bzirk for knvv-bzirk.

define param.
    if &1 is not initial.
      clear &2.
      &2-sign = 'I'.
      &2-option = 'EQ'.
      &2-low = &1.
      &2-high = ''.
      append &2.
    endif.
  end-of-definition.

  param i_vbeln lr_vbeln.
  param i_matnr lr_matnr.
  param i_kunnr lr_kunnr.
  param i_vkbur lr_vkbur.
  param i_bzirk lr_bzirk.