coder, designer, dreamer

April 30, 2008

AS400 - RPG4 - SEU

Filed under: code

Hm. Kali ini gw mau ngomongin sedikit tentang kerja kantor gw.
Gw yakin, selain sebagai catatan pribadi, tulisan gw ini akan bermanfaat untuk orang lain. Semoga.

Gw bekerja sebagai seorang programmer RPG (Report Program Generator). RPG adalah bahasa pemrograman di lingkungan AS/400 (Application System/400) –sebuah mesin keluaran IBM yang didalamnya terdapat integrasi antara sistem operasi (OS/400), database (DB2/400), query tool (QUERY/400) dan sebagainya.

Mayoritas pemilik mesin AS/400 adalah perusahaan yang bergerak dibidang banking. Hal ini didukung mesin AS/400 yang reliable, secure serta support dari pihak IBM selaku vendor.

Bagi programmer, penggunaan IDE (Integrated Development Environment) ketika programming hampir tidak terelakkan. Sama halnya di AS/400, ada sebuah aplikasi bernama SEU (Source Entry Utility) sebagai IDE untuk mengetik kode sumber (source code) RPG .

SEU ini mirip Notepad++, Ultraedit, atau code-editor lainnya. Perbedaan utamanya, SEU memiliki syntax-checker yang restrict, namun syntax-checker ini juga bisa dikonfigurasi. Selain mengetik kode sumber RPG, kita bisa menggunakan SEU untuk mengetik +/- 90 tipe source (source type) selain RPG.

Ada sesuatu yang menarik ketika menggunakan SEU untuk programming. Perhatikan potongan kode berikut.

0019.00  *                                                      080220
0020.00  *  DD MASTER / UsrOpn < - must explicitly using 'open' 080221
0021.00 FDDMAST    IF   E           K DISK    UsrOpn            060928
0022.00  *                                                      080220

Notice something?.

Perhatikan bagian paling kanan dari tiap baris kode. Yes! Itu adalah waktu dimana baris tersebut diketik/modifikasi. Pada contoh diatas, formatnya adalah: YYMMDD (Y=Year, M=Month, D=Date).

Jadi, kalau ada yang perhatikan post gw sebelum-sebelumnya, dimana gw mengeluh sewaktu mempelajari program yang berumur 3 dekade, itu karena gw mengacu ke source-line entry-date nya.

Bagi gw, hal ini menarik. Pengalaman gw programming di bahasa pemrograman lain, ga ada yang seperti ini. Di tiap line terdapat entry-date nya.

Dari hal menarik ini, gw mendapatkan hal menarik lainnya. Coba perhatikan sekali lagi potongan kode di atas.

Kalau tiap line gw anggap sebagai record, lalu gw jadikan 3 section (field), maka:

  1. Field #1 : Entry Sequence.
  2. Field #2 : Code.
  3. Field #3 : Entry Date.

Coba analisa. Memiliki field dan record ?. Familiar? Tentu saja! Itu adalah karakteristik table.

Dengan asumsi bahwa source file (file yang digunakan untuk menyimpan source code) adalah database (database <> table). Berarti gw bisa melakukan query ke source file tersebut.

Dan ternyata berhasil. Lihat hasil query berikut.

SRCSEQ    SRCDAT   SRCDTA
 20.00    80,221   *  DD MASTER / UsrOpn < - must explicitly using 'open'
 21.00    60,928   FDDMAST    IF   E           K DISK    UsrOpn
 22.00    80,220   *

Ada 3 field:

  1. SRCSEQ : Source Sequence.
  2. SRCDAT : Source Date.
  3. SRCDTA: Source Data.

Great isn’t it?.

Kesimpulannya, SEU adalah sebuah aplikasi tempat kita mengetik baris kode dan menyimpannya ke table yang memiliki 3 field (Entry Sequence, Code, dan Entry Date).

Kalau punya skill, kita bisa menggunakan hal ini (query on source-file) lebih jauh. Contohnya, membuat source versioning control. Sejenis CVS atau SVN. Sayangnya, kemampuan gw blom memadai untuk membuat tool begituan.

Thats it. Semoga nanti gw bisa tulis hal menarik lainnya seputar pengalaman gw di lingkungan AS/400. Semoga berguna.

Related RPG article:

12 Comments »

The URI to TrackBack this entry is: http://static.blogsome.com/2008/04/30/as400-rpg4-seu/trackback/

  1. berat boss… T_T
    dah maen SEU aja

    tob bgt deh bro

    Comment by 4ken — May 1, 2008 @ 11:45 pm

  2. ini apaan seeh?

    Comment by Syafriadi — May 5, 2008 @ 12:47 pm

  3. no offense yah om, tapi jujur gw ga ngarti… T.T

    Comment by Teguh Aditya — May 5, 2008 @ 5:16 pm

  4. @Syafriadi & Tguh
    Yaaaah, padahal udah panjang lebar dijelasin di awal.

    Comment by static — May 5, 2008 @ 8:38 pm

  5. Yap yap… tapi masih ga ngerti juga…

    *jedukin kepala ke meja

    Comment by Teguh Aditya — May 7, 2008 @ 2:22 pm

  6. RPG ? ck ck .. waktu kuliah saya hampir ga lulus matkul itu pak :D
    Rasanya sangat langka bisa menemukan programmer RPG - AS/400 di Indonesia, salut :)

    Comment by Jiewa — May 8, 2008 @ 8:36 am

  7. @Jiewa
    Jangan pakai `pak` donk Pak.

    Saya masi twenty one nih. Masi imut (itam mutlak).

    Comment by static — May 8, 2008 @ 9:19 am

  8. Walah.. berarti aku lebih tua donk :D
    Soalnya prog AS400 biasanya udah senior2 sih :P
    Dulu saya di STTS Sby, ada pelajaran RPG & COBOL AS/400.

    Comment by Jiewa — May 10, 2008 @ 9:31 am

  9. Boleh dong minta ajarin RPG… :D

    Comment by sybond — July 3, 2008 @ 11:08 am

  10. Wah salut2..
    Kayaknya gw baru tau tuh ada command SRCSEQ, SRCDAT & SRCDTA.

    Dan bener juga ya, klo dgn command2 diatas berarti kita bisa buat tool untuk source versioning control.

    Ok deh, thx buat inspirasi nya…
    Moga ntar kita bisa membuat tool itu ya.. AMIN. :)

    Comment by Dicky Firmansyah — August 4, 2008 @ 5:06 am

  11. @Dicky Firmansyah
    Hallah, si bapak ini merendah. Padahal sendirinya jago banget. Hohoh.

    Koreksi pak:
    Kayaknya gw baru tau tuh ada command SRCSEQ, SRCDAT & SRCDTA.

    SRCSEQ, SRCDAT dan SRCDTA bukan command, melainkan nama field.

    Coba query member source file, pasti dapet deh.

    Anyway, thanks for reading and drop a comment.

    Comment by static — August 5, 2008 @ 9:10 am

  12. Salam kenal, saya Bowo dulu pernah kerja di kawan lama sejahtera…sy tertarik dengan tulisan anda. Saat ini saya sedang membutuhkan programmer rpg apakah anda mempunyai kenalan yg freelance…? atau katakan lah payment by project. Bisa hubungi saya via emal ya
    regards

    Comment by bowo — April 23, 2009 @ 2:07 pm

RSS feed for comments on this post.

Leave a comment

Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>



Anti-spam measure: please retype the above text into the box provided.

Get free blog up and running in minutes with Blogsome
Theme designed by Jay of onefinejay.com