| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594 |
- &ANALYZE-SUSPEND _VERSION-NUMBER UIB_v8r12 GUI ADM1
- &ANALYZE-RESUME
- /* Connected Databases
- anadat PROGRESS
- */
- &Scoped-define WINDOW-NAME CURRENT-WINDOW
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS F-Frame-Win
- /*------------------------------------------------------------------------
- File:
- Description: from cntnrfrm.w - ADM SmartFrame Template
- Input Parameters:
- <none>
- Output Parameters:
- <none>
-
- ------------------------------------------------------------------------*/
- /* This .W file was created with the Progress UIB. */
- /*----------------------------------------------------------------------*/
- /* Create an unnamed pool to store all the widgets created
- by this procedure. This is a good default which assures
- that this procedure's triggers and internal procedures
- will execute in this procedure's storage, and that proper
- cleanup will occur on deletion of the procedure. */
- CREATE WIDGET-POOL.
- /* *************************** Definitions ************************** */
- /* Parameters Definitions --- */
- /* Local Variable Definitions --- */
- DEF VAR QOpen AS LOG.
- DEF VAR Vorhanden AS LOG NO-UNDO.
- DEF VAR VUpdate AS LOG NO-UNDO.
- DEF VAR VNeu AS LOG NO-UNDO.
- DEF VAR XArtnr AS INT NO-UNDO.
- DEF VAR VArtnr AS INT NO-UNDO.
- DEF VAR VInhalt AS INT NO-UNDO.
- DEF VAR VBez1 AS CHAR NO-UNDO.
- DEF VAR VBez2 AS CHAR NO-UNDO.
- DEF VAR VJahr AS INT NO-UNDO.
- DEF VAR XArtnt AS INT NO-UNDO.
- DEF VAR LHandle AS HANDLE NO-UNDO.
- DEF VAR XHandle AS HANDLE NO-UNDO.
- DEF VAR hDaten AS HANDLE NO-UNDO.
- DEF VAR hFenster AS HANDLE NO-UNDO.
- DEF VAR FeldName AS CHAR NO-UNDO.
- DEF VAR FeldInhalt AS CHAR NO-UNDO.
- DEF VAR VPos AS INT NO-UNDO.
- DEF VAR FAlfa AS LOG NO-UNDO.
- DEF VAR FNeuMut AS LOG NO-UNDO.
- DEF VAR KGebKBez AS CHAR NO-UNDO.
- DEF VAR BBestand AS DEC NO-UNDO.
- DEF VAR VSein_Preis_FRW AS DEC DECIMALS 4 NO-UNDO.
- DEF VAR VSein_Preis AS DEC DECIMALS 4 NO-UNDO.
- DEF VAR VRabatt AS DEC DECIMALS 4 NO-UNDO.
- DEF VAR VSpesen AS DEC DECIMALS 4 NO-UNDO.
- DEF VAR VPreis AS DEC DECIMALS 4 NO-UNDO.
- DEF VAR VL_EP_FRW AS DEC DECIMALS 4 NO-UNDO.
- DEF VAR VAlter_Listen_EP AS DEC DECIMALS 4 NO-UNDO.
- DEF VAR VAlter_EP AS DEC DECIMALS 4 NO-UNDO.
- DEF VAR VFRW AS CHAR NO-UNDO.
- DEF VAR VKurs AS DEC DECIMALS 4 NO-UNDO.
- DEF VAR VFaktor AS INT NO-UNDO.
- DEF VAR iKnr AS INT NO-UNDO.
- DEF VAR iBnr AS INT NO-UNDO.
- DEF VAR BRecid AS RECID NO-UNDO.
- DEF VAR iStatus AS INT NO-UNDO.
- DEF VAR MinNr AS INT NO-UNDO.
- DEF BUFFER BBesze FOR Besze.
- DEF BUFFER BArtst FOR Artst.
- DEF TEMP-TABLE TBrowser NO-UNDO
- FIELD Feld AS CHAR
- FIELD Pos AS INT
- FIELD Breit AS DEC
- FIELD fAktiv AS LOG
- FIELD fVisible AS LOG
- FIELD PosAkt AS INT
- FIELD BreitAkt AS DEC
- FIELD hCol AS HANDLE
- FIELD cType AS CHAR
- FIELD cFormat AS CHAR
- FIELD cInitial AS CHAR
- FIELD cLabel AS CHAR.
-
- DEF TEMP-TABLE tBesze LIKE Besze.
-
- /* ---------- Globale Variablen ---------------------------------- */
- { v8/globvar.i" " " " "SHARED" }
- { v8/debivar.i " " " " "SHARED" }
- { v8/artivar.i " " " " "SHARED" }
- { v8/contvar.i " " " " "SHARED" }
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
- /* ******************** Preprocessor Definitions ******************** */
- &Scoped-define PROCEDURE-TYPE SmartFrame
- &Scoped-define DB-AWARE no
- &Scoped-define ADM-CONTAINER FRAME
- /* Name of designated FRAME-NAME and/or first browse and/or first query */
- &Scoped-define FRAME-NAME F-Main
- &Scoped-define BROWSE-NAME Br_Besze
- /* External Tables */
- &Scoped-define EXTERNAL-TABLES Besko
- &Scoped-define FIRST-EXTERNAL-TABLE Besko
- /* Need to scope the external tables to this procedure */
- DEFINE QUERY external_tables FOR Besko.
- /* Internal Tables (found by Frame, Query & Browse Queries) */
- &Scoped-define INTERNAL-TABLES Besze
- /* Definitions for BROWSE Br_Besze */
- &Scoped-define FIELDS-IN-QUERY-Br_Besze Besze.Artnr ~
- DYNAMIC-FUNCTION('getKGebindeKBez':U, KGeb_Cd) @ KGebKBez Besze.Jahr ~
- Besze.Bez1 Besze.Lager ~
- DYNAMIC-FUNCTION('getLagerBestand':U, Besze.Artnr, Besze.Inhalt, Besze.Jahr, Besze.Lager) @ BBestand ~
- Besze.Verbrauch Besze.Rueckstand Besze.MBest Besze.MGeli Besze.S_Artnr ~
- Besze.S_Preis_FRW Besze.L_EP Besze.Inhalt
- &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_Besze
- &Scoped-define QUERY-STRING-Br_Besze FOR EACH Besze OF Besko NO-LOCK
- &Scoped-define OPEN-QUERY-Br_Besze OPEN QUERY Br_Besze FOR EACH Besze OF Besko NO-LOCK.
- &Scoped-define TABLES-IN-QUERY-Br_Besze Besze
- &Scoped-define FIRST-TABLE-IN-QUERY-Br_Besze Besze
- /* Definitions for FRAME F-Main */
- /* Standard List Definitions */
- &Scoped-Define ENABLED-OBJECTS Br_Besze F_Bestand F_Bestand_Neu F_GGeb ~
- F_VGeb F_KGeb RECT-39 RECT-40
- &Scoped-Define DISPLAYED-FIELDS Besko.Besnr Besko.Knr Besko.Lief_Datum ~
- Besze.Inhalt Besze.Jahr Besze.Bez1 Besze.Bez2 Besze.S_Artnr Besze.GGeb_Me ~
- Besze.VGeb_Me Besze.KGeb_Me Besze.S_Preis_FRW Besze.S_Preis Besze.Rabatt ~
- Besze.Spesen Besze.Preis Besze.L_EP_FRW Besze.Aktion Besze.Alter_Listen_EP ~
- Besze.Alter_EP
- &Scoped-define DISPLAYED-TABLES Besko Besze
- &Scoped-define FIRST-DISPLAYED-TABLE Besko
- &Scoped-define SECOND-DISPLAYED-TABLE Besze
- &Scoped-Define DISPLAYED-OBJECTS F_Adresse F_Artnr F_Betrag F_Bestand ~
- F_Bestand_Neu F_Betrag_FRW
- /* Custom List Definitions */
- /* List-1,List-2,List-3,List-4,List-5,List-6 */
- &Scoped-define List-1 Besko.Besnr Besko.Knr F_Adresse Besko.Lief_Datum
- &Scoped-define List-2 F_Artnr Besze.Inhalt Besze.Jahr Besze.Bez1 Besze.Bez2 ~
- Besze.S_Artnr Besze.GGeb_Me Besze.VGeb_Me Besze.KGeb_Me Besze.S_Preis_FRW ~
- Besze.S_Preis Besze.Rabatt Besze.Spesen Besze.Preis Besze.L_EP_FRW ~
- Besze.Aktion Besze.Alter_Listen_EP Besze.Alter_EP F_Betrag F_Betrag_FRW
- &Scoped-define List-3 Besze.Bez1 Besze.Bez2 Besze.S_Artnr Besze.GGeb_Me ~
- Besze.VGeb_Me Besze.KGeb_Me
- &Scoped-define List-5 Besze.S_Preis_FRW Besze.S_Preis Besze.Rabatt ~
- Besze.Spesen Besze.Preis Besze.L_EP_FRW Besze.Aktion Besze.Alter_Listen_EP ~
- Besze.Alter_EP F_Betrag F_Betrag_FRW
- &Scoped-define List-6 Besze.GGeb_Me Besze.VGeb_Me Besze.KGeb_Me
- /* _UIB-PREPROCESSOR-BLOCK-END */
- &ANALYZE-RESUME
- /* *********************** Control Definitions ********************** */
- /* Definitions of the field level widgets */
- DEFINE VARIABLE F_Adresse AS CHARACTER FORMAT "X(256)":U
- VIEW-AS FILL-IN NATIVE
- SIZE 57.6 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Artnr AS CHARACTER FORMAT "x(10)"
- VIEW-AS FILL-IN NATIVE
- SIZE 12 BY 1
- BGCOLOR 15 .
- DEFINE VARIABLE F_Bestand AS DECIMAL FORMAT "z,zzz,zz9-":U INITIAL 0
- LABEL "Bestand"
- VIEW-AS FILL-IN NATIVE
- SIZE 16.8 BY 1
- BGCOLOR 14 NO-UNDO.
- DEFINE VARIABLE F_Bestand_Neu AS DECIMAL FORMAT "z,zzz,zz9-":U INITIAL 0
- LABEL "Best. neu"
- VIEW-AS FILL-IN NATIVE
- SIZE 16.8 BY 1
- BGCOLOR 14 NO-UNDO.
- DEFINE VARIABLE F_Betrag AS DECIMAL FORMAT "z,zzz,zz9.99-":U INITIAL 0
- LABEL "Betrag"
- VIEW-AS FILL-IN NATIVE
- SIZE 22.4 BY 1
- BGCOLOR 14 NO-UNDO.
- DEFINE VARIABLE F_Betrag_FRW AS DECIMAL FORMAT "zzz,zzz,zz9.99-":U INITIAL 0
- LABEL "Betrag FRW"
- VIEW-AS FILL-IN NATIVE
- SIZE 25.2 BY 1
- BGCOLOR 14 NO-UNDO.
- DEFINE VARIABLE F_GGeb AS CHARACTER FORMAT "X(256)":U
- VIEW-AS TEXT
- SIZE 14 BY 1
- FONT 9 NO-UNDO.
- DEFINE VARIABLE F_KGeb AS CHARACTER FORMAT "X(256)":U
- VIEW-AS TEXT
- SIZE 14 BY 1
- FONT 9 NO-UNDO.
- DEFINE VARIABLE F_VGeb AS CHARACTER FORMAT "X(256)":U
- VIEW-AS TEXT
- SIZE 14 BY 1
- FONT 9 NO-UNDO.
- DEFINE RECTANGLE RECT-39
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 132 BY 2.95.
- DEFINE RECTANGLE RECT-40
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 132 BY 10.52.
- /* Query definitions */
- &ANALYZE-SUSPEND
- DEFINE QUERY Br_Besze FOR
- Besze SCROLLING.
- &ANALYZE-RESUME
- /* Browse definitions */
- DEFINE BROWSE Br_Besze
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_Besze F-Frame-Win _STRUCTURED
- QUERY Br_Besze DISPLAY
- Besze.Artnr FORMAT "999999":U WIDTH 8
- DYNAMIC-FUNCTION('getKGebindeKBez':U, KGeb_Cd) @ KGebKBez COLUMN-LABEL "K-Gebinde" FORMAT "x(12)":U
- Besze.Jahr FORMAT "9999":U WIDTH 5
- Besze.Bez1 COLUMN-LABEL "Artikelbezeichnung" FORMAT "x(30)":U
- Besze.Lager COLUMN-LABEL "Lag" FORMAT "99":U WIDTH 4
- DYNAMIC-FUNCTION('getLagerBestand':U, Besze.Artnr, Besze.Inhalt, Besze.Jahr, Besze.Lager) @ BBestand COLUMN-LABEL "Bestand" FORMAT "->>>,>>9":U
- Besze.Verbrauch FORMAT "->>>,>>9":U WIDTH 8
- Besze.Rueckstand FORMAT "->>>,>>9":U WIDTH 8
- Besze.MBest COLUMN-LABEL "Bestellt" FORMAT "->>>,>>9":U WIDTH 8
- Besze.MGeli COLUMN-LABEL "Geliefert" FORMAT "->>>,>>9":U
- WIDTH 8
- Besze.S_Artnr COLUMN-LABEL "S. Nummer" FORMAT "x(10)":U WIDTH 10
- Besze.S_Preis_FRW COLUMN-LABEL "Sein Preis" FORMAT "zzz,zz9.999":U
- Besze.L_EP COLUMN-LABEL "Letzt.EP CHF" FORMAT "z,zz9.99":U
- WIDTH 13
- Besze.Inhalt FORMAT "9999":U WIDTH 6
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- WITH NO-ROW-MARKERS SEPARATORS SIZE 132 BY 6.19
- BGCOLOR 15 .
- /* ************************ Frame Definitions *********************** */
- DEFINE FRAME F-Main
- Br_Besze AT ROW 15.24 COL 2
- Besko.Besnr AT ROW 2.86 COL 7.2 COLON-ALIGNED NO-LABEL
- VIEW-AS FILL-IN NATIVE
- SIZE 12 BY 1
- BGCOLOR 15
- Besko.Knr AT ROW 2.86 COL 27.2 COLON-ALIGNED NO-LABEL
- VIEW-AS FILL-IN NATIVE
- SIZE 12 BY 1
- BGCOLOR 15
- F_Adresse AT ROW 2.86 COL 44.6 COLON-ALIGNED NO-LABEL
- Besko.Lief_Datum AT ROW 2.86 COL 107.4 COLON-ALIGNED NO-LABEL
- VIEW-AS FILL-IN NATIVE
- SIZE 20.4 BY 1
- BGCOLOR 15
- F_Artnr AT ROW 5.76 COL 3 COLON-ALIGNED NO-LABEL
- Besze.Inhalt AT ROW 5.76 COL 15.8 COLON-ALIGNED NO-LABEL FORMAT "9999"
- VIEW-AS FILL-IN NATIVE
- SIZE 9 BY 1
- BGCOLOR 15
- Besze.Jahr AT ROW 5.76 COL 25.8 COLON-ALIGNED NO-LABEL FORMAT "9999"
- VIEW-AS FILL-IN NATIVE
- SIZE 9 BY 1
- BGCOLOR 15
- Besze.Bez1 AT ROW 5.76 COL 35.6 COLON-ALIGNED NO-LABEL FORMAT "x(30)"
- VIEW-AS FILL-IN NATIVE
- SIZE 35 BY 1
- BGCOLOR 15
- Besze.Bez2 AT ROW 6.76 COL 35.6 COLON-ALIGNED NO-LABEL FORMAT "x(30)"
- VIEW-AS FILL-IN NATIVE
- SIZE 35 BY 1
- BGCOLOR 15
- Besze.S_Artnr AT ROW 5.76 COL 74.8 COLON-ALIGNED NO-LABEL FORMAT "x(12)"
- VIEW-AS FILL-IN NATIVE
- SIZE 24 BY 1
- BGCOLOR 15 NO-TAB-STOP
- Besze.GGeb_Me AT ROW 4.71 COL 116.2 COLON-ALIGNED NO-LABEL FORMAT "zz,zz9-"
- VIEW-AS FILL-IN NATIVE
- SIZE 12 BY 1
- BGCOLOR 15
- Besze.VGeb_Me AT ROW 5.76 COL 116.2 COLON-ALIGNED NO-LABEL FORMAT "zz,zz9-"
- VIEW-AS FILL-IN NATIVE
- SIZE 12 BY 1
- BGCOLOR 15
- Besze.KGeb_Me AT ROW 6.76 COL 116.2 COLON-ALIGNED NO-LABEL FORMAT "zz,zz9-"
- VIEW-AS FILL-IN NATIVE
- SIZE 12 BY 1
- BGCOLOR 15
- Besze.S_Preis_FRW AT ROW 10.52 COL 2 COLON-ALIGNED NO-LABEL
- VIEW-AS FILL-IN NATIVE
- SIZE 26 BY 1
- BGCOLOR 15
- Besze.S_Preis AT ROW 10.52 COL 30 COLON-ALIGNED NO-LABEL FORMAT "zzz,zz9.9999"
- VIEW-AS FILL-IN NATIVE
- SIZE 20 BY 1
- BGCOLOR 15
- Besze.Rabatt AT ROW 10.52 COL 52 COLON-ALIGNED NO-LABEL
- VIEW-AS FILL-IN NATIVE
- SIZE 11 BY 1
- BGCOLOR 15
- Besze.Spesen AT ROW 10.52 COL 65 COLON-ALIGNED NO-LABEL
- VIEW-AS FILL-IN NATIVE
- SIZE 11 BY 1
- BGCOLOR 15
- Besze.Preis AT ROW 10.52 COL 77 COLON-ALIGNED NO-LABEL FORMAT "zz,zz9.9999"
- VIEW-AS FILL-IN NATIVE
- SIZE 18 BY 1
- BGCOLOR 15
- Besze.L_EP_FRW AT ROW 10.52 COL 96 COLON-ALIGNED NO-LABEL FORMAT "zzz,zzz,zz9.9999"
- VIEW-AS FILL-IN NATIVE
- SIZE 26 BY 1
- BGCOLOR 15
- Besze.Aktion AT ROW 10.52 COL 123.4 COLON-ALIGNED NO-LABEL FORMAT "J/N"
- VIEW-AS FILL-IN NATIVE
- SIZE 5.4 BY 1
- BGCOLOR 15
- Besze.Alter_Listen_EP AT ROW 11.71 COL 30 COLON-ALIGNED NO-LABEL FORMAT "zzz,zz9.9999"
- VIEW-AS FILL-IN NATIVE
- SIZE 20 BY 1
- BGCOLOR 15
- Besze.Alter_EP AT ROW 11.71 COL 77 COLON-ALIGNED NO-LABEL FORMAT "zz,zz9.9999"
- VIEW-AS FILL-IN NATIVE
- SIZE 18 BY 1
- BGCOLOR 15
- WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
- SIDE-LABELS NO-UNDERLINE THREE-D
- AT COL 1 ROW 1
- SIZE 134.8 BY 20.76.
- /* DEFINE FRAME statement is approaching 4K Bytes. Breaking it up */
- DEFINE FRAME F-Main
- F_Betrag AT ROW 12.14 COL 106.4 COLON-ALIGNED
- F_Bestand AT ROW 13.38 COL 31.2 COLON-ALIGNED
- F_Bestand_Neu AT ROW 13.38 COL 60.6 COLON-ALIGNED
- F_Betrag_FRW AT ROW 13.38 COL 103.6 COLON-ALIGNED
- F_GGeb AT ROW 4.62 COL 100.8 COLON-ALIGNED NO-LABEL
- F_VGeb AT ROW 5.76 COL 100.8 COLON-ALIGNED NO-LABEL
- F_KGeb AT ROW 6.76 COL 100.8 COLON-ALIGNED NO-LABEL
- "BestNr" VIEW-AS TEXT
- SIZE 13.8 BY 1 AT ROW 1.62 COL 8.2
- FONT 9
- "Sein Preis" VIEW-AS TEXT
- SIZE 20 BY 1 AT ROW 8.43 COL 32
- FONT 9
- "Rabatt" VIEW-AS TEXT
- SIZE 11 BY 1 AT ROW 8.43 COL 54
- FONT 9
- "Spesen" VIEW-AS TEXT
- SIZE 11 BY 1 AT ROW 8.43 COL 67
- FONT 9
- "Preis" VIEW-AS TEXT
- SIZE 18 BY 1 AT ROW 8.43 COL 79
- FONT 9
- "Letzter EP FRW" VIEW-AS TEXT
- SIZE 26 BY 1 AT ROW 8.43 COL 123 RIGHT-ALIGNED
- FONT 9
- "Aktion" VIEW-AS TEXT
- SIZE 9 BY 1 AT ROW 8.43 COL 125.4
- FONT 9
- "L-Listen-EP" VIEW-AS TEXT
- SIZE 20 BY 1 AT ROW 9.43 COL 32
- FONT 9
- "Letzter EP" VIEW-AS TEXT
- SIZE 18 BY 1 AT ROW 9.43 COL 79
- FONT 9
- "LiefNr" VIEW-AS TEXT
- SIZE 11.2 BY 1 AT ROW 1.62 COL 30.2
- FONT 9
- "Lieferant" VIEW-AS TEXT
- SIZE 31.6 BY 1 AT ROW 1.62 COL 46.6
- FONT 9
- "Lieferdatum" VIEW-AS TEXT
- SIZE 20.4 BY 1 AT ROW 1.62 COL 109
- FONT 9
- "ArtNr" VIEW-AS TEXT
- SIZE 11.2 BY 1 AT ROW 4.71 COL 5.4
- FONT 9
- "Inhalt" VIEW-AS TEXT
- SIZE 9 BY 1 AT ROW 4.71 COL 17.8
- FONT 9
- "Jahr" VIEW-AS TEXT
- SIZE 9 BY 1 AT ROW 4.71 COL 27.8
- FONT 9
- "Bezeichnung" VIEW-AS TEXT
- SIZE 35 BY 1 AT ROW 4.71 COL 37.6
- FONT 9
- "Seine ArtNr" VIEW-AS TEXT
- SIZE 23.2 BY 1 AT ROW 4.71 COL 76.8
- FONT 9
- "Sein Preis FRW" VIEW-AS TEXT
- SIZE 26 BY 1 AT ROW 8.43 COL 4
- FONT 9
- RECT-39 AT ROW 1.19 COL 2.4
- RECT-40 AT ROW 4.43 COL 2
- WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
- SIDE-LABELS NO-UNDERLINE THREE-D
- AT COL 1 ROW 1
- SIZE 134.8 BY 20.76.
- /* *********************** Procedure Settings ************************ */
- &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
- /* Settings for THIS-PROCEDURE
- Type: SmartFrame
- External Tables: AnaDat.Besko
- Allow: Basic,Browse,DB-Fields,Query,Smart
- Design Page: 1
- Other Settings: PERSISTENT-ONLY COMPILE
- */
- /* This procedure should always be RUN PERSISTENT. Report the error, */
- /* then cleanup and return. */
- IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
- MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
- VIEW-AS ALERT-BOX ERROR BUTTONS OK.
- RETURN.
- END.
- &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
- /* ************************* Create Window ************************** */
- &ANALYZE-SUSPEND _CREATE-WINDOW
- /* DESIGN Window definition (used by the UIB)
- CREATE WINDOW F-Frame-Win ASSIGN
- HEIGHT = 20.76
- WIDTH = 134.8.
- /* END WINDOW DEFINITION */
- */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB F-Frame-Win
- /* ************************* Included-Libraries *********************** */
- {src/adm/method/containr.i}
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* *********** Runtime Attributes and AppBuilder Settings *********** */
- &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
- /* SETTINGS FOR WINDOW F-Frame-Win
- VISIBLE,,RUN-PERSISTENT */
- /* SETTINGS FOR FRAME F-Main
- NOT-VISIBLE FRAME-NAME Custom */
- /* BROWSE-TAB Br_Besze 1 F-Main */
- /* SETTINGS FOR FILL-IN Besze.Aktion IN FRAME F-Main
- NO-ENABLE 2 5 EXP-LABEL EXP-FORMAT */
- /* SETTINGS FOR FILL-IN Besze.Alter_EP IN FRAME F-Main
- NO-ENABLE 2 5 EXP-LABEL EXP-FORMAT */
- /* SETTINGS FOR FILL-IN Besze.Alter_Listen_EP IN FRAME F-Main
- NO-ENABLE 2 5 EXP-LABEL EXP-FORMAT */
- /* SETTINGS FOR FILL-IN Besko.Besnr IN FRAME F-Main
- NO-ENABLE 1 */
- /* SETTINGS FOR FILL-IN Besze.Bez1 IN FRAME F-Main
- NO-ENABLE 2 3 EXP-LABEL EXP-FORMAT */
- /* SETTINGS FOR FILL-IN Besze.Bez2 IN FRAME F-Main
- NO-ENABLE 2 3 EXP-LABEL EXP-FORMAT */
- ASSIGN
- Br_Besze:COLUMN-RESIZABLE IN FRAME F-Main = TRUE
- Br_Besze:COLUMN-MOVABLE IN FRAME F-Main = TRUE.
- /* SETTINGS FOR FILL-IN F_Adresse IN FRAME F-Main
- NO-ENABLE 1 */
- /* SETTINGS FOR FILL-IN F_Artnr IN FRAME F-Main
- NO-ENABLE 2 */
- /* SETTINGS FOR FILL-IN F_Betrag IN FRAME F-Main
- NO-ENABLE 2 5 */
- /* SETTINGS FOR FILL-IN F_Betrag_FRW IN FRAME F-Main
- NO-ENABLE 2 5 */
- /* SETTINGS FOR FILL-IN F_GGeb IN FRAME F-Main
- NO-DISPLAY */
- /* SETTINGS FOR FILL-IN F_KGeb IN FRAME F-Main
- NO-DISPLAY */
- /* SETTINGS FOR FILL-IN F_VGeb IN FRAME F-Main
- NO-DISPLAY */
- /* SETTINGS FOR FILL-IN Besze.GGeb_Me IN FRAME F-Main
- NO-ENABLE 2 3 6 EXP-LABEL EXP-FORMAT */
- /* SETTINGS FOR FILL-IN Besze.Inhalt IN FRAME F-Main
- NO-ENABLE 2 EXP-LABEL EXP-FORMAT */
- /* SETTINGS FOR FILL-IN Besze.Jahr IN FRAME F-Main
- NO-ENABLE 2 EXP-LABEL EXP-FORMAT */
- /* SETTINGS FOR FILL-IN Besze.KGeb_Me IN FRAME F-Main
- NO-ENABLE 2 3 6 EXP-LABEL EXP-FORMAT */
- /* SETTINGS FOR FILL-IN Besko.Knr IN FRAME F-Main
- NO-ENABLE 1 */
- /* SETTINGS FOR FILL-IN Besko.Lief_Datum IN FRAME F-Main
- NO-ENABLE 1 */
- /* SETTINGS FOR FILL-IN Besze.L_EP_FRW IN FRAME F-Main
- NO-ENABLE 2 5 EXP-LABEL EXP-FORMAT */
- /* SETTINGS FOR FILL-IN Besze.Preis IN FRAME F-Main
- NO-ENABLE 2 5 EXP-LABEL EXP-FORMAT */
- /* SETTINGS FOR FILL-IN Besze.Rabatt IN FRAME F-Main
- NO-ENABLE 2 5 */
- /* SETTINGS FOR FILL-IN Besze.Spesen IN FRAME F-Main
- NO-ENABLE 2 5 */
- /* SETTINGS FOR FILL-IN Besze.S_Artnr IN FRAME F-Main
- NO-ENABLE 2 3 EXP-LABEL EXP-FORMAT */
- ASSIGN
- Besze.S_Artnr:READ-ONLY IN FRAME F-Main = TRUE.
- /* SETTINGS FOR FILL-IN Besze.S_Preis IN FRAME F-Main
- NO-ENABLE 2 5 EXP-LABEL EXP-FORMAT */
- /* SETTINGS FOR FILL-IN Besze.S_Preis_FRW IN FRAME F-Main
- NO-ENABLE 2 5 */
- /* SETTINGS FOR FILL-IN Besze.VGeb_Me IN FRAME F-Main
- NO-ENABLE 2 3 6 EXP-LABEL EXP-FORMAT */
- /* SETTINGS FOR TEXT-LITERAL "Letzter EP FRW"
- SIZE 26 BY 1 AT ROW 8.43 COL 123 RIGHT-ALIGNED */
- /* _RUN-TIME-ATTRIBUTES-END */
- &ANALYZE-RESUME
- /* Setting information for Queries and Browse Widgets fields */
- &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_Besze
- /* Query rebuild information for BROWSE Br_Besze
- _TblList = "AnaDat.Besze OF AnaDat.Besko"
- _FldNameList[1] > AnaDat.Besze.Artnr
- "Besze.Artnr" ? ? "integer" ? ? ? ? ? ? no ? no no "8" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[2] > "_<CALC>"
- "DYNAMIC-FUNCTION('getKGebindeKBez':U, KGeb_Cd) @ KGebKBez" "K-Gebinde" "x(12)" ? ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[3] > AnaDat.Besze.Jahr
- "Besze.Jahr" ? ? "integer" ? ? ? ? ? ? no ? no no "5" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[4] > AnaDat.Besze.Bez1
- "Besze.Bez1" "Artikelbezeichnung" ? "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[5] > AnaDat.Besze.Lager
- "Besze.Lager" "Lag" ? "integer" ? ? ? ? ? ? no ? no no "4" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[6] > "_<CALC>"
- "DYNAMIC-FUNCTION('getLagerBestand':U, Besze.Artnr, Besze.Inhalt, Besze.Jahr, Besze.Lager) @ BBestand" "Bestand" "->>>,>>9" ? ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[7] > AnaDat.Besze.Verbrauch
- "Besze.Verbrauch" ? "->>>,>>9" "decimal" ? ? ? ? ? ? no ? no no "8" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[8] > AnaDat.Besze.Rueckstand
- "Besze.Rueckstand" ? "->>>,>>9" "decimal" ? ? ? ? ? ? no ? no no "8" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[9] > AnaDat.Besze.MBest
- "Besze.MBest" "Bestellt" "->>>,>>9" "decimal" ? ? ? ? ? ? no ? no no "8" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[10] > AnaDat.Besze.MGeli
- "Besze.MGeli" "Geliefert" "->>>,>>9" "decimal" ? ? ? ? ? ? no ? no no "8" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[11] > AnaDat.Besze.S_Artnr
- "Besze.S_Artnr" "S. Nummer" "x(10)" "character" ? ? ? ? ? ? no ? no no "10" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[12] > AnaDat.Besze.S_Preis_FRW
- "Besze.S_Preis_FRW" "Sein Preis" "zzz,zz9.999" "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[13] > AnaDat.Besze.L_EP
- "Besze.L_EP" "Letzt.EP CHF" "z,zz9.99" "decimal" ? ? ? ? ? ? no ? no no "13" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[14] > AnaDat.Besze.Inhalt
- "Besze.Inhalt" ? ? "integer" ? ? ? ? ? ? no ? no no "6" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _Query is NOT OPENED
- */ /* BROWSE Br_Besze */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
- /* Query rebuild information for FRAME F-Main
- _Options = ""
- _Query is NOT OPENED
- */ /* FRAME F-Main */
- &ANALYZE-RESUME
-
- /* ************************ Control Triggers ************************ */
- &Scoped-define SELF-NAME F-Main
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F-Main F-Frame-Win
- ON END-ERROR OF FRAME F-Main
- DO:
- RUN new-state ( INPUT 'ENDE, MAIN':U ).
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F-Main F-Frame-Win
- ON ENDKEY OF FRAME F-Main
- DO:
- RUN new-state ( INPUT 'ENDE, MAIN':U ).
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Besze.Aktion
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.Aktion F-Frame-Win
- ON END OF Besze.Aktion IN FRAME F-Main /* Aktion */
- DO:
- IF VNeu THEN RETURN NO-APPLY.
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.Aktion F-Frame-Win
- ON END-ERROR OF Besze.Aktion IN FRAME F-Main /* Aktion */
- DO:
- RUN ABBRECHEN.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.Aktion F-Frame-Win
- ON LEAVE OF Besze.Aktion IN FRAME F-Main /* Aktion */
- DO:
- IF KEYFUNCTIO(LASTKEY) = 'END-ERROR' THEN RETURN NO-APPLY.
- IF NOT VUpdate THEN RETURN NO-APPLY.
-
- RUN SPEICHERN.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Besze.Alter_EP
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.Alter_EP F-Frame-Win
- ON LEAVE OF Besze.Alter_EP IN FRAME F-Main /* Alter_EP */
- DO:
- RUN ABBRECHEN.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Besze.Alter_Listen_EP
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.Alter_Listen_EP F-Frame-Win
- ON END-ERROR OF Besze.Alter_Listen_EP IN FRAME F-Main /* Alter_Listen_EP */
- DO:
- RUN ABBRECHEN.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Besze.Bez1
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.Bez1 F-Frame-Win
- ON CURSOR-DOWN OF Besze.Bez1 IN FRAME F-Main /* Bez1 */
- DO:
- APPLY 'ENTRY' TO Besze.S_Preis_FRW.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.Bez1 F-Frame-Win
- ON END OF Besze.Bez1 IN FRAME F-Main /* Bez1 */
- DO:
- IF VNeu THEN RETURN NO-APPLY.
- RUN SPEICHERN.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.Bez1 F-Frame-Win
- ON END-ERROR OF Besze.Bez1 IN FRAME F-Main /* Bez1 */
- DO:
- RUN ABBRECHEN.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Besze.Bez2
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.Bez2 F-Frame-Win
- ON END OF Besze.Bez2 IN FRAME F-Main /* Bez2 */
- DO:
- IF VNeu THEN RETURN NO-APPLY.
- RUN SPEICHERN.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.Bez2 F-Frame-Win
- ON END-ERROR OF Besze.Bez2 IN FRAME F-Main /* Bez2 */
- DO:
- RUN ABBRECHEN.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define BROWSE-NAME Br_Besze
- &Scoped-define SELF-NAME Br_Besze
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Besze F-Frame-Win
- ON DELETE-CHARACTER OF Br_Besze IN FRAME F-Main
- DO:
- IF iStatus > 3 THEN RETURN NO-APPLY.
- IF VUpdate THEN RETURN NO-APPLY.
- RUN LOESCHEN.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Besze F-Frame-Win
- ON END-ERROR OF Br_Besze IN FRAME F-Main
- DO:
- RUN new-state ( INPUT 'ENDE, MAIN':U ).
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Besze F-Frame-Win
- ON ENDKEY OF Br_Besze IN FRAME F-Main
- DO:
- RUN new-state ( INPUT 'ENDE, MAIN':U ).
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Besze F-Frame-Win
- ON ENTRY OF Br_Besze IN FRAME F-Main
- DO:
- RUN ABBRECHEN.
- IF NUM-RESULTS("{&BROWSE-NAME}":U) = ? THEN RETURN NO-APPLY.
- IF NUM-RESULTS("{&BROWSE-NAME}":U) = 0 THEN RETURN NO-APPLY.
- BROWSE {&BROWSE-NAME}:SELECT-FOCUSED-ROW().
- BROWSE {&BROWSE-NAME}:FETCH-SELECTED-ROW(1).
- RUN ANZEIGE.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Besze F-Frame-Win
- ON INSERT-MODE OF Br_Besze IN FRAME F-Main
- DO:
- FIND Besko NO-LOCK
- WHERE Besko.Firma = GVFirma
- AND Besko.Besnr = LVBesnr NO-ERROR.
- IF NOT AVAILABLE Besko THEN RETURN NO-APPLY.
- IF Besko.Best_Sta > 2 THEN RETURN NO-APPLY.
- iKnr = Besko.Knr.
- RUN ERFASSEN.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Besze F-Frame-Win
- ON RETURN OF Br_Besze IN FRAME F-Main
- DO:
- IF VUpdate THEN RETURN NO-APPLY.
- RUN AENDERN.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Besze F-Frame-Win
- ON ROW-DISPLAY OF Br_Besze IN FRAME F-Main
- DO:
- IF Besko.Best_Sta > 3 THEN DO:
- IF Besze.Alter_EP <> Besze.Preis THEN DO:
- Besze.Artnr :BGCOLOR IN BROWSE {&BROWSE-NAME} = 08.
- Besze.Inhalt :BGCOLOR IN BROWSE {&BROWSE-NAME} = 08.
- Besze.Jahr :BGCOLOR IN BROWSE {&BROWSE-NAME} = 08.
- Besze.Bez1 :BGCOLOR IN BROWSE {&BROWSE-NAME} = 08.
- Besze.S_Artnr :BGCOLOR IN BROWSE {&BROWSE-NAME} = 08.
- Besze.MBest :BGCOLOR IN BROWSE {&BROWSE-NAME} = 08.
- Besze.MGeli :BGCOLOR IN BROWSE {&BROWSE-NAME} = 08.
- Besze.S_Preis_FRW:BGCOLOR IN BROWSE {&BROWSE-NAME} = 08.
- Besze.L_EP :BGCOLOR IN BROWSE {&BROWSE-NAME} = 08.
- KGebKBez :BGCOLOR IN BROWSE {&BROWSE-NAME} = 08.
- BBestand :BGCOLOR IN BROWSE {&BROWSE-NAME} = 08.
- Besze.Lager :BGCOLOR IN BROWSE {&BROWSE-NAME} = 08.
- Besze.Verbrauch :BGCOLOR IN BROWSE {&BROWSE-NAME} = 08.
- END.
- END.
- IF Besze.Aktion = TRUE THEN DO:
- Besze.Artnr :BGCOLOR IN BROWSE {&BROWSE-NAME} = 14.
- Besze.Inhalt :BGCOLOR IN BROWSE {&BROWSE-NAME} = 14.
- Besze.Jahr :BGCOLOR IN BROWSE {&BROWSE-NAME} = 14.
- Besze.Bez1 :BGCOLOR IN BROWSE {&BROWSE-NAME} = 14.
- Besze.S_Artnr :BGCOLOR IN BROWSE {&BROWSE-NAME} = 14.
- Besze.MBest :BGCOLOR IN BROWSE {&BROWSE-NAME} = 14.
- Besze.MGeli :BGCOLOR IN BROWSE {&BROWSE-NAME} = 14.
- Besze.S_Preis_FRW:BGCOLOR IN BROWSE {&BROWSE-NAME} = 14.
- Besze.L_EP :BGCOLOR IN BROWSE {&BROWSE-NAME} = 14.
- KGebKBez :BGCOLOR IN BROWSE {&BROWSE-NAME} = 14.
- BBestand :BGCOLOR IN BROWSE {&BROWSE-NAME} = 14.
- Besze.Lager :BGCOLOR IN BROWSE {&BROWSE-NAME} = 08.
- Besze.Verbrauch :BGCOLOR IN BROWSE {&BROWSE-NAME} = 08.
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Besze F-Frame-Win
- ON VALUE-CHANGED OF Br_Besze IN FRAME F-Main
- DO:
- IF NUM-RESULTS("{&BROWSE-NAME}":U) = ? THEN RETURN NO-APPLY.
- IF NUM-RESULTS("{&BROWSE-NAME}":U) = 0 THEN RETURN NO-APPLY.
- BROWSE {&BROWSE-NAME}:SELECT-FOCUSED-ROW().
- BROWSE {&BROWSE-NAME}:FETCH-SELECTED-ROW(1).
- RUN ANZEIGE.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Artnr
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Artnr F-Frame-Win
- ON LEAVE OF F_Artnr IN FRAME F-Main
- DO:
- DEF VAR ARecid AS RECID NO-UNDO.
- DEF VAR iArtnr AS INT NO-UNDO.
- DEF VAR yy AS INT NO-UNDO.
- IF NOT VUpdate THEN RETURN.
- IF NOT VNeu THEN RETURN.
-
- DO WITH FRAME {&FRAME-NAME}:
- IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN.
- IF NOT VUpdate THEN RETURN.
- LKY = LASTKEY.
- LHandle = LAST-EVENT:WIDGET-ENTER.
-
- IF VALID-HANDLE(LHandle) THEN DO:
- IF LHandle:TYPE = 'BUTTON' AND
- LHandle:PRIVATE-DATA = 'Abbrechen' THEN DO:
- RETURN NO-APPLY.
- END.
- END.
- XHandle = SELF:HANDLE.
- Feldname = XHandle:NAME.
- FeldInhalt = TRIM(XHandle:SCREEN-VALUE).
- DO WHILE TRUE:
- iArtnr = 0.
- ARecid = ?.
- yy = 0.
- IF NUM-ENTRIES(FeldInhalt, ' ') = 1 THEN iArtnr = INTEGER(FeldInhalt) NO-ERROR.
- IF NOT ERROR-STATUS:ERROR AND
- iArtnr > 0 AND
- iArtnr < 1000000 THEN DO:
- DO WHILE iArtnr < MinNr:
- iArtnr = iArtnr * 10.
- yy = yy + 1.
- END.
- FOR EACH Artst NO-LOCK
- WHERE Artst.Firma = GVFirma
- AND Artst.Artnr = iArtnr:
- ASSIGN yy = yy + 1
- ARecid = RECID(Artst).
- END.
- END.
- IF yy = 1 THEN LEAVE.
-
- LVSuchbe = FeldInhalt.
- ARecid = ?.
- iKnr = INTEGER(Besko.Knr:SCREEN-VALUE).
- LVSuchbe = 'BEST,' + STRING(iKnr,'999999') + ';' + LVSuchbe.
-
- RUN g-suchen-artikel.w ( LVSuchbe, OUTPUT ARecid ).
-
- LEAVE.
- END.
- IF ARecid = ? OR
- ARecid = 0 THEN DO:
- APPLY 'ENTRY' TO SELF.
- RETURN NO-APPLY.
- END.
- FIND BArtst NO-LOCK WHERE RECID(BArtst) = ARecid NO-ERROR.
- IF AVAILABLE BArtst THEN DO:
- FIND FIRST ArtBez NO-LOCK USE-INDEX ArtBez-k1
- WHERE ArtBez.Firma = BArtst.Firma
- AND ArtBez.Artnr = BArtst.Artnr
- AND ArtBez.Inhalt = BArtst.Inhalt
- AND ArtBez.Jahr = BArtst.Jahr NO-ERROR.
- ASSIGN VArtnr = BArtst.Artnr
- VInhalt = BArtst.Inhalt
- VJahr = BArtst.Jahr
- F_Artnr = STRING(VArtnr ,"999999")
- F_Artnr:SCREEN-VALUE = STRING(VArtnr ,"999999")
- Besze.Inhalt:SCREEN-VALUE = STRING(VInhalt,"9999")
- Besze.Jahr:SCREEN-VALUE = STRING(VJahr ,"9999")
- Besze.Bez1:SCREEN-VALUE = Artbez.Bez1.
- FeldInhalt = STRING(VArtnr).
- IF ArtBez.Bez2_Druck THEN VBez2 = ArtBez.Bez2.
-
- FIND Steuer NO-LOCK WHERE Steuer.Firma = GVFirma NO-ERROR.
- IF NOT CAN-FIND(ArtLief NO-LOCK
- WHERE ArtLief.Firma = GVFirma
- AND ArtLief.Artnr = VArtnr
- AND ArtLief.Inhalt = VInhalt
- AND ArtLief.Jahr = VJahr
- AND ArtLief.Knr = INTEGER(Besko.Knr:SCREEN-VALUE))
- THEN DO:
- MESSAGE 'Dieser Artikel ist nicht diesem Lieferanten zugeteilt'
- VIEW-AS ALERT-BOX.
- APPLY 'ENTRY' TO F_Artnr.
- RETURN NO-APPLY.
- END.
- RUN ARTIKEL.
- END.
- IF Gefunden THEN DO:
- APPLY 'ENTRY' TO Besze.Jahr.
- APPLY 'LEAVE' TO Besze.Jahr.
- RETURN.
- END.
- APPLY 'ENTRY' TO Besze.Inhalt.
- RETURN NO-APPLY.
- END.
-
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Artnr F-Frame-Win
- ON RETURN OF F_Artnr IN FRAME F-Main
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Besze.GGeb_Me
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.GGeb_Me F-Frame-Win
- ON CURSOR-DOWN OF Besze.GGeb_Me IN FRAME F-Main /* GGeb_Me */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.GGeb_Me F-Frame-Win
- ON LEAVE OF Besze.GGeb_Me IN FRAME F-Main /* GGeb_Me */
- DO:
- DO WITH FRAME {&FRAME-NAME}:
- i1 = INTEGER(Besze.GGeb_Me:SCREEN-VALUE).
- IF i1 = 0 THEN RETURN.
- i2 = GGebinde.Inhalt * i1.
- Besze.VGeb_Me:SCREEN-VALUE = STRING(i2).
- i2 = VGebinde.Inhalt * i2.
- Besze.KGeb_Me:SCREEN-VALUE = STRING(i2).
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Besze.Inhalt
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.Inhalt F-Frame-Win
- ON LEAVE OF Besze.Inhalt IN FRAME F-Main /* Inhalt */
- DO:
- IF NOT VUpdate THEN RETURN NO-APPLY.
- IF NOT VNeu THEN RETURN NO-APPLY.
- DO WITH FRAME {&FRAME-NAME}:
- IF KEYFUNCTION(LASTKEY) = 'BACK-TAB' THEN DO:
- RETURN.
- END.
- IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN DO:
- RUN ABBRECHEN.
- RETURN NO-APPLY.
- END.
- LKY = LASTKEY.
- LHandle = LAST-EVENT:WIDGET-ENTER.
- IF VALID-HANDLE(LHandle) THEN DO:
- IF LHandle:TYPE = 'BUTTON' AND
- LHandle:PRIVATE-DATA = 'Abbrechen' THEN DO:
- RUN ABBRECHEN.
- RETURN NO-APPLY.
- END.
- END.
- XHandle = SELF:HANDLE.
- Feldname = XHandle:NAME.
- FeldInhalt = XHandle:SCREEN-VALUE.
- VInhalt = INTEGER(FeldInhalt).
-
- FIND FIRST Artst NO-LOCK USE-INDEX Artst-k1
- WHERE Artst.Firma = GVFirma
- AND Artst.Artnr = VArtnr
- AND Artst.Inhalt = VInhalt NO-ERROR.
- IF NOT AVAILABLE Artst THEN DO:
- BELL.
- APPLY 'ENTRY' TO SELF.
- RETURN NO-APPLY.
- END.
- Besze.Inhalt:SCREEN-VALUE = STRING(Artst.Inhalt,"9999").
- Besze.Jahr :SCREEN-VALUE = STRING(Artst.Jahr ,"9999").
- Besze.Bez1 :SCREEN-VALUE = Artst.Bez.
-
- APPLY 'ENTRY' TO Besze.Jahr.
- RETURN NO-APPLY.
- END.
-
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.Inhalt F-Frame-Win
- ON RETURN OF Besze.Inhalt IN FRAME F-Main /* Inhalt */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Besze.Jahr
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.Jahr F-Frame-Win
- ON LEAVE OF Besze.Jahr IN FRAME F-Main /* Jahr */
- DO:
- IF NOT VUpdate THEN RETURN NO-APPLY.
- IF NOT VNeu THEN RETURN NO-APPLY.
- DO WITH FRAME {&FRAME-NAME}:
- IF KEYFUNCTION(LASTKEY) = 'BACK-TAB' THEN DO:
- RETURN.
- END.
- IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN DO:
- RUN ABBRECHEN.
- RETURN NO-APPLY.
- END.
- LKY = LASTKEY.
- LHandle = LAST-EVENT:WIDGET-ENTER.
- IF VALID-HANDLE(LHandle) THEN DO:
- IF LHandle:TYPE = 'BUTTON' AND
- LHandle:PRIVATE-DATA = 'Abbrechen' THEN DO:
- RUN ABBRECHEN.
- RETURN NO-APPLY.
- END.
- END.
- XHandle = SELF:HANDLE.
- Feldname = XHandle:NAME.
- FeldInhalt = XHandle:SCREEN-VALUE.
- VJahr = INTEGER(FeldInhalt).
-
- FIND Artst NO-LOCK USE-INDEX Artst-k1
- WHERE Artst.Firma = GVFirma
- AND Artst.Artnr = VArtnr
- AND Artst.Inhalt = VInhalt
- AND Artst.Jahr = VJahr NO-ERROR.
- IF NOT AVAILABLE Artst THEN DO:
- BELL.
- APPLY 'ENTRY' TO SELF.
- RETURN NO-APPLY.
- END.
- RUN ARTIKEL.
- RETURN NO-APPLY.
- END.
-
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Besze.KGeb_Me
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.KGeb_Me F-Frame-Win
- ON CURSOR-UP OF Besze.KGeb_Me IN FRAME F-Main /* KGeb_Me */
- DO:
- APPLY 'BACK-TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.KGeb_Me F-Frame-Win
- ON LEAVE OF Besze.KGeb_Me IN FRAME F-Main /* KGeb_Me */
- DO:
- IF NOT VUpdate THEN RETURN NO-APPLY.
-
- DO WITH FRAME {&FRAME-NAME}:
- IF KEYFUNCTION(LASTKEY) = 'BACK-TAB' THEN DO:
- RETURN.
- END.
- IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN DO:
- RUN ABBRECHEN.
- RETURN NO-APPLY.
- END.
- LKY = LASTKEY.
- LHandle = LAST-EVENT:WIDGET-ENTER.
- IF VALID-HANDLE(LHandle) THEN DO:
- IF LHandle:TYPE = 'BUTTON' AND
- LHandle:PRIVATE-DATA = 'Abbrechen' THEN DO:
- RUN ABBRECHEN.
- RETURN NO-APPLY.
- END.
- END.
- XHandle = SELF:HANDLE.
- Feldname = XHandle:NAME.
- FeldInhalt = XHandle:SCREEN-VALUE.
- RUN SPEICHERN.
- RETURN NO-APPLY.
- END.
-
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.KGeb_Me F-Frame-Win
- ON RETURN OF Besze.KGeb_Me IN FRAME F-Main /* KGeb_Me */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Besze.L_EP_FRW
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.L_EP_FRW F-Frame-Win
- ON END-ERROR OF Besze.L_EP_FRW IN FRAME F-Main /* L_EP_FRW */
- DO:
- RUN ABBRECHEN.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Besze.Preis
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.Preis F-Frame-Win
- ON END OF Besze.Preis IN FRAME F-Main /* Preis */
- DO:
- IF VNeu THEN RETURN NO-APPLY.
- APPLY 'LEAVE' TO SELF.
- RUN SPEICHERN.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.Preis F-Frame-Win
- ON END-ERROR OF Besze.Preis IN FRAME F-Main /* Preis */
- DO:
- RUN ABBRECHEN.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Besze.Rabatt
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.Rabatt F-Frame-Win
- ON END OF Besze.Rabatt IN FRAME F-Main /* Rabatt */
- DO:
- IF VNeu THEN RETURN NO-APPLY.
- APPLY 'LEAVE' TO SELF.
- RUN SPEICHERN.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.Rabatt F-Frame-Win
- ON END-ERROR OF Besze.Rabatt IN FRAME F-Main /* Rabatt */
- DO:
- RUN ABBRECHEN.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.Rabatt F-Frame-Win
- ON LEAVE OF Besze.Rabatt IN FRAME F-Main /* Rabatt */
- DO:
- IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN NO-APPLY.
- IF NOT VUpdate THEN RETURN NO-APPLY.
-
- Rundbetr = DECIMAL(SELF:SCREEN-VALUE).
- Rundbetr = DECIMAL(Besze.S_Preis:SCREEN-VALUE) * ((100 - Rundbetr) / 100)
- + DECIMAL(Besze.Spesen:SCREEN-VALUE).
- IF Rundbetr <> ? THEN Besze.Preis:SCREEN-VALUE = STRING(Rundbetr,"zzz,zz9.999").
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Besze.Spesen
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.Spesen F-Frame-Win
- ON END OF Besze.Spesen IN FRAME F-Main /* Spesen */
- DO:
- IF VNeu THEN RETURN NO-APPLY.
- APPLY 'LEAVE' TO SELF.
- RUN SPEICHERN.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.Spesen F-Frame-Win
- ON END-ERROR OF Besze.Spesen IN FRAME F-Main /* Spesen */
- DO:
- RUN ABBRECHEN.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.Spesen F-Frame-Win
- ON LEAVE OF Besze.Spesen IN FRAME F-Main /* Spesen */
- DO:
- IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN NO-APPLY.
- IF NOT VUpdate THEN RETURN NO-APPLY.
-
- Rundbetr = DECIMAL(SELF:SCREEN-VALUE).
- Rundbetr = DECIMAL(Besze.S_Preis:SCREEN-VALUE)
- * ((100 - DECIMAL(Besze.Rabatt:SCREEN-VALUE)) / 100)
- + Rundbetr.
- IF Rundbetr <> ? THEN Besze.Preis:SCREEN-VALUE = STRING(Rundbetr,"zzz,zz9.999").
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Besze.S_Artnr
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.S_Artnr F-Frame-Win
- ON END OF Besze.S_Artnr IN FRAME F-Main /* S_Artnr */
- DO:
- IF VNeu THEN RETURN NO-APPLY.
- APPLY 'LEAVE' TO SELF.
- RUN SPEICHERN.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.S_Artnr F-Frame-Win
- ON END-ERROR OF Besze.S_Artnr IN FRAME F-Main /* S_Artnr */
- DO:
- RUN ABBRECHEN.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Besze.S_Preis
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.S_Preis F-Frame-Win
- ON END OF Besze.S_Preis IN FRAME F-Main /* S_Preis */
- DO:
- IF VNeu THEN RETURN NO-APPLY.
- APPLY 'LEAVE' TO SELF.
- RUN SPEICHERN.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.S_Preis F-Frame-Win
- ON END-ERROR OF Besze.S_Preis IN FRAME F-Main /* S_Preis */
- DO:
- RUN ABBRECHEN.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.S_Preis F-Frame-Win
- ON LEAVE OF Besze.S_Preis IN FRAME F-Main /* S_Preis */
- DO:
- IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN NO-APPLY.
- IF NOT VUpdate THEN RETURN NO-APPLY.
-
- Rundbetr = DECIMAL(SELF:SCREEN-VALUE).
- IF Rundbetr <> 0 THEN DO:
- Rundbetr = Rundbetr * ((100 - DECIMAL(Besze.Rabatt:SCREEN-VALUE)) / 100)
- + DECIMAL(Besze.Spesen:SCREEN-VALUE).
- END.
- Besze.Preis:SCREEN-VALUE = STRING(Rundbetr,"zzz,zz9.999").
- Rundbetr = DECIMAL(SELF:SCREEN-VALUE).
- RUN FREMDWAEHRUNG ( INPUT 2 ).
- Besze.S_Preis_FRW:SCREEN-VALUE = STRING(Rundbetr,"zzz,zz9.9999").
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Besze.S_Preis_FRW
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.S_Preis_FRW F-Frame-Win
- ON END OF Besze.S_Preis_FRW IN FRAME F-Main /* S_Preis_FRW */
- DO:
- IF VNeu THEN RETURN NO-APPLY.
- APPLY 'LEAVE' TO SELF.
- RUN SPEICHERN.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.S_Preis_FRW F-Frame-Win
- ON END-ERROR OF Besze.S_Preis_FRW IN FRAME F-Main /* S_Preis_FRW */
- DO:
- RUN ABBRECHEN.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.S_Preis_FRW F-Frame-Win
- ON LEAVE OF Besze.S_Preis_FRW IN FRAME F-Main /* S_Preis_FRW */
- DO:
- IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN NO-APPLY.
- IF NOT VUpdate THEN RETURN NO-APPLY.
-
- Rundbetr = DECIMAL(SELF:SCREEN-VALUE).
- RUN FREMDWAEHRUNG ( INPUT 1 ).
- Besze.S_Preis:SCREEN-VALUE = STRING(Rundbetr,"zzz,zz9.9999").
-
- IF Rundbetr <> 0 THEN DO:
- Rundbetr = Rundbetr * ((100 - DECIMAL(Besze.Rabatt:SCREEN-VALUE)) / 100)
- + DECIMAL(Besze.Spesen:SCREEN-VALUE).
- END.
- Besze.Preis:SCREEN-VALUE = STRING(Rundbetr,"zzz,zz9.999").
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Besze.VGeb_Me
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.VGeb_Me F-Frame-Win
- ON CURSOR-DOWN OF Besze.VGeb_Me IN FRAME F-Main /* VGeb_Me */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.VGeb_Me F-Frame-Win
- ON CURSOR-UP OF Besze.VGeb_Me IN FRAME F-Main /* VGeb_Me */
- DO:
- APPLY 'BACK-TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besze.VGeb_Me F-Frame-Win
- ON LEAVE OF Besze.VGeb_Me IN FRAME F-Main /* VGeb_Me */
- DO:
- DO WITH FRAME {&FRAME-NAME}:
- i1 = INTEGER(Besze.VGeb_Me:SCREEN-VALUE).
- IF i1 = 0 THEN RETURN.
- i2 = VGebinde.Inhalt * i1.
- Besze.KGeb_Me:SCREEN-VALUE = STRING(i2).
- END.
-
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &UNDEFINE SELF-NAME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK F-Frame-Win
- /* *************************** Main Block *************************** */
- FNeuMut = FALSE.
- SESSION:DATA-ENTRY-RETURN = TRUE.
- &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
- RUN dispatch IN THIS-PROCEDURE ('initialize':U).
- &ENDIF
- ON END-ERROR OF F_Artnr, Besze.Inhalt, Besze.Jahr IN FRAME {&FRAME-NAME}
- DO:
- IF VUpdate THEN DO:
- DISABLE F_Artnr
- Besze.Inhalt
- Besze.Jahr.
- VUpdate = FALSE.
- RUN ANZEIGE.
- APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
- RETURN NO-APPLY.
- END.
- ELSE DO:
- RUN new-state ( INPUT 'ENDE, MAIN':U ).
- RETURN NO-APPLY.
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* ********************** Internal Procedures *********************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ABBRECHEN F-Frame-Win
- PROCEDURE ABBRECHEN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DO WITH FRAME {&FRAME-NAME}:
- DISABLE {&List-2}
- {&List-3}.
-
- DO WHILE TRUE:
- IF NUM-RESULTS("{&BROWSE-NAME}":U) = ? THEN LEAVE.
- IF NUM-RESULTS("{&BROWSE-NAME}":U) = 0 THEN LEAVE.
- {&BROWSE-NAME}:SELECT-FOCUSED-ROW().
- {&BROWSE-NAME}:FETCH-SELECTED-ROW(1).
- RUN ANZEIGE.
- LEAVE.
- END.
-
- END.
- VNeu = FALSE.
- VUpdate = FALSE.
- APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
- RETURN NO-APPLY.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects F-Frame-Win _ADM-CREATE-OBJECTS
- PROCEDURE adm-create-objects :
- /*------------------------------------------------------------------------------
- Purpose: Create handles for all SmartObjects used in this procedure.
- After SmartObjects are initialized, then SmartLinks are added.
- Parameters: <none>
- ------------------------------------------------------------------------------*/
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-row-available F-Frame-Win _ADM-ROW-AVAILABLE
- PROCEDURE adm-row-available :
- /*------------------------------------------------------------------------------
- Purpose: Dispatched to this procedure when the Record-
- Source has a new row available. This procedure
- tries to get the new row (or foriegn keys) from
- the Record-Source and process it.
- Parameters: <none>
- ------------------------------------------------------------------------------*/
- /* Define variables needed by this internal procedure. */
- {src/adm/template/row-head.i}
- /* Create a list of all the tables that we need to get. */
- {src/adm/template/row-list.i "Besko"}
- /* Get the record ROWID's from the RECORD-SOURCE. */
- {src/adm/template/row-get.i}
- /* FIND each record specified by the RECORD-SOURCE. */
- {src/adm/template/row-find.i "Besko"}
- /* Process the newly available records (i.e. display fields,
- open queries, and/or pass records on to any RECORD-TARGETS). */
- {src/adm/template/row-end.i}
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AENDERN F-Frame-Win
- PROCEDURE AENDERN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- VUpdate = TRUE.
- DO WITH FRAME {&FRAME-NAME}:
- EMPTY TEMP-TABLE tBesze.
- CREATE tBesze.
- BUFFER-COPY Besze to tBesze.
-
- DISABLE {&List-2}.
- ENABLE {&List-3}.
- IF Besko.Best_Sta > 2 THEN DO:
- DISABLE {&List-6}.
- ENABLE {&List-5}.
- DISABLE Besze.Alter_Listen_EP
- Besze.Alter_EP
- Besze.L_EP_FRW.
- END.
- APPLY 'ENTRY' TO Besze.Bez1.
- END.
- RETURN NO-APPLY.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ANZEIGE F-Frame-Win
- PROCEDURE ANZEIGE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DO WITH FRAME {&FRAME-NAME}:
- F_KGeb = ''.
- F_VGeb = ''.
- F_GGeb = ''.
- F_Artnr = ''.
-
- IF AVAILABLE Besze THEN DO:
- F_Artnr = STRING(Besze.Artnr,"999999").
-
- FIND Artst NO-LOCK USE-INDEX Artst-k1
- WHERE Artst.Firma = GVFirma
- AND Artst.Artnr = INTEGER(F_Artnr)
- AND Artst.Inhalt = Besze.Inhalt
- AND Artst.Jahr = Besze.Jahr NO-ERROR.
- FIND ArtLager NO-LOCK USE-INDEX ArtLager-k1
- WHERE ArtLager.Firma = GVFirma
- AND ArtLager.Artnr = INTEGER(F_Artnr)
- AND ArtLager.Inhalt = Besze.Inhalt
- AND ArtLager.Jahr = Besze.Jahr
- AND ArtLager.Lager = Besze.Lager NO-ERROR.
- F_Bestand = (IF AVAILABLE ArtLager THEN ArtLager.Bestand ELSE Artst.Bestand).
- IF Besko.Best_Sta = 2 THEN F_Bestand_Neu = F_Bestand + Besze.MGeli.
- ELSE F_Bestand_Neu = F_Bestand.
-
- FIND KGebinde NO-LOCK USE-INDEX KGebinde-k1
- WHERE KGebinde.Firma = GVFirma
- AND KGebinde.Geb_Cd = Besze.KGeb_Cd NO-ERROR.
- IF AVAILABLE KGebinde THEN F_KGeb = KGebinde.KBez.
-
- FIND VGebinde NO-LOCK USE-INDEX VGebinde-k1
- WHERE VGebinde.Firma = GVFirma
- AND VGebinde.Geb_Cd = Besze.VGeb_Cd NO-ERROR.
- IF AVAILABLE VGebinde THEN F_VGeb = VGebinde.KBez.
-
- FIND GGebinde NO-LOCK USE-INDEX GGebinde-k1
- WHERE GGebinde.Firma = GVFirma
- AND GGebinde.Geb_Cd = Besze.GGeb_Cd NO-ERROR.
- IF AVAILABLE GGebinde THEN F_GGeb = GGebinde.KBez.
- IF Besko.Best_Sta = 1 THEN DO:
- F_Betrag = Besze.Preis * Besze.MBest.
- F_Betrag_FRW = Besze.S_Preis_FRW * Besze.MBest.
- END.
- ELSE DO:
- F_Betrag = Besze.Preis * Besze.MGeli.
- F_Betrag_FRW = Besze.S_Preis_FRW * Besze.MGeli.
- END.
- DISPLAY {&List-2} {&List-3} F_Bestand.
- IF Besko.Best_Sta = 2 THEN DISPLAY F_Bestand_Neu.
- END.
-
- DISPLAY F_Artnr F_GGeb F_VGeb F_KGeb.
- END.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ARTIKEL F-Frame-Win
- PROCEDURE ARTIKEL :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR cString AS CHAR NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- FIND Artst NO-LOCK USE-INDEX Artst-k1
- WHERE Artst.Firma = GVFirma
- AND Artst.Artnr = VArtnr
- AND Artst.Inhalt = VInhalt
- AND Artst.Jahr = VJahr .
- FIND KGebinde NO-LOCK USE-INDEX KGebinde-k1
- WHERE KGebinde.Firma = GVFirma
- AND KGebinde.Geb_Cd = Artst.KGeb_Cd NO-ERROR.
- F_KGeb = KGebinde.KBez.
-
- FIND VGebinde NO-LOCK USE-INDEX VGebinde-k1
- WHERE VGebinde.Firma = GVFirma
- AND VGebinde.Geb_Cd = Artst.VGeb_Cd NO-ERROR.
- F_VGeb = VGebinde.KBez.
-
- FIND GGebinde NO-LOCK USE-INDEX GGebinde-k1
- WHERE GGebinde.Firma = GVFirma
- AND GGebinde.Geb_Cd = Artst.GGeb_Cd NO-ERROR.
- F_GGeb = GGebinde.KBez.
-
- FIND ArtBez NO-LOCK USE-INDEX ArtBez-k1
- WHERE ArtBez.Firma = Artst.Firma
- AND ArtBez.Artnr = Artst.Artnr
- AND ArtBez.Inhalt = Artst.Inhalt
- AND ArtBez.Jahr = Artst.Jahr
- AND ArtBez.Sprcd = GVSprcd NO-ERROR.
- IF NOT AVAILABLE ArtBez THEN DO:
- FIND FIRST ArtBez NO-LOCK USE-INDEX ArtBez-k1
- WHERE ArtBez.Firma = Artst.Firma
- AND ArtBez.Artnr = Artst.Artnr
- AND ArtBez.Inhalt = Artst.Inhalt
- AND ArtBez.Jahr = Artst.Jahr NO-ERROR.
- END.
-
- FIND ArtLief NO-LOCK USE-INDEX ArtLief-k1
- WHERE ArtLief.Firma = Artst.Firma
- AND ArtLief.Artnr = Artst.Artnr
- AND ArtLief.Inhalt = Artst.Inhalt
- AND ArtLief.Jahr = Artst.Jahr
- AND ArtLief.Knr = Besko.Knr NO-ERROR.
-
- FIND Liefst NO-LOCK USE-INDEX Liefst-k1
- WHERE Liefst.Firma = GVFirma
- AND Liefst.Knr = Besko.Knr NO-ERROR.
-
- FIND Waehrung NO-LOCK USE-INDEX Waehrung-k1
- WHERE Waehrung.Firma = Besko.Firma
- AND Waehrung.FRW = Besko.FRW NO-ERROR.
- IF AVAILABLE Waehrung THEN DO:
- VFRW = Waehrung.FRW.
- VKurs = Waehrung.Kurs.
- VFaktor = Waehrung.Faktor.
- END.
- ELSE DO:
- VFRW = 'CHF'.
- VKurs = 1.0.
- VFaktor = 1.
- END.
- VSein_Preis_FRW = 0.
- VSein_Preis = 0.
- VRabatt = 0.
- VSpesen = 0.
- VPreis = 0.
- VL_EP_FRW = 0.
- VAlter_EP = 0.
- VAlter_Listen_EP = Artst.Listen_EP.
- IF AVAILABLE ArtLief THEN DO:
- VSein_Preis_FRW = ArtLief.S_Preis_FRW.
- VSein_Preis = ArtLief.S_Preis.
- VRabatt = ArtLief.Rabatt.
- VSpesen = ArtLief.Spesen.
- VL_EP_FRW = ArtLief.L_EP_FRW.
- VAlter_EP = ArtLief.L_EP.
-
- Besze.S_Artnr:SCREEN-VALUE = ArtLief.S_Artnr.
- END.
- ELSE DO:
- Besze.S_Artnr:SCREEN-VALUE = ''.
- END.
- IF VSein_Preis = 0 THEN VSein_Preis = Artst.Listen_EP.
- IF VSein_Preis_FRW = 0 THEN VSein_Preis_FRW = VSein_Preis * VFaktor / VKurs.
- IF VRabatt = 0 THEN VRabatt = Besko.Rabatt.
- IF VSpesen = 0 THEN VSpesen = Besko.Spesen.
- IF VAlter_EP = 0 THEN VAlter_EP = Artst.LEP.
- IF VL_EP_FRW = 0 THEN VL_EP_FRW = VAlter_EP * VFaktor / VKurs.
-
- VPreis = VSein_Preis * ((100 - VRabatt) / 100) + VSpesen.
- Besze.Bez1:SCREEN-VALUE = ArtBez.Bez1.
- Besze.Bez2:SCREEN-VALUE = ArtBez.Bez2.
- F_GGeb:SCREEN-VALUE = F_GGeb.
- F_VGeb:SCREEN-VALUE = F_VGeb.
- F_KGeb:SCREEN-VALUE = F_KGeb.
- Besze.S_Preis_FRW:SCREEN-VALUE = STRING(VSein_Preis_FRW).
- Besze.S_Preis:SCREEN-VALUE = STRING(VSein_Preis).
- Besze.Rabatt:SCREEN-VALUE = STRING(VRabatt).
- Besze.Spesen:SCREEN-VALUE = STRING(VSpesen).
- Besze.Preis:SCREEN-VALUE = STRING(VPreis).
- Besze.L_EP_FRW:SCREEN-VALUE = STRING(VL_EP_FRW).
- Besze.Aktion:SCREEN-VALUE = STRING(FALSE,"J/N").
- Besze.Alter_Listen_EP:SCREEN-VALUE = STRING(VAlter_Listen_EP).
- Besze.Alter_EP:SCREEN-VALUE = STRING(VL_EP_FRW).
- FIND FIRST AktPreis NO-LOCK USE-INDEX AktPreis-k1
- WHERE AktPreis.Firma = GVFirma
- AND AktPreis.Artnr = Artst.Artnr
- AND AktPreis.Inhalt = Artst.Inhalt
- AND AktPreis.Jahr = Artst.Jahr
- AND AktPreis.Ab_Datum >= (TODAY - 2) NO-ERROR.
- IF AVAILABLE AktPreis AND
- (AktPreis.Ab_Datum - TODAY) < 14 THEN DO:
- cString = 'Dieser Artikel ist '.
- IF AktPreis.Ab_Datum < TODAY THEN cString = cString + 'seit dem '.
- ELSE cString = cString + 'ab dem '.
- cString = cString + STRING(AktPreis.Ab_Datum,'99.99.9999')
- + ' in Aktion '.
- MESSAGE cString VIEW-AS ALERT-BOX INFORMATION.
- END.
-
- DISABLE {&List-2}.
- ENABLE {&List-3}.
- APPLY 'ENTRY' TO Besze.Bez1.
- RETURN NO-APPLY.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ARTIKELNUMMER F-Frame-Win
- PROCEDURE ARTIKELNUMMER :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
-
- DEF VAR ARecid AS RECID NO-UNDO.
- DEF VAR Anzahl AS INT NO-UNDO.
- DEF VAR xWort AS CHAR NO-UNDO.
- DEF VAR zWorte AS CHAR NO-UNDO.
- DEF VAR yy AS INT NO-UNDO.
- DEF VAR zz AS INT NO-UNDO.
- DEF VAR Zahl AS INT NO-UNDO.
- DEF VAR VBez1 AS CHAR NO-UNDO.
- DEF VAR VBez2 AS CHAR NO-UNDO.
- Zahl = 0.
- Gefunden = FALSE.
- Anzahl = 0.
- VBez1 = ''.
- VBez2 = ''.
- zWorte = ''.
- DO yy = 1 TO NUM-ENTRIES(FeldInhalt, ' '):
- xWort = ENTRY(yy, FeldInhalt, ' ').
- Zahl = INTEGER(xWort) NO-ERROR.
- IF ERROR-STATUS:ERROR THEN DO:
- zWorte = zWorte + (IF zWorte = '' THEN '' ELSE ' ')
- + xWort.
- IF yy = 1 THEN zWorte = TRIM(zWorte) + '*'.
- NEXT.
- END.
- xWort = TRIM(STRING(Zahl,'>>>>>>>>>>>>>>>>>>9')) NO-ERROR.
- IF ERROR-STATUS:ERROR THEN xWort = ENTRY(yy, FeldInhalt, ' ').
- zWorte = zWorte + (IF zWorte = '' THEN '' ELSE ' ')
- + xWort.
- END.
- zWorte = REPLACE(zWorte, '**', '*').
- FOR EACH Artbez NO-LOCK
- WHERE Artbez.Firma = GVFirma
- AND Artbez.Sprcd = 1
- AND Artbez.WortIndex CONTAINS zWorte,
- FIRST BArtst NO-LOCK OF Artbez
- WHERE BArtst.Aktiv = TRUE
- AND BArtst.Ausverk < 9 :
- Anzahl = Anzahl + 1.
- IF Anzahl > 1 THEN LEAVE.
- VArtnr = BArtst.Artnr.
- ARecid = RECID(BArtst).
- END.
- IF Anzahl < 1 THEN VArtnr = -1.
- IF Anzahl > 1 THEN VArtnr = -1.
- IF VArtnr = -1 THEN RETURN.
- FIND BArtst NO-LOCK WHERE RECID(BArtst) = ARecid NO-ERROR.
- FIND Steuer NO-LOCK WHERE Steuer.Firma = GVFirma NO-ERROR.
- FIND FIRST ArtBez NO-LOCK USE-INDEX ArtBez-k1
- WHERE ArtBez.Firma = BArtst.Firma
- AND ArtBez.Artnr = BArtst.Artnr
- AND ArtBez.Inhalt = BArtst.Inhalt
- AND ArtBez.Jahr = BArtst.Jahr NO-ERROR.
- VInhalt = BArtst.Inhalt.
- VJahr = BArtst.Jahr.
- VBez1 = ArtBez.Bez1.
- IF ArtBez.Bez2_Druck THEN VBez2 = ArtBez.Bez2.
- Gefunden = TRUE.
- RETURN.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI F-Frame-Win _DEFAULT-DISABLE
- PROCEDURE disable_UI :
- /*------------------------------------------------------------------------------
- Purpose: DISABLE the User Interface
- Parameters: <none>
- Notes: Here we clean-up the user-interface by deleting
- dynamic widgets we have created and/or hide
- frames. This procedure is usually called when
- we are ready to "clean-up" after running.
- ------------------------------------------------------------------------------*/
- /* Hide all frames. */
- HIDE FRAME F-Main.
- IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI F-Frame-Win _DEFAULT-ENABLE
- PROCEDURE enable_UI :
- /*------------------------------------------------------------------------------
- Purpose: ENABLE the User Interface
- Parameters: <none>
- Notes: Here we display/view/enable the widgets in the
- user-interface. In addition, OPEN all queries
- associated with each FRAME and BROWSE.
- These statements here are based on the "Other
- Settings" section of the widget Property Sheets.
- ------------------------------------------------------------------------------*/
- DISPLAY F_Adresse F_Artnr F_Betrag F_Bestand F_Bestand_Neu F_Betrag_FRW
- WITH FRAME F-Main.
- IF AVAILABLE Besko THEN
- DISPLAY Besko.Besnr Besko.Knr Besko.Lief_Datum
- WITH FRAME F-Main.
- IF AVAILABLE Besze THEN
- DISPLAY Besze.Inhalt Besze.Jahr Besze.Bez1 Besze.Bez2 Besze.S_Artnr
- Besze.GGeb_Me Besze.VGeb_Me Besze.KGeb_Me Besze.S_Preis_FRW
- Besze.S_Preis Besze.Rabatt Besze.Spesen Besze.Preis Besze.L_EP_FRW
- Besze.Aktion Besze.Alter_Listen_EP Besze.Alter_EP
- WITH FRAME F-Main.
- ENABLE Br_Besze F_Bestand F_Bestand_Neu F_GGeb F_VGeb F_KGeb RECT-39 RECT-40
- WITH FRAME F-Main.
- {&OPEN-BROWSERS-IN-QUERY-F-Main}
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ERFASSEN F-Frame-Win
- PROCEDURE ERFASSEN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DISABLE TRIGGERS FOR LOAD OF Besze.
- DEF VAR yy AS INT NO-UNDO.
- DEF VAR Fenster AS HANDLE NO-UNDO.
- DEF VAR VName AS CHAR NO-UNDO.
- DEF VAR cFelder AS CHAR NO-UNDO
- INIT 'F_Artnr,Inhalt,Jahr,Bez1,Bez2,S_Artnr,GGeb_Me,VGeb_Me,KGeb_Me,~
- S_Preis_Frw,S_Preis,Alter_Listen_EP,Rabatt,Spesen,Preis,Alter_EP,L_EP_FRW,~
- F_Betrag,F_Bestand,F_Bestand_Neu,F_Betrag_Frw'.
- IF VUpdate THEN RETURN NO-APPLY.
- DO WITH FRAME {&FRAME-NAME}:
- ASSIGN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
- ASSIGN Fenster = Fenster:FIRST-CHILD.
- DO WHILE VALID-HANDLE (Fenster) :
- DO WHILE TRUE:
- VName = Fenster:NAME.
- IF LOOKUP(VName, cFelder, ',') = 0 THEN LEAVE.
- IF Fenster:TYPE = 'LITERAL' THEN LEAVE.
- IF Fenster:HIDDEN = TRUE THEN LEAVE.
- Fenster:SCREEN-VALUE = '' NO-ERROR.
- LEAVE.
- END.
- ASSIGN Fenster = Fenster:NEXT-SIBLING.
- END.
-
- ENABLE F_Artnr
- Besze.Inhalt
- Besze.Jahr.
-
- VUpdate = TRUE.
- VNeu = TRUE.
- EMPTY TEMP-TABLE tBesze.
- CREATE tBesze.
-
- APPLY 'ENTRY' TO F_Artnr.
- END.
- RETURN NO-APPLY.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FREMDWAEHRUNG F-Frame-Win
- PROCEDURE FREMDWAEHRUNG :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER Art AS INT.
- IF VNeu THEN DO:
- VFRW = Besko.FRW.
- VKurs = Besko.Kurs.
- VFaktor = Besko.Faktor.
- END.
- ELSE DO:
- VFRW = Besze.FRW.
- VKurs = Besze.Kurs.
- VFaktor = Besze.Faktor.
- END.
- IF VKurs = 0 OR
- VKurs = ? OR
- VFaktor = 0 OR
- VFaktor = ? THEN DO:
- FIND Waehrung NO-LOCK USE-INDEX Waehrung-k1
- WHERE Waehrung.Firma = GVFirma
- AND Waehrung.FRW = VFRW NO-ERROR.
- IF AVAILABLE Waehrung THEN DO:
- VFaktor = Waehrung.Faktor.
- VKurs = Waehrung.Kurs.
- END.
- END.
- DO WHILE Art = 1:
- IF Rundbetr = 0 THEN LEAVE.
- Rundbetr = Rundbetr * VKurs / VFaktor.
- LEAVE.
- END.
- DO WHILE Art = 2:
- IF Rundbetr = 0 THEN LEAVE.
- Rundbetr = Rundbetr * VFaktor / VKurs.
- LEAVE.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-destroy F-Frame-Win
- PROCEDURE local-destroy :
- /*------------------------------------------------------------------------------
- Purpose: Override standard ADM method
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR hBrowser AS HANDLE NO-UNDO.
- DEF VAR Sektion AS CHAR NO-UNDO.
- Sektion = ENTRY(1, THIS-PROCEDURE:NAME, '.').
- hBrowser = {&BROWSE-NAME}:HANDLE IN FRAME {&FRAME-NAME}.
- DYNAMIC-FUNCTION('setBrowserDaten':U, INPUT hBrowser,
- INPUT Sektion ) NO-ERROR.
- RUN dispatch IN THIS-PROCEDURE ( INPUT 'destroy':U ) .
- /* Code placed here will execute AFTER standard behavior. */
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-initialize F-Frame-Win
- PROCEDURE local-initialize :
- /*------------------------------------------------------------------------------
- Purpose: Override standard ADM method
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR Sektion AS CHAR NO-UNDO.
- DEF VAR hBrowser AS HANDLE NO-UNDO.
- DEF VAR hTBrowser AS HANDLE NO-UNDO.
- DEF VAR hMenu AS HANDLE NO-UNDO.
- DEF VAR hItem_Filter AS HANDLE NO-UNDO.
- DEF VAR hItem_Excel AS HANDLE NO-UNDO.
- DEF VAR hItem_zurueck AS HANDLE NO-UNDO.
- DEF VAR hItem_sort AS HANDLE NO-UNDO.
- DEF VAR hItem_move AS HANDLE NO-UNDO.
- DEF VAR hItem_Rule AS HANDLE NO-UNDO.
- Sektion = ENTRY(1, THIS-PROCEDURE:NAME, '.').
- RUN dispatch IN THIS-PROCEDURE ( INPUT 'initialize':U ) .
-
- hDaten = DYNAMIC-FUNCTION('getDataSource':U) NO-ERROR.
- hFenster = DYNAMIC-FUNCTION('getContainerSource':U) NO-ERROR.
- IF VALID-HANDLE(hFenster)
- THEN Progname = DYNAMIC-FUNCTION('getProgname':U, INPUT hFenster ) NO-ERROR.
- MinNr = DYNAMIC-FUNCTION('getMinArtnr':U) NO-ERROR.
- IF MinNr > 1 THEN MinNr = INTEGER('1' + FILL('0', MinNr - 1)).
- EMPTY TEMP-TABLE TBrowser.
- hTBrowser = TEMP-TABLE TBrowser:DEFAULT-BUFFER-HANDLE.
- hBrowser = {&BROWSE-NAME}:HANDLE IN FRAME {&FRAME-NAME}.
- hBrowser:COLUMN-MOVABLE = TRUE.
- CREATE MENU hMenu
- ASSIGN POPUP-ONLY = TRUE
- TITLE = 'Browser Menu'.
- CREATE MENU-ITEM hItem_Excel
- ASSIGN LABEL = 'Export in Excel'
- NAME = 'm_excel'
- PARENT = hMenu.
- CREATE MENU-ITEM hItem_Filter
- ASSIGN LABEL = 'Filter setzen'
- NAME = 'm_filter'
- PARENT = hMenu.
- CREATE MENU-ITEM hItem_Rule
- ASSIGN SUBTYPE = 'RULE':U
- PARENT = hMenu.
- CREATE MENU-ITEM hItem_zurueck
- ASSIGN LABEL = 'Spalten und Breite zurücksetzen'
- NAME = 'm_zurueck'
- PARENT = hMenu.
- CREATE MENU-ITEM hItem_Rule
- ASSIGN SUBTYPE = 'RULE':U
- PARENT = hMenu.
- CREATE MENU-ITEM hItem_sort
- ASSIGN LABEL = 'Spalten sortierbar'
- NAME = 'm_zurueck'
- TOGGLE-BOX = TRUE
- CHECKED = FALSE
- PARENT = hMenu.
- CREATE MENU-ITEM hItem_move
- ASSIGN LABEL = 'Spalten verschiebbar'
- NAME = 'm_move'
- TOGGLE-BOX = TRUE
- CHECKED = TRUE
- PARENT = hMenu.
- hBrowser:POPUP-MENU = hMenu NO-ERROR.
- ON CHOOSE OF hItem_Filter PERSISTENT RUN FILTER_SETZEN IN TARGET-PROCEDURE.
- ON CHOOSE OF hItem_Excel PERSISTENT RUN EXPORT_EXCEL IN TARGET-PROCEDURE.
- ON CHOOSE OF hItem_zurueck PERSISTENT RUN ZURUECKSETZEN IN TARGET-PROCEDURE.
- ON VALUE-CHANGED OF hItem_sort
- PERSISTENT RUN SORTIERBAR IN TARGET-PROCEDURE ( hItem_sort, hItem_move ).
- ON VALUE-CHANGED OF hItem_move
- PERSISTENT RUN VERSCHIEBBAR IN TARGET-PROCEDURE ( hItem_move, hItem_sort ).
- DYNAMIC-FUNCTION('getBrowserDaten':U, INPUT hTBrowser,
- INPUT hBrowser,
- INPUT Sektion ) NO-ERROR.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-view F-Frame-Win
- PROCEDURE local-view :
- /*------------------------------------------------------------------------------
- Purpose: Override standard ADM method
- Notes:
- ------------------------------------------------------------------------------*/
- RUN dispatch IN THIS-PROCEDURE ( INPUT 'view':U ) .
- FIND Besko NO-LOCK USE-INDEX Besko-k1
- WHERE Besko.Firma = GVFirma
- AND Besko.Besnr = LVBesnr NO-ERROR.
- IF NOT AVAILABLE Besko THEN RETURN NO-APPLY.
-
- FIND Adresse NO-LOCK USE-INDEX Adresse-k1
- WHERE Adresse.Firma = AdFirma
- AND Adresse.Knr = Besko.Knr NO-ERROR.
- F_Adresse = Adresse.Anzeig_Br.
- iKnr = Besko.Knr.
- iBnr = Besko.Besnr.
- BRecid = RECID(Besko).
- DISPLAY {&List-1} WITH FRAME {&FRAME-NAME}.
- iStatus = Besko.Best_Sta.
- IF iStatus = 2 THEN F_Bestand_Neu:HIDDEN IN FRAME {&FRAME-NAME} = FALSE.
- ELSE F_Bestand_Neu:HIDDEN IN FRAME {&FRAME-NAME} = TRUE.
-
- RUN OPEN_BESZE.
- APPLY 'ENTRY' TO BROWSE Br_Besze.
- RETURN NO-APPLY.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LOESCHEN F-Frame-Win
- PROCEDURE LOESCHEN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DISABLE TRIGGERS FOR LOAD OF Besze.
- DEF VAR fVerbucht AS LOG NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- {&BROWSE-NAME}:FETCH-SELECTED-ROW(1).
- IF NOT AVAILABLE Besze THEN RETURN NO-APPLY.
- END.
- Ja = FALSE.
- { v8/loeschen.i }
- IF NOT Ja THEN RETURN NO-APPLY.
- REPEAT TRANSACTION WITH FRAME {&FRAME-NAME}:
- FIND BBesze WHERE RECID(BBesze) = RECID(Besze).
- FIND Artbw USE-INDEX Artbw-k1
- WHERE Artbw.Firma = BBesze.Firma
- AND Artbw.Trnr = BBesze.Trnr NO-ERROR.
- IF AVAILABLE Artbw THEN fVerbucht = TRUE.
- ELSE fVerbucht = FALSE.
-
- DO WHILE TRUE:
- IF BBesze.Artnr = 0 THEN LEAVE.
- IF Besko.Best_Sta > 3 THEN LEAVE.
- FIND Artst USE-INDEX Artst-k1
- WHERE Artst.Firma = GVFirma
- AND Artst.Artnr = BBesze.Artnr
- AND Artst.Inhalt = BBesze.Inhalt
- AND Artst.Jahr = BBesze.Jahr.
- FIND ArtLager USE-INDEX ArtLager-k1
- WHERE ArtLager.Firma = BBesze.Firma
- AND ArtLager.Artnr = BBesze.Artnr
- AND ArtLager.Inhalt = BBesze.Inhalt
- AND ArtLager.Jahr = BBesze.Jahr
- AND ArtLager.Lager = BBesze.Lager.
- IF Besko.Best_Sta < 3 THEN DO:
- Artst.Bestellt = Artst.Bestellt - (BBesze.MBest - BBesze.MGeli).
- ArtLager.Bestellt = ArtLager.Bestellt - (BBesze.MBest - BBesze.MGeli).
- END.
- ELSE DO:
- IF fVerbucht THEN DO:
- ArtLager.Bestand = ArtLager.Bestand - BBesze.MGeli.
- ArtLager.Eingang = ArtLager.Eingang - BBesze.MGeli.
- END.
- END.
- DO WHILE BBesze.GGeb_Me <> 0
- AND Besko.Best_Sta = 3
- AND fVerbucht :
- FIND GGebinde NO-LOCK USE-INDEX GGebinde-k1
- WHERE GGebinde.Firma = BBesze.Firma
- AND GGebinde.Geb_Cd = BBesze.GGeb_Cd NO-ERROR.
- IF NOT AVAILABLE GGebinde THEN LEAVE.
- IF GGebinde.Geb_Kto = '' THEN LEAVE.
- FIND FIRST GebKontr USE-INDEX GebKontr-k2
- WHERE GebKontr.Firma = Besko.Firma
- AND GebKontr.Knr = Besko.Knr
- AND GebKontr.Geb_Cd = GGebinde.Geb_Kto
- AND GebKontr.Doknr = Besko.Besnr
- AND GebKontr.Datum = Artbw.Datum NO-ERROR.
- IF NOT AVAILABLE GebKontr THEN LEAVE.
- GebKontr.Eingang = GebKontr.Eingang - BBesze.GGeb_Me.
- RELEASE GebKontr.
- LEAVE.
- END.
-
- DO WHILE BBesze.VGeb_Me <> 0
- AND Besko.Best_Sta = 3
- AND fVerbucht :
- FIND VGebinde NO-LOCK USE-INDEX VGebinde-k1
- WHERE VGebinde.Firma = BBesze.Firma
- AND VGebinde.Geb_Cd = BBesze.VGeb_Cd NO-ERROR.
- IF NOT AVAILABLE VGebinde THEN LEAVE.
- IF VGebinde.Geb_Kto = '' THEN LEAVE.
- FIND FIRST GebKontr USE-INDEX GebKontr-k2
- WHERE GebKontr.Firma = Besko.Firma
- AND GebKontr.Knr = Besko.Knr
- AND GebKontr.Geb_Cd = VGebinde.Geb_Kto
- AND GebKontr.Doknr = Besko.Besnr
- AND GebKontr.Datum = Artbw.Datum NO-ERROR.
- IF NOT AVAILABLE GebKontr THEN LEAVE.
- GebKontr.Eingang = GebKontr.Eingang - BBesze.VGeb_Me.
- RELEASE GebKontr.
- LEAVE.
- END.
-
- DO WHILE BBesze.KGeb_Me <> 0
- AND Besko.Best_Sta = 3
- AND fVerbucht :
- FIND KGebinde NO-LOCK USE-INDEX KGebinde-k1
- WHERE KGebinde.Firma = BBesze.Firma
- AND KGebinde.Geb_Cd = BBesze.KGeb_Cd NO-ERROR.
- IF NOT AVAILABLE KGebinde THEN LEAVE.
- IF KGebinde.Geb_Kto = '' THEN LEAVE.
-
- FIND FIRST GebKontr USE-INDEX GebKontr-k2
- WHERE GebKontr.Firma = Besko.Firma
- AND GebKontr.Knr = Besko.Knr
- AND GebKontr.Geb_Cd = KGebinde.Geb_Kto
- AND GebKontr.Doknr = Besko.Besnr
- AND GebKontr.Datum = Artbw.Datum NO-ERROR.
- IF NOT AVAILABLE GebKontr THEN LEAVE.
- GebKontr.Eingang = GebKontr.Eingang - BBesze.KGeb_Me.
- RELEASE GebKontr.
- LEAVE.
- END.
- LEAVE.
- END.
- FIND Artbw USE-INDEX Artbw-k1
- WHERE Artbw.Firma = BBesze.Firma
- AND Artbw.Trnr = BBesze.Trnr NO-ERROR.
- IF AVAILABLE Artbw THEN DELETE Artbw.
- DELETE BBesze.
- {&BROWSE-NAME}:DELETE-SELECTED-ROW(1).
- RELEASE KGebinde.
- RELEASE VGebinde.
- RELEASE GGebinde.
- RELEASE GebKontr.
- RELEASE Artbw .
- RELEASE Artst .
- LEAVE.
- END.
- APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
- RETURN NO-APPLY.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE OPEN_BESZE F-Frame-Win
- PROCEDURE OPEN_BESZE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- IF QOpen = TRUE THEN CLOSE QUERY {&BROWSE-NAME}.
- QOpen = FALSE.
-
- DO WITH FRAME {&FRAME-NAME}:
-
- OPEN QUERY Br_Besze
- FOR EACH Besze OF Besko NO-LOCK.
- Br_Besze:SET-REPOSITIONED-ROW(5, "ALWAYS").
- QOpen = TRUE.
-
- END.
- IF NOT FNeuMut THEN DO:
- APPLY 'VALUE-CHANGED' TO BROWSE {&BROWSE-NAME}.
- END.
- FNeuMut = FALSE.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-records F-Frame-Win _ADM-SEND-RECORDS
- PROCEDURE send-records :
- /*------------------------------------------------------------------------------
- Purpose: Send record ROWID's for all tables used by
- this file.
- Parameters: see template/snd-head.i
- ------------------------------------------------------------------------------*/
- /* Define variables needed by this internal procedure. */
- {src/adm/template/snd-head.i}
- /* For each requested table, put it's ROWID in the output list. */
- {src/adm/template/snd-list.i "Besko"}
- {src/adm/template/snd-list.i "Besze"}
- /* Deal with any unexpected table requests before closing. */
- {src/adm/template/snd-end.i}
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SPEICHERN F-Frame-Win
- PROCEDURE SPEICHERN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DISABLE TRIGGERS FOR LOAD OF Besze.
- DEF VAR VMenge AS DEC DECIMALS 4 NO-UNDO.
- DEF VAR VRecid AS RECID NO-UNDO.
- REPEAT TRANSACTION WITH FRAME {&FRAME-NAME}:
- DO WHILE TRUE:
- IF NOT VNeu THEN DO:
- VRecid = RECID(Besze).
- LEAVE.
- END.
- FIND LAST BBesze NO-LOCK USE-INDEX Besze-k1
- WHERE BBesze.Firma = GVFirma
- AND BBesze.Besnr = Besko.Besnr NO-ERROR.
- IF AVAILABLE BBesze THEN VPos = BBesze.Pos + 10.
- ELSE VPos = 10.
-
- CREATE Besze.
- ASSIGN Besze.Firma = Besko.Firma
- Besze.Besnr = Besko.Besnr
- Besze.Pos = VPos
- Besze.Artnr = Artst.Artnr
- Besze.Inhalt = Artst.Inhalt
- Besze.Jahr = Artst.Jahr
- Besze.Lager = Besko.Lager
- Besze.KGeb_Cd = Artst.KGeb_Cd
- Besze.VGeb_Cd = Artst.VGeb_Cd
- Besze.GGeb_Cd = Artst.GGeb_Cd
- Besze.KGebKto = KGebinde.Geb_Kto
- Besze.VGebKto = VGebinde.Geb_Kto
- Besze.GGebKto = GGebinde.Geb_Kto
- Besze.FRW = Besko.FRW
- Besze.Kurs = Besko.Kurs
- Besze.Faktor = Besko.Faktor
- Besze.Alter_Listen_EP = Artst.Listen_EP.
- VRecid = RECID(Besze).
- IF AVAILABLE ArtLief THEN Besze.EP = ArtLief.L_EP.
- ELSE Besze.EP = Artst.LEP.
- RELEASE Besze.
- LEAVE.
- END.
- FIND Besze WHERE RECID(Besze) = VRecid.
- ASSIGN {&List-5}.
- Besze.L_EP = Besze.Alter_Ep.
- IF Besze.Alter_Listen_EP = 0 THEN Besze.Alter_Listen_EP = Artst.Listen_EP.
- FIND Artst OF Besze.
-
- IF Besko.Best_Sta < 3 THEN DO:
- FIND ArtLager USE-INDEX ArtLager-k1
- WHERE ArtLager.Firma = Besze.Firma
- AND ArtLager.Artnr = Besze.Artnr
- AND ArtLager.Inhalt = Besze.Inhalt
- AND ArtLager.Jahr = Besze.Jahr
- AND ArtLager.Lager = Besze.Lager.
- ASSIGN {&List-3}.
- IF Besko.Best_Sta = 1 THEN ASSIGN Besze.MBest = Besze.KGeb_Me.
- ELSE ASSIGN Besze.MGeli = Besze.KGeb_Me.
- IF Besze.MBest = 0 THEN Besze.MBest = Besze.MGeli.
- IF Besze.MBest > 0 THEN DO:
- IF Besze.MGeli > Besze.MBest THEN Besze.MBest = Besze.MGeli.
- END.
- ELSE DO:
- IF Besze.MGeli < Besze.MBest THEN Besze.MBest = Besze.MGeli.
- END.
- FIND FIRST tBesze.
- Artst.Bestellt = Artst.Bestellt - (tBesze.MBest - tBesze.MGeli)
- + (Besze.MBest - Besze.MGeli).
- ArtLager.Bestellt = ArtLager.Bestellt - (tBesze.MBest - tBesze.MGeli)
- + (Besze.MBest - Besze.MGeli).
- END.
-
- RELEASE Besze.
- RELEASE Artst.
- RELEASE ArtLager.
- DISABLE {&List-3}.
- DISABLE {&List-5}.
- LEAVE.
- END.
- IF VNeu THEN DO:
- FNeuMut = TRUE.
- RUN OPEN_BESZE.
- REPOSITION Br_Besze TO RECID VRecid.
- END.
- ELSE {&BROWSE-NAME}:REFRESH().
-
- DO WHILE TRUE:
- IF NUM-RESULTS("{&BROWSE-NAME}":U) = ? THEN LEAVE.
- IF NUM-RESULTS("{&BROWSE-NAME}":U) = 0 THEN LEAVE.
- {&BROWSE-NAME}:SELECT-FOCUSED-ROW().
- {&BROWSE-NAME}:FETCH-SELECTED-ROW(1).
- RUN ANZEIGE.
- LEAVE.
- END.
- VUpdate = FALSE.
- VNeu = FALSE.
- APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
- RETURN NO-APPLY.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE state-changed F-Frame-Win
- PROCEDURE state-changed :
- /* -----------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- -------------------------------------------------------------*/
- DEFINE INPUT PARAMETER p-issuer-hdl AS HANDLE NO-UNDO.
- DEFINE INPUT PARAMETER p-state AS CHARACTER NO-UNDO.
-
- CASE p-state:
-
- WHEN 'browser_entry' THEN DO:
- APPLY 'ENTRY' TO Br_Besze IN FRAME {&FRAME-NAME}.
- RETURN.
- END.
-
- END CASE.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
|