d-fehlwerte.w 17 KB

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