Views 281
Visitors 183

Dialog (103) - Table Control

Home 
| Top Page | Threads |
Previous  Next

 

Membuat Dialog

1.Buka SE38
2.Salin Program "YPRACTICE_DIALOG_101" menjadi "YPRACTICE_DIALOG_103"
3.Seleksi Semua Objek

abp0018

4.Ubah Program "YPRACTICE_DIALOG_103"
5.Buka Goto > Attributes, dan ubah "Title" dengan "103 - Table Control"
6.Modifikasi Deklarasi Report

Sebelum

REPORT  ypractice_dialog_101                    .

 

Setelah

REPORT  ypractice_dialog_103                    .

 

7.Modifikasi ""

Sebelum

*----------------------------------------------------------------------*

*GLOBAL VARIABLE DECRALATION

*----------------------------------------------------------------------*

 

DATA : ok_code LIKE sy-ucomm,

       save_ok LIKE sy-ucomm.

 

DATA : gv_message1(100),

       gv_message2(100).

 

*----------------------------------------------------------------------*

 

Setelah

*----------------------------------------------------------------------*

*GLOBAL VARIABLE DECRALATION

*----------------------------------------------------------------------*

TYPES: BEGIN OF ty_header,

         matkl LIKE mara-matkl,  " Material Group

         matnr LIKE mara-matnr,  " Material Number

         maktx LIKE makt-maktx,  " Material Description

         bismt LIKE mara-bismt,  " Old material number

         meins LIKE mara-meins,  " Base Unit of Measure

         mseht LIKE t006a-mseht, " Unit of Measurement Text

         Cek,

       END OF ty_header.

 

* atau anda adapt menggunakan kode dibawah

*TYPES: BEGIN OF ty_header.

*         INCLUDE STRUCTURE yta_header_101.

*TYPES:   cek,

*       END OF ty_header.

 

* Deklarasi Internal Table

DATA: gi_header TYPE STANDARD TABLE OF ty_header WITH HEADER LINE,

      gi_makt  LIKE STANDARD TABLE OF makt WITH HEADER LINE,

      gi_t006a LIKE STANDARD TABLE OF t006a WITH HEADER LINE.

 

DATA: gv_matkl LIKE mara-matkl.

 

DATA : ok_code LIKE sy-ucomm,

       save_ok LIKE sy-ucomm.

 

DATA : gv_message1(100),

       gv_message2(100).

 

*----------------------------------------------------------------------*

 

8.Klik "abap_tutorial0019" dan klik "abap_tutorial0031"
9.Seleksi "REPS", "CUAD" and "DYNP"

abp0033

10.Klik "abap_tutorial0025" untukk mengaktivas program
11.Klik "ar0015"
12.Klik ganda "abp0008" untuk membuka screen 2000
13.Klik "ar0018" untuk memulai layout desain (Screen Painter)
14.Klik "abp0019" dan kemudian klik pada screen
15.Atur Nama Label (Text Field) dengan "GV_LABEL1" dan Text dengan "Material Group." seperti dibawah

abp0034

 

16.Klik "abp0021" dan kemudian klik pada screen
17.Atur Nama TextBox (Input/Output Field) dengan "GV_MATKL" dengan length "10" seperti berikut

abp0035

 

18.Klik Ganda "abp0041" dan atur Search help dengan "H_T023"

abp0040

 

19.Setelah itu TextBox deiganti menjadi "abp0042"
20.Klik "abp0023" dan kemudian klik pada screen
21.Atur Nama (PushButton) dengan "GV_BUTTON" seperti berikut

abp0036

 

22.Klik ganda "abp0037" dan atur Function Code dengan "DISPLAY"

abp0038

 

23.Setelah warna tombol berubah menjadi abu-abu seperti berikut "abp0039"
24.Klik "abap_tutorial0019" untuk menyimpan screen
25.Klik "abp0043" kemudian drag di screen painter
26.Setelah itu Table Control Wizard akan dieksekusi

abp0044

 

27.Klik "abp0045" ikuti langkah-langkah berikut

Tampilkan Langkah-langkahnya

