g-suchen-artikel.w 50 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. /* Connected Databases
  4. anadat PROGRESS
  5. */
  6. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  7. &Scoped-define FRAME-NAME gArtikelSuchen
  8. {adecomm/appserv.i}
  9. /* Temp-Table and Buffer definitions */
  10. DEFINE TEMP-TABLE tArtst NO-UNDO LIKE Artst
  11. FIELD Bez1 AS CHARACTER
  12. FIELD Bez2 AS CHARACTER
  13. FIELD KGeb_KBez AS CHARACTER
  14. FIELD VGeb_KBez AS CHARACTER
  15. FIELD iRecid AS RECID
  16. FIELD cSort AS CHARACTER
  17. FIELD iTreffer AS INTEGER
  18. FIELD WortIndex AS CHARACTER
  19. INDEX kWortIndex IS WORD-INDEX
  20. WortIndex.
  21. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gArtikelSuchen
  22. /*------------------------------------------------------------------------
  23. File:
  24. Description: from cntnrdlg.w - ADM2 SmartDialog Template
  25. Input Parameters:
  26. <none>
  27. Output Parameters:
  28. <none>
  29. Author:
  30. Created:
  31. ------------------------------------------------------------------------*/
  32. /* This .W file was created with the Progress AppBuilder. */
  33. /*----------------------------------------------------------------------*/
  34. /* Create an unnamed pool to store all the widgets created
  35. by this procedure. This is a good default which assures
  36. that this procedure's triggers and internal procedures
  37. will execute in this procedure's storage, and that proper
  38. cleanup will occur on deletion of the procedure. */
  39. CREATE WIDGET-POOL.
  40. /* *************************** Definitions ************************** */
  41. /* Parameters Definitions --- */
  42. DEFINE INPUT PARAMETER ipSuchbe AS CHARACTER NO-UNDO.
  43. DEFINE OUTPUT PARAMETER opRecid AS RECID NO-UNDO.
  44. /* Local Variable Definitions --- */
  45. &SCOPED-DEFINE Tabelle tArtst
  46. &SCOPED-DEFINE Feld WordIndex
  47. { incl/dlgdefinition.i }
  48. { incl/dynbrwdefinition.i }
  49. DEFINE VARIABLE iKnr AS INTEGER INIT 0 NO-UNDO.
  50. DEFINE VARIABLE iLager AS INTEGER INIT 0 NO-UNDO.
  51. DEFINE VARIABLE lLager AS LOG INIT FALSE NO-UNDO.
  52. DEFINE VARIABLE MinNr AS INTEGER NO-UNDO.
  53. DEFINE VARIABLE cHerk AS CHARACTER NO-UNDO.
  54. DEFINE VARIABLE fAdmin AS LOG NO-UNDO.
  55. DEFINE VARIABLE iVertr AS INTEGER NO-UNDO.
  56. DEFINE VARIABLE lInaktiv AS LOG NO-UNDO.
  57. DEFINE VARIABLE cInstall AS CHARACTER NO-UNDO.
  58. DEFINE VARIABLE cSort AS CHARACTER INIT 'cSort' NO-UNDO.
  59. DEFINE VARIABLE lAufAb AS LOG INIT TRUE NO-UNDO.
  60. DEFINE VARIABLE cAufAb AS CHARACTER INIT '' NO-UNDO.
  61. DEFINE VARIABLE cFilterFeld AS CHARACTER NO-UNDO.
  62. DEFINE VARIABLE cFilterWert AS CHARACTER NO-UNDO.
  63. DEFINE VARIABLE dDatum AS DATE NO-UNDO.
  64. DEFINE VARIABLE cIndex AS CHARACTER NO-UNDO INIT ' '.
  65. DEFINE TEMP-TABLE tSuchFelder NO-UNDO
  66. FIELD iWort AS INTEGER
  67. FIELD iSuch AS INTEGER
  68. FIELD cSuch AS CHARACTER
  69. FIELD lGefunden AS LOG INIT FALSE
  70. INDEX tSuchFelder-k1 IS PRIMARY
  71. iWort.
  72. { src/adm2/widgetprto.i }
  73. /* _UIB-CODE-BLOCK-END */
  74. &ANALYZE-RESUME
  75. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  76. /* ******************** Preprocessor Definitions ******************** */
  77. &Scoped-define PROCEDURE-TYPE SmartDialog
  78. &Scoped-define DB-AWARE no
  79. &Scoped-define ADM-CONTAINER DIALOG-BOX
  80. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  81. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  82. &Scoped-define FRAME-NAME gArtikelSuchen
  83. &Scoped-define BROWSE-NAME Browser_suchen
  84. /* Internal Tables (found by Frame, Query & Browse Queries) */
  85. &Scoped-define INTERNAL-TABLES tArtst
  86. /* Definitions for BROWSE Browser_suchen */
  87. &Scoped-define FIELDS-IN-QUERY-Browser_suchen tArtst.KGeb_KBez @ KGeb_KBez ~
  88. tArtst.VGeb_Kbez @ VGeb_KBez tArtst.Artnr tArtst.Jahr tArtst.Inhalt ~
  89. tArtst.Bez1 @ Bez1 tArtst.Bez2 @ Bez2 tArtst.Bestand tArtst.Listen_EP ~
  90. tArtst.Alk_Gehalt tArtst.Ausverk tArtst.FremdNr tArtst.Suchbe
  91. &Scoped-define ENABLED-FIELDS-IN-QUERY-Browser_suchen
  92. &Scoped-define QUERY-STRING-Browser_suchen FOR EACH tArtst NO-LOCK INDEXED-REPOSITION
  93. &Scoped-define OPEN-QUERY-Browser_suchen OPEN QUERY Browser_suchen FOR EACH tArtst NO-LOCK INDEXED-REPOSITION.
  94. &Scoped-define TABLES-IN-QUERY-Browser_suchen tArtst
  95. &Scoped-define FIRST-TABLE-IN-QUERY-Browser_suchen tArtst
  96. /* Definitions for DIALOG-BOX gArtikelSuchen */
  97. /* Standard List Definitions */
  98. &Scoped-Define ENABLED-OBJECTS RECT-2 F_Suchbegriffe Browser_suchen
  99. &Scoped-Define DISPLAYED-OBJECTS F_Suchbegriffe
  100. /* Custom List Definitions */
  101. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  102. /* _UIB-PREPROCESSOR-BLOCK-END */
  103. &ANALYZE-RESUME
  104. /* ************************ Function Prototypes ********************** */
  105. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getArtikelSelektiert gArtikelSuchen
  106. FUNCTION getArtikelSelektiert RETURNS LOGICAL
  107. ( ipArtnr AS INTEGER, ipInhalt AS INTEGER, ipJahr AS INTEGER ) FORWARD.
  108. /* _UIB-CODE-BLOCK-END */
  109. &ANALYZE-RESUME
  110. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD openQuery gArtikelSuchen
  111. FUNCTION openQuery RETURNS LOGICAL
  112. ( /* parameter-definitions */ ) FORWARD.
  113. /* _UIB-CODE-BLOCK-END */
  114. &ANALYZE-RESUME
  115. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD setKollonnenfarbe gArtikelSuchen
  116. FUNCTION setKollonnenfarbe RETURNS LOGICAL
  117. ( ipFarbe AS INTEGER ) FORWARD.
  118. /* _UIB-CODE-BLOCK-END */
  119. &ANALYZE-RESUME
  120. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD startQueryArtikel gArtikelSuchen
  121. FUNCTION startQueryArtikel RETURNS INTEGER
  122. ( /* parameter-definitions */ ) FORWARD.
  123. /* _UIB-CODE-BLOCK-END */
  124. &ANALYZE-RESUME
  125. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD startQueryArtlief gArtikelSuchen
  126. FUNCTION startQueryArtlief RETURNS INTEGER
  127. ( /* parameter-definitions */ ) FORWARD.
  128. /* _UIB-CODE-BLOCK-END */
  129. &ANALYZE-RESUME
  130. /* *********************** Control Definitions ********************** */
  131. /* Define a dialog box */
  132. /* Menu Definitions */
  133. DEFINE MENU POPUP-MENU-Browser_suchen
  134. MENU-ITEM X_INAKTIVE_EINAUS LABEL "inaktive anzeigen ?"
  135. TOGGLE-BOX.
  136. /* Definitions of the field level widgets */
  137. DEFINE VARIABLE F_Suchbegriffe AS CHARACTER FORMAT "X(256)":U
  138. LABEL "suchen nach"
  139. VIEW-AS FILL-IN NATIVE
  140. SIZE 50 BY 1 TOOLTIP "nach Inhalt suchen ~"Inhalt=150~", Nach Jahrgang suchen ~"Jahr=2015~""
  141. BGCOLOR 15 NO-UNDO.
  142. DEFINE RECTANGLE RECT-2
  143. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  144. SIZE 184 BY 19.52.
  145. /* Query definitions */
  146. &ANALYZE-SUSPEND
  147. DEFINE QUERY Browser_suchen FOR
  148. tArtst SCROLLING.
  149. &ANALYZE-RESUME
  150. /* Browse definitions */
  151. DEFINE BROWSE Browser_suchen
  152. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Browser_suchen gArtikelSuchen _STRUCTURED
  153. QUERY Browser_suchen NO-LOCK DISPLAY
  154. tArtst.KGeb_KBez @ KGeb_KBez COLUMN-LABEL "KGeb" FORMAT "x(10)":U
  155. tArtst.VGeb_Kbez @ VGeb_KBez COLUMN-LABEL "VGeb" FORMAT "x(10)":U
  156. tArtst.Artnr FORMAT "999999":U WIDTH 9
  157. tArtst.Jahr FORMAT "9999":U WIDTH 6
  158. tArtst.Inhalt FORMAT "9999":U
  159. tArtst.Bez1 @ Bez1 COLUMN-LABEL "Bezeichnung - 1" FORMAT "x(30)":U
  160. WIDTH 35
  161. tArtst.Bez2 @ Bez2 COLUMN-LABEL "Bezeichnung - 2" FORMAT "x(30)":U
  162. WIDTH 35
  163. tArtst.Bestand FORMAT "zzzzz,zz9-":U WIDTH 10
  164. tArtst.Listen_EP COLUMN-LABEL "Listen-EP" FORMAT "z,zz9.999":U
  165. WIDTH 10
  166. tArtst.Alk_Gehalt COLUMN-LABEL "Alk-%" FORMAT "zz9.999":U
  167. WIDTH 10
  168. tArtst.Ausverk FORMAT "9":U WIDTH 8
  169. tArtst.FremdNr COLUMN-LABEL "Alte Nummer" FORMAT "XXXXXX.XXXX.XXXX":U
  170. WIDTH 23
  171. tArtst.Suchbe COLUMN-LABEL "Suchbegriff" FORMAT "x(15)":U
  172. /* _UIB-CODE-BLOCK-END */
  173. &ANALYZE-RESUME
  174. WITH NO-ROW-MARKERS SEPARATORS SIZE 180 BY 17.14.
  175. /* ************************ Frame Definitions *********************** */
  176. DEFINE FRAME gArtikelSuchen
  177. F_Suchbegriffe AT ROW 2 COL 17.8 COLON-ALIGNED WIDGET-ID 4
  178. Browser_suchen AT ROW 3.38 COL 5 WIDGET-ID 200
  179. RECT-2 AT ROW 1.48 COL 3 WIDGET-ID 2
  180. SPACE(1.99) SKIP(0.47)
  181. WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
  182. SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
  183. TITLE "Artikel suchen" WIDGET-ID 100.
  184. /* *********************** Procedure Settings ************************ */
  185. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  186. /* Settings for THIS-PROCEDURE
  187. Type: SmartDialog
  188. Allow: Basic,Browse,DB-Fields,Query,Smart
  189. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  190. Design Page: 1
  191. Other Settings: COMPILE APPSERVER
  192. Temp-Tables and Buffers:
  193. TABLE: tArtst T "?" NO-UNDO AnaDat Artst
  194. ADDITIONAL-FIELDS:
  195. FIELD Bez1 AS CHAR
  196. FIELD Bez2 AS CHAR
  197. FIELD KGeb_KBez AS CHAR
  198. FIELD VGeb_KBez AS CHAR
  199. FIELD iRecid AS RECID
  200. FIELD cSort AS CHAR
  201. FIELD iTreffer AS INT
  202. FIELD WortIndex AS CHAR
  203. INDEX kWortIndex IS WORD-INDEX
  204. WortIndex
  205. END-FIELDS.
  206. END-TABLES.
  207. */
  208. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  209. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gArtikelSuchen
  210. /* ************************* Included-Libraries *********************** */
  211. {src/adm2/containr.i}
  212. /* _UIB-CODE-BLOCK-END */
  213. &ANALYZE-RESUME
  214. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  215. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  216. /* SETTINGS FOR DIALOG-BOX gArtikelSuchen
  217. FRAME-NAME */
  218. /* BROWSE-TAB Browser_suchen F_Suchbegriffe gArtikelSuchen */
  219. ASSIGN
  220. FRAME gArtikelSuchen:SCROLLABLE = FALSE
  221. FRAME gArtikelSuchen:HIDDEN = TRUE.
  222. ASSIGN
  223. Browser_suchen:POPUP-MENU IN FRAME gArtikelSuchen = MENU POPUP-MENU-Browser_suchen:HANDLE
  224. Browser_suchen:COLUMN-RESIZABLE IN FRAME gArtikelSuchen = TRUE
  225. Browser_suchen:COLUMN-MOVABLE IN FRAME gArtikelSuchen = TRUE.
  226. /* _RUN-TIME-ATTRIBUTES-END */
  227. &ANALYZE-RESUME
  228. /* Setting information for Queries and Browse Widgets fields */
  229. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Browser_suchen
  230. /* Query rebuild information for BROWSE Browser_suchen
  231. _TblList = "tArtst"
  232. _Options = "NO-LOCK INDEXED-REPOSITION"
  233. _TblOptList = ",,"
  234. _FldNameList[1] > "_<CALC>"
  235. "tArtst.KGeb_KBez @ KGeb_KBez" "KGeb" "x(10)" ? ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  236. _FldNameList[2] > "_<CALC>"
  237. "tArtst.VGeb_Kbez @ VGeb_KBez" "VGeb" "x(10)" ? ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  238. _FldNameList[3] > Temp-Tables.tArtst.Artnr
  239. "tArtst.Artnr" ? ? "integer" ? ? ? ? ? ? no ? no no "9" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  240. _FldNameList[4] > Temp-Tables.tArtst.Jahr
  241. "tArtst.Jahr" ? ? "integer" ? ? ? ? ? ? no ? no no "6" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  242. _FldNameList[5] = Temp-Tables.tArtst.Inhalt
  243. _FldNameList[6] > "_<CALC>"
  244. "tArtst.Bez1 @ Bez1" "Bezeichnung - 1" "x(30)" ? ? ? ? ? ? ? no ? no no "35" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  245. _FldNameList[7] > "_<CALC>"
  246. "tArtst.Bez2 @ Bez2" "Bezeichnung - 2" "x(30)" ? ? ? ? ? ? ? no ? no no "35" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  247. _FldNameList[8] > Temp-Tables.tArtst.Bestand
  248. "tArtst.Bestand" ? ? "integer" ? ? ? ? ? ? no ? no no "10" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  249. _FldNameList[9] > Temp-Tables.tArtst.Listen_EP
  250. "tArtst.Listen_EP" "Listen-EP" ? "decimal" ? ? ? ? ? ? no ? no no "10" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  251. _FldNameList[10] > Temp-Tables.tArtst.Alk_Gehalt
  252. "tArtst.Alk_Gehalt" "Alk-%" ? "decimal" ? ? ? ? ? ? no ? no no "10" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  253. _FldNameList[11] > Temp-Tables.tArtst.Ausverk
  254. "tArtst.Ausverk" ? "9" "integer" ? ? ? ? ? ? no ? no no "8" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  255. _FldNameList[12] > Temp-Tables.tArtst.FremdNr
  256. "tArtst.FremdNr" "Alte Nummer" "XXXXXX.XXXX.XXXX" "character" ? ? ? ? ? ? no ? no no "23" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  257. _FldNameList[13] > Temp-Tables.tArtst.Suchbe
  258. "tArtst.Suchbe" "Suchbegriff" ? "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  259. _Query is NOT OPENED
  260. */ /* BROWSE Browser_suchen */
  261. &ANALYZE-RESUME
  262. &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gArtikelSuchen
  263. /* Query rebuild information for DIALOG-BOX gArtikelSuchen
  264. _Options = "SHARE-LOCK"
  265. _Query is NOT OPENED
  266. */ /* DIALOG-BOX gArtikelSuchen */
  267. &ANALYZE-RESUME
  268. /* ************************ Control Triggers ************************ */
  269. &Scoped-define SELF-NAME gArtikelSuchen
  270. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gArtikelSuchen gArtikelSuchen
  271. ON END-ERROR OF FRAME gArtikelSuchen /* Artikel suchen */
  272. DO:
  273. opRecid = ?.
  274. RUN ENDE.
  275. RETURN NO-APPLY.
  276. END.
  277. /* _UIB-CODE-BLOCK-END */
  278. &ANALYZE-RESUME
  279. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gArtikelSuchen gArtikelSuchen
  280. ON WINDOW-CLOSE OF FRAME gArtikelSuchen /* Artikel suchen */
  281. DO:
  282. RUN ENDE.
  283. RETURN NO-APPLY.
  284. END.
  285. /* _UIB-CODE-BLOCK-END */
  286. &ANALYZE-RESUME
  287. &Scoped-define BROWSE-NAME Browser_suchen
  288. &Scoped-define SELF-NAME Browser_suchen
  289. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Browser_suchen gArtikelSuchen
  290. ON END-ERROR OF Browser_suchen IN FRAME gArtikelSuchen
  291. DO:
  292. APPLY 'ENTRY' TO F_Suchbegriffe.
  293. RETURN NO-APPLY.
  294. END.
  295. /* _UIB-CODE-BLOCK-END */
  296. &ANALYZE-RESUME
  297. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Browser_suchen gArtikelSuchen
  298. ON LEFT-MOUSE-DBLCLICK OF Browser_suchen IN FRAME gArtikelSuchen
  299. DO:
  300. IF NUM-RESULTS('{&BROWSE-NAME}') = ? THEN RETURN NO-APPLY.
  301. IF NUM-RESULTS('{&BROWSE-NAME}') = 0 THEN RETURN NO-APPLY.
  302. BROWSE {&BROWSE-NAME}:FETCH-SELECTED-ROW(1).
  303. opRecid = tArtst.iRecid.
  304. RUN ENDE.
  305. RETURN NO-APPLY.
  306. END.
  307. /* _UIB-CODE-BLOCK-END */
  308. &ANALYZE-RESUME
  309. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Browser_suchen gArtikelSuchen
  310. ON RETURN OF Browser_suchen IN FRAME gArtikelSuchen
  311. DO:
  312. IF NUM-RESULTS('{&BROWSE-NAME}') = ? THEN RETURN NO-APPLY.
  313. IF NUM-RESULTS('{&BROWSE-NAME}') = 0 THEN RETURN NO-APPLY.
  314. BROWSE {&BROWSE-NAME}:FETCH-SELECTED-ROW(1).
  315. opRecid = tArtst.iRecid.
  316. RUN ENDE.
  317. RETURN NO-APPLY.
  318. END.
  319. /* _UIB-CODE-BLOCK-END */
  320. &ANALYZE-RESUME
  321. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Browser_suchen gArtikelSuchen
  322. ON ROW-DISPLAY OF Browser_suchen IN FRAME gArtikelSuchen
  323. DO:
  324. DEFINE VARIABLE iFarbe AS INTEGER NO-UNDO.
  325. iFarbe = 15.
  326. IF tArtst.Artnr > 0 THEN
  327. DO:
  328. iFarbe = 15.
  329. IF NOT tArtst.Lager AND cInstall <> 'oswald' THEN iFarbe = 11.
  330. IF tArtst.Ausverk = 8 THEN iFarbe = 13. /* Beschaffungsartikel */
  331. IF tArtst.Ausverk = 9 THEN iFarbe = 12. /* Ausverkauft */
  332. IF tArtst.Aktiv = FALSE THEN iFarbe = 12. /* gelöscht/inaktiv */
  333. END.
  334. DYNAMIC-FUNCTION('setKollonnenfarbe':U, iFarbe) NO-ERROR.
  335. END.
  336. /* _UIB-CODE-BLOCK-END */
  337. &ANALYZE-RESUME
  338. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Browser_suchen gArtikelSuchen
  339. ON START-SEARCH OF Browser_suchen IN FRAME gArtikelSuchen
  340. DO:
  341. { incl/dynbrwstartsearch.i }
  342. END.
  343. /* _UIB-CODE-BLOCK-END */
  344. &ANALYZE-RESUME
  345. &Scoped-define SELF-NAME F_Suchbegriffe
  346. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Suchbegriffe gArtikelSuchen
  347. ON RETURN OF F_Suchbegriffe IN FRAME gArtikelSuchen /* suchen nach */
  348. DO:
  349. ASSIGN F_Suchbegriffe.
  350. SESSION:SET-WAIT-STATE('General').
  351. RUN START_QUERY ( SELF:SCREEN-VALUE).
  352. SESSION:SET-WAIT-STATE('').
  353. RETURN NO-APPLY.
  354. END.
  355. /* _UIB-CODE-BLOCK-END */
  356. &ANALYZE-RESUME
  357. &UNDEFINE SELF-NAME
  358. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gArtikelSuchen
  359. /* *************************** Main Block *************************** */
  360. ASSIGN
  361. cHerk = ''
  362. iKnr = 0
  363. cIndex = ' '.
  364. IF NUM-ENTRIES(ipSuchbe, ';') > 1 THEN
  365. DO:
  366. cHerk = ENTRY(1, ipSuchbe, ';').
  367. ipSuchbe = ENTRY(2, ipSuchbe, ';').
  368. END.
  369. IF cHerk = '' THEN
  370. DO:
  371. IF ipSuchbe <> '' AND
  372. NUM-ENTRIES(ipSuchbe, ',') > 1 THEN
  373. DO:
  374. cHerk = ipSuchbe.
  375. ipSuchbe = ''.
  376. END.
  377. END.
  378. IF cHerk <> '' THEN
  379. DO:
  380. IF cHerk BEGINS 'BEST' THEN
  381. DO:
  382. ASSIGN
  383. iKnr = INTEGER(ENTRY(2, cHerk, ','))
  384. cHerk = ENTRY(1, cHerk, ',').
  385. END.
  386. IF cHerk BEGINS 'VERKAUF' THEN
  387. DO:
  388. ASSIGN
  389. iKnr = INTEGER(ENTRY(2, cHerk, ','))
  390. dDatum = DATE (ENTRY(3, cHerk, ','))
  391. cHerk = ENTRY(1, cHerk, ',').
  392. END.
  393. IF cHerk BEGINS 'INVENTAR' THEN
  394. DO:
  395. ASSIGN
  396. iLager = INTEGER(ENTRY(2, cHerk, ','))
  397. lLager = TRUE
  398. cHerk = ENTRY(1, cHerk, ',').
  399. END.
  400. END.
  401. IF cHerk = '' THEN cHerk = 'ART'.
  402. MinNr = DYNAMIC-FUNCTION('getMinArtnr':U) NO-ERROR.
  403. IF MinNr > 1 THEN MinNr = INTEGER('1' + FILL('0', MinNr - 1)).
  404. cInstall = DYNAMIC-FUNCTION('getInstallation':U) NO-ERROR.
  405. { incl/dlgmainblock.i }
  406. { incl/dynbrwmainblock.i }
  407. { incl/dynbrwinternproc.i }
  408. F_Suchbegriffe = ipSuchbe.
  409. opRecid = ?.
  410. fAdmin = DYNAMIC-FUNCTION('getAdmin':U ) NO-ERROR.
  411. {src/adm2/dialogmn.i}
  412. /* _UIB-CODE-BLOCK-END */
  413. &ANALYZE-RESUME
  414. /* ********************** Internal Procedures *********************** */
  415. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gArtikelSuchen _ADM-CREATE-OBJECTS
  416. PROCEDURE adm-create-objects :
  417. /*------------------------------------------------------------------------------
  418. Purpose: Create handles for all SmartObjects used in this procedure.
  419. After SmartObjects are initialized, then SmartLinks are added.
  420. Parameters: <none>
  421. ------------------------------------------------------------------------------*/
  422. END PROCEDURE.
  423. /* _UIB-CODE-BLOCK-END */
  424. &ANALYZE-RESUME
  425. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE destroyObject gArtikelSuchen
  426. PROCEDURE destroyObject :
  427. /*------------------------------------------------------------------------------
  428. Purpose: Super Override
  429. Parameters:
  430. Notes:
  431. ------------------------------------------------------------------------------*/
  432. { incl/dynbrwdestroy.i }
  433. RUN SUPER.
  434. /* Code placed here will execute AFTER standard behavior. */
  435. END PROCEDURE.
  436. /* _UIB-CODE-BLOCK-END */
  437. &ANALYZE-RESUME
  438. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gArtikelSuchen _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 gArtikelSuchen.
  450. END PROCEDURE.
  451. /* _UIB-CODE-BLOCK-END */
  452. &ANALYZE-RESUME
  453. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gArtikelSuchen
  454. PROCEDURE enableObject :
  455. /*------------------------------------------------------------------------------
  456. Purpose: Super Override
  457. Parameters:
  458. Notes:
  459. ------------------------------------------------------------------------------*/
  460. cSort = 'Bez1'.
  461. { incl/dlgenableobject.i }
  462. END PROCEDURE.
  463. /* _UIB-CODE-BLOCK-END */
  464. &ANALYZE-RESUME
  465. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gArtikelSuchen _DEFAULT-ENABLE
  466. PROCEDURE enable_UI :
  467. /*------------------------------------------------------------------------------
  468. Purpose: ENABLE the User Interface
  469. Parameters: <none>
  470. Notes: Here we display/view/enable the widgets in the
  471. user-interface. In addition, OPEN all queries
  472. associated with each FRAME and BROWSE.
  473. These statements here are based on the "Other
  474. Settings" section of the widget Property Sheets.
  475. ------------------------------------------------------------------------------*/
  476. DISPLAY F_Suchbegriffe
  477. WITH FRAME gArtikelSuchen.
  478. ENABLE RECT-2 F_Suchbegriffe Browser_suchen
  479. WITH FRAME gArtikelSuchen.
  480. VIEW FRAME gArtikelSuchen.
  481. {&OPEN-BROWSERS-IN-QUERY-gArtikelSuchen}
  482. END PROCEDURE.
  483. /* _UIB-CODE-BLOCK-END */
  484. &ANALYZE-RESUME
  485. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gArtikelSuchen
  486. PROCEDURE ENDE :
  487. /*------------------------------------------------------------------------------
  488. Purpose:
  489. Parameters: <none>
  490. Notes:
  491. ------------------------------------------------------------------------------*/
  492. { incl/dlgende.i }
  493. END PROCEDURE.
  494. /* _UIB-CODE-BLOCK-END */
  495. &ANALYZE-RESUME
  496. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE INAKTIVE_EINAUS gArtikelSuchen
  497. PROCEDURE INAKTIVE_EINAUS :
  498. /*------------------------------------------------------------------------------
  499. Purpose:
  500. Parameters: <none>
  501. Notes:
  502. ------------------------------------------------------------------------------*/
  503. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  504. DO WITH FRAME {&FRAME-NAME}:
  505. cString = F_Suchbegriffe:SCREEN-VALUE.
  506. lInaktiv = NOT lInaktiv.
  507. DYNAMIC-FUNCTION('setAnzeigeArtikelSucheInaktiv':U, lInaktiv ) NO-ERROR.
  508. RUN START_QUERY ( cString ).
  509. RETURN NO-APPLY.
  510. END.
  511. END PROCEDURE.
  512. /* _UIB-CODE-BLOCK-END */
  513. &ANALYZE-RESUME
  514. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject gArtikelSuchen
  515. PROCEDURE initializeObject :
  516. /*------------------------------------------------------------------------------
  517. Purpose: Super Override
  518. Parameters:
  519. Notes:
  520. ------------------------------------------------------------------------------*/
  521. DEFINE VARIABLE cName AS CHARACTER NO-UNDO.
  522. DEFINE VARIABLE xWhere AS CHARACTER NO-UNDO.
  523. RUN SUPER.
  524. DO WITH FRAME {&FRAME-NAME}:
  525. hbQuery = {&BROWSE-NAME}:QUERY.
  526. hqBuffer = hbQuery:GET-BUFFER-HANDLE(1).
  527. cqTabelle = hqBuffer:NAME.
  528. END.
  529. xWhere = SUBSTITUTE('FOR EACH &1 NO-LOCK BY &2 &3 ', cqTabelle, cSort, cAufAb ).
  530. hbQuery:QUERY-PREPARE(xWhere).
  531. { incl/dynbrwinitialize.i}
  532. lInaktiv = DYNAMIC-FUNCTION('getAnzeigeArtikelSucheInaktiv':U) NO-ERROR.
  533. hInaktiv:CHECKED = lInaktiv.
  534. IF ipSuchbe <> '' THEN RUN START_QUERY ( ipSuchbe ).
  535. END PROCEDURE.
  536. /* _UIB-CODE-BLOCK-END */
  537. &ANALYZE-RESUME
  538. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE OPENQUERY_PROC gArtikelSuchen
  539. PROCEDURE OPENQUERY_PROC :
  540. /*------------------------------------------------------------------------------
  541. Purpose:
  542. Parameters: <none>
  543. Notes:
  544. ------------------------------------------------------------------------------*/
  545. DEFINE VARIABLE xWhere AS CHARACTER NO-UNDO.
  546. DEFINE VARIABLE hBuffer AS HANDLE NO-UNDO.
  547. DEFINE VARIABLE cFeld AS CHARACTER NO-UNDO.
  548. DEFINE VARIABLE hFeld AS HANDLE NO-UNDO.
  549. DEFINE VARIABLE cWert AS CHARACTER NO-UNDO.
  550. DEFINE VARIABLE ix AS INTEGER NO-UNDO.
  551. hBuffer = hbQuery:GET-BUFFER-HANDLE(1).
  552. xWhere = SUBSTITUTE('FOR EACH &1 NO-LOCK ', cqTabelle).
  553. DO ix = 1 TO NUM-ENTRIES(cFilterFeld, ','):
  554. cFeld = ENTRY(ix, cFilterFeld, ',').
  555. IF cFeld = 'CLEAR' THEN
  556. DO:
  557. cFilterFeld = ''.
  558. cFilterWert = ''.
  559. LEAVE.
  560. END.
  561. hFeld = hBuffer:BUFFER-FIELD(cFeld).
  562. CASE hFeld:TYPE.
  563. WHEN 'INTEGER' THEN
  564. cWert = ENTRY(ix, cFilterWert, ',').
  565. WHEN 'DECIMAL' THEN
  566. cWert = ENTRY(ix, cFilterWert, ',').
  567. WHEN 'DATE' THEN
  568. cWert = STRING(DATE(ENTRY(ix, cFilterWert, ','))).
  569. WHEN 'LOGICAL' THEN
  570. cWert = (IF ENTRY(ix, cFilterWert, ',') BEGINS 'n' THEN 'FALSE' ELSE 'TRUE').
  571. OTHERWISE
  572. cWert = QUOTER(ENTRY(ix, cFilterWert, ',')).
  573. END.
  574. xWhere = xWhere
  575. + (IF ix = 1 THEN 'WHERE ' ELSE ' AND ')
  576. + SUBSTITUTE('&1.&2 = &3 ', cqTabelle, cFeld, cWert).
  577. END.
  578. xWhere = xWhere
  579. + SUBSTITUTE(' BY &1 &2 ', cSort, cAufAb).
  580. hbQuery:QUERY-PREPARE(xWhere) NO-ERROR.
  581. hbQuery:QUERY-OPEN() NO-ERROR.
  582. DO WITH FRAME {&FRAME-NAME}:
  583. IF hbQuery:NUM-RESULTS = 0 OR
  584. hbQuery:NUM-RESULTS = ?
  585. THEN APPLY 'ENTRY' TO F_Suchbegriffe.
  586. ELSE APPLY 'ENTRY' TO {&BROWSE-NAME}.
  587. RETURN NO-APPLY.
  588. END.
  589. END PROCEDURE.
  590. /* _UIB-CODE-BLOCK-END */
  591. &ANALYZE-RESUME
  592. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SET_FILTER gArtikelSuchen
  593. PROCEDURE SET_FILTER :
  594. /*------------------------------------------------------------------------------
  595. Purpose:
  596. Parameters: <none>
  597. Notes:
  598. ------------------------------------------------------------------------------*/
  599. { incl/datsetfilter.i }
  600. END PROCEDURE.
  601. /* _UIB-CODE-BLOCK-END */
  602. &ANALYZE-RESUME
  603. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SET_SORT gArtikelSuchen
  604. PROCEDURE SET_SORT :
  605. /*------------------------------------------------------------------------------
  606. Purpose:
  607. Parameters: <none>
  608. Notes:
  609. ------------------------------------------------------------------------------*/
  610. DEFINE INPUT PARAMETER ipSort AS CHARACTER NO-UNDO.
  611. IF ipSort = cSort THEN lAufAb = NOT lAufAb.
  612. cSort = ipSort.
  613. cAufAb = (IF lAufAb THEN '' ELSE 'DESCENDING').
  614. RUN OPENQUERY_PROC.
  615. END PROCEDURE.
  616. /* _UIB-CODE-BLOCK-END */
  617. &ANALYZE-RESUME
  618. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SPEZ_SUCHEN gArtikelSuchen
  619. PROCEDURE SPEZ_SUCHEN:
  620. /*------------------------------------------------------------------------------
  621. Purpose:
  622. Notes:
  623. ------------------------------------------------------------------------------*/
  624. DEFINE INPUT PARAMETER ipcSuchbe AS CHARACTER NO-UNDO.
  625. DEFINE VARIABLE iWert AS INTEGER NO-UNDO.
  626. DEFINE VARIABLE cArt AS CHARACTER NO-UNDO.
  627. DEFINE VARIABLE iAnzArt AS INTEGER NO-UNDO.
  628. DEFINE VARIABLE iPrior AS INTEGER NO-UNDO INIT 0.
  629. cArt = ENTRY(1, ipcSuchbe, '=').
  630. iWert = INTEGER(ENTRY(2, ipcSuchbe, '=')) NO-ERROR.
  631. IF ERROR-STATUS:ERROR THEN RETURN 'ERROR'.
  632. iAnzArt = 0.
  633. EMPTY TEMP-TABLE tArtst.
  634. FOR EACH Artst NO-LOCK
  635. WHERE Artst.Firma = Firma
  636. AND ((cArt = 'Inhalt' AND Artst.Inhalt = iWert) OR
  637. (cArt = 'Jahr' AND Artst.Jahr = iWert) ),
  638. FIRST ArtBez OF Artst:
  639. CREATE tArtst.
  640. BUFFER-COPY Artst TO tArtst
  641. ASSIGN
  642. tArtst.iRecid = RECID(Artst)
  643. tArtst.Bez1 = Artbez.Bez1
  644. tArtst.Bez2 = Artbez.Bez2
  645. tArtst.cSort = STRING(iPrior,'99')
  646. + STRING(Artst.Artnr ,'99999999')
  647. + STRING(Artst.Inhalt,'9999')
  648. + STRING(Artst.Jahr ,'9999').
  649. IF iAnzArt >= 200 THEN LEAVE.
  650. END.
  651. END PROCEDURE.
  652. /* _UIB-CODE-BLOCK-END */
  653. &ANALYZE-RESUME
  654. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE START_QUERY gArtikelSuchen
  655. PROCEDURE START_QUERY :
  656. /*------------------------------------------------------------------------------
  657. Purpose:
  658. Parameters: <none>
  659. Notes:
  660. ------------------------------------------------------------------------------*/
  661. DEFINE INPUT PARAMETER ipWorte AS CHARACTER NO-UNDO.
  662. DEFINE VARIABLE xWort AS CHARACTER NO-UNDO.
  663. DEFINE VARIABLE aWorte AS CHARACTER NO-UNDO.
  664. DEFINE VARIABLE yy AS INTEGER NO-UNDO.
  665. DEFINE VARIABLE Zahl AS INTEGER NO-UNDO.
  666. DEFINE VARIABLE iKnrFak AS INTEGER NO-UNDO.
  667. DEFINE VARIABLE iAnzArt AS INTEGER NO-UNDO.
  668. DEFINE BUFFER bArtbw FOR Artbw.
  669. EMPTY TEMP-TABLE tArtst.
  670. EMPTY TEMP-TABLE tSuchFelder.
  671. ipWorte = REPLACE(ipWorte, '*', '').
  672. IF ipWorte BEGINS 'INHALT=' OR
  673. ipWorte BEGINS 'JAHR=' THEN
  674. DO:
  675. RUN SPEZ_SUCHEN ( ipWorte ).
  676. IF RETURN-VALUE = 'ERROR' THEN
  677. DO WITH FRAME {&FRAME-NAME}:
  678. APPLY 'ENTRY' TO F_Suchbegriffe.
  679. RETURN NO-APPLY.
  680. END.
  681. END.
  682. ELSE
  683. DO:
  684. DO yy = 1 TO NUM-ENTRIES(ipWorte, ' '):
  685. CREATE tSuchFelder.
  686. ASSIGN
  687. tSuchFelder.iWort = yy
  688. tSuchFelder.iSuch = 0
  689. tSuchFelder.cSuch = ''
  690. tSuchFelder.lGefunden = FALSE.
  691. xWort = TRIM(ENTRY(yy, ipWorte, ' ')).
  692. Zahl = INTEGER(xWort) NO-ERROR.
  693. IF NOT ERROR-STATUS:ERROR AND
  694. Zahl < 1000000 AND
  695. NOT xWort BEGINS '0' THEN
  696. DO:
  697. DO WHILE Zahl < MinNr AND yy = 1:
  698. Zahl = Zahl * 10.
  699. END.
  700. tSuchFelder.iSuch = Zahl.
  701. NEXT.
  702. END.
  703. tSuchFelder.cSuch = xWort.
  704. END.
  705. FIND FIRST tSuchFelder NO-LOCK NO-ERROR.
  706. IF NOT AVAILABLE tSuchFelder THEN
  707. DO:
  708. MESSAGE 'Kein Suchbegriff eingegeben'
  709. VIEW-AS ALERT-BOX INFORMATION.
  710. APPLY 'ENTRY' TO F_Suchbegriffe IN FRAME {&FRAME-NAME}.
  711. RETURN NO-APPLY.
  712. END.
  713. CASE cHerk:
  714. WHEN 'ART' THEN
  715. iAnzArt = DYNAMIC-FUNCTION('startQueryArtikel':U ).
  716. WHEN 'BEST' THEN
  717. iAnzArt = DYNAMIC-FUNCTION('startQueryArtlief':U ).
  718. WHEN 'INVENTAR' THEN
  719. iAnzArt = DYNAMIC-FUNCTION('startQueryArtikel':U ).
  720. WHEN 'VERKAUF' THEN
  721. iAnzArt = DYNAMIC-FUNCTION('startQueryArtikel':U ).
  722. END.
  723. END.
  724. FOR EACH tArtst
  725. BREAK BY tArtst.Artnr
  726. BY tArtst.Inhalt
  727. BY tArtst.Jahr:
  728. IF NOT FIRST-OF ( tArtst.Jahr ) THEN
  729. DO:
  730. DELETE tArtst.
  731. NEXT.
  732. END.
  733. IF cHerk BEGINS 'VERKAUF' THEN
  734. DO:
  735. FIND FIRST bArtbw NO-LOCK
  736. WHERE bArtbw.Firma = Firma
  737. AND bArtbw.Knr = iKnr
  738. AND bArtbw.Artnr = tArtst.Artnr
  739. AND bArtbw.Inhalt = tArtst.Inhalt
  740. AND bArtbw.Jahr = tArtst.Jahr
  741. AND bArtbw.Datum >= dDatum NO-ERROR.
  742. IF NOT AVAILABLE bArtbw THEN
  743. DO:
  744. DELETE tArtst.
  745. NEXT.
  746. END.
  747. END.
  748. FIND KGebinde NO-LOCK USE-INDEX KGebinde-k1
  749. WHERE KGebinde.Firma = tArtst.Firma
  750. AND KGebinde.Geb_Cd = tArtst.KGeb_Cd NO-ERROR.
  751. FIND VGebinde NO-LOCK USE-INDEX VGebinde-k1
  752. WHERE VGebinde.Firma = tArtst.Firma
  753. AND VGebinde.Geb_Cd = tArtst.VGeb_Cd NO-ERROR.
  754. ASSIGN
  755. tArtst.KGeb_KBez = (IF AVAILABLE KGebinde THEN KGebinde.KBez ELSE '??????')
  756. tArtst.VGeb_KBez = (IF AVAILABLE VGebinde THEN VGebinde.KBez ELSE '??????').
  757. IF lLager THEN
  758. DO:
  759. FIND FIRST ArtLager NO-LOCK
  760. WHERE ArtLager.Firma = tArtst.Firma
  761. AND ArtLager.Artnr = tArtst.Artnr
  762. AND ArtLager.Inhalt = tArtst.Inhalt
  763. AND ArtLager.Jahr = tArtst.Jahr
  764. AND ArtLager.Lager = iLager NO-ERROR.
  765. IF NOT AVAILABLE ArtLager THEN
  766. DO:
  767. DELETE tArtst.
  768. iAnzArt = iAnzArt - 1.
  769. NEXT.
  770. END.
  771. END.
  772. END.
  773. opRecid = ?.
  774. RUN OPENQUERY_PROC.
  775. END PROCEDURE.
  776. /* _UIB-CODE-BLOCK-END */
  777. &ANALYZE-RESUME
  778. /* ************************ Function Implementations ***************** */
  779. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getArtikelSelektiert gArtikelSuchen
  780. FUNCTION getArtikelSelektiert RETURNS LOGICAL
  781. ( ipArtnr AS INTEGER, ipInhalt AS INTEGER, ipJahr AS INTEGER ) :
  782. /*------------------------------------------------------------------------------
  783. Purpose:
  784. Notes:
  785. ------------------------------------------------------------------------------*/
  786. FIND FIRST tArtst NO-LOCK
  787. WHERE tArtst.Firma = Firma
  788. AND tArtst.Artnr = ipArtnr
  789. AND tArtst.Inhalt = ipInhalt
  790. AND tArtst.Jahr = ipJahr NO-ERROR.
  791. IF AVAILABLE tArtst THEN RETURN TRUE.
  792. RETURN FALSE.
  793. END FUNCTION.
  794. /* _UIB-CODE-BLOCK-END */
  795. &ANALYZE-RESUME
  796. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION openQuery gArtikelSuchen
  797. FUNCTION openQuery RETURNS LOGICAL
  798. ( /* parameter-definitions */ ) :
  799. /*------------------------------------------------------------------------------
  800. Purpose:
  801. Notes:
  802. ------------------------------------------------------------------------------*/
  803. RUN OPENQUERY_PROC.
  804. RETURN TRUE.
  805. END FUNCTION.
  806. /* _UIB-CODE-BLOCK-END */
  807. &ANALYZE-RESUME
  808. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION setKollonnenfarbe gArtikelSuchen
  809. FUNCTION setKollonnenfarbe RETURNS LOGICAL
  810. ( ipFarbe AS INTEGER ) :
  811. /*------------------------------------------------------------------------------
  812. Purpose:
  813. Notes:
  814. ------------------------------------------------------------------------------*/
  815. { incl/brwsetzeilenfarbe.i }
  816. END FUNCTION.
  817. /* _UIB-CODE-BLOCK-END */
  818. &ANALYZE-RESUME
  819. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION startQueryArtikel gArtikelSuchen
  820. FUNCTION startQueryArtikel RETURNS INTEGER
  821. ( /* parameter-definitions */ ) :
  822. /*------------------------------------------------------------------------------
  823. Purpose:
  824. Notes:
  825. ------------------------------------------------------------------------------*/
  826. DEFINE VARIABLE iAnzArt AS INTEGER NO-UNDO.
  827. DEFINE VARIABLE iPrior AS INTEGER INIT 0 NO-UNDO.
  828. DEFINE VARIABLE lJa AS LOG NO-UNDO.
  829. DEFINE VARIABLE aWorte AS CHARACTER NO-UNDO.
  830. DEFINE VARIABLE nWorte AS CHARACTER NO-UNDO.
  831. DEFINE VARIABLE xWort AS CHARACTER NO-UNDO.
  832. DEFINE VARIABLE ii AS INTEGER NO-UNDO.
  833. DEFINE VARIABLE iBisAnr AS INTEGER NO-UNDO.
  834. cSort = ''.
  835. /* Auf Artikelnummern */
  836. iPrior = iPrior + 1.
  837. FOR EACH tSuchFelder NO-LOCK
  838. WHERE tSuchFelder.iSuch > 0
  839. AND tSuchFelder.lGefunden = FALSE:
  840. CASE cInstall:
  841. WHEN 'OSWALD' OR
  842. WHEN 'LaTorre' THEN
  843. iBisAnr = 999999.
  844. OTHERWISE
  845. iBisAnr = tSuchFelder.iSuch.
  846. END.
  847. cSort = 'cSort'.
  848. FOR EACH Artst NO-LOCK USE-INDEX Artst-k1
  849. WHERE Artst.Firma = Firma
  850. AND Artst.Artnr >= tSuchFelder.iSuch
  851. AND Artst.Artnr <= iBisAnr :
  852. IF NOT lInaktiv THEN
  853. DO:
  854. IF NOT Artst.Aktiv THEN NEXT.
  855. IF Artst.Ausverk = 9 THEN NEXT.
  856. END.
  857. FIND FIRST Artbez NO-LOCK OF Artst NO-ERROR.
  858. IF NOT AVAILABLE Artbez THEN NEXT.
  859. IF cIndex <> ' ' THEN
  860. DO:
  861. ii = INDEX(Artbez.WortIndex, cIndex).
  862. IF ii = 0 THEN NEXT.
  863. END.
  864. ASSIGN
  865. iAnzArt = iAnzArt + 1
  866. tSuchFelder.lGefunden = TRUE.
  867. CREATE tArtst.
  868. BUFFER-COPY Artst TO tArtst
  869. ASSIGN
  870. tArtst.iRecid = RECID(Artst)
  871. tArtst.Bez1 = Artbez.Bez1
  872. tArtst.Bez2 = Artbez.Bez2
  873. tArtst.cSort = STRING(iPrior,'99')
  874. + STRING(Artst.Artnr ,'99999999')
  875. + STRING(Artst.Inhalt,'9999')
  876. + STRING(Artst.Jahr ,'9999').
  877. IF iAnzArt >= 200 THEN LEAVE.
  878. END.
  879. END.
  880. IF iAnzArt >= 200 THEN RETURN iAnzArt.
  881. DO WHILE TRUE: /* OSWALD-SPEZIALFALL (Suchen nach Suchbegriff) */
  882. IF cInstall <> 'OSWALD' AND
  883. cInstall <> 'LaTorre' THEN LEAVE.
  884. iPrior = iPrior + 1.
  885. lJa = FALSE.
  886. aWorte = ''.
  887. FOR EACH tSuchFelder WHERE tSuchFelder.lGefunden = FALSE
  888. AND tSuchFelder.iSuch = 0:
  889. aWorte = aWorte + (IF aWorte = '' THEN '' ELSE ' ')
  890. + (IF tSuchFelder.iSuch = 0 THEN tSuchFelder.cSuch
  891. ELSE TRIM(STRING(tSuchFelder.iSuch,'>>>>>>>>>>>9'))).
  892. END.
  893. IF aWorte = '' THEN LEAVE.
  894. FOR EACH Artst NO-LOCK USE-INDEX Artst-k2
  895. WHERE Artst.Firma = Firma
  896. AND ((lInaktiv)
  897. OR (NOT lInaktiv AND
  898. Artst.Aktiv AND
  899. Artst.Ausverk < 9))
  900. AND Artst.Suchbe BEGINS aWorte,
  901. FIRST Artbez NO-LOCK OF Artst :
  902. IF NOT AVAILABLE Artbez THEN NEXT.
  903. IF cIndex <> ' ' THEN
  904. DO:
  905. ii = INDEX(Artbez.WortIndex, cIndex).
  906. IF ii = 0 THEN NEXT.
  907. END.
  908. IF NOT DYNAMIC-FUNCTION('getArtikelSelektiert':U,
  909. Artst.Artnr, Artst.Inhalt, Artst.Jahr ) THEN
  910. DO:
  911. ASSIGN
  912. iAnzArt = iAnzArt + 1
  913. lJa = TRUE.
  914. CREATE tArtst.
  915. BUFFER-COPY Artst TO tArtst
  916. ASSIGN
  917. tArtst.iRecid = RECID(Artst)
  918. tArtst.Bez1 = Artbez.Bez1
  919. tArtst.Bez2 = Artbez.Bez2
  920. tArtst.cSort = STRING(iPrior,'99')
  921. + STRING(Artst.Artnr ,'99999999')
  922. + STRING(Artst.Inhalt,'9999')
  923. + STRING(Artst.Jahr ,'9999').
  924. END.
  925. END.
  926. IF cSort = '' THEN cSort = 'Bez1'.
  927. IF lJa THEN RETURN iAnzArt.
  928. LEAVE.
  929. END.
  930. /* Auf genauen Inhalt der eingegebenen Worte */
  931. iPrior = iPrior + 1.
  932. aWorte = ''.
  933. FOR EACH tSuchFelder WHERE tSuchFelder.lGefunden = FALSE.
  934. aWorte = aWorte + (IF aWorte = '' THEN '' ELSE ' ')
  935. + (IF tSuchFelder.iSuch = 0 THEN tSuchFelder.cSuch
  936. ELSE TRIM(STRING(tSuchFelder.iSuch,'>>>>>>>>>>>9'))).
  937. END.
  938. IF aWorte = '' THEN RETURN iAnzArt.
  939. lJa = FALSE.
  940. cSort = (IF cSort = '' THEN 'Bez1' ELSE 'cSort').
  941. GENAU:
  942. FOR EACH Artbez NO-LOCK
  943. WHERE Artbez.Firma = Firma
  944. AND Artbez.Sprcd = 1
  945. AND Artbez.WortIndex CONTAINS aWorte
  946. AND INDEX(Artbez.Wortindex, cIndex) > 0,
  947. FIRST Artst NO-LOCK USE-INDEX Artst-k1
  948. WHERE Artst.Firma = Artbez.Firma
  949. AND Artst.Artnr = Artbez.Artnr
  950. AND Artst.Inhalt = Artbez.Inhalt
  951. AND Artst.Jahr = Artbez.Jahr
  952. AND ((lInaktiv)
  953. OR (NOT lInaktiv AND
  954. Artst.Aktiv AND
  955. Artst.Ausverk < 9)) :
  956. DO ii = 1 TO NUM-ENTRIES(aWorte, ' '):
  957. xWort = ENTRY(ii, aWorte, ' ').
  958. IF LOOKUP(xWort, Artbez.WortIndex, ' ') = 0 THEN NEXT GENAU.
  959. END.
  960. lJa = TRUE.
  961. IF NOT DYNAMIC-FUNCTION('getArtikelSelektiert':U, Artst.Artnr, Artst.Inhalt, Artst.Jahr ) THEN
  962. DO:
  963. CREATE tArtst.
  964. BUFFER-COPY Artst TO tArtst
  965. ASSIGN
  966. tArtst.iRecid = RECID(Artst)
  967. tArtst.Bez1 = Artbez.Bez1
  968. tArtst.Bez2 = Artbez.Bez2
  969. tArtst.cSort = STRING(iPrior,'99')
  970. + Artst.Suchbe
  971. + STRING(Artst.Artnr ,'99999999')
  972. + STRING(Artst.Inhalt,'9999')
  973. + STRING(Artst.Jahr ,'9999').
  974. iAnzArt = iAnzArt + 1.
  975. END.
  976. END.
  977. IF iAnzArt >= 100 THEN RETURN iAnzArt.
  978. /* IF LENGTH(cIndex) > 2 THEN RETURN iAnzArt.*/
  979. /* Auf matching Inhalt mit einem folgenden "*" der eingegebenen Worte */
  980. /*
  981. iPrior = iPrior + 1.
  982. aWorte = ''.
  983. nWorte = ''.
  984. FOR EACH tSuchFelder WHERE tSuchFelder.lGefunden = FALSE.
  985. IF tSuchFelder.iWort = 0 THEN DO:
  986. nWorte = nWorte + (IF nWorte = '' THEN '' ELSE ' ')
  987. + tSuchFelder.cSuch.
  988. NEXT.
  989. END.
  990. IF tSuchFelder.iSuch > 0 THEN
  991. nWorte = nWorte + (IF nWorte = '' THEN '' ELSE ' ')
  992. + TRIM(STRING(tSuchFelder.iSuch,'>>>>>>>>>>>9')).
  993. ELSE
  994. aWorte = aWorte + (IF aWorte = '' THEN '' ELSE ' ')
  995. + tSuchFelder.cSuch + '*'.
  996. END.
  997. lJa = FALSE.
  998. FOR EACH Artbez NO-LOCK
  999. WHERE Artbez.Firma = Firma
  1000. AND Artbez.Sprcd = 1
  1001. AND ((nWorte <> '' AND Artbez.WortIndex CONTAINS nWorte)
  1002. OR (nWorte = ''))
  1003. AND ((aWorte <> '' AND Artbez.WortIndex MATCHES aWorte)
  1004. OR (aWorte = '')),
  1005. FIRST Artst NO-LOCK USE-INDEX Artst-k1
  1006. WHERE Artst.Firma = Artbez.Firma
  1007. AND Artst.Artnr = Artbez.Artnr
  1008. AND Artst.Inhalt = Artbez.Inhalt
  1009. AND Artst.Jahr = Artbez.Jahr
  1010. AND ((lInaktiv)
  1011. OR (NOT lInaktiv AND
  1012. Artst.Aktiv AND
  1013. Artst.Ausverk < 9)) :
  1014. lJa = TRUE.
  1015. IF NOT DYNAMIC-FUNCTION('getArtikelSelektiert':U, Artst.Artnr, Artst.Inhalt, Artst.Jahr ) THEN DO:
  1016. CREATE tArtst.
  1017. BUFFER-COPY Artst TO tArtst
  1018. ASSIGN tArtst.iRecid = RECID(Artst)
  1019. tArtst.Bez1 = Artbez.Bez1
  1020. tArtst.Bez2 = Artbez.Bez2
  1021. tArtst.cSort = STRING(iPrior,'99')
  1022. + Artst.Suchbe
  1023. + STRING(Artst.Artnr ,'99999999')
  1024. + STRING(Artst.Inhalt,'9999')
  1025. + STRING(Artst.Jahr ,'9999').
  1026. iAnzArt = iAnzArt + 1.
  1027. END.
  1028. END.
  1029. IF iAnzArt >= 100 THEN RETURN iAnzArt.
  1030. IF lJa THEN RETURN iAnzArt.
  1031. */
  1032. /* Auf matching Inhalt der eingegebenen Worte */
  1033. iPrior = iPrior + 1.
  1034. aWorte = ''.
  1035. nWorte = ''.
  1036. FOR EACH tSuchFelder WHERE tSuchFelder.lGefunden = FALSE.
  1037. IF tSuchFelder.iWort = 0 THEN
  1038. DO:
  1039. nWorte = nWorte + (IF nWorte = '' THEN '' ELSE ' ')
  1040. + tSuchFelder.cSuch.
  1041. NEXT.
  1042. END.
  1043. IF tSuchFelder.iSuch > 0 THEN
  1044. nWorte = nWorte + (IF nWorte = '' THEN '' ELSE ' ')
  1045. + TRIM(STRING(tSuchFelder.iSuch,'>>>>>>>>>>>9')).
  1046. ELSE
  1047. aWorte = aWorte + (IF aWorte = '' THEN '' ELSE ' ')
  1048. + '*' + tSuchFelder.cSuch + '*'.
  1049. END.
  1050. lJa = FALSE.
  1051. .
  1052. FOR EACH Artbez NO-LOCK
  1053. WHERE Artbez.Firma = Firma
  1054. AND Artbez.Sprcd = 1
  1055. AND ((nWorte <> '' AND Artbez.WortIndex CONTAINS nWorte)
  1056. OR (nWorte = ''))
  1057. AND ((aWorte <> '' AND Artbez.WortIndex MATCHES aWorte)
  1058. OR (aWorte = ''))
  1059. AND INDEX(Artbez.Wortindex, cIndex) > 0,
  1060. FIRST Artst NO-LOCK USE-INDEX Artst-k1
  1061. WHERE Artst.Firma = Artbez.Firma
  1062. AND Artst.Artnr = Artbez.Artnr
  1063. AND Artst.Inhalt = Artbez.Inhalt
  1064. AND Artst.Jahr = Artbez.Jahr
  1065. AND ((lInaktiv)
  1066. OR (NOT lInaktiv AND
  1067. Artst.Aktiv AND
  1068. Artst.Ausverk < 9)) :
  1069. lJa = TRUE.
  1070. IF NOT DYNAMIC-FUNCTION('getArtikelSelektiert':U, Artst.Artnr, Artst.Inhalt, Artst.Jahr ) THEN
  1071. DO:
  1072. CREATE tArtst.
  1073. BUFFER-COPY Artst TO tArtst
  1074. ASSIGN
  1075. tArtst.iRecid = RECID(Artst)
  1076. tArtst.Bez1 = Artbez.Bez1
  1077. tArtst.Bez2 = Artbez.Bez2
  1078. tArtst.cSort = STRING(iPrior,'99')
  1079. + Artst.Suchbe
  1080. + STRING(Artst.Artnr ,'99999999')
  1081. + STRING(Artst.Inhalt,'9999')
  1082. + STRING(Artst.Jahr ,'9999').
  1083. iAnzArt = iAnzArt + 1.
  1084. END.
  1085. END.
  1086. IF lJa THEN RETURN iAnzArt.
  1087. /* Auf matching mit weniger Begriffen der eingegebenen Worte */
  1088. FOR EACH tSuchFelder WHERE tSuchFelder.iSuch > 0:
  1089. DELETE tSuchFelder.
  1090. END.
  1091. DO WHILE TRUE:
  1092. FIND LAST tSuchFelder WHERE tSuchFelder.iWort > 0 NO-ERROR.
  1093. IF NOT AVAILABLE tSuchFelder THEN LEAVE.
  1094. DELETE tSuchFelder.
  1095. FIND FIRST tSuchFelder WHERE tSuchFelder.iWort > 0 NO-ERROR.
  1096. IF NOT AVAILABLE tSuchFelder THEN LEAVE.
  1097. iPrior = iPrior + 1.
  1098. aWorte = ''.
  1099. FOR EACH tSuchFelder WHERE tSuchFelder.lGefunden = FALSE.
  1100. IF tSuchFelder.iWort = 0 THEN NEXT.
  1101. aWorte = aWorte + (IF aWorte = '' THEN '' ELSE ' ')
  1102. + '*'
  1103. + tSuchFelder.cSuch
  1104. + '*'.
  1105. END.
  1106. lJa = FALSE.
  1107. FOR EACH Artbez NO-LOCK
  1108. WHERE Artbez.Firma = Firma
  1109. AND Artbez.Sprcd = 1
  1110. AND ((nWorte <> '' AND Artbez.WortIndex CONTAINS nWorte)
  1111. OR (nWorte = ''))
  1112. AND ((aWorte <> '' AND Artbez.WortIndex MATCHES aWorte)
  1113. OR (aWorte = ''))
  1114. AND INDEX(Artbez.Wortindex, cIndex) > 0,
  1115. FIRST Artst NO-LOCK USE-INDEX Artst-k1
  1116. WHERE Artst.Firma = Artbez.Firma
  1117. AND Artst.Artnr = Artbez.Artnr
  1118. AND Artst.Inhalt = Artbez.Inhalt
  1119. AND Artst.Jahr = Artbez.Jahr
  1120. AND ((lInaktiv)
  1121. OR (NOT lInaktiv AND
  1122. Artst.Aktiv AND
  1123. Artst.Ausverk < 9)) :
  1124. lJa = TRUE.
  1125. IF NOT DYNAMIC-FUNCTION('getArtikelSelektiert':U, Artst.Artnr, Artst.Inhalt, Artst.Jahr ) THEN
  1126. DO:
  1127. CREATE tArtst.
  1128. BUFFER-COPY Artst TO tArtst
  1129. ASSIGN
  1130. tArtst.iRecid = RECID(Artst)
  1131. tArtst.Bez1 = Artbez.Bez1
  1132. tArtst.Bez2 = Artbez.Bez2
  1133. tArtst.cSort = STRING(iPrior,'99')
  1134. + Artst.Suchbe
  1135. + STRING(Artst.Artnr ,'99999999')
  1136. + STRING(Artst.Inhalt,'9999')
  1137. + STRING(Artst.Jahr ,'9999').
  1138. iAnzArt = iAnzArt + 1.
  1139. END.
  1140. IF lJa THEN RETURN iAnzArt.
  1141. END.
  1142. END.
  1143. IF nWorte = '' THEN RETURN iAnzArt.
  1144. /* matches mit den eingegeben Zahlen (wenn vorhanden) */
  1145. iPrior = iPrior + 1.
  1146. aWorte = ''.
  1147. FOR EACH tSuchFelder WHERE tSuchFelder.iWort <> 0:
  1148. DELETE tSuchFelder.
  1149. END.
  1150. DO ii = 1 TO NUM-ENTRIES(nWorte, ' '):
  1151. xWort = ENTRY(ii, nWorte, ' ').
  1152. FIND FIRST tSuchFelder WHERE tSuchFelder.cSuch = xWort NO-ERROR.
  1153. IF AVAILABLE tSuchFelder THEN NEXT.
  1154. CREATE tSuchFelder.
  1155. ASSIGN
  1156. tSuchFelder.iWort = ii
  1157. tSuchFelder.iSuch = 0
  1158. tSuchFelder.cSuch = xWort
  1159. tSuchFelder.lGefunden = FALSE.
  1160. END.
  1161. FOR EACH tSuchFelder:
  1162. IF tSuchFelder.iWort = 0 THEN
  1163. DO:
  1164. nWorte = tSuchFelder.cSuch.
  1165. NEXT.
  1166. END.
  1167. aWorte = aWorte + (IF aWorte = '' THEN '' ELSE ' ')
  1168. + '*' + tSuchFelder.cSuch + '*'.
  1169. END.
  1170. IF aWorte = '' THEN RETURN iAnzArt.
  1171. lJa = FALSE.
  1172. FOR EACH Artbez NO-LOCK
  1173. WHERE Artbez.Firma = Firma
  1174. AND Artbez.Sprcd = 1
  1175. AND Artbez.WortIndex MATCHES aWorte
  1176. AND INDEX(Artbez.Wortindex, cIndex) > 0,
  1177. FIRST Artst NO-LOCK USE-INDEX Artst-k1
  1178. WHERE Artst.Firma = Artbez.Firma
  1179. AND Artst.Artnr = Artbez.Artnr
  1180. AND Artst.Inhalt = Artbez.Inhalt
  1181. AND Artst.Jahr = Artbez.Jahr
  1182. AND ((lInaktiv)
  1183. OR (NOT lInaktiv AND
  1184. Artst.Aktiv AND
  1185. Artst.Ausverk < 9)) :
  1186. lJa = TRUE.
  1187. IF NOT DYNAMIC-FUNCTION('getArtikelSelektiert':U, Artst.Artnr, Artst.Inhalt, Artst.Jahr ) THEN
  1188. DO:
  1189. CREATE tArtst.
  1190. BUFFER-COPY Artst TO tArtst
  1191. ASSIGN
  1192. tArtst.iRecid = RECID(Artst)
  1193. tArtst.Bez1 = Artbez.Bez1
  1194. tArtst.Bez2 = Artbez.Bez2
  1195. tArtst.cSort = STRING(iPrior,'99')
  1196. + Artst.Suchbe
  1197. + STRING(Artst.Artnr ,'99999999')
  1198. + STRING(Artst.Inhalt,'9999')
  1199. + STRING(Artst.Jahr ,'9999').
  1200. iAnzArt = iAnzArt + 1.
  1201. END.
  1202. IF iAnzArt >= 100 THEN LEAVE.
  1203. END.
  1204. IF lJa THEN RETURN iAnzArt.
  1205. RETURN iAnzArt.
  1206. END FUNCTION.
  1207. /* _UIB-CODE-BLOCK-END */
  1208. &ANALYZE-RESUME
  1209. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION startQueryArtlief gArtikelSuchen
  1210. FUNCTION startQueryArtlief RETURNS INTEGER
  1211. ( /* parameter-definitions */ ) :
  1212. /*------------------------------------------------------------------------------
  1213. Purpose:
  1214. Notes:
  1215. ------------------------------------------------------------------------------*/
  1216. DEFINE VARIABLE iAnzArt AS INTEGER NO-UNDO.
  1217. cIndex = SUBSTITUTE('XLIEFSTX&1', STRING(iKnr,'999999')).
  1218. iAnzArt = DYNAMIC-FUNCTION('startQueryArtikel':U) NO-ERROR.
  1219. RETURN iAnzArt.
  1220. END FUNCTION.
  1221. /* _UIB-CODE-BLOCK-END */
  1222. &ANALYZE-RESUME