g-auswahl-tabelle.w 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865
  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. &Scoped-define FRAME-NAME gAuswahl
  8. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gAuswahl
  9. /*------------------------------------------------------------------------
  10. File:
  11. Description: from cntnrdlg.w - ADM2 SmartDialog Template
  12. Input Parameters:
  13. <none>
  14. Output Parameters:
  15. <none>
  16. Author:
  17. Created:
  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. /* Parameters Definitions --- */
  29. DEF INPUT PARAMETER ipFeld AS HANDLE NO-UNDO.
  30. DEF INPUT PARAMETER ipArt AS CHAR NO-UNDO.
  31. /* Local Variable Definitions --- */
  32. DEF VAR MaxPage AS INT NO-UNDO.
  33. DEF VAR AktSeite AS INT NO-UNDO.
  34. DEF VAR FMutFlag AS LOG NO-UNDO.
  35. DEF VAR FeldInhalt AS CHAR NO-UNDO.
  36. DEF VAR RecArt AS CHAR NO-UNDO.
  37. DEF VAR Firma AS CHAR NO-UNDO.
  38. DEF VAR Art AS INT NO-UNDO.
  39. DEF VAR Suchen AS INT NO-UNDO.
  40. DEF BUFFER BTabel FOR Tabel.
  41. /* _UIB-CODE-BLOCK-END */
  42. &ANALYZE-RESUME
  43. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  44. /* ******************** Preprocessor Definitions ******************** */
  45. &Scoped-define PROCEDURE-TYPE SmartDialog
  46. &Scoped-define DB-AWARE no
  47. &Scoped-define ADM-CONTAINER DIALOG-BOX
  48. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  49. /* Name of first Frame and/or Browse and/or first Query */
  50. &Scoped-define FRAME-NAME gAuswahl
  51. &Scoped-define BROWSE-NAME select-next-roeBr_Tabelle
  52. /* Internal Tables (found by Frame, Query & Browse Queries) */
  53. &Scoped-define INTERNAL-TABLES Tabel
  54. /* Definitions for BROWSE select-next-roeBr_Tabelle */
  55. &Scoped-define FIELDS-IN-QUERY-select-next-roeBr_Tabelle Tabel.CodeI ~
  56. Tabel.CodeC Tabel.Bez1
  57. &Scoped-define ENABLED-FIELDS-IN-QUERY-select-next-roeBr_Tabelle
  58. &Scoped-define OPEN-QUERY-select-next-roeBr_Tabelle OPEN QUERY select-next-roeBr_Tabelle FOR EACH Tabel NO-LOCK INDEXED-REPOSITION.
  59. &Scoped-define TABLES-IN-QUERY-select-next-roeBr_Tabelle Tabel
  60. &Scoped-define FIRST-TABLE-IN-QUERY-select-next-roeBr_Tabelle Tabel
  61. /* Definitions for DIALOG-BOX gAuswahl */
  62. /* Standard List Definitions */
  63. &Scoped-Define ENABLED-OBJECTS select-next-roeBr_Tabelle RECT-38
  64. /* Custom List Definitions */
  65. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  66. /* _UIB-PREPROCESSOR-BLOCK-END */
  67. &ANALYZE-RESUME
  68. /* *********************** Control Definitions ********************** */
  69. /* Define a dialog box */
  70. /* Definitions of the field level widgets */
  71. DEFINE RECTANGLE RECT-38
  72. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  73. SIZE 48 BY 8.1.
  74. /* Query definitions */
  75. &ANALYZE-SUSPEND
  76. DEFINE QUERY select-next-roeBr_Tabelle FOR
  77. Tabel SCROLLING.
  78. &ANALYZE-RESUME
  79. /* Browse definitions */
  80. DEFINE BROWSE select-next-roeBr_Tabelle
  81. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS select-next-roeBr_Tabelle gAuswahl _STRUCTURED
  82. QUERY select-next-roeBr_Tabelle NO-LOCK DISPLAY
  83. Tabel.CodeI COLUMN-LABEL "Code" FORMAT "999":U WIDTH 8
  84. Tabel.CodeC COLUMN-LABEL "Code" FORMAT "x(8)":U
  85. Tabel.Bez1 COLUMN-LABEL "Beschreibung" FORMAT "x(30)":U
  86. /* _UIB-CODE-BLOCK-END */
  87. &ANALYZE-RESUME
  88. WITH NO-ROW-MARKERS SEPARATORS MULTIPLE SIZE 44 BY 7.14
  89. BGCOLOR 15 .
  90. /* ************************ Frame Definitions *********************** */
  91. DEFINE FRAME gAuswahl
  92. select-next-roeBr_Tabelle AT ROW 1.95 COL 5
  93. RECT-38 AT ROW 1.48 COL 3
  94. SPACE(1.99) SKIP(0.22)
  95. WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
  96. SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
  97. TITLE "Auswahl aus Tabelle".
  98. /* *********************** Procedure Settings ************************ */
  99. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  100. /* Settings for THIS-PROCEDURE
  101. Type: SmartDialog
  102. Allow: Basic,Browse,DB-Fields,Query,Smart
  103. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  104. Design Page: 1
  105. Other Settings: COMPILE
  106. */
  107. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  108. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gAuswahl
  109. /* ************************* Included-Libraries *********************** */
  110. {src/adm2/containr.i}
  111. /* _UIB-CODE-BLOCK-END */
  112. &ANALYZE-RESUME
  113. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  114. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  115. /* SETTINGS FOR DIALOG-BOX gAuswahl
  116. */
  117. /* BROWSE-TAB select-next-roeBr_Tabelle 1 gAuswahl */
  118. ASSIGN
  119. FRAME gAuswahl:SCROLLABLE = FALSE
  120. FRAME gAuswahl:HIDDEN = TRUE.
  121. ASSIGN
  122. select-next-roeBr_Tabelle:ALLOW-COLUMN-SEARCHING IN FRAME gAuswahl = TRUE
  123. select-next-roeBr_Tabelle:COLUMN-RESIZABLE IN FRAME gAuswahl = TRUE.
  124. ASSIGN
  125. Tabel.CodeI:VISIBLE IN BROWSE select-next-roeBr_Tabelle = FALSE
  126. Tabel.CodeC:VISIBLE IN BROWSE select-next-roeBr_Tabelle = FALSE.
  127. /* _RUN-TIME-ATTRIBUTES-END */
  128. &ANALYZE-RESUME
  129. /* Setting information for Queries and Browse Widgets fields */
  130. &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gAuswahl
  131. /* Query rebuild information for DIALOG-BOX gAuswahl
  132. _Options = "SHARE-LOCK"
  133. _Query is NOT OPENED
  134. */ /* DIALOG-BOX gAuswahl */
  135. &ANALYZE-RESUME
  136. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE select-next-roeBr_Tabelle
  137. /* Query rebuild information for BROWSE select-next-roeBr_Tabelle
  138. _TblList = "AnaDat.Tabel"
  139. _Options = "NO-LOCK INDEXED-REPOSITION"
  140. _FldNameList[1] > AnaDat.Tabel.CodeI
  141. "Tabel.CodeI" "Code" "999" "integer" ? ? ? ? ? ? no ? no no "8" no no no "U" "" ""
  142. _FldNameList[2] > AnaDat.Tabel.CodeC
  143. "Tabel.CodeC" "Code" ? "character" ? ? ? ? ? ? no ? no no ? no no no "U" "" ""
  144. _FldNameList[3] > AnaDat.Tabel.Bez1
  145. "Tabel.Bez1" "Beschreibung" ? "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" ""
  146. _Query is NOT OPENED
  147. */ /* BROWSE select-next-roeBr_Tabelle */
  148. &ANALYZE-RESUME
  149. /* ************************ Control Triggers ************************ */
  150. &Scoped-define SELF-NAME gAuswahl
  151. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gAuswahl gAuswahl
  152. ON END-ERROR OF FRAME gAuswahl /* Auswahl aus Tabelle */
  153. DO:
  154. RUN ENDE.
  155. RETURN NO-APPLY.
  156. END.
  157. /* _UIB-CODE-BLOCK-END */
  158. &ANALYZE-RESUME
  159. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gAuswahl gAuswahl
  160. ON GO OF FRAME gAuswahl /* Auswahl aus Tabelle */
  161. DO:
  162. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR.
  163. END.
  164. /* _UIB-CODE-BLOCK-END */
  165. &ANALYZE-RESUME
  166. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gAuswahl gAuswahl
  167. ON WINDOW-CLOSE OF FRAME gAuswahl /* Auswahl aus Tabelle */
  168. DO:
  169. RUN SELEKTION.
  170. RUN ENDE.
  171. RETURN NO-APPLY.
  172. END.
  173. /* _UIB-CODE-BLOCK-END */
  174. &ANALYZE-RESUME
  175. &Scoped-define BROWSE-NAME select-next-roeBr_Tabelle
  176. &Scoped-define SELF-NAME select-next-roeBr_Tabelle
  177. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL select-next-roeBr_Tabelle gAuswahl
  178. ON ANY-PRINTABLE OF select-next-roeBr_Tabelle IN FRAME gAuswahl
  179. DO:
  180. DEF VAR ja AS LOG NO-UNDO.
  181. DEF VAR i AS INT NO-UNDO.
  182. DO WHILE TRUE:
  183. IF CHR(LASTKEY) = '' THEN RETURN NO-APPLY.
  184. IF NUM-RESULTS('{&BROWSE-NAME}') = 0 THEN RETURN NO-APPLY.
  185. i = {&BROWSE-NAME}:NUM-SELECTED-ROWS.
  186. IF i > 0 THEN LEAVE.
  187. i = {&BROWSE-NAME}:FOCUSED-ROW.
  188. IF i > 0 THEN DO:
  189. {&BROWSE-NAME}:SELECT-ROW(i).
  190. LEAVE.
  191. END.
  192. ja = BROWSE {&BROWSE-NAME}:SELECT-ROW(1).
  193. END.
  194. ja = BROWSE {&BROWSE-NAME}:SELECT-NEXT-ROW().
  195. i = 0.
  196. DO WHILE ja:
  197. CASE Suchen:
  198. WHEN 1 THEN DO:
  199. RETURN.
  200. END.
  201. WHEN 2 THEN DO:
  202. IF Tabel.CodeC BEGINS CHR(LASTKEY) THEN DO:
  203. REPOSITION {&BROWSE-NAME} TO ROWID ROWID(Tabel).
  204. RETURN.
  205. END.
  206. END.
  207. WHEN 3 THEN DO:
  208. IF Tabel.Bez1 BEGINS CHR(LASTKEY) THEN DO:
  209. REPOSITION {&BROWSE-NAME} TO ROWID ROWID(Tabel).
  210. RETURN.
  211. END.
  212. END.
  213. END CASE.
  214. ja = BROWSE {&BROWSE-NAME}:SELECT-NEXT-ROW().
  215. IF ja THEN NEXT.
  216. i = i + 1.
  217. ja = BROWSE {&BROWSE-NAME}:SELECT-ROW(1).
  218. IF i = 2 THEN RETURN.
  219. END.
  220. END.
  221. /* _UIB-CODE-BLOCK-END */
  222. &ANALYZE-RESUME
  223. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL select-next-roeBr_Tabelle gAuswahl
  224. ON CTRL-A OF select-next-roeBr_Tabelle IN FRAME gAuswahl
  225. DO:
  226. RUN DESELEKTION.
  227. END.
  228. /* _UIB-CODE-BLOCK-END */
  229. &ANALYZE-RESUME
  230. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL select-next-roeBr_Tabelle gAuswahl
  231. ON RETURN OF select-next-roeBr_Tabelle IN FRAME gAuswahl
  232. DO:
  233. RUN SELEKTION.
  234. RUN ENDE.
  235. RETURN NO-APPLY.
  236. END.
  237. /* _UIB-CODE-BLOCK-END */
  238. &ANALYZE-RESUME
  239. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL select-next-roeBr_Tabelle gAuswahl
  240. ON START-SEARCH OF select-next-roeBr_Tabelle IN FRAME gAuswahl
  241. DO:
  242. DEFINE VARIABLE ColumnHandle AS HANDLE NO-UNDO.
  243. ASSIGN ColumnHandle = {&BROWSE-NAME}:CURRENT-COLUMN.
  244. DO WITH FRAME {&FRAME-NAME}:
  245. APPLY 'END-SEARCH' TO BROWSE {&BROWSE-NAME}.
  246. END.
  247. CASE ColumnHandle:NAME:
  248. WHEN 'CodeI' THEN DO:
  249. Suchen = 1.
  250. END.
  251. WHEN 'CodeC' THEN DO:
  252. Suchen = 2.
  253. END.
  254. WHEN 'Bez1' THEN DO:
  255. Suchen = 3.
  256. END.
  257. END CASE.
  258. END.
  259. /* _UIB-CODE-BLOCK-END */
  260. &ANALYZE-RESUME
  261. &UNDEFINE SELF-NAME
  262. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gAuswahl
  263. /* *************************** Main Block *************************** */
  264. MaxPage = 1.
  265. AktSeite = 1.
  266. Suchen = 3.
  267. SESSION:DATA-ENTRY-RETURN = TRUE.
  268. SUBSCRIBE TO 'TOOLBAR' ANYWHERE.
  269. FeldInhalt = ipFeld:SCREEN-VALUE.
  270. RecArt = ipArt.
  271. Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
  272. /* TRIGGERS ------------------------------------------------------ */
  273. ON 'ALT-CURSOR-RIGHT':U OF FRAME {&FRAME-NAME} ANYWHERE
  274. DO:
  275. RUN NEXTPAGE.
  276. END.
  277. ON 'ALT-CURSOR-LEFT':U OF FRAME {&FRAME-NAME} ANYWHERE
  278. DO:
  279. RUN PREVPAGE.
  280. END.
  281. ON 'U1':U OF {&WINDOW-NAME} ANYWHERE
  282. DO:
  283. RUN ENTRY_CURSOR.
  284. END.
  285. /*
  286. ON 'PAGE-DOWN':U OF {&WINDOW-NAME} ANYWHERE
  287. DO:
  288. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'Next':U ).
  289. END.
  290. ON 'PAGE-UP':U OF {&WINDOW-NAME} ANYWHERE
  291. DO:
  292. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'Prev':U ).
  293. END.
  294. ON 'ALT-RETURN':U OF FRAME {&FRAME-NAME} ANYWHERE
  295. DO:
  296. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'UPDATE':U ).
  297. END.
  298. ON 'ALT-INS':U OF FRAME {&FRAME-NAME} ANYWHERE
  299. DO:
  300. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'ADD':U ).
  301. END.
  302. ON 'ALT-DEL':U OF FRAME {&FRAME-NAME} ANYWHERE
  303. DO:
  304. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'DELETE':U ).
  305. END.
  306. ON 'ALT-R':U OF FRAME {&FRAME-NAME} ANYWHERE
  307. DO:
  308. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'RESET':U ).
  309. END.
  310. ON 'F9':U OF FRAME {&FRAME-NAME} ANYWHERE
  311. DO:
  312. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'SAVE':U ).
  313. END.
  314. ON 'ALT-S':U OF FRAME {&FRAME-NAME} ANYWHERE
  315. DO:
  316. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'SAVE':U ).
  317. END.
  318. ON 'ALT-K':U OF FRAME {&FRAME-NAME} ANYWHERE
  319. DO:
  320. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'COPY':U ).
  321. END.
  322. ON 'END-ERROR':U OF FRAME {&FRAME-NAME} ANYWHERE
  323. DO:
  324. FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
  325. IF FMutFlag = FALSE THEN DO:
  326. RUN ENDE.
  327. RETURN NO-APPLY.
  328. END.
  329. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'CANCEL':U ).
  330. RETURN NO-APPLY.
  331. END.
  332. */
  333. /* ------------------------------------------------------------------ */
  334. {src/adm2/dialogmn.i}
  335. /* _UIB-CODE-BLOCK-END */
  336. &ANALYZE-RESUME
  337. /* ********************** Internal Procedures *********************** */
  338. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gAuswahl _ADM-CREATE-OBJECTS
  339. PROCEDURE adm-create-objects :
  340. /*------------------------------------------------------------------------------
  341. Purpose: Create handles for all SmartObjects used in this procedure.
  342. After SmartObjects are initialized, then SmartLinks are added.
  343. Parameters: <none>
  344. ------------------------------------------------------------------------------*/
  345. END PROCEDURE.
  346. /* _UIB-CODE-BLOCK-END */
  347. &ANALYZE-RESUME
  348. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE changePage gAuswahl
  349. PROCEDURE changePage :
  350. /*------------------------------------------------------------------------------
  351. Purpose: Super Override
  352. Parameters:
  353. Notes:
  354. ------------------------------------------------------------------------------*/
  355. /* Code placed here will execute PRIOR to standard behavior. */
  356. RUN SUPER.
  357. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  358. CASE AktSeite:
  359. WHEN 1 THEN DO:
  360. /* RUN addLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */
  361. /* RUN addLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */
  362. /* RUN ToolbarInit ( INPUT h_d-auftr ). */
  363. RUN ENTRY_CURSOR.
  364. END.
  365. WHEN 2 THEN DO:
  366. RUN ENTRY_CURSOR.
  367. END.
  368. END CASE.
  369. END PROCEDURE.
  370. /* _UIB-CODE-BLOCK-END */
  371. &ANALYZE-RESUME
  372. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DESELEKTION gAuswahl
  373. PROCEDURE DESELEKTION :
  374. /*------------------------------------------------------------------------------
  375. Purpose:
  376. Parameters: <none>
  377. Notes:
  378. ------------------------------------------------------------------------------*/
  379. DEF VAR ii AS INT NO-UNDO.
  380. DEF VAR ix AS INT NO-UNDO.
  381. DO WITH FRAME {&FRAME-NAME}:
  382. ii = {&BROWSE-NAME}:NUM-SELECTED-ROWS.
  383. DO ix = 1 TO ii:
  384. {&BROWSE-NAME}:DESELECT-SELECTED-ROW(01) NO-ERROR.
  385. END.
  386. END.
  387. END PROCEDURE.
  388. /* _UIB-CODE-BLOCK-END */
  389. &ANALYZE-RESUME
  390. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gAuswahl _DEFAULT-DISABLE
  391. PROCEDURE disable_UI :
  392. /*------------------------------------------------------------------------------
  393. Purpose: DISABLE the User Interface
  394. Parameters: <none>
  395. Notes: Here we clean-up the user-interface by deleting
  396. dynamic widgets we have created and/or hide
  397. frames. This procedure is usually called when
  398. we are ready to "clean-up" after running.
  399. ------------------------------------------------------------------------------*/
  400. /* Hide all frames. */
  401. HIDE FRAME gAuswahl.
  402. END PROCEDURE.
  403. /* _UIB-CODE-BLOCK-END */
  404. &ANALYZE-RESUME
  405. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gAuswahl
  406. PROCEDURE enableObject :
  407. /*------------------------------------------------------------------------------
  408. Purpose: Super Override
  409. Parameters:
  410. Notes:
  411. ------------------------------------------------------------------------------*/
  412. Art = 0.
  413. DO WITH FRAME {&FRAME-NAME}:
  414. CASE RecArt:
  415. WHEN 'HERST' THEN DO:
  416. FRAME {&FRAME-NAME}:TITLE = 'Hersteller'.
  417. Tabel.CodeI:VISIBLE IN BROWSE {&BROWSE-NAME} = TRUE.
  418. Art = 0.
  419. END.
  420. WHEN 'AREG' THEN DO:
  421. FRAME {&FRAME-NAME}:TITLE = 'Regionen'.
  422. Tabel.CodeI:VISIBLE IN BROWSE {&BROWSE-NAME} = TRUE.
  423. Art = 0.
  424. END.
  425. WHEN 'KUNDGRP' THEN DO:
  426. FRAME {&FRAME-NAME}:TITLE = 'Kundengruppen'.
  427. Tabel.CodeI:VISIBLE IN BROWSE {&BROWSE-NAME} = TRUE.
  428. Art = 0.
  429. END.
  430. WHEN 'PREGRP' THEN DO:
  431. FRAME {&FRAME-NAME}:TITLE = 'Preisgruppen'.
  432. Tabel.CodeI:VISIBLE IN BROWSE {&BROWSE-NAME} = TRUE.
  433. Art = 0.
  434. END.
  435. WHEN 'BIER' THEN DO:
  436. FRAME {&FRAME-NAME}:TITLE = 'Vertragsgruppe'.
  437. Tabel.CodeI:VISIBLE IN BROWSE {&BROWSE-NAME} = TRUE.
  438. Art = 0.
  439. END.
  440. WHEN 'BESUCH' THEN DO:
  441. FRAME {&FRAME-NAME}:TITLE = 'Besuchsarten/Aktivitäten'.
  442. Tabel.CodeC:VISIBLE IN BROWSE {&BROWSE-NAME} = TRUE.
  443. Art = 1.
  444. END.
  445. END CASE.
  446. {&BROWSE-NAME}:SET-REPOSITIONED-ROW ( 3 , 'CONDITIONAL' ).
  447. END.
  448. RUN SUPER.
  449. RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR.
  450. RUN OPEN_TABELLE.
  451. END PROCEDURE.
  452. /* _UIB-CODE-BLOCK-END */
  453. &ANALYZE-RESUME
  454. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gAuswahl _DEFAULT-ENABLE
  455. PROCEDURE enable_UI :
  456. /*------------------------------------------------------------------------------
  457. Purpose: ENABLE the User Interface
  458. Parameters: <none>
  459. Notes: Here we display/view/enable the widgets in the
  460. user-interface. In addition, OPEN all queries
  461. associated with each FRAME and BROWSE.
  462. These statements here are based on the "Other
  463. Settings" section of the widget Property Sheets.
  464. ------------------------------------------------------------------------------*/
  465. ENABLE select-next-roeBr_Tabelle RECT-38
  466. WITH FRAME gAuswahl.
  467. VIEW FRAME gAuswahl.
  468. {&OPEN-BROWSERS-IN-QUERY-gAuswahl}
  469. END PROCEDURE.
  470. /* _UIB-CODE-BLOCK-END */
  471. &ANALYZE-RESUME
  472. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gAuswahl
  473. PROCEDURE ENDE :
  474. /*------------------------------------------------------------------------------
  475. Purpose:
  476. Parameters: <none>
  477. Notes:
  478. ------------------------------------------------------------------------------*/
  479. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  480. IF AktSeite > 1 THEN DO:
  481. RUN selectPage ( INPUT 1 ).
  482. RETURN NO-APPLY.
  483. END.
  484. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ).
  485. APPLY 'GO' TO FRAME {&FRAME-NAME}.
  486. RETURN NO-APPLY.
  487. END PROCEDURE.
  488. /* _UIB-CODE-BLOCK-END */
  489. &ANALYZE-RESUME
  490. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_CURSOR gAuswahl
  491. PROCEDURE ENTRY_CURSOR :
  492. /*------------------------------------------------------------------------------
  493. Purpose:
  494. Parameters: <none>
  495. Notes:
  496. ------------------------------------------------------------------------------*/
  497. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  498. CASE AktSeite:
  499. WHEN 1 THEN APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  500. END CASE.
  501. RETURN NO-APPLY.
  502. END PROCEDURE.
  503. /* _UIB-CODE-BLOCK-END */
  504. &ANALYZE-RESUME
  505. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject gAuswahl
  506. PROCEDURE exitObject :
  507. /*------------------------------------------------------------------------------
  508. Purpose: Super Override
  509. Parameters:
  510. Notes:
  511. ------------------------------------------------------------------------------*/
  512. RUN ENDE.
  513. RETURN NO-APPLY.
  514. END PROCEDURE.
  515. /* _UIB-CODE-BLOCK-END */
  516. &ANALYZE-RESUME
  517. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NEXTPAGE gAuswahl
  518. PROCEDURE NEXTPAGE :
  519. /*------------------------------------------------------------------------------
  520. Purpose:
  521. Parameters: <none>
  522. Notes:
  523. ------------------------------------------------------------------------------*/
  524. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  525. IF AktSeite = MaxPage THEN AktSeite = 1.
  526. ELSE AktSeite = AktSeite + 1.
  527. RUN selectPage ( INPUT AktSeite ).
  528. END PROCEDURE.
  529. /* _UIB-CODE-BLOCK-END */
  530. &ANALYZE-RESUME
  531. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE OPEN_TABELLE gAuswahl
  532. PROCEDURE OPEN_TABELLE :
  533. /*------------------------------------------------------------------------------
  534. Purpose:
  535. Parameters: <none>
  536. Notes:
  537. ------------------------------------------------------------------------------*/
  538. CASE Art:
  539. WHEN 0 THEN DO:
  540. OPEN QUERY {&BROWSE-NAME}
  541. FOR EACH Tabel WHERE Tabel.Firma = Firma
  542. AND Tabel.RecArt = RecArt
  543. AND Tabel.Sprcd = 1 NO-LOCK BY Tabel.Bez1.
  544. END.
  545. WHEN 1 THEN DO:
  546. OPEN QUERY {&BROWSE-NAME}
  547. FOR EACH Tabel WHERE Tabel.Firma = Firma
  548. AND Tabel.RecArt = RecArt
  549. AND Tabel.Sprcd = 1 NO-LOCK BY Tabel.Bez1.
  550. END.
  551. END CASE.
  552. END PROCEDURE.
  553. /* _UIB-CODE-BLOCK-END */
  554. &ANALYZE-RESUME
  555. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PREVPAGE gAuswahl
  556. PROCEDURE PREVPAGE :
  557. /*------------------------------------------------------------------------------
  558. Purpose:
  559. Parameters: <none>
  560. Notes:
  561. ------------------------------------------------------------------------------*/
  562. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  563. IF AktSeite = 1 THEN AktSeite = MaxPage.
  564. ELSE AktSeite = AktSeite - 1.
  565. RUN selectPage ( INPUT AktSeite ).
  566. END PROCEDURE.
  567. /* _UIB-CODE-BLOCK-END */
  568. &ANALYZE-RESUME
  569. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE selectPage gAuswahl
  570. PROCEDURE selectPage :
  571. /*------------------------------------------------------------------------------
  572. Purpose: Super Override
  573. Parameters:
  574. Notes:
  575. ------------------------------------------------------------------------------*/
  576. DEF INPUT PARAMETER piPageNum AS INT NO-UNDO.
  577. DEF VAR FMutFlag AS LOG NO-UNDO.
  578. DEF VAR MutProg AS CHAR NO-UNDO.
  579. FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
  580. DO WHILE TRUE:
  581. IF NOT FMutFlag THEN LEAVE.
  582. MutProg = DYNAMIC-FUNCTION('GETMUTPROG':U).
  583. IF MutProg <> THIS-PROCEDURE:FILE-NAME THEN LEAVE.
  584. RETURN NO-APPLY.
  585. END.
  586. CASE piPageNum:
  587. END CASE.
  588. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  589. CASE AktSeite:
  590. WHEN 1 THEN DO:
  591. /* RUN removeLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */
  592. /* RUN removeLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */
  593. END.
  594. END CASE.
  595. RUN SUPER( INPUT piPageNum).
  596. END PROCEDURE.
  597. /* _UIB-CODE-BLOCK-END */
  598. &ANALYZE-RESUME
  599. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SELEKTION gAuswahl
  600. PROCEDURE SELEKTION :
  601. /*------------------------------------------------------------------------------
  602. Purpose:
  603. Parameters: <none>
  604. Notes:
  605. ------------------------------------------------------------------------------*/
  606. DEF VAR ii AS INT NO-UNDO.
  607. DEF VAR ix AS INT NO-UNDO.
  608. DEF VAR cString AS CHAR NO-UNDO.
  609. DO WITH FRAME {&FRAME-NAME}:
  610. ii = {&BROWSE-NAME}:NUM-SELECTED-ROWS.
  611. cString = ''.
  612. DO ix = ii TO 1 BY -1:
  613. {&BROWSE-NAME}:FETCH-SELECTED-ROW(ix) NO-ERROR.
  614. IF NOT AVAILABLE Tabel THEN NEXT.
  615. IF cString <> '' THEN cString = cString + ','.
  616. CASE Art:
  617. WHEN 0 THEN cString = cString + STRING(Tabel.CodeI,'999').
  618. WHEN 1 THEN cString = cString + Tabel.CodeC.
  619. END CASE.
  620. END.
  621. ipFeld:SCREEN-VALUE = cString.
  622. END.
  623. END PROCEDURE.
  624. /* _UIB-CODE-BLOCK-END */
  625. &ANALYZE-RESUME
  626. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TOOLBAR gAuswahl
  627. PROCEDURE TOOLBAR :
  628. /*------------------------------------------------------------------------------
  629. Purpose:
  630. Parameters: <none>
  631. Notes:
  632. ------------------------------------------------------------------------------*/
  633. DEF INPUT PARAMETER pcAction AS CHAR NO-UNDO.
  634. /*
  635. RUN TOOLBAR IN h_dyntoolbar ( INPUT pcAction ).
  636. */
  637. END PROCEDURE.
  638. /* _UIB-CODE-BLOCK-END */
  639. &ANALYZE-RESUME
  640. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE viewObject gAuswahl
  641. PROCEDURE viewObject :
  642. /*------------------------------------------------------------------------------
  643. Purpose: Super Override
  644. Parameters:
  645. Notes:
  646. ------------------------------------------------------------------------------*/
  647. RUN SUPER.
  648. DEF VAR ix AS INT NO-UNDO.
  649. DEF VAR ii AS INT NO-UNDO.
  650. DEF VAR cc AS CHAR NO-UNDO.
  651. DO ix = 1 TO NUM-ENTRIES(FeldInhalt, ',') WITH FRAME {&FRAME-NAME}:
  652. CASE Art:
  653. WHEN 0 THEN DO:
  654. ii = INTEGER(ENTRY(ix, FeldInhalt, ',')) NO-ERROR.
  655. IF ERROR-STATUS:ERROR THEN NEXT.
  656. FIND BTabel WHERE BTabel.Firma = Firma
  657. AND BTabel.RecArt = RecArt
  658. AND BTabel.Sprcd = 1
  659. AND BTabel.CodeI = ii
  660. AND BTabel.CodeC = '' NO-LOCK NO-ERROR.
  661. IF AVAILABLE BTabel THEN DO:
  662. REPOSITION {&BROWSE-NAME} TO ROWID ROWID(BTabel).
  663. {&BROWSE-NAME}:SELECT-FOCUSED-ROW().
  664. END.
  665. END.
  666. END CASE.
  667. END.
  668. END PROCEDURE.
  669. /* _UIB-CODE-BLOCK-END */
  670. &ANALYZE-RESUME