Mencoba: Tutorial 2 – BAPI Usage

Berhasil mencoba ‘Tutorial 2 – BAPI Usage’ dari Web Dynpro for ABAP: Tutorials for Beginners. Hasilnya adalah sebagai berikut:

10

Namun saya mendapatkan kejutan kejutan pada saat mengikuti petunjuk tutorial tersebut. Terkadang tutorial tidak menunjukkan secara detil tentang suatu operasi atau tidak diberi contoh gambar. Kesulitan yang saya alami dan terpecahkan adalah sebagai berikut:

1. Pada halaman 7 bagian bawah ada teks seperti berikut:

Adapt Context: Select from Nodes/Attributes Names DESTINATION_FROM, DESTINATION_TO and FLIGHT_LIST. Press Continue.

Awalnya saya bingung bagaimana memilih parameter-parameter tersebut. Ternyata caranya adalah sebagai berikut:

06

Hasilnya adalah ‘component controller context’ sekarang berisi ‘context nodes’ yang telah kita pilih di atas untuk ‘BAPI call’ seperti pada gambar berikut:

07

2. Pada halaman 11 bagian bawah ada teks seperti berikut:

Repeat the same procedure (2-5) to create an UI element GROUP_1, bind it with context node DESTINATION_TO and select again the attributes CITY and COUNTR.

Setelah selesai mengikuti perintah tersebut, ternyata label untuk CITY dan COUNTR tidak otomatis muncul seperti proses untuk DESTINATION_FROM. Anda dapat meng-edit kedua label tersebut dengan cara berikut:

08

3. Pada halaman 14 ditunjukkan hasil pembuatan kode untuk method ONACTIONGET_FLIGHTS.

Namun saya mendapatkan hasil kode yang berbeda:

09

OK, sekarang pokoknya berhasil mengikuti tutorial dulu. Masalah memahami generated codes pikir belakangan dulu… hehehe.

Ditulis dalam SAP. Tag: , . Leave a Comment »

Request SAP NetWeaver 7.0 ABAP Trial Version License

Anda dapat mencoba SAP NetWeaver 7.0 ABAP Trial Version (selanjutnya saya sebut MiniSAP saja ) selama 3 bulan. Selanjutnya, masa
trial dapat di perbarui dengan meminta trial license baru untuk masa 3 bulan. Tulisan ini juga di dorong oleh pesan seseorang di
suatu mailing list yang bilang dia gagal meng-install lisensi baru.

Anda dapat mencoba SAP NetWeaver 7.0 ABAP Trial Version (selanjutnya saya sebut MiniSAP saja ) selama 3 bulan. Selanjutnya, masa trial dapat diperbarui dengan meminta trial license baru untuk masa 3 bulan. Tulisan ini juga di dorong oleh pesan seseorang di suatu mailing list yang bilang dia gagal meng-install lisensi baru.

Karena pekerjaan sehari-hari saya tidak berhubungan dengan SAP, maka hampir setahun saya tidak menggunakannya. Sekarang saya ingin mengaktifkan lagi lisensinya dan ternyata MiniSAP saya masih bisa digunakan.

Berikut langkah-langkah untuk mengaktifkan MiniSAP trial license:

Logon ke MiniSAP dengan user SAP* (password defaultnya: minisap) dan ketik tcode: SLICENSE, seperti dalam gambar berikut:

00

Setelah masuk ke SAP License Administration, scroll dan lihat bagian bawah. Di bagian tersebut ada box Request License Key untuk meminta lisensi baru seperti gambar berikut:

01

Sebelum mengunduh (download) lisensi, perhatikan SID dan Hardware Key dari MiniSAP anda. Ini berguna agar anda tidak keliru mengunduh file lisensi. SID MiniSAP saya adalah: NSP. Hardware Key saya adalah: C0317199287. Setelah itu hapus lisensi lama anda yang sudah tidak valid lagi seperti ditunjukkan dalam gambar berikut:

02

