g-sesam-debi.w 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v9r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  4. &Scoped-define FRAME-NAME gSESAM
  5. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gSESAM
  6. /*------------------------------------------------------------------------
  7. File:
  8. Description: from cntnrdlg.w - ADM2 SmartDialog Template
  9. Input Parameters:
  10. <none>
  11. Output Parameters:
  12. <none>
  13. Author:
  14. Created:
  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 MaxPage AS INT NO-UNDO.
  28. DEF VAR fSuperAkt AS LOG NO-UNDO.
  29. DEF VAR AktSeite AS INT NO-UNDO.
  30. DEF VAR FMutFlag AS LOG NO-UNDO.
  31. DEF VAR cMandant AS CHAR NO-UNDO.
  32. DEF VAR cValue AS CHAR NO-UNDO.
  33. DEF VAR ja AS LOG NO-UNDO.
  34. DEF VAR Firma AS CHAR NO-UNDO.
  35. DEF VAR AdFirma AS CHAR NO-UNDO.
  36. DEF VAR cBuchtext AS CHAR NO-UNDO.
  37. DEF VAR iRetCode AS INT NO-UNDO.
  38. DEF VAR cString AS CHAR NO-UNDO.
  39. DEF VAR cKonto AS CHAR NO-UNDO.
  40. DEF TEMP-TABLE TInterf LIKE Interf.
  41. /* _UIB-CODE-BLOCK-END */
  42. &ANALYZE-RESUME
  43. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  44. /* ******************** Preprocessor Definitions ******************** */
  45. &Scoped-define PROCEDURE-TYPE SmartDialog
  46. &Scoped-define DB-AWARE no
  47. &Scoped-define ADM-CONTAINER DIALOG-BOX
  48. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  49. /* Name of first Frame and/or Browse and/or first Query */
  50. &Scoped-define FRAME-NAME gSESAM
  51. /* Standard List Definitions */
  52. &Scoped-Define ENABLED-OBJECTS Btn_Datei F_Status F_Dateiname CB_Buchart ~
  53. F_VonDatum F_BisDatum T_Abschluss Btn_OK Btn_Cancel RECT-4
  54. &Scoped-Define DISPLAYED-OBJECTS F_Status F_Dateiname CB_Buchart F_VonDatum ~
  55. F_BisDatum T_Abschluss
  56. /* Custom List Definitions */
  57. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  58. &Scoped-define List-6 F_Dateiname F_VonDatum F_BisDatum T_Abschluss
  59. /* _UIB-PREPROCESSOR-BLOCK-END */
  60. &ANALYZE-RESUME
  61. /* *********************** Control Definitions ********************** */
  62. /* Define a dialog box */
  63. /* Definitions of the field level widgets */
  64. DEFINE BUTTON Btn_Cancel AUTO-END-KEY
  65. LABEL "abbrechen"
  66. SIZE 14 BY 1.
  67. DEFINE BUTTON Btn_Datei
  68. IMAGE-UP FILE "grafik/select.bmp":U
  69. LABEL "......"
  70. SIZE 4.2 BY 1.
  71. DEFINE BUTTON Btn_OK AUTO-GO
  72. LABEL "starten"
  73. SIZE 14 BY 1.
  74. DEFINE VARIABLE CB_Buchart AS CHARACTER FORMAT "X(256)":U INITIAL "000001"
  75. LABEL "Buchungsart"
  76. VIEW-AS COMBO-BOX INNER-LINES 5
  77. LIST-ITEM-PAIRS "Rechnungen","000001",
  78. "Zahlungen","000002"
  79. DROP-DOWN-LIST
  80. SIZE 35 BY 1 NO-UNDO.
  81. DEFINE VARIABLE F_BisDatum AS DATE FORMAT "99.99.9999":U
  82. LABEL "-"
  83. VIEW-AS FILL-IN NATIVE
  84. SIZE 16 BY 1
  85. BGCOLOR 15 NO-UNDO.
  86. DEFINE VARIABLE F_Dateiname AS CHARACTER FORMAT "X(256)":U
  87. LABEL "Dateiname"
  88. VIEW-AS FILL-IN NATIVE
  89. SIZE 56 BY 1
  90. BGCOLOR 15 NO-UNDO.
  91. DEFINE VARIABLE F_Status AS CHARACTER FORMAT "X(256)":U
  92. VIEW-AS FILL-IN NATIVE
  93. SIZE 86 BY 1
  94. BGCOLOR 14 FONT 6 NO-UNDO.
  95. DEFINE VARIABLE F_VonDatum AS DATE FORMAT "99.99.9999":U INITIAL 01/01/001
  96. LABEL "von - bis Rechnungsdatum"
  97. VIEW-AS FILL-IN NATIVE
  98. SIZE 16 BY 1
  99. BGCOLOR 15 NO-UNDO.
  100. DEFINE RECTANGLE RECT-4
  101. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  102. SIZE 90 BY 9.05.
  103. DEFINE VARIABLE T_Abschluss AS LOGICAL INITIAL no
  104. LABEL "Abschliessen"
  105. VIEW-AS TOGGLE-BOX
  106. SIZE 20 BY 1 NO-UNDO.
  107. /* ************************ Frame Definitions *********************** */
  108. DEFINE FRAME gSESAM
  109. Btn_Datei AT ROW 1.57 COL 86
  110. F_Status AT ROW 9 COL 2 COLON-ALIGNED NO-LABEL NO-TAB-STOP
  111. F_Dateiname AT ROW 1.52 COL 28 COLON-ALIGNED
  112. CB_Buchart AT ROW 2.52 COL 28 COLON-ALIGNED
  113. F_VonDatum AT ROW 3.52 COL 28 COLON-ALIGNED
  114. F_BisDatum AT ROW 3.52 COL 47 COLON-ALIGNED
  115. T_Abschluss AT ROW 4.52 COL 30
  116. Btn_OK AT ROW 6.95 COL 30
  117. Btn_Cancel AT ROW 6.95 COL 54.2
  118. RECT-4 AT ROW 1.24 COL 2
  119. SPACE(0.99) SKIP(0.22)
  120. WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
  121. SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
  122. TITLE "Fibubuchungen in SESAM"
  123. CANCEL-BUTTON Btn_Cancel.
  124. /* *********************** Procedure Settings ************************ */
  125. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  126. /* Settings for THIS-PROCEDURE
  127. Type: SmartDialog
  128. Allow: Basic,Browse,DB-Fields,Query,Smart
  129. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  130. Design Page: 1
  131. Other Settings: COMPILE
  132. */
  133. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  134. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gSESAM
  135. /* ************************* Included-Libraries *********************** */
  136. {src/adm2/containr.i}
  137. /* _UIB-CODE-BLOCK-END */
  138. &ANALYZE-RESUME
  139. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  140. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  141. /* SETTINGS FOR DIALOG-BOX gSESAM
  142. Custom */
  143. ASSIGN
  144. FRAME gSESAM:SCROLLABLE = FALSE
  145. FRAME gSESAM:HIDDEN = TRUE.
  146. /* SETTINGS FOR FILL-IN F_BisDatum IN FRAME gSESAM
  147. 6 */
  148. /* SETTINGS FOR FILL-IN F_Dateiname IN FRAME gSESAM
  149. 6 */
  150. ASSIGN
  151. F_Status:READ-ONLY IN FRAME gSESAM = TRUE.
  152. /* SETTINGS FOR FILL-IN F_VonDatum IN FRAME gSESAM
  153. 6 */
  154. /* SETTINGS FOR TOGGLE-BOX T_Abschluss IN FRAME gSESAM
  155. 6 */
  156. /* _RUN-TIME-ATTRIBUTES-END */
  157. &ANALYZE-RESUME
  158. /* Setting information for Queries and Browse Widgets fields */
  159. &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gSESAM
  160. /* Query rebuild information for DIALOG-BOX gSESAM
  161. _Options = "SHARE-LOCK"
  162. _Query is NOT OPENED
  163. */ /* DIALOG-BOX gSESAM */
  164. &ANALYZE-RESUME
  165. /* ************************ Control Triggers ************************ */
  166. &Scoped-define SELF-NAME gSESAM
  167. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gSESAM gSESAM
  168. ON END-ERROR OF FRAME gSESAM /* Fibubuchungen in SESAM */
  169. DO:
  170. RUN ENDE.
  171. RETURN NO-APPLY.
  172. END.
  173. /* _UIB-CODE-BLOCK-END */
  174. &ANALYZE-RESUME
  175. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gSESAM gSESAM
  176. ON GO OF FRAME gSESAM /* Fibubuchungen in SESAM */
  177. DO:
  178. /*
  179. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR.
  180. */
  181. END.
  182. /* _UIB-CODE-BLOCK-END */
  183. &ANALYZE-RESUME
  184. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gSESAM gSESAM
  185. ON WINDOW-CLOSE OF FRAME gSESAM /* Fibubuchungen in SESAM */
  186. DO:
  187. RUN ENDE.
  188. RETURN NO-APPLY.
  189. END.
  190. /* _UIB-CODE-BLOCK-END */
  191. &ANALYZE-RESUME
  192. &Scoped-define SELF-NAME Btn_Cancel
  193. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Cancel gSESAM
  194. ON CHOOSE OF Btn_Cancel IN FRAME gSESAM /* abbrechen */
  195. DO:
  196. RUN ENDE.
  197. RETURN NO-APPLY.
  198. END.
  199. /* _UIB-CODE-BLOCK-END */
  200. &ANALYZE-RESUME
  201. &Scoped-define SELF-NAME Btn_Datei
  202. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Datei gSESAM
  203. ON CHOOSE OF Btn_Datei IN FRAME gSESAM /* ...... */
  204. DO:
  205. RUN OEFFNEN_DATEI.
  206. END.
  207. /* _UIB-CODE-BLOCK-END */
  208. &ANALYZE-RESUME
  209. &Scoped-define SELF-NAME Btn_OK
  210. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK gSESAM
  211. ON CHOOSE OF Btn_OK IN FRAME gSESAM /* starten */
  212. DO:
  213. DO WITH FRAME {&FRAME-NAME}:
  214. Btn_OK :SENSITIVE = FALSE.
  215. Btn_Cancel :SENSITIVE = FALSE.
  216. SESSION:SET-WAIT-STATE('GENERAL').
  217. END.
  218. RUN VERARBEITUNG.
  219. DO WITH FRAME {&FRAME-NAME}:
  220. Btn_OK :SENSITIVE = TRUE.
  221. Btn_Cancel :SENSITIVE = TRUE.
  222. SESSION:SET-WAIT-STATE('').
  223. END.
  224. IF RETURN-VALUE <> '' THEN RETURN NO-APPLY.
  225. RUN ENDE.
  226. RETURN NO-APPLY.
  227. END.
  228. /* _UIB-CODE-BLOCK-END */
  229. &ANALYZE-RESUME
  230. &Scoped-define SELF-NAME CB_Buchart
  231. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Buchart gSESAM
  232. ON RETURN OF CB_Buchart IN FRAME gSESAM /* Buchungsart */
  233. DO:
  234. APPLY 'TAB' TO SELF.
  235. RETURN NO-APPLY.
  236. END.
  237. /* _UIB-CODE-BLOCK-END */
  238. &ANALYZE-RESUME
  239. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Buchart gSESAM
  240. ON VALUE-CHANGED OF CB_Buchart IN FRAME gSESAM /* Buchungsart */
  241. DO:
  242. DEF VAR cKey AS CHAR NO-UNDO.
  243. SELF:SCREEN-VALUE = '000001' NO-ERROR.
  244. DO WITH FRAME {&FRAME-NAME}:
  245. cKey = 'BuchungsText' + CB_Buchart:SCREEN-VALUE.
  246. GET-KEY-VALUE SECTION 'Sesam'
  247. KEY cKey
  248. VALUE cValue.
  249. IF cValue <> ? THEN cBuchtext = cValue.
  250. ELSE cBuchtext = ''.
  251. END.
  252. END.
  253. /* _UIB-CODE-BLOCK-END */
  254. &ANALYZE-RESUME
  255. &Scoped-define SELF-NAME T_Abschluss
  256. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Abschluss gSESAM
  257. ON RETURN OF T_Abschluss IN FRAME gSESAM /* Abschliessen */
  258. DO:
  259. APPLY 'TAB' TO SELF.
  260. RETURN NO-APPLY.
  261. END.
  262. /* _UIB-CODE-BLOCK-END */
  263. &ANALYZE-RESUME
  264. &UNDEFINE SELF-NAME
  265. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gSESAM
  266. /* *************************** Main Block *************************** */
  267. MaxPage = 1.
  268. AktSeite = 1.
  269. fSuperAkt = DYNAMIC-FUNCTION('getSuperAktiv':U) NO-ERROR.
  270. SESSION:DATA-ENTRY-RETURN = TRUE.
  271. SESSION:IMMEDIATE-DISPLAY = TRUE.
  272. SUBSCRIBE TO 'TOOLBAR' ANYWHERE.
  273. IF fSuperAkt THEN DO:
  274. Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
  275. AdFirma = DYNAMIC-FUNCTION('GETADMANDANT':U) NO-ERROR.
  276. END.
  277. /* TRIGGERS ------------------------------------------------------ */
  278. ON 'END-ERROR':U OF FRAME {&FRAME-NAME} ANYWHERE
  279. DO:
  280. RUN ENDE.
  281. RETURN NO-APPLY.
  282. END.
  283. /* ------------------------------------------------------------------ */
  284. {src/adm2/dialogmn.i}
  285. /* _UIB-CODE-BLOCK-END */
  286. &ANALYZE-RESUME
  287. /* ********************** Internal Procedures *********************** */
  288. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gSESAM _ADM-CREATE-OBJECTS
  289. PROCEDURE adm-create-objects :
  290. /*------------------------------------------------------------------------------
  291. Purpose: Create handles for all SmartObjects used in this procedure.
  292. After SmartObjects are initialized, then SmartLinks are added.
  293. Parameters: <none>
  294. ------------------------------------------------------------------------------*/
  295. END PROCEDURE.
  296. /* _UIB-CODE-BLOCK-END */
  297. &ANALYZE-RESUME
  298. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gSESAM _DEFAULT-DISABLE
  299. PROCEDURE disable_UI :
  300. /*------------------------------------------------------------------------------
  301. Purpose: DISABLE the User Interface
  302. Parameters: <none>
  303. Notes: Here we clean-up the user-interface by deleting
  304. dynamic widgets we have created and/or hide
  305. frames. This procedure is usually called when
  306. we are ready to "clean-up" after running.
  307. ------------------------------------------------------------------------------*/
  308. /* Hide all frames. */
  309. HIDE FRAME gSESAM.
  310. END PROCEDURE.
  311. /* _UIB-CODE-BLOCK-END */
  312. &ANALYZE-RESUME
  313. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gSESAM
  314. PROCEDURE enableObject :
  315. /*------------------------------------------------------------------------------
  316. Purpose: Super Override
  317. Parameters:
  318. Notes:
  319. ------------------------------------------------------------------------------*/
  320. DEF VAR cKey AS CHAR NO-UNDO.
  321. DEF VAR cDateiName AS CHAR NO-UNDO.
  322. /* Code placed here will execute PRIOR to standard behavior. */
  323. RUN SUPER.
  324. IF fSuperAkt THEN RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR.
  325. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  326. GET-KEY-VALUE SECTION 'Sesam'
  327. KEY 'DateiName'
  328. VALUE cDateiName.
  329. IF cDateiName <> ? THEN F_DateiName:SCREEN-VALUE = cDateiName.
  330. ELSE F_DateiName:SCREEN-VALUE = ''.
  331. IF F_DateiName:SCREEN-VALUE = '' THEN F_DateiName:SCREEN-VALUE = 'SESAMDebiInterface.csv'.
  332. GET-KEY-VALUE SECTION 'Sesam'
  333. KEY 'Buchungsart'
  334. VALUE cValue.
  335. IF cValue <> ? THEN DO:
  336. CB_Buchart:SCREEN-VALUE = cValue.
  337. cKey = 'BuchungsText' + cValue.
  338. GET-KEY-VALUE SECTION 'Sesam'
  339. KEY cKey
  340. VALUE cValue.
  341. IF cValue <> ? THEN cBuchtext = cValue.
  342. ELSE cBuchtext = ''.
  343. END.
  344. GET-KEY-VALUE SECTION 'Sesam'
  345. KEY 'VonDatum'
  346. VALUE cValue.
  347. IF cValue <> ? THEN DO:
  348. F_VonDatum:SCREEN-VALUE = cValue.
  349. END.
  350. GET-KEY-VALUE SECTION 'Sesam'
  351. KEY 'BisDatum'
  352. VALUE cValue.
  353. IF cValue <> ? THEN DO:
  354. F_BisDatum:SCREEN-VALUE = cValue.
  355. END.
  356. GET-KEY-VALUE SECTION 'Sesam'
  357. KEY 'Abschluss'
  358. VALUE cValue.
  359. IF cValue <> ? THEN DO:
  360. T_Abschluss:SCREEN-VALUE = cValue.
  361. END.
  362. LEAVE.
  363. END.
  364. END PROCEDURE.
  365. /* _UIB-CODE-BLOCK-END */
  366. &ANALYZE-RESUME
  367. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gSESAM _DEFAULT-ENABLE
  368. PROCEDURE enable_UI :
  369. /*------------------------------------------------------------------------------
  370. Purpose: ENABLE the User Interface
  371. Parameters: <none>
  372. Notes: Here we display/view/enable the widgets in the
  373. user-interface. In addition, OPEN all queries
  374. associated with each FRAME and BROWSE.
  375. These statements here are based on the "Other
  376. Settings" section of the widget Property Sheets.
  377. ------------------------------------------------------------------------------*/
  378. DISPLAY F_Status F_Dateiname CB_Buchart F_VonDatum F_BisDatum T_Abschluss
  379. WITH FRAME gSESAM.
  380. ENABLE Btn_Datei F_Status F_Dateiname CB_Buchart F_VonDatum F_BisDatum
  381. T_Abschluss Btn_OK Btn_Cancel RECT-4
  382. WITH FRAME gSESAM.
  383. VIEW FRAME gSESAM.
  384. {&OPEN-BROWSERS-IN-QUERY-gSESAM}
  385. END PROCEDURE.
  386. /* _UIB-CODE-BLOCK-END */
  387. &ANALYZE-RESUME
  388. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gSESAM
  389. PROCEDURE ENDE :
  390. /*------------------------------------------------------------------------------
  391. Purpose:
  392. Parameters: <none>
  393. Notes:
  394. ------------------------------------------------------------------------------*/
  395. SESSION:IMMEDIATE-DISPLAY = FALSE.
  396. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  397. IF AktSeite > 1 THEN DO:
  398. RUN selectPage ( INPUT 1 ).
  399. RETURN NO-APPLY.
  400. END.
  401. IF fSuperAkt THEN RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ).
  402. APPLY 'GO' TO FRAME {&FRAME-NAME}.
  403. RETURN NO-APPLY.
  404. END PROCEDURE.
  405. /* _UIB-CODE-BLOCK-END */
  406. &ANALYZE-RESUME
  407. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject gSESAM
  408. PROCEDURE exitObject :
  409. /*------------------------------------------------------------------------------
  410. Purpose: Super Override
  411. Parameters:
  412. Notes:
  413. ------------------------------------------------------------------------------*/
  414. RUN ENDE.
  415. RETURN NO-APPLY.
  416. END PROCEDURE.
  417. /* _UIB-CODE-BLOCK-END */
  418. &ANALYZE-RESUME
  419. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE OEFFNEN_DATEI gSESAM
  420. PROCEDURE OEFFNEN_DATEI :
  421. /*------------------------------------------------------------------------------
  422. Purpose:
  423. Parameters: <none>
  424. Notes:
  425. ------------------------------------------------------------------------------*/
  426. DEF VAR cDatei AS CHAR NO-UNDO.
  427. DEF VAR okPressed AS LOG NO-UNDO.
  428. DO WITH FRAME {&FRAME-NAME}:
  429. cDatei = F_DateiName:SCREEN-VALUE.
  430. END.
  431. SYSTEM-DIALOG GET-FILE cDatei
  432. TITLE "Auswahl der InterfaceDatei ..."
  433. FILTERS "Alle Dateien (*.*)" "*.*"
  434. USE-FILENAME
  435. UPDATE OKpressed.
  436. IF OKpressed = FALSE THEN RETURN NO-APPLY.
  437. DO WITH FRAME {&FRAME-NAME}:
  438. F_Dateiname:SCREEN-VALUE = cDatei.
  439. APPLY 'ENTRY' TO F_Dateiname.
  440. RETURN.
  441. END.
  442. END PROCEDURE.
  443. /* _UIB-CODE-BLOCK-END */
  444. &ANALYZE-RESUME
  445. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE VERARBEITUNG gSESAM
  446. PROCEDURE VERARBEITUNG :
  447. /*------------------------------------------------------------------------------
  448. Purpose:
  449. Parameters: <none>
  450. Notes:
  451. ------------------------------------------------------------------------------*/
  452. DEF VAR fBuchen AS LOG NO-UNDO.
  453. DEF VAR cKey AS CHAR NO-UNDO.
  454. DEF VAR iTrnr AS INT NO-UNDO.
  455. DEF VAR cName AS CHAR NO-UNDO.
  456. DEF VAR cZusatz AS CHAR NO-UNDO.
  457. DEF VAR cKond AS CHAR NO-UNDO.
  458. DEF VAR cBetrag1 AS CHAR NO-UNDO.
  459. DEF VAR cBetrag2 AS CHAR NO-UNDO.
  460. DEF VAR cBetrag3 AS CHAR NO-UNDO.
  461. DEF VAR cBetrag4 AS CHAR NO-UNDO.
  462. DEF VAR vHerk AS INT NO-UNDO.
  463. DEF VAR bHerk AS INT NO-UNDO.
  464. DEF VAR ix AS INT NO-UNDO.
  465. DEF VAR Rundbetr AS DEC DECIMALS 4 NO-UNDO.
  466. DEF VAR mInkl AS LOG EXTENT 12 NO-UNDO.
  467. DEF VAR mAns AS DEC EXTENT 12 NO-UNDO.
  468. DO WITH FRAME {&FRAME-NAME}:
  469. ASSIGN {&List-6}.
  470. IF CB_Buchart:SCREEN-VALUE = ? OR
  471. CB_Buchart:SCREEN-VALUE = '' THEN DO:
  472. APPLY 'ENTRY' TO CB_Buchart.
  473. RETURN 'ERROR'.
  474. END.
  475. IF F_VonDatum = ? THEN DO:
  476. APPLY 'ENTRY' TO F_VonDatum.
  477. RETURN 'ERROR'.
  478. END.
  479. IF F_BisDatum = ? THEN DO:
  480. APPLY 'ENTRY' TO F_BisDatum.
  481. RETURN 'ERROR'.
  482. END.
  483. IF F_BisDatum < F_VonDatum THEN F_BisDatum = F_VonDatum.
  484. DISPLAY {&List-6}.
  485. cKey = 'BuchungsText' + CB_Buchart:SCREEN-VALUE.
  486. PUT-KEY-VALUE SECTION 'Sesam'
  487. KEY 'DateiName'
  488. VALUE F_DateiName :SCREEN-VALUE NO-ERROR.
  489. PUT-KEY-VALUE SECTION 'Sesam'
  490. KEY 'Buchungsart'
  491. VALUE CB_Buchart :SCREEN-VALUE NO-ERROR.
  492. PUT-KEY-VALUE SECTION 'Sesam'
  493. KEY 'VonDatum'
  494. VALUE F_VonDatum :SCREEN-VALUE NO-ERROR.
  495. PUT-KEY-VALUE SECTION 'Sesam'
  496. KEY 'BisDatum'
  497. VALUE F_BisDatum :SCREEN-VALUE NO-ERROR.
  498. PUT-KEY-VALUE SECTION 'Sesam'
  499. KEY 'Abschluss'
  500. VALUE T_Abschluss :SCREEN-VALUE NO-ERROR.
  501. DO WHILE TRUE:
  502. ERROR-STATUS:ERROR = FALSE.
  503. OUTPUT TO VALUE(F_DateiName).
  504. IF ERROR-STATUS:ERROR THEN DO:
  505. MESSAGE 'ungültiger Dateiname' VIEW-AS ALERT-BOX.
  506. APPLY 'ENTRY' TO F_DateiName.
  507. RETURN 'ERROR'.
  508. END.
  509. LEAVE.
  510. END.
  511. vHerk = 0.
  512. bHerk = 0.
  513. CASE CB_Buchart:SCREEN-VALUE:
  514. WHEN '000001' THEN ASSIGN vHerk = 50
  515. bHerk = 59.
  516. WHEN '000002' THEN ASSIGN vHerk = 60
  517. bHerk = 69.
  518. END CASE.
  519. mInkl = FALSE.
  520. mAns = 0.
  521. DO ix = 1 TO 10:
  522. FIND FIRST Wust USE-INDEX Wust-k2
  523. WHERE Wust.WuCd = ix
  524. AND Wust.CodeK <> 99
  525. AND Wust.CodeA <> 99 NO-LOCK NO-ERROR.
  526. IF NOT AVAILABLE Wust THEN NEXT.
  527. FIND LAST MWSTAns USE-INDEX MWSTAns-k1
  528. WHERE MWSTAns.MWSt_Cd = ix
  529. AND MWSTAns.Datum <= Debop.FakDat NO-LOCK NO-ERROR.
  530. IF NOT AVAILABLE MWSTAns THEN NEXT.
  531. mInkl[ix] = Wust.incl.
  532. mAns [ix] = MWSTAns.Ansatz.
  533. END.
  534. fBuchen = TRUE.
  535. FOR EACH TInterf:
  536. DELETE TInterf.
  537. END.
  538. FOR EACH Interf USE-INDEX Interf-k2
  539. WHERE Interf.Firma = 'SESAM'
  540. AND Interf.Verbucht = FALSE
  541. AND Interf.Herk >= vHerk
  542. AND Interf.Herk <= bHerk
  543. AND Interf.Datum >= F_VonDatum
  544. AND Interf.Datum <= F_BisDatum NO-LOCK:
  545. CREATE TInterf.
  546. BUFFER-COPY Interf TO TInterf.
  547. END.
  548. IF NOT fBuchen THEN RETURN 'ERROR'.
  549. FOR EACH TInterf BREAK BY TInterf.Faknr:
  550. IF NOT FIRST-OF ( TInterf.Faknr ) THEN NEXT.
  551. FIND Debop USE-INDEX Debop-k2
  552. WHERE Debop.Firma = Firma
  553. AND Debop.Faknr = INTEGER(TInterf.Faknr) NO-LOCK NO-ERROR.
  554. IF NOT AVAILABLE Debop THEN NEXT.
  555. FIND Adresse USE-INDEX Adresse-k1
  556. WHERE Adresse.Firma = AdFirma
  557. AND Adresse.Knr = Debop.Knr NO-LOCK NO-ERROR.
  558. FIND Debst USE-INDEX Debst-k1
  559. WHERE Debst.Firma = Firma
  560. AND Debst.Knr = Debop.Knr NO-LOCK NO-ERROR.
  561. FIND FIRST Kondi USE-INDEX Kondi-k1
  562. WHERE Kondi.Kond = Debop.Kond NO-LOCK NO-ERROR.
  563. IF Adresse.Firma1 <> '' THEN DO:
  564. cName = TRIM(Adresse.Firma1 + ' ' + Adresse.Firma2 ).
  565. cZusatz = TRIM(Adresse.NAME + ' ' + Adresse.Vorname).
  566. END.
  567. ELSE DO:
  568. cName = TRIM(Adresse.NAME + ' ' + Adresse.Vorname).
  569. cZusatz = TRIM(Adresse.Zusatz1 + ' ' + Adresse.Zusatz2).
  570. END.
  571. IF AVAILABLE Kondi THEN DO:
  572. cKond = ''.
  573. IF Kondi.Tage[01] <> 0 THEN DO:
  574. cKond = cKond + STRING(Kondi.Tage[01],'99') + 'T' + STRING(Kondi.Skonto[01],'9%').
  575. END.
  576. IF Kondi.Tage[02] <> 0 THEN DO:
  577. cKond = cKond + STRING(Kondi.Tage[02],'99') + 'T' + STRING(Kondi.Skonto[02],'9%').
  578. END.
  579. cKond = cKond + STRING(Kondi.Faellig,'99') + 'T'.
  580. END.
  581. ELSE cKond = '30T'.
  582. cBetrag1 = ''.
  583. cBetrag2 = ''.
  584. cBetrag3 = ''.
  585. cBetrag4 = TRIM(STRING(Debop.Fakbetr,'->>>>>>>9.99')).
  586. DO ix = 1 TO 10:
  587. IF Debop.FakWpfl[ix] = 0 THEN NEXT.
  588. DO WHILE TRUE:
  589. Rundbetr = Debop.FakWpfl[ix].
  590. IF NOT mInkl[ix] THEN LEAVE.
  591. Rundbetr = Rundbetr * 100 / (100 + mAns[ix]).
  592. LEAVE.
  593. END.
  594. CASE ix:
  595. WHEN 1 THEN cBetrag1 = TRIM(STRING(Rundbetr,'->>>>>>>>9.99')).
  596. WHEN 2 THEN cBetrag1 = TRIM(STRING(Rundbetr,'->>>>>>>>9.99')).
  597. WHEN 3 THEN cBetrag2 = TRIM(STRING(Rundbetr,'->>>>>>>>9.99')).
  598. WHEN 4 THEN cBetrag2 = TRIM(STRING(Rundbetr,'->>>>>>>>9.99')).
  599. END CASE.
  600. END.
  601. IF Debop.FakWpfl[11] <> 0 THEN cBetrag3 = TRIM(STRING(Debop.FakWpfl[11] + Debop.FakWust[11],'->>>>>>>>9.99')).
  602. PUT CONTROL STRING(Debop.FakDat,'99.99.9999') ';'
  603. STRING(Debop.Knr ,'999999') ';'
  604. TRIM(SUBSTRING(Adresse.Suchbe,01,11)) ';'
  605. cName ';'
  606. cZusatz ';'
  607. Adresse.Strasse ';'
  608. Adresse.PLz ';'
  609. Adresse.Ort ';'.
  610. CASE Adresse.Sprcd:
  611. WHEN 1 THEN PUT CONTROL 'D;'.
  612. WHEN 2 THEN PUT CONTROL 'I;'.
  613. WHEN 3 THEN PUT CONTROL 'F;'.
  614. WHEN 4 THEN PUT CONTROL 'E;'.
  615. WHEN 5 THEN PUT CONTROL 'S;'.
  616. OTHERWISE PUT CONTROL 'D;'.
  617. END CASE.
  618. PUT CONTROL cKond ';'
  619. STRING(Debop.Faknr,'999999') ';'
  620. cBetrag1 ';'
  621. cBetrag2 ';'
  622. cBetrag3 ';'
  623. cBetrag4 chr(10).
  624. END.
  625. OUTPUT CLOSE.
  626. IF NOT T_Abschluss THEN RETURN ''.
  627. FOR EACH TInterf:
  628. FIND Interf OF TInterf.
  629. Interf.Verbucht = TRUE.
  630. END.
  631. END.
  632. END PROCEDURE.
  633. /* _UIB-CODE-BLOCK-END */
  634. &ANALYZE-RESUME