b-debop.w 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927
  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. &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. DEF VAR ProgName AS CHAR NO-UNDO.
  28. DEF VAR SectionName AS CHAR NO-UNDO.
  29. DEF VAR Offen AS LOG NO-UNDO INIT FALSE.
  30. DEF VAR Firma AS CHAR NO-UNDO.
  31. DEF VAR AdFirma AS CHAR NO-UNDO.
  32. DEF VAR hData AS HANDLE NO-UNDO.
  33. DEF VAR hContainer AS HANDLE NO-UNDO.
  34. DEF VAR cVorlage AS CHAR NO-UNDO.
  35. DEF VAR cDokument AS CHAR NO-UNDO.
  36. DEF VAR cDaten AS CHAR NO-UNDO.
  37. DEF VAR wordAppl AS COM-HANDLE NO-UNDO.
  38. DEF WORKFILE WBrowser FIELD Pos AS INT
  39. FIELD Feld AS CHAR
  40. FIELD Breit AS DEC
  41. FIELD fAktiv AS LOG
  42. FIELD PosAkt AS INT
  43. FIELD BreitAkt AS DEC
  44. FIELD hCol AS HANDLE.
  45. /* _UIB-CODE-BLOCK-END */
  46. &ANALYZE-RESUME
  47. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  48. /* ******************** Preprocessor Definitions ******************** */
  49. &Scoped-define PROCEDURE-TYPE SmartDataBrowser
  50. &Scoped-define DB-AWARE no
  51. &Scoped-define ADM-SUPPORTED-LINKS TableIO-Target,Data-Target,Update-Source
  52. /* Include file with RowObject temp-table definition */
  53. &Scoped-define DATA-FIELD-DEFS "d-debop.i"
  54. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  55. &Scoped-define FRAME-NAME F-Main
  56. &Scoped-define BROWSE-NAME br_table
  57. /* Internal Tables (found by Frame, Query & Browse Queries) */
  58. &Scoped-define INTERNAL-TABLES rowObject
  59. /* Definitions for BROWSE br_table */
  60. &Scoped-define FIELDS-IN-QUERY-br_table rowObject.Faknr rowObject.Fakdat ~
  61. rowObject.Faellig rowObject.Kte rowObject.Fakbetr_FRW rowObject.Zahdat ~
  62. rowObject.Zahbetr_FRW rowObject.Skonto_FRW rowObject.Saldo_FRW ~
  63. rowObject.FRW rowObject.Kurs
  64. &Scoped-define ENABLED-FIELDS-IN-QUERY-br_table
  65. &Scoped-define QUERY-STRING-br_table FOR EACH rowObject NO-LOCK INDEXED-REPOSITION
  66. &Scoped-define OPEN-QUERY-br_table OPEN QUERY br_table FOR EACH rowObject NO-LOCK INDEXED-REPOSITION.
  67. &Scoped-define TABLES-IN-QUERY-br_table rowObject
  68. &Scoped-define FIRST-TABLE-IN-QUERY-br_table rowObject
  69. /* Definitions for FRAME F-Main */
  70. /* Standard List Definitions */
  71. &Scoped-Define ENABLED-OBJECTS RECT-1 br_table
  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. /* *********************** Control Definitions ********************** */
  77. /* Menu Definitions */
  78. DEFINE MENU POPUP-MENU-br_table
  79. MENU-ITEM m_Kontoauszug LABEL "Kontoauszug"
  80. MENU-ITEM m_Mahnung_1 LABEL "1. Mahnung"
  81. MENU-ITEM m_Mahnung_2 LABEL "2. Mahnung"
  82. MENU-ITEM m_Mahnung_3 LABEL "3. Mahnung"
  83. MENU-ITEM m_Suchen_nach_Fakturanummer LABEL "Suchen nach Fakturanummer".
  84. /* Definitions of the field level widgets */
  85. DEFINE RECTANGLE RECT-1
  86. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  87. SIZE 133 BY 12.38.
  88. /* Query definitions */
  89. &ANALYZE-SUSPEND
  90. DEFINE TEMP-TABLE RowObject NO-UNDO
  91. {{&DATA-FIELD-DEFS}}
  92. {src/adm2/robjflds.i}.
  93. DEFINE QUERY br_table FOR
  94. rowObject SCROLLING.
  95. &ANALYZE-RESUME
  96. /* Browse definitions */
  97. DEFINE BROWSE br_table
  98. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS br_table bTableWin _STRUCTURED
  99. QUERY br_table NO-LOCK DISPLAY
  100. rowObject.Faknr FORMAT "zzzzz9":U
  101. rowObject.Fakdat COLUMN-LABEL "Datum" FORMAT "99.99.9999":U
  102. rowObject.Faellig COLUMN-LABEL "Fällig" FORMAT "99.99.9999":U
  103. rowObject.Kte FORMAT "x(04)":U
  104. rowObject.Fakbetr_FRW COLUMN-LABEL "Betrag Frw" FORMAT "zzz,zzz,zz9.99-":U
  105. rowObject.Zahdat COLUMN-LABEL "ZahlDatum" FORMAT "99.99.9999":U
  106. rowObject.Zahbetr_FRW COLUMN-LABEL "bezahlt Frw" FORMAT "zzz,zzz,zz9.99-":U
  107. rowObject.Skonto_FRW COLUMN-LABEL "Skonto Frw" FORMAT "zzz,zzz,zz9.99-":U
  108. rowObject.Saldo_FRW COLUMN-LABEL "Saldo Frw" FORMAT "zzz,zzz,zz9.99-":U
  109. rowObject.FRW FORMAT "x(03)":U
  110. rowObject.Kurs FORMAT "zzz9.9999":U
  111. /* _UIB-CODE-BLOCK-END */
  112. &ANALYZE-RESUME
  113. WITH NO-ASSIGN NO-AUTO-VALIDATE NO-ROW-MARKERS SEPARATORS SIZE 131 BY 11.91 TOOLTIP "Like Mause Doppelklick oder ALT-ENTER zum Detail".
  114. /* ************************ Frame Definitions *********************** */
  115. DEFINE FRAME F-Main
  116. br_table AT ROW 1.48 COL 3
  117. RECT-1 AT ROW 1.24 COL 2
  118. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  119. SIDE-LABELS NO-UNDERLINE THREE-D
  120. AT COL 1 ROW 1 SCROLLABLE .
  121. /* *********************** Procedure Settings ************************ */
  122. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  123. /* Settings for THIS-PROCEDURE
  124. Type: SmartDataBrowser
  125. Data Source: "d-debop.w"
  126. Allow: Basic,Browse
  127. Frames: 1
  128. Add Fields to: Neither
  129. Other Settings: PERSISTENT-ONLY COMPILE
  130. */
  131. /* This procedure should always be RUN PERSISTENT. Report the error, */
  132. /* then cleanup and return. */
  133. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  134. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  135. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  136. RETURN.
  137. END.
  138. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  139. /* ************************* Create Window ************************** */
  140. &ANALYZE-SUSPEND _CREATE-WINDOW
  141. /* DESIGN Window definition (used by the UIB)
  142. CREATE WINDOW bTableWin ASSIGN
  143. HEIGHT = 12.86
  144. WIDTH = 136.
  145. /* END WINDOW DEFINITION */
  146. */
  147. &ANALYZE-RESUME
  148. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB bTableWin
  149. /* ************************* Included-Libraries *********************** */
  150. {src/adm2/browser.i}
  151. /* _UIB-CODE-BLOCK-END */
  152. &ANALYZE-RESUME
  153. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  154. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  155. /* SETTINGS FOR WINDOW bTableWin
  156. NOT-VISIBLE,,RUN-PERSISTENT */
  157. /* SETTINGS FOR FRAME F-Main
  158. NOT-VISIBLE FRAME-NAME Size-to-Fit */
  159. /* BROWSE-TAB br_table RECT-1 F-Main */
  160. ASSIGN
  161. FRAME F-Main:SCROLLABLE = FALSE
  162. FRAME F-Main:HIDDEN = TRUE.
  163. ASSIGN
  164. br_table:POPUP-MENU IN FRAME F-Main = MENU POPUP-MENU-br_table:HANDLE
  165. br_table:COLUMN-RESIZABLE IN FRAME F-Main = TRUE
  166. br_table:COLUMN-MOVABLE IN FRAME F-Main = TRUE.
  167. /* _RUN-TIME-ATTRIBUTES-END */
  168. &ANALYZE-RESUME
  169. /* Setting information for Queries and Browse Widgets fields */
  170. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE br_table
  171. /* Query rebuild information for BROWSE br_table
  172. _TblList = "rowObject"
  173. _Options = "NO-LOCK INDEXED-REPOSITION"
  174. _FldNameList[1] > _<SDO>.rowObject.Faknr
  175. "rowObject.Faknr" ? ? "integer" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  176. _FldNameList[2] > _<SDO>.rowObject.Fakdat
  177. "rowObject.Fakdat" "Datum" ? "date" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  178. _FldNameList[3] > _<SDO>.rowObject.Faellig
  179. "rowObject.Faellig" "Fällig" ? "date" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  180. _FldNameList[4] > _<SDO>.rowObject.Kte
  181. "rowObject.Kte" ? ? "character" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  182. _FldNameList[5] > _<SDO>.rowObject.Fakbetr_FRW
  183. "rowObject.Fakbetr_FRW" "Betrag Frw" ? "decimal" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  184. _FldNameList[6] > _<SDO>.rowObject.Zahdat
  185. "rowObject.Zahdat" "ZahlDatum" ? "date" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  186. _FldNameList[7] > _<SDO>.rowObject.Zahbetr_FRW
  187. "rowObject.Zahbetr_FRW" "bezahlt Frw" ? "decimal" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  188. _FldNameList[8] > _<SDO>.rowObject.Skonto_FRW
  189. "rowObject.Skonto_FRW" "Skonto Frw" ? "decimal" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  190. _FldNameList[9] > _<SDO>.rowObject.Saldo_FRW
  191. "rowObject.Saldo_FRW" "Saldo Frw" ? "decimal" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  192. _FldNameList[10] > _<SDO>.rowObject.FRW
  193. "rowObject.FRW" ? ? "character" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  194. _FldNameList[11] > _<SDO>.rowObject.Kurs
  195. "rowObject.Kurs" ? ? "decimal" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  196. _Query is NOT OPENED
  197. */ /* BROWSE br_table */
  198. &ANALYZE-RESUME
  199. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  200. /* Query rebuild information for FRAME F-Main
  201. _Options = "NO-LOCK"
  202. _Query is NOT OPENED
  203. */ /* FRAME F-Main */
  204. &ANALYZE-RESUME
  205. /* ************************ Control Triggers ************************ */
  206. &Scoped-define BROWSE-NAME br_table
  207. &Scoped-define SELF-NAME br_table
  208. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  209. ON ALT-ENTER OF br_table IN FRAME F-Main
  210. DO:
  211. DO WITH FRAME {&FRAME-NAME}:
  212. RUN g-debop-detail.w ( INPUT rowObject.Faknr:SCREEN-VALUE IN BROWSE {&BROWSE-NAME} ).
  213. END.
  214. END.
  215. /* _UIB-CODE-BLOCK-END */
  216. &ANALYZE-RESUME
  217. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  218. ON CTRL-END OF br_table IN FRAME F-Main
  219. DO:
  220. APPLY "END":U TO BROWSE {&BROWSE-NAME}.
  221. END.
  222. /* _UIB-CODE-BLOCK-END */
  223. &ANALYZE-RESUME
  224. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  225. ON CTRL-HOME OF br_table IN FRAME F-Main
  226. DO:
  227. APPLY "HOME":U TO BROWSE {&BROWSE-NAME}.
  228. END.
  229. /* _UIB-CODE-BLOCK-END */
  230. &ANALYZE-RESUME
  231. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  232. ON END OF br_table IN FRAME F-Main
  233. DO:
  234. {src/adm2/brsend.i}
  235. END.
  236. /* _UIB-CODE-BLOCK-END */
  237. &ANALYZE-RESUME
  238. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  239. ON HOME OF br_table IN FRAME F-Main
  240. DO:
  241. {src/adm2/brshome.i}
  242. END.
  243. /* _UIB-CODE-BLOCK-END */
  244. &ANALYZE-RESUME
  245. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  246. ON LEFT-MOUSE-DBLCLICK OF br_table IN FRAME F-Main
  247. DO:
  248. DO WITH FRAME {&FRAME-NAME}:
  249. RUN g-debop-detail.w ( INPUT rowObject.Faknr:SCREEN-VALUE IN BROWSE {&BROWSE-NAME} ).
  250. END.
  251. END.
  252. /* _UIB-CODE-BLOCK-END */
  253. &ANALYZE-RESUME
  254. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  255. ON OFF-END OF br_table IN FRAME F-Main
  256. DO:
  257. {src/adm2/brsoffnd.i}
  258. END.
  259. /* _UIB-CODE-BLOCK-END */
  260. &ANALYZE-RESUME
  261. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  262. ON OFF-HOME OF br_table IN FRAME F-Main
  263. DO:
  264. {src/adm2/brsoffhm.i}
  265. END.
  266. /* _UIB-CODE-BLOCK-END */
  267. &ANALYZE-RESUME
  268. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  269. ON RETURN OF br_table IN FRAME F-Main
  270. DO:
  271. DO WITH FRAME {&FRAME-NAME}:
  272. PUBLISH 'FAKTURABEZAHLEN' ( INPUT rowObject.Faknr:SCREEN-VALUE IN BROWSE {&BROWSE-NAME} ).
  273. END.
  274. END.
  275. /* _UIB-CODE-BLOCK-END */
  276. &ANALYZE-RESUME
  277. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  278. ON ROW-ENTRY OF br_table IN FRAME F-Main
  279. DO:
  280. {src/adm2/brsentry.i}
  281. END.
  282. /* _UIB-CODE-BLOCK-END */
  283. &ANALYZE-RESUME
  284. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  285. ON ROW-LEAVE OF br_table IN FRAME F-Main
  286. DO:
  287. {src/adm2/brsleave.i}
  288. END.
  289. /* _UIB-CODE-BLOCK-END */
  290. &ANALYZE-RESUME
  291. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  292. ON SCROLL-NOTIFY OF br_table IN FRAME F-Main
  293. DO:
  294. {src/adm2/brsscrol.i}
  295. END.
  296. /* _UIB-CODE-BLOCK-END */
  297. &ANALYZE-RESUME
  298. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
  299. ON VALUE-CHANGED OF br_table IN FRAME F-Main
  300. DO:
  301. {src/adm2/brschnge.i}
  302. END.
  303. /* _UIB-CODE-BLOCK-END */
  304. &ANALYZE-RESUME
  305. &Scoped-define SELF-NAME m_Kontoauszug
  306. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL m_Kontoauszug bTableWin
  307. ON CHOOSE OF MENU-ITEM m_Kontoauszug /* Kontoauszug */
  308. DO:
  309. SESSION:SET-WAIT-STATE('GENERAL').
  310. RUN MAHNUNG ( INPUT 0 ).
  311. SESSION:SET-WAIT-STATE('').
  312. END.
  313. /* _UIB-CODE-BLOCK-END */
  314. &ANALYZE-RESUME
  315. &Scoped-define SELF-NAME m_Mahnung_1
  316. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL m_Mahnung_1 bTableWin
  317. ON CHOOSE OF MENU-ITEM m_Mahnung_1 /* 1. Mahnung */
  318. DO:
  319. SESSION:SET-WAIT-STATE('GENERAL').
  320. RUN MAHNUNG ( INPUT 1 ).
  321. SESSION:SET-WAIT-STATE('').
  322. END.
  323. /* _UIB-CODE-BLOCK-END */
  324. &ANALYZE-RESUME
  325. &Scoped-define SELF-NAME m_Mahnung_2
  326. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL m_Mahnung_2 bTableWin
  327. ON CHOOSE OF MENU-ITEM m_Mahnung_2 /* 2. Mahnung */
  328. DO:
  329. SESSION:SET-WAIT-STATE('GENERAL').
  330. RUN MAHNUNG ( INPUT 2 ).
  331. SESSION:SET-WAIT-STATE('').
  332. END.
  333. /* _UIB-CODE-BLOCK-END */
  334. &ANALYZE-RESUME
  335. &Scoped-define SELF-NAME m_Mahnung_3
  336. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL m_Mahnung_3 bTableWin
  337. ON CHOOSE OF MENU-ITEM m_Mahnung_3 /* 3. Mahnung */
  338. DO:
  339. SESSION:SET-WAIT-STATE('GENERAL').
  340. RUN MAHNUNG ( INPUT 3 ).
  341. SESSION:SET-WAIT-STATE('').
  342. END.
  343. /* _UIB-CODE-BLOCK-END */
  344. &ANALYZE-RESUME
  345. &Scoped-define SELF-NAME m_Suchen_nach_Fakturanummer
  346. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL m_Suchen_nach_Fakturanummer bTableWin
  347. ON CHOOSE OF MENU-ITEM m_Suchen_nach_Fakturanummer /* Suchen nach Fakturanummer */
  348. DO:
  349. RUN SUCHEN_FAKTURA.
  350. END.
  351. /* _UIB-CODE-BLOCK-END */
  352. &ANALYZE-RESUME
  353. &UNDEFINE SELF-NAME
  354. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK bTableWin
  355. /* *************************** Main Block *************************** */
  356. SectionName = 'Browser-' + ENTRY(1, THIS-PROCEDURE:FILE-NAME, '.').
  357. ProgName = ''.
  358. Firma = DYNAMIC-FUNCTION('getD1Firma':U) NO-ERROR.
  359. AdFirma = DYNAMIC-FUNCTION('getAdFirma':U) NO-ERROR.
  360. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  361. RUN initializeObject.
  362. &ENDIF
  363. /* _UIB-CODE-BLOCK-END */
  364. &ANALYZE-RESUME
  365. /* ********************** Internal Procedures *********************** */
  366. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI bTableWin _DEFAULT-DISABLE
  367. PROCEDURE disable_UI :
  368. /*------------------------------------------------------------------------------
  369. Purpose: DISABLE the User Interface
  370. Parameters: <none>
  371. Notes: Here we clean-up the user-interface by deleting
  372. dynamic widgets we have created and/or hide
  373. frames. This procedure is usually called when
  374. we are ready to "clean-up" after running.
  375. ------------------------------------------------------------------------------*/
  376. /* Hide all frames. */
  377. HIDE FRAME F-Main.
  378. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  379. END PROCEDURE.
  380. /* _UIB-CODE-BLOCK-END */
  381. &ANALYZE-RESUME
  382. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject bTableWin
  383. PROCEDURE enableObject :
  384. /*------------------------------------------------------------------------------
  385. Purpose: Super Override
  386. Parameters:
  387. Notes:
  388. ------------------------------------------------------------------------------*/
  389. DEF VAR hColumn AS HANDLE NO-UNDO.
  390. DEF VAR i1 AS INT NO-UNDO.
  391. DEF VAR Kol AS INT NO-UNDO.
  392. DEF VAR Bre AS DEC NO-UNDO.
  393. DEF VAR cFelder AS CHAR NO-UNDO.
  394. DEF VAR Feld AS CHAR NO-UNDO.
  395. DEF VAR Spalte AS CHAR NO-UNDO.
  396. DEF VAR Attrib AS CHAR NO-UNDO.
  397. DEF VAR hSource AS HANDLE NO-UNDO.
  398. GET-KEY-VALUE SECTION SectionName KEY ? VALUE cFelder.
  399. IF cFelder = ? THEN cFelder = ''.
  400. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  401. FOR EACH WBrowser:
  402. DELETE WBrowser.
  403. END.
  404. DO i1 = 1 TO NUM-ENTRIES(cFelder, ','):
  405. Feld = ENTRY(i1, cFelder, ',').
  406. Attrib = '0;0'.
  407. GET-KEY-VALUE SECTION SectionName KEY Feld VALUE Attrib.
  408. CREATE WBrowser.
  409. ASSIGN WBrowser.Pos = INTEGER(ENTRY(1, Attrib, ';'))
  410. WBrowser.Feld = Feld
  411. WBrowser.Breit = DECIMAL(ENTRY(2, Attrib, ';'))
  412. WBrowser.fAktiv = FALSE.
  413. IF WBrowser.Pos < 1 THEN WBrowser.Pos = 1.
  414. IF WBrowser.Breit < 1 THEN WBrowser.Breit = 1.
  415. ASSIGN WBrowser.BreitAkt = WBrowser.Breit
  416. WBrowser.PosAkt = WBrowser.Pos.
  417. END.
  418. i1 = 0.
  419. hColumn = {&BROWSE-NAME}:FIRST-COLUMN.
  420. DO WHILE VALID-HANDLE(hColumn):
  421. i1 = i1 + 1.
  422. FIND FIRST WBrowser WHERE WBrowser.Feld = hColumn:NAME NO-ERROR.
  423. IF AVAILABLE WBrowser THEN DO:
  424. ASSIGN WBrowser.PosAkt = i1
  425. WBrowser.BreitAkt = hColumn:WIDTH
  426. WBrowser.fAktiv = TRUE.
  427. END.
  428. ELSE DO:
  429. CREATE WBrowser.
  430. ASSIGN WBrowser.Pos = i1
  431. WBrowser.Feld = hColumn:NAME
  432. WBrowser.Breit = hColumn:WIDTH
  433. WBrowser.fAktiv = TRUE
  434. WBrowser.PosAkt = WBrowser.Pos
  435. WBrowser.BreitAkt = WBrowser.Breit.
  436. END.
  437. IF hColumn:VISIBLE THEN WBrowser.hCol = hColumn.
  438. hColumn = hColumn:NEXT-COLUMN.
  439. END.
  440. Kol = 0.
  441. FOR EACH WBrowser BY Pos
  442. BY PosAkt:
  443. IF NOT WBrowser.fAktiv THEN DO:
  444. PUT-KEY-VALUE SECTION SectionName
  445. KEY WBrowser.Feld
  446. VALUE '' NO-ERROR.
  447. DELETE WBrowser.
  448. NEXT.
  449. END.
  450. Kol = Kol + 1.
  451. WBrowser.Pos = Kol.
  452. IF WBrowser.Pos = WBrowser.PosAkt AND
  453. WBrowser.Breit = WBrowser.BreitAkt THEN NEXT.
  454. i1 = 0.
  455. Bre = WBrowser.Breit.
  456. hColumn = {&BROWSE-NAME}:FIRST-COLUMN.
  457. BROWSER:
  458. DO WHILE VALID-HANDLE(hColumn):
  459. i1 = i1 + 1.
  460. DO WHILE TRUE:
  461. IF hColumn:NAME <> WBrowser.Feld THEN LEAVE.
  462. ASSIGN WBrowser.PosAkt = WBrowser.Pos
  463. WBrowser.BreitAkt = WBrowser.Breit.
  464. IF hColumn:WIDTH <> Bre THEN hColumn:WIDTH = Bre.
  465. IF i1 <> Kol THEN {&BROWSE-NAME}:MOVE-COLUMN(i1, Kol).
  466. LEAVE BROWSER.
  467. END.
  468. hColumn = hColumn:NEXT-COLUMN.
  469. END.
  470. END.
  471. LEAVE.
  472. END.
  473. RUN SUPER.
  474. DEF VAR iDown AS INT NO-UNDO.
  475. DEF VAR Ja AS LOG NO-UNDO.
  476. DO WITH FRAME {&FRAME-NAME}:
  477. iDown = {&BROWSE-NAME}:DOWN / 2.
  478. Ja = {&BROWSE-NAME}:SET-REPOSITIONED-ROW(iDown, "CONDITIONAL").
  479. END.
  480. PUBLISH 'GETPROG' ( OUTPUT ProgName ).
  481. END PROCEDURE.
  482. /* _UIB-CODE-BLOCK-END */
  483. &ANALYZE-RESUME
  484. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRYBROWSE bTableWin
  485. PROCEDURE ENTRYBROWSE :
  486. /*------------------------------------------------------------------------------
  487. Purpose:
  488. Parameters: <none>
  489. Notes:
  490. ------------------------------------------------------------------------------*/
  491. APPLY 'ENTRY' TO {&BROWSE-NAME} IN FRAME {&FRAME-NAME}.
  492. RETURN NO-APPLY.
  493. END PROCEDURE.
  494. /* _UIB-CODE-BLOCK-END */
  495. &ANALYZE-RESUME
  496. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE hideObject bTableWin
  497. PROCEDURE hideObject :
  498. /*------------------------------------------------------------------------------
  499. Purpose: Super Override
  500. Parameters:
  501. Notes:
  502. ------------------------------------------------------------------------------*/
  503. DEF VAR hColumn AS HANDLE NO-UNDO.
  504. DEF VAR fAttrib AS CHAR NO-UNDO.
  505. DEF VAR i1 AS INT NO-UNDO.
  506. DEF VAR Feld AS CHAR NO-UNDO.
  507. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  508. IF NOT Offen THEN LEAVE.
  509. hColumn = {&BROWSE-NAME}:FIRST-COLUMN.
  510. i1 = 0.
  511. DO WHILE VALID-HANDLE(hColumn):
  512. i1 = i1 + 1.
  513. Feld = hColumn:NAME.
  514. DO WHILE TRUE:
  515. FIND FIRST WBrowser WHERE WBrowser.Feld = Feld NO-ERROR.
  516. IF NOT AVAILABLE WBrowser THEN LEAVE.
  517. IF WBrowser.Breit = hColumn:WIDTH AND
  518. WBrowser.Pos = i1 THEN LEAVE.
  519. fAttrib = STRING(i1)
  520. + ';'
  521. + STRING(hColumn:WIDTH).
  522. PUT-KEY-VALUE SECTION SectionName
  523. KEY hColumn:NAME
  524. VALUE fAttrib NO-ERROR.
  525. LEAVE.
  526. END.
  527. hColumn = hColumn:NEXT-COLUMN.
  528. END.
  529. LEAVE.
  530. END.
  531. RUN SUPER.
  532. Offen = FALSE.
  533. END PROCEDURE.
  534. /* _UIB-CODE-BLOCK-END */
  535. &ANALYZE-RESUME
  536. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE MAHNUNG bTableWin
  537. PROCEDURE MAHNUNG :
  538. /*------------------------------------------------------------------------------
  539. Purpose:
  540. Parameters: <none>
  541. Notes:
  542. ------------------------------------------------------------------------------*/
  543. DEF INPUT PARAMETER ipArt AS INT NO-UNDO.
  544. DEF VAR iKnr AS INT NO-UNDO.
  545. DEF VAR ix AS INT NO-UNDO.
  546. DEF VAR Saldo AS DEC NO-UNDO.
  547. DEF VAR cDatei AS CHAR NO-UNDO.
  548. DEF VAR cDokName1 AS CHAR NO-UNDO.
  549. DEF VAR cDokName2 AS CHAR NO-UNDO.
  550. DEF VAR cPfad AS CHAR NO-UNDO.
  551. DEF VAR hMM AS COM-HANDLE NO-UNDO.
  552. DEF VAR hDok AS COM-HANDLE NO-UNDO.
  553. DEF VAR AnzDok AS INT NO-UNDO.
  554. DEF VAR ja AS LOG NO-UNDO.
  555. DEF VAR rDebop AS RECID NO-UNDO.
  556. IF NOT VALID-HANDLE ( hData ) THEN hData = DYNAMIC-FUNCTION('getDataSource':U) NO-ERROR.
  557. IF NOT VALID-HANDLE ( hdata ) THEN RETURN NO-APPLY.
  558. rDebop = DYNAMIC-FUNCTION('getCurrentRecid':U IN hData ) NO-ERROR.
  559. FIND Debop NO-LOCK
  560. WHERE RECID(Debop) = rDebop NO-ERROR.
  561. IF NOT AVAILABLE Debop THEN RETURN NO-APPLY.
  562. iKnr = Debop.Knr.
  563. FIND Adresse USE-INDEX Adresse-k1
  564. WHERE Adresse.Firma = AdFirma
  565. AND Adresse.Knr = iKnr NO-LOCK NO-ERROR.
  566. IF NOT AVAILABLE Adresse THEN RETURN NO-APPLY.
  567. cDaten = SESSION:TEMP-DIR + 'Mahnung' + STRING(ipArt) + '.txt'.
  568. OUTPUT TO VALUE(cDaten) NO-ECHO NO-MAP NO-CONVERT.
  569. PUT CONTROL 'Unit;Knr;Suchbe;Firma1;Name;Briefanrede;'
  570. 'Anschrift_01;Anschrift_02;Anschrift_03;'
  571. 'Anschrift_04;Anschrift_05;Anschrift_06;'
  572. 'Anschrift_07;Anschrift_08;Anschrift_09;'
  573. 'Anschrift_10;Anschrift_11;Anschrift_12;'
  574. 'Beruecksichtig;Datum;'.
  575. DO ix = 1 TO 10:
  576. PUT CONTROL 'Faknr_' STRING(ix,'99') ';'
  577. 'Fak_Datum_' STRING(ix,'99') ';'
  578. 'Fak_Faellig_' STRING(ix,'99') ';'
  579. 'Fak_Waeh_' STRING(ix,'99') ';'
  580. 'Fak_Saldo_' STRING(ix,'99') ';'.
  581. END.
  582. PUT CONTROL 'Total' CHR(10).
  583. PUT CONTROL Firma ';'
  584. STRING(iKnr,'999999') ';'
  585. Adresse.Suchbe ';'
  586. Adresse.Firma1 ';'
  587. Adresse.Name ';'
  588. Adresse.BriefAnr ';'
  589. Adresse.Anschrift[01] ';'
  590. Adresse.Anschrift[02] ';'
  591. Adresse.Anschrift[03] ';'
  592. Adresse.Anschrift[04] ';'
  593. Adresse.Anschrift[05] ';'
  594. Adresse.Anschrift[06] ';'
  595. Adresse.Anschrift[07] ';'
  596. Adresse.Anschrift[08] ';'
  597. Adresse.Anschrift[09] ';'
  598. Adresse.Anschrift[10] ';'
  599. Adresse.Anschrift[11] ';'
  600. Adresse.Anschrift[12] ';'
  601. STRING(TODAY,'99.99.9999') ';'
  602. STRING(TODAY,'99.99.9999') ';'.
  603. ix = 0.
  604. Saldo = 0.
  605. FOR EACH Debop USE-INDEX Debop-k1
  606. WHERE Debop.Firma = Firma
  607. AND Debop.Knr = iKnr
  608. AND Debop.Saldo_Frw <> 0
  609. AND ((ipArt = 0) OR
  610. (Debop.Faellig <= TODAY)) NO-LOCK:
  611. ix = ix + 1.
  612. Saldo = Saldo + Debop.Saldo_Frw.
  613. IF ix > 10 THEN NEXT.
  614. PUT CONTROL STRING(Debop.Faknr ,'9999999') ';'
  615. STRING(Debop.FakDat ,'99.99.9999') ';'
  616. STRING(Debop.Faellig,'99.99.9999') ';'
  617. Debop.Frw ';'
  618. REPLACE(TRIM(STRING(Debop.Saldo_Frw,'->>>,>>>,>>9.99')), ",", "'")
  619. ';'.
  620. END.
  621. IF ix > 10 THEN DO:
  622. MESSAGE 'Dieser Kunde hat �ber 10 (' ix ') offene Posten' VIEW-AS ALERT-BOX.
  623. END.
  624. DO ix = ix + 1 TO 10:
  625. PUT CONTROL ';;;;;'.
  626. END.
  627. PUT CONTROL REPLACE(TRIM(STRING(Saldo,'->>>,>>>,>>9.99')), ",", "'").
  628. OUTPUT CLOSE.
  629. /* FILE-INFO:FILE-NAME = 'vorlagen'. */
  630. /* cPfad = FILE-INFO:FULL-PATHNAME + '\Mahnung\' + Firma. */
  631. /* */
  632. cDatei = 'Mahnung_'
  633. + STRING(ipArt,'9')
  634. + '_'
  635. + STRING(Adresse.Sprcd,'99')
  636. + ".dot".
  637. cDatei = cDatei + CHR(01) + cDatei.
  638. RUN CREATEDATEI ( INPUT cDatei ).
  639. cDatei = RETURN-VALUE.
  640. IF cDatei BEGINS 'ERROR' THEN RETURN NO-APPLY.
  641. wordAppl = DYNAMIC-FUNCTION('CREATEWORD':U) NO-ERROR.
  642. wordAppl:VISIBLE = TRUE.
  643. wordAppl:Documents:Add (cDatei,,).
  644. cDokName1 = wordAppl:ActiveDocument:Name.
  645. IF VALID-HANDLE(hMM) THEN RELEASE OBJECT hMM NO-ERROR.
  646. hMM = wordAppl:ActiveDocument:MailMerge.
  647. hMM:OpenDataSource ( cDaten ).
  648. hMM:Destination = 0.
  649. hMM:SuppressBlankLines = TRUE.
  650. hMM:EXECUTE().
  651. AnzDok = WordAppl:Documents:Count().
  652. DO ix = 1 TO AnzDok:
  653. hDok = wordAppl:Windows:ITEM(ix).
  654. IF NOT VALID-HANDLE(hDok) THEN NEXT.
  655. hDok:Activate().
  656. IF wordAppl:ActiveDocument:Name <> cDokName1 THEN NEXT.
  657. WordAppl:ActiveDocument:Close(FALSE).
  658. LEAVE.
  659. END.
  660. /*
  661. AnzDok = WordAppl:Documents:Count().
  662. DO ix = 1 TO AnzDok:
  663. hDok = wordAppl:Windows:ITEM(ix).
  664. IF NOT VALID-HANDLE(hDok) THEN NEXT.
  665. hDok:Activate().
  666. IF wordAppl:ActiveDocument:Name <> cDokName2 THEN NEXT.
  667. LEAVE.
  668. END.
  669. */
  670. SESSION:SET-WAIT-STATE('').
  671. MESSAGE 'Wollen Sie das Dokument sichern? '
  672. VIEW-AS ALERT-BOX QUESTION BUTTONS YES-NO
  673. UPDATE ja.
  674. IF ja THEN DO:
  675. cDokName2 = cPfad + '\'
  676. + SUBSTRING(STRING(YEAR(TODAY),'9999'),03,02)
  677. + '-'
  678. + SUBSTRING(STRING(iKnr,'999999'),03,04)
  679. + '-99-06-'
  680. + STRING(YEAR (TODAY),'9999')
  681. + STRING(MONTH(TODAY),'99')
  682. + STRING(DAY (TODAY),'99')
  683. + '.doc'.
  684. wordAppl:ActiveDocument:SaveAs(cDokName2).
  685. END.
  686. IF VALID-HANDLE(hMM) THEN RELEASE OBJECT hMM NO-ERROR.
  687. RELEASE OBJECT wordAppl.
  688. END PROCEDURE.
  689. /* _UIB-CODE-BLOCK-END */
  690. &ANALYZE-RESUME
  691. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SUCHEN_FAKTURA bTableWin
  692. PROCEDURE SUCHEN_FAKTURA :
  693. /*------------------------------------------------------------------------------
  694. Purpose:
  695. Parameters: <none>
  696. Notes:
  697. ------------------------------------------------------------------------------*/
  698. DEF VAR cFaknr AS CHAR NO-UNDO.
  699. DEF VAR iFaknr AS INT NO-UNDO.
  700. RUN 'g-einlesen-wert.w'(INPUT 'Fakturanummer', OUTPUT cFaknr).
  701. iFaknr = 0.
  702. iFaknr = INTEGER(cFaknr) NO-ERROR.
  703. IF ERROR-STATUS:ERROR THEN DO:
  704. MESSAGE 'ungültige Fakturanummer' VIEW-AS ALERT-BOX INFORMATION.
  705. RETURN NO-APPLY.
  706. END.
  707. IF iFaknr = 0 THEN RETURN NO-APPLY.
  708. FIND FIRST Debop NO-LOCK USE-INDEX Debop-k1
  709. WHERE Debop.Firma = Firma
  710. AND Debop.Faknr = iFaknr NO-ERROR.
  711. IF NOT AVAILABLE Debop THEN DO:
  712. DYNAMIC-FUNCTION('FEHLER', INPUT 0402) NO-ERROR.
  713. RETURN NO-APPLY.
  714. END.
  715. FIND Adresse NO-LOCK USE-INDEX Adresse-k1
  716. WHERE Adresse.Firma = AdFirma
  717. AND Adresse.Knr = Debop.Knr.
  718. PUBLISH 'REPOSADRESSEOP' ( RECID(Adresse) ).
  719. PUBLISH 'REPOSDEBOP' ( RECID(Debop) ).
  720. END PROCEDURE.
  721. /* _UIB-CODE-BLOCK-END */
  722. &ANALYZE-RESUME
  723. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE viewObject bTableWin
  724. PROCEDURE viewObject :
  725. /*------------------------------------------------------------------------------
  726. Purpose: Super Override
  727. Parameters:
  728. Notes:
  729. ------------------------------------------------------------------------------*/
  730. /* Code placed here will execute PRIOR to standard behavior. */
  731. RUN SUPER.
  732. Offen = TRUE.
  733. END PROCEDURE.
  734. /* _UIB-CODE-BLOCK-END */
  735. &ANALYZE-RESUME