Sekarang kembali ke website SAP Sneak Preview License Key Request. Cukup mudah untuk mengisi form permintaan lisensi dari website ini. Anda tidak boleh keliru dalam memilih SID dari list box dan memasukkan Hardware Key. Setelah selesai klik Submit. File lisensi akan dikirim ke email anda. Bila anda salah memasukkan info SID atau Hardware Key, coba lagi untuk mengunduh ulang setelah memasukkan info yang benar di website ini juga. Perhatikan gambar berikut:

03

Setelah anda mengundul file lisensi dari email anda, install lisensi tersebut dengan cara berikut:

04

Bila gagal, biasanya kesalahannya karena anda keliru memasukkan info SID dan Hardware Key.

Semoga bermanfaat.

Ditulis dalam SAP. Tag: , . Leave a Comment »

Erlang: Why My Integer List Printed as String

Pada halaman 86 (kertas) atau 62 (pdf) di buku Erlang Programming, terdapat kode sebagai berikut:
coba jalankan, dan ternyata hasilnya tidak sesuai dengan harapan:
1> example:even([10,11,12]).
“\n\f”
seharusnya hasilnya adalah [10,12] bukan “\n\f”. Ketik baris kode berikut di Erlang shell:
2> [10,12].
“\n\f”
Hal ini menunjukkan bahwa tidak ada yang salah dengan hasilnya. Erlang menampilkan nilai sebuah list yang berisi integer sebagai string, namun hanya jika semua integer di dalam list adalah integer yang mereprentasikan string. Contoh integer yang tidak mereprentasikan string atau tidak dikonversikan menjadi string adalah 1, 2, 3, 4, 5, 6, dan 7. Bila list anda terdiri dari campuran integer yang menampilkan dan tidak menampilkan string maka list anda tidak akan di konversi. Katakanlah list anda adalah [1,10,12], maka list akan tetap menampilkan nilai [1,10,12] dan bukan “1\n\f”.
Oleh karena itu, saya memodifikasi modul di atas menjadi sebagai berikut. Namun hasilnya adalah sebuah tuple bukan list:
Compile dan jalankan modul yang telah dimodifikasi. Sekarang hasilnya adalah {10, 12} dan bukan “1\n\f”:
3> example:even([10,11,12]).
{10,12}
Jika anda ingin mengkonversi tuple ke list gunakan BIF (built in functions): tuple_to_list().

Pada halaman 86 (kertas) atau 62 (pdf) di buku Erlang Programming, terdapat modul untuk mengambil angka-angka genap dari sebuah list integer sebagai berikut:

-module(example).
-export([even/1]).

even([]) -> [];
even([H|T]) when H rem 2 == 0 -> [H | even(T)];
even([_|T]) -> even(T).

coba jalankan, dan ternyata hasilnya tidak sesuai dengan harapan:

1> example:even([10,11,12]). 
"\n\f"

seharusnya hasilnya adalah [10,12] bukan “\n\f”. Ketik baris kode berikut di Erlang shell:

2> [10,12].
"\n\f"

Hal ini menunjukkan bahwa tidak ada yang salah dengan hasilnya. Erlang menampilkan nilai sebuah list yang berisi integer sebagai string, namun hanya jika semua integer di dalam list adalah integer yang mereprentasikan string. Contoh integer yang tidak mereprentasikan string atau tidak dikonversikan menjadi string adalah 1, 2, 3, 4, 5, 6, dan 7. Bila list anda terdiri dari campuran integer yang menampilkan dan tidak menampilkan string maka list anda tidak akan di konversi. Katakanlah list anda adalah [1,10,12], maka list akan tetap menampilkan nilai [1,10,12] dan bukan “1\n\f”.

Oleh karena itu, saya memodifikasi modul di atas menjadi sebagai berikut. Namun hasilnya adalah sebuah tuple bukan list:

-module(example).
-export([even/1]).

even(L) -> list_to_tuple(get_even(L)).

get_even([]) -> [];
get_even([H|T]) when H rem 2 == 0 -> [H | get_even(T)];
get_even([_|T]) -> get_even(T).

