Get & Change Variant Value

Value of parameter yang di-input pada selection screen program, dapat disimpan dalam bentuk variant. Data varian ini disimpan dalam table VARID. Namun, table VARID tidak menyimpan value per parameter yang di-input, hanya general informasi yang disimpan, seperti program name dan variant name.

Sedangkan untuk get value dari variant-nya bisa menggunakan function module RS_VARIANT_CONTENTS. Bila ingin mengubah value variant-nya, bisa menggunakan function module RS_CHANGE_CREATED_VARIANT. Namun, pada saat change variant, semua value variant yang tidak diubah harus diikutsertakan agar tidak menjadi blank saat diubah.

Adapun parameter yang perlu diisi pada FM RS_VARIANT_CONTENTS adalah sbb:


    DATA: lt_valutab LIKE	TABLE OF rsparams WITH HEADER LINE.

    CALL FUNCTION 'RS_VARIANT_CONTENTS'
      EXPORTING
        report               = varid-report
        variant              = varid-variant
      TABLES
        valutab              = lt_valutab
      EXCEPTIONS
        variant_non_existent = 1
        variant_obsolete     = 2
        OTHERS               = 3.

Adapun parameter yang perlu diisi pada FM RS_CHANGE_CREATED_VARIANT adalah sbb:


*change lt_valutab column sign, option, low, and high as your requirement
    CALL FUNCTION 'RS_CHANGE_CREATED_VARIANT'
      EXPORTING
        CURR_REPORT                     = varid-report
        CURR_VARIANT                    = varid-variant
        VARI_DESC                       = vari_desc "boleh kosong
        ONLY_CONTENTS                   = 'X'
      TABLES
        VARI_CONTENTS                   = lt_valutab

Hope it helps.

Note:
Untuk variant value dengan tipe data DATE, saat get value dengan FM RS_VARIANT_CONTENTS, format date adalah dd.mm.yyyy, namun apabila saat diubah menggunakan FM RS_CHANGE_CREATED_VARIANT, formatnya adalah yyyymmdd.

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