SAP ABAP - Keluar dari Pengguna

Keluar pengguna digunakan dalam ekstraksi jika ekstraktor SAP standar tidak menyediakan data yang diharapkan atau fungsionalitas yang diperlukan, misalnya dalam otorisasi atau pemeriksaan waktu. Keluar dari pengguna biasanya digunakan dalam modul Penjualan dan Distribusi (SD). Ada banyak pintu keluar yang disediakan oleh SAP di bidang penjualan, transportasi, pengiriman, dan penagihan. Keluarnya pengguna dirancang untuk membuat beberapa perubahan saat SAP standar tidak mampu memenuhi semua persyaratan.

Untuk dapat mengakses pintu keluar yang tersedia di setiap area penjualan, buka IMG menggunakan jalur ini: IMG → Penjualan dan Distribusi → Modifikasi Sistem → Keluar Pengguna. Dokumentasi untuk setiap pintu keluar di area SD dijelaskan secara menyeluruh.

Misalnya, jika Anda ingin menemukan pengguna keluar dalam Pemrosesan Dokumen Penjualan (kontrak, kutipan atau pesanan penjualan), ikuti jalur yang disebutkan di atas dan lanjutkan untuk memperluas node Keluar Pengguna dalam Penjualan → Keluar Pengguna. Klik pada ikon dokumentasi untuk melihat semua keluar pengguna yang tersedia di Pemrosesan Dokumen Penjualan.

S.No. Keluar & Deskripsi Pengguna
1

USEREXIT_FIELD_MODIFICATION

Digunakan untuk mengubah atribut layar.

2

USEREXIT_SAVE_DOCUMENT

Membantu dalam melakukan operasi ketika pengguna menekan Save.

3

USEREXIT_SAVE_DOCUMENT_PREPARE

Sangat berguna untuk memeriksa kolom masukan, memberikan nilai apa pun di kolom tersebut atau menampilkan popup kepada pengguna dan untuk mengonfirmasi dokumen.

4

USEREXIT_MOVE_FIELD_TO_VBAK

Digunakan saat perubahan header pengguna dipindahkan ke area kerja header.

5

USEREXIT_MOVE_FIELD_TO_VBAP

Digunakan saat perubahan item pengguna dipindahkan ke area kerja item SAP.

Keluar Pengguna memiliki tujuan yang sama dengan Pintu Keluar Pelanggan tetapi hanya tersedia untuk modul SD. Keluar diimplementasikan sebagai panggilan ke Modul Fungsi. Keluar dari Pengguna adalah modifikasi pada program standar SAP.

Contoh

REPORT ZUSEREXIT1. 
TABLES:   
   TSTC, TSTCT,
   TADIR, TRDIR, TFDIR, ENLFDIR,
   MODSAPT, MODACT. 
	
DATA:   
   JTAB LIKE TADIR OCCURS 0 WITH HEADER LINE,
   field1(30),
   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) 'User Exit doesn’t exist'.
   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.

Saat memproses, masukkan kode transaksi 'ME01' dan tekan tombol F8 (Execute). Kode di atas menghasilkan keluaran sebagai berikut -