g-such-artikkarte.w 36 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118
  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 gsuchartikel
  8. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gsuchartikel
  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 OUTPUT PARAMETER opArtikel AS CHAR NO-UNDO.
  30. /* Local Variable Definitions --- */
  31. DEF VAR MaxPage AS INT NO-UNDO.
  32. DEF VAR AktSeite AS INT NO-UNDO.
  33. DEF VAR FMutFlag AS LOG NO-UNDO.
  34. DEF VAR Firma AS CHAR NO-UNDO INIT ''.
  35. DEF VAR VSort AS INT NO-UNDO INIT 1.
  36. DEF VAR VSuch1 AS CHAR NO-UNDO INIT ''.
  37. DEF VAR VSuch2 AS CHAR NO-UNDO INIT ''.
  38. DEF VAR VSuch3 AS CHAR NO-UNDO INIT ''.
  39. DEF VAR VSuch4 AS CHAR NO-UNDO INIT ''.
  40. DEF VAR VSuch5 AS CHAR NO-UNDO INIT ''.
  41. DEF VAR Inhalt AS CHAR NO-UNDO INIT ''.
  42. DEF VAR MinNr AS INT NO-UNDO.
  43. DEF VAR AnzVorhanden AS INT NO-UNDO.
  44. /* _UIB-CODE-BLOCK-END */
  45. &ANALYZE-RESUME
  46. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  47. /* ******************** Preprocessor Definitions ******************** */
  48. &Scoped-define PROCEDURE-TYPE SmartDialog
  49. &Scoped-define DB-AWARE no
  50. &Scoped-define ADM-CONTAINER DIALOG-BOX
  51. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  52. /* Name of first Frame and/or Browse and/or first Query */
  53. &Scoped-define FRAME-NAME gsuchartikel
  54. &Scoped-define BROWSE-NAME Br_artikel
  55. /* Internal Tables (found by Frame, Query & Browse Queries) */
  56. &Scoped-define INTERNAL-TABLES Artst Artbez
  57. /* Definitions for BROWSE Br_artikel */
  58. &Scoped-define FIELDS-IN-QUERY-Br_artikel Artst.Artnr Artst.Inhalt ~
  59. Artst.Jahr Artst.Suchbe Artst.Bez Artst.Bestand Artst.Listen_EP ~
  60. Artst.Alk_Gehalt
  61. &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_artikel
  62. &Scoped-define OPEN-QUERY-Br_artikel OPEN QUERY Br_artikel FOR EACH Artst NO-LOCK, ~
  63. EACH Artbez OF Artst NO-LOCK INDEXED-REPOSITION.
  64. &Scoped-define TABLES-IN-QUERY-Br_artikel Artst Artbez
  65. &Scoped-define FIRST-TABLE-IN-QUERY-Br_artikel Artst
  66. &Scoped-define SECOND-TABLE-IN-QUERY-Br_artikel Artbez
  67. /* Definitions for DIALOG-BOX gsuchartikel */
  68. /* Standard List Definitions */
  69. &Scoped-Define ENABLED-OBJECTS F_Artnr F_Inhalt F_Jahr F_Suchbe F_Bez ~
  70. Br_artikel T_Geloescht RECT-38
  71. &Scoped-Define DISPLAYED-OBJECTS F_Artnr F_Inhalt F_Jahr F_Suchbe F_Bez ~
  72. T_Geloescht
  73. /* Custom List Definitions */
  74. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  75. &Scoped-define List-6 F_Artnr F_Inhalt F_Jahr F_Suchbe F_Bez T_Geloescht
  76. /* _UIB-PREPROCESSOR-BLOCK-END */
  77. &ANALYZE-RESUME
  78. /* *********************** Control Definitions ********************** */
  79. /* Define a dialog box */
  80. /* Definitions of the field level widgets */
  81. DEFINE VARIABLE F_Artnr AS INTEGER FORMAT "999999":U INITIAL 0
  82. LABEL "Artnr"
  83. VIEW-AS FILL-IN NATIVE
  84. SIZE 11 BY 1
  85. BGCOLOR 15 NO-UNDO.
  86. DEFINE VARIABLE F_Bez AS CHARACTER FORMAT "X(256)":U
  87. LABEL "Bezeichnung"
  88. VIEW-AS FILL-IN NATIVE
  89. SIZE 30 BY 1
  90. BGCOLOR 15 NO-UNDO.
  91. DEFINE VARIABLE F_Inhalt AS INTEGER FORMAT "9999":U INITIAL 0
  92. LABEL "Inhalt"
  93. VIEW-AS FILL-IN NATIVE
  94. SIZE 8 BY 1
  95. BGCOLOR 15 NO-UNDO.
  96. DEFINE VARIABLE F_Jahr AS INTEGER FORMAT "9999":U INITIAL 0
  97. LABEL "Jahrgang"
  98. VIEW-AS FILL-IN NATIVE
  99. SIZE 8 BY 1
  100. BGCOLOR 15 NO-UNDO.
  101. DEFINE VARIABLE F_Suchbe AS CHARACTER FORMAT "X(256)":U
  102. LABEL "Suchbegriff"
  103. VIEW-AS FILL-IN NATIVE
  104. SIZE 20 BY 1
  105. BGCOLOR 15 NO-UNDO.
  106. DEFINE RECTANGLE RECT-38
  107. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  108. SIZE 105 BY 19.29.
  109. DEFINE VARIABLE T_Geloescht AS LOGICAL INITIAL no
  110. LABEL "&inaktive ?"
  111. VIEW-AS TOGGLE-BOX
  112. SIZE 15.2 BY 1 NO-UNDO.
  113. /* Query definitions */
  114. &ANALYZE-SUSPEND
  115. DEFINE QUERY Br_artikel FOR
  116. Artst,
  117. Artbez SCROLLING.
  118. &ANALYZE-RESUME
  119. /* Browse definitions */
  120. DEFINE BROWSE Br_artikel
  121. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_artikel gsuchartikel _STRUCTURED
  122. QUERY Br_artikel NO-LOCK DISPLAY
  123. Artst.Artnr FORMAT "999999":U WIDTH 7
  124. Artst.Inhalt FORMAT "9999":U WIDTH 6
  125. Artst.Jahr FORMAT "9999":U WIDTH 5
  126. Artst.Suchbe FORMAT "x(15)":U
  127. Artst.Bez COLUMN-LABEL "Bezeichnung" FORMAT "x(30)":U
  128. Artst.Bestand FORMAT "zzzzz,zz9-":U WIDTH 11
  129. Artst.Listen_EP COLUMN-LABEL "Listen EP" FORMAT "z,zz9.999":U
  130. WIDTH 10
  131. Artst.Alk_Gehalt COLUMN-LABEL "Alk%" FORMAT "zz9.9":U WIDTH 5
  132. /* _UIB-CODE-BLOCK-END */
  133. &ANALYZE-RESUME
  134. WITH NO-ROW-MARKERS SEPARATORS SIZE 100 BY 14.76
  135. BGCOLOR 15 .
  136. /* ************************ Frame Definitions *********************** */
  137. DEFINE FRAME gsuchartikel
  138. F_Artnr AT ROW 1.52 COL 18 COLON-ALIGNED
  139. F_Inhalt AT ROW 1.52 COL 40 COLON-ALIGNED
  140. F_Jahr AT ROW 1.52 COL 62 COLON-ALIGNED
  141. F_Suchbe AT ROW 2.52 COL 18 COLON-ALIGNED
  142. F_Bez AT ROW 3.52 COL 18 COLON-ALIGNED
  143. Br_artikel AT ROW 5.19 COL 4
  144. T_Geloescht AT ROW 3.52 COL 64.2 NO-TAB-STOP
  145. RECT-38 AT ROW 1.24 COL 2
  146. SPACE(0.99) SKIP(0.22)
  147. WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
  148. SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
  149. TITLE "Suche nach Artikeln".
  150. /* *********************** Procedure Settings ************************ */
  151. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  152. /* Settings for THIS-PROCEDURE
  153. Type: SmartDialog
  154. Allow: Basic,Browse,DB-Fields,Query,Smart
  155. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  156. Design Page: 1
  157. Other Settings: COMPILE
  158. */
  159. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  160. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gsuchartikel
  161. /* ************************* Included-Libraries *********************** */
  162. {src/adm2/containr.i}
  163. /* _UIB-CODE-BLOCK-END */
  164. &ANALYZE-RESUME
  165. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  166. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  167. /* SETTINGS FOR DIALOG-BOX gsuchartikel
  168. Custom */
  169. /* BROWSE-TAB Br_artikel F_Bez gsuchartikel */
  170. ASSIGN
  171. FRAME gsuchartikel:SCROLLABLE = FALSE
  172. FRAME gsuchartikel:HIDDEN = TRUE.
  173. ASSIGN
  174. Br_artikel:COLUMN-RESIZABLE IN FRAME gsuchartikel = TRUE.
  175. /* SETTINGS FOR FILL-IN F_Artnr IN FRAME gsuchartikel
  176. 6 */
  177. /* SETTINGS FOR FILL-IN F_Bez IN FRAME gsuchartikel
  178. 6 */
  179. /* SETTINGS FOR FILL-IN F_Inhalt IN FRAME gsuchartikel
  180. 6 */
  181. /* SETTINGS FOR FILL-IN F_Jahr IN FRAME gsuchartikel
  182. 6 */
  183. /* SETTINGS FOR FILL-IN F_Suchbe IN FRAME gsuchartikel
  184. 6 */
  185. /* SETTINGS FOR TOGGLE-BOX T_Geloescht IN FRAME gsuchartikel
  186. 6 */
  187. /* _RUN-TIME-ATTRIBUTES-END */
  188. &ANALYZE-RESUME
  189. /* Setting information for Queries and Browse Widgets fields */
  190. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_artikel
  191. /* Query rebuild information for BROWSE Br_artikel
  192. _TblList = "AnaDat.Artst,AnaDat.Artbez OF AnaDat.Artst"
  193. _Options = "NO-LOCK INDEXED-REPOSITION"
  194. _FldNameList[1] > AnaDat.Artst.Artnr
  195. "Artst.Artnr" ? ? "integer" ? ? ? ? ? ? no ? no no "7" yes no no "U" "" ""
  196. _FldNameList[2] > AnaDat.Artst.Inhalt
  197. "Artst.Inhalt" ? ? "integer" ? ? ? ? ? ? no ? no no "6" yes no no "U" "" ""
  198. _FldNameList[3] > AnaDat.Artst.Jahr
  199. "Artst.Jahr" ? ? "integer" ? ? ? ? ? ? no ? no no "5" yes no no "U" "" ""
  200. _FldNameList[4] = AnaDat.Artst.Suchbe
  201. _FldNameList[5] > AnaDat.Artst.Bez
  202. "Artst.Bez" "Bezeichnung" ? "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" ""
  203. _FldNameList[6] > AnaDat.Artst.Bestand
  204. "Artst.Bestand" ? ? "integer" ? ? ? ? ? ? no ? no no "11" yes no no "U" "" ""
  205. _FldNameList[7] > AnaDat.Artst.Listen_EP
  206. "Artst.Listen_EP" "Listen EP" ? "decimal" ? ? ? ? ? ? no ? no no "10" yes no no "U" "" ""
  207. _FldNameList[8] > AnaDat.Artst.Alk_Gehalt
  208. "Artst.Alk_Gehalt" "Alk%" "zz9.9" "decimal" ? ? ? ? ? ? no ? no no "5" yes no no "U" "" ""
  209. _Query is NOT OPENED
  210. */ /* BROWSE Br_artikel */
  211. &ANALYZE-RESUME
  212. &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gsuchartikel
  213. /* Query rebuild information for DIALOG-BOX gsuchartikel
  214. _Options = "SHARE-LOCK"
  215. _Query is NOT OPENED
  216. */ /* DIALOG-BOX gsuchartikel */
  217. &ANALYZE-RESUME
  218. /* ************************ Control Triggers ************************ */
  219. &Scoped-define SELF-NAME gsuchartikel
  220. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gsuchartikel gsuchartikel
  221. ON END-ERROR OF FRAME gsuchartikel /* Suche nach Artikeln */
  222. DO:
  223. RUN ENDE.
  224. RETURN NO-APPLY.
  225. END.
  226. /* _UIB-CODE-BLOCK-END */
  227. &ANALYZE-RESUME
  228. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gsuchartikel gsuchartikel
  229. ON GO OF FRAME gsuchartikel /* Suche nach Artikeln */
  230. DO:
  231. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR.
  232. END.
  233. /* _UIB-CODE-BLOCK-END */
  234. &ANALYZE-RESUME
  235. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gsuchartikel gsuchartikel
  236. ON WINDOW-CLOSE OF FRAME gsuchartikel /* Suche nach Artikeln */
  237. DO:
  238. RUN ENDE.
  239. RETURN NO-APPLY.
  240. END.
  241. /* _UIB-CODE-BLOCK-END */
  242. &ANALYZE-RESUME
  243. &Scoped-define BROWSE-NAME Br_artikel
  244. &Scoped-define SELF-NAME Br_artikel
  245. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_artikel gsuchartikel
  246. ON END-ERROR OF Br_artikel IN FRAME gsuchartikel
  247. DO:
  248. APPLY 'ENTRY' TO F_Artnr IN FRAME {&FRAME-NAME}.
  249. RETURN NO-APPLY.
  250. END.
  251. /* _UIB-CODE-BLOCK-END */
  252. &ANALYZE-RESUME
  253. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_artikel gsuchartikel
  254. ON RETURN OF Br_artikel IN FRAME gsuchartikel
  255. DO:
  256. DO WITH FRAME {&FRAME-NAME}:
  257. IF NUM-RESULTS('{&BROWSE-NAME}') = ? THEN RETURN NO-APPLY.
  258. IF NUM-RESULTS('{&BROWSE-NAME}') = 0 THEN RETURN NO-APPLY.
  259. IF {&BROWSE-NAME}:NUM-SELECTED-ROWS = 0 THEN RETURN NO-APPLY.
  260. {&BROWSE-NAME}:FETCH-SELECTED-ROW(1).
  261. ASSIGN {&List-6}.
  262. F_Artnr = Artst.Artnr.
  263. VSuch1 = TRIM(STRING(F_Artnr ,'zzzzzzzz')).
  264. F_Inhalt = Artst.Inhalt.
  265. VSuch2 = TRIM(STRING(F_Inhalt,'zzzzzzzz')).
  266. F_Jahr = Artst.Jahr .
  267. VSuch3 = TRIM(STRING(F_Jahr ,'zzzzzzzz')).
  268. VSuch4 = F_Suchbe.
  269. VSuch5 = F_Bez .
  270. {&BROWSE-NAME}:FETCH-SELECTED-ROW(1).
  271. opArtikel = STRING(RECID(Artst)) + CHR(01)
  272. + Artst.Firma + CHR(01)
  273. + STRING(Artst.Artnr) + CHR(01)
  274. + STRING(Artst.Inhalt) + CHR(01)
  275. + STRING(Artst.Jahr) + CHR(01)
  276. + STRING(VSort) + CHR(01).
  277. IF VSort <> 1 THEN VSuch1 = ''.
  278. IF VSort <> 2 THEN VSuch2 = ''.
  279. IF VSort <> 3 THEN VSuch3 = ''.
  280. IF VSort <> 4 THEN VSuch4 = ''.
  281. IF VSort <> 5 THEN VSuch5 = ''.
  282. opArtikel = opArtikel + VSuch1 + CHR(01)
  283. + VSuch2 + CHR(01)
  284. + VSuch3 + CHR(01)
  285. + VSuch4 + CHR(01)
  286. + VSuch5 + CHR(01).
  287. END.
  288. RUN ENDE.
  289. RETURN NO-APPLY.
  290. END.
  291. /* _UIB-CODE-BLOCK-END */
  292. &ANALYZE-RESUME
  293. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_artikel gsuchartikel
  294. ON ROW-DISPLAY OF Br_artikel IN FRAME gsuchartikel
  295. DO:
  296. DEF VAR Farbe AS INT NO-UNDO.
  297. IF NOT AVAILABLE Artst THEN RETURN.
  298. DO WITH FRAME {&FRAME-NAME}:
  299. Farbe = 15.
  300. IF Artst.Ausverk > 1 THEN Farbe = 14.
  301. IF Artst.Aktiv = FALSE THEN Farbe = 12.
  302. Artst.Artnr :BGCOLOR IN BROWSE {&BROWSE-NAME} = Farbe.
  303. Artst.Inhalt :BGCOLOR IN BROWSE {&BROWSE-NAME} = Farbe.
  304. Artst.Jahr :BGCOLOR IN BROWSE {&BROWSE-NAME} = Farbe.
  305. Artst.Suchbe :BGCOLOR IN BROWSE {&BROWSE-NAME} = Farbe.
  306. Artst.Bez :BGCOLOR IN BROWSE {&BROWSE-NAME} = Farbe.
  307. Artst.Bestand:BGCOLOR IN BROWSE {&BROWSE-NAME} = Farbe.
  308. END.
  309. END.
  310. /* _UIB-CODE-BLOCK-END */
  311. &ANALYZE-RESUME
  312. &Scoped-define SELF-NAME F_Artnr
  313. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Artnr gsuchartikel
  314. ON ENTRY OF F_Artnr IN FRAME gsuchartikel /* Artnr */
  315. DO:
  316. VSuch1 = ''.
  317. vSuch2 = ''.
  318. VSuch3 = ''.
  319. VSuch4 = ''.
  320. VSuch5 = ''.
  321. DO WITH FRAME {&FRAME-NAME}:
  322. F_Inhalt:SCREEN-VALUE = ''.
  323. F_Jahr :SCREEN-VALUE = ''.
  324. F_Suchbe:SCREEN-VALUE = ''.
  325. F_Bez :SCREEN-VALUE = ''.
  326. F_Artnr :SCREEN-VALUE = ''.
  327. F_Artnr :SET-SELECTION(1, 7).
  328. END.
  329. END.
  330. /* _UIB-CODE-BLOCK-END */
  331. &ANALYZE-RESUME
  332. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Artnr gsuchartikel
  333. ON LEAVE OF F_Artnr IN FRAME gsuchartikel /* Artnr */
  334. DO:
  335. DEF VAR iArtnr AS INT NO-UNDO.
  336. VSuch1 = SELF:SCREEN-VALUE.
  337. VSuch1 = TRIM(STRING(INTEGER(VSuch1),'zzzzzz')).
  338. IF VSuch1 <> '' THEN DO:
  339. iArtnr = INTEGER(VSuch1).
  340. DO WHILE iArtnr LT MinNr:
  341. iArtnr = iArtnr * 10.
  342. END.
  343. VSuch1 = STRING(iArtnr).
  344. SELF:SCREEN-VALUE = VSuch1.
  345. RUN OPENQUERY.
  346. IF NOT LASTKEY = KEYCODE('RETURN') THEN RETURN.
  347. IF AnzVorhanden = 0 THEN RETURN.
  348. IF AnzVorhanden > 1 THEN DO:
  349. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  350. RETURN NO-APPLY.
  351. END.
  352. APPLY 'RETURN' TO BROWSE {&BROWSE-NAME}.
  353. RETURN NO-APPLY.
  354. END.
  355. END.
  356. /* _UIB-CODE-BLOCK-END */
  357. &ANALYZE-RESUME
  358. &Scoped-define SELF-NAME F_Bez
  359. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Bez gsuchartikel
  360. ON END-ERROR OF F_Bez IN FRAME gsuchartikel /* Bezeichnung */
  361. DO:
  362. APPLY 'ENTRY' TO F_Artnr IN FRAME {&FRAME-NAME}.
  363. RETURN NO-APPLY.
  364. END.
  365. /* _UIB-CODE-BLOCK-END */
  366. &ANALYZE-RESUME
  367. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Bez gsuchartikel
  368. ON LEAVE OF F_Bez IN FRAME gsuchartikel /* Bezeichnung */
  369. DO:
  370. VSuch5 = SELF:SCREEN-VALUE.
  371. IF VSuch5 <> '' THEN DO WITH FRAME {&FRAME-NAME}:
  372. RUN OPENQUERY.
  373. IF NOT LASTKEY = KEYCODE('RETURN') THEN RETURN.
  374. IF AnzVorhanden = 0 THEN RETURN.
  375. IF AnzVorhanden > 1 THEN DO:
  376. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  377. RETURN NO-APPLY.
  378. END.
  379. APPLY 'RETURN' TO BROWSE {&BROWSE-NAME}.
  380. RETURN NO-APPLY.
  381. END.
  382. END.
  383. /* _UIB-CODE-BLOCK-END */
  384. &ANALYZE-RESUME
  385. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Bez gsuchartikel
  386. ON VALUE-CHANGED OF F_Bez IN FRAME gsuchartikel /* Bezeichnung */
  387. DO:
  388. VSuch5 = SELF:SCREEN-VALUE.
  389. IF VSuch5 <> '' THEN RUN OPENQUERY.
  390. END.
  391. /* _UIB-CODE-BLOCK-END */
  392. &ANALYZE-RESUME
  393. &Scoped-define SELF-NAME F_Inhalt
  394. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Inhalt gsuchartikel
  395. ON END-ERROR OF F_Inhalt IN FRAME gsuchartikel /* Inhalt */
  396. DO:
  397. APPLY 'ENTRY' TO F_Artnr IN FRAME {&FRAME-NAME}.
  398. RETURN NO-APPLY.
  399. END.
  400. /* _UIB-CODE-BLOCK-END */
  401. &ANALYZE-RESUME
  402. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Inhalt gsuchartikel
  403. ON LEAVE OF F_Inhalt IN FRAME gsuchartikel /* Inhalt */
  404. DO:
  405. VSuch2 = SELF:SCREEN-VALUE.
  406. VSuch2 = TRIM(STRING(INTEGER(Vsuch2),'zzzzzz')).
  407. IF VSuch2 <> '' THEN DO WITH FRAME {&FRAME-NAME}:
  408. RUN OPENQUERY.
  409. IF NOT LASTKEY = KEYCODE('RETURN') THEN RETURN.
  410. IF AnzVorhanden = 0 THEN RETURN.
  411. IF AnzVorhanden > 1 THEN DO:
  412. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  413. RETURN NO-APPLY.
  414. END.
  415. APPLY 'RETURN' TO BROWSE {&BROWSE-NAME}.
  416. RETURN NO-APPLY.
  417. END.
  418. END.
  419. /* _UIB-CODE-BLOCK-END */
  420. &ANALYZE-RESUME
  421. &Scoped-define SELF-NAME F_Jahr
  422. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Jahr gsuchartikel
  423. ON END-ERROR OF F_Jahr IN FRAME gsuchartikel /* Jahrgang */
  424. DO:
  425. APPLY 'ENTRY' TO F_Artnr IN FRAME {&FRAME-NAME}.
  426. RETURN NO-APPLY.
  427. END.
  428. /* _UIB-CODE-BLOCK-END */
  429. &ANALYZE-RESUME
  430. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Jahr gsuchartikel
  431. ON LEAVE OF F_Jahr IN FRAME gsuchartikel /* Jahrgang */
  432. DO:
  433. VSuch3 = SELF:SCREEN-VALUE.
  434. VSuch3 = TRIM(STRING(INTEGER(VSuch3),'zzzzzz')).
  435. IF VSuch3 <> '' THEN DO WITH FRAME {&FRAME-NAME}:
  436. RUN OPENQUERY.
  437. IF NOT LASTKEY = KEYCODE('RETURN') THEN RETURN.
  438. IF AnzVorhanden = 0 THEN RETURN.
  439. IF AnzVorhanden > 1 THEN DO:
  440. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  441. RETURN NO-APPLY.
  442. END.
  443. APPLY 'RETURN' TO BROWSE {&BROWSE-NAME}.
  444. RETURN NO-APPLY.
  445. END.
  446. END.
  447. /* _UIB-CODE-BLOCK-END */
  448. &ANALYZE-RESUME
  449. &Scoped-define SELF-NAME F_Suchbe
  450. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Suchbe gsuchartikel
  451. ON END-ERROR OF F_Suchbe IN FRAME gsuchartikel /* Suchbegriff */
  452. DO:
  453. APPLY 'ENTRY' TO F_Artnr IN FRAME {&FRAME-NAME}.
  454. RETURN NO-APPLY.
  455. END.
  456. /* _UIB-CODE-BLOCK-END */
  457. &ANALYZE-RESUME
  458. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Suchbe gsuchartikel
  459. ON LEAVE OF F_Suchbe IN FRAME gsuchartikel /* Suchbegriff */
  460. DO:
  461. VSuch4 = SELF:SCREEN-VALUE.
  462. IF VSuch4 <> '' THEN DO WITH FRAME {&FRAME-NAME}:
  463. RUN OPENQUERY.
  464. IF NOT LASTKEY = KEYCODE('RETURN') THEN RETURN.
  465. IF AnzVorhanden = 0 THEN RETURN.
  466. IF AnzVorhanden > 1 THEN DO:
  467. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  468. RETURN NO-APPLY.
  469. END.
  470. APPLY 'RETURN' TO BROWSE {&BROWSE-NAME}.
  471. RETURN NO-APPLY.
  472. END.
  473. END.
  474. /* _UIB-CODE-BLOCK-END */
  475. &ANALYZE-RESUME
  476. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Suchbe gsuchartikel
  477. ON VALUE-CHANGED OF F_Suchbe IN FRAME gsuchartikel /* Suchbegriff */
  478. DO:
  479. VSuch4 = SELF:SCREEN-VALUE.
  480. IF VSuch4 <> '' THEN RUN OPENQUERY.
  481. END.
  482. /* _UIB-CODE-BLOCK-END */
  483. &ANALYZE-RESUME
  484. &Scoped-define SELF-NAME T_Geloescht
  485. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Geloescht gsuchartikel
  486. ON VALUE-CHANGED OF T_Geloescht IN FRAME gsuchartikel /* inaktive ? */
  487. DO:
  488. DEF VAR xHandle AS HANDLE NO-UNDO.
  489. xHandle = ?.
  490. DO WITH FRAME {&FRAME-NAME}:
  491. IF F_Bez :SCREEN-VALUE <> '' THEN xHandle = F_Bez :HANDLE.
  492. IF F_Suchbe:SCREEN-VALUE <> '' THEN xHandle = F_Suchbe:HANDLE.
  493. IF F_Jahr :SCREEN-VALUE <> '0000' THEN xHandle = F_Jahr :HANDLE.
  494. IF F_Inhalt:SCREEN-VALUE <> '0000' THEN xHandle = F_Inhalt:HANDLE.
  495. IF NOT VALID-HANDLE(xHandle) THEN xHandle = F_Artnr:HANDLE.
  496. APPLY 'ENTRY' TO xHandle.
  497. CASE xHandle:NAME:
  498. WHEN 'F_Artnr' THEN RETURN NO-APPLY.
  499. WHEN 'F_Inhalt' THEN RETURN NO-APPLY.
  500. WHEN 'F_Jahr' THEN RETURN NO-APPLY.
  501. END CASE.
  502. IF xHandle:SCREEN-VALUE = '' THEN RETURN NO-APPLY.
  503. APPLY 'VALUE-CHANGED' TO xHandle.
  504. RETURN NO-APPLY.
  505. END.
  506. END.
  507. /* _UIB-CODE-BLOCK-END */
  508. &ANALYZE-RESUME
  509. &UNDEFINE SELF-NAME
  510. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gsuchartikel
  511. /* *************************** Main Block *************************** */
  512. opArtikel = ''.
  513. MaxPage = 1.
  514. AktSeite = 1.
  515. Firma = DYNAMIC-FUNCTION('GETMANDANT':U).
  516. DEF VAR ix AS INT NO-UNDO.
  517. FIND Steuer USE-INDEX Steuer-k1
  518. WHERE Steuer.Firma = Firma NO-LOCK NO-ERROR.
  519. MinNr = 1.
  520. IF AVAILABLE Steuer THEN DO:
  521. DO ix = 2 TO DYNAMIC-FUNCTION('GETMINARTNR':U) :
  522. MinNr = MinNr * 10.
  523. END.
  524. END.
  525. SESSION:DATA-ENTRY-RETURN = TRUE.
  526. /* TRIGGERS ------------------------------------------------------ */
  527. ON 'CURSOR-DOWN':U OF F_Artnr , F_Inhalt, F_Jahr ,
  528. F_Suchbe , F_Bez
  529. IN FRAME {&FRAME-NAME}
  530. DO:
  531. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  532. RETURN NO-APPLY.
  533. END.
  534. /* ------------------------------------------------------------------ */
  535. {src/adm2/dialogmn.i}
  536. /* _UIB-CODE-BLOCK-END */
  537. &ANALYZE-RESUME
  538. /* ********************** Internal Procedures *********************** */
  539. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gsuchartikel _ADM-CREATE-OBJECTS
  540. PROCEDURE adm-create-objects :
  541. /*------------------------------------------------------------------------------
  542. Purpose: Create handles for all SmartObjects used in this procedure.
  543. After SmartObjects are initialized, then SmartLinks are added.
  544. Parameters: <none>
  545. ------------------------------------------------------------------------------*/
  546. END PROCEDURE.
  547. /* _UIB-CODE-BLOCK-END */
  548. &ANALYZE-RESUME
  549. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE changePage gsuchartikel
  550. PROCEDURE changePage :
  551. /*------------------------------------------------------------------------------
  552. Purpose: Super Override
  553. Parameters:
  554. Notes:
  555. ------------------------------------------------------------------------------*/
  556. /* Code placed here will execute PRIOR to standard behavior. */
  557. RUN SUPER.
  558. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  559. CASE AktSeite:
  560. WHEN 1 THEN DO:
  561. /* RUN addLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */
  562. /* RUN addLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */
  563. /* RUN ToolbarInit ( INPUT h_d-auftr ). */
  564. RUN ENTRY_CURSOR.
  565. END.
  566. WHEN 2 THEN DO:
  567. RUN ENTRY_CURSOR.
  568. END.
  569. END CASE.
  570. END PROCEDURE.
  571. /* _UIB-CODE-BLOCK-END */
  572. &ANALYZE-RESUME
  573. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gsuchartikel _DEFAULT-DISABLE
  574. PROCEDURE disable_UI :
  575. /*------------------------------------------------------------------------------
  576. Purpose: DISABLE the User Interface
  577. Parameters: <none>
  578. Notes: Here we clean-up the user-interface by deleting
  579. dynamic widgets we have created and/or hide
  580. frames. This procedure is usually called when
  581. we are ready to "clean-up" after running.
  582. ------------------------------------------------------------------------------*/
  583. /* Hide all frames. */
  584. HIDE FRAME gsuchartikel.
  585. END PROCEDURE.
  586. /* _UIB-CODE-BLOCK-END */
  587. &ANALYZE-RESUME
  588. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gsuchartikel
  589. PROCEDURE enableObject :
  590. /*------------------------------------------------------------------------------
  591. Purpose: Super Override
  592. Parameters:
  593. Notes:
  594. ------------------------------------------------------------------------------*/
  595. DEF VAR hColumn AS HANDLE NO-UNDO.
  596. DEF VAR cBreite AS CHAR NO-UNDO.
  597. DEF VAR cString AS CHAR NO-UNDO.
  598. GET-KEY-VALUE SECTION 'GrundEinstellungen'
  599. KEY 'EpAufArtikelSuchen'
  600. VALUE cString.
  601. IF cString = ? THEN cString = 'nein'.
  602. DO WITH FRAME {&FRAME-NAME}:
  603. IF cString BEGINS 'n' THEN Artst.Listen_EP:VISIBLE IN BROWSE {&BROWSE-NAME} = FALSE.
  604. ELSE Artst.Listen_EP:VISIBLE IN BROWSE {&BROWSE-NAME} = TRUE .
  605. hColumn = {&BROWSE-NAME}:FIRST-COLUMN IN FRAME {&FRAME-NAME}.
  606. DO WHILE VALID-HANDLE(hColumn):
  607. IF hColumn:VISIBLE = TRUE THEN DO:
  608. GET-KEY-VALUE SECTION 'ArtikelSuchBrowser'
  609. KEY hColumn:NAME
  610. VALUE cBreite.
  611. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  612. IF cBreite = ? THEN LEAVE.
  613. IF cBreite = '' THEN LEAVE.
  614. IF DECIMAL(cBreite) < 2 THEN cBreite = '2'.
  615. hColumn:WIDTH = DECIMAL(cBreite).
  616. LEAVE.
  617. END.
  618. END.
  619. hColumn = hColumn:NEXT-COLUMN.
  620. END.
  621. END.
  622. RUN SUPER.
  623. RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR.
  624. END PROCEDURE.
  625. /* _UIB-CODE-BLOCK-END */
  626. &ANALYZE-RESUME
  627. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gsuchartikel _DEFAULT-ENABLE
  628. PROCEDURE enable_UI :
  629. /*------------------------------------------------------------------------------
  630. Purpose: ENABLE the User Interface
  631. Parameters: <none>
  632. Notes: Here we display/view/enable the widgets in the
  633. user-interface. In addition, OPEN all queries
  634. associated with each FRAME and BROWSE.
  635. These statements here are based on the "Other
  636. Settings" section of the widget Property Sheets.
  637. ------------------------------------------------------------------------------*/
  638. DISPLAY F_Artnr F_Inhalt F_Jahr F_Suchbe F_Bez T_Geloescht
  639. WITH FRAME gsuchartikel.
  640. ENABLE F_Artnr F_Inhalt F_Jahr F_Suchbe F_Bez Br_artikel T_Geloescht RECT-38
  641. WITH FRAME gsuchartikel.
  642. VIEW FRAME gsuchartikel.
  643. {&OPEN-BROWSERS-IN-QUERY-gsuchartikel}
  644. END PROCEDURE.
  645. /* _UIB-CODE-BLOCK-END */
  646. &ANALYZE-RESUME
  647. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gsuchartikel
  648. PROCEDURE ENDE :
  649. /*------------------------------------------------------------------------------
  650. Purpose:
  651. Parameters: <none>
  652. Notes:
  653. ------------------------------------------------------------------------------*/
  654. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  655. IF AktSeite > 1 THEN DO:
  656. RUN selectPage ( INPUT 1 ).
  657. RETURN NO-APPLY.
  658. END.
  659. DEF VAR hColumn AS HANDLE NO-UNDO.
  660. DO WITH FRAME {&FRAME-NAME}:
  661. hColumn = {&BROWSE-NAME}:FIRST-COLUMN.
  662. DO WHILE VALID-HANDLE(hColumn):
  663. PUT-KEY-VALUE SECTION 'ArtikelSuchBrowser'
  664. KEY hColumn:NAME
  665. VALUE STRING(hColumn:WIDTH).
  666. hColumn = hColumn:NEXT-COLUMN.
  667. END.
  668. END.
  669. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ).
  670. APPLY 'GO' TO FRAME {&FRAME-NAME}.
  671. RETURN NO-APPLY.
  672. END PROCEDURE.
  673. /* _UIB-CODE-BLOCK-END */
  674. &ANALYZE-RESUME
  675. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_CURSOR gsuchartikel
  676. PROCEDURE ENTRY_CURSOR :
  677. /*------------------------------------------------------------------------------
  678. Purpose:
  679. Parameters: <none>
  680. Notes:
  681. ------------------------------------------------------------------------------*/
  682. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  683. CASE AktSeite:
  684. /* WHEN 1 THEN RUN applyEntry IN h_v-adresse ( INPUT ? ). */
  685. /* WHEN 2 THEN RUN applyEntry IN h_f-adrkomm ( INPUT ? ). */
  686. /* WHEN 3 THEN RUN applyEntry IN h_b-auftbb ( INPUT ? ). */
  687. /* WHEN 4 THEN RUN applyEntry IN h_b-aufdet ( INPUT ? ). */
  688. /* WHEN 5 THEN RUN applyEntry IN h_b-aufstreu ( INPUT ? ). */
  689. /* WHEN 6 THEN RUN applyEntry IN h_b-auffak ( INPUT ? ). */
  690. /* WHEN 7 THEN RUN applyEntry IN h_b-position ( INPUT ? ). */
  691. END CASE.
  692. RETURN NO-APPLY.
  693. END PROCEDURE.
  694. /* _UIB-CODE-BLOCK-END */
  695. &ANALYZE-RESUME
  696. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject gsuchartikel
  697. PROCEDURE exitObject :
  698. /*------------------------------------------------------------------------------
  699. Purpose: Super Override
  700. Parameters:
  701. Notes:
  702. ------------------------------------------------------------------------------*/
  703. RUN ENDE.
  704. RETURN NO-APPLY.
  705. END PROCEDURE.
  706. /* _UIB-CODE-BLOCK-END */
  707. &ANALYZE-RESUME
  708. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NEXTPAGE gsuchartikel
  709. PROCEDURE NEXTPAGE :
  710. /*------------------------------------------------------------------------------
  711. Purpose:
  712. Parameters: <none>
  713. Notes:
  714. ------------------------------------------------------------------------------*/
  715. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  716. IF AktSeite = MaxPage THEN AktSeite = 1.
  717. ELSE AktSeite = AktSeite + 1.
  718. RUN selectPage ( INPUT AktSeite ).
  719. END PROCEDURE.
  720. /* _UIB-CODE-BLOCK-END */
  721. &ANALYZE-RESUME
  722. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE OPENQUERY gsuchartikel
  723. PROCEDURE OPENQUERY :
  724. /*------------------------------------------------------------------------------
  725. Purpose:
  726. Parameters: <none>
  727. Notes:
  728. ------------------------------------------------------------------------------*/
  729. DEF VAR FAktiv AS LOG NO-UNDO.
  730. DO WITH FRAME {&FRAME-NAME}:
  731. ASSIGN {&list-6}.
  732. IF T_Geloescht = TRUE THEN FAktiv = FALSE.
  733. ELSE FAktiv = TRUE.
  734. END.
  735. VSort = 1.
  736. IF VSuch5 <> '' AND INDEX(VSuch5, '*') = 0 THEN VSort = 5.
  737. IF VSuch4 <> '' AND INDEX(VSuch4, '*') = 0 THEN VSort = 4.
  738. IF VSuch3 <> '' AND INDEX(VSuch3, '*') = 0 THEN VSort = 3.
  739. IF VSuch2 <> '' AND INDEX(VSuch2, '*') = 0 THEN VSort = 2.
  740. IF VSuch1 <> '' AND INDEX(VSuch1, '*') = 0 THEN VSort = 1.
  741. SESSION:SET-WAIT-STATE('GENERAL').
  742. CASE VSort:
  743. WHEN 1 THEN DO:
  744. OPEN QUERY {&BROWSE-NAME}
  745. FOR EACH Artst USE-INDEX Artst-k1
  746. WHERE Artst.Firma = Firma
  747. AND Artst.Aktiv = FAktiv
  748. AND Artst.Artnr >= INTEGER(VSuch1)
  749. AND (IF VSuch2 <> '' THEN Artst.Inhalt = INTEGER(VSuch2)
  750. ELSE Artst.Inhalt >= 0 )
  751. AND (IF VSuch3 <> '' THEN Artst.Jahr = INTEGER(VSuch3)
  752. ELSE Artst.Jahr >= 0 )
  753. AND (IF INDEX(VSuch4, '*') = 0 THEN Artst.Suchbe BEGINS VSuch4
  754. ELSE Artst.Suchbe MATCHES VSuch4)
  755. AND (IF INDEX(VSuch5, '*') = 0 THEN Artst.Bez BEGINS VSuch5
  756. ELSE Artst.Bez MATCHES VSuch5)
  757. NO-LOCK,
  758. FIRST Artbez OF Artst WHERE Artbez.Zustext[01] <> ''
  759. OR Artbez.Zustext[02] <> '' NO-LOCK.
  760. END.
  761. WHEN 2 THEN DO:
  762. OPEN QUERY {&BROWSE-NAME}
  763. FOR EACH Artst USE-INDEX Artst-k1
  764. WHERE Artst.Firma = Firma
  765. AND Artst.Aktiv = FAktiv
  766. AND Artst.Inhalt = INTEGER(VSuch2)
  767. AND (IF VSuch3 <> '' THEN Artst.Jahr = INTEGER(VSuch3)
  768. ELSE Artst.Jahr >= 0 )
  769. AND (IF INDEX(VSuch4, '*') = 0 THEN Artst.Suchbe BEGINS VSuch4
  770. ELSE Artst.Suchbe MATCHES VSuch4)
  771. AND (IF INDEX(VSuch5, '*') = 0 THEN Artst.Bez BEGINS VSuch5
  772. ELSE Artst.Bez MATCHES VSuch5)
  773. NO-LOCK,
  774. FIRST Artbez OF Artst WHERE Artbez.Zustext[01] <> ''
  775. OR Artbez.Zustext[02] <> '' NO-LOCK.
  776. END.
  777. WHEN 3 THEN DO:
  778. OPEN QUERY {&BROWSE-NAME}
  779. FOR EACH Artst USE-INDEX Artst-k1
  780. WHERE Artst.Firma = Firma
  781. AND Artst.Aktiv = FAktiv
  782. AND Artst.Jahr = INTEGER(VSuch3)
  783. AND (IF INDEX(VSuch4, '*') = 0 THEN Artst.Suchbe BEGINS VSuch4
  784. ELSE Artst.Suchbe MATCHES VSuch4)
  785. AND (IF INDEX(VSuch5, '*') = 0 THEN Artst.Bez BEGINS VSuch5
  786. ELSE Artst.Bez MATCHES VSuch5)
  787. NO-LOCK,
  788. FIRST Artbez OF Artst WHERE Artbez.Zustext[01] <> ''
  789. OR Artbez.Zustext[02] <> '' NO-LOCK.
  790. END.
  791. WHEN 4 THEN DO:
  792. OPEN QUERY {&BROWSE-NAME}
  793. FOR EACH Artst USE-INDEX Artst-k2
  794. WHERE Artst.Firma = Firma
  795. AND Artst.Aktiv = FAktiv
  796. AND Artst.Suchbe BEGINS VSuch4
  797. AND (IF INDEX(VSuch5, '*') = 0 THEN Artst.Bez BEGINS VSuch5
  798. ELSE Artst.Bez MATCHES VSuch5)
  799. NO-LOCK,
  800. FIRST Artbez OF Artst WHERE Artbez.Zustext[01] <> ''
  801. OR Artbez.Zustext[02] <> '' NO-LOCK.
  802. END.
  803. WHEN 5 THEN DO:
  804. OPEN QUERY {&BROWSE-NAME}
  805. FOR EACH Artst USE-INDEX Artst-k3
  806. WHERE Artst.Firma = Firma
  807. AND Artst.Aktiv = FAktiv
  808. AND Artst.Bez BEGINS VSuch5
  809. AND (IF INDEX(VSuch4, '*') = 0 THEN Artst.Suchbe BEGINS VSuch4
  810. ELSE Artst.Suchbe MATCHES VSuch4)
  811. NO-LOCK,
  812. FIRST Artbez OF Artst WHERE Artbez.Zustext[01] <> ''
  813. OR Artbez.Zustext[02] <> '' NO-LOCK.
  814. END.
  815. END CASE.
  816. SESSION:SET-WAIT-STATE('').
  817. AnzVorhanden = NUM-RESULTS('{&BROWSE-NAME}') NO-ERROR.
  818. END PROCEDURE.
  819. /* _UIB-CODE-BLOCK-END */
  820. &ANALYZE-RESUME
  821. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PREVPAGE gsuchartikel
  822. PROCEDURE PREVPAGE :
  823. /*------------------------------------------------------------------------------
  824. Purpose:
  825. Parameters: <none>
  826. Notes:
  827. ------------------------------------------------------------------------------*/
  828. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  829. IF AktSeite = 1 THEN AktSeite = MaxPage.
  830. ELSE AktSeite = AktSeite - 1.
  831. RUN selectPage ( INPUT AktSeite ).
  832. END PROCEDURE.
  833. /* _UIB-CODE-BLOCK-END */
  834. &ANALYZE-RESUME
  835. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE selectPage gsuchartikel
  836. PROCEDURE selectPage :
  837. /*------------------------------------------------------------------------------
  838. Purpose: Super Override
  839. Parameters:
  840. Notes:
  841. ------------------------------------------------------------------------------*/
  842. DEF INPUT PARAMETER piPageNum AS INT NO-UNDO.
  843. DEF VAR FMutFlag AS LOG NO-UNDO.
  844. DEF VAR MutProg AS CHAR NO-UNDO.
  845. FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
  846. DO WHILE TRUE:
  847. IF NOT FMutFlag THEN LEAVE.
  848. MutProg = DYNAMIC-FUNCTION('GETMUTPROG':U).
  849. IF MutProg <> THIS-PROCEDURE:FILE-NAME THEN LEAVE.
  850. RETURN NO-APPLY.
  851. END.
  852. CASE piPageNum:
  853. END CASE.
  854. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  855. CASE AktSeite:
  856. WHEN 1 THEN DO:
  857. /* RUN removeLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */
  858. /* RUN removeLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */
  859. END.
  860. END CASE.
  861. RUN SUPER( INPUT piPageNum).
  862. END PROCEDURE.
  863. /* _UIB-CODE-BLOCK-END */
  864. &ANALYZE-RESUME
  865. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TOOLBAR gsuchartikel
  866. PROCEDURE TOOLBAR :
  867. /*------------------------------------------------------------------------------
  868. Purpose:
  869. Parameters: <none>
  870. Notes:
  871. ------------------------------------------------------------------------------*/
  872. DEF INPUT PARAMETER pcAction AS CHAR NO-UNDO.
  873. /*
  874. RUN TOOLBAR IN h_dyntoolbar ( INPUT pcAction ).
  875. */
  876. END PROCEDURE.
  877. /* _UIB-CODE-BLOCK-END */
  878. &ANALYZE-RESUME