v-viewer_ze.w 38 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153
  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. {"d-viewer_ze.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 feld
  32. &Scoped-define LETZTES_FELD addFieldKeyValues
  33. &Scoped-define KEY_FELDER tabelle,feld
  34. &Scoped-define NUR_LESEN mandant,benutzer,programm
  35. { incl/viwdefinition.i }
  36. DEFINE TEMP-TABLE tviewer_ze LIKE viewer_ze.
  37. DEFINE VARIABLE htviewer AS HANDLE NO-UNDO.
  38. htviewer = TEMP-TABLE tviewer_ze:DEFAULT-BUFFER-HANDLE.
  39. {src/adm2/widgetprto.i}
  40. /* _UIB-CODE-BLOCK-END */
  41. &ANALYZE-RESUME
  42. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  43. /* ******************** Preprocessor Definitions ******************** */
  44. &Scoped-define PROCEDURE-TYPE SmartDataViewer
  45. &Scoped-define DB-AWARE no
  46. &Scoped-define ADM-CONTAINER FRAME
  47. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Update-Source,TableIO-Target,GroupAssign-Source,GroupAssign-Target
  48. /* Include file with RowObject temp-table definition */
  49. &Scoped-define DATA-FIELD-DEFS "d-viewer_ze.i"
  50. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  51. &Scoped-define FRAME-NAME F-Main
  52. /* Standard List Definitions */
  53. &Scoped-Define ENABLED-FIELDS RowObject.feld RowObject.feldformat ~
  54. RowObject.prior RowObject.numdecimals RowObject.feldtype ~
  55. RowObject.textalign RowObject.lHidden RowObject.lReadonly ~
  56. RowObject.selecttabelle RowObject.selecttexte RowObject.selectwerte ~
  57. RowObject.attributes RowObject.styles RowObject.privatedata ~
  58. RowObject.addFieldTabelle RowObject.addFieldKeyFields ~
  59. RowObject.addFieldKeyValues
  60. &Scoped-define ENABLED-TABLES RowObject
  61. &Scoped-define FIRST-ENABLED-TABLE RowObject
  62. &Scoped-Define ENABLED-OBJECTS T_Fremdfeld CB_Tabellen CB_Felder RECT-1
  63. &Scoped-Define DISPLAYED-FIELDS RowObject.feld RowObject.feldformat ~
  64. RowObject.prior RowObject.tabelle RowObject.numdecimals RowObject.feldtype ~
  65. RowObject.textalign RowObject.benutzer RowObject.lHidden ~
  66. RowObject.lReadonly RowObject.selecttabelle RowObject.program ~
  67. RowObject.mandant RowObject.selecttexte RowObject.selectwerte ~
  68. RowObject.attributes RowObject.styles RowObject.privatedata ~
  69. RowObject.addFieldTabelle RowObject.addFieldKeyFields ~
  70. RowObject.addFieldKeyValues RowObject.addFieldField
  71. &Scoped-define DISPLAYED-TABLES RowObject
  72. &Scoped-define FIRST-DISPLAYED-TABLE RowObject
  73. &Scoped-Define DISPLAYED-OBJECTS T_Fremdfeld CB_Tabellen CB_Felder
  74. /* Custom List Definitions */
  75. /* ADM-ASSIGN-FIELDS,List-2,List-3,List-4,List-5,List-6 */
  76. /* _UIB-PREPROCESSOR-BLOCK-END */
  77. &ANALYZE-RESUME
  78. /* *********************** Control Definitions ********************** */
  79. /* Definitions of the field level widgets */
  80. DEFINE VARIABLE CB_Felder AS CHARACTER FORMAT "X(256)":U
  81. LABEL "Feld"
  82. VIEW-AS COMBO-BOX INNER-LINES 5
  83. LIST-ITEMS "Item 1"
  84. DROP-DOWN-LIST
  85. SIZE 40 BY 1
  86. BGCOLOR 15 NO-UNDO.
  87. DEFINE VARIABLE CB_Tabellen AS CHARACTER FORMAT "X(256)":U
  88. LABEL "Tabellen"
  89. VIEW-AS COMBO-BOX INNER-LINES 5
  90. LIST-ITEMS "Item 1"
  91. DROP-DOWN-LIST
  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 136 BY 16.71.
  97. DEFINE VARIABLE T_Fremdfeld AS LOGICAL INITIAL no
  98. LABEL "Fremdfeld"
  99. VIEW-AS TOGGLE-BOX
  100. SIZE 40 BY 1
  101. BGCOLOR 15 NO-UNDO.
  102. /* ************************ Frame Definitions *********************** */
  103. DEFINE FRAME F-Main
  104. RowObject.feld AT ROW 2.52 COL 15 COLON-ALIGNED WIDGET-ID 4
  105. VIEW-AS FILL-IN NATIVE
  106. SIZE 22 BY 1
  107. BGCOLOR 15
  108. RowObject.feldformat AT ROW 2.52 COL 53 COLON-ALIGNED WIDGET-ID 16
  109. VIEW-AS FILL-IN NATIVE
  110. SIZE 22 BY 1
  111. BGCOLOR 15
  112. RowObject.prior AT ROW 3.52 COL 15 COLON-ALIGNED WIDGET-ID 10
  113. VIEW-AS FILL-IN NATIVE
  114. SIZE 8 BY 1
  115. BGCOLOR 15
  116. RowObject.tabelle AT ROW 2 COL 58 COLON-ALIGNED WIDGET-ID 14
  117. VIEW-AS FILL-IN NATIVE
  118. SIZE 4 BY 1
  119. BGCOLOR 15 NO-TAB-STOP
  120. RowObject.numdecimals AT ROW 3.52 COL 53 COLON-ALIGNED WIDGET-ID 22
  121. VIEW-AS FILL-IN NATIVE
  122. SIZE 4.8 BY 1
  123. BGCOLOR 15
  124. RowObject.feldtype AT ROW 4.52 COL 15 COLON-ALIGNED WIDGET-ID 6
  125. VIEW-AS FILL-IN NATIVE
  126. SIZE 17.6 BY 1
  127. BGCOLOR 15
  128. RowObject.textalign AT ROW 4.52 COL 53 COLON-ALIGNED WIDGET-ID 50
  129. VIEW-AS COMBO-BOX
  130. LIST-ITEMS "left","right","center"
  131. DROP-DOWN-LIST
  132. SIZE 40 BY 1
  133. BGCOLOR 15
  134. RowObject.benutzer AT ROW 2 COL 58 COLON-ALIGNED WIDGET-ID 2
  135. VIEW-AS FILL-IN NATIVE
  136. SIZE 4 BY 1
  137. BGCOLOR 15 NO-TAB-STOP
  138. RowObject.lHidden AT ROW 2.52 COL 86 WIDGET-ID 26
  139. LABEL "lHidden"
  140. VIEW-AS TOGGLE-BOX
  141. SIZE 20 BY 1
  142. BGCOLOR 15
  143. RowObject.lReadonly AT ROW 3.52 COL 86 WIDGET-ID 28
  144. LABEL "lReadonly"
  145. VIEW-AS TOGGLE-BOX
  146. SIZE 20 BY 1
  147. BGCOLOR 15
  148. RowObject.selecttabelle AT ROW 6 COL 15 COLON-ALIGNED WIDGET-ID 44
  149. VIEW-AS FILL-IN NATIVE
  150. SIZE 40 BY 1
  151. BGCOLOR 15
  152. RowObject.program AT ROW 2 COL 58 COLON-ALIGNED WIDGET-ID 12
  153. VIEW-AS FILL-IN NATIVE
  154. SIZE 4 BY 1
  155. BGCOLOR 15 NO-TAB-STOP
  156. RowObject.mandant AT ROW 2 COL 58 COLON-ALIGNED WIDGET-ID 8
  157. VIEW-AS FILL-IN NATIVE
  158. SIZE 4 BY 1
  159. BGCOLOR 15 NO-TAB-STOP
  160. RowObject.selecttexte AT ROW 7 COL 15 COLON-ALIGNED WIDGET-ID 46 FORMAT "x(500)"
  161. VIEW-AS FILL-IN NATIVE
  162. SIZE 100 BY 1
  163. BGCOLOR 15
  164. RowObject.selectwerte AT ROW 8 COL 15 COLON-ALIGNED WIDGET-ID 48 FORMAT "x(500)"
  165. VIEW-AS FILL-IN NATIVE
  166. SIZE 100 BY 1
  167. BGCOLOR 15
  168. RowObject.attributes AT ROW 9 COL 15 COLON-ALIGNED WIDGET-ID 36 FORMAT "x(500)"
  169. VIEW-AS FILL-IN NATIVE
  170. SIZE 120 BY 1
  171. BGCOLOR 15
  172. RowObject.styles AT ROW 10 COL 15 COLON-ALIGNED WIDGET-ID 40 FORMAT "x(500)"
  173. VIEW-AS FILL-IN NATIVE
  174. SIZE 120 BY 1
  175. BGCOLOR 15
  176. RowObject.privatedata AT ROW 11 COL 15 COLON-ALIGNED WIDGET-ID 38 FORMAT "x(500)"
  177. VIEW-AS FILL-IN NATIVE
  178. SIZE 120 BY 1
  179. BGCOLOR 15
  180. T_Fremdfeld AT ROW 12.52 COL 17 WIDGET-ID 62
  181. CB_Tabellen AT ROW 13.52 COL 15 COLON-ALIGNED WIDGET-ID 64
  182. CB_Felder AT ROW 14.52 COL 15 COLON-ALIGNED WIDGET-ID 66
  183. RowObject.addFieldTabelle AT ROW 13 COL 78 COLON-ALIGNED WIDGET-ID 58
  184. LABEL "Tabelle"
  185. VIEW-AS FILL-IN NATIVE
  186. SIZE 4 BY 1
  187. BGCOLOR 15
  188. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY USE-DICT-EXPS
  189. SIDE-LABELS NO-UNDERLINE THREE-D NO-AUTO-VALIDATE
  190. AT COL 1 ROW 1 SCROLLABLE WIDGET-ID 100.
  191. /* DEFINE FRAME statement is approaching 4K Bytes. Breaking it up */
  192. DEFINE FRAME F-Main
  193. RowObject.addFieldKeyFields AT ROW 15.52 COL 15 COLON-ALIGNED WIDGET-ID 54
  194. LABEL "KeyFields"
  195. VIEW-AS FILL-IN NATIVE
  196. SIZE 62 BY 1
  197. BGCOLOR 15
  198. RowObject.addFieldKeyValues AT ROW 16.52 COL 15 COLON-ALIGNED WIDGET-ID 56
  199. LABEL "KeyValues"
  200. VIEW-AS FILL-IN NATIVE
  201. SIZE 62 BY 1
  202. BGCOLOR 15
  203. RowObject.addFieldField AT ROW 13 COL 78 COLON-ALIGNED WIDGET-ID 52
  204. LABEL "Field"
  205. VIEW-AS FILL-IN NATIVE
  206. SIZE 4 BY 1
  207. BGCOLOR 15 NO-TAB-STOP
  208. RECT-1 AT ROW 1.24 COL 2 WIDGET-ID 42
  209. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY USE-DICT-EXPS
  210. SIDE-LABELS NO-UNDERLINE THREE-D NO-AUTO-VALIDATE
  211. AT COL 1 ROW 1 SCROLLABLE WIDGET-ID 100.
  212. /* *********************** Procedure Settings ************************ */
  213. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  214. /* Settings for THIS-PROCEDURE
  215. Type: SmartDataViewer
  216. Data Source: "d-viewer_ze.w"
  217. Allow: Basic,DB-Fields,Smart
  218. Container Links: Data-Target,Update-Source,TableIO-Target,GroupAssign-Source,GroupAssign-Target
  219. Frames: 1
  220. Add Fields to: Neither
  221. Other Settings: PERSISTENT-ONLY COMPILE APPSERVER
  222. Temp-Tables and Buffers:
  223. TABLE: RowObject D "?" NO-UNDO
  224. ADDITIONAL-FIELDS:
  225. {d-viewer_ze.i}
  226. END-FIELDS.
  227. END-TABLES.
  228. */
  229. /* This procedure should always be RUN PERSISTENT. Report the error, */
  230. /* then cleanup and return. */
  231. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  232. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  233. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  234. RETURN.
  235. END.
  236. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  237. /* ************************* Create Window ************************** */
  238. &ANALYZE-SUSPEND _CREATE-WINDOW
  239. /* DESIGN Window definition (used by the UIB)
  240. CREATE WINDOW vTableWin ASSIGN
  241. HEIGHT = 17.76
  242. WIDTH = 138.
  243. /* END WINDOW DEFINITION */
  244. */
  245. &ANALYZE-RESUME
  246. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB vTableWin
  247. /* ************************* Included-Libraries *********************** */
  248. {src/adm2/viewer.i}
  249. /* _UIB-CODE-BLOCK-END */
  250. &ANALYZE-RESUME
  251. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  252. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  253. /* SETTINGS FOR WINDOW vTableWin
  254. VISIBLE,,RUN-PERSISTENT */
  255. /* SETTINGS FOR FRAME F-Main
  256. NOT-VISIBLE FRAME-NAME Size-to-Fit Custom */
  257. ASSIGN
  258. FRAME F-Main:SCROLLABLE = FALSE
  259. FRAME F-Main:HIDDEN = TRUE.
  260. /* SETTINGS FOR FILL-IN RowObject.addFieldField IN FRAME F-Main
  261. NO-ENABLE EXP-LABEL */
  262. ASSIGN
  263. RowObject.addFieldField:HIDDEN IN FRAME F-Main = TRUE.
  264. /* SETTINGS FOR FILL-IN RowObject.addFieldKeyFields IN FRAME F-Main
  265. EXP-LABEL */
  266. /* SETTINGS FOR FILL-IN RowObject.addFieldKeyValues IN FRAME F-Main
  267. EXP-LABEL */
  268. /* SETTINGS FOR FILL-IN RowObject.addFieldTabelle IN FRAME F-Main
  269. EXP-LABEL */
  270. ASSIGN
  271. RowObject.addFieldTabelle:HIDDEN IN FRAME F-Main = TRUE.
  272. /* SETTINGS FOR FILL-IN RowObject.attributes IN FRAME F-Main
  273. EXP-FORMAT */
  274. /* SETTINGS FOR FILL-IN RowObject.benutzer IN FRAME F-Main
  275. NO-ENABLE */
  276. ASSIGN
  277. RowObject.benutzer:HIDDEN IN FRAME F-Main = TRUE
  278. RowObject.benutzer:READ-ONLY IN FRAME F-Main = TRUE.
  279. /* SETTINGS FOR TOGGLE-BOX RowObject.lHidden IN FRAME F-Main
  280. EXP-LABEL */
  281. /* SETTINGS FOR TOGGLE-BOX RowObject.lReadonly IN FRAME F-Main
  282. EXP-LABEL */
  283. /* SETTINGS FOR FILL-IN RowObject.mandant IN FRAME F-Main
  284. NO-ENABLE */
  285. ASSIGN
  286. RowObject.mandant:HIDDEN IN FRAME F-Main = TRUE
  287. RowObject.mandant:READ-ONLY IN FRAME F-Main = TRUE.
  288. /* SETTINGS FOR FILL-IN RowObject.privatedata IN FRAME F-Main
  289. EXP-FORMAT */
  290. /* SETTINGS FOR FILL-IN RowObject.program IN FRAME F-Main
  291. NO-ENABLE */
  292. ASSIGN
  293. RowObject.program:HIDDEN IN FRAME F-Main = TRUE
  294. RowObject.program:READ-ONLY IN FRAME F-Main = TRUE.
  295. /* SETTINGS FOR FILL-IN RowObject.selecttexte IN FRAME F-Main
  296. EXP-FORMAT */
  297. /* SETTINGS FOR FILL-IN RowObject.selectwerte IN FRAME F-Main
  298. EXP-FORMAT */
  299. /* SETTINGS FOR FILL-IN RowObject.styles IN FRAME F-Main
  300. EXP-FORMAT */
  301. /* SETTINGS FOR FILL-IN RowObject.tabelle IN FRAME F-Main
  302. NO-ENABLE */
  303. ASSIGN
  304. RowObject.tabelle:HIDDEN IN FRAME F-Main = TRUE
  305. RowObject.tabelle:READ-ONLY IN FRAME F-Main = TRUE.
  306. /* _RUN-TIME-ATTRIBUTES-END */
  307. &ANALYZE-RESUME
  308. /* Setting information for Queries and Browse Widgets fields */
  309. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  310. /* Query rebuild information for FRAME F-Main
  311. _Options = "NO-LOCK"
  312. _Query is NOT OPENED
  313. */ /* FRAME F-Main */
  314. &ANALYZE-RESUME
  315. /* ************************ Control Triggers ************************ */
  316. &Scoped-define SELF-NAME F-Main
  317. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F-Main vTableWin
  318. ON ENTRY OF FRAME F-Main
  319. DO:
  320. /* IF VALID-HANDLE(hKontainer) THEN */
  321. /* RUN SET_TABLEIO IN hKontainer ( 'Viewerzeile' ) NO-ERROR.*/
  322. END.
  323. /* _UIB-CODE-BLOCK-END */
  324. &ANALYZE-RESUME
  325. &Scoped-define SELF-NAME CB_Felder
  326. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Felder vTableWin
  327. ON LEFT-MOUSE-CLICK OF CB_Felder IN FRAME F-Main /* Feld */
  328. DO:
  329. IF VALID-HANDLE(hKontainer) THEN RUN SET_TABLEIO IN hKontainer ( 'Viewerzeile' ) NO-ERROR.
  330. END.
  331. /* _UIB-CODE-BLOCK-END */
  332. &ANALYZE-RESUME
  333. &Scoped-define SELF-NAME CB_Tabellen
  334. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Tabellen vTableWin
  335. ON VALUE-CHANGED OF CB_Tabellen IN FRAME F-Main /* Tabellen */
  336. DO:
  337. RUN COMBO_FELDER (SELF:SCREEN-VALUE).
  338. END.
  339. /* _UIB-CODE-BLOCK-END */
  340. &ANALYZE-RESUME
  341. &Scoped-define SELF-NAME RowObject.lHidden
  342. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL RowObject.lHidden vTableWin
  343. ON VALUE-CHANGED OF RowObject.lHidden IN FRAME F-Main /* lHidden */
  344. DO:
  345. IF NOT FMut THEN SELF:SCREEN-VALUE = (IF SELF:SCREEN-VALUE BEGINS 'n' THEN STRING(TRUE) ELSE STRING(FALSE)).
  346. END.
  347. /* _UIB-CODE-BLOCK-END */
  348. &ANALYZE-RESUME
  349. &Scoped-define SELF-NAME RowObject.lReadonly
  350. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL RowObject.lReadonly vTableWin
  351. ON VALUE-CHANGED OF RowObject.lReadonly IN FRAME F-Main /* lReadonly */
  352. DO:
  353. IF NOT FMut THEN SELF:SCREEN-VALUE = (IF SELF:SCREEN-VALUE BEGINS 'n' THEN STRING(TRUE) ELSE STRING(FALSE)).
  354. END.
  355. /* _UIB-CODE-BLOCK-END */
  356. &ANALYZE-RESUME
  357. &Scoped-define SELF-NAME T_Fremdfeld
  358. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Fremdfeld vTableWin
  359. ON VALUE-CHANGED OF T_Fremdfeld IN FRAME F-Main /* Fremdfeld */
  360. DO:
  361. DEFINE VARIABLE ii AS INTEGER NO-UNDO.
  362. DEFINE VARIABLE cFeld AS CHARACTER NO-UNDO.
  363. DEFINE VARIABLE cInhalt AS CHARACTER NO-UNDO.
  364. IF SELF:SCREEN-VALUE BEGINS 'n' THEN
  365. DO:
  366. ASSIGN
  367. rowObject.addFieldTabelle:SCREEN-VALUE = ''
  368. rowObject.addFieldField:SCREEN-VALUE = ''
  369. rowObject.addFieldKeyFields:SCREEN-VALUE = ''
  370. rowObject.addFieldKeyValues:SCREEN-VALUE = ''
  371. .
  372. END.
  373. ELSE
  374. DO:
  375. FIND AnaDat._File WHERE anaDat._File._File-Name = CB_Tabellen:SCREEN-VALUE.
  376. FIND FIRST AnaDat._Index WHERE RECID(_Index) = _File._Prime-Index NO-LOCK.
  377. rowObject.addFieldKeyField:SCREEN-VALUE = ''.
  378. FOR EACH AnaDat._Index-Field
  379. WHERE _Index-Field._Index-Recid = RECID(_Index):
  380. FIND AnaDat._Field WHERE RECID(_Field) = _Index-Field._Field-Recid.
  381. rowObject.addFieldKeyFields:SCREEN-VALUE = rowObject.addFieldKeyFields:SCREEN-VALUE
  382. + (IF rowObject.addFieldKeyFields:SCREEN-VALUE = '' THEN '' ELSE ';')
  383. + _Field._Field-Name.
  384. END.
  385. cInhalt = rowObject.addFieldKeyFields:SCREEN-VALUE.
  386. DO ii = 1 TO NUM-ENTRIES(cInhalt, ';'):
  387. cFeld = ENTRY(ii, cInhalt, ';').
  388. CASE cFeld:
  389. WHEN 'Firma' THEN
  390. DO:
  391. rowObject.addFieldKeyValue:SCREEN-VALUE = rowObject.addFieldKeyValues:SCREEN-VALUE
  392. + (IF rowObject.addFieldKeyValues:SCREEN-VALUE = '' THEN '' ELSE ';')
  393. + '@mandant'.
  394. END.
  395. WHEN 'mandant' THEN
  396. DO:
  397. rowObject.addFieldKeyValues:SCREEN-VALUE = rowObject.addFieldKeyValues:SCREEN-VALUE
  398. + (IF rowObject.addFieldKeyValues:SCREEN-VALUE = '' THEN '' ELSE ';')
  399. + '@mandant'.
  400. END.
  401. WHEN 'sprcd' THEN
  402. DO:
  403. rowObject.addFieldKeyValues:SCREEN-VALUE = rowObject.addFieldKeyValues:SCREEN-VALUE
  404. + (IF rowObject.addFieldKeyValues:SCREEN-VALUE = '' THEN '' ELSE ';')
  405. + '@sprcd'.
  406. END.
  407. OTHERWISE
  408. DO:
  409. rowObject.addFieldKeyValues:SCREEN-VALUE = rowObject.addFieldKeyValues:SCREEN-VALUE
  410. + (IF rowObject.addFieldKeyValues:SCREEN-VALUE = '' THEN '' ELSE ';').
  411. END.
  412. END CASE.
  413. END.
  414. END.
  415. END.
  416. /* _UIB-CODE-BLOCK-END */
  417. &ANALYZE-RESUME
  418. &UNDEFINE SELF-NAME
  419. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK vTableWin
  420. /* *************************** Main Block *************************** */
  421. { incl/viwmainblock.i }
  422. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  423. RUN initializeObject.
  424. &ENDIF
  425. /************************ INTERNAL PROCEDURES ********************/
  426. /* _UIB-CODE-BLOCK-END */
  427. &ANALYZE-RESUME
  428. /* ********************** Internal Procedures *********************** */
  429. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE addRecord vTableWin
  430. PROCEDURE addRecord :
  431. /*------------------------------------------------------------------------------*/
  432. /* Purpose: Super Override */
  433. /* Parameters: */
  434. /* Notes: */
  435. /*------------------------------------------------------------------------------*/
  436. FNeu = TRUE.
  437. FMut = TRUE.
  438. FDisp = TRUE.
  439. RUN SUPER.
  440. /* Code placed here will execute AFTER standard behavior. */
  441. END PROCEDURE.
  442. /* _UIB-CODE-BLOCK-END */
  443. &ANALYZE-RESUME
  444. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ADD_FIELD vTableWin
  445. PROCEDURE ADD_FIELD :
  446. /*------------------------------------------------------------------------------*/
  447. /* Purpose: Super Override */
  448. /* Parameters: */
  449. /* Notes: */
  450. /*------------------------------------------------------------------------------*/
  451. DEFINE INPUT PARAMETER ipcFeld AS CHARACTER NO-UNDO.
  452. DEFINE VARIABLE cBenutzer AS CHARACTER NO-UNDO.
  453. DEFINE VARIABLE cTabelle AS CHARACTER NO-UNDO.
  454. DEFINE VARIABLE cFirma AS CHARACTER NO-UNDO.
  455. DEFINE VARIABLE cProgramm AS CHARACTER NO-UNDO.
  456. DO WITH FRAME {&FRAME-NAME}:
  457. cFirma = rowObject.Mandant :SCREEN-VALUE.
  458. cBenutzer = rowObject.Benutzer:SCREEN-VALUE.
  459. cTabelle = rowObject.Tabelle :SCREEN-VALUE.
  460. cProgramm = rowObject.program :SCREEN-VALUE.
  461. END.
  462. FIND AnaDat._File NO-LOCK
  463. WHERE AnaDat._File._File-Name = cTabelle.
  464. FIND AnaDat._Field NO-LOCK OF AnaDat._File
  465. WHERE AnaDat._Field._Field-name = ipcFeld NO-ERROR.
  466. IF NOT AVAILABLE _Field THEN RETURN 'NOK'.
  467. EMPTY TEMP-TABLE tviewer_ze.
  468. CREATE tviewer_ze.
  469. ASSIGN
  470. tviewer_ze.mandant = cFirma
  471. tviewer_ze.benutzer = cBenutzer
  472. tviewer_ze.program = cProgramm
  473. tviewer_ze.tabelle = cTabelle
  474. tviewer_ze.feld = ipcFeld.
  475. RUN ADD_VIEWER_FIELD ( INPUT-OUTPUT htviewer ).
  476. REPEAT TRANSACTION ON ERROR UNDO, LEAVE:
  477. FIND FIRST tviewer_ze.
  478. ASSIGN
  479. rowObject.feldformat:SCREEN-VALUE = tviewer_ze.feldformat
  480. rowObject.feldtype:SCREEN-VALUE = tviewer_ze.feldtype
  481. rowObject.numdecimals:SCREEN-VALUE = STRING(tviewer_ze.numdecimals)
  482. rowObject.prior:SCREEN-VALUE = STRING(tviewer_ze.prior)
  483. rowObject.privatedata:SCREEN-VALUE = tviewer_ze.privatedata
  484. rowObject.selecttabelle:SCREEN-VALUE = tviewer_ze.selecttabelle
  485. rowObject.selecttexte:SCREEN-VALUE = tviewer_ze.selecttexte
  486. rowObject.selectwerte:SCREEN-VALUE = tviewer_ze.selectwerte
  487. rowObject.styles:SCREEN-VALUE = tviewer_ze.styles
  488. rowObject.textalign:SCREEN-VALUE = tviewer_ze.textalign
  489. rowObject.attributes:SCREEN-VALUE = tviewer_ze.attributes
  490. .
  491. LEAVE.
  492. END.
  493. RETURN 'OK'.
  494. END PROCEDURE.
  495. /* _UIB-CODE-BLOCK-END */
  496. &ANALYZE-RESUME
  497. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE cancelRecord vTableWin
  498. PROCEDURE cancelRecord :
  499. /*------------------------------------------------------------------------------
  500. Purpose: Super Override
  501. Parameters:
  502. Notes:
  503. ------------------------------------------------------------------------------*/
  504. FCancel = TRUE.
  505. RUN SUPER.
  506. /* Code placed here will execute AFTER standard behavior. */
  507. END PROCEDURE.
  508. /* _UIB-CODE-BLOCK-END */
  509. &ANALYZE-RESUME
  510. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE COMBO_FELDER vTableWin
  511. PROCEDURE COMBO_FELDER :
  512. /*------------------------------------------------------------------------------
  513. Purpose:
  514. Parameters: <none>
  515. Notes:
  516. ------------------------------------------------------------------------------*/
  517. DEFINE INPUT PARAMETER ipcTabelle AS CHARACTER NO-UNDO.
  518. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  519. DO WITH FRAME {&FRAME-NAME}:
  520. FIND AnaDat._File NO-LOCK
  521. WHERE AnaDat._File._File-Name = ipcTabelle.
  522. cString = ''.
  523. FOR EACH AnaDat._Field OF AnaDat._File
  524. BY _Field._Order:
  525. cString = cString
  526. + (IF cString = '' THEN '' ELSE ';')
  527. + _Field._Field-Name.
  528. END.
  529. CB_Felder:DELIMITER = ';'.
  530. CB_Felder:LIST-ITEMS = cString.
  531. CB_Felder:SCREEN-VALUE = ENTRY(1, cString, ';') NO-ERROR.
  532. END.
  533. END PROCEDURE.
  534. /* _UIB-CODE-BLOCK-END */
  535. &ANALYZE-RESUME
  536. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE copyRecord vTableWin
  537. PROCEDURE copyRecord :
  538. /*------------------------------------------------------------------------------*/
  539. /* Purpose: Super Override */
  540. /* Parameters: */
  541. /* Notes: */
  542. /*------------------------------------------------------------------------------*/
  543. FNeu = TRUE.
  544. FMut = TRUE.
  545. FCopy = TRUE.
  546. FDisp = TRUE.
  547. RUN SUPER.
  548. END PROCEDURE.
  549. /* _UIB-CODE-BLOCK-END */
  550. &ANALYZE-RESUME
  551. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE deleteRecord vTableWin
  552. PROCEDURE deleteRecord :
  553. /*------------------------------------------------------------------------------
  554. Purpose: Super Override
  555. Parameters:
  556. Notes:
  557. ------------------------------------------------------------------------------*/
  558. DEF VAR Ja AS LOG NO-UNDO.
  559. Ja = DYNAMIC-FUNCTION( 'ANTWORT_NEIN':U, INPUT 1000 ).
  560. IF NOT Ja THEN
  561. DO:
  562. RUN TOOLBAR IN hKontainer ( INPUT 'CANCEL':U ) NO-ERROR.
  563. RETURN NO-APPLY.
  564. END.
  565. /* REPEAT TRANSACTION: */
  566. /* RUN INAKTIVIEREN IN hDaten. */
  567. /* LEAVE. */
  568. /* END. */
  569. /* */
  570. RUN SUPER.
  571. /* Code placed here will execute AFTER standard behavior. */
  572. END PROCEDURE.
  573. /* _UIB-CODE-BLOCK-END */
  574. &ANALYZE-RESUME
  575. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disableFields vTableWin
  576. PROCEDURE disableFields :
  577. /*------------------------------------------------------------------------------
  578. Purpose: Super Override
  579. Parameters:
  580. Notes:
  581. ------------------------------------------------------------------------------*/
  582. DEFINE INPUT PARAMETER pcFieldType AS CHARACTER NO-UNDO.
  583. DO WITH FRAME {&FRAME-NAME}:
  584. END.
  585. RUN SUPER( INPUT pcFieldType).
  586. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  587. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT TRUE ).
  588. IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN
  589. DO:
  590. RUN FARBE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT 15 ).
  591. END.
  592. DO WITH FRAME {&FRAME-NAME}:
  593. END.
  594. END PROCEDURE.
  595. /* _UIB-CODE-BLOCK-END */
  596. &ANALYZE-RESUME
  597. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI vTableWin _DEFAULT-DISABLE
  598. PROCEDURE disable_UI :
  599. /*------------------------------------------------------------------------------
  600. Purpose: DISABLE the User Interface
  601. Parameters: <none>
  602. Notes: Here we clean-up the user-interface by deleting
  603. dynamic widgets we have created and/or hide
  604. frames. This procedure is usually called when
  605. we are ready to "clean-up" after running.
  606. ------------------------------------------------------------------------------*/
  607. /* Hide all frames. */
  608. HIDE FRAME F-Main.
  609. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  610. END PROCEDURE.
  611. /* _UIB-CODE-BLOCK-END */
  612. &ANALYZE-RESUME
  613. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE displayFields vTableWin
  614. PROCEDURE displayFields :
  615. /*------------------------------------------------------------------------------
  616. Purpose: Super Override
  617. Parameters:
  618. Notes:
  619. ------------------------------------------------------------------------------*/
  620. DEFINE INPUT PARAMETER pcColValues AS CHARACTER NO-UNDO.
  621. IF NOT FDisp THEN
  622. DO:
  623. FDisp = TRUE.
  624. RETURN.
  625. END.
  626. IF FCancel THEN pcColValues = OldColValues.
  627. IF NOT FNeu THEN OldColValues = pcColValues.
  628. OldColList = DYNAMIC-FUNCTION('getDisplayedFields':U).
  629. IF FNeu THEN RUN FEHLWERTE ( INPUT-OUTPUT pcColValues ).
  630. DO WITH FRAME {&FRAME-NAME}:
  631. END.
  632. RUN SUPER( INPUT pcColValues).
  633. FCancel = FALSE.
  634. DO WITH FRAME {&FRAME-NAME}:
  635. IF rowObject.addFieldTabelle:SCREEN-VALUE <> '' THEN
  636. DO:
  637. T_Fremdfeld:SCREEN-VALUE = STRING(TRUE).
  638. CB_Tabellen:SCREEN-VALUE = rowObject.addFieldTabelle:SCREEN-VALUE.
  639. END.
  640. ELSE T_Fremdfeld:SCREEN-VALUE = STRING(FALSE).
  641. APPLY 'ENTRY' TO rowObject.Feld.
  642. END.
  643. END PROCEDURE.
  644. /* _UIB-CODE-BLOCK-END */
  645. &ANALYZE-RESUME
  646. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableFields vTableWin
  647. PROCEDURE enableFields :
  648. /*------------------------------------------------------------------------------
  649. Purpose: Super Override
  650. Parameters:
  651. Notes:
  652. ------------------------------------------------------------------------------*/
  653. /* Code placed here will execute PRIOR to standard behavior. */
  654. /*
  655. RUN SUPER.
  656. */
  657. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  658. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT FALSE ).
  659. IF NUM-ENTRIES('{&NUR_LESEN}', ',') > 0 THEN
  660. DO:
  661. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&NUR_LESEN}', INPUT TRUE ).
  662. END.
  663. DO WITH FRAME {&FRAME-NAME}:
  664. END.
  665. IF FNeu THEN RETURN.
  666. IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN
  667. DO:
  668. RUN SCHUETZE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT TRUE ).
  669. END.
  670. END PROCEDURE.
  671. /* _UIB-CODE-BLOCK-END */
  672. &ANALYZE-RESUME
  673. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject vTableWin
  674. PROCEDURE enableObject :
  675. /*------------------------------------------------------------------------------
  676. Purpose: Super Override
  677. Parameters:
  678. Notes:
  679. ------------------------------------------------------------------------------*/
  680. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  681. DO WITH FRAME {&FRAME-NAME}:
  682. FOR EACH AnaDat._File NO-LOCK
  683. WHERE NOT _File._File-Name BEGINS 'SYS'
  684. AND NOT _File._File-Name BEGINS '_':
  685. cString = cString
  686. + (IF cString = '' THEN '' ELSE ';')
  687. + _File._File-Name.
  688. END.
  689. CB_Tabellen:DELIMITER = ';'.
  690. CB_Tabellen:LIST-ITEMS = cString.
  691. CB_Tabellen:SCREEN-VALUE = ENTRY(1, cString, ';') NO-ERROR.
  692. RUN COMBO_FELDER ( CB_Tabellen:SCREEN-VALUE).
  693. END.
  694. RUN SUPER.
  695. { incl/viwenableobject.i }
  696. END PROCEDURE.
  697. /* _UIB-CODE-BLOCK-END */
  698. &ANALYZE-RESUME
  699. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_FELD_TEST vTableWin
  700. PROCEDURE ENTRY_FELD_TEST :
  701. /*------------------------------------------------------------------------------
  702. Purpose:
  703. Parameters: <none>
  704. Notes:
  705. ------------------------------------------------------------------------------*/
  706. { incl/viwentryfeldtest.i }
  707. DO WITH FRAME {&FRAME-NAME}:
  708. CASE FeldName:
  709. END CASE.
  710. END.
  711. RETURN ''.
  712. END PROCEDURE.
  713. /* _UIB-CODE-BLOCK-END */
  714. &ANALYZE-RESUME
  715. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FEHLWERTE vTableWin
  716. PROCEDURE FEHLWERTE :
  717. /*------------------------------------------------------------------------------
  718. Purpose:
  719. Parameters: <none>
  720. Notes:
  721. ------------------------------------------------------------------------------*/
  722. DEF INPUT-OUTPUT PARAMETER pcColValues AS CHAR NO-UNDO.
  723. DEF VAR i1 AS INT NO-UNDO.
  724. IF FCancel THEN RETURN.
  725. IF NOT FCopy THEN
  726. DO WITH FRAME {&FRAME-NAME}:
  727. /* i1 = LOOKUP('Feld', oldColList, ',') + 1. */
  728. /* ENTRY(i1, pcColValues, CHR(1)) = 'Fehlwert' NO-ERROR. */
  729. END.
  730. IF FCopy THEN
  731. DO:
  732. END.
  733. END PROCEDURE.
  734. /* _UIB-CODE-BLOCK-END */
  735. &ANALYZE-RESUME
  736. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject vTableWin
  737. PROCEDURE initializeObject :
  738. /*------------------------------------------------------------------------------
  739. Purpose:
  740. Notes:
  741. ------------------------------------------------------------------------------*/
  742. /* Code placed here will execute PRIOR to standard behavior. */
  743. RUN SUPER.
  744. END PROCEDURE.
  745. /* _UIB-CODE-BLOCK-END */
  746. &ANALYZE-RESUME
  747. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LEAVE_FELD_TEST vTableWin
  748. PROCEDURE LEAVE_FELD_TEST :
  749. /*------------------------------------------------------------------------------
  750. Purpose:
  751. Parameters: <none>
  752. Notes:
  753. ------------------------------------------------------------------------------*/
  754. { incl/viwleavefeldtest.i }
  755. DO WHILE FNeu WITH FRAME {&FRAME-NAME}:
  756. CASE FeldName:
  757. WHEN 'feld' THEN
  758. DO:
  759. RUN ADD_FIELD ( SELF:SCREEN-VALUE ) NO-ERROR.
  760. IF RETURN-VALUE = '' THEN RETURN 'APPLY'.
  761. IF SELF:SCREEN-VALUE BEGINS 'Dummy' THEN
  762. DO:
  763. ASSIGN
  764. rowObject.attributes:SCREEN-VALUE = 'id="Dummy_2" name="Dummy_2" type="hidden" maxlength="30" readonly="true"'
  765. rowObject.feldformat:SCREEN-VALUE = 'x(10)'
  766. rowObject.lHidden :SCREEN-VALUE = STRING(TRUE)
  767. rowObject.lReadonly :SCREEN-VALUE = STRING(TRUE)
  768. rowObject.textalign :SCREEN-VALUE = 'left'
  769. rowObject.feldtype :SCREEN-VALUE = 'character'
  770. .
  771. END.
  772. ELSE
  773. DO:
  774. ASSIGN
  775. rowObject.attributes:SCREEN-VALUE = SUBSTITUTE('id="&1" name="&1" type="text" maxlength="30px" readonly="true"', SELF:SCREEN-VALUE)
  776. rowObject.feldformat:SCREEN-VALUE = 'x(30)'
  777. rowObject.lHidden :SCREEN-VALUE = STRING(FALSE)
  778. rowObject.lReadonly :SCREEN-VALUE = STRING(TRUE)
  779. rowObject.textalign :SCREEN-VALUE = 'left'
  780. rowObject.feldtype :SCREEN-VALUE = 'character'
  781. rowObject.styles :SCREEN-VALUE = 'width: 90%'
  782. .
  783. END.
  784. END.
  785. END CASE.
  786. LEAVE.
  787. END.
  788. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  789. CASE FeldName:
  790. END CASE.
  791. LEAVE.
  792. END.
  793. IF LOOKUP(FeldName, '{&LETZTES_FELD}', ',') > 0 THEN
  794. DO:
  795. DO WHILE TRUE:
  796. IF KEYFUNCTION(LKY) = 'TAB' THEN LEAVE.
  797. IF KEYFUNCTION(LKY) = 'RETURN' THEN LEAVE.
  798. IF KEYFUNCTION(LKY) = 'F9' THEN LEAVE.
  799. RETURN ''.
  800. END.
  801. APPLY 'ALT-S'.
  802. RETURN 'APPLY'.
  803. END.
  804. RETURN ''.
  805. END PROCEDURE.
  806. /* _UIB-CODE-BLOCK-END */
  807. &ANALYZE-RESUME
  808. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RETURN_FELD vTableWin
  809. PROCEDURE RETURN_FELD :
  810. /*------------------------------------------------------------------------------
  811. Purpose:
  812. Parameters: <none>
  813. Notes:
  814. ------------------------------------------------------------------------------*/
  815. { incl/viwreturnfeld.i }
  816. END PROCEDURE.
  817. /* _UIB-CODE-BLOCK-END */
  818. &ANALYZE-RESUME
  819. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TEST_EINGABEN vTableWin
  820. PROCEDURE TEST_EINGABEN :
  821. /*------------------------------------------------------------------------------
  822. Purpose:
  823. Parameters: <none>
  824. Notes:
  825. ------------------------------------------------------------------------------*/
  826. DEF OUTPUT PARAMETER opJa AS LOG NO-UNDO.
  827. DEF VAR eHandle AS HANDLE NO-UNDO.
  828. DEF VAR cString AS CHAR NO-UNDO.
  829. DEF VAR iNummer AS INT NO-UNDO.
  830. opJa = FALSE.
  831. eHandle = ?.
  832. IF NOT FMut THEN RETURN.
  833. AAA000:
  834. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  835. LEAVE.
  836. END.
  837. IF VALID-HANDLE(eHandle) THEN
  838. DO:
  839. APPLY 'ENTRY' TO eHandle.
  840. RETURN NO-APPLY.
  841. END.
  842. opJa = TRUE.
  843. END PROCEDURE.
  844. /* _UIB-CODE-BLOCK-END */
  845. &ANALYZE-RESUME
  846. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateMode vTableWin
  847. PROCEDURE updateMode :
  848. /*------------------------------------------------------------------------------*/
  849. /* Purpose: Super Override */
  850. /* Parameters: */
  851. /* Notes: */
  852. /*------------------------------------------------------------------------------*/
  853. DEFINE INPUT PARAMETER pcMode AS CHARACTER NO-UNDO.
  854. CASE pcMode:
  855. WHEN 'updateBegin' THEN
  856. DO:
  857. END.
  858. WHEN 'updateEnd' THEN
  859. DO:
  860. END.
  861. END.
  862. RUN SUPER( INPUT pcMode).
  863. CASE pcMode:
  864. WHEN 'updateBegin' THEN
  865. DO:
  866. FMut = TRUE.
  867. END.
  868. WHEN 'updateEnd' THEN
  869. DO:
  870. FNeu = FALSE.
  871. FMut = FALSE.
  872. FCopy = FALSE.
  873. END.
  874. END.
  875. END PROCEDURE.
  876. /* _UIB-CODE-BLOCK-END */
  877. &ANALYZE-RESUME
  878. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateRecord vTableWin
  879. PROCEDURE updateRecord :
  880. /*------------------------------------------------------------------------------
  881. Purpose: Super Override
  882. Parameters:
  883. Notes:
  884. ------------------------------------------------------------------------------*/
  885. DO WITH FRAME {&FRAME-NAME}:
  886. IF T_FremdFeld:SCREEN-VALUE BEGINS 'n' THEN
  887. DO:
  888. ASSIGN
  889. rowObject.addFieldTabelle:SCREEN-VALUE = ''
  890. rowObject.addFieldField:SCREEN-VALUE = ''
  891. rowObject.addFieldKeyFields:SCREEN-VALUE = ''
  892. rowObject.addFieldKeyValues:SCREEN-VALUE = ''
  893. .
  894. END.
  895. ELSE
  896. DO:
  897. ASSIGN
  898. rowObject.addFieldTabelle:SCREEN-VALUE = CB_Tabellen:SCREEN-VALUE
  899. rowObject.addFieldField:SCREEN-VALUE = CB_Felder:SCREEN-VALUE
  900. .
  901. END.
  902. IF FNeu THEN
  903. DO:
  904. DYNAMIC-FUNCTION('SETMODIFIEDFLAG':U, INPUT Fenster, INPUT TRUE).
  905. END.
  906. END.
  907. FNeu = FALSE.
  908. FCopy = FALSE.
  909. RUN SUPER.
  910. DO WITH FRAME {&FRAME-NAME}:
  911. PUBLISH 'ANZEIGE_FELDER' ( rowObject.benutzer:SCREEN-VALUE, rowObject.program:SCREEN-VALUE, rowObject.tabelle:SCREEN-VALUE ).
  912. END.
  913. END PROCEDURE.
  914. /* _UIB-CODE-BLOCK-END */
  915. &ANALYZE-RESUME