d-p_gebkontr.w 48 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503
  1. &ANALYZE-SUSPEND _VERSION-NUMBER UIB_v8r12 GUI ADM1
  2. &ANALYZE-RESUME
  3. /* Connected Databases
  4. anadat PROGRESS
  5. */
  6. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  7. &Scoped-define FRAME-NAME D-Dialog
  8. /* Temp-Table and Buffer definitions */
  9. DEFINE TEMP-TABLE THilfsTab NO-UNDO LIKE HilfsTab.
  10. DEFINE NEW SHARED TEMP-TABLE XTermOut NO-UNDO LIKE TermOut.
  11. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS D-Dialog
  12. /*------------------------------------------------------------------------
  13. File:
  14. Description: from cntnrdlg.w - ADM SmartDialog Template
  15. Input Parameters:
  16. <none>
  17. Output Parameters:
  18. <none>
  19. Author:
  20. Created:
  21. ------------------------------------------------------------------------*/
  22. /* This .W file was created with the Progress UIB. */
  23. /*----------------------------------------------------------------------*/
  24. /* Create an unnamed pool to store all the widgets created
  25. by this procedure. This is a good default which assures
  26. that this procedure's triggers and internal procedures
  27. will execute in this procedure's storage, and that proper
  28. cleanup will occur on deletion of the procedure. */
  29. CREATE WIDGET-POOL.
  30. /* *************************** Definitions ************************** */
  31. /* Parameters Definitions --- */
  32. /* Local Variable Definitions --- */
  33. DEF VAR VProgName AS CHAR NO-UNDO.
  34. DEF VAR ARecid AS RECID NO-UNDO.
  35. DEF VAR BRecid AS RECID NO-UNDO.
  36. DEF VAR TRecid AS RECID NO-UNDO.
  37. DEF VAR VLiArt AS INT NO-UNDO.
  38. DEF VAR ok AS LOG NO-UNDO.
  39. DEF VAR VTemp AS CHAR NO-UNDO.
  40. DEF VAR VZeile AS CHAR FORMAT "x(255)" NO-UNDO.
  41. DEF VAR XSort1 AS CHAR FORMAT "x(30)" NO-UNDO.
  42. DEF VAR XSort2 AS CHAR FORMAT "x(30)" NO-UNDO.
  43. DEF VAR XSort3 AS CHAR FORMAT "x(30)" NO-UNDO.
  44. DEF VAR XSort4 AS CHAR FORMAT "x(30)" NO-UNDO.
  45. DEF VAR FLeer AS LOG NO-UNDO.
  46. DEF VAR GTotal AS DEC DECIMALS 4 EXTENT 10 NO-UNDO.
  47. DEF VAR KeyValue AS CHAR NO-UNDO.
  48. DEF WORKFILE WHilfsTab LIKE HilfsTab.
  49. DEF TEMP-TABLE TGebinde FIELD Art AS CHAR
  50. FIELD Geb_Cd AS CHAR
  51. INDEX TGebinde-k1 IS PRIMARY
  52. Geb_Cd
  53. Art.
  54. /* ---------- Globale Variablen ---------------------------------- */
  55. { v8/globvar.i" " " " "SHARED" }
  56. { v8/debivar.i " " " " "SHARED" }
  57. { v8/artivar.i " " " " "SHARED" }
  58. { v8/contvar.i " " " " "SHARED" }
  59. { v8/listtitv.i "NEW" "SHARED" }
  60. /* _UIB-CODE-BLOCK-END */
  61. &ANALYZE-RESUME
  62. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  63. /* ******************** Preprocessor Definitions ******************** */
  64. &Scoped-define PROCEDURE-TYPE SmartDialog
  65. &Scoped-define DB-AWARE no
  66. &Scoped-define ADM-CONTAINER DIALOG-BOX
  67. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  68. &Scoped-define FRAME-NAME D-Dialog
  69. /* Standard List Definitions */
  70. &Scoped-Define ENABLED-OBJECTS CB_Listenart RS_Sort F_VKnr F_BKnr ~
  71. F_Kundengruppen F_Preisgruppen F_VDatum F_BDatum CB_Drucker CB_Schriftbild ~
  72. T_Drucker Btn_OK Btn_Cancel RECT-2 RECT-3
  73. &Scoped-Define DISPLAYED-OBJECTS CB_Listenart RS_Sort F_VKnr F_BKnr ~
  74. F_Kundengruppen F_Preisgruppen F_VDatum F_BDatum CB_Drucker CB_Schriftbild ~
  75. T_Drucker
  76. /* Custom List Definitions */
  77. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  78. &Scoped-define List-1 RS_Sort F_VKnr F_BKnr F_Kundengruppen F_Preisgruppen ~
  79. F_VDatum F_BDatum T_Drucker
  80. /* _UIB-PREPROCESSOR-BLOCK-END */
  81. &ANALYZE-RESUME
  82. /* *********************** Control Definitions ********************** */
  83. /* Define a dialog box */
  84. /* Definitions of the field level widgets */
  85. DEFINE BUTTON Btn_Cancel AUTO-END-KEY
  86. LABEL "&Abbrechen"
  87. SIZE 14 BY 1
  88. BGCOLOR 8 .
  89. DEFINE BUTTON Btn_OK AUTO-GO
  90. LABEL "&Start"
  91. SIZE 14 BY 1
  92. BGCOLOR 8 .
  93. DEFINE VARIABLE CB_Drucker AS CHARACTER FORMAT "X(256)":U
  94. VIEW-AS COMBO-BOX INNER-LINES 5
  95. DROP-DOWN-LIST
  96. SIZE 70 BY 1
  97. BGCOLOR 15 NO-UNDO.
  98. DEFINE VARIABLE CB_Listenart AS CHARACTER FORMAT "X(256)":U
  99. LABEL "Listenart"
  100. VIEW-AS COMBO-BOX INNER-LINES 5
  101. LIST-ITEMS "Gebinde"
  102. DROP-DOWN-LIST
  103. SIZE 40 BY 1
  104. BGCOLOR 15 NO-UNDO.
  105. DEFINE VARIABLE CB_Schriftbild AS CHARACTER FORMAT "X(256)":U
  106. VIEW-AS COMBO-BOX INNER-LINES 5
  107. DROP-DOWN-LIST
  108. SIZE 20 BY 1
  109. BGCOLOR 15 NO-UNDO.
  110. DEFINE VARIABLE F_BDatum AS DATE FORMAT "99.99.9999":U
  111. VIEW-AS FILL-IN NATIVE
  112. SIZE 16 BY 1
  113. BGCOLOR 15 NO-UNDO.
  114. DEFINE VARIABLE F_BKnr AS INTEGER FORMAT "999999":U INITIAL 0
  115. VIEW-AS FILL-IN NATIVE
  116. SIZE 11 BY 1
  117. BGCOLOR 15 NO-UNDO.
  118. DEFINE VARIABLE F_Kundengruppen AS CHARACTER FORMAT "x(256)":U
  119. LABEL "Kundengruppen"
  120. VIEW-AS FILL-IN NATIVE
  121. SIZE 50 BY 1 TOOLTIP "F1 = Auswahl der Codes"
  122. BGCOLOR 15 NO-UNDO.
  123. DEFINE VARIABLE F_Preisgruppen AS CHARACTER FORMAT "x(256)":U
  124. LABEL "Preisgruppen"
  125. VIEW-AS FILL-IN NATIVE
  126. SIZE 50 BY 1 TOOLTIP "F1 = Auswahl der Codes"
  127. BGCOLOR 15 NO-UNDO.
  128. DEFINE VARIABLE F_VDatum AS DATE FORMAT "99.99.9999":U
  129. LABEL "von - bis Datum"
  130. VIEW-AS FILL-IN NATIVE
  131. SIZE 16 BY 1
  132. BGCOLOR 15 NO-UNDO.
  133. DEFINE VARIABLE F_VKnr AS INTEGER FORMAT "999999":U INITIAL 0
  134. LABEL "von - bis Kundennummer"
  135. VIEW-AS FILL-IN NATIVE
  136. SIZE 11 BY 1
  137. BGCOLOR 15 NO-UNDO.
  138. DEFINE VARIABLE RS_Sort AS INTEGER INITIAL 1
  139. VIEW-AS RADIO-SET VERTICAL
  140. RADIO-BUTTONS
  141. "Kundennummer", 1,
  142. "Suchbegriff", 2,
  143. "", 3
  144. SIZE 70 BY 2.48 NO-UNDO.
  145. DEFINE RECTANGLE RECT-2
  146. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  147. SIZE 115 BY 4.19.
  148. DEFINE RECTANGLE RECT-3
  149. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  150. SIZE 115 BY 5.
  151. DEFINE VARIABLE T_Drucker AS LOGICAL INITIAL no
  152. LABEL "Druckersetup"
  153. VIEW-AS TOGGLE-BOX
  154. SIZE 17.6 BY 1 NO-UNDO.
  155. /* ************************ Frame Definitions *********************** */
  156. DEFINE FRAME D-Dialog
  157. CB_Listenart AT ROW 1.52 COL 12 COLON-ALIGNED
  158. RS_Sort AT ROW 4.71 COL 14 NO-LABEL
  159. F_VKnr AT ROW 8.52 COL 33 COLON-ALIGNED
  160. F_BKnr AT ROW 8.52 COL 56 COLON-ALIGNED NO-LABEL
  161. F_Kundengruppen AT ROW 9.52 COL 33 COLON-ALIGNED
  162. F_Preisgruppen AT ROW 10.52 COL 33 COLON-ALIGNED
  163. F_VDatum AT ROW 11.52 COL 33 COLON-ALIGNED
  164. F_BDatum AT ROW 11.52 COL 56 COLON-ALIGNED NO-LABEL
  165. CB_Drucker AT ROW 13.52 COL 5 NO-LABEL
  166. CB_Schriftbild AT ROW 13.52 COL 74.2 COLON-ALIGNED NO-LABEL
  167. T_Drucker AT ROW 13.52 COL 99.2
  168. Btn_OK AT ROW 1.62 COL 87
  169. Btn_Cancel AT ROW 1.62 COL 103
  170. "Sortierung Kunde" VIEW-AS TEXT
  171. SIZE 70 BY 1 AT ROW 3.48 COL 14
  172. FONT 9
  173. RECT-2 AT ROW 3.24 COL 3
  174. RECT-3 AT ROW 8 COL 3
  175. SPACE(2.79) SKIP(2.18)
  176. WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
  177. SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
  178. TITLE "Gebindekontrolle"
  179. CANCEL-BUTTON Btn_Cancel.
  180. /* *********************** Procedure Settings ************************ */
  181. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  182. /* Settings for THIS-PROCEDURE
  183. Type: SmartDialog
  184. Allow: Basic,Browse,DB-Fields,Query,Smart
  185. Other Settings: COMPILE
  186. Temp-Tables and Buffers:
  187. TABLE: THilfsTab T "?" NO-UNDO AnaDat HilfsTab
  188. TABLE: XTermOut T "NEW SHARED" NO-UNDO AnaDat TermOut
  189. END-TABLES.
  190. */
  191. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  192. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB D-Dialog
  193. /* ************************* Included-Libraries *********************** */
  194. {src/adm/method/containr.i}
  195. /* _UIB-CODE-BLOCK-END */
  196. &ANALYZE-RESUME
  197. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  198. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  199. /* SETTINGS FOR DIALOG-BOX D-Dialog
  200. FRAME-NAME Custom */
  201. ASSIGN
  202. FRAME D-Dialog:SCROLLABLE = FALSE
  203. FRAME D-Dialog:HIDDEN = TRUE.
  204. /* SETTINGS FOR COMBO-BOX CB_Drucker IN FRAME D-Dialog
  205. ALIGN-L */
  206. /* SETTINGS FOR FILL-IN F_BDatum IN FRAME D-Dialog
  207. 1 */
  208. /* SETTINGS FOR FILL-IN F_BKnr IN FRAME D-Dialog
  209. 1 */
  210. /* SETTINGS FOR FILL-IN F_Kundengruppen IN FRAME D-Dialog
  211. 1 */
  212. /* SETTINGS FOR FILL-IN F_Preisgruppen IN FRAME D-Dialog
  213. 1 */
  214. /* SETTINGS FOR FILL-IN F_VDatum IN FRAME D-Dialog
  215. 1 */
  216. /* SETTINGS FOR FILL-IN F_VKnr IN FRAME D-Dialog
  217. 1 */
  218. /* SETTINGS FOR RADIO-SET RS_Sort IN FRAME D-Dialog
  219. 1 */
  220. /* SETTINGS FOR TOGGLE-BOX T_Drucker IN FRAME D-Dialog
  221. 1 */
  222. /* _RUN-TIME-ATTRIBUTES-END */
  223. &ANALYZE-RESUME
  224. /* Setting information for Queries and Browse Widgets fields */
  225. &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX D-Dialog
  226. /* Query rebuild information for DIALOG-BOX D-Dialog
  227. _Options = "SHARE-LOCK"
  228. _Query is NOT OPENED
  229. */ /* DIALOG-BOX D-Dialog */
  230. &ANALYZE-RESUME
  231. /* ************************ Control Triggers ************************ */
  232. &Scoped-define SELF-NAME D-Dialog
  233. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL D-Dialog D-Dialog
  234. ON WINDOW-CLOSE OF FRAME D-Dialog /* Gebindekontrolle */
  235. DO:
  236. /* Add Trigger to equate WINDOW-CLOSE to END-ERROR. */
  237. APPLY "END-ERROR":U TO SELF.
  238. END.
  239. /* _UIB-CODE-BLOCK-END */
  240. &ANALYZE-RESUME
  241. &Scoped-define SELF-NAME Btn_OK
  242. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK D-Dialog
  243. ON CHOOSE OF Btn_OK IN FRAME D-Dialog /* Start */
  244. DO:
  245. DO WITH FRAME {&FRAME-NAME}:
  246. ASSIGN {&List-1}.
  247. IF F_VKnr = 0 AND F_BKnr = 0 THEN F_BKnr = 999999.
  248. IF F_VKnr > F_BKnr THEN F_BKnr = F_VKnr.
  249. IF F_VDatum = ? THEN F_VDatum = DATE(01,01,YEAR(TODAY)).
  250. IF F_BDatum = ? THEN F_BDatum = DATE(12,31,YEAR(TODAY)).
  251. IF F_BDatum < F_VDatum THEN F_BDatum = F_VDatum.
  252. ix = NUM-ENTRIES(F_Kundengruppen, ',').
  253. DO i1 = 1 TO ix:
  254. i2 = INTEGER(ENTRY(i1, F_Kundengruppen, ',')).
  255. ENTRY(i1, F_Kundengruppen, ',') = STRING(i2,'999').
  256. END.
  257. ix = NUM-ENTRIES(F_Preisgruppen, ',').
  258. DO i1 = 1 TO ix:
  259. i2 = INTEGER(ENTRY(i1, F_Preisgruppen, ',')).
  260. ENTRY(i1, F_Preisgruppen, ',') = STRING(i2,'999').
  261. END.
  262. DISPLAY {&List-1}.
  263. DISABLE Btn_OK
  264. Btn_cancel.
  265. SESSION:SET-WAIT-STATE('GENERAL').
  266. RUN DRUCKEN.
  267. SESSION:SET-WAIT-STATE('').
  268. ENABLE Btn_OK
  269. Btn_cancel.
  270. END.
  271. END.
  272. /* _UIB-CODE-BLOCK-END */
  273. &ANALYZE-RESUME
  274. &Scoped-define SELF-NAME CB_Drucker
  275. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Drucker D-Dialog
  276. ON VALUE-CHANGED OF CB_Drucker IN FRAME D-Dialog
  277. DO:
  278. ok = TRUE.
  279. DO WHILE ok:
  280. ok = CB_Schriftbild:DELETE(1).
  281. END.
  282. FOR EACH Schrift USE-INDEX Schrift-k1
  283. WHERE Schrift.Schname = CB_Drucker:SCREEN-VALUE NO-LOCK:
  284. ok = CB_Schriftbild:ADD-LAST(Schrift.Schbild).
  285. END.
  286. i1 = 0.
  287. DO WHILE BRecid > 0:
  288. i1 = CB_Schriftbild:LOOKUP(LiDruck.ListBild).
  289. LEAVE.
  290. END.
  291. IF i1 = 0 THEN i1 = 1.
  292. CB_Schriftbild:SCREEN-VALUE = CB_Schriftbild:ENTRY(i1).
  293. END.
  294. /* _UIB-CODE-BLOCK-END */
  295. &ANALYZE-RESUME
  296. &Scoped-define SELF-NAME CB_Listenart
  297. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Listenart D-Dialog
  298. ON VALUE-CHANGED OF CB_Listenart IN FRAME D-Dialog /* Listenart */
  299. DO:
  300. TRecid = 0.
  301. ARecid = 0.
  302. BRecid = 0.
  303. VLiArt = CB_Listenart:LOOKUP(CB_Listenart:SCREEN-VALUE).
  304. PUT-KEY-VALUE SECTION 'Gebinde' KEY 'Listenart' VALUE STRING(VLiArt).
  305. RUN SORTIERARTEN.
  306. FIND Tabel USE-INDEX Tabel-k1
  307. WHERE Tabel.Firma = GVFirma
  308. AND Tabel.RecArt = 'LISTEN'
  309. AND Tabel.CodeC = 'GEBKONTR'
  310. AND Tabel.CodeI = VLiArt
  311. AND Tabel.Sprcd = 0 NO-LOCK NO-ERROR.
  312. IF AVAILABLE Tabel THEN DO:
  313. TRecid = RECID(Tabel).
  314. ARecid = Tabel.Int_1.
  315. BRecid = Tabel.Int_2.
  316. FIND Listen WHERE RECID(Listen) = ARecid NO-LOCK NO-ERROR.
  317. FIND LiDruck WHERE RECID(LiDruck) = BRecid NO-LOCK NO-ERROR.
  318. IF NOT AVAILABLE Listen THEN ARecid = 0.
  319. IF NOT AVAILABLE LiDruck THEN BRecid = 0.
  320. END.
  321. RS_Sort = 1.
  322. F_VKnr = 0.
  323. F_BKnr = 999999.
  324. F_Kundengruppen = ''.
  325. F_Preisgruppen = ''.
  326. F_VDatum = DATE(01,01,YEAR(TODAY)).
  327. F_BDatum = DATE(12,31,YEAR(TODAY)).
  328. CB_Drucker:SCREEN-VALUE = CB_Drucker:ENTRY(1) NO-ERROR.
  329. DO WHILE ARecid > 0:
  330. RS_Sort = Listen.Sort.
  331. F_VKnr = Listen.VNr[01].
  332. F_BKnr = Listen.BNr[01].
  333. F_Kundengruppen = Listen.ECh[01].
  334. F_Preisgruppen = Listen.ECh[02].
  335. F_VDatum = Listen.VDa[01].
  336. F_BDatum = Listen.BDa[01].
  337. LEAVE.
  338. END.
  339. i1 = 0.
  340. DO WHILE BRecid > 0:
  341. i1 = CB_Drucker:LOOKUP(LiDruck.ListDru).
  342. LEAVE.
  343. END.
  344. IF i1 = 0 THEN i1 = 1.
  345. CB_Drucker:SCREEN-VALUE = CB_Drucker:ENTRY(i1).
  346. APPLY 'VALUE-CHANGED' TO CB_Drucker.
  347. DISPLAY {&List-1} WITH FRAME {&FRAME-NAME}.
  348. APPLY 'ENTRY' TO F_VKnr.
  349. END.
  350. /* _UIB-CODE-BLOCK-END */
  351. &ANALYZE-RESUME
  352. &Scoped-define SELF-NAME F_BKnr
  353. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_BKnr D-Dialog
  354. ON ALT-F OF F_BKnr IN FRAME D-Dialog
  355. DO:
  356. DEF VAR iRecid AS RECID NO-UNDO.
  357. RUN 'g-suchen-adresse.w':U ( 'DEB', OUTPUT iRecid ).
  358. IF iRecid = ? OR
  359. iRecid = 0 THEN RETURN NO-APPLY.
  360. FIND Adresse NO-LOCK WHERE RECID(Adresse) = iRecid NO-ERROR.
  361. SELF:SCREEN-VALUE = STRING(Adresse.Knr).
  362. APPLY 'ENTRY' TO SELF.
  363. RETURN NO-APPLY.
  364. END.
  365. /* _UIB-CODE-BLOCK-END */
  366. &ANALYZE-RESUME
  367. &Scoped-define SELF-NAME F_Kundengruppen
  368. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Kundengruppen D-Dialog
  369. ON LEFT-MOUSE-DBLCLICK OF F_Kundengruppen IN FRAME D-Dialog /* Kundengruppen */
  370. DO:
  371. LVRecArt = 'KUNDGRP'.
  372. LVTitel = 'Kundengruppen'.
  373. LVFirma = GVFirma.
  374. Linktext = SELF:SCREEN-VALUE.
  375. RUN "v8/d-ausw-tabel.w".
  376. SELF:SCREEN-VALUE = Linktext.
  377. Linktext = ''.
  378. END.
  379. /* _UIB-CODE-BLOCK-END */
  380. &ANALYZE-RESUME
  381. &Scoped-define SELF-NAME F_Preisgruppen
  382. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Preisgruppen D-Dialog
  383. ON LEFT-MOUSE-DBLCLICK OF F_Preisgruppen IN FRAME D-Dialog /* Preisgruppen */
  384. DO:
  385. LVRecArt = 'PREGRP'.
  386. LVTitel = 'Preisgruppen'.
  387. LVFirma = GVFirma.
  388. Linktext = SELF:SCREEN-VALUE.
  389. RUN "v8/d-ausw-tabel.w".
  390. SELF:SCREEN-VALUE = Linktext.
  391. Linktext = ''.
  392. END.
  393. /* _UIB-CODE-BLOCK-END */
  394. &ANALYZE-RESUME
  395. &Scoped-define SELF-NAME F_VKnr
  396. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_VKnr D-Dialog
  397. ON ALT-F OF F_VKnr IN FRAME D-Dialog /* von - bis Kundennummer */
  398. DO:
  399. DEF VAR iRecid AS RECID NO-UNDO.
  400. RUN 'g-suchen-adresse.w':U ( 'DEB', OUTPUT iRecid ).
  401. IF iRecid = ? OR
  402. iRecid = 0 THEN RETURN NO-APPLY.
  403. FIND Adresse NO-LOCK WHERE RECID(Adresse) = iRecid NO-ERROR.
  404. SELF:SCREEN-VALUE = STRING(Adresse.Knr).
  405. F_BKnr:SCREEN-VALUE = STRING(Adresse.Knr).
  406. APPLY 'ENTRY' TO SELF.
  407. RETURN NO-APPLY.
  408. END.
  409. /* _UIB-CODE-BLOCK-END */
  410. &ANALYZE-RESUME
  411. &UNDEFINE SELF-NAME
  412. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK D-Dialog
  413. /* *************************** Main Block *************************** */
  414. DO WITH FRAME {&FRAME-NAME}:
  415. GET-KEY-VALUE SECTION 'Gebinde' KEY 'Listenart' VALUE KeyValue.
  416. VLiArt = 1.
  417. IF KeyValue = ? THEN VLiArt = 1.
  418. ELSE VLiArt = INTEGER(KeyValue) NO-ERROR.
  419. CB_Listenart:SCREEN-VALUE = CB_Listenart:ENTRY(VLiArt) NO-ERROR.
  420. CB_Drucker:DELIMITER = ';'.
  421. CB_Schriftbild:DELIMITER = ';'.
  422. ok = TRUE.
  423. DO WHILE ok:
  424. ok = CB_Drucker:DELETE(1).
  425. END.
  426. FOR EACH Schrift USE-INDEX Schrift-k1 NO-LOCK
  427. BREAK BY Schrift.Schname :
  428. IF NOT FIRST-OF ( Schrift.Schname ) THEN NEXT.
  429. ok = CB_Drucker:ADD-LAST(Schrift.Schname).
  430. END.
  431. END.
  432. {src/adm/template/dialogmn.i}
  433. /* _UIB-CODE-BLOCK-END */
  434. &ANALYZE-RESUME
  435. /* ********************** Internal Procedures *********************** */
  436. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects D-Dialog _ADM-CREATE-OBJECTS
  437. PROCEDURE adm-create-objects :
  438. /*------------------------------------------------------------------------------
  439. Purpose: Create handles for all SmartObjects used in this procedure.
  440. After SmartObjects are initialized, then SmartLinks are added.
  441. Parameters: <none>
  442. ------------------------------------------------------------------------------*/
  443. END PROCEDURE.
  444. /* _UIB-CODE-BLOCK-END */
  445. &ANALYZE-RESUME
  446. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-row-available D-Dialog _ADM-ROW-AVAILABLE
  447. PROCEDURE adm-row-available :
  448. /*------------------------------------------------------------------------------
  449. Purpose: Dispatched to this procedure when the Record-
  450. Source has a new row available. This procedure
  451. tries to get the new row (or foriegn keys) from
  452. the Record-Source and process it.
  453. Parameters: <none>
  454. ------------------------------------------------------------------------------*/
  455. /* Define variables needed by this internal procedure. */
  456. {src/adm/template/row-head.i}
  457. /* Process the newly available records (i.e. display fields,
  458. open queries, and/or pass records on to any RECORD-TARGETS). */
  459. {src/adm/template/row-end.i}
  460. END PROCEDURE.
  461. /* _UIB-CODE-BLOCK-END */
  462. &ANALYZE-RESUME
  463. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AUSGABE_01 D-Dialog
  464. PROCEDURE AUSGABE_01 :
  465. /*------------------------------------------------------------------------------
  466. Purpose:
  467. Parameters: <none>
  468. Notes:
  469. ------------------------------------------------------------------------------*/
  470. DEF VAR VGebText AS CHAR NO-UNDO.
  471. FOR EACH THilfsTab BREAK BY Sort_1
  472. BY Sort_2
  473. BY Sort_3
  474. BY Sort_4 :
  475. IF FIRST-OF ( Sort_2 ) THEN DO:
  476. Leer = 2.
  477. Zuszz = 5.
  478. RUN LISTTIT2.
  479. FIND Adresse WHERE RECID(Adresse) = THilfsTab.Zahl[02] NO-LOCK.
  480. VZeile = STRING(Adresse.Knr,'999999 ')
  481. + Adresse.Anzeig_Br.
  482. { v8/putstreamf.i "2" }
  483. END.
  484. RUN LISTTIT2.
  485. VGebText = THilfsTab.Sort_4.
  486. CASE THilfsTab.Sort_3:
  487. WHEN 'A' THEN DO:
  488. FIND KGebinde USE-INDEX KGebinde-k1
  489. WHERE KGebinde.Firma = GVFirma
  490. AND KGebinde.Geb_Cd = THilfsTab.Sort_4 NO-LOCK.
  491. VGebText = KGebinde.Bez.
  492. END.
  493. WHEN 'B' THEN DO:
  494. FIND VGebinde USE-INDEX VGebinde-k1
  495. WHERE VGebinde.Firma = GVFirma
  496. AND VGebinde.Geb_Cd = THilfsTab.Sort_4 NO-LOCK.
  497. VGebText = VGebinde.Bez.
  498. END.
  499. WHEN 'C' THEN DO:
  500. FIND GGebinde USE-INDEX GGebinde-k1
  501. WHERE GGebinde.Firma = GVFirma
  502. AND GGebinde.Geb_Cd = THilfsTab.Sort_4 NO-LOCK.
  503. VGebText = GGebinde.Bez.
  504. END.
  505. WHEN 'D' THEN DO:
  506. FIND GebKonto USE-INDEX GebKonto-k1
  507. WHERE GebKonto.Firma = GVFirma
  508. AND GebKonto.Geb_Cd = THilfsTab.Sort_4 NO-LOCK.
  509. VGebText = GebKonto.Bez.
  510. END.
  511. WHEN 'Z' THEN DO:
  512. VGebText = THilfsTab.Sort_4.
  513. END.
  514. END.
  515. Rundbetr = THilfsTab.Wert[01] - THilfsTab.Wert[02].
  516. SUBSTRING(VZeile,001) = STRING(VGebText ,"x(20)").
  517. SUBSTRING(VZeile,031) = STRING(THilfsTab.Wert[02] ,"zzz,zzz,zzz-").
  518. SUBSTRING(VZeile,043) = STRING(THilfsTab.Wert[01] ,"zzz,zzz,zzz-").
  519. SUBSTRING(VZeile,055) = STRING(Rundbetr ,"zzz,zzz,zzz-").
  520. { v8/putstream.i "1" }
  521. END.
  522. END PROCEDURE.
  523. /* _UIB-CODE-BLOCK-END */
  524. &ANALYZE-RESUME
  525. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AUSGABE_02 D-Dialog
  526. PROCEDURE AUSGABE_02 :
  527. /*------------------------------------------------------------------------------
  528. Purpose:
  529. Parameters: <none>
  530. Notes:
  531. ------------------------------------------------------------------------------*/
  532. DEF VAR VRang AS INT NO-UNDO.
  533. VRang = 0.
  534. FOR EACH THilfsTab NO-LOCK,
  535. FIRST Adresse WHERE RECID(Adresse) = THilfsTab.Zahl[02] NO-LOCK :
  536. RUN LISTTIT2.
  537. VRang = VRang + 1.
  538. Rundbetr = 0.
  539. Rundbetr = THilfsTab.Wert[01] - THilfsTab.Wert[02].
  540. SUBSTRING(VZeile,001) = STRING(VRang ,"zzzzz9").
  541. SUBSTRING(VZeile,009) = STRING(Adresse.Knr ,"999999").
  542. SUBSTRING(VZeile,017) = STRING(Adresse.Anzeig_Br ,"x(60)").
  543. SUBSTRING(VZeile,078) = STRING(THilfsTab.Wert[01] ,"zzz,zzz,zzz-").
  544. SUBSTRING(VZeile,091) = STRING(THilfsTab.Wert[02] ,"zzz,zzz,zzz-").
  545. SUBSTRING(VZeile,104) = STRING(Rundbetr ,"zzz,zzz,zzz-").
  546. { v8/putstream.i "1" }
  547. END.
  548. END PROCEDURE.
  549. /* _UIB-CODE-BLOCK-END */
  550. &ANALYZE-RESUME
  551. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI D-Dialog _DEFAULT-DISABLE
  552. PROCEDURE disable_UI :
  553. /*------------------------------------------------------------------------------
  554. Purpose: DISABLE the User Interface
  555. Parameters: <none>
  556. Notes: Here we clean-up the user-interface by deleting
  557. dynamic widgets we have created and/or hide
  558. frames. This procedure is usually called when
  559. we are ready to "clean-up" after running.
  560. ------------------------------------------------------------------------------*/
  561. /* Hide all frames. */
  562. HIDE FRAME D-Dialog.
  563. END PROCEDURE.
  564. /* _UIB-CODE-BLOCK-END */
  565. &ANALYZE-RESUME
  566. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DRUCKAUSGABE D-Dialog
  567. PROCEDURE DRUCKAUSGABE :
  568. /*------------------------------------------------------------------------------
  569. Purpose:
  570. Parameters: <none>
  571. Notes:
  572. ------------------------------------------------------------------------------*/
  573. DEF VAR AnzKopien AS INT NO-UNDO.
  574. DEF VAR iSize AS INT NO-UNDO.
  575. AnzKopien = BLiDruck.ListCopy.
  576. IF AnzKopien = 0 THEN AnzKopien = 1.
  577. IF BDrucker.Emul = 'TERMINAL' THEN AnzKopien = 1.
  578. DO VCopy = 1 TO AnzKopien WHILE BDrucker.Emul <> "TERMINAL":
  579. iSize = DYNAMIC-FUNCTION('putDateiToPrinter':U, VTemp ,
  580. RECID(BSchrift),
  581. 0 ,
  582. 300 , /* Blockgrösse */
  583. 'ibm850' ,
  584. 1 ).
  585. IF iSize = 0 THEN DO:
  586. MESSAGE 'Druckvorgang gescheitert !!! '
  587. VIEW-AS ALERT-BOX ERROR.
  588. END.
  589. ETIME(TRUE).
  590. DO WHILE ETIME(FALSE) < 250:
  591. END.
  592. END.
  593. DO WHILE BDrucker.Emul = "TERMINAL":
  594. RUN "v8/d-liste.w" ( INPUT HelpText[02] ).
  595. LEAVE.
  596. END.
  597. END PROCEDURE.
  598. /* _UIB-CODE-BLOCK-END */
  599. &ANALYZE-RESUME
  600. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DRUCKEN D-Dialog
  601. PROCEDURE DRUCKEN :
  602. /*------------------------------------------------------------------------------
  603. Purpose:
  604. Parameters: <none>
  605. Notes:
  606. ------------------------------------------------------------------------------*/
  607. DEF VAR XProgname AS CHAR NO-UNDO.
  608. DEF VAR VListnr AS INT NO-UNDO.
  609. DEF VAR FNeu AS LOG NO-UNDO.
  610. DEF VAR VDrucker AS CHAR NO-UNDO.
  611. DEF VAR VSchrift AS CHAR NO-UNDO.
  612. DEF VAR cUser AS CHAR NO-UNDO.
  613. DO WITH FRAME {&FRAME-NAME}:
  614. cUser = DYNAMIC-FUNCTION('getDBUser':U) NO-ERROR.
  615. VProgname = TRIM(cUSER) + '!GEBKONTR' + STRING(VLiArt,"99").
  616. XProgname = 'GEBKONTR' + STRING(VLiArt,"99").
  617. FNeu = FALSE.
  618. DO WITH FRAME {&FRAME-NAME}:
  619. VDrucker = CB_Drucker:SCREEN-VALUE.
  620. VSchrift = CB_Schriftbild:SCREEN-VALUE.
  621. END.
  622. REPEAT TRANSACTION:
  623. FIND FIRST Listen USE-INDEX Listen-k1
  624. WHERE Listen.Firma = GVFirma
  625. AND Listen.Progname = VProgname
  626. AND Listen.Listfl = '' NO-ERROR.
  627. IF NOT AVAILABLE Listen THEN DO:
  628. FIND LAST Listen USE-INDEX Listen-k1
  629. WHERE Listen.Firma = GVFirma NO-LOCK NO-ERROR.
  630. IF AVAILABLE Listen THEN VListnr = Listen.Listnr + 1.
  631. ELSE VListnr = 1.
  632. CREATE Listen.
  633. ASSIGN Listen.Firma = GVFirma
  634. Listen.Listnr = VListnr
  635. Listen.Progname = VProgname
  636. Listen.Listfl = ''
  637. Listen.Jahr = GVJahr
  638. Listen.Sprcd = GVSprcd
  639. Listen.Sort = RS_Sort
  640. Listen.ProgWahl = VLiArt
  641. FNeu = TRUE.
  642. END.
  643. Listen.Listfl = 'A'.
  644. ARecid = RECID(Listen).
  645. FIND LiDruck USE-INDEX LiDruck-k1
  646. WHERE LiDruck.Firma = GVFirma
  647. AND LiDruck.Listnr = Listen.Listnr
  648. AND LiDruck.ProgWahl = Listen.ProgWahl NO-ERROR.
  649. IF NOT AVAILABLE LiDruck THEN DO:
  650. CREATE LiDruck.
  651. ASSIGN LiDruck.Firma = GVFirma
  652. LiDruck.Listnr = Listen.Listnr
  653. LiDruck.ProgWahl = Listen.ProgWahl
  654. LiDruck.Listprog = XProgname
  655. LiDruck.ListCopy = 1
  656. LiDruck.Schacht = 0
  657. LiDruck.Listlq = FALSE.
  658. END.
  659. BRecid = RECID(LiDruck).
  660. ASSIGN Listen.Sort = RS_Sort
  661. Listen.ProgWahl = VLiArt
  662. Listen.VNr[01] = F_VKnr
  663. Listen.BNr[01] = F_BKnr
  664. Listen.ECh[01] = F_Kundengruppen
  665. Listen.ECh[02] = F_Preisgruppen
  666. Listen.VDa[01] = F_VDatum
  667. Listen.BDa[01] = F_BDatum.
  668. IF TRecid = 0 THEN DO:
  669. CREATE Tabel.
  670. ASSIGN Tabel.Firma = GVFirma
  671. Tabel.RecArt = 'LISTEN'
  672. Tabel.CodeC = 'GEBKONTR'
  673. Tabel.CodeI = VLiArt
  674. Tabel.Sprcd = 0.
  675. END.
  676. ELSE DO:
  677. FIND Tabel WHERE RECID(Tabel) = TRecid.
  678. END.
  679. TRecid = RECID(Tabel).
  680. ASSIGN Tabel.Int_1 = ARecid
  681. Tabel.Int_2 = BRecid.
  682. FIND Schrift USE-INDEX Schrift-k1
  683. WHERE Schrift.Schname = VDrucker
  684. AND Schrift.Schbild = VSchrift NO-LOCK NO-ERROR.
  685. IF AVAILABLE Schrift THEN DO:
  686. IF LiDruck.ListDru <> VDrucker OR
  687. LiDruck.ListBild <> VSchrift THEN DO:
  688. ASSIGN LiDruck.ListTzz = Schrift.Schzztot
  689. LiDruck.ListKzz = Schrift.Schzzbeg
  690. LiDruck.ListFzz = Schrift.Schzzend.
  691. END.
  692. ASSIGN LiDruck.ListDru = VDrucker
  693. LiDruck.ListBild = VSchrift.
  694. END.
  695. RUN LIBILD.
  696. RELEASE Listen.
  697. RELEASE LiDruck.
  698. RELEASE Tabel.
  699. LEAVE.
  700. END.
  701. IF FNeu THEN DO:
  702. T_Drucker = TRUE.
  703. DISPLAY T_Drucker WITH FRAME {&FRAME-NAME}.
  704. END.
  705. DFL = TRUE.
  706. IF T_Drucker THEN RUN DRUCKER.
  707. REPEAT TRANSACTION WHILE NOT Dfl:
  708. FIND BListen WHERE RECID(BListen) = ARecid.
  709. BListen.ListFl = ''.
  710. RELEASE BListen.
  711. FIND BListen WHERE RECID(BListen) = ARecid NO-LOCK NO-ERROR.
  712. RETURN.
  713. END.
  714. FIND BSteuer WHERE BSteuer.Firma = GVFirma NO-LOCK NO-ERROR.
  715. FIND BListen WHERE RECID(BListen) = ARecid NO-LOCK NO-ERROR.
  716. FIND BLiDruck WHERE RECID(BLiDruck) = BRecid NO-LOCK NO-ERROR.
  717. FIND BSchrift USE-INDEX Schrift-k1
  718. WHERE BSchrift.Schname = BLiDruck.ListDru
  719. AND BSchrift.Schbild = BLiDruck.ListBild NO-LOCK NO-ERROR.
  720. FIND BDrucker USE-INDEX Drucker-k1
  721. WHERE BDrucker.Drucker = BSchrift.Schdru NO-LOCK NO-ERROR.
  722. IF T_Drucker THEN DO:
  723. FIND LiDruck WHERE RECID(LiDruck) = BRecid NO-LOCK NO-ERROR.
  724. i1 = CB_Drucker:LOOKUP(LiDruck.ListDru).
  725. IF i1 = 0 THEN i1 = 1.
  726. CB_Drucker:SCREEN-VALUE = CB_Drucker:ENTRY(i1).
  727. APPLY 'VALUE-CHANGED' TO CB_Drucker.
  728. END.
  729. TiDruck = TRUE.
  730. VSeite = 0.
  731. RUN TEMP_FILE.
  732. RUN LISTTIT1.
  733. RUN WORKFILE.
  734. IF DOpen = TRUE THEN OUTPUT STREAM Out_Stream TO VALUE(VTemp).
  735. IF BListen.ProgWahl = 1 THEN RUN AUSGABE_01.
  736. IF BListen.ProgWahl = 2 THEN RUN AUSGABE_02.
  737. IF DOpen THEN OUTPUT STREAM Out_Stream CLOSE.
  738. DOpen = FALSE.
  739. RUN DRUCKAUSGABE.
  740. IF VTemp <> '' THEN OS-DELETE VALUE(VTemp).
  741. END.
  742. REPEAT TRANSACTION:
  743. FIND BListen WHERE RECID(BListen) = ARecid.
  744. BListen.ListFl = ''.
  745. RELEASE BListen.
  746. LEAVE.
  747. END.
  748. FIND BListen WHERE RECID(BListen) = ARecid NO-LOCK NO-ERROR.
  749. END PROCEDURE.
  750. /* _UIB-CODE-BLOCK-END */
  751. &ANALYZE-RESUME
  752. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DRUCKER D-Dialog
  753. PROCEDURE DRUCKER :
  754. /*------------------------------------------------------------------------------
  755. Purpose:
  756. Parameters: <none>
  757. Notes:
  758. ------------------------------------------------------------------------------*/
  759. LVRecid = TRecid.
  760. DFl = FALSE.
  761. SELF:LOAD-MOUSE-POINTER('ARROW').
  762. RUN "v8/d-druckauswahl.w".
  763. SELF:LOAD-MOUSE-POINTER('WAIT').
  764. END PROCEDURE.
  765. /* _UIB-CODE-BLOCK-END */
  766. &ANALYZE-RESUME
  767. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI D-Dialog _DEFAULT-ENABLE
  768. PROCEDURE enable_UI :
  769. /*------------------------------------------------------------------------------
  770. Purpose: ENABLE the User Interface
  771. Parameters: <none>
  772. Notes: Here we display/view/enable the widgets in the
  773. user-interface. In addition, OPEN all queries
  774. associated with each FRAME and BROWSE.
  775. These statements here are based on the "Other
  776. Settings" section of the widget Property Sheets.
  777. ------------------------------------------------------------------------------*/
  778. DISPLAY CB_Listenart RS_Sort F_VKnr F_BKnr F_Kundengruppen F_Preisgruppen
  779. F_VDatum F_BDatum CB_Drucker CB_Schriftbild T_Drucker
  780. WITH FRAME D-Dialog.
  781. ENABLE CB_Listenart RS_Sort F_VKnr F_BKnr F_Kundengruppen F_Preisgruppen
  782. F_VDatum F_BDatum CB_Drucker CB_Schriftbild T_Drucker Btn_OK
  783. Btn_Cancel RECT-2 RECT-3
  784. WITH FRAME D-Dialog.
  785. VIEW FRAME D-Dialog.
  786. {&OPEN-BROWSERS-IN-QUERY-D-Dialog}
  787. END PROCEDURE.
  788. /* _UIB-CODE-BLOCK-END */
  789. &ANALYZE-RESUME
  790. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LIBILD D-Dialog
  791. PROCEDURE LIBILD :
  792. /*------------------------------------------------------------------------------
  793. Purpose:
  794. Parameters: <none>
  795. Notes:
  796. ------------------------------------------------------------------------------*/
  797. Helptext = "".
  798. FOR EACH LiBild USE-INDEX LiBild-k1
  799. WHERE LiBild.Sprcd = GVSprcd
  800. AND LiBild.Prog = LiDruck.Listprog
  801. AND LiBild.Tenr > 0 NO-LOCK ix = 1 TO 20:
  802. Helptext[ix] = LiBild.Litext.
  803. END.
  804. Breite = INTEGER(SUBSTRING(Helptext[01],02,03)).
  805. END PROCEDURE.
  806. /* _UIB-CODE-BLOCK-END */
  807. &ANALYZE-RESUME
  808. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LISTTIT1 D-Dialog
  809. PROCEDURE LISTTIT1 :
  810. /*------------------------------------------------------------------------------
  811. Purpose:
  812. Parameters: <none>
  813. Notes:
  814. ------------------------------------------------------------------------------*/
  815. TitTxt = STRING(F_VDatum,'99.99.9999')
  816. + ' - '
  817. + STRING(F_BDatum,'99.99.9999').
  818. Fuell = SUBSTRING(Helptext[01],01,01).
  819. Breite = INTEGER(SUBSTRING(Helptext[01],02,03)).
  820. VRand = INTEGER(SUBSTRING(Helptext[01],68,03)).
  821. Dattxt = SUBSTRING(Helptext[01],05,10).
  822. Seitxt = SUBSTRING(Helptext[01],15,10).
  823. Zeitxt = SUBSTRING(Helptext[01],25,10).
  824. Firtxt = SUBSTRING(Helptext[01],35,10).
  825. Jahtxt = SUBSTRING(Helptext[01],45,10).
  826. PPos1 = Breite - 20.
  827. PPos2 = (Breite - LENGTH(Helptext[02]) - 1) / 2.
  828. PPos5 = (Breite - LENGTH(Tittxt) - 1) / 2.
  829. ix = LENGTH(BDrucker.Drufettb) + LENGTH(BDrucker.Drufette).
  830. PPos3 = PPos1 + ix.
  831. PPos4 = Breite + ix - 3.
  832. IF Fuell <> "" THEN Kopfz = FILL(Fuell,Breite).
  833. Ueber1 = "".
  834. Ueber2 = "".
  835. Ueber3 = "".
  836. IF Helptext[03] <> "" THEN SUBSTRING(Ueber1,001) = Helptext[03].
  837. IF Helptext[04] <> "" THEN SUBSTRING(Ueber1,071) = Helptext[04].
  838. IF Helptext[05] <> "" THEN SUBSTRING(Ueber1,141) = Helptext[05].
  839. IF Helptext[06] <> "" THEN SUBSTRING(Ueber2,001) = Helptext[06].
  840. IF Helptext[07] <> "" THEN SUBSTRING(Ueber2,071) = Helptext[07].
  841. IF Helptext[08] <> "" THEN SUBSTRING(Ueber2,141) = Helptext[08].
  842. IF Helptext[09] <> "" THEN SUBSTRING(Ueber3,001) = Helptext[09].
  843. IF Helptext[10] <> "" THEN SUBSTRING(Ueber3,071) = Helptext[10].
  844. IF Helptext[11] <> "" THEN SUBSTRING(Ueber3,141) = Helptext[11].
  845. IF Ueber1 <> '' THEN Ueber1 = BDrucker.Drufettb + Ueber1 + BDrucker.Drufette.
  846. IF Ueber2 <> '' THEN Ueber2 = BDrucker.Drufettb + Ueber2 + BDrucker.Drufette.
  847. IF Ueber3 <> '' THEN Ueber3 = BDrucker.Drufettb + Ueber3 + BDrucker.Drufette.
  848. Helptext[02] = BDrucker.Drufettb + Helptext[02] + BDrucker.Drufette.
  849. Tittxt = BDrucker.Drufettb + Tittxt + BDrucker.Drufette.
  850. ap = 1.
  851. XDruDat = ?.
  852. END PROCEDURE.
  853. /* _UIB-CODE-BLOCK-END */
  854. &ANALYZE-RESUME
  855. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LISTTIT2 D-Dialog
  856. PROCEDURE LISTTIT2 :
  857. /*------------------------------------------------------------------------------
  858. Purpose:
  859. Parameters: <none>
  860. Notes:
  861. ------------------------------------------------------------------------------*/
  862. IF NOT TiDruck AND Leer > 0 THEN DO:
  863. { v8/putzeily.i XLeer Leer }
  864. END.
  865. IF (VLine + BLiDruck.Listfzz + Zuszz) > BLiDruck.Listtzz THEN TiDruck = TRUE.
  866. IF TiDruck THEN DO:
  867. IF Uebertrag <> "" THEN DO:
  868. { v8/putzeily.i XLeer "1" }
  869. { v8/putzeily.i Uebertrag "1" }
  870. { v8/putzeily.i XLeer "1" }
  871. END.
  872. IF DOpen = TRUE THEN DO:
  873. RUN NEUE_SEITE.
  874. END.
  875. ELSE DO:
  876. VSeite = VSeite + 1.
  877. VZNr = VZNr + 1.
  878. VLine = 0.
  879. CREATE XTermOut.
  880. ASSIGN XTermOut.ZNr = VZNr
  881. XTermOut.Zeile = ''.
  882. END.
  883. IF Listkzz > 0 THEN DO:
  884. { v8/putzeily.i XLeer Listkzz }
  885. END.
  886. IF Kopfz <> "" THEN DO:
  887. { v8/putzeily.i Kopfz "1" }
  888. END.
  889. Titelz = "".
  890. SUBSTRING(Titelz,01) = BSteuer.Firma1.
  891. SUBSTRING(Titelz,PPos1) = Dattxt.
  892. IF XDruDat <> ? THEN SUBSTR(Titelz,Breite - 9) = STRING(XDruDat,VDatForm).
  893. ELSE SUBSTR(Titelz,Breite - 9) = STRING(TODAY ,VDatForm).
  894. { v8/putzeily.i Titelz "1" }
  895. Titelz = "".
  896. SUBSTRING(Titelz,01) = BSteuer.Strasse.
  897. SUBSTRING(Titelz,PPos2) = Helptext[02].
  898. SUBSTRING(Titelz,PPos3) = Seitxt.
  899. SUBSTRING(Titelz,PPos4) = STRING(VSeite,"zzz9").
  900. { v8/putzeily.i Titelz "1" }
  901. Titelz = "".
  902. SUBSTRING(Titelz,01) = BSteuer.Ort.
  903. IF Tittxt <> "" THEN DO:
  904. SUBSTRING(Titelz,PPos5) = Tittxt.
  905. END.
  906. SUBSTRING(Titelz,PPos3) = Zeitxt.
  907. SUBSTRING(Titelz,PPos4 - 4) = STRING(TIME,"HH:MM:SS").
  908. { v8/putzeily.i Titelz "1" }
  909. IF BListen.FirmaFl OR BListen.JahrFl THEN DO:
  910. Titelz = "".
  911. IF BListen.FirmaFl THEN DO:
  912. SUBSTRING(Titelz,01) = Firtxt.
  913. SUBSTRING(Titelz,11) = STRING(BListen.Firma).
  914. END.
  915. IF BListen.JahrFl THEN DO:
  916. SUBSTRING(Titelz,PPos1) = Jahtxt.
  917. SUBSTRING(Titelz,Breite - 3) = STRING(BListen.Jahr,"9999").
  918. END.
  919. { v8/putzeily.i Titelz "1" }
  920. END.
  921. IF Kopfz <> "" THEN DO:
  922. { v8/putzeily.i Kopfz "1" }
  923. END.
  924. { v8/putzeily.i XLeer "1" }
  925. aa = 0.
  926. IF Ueber1 <> "" THEN DO:
  927. { v8/putzeily.i Ueber1 "1" }
  928. aa = 1.
  929. END.
  930. IF Ueber2 <> "" THEN DO:
  931. { v8/putzeily.i Ueber2 "1" }
  932. aa = 1.
  933. END.
  934. IF Ueber3 <> "" THEN DO:
  935. { v8/putzeily.i Ueber3 "1" }
  936. aa = 1.
  937. END.
  938. IF aa = 1 THEN DO:
  939. { v8/putzeily.i XLeer "1" }.
  940. END.
  941. TiGedru = TRUE.
  942. END.
  943. IF Leer > 0 OR TiDruck THEN DO:
  944. IF Ueber4 <> "" THEN DO:
  945. { v8/putzeily.i Ueber4 "2" }
  946. END.
  947. IF Ueber5 <> "" THEN DO:
  948. { v8/putzeily.i Ueber5 "2" }
  949. END.
  950. IF Uebertrag <> "" THEN DO:
  951. { v8/putzeily.i Uebertrag "2" }
  952. END.
  953. END.
  954. TiDruck = FALSE.
  955. Uebertrag = "".
  956. Leer = 0.
  957. Zuszz = 0.
  958. END PROCEDURE.
  959. /* _UIB-CODE-BLOCK-END */
  960. &ANALYZE-RESUME
  961. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-view D-Dialog
  962. PROCEDURE local-view :
  963. /*------------------------------------------------------------------------------
  964. Purpose: Override standard ADM method
  965. Notes:
  966. ------------------------------------------------------------------------------*/
  967. RUN dispatch IN THIS-PROCEDURE ( INPUT 'view':U ) .
  968. APPLY 'VALUE-CHANGED' TO CB_Listenart IN FRAME {&FRAME-NAME}.
  969. APPLY 'VALUE-CHANGED' TO CB_Drucker IN FRAME {&FRAME-NAME}.
  970. APPLY 'ENTRY' TO CB_Listenart IN FRAME {&FRAME-NAME}.
  971. END PROCEDURE.
  972. /* _UIB-CODE-BLOCK-END */
  973. &ANALYZE-RESUME
  974. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NEUE_SEITE D-Dialog
  975. PROCEDURE NEUE_SEITE :
  976. /*------------------------------------------------------------------------------
  977. Purpose:
  978. Parameters: <none>
  979. Notes:
  980. ------------------------------------------------------------------------------*/
  981. DEF VAR A AS INT NO-UNDO.
  982. DEF VAR B AS INT NO-UNDO.
  983. DO WHILE VSeite > 0:
  984. IF DOpen THEN DO:
  985. PUT STREAM Out_Stream CHR(12).
  986. LEAVE.
  987. END.
  988. A = BLiDruck.Listtzz.
  989. DO B = VLine TO A:
  990. VZNr = VZNr + 1.
  991. CREATE XTermOut.
  992. ASSIGN XTermOut.ZNr = VZNr
  993. XTermOut.Zeile = ''.
  994. END.
  995. LEAVE.
  996. END.
  997. VLine = 0.
  998. VSeite = VSeite + 1.
  999. END PROCEDURE.
  1000. /* _UIB-CODE-BLOCK-END */
  1001. &ANALYZE-RESUME
  1002. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-records D-Dialog _ADM-SEND-RECORDS
  1003. PROCEDURE send-records :
  1004. /*------------------------------------------------------------------------------
  1005. Purpose: Send record ROWID's for all tables used by
  1006. this file.
  1007. Parameters: see template/snd-head.i
  1008. ------------------------------------------------------------------------------*/
  1009. /* SEND-RECORDS does nothing because there are no External
  1010. Tables specified for this SmartDialog, and there are no
  1011. tables specified in any contained Browse, Query, or Frame. */
  1012. END PROCEDURE.
  1013. /* _UIB-CODE-BLOCK-END */
  1014. &ANALYZE-RESUME
  1015. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SORTIERARTEN D-Dialog
  1016. PROCEDURE SORTIERARTEN :
  1017. /*------------------------------------------------------------------------------
  1018. Purpose:
  1019. Parameters: <none>
  1020. Notes:
  1021. ------------------------------------------------------------------------------*/
  1022. DO WITH FRAME {&FRAME-NAME}:
  1023. CASE VLiArt:
  1024. WHEN 1 THEN DO:
  1025. RS_Sort:RADIO-BUTTONS = 'Kundennummer,1,Suchbegriff,2,,3'.
  1026. END.
  1027. /*
  1028. WHEN 2 THEN DO:
  1029. RS_Sort:RADIO-BUTTONS = 'Umsatz Absteigend,1,,2,,3'.
  1030. END.
  1031. WHEN 3 THEN DO:
  1032. RS_Sort:RADIO-BUTTONS = 'EWK-Code / Artikelnummer / Inhalt / Jahr,1'.
  1033. END.
  1034. WHEN 4 THEN DO:
  1035. RS_Sort:RADIO-BUTTONS = 'EWK-Code / Artikelnummer / Inhalt / Jahr,1'.
  1036. END.
  1037. */
  1038. END CASE.
  1039. END.
  1040. END PROCEDURE.
  1041. /* _UIB-CODE-BLOCK-END */
  1042. &ANALYZE-RESUME
  1043. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE state-changed D-Dialog
  1044. PROCEDURE state-changed :
  1045. /* -----------------------------------------------------------
  1046. Purpose:
  1047. Parameters: <none>
  1048. Notes:
  1049. -------------------------------------------------------------*/
  1050. DEFINE INPUT PARAMETER p-issuer-hdl AS HANDLE NO-UNDO.
  1051. DEFINE INPUT PARAMETER p-state AS CHARACTER NO-UNDO.
  1052. END PROCEDURE.
  1053. /* _UIB-CODE-BLOCK-END */
  1054. &ANALYZE-RESUME
  1055. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TEMP_FILE D-Dialog
  1056. PROCEDURE TEMP_FILE :
  1057. /*------------------------------------------------------------------------------
  1058. Purpose:
  1059. Parameters: <none>
  1060. Notes:
  1061. ------------------------------------------------------------------------------*/
  1062. DEF VAR VSort1 AS CHAR NO-UNDO.
  1063. DEF VAR VSort2 AS CHAR NO-UNDO.
  1064. DEF VAR VSort3 AS CHAR NO-UNDO.
  1065. DEF VAR VSort4 AS CHAR NO-UNDO.
  1066. DEF VAR VSort5 AS CHAR NO-UNDO.
  1067. DEF VAR VEingang AS DEC NO-UNDO.
  1068. DEF VAR VAusgang AS DEC NO-UNDO.
  1069. FOR EACH THilfsTab:
  1070. DELETE THilfsTab.
  1071. END.
  1072. FOR EACH TGebinde:
  1073. DELETE TGebinde.
  1074. END.
  1075. FOR EACH KGebinde USE-INDEX KGebinde-k1
  1076. WHERE KGebinde.Firma = GVFirma :
  1077. CREATE TGebinde.
  1078. ASSIGN TGebinde.Art = 'A'
  1079. TGebinde.Geb_Cd = KGebinde.Geb_Cd.
  1080. END.
  1081. FOR EACH VGebinde USE-INDEX VGebinde-k1
  1082. WHERE VGebinde.Firma = GVFirma :
  1083. CREATE TGebinde.
  1084. ASSIGN TGebinde.Art = 'B'
  1085. TGebinde.Geb_Cd = VGebinde.Geb_Cd.
  1086. END.
  1087. FOR EACH GGebinde USE-INDEX GGebinde-k1
  1088. WHERE GGebinde.Firma = GVFirma :
  1089. CREATE TGebinde.
  1090. ASSIGN TGebinde.Art = 'C'
  1091. TGebinde.Geb_Cd = GGebinde.Geb_Cd.
  1092. END.
  1093. FOR EACH GebKonto USE-INDEX GebKonto-k1
  1094. WHERE GebKonto.Firma = GVFirma :
  1095. CREATE TGebinde.
  1096. ASSIGN TGebinde.Art = 'D'
  1097. TGebinde.Geb_Cd = GebKonto.Geb_Cd.
  1098. END.
  1099. FOR EACH GebKontr USE-INDEX GebKontr-k3
  1100. WHERE GebKontr.Firma = GVFirma
  1101. AND GebKontr.Knr >= F_VKnr
  1102. AND GebKontr.Knr <= F_BKnr
  1103. AND GebKontr.Datum >= F_VDatum
  1104. AND GebKontr.Datum <= F_BDatum NO-LOCK,
  1105. FIRST Debst USE-INDEX Debst-k1
  1106. WHERE Debst.Firma = GebKontr.Firma
  1107. AND Debst.Knr = GebKontr.Knr NO-LOCK,
  1108. FIRST Adresse USE-INDEX Adresse-k1
  1109. WHERE Adresse.Firma = AdFirma
  1110. AND Adresse.Knr = Debst.Knr NO-LOCK
  1111. BREAK BY GebKontr.Knr
  1112. BY GebKontr.Geb_Cd :
  1113. IF FIRST-OF ( GebKontr.Geb_Cd ) THEN DO:
  1114. VEingang = 0.
  1115. VAusgang = 0.
  1116. END.
  1117. Ja = FALSE.
  1118. DO WHILE TRUE:
  1119. IF F_Kundengruppen <> '' AND
  1120. LOOKUP(STRING(Debst.Ku_Grp ,"999"), F_Kundengruppen) = 0 THEN LEAVE.
  1121. IF F_Preisgruppen <> '' AND
  1122. LOOKUP(STRING(Debst.Preis_Grp,"999"), F_Preisgruppen ) = 0 THEN LEAVE.
  1123. Ja = TRUE.
  1124. LEAVE.
  1125. END.
  1126. IF NOT Ja THEN NEXT.
  1127. VEingang = VEingang + GebKontr.Eingang.
  1128. VAusgang = VAusgang + GebKontr.Ausgang.
  1129. IF NOT LAST-OF ( GebKontr.Geb_Cd ) THEN NEXT.
  1130. IF VEingang = 0 AND VAusgang = 0 THEN NEXT.
  1131. VSort1 = ''.
  1132. VSort2 = ''.
  1133. VSort3 = ''.
  1134. VSort4 = ''.
  1135. IF VLiArt = 1 THEN DO:
  1136. IF RS_Sort = 1 THEN VSort1 = STRING(Debst.Knr ,"999999").
  1137. IF RS_Sort = 2 THEN VSort1 = Adresse.Suchbe.
  1138. VSort2 = STRING(Debst.Knr,'999999').
  1139. END.
  1140. DO WHILE TRUE:
  1141. FIND FIRST TGebinde USE-INDEX TGebinde-k1
  1142. WHERE TGebinde.Geb_Cd = GebKontr.Geb_Cd
  1143. AND TGebinde.Art = 'D' NO-ERROR.
  1144. IF AVAILABLE TGebinde THEN DO:
  1145. VSort3 = TGebinde.Art.
  1146. VSort4 = TGebinde.Geb_Cd.
  1147. LEAVE.
  1148. END.
  1149. FIND FIRST TGebinde USE-INDEX TGebinde-k1
  1150. WHERE TGebinde.Geb_Cd = GebKontr.Geb_Cd NO-ERROR.
  1151. IF AVAILABLE TGebinde THEN DO:
  1152. VSort3 = TGebinde.Art.
  1153. VSort4 = TGebinde.Geb_Cd.
  1154. LEAVE.
  1155. END.
  1156. ELSE DO:
  1157. VSort3 = 'Z'.
  1158. VSort4 = GebKontr.Geb_Cd.
  1159. END.
  1160. END.
  1161. CREATE THilfsTab.
  1162. ASSIGN THilfsTab.Firma = GVFirma
  1163. THilfsTab.Sort_1 = VSort1
  1164. THilfsTab.Sort_2 = VSort2
  1165. THilfsTab.Sort_3 = VSort3
  1166. THilfsTab.Sort_4 = VSort4
  1167. THilfsTab.Sort_5 = ''
  1168. THilfsTab.Zahl[01] = RECID(Debst)
  1169. THilfsTab.Zahl[02] = RECID(Adresse)
  1170. THilfsTab.Wert[01] = VEingang
  1171. THilfsTab.Wert[02] = VAusgang.
  1172. END.
  1173. END PROCEDURE.
  1174. /* _UIB-CODE-BLOCK-END */
  1175. &ANALYZE-RESUME
  1176. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE WORKFILE D-Dialog
  1177. PROCEDURE WORKFILE :
  1178. /*------------------------------------------------------------------------------
  1179. Purpose:
  1180. Parameters: <none>
  1181. Notes:
  1182. ------------------------------------------------------------------------------*/
  1183. DOpen = FALSE.
  1184. VTemp = ''.
  1185. IF BDrucker.Emul = 'TERMINAL' THEN DO:
  1186. FOR EACH XTermOut:
  1187. DELETE XTermOut.
  1188. END.
  1189. VZNr = 0.
  1190. RETURN.
  1191. END.
  1192. DO WHILE TRUE TRANSACTION:
  1193. FIND Tabel USE-INDEX Tabel-k1
  1194. WHERE Tabel.Firma = GVFirma
  1195. AND Tabel.RecArt = 'TEMPFILE'
  1196. AND Tabel.CodeI = 0
  1197. AND Tabel.CodeC = 'GEBKONTR'
  1198. AND Tabel.Sprcd = 0 NO-ERROR.
  1199. IF NOT AVAILABLE Tabel THEN DO:
  1200. CREATE Tabel.
  1201. ASSIGN Tabel.Firma = GVFirma
  1202. Tabel.RecArt = 'TEMPFILE'
  1203. Tabel.CodeI = 0
  1204. Tabel.CodeC = 'GEBKONTR'
  1205. Tabel.Sprcd = 0.
  1206. END.
  1207. ASSIGN Tabel.Bez1 = SESSION:TEMP-DIR
  1208. Tabel.Int_1 = Tabel.Int_1 + 1.
  1209. VTemp = Tabel.Bez1 + 'GEBKONTR' + STRING(Tabel.Int_1) + '.tmp'.
  1210. RELEASE Tabel.
  1211. LEAVE.
  1212. END.
  1213. DOpen = TRUE.
  1214. END PROCEDURE.
  1215. /* _UIB-CODE-BLOCK-END */
  1216. &ANALYZE-RESUME