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

  1. {$$3219929050 .                              }PROCEDURE OdesliMailZak(IN idobj INT, IN idkomu INT, IN storno_obj BOOLEAN);
  2. BEGIN
  3.  
  4.   DECLARE Letter,res,i INT;
  5.   DECLARE Profile CHAR(100);
  6.   DECLARE EmiPath, subj, SEmi, SIduz  CHAR(30); 
  7.   DECLARE typadr, typ char(10);
  8.   DECLARE kdo, komu, dikadr, kolik CHAR(50);
  9.   DECLARE co, dik CHAR(2000);
  10.   DECLARE heslo, objednavka, kdy, platba CHAR(20);
  11.   DECLARE  wbaplname CHAR(100);
  12.   DECLARE  dnes, ted  CHAR(30);
  13.  
  14.   SET typ="Internet";
  15.   SET dikadr="";
  16.  
  17.   SELECT sys_par.vec_mail, sys_par.mail_dik   INTO  subj, dik FROM sys_par;  
  18.   SELECT OBJ_HEADER.cis_eob, date2str(datum_d,3), money2str(K_UHRADE,0)  INTO objednavka, kdy, kolik FROM OBJ_HEADER WHERE id_dobj=idobj; 
  19.   SELECT date2str( Obj_header.datum+sys_par.splatnost,3)    INTO platba FROM OBJ_HEADER, SYS_PAR WHERE id_dobj=idobj; 
  20.  
  21.   IF storno_obj THEN
  22.     BEGIN
  23.       SET subj="Potvrzeni STORNA objednavky";
  24.       SET co="VaÜe objednßvka Φφslo "+objednavka+" byla STORNOV┴NA";
  25.     END;
  26.   END IF;
  27.  
  28.  
  29.     SELECT sys_par.profil  INTO Profile FROM sys_par;  
  30.  
  31.    SELECT Obchodni_partneri.mail_adres  INTO dikadr
  32.    FROM Obchodni_partneri
  33.    WHERE (Obchodni_partneri.id=idkomu);
  34.  
  35.   IF  (dikadr<>"")
  36.    THEN  BEGIN //0
  37.     SET heslo=NULL;
  38.     SET i = 0;
  39.   nav: LOOP BEGIN    
  40.     SET res= InitWBmail(Profile,heslo);
  41.     IF res <> 511 THEN
  42.        LEAVE nav;
  43.     END IF;
  44.     SET i = i + 1;
  45.     IF i > 5 THEN
  46.        LEAVE nav;
  47.     END IF;
  48.     CALL Sleep(20000);
  49.   END; END LOOP nav; 
  50.      IF res<>0 THEN  BEGIN  CALL log_write("chyba inicializace poÜty "+int2str(res)); CALL mailerr(res); END;
  51.       ELSE  BEGIN     //1
  52.  
  53.  SET dik=dik||" "#13#10" Φφslo objednßvky: "||objednavka||" "#13#10" Φßstka k ·hrad∞: "||kolik||" "#13#10" termφn dodßnφ: "||kdy||" "#13#10" termφn splatnosti: "||platba;  
  54.  
  55.  SELECT sys_par.aplname,  date2str(today,1) , time2str(now,1) INTO wbaplname,dnes, ted FROM sys_par;  
  56.    IF storno_obj THEN CALL log_write(dnes+" "+ted+" "+wbaplname+" potvrzenφ storna");
  57.    ELSE CALL log_write(dnes+" "+ted+" "+wbaplname+" potvrzenφ objednßvky");
  58.    END IF;
  59.  
  60.  IF  (dikadr<>"") THEN BEGIN  //01
  61.   IF storno_obj THEN   SET dik=co;   END IF; 
  62.    SET res= LetterCreate(Subj,dik,130,Letter);
  63.     IF res<>0 THEN  BEGIN  CALL log_write("chyba p°i vytvß°enφ dopisu "+int2str(res)); CALL mailerr(res); END;
  64.    ELSE  BEGIN //2         
  65.     SET res= LetterAddAddr(Letter,dikadr, typ, FALSE);
  66.     IF res<>0 THEN
  67.      begin
  68.       CALL log_write("chyba adresßta "+int2str(res));
  69.       CALL mailerr(res); 
  70.      end;
  71.     ELSE  BEGIN //3           
  72.      SET res= LetterSend(Letter);
  73.      IF res<>0 THEN  BEGIN  CALL log_write("chyba p°i odesφlßnφ poÜtou "+int2str(res)); CALL mailerr(res); END;
  74.      END IF;  //4
  75.     END;  END IF;  //3
  76.    END;  END IF;  //2
  77.   END;  END IF;  //01
  78.    CALL CloseWBMail;
  79.  
  80.  END;  END IF;  //1
  81.  END;  END IF;  //0
  82.  
  83. END
  84.