Tip: STORED PROCEDURE · Şema: Pozisyon · Modül: MOD-RAPOR · Temizlik sınıfı: MANUAL_REVIEW (kategori D, güven 80) · Kapsam: ERPGOLD_CORE / ALL
Kullanım haritası (13.09.2026)
| Kategori | A — ERPGOLD CORE · A-APP_CODE |
| Güven | 85 |
| Derinlik / kök | 0 · bu nesne (Seviye-0) |
| DependencyPath | ERPGOLD → FrmPozisyon → Pozisyon.Write |
| Uygulama kullanımı | APP_CODE · FrmPozisyon |
Bkz. Database Usage Map · Direct Application Objects. Hiçbir DB değişikliği yapılmadı; SAFETY > CLEANUP.
Temizlik kanıtı
| Kontrol | Sonuç |
|---|---|
| app | WEAK |
| report | NO |
| config | NO |
| dynamic | NO |
| db_in | NO |
| db_out | YES |
| trigger | NO |
| fk | NO |
| computed | NO |
| crossdb | NO |
| runtime | UNKNOWN |
| external | NO |
Gerekçe: Kaynak kodda yalnızca zayıf ad eşleşmesi var (sınıf/özellik adı olabilir); ikinci turda incelendi
KB-v1 gövdesi (2026-09-10 · kısmi kod kapsamı — kaynağı kadar güvenilir)
Tür: PROCEDURE (P) · Modül: MOD-RAPOR · Uzunluk: 63 satır
Özet
[GAP] Kaynakta açıklama yorumu yok; davranış aşağıdaki SQL tanımından ve ilişkilerden okunur.
Bağımlılıklar (bu nesne → hedef)
| İlişki | Hedef | Tip |
|---|---|---|
| READS | Cari.BakiyeIslem | TABLE |
| CALLS | Cari.BakiyeKodlari | VIEW |
| CALLS | FN.Bol | FUNCTION |
| WRITES | Pozisyon.Pozisyonlar | TABLE |
| READS | Sistem.Activity | TABLE |
| READS | Sistem.Birimler | TABLE |
| CALLS | Sistem.GetKurListesi | FUNCTION |
| READS | Sistem.Kasalar | TABLE |
| READS | Sistem.Subeler | TABLE |
| CALLS | Stok.GetMadenStoklari | FUNCTION |
| CALLS | Stok.GetNakitStoklari | FUNCTION |
| CALLS | Stok.GetTakozSirketStoklari | FUNCTION |
SQL tanımı (AS-IMPLEMENTED, örnek DB)
CREATE Proc [Pozisyon].[Write]
as
if (Select count(*) from Sistem.Activity Where LastDate >(Select IsNull(Max(InsertDate),'2020-01-01') FRom Pozisyon.Pozisyonlar ))=0 RETURN
-----ONCE TEMP DOSYA YOKSA OLUSTUR VARSA ICINI TEMIZLE
IF OBJECT_ID(N'tempdb..#TBLPozisyonlar') IS NULL
BEGIN
CREATE TABLE [#TBLPozisyonlar]([SubeId] [int] NULL, [Birim] [nvarchar](max) NULL, [Bakiye] [decimal](18, 2) NULL, [Kur1] [decimal](18, 5) NULL, [Kur2] [decimal](18, 5) NULL, [Pozisyon] [decimal](18, 2) NULL, [BBirim] [nvarchar](max) NULL) ON [PRIMARY]
END
ELSE
BEGIN
TRUNCATE TABLE #TBLPozisyonlar
END
--------------------------------------------------------------
-----GECICI POZISYON TABLOSUNA TUM SUBELERIN POZISYONLARINI HESAPLAYARAK YAZIYORUZ
INSERT INTO #TBLPozisyonlar
Select H.SubeId,H.Birim,H.Bakiye,BK.Alis as Kur1,PK.Alis as Kur2,CONVERT(Decimal(18,2), Fn.Bol( (H.Bakiye * Bk.Alis),Pk.Alis)) as Pozisyon, B.Kodu as BBirim from
(
Select SubeId,Birim,Sum(Bakiye) as Bakiye From
(
Select K.SubeId, BK.Kodu as Birim,B.Bakiye as Bakiye
from
(
Select KasaId,BirimId,Sum(Bakiye) as Bakiye from Cari.BakiyeIslem Where BirimId <>-1 group by KasaId,BirimId
) B
Left Join Sistem.Kasalar K on K.Id =B.KasaId
Left Join Cari.BakiyeKodlari Bk on Bk.Id =B.BirimId
UNION ALL
---NAKIT STOKLARI
Select SubeId, AnaBirim ,Sum(Miktar) From Stok.GetNakitStoklari (0,0,null) group by SubeId, AnaBirim
UNION ALL
---MADEN STOKLARI
Select SubeId,AnaBirim,Sum(Miktar * StabilMilyem) as Has From Stok.GetMadenStoklari (0,0,null,'False') group by SubeId,AnaBirim
UNION ALL
---TAKOZ STOKLARI
SELECT T.SubeId,T.Birim,SUM(T.Has) FROM Stok.GetTakozSirketStoklari (0,0,null)
CROSS APPLY (VALUES(SubeId,'HAS',Case When R='False' Then Miktar * 0 Else AuHas end), (SubeId, 'GUM', AgHas ), (SubeId, 'PLT', PltHas ), (SubeId, 'PLD', PldHas )) t(SubeId,Birim, Has) Where Adet <>0 and Has<>0
group by T.SubeId,Birim
) a
Group by SubeId,Birim having Sum(Bakiye)<>0
) H
Left Join Sistem.Subeler S on S.Id =H.SubeId
Left Join Sistem.Birimler B on B.Id =S.BilancoBirimId
Left Join Sistem.GetKurListesi(GETDATE()) PK on PK.Birim=B.Kodu
Left Join Sistem.GetKurListesi(GETDATE()) BK on BK.Birim=H.Birim
---------------------------------------------------------------------------------------------
----POZISYON.POZISYONLAR TABLOSUNU SIFIRLAYARAK GECICI TABLODAKI BILGILERI BURAYA YAZIYORUZ.
TRUNCATE TABLE Pozisyon.Pozisyonlar
INSERT INTO Pozisyon.Pozisyonlar([SubeId],[Birim],[Bakiye],[Kur1],[Kur2],[Pozisyon],[BBirim]) SELECT P.* FROM #TBLPozisyonlar P Left Join Sistem.Birimler B on B.Kodu COLLATE Turkish_CI_AS =P.Birim Order by B.SiraNo
---------------------------------------------------------------------------------------------
Kaynaklar
- SRC-DB-MODULES —
sys.sql_modulestanımı (salt okunur); gizli sabitler[REDACTED_SECRET]ile değiştirildi.
Bilinmeyenler
- Hangi sürümde eklendiği:
createdDB tarihi bir kurulumun tarihidir, ürün sürümü değil (GAP-VERSION-02).
