home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 May / Chip_2000-05_cd1.bin / tema / SW602 / Winbase / EShop_demo / ODESLIMAIL.PSM < prev    next >
Text File  |  2000-03-16  |  3KB  |  95 lines

  1. {$$3219928934 .                              }PROCEDURE OdesliMail(IN idobj INT, IN idkomu INT, IN storno_obj BOOLEAN, IN postoupeni BOOLEAN);
  2. BEGIN
  3.  
  4.   DECLARE Letter,res,i INT;
  5.   DECLARE Profile, firma CHAR(100) ;
  6.   DECLARE SIduz  CHAR(8); 
  7.   DECLARE typadr char(10);
  8.   DECLARE kdo, komu, kolik, subj CHAR(50);
  9.   DECLARE co CHAR(2000);
  10.   DECLARE heslo, objednavka, kdy CHAR(20);
  11.   DECLARE  wbaplname CHAR(100);
  12.   DECLARE  dnes, ted  CHAR(30);
  13.  
  14.   SELECT sys_par.vec_mail,sys_par.mail_info  INTO  subj,co FROM sys_par;  
  15.   SELECT OBJ_HEADER.cis_eob, date2str(datum_d,3), money2str(K_UHRADE,0)    INTO objednavka, kdy, kolik FROM OBJ_HEADER WHERE id_dobj=idobj; 
  16.  
  17.   IF storno_obj THEN
  18.     BEGIN
  19.       SET subj="STORNO objednavky";
  20.       SET co="Objednßvka Φφslo "+objednavka+" byla obchodnφm partnerem STORNOV┴NA";
  21.     END;
  22.   END IF;
  23.  
  24.   IF postoupeni THEN
  25.     BEGIN
  26.       SET subj="Postoupenß objednßvka";
  27.       SET co="Byla Vßm postoupena objednßvka: "+ objednavka;
  28.     END;
  29.   END IF;
  30.  
  31.     SELECT sys_par.profil  INTO Profile FROM sys_par;  
  32.     CALL log_write("odesφlatel: Profile:"+Profile);
  33.  
  34. SET firma="nov² zßkaznφk";
  35.  if idkomu>=0
  36.   THEN
  37.    SELECT  Obchodnici.mail_adres,  Obchodnici.mailtyp, Obchodni_partneri.nazev1    INTO  komu, typadr, firma
  38.    FROM Obchodni_partneri, Obchodnici
  39.    WHERE Obchodni_partneri.id_obchodnika=Obchodnici.id_obchodnika
  40.    AND (Obchodni_partneri.id=idkomu);
  41.   ELSE
  42.    SELECT Obchodnici.mail_adres,  Obchodnici.mailtyp    INTO komu, typadr
  43.    FROM Obchodnici, Default_hodnoty
  44.    WHERE Default_hodnoty.obchodnik=Obchodnici.id_obchodnika;  END IF;
  45.  
  46.  
  47. SET co=co||" "#13#10" firma: "||firma||" "#13#10" Φφslo objednßvky: "||objednavka||" "#13#10" Φßstka k ·hrad∞: "||kolik||" "#13#10" termφn dodßnφ: "||kdy;  
  48.  SELECT sys_par.aplname,  date2str(today,1) , time2str(now,1) INTO wbaplname,dnes, ted FROM sys_par;  
  49.    IF storno_obj THEN CALL log_write(dnes+" "+ted+" "+wbaplname+" storno objednßvky");
  50.    ELSE CALL log_write(dnes+" "+ted+" "+wbaplname+" novß objednßvka ");
  51.    END IF;
  52.  
  53.   IF (komu<>"") 
  54.    THEN  BEGIN //0
  55.     SET heslo=NULL;
  56.     SET i = 0;
  57.   nav: LOOP BEGIN    
  58.     SET res= InitWBmail(Profile,heslo);
  59.     IF res <> 511 THEN
  60.        LEAVE nav;
  61.     END IF;
  62.     SET i = i + 1;
  63.     IF i > 5 THEN
  64.        LEAVE nav;
  65.     END IF;
  66.     CALL Sleep(20000);
  67.   END; END LOOP nav; 
  68.      IF res<>0 THEN  BEGIN  CALL log_write("chyba inicializace poÜty "+int2str(res)); CALL mailerr(res); END;
  69.       ELSE  BEGIN     //1
  70.   IF komu<>""
  71.    THEN  BEGIN //01
  72.     SET res=LetterCreate(Subj,Co,130,Letter);
  73.     IF res<>0 THEN  BEGIN  CALL log_write("chyba p°i vytvß°enφ dopisu "+int2str(res)); CALL mailerr(res); END;
  74.      ELSE  BEGIN    //2      
  75.  
  76.       SET res=  LetterAddAddr(Letter,Komu, typadr, FALSE);
  77.       IF res<>0 THEN 
  78.        begin
  79.         CALL log_write("chyba adresßta "+int2str(res));
  80.         CALL mailerr(res); 
  81.        end;
  82.       ELSE   BEGIN    //3         
  83.       SET res= LetterSend(Letter);
  84.        IF res<>0 THEN  BEGIN  CALL log_write("chyba p°i odesφlßnφ poÜtou "+int2str(res)); CALL mailerr(res); END;
  85.        END IF;  //4
  86.       END;  END IF;  //3
  87.      END;  END IF;  //2
  88.  
  89.    END;  END IF;  //01
  90.    CALL CloseWBMail;
  91.  END;  END IF;  //1
  92.  END;  END IF;  //0
  93.  
  94. END
  95.