bx-aufgebko.w 65 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066
  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. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS B-table-Win
  8. /*------------------------------------------------------------------------
  9. File:
  10. Description: from BROWSER.W - Basic SmartBrowser Object Template
  11. Input Parameters:
  12. <none>
  13. Output Parameters:
  14. <none>
  15. ------------------------------------------------------------------------*/
  16. /* This .W file was created with the Progress UIB. */
  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. &Scoped-define ERSTES-FELD Menge
  26. &Scoped-define ZWEITES-FELD Menge
  27. &Scoped-define LETZTES-FELD Menge
  28. &Scoped-define INPUT-FELDER AufGebKo.Menge
  29. &Scoped-define DATEI-NAME AufGebKo
  30. &Scoped-define Zahl_Felder F_ZahBetr,F_ZahSko,CB-ZahARt,Btn_Bezahlt
  31. /* *************************** Definitions ************************** */
  32. /* Parameters Definitions --- */
  33. /* Local Variable Definitions --- */
  34. /* --------------------------------------------------------------------------- */
  35. DEF VAR VUpdate AS LOG INIT FALSE NO-UNDO.
  36. DEF VAR VSpeichern AS LOG INIT FALSE NO-UNDO.
  37. DEF VAR VNeu AS LOG INIT FALSE NO-UNDO.
  38. DEF VAR FErfassen AS LOG INIT FALSE NO-UNDO.
  39. DEF VAR PHandle AS HANDLE NO-UNDO.
  40. DEF VAR XHandle AS HANDLE NO-UNDO.
  41. DEF VAR LHandle AS HANDLE NO-UNDO.
  42. DEF VAR ch AS CHAR NO-UNDO.
  43. DEF VAR VText AS CHAR FORMAT "x(30)" NO-UNDO.
  44. DEF VAR QOpen AS LOG INIT FALSE NO-UNDO.
  45. DEF VAR FQOpen AS LOG INIT FALSE NO-UNDO.
  46. DEF VAR Vorhanden AS LOG NO-UNDO.
  47. DEF VAR VROWID AS ROWID NO-UNDO.
  48. DEF VAR Feldname AS CHAR NO-UNDO.
  49. DEF VAR FeldInhalt AS CHAR NO-UNDO.
  50. DEF VAR BStatus AS INT INIT 0 NO-UNDO.
  51. DEF BUFFER B{&DATEI-NAME} FOR {&DATEI-NAME}.
  52. /* --------------------------------------------------------------------------- */
  53. /* Parameters Definitions --- */
  54. /* Local Variable Definitions --- */
  55. DEF VAR XZahart AS CHAR NO-UNDO.
  56. DEF VAR VZahArt AS INT NO-UNDO.
  57. DEF VAR VKonto AS CHAR NO-UNDO.
  58. DEF VAR xx AS INT NO-UNDO.
  59. DEF VAR VBetrag AS DEC NO-UNDO.
  60. DEF VAR ok AS LOG NO-UNDO.
  61. DEF VAR ARecid AS RECID NO-UNDO.
  62. DEF VAR FCuDw AS LOG NO-UNDO.
  63. DEF VAR FDruMut AS LOG NO-UNDO.
  64. DEF BUFFER BAufko FOR Aufko.
  65. DEF BUFFER YAufko FOR Aufko.
  66. /* ---------- Globale Variablen ---------------------------------- */
  67. { v8/globvar.i" " " " "SHARED" }
  68. { v8/debivar.i " " " " "SHARED" }
  69. { v8/artivar.i " " " " "SHARED" }
  70. { v8/contvar.i " " " " "SHARED" }
  71. { v8/aufkototv.i "NEW" "SHARED" }
  72. /* _UIB-CODE-BLOCK-END */
  73. &ANALYZE-RESUME
  74. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  75. /* ******************** Preprocessor Definitions ******************** */
  76. &Scoped-define PROCEDURE-TYPE SmartBrowser
  77. &Scoped-define DB-AWARE no
  78. &Scoped-define ADM-SUPPORTED-LINKS Record-Source,Record-Target,TableIO-Target
  79. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  80. &Scoped-define FRAME-NAME F-Main
  81. &Scoped-define BROWSE-NAME br_table
  82. /* Internal Tables (found by Frame, Query & Browse Queries) */
  83. &Scoped-define INTERNAL-TABLES AufGebKo
  84. /* Define KEY-PHRASE in case it is used by any query. */
  85. &Scoped-define KEY-PHRASE TRUE
  86. /* Definitions for BROWSE br_table */
  87. &Scoped-define FIELDS-IN-QUERY-br_table AufGebKo.Menge VText @ VText ~
  88. VBetrag @ VBetrag
  89. &Scoped-define ENABLED-FIELDS-IN-QUERY-br_table AufGebKo.Menge
  90. &Scoped-define ENABLED-TABLES-IN-QUERY-br_table AufGebKo
  91. &Scoped-define FIRST-ENABLED-TABLE-IN-QUERY-br_table AufGebKo
  92. &Scoped-define QUERY-STRING-br_table FOR EACH AufGebKo WHERE ~{&KEY-PHRASE} ~
  93. AND AufGebKo.Firma = GVFirma ~
  94. AND AufGebKo.Aufnr = XVAufnr NO-LOCK ~
  95. ~{&SORTBY-PHRASE}
  96. &Scoped-define OPEN-QUERY-br_table OPEN QUERY br_table FOR EACH AufGebKo WHERE ~{&KEY-PHRASE} ~
  97. AND AufGebKo.Firma = GVFirma ~
  98. AND AufGebKo.Aufnr = XVAufnr NO-LOCK ~
  99. ~{&SORTBY-PHRASE}.
  100. &Scoped-define TABLES-IN-QUERY-br_table AufGebKo
  101. &Scoped-define FIRST-TABLE-IN-QUERY-br_table AufGebKo
  102. /* Definitions for FRAME F-Main */
  103. /* Standard List Definitions */
  104. &Scoped-Define ENABLED-OBJECTS RECT-38 RECT-9 br_table Btn_Erfassen ~
  105. Btn_Speichern E_Adresse Btn_Loeschen Btn_Verschieben Btn_Zurueck ~
  106. Btn_Verbuchen F_WW F_Gebinde Btn_Aendern F_Recycling F_MWST F_Total ~
  107. CB-Zahart F_Skonto F_Netto Btn_Bezahlt F_Saldo F_Bezahlt F_Skonto_Bez
  108. &Scoped-Define DISPLAYED-OBJECTS F_Aufnr E_Adresse F_WW F_Gebinde ~
  109. F_Recycling F_MWST F_Total CB-Zahart F_Skonto F_Netto F_Saldo F_Zahbetr ~
  110. F_ZahSko F_Bezahlt F_Skonto_Bez
  111. /* Custom List Definitions */
  112. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  113. &Scoped-define List-1 F_WW F_Gebinde F_Recycling F_MWST F_Total F_Skonto ~
  114. F_Netto F_Saldo F_Zahbetr F_ZahSko F_Bezahlt F_Skonto_Bez
  115. &Scoped-define List-5 Aufko.Fahrer Aufko.BeiFahrer Aufko.LKW
  116. &Scoped-define List-6 F_WW F_Gebinde F_Recycling F_MWST F_Total F_Skonto ~
  117. F_Netto F_Saldo F_Zahbetr F_ZahSko F_Bezahlt F_Skonto_Bez
  118. /* _UIB-PREPROCESSOR-BLOCK-END */
  119. &ANALYZE-RESUME
  120. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _XFTR "Foreign Keys" B-table-Win _INLINE
  121. /* Actions: ? adm/support/keyedit.w ? ? ? */
  122. /* STRUCTURED-DATA
  123. <KEY-OBJECT>
  124. &BROWSE-NAME
  125. </KEY-OBJECT>
  126. <FOREIGN-KEYS>
  127. </FOREIGN-KEYS>
  128. <EXECUTING-CODE>
  129. **************************
  130. * Set attributes related to FOREIGN KEYS
  131. */
  132. RUN set-attribute-list (
  133. 'Keys-Accepted = "",
  134. Keys-Supplied = ""':U).
  135. /**************************
  136. </EXECUTING-CODE> */
  137. /* _UIB-CODE-BLOCK-END */
  138. &ANALYZE-RESUME
  139. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _XFTR "Advanced Query Options" B-table-Win _INLINE
  140. /* Actions: ? adm/support/advqedit.w ? ? ? */
  141. /* STRUCTURED-DATA
  142. <KEY-OBJECT>
  143. &BROWSE-NAME
  144. </KEY-OBJECT>
  145. <SORTBY-OPTIONS>
  146. </SORTBY-OPTIONS>
  147. <SORTBY-RUN-CODE>
  148. ************************
  149. * Set attributes related to SORTBY-OPTIONS */
  150. RUN set-attribute-list (
  151. 'SortBy-Options = ""':U).
  152. /************************
  153. </SORTBY-RUN-CODE>
  154. <FILTER-ATTRIBUTES>
  155. </FILTER-ATTRIBUTES> */
  156. /* _UIB-CODE-BLOCK-END */
  157. &ANALYZE-RESUME
  158. /* *********************** Control Definitions ********************** */
  159. /* Definitions of the field level widgets */
  160. DEFINE BUTTON Btn_Aendern
  161. LABEL "&Mutieren"
  162. SIZE 14 BY 1.
  163. DEFINE BUTTON Btn_Ausgleich
  164. LABEL "&Ausgleichen"
  165. SIZE 14 BY 1.
  166. DEFINE BUTTON Btn_Bezahlt
  167. LABEL "&Bezahlen"
  168. SIZE 14 BY 1.
  169. DEFINE BUTTON Btn_Erfassen
  170. LABEL "&Erfassen"
  171. SIZE 14 BY 1.
  172. DEFINE BUTTON Btn_Loeschen
  173. LABEL "&Löschen"
  174. SIZE 14 BY 1.
  175. DEFINE BUTTON Btn_Speichern
  176. LABEL "&Speichern"
  177. SIZE 14 BY 1.
  178. DEFINE BUTTON Btn_Verbuchen
  179. LABEL "Verb&uchen"
  180. SIZE 14 BY 1.
  181. DEFINE BUTTON Btn_Verschieben
  182. LABEL "&Weiter"
  183. SIZE 14 BY 1.
  184. DEFINE BUTTON Btn_Zurueck
  185. LABEL "&Zurück"
  186. SIZE 14 BY 1.
  187. DEFINE VARIABLE CB-Zahart AS CHARACTER FORMAT "X(256)":U
  188. LABEL "Zahlungsart"
  189. VIEW-AS COMBO-BOX INNER-LINES 5
  190. DROP-DOWN-LIST
  191. SIZE 30 BY 1
  192. BGCOLOR 15 NO-UNDO.
  193. DEFINE VARIABLE E_Adresse AS CHARACTER
  194. VIEW-AS EDITOR NO-WORD-WRAP MAX-CHARS 500
  195. SIZE 50 BY 5.43
  196. BGCOLOR 15 FONT 6 NO-UNDO.
  197. DEFINE VARIABLE F_Aufnr AS INTEGER FORMAT "9999999":U INITIAL 0
  198. LABEL "Auftragsnummer"
  199. VIEW-AS FILL-IN NATIVE
  200. SIZE 11 BY 1
  201. BGCOLOR 15 NO-UNDO.
  202. DEFINE VARIABLE F_Bezahlt AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0
  203. LABEL "Bezahlt"
  204. VIEW-AS FILL-IN NATIVE
  205. SIZE 17 BY 1
  206. BGCOLOR 14 NO-UNDO.
  207. DEFINE VARIABLE F_Gebinde AS DECIMAL FORMAT "zz,zz9.999-":U INITIAL 0
  208. LABEL "Gebinde"
  209. VIEW-AS FILL-IN NATIVE
  210. SIZE 17 BY 1
  211. BGCOLOR 15 NO-UNDO.
  212. DEFINE VARIABLE F_MWST AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0
  213. LABEL "Mehrwertst."
  214. VIEW-AS FILL-IN NATIVE
  215. SIZE 17 BY 1
  216. BGCOLOR 15 NO-UNDO.
  217. DEFINE VARIABLE F_Netto AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0
  218. LABEL "Nettobetrag"
  219. VIEW-AS FILL-IN NATIVE
  220. SIZE 17 BY 1
  221. BGCOLOR 15 NO-UNDO.
  222. DEFINE VARIABLE F_Recycling AS DECIMAL FORMAT "zz,zz9.999-":U INITIAL 0
  223. LABEL "Gebühren"
  224. VIEW-AS FILL-IN NATIVE
  225. SIZE 17 BY 1
  226. BGCOLOR 15 NO-UNDO.
  227. DEFINE VARIABLE F_Saldo AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0
  228. LABEL "Saldo"
  229. VIEW-AS FILL-IN NATIVE
  230. SIZE 17 BY 1
  231. BGCOLOR 14 NO-UNDO.
  232. DEFINE VARIABLE F_Skonto AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0
  233. LABEL "Skonto"
  234. VIEW-AS FILL-IN NATIVE
  235. SIZE 17 BY 1
  236. BGCOLOR 15 NO-UNDO.
  237. DEFINE VARIABLE F_Skonto_Bez AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0
  238. LABEL "Skontoabzug"
  239. VIEW-AS FILL-IN NATIVE
  240. SIZE 17 BY 1
  241. BGCOLOR 14 NO-UNDO.
  242. DEFINE VARIABLE F_Total AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0
  243. LABEL "Totalbetrag"
  244. VIEW-AS FILL-IN NATIVE
  245. SIZE 17 BY 1
  246. BGCOLOR 8 NO-UNDO.
  247. DEFINE VARIABLE F_WW AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0
  248. LABEL "Warenwert"
  249. VIEW-AS FILL-IN NATIVE
  250. SIZE 17 BY 1
  251. BGCOLOR 15 NO-UNDO.
  252. DEFINE VARIABLE F_Zahbetr AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0
  253. LABEL "Zahlbetrag"
  254. VIEW-AS FILL-IN NATIVE
  255. SIZE 17 BY 1
  256. BGCOLOR 15 NO-UNDO.
  257. DEFINE VARIABLE F_ZahSko AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0
  258. LABEL "Skonto"
  259. VIEW-AS FILL-IN NATIVE
  260. SIZE 17 BY 1
  261. BGCOLOR 15 NO-UNDO.
  262. DEFINE RECTANGLE RECT-38
  263. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  264. SIZE 38.8 BY 2.67.
  265. DEFINE RECTANGLE RECT-9
  266. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  267. SIZE 169 BY 20.95.
  268. /* Query definitions */
  269. &ANALYZE-SUSPEND
  270. DEFINE QUERY br_table FOR
  271. AufGebKo SCROLLING.
  272. &ANALYZE-RESUME
  273. /* Browse definitions */
  274. DEFINE BROWSE br_table
  275. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS br_table B-table-Win _STRUCTURED
  276. QUERY br_table NO-LOCK DISPLAY
  277. AufGebKo.Menge FORMAT "zz,zz9-":U
  278. VText @ VText COLUMN-LABEL "Bezeichnung" FORMAT "x(30)":U
  279. WIDTH 28
  280. VBetrag @ VBetrag COLUMN-LABEL "Betrag" FORMAT "zzz,zz9.99-":U
  281. WIDTH 12
  282. ENABLE
  283. AufGebKo.Menge
  284. /* _UIB-CODE-BLOCK-END */
  285. &ANALYZE-RESUME
  286. WITH NO-ASSIGN NO-ROW-MARKERS SEPARATORS SIZE 53 BY 20.48
  287. BGCOLOR 15 .
  288. /* ************************ Frame Definitions *********************** */
  289. DEFINE FRAME F-Main
  290. br_table AT ROW 1.48 COL 3
  291. F_Aufnr AT ROW 1.81 COL 99 COLON-ALIGNED
  292. Btn_Erfassen AT ROW 2 COL 118
  293. Btn_Speichern AT ROW 3 COL 118
  294. E_Adresse AT ROW 3.29 COL 62 NO-LABEL
  295. Btn_Loeschen AT ROW 4 COL 118
  296. Btn_Verschieben AT ROW 5.52 COL 118
  297. Btn_Zurueck AT ROW 6.52 COL 118
  298. Btn_Verbuchen AT ROW 9.05 COL 118
  299. Btn_Ausgleich AT ROW 9.1 COL 92.2
  300. F_WW AT ROW 10.95 COL 70 COLON-ALIGNED
  301. F_Gebinde AT ROW 11.95 COL 70 COLON-ALIGNED
  302. Aufko.Fahrer AT ROW 12.52 COL 93 COLON-ALIGNED NO-LABEL FORMAT "99"
  303. VIEW-AS FILL-IN NATIVE
  304. SIZE 5 BY 1
  305. BGCOLOR 15
  306. Aufko.BeiFahrer AT ROW 12.52 COL 100 COLON-ALIGNED NO-LABEL FORMAT "99"
  307. VIEW-AS FILL-IN NATIVE
  308. SIZE 5 BY 1
  309. BGCOLOR 15
  310. Aufko.LKW AT ROW 12.52 COL 107 COLON-ALIGNED NO-LABEL FORMAT "99"
  311. VIEW-AS FILL-IN NATIVE
  312. SIZE 5 BY 1
  313. BGCOLOR 15
  314. Btn_Aendern AT ROW 12.52 COL 116
  315. F_Recycling AT ROW 12.95 COL 70 COLON-ALIGNED
  316. F_MWST AT ROW 13.95 COL 70 COLON-ALIGNED
  317. F_Total AT ROW 14.95 COL 70 COLON-ALIGNED
  318. CB-Zahart AT ROW 15.38 COL 100 COLON-ALIGNED
  319. F_Skonto AT ROW 15.95 COL 70 COLON-ALIGNED
  320. F_Netto AT ROW 16.95 COL 70 COLON-ALIGNED
  321. Btn_Bezahlt AT ROW 17 COL 118
  322. F_Saldo AT ROW 17.95 COL 70 COLON-ALIGNED
  323. F_Zahbetr AT ROW 18.95 COL 70 COLON-ALIGNED
  324. F_ZahSko AT ROW 19 COL 113 COLON-ALIGNED
  325. F_Bezahlt AT ROW 19.95 COL 70 COLON-ALIGNED
  326. F_Skonto_Bez AT ROW 20 COL 113 COLON-ALIGNED
  327. "Fahrer BeiFa LKW" VIEW-AS TEXT
  328. SIZE 21.2 BY 1 AT ROW 11.52 COL 95
  329. RECT-38 AT ROW 11.24 COL 93
  330. RECT-9 AT ROW 1.24 COL 2
  331. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  332. SIDE-LABELS NO-UNDERLINE THREE-D
  333. AT COL 1 ROW 1 SCROLLABLE
  334. DEFAULT-BUTTON Btn_Speichern.
  335. /* *********************** Procedure Settings ************************ */
  336. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  337. /* Settings for THIS-PROCEDURE
  338. Type: SmartBrowser
  339. Allow: Basic,Browse
  340. Frames: 1
  341. Add Fields to: EXTERNAL-TABLES
  342. Other Settings: PERSISTENT-ONLY COMPILE
  343. */
  344. /* This procedure should always be RUN PERSISTENT. Report the error, */
  345. /* then cleanup and return. */
  346. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  347. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  348. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  349. RETURN.
  350. END.
  351. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  352. /* ************************* Create Window ************************** */
  353. &ANALYZE-SUSPEND _CREATE-WINDOW
  354. /* DESIGN Window definition (used by the UIB)
  355. CREATE WINDOW B-table-Win ASSIGN
  356. HEIGHT = 21.67
  357. WIDTH = 171.6.
  358. /* END WINDOW DEFINITION */
  359. */
  360. &ANALYZE-RESUME
  361. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB B-table-Win
  362. /* ************************* Included-Libraries *********************** */
  363. {src/adm/method/browser.i}
  364. /* _UIB-CODE-BLOCK-END */
  365. &ANALYZE-RESUME
  366. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  367. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  368. /* SETTINGS FOR WINDOW B-table-Win
  369. NOT-VISIBLE,,RUN-PERSISTENT */
  370. /* SETTINGS FOR FRAME F-Main
  371. NOT-VISIBLE FRAME-NAME Size-to-Fit */
  372. /* BROWSE-TAB br_table RECT-9 F-Main */
  373. ASSIGN
  374. FRAME F-Main:SCROLLABLE = FALSE
  375. FRAME F-Main:HIDDEN = TRUE
  376. FRAME F-Main:RESIZABLE = TRUE.
  377. /* SETTINGS FOR FILL-IN Aufko.BeiFahrer IN FRAME F-Main
  378. NO-DISPLAY NO-ENABLE 5 EXP-LABEL EXP-FORMAT */
  379. /* SETTINGS FOR BUTTON Btn_Ausgleich IN FRAME F-Main
  380. NO-ENABLE */
  381. ASSIGN
  382. Btn_Erfassen:PRIVATE-DATA IN FRAME F-Main =
  383. "Abbrechen".
  384. ASSIGN
  385. E_Adresse:RETURN-INSERTED IN FRAME F-Main = TRUE
  386. E_Adresse:READ-ONLY IN FRAME F-Main = TRUE.
  387. /* SETTINGS FOR FILL-IN Aufko.Fahrer IN FRAME F-Main
  388. NO-DISPLAY NO-ENABLE 5 EXP-LABEL EXP-FORMAT */
  389. /* SETTINGS FOR FILL-IN F_Aufnr IN FRAME F-Main
  390. NO-ENABLE */
  391. /* SETTINGS FOR FILL-IN F_Bezahlt IN FRAME F-Main
  392. 1 6 */
  393. /* SETTINGS FOR FILL-IN F_Gebinde IN FRAME F-Main
  394. 1 6 */
  395. /* SETTINGS FOR FILL-IN F_MWST IN FRAME F-Main
  396. 1 6 */
  397. /* SETTINGS FOR FILL-IN F_Netto IN FRAME F-Main
  398. 1 6 */
  399. /* SETTINGS FOR FILL-IN F_Recycling IN FRAME F-Main
  400. 1 6 */
  401. /* SETTINGS FOR FILL-IN F_Saldo IN FRAME F-Main
  402. 1 6 */
  403. /* SETTINGS FOR FILL-IN F_Skonto IN FRAME F-Main
  404. 1 6 */
  405. /* SETTINGS FOR FILL-IN F_Skonto_Bez IN FRAME F-Main
  406. 1 6 */
  407. /* SETTINGS FOR FILL-IN F_Total IN FRAME F-Main
  408. 1 6 */
  409. /* SETTINGS FOR FILL-IN F_WW IN FRAME F-Main
  410. 1 6 */
  411. /* SETTINGS FOR FILL-IN F_Zahbetr IN FRAME F-Main
  412. NO-ENABLE 1 6 */
  413. /* SETTINGS FOR FILL-IN F_ZahSko IN FRAME F-Main
  414. NO-ENABLE 1 6 */
  415. /* SETTINGS FOR FILL-IN Aufko.LKW IN FRAME F-Main
  416. NO-DISPLAY NO-ENABLE 5 EXP-LABEL EXP-FORMAT */
  417. /* _RUN-TIME-ATTRIBUTES-END */
  418. &ANALYZE-RESUME
  419. /* Setting information for Queries and Browse Widgets fields */
  420. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE br_table
  421. /* Query rebuild information for BROWSE br_table
  422. _TblList = "AnaDat.AufGebKo"
  423. _Options = "NO-LOCK KEY-PHRASE SORTBY-PHRASE"
  424. _Where[1] = "AufGebKo.Firma = GVFirma
  425. AND AufGebKo.Aufnr = XVAufnr"
  426. _FldNameList[1] > AnaDat.AufGebKo.Menge
  427. "AufGebKo.Menge" ? ? "decimal" ? ? ? ? ? ? yes ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  428. _FldNameList[2] > "_<CALC>"
  429. "VText @ VText" "Bezeichnung" "x(30)" ? ? ? ? ? ? ? no ? no no "28" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  430. _FldNameList[3] > "_<CALC>"
  431. "VBetrag @ VBetrag" "Betrag" "zzz,zz9.99-" ? ? ? ? ? ? ? no ? no no "12" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  432. _Query is NOT OPENED
  433. */ /* BROWSE br_table */
  434. &ANALYZE-RESUME
  435. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  436. /* Query rebuild information for FRAME F-Main
  437. _Options = "NO-LOCK"
  438. _Query is NOT OPENED
  439. */ /* FRAME F-Main */
  440. &ANALYZE-RESUME
  441. /* ************************ Control Triggers ************************ */
  442. &Scoped-define SELF-NAME Aufko.BeiFahrer
  443. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Aufko.BeiFahrer B-table-Win
  444. ON HELP OF Aufko.BeiFahrer IN FRAME F-Main /* BeiFahrer */
  445. DO:
  446. LVFirma = GVFirma.
  447. LVRecArt = 'BEIFAHR'.
  448. LVSprcd = 1.
  449. LVCodeI = INTEGER(SELF:SCREEN-VALUE).
  450. ok = TRUE.
  451. RUN "v8/d-a-tabel-i.w" ( INPUT-OUTPUT ok ).
  452. IF ok THEN SELF:SCREEN-VALUE = STRING(LVCodeI).
  453. END.
  454. /* _UIB-CODE-BLOCK-END */
  455. &ANALYZE-RESUME
  456. &Scoped-define BROWSE-NAME br_table
  457. &Scoped-define SELF-NAME br_table
  458. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  459. ON ROW-DISPLAY OF br_table IN FRAME F-Main
  460. DO:
  461. IF NOT AVAILABLE AufGebKo THEN RETURN.
  462. RUN ANZEIGE.
  463. IF AufGebKo.Menge <> 0 THEN DO:
  464. AufGebKo.Menge:BGCOLOR IN BROWSE {&BROWSE-NAME} = 8.
  465. VText:BGCOLOR IN BROWSE {&BROWSE-NAME} = 8.
  466. VBetrag:BGCOLOR IN BROWSE {&BROWSE-NAME} = 8.
  467. END.
  468. ELSE DO:
  469. AufGebKo.Menge:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15.
  470. VText:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15.
  471. VBetrag:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15.
  472. END.
  473. END.
  474. /* _UIB-CODE-BLOCK-END */
  475. &ANALYZE-RESUME
  476. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  477. ON ROW-ENTRY OF br_table IN FRAME F-Main
  478. DO:
  479. {src/adm/template/brsentry.i}
  480. END.
  481. /* _UIB-CODE-BLOCK-END */
  482. &ANALYZE-RESUME
  483. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  484. ON ROW-LEAVE OF br_table IN FRAME F-Main
  485. DO:
  486. LKY = LASTKEY.
  487. LHandle = LAST-EVENT:WIDGET-LEAVE.
  488. XHandle = LAST-EVENT:WIDGET-ENTER.
  489. DO WHILE VUpdate AND NOT FErfassen WITH FRAME {&FRAME-NAME}:
  490. IF KEYFUNCTION(LKY) = 'END-ERROR' THEN DO:
  491. VSpeichern = FALSE.
  492. RUN ERFASSEN.
  493. RETURN NO-APPLY.
  494. END.
  495. IF NOT FCuDw THEN DO:
  496. IF {&BROWSE-NAME}:CURRENT-ROW-MODIFIED = FALSE THEN DO:
  497. VSpeichern = FALSE.
  498. VUpdate = FALSE.
  499. RUN ERFASSEN.
  500. RETURN NO-APPLY.
  501. END.
  502. END.
  503. IF LKY = KEYCODE('RETURN') THEN DO:
  504. RUN SPEICHERN.
  505. RETURN NO-APPLY.
  506. END.
  507. IF LKY = KEYCODE('TAB') AND
  508. LHandle:NAME = '{&LETZTES-FELD}' THEN DO:
  509. RUN SPEICHERN.
  510. RETURN NO-APPLY.
  511. END.
  512. IF VALID-HANDLE(XHandle) THEN DO:
  513. DO WHILE XHandle:TYPE = 'BUTTON':
  514. IF XHandle:NAME = 'Btn_Erfassen' THEN RETURN.
  515. IF XHandle:NAME = 'Btn_Speichern' THEN RETURN.
  516. APPLY 'ENTRY' TO LHandle.
  517. RETURN NO-APPLY.
  518. END.
  519. END.
  520. RETURN NO-APPLY.
  521. END.
  522. FErfassen = FALSE.
  523. {src/adm/template/brsleave.i}
  524. END.
  525. /* _UIB-CODE-BLOCK-END */
  526. &ANALYZE-RESUME
  527. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  528. ON VALUE-CHANGED OF br_table IN FRAME F-Main
  529. DO:
  530. RUN ANZEIGE.
  531. {src/adm/template/brschnge.i}
  532. END.
  533. /* _UIB-CODE-BLOCK-END */
  534. &ANALYZE-RESUME
  535. &Scoped-define SELF-NAME Btn_Aendern
  536. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Aendern B-table-Win
  537. ON CHOOSE OF Btn_Aendern IN FRAME F-Main /* Mutieren */
  538. DO:
  539. DO WITH FRAME {&FRAME-NAME}:
  540. IF Btn_Aendern:LABEL = '&Mutieren' THEN DO:
  541. Btn_Aendern:LABEL = '&OK'.
  542. ENABLE {&List-5}.
  543. APPLY 'ENTRY' TO Aufko.Fahrer.
  544. RETURN NO-APPLY.
  545. END.
  546. REPEAT TRANSACTION WITH FRAME {&FRAME-NAME}:
  547. LVRecid = RECID(Aufko).
  548. FIND Aufko WHERE RECID(Aufko) = LVRecid.
  549. ASSIGN {&List-5}.
  550. RELEASE Aufko.
  551. DISABLE {&List-5}.
  552. Btn_Aendern:LABEL = '&Mutieren'.
  553. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  554. LEAVE.
  555. END.
  556. FIND Aufko WHERE RECID(Aufko) = LVRecid NO-LOCK NO-ERROR.
  557. END.
  558. END.
  559. /* _UIB-CODE-BLOCK-END */
  560. &ANALYZE-RESUME
  561. &Scoped-define SELF-NAME Btn_Ausgleich
  562. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Ausgleich B-table-Win
  563. ON CHOOSE OF Btn_Ausgleich IN FRAME F-Main /* Ausgleichen */
  564. DO:
  565. /*
  566. FIND Aufko USE-INDEX Aufko-k1
  567. WHERE Aufko.Firma = GVFirma
  568. AND Aufko.Aufnr = XVAufnr NO-LOCK NO-ERROR.
  569. REPEAT TRANSACTION WITH FRAME {&FRAME-NAME}:
  570. FOR EACH Aufze OF Aufko No-LOCK:
  571. IF Aufze.Artnr = 0 THEN NEXT.
  572. FOR EACH AufGebKo USE-INDEX AufGebKo-k1
  573. WHERE AufGebKo.Firma = Aufze.Firma
  574. AND AufGebKo.Aufnr = Aufze.Aufnr:
  575. IF AufGebKo.Kto_Cd1 <> Aufze.KGebKto AND
  576. AufGebKo.Kto_Cd2 <> Aufze.KGebKto AND
  577. AufGebKo.Kto_Cd3 <> Aufze.KGebKto THEN NEXT.
  578. IF AufGebKo.Kto_Cd1 <> Aufze.VGebKto AND
  579. AufGebKo.Kto_Cd2 <> Aufze.VGebKto AND
  580. AufGebKo.Kto_Cd3 <> Aufze.VGebKto THEN NEXT.
  581. IF AufGebKo.Kto_Cd1 <> Aufze.GGebKto AND
  582. AufGebKo.Kto_Cd2 <> Aufze.GGebKto AND
  583. AufGebKo.Kto_Cd3 <> Aufze.GGebKto THEN NEXT.
  584. RUN GEBINDE_KONTO ( INPUT 2 ).
  585. IF AufGebKo.Kto_Cd1 = Aufze.KGebKto
  586. THEN AufGebKo.Anz_1 = AufGebKo.Anz_1 + Aufze.KGeb_Me.
  587. IF AufGebKo.Kto_Cd2 = Aufze.KGebKto
  588. THEN AufGebKo.Anz_2 = AufGebKo.Anz_2 + Aufze.KGeb_Me.
  589. IF AufGebKo.Kto_Cd3 = Aufze.KGebKto
  590. THEN AufGebKo.Anz_3 = AufGebKo.Anz_3 + Aufze.KGeb_Me.
  591. IF AufGebKo.Kto_Cd1 = Aufze.VGebKto
  592. THEN AufGebKo.Anz_1 = AufGebKo.Anz_1 + Aufze.VGeb_Me.
  593. IF AufGebKo.Kto_Cd2 = Aufze.VGebKto
  594. THEN AufGebKo.Anz_2 = AufGebKo.Anz_2 + Aufze.VGeb_Me.
  595. IF AufGebKo.Kto_Cd3 = Aufze.VGebKto
  596. THEN AufGebKo.Anz_3 = AufGebKo.Anz_3 + Aufze.VGeb_Me.
  597. IF AufGebKo.Kto_Cd1 = Aufze.GGebKto
  598. THEN AufGebKo.Anz_1 = AufGebKo.Anz_1 + Aufze.GGeb_Me.
  599. IF AufGebKo.Kto_Cd2 = Aufze.GGebKto
  600. THEN AufGebKo.Anz_2 = AufGebKo.Anz_2 + Aufze.GGeb_Me.
  601. IF AufGebKo.Kto_Cd3 = Aufze.GGebKto
  602. THEN AufGebKo.Anz_3 = AufGebKo.Anz_3 + Aufze.GGeb_Me.
  603. RUN GEBINDE_KONTO ( INPUT 1 ).
  604. ASSIGN AufGebKo.Betrag_1 = AufGebKo.Anz_1
  605. * AufGebKo.Wert_1 * AufGebKo.Menge
  606. AufGebKo.Betrag_2 = AufGebKo.Anz_2
  607. * AufGebKo.Wert_2 * AufGebKo.Menge
  608. AufGebKo.Betrag_3 = AufGebKo.Anz_3
  609. * AufGebKo.Wert_3 * AufGebKo.Menge.
  610. END.
  611. END.
  612. RUN "v8/aufkotot.p".
  613. LEAVE.
  614. END.
  615. RUN ANZEIGE_DETAIL.
  616. RUN dispatch IN THIS-PROCEDURE ('open-query':U).
  617. */
  618. END.
  619. /* _UIB-CODE-BLOCK-END */
  620. &ANALYZE-RESUME
  621. &Scoped-define SELF-NAME Btn_Bezahlt
  622. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Bezahlt B-table-Win
  623. ON CHOOSE OF Btn_Bezahlt IN FRAME F-Main /* Bezahlen */
  624. DO:
  625. FIND Tabel USE-INDEX Tabel-k1
  626. WHERE Tabel.Firma = GVFirma
  627. AND Tabel.RecArt = 'FAKART'
  628. AND Tabel.CodeC = ''
  629. AND Tabel.CodeI = Aufko.Fak_Art
  630. AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR.
  631. IF NOT AVAILABLE Tabel THEN RETURN NO-APPLY.
  632. IF Tabel.Int_3 <> 3 AND
  633. Tabel.Int_3 <> 20 THEN DO:
  634. { v8/fehler.i "0319" }
  635. RETURN NO-APPLY.
  636. END.
  637. DO WHILE TRUE TRANSACTION WITH FRAME {&FRAME-NAME}:
  638. IF Btn_Bezahlt:LABEL = '&Bezahlen' THEN DO:
  639. ENABLE F_ZahBetr F_ZahSko.
  640. F_ZahBetr = F_Netto.
  641. F_ZahSko = F_Skonto.
  642. DISPLAY F_ZahBetr F_ZahSko.
  643. APPLY 'ENTRY' TO F_Zahbetr.
  644. Btn_Bezahlt:LABEL = '&Buchen'.
  645. RETURN NO-APPLY.
  646. END.
  647. ELSE DO WITH FRAME {&FRAME-NAME}:
  648. ASSIGN {&list-1}.
  649. VKonto = CB-Zahart:SCREEN-VALUE.
  650. IF VKonto = 'XXXXXX' THEN DO:
  651. BELL.
  652. MESSAGE 'Kein Konto gewählt ! ' VIEW-AS ALERT-BOX ERROR.
  653. APPLY 'ENTRY' TO CB-Zahart.
  654. RETURN NO-APPLY.
  655. END.
  656. FIND Aufko WHERE RECID(Aufko) = ARecid.
  657. Aufko.Bar_Betr = F_Zahbetr.
  658. Aufko.Bar_Skonto = F_ZahSko.
  659. Aufko.Bar_Konto = VKonto.
  660. F_Zahbetr = 0.
  661. F_ZahSko = 0.
  662. F_Bezahlt = Aufko.Bar_Betr.
  663. F_Skonto_Bez = Aufko.Bar_Skonto.
  664. F_Saldo = F_Total - F_Bezahlt - F_SKonto_Bez.
  665. DISPLAY {&List-1}.
  666. RELEASE Aufko.
  667. DISABLE F_ZahBetr F_ZahSko.
  668. Btn_Bezahlt:LABEL = '&Bezahlen'.
  669. END.
  670. LEAVE.
  671. END.
  672. FIND Aufko WHERE RECID(Aufko) = ARecid NO-LOCK.
  673. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  674. RETURN NO-APPLY.
  675. END.
  676. /* _UIB-CODE-BLOCK-END */
  677. &ANALYZE-RESUME
  678. &Scoped-define SELF-NAME Btn_Erfassen
  679. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Erfassen B-table-Win
  680. ON CHOOSE OF Btn_Erfassen IN FRAME F-Main /* Erfassen */
  681. DO:
  682. IF VUpdate THEN VSpeichern = FALSE.
  683. VUpdate = FALSE.
  684. RUN ERFASSEN.
  685. END.
  686. /* _UIB-CODE-BLOCK-END */
  687. &ANALYZE-RESUME
  688. &Scoped-define SELF-NAME Btn_Loeschen
  689. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Loeschen B-table-Win
  690. ON CHOOSE OF Btn_Loeschen IN FRAME F-Main /* Löschen */
  691. DO:
  692. RUN LOESCHEN.
  693. END.
  694. /* _UIB-CODE-BLOCK-END */
  695. &ANALYZE-RESUME
  696. &Scoped-define SELF-NAME Btn_Speichern
  697. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Speichern B-table-Win
  698. ON CHOOSE OF Btn_Speichern IN FRAME F-Main /* Speichern */
  699. DO:
  700. VUpdate = FALSE.
  701. RUN SPEICHERN.
  702. END.
  703. /* _UIB-CODE-BLOCK-END */
  704. &ANALYZE-RESUME
  705. &Scoped-define SELF-NAME Btn_Verbuchen
  706. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Verbuchen B-table-Win
  707. ON CHOOSE OF Btn_Verbuchen IN FRAME F-Main /* Verbuchen */
  708. DO:
  709. FIND Aufko USE-INDEX Aufko-k1
  710. WHERE Aufko.Firma = GVFirma
  711. AND Aufko.Aufnr = XVAufnr NO-LOCK NO-ERROR.
  712. IF Aufko.Faknr = 0 THEN DO:
  713. { v8/fehler.i "0313" }
  714. APPLY 'ENTRY' TO Btn_Verbuchen.
  715. RETURN NO-APPLY.
  716. END.
  717. FIND Tabel USE-INDEX Tabel-k1
  718. WHERE Tabel.Firma = GVFirma
  719. AND Tabel.RecArt = 'FAKART'
  720. AND Tabel.CodeC = ''
  721. AND Tabel.CodeI = Aufko.Fak_Art
  722. AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR.
  723. DO WHILE TRUE:
  724. IF NOT AVAILABLE Tabel THEN LEAVE.
  725. IF Tabel.Int_3 = 20 THEN LEAVE.
  726. IF Tabel.Int_3 = 3 THEN LEAVE.
  727. IF Tabel.Int_3 = 4 AND
  728. Aufko.Auf_Sta = 5 THEN LEAVE.
  729. { v8/fehler.i "0313" }
  730. APPLY 'ENTRY' TO Btn_Verbuchen.
  731. RETURN NO-APPLY.
  732. END.
  733. XVAufnr = Aufko.Aufnr.
  734. XVKnr = Aufko.Fak_Knr.
  735. LVDat = Aufko.Fak_Dat.
  736. Linknr = 9.
  737. RUN "v8/d-verbuchen.w".
  738. Linknr = 0.
  739. RUN new-state ( 'Seite_1_Open, MAIN':U ).
  740. RETURN NO-APPLY.
  741. END.
  742. /* _UIB-CODE-BLOCK-END */
  743. &ANALYZE-RESUME
  744. &Scoped-define SELF-NAME Btn_Verschieben
  745. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Verschieben B-table-Win
  746. ON CHOOSE OF Btn_Verschieben IN FRAME F-Main /* Weiter */
  747. DO:
  748. IF NOT AVAILABLE Aufko THEN RETURN NO-APPLY.
  749. XVAufnr = Aufko.Aufnr.
  750. RUN WEITER ( INPUT XVAufnr ).
  751. IF RETURN-VALUE <> '' THEN RETURN NO-APPLY.
  752. RUN new-state ( 'Seite_1_Open, MAIN':U ).
  753. END.
  754. /* _UIB-CODE-BLOCK-END */
  755. &ANALYZE-RESUME
  756. &Scoped-define SELF-NAME Btn_Zurueck
  757. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Zurueck B-table-Win
  758. ON CHOOSE OF Btn_Zurueck IN FRAME F-Main /* Zurück */
  759. DO:
  760. IF NOT AVAILABLE Aufko THEN RETURN NO-APPLY.
  761. XVAufnr = Aufko.Aufnr.
  762. RUN ZURUECK ( INPUT XVAufnr ).
  763. IF RETURN-VALUE <> '' THEN RETURN NO-APPLY.
  764. RUN new-state ( 'Seite_1_Open, MAIN':U ).
  765. RETURN NO-APPLY.
  766. END.
  767. /* _UIB-CODE-BLOCK-END */
  768. &ANALYZE-RESUME
  769. &Scoped-define SELF-NAME CB-Zahart
  770. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB-Zahart B-table-Win
  771. ON VALUE-CHANGED OF CB-Zahart IN FRAME F-Main /* Zahlungsart */
  772. DO:
  773. VKonto = SELF:SCREEN-VALUE.
  774. END.
  775. /* _UIB-CODE-BLOCK-END */
  776. &ANALYZE-RESUME
  777. &Scoped-define SELF-NAME Aufko.Fahrer
  778. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Aufko.Fahrer B-table-Win
  779. ON HELP OF Aufko.Fahrer IN FRAME F-Main /* Fahrer */
  780. DO:
  781. LVFirma = GVFirma.
  782. LVRecArt = 'FAHRER'.
  783. LVSprcd = 1.
  784. LVCodeI = INTEGER(SELF:SCREEN-VALUE).
  785. ok = TRUE.
  786. RUN "v8/d-a-tabel-i.w" ( INPUT-OUTPUT ok ).
  787. IF ok THEN SELF:SCREEN-VALUE = STRING(LVCodeI).
  788. END.
  789. /* _UIB-CODE-BLOCK-END */
  790. &ANALYZE-RESUME
  791. &Scoped-define SELF-NAME F_Zahbetr
  792. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Zahbetr B-table-Win
  793. ON LEAVE OF F_Zahbetr IN FRAME F-Main /* Zahlbetrag */
  794. DO:
  795. IF KEYFUNCTION(LASTKEY) = "END-ERROR" THEN RETURN NO-APPLY.
  796. LKY = LASTKEY.
  797. LHandle = LAST-EVENT:WIDGET-ENTER.
  798. IF VALID-HANDLE(LHandle) AND
  799. LHandle:TYPE = 'BUTTON' AND
  800. LHandle:NAME = 'Btn_Bezahlt' THEN LKY = 999.
  801. DO WITH FRAME {&FRAME-NAME}:
  802. ASSIGN F_Zahbetr.
  803. IF F_Zahbetr <> 0 THEN F_ZahSko = F_Total - F_Zahbetr.
  804. DISPLAY F_ZahSko.
  805. IF LKY <> 999 THEN DO:
  806. APPLY 'ENTRY' TO F_ZahSko.
  807. RETURN NO-APPLY.
  808. END.
  809. END.
  810. END.
  811. /* _UIB-CODE-BLOCK-END */
  812. &ANALYZE-RESUME
  813. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Zahbetr B-table-Win
  814. ON RETURN OF F_Zahbetr IN FRAME F-Main /* Zahlbetrag */
  815. DO:
  816. APPLY 'ENTRY' TO F_ZahSko.
  817. RETURN NO-APPLY.
  818. END.
  819. /* _UIB-CODE-BLOCK-END */
  820. &ANALYZE-RESUME
  821. &Scoped-define SELF-NAME F_ZahSko
  822. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_ZahSko B-table-Win
  823. ON LEAVE OF F_ZahSko IN FRAME F-Main /* Skonto */
  824. DO:
  825. IF KEYFUNCTION(LASTKEY) = "END-ERROR" THEN RETURN NO-APPLY.
  826. LKY = LASTKEY.
  827. LHandle = LAST-EVENT:WIDGET-ENTER.
  828. IF VALID-HANDLE(LHandle) AND
  829. LHandle:TYPE = 'BUTTON' AND
  830. LHandle:NAME = 'Btn_Bezahlt' THEN LKY = 999.
  831. DO WITH FRAME {&FRAME-NAME}:
  832. ASSIGN F_ZahSko.
  833. IF LKY <> 999 THEN DO:
  834. APPLY 'ENTRY' TO F_ZahSko.
  835. RETURN NO-APPLY.
  836. END.
  837. END.
  838. END.
  839. /* _UIB-CODE-BLOCK-END */
  840. &ANALYZE-RESUME
  841. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_ZahSko B-table-Win
  842. ON RETURN OF F_ZahSko IN FRAME F-Main /* Skonto */
  843. DO:
  844. APPLY 'ENTRY' TO Btn_Bezahlt.
  845. RETURN NO-APPLY.
  846. END.
  847. /* _UIB-CODE-BLOCK-END */
  848. &ANALYZE-RESUME
  849. &Scoped-define SELF-NAME Aufko.LKW
  850. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Aufko.LKW B-table-Win
  851. ON HELP OF Aufko.LKW IN FRAME F-Main /* LKW */
  852. DO:
  853. LVFirma = GVFirma.
  854. LVRecArt = 'LKW'.
  855. LVSprcd = 1.
  856. LVCodeI = INTEGER(SELF:SCREEN-VALUE).
  857. ok = TRUE.
  858. RUN "v8/d-a-tabel-i.w" ( INPUT-OUTPUT ok ).
  859. IF ok THEN SELF:SCREEN-VALUE = STRING(LVCodeI).
  860. END.
  861. /* _UIB-CODE-BLOCK-END */
  862. &ANALYZE-RESUME
  863. &UNDEFINE SELF-NAME
  864. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK B-table-Win
  865. /* *************************** Main Block *************************** */
  866. SUBSCRIBE TO 'ENDEAUFTRAG' ANYWHERE.
  867. FIND FIRST AufGebKo USE-INDEX AufGebKo-k1
  868. WHERE AufGebKo.Firma = GVFirma
  869. AND AufGebKo.Aufnr = XVAufnr NO-LOCK NO-ERROR.
  870. IF NOT AVAILABLE AufGebKo THEN DO:
  871. FOR EACH GebRueck NO-LOCK USE-INDEX GebRueck-k1
  872. WHERE GebRueck.Firma = GVFirma TRANSACTION:
  873. CREATE AufGebKo.
  874. ASSIGN AufGebKo.Firma = GVFirma
  875. AufGebKo.Aufnr = XVAufnr
  876. AufGebKo.Sort_Cd = GebRueck.Sort_Cd
  877. AufGebKo.Geb_Cd = GebRueck.Geb_Cd
  878. AufGebKo.Anz_1 = GebRueck.Anz_1
  879. AufGebKo.Kto_Cd1 = GebRueck.Kto_Cd1
  880. AufGebKo.Anz_2 = GebRueck.Anz_2
  881. AufGebKo.Kto_Cd2 = GebRueck.Kto_Cd2
  882. AufGebKo.Anz_3 = GebRueck.Anz_3
  883. AufGebKo.Kto_Cd3 = GebRueck.Kto_Cd3.
  884. IF AufGebKo.Kto_Cd1 <> '' THEN DO:
  885. FIND GebKonto USE-INDEX GebKonto-k1
  886. WHERE GebKonto.Firma = GVFirma
  887. AND GebKonto.Geb_Cd = AufGebKo.Kto_Cd1 NO-LOCK.
  888. AufGebKo.Wert_1 = GebKonto.Depot.
  889. END.
  890. IF AufGebKo.Kto_Cd2 <> '' THEN DO:
  891. FIND GebKonto USE-INDEX GebKonto-k1
  892. WHERE GebKonto.Firma = GVFirma
  893. AND GebKonto.Geb_Cd = AufGebKo.Kto_Cd2 NO-LOCK.
  894. AufGebKo.Wert_2 = GebKonto.Depot.
  895. END.
  896. IF AufGebKo.Kto_Cd3 <> '' THEN DO:
  897. FIND GebKonto USE-INDEX GebKonto-k1
  898. WHERE GebKonto.Firma = GVFirma
  899. AND GebKonto.Geb_Cd = AufGebKo.Kto_Cd3 NO-LOCK.
  900. AufGebKo.Wert_3 = GebKonto.Depot.
  901. END.
  902. RELEASE AufGebKo.
  903. END.
  904. END.
  905. FCuDw = FALSE.
  906. /* ------ Triggers ---------------------------------------------------- */
  907. ON INSERT-MODE OF BROWSE {&BROWSE-NAME}
  908. DO:
  909. IF VUpdate THEN RETURN NO-APPLY.
  910. RUN ERFASSEN.
  911. END.
  912. ON RETURN OF BROWSE {&BROWSE-NAME}
  913. DO:
  914. IF VUpdate THEN RETURN NO-APPLY.
  915. RUN SPEICHERN.
  916. END.
  917. ON DELETE-CHARACTER OF BROWSE {&BROWSE-NAME}
  918. DO:
  919. IF VUpdate THEN RETURN NO-APPLY.
  920. RUN LOESCHEN.
  921. END.
  922. ON ENTRY OF {&DATEI-NAME}.{&ERSTES-FELD} IN BROWSE {&BROWSE-NAME}
  923. DO:
  924. IF NOT VNeu THEN DO:
  925. APPLY 'ENTRY' TO {&DATEI-NAME}.{&ZWEITES-FELD} IN BROWSE {&BROWSE-NAME}.
  926. RETURN NO-APPLY.
  927. END.
  928. END.
  929. ON RETURN OF {&DATEI-NAME}.{&ERSTES-FELD} IN BROWSE {&BROWSE-NAME}
  930. DO:
  931. IF NOT VUpdate THEN RETURN.
  932. APPLY 'TAB' TO SELF.
  933. RETURN NO-APPLY.
  934. END.
  935. ON CURSOR-UP OF {&INPUT-FELDER} IN BROWSE {&BROWSE-NAME}
  936. DO:
  937. IF NOT VUpdate THEN RETURN.
  938. DO WITH FRAME {&FRAME-NAME}:
  939. FCuDw = TRUE.
  940. RUN SPEICHERN.
  941. ok = {&BROWSE-NAME}:SELECT-PREV-ROW().
  942. /*
  943. IF NOT ok THEN RETURN NO-APPLY.
  944. */
  945. {&BROWSE-NAME}:FETCH-SELECTED-ROW(1).
  946. RUN ANZEIGE.
  947. RUN SPEICHERN.
  948. FCuDw = FALSE.
  949. RETURN NO-APPLY.
  950. END.
  951. END.
  952. ON CURSOR-DOWN OF {&INPUT-FELDER} IN BROWSE {&BROWSE-NAME}
  953. DO:
  954. IF NOT VUpdate THEN RETURN.
  955. DO WITH FRAME {&FRAME-NAME}:
  956. FCuDw = TRUE.
  957. RUN SPEICHERN.
  958. ok = {&BROWSE-NAME}:SELECT-NEXT-ROW().
  959. /*
  960. IF NOT ok THEN RETURN NO-APPLY.
  961. */
  962. {&BROWSE-NAME}:FETCH-SELECTED-ROW(1).
  963. RUN ANZEIGE.
  964. RUN SPEICHERN.
  965. FCuDw = FALSE.
  966. RETURN NO-APPLY.
  967. END.
  968. END.
  969. ON LEFT-MOUSE-DOWN, RIGHT-MOUSE-DOWN, MIDDLE-MOUSE-DOWN OF BROWSE {&BROWSE-NAME}
  970. DO:
  971. DO WHILE TRUE:
  972. IF NOT VUpdate THEN LEAVE.
  973. XHandle = {&BROWSE-NAME}:CURRENT-COLUMN IN FRAME {&FRAME-NAME}.
  974. IF NOT VALID-HANDLE(XHandle) THEN XHandle = LAST-EVENT:WIDGET-LEAVE.
  975. IF VALID-HANDLE(XHandle) THEN DO:
  976. APPLY 'LEAVE' TO XHandle.
  977. RETURN.
  978. END.
  979. LEAVE.
  980. END.
  981. END.
  982. ON LEAVE OF {&DATEI-NAME}.{&ERSTES-FELD} IN BROWSE {&BROWSE-NAME}
  983. DO:
  984. IF NOT VUpdate THEN RETURN.
  985. LKY = LASTKEY.
  986. LHandle = LAST-EVENT:WIDGET-ENTER.
  987. IF VALID-HANDLE(LHandle) THEN DO:
  988. IF LHandle:TYPE = 'BUTTON' AND
  989. LHandle:PRIVATE-DATA = 'Abbrechen' THEN DO:
  990. VSpeichern = FALSE.
  991. APPLY 'ENTRY' TO Btn_Erfassen IN FRAME {&FRAME-NAME}.
  992. RETURN NO-APPLY.
  993. END.
  994. END.
  995. IF NOT VSpeichern THEN RETURN.
  996. XHandle = {&BROWSE-NAME}:CURRENT-COLUMN IN FRAME {&FRAME-NAME}.
  997. Feldname = XHandle:NAME.
  998. Feldinhalt = XHandle:SCREEN-VALUE.
  999. APPLY 'ROW-DISPLAY' TO BROWSE {&BROWSE-NAME}.
  1000. END.
  1001. ON RETURN OF Aufko.Fahrer, Aufko.BeiFahr, Aufko.LKW IN FRAME {&FRAME-NAME}
  1002. DO:
  1003. APPLY 'TAB' TO SELF.
  1004. RETURN NO-APPLY.
  1005. END.
  1006. ON END-ERROR OF Aufko.Fahrer, Aufko.BeiFahr, Aufko.LKW IN FRAME {&FRAME-NAME}
  1007. DO:
  1008. DISPLAY {&List-5} WITH FRAME {&FRAME-NAME}.
  1009. DISABLE {&List-5} WITH FRAME {&FRAME-NAME}.
  1010. Btn_Aendern:LABEL = '&Mutieren'.
  1011. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  1012. RETURN NO-APPLY.
  1013. END.
  1014. ON END-ERROR OF {&Zahl_Felder} IN FRAME {&FRAME-NAME}
  1015. DO:
  1016. DO WITH FRAME {&FRAME-NAME}:
  1017. LKY = LASTKEY.
  1018. IF Btn_Bezahlt:LABEL = '&Bezahlen' THEN DO:
  1019. VSpeichern = FALSE.
  1020. RUN new-state ( INPUT 'ENDE, MAIN':U ).
  1021. RETURN NO-APPLY.
  1022. END.
  1023. Btn_Bezahlt:LABEL = '&Bezahlen'.
  1024. F_Zahbetr = 0.
  1025. F_ZahSko = 0.
  1026. F_Bezahlt = Aufko.Bar_Betr.
  1027. F_Skonto_Bez = Aufko.Bar_Skonto.
  1028. F_Saldo = F_Total - F_Bezahlt - F_SKonto_Bez.
  1029. DISPLAY {&List-1}.
  1030. DISABLE F_ZahBetr F_ZahSko.
  1031. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  1032. RETURN NO-APPLY.
  1033. END.
  1034. END.
  1035. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  1036. RUN dispatch IN THIS-PROCEDURE ('initialize':U).
  1037. &ENDIF
  1038. /* _UIB-CODE-BLOCK-END */
  1039. &ANALYZE-RESUME
  1040. /* ********************** Internal Procedures *********************** */
  1041. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-row-available B-table-Win _ADM-ROW-AVAILABLE
  1042. PROCEDURE adm-row-available :
  1043. /*------------------------------------------------------------------------------
  1044. Purpose: Dispatched to this procedure when the Record-
  1045. Source has a new row available. This procedure
  1046. tries to get the new row (or foriegn keys) from
  1047. the Record-Source and process it.
  1048. Parameters: <none>
  1049. ------------------------------------------------------------------------------*/
  1050. /* Define variables needed by this internal procedure. */
  1051. {src/adm/template/row-head.i}
  1052. /* Process the newly available records (i.e. display fields,
  1053. open queries, and/or pass records on to any RECORD-TARGETS). */
  1054. {src/adm/template/row-end.i}
  1055. END PROCEDURE.
  1056. /* _UIB-CODE-BLOCK-END */
  1057. &ANALYZE-RESUME
  1058. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ANZEIGE B-table-Win
  1059. PROCEDURE ANZEIGE :
  1060. /*------------------------------------------------------------------------------
  1061. Purpose:
  1062. Parameters: <none>
  1063. Notes:
  1064. ------------------------------------------------------------------------------*/
  1065. VText = ''.
  1066. IF AVAILABLE {&DATEI-NAME} THEN DO:
  1067. VRecid = RECID({&DATEI-NAME}).
  1068. VROWID = ROWID({&DATEI-NAME}).
  1069. FIND GebRueck NO-LOCK USE-INDEX GebRueck-k1
  1070. WHERE GebRueck.Firma = GVFirma
  1071. AND GebRueck.Geb_Cd = AufGebKo.Geb_Cd NO-ERROR.
  1072. IF AVAILABLE GebRueck THEN VText = GebRueck.Bez.
  1073. ELSE VText = FILL('?', 20).
  1074. VBetrag = AufGebKo.Betrag_1 + AufGebKo.Betrag_2 + AufGebKo.Betrag_3.
  1075. END.
  1076. END PROCEDURE.
  1077. /* _UIB-CODE-BLOCK-END */
  1078. &ANALYZE-RESUME
  1079. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ANZEIGE_DETAIL B-table-Win
  1080. PROCEDURE ANZEIGE_DETAIL :
  1081. /*------------------------------------------------------------------------------
  1082. Purpose:
  1083. Parameters: <none>
  1084. Notes:
  1085. ------------------------------------------------------------------------------*/
  1086. DO WITH FRAME {&FRAME-NAME}:
  1087. F_Aufnr = XVAufnr.
  1088. E_Adresse = ''.
  1089. FIND Adresse USE-INDEX Adresse-k1
  1090. WHERE Adresse.Firma = AdFirma
  1091. AND Adresse.Knr = Aufko.Knr NO-LOCK NO-ERROR.
  1092. E_Adresse = Adresse.Anschrift[05] + CHR(10) +
  1093. Adresse.Anschrift[06] + CHR(10) +
  1094. Adresse.Anschrift[07] + CHR(10) +
  1095. Adresse.Anschrift[08] + CHR(10) +
  1096. Adresse.Anschrift[09] + CHR(10) +
  1097. Adresse.Anschrift[10] + CHR(10) +
  1098. Adresse.Anschrift[11] + CHR(10) +
  1099. Adresse.Anschrift[12].
  1100. DISPLAY F_Aufnr E_Adresse
  1101. {&List-5}.
  1102. F_WW = VTotal[01].
  1103. F_Gebinde = VTotal[11].
  1104. F_Recycling = VTotal[12].
  1105. F_MWST = VTotal[09].
  1106. F_Total = VTotal[10].
  1107. F_Skonto = 0.
  1108. F_ZahBetr = 0.
  1109. F_ZahSko = 0.
  1110. F_Bezahlt = Aufko.Bar_Betr.
  1111. F_Skonto_Bez = Aufko.Bar_Skonto.
  1112. F_Saldo = F_Total - F_Bezahlt - F_Skonto.
  1113. ARecid = RECID(Aufko).
  1114. VKonto = Aufko.Bar_Konto.
  1115. IF VKonto = '' THEN VKonto = 'XXXXXX'.
  1116. CB-Zahart:SCREEN-VALUE = VKonto NO-ERROR.
  1117. FIND Kondi USE-INDEX Kondi-k1
  1118. WHERE Kondi.Kond = Aufko.Kond
  1119. AND Kondi.Sprcd = Adresse.Sprcd NO-LOCK NO-ERROR.
  1120. IF AVAILABLE Kondi THEN DO:
  1121. IF Kondi.Skonto[01] <> 0 THEN DO:
  1122. Rundbetr = VTotal[02] * Kondi.Skonto[01] / 100.
  1123. Rundcode = 1.
  1124. RUN "v8/runden.p".
  1125. F_Skonto = Rundbetr.
  1126. END.
  1127. END.
  1128. Rundbetr = F_Total - F_Skonto.
  1129. Rundcode = 1.
  1130. RUN "v8/runden.p".
  1131. F_Netto = Rundbetr.
  1132. DISPLAY {&List-1}.
  1133. END.
  1134. END PROCEDURE.
  1135. /* _UIB-CODE-BLOCK-END */
  1136. &ANALYZE-RESUME
  1137. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE BUTTON_ENABLE B-table-Win
  1138. PROCEDURE BUTTON_ENABLE :
  1139. /*------------------------------------------------------------------------------
  1140. Purpose:
  1141. Parameters: <none>
  1142. Notes:
  1143. ------------------------------------------------------------------------------*/
  1144. DEF INPUT PARAMETER Art AS INT NO-UNDO.
  1145. DO WITH FRAME {&FRAME-NAME}:
  1146. IF Art < 90 THEN BStatus = Art.
  1147. IF Art = 98 THEN Art = 9.
  1148. IF Art = 99 THEN Art = BStatus.
  1149. CASE Art:
  1150. WHEN 1 THEN DO:
  1151. ENABLE Btn_Erfassen.
  1152. DISABLE Btn_Speichern Btn_Loeschen.
  1153. END.
  1154. WHEN 2 THEN DO:
  1155. ENABLE Btn_Erfassen Btn_Speichern Btn_Loeschen.
  1156. END.
  1157. WHEN 3 THEN DO:
  1158. DISABLE Btn_Loeschen.
  1159. ENABLE Btn_Speichern.
  1160. END.
  1161. WHEN 9 THEN DO:
  1162. DISABLE Btn_Erfassen Btn_Speichern Btn_Loeschen.
  1163. END.
  1164. END CASE.
  1165. END.
  1166. END PROCEDURE.
  1167. /* _UIB-CODE-BLOCK-END */
  1168. &ANALYZE-RESUME
  1169. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI B-table-Win _DEFAULT-DISABLE
  1170. PROCEDURE disable_UI :
  1171. /*------------------------------------------------------------------------------
  1172. Purpose: DISABLE the User Interface
  1173. Parameters: <none>
  1174. Notes: Here we clean-up the user-interface by deleting
  1175. dynamic widgets we have created and/or hide
  1176. frames. This procedure is usually called when
  1177. we are ready to "clean-up" after running.
  1178. ------------------------------------------------------------------------------*/
  1179. /* Hide all frames. */
  1180. HIDE FRAME F-Main.
  1181. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  1182. END PROCEDURE.
  1183. /* _UIB-CODE-BLOCK-END */
  1184. &ANALYZE-RESUME
  1185. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDEAUFTRAG B-table-Win
  1186. PROCEDURE ENDEAUFTRAG :
  1187. /*------------------------------------------------------------------------------
  1188. Purpose:
  1189. Parameters: <none>
  1190. Notes:
  1191. ------------------------------------------------------------------------------*/
  1192. VSpeichern = FALSE.
  1193. IF VUpdate THEN DO:
  1194. ja = TRUE.
  1195. APPLY 'ENTRY' TO Btn_Erfassen IN FRAME {&FRAME-NAME}.
  1196. END.
  1197. END PROCEDURE.
  1198. /* _UIB-CODE-BLOCK-END */
  1199. &ANALYZE-RESUME
  1200. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ERFASSEN B-table-Win
  1201. PROCEDURE ERFASSEN :
  1202. /*------------------------------------------------------------------------------
  1203. Purpose:
  1204. Parameters: <none>
  1205. Notes:
  1206. ------------------------------------------------------------------------------*/
  1207. DO WITH FRAME {&FRAME-NAME}:
  1208. IF Btn_Erfassen:SENSITIVE = FALSE THEN RETURN NO-APPLY.
  1209. APPLY 'ENTRY' TO Btn_Erfassen.
  1210. CASE Btn_Erfassen:LABEL:
  1211. WHEN '&Erfassen' THEN DO:
  1212. RETURN NO-APPLY.
  1213. END.
  1214. WHEN '&Abbrechen' THEN DO:
  1215. VSpeichern = FALSE.
  1216. RUN adm-disable-fields.
  1217. RUN adm-cancel-record.
  1218. VUpdate = FALSE.
  1219. VNeu = FALSE.
  1220. FErfassen = FALSE.
  1221. Btn_Erfassen:LABEL = '&Erfassen'.
  1222. Btn_Speichern:LABEL = '&Aendern'.
  1223. IF Vorhanden THEN RUN BUTTON_ENABLE ( 2 ).
  1224. ELSE RUN BUTTON_ENABLE ( 1 ).
  1225. END.
  1226. END CASE.
  1227. END.
  1228. IF NOT VUpdate THEN RUN state-changed ( INPUT THIS-PROCEDURE, INPUT 'browser_entry' ).
  1229. END PROCEDURE.
  1230. /* _UIB-CODE-BLOCK-END */
  1231. &ANALYZE-RESUME
  1232. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE GEBINDE_KONTO B-table-Win
  1233. PROCEDURE GEBINDE_KONTO :
  1234. /*------------------------------------------------------------------------------
  1235. Purpose:
  1236. Parameters: <none>
  1237. Notes:
  1238. ------------------------------------------------------------------------------*/
  1239. DEF VAR MW AS INT.
  1240. DEF INPUT PARAMETER Art AS INT.
  1241. DO WHILE AufGebKo.Kto_Cd1 <> '':
  1242. IF AufGebKo.Anz_1 = 0 THEN LEAVE.
  1243. FIND GebKonto USE-INDEX GebKonto-k1
  1244. WHERE GebKonto.Firma = GVFirma
  1245. AND GebKonto.Geb_Cd = AufGebKo.Kto_Cd1 NO-LOCK.
  1246. IF GebKonto.MWST_Art = 0 THEN MW = 11.
  1247. IF GebKonto.MWST_Art = 2 THEN MW = GebKonto.MWST_Cd.
  1248. IF GebKonto.MWST_Art = 1 THEN DO:
  1249. FIND FIRST AufGKon NO-LOCK USE-INDEX AufGKon-k1
  1250. WHERE AufGKon.Firma = GVFirma
  1251. AND AufGKon.Aufnr = AufGebKo.Aufnr
  1252. AND AufGKon.Geb_Cd = GebKonto.Geb_Cd NO-ERROR.
  1253. IF AVAILABLE AufGKon THEN MW = AufGKon.MWSt_Cd.
  1254. ELSE MW = 11.
  1255. END.
  1256. FIND AufGKon USE-INDEX AufGKon-k1
  1257. WHERE AufGKon.Firma = GVFirma
  1258. AND AufGKon.Aufnr = AufGebKo.Aufnr
  1259. AND AufGKon.Geb_Cd = GebKonto.Geb_Cd
  1260. AND AufGKon.MWSt_Cd = MW NO-ERROR.
  1261. IF NOT AVAILABLE AufGKon THEN DO:
  1262. CREATE AufGKon.
  1263. ASSIGN AufGKon.Firma = AufGebKo.Firma
  1264. AufGKon.Aufnr = AufGebKo.Aufnr
  1265. AufGKon.Geb_Cd = GebKonto.Geb_Cd
  1266. AufGKon.MWSt_Cd = MW
  1267. AufGKon.Gebuehr = GebKonto.Gebuehr
  1268. AufGKon.Depot = GebKonto.Depot
  1269. AufGKon.Sort_Cd = GebKonto.Sort_Cd.
  1270. END.
  1271. IF Art = 1 THEN AufGKon.Eingang = AufGKon.Eingang + (AufGebKo.Anz_1 * AufGebKo.Menge).
  1272. IF Art = 2 THEN AufGKon.Eingang = AufGKon.Eingang - (AufGebKo.Anz_1 * AufGebKo.Menge).
  1273. AufGKon.Betrag = (AufGKon.Ausgang - AufGKon.Eingang)
  1274. * (AufGKon.Depot + AufGKon.Gebuehr).
  1275. LEAVE.
  1276. END.
  1277. DO WHILE AufGebKo.Kto_Cd2 <> '':
  1278. IF AufGebKo.Anz_2 = 0 THEN LEAVE.
  1279. FIND GebKonto USE-INDEX GebKonto-k1
  1280. WHERE GebKonto.Firma = GVFirma
  1281. AND GebKonto.Geb_Cd = AufGebKo.Kto_Cd2 NO-LOCK.
  1282. IF GebKonto.MWST_Art = 0 THEN MW = 11.
  1283. IF GebKonto.MWST_Art = 2 THEN MW = GebKonto.MWST_Cd.
  1284. IF GebKonto.MWST_Art = 1 THEN DO:
  1285. FIND FIRST AufGKon USE-INDEX AufGKon-k1
  1286. WHERE AufGKon.Firma = GVFirma
  1287. AND AufGKon.Aufnr = AufGebKo.Aufnr
  1288. AND AufGKon.Geb_Cd = GebKonto.Geb_Cd NO-LOCK NO-ERROR.
  1289. IF AVAILABLE AufGKon THEN MW = AufGKon.MWSt_Cd.
  1290. ELSE MW = 11.
  1291. END.
  1292. FIND AufGKon USE-INDEX AufGKon-k1
  1293. WHERE AufGKon.Firma = GVFirma
  1294. AND AufGKon.Aufnr = AufGebKo.Aufnr
  1295. AND AufGKon.Geb_Cd = GebKonto.Geb_Cd
  1296. AND AufGKon.MWSt_Cd = MW NO-ERROR.
  1297. IF NOT AVAILABLE AufGKon THEN DO:
  1298. CREATE AufGKon.
  1299. ASSIGN AufGKon.Firma = AufGebKo.Firma
  1300. AufGKon.Aufnr = AufGebKo.Aufnr
  1301. AufGKon.Geb_Cd = GebKonto.Geb_Cd
  1302. AufGKon.MWSt_Cd = MW
  1303. AufGKon.Gebuehr = GebKonto.Gebuehr
  1304. AufGKon.Depot = GebKonto.Depot
  1305. AufGKon.Sort_Cd = GebKonto.Sort_Cd.
  1306. END.
  1307. IF Art = 1 THEN AufGKon.Eingang = AufGKon.Eingang + (AufGebKo.Anz_2 * AufGebKo.Menge).
  1308. IF Art = 2 THEN AufGKon.Eingang = AufGKon.Eingang - (AufGebKo.Anz_2 * AufGebKo.Menge).
  1309. AufGKon.Betrag = (AufGKon.Ausgang - AufGKon.Eingang)
  1310. * (AufGKon.Depot + AufGKon.Gebuehr).
  1311. LEAVE.
  1312. END.
  1313. DO WHILE AufGebKo.Kto_Cd3 <> '':
  1314. IF AufGebKo.Anz_3 = 0 THEN LEAVE.
  1315. FIND GebKonto USE-INDEX GebKonto-k1
  1316. WHERE GebKonto.Firma = GVFirma
  1317. AND GebKonto.Geb_Cd = AufGebKo.Kto_Cd3 NO-LOCK.
  1318. IF GebKonto.MWST_Art = 0 THEN MW = 11.
  1319. IF GebKonto.MWST_Art = 2 THEN MW = GebKonto.MWST_Cd.
  1320. IF GebKonto.MWST_Art = 1 THEN DO:
  1321. FIND FIRST AufGKon USE-INDEX AufGKon-k1
  1322. WHERE AufGKon.Firma = GVFirma
  1323. AND AufGKon.Aufnr = AufGebKo.Aufnr
  1324. AND AufGKon.Geb_Cd = GebKonto.Geb_Cd NO-LOCK NO-ERROR.
  1325. IF AVAILABLE AufGKon THEN MW = AufGKon.MWSt_Cd.
  1326. ELSE MW = 11.
  1327. END.
  1328. FIND AufGKon USE-INDEX AufGKon-k1
  1329. WHERE AufGKon.Firma = GVFirma
  1330. AND AufGKon.Aufnr = AufGebKo.Aufnr
  1331. AND AufGKon.Geb_Cd = GebKonto.Geb_Cd
  1332. AND AufGKon.MWSt_Cd = MW NO-ERROR.
  1333. IF NOT AVAILABLE AufGKon THEN DO:
  1334. CREATE AufGKon.
  1335. ASSIGN AufGKon.Firma = AufGebKo.Firma
  1336. AufGKon.Aufnr = AufGebKo.Aufnr
  1337. AufGKon.Geb_Cd = GebKonto.Geb_Cd
  1338. AufGKon.MWSt_Cd = MW
  1339. AufGKon.Gebuehr = GebKonto.Gebuehr
  1340. AufGKon.Depot = GebKonto.Depot
  1341. AufGKon.Sort_Cd = GebKonto.Sort_Cd.
  1342. END.
  1343. IF Art = 1 THEN AufGKon.Eingang = AufGKon.Eingang + (AufGebKo.Anz_3 * AufGebKo.Menge).
  1344. IF Art = 2 THEN AufGKon.Eingang = AufGKon.Eingang - (AufGebKo.Anz_3 * AufGebKo.Menge).
  1345. AufGKon.Betrag = (AufGKon.Ausgang - AufGKon.Eingang)
  1346. * (AufGKon.Depot + AufGKon.Gebuehr).
  1347. LEAVE.
  1348. END.
  1349. RETURN.
  1350. END PROCEDURE.
  1351. /* _UIB-CODE-BLOCK-END */
  1352. &ANALYZE-RESUME
  1353. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-assign-record B-table-Win
  1354. PROCEDURE local-assign-record :
  1355. /*------------------------------------------------------------------------------
  1356. Purpose: Override standard ADM method
  1357. Notes:
  1358. ------------------------------------------------------------------------------*/
  1359. DEF VAR cString AS CHAR NO-UNDO.
  1360. RUN GEBINDE_KONTO ( INPUT 2 ).
  1361. RUN dispatch IN THIS-PROCEDURE ( INPUT 'assign-record':U ) .
  1362. RUN GEBINDE_KONTO ( INPUT 1 ).
  1363. XVAufnr = AufGebKo.Aufnr.
  1364. RUN AUFTRAGSTOTAL ( XVAufnr, OUTPUT cString ).
  1365. DO ix = 1 TO NUM-ENTRIES(cString, CHR(01)):
  1366. VTotal[ix] = DECIMAL(ENTRY(ix, cString, CHR(01))).
  1367. END.
  1368. RUN SAMMFAKMUT ( INPUT XVAufnr ).
  1369. IF VNeu THEN DO:
  1370. END.
  1371. ELSE DO:
  1372. END.
  1373. ASSIGN AufGebKo.Betrag_1 = AufGebKo.Anz_1 * AufGebKo.Wert_1 * AufGebKo.Menge
  1374. AufGebKo.Betrag_2 = AufGebKo.Anz_2 * AufGebKo.Wert_2 * AufGebKo.Menge
  1375. AufGebKo.Betrag_3 = AufGebKo.Anz_3 * AufGebKo.Wert_3 * AufGebKo.Menge.
  1376. VBetrag = AufGebKo.Betrag_1 + AufGebKo.Betrag_2 + AufGebKo.Betrag_3.
  1377. RUN dispatch IN THIS-PROCEDURE ('display-fields':U).
  1378. RUN ANZEIGE_DETAIL.
  1379. END PROCEDURE.
  1380. /* _UIB-CODE-BLOCK-END */
  1381. &ANALYZE-RESUME
  1382. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-display-fields B-table-Win
  1383. PROCEDURE local-display-fields :
  1384. /*------------------------------------------------------------------------------
  1385. Purpose: Override standard ADM method
  1386. Notes:
  1387. ------------------------------------------------------------------------------*/
  1388. RUN dispatch IN THIS-PROCEDURE ( INPUT 'display-fields':U ) .
  1389. IF AufGebKo.Menge <> 0 THEN DO:
  1390. AufGebKo.Menge:BGCOLOR IN BROWSE {&BROWSE-NAME} = 8.
  1391. VText:BGCOLOR IN BROWSE {&BROWSE-NAME} = 8.
  1392. VBetrag:BGCOLOR IN BROWSE {&BROWSE-NAME} = 8.
  1393. END.
  1394. ELSE DO:
  1395. AufGebKo.Menge:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15.
  1396. VText:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15.
  1397. VBetrag:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15.
  1398. END.
  1399. DO WITH FRAME {&FRAME-NAME}:
  1400. END.
  1401. END PROCEDURE.
  1402. /* _UIB-CODE-BLOCK-END */
  1403. &ANALYZE-RESUME
  1404. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-hide B-table-Win
  1405. PROCEDURE local-hide :
  1406. /*------------------------------------------------------------------------------
  1407. Purpose: Override standard ADM method
  1408. Notes:
  1409. ------------------------------------------------------------------------------*/
  1410. IF VUpdate THEN DO:
  1411. APPLY 'ENTRY' TO Btn_Erfassen IN FRAME {&FRAME-NAME}.
  1412. RUN ERFASSEN.
  1413. END.
  1414. RUN dispatch IN THIS-PROCEDURE ( INPUT 'hide':U ) .
  1415. FQOpen = FALSE.
  1416. RUN BUTTON_ENABLE ( INPUT 98 ).
  1417. END PROCEDURE.
  1418. /* _UIB-CODE-BLOCK-END */
  1419. &ANALYZE-RESUME
  1420. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-initialize B-table-Win
  1421. PROCEDURE local-initialize :
  1422. /*------------------------------------------------------------------------------
  1423. Purpose: Override standard ADM method
  1424. Notes:
  1425. ------------------------------------------------------------------------------*/
  1426. DEF VAR cDelim AS CHAR NO-UNDO.
  1427. DEF VAR cString AS CHAR NO-UNDO.
  1428. DO WITH FRAME {&FRAME-NAME}:
  1429. cDelim = '|'.
  1430. cString = 'Kein Konto|XXXXXX'.
  1431. FOR EACH Tabel USE-INDEX Tabel-k1
  1432. WHERE Tabel.Firma = GVFirma
  1433. AND Tabel.RecArt = 'ZAHART'
  1434. AND Tabel.CodeC = ''
  1435. AND Tabel.Sprcd = 1 NO-LOCK:
  1436. cString = cString + cDelim + Tabel.Bez1 + '|' + Tabel.Bez2.
  1437. cDelim = '|'.
  1438. END.
  1439. IF cString = '' THEN cString = '|'.
  1440. CB-Zahart:DELIMITER = "|".
  1441. CB-Zahart:LIST-ITEM-PAIRS = cString.
  1442. END.
  1443. RUN dispatch IN THIS-PROCEDURE ( INPUT 'initialize':U ) .
  1444. END PROCEDURE.
  1445. /* _UIB-CODE-BLOCK-END */
  1446. &ANALYZE-RESUME
  1447. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-open-query B-table-Win
  1448. PROCEDURE local-open-query :
  1449. /*------------------------------------------------------------------------------
  1450. Purpose: Override standard ADM method
  1451. Notes:
  1452. ------------------------------------------------------------------------------*/
  1453. /*
  1454. IF QOpen THEN CLOSE QUERY {&BROWSE-NAME}.
  1455. */
  1456. QOpen = FALSE.
  1457. Vorhanden = FALSE.
  1458. RUN dispatch IN THIS-PROCEDURE ( INPUT 'open-query':U ).
  1459. QOpen = TRUE.
  1460. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  1461. IF NUM-RESULTS("{&BROWSE-NAME}":U) = ? THEN LEAVE.
  1462. IF NUM-RESULTS("{&BROWSE-NAME}":U) = 0 THEN LEAVE.
  1463. Vorhanden = TRUE.
  1464. LEAVE.
  1465. END.
  1466. DO WITH FRAME {&FRAME-NAME}:
  1467. IF Vorhanden THEN DO:
  1468. RUN BUTTON_ENABLE ( 2 ).
  1469. APPLY 'VALUE-CHANGED' TO BROWSE {&BROWSE-NAME}.
  1470. END.
  1471. ELSE DO:
  1472. RUN BUTTON_ENABLE ( 1 ).
  1473. END.
  1474. END.
  1475. END PROCEDURE.
  1476. /* _UIB-CODE-BLOCK-END */
  1477. &ANALYZE-RESUME
  1478. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-view B-table-Win
  1479. PROCEDURE local-view :
  1480. /*------------------------------------------------------------------------------
  1481. Purpose: Override standard ADM method
  1482. Notes:
  1483. ------------------------------------------------------------------------------*/
  1484. DEF VAR cString AS CHAR NO-UNDO.
  1485. IF XVAufnr = 0 THEN DO:
  1486. RUN new-state ( INPUT 'seite_1, MAIN':U ).
  1487. RETURN NO-APPLY.
  1488. END.
  1489. FIND Aufko NO-LOCK USE-INDEX Aufko-k1
  1490. WHERE Aufko.Firma = GVFirma
  1491. AND Aufko.Aufnr = XVAufnr NO-ERROR.
  1492. IF NOT AVAILABLE Aufko THEN DO:
  1493. RUN new-state ( INPUT 'seite_1, MAIN':U ).
  1494. RETURN NO-APPLY.
  1495. END.
  1496. FIND Tabel USE-INDEX Tabel-k1
  1497. WHERE Tabel.Firma = GVFirma
  1498. AND Tabel.RecArt = "FAKART"
  1499. AND Tabel.CodeC = ""
  1500. AND Tabel.CodeI = Aufko.Fak_Art
  1501. AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR.
  1502. IF Tabel.Int_3 > 3 THEN FDruMut = TRUE.
  1503. ELSE FDruMut = FALSE.
  1504. RUN AUFTRAGSTOTAL ( XVAufnr, OUTPUT cString ).
  1505. DO ix = 1 TO NUM-ENTRIES(cString, CHR(01)):
  1506. VTotal[ix] = DECIMAL(ENTRY(ix, cString, CHR(01))).
  1507. END.
  1508. /*
  1509. RUN "v8/aufkotot.p".
  1510. */
  1511. RUN dispatch IN THIS-PROCEDURE ( INPUT 'view':U ) .
  1512. FQOpen = TRUE.
  1513. RUN BUTTON_ENABLE ( INPUT 99 ).
  1514. DO WITH FRAME {&FRAME-NAME}:
  1515. Btn_Erfassen:LABEL IN FRAME {&FRAME-NAME} = '&Erfassen'.
  1516. Btn_Speichern:LABEL IN FRAME {&FRAME-NAME} = '&Aendern'.
  1517. RUN dispatch IN THIS-PROCEDURE ('open-query':U).
  1518. RUN dispatch IN THIS-PROCEDURE ('disable-fields':U).
  1519. RUN ANZEIGE_DETAIL.
  1520. IF NUM-RESULTS("{&BROWSE-NAME}":U) = ? THEN LEAVE.
  1521. IF NUM-RESULTS("{&BROWSE-NAME}":U) = 0 THEN LEAVE.
  1522. {&BROWSE-NAME}:SELECT-FOCUSED-ROW().
  1523. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  1524. RETURN NO-APPLY.
  1525. END.
  1526. END PROCEDURE.
  1527. /* _UIB-CODE-BLOCK-END */
  1528. &ANALYZE-RESUME
  1529. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LOESCHEN B-table-Win
  1530. PROCEDURE LOESCHEN :
  1531. /*------------------------------------------------------------------------------
  1532. Purpose:
  1533. Parameters: <none>
  1534. Notes:
  1535. ------------------------------------------------------------------------------*/
  1536. /*
  1537. IF Btn_Loeschen:SENSITIVE IN FRAME {&FRAME-NAME} = FALSE THEN RETURN NO-APPLY.
  1538. APPLY 'ENTRY' TO Btn_Erfassen IN FRAME {&FRAME-NAME}.
  1539. RUN BUTTON_ENABLE ( 9 ).
  1540. Ja = FALSE.
  1541. { v8/loeschen.i }
  1542. IF NOT Ja THEN DO:
  1543. RUN BUTTON_ENABLE ( 2 ).
  1544. RUN state-changed ( INPUT THIS-PROCEDURE, INPUT 'browser_entry' ).
  1545. RETURN.
  1546. END.
  1547. RUN dispatch IN THIS-PROCEDURE ('delete-record':U).
  1548. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  1549. Vorhanden = FALSE.
  1550. IF NUM-RESULTS("{&BROWSE-NAME}":U) = ? THEN LEAVE.
  1551. IF NUM-RESULTS("{&BROWSE-NAME}":U) = 0 THEN LEAVE.
  1552. Vorhanden = TRUE.
  1553. LEAVE.
  1554. END.
  1555. IF Vorhanden THEN RUN BUTTON_ENABLE ( 2 ).
  1556. ELSE RUN BUTTON_ENABLE ( 1 ).
  1557. RUN state-changed ( INPUT THIS-PROCEDURE, INPUT 'browser_entry' ).
  1558. */
  1559. END PROCEDURE.
  1560. /* _UIB-CODE-BLOCK-END */
  1561. &ANALYZE-RESUME
  1562. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SAMMFAKMUT B-table-Win
  1563. PROCEDURE SAMMFAKMUT :
  1564. /*------------------------------------------------------------------------------
  1565. Purpose:
  1566. Parameters: <none>
  1567. Notes:
  1568. ------------------------------------------------------------------------------*/
  1569. DEF INPUT PARAMETER KoAufnr AS INT NO-UNDO.
  1570. IF NOT FDruMut THEN RETURN.
  1571. REPEAT TRANSACTION:
  1572. FIND BAufko USE-INDEX Aufko-k1
  1573. WHERE BAufko.Firma = GVFirma
  1574. AND BAufko.Aufnr = KoAufnr.
  1575. IF BAufko.Gedruckt = FALSE THEN RETURN.
  1576. Aufko.Gedruckt = FALSE.
  1577. DO WHILE TRUE:
  1578. FIND Tabel USE-INDEX Tabel-k1
  1579. WHERE Tabel.Firma = GVFirma
  1580. AND Tabel.RecArt = 'FAKART'
  1581. AND Tabel.CodeC = ''
  1582. AND Tabel.CodeI = BAufko.Fak_Art
  1583. AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR.
  1584. IF Tabel.Int_3 <> 4 THEN LEAVE. /* nicht Sammelrechnung */
  1585. IF BAufko.Samm_Nr = 0 THEN LEAVE.
  1586. FOR EACH YAufko USE-INDEX Aufko-k4
  1587. WHERE YAufko.Firma = BAufko.Firma
  1588. AND YAufko.Knr = BAufko.Knr
  1589. AND YAufko.Fak_Art = BAufko.Fak_Art
  1590. AND YAufko.Samm_Nr = BAufko.Samm_Nr.
  1591. YAufko.Gedruckt = FALSE.
  1592. IF Tabel.Int_2 = YAufko.Auf_Sta THEN YAufko.Auf_Sta = YAufko.Auf_Sta - 1.
  1593. RELEASE YAufko.
  1594. END.
  1595. LEAVE.
  1596. END.
  1597. RELEASE BAufko.
  1598. LEAVE.
  1599. END.
  1600. END PROCEDURE.
  1601. /* _UIB-CODE-BLOCK-END */
  1602. &ANALYZE-RESUME
  1603. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-records B-table-Win _ADM-SEND-RECORDS
  1604. PROCEDURE send-records :
  1605. /*------------------------------------------------------------------------------
  1606. Purpose: Send record ROWID's for all tables used by
  1607. this file.
  1608. Parameters: see template/snd-head.i
  1609. ------------------------------------------------------------------------------*/
  1610. /* Define variables needed by this internal procedure. */
  1611. {src/adm/template/snd-head.i}
  1612. /* For each requested table, put it's ROWID in the output list. */
  1613. {src/adm/template/snd-list.i "AufGebKo"}
  1614. /* Deal with any unexpected table requests before closing. */
  1615. {src/adm/template/snd-end.i}
  1616. END PROCEDURE.
  1617. /* _UIB-CODE-BLOCK-END */
  1618. &ANALYZE-RESUME
  1619. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SPEICHERN B-table-Win
  1620. PROCEDURE SPEICHERN :
  1621. /*------------------------------------------------------------------------------
  1622. Purpose:
  1623. Parameters: <none>
  1624. Notes:
  1625. ------------------------------------------------------------------------------*/
  1626. DEF VAR XROWID AS ROWID NO-UNDO.
  1627. DO WITH FRAME {&FRAME-NAME}:
  1628. IF Btn_Speichern:SENSITIVE = FALSE THEN RETURN NO-APPLY.
  1629. APPLY 'ENTRY' TO Btn_Speichern.
  1630. REPEAT TRANSACTION:
  1631. CASE Btn_Speichern:LABEL:
  1632. WHEN '&Aendern' THEN DO:
  1633. RUN adm-enable-fields.
  1634. APPLY 'ENTRY' TO {&DATEI-NAME}.{&ZWEITES-FELD} IN BROWSE {&BROWSE-NAME}.
  1635. VUpdate = TRUE.
  1636. VNeu = FALSE.
  1637. VSpeichern = TRUE.
  1638. Btn_Erfassen:LABEL = '&Abbrechen'.
  1639. Btn_Speichern:LABEL = '&Speichern'.
  1640. RUN BUTTON_ENABLE ( 3 ).
  1641. END.
  1642. WHEN '&Speichern' THEN DO:
  1643. VUpdate = FALSE.
  1644. RUN adm-disable-fields.
  1645. RUN adm-update-record.
  1646. RUN adm-end-update.
  1647. VNeu = FALSE.
  1648. VSpeichern = FALSE.
  1649. Btn_Erfassen:LABEL = '&Erfassen'.
  1650. Btn_Speichern:LABEL = '&Aendern'.
  1651. IF Vorhanden THEN RUN BUTTON_ENABLE ( 2 ).
  1652. ELSE RUN BUTTON_ENABLE ( 1 ).
  1653. END.
  1654. END CASE.
  1655. RELEASE AufGebKo.
  1656. LEAVE.
  1657. END.
  1658. END.
  1659. IF NOT VUpdate THEN RUN state-changed ( INPUT THIS-PROCEDURE, INPUT 'browser_entry' ).
  1660. END PROCEDURE.
  1661. /* _UIB-CODE-BLOCK-END */
  1662. &ANALYZE-RESUME
  1663. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE state-changed B-table-Win
  1664. PROCEDURE state-changed :
  1665. /* -----------------------------------------------------------
  1666. Purpose:
  1667. Parameters: <none>
  1668. Notes:
  1669. -------------------------------------------------------------*/
  1670. DEFINE INPUT PARAMETER p-issuer-hdl AS HANDLE NO-UNDO.
  1671. DEFINE INPUT PARAMETER p-state AS CHARACTER NO-UNDO.
  1672. CASE p-state:
  1673. WHEN 'first-record' THEN DO:
  1674. RUN ANZEIGE.
  1675. RUN set-attribute-list('Query-Position=':U + p-state).
  1676. RETURN NO-APPLY.
  1677. END.
  1678. WHEN 'browser_entry' THEN DO:
  1679. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  1680. RETURN NO-APPLY.
  1681. END.
  1682. {src/adm/template/bstates.i}
  1683. END CASE.
  1684. END PROCEDURE.
  1685. /* _UIB-CODE-BLOCK-END */
  1686. &ANALYZE-RESUME