IMPORT | ||||||
Parametre | Tanım tipi | İlişkili tip | Başlanıç d. | Ops. | Dğr atn. | Parametre açıklaması |
PERCENTAGE | 0 | X | X | İşlem durumu (yüzde olarak) | ||
TEXT | SPACE | X | X | İşlem tanımı |
EXPORTING
percentage = 25
text = ‘Birinci işlem başlıyor…’.
WAIT UP TO 3 SECONDS.
CALL FUNCTION ‘SAPGUI_PROGRESS_INDICATOR’
EXPORTING
percentage = 75
text = ‘İkinci işlem başlıyor…’.
WAIT UP TO 1 SECONDS.
Örnek çalıştığında önce sol alt köşede “Birinci işlem başlıyor…” yazısı ardından “İkinci işlem başlıyor…” yazısı ve işlem yüzdesi görüntülenir.
COMPUTE_YEARS_BETWEEN_DATES
Tarih iki tarih arasındaki yılı hesaplar.IMPORT | ||||||
Parametre | Tanım tipi | İlişkili tip | Başlanıç d. | Ops. | Dğr atn. | Parametre açıklaması |
FIRST_DATE | LIKE | PREL-BEGDA | X | İlk tarih | ||
MODIFY_INTERVAL | ‘ ‘ | X | X | |||
SECOND_DATE | LIKE | PREL-ENDDA | X | İkinci tarih | ||
EXPORT | ||||||
Parametre | Tanım tipi | İlişkili tip | Dğr atn. | Parametre açıklaması | ||
YEARS_BETWEEN_DATES | X | Fark (yıl olarak) | ||||
EXCEPTIONS | ||||||
Exception | Tanım | |||||
SEQUENCE_OF_DATES_NOT_VALID | İlk tarih ikinciden büyük ise hata |
PARAMETERS pa_ilktr LIKE sy-datum.
CALL FUNCTION ‘COMPUTE_YEARS_BETWEEN_DATES’
EXPORTING
first_date = pa_ilktr
modify_interval = ‘ ‘
second_date = sy-datum
IMPORTING
years_between_dates = lv_years
EXCEPTIONS
sequence_of_dates_not_valid = 1
OTHERS = 2.
WRITE: / ‘İşlem sonucu:’, sy-subrc.
WRITE: / ‘Yıl farkı:’, lv_years.
NUMBER_GET_NEXT
Bir numara aralığından sonraki numarayı elde etmek için kullanılır.IMPORT | |||||||
Parametre | Tanım tipi | İlişkili tip | Başlanıç d. | Ops. | Dğr atn. | Parametre açıklaması | |
NR_RANGE_NR | LIKE | INRI-NRRANGENR | X | Numara aralığı numarası | |||
OBJECT | LIKE | INRI-OBJECT | X | Numara aralığı nesnesi | |||
QUANTITY | LIKE | INRI-QUANTITY | ‘1’ | X | X | Numara miktarı | |
SUBOBJECT | SPACE | X | X | Alt nesnenin değeri | |||
TOYEAR | LIKE | INRI-TOYEAR | ‘0000’ | X | X | Mali yıl | |
IGNORE_BUFFER | SPACE | X | X | Ara belleği göz ardı et | |||
EXPORT | |||||||
Parametre | Tanım tipi | İlişkili tip | Dğr atn. | Parametre açıklaması | |||
NUMBER | X | Alınan numara | |||||
QUANTITY | LIKE | INRI-QUANTITY | X | Numara miktarı | |||
RETURNCODE | LIKE | INRI-RETURNCODE | X | İşlem sonucu | |||
EXCEPTIONS | |||||||
Exception | Tanım | ||||||
INTERVAL_NOT_FOUND | Aralık bulunamadı | ||||||
NUMBER_RANGE_NOT_INTERN | Numara aralığı yerel değil | ||||||
OBJECT_NOT_FOUND | Nesne TNRO tablosunda bulunamadı | ||||||
QUANTITY_IS_0 | Talep edilen sayı miktarı sıfırdan (0) büyük olmalı | ||||||
QUANTITY_IS_NOT_1 | Talep edilen sayı miktarı bir (1) olmalı | ||||||
INTERVAL_OVERFLOW | Aralık doldu | ||||||
BUFFER_OVERFLOW | Ara bellek dolu | ||||||
DATA gv_number TYPE c.
CALL FUNCTION ‘NUMBER_GET_NEXT’
EXPORTING
nr_range_nr = ’01’
object = ‘ZTEST’
IMPORTING
number = gv_number
EXCEPTIONS
interval_not_found = 1
number_range_not_intern = 2
object_not_found = 3
quantity_is_0 = 4
quantity_is_not_1 = 5
interval_overflow = 6
buffer_overflow = 7
OTHERS = 8.
WRITE: ‘Şu anki boş numara’, gv_number.
Numara Aralığı Tanımlama
SNRO işlem kodu çalıştırılır. Nesne adı alanına ZTEST yazılır. Yarat butonuna (<IMG src=”file:///C:\Users\iuyanik\AppData\Local\Temp\msohtmlclip1\01\clip_image008.jpg” width=23 height=23 v:shapes=””>) tıklanır.Yeni ekranda tanım kümesi için domain seçilir ve kaydedilir.
Nesne oluşturulduktan sonra numara aralıklarının tanımlanması gerekir. “Numara alanları” butonuna tıklanarak bakım ekranına geçilir.
Yeni aralık tanımlamak için kalem ikonu olan “Aralıkları” butonuna tıklanır.
Gelen ekranda numara aralığı tanımı yapılır.
ABAP Hafızasına (ABAP Memory) Veri Nesnesi Aktarımı
EXPORT ifadesi ile veri nesnelerini ABAP memory’ e aktarmak mümkündür. Aktarılan veri nesneleri daha sonra IMPORT ifadesi ile okunabilir.Veri nesneleri birer birer aktarılabilir veya internal tablo aktarılabilir. Kullanımı aşağıdaki gibidir.
EXPORT parametre_listesi TO MEMORY ID id.
parametre_listesi: Parametreler 3 şekilde aktarılabilir.
… {p1 = dobj1 p2 = dobj2 …}
| {p1 FROM dobj1 p2 FROM dobj2 …}
| (ptab) … .
p1 = dobj1 p2 = dobj2 …: parametreler birer birer değişkenlere atanır ve aktarılır.
p1 FROM dobj1 p2 FROM dobj2: p1 = dobj1 ile aynıdır.
ptab: Parametreleri listesi olarak aktarım için kullanılır. İki sütunluk bir tablo tanımlanır. İlk sütunda parametrenin ismi atanır. İkinci sütunda veri nesnesi atanır.
IMPORT ifadesi ile veri nesneleri ABAP memory’ den almak mümkündür. Kullanımı aşağıdaki gibidir.
IMPORT parametre_listesi FROM MEMORY ID id [çeviri_seçenekleri].
parametre_listesi: EXPORT ile aynıdır.
[çeviri_seçenekleri]: Aşağıdaki ekler kullanılır.
… { { { {[ACCEPTING PADDING] [ACCEPTING TRUNCATION]}
| [IGNORING STRUCTURE BOUNDARIES] }
[IGNORING CONVERSION ERRORS [REPLACEMENT CHARACTER rc]] }
| [IN CHAR-TO-HEX MODE] }
[CODEPAGE INTO cp]
[ENDIAN INTO endian].
Örnek1: p1 = dobj1 p2 = dobj2 kullanılımına ait örnek. gv_metin değişkeni EXPORT ifadesi ile ABAP memory’ e aktarılır. Daha sonra IMPORT parametresi ile gv_metin2 değişkenine atanarak, ekrana yazdırılır.
DATA : gv_metin TYPE c LENGTH 15 VALUE ‘ABAP memory’,
gv_metin2 TYPE c LENGTH 15.
EXPORT metin = gv_metin TO MEMORY ID ‘EXXX’.
IMPORT metin = gv_metin2 FROM MEMORY ID ‘EXXX’.
WRITE: ‘Metin:’, gv_metin2.
Örnek2: p1 FROM dobj1 p2 FROM dobj2 …} kullanımana ait örnek. Hafızaya metin durağan şekilde aktarılır.
DATA : gv_metin TYPE c LENGTH 15.
EXPORT metin from ‘ABAP memory’ TO MEMORY ID ‘EXXX’.
IMPORT metin = gv_metin FROM MEMORY ID ‘EXXX’.
WRITE: ‘Metin:’, gv_metin.
Örnek3: (ptab) kullanımına ait örnek. gv_emX değişkenlerini ABAP memory’ e aktaran ve daha sonra bunları hafızadan okuyup ekrana yazdırır.
TYPES: BEGIN OF t_type,
para TYPE string,
dobj TYPE string,
END OF t_type.
DATA : gv_em1 TYPE c LENGTH 15 VALUE ‘metin1′,
gv_em2 TYPE c LENGTH 15 VALUE ‘metin2′,
gv_im1 TYPE c LENGTH 15,
gv_im2 TYPE c LENGTH 15,
gs_line TYPE t_type,
gt_line TYPE STANDARD TABLE OF t_type.
gs_line-para = ‘m1′.
gs_line-dobj = ‘gv_em1′.
APPEND gs_line TO gt_line.
gs_line-para = ‘m2′.
gs_line-dobj = ‘gv_em2′.
APPEND gs_line TO gt_line.
EXPORT (gt_line) TO MEMORY ID ‘EXXX’.
IMPORT m1 = gv_im1
m2 = gv_im2
FROM MEMORY ID ‘EXXX’.
WRITE: ‘Metin 1′, gv_im1,
/’Metin 2′, gv_im2.
Örnek4: İnternal tabloyu hafızaya aktaran bir örnek.
TYPES: BEGIN OF t_data,
id TYPE c LENGTH 2,
metin TYPE c LENGTH 15,
END OF t_data.
DATA : gs_data TYPE t_data,
gt_edata TYPE STANDARD TABLE OF t_data,
gt_idata TYPE STANDARD TABLE OF t_data.
gs_data-id = ‘1’.
gs_data-metin = ‘Metin 1′.
APPEND gs_data TO gt_edata.
gs_data-id = ‘2’.
gs_data-metin = ‘Metin 2′.
APPEND gs_data TO gt_edata.
EXPORT data_tab = gt_edata TO MEMORY ID ‘EXXX’.
IMPORT data_tab = gt_idata FROM MEMORY ID ‘EXXX’.
WRITE: 3 ‘ID’, 8 ‘Metin’.
LOOP AT gt_idata INTO gs_data.
WRITE: /3 gs_data-id, 8 gs_data-metin.
ENDLOOP.
Social Plugin