b-artikelsuche.w 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833
  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 Artst.Bestand
  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. /* Standard List Definitions */
  83. &Scoped-Define ENABLED-OBJECTS br_table F_SortierArt F_Suchbe RECT-8
  84. &Scoped-Define DISPLAYED-OBJECTS F_SortierArt F_Suchbe
  85. /* Custom List Definitions */
  86. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  87. &Scoped-define List-1 F_SortierArt F_Suchbe
  88. /* _UIB-PREPROCESSOR-BLOCK-END */
  89. &ANALYZE-RESUME
  90. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _XFTR "Foreign Keys" B-table-Win _INLINE
  91. /* Actions: ? adm/support/keyedit.w ? ? ? */
  92. /* STRUCTURED-DATA
  93. <KEY-OBJECT>
  94. &BROWSE-NAME
  95. </KEY-OBJECT>
  96. <FOREIGN-KEYS>
  97. </FOREIGN-KEYS
  98. ><EXECUTING-CODE>
  99. **************************
  100. * Set attributes related to FOREIGN KEYS
  101. */
  102. RUN set-attribute-list (
  103. 'Keys-Accepted = "",
  104. Keys-Supplied = ""':U).
  105. /**************************
  106. </EXECUTING-CODE> */
  107. /* _UIB-CODE-BLOCK-END */
  108. &ANALYZE-RESUME
  109. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _XFTR "Advanced Query Options" B-table-Win _INLINE
  110. /* Actions: ? adm/support/advqedit.w ? ? ? */
  111. /* STRUCTURED-DATA
  112. <KEY-OBJECT>
  113. &BROWSE-NAME
  114. </KEY-OBJECT>
  115. <SORTBY-OPTIONS>
  116. </SORTBY-OPTIONS>
  117. <SORTBY-RUN-CODE>
  118. ************************
  119. * Set attributes related to SORTBY-OPTIONS */
  120. RUN set-attribute-list (
  121. 'SortBy-Options = ""':U).
  122. /************************
  123. </SORTBY-RUN-CODE>
  124. <FILTER-ATTRIBUTES>
  125. </FILTER-ATTRIBUTES> */
  126. /* _UIB-CODE-BLOCK-END */
  127. &ANALYZE-RESUME
  128. /* *********************** Control Definitions ********************** */
  129. /* Definitions of the field level widgets */
  130. DEFINE VARIABLE F_Suchbe AS CHARACTER FORMAT "X(20)":U
  131. VIEW-AS FILL-IN NATIVE
  132. SIZE 21.2 BY .86
  133. BGCOLOR 15 NO-UNDO.
  134. DEFINE VARIABLE F_SortierArt AS INTEGER INITIAL 1
  135. VIEW-AS RADIO-SET VERTICAL
  136. RADIO-BUTTONS
  137. "Artikelnummer", 1,
  138. "Suchbegriff", 2,
  139. "Bezeichnung", 3,
  140. "Match", 4
  141. SIZE 21 BY 2.95 NO-UNDO.
  142. DEFINE RECTANGLE RECT-8
  143. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  144. SIZE 125 BY 7.38.
  145. /* Query definitions */
  146. &ANALYZE-SUSPEND
  147. DEFINE QUERY br_table FOR
  148. Artst SCROLLING.
  149. &ANALYZE-RESUME
  150. /* Browse definitions */
  151. DEFINE BROWSE br_table
  152. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS br_table B-table-Win _STRUCTURED
  153. QUERY br_table NO-LOCK DISPLAY
  154. Artst.Artnr FORMAT "zz99999999":U
  155. Artst.Inhalt FORMAT "9999":U
  156. Artst.Jahr FORMAT "z9999":U
  157. Artst.Suchbe COLUMN-LABEL "Suchbegriff" FORMAT "x(15)":U
  158. Artst.Bez COLUMN-LABEL "Bezeichnung" FORMAT "x(30)":U
  159. Artst.Alk_Gehalt COLUMN-LABEL "Vol.%" FORMAT "zz9.999":U
  160. Artst.Bestand FORMAT "zzzzz,zz9-":U
  161. /* _UIB-CODE-BLOCK-END */
  162. &ANALYZE-RESUME
  163. WITH NO-ASSIGN NO-ROW-MARKERS SEPARATORS SIZE 97 BY 6.91
  164. BGCOLOR 15 .
  165. /* ************************ Frame Definitions *********************** */
  166. DEFINE FRAME F-Main
  167. br_table AT ROW 1.48 COL 3
  168. F_SortierArt AT ROW 2 COL 102 NO-LABEL
  169. F_Suchbe AT ROW 6.86 COL 100 COLON-ALIGNED NO-LABEL
  170. RECT-8 AT ROW 1.24 COL 2
  171. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  172. SIDE-LABELS NO-UNDERLINE THREE-D
  173. AT COL 1 ROW 1 SCROLLABLE .
  174. /* *********************** Procedure Settings ************************ */
  175. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  176. /* Settings for THIS-PROCEDURE
  177. Type: SmartBrowser
  178. Allow: Basic,Browse
  179. Frames: 1
  180. Add Fields to: EXTERNAL-TABLES
  181. Other Settings: PERSISTENT-ONLY COMPILE
  182. */
  183. /* This procedure should always be RUN PERSISTENT. Report the error, */
  184. /* then cleanup and return. */
  185. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  186. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  187. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  188. RETURN.
  189. END.
  190. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  191. /* ************************* Create Window ************************** */
  192. &ANALYZE-SUSPEND _CREATE-WINDOW
  193. /* DESIGN Window definition (used by the UIB)
  194. CREATE WINDOW B-table-Win ASSIGN
  195. HEIGHT = 8.29
  196. WIDTH = 128.8.
  197. /* END WINDOW DEFINITION */
  198. */
  199. &ANALYZE-RESUME
  200. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB B-table-Win
  201. /* ************************* Included-Libraries *********************** */
  202. {src/adm/method/browser.i}
  203. /* _UIB-CODE-BLOCK-END */
  204. &ANALYZE-RESUME
  205. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  206. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  207. /* SETTINGS FOR WINDOW B-table-Win
  208. NOT-VISIBLE,,RUN-PERSISTENT */
  209. /* SETTINGS FOR FRAME F-Main
  210. NOT-VISIBLE Size-to-Fit */
  211. /* BROWSE-TAB br_table 1 F-Main */
  212. ASSIGN
  213. FRAME F-Main:SCROLLABLE = FALSE
  214. FRAME F-Main:HIDDEN = TRUE.
  215. /* SETTINGS FOR RADIO-SET F_SortierArt IN FRAME F-Main
  216. 1 */
  217. /* SETTINGS FOR FILL-IN F_Suchbe IN FRAME F-Main
  218. 1 */
  219. /* _RUN-TIME-ATTRIBUTES-END */
  220. &ANALYZE-RESUME
  221. /* Setting information for Queries and Browse Widgets fields */
  222. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE br_table
  223. /* Query rebuild information for BROWSE br_table
  224. _TblList = "AnaDat.Artst"
  225. _Options = "NO-LOCK KEY-PHRASE SORTBY-PHRASE"
  226. _Where[1] = "Artst.Firma = ""GVFirma"""
  227. _FldNameList[1] > AnaDat.Artst.Artnr
  228. "Artst.Artnr" ? "zz99999999" "integer" ? ? ? ? ? ? no ? no no ? yes no no "U" "" ""
  229. _FldNameList[2] = AnaDat.Artst.Inhalt
  230. _FldNameList[3] > AnaDat.Artst.Jahr
  231. "Artst.Jahr" ? "z9999" "integer" ? ? ? ? ? ? no ? no no ? yes no no "U" "" ""
  232. _FldNameList[4] > AnaDat.Artst.Suchbe
  233. "Artst.Suchbe" "Suchbegriff" ? "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" ""
  234. _FldNameList[5] > AnaDat.Artst.Bez
  235. "Artst.Bez" "Bezeichnung" ? "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" ""
  236. _FldNameList[6] > AnaDat.Artst.Alk_Gehalt
  237. "Artst.Alk_Gehalt" "Vol.%" ? "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" ""
  238. _FldNameList[7] = AnaDat.Artst.Bestand
  239. _Query is NOT 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 SELF-NAME F-Main
  250. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F-Main B-table-Win
  251. ON END-ERROR OF FRAME F-Main
  252. DO:
  253. RUN new-state ( INPUT 'artikel_nok, MAIN':U ).
  254. RETURN NO-APPLY.
  255. END.
  256. /* _UIB-CODE-BLOCK-END */
  257. &ANALYZE-RESUME
  258. &Scoped-define BROWSE-NAME br_table
  259. &Scoped-define SELF-NAME br_table
  260. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  261. ON END-ERROR OF br_table IN FRAME F-Main
  262. DO:
  263. RUN new-state ( INPUT 'artikel_nok, MAIN':U ).
  264. RETURN NO-APPLY.
  265. END.
  266. /* _UIB-CODE-BLOCK-END */
  267. &ANALYZE-RESUME
  268. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  269. ON ROW-DISPLAY OF br_table IN FRAME F-Main
  270. DO:
  271. RUN ANZEIGE.
  272. END.
  273. /* _UIB-CODE-BLOCK-END */
  274. &ANALYZE-RESUME
  275. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  276. ON ROW-ENTRY OF br_table IN FRAME F-Main
  277. DO:
  278. {src/adm/template/brsentry.i}
  279. END.
  280. /* _UIB-CODE-BLOCK-END */
  281. &ANALYZE-RESUME
  282. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  283. ON ROW-LEAVE OF br_table IN FRAME F-Main
  284. DO:
  285. DO WHILE VUpdate WITH FRAME {&FRAME-NAME}:
  286. IF NOT {&BROWSE-NAME}:CURRENT-ROW-MODIFIED THEN DO:
  287. IF VNeu THEN LEAVE.
  288. IF VALID-HANDLE(PHandle) THEN DO:
  289. RUN ABBRECHEN IN PHandle.
  290. LEAVE.
  291. END.
  292. END.
  293. XHandle = LAST-EVENT:WIDGET-ENTER.
  294. DO WHILE VALID-HANDLE(XHandle):
  295. IF XHandle:TYPE <> 'BUTTON' THEN DO:
  296. IF VALID-HANDLE(PHandle) THEN DO:
  297. IF VSpeichern THEN RUN SPEICHERN IN PHandle.
  298. ELSE RUN ABBRECHEN IN PHandle.
  299. LEAVE.
  300. END.
  301. ELSE DO:
  302. LEAVE.
  303. END.
  304. END.
  305. ELSE DO:
  306. IF XHandle:PRIVATE-DATA = 'Panel_Speichern' THEN DO:
  307. IF VALID-HANDLE(PHandle) THEN DO:
  308. RUN SPEICHERN IN PHandle.
  309. LEAVE.
  310. END.
  311. END.
  312. IF XHandle:PRIVATE-DATA = 'Panel_Abbrechen' THEN DO:
  313. IF VALID-HANDLE(PHandle) THEN DO:
  314. RUN ABBRECHEN IN PHandle.
  315. LEAVE.
  316. END.
  317. END.
  318. END.
  319. LEAVE.
  320. END.
  321. LEAVE.
  322. END.
  323. {src/adm/template/brsleave.i}
  324. END.
  325. /* _UIB-CODE-BLOCK-END */
  326. &ANALYZE-RESUME
  327. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  328. ON VALUE-CHANGED OF br_table IN FRAME F-Main
  329. DO:
  330. {src/adm/template/brschnge.i}
  331. RUN ANZEIGE.
  332. END.
  333. /* _UIB-CODE-BLOCK-END */
  334. &ANALYZE-RESUME
  335. &Scoped-define SELF-NAME F_SortierArt
  336. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_SortierArt B-table-Win
  337. ON END-ERROR OF F_SortierArt IN FRAME F-Main
  338. DO:
  339. RUN new-state ( INPUT 'artikel_nok, MAIN':U ).
  340. RETURN NO-APPLY.
  341. END.
  342. /* _UIB-CODE-BLOCK-END */
  343. &ANALYZE-RESUME
  344. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_SortierArt B-table-Win
  345. ON VALUE-CHANGED OF F_SortierArt IN FRAME F-Main
  346. DO:
  347. IF Vorhanden = TRUE THEN {&BROWSE-NAME}:REFRESH().
  348. APPLY 'ENTRY' TO F_Suchbe IN FRAME {&FRAME-NAME}.
  349. RETURN NO-APPLY.
  350. END.
  351. /* _UIB-CODE-BLOCK-END */
  352. &ANALYZE-RESUME
  353. &Scoped-define SELF-NAME F_Suchbe
  354. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Suchbe B-table-Win
  355. ON END-ERROR OF F_Suchbe IN FRAME F-Main
  356. DO:
  357. RUN new-state ( INPUT 'artikel_nok, MAIN':U ).
  358. RETURN NO-APPLY.
  359. END.
  360. /* _UIB-CODE-BLOCK-END */
  361. &ANALYZE-RESUME
  362. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Suchbe B-table-Win
  363. ON RETURN OF F_Suchbe IN FRAME F-Main
  364. DO:
  365. RUN dispatch IN THIS-PROCEDURE ('assign-statement':U).
  366. RUN dispatch IN THIS-PROCEDURE ('open-query':U).
  367. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  368. RETURN NO-APPLY.
  369. END.
  370. /* _UIB-CODE-BLOCK-END */
  371. &ANALYZE-RESUME
  372. &UNDEFINE SELF-NAME
  373. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK B-table-Win
  374. /* *************************** Main Block *************************** */
  375. FIND Steuer WHERE Steuer.Firma = GVFirma NO-LOCK NO-ERROR.
  376. VArtnrL = Steuer.Fwi10.
  377. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  378. RUN dispatch IN THIS-PROCEDURE ('initialize':U).
  379. &ENDIF
  380. /* ------ Triggers ---------------------------------------------------- */
  381. ON RETURN OF BROWSE {&BROWSE-NAME}
  382. OR LEFT-MOUSE-DBLCLICK OF BROWSE {&BROWSE-NAME}
  383. DO:
  384. DO WITH FRAME {&FRAME-NAME}:
  385. IF NUM-RESULTS("{&BROWSE-NAME}":U) = ? THEN RETURN.
  386. IF NUM-RESULTS("{&BROWSE-NAME}":U) = 0 THEN RETURN.
  387. {&BROWSE-NAME}:SELECT-FOCUSED-ROW().
  388. {&BROWSE-NAME}:FETCH-SELECTED-ROW(1).
  389. Linknr = Artst.Artnr.
  390. AVArtnr = Artst.Artnr.
  391. AVInhalt = Artst.Inhalt.
  392. AVJahr = Artst.Jahr.
  393. RUN new-state ( 'artikel_ok':U ).
  394. RETURN NO-APPLY.
  395. END.
  396. END.
  397. /* _UIB-CODE-BLOCK-END */
  398. &ANALYZE-RESUME
  399. /* ********************** Internal Procedures *********************** */
  400. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-row-available B-table-Win _ADM-ROW-AVAILABLE
  401. PROCEDURE adm-row-available :
  402. /*------------------------------------------------------------------------------
  403. Purpose: Dispatched to this procedure when the Record-
  404. Source has a new row available. This procedure
  405. tries to get the new row (or foriegn keys) from
  406. the Record-Source and process it.
  407. Parameters: <none>
  408. ------------------------------------------------------------------------------*/
  409. /* Define variables needed by this internal procedure. */
  410. {src/adm/template/row-head.i}
  411. /* Process the newly available records (i.e. display fields,
  412. open queries, and/or pass records on to any RECORD-TARGETS). */
  413. {src/adm/template/row-end.i}
  414. END PROCEDURE.
  415. /* _UIB-CODE-BLOCK-END */
  416. &ANALYZE-RESUME
  417. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ANZEIGE B-table-Win
  418. PROCEDURE ANZEIGE :
  419. /*------------------------------------------------------------------------------
  420. Purpose:
  421. Parameters: <none>
  422. Notes:
  423. ------------------------------------------------------------------------------*/
  424. VText = ''.
  425. IF AVAILABLE {&DATEI-NAME} THEN DO:
  426. VRecid = RECID({&DATEI-NAME}).
  427. VROWID = ROWID({&DATEI-NAME}).
  428. LVArtnr = Artst.Artnr.
  429. LVInhalt = Artst.Inhalt.
  430. LVJahr = Artst.Jahr.
  431. AVArtnr = Artst.Artnr.
  432. AVInhalt = Artst.Inhalt.
  433. AVJahr = Artst.Jahr.
  434. END.
  435. END PROCEDURE.
  436. /* _UIB-CODE-BLOCK-END */
  437. &ANALYZE-RESUME
  438. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI B-table-Win _DEFAULT-DISABLE
  439. PROCEDURE disable_UI :
  440. /*------------------------------------------------------------------------------
  441. Purpose: DISABLE the User Interface
  442. Parameters: <none>
  443. Notes: Here we clean-up the user-interface by deleting
  444. dynamic widgets we have created and/or hide
  445. frames. This procedure is usually called when
  446. we are ready to "clean-up" after running.
  447. ------------------------------------------------------------------------------*/
  448. /* Hide all frames. */
  449. HIDE FRAME F-Main.
  450. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  451. END PROCEDURE.
  452. /* _UIB-CODE-BLOCK-END */
  453. &ANALYZE-RESUME
  454. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-assign-record B-table-Win
  455. PROCEDURE local-assign-record :
  456. /*------------------------------------------------------------------------------
  457. Purpose: Override standard ADM method
  458. Notes:
  459. ------------------------------------------------------------------------------*/
  460. RUN dispatch IN THIS-PROCEDURE ( INPUT 'assign-record':U ) .
  461. IF VNeu THEN DO:
  462. END.
  463. ELSE DO:
  464. END.
  465. END PROCEDURE.
  466. /* _UIB-CODE-BLOCK-END */
  467. &ANALYZE-RESUME
  468. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-assign-statement B-table-Win
  469. PROCEDURE local-assign-statement :
  470. /*------------------------------------------------------------------------------
  471. Purpose: Override standard ADM method
  472. Notes:
  473. ------------------------------------------------------------------------------*/
  474. RUN dispatch IN THIS-PROCEDURE ( INPUT 'assign-statement':U ) .
  475. DO WITH FRAME {&FRAME-NAME}:
  476. F_SortierArt = INTEGER(F_SortierArt:SCREEN-VALUE).
  477. F_Suchbe = TRIM (F_Suchbe:SCREEN-VALUE).
  478. SortierArt = F_SortierArt.
  479. IF F_SortierArt = 1 THEN DO:
  480. ix = LENGTH(F_Suchbe).
  481. IF ix < VArtnrL THEN DO:
  482. ix = VArtnrL - ix.
  483. F_Suchbe = F_Suchbe + FILL('0', ix).
  484. DISPLAY F_Suchbe.
  485. END.
  486. END.
  487. END.
  488. END PROCEDURE.
  489. /* _UIB-CODE-BLOCK-END */
  490. &ANALYZE-RESUME
  491. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-display-fields B-table-Win
  492. PROCEDURE local-display-fields :
  493. /*------------------------------------------------------------------------------
  494. Purpose: Override standard ADM method
  495. Notes:
  496. ------------------------------------------------------------------------------*/
  497. RUN ANZEIGE.
  498. RUN dispatch IN THIS-PROCEDURE ( INPUT 'display-fields':U ) .
  499. END PROCEDURE.
  500. /* _UIB-CODE-BLOCK-END */
  501. &ANALYZE-RESUME
  502. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-hide B-table-Win
  503. PROCEDURE local-hide :
  504. /*------------------------------------------------------------------------------
  505. Purpose: Override standard ADM method
  506. Notes:
  507. ------------------------------------------------------------------------------*/
  508. RUN dispatch IN THIS-PROCEDURE ( INPUT 'hide':U ) .
  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. DO WITH FRAME {&FRAME-NAME}:
  605. CASE p-state:
  606. WHEN 'entry_browse' THEN DO:
  607. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  608. RETURN NO-APPLY.
  609. END.
  610. {src/adm/template/bstates.i}
  611. END CASE.
  612. END. /* FRAME */
  613. END PROCEDURE.
  614. /* _UIB-CODE-BLOCK-END */
  615. &ANALYZE-RESUME
  616. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SUCHEN B-table-Win
  617. PROCEDURE SUCHEN :
  618. /*------------------------------------------------------------------------------
  619. Purpose:
  620. Parameters: <none>
  621. Notes:
  622. ------------------------------------------------------------------------------*/
  623. IF Linkcd = 9 THEN DO:
  624. F_Suchbe = STRING(Linknr).
  625. VSuchbe = F_Suchbe.
  626. Vorhanden = FALSE.
  627. SortierArt = 1.
  628. F_SortierArt = 1.
  629. ix = LENGTH(F_Suchbe).
  630. IF ix < VArtnrL THEN DO:
  631. ix = VArtnrL - ix.
  632. F_Suchbe = F_Suchbe + FILL('0', ix).
  633. VSuchbe = F_Suchbe.
  634. END.
  635. END.
  636. ELSE DO:
  637. F_Suchbe = Linktext.
  638. VSuchbe = F_Suchbe.
  639. Vorhanden = FALSE.
  640. SortierArt = 2.
  641. F_SortierArt = 2.
  642. END.
  643. Linkcd = 0.
  644. RUN local-open-query.
  645. RUN dispatch IN THIS-PROCEDURE ('display-fields':U).
  646. END PROCEDURE.
  647. /* _UIB-CODE-BLOCK-END */
  648. &ANALYZE-RESUME