v-selections.w 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. /* Connected Databases
  4. framework PROGRESS
  5. */
  6. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  7. {adecomm/appserv.i}
  8. /* Temp-Table and Buffer definitions */
  9. DEFINE TEMP-TABLE RowObject NO-UNDO
  10. {"administration/d-selections.i"}.
  11. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS vTableWin
  12. /*------------------------------------------------------------------------
  13. File:
  14. Description: from viewer.w - Template for SmartDataViewer objects
  15. Input Parameters:
  16. <none>
  17. Output Parameters:
  18. <none>
  19. ------------------------------------------------------------------------*/
  20. /* This .W file was created with the Progress AppBuilder. */
  21. /*----------------------------------------------------------------------*/
  22. /* Create an unnamed pool to store all the widgets created
  23. by this procedure. This is a good default which assures
  24. that this procedure's triggers and internal procedures
  25. will execute in this procedure's storage, and that proper
  26. cleanup will occur on deletion of the procedure. */
  27. CREATE WIDGET-POOL.
  28. /* *************************** Definitions ************************** */
  29. /* Komma-Trennzeichen */
  30. /* Keyfelder werden beim Mutieren nicht "Enabled" */
  31. &Scoped-define ERSTES_FELD CB_mandant
  32. &Scoped-define LETZTES_FELD anzeige
  33. &Scoped-define KEY_FELDER CB_Mandant,CB_Tabelle,CB_feld;CB_sprcd,Wert
  34. &Scoped-define NUR_LESEN mandant,sprcd,tabelle,feld
  35. { incl/viwdefinition.i }
  36. {src/adm2/widgetprto.i}
  37. /* _UIB-CODE-BLOCK-END */
  38. &ANALYZE-RESUME
  39. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  40. /* ******************** Preprocessor Definitions ******************** */
  41. &Scoped-define PROCEDURE-TYPE SmartDataViewer
  42. &Scoped-define DB-AWARE no
  43. &Scoped-define ADM-CONTAINER FRAME
  44. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Update-Source,TableIO-Target,GroupAssign-Source,GroupAssign-Target
  45. /* Include file with RowObject temp-table definition */
  46. &Scoped-define DATA-FIELD-DEFS "administration/d-selections.i"
  47. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  48. &Scoped-define FRAME-NAME F-Main
  49. /* Standard List Definitions */
  50. &Scoped-Define ENABLED-FIELDS RowObject.mandant RowObject.tabelle ~
  51. RowObject.feld RowObject.sprcd RowObject.wert RowObject.anzeige
  52. &Scoped-define ENABLED-TABLES RowObject
  53. &Scoped-define FIRST-ENABLED-TABLE RowObject
  54. &Scoped-Define ENABLED-OBJECTS RECT-5 CB_mandant CB_tabelle CB_feld ~
  55. CB_sprcd
  56. &Scoped-Define DISPLAYED-FIELDS RowObject.mandant RowObject.tabelle ~
  57. RowObject.feld RowObject.sprcd RowObject.wert RowObject.anzeige
  58. &Scoped-define DISPLAYED-TABLES RowObject
  59. &Scoped-define FIRST-DISPLAYED-TABLE RowObject
  60. &Scoped-Define DISPLAYED-OBJECTS CB_mandant CB_tabelle CB_feld CB_sprcd
  61. /* Custom List Definitions */
  62. /* ADM-ASSIGN-FIELDS,List-2,List-3,List-4,List-5,List-6 */
  63. /* _UIB-PREPROCESSOR-BLOCK-END */
  64. &ANALYZE-RESUME
  65. /* *********************** Control Definitions ********************** */
  66. /* Definitions of the field level widgets */
  67. DEFINE VARIABLE CB_feld AS CHARACTER FORMAT "X(256)":U
  68. LABEL "Feld"
  69. VIEW-AS COMBO-BOX INNER-LINES 5
  70. LIST-ITEMS "Item 1"
  71. DROP-DOWN-LIST
  72. SIZE 40 BY 1
  73. BGCOLOR 15 NO-UNDO.
  74. DEFINE VARIABLE CB_mandant AS CHARACTER FORMAT "X(256)":U
  75. LABEL "Mandant"
  76. VIEW-AS COMBO-BOX INNER-LINES 5
  77. LIST-ITEM-PAIRS "Item 1","Item 1"
  78. DROP-DOWN-LIST
  79. SIZE 40 BY 1
  80. BGCOLOR 15 NO-UNDO.
  81. DEFINE VARIABLE CB_sprcd AS CHARACTER FORMAT "X(256)":U
  82. LABEL "Sprache"
  83. VIEW-AS COMBO-BOX INNER-LINES 5
  84. LIST-ITEM-PAIRS "Item 1","Item 1"
  85. DROP-DOWN-LIST
  86. SIZE 40 BY 1
  87. BGCOLOR 15 NO-UNDO.
  88. DEFINE VARIABLE CB_tabelle AS CHARACTER FORMAT "X(256)":U
  89. LABEL "Tabelle"
  90. VIEW-AS COMBO-BOX INNER-LINES 5
  91. LIST-ITEMS "Item 1"
  92. DROP-DOWN-LIST
  93. SIZE 40 BY 1
  94. BGCOLOR 15 NO-UNDO.
  95. DEFINE RECTANGLE RECT-5
  96. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  97. SIZE 118 BY 7.62.
  98. /* ************************ Frame Definitions *********************** */
  99. DEFINE FRAME F-Main
  100. CB_mandant AT ROW 1.52 COL 15 COLON-ALIGNED WIDGET-ID 22
  101. RowObject.mandant AT ROW 2 COL 58 COLON-ALIGNED WIDGET-ID 6
  102. VIEW-AS FILL-IN NATIVE
  103. SIZE 4 BY 1
  104. BGCOLOR 15
  105. RowObject.tabelle AT ROW 2 COL 58 COLON-ALIGNED WIDGET-ID 8
  106. VIEW-AS FILL-IN NATIVE
  107. SIZE 4 BY 1
  108. BGCOLOR 15
  109. RowObject.feld AT ROW 2 COL 58 COLON-ALIGNED WIDGET-ID 4
  110. VIEW-AS FILL-IN NATIVE
  111. SIZE 4 BY 1
  112. BGCOLOR 15
  113. RowObject.sprcd AT ROW 2 COL 60 COLON-ALIGNED WIDGET-ID 24 FORMAT "999999"
  114. VIEW-AS FILL-IN NATIVE
  115. SIZE 4 BY 1
  116. BGCOLOR 15
  117. CB_tabelle AT ROW 2.52 COL 15 COLON-ALIGNED WIDGET-ID 20
  118. CB_feld AT ROW 3.52 COL 15 COLON-ALIGNED WIDGET-ID 18
  119. CB_sprcd AT ROW 4.52 COL 15 COLON-ALIGNED WIDGET-ID 28
  120. RowObject.wert AT ROW 6 COL 15 COLON-ALIGNED WIDGET-ID 10
  121. VIEW-AS FILL-IN NATIVE
  122. SIZE 40 BY 1
  123. BGCOLOR 15
  124. RowObject.anzeige AT ROW 7 COL 15 COLON-ALIGNED WIDGET-ID 2
  125. VIEW-AS FILL-IN NATIVE
  126. SIZE 40 BY 1
  127. BGCOLOR 15
  128. RECT-5 AT ROW 1.19 COL 1.8 WIDGET-ID 26
  129. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY USE-DICT-EXPS
  130. SIDE-LABELS NO-UNDERLINE THREE-D NO-AUTO-VALIDATE
  131. AT COL 1 ROW 1 SCROLLABLE WIDGET-ID 100.
  132. /* *********************** Procedure Settings ************************ */
  133. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  134. /* Settings for THIS-PROCEDURE
  135. Type: SmartDataViewer
  136. Data Source: "administration\d-selections.w"
  137. Allow: Basic,DB-Fields,Smart
  138. Container Links: Data-Target,Update-Source,TableIO-Target,GroupAssign-Source,GroupAssign-Target
  139. Frames: 1
  140. Add Fields to: Neither
  141. Other Settings: PERSISTENT-ONLY COMPILE APPSERVER
  142. Temp-Tables and Buffers:
  143. TABLE: RowObject D "?" NO-UNDO
  144. ADDITIONAL-FIELDS:
  145. {administration/d-selections.i}
  146. END-FIELDS.
  147. END-TABLES.
  148. */
  149. /* This procedure should always be RUN PERSISTENT. Report the error, */
  150. /* then cleanup and return. */
  151. IF NOT THIS-PROCEDURE:PERSISTENT THEN
  152. DO:
  153. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  154. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  155. RETURN.
  156. END.
  157. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  158. /* ************************* Create Window ************************** */
  159. &ANALYZE-SUSPEND _CREATE-WINDOW
  160. /* DESIGN Window definition (used by the UIB)
  161. CREATE WINDOW vTableWin ASSIGN
  162. HEIGHT = 8.1
  163. WIDTH = 120.
  164. /* END WINDOW DEFINITION */
  165. */
  166. &ANALYZE-RESUME
  167. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB vTableWin
  168. /* ************************* Included-Libraries *********************** */
  169. {src/adm2/viewer.i}
  170. /* _UIB-CODE-BLOCK-END */
  171. &ANALYZE-RESUME
  172. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  173. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  174. /* SETTINGS FOR WINDOW vTableWin
  175. VISIBLE,,RUN-PERSISTENT */
  176. /* SETTINGS FOR FRAME F-Main
  177. NOT-VISIBLE FRAME-NAME Size-to-Fit */
  178. ASSIGN
  179. FRAME F-Main:SCROLLABLE = FALSE
  180. FRAME F-Main:HIDDEN = TRUE.
  181. ASSIGN
  182. RowObject.feld:HIDDEN IN FRAME F-Main = TRUE.
  183. ASSIGN
  184. RowObject.mandant:HIDDEN IN FRAME F-Main = TRUE.
  185. /* SETTINGS FOR FILL-IN RowObject.sprcd IN FRAME F-Main
  186. EXP-FORMAT */
  187. ASSIGN
  188. RowObject.sprcd:HIDDEN IN FRAME F-Main = TRUE
  189. RowObject.sprcd:READ-ONLY IN FRAME F-Main = TRUE.
  190. ASSIGN
  191. RowObject.tabelle:HIDDEN IN FRAME F-Main = TRUE.
  192. /* _RUN-TIME-ATTRIBUTES-END */
  193. &ANALYZE-RESUME
  194. /* Setting information for Queries and Browse Widgets fields */
  195. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  196. /* Query rebuild information for FRAME F-Main
  197. _Options = "NO-LOCK"
  198. _Query is NOT OPENED
  199. */ /* FRAME F-Main */
  200. &ANALYZE-RESUME
  201. /* ************************ Control Triggers ************************ */
  202. &Scoped-define SELF-NAME CB_feld
  203. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_feld vTableWin
  204. ON VALUE-CHANGED OF CB_feld IN FRAME F-Main /* Feld */
  205. DO:
  206. IF fMut AND NOT FNeu THEN CB_feld:SCREEN-VALUE = rowObject.feld:SCREEN-VALUE.
  207. rowObject.feld:SCREEN-VALUE = SELF:SCREEN-VALUE.
  208. /* RUN SET_FELD IN hDaten ( SELF:SCREEN-VALUE).*/
  209. END.
  210. /* _UIB-CODE-BLOCK-END */
  211. &ANALYZE-RESUME
  212. &Scoped-define SELF-NAME CB_mandant
  213. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_mandant vTableWin
  214. ON VALUE-CHANGED OF CB_mandant IN FRAME F-Main /* Mandant */
  215. DO:
  216. IF fMut AND NOT FNeu THEN CB_mandant:SCREEN-VALUE = rowObject.mandant:SCREEN-VALUE.
  217. rowObject.mandant:SCREEN-VALUE = SELF:SCREEN-VALUE.
  218. RUN SET_MANDANT IN hDaten ( SELF:SCREEN-VALUE).
  219. END.
  220. /* _UIB-CODE-BLOCK-END */
  221. &ANALYZE-RESUME
  222. &Scoped-define SELF-NAME CB_sprcd
  223. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_sprcd vTableWin
  224. ON VALUE-CHANGED OF CB_sprcd IN FRAME F-Main /* Sprache */
  225. DO:
  226. IF fMut AND NOT FNeu THEN CB_sprcd:SCREEN-VALUE = rowObject.sprcd:SCREEN-VALUE.
  227. rowObject.sprcd:SCREEN-VALUE = SELF:SCREEN-VALUE.
  228. /* RUN SET_SPRCD IN hDaten ( SELF:SCREEN-VALUE).*/
  229. END.
  230. /* _UIB-CODE-BLOCK-END */
  231. &ANALYZE-RESUME
  232. &Scoped-define SELF-NAME CB_tabelle
  233. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_tabelle vTableWin
  234. ON VALUE-CHANGED OF CB_tabelle IN FRAME F-Main /* Tabelle */
  235. DO:
  236. IF fMut AND NOT FNeu THEN CB_Tabelle:SCREEN-VALUE = rowObject.tabelle:SCREEN-VALUE.
  237. rowObject.tabelle:SCREEN-VALUE = SELF:SCREEN-VALUE.
  238. /* RUN SET_tabelle IN hDaten ( SELF:SCREEN-VALUE).*/
  239. RUN COMBO_FELDER ( CB_Feld:HANDLE) NO-ERROR.
  240. END.
  241. /* _UIB-CODE-BLOCK-END */
  242. &ANALYZE-RESUME
  243. &UNDEFINE SELF-NAME
  244. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK vTableWin
  245. /* *************************** Main Block *************************** */
  246. { incl/viwmainblock.i }
  247. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  248. RUN initializeObject.
  249. &ENDIF
  250. /************************ INTERNAL PROCEDURES ********************/
  251. /* _UIB-CODE-BLOCK-END */
  252. &ANALYZE-RESUME
  253. /* ********************** Internal Procedures *********************** */
  254. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE addRecord vTableWin
  255. PROCEDURE addRecord :
  256. /*------------------------------------------------------------------------------
  257. Purpose: Super Override
  258. Parameters:
  259. Notes:
  260. ------------------------------------------------------------------------------*/
  261. FNeu = TRUE.
  262. FMut = TRUE.
  263. FDisp = TRUE.
  264. RUN SUPER.
  265. /* Code placed here will execute AFTER standard behavior. */
  266. END PROCEDURE.
  267. /* _UIB-CODE-BLOCK-END */
  268. &ANALYZE-RESUME
  269. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE cancelRecord vTableWin
  270. PROCEDURE cancelRecord :
  271. /*------------------------------------------------------------------------------
  272. Purpose: Super Override
  273. Parameters:
  274. Notes:
  275. ------------------------------------------------------------------------------*/
  276. FCancel = TRUE.
  277. RUN SUPER.
  278. /* Code placed here will execute AFTER standard behavior. */
  279. END PROCEDURE.
  280. /* _UIB-CODE-BLOCK-END */
  281. &ANALYZE-RESUME
  282. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE COMBO_FELDER vTableWin
  283. PROCEDURE COMBO_FELDER :
  284. /*------------------------------------------------------------------------------
  285. Purpose:
  286. Notes:
  287. ------------------------------------------------------------------------------*/
  288. DEFINE INPUT PARAMETER iphListItems AS HANDLE NO-UNDO.
  289. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  290. DEFINE VARIABLE cTabelle AS CHARACTER NO-UNDO.
  291. DEFINE VARIABLE cFehlwert AS CHARACTER NO-UNDO.
  292. cString = iphListItems:SCREEN-VALUE NO-ERROR.
  293. IF NOT ERROR-STATUS:ERROR AND
  294. cString <> '' THEN cFehlwert = cString.
  295. cString = ''.
  296. iphListItems:DELIMITER = ';'.
  297. cTabelle = CB_Tabelle:SCREEN-VALUE IN FRAME {&FRAME-NAME}.
  298. IF cTabelle <> 'Alle' THEN
  299. DO:
  300. FOR EACH AnaDat._File NO-LOCK
  301. WHERE AnaDat._File._File-name = cTabelle,
  302. EACH AnaDat._Field NO-LOCK OF _File:
  303. cString = cString
  304. + (IF cString = '' THEN '' ELSE ';')
  305. + _Field._Field-Name.
  306. END.
  307. END.
  308. ELSE
  309. DO:
  310. FOR EACH AnaDat._Field NO-LOCK,
  311. FIRST AnaDat._File OF _Field NO-LOCK:
  312. IF _File._File-Name BEGINS 'SYS' THEN NEXT.
  313. IF _File._File-Name BEGINS '_' THEN NEXT.
  314. IF LOOKUP(AnaDat._Field._Field-Name, cString, ';') > 0 THEN NEXT.
  315. cString = cString
  316. + (IF cString = '' THEN '' ELSE ';')
  317. + _Field._Field-Name.
  318. END.
  319. END.
  320. iphListItems:LIST-ITEMS = cString.
  321. iphListItems:SCREEN-VALUE = ENTRY(1, cString, ';').
  322. IF cFehlwert <> '' THEN iphListItems:SCREEN-VALUE = cFehlwert NO-ERROR.
  323. IF ERROR-STATUS:ERROR THEN iphListItems:SCREEN-VALUE = ENTRY(1, cString, ';') NO-ERROR.
  324. END PROCEDURE.
  325. /* _UIB-CODE-BLOCK-END */
  326. &ANALYZE-RESUME
  327. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE COMBO_TABELLEN vTableWin
  328. PROCEDURE COMBO_TABELLEN :
  329. /*------------------------------------------------------------------------------
  330. Purpose:
  331. Notes:
  332. ------------------------------------------------------------------------------*/
  333. DEFINE INPUT PARAMETER iphListItems AS HANDLE NO-UNDO.
  334. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  335. iphListItems:DELIMITER = ';'.
  336. FOR EACH AnaDat._File NO-LOCK
  337. WHERE NOT _File._File-name BEGINS 'SYS'
  338. AND NOT _File._File-Name BEGINS '_':
  339. cString = cString
  340. + (IF cString = '' THEN '' ELSE ';')
  341. + _File._File-Name.
  342. END.
  343. iphListItems:LIST-ITEMS = cString.
  344. END PROCEDURE.
  345. /* _UIB-CODE-BLOCK-END */
  346. &ANALYZE-RESUME
  347. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE copyRecord vTableWin
  348. PROCEDURE copyRecord :
  349. /*------------------------------------------------------------------------------
  350. Purpose: Super Override
  351. Parameters:
  352. Notes:
  353. ------------------------------------------------------------------------------*/
  354. FNeu = TRUE.
  355. FMut = TRUE.
  356. FCopy = TRUE.
  357. FDisp = TRUE.
  358. RUN SUPER.
  359. END PROCEDURE.
  360. /* _UIB-CODE-BLOCK-END */
  361. &ANALYZE-RESUME
  362. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE deleteRecord vTableWin
  363. PROCEDURE deleteRecord :
  364. /*------------------------------------------------------------------------------
  365. Purpose: Super Override
  366. Parameters:
  367. Notes:
  368. ------------------------------------------------------------------------------*/
  369. DEF VAR Ja AS LOG NO-UNDO.
  370. Ja = DYNAMIC-FUNCTION( 'ANTWORT_NEIN':U, INPUT 1000 ).
  371. IF NOT Ja THEN
  372. DO:
  373. RUN TOOLBAR IN hKontainer ( INPUT 'CANCEL':U ) NO-ERROR.
  374. RETURN NO-APPLY.
  375. END.
  376. /* REPEAT TRANSACTION: */
  377. /* RUN INAKTIVIEREN IN hDaten. */
  378. /* LEAVE. */
  379. /* END. */
  380. /* */
  381. RUN SUPER.
  382. /* Code placed here will execute AFTER standard behavior. */
  383. END PROCEDURE.
  384. /* _UIB-CODE-BLOCK-END */
  385. &ANALYZE-RESUME
  386. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disableFields vTableWin
  387. PROCEDURE disableFields :
  388. /*------------------------------------------------------------------------------
  389. Purpose: Super Override
  390. Parameters:
  391. Notes:
  392. ------------------------------------------------------------------------------*/
  393. DEFINE INPUT PARAMETER pcFieldType AS CHARACTER NO-UNDO.
  394. DO WITH FRAME {&FRAME-NAME}:
  395. END.
  396. RUN SUPER( INPUT pcFieldType).
  397. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  398. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT TRUE ).
  399. IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN
  400. DO:
  401. RUN FARBE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT 15 ).
  402. END.
  403. DO WITH FRAME {&FRAME-NAME}:
  404. END.
  405. END PROCEDURE.
  406. /* _UIB-CODE-BLOCK-END */
  407. &ANALYZE-RESUME
  408. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI vTableWin _DEFAULT-DISABLE
  409. PROCEDURE disable_UI :
  410. /*------------------------------------------------------------------------------
  411. Purpose: DISABLE the User Interface
  412. Parameters: <none>
  413. Notes: Here we clean-up the user-interface by deleting
  414. dynamic widgets we have created and/or hide
  415. frames. This procedure is usually called when
  416. we are ready to "clean-up" after running.
  417. ------------------------------------------------------------------------------*/
  418. /* Hide all frames. */
  419. HIDE FRAME F-Main.
  420. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  421. END PROCEDURE.
  422. /* _UIB-CODE-BLOCK-END */
  423. &ANALYZE-RESUME
  424. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE displayFields vTableWin
  425. PROCEDURE displayFields :
  426. /*------------------------------------------------------------------------------
  427. Purpose: Super Override
  428. Parameters:
  429. Notes:
  430. ------------------------------------------------------------------------------*/
  431. DEFINE INPUT PARAMETER pcColValues AS CHARACTER NO-UNDO.
  432. IF NOT FDisp THEN
  433. DO:
  434. FDisp = TRUE.
  435. RETURN.
  436. END.
  437. IF FCancel THEN pcColValues = OldColValues.
  438. IF NOT FNeu THEN OldColValues = pcColValues.
  439. OldColList = DYNAMIC-FUNCTION('getDisplayedFields':U).
  440. IF FNeu THEN RUN FEHLWERTE ( INPUT-OUTPUT pcColValues ).
  441. DO WITH FRAME {&FRAME-NAME}:
  442. END.
  443. RUN SUPER( INPUT pcColValues).
  444. FCancel = FALSE.
  445. DO WITH FRAME {&FRAME-NAME}:
  446. CB_Mandant:SCREEN-VALUE = rowObject.mandant:SCREEN-VALUE NO-ERROR.
  447. CB_Tabelle:SCREEN-VALUE = rowObject.Tabelle:SCREEN-VALUE NO-ERROR.
  448. APPLY 'VALUE-CHANGED' TO CB_Tabelle.
  449. CB_Feld :SCREEN-VALUE = rowObject.Feld :SCREEN-VALUE NO-ERROR.
  450. CB_Sprcd :SCREEN-VALUE = rowObject.Sprcd :SCREEN-VALUE NO-ERROR.
  451. END.
  452. END PROCEDURE.
  453. /* _UIB-CODE-BLOCK-END */
  454. &ANALYZE-RESUME
  455. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableFields vTableWin
  456. PROCEDURE enableFields :
  457. /*------------------------------------------------------------------------------
  458. Purpose: Super Override
  459. Parameters:
  460. Notes:
  461. ------------------------------------------------------------------------------*/
  462. /* Code placed here will execute PRIOR to standard behavior. */
  463. /*
  464. RUN SUPER.
  465. */
  466. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  467. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT FALSE ).
  468. IF NUM-ENTRIES('{&NUR_LESEN}', ',') > 0 THEN
  469. DO:
  470. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&NUR_LESEN}', INPUT TRUE ).
  471. END.
  472. IF FNeu THEN RETURN.
  473. IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN
  474. DO:
  475. RUN SCHUETZE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT TRUE ).
  476. END.
  477. END PROCEDURE.
  478. /* _UIB-CODE-BLOCK-END */
  479. &ANALYZE-RESUME
  480. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject vTableWin
  481. PROCEDURE enableObject :
  482. /*------------------------------------------------------------------------------
  483. Purpose: Super Override
  484. Parameters:
  485. Notes:
  486. ------------------------------------------------------------------------------*/
  487. DO WITH FRAME {&frame-name}:
  488. DO WITH FRAME {&FRAME-NAME}:
  489. RUN COMBO_MANDANT ( CB_Mandant:HANDLE ).
  490. RUN COMBO_TABELLEN ( CB_Tabelle:HANDLE ).
  491. CB_Tabelle:LIST-ITEMS = 'Alle;' + CB_Tabelle:LIST-ITEMS.
  492. CB_Tabelle:SCREEN-VALUE = ENTRY(1, CB_Tabelle:LIST-ITEMS, ';').
  493. RUN COMBO_FELDER ( CB_Feld :HANDLE ).
  494. RUN COMBO_SPRACHE ( CB_Sprcd :HANDLE ).
  495. END.
  496. END.
  497. RUN SUPER.
  498. { incl/viwenableobject.i }
  499. DO WITH FRAME {&FRAME-NAME}:
  500. RUN SET_MANDANT IN hDaten (CB_Mandant:SCREEN-VALUE).
  501. RUN SET_TABELLE IN hDaten (CB_TABELLE:SCREEN-VALUE).
  502. APPLY 'VALUE-CHANGED' TO CB_Tabelle.
  503. END.
  504. RUN SET_OPENFLAG IN hDaten ( TRUE ).
  505. END PROCEDURE.
  506. /* _UIB-CODE-BLOCK-END */
  507. &ANALYZE-RESUME
  508. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_FELD_TEST vTableWin
  509. PROCEDURE ENTRY_FELD_TEST :
  510. /*------------------------------------------------------------------------------
  511. Purpose:
  512. Parameters: <none>
  513. Notes:
  514. ------------------------------------------------------------------------------*/
  515. { incl/viwentryfeldtest.i }
  516. DO WITH FRAME {&FRAME-NAME}:
  517. CASE FeldName:
  518. END CASE.
  519. END.
  520. RETURN ''.
  521. END PROCEDURE.
  522. /* _UIB-CODE-BLOCK-END */
  523. &ANALYZE-RESUME
  524. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FEHLWERTE vTableWin
  525. PROCEDURE FEHLWERTE :
  526. /*------------------------------------------------------------------------------
  527. Purpose:
  528. Parameters: <none>
  529. Notes:
  530. ------------------------------------------------------------------------------*/
  531. DEF INPUT-OUTPUT PARAMETER pcColValues AS CHAR NO-UNDO.
  532. DEF VAR i1 AS INT NO-UNDO.
  533. IF FCancel THEN RETURN.
  534. IF NOT FCopy THEN
  535. DO WITH FRAME {&FRAME-NAME}:
  536. /* i1 = LOOKUP('Feld', oldColList, ',') + 1. */
  537. /* ENTRY(i1, pcColValues, CHR(1)) = 'Fehlwert' NO-ERROR. */
  538. END.
  539. IF FCopy THEN
  540. DO:
  541. END.
  542. END PROCEDURE.
  543. /* _UIB-CODE-BLOCK-END */
  544. &ANALYZE-RESUME
  545. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LEAVE_FELD_TEST vTableWin
  546. PROCEDURE LEAVE_FELD_TEST :
  547. /*------------------------------------------------------------------------------
  548. Purpose:
  549. Parameters: <none>
  550. Notes:
  551. ------------------------------------------------------------------------------*/
  552. { incl/viwleavefeldtest.i }
  553. DO WHILE FNeu WITH FRAME {&FRAME-NAME}:
  554. CASE FeldName:
  555. END CASE.
  556. LEAVE.
  557. END.
  558. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  559. CASE FeldName:
  560. END CASE.
  561. LEAVE.
  562. END.
  563. IF LOOKUP(FeldName, '{&LETZTES_FELD}', ',') > 0 THEN
  564. DO:
  565. DO WHILE TRUE:
  566. IF KEYFUNCTION(LKY) = 'TAB' THEN LEAVE.
  567. IF KEYFUNCTION(LKY) = 'RETURN' THEN LEAVE.
  568. IF KEYFUNCTION(LKY) = 'F9' THEN LEAVE.
  569. RETURN ''.
  570. END.
  571. APPLY 'ALT-S'.
  572. RETURN 'APPLY'.
  573. END.
  574. RETURN ''.
  575. END PROCEDURE.
  576. /* _UIB-CODE-BLOCK-END */
  577. &ANALYZE-RESUME
  578. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RETURN_FELD vTableWin
  579. PROCEDURE RETURN_FELD :
  580. /*------------------------------------------------------------------------------
  581. Purpose:
  582. Parameters: <none>
  583. Notes:
  584. ------------------------------------------------------------------------------*/
  585. { incl/viwreturnfeld.i }
  586. END PROCEDURE.
  587. /* _UIB-CODE-BLOCK-END */
  588. &ANALYZE-RESUME
  589. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TEST_EINGABEN vTableWin
  590. PROCEDURE TEST_EINGABEN :
  591. /*------------------------------------------------------------------------------
  592. Purpose:
  593. Parameters: <none>
  594. Notes:
  595. ------------------------------------------------------------------------------*/
  596. DEF OUTPUT PARAMETER opJa AS LOG NO-UNDO.
  597. DEF VAR eHandle AS HANDLE NO-UNDO.
  598. DEF VAR cString AS CHAR NO-UNDO.
  599. DEF VAR iNummer AS INT NO-UNDO.
  600. opJa = FALSE.
  601. eHandle = ?.
  602. IF NOT FMut THEN RETURN.
  603. AAA000:
  604. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  605. LEAVE.
  606. END.
  607. IF VALID-HANDLE(eHandle) THEN
  608. DO:
  609. APPLY 'ENTRY' TO eHandle.
  610. RETURN NO-APPLY.
  611. END.
  612. opJa = TRUE.
  613. END PROCEDURE.
  614. /* _UIB-CODE-BLOCK-END */
  615. &ANALYZE-RESUME
  616. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateMode vTableWin
  617. PROCEDURE updateMode :
  618. /*------------------------------------------------------------------------------
  619. Purpose: Super Override
  620. Parameters:
  621. Notes:
  622. ------------------------------------------------------------------------------*/
  623. DEFINE INPUT PARAMETER pcMode AS CHARACTER NO-UNDO.
  624. CASE pcMode:
  625. WHEN 'updateBegin' THEN
  626. DO:
  627. END.
  628. WHEN 'updateEnd' THEN
  629. DO:
  630. END.
  631. END.
  632. RUN SUPER( INPUT pcMode).
  633. CASE pcMode:
  634. WHEN 'updateBegin' THEN
  635. DO:
  636. FMut = TRUE.
  637. END.
  638. WHEN 'updateEnd' THEN
  639. DO:
  640. FNeu = FALSE.
  641. FMut = FALSE.
  642. FCopy = FALSE.
  643. END.
  644. END.
  645. END PROCEDURE.
  646. /* _UIB-CODE-BLOCK-END */
  647. &ANALYZE-RESUME
  648. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateRecord vTableWin
  649. PROCEDURE updateRecord :
  650. /*------------------------------------------------------------------------------
  651. Purpose: Super Override
  652. Parameters:
  653. Notes:
  654. ------------------------------------------------------------------------------*/
  655. DO WITH FRAME {&FRAME-NAME}:
  656. ASSIGN
  657. rowObject.mandant:SCREEN-VALUE = CB_mandant:SCREEN-VALUE
  658. rowObject.tabelle:SCREEN-VALUE = CB_tabelle:SCREEN-VALUE
  659. rowObject.feld :SCREEN-VALUE = CB_feld :SCREEN-VALUE
  660. rowObject.sprcd :SCREEN-VALUE = CB_sprcd :SCREEN-VALUE.
  661. IF FNeu THEN
  662. DO:
  663. DYNAMIC-FUNCTION('SETMODIFIEDFLAG':U, INPUT Fenster, INPUT TRUE).
  664. END.
  665. IF rowObject.tabelle:SCREEN-VALUE = 'Alle' THEN rowObject.tabelle:SCREEN-VALUE = ''.
  666. END.
  667. FNeu = FALSE.
  668. FCopy = FALSE.
  669. RUN SUPER.
  670. /* Code placed here will execute AFTER standard behavior. */
  671. END PROCEDURE.
  672. /* _UIB-CODE-BLOCK-END */
  673. &ANALYZE-RESUME