d-artbw-auftrag.w 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679
  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 Artbw
  30. &SCOPED-DEFINE TabWhere USE-INDEX Artbw-k1 ~
  31. WHERE {&Tabelle}.Firma = tRowObject.Firma ~
  32. AND {&Tabelle}.Trnr = tRowObject.Trnr
  33. { incl/datdefinition.i }
  34. DEF VAR dDatum AS DATE NO-UNDO.
  35. DEF VAR iArtnr AS INT NO-UNDO.
  36. /* _UIB-CODE-BLOCK-END */
  37. &ANALYZE-RESUME
  38. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  39. /* ******************** Preprocessor Definitions ******************** */
  40. &Global-define DATA-LOGIC-PROCEDURE .p
  41. &Scoped-define PROCEDURE-TYPE SmartDataObject
  42. &Scoped-define DB-AWARE yes
  43. &Scoped-define ADM-SUPPORTED-LINKS Data-Source,Data-Target,Navigation-Target,Update-Target,Commit-Target,Filter-Target
  44. /* Db-Required definitions. */
  45. &IF DEFINED(DB-REQUIRED) = 0 &THEN
  46. &GLOBAL-DEFINE DB-REQUIRED TRUE
  47. &ENDIF
  48. &GLOBAL-DEFINE DB-REQUIRED-START &IF {&DB-REQUIRED} &THEN
  49. &GLOBAL-DEFINE DB-REQUIRED-END &ENDIF
  50. &Scoped-define QUERY-NAME Query-Main
  51. /* Internal Tables (found by Frame, Query & Browse Queries) */
  52. &Scoped-define INTERNAL-TABLES Artbw
  53. /* Definitions for QUERY Query-Main */
  54. &Scoped-Define ENABLED-FIELDS Artnr Inhalt Jahr Bez1 Bez2 Datum Menge Preis Bru_Betr Rab_Betr Netto DokNr~
  55. KGebinde VGebinde GGebinde Firma Aufnr KGeb_Cd VGeb_Cd GGeb_Cd Lager Trnr
  56. &Scoped-define ENABLED-FIELDS-IN-Artbw Artnr Inhalt Jahr Bez1 Bez2 Datum ~
  57. Menge Preis Bru_Betr Rab_Betr Netto Firma Aufnr KGeb_Cd VGeb_Cd GGeb_Cd ~
  58. Lager Trnr
  59. &Scoped-Define DATA-FIELDS Artnr Inhalt Jahr Bez1 Bez2 Datum Menge Preis Bru_Betr Rab_Betr Netto DokNr~
  60. KGebinde VGebinde GGebinde Firma Aufnr KGeb_Cd VGeb_Cd GGeb_Cd Lager Trnr
  61. &Scoped-define DATA-FIELDS-IN-Artbw Artnr Inhalt Jahr Bez1 Bez2 Datum Menge ~
  62. Preis Bru_Betr Rab_Betr Netto Firma Aufnr KGeb_Cd VGeb_Cd GGeb_Cd Lager ~
  63. Trnr
  64. &Scoped-Define MANDATORY-FIELDS Firma
  65. &Scoped-Define APPLICATION-SERVICE
  66. &Scoped-Define ASSIGN-LIST
  67. &Scoped-Define DATA-FIELD-DEFS "d-artbw-auftrag.i"
  68. &Scoped-Define DATA-TABLE-NO-UNDO NO-UNDO
  69. &Scoped-define QUERY-STRING-Query-Main FOR EACH Artbw NO-LOCK INDEXED-REPOSITION
  70. {&DB-REQUIRED-START}
  71. &Scoped-define OPEN-QUERY-Query-Main OPEN QUERY Query-Main FOR EACH Artbw NO-LOCK INDEXED-REPOSITION.
  72. {&DB-REQUIRED-END}
  73. &Scoped-define TABLES-IN-QUERY-Query-Main Artbw
  74. &Scoped-define FIRST-TABLE-IN-QUERY-Query-Main Artbw
  75. /* Custom List Definitions */
  76. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  77. /* _UIB-PREPROCESSOR-BLOCK-END */
  78. &ANALYZE-RESUME
  79. /* ************************ Function Prototypes ********************** */
  80. {&DB-REQUIRED-START}
  81. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getCurrentRecid dTables _DB-REQUIRED
  82. FUNCTION getCurrentRecid RETURNS RECID
  83. ( /* parameter-definitions */ ) FORWARD.
  84. /* _UIB-CODE-BLOCK-END */
  85. &ANALYZE-RESUME
  86. {&DB-REQUIRED-END}
  87. {&DB-REQUIRED-START}
  88. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getQueryBuffer dTables _DB-REQUIRED
  89. FUNCTION getQueryBuffer RETURNS HANDLE
  90. ( /* parameter-definitions */ ) FORWARD.
  91. /* _UIB-CODE-BLOCK-END */
  92. &ANALYZE-RESUME
  93. {&DB-REQUIRED-END}
  94. {&DB-REQUIRED-START}
  95. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getSortFeld dTables _DB-REQUIRED
  96. FUNCTION getSortFeld RETURNS CHARACTER
  97. ( /* parameter-definitions */ ) FORWARD.
  98. /* _UIB-CODE-BLOCK-END */
  99. &ANALYZE-RESUME
  100. {&DB-REQUIRED-END}
  101. {&DB-REQUIRED-START}
  102. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD openQuery dTables _DB-REQUIRED
  103. FUNCTION openQuery RETURNS LOGICAL
  104. ( /* parameter-definitions */ ) FORWARD.
  105. /* _UIB-CODE-BLOCK-END */
  106. &ANALYZE-RESUME
  107. {&DB-REQUIRED-END}
  108. /* *********************** Control Definitions ********************** */
  109. {&DB-REQUIRED-START}
  110. /* Query definitions */
  111. &ANALYZE-SUSPEND
  112. DEFINE QUERY Query-Main FOR
  113. Artbw SCROLLING.
  114. &ANALYZE-RESUME
  115. {&DB-REQUIRED-END}
  116. /* ************************ Frame Definitions *********************** */
  117. /* *********************** Procedure Settings ************************ */
  118. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  119. /* Settings for THIS-PROCEDURE
  120. Type: SmartDataObject
  121. Allow: Query
  122. Frames: 0
  123. Add Fields to: Neither
  124. Other Settings: PERSISTENT-ONLY COMPILE APPSERVER DB-AWARE
  125. */
  126. /* This procedure should always be RUN PERSISTENT. Report the error, */
  127. /* then cleanup and return. */
  128. IF NOT THIS-PROCEDURE:PERSISTENT THEN
  129. DO:
  130. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  131. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  132. RETURN.
  133. END.
  134. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  135. /* ************************* Create Window ************************** */
  136. &ANALYZE-SUSPEND _CREATE-WINDOW
  137. /* DESIGN Window definition (used by the UIB)
  138. CREATE WINDOW dTables ASSIGN
  139. HEIGHT = 1.62
  140. WIDTH = 75.6.
  141. /* END WINDOW DEFINITION */
  142. */
  143. &ANALYZE-RESUME
  144. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB dTables
  145. /* ************************* Included-Libraries *********************** */
  146. {src/adm2/data.i}
  147. /* _UIB-CODE-BLOCK-END */
  148. &ANALYZE-RESUME
  149. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  150. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  151. /* SETTINGS FOR WINDOW dTables
  152. VISIBLE,,RUN-PERSISTENT */
  153. /* _RUN-TIME-ATTRIBUTES-END */
  154. &ANALYZE-RESUME
  155. /* Setting information for Queries and Browse Widgets fields */
  156. &ANALYZE-SUSPEND _QUERY-BLOCK QUERY Query-Main
  157. /* Query rebuild information for SmartDataObject Query-Main
  158. _TblList = "AnaDat.Artbw"
  159. _Options = "NO-LOCK INDEXED-REPOSITION"
  160. _FldNameList[1] > AnaDat.Artbw.Artnr
  161. "Artnr" "Artnr" ? ? "integer" ? ? ? ? ? ? yes ? no 7.2 yes ?
  162. _FldNameList[2] > AnaDat.Artbw.Inhalt
  163. "Inhalt" "Inhalt" ? ? "integer" ? ? ? ? ? ? yes ? no 5.2 yes ?
  164. _FldNameList[3] > AnaDat.Artbw.Jahr
  165. "Jahr" "Jahr" ? ? "integer" ? ? ? ? ? ? yes ? no 4.8 yes ?
  166. _FldNameList[4] > AnaDat.Artbw.Bez1
  167. "Bez1" "Bez1" "Artikel" ? "character" ? ? ? ? ? ? yes ? no 30 yes ?
  168. _FldNameList[5] > AnaDat.Artbw.Bez2
  169. "Bez2" "Bez2" "Bezeichnung 2" ? "character" ? ? ? ? ? ? yes ? no 30 yes ?
  170. _FldNameList[6] > AnaDat.Artbw.Datum
  171. "Datum" "Datum" ? ? "date" ? ? ? ? ? ? yes ? no 10.8 yes ?
  172. _FldNameList[7] > AnaDat.Artbw.Menge
  173. "Menge" "Menge" ? ? "decimal" ? ? ? ? ? ? yes ? no 8.8 yes ?
  174. _FldNameList[8] > AnaDat.Artbw.Preis
  175. "Preis" "Preis" ? ? "decimal" ? ? ? ? ? ? yes ? no 11 yes ?
  176. _FldNameList[9] > AnaDat.Artbw.Bru_Betr
  177. "Bru_Betr" "Bru_Betr" "Brutto" ? "decimal" ? ? ? ? ? ? yes ? no 15.2 yes ?
  178. _FldNameList[10] > AnaDat.Artbw.Rab_Betr
  179. "Rab_Betr" "Rab_Betr" "Rabatt" ? "decimal" ? ? ? ? ? ? yes ? no 12.8 yes ?
  180. _FldNameList[11] > AnaDat.Artbw.Netto
  181. "Netto" "Netto" ? ? "logical" ? ? ? ? ? ? yes ? no 5.2 yes ?
  182. _FldNameList[12] > "_<CALC>"
  183. "DYNAMIC-FUNCTION('getDokNr':U, RowObject.Aufnr )" "DokNr" "DokNr" "x(12)" "character" ? ? ? ? ? ? yes ? no 12 no ?
  184. _FldNameList[13] > "_<CALC>"
  185. "DYNAMIC-FUNCTION('getKGebindeKBez':U, RowObject.KGeb_Cd)" "KGebinde" "KGebinde" "x(12)" "character" ? ? ? ? ? ? yes ? no 12 no ?
  186. _FldNameList[14] > "_<CALC>"
  187. "DYNAMIC-FUNCTION('getVGebindeKBez':U, RowObject.VGeb_Cd)" "VGebinde" "VGebinde" "x(12)" "character" ? ? ? ? ? ? yes ? no 12 no ?
  188. _FldNameList[15] > "_<CALC>"
  189. "DYNAMIC-FUNCTION('getGGebindeKBez':U, RowObject.GGeb_Cd)" "GGebinde" "GGebinde" "x(12)" "character" ? ? ? ? ? ? yes ? no 12 no ?
  190. _FldNameList[16] > AnaDat.Artbw.Firma
  191. "Firma" "Firma" ? ? "character" ? ? ? ? ? ? yes ? yes 8 yes ?
  192. _FldNameList[17] > AnaDat.Artbw.Aufnr
  193. "Aufnr" "Aufnr" ? ? "integer" ? ? ? ? ? ? yes ? no 7.2 yes ?
  194. _FldNameList[18] > AnaDat.Artbw.KGeb_Cd
  195. "KGeb_Cd" "KGeb_Cd" ? ? "character" ? ? ? ? ? ? yes ? no 9.2 yes ?
  196. _FldNameList[19] > AnaDat.Artbw.VGeb_Cd
  197. "VGeb_Cd" "VGeb_Cd" ? ? "character" ? ? ? ? ? ? yes ? no 9.2 yes ?
  198. _FldNameList[20] > AnaDat.Artbw.GGeb_Cd
  199. "GGeb_Cd" "GGeb_Cd" ? ? "character" ? ? ? ? ? ? yes ? no 9.4 yes ?
  200. _FldNameList[21] > AnaDat.Artbw.Lager
  201. "Lager" "Lager" "LG" ? "integer" ? ? ? ? ? ? yes ? no 5.4 yes ?
  202. _FldNameList[22] > AnaDat.Artbw.Trnr
  203. "Trnr" "Trnr" ? ? "integer" ? ? ? ? ? ? yes ? no 9.6 yes ?
  204. _Design-Parent is WINDOW dTables @ ( 1.14 , 2.6 )
  205. */ /* QUERY Query-Main */
  206. &ANALYZE-RESUME
  207. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK dTables
  208. /* *************************** Main Block *************************** */
  209. { incl/datmainblock.i }
  210. dDatum = TODAY - 365.
  211. iArtnr = 0.
  212. fDesc = TRUE.
  213. cSort = 'Datum'.
  214. fOpen = FALSE.
  215. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  216. RUN initializeObject.
  217. &ENDIF
  218. /* _UIB-CODE-BLOCK-END */
  219. &ANALYZE-RESUME
  220. /* ********************** Internal Procedures *********************** */
  221. {&DB-REQUIRED-START}
  222. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DATA.CALCULATE dTables DATA.CALCULATE _DB-REQUIRED
  223. PROCEDURE DATA.CALCULATE :
  224. /*------------------------------------------------------------------------------
  225. Purpose: Calculate all the Calculated Expressions found in the
  226. SmartDataObject.
  227. Parameters: <none>
  228. ------------------------------------------------------------------------------*/
  229. ASSIGN
  230. rowObject.DokNr = (DYNAMIC-FUNCTION('getDokNr':U, RowObject.Aufnr ))
  231. rowObject.GGebinde = (DYNAMIC-FUNCTION('getGGebindeKBez':U, RowObject.GGeb_Cd))
  232. rowObject.KGebinde = (DYNAMIC-FUNCTION('getKGebindeKBez':U, RowObject.KGeb_Cd))
  233. rowObject.VGebinde = (DYNAMIC-FUNCTION('getVGebindeKBez':U, RowObject.VGeb_Cd))
  234. .
  235. END PROCEDURE.
  236. /* _UIB-CODE-BLOCK-END */
  237. &ANALYZE-RESUME
  238. {&DB-REQUIRED-END}
  239. {&DB-REQUIRED-START}
  240. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE dataAvailable dTables _DB-REQUIRED
  241. PROCEDURE dataAvailable :
  242. /*------------------------------------------------------------------------------
  243. Purpose: Super Override
  244. Parameters:
  245. Notes:
  246. ------------------------------------------------------------------------------*/
  247. { incl/datdataavailable.i }
  248. END PROCEDURE.
  249. /* _UIB-CODE-BLOCK-END */
  250. &ANALYZE-RESUME
  251. {&DB-REQUIRED-END}
  252. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI dTables _DEFAULT-DISABLE
  253. PROCEDURE disable_UI :
  254. /*------------------------------------------------------------------------------
  255. Purpose: DISABLE the User Interface
  256. Parameters: <none>
  257. Notes: Here we clean-up the user-interface by deleting
  258. dynamic widgets we have created and/or hide
  259. frames. This procedure is usually called when
  260. we are ready to "clean-up" after running.
  261. ------------------------------------------------------------------------------*/
  262. /* Hide all frames. */
  263. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  264. END PROCEDURE.
  265. /* _UIB-CODE-BLOCK-END */
  266. &ANALYZE-RESUME
  267. {&DB-REQUIRED-START}
  268. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE INAKTIVIEREN dTables _DB-REQUIRED
  269. PROCEDURE INAKTIVIEREN :
  270. /*------------------------------------------------------------------------------
  271. Purpose:
  272. Parameters: <none>
  273. Notes:
  274. ------------------------------------------------------------------------------*/
  275. { incl/datinaktivieren.i }
  276. END PROCEDURE.
  277. /* _UIB-CODE-BLOCK-END */
  278. &ANALYZE-RESUME
  279. {&DB-REQUIRED-END}
  280. {&DB-REQUIRED-START}
  281. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject dTables _DB-REQUIRED
  282. PROCEDURE initializeObject :
  283. /*------------------------------------------------------------------------------
  284. Purpose: Super Override
  285. Parameters:
  286. Notes:
  287. ------------------------------------------------------------------------------*/
  288. { incl/datinitialize.i }
  289. END PROCEDURE.
  290. /* _UIB-CODE-BLOCK-END */
  291. &ANALYZE-RESUME
  292. {&DB-REQUIRED-END}
  293. {&DB-REQUIRED-START}
  294. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REAKTIVIEREN dTables _DB-REQUIRED
  295. PROCEDURE REAKTIVIEREN :
  296. /*------------------------------------------------------------------------------
  297. Purpose:
  298. Parameters: <none>
  299. Notes:
  300. ------------------------------------------------------------------------------*/
  301. { incl/datreaktivieren.i }
  302. END PROCEDURE.
  303. /* _UIB-CODE-BLOCK-END */
  304. &ANALYZE-RESUME
  305. {&DB-REQUIRED-END}
  306. {&DB-REQUIRED-START}
  307. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REPOS_TABELLE dTables _DB-REQUIRED
  308. PROCEDURE REPOS_TABELLE :
  309. /*------------------------------------------------------------------------------
  310. Purpose:
  311. Parameters: <none>
  312. Notes:
  313. ------------------------------------------------------------------------------*/
  314. { incl/datrepos.i }
  315. END PROCEDURE.
  316. /* _UIB-CODE-BLOCK-END */
  317. &ANALYZE-RESUME
  318. {&DB-REQUIRED-END}
  319. {&DB-REQUIRED-START}
  320. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SET_DATUM dTables _DB-REQUIRED
  321. PROCEDURE SET_DATUM :
  322. /*------------------------------------------------------------------------------
  323. Purpose:
  324. Parameters: <none>
  325. Notes:
  326. ------------------------------------------------------------------------------*/
  327. DEF INPUT PARAMETER ipDatum AS DATE NO-UNDO.
  328. dDatum = ipDatum.
  329. DYNAMIC-FUNCTION('openQuery':U).
  330. END PROCEDURE.
  331. /* _UIB-CODE-BLOCK-END */
  332. &ANALYZE-RESUME
  333. {&DB-REQUIRED-END}
  334. {&DB-REQUIRED-START}
  335. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SET_FILTER dTables _DB-REQUIRED
  336. PROCEDURE SET_FILTER :
  337. /*------------------------------------------------------------------------------
  338. Purpose:
  339. Parameters: <none>
  340. Notes:
  341. ------------------------------------------------------------------------------*/
  342. { incl/datsetfilter.i }
  343. END PROCEDURE.
  344. /* _UIB-CODE-BLOCK-END */
  345. &ANALYZE-RESUME
  346. {&DB-REQUIRED-END}
  347. {&DB-REQUIRED-START}
  348. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SET_OPENFLAG dTables _DB-REQUIRED
  349. PROCEDURE SET_OPENFLAG :
  350. /*------------------------------------------------------------------------------
  351. Purpose:
  352. Parameters: <none>
  353. Notes:
  354. ------------------------------------------------------------------------------*/
  355. { incl/datsetopenflag.i }
  356. END PROCEDURE.
  357. /* _UIB-CODE-BLOCK-END */
  358. &ANALYZE-RESUME
  359. {&DB-REQUIRED-END}
  360. {&DB-REQUIRED-START}
  361. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SET_SORT dTables _DB-REQUIRED
  362. PROCEDURE SET_SORT :
  363. /*------------------------------------------------------------------------------
  364. Purpose:
  365. Parameters: <none>
  366. Notes:
  367. ------------------------------------------------------------------------------*/
  368. { incl/datsetsort.i }
  369. END PROCEDURE.
  370. /* _UIB-CODE-BLOCK-END */
  371. &ANALYZE-RESUME
  372. {&DB-REQUIRED-END}
  373. {&DB-REQUIRED-START}
  374. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SET_START_DATEN dTables _DB-REQUIRED
  375. PROCEDURE SET_START_DATEN :
  376. /*------------------------------------------------------------------------------
  377. Purpose:
  378. Parameters: <none>
  379. Notes:
  380. ------------------------------------------------------------------------------*/
  381. DEF INPUT PARAMETER ipiArtnr AS INT NO-UNDO.
  382. DEF INPUT PARAMETER ipdDatum AS DATE NO-UNDO.
  383. iArtnr = ipiArtnr.
  384. dDatum = ipdDatum.
  385. fOpen = TRUE.
  386. DYNAMIC-FUNCTION('openQuery':U) NO-ERROR.
  387. END PROCEDURE.
  388. /* _UIB-CODE-BLOCK-END */
  389. &ANALYZE-RESUME
  390. {&DB-REQUIRED-END}
  391. /* ************************ Function Implementations ***************** */
  392. {&DB-REQUIRED-START}
  393. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getCurrentRecid dTables _DB-REQUIRED
  394. FUNCTION getCurrentRecid RETURNS RECID
  395. ( /* parameter-definitions */ ) :
  396. /*------------------------------------------------------------------------------
  397. Purpose:
  398. Notes:
  399. ------------------------------------------------------------------------------*/
  400. { incl/datgetcurrentrecid.i }
  401. END FUNCTION.
  402. /* _UIB-CODE-BLOCK-END */
  403. &ANALYZE-RESUME
  404. {&DB-REQUIRED-END}
  405. {&DB-REQUIRED-START}
  406. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getQueryBuffer dTables _DB-REQUIRED
  407. FUNCTION getQueryBuffer RETURNS HANDLE
  408. ( /* parameter-definitions */ ) :
  409. /*------------------------------------------------------------------------------
  410. Purpose:
  411. Notes:
  412. ------------------------------------------------------------------------------*/
  413. RETURN BUFFER rowObject:HANDLE.
  414. END FUNCTION.
  415. /* _UIB-CODE-BLOCK-END */
  416. &ANALYZE-RESUME
  417. {&DB-REQUIRED-END}
  418. {&DB-REQUIRED-START}
  419. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getSortFeld dTables _DB-REQUIRED
  420. FUNCTION getSortFeld RETURNS CHARACTER
  421. ( /* parameter-definitions */ ) :
  422. /*------------------------------------------------------------------------------
  423. Purpose:
  424. Notes:
  425. ------------------------------------------------------------------------------*/
  426. RETURN cSort.
  427. END FUNCTION.
  428. /* _UIB-CODE-BLOCK-END */
  429. &ANALYZE-RESUME
  430. {&DB-REQUIRED-END}
  431. {&DB-REQUIRED-START}
  432. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION openQuery dTables _DB-REQUIRED
  433. FUNCTION openQuery RETURNS LOGICAL
  434. ( /* parameter-definitions */ ) :
  435. /*------------------------------------------------------------------------------
  436. Purpose: Super Override
  437. Notes:
  438. ------------------------------------------------------------------------------*/
  439. DEF VAR Felder AS CHAR NO-UNDO.
  440. DEF VAR Inhalt AS CHAR NO-UNDO.
  441. DEF VAR ix AS INT NO-UNDO.
  442. DEF VAR cFeld AS CHAR NO-UNDO.
  443. DEF VAR cFirma AS CHAR NO-UNDO.
  444. DEF VAR iKnr AS INT NO-UNDO.
  445. DEF VAR cUseIndex AS CHAR NO-UNDO.
  446. /* IF NOT fOpen THEN RETURN FALSE. */
  447. xWhere = ''.
  448. xSort = ''.
  449. xString = ''.
  450. Felder = DYNAMIC-FUNCTION('getForeignFields':U) NO-ERROR.
  451. Inhalt = DYNAMIC-FUNCTION('getForeignValues':U) NO-ERROR.
  452. ix = LOOKUP('Firma', Felder, ',') / 2.
  453. cFirma = ENTRY (ix , Inhalt, CHR(01)).
  454. ix = LOOKUP('Knr', Felder, ',') / 2.
  455. iKnr = INTEGER(ENTRY (ix , Inhalt, CHR(01))).
  456. cUseIndex = (IF iArtnr = 0 THEN 'USE-INDEX Artbw-k3' ELSE 'USE-INDEX Artbw-k11' ).
  457. xString = 'FOR EACH Artbw '
  458. + cUseIndex
  459. + ' WHERE Artbw.Firma = ' + QUOTER(cFirma) + ' AND '
  460. + 'Artbw.Knr = ' + STRING(iKnr) + ' AND '
  461. + 'Artbw.Tr_Art = 01 AND '
  462. + 'Artbw.Datum >= ' + STRING(dDatum) + ' '.
  463. IF iArtnr <> 0 THEN
  464. DO:
  465. xString = xString + ' AND Artbw.Artnr = ' + STRING(iArtnr) + ' '.
  466. END.
  467. xString = xString + ' NO-LOCK INDEXED-REPOSITION '.
  468. /* xSort = 'BY Datum DESCENDING'. */
  469. /* xString = 'FOR EACH Artbw ' + xSort + 'WHERE ' */
  470. /* + 'Debop.Firma = "' + Firma + '" AND ' */
  471. /* + 'Debop.Knr = ' + STRING(Knr) + ' ' */
  472. /* + 'NO-LOCK BY Debop.FakDat DESCENDING INDEXED-REPOSITION '. */
  473. { incl/datopenquery.i }
  474. IF xSort <> '' THEN
  475. DO:
  476. IF INDEX(xSort, ' Artnr') > 0 THEN
  477. DO:
  478. xSort = xSort + ' BY Datum DESCENDING '.
  479. END.
  480. END.
  481. IF xWhere <> '' THEN DYNAMIC-FUNCTION('setQueryWhere':U , INPUT xWhere ).
  482. IF xString <> '' THEN DYNAMIC-FUNCTION('setQueryString':U, INPUT xString).
  483. IF xSort <> '' THEN DYNAMIC-FUNCTION('setQuerySort':U , INPUT xSort ).
  484. RETURN SUPER( ).
  485. END FUNCTION.
  486. /* _UIB-CODE-BLOCK-END */
  487. &ANALYZE-RESUME
  488. {&DB-REQUIRED-END}