f-mahntexte-firma.w 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  4. {adecomm/appserv.i}
  5. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS fFrameWin
  6. /*------------------------------------------------------------------------
  7. File:
  8. Description: from cntnrfrm.w - ADM2 SmartFrame Template
  9. Input Parameters:
  10. <none>
  11. Output Parameters:
  12. <none>
  13. ------------------------------------------------------------------------*/
  14. /* This .W file was created with the Progress AppBuilder. */
  15. /*----------------------------------------------------------------------*/
  16. /* Create an unnamed pool to store all the widgets created
  17. by this procedure. This is a good default which assures
  18. that this procedure's triggers and internal procedures
  19. will execute in this procedure's storage, and that proper
  20. cleanup will occur on deletion of the procedure. */
  21. CREATE WIDGET-POOL.
  22. /* *************************** Definitions ************************** */
  23. /* Parameters Definitions --- */
  24. /* Local Variable Definitions --- */
  25. DEF VAR cFirma AS CHAR NO-UNDO.
  26. DEF VAR iArt AS INT NO-UNDO.
  27. DEF VAR iSprcd AS INT NO-UNDO.
  28. DEF VAR iStufe AS INT NO-UNDO.
  29. DEF VAR hTabTexte AS HANDLE NO-UNDO.
  30. DEF VAR Progname AS CHAR NO-UNDO.
  31. DEF VAR hKontainer AS HANDLE NO-UNDO.
  32. DEF VAR hDaten AS HANDLE NO-UNDO.
  33. DEF VAR FMutFlag AS LOG INIT FALSE NO-UNDO.
  34. DEF TEMP-TABLE tTabTexte LIKE TabTexte.
  35. {src/adm2/widgetprto.i}
  36. /* _UIB-CODE-BLOCK-END */
  37. &ANALYZE-RESUME
  38. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  39. /* ******************** Preprocessor Definitions ******************** */
  40. &Scoped-define PROCEDURE-TYPE SmartFrame
  41. &Scoped-define DB-AWARE no
  42. &Scoped-define ADM-CONTAINER FRAME
  43. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  44. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  45. &Scoped-define FRAME-NAME fMain
  46. /* Standard List Definitions */
  47. &Scoped-Define ENABLED-OBJECTS RECT-1 F_Firma-1 F_Zusatz F_Strasse F_PlzOrt ~
  48. F_Telefon F_Fax Btn_Cancel
  49. &Scoped-Define DISPLAYED-OBJECTS F_Firma-1 F_Zusatz F_Strasse F_PlzOrt ~
  50. F_Telefon F_Fax
  51. /* Custom List Definitions */
  52. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  53. &Scoped-define List-6 F_Firma-1 F_Zusatz F_Strasse F_PlzOrt F_Telefon F_Fax
  54. /* _UIB-PREPROCESSOR-BLOCK-END */
  55. &ANALYZE-RESUME
  56. /* *********************** Control Definitions ********************** */
  57. /* Definitions of the field level widgets */
  58. DEFINE BUTTON Btn_Cancel
  59. LABEL "Abbrechen"
  60. SIZE 15 BY 1.
  61. DEFINE BUTTON Btn_Save
  62. LABEL "Speichern"
  63. SIZE 15 BY 1.
  64. DEFINE VARIABLE F_Fax AS CHARACTER FORMAT "X(256)":U
  65. LABEL "Fax"
  66. VIEW-AS FILL-IN NATIVE
  67. SIZE 40 BY 1
  68. BGCOLOR 15 NO-UNDO.
  69. DEFINE VARIABLE F_Firma-1 AS CHARACTER FORMAT "X(256)":U
  70. LABEL "Firma"
  71. VIEW-AS FILL-IN NATIVE
  72. SIZE 40 BY 1
  73. BGCOLOR 15 NO-UNDO.
  74. DEFINE VARIABLE F_PlzOrt AS CHARACTER FORMAT "X(256)":U
  75. LABEL "Plz / Ort"
  76. VIEW-AS FILL-IN NATIVE
  77. SIZE 40 BY 1
  78. BGCOLOR 15 NO-UNDO.
  79. DEFINE VARIABLE F_Strasse AS CHARACTER FORMAT "X(256)":U
  80. LABEL "Strasse"
  81. VIEW-AS FILL-IN NATIVE
  82. SIZE 40 BY 1
  83. BGCOLOR 15 NO-UNDO.
  84. DEFINE VARIABLE F_Telefon AS CHARACTER FORMAT "X(256)":U
  85. LABEL "Telefon"
  86. VIEW-AS FILL-IN NATIVE
  87. SIZE 40 BY 1
  88. BGCOLOR 15 NO-UNDO.
  89. DEFINE VARIABLE F_Zusatz AS CHARACTER FORMAT "X(256)":U
  90. LABEL "Zusatz"
  91. VIEW-AS FILL-IN NATIVE
  92. SIZE 40 BY 1
  93. BGCOLOR 15 NO-UNDO.
  94. DEFINE RECTANGLE RECT-1
  95. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  96. SIZE 66 BY 9.
  97. /* ************************ Frame Definitions *********************** */
  98. DEFINE FRAME fMain
  99. F_Firma-1 AT ROW 1.52 COL 18 COLON-ALIGNED WIDGET-ID 2
  100. F_Zusatz AT ROW 2.52 COL 18 COLON-ALIGNED WIDGET-ID 4
  101. F_Strasse AT ROW 3.52 COL 18 COLON-ALIGNED WIDGET-ID 6
  102. F_PlzOrt AT ROW 4.52 COL 18 COLON-ALIGNED WIDGET-ID 8
  103. F_Telefon AT ROW 6 COL 18 COLON-ALIGNED WIDGET-ID 10
  104. F_Fax AT ROW 7 COL 18 COLON-ALIGNED WIDGET-ID 12
  105. Btn_Save AT ROW 8.81 COL 11 WIDGET-ID 16
  106. Btn_Cancel AT ROW 8.81 COL 37.8 WIDGET-ID 18
  107. RECT-1 AT ROW 1.24 COL 2 WIDGET-ID 14
  108. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  109. SIDE-LABELS NO-UNDERLINE THREE-D
  110. AT COL 1 ROW 1
  111. SIZE 68 BY 9.57 WIDGET-ID 100.
  112. /* *********************** Procedure Settings ************************ */
  113. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  114. /* Settings for THIS-PROCEDURE
  115. Type: SmartFrame
  116. Allow: Basic,Browse,DB-Fields,Query,Smart
  117. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  118. Other Settings: PERSISTENT-ONLY COMPILE APPSERVER
  119. */
  120. /* This procedure should always be RUN PERSISTENT. Report the error, */
  121. /* then cleanup and return. */
  122. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  123. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  124. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  125. RETURN.
  126. END.
  127. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  128. /* ************************* Create Window ************************** */
  129. &ANALYZE-SUSPEND _CREATE-WINDOW
  130. /* DESIGN Window definition (used by the UIB)
  131. CREATE WINDOW fFrameWin ASSIGN
  132. HEIGHT = 9.57
  133. WIDTH = 68.
  134. /* END WINDOW DEFINITION */
  135. */
  136. &ANALYZE-RESUME
  137. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB fFrameWin
  138. /* ************************* Included-Libraries *********************** */
  139. {src/adm2/containr.i}
  140. /* _UIB-CODE-BLOCK-END */
  141. &ANALYZE-RESUME
  142. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  143. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  144. /* SETTINGS FOR WINDOW fFrameWin
  145. VISIBLE,,RUN-PERSISTENT */
  146. /* SETTINGS FOR FRAME fMain
  147. NOT-VISIBLE FRAME-NAME */
  148. ASSIGN
  149. FRAME fMain:HIDDEN = TRUE.
  150. /* SETTINGS FOR BUTTON Btn_Save IN FRAME fMain
  151. NO-ENABLE */
  152. /* SETTINGS FOR FILL-IN F_Fax IN FRAME fMain
  153. 6 */
  154. /* SETTINGS FOR FILL-IN F_Firma-1 IN FRAME fMain
  155. 6 */
  156. /* SETTINGS FOR FILL-IN F_PlzOrt IN FRAME fMain
  157. 6 */
  158. /* SETTINGS FOR FILL-IN F_Strasse IN FRAME fMain
  159. 6 */
  160. /* SETTINGS FOR FILL-IN F_Telefon IN FRAME fMain
  161. 6 */
  162. /* SETTINGS FOR FILL-IN F_Zusatz IN FRAME fMain
  163. 6 */
  164. /* _RUN-TIME-ATTRIBUTES-END */
  165. &ANALYZE-RESUME
  166. /* Setting information for Queries and Browse Widgets fields */
  167. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME fMain
  168. /* Query rebuild information for FRAME fMain
  169. _Options = ""
  170. _Query is NOT OPENED
  171. */ /* FRAME fMain */
  172. &ANALYZE-RESUME
  173. /* ************************ Control Triggers ************************ */
  174. &Scoped-define SELF-NAME Btn_Cancel
  175. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Cancel fFrameWin
  176. ON CHOOSE OF Btn_Cancel IN FRAME fMain /* Abbrechen */
  177. DO:
  178. RUN ENDE_MUTATION.
  179. APPLY 'ENTRY' TO F_Firma-1 IN FRAME {&FRAME-NAME}.
  180. RETURN NO-APPLY.
  181. END.
  182. /* _UIB-CODE-BLOCK-END */
  183. &ANALYZE-RESUME
  184. &Scoped-define SELF-NAME Btn_Save
  185. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Save fFrameWin
  186. ON CHOOSE OF Btn_Save IN FRAME fMain /* Speichern */
  187. DO:
  188. RUN SPEICHERN.
  189. APPLY 'ENTRY' TO F_Firma-1.
  190. RETURN NO-APPLY.
  191. END.
  192. /* _UIB-CODE-BLOCK-END */
  193. &ANALYZE-RESUME
  194. &UNDEFINE SELF-NAME
  195. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK fFrameWin
  196. /* *************************** Main Block *************************** */
  197. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  198. /* Now enable the interface if in test mode - otherwise this happens when
  199. the object is explicitly initialized from its container. */
  200. RUN initializeObject.
  201. &ENDIF
  202. SUBSCRIBE TO 'PUSHMAHNTEXT' ANYWHERE.
  203. ON 'VALUE-CHANGED' OF F_Firma-1
  204. OR 'VALUE-CHANGED' OF F_Zusatz
  205. OR 'VALUE-CHANGED' OF F_Strasse
  206. OR 'VALUE-CHANGED' OF F_PlzOrt
  207. OR 'VALUE-CHANGED' OF F_Telefon
  208. OR 'VALUE-CHANGED' OF F_Fax
  209. DO:
  210. RUN BEGIN_MUTATION.
  211. RETURN NO-APPLY.
  212. END.
  213. /* _UIB-CODE-BLOCK-END */
  214. &ANALYZE-RESUME
  215. /* ********************** Internal Procedures *********************** */
  216. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects fFrameWin _ADM-CREATE-OBJECTS
  217. PROCEDURE adm-create-objects :
  218. /*------------------------------------------------------------------------------
  219. Purpose: Create handles for all SmartObjects used in this procedure.
  220. After SmartObjects are initialized, then SmartLinks are added.
  221. Parameters: <none>
  222. ------------------------------------------------------------------------------*/
  223. END PROCEDURE.
  224. /* _UIB-CODE-BLOCK-END */
  225. &ANALYZE-RESUME
  226. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE BEGIN_MUTATION fFrameWin
  227. PROCEDURE BEGIN_MUTATION :
  228. /*------------------------------------------------------------------------------
  229. Purpose:
  230. Parameters: <none>
  231. Notes:
  232. ------------------------------------------------------------------------------*/
  233. DO WITH FRAME {&FRAME-NAME}:
  234. IF FMutFlag THEN RETURN.
  235. Btn_Save:SENSITIVE = TRUE.
  236. FMutFlag = TRUE.
  237. DYNAMIC-FUNCTION('setMutFlag':U, FMutFlag, Progname ) NO-ERROR.
  238. RUN DISABLE_COMBO IN hKontainer.
  239. END.
  240. END PROCEDURE.
  241. /* _UIB-CODE-BLOCK-END */
  242. &ANALYZE-RESUME
  243. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI fFrameWin _DEFAULT-DISABLE
  244. PROCEDURE disable_UI :
  245. /*------------------------------------------------------------------------------
  246. Purpose: DISABLE the User Interface
  247. Parameters: <none>
  248. Notes: Here we clean-up the user-interface by deleting
  249. dynamic widgets we have created and/or hide
  250. frames. This procedure is usually called when
  251. we are ready to "clean-up" after running.
  252. ------------------------------------------------------------------------------*/
  253. /* Hide all frames. */
  254. HIDE FRAME fMain.
  255. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  256. END PROCEDURE.
  257. /* _UIB-CODE-BLOCK-END */
  258. &ANALYZE-RESUME
  259. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI fFrameWin _DEFAULT-ENABLE
  260. PROCEDURE enable_UI :
  261. /*------------------------------------------------------------------------------
  262. Purpose: ENABLE the User Interface
  263. Parameters: <none>
  264. Notes: Here we display/view/enable the widgets in the
  265. user-interface. In addition, OPEN all queries
  266. associated with each FRAME and BROWSE.
  267. These statements here are based on the "Other
  268. Settings" section of the widget Property Sheets.
  269. ------------------------------------------------------------------------------*/
  270. DISPLAY F_Firma-1 F_Zusatz F_Strasse F_PlzOrt F_Telefon F_Fax
  271. WITH FRAME fMain.
  272. ENABLE RECT-1 F_Firma-1 F_Zusatz F_Strasse F_PlzOrt F_Telefon F_Fax
  273. Btn_Cancel
  274. WITH FRAME fMain.
  275. {&OPEN-BROWSERS-IN-QUERY-fMain}
  276. END PROCEDURE.
  277. /* _UIB-CODE-BLOCK-END */
  278. &ANALYZE-RESUME
  279. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE_MUTATION fFrameWin
  280. PROCEDURE ENDE_MUTATION :
  281. /*------------------------------------------------------------------------------
  282. Purpose:
  283. Parameters: <none>
  284. Notes:
  285. ------------------------------------------------------------------------------*/
  286. DO WITH FRAME {&FRAME-NAME}:
  287. Btn_Save:SENSITIVE = FALSE.
  288. FMutFlag = FALSE.
  289. DYNAMIC-FUNCTION('setMutFlag':U, FMutFlag, Progname ) NO-ERROR.
  290. RUN ENABLE_COMBO IN hKontainer NO-ERROR.
  291. END.
  292. END PROCEDURE.
  293. /* _UIB-CODE-BLOCK-END */
  294. &ANALYZE-RESUME
  295. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject fFrameWin
  296. PROCEDURE initializeObject :
  297. /*------------------------------------------------------------------------------
  298. Purpose: Super Override
  299. Parameters:
  300. Notes:
  301. ------------------------------------------------------------------------------*/
  302. EMPTY TEMP-TABLE tTabTexte.
  303. CREATE tTabTexte.
  304. hTabTexte = TEMP-TABLE tTabTexte:DEFAULT-BUFFER-HANDLE.
  305. RUN SUPER.
  306. hKontainer = DYNAMIC-FUNCTION('getContainerSource':U) NO-ERROR.
  307. hDaten = DYNAMIC-FUNCTION('getDataSource':U) NO-ERROR.
  308. Progname = DYNAMIC-FUNCTION('getProgname':U IN hKontainer ) NO-ERROR.
  309. END PROCEDURE.
  310. /* _UIB-CODE-BLOCK-END */
  311. &ANALYZE-RESUME
  312. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PUSHMAHNTEXT fFrameWin
  313. PROCEDURE PUSHMAHNTEXT :
  314. /*------------------------------------------------------------------------------
  315. Purpose:
  316. Parameters: <none>
  317. Notes:
  318. ------------------------------------------------------------------------------*/
  319. DEF INPUT PARAMETER ipDaten AS HANDLE NO-UNDO.
  320. DEF VAR ii AS INT NO-UNDO.
  321. EMPTY TEMP-TABLE tTabTexte.
  322. CREATE tTabTexte.
  323. hTabTexte = TEMP-TABLE tTabTexte:DEFAULT-BUFFER-HANDLE.
  324. IF VALID-HANDLE ( ipDaten ) THEN hTabTexte:BUFFER-COPY(ipDaten) NO-ERROR.
  325. ELSE tTabTexte.Inhalt = FILL(CHR(10), 10).
  326. ASSIGN cFirma = tTabTexte.Firma
  327. iSprcd = tTabTexte.Sprcd
  328. iStufe = INTEGER(SUBSTRING(tTabTexte.TextArt,05,02))
  329. iArt = INTEGER(SUBSTRING(tTabTexte.TextArt,07,02)).
  330. IF iArt <> 0 THEN RETURN.
  331. DO ii = 1 TO NUM-ENTRIES(tTabTexte.Inhalt, CHR(10)):
  332. CASE ii:
  333. WHEN 1 THEN F_Firma-1 = ENTRY(1, tTabTexte.Inhalt, CHR(10)).
  334. WHEN 2 THEN F_Zusatz = ENTRY(2, tTabTexte.Inhalt, CHR(10)).
  335. WHEN 3 THEN F_Strasse = ENTRY(3, tTabTexte.Inhalt, CHR(10)).
  336. WHEN 4 THEN F_PlzOrt = ENTRY(4, tTabTexte.Inhalt, CHR(10)).
  337. WHEN 5 THEN F_Telefon = ENTRY(5, tTabTexte.Inhalt, CHR(10)).
  338. WHEN 6 THEN F_Fax = ENTRY(6, tTabTexte.Inhalt, CHR(10)).
  339. END CASE.
  340. END.
  341. DO WITH FRAME {&FRAME-NAME}:
  342. DISPLAY {&List-6}.
  343. APPLY 'ENTRY' TO F_Firma-1.
  344. END.
  345. END PROCEDURE.
  346. /* _UIB-CODE-BLOCK-END */
  347. &ANALYZE-RESUME
  348. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SPEICHERN fFrameWin
  349. PROCEDURE SPEICHERN :
  350. /*------------------------------------------------------------------------------
  351. Purpose:
  352. Parameters: <none>
  353. Notes:
  354. ------------------------------------------------------------------------------*/
  355. DO WITH FRAME {&FRAME-NAME}:
  356. ASSIGN {&List-6}.
  357. EMPTY TEMP-TABLE tTabTexte.
  358. CREATE tTabTexte.
  359. ASSIGN tTabTexte.Firma = cFirma
  360. tTabTexte.Sprcd = iSprcd
  361. tTabTexte.TextArt = SUBSTITUTE('MAHN&1&2', STRING(iStufe,'99'), STRING(iArt,'99'))
  362. tTabTexte.Inhalt = F_Firma-1 + CHR(10)
  363. + F_Zusatz + CHR(10)
  364. + F_Strasse + CHR(10)
  365. + F_PlzOrt + CHR(10)
  366. + F_Telefon + CHR(10)
  367. + F_Fax + CHR(10).
  368. Btn_Save:SENSITIVE = FALSE.
  369. END.
  370. RUN UPDATE_TABTEXTE IN hDaten ( hTabTexte ).
  371. FMutFlag = FALSE.
  372. DYNAMIC-FUNCTION('setMutFlag':U, FMutFlag, Progname ) NO-ERROR.
  373. RUN ENABLE_COMBO IN hKontainer NO-ERROR.
  374. END PROCEDURE.
  375. /* _UIB-CODE-BLOCK-END */
  376. &ANALYZE-RESUME