d-kunbest.w 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569
  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 KunBest
  30. &SCOPED-DEFINE TabWhere /* USE-INDEX Benutzer-k1 ~
  31. WHERE {&Tabelle}.Benutzer = tRowObject.Benutzer
  32. */
  33. { incl/datdefinition.i }
  34. DEF VAR iKnr AS INT NO-UNDO.
  35. /* _UIB-CODE-BLOCK-END */
  36. &ANALYZE-RESUME
  37. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  38. /* ******************** Preprocessor Definitions ******************** */
  39. &Global-define DATA-LOGIC-PROCEDURE .p
  40. &Scoped-define PROCEDURE-TYPE SmartDataObject
  41. &Scoped-define DB-AWARE yes
  42. &Scoped-define ADM-SUPPORTED-LINKS Data-Source,Data-Target,Navigation-Target,Update-Target,Commit-Target,Filter-Target
  43. /* Db-Required definitions. */
  44. &IF DEFINED(DB-REQUIRED) = 0 &THEN
  45. &GLOBAL-DEFINE DB-REQUIRED TRUE
  46. &ENDIF
  47. &GLOBAL-DEFINE DB-REQUIRED-START &IF {&DB-REQUIRED} &THEN
  48. &GLOBAL-DEFINE DB-REQUIRED-END &ENDIF
  49. &Scoped-define QUERY-NAME Query-Main
  50. /* Internal Tables (found by Frame, Query & Browse Queries) */
  51. &Scoped-define INTERNAL-TABLES KunBest
  52. /* Definitions for QUERY Query-Main */
  53. &Scoped-Define ENABLED-FIELDS Firma Knr Pos Artnr Inhalt Jahr GGeb_Cd GGeb_Me VGeb_Cd VGeb_Me KGeb_Cd~
  54. KGeb_Me Lag_Buch Soll Best Kunde Artikel iInhalt AlkGehalt KGeb VGeb GGeb
  55. &Scoped-define ENABLED-FIELDS-IN-KunBest Firma Knr Pos Artnr Inhalt Jahr ~
  56. GGeb_Cd GGeb_Me VGeb_Cd VGeb_Me KGeb_Cd KGeb_Me Lag_Buch Soll Best
  57. &Scoped-Define DATA-FIELDS Firma Knr Pos Artnr Inhalt Jahr GGeb_Cd GGeb_Me VGeb_Cd VGeb_Me KGeb_Cd~
  58. KGeb_Me Lag_Buch Soll Best Kunde Artikel iInhalt AlkGehalt KGeb VGeb GGeb
  59. &Scoped-define DATA-FIELDS-IN-KunBest Firma Knr Pos Artnr Inhalt Jahr ~
  60. GGeb_Cd GGeb_Me VGeb_Cd VGeb_Me KGeb_Cd KGeb_Me Lag_Buch Soll Best
  61. &Scoped-Define MANDATORY-FIELDS
  62. &Scoped-Define APPLICATION-SERVICE
  63. &Scoped-Define ASSIGN-LIST
  64. &Scoped-Define DATA-FIELD-DEFS "d-kunbest.i"
  65. &Scoped-Define DATA-TABLE-NO-UNDO NO-UNDO
  66. &Scoped-define QUERY-STRING-Query-Main FOR EACH KunBest NO-LOCK INDEXED-REPOSITION
  67. {&DB-REQUIRED-START}
  68. &Scoped-define OPEN-QUERY-Query-Main OPEN QUERY Query-Main FOR EACH KunBest NO-LOCK INDEXED-REPOSITION.
  69. {&DB-REQUIRED-END}
  70. &Scoped-define TABLES-IN-QUERY-Query-Main KunBest
  71. &Scoped-define FIRST-TABLE-IN-QUERY-Query-Main KunBest
  72. /* Custom List Definitions */
  73. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  74. /* _UIB-PREPROCESSOR-BLOCK-END */
  75. &ANALYZE-RESUME
  76. /* ************************ Function Prototypes ********************** */
  77. {&DB-REQUIRED-START}
  78. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getCurrentRecid dTables _DB-REQUIRED
  79. FUNCTION getCurrentRecid RETURNS RECID
  80. ( /* parameter-definitions */ ) FORWARD.
  81. /* _UIB-CODE-BLOCK-END */
  82. &ANALYZE-RESUME
  83. {&DB-REQUIRED-END}
  84. {&DB-REQUIRED-START}
  85. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getQueryBuffer dTables _DB-REQUIRED
  86. FUNCTION getQueryBuffer RETURNS HANDLE
  87. ( /* parameter-definitions */ ) FORWARD.
  88. /* _UIB-CODE-BLOCK-END */
  89. &ANALYZE-RESUME
  90. {&DB-REQUIRED-END}
  91. {&DB-REQUIRED-START}
  92. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD openQuery dTables _DB-REQUIRED
  93. FUNCTION openQuery RETURNS LOGICAL
  94. ( /* parameter-definitions */ ) FORWARD.
  95. /* _UIB-CODE-BLOCK-END */
  96. &ANALYZE-RESUME
  97. {&DB-REQUIRED-END}
  98. /* *********************** Control Definitions ********************** */
  99. {&DB-REQUIRED-START}
  100. /* Query definitions */
  101. &ANALYZE-SUSPEND
  102. DEFINE QUERY Query-Main FOR
  103. KunBest SCROLLING.
  104. &ANALYZE-RESUME
  105. {&DB-REQUIRED-END}
  106. /* ************************ Frame Definitions *********************** */
  107. /* *********************** Procedure Settings ************************ */
  108. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  109. /* Settings for THIS-PROCEDURE
  110. Type: SmartDataObject
  111. Allow: Query
  112. Frames: 0
  113. Add Fields to: Neither
  114. Other Settings: PERSISTENT-ONLY COMPILE APPSERVER DB-AWARE
  115. */
  116. /* This procedure should always be RUN PERSISTENT. Report the error, */
  117. /* then cleanup and return. */
  118. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  119. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  120. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  121. RETURN.
  122. END.
  123. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  124. /* ************************* Create Window ************************** */
  125. &ANALYZE-SUSPEND _CREATE-WINDOW
  126. /* DESIGN Window definition (used by the UIB)
  127. CREATE WINDOW dTables ASSIGN
  128. HEIGHT = 1.62
  129. WIDTH = 71.6.
  130. /* END WINDOW DEFINITION */
  131. */
  132. &ANALYZE-RESUME
  133. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB dTables
  134. /* ************************* Included-Libraries *********************** */
  135. {src/adm2/data.i}
  136. /* _UIB-CODE-BLOCK-END */
  137. &ANALYZE-RESUME
  138. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  139. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  140. /* SETTINGS FOR WINDOW dTables
  141. VISIBLE,,RUN-PERSISTENT */
  142. /* _RUN-TIME-ATTRIBUTES-END */
  143. &ANALYZE-RESUME
  144. /* Setting information for Queries and Browse Widgets fields */
  145. &ANALYZE-SUSPEND _QUERY-BLOCK QUERY Query-Main
  146. /* Query rebuild information for SmartDataObject Query-Main
  147. _TblList = "AnaDat.KunBest"
  148. _Options = "NO-LOCK INDEXED-REPOSITION"
  149. _FldNameList[1] > AnaDat.KunBest.Firma
  150. "Firma" "Firma" ? ? "character" ? ? ? ? ? ? yes ? no 8 yes ?
  151. _FldNameList[2] > AnaDat.KunBest.Knr
  152. "Knr" "Knr" ? ? "integer" ? ? ? ? ? ? yes ? no 7.2 yes ?
  153. _FldNameList[3] > AnaDat.KunBest.Pos
  154. "Pos" "Pos" ? ? "integer" ? ? ? ? ? ? yes ? no 4.2 yes ?
  155. _FldNameList[4] > AnaDat.KunBest.Artnr
  156. "Artnr" "Artnr" ? ? "integer" ? ? ? ? ? ? yes ? no 7.2 yes ?
  157. _FldNameList[5] > AnaDat.KunBest.Inhalt
  158. "Inhalt" "Inhalt" ? ? "integer" ? ? ? ? ? ? yes ? no 5.2 yes ?
  159. _FldNameList[6] > AnaDat.KunBest.Jahr
  160. "Jahr" "Jahr" ? ? "integer" ? ? ? ? ? ? yes ? no 4.8 yes ?
  161. _FldNameList[7] > AnaDat.KunBest.GGeb_Cd
  162. "GGeb_Cd" "GGeb_Cd" ? ? "character" ? ? ? ? ? ? yes ? no 10 yes ?
  163. _FldNameList[8] > AnaDat.KunBest.GGeb_Me
  164. "GGeb_Me" "GGeb_Me" ? ? "decimal" ? ? ? ? ? ? yes ? no 10.4 yes ?
  165. _FldNameList[9] > AnaDat.KunBest.VGeb_Cd
  166. "VGeb_Cd" "VGeb_Cd" ? ? "character" ? ? ? ? ? ? yes ? no 10 yes ?
  167. _FldNameList[10] > AnaDat.KunBest.VGeb_Me
  168. "VGeb_Me" "VGeb_Me" ? ? "decimal" ? ? ? ? ? ? yes ? no 10.4 yes ?
  169. _FldNameList[11] > AnaDat.KunBest.KGeb_Cd
  170. "KGeb_Cd" "KGeb_Cd" ? ? "character" ? ? ? ? ? ? yes ? no 10 yes ?
  171. _FldNameList[12] > AnaDat.KunBest.KGeb_Me
  172. "KGeb_Me" "KGeb_Me" ? ? "decimal" ? ? ? ? ? ? yes ? no 10.4 yes ?
  173. _FldNameList[13] > AnaDat.KunBest.Lag_Buch
  174. "Lag_Buch" "Lag_Buch" ? ? "logical" ? ? ? ? ? ? yes ? no 9.8 yes ?
  175. _FldNameList[14] > AnaDat.KunBest.Soll
  176. "Soll" "Soll" ? ? "integer" ? ? ? ? ? ? yes ? no 6.8 yes ?
  177. _FldNameList[15] > AnaDat.KunBest.Best
  178. "Best" "Best" ? ? "integer" ? ? ? ? ? ? yes ? no 6.8 yes ?
  179. _FldNameList[16] > "_<CALC>"
  180. "DYNAMIC-FUNCTION('getAdressAnzeige':U, RowObject.Knr)" "Kunde" "Kunde" "x(60)" "character" ? ? ? ? ? ? yes ? no 60 no ?
  181. _FldNameList[17] > "_<CALC>"
  182. "DYNAMIC-FUNCTION('getArtikelBezeichnung':U, RowObject.Artnr, RowObject.Inhalt, RowObject.Jahr)" "Artikel" "Artikel" "x(50)" "character" ? ? ? ? ? ? yes ? no 50 no ?
  183. _FldNameList[18] > "_<CALC>"
  184. "DYNAMIC-FUNCTION('getKGebindeInhalt':U, RowObject.KGeb_Cd)" "iInhalt" "Inhalt cl" "zzz9" "Integer" ? ? ? ? ? ? yes ? no 4.2 no ?
  185. _FldNameList[19] > "_<CALC>"
  186. "DYNAMIC-FUNCTION('getAlkoholGehalt':U, RowObject.Artnr, RowObject.Inhalt, RowObject.Jahr)" "AlkGehalt" "Alk-%" "zz9.99" "Decimal" ? ? ? ? ? ? yes ? no 6.2 no ?
  187. _FldNameList[20] > "_<CALC>"
  188. "DYNAMIC-FUNCTION('getKGebindeKBez':U, RowObject.KGeb_Cd)" "KGeb" "K-Geb" "x(12)" "character" ? ? ? ? ? ? yes ? no 12 no ?
  189. _FldNameList[21] > "_<CALC>"
  190. "DYNAMIC-FUNCTION('getVGebindeKBez':U, RowObject.VGeb_Cd)" "VGeb" "V-Geb" "x(12)" "character" ? ? ? ? ? ? yes ? no 12 no ?
  191. _FldNameList[22] > "_<CALC>"
  192. "DYNAMIC-FUNCTION('getGGebindeKBez':U, RowObject.GGeb_Cd)" "GGeb" "G-Geb" "x(12)" "character" ? ? ? ? ? ? yes ? no 12 no ?
  193. _Design-Parent is WINDOW dTables @ ( 1.14 , 2.6 )
  194. */ /* QUERY Query-Main */
  195. &ANALYZE-RESUME
  196. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK dTables
  197. /* *************************** Main Block *************************** */
  198. { incl/datmainblock.i }
  199. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  200. RUN initializeObject.
  201. &ENDIF
  202. /* _UIB-CODE-BLOCK-END */
  203. &ANALYZE-RESUME
  204. /* ********************** Internal Procedures *********************** */
  205. {&DB-REQUIRED-START}
  206. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DATA.CALCULATE dTables DATA.CALCULATE _DB-REQUIRED
  207. PROCEDURE DATA.CALCULATE :
  208. /*------------------------------------------------------------------------------
  209. Purpose: Calculate all the Calculated Expressions found in the
  210. SmartDataObject.
  211. Parameters: <none>
  212. ------------------------------------------------------------------------------*/
  213. ASSIGN
  214. rowObject.AlkGehalt = (DYNAMIC-FUNCTION('getAlkoholGehalt':U, RowObject.Artnr, RowObject.Inhalt, RowObject.Jahr))
  215. rowObject.Artikel = (DYNAMIC-FUNCTION('getArtikelBezeichnung':U, RowObject.Artnr, RowObject.Inhalt, RowObject.Jahr))
  216. rowObject.GGeb = (DYNAMIC-FUNCTION('getGGebindeKBez':U, RowObject.GGeb_Cd))
  217. rowObject.iInhalt = (DYNAMIC-FUNCTION('getKGebindeInhalt':U, RowObject.KGeb_Cd))
  218. rowObject.KGeb = (DYNAMIC-FUNCTION('getKGebindeKBez':U, RowObject.KGeb_Cd))
  219. rowObject.Kunde = (DYNAMIC-FUNCTION('getAdressAnzeige':U, RowObject.Knr))
  220. rowObject.VGeb = (DYNAMIC-FUNCTION('getVGebindeKBez':U, RowObject.VGeb_Cd))
  221. .
  222. END PROCEDURE.
  223. /* _UIB-CODE-BLOCK-END */
  224. &ANALYZE-RESUME
  225. {&DB-REQUIRED-END}
  226. {&DB-REQUIRED-START}
  227. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE dataAvailable dTables _DB-REQUIRED
  228. PROCEDURE dataAvailable :
  229. /*------------------------------------------------------------------------------
  230. Purpose: Super Override
  231. Parameters:
  232. Notes:
  233. ------------------------------------------------------------------------------*/
  234. { incl/datdataavailable.i }
  235. END PROCEDURE.
  236. /* _UIB-CODE-BLOCK-END */
  237. &ANALYZE-RESUME
  238. {&DB-REQUIRED-END}
  239. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI dTables _DEFAULT-DISABLE
  240. PROCEDURE disable_UI :
  241. /*------------------------------------------------------------------------------
  242. Purpose: DISABLE the User Interface
  243. Parameters: <none>
  244. Notes: Here we clean-up the user-interface by deleting
  245. dynamic widgets we have created and/or hide
  246. frames. This procedure is usually called when
  247. we are ready to "clean-up" after running.
  248. ------------------------------------------------------------------------------*/
  249. /* Hide all frames. */
  250. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  251. END PROCEDURE.
  252. /* _UIB-CODE-BLOCK-END */
  253. &ANALYZE-RESUME
  254. {&DB-REQUIRED-START}
  255. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE INAKTIVIEREN dTables _DB-REQUIRED
  256. PROCEDURE INAKTIVIEREN :
  257. /*------------------------------------------------------------------------------
  258. Purpose:
  259. Parameters: <none>
  260. Notes:
  261. ------------------------------------------------------------------------------*/
  262. { incl/datinaktivieren.i }
  263. END PROCEDURE.
  264. /* _UIB-CODE-BLOCK-END */
  265. &ANALYZE-RESUME
  266. {&DB-REQUIRED-END}
  267. {&DB-REQUIRED-START}
  268. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject dTables _DB-REQUIRED
  269. PROCEDURE initializeObject :
  270. /*------------------------------------------------------------------------------
  271. Purpose: Super Override
  272. Parameters:
  273. Notes:
  274. ------------------------------------------------------------------------------*/
  275. { incl/datinitialize.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 REAKTIVIEREN dTables _DB-REQUIRED
  282. PROCEDURE REAKTIVIEREN :
  283. /*------------------------------------------------------------------------------
  284. Purpose:
  285. Parameters: <none>
  286. Notes:
  287. ------------------------------------------------------------------------------*/
  288. { incl/datreaktivieren.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 REPOS_TABELLE dTables _DB-REQUIRED
  295. PROCEDURE REPOS_TABELLE :
  296. /*------------------------------------------------------------------------------
  297. Purpose:
  298. Parameters: <none>
  299. Notes:
  300. ------------------------------------------------------------------------------*/
  301. { incl/datrepos.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 SET_FILTER dTables _DB-REQUIRED
  308. PROCEDURE SET_FILTER :
  309. /*------------------------------------------------------------------------------
  310. Purpose:
  311. Parameters: <none>
  312. Notes:
  313. ------------------------------------------------------------------------------*/
  314. { incl/datsetfilter.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_OPENFLAG dTables _DB-REQUIRED
  321. PROCEDURE SET_OPENFLAG :
  322. /*------------------------------------------------------------------------------
  323. Purpose:
  324. Parameters: <none>
  325. Notes:
  326. ------------------------------------------------------------------------------*/
  327. { incl/datsetopenflag.i }
  328. END PROCEDURE.
  329. /* _UIB-CODE-BLOCK-END */
  330. &ANALYZE-RESUME
  331. {&DB-REQUIRED-END}
  332. {&DB-REQUIRED-START}
  333. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SET_SORT dTables _DB-REQUIRED
  334. PROCEDURE SET_SORT :
  335. /*------------------------------------------------------------------------------
  336. Purpose:
  337. Parameters: <none>
  338. Notes:
  339. ------------------------------------------------------------------------------*/
  340. { incl/datsetsort.i }
  341. END PROCEDURE.
  342. /* _UIB-CODE-BLOCK-END */
  343. &ANALYZE-RESUME
  344. {&DB-REQUIRED-END}
  345. /* ************************ Function Implementations ***************** */
  346. {&DB-REQUIRED-START}
  347. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getCurrentRecid dTables _DB-REQUIRED
  348. FUNCTION getCurrentRecid RETURNS RECID
  349. ( /* parameter-definitions */ ) :
  350. /*------------------------------------------------------------------------------
  351. Purpose:
  352. Notes:
  353. ------------------------------------------------------------------------------*/
  354. { incl/datgetcurrentrecid.i }
  355. END FUNCTION.
  356. /* _UIB-CODE-BLOCK-END */
  357. &ANALYZE-RESUME
  358. {&DB-REQUIRED-END}
  359. {&DB-REQUIRED-START}
  360. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getQueryBuffer dTables _DB-REQUIRED
  361. FUNCTION getQueryBuffer RETURNS HANDLE
  362. ( /* parameter-definitions */ ) :
  363. /*------------------------------------------------------------------------------
  364. Purpose:
  365. Notes:
  366. ------------------------------------------------------------------------------*/
  367. RETURN BUFFER rowObject:HANDLE.
  368. END FUNCTION.
  369. /* _UIB-CODE-BLOCK-END */
  370. &ANALYZE-RESUME
  371. {&DB-REQUIRED-END}
  372. {&DB-REQUIRED-START}
  373. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION openQuery dTables _DB-REQUIRED
  374. FUNCTION openQuery RETURNS LOGICAL
  375. ( /* parameter-definitions */ ) :
  376. /*------------------------------------------------------------------------------
  377. Purpose: Super Override
  378. Notes:
  379. ------------------------------------------------------------------------------*/
  380. DEF VAR Felder AS CHAR NO-UNDO.
  381. DEF VAR Inhalt AS CHAR NO-UNDO.
  382. DEF VAR ix AS INT NO-UNDO.
  383. DEF VAR cFeld AS CHAR NO-UNDO.
  384. DEF VAR iKnr AS INT NO-UNDO.
  385. /* IF NOT fOpen THEN RETURN FALSE. */
  386. xWhere = ''.
  387. xSort = ''.
  388. xString = ''.
  389. Felder = DYNAMIC-FUNCTION('getForeignFields':U) NO-ERROR.
  390. Inhalt = DYNAMIC-FUNCTION('getForeignValues':U) NO-ERROR.
  391. ix = LOOKUP('Knr' , Felder, ',') / 2.
  392. iKnr = INTEGER(ENTRY (ix, Inhalt, CHR(01))).
  393. xWhere = 'KunBest.Firma = ' + QUOTER(Firma) + ' AND '
  394. + 'KunBest.Knr = ' + STRING(iKnr) + ' '.
  395. /* xString = 'FOR EACH Debop ' + xSort + 'WHERE ' */
  396. /* + 'Debop.Firma = "' + Firma + '" AND ' */
  397. /* + 'Debop.Knr = ' + STRING(Knr) + ' ' */
  398. /* + 'NO-LOCK BY Debop.FakDat DESCENDING INDEXED-REPOSITION '. */
  399. { incl/datopenquery.i }
  400. IF xWhere <> '' THEN DYNAMIC-FUNCTION('setQueryWhere':U , INPUT xWhere ).
  401. IF xString <> '' THEN DYNAMIC-FUNCTION('setQueryString':U, INPUT xString).
  402. IF xSort <> '' THEN DYNAMIC-FUNCTION('setQuerySort':U , INPUT xSort ).
  403. RETURN SUPER( ).
  404. END FUNCTION.
  405. /* _UIB-CODE-BLOCK-END */
  406. &ANALYZE-RESUME
  407. {&DB-REQUIRED-END}