ÇEVRİM FONKSİYONLARI

CONVERSION_EXIT_ALPHA_INPUT

Fonksiyona verilen nümerik bir değişkenin sol tarafına değişken uzunluğu tamamlanana kadar sıfır “0” ekler. Genelde malzeme numarası ve hesap numaraları için kullanılır. Harici formatı dâhili formata çevirir.

IMPORT
Parametre Tanım tipi İlişkili tip Başlanıç d. Ops. Dğr atn. Parametre açıklaması
INPUT TYPE CLIKE X Dönüştürülecek değer
EXPORT
Parametre Tanım tipi İlişkili tip Dğr atn. Parametre açıklaması
OUTPUT TYPE TYPE X Dönüştürülecek değer

CONVERSION_EXIT_ALPHA_OUTPUT

Fonksiyona verilen nümerik bir değişkenin sol tarafındaki sıfır “0” değerlerini kaldırır. Genelde malzeme numarası ve hesap numaraları için kullanılır. Dahili formatı harici formata çevirir.

IMPORT
Parametre Tanım tipi İlişkili tip Başlanıç d. Ops. Dğr atn. Parametre açıklaması
INPUT TYPE CLIKE X Dönüştürülecek değer
EXPORT
Parametre Tanım tipi İlişkili tip Dğr atn. Parametre açıklaması
OUTPUT TYPE TYPE X Dönüştürülecek değer

DATA : lv_matnr(18).
lv_matnr = ‘1’.
WRITE : / ‘Değişkene atanan malzeme no:’, lv_matnr.
CALL FUNCTION ‘CONVERSION_EXIT_ALPHA_INPUT’
EXPORTING
input = lv_matnr
IMPORTING
output = lv_matnr.
WRITE : / ‘Exit Alpha Input çıktısı:’, lv_matnr.
CALL FUNCTION ‘CONVERSION_EXIT_ALPHA_OUTPUT’
EXPORTING
input     = lv_matnr
IMPORTING
output   = lv_matnr.
WRITE : / ‘Exit Alpha Output çıktısı:’, lv_matnr.

SPELL_AMOUNT

Fonksiyona verilen sayısal değer istenilen para biriminde ve dilde metine dönüştürülür. Metin kısmı tamsayı ve ondalık olarak iki ayrı değişkene atanır.

IMPORT
Parametre Tanım tipi İlişkili tip Başlanıç d. Ops. Dğr atn. Parametre açıklaması
AMOUNT 0 X X Çevrilecek sayısal değer
CURRENCY LIKE SY-WAERS SPACE X X Çevrim yapılacak para birimi
FILLER SPACE X X Çıktı alanı için karakter
LANGUAGE LIKE SY-LANGU SY-LANGU X X Çevrim yapılacak dil
EXPORT
Parametre Tanım tipi İlişkili tip Dğr atn. Parametre açıklaması
IN_WORDS LIKE SPELL X Tutar/sayı ve rakamla yazılışını içeren alan çubuğu
EXCEPTIONS
Exception Tanım
NOT_FOUND Argüman T015Z tablosunda bulunamadı
TOO_LARGE Tutar, dönüştürme işlemi için çok büyük

Örnek: Verilen tutarı Türkçe ve TL olarak metne çeviren örnek.

DATA: lv_netwr TYPE vbak-netwr,
ls_words TYPE spell.
lv_netwr = ‘55428.37’.
CALL FUNCTION ‘SPELL_AMOUNT’
EXPORTING
amount          = lv_netwr
currency       = ‘TRY’
filler          = ‘ ‘
language        = sy-langu
IMPORTING
in_words        = ls_words
EXCEPTIONS
not_found       = 1
too_large       = 2
OTHERS          = 3.
IF sy-subrc = 0.
WRITE / ‘Metne dönüştürülecek tutar’.
WRITE / lv_netwr left-justified.
SKIP 1.
WRITE / ‘Tamsayı:’.
WRITE / ls_words-number.
SKIP 1.
WRITE / ‘Ondalık:’.
WRITE / ls_words-decimal.
SKIP 1.
WRITE / ‘Tamsayı metni:’.
WRITE / ls_words-word.
SKIP 1.
WRITE / ‘Ondalık metni:’.
WRITE / ls_words-decword.
ELSE.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

