d-bontab.w 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363
  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. DEF VAR xWhere AS CHAR NO-UNDO.
  30. DEF VAR xSort AS CHAR NO-UNDO.
  31. DEF VAR Firma AS CHAR NO-UNDO.
  32. DEF VAR SAktiv AS LOG NO-UNDO INIT FALSE.
  33. /* _UIB-CODE-BLOCK-END */
  34. &ANALYZE-RESUME
  35. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  36. /* ******************** Preprocessor Definitions ******************** */
  37. &Scoped-define PROCEDURE-TYPE SmartDataObject
  38. &Scoped-define DB-AWARE yes
  39. &Scoped-define ADM-SUPPORTED-LINKS Data-Source,Data-Target,Navigation-Target,Update-Target,Commit-Target,Filter-Target
  40. /* Db-Required definitions. */
  41. &IF DEFINED(DB-REQUIRED) = 0 &THEN
  42. &GLOBAL-DEFINE DB-REQUIRED TRUE
  43. &ENDIF
  44. &GLOBAL-DEFINE DB-REQUIRED-START &IF {&DB-REQUIRED} &THEN
  45. &GLOBAL-DEFINE DB-REQUIRED-END &ENDIF
  46. &Scoped-define QUERY-NAME Query-Main
  47. /* Internal Tables (found by Frame, Query & Browse Queries) */
  48. &Scoped-define INTERNAL-TABLES BonTab
  49. /* Definitions for QUERY Query-Main */
  50. &Scoped-Define ENABLED-FIELDS Firma Ku_Bon Art_Bon Bon_Summ DebBez ArtBez
  51. &Scoped-define ENABLED-FIELDS-IN-BonTab Firma Ku_Bon Art_Bon Bon_Summ
  52. &Scoped-Define DATA-FIELDS Firma Ku_Bon Art_Bon Bon_Summ DebBez ArtBez
  53. &Scoped-define DATA-FIELDS-IN-BonTab Firma Ku_Bon Art_Bon Bon_Summ
  54. &Scoped-Define MANDATORY-FIELDS
  55. &Scoped-Define APPLICATION-SERVICE
  56. &Scoped-Define ASSIGN-LIST
  57. &Scoped-Define DATA-FIELD-DEFS "d-bontab.i"
  58. &Scoped-define QUERY-STRING-Query-Main FOR EACH BonTab NO-LOCK INDEXED-REPOSITION
  59. {&DB-REQUIRED-START}
  60. &Scoped-define OPEN-QUERY-Query-Main OPEN QUERY Query-Main FOR EACH BonTab NO-LOCK INDEXED-REPOSITION.
  61. {&DB-REQUIRED-END}
  62. &Scoped-define TABLES-IN-QUERY-Query-Main BonTab
  63. &Scoped-define FIRST-TABLE-IN-QUERY-Query-Main BonTab
  64. /* Custom List Definitions */
  65. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  66. /* _UIB-PREPROCESSOR-BLOCK-END */
  67. &ANALYZE-RESUME
  68. /* ************************ Function Prototypes ********************** */
  69. {&DB-REQUIRED-START}
  70. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD GETARTBONUS dTables _DB-REQUIRED
  71. FUNCTION GETARTBONUS RETURNS CHARACTER
  72. ( ipGrp AS INT ) FORWARD.
  73. /* _UIB-CODE-BLOCK-END */
  74. &ANALYZE-RESUME
  75. {&DB-REQUIRED-END}
  76. {&DB-REQUIRED-START}
  77. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD GETDEBBONUS dTables _DB-REQUIRED
  78. FUNCTION GETDEBBONUS RETURNS CHARACTER
  79. ( ipGrp AS INT ) FORWARD.
  80. /* _UIB-CODE-BLOCK-END */
  81. &ANALYZE-RESUME
  82. {&DB-REQUIRED-END}
  83. {&DB-REQUIRED-START}
  84. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD openQuery dTables _DB-REQUIRED
  85. FUNCTION openQuery RETURNS LOGICAL
  86. ( /* parameter-definitions */ ) FORWARD.
  87. /* _UIB-CODE-BLOCK-END */
  88. &ANALYZE-RESUME
  89. {&DB-REQUIRED-END}
  90. /* *********************** Control Definitions ********************** */
  91. {&DB-REQUIRED-START}
  92. /* Query definitions */
  93. &ANALYZE-SUSPEND
  94. DEFINE QUERY Query-Main FOR
  95. BonTab SCROLLING.
  96. &ANALYZE-RESUME
  97. {&DB-REQUIRED-END}
  98. /* ************************ Frame Definitions *********************** */
  99. /* *********************** Procedure Settings ************************ */
  100. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  101. /* Settings for THIS-PROCEDURE
  102. Type: SmartDataObject
  103. Allow: Query
  104. Frames: 0
  105. Add Fields to: Neither
  106. Other Settings: PERSISTENT-ONLY COMPILE APPSERVER DB-AWARE
  107. */
  108. /* This procedure should always be RUN PERSISTENT. Report the error, */
  109. /* then cleanup and return. */
  110. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  111. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  112. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  113. RETURN.
  114. END.
  115. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  116. /* ************************* Create Window ************************** */
  117. &ANALYZE-SUSPEND _CREATE-WINDOW
  118. /* DESIGN Window definition (used by the UIB)
  119. CREATE WINDOW dTables ASSIGN
  120. HEIGHT = 1.62
  121. WIDTH = 46.6.
  122. /* END WINDOW DEFINITION */
  123. */
  124. &ANALYZE-RESUME
  125. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB dTables
  126. /* ************************* Included-Libraries *********************** */
  127. {src/adm2/data.i}
  128. /* _UIB-CODE-BLOCK-END */
  129. &ANALYZE-RESUME
  130. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  131. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  132. /* SETTINGS FOR WINDOW dTables
  133. VISIBLE,,RUN-PERSISTENT */
  134. /* _RUN-TIME-ATTRIBUTES-END */
  135. &ANALYZE-RESUME
  136. /* Setting information for Queries and Browse Widgets fields */
  137. &ANALYZE-SUSPEND _QUERY-BLOCK QUERY Query-Main
  138. /* Query rebuild information for SmartDataObject Query-Main
  139. _TblList = "AnaDat.BonTab"
  140. _Options = "NO-LOCK INDEXED-REPOSITION"
  141. _FldNameList[1] > AnaDat.BonTab.Firma
  142. "Firma" "Firma" ? ? "character" ? ? ? ? ? ? yes ? no 8 yes ""
  143. _FldNameList[2] > AnaDat.BonTab.Ku_Bon
  144. "Ku_Bon" "Ku_Bon" ? ? "integer" ? ? ? ? ? ? yes ? no 7.6 yes ""
  145. _FldNameList[3] > AnaDat.BonTab.Art_Bon
  146. "Art_Bon" "Art_Bon" ? ? "integer" ? ? ? ? ? ? yes ? no 7.6 yes ""
  147. _FldNameList[4] > AnaDat.BonTab.Bon_Summ
  148. "Bon_Summ" "Bon_Summ" ? ? "integer" ? ? ? ? ? ? yes ? no 10.8 yes ""
  149. _FldNameList[5] > "_<CALC>"
  150. "DYNAMIC-FUNCTION('GETDEBBONUS':U, INPUT RowObject.Ku_Bon)" "DebBez" "DebBez" "x(30)" "character" ? ? ? ? ? ? yes ? no 30 no ?
  151. _FldNameList[6] > "_<CALC>"
  152. "DYNAMIC-FUNCTION('GETARTBONUS':U, INPUT RowObject.Art_Bon )" "ArtBez" "ArtBez" "x(30)" "character" ? ? ? ? ? ? yes ? no 30 no ?
  153. _Design-Parent is WINDOW dTables @ ( 1.14 , 2.6 )
  154. */ /* QUERY Query-Main */
  155. &ANALYZE-RESUME
  156. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK dTables
  157. /* *************************** Main Block *************************** */
  158. SAktiv = DYNAMIC-FUNCTION('getSuperAktiv':U) NO-ERROR.
  159. IF SAktiv THEN DO:
  160. Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
  161. END.
  162. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  163. RUN initializeObject.
  164. &ENDIF
  165. /* _UIB-CODE-BLOCK-END */
  166. &ANALYZE-RESUME
  167. /* ********************** Internal Procedures *********************** */
  168. {&DB-REQUIRED-START}
  169. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DATA.CALCULATE dTables DATA.CALCULATE _DB-REQUIRED
  170. PROCEDURE DATA.CALCULATE :
  171. /*------------------------------------------------------------------------------
  172. Purpose: Calculate all the Calculated Expressions found in the
  173. SmartDataObject.
  174. Parameters: <none>
  175. ------------------------------------------------------------------------------*/
  176. ASSIGN
  177. rowObject.ArtBez = (DYNAMIC-FUNCTION('GETARTBONUS':U, INPUT RowObject.Art_Bon ))
  178. rowObject.DebBez = (DYNAMIC-FUNCTION('GETDEBBONUS':U, INPUT RowObject.Ku_Bon))
  179. .
  180. END PROCEDURE.
  181. /* _UIB-CODE-BLOCK-END */
  182. &ANALYZE-RESUME
  183. {&DB-REQUIRED-END}
  184. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI dTables _DEFAULT-DISABLE
  185. PROCEDURE disable_UI :
  186. /*------------------------------------------------------------------------------
  187. Purpose: DISABLE the User Interface
  188. Parameters: <none>
  189. Notes: Here we clean-up the user-interface by deleting
  190. dynamic widgets we have created and/or hide
  191. frames. This procedure is usually called when
  192. we are ready to "clean-up" after running.
  193. ------------------------------------------------------------------------------*/
  194. /* Hide all frames. */
  195. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  196. END PROCEDURE.
  197. /* _UIB-CODE-BLOCK-END */
  198. &ANALYZE-RESUME
  199. /* ************************ Function Implementations ***************** */
  200. {&DB-REQUIRED-START}
  201. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION GETARTBONUS dTables _DB-REQUIRED
  202. FUNCTION GETARTBONUS RETURNS CHARACTER
  203. ( ipGrp AS INT ) :
  204. /*------------------------------------------------------------------------------
  205. Purpose:
  206. Notes:
  207. ------------------------------------------------------------------------------*/
  208. FIND Tabel USE-INDEX Tabel-k2
  209. WHERE Tabel.Firma = Firma
  210. AND Tabel.RecArt = 'ABONUS'
  211. AND Tabel.CodeI = ipGrp
  212. AND Tabel.CodeC = ''
  213. AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR.
  214. IF AVAILABLE Tabel THEN RETURN Tabel.Bez1.
  215. ELSE RETURN '??????????'.
  216. END FUNCTION.
  217. /* _UIB-CODE-BLOCK-END */
  218. &ANALYZE-RESUME
  219. {&DB-REQUIRED-END}
  220. {&DB-REQUIRED-START}
  221. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION GETDEBBONUS dTables _DB-REQUIRED
  222. FUNCTION GETDEBBONUS RETURNS CHARACTER
  223. ( ipGrp AS INT ) :
  224. /*------------------------------------------------------------------------------
  225. Purpose:
  226. Notes:
  227. ------------------------------------------------------------------------------*/
  228. FIND Tabel USE-INDEX Tabel-k2
  229. WHERE Tabel.Firma = Firma
  230. AND Tabel.RecArt = 'BONUS'
  231. AND Tabel.CodeI = ipGrp
  232. AND Tabel.CodeC = ''
  233. AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR.
  234. IF AVAILABLE Tabel THEN RETURN Tabel.Bez1.
  235. ELSE RETURN '??????????'.
  236. END FUNCTION.
  237. /* _UIB-CODE-BLOCK-END */
  238. &ANALYZE-RESUME
  239. {&DB-REQUIRED-END}
  240. {&DB-REQUIRED-START}
  241. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION openQuery dTables _DB-REQUIRED
  242. FUNCTION openQuery RETURNS LOGICAL
  243. ( /* parameter-definitions */ ) :
  244. /*------------------------------------------------------------------------------
  245. Purpose: Super Override
  246. Notes:
  247. ------------------------------------------------------------------------------*/
  248. xWhere = 'BonTab.Firma = "' + Firma + '" '.
  249. DYNAMIC-FUNCTION('setQueryWhere':U, INPUT xWhere).
  250. /* xSort = ''. */
  251. /* DYNAMIC-FUNCTION('setQuerySort':U, INPUT xSort). */
  252. /* xWhere = ''. */
  253. /* DYNAMIC-FUNCTION('setQueryString':U, INPUT xWhere). */
  254. RETURN SUPER( ).
  255. END FUNCTION.
  256. /* _UIB-CODE-BLOCK-END */
  257. &ANALYZE-RESUME
  258. {&DB-REQUIRED-END}