Isikan Nama kontrol tabel dengan "ZTC_HEADER" kemudian Klik "abp0045"

abp0046

 

Seleksi Internal Tabel  "Internal program table" dan isi dengan "GI_HEADER" kemudian klik "abp0045"

abp0047

 

Seleksi Field seperti dibawah dan kemudian klik "abp0045"

abp0048

 

Ceklis "List selection col" dan isikan dengan "CEK" seperti dibawah "abp0045"

abp0050

 

Ceklis "Scroll" dan kemudian klik "abp0045"

abp0049

 

Isikan semua Text Box dengan "YPRACTICE_DIALOG_103_HEADER" dan kemudian klik "abp0045"

abp0051

 

klik "abp0052" untuk menyelesaikan wizard dan menggenerate kode sintak dan objek dialog .

 

Hasil dari Wizard

abp0053

 

28.Klik "abap_tutorial0019" untuk menyimpan screen dan kemudian tutup screen painter
29.Kembali ke kode sintak
30.Modifikasi modul "USER_COMMAND_2000 input"

Sebelum

*&---------------------------------------------------------------------*

*&      Module  USER_COMMAND_2000  INPUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

module USER_COMMAND_2000 input.

  save_ok = ok_code.

  CLEAR ok_code.

 

  CASE save_ok.

    WHEN 'BACK'.

      LEAVE TO SCREEN 0.

    WHEN OTHERS.

 

  ENDCASE.

 

  CLEAR ok_code.

endmodule.                 " USER_COMMAND_2000  INPUT

 

Setelah

*&---------------------------------------------------------------------*

*&      Module  USER_COMMAND_2000  INPUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

MODULE user_command_2000 INPUT.

  save_ok = ok_code.

  CLEAR ok_code.

 

  CASE save_ok.

    WHEN 'BACK'.

      LEAVE TO SCREEN 0.

    WHEN 'DISPLAY'.

      CALL FUNCTION 'YFM_RFC_PRACTICE_101'

       EXPORTING

         gv_matkl         = gv_matkl

*         GV_MATNR         =

         gv_max_row       = 0

       TABLES

         gi_header        = gi_header

                .

    WHEN OTHERS.

 

  ENDCASE.

 

  CLEAR ok_code.

ENDMODULE.                 " USER_COMMAND_2000  INPUT

 

31.Klik "abap_tutorial0019" dan klik "abap_tutorial0031"
32.Seleksi "REPS", "REPS" and "DYNP"

abp0054

33.Klik "abap_tutorial0025" untuk mengaktifkan program
34.Tes dan Jalankan program
36.Selesai

 

Result

Screen 2000

abp0055

 

Setelah di Klik tombol "Display"

abp0056

 

Flow Logic

PROCESS BEFORE OUTPUT.

*&spwizard: pbo flow logic for tablecontrol 'ZTC_HEADER'

  module ZTC_HEADER_change_tc_attr.

*&spwizard: module ZTC_HEADER_change_col_attr.

  loop at   GI_HEADER

       with control ZTC_HEADER

       cursor ZTC_HEADER-current_line.

    module ZTC_HEADER_get_lines.

*&spwizard:   module ZTC_HEADER_change_field_attr

  endloop.

 

MODULE STATUS_2000.

*

PROCESS AFTER INPUT.

*&spwizard: pai flow logic for tablecontrol 'ZTC_HEADER'

  loop at GI_HEADER.

    chain.

      field GI_HEADER-MATKL.

      field GI_HEADER-MATNR.

      field GI_HEADER-MAKTX.

      field GI_HEADER-BISMT.

      field GI_HEADER-MEINS.

      field GI_HEADER-MSEHT.

    endchain.

    field GI_HEADER-CEK

      module ZTC_HEADER_mark on request.

  endloop.

  module ZTC_HEADER_user_command.

*&spwizard: module ZTC_HEADER_change_tc_attr.

*&spwizard: module ZTC_HEADER_change_col_attr.

 

MODULE USER_COMMAND_2000.

 

User Threads | New Thread ( Only for Donators )

Threads Last Post Replies Views