b-skontoabrechnung.w 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v9r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. /* Connected Databases
  4. anadat PROGRESS
  5. */
  6. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  7. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS bTableWin
  8. /*------------------------------------------------------------------------
  9. File: adm2\src\browser.w
  10. Description: SmartDataBrowser Object
  11. Input Parameters:
  12. <none>
  13. Output Parameters:
  14. <none>
  15. ------------------------------------------------------------------------*/
  16. /* This .W file was created with the Progress AppBuilder. */
  17. /*----------------------------------------------------------------------*/
  18. /* Create an unnamed pool to store all the widgets created
  19. by this procedure. This is a good default which assures
  20. that this procedure's triggers and internal procedures
  21. will execute in this procedure's storage, and that proper
  22. cleanup will occur on deletion of the procedure. */
  23. CREATE WIDGET-POOL.
  24. /* *************************** Definitions ************************** */
  25. /* Parameters Definitions --- */
  26. /* Local Variable Definitions --- */
  27. /* _UIB-CODE-BLOCK-END */
  28. &ANALYZE-RESUME
  29. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  30. /* ******************** Preprocessor Definitions ******************** */
  31. &Scoped-define PROCEDURE-TYPE SmartDataBrowser
  32. &Scoped-define DB-AWARE no
  33. &Scoped-define ADM-SUPPORTED-LINKS TableIO-Target,Data-Target,Update-Source
  34. /* Include file with RowObject temp-table definition */
  35. &Scoped-define DATA-FIELD-DEFS "d-skontoab.i"
  36. /* Name of first Frame and/or Browse and/or first Query */
  37. &Scoped-define FRAME-NAME F-Main
  38. &Scoped-define BROWSE-NAME br_skonto
  39. /* Internal Tables (found by Frame, Query & Browse Queries) */
  40. &Scoped-define INTERNAL-TABLES rowObject
  41. /* Definitions for BROWSE br_skonto */
  42. &Scoped-define FIELDS-IN-QUERY-br_skonto rowObject.Knr rowObject.Kunde ~
  43. rowObject.Faknr rowObject.MWST-% rowObject.Fak_Datum rowObject.Zah_Datum ~
  44. rowObject.Anz_Tage rowObject.Berechtigt rowObject.Brutto rowObject.Sko_Betr ~
  45. rowObject.Sko_Abzug rowObject.VonDatum
  46. &Scoped-define ENABLED-FIELDS-IN-QUERY-br_skonto
  47. &Scoped-define OPEN-QUERY-br_skonto OPEN QUERY br_skonto FOR EACH rowObject NO-LOCK INDEXED-REPOSITION.
  48. &Scoped-define TABLES-IN-QUERY-br_skonto rowObject
  49. &Scoped-define FIRST-TABLE-IN-QUERY-br_skonto rowObject
  50. /* Definitions for FRAME F-Main */
  51. /* Standard List Definitions */
  52. &Scoped-Define ENABLED-OBJECTS br_skonto RECT-40
  53. /* Custom List Definitions */
  54. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  55. /* _UIB-PREPROCESSOR-BLOCK-END */
  56. &ANALYZE-RESUME
  57. /* ************************ Function Prototypes ********************** */
  58. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD GETANZAHLSELEKTIERT bTableWin
  59. FUNCTION GETANZAHLSELEKTIERT RETURNS INTEGER
  60. ( /* parameter-definitions */ ) FORWARD.
  61. /* _UIB-CODE-BLOCK-END */
  62. &ANALYZE-RESUME
  63. /* *********************** Control Definitions ********************** */
  64. /* Menu Definitions */
  65. DEFINE MENU POPUP-MENU-br_skonto
  66. MENU-ITEM m_ganzer_Kunde_markieren LABEL "ganzer Kunde markieren"
  67. MENU-ITEM m_Selektion_auf_berechtigt LABEL "Selektion auf &berechtigt stellen"
  68. MENU-ITEM m_Selektion_auf_nicht LABEL "Selektion auf &nicht berechtigt stellen".
  69. /* Definitions of the field level widgets */
  70. DEFINE RECTANGLE RECT-40
  71. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  72. SIZE 139 BY 7.38.
  73. /* Query definitions */
  74. &ANALYZE-SUSPEND
  75. DEFINE TEMP-TABLE RowObject
  76. {{&DATA-FIELD-DEFS}}
  77. {src/adm2/robjflds.i}.
  78. DEFINE QUERY br_skonto FOR
  79. rowObject SCROLLING.
  80. &ANALYZE-RESUME
  81. /* Browse definitions */
  82. DEFINE BROWSE br_skonto
  83. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS br_skonto bTableWin _STRUCTURED
  84. QUERY br_skonto NO-LOCK DISPLAY
  85. rowObject.Knr FORMAT "999999":U
  86. rowObject.Kunde FORMAT "x(50)":U WIDTH 40
  87. rowObject.Faknr FORMAT "9999999":U
  88. rowObject.MWST-% COLUMN-LABEL "MW-%" FORMAT "zz9.99":U WIDTH 7
  89. rowObject.Fak_Datum COLUMN-LABEL "FakDatum" FORMAT "99.99.9999":U
  90. rowObject.Zah_Datum COLUMN-LABEL "ZahlDatum" FORMAT "99.99.9999":U
  91. rowObject.Anz_Tage COLUMN-LABEL "Tage" FORMAT "->>9":U WIDTH 6
  92. rowObject.Berechtigt COLUMN-LABEL "Ber" FORMAT "J/N":U WIDTH 4
  93. rowObject.Brutto FORMAT "->,>>>,>>9.99":U
  94. rowObject.Sko_Betr COLUMN-LABEL "Skonto" FORMAT "->,>>9.99":U
  95. rowObject.Sko_Abzug COLUMN-LABEL "Abgez." FORMAT "->,>>9.99":U
  96. WIDTH 10
  97. rowObject.VonDatum FORMAT "99.99.9999":U
  98. /* _UIB-CODE-BLOCK-END */
  99. &ANALYZE-RESUME
  100. WITH NO-ASSIGN NO-AUTO-VALIDATE NO-ROW-MARKERS SEPARATORS MULTIPLE SIZE 137 BY 6.91
  101. BGCOLOR 15 EXPANDABLE.
  102. /* ************************ Frame Definitions *********************** */
  103. DEFINE FRAME F-Main
  104. br_skonto AT ROW 1.48 COL 3
  105. RECT-40 AT ROW 1.24 COL 2
  106. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  107. SIDE-LABELS NO-UNDERLINE THREE-D
  108. AT COL 1 ROW 1 SCROLLABLE .
  109. /* *********************** Procedure Settings ************************ */
  110. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  111. /* Settings for THIS-PROCEDURE
  112. Type: SmartDataBrowser
  113. Data Source: "d-skontoab.w"
  114. Allow: Basic,Browse
  115. Frames: 1
  116. Add Fields to: Neither
  117. Other Settings: PERSISTENT-ONLY COMPILE
  118. */
  119. /* This procedure should always be RUN PERSISTENT. Report the error, */
  120. /* then cleanup and return. */
  121. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  122. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  123. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  124. RETURN.
  125. END.
  126. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  127. /* ************************* Create Window ************************** */
  128. &ANALYZE-SUSPEND _CREATE-WINDOW
  129. /* DESIGN Window definition (used by the UIB)
  130. CREATE WINDOW bTableWin ASSIGN
  131. HEIGHT = 7.95
  132. WIDTH = 141.2.
  133. /* END WINDOW DEFINITION */
  134. */
  135. &ANALYZE-RESUME
  136. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB bTableWin
  137. /* ************************* Included-Libraries *********************** */
  138. {src/adm2/browser.i}
  139. /* _UIB-CODE-BLOCK-END */
  140. &ANALYZE-RESUME
  141. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  142. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  143. /* SETTINGS FOR WINDOW bTableWin
  144. NOT-VISIBLE,,RUN-PERSISTENT */
  145. /* SETTINGS FOR FRAME F-Main
  146. NOT-VISIBLE Size-to-Fit */
  147. /* BROWSE-TAB br_skonto 1 F-Main */
  148. ASSIGN
  149. FRAME F-Main:SCROLLABLE = FALSE
  150. FRAME F-Main:HIDDEN = TRUE.
  151. ASSIGN
  152. br_skonto:POPUP-MENU IN FRAME F-Main = MENU POPUP-MENU-br_skonto:HANDLE.
  153. ASSIGN
  154. rowObject.VonDatum:VISIBLE IN BROWSE br_skonto = FALSE.
  155. /* _RUN-TIME-ATTRIBUTES-END */
  156. &ANALYZE-RESUME
  157. /* Setting information for Queries and Browse Widgets fields */
  158. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE br_skonto
  159. /* Query rebuild information for BROWSE br_skonto
  160. _TblList = "rowObject"
  161. _Options = "NO-LOCK INDEXED-REPOSITION"
  162. _FldNameList[1] > _<SDO>.rowObject.Knr
  163. "rowObject.Knr" ? ? "integer" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" ""
  164. _FldNameList[2] > _<SDO>.rowObject.Kunde
  165. "rowObject.Kunde" ? ? "character" ? ? ? ? ? ? no "?" no no "40" yes no no "U" "" ""
  166. _FldNameList[3] > _<SDO>.rowObject.Faknr
  167. "rowObject.Faknr" ? ? "integer" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" ""
  168. _FldNameList[4] > _<SDO>.rowObject.MWST-%
  169. "rowObject.MWST-%" "MW-%" ? "decimal" ? ? ? ? ? ? no "?" no no "7" yes no no "U" "" ""
  170. _FldNameList[5] > _<SDO>.rowObject.Fak_Datum
  171. "rowObject.Fak_Datum" "FakDatum" ? "date" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" ""
  172. _FldNameList[6] > _<SDO>.rowObject.Zah_Datum
  173. "rowObject.Zah_Datum" "ZahlDatum" ? "date" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" ""
  174. _FldNameList[7] > _<SDO>.rowObject.Anz_Tage
  175. "rowObject.Anz_Tage" "Tage" ? "integer" ? ? ? ? ? ? no "?" no no "6" yes no no "U" "" ""
  176. _FldNameList[8] > _<SDO>.rowObject.Berechtigt
  177. "rowObject.Berechtigt" "Ber" ? "logical" ? ? ? ? ? ? no "?" no no "4" yes no no "U" "" ""
  178. _FldNameList[9] > _<SDO>.rowObject.Brutto
  179. "rowObject.Brutto" ? ? "decimal" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" ""
  180. _FldNameList[10] > _<SDO>.rowObject.Sko_Betr
  181. "rowObject.Sko_Betr" "Skonto" ? "decimal" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" ""
  182. _FldNameList[11] > _<SDO>.rowObject.Sko_Abzug
  183. "rowObject.Sko_Abzug" "Abgez." ? "decimal" ? ? ? ? ? ? no ? no no "10" yes no no "U" "" ""
  184. _FldNameList[12] > _<SDO>.rowObject.VonDatum
  185. "rowObject.VonDatum" ? ? "date" ? ? ? ? ? ? no ? no no ? no no no "U" "" ""
  186. _Query is NOT OPENED
  187. */ /* BROWSE br_skonto */
  188. &ANALYZE-RESUME
  189. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  190. /* Query rebuild information for FRAME F-Main
  191. _Options = "NO-LOCK"
  192. _Query is NOT OPENED
  193. */ /* FRAME F-Main */
  194. &ANALYZE-RESUME
  195. /* ************************ Control Triggers ************************ */
  196. &Scoped-define BROWSE-NAME br_skonto
  197. &Scoped-define SELF-NAME br_skonto
  198. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_skonto bTableWin
  199. ON CTRL-END OF br_skonto IN FRAME F-Main
  200. DO:
  201. APPLY "END":U TO BROWSE {&BROWSE-NAME}.
  202. END.
  203. /* _UIB-CODE-BLOCK-END */
  204. &ANALYZE-RESUME
  205. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_skonto bTableWin
  206. ON CTRL-HOME OF br_skonto IN FRAME F-Main
  207. DO:
  208. APPLY "HOME":U TO BROWSE {&BROWSE-NAME}.
  209. END.
  210. /* _UIB-CODE-BLOCK-END */
  211. &ANALYZE-RESUME
  212. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_skonto bTableWin
  213. ON END OF br_skonto IN FRAME F-Main
  214. DO:
  215. {src/adm2/brsend.i}
  216. END.
  217. /* _UIB-CODE-BLOCK-END */
  218. &ANALYZE-RESUME
  219. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_skonto bTableWin
  220. ON HOME OF br_skonto IN FRAME F-Main
  221. DO:
  222. {src/adm2/brshome.i}
  223. END.
  224. /* _UIB-CODE-BLOCK-END */
  225. &ANALYZE-RESUME
  226. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_skonto bTableWin
  227. ON OFF-END OF br_skonto IN FRAME F-Main
  228. DO:
  229. {src/adm2/brsoffnd.i}
  230. END.
  231. /* _UIB-CODE-BLOCK-END */
  232. &ANALYZE-RESUME
  233. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_skonto bTableWin
  234. ON OFF-HOME OF br_skonto IN FRAME F-Main
  235. DO:
  236. {src/adm2/brsoffhm.i}
  237. END.
  238. /* _UIB-CODE-BLOCK-END */
  239. &ANALYZE-RESUME
  240. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_skonto bTableWin
  241. ON ROW-ENTRY OF br_skonto IN FRAME F-Main
  242. DO:
  243. {src/adm2/brsentry.i}
  244. END.
  245. /* _UIB-CODE-BLOCK-END */
  246. &ANALYZE-RESUME
  247. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_skonto bTableWin
  248. ON ROW-LEAVE OF br_skonto IN FRAME F-Main
  249. DO:
  250. {src/adm2/brsleave.i}
  251. END.
  252. /* _UIB-CODE-BLOCK-END */
  253. &ANALYZE-RESUME
  254. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_skonto bTableWin
  255. ON SCROLL-NOTIFY OF br_skonto IN FRAME F-Main
  256. DO:
  257. {src/adm2/brsscrol.i}
  258. END.
  259. /* _UIB-CODE-BLOCK-END */
  260. &ANALYZE-RESUME
  261. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_skonto bTableWin
  262. ON VALUE-CHANGED OF br_skonto IN FRAME F-Main
  263. DO:
  264. {src/adm2/brschnge.i}
  265. END.
  266. /* _UIB-CODE-BLOCK-END */
  267. &ANALYZE-RESUME
  268. &Scoped-define SELF-NAME m_ganzer_Kunde_markieren
  269. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL m_ganzer_Kunde_markieren bTableWin
  270. ON CHOOSE OF MENU-ITEM m_ganzer_Kunde_markieren /* ganzer Kunde markieren */
  271. DO:
  272. RUN KUNDEMARKIEREN.
  273. END.
  274. /* _UIB-CODE-BLOCK-END */
  275. &ANALYZE-RESUME
  276. &Scoped-define SELF-NAME m_Selektion_auf_berechtigt
  277. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL m_Selektion_auf_berechtigt bTableWin
  278. ON CHOOSE OF MENU-ITEM m_Selektion_auf_berechtigt /* Selektion auf berechtigt stellen */
  279. DO:
  280. RUN BERECHTIGT ( INPUT TRUE ).
  281. END.
  282. /* _UIB-CODE-BLOCK-END */
  283. &ANALYZE-RESUME
  284. &Scoped-define SELF-NAME m_Selektion_auf_nicht
  285. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL m_Selektion_auf_nicht bTableWin
  286. ON CHOOSE OF MENU-ITEM m_Selektion_auf_nicht /* Selektion auf nicht berechtigt stellen */
  287. DO:
  288. RUN BERECHTIGT ( INPUT FALSE ).
  289. END.
  290. /* _UIB-CODE-BLOCK-END */
  291. &ANALYZE-RESUME
  292. &UNDEFINE SELF-NAME
  293. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK bTableWin
  294. /* *************************** Main Block *************************** */
  295. SUBSCRIBE TO 'ACTIVATE_POPUPMENU' ANYWHERE.
  296. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  297. RUN initializeObject.
  298. &ENDIF
  299. /* _UIB-CODE-BLOCK-END */
  300. &ANALYZE-RESUME
  301. /* ********************** Internal Procedures *********************** */
  302. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ACTIVATE_POPUPMENU bTableWin
  303. PROCEDURE ACTIVATE_POPUPMENU :
  304. /*------------------------------------------------------------------------------
  305. Purpose:
  306. Parameters: <none>
  307. Notes:
  308. ------------------------------------------------------------------------------*/
  309. DEF INPUT PARAMETER ipFlag AS LOG NO-UNDO.
  310. DEF VAR hPopup AS HANDLE NO-UNDO.
  311. hPopup = {&BROWSE-NAME}:POPUP-MENU IN FRAME {&FRAME-NAME}.
  312. hPopup:SENSITIVE = ipFlag.
  313. END PROCEDURE.
  314. /* _UIB-CODE-BLOCK-END */
  315. &ANALYZE-RESUME
  316. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE BERECHTIGT bTableWin
  317. PROCEDURE BERECHTIGT :
  318. /*------------------------------------------------------------------------------
  319. Purpose:
  320. Parameters: <none>
  321. Notes:
  322. ------------------------------------------------------------------------------*/
  323. DEF INPUT PARAMETER ipFlag AS LOG NO-UNDO.
  324. DEF VAR io AS LOG NO-UNDO.
  325. DEF VAR ix AS INT NO-UNDO.
  326. DEF VAR Firma AS CHAR NO-UNDO.
  327. DEF VAR Sko_Sta AS INT NO-UNDO.
  328. DEF VAR Knr AS INT NO-UNDO.
  329. DEF VAR VonDatum AS DATE NO-UNDO.
  330. DEF VAR Faknr AS INT NO-UNDO.
  331. DEF VAR MWST-% AS DEC NO-UNDO.
  332. DEF VAR hQuery AS HANDLE NO-UNDO.
  333. DEF VAR hBuffer AS HANDLE NO-UNDO.
  334. DEF VAR hData AS HANDLE NO-UNDO.
  335. DEF VAR hFeld AS HANDLE NO-UNDO.
  336. DEF VAR sRowid AS ROWID NO-UNDO.
  337. hData = DYNAMIC-FUNCTION('getDataSource':U ) NO-ERROR.
  338. hQuery = DYNAMIC-FUNCTION('getDataHandle':U IN hData) NO-ERROR.
  339. hBuffer = hQuery:GET-BUFFER-HANDLE(1) NO-ERROR.
  340. sRowid = ?.
  341. DO WITH FRAME {&FRAME-NAME}:
  342. DO ix = 1 TO BROWSE {&BROWSE-NAME}:NUM-SELECTED-ROWS.
  343. io = BROWSE {&BROWSE-NAME}:FETCH-SELECTED-ROW(ix) NO-ERROR.
  344. IF NOT io THEN NEXT.
  345. hFeld = hBuffer:BUFFER-FIELD('Firma') NO-ERROR.
  346. Firma = hFeld:BUFFER-VALUE NO-ERROR.
  347. hFeld = hBuffer:BUFFER-FIELD('Sko_Sta') NO-ERROR.
  348. Sko_Sta = INTEGER(hFeld:BUFFER-VALUE) NO-ERROR.
  349. hFeld = hBuffer:BUFFER-FIELD('Knr') NO-ERROR.
  350. Knr = INTEGER(hFeld:BUFFER-VALUE) NO-ERROR.
  351. hFeld = hBuffer:BUFFER-FIELD('VonDatum') NO-ERROR.
  352. VonDatum = DATE(hFeld:BUFFER-VALUE) NO-ERROR.
  353. hFeld = hBuffer:BUFFER-FIELD('Faknr') NO-ERROR.
  354. Faknr = INTEGER(hFeld:BUFFER-VALUE) NO-ERROR.
  355. hFeld = hBuffer:BUFFER-FIELD('MWST-%') NO-ERROR.
  356. MWST-% = DECIMAL(hFeld:BUFFER-VALUE) NO-ERROR.
  357. REPEAT TRANSACTION WITH FRAME {&FRAME-NAME}:
  358. io = FALSE.
  359. FIND SkontoAb USE-INDEX SkontoAb-k1
  360. WHERE SkontoAb.Firma = Firma
  361. AND SkontoAb.Sko_Sta = Sko_Sta
  362. AND SkontoAb.Knr = Knr
  363. AND SkontoAb.VonDatum = VonDatum
  364. AND SkontoAb.Faknr = Faknr
  365. AND SkontoAb.MWST-% = MWST-% NO-ERROR.
  366. IF NOT AVAILABLE SkontoAb THEN LEAVE.
  367. IF sRowid = ? THEN sRowid = ROWID(SkontoAb).
  368. SkontoAb.Berechtigt = ipFlag.
  369. RELEASE SkontoAb.
  370. io = TRUE.
  371. LEAVE.
  372. END.
  373. IF NOT io THEN NEXT.
  374. END.
  375. DYNAMIC-FUNCTION('openQuery':U IN hData) NO-ERROR.
  376. RUN REPOS IN hData ( INPUT sRowid ).
  377. BROWSE {&BROWSE-NAME}:SELECT-FOCUSED-ROW().
  378. RUN KUNDEMARKIEREN.
  379. END.
  380. END PROCEDURE.
  381. /* _UIB-CODE-BLOCK-END */
  382. &ANALYZE-RESUME
  383. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI bTableWin _DEFAULT-DISABLE
  384. PROCEDURE disable_UI :
  385. /*------------------------------------------------------------------------------
  386. Purpose: DISABLE the User Interface
  387. Parameters: <none>
  388. Notes: Here we clean-up the user-interface by deleting
  389. dynamic widgets we have created and/or hide
  390. frames. This procedure is usually called when
  391. we are ready to "clean-up" after running.
  392. ------------------------------------------------------------------------------*/
  393. /* Hide all frames. */
  394. HIDE FRAME F-Main.
  395. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  396. END PROCEDURE.
  397. /* _UIB-CODE-BLOCK-END */
  398. &ANALYZE-RESUME
  399. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject bTableWin
  400. PROCEDURE enableObject :
  401. /*------------------------------------------------------------------------------
  402. Purpose: Super Override
  403. Parameters:
  404. Notes:
  405. ------------------------------------------------------------------------------*/
  406. /* Code placed here will execute PRIOR to standard behavior. */
  407. RUN SUPER.
  408. /* Code placed here will execute AFTER standard behavior. */
  409. END PROCEDURE.
  410. /* _UIB-CODE-BLOCK-END */
  411. &ANALYZE-RESUME
  412. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE GETSKONTODATEN bTableWin
  413. PROCEDURE GETSKONTODATEN :
  414. /*------------------------------------------------------------------------------
  415. Purpose:
  416. Parameters: <none>
  417. Notes:
  418. ------------------------------------------------------------------------------*/
  419. DEF VAR io AS LOG NO-UNDO.
  420. DEF VAR cDaten AS CHAR NO-UNDO.
  421. DEF VAR hQuery AS HANDLE NO-UNDO.
  422. DEF VAR hBuffer AS HANDLE NO-UNDO.
  423. DEF VAR hData AS HANDLE NO-UNDO.
  424. DEF VAR hFeld AS HANDLE NO-UNDO.
  425. hData = DYNAMIC-FUNCTION('getDataSource':U ) NO-ERROR.
  426. hQuery = DYNAMIC-FUNCTION('getDataHandle':U IN hData) NO-ERROR.
  427. hBuffer = hQuery:GET-BUFFER-HANDLE(1) NO-ERROR.
  428. DO WITH FRAME {&FRAME-NAME}:
  429. cDaten = ''.
  430. io = BROWSE {&BROWSE-NAME}:FETCH-SELECTED-ROW(01) NO-ERROR.
  431. IF NOT io THEN RETURN 'ERROR'.
  432. hFeld = hBuffer:BUFFER-FIELD('Firma') NO-ERROR.
  433. cDaten = cDaten + hFeld:BUFFER-VALUE + CHR(01).
  434. hFeld = hBuffer:BUFFER-FIELD('Sko_Sta') NO-ERROR.
  435. cDaten = CDaten + hFeld:BUFFER-VALUE + CHR(01).
  436. hFeld = hBuffer:BUFFER-FIELD('Knr') NO-ERROR.
  437. cDaten = CDaten + hFeld:BUFFER-VALUE + CHR(01).
  438. hFeld = hBuffer:BUFFER-FIELD('VonDatum') NO-ERROR.
  439. cDaten = CDaten + hFeld:BUFFER-VALUE + CHR(01).
  440. hFeld = hBuffer:BUFFER-FIELD('Faknr') NO-ERROR.
  441. cDaten = CDaten + hFeld:BUFFER-VALUE + CHR(01).
  442. hFeld = hBuffer:BUFFER-FIELD('MWST-%') NO-ERROR.
  443. cDaten = CDaten + hFeld:BUFFER-VALUE.
  444. RETURN cDaten.
  445. END.
  446. END PROCEDURE.
  447. /* _UIB-CODE-BLOCK-END */
  448. &ANALYZE-RESUME
  449. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KUNDEMARKIEREN bTableWin
  450. PROCEDURE KUNDEMARKIEREN :
  451. /*------------------------------------------------------------------------------
  452. Purpose:
  453. Parameters: <none>
  454. Notes:
  455. ------------------------------------------------------------------------------*/
  456. DEF VAR io AS LOG NO-UNDO.
  457. DEF VAR ix AS INT NO-UNDO.
  458. DEF VAR Knr AS INT NO-UNDO.
  459. DEF VAR hQuery AS HANDLE NO-UNDO.
  460. DEF VAR hBuffer AS HANDLE NO-UNDO.
  461. DEF VAR hData AS HANDLE NO-UNDO.
  462. DEF VAR hFeld AS HANDLE NO-UNDO.
  463. DEF VAR sRowid AS ROWID NO-UNDO.
  464. DEF VAR eRowid AS ROWID NO-UNDO.
  465. hData = DYNAMIC-FUNCTION('getDataSource':U ) NO-ERROR.
  466. hQuery = DYNAMIC-FUNCTION('getDataHandle':U IN hData) NO-ERROR.
  467. hBuffer = hQuery:GET-BUFFER-HANDLE(1) NO-ERROR.
  468. DO WITH FRAME {&FRAME-NAME}:
  469. io = BROWSE {&BROWSE-NAME}:FETCH-SELECTED-ROW(1) NO-ERROR.
  470. IF NOT io THEN RETURN NO-APPLY.
  471. hFeld = hBuffer:BUFFER-FIELD('Knr') NO-ERROR.
  472. Knr = INTEGER(hFeld:BUFFER-VALUE) NO-ERROR.
  473. sRowid = hBuffer:ROWID.
  474. eRowid = hBuffer:ROWID.
  475. BROWSE {&BROWSE-NAME}:DESELECT-ROWS().
  476. BROWSE {&BROWSE-NAME}:SELECT-FOCUSED-ROW() NO-ERROR.
  477. DO WHILE TRUE:
  478. io = BROWSE {&BROWSE-NAME}:SELECT-PREV-ROW() NO-ERROR.
  479. IF NOT io THEN LEAVE.
  480. hFeld = hBuffer:BUFFER-FIELD('Knr') NO-ERROR.
  481. IF INTEGER(hFeld:BUFFER-VALUE) <> Knr THEN LEAVE.
  482. sRowid = hBuffer:ROWID.
  483. END.
  484. DO WHILE TRUE:
  485. io = BROWSE {&BROWSE-NAME}:SELECT-NEXT-ROW() NO-ERROR.
  486. IF NOT io THEN LEAVE.
  487. hFeld = hBuffer:BUFFER-FIELD('Knr') NO-ERROR.
  488. IF INTEGER(hFeld:BUFFER-VALUE) <> Knr THEN LEAVE.
  489. eRowid = hBuffer:ROWID.
  490. END.
  491. BROWSE {&BROWSE-NAME}:SELECT-ALL ( sRowid, eRowid ).
  492. END.
  493. END PROCEDURE.
  494. /* _UIB-CODE-BLOCK-END */
  495. &ANALYZE-RESUME
  496. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LOESCHEN bTableWin
  497. PROCEDURE LOESCHEN :
  498. /*------------------------------------------------------------------------------
  499. Purpose:
  500. Parameters: <none>
  501. Notes:
  502. ------------------------------------------------------------------------------*/
  503. DEF VAR ix AS INT NO-UNDO.
  504. DEF VAR hQuery AS HANDLE NO-UNDO.
  505. DEF VAR hBuffer AS HANDLE NO-UNDO.
  506. DEF VAR hData AS HANDLE NO-UNDO.
  507. hData = DYNAMIC-FUNCTION('getDataSource':U ) NO-ERROR.
  508. hQuery = DYNAMIC-FUNCTION('getDataHandle':U IN hData) NO-ERROR.
  509. hBuffer = hQuery:GET-BUFFER-HANDLE(1) NO-ERROR.
  510. DO WITH FRAME {&FRAME-NAME}:
  511. DO ix = 1 TO BROWSE {&BROWSE-NAME}:NUM-SELECTED-ROWS:
  512. BROWSE {&BROWSE-NAME}:FETCH-SELECTED-ROW(ix).
  513. DYNAMIC-FUNCTION('deleteRow':U IN hData, INPUT STRING(hBuffer:ROWID)).
  514. END.
  515. {&BROWSE-NAME}:DELETE-SELECTED-ROWS().
  516. END.
  517. END PROCEDURE.
  518. /* _UIB-CODE-BLOCK-END */
  519. &ANALYZE-RESUME
  520. /* ************************ Function Implementations ***************** */
  521. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION GETANZAHLSELEKTIERT bTableWin
  522. FUNCTION GETANZAHLSELEKTIERT RETURNS INTEGER
  523. ( /* parameter-definitions */ ) :
  524. /*------------------------------------------------------------------------------
  525. Purpose:
  526. Notes:
  527. ------------------------------------------------------------------------------*/
  528. DO WITH FRAME {&FRAME-NAME}:
  529. RETURN {&BROWSE-NAME}:NUM-SELECTED-ROWS.
  530. END.
  531. END FUNCTION.
  532. /* _UIB-CODE-BLOCK-END */
  533. &ANALYZE-RESUME