d-besko.w 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752
  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. {adecomm/appserv.i}
  8. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS dTables
  9. /*------------------------------------------------------------------------
  10. File:
  11. Description: from DATA.W - Template For SmartData objects in the ADM
  12. Input Parameters:
  13. <none>
  14. Output Parameters:
  15. <none>
  16. Modified: February 24, 1999
  17. ------------------------------------------------------------------------*/
  18. /* This .W file was created with the Progress AppBuilder. */
  19. /*----------------------------------------------------------------------*/
  20. /* Create an unnamed pool to store all the widgets created
  21. by this procedure. This is a good default which assures
  22. that this procedure's triggers and internal procedures
  23. will execute in this procedure's storage, and that proper
  24. cleanup will occur on deletion of the procedure. */
  25. CREATE WIDGET-POOL.
  26. /* *************************** Definitions ************************** */
  27. /* Parameters Definitions --- */
  28. /* Local Variable Definitions --- */
  29. &SCOPED-DEFINE Tabelle Besko
  30. &SCOPED-DEFINE TabWhere USE-INDEX Besko-k1 ~
  31. WHERE {&Tabelle}.Firma = tRowObject.Firma ~
  32. and {&Tabelle}.Besnr = tRowObject.Besnr
  33. { incl/datdefinition.i }
  34. DEFINE VARIABLE iStatus AS INTEGER NO-UNDO.
  35. DEFINE VARIABLE iLager AS INTEGER NO-UNDO.
  36. DEFINE TEMP-TABLE tLiefst LIKE Liefst.
  37. /* _UIB-CODE-BLOCK-END */
  38. &ANALYZE-RESUME
  39. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  40. /* ******************** Preprocessor Definitions ******************** */
  41. &Global-define DATA-LOGIC-PROCEDURE .p
  42. &Scoped-define PROCEDURE-TYPE SmartDataObject
  43. &Scoped-define DB-AWARE yes
  44. &Scoped-define ADM-SUPPORTED-LINKS Data-Source,Data-Target,Navigation-Target,Update-Target,Commit-Target,Filter-Target
  45. /* Db-Required definitions. */
  46. &IF DEFINED(DB-REQUIRED) = 0 &THEN
  47. &GLOBAL-DEFINE DB-REQUIRED TRUE
  48. &ENDIF
  49. &GLOBAL-DEFINE DB-REQUIRED-START &IF {&DB-REQUIRED} &THEN
  50. &GLOBAL-DEFINE DB-REQUIRED-END &ENDIF
  51. &Scoped-define QUERY-NAME Query-Main
  52. /* Internal Tables (found by Frame, Query & Browse Queries) */
  53. &Scoped-define INTERNAL-TABLES Besko
  54. /* Definitions for QUERY Query-Main */
  55. &Scoped-Define ENABLED-FIELDS Firma Besnr Knr Best_Datum Lief_Datum Buch_Datum Abgeholt Abholtext~
  56. Bemerkung Bestell_Nr Best_Sta Best_Tot Faktor FRW Gedruckt I_Best Kond Kopf~
  57. Kurs Lager Lieferzeit Lief_Bed MWST_Nr Rabatt Schluss Spesen U_Ref Verbucht~
  58. Lieferant BestelltBis Lieferungen Wochentag Netto SpesenBetr ZusRab
  59. &Scoped-define ENABLED-FIELDS-IN-Besko Firma Besnr Knr Best_Datum ~
  60. Lief_Datum Buch_Datum Abgeholt Abholtext Bemerkung Bestell_Nr Best_Sta ~
  61. Best_Tot Faktor FRW Gedruckt I_Best Kond Kopf Kurs Lager Lieferzeit ~
  62. Lief_Bed MWST_Nr Rabatt Schluss Spesen U_Ref Verbucht SpesenBetr ZusRab
  63. &Scoped-Define DATA-FIELDS Firma Besnr Knr Best_Datum Lief_Datum Buch_Datum Abgeholt Abholtext~
  64. Bemerkung Bestell_Nr Best_Sta Best_Tot Faktor FRW Gedruckt I_Best Kond Kopf~
  65. Kurs Lager Lieferzeit Lief_Bed MWST_Nr Rabatt Schluss Spesen U_Ref Verbucht~
  66. Lieferant BestelltBis Lieferungen Wochentag Netto SpesenBetr ZusRab
  67. &Scoped-define DATA-FIELDS-IN-Besko Firma Besnr Knr Best_Datum Lief_Datum ~
  68. Buch_Datum Abgeholt Abholtext Bemerkung Bestell_Nr Best_Sta Best_Tot Faktor ~
  69. FRW Gedruckt I_Best Kond Kopf Kurs Lager Lieferzeit Lief_Bed MWST_Nr Rabatt ~
  70. Schluss Spesen U_Ref Verbucht SpesenBetr ZusRab
  71. &Scoped-Define MANDATORY-FIELDS Firma Knr
  72. &Scoped-Define APPLICATION-SERVICE
  73. &Scoped-Define ASSIGN-LIST
  74. &Scoped-Define DATA-FIELD-DEFS "d-besko.i"
  75. &Scoped-Define DATA-TABLE-NO-UNDO NO-UNDO
  76. &Scoped-define QUERY-STRING-Query-Main FOR EACH Besko NO-LOCK INDEXED-REPOSITION
  77. {&DB-REQUIRED-START}
  78. &Scoped-define OPEN-QUERY-Query-Main OPEN QUERY Query-Main FOR EACH Besko NO-LOCK INDEXED-REPOSITION.
  79. {&DB-REQUIRED-END}
  80. &Scoped-define TABLES-IN-QUERY-Query-Main Besko
  81. &Scoped-define FIRST-TABLE-IN-QUERY-Query-Main Besko
  82. /* Custom List Definitions */
  83. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  84. /* _UIB-PREPROCESSOR-BLOCK-END */
  85. &ANALYZE-RESUME
  86. /* ************************ Function Prototypes ********************** */
  87. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getBestellBis dTables
  88. FUNCTION getBestellBis RETURNS CHARACTER
  89. ( ipiKnr AS INTEGER ) FORWARD.
  90. /* _UIB-CODE-BLOCK-END */
  91. &ANALYZE-RESUME
  92. {&DB-REQUIRED-START}
  93. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getCurrentRecid dTables _DB-REQUIRED
  94. FUNCTION getCurrentRecid RETURNS RECID
  95. ( /* parameter-definitions */ ) FORWARD.
  96. /* _UIB-CODE-BLOCK-END */
  97. &ANALYZE-RESUME
  98. {&DB-REQUIRED-END}
  99. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getLieferung dTables
  100. FUNCTION getLieferung RETURNS CHARACTER
  101. ( ipiKnr AS INTEGER ) FORWARD.
  102. /* _UIB-CODE-BLOCK-END */
  103. &ANALYZE-RESUME
  104. {&DB-REQUIRED-START}
  105. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getQueryBuffer dTables _DB-REQUIRED
  106. FUNCTION getQueryBuffer RETURNS HANDLE
  107. ( /* parameter-definitions */ ) FORWARD.
  108. /* _UIB-CODE-BLOCK-END */
  109. &ANALYZE-RESUME
  110. {&DB-REQUIRED-END}
  111. {&DB-REQUIRED-START}
  112. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD openQuery dTables _DB-REQUIRED
  113. FUNCTION openQuery RETURNS LOGICAL
  114. ( /* parameter-definitions */ ) FORWARD.
  115. /* _UIB-CODE-BLOCK-END */
  116. &ANALYZE-RESUME
  117. {&DB-REQUIRED-END}
  118. /* *********************** Control Definitions ********************** */
  119. {&DB-REQUIRED-START}
  120. /* Query definitions */
  121. &ANALYZE-SUSPEND
  122. DEFINE QUERY Query-Main FOR
  123. Besko SCROLLING.
  124. &ANALYZE-RESUME
  125. {&DB-REQUIRED-END}
  126. /* ************************ Frame Definitions *********************** */
  127. /* *********************** Procedure Settings ************************ */
  128. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  129. /* Settings for THIS-PROCEDURE
  130. Type: SmartDataObject
  131. Allow: Query
  132. Frames: 0
  133. Add Fields to: Neither
  134. Other Settings: PERSISTENT-ONLY COMPILE APPSERVER DB-AWARE
  135. */
  136. /* This procedure should always be RUN PERSISTENT. Report the error, */
  137. /* then cleanup and return. */
  138. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  139. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  140. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  141. RETURN.
  142. END.
  143. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  144. /* ************************* Create Window ************************** */
  145. &ANALYZE-SUSPEND _CREATE-WINDOW
  146. /* DESIGN Window definition (used by the UIB)
  147. CREATE WINDOW dTables ASSIGN
  148. HEIGHT = 1.62
  149. WIDTH = 71.
  150. /* END WINDOW DEFINITION */
  151. */
  152. &ANALYZE-RESUME
  153. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB dTables
  154. /* ************************* Included-Libraries *********************** */
  155. {src/adm2/data.i}
  156. /* _UIB-CODE-BLOCK-END */
  157. &ANALYZE-RESUME
  158. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  159. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  160. /* SETTINGS FOR WINDOW dTables
  161. VISIBLE,,RUN-PERSISTENT */
  162. /* _RUN-TIME-ATTRIBUTES-END */
  163. &ANALYZE-RESUME
  164. /* Setting information for Queries and Browse Widgets fields */
  165. &ANALYZE-SUSPEND _QUERY-BLOCK QUERY Query-Main
  166. /* Query rebuild information for SmartDataObject Query-Main
  167. _TblList = "AnaDat.Besko"
  168. _Options = "NO-LOCK INDEXED-REPOSITION"
  169. _FldNameList[1] > AnaDat.Besko.Firma
  170. "Firma" "Firma" ? ? "character" ? ? ? ? ? ? yes ? yes 8 yes ?
  171. _FldNameList[2] > AnaDat.Besko.Besnr
  172. "Besnr" "Besnr" ? ? "integer" ? ? ? ? ? ? yes ? no 7.2 yes ?
  173. _FldNameList[3] > AnaDat.Besko.Knr
  174. "Knr" "Knr" ? ? "integer" ? ? ? ? ? ? yes ? yes 7.2 yes ?
  175. _FldNameList[4] > AnaDat.Besko.Best_Datum
  176. "Best_Datum" "Best_Datum" ? ? "date" ? ? ? ? ? ? yes ? no 11.6 yes ?
  177. _FldNameList[5] > AnaDat.Besko.Lief_Datum
  178. "Lief_Datum" "Lief_Datum" ? ? "date" ? ? ? ? ? ? yes ? no 10.8 yes ?
  179. _FldNameList[6] > AnaDat.Besko.Buch_Datum
  180. "Buch_Datum" "Buch_Datum" ? ? "date" ? ? ? ? ? ? yes ? no 12.4 yes ?
  181. _FldNameList[7] > AnaDat.Besko.Abgeholt
  182. "Abgeholt" "Abgeholt" ? ? "logical" ? ? ? ? ? ? yes ? no 8.4 yes ?
  183. _FldNameList[8] > AnaDat.Besko.Abholtext
  184. "Abholtext" "Abholtext" ? ? "character" ? ? ? ? ? ? yes ? no 500 yes ?
  185. _FldNameList[9] > AnaDat.Besko.Bemerkung
  186. "Bemerkung" "Bemerkung" ? ? "character" ? ? ? ? ? ? yes ? no 480 yes ?
  187. _FldNameList[10] > AnaDat.Besko.Bestell_Nr
  188. "Bestell_Nr" "Bestell_Nr" ? ? "character" ? ? ? ? ? ? yes ? no 20 yes ?
  189. _FldNameList[11] > AnaDat.Besko.Best_Sta
  190. "Best_Sta" "Best_Sta" ? ? "integer" ? ? ? ? ? ? yes ? no 8.6 yes ?
  191. _FldNameList[12] > AnaDat.Besko.Best_Tot
  192. "Best_Tot" "Best_Tot" ? ? "decimal" ? ? ? ? ? ? yes ? no 14 yes ?
  193. _FldNameList[13] > AnaDat.Besko.Faktor
  194. "Faktor" "Faktor" ? ? "integer" ? ? ? ? ? ? yes ? no 6 yes ?
  195. _FldNameList[14] > AnaDat.Besko.FRW
  196. "FRW" "FRW" ? ? "character" ? ? ? ? ? ? yes ? no 5 yes ?
  197. _FldNameList[15] > AnaDat.Besko.Gedruckt
  198. "Gedruckt" "Gedruckt" ? ? "logical" ? ? ? ? ? ? yes ? no 8.8 yes ?
  199. _FldNameList[16] > AnaDat.Besko.I_Best
  200. "I_Best" "I_Best" ? ? "character" ? ? ? ? ? ? yes ? no 20 yes ?
  201. _FldNameList[17] > AnaDat.Besko.Kond
  202. "Kond" "Kond" ? ? "integer" ? ? ? ? ? ? yes ? no 5 yes ?
  203. _FldNameList[18] > AnaDat.Besko.Kopf
  204. "Kopf" "Kopf" ? ? "character" ? ? ? ? ? ? yes ? no 480 yes ?
  205. _FldNameList[19] > AnaDat.Besko.Kurs
  206. "Kurs" "Kurs" ? ? "decimal" ? ? ? ? ? ? yes ? no 13.6 yes ?
  207. _FldNameList[20] > AnaDat.Besko.Lager
  208. "Lager" "Lager" ? ? "integer" ? ? ? ? ? ? yes ? no 5.4 yes ?
  209. _FldNameList[21] > AnaDat.Besko.Lieferzeit
  210. "Lieferzeit" "Lieferzeit" ? ? "character" ? ? ? ? ? ? yes ? no 15 yes ?
  211. _FldNameList[22] > AnaDat.Besko.Lief_Bed
  212. "Lief_Bed" "Lief_Bed" ? ? "integer" ? ? ? ? ? ? yes ? no 8.4 yes ?
  213. _FldNameList[23] > AnaDat.Besko.MWST_Nr
  214. "MWST_Nr" "MWST_Nr" ? ? "character" ? ? ? ? ? ? yes ? no 15 yes ?
  215. _FldNameList[24] > AnaDat.Besko.Rabatt
  216. "Rabatt" "Rabatt" ? ? "decimal" ? ? ? ? ? ? yes ? no 6.4 yes ?
  217. _FldNameList[25] > AnaDat.Besko.Schluss
  218. "Schluss" "Schluss" ? ? "character" ? ? ? ? ? ? yes ? no 480 yes ?
  219. _FldNameList[26] > AnaDat.Besko.Spesen
  220. "Spesen" "Spesen" ? ? "decimal" ? ? ? ? ? ? yes ? no 10.4 yes ?
  221. _FldNameList[27] > AnaDat.Besko.U_Ref
  222. "U_Ref" "U_Ref" ? ? "character" ? ? ? ? ? ? yes ? no 20 yes ?
  223. _FldNameList[28] > AnaDat.Besko.Verbucht
  224. "Verbucht" "Verbucht" ? ? "logical" ? ? ? ? ? ? yes ? no 8.6 yes ?
  225. _FldNameList[29] > "_<CALC>"
  226. "DYNAMIC-FUNCTION('getAdressAnzeige':U, RowObject.Knr )" "Lieferant" "Lieferant" "x(80)" "character" ? ? ? ? ? ? yes ? no 80 no ?
  227. _FldNameList[30] > "_<CALC>"
  228. "DYNAMIC-FUNCTION('getBestellBis':U IN THIS-PROCEDURE, RowObject.Knr )" "BestelltBis" "Bestellung bis" "x(20)" "character" ? ? ? ? ? ? yes ? no 20 no ?
  229. _FldNameList[31] > "_<CALC>"
  230. "DYNAMIC-FUNCTION('getLieferung':U IN THIS-PROCEDURE, RowObject.Knr )" "Lieferungen" ? "x(30)" "character" ? ? ? ? ? ? yes ? no 30 no ?
  231. _FldNameList[32] > "_<CALC>"
  232. "DYNAMIC-FUNCTION('getWochentag':U, RowObject.Lief_Datum)" "Wochentag" ? "x(12)" "character" ? ? ? ? ? ? yes ? no 12 no ?
  233. _FldNameList[33] > "_<CALC>"
  234. "(RowObject.Best_Tot - RowObject.SpesenBetr)" "Netto" "Total ohne Spesen" "zzz,zzz,zz9.99-" "Decimal" ? ? ? ? ? ? yes ? no 18 no ?
  235. _FldNameList[34] > AnaDat.Besko.SpesenBetr
  236. "SpesenBetr" "SpesenBetr" ? ? "decimal" ? ? ? ? ? ? yes ? no 11 yes ?
  237. _FldNameList[35] > AnaDat.Besko.ZusRab
  238. "ZusRab" "ZusRab" ? ? "decimal" ? ? ? ? ? ? yes ? no 7.6 yes ?
  239. _Design-Parent is WINDOW dTables @ ( 1.14 , 2.6 )
  240. */ /* QUERY Query-Main */
  241. &ANALYZE-RESUME
  242. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK dTables
  243. /* *************************** Main Block *************************** */
  244. { incl/datmainblock.i }
  245. SUBSCRIBE TO 'REFRESHBESKO' ANYWHERE RUN-PROCEDURE 'refreshRow'.
  246. SUBSCRIBE TO 'GET_CURRENT_BESKO' ANYWHERE NO-ERROR.
  247. fOpen = FALSE.
  248. CREATE tLiefst.
  249. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  250. RUN initializeObject.
  251. &ENDIF
  252. /* _UIB-CODE-BLOCK-END */
  253. &ANALYZE-RESUME
  254. /* ********************** Internal Procedures *********************** */
  255. {&DB-REQUIRED-START}
  256. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DATA.CALCULATE dTables DATA.CALCULATE _DB-REQUIRED
  257. PROCEDURE DATA.CALCULATE :
  258. /*------------------------------------------------------------------------------
  259. Purpose: Calculate all the Calculated Expressions found in the
  260. SmartDataObject.
  261. Parameters: <none>
  262. ------------------------------------------------------------------------------*/
  263. ASSIGN
  264. rowObject.BestelltBis = (DYNAMIC-FUNCTION('getBestellBis':U IN THIS-PROCEDURE, RowObject.Knr ))
  265. rowObject.Lieferant = (DYNAMIC-FUNCTION('getAdressAnzeige':U, RowObject.Knr ))
  266. rowObject.Lieferungen = (DYNAMIC-FUNCTION('getLieferung':U IN THIS-PROCEDURE, RowObject.Knr ))
  267. rowObject.Netto = ((RowObject.Best_Tot - RowObject.SpesenBetr))
  268. rowObject.Wochentag = (DYNAMIC-FUNCTION('getWochentag':U, RowObject.Lief_Datum))
  269. .
  270. END PROCEDURE.
  271. /* _UIB-CODE-BLOCK-END */
  272. &ANALYZE-RESUME
  273. {&DB-REQUIRED-END}
  274. {&DB-REQUIRED-START}
  275. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE dataAvailable dTables _DB-REQUIRED
  276. PROCEDURE dataAvailable :
  277. /*------------------------------------------------------------------------------
  278. Purpose: Super Override
  279. Parameters:
  280. Notes:
  281. ------------------------------------------------------------------------------*/
  282. { incl/datdataavailable.i }
  283. END PROCEDURE.
  284. /* _UIB-CODE-BLOCK-END */
  285. &ANALYZE-RESUME
  286. {&DB-REQUIRED-END}
  287. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI dTables _DEFAULT-DISABLE
  288. PROCEDURE disable_UI :
  289. /*------------------------------------------------------------------------------
  290. Purpose: DISABLE the User Interface
  291. Parameters: <none>
  292. Notes: Here we clean-up the user-interface by deleting
  293. dynamic widgets we have created and/or hide
  294. frames. This procedure is usually called when
  295. we are ready to "clean-up" after running.
  296. ------------------------------------------------------------------------------*/
  297. /* Hide all frames. */
  298. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  299. END PROCEDURE.
  300. /* _UIB-CODE-BLOCK-END */
  301. &ANALYZE-RESUME
  302. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE GET_CURRENT_BESKO dTables
  303. PROCEDURE GET_CURRENT_BESKO :
  304. /*------------------------------------------------------------------------------
  305. Purpose:
  306. Notes:
  307. ------------------------------------------------------------------------------*/
  308. DEF OUTPUT PARAMETER opRecid AS RECID NO-UNDO.
  309. DEF OUTPUT PARAMETER opBesnr AS INT NO-UNDO.
  310. DEF VAR iRecid AS RECID NO-UNDO.
  311. DEF BUFFER bBesko FOR Besko.
  312. ASSIGN opRecid = 0
  313. opBesnr = 0.
  314. opRecid = DYNAMIC-FUNCTION('getCurrentRecid':U) NO-ERROR.
  315. IF opRecid = ? OR
  316. OPRecid = 0 THEN RETURN.
  317. FIND bBesko NO-LOCK WHERE RECID(bBesko) = opRecid.
  318. opBesnr = bBesko.Besnr.
  319. RELEASE bBesko.
  320. END PROCEDURE.
  321. /* _UIB-CODE-BLOCK-END */
  322. &ANALYZE-RESUME
  323. {&DB-REQUIRED-START}
  324. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE INAKTIVIEREN dTables _DB-REQUIRED
  325. PROCEDURE INAKTIVIEREN :
  326. /*------------------------------------------------------------------------------
  327. Purpose:
  328. Parameters: <none>
  329. Notes:
  330. ------------------------------------------------------------------------------*/
  331. { incl/datinaktivieren.i }
  332. END PROCEDURE.
  333. /* _UIB-CODE-BLOCK-END */
  334. &ANALYZE-RESUME
  335. {&DB-REQUIRED-END}
  336. {&DB-REQUIRED-START}
  337. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject dTables _DB-REQUIRED
  338. PROCEDURE initializeObject :
  339. /*------------------------------------------------------------------------------
  340. Purpose: Super Override
  341. Parameters:
  342. Notes:
  343. ------------------------------------------------------------------------------*/
  344. { incl/datinitialize.i }
  345. END PROCEDURE.
  346. /* _UIB-CODE-BLOCK-END */
  347. &ANALYZE-RESUME
  348. {&DB-REQUIRED-END}
  349. {&DB-REQUIRED-START}
  350. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REAKTIVIEREN dTables _DB-REQUIRED
  351. PROCEDURE REAKTIVIEREN :
  352. /*------------------------------------------------------------------------------
  353. Purpose:
  354. Parameters: <none>
  355. Notes:
  356. ------------------------------------------------------------------------------*/
  357. { incl/datreaktivieren.i }
  358. END PROCEDURE.
  359. /* _UIB-CODE-BLOCK-END */
  360. &ANALYZE-RESUME
  361. {&DB-REQUIRED-END}
  362. {&DB-REQUIRED-START}
  363. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REPOS_TABELLE dTables _DB-REQUIRED
  364. PROCEDURE REPOS_TABELLE :
  365. /*------------------------------------------------------------------------------
  366. Purpose:
  367. Parameters: <none>
  368. Notes:
  369. ------------------------------------------------------------------------------*/
  370. { incl/datrepos.i }
  371. END PROCEDURE.
  372. /* _UIB-CODE-BLOCK-END */
  373. &ANALYZE-RESUME
  374. {&DB-REQUIRED-END}
  375. {&DB-REQUIRED-START}
  376. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SET_FILTER dTables _DB-REQUIRED
  377. PROCEDURE SET_FILTER :
  378. /*------------------------------------------------------------------------------
  379. Purpose:
  380. Parameters: <none>
  381. Notes:
  382. ------------------------------------------------------------------------------*/
  383. { incl/datsetfilter.i }
  384. END PROCEDURE.
  385. /* _UIB-CODE-BLOCK-END */
  386. &ANALYZE-RESUME
  387. {&DB-REQUIRED-END}
  388. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SET_LAGER dTables
  389. PROCEDURE SET_LAGER :
  390. /*------------------------------------------------------------------------------
  391. Purpose:
  392. Notes:
  393. ------------------------------------------------------------------------------*/
  394. DEFINE INPUT PARAMETER ipiLager AS INTEGER NO-UNDO.
  395. IF iLager = ipiLager THEN RETURN.
  396. iLager = ipiLager.
  397. DYNAMIC-FUNCTION ('openQuery':U) NO-ERROR.
  398. END PROCEDURE.
  399. /* _UIB-CODE-BLOCK-END */
  400. &ANALYZE-RESUME
  401. {&DB-REQUIRED-START}
  402. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SET_OPENFLAG dTables _DB-REQUIRED
  403. PROCEDURE SET_OPENFLAG :
  404. /*------------------------------------------------------------------------------
  405. Purpose:
  406. Parameters: <none>
  407. Notes:
  408. ------------------------------------------------------------------------------*/
  409. { incl/datsetopenflag.i }
  410. END PROCEDURE.
  411. /* _UIB-CODE-BLOCK-END */
  412. &ANALYZE-RESUME
  413. {&DB-REQUIRED-END}
  414. {&DB-REQUIRED-START}
  415. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SET_SORT dTables _DB-REQUIRED
  416. PROCEDURE SET_SORT :
  417. /*------------------------------------------------------------------------------
  418. Purpose:
  419. Parameters: <none>
  420. Notes:
  421. ------------------------------------------------------------------------------*/
  422. { incl/datsetsort.i }
  423. END PROCEDURE.
  424. /* _UIB-CODE-BLOCK-END */
  425. &ANALYZE-RESUME
  426. {&DB-REQUIRED-END}
  427. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SET_STATUS dTables
  428. PROCEDURE SET_STATUS :
  429. /*------------------------------------------------------------------------------
  430. Purpose:
  431. Notes:
  432. ------------------------------------------------------------------------------*/
  433. DEFINE INPUT PARAMETER ipiStatus AS INTEGER NO-UNDO.
  434. IF iStatus = ipiStatus THEN RETURN.
  435. iStatus = ipiStatus.
  436. DYNAMIC-FUNCTION ('openQuery':U) NO-ERROR.
  437. END PROCEDURE.
  438. /* _UIB-CODE-BLOCK-END */
  439. &ANALYZE-RESUME
  440. /* ************************ Function Implementations ***************** */
  441. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getBestellBis dTables
  442. FUNCTION getBestellBis RETURNS CHARACTER
  443. ( ipiKnr AS INTEGER ):
  444. /*------------------------------------------------------------------------------
  445. Purpose:
  446. Notes:
  447. ------------------------------------------------------------------------------*/
  448. DEFINE BUFFER bLiefst FOR Liefst.
  449. FIND FIRST tLiefst.
  450. IF tLiefst.Knr <> ipiKnr THEN
  451. DO:
  452. FIND bLiefst NO-LOCK
  453. WHERE bLiefst.Firma = Firma
  454. AND bLiefst.Knr = ipiKnr NO-ERROR.
  455. IF AVAILABLE bLiefst THEN BUFFER-COPY bLiefst TO tLiefst.
  456. RELEASE bLiefst.
  457. END.
  458. RETURN tLiefst.BestBis.
  459. END FUNCTION.
  460. /* _UIB-CODE-BLOCK-END */
  461. &ANALYZE-RESUME
  462. {&DB-REQUIRED-START}
  463. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getCurrentRecid dTables _DB-REQUIRED
  464. FUNCTION getCurrentRecid RETURNS RECID
  465. ( /* parameter-definitions */ ) :
  466. /*------------------------------------------------------------------------------
  467. Purpose:
  468. Notes:
  469. ------------------------------------------------------------------------------*/
  470. { incl/datgetcurrentrecid.i }
  471. END FUNCTION.
  472. /* _UIB-CODE-BLOCK-END */
  473. &ANALYZE-RESUME
  474. {&DB-REQUIRED-END}
  475. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getLieferung dTables
  476. FUNCTION getLieferung RETURNS CHARACTER
  477. ( ipiKnr AS INTEGER ):
  478. /*------------------------------------------------------------------------------
  479. Purpose:
  480. Notes:
  481. ------------------------------------------------------------------------------*/
  482. DEFINE BUFFER bLiefst FOR Liefst.
  483. FIND FIRST tLiefst.
  484. IF tLiefst.Knr <> ipiKnr THEN
  485. DO:
  486. FIND bLiefst NO-LOCK
  487. WHERE bLiefst.Firma = Firma
  488. AND bLiefst.Knr = ipiKnr NO-ERROR.
  489. IF AVAILABLE bLiefst THEN BUFFER-COPY bLiefst TO tLiefst.
  490. RELEASE bLiefst.
  491. END.
  492. RETURN tLiefst.Lieferungen.
  493. END FUNCTION.
  494. /* _UIB-CODE-BLOCK-END */
  495. &ANALYZE-RESUME
  496. {&DB-REQUIRED-START}
  497. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getQueryBuffer dTables _DB-REQUIRED
  498. FUNCTION getQueryBuffer RETURNS HANDLE
  499. ( /* parameter-definitions */ ) :
  500. /*------------------------------------------------------------------------------
  501. Purpose:
  502. Notes:
  503. ------------------------------------------------------------------------------*/
  504. RETURN BUFFER rowObject:HANDLE.
  505. END FUNCTION.
  506. /* _UIB-CODE-BLOCK-END */
  507. &ANALYZE-RESUME
  508. {&DB-REQUIRED-END}
  509. {&DB-REQUIRED-START}
  510. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION openQuery dTables _DB-REQUIRED
  511. FUNCTION openQuery RETURNS LOGICAL
  512. ( /* parameter-definitions */ ) :
  513. /*------------------------------------------------------------------------------
  514. Purpose: Super Override
  515. Notes:
  516. ------------------------------------------------------------------------------*/
  517. DEFINE VARIABLE Felder AS CHARACTER NO-UNDO.
  518. DEFINE VARIABLE Inhalt AS CHARACTER NO-UNDO.
  519. DEFINE VARIABLE ix AS INTEGER NO-UNDO.
  520. DEFINE VARIABLE cFeld AS CHARACTER NO-UNDO.
  521. IF NOT fOpen THEN RETURN FALSE.
  522. iStatus = DYNAMIC-FUNCTION('getStatus':U IN hKontainer) NO-ERROR.
  523. iLager = DYNAMIC-FUNCTION('getLager':U IN hKontainer) NO-ERROR.
  524. IF iStatus = ? THEN iStatus = 1.
  525. IF iLager = ? THEN iLager = 0.
  526. xWhere = ''.
  527. xSort = ''.
  528. xString = ''.
  529. Felder = DYNAMIC-FUNCTION('getForeignFields':U) NO-ERROR.
  530. Inhalt = DYNAMIC-FUNCTION('getForeignValues':U) NO-ERROR.
  531. /* ix = LOOKUP('Feld', Felder, ',') / 2. */
  532. /* cFeld = ENTRY (ix , Inhalt, CHR(01)). */
  533. xWhere = 'Besko.Firma = "&1" AND '
  534. + 'Besko.Best_Sta = &2 AND '
  535. + 'Besko.Lager = &3 '.
  536. xWhere = SUBSTITUTE(xWhere, Firma, iStatus, iLager ).
  537. /* xString = 'FOR EACH Debop ' + xSort + 'WHERE ' */
  538. /* + 'Debop.Firma = "' + Firma + '" AND ' */
  539. /* + 'Debop.Knr = ' + STRING(Knr) + ' ' */
  540. /* + 'NO-LOCK BY Debop.FakDat DESCENDING INDEXED-REPOSITION '. */
  541. { incl/datopenquery.i }
  542. IF xWhere <> '' THEN DYNAMIC-FUNCTION('setQueryWhere':U , INPUT xWhere ).
  543. IF xString <> '' THEN DYNAMIC-FUNCTION('setQueryString':U, INPUT xString).
  544. IF xSort <> '' THEN DYNAMIC-FUNCTION('setQuerySort':U , INPUT xSort ).
  545. RETURN SUPER( ).
  546. END FUNCTION.
  547. /* _UIB-CODE-BLOCK-END */
  548. &ANALYZE-RESUME
  549. {&DB-REQUIRED-END}