g-such-liefst.w 44 KB

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