Senin, 29 Oktober 2012

ALV Pop Up

Berikut contoh program ALV Pop Up.

*&---------------------------------------------------------------------*
*& Report  ZALV_POPUP                                                  *
*&                                                                     *
*&---------------------------------------------------------------------*
*&                                                                     *
*&                                                                     *
*&---------------------------------------------------------------------*

REPORT  zalv_popup                              .
TYPE-POOLS : slis.

DATA:
    ls_fieldcatlog TYPE slis_fieldcat_alv,
    lt_fieldcatlog TYPE slis_t_fieldcat_alv,
    lt_layout TYPE slis_layout_alv.

DATA : BEGIN OF t_data OCCURS 0,
       matnr TYPE mara-matnr,
       maktx TYPE makt-maktx,
       matkl TYPE mara-matkl,
       meins TYPE mara-meins,
      END OF t_data,

      BEGIN OF t_makt OCCURS 0,
      matnr TYPE makt-matnr,
      maktx TYPE makt-maktx,
      END OF t_makt.

START-OF-SELECTION.
  PERFORM : fm_get_data,
            fm_display_alv.

Jumat, 28 September 2012

Find Request Number of Smartforms

Buka T-Code SE03.
Dobel klik pada pada Search for Objects in Request/Tasks.


Isi Object Selection dengan SSFO, centang cek box sebelah kiri lalu masukkan nama smartforms.


 Execute atau tekan F8.


Senin, 17 September 2012

Add Custom Field to ME2N

Pada kesempatan kali ini kita akan coba menambahkan field pada T-Code ME2N.
Caranya :

Append structure pada structure MEREP_OUTTAB_PURCHDOC.
Caranya buka T-Code SE11, masukkan structure tersebut lalu display. Klik tombol append structure, dan beri nama.

Jumat, 14 September 2012

Add Custom Field to FBL3N

Sebagai contoh kita akan menambahkan Object Key pada report FBL3N.

Caranya buka T-Code FIBF.
Klik Settings -> Products - ...of a customer.



Jumat, 20 Juli 2012

Convert WBS Element


DATA : pspnr TYPE ps_posnr,
       wbs TYPE char25.

CALL FUNCTION 'CONVERSION_EXIT_ABPSP_OUTPUT'
  EXPORTING
    input  = pspnr
  IMPORTING
    output = wbs.


CALL FUNCTION 'CONVERSION_EXIT_ABPSP_INPUT'
  EXPORTING
    input     = wbs
  IMPORTING
    output    = pspnr
  EXCEPTIONS
    not_found = 1
    OTHERS    2.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

Jumat, 29 Juni 2012

Read .txt file to ITAB


Kali ini saya akan mencoba sharing bagaimana cara membaca file .txt untuk bisa dimasukkan ke dalam internal tabel. Mungkin ini bisa dikembangkan untuk dijadikan program upload data dari file .txt. OK, berikut source code untuk program read file .txt.


*&---------------------------------------------------------------------*
*& Report  ZREAD_TXT
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  zread_txt.
DATA: BEGIN OF itab OCCURS 0,
      matnr TYPE matnr,
      matkl TYPE matkl,
      meins TYPE meins,
      maktx TYPE maktx,
  END OF itab.

SELECTION-SCREEN BEGIN OF BLOCK g1 WITH FRAME TITLE text_101.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(18) text_102 FOR FIELD p_file.
PARAMETERS : p_file LIKE rlgrap-filename OBLIGATORY.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK g1.

AT SELECTION-SCREEN OUTPUT.
  text_101 = 'Selection parameter'.
  text_102 = 'Chose .*txt file'.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
  PERFORM f_get_filename CHANGING p_file.

START-OF-SELECTION.
  PERFORM fm_read_data.
  PERFORM fm_display_data.


Kamis, 28 Juni 2012

Contoh Pop Up Message Menggunakan "REUSE_ALV_POPUP_TO_SELECT"

*&---------------------------------------------------------------------*
*& Report  ZALV_POPUP
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  zalv_popup.
TYPE-POOLS : icon, slis.
DATA BEGIN OF t_log OCCURS 0,
icon(4),
msgtyp TYPE bdc_mart,
descr(132),
END OF t_log,
gt_fieldcatlog TYPE slis_fieldcat_alv OCCURS WITH HEADER LINE.

START-OF-SELECTION.
  PERFORM fm_insert_log.
  PERFORM fm_insert_field.
  PERFORM fm_show_log.

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.