CONVERT_TO_FOREIGN_CURRENCY

Yerel para birimi tutarını yabancı para birimi tutarına çevirir.

IMPORT
Parametre Tanım tipi İlişkili tip Başlanıç d. Ops. Dğr atn. Parametre açıklaması
CLIENT LIKE SY-MANDT SY-MANDT X X Üst birim
DATE LIKE SYST-DATUM X Çevrim yapılacak kur tarihi
FOREIGN_CURRENCY X Hedef para birimi
LOCAL_AMOUNT X Çevrim yapılacak tutar
LOCAL_CURRENCY X Kaynak para birimi
RATE 0 X X Çevrim yapılması istenilen kur
TYPE_OF_RATE ‘M’ X X Kur tipi
READ_TCURR ‘X’ X X Çevrim kurunu TCURR tablosundan okuma göstergesi
EXPORT
Parametre Tanım tipi İlişkili tip Dğr atn. Parametre açıklaması
EXCHANGE_RATE X Çevrim yapılan kur 4.5
FOREIGN_AMOUNT X Yabancı para birimi tutarı
FOREIGN_FACTOR X Yabancı para birimi faktörü
LOCAL_FACTOR X Yerel para birimi faktörü
EXCHANGE_RATEX X Çevrim yapılan kur 4.1
DERIVED_RATE_TYPE LIKE TCURR-KURST X Alternatif çevrim kur tipi
FIXED_RATE X Sabit çevrim kuru 4.5
EXCEPTIONS
Exception Tanım
NO_RATE_FOUND Çevrim kuru bulunamadı
OVERFLOW FOREIGN_AMOUNT alanı çevrim tutarı için çok küçük.
NO_FACTORS_FOUND TCURF tablosunda çevrim faktörü bulunamadı
NO_SPREAD_FOUND TCURS tablosuda aralık bulunamadı
DERIVED_2_TIMES Çevrim kuru tipi sorunu

Örnek1: Türk lirası olarak verilen tutarı sabit bir kur ile Euro’ ya çeviren örnek.

DATA : gv_amount TYPE netpr,
gv_rate   TYPE tcurr-ukurs VALUE ‘2.50000’.
CALL FUNCTION ‘CONVERT_TO_FOREIGN_CURRENCY’
EXPORTING
date  = sy-datum
foreign_currency        = ‘EUR’
local_amount            = ‘600.00’
local_currency          = ‘TRY’
rate                    = gv_rate
type_of_rate            = ‘M’
IMPORTING
foreign_amount          = gv_amount
EXCEPTIONS
no_rate_found           = 1
overflow                = 2
no_factors_found        = 3
no_spread_found         = 4
derived_2_times         = 5
OTHERS                  = 6.
WRITE: ‘Euro tutarı:’, gv_amount LEFT-JUSTIFIED.

<IMG src=”file:///C:\Users\abapmaster\AppData\Local\Temp\msohtmlclip1\01\clip_image003.png” width=162 height=31 v:shapes=””>

Örnek2: Türk lirası olarak verilen tutarı günün kuru ile Euro’ ya çeviren örnek.

DATA : gv_amount TYPE netpr,
gv_rate   TYPE tcurr-ukurs.
CALL FUNCTION ‘CONVERT_TO_FOREIGN_CURRENCY’
EXPORTING
date                    = sy-datum
foreign_currency        = ‘EUR’
local_amount            = ‘600.00’
local_currency          = ‘TRY’
type_of_rate            = ‘M’
IMPORTING
foreign_amount          = gv_amount
exchange_rate           = gv_rate
EXCEPTIONS
no_rate_found           = 1
overflow                = 2
no_factors_found        = 3
no_spread_found         = 4
derived_2_times         = 5
OTHERS                  = 6.
WRITE: ‘Euro tutarı:’, gv_amount LEFT-JUSTIFIED,
/’Çevrim kuru:’, gv_rate.

