10. Fonksiyonlar
Sorgularda bazı değerlere hızlı bir şekilde ulaşmayı sağlayan veritabanı fonksiyonlarıdır. Şema listesinde fonksiyonlar kısmından sürükle bırak ile sorgu üzerine ilave edilirler. Fonksiyonlar ve örnek kullanımları:
10.1. lq_safediv
İki sayıyı böler. Yalnız bölen kısmındaki rakam sıfır ise hata vermez, sıfır olarak sonucu döndürür.
Parametreler:
- deger1 (numeric): Bölünen
- deger2 (numeric): Bölen
Sonuç:
- numeric
Örnek Kullanım:
SELECT lq_safediv(5, 3)
10.2. func_malzemefiyatal
Stok kartının belirtilen maliyet türüne göre maliyet bilgisini döndürür.
Parametreler:
- prm_stokkey (bigint): Stok _key bilgisi
- prm_tur (text): fiyat1..10, sonalis, sonsatis, songiris, soncikis, ortalamagiris, ortalamacikis, sonasip, sonvsip, maliyet, fifo, lifo, eldo, ortalamagirisirs, ortalamacikisirs gibi değerler yazılabilir.
- prm_tarih (date): Fiyat bilgisi alınacak tarih
- prm_firmakodu (smallint): Firma kısa kodu
- prm_donemkodu (smallint): Dönem kısa kodu
- prm_raporlamadovizegore (boolean): Raporlama dövizine göre hesaplansın mı
- prm_depolar (bigint[]): Hangi depolar için bilgi getirilecek. Boş gönderilirse tüm depolar için.
- prm_saat (time): Fiyat bilgisi alınacak saat
- prm_istenenmiktar: İstenen miktar
Sonuç:
- fiyati (numeric)
- _key_sis_doviz (bigint)
- kdvdurumu (character)
- kdvyuzde (numeric)
- dkuru (numeric)
Örnek Kullanım:
SELECT stokkartkodu, aciklama, (SELECT fiyati * dkuru FROM func_malzemefiyatal(stok._key::bigint, 'sonalis'::text, '2016-04-01'::date, {secilifirma}::smallint, {secilidonem}::smallint, False, array[]::bigint[], '23:59:59'::time, 1::numeric) ) as sonalisfiyati FROM scf_stokkart stok WHERE stok._level1={secilifirma}
10.3. func_stokfiilimiktaral
Belirtilen stoğa ait fiili miktar bilgisini ana birim cinsinden döndürür.
Parametreler:
- prm_stokkey (bigint): Stok _key bilgisi
- prm_firmakodu (smallint): Firma kısa kodu
- prm_donemkodu (smallint): Dönem kısa kodu
- prm_tarih (date): Miktar bilgisi alınacak tarih
- prm_depokeys (bigint[]): Hangi depolar için bilgi getirilecek. Boş gönderilirse tüm depolar için.
Sonuç:
- miktar (numeric)
Örnek Kullanım:
SELECT stokkartkodu, aciklama, (SELECT miktar FROM func_stokfiilimiktaral(_key::bigint, {secilifirma}::smallint, {secilidonem}::smallint, '{tarih}'::date, {depokeys}::bigint[])) as miktar FROM scf_stokkart stok WHERE stok._level1={secilifirma}
10.4. func_stokgercekmiktaral
Belirtilen stoğa ait gerçek miktar bilgisini anabirim cinsinden döndürür.
Parametreler:
- prm_stokkey (bigint): Stok _key
- prm_firmakodu (smallint): Firma kısa
- prm_donemkodu (smallint): Dönem kısa
- prm_tarih (date): Miktar bilgisi alınacak
- prm_depokeys (bigint[]): Hangi depolar için bilgi getirilecek. Boş gönderilirse tüm depolar için.
Sonuç:
- miktar (numeric)
Örnek Kullanım:
SELECT stokkartkodu, aciklama, (SELECT miktar FROM func_stokgercekmiktaral(_key::bigint, {secilifirma}::smallint, {secilidonem}::smallint, '{tarih}'::date, {depokeys}::bigint[])) as miktar FROM scf_stokkart stok WHERE stok._level1={secilifirma}
Depo keylerini örnekteki gibi verebilirsiniz:
ARRAY[1386,10330151,4901303]::bigint[]
10.5. func_cariyerelbakiyeal
Belirtilen parametrelere göre carinin yerel para cinsinden borç, alacak ve bakiyesini döndürür.
Parametreler:
- prm_carikey (bigint)
- prm_firmakodu (smallint)
- prm_donemkodu (smallint)
- prm_tarih (date)
- prm_faturalanmamisirsaliyedahil (boolean)
- prm_subekeys (bigint[])
Sonuç:
- borc (numeric)
- alacak (numeric)
- bakiye (numeric)
Örnek Kullanım:
SELECT carikartkodu, unvan, (SELECT bakiye FROM func_cariyerelbakiyeal(_key::bigint, {secilifirma}::smallint, {secilidonem}::smallint, '{tarih}'::date, False, {subekeys}::bigint[])) as bakiye FROM scf_carikart cari WHERE cari._level1={secilifirma}
10.6. func_caridovizbakiyeal
Belirtilen parametrelere göre carinin dövizli para cinsinden borç, alacak ve bakiyesini döndürür.
Parametreler:
- prm_carikey (bigint)
- prm_firmakodu (smallint)
- prm_donemkodu (smallint)
- prm_tarih (date)
- prm_dovizkey (bigint)
- prm_faturalanmamisirsaliyedahil (boolean)
- prm_subekeys (bigint[])
Sonuç:
- borc (numeric)
- alacak (numeric)
- bakiye (numeric)
Örnek Kullanım:
SELECT carikartkodu, unvan, (SELECT bakiye FROM func_caridovizbakiyeal(_key::bigint, {secilifirma}::smallint, {secilidonem}::smallint, '{tarih}'::date, _key_sis_doviz::bigint, False, {subekeys}::bigint[]) ) as bakiye FROM scf_carikart cari WHERE cari._level1={secilifirma}
10.7. func_kasayerelbakiyeal
Belirtilen kasaya ait bakiye bilgisini yerel para birimi cinsinden döndürür.
Parametreler:
- prm_kasakey (bigint)
- prm_firmakodu (smallint)
- prm_donemkodu (smallint)
- prm_tarih (date)
Sonuç:
- bakiye (numeric)
Örnek Kullanım:
SELECT kasakartkodu, adi, (SELECT bakiye FROM func_kasayerelbakiyeal(_key::bigint, {secilifirma}::smallint, {secilidonem}::smallint, '{tarih}'::date)) as yerelbakiye FROM scf_kasakart WHERE _level1={secilifirma}
10.8. func_kasadovizbakiyeal
Belirtilen kasaya ait döviz bakiye ve bu bakiyenin yerel para cinsinden karşılığını döndürür.
Parametreler:
- prm_kasakey (bigint)
- prm_firmakodu (smallint)
- prm_donemkodu (smallint)
- prm_tarih (date)
- prm_dovizkey (bigint)
Sonuç:
- dovizbakiye (numeric)
- yerelbakiye (numeric)
Örnek Kullanım:
SELECT kasakartkodu, adi, (SELECT dovizbakiye FROM func_kasadovizbakiyeal(_key::bigint, {secilifirma}::smallint, {secilidonem}::smallint, '{tarih}'::date, 9146247893236057577::bigint)) as eurobakiye FROM scf_kasakart WHERE _level1={secilifirma}
10.9. func_bankabakiyeal
Belirtilen bankaya ait bakiye (hesabın para birim cinsine göre) döndürür.
Parametreler:
- prm_bankakey (bigint)
- prm_firmakodu (smallint)
- prm_donemkodu (smallint)
- prm_tarih (date)
Sonuç:
- borc (numeric)
- alacak (numeric)
- bakiye (numeric)
Örnek Kullanım:
SELECT hesapkodu, hesapadi, (SELECT bakiye FROM func_bankabakiyeal(_key::bigint, {secilifirma}::smallint, {secilidonem}::smallint, '{tarih}'::date) ) as bakiye FROM bcs_bankahesabi WHERE _level1={secilifirma}