f-mahntexte-kopf.w 14 KB

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