CONVERT_TO_LOCAL_CURRENCY

Yabancı para birimi tutarını terel para birimi tutarına çevirir.

IMPORT
Parametre Tanım tipi İlişkili tip Başlanıç d. Ops. Dğr atn. Parametre açıklaması
CLIENT LIKE SY-MANDT SY-MANDT X X Üst birim
DATE LIKE SYST-DATUM X Çevrim yapılacak kur tarihi
FOREIGN_AMOUNT X Çevrim yapılacak tutar
FOREIGN _CURRENCY X Kaynak para birimi
LOCAL_CURRENCY X Hedef para birimi
RATE 0 X X Çevrim yapılması istenilen kur
TYPE_OF_RATE ‘M’ X X Kur tipi
READ_TCURR ‘X’ X X Çevrim kurunu TCURR tablosundan okuma göstergesi
EXPORT
Parametre Tanım tipi İlişkili tip Dğr atn. Parametre açıklaması
EXCHANGE_RATE X Çevrim yapılan kur 4.5
FOREIGN_FACTOR X Yabancı para birimi faktörü
LOCAL_AMOUNT X Yabancı para birimi tutarı
LOCAL_FACTOR X Yerel para birimi faktörü
EXCHANGE_RATEX X Çevrim yapılan kur 4.1
FIXED_RATE X Sabit çevrim kuru 4.5
DERIVED_RATE_TYPE LIKE TCURR-KURST X Alternatif çevrim kur tipi
EXCEPTIONS
Exception Tanım
NO_RATE_FOUND Çevrim kuru bulunamadı
OVERFLOW FOREIGN_AMOUNT alanı çevrim tutarı için çok küçük
NO_FACTORS_FOUND TCURF tablosunda çevrim faktörü bulunamadı
NO_SPREAD_FOUND TCURS tablosuda aralık bulunamadı
DERIVED_2_TIMES Çevrim kuru tipi sorunu

Örnek1: Euro olarak verilen tutarı günün kuru ile TL’ ye çeviren örnek.

DATA : gv_amount TYPE netpr VALUE ‘307.28260’,
gv_rate   TYPE tcurr-ukurs.
CALL FUNCTION ‘CONVERT_TO_LOCAL_CURRENCY’
EXPORTING
date = sy-datum
foreign_currency  = ‘EUR’
foreign_amount    = gv_amount
local_currency    = ‘TRY’
type_of_rate      = ‘M’
IMPORTING
local_amount      = gv_amount
exchange_rate     = gv_rate
EXCEPTIONS
no_rate_found     = 1
overflow          = 2
no_factors_found  = 3
no_spread_found   = 4
derived_2_times   = 5
OTHERS            = 6.
WRITE: ‘TL tutarı:’, gv_amount LEFT-JUSTIFIED,
/’Çevrim kuru:’, gv_rate.

READ_EXCHANGE_RATE

TCURR tablosundan istenilen tarihin döviz kurunu bulmak için kullanılır. “EXACT_DATE” parametresi boş olarak kullanılır ise belirtilen tarihte kur olmasa bile en yakın tarihteki kuru geri döner.

