b-kundensuche.w 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825
  1. &ANALYZE-SUSPEND _VERSION-NUMBER UIB_v8r12 GUI ADM1
  2. &ANALYZE-RESUME
  3. /* Connected Databases
  4. anadat PROGRESS
  5. */
  6. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  7. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS B-table-Win
  8. /*------------------------------------------------------------------------
  9. File:
  10. Description: from BROWSER.W - Basic SmartBrowser Object Template
  11. Input Parameters:
  12. <none>
  13. Output Parameters:
  14. <none>
  15. ------------------------------------------------------------------------*/
  16. /* This .W file was created with the Progress UIB. */
  17. /*----------------------------------------------------------------------*/
  18. /* Create an unnamed pool to store all the widgets created
  19. by this procedure. This is a good default which assures
  20. that this procedure's triggers and internal procedures
  21. will execute in this procedure's storage, and that proper
  22. cleanup will occur on deletion of the procedure. */
  23. CREATE WIDGET-POOL.
  24. /* *************************** Definitions ************************** */
  25. /* Parameters Definitions --- */
  26. /* Local Variable Definitions --- */
  27. DEF VAR VAdresse AS CHAR FORMAT "x(60)" NO-UNDO.
  28. DEF VAR SortierArt AS INT INIT 2.
  29. DEF VAR VSuchbe AS CHAR.
  30. DEF VAR QOpen AS LOG INIT FALSE NO-UNDO.
  31. DEF VAR VSuText AS CHAR FORMAT "x(20)" NO-UNDO.
  32. DEF VAR Vorhanden AS LOG INIT FALSE NO-UNDO.
  33. DEF VAR VKnr AS INT NO-UNDO.
  34. DEF VAR VROW_ID AS ROWID.
  35. DEF VAR XROW_ID AS ROWID.
  36. DEF VAR RROW_ID AS ROWID.
  37. DEF BUFFER BAdresse FOR Adresse.
  38. /* ---------- Globale Variablen ---------------------------------- */
  39. { v8/globvar.i" " " " "SHARED" }
  40. { v8/debivar.i " " " " "SHARED" }
  41. { v8/artivar.i " " " " "SHARED" }
  42. { v8/contvar.i " " " " "SHARED" }
  43. /* _UIB-CODE-BLOCK-END */
  44. &ANALYZE-RESUME
  45. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  46. /* ******************** Preprocessor Definitions ******************** */
  47. &Scoped-define PROCEDURE-TYPE SmartBrowser
  48. &Scoped-define DB-AWARE no
  49. &Scoped-define ADM-SUPPORTED-LINKS Record-Source,Record-Target,TableIO-Target
  50. /* Name of first Frame and/or Browse and/or first Query */
  51. &Scoped-define FRAME-NAME F-Main
  52. &Scoped-define BROWSE-NAME br_table
  53. /* Internal Tables (found by Frame, Query & Browse Queries) */
  54. &Scoped-define INTERNAL-TABLES Adresse
  55. /* Define KEY-PHRASE in case it is used by any query. */
  56. &Scoped-define KEY-PHRASE TRUE
  57. /* Definitions for BROWSE br_table */
  58. &Scoped-define FIELDS-IN-QUERY-br_table Adresse.Knr VSuText @ VSuText ~
  59. VAdresse @ VAdresse
  60. &Scoped-define ENABLED-FIELDS-IN-QUERY-br_table
  61. &Scoped-define OPEN-QUERY-br_table OPEN QUERY br_table FOR EACH Adresse WHERE ~{&KEY-PHRASE} NO-LOCK ~
  62. ~{&SORTBY-PHRASE}.
  63. &Scoped-define TABLES-IN-QUERY-br_table Adresse
  64. &Scoped-define FIRST-TABLE-IN-QUERY-br_table Adresse
  65. /* Definitions for FRAME F-Main */
  66. /* Standard List Definitions */
  67. &Scoped-Define ENABLED-OBJECTS br_table F_SortierArt F_Suchbe RECT-23
  68. &Scoped-Define DISPLAYED-OBJECTS F_SortierArt F_Suchbe
  69. /* Custom List Definitions */
  70. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  71. &Scoped-define List-1 F_SortierArt F_Suchbe
  72. /* _UIB-PREPROCESSOR-BLOCK-END */
  73. &ANALYZE-RESUME
  74. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _XFTR "Foreign Keys" B-table-Win _INLINE
  75. /* Actions: ? adm/support/keyedit.w ? ? ? */
  76. /* STRUCTURED-DATA
  77. <KEY-OBJECT>
  78. &BROWSE-NAME
  79. </KEY-OBJECT>
  80. <FOREIGN-KEYS>
  81. Adrart||y|AnaDat.Adresse.Adrart
  82. Lkz||y|AnaDat.Adresse.Lkz
  83. Name||y|AnaDat.Adresse.Name
  84. Sprcd||y|AnaDat.Adresse.Sprcd
  85. Firma||y|AnaDat.Adresse.Firma
  86. </FOREIGN-KEYS>
  87. <EXECUTING-CODE>
  88. **************************
  89. * Set attributes related to FOREIGN KEYS
  90. */
  91. RUN set-attribute-list (
  92. 'Keys-Accepted = ,
  93. Keys-Supplied = "Adrart,Lkz,Name,Sprcd,Firma"':U).
  94. /* Tell the ADM to use the OPEN-QUERY-CASES. */
  95. &Scoped-define OPEN-QUERY-CASES RUN dispatch ('open-query-cases':U).
  96. /**************************
  97. </EXECUTING-CODE> */
  98. /* _UIB-CODE-BLOCK-END */
  99. &ANALYZE-RESUME
  100. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _XFTR "Advanced Query Options" B-table-Win _INLINE
  101. /* Actions: ? adm/support/advqedit.w ? ? ? */
  102. /* STRUCTURED-DATA
  103. <KEY-OBJECT>
  104. &BROWSE-NAME
  105. </KEY-OBJECT>
  106. <SORTBY-OPTIONS>
  107. </SORTBY-OPTIONS>
  108. <SORTBY-RUN-CODE>
  109. ************************
  110. * Set attributes related to SORTBY-OPTIONS */
  111. RUN set-attribute-list (
  112. 'SortBy-Options = ""':U).
  113. /************************
  114. </SORTBY-RUN-CODE>
  115. <FILTER-ATTRIBUTES>
  116. </FILTER-ATTRIBUTES> */
  117. /* _UIB-CODE-BLOCK-END */
  118. &ANALYZE-RESUME
  119. /* *********************** Control Definitions ********************** */
  120. /* Definitions of the field level widgets */
  121. DEFINE VARIABLE F_Suchbe AS CHARACTER FORMAT "X(20)":U
  122. VIEW-AS FILL-IN NATIVE
  123. SIZE 29.6 BY 1.05
  124. BGCOLOR 15 NO-UNDO.
  125. DEFINE VARIABLE F_SortierArt AS INTEGER INITIAL 1
  126. VIEW-AS RADIO-SET VERTICAL
  127. RADIO-BUTTONS
  128. "Kundennummer", 1,
  129. "Suchbegriff", 2,
  130. "Firma", 3,
  131. "Name", 4,
  132. "Ort", 5,
  133. "Match", 6
  134. SIZE 29.4 BY 4.76 NO-UNDO.
  135. DEFINE RECTANGLE RECT-23
  136. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  137. SIZE 121 BY 8.81.
  138. /* Query definitions */
  139. &ANALYZE-SUSPEND
  140. DEFINE QUERY br_table FOR
  141. Adresse SCROLLING.
  142. &ANALYZE-RESUME
  143. /* Browse definitions */
  144. DEFINE BROWSE br_table
  145. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS br_table B-table-Win _STRUCTURED
  146. QUERY br_table NO-LOCK DISPLAY
  147. Adresse.Knr FORMAT "z999999":U
  148. VSuText @ VSuText COLUMN-LABEL "Subegriff" FORMAT "x(15)":U
  149. VAdresse @ VAdresse COLUMN-LABEL "Adresse" FORMAT "x(55)":U
  150. /* _UIB-CODE-BLOCK-END */
  151. &ANALYZE-RESUME
  152. WITH NO-ASSIGN NO-ROW-MARKERS SEPARATORS SIZE 84 BY 8.33
  153. BGCOLOR 15 .
  154. /* ************************ Frame Definitions *********************** */
  155. DEFINE FRAME F-Main
  156. br_table AT ROW 1.48 COL 3
  157. F_SortierArt AT ROW 2.43 COL 89.4 NO-LABEL
  158. F_Suchbe AT ROW 7.52 COL 87.4 COLON-ALIGNED NO-LABEL
  159. RECT-23 AT ROW 1.24 COL 2
  160. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  161. SIDE-LABELS NO-UNDERLINE THREE-D
  162. AT COL 1 ROW 1 SCROLLABLE .
  163. /* *********************** Procedure Settings ************************ */
  164. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  165. /* Settings for THIS-PROCEDURE
  166. Type: SmartBrowser
  167. Allow: Basic,Browse
  168. Frames: 1
  169. Add Fields to: EXTERNAL-TABLES
  170. Other Settings: PERSISTENT-ONLY COMPILE
  171. */
  172. /* This procedure should always be RUN PERSISTENT. Report the error, */
  173. /* then cleanup and return. */
  174. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  175. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  176. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  177. RETURN.
  178. END.
  179. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  180. /* ************************* Create Window ************************** */
  181. &ANALYZE-SUSPEND _CREATE-WINDOW
  182. /* DESIGN Window definition (used by the UIB)
  183. CREATE WINDOW B-table-Win ASSIGN
  184. HEIGHT = 9.52
  185. WIDTH = 122.8.
  186. /* END WINDOW DEFINITION */
  187. */
  188. &ANALYZE-RESUME
  189. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB B-table-Win
  190. /* ************************* Included-Libraries *********************** */
  191. {src/adm/method/browser.i}
  192. /* _UIB-CODE-BLOCK-END */
  193. &ANALYZE-RESUME
  194. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  195. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  196. /* SETTINGS FOR WINDOW B-table-Win
  197. NOT-VISIBLE,,RUN-PERSISTENT */
  198. /* SETTINGS FOR FRAME F-Main
  199. NOT-VISIBLE Size-to-Fit */
  200. /* BROWSE-TAB br_table 1 F-Main */
  201. ASSIGN
  202. FRAME F-Main:SCROLLABLE = FALSE
  203. FRAME F-Main:HIDDEN = TRUE.
  204. /* SETTINGS FOR RADIO-SET F_SortierArt IN FRAME F-Main
  205. 1 */
  206. /* SETTINGS FOR FILL-IN F_Suchbe IN FRAME F-Main
  207. 1 */
  208. /* _RUN-TIME-ATTRIBUTES-END */
  209. &ANALYZE-RESUME
  210. /* Setting information for Queries and Browse Widgets fields */
  211. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE br_table
  212. /* Query rebuild information for BROWSE br_table
  213. _TblList = "AnaDat.Adresse"
  214. _Options = "NO-LOCK KEY-PHRASE SORTBY-PHRASE"
  215. _FldNameList[1] > AnaDat.Adresse.Knr
  216. "Adresse.Knr" ? "z999999" "integer" ? ? ? ? ? ? no ? no no ? yes no no "U" "" ""
  217. _FldNameList[2] > "_<CALC>"
  218. "VSuText @ VSuText" "Subegriff" "x(15)" ? ? ? ? ? ? ? no ? no no ? yes no no "U" "" ""
  219. _FldNameList[3] > "_<CALC>"
  220. "VAdresse @ VAdresse" "Adresse" "x(55)" ? ? ? ? ? ? ? no ? no no ? yes no no "U" "" ""
  221. _Query is NOT OPENED
  222. */ /* BROWSE br_table */
  223. &ANALYZE-RESUME
  224. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  225. /* Query rebuild information for FRAME F-Main
  226. _Options = "NO-LOCK"
  227. _Query is NOT OPENED
  228. */ /* FRAME F-Main */
  229. &ANALYZE-RESUME
  230. /* ************************ Control Triggers ************************ */
  231. &Scoped-define SELF-NAME F-Main
  232. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F-Main B-table-Win
  233. ON END-ERROR OF FRAME F-Main
  234. DO:
  235. RUN new-state ( INPUT 'kunde_nok, MAIN':U ).
  236. RETURN NO-APPLY.
  237. END.
  238. /* _UIB-CODE-BLOCK-END */
  239. &ANALYZE-RESUME
  240. &Scoped-define BROWSE-NAME br_table
  241. &Scoped-define SELF-NAME br_table
  242. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  243. ON END-ERROR OF br_table IN FRAME F-Main
  244. DO:
  245. RUN new-state ( INPUT 'kunde_nok, MAIN':U ).
  246. RETURN NO-APPLY.
  247. END.
  248. /* _UIB-CODE-BLOCK-END */
  249. &ANALYZE-RESUME
  250. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  251. ON ROW-DISPLAY OF br_table IN FRAME F-Main
  252. DO:
  253. RUN ANZEIGE.
  254. END.
  255. /* _UIB-CODE-BLOCK-END */
  256. &ANALYZE-RESUME
  257. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  258. ON ROW-ENTRY OF br_table IN FRAME F-Main
  259. DO:
  260. {src/adm/template/brsentry.i}
  261. END.
  262. /* _UIB-CODE-BLOCK-END */
  263. &ANALYZE-RESUME
  264. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  265. ON ROW-LEAVE OF br_table IN FRAME F-Main
  266. DO:
  267. {src/adm/template/brsleave.i}
  268. END.
  269. /* _UIB-CODE-BLOCK-END */
  270. &ANALYZE-RESUME
  271. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  272. ON VALUE-CHANGED OF br_table IN FRAME F-Main
  273. DO:
  274. {src/adm/template/brschnge.i}
  275. RUN ANZEIGE.
  276. END.
  277. /* _UIB-CODE-BLOCK-END */
  278. &ANALYZE-RESUME
  279. &Scoped-define SELF-NAME F_SortierArt
  280. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_SortierArt B-table-Win
  281. ON END-ERROR OF F_SortierArt IN FRAME F-Main
  282. DO:
  283. RUN new-state ( INPUT 'kunde_nok, MAIN':U ).
  284. RETURN NO-APPLY.
  285. END.
  286. /* _UIB-CODE-BLOCK-END */
  287. &ANALYZE-RESUME
  288. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_SortierArt B-table-Win
  289. ON VALUE-CHANGED OF F_SortierArt IN FRAME F-Main
  290. DO:
  291. {&BROWSE-NAME}:REFRESH().
  292. APPLY 'ENTRY' TO F_Suchbe IN FRAME {&FRAME-NAME}.
  293. RETURN NO-APPLY.
  294. END.
  295. /* _UIB-CODE-BLOCK-END */
  296. &ANALYZE-RESUME
  297. &Scoped-define SELF-NAME F_Suchbe
  298. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Suchbe B-table-Win
  299. ON END-ERROR OF F_Suchbe IN FRAME F-Main
  300. DO:
  301. RUN new-state ( INPUT 'kunde_nok, MAIN':U ).
  302. RETURN NO-APPLY.
  303. END.
  304. /* _UIB-CODE-BLOCK-END */
  305. &ANALYZE-RESUME
  306. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Suchbe B-table-Win
  307. ON RETURN OF F_Suchbe IN FRAME F-Main
  308. DO:
  309. RUN dispatch IN THIS-PROCEDURE ('assign-statement':U).
  310. RUN dispatch IN THIS-PROCEDURE ('open-query':U).
  311. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  312. RETURN NO-APPLY.
  313. END.
  314. /* _UIB-CODE-BLOCK-END */
  315. &ANALYZE-RESUME
  316. &UNDEFINE SELF-NAME
  317. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK B-table-Win
  318. /* *************************** Main Block *************************** */
  319. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  320. RUN dispatch IN THIS-PROCEDURE ('initialize':U).
  321. &ENDIF
  322. ON RETURN OF BROWSE {&BROWSE-NAME}
  323. OR LEFT-MOUSE-DBLCLICK OF BROWSE {&BROWSE-NAME}
  324. DO:
  325. DO WITH FRAME {&FRAME-NAME}:
  326. IF NUM-RESULTS("{&BROWSE-NAME}":U) = ? THEN RETURN.
  327. IF NUM-RESULTS("{&BROWSE-NAME}":U) = 0 THEN RETURN.
  328. {&BROWSE-NAME}:SELECT-FOCUSED-ROW().
  329. {&BROWSE-NAME}:FETCH-SELECTED-ROW(1).
  330. Linknr = Adresse.Knr.
  331. DVKnr = Adresse.Knr.
  332. RUN new-state ( 'kunde_ok, MAIN':U ).
  333. RETURN NO-APPLY.
  334. END.
  335. END.
  336. /* _UIB-CODE-BLOCK-END */
  337. &ANALYZE-RESUME
  338. /* ********************** Internal Procedures *********************** */
  339. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-open-query-cases B-table-Win adm/support/_adm-opn.p
  340. PROCEDURE adm-open-query-cases :
  341. /*------------------------------------------------------------------------------
  342. Purpose: Opens different cases of the query based on attributes
  343. such as the 'Key-Name', or 'SortBy-Case'
  344. Parameters: <none>
  345. ------------------------------------------------------------------------------*/
  346. /* No Foreign keys are accepted by this SmartObject. */
  347. {&OPEN-QUERY-{&BROWSE-NAME}}
  348. END PROCEDURE.
  349. /* _UIB-CODE-BLOCK-END */
  350. &ANALYZE-RESUME
  351. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-row-available B-table-Win _ADM-ROW-AVAILABLE
  352. PROCEDURE adm-row-available :
  353. /*------------------------------------------------------------------------------
  354. Purpose: Dispatched to this procedure when the Record-
  355. Source has a new row available. This procedure
  356. tries to get the new row (or foriegn keys) from
  357. the Record-Source and process it.
  358. Parameters: <none>
  359. ------------------------------------------------------------------------------*/
  360. /* Define variables needed by this internal procedure. */
  361. {src/adm/template/row-head.i}
  362. /* Process the newly available records (i.e. display fields,
  363. open queries, and/or pass records on to any RECORD-TARGETS). */
  364. {src/adm/template/row-end.i}
  365. END PROCEDURE.
  366. /* _UIB-CODE-BLOCK-END */
  367. &ANALYZE-RESUME
  368. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ANZEIGE B-table-Win
  369. PROCEDURE ANZEIGE :
  370. /*------------------------------------------------------------------------------
  371. Purpose:
  372. Parameters: <none>
  373. Notes:
  374. ------------------------------------------------------------------------------*/
  375. VAdresse = ''.
  376. VSuText = ''.
  377. IF NOT AVAILABLE Adresse THEN RETURN.
  378. CASE F_SortierArt:
  379. WHEN 2 THEN VSuText = Adresse.Suchbe.
  380. WHEN 3 THEN VSuText = Adresse.Firma1.
  381. WHEN 4 THEN VSuText = Adresse.Name.
  382. WHEN 5 THEN VSuText = Adresse.Ort.
  383. END CASE.
  384. IF Adresse.Firma1 <> '' THEN DO:
  385. IF VAdresse <> '' THEN VAdresse = VAdresse + ', '.
  386. VAdresse = VAdresse + Adresse.Firma1.
  387. END.
  388. IF Adresse.Firma2 <> '' THEN DO:
  389. IF VAdresse <> '' THEN VAdresse = VAdresse + ', '.
  390. VAdresse = VAdresse + Adresse.Firma2.
  391. END.
  392. IF Adresse.Name <> '' THEN DO:
  393. IF VAdresse <> '' THEN VAdresse = VAdresse + ', '.
  394. VAdresse = VAdresse + Adresse.Name .
  395. END.
  396. IF Adresse.Vorname <> '' THEN DO:
  397. IF VAdresse <> '' THEN VAdresse = VAdresse + ' '.
  398. VAdresse = VAdresse + Adresse.Vorname.
  399. END.
  400. IF Adresse.Strasse <> '' THEN DO:
  401. IF VAdresse <> '' THEN VAdresse = VAdresse + ', '.
  402. VAdresse = VAdresse + Adresse.Strasse.
  403. END.
  404. IF VAdresse <> '' THEN VAdresse = VAdresse + ', '.
  405. VAdresse = VAdresse + Adresse.Plz + ' ' + Adresse.Ort.
  406. IF NOT Adresse.Aktiv THEN DO:
  407. Adresse.Knr:BGCOLOR IN BROWSE {&BROWSE-NAME} = 12.
  408. VSuText:BGCOLOR IN BROWSE {&BROWSE-NAME} = 12.
  409. VAdresse:BGCOLOR IN BROWSE {&BROWSE-NAME} = 12.
  410. END.
  411. END PROCEDURE.
  412. /* _UIB-CODE-BLOCK-END */
  413. &ANALYZE-RESUME
  414. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI B-table-Win _DEFAULT-DISABLE
  415. PROCEDURE disable_UI :
  416. /*------------------------------------------------------------------------------
  417. Purpose: DISABLE the User Interface
  418. Parameters: <none>
  419. Notes: Here we clean-up the user-interface by deleting
  420. dynamic widgets we have created and/or hide
  421. frames. This procedure is usually called when
  422. we are ready to "clean-up" after running.
  423. ------------------------------------------------------------------------------*/
  424. /* Hide all frames. */
  425. HIDE FRAME F-Main.
  426. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  427. END PROCEDURE.
  428. /* _UIB-CODE-BLOCK-END */
  429. &ANALYZE-RESUME
  430. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-assign-statement B-table-Win
  431. PROCEDURE local-assign-statement :
  432. /*------------------------------------------------------------------------------
  433. Purpose: Override standard ADM method
  434. Notes:
  435. ------------------------------------------------------------------------------*/
  436. RUN dispatch IN THIS-PROCEDURE ( INPUT 'assign-statement':U ) .
  437. DO WITH FRAME {&FRAME-NAME}:
  438. F_SortierArt = INTEGER(F_SortierArt:SCREEN-VALUE).
  439. F_Suchbe = TRIM (F_Suchbe:SCREEN-VALUE).
  440. SortierArt = F_SortierArt.
  441. END.
  442. END PROCEDURE.
  443. /* _UIB-CODE-BLOCK-END */
  444. &ANALYZE-RESUME
  445. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-display-fields B-table-Win
  446. PROCEDURE local-display-fields :
  447. /*------------------------------------------------------------------------------
  448. Purpose: Override standard ADM method
  449. Notes:
  450. ------------------------------------------------------------------------------*/
  451. RUN ANZEIGE.
  452. RUN dispatch IN THIS-PROCEDURE ( INPUT 'display-fields':U ) .
  453. Vorhanden = TRUE.
  454. END PROCEDURE.
  455. /* _UIB-CODE-BLOCK-END */
  456. &ANALYZE-RESUME
  457. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-hide B-table-Win
  458. PROCEDURE local-hide :
  459. /*------------------------------------------------------------------------------
  460. Purpose: Override standard ADM method
  461. Notes:
  462. ------------------------------------------------------------------------------*/
  463. RUN dispatch IN THIS-PROCEDURE ( INPUT 'hide':U ) .
  464. END PROCEDURE.
  465. /* _UIB-CODE-BLOCK-END */
  466. &ANALYZE-RESUME
  467. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-initialize B-table-Win
  468. PROCEDURE local-initialize :
  469. /*------------------------------------------------------------------------------
  470. Purpose: Override standard ADM method
  471. Notes:
  472. ------------------------------------------------------------------------------*/
  473. RUN SUCHEN.
  474. RUN dispatch IN THIS-PROCEDURE ( INPUT 'initialize':U ) .
  475. END PROCEDURE.
  476. /* _UIB-CODE-BLOCK-END */
  477. &ANALYZE-RESUME
  478. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-open-query B-table-Win
  479. PROCEDURE local-open-query :
  480. /*------------------------------------------------------------------------------
  481. Purpose: Override standard ADM method
  482. Notes:
  483. ------------------------------------------------------------------------------*/
  484. IF QOpen THEN CLOSE QUERY {&BROWSE-NAME}.
  485. Vorhanden = FALSE.
  486. CASE SortierArt:
  487. WHEN 1 THEN DO:
  488. VKnr = INTEGER(F_Suchbe).
  489. OPEN QUERY {&BROWSE-NAME}
  490. FOR EACH Adresse USE-INDEX Adresse-k1
  491. WHERE Adresse.Firma = AdFirma
  492. AND Adresse.Knr >= VKnr
  493. AND Adresse.Aktiv = TRUE NO-LOCK.
  494. END.
  495. WHEN 2 THEN DO:
  496. VSuchbe = TRIM(F_Suchbe).
  497. OPEN QUERY {&BROWSE-NAME}
  498. FOR EACH Adresse USE-INDEX Adresse-k2
  499. WHERE Adresse.Firma = AdFirma
  500. AND Adresse.Suchbe >= VSuchbe
  501. AND Adresse.Aktiv = TRUE NO-LOCK.
  502. END.
  503. WHEN 3 THEN DO:
  504. VSuchbe = TRIM(F_Suchbe).
  505. OPEN QUERY {&BROWSE-NAME}
  506. FOR EACH Adresse USE-INDEX Adresse-k3
  507. WHERE Adresse.Firma = AdFirma
  508. AND Adresse.Firma1 >= VSuchbe
  509. AND Adresse.Aktiv = TRUE NO-LOCK.
  510. END.
  511. WHEN 4 THEN DO:
  512. VSuchbe = TRIM(F_Suchbe).
  513. OPEN QUERY {&BROWSE-NAME}
  514. FOR EACH Adresse USE-INDEX Adresse-k4
  515. WHERE Adresse.Firma = AdFirma
  516. AND Adresse.Name >= VSuchbe
  517. AND Adresse.Aktiv = TRUE NO-LOCK.
  518. END.
  519. WHEN 5 THEN DO:
  520. VSuchbe = TRIM(F_Suchbe).
  521. OPEN QUERY {&BROWSE-NAME}
  522. FOR EACH Adresse USE-INDEX Adresse-k5
  523. WHERE Adresse.Firma = AdFirma
  524. AND Adresse.Ort >= VSuchbe
  525. AND Adresse.Aktiv = TRUE NO-LOCK.
  526. END.
  527. WHEN 6 THEN DO:
  528. VSuchbe = TRIM(F_Suchbe).
  529. OPEN QUERY {&BROWSE-NAME}
  530. FOR EACH Adresse USE-INDEX Adresse-k2
  531. WHERE Adresse.Firma = AdFirma
  532. AND ((Adresse.Firma1 MATCHES VSuchbe) OR
  533. (Adresse.Firma2 MATCHES VSuchbe) OR
  534. (Adresse.Name MATCHES VSuchbe) OR
  535. (Adresse.Vorname MATCHES VSuchbe) OR
  536. (Adresse.Zusatz1 MATCHES VSuchbe) OR
  537. (Adresse.Zusatz2 MATCHES VSuchbe))
  538. AND Adresse.Aktiv = TRUE NO-LOCK.
  539. END.
  540. END. /* CASE */
  541. APPLY 'VALUE-CHANGED' TO BROWSE {&BROWSE-NAME}.
  542. QOpen = TRUE.
  543. RETURN NO-APPLY.
  544. END PROCEDURE.
  545. /* _UIB-CODE-BLOCK-END */
  546. &ANALYZE-RESUME
  547. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-view B-table-Win
  548. PROCEDURE local-view :
  549. /*------------------------------------------------------------------------------
  550. Purpose: Override standard ADM method
  551. Notes:
  552. ------------------------------------------------------------------------------*/
  553. RUN dispatch IN THIS-PROCEDURE ( INPUT 'view':U ) .
  554. DISPLAY F_SortierArt WITH FRAME {&FRAME-NAME}.
  555. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  556. END PROCEDURE.
  557. /* _UIB-CODE-BLOCK-END */
  558. &ANALYZE-RESUME
  559. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-key B-table-Win adm/support/_key-snd.p
  560. PROCEDURE send-key :
  561. /*------------------------------------------------------------------------------
  562. Purpose: Sends a requested KEY value back to the calling
  563. SmartObject.
  564. Parameters: <see adm/template/sndkytop.i>
  565. ------------------------------------------------------------------------------*/
  566. /* Define variables needed by this internal procedure. */
  567. {src/adm/template/sndkytop.i}
  568. /* Return the key value associated with each key case. */
  569. {src/adm/template/sndkycas.i "Adrart" "Adresse" "Adrart"}
  570. {src/adm/template/sndkycas.i "Lkz" "Adresse" "Lkz"}
  571. {src/adm/template/sndkycas.i "Name" "Adresse" "Name"}
  572. {src/adm/template/sndkycas.i "Sprcd" "Adresse" "Sprcd"}
  573. {src/adm/template/sndkycas.i "Firma" "Adresse" "Firma"}
  574. /* Close the CASE statement and end the procedure. */
  575. {src/adm/template/sndkyend.i}
  576. END PROCEDURE.
  577. /* _UIB-CODE-BLOCK-END */
  578. &ANALYZE-RESUME
  579. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-records B-table-Win _ADM-SEND-RECORDS
  580. PROCEDURE send-records :
  581. /*------------------------------------------------------------------------------
  582. Purpose: Send record ROWID's for all tables used by
  583. this file.
  584. Parameters: see template/snd-head.i
  585. ------------------------------------------------------------------------------*/
  586. /* Define variables needed by this internal procedure. */
  587. {src/adm/template/snd-head.i}
  588. /* For each requested table, put it's ROWID in the output list. */
  589. {src/adm/template/snd-list.i "Adresse"}
  590. /* Deal with any unexpected table requests before closing. */
  591. {src/adm/template/snd-end.i}
  592. END PROCEDURE.
  593. /* _UIB-CODE-BLOCK-END */
  594. &ANALYZE-RESUME
  595. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE state-changed B-table-Win
  596. PROCEDURE state-changed :
  597. /* -----------------------------------------------------------
  598. Purpose:
  599. Parameters: <none>
  600. Notes:
  601. -------------------------------------------------------------*/
  602. DEFINE INPUT PARAMETER p-issuer-hdl AS HANDLE NO-UNDO.
  603. DEFINE INPUT PARAMETER p-state AS CHARACTER NO-UNDO.
  604. DO WITH FRAME {&FRAME-NAME}:
  605. CASE p-state:
  606. WHEN 'entry_browse' THEN DO:
  607. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  608. RETURN NO-APPLY.
  609. END.
  610. {src/adm/template/bstates.i}
  611. END CASE.
  612. END.
  613. END PROCEDURE.
  614. /* _UIB-CODE-BLOCK-END */
  615. &ANALYZE-RESUME
  616. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SUCHEN B-table-Win
  617. PROCEDURE SUCHEN :
  618. /*------------------------------------------------------------------------------
  619. Purpose:
  620. Parameters: <none>
  621. Notes:
  622. ------------------------------------------------------------------------------*/
  623. SortierArt = 2.
  624. F_SortierArt = 2.
  625. F_Suchbe = Linktext.
  626. VSuchbe = Linktext.
  627. RUN local-open-query.
  628. END PROCEDURE.
  629. /* _UIB-CODE-BLOCK-END */
  630. &ANALYZE-RESUME