Kadang-kadang kita sering mendebug mencari user exit pada tcode tertentu, dan ini sangat membutuhkan waktu yang lama. Ternyata user exit bisa di list dengan program simple di bawah.



REPORT ysanto_11 .

TABLES : tstc, tadir, modsapt, modact, trdir, tfdir, enlfdir.
TABLES : tstct.

DATA : jtab LIKE tadir OCCURS 0 WITH HEADER LINE.
DATA : field1(30).
DATA : v_devclass LIKE tadir-devclass.

PARAMETERS : p_tcode LIKE tstc-tcode OBLIGATORY.

SELECT SINGLE * FROM tstc WHERE tcode EQ p_tcode.

IF sy-subrc EQ 0.

SELECT SINGLE * FROM tadir WHERE pgmid = 'R3TR' AND object = 'PROG' AND obj_name = tstc-pgmna.

MOVE : tadir-devclass TO v_devclass.
IF sy-subrc NE 0.

SELECT SINGLE * FROM trdir WHERE name = tstc-pgmna.
IF trdir-subc EQ 'F'.

SELECT SINGLE * FROM tfdir WHERE pname = tstc-pgmna.
SELECT SINGLE * FROM enlfdir WHERE funcname = tfdir-funcname.

SELECT SINGLE * FROM tadir WHERE pgmid = 'R3TR' AND object = 'FUGR' AND obj_name EQ enlfdir-area.

MOVE : tadir-devclass TO v_devclass.
ENDIF.
ENDIF.

SELECT * FROM tadir INTO TABLE jtab WHERE pgmid = 'R3TR' AND object = 'SMOD' AND devclass = v_devclass.

SELECT SINGLE * FROM tstct WHERE sprsl EQ sy-langu AND tcode EQ p_tcode.

FORMAT COLOR COL_POSITIVE INTENSIFIED OFF.

WRITE: /(19) 'Transaction Code – ',
20(20) p_tcode,
45(50) tstct-ttext.

SKIP.

IF NOT jtab[] IS INITIAL.

WRITE:/(95) sy-uline.
FORMAT COLOR COL_HEADING INTENSIFIED ON.
WRITE:/1 sy-vline,
2 'Exit Name',
21 sy-vline ,
22 'Description',
95 sy-vline.
WRITE:/(95) sy-uline.

LOOP AT jtab.
SELECT SINGLE * FROM modsapt WHERE sprsl = sy-langu AND name = jtab-obj_name.

FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
WRITE:/1 sy-vline,
2 jtab-obj_name HOTSPOT ON,
21 sy-vline ,
22 modsapt-modtext,
95 sy-vline.
ENDLOOP.

WRITE:/(95) sy-uline.
DESCRIBE TABLE jtab.

SKIP.

FORMAT COLOR COL_TOTAL INTENSIFIED ON.
WRITE:/ 'No of Exits:' , sy-tfill.

ELSE.

FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.

WRITE:/(95) 'No User Exit exists'.

ENDIF.

ELSE.
FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
WRITE:/(95) 'Transaction Code Does Not Exist'.
ENDIF.

AT LINE-SELECTION.
GET CURSOR FIELD field1.
CHECK field1(4) EQ 'JTAB'.
SET PARAMETER ID 'MON' FIELD sy-lisel+1(10).
CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.


























Ref : http://www.sap-img.com/ab038.htm
Posted by Shanto Labels:
Friday, April 9, 2010 at 12:18 AM | 0 comments
Code Blocks adalah sebuah IDE bebas/open source yang tersedia di beberapa platform dan support dengan external plugins. Di kembangkan dengan C++, Jadi 1 code sumber, langsung bisa di compile di berbagai platform. Disini saya coba nengenalkan codding mengunakan Code Blocks.

Setelah installasi selesai kita coba buat projectnya.
1. File->New-Project ( setelah tampil seperti dibawah langsung bisa dipilih Console Application lalu klik Go.


















2. Kemudian Klik Next, Next lalu masukan project titlenya. Klik Next



















3. klik tombol Next saja.. ( proses selesai )





















4. Akan tampil seperti dibawah. kemudian Klik menu File->Open lalu buka file main.cpp.

















Sourcenya akan tampil seperti ini



















5. Lalu lanjutkan untuk Build dan Run ( F9 )











Oke deh sampai disini dulu dan lain waktu kita akan membahas xwWidgets agar tampilannya seperti visual.
Posted by Shanto Labels:
Thursday, April 8, 2010 at 2:40 AM | 0 comments
Pada dasarnya pada saat membuat program di abap terdiri dari beberapa event:
1. Initialization
Di event Initialization kita bisa memberikan nilai default terhadap suatu variabel. Karena pada saat ini line code akan di execute sebelum screen di tampilkan.


2. At selection screen
Event ini akan di jalankan jika terjadi perubahan di screen
3. Start of selection
Event ini akan dijalankan jika melakukan execute terhadap program tersebut.
4. Block Program yang di buat
Di sinilah suatu block program yang akan dibuat baik select, insert, update, insert atau proses.
5. End of selection
Disini adalah akhir dari suatu execute.
6. At line selection
Ini akan dijalan kan jika terjadi event terhadap screen result yang telah di tampilkan.

Sample Program :color:

REPORT YSANTO_01.
tables: spfli.

data: wa_spfli type spfli,
wa_sflig type spfli.

parameters par_cid like spfli-carrid.

initialization.
par_cid = 'MH'.

at selection-screen.
if par_cid = ''.
message e000(38) with 'Carr ID harus di isi'.
endif.

start-of-selection.
select single * from spfli into wa_spfli where carrid = par_cid.
if sy-subrc = 0.
write wa_spfli-carrid.
endif.

end-of-selection.

at line-selection.
select single * from spfli into wa_sflig where carrid = wa_spfli-carrid.
if sy-subrc = 0.
write: / 'Asal Penerbangan : ', wa_sflig-cityfrom.
write: / 'Tujuan Penerbangan : ', wa_sflig-cityto.
endif.

Output :







Result after execute :





After double click :





Ternyata abap itu mudah, betul betul ....
Posted by Shanto Labels: