b-artbw-auftrag.w 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  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 bTableWin
  8. /*------------------------------------------------------------------------
  9. File: adm2\src\browser.w
  10. Description: SmartDataBrowser Object
  11. Input Parameters:
  12. <none>
  13. Output Parameters:
  14. <none>
  15. ------------------------------------------------------------------------*/
  16. /* This .W file was created with the Progress AppBuilder. */
  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. { incl/tmpbrowser.i }
  28. DEFINE VARIABLE cSort AS CHARACTER NO-UNDO.
  29. DEFINE VARIABLE cFilter AS CHARACTER NO-UNDO.
  30. DEFINE VARIABLE lSetFilter AS LOG INIT FALSE NO-UNDO.
  31. DEFINE VARIABLE dDatum AS DATE NO-UNDO.
  32. DEFINE VARIABLE iArtnr AS INTEGER INIT 0 NO-UNDO.
  33. DEFINE VARIABLE doldDatum AS DATE NO-UNDO.
  34. DEFINE VARIABLE ioldArtnr AS INTEGER INIT 0 NO-UNDO.
  35. DEFINE VARIABLE iKnr AS INTEGER NO-UNDO.
  36. DEFINE VARIABLE lEndError AS LOG INIT FALSE.
  37. {src/adm2/widgetprto.i}
  38. /* _UIB-CODE-BLOCK-END */
  39. &ANALYZE-RESUME
  40. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  41. /* ******************** Preprocessor Definitions ******************** */
  42. &Scoped-define PROCEDURE-TYPE SmartDataBrowser
  43. &Scoped-define DB-AWARE no
  44. &Scoped-define ADM-SUPPORTED-LINKS TableIO-Target,Data-Target,Update-Source
  45. /* Include file with RowObject temp-table definition */
  46. &Scoped-define DATA-FIELD-DEFS "d-artbw-auftrag.i"
  47. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  48. &Scoped-define FRAME-NAME F-Main
  49. &Scoped-define BROWSE-NAME br_table
  50. /* Internal Tables (found by Frame, Query & Browse Queries) */
  51. &Scoped-define INTERNAL-TABLES rowObject
  52. /* Definitions for BROWSE br_table */
  53. &Scoped-define FIELDS-IN-QUERY-br_table rowObject.Artnr rowObject.Inhalt ~
  54. rowObject.Jahr rowObject.Bez1 rowObject.Bez2 rowObject.Datum ~
  55. rowObject.Menge rowObject.Preis rowObject.Bru_Betr rowObject.Rab_Betr ~
  56. rowObject.Netto rowObject.DokNr rowObject.KGebinde rowObject.VGebinde ~
  57. rowObject.GGebinde rowObject.Lager
  58. &Scoped-define ENABLED-FIELDS-IN-QUERY-br_table
  59. &Scoped-define QUERY-STRING-br_table FOR EACH rowObject NO-LOCK INDEXED-REPOSITION
  60. &Scoped-define OPEN-QUERY-br_table OPEN QUERY br_table FOR EACH rowObject NO-LOCK INDEXED-REPOSITION.
  61. &Scoped-define TABLES-IN-QUERY-br_table rowObject
  62. &Scoped-define FIRST-TABLE-IN-QUERY-br_table rowObject
  63. /* Definitions for FRAME F-Main */
  64. /* Standard List Definitions */
  65. &Scoped-Define ENABLED-OBJECTS br_table F_Artnr F_Kunde F_Datum RECT-1
  66. &Scoped-Define DISPLAYED-OBJECTS F_Artnr F_Kunde F_Datum
  67. /* Custom List Definitions */
  68. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  69. &Scoped-define List-6 F_Artnr F_Datum
  70. /* _UIB-PREPROCESSOR-BLOCK-END */
  71. &ANALYZE-RESUME
  72. /* ************************ Function Prototypes ********************** */
  73. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD setRowFarbe bTableWin
  74. FUNCTION setRowFarbe RETURNS LOGICAL
  75. ( ipFarbeNormal AS INTEGER, ipFarbeSort AS INTEGER ) FORWARD.
  76. /* _UIB-CODE-BLOCK-END */
  77. &ANALYZE-RESUME
  78. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD setZeilenfarbe bTableWin
  79. FUNCTION setZeilenfarbe RETURNS LOGICAL
  80. ( ipFarbe AS INTEGER ) FORWARD.
  81. /* _UIB-CODE-BLOCK-END */
  82. &ANALYZE-RESUME
  83. /* *********************** Control Definitions ********************** */
  84. /* Definitions of the field level widgets */
  85. DEFINE VARIABLE F_Artnr AS INTEGER FORMAT "999999":U INITIAL 0
  86. LABEL "Artnr"
  87. VIEW-AS FILL-IN NATIVE
  88. SIZE 11 BY 1
  89. BGCOLOR 15 NO-UNDO.
  90. DEFINE VARIABLE F_Datum AS DATE FORMAT "99.99.9999":U
  91. LABEL "ab Datum"
  92. VIEW-AS FILL-IN NATIVE
  93. SIZE 18 BY 1
  94. BGCOLOR 15 NO-UNDO.
  95. DEFINE VARIABLE F_Kunde AS CHARACTER FORMAT "X(256)":U
  96. LABEL "Kunde"
  97. VIEW-AS FILL-IN NATIVE
  98. SIZE 142.6 BY 1
  99. BGCOLOR 15 NO-UNDO.
  100. DEFINE RECTANGLE RECT-1
  101. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  102. SIZE 184 BY 25.24.
  103. /* Query definitions */
  104. &ANALYZE-SUSPEND
  105. DEFINE TEMP-TABLE RowObject NO-UNDO
  106. {{&DATA-FIELD-DEFS}}
  107. {src/adm2/robjflds.i}.
  108. DEFINE QUERY br_table FOR
  109. rowObject SCROLLING.
  110. &ANALYZE-RESUME
  111. /* Browse definitions */
  112. DEFINE BROWSE br_table
  113. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS br_table bTableWin _STRUCTURED
  114. QUERY br_table NO-LOCK DISPLAY
  115. rowObject.Artnr FORMAT "999999":U
  116. rowObject.Inhalt FORMAT "9999":U
  117. rowObject.Jahr FORMAT "9999":U
  118. rowObject.Bez1 FORMAT "x(30)":U
  119. rowObject.Bez2 FORMAT "x(30)":U
  120. rowObject.Datum FORMAT "99.99.9999":U
  121. rowObject.Menge FORMAT "zzzz9.99-":U
  122. rowObject.Preis FORMAT "zzz,zz9.999":U
  123. rowObject.Bru_Betr FORMAT "zzz,zzz,zz9.999-":U WIDTH 12
  124. rowObject.Rab_Betr FORMAT "zzz,zz9.9999-":U WIDTH 9
  125. rowObject.Netto FORMAT "1/0":U
  126. rowObject.DokNr FORMAT "x(12)":U
  127. rowObject.KGebinde FORMAT "x(12)":U
  128. rowObject.VGebinde FORMAT "x(12)":U
  129. rowObject.GGebinde FORMAT "x(12)":U
  130. rowObject.Lager FORMAT "99":U
  131. /* _UIB-CODE-BLOCK-END */
  132. &ANALYZE-RESUME
  133. WITH NO-ASSIGN NO-AUTO-VALIDATE NO-ROW-MARKERS SEPARATORS SIZE 182 BY 21.43 TOOLTIP "ALT-F = Artikelsuchen".
  134. /* ************************ Frame Definitions *********************** */
  135. DEFINE FRAME F-Main
  136. br_table AT ROW 4.52 COL 3 WIDGET-ID 200
  137. F_Artnr AT ROW 3 COL 18 COLON-ALIGNED WIDGET-ID 8
  138. F_Kunde AT ROW 1.52 COL 18 COLON-ALIGNED WIDGET-ID 4 NO-TAB-STOP
  139. F_Datum AT ROW 3 COL 142 COLON-ALIGNED WIDGET-ID 6
  140. RECT-1 AT ROW 1.24 COL 2 WIDGET-ID 2
  141. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  142. SIDE-LABELS NO-UNDERLINE THREE-D
  143. AT COL 1 ROW 1 SCROLLABLE WIDGET-ID 100.
  144. /* *********************** Procedure Settings ************************ */
  145. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  146. /* Settings for THIS-PROCEDURE
  147. Type: SmartDataBrowser
  148. Data Source: "d-artbw-auftrag.w"
  149. Allow: Basic,Browse
  150. Frames: 1
  151. Add Fields to: Neither
  152. Other Settings: PERSISTENT-ONLY COMPILE
  153. */
  154. /* This procedure should always be RUN PERSISTENT. Report the error, */
  155. /* then cleanup and return. */
  156. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  157. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  158. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  159. RETURN.
  160. END.
  161. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  162. /* ************************* Create Window ************************** */
  163. &ANALYZE-SUSPEND _CREATE-WINDOW
  164. /* DESIGN Window definition (used by the UIB)
  165. CREATE WINDOW bTableWin ASSIGN
  166. HEIGHT = 26.19
  167. WIDTH = 186.
  168. /* END WINDOW DEFINITION */
  169. */
  170. &ANALYZE-RESUME
  171. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB bTableWin
  172. /* ************************* Included-Libraries *********************** */
  173. {src/adm2/browser.i}
  174. /* _UIB-CODE-BLOCK-END */
  175. &ANALYZE-RESUME
  176. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  177. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  178. /* SETTINGS FOR WINDOW bTableWin
  179. NOT-VISIBLE,,RUN-PERSISTENT */
  180. /* SETTINGS FOR FRAME F-Main
  181. NOT-VISIBLE FRAME-NAME Size-to-Fit Custom */
  182. /* BROWSE-TAB br_table 1 F-Main */
  183. ASSIGN
  184. FRAME F-Main:SCROLLABLE = FALSE
  185. FRAME F-Main:HIDDEN = TRUE.
  186. /* SETTINGS FOR FILL-IN F_Artnr IN FRAME F-Main
  187. 6 */
  188. /* SETTINGS FOR FILL-IN F_Datum IN FRAME F-Main
  189. 6 */
  190. ASSIGN
  191. F_Kunde:READ-ONLY IN FRAME F-Main = TRUE.
  192. /* _RUN-TIME-ATTRIBUTES-END */
  193. &ANALYZE-RESUME
  194. /* Setting information for Queries and Browse Widgets fields */
  195. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE br_table
  196. /* Query rebuild information for BROWSE br_table
  197. _TblList = "rowObject"
  198. _Options = "NO-LOCK INDEXED-REPOSITION"
  199. _FldNameList[1] > _<SDO>.rowObject.Artnr
  200. "rowObject.Artnr" ? ? "integer" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  201. _FldNameList[2] = _<SDO>.rowObject.Inhalt
  202. _FldNameList[3] = _<SDO>.rowObject.Jahr
  203. _FldNameList[4] > _<SDO>.rowObject.Bez1
  204. "rowObject.Bez1" ? ? "character" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  205. _FldNameList[5] > _<SDO>.rowObject.Bez2
  206. "rowObject.Bez2" ? ? "character" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  207. _FldNameList[6] = _<SDO>.rowObject.Datum
  208. _FldNameList[7] = _<SDO>.rowObject.Menge
  209. _FldNameList[8] = _<SDO>.rowObject.Preis
  210. _FldNameList[9] > _<SDO>.rowObject.Bru_Betr
  211. "rowObject.Bru_Betr" ? ? "decimal" ? ? ? ? ? ? no "?" no no "12" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  212. _FldNameList[10] > _<SDO>.rowObject.Rab_Betr
  213. "rowObject.Rab_Betr" ? ? "decimal" ? ? ? ? ? ? no "?" no no "9" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  214. _FldNameList[11] = _<SDO>.rowObject.Netto
  215. _FldNameList[12] = _<SDO>.rowObject.DokNr
  216. _FldNameList[13] = _<SDO>.rowObject.KGebinde
  217. _FldNameList[14] = _<SDO>.rowObject.VGebinde
  218. _FldNameList[15] = _<SDO>.rowObject.GGebinde
  219. _FldNameList[16] = _<SDO>.rowObject.Lager
  220. _Query is NOT OPENED
  221. */ /* BROWSE br_table */
  222. &ANALYZE-RESUME
  223. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  224. /* Query rebuild information for FRAME F-Main
  225. _Options = "NO-LOCK"
  226. _Query is NOT OPENED
  227. */ /* FRAME F-Main */
  228. &ANALYZE-RESUME
  229. /* ************************ Control Triggers ************************ */
  230. &Scoped-define BROWSE-NAME br_table
  231. &Scoped-define SELF-NAME br_table
  232. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  233. ON ALT-F OF br_table IN FRAME F-Main
  234. DO:
  235. DEFINE VARIABLE iRecid AS RECID NO-UNDO.
  236. DEFINE VARIABLE cRowid AS CHARACTER NO-UNDO.
  237. DEFINE VARIABLE cSuch AS CHARACTER NO-UNDO.
  238. DEFINE BUFFER bArtst FOR Artst.
  239. DEFINE BUFFER bArtbw FOR Artbw.
  240. iRecid = ?.
  241. cSuch = SUBSTITUTE('VERKAUF,&1,&2', iKnr, doldDatum).
  242. RUN 'g-suchen-artikel.w':U ( cSuch, OUTPUT iRecid ) NO-ERROR.
  243. IF iRecid = ? OR
  244. iRecid = 0 THEN
  245. DO:
  246. APPLY 'U1'.
  247. RETURN NO-APPLY.
  248. END.
  249. FIND bArtst NO-LOCK WHERE RECID(bArtst) = iRecid.
  250. FIND FIRST bArtbw NO-LOCK USE-INDEX Artbw-k11
  251. WHERE bArtbw.Firma = D1Firma
  252. AND bArtbw.Knr = iKnr
  253. AND bArtbw.Artnr = bArtst.Artnr
  254. AND bArtbw.Inhalt = bArtst.Inhalt
  255. AND bArtbw.Jahr = bArtst.Jahr NO-ERROR.
  256. IF NOT AVAILABLE bArtbw THEN
  257. DO:
  258. MESSAGE 'Kunde hat diesen Artikel noch nie bezogen'
  259. VIEW-AS ALERT-BOX.
  260. RELEASE bArtst.
  261. APPLY 'U1'.
  262. RETURN NO-APPLY.
  263. END.
  264. cRowid = STRING(ROWID(bArtbw)).
  265. RELEASE bArtst.
  266. RELEASE bArtbw.
  267. DYNAMIC-FUNCTION('fetchRowIdent' IN hDaten, cRowid, ? ).
  268. RETURN NO-APPLY.
  269. END.
  270. /* _UIB-CODE-BLOCK-END */
  271. &ANALYZE-RESUME
  272. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  273. ON CTRL-END OF br_table IN FRAME F-Main
  274. DO:
  275. APPLY "END":U TO BROWSE {&BROWSE-NAME}.
  276. END.
  277. /* _UIB-CODE-BLOCK-END */
  278. &ANALYZE-RESUME
  279. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  280. ON CTRL-HOME OF br_table IN FRAME F-Main
  281. DO:
  282. APPLY "HOME":U TO BROWSE {&BROWSE-NAME}.
  283. END.
  284. /* _UIB-CODE-BLOCK-END */
  285. &ANALYZE-RESUME
  286. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  287. ON DEFAULT-ACTION OF br_table IN FRAME F-Main
  288. DO:
  289. {src/adm2/brsdefault.i}
  290. END.
  291. /* _UIB-CODE-BLOCK-END */
  292. &ANALYZE-RESUME
  293. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  294. ON END OF br_table IN FRAME F-Main
  295. DO:
  296. {src/adm2/brsend.i}
  297. END.
  298. /* _UIB-CODE-BLOCK-END */
  299. &ANALYZE-RESUME
  300. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  301. ON END-ERROR OF br_table IN FRAME F-Main
  302. DO:
  303. APPLY 'ENTRY' TO F_Artnr.
  304. RETURN NO-APPLY.
  305. END.
  306. /* _UIB-CODE-BLOCK-END */
  307. &ANALYZE-RESUME
  308. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  309. ON HOME OF br_table IN FRAME F-Main
  310. DO:
  311. {src/adm2/brshome.i}
  312. END.
  313. /* _UIB-CODE-BLOCK-END */
  314. &ANALYZE-RESUME
  315. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  316. ON LEFT-MOUSE-CLICK OF br_table IN FRAME F-Main
  317. DO:
  318. APPLY 'ENTRY' TO {&BROWSE-NAME}.
  319. END.
  320. /* _UIB-CODE-BLOCK-END */
  321. &ANALYZE-RESUME
  322. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  323. ON LEFT-MOUSE-DBLCLICK OF br_table IN FRAME F-Main
  324. DO:
  325. DEFINE VARIABLE iRecid AS RECID NO-UNDO.
  326. DEFINE BUFFER bArtbw FOR Artbw.
  327. IF lSetFilter THEN cFilter = ''.
  328. ELSE
  329. DO:
  330. iRecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten) NO-ERROR.
  331. IF iRecid = ? OR
  332. iRecid = 0 THEN RETURN NO-APPLY.
  333. FIND bArtbw NO-LOCK WHERE RECID(bArtbw) = iRecid NO-ERROR.
  334. IF NOT AVAILABLE bArtbw THEN RETURN NO-APPLY.
  335. cFilter = STRING(Artbw.Artnr).
  336. END.
  337. lSetFilter = NOT lSetFilter.
  338. RUN SET_FILTER IN hDaten ( 'Artnr', cFilter ) NO-ERROR.
  339. RETURN NO-APPLY.
  340. END.
  341. /* _UIB-CODE-BLOCK-END */
  342. &ANALYZE-RESUME
  343. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  344. ON OFF-END OF br_table IN FRAME F-Main
  345. DO:
  346. {src/adm2/brsoffnd.i}
  347. END.
  348. /* _UIB-CODE-BLOCK-END */
  349. &ANALYZE-RESUME
  350. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  351. ON OFF-HOME OF br_table IN FRAME F-Main
  352. DO:
  353. {src/adm2/brsoffhm.i}
  354. END.
  355. /* _UIB-CODE-BLOCK-END */
  356. &ANALYZE-RESUME
  357. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  358. ON RETURN OF br_table IN FRAME F-Main
  359. DO:
  360. DEFINE VARIABLE iRecid AS RECID NO-UNDO.
  361. DEFINE BUFFER bArtbw FOR Artbw.
  362. iRecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten) NO-ERROR.
  363. IF iRecid <> ? AND
  364. iRecid <> 0 THEN
  365. DO:
  366. FIND bArtbw NO-LOCK WHERE RECID(bArtbw) = iRecid.
  367. iArtnr = bArtbw.Artnr.
  368. ioldArtnr = iArtnr.
  369. RELEASE bArtbw.
  370. RUN SET_START_DATEN IN hDaten ( iArtnr, dDatum ) NO-ERROR.
  371. END.
  372. APPLY 'U1'.
  373. RETURN NO-APPLY.
  374. END.
  375. /* _UIB-CODE-BLOCK-END */
  376. &ANALYZE-RESUME
  377. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  378. ON ROW-DISPLAY OF br_table IN FRAME F-Main
  379. DO:
  380. DEFINE VARIABLE iFarbe AS CHARACTER NO-UNDO.
  381. cSort = DYNAMIC-FUNCTION('getSortFeld':U IN hDaten ) NO-ERROR.
  382. DYNAMIC-FUNCTION('setRowFarbe':U, 15, 8) NO-ERROR.
  383. END.
  384. /* _UIB-CODE-BLOCK-END */
  385. &ANALYZE-RESUME
  386. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  387. ON ROW-ENTRY OF br_table IN FRAME F-Main
  388. DO:
  389. {src/adm2/brsentry.i}
  390. END.
  391. /* _UIB-CODE-BLOCK-END */
  392. &ANALYZE-RESUME
  393. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  394. ON ROW-LEAVE OF br_table IN FRAME F-Main
  395. DO:
  396. {src/adm2/brsleave.i}
  397. END.
  398. /* _UIB-CODE-BLOCK-END */
  399. &ANALYZE-RESUME
  400. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  401. ON SCROLL-NOTIFY OF br_table IN FRAME F-Main
  402. DO:
  403. {src/adm2/brsscrol.i}
  404. END.
  405. /* _UIB-CODE-BLOCK-END */
  406. &ANALYZE-RESUME
  407. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  408. ON START-SEARCH OF br_table IN FRAME F-Main
  409. DO:
  410. { incl/brwstartsearch.i }
  411. END.
  412. /* _UIB-CODE-BLOCK-END */
  413. &ANALYZE-RESUME
  414. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  415. ON VALUE-CHANGED OF br_table IN FRAME F-Main
  416. DO:
  417. {src/adm2/brschnge.i}
  418. END.
  419. /* _UIB-CODE-BLOCK-END */
  420. &ANALYZE-RESUME
  421. &Scoped-define SELF-NAME F_Artnr
  422. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Artnr bTableWin
  423. ON ENTRY OF F_Artnr IN FRAME F-Main /* Artnr */
  424. DO:
  425. SELF:SCREEN-VALUE = STRING(iArtnr).
  426. END.
  427. /* _UIB-CODE-BLOCK-END */
  428. &ANALYZE-RESUME
  429. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Artnr bTableWin
  430. ON LEAVE OF F_Artnr IN FRAME F-Main /* Artnr */
  431. DO:
  432. iArtnr = INTEGER(SELF:SCREEN-VALUE) NO-ERROR.
  433. IF iArtnr = ioldArtnr THEN RETURN.
  434. iOldArtnr = iArtnr.
  435. RUN SET_START_DATEN IN hDaten ( iArtnr, dDatum ) NO-ERROR.
  436. END.
  437. /* _UIB-CODE-BLOCK-END */
  438. &ANALYZE-RESUME
  439. &Scoped-define SELF-NAME F_Datum
  440. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Datum bTableWin
  441. ON END-ERROR OF F_Datum IN FRAME F-Main /* ab Datum */
  442. DO:
  443. lEndError = TRUE.
  444. APPLY 'ENTRY' TO F_Artnr.
  445. RETURN NO-APPLY.
  446. END.
  447. /* _UIB-CODE-BLOCK-END */
  448. &ANALYZE-RESUME
  449. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Datum bTableWin
  450. ON LEAVE OF F_Datum IN FRAME F-Main /* ab Datum */
  451. DO:
  452. IF lEndError THEN
  453. DO:
  454. lEndError = FALSE.
  455. RETURN.
  456. END.
  457. dDatum = DATE(SELF:SCREEN-VALUE) NO-ERROR.
  458. IF ERROR-STATUS:ERROR OR
  459. dDatum = ? THEN dDatum = TODAY - 365.
  460. IF dDatum = dolddatum THEN RETURN.
  461. DYNAMIC-FUNCTION('setBenutzerFWDatum':U,
  462. 'DATUM', ENTRY(1, THIS-PROCEDURE:NAME, '.'), 'AbDatum', 1, dDatum) NO-ERROR.
  463. RUN SET_START_DATEN IN hDaten ( iArtnr, dDatum ) NO-ERROR.
  464. doldDatum = dDatum.
  465. APPLY 'U1'.
  466. RETURN NO-APPLY.
  467. END.
  468. /* _UIB-CODE-BLOCK-END */
  469. &ANALYZE-RESUME
  470. &UNDEFINE SELF-NAME
  471. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK bTableWin
  472. /* *************************** Main Block *************************** */
  473. { incl/brwmainblock.i }
  474. { incl/brwinternproc.i }
  475. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  476. RUN initializeObject.
  477. &ENDIF
  478. /* _UIB-CODE-BLOCK-END */
  479. &ANALYZE-RESUME
  480. /* ********************** Internal Procedures *********************** */
  481. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE destroyObject bTableWin
  482. PROCEDURE destroyObject :
  483. /*------------------------------------------------------------------------------
  484. Purpose: Super Override
  485. Parameters:
  486. Notes:
  487. ------------------------------------------------------------------------------*/
  488. DEFINE VARIABLE hBrowser AS HANDLE NO-UNDO.
  489. hBrowser = {&BROWSE-NAME}:HANDLE IN FRAME {&FRAME-NAME}.
  490. DYNAMIC-FUNCTION('setBrowserDaten':U, INPUT hBrowser,
  491. INPUT Sektion ) NO-ERROR.
  492. RUN SUPER.
  493. /* Code placed here will execute AFTER standard behavior. */
  494. END PROCEDURE.
  495. /* _UIB-CODE-BLOCK-END */
  496. &ANALYZE-RESUME
  497. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI bTableWin _DEFAULT-DISABLE
  498. PROCEDURE disable_UI :
  499. /*------------------------------------------------------------------------------
  500. Purpose: DISABLE the User Interface
  501. Parameters: <none>
  502. Notes: Here we clean-up the user-interface by deleting
  503. dynamic widgets we have created and/or hide
  504. frames. This procedure is usually called when
  505. we are ready to "clean-up" after running.
  506. ------------------------------------------------------------------------------*/
  507. /* Hide all frames. */
  508. HIDE FRAME F-Main.
  509. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  510. END PROCEDURE.
  511. /* _UIB-CODE-BLOCK-END */
  512. &ANALYZE-RESUME
  513. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject bTableWin
  514. PROCEDURE enableObject :
  515. /*------------------------------------------------------------------------------
  516. Purpose: Super Override
  517. Parameters:
  518. Notes:
  519. ------------------------------------------------------------------------------*/
  520. hDaten = DYNAMIC-FUNCTION('getDataSource':U) NO-ERROR.
  521. dDatum = DYNAMIC-FUNCTION('getBenutzerFWDatum':U,
  522. 'DATUM', ENTRY(1, THIS-PROCEDURE:NAME, '.'), 'AbDatum', 1) NO-ERROR.
  523. IF dDatum = ? THEN
  524. DO:
  525. dDatum = TODAY - 365.
  526. DYNAMIC-FUNCTION('setBenutzerFWDatum':U,
  527. 'DATUM', ENTRY(1, THIS-PROCEDURE:NAME, '.'), 'AbDatum', 1, dDatum) NO-ERROR.
  528. END.
  529. doldDatum = dDatum.
  530. RUN SET_START_DATEN IN hDaten ( iArtnr, dDatum ) NO-ERROR.
  531. F_Artnr = iArtnr.
  532. F_Datum = dDatum.
  533. RUN SUPER.
  534. /* Code placed here will execute AFTER standard behavior. */
  535. END PROCEDURE.
  536. /* _UIB-CODE-BLOCK-END */
  537. &ANALYZE-RESUME
  538. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_BROWSE bTableWin
  539. PROCEDURE ENTRY_BROWSE :
  540. /*------------------------------------------------------------------------------
  541. Purpose:
  542. Parameters: <none>
  543. Notes:
  544. ------------------------------------------------------------------------------*/
  545. APPLY 'ENTRY' TO {&BROWSE-NAME} IN FRAME {&FRAME-NAME}.
  546. RETURN NO-APPLY.
  547. END PROCEDURE.
  548. /* _UIB-CODE-BLOCK-END */
  549. &ANALYZE-RESUME
  550. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject bTableWin
  551. PROCEDURE initializeObject :
  552. /*------------------------------------------------------------------------------
  553. Purpose: Super Override
  554. Parameters:
  555. Notes:
  556. ------------------------------------------------------------------------------*/
  557. DEFINE VARIABLE iRecid AS RECID NO-UNDO.
  558. { incl/brwinitialize.i }
  559. IF VALID-HANDLE ( hDaten ) THEN
  560. DO:
  561. iRecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten ).
  562. IF iRecid = ? OR
  563. iRecid = 0 THEN RETURN.
  564. FIND Artbw NO-LOCK WHERE RECID(Artbw) = iRecid NO-ERROR.
  565. FIND Adresse NO-LOCK
  566. WHERE Adresse.Firma = AdFirma
  567. AND Adresse.Knr = Artbw.Knr NO-ERROR.
  568. F_Kunde:SCREEN-VALUE IN FRAME {&FRAME-NAME} = STRING(Adresse.Knr,'999999')
  569. + ' / '
  570. + Adresse.Anzeig_Br.
  571. END.
  572. APPLY 'VALUE-CHANGED':U TO hItem_sort.
  573. END PROCEDURE.
  574. /* _UIB-CODE-BLOCK-END */
  575. &ANALYZE-RESUME
  576. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE viewObject bTableWin
  577. PROCEDURE viewObject :
  578. /*------------------------------------------------------------------------------
  579. Purpose: Super Override
  580. Parameters:
  581. Notes:
  582. ------------------------------------------------------------------------------*/
  583. DEFINE VARIABLE iRecid AS RECID NO-UNDO.
  584. DEFINE VARIABLE iAufnr AS INTEGER NO-UNDO.
  585. DEFINE BUFFER bAufko FOR Aufko.
  586. RUN SUPER.
  587. IF NOT VALID-HANDLE ( hDaten ) THEN
  588. DO:
  589. hDaten = DYNAMIC-FUNCTION('getDataSource':U) NO-ERROR.
  590. END.
  591. PUBLISH 'GET_CURRENT_AUFKO' ( OUTPUT iRecid, OUTPUT iAufnr ).
  592. IF iAufnr = ? OR
  593. iAufnr = 0 THEN RETURN NO-APPLY.
  594. FIND bAufko NO-LOCK WHERE RECID(bAufko) = iRecid NO-ERROR.
  595. iKnr = bAufko.Knr.
  596. iArtnr = 0.
  597. ioldArtnr = 0.
  598. FIND Adresse NO-LOCK
  599. WHERE Adresse.Firma = AdFirma
  600. AND Adresse.Knr = bAufko.Knr NO-ERROR.
  601. F_Kunde:SCREEN-VALUE IN FRAME {&FRAME-NAME} = STRING(Adresse.Knr,'999999')
  602. + ' / '
  603. + Adresse.Anzeig_Br.
  604. F_Artnr:SCREEN-VALUE IN FRAME {&FRAME-NAME} = STRING(iArtnr,'999999').
  605. RUN SET_START_DATEN IN hDaten ( iArtnr, dDatum ) NO-ERROR.
  606. RELEASE bAufko.
  607. RELEASE Adresse.
  608. END PROCEDURE.
  609. /* _UIB-CODE-BLOCK-END */
  610. &ANALYZE-RESUME
  611. /* ************************ Function Implementations ***************** */
  612. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION setRowFarbe bTableWin
  613. FUNCTION setRowFarbe RETURNS LOGICAL
  614. ( ipFarbeNormal AS INTEGER, ipFarbeSort AS INTEGER ) :
  615. /*------------------------------------------------------------------------------
  616. Purpose:
  617. Notes:
  618. ------------------------------------------------------------------------------*/
  619. DEFINE VARIABLE iFarbe AS INTEGER NO-UNDO.
  620. DO WITH FRAME {&FRAME-NAME}:
  621. FOR EACH tBrowser WHERE VALID-HANDLE(tBrowser.hCol)
  622. AND tBrowser.fVisible NO-LOCK:
  623. IF tBrowser.Feld = cSort THEN iFarbe = ipFarbeSort.
  624. ELSE iFarbe = ipFArbeNormal.
  625. tBrowser.hCol:BGCOLOR = iFarbe.
  626. END.
  627. END.
  628. RETURN TRUE.
  629. END FUNCTION.
  630. /* _UIB-CODE-BLOCK-END */
  631. &ANALYZE-RESUME
  632. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION setZeilenfarbe bTableWin
  633. FUNCTION setZeilenfarbe RETURNS LOGICAL
  634. ( ipFarbe AS INTEGER ) :
  635. /*------------------------------------------------------------------------------
  636. Purpose:
  637. Notes:
  638. ------------------------------------------------------------------------------*/
  639. DO WITH FRAME {&FRAME-NAME}:
  640. FOR EACH TBrowser WHERE VALID-HANDLE(TBrowser.hCol)
  641. AND TBrowser.fVisible NO-LOCK:
  642. TBrowser.hCol:BGCOLOR = ipFarbe.
  643. END.
  644. END.
  645. RETURN TRUE.
  646. END FUNCTION.
  647. /* _UIB-CODE-BLOCK-END */
  648. &ANALYZE-RESUME