Berikut adalah hal-hal yang saya garisbawahi setelah mencoba Tutorial 1 – Create a Simple Web Dynpro Application dari Web Dynpro for ABAP: Tutorials for Beginners.
Untuk membuat sebuah web page dengan grid view seperti di bawah ini:
dibutuhkan sedikit coding pada method WDDOINIT. Method tersebut adalah milik MAINVIEW. Method MAINVIEW yang lain adalah WDDOAFTERACTION, WDDOBEFOREACTION, WDDOEXIT, dan WDDOMODIFYVIEW. Method WDDOINIT berikut berguna untuk mengisikan data ke dalam grid view pada saat program dijalankan (run time).
method WDDOINIT.
* inisialisasi atau deklarasi data dan variabel
data:
Node_sflight type REF TO IF_WD_CONTEXT_NODE,
Itab_sflight type standard table of SFLIGHT.
* ambil data dari tabel SFLIGHT
select * from SFLIGHT into table Itab_sflight.
* navigate from <CONTEXT> to <SFLIGHT> via lead selection
Node_sflight = wd_Context->get_Child_Node( name = ‘SFLIGHT_NODE’ ).
* bind internal table to context node <SFLIGHT>
Node_sflight->Bind_Table( Itab_sflight ).
endmethod.
IF_WD_CONTEXT_NODE langsung mendapat mendapat perhatian saya. Dari mana asalnya? Semoga tidak harus membuka dokumentasi untuk mendapat jawabannya. Doa saya terkabul, ternyata asalnya dari tab Attribute.
WD_CONTEXT dalam hal ini sepintas seperti datasource yang terhubung dengan metadata tabel fisik database. Node_sflight merepresentasikan data source dari grid view. Bagian akhir dari kode di atas adalah cara untuk mengaktifkan datasource sehingga data akan tampil di grid view saat program dijalankan. Namun, saya masih belum begitu percaya dengan pemahaman ini. Semoga dengan mencoba tutorial berikutnya akan bisa lebih mengerti.
Perlu diketahui bahwa cara membuat aplikasi seperti di atas tidak disarankan karena mengakses langsung ke tabel database. Cara yang lebih baik adalah dengan menggunakan functions atau BAPI untuk data access. Saya belum mencobanya, tapi bisa jadi di dalam BAPI terdapat error dan control handling yang akan mempermudah pembuatan aplikasi.


Oktober 26, 2009 pukul 3:08 pm
error :Number of Elements of the Collection of Node MAINVIEW.1.SFLIGHT_NODE Violates the Cardinality.
The ABAP call stack was:
Method: CHECK_COLLECTION of program CL_WDR_CONTEXT_NODE_VAL=======CP
Method: IF_WD_CONTEXT_NODE~BIND_TABLE of program CL_WDR_CONTEXT_NODE_VAL=======CP
Method: WDDOINIT of program /1BCWDY/6RECASL2DDJV4MKBLGSS==CP
Method: IF_WDR_VIEW_DELEGATE~WD_DO_INIT of program /1BCWDY/6RECASL2DDJV4MKBLGSS==CP
Method: DO_INIT of program CL_WDR_DELEGATING_VIEW========CP
Method: INIT_CONTROLLER of program CL_WDR_CONTROLLER=============CP
Method: INIT_CONTROLLER of program CL_WDR_VIEW===================CP
Method: INIT of program CL_WDR_CONTROLLER=============CP
Method: GET_VIEW of program CL_WDR_VIEW_MANAGER===========CP
Method: BIND_ROOT of program CL_WDR_VIEW_MANAGER===========CP
apa ya errorya tolong mas
Oktober 26, 2009 pukul 5:16 pm
di halaman 12 pada tutorial pdf ada kalimat:
Maintain the properties according to the screen shot below. Select SFLIGHT as Dictionary Structure and ā0ā¦nā for the Cardinality.
Coba cek lagi, karena di tutorial yang berkaitan dengan cardinality kayaknya cuma itu.