g-serienmail.w 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v9r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  4. &Scoped-define FRAME-NAME gSerienMail
  5. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gSerienMail
  6. /*------------------------------------------------------------------------
  7. File:
  8. Description: from cntnrdlg.w - ADM2 SmartDialog Template
  9. Input Parameters:
  10. <none>
  11. Output Parameters:
  12. <none>
  13. Author:
  14. Created:
  15. ------------------------------------------------------------------------*/
  16. /* This .W file was created with the Progress AppBuilder. */
  17. /*----------------------------------------------------------------------*/
  18. /* Create an unnamed pool to store all the widgets created
  19. by this procedure. This is a good default which assures
  20. that this procedure's triggers and internal procedures
  21. will execute in this procedure's storage, and that proper
  22. cleanup will occur on deletion of the procedure. */
  23. CREATE WIDGET-POOL.
  24. /* *************************** Definitions ************************** */
  25. /* Parameters Definitions --- */
  26. DEF INPUT PARAMETER ipBuffer AS HANDLE NO-UNDO.
  27. /* Local Variable Definitions --- */
  28. DEF VAR MaxPage AS INT NO-UNDO.
  29. DEF VAR AktSeite AS INT NO-UNDO.
  30. DEF VAR FMutFlag AS LOG NO-UNDO.
  31. DEF VAR ProgName AS CHAR NO-UNDO.
  32. DEF VAR SAktiv AS LOG NO-UNDO.
  33. DEF VAR Firma AS CHAR NO-UNDO.
  34. DEF VAR AdFirma AS CHAR NO-UNDO.
  35. DEF VAR hFeld AS HANDLE NO-UNDO.
  36. DEF VAR iKommArt AS INT NO-UNDO.
  37. DEF VAR MailKomm AS INT NO-UNDO.
  38. DEF VAR cValue AS CHAR NO-UNDO.
  39. DEF VAR cSendTo AS CHAR NO-UNDO.
  40. DEF VAR cCC AS CHAR NO-UNDO.
  41. DEF VAR cKopie AS CHAR NO-UNDO.
  42. /* _UIB-CODE-BLOCK-END */
  43. &ANALYZE-RESUME
  44. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  45. /* ******************** Preprocessor Definitions ******************** */
  46. &Scoped-define PROCEDURE-TYPE SmartDialog
  47. &Scoped-define DB-AWARE no
  48. &Scoped-define ADM-CONTAINER DIALOG-BOX
  49. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  50. /* Name of first Frame and/or Browse and/or first Query */
  51. &Scoped-define FRAME-NAME gSerienMail
  52. /* Standard List Definitions */
  53. &Scoped-Define ENABLED-OBJECTS F_To F_BCC F_Attach Btn_SDatei F_Betreff ~
  54. E_Mail T_Einzeln Btn_OK Btn_Cancel RECT-5
  55. &Scoped-Define DISPLAYED-OBJECTS F_To F_BCC F_Attach F_Betreff E_Mail ~
  56. T_Einzeln
  57. /* Custom List Definitions */
  58. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  59. &Scoped-define List-6 F_To F_BCC F_Attach F_Betreff E_Mail T_Einzeln
  60. /* _UIB-PREPROCESSOR-BLOCK-END */
  61. &ANALYZE-RESUME
  62. /* *********************** Control Definitions ********************** */
  63. /* Define a dialog box */
  64. /* Definitions of the field level widgets */
  65. DEFINE BUTTON Btn_Cancel AUTO-END-KEY
  66. LABEL "&Abbrechen"
  67. SIZE 15 BY 1.
  68. DEFINE BUTTON Btn_OK AUTO-GO
  69. LABEL "&Start"
  70. SIZE 15 BY 1.
  71. DEFINE BUTTON Btn_SDatei
  72. IMAGE-UP FILE "grafik/select.bmp":U
  73. LABEL "DateiSuchen"
  74. SIZE 4.4 BY 1.05 TOOLTIP "Starten neue Selektion (ALT-S)".
  75. DEFINE VARIABLE E_Mail AS CHARACTER
  76. VIEW-AS EDITOR SCROLLBAR-VERTICAL
  77. SIZE 80 BY 4.91
  78. BGCOLOR 15 NO-UNDO.
  79. DEFINE VARIABLE F_Attach AS CHARACTER FORMAT "X(256)":U
  80. LABEL "Anhangs-Dokument"
  81. VIEW-AS FILL-IN NATIVE
  82. SIZE 75.6 BY 1
  83. BGCOLOR 15 NO-UNDO.
  84. DEFINE VARIABLE F_BCC AS CHARACTER FORMAT "x(5000)":U
  85. LABEL "Blindkopien"
  86. VIEW-AS FILL-IN NATIVE
  87. SIZE 80 BY 1
  88. BGCOLOR 15 NO-UNDO.
  89. DEFINE VARIABLE F_Betreff AS CHARACTER FORMAT "X(256)":U
  90. LABEL "Betreff"
  91. VIEW-AS FILL-IN NATIVE
  92. SIZE 80 BY 1
  93. BGCOLOR 15 NO-UNDO.
  94. DEFINE VARIABLE F_To AS CHARACTER FORMAT "x(5000)":U
  95. LABEL "Mail To"
  96. VIEW-AS FILL-IN NATIVE
  97. SIZE 80 BY 1
  98. BGCOLOR 15 NO-UNDO.
  99. DEFINE RECTANGLE RECT-5
  100. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  101. SIZE 112 BY 13.33.
  102. DEFINE VARIABLE T_Einzeln AS LOGICAL INITIAL no
  103. LABEL "einzelne Mails"
  104. VIEW-AS TOGGLE-BOX
  105. SIZE 19 BY 1 NO-UNDO.
  106. /* ************************ Frame Definitions *********************** */
  107. DEFINE FRAME gSerienMail
  108. F_To AT ROW 2 COL 28 COLON-ALIGNED NO-TAB-STOP
  109. F_BCC AT ROW 3 COL 28 COLON-ALIGNED NO-TAB-STOP
  110. F_Attach AT ROW 4 COL 28 COLON-ALIGNED
  111. Btn_SDatei AT ROW 4 COL 105.6 NO-TAB-STOP
  112. F_Betreff AT ROW 5 COL 28 COLON-ALIGNED
  113. E_Mail AT ROW 6.52 COL 30 NO-LABEL
  114. T_Einzeln AT ROW 11.62 COL 30
  115. Btn_OK AT ROW 13 COL 44.6
  116. Btn_Cancel AT ROW 13 COL 68.8
  117. RECT-5 AT ROW 1.24 COL 2
  118. SPACE(0.99) SKIP(0.23)
  119. WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
  120. SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
  121. TITLE "Serien-Mail"
  122. CANCEL-BUTTON Btn_Cancel.
  123. /* *********************** Procedure Settings ************************ */
  124. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  125. /* Settings for THIS-PROCEDURE
  126. Type: SmartDialog
  127. Allow: Basic,Browse,DB-Fields,Query,Smart
  128. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  129. Design Page: 1
  130. Other Settings: COMPILE
  131. */
  132. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  133. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gSerienMail
  134. /* ************************* Included-Libraries *********************** */
  135. {src/adm2/containr.i}
  136. /* _UIB-CODE-BLOCK-END */
  137. &ANALYZE-RESUME
  138. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  139. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  140. /* SETTINGS FOR DIALOG-BOX gSerienMail
  141. */
  142. ASSIGN
  143. FRAME gSerienMail:SCROLLABLE = FALSE
  144. FRAME gSerienMail:HIDDEN = TRUE.
  145. /* SETTINGS FOR EDITOR E_Mail IN FRAME gSerienMail
  146. 6 */
  147. ASSIGN
  148. E_Mail:RETURN-INSERTED IN FRAME gSerienMail = TRUE.
  149. /* SETTINGS FOR FILL-IN F_Attach IN FRAME gSerienMail
  150. 6 */
  151. /* SETTINGS FOR FILL-IN F_BCC IN FRAME gSerienMail
  152. 6 */
  153. ASSIGN
  154. F_BCC:READ-ONLY IN FRAME gSerienMail = TRUE.
  155. /* SETTINGS FOR FILL-IN F_Betreff IN FRAME gSerienMail
  156. 6 */
  157. /* SETTINGS FOR FILL-IN F_To IN FRAME gSerienMail
  158. 6 */
  159. ASSIGN
  160. F_To:READ-ONLY IN FRAME gSerienMail = TRUE.
  161. /* SETTINGS FOR TOGGLE-BOX T_Einzeln IN FRAME gSerienMail
  162. 6 */
  163. /* _RUN-TIME-ATTRIBUTES-END */
  164. &ANALYZE-RESUME
  165. /* Setting information for Queries and Browse Widgets fields */
  166. &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gSerienMail
  167. /* Query rebuild information for DIALOG-BOX gSerienMail
  168. _Options = "SHARE-LOCK"
  169. _Query is NOT OPENED
  170. */ /* DIALOG-BOX gSerienMail */
  171. &ANALYZE-RESUME
  172. /* ************************ Control Triggers ************************ */
  173. &Scoped-define SELF-NAME gSerienMail
  174. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gSerienMail gSerienMail
  175. ON END-ERROR OF FRAME gSerienMail /* Serien-Mail */
  176. DO:
  177. RUN ENDE.
  178. RETURN NO-APPLY.
  179. END.
  180. /* _UIB-CODE-BLOCK-END */
  181. &ANALYZE-RESUME
  182. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gSerienMail gSerienMail
  183. ON GO OF FRAME gSerienMail /* Serien-Mail */
  184. DO:
  185. /*
  186. RUN ENDE_PROGRAMM ( INPUT Progname ) NO-ERROR.
  187. */
  188. END.
  189. /* _UIB-CODE-BLOCK-END */
  190. &ANALYZE-RESUME
  191. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gSerienMail gSerienMail
  192. ON WINDOW-CLOSE OF FRAME gSerienMail /* Serien-Mail */
  193. DO:
  194. RUN ENDE.
  195. RETURN NO-APPLY.
  196. END.
  197. /* _UIB-CODE-BLOCK-END */
  198. &ANALYZE-RESUME
  199. &Scoped-define SELF-NAME Btn_Cancel
  200. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Cancel gSerienMail
  201. ON CHOOSE OF Btn_Cancel IN FRAME gSerienMail /* Abbrechen */
  202. DO:
  203. RUN ENDE.
  204. RETURN NO-APPLY.
  205. END.
  206. /* _UIB-CODE-BLOCK-END */
  207. &ANALYZE-RESUME
  208. &Scoped-define SELF-NAME Btn_OK
  209. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK gSerienMail
  210. ON CHOOSE OF Btn_OK IN FRAME gSerienMail /* Start */
  211. DO:
  212. DEF VAR cKommun AS CHAR NO-UNDO.
  213. DEF VAR cDoku AS CHAR NO-UNDO.
  214. DEF VAR cBetreff AS CHAR NO-UNDO.
  215. DEF VAR cMail AS CHAR NO-UNDO.
  216. DO WITH FRAME {&FRAME-NAME}:
  217. ASSIGN {&List-6}.
  218. cDoku = F_Attach.
  219. cBetreff = F_Betreff.
  220. cMail = REPLACE(E_Mail, CHR(10), '£').
  221. DO WHILE TRUE:
  222. IF cDoku = '' THEN LEAVE.
  223. FILE-INFO:FILE-NAME = cDoku NO-ERROR.
  224. IF FILE-INFO:FILE-TYPE BEGINS 'F' THEN LEAVE.
  225. MESSAGE 'Die Datei für den Anhang ist ungültig' VIEW-AS ALERT-BOX.
  226. RETURN NO-APPLY.
  227. END.
  228. PUT-KEY-VALUE SECTION 'MailSend' KEY 'Doku' VALUE cDoku .
  229. PUT-KEY-VALUE SECTION 'MailSend' KEY 'Betreff' VALUE cBetreff.
  230. PUT-KEY-VALUE SECTION 'MailSend' KEY 'Mail' VALUE cMail .
  231. PUT-KEY-VALUE SECTION 'MailSend' KEY 'Einzeln' VALUE STRING(T_Einzeln).
  232. END.
  233. RUN MAIL_VERSENDEN.
  234. RUN ENDE.
  235. RETURN NO-APPLY.
  236. END.
  237. /* _UIB-CODE-BLOCK-END */
  238. &ANALYZE-RESUME
  239. &Scoped-define SELF-NAME Btn_SDatei
  240. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_SDatei gSerienMail
  241. ON CHOOSE OF Btn_SDatei IN FRAME gSerienMail /* DateiSuchen */
  242. DO:
  243. DEF VAR ja AS LOG NO-UNDO.
  244. SYSTEM-DIALOG GET-FILE F_Attach
  245. MUST-EXIST
  246. USE-FILENAME
  247. UPDATE ja.
  248. IF NOT ja THEN RETURN NO-APPLY.
  249. DO WITH FRAME {&FRAME-NAME}:
  250. DISPLAY F_Attach.
  251. END.
  252. END.
  253. /* _UIB-CODE-BLOCK-END */
  254. &ANALYZE-RESUME
  255. &Scoped-define SELF-NAME T_Einzeln
  256. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Einzeln gSerienMail
  257. ON RETURN OF T_Einzeln IN FRAME gSerienMail /* einzelne Mails */
  258. DO:
  259. APPLY 'TAB' TO SELF.
  260. RETURN NO-APPLY.
  261. END.
  262. /* _UIB-CODE-BLOCK-END */
  263. &ANALYZE-RESUME
  264. &UNDEFINE SELF-NAME
  265. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gSerienMail
  266. /* *************************** Main Block *************************** */
  267. MaxPage = 1.
  268. AktSeite = 1.
  269. sAktiv = DYNAMIC-FUNCTION('getSuperAktiv':U) NO-ERROR.
  270. IF sAktiv THEN DO:
  271. Firma = DYNAMIC-FUNCTION('GETMANDANT':U ) NO-ERROR.
  272. AdFirma = DYNAMIC-FUNCTION('GETADMANDANT':U ) NO-ERROR.
  273. Progname = DYNAMIC-FUNCTION('MAKEPROGNAME':U, INPUT THIS-PROCEDURE ) NO-ERROR.
  274. END.
  275. SESSION:DATA-ENTRY-RETURN = TRUE.
  276. /* TRIGGERS ------------------------------------------------------ */
  277. ON 'END-ERROR':U OF FRAME {&FRAME-NAME} ANYWHERE
  278. DO:
  279. RUN ENDE.
  280. RETURN NO-APPLY.
  281. END.
  282. /* ------------------------------------------------------------------ */
  283. {src/adm2/dialogmn.i}
  284. /* _UIB-CODE-BLOCK-END */
  285. &ANALYZE-RESUME
  286. /* ********************** Internal Procedures *********************** */
  287. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gSerienMail _ADM-CREATE-OBJECTS
  288. PROCEDURE adm-create-objects :
  289. /*------------------------------------------------------------------------------
  290. Purpose: Create handles for all SmartObjects used in this procedure.
  291. After SmartObjects are initialized, then SmartLinks are added.
  292. Parameters: <none>
  293. ------------------------------------------------------------------------------*/
  294. END PROCEDURE.
  295. /* _UIB-CODE-BLOCK-END */
  296. &ANALYZE-RESUME
  297. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gSerienMail _DEFAULT-DISABLE
  298. PROCEDURE disable_UI :
  299. /*------------------------------------------------------------------------------
  300. Purpose: DISABLE the User Interface
  301. Parameters: <none>
  302. Notes: Here we clean-up the user-interface by deleting
  303. dynamic widgets we have created and/or hide
  304. frames. This procedure is usually called when
  305. we are ready to "clean-up" after running.
  306. ------------------------------------------------------------------------------*/
  307. /* Hide all frames. */
  308. HIDE FRAME gSerienMail.
  309. END PROCEDURE.
  310. /* _UIB-CODE-BLOCK-END */
  311. &ANALYZE-RESUME
  312. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gSerienMail
  313. PROCEDURE enableObject :
  314. /*------------------------------------------------------------------------------
  315. Purpose: Super Override
  316. Parameters:
  317. Notes:
  318. ------------------------------------------------------------------------------*/
  319. DEF VAR wx AS INT NO-UNDO.
  320. DEF VAR wy AS INT NO-UNDO.
  321. DEF VAR MaxX AS INT NO-UNDO.
  322. DEF VAR MaxY AS INT NO-UNDO.
  323. DEF VAR xString AS CHAR NO-UNDO.
  324. MaxX = SESSION:WIDTH-PIXELS.
  325. MaxY = SESSION:HEIGHT-PIXELS.
  326. GET-KEY-VALUE SECTION 'FensterPositionen'
  327. KEY ProgName
  328. VALUE xString.
  329. IF xString = ? THEN xString = '30;30'.
  330. IF xString = '' THEN xString = '30;30'.
  331. wx = INTEGER(ENTRY(1, xString, ';')).
  332. wy = INTEGER(ENTRY(2, xString, ';')).
  333. IF wx < 0 THEN wx = 30.
  334. IF wy < 0 THEN wy = 30.
  335. IF wx > (MaxX - 20) THEN wx = 30.
  336. IF wy > (MaxY - 20) THEN wy = 30.
  337. FRAME {&FRAME-NAME}:X = wx.
  338. FRAME {&FRAME-NAME}:Y = wy.
  339. RUN SUPER.
  340. IF sAktiv THEN RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR.
  341. END PROCEDURE.
  342. /* _UIB-CODE-BLOCK-END */
  343. &ANALYZE-RESUME
  344. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gSerienMail _DEFAULT-ENABLE
  345. PROCEDURE enable_UI :
  346. /*------------------------------------------------------------------------------
  347. Purpose: ENABLE the User Interface
  348. Parameters: <none>
  349. Notes: Here we display/view/enable the widgets in the
  350. user-interface. In addition, OPEN all queries
  351. associated with each FRAME and BROWSE.
  352. These statements here are based on the "Other
  353. Settings" section of the widget Property Sheets.
  354. ------------------------------------------------------------------------------*/
  355. DISPLAY F_To F_BCC F_Attach F_Betreff E_Mail T_Einzeln
  356. WITH FRAME gSerienMail.
  357. ENABLE F_To F_BCC F_Attach Btn_SDatei F_Betreff E_Mail T_Einzeln Btn_OK
  358. Btn_Cancel RECT-5
  359. WITH FRAME gSerienMail.
  360. VIEW FRAME gSerienMail.
  361. {&OPEN-BROWSERS-IN-QUERY-gSerienMail}
  362. END PROCEDURE.
  363. /* _UIB-CODE-BLOCK-END */
  364. &ANALYZE-RESUME
  365. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gSerienMail
  366. PROCEDURE ENDE :
  367. /*------------------------------------------------------------------------------
  368. Purpose:
  369. Parameters: <none>
  370. Notes:
  371. ------------------------------------------------------------------------------*/
  372. DEF VAR wx AS INT NO-UNDO.
  373. DEF VAR wy AS INT NO-UNDO.
  374. DEF VAR xString AS CHAR NO-UNDO.
  375. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  376. IF AktSeite > 1 THEN DO:
  377. RUN selectPage ( INPUT 1 ).
  378. RETURN NO-APPLY.
  379. END.
  380. IF sAktiv THEN RUN ENDE_PROGRAMM ( INPUT Progname ).
  381. wx = FRAME {&FRAME-NAME}:X NO-ERROR.
  382. wy = FRAME {&FRAME-NAME}:Y NO-ERROR.
  383. xString = STRING(wx) + ';' + STRING(wy).
  384. PUT-KEY-VALUE SECTION 'FensterPositionen'
  385. KEY ProgName
  386. VALUE xString.
  387. APPLY "CLOSE":U TO THIS-PROCEDURE.
  388. APPLY 'GO' TO FRAME {&FRAME-NAME}.
  389. RETURN NO-APPLY.
  390. END PROCEDURE.
  391. /* _UIB-CODE-BLOCK-END */
  392. &ANALYZE-RESUME
  393. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject gSerienMail
  394. PROCEDURE exitObject :
  395. /*------------------------------------------------------------------------------
  396. Purpose: Super Override
  397. Parameters:
  398. Notes:
  399. ------------------------------------------------------------------------------*/
  400. RUN ENDE.
  401. RETURN NO-APPLY.
  402. END PROCEDURE.
  403. /* _UIB-CODE-BLOCK-END */
  404. &ANALYZE-RESUME
  405. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FIND_MAIL_ADRESSEN gSerienMail
  406. PROCEDURE FIND_MAIL_ADRESSEN :
  407. /*------------------------------------------------------------------------------
  408. Purpose:
  409. Parameters: <none>
  410. Notes:
  411. ------------------------------------------------------------------------------*/
  412. DEF VAR hQuery AS WIDGET-HANDLE NO-UNDO.
  413. DEF VAR i1 AS INT NO-UNDO.
  414. DEF VAR cFirma AS CHAR NO-UNDO.
  415. DEF VAR iKnr AS INT NO-UNDO.
  416. DEF VAR fFound AS LOG NO-UNDO.
  417. DEF VAR hFeld AS HANDLE NO-UNDO.
  418. DEF VAR cMail AS CHAR NO-UNDO.
  419. cSendTo = ''.
  420. cCC = ''.
  421. CREATE QUERY hQuery.
  422. hQuery:SET-BUFFERS( ipBuffer ).
  423. hQuery:QUERY-PREPARE('FOR EACH TAdresse NO-LOCK').
  424. hQuery:QUERY-OPEN().
  425. hQuery:GET-FIRST().
  426. REPEAT WITH FRAME {&FRAME-NAME}:
  427. IF hQuery:QUERY-OFF-END THEN LEAVE.
  428. hFeld = ipBuffer:BUFFER-FIELD('cMail').
  429. cMail = hFeld:BUFFER-VALUE(0).
  430. DO WHILE cMail <> '':
  431. IF INDEX(cMail, '@') = 0 THEN LEAVE.
  432. IF cSendTo = '' THEN cSendTo = cMail.
  433. ELSE DO:
  434. IF cCC <> '' THEN cCC = cCC + '; '.
  435. cCC = cCC + cMail.
  436. END.
  437. LEAVE.
  438. END.
  439. hQuery:GET-NEXT().
  440. END.
  441. DO WITH FRAME {&FRAME-NAME}:
  442. F_To = cSendTo.
  443. F_Bcc = cCC.
  444. END.
  445. END PROCEDURE.
  446. /* _UIB-CODE-BLOCK-END */
  447. &ANALYZE-RESUME
  448. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject gSerienMail
  449. PROCEDURE initializeObject :
  450. /*------------------------------------------------------------------------------
  451. Purpose: Super Override
  452. Parameters:
  453. Notes:
  454. ------------------------------------------------------------------------------*/
  455. DEF VAR cKommun AS CHAR NO-UNDO.
  456. DEF VAR cDoku AS CHAR NO-UNDO.
  457. DEF VAR cBetreff AS CHAR NO-UNDO.
  458. DEF VAR cMail AS CHAR NO-UNDO.
  459. DEF VAR cEinzeln AS CHAR NO-UNDO.
  460. DO WITH FRAME {&FRAME-NAME}:
  461. GET-KEY-VALUE SECTION 'MailSend' KEY 'Doku' VALUE cDoku .
  462. IF cDoku = ? THEN cDoku = ''.
  463. GET-KEY-VALUE SECTION 'MailSend' KEY 'Betreff' VALUE cBetreff.
  464. IF cBetreff = ? THEN cBetreff = ''.
  465. GET-KEY-VALUE SECTION 'MailSend' KEY 'Mail' VALUE cMail .
  466. IF cMail = ? THEN cMail = ''.
  467. cMail = REPLACE(cMail, '£', CHR(10)).
  468. GET-KEY-VALUE SECTION 'MailSend' KEY 'Einzeln' VALUE cEinzeln.
  469. IF cEinzeln = ? THEN cEinzeln = 'no'.
  470. F_Attach = cDoku .
  471. F_Betreff = cBetreff.
  472. E_Mail = cMail .
  473. T_Einzeln = (IF cEinzeln BEGINS 'n' THEN FALSE ELSE TRUE).
  474. END.
  475. RUN FIND_MAIL_ADRESSEN.
  476. RUN SUPER.
  477. END PROCEDURE.
  478. /* _UIB-CODE-BLOCK-END */
  479. &ANALYZE-RESUME
  480. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE MAIL_VERSENDEN gSerienMail
  481. PROCEDURE MAIL_VERSENDEN :
  482. /*------------------------------------------------------------------------------
  483. Purpose:
  484. Parameters: <none>
  485. Notes:
  486. ------------------------------------------------------------------------------*/
  487. DEF VAR i1 AS INT NO-UNDO.
  488. DO WITH FRAME {&FRAME-NAME}:
  489. ASSIGN {&List-6}.
  490. IF T_Einzeln THEN DO:
  491. cKopie = cCC.
  492. cCC = ''.
  493. END.
  494. RUN SEND_MAIL_BY_MAILADRESSE ( INPUT cSendTo ,
  495. INPUT cCC ,
  496. INPUT F_Betreff,
  497. INPUT E_Mail ,
  498. INPUT F_Attach ).
  499. DO i1 = 1 TO NUM-ENTRIES(cKopie, ';'):
  500. cSendTo = TRIM(ENTRY(i1, cKopie, ';')).
  501. RUN SEND_MAIL_BY_MAILADRESSE ( INPUT cSendTo ,
  502. INPUT cCC ,
  503. INPUT F_Betreff,
  504. INPUT E_Mail ,
  505. INPUT F_Attach ).
  506. END.
  507. RETURN NO-APPLY.
  508. END.
  509. END PROCEDURE.
  510. /* _UIB-CODE-BLOCK-END */
  511. &ANALYZE-RESUME