b-adresse_1.w 26 KB

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