b-artliefsuch.w 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897
  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 ArtLief 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 ArtLief WHERE ~{&KEY-PHRASE} NO-LOCK, ~
  77. EACH Artst OF ArtLief NO-LOCK ~
  78. ~{&SORTBY-PHRASE}.
  79. &Scoped-define TABLES-IN-QUERY-br_table ArtLief Artst
  80. &Scoped-define FIRST-TABLE-IN-QUERY-br_table ArtLief
  81. &Scoped-define SECOND-TABLE-IN-QUERY-br_table Artst
  82. /* Definitions for FRAME F-Main */
  83. &Scoped-define OPEN-BROWSERS-IN-QUERY-F-Main ~
  84. ~{&OPEN-QUERY-br_table}
  85. /* Standard List Definitions */
  86. &Scoped-Define ENABLED-OBJECTS br_table F_SortierArt F_Suchbe T_Geloeschte ~
  87. RECT-8
  88. &Scoped-Define DISPLAYED-OBJECTS F_SortierArt F_Suchbe T_Geloeschte
  89. /* Custom List Definitions */
  90. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  91. &Scoped-define List-1 F_SortierArt F_Suchbe T_Geloeschte
  92. /* _UIB-PREPROCESSOR-BLOCK-END */
  93. &ANALYZE-RESUME
  94. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _XFTR "Foreign Keys" B-table-Win _INLINE
  95. /* Actions: ? adm/support/keyedit.w ? ? ? */
  96. /* STRUCTURED-DATA
  97. <KEY-OBJECT>
  98. &BROWSE-NAME
  99. </KEY-OBJECT>
  100. <FOREIGN-KEYS>
  101. </FOREIGN-KEYS
  102. ><EXECUTING-CODE>
  103. **************************
  104. * Set attributes related to FOREIGN KEYS
  105. */
  106. RUN set-attribute-list (
  107. 'Keys-Accepted = "",
  108. Keys-Supplied = ""':U).
  109. /**************************
  110. </EXECUTING-CODE> */
  111. /* _UIB-CODE-BLOCK-END */
  112. &ANALYZE-RESUME
  113. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _XFTR "Advanced Query Options" B-table-Win _INLINE
  114. /* Actions: ? adm/support/advqedit.w ? ? ? */
  115. /* STRUCTURED-DATA
  116. <KEY-OBJECT>
  117. &BROWSE-NAME
  118. </KEY-OBJECT>
  119. <SORTBY-OPTIONS>
  120. </SORTBY-OPTIONS>
  121. <SORTBY-RUN-CODE>
  122. ************************
  123. * Set attributes related to SORTBY-OPTIONS */
  124. RUN set-attribute-list (
  125. 'SortBy-Options = ""':U).
  126. /************************
  127. </SORTBY-RUN-CODE>
  128. <FILTER-ATTRIBUTES>
  129. </FILTER-ATTRIBUTES> */
  130. /* _UIB-CODE-BLOCK-END */
  131. &ANALYZE-RESUME
  132. /* *********************** Control Definitions ********************** */
  133. /* Definitions of the field level widgets */
  134. DEFINE VARIABLE F_Suchbe AS CHARACTER FORMAT "X(20)":U
  135. VIEW-AS FILL-IN NATIVE
  136. SIZE 29.6 BY 1.05
  137. BGCOLOR 15 NO-UNDO.
  138. DEFINE VARIABLE F_SortierArt AS INTEGER INITIAL 2
  139. VIEW-AS RADIO-SET VERTICAL
  140. RADIO-BUTTONS
  141. "Artikelnummer", 1,
  142. "Suchbegriff", 2,
  143. "Bezeichnung", 3,
  144. "Match", 4
  145. SIZE 29.4 BY 3.67 NO-UNDO.
  146. DEFINE RECTANGLE RECT-8
  147. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  148. SIZE 128 BY 13.1.
  149. DEFINE VARIABLE T_Geloeschte AS LOGICAL INITIAL no
  150. LABEL "gelöschte auch ?"
  151. VIEW-AS TOGGLE-BOX
  152. SIZE 23.2 BY .81 NO-UNDO.
  153. /* Query definitions */
  154. &ANALYZE-SUSPEND
  155. DEFINE QUERY br_table FOR
  156. ArtLief,
  157. Artst SCROLLING.
  158. &ANALYZE-RESUME
  159. /* Browse definitions */
  160. DEFINE BROWSE br_table
  161. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS br_table B-table-Win _STRUCTURED
  162. QUERY br_table NO-LOCK DISPLAY
  163. Artst.Artnr FORMAT "999999":U WIDTH 7
  164. Artst.Inhalt FORMAT "9999":U WIDTH 6
  165. Artst.Jahr FORMAT "9999":U WIDTH 6
  166. Artst.Suchbe COLUMN-LABEL "Suchbegriff" FORMAT "x(15)":U
  167. Artst.Bez COLUMN-LABEL "Bezeichnung" FORMAT "x(30)":U
  168. Artst.Alk_Gehalt COLUMN-LABEL "Vol.%" FORMAT "zz9.999":U
  169. WIDTH 8
  170. Artst.Bestand FORMAT "zzzzz,zz9-":U WIDTH 10
  171. /* _UIB-CODE-BLOCK-END */
  172. &ANALYZE-RESUME
  173. WITH NO-ASSIGN NO-ROW-MARKERS SEPARATORS SIZE 92 BY 12.62
  174. BGCOLOR 15 .
  175. /* ************************ Frame Definitions *********************** */
  176. DEFINE FRAME F-Main
  177. br_table AT ROW 1.48 COL 3
  178. F_SortierArt AT ROW 1.86 COL 98.6 NO-LABEL
  179. F_Suchbe AT ROW 6.19 COL 96.6 COLON-ALIGNED NO-LABEL
  180. T_Geloeschte AT ROW 7.86 COL 98.6
  181. RECT-8 AT ROW 1.24 COL 2
  182. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  183. SIDE-LABELS NO-UNDERLINE THREE-D
  184. AT COL 1 ROW 1 SCROLLABLE .
  185. /* *********************** Procedure Settings ************************ */
  186. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  187. /* Settings for THIS-PROCEDURE
  188. Type: SmartBrowser
  189. Allow: Basic,Browse
  190. Frames: 1
  191. Add Fields to: EXTERNAL-TABLES
  192. Other Settings: PERSISTENT-ONLY COMPILE
  193. */
  194. /* This procedure should always be RUN PERSISTENT. Report the error, */
  195. /* then cleanup and return. */
  196. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  197. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  198. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  199. RETURN.
  200. END.
  201. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  202. /* ************************* Create Window ************************** */
  203. &ANALYZE-SUSPEND _CREATE-WINDOW
  204. /* DESIGN Window definition (used by the UIB)
  205. CREATE WINDOW B-table-Win ASSIGN
  206. HEIGHT = 13.76
  207. WIDTH = 130.
  208. /* END WINDOW DEFINITION */
  209. */
  210. &ANALYZE-RESUME
  211. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB B-table-Win
  212. /* ************************* Included-Libraries *********************** */
  213. {src/adm/method/browser.i}
  214. /* _UIB-CODE-BLOCK-END */
  215. &ANALYZE-RESUME
  216. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  217. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  218. /* SETTINGS FOR WINDOW B-table-Win
  219. NOT-VISIBLE,,RUN-PERSISTENT */
  220. /* SETTINGS FOR FRAME F-Main
  221. NOT-VISIBLE Size-to-Fit */
  222. /* BROWSE-TAB br_table 1 F-Main */
  223. ASSIGN
  224. FRAME F-Main:SCROLLABLE = FALSE
  225. FRAME F-Main:HIDDEN = TRUE.
  226. ASSIGN
  227. br_table:MAX-DATA-GUESS IN FRAME F-Main = 200.
  228. /* SETTINGS FOR RADIO-SET F_SortierArt IN FRAME F-Main
  229. 1 */
  230. /* SETTINGS FOR FILL-IN F_Suchbe IN FRAME F-Main
  231. 1 */
  232. /* SETTINGS FOR TOGGLE-BOX T_Geloeschte IN FRAME F-Main
  233. 1 */
  234. /* _RUN-TIME-ATTRIBUTES-END */
  235. &ANALYZE-RESUME
  236. /* Setting information for Queries and Browse Widgets fields */
  237. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE br_table
  238. /* Query rebuild information for BROWSE br_table
  239. _TblList = "AnaDat.ArtLief,AnaDat.Artst OF AnaDat.ArtLief"
  240. _Options = "NO-LOCK KEY-PHRASE SORTBY-PHRASE"
  241. _FldNameList[1] > AnaDat.Artst.Artnr
  242. "Artst.Artnr" ? ? "integer" ? ? ? ? ? ? no ? no no "7" yes no no "U" "" ""
  243. _FldNameList[2] > AnaDat.Artst.Inhalt
  244. "Artst.Inhalt" ? ? "integer" ? ? ? ? ? ? no ? no no "6" yes no no "U" "" ""
  245. _FldNameList[3] > AnaDat.Artst.Jahr
  246. "Artst.Jahr" ? ? "integer" ? ? ? ? ? ? no ? no no "6" yes no no "U" "" ""
  247. _FldNameList[4] > AnaDat.Artst.Suchbe
  248. "Artst.Suchbe" "Suchbegriff" ? "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" ""
  249. _FldNameList[5] > AnaDat.Artst.Bez
  250. "Artst.Bez" "Bezeichnung" ? "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" ""
  251. _FldNameList[6] > AnaDat.Artst.Alk_Gehalt
  252. "Artst.Alk_Gehalt" "Vol.%" ? "decimal" ? ? ? ? ? ? no ? no no "8" yes no no "U" "" ""
  253. _FldNameList[7] > AnaDat.Artst.Bestand
  254. "Artst.Bestand" ? ? "integer" ? ? ? ? ? ? no ? no no "10" yes no no "U" "" ""
  255. _Query is OPENED
  256. */ /* BROWSE br_table */
  257. &ANALYZE-RESUME
  258. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  259. /* Query rebuild information for FRAME F-Main
  260. _Options = "NO-LOCK"
  261. _Query is NOT OPENED
  262. */ /* FRAME F-Main */
  263. &ANALYZE-RESUME
  264. /* ************************ Control Triggers ************************ */
  265. &Scoped-define BROWSE-NAME br_table
  266. &Scoped-define SELF-NAME br_table
  267. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  268. ON ROW-DISPLAY OF br_table IN FRAME F-Main
  269. DO:
  270. RUN ANZEIGE.
  271. END.
  272. /* _UIB-CODE-BLOCK-END */
  273. &ANALYZE-RESUME
  274. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  275. ON ROW-ENTRY OF br_table IN FRAME F-Main
  276. DO:
  277. {src/adm/template/brsentry.i}
  278. END.
  279. /* _UIB-CODE-BLOCK-END */
  280. &ANALYZE-RESUME
  281. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  282. ON ROW-LEAVE OF br_table IN FRAME F-Main
  283. DO:
  284. {src/adm/template/brsleave.i}
  285. END.
  286. /* _UIB-CODE-BLOCK-END */
  287. &ANALYZE-RESUME
  288. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  289. ON VALUE-CHANGED OF br_table IN FRAME F-Main
  290. DO:
  291. RUN ANZEIGE.
  292. {src/adm/template/brschnge.i}
  293. END.
  294. /* _UIB-CODE-BLOCK-END */
  295. &ANALYZE-RESUME
  296. &Scoped-define SELF-NAME F_SortierArt
  297. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_SortierArt B-table-Win
  298. ON VALUE-CHANGED OF F_SortierArt IN FRAME F-Main
  299. DO:
  300. IF Vorhanden = TRUE THEN {&BROWSE-NAME}:REFRESH().
  301. APPLY 'ENTRY' TO F_Suchbe IN FRAME {&FRAME-NAME}.
  302. RETURN NO-APPLY.
  303. END.
  304. /* _UIB-CODE-BLOCK-END */
  305. &ANALYZE-RESUME
  306. &Scoped-define SELF-NAME F_Suchbe
  307. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Suchbe B-table-Win
  308. ON RETURN OF F_Suchbe IN FRAME F-Main
  309. DO:
  310. RUN dispatch IN THIS-PROCEDURE ('assign-statement':U).
  311. RUN dispatch IN THIS-PROCEDURE ('open-query':U).
  312. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  313. RETURN NO-APPLY.
  314. END.
  315. /* _UIB-CODE-BLOCK-END */
  316. &ANALYZE-RESUME
  317. &Scoped-define SELF-NAME T_Geloeschte
  318. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Geloeschte B-table-Win
  319. ON VALUE-CHANGED OF T_Geloeschte IN FRAME F-Main /* gelöschte auch ? */
  320. DO:
  321. RUN local-open-query.
  322. APPLY 'VALUE-CHANGED' TO BROWSE {&BROWSE-NAME}.
  323. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  324. RETURN NO-APPLY.
  325. END.
  326. /* _UIB-CODE-BLOCK-END */
  327. &ANALYZE-RESUME
  328. &UNDEFINE SELF-NAME
  329. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK B-table-Win
  330. /* *************************** Main Block *************************** */
  331. RUN SUCHEN.
  332. FIND Steuer WHERE Steuer.Firma = GVFirma NO-LOCK NO-ERROR.
  333. VArtnrL = Steuer.Fwi10.
  334. FQOpen = FALSE.
  335. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  336. RUN dispatch IN THIS-PROCEDURE ('initialize':U).
  337. &ENDIF
  338. /* ------ Triggers ---------------------------------------------------- */
  339. ON RETURN OF BROWSE {&BROWSE-NAME}
  340. OR LEFT-MOUSE-DBLCLICK OF BROWSE {&BROWSE-NAME}
  341. DO:
  342. DO WITH FRAME {&FRAME-NAME}:
  343. IF NUM-RESULTS("{&BROWSE-NAME}":U) = ? THEN RETURN.
  344. IF NUM-RESULTS("{&BROWSE-NAME}":U) = 0 THEN RETURN.
  345. {&BROWSE-NAME}:SELECT-FOCUSED-ROW().
  346. {&BROWSE-NAME}:FETCH-SELECTED-ROW(1).
  347. LVSuchbe = STRING(Artst.Artnr,"999999")
  348. + ";"
  349. + STRING(Artst.Inhalt,"9999")
  350. + ";"
  351. + STRING(Artst.Jahr,"9999").
  352. Gefunden = TRUE.
  353. RUN new-state ( INPUT 'GO, MAIN':U ).
  354. RETURN NO-APPLY.
  355. END.
  356. END.
  357. ON END-ERROR OF FRAME {&FRAME-NAME} ANYWHERE
  358. DO:
  359. RUN new-state ( INPUT 'CANCEL, MAIN':U ).
  360. END.
  361. /* _UIB-CODE-BLOCK-END */
  362. &ANALYZE-RESUME
  363. /* ********************** Internal Procedures *********************** */
  364. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-row-available B-table-Win _ADM-ROW-AVAILABLE
  365. PROCEDURE adm-row-available :
  366. /*------------------------------------------------------------------------------
  367. Purpose: Dispatched to this procedure when the Record-
  368. Source has a new row available. This procedure
  369. tries to get the new row (or foriegn keys) from
  370. the Record-Source and process it.
  371. Parameters: <none>
  372. ------------------------------------------------------------------------------*/
  373. /* Define variables needed by this internal procedure. */
  374. {src/adm/template/row-head.i}
  375. /* Process the newly available records (i.e. display fields,
  376. open queries, and/or pass records on to any RECORD-TARGETS). */
  377. {src/adm/template/row-end.i}
  378. END PROCEDURE.
  379. /* _UIB-CODE-BLOCK-END */
  380. &ANALYZE-RESUME
  381. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ANZEIGE B-table-Win
  382. PROCEDURE ANZEIGE :
  383. /*------------------------------------------------------------------------------
  384. Purpose:
  385. Parameters: <none>
  386. Notes:
  387. ------------------------------------------------------------------------------*/
  388. VText = ''.
  389. IF AVAILABLE {&DATEI-NAME} THEN DO:
  390. VRecid = RECID({&DATEI-NAME}).
  391. VROWID = ROWID({&DATEI-NAME}).
  392. END.
  393. IF Artst.Aktiv = FALSE THEN DO WITH FRAME {&FRAME-NAME}:
  394. Artst.Artnr :BGCOLOR IN BROWSE {&BROWSE-NAME} = 12.
  395. Artst.Inhalt :BGCOLOR IN BROWSE {&BROWSE-NAME} = 12.
  396. Artst.Jahr :BGCOLOR IN BROWSE {&BROWSE-NAME} = 12.
  397. Artst.Suchbe :BGCOLOR IN BROWSE {&BROWSE-NAME} = 12.
  398. Artst.Bez :BGCOLOR IN BROWSE {&BROWSE-NAME} = 12.
  399. Artst.Alk_Gehalt:BGCOLOR IN BROWSE {&BROWSE-NAME} = 12.
  400. END.
  401. ELSE DO WITH FRAME {&FRAME-NAME}:
  402. IF Artst.Ausverk < 2 THEN DO:
  403. Artst.Artnr :BGCOLOR IN BROWSE {&BROWSE-NAME} = 15.
  404. Artst.Inhalt :BGCOLOR IN BROWSE {&BROWSE-NAME} = 15.
  405. Artst.Jahr :BGCOLOR IN BROWSE {&BROWSE-NAME} = 15.
  406. Artst.Suchbe :BGCOLOR IN BROWSE {&BROWSE-NAME} = 15.
  407. Artst.Bez :BGCOLOR IN BROWSE {&BROWSE-NAME} = 15.
  408. Artst.Alk_Gehalt:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15.
  409. END.
  410. ELSE DO:
  411. Artst.Artnr :BGCOLOR IN BROWSE {&BROWSE-NAME} = 14.
  412. Artst.Inhalt :BGCOLOR IN BROWSE {&BROWSE-NAME} = 14.
  413. Artst.Jahr :BGCOLOR IN BROWSE {&BROWSE-NAME} = 14.
  414. Artst.Suchbe :BGCOLOR IN BROWSE {&BROWSE-NAME} = 14.
  415. Artst.Bez :BGCOLOR IN BROWSE {&BROWSE-NAME} = 14.
  416. Artst.Alk_Gehalt:BGCOLOR IN BROWSE {&BROWSE-NAME} = 14.
  417. END.
  418. END.
  419. END PROCEDURE.
  420. /* _UIB-CODE-BLOCK-END */
  421. &ANALYZE-RESUME
  422. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI B-table-Win _DEFAULT-DISABLE
  423. PROCEDURE disable_UI :
  424. /*------------------------------------------------------------------------------
  425. Purpose: DISABLE the User Interface
  426. Parameters: <none>
  427. Notes: Here we clean-up the user-interface by deleting
  428. dynamic widgets we have created and/or hide
  429. frames. This procedure is usually called when
  430. we are ready to "clean-up" after running.
  431. ------------------------------------------------------------------------------*/
  432. /* Hide all frames. */
  433. HIDE FRAME F-Main.
  434. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  435. END PROCEDURE.
  436. /* _UIB-CODE-BLOCK-END */
  437. &ANALYZE-RESUME
  438. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-assign-statement B-table-Win
  439. PROCEDURE local-assign-statement :
  440. /*------------------------------------------------------------------------------
  441. Purpose: Override standard ADM method
  442. Notes:
  443. ------------------------------------------------------------------------------*/
  444. RUN dispatch IN THIS-PROCEDURE ( INPUT 'assign-statement':U ) .
  445. DO WITH FRAME {&FRAME-NAME}:
  446. ASSIGN {&List-1}.
  447. SortierArt = F_SortierArt.
  448. IF F_SortierArt = 1 THEN DO:
  449. ix = LENGTH(F_Suchbe).
  450. IF ix < VArtnrL THEN DO:
  451. ix = VArtnrL - ix.
  452. F_Suchbe = F_Suchbe + FILL('0', ix).
  453. DISPLAY F_Suchbe.
  454. END.
  455. END.
  456. END.
  457. END PROCEDURE.
  458. /* _UIB-CODE-BLOCK-END */
  459. &ANALYZE-RESUME
  460. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-display-fields B-table-Win
  461. PROCEDURE local-display-fields :
  462. /*------------------------------------------------------------------------------
  463. Purpose: Override standard ADM method
  464. Notes:
  465. ------------------------------------------------------------------------------*/
  466. RUN ANZEIGE.
  467. RUN dispatch IN THIS-PROCEDURE ( INPUT 'display-fields':U ) .
  468. END PROCEDURE.
  469. /* _UIB-CODE-BLOCK-END */
  470. &ANALYZE-RESUME
  471. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-initialize B-table-Win
  472. PROCEDURE local-initialize :
  473. /*------------------------------------------------------------------------------
  474. Purpose: Override standard ADM method
  475. Notes:
  476. ------------------------------------------------------------------------------*/
  477. DEF VAR cValue AS CHAR NO-UNDO.
  478. RUN dispatch IN THIS-PROCEDURE ( INPUT 'initialize':U ) .
  479. GET-KEY-VALUE SECTION 'ArtikelSuchen'
  480. KEY 'Bestellwesen'
  481. VALUE cValue.
  482. IF cValue = ? THEN cValue = ''.
  483. IF cValue = '' THEN cValue = 'no'.
  484. IF cValue BEGINS 'n' THEN T_Geloeschte = FALSE.
  485. ELSE T_Geloeschte = TRUE.
  486. DISPLAY {&List-1} WITH FRAME {&FRAME-NAME}.
  487. FQOpen = TRUE.
  488. RUN local-open-query.
  489. END PROCEDURE.
  490. /* _UIB-CODE-BLOCK-END */
  491. &ANALYZE-RESUME
  492. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-open-query B-table-Win
  493. PROCEDURE local-open-query :
  494. /*------------------------------------------------------------------------------
  495. Purpose: Override standard ADM method
  496. Notes:
  497. ------------------------------------------------------------------------------*/
  498. DEF VAR VLang AS INT NO-UNDO.
  499. IF NOT FQOpen THEN RETURN.
  500. IF QOpen THEN CLOSE QUERY {&BROWSE-NAME}.
  501. QOpen = FALSE.
  502. Vorhanden = FALSE.
  503. DO WITH FRAME {&FRAME-NAME}:
  504. ASSIGN F_SortierArt
  505. T_Geloeschte.
  506. SortierArt = F_SortierArt.
  507. PUT-KEY-VALUE SECTION 'ArtikelSuchen'
  508. KEY 'Bestellwesen'
  509. VALUE STRING(T_Geloeschte,'yes/no').
  510. END.
  511. CASE SortierArt:
  512. WHEN 1 THEN DO:
  513. DO WHILE LENGTH(F_Suchbe) < VArtnrL:
  514. F_Suchbe = F_Suchbe + "0".
  515. END.
  516. VArtnr = INTEGER(F_Suchbe).
  517. OPEN QUERY {&BROWSE-NAME}
  518. FOR EACH ArtLief USE-INDEX ArtLief-k2
  519. WHERE ArtLief.Firma = GVFirma
  520. AND ArtLief.Knr = LVLnr
  521. AND ArtLief.Artnr >= VArtnr NO-LOCK,
  522. FIRST Artst USE-INDEX Artst-k1
  523. WHERE Artst.Firma = ArtLief.Firma
  524. AND Artst.Artnr = ArtLief.Artnr
  525. AND Artst.Inhalt = ArtLief.Inhalt
  526. AND Artst.Jahr = ArtLief.Jahr
  527. AND ((T_Geloeschte = TRUE) OR
  528. (T_Geloeschte = FALSE AND
  529. Artst.Aktiv = TRUE)) NO-LOCK
  530. BY Artst.Artnr
  531. BY Artst.Inhalt
  532. BY Artst.Jahr .
  533. END.
  534. WHEN 2 THEN DO:
  535. VSuchbe = TRIM(F_Suchbe).
  536. OPEN QUERY {&BROWSE-NAME}
  537. FOR EACH ArtLief USE-INDEX ArtLief-k2
  538. WHERE ArtLief.Firma = GVFirma
  539. AND ArtLief.Knr = LVLnr NO-LOCK,
  540. FIRST Artst USE-INDEX Artst-k1
  541. WHERE Artst.Firma = ArtLief.Firma
  542. AND Artst.Artnr = ArtLief.Artnr
  543. AND Artst.Inhalt = ArtLief.Inhalt
  544. AND Artst.Jahr = ArtLief.Jahr
  545. AND Artst.Suchbe >= VSuchbe
  546. AND ((T_Geloeschte = TRUE) OR
  547. (T_Geloeschte = FALSE AND
  548. Artst.Aktiv = TRUE)) NO-LOCK
  549. BY Artst.Suchbe
  550. BY Artst.Artnr
  551. BY Artst.Inhalt
  552. BY Artst.Jahr .
  553. END.
  554. WHEN 3 THEN DO:
  555. VSuchbe = TRIM(F_Suchbe).
  556. OPEN QUERY {&BROWSE-NAME}
  557. FOR EACH ArtLief USE-INDEX ArtLief-k2
  558. WHERE ArtLief.Firma = GVFirma
  559. AND ArtLief.Knr = LVLnr NO-LOCK,
  560. FIRST Artst USE-INDEX Artst-k1
  561. WHERE Artst.Firma = ArtLief.Firma
  562. AND Artst.Artnr = ArtLief.Artnr
  563. AND Artst.Inhalt = ArtLief.Inhalt
  564. AND Artst.Jahr = ArtLief.Jahr
  565. AND Artst.Bez >= VSuchbe
  566. AND ((T_Geloeschte = TRUE) OR
  567. (T_Geloeschte = FALSE AND
  568. Artst.Aktiv = TRUE)) NO-LOCK
  569. BY Artst.Bez
  570. BY Artst.Artnr
  571. BY Artst.Inhalt
  572. BY Artst.Jahr .
  573. END.
  574. WHEN 4 THEN DO:
  575. VSuchbe = TRIM(F_Suchbe).
  576. IF SUBSTRING(VSuchbe,01,01) <> '*' AND
  577. SUBSTRING(VSuchbe,01,01) <> '.' THEN VSuchbe = "*" + VSuchbe.
  578. VLang = LENGTH(VSuchbe).
  579. IF SUBSTRING(VSuchbe,VLang,01) <> '*' AND
  580. SUBSTRING(VSuchbe,VLang,01) <> '.' THEN VSuchbe = VSuchbe + "*".
  581. F_Suchbe = VSuchbe.
  582. DISPLAY F_Suchbe WITH FRAME {&FRAME-NAME}.
  583. OPEN QUERY {&BROWSE-NAME}
  584. FOR EACH ArtLief USE-INDEX ArtLief-k2
  585. WHERE ArtLief.Firma = GVFirma
  586. AND ArtLief.Knr = LVLnr NO-LOCK,
  587. FIRST Artst USE-INDEX Artst-k1
  588. WHERE Artst.Firma = ArtLief.Firma
  589. AND Artst.Artnr = ArtLief.Artnr
  590. AND Artst.Inhalt = ArtLief.Inhalt
  591. AND Artst.Jahr = ArtLief.Jahr
  592. AND ((Artst.Suchbe MATCHES VSuchbe) OR
  593. (Artst.Bez MATCHES VSuchbe))
  594. AND ((T_Geloeschte = TRUE) OR
  595. (T_Geloeschte = FALSE AND
  596. Artst.Aktiv = TRUE)) NO-LOCK
  597. BY Artst.Suchbe
  598. BY Artst.Artnr
  599. BY Artst.Inhalt
  600. BY Artst.Jahr .
  601. END.
  602. END CASE.
  603. DO WITH FRAME {&FRAME-NAME}:
  604. IF NUM-RESULTS("{&BROWSE-NAME}":U) = ? THEN RETURN.
  605. IF NUM-RESULTS("{&BROWSE-NAME}":U) = 0 THEN RETURN.
  606. Vorhanden = TRUE.
  607. QOpen = TRUE.
  608. APPLY 'VALUE-CHANGED' TO BROWSE {&BROWSE-NAME}.
  609. END.
  610. END PROCEDURE.
  611. /* _UIB-CODE-BLOCK-END */
  612. &ANALYZE-RESUME
  613. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-view B-table-Win
  614. PROCEDURE local-view :
  615. /*------------------------------------------------------------------------------
  616. Purpose: Override standard ADM method
  617. Notes:
  618. ------------------------------------------------------------------------------*/
  619. RUN dispatch IN THIS-PROCEDURE ( INPUT 'view':U ) .
  620. RUN dispatch IN THIS-PROCEDURE ('open-query':U).
  621. END PROCEDURE.
  622. /* _UIB-CODE-BLOCK-END */
  623. &ANALYZE-RESUME
  624. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-records B-table-Win _ADM-SEND-RECORDS
  625. PROCEDURE send-records :
  626. /*------------------------------------------------------------------------------
  627. Purpose: Send record ROWID's for all tables used by
  628. this file.
  629. Parameters: see template/snd-head.i
  630. ------------------------------------------------------------------------------*/
  631. /* Define variables needed by this internal procedure. */
  632. {src/adm/template/snd-head.i}
  633. /* For each requested table, put it's ROWID in the output list. */
  634. {src/adm/template/snd-list.i "ArtLief"}
  635. {src/adm/template/snd-list.i "Artst"}
  636. /* Deal with any unexpected table requests before closing. */
  637. {src/adm/template/snd-end.i}
  638. END PROCEDURE.
  639. /* _UIB-CODE-BLOCK-END */
  640. &ANALYZE-RESUME
  641. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE state-changed B-table-Win
  642. PROCEDURE state-changed :
  643. /* -----------------------------------------------------------
  644. Purpose:
  645. Parameters: <none>
  646. Notes:
  647. -------------------------------------------------------------*/
  648. DEFINE INPUT PARAMETER p-issuer-hdl AS HANDLE NO-UNDO.
  649. DEFINE INPUT PARAMETER p-state AS CHARACTER NO-UNDO.
  650. DEF VAR XArtnr AS INT NO-UNDO.
  651. DEF VAR XInhalt AS INT NO-UNDO.
  652. DEF VAR XJahr AS INT NO-UNDO.
  653. DO WITH FRAME {&FRAME-NAME}:
  654. CASE p-state:
  655. WHEN 'Record-First' THEN DO:
  656. APPLY 'CTRL-HOME' TO BROWSE {&BROWSE-NAME}.
  657. RETURN NO-APPLY.
  658. END.
  659. WHEN 'Record-Prev' THEN DO:
  660. APPLY 'CURSOR-UP' TO BROWSE {&BROWSE-NAME}.
  661. RETURN NO-APPLY.
  662. END.
  663. WHEN 'Record-Next' THEN DO:
  664. APPLY 'CURSOR-DOWN' TO BROWSE {&BROWSE-NAME}.
  665. RETURN NO-APPLY.
  666. END.
  667. WHEN 'Record-Last' THEN DO:
  668. APPLY 'CTRL-HOME' TO BROWSE {&BROWSE-NAME}.
  669. RETURN NO-APPLY.
  670. END.
  671. WHEN 'entry_browse' THEN DO:
  672. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  673. RETURN NO-APPLY.
  674. END.
  675. {src/adm/template/bstates.i}
  676. END CASE.
  677. END. /* FRAME */
  678. END PROCEDURE.
  679. /* _UIB-CODE-BLOCK-END */
  680. &ANALYZE-RESUME
  681. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SUCHEN B-table-Win
  682. PROCEDURE SUCHEN :
  683. /*------------------------------------------------------------------------------
  684. Purpose:
  685. Parameters: <none>
  686. Notes:
  687. ------------------------------------------------------------------------------*/
  688. DEF VAR cValue AS CHAR NO-UNDO.
  689. GET-KEY-VALUE SECTION 'ArtikelSuchen'
  690. KEY 'Bestellwesen'
  691. VALUE cValue.
  692. IF cValue = ? THEN cValue = ''.
  693. IF cValue = '' THEN cValue = 'no'.
  694. IF cValue BEGINS 'n' THEN T_Geloeschte = FALSE.
  695. ELSE T_Geloeschte = TRUE.
  696. DO WITH FRAME {&FRAME-NAME}:
  697. IF LVSort < 1 THEN LVSort = 2.
  698. IF LVSort > 4 THEN LVSort = 4.
  699. SortierArt = LVSort.
  700. F_SortierArt = LVSort.
  701. F_Suchbe = LVSuchbe.
  702. VSuchbe = LVSuchbe.
  703. DISPLAY F_SortierArt
  704. F_Suchbe
  705. T_Geloeschte.
  706. END.
  707. END PROCEDURE.
  708. /* _UIB-CODE-BLOCK-END */
  709. &ANALYZE-RESUME