f-besko.w 128 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859
  1. &ANALYZE-SUSPEND _VERSION-NUMBER UIB_v8r12 GUI ADM1
  2. &ANALYZE-RESUME
  3. /* Connected Databases
  4. anadat PROGRESS
  5. */
  6. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  7. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS F-Frame-Win
  8. /*------------------------------------------------------------------------
  9. File:
  10. Description: from cntnrfrm.w - ADM SmartFrame Template
  11. Input Parameters:
  12. <none>
  13. Output Parameters:
  14. <none>
  15. ------------------------------------------------------------------------*/
  16. /* This .W file was created with the Progress UIB. */
  17. /*----------------------------------------------------------------------*/
  18. /* Create an unnamed pool to store all the widgets created
  19. by this procedure. This is a good default which assures
  20. that this procedure's triggers and internal procedures
  21. will execute in this procedure's storage, and that proper
  22. cleanup will occur on deletion of the procedure. */
  23. CREATE WIDGET-POOL.
  24. /* *************************** Definitions ************************** */
  25. &Scoped-define INPUT-FELDER Besko.Best_Datum,Besko.Lief_Datum,~
  26. Besko.Buch_Datum,Besko.Bestell_Nr,Besko.U_Ref,~
  27. Besko.Rabatt,Besko.Spesen,CB_FRW,Besko.Kurs,~
  28. Besko.Faktor,Besko.Lieferzeit
  29. /* Parameters Definitions --- */
  30. /* Local Variable Definitions --- */
  31. DEF VAR VBest_Sta AS INT NO-UNDO.
  32. DEF VAR VSort AS INT NO-UNDO.
  33. DEF VAR VAdresse AS CHAR NO-UNDO.
  34. DEF VAR QOpen AS LOG NO-UNDO.
  35. DEF VAR Vorhanden AS LOG NO-UNDO.
  36. DEF VAR NRecid AS RECID NO-UNDO.
  37. DEF VAR XRecid AS RECID NO-UNDO.
  38. DEF VAR KRecid AS RECID NO-UNDO.
  39. DEF VAR VUpdate AS LOG NO-UNDO.
  40. DEF VAR VNeu AS LOG NO-UNDO.
  41. DEF VAR VInhalt AS CHAR NO-UNDO.
  42. DEF VAR VKnr AS INT NO-UNDO.
  43. DEF VAR XKnr AS INT NO-UNDO.
  44. DEF VAR XBesnr AS INT NO-UNDO.
  45. DEF VAR ABesnr AS INT NO-UNDO.
  46. DEF VAR LHandle AS HANDLE NO-UNDO.
  47. DEF VAR XHandle AS HANDLE NO-UNDO.
  48. DEF VAR FeldName AS CHAR NO-UNDO.
  49. DEF VAR FeldInhalt AS CHAR NO-UNDO.
  50. DEF VAR FAlfa AS LOG NO-UNDO.
  51. DEF VAR FNeuMut AS LOG NO-UNDO.
  52. DEF VAR XFrw AS CHAR NO-UNDO.
  53. DEF VAR ok AS LOG NO-UNDO.
  54. DEF VAR VFwFRW AS INT NO-UNDO.
  55. DEF VAR VFRW AS CHAR NO-UNDO.
  56. DEF VAR FwFrw AS CHAR NO-UNDO.
  57. DEF VAR VBrutto AS DEC DECIMALS 4 NO-UNDO.
  58. DEF VAR VNetto AS DEC DECIMALS 4 NO-UNDO.
  59. DEF VAR iLager AS INT NO-UNDO.
  60. DEF VAR cInstallation AS CHAR NO-UNDO.
  61. DEF VAR cFirma AS CHAR NO-UNDO.
  62. DEF VAR lVerbucht AS LOG INIT TRUE NO-UNDO.
  63. DEF VAR XArtnr AS CHAR NO-UNDO.
  64. DEF BUFFER BBesko FOR Besko.
  65. DEF BUFFER BBesze FOR Besze.
  66. DEF BUFFER BAdresse FOR Adresse.
  67. DEF WORKFILE WMWST FIELD Ansatz AS DEC
  68. FIELD Code AS INT.
  69. DEF TEMP-TABLE TKopf FIELD Zeile AS INT
  70. FIELD Feld AS CHAR EXTENT 10.
  71. DEF TEMP-TABLE tAdresse LIKE Adresse.
  72. /* ---------- Globale Variablen ---------------------------------- */
  73. { v8/globvar.i " " " "SHARED" }
  74. { v8/debivar.i " " " " "SHARED" }
  75. { v8/artivar.i " " " " "SHARED" }
  76. { v8/contvar.i " " " " "SHARED" }
  77. /* _UIB-CODE-BLOCK-END */
  78. &ANALYZE-RESUME
  79. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  80. /* ******************** Preprocessor Definitions ******************** */
  81. &Scoped-define PROCEDURE-TYPE SmartFrame
  82. &Scoped-define DB-AWARE no
  83. &Scoped-define ADM-CONTAINER FRAME
  84. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  85. &Scoped-define FRAME-NAME F-Main
  86. &Scoped-define BROWSE-NAME Br_Besko
  87. /* Internal Tables (found by Frame, Query & Browse Queries) */
  88. &Scoped-define INTERNAL-TABLES Besko
  89. /* Definitions for BROWSE Br_Besko */
  90. &Scoped-define FIELDS-IN-QUERY-Br_Besko Besko.Besnr Besko.Knr ~
  91. VAdresse @ VAdresse Besko.Best_Datum Besko.Lief_Datum
  92. &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_Besko Besko.Besnr
  93. &Scoped-define ENABLED-TABLES-IN-QUERY-Br_Besko Besko
  94. &Scoped-define FIRST-ENABLED-TABLE-IN-QUERY-Br_Besko Besko
  95. &Scoped-define QUERY-STRING-Br_Besko FOR EACH Besko NO-LOCK
  96. &Scoped-define OPEN-QUERY-Br_Besko OPEN QUERY Br_Besko FOR EACH Besko NO-LOCK.
  97. &Scoped-define TABLES-IN-QUERY-Br_Besko Besko
  98. &Scoped-define FIRST-TABLE-IN-QUERY-Br_Besko Besko
  99. /* Definitions for FRAME F-Main */
  100. /* Standard List Definitions */
  101. &Scoped-Define ENABLED-FIELDS Besko.Lieferzeit
  102. &Scoped-define ENABLED-TABLES Besko
  103. &Scoped-define FIRST-ENABLED-TABLE Besko
  104. &Scoped-Define ENABLED-OBJECTS RECT-32 RECT-41 CB_Lager Br_Besko ~
  105. CB_Beststat E_Adresse F_WoTag Btn_Excel Btn_Aendern Btn_Erfassen ~
  106. Btn_Loeschen Btn_Verschieben
  107. &Scoped-Define DISPLAYED-FIELDS Besko.Best_Datum Besko.Lief_Datum ~
  108. Besko.Lieferzeit Besko.Buch_Datum Besko.Bestell_Nr Besko.U_Ref Besko.Rabatt ~
  109. Besko.Spesen Besko.Abholtext Besko.Kurs Besko.Faktor Besko.Abgeholt
  110. &Scoped-define DISPLAYED-TABLES Besko
  111. &Scoped-define FIRST-DISPLAYED-TABLE Besko
  112. &Scoped-Define DISPLAYED-OBJECTS CB_Lager E_Adresse F_Knr F_Anzeig_Br ~
  113. F_Besnr F_Betrag F_Betrag_Netto F_BestBis F_Liefer F_WoTag
  114. /* Custom List Definitions */
  115. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  116. &Scoped-define List-1 F_Knr F_Anzeig_Br F_Besnr F_Betrag F_Betrag_Netto ~
  117. F_BestBis F_Liefer
  118. &Scoped-define List-2 F_Knr F_BestBis F_Liefer
  119. &Scoped-define List-3 Besko.Best_Datum Besko.Lief_Datum Besko.Lieferzeit ~
  120. Besko.Buch_Datum Besko.Bestell_Nr Besko.U_Ref Besko.Rabatt Besko.Spesen ~
  121. Besko.Abholtext Besko.Kurs Besko.Faktor Besko.Abgeholt
  122. /* _UIB-PREPROCESSOR-BLOCK-END */
  123. &ANALYZE-RESUME
  124. /* ************************ Function Prototypes ********************** */
  125. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD isAlleVerbucht F-Frame-Win
  126. FUNCTION isAlleVerbucht RETURNS LOGICAL
  127. ( ipcFirma AS CHAR, ipiBesnr AS INT ) FORWARD.
  128. /* _UIB-CODE-BLOCK-END */
  129. &ANALYZE-RESUME
  130. /* *********************** Control Definitions ********************** */
  131. /* Menu Definitions */
  132. DEFINE MENU POPUP-MENU-Br_Besko
  133. MENU-ITEM m_BestellEingangskontrolle LABEL "BestellEingangskontrolle".
  134. /* Definitions of the field level widgets */
  135. DEFINE BUTTON Btn_Aendern
  136. LABEL "&Aendern"
  137. SIZE 14 BY 1.
  138. DEFINE BUTTON Btn_Erfassen
  139. LABEL "&Neu"
  140. SIZE 14 BY 1.
  141. DEFINE BUTTON Btn_Excel
  142. LABEL "&Excel"
  143. SIZE 14 BY 1.
  144. DEFINE BUTTON Btn_Loeschen
  145. LABEL "&Löschen"
  146. SIZE 14 BY 1.
  147. DEFINE BUTTON Btn_Verschieben
  148. LABEL "&Weiter"
  149. SIZE 14 BY 1.
  150. DEFINE VARIABLE CB_Beststat AS CHARACTER FORMAT "X(256)":U
  151. VIEW-AS COMBO-BOX INNER-LINES 5
  152. LIST-ITEM-PAIRS "Item 1","item 1"
  153. DROP-DOWN-LIST
  154. SIZE 47 BY 1
  155. BGCOLOR 15 NO-UNDO.
  156. DEFINE VARIABLE CB_FRW AS CHARACTER FORMAT "X(256)":U
  157. VIEW-AS COMBO-BOX INNER-LINES 5
  158. LIST-ITEM-PAIRS "Item 1","Item 1"
  159. DROP-DOWN-LIST
  160. SIZE 38 BY 1
  161. BGCOLOR 15 NO-UNDO.
  162. DEFINE VARIABLE CB_Lager AS CHARACTER FORMAT "X(256)":U
  163. LABEL "Lager"
  164. VIEW-AS COMBO-BOX INNER-LINES 5
  165. LIST-ITEM-PAIRS "Item 1","item 1"
  166. DROP-DOWN-LIST
  167. SIZE 47 BY 1
  168. BGCOLOR 15 NO-UNDO.
  169. DEFINE VARIABLE E_Adresse AS CHARACTER
  170. VIEW-AS EDITOR NO-WORD-WRAP MAX-CHARS 500
  171. SIZE 47.6 BY 4.95
  172. BGCOLOR 15 NO-UNDO.
  173. DEFINE VARIABLE F_Anzeig_Br AS CHARACTER FORMAT "X(256)":U
  174. VIEW-AS FILL-IN NATIVE
  175. SIZE 50 BY 1
  176. BGCOLOR 15 NO-UNDO.
  177. DEFINE VARIABLE F_Besnr AS INTEGER FORMAT "999999":U INITIAL 0
  178. LABEL "Besnr"
  179. VIEW-AS FILL-IN NATIVE
  180. SIZE 12 BY 1
  181. BGCOLOR 15 NO-UNDO.
  182. DEFINE VARIABLE F_BestBis AS CHARACTER FORMAT "x(20)":U
  183. LABEL "Bestell. bis / Lieferungen"
  184. VIEW-AS FILL-IN NATIVE
  185. SIZE 20 BY 1
  186. BGCOLOR 15 NO-UNDO.
  187. DEFINE VARIABLE F_Betrag AS DECIMAL FORMAT "zzz,zzz,zz9.99-":U INITIAL 0
  188. LABEL "Total"
  189. VIEW-AS FILL-IN NATIVE
  190. SIZE 24 BY 1
  191. BGCOLOR 14 NO-UNDO.
  192. DEFINE VARIABLE F_Betrag_Netto AS DECIMAL FORMAT "zzz,zzz,zz9.99-":U INITIAL 0
  193. LABEL "ohne Spesen"
  194. VIEW-AS FILL-IN NATIVE
  195. SIZE 24 BY 1
  196. BGCOLOR 14 NO-UNDO.
  197. DEFINE VARIABLE F_Knr AS CHARACTER FORMAT "x(20)":U
  198. LABEL "Kunde"
  199. VIEW-AS FILL-IN NATIVE
  200. SIZE 15 BY 1
  201. BGCOLOR 15 NO-UNDO.
  202. DEFINE VARIABLE F_Liefer AS CHARACTER FORMAT "x(30)":U
  203. LABEL "/"
  204. VIEW-AS FILL-IN NATIVE
  205. SIZE 30 BY 1
  206. BGCOLOR 15 NO-UNDO.
  207. DEFINE VARIABLE F_WoTag AS CHARACTER FORMAT "X(256)":U
  208. VIEW-AS FILL-IN NATIVE
  209. SIZE 17 BY 1
  210. BGCOLOR 15 NO-UNDO.
  211. DEFINE RECTANGLE RECT-32
  212. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  213. SIZE 131 BY 8.57.
  214. DEFINE RECTANGLE RECT-41
  215. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  216. SIZE 131 BY 10.05.
  217. /* Query definitions */
  218. &ANALYZE-SUSPEND
  219. DEFINE QUERY Br_Besko FOR
  220. Besko SCROLLING.
  221. &ANALYZE-RESUME
  222. /* Browse definitions */
  223. DEFINE BROWSE Br_Besko
  224. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_Besko F-Frame-Win _STRUCTURED
  225. QUERY Br_Besko DISPLAY
  226. Besko.Besnr FORMAT "999999":U WIDTH 8
  227. Besko.Knr COLUMN-LABEL "Lnr" FORMAT "999999":U WIDTH 8
  228. VAdresse @ VAdresse COLUMN-LABEL "Lieferant" FORMAT "x(50)":U
  229. WIDTH 30
  230. Besko.Best_Datum COLUMN-LABEL "Best. Datum" FORMAT "99.99.9999":U
  231. WIDTH 12
  232. Besko.Lief_Datum COLUMN-LABEL "Lieferdatum" FORMAT "99.99.9999":U
  233. WIDTH 12
  234. ENABLE
  235. Besko.Besnr
  236. /* _UIB-CODE-BLOCK-END */
  237. &ANALYZE-RESUME
  238. WITH NO-ROW-MARKERS SEPARATORS SIZE 78.6 BY 6.81
  239. BGCOLOR 15 .
  240. /* ************************ Frame Definitions *********************** */
  241. DEFINE FRAME F-Main
  242. CB_Lager AT ROW 1.52 COL 81 COLON-ALIGNED WIDGET-ID 2
  243. Br_Besko AT ROW 2.62 COL 2.4
  244. CB_Beststat AT ROW 2.62 COL 81 COLON-ALIGNED NO-LABEL
  245. E_Adresse AT ROW 4.38 COL 83 NO-LABEL
  246. F_Knr AT ROW 10.67 COL 10.2 COLON-ALIGNED
  247. F_Anzeig_Br AT ROW 10.67 COL 26 COLON-ALIGNED NO-LABEL
  248. F_Besnr AT ROW 10.67 COL 84.4 COLON-ALIGNED
  249. F_Betrag AT ROW 10.67 COL 130.4 RIGHT-ALIGNED
  250. F_Betrag_Netto AT ROW 11.91 COL 130.4 RIGHT-ALIGNED
  251. F_BestBis AT ROW 12 COL 26 COLON-ALIGNED
  252. F_Liefer AT ROW 12 COL 49 COLON-ALIGNED
  253. Besko.Best_Datum AT ROW 15 COL 4 NO-LABEL
  254. VIEW-AS FILL-IN NATIVE
  255. SIZE 16 BY 1
  256. BGCOLOR 15
  257. Besko.Lief_Datum AT ROW 15 COL 18 COLON-ALIGNED NO-LABEL
  258. VIEW-AS FILL-IN NATIVE
  259. SIZE 16 BY 1
  260. BGCOLOR 15
  261. Besko.Lieferzeit AT ROW 15 COL 34 COLON-ALIGNED HELP
  262. "" NO-LABEL FORMAT "x(15)"
  263. VIEW-AS FILL-IN NATIVE
  264. SIZE 17 BY 1
  265. BGCOLOR 15
  266. Besko.Buch_Datum AT ROW 15 COL 51 COLON-ALIGNED NO-LABEL
  267. VIEW-AS FILL-IN NATIVE
  268. SIZE 16 BY 1
  269. BGCOLOR 15
  270. Besko.Bestell_Nr AT ROW 15 COL 67 COLON-ALIGNED NO-LABEL
  271. VIEW-AS FILL-IN NATIVE
  272. SIZE 18 BY 1
  273. BGCOLOR 15
  274. Besko.U_Ref AT ROW 15 COL 85 COLON-ALIGNED NO-LABEL FORMAT "x(20)"
  275. VIEW-AS FILL-IN NATIVE
  276. SIZE 25 BY 1
  277. BGCOLOR 15
  278. Besko.Rabatt AT ROW 15 COL 110 COLON-ALIGNED NO-LABEL
  279. VIEW-AS FILL-IN NATIVE
  280. SIZE 10 BY 1 TOOLTIP "Zeilenrabatt in Prozent"
  281. BGCOLOR 15
  282. F_WoTag AT ROW 16 COL 34 COLON-ALIGNED NO-LABEL NO-TAB-STOP
  283. Besko.Spesen AT ROW 17 COL 106 COLON-ALIGNED NO-LABEL FORMAT "z,zz9.99-"
  284. VIEW-AS FILL-IN NATIVE
  285. SIZE 14 BY 1
  286. BGCOLOR 15
  287. Besko.Abholtext AT ROW 17.48 COL 85 NO-LABEL WIDGET-ID 6
  288. VIEW-AS EDITOR
  289. SIZE 13.6 BY 1.33 NO-TAB-STOP
  290. CB_FRW AT ROW 18.52 COL 1.8 COLON-ALIGNED NO-LABEL
  291. Besko.Kurs AT ROW 18.52 COL 41.8 COLON-ALIGNED NO-LABEL
  292. VIEW-AS FILL-IN NATIVE
  293. SIZE 21.6 BY 1
  294. BGCOLOR 15
  295. Besko.Faktor AT ROW 18.52 COL 67.6 COLON-ALIGNED NO-LABEL
  296. VIEW-AS FILL-IN NATIVE
  297. SIZE 8.6 BY 1
  298. BGCOLOR 15
  299. Besko.Abgeholt AT ROW 18.52 COL 108 WIDGET-ID 4
  300. VIEW-AS TOGGLE-BOX
  301. SIZE 13.4 BY 1
  302. Btn_Excel AT ROW 21 COL 39.4
  303. Btn_Aendern AT ROW 21 COL 56.2
  304. Btn_Erfassen AT ROW 21 COL 71.6
  305. Btn_Loeschen AT ROW 21 COL 87
  306. Btn_Verschieben AT ROW 21 COL 117.8
  307. "Buchungsdatum" VIEW-AS TEXT
  308. SIZE 16 BY 1 AT ROW 14 COL 53
  309. " Unsere Referenz" VIEW-AS TEXT
  310. SIZE 25 BY 1 TOOLTIP "Beschaffungsspesen in CHF" AT ROW 14 COL 87
  311. "Faktor" VIEW-AS TEXT
  312. SIZE 10 BY 1 AT ROW 17.52 COL 69.6
  313. "Be.-Spesen" VIEW-AS TEXT
  314. SIZE 14 BY 1 AT ROW 16 COL 108
  315. "Lieferzeit" VIEW-AS TEXT
  316. SIZE 17 BY 1 AT ROW 14 COL 36
  317. "Seine Bestnr" VIEW-AS TEXT
  318. SIZE 18 BY 1 AT ROW 14 COL 69
  319. "Lieferdatum" VIEW-AS TEXT
  320. SIZE 16 BY 1 AT ROW 14 COL 20
  321. "Rabatt" VIEW-AS TEXT
  322. SIZE 10 BY 1 AT ROW 14 COL 112
  323. "Bestelldatum" VIEW-AS TEXT
  324. SIZE 16 BY 1 AT ROW 14 COL 4
  325. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  326. SIDE-LABELS NO-UNDERLINE THREE-D
  327. AT COL 1 ROW 1
  328. SIZE 133 BY 21.29.
  329. /* DEFINE FRAME statement is approaching 4K Bytes. Breaking it up */
  330. DEFINE FRAME F-Main
  331. "Fremdwährung Kurs" VIEW-AS TEXT
  332. SIZE 61.8 BY 1 AT ROW 17.52 COL 3.8
  333. RECT-32 AT ROW 1.29 COL 1.2
  334. RECT-41 AT ROW 10.05 COL 1.2
  335. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  336. SIDE-LABELS NO-UNDERLINE THREE-D
  337. AT COL 1 ROW 1
  338. SIZE 133 BY 21.29.
  339. /* *********************** Procedure Settings ************************ */
  340. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  341. /* Settings for THIS-PROCEDURE
  342. Type: SmartFrame
  343. Allow: Basic,Browse,DB-Fields,Query,Smart
  344. Design Page: 1
  345. Other Settings: PERSISTENT-ONLY COMPILE
  346. */
  347. /* This procedure should always be RUN PERSISTENT. Report the error, */
  348. /* then cleanup and return. */
  349. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  350. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  351. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  352. RETURN.
  353. END.
  354. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  355. /* ************************* Create Window ************************** */
  356. &ANALYZE-SUSPEND _CREATE-WINDOW
  357. /* DESIGN Window definition (used by the UIB)
  358. CREATE WINDOW F-Frame-Win ASSIGN
  359. HEIGHT = 21.29
  360. WIDTH = 133.
  361. /* END WINDOW DEFINITION */
  362. */
  363. &ANALYZE-RESUME
  364. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB F-Frame-Win
  365. /* ************************* Included-Libraries *********************** */
  366. {src/adm/method/containr.i}
  367. /* _UIB-CODE-BLOCK-END */
  368. &ANALYZE-RESUME
  369. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  370. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  371. /* SETTINGS FOR WINDOW F-Frame-Win
  372. VISIBLE,,RUN-PERSISTENT */
  373. /* SETTINGS FOR FRAME F-Main
  374. NOT-VISIBLE FRAME-NAME */
  375. /* BROWSE-TAB Br_Besko CB_Lager F-Main */
  376. /* SETTINGS FOR TOGGLE-BOX Besko.Abgeholt IN FRAME F-Main
  377. NO-ENABLE 3 */
  378. /* SETTINGS FOR EDITOR Besko.Abholtext IN FRAME F-Main
  379. NO-ENABLE 3 */
  380. ASSIGN
  381. Besko.Abholtext:HIDDEN IN FRAME F-Main = TRUE.
  382. /* SETTINGS FOR FILL-IN Besko.Bestell_Nr IN FRAME F-Main
  383. NO-ENABLE 3 EXP-LABEL */
  384. /* SETTINGS FOR FILL-IN Besko.Best_Datum IN FRAME F-Main
  385. NO-ENABLE ALIGN-L 3 EXP-LABEL */
  386. ASSIGN
  387. Br_Besko:POPUP-MENU IN FRAME F-Main = MENU POPUP-MENU-Br_Besko:HANDLE.
  388. ASSIGN
  389. Btn_Erfassen:PRIVATE-DATA IN FRAME F-Main =
  390. "Abbrechen".
  391. /* SETTINGS FOR FILL-IN Besko.Buch_Datum IN FRAME F-Main
  392. NO-ENABLE 3 EXP-LABEL */
  393. /* SETTINGS FOR COMBO-BOX CB_Beststat IN FRAME F-Main
  394. NO-DISPLAY */
  395. /* SETTINGS FOR COMBO-BOX CB_FRW IN FRAME F-Main
  396. NO-DISPLAY NO-ENABLE */
  397. ASSIGN
  398. E_Adresse:RETURN-INSERTED IN FRAME F-Main = TRUE
  399. E_Adresse:READ-ONLY IN FRAME F-Main = TRUE.
  400. /* SETTINGS FOR FILL-IN Besko.Faktor IN FRAME F-Main
  401. NO-ENABLE 3 EXP-LABEL */
  402. /* SETTINGS FOR FILL-IN F_Anzeig_Br IN FRAME F-Main
  403. NO-ENABLE 1 */
  404. /* SETTINGS FOR FILL-IN F_Besnr IN FRAME F-Main
  405. NO-ENABLE 1 */
  406. /* SETTINGS FOR FILL-IN F_BestBis IN FRAME F-Main
  407. NO-ENABLE 1 2 */
  408. /* SETTINGS FOR FILL-IN F_Betrag IN FRAME F-Main
  409. NO-ENABLE ALIGN-R 1 */
  410. /* SETTINGS FOR FILL-IN F_Betrag_Netto IN FRAME F-Main
  411. NO-ENABLE ALIGN-R 1 */
  412. /* SETTINGS FOR FILL-IN F_Knr IN FRAME F-Main
  413. NO-ENABLE 1 2 */
  414. /* SETTINGS FOR FILL-IN F_Liefer IN FRAME F-Main
  415. NO-ENABLE 1 2 */
  416. ASSIGN
  417. F_WoTag:READ-ONLY IN FRAME F-Main = TRUE.
  418. /* SETTINGS FOR FILL-IN Besko.Kurs IN FRAME F-Main
  419. NO-ENABLE 3 EXP-LABEL */
  420. /* SETTINGS FOR FILL-IN Besko.Lieferzeit IN FRAME F-Main
  421. 3 EXP-LABEL EXP-FORMAT EXP-HELP */
  422. /* SETTINGS FOR FILL-IN Besko.Lief_Datum IN FRAME F-Main
  423. NO-ENABLE 3 EXP-LABEL */
  424. /* SETTINGS FOR FILL-IN Besko.Rabatt IN FRAME F-Main
  425. NO-ENABLE 3 */
  426. /* SETTINGS FOR FILL-IN Besko.Spesen IN FRAME F-Main
  427. NO-ENABLE 3 EXP-LABEL EXP-FORMAT */
  428. /* SETTINGS FOR FILL-IN Besko.U_Ref IN FRAME F-Main
  429. NO-ENABLE 3 EXP-LABEL EXP-FORMAT */
  430. /* _RUN-TIME-ATTRIBUTES-END */
  431. &ANALYZE-RESUME
  432. /* Setting information for Queries and Browse Widgets fields */
  433. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_Besko
  434. /* Query rebuild information for BROWSE Br_Besko
  435. _TblList = "AnaDat.Besko"
  436. _FldNameList[1] > AnaDat.Besko.Besnr
  437. "Besko.Besnr" ? ? "integer" ? ? ? ? ? ? yes ? no no "8" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  438. _FldNameList[2] > AnaDat.Besko.Knr
  439. "Besko.Knr" "Lnr" ? "integer" ? ? ? ? ? ? no ? no no "8" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  440. _FldNameList[3] > "_<CALC>"
  441. "VAdresse @ VAdresse" "Lieferant" "x(50)" ? ? ? ? ? ? ? no ? no no "30" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  442. _FldNameList[4] > AnaDat.Besko.Best_Datum
  443. "Besko.Best_Datum" "Best. Datum" ? "date" ? ? ? ? ? ? no ? no no "12" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  444. _FldNameList[5] > AnaDat.Besko.Lief_Datum
  445. "Besko.Lief_Datum" "Lieferdatum" ? "date" ? ? ? ? ? ? no ? no no "12" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
  446. _Query is NOT OPENED
  447. */ /* BROWSE Br_Besko */
  448. &ANALYZE-RESUME
  449. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  450. /* Query rebuild information for FRAME F-Main
  451. _Options = ""
  452. _Query is NOT OPENED
  453. */ /* FRAME F-Main */
  454. &ANALYZE-RESUME
  455. /* ************************ Control Triggers ************************ */
  456. &Scoped-define SELF-NAME Besko.Abgeholt
  457. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besko.Abgeholt F-Frame-Win
  458. ON VALUE-CHANGED OF Besko.Abgeholt IN FRAME F-Main /* Abgeholt */
  459. DO:
  460. IF Besko.AbholText:SCREEN-VALUE <> '' THEN SELF:SCREEN-VALUE = 'TRUE'.
  461. ELSE SELF:SCREEN-VALUE = 'FALSE'.
  462. RUN g-texteingabe.w ( 'Abholtext', Besko.Abholtext:HANDLE ).
  463. IF Besko.AbholText:SCREEN-VALUE <> '' THEN SELF:SCREEN-VALUE = 'TRUE'.
  464. ELSE SELF:SCREEN-VALUE = 'FALSE'.
  465. END.
  466. /* _UIB-CODE-BLOCK-END */
  467. &ANALYZE-RESUME
  468. &Scoped-define BROWSE-NAME Br_Besko
  469. &Scoped-define SELF-NAME Br_Besko
  470. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Besko F-Frame-Win
  471. ON CTRL-ALT-F4 OF Br_Besko IN FRAME F-Main
  472. DO:
  473. IF Besko.Besnr:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15 THEN RETURN NO-APPLY.
  474. Ja = TRUE.
  475. DO WHILE Besko.Best_Sta > 2 WITH FRAME {&FRAME-NAME}:
  476. Ja = FALSE.
  477. MESSAGE "Achtung, diese Bestellung scheint nicht " SKIP
  478. "eingebucht zu sein. Wollen sie das nachholen ? "
  479. VIEW-AS ALERT-BOX INFORMATION BUTTONS OK-CANCEL
  480. UPDATE Ja.
  481. IF NOT Ja THEN LEAVE.
  482. KRecid = RECID(Besko).
  483. IF Besko.Buch_Datum = ? THEN LVDat = TODAY.
  484. ELSE LVDat = Besko.Buch_Datum.
  485. Linktext = STRING(LVDat,"99.99.9999")
  486. + ";"
  487. + "Eingabe Buchungsdatum;"
  488. + "Buchungsdatum;"
  489. + "99.99.9999;"
  490. + "3".
  491. RUN "v8/d-einlesen-wert.w".
  492. IF Linktext = "?" OR
  493. Linktext = ? THEN DO:
  494. { v8/fehler.i "0096" }
  495. Ja = FALSE.
  496. LEAVE.
  497. END.
  498. ERROR-STATUS:ERROR = FALSE.
  499. LVDat = DATE(Linktext) NO-ERROR.
  500. IF NOT ERROR-STATUS:ERROR AND
  501. LVDat <> ? THEN RUN LAGEREINGANG.
  502. REPEAT TRANSACTION:
  503. FIND BBesko WHERE RECID(BBesko) = KRecid.
  504. BBesko.Buch_Datum = LVDat.
  505. RELEASE BBesko.
  506. LEAVE.
  507. END.
  508. IF NUM-RESULTS("Br_Besko":U) > 0 THEN DO:
  509. {&BROWSE-NAME}:REFRESH().
  510. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  511. APPLY 'VALUE-CHANGED' TO BROWSE {&BROWSE-NAME}.
  512. END.
  513. LEAVE.
  514. END.
  515. RETURN NO-APPLY.
  516. END.
  517. /* _UIB-CODE-BLOCK-END */
  518. &ANALYZE-RESUME
  519. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Besko F-Frame-Win
  520. ON ROW-DISPLAY OF Br_Besko IN FRAME F-Main
  521. DO:
  522. DO WITH FRAME {&FRAME-NAME}:
  523. ASSIGN Besko.Besnr :BGCOLOR IN BROWSE {&BROWSE-NAME} = 15
  524. Besko.Knr :BGCOLOR IN BROWSE {&BROWSE-NAME} = 15
  525. VAdresse :BGCOLOR IN BROWSE {&BROWSE-NAME} = 15
  526. Besko.Best_Datum:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15
  527. Besko.Lief_Datum:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15.
  528. END.
  529. FIND Adresse USE-INDEX Adresse-k1
  530. WHERE Adresse.Firma = AdFirma
  531. AND Adresse.Knr = Besko.Knr NO-LOCK NO-ERROR.
  532. VAdresse = Adresse.Anzeig_Br.
  533. IF Besko.Best_Sta > 2 THEN DO:
  534. lVerbucht = DYNAMIC-FUNCTION('isAlleVerbucht':U, Besko.Firma, Besko.Besnr) NO-ERROR.
  535. IF NOT lVerbucht THEN DO:
  536. ASSIGN Besko.Besnr :BGCOLOR IN BROWSE {&BROWSE-NAME} = 14
  537. Besko.Knr :BGCOLOR IN BROWSE {&BROWSE-NAME} = 14
  538. VAdresse :BGCOLOR IN BROWSE {&BROWSE-NAME} = 14
  539. Besko.Best_Datum:BGCOLOR IN BROWSE {&BROWSE-NAME} = 14
  540. Besko.Lief_Datum:BGCOLOR IN BROWSE {&BROWSE-NAME} = 14.
  541. END.
  542. END.
  543. END.
  544. /* _UIB-CODE-BLOCK-END */
  545. &ANALYZE-RESUME
  546. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Besko F-Frame-Win
  547. ON START-SEARCH OF Br_Besko IN FRAME F-Main
  548. DO:
  549. DEFINE VARIABLE ColumnHandle AS HANDLE NO-UNDO.
  550. DO WITH FRAME {&FRAME-NAME}:
  551. ASSIGN ColumnHandle = Br_Besko:CURRENT-COLUMN.
  552. APPLY 'END-SEARCH' TO Br_Besko.
  553. CASE ColumnHandle:NAME:
  554. WHEN 'Besnr' THEN DO:
  555. VSort = 1.
  556. RUN OPEN_BESKO.
  557. END.
  558. WHEN 'Knr' THEN DO:
  559. VSort = 2.
  560. RUN OPEN_BESKO.
  561. END.
  562. WHEN 'Best_Datum' THEN DO:
  563. VSort = 3.
  564. RUN OPEN_BESKO.
  565. END.
  566. WHEN 'Lief_Datum' THEN DO:
  567. VSort = 4.
  568. RUN OPEN_BESKO.
  569. END.
  570. END CASE.
  571. IF Vorhanden THEN DO:
  572. Br_Besko:SELECT-ROW(1).
  573. Br_Besko:FETCH-SELECTED-ROW(1).
  574. END.
  575. APPLY 'ENTRY' TO Br_Besko.
  576. END.
  577. RETURN NO-APPLY.
  578. END.
  579. /* _UIB-CODE-BLOCK-END */
  580. &ANALYZE-RESUME
  581. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Besko F-Frame-Win
  582. ON VALUE-CHANGED OF Br_Besko IN FRAME F-Main
  583. DO:
  584. FIND Adresse USE-INDEX Adresse-k1
  585. WHERE Adresse.Firma = AdFirma
  586. AND Adresse.Knr = Besko.Knr NO-LOCK NO-ERROR.
  587. RUN ANZEIGE.
  588. F_Anzeig_Br = VAdresse.
  589. F_Knr = STRING(Besko.Knr,"999999").
  590. LVLnr = Besko.Knr.
  591. LVBesnr = Besko.Besnr.
  592. VNetto = 0.
  593. VBrutto = 0.
  594. lVerbucht = TRUE.
  595. FOR EACH Besze OF Besko NO-LOCK:
  596. IF Besko.Best_Sta = 1 THEN DO:
  597. VBrutto = VBrutto + (Besze.MBest * Besze.Preis).
  598. VNetto = VNetto + (Besze.MBest * Besze.S_Preis).
  599. END.
  600. ELSE DO:
  601. VBrutto = VBrutto + (Besze.MGeli * Besze.Preis).
  602. VNetto = VNetto + (Besze.MGeli * Besze.S_Preis).
  603. END.
  604. END.
  605. DO WITH FRAME {&FRAME-NAME}:
  606. F_Betrag = VBrutto.
  607. F_Betrag_Netto = VNetto .
  608. DISPLAY {&List-1}.
  609. END.
  610. RUN ANZEIGE_BESKO.
  611. END.
  612. /* _UIB-CODE-BLOCK-END */
  613. &ANALYZE-RESUME
  614. &Scoped-define SELF-NAME Btn_Aendern
  615. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Aendern F-Frame-Win
  616. ON CHOOSE OF Btn_Aendern IN FRAME F-Main /* Aendern */
  617. DO:
  618. IF Btn_Aendern:LABEL = '&Aendern' THEN DO:
  619. NRecid = 0.
  620. RUN AENDERN.
  621. END.
  622. ELSE DO:
  623. RUN SPEICHERN.
  624. END.
  625. RETURN NO-APPLY.
  626. END.
  627. /* _UIB-CODE-BLOCK-END */
  628. &ANALYZE-RESUME
  629. &Scoped-define SELF-NAME Btn_Erfassen
  630. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Erfassen F-Frame-Win
  631. ON CHOOSE OF Btn_Erfassen IN FRAME F-Main /* Neu */
  632. DO:
  633. IF Btn_Erfassen:LABEL = '&Neu' THEN DO:
  634. RUN ERFASSEN.
  635. END.
  636. ELSE DO:
  637. RUN ABBRECHEN.
  638. END.
  639. RETURN NO-APPLY.
  640. END.
  641. /* _UIB-CODE-BLOCK-END */
  642. &ANALYZE-RESUME
  643. &Scoped-define SELF-NAME Btn_Excel
  644. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Excel F-Frame-Win
  645. ON CHOOSE OF Btn_Excel IN FRAME F-Main /* Excel */
  646. DO:
  647. RUN DRUCKEN.
  648. END.
  649. /* _UIB-CODE-BLOCK-END */
  650. &ANALYZE-RESUME
  651. &Scoped-define SELF-NAME Btn_Loeschen
  652. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Loeschen F-Frame-Win
  653. ON CHOOSE OF Btn_Loeschen IN FRAME F-Main /* Löschen */
  654. DO:
  655. IF NUM-RESULTS("Br_Besko":U) = ? THEN RETURN NO-APPLY.
  656. IF NUM-RESULTS("Br_Besko":U) = 0 THEN RETURN NO-APPLY.
  657. NRecid = 0.
  658. RUN LOESCHEN.
  659. RETURN NO-APPLY.
  660. END.
  661. /* _UIB-CODE-BLOCK-END */
  662. &ANALYZE-RESUME
  663. &Scoped-define SELF-NAME Btn_Verschieben
  664. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Verschieben F-Frame-Win
  665. ON CHOOSE OF Btn_Verschieben IN FRAME F-Main /* Weiter */
  666. DO:
  667. IF NOT AVAILABLE Besko THEN RETURN NO-APPLY.
  668. KRecid = RECID(Besko).
  669. DISABLE TRIGGERS FOR LOAD OF Besze.
  670. FIND Tabel NO-LOCK USE-INDEX Tabel-k2
  671. WHERE Tabel.Firma = GVFirma
  672. AND Tabel.RecArt = 'BESTAT'
  673. AND Tabel.CodeC = ''
  674. AND Tabel.CodeI = Besko.Best_Sta + 1
  675. AND Tabel.Sprcd = 1 NO-ERROR.
  676. IF NOT AVAILABLE Tabel THEN RETURN NO-APPLY.
  677. REPEAT TRANSACTION WHILE Besko.Best_Sta = 1:
  678. FOR EACH Besze OF Besko:
  679. IF Besze.Artnr = 0 THEN NEXT.
  680. IF Besze.MBest = 0 AND
  681. Besze.MGeli = 0 THEN DO:
  682. DELETE Besze.
  683. NEXT.
  684. END.
  685. Besze.MGeli = Besze.MBest.
  686. FIND ArtLager
  687. WHERE ArtLager.Firma = Besze.Firma
  688. AND ArtLager.Artnr = Besze.Artnr
  689. AND ArtLager.Inhalt = Besze.Inhalt
  690. AND ArtLager.Jahr = Besze.Jahr
  691. AND ArtLager.Lager = Besze.Lager NO-ERROR.
  692. ArtLager.Bestellt = ArtLager.Bestellt - Besze.MGeli.
  693. RELEASE ArtLager.
  694. END.
  695. LEAVE.
  696. END.
  697. Ja = TRUE.
  698. DO WHILE Besko.Best_Sta = 2:
  699. Ja = FALSE.
  700. MESSAGE "Achtung, die eingegebenen Mengen werden als Lagereingang verbucht"
  701. VIEW-AS ALERT-BOX INFORMATION BUTTONS OK-CANCEL
  702. UPDATE Ja.
  703. IF NOT Ja THEN LEAVE.
  704. IF Besko.Buch_Datum = ? THEN LVDat = TODAY.
  705. ELSE LVDat = Besko.Buch_Datum.
  706. Linktext = STRING(LVDat,"99.99.9999")
  707. + ";"
  708. + "Eingabe Buchungsdatum;"
  709. + "Buchungsdatum;"
  710. + "99.99.9999;"
  711. + "3".
  712. RUN "v8/d-einlesen-wert.w".
  713. IF Linktext = "?" OR
  714. Linktext = ? THEN DO:
  715. { v8/fehler.i "0096" }
  716. Ja = FALSE.
  717. LEAVE.
  718. END.
  719. ERROR-STATUS:ERROR = FALSE.
  720. LVDat = DATE(Linktext) NO-ERROR.
  721. IF NOT ERROR-STATUS:ERROR AND
  722. LVDat <> ? THEN RUN LAGEREINGANG.
  723. LEAVE.
  724. END.
  725. DO WHILE Besko.Best_Sta = 3:
  726. Ja = FALSE.
  727. LVBesnr = Besko.Besnr.
  728. FOR EACH Besze OF Besko NO-LOCK:
  729. IF Besze.Artnr = 0 THEN NEXT.
  730. IF Besze.Preis > 0 THEN NEXT.
  731. MESSAGE 'es gibt noch Artikel ohne Preis' VIEW-AS ALERT-BOX.
  732. LEAVE.
  733. END.
  734. RUN "v8/d-bestverbuchen.w".
  735. LEAVE.
  736. END.
  737. REPEAT TRANSACTION WHILE Ja:
  738. FIND BBesko WHERE RECID(BBesko) = KRecid.
  739. IF BBesko.Best_Sta = 2 THEN BBesko.Buch_Datum = LVDat.
  740. BBesko.Best_Sta = BBesko.Best_Sta + 1.
  741. RELEASE BBesko.
  742. {&BROWSE-NAME}:DELETE-SELECTED-ROW(1).
  743. IF NUM-RESULTS("Br_Besko":U) > 0 THEN DO:
  744. {&BROWSE-NAME}:REFRESH().
  745. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  746. APPLY 'VALUE-CHANGED' TO BROWSE {&BROWSE-NAME}.
  747. END.
  748. ELSE DO:
  749. APPLY 'ENTRY' TO CB_Beststat IN FRAME {&FRAME-NAME}.
  750. END.
  751. RETURN NO-APPLY.
  752. END.
  753. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  754. RETURN NO-APPLY.
  755. END.
  756. /* _UIB-CODE-BLOCK-END */
  757. &ANALYZE-RESUME
  758. &Scoped-define SELF-NAME CB_Beststat
  759. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Beststat F-Frame-Win
  760. ON VALUE-CHANGED OF CB_Beststat IN FRAME F-Main
  761. DO:
  762. DO WITH FRAME {&FRAME-NAME}:
  763. VBest_Sta = INTEGER(CB_Beststat:SCREEN-VALUE) NO-ERROR.
  764. RUN OPEN_BESKO.
  765. ENABLE Btn_LOESCHEN.
  766. IF VBest_Sta = 3 THEN DISABLE Btn_LOESCHEN.
  767. RETURN NO-APPLY.
  768. END.
  769. END.
  770. /* _UIB-CODE-BLOCK-END */
  771. &ANALYZE-RESUME
  772. &Scoped-define SELF-NAME CB_FRW
  773. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_FRW F-Frame-Win
  774. ON VALUE-CHANGED OF CB_FRW IN FRAME F-Main
  775. DO:
  776. DO WITH FRAME {&FRAME-NAME}:
  777. ix = LOOKUP(SELF:SCREEN-VALUE, SELF:LIST-ITEMS, '|').
  778. FIND Waehrung NO-LOCK
  779. WHERE Waehrung.Firma = GVFirma
  780. AND Waehrung.FRW = ENTRY(ix, XFRW, '|') NO-ERROR.
  781. Besko.Kurs:SCREEN-VALUE = STRING(Waehrung.Kurs).
  782. Besko.Faktor:SCREEN-VALUE = STRING(Waehrung.Faktor).
  783. VFRW = Waehrung.FRW.
  784. END.
  785. END.
  786. /* _UIB-CODE-BLOCK-END */
  787. &ANALYZE-RESUME
  788. &Scoped-define SELF-NAME CB_Lager
  789. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Lager F-Frame-Win
  790. ON VALUE-CHANGED OF CB_Lager IN FRAME F-Main /* Lager */
  791. DO:
  792. RUN OPEN_BESKO.
  793. END.
  794. /* _UIB-CODE-BLOCK-END */
  795. &ANALYZE-RESUME
  796. &Scoped-define SELF-NAME F_BestBis
  797. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_BestBis F-Frame-Win
  798. ON END-ERROR OF F_BestBis IN FRAME F-Main /* Bestell. bis / Lieferungen */
  799. DO:
  800. DO WITH FRAME {&FRAME-NAME}:
  801. APPLY 'ENTRY' TO Btn_Erfassen.
  802. APPLY 'CHOOSE' TO Btn_Erfassen.
  803. RETURN NO-APPLY.
  804. END.
  805. END.
  806. /* _UIB-CODE-BLOCK-END */
  807. &ANALYZE-RESUME
  808. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_BestBis F-Frame-Win
  809. ON LEAVE OF F_BestBis IN FRAME F-Main /* Bestell. bis / Lieferungen */
  810. DO:
  811. IF NOT VUpdate THEN RETURN NO-APPLY.
  812. IF NOT VNeu THEN RETURN NO-APPLY.
  813. DO WITH FRAME {&FRAME-NAME}:
  814. IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN.
  815. LKY = LASTKEY.
  816. LHandle = LAST-EVENT:WIDGET-ENTER.
  817. XHandle = SELF:HANDLE.
  818. Feldname = XHandle:NAME.
  819. FeldInhalt = XHandle:SCREEN-VALUE.
  820. VKnr = -1.
  821. FAlfa = FALSE.
  822. DO ix = 1 TO LENGTH(FeldInhalt).
  823. IF SUBSTRING(FeldInhalt,ix,01) >= '0' AND
  824. SUBSTRING(FeldInhalt,ix,01) <= '9' THEN NEXT.
  825. FAlfa = TRUE.
  826. LEAVE.
  827. END.
  828. IF NOT FAlfa THEN VKnr = INTEGER(FeldInhalt).
  829. RUN KUNDENNUMMER.
  830. IF VKnr = -1 THEN DO:
  831. LVSuchbe = FeldInhalt.
  832. IF FAlfa THEN LVSort = 2.
  833. ELSE LVSort = 1.
  834. RUN "v8/d-liefstsuch.w".
  835. IF Gefunden = FALSE THEN DO:
  836. F_Knr = LVSuchbe.
  837. DISPLAY F_Knr.
  838. APPLY 'ENTRY' TO F_Knr.
  839. RETURN NO-APPLY.
  840. END.
  841. VKnr = INTEGER(LVSuchbe).
  842. END.
  843. F_Knr = STRING(VKnr,"999999").
  844. DISPLAY F_Knr.
  845. FIND Adresse USE-INDEX Adresse-k1
  846. WHERE Adresse.Firma = AdFirma
  847. AND Adresse.Knr = VKnr NO-LOCK NO-ERROR.
  848. IF NOT AVAILABLE Adresse THEN DO:
  849. { v8/fehler.i "0101" }
  850. APPLY 'ENTRY' TO F_Knr.
  851. RETURN NO-APPLY.
  852. END.
  853. IF Adresse.Aktiv = FALSE THEN DO:
  854. { v8/fehler.i "0132" }
  855. APPLY 'ENTRY' TO F_Knr.
  856. RETURN NO-APPLY.
  857. END.
  858. FIND Liefst USE-INDEX Liefst-k1
  859. WHERE Liefst.Firma = GVFirma
  860. AND Liefst.Knr = VKnr NO-LOCK NO-ERROR.
  861. IF NOT AVAILABLE Liefst THEN DO:
  862. { v8/fehler.i "0223" }
  863. APPLY 'ENTRY' TO F_Knr.
  864. RETURN NO-APPLY.
  865. END.
  866. IF Liefst.Aktiv = FALSE THEN DO:
  867. { v8/fehler.i "0224" }
  868. APPLY 'ENTRY' TO F_Knr.
  869. RETURN NO-APPLY.
  870. END.
  871. RUN ANZEIGE.
  872. F_Knr = STRING(VKnr,"999999").
  873. F_Anzeig_Br = Adresse.Anzeig_Br.
  874. DISPLAY {&List-1}.
  875. Ja = TRUE.
  876. MESSAGE 'Bestellung eröffnen ?'
  877. VIEW-AS ALERT-BOX QUESTION BUTTONS YES-NO
  878. UPDATE Ja.
  879. IF NOT Ja THEN DO:
  880. APPLY 'ENTRY' TO F_Knr.
  881. RETURN NO-APPLY.
  882. END.
  883. REPEAT TRANSACTION:
  884. ix = 0.
  885. DO WHILE ix = 0:
  886. FIND SteuNr WHERE SteuNr.Firma = GVFirma
  887. EXCLUSIVE-LOCK NO-WAIT NO-ERROR.
  888. IF AVAILABLE SteuNr THEN DO:
  889. SteuNr.Nr3 = SteuNr.Nr3 + 1.
  890. ix = SteuNr.Nr3.
  891. RELEASE SteuNr.
  892. FIND Besko USE-INDEX Besko-k1
  893. WHERE Besko.Firma = GVFirma
  894. AND Besko.Besnr = ix NO-LOCK NO-ERROR.
  895. IF NOT AVAILABLE Besko THEN LEAVE.
  896. ix = 0.
  897. NEXT.
  898. END.
  899. MESSAGE 'Datei SteuNr ist im Zugriff' VIEW-AS ALERT-BOX INFORMATION.
  900. END.
  901. CREATE Besko.
  902. ASSIGN Besko.Firma = GVFirma
  903. Besko.Besnr = ix
  904. Besko.Knr = Liefst.Knr
  905. Besko.Best_Datum = TODAY
  906. Besko.Lief_Datum = TODAY + 7
  907. Besko.Buch_Datum = ?
  908. Besko.I_Best = Liefst.Kontakt
  909. Besko.U_Ref = GVSaBe
  910. Besko.Kond = Liefst.Kond
  911. Besko.Gedruckt = FALSE
  912. Besko.Verbucht = FALSE
  913. Besko.Best_Sta = 1
  914. Besko.Rabatt = Liefst.Rabatt
  915. Besko.Bemerkung = Liefst.Bemerkung
  916. Besko.Kopf = Liefst.Kopf
  917. Besko.Schluss = Liefst.Schluss.
  918. FIND Waehrung NO-LOCK USE-INDEX Waehrung-k1
  919. WHERE Waehrung.Firma = Liefst.Firma
  920. AND Waehrung.FRW = Liefst.FRW NO-ERROR.
  921. IF AVAILABLE Waehrung THEN DO:
  922. ASSIGN Besko.FRW = Waehrung.FRW
  923. Besko.Faktor = Waehrung.Faktor
  924. Besko.Kurs = Waehrung.Kurs.
  925. END.
  926. ELSE DO:
  927. ASSIGN Besko.FRW = 'CHF'
  928. Besko.Faktor = 1
  929. Besko.Kurs = 1.0.
  930. END.
  931. NRecid = RECID(Besko).
  932. XRecid = RECID(Besko).
  933. LEAVE.
  934. END. /* TRANSCTION */
  935. FIND Besko WHERE RECID(Besko) = NRecid NO-LOCK.
  936. LVBesnr = Besko.Besnr.
  937. LVLnr = Besko.Knr.
  938. F_Besnr = Besko.Besnr.
  939. RUN ANZEIGE_BESKO.
  940. DISABLE {&List-2}.
  941. ENABLE {&List-3}.
  942. APPLY 'ENTRY' TO Besko.Best_Datum.
  943. RETURN NO-APPLY.
  944. END. /* FRAME */
  945. END.
  946. /* _UIB-CODE-BLOCK-END */
  947. &ANALYZE-RESUME
  948. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_BestBis F-Frame-Win
  949. ON RETURN OF F_BestBis IN FRAME F-Main /* Bestell. bis / Lieferungen */
  950. DO:
  951. APPLY 'TAB' TO SELF.
  952. RETURN NO-APPLY.
  953. END.
  954. /* _UIB-CODE-BLOCK-END */
  955. &ANALYZE-RESUME
  956. &Scoped-define SELF-NAME F_Knr
  957. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Knr F-Frame-Win
  958. ON END-ERROR OF F_Knr IN FRAME F-Main /* Kunde */
  959. DO:
  960. DO WITH FRAME {&FRAME-NAME}:
  961. APPLY 'ENTRY' TO Btn_Erfassen.
  962. APPLY 'CHOOSE' TO Btn_Erfassen.
  963. RETURN NO-APPLY.
  964. END.
  965. END.
  966. /* _UIB-CODE-BLOCK-END */
  967. &ANALYZE-RESUME
  968. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Knr F-Frame-Win
  969. ON LEAVE OF F_Knr IN FRAME F-Main /* Kunde */
  970. DO:
  971. DEF VAR iKnr AS INT NO-UNDO.
  972. DEF VAR iRecid AS RECID NO-UNDO.
  973. IF NOT VUpdate THEN RETURN NO-APPLY.
  974. IF NOT VNeu THEN RETURN NO-APPLY.
  975. DO WITH FRAME {&FRAME-NAME}:
  976. IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN.
  977. LKY = LASTKEY.
  978. LHandle = LAST-EVENT:WIDGET-ENTER.
  979. IF LHandle:NAME = 'Btn_Erfassen' THEN RETURN.
  980. XHandle = SELF:HANDLE.
  981. Feldname = XHandle:NAME.
  982. FeldInhalt = XHandle:SCREEN-VALUE.
  983. DO WHILE TRUE:
  984. iKnr = ?.
  985. iRecid = ?.
  986. IF NUM-ENTRIES(FeldInhalt, ' ') = 1 THEN iKnr = INTEGER(FeldInhalt) NO-ERROR.
  987. IF NOT ERROR-STATUS:ERROR AND
  988. iKnr > 0 THEN DO:
  989. FIND FIRST Liefst NO-LOCK
  990. WHERE Liefst.Firma = Firma
  991. AND Liefst.Knr = iKnr NO-ERROR.
  992. IF AVAILABLE Liefst THEN DO:
  993. FIND FIRST Adresse NO-LOCK
  994. WHERE Adresse.Firma = AdFirma
  995. AND Adresse.Knr = Liefst.Knr NO-ERROR.
  996. iRecid = RECID(Adresse).
  997. LEAVE.
  998. END.
  999. END.
  1000. ASSIGN Linktext = 'LIE;' + FeldInhalt.
  1001. RUN g-suchen-adresse.w ( INPUT Linktext, OUTPUT iRecid ).
  1002. LEAVE.
  1003. END.
  1004. IF iRecid = ? OR
  1005. iRecid = 0 THEN DO:
  1006. APPLY 'ENTRY' TO SELF.
  1007. RETURN NO-APPLY.
  1008. END.
  1009. FIND Adresse NO-LOCK WHERE RECID(Adresse) = iRecid NO-ERROR.
  1010. IF NOT AVAILABLE Adresse THEN DO:
  1011. { v8/fehler.i "0101" }
  1012. APPLY 'ENTRY' TO F_Knr.
  1013. RETURN NO-APPLY.
  1014. END.
  1015. VKnr = Adresse.Knr.
  1016. F_Knr = STRING(VKnr,"999999").
  1017. DISPLAY F_Knr.
  1018. IF Adresse.Aktiv = FALSE THEN DO:
  1019. { v8/fehler.i "0132" }
  1020. APPLY 'ENTRY' TO F_Knr.
  1021. RETURN NO-APPLY.
  1022. END.
  1023. FIND Liefst USE-INDEX Liefst-k1
  1024. WHERE Liefst.Firma = GVFirma
  1025. AND Liefst.Knr = VKnr NO-LOCK NO-ERROR.
  1026. IF NOT AVAILABLE Liefst THEN DO:
  1027. { v8/fehler.i "0223" }
  1028. APPLY 'ENTRY' TO F_Knr.
  1029. RETURN NO-APPLY.
  1030. END.
  1031. IF Liefst.Aktiv = FALSE THEN DO:
  1032. { v8/fehler.i "0224" }
  1033. APPLY 'ENTRY' TO F_Knr.
  1034. RETURN NO-APPLY.
  1035. END.
  1036. RUN ANZEIGE.
  1037. F_Knr = STRING(VKnr,"999999").
  1038. F_Anzeig_Br = Adresse.Anzeig_Br.
  1039. DISPLAY {&List-1}.
  1040. Ja = TRUE.
  1041. MESSAGE 'Bestellung eröffnen ?'
  1042. VIEW-AS ALERT-BOX QUESTION BUTTONS YES-NO
  1043. UPDATE Ja.
  1044. IF NOT Ja THEN DO:
  1045. APPLY 'ENTRY' TO F_Knr.
  1046. RETURN NO-APPLY.
  1047. END.
  1048. REPEAT TRANSACTION:
  1049. ix = 0.
  1050. DO WHILE ix = 0:
  1051. FIND SteuNr WHERE SteuNr.Firma = GVFirma
  1052. EXCLUSIVE-LOCK NO-WAIT NO-ERROR.
  1053. IF AVAILABLE SteuNr THEN DO:
  1054. SteuNr.Nr3 = SteuNr.Nr3 + 1.
  1055. ix = SteuNr.Nr3.
  1056. RELEASE SteuNr.
  1057. FIND Besko USE-INDEX Besko-k1
  1058. WHERE Besko.Firma = GVFirma
  1059. AND Besko.Besnr = ix NO-LOCK NO-ERROR.
  1060. IF NOT AVAILABLE Besko THEN LEAVE.
  1061. ix = 0.
  1062. NEXT.
  1063. END.
  1064. MESSAGE 'Datei SteuNr ist im Zugriff' VIEW-AS ALERT-BOX INFORMATION.
  1065. END.
  1066. CREATE Besko.
  1067. ASSIGN Besko.Firma = GVFirma
  1068. Besko.Besnr = ix
  1069. Besko.Knr = Liefst.Knr
  1070. Besko.Best_Datum = TODAY
  1071. Besko.Lief_Datum = TODAY + 7
  1072. Besko.Buch_Datum = ?
  1073. Besko.I_Best = Liefst.Kontakt
  1074. Besko.U_Ref = GVSaBe
  1075. Besko.Kond = Liefst.Kond
  1076. Besko.Gedruckt = FALSE
  1077. Besko.Verbucht = FALSE
  1078. Besko.Best_Sta = 1
  1079. Besko.Rabatt = Liefst.Rabatt
  1080. Besko.Bemerkung = Liefst.Bemerkung
  1081. Besko.Kopf = Liefst.Kopf
  1082. Besko.Schluss = Liefst.Schluss
  1083. Besko.Lager = iLager.
  1084. FIND Waehrung NO-LOCK USE-INDEX Waehrung-k1
  1085. WHERE Waehrung.Firma = Liefst.Firma
  1086. AND Waehrung.FRW = Liefst.FRW NO-ERROR.
  1087. IF AVAILABLE Waehrung THEN DO:
  1088. ASSIGN Besko.FRW = Waehrung.FRW
  1089. Besko.Faktor = Waehrung.Faktor
  1090. Besko.Kurs = Waehrung.Kurs.
  1091. END.
  1092. ELSE DO:
  1093. ASSIGN Besko.FRW = 'CHF'
  1094. Besko.Faktor = 1
  1095. Besko.Kurs = 1.0.
  1096. END.
  1097. NRecid = RECID(Besko).
  1098. XRecid = RECID(Besko).
  1099. LEAVE.
  1100. END. /* TRANSCTION */
  1101. FIND Besko WHERE RECID(Besko) = NRecid NO-LOCK.
  1102. LVBesnr = Besko.Besnr.
  1103. LVLnr = Besko.Knr.
  1104. F_Besnr = Besko.Besnr.
  1105. RUN ANZEIGE_BESKO.
  1106. DISABLE {&List-2}.
  1107. ENABLE {&List-3}.
  1108. APPLY 'ENTRY' TO Besko.Best_Datum.
  1109. RETURN NO-APPLY.
  1110. END. /* FRAME */
  1111. END.
  1112. /* _UIB-CODE-BLOCK-END */
  1113. &ANALYZE-RESUME
  1114. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Knr F-Frame-Win
  1115. ON RETURN OF F_Knr IN FRAME F-Main /* Kunde */
  1116. DO:
  1117. APPLY 'TAB' TO SELF.
  1118. RETURN NO-APPLY.
  1119. END.
  1120. /* _UIB-CODE-BLOCK-END */
  1121. &ANALYZE-RESUME
  1122. &Scoped-define SELF-NAME F_Liefer
  1123. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Liefer F-Frame-Win
  1124. ON END-ERROR OF F_Liefer IN FRAME F-Main /* / */
  1125. DO:
  1126. DO WITH FRAME {&FRAME-NAME}:
  1127. APPLY 'ENTRY' TO Btn_Erfassen.
  1128. APPLY 'CHOOSE' TO Btn_Erfassen.
  1129. RETURN NO-APPLY.
  1130. END.
  1131. END.
  1132. /* _UIB-CODE-BLOCK-END */
  1133. &ANALYZE-RESUME
  1134. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Liefer F-Frame-Win
  1135. ON LEAVE OF F_Liefer IN FRAME F-Main /* / */
  1136. DO:
  1137. IF NOT VUpdate THEN RETURN NO-APPLY.
  1138. IF NOT VNeu THEN RETURN NO-APPLY.
  1139. DO WITH FRAME {&FRAME-NAME}:
  1140. IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN.
  1141. LKY = LASTKEY.
  1142. LHandle = LAST-EVENT:WIDGET-ENTER.
  1143. XHandle = SELF:HANDLE.
  1144. Feldname = XHandle:NAME.
  1145. FeldInhalt = XHandle:SCREEN-VALUE.
  1146. VKnr = -1.
  1147. FAlfa = FALSE.
  1148. DO ix = 1 TO LENGTH(FeldInhalt).
  1149. IF SUBSTRING(FeldInhalt,ix,01) >= '0' AND
  1150. SUBSTRING(FeldInhalt,ix,01) <= '9' THEN NEXT.
  1151. FAlfa = TRUE.
  1152. LEAVE.
  1153. END.
  1154. IF NOT FAlfa THEN VKnr = INTEGER(FeldInhalt).
  1155. RUN KUNDENNUMMER.
  1156. IF VKnr = -1 THEN DO:
  1157. LVSuchbe = FeldInhalt.
  1158. IF FAlfa THEN LVSort = 2.
  1159. ELSE LVSort = 1.
  1160. RUN "v8/d-liefstsuch.w".
  1161. IF Gefunden = FALSE THEN DO:
  1162. F_Knr = LVSuchbe.
  1163. DISPLAY F_Knr.
  1164. APPLY 'ENTRY' TO F_Knr.
  1165. RETURN NO-APPLY.
  1166. END.
  1167. VKnr = INTEGER(LVSuchbe).
  1168. END.
  1169. F_Knr = STRING(VKnr,"999999").
  1170. DISPLAY F_Knr.
  1171. FIND Adresse USE-INDEX Adresse-k1
  1172. WHERE Adresse.Firma = AdFirma
  1173. AND Adresse.Knr = VKnr NO-LOCK NO-ERROR.
  1174. IF NOT AVAILABLE Adresse THEN DO:
  1175. { v8/fehler.i "0101" }
  1176. APPLY 'ENTRY' TO F_Knr.
  1177. RETURN NO-APPLY.
  1178. END.
  1179. IF Adresse.Aktiv = FALSE THEN DO:
  1180. { v8/fehler.i "0132" }
  1181. APPLY 'ENTRY' TO F_Knr.
  1182. RETURN NO-APPLY.
  1183. END.
  1184. FIND Liefst USE-INDEX Liefst-k1
  1185. WHERE Liefst.Firma = GVFirma
  1186. AND Liefst.Knr = VKnr NO-LOCK NO-ERROR.
  1187. IF NOT AVAILABLE Liefst THEN DO:
  1188. { v8/fehler.i "0223" }
  1189. APPLY 'ENTRY' TO F_Knr.
  1190. RETURN NO-APPLY.
  1191. END.
  1192. IF Liefst.Aktiv = FALSE THEN DO:
  1193. { v8/fehler.i "0224" }
  1194. APPLY 'ENTRY' TO F_Knr.
  1195. RETURN NO-APPLY.
  1196. END.
  1197. RUN ANZEIGE.
  1198. F_Knr = STRING(VKnr,"999999").
  1199. F_Anzeig_Br = Adresse.Anzeig_Br.
  1200. DISPLAY {&List-1}.
  1201. Ja = TRUE.
  1202. MESSAGE 'Bestellung eröffnen ?'
  1203. VIEW-AS ALERT-BOX QUESTION BUTTONS YES-NO
  1204. UPDATE Ja.
  1205. IF NOT Ja THEN DO:
  1206. APPLY 'ENTRY' TO F_Knr.
  1207. RETURN NO-APPLY.
  1208. END.
  1209. REPEAT TRANSACTION:
  1210. ix = 0.
  1211. DO WHILE ix = 0:
  1212. FIND SteuNr WHERE SteuNr.Firma = GVFirma
  1213. EXCLUSIVE-LOCK NO-WAIT NO-ERROR.
  1214. IF AVAILABLE SteuNr THEN DO:
  1215. SteuNr.Nr3 = SteuNr.Nr3 + 1.
  1216. ix = SteuNr.Nr3.
  1217. RELEASE SteuNr.
  1218. FIND Besko USE-INDEX Besko-k1
  1219. WHERE Besko.Firma = GVFirma
  1220. AND Besko.Besnr = ix NO-LOCK NO-ERROR.
  1221. IF NOT AVAILABLE Besko THEN LEAVE.
  1222. ix = 0.
  1223. NEXT.
  1224. END.
  1225. MESSAGE 'Datei SteuNr ist im Zugriff' VIEW-AS ALERT-BOX INFORMATION.
  1226. END.
  1227. CREATE Besko.
  1228. ASSIGN Besko.Firma = GVFirma
  1229. Besko.Besnr = ix
  1230. Besko.Knr = Liefst.Knr
  1231. Besko.Best_Datum = TODAY
  1232. Besko.Lief_Datum = TODAY + 7
  1233. Besko.Buch_Datum = ?
  1234. Besko.I_Best = Liefst.Kontakt
  1235. Besko.U_Ref = GVSaBe
  1236. Besko.Kond = Liefst.Kond
  1237. Besko.Gedruckt = FALSE
  1238. Besko.Verbucht = FALSE
  1239. Besko.Best_Sta = 1
  1240. Besko.Rabatt = Liefst.Rabatt
  1241. Besko.Bemerkung = Liefst.Bemerkung
  1242. Besko.Kopf = Liefst.Kopf
  1243. Besko.Schluss = Liefst.Schluss.
  1244. FIND Waehrung NO-LOCK USE-INDEX Waehrung-k1
  1245. WHERE Waehrung.Firma = Liefst.Firma
  1246. AND Waehrung.FRW = Liefst.FRW NO-ERROR.
  1247. IF AVAILABLE Waehrung THEN DO:
  1248. ASSIGN Besko.FRW = Waehrung.FRW
  1249. Besko.Faktor = Waehrung.Faktor
  1250. Besko.Kurs = Waehrung.Kurs.
  1251. END.
  1252. ELSE DO:
  1253. ASSIGN Besko.FRW = 'CHF'
  1254. Besko.Faktor = 1
  1255. Besko.Kurs = 1.0.
  1256. END.
  1257. NRecid = RECID(Besko).
  1258. XRecid = RECID(Besko).
  1259. LEAVE.
  1260. END. /* TRANSCTION */
  1261. FIND Besko WHERE RECID(Besko) = NRecid NO-LOCK.
  1262. LVBesnr = Besko.Besnr.
  1263. LVLnr = Besko.Knr.
  1264. F_Besnr = Besko.Besnr.
  1265. RUN ANZEIGE_BESKO.
  1266. DISABLE {&List-2}.
  1267. ENABLE {&List-3}.
  1268. APPLY 'ENTRY' TO Besko.Best_Datum.
  1269. RETURN NO-APPLY.
  1270. END. /* FRAME */
  1271. END.
  1272. /* _UIB-CODE-BLOCK-END */
  1273. &ANALYZE-RESUME
  1274. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Liefer F-Frame-Win
  1275. ON RETURN OF F_Liefer IN FRAME F-Main /* / */
  1276. DO:
  1277. APPLY 'TAB' TO SELF.
  1278. RETURN NO-APPLY.
  1279. END.
  1280. /* _UIB-CODE-BLOCK-END */
  1281. &ANALYZE-RESUME
  1282. &Scoped-define SELF-NAME Besko.Lief_Datum
  1283. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Besko.Lief_Datum F-Frame-Win
  1284. ON LEAVE OF Besko.Lief_Datum IN FRAME F-Main /* Lief_Datum */
  1285. DO:
  1286. DO WITH FRAME {&FRAME-NAME}:
  1287. F_WoTag = DYNAMIC-FUNCTION('GETWOCHENTAG', INPUT DATE(SELF:SCREEN-VALUE) ) NO-ERROR.
  1288. DISPLAY F_WoTag.
  1289. END.
  1290. END.
  1291. /* _UIB-CODE-BLOCK-END */
  1292. &ANALYZE-RESUME
  1293. &Scoped-define SELF-NAME m_BestellEingangskontrolle
  1294. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL m_BestellEingangskontrolle F-Frame-Win
  1295. ON CHOOSE OF MENU-ITEM m_BestellEingangskontrolle /* BestellEingangskontrolle */
  1296. DO:
  1297. RUN EINGANGS_KONTROLLE.
  1298. END.
  1299. /* _UIB-CODE-BLOCK-END */
  1300. &ANALYZE-RESUME
  1301. &UNDEFINE SELF-NAME
  1302. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK F-Frame-Win
  1303. /* *************************** Main Block *************************** */
  1304. CB_FRW:DELIMITER = '|'.
  1305. CB_Beststat:DELIMITER = '|'.
  1306. GET-KEY-VALUE SECTION 'FwSteuer' KEY 'FwFRW' VALUE FwFRW.
  1307. IF FwFRW = ? THEN FwFRW = 'CHF'.
  1308. cFirma = DYNAMIC-FUNCTION('getMandant') NO-ERROR.
  1309. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  1310. /* Now enable the interface if in test mode - otherwise this happens when
  1311. the object is explicitly initialized from its container. */
  1312. RUN dispatch IN THIS-PROCEDURE ('initialize':U).
  1313. &ENDIF
  1314. /* ------------------------------------------------------------------ */
  1315. ON RETURN OF Br_Besko IN FRAME {&FRAME-NAME}
  1316. DO:
  1317. IF VUpdate THEN RETURN NO-APPLY.
  1318. APPLY 'ENTRY' TO Btn_Aendern IN FRAME {&FRAME-NAME}.
  1319. APPLY 'CHOOSE' TO Btn_Aendern IN FRAME {&FRAME-NAME}.
  1320. RETURN NO-APPLY.
  1321. END.
  1322. /*
  1323. ON INSERT-MODE, 'ALT-INS' OF Br_Besko IN FRAME {&FRAME-NAME}
  1324. */
  1325. ON INSERT-MODE, 'ALT-INS' OF {&WINDOW-NAME} ANYWHERE
  1326. DO:
  1327. IF VUpdate THEN RETURN NO-APPLY.
  1328. APPLY 'ENTRY' TO Btn_Erfassen IN FRAME {&FRAME-NAME}.
  1329. APPLY 'CHOOSE' TO Btn_Erfassen IN FRAME {&FRAME-NAME}.
  1330. RETURN NO-APPLY.
  1331. END.
  1332. ON DELETE-CHARACTER OF BROWSE {&BROWSE-NAME}
  1333. DO:
  1334. IF VUpdate THEN RETURN NO-APPLY.
  1335. IF VBest_Sta = 3 THEN RETURN NO-APPLY.
  1336. APPLY 'ENTRY' TO Btn_Loeschen IN FRAME {&FRAME-NAME}.
  1337. APPLY 'CHOOSE' TO Btn_Loeschen IN FRAME {&FRAME-NAME}.
  1338. RETURN NO-APPLY.
  1339. END.
  1340. ON PAGE-DOWN OF {&INPUT-FELDER} IN FRAME {&FRAME-NAME}
  1341. DO:
  1342. IF NOT VUpdate THEN RETURN NO-APPLY.
  1343. XHandle = SELF:HANDLE.
  1344. Feldname = XHandle:NAME.
  1345. IF NOT VALID-HANDLE(XHandle) THEN RETURN NO-APPLY.
  1346. IF XHandle:TYPE <> 'FILL-IN' THEN RETURN NO-APPLY.
  1347. CASE Feldname:
  1348. WHEN 'F_Knr' THEN RETURN NO-APPLY.
  1349. END CASE.
  1350. APPLY 'ENTRY' TO Btn_Aendern IN FRAME {&FRAME-NAME}.
  1351. APPLY 'CHOOSE' TO Btn_Aendern IN FRAME {&FRAME-NAME}.
  1352. RUN new-state ( 'seite_2, MAIN':U ).
  1353. RETURN NO-APPLY.
  1354. END.
  1355. ON END OF {&INPUT-FELDER} IN FRAME {&FRAME-NAME}
  1356. DO:
  1357. IF NOT VUpdate THEN RETURN NO-APPLY.
  1358. XHandle = SELF:HANDLE.
  1359. Feldname = XHandle:NAME.
  1360. IF NOT VALID-HANDLE(XHandle) THEN RETURN NO-APPLY.
  1361. IF XHandle:TYPE <> 'FILL-IN' THEN RETURN NO-APPLY.
  1362. CASE Feldname:
  1363. WHEN 'F_Knr' THEN RETURN NO-APPLY.
  1364. END CASE.
  1365. APPLY 'ENTRY' TO Btn_Aendern IN FRAME {&FRAME-NAME}.
  1366. APPLY 'CHOOSE' TO Btn_Aendern IN FRAME {&FRAME-NAME}.
  1367. APPLY 'ENTRY' TO Br_Besko IN FRAME {&FRAME-NAME}.
  1368. RETURN NO-APPLY.
  1369. END.
  1370. /*
  1371. ON END-ERROR OF {&INPUT-FELDER} IN FRAME {&FRAME-NAME}
  1372. */
  1373. ON END-ERROR OF {&WINDOW-NAME} ANYWHERE
  1374. DO:
  1375. IF VUpdate THEN DO WITH FRAME {&FRAME-NAME}:
  1376. APPLY 'ENTRY' TO Btn_Erfassen.
  1377. APPLY 'CHOOSE' TO Btn_Erfassen.
  1378. RETURN NO-APPLY.
  1379. END.
  1380. PUBLISH 'CLOSEBESTELLWESEN'.
  1381. RETURN NO-APPLY.
  1382. END.
  1383. ON RETURN OF {&INPUT-FELDER} IN FRAME {&FRAME-NAME}
  1384. DO:
  1385. APPLY 'TAB' TO SELF.
  1386. RETURN NO-APPLY.
  1387. END.
  1388. /* _UIB-CODE-BLOCK-END */
  1389. &ANALYZE-RESUME
  1390. /* ********************** Internal Procedures *********************** */
  1391. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ABBRECHEN F-Frame-Win
  1392. PROCEDURE ABBRECHEN :
  1393. /*------------------------------------------------------------------------------
  1394. Purpose:
  1395. Parameters: <none>
  1396. Notes:
  1397. ------------------------------------------------------------------------------*/
  1398. DO WITH FRAME {&FRAME-NAME}:
  1399. Btn_Erfassen:LABEL = '&Neu'.
  1400. Btn_Aendern:LABEL = '&Aendern'.
  1401. ENABLE Btn_Loeschen Btn_Verschieben Btn_Excel CB_Lager.
  1402. IF VBest_Sta = 3 THEN DISABLE Btn_LOESCHEN.
  1403. DISABLE CB_FRW.
  1404. DISABLE {&List-2}.
  1405. DISABLE {&List-3}.
  1406. VUpdate = FALSE.
  1407. VNeu = FALSE.
  1408. RUN CLEAR_BILDSCHIRM.
  1409. IF NRecid > 0 THEN DO:
  1410. REPEAT TRANSACTION:
  1411. FIND BBesko WHERE RECID(BBesko) = NRecid NO-ERROR.
  1412. IF AVAILABLE BBesko THEN DELETE BBesko.
  1413. LEAVE.
  1414. END.
  1415. END.
  1416. APPLY 'VALUE-CHANGED' TO Br_Besko.
  1417. APPLY 'ENTRY' TO Br_Besko.
  1418. RETURN NO-APPLY.
  1419. END.
  1420. END PROCEDURE.
  1421. /* _UIB-CODE-BLOCK-END */
  1422. &ANALYZE-RESUME
  1423. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects F-Frame-Win _ADM-CREATE-OBJECTS
  1424. PROCEDURE adm-create-objects :
  1425. /*------------------------------------------------------------------------------
  1426. Purpose: Create handles for all SmartObjects used in this procedure.
  1427. After SmartObjects are initialized, then SmartLinks are added.
  1428. Parameters: <none>
  1429. ------------------------------------------------------------------------------*/
  1430. END PROCEDURE.
  1431. /* _UIB-CODE-BLOCK-END */
  1432. &ANALYZE-RESUME
  1433. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-row-available F-Frame-Win _ADM-ROW-AVAILABLE
  1434. PROCEDURE adm-row-available :
  1435. /*------------------------------------------------------------------------------
  1436. Purpose: Dispatched to this procedure when the Record-
  1437. Source has a new row available. This procedure
  1438. tries to get the new row (or foriegn keys) from
  1439. the Record-Source and process it.
  1440. Parameters: <none>
  1441. ------------------------------------------------------------------------------*/
  1442. /* Define variables needed by this internal procedure. */
  1443. {src/adm/template/row-head.i}
  1444. /* Process the newly available records (i.e. display fields,
  1445. open queries, and/or pass records on to any RECORD-TARGETS). */
  1446. {src/adm/template/row-end.i}
  1447. END PROCEDURE.
  1448. /* _UIB-CODE-BLOCK-END */
  1449. &ANALYZE-RESUME
  1450. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AENDERN F-Frame-Win
  1451. PROCEDURE AENDERN :
  1452. /*------------------------------------------------------------------------------
  1453. Purpose:
  1454. Parameters: <none>
  1455. Notes:
  1456. ------------------------------------------------------------------------------*/
  1457. DO WITH FRAME {&FRAME-NAME}:
  1458. IF NOT AVAILABLE Besko THEN RETURN NO-APPLY.
  1459. VUpdate = TRUE.
  1460. VNeu = FALSE.
  1461. NRecid = 0.
  1462. XRecid = RECID(Besko).
  1463. LVBesnr = Besko.Besnr.
  1464. LVLnr = Besko.Knr.
  1465. Btn_Erfassen:LABEL = '&Abbrechen'.
  1466. Btn_Aendern:LABEL = '&Speichern'.
  1467. DISABLE Btn_Loeschen Btn_Verschieben Btn_Excel.
  1468. ENABLE {&List-3}.
  1469. DISABLE Besko.Faktor.
  1470. IF F_Betrag = 0 THEN ENABLE CB_FRW.
  1471. APPLY 'ENTRY' TO Besko.Best_Datum.
  1472. RETURN NO-APPLY.
  1473. END.
  1474. END PROCEDURE.
  1475. /* _UIB-CODE-BLOCK-END */
  1476. &ANALYZE-RESUME
  1477. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ANZEIGE F-Frame-Win
  1478. PROCEDURE ANZEIGE :
  1479. /*------------------------------------------------------------------------------
  1480. Purpose:
  1481. Parameters: <none>
  1482. Notes:
  1483. ------------------------------------------------------------------------------*/
  1484. VAdresse = ''.
  1485. E_Adresse = ''.
  1486. F_Besnr = 0.
  1487. EMPTY TEMP-TABLE tAdresse.
  1488. CREATE tAdresse.
  1489. IF AVAILABLE Adresse THEN DO:
  1490. VAdresse = Adresse.Anzeig_Br.
  1491. BUFFER-COPY Adresse TO tAdresse.
  1492. FIND FIRST Ansprech NO-LOCK
  1493. WHERE Ansprech.Firma = Adresse.Firma
  1494. AND Ansprech.Knr = Adresse.Knr
  1495. AND Ansprech.Bestellung = TRUE NO-ERROR.
  1496. IF AVAILABLE Ansprech THEN BUFFER-COPY Ansprech TO tAdresse.
  1497. E_Adresse = tAdresse.Anschrift[05] + CHR(10) +
  1498. tAdresse.Anschrift[06] + CHR(10) +
  1499. tAdresse.Anschrift[07] + CHR(10) +
  1500. tAdresse.Anschrift[08] + CHR(10) +
  1501. tAdresse.Anschrift[09] + CHR(10) +
  1502. tAdresse.Anschrift[10] + CHR(10) +
  1503. tAdresse.Anschrift[11] + CHR(10) +
  1504. tAdresse.Anschrift[12].
  1505. END.
  1506. ELSE VAdresse = '????????'.
  1507. IF AVAILABLE Besko THEN F_Besnr = Besko.Besnr.
  1508. DISPLAY E_Adresse WITH FRAME {&FRAME-NAME}.
  1509. END PROCEDURE.
  1510. /* _UIB-CODE-BLOCK-END */
  1511. &ANALYZE-RESUME
  1512. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ANZEIGE_BESKO F-Frame-Win
  1513. PROCEDURE ANZEIGE_BESKO :
  1514. /*------------------------------------------------------------------------------
  1515. Purpose:
  1516. Parameters: <none>
  1517. Notes:
  1518. ------------------------------------------------------------------------------*/
  1519. DO WITH FRAME {&FRAME-NAME}:
  1520. IF NOT AVAILABLE Besko THEN RETURN.
  1521. FIND Liefst NO-LOCK USE-INDEX Liefst-k1
  1522. WHERE Liefst.Firma = GVFirma
  1523. AND Liefst.Knr = Besko.Knr NO-ERROR.
  1524. F_BestBis = Liefst.BestBis.
  1525. F_Liefer = Liefst.Lieferungen.
  1526. F_WoTag = DYNAMIC-FUNCTION('GETWOCHENTAG', INPUT Besko.Lief_Datum ) NO-ERROR.
  1527. DISPLAY F_Besnr
  1528. F_BestBis
  1529. F_Liefer
  1530. F_WoTag
  1531. {&List-3}
  1532. Besko.Faktor.
  1533. CB_FRW:SCREEN-VALUE = Besko.Frw.
  1534. VFRW = Besko.FRW.
  1535. END.
  1536. END PROCEDURE.
  1537. /* _UIB-CODE-BLOCK-END */
  1538. &ANALYZE-RESUME
  1539. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE CLEAR_BILDSCHIRM F-Frame-Win
  1540. PROCEDURE CLEAR_BILDSCHIRM :
  1541. /*------------------------------------------------------------------------------
  1542. Purpose:
  1543. Parameters: <none>
  1544. Notes:
  1545. ------------------------------------------------------------------------------*/
  1546. DEF VAR Fenster AS HANDLE.
  1547. Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  1548. ASSIGN Fenster = Fenster:FIRST-CHILD.
  1549. DO WHILE VALID-HANDLE (Fenster) :
  1550. DO WHILE TRUE:
  1551. IF Fenster:HIDDEN = TRUE THEN LEAVE.
  1552. IF Fenster:TYPE = 'COMBO-BOX' THEN DO:
  1553. IF Fenster:NAME = 'CB_Lager' THEN LEAVE.
  1554. IF Fenster:NAME = 'CB_Beststat' THEN LEAVE.
  1555. IF Fenster:NAME = 'CB_FRW' THEN DO:
  1556. Fenster:SCREEN-VALUE = FwFRW.
  1557. LEAVE.
  1558. END.
  1559. Fenster:SCREEN-VALUE = ' '.
  1560. LEAVE.
  1561. END.
  1562. IF Fenster:TYPE = 'EDITOR' THEN DO:
  1563. Fenster:SCREEN-VALUE = ''.
  1564. LEAVE.
  1565. END.
  1566. IF Fenster:TYPE = 'FILL-IN' THEN DO:
  1567. IF Fenster:DATA-TYPE = 'INTEGER' THEN Fenster:SCREEN-VALUE = ''.
  1568. IF Fenster:DATA-TYPE = 'DECIMAL' THEN Fenster:SCREEN-VALUE = ''.
  1569. IF Fenster:DATA-TYPE = 'CHARACTER' THEN Fenster:SCREEN-VALUE = ''.
  1570. IF Fenster:DATA-TYPE = 'LOGICAL' THEN Fenster:SCREEN-VALUE = 'no'.
  1571. IF Fenster:DATA-TYPE = 'DATE' THEN Fenster:SCREEN-VALUE = ?.
  1572. LEAVE.
  1573. END.
  1574. LEAVE.
  1575. END.
  1576. ASSIGN Fenster = Fenster:NEXT-SIBLING.
  1577. END.
  1578. END PROCEDURE.
  1579. /* _UIB-CODE-BLOCK-END */
  1580. &ANALYZE-RESUME
  1581. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE CREATE_GebKontr F-Frame-Win
  1582. PROCEDURE CREATE_GebKontr :
  1583. /*------------------------------------------------------------------------------
  1584. Purpose:
  1585. Parameters: <none>
  1586. Notes:
  1587. ------------------------------------------------------------------------------*/
  1588. DO WITH FRAME {&FRAME-NAME}:
  1589. FIND LAST GebKontr NO-LOCK USE-INDEX GebKontr-k1
  1590. WHERE GebKontr.Firma = Besko.Firma
  1591. AND GebKontr.Knr = Besko.Knr NO-ERROR.
  1592. IF NOT AVAILABLE GebKontr THEN ix = 1.
  1593. ELSE ix = GebKontr.Trnr + 1.
  1594. CREATE GebKontr.
  1595. ASSIGN GebKontr.Firma = Besko.Firma
  1596. GebKontr.Knr = Besko.Knr
  1597. GebKontr.Trnr = ix
  1598. GebKontr.Geb_Cd = GebKonto.Geb_Cd
  1599. GebKontr.Doknr = Besko.Besnr
  1600. GebKontr.Datum = LVDat
  1601. GebKontr.Preis = GebKonto.Depot.
  1602. LVRecid = RECID(GebKontr).
  1603. IF GebKonto.MWST_Art = 0 THEN DO:
  1604. ASSIGN GebKontr.MWST_Cd = 11
  1605. GebKontr.MWST_% = 0
  1606. GebKontr.MWST_Inkl = TRUE.
  1607. RELEASE GebKontr.
  1608. RETURN.
  1609. END.
  1610. IF GebKonto.MWST_Art = 1 THEN DO:
  1611. Rundbetr = 0.
  1612. FIND Wust NO-LOCK USE-INDEX Wust-k1
  1613. WHERE Wust.CodeK = 99
  1614. AND Wust.CodeA = Artst.MWST NO-ERROR.
  1615. Rundbetr = Wust.Proz.
  1616. FIND FIRST Wust NO-LOCK USE-INDEX Wust-k2
  1617. WHERE Wust.WuCd < 12
  1618. AND Wust.Proz = Rundbetr
  1619. AND Wust.Incl = FALSE NO-ERROR.
  1620. END.
  1621. IF GebKonto.MWST_Art = 2 THEN DO:
  1622. FIND FIRST Wust NO-LOCK USE-INDEX Wust-k2
  1623. WHERE Wust.WuCd = GebKonto.MWST_Cd NO-ERROR.
  1624. END.
  1625. IF NOT AVAILABLE Wust THEN DO:
  1626. ASSIGN GebKontr.MWST_Cd = 11
  1627. GebKontr.MWST_% = 0
  1628. GebKontr.MWST_Inkl = TRUE.
  1629. RELEASE GebKontr.
  1630. RETURN.
  1631. END.
  1632. ASSIGN GebKontr.MWST_Cd = Wust.WuCd
  1633. GebKontr.MWST_% = Wust.Proz
  1634. GebKontr.MWST_Inkl = Wust.Incl.
  1635. RELEASE GebKontr.
  1636. END.
  1637. RETURN.
  1638. END PROCEDURE.
  1639. /* _UIB-CODE-BLOCK-END */
  1640. &ANALYZE-RESUME
  1641. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI F-Frame-Win _DEFAULT-DISABLE
  1642. PROCEDURE disable_UI :
  1643. /*------------------------------------------------------------------------------
  1644. Purpose: DISABLE the User Interface
  1645. Parameters: <none>
  1646. Notes: Here we clean-up the user-interface by deleting
  1647. dynamic widgets we have created and/or hide
  1648. frames. This procedure is usually called when
  1649. we are ready to "clean-up" after running.
  1650. ------------------------------------------------------------------------------*/
  1651. /* Hide all frames. */
  1652. HIDE FRAME F-Main.
  1653. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  1654. END PROCEDURE.
  1655. /* _UIB-CODE-BLOCK-END */
  1656. &ANALYZE-RESUME
  1657. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DRUCKEN F-Frame-Win
  1658. PROCEDURE DRUCKEN :
  1659. /*------------------------------------------------------------------------------
  1660. Purpose:
  1661. Parameters: <none>
  1662. Notes:
  1663. ------------------------------------------------------------------------------*/
  1664. IF NOT AVAILABLE Besko THEN RETURN NO-APPLY.
  1665. IF cInstallation BEGINS 'Huber' THEN RUN DRUCKEN_HUBER.
  1666. ELSE RUN DRUCKEN_STANDARD.
  1667. END PROCEDURE.
  1668. /* _UIB-CODE-BLOCK-END */
  1669. &ANALYZE-RESUME
  1670. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DRUCKEN_HUBER F-Frame-Win
  1671. PROCEDURE DRUCKEN_HUBER :
  1672. /*------------------------------------------------------------------------------
  1673. Purpose:
  1674. Parameters: <none>
  1675. Notes:
  1676. ------------------------------------------------------------------------------*/
  1677. DEF VAR excelAppl AS COM-HANDLE.
  1678. DEF VAR VVorlage AS CHAR INIT "BestellformHuber.xlsm".
  1679. DEF VAR VDateiName AS CHAR INIT "BestellformHuber.xlsm".
  1680. DEF VAR VDatenDatei AS CHAR INIT "BestellformHuber.csv".
  1681. DEF VAR MyName AS CHAR NO-UNDO.
  1682. DEF VAR Zelle AS CHAR NO-UNDO.
  1683. DEF VAR cString AS CHAR NO-UNDO.
  1684. DEF VAR cZeile AS CHAR NO-UNDO.
  1685. DEF VAR io AS LOG NO-UNDO.
  1686. DEF VAR cArtnr AS CHAR NO-UNDO.
  1687. DEF VAR cJahr AS CHAR NO-UNDO.
  1688. DEF VAR cAlk AS CHAR NO-UNDO.
  1689. DEF VAR cGGeb AS CHAR NO-UNDO.
  1690. DEF VAR cVGeb AS CHAR NO-UNDO.
  1691. CString = VDateiName + CHR(01) + VVorlage.
  1692. RUN CREATEDATEI ( INPUT cString ).
  1693. IF RETURN-VALUE BEGINS 'ERROR' THEN RETURN NO-APPLY.
  1694. VDateiName = RETURN-VALUE.
  1695. excelAppl = DYNAMIC-FUNCTION('CREATEEXCEL':U) NO-ERROR.
  1696. IF NOT VALID-HANDLE(excelAppl) THEN DO:
  1697. MESSAGE 'Die Applikation Excel konnte nicht gestartet werden ! '
  1698. VIEW-AS ALERT-BOX ERROR.
  1699. RETURN NO-APPLY.
  1700. END.
  1701. EMPTY TEMP-TABLE TKopf.
  1702. DO ix = 1 TO 19:
  1703. CREATE TKopf.
  1704. ASSIGN TKopf.Zeile = ix.
  1705. END.
  1706. EMPTY TEMP-TABLE tAdresse.
  1707. CREATE tAdresse.
  1708. FIND Adresse NO-LOCK USE-INDEX Adresse-k1
  1709. WHERE Adresse.Firma = AdFirma
  1710. AND Adresse.Knr = Besko.Knr NO-ERROR.
  1711. IF AVAILABLE Adresse THEN DO:
  1712. BUFFER-COPY Adresse TO tAdresse.
  1713. FIND FIRST Ansprech NO-LOCK
  1714. WHERE Ansprech.Firma = Adresse.Firma
  1715. AND Ansprech.Knr = Adresse.Knr
  1716. AND Ansprech.Bestellung = TRUE NO-ERROR.
  1717. IF AVAILABLE Ansprech THEN BUFFER-COPY Ansprech TO tAdresse.
  1718. END.
  1719. FIND Krest NO-LOCK
  1720. WHERE Krest.Firma = GVFirma
  1721. AND Krest.Knr = Besko.Knr NO-ERROR.
  1722. i1 = 0.
  1723. DO ix = 4 TO 12:
  1724. i1 = i1 + 1.
  1725. FIND FIRST TKopf WHERE TKopf.Zeile = i1.
  1726. ASSIGN TKopf.Feld[05] = tAdresse.Anschrift[ix].
  1727. END.
  1728. IF tAdresse.Tel-1 <> '' THEN DO:
  1729. i1 = i1 + 1.
  1730. FIND FIRST TKopf WHERE TKopf.Zeile = i1.
  1731. ASSIGN TKopf.Feld[05] = 'Tel.: ' + tAdresse.Tel-1.
  1732. END.
  1733. IF tAdresse.Tel-3 <> '' THEN DO:
  1734. i1 = i1 + 1.
  1735. FIND FIRST TKopf WHERE TKopf.Zeile = i1.
  1736. ASSIGN TKopf.Feld[05] = 'Fax.: ' + tAdresse.Tel-3.
  1737. END.
  1738. IF tAdresse.Mail <> '' THEN DO:
  1739. i1 = i1 + 1.
  1740. FIND FIRST TKopf WHERE TKopf.Zeile = i1.
  1741. ASSIGN TKopf.Feld[05] = 'Mail: ' + tAdresse.Mail .
  1742. END.
  1743. ix = 1.
  1744. FIND Steuer USE-INDEX Steuer-k1
  1745. WHERE Steuer.Firma = GVFirma NO-LOCK.
  1746. IF Steuer.Firma1 <> '' THEN DO:
  1747. ix = ix + 1.
  1748. FIND FIRST TKopf WHERE TKopf.Zeile = ix.
  1749. TKopf.Feld[02] = Steuer.Firma1.
  1750. END.
  1751. IF Steuer.Firma2 <> '' THEN DO:
  1752. ix = ix + 1.
  1753. FIND FIRST TKopf WHERE TKopf.Zeile = ix.
  1754. TKopf.Feld[02] = Steuer.Firma2.
  1755. END.
  1756. IF Steuer.Strasse <> '' THEN DO:
  1757. ix = ix + 1.
  1758. FIND FIRST TKopf WHERE TKopf.Zeile = ix.
  1759. TKopf.Feld[02] = Steuer.Strasse.
  1760. END.
  1761. IF Steuer.Ort <> '' THEN DO:
  1762. ix = ix + 1.
  1763. FIND FIRST TKopf WHERE TKopf.Zeile = ix.
  1764. TKopf.Feld[02] = Steuer.Ort.
  1765. END.
  1766. IF Steuer.Tel-1 <> '' THEN DO:
  1767. ix = ix + 1.
  1768. FIND FIRST TKopf WHERE TKopf.Zeile = ix.
  1769. TKopf.Feld[02] = 'Tel.:'.
  1770. TKopf.Feld[03] = Steuer.Tel-1.
  1771. END.
  1772. IF Steuer.Fax-1 <> '' THEN DO:
  1773. ix = ix + 1.
  1774. FIND FIRST TKopf WHERE TKopf.Zeile = ix.
  1775. TKopf.Feld[02] = 'Fax :'.
  1776. TKopf.Feld[03] = Steuer.Fax-1.
  1777. END.
  1778. IF AVAILABLE Krest THEN DO:
  1779. ix = ix + 1.
  1780. FIND FIRST TKopf WHERE TKopf.Zeile = ix.
  1781. ASSIGN TKopf.Feld[02] = 'Knr:'
  1782. TKopf.Feld[03] = STRING(Krest.Kred_Knr,'999999') .
  1783. END.
  1784. FIND FIRST TKopf WHERE TKopf.Zeile = 3.
  1785. TKopf.Feld[05] = (IF Besko.Abgeholt THEN 'ABHOLUNG' ELSE '').
  1786. FIND FIRST TKopf WHERE TKopf.Zeile = 14.
  1787. TKopf.Feld[01] = 'Bestellung ' + STRING(Besko.Besnr,'999999').
  1788. TKopf.Feld[05] = Steuer.Ort + ', ' + STRING(TODAY,'99.99.9999').
  1789. FIND FIRST TKopf WHERE TKopf.Zeile = 17.
  1790. ASSIGN TKopf.Feld[02] = 'Artikel'
  1791. TKopf.Feld[03] = 'Artikel'
  1792. TKopf.Feld[04] = 'Vol%'
  1793. TKopf.Feld[05] = 'JG'
  1794. TKopf.Feld[06] = 'Gebinde'
  1795. TKopf.Feld[07] = 'Paletten'
  1796. TKopf.Feld[08] = 'Kisten'
  1797. TKopf.Feld[09] = 'Flaschen'.
  1798. FIND FIRST TKopf WHERE TKopf.Zeile = 18.
  1799. ASSIGN TKopf.Feld[02] = 'Nummer'
  1800. TKopf.Feld[03] = ''
  1801. TKopf.Feld[04] = ''
  1802. TKopf.Feld[05] = ''
  1803. TKopf.Feld[06] = ''
  1804. TKopf.Feld[07] = ''
  1805. TKopf.Feld[08] = 'Karton'
  1806. TKopf.Feld[09] = 'Dosen'.
  1807. VDatenDatei = SESSION:TEMP-DIR + VDatenDatei.
  1808. OUTPUT TO VALUE(VDatenDatei).
  1809. FOR EACH TKopf BY Zeile:
  1810. PUT CONTROL TKopf.Feld[01] '£'
  1811. TKopf.Feld[02] '£'
  1812. TKopf.Feld[03] '£'
  1813. TKopf.Feld[04] '£'
  1814. TKopf.Feld[05] '£'
  1815. TKopf.Feld[06] '£'
  1816. TKopf.Feld[07] '£'
  1817. TKopf.Feld[08] '£'
  1818. TKopf.Feld[09] CHR(10).
  1819. END.
  1820. i3 = 0.
  1821. DO ix = 1 TO NUM-ENTRIES (Besko.Kopf, CHR(10)):
  1822. cString = ENTRY(ix, Besko.Kopf, CHR(10)).
  1823. IF LENGTH(cString) > 80 THEN DO:
  1824. cZeile = cString.
  1825. cString = ''.
  1826. DO i1 = 1 TO NUM-ENTRIES(cZeile, ' '):
  1827. IF LENGTH(cString) + LENGTH(ENTRY(i1, cZeile, ' ')) > 80 THEN DO:
  1828. PUT CONTROL TRIM(cString) CHR(10).
  1829. cString = ''.
  1830. END.
  1831. cString = cString + ' ' + ENTRY(i1, cZeile, ' ').
  1832. END.
  1833. END.
  1834. PUT CONTROL TRIM(cString) CHR(10).
  1835. i3 = i3 + 1.
  1836. END.
  1837. IF i3 > 0 THEN PUT CONTROL '£' CHR(10).
  1838. IF Besko.Abholtext <> '' THEN DO:
  1839. cString = REPLACE(Besko.Abholtext, CHR(10), CHR(11)).
  1840. cString = REPLACE(cString, CHR(13), '').
  1841. PUT CONTROL '££' cString '£' CHR(10)
  1842. '£' CHR(10).
  1843. END.
  1844. FOR EACH BBesze USE-INDEX Besze-k1
  1845. WHERE BBesze.Firma = GVFirma
  1846. AND BBesze.Besnr = Besko.Besnr :
  1847. IF BBesze.MBest = 0 AND
  1848. BBesze.MGeli = 0 THEN DO:
  1849. DELETE BBesze.
  1850. RELEASE BBesze.
  1851. NEXT.
  1852. END.
  1853. FIND Artst OF BBesze NO-LOCK NO-ERROR.
  1854. FIND KGebinde NO-LOCK USE-INDEX KGebinde-k1
  1855. WHERE KGebinde.Firma = GVFirma
  1856. AND KGebinde.Geb_Cd = BBesze.KGeb_Cd NO-ERROR.
  1857. FIND VGebinde NO-LOCK USE-INDEX VGebinde-k1
  1858. WHERE VGebinde.Firma = GVFirma
  1859. AND VGebinde.Geb_Cd = BBesze.VGeb_Cd NO-ERROR.
  1860. FIND GGebinde NO-LOCK USE-INDEX GGebinde-k1
  1861. WHERE GGebinde.Firma = GVFirma
  1862. AND GGebinde.Geb_Cd = BBesze.GGeb_Cd NO-ERROR.
  1863. cArtnr = ''.
  1864. cJahr = ''.
  1865. cAlk = ''.
  1866. cGGeb = ''.
  1867. cVGeb = ''.
  1868. IF BBesze.S_Artnr <> '' THEN cArtnr = BBesze.S_Artnr.
  1869. ELSE cArtnr = STRING(BBesze.Artnr,"999999")
  1870. + "."
  1871. + STRING(BBesze.Inhalt,"9999")
  1872. + "."
  1873. + STRING(BBesze.Jahr ,"9999").
  1874. IF BBesze.Jahr > 99 THEN DO:
  1875. cJahr = STRING(BBesze.Jahr,"9999").
  1876. END.
  1877. IF Artst.Alk_Gehalt <> 0 THEN DO:
  1878. cAlk = STRING(Artst.Alk_Gehalt,">9.99") + '%'.
  1879. END.
  1880. IF BBesze.GGeb_Me <> 0 THEN cGGeb = TRIM(STRING(BBesze.GGeb_Me,'->>>>>9')).
  1881. IF BBesze.VGeb_Me <> 0 THEN cVGeb = TRIM(STRING(BBesze.VGeb_Me,'->>>>>9')).
  1882. PUT CONTROL '£'
  1883. cArtnr '£'
  1884. BBesze.Bez1 '£'
  1885. cAlk '£'
  1886. cJahr '£'
  1887. KGebinde.KBez '£'
  1888. cGGeb '£'
  1889. cVGeb '£'
  1890. TRIM(STRING(BBesze.KGeb_Me,'->>>>>9')) CHR(10).
  1891. IF BBesze.Bez2 <> '' THEN DO:
  1892. PUT CONTROL '££'
  1893. BBesze.Bez2 '£££' CHR(10).
  1894. END.
  1895. PUT CONTROL '£' CHR(10).
  1896. RELEASE BBesze.
  1897. END.
  1898. IF Besko.Lief_Datum <> ? THEN DO:
  1899. PUT CONTROL '£' CHR(10) '£' CHR(10)
  1900. 'Liefererung am:' '££'
  1901. DYNAMIC-FUNCTION('GETWOCHENTAG', INPUT Besko.Lief_Datum)
  1902. ', '
  1903. STRING(Besko.Lief_Datum,'99.99.9999')
  1904. ', '
  1905. Besko.Lieferzeit CHR(10).
  1906. END.
  1907. PUT CONTROL '£' CHR(10).
  1908. i3 = 0.
  1909. DO ix = 1 TO NUM-ENTRIES (Besko.Schluss, CHR(10)):
  1910. cString = ENTRY(ix, Besko.Schluss, CHR(10)).
  1911. IF LENGTH(cString) > 80 THEN DO:
  1912. cZeile = cString.
  1913. cString = ''.
  1914. DO i1 = 1 TO NUM-ENTRIES(cZeile, ' '):
  1915. IF LENGTH(cString) + LENGTH(ENTRY(i1, cZeile, ' ')) > 80 THEN DO:
  1916. PUT CONTROL TRIM(cString) CHR(10).
  1917. cString = ''.
  1918. END.
  1919. cString = cString + ' ' + ENTRY(i1, cZeile, ' ').
  1920. END.
  1921. END.
  1922. PUT CONTROL TRIM(cString) CHR(10).
  1923. i3 = i3 + 1.
  1924. END.
  1925. IF i3 > 0 THEN PUT CONTROL '£' CHR(10).
  1926. OUTPUT CLOSE.
  1927. RUN OPENEXCEL ( INPUT excelAppl,
  1928. INPUT VDateiName,
  1929. INPUT '',
  1930. OUTPUT io ).
  1931. IF NOT io THEN DO:
  1932. RUN FEHLER ( INPUT 1040 ).
  1933. RETURN NO-APPLY.
  1934. END.
  1935. Zelle = 'A1'.
  1936. excelAppl:Range(Zelle):SELECT.
  1937. excelAppl:Selection:FormulaR1C1 = 'TEXT;' + VDatenDatei.
  1938. excelAppl:Application:RUN ( 'DateiEinfügen' ).
  1939. Zelle = 'A1'.
  1940. excelAppl:Range(Zelle):SELECT.
  1941. excelAppl:Selection:ColumnWidth = 0.3.
  1942. DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
  1943. RELEASE Artst.
  1944. END PROCEDURE.
  1945. /* _UIB-CODE-BLOCK-END */
  1946. &ANALYZE-RESUME
  1947. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DRUCKEN_STANDARD F-Frame-Win
  1948. PROCEDURE DRUCKEN_STANDARD :
  1949. /*------------------------------------------------------------------------------
  1950. Purpose:
  1951. Parameters: <none>
  1952. Notes:
  1953. ------------------------------------------------------------------------------*/
  1954. DEF VAR excelAppl AS COM-HANDLE.
  1955. DEF VAR VVorlage AS CHAR INIT "Bestellform.xls".
  1956. DEF VAR VDateiName AS CHAR INIT "Bestellform.xls".
  1957. DEF VAR VDatenDatei AS CHAR INIT "Bestellform.csv".
  1958. DEF VAR MyName AS CHAR NO-UNDO.
  1959. DEF VAR Zelle AS CHAR NO-UNDO.
  1960. DEF VAR cString AS CHAR NO-UNDO.
  1961. DEF VAR cZeile AS CHAR NO-UNDO.
  1962. DEF VAR io AS LOG NO-UNDO.
  1963. DEF VAR cArtnr AS CHAR NO-UNDO.
  1964. DEF VAR cJahr AS CHAR NO-UNDO.
  1965. CString = VDateiName + CHR(01) + VVorlage.
  1966. RUN CREATEDATEI ( INPUT cString ).
  1967. IF RETURN-VALUE BEGINS 'ERROR' THEN RETURN NO-APPLY.
  1968. VDateiName = RETURN-VALUE.
  1969. excelAppl = DYNAMIC-FUNCTION('CREATEEXCEL':U) NO-ERROR.
  1970. IF NOT VALID-HANDLE(excelAppl) THEN DO:
  1971. MESSAGE 'Die Applikation Excel konnte nicht gestartet werden ! '
  1972. VIEW-AS ALERT-BOX ERROR.
  1973. RETURN NO-APPLY.
  1974. END.
  1975. FOR EACH TKopf:
  1976. DELETE TKopf.
  1977. END.
  1978. DO ix = 1 TO 19:
  1979. CREATE TKopf.
  1980. ASSIGN TKopf.Zeile = ix.
  1981. END.
  1982. FIND Adresse NO-LOCK USE-INDEX Adresse-k1
  1983. WHERE Adresse.Firma = AdFirma
  1984. AND Adresse.Knr = Besko.Knr NO-ERROR.
  1985. FIND Krest NO-LOCK
  1986. WHERE Krest.Firma = GVFirma
  1987. AND Krest.Knr = Besko.Knr NO-ERROR.
  1988. i1 = 0.
  1989. DO ix = 4 TO 12:
  1990. i1 = i1 + 1.
  1991. FIND FIRST TKopf WHERE TKopf.Zeile = i1.
  1992. ASSIGN TKopf.Feld[05] = Adresse.Anschrift[ix].
  1993. END.
  1994. IF Adresse.Tel-1 <> '' THEN DO:
  1995. i1 = i1 + 1.
  1996. FIND FIRST TKopf WHERE TKopf.Zeile = i1.
  1997. ASSIGN TKopf.Feld[05] = 'Tel.: ' + Adresse.Tel-1.
  1998. END.
  1999. IF Adresse.Tel-3 <> '' THEN DO:
  2000. i1 = i1 + 1.
  2001. FIND FIRST TKopf WHERE TKopf.Zeile = i1.
  2002. ASSIGN TKopf.Feld[05] = 'Fax.: ' + Adresse.Tel-3.
  2003. END.
  2004. IF Adresse.Mail <> '' THEN DO:
  2005. i1 = i1 + 1.
  2006. FIND FIRST TKopf WHERE TKopf.Zeile = i1.
  2007. ASSIGN TKopf.Feld[05] = 'Mail: ' + Adresse.Mail .
  2008. END.
  2009. ix = 1.
  2010. FIND Steuer USE-INDEX Steuer-k1
  2011. WHERE Steuer.Firma = GVFirma NO-LOCK.
  2012. IF Steuer.Firma1 <> '' THEN DO:
  2013. ix = ix + 1.
  2014. FIND FIRST TKopf WHERE TKopf.Zeile = ix.
  2015. TKopf.Feld[02] = Steuer.Firma1.
  2016. END.
  2017. IF Steuer.Firma2 <> '' THEN DO:
  2018. ix = ix + 1.
  2019. FIND FIRST TKopf WHERE TKopf.Zeile = ix.
  2020. TKopf.Feld[02] = Steuer.Firma2.
  2021. END.
  2022. IF Steuer.Strasse <> '' THEN DO:
  2023. ix = ix + 1.
  2024. FIND FIRST TKopf WHERE TKopf.Zeile = ix.
  2025. TKopf.Feld[02] = Steuer.Strasse.
  2026. END.
  2027. IF Steuer.Ort <> '' THEN DO:
  2028. ix = ix + 1.
  2029. FIND FIRST TKopf WHERE TKopf.Zeile = ix.
  2030. TKopf.Feld[02] = Steuer.Ort.
  2031. END.
  2032. IF Steuer.Tel-1 <> '' THEN DO:
  2033. ix = ix + 1.
  2034. FIND FIRST TKopf WHERE TKopf.Zeile = ix.
  2035. TKopf.Feld[02] = 'Tel.:'.
  2036. TKopf.Feld[03] = Steuer.Tel-1.
  2037. END.
  2038. IF Steuer.Fax-1 <> '' THEN DO:
  2039. ix = ix + 1.
  2040. FIND FIRST TKopf WHERE TKopf.Zeile = ix.
  2041. TKopf.Feld[02] = 'Fax :'.
  2042. TKopf.Feld[03] = Steuer.Fax-1.
  2043. END.
  2044. IF AVAILABLE Krest THEN DO:
  2045. ix = ix + 1.
  2046. FIND FIRST TKopf WHERE TKopf.Zeile = i1.
  2047. ASSIGN TKopf.Feld[02] = 'Knr:'
  2048. TKopf.Feld[03] = Krest.Kred_Knr .
  2049. END.
  2050. FIND FIRST TKopf WHERE TKopf.Zeile = 14.
  2051. TKopf.Feld[01] = 'Bestellung ' + STRING(Besko.Besnr,'999999').
  2052. TKopf.Feld[05] = Steuer.Ort + ', ' + STRING(TODAY,'99.99.9999').
  2053. FIND FIRST TKopf WHERE TKopf.Zeile = 17.
  2054. ASSIGN TKopf.Feld[02] = 'Pos'
  2055. TKopf.Feld[03] = 'Artikelnummer'
  2056. TKopf.Feld[04] = 'Artikel'
  2057. TKopf.Feld[05] = 'Gebinde'
  2058. TKopf.Feld[06] = 'Gebinde'
  2059. TKopf.Feld[07] = 'Gebinde'.
  2060. FIND FIRST TKopf WHERE TKopf.Zeile = 18.
  2061. ASSIGN TKopf.Feld[03] = 'Jahrg./Alk-%'
  2062. TKopf.Feld[05] = 'Menge'
  2063. TKopf.Feld[06] = 'Menge'
  2064. TKopf.Feld[07] = 'Menge'.
  2065. VDatenDatei = SESSION:TEMP-DIR + VDatenDatei.
  2066. OUTPUT TO VALUE(VDatenDatei).
  2067. FOR EACH TKopf BY Zeile:
  2068. PUT CONTROL TKopf.Feld[01] '£'
  2069. TKopf.Feld[02] '£'
  2070. TKopf.Feld[03] '£'
  2071. TKopf.Feld[04] '£'
  2072. TKopf.Feld[05] '£'
  2073. TKopf.Feld[06] '£'
  2074. TKopf.Feld[07] CHR(10).
  2075. END.
  2076. i3 = 0.
  2077. DO ix = 1 TO NUM-ENTRIES (Besko.Kopf, CHR(10)):
  2078. cString = ENTRY(ix, Besko.Kopf, CHR(10)).
  2079. IF LENGTH(cString) > 80 THEN DO:
  2080. cZeile = cString.
  2081. cString = ''.
  2082. DO i1 = 1 TO NUM-ENTRIES(cZeile, ' '):
  2083. IF LENGTH(cString) + LENGTH(ENTRY(i1, cZeile, ' ')) > 80 THEN DO:
  2084. PUT CONTROL TRIM(cString) CHR(10).
  2085. cString = ''.
  2086. END.
  2087. cString = cString + ' ' + ENTRY(i1, cZeile, ' ').
  2088. END.
  2089. END.
  2090. PUT CONTROL TRIM(cString) CHR(10).
  2091. i3 = i3 + 1.
  2092. END.
  2093. IF i3 > 0 THEN PUT CONTROL '£' CHR(10).
  2094. FOR EACH BBesze USE-INDEX Besze-k1
  2095. WHERE BBesze.Firma = GVFirma
  2096. AND BBesze.Besnr = Besko.Besnr :
  2097. IF BBesze.MBest = 0 AND
  2098. BBesze.MGeli = 0 THEN DO:
  2099. DELETE BBesze.
  2100. RELEASE BBesze.
  2101. NEXT.
  2102. END.
  2103. FIND Artst OF BBesze NO-LOCK NO-ERROR.
  2104. FIND KGebinde NO-LOCK USE-INDEX KGebinde-k1
  2105. WHERE KGebinde.Firma = GVFirma
  2106. AND KGebinde.Geb_Cd = BBesze.KGeb_Cd NO-ERROR.
  2107. FIND VGebinde NO-LOCK USE-INDEX VGebinde-k1
  2108. WHERE VGebinde.Firma = GVFirma
  2109. AND VGebinde.Geb_Cd = BBesze.VGeb_Cd NO-ERROR.
  2110. FIND GGebinde NO-LOCK USE-INDEX GGebinde-k1
  2111. WHERE GGebinde.Firma = GVFirma
  2112. AND GGebinde.Geb_Cd = BBesze.GGeb_Cd NO-ERROR.
  2113. cArtnr = ''.
  2114. cJahr = ''.
  2115. IF BBesze.S_Artnr <> '' THEN cArtnr = BBesze.S_Artnr.
  2116. ELSE cArtnr = STRING(BBesze.Artnr,"999999")
  2117. + "."
  2118. + STRING(BBesze.Inhalt,"9999")
  2119. + "."
  2120. + STRING(BBesze.Jahr ,"9999").
  2121. IF BBesze.Jahr > 99 THEN DO:
  2122. cJahr = STRING(BBesze.Jahr,"9999").
  2123. END.
  2124. IF Artst.Alk_Gehalt <> 0 THEN DO:
  2125. IF cJahr <> '' THEN cJahr = cJahr + ' / '.
  2126. cJahr = cJahr + STRING(Artst.Alk_Gehalt,">9.99") + '%'.
  2127. END.
  2128. PUT CONTROL '£'
  2129. STRING(BBesze.Pos,">>>9") '£'
  2130. cArtnr '£'
  2131. BBesze.Bez1 '£'
  2132. GGebinde.KBez '£'
  2133. VGebinde.KBez '£'
  2134. KGebinde.KBez CHR(10).
  2135. PUT CONTROL '££'
  2136. cJahr '£'
  2137. BBesze.Bez2 '£'
  2138. STRING(BBesze.GGeb_Me,"->>>,>>9") '£'
  2139. STRING(BBesze.VGeb_Me,"->>>,>>9") '£'
  2140. STRING(BBesze.KGeb_Me,"->>>,>>9") CHR(10) '£' CHR(10).
  2141. RELEASE BBesze.
  2142. END.
  2143. IF Besko.Lief_Datum <> ? THEN DO:
  2144. PUT CONTROL '£' CHR(10) '£' CHR(10)
  2145. 'Liefererung am:' '£££'
  2146. DYNAMIC-FUNCTION('GETWOCHENTAG', INPUT Besko.Lief_Datum)
  2147. ', '
  2148. STRING(Besko.Lief_Datum,'99.99.9999')
  2149. ', '
  2150. Besko.Lieferzeit CHR(10).
  2151. END.
  2152. PUT CONTROL '£' CHR(10).
  2153. i3 = 0.
  2154. DO ix = 1 TO NUM-ENTRIES (Besko.Schluss, CHR(10)):
  2155. cString = ENTRY(ix, Besko.Schluss, CHR(10)).
  2156. IF LENGTH(cString) > 80 THEN DO:
  2157. cZeile = cString.
  2158. cString = ''.
  2159. DO i1 = 1 TO NUM-ENTRIES(cZeile, ' '):
  2160. IF LENGTH(cString) + LENGTH(ENTRY(i1, cZeile, ' ')) > 80 THEN DO:
  2161. PUT CONTROL TRIM(cString) CHR(10).
  2162. cString = ''.
  2163. END.
  2164. cString = cString + ' ' + ENTRY(i1, cZeile, ' ').
  2165. END.
  2166. END.
  2167. PUT CONTROL TRIM(cString) CHR(10).
  2168. i3 = i3 + 1.
  2169. END.
  2170. IF i3 > 0 THEN PUT CONTROL '£' CHR(10).
  2171. OUTPUT CLOSE.
  2172. RUN OPENEXCEL ( INPUT excelAppl,
  2173. INPUT VDateiName,
  2174. INPUT '',
  2175. OUTPUT io ).
  2176. IF NOT io THEN DO:
  2177. RUN FEHLER ( INPUT 1040 ).
  2178. RETURN NO-APPLY.
  2179. END.
  2180. Zelle = 'A1'.
  2181. excelAppl:Range(Zelle):SELECT.
  2182. excelAppl:Selection:FormulaR1C1 = 'TEXT;' + VDatenDatei.
  2183. excelAppl:Application:RUN ( 'DateiEinfügen' ).
  2184. Zelle = 'A1'.
  2185. excelAppl:Range(Zelle):SELECT.
  2186. excelAppl:Selection:ColumnWidth = 0.3.
  2187. DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
  2188. END PROCEDURE.
  2189. /* _UIB-CODE-BLOCK-END */
  2190. &ANALYZE-RESUME
  2191. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE EINGANGS_KONTROLLE F-Frame-Win
  2192. PROCEDURE EINGANGS_KONTROLLE :
  2193. /*------------------------------------------------------------------------------
  2194. Purpose:
  2195. Parameters: <none>
  2196. Notes:
  2197. ------------------------------------------------------------------------------*/
  2198. IF NOT AVAILABLE Besko THEN RETURN NO-APPLY.
  2199. DEF VAR excelAppl AS COM-HANDLE.
  2200. DEF VAR VVorlage AS CHAR INIT "BestellEingangskontrolle.xls".
  2201. DEF VAR VDateiName AS CHAR INIT "BestellEingangskontrolle.xls".
  2202. DEF VAR VDatenDatei AS CHAR INIT "BestellEingangskontrolle.txt".
  2203. DEF VAR MyName AS CHAR NO-UNDO.
  2204. DEF VAR Zelle AS CHAR NO-UNDO.
  2205. DEF VAR cString AS CHAR NO-UNDO.
  2206. DEF VAR cZeile AS CHAR NO-UNDO.
  2207. DEF VAR cLagOrt AS CHAR NO-UNDO.
  2208. DEF VAR io AS LOG NO-UNDO.
  2209. DEF VAR cArtnr AS CHAR NO-UNDO.
  2210. DEF VAR cJahr AS CHAR NO-UNDO.
  2211. CString = VDateiName + CHR(01) + VVorlage.
  2212. RUN CREATEDATEI ( INPUT cString ).
  2213. IF RETURN-VALUE BEGINS 'ERROR' THEN RETURN NO-APPLY.
  2214. VDateiName = RETURN-VALUE.
  2215. excelAppl = DYNAMIC-FUNCTION('CREATEEXCEL':U) NO-ERROR.
  2216. IF NOT VALID-HANDLE(excelAppl) THEN DO:
  2217. MESSAGE 'Die Applikation Excel konnte nicht gestartet werden ! '
  2218. VIEW-AS ALERT-BOX ERROR.
  2219. RETURN NO-APPLY.
  2220. END.
  2221. FOR EACH TKopf:
  2222. DELETE TKopf.
  2223. END.
  2224. DO ix = 1 TO 19:
  2225. CREATE TKopf.
  2226. ASSIGN TKopf.Zeile = ix.
  2227. END.
  2228. FIND Adresse NO-LOCK USE-INDEX Adresse-k1
  2229. WHERE Adresse.Firma = AdFirma
  2230. AND Adresse.Knr = Besko.Knr NO-ERROR.
  2231. i1 = 0.
  2232. DO ix = 4 TO 12:
  2233. i1 = i1 + 1.
  2234. FIND FIRST TKopf WHERE TKopf.Zeile = i1.
  2235. ASSIGN TKopf.Feld[06] = Adresse.Anschrift[ix].
  2236. END.
  2237. IF Adresse.Tel-1 <> '' THEN DO:
  2238. i1 = i1 + 1.
  2239. FIND FIRST TKopf WHERE TKopf.Zeile = i1.
  2240. ASSIGN TKopf.Feld[06] = 'Tel.: ' + Adresse.Tel-1.
  2241. END.
  2242. IF Adresse.Tel-3 <> '' THEN DO:
  2243. i1 = i1 + 1.
  2244. FIND FIRST TKopf WHERE TKopf.Zeile = i1.
  2245. ASSIGN TKopf.Feld[06] = 'Fax.: ' + Adresse.Tel-3.
  2246. END.
  2247. IF Adresse.Mail <> '' THEN DO:
  2248. i1 = i1 + 1.
  2249. FIND FIRST TKopf WHERE TKopf.Zeile = i1.
  2250. ASSIGN TKopf.Feld[06] = 'Mail: ' + Adresse.Mail .
  2251. END.
  2252. ix = 1.
  2253. FIND Steuer NO-LOCK USE-INDEX Steuer-k1
  2254. WHERE Steuer.Firma = GVFirma.
  2255. IF Steuer.Firma1 <> '' THEN DO:
  2256. ix = ix + 1.
  2257. FIND FIRST TKopf WHERE TKopf.Zeile = ix.
  2258. TKopf.Feld[02] = Steuer.Firma1.
  2259. END.
  2260. IF Steuer.Firma2 <> '' THEN DO:
  2261. ix = ix + 1.
  2262. FIND FIRST TKopf WHERE TKopf.Zeile = ix.
  2263. TKopf.Feld[02] = Steuer.Firma2.
  2264. END.
  2265. IF Steuer.Strasse <> '' THEN DO:
  2266. ix = ix + 1.
  2267. FIND FIRST TKopf WHERE TKopf.Zeile = ix.
  2268. TKopf.Feld[02] = Steuer.Strasse.
  2269. END.
  2270. IF Steuer.Ort <> '' THEN DO:
  2271. ix = ix + 1.
  2272. FIND FIRST TKopf WHERE TKopf.Zeile = ix.
  2273. TKopf.Feld[02] = Steuer.Ort.
  2274. END.
  2275. IF Steuer.Tel-1 <> '' THEN DO:
  2276. ix = ix + 1.
  2277. FIND FIRST TKopf WHERE TKopf.Zeile = ix.
  2278. TKopf.Feld[02] = 'Tel.:'.
  2279. TKopf.Feld[03] = Steuer.Tel-1.
  2280. END.
  2281. IF Steuer.Fax-1 <> '' THEN DO:
  2282. ix = ix + 1.
  2283. FIND FIRST TKopf WHERE TKopf.Zeile = ix.
  2284. TKopf.Feld[02] = 'Fax :'.
  2285. TKopf.Feld[03] = Steuer.Fax-1.
  2286. END.
  2287. FIND FIRST TKopf WHERE TKopf.Zeile = 14.
  2288. TKopf.Feld[01] = 'Bestellung ' + STRING(Besko.Besnr,'999999').
  2289. TKopf.Feld[06] = Steuer.Ort + ', ' + STRING(TODAY,'99.99.9999').
  2290. FIND FIRST TKopf WHERE TKopf.Zeile = 17.
  2291. ASSIGN TKopf.Feld[02] = 'Lager'
  2292. TKopf.Feld[03] = 'Artnr'
  2293. TKopf.Feld[04] = 'Artikelnummer'
  2294. TKopf.Feld[05] = 'Artikel'
  2295. TKopf.Feld[06] = 'Gebinde'
  2296. TKopf.Feld[07] = 'Gebinde'
  2297. TKopf.Feld[08] = 'Gebinde'
  2298. TKopf.Feld[09] = 'MHD'.
  2299. FIND FIRST TKopf WHERE TKopf.Zeile = 18.
  2300. ASSIGN TKopf.Feld[02] = 'Ort'
  2301. TKopf.Feld[03] = 'Lief'
  2302. TKopf.Feld[04] = 'Jahrg./Alk.Gehalt'
  2303. TKopf.Feld[06] = 'Menge'
  2304. TKopf.Feld[07] = 'Menge'
  2305. TKopf.Feld[08] = 'Menge'.
  2306. VDatenDatei = SESSION:TEMP-DIR + VDatenDatei.
  2307. OUTPUT TO VALUE(VDatenDatei).
  2308. FOR EACH TKopf BY Zeile:
  2309. PUT CONTROL TKopf.Feld[01] '£'
  2310. TKopf.Feld[02] '£'
  2311. TKopf.Feld[03] '£'
  2312. TKopf.Feld[04] '£'
  2313. TKopf.Feld[05] '£'
  2314. TKopf.Feld[06] '£'
  2315. TKopf.Feld[07] '£'
  2316. TKopf.Feld[08] '£'
  2317. TKopf.Feld[09] CHR(10).
  2318. END.
  2319. i3 = 0.
  2320. DO ix = 1 TO NUM-ENTRIES (Besko.Kopf, CHR(10)):
  2321. cString = ENTRY(ix, Besko.Kopf, CHR(10)).
  2322. IF LENGTH(cString) > 80 THEN DO:
  2323. cZeile = cString.
  2324. cString = ''.
  2325. DO i1 = 1 TO NUM-ENTRIES(cZeile, ' '):
  2326. IF LENGTH(cString) + LENGTH(ENTRY(i1, cZeile, ' ')) > 80 THEN DO:
  2327. PUT CONTROL TRIM(cString) CHR(10).
  2328. cString = ''.
  2329. END.
  2330. cString = cString + ' ' + ENTRY(i1, cZeile, ' ').
  2331. END.
  2332. END.
  2333. PUT CONTROL TRIM(cString) CHR(10).
  2334. i3 = i3 + 1.
  2335. END.
  2336. IF i3 > 0 THEN PUT CONTROL '£' CHR(10).
  2337. FOR EACH BBesze USE-INDEX Besze-k1
  2338. WHERE BBesze.Firma = GVFirma
  2339. AND BBesze.Besnr = Besko.Besnr :
  2340. IF BBesze.MBest = 0 AND
  2341. BBesze.MGeli = 0 THEN DO:
  2342. DELETE BBesze.
  2343. RELEASE BBesze.
  2344. NEXT.
  2345. END.
  2346. FIND Artst OF BBesze NO-LOCK NO-ERROR.
  2347. FIND KGebinde NO-LOCK USE-INDEX KGebinde-k1
  2348. WHERE KGebinde.Firma = GVFirma
  2349. AND KGebinde.Geb_Cd = BBesze.KGeb_Cd NO-ERROR.
  2350. FIND VGebinde NO-LOCK USE-INDEX VGebinde-k1
  2351. WHERE VGebinde.Firma = GVFirma
  2352. AND VGebinde.Geb_Cd = BBesze.VGeb_Cd NO-ERROR.
  2353. FIND GGebinde NO-LOCK USE-INDEX GGebinde-k1
  2354. WHERE GGebinde.Firma = GVFirma
  2355. AND GGebinde.Geb_Cd = BBesze.GGeb_Cd NO-ERROR.
  2356. cArtnr = ''.
  2357. cJahr = ''.
  2358. cArtnr = STRING(BBesze.Artnr,"999999")
  2359. + "."
  2360. + STRING(BBesze.Inhalt,"9999")
  2361. + "."
  2362. + STRING(BBesze.Jahr ,"9999").
  2363. cLagOrt = DYNAMIC-FUNCTION('GETLAGERORT':U, INPUT iLager ,
  2364. INPUT Artst.Artnr ,
  2365. INPUT Artst.Inhalt,
  2366. INPUT Artst.Jahr ) NO-ERROR.
  2367. IF BBesze.Jahr > 99 THEN DO:
  2368. cJahr = STRING(BBesze.Jahr,"9999").
  2369. END.
  2370. IF Artst.Alk_Gehalt <> 0 THEN DO:
  2371. IF cJahr <> '' THEN cJahr = cJahr + ' / '.
  2372. cJahr = cJahr + STRING(Artst.Alk_Gehalt,">9.99") + '%'.
  2373. END.
  2374. PUT CONTROL '£'
  2375. cLagOrt '£'
  2376. BBesze.S_Artnr '£'
  2377. cArtnr '£'
  2378. BBesze.Bez1 '£'
  2379. GGebinde.KBez '£'
  2380. VGebinde.KBez '£'
  2381. KGebinde.KBez CHR(10).
  2382. PUT CONTROL '£££'
  2383. cJahr '£'
  2384. BBesze.Bez2 '£'
  2385. STRING(BBesze.GGeb_Me,"->>>>>9") '£'
  2386. STRING(BBesze.VGeb_Me,"->>>>>9") '£'
  2387. STRING(BBesze.KGeb_Me,"->>>>>9") CHR(10) '£' CHR(10).
  2388. RELEASE BBesze.
  2389. END.
  2390. IF Besko.Lief_Datum <> ? THEN DO:
  2391. PUT CONTROL '£' CHR(10) '£' CHR(10)
  2392. 'Liefererung am:' '££££'
  2393. DYNAMIC-FUNCTION('GETWOCHENTAG', INPUT Besko.Lief_Datum)
  2394. ', '
  2395. STRING(Besko.Lief_Datum,'99.99.9999')
  2396. ', '
  2397. Besko.Lieferzeit CHR(10).
  2398. END.
  2399. PUT CONTROL '£' CHR(10)
  2400. '£' CHR(10)
  2401. '£' CHR(10)
  2402. 'Die Lieferung wurde kontrolliert durch :'
  2403. '£££££££________________________________________'
  2404. '£' CHR(10)
  2405. '£' CHR(10)
  2406. 'Die Lieferung wurde verräumt durch :'
  2407. '£££££££________________________________________'
  2408. CHR(10).
  2409. OUTPUT CLOSE.
  2410. RUN OPENEXCEL ( INPUT excelAppl,
  2411. INPUT VDateiName,
  2412. INPUT '',
  2413. OUTPUT io ).
  2414. IF NOT io THEN DO:
  2415. RUN FEHLER ( INPUT 1040 ).
  2416. RETURN NO-APPLY.
  2417. END.
  2418. Zelle = 'A1'.
  2419. excelAppl:Range(Zelle):SELECT.
  2420. excelAppl:Selection:FormulaR1C1 = 'TEXT;' + VDatenDatei.
  2421. excelAppl:Application:RUN ( 'DateiEinfügen' ).
  2422. Zelle = 'A1'.
  2423. excelAppl:Range(Zelle):SELECT.
  2424. excelAppl:Selection:ColumnWidth = 0.3.
  2425. DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
  2426. END PROCEDURE.
  2427. /* _UIB-CODE-BLOCK-END */
  2428. &ANALYZE-RESUME
  2429. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI F-Frame-Win _DEFAULT-ENABLE
  2430. PROCEDURE enable_UI :
  2431. /*------------------------------------------------------------------------------
  2432. Purpose: ENABLE the User Interface
  2433. Parameters: <none>
  2434. Notes: Here we display/view/enable the widgets in the
  2435. user-interface. In addition, OPEN all queries
  2436. associated with each FRAME and BROWSE.
  2437. These statements here are based on the "Other
  2438. Settings" section of the widget Property Sheets.
  2439. ------------------------------------------------------------------------------*/
  2440. DISPLAY CB_Lager E_Adresse F_Knr F_Anzeig_Br F_Besnr F_Betrag F_Betrag_Netto
  2441. F_BestBis F_Liefer F_WoTag
  2442. WITH FRAME F-Main.
  2443. IF AVAILABLE Besko THEN
  2444. DISPLAY Besko.Best_Datum Besko.Lief_Datum Besko.Lieferzeit Besko.Buch_Datum
  2445. Besko.Bestell_Nr Besko.U_Ref Besko.Rabatt Besko.Spesen Besko.Abholtext
  2446. Besko.Kurs Besko.Faktor Besko.Abgeholt
  2447. WITH FRAME F-Main.
  2448. ENABLE RECT-32 RECT-41 CB_Lager Br_Besko CB_Beststat E_Adresse
  2449. Besko.Lieferzeit F_WoTag Btn_Excel Btn_Aendern Btn_Erfassen
  2450. Btn_Loeschen Btn_Verschieben
  2451. WITH FRAME F-Main.
  2452. {&OPEN-BROWSERS-IN-QUERY-F-Main}
  2453. END PROCEDURE.
  2454. /* _UIB-CODE-BLOCK-END */
  2455. &ANALYZE-RESUME
  2456. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ERFASSEN F-Frame-Win
  2457. PROCEDURE ERFASSEN :
  2458. /*------------------------------------------------------------------------------
  2459. Purpose:
  2460. Parameters: <none>
  2461. Notes:
  2462. ------------------------------------------------------------------------------*/
  2463. DO WITH FRAME {&FRAME-NAME}:
  2464. IF AVAILABLE Besko THEN XRecid = RECID(Besko).
  2465. ELSE XRecid = 0.
  2466. Btn_Erfassen:LABEL = '&Abbrechen'.
  2467. Btn_Aendern:LABEL = '&Speichern'.
  2468. DISABLE Btn_Loeschen CB_Lager.
  2469. CB_Beststat:SCREEN-VALUE = '001' NO-ERROR.
  2470. APPLY 'VALUE-CHANGED' TO CB_Beststat.
  2471. RUN CLEAR_BILDSCHIRM.
  2472. ENABLE {&List-2}.
  2473. APPLY 'ENTRY' TO F_Knr.
  2474. VUpdate = TRUE.
  2475. VNeu = TRUE.
  2476. RETURN NO-APPLY.
  2477. END.
  2478. END PROCEDURE.
  2479. /* _UIB-CODE-BLOCK-END */
  2480. &ANALYZE-RESUME
  2481. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE INITIAL F-Frame-Win
  2482. PROCEDURE INITIAL :
  2483. /*------------------------------------------------------------------------------
  2484. Purpose:
  2485. Parameters: <none>
  2486. Notes:
  2487. ------------------------------------------------------------------------------*/
  2488. DEF VAR xString AS CHAR NO-UNDO.
  2489. DO WITH FRAME {&FRAME-NAME}:
  2490. VSort = 1.
  2491. VBest_Sta = 1.
  2492. FAlfa = FALSE.
  2493. QOpen = FALSE.
  2494. Vorhanden = FALSE.
  2495. FNeuMut = FALSE.
  2496. FIND Steuer WHERE Steuer.Firma = GVFirma NO-LOCK NO-ERROR.
  2497. XFRW = ''.
  2498. FOR EACH Waehrung NO-LOCK USE-INDEX Waehrung-k1
  2499. WHERE WAehrung.Firma = GVFirma:
  2500. XFRW = XFRW
  2501. + (IF XFrw = '' THEN '' ELSE ';')
  2502. + Waehrung.Bezeichnung
  2503. + ' ('
  2504. + Waehrung.Frw
  2505. + ');'
  2506. + Waehrung.FRW.
  2507. END.
  2508. CB_FRW:DELIMITER = ';'.
  2509. CB_FRW:LIST-ITEM-PAIRS = XFRW.
  2510. iLager = DYNAMIC-FUNCTION('getBenLager':U) NO-ERROR.
  2511. IF iLager = ? THEN iLager = 0.
  2512. RUN COMBO_LAGER ( CB_Lager:HANDLE ) NO-ERROR.
  2513. CB_Lager:SCREEN-VALUE = STRING(iLager,'999999') NO-ERROR.
  2514. xString = ''.
  2515. FOR EACH Tabel NO-LOCK USE-INDEX Tabel-k2
  2516. WHERE Tabel.Firma = GVFirma
  2517. AND Tabel.RecArt = 'BESTAT' :
  2518. xString = xString + (IF xString = '' THEN '' ELSE ';')
  2519. + Tabel.Bez1
  2520. + ' ('
  2521. + TRIM(STRING(Tabel.CodeI,'zz9'))
  2522. + ');'
  2523. + STRING(Tabel.CodeI,'999').
  2524. END.
  2525. CB_Beststat:DELIMITER = ';'.
  2526. CB_Beststat:LIST-ITEM-PAIRS = xString.
  2527. CB_Beststat:SCREEN-VALUE = ENTRY(2, xString, ';').
  2528. VBest_Sta = INTEGER(CB_Beststat:SCREEN-VALUE) NO-ERROR.
  2529. CB_FRW:SCREEN-VALUE = FwFRW NO-ERROR.
  2530. END.
  2531. END PROCEDURE.
  2532. /* _UIB-CODE-BLOCK-END */
  2533. &ANALYZE-RESUME
  2534. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KUNDENNUMMER F-Frame-Win
  2535. PROCEDURE KUNDENNUMMER :
  2536. /*------------------------------------------------------------------------------
  2537. Purpose:
  2538. Parameters: <none>
  2539. Notes:
  2540. ------------------------------------------------------------------------------*/
  2541. DEF VAR iRecid AS RECID NO-UNDO.
  2542. VKnr = -1.
  2543. iRecid = ?.
  2544. IF VKnr = -1 THEN DO:
  2545. Linknr = VKnr.
  2546. Linktext = 'LIE;' + FeldInhalt.
  2547. RUN g-suchen-adresse.w ( INPUT Linktext, OUTPUT iRecid ).
  2548. IF iRecid <> ? AND
  2549. iRecid <> 0 THEN DO:
  2550. FIND Adresse NO-LOCK WHERE RECID(Adresse) = iRecid.
  2551. Linknr = Adresse.Knr.
  2552. VKnr = Adresse.Knr.
  2553. END.
  2554. ELSE DO:
  2555. VKnr = -1.
  2556. END.
  2557. END.
  2558. END PROCEDURE.
  2559. /* _UIB-CODE-BLOCK-END */
  2560. &ANALYZE-RESUME
  2561. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LAGEREINGANG F-Frame-Win
  2562. PROCEDURE LAGEREINGANG :
  2563. /*------------------------------------------------------------------------------
  2564. Purpose:
  2565. Parameters: <none>
  2566. Notes:
  2567. ------------------------------------------------------------------------------*/
  2568. DEF VAR LRecid AS RECID NO-UNDO.
  2569. DEF VAR WuCd AS INT NO-UNDO.
  2570. IF VUpdate THEN RETURN NO-APPLY.
  2571. REPEAT TRANSACTION WITH FRAME {&FRAME-NAME}:
  2572. FIND Besko WHERE RECID(Besko) = KRecid NO-LOCK NO-ERROR.
  2573. FOR EACH Besze OF Besko:
  2574. IF Besze.Artnr = 0 THEN NEXT.
  2575. IF Besze.MGeli = 0 THEN NEXT.
  2576. FIND Artst USE-INDEX Artst-k1
  2577. WHERE Artst.Firma = Besze.Firma
  2578. AND Artst.Artnr = Besze.Artnr
  2579. AND Artst.Inhalt = Besze.Inhalt
  2580. AND Artst.Jahr = Besze.Jahr.
  2581. FIND Liefst NO-LOCK USE-INDEX Liefst-k1
  2582. WHERE Liefst.Firma = Besko.Firma
  2583. AND Liefst.Knr = Besko.Knr .
  2584. FIND Steuer WHERE Steuer.Firma = GVFirma NO-LOCK.
  2585. FIND ArtLager USE-INDEX ArtLager-k1
  2586. WHERE ArtLager.Firma = Artst.Firma
  2587. AND ArtLager.Artnr = Artst.Artnr
  2588. AND ArtLager.Inhalt = Artst.Inhalt
  2589. AND ArtLager.Jahr = Artst.Jahr
  2590. AND ArtLager.Lager = Besze.Lager NO-ERROR.
  2591. IF NOT AVAILABLE ArtLager THEN DO:
  2592. CREATE ArtLager.
  2593. ASSIGN ArtLager.Firma = Artst.Firma
  2594. ArtLager.Artnr = Artst.Artnr
  2595. ArtLager.Inhalt = Artst.Inhalt
  2596. ArtLager.Jahr = Artst.Jahr
  2597. ArtLager.Lager = Besze.Lager.
  2598. END.
  2599. ArtLager.Eingang = ArtLager.Eingang + Besze.MGeli.
  2600. ArtLager.Bestand = ArtLager.Bestand + Besze.MGeli.
  2601. ArtLager.Bestellt = ArtLager.Bestellt - (Besze.MBest - Besze.MGeli).
  2602. Artst.Bestellt = Artst.Bestellt - (Besze.MBest - Besze.MGeli).
  2603. Artst.Letzt_Eing = Besko.Lief_Datum.
  2604. RELEASE ArtLager.
  2605. DO WHILE Besze.GGeb_Me <> 0:
  2606. FIND GGebinde NO-LOCK USE-INDEX GGebinde-k1
  2607. WHERE GGebinde.Firma = Besze.Firma
  2608. AND GGebinde.Geb_Cd = Besze.GGeb_Cd NO-ERROR.
  2609. IF NOT AVAILABLE GGebinde THEN LEAVE.
  2610. IF GGebinde.Geb_Kto = '' THEN LEAVE.
  2611. FIND GebKonto USE-INDEX GebKonto-k1
  2612. WHERE GebKonto.Firma = Besze.Firma
  2613. AND GebKonto.Geb_Cd = GGebinde.Geb_Kto NO-ERROR.
  2614. IF NOT AVAILABLE GebKonto THEN LEAVE.
  2615. IF GebKonto.Depot = 0 THEN GebKonto.Depot = GGebinde.Depot.
  2616. IF GebKonto.Depot = 0 THEN LEAVE.
  2617. FIND FIRST GebKontr USE-INDEX GebKontr-k2
  2618. WHERE GebKontr.Firma = Besko.Firma
  2619. AND GebKontr.Knr = Besko.Knr
  2620. AND GebKontr.Geb_Cd = GebKonto.Geb_Cd
  2621. AND GebKontr.Doknr = Besko.Besnr
  2622. AND GebKontr.Datum = LVDat NO-ERROR.
  2623. IF NOT AVAILABLE GebKontr THEN DO:
  2624. RUN CREATE_GebKontr.
  2625. FIND GebKontr WHERE RECID(GebKontr) = LVRecid.
  2626. END.
  2627. GebKontr.Eingang = GebKontr.Eingang + Besze.GGeb_Me.
  2628. LEAVE.
  2629. END.
  2630. DO WHILE Besze.VGeb_Me <> 0:
  2631. FIND VGebinde NO-LOCK USE-INDEX VGebinde-k1
  2632. WHERE VGebinde.Firma = Besze.Firma
  2633. AND VGebinde.Geb_Cd = Besze.VGeb_Cd NO-ERROR.
  2634. IF NOT AVAILABLE VGebinde THEN LEAVE.
  2635. IF VGebinde.Geb_Kto = '' THEN LEAVE.
  2636. FIND GebKonto USE-INDEX GebKonto-k1
  2637. WHERE GebKonto.Firma = Besze.Firma
  2638. AND GebKonto.Geb_Cd = VGebinde.Geb_Kto NO-ERROR.
  2639. IF NOT AVAILABLE GebKonto THEN LEAVE.
  2640. IF GebKonto.Depot = 0 THEN GebKonto.Depot = VGebinde.Depot.
  2641. IF GebKonto.Depot = 0 THEN LEAVE.
  2642. FIND FIRST GebKontr USE-INDEX GebKontr-k2
  2643. WHERE GebKontr.Firma = Besko.Firma
  2644. AND GebKontr.Knr = Besko.Knr
  2645. AND GebKontr.Geb_Cd = GebKonto.Geb_Cd
  2646. AND GebKontr.Doknr = Besko.Besnr
  2647. AND GebKontr.Datum = LVDat NO-ERROR.
  2648. IF NOT AVAILABLE GebKontr THEN DO:
  2649. RUN CREATE_GebKontr.
  2650. FIND GebKontr WHERE RECID(GebKontr) = LVRecid.
  2651. END.
  2652. GebKontr.Eingang = GebKontr.Eingang + Besze.VGeb_Me.
  2653. LEAVE.
  2654. END.
  2655. DO WHILE Besze.KGeb_Me <> 0:
  2656. FIND KGebinde NO-LOCK USE-INDEX KGebinde-k1
  2657. WHERE KGebinde.Firma = Besze.Firma
  2658. AND KGebinde.Geb_Cd = Besze.KGeb_Cd NO-ERROR.
  2659. IF NOT AVAILABLE KGebinde THEN LEAVE.
  2660. IF KGebinde.Geb_Kto = '' THEN LEAVE.
  2661. FIND GebKonto USE-INDEX GebKonto-k1
  2662. WHERE GebKonto.Firma = Besze.Firma
  2663. AND GebKonto.Geb_Cd = KGebinde.Geb_Kto NO-ERROR.
  2664. IF NOT AVAILABLE GebKonto THEN LEAVE.
  2665. IF GebKonto.Depot = 0 THEN GebKonto.Depot = KGebinde.Depot.
  2666. IF GebKonto.Depot = 0 THEN LEAVE.
  2667. FIND FIRST GebKontr USE-INDEX GebKontr-k2
  2668. WHERE GebKontr.Firma = Besko.Firma
  2669. AND GebKontr.Knr = Besko.Knr
  2670. AND GebKontr.Geb_Cd = GebKonto.Geb_Cd
  2671. AND GebKontr.Doknr = Besko.Besnr
  2672. AND GebKontr.Datum = LVDat NO-ERROR.
  2673. IF NOT AVAILABLE GebKontr THEN DO:
  2674. RUN CREATE_GebKontr.
  2675. FIND GebKontr WHERE RECID(GebKontr) = LVRecid.
  2676. END.
  2677. GebKontr.Eingang = GebKontr.Eingang + Besze.KGeb_Me.
  2678. LEAVE.
  2679. END.
  2680. RELEASE KGebinde.
  2681. RELEASE VGebinde.
  2682. RELEASE GGebinde.
  2683. RELEASE GebKonto.
  2684. RELEASE GebKontr.
  2685. FIND KGebinde NO-LOCK USE-INDEX KGebinde-k1
  2686. WHERE KGebinde.Firma = GVFirma
  2687. AND KGebinde.Geb_Cd = Besze.KGeb_Cd NO-ERROR.
  2688. DO WHILE TRUE:
  2689. FIND LAST Artbw NO-LOCK USE-INDEX Artbw-k1
  2690. WHERE Artbw.Firma = GVFirma NO-ERROR.
  2691. IF AVAILABLE Artbw THEN i1 = Artbw.Trnr + 1.
  2692. ELSE i1 = 1.
  2693. FIND Wust NO-LOCK USE-INDEX Wust-k1
  2694. WHERE Wust.CodeK = Steuer.MWST-Exkl
  2695. AND Wust.CodeA = Artst.MWST NO-ERROR.
  2696. IF AVAILABLE Wust THEN WuCd = Wust.WuCd.
  2697. CREATE Artbw.
  2698. ASSIGN Artbw.Firma = GVFirma
  2699. Artbw.Trnr = i1
  2700. Artbw.Tr_Art = 11
  2701. Artbw.Artnr = Artst.Artnr
  2702. Artbw.Inhalt = Artst.Inhalt
  2703. Artbw.Jahr = Artst.Jahr
  2704. Artbw.Bez1 = Besze.Bez1
  2705. Artbw.Bez2 = Besze.Bez2
  2706. Artbw.Knr = Besko.Knr
  2707. Artbw.Menge = Besze.MGel
  2708. Artbw.Alk_Gehalt = Artst.Alk_Gehalt
  2709. Artbw.Aktion = Besze.Aktion
  2710. Artbw.Sk_Ber = FALSE
  2711. Artbw.Netto = FALSE
  2712. Artbw.Lager = Besze.Lager
  2713. Artbw.KGeb_Cd = Besze.KGeb_Cd
  2714. Artbw.VGeb_Cd = Besze.VGeb_Cd
  2715. Artbw.GGeb_Cd = Besze.GGeb_Cd
  2716. Artbw.KGeb_Me = Besze.KGeb_Me
  2717. Artbw.VGeb_Me = Besze.VGeb_Me
  2718. Artbw.GGeb_Me = Besze.GGeb_Me
  2719. Artbw.Preis = Besze.Preis
  2720. Artbw.Bru_Betr = Besze.Preis * Besze.MGeli
  2721. Artbw.Net_Betr = Besze.Preis * Besze.MGeli
  2722. Artbw.Liter = Besze.MGeli * KGebinde.Inhalt / 100
  2723. Artbw.Gewicht = (Besze.MGeli * Artst.Gewicht) + KGebinde.Gewicht
  2724. Artbw.Datum = LVDat
  2725. Artbw.Abhol = FALSE
  2726. Artbw.FRW = 'CHF'
  2727. Artbw.Faktor = 1
  2728. Artbw.Kurs = 1.0
  2729. Artbw.WC = Artst.MWST
  2730. Artbw.WuCd = WuCd
  2731. Artbw.Aufnr = Besze.Besnr.
  2732. ASSIGN Besze.Trnr = Artbw.Trnr.
  2733. LEAVE.
  2734. END.
  2735. RELEASE Artst.
  2736. RELEASE ArtLager.
  2737. RELEASE Liefst.
  2738. RELEASE Besze.
  2739. END.
  2740. FOR EACH BesGebKo NO-LOCK USE-INDEX BesGebKo-k1
  2741. WHERE BesGebKo.Firma = Besko.Firma
  2742. AND BesGebKo.Besnr = Besko.Besnr
  2743. AND BesGebKo.Menge <> 0 :
  2744. DO WHILE BesGebKo.Anz_1 <> 0:
  2745. FIND GebKonto USE-INDEX GebKonto-k1
  2746. WHERE GebKonto.Firma = BesGebKo.Firma
  2747. AND GebKonto.Geb_Cd = BesGebKo.Kto_Cd1 NO-ERROR.
  2748. IF NOT AVAILABLE GebKonto THEN LEAVE.
  2749. IF GebKonto.Depot = 0 THEN GebKonto.Depot = BesGebKo.Wert_1.
  2750. IF GebKonto.Depot = 0 THEN LEAVE.
  2751. FIND FIRST GebKontr USE-INDEX GebKontr-k2
  2752. WHERE GebKontr.Firma = Besko.Firma
  2753. AND GebKontr.Knr = Besko.Knr
  2754. AND GebKontr.Geb_Cd = GebKonto.Geb_Cd
  2755. AND GebKontr.Doknr = Besko.Besnr
  2756. AND GebKontr.Datum = LVDat NO-ERROR.
  2757. IF NOT AVAILABLE GebKontr THEN DO:
  2758. RUN CREATE_GebKontr.
  2759. FIND GebKontr WHERE RECID(GebKontr) = LVRecid.
  2760. END.
  2761. GebKontr.Ausgang = GebKontr.Ausgang + BesGebKo.Anz_1.
  2762. LEAVE.
  2763. END.
  2764. DO WHILE BesGebKo.Anz_2 <> 0:
  2765. FIND GebKonto USE-INDEX GebKonto-k1
  2766. WHERE GebKonto.Firma = Besko.Firma
  2767. AND GebKonto.Geb_Cd = BesGebKo.Kto_Cd2 NO-ERROR.
  2768. IF NOT AVAILABLE GebKonto THEN LEAVE.
  2769. IF GebKonto.Depot = 0 THEN GebKonto.Depot = BesGebKo.Wert_1.
  2770. IF GebKonto.Depot = 0 THEN LEAVE.
  2771. FIND FIRST GebKontr USE-INDEX GebKontr-k2
  2772. WHERE GebKontr.Firma = Besko.Firma
  2773. AND GebKontr.Knr = Besko.Knr
  2774. AND GebKontr.Geb_Cd = GebKonto.Geb_Cd
  2775. AND GebKontr.Doknr = Besko.Besnr
  2776. AND GebKontr.Datum = LVDat NO-ERROR.
  2777. IF NOT AVAILABLE GebKontr THEN DO:
  2778. RUN CREATE_GebKontr.
  2779. FIND GebKontr WHERE RECID(GebKontr) = LVRecid.
  2780. END.
  2781. GebKontr.Ausgang = GebKontr.Ausgang + BesGebKo.Anz_2.
  2782. LEAVE.
  2783. END.
  2784. DO WHILE BesGebKo.Anz_3 <> 0:
  2785. FIND GebKonto USE-INDEX GebKonto-k1
  2786. WHERE GebKonto.Firma = Besko.Firma
  2787. AND GebKonto.Geb_Cd = BesGebKo.Kto_Cd3 NO-ERROR.
  2788. IF NOT AVAILABLE GebKonto THEN LEAVE.
  2789. IF GebKonto.Depot = 0 THEN GebKonto.Depot = BesGebKo.Wert_1.
  2790. IF GebKonto.Depot = 0 THEN LEAVE.
  2791. FIND FIRST GebKontr USE-INDEX GebKontr-k2
  2792. WHERE GebKontr.Firma = Besko.Firma
  2793. AND GebKontr.Knr = Besko.Knr
  2794. AND GebKontr.Geb_Cd = GebKonto.Geb_Cd
  2795. AND GebKontr.Doknr = Besko.Besnr
  2796. AND GebKontr.Datum = LVDat NO-ERROR.
  2797. IF NOT AVAILABLE GebKontr THEN DO:
  2798. RUN CREATE_GebKontr.
  2799. FIND GebKontr WHERE RECID(GebKontr) = LVRecid.
  2800. END.
  2801. GebKontr.Ausgang = GebKontr.Ausgang + BesGebKo.Anz_3.
  2802. LEAVE.
  2803. END.
  2804. RELEASE GebKontr.
  2805. RELEASE GebKonto.
  2806. END.
  2807. LEAVE.
  2808. END.
  2809. RELEASE ArtLager.
  2810. RELEASE Artst.
  2811. PUBLISH 'REFRESH_ARTIKEL'.
  2812. END PROCEDURE.
  2813. /* _UIB-CODE-BLOCK-END */
  2814. &ANALYZE-RESUME
  2815. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-hide F-Frame-Win
  2816. PROCEDURE local-hide :
  2817. /*------------------------------------------------------------------------------
  2818. Purpose: Override standard ADM method
  2819. Notes:
  2820. ------------------------------------------------------------------------------*/
  2821. IF VUpdate THEN DO:
  2822. RUN SPEICHERN.
  2823. END.
  2824. /* Code placed here will execute PRIOR to standard behavior. */
  2825. /* Dispatch standard ADM method. */
  2826. RUN dispatch IN THIS-PROCEDURE ( INPUT 'hide':U ) .
  2827. /* Code placed here will execute AFTER standard behavior. */
  2828. END PROCEDURE.
  2829. /* _UIB-CODE-BLOCK-END */
  2830. &ANALYZE-RESUME
  2831. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-initialize F-Frame-Win
  2832. PROCEDURE local-initialize :
  2833. /*------------------------------------------------------------------------------
  2834. Purpose: Override standard ADM method
  2835. Notes:
  2836. ------------------------------------------------------------------------------*/
  2837. DO WITH FRAME {&FRAME-NAME}:
  2838. E_Adresse = ''.
  2839. Besko.Besnr:READ-ONLY IN BROWSE Br_Besko = TRUE.
  2840. END.
  2841. RUN dispatch IN THIS-PROCEDURE ( INPUT 'initialize':U ) .
  2842. cInstallation = DYNAMIC-FUNCTION('getInstallation':U) NO-ERROR.
  2843. RUN INITIAL.
  2844. RUN OPEN_BESKO.
  2845. END PROCEDURE.
  2846. /* _UIB-CODE-BLOCK-END */
  2847. &ANALYZE-RESUME
  2848. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-view F-Frame-Win
  2849. PROCEDURE local-view :
  2850. /*------------------------------------------------------------------------------
  2851. Purpose: Override standard ADM method
  2852. Notes:
  2853. ------------------------------------------------------------------------------*/
  2854. RUN dispatch IN THIS-PROCEDURE ( INPUT 'view':U ) .
  2855. ENABLE Btn_LOESCHEN WITH FRAME {&FRAME-NAME}.
  2856. IF VBest_Sta = 3 THEN DISABLE Btn_LOESCHEN WITH FRAME {&FRAME-NAME}.
  2857. IF Vorhanden THEN APPLY 'VALUE-CHANGED' TO BROWSE {&BROWSE-NAME}.
  2858. END PROCEDURE.
  2859. /* _UIB-CODE-BLOCK-END */
  2860. &ANALYZE-RESUME
  2861. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LOESCHEN F-Frame-Win
  2862. PROCEDURE LOESCHEN :
  2863. /*------------------------------------------------------------------------------
  2864. Purpose:
  2865. Parameters: <none>
  2866. Notes:
  2867. ------------------------------------------------------------------------------*/
  2868. DEF VAR VLoeschdat AS DATE NO-UNDO.
  2869. DEF VAR fVerbucht AS LOG NO-UNDO.
  2870. DISABLE TRIGGERS FOR LOAD OF Besze.
  2871. DO WITH FRAME {&FRAME-NAME}:
  2872. Ja = FALSE.
  2873. { v8/loeschen.i }
  2874. IF NOT Ja THEN DO:
  2875. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  2876. RETURN NO-APPLY.
  2877. END.
  2878. DO WHILE VBest_Sta < 4 TRANSACTION:
  2879. FOR EACH Besze OF Besko:
  2880. IF Besze.Artnr = 0 THEN DO:
  2881. DELETE Besze.
  2882. NEXT.
  2883. END.
  2884. FIND Artbw OF Besze NO-ERROR.
  2885. IF AVAILABLE Artbw THEN fVerbucht = TRUE.
  2886. ELSE fVerbucht = FALSE.
  2887. DO WHILE TRUE:
  2888. FIND Artst USE-INDEX Artst-k1
  2889. WHERE Artst.Firma = GVFirma
  2890. AND Artst.Artnr = Besze.Artnr
  2891. AND Artst.Inhalt = Besze.Inhalt
  2892. AND Artst.Jahr = Besze.Jahr.
  2893. FIND ArtLager USE-INDEX ArtLager-k1
  2894. WHERE ArtLager.Firma = Besze.Firma
  2895. AND ArtLager.Artnr = Besze.Artnr
  2896. AND ArtLager.Inhalt = Besze.Inhalt
  2897. AND ArtLager.Jahr = Besze.Jahr
  2898. AND ArtLager.Lager = Besze.Lager.
  2899. IF Besko.Best_Sta < 3 THEN DO:
  2900. ArtLager.Bestellt = ArtLager.Bestellt - (Besze.MBest - Besze.MGeli).
  2901. Artst.Bestellt = Artst.Bestellt - (Besze.MBest - Besze.MGeli).
  2902. END.
  2903. IF Besko.Best_Sta = 3 THEN DO:
  2904. IF fVerbucht THEN DO:
  2905. ArtLager.Bestand = ArtLager.Bestand - Besze.MGeli.
  2906. ArtLager.Eingang = ArtLager.Eingang - Besze.MGeli.
  2907. END.
  2908. END.
  2909. RELEASE ArtLager.
  2910. RELEASE Artst.
  2911. LEAVE.
  2912. END.
  2913. DO WHILE Besze.GGeb_Me <> 0
  2914. AND Besko.Best_Sta = 3
  2915. AND fVerbucht :
  2916. FIND GGebinde NO-LOCK USE-INDEX GGebinde-k1
  2917. WHERE GGebinde.Firma = Besze.Firma
  2918. AND GGebinde.Geb_Cd = Besze.GGeb_Cd NO-ERROR.
  2919. IF NOT AVAILABLE GGebinde THEN LEAVE.
  2920. IF GGebinde.Geb_Kto = '' THEN LEAVE.
  2921. FIND FIRST GebKontr USE-INDEX GebKontr-k2
  2922. WHERE GebKontr.Firma = Besko.Firma
  2923. AND GebKontr.Knr = Besko.Knr
  2924. AND GebKontr.Geb_Cd = GGebinde.Geb_Kto
  2925. AND GebKontr.Doknr = Besko.Besnr
  2926. AND GebKontr.Datum = Artbw.Datum NO-ERROR.
  2927. IF NOT AVAILABLE GebKontr THEN LEAVE.
  2928. GebKontr.Eingang = GebKontr.Eingang - Besze.GGeb_Me.
  2929. RELEASE GebKontr.
  2930. LEAVE.
  2931. END.
  2932. DO WHILE Besze.VGeb_Me <> 0
  2933. AND Besko.Best_Sta = 3
  2934. AND fVerbucht :
  2935. FIND VGebinde NO-LOCK USE-INDEX VGebinde-k1
  2936. WHERE VGebinde.Firma = Besze.Firma
  2937. AND VGebinde.Geb_Cd = Besze.VGeb_Cd NO-ERROR.
  2938. IF NOT AVAILABLE VGebinde THEN LEAVE.
  2939. IF VGebinde.Geb_Kto = '' THEN LEAVE.
  2940. FIND FIRST GebKontr USE-INDEX GebKontr-k2
  2941. WHERE GebKontr.Firma = Besko.Firma
  2942. AND GebKontr.Knr = Besko.Knr
  2943. AND GebKontr.Geb_Cd = VGebinde.Geb_Kto
  2944. AND GebKontr.Doknr = Besko.Besnr
  2945. AND GebKontr.Datum = Artbw.Datum NO-ERROR.
  2946. IF NOT AVAILABLE GebKontr THEN LEAVE.
  2947. GebKontr.Eingang = GebKontr.Eingang - Besze.VGeb_Me.
  2948. RELEASE GebKontr.
  2949. LEAVE.
  2950. END.
  2951. DO WHILE Besze.KGeb_Me <> 0
  2952. AND Besko.Best_Sta = 3
  2953. AND fVerbucht :
  2954. FIND KGebinde NO-LOCK USE-INDEX KGebinde-k1
  2955. WHERE KGebinde.Firma = Besze.Firma
  2956. AND KGebinde.Geb_Cd = Besze.KGeb_Cd NO-ERROR.
  2957. IF NOT AVAILABLE KGebinde THEN LEAVE.
  2958. IF KGebinde.Geb_Kto = '' THEN LEAVE.
  2959. FIND FIRST GebKontr USE-INDEX GebKontr-k2
  2960. WHERE GebKontr.Firma = Besko.Firma
  2961. AND GebKontr.Knr = Besko.Knr
  2962. AND GebKontr.Geb_Cd = KGebinde.Geb_Kto
  2963. AND GebKontr.Doknr = Besko.Besnr
  2964. AND GebKontr.Datum = Artbw.Datum NO-ERROR.
  2965. IF NOT AVAILABLE GebKontr THEN LEAVE.
  2966. GebKontr.Eingang = GebKontr.Eingang - Besze.KGeb_Me.
  2967. RELEASE GebKontr.
  2968. LEAVE.
  2969. END.
  2970. IF AVAILABLE Artbw THEN DELETE Artbw.
  2971. DELETE Besze.
  2972. RELEASE KGebinde.
  2973. RELEASE VGebinde.
  2974. RELEASE GGebinde.
  2975. RELEASE GebKonto.
  2976. END.
  2977. FOR EACH BesGebKo USE-INDEX BesGebKo-k1
  2978. WHERE BesGebKo.Firma = Besko.Firma
  2979. AND BesGebKo.Besnr = Besko.Besnr:
  2980. DELETE BesGebKo.
  2981. END.
  2982. FIND BBesko WHERE RECID(BBesko) = RECID(Besko).
  2983. DELETE BBesko.
  2984. {&BROWSE-NAME}:DELETE-SELECTED-ROW(1).
  2985. LEAVE.
  2986. END.
  2987. DO WHILE VBest_Sta = 4:
  2988. Linktext = STRING(Besko.Buch_Dat,"99.99.9999")
  2989. + ";"
  2990. + "bis zu welchem Datum"
  2991. + ";"
  2992. + "bis Buchungsdatum"
  2993. + ";"
  2994. + "99.99.9999"
  2995. + ";"
  2996. + "3".
  2997. RUN "v8/d-einlesen-wert.w".
  2998. IF Linktext = '' THEN DO:
  2999. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  3000. RETURN NO-APPLY.
  3001. END.
  3002. VLoeschdat = DATE(INTEGER(SUBSTRING(Linktext,04,02)),
  3003. INTEGER(SUBSTRING(Linktext,01,02)),
  3004. INTEGER(SUBSTRING(Linktext,07,04))).
  3005. FOR EACH Besko NO-LOCK USE-INDEX Besko-k1
  3006. WHERE Besko.Firma = GVFirma
  3007. AND Besko.Best_Sta = VBest_Sta
  3008. AND Besko.Buch_Dat <= VLoeschdat TRANSACTION:
  3009. FOR EACH Besze USE-INDEX Besze-k1
  3010. WHERE Besze.Firma = Besko.Firma
  3011. AND Besze.Besnr = Besko.Besnr:
  3012. DELETE Besze.
  3013. END.
  3014. FOR EACH BesGebKo USE-INDEX BesGebKo-k1
  3015. WHERE BesGebKo.Firma = Besko.Firma
  3016. AND BesGebKo.Besnr = Besko.Besnr:
  3017. DELETE BesGebKo.
  3018. END.
  3019. FIND BBesko WHERE RECID(BBesko) = RECID(Besko).
  3020. DELETE BBesko.
  3021. END.
  3022. RELEASE Besko.
  3023. RELEASE Besze.
  3024. RELEASE GebKontr.
  3025. RUN OPEN_BESKO.
  3026. LEAVE.
  3027. END.
  3028. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  3029. RETURN NO-APPLY.
  3030. END.
  3031. END PROCEDURE.
  3032. /* _UIB-CODE-BLOCK-END */
  3033. &ANALYZE-RESUME
  3034. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE OPEN_BESKO F-Frame-Win
  3035. PROCEDURE OPEN_BESKO :
  3036. /*------------------------------------------------------------------------------
  3037. Purpose:
  3038. Parameters: <none>
  3039. Notes:
  3040. ------------------------------------------------------------------------------*/
  3041. DO WITH FRAME {&FRAME-NAME}:
  3042. IF QOpen = TRUE THEN CLOSE QUERY Br_Besko.
  3043. iLager = INTEGER(CB_Lager:SCREEN-VALUE) NO-ERROR.
  3044. RUN CLEAR_BILDSCHIRM.
  3045. CASE VSort:
  3046. WHEN 1 THEN DO:
  3047. OPEN QUERY Br_Besko
  3048. FOR EACH Besko USE-INDEX Besko-k1
  3049. WHERE Besko.Firma = GVFirma
  3050. AND Besko.Lager = iLager
  3051. AND Besko.Best_Sta = VBest_Sta NO-LOCK
  3052. BY Besko.Besnr DESCENDING.
  3053. END.
  3054. WHEN 2 THEN DO:
  3055. OPEN QUERY Br_Besko
  3056. FOR EACH Besko USE-INDEX Besko-k1
  3057. WHERE Besko.Firma = GVFirma
  3058. AND Besko.Lager = iLager
  3059. AND Besko.Best_Sta = VBest_Sta NO-LOCK
  3060. BY Besko.Knr
  3061. BY Besko.Lief_Datum DESCENDING.
  3062. END.
  3063. WHEN 3 THEN DO:
  3064. OPEN QUERY Br_Besko
  3065. FOR EACH Besko USE-INDEX Besko-k1
  3066. WHERE Besko.Firma = GVFirma
  3067. AND Besko.Lager = iLager
  3068. AND Besko.Best_Sta = VBest_Sta NO-LOCK
  3069. BY Besko.Best_Datum DESCENDING.
  3070. END.
  3071. WHEN 4 THEN DO:
  3072. OPEN QUERY Br_Besko
  3073. FOR EACH Besko USE-INDEX Besko-k1
  3074. WHERE Besko.Firma = GVFirma
  3075. AND Besko.Lager = iLager
  3076. AND Besko.Best_Sta = VBest_Sta NO-LOCK
  3077. BY Besko.Lief_Datum DESCENDING.
  3078. END.
  3079. END CASE.
  3080. QOpen = TRUE.
  3081. Vorhanden = FALSE.
  3082. DO WHILE TRUE:
  3083. Br_Besko:SET-REPOSITIONED-ROW(4, "ALWAYS").
  3084. IF NUM-RESULTS("Br_Besko":U) = ? THEN LEAVE.
  3085. IF NUM-RESULTS("Br_Besko":U) = 0 THEN LEAVE.
  3086. Vorhanden = TRUE.
  3087. LEAVE.
  3088. END.
  3089. IF NOT FNeuMut THEN DO:
  3090. IF Vorhanden THEN APPLY 'VALUE-CHANGED' TO Br_Besko.
  3091. APPLY 'ENTRY' TO Br_Besko.
  3092. END.
  3093. FNeuMut = FALSE.
  3094. END.
  3095. END PROCEDURE.
  3096. /* _UIB-CODE-BLOCK-END */
  3097. &ANALYZE-RESUME
  3098. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-records F-Frame-Win _ADM-SEND-RECORDS
  3099. PROCEDURE send-records :
  3100. /*------------------------------------------------------------------------------
  3101. Purpose: Send record ROWID's for all tables used by
  3102. this file.
  3103. Parameters: see template/snd-head.i
  3104. ------------------------------------------------------------------------------*/
  3105. /* Define variables needed by this internal procedure. */
  3106. {src/adm/template/snd-head.i}
  3107. /* For each requested table, put it's ROWID in the output list. */
  3108. {src/adm/template/snd-list.i "Besko"}
  3109. /* Deal with any unexpected table requests before closing. */
  3110. {src/adm/template/snd-end.i}
  3111. END PROCEDURE.
  3112. /* _UIB-CODE-BLOCK-END */
  3113. &ANALYZE-RESUME
  3114. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SPEICHERN F-Frame-Win
  3115. PROCEDURE SPEICHERN :
  3116. /*------------------------------------------------------------------------------
  3117. Purpose:
  3118. Parameters: <none>
  3119. Notes:
  3120. ------------------------------------------------------------------------------*/
  3121. DEF VAR FKurs AS LOG NO-UNDO.
  3122. DO WITH FRAME {&FRAME-NAME}:
  3123. IF Besko.Kurs:SCREEN-VALUE = ? OR
  3124. DECIMAL(Besko.Kurs:SCREEN-VALUE) = 0 THEN DO:
  3125. APPLY 'ENTRY' TO Kurs.
  3126. RETURN NO-APPLY.
  3127. END.
  3128. REPEAT TRANSACTION:
  3129. FIND Waehrung NO-LOCK USE-INDEX Waehrung-k1
  3130. WHERE Waehrung.Firma = GVFirma
  3131. AND Waehrung.FRW = VFRW NO-ERROR.
  3132. IF AVAILABLE Waehrung THEN Besko.Faktor:SCREEN-VALUE = STRING(Waehrung.Faktor).
  3133. ELSE DO:
  3134. IF INTEGER(Besko.Faktor:SCREEN-VALUE) = 0 THEN DO:
  3135. IF VFRW = 'LIT' THEN Besko.Faktor:SCREEN-VALUE = STRING(1000).
  3136. ELSE Besko.Faktor:SCREEN-VALUE = STRING(1).
  3137. END.
  3138. END.
  3139. FKurs = FALSE.
  3140. FIND Besko WHERE RECID(Besko) = XRecid.
  3141. ASSIGN {&List-3}.
  3142. Besko.FRW = VFRW.
  3143. IF Besko.Kurs:MODIFIED = TRUE THEN FKurs = TRUE.
  3144. IF FKurs THEN DO:
  3145. FOR EACH Besze OF Besko WHERE Besze.Artnr <> 0:
  3146. ASSIGN Besze.FRW = Besko.Frw
  3147. Besze.Kurs = Besko.Kurs
  3148. Besze.Faktor = Besko.Faktor.
  3149. Rundbetr = Besze.S_Preis_FRW * Besze.Kurs / Besze.Faktor.
  3150. Besze.S_Preis = Rundbetr.
  3151. Rundbetr = (Rundbetr * (100 - Besze.Rabatt) / 100)
  3152. + Besze.Spesen.
  3153. Besze.Preis = Rundbetr.
  3154. END.
  3155. END.
  3156. RELEASE Besko.
  3157. LEAVE.
  3158. END.
  3159. FIND Besko WHERE RECID(Besko) = XRecid NO-LOCK.
  3160. LVBesnr = Besko.Besnr.
  3161. LVLnr = Besko.Knr.
  3162. Btn_Erfassen:LABEL = '&Neu'.
  3163. Btn_Aendern:LABEL = '&Aendern'.
  3164. ENABLE Btn_Loeschen Btn_Verschieben Btn_Excel CB_Lager.
  3165. DISABLE {&List-3}.
  3166. DISABLE CB_FRW.
  3167. VUpdate = FALSE.
  3168. VNeu = FALSE.
  3169. IF NRecid = 0 THEN DO:
  3170. APPLY 'VALUE-CHANGED' TO Br_Besko.
  3171. APPLY 'ENTRY' TO Br_Besko.
  3172. RETURN NO-APPLY.
  3173. END.
  3174. FOR EACH GebRueck WHERE GebRueck.Firma = GVFirma NO-LOCK TRANSACTION:
  3175. CREATE BesGebKo.
  3176. ASSIGN BesGebKo.Firma = GVFirma
  3177. BesGebKo.Besnr = LVBesnr
  3178. BesGebKo.Sort_Cd = GebRueck.Sort_Cd
  3179. BesGebKo.Geb_Cd = GebRueck.Geb_Cd
  3180. BesGebKo.Anz_1 = GebRueck.Anz_1
  3181. BesGebKo.Kto_Cd1 = GebRueck.Kto_Cd1
  3182. BesGebKo.Anz_2 = GebRueck.Anz_2
  3183. BesGebKo.Kto_Cd2 = GebRueck.Kto_Cd2
  3184. BesGebKo.Anz_3 = GebRueck.Anz_3
  3185. BesGebKo.Kto_Cd3 = GebRueck.Kto_Cd3.
  3186. IF BesGebKo.Kto_Cd1 <> '' THEN DO:
  3187. FIND GebKonto USE-INDEX GebKonto-k1
  3188. WHERE GebKonto.Firma = GVFirma
  3189. AND GebKonto.Geb_Cd = BesGebKo.Kto_Cd1 NO-LOCK.
  3190. BesGebKo.Wert_1 = GebKonto.Depot.
  3191. END.
  3192. IF BesGebKo.Kto_Cd2 <> '' THEN DO:
  3193. FIND GebKonto USE-INDEX GebKonto-k1
  3194. WHERE GebKonto.Firma = GVFirma
  3195. AND GebKonto.Geb_Cd = BesGebKo.Kto_Cd2 NO-LOCK.
  3196. BesGebKo.Wert_2 = GebKonto.Depot.
  3197. END.
  3198. IF BesGebKo.Kto_Cd3 <> '' THEN DO:
  3199. FIND GebKonto USE-INDEX GebKonto-k1
  3200. WHERE GebKonto.Firma = GVFirma
  3201. AND GebKonto.Geb_Cd = BesGebKo.Kto_Cd3 NO-LOCK.
  3202. BesGebKo.Wert_3 = GebKonto.Depot.
  3203. END.
  3204. END.
  3205. NRecid = 0.
  3206. FNeuMut = TRUE.
  3207. RUN OPEN_BESKO.
  3208. REPOSITION Br_Besko TO RECID XRecid.
  3209. APPLY 'VALUE-CHANGED' TO Br_Besko.
  3210. APPLY 'ENTRY' TO Br_Besko.
  3211. RETURN NO-APPLY.
  3212. END.
  3213. END PROCEDURE.
  3214. /* _UIB-CODE-BLOCK-END */
  3215. &ANALYZE-RESUME
  3216. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE state-changed F-Frame-Win
  3217. PROCEDURE state-changed :
  3218. /* -----------------------------------------------------------
  3219. Purpose:
  3220. Parameters: <none>
  3221. Notes:
  3222. -------------------------------------------------------------*/
  3223. DEFINE INPUT PARAMETER p-issuer-hdl AS HANDLE NO-UNDO.
  3224. DEFINE INPUT PARAMETER p-state AS CHARACTER NO-UNDO.
  3225. CASE p-state:
  3226. WHEN 'browser_entry' THEN DO:
  3227. APPLY 'ENTRY' TO Br_Besko IN FRAME {&FRAME-NAME}.
  3228. RETURN.
  3229. END.
  3230. WHEN 'first-record' THEN DO:
  3231. APPLY 'ROW-DISPLAY' TO Br_Besko IN FRAME {&FRAME-NAME}.
  3232. RETURN.
  3233. END.
  3234. END CASE.
  3235. END PROCEDURE.
  3236. /* _UIB-CODE-BLOCK-END */
  3237. &ANALYZE-RESUME
  3238. /* ************************ Function Implementations ***************** */
  3239. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION isAlleVerbucht F-Frame-Win
  3240. FUNCTION isAlleVerbucht RETURNS LOGICAL
  3241. ( ipcFirma AS CHAR, ipiBesnr AS INT ) :
  3242. /*------------------------------------------------------------------------------
  3243. Purpose:
  3244. Notes:
  3245. ------------------------------------------------------------------------------*/
  3246. lVerbucht = TRUE.
  3247. FOR EACH Besze NO-LOCK
  3248. WHERE Besze.Firma = ipcFirma
  3249. AND Besze.Besnr = ipiBesnr:
  3250. FIND FIRST Artbw NO-LOCK
  3251. WHERE Artbw.Firma = Besze.Firma
  3252. AND Artbw.Artnr = Besze.Artnr
  3253. AND Artbw.Inhalt = Besze.Inhalt
  3254. AND Artbw.Jahr = Besze.Jahr
  3255. AND Artbw.Tr_Art = 11
  3256. AND Artbw.Aufnr = Besze.Besnr NO-ERROR.
  3257. IF NOT AVAILABLE Artbw THEN DO:
  3258. lVerbucht = FALSE.
  3259. LEAVE.
  3260. END.
  3261. END.
  3262. RETURN lVerbucht.
  3263. END FUNCTION.
  3264. /* _UIB-CODE-BLOCK-END */
  3265. &ANALYZE-RESUME