IMPORT
Parametre Tanım tipi İlişkili tip Başlanıç d. Ops. Dğr atn. Parametre açıklaması
CLIENT LIKE SY-MANDT SY-MANDT X X Üst birim
DATE LIKE SYST-DATUM X Kur tarihi
FOREIGN _CURRENCY LIKE TCURR-FCURR X Yabancı para birimi
LOCAL_CURRENCY LIKE TCURR-TCURR X Yerel para birimi
TYPE_OF_RATE LIKE TCURR-KURST ‘M’ X X Kur tipi
EXACT_DATE TYPE XFELD SPACE X Sadece belirtilen tarihteki kur mevcut ise
EXPORT
Parametre Tanım tipi İlişkili tip Dğr atn. Parametre açıklaması
EXCHANGE_RATE X Döviz kuru
FOREIGN_FACTOR X Yabancı para birimi faktörü
LOCAL_FACTOR X Yerel para birimi faktörü
VALID_FROM_DATE LIKE SYST-DATUM X Geçerlilik tarihi başlangıcı
DERIVED_RATE_TYPE LIKE TCURR-KURST X Alternatif çevrim kur tipi
FIXED_RATE X Sabit çevrim kuru 4.5
OLDEST_RATE_FROM LIKE SYST-DATUM En son kur hesaplaması
EXCEPTIONS
Exception Tanım
NO_RATE_FOUND Çevrim kuru bulunamadı
NO_FACTORS_FOUND TCURF tablosunda çevrim faktörü bulunamadı
NO_SPREAD_FOUND TCURS tablosuda aralık bulunamadı
DERIVED_2_TIMES Çevrim kuru tipi sorunu
OVERFLOW
ZERO_RATE Gösterge: Kur mevcut değil

Örnek1: Euro cinsinden “M” tipi kur için günün kurunu ekrana yazan örnek.

DATA gv_rate TYPE tcurr-ukurs.
CALL FUNCTION ‘READ_EXCHANGE_RATE’
EXPORTING
client           = sy-mandt
date = sy-datum
foreign_currency = ‘EUR’
local_currency   = ‘TRY’
type_of_rate     = ‘M’
IMPORTING
exchange_rate    = gv_rate
EXCEPTIONS
no_rate_found    = 1
no_factors_found = 2
no_spread_found  = 3
derived_2_times  = 4
overflow         = 5
zero_rate        = 6
OTHERS           = 7.
WRITE: ‘Günün kuru:’, gv_rate.

MD_CONVERT_MATERIAL_UNIT

Malzemede tanımlı çevrim faktörüne göre birim çevirimi yapar. Malzemenin alternatif ölçü birimlerinin tanımlı olması gerekir. Alternatif ölçü birimleri MM03>Ek veriler>Ölçü birimleri ile görülebilir. Malzeme ölçü birimleri MARM tablosunda saklanır.

IMPORT
Parametre Tanım tipi İlişkili tip Başlanıç d. Ops. Dğr atn. Parametre açıklaması
I_MATNR LIKE MARA-MATNR X Çevrim yapılacak malzeme
I_IN_ME LIKE MARA-MEINS X Kaynak birim
I_OUT_ME LIKE MARA-MEINS X Hedef birim
I_MENGE LIKE EKPO-MENGE X Çevrim miktar
EXPORT
Parametre Tanım tipi İlişkili tip Dğr atn. Parametre açıklaması
E_MENGE LIKE EKPO-MENGE X Çevrilen miktar
EXCEPTIONS
Exception Tanım
ERROR_IN_APPLICATION Uygulama hatası
ERROR Hata

Örnek: Girilen malzeme miktarını tanılandığı birim çevrimine göre dönüştüren örnek.

DATA gv_menge TYPE mseg-menge.
PARAMETERS: pa_matnr TYPE mara-matnr,
pa_in_me TYPE mara-meins,
pa_out_m TYPE mara-meins,
pa_menge TYPE ekpo-menge.
CALL FUNCTION ‘MD_CONVERT_MATERIAL_UNIT’
EXPORTING
i_matnr              = pa_matnr
i_in_me              = pa_in_me
i_out_me             = pa_out_m
i_menge              = pa_menge
IMPORTING
e_menge              = gv_menge
EXCEPTIONS
error_in_application = 1
error                = 2
OTHERS               = 3.
WRITE: ‘Birim dönüşümü yapılan miktar’, gv_menge.

Leave a Reply

Your email address will not be published. Required fields are marked *