Compile dan jalankan modul yang telah dimodifikasi. Sekarang hasilnya adalah {10, 12} dan bukan “\n\f”:

3> example:even([10,11,12]). 
{10,12}

Jika anda ingin mengkonversi tuple ke list gunakan BIF (built in functions): tuple_to_list().

Erlang Programming, Exercise 2-3: Simple Pattern Matching

Saya sedang membaca buku Erlang Programming. Nah ini adalah solusi dari Exercise 2-3: Simple Pattern Matching. Pertanyaan aslinya adalah sebagai berikut:

Write a module boolean.erl that takes logical expressions and Boolean values (represented as the atoms true and false) and returns their Boolean result. The functions you write should include b_not/1, b_and/2, b_or/2, and b_nand/2. You should not use the logical constructs and, or, and not, but instead use pattern matching to achieve your goal.Test your module from the shell. Some examples of calling the exported functions in your module include:

bool:b_not(false) => true
bool:b_and(false, true) => false
bool:b_and(bool:b_not(bool:b_and(true, false)), true) => true

The notation foo(X) => Y means that calling the function foo with parameter X will result in the value Y being returned. Keep in mind that and, or, and not are reserved words in Erlang, so you must prefix the function names with b_.

Hint: implement b_nand/2 using b_not/1 and b_and/2.

Solusinya adalah:

-module(bool).
-export([b_not/1, b_and/2, b_or/2, b_nand/2]).

b_not(X) -> X == false.
b_and(X,Y) -> {true, true} == {X,Y}.
b_or(X,Y) -> b_not({false, false} == {X,Y}).
b_nand(X,Y) -> b_not(b_and(X,Y)).

Ada yang punya solusi lebih baik?

Cara Goblok Install MapGuide WebServerExtensions untuk Apache sekaligus IIS

Nggak tahu kenapa saya ingin install MapGuide WebServerExtensions untuk Apache dan IIS sekaligus di dalam laptop saya. Mungkin karena ingin eksperimen aja atau aku emang rada sentimen ama si IIS. Mengapa nggak pilih salah satu? karena aplikasi yang ada sudah terlanjur pake IIS. Sekarang aku lagi ngompor-ngomporin untuk pake Apache, kali aja ada klien yang alergi Windows.

MapGuide WebServerExtensions ini akan diinstall di Windows XP (ingat ada si IIS). Langkah-langkah ringkasnya adalah sebagai berikut:

  1. Install MapGuide WebServerExtensions untuk Apache terlebih dahulu.
  2. Sesudah itu copy folder C:\Program Files\MapGuideOpenSource2.0\WebServerExtensions\Apache2 ke tempat lain, katakanlah drive D.
  3. Uninstall MapGuide WebServerExtensions.
  4. Install lagi MapGuide WebServerExtensions tetapi sekarang pilih untuk IIS.
  5. Copykan kembali folder D:\Apache2 (lihat langkah ke-2) ke tempat asalnya yaitu C:\Program Files\MapGuideOpenSource2.0\WebServerExtensions\Apache2.

Ok, proses tinggal satu (1) langkah lagi. Buatlah file apache-install.bat dan letakkan di C:\Program Files\MapGuideOpenSource2.0\WebServerExtensions. Isi file apache-install.bat adalah sebagai berikut:

@ECHO OFF
REM This installs and starts the apache service
cd Apache2\bin
httpd -k install -n “Apache MapGuide Web Server”
net start “Apache MapGuide Web Server”
cd ..\..
:ALL_DONE
@ECHO OFF
REM This installs and starts the apache service
cd Apache2\bin
httpd -k install -n "Apache MapGuide Web Server"
net start "Apache MapGuide Web Server"
cd ..\..

Skrip di atas akan menjalankan Apache sebagai Service. Sekarang jalankan file C:\Program Files\MapGuideOpenSource2.0\WebServerExtensions\Apache2\bin\ApacheMonitor.exe untuk meng-control Apache Service seperti start, stop, atau restart.

Sekian.

Ditulis dalam GIS. Tag: . 4 Komentar »