v-adresse-infdeb.w 24 KB

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