v-kondi.w 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822
  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-kondi.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 Kond
  31. &Scoped-define LETZTES_FELD Skonto2
  32. &Scoped-define KEY_FELDER Kond
  33. &Scoped-define NUR_LESEN
  34. /* Parameters Definitions --- */
  35. /* Local Variable Definitions --- */
  36. DEF VAR SAktiv AS LOG NO-UNDO INIT FALSE.
  37. DEF VAR FNeu AS LOG NO-UNDO INIT FALSE.
  38. DEF VAR FMut AS LOG NO-UNDO INIT FALSE.
  39. DEF VAR FCopy AS LOG NO-UNDO INIT FALSE.
  40. DEF VAR FDisp AS LOG NO-UNDO INIT TRUE .
  41. DEF VAR Fenster AS HANDLE NO-UNDO.
  42. DEF VAR oldColValues AS CHAR NO-UNDO.
  43. DEF VAR oldColList AS CHAR NO-UNDO.
  44. DEF VAR Firma AS CHAR NO-UNDO.
  45. /* _UIB-CODE-BLOCK-END */
  46. &ANALYZE-RESUME
  47. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  48. /* ******************** Preprocessor Definitions ******************** */
  49. &Scoped-define PROCEDURE-TYPE SmartDataViewer
  50. &Scoped-define DB-AWARE no
  51. &Scoped-define ADM-CONTAINER FRAME
  52. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Update-Source,TableIO-Target,GroupAssign-Source,GroupAssign-Target
  53. /* Include file with RowObject temp-table definition */
  54. &Scoped-define DATA-FIELD-DEFS "d-kondi.i"
  55. /* Name of first Frame and/or Browse and/or first Query */
  56. &Scoped-define FRAME-NAME F-Main
  57. /* Standard List Definitions */
  58. &Scoped-Define ENABLED-FIELDS RowObject.Kond RowObject.Anzeige ~
  59. RowObject.KoText RowObject.Faellig RowObject.Mahnen RowObject.Tage1 ~
  60. RowObject.Skonto1 RowObject.Tage2 RowObject.Skonto2
  61. &Scoped-define ENABLED-TABLES RowObject
  62. &Scoped-define FIRST-ENABLED-TABLE RowObject
  63. &Scoped-define DISPLAYED-TABLES RowObject
  64. &Scoped-define FIRST-DISPLAYED-TABLE RowObject
  65. &Scoped-Define ENABLED-OBJECTS CB_Sprache RECT-1
  66. &Scoped-Define DISPLAYED-FIELDS RowObject.Kond RowObject.Anzeige ~
  67. RowObject.KoText RowObject.Faellig RowObject.Mahnen RowObject.Tage1 ~
  68. RowObject.Skonto1 RowObject.Sprcd RowObject.Tage2 RowObject.Skonto2
  69. &Scoped-Define DISPLAYED-OBJECTS CB_Sprache
  70. /* Custom List Definitions */
  71. /* ADM-ASSIGN-FIELDS,List-2,List-3,List-4,List-5,List-6 */
  72. /* _UIB-PREPROCESSOR-BLOCK-END */
  73. &ANALYZE-RESUME
  74. /* *********************** Control Definitions ********************** */
  75. /* Definitions of the field level widgets */
  76. DEFINE VARIABLE CB_Sprache AS CHARACTER FORMAT "X(256)":U
  77. LABEL "Sprache"
  78. VIEW-AS COMBO-BOX INNER-LINES 5
  79. LIST-ITEM-PAIRS "Item 1","Item 1"
  80. DROP-DOWN-LIST
  81. SIZE 31.4 BY 1
  82. BGCOLOR 15 NO-UNDO.
  83. DEFINE RECTANGLE RECT-1
  84. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  85. SIZE 84 BY 7.95.
  86. /* ************************ Frame Definitions *********************** */
  87. DEFINE FRAME F-Main
  88. CB_Sprache AT ROW 1.71 COL 18 COLON-ALIGNED
  89. RowObject.Kond AT ROW 3 COL 18 COLON-ALIGNED
  90. LABEL "Kondition" FORMAT "99"
  91. VIEW-AS FILL-IN NATIVE
  92. SIZE 4.8 BY 1
  93. BGCOLOR 15
  94. RowObject.Anzeige AT ROW 3 COL 43 COLON-ALIGNED
  95. LABEL "Anzeige" FORMAT "x(30)"
  96. VIEW-AS FILL-IN NATIVE
  97. SIZE 39 BY 1
  98. BGCOLOR 15
  99. RowObject.KoText AT ROW 4.48 COL 18 COLON-ALIGNED
  100. LABEL "Konditionstext" FORMAT "x(80)"
  101. VIEW-AS FILL-IN NATIVE
  102. SIZE 64 BY 1
  103. BGCOLOR 15
  104. RowObject.Faellig AT ROW 5.48 COL 17.8 COLON-ALIGNED
  105. LABEL "Letzt. Fälligkeit" FORMAT "zz9"
  106. VIEW-AS FILL-IN NATIVE
  107. SIZE 7 BY 1
  108. BGCOLOR 15
  109. RowObject.Mahnen AT ROW 5.48 COL 43.4 COLON-ALIGNED
  110. LABEL "Mahnen nach" FORMAT "zzz9"
  111. VIEW-AS FILL-IN NATIVE
  112. SIZE 8 BY 1 TOOLTIP "Wieviele Tage über die Fälligkeit Mahnen"
  113. BGCOLOR 15
  114. RowObject.Tage1 AT ROW 6.48 COL 18 COLON-ALIGNED
  115. VIEW-AS FILL-IN NATIVE
  116. SIZE 7 BY 1
  117. BGCOLOR 15
  118. RowObject.Skonto1 AT ROW 6.48 COL 43.4 COLON-ALIGNED
  119. LABEL "Skonto%" FORMAT "z9.9"
  120. VIEW-AS FILL-IN NATIVE
  121. SIZE 8 BY 1
  122. BGCOLOR 15
  123. RowObject.Sprcd AT ROW 6.71 COL 71.8 COLON-ALIGNED
  124. LABEL "Sprcd" FORMAT "999999"
  125. VIEW-AS FILL-IN
  126. SIZE 4.8 BY 1 NO-TAB-STOP
  127. RowObject.Tage2 AT ROW 7.48 COL 18 COLON-ALIGNED
  128. VIEW-AS FILL-IN NATIVE
  129. SIZE 7 BY 1
  130. BGCOLOR 15
  131. RowObject.Skonto2 AT ROW 7.48 COL 43.4 COLON-ALIGNED
  132. LABEL "Skonto%" FORMAT "z9.9"
  133. VIEW-AS FILL-IN NATIVE
  134. SIZE 8 BY 1
  135. BGCOLOR 15
  136. RECT-1 AT ROW 1.24 COL 2
  137. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY USE-DICT-EXPS
  138. SIDE-LABELS NO-UNDERLINE THREE-D NO-AUTO-VALIDATE
  139. AT COL 1 ROW 1 SCROLLABLE .
  140. /* *********************** Procedure Settings ************************ */
  141. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  142. /* Settings for THIS-PROCEDURE
  143. Type: SmartDataViewer
  144. Data Source: "d-kondi.w"
  145. Allow: Basic,DB-Fields,Smart
  146. Container Links: Data-Target,Update-Source,TableIO-Target,GroupAssign-Source,GroupAssign-Target
  147. Frames: 1
  148. Add Fields to: Neither
  149. Other Settings: PERSISTENT-ONLY COMPILE
  150. Temp-Tables and Buffers:
  151. TABLE: RowObject D "?" ?
  152. ADDITIONAL-FIELDS:
  153. {d-kondi.i}
  154. END-FIELDS.
  155. END-TABLES.
  156. */
  157. /* This procedure should always be RUN PERSISTENT. Report the error, */
  158. /* then cleanup and return. */
  159. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  160. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  161. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  162. RETURN.
  163. END.
  164. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  165. /* ************************* Create Window ************************** */
  166. &ANALYZE-SUSPEND _CREATE-WINDOW
  167. /* DESIGN Window definition (used by the UIB)
  168. CREATE WINDOW vTableWin ASSIGN
  169. HEIGHT = 8.76
  170. WIDTH = 88.4.
  171. /* END WINDOW DEFINITION */
  172. */
  173. &ANALYZE-RESUME
  174. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB vTableWin
  175. /* ************************* Included-Libraries *********************** */
  176. {src/adm2/viewer.i}
  177. /* _UIB-CODE-BLOCK-END */
  178. &ANALYZE-RESUME
  179. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  180. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  181. /* SETTINGS FOR WINDOW vTableWin
  182. VISIBLE,,RUN-PERSISTENT */
  183. /* SETTINGS FOR FRAME F-Main
  184. NOT-VISIBLE Size-to-Fit */
  185. ASSIGN
  186. FRAME F-Main:SCROLLABLE = FALSE
  187. FRAME F-Main:HIDDEN = TRUE.
  188. /* SETTINGS FOR FILL-IN RowObject.Anzeige IN FRAME F-Main
  189. EXP-LABEL EXP-FORMAT */
  190. /* SETTINGS FOR FILL-IN RowObject.Faellig IN FRAME F-Main
  191. EXP-LABEL EXP-FORMAT */
  192. /* SETTINGS FOR FILL-IN RowObject.Kond IN FRAME F-Main
  193. EXP-LABEL EXP-FORMAT */
  194. /* SETTINGS FOR FILL-IN RowObject.KoText IN FRAME F-Main
  195. EXP-LABEL EXP-FORMAT */
  196. /* SETTINGS FOR FILL-IN RowObject.Mahnen IN FRAME F-Main
  197. EXP-LABEL EXP-FORMAT */
  198. /* SETTINGS FOR FILL-IN RowObject.Skonto1 IN FRAME F-Main
  199. EXP-LABEL EXP-FORMAT */
  200. /* SETTINGS FOR FILL-IN RowObject.Skonto2 IN FRAME F-Main
  201. EXP-LABEL EXP-FORMAT */
  202. /* SETTINGS FOR FILL-IN RowObject.Sprcd IN FRAME F-Main
  203. NO-ENABLE EXP-LABEL EXP-FORMAT */
  204. ASSIGN
  205. RowObject.Sprcd:HIDDEN IN FRAME F-Main = TRUE
  206. RowObject.Sprcd:READ-ONLY IN FRAME F-Main = TRUE.
  207. /* _RUN-TIME-ATTRIBUTES-END */
  208. &ANALYZE-RESUME
  209. /* Setting information for Queries and Browse Widgets fields */
  210. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  211. /* Query rebuild information for FRAME F-Main
  212. _Options = "NO-LOCK"
  213. _Query is NOT OPENED
  214. */ /* FRAME F-Main */
  215. &ANALYZE-RESUME
  216. /* ************************ Control Triggers ************************ */
  217. &Scoped-define SELF-NAME CB_Sprache
  218. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Sprache vTableWin
  219. ON VALUE-CHANGED OF CB_Sprache IN FRAME F-Main /* Sprache */
  220. DO:
  221. DO WITH FRAME {&FRAME-NAME}:
  222. IF FMut THEN DO:
  223. CB_Sprache:SCREEN-VALUE = rowObject.Sprcd:SCREEN-VALUE NO-ERROR.
  224. RETURN NO-APPLY.
  225. END.
  226. rowObject.Sprcd:SCREEN-VALUE = CB_Sprache:SCREEN-VALUE.
  227. PUBLISH 'OPENKONDI' ( INPUT INTEGER(CB_Sprache:SCREEN-VALUE) ).
  228. END.
  229. END.
  230. /* _UIB-CODE-BLOCK-END */
  231. &ANALYZE-RESUME
  232. &UNDEFINE SELF-NAME
  233. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK vTableWin
  234. /* *************************** Main Block *************************** */
  235. SAktiv = DYNAMIC-FUNCTION('getSuperAktiv':U) NO-ERROR.
  236. IF SAktiv THEN DO:
  237. Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
  238. END.
  239. /* Triggers ------------------------------------------------------ */
  240. ON 'RETURN':U OF FRAME {&FRAME-NAME} ANYWHERE
  241. DO:
  242. RUN RETURN_FELD ( INPUT SELF:HANDLE ).
  243. IF RETURN-VALUE = 'TAB' THEN DO:
  244. APPLY 'TAB' TO SELF.
  245. RETURN NO-APPLY.
  246. END.
  247. END.
  248. ON 'ENTRY':U OF FRAME {&FRAME-NAME} ANYWHERE
  249. DO:
  250. RUN ENTRY_FELD_TEST ( INPUT SELF:HANDLE ).
  251. IF RETURN-VALUE = 'ERROR' THEN DO:
  252. APPLY 'ENTRY' TO SELF.
  253. RETURN NO-APPLY.
  254. END.
  255. IF RETURN-VALUE = 'APPLY' THEN DO:
  256. RETURN NO-APPLY.
  257. END.
  258. END.
  259. ON 'LEAVE':U OF FRAME {&FRAME-NAME} ANYWHERE
  260. DO:
  261. RUN LEAVE_FELD_TEST ( INPUT SELF:HANDLE ).
  262. IF RETURN-VALUE = 'ERROR' THEN DO:
  263. APPLY 'ENTRY' TO SELF.
  264. RETURN NO-APPLY.
  265. END.
  266. IF RETURN-VALUE = 'APPLY' THEN DO:
  267. RETURN NO-APPLY.
  268. END.
  269. END.
  270. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  271. RUN initializeObject.
  272. &ENDIF
  273. /************************ INTERNAL PROCEDURES ********************/
  274. /* _UIB-CODE-BLOCK-END */
  275. &ANALYZE-RESUME
  276. /* ********************** Internal Procedures *********************** */
  277. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE addRecord vTableWin
  278. PROCEDURE addRecord :
  279. /*------------------------------------------------------------------------------
  280. Purpose: Super Override
  281. Parameters:
  282. Notes:
  283. ------------------------------------------------------------------------------*/
  284. FNeu = TRUE.
  285. FMut = TRUE.
  286. RUN SUPER.
  287. END PROCEDURE.
  288. /* _UIB-CODE-BLOCK-END */
  289. &ANALYZE-RESUME
  290. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE cancelRecord vTableWin
  291. PROCEDURE cancelRecord :
  292. /*------------------------------------------------------------------------------
  293. Purpose: Super Override
  294. Parameters:
  295. Notes:
  296. ------------------------------------------------------------------------------*/
  297. /* Code placed here will execute PRIOR to standard behavior. */
  298. RUN SUPER.
  299. /* Code placed here will execute AFTER standard behavior. */
  300. END PROCEDURE.
  301. /* _UIB-CODE-BLOCK-END */
  302. &ANALYZE-RESUME
  303. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE copyRecord vTableWin
  304. PROCEDURE copyRecord :
  305. /*------------------------------------------------------------------------------
  306. Purpose: Super Override
  307. Parameters:
  308. Notes:
  309. ------------------------------------------------------------------------------*/
  310. FNeu = TRUE.
  311. FMut = TRUE.
  312. FCopy = TRUE.
  313. FDisp = FALSE.
  314. RUN SUPER.
  315. END PROCEDURE.
  316. /* _UIB-CODE-BLOCK-END */
  317. &ANALYZE-RESUME
  318. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE deleteRecord vTableWin
  319. PROCEDURE deleteRecord :
  320. /*------------------------------------------------------------------------------
  321. Purpose: Super Override
  322. Parameters:
  323. Notes:
  324. ------------------------------------------------------------------------------*/
  325. DEF VAR Ja AS LOG NO-UNDO.
  326. Ja = DYNAMIC-FUNCTION( 'ANTWORT_JA':U, INPUT 1000 ).
  327. IF NOT Ja THEN DO:
  328. PUBLISH 'TOOLBAR' ( INPUT 'CANCEL':U ).
  329. RETURN NO-APPLY.
  330. END.
  331. RUN SUPER.
  332. /* Code placed here will execute AFTER standard behavior. */
  333. END PROCEDURE.
  334. /* _UIB-CODE-BLOCK-END */
  335. &ANALYZE-RESUME
  336. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disableFields vTableWin
  337. PROCEDURE disableFields :
  338. /*------------------------------------------------------------------------------
  339. Purpose: Super Override
  340. Parameters:
  341. Notes:
  342. ------------------------------------------------------------------------------*/
  343. DEFINE INPUT PARAMETER pcFieldType AS CHARACTER NO-UNDO.
  344. DO WITH FRAME {&FRAME-NAME}:
  345. END.
  346. RUN SUPER( INPUT pcFieldType).
  347. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  348. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT TRUE ).
  349. IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN DO:
  350. RUN FARBE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT 15 ).
  351. END.
  352. DO WITH FRAME {&FRAME-NAME}:
  353. END.
  354. END PROCEDURE.
  355. /* _UIB-CODE-BLOCK-END */
  356. &ANALYZE-RESUME
  357. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI vTableWin _DEFAULT-DISABLE
  358. PROCEDURE disable_UI :
  359. /*------------------------------------------------------------------------------
  360. Purpose: DISABLE the User Interface
  361. Parameters: <none>
  362. Notes: Here we clean-up the user-interface by deleting
  363. dynamic widgets we have created and/or hide
  364. frames. This procedure is usually called when
  365. we are ready to "clean-up" after running.
  366. ------------------------------------------------------------------------------*/
  367. /* Hide all frames. */
  368. HIDE FRAME F-Main.
  369. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  370. END PROCEDURE.
  371. /* _UIB-CODE-BLOCK-END */
  372. &ANALYZE-RESUME
  373. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE displayFields vTableWin
  374. PROCEDURE displayFields :
  375. /*------------------------------------------------------------------------------
  376. Purpose: Super Override
  377. Parameters:
  378. Notes:
  379. ------------------------------------------------------------------------------*/
  380. DEFINE INPUT PARAMETER pcColValues AS CHARACTER NO-UNDO.
  381. IF NOT FDisp THEN DO:
  382. FDisp = TRUE.
  383. RETURN.
  384. END.
  385. OldColValues = pcColValues.
  386. OldColList = DYNAMIC-FUNCTION('getDisplayedFields':U).
  387. IF FNeu THEN RUN FEHLWERTE ( INPUT-OUTPUT pcColValues ).
  388. DO WITH FRAME {&FRAME-NAME}:
  389. END.
  390. RUN SUPER( INPUT pcColValues).
  391. DO WITH FRAME {&FRAME-NAME}:
  392. END.
  393. END PROCEDURE.
  394. /* _UIB-CODE-BLOCK-END */
  395. &ANALYZE-RESUME
  396. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableFields vTableWin
  397. PROCEDURE enableFields :
  398. /*------------------------------------------------------------------------------
  399. Purpose: Super Override
  400. Parameters:
  401. Notes:
  402. ------------------------------------------------------------------------------*/
  403. /* Code placed here will execute PRIOR to standard behavior. */
  404. /*
  405. RUN SUPER.
  406. */
  407. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  408. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT FALSE ).
  409. IF NUM-ENTRIES('{&NUR_LESEN}', ',') > 0 THEN DO:
  410. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&NUR_LESEN}', INPUT TRUE ).
  411. END.
  412. DO WITH FRAME {&FRAME-NAME}:
  413. END.
  414. IF FNeu THEN RETURN.
  415. IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN DO:
  416. RUN SCHUETZE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT TRUE ).
  417. END.
  418. END PROCEDURE.
  419. /* _UIB-CODE-BLOCK-END */
  420. &ANALYZE-RESUME
  421. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject vTableWin
  422. PROCEDURE enableObject :
  423. /*------------------------------------------------------------------------------
  424. Purpose: Super Override
  425. Parameters:
  426. Notes:
  427. ------------------------------------------------------------------------------*/
  428. IF SAktiv THEN DO WITH FRAME {&FRAME-NAME}:
  429. RUN COMBO_SPRACHE ( INPUT CB_Sprache:HANDLE ) NO-ERROR.
  430. END.
  431. RUN SUPER.
  432. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  433. IF SAktiv THEN DO:
  434. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT TRUE ).
  435. PUBLISH 'OPENKONDI' ( INPUT INTEGER(CB_Sprache:SCREEN-VALUE) ).
  436. END.
  437. END PROCEDURE.
  438. /* _UIB-CODE-BLOCK-END */
  439. &ANALYZE-RESUME
  440. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_FELD_TEST vTableWin
  441. PROCEDURE ENTRY_FELD_TEST :
  442. /*------------------------------------------------------------------------------
  443. Purpose:
  444. Parameters: <none>
  445. Notes:
  446. ------------------------------------------------------------------------------*/
  447. DEF INPUT PARAMETER ipHandle AS HANDLE NO-UNDO.
  448. DEF VAR FeldName AS CHAR NO-UNDO.
  449. DEF VAR FeldInhalt AS CHAR NO-UNDO.
  450. FeldName = ''.
  451. FeldInhalt = ''.
  452. IF NOT VALID-HANDLE(ipHandle) THEN RETURN ''.
  453. IF ipHandle:TYPE = 'FRAME' THEN RETURN ''.
  454. IF ipHandle:TYPE = 'WINDOW' THEN RETURN ''.
  455. FeldName = ipHandle:NAME.
  456. IF ipHandle:TYPE = 'FILL-IN' OR
  457. ipHandle:TYPE = 'COMBO-BOX' OR
  458. ipHandle:TYPE = 'TOGGLE-BOX' THEN FeldInhalt = ipHandle:SCREEN-VALUE.
  459. IF NOT FMut THEN RETURN ''.
  460. DO WITH FRAME {&FRAME-NAME}:
  461. CASE FeldName:
  462. END CASE.
  463. END.
  464. RETURN ''.
  465. END PROCEDURE.
  466. /* _UIB-CODE-BLOCK-END */
  467. &ANALYZE-RESUME
  468. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FEHLWERTE vTableWin
  469. PROCEDURE FEHLWERTE :
  470. /*------------------------------------------------------------------------------
  471. Purpose:
  472. Parameters: <none>
  473. Notes:
  474. ------------------------------------------------------------------------------*/
  475. DEF INPUT-OUTPUT PARAMETER pcColValues AS CHAR NO-UNDO.
  476. DEF VAR FwFelder AS CHAR NO-UNDO.
  477. DEF VAR FwFeld AS CHAR NO-UNDO.
  478. DEF VAR FwValue AS CHAR NO-UNDO.
  479. DEF VAR ix AS INT NO-UNDO.
  480. DEF VAR i1 AS INT NO-UNDO.
  481. GET-KEY-VALUE SECTION 'Fw???????' KEY ? VALUE FwFelder.
  482. IF NOT FCopy THEN DO:
  483. DO ix = 1 TO NUM-ENTRIES(FwFelder, ','):
  484. FwFeld = ENTRY (ix , FwFelder , ',').
  485. i1 = LOOKUP(FwFeld, oldColList, ',') + 1.
  486. IF i1 < 2 THEN NEXT.
  487. GET-KEY-VALUE SECTION 'Fw???????' KEY FwFeld VALUE FwValue.
  488. ENTRY(i1, pcColValues, CHR(1)) = FwValue NO-ERROR.
  489. END.
  490. END.
  491. IF FCopy THEN DO:
  492. END.
  493. OldColValues = pcColValues.
  494. END PROCEDURE.
  495. /* _UIB-CODE-BLOCK-END */
  496. &ANALYZE-RESUME
  497. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LEAVE_FELD_TEST vTableWin
  498. PROCEDURE LEAVE_FELD_TEST :
  499. /*------------------------------------------------------------------------------
  500. Purpose:
  501. Parameters: <none>
  502. Notes:
  503. ------------------------------------------------------------------------------*/
  504. DEF INPUT PARAMETER ipHandle AS HANDLE NO-UNDO.
  505. DEF VAR FeldName AS CHAR NO-UNDO.
  506. DEF VAR FeldInhalt AS CHAR NO-UNDO.
  507. DEF VAR ix AS INT NO-UNDO.
  508. DEF VAR LKY AS INT NO-UNDO.
  509. DEF VAR hLEAVE AS HANDLE NO-UNDO.
  510. DEF VAR hENTER AS HANDLE NO-UNDO.
  511. DEF VAR Daten AS CHAR NO-UNDO.
  512. IF FMut = FALSE THEN RETURN ''.
  513. LKY = LASTKEY.
  514. hENTER = LAST-EVENT:WIDGET-ENTER.
  515. hLEAVE = LAST-EVENT:WIDGET-LEAVE.
  516. FeldName = ''.
  517. FeldInhalt = ''.
  518. IF NOT VALID-HANDLE(ipHandle) THEN RETURN ''.
  519. IF ipHandle:TYPE = 'FRAME' THEN RETURN ''.
  520. IF ipHandle:TYPE = 'WINDOW' THEN RETURN ''.
  521. FeldName = ipHandle:NAME.
  522. IF ipHandle:TYPE = 'FILL-IN' OR
  523. ipHandle:TYPE = 'COMBO-BOX' OR
  524. ipHandle:TYPE = 'TOGGLE-BOX' THEN FeldInhalt = ipHandle:SCREEN-VALUE.
  525. DO WHILE FNeu WITH FRAME {&FRAME-NAME}:
  526. CASE FeldName:
  527. WHEN 'Kond' THEN DO:
  528. FIND Kondi USE-INDEX Kondi-k1
  529. WHERE Kondi.Sprcd = INTEGER(CB_Sprache:SCREEN-VALUE)
  530. AND Kondi.Kond = INTEGER(FeldInhalt)
  531. NO-LOCK NO-ERROR.
  532. IF NOT AVAILABLE Kondi THEN RETURN ''.
  533. RUN FEHLER ( INPUT 1049 ).
  534. RETURN 'ERROR'.
  535. END.
  536. END CASE.
  537. LEAVE.
  538. END.
  539. IF LOOKUP(FeldName, '{&LETZTES_FELD}', ',') > 0 THEN DO:
  540. DO WHILE TRUE:
  541. IF KEYFUNCTION(LKY) = 'TAB' THEN LEAVE.
  542. IF KEYFUNCTION(LKY) = 'RETURN' THEN LEAVE.
  543. IF KEYFUNCTION(LKY) = 'F9' THEN LEAVE.
  544. RETURN ''.
  545. END.
  546. APPLY 'ALT-S'.
  547. RETURN 'APPLY'.
  548. END.
  549. RETURN ''.
  550. END PROCEDURE.
  551. /* _UIB-CODE-BLOCK-END */
  552. &ANALYZE-RESUME
  553. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RETURN_FELD vTableWin
  554. PROCEDURE RETURN_FELD :
  555. /*------------------------------------------------------------------------------
  556. Purpose:
  557. Parameters: <none>
  558. Notes:
  559. ------------------------------------------------------------------------------*/
  560. DEF INPUT PARAMETER ipHandle AS HANDLE NO-UNDO.
  561. DEF VAR FeldName AS CHAR NO-UNDO.
  562. IF FMut = FALSE THEN RETURN ''.
  563. IF NOT VALID-HANDLE(ipHandle) THEN RETURN ''.
  564. IF ipHandle:TYPE = 'FRAME' THEN RETURN ''.
  565. IF ipHandle:TYPE = 'WINDOW' THEN RETURN ''.
  566. FeldName = ipHandle:NAME.
  567. IF LOOKUP(FeldName, '{&ENABLED-FIELDS}', ' ') > 0 THEN DO:
  568. RETURN 'TAB'.
  569. END.
  570. IF LOOKUP(FeldName, '{&ENABLED-OBJECTS}', ' ') > 0 THEN DO:
  571. RETURN 'TAB'.
  572. END.
  573. FeldName = 'rowObject.' + FeldName.
  574. IF LOOKUP(FeldName, '{&ENABLED-FIELDS}', ' ') > 0 THEN DO:
  575. RETURN 'TAB'.
  576. END.
  577. IF LOOKUP(FeldName, '{&ENABLED-OBJECTS}', ' ') > 0 THEN DO:
  578. RETURN 'TAB'.
  579. END.
  580. RETURN ''.
  581. END PROCEDURE.
  582. /* _UIB-CODE-BLOCK-END */
  583. &ANALYZE-RESUME
  584. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateMode vTableWin
  585. PROCEDURE updateMode :
  586. /*------------------------------------------------------------------------------
  587. Purpose: Super Override
  588. Parameters:
  589. Notes:
  590. ------------------------------------------------------------------------------*/
  591. DEFINE INPUT PARAMETER pcMode AS CHARACTER NO-UNDO.
  592. CASE pcMode:
  593. WHEN 'updateBegin' THEN DO:
  594. END.
  595. WHEN 'updateEnd' THEN DO:
  596. END.
  597. END.
  598. RUN SUPER( INPUT pcMode).
  599. CASE pcMode:
  600. WHEN 'updateBegin' THEN DO:
  601. FMut = TRUE.
  602. END.
  603. WHEN 'updateEnd' THEN DO WITH FRAME {&FRAME-NAME}:
  604. FNeu = FALSE.
  605. FMut = FALSE.
  606. FCopy = FALSE.
  607. END.
  608. END.
  609. END PROCEDURE.
  610. /* _UIB-CODE-BLOCK-END */
  611. &ANALYZE-RESUME
  612. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateRecord vTableWin
  613. PROCEDURE updateRecord :
  614. /*------------------------------------------------------------------------------
  615. Purpose: Super Override
  616. Parameters:
  617. Notes:
  618. ------------------------------------------------------------------------------*/
  619. DEF VAR xNeu AS LOG NO-UNDO.
  620. xNeu = FNeu.
  621. DO WITH FRAME {&FRAME-NAME}:
  622. IF CB_Sprache:SCREEN-VALUE = rowObject.Sprcd:SCREEN-VALUE THEN xNeu = FALSE.
  623. rowObject.Sprcd:SCREEN-VALUE = CB_Sprache:SCREEN-VALUE.
  624. rowObject.Sprcd:MODIFIED = TRUE.
  625. END.
  626. FNeu = FALSE.
  627. FCopy = FALSE.
  628. RUN SUPER.
  629. IF xNeu THEN PUBLISH 'OPENKONDI' ( INPUT INTEGER(CB_Sprache:SCREEN-VALUE) ).
  630. END PROCEDURE.
  631. /* _UIB-CODE-BLOCK-END */
  632. &ANALYZE-RESUME