Maintaining Variable using Tcode STVARV

Untuk menghindari hardcode dalam suatu program, biasanya abaper menggunakan constants untuk meminimalisir hardcode atau agar lebih fleksibel, dibuat table Z yang digunakan untuk me-maintain variabel yang di-hardcode. Penggunaan tcode STVARV dapat menjadi solusi bagi abaper untuk menghindari penggunaan constant maupun table z untuk menghindari hardcode. Namun, nama variabel yang di-defined dalam tcode tetap harus di-hardcode di program.

Selain itu, tcode STVARV tidak hanya bisa memaintain single variable dalam bentuk parameter, tetapi juga dalam bentuk select option. Berikut adalah cara penggunaannya.

Requirement: hardcode GL Account yang digunakan dalam suatu program, yaitu get data GL Account dengan range 0011021910 ~ 0011021918.

  • Maintain variable GL Account pada tcode STVARV pada tab selection option. Lalu Save.

stvarv

  • Pada abap program, get variabel value dari table TVARVC yang menyimpan variable tcode STVARV.
DATA: t_stdbsart TYPE STANDARD TABLE OF tvarvc WITH HEADER LINE,
      t_ska1 TYPE STANDARD TABLE OF ska1 WITH HEADER LINE.
RANGES: r_hkont FOR ska1-saknr.

SELECT * INTO CORRESPONDING FIELDS OF TABLE t_stdbsart
    FROM tvarvc WHERE name EQ 'GL_ACCOUNT'.
IF LINES( t_stdbsart ) > 0.
  LOOP AT t_stdbsart.
    MOVE-CORRESPONDING t_stdbsart TO r_hkont.
    r_hkont-option = t_stdbsart-opti.
    APPEND r_hkont.
  ENDLOOP.
ENDIF.

IF r_hkont[] is NOT INITIAL.
  SELECT * FROM ska1 INTO TABLE t_ska1
    WHERE saknr in r_hkont.
ENDIF.

Variable yang di-create di tcode STVARV dapat ditransport dengan men-thick pilihan ‘Include changed entries in transport request’ sebelum Save.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s