b-kundensuche-deb.w 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833
  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 119.4 BY 9.05.
  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 85 BY 8.57
  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.24 COL 90 NO-LABEL
  158. F_Suchbe AT ROW 7.33 COL 88 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.57
  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 ANY-PRINTABLE OF br_table IN FRAME F-Main
  244. DO:
  245. RETURN NO-APPLY.
  246. END.
  247. /* _UIB-CODE-BLOCK-END */
  248. &ANALYZE-RESUME
  249. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  250. ON END-ERROR OF br_table IN FRAME F-Main
  251. DO:
  252. RUN new-state ( INPUT 'kunde_nok, MAIN':U ).
  253. RETURN NO-APPLY.
  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-DISPLAY OF br_table IN FRAME F-Main
  259. DO:
  260. RUN ANZEIGE.
  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-ENTRY OF br_table IN FRAME F-Main
  266. DO:
  267. {src/adm/template/brsentry.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 ROW-LEAVE OF br_table IN FRAME F-Main
  273. DO:
  274. {src/adm/template/brsleave.i}
  275. END.
  276. /* _UIB-CODE-BLOCK-END */
  277. &ANALYZE-RESUME
  278. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  279. ON VALUE-CHANGED OF br_table IN FRAME F-Main
  280. DO:
  281. {src/adm/template/brschnge.i}
  282. RUN ANZEIGE.
  283. END.
  284. /* _UIB-CODE-BLOCK-END */
  285. &ANALYZE-RESUME
  286. &Scoped-define SELF-NAME F_SortierArt
  287. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_SortierArt B-table-Win
  288. ON END-ERROR OF F_SortierArt IN FRAME F-Main
  289. DO:
  290. RUN new-state ( INPUT 'kunde_nok, MAIN':U ).
  291. RETURN NO-APPLY.
  292. END.
  293. /* _UIB-CODE-BLOCK-END */
  294. &ANALYZE-RESUME
  295. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_SortierArt B-table-Win
  296. ON VALUE-CHANGED OF F_SortierArt IN FRAME F-Main
  297. DO:
  298. {&BROWSE-NAME}:REFRESH().
  299. APPLY 'ENTRY' TO F_Suchbe IN FRAME {&FRAME-NAME}.
  300. RETURN NO-APPLY.
  301. END.
  302. /* _UIB-CODE-BLOCK-END */
  303. &ANALYZE-RESUME
  304. &Scoped-define SELF-NAME F_Suchbe
  305. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Suchbe B-table-Win
  306. ON END-ERROR OF F_Suchbe IN FRAME F-Main
  307. DO:
  308. RUN new-state ( INPUT 'kunde_nok, MAIN':U ).
  309. RETURN NO-APPLY.
  310. END.
  311. /* _UIB-CODE-BLOCK-END */
  312. &ANALYZE-RESUME
  313. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Suchbe B-table-Win
  314. ON RETURN OF F_Suchbe IN FRAME F-Main
  315. DO:
  316. RUN dispatch IN THIS-PROCEDURE ('assign-statement':U).
  317. RUN dispatch IN THIS-PROCEDURE ('open-query':U).
  318. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  319. RETURN NO-APPLY.
  320. END.
  321. /* _UIB-CODE-BLOCK-END */
  322. &ANALYZE-RESUME
  323. &UNDEFINE SELF-NAME
  324. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK B-table-Win
  325. /* *************************** Main Block *************************** */
  326. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  327. RUN dispatch IN THIS-PROCEDURE ('initialize':U).
  328. &ENDIF
  329. ON RETURN OF BROWSE {&BROWSE-NAME}
  330. OR LEFT-MOUSE-DBLCLICK OF BROWSE {&BROWSE-NAME}
  331. DO:
  332. DO WITH FRAME {&FRAME-NAME}:
  333. IF NUM-RESULTS("{&BROWSE-NAME}":U) = ? THEN RETURN.
  334. IF NUM-RESULTS("{&BROWSE-NAME}":U) = 0 THEN RETURN.
  335. {&BROWSE-NAME}:SELECT-FOCUSED-ROW().
  336. {&BROWSE-NAME}:FETCH-SELECTED-ROW(1).
  337. Linknr = Adresse.Knr.
  338. DVKnr = Adresse.Knr.
  339. RUN new-state ( 'kunde_ok, MAIN':U ).
  340. RETURN NO-APPLY.
  341. END.
  342. END.
  343. /* _UIB-CODE-BLOCK-END */
  344. &ANALYZE-RESUME
  345. /* ********************** Internal Procedures *********************** */
  346. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-open-query-cases B-table-Win adm/support/_adm-opn.p
  347. PROCEDURE adm-open-query-cases :
  348. /*------------------------------------------------------------------------------
  349. Purpose: Opens different cases of the query based on attributes
  350. such as the 'Key-Name', or 'SortBy-Case'
  351. Parameters: <none>
  352. ------------------------------------------------------------------------------*/
  353. /* No Foreign keys are accepted by this SmartObject. */
  354. {&OPEN-QUERY-{&BROWSE-NAME}}
  355. END PROCEDURE.
  356. /* _UIB-CODE-BLOCK-END */
  357. &ANALYZE-RESUME
  358. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-row-available B-table-Win _ADM-ROW-AVAILABLE
  359. PROCEDURE adm-row-available :
  360. /*------------------------------------------------------------------------------
  361. Purpose: Dispatched to this procedure when the Record-
  362. Source has a new row available. This procedure
  363. tries to get the new row (or foriegn keys) from
  364. the Record-Source and process it.
  365. Parameters: <none>
  366. ------------------------------------------------------------------------------*/
  367. /* Define variables needed by this internal procedure. */
  368. {src/adm/template/row-head.i}
  369. /* Process the newly available records (i.e. display fields,
  370. open queries, and/or pass records on to any RECORD-TARGETS). */
  371. {src/adm/template/row-end.i}
  372. END PROCEDURE.
  373. /* _UIB-CODE-BLOCK-END */
  374. &ANALYZE-RESUME
  375. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ANZEIGE B-table-Win
  376. PROCEDURE ANZEIGE :
  377. /*------------------------------------------------------------------------------
  378. Purpose:
  379. Parameters: <none>
  380. Notes:
  381. ------------------------------------------------------------------------------*/
  382. VAdresse = ''.
  383. VSuText = ''.
  384. IF NOT AVAILABLE Adresse THEN RETURN.
  385. CASE F_SortierArt:
  386. WHEN 2 THEN VSuText = Adresse.Suchbe.
  387. WHEN 3 THEN VSuText = Adresse.Firma1.
  388. WHEN 4 THEN VSuText = Adresse.Name.
  389. WHEN 5 THEN VSuText = Adresse.Ort.
  390. END CASE.
  391. IF Adresse.Firma1 <> '' THEN DO:
  392. IF VAdresse <> '' THEN VAdresse = VAdresse + ', '.
  393. VAdresse = VAdresse + Adresse.Firma1.
  394. END.
  395. IF Adresse.Firma2 <> '' THEN DO:
  396. IF VAdresse <> '' THEN VAdresse = VAdresse + ', '.
  397. VAdresse = VAdresse + Adresse.Firma2.
  398. END.
  399. IF Adresse.Name <> '' THEN DO:
  400. IF VAdresse <> '' THEN VAdresse = VAdresse + ', '.
  401. VAdresse = VAdresse + Adresse.Name .
  402. END.
  403. IF Adresse.Vorname <> '' THEN DO:
  404. IF VAdresse <> '' THEN VAdresse = VAdresse + ' '.
  405. VAdresse = VAdresse + Adresse.Vorname.
  406. END.
  407. IF Adresse.Strasse <> '' THEN DO:
  408. IF VAdresse <> '' THEN VAdresse = VAdresse + ', '.
  409. VAdresse = VAdresse + Adresse.Strasse.
  410. END.
  411. IF VAdresse <> '' THEN VAdresse = VAdresse + ', '.
  412. VAdresse = VAdresse + Adresse.Plz + ' ' + Adresse.Ort.
  413. IF NOT Adresse.Aktiv THEN DO:
  414. Adresse.Knr:BGCOLOR IN BROWSE {&BROWSE-NAME} = 12.
  415. VSuText:BGCOLOR IN BROWSE {&BROWSE-NAME} = 12.
  416. VAdresse:BGCOLOR IN BROWSE {&BROWSE-NAME} = 12.
  417. END.
  418. DVKnr = Adresse.Knr.
  419. RUN new-state ( INPUT 'anschrift, MAIN':U ).
  420. END PROCEDURE.
  421. /* _UIB-CODE-BLOCK-END */
  422. &ANALYZE-RESUME
  423. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI B-table-Win _DEFAULT-DISABLE
  424. PROCEDURE disable_UI :
  425. /*------------------------------------------------------------------------------
  426. Purpose: DISABLE the User Interface
  427. Parameters: <none>
  428. Notes: Here we clean-up the user-interface by deleting
  429. dynamic widgets we have created and/or hide
  430. frames. This procedure is usually called when
  431. we are ready to "clean-up" after running.
  432. ------------------------------------------------------------------------------*/
  433. /* Hide all frames. */
  434. HIDE FRAME F-Main.
  435. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  436. END PROCEDURE.
  437. /* _UIB-CODE-BLOCK-END */
  438. &ANALYZE-RESUME
  439. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-assign-statement B-table-Win
  440. PROCEDURE local-assign-statement :
  441. /*------------------------------------------------------------------------------
  442. Purpose: Override standard ADM method
  443. Notes:
  444. ------------------------------------------------------------------------------*/
  445. RUN dispatch IN THIS-PROCEDURE ( INPUT 'assign-statement':U ) .
  446. DO WITH FRAME {&FRAME-NAME}:
  447. F_SortierArt = INTEGER(F_SortierArt:SCREEN-VALUE).
  448. F_Suchbe = TRIM (F_Suchbe:SCREEN-VALUE).
  449. SortierArt = F_SortierArt.
  450. END.
  451. END PROCEDURE.
  452. /* _UIB-CODE-BLOCK-END */
  453. &ANALYZE-RESUME
  454. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-display-fields B-table-Win
  455. PROCEDURE local-display-fields :
  456. /*------------------------------------------------------------------------------
  457. Purpose: Override standard ADM method
  458. Notes:
  459. ------------------------------------------------------------------------------*/
  460. RUN ANZEIGE.
  461. RUN dispatch IN THIS-PROCEDURE ( INPUT 'display-fields':U ) .
  462. Vorhanden = TRUE.
  463. END PROCEDURE.
  464. /* _UIB-CODE-BLOCK-END */
  465. &ANALYZE-RESUME
  466. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-hide B-table-Win
  467. PROCEDURE local-hide :
  468. /*------------------------------------------------------------------------------
  469. Purpose: Override standard ADM method
  470. Notes:
  471. ------------------------------------------------------------------------------*/
  472. RUN dispatch IN THIS-PROCEDURE ( INPUT 'hide':U ) .
  473. END PROCEDURE.
  474. /* _UIB-CODE-BLOCK-END */
  475. &ANALYZE-RESUME
  476. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-initialize B-table-Win
  477. PROCEDURE local-initialize :
  478. /*------------------------------------------------------------------------------
  479. Purpose: Override standard ADM method
  480. Notes:
  481. ------------------------------------------------------------------------------*/
  482. RUN SUCHEN.
  483. RUN dispatch IN THIS-PROCEDURE ( INPUT 'initialize':U ) .
  484. END PROCEDURE.
  485. /* _UIB-CODE-BLOCK-END */
  486. &ANALYZE-RESUME
  487. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-open-query B-table-Win
  488. PROCEDURE local-open-query :
  489. /*------------------------------------------------------------------------------
  490. Purpose: Override standard ADM method
  491. Notes:
  492. ------------------------------------------------------------------------------*/
  493. IF QOpen THEN CLOSE QUERY {&BROWSE-NAME}.
  494. Vorhanden = FALSE.
  495. CASE SortierArt:
  496. WHEN 1 THEN DO:
  497. VKnr = INTEGER(F_Suchbe).
  498. OPEN QUERY {&BROWSE-NAME}
  499. FOR EACH Adresse USE-INDEX Adresse-k1
  500. WHERE Adresse.Firma = AdFirma
  501. AND Adresse.Knr >= VKnr NO-LOCK.
  502. END.
  503. WHEN 2 THEN DO:
  504. VSuchbe = TRIM(F_Suchbe).
  505. OPEN QUERY {&BROWSE-NAME}
  506. FOR EACH Adresse USE-INDEX Adresse-k2
  507. WHERE Adresse.Firma = AdFirma
  508. AND Adresse.Suchbe >= VSuchbe NO-LOCK.
  509. END.
  510. WHEN 3 THEN DO:
  511. VSuchbe = TRIM(F_Suchbe).
  512. OPEN QUERY {&BROWSE-NAME}
  513. FOR EACH Adresse USE-INDEX Adresse-k3
  514. WHERE Adresse.Firma = AdFirma
  515. AND Adresse.Firma1 >= VSuchbe NO-LOCK.
  516. END.
  517. WHEN 4 THEN DO:
  518. VSuchbe = TRIM(F_Suchbe).
  519. OPEN QUERY {&BROWSE-NAME}
  520. FOR EACH Adresse USE-INDEX Adresse-k4
  521. WHERE Adresse.Firma = AdFirma
  522. AND Adresse.Name >= VSuchbe NO-LOCK.
  523. END.
  524. WHEN 5 THEN DO:
  525. VSuchbe = TRIM(F_Suchbe).
  526. OPEN QUERY {&BROWSE-NAME}
  527. FOR EACH Adresse USE-INDEX Adresse-k5
  528. WHERE Adresse.Firma = AdFirma
  529. AND Adresse.Ort >= VSuchbe NO-LOCK.
  530. END.
  531. WHEN 6 THEN DO:
  532. VSuchbe = TRIM(F_Suchbe).
  533. OPEN QUERY {&BROWSE-NAME}
  534. FOR EACH Adresse USE-INDEX Adresse-k2
  535. WHERE Adresse.Firma = AdFirma
  536. AND ((Adresse.Firma1 MATCHES VSuchbe) OR
  537. (Adresse.Firma2 MATCHES VSuchbe) OR
  538. (Adresse.Name MATCHES VSuchbe) OR
  539. (Adresse.Vorname MATCHES VSuchbe) OR
  540. (Adresse.Zusatz1 MATCHES VSuchbe) OR
  541. (Adresse.Zusatz2 MATCHES VSuchbe)) NO-LOCK.
  542. END.
  543. END. /* CASE */
  544. APPLY 'VALUE-CHANGED' TO BROWSE {&BROWSE-NAME}.
  545. QOpen = TRUE.
  546. RETURN NO-APPLY.
  547. END PROCEDURE.
  548. /* _UIB-CODE-BLOCK-END */
  549. &ANALYZE-RESUME
  550. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-view B-table-Win
  551. PROCEDURE local-view :
  552. /*------------------------------------------------------------------------------
  553. Purpose: Override standard ADM method
  554. Notes:
  555. ------------------------------------------------------------------------------*/
  556. RUN dispatch IN THIS-PROCEDURE ( INPUT 'view':U ) .
  557. DISPLAY F_SortierArt WITH FRAME {&FRAME-NAME}.
  558. APPLY 'VALUE-CHANGED' TO BROWSE {&BROWSE-NAME}.
  559. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  560. END PROCEDURE.
  561. /* _UIB-CODE-BLOCK-END */
  562. &ANALYZE-RESUME
  563. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-key B-table-Win adm/support/_key-snd.p
  564. PROCEDURE send-key :
  565. /*------------------------------------------------------------------------------
  566. Purpose: Sends a requested KEY value back to the calling
  567. SmartObject.
  568. Parameters: <see adm/template/sndkytop.i>
  569. ------------------------------------------------------------------------------*/
  570. /* Define variables needed by this internal procedure. */
  571. {src/adm/template/sndkytop.i}
  572. /* Return the key value associated with each key case. */
  573. {src/adm/template/sndkycas.i "Adrart" "Adresse" "Adrart"}
  574. {src/adm/template/sndkycas.i "Lkz" "Adresse" "Lkz"}
  575. {src/adm/template/sndkycas.i "Name" "Adresse" "Name"}
  576. {src/adm/template/sndkycas.i "Sprcd" "Adresse" "Sprcd"}
  577. {src/adm/template/sndkycas.i "Firma" "Adresse" "Firma"}
  578. /* Close the CASE statement and end the procedure. */
  579. {src/adm/template/sndkyend.i}
  580. END PROCEDURE.
  581. /* _UIB-CODE-BLOCK-END */
  582. &ANALYZE-RESUME
  583. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-records B-table-Win _ADM-SEND-RECORDS
  584. PROCEDURE send-records :
  585. /*------------------------------------------------------------------------------
  586. Purpose: Send record ROWID's for all tables used by
  587. this file.
  588. Parameters: see template/snd-head.i
  589. ------------------------------------------------------------------------------*/
  590. /* Define variables needed by this internal procedure. */
  591. {src/adm/template/snd-head.i}
  592. /* For each requested table, put it's ROWID in the output list. */
  593. {src/adm/template/snd-list.i "Adresse"}
  594. /* Deal with any unexpected table requests before closing. */
  595. {src/adm/template/snd-end.i}
  596. END PROCEDURE.
  597. /* _UIB-CODE-BLOCK-END */
  598. &ANALYZE-RESUME
  599. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE state-changed B-table-Win
  600. PROCEDURE state-changed :
  601. /* -----------------------------------------------------------
  602. Purpose:
  603. Parameters: <none>
  604. Notes:
  605. -------------------------------------------------------------*/
  606. DEFINE INPUT PARAMETER p-issuer-hdl AS HANDLE NO-UNDO.
  607. DEFINE INPUT PARAMETER p-state AS CHARACTER NO-UNDO.
  608. DO WITH FRAME {&FRAME-NAME}:
  609. CASE p-state:
  610. WHEN 'entry_browse' THEN DO:
  611. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  612. RETURN NO-APPLY.
  613. END.
  614. {src/adm/template/bstates.i}
  615. END CASE.
  616. END.
  617. END PROCEDURE.
  618. /* _UIB-CODE-BLOCK-END */
  619. &ANALYZE-RESUME
  620. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SUCHEN B-table-Win
  621. PROCEDURE SUCHEN :
  622. /*------------------------------------------------------------------------------
  623. Purpose:
  624. Parameters: <none>
  625. Notes:
  626. ------------------------------------------------------------------------------*/
  627. SortierArt = 2.
  628. F_SortierArt = 2.
  629. F_Suchbe = Linktext.
  630. VSuchbe = Linktext.
  631. RUN local-open-query.
  632. END PROCEDURE.
  633. /* _UIB-CODE-BLOCK-END */
  634. &ANALYZE-RESUME