g-auswahl-adresse.w 42 KB

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