b-aufze_v8.w 142 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217
  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. /* Temp-Table and Buffer definitions */
  8. DEFINE TEMP-TABLE XAufze NO-UNDO LIKE Aufze.
  9. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS B-table-Win
  10. /*------------------------------------------------------------------------
  11. File:
  12. Description: from BROWSER.W - Basic SmartBrowser Object Template
  13. Input Parameters:
  14. <none>
  15. Output Parameters:
  16. <none>
  17. ------------------------------------------------------------------------*/
  18. /* This .W file was created with the Progress UIB. */
  19. /*----------------------------------------------------------------------*/
  20. /* Create an unnamed pool to store all the widgets created
  21. by this procedure. This is a good default which assures
  22. that this procedure's triggers and internal procedures
  23. will execute in this procedure's storage, and that proper
  24. cleanup will occur on deletion of the procedure. */
  25. CREATE WIDGET-POOL.
  26. /* *************************** Definitions ************************** */
  27. &SCOPE INPUT-FELDER F_Bez1, F_Bez2, F_KGebinde, ~
  28. F_Alk_Gehalt, F_MWST, F_MBest, F_VGebinde, F_MGeli, ~
  29. F_MRuek, F_Preis, F_Rab_Art, F_Rab_Wert, F_Zus_Art, ~
  30. F_Zus_Wert
  31. /* Parameters Definitions --- */
  32. /* Local Variable Definitions --- */
  33. DEF VAR VUpdate AS LOG NO-UNDO.
  34. DEF VAR VNeu AS LOG NO-UNDO.
  35. DEF VAR FAnzeige AS LOG NO-UNDO.
  36. DEF VAR FLeave AS LOG NO-UNDO.
  37. DEF VAR FGefunden AS LOG NO-UNDO.
  38. DEF VAR Vorhanden AS LOG NO-UNDO.
  39. DEF VAR XRecid AS RECID NO-UNDO.
  40. DEF VAR FAlfa AS LOG NO-UNDO.
  41. DEF VAR VArtnr AS INT NO-UNDO.
  42. DEF VAR VInhalt AS INT NO-UNDO.
  43. DEF VAR VBez1 AS CHAR NO-UNDO.
  44. DEF VAR VBez2 AS CHAR NO-UNDO.
  45. DEF VAR VArtnrL AS INT NO-UNDO.
  46. DEF VAR VJahr AS INT NO-UNDO.
  47. DEF VAR FeldInhalt AS CHAR NO-UNDO.
  48. DEF VAR FeldName AS CHAR NO-UNDO.
  49. DEF VAR LHandle AS HANDLE NO-UNDO.
  50. DEF VAR XHandle AS HANDLE NO-UNDO.
  51. DEF VAR hDaten AS HANDLE NO-UNDO.
  52. DEF VAR hFenster AS HANDLE NO-UNDO.
  53. DEF VAR VDaten AS CHAR NO-UNDO.
  54. DEF VAR AktCode AS INT NO-UNDO.
  55. DEF VAR Aufnr AS INT NO-UNDO.
  56. DEF VAR Geb_Rg AS LOG NO-UNDO.
  57. DEF VAR xKGebinde AS CHAR FORMAT "x(08)" NO-UNDO.
  58. DEF VAR xVGebinde AS CHAR FORMAT "x(08)" NO-UNDO.
  59. DEF VAR VPreis AS DEC DECIMALS 4 NO-UNDO.
  60. DEF VAR VRab_Betr AS DEC DECIMALS 4 NO-UNDO.
  61. DEF VAR VRab_Proz AS DEC DECIMALS 4 NO-UNDO.
  62. DEF VAR VZus_Betr AS DEC DECIMALS 4 NO-UNDO.
  63. DEF VAR VZus_Proz AS DEC DECIMALS 4 NO-UNDO.
  64. DEF VAR VAktion AS LOG NO-UNDO.
  65. DEF VAR VAktion_Text AS CHAR NO-UNDO.
  66. DEF VAR VP_Grp AS INT NO-UNDO.
  67. DEF VAR VGrp AS INT NO-UNDO.
  68. DEF VAR Ablauf AS INT NO-UNDO.
  69. DEF VAR xRowid AS ROWID NO-UNDO.
  70. DEF VAR KLim AS DEC NO-UNDO.
  71. DEF VAR Saldo AS DEC NO-UNDO.
  72. DEF VAR KRecid AS RECID NO-UNDO.
  73. DEF VAR fAdmin AS LOG NO-UNDO.
  74. DEF VAR cBenutzer AS CHAR NO-UNDO.
  75. DEF VAR hQuery AS HANDLE NO-UNDO.
  76. DEF BUFFER BAufko FOR Aufko .
  77. DEF BUFFER YAufko FOR Aufko .
  78. DEF BUFFER BAufze FOR Aufze .
  79. DEF BUFFER BArtst FOR Artst .
  80. DEF BUFFER BDebst FOR Debst .
  81. DEF WORKFILE WAufze LIKE Aufze.
  82. DEF TEMP-TABLE TAufze LIKE Aufze.
  83. /*
  84. { v8/aufkototv.i "NEW" "SHARED" }
  85. */
  86. /* ---------- Globale Variablen ---------------------------------- */
  87. { v8/globvar.i" " " " "SHARED" }
  88. { v8/debivar.i " " " " "SHARED" }
  89. { v8/artivar.i " " " " "SHARED" }
  90. { v8/contvar.i " " " " "SHARED" }
  91. DEF TEMP-TABLE TBrowser NO-UNDO
  92. FIELD Feld AS CHAR
  93. FIELD Pos AS INT
  94. FIELD Breit AS DEC
  95. FIELD fAktiv AS LOG
  96. FIELD fVisible AS LOG
  97. FIELD PosAkt AS INT
  98. FIELD BreitAkt AS DEC
  99. FIELD hCol AS HANDLE
  100. FIELD cType AS CHAR
  101. FIELD cFormat AS CHAR
  102. FIELD cInitial AS CHAR
  103. FIELD cLabel AS CHAR.
  104. DEF VAR sAktiv AS LOG NO-UNDO INIT FALSE.
  105. DEF VAR Firma AS CHAR FORMAT "x(04)" NO-UNDO.
  106. DEF VAR btnOK AS LOG INIT FALSE NO-UNDO.
  107. /* _UIB-CODE-BLOCK-END */
  108. &ANALYZE-RESUME
  109. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  110. /* ******************** Preprocessor Definitions ******************** */
  111. &Scoped-define PROCEDURE-TYPE SmartBrowser
  112. &Scoped-define DB-AWARE no
  113. &Scoped-define ADM-SUPPORTED-LINKS Record-Source,Record-Target,TableIO-Target
  114. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  115. &Scoped-define FRAME-NAME F-Main
  116. &Scoped-define BROWSE-NAME br_table
  117. /* Internal Tables (found by Frame, Query & Browse Queries) */
  118. &Scoped-define INTERNAL-TABLES Aufze
  119. /* Definitions for BROWSE br_table */
  120. &Scoped-define FIELDS-IN-QUERY-br_table ~
  121. DYNAMIC-FUNCTION('getVGebinde':U, Aufze.VGeb_Cd) @ xVGebinde ~
  122. DYNAMIC-FUNCTION('getKGebinde':U, Aufze.KGeb_Cd) @ xKGebinde Aufze.MBest ~
  123. Aufze.Bez1 Aufze.Artnr Aufze.Jahr Aufze.GGeb_Me Aufze.VGeb_Me Aufze.MGeli ~
  124. Aufze.Preis Aufze.MRuek Aufze.Rab_Wert Aufze.Rab_Su_Grp Aufze.WuCd ~
  125. Aufze.Inhalt
  126. &Scoped-define ENABLED-FIELDS-IN-QUERY-br_table
  127. &Scoped-define QUERY-STRING-br_table FOR EACH Aufze OF Aufko NO-LOCK INDEXED-REPOSITION
  128. &Scoped-define OPEN-QUERY-br_table OPEN QUERY br_table FOR EACH Aufze OF Aufko NO-LOCK INDEXED-REPOSITION.
  129. &Scoped-define TABLES-IN-QUERY-br_table Aufze
  130. &Scoped-define FIRST-TABLE-IN-QUERY-br_table Aufze
  131. /* Definitions for FRAME F-Main */
  132. /* Standard List Definitions */
  133. &Scoped-Define ENABLED-OBJECTS F_AlteNr Btn_Aendern Btn_Erfassen ~
  134. Btn_Loeschen Btn_Zurueck Btn_Verschieben br_table RECT-32 RECT-33 RECT-34
  135. &Scoped-Define DISPLAYED-OBJECTS F_AlteNr F_Aufnr F_Artnr F_Knr F_Inhalt ~
  136. F_Anzeig_Br F_Jahr F_Bez1 F_Auf_Tot F_Bez2 F_Preis F_Rab_Art F_Rab_Wert ~
  137. F_Zus_Art F_Zus_Wert F_MBest F_MGeli F_MRuek F_KGebinde F_VGebinde ~
  138. F_Alk_Gehalt F_MWST
  139. /* Custom List Definitions */
  140. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  141. &Scoped-define List-1 F_Artnr F_Inhalt F_Jahr F_Bez1 F_Bez2 F_Preis ~
  142. F_Rab_Art F_Rab_Wert F_Zus_Art F_Zus_Wert F_MBest F_MGeli F_MRuek ~
  143. F_KGebinde F_VGebinde F_Alk_Gehalt F_MWST
  144. &Scoped-define List-2 F_Artnr F_Inhalt F_Jahr
  145. &Scoped-define List-3 F_AlteNr F_Bez1 F_Bez2 F_Preis F_Rab_Art F_Rab_Wert ~
  146. F_Zus_Art F_Zus_Wert
  147. &Scoped-define List-6 F_Aufnr F_Knr F_Anzeig_Br F_Auf_Tot
  148. /* _UIB-PREPROCESSOR-BLOCK-END */
  149. &ANALYZE-RESUME
  150. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _XFTR "Foreign Keys" B-table-Win _INLINE
  151. /* Actions: ? adm/support/keyedit.w ? ? ? */
  152. /* STRUCTURED-DATA
  153. <KEY-OBJECT>
  154. &BROWSE-NAME
  155. </KEY-OBJECT>
  156. <FOREIGN-KEYS>
  157. </FOREIGN-KEYS>
  158. <EXECUTING-CODE>
  159. **************************
  160. * Set attributes related to FOREIGN KEYS
  161. */
  162. RUN set-attribute-list (
  163. 'Keys-Accepted = "",
  164. Keys-Supplied = ""':U).
  165. /**************************
  166. </EXECUTING-CODE> */
  167. /* _UIB-CODE-BLOCK-END */
  168. &ANALYZE-RESUME
  169. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _XFTR "Advanced Query Options" B-table-Win _INLINE
  170. /* Actions: ? adm/support/advqedit.w ? ? ? */
  171. /* STRUCTURED-DATA
  172. <KEY-OBJECT>
  173. &BROWSE-NAME
  174. </KEY-OBJECT>
  175. <SORTBY-OPTIONS>
  176. </SORTBY-OPTIONS>
  177. <SORTBY-RUN-CODE>
  178. ************************
  179. * Set attributes related to SORTBY-OPTIONS */
  180. RUN set-attribute-list (
  181. 'SortBy-Options = ""':U).
  182. /************************
  183. </SORTBY-RUN-CODE>
  184. <FILTER-ATTRIBUTES>
  185. </FILTER-ATTRIBUTES> */
  186. /* _UIB-CODE-BLOCK-END */
  187. &ANALYZE-RESUME
  188. /* ************************ Function Prototypes ********************** */
  189. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getKGebinde B-table-Win
  190. FUNCTION getKGebinde RETURNS CHARACTER
  191. ( ipKGeb_Cd AS CHAR ) FORWARD.
  192. /* _UIB-CODE-BLOCK-END */
  193. &ANALYZE-RESUME
  194. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getUpdateStatus B-table-Win
  195. FUNCTION getUpdateStatus RETURNS LOGICAL
  196. ( /* parameter-definitions */ ) FORWARD.
  197. /* _UIB-CODE-BLOCK-END */
  198. &ANALYZE-RESUME
  199. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getVGebinde B-table-Win
  200. FUNCTION getVGebinde RETURNS CHARACTER
  201. ( ipVGeb_Cd AS CHAR ) FORWARD.
  202. /* _UIB-CODE-BLOCK-END */
  203. &ANALYZE-RESUME
  204. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD setZeilenFarbe B-table-Win
  205. FUNCTION setZeilenFarbe RETURNS LOGICAL
  206. ( ipFarbe AS INT ) FORWARD.
  207. /* _UIB-CODE-BLOCK-END */
  208. &ANALYZE-RESUME
  209. /* *********************** Control Definitions ********************** */
  210. /* Definitions of the field level widgets */
  211. DEFINE BUTTON Btn_Aendern
  212. LABEL "&Aendern"
  213. SIZE 14 BY 1.
  214. DEFINE BUTTON Btn_Erfassen
  215. LABEL "&Neu"
  216. SIZE 14 BY 1.
  217. DEFINE BUTTON Btn_Loeschen
  218. LABEL "&Löschen"
  219. SIZE 14 BY 1.
  220. DEFINE BUTTON Btn_Verschieben
  221. LABEL "&Weiter"
  222. SIZE 14 BY 1.
  223. DEFINE BUTTON Btn_Zurueck
  224. LABEL "&Zurück"
  225. SIZE 14 BY 1.
  226. DEFINE VARIABLE F_Alk_Gehalt AS DECIMAL FORMAT "zzz99.99":U INITIAL 0
  227. VIEW-AS FILL-IN NATIVE
  228. SIZE 17.6 BY 1
  229. BGCOLOR 15 NO-UNDO.
  230. DEFINE VARIABLE F_AlteNr AS CHARACTER FORMAT "XXXXXX.XXXX.XXXX":U
  231. VIEW-AS FILL-IN NATIVE
  232. SIZE 24 BY 1
  233. BGCOLOR 15 NO-UNDO.
  234. DEFINE VARIABLE F_Anzeig_Br AS CHARACTER FORMAT "x(80)":U
  235. VIEW-AS FILL-IN NATIVE
  236. SIZE 70 BY 1
  237. BGCOLOR 15 NO-UNDO.
  238. DEFINE VARIABLE F_Artnr AS CHARACTER FORMAT "x(20)":U
  239. VIEW-AS FILL-IN NATIVE
  240. SIZE 12.6 BY 1
  241. BGCOLOR 15 NO-UNDO.
  242. DEFINE VARIABLE F_Aufnr AS INTEGER FORMAT "9999999":U INITIAL 0
  243. VIEW-AS FILL-IN NATIVE
  244. SIZE 12 BY 1
  245. BGCOLOR 15 NO-UNDO.
  246. DEFINE VARIABLE F_Auf_Tot AS DECIMAL FORMAT "zzzz,zz9.99-":U INITIAL 0
  247. VIEW-AS FILL-IN NATIVE
  248. SIZE 19.6 BY 1
  249. BGCOLOR 15 NO-UNDO.
  250. DEFINE VARIABLE F_Bez1 AS CHARACTER FORMAT "x(30)":U
  251. VIEW-AS FILL-IN NATIVE
  252. SIZE 42 BY 1
  253. BGCOLOR 15 NO-UNDO.
  254. DEFINE VARIABLE F_Bez2 AS CHARACTER FORMAT "x(30)":U
  255. VIEW-AS FILL-IN NATIVE
  256. SIZE 42 BY 1
  257. BGCOLOR 15 NO-UNDO.
  258. DEFINE VARIABLE F_Inhalt AS INTEGER FORMAT "9999":U INITIAL 0
  259. VIEW-AS FILL-IN NATIVE
  260. SIZE 8.4 BY 1
  261. BGCOLOR 15 NO-UNDO.
  262. DEFINE VARIABLE F_Jahr AS INTEGER FORMAT "9999":U INITIAL 0
  263. VIEW-AS FILL-IN NATIVE
  264. SIZE 8.4 BY 1
  265. BGCOLOR 15 NO-UNDO.
  266. DEFINE VARIABLE F_KGebinde AS CHARACTER FORMAT "x(10)":U
  267. VIEW-AS FILL-IN NATIVE
  268. SIZE 17.6 BY 1
  269. BGCOLOR 14 FONT 6 NO-UNDO.
  270. DEFINE VARIABLE F_Knr AS INTEGER FORMAT "999999":U INITIAL 0
  271. VIEW-AS FILL-IN NATIVE
  272. SIZE 11 BY 1
  273. BGCOLOR 15 NO-UNDO.
  274. DEFINE VARIABLE F_MBest AS DECIMAL FORMAT "zz,zz9.99-":U INITIAL 0
  275. VIEW-AS FILL-IN NATIVE
  276. SIZE 17.6 BY 1
  277. BGCOLOR 15 NO-UNDO.
  278. DEFINE VARIABLE F_MGeli AS DECIMAL FORMAT "zz,zz9.99-":U INITIAL 0
  279. VIEW-AS FILL-IN NATIVE
  280. SIZE 17.6 BY 1
  281. BGCOLOR 15 NO-UNDO.
  282. DEFINE VARIABLE F_MRuek AS DECIMAL FORMAT "zz,zz9.99-":U INITIAL 0
  283. VIEW-AS FILL-IN NATIVE
  284. SIZE 17.6 BY 1
  285. BGCOLOR 15 NO-UNDO.
  286. DEFINE VARIABLE F_MWST AS CHARACTER FORMAT "x(20)":U
  287. VIEW-AS FILL-IN NATIVE
  288. SIZE 17.6 BY 1
  289. BGCOLOR 15 NO-UNDO.
  290. DEFINE VARIABLE F_Preis AS DECIMAL FORMAT "zzz,zz9.999":U INITIAL 0
  291. VIEW-AS FILL-IN NATIVE
  292. SIZE 19 BY 1
  293. BGCOLOR 15 NO-UNDO.
  294. DEFINE VARIABLE F_Rab_Art AS INTEGER FORMAT "z9":U INITIAL 0
  295. VIEW-AS FILL-IN NATIVE
  296. SIZE 5 BY 1 TOOLTIP "0 = kein Rabatt, 1 = Rabatt in %, 2 = Rabatt al Betrag, 3 = EP-Aufschlag"
  297. BGCOLOR 15 NO-UNDO.
  298. DEFINE VARIABLE F_Rab_Wert AS DECIMAL FORMAT "zz9.9999-":U INITIAL 0
  299. VIEW-AS FILL-IN NATIVE
  300. SIZE 15 BY 1
  301. BGCOLOR 15 NO-UNDO.
  302. DEFINE VARIABLE F_VGebinde AS CHARACTER FORMAT "x(10)":U
  303. VIEW-AS FILL-IN NATIVE
  304. SIZE 17.6 BY 1
  305. BGCOLOR 14 FONT 6 NO-UNDO.
  306. DEFINE VARIABLE F_Zus_Art AS INTEGER FORMAT "z9":U INITIAL 0
  307. VIEW-AS FILL-IN NATIVE
  308. SIZE 5 BY 1 TOOLTIP "0 = kein Rabatt, 1 = Rabatt in %, 2 = Rabatt al Betrag"
  309. BGCOLOR 15 NO-UNDO.
  310. DEFINE VARIABLE F_Zus_Wert AS DECIMAL FORMAT "zz9.9999-":U INITIAL 0
  311. VIEW-AS FILL-IN NATIVE
  312. SIZE 15 BY 1
  313. BGCOLOR 15 NO-UNDO.
  314. DEFINE RECTANGLE RECT-32
  315. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  316. SIZE 159.8 BY 21.29.
  317. DEFINE RECTANGLE RECT-33
  318. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  319. SIZE 130 BY 2.86.
  320. DEFINE RECTANGLE RECT-34
  321. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  322. SIZE 130 BY 8.
  323. /* Query definitions */
  324. &ANALYZE-SUSPEND
  325. DEFINE QUERY br_table FOR
  326. Aufze SCROLLING.
  327. &ANALYZE-RESUME
  328. /* Browse definitions */
  329. DEFINE BROWSE br_table
  330. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS br_table B-table-Win _STRUCTURED
  331. QUERY br_table NO-LOCK DISPLAY
  332. DYNAMIC-FUNCTION('getVGebinde':U, Aufze.VGeb_Cd) @ xVGebinde COLUMN-LABEL "VGebinde" FORMAT "x(08)":U
  333. DYNAMIC-FUNCTION('getKGebinde':U, Aufze.KGeb_Cd) @ xKGebinde COLUMN-LABEL "KGebinde" FORMAT "x(08)":U
  334. Aufze.MBest COLUMN-LABEL "Bestellt" FORMAT "->>>>9.9":U
  335. Aufze.Bez1 COLUMN-LABEL "Bezeichnung" FORMAT "x(30)":U
  336. Aufze.Artnr FORMAT "999999":U
  337. Aufze.Jahr FORMAT "9999":U
  338. Aufze.GGeb_Me COLUMN-LABEL "GGeb" FORMAT "->>>9":U
  339. Aufze.VGeb_Me COLUMN-LABEL "VGeb" FORMAT "->>>9":U
  340. Aufze.MGeli COLUMN-LABEL "Geliefert" FORMAT "->>>>9.9":U
  341. Aufze.Preis FORMAT "zzz,zz9.999":U WIDTH 10.6
  342. Aufze.MRuek FORMAT "zzzz9.99-":U
  343. Aufze.Rab_Wert COLUMN-LABEL "Rab" FORMAT "->>9.999":U
  344. Aufze.Rab_Su_Grp COLUMN-LABEL "RG" FORMAT "999":U WIDTH 4.8
  345. Aufze.WuCd COLUMN-LABEL "MW" FORMAT "99":U
  346. Aufze.Inhalt FORMAT "9999":U WIDTH 6.4
  347. /* _UIB-CODE-BLOCK-END */
  348. &ANALYZE-RESUME
  349. WITH NO-ASSIGN NO-ROW-MARKERS SEPARATORS SIZE 152 BY 7.95
  350. BGCOLOR 15 .
  351. /* ************************ Frame Definitions *********************** */
  352. DEFINE FRAME F-Main
  353. F_AlteNr AT ROW 7.52 COL 3 COLON-ALIGNED NO-LABEL WIDGET-ID 2 NO-TAB-STOP
  354. F_Aufnr AT ROW 2.95 COL 3.4 COLON-ALIGNED NO-LABEL NO-TAB-STOP
  355. F_Artnr AT ROW 6.52 COL 3 COLON-ALIGNED NO-LABEL AUTO-RETURN
  356. F_Knr AT ROW 2.95 COL 16.4 COLON-ALIGNED NO-LABEL NO-TAB-STOP
  357. F_Inhalt AT ROW 6.52 COL 17.6 COLON-ALIGNED NO-LABEL AUTO-RETURN
  358. F_Anzeig_Br AT ROW 2.95 COL 28.4 COLON-ALIGNED NO-LABEL NO-TAB-STOP
  359. F_Jahr AT ROW 6.52 COL 28.8 COLON-ALIGNED NO-LABEL AUTO-RETURN
  360. F_Bez1 AT ROW 6.52 COL 40 COLON-ALIGNED NO-LABEL
  361. F_Auf_Tot AT ROW 2.95 COL 105.4 COLON-ALIGNED NO-LABEL NO-TAB-STOP
  362. F_Bez2 AT ROW 7.52 COL 40 COLON-ALIGNED NO-LABEL
  363. F_Preis AT ROW 6.52 COL 84.8 COLON-ALIGNED NO-LABEL
  364. F_Rab_Art AT ROW 6.52 COL 105.4 COLON-ALIGNED NO-LABEL
  365. F_Rab_Wert AT ROW 6.52 COL 111.2 COLON-ALIGNED NO-LABEL
  366. F_Zus_Art AT ROW 7.52 COL 105.4 COLON-ALIGNED NO-LABEL
  367. F_Zus_Wert AT ROW 7.52 COL 111.2 COLON-ALIGNED NO-LABEL
  368. F_MBest AT ROW 11 COL 3.4 COLON-ALIGNED NO-LABEL
  369. F_MGeli AT ROW 11 COL 21.6 COLON-ALIGNED NO-LABEL
  370. F_MRuek AT ROW 11 COL 39.8 COLON-ALIGNED NO-LABEL
  371. F_KGebinde AT ROW 11 COL 58 COLON-ALIGNED NO-LABEL
  372. F_VGebinde AT ROW 11 COL 76.2 COLON-ALIGNED NO-LABEL
  373. F_Alk_Gehalt AT ROW 11 COL 94.4 COLON-ALIGNED NO-LABEL
  374. F_MWST AT ROW 11 COL 112.6 COLON-ALIGNED NO-LABEL
  375. Btn_Aendern AT ROW 21.1 COL 41
  376. Btn_Erfassen AT ROW 21.1 COL 56.4
  377. Btn_Loeschen AT ROW 21.1 COL 71.8
  378. Btn_Zurueck AT ROW 21.1 COL 87.2
  379. Btn_Verschieben AT ROW 21.1 COL 102.6
  380. br_table AT ROW 12.91 COL 3.4
  381. "Auftrag" VIEW-AS TEXT
  382. SIZE 11 BY 1 AT ROW 1.71 COL 5.4
  383. FONT 9
  384. "Jahr" VIEW-AS TEXT
  385. SIZE 8.4 BY 1 AT ROW 5.24 COL 30.8
  386. FONT 9
  387. "Bezeichnung" VIEW-AS TEXT
  388. SIZE 42 BY 1 AT ROW 5.24 COL 42
  389. FONT 9
  390. " Preis" VIEW-AS TEXT
  391. SIZE 17.6 BY 1 AT ROW 5.24 COL 86.8
  392. FONT 9
  393. "Rabatt/Zuschlag" VIEW-AS TEXT
  394. SIZE 23.2 BY 1 AT ROW 5.24 COL 107.4
  395. FONT 9
  396. "Bestellt" VIEW-AS TEXT
  397. SIZE 17.6 BY 1 AT ROW 9.67 COL 5.4
  398. FONT 9
  399. "Geliefert" VIEW-AS TEXT
  400. SIZE 17.6 BY 1 AT ROW 9.67 COL 23.6
  401. FONT 9
  402. "Rückstand" VIEW-AS TEXT
  403. SIZE 17.6 BY 1 AT ROW 9.67 COL 41.8
  404. FONT 9
  405. "KGebinde" VIEW-AS TEXT
  406. SIZE 17.6 BY 1 AT ROW 9.67 COL 60
  407. FONT 9
  408. "VGebinde" VIEW-AS TEXT
  409. SIZE 17.6 BY 1 AT ROW 9.67 COL 78.2
  410. FONT 9
  411. " Vol.%" VIEW-AS TEXT
  412. SIZE 17.6 BY 1 AT ROW 9.67 COL 96.4
  413. FONT 9
  414. "MWSt" VIEW-AS TEXT
  415. SIZE 17.6 BY 1 AT ROW 9.67 COL 114.6
  416. FONT 9
  417. "Kunde" VIEW-AS TEXT
  418. SIZE 11 BY 1 AT ROW 1.71 COL 18.4
  419. FONT 9
  420. "Auftr.wert" VIEW-AS TEXT
  421. SIZE 18.4 BY 1 AT ROW 1.71 COL 107.4
  422. FONT 9
  423. "Artikel" VIEW-AS TEXT
  424. SIZE 12.6 BY 1 AT ROW 5.24 COL 5
  425. FONT 9
  426. "Inhalt" VIEW-AS TEXT
  427. SIZE 8.4 BY 1 AT ROW 5.24 COL 19.6
  428. FONT 9
  429. RECT-32 AT ROW 1.24 COL 1.6
  430. RECT-33 AT ROW 1.52 COL 3.4
  431. RECT-34 AT ROW 4.71 COL 3.4
  432. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  433. SIDE-LABELS NO-UNDERLINE THREE-D
  434. AT COL 1 ROW 1 SCROLLABLE .
  435. /* *********************** Procedure Settings ************************ */
  436. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  437. /* Settings for THIS-PROCEDURE
  438. Type: SmartBrowser
  439. Allow: Basic,Browse
  440. Frames: 1
  441. Add Fields to: EXTERNAL-TABLES
  442. Other Settings: PERSISTENT-ONLY COMPILE
  443. Temp-Tables and Buffers:
  444. TABLE: XAufze T "?" NO-UNDO AnaDat Aufze
  445. END-TABLES.
  446. */
  447. /* This procedure should always be RUN PERSISTENT. Report the error, */
  448. /* then cleanup and return. */
  449. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  450. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  451. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  452. RETURN.
  453. END.
  454. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  455. /* ************************* Create Window ************************** */
  456. &ANALYZE-SUSPEND _CREATE-WINDOW
  457. /* DESIGN Window definition (used by the UIB)
  458. CREATE WINDOW B-table-Win ASSIGN
  459. HEIGHT = 21.91
  460. WIDTH = 161.6.
  461. /* END WINDOW DEFINITION */
  462. */
  463. &ANALYZE-RESUME
  464. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB B-table-Win
  465. /* ************************* Included-Libraries *********************** */
  466. {src/adm/method/browser.i}
  467. /* _UIB-CODE-BLOCK-END */
  468. &ANALYZE-RESUME
  469. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  470. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  471. /* SETTINGS FOR WINDOW B-table-Win
  472. NOT-VISIBLE,,RUN-PERSISTENT */
  473. /* SETTINGS FOR FRAME F-Main
  474. NOT-VISIBLE FRAME-NAME Size-to-Fit Custom */
  475. /* BROWSE-TAB br_table Btn_Verschieben F-Main */
  476. ASSIGN
  477. FRAME F-Main:SCROLLABLE = FALSE
  478. FRAME F-Main:HIDDEN = TRUE.
  479. ASSIGN
  480. br_table:MAX-DATA-GUESS IN FRAME F-Main = 10
  481. br_table:COLUMN-RESIZABLE IN FRAME F-Main = TRUE.
  482. ASSIGN
  483. Btn_Erfassen:PRIVATE-DATA IN FRAME F-Main =
  484. "Abbrechen".
  485. /* SETTINGS FOR FILL-IN F_Alk_Gehalt IN FRAME F-Main
  486. NO-ENABLE 1 */
  487. /* SETTINGS FOR FILL-IN F_AlteNr IN FRAME F-Main
  488. 3 */
  489. ASSIGN
  490. F_AlteNr:READ-ONLY IN FRAME F-Main = TRUE.
  491. /* SETTINGS FOR FILL-IN F_Anzeig_Br IN FRAME F-Main
  492. NO-ENABLE 6 */
  493. ASSIGN
  494. F_Anzeig_Br:READ-ONLY IN FRAME F-Main = TRUE.
  495. /* SETTINGS FOR FILL-IN F_Artnr IN FRAME F-Main
  496. NO-ENABLE 1 2 */
  497. /* SETTINGS FOR FILL-IN F_Aufnr IN FRAME F-Main
  498. NO-ENABLE 6 */
  499. ASSIGN
  500. F_Aufnr:READ-ONLY IN FRAME F-Main = TRUE.
  501. /* SETTINGS FOR FILL-IN F_Auf_Tot IN FRAME F-Main
  502. NO-ENABLE 6 */
  503. ASSIGN
  504. F_Auf_Tot:READ-ONLY IN FRAME F-Main = TRUE.
  505. /* SETTINGS FOR FILL-IN F_Bez1 IN FRAME F-Main
  506. NO-ENABLE 1 3 */
  507. /* SETTINGS FOR FILL-IN F_Bez2 IN FRAME F-Main
  508. NO-ENABLE 1 3 */
  509. /* SETTINGS FOR FILL-IN F_Inhalt IN FRAME F-Main
  510. NO-ENABLE 1 2 */
  511. /* SETTINGS FOR FILL-IN F_Jahr IN FRAME F-Main
  512. NO-ENABLE 1 2 */
  513. /* SETTINGS FOR FILL-IN F_KGebinde IN FRAME F-Main
  514. NO-ENABLE 1 */
  515. /* SETTINGS FOR FILL-IN F_Knr IN FRAME F-Main
  516. NO-ENABLE 6 */
  517. ASSIGN
  518. F_Knr:READ-ONLY IN FRAME F-Main = TRUE.
  519. /* SETTINGS FOR FILL-IN F_MBest IN FRAME F-Main
  520. NO-ENABLE 1 */
  521. /* SETTINGS FOR FILL-IN F_MGeli IN FRAME F-Main
  522. NO-ENABLE 1 */
  523. /* SETTINGS FOR FILL-IN F_MRuek IN FRAME F-Main
  524. NO-ENABLE 1 */
  525. /* SETTINGS FOR FILL-IN F_MWST IN FRAME F-Main
  526. NO-ENABLE 1 */
  527. /* SETTINGS FOR FILL-IN F_Preis IN FRAME F-Main
  528. NO-ENABLE 1 3 */
  529. /* SETTINGS FOR FILL-IN F_Rab_Art IN FRAME F-Main
  530. NO-ENABLE 1 3 */
  531. /* SETTINGS FOR FILL-IN F_Rab_Wert IN FRAME F-Main
  532. NO-ENABLE 1 3 */
  533. /* SETTINGS FOR FILL-IN F_VGebinde IN FRAME F-Main
  534. NO-ENABLE 1 */
  535. /* SETTINGS FOR FILL-IN F_Zus_Art IN FRAME F-Main
  536. NO-ENABLE 1 3 */
  537. /* SETTINGS FOR FILL-IN F_Zus_Wert IN FRAME F-Main
  538. NO-ENABLE 1 3 */
  539. /* _RUN-TIME-ATTRIBUTES-END */
  540. &ANALYZE-RESUME
  541. /* Setting information for Queries and Browse Widgets fields */
  542. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE br_table
  543. /* Query rebuild information for BROWSE br_table
  544. _TblList = "AnaDat.Aufze OF AnaDat.Aufko"
  545. _Options = "NO-LOCK INDEXED-REPOSITION"
  546. _FldNameList[1] > "_<CALC>"
  547. "DYNAMIC-FUNCTION('getVGebinde':U, Aufze.VGeb_Cd) @ xVGebinde" "VGebinde" "x(08)" ? ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  548. _FldNameList[2] > "_<CALC>"
  549. "DYNAMIC-FUNCTION('getKGebinde':U, Aufze.KGeb_Cd) @ xKGebinde" "KGebinde" "x(08)" ? ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  550. _FldNameList[3] > AnaDat.Aufze.MBest
  551. "Aufze.MBest" "Bestellt" "->>>>9.9" "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  552. _FldNameList[4] > AnaDat.Aufze.Bez1
  553. "Aufze.Bez1" "Bezeichnung" ? "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  554. _FldNameList[5] = AnaDat.Aufze.Artnr
  555. _FldNameList[6] = AnaDat.Aufze.Jahr
  556. _FldNameList[7] > AnaDat.Aufze.GGeb_Me
  557. "Aufze.GGeb_Me" "GGeb" "->>>9" "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  558. _FldNameList[8] > AnaDat.Aufze.VGeb_Me
  559. "Aufze.VGeb_Me" "VGeb" "->>>9" "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  560. _FldNameList[9] > AnaDat.Aufze.MGeli
  561. "Aufze.MGeli" "Geliefert" "->>>>9.9" "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  562. _FldNameList[10] > AnaDat.Aufze.Preis
  563. "Aufze.Preis" ? ? "decimal" ? ? ? ? ? ? no ? no no "10.6" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  564. _FldNameList[11] = AnaDat.Aufze.MRuek
  565. _FldNameList[12] > AnaDat.Aufze.Rab_Wert
  566. "Aufze.Rab_Wert" "Rab" "->>9.999" "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  567. _FldNameList[13] > AnaDat.Aufze.Rab_Su_Grp
  568. "Aufze.Rab_Su_Grp" "RG" ? "integer" ? ? ? ? ? ? no ? no no "4.8" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  569. _FldNameList[14] > AnaDat.Aufze.WuCd
  570. "Aufze.WuCd" "MW" ? "integer" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  571. _FldNameList[15] > AnaDat.Aufze.Inhalt
  572. "Aufze.Inhalt" ? ? "integer" ? ? ? ? ? ? no ? no no "6.4" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  573. _Query is NOT OPENED
  574. */ /* BROWSE br_table */
  575. &ANALYZE-RESUME
  576. /* ************************ Control Triggers ************************ */
  577. &Scoped-define SELF-NAME F-Main
  578. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F-Main B-table-Win
  579. ON LEAVE OF FRAME F-Main
  580. DO:
  581. IF VUpdate = TRUE THEN DO:
  582. APPLY 'ENTRY' TO Btn_Erfassen.
  583. APPLY 'CHOOSE' TO Btn_Erfassen.
  584. RETURN.
  585. END.
  586. END.
  587. /* _UIB-CODE-BLOCK-END */
  588. &ANALYZE-RESUME
  589. &Scoped-define BROWSE-NAME br_table
  590. &Scoped-define SELF-NAME br_table
  591. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  592. ON CTRL-C OF br_table IN FRAME F-Main
  593. DO:
  594. IF NUM-RESULTS('{&BROWSE-NAME}') = ? THEN RETURN NO-APPLY.
  595. IF NUM-RESULTS('{&BROWSE-NAME}') = 0 THEN RETURN NO-APPLY.
  596. IF NOT AVAILABLE Aufze THEN RETURN NO-APPLY.
  597. FIND FIRST WAufze NO-ERROR.
  598. IF NOT AVAILABLE WAufze THEN CREATE WAufze.
  599. BUFFER-COPY Aufze TO WAufze.
  600. END.
  601. /* _UIB-CODE-BLOCK-END */
  602. &ANALYZE-RESUME
  603. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  604. ON CTRL-V OF br_table IN FRAME F-Main
  605. DO:
  606. IF NUM-RESULTS('{&BROWSE-NAME}') = ? THEN RETURN NO-APPLY.
  607. IF NUM-RESULTS('{&BROWSE-NAME}') = 0 THEN RETURN NO-APPLY.
  608. IF NOT AVAILABLE Aufze THEN RETURN NO-APPLY.
  609. Aufnr = Aufze.Aufnr.
  610. FIND FIRST WAufze NO-ERROR.
  611. IF NOT AVAILABLE WAufze THEN RETURN NO-APPLY.
  612. REPEAT TRANSACTION:
  613. i4 = WAufze.Pos.
  614. WAufze.Pos = Aufze.Pos.
  615. i5 = 10000.
  616. FOR EACH TAufze:
  617. DELETE TAufze.
  618. END.
  619. FOR EACH Aufze WHERE Aufze.Firma = GVFirma
  620. AND Aufze.Aufnr = Aufnr :
  621. IF Aufze.Pos = i4 THEN DO:
  622. DELETE Aufze.
  623. NEXT.
  624. END.
  625. IF Aufze.Pos = WAufze.Pos THEN DO:
  626. i5 = i5 + 10.
  627. CREATE TAufze.
  628. BUFFER-COPY WAufze TO TAufze.
  629. TAufze.Pos = i5.
  630. i3 = i5.
  631. END.
  632. i5 = i5 + 10.
  633. CREATE TAufze.
  634. BUFFER-COPY Aufze TO TAufze.
  635. TAufze.Pos = i5.
  636. DELETE Aufze.
  637. END.
  638. RUN adm-open-query.
  639. i5 = 0.
  640. FOR EACH TAufze:
  641. i5 = i5 + 10.
  642. CREATE Aufze.
  643. BUFFER-COPY TAufze TO Aufze.
  644. Aufze.Pos = i5.
  645. IF Aufze.Pos = i3 THEN xRowid = ROWID(Aufze).
  646. DELETE TAufze.
  647. END.
  648. DELETE WAufze.
  649. LEAVE.
  650. END.
  651. RUN adm-open-query.
  652. REPOSITION {&BROWSE-NAME} TO ROWID xRowid NO-ERROR.
  653. RETURN NO-APPLY.
  654. END.
  655. /* _UIB-CODE-BLOCK-END */
  656. &ANALYZE-RESUME
  657. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  658. ON ENTRY OF br_table IN FRAME F-Main
  659. DO:
  660. RUN ABBRECHEN.
  661. APPLY 'ENTRY' TO SELF.
  662. RETURN NO-APPLY.
  663. END.
  664. /* _UIB-CODE-BLOCK-END */
  665. &ANALYZE-RESUME
  666. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  667. ON ROW-DISPLAY OF br_table IN FRAME F-Main
  668. DO:
  669. DEF VAR iFarbe AS INT NO-UNDO.
  670. IF NOT AVAILABLE Aufze THEN RETURN NO-APPLY.
  671. FAnzeige = FALSE.
  672. RUN ANZEIGE.
  673. iFarbe = 15.
  674. DYNAMIC-FUNCTION('setZeilenFarbe':U, iFarbe).
  675. DO WHILE TRUE:
  676. IF Aufze.Artnr = 0 THEN LEAVE.
  677. FIND Artst OF Aufze NO-LOCK NO-ERROR.
  678. IF NOT AVAILABLE Artst THEN LEAVE.
  679. IF Artst.Lager AND
  680. NOT Aufze.Lag_Buch THEN DO:
  681. iFarbe = 11.
  682. DYNAMIC-FUNCTION('setZeilenFarbe':U, iFarbe).
  683. END.
  684. IF Aufze.Aktion THEN Aufze.Preis:BGCOLOR IN BROWSE {&BROWSE-NAME} = 14.
  685. IF Aufze.MRuek <> 0 THEN Aufze.MRuek:BGCOLOR = 14.
  686. FIND KGebinde USE-INDEX KGebinde-k1
  687. WHERE KGebinde.Firma = GVFirma
  688. AND KGebinde.Geb_Cd = Artst.KGeb_Cd NO-LOCK.
  689. IF AVAILABLE KGebinde THEN xKGebinde = KGebinde.KBez.
  690. ELSE xKGebinde = Artst.KGeb_Cd.
  691. FIND VGebinde USE-INDEX VGebinde-k1
  692. WHERE VGebinde.Firma = GVFirma
  693. AND VGebinde.Geb_Cd = Artst.VGeb_Cd NO-LOCK.
  694. IF AVAILABLE KGebinde THEN xVGebinde = VGebinde.KBez.
  695. ELSE xVGebinde = Artst.VGeb_Cd.
  696. LEAVE.
  697. END.
  698. END.
  699. /* _UIB-CODE-BLOCK-END */
  700. &ANALYZE-RESUME
  701. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  702. ON ROW-ENTRY OF br_table IN FRAME F-Main
  703. DO:
  704. /* This code displays initial values for newly added or copied rows. */
  705. {src/adm/template/brsentry.i}
  706. END.
  707. /* _UIB-CODE-BLOCK-END */
  708. &ANALYZE-RESUME
  709. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  710. ON ROW-LEAVE OF br_table IN FRAME F-Main
  711. DO:
  712. /* Do not disable this code or no updates will take place except
  713. by pressing the Save button on an Update SmartPanel. */
  714. {src/adm/template/brsleave.i}
  715. END.
  716. /* _UIB-CODE-BLOCK-END */
  717. &ANALYZE-RESUME
  718. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win
  719. ON VALUE-CHANGED OF br_table IN FRAME F-Main
  720. DO:
  721. {src/adm/template/brschnge.i}
  722. RUN ABBRECHEN.
  723. RUN ANZEIGE.
  724. END.
  725. /* _UIB-CODE-BLOCK-END */
  726. &ANALYZE-RESUME
  727. &Scoped-define SELF-NAME Btn_Aendern
  728. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Aendern B-table-Win
  729. ON CHOOSE OF Btn_Aendern IN FRAME F-Main /* Aendern */
  730. DO:
  731. DEF VAR rRowId AS ROWID NO-UNDO.
  732. IF Btn_Aendern:LABEL = '&Aendern' THEN DO:
  733. hQuery:GET-CURRENT().
  734. rRowId = ROWID(Aufze).
  735. RUN local-open-query.
  736. hQUERY:REPOSITION-TO-ROWID(rRowId).
  737. RUN AENDERN.
  738. END.
  739. ELSE DO:
  740. RUN SPEICHERN.
  741. END.
  742. RETURN NO-APPLY.
  743. END.
  744. /* _UIB-CODE-BLOCK-END */
  745. &ANALYZE-RESUME
  746. &Scoped-define SELF-NAME Btn_Erfassen
  747. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Erfassen B-table-Win
  748. ON CHOOSE OF Btn_Erfassen IN FRAME F-Main /* Neu */
  749. DO:
  750. IF Btn_Erfassen:LABEL = '&Neu' THEN DO:
  751. RUN ERFASSEN.
  752. END.
  753. ELSE DO:
  754. RUN ABBRECHEN.
  755. END.
  756. RETURN NO-APPLY.
  757. END.
  758. /* _UIB-CODE-BLOCK-END */
  759. &ANALYZE-RESUME
  760. &Scoped-define SELF-NAME Btn_Loeschen
  761. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Loeschen B-table-Win
  762. ON CHOOSE OF Btn_Loeschen IN FRAME F-Main /* Löschen */
  763. DO:
  764. RUN LOESCHEN.
  765. RETURN NO-APPLY.
  766. END.
  767. /* _UIB-CODE-BLOCK-END */
  768. &ANALYZE-RESUME
  769. &Scoped-define SELF-NAME Btn_Verschieben
  770. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Verschieben B-table-Win
  771. ON CHOOSE OF Btn_Verschieben IN FRAME F-Main /* Weiter */
  772. DO:
  773. IF NOT AVAILABLE Aufko THEN RETURN NO-APPLY.
  774. XVAufnr = Aufko.Aufnr.
  775. RUN WEITER ( INPUT XVAufnr ).
  776. IF RETURN-VALUE <> '' THEN RETURN NO-APPLY.
  777. RUN new-state ( 'Seite_1_Open, MAIN':U ).
  778. RETURN NO-APPLY.
  779. END.
  780. /* _UIB-CODE-BLOCK-END */
  781. &ANALYZE-RESUME
  782. &Scoped-define SELF-NAME Btn_Zurueck
  783. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Zurueck B-table-Win
  784. ON CHOOSE OF Btn_Zurueck IN FRAME F-Main /* Zurück */
  785. DO:
  786. IF NOT AVAILABLE Aufko THEN RETURN NO-APPLY.
  787. XVAufnr = Aufko.Aufnr.
  788. RUN ZURUECK ( INPUT XVAufnr ).
  789. IF RETURN-VALUE <> '' THEN RETURN NO-APPLY.
  790. RUN new-state ( 'Seite_1_Open, MAIN':U ).
  791. RETURN NO-APPLY.
  792. END.
  793. /* _UIB-CODE-BLOCK-END */
  794. &ANALYZE-RESUME
  795. &Scoped-define SELF-NAME F_Artnr
  796. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Artnr B-table-Win
  797. ON ENTRY OF F_Artnr IN FRAME F-Main
  798. DO:
  799. FGefunden = FALSE.
  800. END.
  801. /* _UIB-CODE-BLOCK-END */
  802. &ANALYZE-RESUME
  803. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Artnr B-table-Win
  804. ON LEAVE OF F_Artnr IN FRAME F-Main
  805. DO:
  806. DEF VAR iRecid AS RECID NO-UNDO.
  807. DEF VAR iArtnr AS INT NO-UNDO.
  808. DEF VAR yy AS INT NO-UNDO.
  809. IF NOT VUpdate THEN RETURN NO-APPLY.
  810. IF NOT VNeu THEN RETURN NO-APPLY.
  811. DO WITH FRAME {&FRAME-NAME}:
  812. IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN.
  813. LKY = LASTKEY.
  814. LHandle = LAST-EVENT:WIDGET-ENTER.
  815. IF VALID-HANDLE(LHandle) THEN DO:
  816. IF LHandle:TYPE = 'BUTTON' AND
  817. LHandle:PRIVATE-DATA = 'Abbrechen' THEN DO:
  818. APPLY 'ENTRY' TO Btn_Erfassen.
  819. APPLY 'CHOOSE' TO Btn_Erfassen.
  820. RETURN.
  821. END.
  822. IF LHandle:TYPE = 'BROWSE' THEN DO:
  823. APPLY 'ENTRY' TO Btn_Erfassen.
  824. APPLY 'CHOOSE' TO Btn_Erfassen.
  825. RETURN NO-APPLY.
  826. END.
  827. END.
  828. XHandle = SELF:HANDLE.
  829. Feldname = XHandle:NAME.
  830. FeldInhalt = XHandle:SCREEN-VALUE.
  831. Gefunden = FALSE.
  832. EMPTY TEMP-TABLE XAufze.
  833. CREATE XAufze.
  834. DO WHILE FeldInhalt = '':
  835. DISABLE {&List-2}.
  836. ENABLE F_Bez1
  837. F_Bez2.
  838. ASSIGN XAufze.Firma = GVFirma
  839. XAufze.Aufnr = Aufko.Aufnr
  840. XAufze.Artnr = 0
  841. XAufze.Verbucht = FALSE
  842. XAufze.Lag_Buch = (IF Aufko.AlsOfferte THEN FALSE ELSE TRUE).
  843. RUN ANZEIGE_AUFZE ( INPUT 2 ).
  844. F_Preis:MODIFIED = FALSE.
  845. F_Rab_Art:MODIFIED = FALSE.
  846. F_Rab_Wert:MODIFIED = FALSE.
  847. APPLY 'ENTRY' TO F_Bez1.
  848. RETURN NO-APPLY.
  849. END.
  850. DO WHILE TRUE:
  851. iArtnr = 0.
  852. iRecid = ?.
  853. IF NUM-ENTRIES(FeldInhalt, ' ') = 1 THEN iArtnr = INTEGER(FeldInhalt) NO-ERROR.
  854. IF NOT ERROR-STATUS:ERROR AND
  855. iArtnr > 0 THEN DO:
  856. yy = 0.
  857. FOR EACH Artst NO-LOCK
  858. WHERE Artst.Firma = GVFirma
  859. AND Artst.Artnr = iArtnr:
  860. ASSIGN yy = yy + 1
  861. iRecid = RECID(Artst).
  862. END.
  863. END.
  864. IF yy = 1 THEN LEAVE.
  865. LVSuchbe = FeldInhalt.
  866. iRecid = ?.
  867. RUN g-suchen-artikel.w ( LVSuchbe, OUTPUT iRecid ).
  868. LEAVE.
  869. END.
  870. IF iRecid = ? OR
  871. iRecid = 0 THEN DO:
  872. APPLY 'ENTRY' TO SELF.
  873. RETURN NO-APPLY.
  874. END.
  875. FIND Artst NO-LOCK WHERE RECID(Artst) = iRecid NO-ERROR.
  876. IF AVAILABLE Artst THEN DO:
  877. FIND FIRST Artbez NO-LOCK OF Artst.
  878. ASSIGN VArtnr = Artst.Artnr
  879. VInhalt = Artst.Inhalt
  880. VJahr = Artst.Jahr
  881. VBez1 = Artbez.Bez1
  882. VBez2 = Artbez.Bez2
  883. F_Artnr = STRING(VArtnr ,"999999")
  884. F_Artnr:SCREEN-VALUE = STRING(VArtnr ,"999999")
  885. F_Inhalt:SCREEN-VALUE = STRING(VInhalt,"9999")
  886. F_Jahr:SCREEN-VALUE = STRING(VJahr ,"9999")
  887. F_Bez1:SCREEN-VALUE = VBez1
  888. F_Bez2:SCREEN-VALUE = VBez2
  889. FeldInhalt = STRING(VArtnr)
  890. Gefunden = TRUE.
  891. END.
  892. ASSIGN {&List-1}.
  893. DISPLAY {&List-1}.
  894. ASSIGN XAufze.Firma = GVFirma
  895. XAufze.Aufnr = Aufko.Aufnr
  896. XAufze.Artnr = VArtnr
  897. XAufze.Verbucht = FALSE.
  898. IF Gefunden THEN DO:
  899. APPLY 'ENTRY' TO F_Jahr.
  900. APPLY 'LEAVE' TO F_Jahr.
  901. RETURN NO-APPLY.
  902. END.
  903. APPLY 'ENTRY' TO F_Inhalt.
  904. RETURN NO-APPLY.
  905. END.
  906. END.
  907. /* _UIB-CODE-BLOCK-END */
  908. &ANALYZE-RESUME
  909. &Scoped-define SELF-NAME F_Bez1
  910. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Bez1 B-table-Win
  911. ON LEAVE OF F_Bez1 IN FRAME F-Main
  912. DO:
  913. IF NOT VUpdate THEN RETURN NO-APPLY.
  914. LHandle = LAST-EVENT:WIDGET-ENTER.
  915. IF VALID-HANDLE(LHandle) THEN DO:
  916. IF LHandle:TYPE = 'BUTTON' AND
  917. LHandle:PRIVATE-DATA = 'Abbrechen' THEN DO:
  918. APPLY 'ENTRY' TO Btn_Erfassen.
  919. RETURN NO-APPLY.
  920. END.
  921. IF LHandle:TYPE = 'BROWSE' THEN DO:
  922. APPLY 'ENTRY' TO Btn_Erfassen.
  923. APPLY 'CHOOSE' TO Btn_Erfassen.
  924. RETURN NO-APPLY.
  925. END.
  926. END.
  927. END.
  928. /* _UIB-CODE-BLOCK-END */
  929. &ANALYZE-RESUME
  930. &Scoped-define SELF-NAME F_Bez2
  931. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Bez2 B-table-Win
  932. ON LEAVE OF F_Bez2 IN FRAME F-Main
  933. DO:
  934. IF NOT VUpdate THEN RETURN NO-APPLY.
  935. LHandle = LAST-EVENT:WIDGET-ENTER.
  936. IF VALID-HANDLE(LHandle) THEN DO:
  937. IF LHandle:TYPE = 'BUTTON' AND
  938. LHandle:PRIVATE-DATA = 'Abbrechen' THEN DO:
  939. APPLY 'ENTRY' TO Btn_Erfassen.
  940. RETURN NO-APPLY.
  941. END.
  942. IF LHandle:TYPE = 'BROWSE' THEN DO:
  943. APPLY 'ENTRY' TO Btn_Erfassen.
  944. APPLY 'CHOOSE' TO Btn_Erfassen.
  945. RETURN NO-APPLY.
  946. END.
  947. END.
  948. END.
  949. /* _UIB-CODE-BLOCK-END */
  950. &ANALYZE-RESUME
  951. &Scoped-define SELF-NAME F_Preis
  952. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Preis B-table-Win
  953. ON ENTRY OF F_Preis IN FRAME F-Main
  954. DO:
  955. SELF:MODIFIED = FALSE.
  956. END.
  957. /* _UIB-CODE-BLOCK-END */
  958. &ANALYZE-RESUME
  959. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Preis B-table-Win
  960. ON LEAVE OF F_Preis IN FRAME F-Main
  961. DO:
  962. IF NOT VUpdate THEN RETURN NO-APPLY.
  963. LHandle = LAST-EVENT:WIDGET-ENTER.
  964. IF VALID-HANDLE(LHandle) THEN DO:
  965. IF LHandle:TYPE = 'BUTTON' AND
  966. LHandle:PRIVATE-DATA = 'Abbrechen' THEN DO:
  967. APPLY 'ENTRY' TO Btn_Erfassen.
  968. RETURN NO-APPLY.
  969. END.
  970. IF LHandle:TYPE = 'BROWSE' THEN DO:
  971. APPLY 'ENTRY' TO Btn_Erfassen.
  972. APPLY 'CHOOSE' TO Btn_Erfassen.
  973. RETURN NO-APPLY.
  974. END.
  975. END.
  976. IF DECIMAL(F_Preis:SCREEN-VALUE) = 0 THEN DO:
  977. { v8/antwort.i "0329" }
  978. IF Ja THEN DO:
  979. XAufze.Preis_Mut = TRUE.
  980. RETURN.
  981. END.
  982. APPLY 'ENTRY' TO F_Preis IN FRAME {&FRAME-NAME}.
  983. RETURN NO-APPLY.
  984. END.
  985. IF SELF:MODIFIED = TRUE THEN XAufze.Preis_Mut = TRUE.
  986. END.
  987. /* _UIB-CODE-BLOCK-END */
  988. &ANALYZE-RESUME
  989. &Scoped-define SELF-NAME F_Rab_Art
  990. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Rab_Art B-table-Win
  991. ON LEAVE OF F_Rab_Art IN FRAME F-Main
  992. DO:
  993. IF NOT VUpdate THEN RETURN NO-APPLY.
  994. LHandle = LAST-EVENT:WIDGET-ENTER.
  995. IF VALID-HANDLE(LHandle) THEN DO:
  996. IF LHandle:TYPE = 'BUTTON' AND
  997. LHandle:PRIVATE-DATA = 'Abbrechen' THEN DO:
  998. APPLY 'ENTRY' TO Btn_Erfassen.
  999. RETURN NO-APPLY.
  1000. END.
  1001. IF LHandle:TYPE = 'BROWSE' THEN DO:
  1002. APPLY 'ENTRY' TO Btn_Erfassen.
  1003. APPLY 'CHOOSE' TO Btn_Erfassen.
  1004. RETURN NO-APPLY.
  1005. END.
  1006. END.
  1007. DO WITH FRAME {&FRAME-NAME}:
  1008. IF INTEGER(F_Rab_Art:SCREEN-VALUE) = 0 THEN DO:
  1009. F_Rab_Wert:SCREEN-VALUE = ''.
  1010. END.
  1011. END.
  1012. END.
  1013. /* _UIB-CODE-BLOCK-END */
  1014. &ANALYZE-RESUME
  1015. &Scoped-define SELF-NAME F_Rab_Wert
  1016. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Rab_Wert B-table-Win
  1017. ON ENTRY OF F_Rab_Wert IN FRAME F-Main
  1018. DO:
  1019. DO WITH FRAME {&FRAME-NAME}:
  1020. IF INTEGER(F_Rab_Art:SCREEN-VALUE) = 0 THEN DO:
  1021. APPLY 'TAB' TO SELF.
  1022. RETURN NO-APPLY.
  1023. END.
  1024. END.
  1025. END.
  1026. /* _UIB-CODE-BLOCK-END */
  1027. &ANALYZE-RESUME
  1028. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Rab_Wert B-table-Win
  1029. ON LEAVE OF F_Rab_Wert IN FRAME F-Main
  1030. DO:
  1031. IF NOT VUpdate THEN RETURN NO-APPLY.
  1032. LHandle = LAST-EVENT:WIDGET-ENTER.
  1033. IF VALID-HANDLE(LHandle) THEN DO:
  1034. IF LHandle:TYPE = 'BUTTON' AND
  1035. LHandle:PRIVATE-DATA = 'Abbrechen' THEN DO:
  1036. APPLY 'ENTRY' TO Btn_Erfassen.
  1037. RETURN NO-APPLY.
  1038. END.
  1039. IF LHandle:TYPE = 'BROWSE' THEN DO:
  1040. APPLY 'ENTRY' TO Btn_Erfassen.
  1041. APPLY 'CHOOSE' TO Btn_Erfassen.
  1042. RETURN NO-APPLY.
  1043. END.
  1044. END.
  1045. DO WITH FRAME {&FRAME-NAME}:
  1046. IF DECIMAL(F_Rab_Wert:SCREEN-VALUE) = 0 THEN DO:
  1047. F_Rab_Art:SCREEN-VALUE = ''.
  1048. END.
  1049. END.
  1050. END.
  1051. /* _UIB-CODE-BLOCK-END */
  1052. &ANALYZE-RESUME
  1053. &Scoped-define SELF-NAME F_Zus_Art
  1054. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Zus_Art B-table-Win
  1055. ON LEAVE OF F_Zus_Art IN FRAME F-Main
  1056. DO:
  1057. IF NOT VUpdate THEN RETURN NO-APPLY.
  1058. LHandle = LAST-EVENT:WIDGET-ENTER.
  1059. IF VALID-HANDLE(LHandle) THEN DO:
  1060. IF LHandle:TYPE = 'BUTTON' AND
  1061. LHandle:PRIVATE-DATA = 'Abbrechen' THEN DO:
  1062. APPLY 'ENTRY' TO Btn_Erfassen.
  1063. RETURN NO-APPLY.
  1064. END.
  1065. IF LHandle:TYPE = 'BROWSE' THEN DO:
  1066. APPLY 'ENTRY' TO Btn_Erfassen.
  1067. APPLY 'CHOOSE' TO Btn_Erfassen.
  1068. RETURN NO-APPLY.
  1069. END.
  1070. END.
  1071. DO WITH FRAME {&FRAME-NAME}:
  1072. IF INTEGER(F_Zus_Art:SCREEN-VALUE) = 0 THEN DO:
  1073. F_Zus_Wert:SCREEN-VALUE = ''.
  1074. END.
  1075. END.
  1076. END.
  1077. /* _UIB-CODE-BLOCK-END */
  1078. &ANALYZE-RESUME
  1079. &Scoped-define SELF-NAME F_Zus_Wert
  1080. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Zus_Wert B-table-Win
  1081. ON ENTRY OF F_Zus_Wert IN FRAME F-Main
  1082. DO:
  1083. DO WITH FRAME {&FRAME-NAME}:
  1084. IF INTEGER(F_Zus_Art:SCREEN-VALUE) = 0 THEN DO:
  1085. APPLY 'TAB' TO SELF.
  1086. RETURN NO-APPLY.
  1087. END.
  1088. END.
  1089. END.
  1090. /* _UIB-CODE-BLOCK-END */
  1091. &ANALYZE-RESUME
  1092. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Zus_Wert B-table-Win
  1093. ON LEAVE OF F_Zus_Wert IN FRAME F-Main
  1094. DO:
  1095. IF NOT VUpdate THEN RETURN NO-APPLY.
  1096. LHandle = LAST-EVENT:WIDGET-ENTER.
  1097. IF VALID-HANDLE(LHandle) THEN DO:
  1098. IF LHandle:TYPE = 'BUTTON' AND
  1099. LHandle:PRIVATE-DATA = 'Abbrechen' THEN DO:
  1100. APPLY 'ENTRY' TO Btn_Erfassen.
  1101. RETURN NO-APPLY.
  1102. END.
  1103. IF LHandle:TYPE = 'BROWSE' THEN DO:
  1104. APPLY 'ENTRY' TO Btn_Erfassen.
  1105. APPLY 'CHOOSE' TO Btn_Erfassen.
  1106. RETURN NO-APPLY.
  1107. END.
  1108. END.
  1109. DO WITH FRAME {&FRAME-NAME}:
  1110. IF DECIMAL(F_Zus_Wert:SCREEN-VALUE) = 0 THEN DO:
  1111. F_Zus_Art:SCREEN-VALUE = ''.
  1112. END.
  1113. END.
  1114. END.
  1115. /* _UIB-CODE-BLOCK-END */
  1116. &ANALYZE-RESUME
  1117. &UNDEFINE SELF-NAME
  1118. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK B-table-Win
  1119. /* *************************** Main Block *************************** */
  1120. SESSION:DATA-ENTRY-RETURN = TRUE.
  1121. SUBSCRIBE TO 'ENDEAUFTRAG' ANYWHERE.
  1122. { incl/dlgmainblock.i }
  1123. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  1124. RUN dispatch IN THIS-PROCEDURE ('initialize':U).
  1125. &ENDIF
  1126. FIND Steuer WHERE Steuer.Firma = GVFirma NO-LOCK NO-ERROR.
  1127. IF AVAILABLE Steuer THEN VArtnrL = Steuer.Fwi10.
  1128. VNeu = FALSE.
  1129. VUpdate = FALSE.
  1130. FAnzeige = TRUE.
  1131. FGefunden = FALSE.
  1132. FLeave = TRUE.
  1133. Ablauf = 0.
  1134. cBenutzer = DYNAMIC-FUNCTION('getBenutzer':U) NO-ERROR.
  1135. ON INSERT-MODE, 'ALT-INS' OF FRAME {&FRAME-NAME} ANYWHERE
  1136. DO:
  1137. APPLY 'ENTRY' TO Btn_Erfassen IN FRAME {&FRAME-NAME}.
  1138. APPLY 'CHOOSE' TO Btn_Erfassen IN FRAME {&FRAME-NAME}.
  1139. RETURN NO-APPLY.
  1140. END.
  1141. ON RETURN OF BROWSE {&BROWSE-NAME}
  1142. DO:
  1143. IF VUpdate THEN RETURN NO-APPLY.
  1144. APPLY 'ENTRY' TO Btn_Aendern IN FRAME {&FRAME-NAME}.
  1145. APPLY 'CHOOSE' TO Btn_Aendern IN FRAME {&FRAME-NAME}.
  1146. RETURN NO-APPLY.
  1147. END.
  1148. ON "ALT-RETURN" OF BROWSE {&BROWSE-NAME}
  1149. DO:
  1150. IF VUpdate THEN RETURN NO-APPLY.
  1151. APPLY 'ENTRY' TO Btn_Aendern IN FRAME {&FRAME-NAME}.
  1152. APPLY 'CHOOSE' TO Btn_Aendern IN FRAME {&FRAME-NAME}.
  1153. END.
  1154. ON "ALT-S":U OF {&INPUT-FELDER}
  1155. DO:
  1156. IF NOT VUpdate THEN RETURN NO-APPLY.
  1157. APPLY 'ENTRY' TO Btn_Aendern IN FRAME {&FRAME-NAME}.
  1158. APPLY 'CHOOSE' TO Btn_Aendern IN FRAME {&FRAME-NAME}.
  1159. RETURN NO-APPLY.
  1160. END.
  1161. ON DELETE-CHARACTER OF BROWSE {&BROWSE-NAME}
  1162. DO:
  1163. IF VUpdate THEN RETURN NO-APPLY.
  1164. RUN LOESCHEN.
  1165. RETURN NO-APPLY.
  1166. END.
  1167. ON RETURN OF {&INPUT-FELDER}
  1168. DO:
  1169. IF VUpdate THEN DO:
  1170. APPLY 'TAB' TO SELF.
  1171. RETURN NO-APPLY.
  1172. END.
  1173. END.
  1174. ON END, "F9":U OF {&INPUT-FELDER}
  1175. DO:
  1176. IF VUpdate THEN DO:
  1177. APPLY 'ENTRY' TO Btn_Aendern IN FRAME {&FRAME-NAME}.
  1178. APPLY 'CHOOSE' TO Btn_Aendern IN FRAME {&FRAME-NAME}.
  1179. RETURN NO-APPLY.
  1180. END.
  1181. END.
  1182. /*
  1183. ON END-ERROR OF FRAME {&FRAME-NAME} ANYWHERE
  1184. DO:
  1185. IF NOT VUpdate THEN DO:
  1186. RUN new-state ( INPUT 'ENDE, MAIN':U ).
  1187. RETURN NO-APPLY.
  1188. END.
  1189. APPLY 'ENTRY' TO Btn_Erfassen IN FRAME {&FRAME-NAME}.
  1190. APPLY 'CHOOSE' TO Btn_Erfassen IN FRAME {&FRAME-NAME}.
  1191. RETURN NO-APPLY.
  1192. END.
  1193. */
  1194. ON LEAVE OF F_Inhalt IN FRAME {&FRAME-NAME}
  1195. DO:
  1196. IF NOT VUpdate THEN RETURN NO-APPLY.
  1197. IF NOT VNeu THEN RETURN NO-APPLY.
  1198. DO WITH FRAME {&FRAME-NAME}:
  1199. IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN.
  1200. LKY = LASTKEY.
  1201. LHandle = LAST-EVENT:WIDGET-ENTER.
  1202. IF VALID-HANDLE(LHandle) THEN DO:
  1203. IF LHandle:TYPE = 'BUTTON' AND
  1204. LHandle:PRIVATE-DATA = 'Abbrechen' THEN DO:
  1205. APPLY 'ENTRY' TO Btn_Erfassen.
  1206. RETURN NO-APPLY.
  1207. END.
  1208. IF LHandle:TYPE = 'BROWSE' THEN DO:
  1209. APPLY 'ENTRY' TO Btn_Erfassen.
  1210. APPLY 'CHOOSE' TO Btn_Erfassen.
  1211. RETURN NO-APPLY.
  1212. END.
  1213. END.
  1214. XHandle = SELF:HANDLE.
  1215. Feldname = XHandle:NAME.
  1216. FeldInhalt = XHandle:SCREEN-VALUE.
  1217. F_Inhalt = INTEGER(FeldInhalt).
  1218. FIND FIRST Artst USE-INDEX Artst-k1
  1219. WHERE Artst.Firma = GVFirma
  1220. AND Artst.Artnr = VArtnr
  1221. AND Artst.Inhalt = F_Inhalt NO-LOCK NO-ERROR.
  1222. IF NOT AVAILABLE Artst THEN DO:
  1223. { v8/fehler.i "0213" }
  1224. APPLY 'ENTRY' TO F_Inhalt.
  1225. RETURN NO-APPLY.
  1226. END.
  1227. F_Jahr = Artst.Jahr.
  1228. FIND Steuer WHERE Steuer.Firma = GVFirma NO-LOCK.
  1229. FIND ArtBez USE-INDEX ArtBez-k1
  1230. WHERE ArtBez.Firma = GVFirma
  1231. AND ArtBez.Artnr = Artst.Artnr
  1232. AND ArtBez.Inhalt = F_Inhalt
  1233. AND ArtBez.Jahr = F_Jahr
  1234. AND ArtBez.Sprcd = Steuer.Fwi01 NO-LOCK NO-ERROR.
  1235. IF NOT AVAILABLE ArtBez THEN DO:
  1236. FIND FIRST ArtBez USE-INDEX ArtBez-k1
  1237. WHERE ArtBez.Firma = GVFirma
  1238. AND ArtBez.Artnr = Artst.Artnr
  1239. AND ArtBez.Inhalt = F_Inhalt
  1240. AND ArtBez.Jahr = F_Jahr NO-LOCK NO-ERROR.
  1241. END.
  1242. IF AVAILABLE ArtBez THEN DO:
  1243. F_Bez1 = ArtBez.Bez1.
  1244. IF ArtBez.Bez2_Druck THEN F_Bez2 = ArtBez.Bez2.
  1245. END.
  1246. DISPLAY {&List-1}.
  1247. END. /* FRAME */
  1248. END.
  1249. ON LEAVE OF F_Jahr IN FRAME {&FRAME-NAME}
  1250. DO:
  1251. IF NOT VUpdate THEN RETURN NO-APPLY.
  1252. IF NOT VNeu THEN RETURN NO-APPLY.
  1253. DO WITH FRAME {&FRAME-NAME}:
  1254. IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN.
  1255. IF KEYFUNCTION(LASTKEY) = 'BACK-TAB' THEN DO:
  1256. APPLY 'ENTRY' TO F_Inhalt.
  1257. RETURN NO-APPLY.
  1258. END.
  1259. LKY = LASTKEY.
  1260. LHandle = LAST-EVENT:WIDGET-ENTER.
  1261. IF VALID-HANDLE(LHandle) THEN DO:
  1262. IF LHandle:TYPE = 'BUTTON' AND
  1263. LHandle:PRIVATE-DATA = 'Abbrechen' THEN DO:
  1264. APPLY 'ENTRY' TO Btn_Erfassen.
  1265. RETURN NO-APPLY.
  1266. END.
  1267. IF LHandle:TYPE = 'BROWSE' THEN DO:
  1268. APPLY 'ENTRY' TO Btn_Erfassen.
  1269. APPLY 'CHOOSE' TO Btn_Erfassen.
  1270. RETURN NO-APPLY.
  1271. END.
  1272. END.
  1273. XHandle = SELF:HANDLE.
  1274. Feldname = XHandle:NAME.
  1275. FeldInhalt = XHandle:SCREEN-VALUE.
  1276. F_Jahr = INTEGER(FeldInhalt).
  1277. FIND Artst USE-INDEX Artst-k1
  1278. WHERE Artst.Firma = GVFirma
  1279. AND Artst.Artnr = VArtnr
  1280. AND Artst.Inhalt = F_Inhalt
  1281. AND Artst.Jahr = F_Jahr NO-LOCK NO-ERROR.
  1282. IF NOT AVAILABLE Artst THEN DO:
  1283. { v8/fehler.i "0213" }
  1284. APPLY 'ENTRY' TO F_Inhalt.
  1285. RETURN NO-APPLY.
  1286. END.
  1287. IF Artst.Aktiv = FALSE THEN DO:
  1288. { v8/fehler.i "0201" }
  1289. APPLY 'ENTRY' TO F_Inhalt.
  1290. RETURN NO-APPLY.
  1291. END.
  1292. IF Artst.Ausverk = 9 THEN DO:
  1293. { v8/fehler.i "0340" }
  1294. APPLY 'ENTRY' TO F_Inhalt.
  1295. RETURN NO-APPLY.
  1296. END.
  1297. IF Artst.Listen_EP = 0 AND
  1298. Artst.DEP = 0 AND
  1299. Artst.LEP = 0 THEN DO:
  1300. { v8/fehler.i "0210" }
  1301. APPLY 'ENTRY' TO F_Inhalt.
  1302. RETURN NO-APPLY.
  1303. END.
  1304. FIND ArtBez USE-INDEX ArtBez-k1
  1305. WHERE ArtBez.Firma = GVFirma
  1306. AND ArtBez.Artnr = Artst.Artnr
  1307. AND ArtBez.Inhalt = F_Inhalt
  1308. AND ArtBez.Jahr = F_Jahr
  1309. AND ArtBez.Sprcd = Steuer.Fwi01 NO-LOCK NO-ERROR.
  1310. IF NOT AVAILABLE ArtBez THEN DO:
  1311. FIND FIRST ArtBez USE-INDEX ArtBez-k1
  1312. WHERE ArtBez.Firma = GVFirma
  1313. AND ArtBez.Artnr = Artst.Artnr
  1314. AND ArtBez.Inhalt = F_Inhalt
  1315. AND ArtBez.Jahr = F_Jahr NO-LOCK NO-ERROR.
  1316. END.
  1317. IF AVAILABLE ArtBez THEN DO:
  1318. F_Bez1 = ArtBez.Bez1.
  1319. IF ArtBez.Bez2_Druck THEN F_Bez2 = ArtBez.Bez2.
  1320. END.
  1321. ASSIGN XAufze.Artnr = VArtnr
  1322. XAufze.Inhalt = F_Inhalt
  1323. XAufze.Jahr = F_Jahr
  1324. XAufze.Bez1 = F_Bez1
  1325. XAufze.Bez2 = F_Bez2
  1326. XAufze.MBest = 0
  1327. XAufze.MGeli = 0
  1328. XAufze.MRuek = 0
  1329. XAufze.MKumm = 0
  1330. XAufze.Preis = 0
  1331. XAufze.Rab_Art = Aufko.Zei_Rab_Art
  1332. XAufze.Rab_Wert = Aufko.Zei_Rab_Wert
  1333. XAufze.Rab_Betr = 0
  1334. XAufze.Zus_Art = Aufko.Zuschl_Art
  1335. XAufze.Zus_Wert = Aufko.Zuschl_Wert
  1336. XAufze.Zus_Betr = 0
  1337. XAufze.Bru_Betr = 0
  1338. XAufze.Net_Betr = 0
  1339. XAufze.WC = Artst.MWST
  1340. XAufze.Alk_Gehalt = Artst.Alk_Gehalt
  1341. XAufze.Aktion = FALSE
  1342. XAufze.Sk_Ber = Artst.Sk_Ber
  1343. XAufze.Netto = Artst.Netto
  1344. XAufze.Lager = Aufko.Lager
  1345. XAufze.TrNr = 0
  1346. XAufze.Verbucht = FALSE
  1347. XAufze.KGeb_Cd = Artst.KGeb_Cd
  1348. XAufze.VGeb_Cd = Artst.VGeb_Cd
  1349. XAufze.GGeb_Cd = Artst.GGeb_Cd
  1350. XAufze.KGeb_Me = 0
  1351. XAufze.VGeb_Me = 0
  1352. XAufze.GGeb_Me = 0
  1353. XAufze.KGeb_Be = 0
  1354. XAufze.VGeb_Be = 0
  1355. XAufze.GGeb_Be = 0
  1356. XAufze.KGeb_Ru = 0
  1357. XAufze.VGeb_Ru = 0
  1358. XAufze.GGeb_Ru = 0
  1359. XAufze.Aktion_Text = ''
  1360. XAufze.Rab_Su_Grp = 0
  1361. XAufze.Rab_Su_Art = 0
  1362. XAufze.Liter = 0
  1363. XAufze.Gewicht = 0
  1364. XAufze.Auf_Rab = 0
  1365. XAufze.Abh_Rab = 0
  1366. XAufze.KGebKto = ''
  1367. XAufze.VGebKto = ''
  1368. XAufze.GGebKto = ''
  1369. XAufze.EP = 0
  1370. XAufze.Lag_Buch = (IF Aufko.AlsOfferte THEN FALSE ELSE Artst.Lager)
  1371. XAufze.Auf_Sp_Proz_Betr = TRUE
  1372. XAufze.Auf_Sp_Wert = 0
  1373. XAufze.Auf_Sp_Rab = 0
  1374. XAufze.Auf_Sp_Grp = 0.
  1375. DO ix = 1 TO 10:
  1376. XAufze.Zustext[ix] = Artbez.Zustext[ix].
  1377. END.
  1378. FIND Wust USE-INDEX Wust-k1
  1379. WHERE Wust.CodeK = Aufko.MWST
  1380. AND Wust.CodeA = Artst.MWST NO-LOCK NO-ERROR.
  1381. XAufze.WuCd = Wust.WuCd.
  1382. FIND FIRST Wust USE-INDEX Wust-k2
  1383. WHERE Wust.WuCd = XAufze.WuCd NO-LOCK NO-ERROR.
  1384. FIND LAST MWSTAns USE-INDEX MWSTAns-k1
  1385. WHERE MWSTAns.MWST_Cd = XAufze.WuCd
  1386. AND MWSTAns.Datum <= Aufko.Kond_Datum NO-LOCK.
  1387. XAufze.MWST% = MWSTAns.Ansatz.
  1388. XAufze.MWST_Inkl = Wust.Incl.
  1389. LVRecid = 0.
  1390. Ablauf = 0.
  1391. RUN MENGE.
  1392. IF RETURN-VALUE <> '' THEN DO:
  1393. APPLY 'ENTRY' TO F_Jahr IN FRAME {&FRAME-NAME}.
  1394. RETURN NO-APPLY.
  1395. END.
  1396. DISABLE {&List-2}.
  1397. ENABLE {&List-3}.
  1398. RUN ANZEIGE_AUFZE ( INPUT 2 ).
  1399. F_Preis:MODIFIED = FALSE.
  1400. F_Rab_Art:MODIFIED = FALSE.
  1401. F_Rab_Wert:MODIFIED = FALSE.
  1402. F_Zus_Art:MODIFIED = FALSE.
  1403. F_Zus_Wert:MODIFIED = FALSE.
  1404. APPLY 'ENTRY' TO F_Bez1.
  1405. RETURN NO-APPLY.
  1406. END.
  1407. END.
  1408. /* _UIB-CODE-BLOCK-END */
  1409. &ANALYZE-RESUME
  1410. /* ********************** Internal Procedures *********************** */
  1411. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ABBRECHEN B-table-Win
  1412. PROCEDURE ABBRECHEN :
  1413. /*------------------------------------------------------------------------------
  1414. Purpose:
  1415. Parameters: <none>
  1416. Notes:
  1417. ------------------------------------------------------------------------------*/
  1418. DEF VAR rRowId AS ROWID NO-UNDO.
  1419. DO WITH FRAME {&FRAME-NAME}:
  1420. IF NOT VUpdate THEN RETURN NO-APPLY.
  1421. Btn_Erfassen:LABEL = '&Neu'.
  1422. Btn_Aendern :LABEL = '&Aendern'.
  1423. ENABLE Btn_Loeschen.
  1424. ENABLE Btn_Zurueck.
  1425. ENABLE Btn_Verschieben.
  1426. DISABLE {&List-2}.
  1427. DISABLE {&List-3}.
  1428. VUpdate = FALSE.
  1429. VNeu = FALSE.
  1430. FGefunden = FALSE.
  1431. IF XRecid > 0 THEN DO:
  1432. FIND BAufze WHERE RECID(BAufze) = XRecid NO-LOCK.
  1433. rRowId = ROWID(bAufze).
  1434. RELEASE Aufze.
  1435. RELEASE bAufze.
  1436. RUN local-open-query.
  1437. hQuery:REPOSITION-TO-ROWID(rRowId).
  1438. RUN ANZEIGE.
  1439. END.
  1440. ELSE DO:
  1441. RUN CLEAR_BILDSCHIRM.
  1442. END.
  1443. RELEASE Aufze.
  1444. RELEASE bAufze.
  1445. APPLY 'VALUE-CHANGED' TO BROWSE {&BROWSE-NAME}.
  1446. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  1447. RETURN NO-APPLY.
  1448. END.
  1449. END PROCEDURE.
  1450. /* _UIB-CODE-BLOCK-END */
  1451. &ANALYZE-RESUME
  1452. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-row-available B-table-Win _ADM-ROW-AVAILABLE
  1453. PROCEDURE adm-row-available :
  1454. /*------------------------------------------------------------------------------
  1455. Purpose: Dispatched to this procedure when the Record-
  1456. Source has a new row available. This procedure
  1457. tries to get the new row (or foriegn keys) from
  1458. the Record-Source and process it.
  1459. Parameters: <none>
  1460. ------------------------------------------------------------------------------*/
  1461. /* Define variables needed by this internal procedure. */
  1462. {src/adm/template/row-head.i}
  1463. /* Process the newly available records (i.e. display fields,
  1464. open queries, and/or pass records on to any RECORD-TARGETS). */
  1465. {src/adm/template/row-end.i}
  1466. END PROCEDURE.
  1467. /* _UIB-CODE-BLOCK-END */
  1468. &ANALYZE-RESUME
  1469. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AENDERN B-table-Win
  1470. PROCEDURE AENDERN :
  1471. /*------------------------------------------------------------------------------
  1472. Purpose:
  1473. Parameters: <none>
  1474. Notes:
  1475. ------------------------------------------------------------------------------*/
  1476. IF NOT Vorhanden THEN RETURN.
  1477. IF NOT AVAILABLE Aufze THEN RETURN.
  1478. DO WITH FRAME {&FRAME-NAME}:
  1479. BROWSE {&BROWSE-NAME}:FETCH-SELECTED-ROW(1).
  1480. XRecid = RECID(Aufze).
  1481. EMPTY TEMP-TABLE XAufze.
  1482. CREATE XAufze.
  1483. FIND Aufze EXCLUSIVE-LOCK WHERE RECID(Aufze) = XRecid.
  1484. BUFFER-COPY Aufze TO XAufze.
  1485. FIND Aufko NO-LOCK
  1486. WHERE Aufko.Firma = Aufze.Firma
  1487. AND Aufko.Aufnr = Aufze.Aufnr.
  1488. DO WHILE XAufze.Artnr <> 0:
  1489. FIND Artst OF Aufze NO-LOCK NO-ERROR.
  1490. RUN MENGE.
  1491. IF RETURN-VALUE <> '' THEN DO:
  1492. APPLY 'ENTRY' TO {&BROWSE-NAME}.
  1493. RETURN.
  1494. END.
  1495. LEAVE.
  1496. END.
  1497. Btn_Erfassen:LABEL = '&Abbrechen'.
  1498. Btn_Aendern :LABEL = 'Speichern'.
  1499. DISABLE Btn_Loeschen.
  1500. DISABLE Btn_Zurueck.
  1501. DISABLE Btn_Verschieben.
  1502. IF XAufze.Artnr = 0 THEN DO:
  1503. ENABLE F_Bez1
  1504. F_Bez2.
  1505. RUN ANZEIGE_AUFZE ( INPUT 2 ).
  1506. F_Preis:MODIFIED = FALSE.
  1507. F_Rab_Art:MODIFIED = FALSE.
  1508. F_Rab_Wert:MODIFIED = FALSE.
  1509. APPLY 'ENTRY' TO F_Bez1.
  1510. END.
  1511. ELSE DO:
  1512. ENABLE {&List-3}.
  1513. END.
  1514. APPLY 'ENTRY' TO F_Bez1.
  1515. VUpdate = TRUE.
  1516. VNeu = FALSE.
  1517. END.
  1518. RETURN.
  1519. END PROCEDURE.
  1520. /* _UIB-CODE-BLOCK-END */
  1521. &ANALYZE-RESUME
  1522. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ANZEIGE B-table-Win
  1523. PROCEDURE ANZEIGE :
  1524. /*------------------------------------------------------------------------------
  1525. Purpose:
  1526. Parameters: <none>
  1527. Notes:
  1528. ------------------------------------------------------------------------------*/
  1529. IF FAnzeige = FALSE THEN DO:
  1530. FAnzeige = TRUE.
  1531. RETURN NO-APPLY.
  1532. END.
  1533. IF NOT AVAILABLE Aufze THEN DO:
  1534. RUN CLEAR_BILDSCHIRM.
  1535. RETURN NO-APPLY.
  1536. END.
  1537. IF Aufze.Artnr = 0 THEN DO:
  1538. RUN CLEAR_BILDSCHIRM.
  1539. END.
  1540. RUN ANZEIGE_AUFZE ( INPUT 1 ).
  1541. END PROCEDURE.
  1542. /* _UIB-CODE-BLOCK-END */
  1543. &ANALYZE-RESUME
  1544. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ANZEIGE_AUFZE B-table-Win
  1545. PROCEDURE ANZEIGE_AUFZE :
  1546. /*------------------------------------------------------------------------------
  1547. Purpose:
  1548. Parameters: <none>
  1549. Notes:
  1550. ------------------------------------------------------------------------------*/
  1551. DEF INPUT PARAMETER FArt AS INT.
  1552. F_KGebinde = ''.
  1553. F_VGebinde = ''.
  1554. F_Artnr = ''.
  1555. F_Inhalt = 0.
  1556. F_Jahr = 0.
  1557. F_Bez1 = ''.
  1558. F_Bez2 = ''.
  1559. F_Alk_Gehalt = 0.
  1560. F_MBest = 0.
  1561. F_MGeli = 0.
  1562. F_MRuek = 0.
  1563. F_Preis = 0.
  1564. F_Rab_Art = 0.
  1565. F_Rab_Wert = 0.
  1566. F_AlteNr = ''.
  1567. CASE FArt:
  1568. WHEN 1 THEN DO WITH FRAME {&FRAME-NAME}:
  1569. { v8/aufze_anzeig.i "Aufze" }
  1570. IF Aufze.Aktion THEN F_Preis:BGCOLOR = 14.
  1571. ELSE F_Preis:BGCOLOR = 15.
  1572. END.
  1573. WHEN 2 THEN DO WITH FRAME {&FRAME-NAME}:
  1574. { v8/aufze_anzeig.i "XAufze" }
  1575. IF XAufze.Aktion THEN F_Preis:BGCOLOR = 14.
  1576. ELSE F_Preis:BGCOLOR = 15.
  1577. END.
  1578. END CASE.
  1579. DISPLAY {&List-1}
  1580. {&List-3} WITH FRAME {&FRAME-NAME}.
  1581. END PROCEDURE.
  1582. /* _UIB-CODE-BLOCK-END */
  1583. &ANALYZE-RESUME
  1584. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ARTIKELNUMMER B-table-Win
  1585. PROCEDURE ARTIKELNUMMER :
  1586. /*------------------------------------------------------------------------------
  1587. Purpose:
  1588. Parameters: <none>
  1589. Notes:
  1590. ------------------------------------------------------------------------------*/
  1591. DEF VAR ARecid AS RECID NO-UNDO.
  1592. DEF VAR Anzahl AS INT NO-UNDO.
  1593. DEF VAR xWort AS CHAR NO-UNDO.
  1594. DEF VAR zWorte AS CHAR NO-UNDO.
  1595. DEF VAR yy AS INT NO-UNDO.
  1596. DEF VAR zz AS INT NO-UNDO.
  1597. DEF VAR Zahl AS INT NO-UNDO.
  1598. Zahl = 0.
  1599. Gefunden = FALSE.
  1600. Anzahl = 0.
  1601. VBez1 = ''.
  1602. VBez2 = ''.
  1603. zWorte = ''.
  1604. DO yy = 1 TO NUM-ENTRIES(FeldInhalt, ' '):
  1605. xWort = ENTRY(yy, FeldInhalt, ' ').
  1606. Zahl = INTEGER(xWort) NO-ERROR.
  1607. IF ERROR-STATUS:ERROR THEN DO:
  1608. zWorte = zWorte + (IF zWorte = '' THEN '' ELSE ' ')
  1609. + xWort.
  1610. IF yy = 1 THEN zWorte = TRIM(zWorte) + '*'.
  1611. NEXT.
  1612. END.
  1613. xWort = TRIM(STRING(Zahl,'>>>>>>>>>>>>>>>>>>9')) NO-ERROR.
  1614. IF ERROR-STATUS:ERROR THEN xWort = ENTRY(yy, FeldInhalt, ' ').
  1615. zWorte = zWorte + (IF zWorte = '' THEN '' ELSE ' ')
  1616. + xWort.
  1617. END.
  1618. zWorte = REPLACE(zWorte, '**', '*').
  1619. FOR EACH Artbez NO-LOCK
  1620. WHERE Artbez.Firma = GVFirma
  1621. AND Artbez.Sprcd = 1
  1622. AND Artbez.WortIndex CONTAINS zWorte,
  1623. FIRST BArtst NO-LOCK OF Artbez
  1624. WHERE BArtst.Aktiv = TRUE
  1625. AND BArtst.Ausverk < 9 :
  1626. Anzahl = Anzahl + 1.
  1627. IF Anzahl > 1 THEN LEAVE.
  1628. VArtnr = BArtst.Artnr.
  1629. ARecid = RECID(BArtst).
  1630. END.
  1631. IF Anzahl < 1 THEN VArtnr = -1.
  1632. IF Anzahl > 1 THEN VArtnr = -1.
  1633. IF VArtnr = -1 THEN RETURN.
  1634. FIND BArtst WHERE RECID(BArtst) = ARecid NO-LOCK NO-ERROR.
  1635. FIND Steuer WHERE Steuer.Firma = GVFirma NO-LOCK NO-ERROR.
  1636. FIND FIRST ArtBez USE-INDEX ArtBez-k1
  1637. WHERE ArtBez.Firma = BArtst.Firma
  1638. AND ArtBez.Artnr = BArtst.Artnr
  1639. AND ArtBez.Inhalt = BArtst.Inhalt
  1640. AND ArtBez.Jahr = BArtst.Jahr NO-LOCK NO-ERROR.
  1641. VInhalt = BArtst.Inhalt.
  1642. VJahr = BArtst.Jahr.
  1643. VBez1 = ArtBez.Bez1.
  1644. IF ArtBez.Bez2_Druck THEN VBez2 = ArtBez.Bez2.
  1645. Gefunden = TRUE.
  1646. RETURN.
  1647. END PROCEDURE.
  1648. /* _UIB-CODE-BLOCK-END */
  1649. &ANALYZE-RESUME
  1650. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE CLEAR_BILDSCHIRM B-table-Win
  1651. PROCEDURE CLEAR_BILDSCHIRM :
  1652. /*------------------------------------------------------------------------------
  1653. Purpose:
  1654. Parameters: <none>
  1655. Notes:
  1656. ------------------------------------------------------------------------------*/
  1657. DEF VAR Fenster AS HANDLE.
  1658. Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  1659. ASSIGN Fenster = Fenster:FIRST-CHILD.
  1660. DO WHILE VALID-HANDLE (Fenster) :
  1661. DO WHILE TRUE:
  1662. IF Fenster:HIDDEN = TRUE THEN LEAVE.
  1663. IF Fenster:TYPE = 'COMBO-BOX' THEN DO:
  1664. IF Fenster:NAME = 'CB-Fak_Art' THEN LEAVE.
  1665. Fenster:SCREEN-VALUE = ' '.
  1666. LEAVE.
  1667. END.
  1668. IF Fenster:TYPE = 'EDITOR' THEN DO:
  1669. Fenster:SCREEN-VALUE = ''.
  1670. LEAVE.
  1671. END.
  1672. IF Fenster:TYPE = 'FILL-IN' THEN DO:
  1673. IF Fenster:NAME = 'F_Aufnr' THEN LEAVE.
  1674. IF Fenster:NAME = 'F_Knr' THEN LEAVE.
  1675. IF Fenster:NAME = 'F_Anzeig_Br' THEN LEAVE.
  1676. IF Fenster:NAME = 'F_Auf_Tot' THEN LEAVE.
  1677. IF Fenster:DATA-TYPE = 'INTEGER' THEN Fenster:SCREEN-VALUE = ''.
  1678. IF Fenster:DATA-TYPE = 'DECIMAL' THEN Fenster:SCREEN-VALUE = ''.
  1679. IF Fenster:DATA-TYPE = 'CHARACTER' THEN Fenster:SCREEN-VALUE = ''.
  1680. IF Fenster:DATA-TYPE = 'LOGICAL' THEN Fenster:SCREEN-VALUE = 'no'.
  1681. IF Fenster:DATA-TYPE = 'DATE' THEN Fenster:SCREEN-VALUE = ?.
  1682. LEAVE.
  1683. END.
  1684. LEAVE.
  1685. END.
  1686. ASSIGN Fenster = Fenster:NEXT-SIBLING.
  1687. END.
  1688. END PROCEDURE.
  1689. /* _UIB-CODE-BLOCK-END */
  1690. &ANALYZE-RESUME
  1691. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI B-table-Win _DEFAULT-DISABLE
  1692. PROCEDURE disable_UI :
  1693. /*------------------------------------------------------------------------------
  1694. Purpose: DISABLE the User Interface
  1695. Parameters: <none>
  1696. Notes: Here we clean-up the user-interface by deleting
  1697. dynamic widgets we have created and/or hide
  1698. frames. This procedure is usually called when
  1699. we are ready to "clean-up" after running.
  1700. ------------------------------------------------------------------------------*/
  1701. /* Hide all frames. */
  1702. HIDE FRAME F-Main.
  1703. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  1704. END PROCEDURE.
  1705. /* _UIB-CODE-BLOCK-END */
  1706. &ANALYZE-RESUME
  1707. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDEAUFTRAG B-table-Win
  1708. PROCEDURE ENDEAUFTRAG :
  1709. /*------------------------------------------------------------------------------
  1710. Purpose:
  1711. Parameters: <none>
  1712. Notes:
  1713. ------------------------------------------------------------------------------*/
  1714. IF VUpdate THEN DO:
  1715. Ja = TRUE.
  1716. APPLY 'ENTRY' TO Btn_Erfassen IN FRAME {&FRAME-NAME}.
  1717. APPLY 'CHOOSE' TO Btn_Erfassen IN FRAME {&FRAME-NAME}.
  1718. END.
  1719. END PROCEDURE.
  1720. /* _UIB-CODE-BLOCK-END */
  1721. &ANALYZE-RESUME
  1722. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ERFASSEN B-table-Win
  1723. PROCEDURE ERFASSEN :
  1724. /*------------------------------------------------------------------------------
  1725. Purpose:
  1726. Parameters: <none>
  1727. Notes:
  1728. ------------------------------------------------------------------------------*/
  1729. DEF VAR iAufnr AS INT NO-UNDO.
  1730. DO WITH FRAME {&FRAME-NAME}:
  1731. iAufnr = INTEGER(F_Aufnr:SCREEN-VALUE).
  1732. FIND Aufko NO-LOCK
  1733. WHERE Aufko.Firma = GVFirma
  1734. AND Aufko.Aufnr = iAufnr.
  1735. XRecid = 0.
  1736. Btn_Erfassen:LABEL = '&Abbrechen'.
  1737. Btn_Aendern :LABEL = 'Speichern'.
  1738. DISABLE Btn_Loeschen.
  1739. DISABLE Btn_Zurueck.
  1740. DISABLE Btn_Verschieben.
  1741. RUN CLEAR_BILDSCHIRM.
  1742. ENABLE {&List-2}.
  1743. FGefunden = FALSE.
  1744. APPLY 'ENTRY' TO F_Artnr.
  1745. VUpdate = TRUE.
  1746. VNeu = TRUE.
  1747. RETURN NO-APPLY.
  1748. END.
  1749. END PROCEDURE.
  1750. /* _UIB-CODE-BLOCK-END */
  1751. &ANALYZE-RESUME
  1752. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FAXBESTELLUNG B-table-Win
  1753. PROCEDURE FAXBESTELLUNG :
  1754. /*------------------------------------------------------------------------------
  1755. Purpose:
  1756. Parameters: <none>
  1757. Notes:
  1758. ------------------------------------------------------------------------------*/
  1759. DEF VAR ARecid AS RECID NO-UNDO.
  1760. DEF VAR ZRecid AS RECID NO-UNDO.
  1761. DEF VAR cString AS CHAR NO-UNDO.
  1762. FOR EACH XAufze:
  1763. DELETE XAufze.
  1764. END.
  1765. FIND BAufko NO-LOCK WHERE RECID(BAufko) = KRecid.
  1766. Ablauf = 1.
  1767. LVAufnr = BAufko.Aufnr.
  1768. XVAufnr = BAufko.Aufnr.
  1769. XVKNr = BAufko.Knr.
  1770. FOR EACH KunBest USE-INDEX KunBest-k1
  1771. WHERE KunBest.Firma = BAufko.Firma
  1772. AND KunBest.Knr = BAufko.Knr
  1773. AND KunBest.Best > 0 TRANSACTION:
  1774. CREATE XAufze.
  1775. ASSIGN XAufze.Firma = GVFirma
  1776. XAufze.Aufnr = BAufko.Aufnr
  1777. XAufze.Artnr = KunBest.Artnr
  1778. XAufze.Inhalt = KunBest.Inhalt
  1779. XAufze.Jahr = KunBest.Jahr
  1780. XAufze.Verbucht = FALSE.
  1781. FIND Artst USE-INDEX Artst-k1
  1782. WHERE Artst.Firma = KunBest.Firma
  1783. AND Artst.Artnr = KunBest.Artnr
  1784. AND Artst.Inhalt = KunBest.Inhalt
  1785. AND Artst.Jahr = KunBest.Jahr NO-LOCK NO-ERROR.
  1786. FIND ArtBez USE-INDEX ArtBez-k1
  1787. WHERE ArtBez.Firma = GVFirma
  1788. AND ArtBez.Artnr = Artst.Artnr
  1789. AND ArtBez.Inhalt = Artst.Inhalt
  1790. AND ArtBez.Jahr = Artst.jahr
  1791. AND ArtBez.Sprcd = Steuer.Fwi01 NO-LOCK NO-ERROR.
  1792. IF NOT AVAILABLE ArtBez THEN DO:
  1793. FIND FIRST ArtBez USE-INDEX ArtBez-k1
  1794. WHERE ArtBez.Firma = GVFirma
  1795. AND ArtBez.Artnr = Artst.Artnr
  1796. AND ArtBez.Inhalt = Artst.Inhalt
  1797. AND ArtBez.Jahr = Artst.Jahr NO-LOCK NO-ERROR.
  1798. END.
  1799. IF AVAILABLE ArtBez THEN DO:
  1800. XAufze.Bez1 = ArtBez.Bez1.
  1801. IF ArtBez.Bez2_Druck THEN XAufze.Bez2 = ArtBez.Bez2.
  1802. END.
  1803. ASSIGN XAufze.MBest = 0
  1804. XAufze.MGeli = 0
  1805. XAufze.MRuek = 0
  1806. XAufze.MKumm = 0
  1807. XAufze.Preis = 0
  1808. XAufze.Rab_Art = BAufko.Zei_Rab_Art
  1809. XAufze.Rab_Wert = BAufko.Zei_Rab_Wert
  1810. XAufze.Rab_Betr = 0
  1811. XAufze.Zus_Art = BAufko.Zuschl_Art
  1812. XAufze.Zus_Wert = BAufko.Zuschl_Wert
  1813. XAufze.Zus_Betr = 0
  1814. XAufze.Bru_Betr = 0
  1815. XAufze.Net_Betr = 0
  1816. XAufze.WC = Artst.MWST
  1817. XAufze.Alk_Gehalt = Artst.Alk_Gehalt
  1818. XAufze.Aktion = FALSE
  1819. XAufze.Sk_Ber = Artst.Sk_Ber
  1820. XAufze.Netto = Artst.Netto
  1821. XAufze.Lager = 0
  1822. XAufze.TrNr = 0
  1823. XAufze.KGeb_Cd = Artst.KGeb_Cd
  1824. XAufze.VGeb_Cd = Artst.VGeb_Cd
  1825. XAufze.GGeb_Cd = Artst.GGeb_Cd
  1826. XAufze.KGeb_Me = KunBest.KGeb_Me
  1827. XAufze.VGeb_Me = KunBest.VGeb_Me
  1828. XAufze.GGeb_Me = KunBest.GGeb_Me
  1829. XAufze.MBest = KunBest.KGeb_Me
  1830. XAufze.MGeli = KunBest.KGeb_Me
  1831. XAufze.Aktion_Text = ''
  1832. XAufze.Rab_Su_Grp = 0
  1833. XAufze.Rab_Su_Art = 0
  1834. XAufze.Liter = 0
  1835. XAufze.Gewicht = 0
  1836. XAufze.Auf_Rab = 0
  1837. XAufze.Abh_Rab = 0
  1838. XAufze.KGebKto = ''
  1839. XAufze.VGebKto = ''
  1840. XAufze.GGebKto = ''
  1841. XAufze.EP = 0
  1842. XAufze.Lag_Buch = KunBest.Lag_Buch
  1843. XAufze.Auf_Sp_Proz_Betr = TRUE
  1844. XAufze.Auf_Sp_Wert = 0
  1845. XAufze.Auf_Sp_Rab = 0
  1846. XAufze.Auf_Sp_Grp = 0.
  1847. DO ix = 1 TO 10:
  1848. XAufze.Zustext[ix] = Artbez.Zustext[ix].
  1849. END.
  1850. FIND Wust USE-INDEX Wust-k1
  1851. WHERE Wust.CodeK = BAufko.MWST
  1852. AND Wust.CodeA = Artst.MWST NO-LOCK NO-ERROR.
  1853. XAufze.WuCd = Wust.WuCd.
  1854. XAufze.MWST_Inkl = Wust.Incl.
  1855. FIND LAST MWSTAns USE-INDEX MWSTAns-k1
  1856. WHERE MWSTAns.MWST_Cd = XAufze.WuCd
  1857. AND MWSTAns.Datum <= BAufko.Kond_Datum NO-LOCK.
  1858. XAufze.MWST% = MWSTAns.Ansatz.
  1859. LVRecid = 0.
  1860. RUN MENGE.
  1861. IF RETURN-VALUE <> '' THEN DO:
  1862. DELETE XAufze.
  1863. ASSIGN KunBest.KGeb_Me = 0
  1864. KunBest.VGeb_Me = 0
  1865. KunBest.GGeb_Me = 0
  1866. KunBest.Best = 0.
  1867. NEXT.
  1868. END.
  1869. FIND LAST BAufze USE-INDEX Aufze-k1
  1870. WHERE BAufze.Firma = GVFirma
  1871. AND BAufze.Aufnr = BAufko.Aufnr
  1872. AND (BAufze.Pos MOD 5) = 0 NO-LOCK NO-ERROR.
  1873. IF AVAILABLE BAufze THEN LVPos = BAufze.Pos + 5.
  1874. ELSE LVPos = 5.
  1875. XAufze.Pos = LVPos.
  1876. CREATE Aufze.
  1877. ZRecid = RECID(Aufze).
  1878. FIND LAST Artbw USE-INDEX Artbw-k1
  1879. WHERE Artbw.Firma = GVFirma NO-LOCK NO-ERROR.
  1880. IF AVAILABLE Artbw THEN i1 = Artbw.Trnr + 1.
  1881. ELSE i1 = 1.
  1882. CREATE Artbw.
  1883. ASSIGN Artbw.Firma = GVFirma
  1884. Artbw.Trnr = i1
  1885. Artbw.Tr_Art = 01
  1886. XAufze.Trnr = Artbw.Trnr.
  1887. ARecid = RECID(Artst).
  1888. FIND Artst WHERE RECID(Artst) = ARecid.
  1889. BUFFER-COPY XAufze TO Aufze.
  1890. IF XAufze.Lag_Buch THEN DO:
  1891. FIND ArtLager USE-INDEX ArtLager-k1
  1892. WHERE ArtLager.Firma = Aufze.Firma
  1893. AND ArtLager.Artnr = Aufze.Artnr
  1894. AND ArtLager.Inhalt = Aufze.Inhalt
  1895. AND ArtLager.Jahr = Aufze.Jahr
  1896. AND ArtLager.Lager = Aufze.Lager NO-ERROR.
  1897. IF NOT AVAILABLE ArtLager THEN DO:
  1898. CREATE ArtLager.
  1899. ASSIGN ArtLager.Firma = Aufze.Firma
  1900. ArtLager.Artnr = Aufze.Artnr
  1901. ArtLager.Inhalt = Aufze.Inhalt
  1902. ArtLager.Jahr = Aufze.Jahr
  1903. ArtLager.Lager = Aufze.Lager.
  1904. END.
  1905. ASSIGN ArtLager.Ausgang = ArtLager.Ausgang + Aufze.MGeli
  1906. ArtLager.Bestand = ArtLager.Bestand - Aufze.MGeli.
  1907. END.
  1908. RUN GEBINDE_KONTO ( INPUT 1 ).
  1909. RUN SUMMEN_GRUPPE ( INPUT 1 ).
  1910. DO WHILE Aufze.EP = 0:
  1911. IF Artst.DEP <> 0 THEN DO:
  1912. Aufze.EP = Artst.DEP.
  1913. LEAVE.
  1914. END.
  1915. IF Artst.LEP <> 0 THEN DO:
  1916. Aufze.EP = Artst.LEP.
  1917. LEAVE.
  1918. END.
  1919. IF Artst.Listen_EP <> 0 THEN DO:
  1920. Aufze.EP = Artst.Listen_EP.
  1921. LEAVE.
  1922. END.
  1923. LEAVE.
  1924. END.
  1925. RELEASE ArtLager.
  1926. RELEASE Artst.
  1927. IF AVAILABLE Artbw THEN DO:
  1928. { v8/artbw_aufze.i "Artbw" }
  1929. END.
  1930. ASSIGN KunBest.KGeb_Me = 0
  1931. KunBest.VGeb_Me = 0
  1932. KunBest.GGeb_Me = 0
  1933. KunBest.Best = 0.
  1934. RELEASE Aufze.
  1935. DELETE XAufze.
  1936. END.
  1937. REPEAT TRANSACTION:
  1938. FIND BAufko WHERE RECID(BAufko) = KRecid.
  1939. BAufko.Gedruckt = FALSE.
  1940. DO WHILE TRUE:
  1941. IF BAufko.Auf_Sta <> 4 THEN LEAVE. /* nicht Sammelrechnung */
  1942. IF BAufko.Samm_Nr = 0 THEN LEAVE.
  1943. FIND Tabel USE-INDEX Tabel-k1
  1944. WHERE Tabel.Firma = GVFirma
  1945. AND Tabel.RecArt = 'FAKART'
  1946. AND Tabel.CodeC = ''
  1947. AND Tabel.CodeI = BAufko.Fak_Art
  1948. AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR.
  1949. FOR EACH YAufko USE-INDEX Aufko-k4
  1950. WHERE YAufko.Firma = BAufko.Firma
  1951. AND YAufko.Knr = BAufko.Knr
  1952. AND YAufko.Fak_Art = BAufko.Fak_Art
  1953. AND YAufko.Samm_Nr = BAufko.Samm_Nr .
  1954. YAufko.Gedruckt = FALSE.
  1955. IF Tabel.Int_2 = YAufko.Auf_Sta THEN YAufko.Auf_Sta = YAufko.Auf_Sta - 1.
  1956. END.
  1957. LEAVE.
  1958. END.
  1959. RELEASE BAufko.
  1960. RELEASE YAufko.
  1961. LEAVE.
  1962. END.
  1963. RUN AUFTRAGSTOTAL ( LVAufnr, OUTPUT cString ).
  1964. Ablauf = 0.
  1965. RETURN.
  1966. END PROCEDURE.
  1967. /* _UIB-CODE-BLOCK-END */
  1968. &ANALYZE-RESUME
  1969. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE GEBINDEKONTI_ERMITTELN B-table-Win
  1970. PROCEDURE GEBINDEKONTI_ERMITTELN :
  1971. /*------------------------------------------------------------------------------
  1972. Purpose:
  1973. Parameters: <none>
  1974. Notes:
  1975. ------------------------------------------------------------------------------*/
  1976. FIND GGebinde WHERE GGebinde.Firma = GVFirma
  1977. AND GGebinde.Geb_Cd = XAufze.GGeb_Cd NO-LOCK NO-ERROR.
  1978. DO WHILE TRUE:
  1979. IF NOT AVAILABLE GGebinde THEN DO:
  1980. RUN FEHLER ( INPUT 332 ).
  1981. RETURN 'FEHLER'.
  1982. END.
  1983. IF GGebinde.Geb_Kto = '' THEN LEAVE.
  1984. FIND GebKonto USE-INDEX GebKonto-k1
  1985. WHERE GebKonto.Firma = GVFirma
  1986. AND GebKonto.Geb_Cd = GGebinde.Geb_Kto NO-LOCK NO-ERROR.
  1987. IF NOT AVAILABLE GebKonto THEN DO:
  1988. RUN FEHLER ( INPUT 333 ).
  1989. RETURN 'FEHLER'.
  1990. END.
  1991. XAufze.GGebKto = GebKonto.Geb_Cd.
  1992. LEAVE.
  1993. END.
  1994. FIND VGebinde WHERE VGebinde.Firma = GVFirma
  1995. AND VGebinde.Geb_Cd = XAufze.VGeb_Cd NO-LOCK NO-ERROR.
  1996. DO WHILE TRUE:
  1997. IF NOT AVAILABLE VGebinde THEN DO:
  1998. RUN FEHLER ( INPUT 336 ).
  1999. RETURN 'FEHLER'.
  2000. END.
  2001. IF VGebinde.Geb_Kto = '' THEN LEAVE.
  2002. FIND GebKonto USE-INDEX GebKonto-k1
  2003. WHERE GebKonto.Firma = GVFirma
  2004. AND GebKonto.Geb_Cd = VGebinde.Geb_Kto NO-LOCK NO-ERROR.
  2005. IF NOT AVAILABLE GebKonto THEN DO:
  2006. RUN FEHLER ( INPUT 337 ).
  2007. RETURN 'FEHLER'.
  2008. END.
  2009. XAufze.VGebKto = GebKonto.Geb_Cd.
  2010. LEAVE.
  2011. END.
  2012. FIND KGebinde WHERE KGebinde.Firma = GVFirma
  2013. AND KGebinde.Geb_Cd = XAufze.KGeb_Cd NO-LOCK NO-ERROR.
  2014. DO WHILE TRUE:
  2015. IF NOT AVAILABLE KGebinde THEN DO:
  2016. RUN FEHLER ( INPUT 338 ).
  2017. RETURN 'FEHLER'.
  2018. END.
  2019. IF KGebinde.Geb_Kto = '' THEN LEAVE.
  2020. FIND GebKonto USE-INDEX GebKonto-k1
  2021. WHERE GebKonto.Firma = GVFirma
  2022. AND GebKonto.Geb_Cd = KGebinde.Geb_Kto NO-LOCK NO-ERROR.
  2023. IF NOT AVAILABLE GebKonto THEN DO:
  2024. RUN FEHLER ( INPUT 1078 ).
  2025. RETURN 'FEHLER'.
  2026. END.
  2027. XAufze.KGebKto = GebKonto.Geb_Cd.
  2028. LEAVE.
  2029. END.
  2030. RETURN ''.
  2031. END PROCEDURE.
  2032. /* _UIB-CODE-BLOCK-END */
  2033. &ANALYZE-RESUME
  2034. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE GEBINDE_KONTO B-table-Win
  2035. PROCEDURE GEBINDE_KONTO :
  2036. /*------------------------------------------------------------------------------
  2037. Purpose:
  2038. Parameters: <none>
  2039. Notes:
  2040. ------------------------------------------------------------------------------*/
  2041. DEF VAR MW AS INT.
  2042. DEF INPUT PARAMETER Art AS INT.
  2043. DO WHILE Aufze.KGebKto <> '':
  2044. IF Aufze.KGeb_Me = 0 THEN LEAVE.
  2045. FIND GebKonto USE-INDEX GebKonto-k1
  2046. WHERE GebKonto.Firma = Aufze.Firma
  2047. AND GebKonto.Geb_Cd = Aufze.KGebKto NO-LOCK.
  2048. IF GebKonto.MWST_Art = 0 THEN MW = 11.
  2049. IF GebKonto.MWST_Art = 1 THEN MW = Aufze.WuCd.
  2050. IF GebKonto.MWST_Art = 2 THEN MW = GebKonto.MWST_Cd.
  2051. FIND AufGKon USE-INDEX AufGKon-k1
  2052. WHERE AufGKon.Firma = Aufze.Firma
  2053. AND AufGKon.Aufnr = Aufze.Aufnr
  2054. AND AufGKon.Geb_Cd = GebKonto.Geb_Cd
  2055. AND AufGKon.MWSt_Cd = MW NO-ERROR.
  2056. IF NOT AVAILABLE AufGKon THEN DO:
  2057. CREATE AufGKon.
  2058. ASSIGN AufGKon.Firma = Aufze.Firma
  2059. AufGKon.Aufnr = Aufze.Aufnr
  2060. AufGKon.Geb_Cd = GebKonto.Geb_Cd
  2061. AufGKon.MWSt_Cd = MW
  2062. AufGKon.Gebuehr = GebKonto.Gebuehr
  2063. AufGKon.Depot = GebKonto.Depot
  2064. AufGKon.Sort_Cd = GebKonto.Sort_Cd.
  2065. END.
  2066. DO WHILE TRUE:
  2067. IF NOT Geb_Rg THEN LEAVE.
  2068. IF Aufze.Preis = 0 AND
  2069. AufGKon.Gebuehr <> 0 THEN LEAVE.
  2070. IF Art = 1 THEN AufGKon.Ausgang = AufGKon.Ausgang + Aufze.KGeb_Me.
  2071. IF Art = 2 THEN AufGKon.Ausgang = AufGKon.Ausgang - Aufze.KGeb_Me.
  2072. AufGKon.Betrag = (AufGKon.Ausgang - AufGKon.Eingang)
  2073. * (AufGKon.Depot + AufGKon.Gebuehr).
  2074. LEAVE.
  2075. END.
  2076. LEAVE.
  2077. END.
  2078. DO WHILE Aufze.VGebKto <> '':
  2079. IF Aufze.VGeb_Me = 0 THEN LEAVE.
  2080. FIND GebKonto USE-INDEX GebKonto-k1
  2081. WHERE GebKonto.Firma = Aufze.Firma
  2082. AND GebKonto.Geb_Cd = Aufze.VGebKto NO-LOCK.
  2083. IF GebKonto.MWST_Art = 0 THEN MW = 11.
  2084. IF GebKonto.MWST_Art = 1 THEN MW = Aufze.WuCd.
  2085. IF GebKonto.MWST_Art = 2 THEN MW = GebKonto.MWST_Cd.
  2086. FIND AufGKon USE-INDEX AufGKon-k1
  2087. WHERE AufGKon.Firma = Aufze.Firma
  2088. AND AufGKon.Aufnr = Aufze.Aufnr
  2089. AND AufGKon.Geb_Cd = GebKonto.Geb_Cd
  2090. AND AufGKon.MWSt_Cd = MW NO-ERROR.
  2091. IF NOT AVAILABLE AufGKon THEN DO:
  2092. CREATE AufGKon.
  2093. ASSIGN AufGKon.Firma = Aufze.Firma
  2094. AufGKon.Aufnr = Aufze.Aufnr
  2095. AufGKon.Geb_Cd = GebKonto.Geb_Cd
  2096. AufGKon.MWSt_Cd = MW
  2097. AufGKon.Gebuehr = GebKonto.Gebuehr
  2098. AufGKon.Depot = GebKonto.Depot
  2099. AufGKon.Sort_Cd = GebKonto.Sort_Cd.
  2100. END.
  2101. DO WHILE TRUE:
  2102. IF NOT Geb_Rg THEN LEAVE.
  2103. IF Aufze.Preis = 0 AND
  2104. AufGKon.Gebuehr <> 0 THEN LEAVE.
  2105. IF Art = 1 THEN AufGKon.Ausgang = AufGKon.Ausgang + Aufze.VGeb_Me.
  2106. IF Art = 2 THEN AufGKon.Ausgang = AufGKon.Ausgang - Aufze.VGeb_Me.
  2107. AufGKon.Betrag = (AufGKon.Ausgang - AufGKon.Eingang)
  2108. * (AufGKon.Depot + AufGKon.Gebuehr).
  2109. LEAVE.
  2110. END.
  2111. LEAVE.
  2112. END.
  2113. DO WHILE Aufze.GGebKto <> '':
  2114. IF Aufze.GGeb_Me = 0 THEN LEAVE.
  2115. FIND GebKonto USE-INDEX GebKonto-k1
  2116. WHERE GebKonto.Firma = Aufze.Firma
  2117. AND GebKonto.Geb_Cd = Aufze.GGebKto NO-LOCK.
  2118. IF GebKonto.MWST_Art = 0 THEN MW = 11.
  2119. IF GebKonto.MWST_Art = 1 THEN MW = Aufze.WuCd.
  2120. IF GebKonto.MWST_Art = 2 THEN MW = GebKonto.MWST_Cd.
  2121. FIND AufGKon USE-INDEX AufGKon-k1
  2122. WHERE AufGKon.Firma = Aufze.Firma
  2123. AND AufGKon.Aufnr = Aufze.Aufnr
  2124. AND AufGKon.Geb_Cd = GebKonto.Geb_Cd
  2125. AND AufGKon.MWSt_Cd = MW NO-ERROR.
  2126. IF NOT AVAILABLE AufGKon THEN DO:
  2127. CREATE AufGKon.
  2128. ASSIGN AufGKon.Firma = Aufze.Firma
  2129. AufGKon.Aufnr = Aufze.Aufnr
  2130. AufGKon.Geb_Cd = GebKonto.Geb_Cd
  2131. AufGKon.MWSt_Cd = MW
  2132. AufGKon.Gebuehr = GebKonto.Gebuehr
  2133. AufGKon.Depot = GebKonto.Depot
  2134. AufGKon.Sort_Cd = GebKonto.Sort_Cd.
  2135. END.
  2136. DO WHILE TRUE:
  2137. IF NOT Geb_Rg THEN LEAVE.
  2138. IF Aufze.Preis = 0 AND
  2139. AufGKon.Gebuehr <> 0 THEN LEAVE.
  2140. IF Art = 1 THEN AufGKon.Ausgang = AufGKon.Ausgang + Aufze.GGeb_Me.
  2141. IF Art = 2 THEN AufGKon.Ausgang = AufGKon.Ausgang - Aufze.GGeb_Me.
  2142. AufGKon.Betrag = (AufGKon.Ausgang - AufGKon.Eingang)
  2143. * (AufGKon.Depot + AufGKon.Gebuehr).
  2144. LEAVE.
  2145. END.
  2146. LEAVE.
  2147. END.
  2148. RETURN.
  2149. END PROCEDURE.
  2150. /* _UIB-CODE-BLOCK-END */
  2151. &ANALYZE-RESUME
  2152. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE GEFUNDEN B-table-Win
  2153. PROCEDURE GEFUNDEN :
  2154. /*------------------------------------------------------------------------------
  2155. Purpose:
  2156. Parameters: <none>
  2157. Notes:
  2158. ------------------------------------------------------------------------------*/
  2159. VArtnr = Linknr.
  2160. FeldInhalt = Linktext.
  2161. Linktext = ''.
  2162. Linknr = 0.
  2163. FGefunden = TRUE.
  2164. DO WITH FRAME {&FRAME-NAME}:
  2165. F_Artnr = STRING(AVArtnr).
  2166. F_Inhalt = AVInhalt.
  2167. F_Jahr = AVJahr.
  2168. F_Artnr:SCREEN-VALUE = STRING(AVArtnr).
  2169. FIND Artst USE-INDEX Artst-k1
  2170. WHERE Artst.Firma = GVFirma
  2171. AND Artst.Artnr = AVArtnr
  2172. AND Artst.Inhalt = AVInhalt
  2173. AND Artst.Jahr = AVJahr NO-LOCK NO-ERROR.
  2174. IF AVAILABLE Artst THEN DO:
  2175. FIND Steuer WHERE Steuer.Firma = GVFirma NO-LOCK.
  2176. FIND Artbez USE-INDEX Artbez-k1
  2177. WHERE Artbez.Firma = GVFirma
  2178. AND Artbez.Artnr = AVArtnr
  2179. AND Artbez.Inhalt = AVInhalt
  2180. AND Artbez.Jahr = AVJahr
  2181. AND Artbez.Sprcd = Steuer.Fwi01 NO-LOCK NO-ERROR.
  2182. IF NOT AVAILABLE ArtBez THEN DO:
  2183. FIND FIRST ArtBez USE-INDEX ArtBez-k1
  2184. WHERE ArtBez.Firma = GVFirma
  2185. AND ArtBez.Artnr = AVArtnr
  2186. AND ArtBez.Inhalt = AVInhalt
  2187. AND ArtBez.Jahr = AVJahr NO-LOCK NO-ERROR.
  2188. END.
  2189. END.
  2190. IF AVAILABLE Artbez THEN DO:
  2191. F_Bez1 = Artbez.Bez1.
  2192. IF Artbez.Bez2_Druck THEN F_Bez2 = Artbez.Bez2.
  2193. END.
  2194. DISPLAY {&List-1}.
  2195. APPLY 'LEAVE' TO F_Artnr.
  2196. Gefunden = FALSE.
  2197. APPLY 'LEAVE' TO F_Jahr.
  2198. RETURN NO-APPLY.
  2199. END.
  2200. END PROCEDURE.
  2201. /* _UIB-CODE-BLOCK-END */
  2202. &ANALYZE-RESUME
  2203. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-destroy B-table-Win
  2204. PROCEDURE local-destroy :
  2205. /*------------------------------------------------------------------------------
  2206. Purpose: Override standard ADM method
  2207. Notes:
  2208. ------------------------------------------------------------------------------*/
  2209. DEF VAR hBrowser AS HANDLE NO-UNDO.
  2210. DEF VAR Sektion AS CHAR NO-UNDO.
  2211. Sektion = ENTRY(1, THIS-PROCEDURE:NAME, '.').
  2212. hBrowser = {&BROWSE-NAME}:HANDLE IN FRAME {&FRAME-NAME}.
  2213. DYNAMIC-FUNCTION('setBrowserDaten':U, INPUT hBrowser,
  2214. INPUT Sektion ) NO-ERROR.
  2215. RUN dispatch IN THIS-PROCEDURE ( INPUT 'destroy':U ) .
  2216. /* Code placed here will execute AFTER standard behavior. */
  2217. END PROCEDURE.
  2218. /* _UIB-CODE-BLOCK-END */
  2219. &ANALYZE-RESUME
  2220. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-hide B-table-Win
  2221. PROCEDURE local-hide :
  2222. /*------------------------------------------------------------------------------
  2223. Purpose: Override standard ADM method
  2224. Notes:
  2225. ------------------------------------------------------------------------------*/
  2226. IF VUpdate THEN DO:
  2227. APPLY 'ENTRY' TO Btn_Erfassen IN FRAME {&FRAME-NAME}.
  2228. APPLY 'CHOOSE' TO Btn_Erfassen IN FRAME {&FRAME-NAME}.
  2229. END.
  2230. RUN dispatch IN THIS-PROCEDURE ( INPUT 'hide':U ) .
  2231. END PROCEDURE.
  2232. /* _UIB-CODE-BLOCK-END */
  2233. &ANALYZE-RESUME
  2234. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-initialize B-table-Win
  2235. PROCEDURE local-initialize :
  2236. /*------------------------------------------------------------------------------
  2237. Purpose: Override standard ADM method
  2238. Notes:
  2239. ------------------------------------------------------------------------------*/
  2240. DEF VAR Sektion AS CHAR NO-UNDO.
  2241. DEF VAR hBrowser AS HANDLE NO-UNDO.
  2242. DEF VAR hTBrowser AS HANDLE NO-UNDO.
  2243. DEF VAR hMenu AS HANDLE NO-UNDO.
  2244. DEF VAR hItem_Filter AS HANDLE NO-UNDO.
  2245. DEF VAR hItem_Excel AS HANDLE NO-UNDO.
  2246. DEF VAR hItem_zurueck AS HANDLE NO-UNDO.
  2247. DEF VAR hItem_sort AS HANDLE NO-UNDO.
  2248. DEF VAR hItem_move AS HANDLE NO-UNDO.
  2249. DEF VAR hItem_Rule AS HANDLE NO-UNDO.
  2250. Sektion = ENTRY(1, THIS-PROCEDURE:NAME, '.').
  2251. RUN dispatch IN THIS-PROCEDURE ( INPUT 'initialize':U ) .
  2252. hDaten = DYNAMIC-FUNCTION('getDataSource':U) NO-ERROR.
  2253. hFenster = DYNAMIC-FUNCTION('getContainerSource':U) NO-ERROR.
  2254. IF VALID-HANDLE(hFenster)
  2255. THEN Progname = DYNAMIC-FUNCTION('getProgname':U, INPUT hFenster ) NO-ERROR.
  2256. EMPTY TEMP-TABLE TBrowser.
  2257. hTBrowser = TEMP-TABLE TBrowser:DEFAULT-BUFFER-HANDLE.
  2258. hBrowser = {&BROWSE-NAME}:HANDLE IN FRAME {&FRAME-NAME}.
  2259. hBrowser:COLUMN-MOVABLE = TRUE.
  2260. CREATE MENU hMenu
  2261. ASSIGN POPUP-ONLY = TRUE
  2262. TITLE = 'Browser Menu'.
  2263. CREATE MENU-ITEM hItem_Excel
  2264. ASSIGN LABEL = 'Export in Excel'
  2265. NAME = 'm_excel'
  2266. PARENT = hMenu.
  2267. CREATE MENU-ITEM hItem_Filter
  2268. ASSIGN LABEL = 'Filter setzen'
  2269. NAME = 'm_filter'
  2270. PARENT = hMenu.
  2271. CREATE MENU-ITEM hItem_Rule
  2272. ASSIGN SUBTYPE = 'RULE':U
  2273. PARENT = hMenu.
  2274. CREATE MENU-ITEM hItem_zurueck
  2275. ASSIGN LABEL = 'Spalten und Breite zurücksetzen'
  2276. NAME = 'm_zurueck'
  2277. PARENT = hMenu.
  2278. CREATE MENU-ITEM hItem_Rule
  2279. ASSIGN SUBTYPE = 'RULE':U
  2280. PARENT = hMenu.
  2281. CREATE MENU-ITEM hItem_sort
  2282. ASSIGN LABEL = 'Spalten sortierbar'
  2283. NAME = 'm_zurueck'
  2284. TOGGLE-BOX = TRUE
  2285. CHECKED = FALSE
  2286. PARENT = hMenu.
  2287. CREATE MENU-ITEM hItem_move
  2288. ASSIGN LABEL = 'Spalten verschiebbar'
  2289. NAME = 'm_move'
  2290. TOGGLE-BOX = TRUE
  2291. CHECKED = TRUE
  2292. PARENT = hMenu.
  2293. hBrowser:POPUP-MENU = hMenu NO-ERROR.
  2294. ON CHOOSE OF hItem_Filter PERSISTENT RUN FILTER_SETZEN IN TARGET-PROCEDURE.
  2295. ON CHOOSE OF hItem_Excel PERSISTENT RUN EXPORT_EXCEL IN TARGET-PROCEDURE.
  2296. ON CHOOSE OF hItem_zurueck PERSISTENT RUN ZURUECKSETZEN IN TARGET-PROCEDURE.
  2297. ON VALUE-CHANGED OF hItem_sort
  2298. PERSISTENT RUN SORTIERBAR IN TARGET-PROCEDURE ( hItem_sort, hItem_move ).
  2299. ON VALUE-CHANGED OF hItem_move
  2300. PERSISTENT RUN VERSCHIEBBAR IN TARGET-PROCEDURE ( hItem_move, hItem_sort ).
  2301. hBrowser = {&BROWSE-NAME}:HANDLE IN FRAME {&FRAME-NAME}.
  2302. DYNAMIC-FUNCTION('getBrowserDaten':U, INPUT hTBrowser,
  2303. INPUT hBrowser,
  2304. INPUT Sektion ) NO-ERROR.
  2305. hQuery = BROWSE {&BROWSE-NAME}:QUERY.
  2306. END PROCEDURE.
  2307. /* _UIB-CODE-BLOCK-END */
  2308. &ANALYZE-RESUME
  2309. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-open-query B-table-Win
  2310. PROCEDURE local-open-query :
  2311. /*------------------------------------------------------------------------------
  2312. Purpose: Override standard ADM method
  2313. Notes:
  2314. ------------------------------------------------------------------------------*/
  2315. Vorhanden = FALSE.
  2316. FIND Aufko NO-LOCK WHERE RECID(Aufko) = KRecid NO-ERROR.
  2317. RUN dispatch IN THIS-PROCEDURE ( INPUT 'open-query':U ) .
  2318. DO WHILE TRUE:
  2319. IF NUM-RESULTS("{&BROWSE-NAME}":U) = ? THEN LEAVE.
  2320. IF NUM-RESULTS("{&BROWSE-NAME}":U) = 0 THEN LEAVE.
  2321. Vorhanden = TRUE.
  2322. LEAVE.
  2323. END.
  2324. RELEASE Aufko.
  2325. END PROCEDURE.
  2326. /* _UIB-CODE-BLOCK-END */
  2327. &ANALYZE-RESUME
  2328. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-view B-table-Win
  2329. PROCEDURE local-view :
  2330. /*------------------------------------------------------------------------------
  2331. Purpose: Override standard ADM method
  2332. Notes:
  2333. ------------------------------------------------------------------------------*/
  2334. RUN CLEAR_BILDSCHIRM.
  2335. FIND Steuer WHERE Steuer.Firma = GVFirma NO-LOCK NO-ERROR.
  2336. IF XVAufnr = 0 THEN DO:
  2337. RUN new-state ( INPUT 'seite_1':U ).
  2338. RETURN NO-APPLY.
  2339. END.
  2340. FIND Aufko NO-LOCK
  2341. WHERE Aufko.Firma = GVFirma
  2342. AND Aufko.Aufnr = XVAufnr NO-ERROR.
  2343. IF NOT AVAILABLE Aufko THEN DO:
  2344. RUN new-state ( INPUT 'seite_1':U ).
  2345. RETURN NO-APPLY.
  2346. END.
  2347. RUN dispatch IN THIS-PROCEDURE ( INPUT 'view':U ) .
  2348. KRecid = RECID(Aufko).
  2349. fAdmin = DYNAMIC-FUNCTION('getAdmin':U) NO-ERROR.
  2350. FIND Adresse USE-INDEX Adresse-k1
  2351. WHERE Adresse.Firma = AdFirma
  2352. AND Adresse.Knr = Aufko.Knr NO-LOCK.
  2353. F_Aufnr = Aufko.Aufnr.
  2354. F_Knr = Aufko.Knr.
  2355. F_Anzeig_Br = Adresse.Anzeig_Br.
  2356. F_Auf_Tot = Aufko.Auf_Tot.
  2357. DISPLAY {&List-6} WITH FRAME {&FRAME-NAME}.
  2358. FIND Debst USE-INDEX Debst-k1
  2359. WHERE Debst.Firma = GVFirma
  2360. AND Debst.Knr = Aufko.Knr NO-LOCK.
  2361. AktCode = Debst.Verband_Grp.
  2362. Geb_Rg = Aufko.GG_Berech.
  2363. KLim = Debst.Kred_Lim.
  2364. Saldo = Debst.Saldo.
  2365. FIND FIRST KunBest USE-INDEX KunBest-k1
  2366. WHERE KunBest.Firma = Aufko.Firma
  2367. AND KunBest.Knr = Aufko.Knr NO-LOCK NO-ERROR.
  2368. DO WHILE AVAILABLE KunBest:
  2369. FIND FIRST Aufze OF Aufko NO-LOCK NO-ERROR.
  2370. IF AVAILABLE Aufze THEN LEAVE.
  2371. Ja = FALSE.
  2372. { v8/antwort.i "0315" }
  2373. IF NOT Ja THEN LEAVE.
  2374. RUN "v8/d-faxbestellung.w".
  2375. RUN FAXBESTELLUNG.
  2376. LEAVE.
  2377. END.
  2378. RUN dispatch IN THIS-PROCEDURE ('open-query':U).
  2379. APPLY 'VALUE-CHANGED' TO BROWSE {&BROWSE-NAME}.
  2380. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  2381. END PROCEDURE.
  2382. /* _UIB-CODE-BLOCK-END */
  2383. &ANALYZE-RESUME
  2384. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LOESCHEN B-table-Win
  2385. PROCEDURE LOESCHEN :
  2386. /*------------------------------------------------------------------------------
  2387. Purpose:
  2388. Parameters: <none>
  2389. Notes:
  2390. ------------------------------------------------------------------------------*/
  2391. DEF VAR ZRecid AS RECID NO-UNDO.
  2392. DEF VAR DRecid AS RECID NO-UNDO.
  2393. DEF VAR DRowid AS ROWID NO-UNDO.
  2394. DEF VAR DPos AS INT NO-UNDO.
  2395. DEF VAR cString AS CHAR NO-UNDO.
  2396. DEF VAR cMeldung AS CHAR NO-UNDO.
  2397. DEF VAR lJa AS LOG NO-UNDO.
  2398. DISABLE TRIGGERS FOR LOAD OF Aufko.
  2399. DISABLE TRIGGERS FOR LOAD OF Aufze.
  2400. DO WITH FRAME {&FRAME-NAME}:
  2401. IF NOT AVAILABLE Aufze THEN RETURN NO-APPLY.
  2402. IF VUpdate THEN RETURN NO-APPLY.
  2403. FIND BAufko NO-LOCK WHERE RECID(BAufko) = KRecid.
  2404. IF BAufko.Auf_Sta >= 03 AND
  2405. BAufko.Auf_Sta <= 05 AND
  2406. BAufko.Gedruckt AND
  2407. NOT cBenutzer BEGINS 'Brä' AND
  2408. NOT fAdmin THEN DO:
  2409. MESSAGE 'Auftrag darf nicht mehr gelöscht werden' SKIP
  2410. 'Bitte Administrator fragen! ' VIEW-AS ALERT-BOX INFORMATION.
  2411. RELEASE BAufko.
  2412. RETURN NO-APPLY.
  2413. END.
  2414. lJa = TRUE.
  2415. FIND FIRST RuestAuf NO-LOCK
  2416. WHERE RuestAuf.Firma = bAufko.Firma
  2417. AND RuestAuf.Aufnr = bAufko.Aufnr NO-ERROR.
  2418. DO WHILE AVAILABLE RuestAuf:
  2419. FIND FIRST RuestAuf NO-LOCK
  2420. WHERE RuestAuf.Firma = bAufko.Firma
  2421. AND RuestAuf.Aufnr = bAufko.Aufnr
  2422. AND RuestAuf.Artnr = Aufze.Artnr
  2423. AND RuestAuf.Inhalt = Aufze.Inhalt
  2424. AND RuestAuf.Jahr = Aufze.Jahr NO-ERROR.
  2425. IF NOT AVAILABLE RuestAuf THEN LEAVE.
  2426. lJa = FALSE.
  2427. IF RuestAuf.lGeruestet THEN DO:
  2428. cMeldung = 'Achtung!!! Artikel ist bereits gerüstet!!!'
  2429. + CHR(10)
  2430. + 'Unbedingt im Lager melden, dass der Artikel wieder zurück muss!'
  2431. + CHR(10)
  2432. + 'Trotzdem löschen?'.
  2433. MESSAGE cMeldung VIEW-AS ALERT-BOX QUESTION
  2434. BUTTONS YES-NO
  2435. UPDATE lJa.
  2436. LEAVE.
  2437. END.
  2438. IF RuestAuf.lRSGedruckt THEN DO:
  2439. cMeldung = 'Achtung!!! Rüstschein neu Drucken!'
  2440. + CHR(10)
  2441. + 'Meldung an Lager, dass der Alte vernichtet werden soll'.
  2442. MESSAGE cMeldung VIEW-AS ALERT-BOX.
  2443. END.
  2444. lJa = TRUE.
  2445. LEAVE.
  2446. END.
  2447. IF NOT lJa THEN DO:
  2448. RELEASE bAufko.
  2449. RETURN NO-APPLY.
  2450. END.
  2451. Ja = FALSE.
  2452. { v8/loeschen.i }
  2453. IF NOT Ja THEN RETURN NO-APPLY.
  2454. REPEAT TRANSACTION:
  2455. ZRecid = RECID(Aufze).
  2456. FIND Aufze WHERE RECID(Aufze) = ZRecid.
  2457. FIND BAufko WHERE RECID(BAufko) = KRecid.
  2458. DPos = Aufze.Pos.
  2459. IF Aufze.Artnr = 0 THEN DO:
  2460. DELETE Aufze.
  2461. LEAVE.
  2462. END.
  2463. FIND Artst OF Aufze.
  2464. IF Aufze.Lag_Buch THEN DO:
  2465. FIND ArtLager USE-INDEX ArtLager-k1
  2466. WHERE ArtLager.Firma = Aufze.Firma
  2467. AND ArtLager.Artnr = Aufze.Artnr
  2468. AND ArtLager.Inhalt = Aufze.Inhalt
  2469. AND ArtLager.Jahr = Aufze.Jahr
  2470. AND ArtLager.Lager = Aufze.Lager.
  2471. ASSIGN ArtLager.Ausgang = ArtLager.Ausgang - Aufze.MGeli
  2472. ArtLager.Bestand = ArtLager.Bestand + Aufze.MGeli.
  2473. RELEASE ArtLager.
  2474. END.
  2475. FIND Artbw USE-INDEX Artbw-k1
  2476. WHERE Artbw.Firma = Aufze.Firma
  2477. AND Artbw.Trnr = Aufze.Trnr NO-ERROR.
  2478. IF AVAILABLE Artbw THEN DO:
  2479. DELETE Artbw.
  2480. END.
  2481. FIND FIRST RuestAuf
  2482. WHERE RuestAuf.Firma = bAufko.Firma
  2483. AND RuestAuf.Aufnr = bAufko.Aufnr
  2484. AND RuestAuf.Artnr = Aufze.Artnr
  2485. AND RuestAuf.Inhalt = Aufze.Inhalt
  2486. AND RuestAuf.Jahr = Aufze.Jahr NO-ERROR.
  2487. IF AVAILABLE RuestAuf THEN DELETE RuestAuf.
  2488. RELEASE RuestAuf.
  2489. RUN GEBINDE_KONTO ( INPUT 2 ).
  2490. RUN SUMMEN_GRUPPE ( INPUT 2 ).
  2491. DELETE Aufze.
  2492. RELEASE Aufze.
  2493. RUN SAMMFAKMUT ( INPUT KRecid ).
  2494. RELEASE Artst.
  2495. RELEASE BAufko.
  2496. LEAVE.
  2497. END.
  2498. FIND BAufko WHERE RECID(BAufko) = KRecid NO-LOCK.
  2499. RUN AUFTRAGSTOTAL ( BAufko.Aufnr, OUTPUT cString ) NO-ERROR.
  2500. FIND BAufko WHERE RECID(BAufko) = KRecid NO-LOCK.
  2501. /* DRecid = 0. */
  2502. /* FIND FIRST BAufze USE-INDEX Aufze-k1 */
  2503. /* WHERE BAufze.Firma = BAufko.Firma */
  2504. /* AND BAufze.Aufnr = BAufko.Aufnr */
  2505. /* AND BAufze.Pos >= DPos NO-LOCK NO-ERROR. */
  2506. /* IF NOT AVAILABLE BAufze THEN DO: */
  2507. /* FIND LAST BAufze USE-INDEX Aufze-k1 */
  2508. /* WHERE BAufze.Firma = BAufko.Firma */
  2509. /* AND BAufze.Aufnr = BAufko.Aufnr */
  2510. /* AND BAufze.Pos <= DPos NO-LOCK NO-ERROR. */
  2511. /* END. */
  2512. /* IF AVAILABLE BAufze THEN DO: */
  2513. /* DRecid = RECID(BAufze). */
  2514. /* END. */
  2515. RUN dispatch IN THIS-PROCEDURE ('open-query':U).
  2516. FIND BAufko WHERE RECID(BAufko) = KRecid NO-LOCK.
  2517. DRowid = ?.
  2518. FIND FIRST BAufze NO-LOCK USE-INDEX Aufze-k1
  2519. WHERE BAufze.Firma = BAufko.Firma
  2520. AND BAufze.Aufnr = BAufko.Aufnr
  2521. AND BAufze.Pos >= DPos NO-ERROR.
  2522. IF NOT AVAILABLE BAufze THEN DO:
  2523. FIND LAST BAufze NO-LOCK USE-INDEX Aufze-k1
  2524. WHERE BAufze.Firma = BAufko.Firma
  2525. AND BAufze.Aufnr = BAufko.Aufnr
  2526. AND BAufze.Pos <= DPos NO-ERROR.
  2527. END.
  2528. IF AVAILABLE BAufze THEN DO:
  2529. DRowid = ROWID(BAufze).
  2530. END.
  2531. IF DRowid <> ? THEN DO:
  2532. hQuery:REPOSITION-TO-ROWID(DRowid).
  2533. /* {&BROWSE-NAME}:FETCH-SELECTED-ROW(1). */
  2534. END.
  2535. IF Vorhanden THEN APPLY 'VALUE-CHANGED' TO {&BROWSE-NAME}.
  2536. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  2537. END. /* FRAME */
  2538. END PROCEDURE.
  2539. /* _UIB-CODE-BLOCK-END */
  2540. &ANALYZE-RESUME
  2541. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE MENGE B-table-Win
  2542. PROCEDURE MENGE :
  2543. /* ------------------------------------------------------------------------------
  2544. Purpose:
  2545. Parameters: <none>
  2546. Notes:
  2547. ------------------------------------------------------------------------------*/
  2548. DEF VAR NettoRab AS INT NO-UNDO.
  2549. DEF VAR Aktionen AS INT NO-UNDO.
  2550. DEF VAR PosMenge AS INT NO-UNDO.
  2551. DEF VAR FAbweich AS LOG NO-UNDO.
  2552. DEF VAR KeineAkt AS LOG NO-UNDO.
  2553. DEF VAR FSpezPreis AS INT NO-UNDO.
  2554. /* 0 = Kein Spezialpreis */
  2555. /* 1 = Spezialpreis auf Artikel */
  2556. /* 2 = Spezialpreis auf Rabattgruppe */
  2557. DEF VAR FwPreisGrp AS INT NO-UNDO.
  2558. XAufze.GGebKto = ''.
  2559. XAufze.VGebKto = ''.
  2560. XAufze.GGebKto = ''.
  2561. FSpezPreis = 0.
  2562. NettoRab = DYNAMIC-FUNCTION('GETFWNETTORAB':U) NO-ERROR.
  2563. Aktionen = DYNAMIC-FUNCTION('GETFWAKTIONSRAB':U) NO-ERROR.
  2564. FwPreisGrp = DYNAMIC-FUNCTION('GETFWPREISGRP':U) NO-ERROR.
  2565. RUN GEBINDEKONTI_ERMITTELN.
  2566. IF RETURN-VALUE = 'FEHLER' THEN RETURN 'Fehler'.
  2567. FIND Wust USE-INDEX Wust-k1
  2568. WHERE Wust.CodeK = Aufko.MWST
  2569. AND Wust.CodeA = 99 NO-LOCK.
  2570. IF Ablauf = 0 THEN DO:
  2571. AVArtnr = XAufze.Artnr.
  2572. AVInhalt = XAufze.Inhalt.
  2573. AVJahr = XAufze.Jahr.
  2574. LVKGeb_Cd = XAufze.KGeb_Cd.
  2575. LVVGeb_Cd = XAufze.VGeb_Cd.
  2576. LVGGeb_Cd = XAufze.GGeb_Cd.
  2577. XVKGeb_Me = XAufze.KGeb_Me.
  2578. XVVGeb_Me = XAufze.VGeb_Me.
  2579. XVGGeb_Me = XAufze.GGeb_Me.
  2580. XVKGeb_Be = XAufze.KGeb_Be.
  2581. XVVGeb_Be = XAufze.VGeb_Be.
  2582. XVGGeb_Be = XAufze.GGeb_Be.
  2583. VDaten = XAufze.KGeb_Cd + ';'
  2584. + XAufze.VGeb_Cd + ';'
  2585. + XAufze.GGeb_Cd + ';'
  2586. + STRING(XAufze.KGeb_Me) + ';'
  2587. + STRING(XAufze.VGeb_Me) + ';'
  2588. + STRING(XAufze.GGeb_Me) + ';'
  2589. + STRING(RECID(Artst)) + ';'
  2590. + STRING(XAufze.Lag_Buch,'yes/no') + ';'
  2591. + STRING(XAufze.Lager) + ';'
  2592. + STRING(Aufko.AlsOfferte,'yes/no') + ';'
  2593. + STRING(XAufze.KGeb_Be) + ';'
  2594. + STRING(XAufze.VGeb_Be) + ';'
  2595. + STRING(XAufze.GGeb_Be).
  2596. RUN "g-gebindemenge.w" ( INPUT-OUTPUT VDaten ).
  2597. IF VDaten = '' THEN RETURN 'Fehler'.
  2598. XVGGeb_Me = DEC(ENTRY(1, VDaten, ';')).
  2599. XVVGeb_Me = DEC(ENTRY(2, VDaten, ';')).
  2600. XVKGeb_Me = DEC(ENTRY(3, VDaten, ';')).
  2601. XVGGeb_Be = DEC(ENTRY(5, VDaten, ';')).
  2602. XVVGeb_Be = DEC(ENTRY(6, VDaten, ';')).
  2603. XVKGeb_Be = DEC(ENTRY(7, VDaten, ';')).
  2604. ASSIGN XAufze.KGeb_Cd = LVKGeb_Cd
  2605. XAufze.VGeb_Cd = LVVGeb_Cd
  2606. XAufze.GGeb_Cd = LVGGeb_Cd
  2607. XAufze.KGeb_Me = XVKGeb_Me
  2608. XAufze.VGeb_Me = XVVGeb_Me
  2609. XAufze.GGeb_Me = XVGGeb_Me
  2610. XAufze.KGeb_Be = XVKGeb_Be
  2611. XAufze.VGeb_Be = XVVGeb_Be
  2612. XAufze.GGeb_Be = XVGGeb_Be
  2613. XAufze.KGeb_Ru = XVKGeb_Be - XVKGeb_Me
  2614. XAufze.VGeb_Ru = XVVGeb_Be - XVVGeb_Me
  2615. XAufze.GGeb_Ru = XVGGeb_Be - XVGGeb_Me
  2616. XAufze.MBest = XAufze.KGeb_Be
  2617. XAufze.MGeli = XAufze.KGeb_Me
  2618. XAufze.MRuek = XAufze.KGeb_Ru
  2619. F_MBest = XAufze.KGeb_Be
  2620. F_MGeli = XAufze.KGeb_Me
  2621. F_MRuek = XAufze.KGeB_Ru.
  2622. IF ENTRY(4, VDaten, ';') BEGINS 'n' THEN XAufze.Lag_Buch = FALSE.
  2623. ELSE XAufze.Lag_Buch = TRUE.
  2624. END.
  2625. XAufze.Liter = KGebinde.Inhalt * XAufze.KGeb_Me / 100.
  2626. XAufze.Gewicht = (Artst.Gewicht * ABS(XAufze.KGeb_Me))
  2627. + (KGebinde.Gewicht * ABS(XAufze.KGeb_Me))
  2628. + (VGebinde.Gewicht * ABS(XAufze.VGeb_Me))
  2629. + (GGebinde.Gewicht * ABS(XAufze.GGeb_Me)).
  2630. VPreis = 0.
  2631. VRab_Betr = 0.
  2632. VRab_Proz = 0.
  2633. VAktion = FALSE.
  2634. VAktion_Text = ''.
  2635. VP_Grp = 0.
  2636. FAbweich = FALSE.
  2637. PosMenge = ABS(XAufze.MBest).
  2638. DISPLAY F_MBest
  2639. F_MGeli
  2640. F_MRuek WITH FRAME {&FRAME-NAME}.
  2641. FIND AbwPrGrp USE-INDEX AbwPrGrp-k1
  2642. WHERE AbwPrGrp.Firma = Aufko.Firma
  2643. AND AbwPrGrp.Knr = Aufko.Knr
  2644. AND AbwPrGrp.Wg_Grp = Artst.Wg_Grp NO-LOCK NO-ERROR.
  2645. IF AVAILABLE AbwPrGrp THEN DO:
  2646. VP_Grp = AbwPrGrp.Preis_Grp.
  2647. FAbweich = TRUE.
  2648. END.
  2649. ELSE VP_Grp = Aufko.Preis_Grp.
  2650. IF Steuer.AktionsPreise = 0 THEN VGrp = VP_Grp.
  2651. IF Steuer.AktionsPreise = 1 THEN VGrp = Aufko.Ku_Grp.
  2652. /* -------------------------------------------------------------- */
  2653. /* Aktionspreise auf dieser Warengruppe möglich ? */
  2654. /* -------------------------------------------------------------- */
  2655. FIND AktKeine USE-INDEX AktKeine-k1
  2656. WHERE AktKeine.Firma = Aufko.Firma
  2657. AND AktKeine.Knr = Aufko.Knr
  2658. AND AktKeine.Wgr = Artst.Wg_Grp NO-LOCK NO-ERROR.
  2659. IF AVAILABLE AktKeine THEN KeineAkt = TRUE.
  2660. ELSE KeineAkt = FALSE.
  2661. DO WHILE TRUE:
  2662. ASSIGN XAufze.Rab_Su_Grp = 0
  2663. XAufze.Rab_Su_Art = 0.
  2664. FIND RabTab USE-INDEX RabTab-k1
  2665. WHERE RabTab.Firma = GVFirma
  2666. AND RabTab.Ku_Rab = Aufko.Rab_Grp
  2667. AND RabTab.Art_Rab = Artst.Rab_Grp NO-LOCK NO-ERROR.
  2668. IF NOT AVAILABLE RabTab THEN LEAVE.
  2669. ASSIGN XAufze.Rab_Su_Grp = RabTab.Rab_Summ
  2670. XAufze.Rab_Su_Art = RabTab.Add_Art.
  2671. IF XAufze.Netto THEN LEAVE.
  2672. IF RabTab.Wert = 0 THEN LEAVE.
  2673. LEAVE.
  2674. END.
  2675. DO WHILE TRUE:
  2676. IF XAufze.Preis_Mut THEN DO:
  2677. MESSAGE 'Preis überprüfen, wurde von Hand eingegeben '
  2678. VIEW-AS ALERT-BOX INFORMATION.
  2679. VPreis = XAufze.Preis.
  2680. LEAVE.
  2681. END.
  2682. IF XAufze.Rab_Art = 3 THEN DO:
  2683. IF Artst.DEP <> 0 THEN VPreis = Artst.DEP.
  2684. IF Artst.LEP <> 0 THEN VPreis = Artst.LEP.
  2685. IF Artst.Listen_EP <> 0 THEN VPreis = Artst.Listen_EP.
  2686. LEAVE.
  2687. END.
  2688. FIND LAST ArtPreis USE-INDEX ArtPreis-k1
  2689. WHERE ArtPreis.Firma = GVFirma
  2690. AND ArtPreis.Artnr = XAufze.Artnr
  2691. AND ArtPreis.Inhalt = XAufze.Inhalt
  2692. AND ArtPreis.Jahr = XAufze.Jahr
  2693. AND ArtPreis.Preis_Grp = VP_Grp
  2694. AND ArtPreis.Aktion = FALSE
  2695. AND ArtPreis.Ab_Datum <= Aufko.Kond_Datum
  2696. NO-LOCK NO-ERROR.
  2697. DO WHILE TRUE:
  2698. IF AVAILABLE ArtPreis THEN LEAVE.
  2699. IF FAbweich THEN DO:
  2700. FIND LAST ArtPreis USE-INDEX ArtPreis-k1
  2701. WHERE ArtPreis.Firma = GVFirma
  2702. AND ArtPreis.Artnr = XAufze.Artnr
  2703. AND ArtPreis.Inhalt = XAufze.Inhalt
  2704. AND ArtPreis.Jahr = XAufze.Jahr
  2705. AND ArtPreis.Preis_Grp = Aufko.Preis_Grp
  2706. AND ArtPreis.Aktion = FALSE
  2707. AND ArtPreis.Ab_Datum <= Aufko.Kond_Datum
  2708. NO-LOCK NO-ERROR.
  2709. IF AVAILABLE ArtPreis THEN LEAVE.
  2710. END.
  2711. FIND LAST ArtPreis USE-INDEX ArtPreis-k1
  2712. WHERE ArtPreis.Firma = GVFirma
  2713. AND ArtPreis.Artnr = XAufze.Artnr
  2714. AND ArtPreis.Inhalt = XAufze.Inhalt
  2715. AND ArtPreis.Jahr = XAufze.Jahr
  2716. AND ArtPreis.Preis_Grp = FwPreisGrp
  2717. AND ArtPreis.Aktion = FALSE
  2718. AND ArtPreis.Ab_Datum <= Aufko.Kond_Datum
  2719. NO-LOCK NO-ERROR.
  2720. IF AVAILABLE ArtPreis THEN LEAVE.
  2721. FIND FIRST ArtPreis USE-INDEX ArtPreis-k1
  2722. WHERE ArtPreis.Firma = GVFirma
  2723. AND ArtPreis.Artnr = XAufze.Artnr
  2724. AND ArtPreis.Inhalt = XAufze.Inhalt
  2725. AND ArtPreis.Jahr = XAufze.Jahr
  2726. AND ArtPreis.Preis_Grp = VP_Grp
  2727. AND ArtPreis.Aktion = FALSE
  2728. AND ArtPreis.Ab_Datum >= Aufko.Kond_Datum
  2729. NO-LOCK NO-ERROR.
  2730. LEAVE.
  2731. END.
  2732. IF AVAILABLE ArtPreis THEN DO:
  2733. FIND LAST ArtStaff USE-INDEX ArtStaff-k1
  2734. WHERE ArtStaff.Firma = ArtPreis.Firma
  2735. AND ArtStaff.Artnr = ArtPreis.Artnr
  2736. AND ArtStaff.Inhalt = ArtPreis.Inhalt
  2737. AND ArtStaff.Jahr = ArtPreis.Jahr
  2738. AND ArtStaff.Preis_Grp = ArtPreis.Preis_Grp
  2739. AND ArtStaff.Ab_Datum = ArtPreis.Ab_Datum
  2740. AND ArtStaff.Menge <= PosMenge
  2741. NO-LOCK NO-ERROR.
  2742. IF AVAILABLE ArtStaff THEN DO:
  2743. IF Wust.Incl THEN VPreis = ArtStaff.VK_Brutto.
  2744. ELSE VPreis = ArtStaff.VK_Netto.
  2745. END.
  2746. ELSE DO.
  2747. IF Wust.Incl THEN VPreis = ArtPreis.VK_Brutto.
  2748. ELSE VPreis = ArtPreis.VK_Netto.
  2749. END.
  2750. END.
  2751. FIND LAST SpezPrei USE-INDEX SpezPrei-k1
  2752. WHERE SpezPrei.Firma = GVFirma
  2753. AND SpezPrei.Knr = Aufko.Knr
  2754. AND SpezPrei.Artnr = XAufze.Artnr
  2755. AND SpezPrei.Inhalt = XAufze.Inhalt
  2756. AND SpezPrei.Jahr = XAufze.Jahr
  2757. AND SpezPrei.Menge <= PosMenge
  2758. AND SpezPrei.Ab_Datum <= Aufko.Kond_Datum
  2759. AND SpezPrei.Bis_Datum >= Aufko.Kond_Datum NO-LOCK NO-ERROR.
  2760. IF AVAILABLE SpezPrei THEN DO:
  2761. IF SpezPrei.Proz_Betr THEN DO.
  2762. VRab_Proz = SpezPrei.Wert.
  2763. VRab_Betr = 0.
  2764. END.
  2765. ELSE DO:
  2766. VPreis = SpezPrei.Wert.
  2767. VRab_Betr = 0.
  2768. VRab_Proz = 0.
  2769. END.
  2770. { v8/meldung.i "0314" }
  2771. XAufze.Rab_Su_Grp = 0.
  2772. XAufze.Rab_Su_Art = 0.
  2773. FSpezPreis = 1.
  2774. END.
  2775. DO WHILE TRUE:
  2776. XAufze.Auf_Sp_Proz_Betr = TRUE.
  2777. XAufze.Auf_Sp_Wert = 0.
  2778. XAufze.Auf_Sp_Rab = 0.
  2779. XAufze.Auf_Sp_Grp = 0.
  2780. IF FSpezPreis > 0 THEN LEAVE.
  2781. FIND FIRST SpPrRab USE-INDEX SpPrRab-k1
  2782. WHERE SpPrRab.Firma = GVFirma
  2783. AND SpPrRab.Knr = Aufko.Knr
  2784. AND SpPrRab.Rab_Grp = Artst.Rab_Grp
  2785. AND SpPrRab.Ab_Datum <= Aufko.Kond_Datum
  2786. AND SpPrRab.Bis_Datum >= Aufko.Kond_Datum
  2787. NO-LOCK NO-ERROR.
  2788. IF AVAILABLE SpPrRab THEN DO:
  2789. XAufze.Auf_Sp_Grp = SpPrRab.Rab_Grp.
  2790. END.
  2791. FIND LAST SpPrRab USE-INDEX SpPrRab-k1
  2792. WHERE SpPrRab.Firma = GVFirma
  2793. AND SpPrRab.Knr = Aufko.Knr
  2794. AND SpPrRab.Rab_Grp = Artst.Rab_Grp
  2795. AND SpPrRab.Menge <= PosMenge
  2796. AND SpPrRab.Ab_Datum <= Aufko.Kond_Datum
  2797. AND SpPrRab.Bis_Datum >= Aufko.Kond_Datum
  2798. NO-LOCK NO-ERROR.
  2799. IF AVAILABLE SpPrRab THEN DO:
  2800. IF SpPrRab.Wert <> 0 THEN DO:
  2801. IF SpPrRab.Proz_Betr THEN DO.
  2802. VRab_Proz = SpPrRab.Wert.
  2803. VRab_Betr = 0.
  2804. END.
  2805. ELSE DO:
  2806. VRab_Betr = SpPrRab.Wert.
  2807. VRab_Proz = 0.
  2808. END.
  2809. IF XAufze.Netto = TRUE THEN DO:
  2810. IF NettoRab = 1 THEN DO:
  2811. VRab_Proz = 0.
  2812. VRab_Betr = 0.
  2813. END.
  2814. END.
  2815. XAufze.Rab_Su_Grp = 0.
  2816. XAufze.Rab_Su_Art = 0.
  2817. FSpezPreis = 2.
  2818. END.
  2819. END.
  2820. LEAVE.
  2821. END.
  2822. DO WHILE TRUE:
  2823. IF KeineAkt THEN LEAVE.
  2824. IF FSpezpreis > 0 AND
  2825. Aktionen = 0 THEN LEAVE.
  2826. IF FSpezpreis = 1 THEN DO:
  2827. IF Aktionen = 2 THEN LEAVE.
  2828. END.
  2829. IF FSpezpreis = 2 THEN DO:
  2830. IF Aktionen = 1 THEN LEAVE.
  2831. END.
  2832. FIND LAST AktPreis USE-INDEX AktPreis-k2
  2833. WHERE AktPreis.Firma = GVFirma
  2834. AND AktPreis.Artnr = XAufze.Artnr
  2835. AND AktPreis.Inhalt = XAufze.Inhalt
  2836. AND AktPreis.Jahr = XAufze.Jahr
  2837. AND AktPreis.Grp = VGrp
  2838. AND AktPreis.Ab_Datum <= Aufko.Kond_Datum
  2839. AND AktPreis.Bis_Datum >= Aufko.Kond_Datum
  2840. NO-LOCK NO-ERROR.
  2841. IF AVAILABLE AktPreis THEN DO:
  2842. IF AktPreis.Art = 0 THEN VPreis = VPreis - AktPreis.Wert.
  2843. IF AktPreis.Art = 1 THEN VPreis = VPreis * (100 - AktPreis.Wert) / 100.
  2844. VAktion = TRUE.
  2845. VAktion_Text = AktPreis.Bemerkung.
  2846. LEAVE.
  2847. END.
  2848. IF NOT FAbweich THEN LEAVE.
  2849. IF Steuer.AktionsPreise > 0 THEN LEAVE.
  2850. FIND LAST AktPreis USE-INDEX AktPreis-k2
  2851. WHERE AktPreis.Firma = GVFirma
  2852. AND AktPreis.Artnr = XAufze.Artnr
  2853. AND AktPreis.Inhalt = XAufze.Inhalt
  2854. AND AktPreis.Jahr = XAufze.Jahr
  2855. AND AktPreis.Grp = Aufko.Preis_Grp
  2856. AND AktPreis.Ab_Datum <= Aufko.Kond_Datum
  2857. AND AktPreis.Bis_Datum >= Aufko.Kond_Datum
  2858. NO-LOCK NO-ERROR.
  2859. IF AVAILABLE AktPreis THEN DO:
  2860. IF AktPreis.Art = 0 THEN VPreis = VPreis - AktPreis.Wert.
  2861. IF AktPreis.Art = 1 THEN VPreis = VPreis * (100 - AktPreis.Wert) / 100.
  2862. VAktion = TRUE.
  2863. VAktion_Text = AktPreis.Bemerkung.
  2864. LEAVE.
  2865. END.
  2866. LEAVE.
  2867. END.
  2868. IF XAufze.Netto THEN LEAVE.
  2869. IF FSpezPreis > 0 THEN LEAVE.
  2870. IF AVAILABLE RabTab THEN DO:
  2871. IF RabTab.Wert = 0 THEN LEAVE.
  2872. END.
  2873. IF XAufze.Rab_Art > 0 THEN DO:
  2874. IF XAufze.Rab_Art = 1 THEN DO:
  2875. VRab_Proz = XAufze.Rab_Wert.
  2876. VRab_Betr = 0.
  2877. LEAVE.
  2878. END.
  2879. IF XAufze.Rab_Art = 2 THEN DO:
  2880. VRab_Betr = XAufze.Rab_Wert.
  2881. VRab_Proz = 0.
  2882. LEAVE.
  2883. END.
  2884. END.
  2885. IF AVAILABLE RabTab THEN DO:
  2886. IF RabTab.Rab_Art = 0 THEN VRab_Betr = RabTab.Wert.
  2887. IF RabTab.Rab_Art = 1 THEN VRab_Proz = RabTab.Wert.
  2888. END.
  2889. LEAVE.
  2890. END.
  2891. ASSIGN XAufze.Preis = VPreis
  2892. XAufze.Aktion = VAktion
  2893. XAufze.Aktion_Text = VAktion_Text.
  2894. IF XAufze.Rab_Art <> 3 THEN DO:
  2895. ASSIGN XAufze.Rab_Art = 0
  2896. XAufze.Rab_Wert = 0.
  2897. END.
  2898. IF VRab_Proz <> 0 THEN DO:
  2899. ASSIGN XAufze.Rab_Art = 1
  2900. XAufze.Rab_Wert = VRab_Proz.
  2901. END.
  2902. IF VRab_Betr <> 0 THEN DO:
  2903. ASSIGN XAufze.Rab_Art = 2
  2904. XAufze.Rab_Wert = VRab_Betr.
  2905. END.
  2906. DO WHILE TRUE:
  2907. IF XAufze.Rab_Art = 1 THEN DO:
  2908. XAufze.Bru_Betr = XAufze.Preis * XAufze.MGeli.
  2909. XAufze.Rab_Betr = XAufze.Rab_Wert * XAufze.Bru_Betr / 100.
  2910. LEAVE.
  2911. END.
  2912. IF XAufze.Rab_Art = 2 THEN DO:
  2913. XAufze.Bru_Betr = XAufze.Preis * XAufze.MGeli.
  2914. XAufze.Rab_Betr = XAufze.Rab_Wert * XAufze.MGeli.
  2915. LEAVE.
  2916. END.
  2917. IF XAufze.Rab_Art = 3 THEN DO:
  2918. XAufze.Bru_Betr = XAufze.Preis * XAufze.MGeli.
  2919. XAufze.Rab_Betr = XAufze.Rab_Wert * XAufze.MGeli * -1.
  2920. LEAVE.
  2921. END.
  2922. XAufze.Bru_Betr = XAufze.Preis * XAufze.MGeli.
  2923. XAufze.Rab_Betr = 0.
  2924. XAufze.Rab_Art = 0.
  2925. LEAVE.
  2926. END.
  2927. IF Wust.Incl THEN DO:
  2928. Rundbetr = XAufze.Rab_Betr.
  2929. Rundcode = 1.
  2930. RUN "v8/runden.p".
  2931. XAufze.Rab_Betr = Rundbetr.
  2932. END.
  2933. XAufze.Zus_Betr = 0.
  2934. IF XAufze.Zus_Art > 0 THEN DO:
  2935. IF XAufze.Zus_Art = 1
  2936. THEN XAufze.Zus_Betr = XAufze.Bru_Betr * XAufze.Zus_Wert / 100.
  2937. IF XAufze.Zus_Art = 2
  2938. THEN XAufze.Zus_Betr = XAufze.MGeli * XAufze.Zus_Wert.
  2939. END.
  2940. IF Wust.Incl THEN DO:
  2941. Rundbetr = XAufze.Zus_Betr.
  2942. Rundcode = 1.
  2943. RUN "v8/runden.p".
  2944. XAufze.Zus_Betr = Rundbetr.
  2945. END.
  2946. XAufze.Net_Betr = XAufze.Bru_Betr - XAufze.Rab_Betr + XAufze.Zus_Betr.
  2947. IF Wust.Incl THEN DO:
  2948. Rundbetr = XAufze.Net_Betr.
  2949. Rundcode = 1.
  2950. RUN "v8/runden.p".
  2951. XAufze.Net_Betr = Rundbetr.
  2952. END.
  2953. IF Ablauf = 0 THEN DO:
  2954. DO WITH FRAME {&FRAME-NAME}:
  2955. F_Preis = XAufze.Preis.
  2956. F_Rab_Art = XAufze.Rab_Art.
  2957. F_Rab_Wert = XAufze.Rab_Wert.
  2958. F_Zus_Art = XAufze.Zus_Art.
  2959. F_Zus_Wert = XAufze.Zus_Wert.
  2960. DISPLAY F_Preis
  2961. F_Rab_Art
  2962. F_Rab_Wert
  2963. F_Zus_Art
  2964. F_Zus_Wert.
  2965. F_Preis:MODIFIED = FALSE.
  2966. F_Rab_Art:MODIFIED = FALSE.
  2967. F_Rab_Wert:MODIFIED = FALSE.
  2968. F_Zus_Art:MODIFIED = FALSE.
  2969. F_Zus_Wert:MODIFIED = FALSE.
  2970. END.
  2971. IF XAufze.Aktion THEN BELL.
  2972. IF XAufze.Aktion THEN F_Preis:BGCOLOR = 14.
  2973. ELSE F_Preis:BGCOLOR = 15.
  2974. END.
  2975. RETURN ''.
  2976. END PROCEDURE.
  2977. /* _UIB-CODE-BLOCK-END */
  2978. &ANALYZE-RESUME
  2979. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NEUE_ZEILE B-table-Win
  2980. PROCEDURE NEUE_ZEILE :
  2981. /*------------------------------------------------------------------------------
  2982. Purpose:
  2983. Parameters: <none>
  2984. Notes:
  2985. ------------------------------------------------------------------------------*/
  2986. APPLY 'INSERT-MODE':U TO FRAME {&FRAME-NAME}.
  2987. RETURN NO-APPLY.
  2988. END PROCEDURE.
  2989. /* _UIB-CODE-BLOCK-END */
  2990. &ANALYZE-RESUME
  2991. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NICHT_GEFUNDEN B-table-Win
  2992. PROCEDURE NICHT_GEFUNDEN :
  2993. /*------------------------------------------------------------------------------
  2994. Purpose:
  2995. Parameters: <none>
  2996. Notes:
  2997. ------------------------------------------------------------------------------*/
  2998. DO WITH FRAME {&FRAME-NAME}:
  2999. APPLY 'ENTRY' TO F_Artnr.
  3000. RETURN NO-APPLY.
  3001. END.
  3002. END PROCEDURE.
  3003. /* _UIB-CODE-BLOCK-END */
  3004. &ANALYZE-RESUME
  3005. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SAMMFAKMUT B-table-Win
  3006. PROCEDURE SAMMFAKMUT :
  3007. /*------------------------------------------------------------------------------
  3008. Purpose:
  3009. Parameters: <none>
  3010. Notes:
  3011. ------------------------------------------------------------------------------*/
  3012. DEF INPUT PARAMETER KoRecid AS RECID NO-UNDO.
  3013. FIND BAufko WHERE RECID(BAufko) = KoRecid.
  3014. BAufko.Gedruckt = FALSE.
  3015. DO WHILE TRUE:
  3016. FIND Tabel USE-INDEX Tabel-k1
  3017. WHERE Tabel.Firma = GVFirma
  3018. AND Tabel.RecArt = 'FAKART'
  3019. AND Tabel.CodeC = ''
  3020. AND Tabel.CodeI = BAufko.Fak_Art
  3021. AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR.
  3022. IF Tabel.Int_3 <> 4 THEN LEAVE. /* nicht Sammelrechnung */
  3023. IF BAufko.Samm_Nr = 0 THEN LEAVE.
  3024. FOR EACH YAufko USE-INDEX Aufko-k4
  3025. WHERE YAufko.Firma = BAufko.Firma
  3026. AND YAufko.Knr = BAufko.Knr
  3027. AND YAufko.Fak_Art = BAufko.Fak_Art
  3028. AND YAufko.Samm_Nr = BAufko.Samm_Nr.
  3029. YAufko.Gedruckt = FALSE.
  3030. IF Tabel.Int_2 = YAufko.Auf_Sta THEN YAufko.Auf_Sta = YAufko.Auf_Sta - 1.
  3031. END.
  3032. LEAVE.
  3033. END.
  3034. END PROCEDURE.
  3035. /* _UIB-CODE-BLOCK-END */
  3036. &ANALYZE-RESUME
  3037. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-records B-table-Win _ADM-SEND-RECORDS
  3038. PROCEDURE send-records :
  3039. /*------------------------------------------------------------------------------
  3040. Purpose: Send record ROWID's for all tables used by
  3041. this file.
  3042. Parameters: see template/snd-head.i
  3043. ------------------------------------------------------------------------------*/
  3044. /* Define variables needed by this internal procedure. */
  3045. {src/adm/template/snd-head.i}
  3046. /* For each requested table, put it's ROWID in the output list. */
  3047. {src/adm/template/snd-list.i "Aufze"}
  3048. /* Deal with any unexpected table requests before closing. */
  3049. {src/adm/template/snd-end.i}
  3050. END PROCEDURE.
  3051. /* _UIB-CODE-BLOCK-END */
  3052. &ANALYZE-RESUME
  3053. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SPEICHERN B-table-Win
  3054. PROCEDURE SPEICHERN :
  3055. /*------------------------------------------------------------------------------
  3056. Purpose:
  3057. Parameters: <none>
  3058. Notes:
  3059. ------------------------------------------------------------------------------*/
  3060. DEF VAR XOpen AS LOG NO-UNDO.
  3061. DEF VAR ZRecid AS RECID NO-UNDO.
  3062. DEF VAR ARecid AS RECID NO-UNDO.
  3063. DEF VAR cString AS CHAR NO-UNDO.
  3064. DEF VAR XWC AS INT NO-UNDO.
  3065. DEF VAR rRowId AS ROWID NO-UNDO.
  3066. DISABLE TRIGGERS FOR LOAD OF Aufko.
  3067. DISABLE TRIGGERS FOR LOAD OF Aufze.
  3068. DEF BUFFER LAufko FOR Aufko.
  3069. DO WITH FRAME {&FRAME-NAME}:
  3070. XOpen = FALSE.
  3071. ARecid = 0.
  3072. FIND BAufko WHERE RECID(BAufko) = KRecid NO-LOCK.
  3073. XVAufnr = BAufko.Aufnr.
  3074. ASSIGN {&List-2}.
  3075. ASSIGN {&List-3}.
  3076. REPEAT TRANSACTION WITH FRAME {&FRAME-NAME}:
  3077. IF VNeu THEN DO:
  3078. FIND LAST BAufze USE-INDEX Aufze-k1
  3079. WHERE BAufze.Firma = GVFirma
  3080. AND BAufze.Aufnr = BAufko.Aufnr
  3081. AND (BAufze.Pos MOD 5) = 0 NO-LOCK NO-ERROR.
  3082. IF AVAILABLE BAufze THEN LVPos = BAufze.Pos + 5.
  3083. ELSE LVPos = 5.
  3084. ASSIGN XAufze.Firma = GVFirma
  3085. XAufze.Aufnr = BAufko.Aufnr
  3086. XAufze.Pos = LVPos
  3087. XAufze.Lager = BAufko.Lager.
  3088. CREATE Aufze.
  3089. ZRecid = RECID(Aufze).
  3090. XOpen = TRUE.
  3091. IF XAufze.Artnr <> 0 THEN DO:
  3092. FIND LAST Artbw USE-INDEX Artbw-k1
  3093. WHERE Artbw.Firma = GVFirma NO-LOCK NO-ERROR.
  3094. IF AVAILABLE Artbw THEN i1 = Artbw.Trnr + 1.
  3095. ELSE i1 = 1.
  3096. CREATE Artbw.
  3097. ASSIGN Artbw.Firma = GVFirma
  3098. Artbw.Trnr = i1
  3099. Artbw.Tr_Art = 01.
  3100. ASSIGN XAufze.Trnr = Artbw.Trnr.
  3101. END.
  3102. END.
  3103. ELSE DO:
  3104. ZRecid = RECID(Aufze).
  3105. FIND Aufze WHERE RECID(Aufze) = ZRecid.
  3106. FIND Artbw USE-INDEX Artbw-k1
  3107. WHERE Artbw.Firma = Aufze.Firma
  3108. AND Artbw.Trnr = Aufze.Trnr NO-ERROR.
  3109. END.
  3110. { v8/aufze_assign.i "XAufze" }
  3111. IF XAufze.Artnr = 0 THEN DO:
  3112. ASSIGN XAufze.MBest = 0
  3113. XAufze.MGel = 0
  3114. XAufze.MRuek = 0
  3115. XAufze.Preis = 0.
  3116. BUFFER-COPY XAufze TO Aufze.
  3117. RELEASE Aufze.
  3118. LEAVE.
  3119. END.
  3120. FIND Wust NO-LOCK
  3121. WHERE Wust.CodeK = BAufko.MWSt
  3122. AND Wust.CodeA = XAufze.Wc NO-ERROR.
  3123. ASSIGN XAufze.WuCd = Wust.WuCd.
  3124. FIND Artst NO-LOCK
  3125. WHERE Artst.Firma = XAufze.Firma
  3126. AND Artst.Artnr = XAufze.Artnr
  3127. AND Artst.Inhalt = XAufze.Inhalt
  3128. AND Artst.Jahr = XAufze.Jahr.
  3129. DO WHILE F_Preis:MODIFIED = TRUE OR
  3130. F_Rab_Art:MODIFIED = TRUE OR
  3131. F_Rab_Wert:MODIFIED = TRUE OR
  3132. F_Zus_Art:MODIFIED = TRUE OR
  3133. F_Zus_Wert:MODIFIED = TRUE :
  3134. IF XAufze.Rab_Art = 3 THEN DO:
  3135. IF Artst.DEP <> 0 THEN XAufze.Preis = Artst.DEP.
  3136. IF Artst.LEP <> 0 THEN XAufze.Preis = Artst.LEP.
  3137. IF Artst.Listen_EP <> 0 THEN XAufze.Preis = Artst.Listen_EP.
  3138. END.
  3139. ASSIGN XAufze.Aktion = FALSE.
  3140. XAufze.Aktion_Text = ''.
  3141. DO WHILE TRUE:
  3142. IF XAufze.Rab_Art = 1 THEN DO:
  3143. XAufze.Bru_Betr = XAufze.Preis * XAufze.MGeli.
  3144. XAufze.Rab_Betr = XAufze.Rab_Wert * XAufze.Bru_Betr / 100.
  3145. LEAVE.
  3146. END.
  3147. IF XAufze.Rab_Art = 2 THEN DO:
  3148. XAufze.Bru_Betr = XAufze.Preis * XAufze.MGeli.
  3149. XAufze.Rab_Betr = XAufze.Rab_Wert * XAufze.MGeli.
  3150. LEAVE.
  3151. END.
  3152. IF XAufze.Rab_Art = 3 THEN DO:
  3153. XAufze.Bru_Betr = XAufze.Preis * XAufze.MGeli.
  3154. XAufze.Rab_Betr = XAufze.Rab_Wert * XAufze.MGeli * -1.
  3155. LEAVE.
  3156. END.
  3157. XAufze.Bru_Betr = XAufze.Preis * XAufze.MGeli.
  3158. XAufze.Rab_Betr = 0.
  3159. XAufze.Rab_Art = 0.
  3160. LEAVE.
  3161. END.
  3162. IF Wust.Incl THEN DO:
  3163. Rundbetr = XAufze.Rab_Betr.
  3164. Rundcode = 1.
  3165. RUN "v8/runden.p".
  3166. XAufze.Rab_Betr = Rundbetr.
  3167. END.
  3168. DO WHILE TRUE:
  3169. IF XAufze.Zus_Art = 1 THEN DO:
  3170. XAufze.Zus_Betr = XAufze.Zus_Wert * XAufze.Bru_Betr / 100.
  3171. LEAVE.
  3172. END.
  3173. IF XAufze.Zus_Art = 2 THEN DO:
  3174. XAufze.Zus_Betr = XAufze.Zus_Wert * XAufze.MGeli.
  3175. LEAVE.
  3176. END.
  3177. XAufze.Zus_Betr = 0.
  3178. XAufze.Zus_Wert = 0.
  3179. XAufze.Zus_Art = 0.
  3180. LEAVE.
  3181. END.
  3182. IF Wust.Incl THEN DO:
  3183. Rundbetr = XAufze.Zus_Betr.
  3184. Rundcode = 1.
  3185. RUN "v8/runden.p".
  3186. XAufze.Zus_Betr = Rundbetr.
  3187. END.
  3188. XAufze.Net_Betr = XAufze.Bru_Betr - XAufze.Rab_Betr + XAufze.Zus_Betr.
  3189. IF Wust.Incl THEN DO:
  3190. Rundbetr = XAufze.Net_Betr.
  3191. Rundcode = 1.
  3192. RUN "v8/runden.p".
  3193. XAufze.Net_Betr = Rundbetr.
  3194. END.
  3195. LEAVE.
  3196. END.
  3197. ARecid = RECID(Artst).
  3198. IF Aufze.Lag_Buch THEN DO:
  3199. FIND ArtLager USE-INDEX ArtLager-k1
  3200. WHERE ArtLager.Firma = Aufze.Firma
  3201. AND ArtLager.Artnr = Aufze.Artnr
  3202. AND ArtLager.Inhalt = Aufze.Inhalt
  3203. AND ArtLager.Jahr = Aufze.Jahr
  3204. AND ArtLager.Lager = Aufze.Lager NO-ERROR.
  3205. IF NOT AVAILABLE ArtLager THEN DO:
  3206. CREATE ArtLager.
  3207. ASSIGN ArtLager.Firma = Aufze.Firma
  3208. ArtLager.Artnr = Aufze.Artnr
  3209. ArtLager.Inhalt = Aufze.Inhalt
  3210. ArtLager.Jahr = Aufze.Jahr
  3211. ArtLager.Lager = Aufze.Lager.
  3212. END.
  3213. ASSIGN ArtLager.Ausgang = ArtLager.Ausgang - Aufze.MGeli
  3214. ArtLager.Bestand = ArtLager.Bestand + Aufze.MGeli.
  3215. RELEASE ArtLager.
  3216. END.
  3217. RUN GEBINDE_KONTO ( INPUT 2 ).
  3218. RUN SUMMEN_GRUPPE ( INPUT 2 ).
  3219. BUFFER-COPY XAufze TO Aufze.
  3220. IF Aufze.Lag_Buch THEN DO:
  3221. FIND ArtLager USE-INDEX ArtLager-k1
  3222. WHERE ArtLager.Firma = Aufze.Firma
  3223. AND ArtLager.Artnr = Aufze.Artnr
  3224. AND ArtLager.Inhalt = Aufze.Inhalt
  3225. AND ArtLager.Jahr = Aufze.Jahr
  3226. AND ArtLager.Lager = Aufze.Lager NO-ERROR.
  3227. IF NOT AVAILABLE ArtLager THEN DO:
  3228. CREATE ArtLager.
  3229. ASSIGN ArtLager.Firma = Aufze.Firma
  3230. ArtLager.Artnr = Aufze.Artnr
  3231. ArtLager.Inhalt = Aufze.Inhalt
  3232. ArtLager.Jahr = Aufze.Jahr
  3233. ArtLager.Lager = Aufze.Lager.
  3234. END.
  3235. ASSIGN ArtLager.Ausgang = ArtLager.Ausgang + Aufze.MGeli
  3236. ArtLager.Bestand = ArtLager.Bestand - Aufze.MGeli.
  3237. END.
  3238. RUN GEBINDE_KONTO ( INPUT 1 ).
  3239. RUN SUMMEN_GRUPPE ( INPUT 1 ).
  3240. DO WHILE Aufze.EP = 0:
  3241. IF Artst.DEP <> 0 THEN DO:
  3242. Aufze.EP = Artst.DEP.
  3243. LEAVE.
  3244. END.
  3245. IF Artst.LEP <> 0 THEN DO:
  3246. Aufze.EP = Artst.LEP.
  3247. LEAVE.
  3248. END.
  3249. IF Artst.Listen_EP <> 0 THEN DO:
  3250. Aufze.EP = Artst.Listen_EP.
  3251. LEAVE.
  3252. END.
  3253. LEAVE.
  3254. END.
  3255. RELEASE ArtLager.
  3256. RELEASE Artst.
  3257. RUN SAMMFAKMUT ( INPUT KRecid ).
  3258. IF AVAILABLE Artbw THEN DO:
  3259. { v8/artbw_aufze.i "Artbw" }
  3260. END.
  3261. RELEASE Artbw .
  3262. RELEASE BAufko.
  3263. RELEASE Aufko .
  3264. RELEASE Aufze .
  3265. DISABLE {&List-3}.
  3266. LEAVE.
  3267. END.
  3268. FIND Aufko NO-LOCK WHERE RECID(Aufko) = KRecid.
  3269. REPEAT TRANSACTION:
  3270. IF ARecid <> 0 THEN RUN AUFTRAGSTOTAL ( Aufko.Aufnr, OUTPUT cString ).
  3271. RELEASE Aufko.
  3272. RELEASE AufGKon.
  3273. LEAVE.
  3274. END.
  3275. FIND Aufko NO-LOCK WHERE RECID(Aufko) = KRecid.
  3276. FIND Aufze WHERE RECID(Aufze) = ZRecid NO-LOCK NO-ERROR.
  3277. LVPos = Aufze.Pos.
  3278. rRowId = ROWID(Aufze).
  3279. Btn_Erfassen:LABEL = '&Neu'.
  3280. Btn_Aendern :LABEL = '&Aendern'.
  3281. ENABLE Btn_Loeschen.
  3282. ENABLE Btn_Zurueck.
  3283. ENABLE Btn_Verschieben.
  3284. VUpdate = FALSE.
  3285. VNeu = FALSE.
  3286. RUN local-open-query.
  3287. hQuery:REPOSITION-TO-ROWID(rRowId).
  3288. /*
  3289. IF XOpen THEN DO:
  3290. RUN dispatch IN THIS-PROCEDURE ('open-query':U).
  3291. REPOSITION {&BROWSE-NAME} TO ROWID rRowId.
  3292. RUN ANZEIGE.
  3293. END.
  3294. ELSE DO:
  3295. {&BROWSE-NAME}:REFRESH().
  3296. REPOSITION {&BROWSE-NAME} TO ROWID rRowId.
  3297. RUN ANZEIGE.
  3298. END.
  3299. */
  3300. FIND Aufko NO-LOCK WHERE RECID(Aufko) = KRecid.
  3301. IF KLim > 0 THEN DO:
  3302. Rundbetr = Saldo.
  3303. FOR EACH LAufko NO-LOCK USE-INDEX Aufko-k2
  3304. WHERE LAufko.Firma = GVFirma
  3305. AND LAufko.Knr = Aufko.Knr :
  3306. Rundbetr = Rundbetr + LAufko.Auf_Tot.
  3307. END.
  3308. IF Rundbetr > KLim THEN DO:
  3309. RUN FEHLER (INPUT 1086) NO-ERROR.
  3310. END.
  3311. END.
  3312. RELEASE Aufze.
  3313. RELEASE AufGKon.
  3314. RELEASE AufSpRab.
  3315. RELEASE AufRabSu.
  3316. F_Auf_Tot = Aufko.Auf_Tot.
  3317. DISPLAY {&List-6} WITH FRAME {&FRAME-NAME}.
  3318. IF XOpen THEN RUN dispatch IN THIS-PROCEDURE ('open-query':U).
  3319. ELSE {&BROWSE-NAME}:REFRESH().
  3320. REPOSITION {&BROWSE-NAME} TO ROWID rRowId.
  3321. RUN ANZEIGE.
  3322. RELEASE Aufko.
  3323. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  3324. RETURN NO-APPLY.
  3325. END.
  3326. END PROCEDURE.
  3327. /* _UIB-CODE-BLOCK-END */
  3328. &ANALYZE-RESUME
  3329. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE state-changed B-table-Win
  3330. PROCEDURE state-changed :
  3331. /* -----------------------------------------------------------
  3332. Purpose:
  3333. Parameters: <none>
  3334. Notes:
  3335. -------------------------------------------------------------*/
  3336. DEFINE INPUT PARAMETER p-issuer-hdl AS HANDLE NO-UNDO.
  3337. DEFINE INPUT PARAMETER p-state AS CHARACTER NO-UNDO.
  3338. CASE p-state:
  3339. /* Object instance CASEs can go here to replace standard behavior
  3340. or add new cases. */
  3341. {src/adm/template/bstates.i}
  3342. END CASE.
  3343. END PROCEDURE.
  3344. /* _UIB-CODE-BLOCK-END */
  3345. &ANALYZE-RESUME
  3346. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SUMMEN_GRUPPE B-table-Win
  3347. PROCEDURE SUMMEN_GRUPPE :
  3348. /*------------------------------------------------------------------------------
  3349. Purpose:
  3350. Parameters: <none>
  3351. Notes:
  3352. ------------------------------------------------------------------------------*/
  3353. DEF INPUT PARAMETER Art AS INT.
  3354. DEF VAR VMenge AS DEC DECIMALS 4 NO-UNDO.
  3355. DEF VAR FWert AS DEC DECIMALS 4 NO-UNDO.
  3356. DEF VAR AWert AS DEC DECIMALS 4 NO-UNDO.
  3357. DEF VAR RRecid AS RECID NO-UNDO.
  3358. DO WHILE Aufze.Auf_Sp_Grp > 0:
  3359. FIND AufSpRab USE-INDEX AufSpRab-k1
  3360. WHERE AufSpRab.Firma = Aufze.Firma
  3361. AND AufSpRab.Aufnr = Aufze.Aufnr
  3362. AND AufSpRab.Rab_Grp = Aufze.Auf_Sp_Grp NO-ERROR.
  3363. IF NOT AVAILABLE AufSpRab THEN DO:
  3364. CREATE AufSpRab.
  3365. ASSIGN AufSpRab.Firma = Aufze.Firma
  3366. AufSpRab.Aufnr = Aufze.Aufnr
  3367. AufSpRab.Rab_Grp = Aufze.Auf_Sp_Grp.
  3368. END.
  3369. IF Art = 1 THEN AufSpRab.Menge = AufSpRab.Menge + Aufze.MGeli.
  3370. IF Art = 2 THEN AufSpRab.Menge = AufSpRab.Menge - Aufze.MGeli.
  3371. FIND LAST SpPrRab USE-INDEX SpPrRab-k1
  3372. WHERE SpPrRab.Firma = GVFirma
  3373. AND SpPrRab.Knr = Aufko.Knr
  3374. AND SpPrRab.Rab_Grp = Artst.Rab_Grp
  3375. AND SpPrRab.Menge <= AufSpRab.Menge
  3376. AND SpPrRab.Ab_Datum <= Aufko.Kond_Datum
  3377. AND SpPrRab.Bis_Datum >= Aufko.Kond_Datum NO-LOCK NO-ERROR.
  3378. IF AVAILABLE SpPrRab THEN DO:
  3379. ASSIGN AufSpRab.Auf_Proz_Betr = SpPrRab.Auf_Proz_Betr
  3380. AufSpRab.Auf_Wert = SpPrRab.Auf_Wert.
  3381. END.
  3382. ELSE DO:
  3383. Aufze.Auf_Sp_Grp = 0.
  3384. END.
  3385. LEAVE.
  3386. END.
  3387. IF Aufze.Rab_Su_Grp = 0 THEN DO:
  3388. ASSIGN Aufze.Auf_Rab = 0
  3389. Aufze.Abh_Rab = 0
  3390. Aufze.Rab_Su_Art = 0.
  3391. RETURN.
  3392. END.
  3393. FIND AufRabSu USE-INDEX AufRabSu-k1
  3394. WHERE AufRabSu.Firma = Aufze.Firma
  3395. AND AufRabSu.Aufnr = Aufze.Aufnr
  3396. AND AufRabSu.Rab_Summ = Aufze.Rab_Su_Grp
  3397. AND AufRabSu.MWST_Cd = Aufze.WuCd NO-ERROR.
  3398. IF NOT AVAILABLE AufRabSu THEN DO:
  3399. FIND FIRST RabSumm NO-LOCK USE-INDEX RabSumm-k1
  3400. WHERE RabSumm.Firma = Aufze.Firma
  3401. AND RabSumm.Rab_Summ = Aufze.Rab_Su_Grp.
  3402. CREATE AufRabSu.
  3403. ASSIGN AufRabSu.Firma = Aufze.Firma
  3404. AufRabSu.Aufnr = Aufze.Aufnr
  3405. AufRabSu.Rab_Summ = Aufze.Rab_Su_Grp
  3406. AufRabSu.MWST_Cd = Aufze.WuCd
  3407. AufRabSu.F_Art = RabSumm.F_Rab_Art
  3408. AufRabSu.F_Proz_Betr = RabSumm.F_Proz_Betr
  3409. AufRabSu.A_Art = RabSumm.A_Rab_Art
  3410. AufRabSu.A_Proz_Betr = RabSumm.A_Proz_Betr.
  3411. END.
  3412. RRecid = RECID(AufRabSu).
  3413. DO WHILE TRUE:
  3414. IF Aufze.Preis = 0 THEN LEAVE.
  3415. IF Art = 1 THEN DO:
  3416. ASSIGN AufRabSu.M_Menge = AufRabSu.M_Menge + Aufze.MGeli
  3417. AufRabSu.M_Betrag = AufRabSu.M_Betrag + Aufze.Net_Betr
  3418. AufRabSu.M_Inhalt = AufRabSu.M_Inhalt + Aufze.Liter.
  3419. IF Aufze.Rab_Su_Art = 0 THEN LEAVE.
  3420. ASSIGN AufRabSu.R_Menge = AufRabSu.R_Menge + Aufze.MGeli
  3421. AufRabSu.R_Betrag = AufRabSu.R_Betrag + Aufze.Net_Betr
  3422. AufRabSu.R_Inhalt = AufRabSu.R_Inhalt + Aufze.Liter.
  3423. END.
  3424. IF Art = 2 THEN DO:
  3425. ASSIGN AufRabSu.M_Menge = AufRabSu.M_Menge - Aufze.MGeli
  3426. AufRabSu.M_Betrag = AufRabSu.M_Betrag - Aufze.Net_Betr
  3427. AufRabSu.M_Inhalt = AufRabSu.M_Inhalt - Aufze.Liter.
  3428. IF Aufze.Rab_Su_Art = 0 THEN LEAVE.
  3429. ASSIGN AufRabSu.R_Menge = AufRabSu.R_Menge - Aufze.MGeli
  3430. AufRabSu.R_Betrag = AufRabSu.R_Betrag - Aufze.Net_Betr
  3431. AufRabSu.R_Inhalt = AufRabSu.R_Inhalt - Aufze.Liter.
  3432. END.
  3433. LEAVE.
  3434. END.
  3435. VMenge = 0.
  3436. FOR EACH AufRabSu NO-LOCK USE-INDEX AufRabSu-k1
  3437. WHERE AufRabSu.Firma = Aufze.Firma
  3438. AND AufRabSu.Aufnr = Aufze.Aufnr
  3439. AND AufRabSu.Rab_Summ = Aufze.Rab_Su_Grp :
  3440. CASE AufRabSu.F_Art:
  3441. WHEN 0 THEN DO:
  3442. VMenge = VMenge + AufRabSu.M_Menge.
  3443. END.
  3444. WHEN 1 THEN DO:
  3445. VMenge = VMenge + AufRabSu.M_Betrag.
  3446. END.
  3447. WHEN 2 THEN DO:
  3448. VMenge = VMenge + AufRabSu.M_Inhalt.
  3449. END.
  3450. END.
  3451. END.
  3452. FIND AufRabSu WHERE RECID(AufRabSu) = RRecid.
  3453. VMenge = ABS(VMenge).
  3454. DO WHILE TRUE:
  3455. IF AufRabSu.F_Art = 0 THEN DO:
  3456. FIND LAST RabSumm USE-INDEX RabSumm-k1
  3457. WHERE RabSumm.Firma = Aufze.Firma
  3458. AND RabSumm.Rab_Summ = AufRabSu.Rab_Summ
  3459. AND RabSumm.Menge <= VMenge NO-LOCK NO-ERROR.
  3460. END.
  3461. IF AufRabSu.F_Art = 1 THEN DO:
  3462. FIND LAST RabSumm USE-INDEX RabSumm-k1
  3463. WHERE RabSumm.Firma = Aufze.Firma
  3464. AND RabSumm.Rab_Summ = AufRabSu.Rab_Summ
  3465. AND RabSumm.Menge = 0
  3466. AND RabSumm.Betrag <= VMenge NO-LOCK NO-ERROR.
  3467. END.
  3468. IF AufRabSu.F_Art = 2 THEN DO:
  3469. FIND LAST RabSumm USE-INDEX RabSumm-k1
  3470. WHERE RabSumm.Firma = Aufze.Firma
  3471. AND RabSumm.Rab_Summ = AufRabSu.Rab_Summ
  3472. AND RabSumm.Menge = 0
  3473. AND RabSumm.Betrag = 0
  3474. AND RabSumm.Inhalt <= (VMenge / 100) NO-LOCK NO-ERROR.
  3475. END.
  3476. IF NOT AVAILABLE RabSumm THEN FWert = 0.
  3477. ELSE FWert = RabSumm.F_Wert.
  3478. IF AufRabSu.A_Art = 0 THEN DO:
  3479. FIND LAST RabSumm USE-INDEX RabSumm-k1
  3480. WHERE RabSumm.Firma = Aufze.Firma
  3481. AND RabSumm.Rab_Summ = AufRabSu.Rab_Summ
  3482. AND RabSumm.Menge <= VMenge NO-LOCK NO-ERROR.
  3483. END.
  3484. IF AufRabSu.A_Art = 1 THEN DO:
  3485. FIND LAST RabSumm USE-INDEX RabSumm-k1
  3486. WHERE RabSumm.Firma = Aufze.Firma
  3487. AND RabSumm.Rab_Summ = AufRabSu.Rab_Summ
  3488. AND RabSumm.Menge = 0
  3489. AND RabSumm.Betrag <= VMenge NO-LOCK NO-ERROR.
  3490. END.
  3491. IF AufRabSu.A_Art = 2 THEN DO:
  3492. FIND LAST RabSumm USE-INDEX RabSumm-k1
  3493. WHERE RabSumm.Firma = Aufze.Firma
  3494. AND RabSumm.Rab_Summ = AufRabSu.Rab_Summ
  3495. AND RabSumm.Menge = 0
  3496. AND RabSumm.Betrag = 0
  3497. AND RabSumm.Inhalt <= (VMenge / 100) NO-LOCK NO-ERROR.
  3498. END.
  3499. IF NOT AVAILABLE RabSumm THEN AWert = 0.
  3500. ELSE AWert = RabSumm.A_Wert.
  3501. LEAVE.
  3502. END.
  3503. FOR EACH AufRabSu USE-INDEX AufRabSu-k1
  3504. WHERE AufRabSu.Firma = Aufze.Firma
  3505. AND AufRabSu.Aufnr = Aufze.Aufnr
  3506. AND AufRabSu.Rab_Summ = Aufze.Rab_Su_Grp:
  3507. AufRabSu.F_Wert = FWert.
  3508. AufRabSu.A_Wert = AWert.
  3509. END.
  3510. RETURN.
  3511. END PROCEDURE.
  3512. /* _UIB-CODE-BLOCK-END */
  3513. &ANALYZE-RESUME
  3514. /* ************************ Function Implementations ***************** */
  3515. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getKGebinde B-table-Win
  3516. FUNCTION getKGebinde RETURNS CHARACTER
  3517. ( ipKGeb_Cd AS CHAR ) :
  3518. /*------------------------------------------------------------------------------
  3519. Purpose:
  3520. Notes:
  3521. ------------------------------------------------------------------------------*/
  3522. FIND KGebinde NO-LOCK
  3523. WHERE KGebinde.Firma = GVFirma
  3524. AND KGebinde.Geb_Cd = ipKGeb_Cd NO-ERROR.
  3525. IF AVAILABLE KGebinde THEN RETURN KGebinde.KBez.
  3526. ELSE RETURN ipKGeb_Cd.
  3527. END FUNCTION.
  3528. /* _UIB-CODE-BLOCK-END */
  3529. &ANALYZE-RESUME
  3530. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getUpdateStatus B-table-Win
  3531. FUNCTION getUpdateStatus RETURNS LOGICAL
  3532. ( /* parameter-definitions */ ) :
  3533. /*------------------------------------------------------------------------------
  3534. Purpose:
  3535. Notes:
  3536. ------------------------------------------------------------------------------*/
  3537. RETURN VUpdate.
  3538. END FUNCTION.
  3539. /* _UIB-CODE-BLOCK-END */
  3540. &ANALYZE-RESUME
  3541. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getVGebinde B-table-Win
  3542. FUNCTION getVGebinde RETURNS CHARACTER
  3543. ( ipVGeb_Cd AS CHAR ) :
  3544. /*------------------------------------------------------------------------------
  3545. Purpose:
  3546. Notes:
  3547. ------------------------------------------------------------------------------*/
  3548. FIND VGebinde NO-LOCK
  3549. WHERE VGebinde.Firma = GVFirma
  3550. AND VGebinde.Geb_Cd = ipVGeb_Cd NO-ERROR.
  3551. IF AVAILABLE VGebinde THEN RETURN VGebinde.KBez.
  3552. ELSE RETURN ipVGeb_Cd.
  3553. END FUNCTION.
  3554. /* _UIB-CODE-BLOCK-END */
  3555. &ANALYZE-RESUME
  3556. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION setZeilenFarbe B-table-Win
  3557. FUNCTION setZeilenFarbe RETURNS LOGICAL
  3558. ( ipFarbe AS INT ) :
  3559. /*------------------------------------------------------------------------------
  3560. Purpose:
  3561. Notes:
  3562. ------------------------------------------------------------------------------*/
  3563. { incl/brwsetzeilenfarbe.i }
  3564. END FUNCTION.
  3565. /* _UIB-CODE-BLOCK-END */
  3566. &ANALYZE-RESUME