v-anrede.w 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v9r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. /* Connected Databases
  4. anadat PROGRESS
  5. */
  6. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  7. /* Temp-Table and Buffer definitions */
  8. DEFINE TEMP-TABLE RowObject
  9. {"d-anrede.i"}.
  10. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS vTableWin
  11. /*------------------------------------------------------------------------
  12. File:
  13. Description: from viewer.w - Template for SmartDataViewer objects
  14. Input Parameters:
  15. <none>
  16. Output Parameters:
  17. <none>
  18. ------------------------------------------------------------------------*/
  19. /* This .W file was created with the Progress AppBuilder. */
  20. /*----------------------------------------------------------------------*/
  21. /* Create an unnamed pool to store all the widgets created
  22. by this procedure. This is a good default which assures
  23. that this procedure's triggers and internal procedures
  24. will execute in this procedure's storage, and that proper
  25. cleanup will occur on deletion of the procedure. */
  26. CREATE WIDGET-POOL.
  27. /* *************************** Definitions ************************** */
  28. /* Komma-Trennzeichen */
  29. /* Keyfelder werden beim Mutieren nicht "Enabled" */
  30. &Scoped-define ERSTES_FELD Anrcd
  31. &Scoped-define LETZTES_FELD Anr_Text_P
  32. &Scoped-define KEY_FELDER Anrcd
  33. &Scoped-define NUR_LESEN Sprcd
  34. { incl/viwdefinition.i }
  35. /* Parameters Definitions --- */
  36. /* Local Variable Definitions --- */
  37. {src/adm2/widgetprto.i}
  38. /* _UIB-CODE-BLOCK-END */
  39. &ANALYZE-RESUME
  40. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  41. /* ******************** Preprocessor Definitions ******************** */
  42. &Scoped-define PROCEDURE-TYPE SmartDataViewer
  43. &Scoped-define DB-AWARE no
  44. &Scoped-define ADM-CONTAINER FRAME
  45. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Update-Source,TableIO-Target,GroupAssign-Source,GroupAssign-Target
  46. /* Include file with RowObject temp-table definition */
  47. &Scoped-define DATA-FIELD-DEFS "d-anrede.i"
  48. /* Name of first Frame and/or Browse and/or first Query */
  49. &Scoped-define FRAME-NAME F-Main
  50. /* Standard List Definitions */
  51. &Scoped-Define ENABLED-FIELDS RowObject.Anrcd RowObject.Anr_Anzeige ~
  52. RowObject.Anr_Anrede RowObject.Anr_zhv RowObject.Anr_BK_G ~
  53. RowObject.Anr_Text_G RowObject.Anr_BK_P RowObject.Anr_Text_P
  54. &Scoped-define ENABLED-TABLES RowObject
  55. &Scoped-define FIRST-ENABLED-TABLE RowObject
  56. &Scoped-define DISPLAYED-TABLES RowObject
  57. &Scoped-define FIRST-DISPLAYED-TABLE RowObject
  58. &Scoped-Define ENABLED-OBJECTS RECT-1
  59. &Scoped-Define DISPLAYED-FIELDS RowObject.Anrcd RowObject.Anr_Anzeige ~
  60. RowObject.Anr_Anrede RowObject.Anr_zhv RowObject.Sprcd RowObject.Anr_BK_G ~
  61. RowObject.Anr_Text_G RowObject.Anr_BK_P RowObject.Anr_Text_P
  62. /* Custom List Definitions */
  63. /* ADM-ASSIGN-FIELDS,List-2,List-3,List-4,List-5,List-6 */
  64. /* _UIB-PREPROCESSOR-BLOCK-END */
  65. &ANALYZE-RESUME
  66. /* *********************** Control Definitions ********************** */
  67. /* Definitions of the field level widgets */
  68. DEFINE RECTANGLE RECT-1
  69. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  70. SIZE 80 BY 9.
  71. /* ************************ Frame Definitions *********************** */
  72. DEFINE FRAME F-Main
  73. RowObject.Anrcd AT ROW 1.52 COL 24 COLON-ALIGNED
  74. VIEW-AS FILL-IN NATIVE
  75. SIZE 4.8 BY 1
  76. BGCOLOR 15
  77. RowObject.Anr_Anzeige AT ROW 2.52 COL 24 COLON-ALIGNED
  78. VIEW-AS FILL-IN NATIVE
  79. SIZE 32 BY 1
  80. BGCOLOR 15
  81. RowObject.Anr_Anrede AT ROW 3.52 COL 24 COLON-ALIGNED
  82. VIEW-AS FILL-IN NATIVE
  83. SIZE 22 BY 1
  84. BGCOLOR 15
  85. RowObject.Anr_zhv AT ROW 4.52 COL 24 COLON-ALIGNED
  86. VIEW-AS FILL-IN NATIVE
  87. SIZE 22 BY 1
  88. BGCOLOR 15
  89. RowObject.Sprcd AT ROW 3 COL 67 COLON-ALIGNED
  90. VIEW-AS FILL-IN NATIVE
  91. SIZE 4.8 BY 1 NO-TAB-STOP
  92. RowObject.Anr_BK_G AT ROW 5.52 COL 24 COLON-ALIGNED
  93. VIEW-AS FILL-IN NATIVE
  94. SIZE 52 BY 1
  95. BGCOLOR 15
  96. RowObject.Anr_Text_G AT ROW 6.52 COL 24 COLON-ALIGNED
  97. VIEW-AS FILL-IN NATIVE
  98. SIZE 22 BY 1
  99. BGCOLOR 15
  100. RowObject.Anr_BK_P AT ROW 7.52 COL 24 COLON-ALIGNED
  101. VIEW-AS FILL-IN NATIVE
  102. SIZE 52 BY 1
  103. BGCOLOR 15
  104. RowObject.Anr_Text_P AT ROW 8.52 COL 24 COLON-ALIGNED
  105. VIEW-AS FILL-IN NATIVE
  106. SIZE 22 BY 1
  107. BGCOLOR 15
  108. RECT-1 AT ROW 1.24 COL 2
  109. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY USE-DICT-EXPS
  110. SIDE-LABELS NO-UNDERLINE THREE-D NO-AUTO-VALIDATE
  111. AT COL 1 ROW 1 SCROLLABLE .
  112. /* *********************** Procedure Settings ************************ */
  113. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  114. /* Settings for THIS-PROCEDURE
  115. Type: SmartDataViewer
  116. Data Source: "d-anrede.w"
  117. Allow: Basic,DB-Fields,Smart
  118. Container Links: Data-Target,Update-Source,TableIO-Target,GroupAssign-Source,GroupAssign-Target
  119. Frames: 1
  120. Add Fields to: Neither
  121. Other Settings: PERSISTENT-ONLY COMPILE
  122. Temp-Tables and Buffers:
  123. TABLE: RowObject D "?" ?
  124. ADDITIONAL-FIELDS:
  125. {d-anrede.i}
  126. END-FIELDS.
  127. END-TABLES.
  128. */
  129. /* This procedure should always be RUN PERSISTENT. Report the error, */
  130. /* then cleanup and return. */
  131. IF NOT THIS-PROCEDURE:PERSISTENT THEN
  132. DO:
  133. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  134. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  135. RETURN.
  136. END.
  137. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  138. /* ************************* Create Window ************************** */
  139. &ANALYZE-SUSPEND _CREATE-WINDOW
  140. /* DESIGN Window definition (used by the UIB)
  141. CREATE WINDOW vTableWin ASSIGN
  142. HEIGHT = 10
  143. WIDTH = 86.2.
  144. /* END WINDOW DEFINITION */
  145. */
  146. &ANALYZE-RESUME
  147. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB vTableWin
  148. /* ************************* Included-Libraries *********************** */
  149. {src/adm2/viewer.i}
  150. /* _UIB-CODE-BLOCK-END */
  151. &ANALYZE-RESUME
  152. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  153. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  154. /* SETTINGS FOR WINDOW vTableWin
  155. VISIBLE,,RUN-PERSISTENT */
  156. /* SETTINGS FOR FRAME F-Main
  157. NOT-VISIBLE Size-to-Fit Custom */
  158. ASSIGN
  159. FRAME F-Main:SCROLLABLE = FALSE
  160. FRAME F-Main:HIDDEN = TRUE.
  161. /* SETTINGS FOR FILL-IN RowObject.Sprcd IN FRAME F-Main
  162. NO-ENABLE */
  163. ASSIGN
  164. RowObject.Sprcd:HIDDEN IN FRAME F-Main = TRUE
  165. RowObject.Sprcd:READ-ONLY IN FRAME F-Main = TRUE.
  166. /* _RUN-TIME-ATTRIBUTES-END */
  167. &ANALYZE-RESUME
  168. /* Setting information for Queries and Browse Widgets fields */
  169. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  170. /* Query rebuild information for FRAME F-Main
  171. _Options = "NO-LOCK"
  172. _Query is NOT OPENED
  173. */ /* FRAME F-Main */
  174. &ANALYZE-RESUME
  175. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK vTableWin
  176. /* *************************** Main Block *************************** */
  177. SAktiv = DYNAMIC-FUNCTION('getSuperAktiv':U) NO-ERROR.
  178. /* Triggers ------------------------------------------------------ */
  179. ON 'RETURN':U OF FRAME {&FRAME-NAME} ANYWHERE
  180. DO:
  181. RUN RETURN_FELD ( INPUT SELF:HANDLE ).
  182. IF RETURN-VALUE = 'TAB' THEN
  183. DO:
  184. APPLY 'TAB' TO SELF.
  185. RETURN NO-APPLY.
  186. END.
  187. END.
  188. ON 'ENTRY':U OF FRAME {&FRAME-NAME} ANYWHERE
  189. DO:
  190. RUN ENTRY_FELD_TEST ( INPUT SELF:HANDLE ).
  191. IF RETURN-VALUE = 'ERROR' THEN
  192. DO:
  193. APPLY 'ENTRY' TO SELF.
  194. RETURN NO-APPLY.
  195. END.
  196. IF RETURN-VALUE = 'APPLY' THEN
  197. DO:
  198. RETURN NO-APPLY.
  199. END.
  200. END.
  201. ON 'LEAVE':U OF FRAME {&FRAME-NAME} ANYWHERE
  202. DO:
  203. RUN LEAVE_FELD_TEST ( INPUT SELF:HANDLE ).
  204. IF RETURN-VALUE = 'ERROR' THEN
  205. DO:
  206. APPLY 'ENTRY' TO SELF.
  207. RETURN NO-APPLY.
  208. END.
  209. IF RETURN-VALUE = 'APPLY' THEN
  210. DO:
  211. RETURN NO-APPLY.
  212. END.
  213. END.
  214. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  215. RUN initializeObject.
  216. &ENDIF
  217. /************************ INTERNAL PROCEDURES ********************/
  218. /* _UIB-CODE-BLOCK-END */
  219. &ANALYZE-RESUME
  220. /* ********************** Internal Procedures *********************** */
  221. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE addRecord vTableWin
  222. PROCEDURE addRecord :
  223. /*------------------------------------------------------------------------------
  224. Purpose: Super Override
  225. Parameters:
  226. Notes:
  227. ------------------------------------------------------------------------------*/
  228. FNeu = TRUE.
  229. FMut = TRUE.
  230. RUN SUPER.
  231. END PROCEDURE.
  232. /* _UIB-CODE-BLOCK-END */
  233. &ANALYZE-RESUME
  234. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE cancelRecord vTableWin
  235. PROCEDURE cancelRecord :
  236. /*------------------------------------------------------------------------------
  237. Purpose: Super Override
  238. Parameters:
  239. Notes:
  240. ------------------------------------------------------------------------------*/
  241. /* Code placed here will execute PRIOR to standard behavior. */
  242. RUN SUPER.
  243. /* Code placed here will execute AFTER standard behavior. */
  244. END PROCEDURE.
  245. /* _UIB-CODE-BLOCK-END */
  246. &ANALYZE-RESUME
  247. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE copyRecord vTableWin
  248. PROCEDURE copyRecord :
  249. /*------------------------------------------------------------------------------
  250. Purpose: Super Override
  251. Parameters:
  252. Notes:
  253. ------------------------------------------------------------------------------*/
  254. FNeu = TRUE.
  255. FMut = TRUE.
  256. FCopy = TRUE.
  257. RUN SUPER.
  258. END PROCEDURE.
  259. /* _UIB-CODE-BLOCK-END */
  260. &ANALYZE-RESUME
  261. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE deleteRecord vTableWin
  262. PROCEDURE deleteRecord :
  263. /*------------------------------------------------------------------------------
  264. Purpose: Super Override
  265. Parameters:
  266. Notes:
  267. ------------------------------------------------------------------------------*/
  268. DEF VAR Ja AS LOG NO-UNDO.
  269. Ja = DYNAMIC-FUNCTION( 'ANTWORT_JA':U, INPUT 1000 ).
  270. IF NOT Ja THEN
  271. DO:
  272. PUBLISH 'TOOLBAR' ( INPUT 'CANCEL':U ).
  273. RETURN NO-APPLY.
  274. END.
  275. RUN SUPER.
  276. /* Code placed here will execute AFTER standard behavior. */
  277. END PROCEDURE.
  278. /* _UIB-CODE-BLOCK-END */
  279. &ANALYZE-RESUME
  280. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disableFields vTableWin
  281. PROCEDURE disableFields :
  282. /*------------------------------------------------------------------------------
  283. Purpose: Super Override
  284. Parameters:
  285. Notes:
  286. ------------------------------------------------------------------------------*/
  287. DEFINE INPUT PARAMETER pcFieldType AS CHARACTER NO-UNDO.
  288. DO WITH FRAME {&FRAME-NAME}:
  289. END.
  290. RUN SUPER( INPUT pcFieldType).
  291. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  292. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT TRUE ).
  293. IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN
  294. DO:
  295. RUN FARBE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT 15 ).
  296. END.
  297. DO WITH FRAME {&FRAME-NAME}:
  298. END.
  299. END PROCEDURE.
  300. /* _UIB-CODE-BLOCK-END */
  301. &ANALYZE-RESUME
  302. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI vTableWin _DEFAULT-DISABLE
  303. PROCEDURE disable_UI :
  304. /*------------------------------------------------------------------------------
  305. Purpose: DISABLE the User Interface
  306. Parameters: <none>
  307. Notes: Here we clean-up the user-interface by deleting
  308. dynamic widgets we have created and/or hide
  309. frames. This procedure is usually called when
  310. we are ready to "clean-up" after running.
  311. ------------------------------------------------------------------------------*/
  312. /* Hide all frames. */
  313. HIDE FRAME F-Main.
  314. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  315. END PROCEDURE.
  316. /* _UIB-CODE-BLOCK-END */
  317. &ANALYZE-RESUME
  318. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE displayFields vTableWin
  319. PROCEDURE displayFields :
  320. /*------------------------------------------------------------------------------
  321. Purpose: Super Override
  322. Parameters:
  323. Notes:
  324. ------------------------------------------------------------------------------*/
  325. DEFINE INPUT PARAMETER pcColValues AS CHARACTER NO-UNDO.
  326. IF NOT FDisp THEN
  327. DO:
  328. FDisp = TRUE.
  329. RETURN.
  330. END.
  331. IF FCancel THEN pcColValues = OldColValues.
  332. IF NOT FNeu THEN OldColValues = pcColValues.
  333. OldColList = DYNAMIC-FUNCTION('getDisplayedFields':U).
  334. IF FNeu THEN RUN FEHLWERTE ( INPUT-OUTPUT pcColValues ).
  335. DO WITH FRAME {&FRAME-NAME}:
  336. END.
  337. RUN SUPER( INPUT pcColValues).
  338. DO WITH FRAME {&FRAME-NAME}:
  339. END.
  340. END PROCEDURE.
  341. /* _UIB-CODE-BLOCK-END */
  342. &ANALYZE-RESUME
  343. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableFields vTableWin
  344. PROCEDURE enableFields :
  345. /*------------------------------------------------------------------------------
  346. Purpose: Super Override
  347. Parameters:
  348. Notes:
  349. ------------------------------------------------------------------------------*/
  350. /* Code placed here will execute PRIOR to standard behavior. */
  351. /*
  352. RUN SUPER.
  353. */
  354. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  355. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT FALSE ).
  356. IF NUM-ENTRIES('{&NUR_LESEN}', ',') > 0 THEN
  357. DO:
  358. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&NUR_LESEN}', INPUT TRUE ).
  359. END.
  360. DO WITH FRAME {&FRAME-NAME}:
  361. END.
  362. IF FNeu THEN RETURN.
  363. IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN
  364. DO:
  365. RUN SCHUETZE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT TRUE ).
  366. END.
  367. END PROCEDURE.
  368. /* _UIB-CODE-BLOCK-END */
  369. &ANALYZE-RESUME
  370. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject vTableWin
  371. PROCEDURE enableObject :
  372. /*------------------------------------------------------------------------------
  373. Purpose: Super Override
  374. Parameters:
  375. Notes:
  376. ------------------------------------------------------------------------------*/
  377. RUN SUPER.
  378. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  379. IF SAktiv THEN
  380. DO:
  381. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT TRUE ).
  382. END.
  383. END PROCEDURE.
  384. /* _UIB-CODE-BLOCK-END */
  385. &ANALYZE-RESUME
  386. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_FELD_TEST vTableWin
  387. PROCEDURE ENTRY_FELD_TEST :
  388. /*------------------------------------------------------------------------------
  389. Purpose:
  390. Parameters: <none>
  391. Notes:
  392. ------------------------------------------------------------------------------*/
  393. DEF INPUT PARAMETER ipHandle AS HANDLE NO-UNDO.
  394. DEF VAR FeldName AS CHAR NO-UNDO.
  395. DEF VAR FeldInhalt AS CHAR NO-UNDO.
  396. FeldName = ''.
  397. FeldInhalt = ''.
  398. IF NOT VALID-HANDLE(ipHandle) THEN RETURN ''.
  399. IF ipHandle:TYPE = 'FRAME' THEN RETURN ''.
  400. IF ipHandle:TYPE = 'WINDOW' THEN RETURN ''.
  401. FeldName = ipHandle:NAME.
  402. IF ipHandle:TYPE = 'FILL-IN' OR
  403. ipHandle:TYPE = 'COMBO-BOX' OR
  404. ipHandle:TYPE = 'TOGGLE-BOX' THEN FeldInhalt = ipHandle:SCREEN-VALUE.
  405. RETURN ''.
  406. END PROCEDURE.
  407. /* _UIB-CODE-BLOCK-END */
  408. &ANALYZE-RESUME
  409. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FEHLWERTE vTableWin
  410. PROCEDURE FEHLWERTE :
  411. /*------------------------------------------------------------------------------
  412. Purpose:
  413. Parameters: <none>
  414. Notes:
  415. ------------------------------------------------------------------------------*/
  416. DEF INPUT-OUTPUT PARAMETER pcColValues AS CHAR NO-UNDO.
  417. DEF VAR i1 AS INT NO-UNDO.
  418. DEF VAR Sprcd AS INT NO-UNDO.
  419. Sprcd = DYNAMIC-FUNCTION('GETSPRCD':U) NO-ERROR.
  420. i1 = LOOKUP('Sprcd', oldColList, ',') + 1.
  421. ENTRY(i1, pcColValues, CHR(1)) = STRING(Sprcd) NO-ERROR.
  422. IF FCopy THEN
  423. DO:
  424. END.
  425. OldColValues = pcColValues.
  426. END PROCEDURE.
  427. /* _UIB-CODE-BLOCK-END */
  428. &ANALYZE-RESUME
  429. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LEAVE_FELD_TEST vTableWin
  430. PROCEDURE LEAVE_FELD_TEST :
  431. /*------------------------------------------------------------------------------
  432. Purpose:
  433. Parameters: <none>
  434. Notes:
  435. ------------------------------------------------------------------------------*/
  436. DEF INPUT PARAMETER ipHandle AS HANDLE NO-UNDO.
  437. DEF VAR FeldName AS CHAR NO-UNDO.
  438. DEF VAR FeldInhalt AS CHAR NO-UNDO.
  439. DEF VAR ix AS INT NO-UNDO.
  440. DEF VAR Sprcd AS INT NO-UNDO.
  441. DEF VAR Anrcd AS INT NO-UNDO.
  442. IF FMut = FALSE THEN RETURN ''.
  443. FeldName = ''.
  444. FeldInhalt = ''.
  445. IF NOT VALID-HANDLE(ipHandle) THEN RETURN ''.
  446. IF ipHandle:TYPE = 'FRAME' THEN RETURN ''.
  447. IF ipHandle:TYPE = 'WINDOW' THEN RETURN ''.
  448. FeldName = ipHandle:NAME.
  449. IF ipHandle:TYPE = 'FILL-IN' OR
  450. ipHandle:TYPE = 'COMBO-BOX' OR
  451. ipHandle:TYPE = 'TOGGLE-BOX' THEN FeldInhalt = ipHandle:SCREEN-VALUE.
  452. CASE FeldName:
  453. WHEN 'Anrcd' THEN
  454. DO:
  455. IF FNeu THEN
  456. DO WITH FRAME {&FRAME-NAME}:
  457. Anrcd = INTEGER(FeldInhalt).
  458. Sprcd = INTEGER(rowObject.Sprcd:SCREEN-VALUE).
  459. IF CAN-FIND ( Anrede USE-INDEX Anrede-k1
  460. WHERE Anrede.Sprcd = Sprcd
  461. AND Anrede.Anrcd = Anrcd
  462. NO-LOCK)
  463. THEN
  464. DO:
  465. RUN FEHLER ( INPUT 1013 ).
  466. RETURN 'ERROR'.
  467. END.
  468. IF Anrcd = 0 THEN
  469. DO:
  470. RUN FEHLER ( INPUT 1020 ).
  471. RETURN 'ERROR'.
  472. END.
  473. END.
  474. END.
  475. END CASE.
  476. IF LOOKUP(FeldName, '{&LETZTES_FELD}', ',') > 0 THEN
  477. DO:
  478. APPLY 'ALT-S'.
  479. RETURN 'APPLY'.
  480. END.
  481. RETURN ''.
  482. END PROCEDURE.
  483. /* _UIB-CODE-BLOCK-END */
  484. &ANALYZE-RESUME
  485. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RETURN_FELD vTableWin
  486. PROCEDURE RETURN_FELD :
  487. /*------------------------------------------------------------------------------
  488. Purpose:
  489. Parameters: <none>
  490. Notes:
  491. ------------------------------------------------------------------------------*/
  492. DEF INPUT PARAMETER ipHandle AS HANDLE NO-UNDO.
  493. DEF VAR FeldName AS CHAR NO-UNDO.
  494. IF FMut = FALSE THEN RETURN ''.
  495. IF NOT VALID-HANDLE(ipHandle) THEN RETURN ''.
  496. IF ipHandle:TYPE = 'FRAME' THEN RETURN ''.
  497. IF ipHandle:TYPE = 'WINDOW' THEN RETURN ''.
  498. FeldName = ipHandle:NAME.
  499. IF LOOKUP(FeldName, '{&ENABLED-FIELDS}', ' ') > 0 THEN
  500. DO:
  501. RETURN 'TAB'.
  502. END.
  503. FeldName = 'rowObject.' + FeldName.
  504. IF LOOKUP(FeldName, '{&ENABLED-FIELDS}', ' ') > 0 THEN
  505. DO:
  506. RETURN 'TAB'.
  507. END.
  508. RETURN ''.
  509. END PROCEDURE.
  510. /* _UIB-CODE-BLOCK-END */
  511. &ANALYZE-RESUME
  512. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateMode vTableWin
  513. PROCEDURE updateMode :
  514. /*------------------------------------------------------------------------------
  515. Purpose: Super Override
  516. Parameters:
  517. Notes:
  518. ------------------------------------------------------------------------------*/
  519. DEFINE INPUT PARAMETER pcMode AS CHARACTER NO-UNDO.
  520. CASE pcMode:
  521. WHEN 'updateBegin' THEN
  522. DO:
  523. END.
  524. WHEN 'updateEnd' THEN
  525. DO:
  526. END.
  527. END.
  528. RUN SUPER( INPUT pcMode).
  529. CASE pcMode:
  530. WHEN 'updateBegin' THEN
  531. DO:
  532. FMut = TRUE.
  533. END.
  534. WHEN 'updateEnd' THEN
  535. DO:
  536. FNeu = FALSE.
  537. FMut = FALSE.
  538. FCopy = FALSE.
  539. END.
  540. END.
  541. END PROCEDURE.
  542. /* _UIB-CODE-BLOCK-END */
  543. &ANALYZE-RESUME
  544. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateRecord vTableWin
  545. PROCEDURE updateRecord :
  546. /*------------------------------------------------------------------------------
  547. Purpose: Super Override
  548. Parameters:
  549. Notes:
  550. ------------------------------------------------------------------------------*/
  551. DO WITH FRAME {&FRAME-NAME}:
  552. DO WITH FRAME {&FRAME-NAME}:
  553. IF FNeu THEN
  554. DO:
  555. DYNAMIC-FUNCTION('SETMODIFIEDFLAG':U, INPUT Fenster, INPUT TRUE).
  556. END.
  557. END.
  558. END.
  559. RUN SUPER.
  560. /* Code placed here will execute AFTER standard behavior. */
  561. END PROCEDURE.
  562. /* _UIB-CODE-BLOCK-END */
  563. &ANALYZE-RESUME