g-p_debums.w 48 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  4. &Scoped-define FRAME-NAME gDebitorumsatz
  5. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gDebitorumsatz
  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 AktSeite AS INT NO-UNDO.
  29. DEF VAR FMutFlag AS LOG NO-UNDO.
  30. DEF VAR Firma AS CHAR NO-UNDO.
  31. DEF VAR AdFirma AS CHAR NO-UNDO.
  32. DEF VAR cVorlage AS CHAR NO-UNDO.
  33. DEF VAR cDaten AS CHAR NO-UNDO.
  34. DEF VAR cDokument AS CHAR NO-UNDO.
  35. DEF VAR cDateiName AS CHAR NO-UNDO.
  36. DEF VAR Zelle AS CHAR NO-UNDO.
  37. DEF VAR excelAppl AS COM-HANDLE NO-UNDO.
  38. DEF TEMP-TABLE TDebUms FIELD Knr AS INT
  39. FIELD Jahr AS INT
  40. FIELD Ums_Grp AS INT
  41. FIELD RecArt AS INT
  42. FIELD Kunde AS CHAR FORMAT "x(60)"
  43. FIELD VEp_Mon AS DEC EXTENT 12
  44. FIELD VVp_Mon AS DEC EXTENT 12
  45. FIELD VEp_Kum AS DEC
  46. FIELD VEp_Tot AS DEC
  47. FIELD VVp_Kum AS DEC
  48. FIELD VVp_Tot AS DEC
  49. FIELD LEp_Mon AS DEC EXTENT 12
  50. FIELD LVp_Mon AS DEC EXTENT 12
  51. FIELD LEp_Kum AS DEC
  52. FIELD LEp_Tot AS DEC
  53. FIELD LVp_Kum AS DEC
  54. FIELD LVp_Tot AS DEC
  55. FIELD Aktiv AS LOG
  56. INDEX TDebUms-k1
  57. Knr
  58. Jahr
  59. Ums_Grp DESCENDING.
  60. DEF BUFFER BDebUms FOR TDebUms.
  61. DEF BUFFER WDebUms FOR TDebUms.
  62. /* _UIB-CODE-BLOCK-END */
  63. &ANALYZE-RESUME
  64. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  65. /* ******************** Preprocessor Definitions ******************** */
  66. &Scoped-define PROCEDURE-TYPE SmartDialog
  67. &Scoped-define DB-AWARE no
  68. &Scoped-define ADM-CONTAINER DIALOG-BOX
  69. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  70. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  71. &Scoped-define FRAME-NAME gDebitorumsatz
  72. /* Standard List Definitions */
  73. &Scoped-Define ENABLED-OBJECTS RECT-12 F_VonKnr F_BisKnr CB_Vertreter ~
  74. CB_Kundengruppe CB_Totale F_Jahr F_VonMonat F_BisMonat T_Umsatz Btn_OK ~
  75. Btn_Cancel
  76. &Scoped-Define DISPLAYED-OBJECTS F_VonKnr F_BisKnr CB_Vertreter ~
  77. CB_Kundengruppe CB_Totale F_Jahr F_VonMonat F_BisMonat T_Umsatz
  78. /* Custom List Definitions */
  79. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  80. &Scoped-define List-6 F_VonKnr F_BisKnr CB_Vertreter CB_Kundengruppe ~
  81. CB_Totale F_Jahr F_VonMonat F_BisMonat T_Umsatz
  82. /* _UIB-PREPROCESSOR-BLOCK-END */
  83. &ANALYZE-RESUME
  84. /* *********************** Control Definitions ********************** */
  85. /* Define a dialog box */
  86. /* Definitions of the field level widgets */
  87. DEFINE BUTTON Btn_Cancel AUTO-END-KEY
  88. LABEL "&abbrechen"
  89. SIZE 14 BY 1.19.
  90. DEFINE BUTTON Btn_OK
  91. IMAGE-UP FILE "grafik/results%.ico":U
  92. IMAGE-INSENSITIVE FILE "grafik/results%.ico":U
  93. LABEL "Excel"
  94. SIZE 7 BY 1.71.
  95. DEFINE VARIABLE CB_Kundengruppe AS CHARACTER FORMAT "X(256)":U
  96. LABEL "Kundengruppe"
  97. VIEW-AS COMBO-BOX INNER-LINES 5
  98. LIST-ITEM-PAIRS "Item 1","Item 1"
  99. DROP-DOWN-LIST
  100. SIZE 40 BY 1
  101. BGCOLOR 15 NO-UNDO.
  102. DEFINE VARIABLE CB_Totale AS CHARACTER FORMAT "X(256)":U
  103. LABEL "Totale"
  104. VIEW-AS COMBO-BOX INNER-LINES 5
  105. LIST-ITEM-PAIRS "Nur Kundentotale","00",
  106. "Warengruppentotale","01",
  107. "Nur die Warengruppentotale","02"
  108. DROP-DOWN-LIST
  109. SIZE 40 BY 1
  110. BGCOLOR 15 NO-UNDO.
  111. DEFINE VARIABLE CB_Vertreter AS CHARACTER FORMAT "X(256)":U
  112. LABEL "Vertreter"
  113. VIEW-AS COMBO-BOX INNER-LINES 5
  114. LIST-ITEM-PAIRS "Item 1","Item 1"
  115. DROP-DOWN-LIST
  116. SIZE 40 BY 1
  117. BGCOLOR 15 NO-UNDO.
  118. DEFINE VARIABLE F_BisKnr AS INTEGER FORMAT "999999":U INITIAL 0
  119. LABEL "-"
  120. VIEW-AS FILL-IN NATIVE
  121. SIZE 11 BY 1
  122. BGCOLOR 15 NO-UNDO.
  123. DEFINE VARIABLE F_BisMonat AS INTEGER FORMAT "99":U INITIAL 0
  124. LABEL "-"
  125. VIEW-AS FILL-IN NATIVE
  126. SIZE 5 BY 1
  127. BGCOLOR 15 NO-UNDO.
  128. DEFINE VARIABLE F_Jahr AS INTEGER FORMAT "9999":U INITIAL 0
  129. LABEL "Laufendes Jahr"
  130. VIEW-AS FILL-IN NATIVE
  131. SIZE 8 BY 1
  132. BGCOLOR 15 NO-UNDO.
  133. DEFINE VARIABLE F_VonKnr AS INTEGER FORMAT "999999":U INITIAL 0
  134. LABEL "von - bis Knr"
  135. VIEW-AS FILL-IN NATIVE
  136. SIZE 11 BY 1
  137. BGCOLOR 15 NO-UNDO.
  138. DEFINE VARIABLE F_VonMonat AS INTEGER FORMAT "99":U INITIAL 0
  139. LABEL "von - bis Monat"
  140. VIEW-AS FILL-IN NATIVE
  141. SIZE 5 BY 1
  142. BGCOLOR 15 NO-UNDO.
  143. DEFINE RECTANGLE RECT-12
  144. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  145. SIZE 84 BY 10.48.
  146. DEFINE VARIABLE T_Umsatz AS LOGICAL INITIAL no
  147. LABEL "nur Kunden mit Umsatz ?"
  148. VIEW-AS TOGGLE-BOX
  149. SIZE 40.2 BY 1 NO-UNDO.
  150. /* ************************ Frame Definitions *********************** */
  151. DEFINE FRAME gDebitorumsatz
  152. F_VonKnr AT ROW 2 COL 28 COLON-ALIGNED
  153. F_BisKnr AT ROW 2 COL 41 COLON-ALIGNED
  154. CB_Vertreter AT ROW 3 COL 28 COLON-ALIGNED
  155. CB_Kundengruppe AT ROW 4 COL 28 COLON-ALIGNED
  156. CB_Totale AT ROW 5 COL 28 COLON-ALIGNED
  157. F_Jahr AT ROW 6 COL 28 COLON-ALIGNED
  158. F_VonMonat AT ROW 7 COL 28 COLON-ALIGNED
  159. F_BisMonat AT ROW 7 COL 35 COLON-ALIGNED
  160. T_Umsatz AT ROW 8 COL 30
  161. Btn_OK AT ROW 9.52 COL 30
  162. Btn_Cancel AT ROW 9.76 COL 55.8
  163. RECT-12 AT ROW 1.24 COL 2
  164. SPACE(0.99) SKIP(0.22)
  165. WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
  166. SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
  167. TITLE "Debitorumsätze"
  168. CANCEL-BUTTON Btn_Cancel.
  169. /* *********************** Procedure Settings ************************ */
  170. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  171. /* Settings for THIS-PROCEDURE
  172. Type: SmartDialog
  173. Allow: Basic,Browse,DB-Fields,Query,Smart
  174. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  175. Design Page: 1
  176. Other Settings: COMPILE
  177. */
  178. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  179. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gDebitorumsatz
  180. /* ************************* Included-Libraries *********************** */
  181. {src/adm2/containr.i}
  182. /* _UIB-CODE-BLOCK-END */
  183. &ANALYZE-RESUME
  184. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  185. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  186. /* SETTINGS FOR DIALOG-BOX gDebitorumsatz
  187. FRAME-NAME */
  188. ASSIGN
  189. FRAME gDebitorumsatz:SCROLLABLE = FALSE
  190. FRAME gDebitorumsatz:HIDDEN = TRUE.
  191. /* SETTINGS FOR COMBO-BOX CB_Kundengruppe IN FRAME gDebitorumsatz
  192. 6 */
  193. /* SETTINGS FOR COMBO-BOX CB_Totale IN FRAME gDebitorumsatz
  194. 6 */
  195. /* SETTINGS FOR COMBO-BOX CB_Vertreter IN FRAME gDebitorumsatz
  196. 6 */
  197. /* SETTINGS FOR FILL-IN F_BisKnr IN FRAME gDebitorumsatz
  198. 6 */
  199. /* SETTINGS FOR FILL-IN F_BisMonat IN FRAME gDebitorumsatz
  200. 6 */
  201. /* SETTINGS FOR FILL-IN F_Jahr IN FRAME gDebitorumsatz
  202. 6 */
  203. /* SETTINGS FOR FILL-IN F_VonKnr IN FRAME gDebitorumsatz
  204. 6 */
  205. /* SETTINGS FOR FILL-IN F_VonMonat IN FRAME gDebitorumsatz
  206. 6 */
  207. /* SETTINGS FOR TOGGLE-BOX T_Umsatz IN FRAME gDebitorumsatz
  208. 6 */
  209. /* _RUN-TIME-ATTRIBUTES-END */
  210. &ANALYZE-RESUME
  211. /* Setting information for Queries and Browse Widgets fields */
  212. &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gDebitorumsatz
  213. /* Query rebuild information for DIALOG-BOX gDebitorumsatz
  214. _Options = "SHARE-LOCK"
  215. _Query is NOT OPENED
  216. */ /* DIALOG-BOX gDebitorumsatz */
  217. &ANALYZE-RESUME
  218. /* ************************ Control Triggers ************************ */
  219. &Scoped-define SELF-NAME gDebitorumsatz
  220. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gDebitorumsatz gDebitorumsatz
  221. ON END-ERROR OF FRAME gDebitorumsatz /* Debitorumsätze */
  222. DO:
  223. RUN ENDE.
  224. RETURN NO-APPLY.
  225. END.
  226. /* _UIB-CODE-BLOCK-END */
  227. &ANALYZE-RESUME
  228. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gDebitorumsatz gDebitorumsatz
  229. ON GO OF FRAME gDebitorumsatz /* Debitorumsätze */
  230. DO:
  231. /*
  232. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR.
  233. */
  234. END.
  235. /* _UIB-CODE-BLOCK-END */
  236. &ANALYZE-RESUME
  237. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gDebitorumsatz gDebitorumsatz
  238. ON WINDOW-CLOSE OF FRAME gDebitorumsatz /* Debitorumsätze */
  239. DO:
  240. RUN ENDE.
  241. RETURN NO-APPLY.
  242. END.
  243. /* _UIB-CODE-BLOCK-END */
  244. &ANALYZE-RESUME
  245. &Scoped-define SELF-NAME Btn_Cancel
  246. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Cancel gDebitorumsatz
  247. ON CHOOSE OF Btn_Cancel IN FRAME gDebitorumsatz /* abbrechen */
  248. DO:
  249. RUN ENDE.
  250. RETURN NO-APPLY.
  251. END.
  252. /* _UIB-CODE-BLOCK-END */
  253. &ANALYZE-RESUME
  254. &Scoped-define SELF-NAME Btn_OK
  255. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK gDebitorumsatz
  256. ON CHOOSE OF Btn_OK IN FRAME gDebitorumsatz /* Excel */
  257. DO:
  258. DO WITH FRAME {&FRAME-NAME}:
  259. Btn_OK:SENSITIVE = FALSE.
  260. Btn_Cancel:SENSITIVE = FALSE.
  261. SESSION:SET-WAIT-STATE ('GENERAL').
  262. END.
  263. RUN REPORT.
  264. DO WITH FRAME {&FRAME-NAME}:
  265. Btn_OK:SENSITIVE = TRUE.
  266. Btn_Cancel:SENSITIVE = TRUE.
  267. SESSION:SET-WAIT-STATE('').
  268. END.
  269. RUN ENDE.
  270. RETURN NO-APPLY.
  271. END.
  272. /* _UIB-CODE-BLOCK-END */
  273. &ANALYZE-RESUME
  274. &Scoped-define SELF-NAME CB_Kundengruppe
  275. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Kundengruppe gDebitorumsatz
  276. ON RETURN OF CB_Kundengruppe IN FRAME gDebitorumsatz /* Kundengruppe */
  277. DO:
  278. APPLY 'TAB' TO SELF.
  279. RETURN NO-APPLY.
  280. END.
  281. /* _UIB-CODE-BLOCK-END */
  282. &ANALYZE-RESUME
  283. &Scoped-define SELF-NAME CB_Totale
  284. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Totale gDebitorumsatz
  285. ON RETURN OF CB_Totale IN FRAME gDebitorumsatz /* Totale */
  286. DO:
  287. APPLY 'TAB' TO SELF.
  288. RETURN NO-APPLY.
  289. END.
  290. /* _UIB-CODE-BLOCK-END */
  291. &ANALYZE-RESUME
  292. &Scoped-define SELF-NAME CB_Vertreter
  293. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Vertreter gDebitorumsatz
  294. ON RETURN OF CB_Vertreter IN FRAME gDebitorumsatz /* Vertreter */
  295. DO:
  296. APPLY 'TAB' TO SELF.
  297. RETURN NO-APPLY.
  298. END.
  299. /* _UIB-CODE-BLOCK-END */
  300. &ANALYZE-RESUME
  301. &Scoped-define SELF-NAME F_BisKnr
  302. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_BisKnr gDebitorumsatz
  303. ON ALT-F OF F_BisKnr IN FRAME gDebitorumsatz /* - */
  304. DO:
  305. DEF VAR iRecid AS RECID NO-UNDO.
  306. RUN 'g-suchen-adresse.w':U ( 'DEB', OUTPUT iRecid ).
  307. IF iRecid = ? OR
  308. iRecid = 0 THEN RETURN NO-APPLY.
  309. FIND Adresse NO-LOCK WHERE RECID(Adresse) = iRecid NO-ERROR.
  310. SELF:SCREEN-VALUE = STRING(Adresse.Knr).
  311. APPLY 'ENTRY' TO SELF.
  312. RETURN NO-APPLY.
  313. END.
  314. /* _UIB-CODE-BLOCK-END */
  315. &ANALYZE-RESUME
  316. &Scoped-define SELF-NAME F_VonKnr
  317. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_VonKnr gDebitorumsatz
  318. ON ALT-F OF F_VonKnr IN FRAME gDebitorumsatz /* von - bis Knr */
  319. DO:
  320. DEF VAR iRecid AS RECID NO-UNDO.
  321. RUN 'g-suchen-adresse.w':U ( 'DEB', OUTPUT iRecid ).
  322. IF iRecid = ? OR
  323. iRecid = 0 THEN RETURN NO-APPLY.
  324. FIND Adresse NO-LOCK WHERE RECID(Adresse) = iRecid NO-ERROR.
  325. SELF:SCREEN-VALUE = STRING(Adresse.Knr).
  326. F_BisKnr:SCREEN-VALUE = STRING(Adresse.Knr).
  327. APPLY 'ENTRY' TO SELF.
  328. RETURN NO-APPLY.
  329. END.
  330. /* _UIB-CODE-BLOCK-END */
  331. &ANALYZE-RESUME
  332. &Scoped-define SELF-NAME T_Umsatz
  333. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Umsatz gDebitorumsatz
  334. ON RETURN OF T_Umsatz IN FRAME gDebitorumsatz /* nur Kunden mit Umsatz ? */
  335. DO:
  336. APPLY 'TAB' TO SELF.
  337. RETURN NO-APPLY.
  338. END.
  339. /* _UIB-CODE-BLOCK-END */
  340. &ANALYZE-RESUME
  341. &UNDEFINE SELF-NAME
  342. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gDebitorumsatz
  343. /* *************************** Main Block *************************** */
  344. MaxPage = 1.
  345. AktSeite = 1.
  346. Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
  347. AdFirma = DYNAMIC-FUNCTION('GETADMANDANT':U) NO-ERROR.
  348. SESSION:DATA-ENTRY-RETURN = TRUE.
  349. SUBSCRIBE TO 'TOOLBAR' ANYWHERE.
  350. /* TRIGGERS ------------------------------------------------------ */
  351. ON 'ALT-CURSOR-RIGHT':U OF FRAME {&FRAME-NAME} ANYWHERE
  352. DO:
  353. RUN NEXTPAGE.
  354. END.
  355. ON 'ALT-CURSOR-LEFT':U OF FRAME {&FRAME-NAME} ANYWHERE
  356. DO:
  357. RUN PREVPAGE.
  358. END.
  359. ON 'U1':U OF {&WINDOW-NAME} ANYWHERE
  360. DO:
  361. RUN ENTRY_CURSOR.
  362. END.
  363. /*
  364. ON 'PAGE-DOWN':U OF {&WINDOW-NAME} ANYWHERE
  365. DO:
  366. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'Next':U ).
  367. END.
  368. ON 'PAGE-UP':U OF {&WINDOW-NAME} ANYWHERE
  369. DO:
  370. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'Prev':U ).
  371. END.
  372. ON 'ALT-RETURN':U OF FRAME {&FRAME-NAME} ANYWHERE
  373. DO:
  374. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'UPDATE':U ).
  375. END.
  376. ON 'ALT-INS':U OF FRAME {&FRAME-NAME} ANYWHERE
  377. DO:
  378. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'ADD':U ).
  379. END.
  380. ON 'ALT-DEL':U OF FRAME {&FRAME-NAME} ANYWHERE
  381. DO:
  382. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'DELETE':U ).
  383. END.
  384. ON 'ALT-R':U OF FRAME {&FRAME-NAME} ANYWHERE
  385. DO:
  386. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'RESET':U ).
  387. END.
  388. ON 'F9':U OF FRAME {&FRAME-NAME} ANYWHERE
  389. DO:
  390. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'SAVE':U ).
  391. END.
  392. ON 'ALT-S':U OF FRAME {&FRAME-NAME} ANYWHERE
  393. DO:
  394. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'SAVE':U ).
  395. END.
  396. ON 'ALT-K':U OF FRAME {&FRAME-NAME} ANYWHERE
  397. DO:
  398. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'COPY':U ).
  399. END.
  400. ON 'END-ERROR':U OF FRAME {&FRAME-NAME} ANYWHERE
  401. DO:
  402. FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
  403. IF FMutFlag = FALSE THEN DO:
  404. RUN ENDE.
  405. RETURN NO-APPLY.
  406. END.
  407. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'CANCEL':U ).
  408. RETURN NO-APPLY.
  409. END.
  410. */
  411. /* ------------------------------------------------------------------ */
  412. {src/adm2/dialogmn.i}
  413. /* _UIB-CODE-BLOCK-END */
  414. &ANALYZE-RESUME
  415. /* ********************** Internal Procedures *********************** */
  416. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gDebitorumsatz _ADM-CREATE-OBJECTS
  417. PROCEDURE adm-create-objects :
  418. /*------------------------------------------------------------------------------
  419. Purpose: Create handles for all SmartObjects used in this procedure.
  420. After SmartObjects are initialized, then SmartLinks are added.
  421. Parameters: <none>
  422. ------------------------------------------------------------------------------*/
  423. END PROCEDURE.
  424. /* _UIB-CODE-BLOCK-END */
  425. &ANALYZE-RESUME
  426. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE changePage gDebitorumsatz
  427. PROCEDURE changePage :
  428. /*------------------------------------------------------------------------------
  429. Purpose: Super Override
  430. Parameters:
  431. Notes:
  432. ------------------------------------------------------------------------------*/
  433. /* Code placed here will execute PRIOR to standard behavior. */
  434. RUN SUPER.
  435. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  436. CASE AktSeite:
  437. WHEN 1 THEN DO:
  438. /* RUN addLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */
  439. /* RUN addLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */
  440. /* RUN ToolbarInit ( INPUT h_d-auftr ). */
  441. RUN ENTRY_CURSOR.
  442. END.
  443. WHEN 2 THEN DO:
  444. RUN ENTRY_CURSOR.
  445. END.
  446. END CASE.
  447. END PROCEDURE.
  448. /* _UIB-CODE-BLOCK-END */
  449. &ANALYZE-RESUME
  450. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gDebitorumsatz _DEFAULT-DISABLE
  451. PROCEDURE disable_UI :
  452. /*------------------------------------------------------------------------------
  453. Purpose: DISABLE the User Interface
  454. Parameters: <none>
  455. Notes: Here we clean-up the user-interface by deleting
  456. dynamic widgets we have created and/or hide
  457. frames. This procedure is usually called when
  458. we are ready to "clean-up" after running.
  459. ------------------------------------------------------------------------------*/
  460. /* Hide all frames. */
  461. HIDE FRAME gDebitorumsatz.
  462. END PROCEDURE.
  463. /* _UIB-CODE-BLOCK-END */
  464. &ANALYZE-RESUME
  465. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gDebitorumsatz
  466. PROCEDURE enableObject :
  467. /*------------------------------------------------------------------------------
  468. Purpose: Super Override
  469. Parameters:
  470. Notes:
  471. ------------------------------------------------------------------------------*/
  472. RUN SUPER.
  473. RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR.
  474. DEF VAR cString AS CHAR NO-UNDO.
  475. DEF VAR cInhalt AS CHAR NO-UNDO.
  476. DEF VAR cKey AS CHAR NO-UNDO.
  477. DEF VAR ii AS INT NO-UNDO.
  478. DO WITH FRAME {&FRAME-NAME}:
  479. RUN COMBO_KUNDENGRP ( INPUT CB_Kundengruppe:HANDLE ).
  480. RUN COMBO_VERTRETER ( INPUT CB_Vertreter :HANDLE ).
  481. cString = CB_Kundengruppe:LIST-ITEM-PAIRS.
  482. IF cString <> '' THEN cString = cString + ';'.
  483. cString = cString + 'Alle;999999'.
  484. CB_Kundengruppe:LIST-ITEM-PAIRS = cString.
  485. CB_Kundengruppe:SCREEN-VALUE = '999999'.
  486. cString = CB_Vertreter:LIST-ITEM-PAIRS.
  487. IF cString <> '' THEN cString = cString + ';'.
  488. cString = cString + 'Alle Vertreter;999999'.
  489. CB_Vertreter:LIST-ITEM-PAIRS = cString.
  490. CB_Vertreter:SCREEN-VALUE = '999999'.
  491. cKey = ENTRY(1, THIS-PROCEDURE:FILE-NAME, '.').
  492. GET-KEY-VALUE SECTION 'Auswertungen' KEY cKey VALUE cString.
  493. IF cString = ? THEN cString = ''.
  494. DO ii = 1 TO NUM-ENTRIES(cString, '@'):
  495. cInhalt = ENTRY(ii, cString, '@').
  496. CASE ii:
  497. WHEN 1 THEN F_VonKnr :SCREEN-VALUE = cInhalt NO-ERROR.
  498. WHEN 2 THEN F_BisKnr :SCREEN-VALUE = cInhalt NO-ERROR.
  499. WHEN 3 THEN CB_Kundengruppe :SCREEN-VALUE = cInhalt NO-ERROR.
  500. WHEN 4 THEN CB_Totale :SCREEN-VALUE = cInhalt NO-ERROR.
  501. WHEN 5 THEN F_Jahr :SCREEN-VALUE = cInhalt NO-ERROR.
  502. WHEN 6 THEN F_VonMonat :SCREEN-VALUE = cInhalt NO-ERROR.
  503. WHEN 7 THEN F_BisMonat :SCREEN-VALUE = cInhalt NO-ERROR.
  504. WHEN 8 THEN T_Umsatz :SCREEN-VALUE = cInhalt NO-ERROR.
  505. WHEN 9 THEN CB_Vertreter :SCREEN-VALUE = cInhalt NO-ERROR.
  506. END CASE.
  507. END.
  508. END.
  509. END PROCEDURE.
  510. /* _UIB-CODE-BLOCK-END */
  511. &ANALYZE-RESUME
  512. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gDebitorumsatz _DEFAULT-ENABLE
  513. PROCEDURE enable_UI :
  514. /*------------------------------------------------------------------------------
  515. Purpose: ENABLE the User Interface
  516. Parameters: <none>
  517. Notes: Here we display/view/enable the widgets in the
  518. user-interface. In addition, OPEN all queries
  519. associated with each FRAME and BROWSE.
  520. These statements here are based on the "Other
  521. Settings" section of the widget Property Sheets.
  522. ------------------------------------------------------------------------------*/
  523. DISPLAY F_VonKnr F_BisKnr CB_Vertreter CB_Kundengruppe CB_Totale F_Jahr
  524. F_VonMonat F_BisMonat T_Umsatz
  525. WITH FRAME gDebitorumsatz.
  526. ENABLE RECT-12 F_VonKnr F_BisKnr CB_Vertreter CB_Kundengruppe CB_Totale
  527. F_Jahr F_VonMonat F_BisMonat T_Umsatz Btn_OK Btn_Cancel
  528. WITH FRAME gDebitorumsatz.
  529. VIEW FRAME gDebitorumsatz.
  530. {&OPEN-BROWSERS-IN-QUERY-gDebitorumsatz}
  531. END PROCEDURE.
  532. /* _UIB-CODE-BLOCK-END */
  533. &ANALYZE-RESUME
  534. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gDebitorumsatz
  535. PROCEDURE ENDE :
  536. /*------------------------------------------------------------------------------
  537. Purpose:
  538. Parameters: <none>
  539. Notes:
  540. ------------------------------------------------------------------------------*/
  541. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  542. IF AktSeite > 1 THEN DO:
  543. RUN selectPage ( INPUT 1 ).
  544. RETURN NO-APPLY.
  545. END.
  546. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ).
  547. APPLY 'GO' TO FRAME {&FRAME-NAME}.
  548. RETURN NO-APPLY.
  549. END PROCEDURE.
  550. /* _UIB-CODE-BLOCK-END */
  551. &ANALYZE-RESUME
  552. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_CURSOR gDebitorumsatz
  553. PROCEDURE ENTRY_CURSOR :
  554. /*------------------------------------------------------------------------------
  555. Purpose:
  556. Parameters: <none>
  557. Notes:
  558. ------------------------------------------------------------------------------*/
  559. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  560. CASE AktSeite:
  561. /* WHEN 1 THEN RUN applyEntry IN h_v-adresse ( INPUT ? ). */
  562. /* WHEN 2 THEN RUN applyEntry IN h_f-adrkomm ( INPUT ? ). */
  563. /* WHEN 3 THEN RUN applyEntry IN h_b-auftbb ( INPUT ? ). */
  564. /* WHEN 4 THEN RUN applyEntry IN h_b-aufdet ( INPUT ? ). */
  565. /* WHEN 5 THEN RUN applyEntry IN h_b-aufstreu ( INPUT ? ). */
  566. /* WHEN 6 THEN RUN applyEntry IN h_b-auffak ( INPUT ? ). */
  567. /* WHEN 7 THEN RUN applyEntry IN h_b-position ( INPUT ? ). */
  568. END CASE.
  569. RETURN NO-APPLY.
  570. END PROCEDURE.
  571. /* _UIB-CODE-BLOCK-END */
  572. &ANALYZE-RESUME
  573. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject gDebitorumsatz
  574. PROCEDURE exitObject :
  575. /*------------------------------------------------------------------------------
  576. Purpose: Super Override
  577. Parameters:
  578. Notes:
  579. ------------------------------------------------------------------------------*/
  580. RUN ENDE.
  581. RETURN NO-APPLY.
  582. END PROCEDURE.
  583. /* _UIB-CODE-BLOCK-END */
  584. &ANALYZE-RESUME
  585. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KOPF gDebitorumsatz
  586. PROCEDURE KOPF :
  587. /*------------------------------------------------------------------------------
  588. Purpose:
  589. Parameters: <none>
  590. Notes:
  591. ------------------------------------------------------------------------------*/
  592. DEF INPUT PARAMETER eh AS COM-HANDLE NO-UNDO.
  593. DEF VAR Zelle AS CHAR NO-UNDO.
  594. DEF VAR cString AS CHAR NO-UNDO.
  595. DEF VAR i1 AS INT NO-UNDO.
  596. DO WITH FRAME {&FRAME-NAME}:
  597. cString = CB_Vertreter:LIST-ITEM-PAIRS.
  598. i1 = LOOKUP(CB_Vertreter:SCREEN-VALUE, cString, ';').
  599. cString = ENTRY(i1 - 1, cString, ';').
  600. END.
  601. FIND Steuer USE-INDEX Steuer-k1
  602. WHERE Steuer.Firma = Firma NO-LOCK NO-ERROR.
  603. Zelle = 'B1'.
  604. eh:Range(Zelle):SELECT.
  605. eh:SELECTION:VALUE = Steuer.Firma1.
  606. Zelle = 'E1'.
  607. eh:Range(Zelle):SELECT.
  608. eh:SELECTION:VALUE = 'Debitor-Umsätze ('
  609. + cString
  610. + ')'.
  611. Zelle = 'J1'.
  612. eh:Range(Zelle):SELECT.
  613. eh:SELECTION:VALUE = 'Datum : ' + STRING(TODAY,'99.99.9999').
  614. Zelle = 'B2'.
  615. eh:Range(Zelle):SELECT.
  616. eh:SELECTION:VALUE = Steuer.Ort.
  617. Zelle = 'E2'.
  618. eh:Range(Zelle):SELECT.
  619. eh:SELECTION:VALUE = STRING(F_VonMonat,'99')
  620. + '. - '
  621. + STRING(F_BisMonat,'99')
  622. + '. '
  623. + STRING(F_Jahr,'9999').
  624. Zelle = 'J2'.
  625. eh:Range(Zelle):SELECT.
  626. eh:SELECTION:VALUE = 'Zeit : ' + STRING(TIME,'HH:MM:SS').
  627. END PROCEDURE.
  628. /* _UIB-CODE-BLOCK-END */
  629. &ANALYZE-RESUME
  630. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NEXTPAGE gDebitorumsatz
  631. PROCEDURE NEXTPAGE :
  632. /*------------------------------------------------------------------------------
  633. Purpose:
  634. Parameters: <none>
  635. Notes:
  636. ------------------------------------------------------------------------------*/
  637. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  638. IF AktSeite = MaxPage THEN AktSeite = 1.
  639. ELSE AktSeite = AktSeite + 1.
  640. RUN selectPage ( INPUT AktSeite ).
  641. END PROCEDURE.
  642. /* _UIB-CODE-BLOCK-END */
  643. &ANALYZE-RESUME
  644. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PREVPAGE gDebitorumsatz
  645. PROCEDURE PREVPAGE :
  646. /*------------------------------------------------------------------------------
  647. Purpose:
  648. Parameters: <none>
  649. Notes:
  650. ------------------------------------------------------------------------------*/
  651. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  652. IF AktSeite = 1 THEN AktSeite = MaxPage.
  653. ELSE AktSeite = AktSeite - 1.
  654. RUN selectPage ( INPUT AktSeite ).
  655. END PROCEDURE.
  656. /* _UIB-CODE-BLOCK-END */
  657. &ANALYZE-RESUME
  658. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REPORT gDebitorumsatz
  659. PROCEDURE REPORT :
  660. /*------------------------------------------------------------------------------
  661. Purpose:
  662. Parameters: <none>
  663. Notes:
  664. ------------------------------------------------------------------------------*/
  665. DEF VAR cString AS CHAR NO-UNDO.
  666. DEF VAR cInhalt AS CHAR NO-UNDO.
  667. DEF VAR cKey AS CHAR NO-UNDO.
  668. DEF VAR ii AS INT NO-UNDO.
  669. DEF VAR ja AS LOG NO-UNDO.
  670. DEF VAR iKgr AS INT NO-UNDO.
  671. DEF VAR iVer AS INT NO-UNDO.
  672. DEF VAR iTot AS INT NO-UNDO.
  673. DEF VAR VEp AS DEC NO-UNDO.
  674. DEF VAR VVp AS DEC NO-UNDO.
  675. DEF VAR VMa AS DEC NO-UNDO.
  676. DEF VAR LEp AS DEC NO-UNDO.
  677. DEF VAR LVp AS DEC NO-UNDO.
  678. DEF VAR LMa AS DEC NO-UNDO.
  679. DO WITH FRAME {&FRAME-NAME}:
  680. ASSIGN {&List-6}.
  681. IF F_VonKnr = 0 AND F_BisKnr = 0 THEN F_BisKnr = 999999.
  682. IF F_VonKnr > F_BisKnr THEN F_BisKnr = F_VonKnr.
  683. IF F_Jahr = 0 THEN F_Jahr = YEAR(TODAY).
  684. IF F_VonMonat = 0 AND F_BisMonat = 0 THEN F_BisMonat = 12.
  685. IF F_VonMonat = 0 THEN F_VonMonat = 01.
  686. IF F_VonMonat > 12 THEN F_VonMonat = 01.
  687. IF F_BisMonat = 0 THEN F_BisMonat = 12.
  688. IF F_BisMonat > 12 THEN F_BisMonat = 12.
  689. IF F_VonMonat > F_BisMonat THEN F_BisMonat = F_VonMonat.
  690. DISPLAY {&List-6}.
  691. cString = F_VonKnr :SCREEN-VALUE + '@'
  692. + F_BisKnr :SCREEN-VALUE + '@'
  693. + CB_Kundengruppe :SCREEN-VALUE + '@'
  694. + CB_Totale :SCREEN-VALUE + '@'
  695. + F_Jahr :SCREEN-VALUE + '@'
  696. + F_VonMonat :SCREEN-VALUE + '@'
  697. + F_BisMonat :SCREEN-VALUE + '@'
  698. + T_Umsatz :SCREEN-VALUE + '@'
  699. + CB_Vertreter :SCREEN-VALUE + '@'.
  700. cKey = ENTRY(1, THIS-PROCEDURE:FILE-NAME, '.').
  701. PUT-KEY-VALUE SECTION 'Auswertungen' KEY cKey VALUE cString.
  702. iKgr = INTEGER(CB_Kundengruppe:SCREEN-VALUE).
  703. iTot = INTEGER(CB_Totale :SCREEN-VALUE).
  704. iVer = INTEGER(CB_Vertreter :SCREEN-VALUE).
  705. END.
  706. FOR EACH TDebUms:
  707. DELETE TDebUms.
  708. END.
  709. FOR EACH Debst USE-INDEX Debst-k1
  710. WHERE Debst.Firma = Firma
  711. AND Debst.Knr >= F_VonKnr
  712. AND Debst.Knr <= F_BisKnr NO-LOCK,
  713. FIRST Adresse USE-INDEX Adresse-k1
  714. WHERE Adresse.Firma = AdFirma
  715. AND Adresse.Knr = Debst.Knr NO-LOCK:
  716. IF iKgr <> 999999 AND
  717. iKgr <> Debst.Ku_Grp THEN NEXT.
  718. IF iVer <> 999999 AND
  719. iVer <> Debst.Vertr THEN NEXT.
  720. CREATE TDebums.
  721. ASSIGN TDebUms.Knr = Debst.Knr
  722. TDebUms.Jahr = F_Jahr
  723. TDebUms.Ums_Grp = 999
  724. TDebUms.RecArt = 1
  725. TDebUms.Kunde = Adresse.Anzeig_br
  726. TDebUms.Aktiv = Debst.Aktiv.
  727. FIND DebUms USE-INDEX DebUms-k1
  728. WHERE DebUms.Firma = Debst.Firma
  729. AND DebUms.Jahr = F_Jahr
  730. AND DebUms.Knr = Debst.Knr
  731. AND DebUms.Ums_Grp = 999 NO-LOCK NO-ERROR.
  732. IF AVAILABLE DebUms THEN DO:
  733. ASSIGN TDebUms.LEp_Kum = DebUms.Ep_Kum
  734. TDebUms.LEp_Mon[01] = DebUms.Ep_Mon[01]
  735. TDebUms.LEp_Mon[02] = DebUms.Ep_Mon[02]
  736. TDebUms.LEp_Mon[03] = DebUms.Ep_Mon[03]
  737. TDebUms.LEp_Mon[04] = DebUms.Ep_Mon[04]
  738. TDebUms.LEp_Mon[05] = DebUms.Ep_Mon[05]
  739. TDebUms.LEp_Mon[06] = DebUms.Ep_Mon[06]
  740. TDebUms.LEp_Mon[07] = DebUms.Ep_Mon[07]
  741. TDebUms.LEp_Mon[08] = DebUms.Ep_Mon[08]
  742. TDebUms.LEp_Mon[09] = DebUms.Ep_Mon[09]
  743. TDebUms.LEp_Mon[10] = DebUms.Ep_Mon[10]
  744. TDebUms.LEp_Mon[11] = DebUms.Ep_Mon[11]
  745. TDebUms.LEp_Mon[12] = DebUms.Ep_Mon[12]
  746. TDebUms.LVp_Kum = DebUms.Vp_Kum
  747. TDebUms.LVp_Mon[01] = DebUms.Vp_Mon[01]
  748. TDebUms.LVp_Mon[02] = DebUms.Vp_Mon[02]
  749. TDebUms.LVp_Mon[03] = DebUms.Vp_Mon[03]
  750. TDebUms.LVp_Mon[04] = DebUms.Vp_Mon[04]
  751. TDebUms.LVp_Mon[05] = DebUms.Vp_Mon[05]
  752. TDebUms.LVp_Mon[06] = DebUms.Vp_Mon[06]
  753. TDebUms.LVp_Mon[07] = DebUms.Vp_Mon[07]
  754. TDebUms.LVp_Mon[08] = DebUms.Vp_Mon[08]
  755. TDebUms.LVp_Mon[09] = DebUms.Vp_Mon[09]
  756. TDebUms.LVp_Mon[10] = DebUms.Vp_Mon[10]
  757. TDebUms.LVp_Mon[11] = DebUms.Vp_Mon[11]
  758. TDebUms.LVp_Mon[12] = DebUms.Vp_Mon[12].
  759. END.
  760. FIND DebUms USE-INDEX DebUms-k1
  761. WHERE DebUms.Firma = Debst.Firma
  762. AND DebUms.Jahr = F_Jahr - 1
  763. AND DebUms.Knr = Debst.Knr
  764. AND DebUms.Ums_Grp = 999 NO-LOCK NO-ERROR.
  765. IF AVAILABLE DebUms THEN DO:
  766. ASSIGN TDebUms.VEp_Kum = DebUms.Ep_Kum
  767. TDebUms.VEp_Mon[01] = DebUms.Ep_Mon[01]
  768. TDebUms.VEp_Mon[02] = DebUms.Ep_Mon[02]
  769. TDebUms.VEp_Mon[03] = DebUms.Ep_Mon[03]
  770. TDebUms.VEp_Mon[04] = DebUms.Ep_Mon[04]
  771. TDebUms.VEp_Mon[05] = DebUms.Ep_Mon[05]
  772. TDebUms.VEp_Mon[06] = DebUms.Ep_Mon[06]
  773. TDebUms.VEp_Mon[07] = DebUms.Ep_Mon[07]
  774. TDebUms.VEp_Mon[08] = DebUms.Ep_Mon[08]
  775. TDebUms.VEp_Mon[09] = DebUms.Ep_Mon[09]
  776. TDebUms.VEp_Mon[10] = DebUms.Ep_Mon[10]
  777. TDebUms.VEp_Mon[11] = DebUms.Ep_Mon[11]
  778. TDebUms.VEp_Mon[12] = DebUms.Ep_Mon[12]
  779. TDebUms.VVp_Kum = DebUms.Vp_Kum
  780. TDebUms.VVp_Mon[01] = DebUms.Vp_Mon[01]
  781. TDebUms.VVp_Mon[02] = DebUms.Vp_Mon[02]
  782. TDebUms.VVp_Mon[03] = DebUms.Vp_Mon[03]
  783. TDebUms.VVp_Mon[04] = DebUms.Vp_Mon[04]
  784. TDebUms.VVp_Mon[05] = DebUms.Vp_Mon[05]
  785. TDebUms.VVp_Mon[06] = DebUms.Vp_Mon[06]
  786. TDebUms.VVp_Mon[07] = DebUms.Vp_Mon[07]
  787. TDebUms.VVp_Mon[08] = DebUms.Vp_Mon[08]
  788. TDebUms.VVp_Mon[09] = DebUms.Vp_Mon[09]
  789. TDebUms.VVp_Mon[10] = DebUms.Vp_Mon[10]
  790. TDebUms.VVp_Mon[11] = DebUms.Vp_Mon[11]
  791. TDebUms.VVp_Mon[12] = DebUms.Vp_Mon[12].
  792. END.
  793. VEp = 0.
  794. VVp = 0.
  795. LEp = 0.
  796. LVp = 0.
  797. DO ii = F_VonMonat TO F_BisMonat:
  798. LEp = LEp + TDebUms.LEp_Mon[ii].
  799. LVp = LVp + TDebUms.LVp_Mon[ii].
  800. VEp = VEp + TDebUms.VEp_Mon[ii].
  801. VVp = VVp + TDebUms.VVp_Mon[ii].
  802. END.
  803. ASSIGN TDebUms.LEp_Tot = LEp
  804. TDebUms.LVp_Tot = LVp
  805. TDebUms.VEp_Tot = VEp
  806. TDebUms.VVp_Tot = VVp.
  807. END.
  808. IF iTot > 00 THEN RUN WARENGRUPPEN.
  809. FOR EACH TDebUms USE-INDEX TDebUms-k1
  810. WHERE TDebUms.Knr <= 999999:
  811. FIND BDebUms USE-INDEX TDebUms-k1
  812. WHERE BDebUms.Knr = 9999999
  813. AND BDebUms.Jahr = TDebUms.Jahr
  814. AND BDebUms.Ums_Grp = TDebUms.Ums_Grp NO-ERROR.
  815. IF NOT AVAILABLE BDebUms THEN DO:
  816. CREATE BDebUms.
  817. ASSIGN BDebUms.Knr = 9999999
  818. BDebUms.Jahr = TDebUms.Jahr
  819. BDebUms.Ums_Grp = TDebUms.Ums_Grp
  820. BDebUms.RecArt = TDebUms.RecArt
  821. BDebUms.Aktiv = TDebUms.Aktiv.
  822. END.
  823. ASSIGN BDebUms.LEp_Kum = BDebUms.LEp_Kum + TDebUms.LEp_Kum
  824. BDebUms.LVp_Kum = BDebUms.LVp_Kum + TDebUms.LVp_Kum
  825. BDebUms.LEp_Tot = BDebUms.LEp_Tot + TDebUms.LEp_Tot
  826. BDebUms.LVp_Tot = BDebUms.LVp_Tot + TDebUms.LVp_Tot
  827. BDebUms.VEp_Kum = BDebUms.VEp_Kum + TDebUms.VEp_Kum
  828. BDebUms.VVp_Kum = BDebUms.VVp_Kum + TDebUms.VVp_Kum
  829. BDebUms.VEp_Tot = BDebUms.VEp_Tot + TDebUms.VEp_Tot
  830. BDebUms.VVp_Tot = BDebUms.VVp_Tot + TDebUms.VVp_Tot.
  831. DO ii = 1 TO 12:
  832. ASSIGN BDebUms.LEp_Mon[ii] = BDebUms.LEp_Mon[ii] + TDebUms.LEp_Mon[ii]
  833. BDebUms.LVp_Mon[ii] = BDebUms.LVp_Mon[ii] + TDebUms.LVp_Mon[ii]
  834. BDebUms.VEp_Mon[ii] = BDebUms.VEp_Mon[ii] + TDebUms.VEp_Mon[ii]
  835. BDebUms.VVp_Mon[ii] = BDebUms.VVp_Mon[ii] + TDebUms.VVp_Mon[ii].
  836. END.
  837. END.
  838. FOR EACH TDebUms USE-INDEX TDebUms-k1:
  839. IF iTot = 02 AND
  840. TDebUms.Knr <= 999999 THEN DO:
  841. DELETE TDebUms.
  842. NEXT.
  843. END.
  844. IF TDebUms.Aktiv = FALSE AND
  845. TDebUms.LEp_Kum = 0 AND
  846. TDebUms.VEp_Kum = 0 AND
  847. TDebUms.LVp_Kum = 0 AND
  848. TDebUms.VVp_Kum = 0 THEN DO:
  849. DELETE TDebUms.
  850. NEXT.
  851. END.
  852. IF T_Umsatz THEN DO:
  853. IF TDebUms.LEp_Kum = 0 AND
  854. TDebUms.VEp_Kum = 0 AND
  855. TDebUms.LVp_Kum = 0 AND
  856. TDebUms.VVp_Kum = 0 THEN DO:
  857. DELETE TDebUms.
  858. NEXT.
  859. END.
  860. END.
  861. IF TDebUms.VEp_Kum = ? THEN TDebUms.VEp_Kum = TDebUms.VVp_Kum * 0.78.
  862. IF TDebUms.LEp_Kum = ? THEN TDebUms.LEp_Kum = TDebUms.LVp_Kum * 0.78.
  863. IF TDebUms.VEp_Tot = ? THEN TDebUms.VEp_Tot = TDebUms.VVp_Tot * 0.78.
  864. IF TDebUms.LEp_Tot = ? THEN TDebUms.LEp_Tot = TDebUms.LVp_Tot * 0.78.
  865. DO ii = 1 TO 12:
  866. IF TDebUms.VEp_Mon[ii] = ? THEN TDebUms.VEp_Mon[ii] = TDebUms.VVp_Mon[ii] * 0.78.
  867. IF TDebUms.LEp_Mon[ii] = ? THEN TDebUms.LEp_Mon[ii] = TDebUms.LVp_Mon[ii] * 0.78.
  868. END.
  869. IF TDebUms.Ums_Grp = 999 THEN DO:
  870. IF TDebUms.KNr > 999999 THEN TDebUms.Kunde = 'Gesamttotal'.
  871. NEXT.
  872. END.
  873. IF TDebUms.RecArt = 2 THEN DO:
  874. FIND WarenGrp USE-INDEX WarenGrp-k1
  875. WHERE WarenGrp.Firma = Firma
  876. AND WarenGrp.Wgr = TDebUms.Ums_Grp NO-LOCK NO-ERROR.
  877. IF NOT AVAILABLE WarenGrp THEN TDebUms.Kunde = '??????????'.
  878. ELSE TDebUms.Kunde = WarenGrp.Bez1.
  879. END.
  880. END.
  881. cVorlage = 'DebUms.xls'.
  882. cDokument = 'DebUms.xls'.
  883. cDaten = 'DebUms.txt'.
  884. cDateiName = cDokument + CHR(01) + cVorlage.
  885. RUN CREATEDATEI ( INPUT cDateiName ).
  886. IF RETURN-VALUE BEGINS 'ERROR' THEN RETURN NO-APPLY.
  887. cDokument = RETURN-VALUE.
  888. cDateiName = cDaten.
  889. RUN CREATEDATEI ( INPUT cDateiName ).
  890. IF RETURN-VALUE BEGINS 'ERROR' THEN RETURN NO-APPLY.
  891. cDaten = RETURN-VALUE.
  892. OUTPUT TO VALUE(cDaten).
  893. PUT CONTROL '£' CHR(10)
  894. '£' CHR(10)
  895. '£££££Vorjahr£££Laufend' CHR(10)
  896. '£Knr££Kunde£EP£VP£Marge%£EP£VP£Marge%' CHR(10)
  897. '£' CHR(10).
  898. FOR EACH TDebUms NO-LOCK
  899. BREAK BY TDebUms.Knr
  900. BY TDebUms.RecArt
  901. BY TDebUms.Ums_Grp :
  902. VEp = TDebUms.VEp_Tot.
  903. VVp = TDebUms.VVp_Tot.
  904. VMa = 0.
  905. LEp = TDebUms.LEp_Tot.
  906. LVp = TDebUms.LVp_Tot.
  907. LMa = 0.
  908. IF LEp <> 0 AND
  909. LVp <> 0 THEN LMa = 100 - (LEp * 100 / LVp).
  910. IF VEp <> 0 AND
  911. VVp <> 0 THEN VMa = 100 - (VEp * 100 / VVp).
  912. IF TDebUms.Ums_Grp = 999
  913. THEN PUT CONTROL '£'
  914. TDebUms.Knr '££'
  915. TDebUms.Kunde '£'.
  916. ELSE PUT CONTROL '££'
  917. STRING(TDebUms.Ums_Grp,'999') '£'
  918. TDebUms.Kunde '£'.
  919. PUT CONTROL TRIM(STRING(VEp,'->>>>>>>>>')) '£'
  920. TRIM(STRING(VVp,'->>>>>>>>>')) '£'
  921. TRIM(STRING(VMa,'->>9.99')) '£'
  922. TRIM(STRING(LEp,'->>>>>>>>>')) '£'
  923. TRIM(STRING(LVp,'->>>>>>>>>')) '£'
  924. TRIM(STRING(LMa,'->>9.99')) CHR(10).
  925. IF NOT LAST-OF ( TDebUms.Knr ) THEN NEXT.
  926. IF iTot > 0 THEN PUT CONTROL '£' CHR(10).
  927. END.
  928. OUTPUT CLOSE.
  929. excelAppl = DYNAMIC-FUNCTION('CREATEEXCEL':U) NO-ERROR.
  930. IF NOT VALID-HANDLE(excelAppl) THEN DO:
  931. RUN FEHLER ( INPUT 1035 ).
  932. RETURN.
  933. END.
  934. RUN OPENEXCEL ( INPUT excelAppl, INPUT cDokument, INPUT '', OUTPUT ja ).
  935. IF NOT ja THEN DO:
  936. RUN FEHLER ( INPUT 1040 ).
  937. DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
  938. RETURN NO-APPLY.
  939. END.
  940. Zelle = 'A1'.
  941. excelAppl:Range(Zelle):SELECT.
  942. excelAppl:SELECTION:FormulaR1C1 = 'TEXT;' + cDaten.
  943. excelAppl:APPLICATION:RUN ( 'DateiEinfügen' ).
  944. RUN KOPF ( INPUT excelAppl ).
  945. Zelle = 'A1'.
  946. excelAppl:Range(Zelle):SELECT.
  947. excelAppl:SELECTION:ColumnWidth = 0.3.
  948. DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
  949. END PROCEDURE.
  950. /* _UIB-CODE-BLOCK-END */
  951. &ANALYZE-RESUME
  952. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE selectPage gDebitorumsatz
  953. PROCEDURE selectPage :
  954. /*------------------------------------------------------------------------------
  955. Purpose: Super Override
  956. Parameters:
  957. Notes:
  958. ------------------------------------------------------------------------------*/
  959. DEF INPUT PARAMETER piPageNum AS INT NO-UNDO.
  960. DEF VAR FMutFlag AS LOG NO-UNDO.
  961. DEF VAR MutProg AS CHAR NO-UNDO.
  962. FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
  963. DO WHILE TRUE:
  964. IF NOT FMutFlag THEN LEAVE.
  965. MutProg = DYNAMIC-FUNCTION('GETMUTPROG':U).
  966. IF MutProg <> THIS-PROCEDURE:FILE-NAME THEN LEAVE.
  967. RETURN NO-APPLY.
  968. END.
  969. CASE piPageNum:
  970. END CASE.
  971. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  972. CASE AktSeite:
  973. WHEN 1 THEN DO:
  974. /* RUN removeLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */
  975. /* RUN removeLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */
  976. END.
  977. END CASE.
  978. RUN SUPER( INPUT piPageNum).
  979. END PROCEDURE.
  980. /* _UIB-CODE-BLOCK-END */
  981. &ANALYZE-RESUME
  982. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TOOLBAR gDebitorumsatz
  983. PROCEDURE TOOLBAR :
  984. /*------------------------------------------------------------------------------
  985. Purpose:
  986. Parameters: <none>
  987. Notes:
  988. ------------------------------------------------------------------------------*/
  989. DEF INPUT PARAMETER pcAction AS CHAR NO-UNDO.
  990. /*
  991. RUN TOOLBAR IN h_dyntoolbar ( INPUT pcAction ).
  992. */
  993. END PROCEDURE.
  994. /* _UIB-CODE-BLOCK-END */
  995. &ANALYZE-RESUME
  996. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE WARENGRUPPEN gDebitorumsatz
  997. PROCEDURE WARENGRUPPEN :
  998. /*------------------------------------------------------------------------------
  999. Purpose:
  1000. Parameters: <none>
  1001. Notes:
  1002. ------------------------------------------------------------------------------*/
  1003. DEF VAR ii AS INT NO-UNDO.
  1004. DEF VAR VEp AS DEC NO-UNDO.
  1005. DEF VAR VVp AS DEC NO-UNDO.
  1006. DEF VAR LEp AS DEC NO-UNDO.
  1007. DEF VAR LVp AS DEC NO-UNDO.
  1008. FOR EACH BDebUms USE-INDEX TDebUms-k1
  1009. WHERE BDebUms.Knr <= 999999
  1010. AND BDebUms.Jahr = F_Jahr
  1011. AND BDebUms.Ums_Grp = 999 NO-LOCK:
  1012. FOR EACH DeArUms USE-INDEX DeArUms-k3
  1013. WHERE DeArUms.Firma = Firma
  1014. AND DeArUms.Knr = BDebUms.Knr
  1015. AND DeArUms.Jahr >= F_Jahr - 1
  1016. AND DeArUms.Jahr <= F_Jahr
  1017. AND (DeArUms.Ep_Kum <> 0 OR
  1018. DeArUms.Vp_Kum <> 0) NO-LOCK,
  1019. FIRST Artst USE-INDEX Artst-k1
  1020. WHERE Artst.Firma = DeArUms.Firma
  1021. AND Artst.Artnr = DeArUms.Artnr
  1022. AND Artst.Inhalt = DeArUms.Inhalt
  1023. AND Artst.Jahr = DeArUms.Jahrg NO-LOCK :
  1024. FIND TDebUms USE-INDEX TDebUms-k1
  1025. WHERE TDebUms.Knr = BDebUms.Knr
  1026. AND TDebUms.Jahr = F_Jahr
  1027. AND TDebUms.Ums_Grp = Artst.Wg_Grp NO-ERROR.
  1028. IF NOT AVAILABLE TDebUms THEN DO:
  1029. CREATE TDebUms.
  1030. ASSIGN TDebUms.Knr = BDebUms.Knr
  1031. TDebUms.Jahr = F_Jahr
  1032. TDebUms.Ums_Grp = Artst.Wg_Grp
  1033. TDebUms.RecArt = 2
  1034. TDebUms.Kunde = ''
  1035. TDebUms.Aktiv = BDebUms.Aktiv.
  1036. END.
  1037. CASE DeArUms.Jahr:
  1038. WHEN F_Jahr THEN
  1039. ASSIGN TDebUms.LEp_Kum = TDebUms.LEp_Kum + DeArUms.Ep_Kum
  1040. TDebUms.LEp_Mon[01] = TDebUms.LEp_Mon[01] + DeArUms.Ep_Mon[01]
  1041. TDebUms.LEp_Mon[02] = TDebUms.LEp_Mon[02] + DeArUms.Ep_Mon[02]
  1042. TDebUms.LEp_Mon[03] = TDebUms.LEp_Mon[03] + DeArUms.Ep_Mon[03]
  1043. TDebUms.LEp_Mon[04] = TDebUms.LEp_Mon[04] + DeArUms.Ep_Mon[04]
  1044. TDebUms.LEp_Mon[05] = TDebUms.LEp_Mon[05] + DeArUms.Ep_Mon[05]
  1045. TDebUms.LEp_Mon[06] = TDebUms.LEp_Mon[06] + DeArUms.Ep_Mon[06]
  1046. TDebUms.LEp_Mon[07] = TDebUms.LEp_Mon[07] + DeArUms.Ep_Mon[07]
  1047. TDebUms.LEp_Mon[08] = TDebUms.LEp_Mon[08] + DeArUms.Ep_Mon[08]
  1048. TDebUms.LEp_Mon[09] = TDebUms.LEp_Mon[09] + DeArUms.Ep_Mon[09]
  1049. TDebUms.LEp_Mon[10] = TDebUms.LEp_Mon[10] + DeArUms.Ep_Mon[10]
  1050. TDebUms.LEp_Mon[11] = TDebUms.LEp_Mon[11] + DeArUms.Ep_Mon[11]
  1051. TDebUms.LEp_Mon[12] = TDebUms.LEp_Mon[12] + DeArUms.Ep_Mon[12]
  1052. TDebUms.LVp_Kum = TDebUms.LVp_Kum + DeArUms.Vp_Kum
  1053. TDebUms.LVp_Mon[01] = TDebUms.LVp_Mon[01] + DeArUms.Vp_Mon[01]
  1054. TDebUms.LVp_Mon[02] = TDebUms.LVp_Mon[02] + DeArUms.Vp_Mon[02]
  1055. TDebUms.LVp_Mon[03] = TDebUms.LVp_Mon[03] + DeArUms.Vp_Mon[03]
  1056. TDebUms.LVp_Mon[04] = TDebUms.LVp_Mon[04] + DeArUms.Vp_Mon[04]
  1057. TDebUms.LVp_Mon[05] = TDebUms.LVp_Mon[05] + DeArUms.Vp_Mon[05]
  1058. TDebUms.LVp_Mon[06] = TDebUms.LVp_Mon[06] + DeArUms.Vp_Mon[06]
  1059. TDebUms.LVp_Mon[07] = TDebUms.LVp_Mon[07] + DeArUms.Vp_Mon[07]
  1060. TDebUms.LVp_Mon[08] = TDebUms.LVp_Mon[08] + DeArUms.Vp_Mon[08]
  1061. TDebUms.LVp_Mon[09] = TDebUms.LVp_Mon[09] + DeArUms.Vp_Mon[09]
  1062. TDebUms.LVp_Mon[10] = TDebUms.LVp_Mon[10] + DeArUms.Vp_Mon[10]
  1063. TDebUms.LVp_Mon[11] = TDebUms.LVp_Mon[11] + DeArUms.Vp_Mon[11]
  1064. TDebUms.LVp_Mon[12] = TDebUms.LVp_Mon[12] + DeArUms.Vp_Mon[12].
  1065. WHEN F_Jahr - 1 THEN
  1066. ASSIGN TDebUms.VEp_Kum = TDebUms.VEp_Kum + DeArUms.Ep_Kum
  1067. TDebUms.VEp_Mon[01] = TDebUms.VEp_Mon[01] + DeArUms.Ep_Mon[01]
  1068. TDebUms.VEp_Mon[02] = TDebUms.VEp_Mon[02] + DeArUms.Ep_Mon[02]
  1069. TDebUms.VEp_Mon[03] = TDebUms.VEp_Mon[03] + DeArUms.Ep_Mon[03]
  1070. TDebUms.VEp_Mon[04] = TDebUms.VEp_Mon[04] + DeArUms.Ep_Mon[04]
  1071. TDebUms.VEp_Mon[05] = TDebUms.VEp_Mon[05] + DeArUms.Ep_Mon[05]
  1072. TDebUms.VEp_Mon[06] = TDebUms.VEp_Mon[06] + DeArUms.Ep_Mon[06]
  1073. TDebUms.VEp_Mon[07] = TDebUms.VEp_Mon[07] + DeArUms.Ep_Mon[07]
  1074. TDebUms.VEp_Mon[08] = TDebUms.VEp_Mon[08] + DeArUms.Ep_Mon[08]
  1075. TDebUms.VEp_Mon[09] = TDebUms.VEp_Mon[09] + DeArUms.Ep_Mon[09]
  1076. TDebUms.VEp_Mon[10] = TDebUms.VEp_Mon[10] + DeArUms.Ep_Mon[10]
  1077. TDebUms.VEp_Mon[11] = TDebUms.VEp_Mon[11] + DeArUms.Ep_Mon[11]
  1078. TDebUms.VEp_Mon[12] = TDebUms.VEp_Mon[12] + DeArUms.Ep_Mon[12]
  1079. TDebUms.VVp_Kum = TDebUms.VVp_Kum + DeArUms.Vp_Kum
  1080. TDebUms.VVp_Mon[01] = TDebUms.VVp_Mon[01] + DeArUms.Vp_Mon[01]
  1081. TDebUms.VVp_Mon[02] = TDebUms.VVp_Mon[02] + DeArUms.Vp_Mon[02]
  1082. TDebUms.VVp_Mon[03] = TDebUms.VVp_Mon[03] + DeArUms.Vp_Mon[03]
  1083. TDebUms.VVp_Mon[04] = TDebUms.VVp_Mon[04] + DeArUms.Vp_Mon[04]
  1084. TDebUms.VVp_Mon[05] = TDebUms.VVp_Mon[05] + DeArUms.Vp_Mon[05]
  1085. TDebUms.VVp_Mon[06] = TDebUms.VVp_Mon[06] + DeArUms.Vp_Mon[06]
  1086. TDebUms.VVp_Mon[07] = TDebUms.VVp_Mon[07] + DeArUms.Vp_Mon[07]
  1087. TDebUms.VVp_Mon[08] = TDebUms.VVp_Mon[08] + DeArUms.Vp_Mon[08]
  1088. TDebUms.VVp_Mon[09] = TDebUms.VVp_Mon[09] + DeArUms.Vp_Mon[09]
  1089. TDebUms.VVp_Mon[10] = TDebUms.VVp_Mon[10] + DeArUms.Vp_Mon[10]
  1090. TDebUms.VVp_Mon[11] = TDebUms.VVp_Mon[11] + DeArUms.Vp_Mon[11]
  1091. TDebUms.VVp_Mon[12] = TDebUms.VVp_Mon[12] + DeArUms.Vp_Mon[12].
  1092. END CASE.
  1093. END.
  1094. END.
  1095. FOR EACH TDebUms USE-INDEX TDebUms-k1
  1096. WHERE TDebUms.Knr <= 999999
  1097. AND TDebUms.Jahr = F_Jahr
  1098. AND TDebUms.Ums_Grp < 999 NO-LOCK:
  1099. LEp = 0.
  1100. LVp = 0.
  1101. VEp = 0.
  1102. VVp = 0.
  1103. DO ii = F_VonMonat TO F_BisMonat:
  1104. LEp = LEp + TDebUms.LEp_Mon[ii].
  1105. LVp = LVp + TDebUms.LVp_Mon[ii].
  1106. VEp = VEp + TDebUms.VEp_Mon[ii].
  1107. VVp = VVp + TDebUms.VVp_Mon[ii].
  1108. END.
  1109. ASSIGN TDebUms.LEp_Tot = LEp
  1110. TDebUms.LVp_Tot = LVp
  1111. TDebUms.VEp_Tot = VEp
  1112. TDebUms.VVp_Tot = VVp.
  1113. END.
  1114. END PROCEDURE.
  1115. /* _UIB-CODE-BLOCK-END */
  1116. &ANALYZE-RESUME