g-such-artnr.w 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972
  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 gArtikelauswahl
  8. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gArtikelauswahl
  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 ipStart AS CHAR NO-UNDO.
  30. DEF OUTPUT PARAMETER opArtikel AS CHAR NO-UNDO.
  31. /* Local Variable Definitions --- */
  32. DEF VAR MaxPage AS INT NO-UNDO.
  33. DEF VAR AktSeite AS INT NO-UNDO.
  34. DEF VAR FMutFlag AS LOG NO-UNDO.
  35. DEF VAR Firma AS CHAR NO-UNDO INIT ''.
  36. DEF VAR VSort AS INT NO-UNDO INIT 1.
  37. DEF VAR Artnr AS INT NO-UNDO INIT 1.
  38. DEF VAR Inhalt AS CHAR NO-UNDO INIT ''.
  39. DEF VAR MinNr AS INT NO-UNDO.
  40. DEF VAR FwSprcd AS INT NO-UNDO.
  41. /* _UIB-CODE-BLOCK-END */
  42. &ANALYZE-RESUME
  43. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  44. /* ******************** Preprocessor Definitions ******************** */
  45. &Scoped-define PROCEDURE-TYPE SmartDialog
  46. &Scoped-define DB-AWARE no
  47. &Scoped-define ADM-CONTAINER DIALOG-BOX
  48. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  49. /* Name of first Frame and/or Browse and/or first Query */
  50. &Scoped-define FRAME-NAME gArtikelauswahl
  51. &Scoped-define BROWSE-NAME Br_artikel
  52. /* Internal Tables (found by Frame, Query & Browse Queries) */
  53. &Scoped-define INTERNAL-TABLES Artst Artbez
  54. /* Definitions for BROWSE Br_artikel */
  55. &Scoped-define FIELDS-IN-QUERY-Br_artikel Artst.Artnr Artst.Inhalt ~
  56. Artst.Jahr Artst.Suchbe Artbez.Bez1 Artbez.Bez2 Artst.Alk_Gehalt ~
  57. Artst.Bestand
  58. &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_artikel
  59. &Scoped-define OPEN-QUERY-Br_artikel OPEN QUERY Br_artikel FOR EACH Artst NO-LOCK, ~
  60. EACH Artbez OF Artst NO-LOCK INDEXED-REPOSITION.
  61. &Scoped-define TABLES-IN-QUERY-Br_artikel Artst Artbez
  62. &Scoped-define FIRST-TABLE-IN-QUERY-Br_artikel Artst
  63. &Scoped-define SECOND-TABLE-IN-QUERY-Br_artikel Artbez
  64. /* Definitions for DIALOG-BOX gArtikelauswahl */
  65. /* Standard List Definitions */
  66. &Scoped-Define ENABLED-OBJECTS Br_artikel F_Artnr F_Suchbe F_Bez RECT-38
  67. &Scoped-Define DISPLAYED-OBJECTS F_Artnr F_Suchbe F_Bez
  68. /* Custom List Definitions */
  69. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  70. &Scoped-define List-6 F_Artnr F_Suchbe F_Bez
  71. /* _UIB-PREPROCESSOR-BLOCK-END */
  72. &ANALYZE-RESUME
  73. /* *********************** Control Definitions ********************** */
  74. /* Define a dialog box */
  75. /* Definitions of the field level widgets */
  76. DEFINE VARIABLE F_Artnr AS INTEGER FORMAT "999999":U INITIAL 0
  77. LABEL "Artnr"
  78. VIEW-AS FILL-IN NATIVE
  79. SIZE 11 BY 1
  80. BGCOLOR 15 NO-UNDO.
  81. DEFINE VARIABLE F_Bez AS CHARACTER FORMAT "X(256)":U
  82. LABEL "Bezeichnung"
  83. VIEW-AS FILL-IN NATIVE
  84. SIZE 40 BY 1
  85. BGCOLOR 15 NO-UNDO.
  86. DEFINE VARIABLE F_Suchbe AS CHARACTER FORMAT "X(256)":U
  87. LABEL "Suchbegriff"
  88. VIEW-AS FILL-IN NATIVE
  89. SIZE 20 BY 1
  90. BGCOLOR 15 NO-UNDO.
  91. DEFINE RECTANGLE RECT-38
  92. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  93. SIZE 122 BY 19.52.
  94. /* Query definitions */
  95. &ANALYZE-SUSPEND
  96. DEFINE QUERY Br_artikel FOR
  97. Artst,
  98. Artbez SCROLLING.
  99. &ANALYZE-RESUME
  100. /* Browse definitions */
  101. DEFINE BROWSE Br_artikel
  102. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_artikel gArtikelauswahl _STRUCTURED
  103. QUERY Br_artikel NO-LOCK DISPLAY
  104. Artst.Artnr FORMAT "999999":U WIDTH 8
  105. Artst.Inhalt FORMAT "9999":U WIDTH 6
  106. Artst.Jahr FORMAT "9999":U WIDTH 5
  107. Artst.Suchbe FORMAT "x(20)":U WIDTH 17
  108. Artbez.Bez1 COLUMN-LABEL "Bezeichnung" FORMAT "x(30)":U
  109. Artbez.Bez2 COLUMN-LABEL "Zusatzbezeichnung" FORMAT "x(30)":U
  110. Artst.Alk_Gehalt COLUMN-LABEL "Alk%" FORMAT "zz9.9":U
  111. Artst.Bestand FORMAT "zzz,zz9-":U
  112. /* _UIB-CODE-BLOCK-END */
  113. &ANALYZE-RESUME
  114. WITH NO-ROW-MARKERS SEPARATORS SIZE 120 BY 16.43
  115. BGCOLOR 15 .
  116. /* ************************ Frame Definitions *********************** */
  117. DEFINE FRAME gArtikelauswahl
  118. Br_artikel AT ROW 4.1 COL 3
  119. F_Artnr AT ROW 1.52 COL 18 COLON-ALIGNED AUTO-RETURN
  120. F_Suchbe AT ROW 2.52 COL 18 COLON-ALIGNED AUTO-RETURN
  121. F_Bez AT ROW 2.52 COL 53 COLON-ALIGNED AUTO-RETURN
  122. RECT-38 AT ROW 1.24 COL 2
  123. SPACE(0.99) SKIP(0.23)
  124. WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
  125. SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
  126. TITLE "Artikelauswahl".
  127. /* *********************** Procedure Settings ************************ */
  128. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  129. /* Settings for THIS-PROCEDURE
  130. Type: SmartDialog
  131. Allow: Basic,Browse,DB-Fields,Query,Smart
  132. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  133. Design Page: 1
  134. Other Settings: COMPILE
  135. */
  136. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  137. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gArtikelauswahl
  138. /* ************************* Included-Libraries *********************** */
  139. {src/adm2/containr.i}
  140. /* _UIB-CODE-BLOCK-END */
  141. &ANALYZE-RESUME
  142. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  143. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  144. /* SETTINGS FOR DIALOG-BOX gArtikelauswahl
  145. Custom */
  146. /* BROWSE-TAB Br_artikel 1 gArtikelauswahl */
  147. ASSIGN
  148. FRAME gArtikelauswahl:SCROLLABLE = FALSE
  149. FRAME gArtikelauswahl:HIDDEN = TRUE.
  150. /* SETTINGS FOR FILL-IN F_Artnr IN FRAME gArtikelauswahl
  151. 6 */
  152. /* SETTINGS FOR FILL-IN F_Bez IN FRAME gArtikelauswahl
  153. 6 */
  154. /* SETTINGS FOR FILL-IN F_Suchbe IN FRAME gArtikelauswahl
  155. 6 */
  156. /* _RUN-TIME-ATTRIBUTES-END */
  157. &ANALYZE-RESUME
  158. /* Setting information for Queries and Browse Widgets fields */
  159. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_artikel
  160. /* Query rebuild information for BROWSE Br_artikel
  161. _TblList = "AnaDat.Artst,AnaDat.Artbez OF AnaDat.Artst"
  162. _Options = "NO-LOCK INDEXED-REPOSITION"
  163. _FldNameList[1] > AnaDat.Artst.Artnr
  164. "Artst.Artnr" ? ? "integer" ? ? ? ? ? ? no ? no no "8" yes no no "U" "" ""
  165. _FldNameList[2] > AnaDat.Artst.Inhalt
  166. "Artst.Inhalt" ? ? "integer" ? ? ? ? ? ? no ? no no "6" yes no no "U" "" ""
  167. _FldNameList[3] > AnaDat.Artst.Jahr
  168. "Artst.Jahr" ? ? "integer" ? ? ? ? ? ? no ? no no "5" yes no no "U" "" ""
  169. _FldNameList[4] > AnaDat.Artst.Suchbe
  170. "Artst.Suchbe" ? "x(20)" "character" ? ? ? ? ? ? no ? no no "17" yes no no "U" "" ""
  171. _FldNameList[5] > AnaDat.Artbez.Bez1
  172. "Artbez.Bez1" "Bezeichnung" ? "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" ""
  173. _FldNameList[6] > AnaDat.Artbez.Bez2
  174. "Artbez.Bez2" "Zusatzbezeichnung" ? "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" ""
  175. _FldNameList[7] > AnaDat.Artst.Alk_Gehalt
  176. "Artst.Alk_Gehalt" "Alk%" "zz9.9" "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" ""
  177. _FldNameList[8] > AnaDat.Artst.Bestand
  178. "Artst.Bestand" ? "zzz,zz9-" "integer" ? ? ? ? ? ? no ? no no ? yes no no "U" "" ""
  179. _Query is NOT OPENED
  180. */ /* BROWSE Br_artikel */
  181. &ANALYZE-RESUME
  182. &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gArtikelauswahl
  183. /* Query rebuild information for DIALOG-BOX gArtikelauswahl
  184. _Options = "SHARE-LOCK"
  185. _Query is NOT OPENED
  186. */ /* DIALOG-BOX gArtikelauswahl */
  187. &ANALYZE-RESUME
  188. /* ************************ Control Triggers ************************ */
  189. &Scoped-define SELF-NAME gArtikelauswahl
  190. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gArtikelauswahl gArtikelauswahl
  191. ON END-ERROR OF FRAME gArtikelauswahl /* Artikelauswahl */
  192. DO:
  193. RUN ENDE.
  194. RETURN NO-APPLY.
  195. END.
  196. /* _UIB-CODE-BLOCK-END */
  197. &ANALYZE-RESUME
  198. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gArtikelauswahl gArtikelauswahl
  199. ON GO OF FRAME gArtikelauswahl /* Artikelauswahl */
  200. DO:
  201. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR.
  202. END.
  203. /* _UIB-CODE-BLOCK-END */
  204. &ANALYZE-RESUME
  205. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gArtikelauswahl gArtikelauswahl
  206. ON WINDOW-CLOSE OF FRAME gArtikelauswahl /* Artikelauswahl */
  207. DO:
  208. RUN ENDE.
  209. RETURN NO-APPLY.
  210. END.
  211. /* _UIB-CODE-BLOCK-END */
  212. &ANALYZE-RESUME
  213. &Scoped-define BROWSE-NAME Br_artikel
  214. &Scoped-define SELF-NAME Br_artikel
  215. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_artikel gArtikelauswahl
  216. ON END-ERROR OF Br_artikel IN FRAME gArtikelauswahl
  217. DO:
  218. IF VSort = 1 THEN APPLY 'ENTRY' TO F_Artnr IN FRAME {&FRAME-NAME}.
  219. IF VSort = 2 THEN APPLY 'ENTRY' TO F_Suchbe IN FRAME {&FRAME-NAME}.
  220. IF VSort = 3 THEN APPLY 'ENTRY' TO F_Bez IN FRAME {&FRAME-NAME}.
  221. RETURN NO-APPLY.
  222. END.
  223. /* _UIB-CODE-BLOCK-END */
  224. &ANALYZE-RESUME
  225. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_artikel gArtikelauswahl
  226. ON RETURN OF Br_artikel IN FRAME gArtikelauswahl
  227. DO:
  228. DO WITH FRAME {&FRAME-NAME}:
  229. IF NUM-RESULTS('{&BROWSE-NAME}') = ? THEN RETURN NO-APPLY.
  230. IF NUM-RESULTS('{&BROWSE-NAME}') = 0 THEN RETURN NO-APPLY.
  231. IF {&BROWSE-NAME}:NUM-SELECTED-ROWS = 0 THEN RETURN NO-APPLY.
  232. {&BROWSE-NAME}:FETCH-SELECTED-ROW(1).
  233. opArtikel = STRING(RECID(Artst)) + CHR(01)
  234. + STRING(Artst.Artnr) + CHR(01)
  235. + STRING(Artst.Inhalt) + CHR(01)
  236. + STRING(Artst.Jahr) + CHR(01)
  237. + Artst.Bez.
  238. END.
  239. RUN ENDE.
  240. RETURN NO-APPLY.
  241. END.
  242. /* _UIB-CODE-BLOCK-END */
  243. &ANALYZE-RESUME
  244. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_artikel gArtikelauswahl
  245. ON ROW-DISPLAY OF Br_artikel IN FRAME gArtikelauswahl
  246. DO:
  247. IF Artst.Ausverk < 2 THEN DO:
  248. Artst.Artnr:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15.
  249. Artst.Inhalt:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15.
  250. Artst.Jahr:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15.
  251. Artst.Suchbe:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15.
  252. ArtBez.Bez1:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15.
  253. ArtBez.Bez2:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15.
  254. END.
  255. ELSE DO:
  256. Artst.Artnr:BGCOLOR IN BROWSE {&BROWSE-NAME} = 14.
  257. Artst.Inhalt:BGCOLOR IN BROWSE {&BROWSE-NAME} = 14.
  258. Artst.Jahr:BGCOLOR IN BROWSE {&BROWSE-NAME} = 14.
  259. Artst.Suchbe:BGCOLOR IN BROWSE {&BROWSE-NAME} = 14.
  260. ArtBez.Bez1:BGCOLOR IN BROWSE {&BROWSE-NAME} = 14.
  261. ArtBez.Bez2:BGCOLOR IN BROWSE {&BROWSE-NAME} = 14.
  262. END.
  263. END.
  264. /* _UIB-CODE-BLOCK-END */
  265. &ANALYZE-RESUME
  266. &Scoped-define SELF-NAME F_Artnr
  267. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Artnr gArtikelauswahl
  268. ON ENTRY OF F_Artnr IN FRAME gArtikelauswahl /* Artnr */
  269. DO:
  270. SELF:SCREEN-VALUE = '0'.
  271. END.
  272. /* _UIB-CODE-BLOCK-END */
  273. &ANALYZE-RESUME
  274. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Artnr gArtikelauswahl
  275. ON LEAVE OF F_Artnr IN FRAME gArtikelauswahl /* Artnr */
  276. DO:
  277. DO WITH FRAME {&FRAME-NAME}:
  278. IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN.
  279. IF KEYFUNCTION(LASTKEY) = 'BACK-TAB' THEN RETURN.
  280. Inhalt = SELF:SCREEN-VALUE.
  281. IF INTEGER(Inhalt) = 0 THEN APPLY 'ENTRY' TO F_Suchbe.
  282. ELSE APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  283. SELF:SCREEN-VALUE = '0'.
  284. END.
  285. RETURN NO-APPLY.
  286. END.
  287. /* _UIB-CODE-BLOCK-END */
  288. &ANALYZE-RESUME
  289. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Artnr gArtikelauswahl
  290. ON RETURN OF F_Artnr IN FRAME gArtikelauswahl /* Artnr */
  291. DO:
  292. APPLY 'TAB' TO SELF.
  293. RETURN NO-APPLY.
  294. END.
  295. /* _UIB-CODE-BLOCK-END */
  296. &ANALYZE-RESUME
  297. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Artnr gArtikelauswahl
  298. ON VALUE-CHANGED OF F_Artnr IN FRAME gArtikelauswahl /* Artnr */
  299. DO:
  300. RUN OPENQUERY.
  301. RETURN.
  302. END.
  303. /* _UIB-CODE-BLOCK-END */
  304. &ANALYZE-RESUME
  305. &Scoped-define SELF-NAME F_Bez
  306. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Bez gArtikelauswahl
  307. ON END-ERROR OF F_Bez IN FRAME gArtikelauswahl /* Bezeichnung */
  308. DO:
  309. SELF:SCREEN-VALUE = ''.
  310. APPLY 'ENTRY' TO F_Artnr IN FRAME {&FRAME-NAME}.
  311. RETURN NO-APPLY.
  312. END.
  313. /* _UIB-CODE-BLOCK-END */
  314. &ANALYZE-RESUME
  315. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Bez gArtikelauswahl
  316. ON ENTRY OF F_Bez IN FRAME gArtikelauswahl /* Bezeichnung */
  317. DO:
  318. SELF:SCREEN-VALUE = ''.
  319. END.
  320. /* _UIB-CODE-BLOCK-END */
  321. &ANALYZE-RESUME
  322. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Bez gArtikelauswahl
  323. ON LEAVE OF F_Bez IN FRAME gArtikelauswahl /* Bezeichnung */
  324. DO:
  325. DO WITH FRAME {&FRAME-NAME}:
  326. IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN.
  327. IF KEYFUNCTION(LASTKEY) = 'BACK-TAB' THEN RETURN.
  328. Inhalt = SELF:SCREEN-VALUE.
  329. SELF:SCREEN-VALUE = ''.
  330. IF Inhalt = '' THEN APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  331. ELSE APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  332. END.
  333. RETURN NO-APPLY.
  334. END.
  335. /* _UIB-CODE-BLOCK-END */
  336. &ANALYZE-RESUME
  337. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Bez gArtikelauswahl
  338. ON RETURN OF F_Bez IN FRAME gArtikelauswahl /* Bezeichnung */
  339. DO:
  340. APPLY 'TAB' TO SELF.
  341. RETURN NO-APPLY.
  342. END.
  343. /* _UIB-CODE-BLOCK-END */
  344. &ANALYZE-RESUME
  345. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Bez gArtikelauswahl
  346. ON VALUE-CHANGED OF F_Bez IN FRAME gArtikelauswahl /* Bezeichnung */
  347. DO:
  348. IF SELF:SCREEN-VALUE = '' THEN RETURN.
  349. RUN OPENQUERY.
  350. RETURN.
  351. END.
  352. /* _UIB-CODE-BLOCK-END */
  353. &ANALYZE-RESUME
  354. &Scoped-define SELF-NAME F_Suchbe
  355. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Suchbe gArtikelauswahl
  356. ON END-ERROR OF F_Suchbe IN FRAME gArtikelauswahl /* Suchbegriff */
  357. DO:
  358. SELF:SCREEN-VALUE = ''.
  359. APPLY 'ENTRY' TO F_Artnr IN FRAME {&FRAME-NAME}.
  360. RETURN NO-APPLY.
  361. END.
  362. /* _UIB-CODE-BLOCK-END */
  363. &ANALYZE-RESUME
  364. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Suchbe gArtikelauswahl
  365. ON ENTRY OF F_Suchbe IN FRAME gArtikelauswahl /* Suchbegriff */
  366. DO:
  367. SELF:SCREEN-VALUE = ''.
  368. END.
  369. /* _UIB-CODE-BLOCK-END */
  370. &ANALYZE-RESUME
  371. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Suchbe gArtikelauswahl
  372. ON LEAVE OF F_Suchbe IN FRAME gArtikelauswahl /* Suchbegriff */
  373. DO:
  374. DO WITH FRAME {&FRAME-NAME}:
  375. IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN.
  376. IF KEYFUNCTION(LASTKEY) = 'BACK-TAB' THEN RETURN.
  377. Inhalt = SELF:SCREEN-VALUE.
  378. SELF:SCREEN-VALUE = ''.
  379. IF Inhalt = '' THEN APPLY 'ENTRY' TO F_Bez.
  380. ELSE APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  381. END.
  382. RETURN NO-APPLY.
  383. END.
  384. /* _UIB-CODE-BLOCK-END */
  385. &ANALYZE-RESUME
  386. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Suchbe gArtikelauswahl
  387. ON RETURN OF F_Suchbe IN FRAME gArtikelauswahl /* Suchbegriff */
  388. DO:
  389. APPLY 'TAB' TO SELF.
  390. RETURN NO-APPLY.
  391. END.
  392. /* _UIB-CODE-BLOCK-END */
  393. &ANALYZE-RESUME
  394. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Suchbe gArtikelauswahl
  395. ON VALUE-CHANGED OF F_Suchbe IN FRAME gArtikelauswahl /* Suchbegriff */
  396. DO:
  397. IF SELF:SCREEN-VALUE = '' THEN RETURN.
  398. RUN OPENQUERY.
  399. RETURN.
  400. END.
  401. /* _UIB-CODE-BLOCK-END */
  402. &ANALYZE-RESUME
  403. &UNDEFINE SELF-NAME
  404. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gArtikelauswahl
  405. /* *************************** Main Block *************************** */
  406. DEF VAR ix AS INT NO-UNDO.
  407. opArtikel = ''.
  408. MaxPage = 1.
  409. AktSeite = 1.
  410. Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
  411. FwSprcd = DYNAMIC-FUNCTION('GETFWSPRCD':U) NO-ERROR.
  412. FIND Steuer USE-INDEX Steuer-k1
  413. WHERE Steuer.Firma = Firma NO-LOCK NO-ERROR.
  414. MinNr = 1.
  415. IF AVAILABLE Steuer THEN DO:
  416. DO ix = 2 TO DYNAMIC-FUNCTION('GETMINARTNR':U) :
  417. MinNr = MinNr * 10.
  418. END.
  419. END.
  420. F_Artnr = 0.
  421. F_Suchbe = ''.
  422. F_Bez = ''.
  423. IF NUM-ENTRIES(ipStart, CHR(01)) < 1 THEN DO:
  424. ipStart = '1' + CHR(01) + '1'.
  425. END.
  426. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  427. IF ENTRY(1, ipStart, CHR(01)) = '2' THEN DO:
  428. F_Suchbe = ENTRY(2, ipStart, CHR(01)).
  429. LEAVE.
  430. END.
  431. IF ENTRY(1, ipStart, CHR(01)) = '3' THEN DO:
  432. F_Bez = ENTRY(2, ipStart, CHR(01)).
  433. LEAVE.
  434. END.
  435. F_Artnr = INTEGER(ENTRY(2, ipStart, CHR(01))) NO-ERROR.
  436. IF F_Artnr = ? THEN F_Artnr = 1.
  437. IF F_Artnr = 0 THEN F_Artnr = 1.
  438. LEAVE.
  439. END.
  440. SESSION:DATA-ENTRY-RETURN = TRUE.
  441. /* TRIGGERS ------------------------------------------------------ */
  442. ON 'CURSOR-DOWN':U OF F_Artnr IN FRAME {&FRAME-NAME},
  443. F_Suchbe IN FRAME {&FRAME-NAME},
  444. F_Bez IN FRAME {&FRAME-NAME}
  445. DO:
  446. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  447. RETURN NO-APPLY.
  448. END.
  449. /* ------------------------------------------------------------------ */
  450. {src/adm2/dialogmn.i}
  451. /* _UIB-CODE-BLOCK-END */
  452. &ANALYZE-RESUME
  453. /* ********************** Internal Procedures *********************** */
  454. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gArtikelauswahl _ADM-CREATE-OBJECTS
  455. PROCEDURE adm-create-objects :
  456. /*------------------------------------------------------------------------------
  457. Purpose: Create handles for all SmartObjects used in this procedure.
  458. After SmartObjects are initialized, then SmartLinks are added.
  459. Parameters: <none>
  460. ------------------------------------------------------------------------------*/
  461. END PROCEDURE.
  462. /* _UIB-CODE-BLOCK-END */
  463. &ANALYZE-RESUME
  464. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE changePage gArtikelauswahl
  465. PROCEDURE changePage :
  466. /*------------------------------------------------------------------------------
  467. Purpose: Super Override
  468. Parameters:
  469. Notes:
  470. ------------------------------------------------------------------------------*/
  471. /* Code placed here will execute PRIOR to standard behavior. */
  472. RUN SUPER.
  473. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  474. CASE AktSeite:
  475. WHEN 1 THEN DO:
  476. /* RUN addLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */
  477. /* RUN addLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */
  478. /* RUN ToolbarInit ( INPUT h_d-auftr ). */
  479. RUN ENTRY_CURSOR.
  480. END.
  481. WHEN 2 THEN DO:
  482. RUN ENTRY_CURSOR.
  483. END.
  484. END CASE.
  485. END PROCEDURE.
  486. /* _UIB-CODE-BLOCK-END */
  487. &ANALYZE-RESUME
  488. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gArtikelauswahl _DEFAULT-DISABLE
  489. PROCEDURE disable_UI :
  490. /*------------------------------------------------------------------------------
  491. Purpose: DISABLE the User Interface
  492. Parameters: <none>
  493. Notes: Here we clean-up the user-interface by deleting
  494. dynamic widgets we have created and/or hide
  495. frames. This procedure is usually called when
  496. we are ready to "clean-up" after running.
  497. ------------------------------------------------------------------------------*/
  498. /* Hide all frames. */
  499. HIDE FRAME gArtikelauswahl.
  500. END PROCEDURE.
  501. /* _UIB-CODE-BLOCK-END */
  502. &ANALYZE-RESUME
  503. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gArtikelauswahl
  504. PROCEDURE enableObject :
  505. /*------------------------------------------------------------------------------
  506. Purpose: Super Override
  507. Parameters:
  508. Notes:
  509. ------------------------------------------------------------------------------*/
  510. RUN SUPER.
  511. RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR.
  512. END PROCEDURE.
  513. /* _UIB-CODE-BLOCK-END */
  514. &ANALYZE-RESUME
  515. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gArtikelauswahl _DEFAULT-ENABLE
  516. PROCEDURE enable_UI :
  517. /*------------------------------------------------------------------------------
  518. Purpose: ENABLE the User Interface
  519. Parameters: <none>
  520. Notes: Here we display/view/enable the widgets in the
  521. user-interface. In addition, OPEN all queries
  522. associated with each FRAME and BROWSE.
  523. These statements here are based on the "Other
  524. Settings" section of the widget Property Sheets.
  525. ------------------------------------------------------------------------------*/
  526. DISPLAY F_Artnr F_Suchbe F_Bez
  527. WITH FRAME gArtikelauswahl.
  528. ENABLE Br_artikel F_Artnr F_Suchbe F_Bez RECT-38
  529. WITH FRAME gArtikelauswahl.
  530. VIEW FRAME gArtikelauswahl.
  531. {&OPEN-BROWSERS-IN-QUERY-gArtikelauswahl}
  532. END PROCEDURE.
  533. /* _UIB-CODE-BLOCK-END */
  534. &ANALYZE-RESUME
  535. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gArtikelauswahl
  536. PROCEDURE ENDE :
  537. /*------------------------------------------------------------------------------
  538. Purpose:
  539. Parameters: <none>
  540. Notes:
  541. ------------------------------------------------------------------------------*/
  542. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  543. IF AktSeite > 1 THEN DO:
  544. RUN selectPage ( INPUT 1 ).
  545. RETURN NO-APPLY.
  546. END.
  547. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ).
  548. APPLY 'GO' TO FRAME {&FRAME-NAME}.
  549. RETURN NO-APPLY.
  550. END PROCEDURE.
  551. /* _UIB-CODE-BLOCK-END */
  552. &ANALYZE-RESUME
  553. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_CURSOR gArtikelauswahl
  554. PROCEDURE ENTRY_CURSOR :
  555. /*------------------------------------------------------------------------------
  556. Purpose:
  557. Parameters: <none>
  558. Notes:
  559. ------------------------------------------------------------------------------*/
  560. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  561. CASE AktSeite:
  562. /* WHEN 1 THEN RUN applyEntry IN h_v-adresse ( INPUT ? ). */
  563. /* WHEN 2 THEN RUN applyEntry IN h_f-adrkomm ( INPUT ? ). */
  564. /* WHEN 3 THEN RUN applyEntry IN h_b-auftbb ( INPUT ? ). */
  565. /* WHEN 4 THEN RUN applyEntry IN h_b-aufdet ( INPUT ? ). */
  566. /* WHEN 5 THEN RUN applyEntry IN h_b-aufstreu ( INPUT ? ). */
  567. /* WHEN 6 THEN RUN applyEntry IN h_b-auffak ( INPUT ? ). */
  568. /* WHEN 7 THEN RUN applyEntry IN h_b-position ( INPUT ? ). */
  569. END CASE.
  570. RETURN NO-APPLY.
  571. END PROCEDURE.
  572. /* _UIB-CODE-BLOCK-END */
  573. &ANALYZE-RESUME
  574. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject gArtikelauswahl
  575. PROCEDURE exitObject :
  576. /*------------------------------------------------------------------------------
  577. Purpose: Super Override
  578. Parameters:
  579. Notes:
  580. ------------------------------------------------------------------------------*/
  581. RUN ENDE.
  582. RETURN NO-APPLY.
  583. END PROCEDURE.
  584. /* _UIB-CODE-BLOCK-END */
  585. &ANALYZE-RESUME
  586. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NEXTPAGE gArtikelauswahl
  587. PROCEDURE NEXTPAGE :
  588. /*------------------------------------------------------------------------------
  589. Purpose:
  590. Parameters: <none>
  591. Notes:
  592. ------------------------------------------------------------------------------*/
  593. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  594. IF AktSeite = MaxPage THEN AktSeite = 1.
  595. ELSE AktSeite = AktSeite + 1.
  596. RUN selectPage ( INPUT AktSeite ).
  597. END PROCEDURE.
  598. /* _UIB-CODE-BLOCK-END */
  599. &ANALYZE-RESUME
  600. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE OPENQUERY gArtikelauswahl
  601. PROCEDURE OPENQUERY :
  602. /*------------------------------------------------------------------------------
  603. Purpose:
  604. Parameters: <none>
  605. Notes:
  606. ------------------------------------------------------------------------------*/
  607. DEF VAR Artnr AS INT NO-UNDO.
  608. DEF VAR Such AS CHAR NO-UNDO.
  609. DO WITH FRAME {&FRAME-NAME}:
  610. ASSIGN {&List-6}.
  611. VSort = 1.
  612. IF F_Suchbe <> '' THEN VSort = 2.
  613. IF F_Bez <> '' THEN VSort = 3.
  614. END.
  615. CASE VSort:
  616. WHEN 1 THEN Artnr = F_Artnr.
  617. WHEN 2 THEN Inhalt = F_Suchbe.
  618. WHEN 3 THEN Inhalt = F_Bez.
  619. END CASE.
  620. IF VSort = 1 THEN DO:
  621. IF Artnr = 0 THEN Artnr = 1.
  622. DO WHILE Artnr < MinNr:
  623. Artnr = Artnr * 10.
  624. END.
  625. END.
  626. CASE VSort:
  627. WHEN 1 THEN DO:
  628. OPEN QUERY {&BROWSE-NAME}
  629. FOR EACH Artst USE-INDEX Artst-k1
  630. WHERE Artst.Firma = Firma
  631. AND Artst.Aktiv = TRUE
  632. AND Artst.Artnr >= Artnr
  633. AND (Artst.Ausverk < 9 OR
  634. Artst.Bestand > 0 ) NO-LOCK,
  635. FIRST ArtBez USE-INDEX ArtBez-k1
  636. WHERE ArtBez.Firma = Artst.Firma
  637. AND ArtBez.Artnr = Artst.Artnr
  638. AND ArtBez.Inhalt = Artst.Inhalt
  639. AND ArtBez.Jahr = Artst.Jahr NO-LOCK.
  640. END.
  641. WHEN 2 THEN DO:
  642. OPEN QUERY {&BROWSE-NAME}
  643. FOR EACH Artst USE-INDEX Artst-k2
  644. WHERE Artst.Firma = Firma
  645. AND Artst.Aktiv = TRUE
  646. AND Artst.Suchbe BEGINS Inhalt
  647. AND (Artst.Ausverk < 9 OR
  648. Artst.Bestand > 0 ) NO-LOCK,
  649. FIRST ArtBez USE-INDEX ArtBez-k1
  650. WHERE ArtBez.Firma = Artst.Firma
  651. AND ArtBez.Artnr = Artst.Artnr
  652. AND ArtBez.Inhalt = Artst.Inhalt
  653. AND ArtBez.Jahr = Artst.Jahr NO-LOCK.
  654. END.
  655. WHEN 3 THEN DO:
  656. OPEN QUERY {&BROWSE-NAME}
  657. FOR EACH Artst USE-INDEX Artst-k3
  658. WHERE Artst.Firma = Firma
  659. AND Artst.Aktiv = TRUE
  660. AND Artst.Bez BEGINS Inhalt
  661. AND (Artst.Ausverk < 9 OR
  662. Artst.Bestand > 0 ) NO-LOCK,
  663. FIRST ArtBez USE-INDEX ArtBez-k1
  664. WHERE ArtBez.Firma = Artst.Firma
  665. AND ArtBez.Artnr = Artst.Artnr
  666. AND ArtBez.Inhalt = Artst.Inhalt
  667. AND ArtBez.Jahr = Artst.Jahr NO-LOCK.
  668. END.
  669. END CASE.
  670. END PROCEDURE.
  671. /* _UIB-CODE-BLOCK-END */
  672. &ANALYZE-RESUME
  673. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PREVPAGE gArtikelauswahl
  674. PROCEDURE PREVPAGE :
  675. /*------------------------------------------------------------------------------
  676. Purpose:
  677. Parameters: <none>
  678. Notes:
  679. ------------------------------------------------------------------------------*/
  680. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  681. IF AktSeite = 1 THEN AktSeite = MaxPage.
  682. ELSE AktSeite = AktSeite - 1.
  683. RUN selectPage ( INPUT AktSeite ).
  684. END PROCEDURE.
  685. /* _UIB-CODE-BLOCK-END */
  686. &ANALYZE-RESUME
  687. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE selectPage gArtikelauswahl
  688. PROCEDURE selectPage :
  689. /*------------------------------------------------------------------------------
  690. Purpose: Super Override
  691. Parameters:
  692. Notes:
  693. ------------------------------------------------------------------------------*/
  694. DEF INPUT PARAMETER piPageNum AS INT NO-UNDO.
  695. DEF VAR FMutFlag AS LOG NO-UNDO.
  696. DEF VAR MutProg AS CHAR NO-UNDO.
  697. FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
  698. DO WHILE TRUE:
  699. IF NOT FMutFlag THEN LEAVE.
  700. MutProg = DYNAMIC-FUNCTION('GETMUTPROG':U).
  701. IF MutProg <> THIS-PROCEDURE:FILE-NAME THEN LEAVE.
  702. RETURN NO-APPLY.
  703. END.
  704. CASE piPageNum:
  705. END CASE.
  706. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  707. CASE AktSeite:
  708. WHEN 1 THEN DO:
  709. /* RUN removeLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */
  710. /* RUN removeLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */
  711. END.
  712. END CASE.
  713. RUN SUPER( INPUT piPageNum).
  714. END PROCEDURE.
  715. /* _UIB-CODE-BLOCK-END */
  716. &ANALYZE-RESUME
  717. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TOOLBAR gArtikelauswahl
  718. PROCEDURE TOOLBAR :
  719. /*------------------------------------------------------------------------------
  720. Purpose:
  721. Parameters: <none>
  722. Notes:
  723. ------------------------------------------------------------------------------*/
  724. DEF INPUT PARAMETER pcAction AS CHAR NO-UNDO.
  725. /*
  726. RUN TOOLBAR IN h_dyntoolbar ( INPUT pcAction ).
  727. */
  728. END PROCEDURE.
  729. /* _UIB-CODE-BLOCK-END */
  730. &ANALYZE-RESUME
  731. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE viewObject gArtikelauswahl
  732. PROCEDURE viewObject :
  733. /*------------------------------------------------------------------------------
  734. Purpose: Super Override
  735. Parameters:
  736. Notes:
  737. ------------------------------------------------------------------------------*/
  738. RUN SUPER.
  739. RUN OPENQUERY.
  740. DO WITH FRAME {&FRAME-NAME}:
  741. F_Artnr:SCREEN-VALUE = '0'.
  742. F_Suchbe:SCREEN-VALUE = ''.
  743. F_Bez:SCREEN-VALUE = ''.
  744. END.
  745. END PROCEDURE.
  746. /* _UIB-CODE-BLOCK-END */
  747. &ANALYZE-RESUME