Delphi Can
firebird procedure - Baskı Önizleme

+- Delphi Can (https://www.delphican.com)
+-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3)
+--- Forum: Genel Programlama (https://www.delphican.com/forumdisplay.php?fid=6)
+--- Konu Başlığı: firebird procedure (/showthread.php?tid=5739)



firebird procedure - ibrahim.aydin@perga.com.tr - 22-02-2021

Merhabalar firebird veri tabanına yazılan bir  Procedure  
CREATE PROCEDURE AAPERGA_IA_STOKASIL (
   CIKIS_CARI_NO Integer,
   CIKIS_SAHIP_CARI_NO Integer,
   CIKIS_STOK_YERI_NO Integer,
   TARIH Timestamp,
   ACIKLAMA Varchar(250) )
RETURNS (
   TMP_STOK_ISLEMA_NO Integer )
AS
declare variable STOK_ISLEMA_NO Integer;
declare variable ISLEM_KODU Varchar(6); 
declare variable ISLEM_ADI Varchar(32); 
declare variable ISLEM_YONU Smallint; 
declare variable GIRIS_CARI_NO Integer;
declare variable GIRIS_SAHIP_CARI_NO Integer;
declare variable GIRIS_STOK_YERI_NO Integer; 
declare variable KARSI_STOK_YERI_NO Integer; 
declare variable GIRIS_ISLEM_NOKTASI_NO Integer; 
declare variable CIKIS_ISLEM_NOKTASI_NO Integer; 
declare variable GIRIS_PERSONEL_NO Integer; 
declare variable CIKIS_PERSONEL_NO Integer;  
begin
     STOK_ISLEMA_NO= GEN_ID(STOK_ISLEMA_NO, 1);
     TMP_STOK_ISLEMA_NO=STOK_ISLEMA_NO;
     ISLEM_KODU='STKÇIK';
     ISLEM_ADI= 'Stok Çıkışı';
     ISLEM_YONU= '-1';
     GIRIS_CARI_NO='0';
     GIRIS_SAHIP_CARI_NO= '0';
     GIRIS_STOK_YERI_NO= '0';
     GIRIS_ISLEM_NOKTASI_NO= '0';
     CIKIS_ISLEM_NOKTASI_NO= '4';
     GIRIS_PERSONEL_NO= '70';
     CIKIS_PERSONEL_NO= '70';
INSERT INTO "NS_STOKASIL"(STOK_ISLEMA_NO,
ISLEM_KODU,ISLEM_ADI,ISLEM_YONU,GIRIS_CARI_NO,CIKIS_CARI_NO,GIRIS_SAHIP_CARI_NO,CIKIS_SAHIP_CARI_NO,GIRIS_STOK_YERI_NO,CIKIS_STOK_YERI_NO,
GIRIS_ISLEM_NOKTASI_NO,CIKIS_ISLEM_NOKTASI_NO,GIRIS_PERSONEL_NO,CIKIS_PERSONEL_NO,ACIKLAMA,TARIH)
VALUES(:STOK_ISLEMA_NO,:ISLEM_KODU,:ISLEM_ADI,:ISLEM_YONU,:GIRIS_CARI_NO,:CIKIS_CARI_NO,:GIRIS_SAHIP_CARI_NO,:CIKIS_SAHIP_CARI_NO,:GIRIS_STOK_YERI_NO,:CIKIS_STOK_YERI_NO,
:GIRIS_ISLEM_NOKTASI_NO,:CIKIS_ISLEM_NOKTASI_NO,:GIRIS_PERSONEL_NO,:CIKIS_PERSONEL_NO,:ACIKLAMA,:TARIH);
  SUSPEND;   
END
 
procedure gönderdigim delphi kodu
 With DmKayitListesi.QSTOKCIKIS do
     begin

     ParamByName('CIKIS_CARI_NO').Value:= uLogin.BAYI_NO;
     ParamByName('CIKIS_SAHIP_CARI_NO').Value:=uLogin.BAYI_NO;;
     ParamByName('CIKIS_STOK_YERI_NO').Value:= DEPO_NO;
     ParamByName('TARIH').Value:= NOW;
     ParamByName('ACIKLAMA').Value:= 'Depodan Kullanıldı';


     ExecSQL;
     ShowMessage('KAYDEDİLDİ...');
     end;
Querydeki sql cümlesi 
EXECUTE PROCEDURE AAPERGA_IA_STOKASIL(:CIKIS_CARI_NO,:CIKIS_SAHIP_CARI_NO,:CIKIS_STOK_YERI_NO,:TARIH,:ACIKLAMA)

prosedürdeki RETURNS deki TMP_STOK_ISLEMA_NO  değeri delphi programında kullanmak iştiyorum bunun için ne yapmalıyım ?


firebird procedure - ozcanm - 22-02-2021

Merhaba,
EXECUTE PROCEDURE AAPERGA_IA_STOKASIL(:CIKIS_CARI_NO,:CIKIS_SAHIP_CARI_NO,:CIKIS_STOK_YERI_NO,:TARIH,:ACIKLAMA)
Yerine
SELECT * FROM AAPERGA_IA_STOKASIL(:CIKIS_CARI_NO,:CIKIS_SAHIP_CARI_NO,:CIKIS_STOK_YERI_NO,:TARIH,:ACIKLAMA)



Cvp: firebird procedure - ibrahim.aydin@perga.com.tr - 22-02-2021

(22-02-2021, Saat: 11:07)ozcanm Adlı Kullanıcıdan Alıntı: Merhaba,
EXECUTE PROCEDURE AAPERGA_IA_STOKASIL(:CIKIS_CARI_NO,:CIKIS_SAHIP_CARI_NO,:CIKIS_STOK_YERI_NO,:TARIH,:ACIKLAMA)
Yerine
SELECT * FROM AAPERGA_IA_STOKASIL(:CIKIS_CARI_NO,:CIKIS_SAHIP_CARI_NO,:CIKIS_STOK_YERI_NO,:TARIH,:ACIKLAMA)

SELECT TMP_STOK_ISLEMA_NO   FROM AAPERGA_IA_STOKASIL(:CIKIS_CARI_NO,:CIKIS_SAHIP_CARI_NO,:CIKIS_STOK_YERI_NO,:TARIH,:ACIKLAMA)
 
merhabalar bilgi için teşekürler bende olayı tam çözmüş buraya yazacaktım.