b-artst_1.w 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837
  1. &ANALYZE-SUSPEND _VERSION-NUMBER UIB_v8r12 GUI ADM1
  2. &ANALYZE-RESUME
  3. /* Connected Databases
  4. anadat PROGRESS
  5. */
  6. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  7. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS B-table-Win
  8. /*------------------------------------------------------------------------
  9. File:
  10. Description: from BROWSER.W - Basic SmartBrowser Object Template
  11. Input Parameters:
  12. <none>
  13. Output Parameters:
  14. <none>
  15. ------------------------------------------------------------------------*/
  16. /* This .W file was created with the Progress UIB. */
  17. /*----------------------------------------------------------------------*/
  18. /* Create an unnamed pool to store all the widgets created
  19. by this procedure. This is a good default which assures
  20. that this procedure's triggers and internal procedures
  21. will execute in this procedure's storage, and that proper
  22. cleanup will occur on deletion of the procedure. */
  23. CREATE WIDGET-POOL.
  24. &Scoped-define ERSTES-FELD Artnr
  25. &Scoped-define ZWEITES-FELD Inhalt
  26. &Scoped-define LETZTES-FELD Bez
  27. &Scoped-define INPUT-FELDER Artst.Artnr, Artst.Inhalt, Artst.Jahr, Artst.Suchbe, Artst.Bez
  28. &Scoped-define DATEI-NAME Artst
  29. /* *************************** Definitions ************************** */
  30. /* Parameters Definitions --- */
  31. /* Local Variable Definitions --- */
  32. /* --------------------------------------------------------------------------- */
  33. DEF VAR VUpdate AS LOG INIT FALSE NO-UNDO.
  34. DEF VAR VSpeichern AS LOG INIT FALSE NO-UNDO.
  35. DEF VAR VNeu AS LOG INIT FALSE NO-UNDO.
  36. DEF VAR PHandle AS HANDLE NO-UNDO.
  37. DEF VAR XHandle AS HANDLE NO-UNDO.
  38. DEF VAR ch AS CHAR NO-UNDO.
  39. DEF VAR VText AS CHAR FORMAT "x(30)" NO-UNDO.
  40. DEF VAR QOpen AS LOG INIT FALSE NO-UNDO.
  41. DEF VAR FQOpen AS LOG INIT FALSE NO-UNDO.
  42. DEF VAR Vorhanden AS LOG NO-UNDO.
  43. DEF VAR VRecid AS RECID NO-UNDO.
  44. DEF VAR VROWID AS ROWID NO-UNDO.
  45. DEF VAR Feldname AS CHAR NO-UNDO.
  46. DEF VAR FeldInhalt AS CHAR NO-UNDO.
  47. DEF BUFFER B{&DATEI-NAME} FOR {&DATEI-NAME}.
  48. /* --------------------------------------------------------------------------- */
  49. DEF VAR VArtnr AS INT.
  50. DEF VAR VSuchbe AS CHAR.
  51. DEF VAR SortierArt AS INT.
  52. DEF VAR VArtnrL AS INT.
  53. /* ---------- Globale Variablen ---------------------------------- */
  54. { v8/globvar.i" " " " "SHARED" }
  55. { v8/debivar.i " " " " "SHARED" }
  56. { v8/artivar.i " " " " "SHARED" }
  57. { v8/contvar.i " " " " "SHARED" }
  58. /* _UIB-CODE-BLOCK-END */
  59. &ANALYZE-RESUME
  60. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  61. /* ******************** Preprocessor Definitions ******************** */
  62. &Scoped-define PROCEDURE-TYPE SmartBrowser
  63. &Scoped-define DB-AWARE no
  64. &Scoped-define ADM-SUPPORTED-LINKS Record-Source,Record-Target,TableIO-Target
  65. /* Name of first Frame and/or Browse and/or first Query */
  66. &Scoped-define FRAME-NAME F-Main
  67. &Scoped-define BROWSE-NAME br_table
  68. /* Internal Tables (found by Frame, Query & Browse Queries) */
  69. &Scoped-define INTERNAL-TABLES Artst
  70. /* Define KEY-PHRASE in case it is used by any query. */
  71. &Scoped-define KEY-PHRASE TRUE
  72. /* Definitions for BROWSE br_table */
  73. &Scoped-define FIELDS-IN-QUERY-br_table Artst.Artnr Artst.Inhalt Artst.Jahr ~
  74. Artst.Suchbe Artst.Bez Artst.Alk_Gehalt
  75. &Scoped-define ENABLED-FIELDS-IN-QUERY-br_table
  76. &Scoped-define OPEN-QUERY-br_table OPEN QUERY br_table FOR EACH Artst WHERE ~{&KEY-PHRASE} ~
  77. AND Artst.Firma = "GVFirma" NO-LOCK ~
  78. ~{&SORTBY-PHRASE}.
  79. &Scoped-define TABLES-IN-QUERY-br_table Artst
  80. &Scoped-define FIRST-TABLE-IN-QUERY-br_table Artst
  81. /* Definitions for FRAME F-Main */
  82. &Scoped-define OPEN-BROWSERS-IN-QUERY-F-Main ~
  83. ~{&OPEN-QUERY-br_table}
  84. /* Standard List Definitions */
  85. &Scoped-Define ENABLED-OBJECTS br_table F_SortierArt F_Suchbe RECT-8
  86. &Scoped-Define DISPLAYED-OBJECTS F_SortierArt F_Suchbe
  87. /* Custom List Definitions */
  88. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  89. &Scoped-define List-1 F_SortierArt F_Suchbe
  90. /* _UIB-PREPROCESSOR-BLOCK-END */
  91. &ANALYZE-RESUME
  92. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _XFTR "Foreign Keys" B-table-Win _INLINE
  93. /* Actions: ? adm/support/keyedit.w ? ? ? */
  94. /* STRUCTURED-DATA
  95. <KEY-OBJECT>
  96. &BROWSE-NAME
  97. </KEY-OBJECT>
  98. <FOREIGN-KEYS>
  99. </FOREIGN-KEYS
  100. ><EXECUTING-CODE>
  101. **************************
  102. * Set attributes related to FOREIGN KEYS
  103. */
  104. RUN set-attribute-list (
  105. 'Keys-Accepted = "",
  106. Keys-Supplied = ""':U).
  107. /**************************
  108. </EXECUTING-CODE> */
  109. /* _UIB-CODE-BLOCK-END */
  110. &ANALYZE-RESUME
  111. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _XFTR "Advanced Query Options" B-table-Win _INLINE
  112. /* Actions: ? adm/support/advqedit.w ? ? ? */
  113. /* STRUCTURED-DATA
  114. <KEY-OBJECT>
  115. &BROWSE-NAME
  116. </KEY-OBJECT>
  117. <SORTBY-OPTIONS>
  118. </SORTBY-OPTIONS>
  119. <SORTBY-RUN-CODE>
  120. ************************
  121. * Set attributes related to SORTBY-OPTIONS */
  122. RUN set-attribute-list (
  123. 'SortBy-Options = ""':U).
  124. /************************
  125. </SORTBY-RUN-CODE>
  126. <FILTER-ATTRIBUTES>
  127. </FILTER-ATTRIBUTES> */
  128. /* _UIB-CODE-BLOCK-END */
  129. &ANALYZE-RESUME
  130. /* *********************** Control Definitions ********************** */
  131. /* Definitions of the field level widgets */
  132. DEFINE VARIABLE F_Suchbe AS CHARACTER FORMAT "X(20)":U
  133. VIEW-AS FILL-IN NATIVE
  134. SIZE 30 BY 1
  135. BGCOLOR 15 NO-UNDO.
  136. DEFINE VARIABLE F_SortierArt AS INTEGER INITIAL 1
  137. VIEW-AS RADIO-SET VERTICAL
  138. RADIO-BUTTONS
  139. "Artikelnummer", 1,
  140. "Suchbegriff", 2,
  141. "Bezeichnung", 3,
  142. "Match", 4
  143. SIZE 30 BY 3.67 NO-UNDO.
  144. DEFINE RECTANGLE RECT-8
  145. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  146. SIZE 123 BY 6.43.
  147. /* Query definitions */
  148. &ANALYZE-SUSPEND
  149. DEFINE QUERY br_table FOR
  150. Artst SCROLLING.
  151. &ANALYZE-RESUME
  152. /* Browse definitions */
  153. DEFINE BROWSE br_table
  154. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS br_table B-table-Win _STRUCTURED
  155. QUERY br_table NO-LOCK DISPLAY
  156. Artst.Artnr FORMAT "zz99999999":U
  157. Artst.Inhalt FORMAT "9999":U
  158. Artst.Jahr FORMAT "z9999":U
  159. Artst.Suchbe COLUMN-LABEL "Suchbegriff" FORMAT "x(15)":U
  160. Artst.Bez COLUMN-LABEL "Bezeichnung" FORMAT "x(30)":U
  161. Artst.Alk_Gehalt COLUMN-LABEL "Vol.%" FORMAT "zz9.999":U
  162. /* _UIB-CODE-BLOCK-END */
  163. &ANALYZE-RESUME
  164. WITH NO-ASSIGN NO-ROW-MARKERS SEPARATORS SIZE 84 BY 5.95
  165. BGCOLOR 15 .
  166. /* ************************ Frame Definitions *********************** */
  167. DEFINE FRAME F-Main
  168. br_table AT ROW 1.48 COL 3
  169. F_SortierArt AT ROW 1.76 COL 92 NO-LABEL
  170. F_Suchbe AT ROW 6.1 COL 90 COLON-ALIGNED NO-LABEL
  171. RECT-8 AT ROW 1.24 COL 2
  172. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  173. SIDE-LABELS NO-UNDERLINE THREE-D
  174. AT COL 1 ROW 1 SCROLLABLE .
  175. /* *********************** Procedure Settings ************************ */
  176. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  177. /* Settings for THIS-PROCEDURE
  178. Type: SmartBrowser
  179. Allow: Basic,Browse
  180. Frames: 1
  181. Add Fields to: EXTERNAL-TABLES
  182. Other Settings: PERSISTENT-ONLY COMPILE
  183. */
  184. /* This procedure should always be RUN PERSISTENT. Report the error, */
  185. /* then cleanup and return. */
  186. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  187. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  188. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  189. RETURN.
  190. END.
  191. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  192. /* ************************* Create Window ************************** */
  193. &ANALYZE-SUSPEND _CREATE-WINDOW
  194. /* DESIGN Window definition (used by the UIB)
  195. CREATE WINDOW B-table-Win ASSIGN
  196. HEIGHT = 6.86
  197. WIDTH = 126.2.
  198. /* END WINDOW DEFINITION */
  199. */
  200. &ANALYZE-RESUME
  201. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB B-table-Win
  202. /* ************************* Included-Libraries *********************** */
  203. {src/adm/method/browser.i}
  204. /* _UIB-CODE-BLOCK-END */
  205. &ANALYZE-RESUME
  206. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  207. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  208. /* SETTINGS FOR WINDOW B-table-Win
  209. NOT-VISIBLE,,RUN-PERSISTENT */
  210. /* SETTINGS FOR FRAME F-Main
  211. NOT-VISIBLE Size-to-Fit */
  212. /* BROWSE-TAB br_table 1 F-Main */
  213. ASSIGN
  214. FRAME F-Main:SCROLLABLE = FALSE
  215. FRAME F-Main:HIDDEN = TRUE.
  216. /* SETTINGS FOR RADIO-SET F_SortierArt IN FRAME F-Main
  217. 1 */
  218. /* SETTINGS FOR FILL-IN F_Suchbe IN FRAME F-Main
  219. 1 */
  220. /* _RUN-TIME-ATTRIBUTES-END */
  221. &ANALYZE-RESUME
  222. /* Setting information for Queries and Browse Widgets fields */
  223. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE br_table
  224. /* Query rebuild information for BROWSE br_table
  225. _TblList = "AnaDat.Artst"
  226. _Options = "NO-LOCK KEY-PHRASE SORTBY-PHRASE"
  227. _Where[1] = "Artst.Firma = ""GVFirma"""
  228. _FldNameList[1] > AnaDat.Artst.Artnr
  229. "Artst.Artnr" ? "zz99999999" "integer" ? ? ? ? ? ? no ? no no ? yes no no "U" "" ""
  230. _FldNameList[2] = AnaDat.Artst.Inhalt
  231. _FldNameList[3] > AnaDat.Artst.Jahr
  232. "Artst.Jahr" ? "z9999" "integer" ? ? ? ? ? ? no ? no no ? yes no no "U" "" ""
  233. _FldNameList[4] > AnaDat.Artst.Suchbe
  234. "Artst.Suchbe" "Suchbegriff" ? "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" ""
  235. _FldNameList[5] > AnaDat.Artst.Bez
  236. "Artst.Bez" "Bezeichnung" ? "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" ""
  237. _FldNameList[6] > AnaDat.Artst.Alk_Gehalt
  238. "Artst.Alk_Gehalt" "Vol.%" ? "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" ""
  239. _Query is OPENED
  240. */ /* BROWSE br_table */
  241. &ANALYZE-RESUME
  242. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  243. /* Query rebuild information for FRAME F-Main
  244. _Options = "NO-LOCK"
  245. _Query is NOT OPENED
  246. */ /* FRAME F-Main */
  247. &ANALYZE-RESUME
  248. /* ************************ Control Triggers ************************ */
  249. &Scoped-define BROWSE-NAME br_table
  250. &Scoped-define SELF-NAME br_table
  251. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  252. ON LEFT-MOUSE-DBLCLICK OF br_table IN FRAME F-Main
  253. DO:
  254. IF NOT AVAILABLE Artst THEN RETURN NO-APPLY.
  255. LVArtnr = Artst.Artnr.
  256. LVInhalt = Artst.Inhalt.
  257. LVJahr = Artst.Jahr.
  258. RUN new-state ( INPUT 'Zugang':U ).
  259. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  260. RETURN NO-APPLY.
  261. END.
  262. /* _UIB-CODE-BLOCK-END */
  263. &ANALYZE-RESUME
  264. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  265. ON ROW-DISPLAY OF br_table IN FRAME F-Main
  266. DO:
  267. RUN ANZEIGE.
  268. END.
  269. /* _UIB-CODE-BLOCK-END */
  270. &ANALYZE-RESUME
  271. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  272. ON ROW-ENTRY OF br_table IN FRAME F-Main
  273. DO:
  274. {src/adm/template/brsentry.i}
  275. END.
  276. /* _UIB-CODE-BLOCK-END */
  277. &ANALYZE-RESUME
  278. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  279. ON ROW-LEAVE OF br_table IN FRAME F-Main
  280. DO:
  281. DO WHILE VUpdate WITH FRAME {&FRAME-NAME}:
  282. IF NOT {&BROWSE-NAME}:CURRENT-ROW-MODIFIED THEN DO:
  283. IF VNeu THEN LEAVE.
  284. IF VALID-HANDLE(PHandle) THEN DO:
  285. RUN ABBRECHEN IN PHandle.
  286. LEAVE.
  287. END.
  288. END.
  289. XHandle = LAST-EVENT:WIDGET-ENTER.
  290. DO WHILE VALID-HANDLE(XHandle):
  291. IF XHandle:TYPE <> 'BUTTON' THEN DO:
  292. IF VALID-HANDLE(PHandle) THEN DO:
  293. IF VSpeichern THEN RUN SPEICHERN IN PHandle.
  294. ELSE RUN ABBRECHEN IN PHandle.
  295. LEAVE.
  296. END.
  297. ELSE DO:
  298. LEAVE.
  299. END.
  300. END.
  301. ELSE DO:
  302. IF XHandle:PRIVATE-DATA = 'Panel_Speichern' THEN DO:
  303. IF VALID-HANDLE(PHandle) THEN DO:
  304. RUN SPEICHERN IN PHandle.
  305. LEAVE.
  306. END.
  307. END.
  308. IF XHandle:PRIVATE-DATA = 'Panel_Abbrechen' THEN DO:
  309. IF VALID-HANDLE(PHandle) THEN DO:
  310. RUN ABBRECHEN IN PHandle.
  311. LEAVE.
  312. END.
  313. END.
  314. END.
  315. LEAVE.
  316. END.
  317. LEAVE.
  318. END.
  319. {src/adm/template/brsleave.i}
  320. END.
  321. /* _UIB-CODE-BLOCK-END */
  322. &ANALYZE-RESUME
  323. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  324. ON VALUE-CHANGED OF br_table IN FRAME F-Main
  325. DO:
  326. {src/adm/template/brschnge.i}
  327. RUN ANZEIGE.
  328. END.
  329. /* _UIB-CODE-BLOCK-END */
  330. &ANALYZE-RESUME
  331. &Scoped-define SELF-NAME F_SortierArt
  332. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_SortierArt B-table-Win
  333. ON VALUE-CHANGED OF F_SortierArt IN FRAME F-Main
  334. DO:
  335. IF Vorhanden = TRUE THEN {&BROWSE-NAME}:REFRESH().
  336. APPLY 'ENTRY' TO F_Suchbe IN FRAME {&FRAME-NAME}.
  337. RETURN NO-APPLY.
  338. END.
  339. /* _UIB-CODE-BLOCK-END */
  340. &ANALYZE-RESUME
  341. &Scoped-define SELF-NAME F_Suchbe
  342. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Suchbe B-table-Win
  343. ON RETURN OF F_Suchbe IN FRAME F-Main
  344. DO:
  345. RUN dispatch IN THIS-PROCEDURE ('assign-statement':U).
  346. RUN dispatch IN THIS-PROCEDURE ('open-query':U).
  347. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  348. RETURN NO-APPLY.
  349. END.
  350. /* _UIB-CODE-BLOCK-END */
  351. &ANALYZE-RESUME
  352. &UNDEFINE SELF-NAME
  353. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK B-table-Win
  354. /* *************************** Main Block *************************** */
  355. SortierArt = 1.
  356. F_SortierArt = 1.
  357. VSuchbe = '':U.
  358. VArtnr = 0.
  359. FIND Steuer WHERE Steuer.Firma = GVFirma NO-LOCK NO-ERROR.
  360. VArtnrL = Steuer.Fwi10.
  361. /* ------ Triggers ---------------------------------------------------- */
  362. ON LEFT-MOUSE-DOWN, RIGHT-MOUSE-DOWN, MIDDLE-MOUSE-DOWN OF BROWSE {&BROWSE-NAME}
  363. DO:
  364. IF VUpdate THEN DO:
  365. XHandle = {&BROWSE-NAME}:CURRENT-COLUMN IN FRAME {&FRAME-NAME}.
  366. APPLY 'LEAVE' TO XHandle.
  367. RETURN.
  368. END.
  369. END.
  370. ON CTRL-CURSOR-RIGHT OF FRAME {&FRAME-NAME} ANYWHERE
  371. DO:
  372. RUN new-state ( 'Next_Page, MAIN':U ).
  373. RETURN NO-APPLY.
  374. END.
  375. ON CTRL-CURSOR-LEFT OF FRAME {&FRAME-NAME} ANYWHERE
  376. DO:
  377. RUN new-state ( 'Prev_Page, MAIN':U ).
  378. RETURN NO-APPLY.
  379. END.
  380. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  381. RUN dispatch IN THIS-PROCEDURE ('initialize':U).
  382. &ENDIF
  383. /* _UIB-CODE-BLOCK-END */
  384. &ANALYZE-RESUME
  385. /* ********************** Internal Procedures *********************** */
  386. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-row-available B-table-Win _ADM-ROW-AVAILABLE
  387. PROCEDURE adm-row-available :
  388. /*------------------------------------------------------------------------------
  389. Purpose: Dispatched to this procedure when the Record-
  390. Source has a new row available. This procedure
  391. tries to get the new row (or foriegn keys) from
  392. the Record-Source and process it.
  393. Parameters: <none>
  394. ------------------------------------------------------------------------------*/
  395. /* Define variables needed by this internal procedure. */
  396. {src/adm/template/row-head.i}
  397. /* Process the newly available records (i.e. display fields,
  398. open queries, and/or pass records on to any RECORD-TARGETS). */
  399. {src/adm/template/row-end.i}
  400. END PROCEDURE.
  401. /* _UIB-CODE-BLOCK-END */
  402. &ANALYZE-RESUME
  403. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ANZEIGE B-table-Win
  404. PROCEDURE ANZEIGE :
  405. /*------------------------------------------------------------------------------
  406. Purpose:
  407. Parameters: <none>
  408. Notes:
  409. ------------------------------------------------------------------------------*/
  410. VText = ''.
  411. IF AVAILABLE {&DATEI-NAME} THEN DO:
  412. VRecid = RECID({&DATEI-NAME}).
  413. VROWID = ROWID({&DATEI-NAME}).
  414. LVArtnr = Artst.Artnr.
  415. LVInhalt = Artst.Inhalt.
  416. LVJahr = Artst.Jahr.
  417. END.
  418. END PROCEDURE.
  419. /* _UIB-CODE-BLOCK-END */
  420. &ANALYZE-RESUME
  421. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI B-table-Win _DEFAULT-DISABLE
  422. PROCEDURE disable_UI :
  423. /*------------------------------------------------------------------------------
  424. Purpose: DISABLE the User Interface
  425. Parameters: <none>
  426. Notes: Here we clean-up the user-interface by deleting
  427. dynamic widgets we have created and/or hide
  428. frames. This procedure is usually called when
  429. we are ready to "clean-up" after running.
  430. ------------------------------------------------------------------------------*/
  431. /* Hide all frames. */
  432. HIDE FRAME F-Main.
  433. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  434. END PROCEDURE.
  435. /* _UIB-CODE-BLOCK-END */
  436. &ANALYZE-RESUME
  437. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-assign-record B-table-Win
  438. PROCEDURE local-assign-record :
  439. /*------------------------------------------------------------------------------
  440. Purpose: Override standard ADM method
  441. Notes:
  442. ------------------------------------------------------------------------------*/
  443. RUN dispatch IN THIS-PROCEDURE ( INPUT 'assign-record':U ) .
  444. IF VNeu THEN DO:
  445. END.
  446. ELSE DO:
  447. END.
  448. END PROCEDURE.
  449. /* _UIB-CODE-BLOCK-END */
  450. &ANALYZE-RESUME
  451. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-assign-statement B-table-Win
  452. PROCEDURE local-assign-statement :
  453. /*------------------------------------------------------------------------------
  454. Purpose: Override standard ADM method
  455. Notes:
  456. ------------------------------------------------------------------------------*/
  457. RUN dispatch IN THIS-PROCEDURE ( INPUT 'assign-statement':U ) .
  458. DO WITH FRAME {&FRAME-NAME}:
  459. F_SortierArt = INTEGER(F_SortierArt:SCREEN-VALUE).
  460. F_Suchbe = TRIM (F_Suchbe:SCREEN-VALUE).
  461. SortierArt = F_SortierArt.
  462. IF F_SortierArt = 1 THEN DO:
  463. ix = LENGTH(F_Suchbe).
  464. IF ix < VArtnrL THEN DO:
  465. ix = VArtnrL - ix.
  466. F_Suchbe = F_Suchbe + FILL('0', ix).
  467. DISPLAY F_Suchbe.
  468. END.
  469. END.
  470. END.
  471. END PROCEDURE.
  472. /* _UIB-CODE-BLOCK-END */
  473. &ANALYZE-RESUME
  474. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-display-fields B-table-Win
  475. PROCEDURE local-display-fields :
  476. /*------------------------------------------------------------------------------
  477. Purpose: Override standard ADM method
  478. Notes:
  479. ------------------------------------------------------------------------------*/
  480. RUN ANZEIGE.
  481. RUN dispatch IN THIS-PROCEDURE ( INPUT 'display-fields':U ) .
  482. END PROCEDURE.
  483. /* _UIB-CODE-BLOCK-END */
  484. &ANALYZE-RESUME
  485. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-hide B-table-Win
  486. PROCEDURE local-hide :
  487. /*------------------------------------------------------------------------------
  488. Purpose: Override standard ADM method
  489. Notes:
  490. ------------------------------------------------------------------------------*/
  491. RUN dispatch IN THIS-PROCEDURE ( INPUT 'hide':U ) .
  492. /*
  493. FQOpen = FALSE.
  494. */
  495. END PROCEDURE.
  496. /* _UIB-CODE-BLOCK-END */
  497. &ANALYZE-RESUME
  498. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-initialize B-table-Win
  499. PROCEDURE local-initialize :
  500. /*------------------------------------------------------------------------------
  501. Purpose: Override standard ADM method
  502. Notes:
  503. ------------------------------------------------------------------------------*/
  504. RUN dispatch IN THIS-PROCEDURE ( INPUT 'initialize':U ) .
  505. VSuchbe = ''.
  506. Vorhanden = FALSE.
  507. SortierArt = 1.
  508. F_SortierArt = 1.
  509. END PROCEDURE.
  510. /* _UIB-CODE-BLOCK-END */
  511. &ANALYZE-RESUME
  512. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-open-query B-table-Win
  513. PROCEDURE local-open-query :
  514. /*------------------------------------------------------------------------------
  515. Purpose: Override standard ADM method
  516. Notes:
  517. ------------------------------------------------------------------------------*/
  518. IF QOpen THEN CLOSE QUERY {&BROWSE-NAME}.
  519. QOpen = FALSE.
  520. IF NOT FQOpen THEN RETURN NO-APPLY.
  521. Vorhanden = FALSE.
  522. CASE SortierArt:
  523. WHEN 1 THEN DO:
  524. VArtnr = INTEGER(F_Suchbe).
  525. OPEN QUERY {&BROWSE-NAME}
  526. FOR EACH Artst USE-INDEX Artst-k1
  527. WHERE Artst.Firma = GVFirma
  528. AND Artst.Artnr >= VArtnr
  529. AND Artst.Aktiv = TRUE NO-LOCK.
  530. END.
  531. WHEN 2 THEN DO:
  532. VSuchbe = TRIM(F_Suchbe).
  533. OPEN QUERY {&BROWSE-NAME}
  534. FOR EACH Artst USE-INDEX Artst-k2
  535. WHERE Artst.Firma = GVFirma
  536. AND Artst.Suchbe >= VSuchbe
  537. AND Artst.Aktiv = TRUE NO-LOCK.
  538. END.
  539. WHEN 3 THEN DO:
  540. VSuchbe = TRIM(F_Suchbe).
  541. OPEN QUERY {&BROWSE-NAME}
  542. FOR EACH Artst USE-INDEX Artst-k3
  543. WHERE Artst.Firma = GVFirma
  544. AND Artst.Bez >= VSuchbe
  545. AND Artst.Aktiv = TRUE NO-LOCK.
  546. END.
  547. WHEN 4 THEN DO:
  548. VSuchbe = TRIM(F_Suchbe).
  549. OPEN QUERY {&BROWSE-NAME}
  550. FOR EACH Artst USE-INDEX Artst-k2
  551. WHERE Artst.Firma = GVFirma
  552. AND ((Artst.Suchbe MATCHES VSuchbe) OR
  553. (Artst.Bez MATCHES VSuchbe))
  554. AND Artst.Aktiv = TRUE NO-LOCK.
  555. END.
  556. END CASE.
  557. DO WITH FRAME {&FRAME-NAME}:
  558. IF NUM-RESULTS("{&BROWSE-NAME}":U) = ? THEN RETURN.
  559. IF NUM-RESULTS("{&BROWSE-NAME}":U) = 0 THEN RETURN.
  560. Vorhanden = TRUE.
  561. QOpen = TRUE.
  562. APPLY 'VALUE-CHANGED' TO BROWSE {&BROWSE-NAME}.
  563. END.
  564. END PROCEDURE.
  565. /* _UIB-CODE-BLOCK-END */
  566. &ANALYZE-RESUME
  567. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-view B-table-Win
  568. PROCEDURE local-view :
  569. /*------------------------------------------------------------------------------
  570. Purpose: Override standard ADM method
  571. Notes:
  572. ------------------------------------------------------------------------------*/
  573. RUN dispatch IN THIS-PROCEDURE ( INPUT 'view':U ) .
  574. FQOpen = TRUE.
  575. APPLY 'ENTRY' TO {&BROWSE-NAME} IN FRAME {&FRAME-NAME}.
  576. END PROCEDURE.
  577. /* _UIB-CODE-BLOCK-END */
  578. &ANALYZE-RESUME
  579. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-records B-table-Win _ADM-SEND-RECORDS
  580. PROCEDURE send-records :
  581. /*------------------------------------------------------------------------------
  582. Purpose: Send record ROWID's for all tables used by
  583. this file.
  584. Parameters: see template/snd-head.i
  585. ------------------------------------------------------------------------------*/
  586. /* Define variables needed by this internal procedure. */
  587. {src/adm/template/snd-head.i}
  588. /* For each requested table, put it's ROWID in the output list. */
  589. {src/adm/template/snd-list.i "Artst"}
  590. /* Deal with any unexpected table requests before closing. */
  591. {src/adm/template/snd-end.i}
  592. END PROCEDURE.
  593. /* _UIB-CODE-BLOCK-END */
  594. &ANALYZE-RESUME
  595. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE state-changed B-table-Win
  596. PROCEDURE state-changed :
  597. /* -----------------------------------------------------------
  598. Purpose:
  599. Parameters: <none>
  600. Notes:
  601. -------------------------------------------------------------*/
  602. DEFINE INPUT PARAMETER p-issuer-hdl AS HANDLE NO-UNDO.
  603. DEFINE INPUT PARAMETER p-state AS CHARACTER NO-UNDO.
  604. DEF VAR XArtnr AS INT NO-UNDO.
  605. DEF VAR XInhalt AS INT NO-UNDO.
  606. DEF VAR XJahr AS INT NO-UNDO.
  607. DO WITH FRAME {&FRAME-NAME}:
  608. CASE p-state:
  609. WHEN 'Record-First' THEN DO:
  610. APPLY 'CTRL-HOME' TO BROWSE {&BROWSE-NAME}.
  611. RETURN NO-APPLY.
  612. END.
  613. WHEN 'Record-Prev' THEN DO:
  614. APPLY 'CURSOR-UP' TO BROWSE {&BROWSE-NAME}.
  615. RETURN NO-APPLY.
  616. END.
  617. WHEN 'Record-Next' THEN DO:
  618. APPLY 'CURSOR-DOWN' TO BROWSE {&BROWSE-NAME}.
  619. RETURN NO-APPLY.
  620. END.
  621. WHEN 'Record-Last' THEN DO:
  622. APPLY 'CTRL-HOME' TO BROWSE {&BROWSE-NAME}.
  623. RETURN NO-APPLY.
  624. END.
  625. WHEN 'entry_browse' THEN DO:
  626. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  627. RETURN NO-APPLY.
  628. END.
  629. WHEN 'mutation' THEN DO:
  630. F_Suchbe = VSuchbe.
  631. XArtnr = LVArtnr.
  632. XInhalt = LVInhalt.
  633. XJahr = LVJahr.
  634. RUN dispatch IN THIS-PROCEDURE ('open-query':U).
  635. FIND BArtst USE-INDEX Artst-k1
  636. WHERE BArtst.Firma = GVFirma
  637. AND BArtst.Artnr = XArtnr
  638. AND BArtst.Inhalt = XInhalt
  639. AND BArtst.Jahr = XJahr NO-LOCK NO-ERROR.
  640. IF AVAILABLE BArtst THEN DO:
  641. REPOSITION {&BROWSE-NAME} TO ROWID ROWID(BArtst).
  642. END.
  643. APPLY 'VALUE-CHANGED' TO BROWSE {&BROWSE-NAME}.
  644. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  645. RETURN NO-APPLY.
  646. END.
  647. {src/adm/template/bstates.i}
  648. END CASE.
  649. END. /* FRAME */
  650. END PROCEDURE.
  651. /* _UIB-CODE-BLOCK-END */
  652. &ANALYZE-RESUME