| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821 |
- &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
- &ANALYZE-RESUME
- &Scoped-define WINDOW-NAME CURRENT-WINDOW
- &Scoped-define FRAME-NAME gDruckenRuesten
- {adecomm/appserv.i}
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gDruckenRuesten
- /*------------------------------------------------------------------------
- File:
- Description: from cntnrdlg.w - ADM2 SmartDialog Template
- Input Parameters:
- <none>
- Output Parameters:
- <none>
- Author:
- Created:
- ------------------------------------------------------------------------*/
- /* This .W file was created with the Progress AppBuilder. */
- /*----------------------------------------------------------------------*/
- /* Create an unnamed pool to store all the widgets created
- by this procedure. This is a good default which assures
- that this procedure's triggers and internal procedures
- will execute in this procedure's storage, and that proper
- cleanup will occur on deletion of the procedure. */
- CREATE WIDGET-POOL.
- /* *************************** Definitions ************************** */
- /* Parameters Definitions --- */
- /* Local Variable Definitions --- */
- { incl/dlgdefinition.i }
- { incl/ttdruckparam.i }
- DEFINE VARIABLE cBenutzerDaten AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cBenutzer AS CHARACTER NO-UNDO.
- DEFINE VARIABLE iAufnr AS INTEGER NO-UNDO.
- DEFINE VARIABLE iRecid AS RECID NO-UNDO.
- DEFINE VARIABLE iRuestArt AS INTEGER NO-UNDO.
- DEFINE VARIABLE iPlatz AS INTEGER NO-UNDO.
- DEFINE VARIABLE iAnzahl AS INTEGER NO-UNDO.
- DEFINE VARIABLE cDateiName AS CHARACTER NO-UNDO.
- DEFINE VARIABLE FormText AS CHARACTER EXTENT 30 NO-UNDO.
- DEFINE VARIABLE iSeite AS INTEGER NO-UNDO.
- DEFINE VARIABLE iZeile AS INTEGER NO-UNDO.
- DEFINE VARIABLE iZusZZ AS INTEGER NO-UNDO.
- DEFINE VARIABLE dDatum AS DATE NO-UNDO.
- DEFINE VARIABLE cZeile AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cKopf AS CHARACTER EXTENT 50 NO-UNDO.
- DEFINE VARIABLE cRabText AS CHARACTER FORMAT "x(25)" NO-UNDO.
- DEFINE VARIABLE cZusText AS CHARACTER FORMAT "x(25)" NO-UNDO.
- DEFINE VARIABLE cEpzText AS CHARACTER FORMAT "x(25)" NO-UNDO.
- DEFINE VARIABLE cRuester AS CHARACTER NO-UNDO.
- DEFINE VARIABLE lOpen AS LOG NO-UNDO.
- DEFINE VARIABLE lWebSpeed AS LOG NO-UNDO.
- DEFINE VARIABLE cLogName AS CHARACTER NO-UNDO.
- DEFINE VARIABLE lBatch AS LOG INIT TRUE NO-UNDO.
- DEFINE STREAM LogStream.
- DEFINE BUFFER bAufko FOR Aufko .
- DEFINE BUFFER bAufze FOR Aufze .
- DEFINE BUFFER bAufGKon FOR AufGKon .
- DEFINE BUFFER bTabel FOR Tabel .
- DEFINE BUFFER bSchrift FOR Schrift .
- DEFINE BUFFER bDrucker FOR Drucker .
- DEFINE BUFFER bSteuer FOR Steuer .
- DEFINE BUFFER LDebst FOR Debst .
- DEFINE BUFFER FDebst FOR Debst .
- DEFINE BUFFER bAdresse FOR Adresse .
- DEFINE TEMP-TABLE tAufze NO-UNDO LIKE Aufze
- FIELD Platz AS INTEGER
- FIELD Lagort AS CHARACTER
-
- INDEX tAufze-k1 IS PRIMARY
- Platz
- Lagort
- Artnr.
- DEFINE TEMP-TABLE btAufze LIKE tAufze.
- DEFINE TEMP-TABLE zAufze LIKE tAufze.
-
- DEFINE TEMP-TABLE tRueck NO-UNDO LIKE tAufze
-
- INDEX tRueck-k1 IS PRIMARY
- Platz
- Lagort
- Artnr.
- DEFINE TEMP-TABLE tDrucker NO-UNDO
- FIELD Drucker AS CHARACTER.
-
- DEFINE TEMP-TABLE tSchrift NO-UNDO LIKE Schrift
- FIELD iPlatz AS INTEGER
- FIELD Schacht AS INTEGER
- FIELD Anzahl AS INTEGER
- FIELD iRecid AS RECID
- INDEX tSchrift-k1 IS PRIMARY
- iPlatz
- Schname
- Schbild.
- DEFINE TEMP-TABLE tTabTexte
- FIELD cRecArt AS CHARACTER
- FIELD iZeile AS INTEGER
- FIELD cFeld1 AS CHARACTER
- FIELD cFeld2 AS CHARACTER
- FIELD cFeld3 AS CHARACTER
- FIELD iFeld1 AS INTEGER
- FIELD iFeld2 AS INTEGER
- FIELD iFeld3 AS INTEGER
-
- INDEX tTabTexte-k1 IS PRIMARY
- cRecArt
- iZeile.
- DEFINE WORKFILE WDrucker
- FIELD Drucker AS CHARACTER
- FIELD Schrift AS CHARACTER
- FIELD TotZZ AS INTEGER
- FIELD BegZZ AS INTEGER
- FIELD EndZZ AS INTEGER
- FIELD AnzKop AS INTEGER
- FIELD SchOri AS INTEGER
- FIELD SchKop AS INTEGER
- FIELD Besr AS INTEGER
- FIELD SchBesr AS INTEGER
- FIELD iRecid AS RECID.
-
- DEFINE TEMP-TABLE tHoReLager LIKE HoReLager
- FIELD iPrior AS INTEGER
- FIELD iRecid AS RECID .
- DEFINE VARIABLE htHoReLager AS HANDLE NO-UNDO.
- htHoReLager = TEMP-TABLE tHoReLager:DEFAULT-BUFFER-HANDLE.
- DEFINE TEMP-TABLE tLotLager LIKE LotLager
- FIELD iRecid AS RECID .
- DEFINE VARIABLE htLotLager AS HANDLE NO-UNDO.
- htLotLager = TEMP-TABLE tLotLager:DEFAULT-BUFFER-HANDLE.
- DEFINE TEMP-TABLE tLagerorte
- FIELD cArt AS CHARACTER
- FIELD iRecid AS RECID
- FIELD iBestand AS INTEGER
- FIELD cSort AS CHARACTER
- FIELD Lotnr AS CHARACTER
- FIELD Verfall AS DATE
- FIELD lLotnr AS LOGICAL
- FIELD lVerfall AS LOGICAL
- FIELD HoReLager_Id AS INTEGER
- FIELD rHoReLager AS RECID
- FIELD rLotLager AS RECID
- FIELD iMenge AS INTEGER
-
- INDEX tLagerorte-k1 IS PRIMARY
- cSort.
-
- DEFINE STREAM out_Stream.
- { src/adm2/widgetprto.i }
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
- /* ******************** Preprocessor Definitions ******************** */
- &Scoped-define PROCEDURE-TYPE SmartDialog
- &Scoped-define DB-AWARE no
- &Scoped-define ADM-CONTAINER DIALOG-BOX
- &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
- /* Name of designated FRAME-NAME and/or first browse and/or first query */
- &Scoped-define FRAME-NAME gDruckenRuesten
- /* Standard List Definitions */
- &Scoped-Define ENABLED-OBJECTS RECT-2 F_Aufnr F_Knr F_Kunde F_Dokument ~
- F_Drucker F_Schrift Btn_OK Btn_Cancel
- &Scoped-Define DISPLAYED-OBJECTS F_Aufnr F_Knr F_Kunde F_Dokument F_Drucker ~
- F_Schrift
- /* Custom List Definitions */
- /* List-1,List-2,List-3,List-4,List-5,List-6 */
- &Scoped-define List-6 F_Aufnr F_Knr F_Kunde F_Dokument F_Drucker F_Schrift
- /* _UIB-PREPROCESSOR-BLOCK-END */
- &ANALYZE-RESUME
- /* ************************ Function Prototypes ********************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getHoreLager gDruckenRuesten
- FUNCTION getHoreLager RETURNS INTEGER
- (iprtAufze AS RECID) FORWARD.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getLogName gDruckenRuesten
- FUNCTION getLogName RETURNS CHARACTER
- ( /* parameter-definitions */ ) FORWARD.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getLotLager gDruckenRuesten
- FUNCTION getLotLager RETURNS INTEGER
- (iprtAufze AS RECID) FORWARD.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD putStream gDruckenRuesten
- FUNCTION putStream RETURNS LOGICAL
- ( ipAttrib AS CHARACTER, ipAnzZeilen AS INTEGER, INPUT-OUTPUT ipZeile AS CHARACTER ) FORWARD.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD writeLogFile gDruckenRuesten
- FUNCTION writeLogFile RETURNS LOGICAL
- ( ipMessage AS CHARACTER ) FORWARD.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* *********************** Control Definitions ********************** */
- /* Define a dialog box */
- /* Definitions of the field level widgets */
- DEFINE BUTTON Btn_Cancel AUTO-END-KEY
- LABEL "abbrechen"
- SIZE 15 BY 1.
- DEFINE BUTTON Btn_OK AUTO-GO
- LABEL "OK"
- SIZE 15 BY 1.
- DEFINE VARIABLE F_Aufnr AS INTEGER FORMAT "zzzzzz9":U INITIAL 0
- LABEL "Auftrag"
- VIEW-AS FILL-IN NATIVE
- SIZE 12 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Dokument AS CHARACTER FORMAT "X(256)":U
- LABEL "Dokument"
- VIEW-AS FILL-IN NATIVE
- SIZE 40 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Drucker AS CHARACTER FORMAT "X(256)":U
- LABEL "Drucker"
- VIEW-AS FILL-IN NATIVE
- SIZE 40 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Knr AS INTEGER FORMAT "zzzzzz9":U INITIAL 0
- LABEL "Kunde"
- VIEW-AS FILL-IN NATIVE
- SIZE 12 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Kunde AS CHARACTER FORMAT "X(256)":U
- LABEL "/"
- VIEW-AS FILL-IN NATIVE
- SIZE 80 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Schrift AS CHARACTER FORMAT "X(256)":U
- LABEL "Schrift"
- VIEW-AS FILL-IN NATIVE
- SIZE 40 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE RECTANGLE RECT-2
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 115.2 BY 8.1.
- /* ************************ Frame Definitions *********************** */
- DEFINE FRAME gDruckenRuesten
- F_Aufnr AT ROW 2 COL 14 COLON-ALIGNED WIDGET-ID 4
- F_Knr AT ROW 3 COL 14 COLON-ALIGNED WIDGET-ID 6
- F_Kunde AT ROW 3 COL 29 COLON-ALIGNED WIDGET-ID 8 NO-TAB-STOP
- F_Dokument AT ROW 4.52 COL 14 COLON-ALIGNED WIDGET-ID 10 NO-TAB-STOP
- F_Drucker AT ROW 5.52 COL 14 COLON-ALIGNED WIDGET-ID 12 NO-TAB-STOP
- F_Schrift AT ROW 6.52 COL 14 COLON-ALIGNED WIDGET-ID 14 NO-TAB-STOP
- Btn_OK AT ROW 10.91 COL 34.6
- Btn_Cancel AT ROW 10.91 COL 55.8
- RECT-2 AT ROW 1.48 COL 3 WIDGET-ID 2
- SPACE(3.99) SKIP(3.08)
- WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
- SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
- TITLE "Drucken bei Rüstverwaltung"
- CANCEL-BUTTON Btn_Cancel WIDGET-ID 100.
- /* *********************** Procedure Settings ************************ */
- &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
- /* Settings for THIS-PROCEDURE
- Type: SmartDialog
- Allow: Basic,Browse,DB-Fields,Query,Smart
- Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
- Design Page: 1
- Other Settings: COMPILE APPSERVER
- */
- &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gDruckenRuesten
- /* ************************* Included-Libraries *********************** */
- {src/adm2/containr.i}
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* *********** Runtime Attributes and AppBuilder Settings *********** */
- &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
- /* SETTINGS FOR DIALOG-BOX gDruckenRuesten
- FRAME-NAME */
- ASSIGN
- FRAME gDruckenRuesten:SCROLLABLE = FALSE
- FRAME gDruckenRuesten:HIDDEN = TRUE.
- /* SETTINGS FOR FILL-IN F_Aufnr IN FRAME gDruckenRuesten
- 6 */
- /* SETTINGS FOR FILL-IN F_Dokument IN FRAME gDruckenRuesten
- 6 */
- ASSIGN
- F_Dokument:READ-ONLY IN FRAME gDruckenRuesten = TRUE.
- /* SETTINGS FOR FILL-IN F_Drucker IN FRAME gDruckenRuesten
- 6 */
- ASSIGN
- F_Drucker:READ-ONLY IN FRAME gDruckenRuesten = TRUE.
- /* SETTINGS FOR FILL-IN F_Knr IN FRAME gDruckenRuesten
- 6 */
- /* SETTINGS FOR FILL-IN F_Kunde IN FRAME gDruckenRuesten
- 6 */
- ASSIGN
- F_Kunde:READ-ONLY IN FRAME gDruckenRuesten = TRUE.
- /* SETTINGS FOR FILL-IN F_Schrift IN FRAME gDruckenRuesten
- 6 */
- ASSIGN
- F_Schrift:READ-ONLY IN FRAME gDruckenRuesten = TRUE.
- /* _RUN-TIME-ATTRIBUTES-END */
- &ANALYZE-RESUME
- /* Setting information for Queries and Browse Widgets fields */
- &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gDruckenRuesten
- /* Query rebuild information for DIALOG-BOX gDruckenRuesten
- _Options = "SHARE-LOCK"
- _Query is NOT OPENED
- */ /* DIALOG-BOX gDruckenRuesten */
- &ANALYZE-RESUME
-
- /* ************************ Control Triggers ************************ */
- &Scoped-define SELF-NAME gDruckenRuesten
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gDruckenRuesten gDruckenRuesten
- ON END-ERROR OF FRAME gDruckenRuesten /* Drucken bei Rüstverwaltung */
- DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gDruckenRuesten gDruckenRuesten
- ON WINDOW-CLOSE OF FRAME gDruckenRuesten /* Drucken bei Rüstverwaltung */
- DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_Cancel
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Cancel gDruckenRuesten
- ON CHOOSE OF Btn_Cancel IN FRAME gDruckenRuesten /* abbrechen */
- DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_OK
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK gDruckenRuesten
- ON CHOOSE OF Btn_OK IN FRAME gDruckenRuesten /* OK */
- DO:
- btnOK = TRUE.
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &UNDEFINE SELF-NAME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gDruckenRuesten
- /* *************************** Main Block *************************** */
- { incl/dlgmainblock.i }
-
- IF VALID-HANDLE(ACTIVE-WINDOW) AND FRAME {&FRAME-NAME}:PARENT EQ ?
- THEN FRAME {&FRAME-NAME}:PARENT = ACTIVE-WINDOW.
-
- RUN createObjects.
-
- SESSION:IMMEDIATE-DISPLAY = TRUE.
- /* Now enable the interface and wait for the exit condition. */
- /* (NOTE: handle ERROR and END-KEY so cleanup code will always fire. */
- MAIN-BLOCK:
- DO ON ERROR UNDO MAIN-BLOCK, LEAVE MAIN-BLOCK
- ON END-KEY UNDO MAIN-BLOCK, LEAVE MAIN-BLOCK:
- SESSION:IMMEDIATE-DISPLAY = TRUE.
- RUN initializeObject.
-
- END.
-
- RUN destroyObject.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* ********************** Internal Procedures *********************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gDruckenRuesten _ADM-CREATE-OBJECTS
- PROCEDURE adm-create-objects :
- /*------------------------------------------------------------------------------
- Purpose: Create handles for all SmartObjects used in this procedure.
- After SmartObjects are initialized, then SmartLinks are added.
- Parameters: <none>
- ------------------------------------------------------------------------------*/
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AUFTRAGSSCHEIN gDruckenRuesten
- PROCEDURE AUFTRAGSSCHEIN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE cDokArt AS CHARACTER NO-UNDO.
- DEFINE VARIABLE hbAufko AS HANDLE NO-UNDO.
- DEFINE VARIABLE htTabTexte AS HANDLE NO-UNDO.
- DEFINE VARIABLE nFakBetr AS DECIMAL NO-UNDO.
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE i1 AS INTEGER NO-UNDO.
- DEFINE VARIABLE i2 AS INTEGER NO-UNDO.
- cDokArt = 'AUFTRAGSSCHEIN'.
- iSeite = 0.
- iZeile = 0.
- iPlatz = 0.
- cZeile = ''.
- lOpen = FALSE.
- dDatum = bAufko.Lief_Datum.
- hbAufko = BUFFER bAufko:HANDLE.
- htTabTexte = TEMP-TABLE tTabTexte:DEFAULT-BUFFER-HANDLE.
- RUN CREATE_TABTEXTE ( INPUT hbAufko, INPUT-OUTPUT htTabTexte ) NO-ERROR.
- EMPTY TEMP-TABLE tSchrift.
- DO WHILE TRUE:
- FIND FIRST RuestDaten NO-LOCK
- WHERE RuestDaten.Firma = bAufko.Firma
- AND RuestDaten.RuestArt = iRuestArt
- /* AND RuestDaten.Platz = iPlatz*/
- AND Ruestdaten.AS_Doku = TRUE NO-ERROR.
- IF AVAILABLE RuestDaten THEN
- DO:
- iPlatz = RuestDaten.Platz.
- RUN GET_DRUCKERDATEN ( iPlatz, RuestDaten.AS_Drucker, RuestDaten.AS_Schrift ).
- IF RETURN-VALUE <> '' THEN RETURN RETURN-VALUE.
-
- FIND FIRST tSchrift WHERE tSchrift.iPlatz = iPlatz.
- ASSIGN
- tSchrift.Schzztot = RuestDaten.AS_TotZZ
- tSchrift.Schzzbeg = RuestDaten.AS_KopfZZ
- tSchrift.Schzzend = RuestDaten.AS_FussZZ
- tSchrift.Schacht = RuestDaten.AS_Schacht
- tSchrift.Anzahl = RuestDaten.AS_Anzahl.
- LEAVE.
- END.
- LEAVE.
- END.
- FIND bAdresse NO-LOCK USE-INDEX Adresse-k1
- WHERE bAdresse.Firma = AdFirma
- AND bAdresse.Knr = bAufko.Knr NO-ERROR.
-
- DO WITH FRAME {&FRAME-NAME}:
- F_Aufnr :SCREEN-VALUE = STRING(bAufko.Aufnr).
- F_Knr :SCREEN-VALUE = STRING(bAufko.Knr).
- F_Kunde :SCREEN-VALUE = bAdresse.Anzeig_Br.
- F_Dokument:SCREEN-VALUE = cDokArt.
- F_Drucker :SCREEN-VALUE = tSchrift.Schname.
- F_Schrift :SCREEN-VALUE = tSchrift.Schbild.
- ASSIGN {&List-6}.
- DISPLAY {&List-6}.
- END.
- cDateiName = SESSION:TEMP-DIR
- + 'AuftragsSchein'
- + STRING(TIME,'999999')
- + STRING(RANDOM(1, 999999),'999999')
- + '.txt'.
- OUTPUT STREAM out_Stream TO VALUE(cDateiName) NO-MAP NO-CONVERT.
- lOpen = TRUE.
-
- RUN LIBILD ( cDokArt ).
- RUN AUFTRAGSSCHEIN_KOPF.
-
- i2 = 0.
- FOR EACH btAufze NO-LOCK
- WHERE btAufze.Platz = 0:
- FIND FIRST zAufze.
- BUFFER-COPY btAufze TO zAufze.
- RUN AUFTRAGSSCHEIN_ARTIKELZEILE.
- i2 = i2 + 1.
- END.
- IF i2 > 0 THEN
- DO:
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
- FOR EACH tAufze NO-LOCK
- BY tAufze.Platz
- BY tAufze.Lagort
- BY tAufze.Pos :
-
- IF (tSchrift.Schzztot - iZeile - 2) < tSchrift.Schzzend THEN
- DO:
- RUN AUFTRAGSSCHEIN_KOPF.
- END.
-
- FIND FIRST zAufze.
- BUFFER-COPY tAufze TO zAufze.
- RUN AUFTRAGSSCHEIN_ARTIKELZEILE.
- nFakBetr = nFakBetr + tAufze.Net_Betr.
- END.
- PUT STREAM Out_Stream CONTROL bDrucker.Dru15cpi.
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- SUBSTRING(cZeile,040) = SUBSTRING(FormText[15],21,20).
- SUBSTRING(cZeile,100) = STRING(nFakBetr,"->>>,>>9.99").
- DYNAMIC-FUNCTION('putStream':U, 'F', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- PUT STREAM Out_Stream CONTROL bDrucker.Dru12cpi.
-
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- IF BAufko.Auf_Text <> '' THEN
- DO:
- cString = BAufko.Auf_Text.
- i1 = NUM-ENTRIES(cString, CHR(10)).
- IF i1 > 0 THEN iZusZZ = iZusZZ + i1 + 1.
- END.
-
- IF iZusZZ > 0 THEN iZusZZ = iZusZZ + 2.
- IF (tSchrift.Schzztot - iZeile - iZusZZ) < tSchrift.Schzzend THEN
- DO:
- RUN AUFTRAGSSCHEIN_KOPF.
- END.
-
-
- /* Auftragstext ------------------------------------------------------ */
- cString = BAufko.Auf_Text.
- IF cString <> '' THEN
- DO:
- i2 = 0.
- DO i1 = 1 TO NUM-ENTRIES(cString, CHR(10)):
- SUBSTRING(cZeile,005) = ENTRY(i1, cString, CHR(10)).
- DYNAMIC-FUNCTION('putStream':U, 'F', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- i2 = i2 + 1.
- END.
- END.
- IF i2 > 0 THEN
- DO:
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
-
- FOR EACH btAufze NO-LOCK
- WHERE btAufze.Platz = 99:
- FIND FIRST zAufze.
- BUFFER-COPY btAufze TO zAufze.
- RUN AUFTRAGSSCHEIN_ARTIKELZEILE.
- i2 = i2 + 1.
- END.
-
- IF lOpen = TRUE THEN
- DO:
- OUTPUT STREAM out_Stream CLOSE.
- lOpen = FALSE.
- RUN DRUCKAUSGABE NO-ERROR.
- IF ERROR-STATUS:ERROR THEN RETURN 'ERROR'.
- END.
- RETURN ''.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AUFTRAGSSCHEIN_ARTIKELZEILE gDruckenRuesten
- PROCEDURE AUFTRAGSSCHEIN_ARTIKELZEILE :
- /*--------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE dRabWert AS DECIMAL NO-UNDO.
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- FIND FIRST zAufze NO-LOCK.
-
- PUT STREAM Out_Stream CONTROL bDrucker.Dru15cpi.
- DO WHILE zAufze.Artnr = 0:
- SUBSTRING(cZeile,040) = STRING(zAufze.Bez1,"x(30)").
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile ) NO-ERROR.
- IF zAufze.Bez2 <> '' THEN
- DO:
- SUBSTRING(cZeile,040) = STRING(zAufze.Bez2,"x(30)").
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile ) NO-ERROR.
- END.
- RETURN.
- END.
-
- FIND Artst NO-LOCK
- WHERE Artst.Firma = zAufze.Firma
- AND Artst.Artnr = zAufze.Artnr
- AND Artst.Inhalt = zAufze.Inhalt
- AND Artst.Jahr = zAufze.Jahr.
-
- FIND VGebinde NO-LOCK
- WHERE VGebinde.Firma = bAufko.Firma
- AND VGebinde.Geb_Cd = zAufze.VGeb_Cd NO-ERROR.
- FIND KGebinde NO-LOCK
- WHERE KGebinde.Firma = bAufko.Firma
- AND KGebinde.Geb_Cd = zAufze.KGeb_Cd NO-ERROR.
-
- SUBSTRING(cZeile,003) = STRING(KGebinde.KBez,"x(10)").
- IF zAufze.VGeb_Be <> 0 THEN
- DO:
- SUBSTRING(cZeile,015) = STRING(zAufze.VGeb_Be,'->>>')
- + 'x '
- + STRING(VGebinde.KBez,'x(10)').
- END.
- SUBSTRING(cZeile,031) = STRING(zAufze.MGeli ,"->>,>>9").
- SUBSTRING(cZeile,040) = STRING(zAufze.Bez1 ,"x(30)").
- IF zAufze.Jahr > 9 THEN SUBSTRING(cZeile,069) = STRING(zAufze.Jahr,"9999").
- IF zAufze.Alk_Gehalt <> 0 THEN SUBSTRING(cZeile,074) = STRING(zAufze.Alk_Gehalt,"zz9.9%").
- SUBSTRING(cZeile,082) = STRING(zAufze.Artnr ,"999999").
- SUBSTRING(cZeile,090) = STRING(zAufze.Preis ,">>,>>9.999").
- SUBSTRING(cZeile,100) = STRING(zAufze.Bru_Betr ,"->>>,>>9.99").
- SUBSTRING(cZeile,112) = STRING(zAufze.WuCd ,"z9").
- cZeile = SUBSTRING(cZeile,001,014)
- + bDrucker.Drufettb
- + SUBSTRING(cZeile,015,016)
- + bDrucker.Drufette
- + SUBSTRING(cZeile,031).
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile ) NO-ERROR.
- IF zAufze.Bez2 <> '' THEN
- DO:
- SUBSTRING(cZeile,040) = STRING(zAufze.Bez2,"x(30)").
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile ) NO-ERROR.
- END.
- IF zAufze.Aktion THEN
- DO:
- SUBSTRING(cZeile,040) = STRING(zAufze.Aktion_Text,"x(30)").
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile ) NO-ERROR.
- END.
- DO WHILE TRUE:
- IF zAufze.Rab_Betr = 0 THEN LEAVE.
-
- dRabWert = ABSOLUTE(zAufze.Rab_Wert).
- IF zAufze.Rab_Art = 3 THEN cString = cEpzText.
- ELSE
- DO:
- IF zAufze.Rab_Betr < 0 THEN cString = cZusText.
- IF zAufze.Rab_Betr > 0 THEN cString = cRabText.
- END.
- SUBSTRING(cZeile,040) = TRIM(cString).
-
- IF zAufze.Rab_Art = 1
- THEN SUBSTRING(cZeile,095) = STRING(dRabWert,"->9.9%").
-
- IF zAufze.Rab_Art = 2 OR
- zAufze.Rab_Art = 3
- THEN SUBSTRING(cZeile,095) = STRING(dRabWert,"-9.99").
-
- SUBSTRING(cZeile,100) = STRING(- zAufze.Rab_Betr ,"->>>,>>9.99").
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile ) NO-ERROR.
- LEAVE.
- END.
-
- DO WHILE TRUE:
- IF zAufze.Zus_Betr = 0 THEN LEAVE.
-
- dRabWert = ABSOLUTE(zAufze.Zus_Wert).
- IF zAufze.Zus_Art = 3 THEN cString = cEpzText.
- ELSE
- DO:
- IF zAufze.Zus_Betr < 0 THEN cString = cRabText.
- IF zAufze.Zus_Betr > 0 THEN cString = cZusText.
- END.
- SUBSTRING(cZeile,040) = TRIM(cString).
-
- IF zAufze.Zus_Art = 1
- THEN SUBSTRING(cZeile,095) = STRING(dRabWert,"->9.9%").
-
- IF zAufze.Zus_Art = 2 OR
- zAufze.Zus_Art = 3
- THEN SUBSTRING(cZeile,095) = STRING(dRabWert,"-9.99").
-
- SUBSTRING(cZeile,100) = STRING(+ zAufze.Zus_Betr ,"->>>,>>9.99").
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile ) NO-ERROR.
- LEAVE.
- END.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AUFTRAGSSCHEIN_KOPF gDruckenRuesten
- PROCEDURE AUFTRAGSSCHEIN_KOPF :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE kk AS INTEGER NO-UNDO.
- DEFINE VARIABLE ix AS INTEGER NO-UNDO.
- DEFINE VARIABLE i1 AS INTEGER NO-UNDO.
- DEFINE VARIABLE i2 AS INTEGER NO-UNDO.
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cAufnr AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cCodeArt AS CHARACTER INIT 'P0210100' NO-UNDO.
- DEFINE VARIABLE cBarcode AS CHARACTER NO-UNDO.
- RUN NEUE_SEITE.
- IF iSeite = 1 THEN
- DO:
- FIND LDebst NO-LOCK USE-INDEX Debst-k1
- WHERE LDebst.Firma = bAufko.Firma
- AND LDebst.Knr = bAufko.Knr NO-ERROR.
- FIND FDebst NO-LOCK USE-INDEX Debst-k1
- WHERE FDebst.Firma = bAufko.Firma
- AND FDebst.Knr = bAufko.Fak_Knr NO-ERROR.
- END.
- ASSIGN
- cKopf = ''
- cZeile = ''
- kk = 0.
-
- IF bAufko.Adresse[05] <> '' THEN
- DO:
- kk = kk + 2.
- DO ix = 1 TO 5:
- IF ix = 5 THEN SUBSTRING(cZeile,003) = bDrucker.Drufettb + bAufko.Adresse[ix] + bDrucker.Drufette.
- ELSE SUBSTRING(cZeile,003) = bAufko.Adresse[ix].
- kk = kk + 1.
- cKopf[kk] = cZeile.
- cZeile = ''.
- END.
- END.
- ELSE
- DO:
- DO ix = 5 TO 11:
- IF ix = 11 THEN SUBSTRING(cZeile,003) = bDrucker.Drufettb + bAdresse.Anschrift[ix] + bDrucker.Drufette.
- ELSE SUBSTRING(cZeile,003) = bAdresse.Anschrift[ix].
- kk = kk + 1.
- cKopf[kk] = cZeile.
- cZeile = ''.
- END.
- END.
- IF iSeite = 1 THEN
- DO:
- cAufnr = STRING(bAufko.Aufnr,'9999999').
- RUN BAR-CODE-39 ( INPUT cAufnr ,
- INPUT cCodeArt,
- OUTPUT cBarCode ).
- kk = kk + 2.
- SUBSTRING(cKopf[kk],003) = CHR(27) + "&f0S" /* Cursorposition speichern */
- + CHR(27) + "*p" /* Cursor neu Positionieren anhand der Zeile */
- + STRING(((kk + iZeile) * 50),"9999") + "Y"
- + cBarcode
- + CHR(027) + "&f1S". /* Cusrorposition zurückholen */
- END.
-
- kk = 12.
- IF bAufko.Auf_Tot >= 0
- THEN SUBSTRING(cKopf[kk],067) = TRIM(SUBSTRING(FormText[02],01,20)).
- ELSE SUBSTRING(cKopf[kk],067) = TRIM(SUBSTRING(FormText[02],21,20)).
- cKopf[kk] = cKopf[kk] + STRING(bAufko.Aufnr,"zz999999").
- cKopf[kk] = SUBSTRING(cKopf[kk],001,066)
- + bDrucker.Drufettb
- + SUBSTRING(cKopf[kk],067)
- + bDrucker.Drufette.
- kk = kk + 2.
- IF iSeite = 1 THEN
- DO:
- FIND FIRST tTabtexte NO-LOCK
- WHERE tTabTexte.cRecArt = 'ABLAD' NO-ERROR.
- IF AVAILABLE tTabTexte THEN
- DO:
- SUBSTRING(cKopf[kk],003) = TRIM(SUBSTRING(FormText[19],01,20))
- + TRIM(bDrucker.Drufettb)
- + ' '
- + tTabTexte.cFeld3
- + TRIM(bDrucker.Drufette).
- cZeile = ''.
- kk = kk + 1.
- END.
-
- FIND FIRST tTabtexte NO-LOCK
- WHERE tTabTexte.cRecArt = 'WISO' NO-ERROR.
- IF AVAILABLE tTabTexte THEN
- DO:
- SUBSTRING(cKopf[kk],003) = TRIM(SUBSTRING(FormText[19],21,20))
- + TRIM(bDrucker.Drufettb)
- + ' '
- + tTabTexte.cFeld3
- + TRIM(bDrucker.Drufette).
- cZeile = ''.
- kk = kk + 1.
- END.
-
- SUBSTRING(cKopf[kk],003) = TRIM(SUBSTRING(FormText[07],41,20))
- + " "
- + STRING(bAufko.Auf_Datum,"99.99.9999").
- SUBSTRING(cKopf[kk],034) = TRIM(SUBSTRING(FormText[08],01,20))
- + STRING(bAufko.Knr,"zzzzzzz999999").
- SUBSTRING(cKopf[kk],067) = TRIM(SUBSTRING(FormText[07],01,20))
- + " "
- + STRING(dDatum,"99.99.9999").
- cZeile = ''.
- kk = kk + 1.
-
- SUBSTRING(cKopf[kk],003) = TRIM(SUBSTRING(FormText[09],21,20))
- + " "
- + STRING(bAufko.Lief_Datum,"99.99.9999").
- SUBSTRING(cKopf[kk],034) = TRIM(SUBSTRING(FormText[08],21,20))
- + STRING(bAufko.Gewicht,"z,zzz,zz9.999-").
- SUBSTRING(cKopf[kk],067) = TRIM(SUBSTRING(FormText[20],01,20))
- + STRING(iSeite,'z9').
- cKopf[kk] = SUBSTRING(cKopf[kk],01,33)
- + bDrucker.Drufettb
- + SUBSTRING(cKopf[kk],34,33)
- + bDrucker.Drufette
- + SUBSTRING(cKopf[kk],67).
- cZeile = ''.
- kk = kk + 1.
- SUBSTRING(cKopf[kk],003) = TRIM(SUBSTRING(FormText[07],21,20))
- + " "
- + STRING(bAufko.U_Ref,'x(20)').
- SUBSTRING(cKopf[kk],067) = TRIM(SUBSTRING(FormText[08],41,20))
- + " "
- + bAdresse.Tel-1.
- cZeile = ''.
- END.
- ELSE
- DO:
- kk = kk + 2.
- SUBSTRING(cKopf[kk],067) = TRIM(SUBSTRING(FormText[20],01,20))
- + STRING(iSeite,'z9').
- kk = kk + 1.
- END.
-
- kk = kk + 2.
- cZeile = 'Inhalt Gebinde Menge Bezeichnung JG Alk% ArtNr Preis Betrag C'.
- SUBSTRING(cKopf[kk],003) = bDrucker.Druunterb
- + cZeile
- + bDrucker.Druuntere.
- SUBSTRING(cKopf[kk - 1],003) = bDrucker.Druunterb
- + FILL(' ', LENGTH(cZeile))
- + bDrucker.Druuntere.
- cKopf[kk - 1] = bDrucker.Dru15cpi + bDrucker.Drufettb
- + cKopf[kk - 1]
- + bDrucker.Drufettb + bDrucker.Dru12cpi.
- cKopf[kk] = bDrucker.Dru15cpi + bDrucker.Drufettb
- + cKopf[kk]
- + bDrucker.Drufettb + bDrucker.Dru12cpi.
- kk = kk + 1.
- cZeile = ''.
-
- DO ix = 1 TO kk:
- cZeile = cKopf[ix].
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile ) NO-ERROR.
- END.
- IF iSeite = 1 AND
- bAufko.Abh_Text <> '' THEN
- DO:
- cString = bAufko.Abh_Text.
- i2 = 0.
- DO i1 = 1 TO NUM-ENTRIES(cString, CHR(10)):
- SUBSTRING(cZeile,003) = ENTRY(i1, cString, CHR(10)).
- DYNAMIC-FUNCTION('putStream':U, 'F', 1, INPUT-OUTPUT cZeile ) NO-ERROR.
- i2 = i2 + 1.
- END.
- IF i2 > 0 THEN
- DO:
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
- END.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE BAR-CODE-39 gDruckenRuesten
- PROCEDURE BAR-CODE-39 :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER ipWert AS CHARACTER NO-UNDO.
- DEFINE INPUT PARAMETER ipCodeArt AS CHARACTER NO-UNDO.
- DEFINE OUTPUT PARAMETER opBarCode AS CHARACTER NO-UNDO.
- DEFINE VARIABLE clr AS LOG INIT TRUE NO-UNDO.
- DEFINE VARIABLE wk AS CHARACTER NO-UNDO.
- DEFINE VARIABLE drw AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cDir AS CHARACTER NO-UNDO.
- DEFINE VARIABLE k AS CHARACTER NO-UNDO.
- DEFINE VARIABLE att AS CHARACTER NO-UNDO.
- DEFINE VARIABLE kod AS CHARACTER NO-UNDO
- INIT "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ.Ø *$/+%".
- att =
- "100100001001100001101100000000110001100110000001110000000100101100100100"
- + "001100100000110100100001001001001001101001000000011001100011000001011000"
- + "000001101100001100001001100000011100100000011001000011101000010000010011"
- + "100010010001010010000000111100000110001000110000010110110000001011000001"
- + "111000000010010001110010000011010000010000101110000100011000100010010100"
- + "010101000010100010010001010000101010".
- DEFINE VARIABLE i AS INTEGER NO-UNDO.
- DEFINE VARIABLE j AS INTEGER NO-UNDO.
- DEFINE VARIABLE l AS INTEGER NO-UNDO.
- DEFINE VARIABLE brd AS INTEGER NO-UNDO.
- DEFINE VARIABLE jst AS INTEGER NO-UNDO.
- ASSIGN
- i = (IF SUBSTRING (ipCodeArt, 1, 1) = "P" THEN 1 ELSE 2)
- opBarCode = "~E&f0S~E*c100G"
- drw = SUBSTRING("ab" , i, 1)
- + SUBSTRING(ipCodeArt, 6)
- + SUBSTRING("ba" , i, 1)
- + "P"
- cDir = SUBSTRING("XY", i, 1)
- k = "*" + ipWert + "*" .
- DO i = 1 TO LENGTH(k):
- ASSIGN
- j = INDEX(kod, SUBSTRING (k, i, 1)) * 9 - 8
- wk = SUBSTRING (att, j, 9) + "0" .
- DO l = 1 TO 10:
- ASSIGN
- brd = IF SUBSTRING(wk,l,1) = "0" THEN 2 ELSE 4
- opBarCode = opBarCode
- + (IF clr THEN "~E*c" + SUBSTRING (ipCodeArt, brd, 2) + drw
- ELSE "~E*p+" + STRING(INTEGER(SUBSTRING(ipCodeArt, brd, 2))
- + jst) + cDir)
- jst = INTEGER (SUBSTRING (ipCodeArt, brd, 2))
- clr = NOT clr.
- END. /* of looping 1 to 10 */
- END. /* of going through string 'k' */
- ASSIGN
- opBarCode = opBarCode + "~E&f1S"
- wk = "".
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gDruckenRuesten _DEFAULT-DISABLE
- PROCEDURE disable_UI :
- /*------------------------------------------------------------------------------
- Purpose: DISABLE the User Interface
- Parameters: <none>
- Notes: Here we clean-up the user-interface by deleting
- dynamic widgets we have created and/or hide
- frames. This procedure is usually called when
- we are ready to "clean-up" after running.
- ------------------------------------------------------------------------------*/
- /* Hide all frames. */
- HIDE FRAME gDruckenRuesten.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DRUCKAUSGABE gDruckenRuesten
- PROCEDURE DRUCKAUSGABE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE iAnzKopien AS INTEGER NO-UNDO.
- DEFINE VARIABLE sRecid AS RECID NO-UNDO.
- DEFINE VARIABLE iSize AS INTEGER NO-UNDO.
- DEFINE VARIABLE iKopie AS INTEGER NO-UNDO.
- DEFINE VARIABLE iSchacht AS INTEGER NO-UNDO.
- DEFINE VARIABLE cString AS CHARACTER INIT '' NO-UNDO.
- DYNAMIC-FUNCTION ('writeLogFile':U, 'Druckausgabe start') NO-ERROR.
- FIND FIRST tSchrift NO-LOCK
- WHERE tSchrift.iPlatz = iPlatz NO-ERROR.
- IF NOT AVAILABLE tSchrift THEN FIND FIRST tSchrift.
- sRecid = tSchrift.iRecid.
- iAnzKopien = tSchrift.Anzahl.
- iSchacht = tSchrift.Schacht.
-
- DYNAMIC-FUNCTION ('writeLogFile':U, SUBSTITUTE('Druckausgabe mit Platz &1, Drucker &2, Schrift &3', tSchrift.iPlatz, tSchrift.Schname, tSchrift.Schbild) ) NO-ERROR.
-
- IF iAnzKopien = 0 THEN iAnzKopien = 1.
- DO iKopie = 1 TO iAnzKopien:
- iSize = DYNAMIC-FUNCTION('putDateiToPrinter':U, cDateiName ,
- sRecid ,
- tSchrift.Schacht ,
- 240 , /* Blockgrösse */
- 'ibm850' ,
- iAnzKopien ). /* Anzahl Kopien */
- IF iSize = 0 THEN
- DO:
- cString = 'Druckvorgang gescheitert !!! '.
- DYNAMIC-FUNCTION('writeLogFile':U, cString) NO-ERROR.
-
- IF lBatch THEN RETURN ERROR.
-
- MESSAGE cString VIEW-AS ALERT-BOX ERROR.
- RETURN ERROR.
- END.
-
- IF iKopie < iAnzKopien THEN
- DO:
- ETIME(TRUE).
- DO WHILE ETIME(FALSE) < 200:
- END.
- END.
- END.
- OS-DELETE VALUE(cDateiName) NO-ERROR.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gDruckenRuesten
- PROCEDURE enableObject :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- { incl/dlgenableobject.i }
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gDruckenRuesten _DEFAULT-ENABLE
- PROCEDURE enable_UI :
- /*------------------------------------------------------------------------------
- Purpose: ENABLE the User Interface
- Parameters: <none>
- Notes: Here we display/view/enable the widgets in the
- user-interface. In addition, OPEN all queries
- associated with each FRAME and BROWSE.
- These statements here are based on the "Other
- Settings" section of the widget Property Sheets.
- ------------------------------------------------------------------------------*/
- DISPLAY F_Aufnr F_Knr F_Kunde F_Dokument F_Drucker F_Schrift
- WITH FRAME gDruckenRuesten.
- ENABLE RECT-2 F_Aufnr F_Knr F_Kunde F_Dokument F_Drucker F_Schrift Btn_OK
- Btn_Cancel
- WITH FRAME gDruckenRuesten.
- VIEW FRAME gDruckenRuesten.
- {&OPEN-BROWSERS-IN-QUERY-gDruckenRuesten}
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gDruckenRuesten
- PROCEDURE ENDE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- IF btnOK THEN
- DO:
- END.
- { incl/dlgende.i }
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FUELLEN_tAufze gDruckenRuesten
- PROCEDURE FUELLEN_tAufze :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE minPos AS INTEGER NO-UNDO.
- DEFINE VARIABLE maxPos AS INTEGER NO-UNDO.
- DEFINE VARIABLE jPlatz AS INTEGER NO-UNDO.
- DEFINE VARIABLE cLagOrt AS CHARACTER NO-UNDO.
- DEFINE VARIABLE lArtikel AS LOG NO-UNDO.
- EMPTY TEMP-TABLE btAufze.
- EMPTY TEMP-TABLE tAufze.
- EMPTY TEMP-TABLE tRueck.
-
- ASSIGN
- minPos = 0
- maxPos = 9999.
- /* Kommentar zu Beginn eines Auftrages */
- lArtikel = FALSE.
- FOR EACH Aufze NO-LOCK USE-INDEX Aufze-k1
- WHERE Aufze.Firma = Firma
- AND Aufze.Aufnr = bAufko.Aufnr
- AND Aufze.Pos > minPos:
-
- IF Aufze.Artnr > 0 THEN
- DO:
- lArtikel = TRUE.
- LEAVE.
- END.
-
- minPos = Aufze.Pos.
- CREATE btAufze.
- BUFFER-COPY Aufze TO btAufze
- ASSIGN
- btAufze.Platz = 0
- btAufze.LagOrt = ''.
- END.
-
- /* Kommentar am Ende eines Auftrages */
- /* ebenfalls an den Anfang des Auftrages schieben */
- IF lArtikel THEN
- DO:
- FOR EACH Aufze NO-LOCK
- WHERE Aufze.Firma = Firma
- AND Aufze.Aufnr = bAufko.Aufnr
-
- BY Aufze.Pos DESCENDING:
-
- IF Aufze.Artnr > 0 THEN LEAVE.
- maxPos = Aufze.Pos.
- CREATE btAufze.
- BUFFER-COPY Aufze TO btAufze
- ASSIGN
- btAufze.Platz = 0
- btAufze.LagOrt = ''.
- END.
- END.
-
- /* Artikelzeilen nach Ruestplatz und Ort */
- cLagOrt = ''.
- FOR EACH Aufze NO-LOCK
- WHERE Aufze.Firma = Firma
- AND Aufze.Aufnr = bAufko.Aufnr
- AND Aufze.Pos > minPos
- AND Aufze.Pos < MaxPos
-
- BY Aufze.Pos DESCENDING:
-
- IF Aufze.Artnr > 0 THEN
- DO:
- cLagOrt = DYNAMIC-FUNCTION ('getLagerplatz':U, Aufze.Artnr, Aufze.Inhalt, Aufze.Jahr) NO-ERROR.
- cLagOrt = ENTRY(1, cLagOrt, ';').
- cLagOrt = ENTRY(1, cLagOrt, ',').
- IF cLagOrt = '' THEN cLagOrt = '99'.
- END.
-
- FIND LAST RuestPlatz NO-LOCK USE-INDEX RuestPlatz-k2
- WHERE RuestPlatz.Firma = Aufze.Firma
- AND RuestPlatz.RuestArt = iRuestArt
- AND RuestPlatz.abLagOrt <= cLagOrt NO-ERROR.
- IF NOT AVAILABLE RuestPlatz THEN
- DO:
- FIND LAST RuestPlatz NO-LOCK USE-INDEX RuestPlatz-k1
- WHERE RuestPlatz.Firma = Aufze.Firma
- AND RuestPlatz.RuestArt = iRuestArt.
- END.
- IF AVAILABLE RuestPlatz THEN jPlatz = RuestPlatz.Platz.
- ELSE jPlatz = 1.
-
- CREATE tAufze.
- BUFFER-COPY Aufze TO tAufze
- ASSIGN
- tAufze.Platz = jPlatz
- tAufze.LagOrt = cLagort.
- IF tAufze.MRuek > 0 THEN
- DO:
- CREATE tRueck.
- BUFFER-COPY tAufze TO tRueck.
- END.
- END.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE GET_DRUCKERDATEN gDruckenRuesten
- PROCEDURE GET_DRUCKERDATEN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER ipPlatz AS INTEGER NO-UNDO.
- DEFINE INPUT PARAMETER ipDrucker AS CHARACTER NO-UNDO.
- DEFINE INPUT PARAMETER ipSchrift AS CHARACTER NO-UNDO.
- DEFINE VARIABLE lJa AS LOG INIT TRUE NO-UNDO.
- DEFINE VARIABLE lError AS LOG INIT TRUE NO-UNDO.
- DYNAMIC-FUNCTION ('writeLogFile':U, SUBSTITUTE ('GET_DRUCKERDATEN Platz &1, Drucker &2, Schrift &3', ipPlatz, ipDrucker, ipSchrift)).
- DO WHILE TRUE:
- FIND FIRST tDrucker NO-LOCK
- WHERE tDrucker.Drucker = ipDrucker NO-ERROR.
- IF AVAILABLE tDrucker THEN LEAVE.
-
- IF lBatch THEN
- DO:
- lJa = FALSE.
- LEAVE.
- END.
-
- MESSAGE 'Der gewünschte Drucker "' ipDrucker '" ist nicht verfügbar ' SKIP
- 'Bitte wählen Sie einen Drucker aus <Ja> oder brechen Sie den Druck ab <Nein>'
- VIEW-AS ALERT-BOX INFORMATION BUTTONS YES-NO
- UPDATE lJa.
- IF NOT lJa THEN LEAVE.
-
- SYSTEM-DIALOG PRINTER-SETUP
- PORTRAIT
- UPDATE lJa.
- LEAVE.
- END.
- IF NOT lJa THEN RETURN 'Kein Drucker'.
-
- RUN CHECKPRINTER ( ipDrucker, OUTPUT lError ) NO-ERROR.
- IF lError THEN RETURN SUBSTITUTE('Drucker &1 konnte nicht angewählt werden', ipDrucker).
-
- DO WHILE TRUE:
- FIND FIRST Schrift NO-LOCK
- WHERE Schrift.SchName = ipDrucker
- AND Schrift.SchBild = ipSchrift NO-ERROR.
- IF AVAILABLE Schrift THEN LEAVE.
- FIND FIRST Schrift NO-LOCK
- WHERE Schrift.SchName = SESSION:PRINTER-NAME
- AND Schrift.SchBild = ipSchrift NO-ERROR.
- IF AVAILABLE Schrift THEN LEAVE.
- IF NOT lBatch THEN
- DO:
- MESSAGE 'Es konnte keine Schrift für den gewählten Drucker ermittelt werden'
- VIEW-AS ALERT-BOX ERROR.
- END.
- RETURN 'KEINE SCHRIFT'.
- END.
- CREATE tSchrift.
- BUFFER-COPY Schrift TO tSchrift
- ASSIGN
- tSchrift.iPlatz = ipPlatz
- tSchrift.SchName = SESSION:PRINTER-NAME
- tSchrift.iRecid = RECID(Schrift).
- FIND bDrucker NO-LOCK
- WHERE bDrucker.Drucker = tSchrift.SchDru.
- RETURN ''.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject gDruckenRuesten
- PROCEDURE initializeObject :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE cPrinters AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ix AS INTEGER NO-UNDO.
- DEFINE VARIABLE kRecid AS RECID NO-UNDO.
- DEFINE VARIABLE tRecid AS RECID NO-UNDO.
- DEFINE VARIABLE cRetValue AS CHARACTER NO-UNDO.
- DEFINE VARIABLE iCodeI AS INTEGER NO-UNDO.
- DEFINE VARIABLE cMessage AS CHARACTER NO-UNDO.
-
- DEFINE BUFFER dTabel FOR Tabel.
-
- EMPTY TEMP-TABLE zAufze .
- CREATE zAufze.
- EMPTY TEMP-TABLE tDrucker.
- EMPTY TEMP-TABLE tSchrift.
- cPrinters = SESSION:GET-PRINTERS().
- DO ix = 1 TO NUM-ENTRIES(cPrinters, ','):
- CREATE tDrucker.
- ASSIGN
- tDrucker.Drucker = ENTRY(ix, cPrinters, ',').
- END.
-
- lBatch = SESSION:BATCH.
-
- FIND bSteuer NO-LOCK
- WHERE bSteuer.Firma = Firma.
- RUN SUPER.
- cBenutzer = DYNAMIC-FUNCTION('getBenutzer':U) NO-ERROR.
- cLogName = DYNAMIC-FUNCTION('getLogName':U) NO-ERROR.
- lBatch = DYNAMIC-FUNCTION('getBatch':U) NO-ERROR.
- lWebSpeed = FALSE.
- iCodeI = -1.
-
- TABELLE:
- REPEAT TRANSACTION:
- FIND FIRST bTabel NO-LOCK
- WHERE bTabel.Firma = Firma
- AND bTabel.RecArt = 'AUFDRUCK'
- AND bTabel.CodeI > iCodeI
- AND bTabel.Bez1 = ''
- AND bTabel.Int_2 < 2 NO-ERROR.
- IF NOT AVAILABLE bTabel THEN LEAVE.
- tRecid = RECID(bTabel).
- iCodeI = bTabel.CodeI.
-
- FIND bTabel EXCLUSIVE-LOCK WHERE RECID(bTabel) = tRecid NO-WAIT NO-ERROR.
- IF LOCKED bTabel THEN
- DO:
- RELEASE bTabel.
- FIND Tabel NO-LOCK WHERE RECID(Tabel) = tRecid NO-ERROR.
- IF NOT AVAILABLE Tabel THEN NEXT.
-
- cMessage = SUBSTITUTE('Tabel LOCKED RecArt &1, CodeI &2, Aufnr &3, Int_2 &4, Drucker &5',
- Tabel.RecArt, Tabel.CodeI, Tabel.Int_1, Tabel.Int_2, cPrinters).
- DYNAMIC-FUNCTION('writeLogFile':U, cMessage) NO-ERROR.
- RELEASE Tabel.
- NEXT.
- END.
- IF NOT AVAILABLE bTabel THEN NEXT.
-
- bTabel.Bez1 = 'A'.
-
- FIND bAufko NO-LOCK
- WHERE bAufko.Firma = bTabel.Firma
- AND bAufko.Aufnr = bTabel.Int_1 NO-ERROR.
-
- IF NOT AVAILABLE bAufko THEN
- DO:
- DELETE bTabel.
- RELEASE bTabel.
- NEXT.
- END.
-
- iAufnr = bAufko.Aufnr.
- kRecid = RECID(bAufko).
- iRuestArt = bTabel.Int_3.
- cRetValue = ''.
- DO WHILE TRUE:
- CASE bTabel.Int_2:
- WHEN 1 THEN
- DO:
- lWebSpeed = TRUE.
- RUN FUELLEN_tAufze.
- FIND FIRST tAufze WHERE tAufze.Artnr > 0 NO-ERROR.
- IF NOT AVAILABLE tAufze THEN
- DO:
- DELETE bTabel.
- RELEASE bTabel.
- NEXT TABELLE.
- END.
-
- cMessage = SUBSTITUTE('Auftragsschein &1 in Batch = &3 mit &2 gestartet', iAufnr, cPrinters, lBatch).
- DYNAMIC-FUNCTION('writeLogFile':U, cMessage) NO-ERROR.
- RUN AUFTRAGSSCHEIN.
- cRetValue = RETURN-VALUE.
- cMessage = SUBSTITUTE('Auftragsschein &1 mit Return-Value &2 beendet', iAufnr, cRetValue).
- DYNAMIC-FUNCTION('writeLogFile':U, cMessage) NO-ERROR.
- IF cRetValue <> '' THEN LEAVE.
-
- cMessage = SUBSTITUTE('Rüstschein &1 in Batch = &3 mit &2 gestartet', iAufnr, cPrinters, lBatch).
- DYNAMIC-FUNCTION('writeLogFile':U, cMessage) NO-ERROR.
- RUN RUESTSCHEIN.
- cRetValue = RETURN-VALUE.
- cMessage = SUBSTITUTE('Ruestschein &1 mit Return-Value &2 beendet', iAufnr, cRetValue).
- DYNAMIC-FUNCTION('writeLogFile':U, cMessage) NO-ERROR.
-
- LEAVE.
- END.
- OTHERWISE
- DO:
- bTabel.Bez1 = ''.
- RELEASE bTabel.
- NEXT TABELLE.
- END.
- END CASE.
-
- LEAVE.
- END.
-
- IF cRetValue <> '' THEN
- DO:
- bTabel.Bez1 = 'F'.
- RELEASE bTabel.
- NEXT TABELLE.
- END.
-
- IF AVAILABLE bTabel THEN
- DO:
- FIND Aufko EXCLUSIVE-LOCK WHERE RECID(Aufko) = kRecid NO-WAIT NO-ERROR.
- IF AVAILABLE Aufko THEN Aufko.Gedruckt = TRUE.
- RELEASE Aufko.
- DELETE bTabel.
- RELEASE bTabel.
- END.
- END.
-
- REPEAT TRANSACTION:
- FOR EACH Tabel NO-LOCK
- WHERE Tabel.Firma = Firma
- AND Tabel.RecArt = 'AUFDRUCK'
- AND Tabel.Bez1 = 'F'
- AND Tabel.Int_2 < 2 :
- FIND bTabel EXCLUSIVE-LOCK
- WHERE RECID(bTabel) = RECID(Tabel) NO-WAIT NO-ERROR.
- IF NOT AVAILABLE bTabel THEN NEXT.
- ASSIGN
- bTabel.Bez1 = ''.
- RELEASE bTabel.
- END.
- RELEASE Tabel.
- RELEASE bTabel.
- LEAVE.
- END.
- lWebSpeed = TRUE.
- iCodeI = -1.
- FOR EACH bTabel USE-INDEX Tabel-k2 NO-LOCK
- WHERE bTabel.Firma = Firma
- AND bTabel.RecArt BEGINS 'ws':
- tRecid = RECID(bTabel).
- FIND bAufko NO-LOCK
- WHERE bAufko.Firma = bTabel.Firma
- AND bAufko.Aufnr = bTabel.Int_1 NO-ERROR.
- IF NOT AVAILABLE bAufko THEN
- DO:
- REPEAT TRANSACTION:
- FIND Tabel EXCLUSIVE-LOCK
- WHERE RECID(Tabel) = tRecid NO-WAIT NO-ERROR.
- IF AVAILABLE Tabel THEN
- DO:
- DELETE Tabel.
- RELEASE Tabel.
- END.
- LEAVE.
- END.
- NEXT.
- END.
- kRecid = RECID(bAufko).
- iAufnr = bAufko.Aufnr .
- iRecid = RECID(bAufko).
- iRuestArt = bTabel.Int_3 .
- iPlatz = INTEGER(bTabel.Dec_1).
- iAnzahl = INTEGER(bTabel.Dec_2).
- cRuester = bTabel.Bez2.
- ERROR-STATUS:ERROR = FALSE.
-
- CASE bTabel.Int_2:
- WHEN 2 THEN
- DO:
- RUN FUELLEN_tAufze.
- FIND FIRST tAufze NO-LOCK WHERE tAufze.Artnr > 0 NO-ERROR.
- IF AVAILABLE tAufze THEN
- DO:
- RUN PALETTENSCHEIN.
- cRetValue = RETURN-VALUE.
- END.
- END.
- WHEN 3 THEN
- DO:
- RUN FUELLEN_tAufze.
- FIND FIRST tAufze NO-LOCK WHERE tAufze.Artnr > 0 NO-ERROR.
- IF AVAILABLE tAufze THEN
- DO:
- RUN LADEPAPIER.
- cRetValue = RETURN-VALUE.
- END.
- END.
- WHEN 4 THEN
- DO:
- RUN LIEFERSCHEIN.
- cRetValue = RETURN-VALUE.
- END.
- END CASE.
-
- IF cRetValue <> '' THEN
- DO:
- REPEAT TRANSACTION:
- FIND dTabel WHERE RECID(dTabel) = tRecid NO-ERROR.
- dTabel.Bez1 = ''.
- RELEASE dTabel.
- LEAVE.
- END.
- NEXT.
- END.
- REPEAT TRANSACTION:
- FIND dTabel WHERE RECID(dTabel) = tRecid NO-ERROR.
- IF AVAILABLE dTabel THEN DELETE dTabel.
- RELEASE dTabel.
- LEAVE.
- END.
- END.
-
- RUN ENDE.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LADEPAPIER gDruckenRuesten
- PROCEDURE LADEPAPIER :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE cDokArt AS CHARACTER NO-UNDO.
- DEFINE VARIABLE hbAufko AS HANDLE NO-UNDO.
- DEFINE VARIABLE htTabTexte AS HANDLE NO-UNDO.
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE i1 AS INTEGER NO-UNDO.
- DEFINE VARIABLE i2 AS INTEGER NO-UNDO.
- DEFINE VARIABLE xPlatz AS INTEGER NO-UNDO.
- DEFINE VARIABLE iTime AS INTEGER NO-UNDO.
- DEFINE VARIABLE cAufnr AS CHARACTER NO-UNDO.
- DEFINE VARIABLE oBarCode AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cCodeArt AS CHARACTER INIT 'P0205100' NO-UNDO.
- DEFINE VARIABLE iAnz AS INTEGER NO-UNDO.
- DEFINE VARIABLE cDrucker AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cMessage AS CHARACTER NO-UNDO.
-
- cDokArt = 'LADEPAPIER'.
- iSeite = 0.
- iZeile = 0.
- cDrucker = ''.
- lOpen = FALSE.
- dDatum = bAufko.Lief_Datum.
- iTime = TIME.
- cMessage = SUBSTITUTE('Ladepapier &1 gestartet auf Platz &2', bAufko.Aufnr, iPlatz).
- DYNAMIC-FUNCTION('writeLogFile':U, cMessage) NO-ERROR.
-
- RUN LIBILD ( cDokArt ).
- hbAufko = BUFFER bAufko:HANDLE.
- htTabTexte = TEMP-TABLE tTabTexte:DEFAULT-BUFFER-HANDLE.
- RUN CREATE_TABTEXTE ( INPUT hbAufko, INPUT-OUTPUT htTabTexte ).
- EMPTY TEMP-TABLE tSchrift.
- FOR EACH RuestDaten NO-LOCK
- WHERE RuestDaten.Firma = bAufko.Firma
- AND RuestDaten.RuestArt = iRuestArt
- AND RuestDaten.Platz > 0
- AND Ruestdaten.LA_Doku = TRUE:
- xPlatz = RuestDaten.Platz.
- RUN GET_DRUCKERDATEN ( xPlatz, RuestDaten.LA_Drucker, RuestDaten.LA_Schrift ).
- IF ERROR-STATUS:ERROR THEN RETURN 'ERROR'.
-
- FIND FIRST tSchrift WHERE tSchrift.iPlatz = xPlatz NO-ERROR.
- ASSIGN
- tSchrift.Schzztot = RuestDaten.LA_TotZZ
- tSchrift.Schzzbeg = RuestDaten.LA_KopfZZ
- tSchrift.Schzzend = RuestDaten.LA_FussZZ
- tSchrift.Schacht = RuestDaten.LA_Schacht.
- END.
- FIND FIRST tSchrift NO-LOCK NO-ERROR.
- IF NOT AVAILABLE tSchrift THEN RETURN 'ERROR'.
- FIND bAdresse NO-LOCK USE-INDEX Adresse-k1
- WHERE bAdresse.Firma = AdFirma
- AND bAdresse.Knr = bAufko.Knr NO-ERROR.
- FIND FIRST tSchrift
- WHERE tSchrift.iPlatz = iPlatz NO-ERROR.
- IF NOT AVAILABLE tSchrift THEN FIND FIRST tSchrift.
- FIND bDrucker NO-LOCK
- WHERE bDrucker.Drucker = tSchrift.SchDru.
-
-
- DO WITH FRAME {&FRAME-NAME}:
- F_Aufnr :SCREEN-VALUE = STRING(bAufko.Aufnr).
- F_Knr :SCREEN-VALUE = STRING(bAufko.Knr).
- F_Kunde :SCREEN-VALUE = bAdresse.Anzeig_Br.
- F_Dokument:SCREEN-VALUE = cDokArt.
- F_Drucker :SCREEN-VALUE = tSchrift.Schname.
- F_Schrift :SCREEN-VALUE = tSchrift.Schbild.
- ASSIGN {&List-6}.
- DISPLAY {&List-6}.
- END.
- FOR EACH tAufze NO-LOCK
- WHERE tAufze.Platz > 0
- AND tAufze.Platz < 99
-
- BREAK BY tAufze.Platz
- BY tAufze.Lagort
- BY tAufze.Pos :
- IF FIRST-OF ( tAufze.Platz ) THEN iAnz = 0.
- IF tAufze.MGeli <> 0 THEN iAnz = iAnz + 1.
- IF NOT LAST-OF ( tAufze.Platz ) THEN NEXT.
-
- FIND FIRST tSchrift WHERE tSchrift.iPlatz = iPlatz NO-ERROR.
- IF NOT AVAILABLE tSchrift THEN FIND FIRST tSchrift.
- FIND bDrucker NO-LOCK
- WHERE bDrucker.Drucker = tSchrift.SchDru.
-
- IF NOT lOpen THEN
- DO:
- cDrucker = tSchrift.Schname.
- cDateiName = SESSION:TEMP-DIR
- + 'LadePapier'
- + STRING(TIME,'999999')
- + STRING(RANDOM(1, 999999),'999999')
- + '.txt'.
- OUTPUT STREAM out_Stream TO VALUE(cDateiName) NO-MAP NO-CONVERT.
- lOpen = TRUE.
- END.
-
- IF iSeite = 0 THEN RUN LADEPAPIER_KOPF ( iPlatz ).
-
- FIND FIRST RuestAuf NO-LOCK
- WHERE RuestAuf.Firma = tAufze.Firma
- AND RuestAuf.Aufnr = tAufze.Aufnr
- AND RuestAuf.Platz = tAufze.Platz NO-ERROR.
- IF NOT AVAILABLE RuestAuf THEN LEAVE.
-
- cAufnr = STRING(bAufko.Aufnr,'9999999')
- + '.'
- + TRIM(STRING(tAufze.Platz,'>9'))
- + ' - '
- + (IF iAnz = 0 THEN 'KEINE LIEFERUNG' ELSE TRIM(STRING(RuestAuf.AnzPaletten,'->>>>>>>>>>9')))
- + ' / '
- + RuestAuf.Ruester.
- SUBSTRING(cZeile,20) = bDrucker.Dru10cpi
- + cAufnr
- + bDrucker.Dru15cpi.
- DYNAMIC-FUNCTION('putStream':U, 'F', 1, INPUT-OUTPUT cZeile) NO-ERROR.
-
- IF iAnz > 0 THEN
- DO:
- cAufnr = STRING(bAufko.Aufnr,'9999999')
- + '.'
- + TRIM(STRING(tAufze.Platz,'>9')).
- RUN BAR-CODE-39 ( INPUT cAufnr ,
- INPUT cCodeArt,
- OUTPUT oBarCode ).
- SUBSTRING(cZeile,20) = oBarCode.
- DYNAMIC-FUNCTION('putStream':U, 'N', 4, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
-
- END.
-
- IF lOpen THEN
- DO:
- OUTPUT STREAM out_Stream CLOSE.
- lOpen = FALSE.
- RUN DRUCKAUSGABE NO-ERROR.
- IF ERROR-STATUS:ERROR THEN RETURN 'ERROR'.
- END.
- cMessage = SUBSTITUTE('Ladepapier &1 beendet', bAufko.Aufnr).
- DYNAMIC-FUNCTION('writeLogFile':U, cMessage) NO-ERROR.
-
- RETURN ''.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LADEPAPIER_KOPF gDruckenRuesten
- PROCEDURE LADEPAPIER_KOPF :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER ipPlatz AS INTEGER NO-UNDO.
- DEFINE VARIABLE cAufnr AS CHARACTER NO-UNDO.
- DEFINE VARIABLE oBarCode AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ix AS INTEGER NO-UNDO.
- DEFINE VARIABLE i1 AS INTEGER NO-UNDO.
- DEFINE VARIABLE i2 AS INTEGER NO-UNDO.
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cLeerZeile AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cFahrer AS CHARACTER NO-UNDO.
-
- DEFINE BUFFER btAufze FOR tAufze.
-
- /*
- DEF VAR cCodeArt AS CHAR INIT 'P0205075' NO-UNDO.
- */
- /* P = Portrait */
- /* L = Landscape */
- DEFINE VARIABLE cCodeArt AS CHARACTER INIT 'P0210200' NO-UNDO.
- RUN NEUE_SEITE.
- PUT STREAM out_Stream CONTROL bDrucker.Dru15cpi.
- PUT STREAM out_Stream CONTROL CHR(27) '&k2G'.
-
- cAufnr = STRING(bAufko.Aufnr,'9999999').
- RUN BAR-CODE-39 ( INPUT cAufnr ,
- INPUT cCodeArt,
- OUTPUT oBarCode ).
-
- oBarCode = CHR(027) + "*p" + "100y" + "100X" + oBarCode
- + CHR(027) + "*p" + "405y" + "260X"
- + bDrucker.Drufettb + bDrucker.Dru10cpi + bDrucker.Drufettb
- + cAufnr
- + bDrucker.Drufette + bDrucker.Dru15cpi + bDrucker.Drufette
- + CHR(027) + "*p" + "0y" + "0X".
- PUT STREAM out_Stream CONTROL oBarCode.
-
- FIND FIRST tSchrift NO-LOCK
- WHERE tSchrift.iPlatz = iPlatz.
- cLeerZeile = FILL(CHR(10), tSchrift.Schzzbeg).
- IF cLeerZeile <> '' THEN PUT STREAM out_Stream cLeerZeile.
- iZeile = tSchrift.Schzzbeg.
-
- IF iSeite = 1 THEN
- DO:
- FIND LDebst USE-INDEX Debst-k1
- WHERE LDebst.Firma = bAufko.Firma
- AND LDebst.Knr = bAufko.Knr NO-LOCK NO-ERROR.
- FIND FDebst USE-INDEX Debst-k1
- WHERE FDebst.Firma = bAufko.Firma
- AND FDebst.Knr = bAufko.Fak_Knr NO-LOCK NO-ERROR.
- END.
- IF bAufko.Adresse[05] <> '' THEN
- DO:
- DO ix = 1 TO 5:
- SUBSTRING(cZeile,066) = bAufko.Adresse[ix].
- IF ix = 5 THEN
- DO: DYNAMIC-FUNCTION('putStream':U, 'F', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
- ELSE
- DO: DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
- END.
- DYNAMIC-FUNCTION('putStream':U, 'N', 2, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
- ELSE
- DO:
- DO ix = 6 TO 12:
- SUBSTRING(cZeile,066) = bAdresse.Anschrift[ix].
- IF ix = 11 THEN
- DO: DYNAMIC-FUNCTION('putStream':U, 'F', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
- ELSE
- DO: DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
- END.
- END.
-
- IF bAufko.Auf_Tot >= 0
- THEN SUBSTRING(cZeile,008) = SUBSTRING(FormText[02],01,20).
- ELSE SUBSTRING(cZeile,008) = SUBSTRING(FormText[02],21,20).
- cZeile = bDrucker.Dru10cpi
- + SUBSTRING(cZeile,001,30)
- + bDrucker.Dru15cpi.
- DYNAMIC-FUNCTION('putStream':U, 'F', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- SUBSTRING(cZeile,066) = TRIM(SUBSTRING(FormText[07],01,20))
- + " "
- + STRING(dDatum,"99.99.9999").
- DYNAMIC-FUNCTION('putStream':U, 'N', 2, INPUT-OUTPUT cZeile) NO-ERROR.
-
- IF iSeite = 1 THEN
- DO:
- FIND FIRST tTabtexte NO-LOCK
- WHERE tTabTexte.cRecArt = 'ABLAD' NO-ERROR.
- IF AVAILABLE tTabTexte THEN SUBSTRING(cZeile,008) = tTabTexte.cFeld3.
- SUBSTRING(cZeile,066) = TRIM(SUBSTRING(FormText[08],21,20))
- + STRING(bAufko.Gewicht,"zz,zz9.999-").
- cZeile = TRIM(bDrucker.Drufettb)
- + SUBSTRING(cZeile,001,65)
- + TRIM(bDrucker.Drufette)
- + SUBSTRING(cZeile,066).
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
-
- SUBSTRING(cZeile,008) = TRIM(SUBSTRING(FormText[07],41,20))
- + " "
- + STRING(bAufko.Auf_Datum,"99.99.9999").
- SUBSTRING(cZeile,038) = TRIM(SUBSTRING(FormText[08],01,20))
- + STRING(bAufko.Knr,"z999999").
- SUBSTRING(cZeile,066) = TRIM(SUBSTRING(FormText[08],41,20))
- + " "
- + bAdresse.Tel-1.
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
-
- SUBSTRING(cZeile,008) = TRIM(SUBSTRING(FormText[09],21,20))
- + " "
- + STRING(bAufko.Lief_Datum,"99.99.9999").
- SUBSTRING(cZeile,038) = TRIM(SUBSTRING(FormText[09],01,20))
- + " ". /* Lieferart */
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
-
- SUBSTRING(cZeile,008) = TRIM(SUBSTRING(FormText[07],21,20))
- + " "
- + STRING(bAufko.U_Ref,'x(20)').
- DYNAMIC-FUNCTION('putStream':U, 'N', 3, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
- IF iSeite = 1 AND
- bAufko.Abh_Text <> '' THEN
- DO:
- cString = bAufko.Abh_Text.
- i2 = 0.
- DO i1 = 1 TO NUM-ENTRIES(cString, CHR(10)):
- SUBSTRING(cZeile,008) = ENTRY(i1, cString, CHR(10)).
- DYNAMIC-FUNCTION('putStream':U, 'F', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- i2 = i2 + 1.
- END.
- IF i2 > 0 THEN
- DO:
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
- /*
- i2 = 0.
- FOR EACH btAufze NO-LOCK
- WHERE btAufze.Platz = 0:
- RUN RUESTSCHEIN_ARTIKELZEILE ( RECID(btAufze ) ).
- i2 = i2 + 1.
- END.
- IF i2 > 0 THEN DO:
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
- */
- END.
-
- DYNAMIC-FUNCTION('putStream':U, 'N', 2, INPUT-OUTPUT cZeile) NO-ERROR.
-
- RUN FIND_FAHRER ( bAufko.Fahrer, OUTPUT cString ).
- IF cString <> '' THEN cFahrer = ENTRY(2, cString, CHR(01)) + ' ' + ENTRY(3, cString, CHR(01)).
- i1 = (80 - LENGTH(cFahrer)) / 2.
- SUBSTRING(cZeile,i1) = CHR(27) + "(s6H"
- + cFahrer
- + bDrucker.Dru15cpi.
- DYNAMIC-FUNCTION('putStream':U, 'F', 3, INPUT-OUTPUT cZeile) NO-ERROR.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LIBILD gDruckenRuesten
- PROCEDURE LIBILD :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER ipDokArt AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cProgName AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ix AS INTEGER NO-UNDO.
-
- cProgName = bSteuer.Fwc10 + ":" + ipDokArt.
- FormText = "".
- FOR EACH LiBild USE-INDEX LiBild-k1
- WHERE LiBild.Sprcd = 1
- AND LiBild.Prog = cProgName
- AND LiBild.Tenr > 0 NO-LOCK
-
- ix = 1 TO 40:
-
- FormText[ix] = LiBild.Litext.
- END.
-
- cRabText = TRIM(SUBSTRING(FormText[21],01,20)).
- cZusText = TRIM(SUBSTRING(FormText[21],21,20)).
- cEpzText = TRIM(SUBSTRING(FormText[21],41,20)).
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LOCK_TEST gDruckenRuesten
- PROCEDURE LOCK_TEST :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER ipRecid AS RECID NO-UNDO.
- DEFINE OUTPUT PARAMETER oplLocked AS LOG NO-UNDO.
- DEFINE OUTPUT PARAMETER opcDaten AS CHARACTER NO-UNDO.
-
- DEFINE VARIABLE xRecid AS RECID NO-UNDO.
-
- oplLocked = FALSE.
- opcDaten = ''.
-
- LOCK:
- REPEAT TRANSACTION:
-
- FIND Aufko EXCLUSIVE-LOCK WHERE RECID(Aufko) = ipRecid NO-WAIT NO-ERROR.
- IF LOCKED Aufko THEN
- DO:
- oplLocked = TRUE.
- opcDaten = 'Aufko'.
- RELEASE Aufko.
- LEAVE LOCK.
- END.
-
- FOR EACH Aufze NO-LOCK
- WHERE Aufze.Firma = Aufko.Firma
- AND Aufze.Aufnr = Aufko.Aufnr:
- xRecid = RECID(Aufze).
- FIND bAufze EXCLUSIVE-LOCK WHERE RECID(bAufze) = xRecid NO-WAIT NO-ERROR.
- IF LOCKED bAufze THEN
- DO:
- oplLocked = TRUE.
- opcDaten = 'Aufze'.
- RELEASE bAufze.
- LEAVE LOCK.
- END.
- END.
-
- FOR EACH AufGKon NO-LOCK
- WHERE AufGKon.Firma = Aufko.Firma
- AND AufGKon.Aufnr = Aufko.Aufnr:
- xRecid = RECID(AufGKon).
- FIND bAufGKon EXCLUSIVE-LOCK WHERE RECID(bAufGKon) = xRecid NO-WAIT NO-ERROR.
- IF LOCKED bAufGKon THEN
- DO:
- oplLocked = TRUE.
- opcDaten = 'AufGKon'.
- RELEASE bAufGKon.
- LEAVE LOCK.
- END.
- END.
- RELEASE Aufko .
- RELEASE Aufze .
- RELEASE bAufze .
- RELEASE bAufGKon.
- RELEASE AufGKon .
- LEAVE.
- END.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NEUE_SEITE gDruckenRuesten
- PROCEDURE NEUE_SEITE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE cLeerZeile AS CHARACTER NO-UNDO.
- IF iSeite > 0 THEN
- DO:
- PUT STREAM out_Stream CONTROL CHR(12).
- END.
-
- FIND FIRST tSchrift NO-LOCK
- WHERE tSchrift.iPlatz = iPlatz.
- cLeerZeile = FILL(CHR(10), tSchrift.Schzzbeg).
- IF cLeerZeile <> '' THEN PUT STREAM out_Stream cLeerZeile.
- iZeile = tSchrift.Schzzbeg.
- iSeite = iSeite + 1.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PALETTENSCHEIN gDruckenRuesten
- PROCEDURE PALETTENSCHEIN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE cDokArt AS CHARACTER NO-UNDO.
- DEFINE VARIABLE hbAufko AS HANDLE NO-UNDO.
- DEFINE VARIABLE htTabTexte AS HANDLE NO-UNDO.
- DEFINE VARIABLE nFakBetr AS DECIMAL NO-UNDO.
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE i1 AS INTEGER NO-UNDO.
- DEFINE VARIABLE i2 AS INTEGER NO-UNDO.
- DEFINE VARIABLE xPlatz AS INTEGER NO-UNDO.
- DEFINE VARIABLE nTotale AS DECIMAL EXTENT 15 NO-UNDO.
- DEFINE VARIABLE cRetVal AS CHARACTER NO-UNDO.
-
- DEFINE VARIABLE cDrucker AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cMessage AS CHARACTER NO-UNDO.
-
- FIND FIRST tAufze NO-LOCK WHERE tAufze.Artnr > 0 NO-ERROR.
- IF NOT AVAILABLE tAufze THEN RETURN ''.
- cRetVal = DYNAMIC-FUNCTION('calculateAuftragsTotal':U, tAufze.Firma, tAufze.Aufnr, OUTPUT nTotale) NO-ERROR.
-
- cMessage = SUBSTITUTE('Palettenschein &1 Platz &2 gestartet', tAufze.Aufnr, iPlatz).
- DYNAMIC-FUNCTION('writeLogFile':U, cMessage) NO-ERROR.
-
- cDokArt = 'PALETTEN'.
- iSeite = 0.
- iZeile = 0.
- cDrucker = ''.
- lOpen = FALSE.
- cZeile = ''.
- dDatum = bAufko.Lief_Datum.
- RUN LIBILD ( cDokArt ).
- hbAufko = BUFFER bAufko:HANDLE.
- htTabTexte = TEMP-TABLE tTabTexte:DEFAULT-BUFFER-HANDLE.
- RUN CREATE_TABTEXTE ( INPUT hbAufko, INPUT-OUTPUT htTabTexte ).
- EMPTY TEMP-TABLE tSchrift.
- FOR EACH RuestDaten NO-LOCK
- WHERE RuestDaten.Firma = bAufko.Firma
- AND RuestDaten.RuestArt = iRuestArt
- AND RuestDaten.Platz > 0
- AND Ruestdaten.PA_Doku = TRUE:
- xPlatz = RuestDaten.Platz.
- RUN GET_DRUCKERDATEN ( xPlatz, RuestDaten.PA_Drucker, RuestDaten.PA_Schrift ).
- IF ERROR-STATUS:ERROR THEN RETURN 'ERROR'.
-
- FIND FIRST tSchrift WHERE tSchrift.iPlatz = xPlatz.
- ASSIGN
- tSchrift.Schzztot = RuestDaten.PA_TotZZ
- tSchrift.Schzzbeg = RuestDaten.PA_KopfZZ
- tSchrift.Schzzend = RuestDaten.PA_FussZZ
- tSchrift.Schacht = RuestDaten.PA_Schacht
- tSchrift.Anzahl = iAnzahl.
- END.
- FIND bAdresse NO-LOCK USE-INDEX Adresse-k1
- WHERE bAdresse.Firma = AdFirma
- AND bAdresse.Knr = bAufko.Knr NO-ERROR.
-
- DO WITH FRAME {&FRAME-NAME}:
- F_Aufnr :SCREEN-VALUE = STRING(bAufko.Aufnr).
- F_Knr :SCREEN-VALUE = STRING(bAufko.Knr).
- F_Kunde :SCREEN-VALUE = bAdresse.Anzeig_Br.
- F_Dokument:SCREEN-VALUE = cDokArt.
- F_Drucker :SCREEN-VALUE = tSchrift.Schname.
- F_Schrift :SCREEN-VALUE = tSchrift.Schbild.
- ASSIGN {&List-6}.
- DISPLAY {&List-6}.
- END.
- EMPTY TEMP-TABLE zAufze.
- CREATE zAufze.
- FOR EACH tAufze NO-LOCK
- WHERE tAufze.Platz = iPlatz
- BREAK BY tAufze.Platz
- BY tAufze.Lagort
- BY tAufze.Pos :
- DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
- IF NOT FIRST-OF ( tAufze.Platz ) THEN LEAVE.
-
- ASSIGN
- iSeite = 0
- iZeile = 0
- iPlatz = tAufze.Platz.
- FIND FIRST tSchrift NO-LOCK
- WHERE tSchrift.iPlatz = iPlatz.
-
- FIND bDrucker NO-LOCK
- WHERE bDrucker.Drucker = tSchrift.SchDru.
-
- F_Drucker:SCREEN-VALUE = tSchrift.Schname.
- F_Schrift:SCREEN-VALUE = tSchrift.Schbild.
-
- IF NOT lOpen THEN
- DO:
- cDrucker = tSchrift.Schname.
- cDateiName = SESSION:TEMP-DIR
- + 'PalettPapier'
- + STRING(TIME,'999999')
- + STRING(RANDOM(1, 999999),'999999')
- + '.txt'.
- OUTPUT STREAM out_Stream TO VALUE(cDateiName) NO-MAP NO-CONVERT.
- lOpen = TRUE.
- LEAVE.
- END.
-
- IF tSchrift.Schname = cDrucker THEN
- DO:
- PUT STREAM out_Stream CONTROL CHR(12).
- LEAVE.
- END.
-
- OUTPUT STREAM out_Stream CLOSE.
- lOpen = FALSE.
- RUN DRUCKAUSGABE NO-ERROR.
- IF ERROR-STATUS:ERROR THEN RETURN 'ERROR'.
-
- cDrucker = tSchrift.Schname.
- cDateiName = SESSION:TEMP-DIR
- + 'PalettPapier'
- + STRING(TIME,'999999')
- + STRING(RANDOM(1, 999999),'999999')
- + '.txt'.
- OUTPUT STREAM out_Stream TO VALUE(cDateiName) NO-MAP NO-CONVERT.
- lOpen = TRUE.
- LEAVE.
- END.
-
- IF iSeite = 0 THEN RUN PALETTENSCHEIN_KOPF ( iPlatz ).
-
- IF (tSchrift.Schzztot - iZeile - 2) <= tSchrift.Schzzend THEN
- DO:
- RUN PALETTENSCHEIN_KOPF ( iPlatz ).
- END.
-
- IF tAufze.MGeli <> 0 THEN
- DO:
- FIND FIRST zAufze.
- BUFFER-COPY tAufze TO zAufze.
- RUN PALETTENSCHEIN_ARTIKELZEILE.
- END.
-
- IF NOT LAST-OF ( tAufze.Platz ) THEN NEXT.
- /*
- FOR EACH btAufze NO-LOCK
- WHERE btAufze.Platz = 99:
- FIND FIRST zAufze.
- BUFFER-COPY btAufze TO zAufze.
- RUN PALETTENSCHEIN_ARTIKELZEILE.
- i2 = i2 + 1.
- END.
- */
- cZeile = FILL('=', 100).
- DYNAMIC-FUNCTION('putStream':U, 'N', 2, INPUT-OUTPUT cZeile) NO-ERROR.
-
- END.
-
- DO WHILE TRUE:
- FIND FIRST tRueck NO-LOCK
- WHERE tRueck.Platz = iPlatz NO-ERROR.
- IF NOT AVAILABLE tRueck THEN LEAVE.
-
- IF NOT lOpen THEN
- DO:
- cDrucker = tSchrift.Schname.
- cDateiName = SESSION:TEMP-DIR
- + 'PalettPapier'
- + STRING(TIME,'999999')
- + STRING(RANDOM(1, 999999),'999999')
- + '.txt'.
- OUTPUT STREAM out_Stream TO VALUE(cDateiName) NO-MAP NO-CONVERT.
- lOpen = TRUE.
- RUN PALETTENSCHEIN_KOPF ( iPlatz ).
- END.
- ELSE
- DO:
- DYNAMIC-FUNCTION('putStream':U, 'N', 2, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
- FOR EACH tRueck NO-LOCK
- WHERE tRueck.Platz = iPlatz
-
- BREAK BY tRueck.Platz
- BY tRueck.Lagort
- BY tRueck.Pos :
-
- IF (tSchrift.Schzztot - iZeile - 6) <= tSchrift.Schzzend THEN
- DO:
- RUN PALETTENSCHEIN_KOPF ( iPlatz ).
- END.
- IF FIRST-OF ( tRueck.Platz ) THEN
- DO:
- cZeile = FILL('=', 100).
- SUBSTRING(cZeile,30) = ' Rückstände/Teillieferungen '.
- DYNAMIC-FUNCTION('putStream':U, 'N', 2, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
- RUN PALETTENSCHEIN_RUECKSTAND ( RECID(tRueck) ).
- END.
- DYNAMIC-FUNCTION('putStream':U, 'N', 2, INPUT-OUTPUT cZeile) NO-ERROR.
- LEAVE.
- END.
-
- IF lOpen THEN
- DO:
- SUBSTRING(cZeile,008) = 'Gerüstet durch : ' + cRuester.
- DYNAMIC-FUNCTION('putStream':U, 'N', 3, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
- DO WHILE TRUE:
- IF NOT lOpen THEN LEAVE.
-
- FIND FIRST RuestAuf NO-LOCK
- WHERE RuestAuf.Firma = Firma
- AND RuestAuf.Aufnr = bAufko.Aufnr
- AND RuestAuf.Platz <> iPlatz NO-ERROR.
- IF NOT AVAILABLE RuestAuf THEN LEAVE.
-
- SUBSTRING(cZeile,10) = 'Weitere Rüstplätze'.
- DYNAMIC-FUNCTION('putStream':U, 'F', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- FOR EACH RuestAuf NO-LOCK
- WHERE RuestAuf.Firma = Firma
- AND RuestAuf.Aufnr = bAufko.Aufnr
- AND RuestAuf.Platz <> iPlatz
-
- BREAK BY RuestAuf.Platz:
-
- IF NOT FIRST-OF ( RuestAuf.Platz ) THEN NEXT.
- FIND RuestPlatz NO-LOCK
- WHERE RuestPlatz.Firma = RuestAuf.Firma
- AND RuestPlatz.RuestArt = iRuestArt
- AND RuestPlatz.Platz = RuestAuf.Platz NO-ERROR.
- IF NOT AVAILABLE RuestPlatz THEN NEXT.
- SUBSTRING(cZeile,12) = '- ' + RuestPlatz.Bezeichnung.
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
- LEAVE.
- END.
-
- IF lOpen THEN
- DO:
- OUTPUT STREAM out_Stream CLOSE.
- lOpen = FALSE.
- RUN DRUCKAUSGABE NO-ERROR.
- IF ERROR-STATUS:ERROR THEN RETURN 'ERROR'.
- END.
-
- FIND FIRST tAufze NO-LOCK NO-ERROR.
- cMessage = SUBSTITUTE('Palettenschein &1 Platz &2 beendet', tAufze.Aufnr, iPlatz).
- DYNAMIC-FUNCTION('writeLogFile':U, cMessage) NO-ERROR.
-
- RETURN ''.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PALETTENSCHEIN_ARTIKELZEILE gDruckenRuesten
- PROCEDURE PALETTENSCHEIN_ARTIKELZEILE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE cBarCode AS CHARACTER NO-UNDO.
- DEFINE VARIABLE oBarCode AS CHARACTER NO-UNDO.
- /*
- DEF VAR cCodeArt AS CHAR INIT 'P0205075' NO-UNDO.
- */
- DEFINE VARIABLE cCodeArt AS CHARACTER INIT 'P0205080' NO-UNDO.
- FIND FIRST zAufze NO-LOCK.
-
- PUT STREAM Out_Stream CONTROL bDrucker.Dru15cpi.
- DO WHILE zAufze.Artnr = 0:
- SUBSTRING(cZeile,036) = STRING(zAufze.Bez1,"x(30)").
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- IF zAufze.Bez2 <> '' THEN
- DO:
- SUBSTRING(cZeile,036) = STRING(zAufze.Bez2,"x(30)").
- DYNAMIC-FUNCTION('putStream':U, 'N', 2, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
- RETURN.
- END.
-
- FIND Artst NO-LOCK OF zAufze.
-
- FIND VGebinde
- WHERE VGebinde.Firma = zAufze.Firma
- AND VGebinde.Geb_Cd = zAufze.VGeb_Cd NO-ERROR.
- FIND KGebinde
- WHERE KGebinde.Firma = zAufze.Firma
- AND KGebinde.Geb_Cd = zAufze.KGeb_Cd NO-ERROR.
-
- SUBSTRING(cZeile,001) = STRING(KGebinde.KBez,"x(10)").
- IF zAufze.VGeb_Me <> 0 THEN
- DO:
- SUBSTRING(cZeile,012) = STRING(zAufze.VGeb_Me,'->>>')
- + 'x '
- + VGebinde.KBez.
- END.
- SUBSTRING(cZeile,028) = STRING(zAufze.MGeli ,"->>>>9").
- SUBSTRING(cZeile,036) = STRING(zAufze.Bez1 ,"x(30)").
- IF zAufze.Alk_Gehalt <> 0 THEN SUBSTRING(cZeile,068) = STRING(zAufze.Alk_Gehalt,"zz9.9%").
- IF zAufze.Jahr > 9 THEN SUBSTRING(cZeile,075) = STRING(zAufze.Jahr,"9999").
- SUBSTRING(cZeile,081) = STRING(zAufze.Artnr ,"999999").
- SUBSTRING(cZeile,089) = STRING(zAufze.LagOrt,'x(08)').
- cZeile = bDrucker.Drufettb
- + SUBSTRING(cZeile,001,027)
- + bDrucker.Drufette
- + SUBSTRING(cZeile,028,061)
- + bDrucker.Drufettb
- + SUBSTRING(cZeile,089,008)
- + bDrucker.Drufette
- + SUBSTRING(cZeile,097).
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
-
- IF zAufze.Bez2 <> '' THEN
- DO:
- SUBSTRING(cZeile,036) = STRING(zAufze.Bez2,"x(30)").
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
-
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PALETTENSCHEIN_KOPF gDruckenRuesten
- PROCEDURE PALETTENSCHEIN_KOPF :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER ipPlatz AS INTEGER NO-UNDO.
- DEFINE VARIABLE cAufnr AS CHARACTER NO-UNDO.
- DEFINE VARIABLE oBarCode AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ix AS INTEGER NO-UNDO.
- DEFINE VARIABLE i1 AS INTEGER NO-UNDO.
- DEFINE VARIABLE i2 AS INTEGER NO-UNDO.
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cLeerZeile AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cFahrer AS CHARACTER NO-UNDO.
-
- /*
- DEF VAR cCodeArt AS CHAR INIT 'P0205075' NO-UNDO.
- */
- /* P = Portrait */
- /* L = Landscape */
- DEFINE VARIABLE cCodeArt AS CHARACTER INIT 'P0210200' NO-UNDO.
- RUN NEUE_SEITE.
- PUT STREAM out_Stream CONTROL bDrucker.Dru15cpi.
- PUT STREAM out_Stream CONTROL CHR(27) '&k2G'.
-
- cAufnr = STRING(bAufko.Aufnr,'9999999')
- + '.'
- + TRIM(STRING(ipPlatz,'>9')).
- RUN BAR-CODE-39 ( INPUT cAufnr ,
- INPUT cCodeArt,
- OUTPUT oBarCode ).
-
- oBarCode = CHR(027) + "*p" + "100y" + "100X" + oBarCode
- + CHR(027) + "*p" + "405y" + "260X"
- + bDrucker.Drufettb + bDrucker.Dru10cpi + bDrucker.Drufettb
- + cAufnr
- + bDrucker.Drufette + bDrucker.Dru15cpi + bDrucker.Drufette
- + CHR(027) + "*p" + "0y" + "0X".
- PUT STREAM out_Stream CONTROL oBarCode.
-
- FIND FIRST tSchrift NO-LOCK
- WHERE tSchrift.iPlatz = iPlatz.
- cLeerZeile = FILL(CHR(10), tSchrift.Schzzbeg).
- IF cLeerZeile <> '' THEN PUT STREAM out_Stream cLeerZeile.
- iZeile = tSchrift.Schzzbeg.
-
- IF iSeite = 1 THEN
- DO:
- FIND LDebst USE-INDEX Debst-k1
- WHERE LDebst.Firma = bAufko.Firma
- AND LDebst.Knr = bAufko.Knr NO-LOCK NO-ERROR.
- FIND FDebst USE-INDEX Debst-k1
- WHERE FDebst.Firma = bAufko.Firma
- AND FDebst.Knr = bAufko.Fak_Knr NO-LOCK NO-ERROR.
- END.
- IF bAufko.Adresse[05] <> '' THEN
- DO:
- DO ix = 1 TO 5:
- SUBSTRING(cZeile,066) = bAufko.Adresse[ix].
- IF ix = 5 THEN
- DO: DYNAMIC-FUNCTION('putStream':U, 'F', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
- ELSE
- DO: DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
- END.
- DYNAMIC-FUNCTION('putStream':U, 'N', 2, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
- ELSE
- DO:
- DO ix = 6 TO 12:
- SUBSTRING(cZeile,066) = bAdresse.Anschrift[ix].
- IF ix = 11 THEN
- DO: DYNAMIC-FUNCTION('putStream':U, 'F', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
- ELSE
- DO: DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
- END.
- END.
-
- IF bAufko.Auf_Tot >= 0
- THEN SUBSTRING(cZeile,008) = SUBSTRING(FormText[02],01,20).
- ELSE SUBSTRING(cZeile,008) = SUBSTRING(FormText[02],21,20).
- cZeile = bDrucker.Dru10cpi
- + SUBSTRING(cZeile,001,30)
- + bDrucker.Dru15cpi.
- DYNAMIC-FUNCTION('putStream':U, 'F', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- SUBSTRING(cZeile,066) = TRIM(SUBSTRING(FormText[07],01,20))
- + " "
- + STRING(dDatum,"99.99.9999").
- DYNAMIC-FUNCTION('putStream':U, 'N', 2, INPUT-OUTPUT cZeile) NO-ERROR.
-
- IF iSeite = 1 THEN
- DO:
- FIND FIRST tTabtexte NO-LOCK
- WHERE tTabTexte.cRecArt = 'ABLAD' NO-ERROR.
- IF AVAILABLE tTabTexte THEN SUBSTRING(cZeile,008) = tTabTexte.cFeld3.
- SUBSTRING(cZeile,066) = TRIM(SUBSTRING(FormText[08],21,20))
- + STRING(bAufko.Gewicht,"zz,zz9.999-").
- cZeile = TRIM(bDrucker.Drufettb)
- + SUBSTRING(cZeile,001,65)
- + TRIM(bDrucker.Drufette)
- + SUBSTRING(cZeile,066).
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
-
- SUBSTRING(cZeile,008) = TRIM(SUBSTRING(FormText[07],41,20))
- + " "
- + STRING(bAufko.Auf_Datum,"99.99.9999").
- SUBSTRING(cZeile,038) = TRIM(SUBSTRING(FormText[08],01,20))
- + STRING(bAufko.Knr,"z999999").
- SUBSTRING(cZeile,066) = TRIM(SUBSTRING(FormText[08],41,20))
- + " "
- + bAdresse.Tel-1.
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
-
- SUBSTRING(cZeile,008) = TRIM(SUBSTRING(FormText[09],21,20))
- + " "
- + STRING(bAufko.Lief_Datum,"99.99.9999").
- SUBSTRING(cZeile,038) = TRIM(SUBSTRING(FormText[09],01,20))
- + " ". /* Lieferart */
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
-
- SUBSTRING(cZeile,008) = TRIM(SUBSTRING(FormText[07],21,20))
- + " "
- + STRING(bAufko.U_Ref,'x(20)').
- DYNAMIC-FUNCTION('putStream':U, 'N', 2, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
- SUBSTRING(cZeile,001) = TRIM(SUBSTRING(FormText[03],01,70)).
- SUBSTRING(cZeile,071) = TRIM(SUBSTRING(FormText[04],01,70)).
- DYNAMIC-FUNCTION('putStream':U, 'F', 2, INPUT-OUTPUT cZeile) NO-ERROR.
-
- IF iSeite = 1 AND
- bAufko.Abh_Text <> '' THEN
- DO:
- cString = bAufko.Abh_Text.
- i2 = 0.
- DO i1 = 1 TO NUM-ENTRIES(cString, CHR(10)):
- SUBSTRING(cZeile,008) = ENTRY(i1, cString, CHR(10)).
- DYNAMIC-FUNCTION('putStream':U, 'F', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- i2 = i2 + 1.
- END.
- IF i2 > 0 THEN
- DO:
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
- END.
- IF iSeite = 1 THEN
- DO:
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- RUN FIND_FAHRER ( bAufko.Fahrer, OUTPUT cString ).
- IF cString <> '' THEN cFahrer = ENTRY(2, cString, CHR(01)) + ' ' + ENTRY(3, cString, CHR(01)).
- i1 = (80 - LENGTH(cFahrer)) / 2.
- SUBSTRING(cZeile,i1) = CHR(27) + "(s6H"
- + cFahrer
- + bDrucker.Dru15cpi.
- DYNAMIC-FUNCTION('putStream':U, 'F', 2, INPUT-OUTPUT cZeile) NO-ERROR.
- FIND FIRST RuestPlatz NO-LOCK
- WHERE RuestPlatz.Firma = bAufko.Firma
- AND RuestPlatz.RuestArt = iRuestArt
- AND RuestPlatz.Platz = ipPlatz.
- i1 = (98 - LENGTH(RuestPlatz.Bezeichnung)) / 2.
- cZeile = FILL('=', i1) + ' ' + RuestPlatz.Bezeichnung + ' ' + FILL('=', i1).
- DYNAMIC-FUNCTION('putStream':U, 'N', 2, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
-
- DO WHILE iSeite > 1:
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- LEAVE.
- END.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PALETTENSCHEIN_RUECKSTAND gDruckenRuesten
- PROCEDURE PALETTENSCHEIN_RUECKSTAND :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER ipRecid AS RECID NO-UNDO.
- DEFINE VARIABLE cBarCode AS CHARACTER NO-UNDO.
- DEFINE VARIABLE oBarCode AS CHARACTER NO-UNDO.
- /*
- DEF VAR cCodeArt AS CHAR INIT 'P0205075' NO-UNDO.
- */
- DEFINE VARIABLE cCodeArt AS CHARACTER INIT 'P0205080' NO-UNDO.
- FIND tRueck WHERE RECID(tRueck) = ipRecid NO-LOCK.
-
- PUT STREAM Out_Stream CONTROL bDrucker.Dru15cpi.
- DO WHILE tRueck.Artnr = 0:
- SUBSTRING(cZeile,036) = STRING(tRueck.Bez1,"x(30)").
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- IF tRueck.Bez2 <> '' THEN
- DO:
- SUBSTRING(cZeile,036) = STRING(tRueck.Bez2,"x(30)").
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
- RETURN.
- END.
-
- FIND Artst NO-LOCK OF tRueck.
-
- FIND VGebinde NO-LOCK
- WHERE VGebinde.Firma = tRueck.Firma
- AND VGebinde.Geb_Cd = tRueck.VGeb_Cd NO-ERROR.
- FIND KGebinde NO-LOCK
- WHERE KGebinde.Firma = tRueck.Firma
- AND KGebinde.Geb_Cd = tRueck.KGeb_Cd NO-ERROR.
-
- SUBSTRING(cZeile,001) = STRING(KGebinde.KBez,"x(10)").
- IF tRueck.VGeb_Ru <> 0 AND
- tRueck.VGeb_Me <> tRueck.VGeb_Be THEN
- DO:
- SUBSTRING(cZeile,012) = STRING(tRueck.VGeb_Ru,'->>>')
- + 'x '
- + VGebinde.KBez.
- END.
- SUBSTRING(cZeile,028) = STRING(tRueck.MRuek ,"->>>>9").
- SUBSTRING(cZeile,036) = STRING(tRueck.Bez1 ,"x(30)").
- IF tRueck.Alk_Gehalt <> 0 THEN SUBSTRING(cZeile,068) = STRING(tRueck.Alk_Gehalt,"zz9.9%").
- IF tRueck.Jahr > 9 THEN SUBSTRING(cZeile,075) = STRING(tRueck.Jahr,"9999").
- SUBSTRING(cZeile,081) = STRING(tRueck.Artnr ,"999999").
- SUBSTRING(cZeile,089) = STRING(tRueck.LagOrt,'x(08)').
- cZeile = bDrucker.Drufettb
- + SUBSTRING(cZeile,001,027)
- + bDrucker.Drufette
- + SUBSTRING(cZeile,028,061)
- + bDrucker.Drufettb
- + SUBSTRING(cZeile,089,008)
- + bDrucker.Drufette
- + SUBSTRING(cZeile,097).
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
-
- IF tRueck.Bez2 <> '' THEN
- DO:
- SUBSTRING(cZeile,036) = STRING(tRueck.Bez2,"x(30)").
- DYNAMIC-FUNCTION('putStream':U, 'N', 2, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RUESTSCHEIN gDruckenRuesten
- PROCEDURE RUESTSCHEIN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE cDokArt AS CHARACTER NO-UNDO.
- DEFINE VARIABLE hbAufko AS HANDLE NO-UNDO.
- DEFINE VARIABLE htTabTexte AS HANDLE NO-UNDO.
- DEFINE VARIABLE nFakBetr AS DECIMAL NO-UNDO.
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE i1 AS INTEGER NO-UNDO.
- DEFINE VARIABLE i2 AS INTEGER NO-UNDO.
- DEFINE VARIABLE iTime AS INTEGER NO-UNDO.
- DEFINE VARIABLE iMenge AS INTEGER NO-UNDO.
- DEFINE VARIABLE cLagOrt AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cSort AS CHARACTER NO-UNDO.
- DEFINE VARIABLE iGeli AS INTEGER NO-UNDO.
- DEFINE VARIABLE iSubPos AS INTEGER NO-UNDO.
- DEFINE VARIABLE rLotLager AS INTEGER NO-UNDO.
- DEFINE VARIABLE rHoReLager AS RECID NO-UNDO.
- DEFINE VARIABLE rArtLager AS RECID NO-UNDO.
- DEFINE VARIABLE cRecid AS CHARACTER NO-UNDO.
- DEFINE VARIABLE iAnz AS INTEGER NO-UNDO.
- DEFINE VARIABLE lNeu AS LOGICAL NO-UNDO INIT FALSE.
- DEFINE VARIABLE lMut AS LOGICAL NO-UNDO INIT FALSE.
-
- DEFINE VARIABLE cDrucker AS CHARACTER NO-UNDO.
-
- cDokArt = 'RUEST'.
- iSeite = 0.
- iZeile = 0.
- cDrucker = ''.
- lOpen = FALSE.
- cZeile = ''.
- dDatum = bAufko.Lief_Datum.
- iTime = TIME.
- RUN LIBILD ( cDokArt ).
- hbAufko = BUFFER bAufko:HANDLE.
- htTabTexte = TEMP-TABLE tTabTexte:DEFAULT-BUFFER-HANDLE.
- RUN CREATE_TABTEXTE ( INPUT hbAufko, INPUT-OUTPUT htTabTexte ).
- EMPTY TEMP-TABLE tSchrift.
- FOR EACH RuestDaten NO-LOCK
- WHERE RuestDaten.Firma = bAufko.Firma
- AND RuestDaten.RuestArt = iRuestArt
- AND RuestDaten.Platz > 0
- AND RuestDaten.RU_Doku = TRUE:
-
- iPlatz = RuestDaten.Platz.
- RUN GET_DRUCKERDATEN ( iPlatz, RuestDaten.RU_Drucker, RuestDaten.RU_Schrift ).
- IF RETURN-VALUE <> '' THEN RETURN RETURN-VALUE.
-
- FIND FIRST tSchrift WHERE tSchrift.iPlatz = iPlatz.
- ASSIGN
- tSchrift.Schzztot = RuestDaten.RU_TotZZ
- tSchrift.Schzzbeg = RuestDaten.RU_KopfZZ
- tSchrift.Schzzend = RuestDaten.RU_FussZZ
- tSchrift.Schacht = RuestDaten.RU_Schacht
- tSchrift.Anzahl = RuestDaten.RU_Anzahl.
- END.
- FIND bAdresse NO-LOCK USE-INDEX Adresse-k1
- WHERE bAdresse.Firma = AdFirma
- AND bAdresse.Knr = bAufko.Knr NO-ERROR.
- FIND FIRST tSchrift.
- DO WITH FRAME {&FRAME-NAME}:
- F_Aufnr :SCREEN-VALUE = STRING(bAufko.Aufnr).
- F_Knr :SCREEN-VALUE = STRING(bAufko.Knr).
- F_Kunde :SCREEN-VALUE = bAdresse.Anzeig_Br.
- F_Dokument:SCREEN-VALUE = cDokArt.
- F_Drucker :SCREEN-VALUE = tSchrift.Schname.
- F_Schrift :SCREEN-VALUE = tSchrift.Schbild.
- ASSIGN {&List-6}.
- DISPLAY {&List-6}.
- END.
- FOR EACH RuestAuf
- WHERE RuestAuf.Firma = tAufze.Firma
- AND RuestAuf.Aufnr = tAufze.Aufnr
-
- BREAK BY RuestAuf.Firma
- BY RuestAuf.Aufnr
- BY RuestAuf.Pos :
-
- IF NOT FIRST-OF ( RuestAuf.Pos ) THEN NEXT.
-
- FIND FIRST tAufze NO-LOCK
- WHERE tAufze.Firma = RuestAuf.Firma
- AND tAufze.Aufnr = RuestAuf.Aufnr
- AND tAufze.Pos = RuestAuf.Pos
- AND tAufze.Artnr = RuestAuf.Artnr
- AND tAufze.Inhalt = RuestAuf.Inhalt
- AND tAufze.Jahr = RuestAuf.Jahr NO-ERROR.
- IF NOT AVAILABLE tAufze THEN DELETE RuestAuf.
- RELEASE RuestAuf.
- END.
-
- FOR EACH tAufze NO-LOCK
- WHERE tAufze.Platz > 0
- AND tAufze.Platz < 99
- AND tAufze.Artnr > 0
-
- BREAK
- BY tAufze.Platz
- BY tAufze.Lagort
- BY tAufze.Pos :
-
- EMPTY TEMP-TABLE tHoReLager.
- EMPTY TEMP-TABLE tLotLager .
- EMPTY TEMP-TABLE tLagerorte.
-
- /* ------------------------------------------------------ */
- /* Ist die Rüstposition bereits vorhanden ? */
- /* Wenn Ja ? (lNeu = FALSE) */
- /* sind die Mengen noch gleich ? (lMut = FALSE) */
- /* ------------------------------------------------------ */
- FIND FIRST RuestAuf NO-LOCK
- WHERE RuestAuf.Firma = tAufze.Firma
- AND RuestAuf.Aufnr = tAufze.Aufnr
- AND RuestAuf.Pos = tAufze.Pos NO-ERROR.
-
- lNeu = (IF AVAILABLE RuestAuf THEN FALSE ELSE TRUE).
- IF NOT lNeu THEN lMut = (IF RuestAuf.MBest = tAufze.MBest THEN FALSE ELSE TRUE).
- /* ------------------------------------------------------ */
- IF lMut THEN
- DO:
- FOR EACH RuestAuf
- WHERE RuestAuf.Firma = tAufze.Firma
- AND RuestAuf.Aufnr = tAufze.Aufnr
- AND RuestAuf.Pos = tAufze.Pos :
-
- ASSIGN
- RuestAuf.iMenge = tAufze.MBest - RuestAuf.MBest
- RuestAuf.MBest = tAufze.MBest.
- IF RuestAuf.lGeruestet THEN
- DO:
- ASSIGN
- RuestAuf.lGeruestet = FALSE
- RuestAuf.lPAGedruckt = FALSE
- RuestAuf.lGeladen = FALSE
- RuestAuf.lLAGedruckt = FALSE.
- END.
- END.
- END.
-
-
- DO WHILE TRUE:
- IF NOT lNeu AND
- NOT lMut THEN LEAVE.
-
- iAnz = DYNAMIC-FUNCTION ('getHoReLager':U IN THIS-PROCEDURE, RECID(tAufze) ).
- IF iAnz = 0 THEN
- DO:
- FIND ArtLager NO-LOCK OF tAufze.
- CREATE tLagerOrte.
- ASSIGN
- tLagerOrte.cSort = '.KeinLager'
- tLagerOrte.iBestand = ArtLager.Bestand
- tLagerOrte.rLotLager = 0
- tLagerOrte.rHoReLager = 0
- tLagerorte.HoReLager_Id = 0
- tLagerOrte.Lotnr = ''
- tLagerOrte.Verfall = ?
- tLagerOrte.lLotnr = tAufze.lLotnr
- tLagerOrte.lVerfall = tAufze.lVerfall
- tLagerorte.cArt = 'A'
- tLagerOrte.iMenge = ArtLager.Bestand
- .
- LEAVE.
- END.
-
- IF tAufze.lVerfall OR
- tAufze.lLotnr THEN
- DO:
- iAnz = DYNAMIC-FUNCTION ('getLotLager':U IN THIS-PROCEDURE, RECID(tAufze) ).
- IF iAnz > 0 THEN LEAVE.
- END.
-
- iMenge = tAufze.MBest.
- FOR EACH tHoReLager NO-LOCK
- WHERE tHoReLager.Firma = tAufze.Firma
- AND tHoReLager.Lager = tAufze.Lager
- AND tHoReLager.Artnr = tAufze.Artnr
- AND tHoReLager.Inhalt = tAufze.Inhalt
- /* AND tHoReLager.Jahr = tAufze.Jahr*/
-
- BY tHoReLager.iPrior
- BY tHoReLager.Bestand :
- CREATE tLagerOrte.
- ASSIGN
- tLagerOrte.cSort = tHoReLager.cSort
- tLagerOrte.iBestand = tHoReLager.Bestand
- tLagerOrte.rLotLager = 0
- tLagerOrte.rHoReLager = tHoReLager.iRecid
- tLagerorte.HoReLager_Id = tHoReLager.HoReLager_Id
- tLagerOrte.Lotnr = ''
- tLagerOrte.Verfall = ?
- tLagerOrte.lLotnr = tAufze.lLotnr
- tLagerOrte.lVerfall = tAufze.lVerfall
- tLagerorte.cArt = 'H'
- tLagerOrte.iMenge = (IF tHoReLager.Bestand >= iMenge THEN iMenge ELSE tHoReLager.Bestand)
- .
- iAnz = iAnz + 1.
- IF tLagerOrte.iBestand >= iMenge THEN LEAVE.
- iMenge = iMenge - tLagerOrte.iBestand.
- IF iMenge <= 0 THEN
- DO:
- iMenge = 0.
- LEAVE.
- END.
- END.
-
- IF iMenge > 0 THEN
- DO:
- FIND FIRST tLagerOrte
- WHERE tLagerOrte.iMenge = 0 NO-ERROR.
- IF AVAILABLE tLagerOrte THEN tLagerOrte.iMenge = iMenge.
- ELSE
- DO:
- FIND FIRST tLagerOrte NO-ERROR.
- IF AVAILABLE tLagerOrte THEN tLagerOrte.iMenge = iMenge.
- END.
- END.
- LEAVE.
- END.
-
- /* ------------------------------------------------------ */
- /* Schreiben RuestAuf für die Rüstapplikation */
- /* Aufgeteilt nach Rüstplatz */
- /* ------------------------------------------------------ */
- FOR EACH tLagerOrte
- BY tLagerOrte.Verfall
- BY tLagerOrte.cSort :
-
- IF tLagerOrte.iMenge < 0 THEN tLagerOrte.iMenge = 0.
-
- FIND LAST RuestAuf
- WHERE RuestAuf.Firma = tAufze.Firma
- AND RuestAuf.Aufnr = tAufze.Aufnr
- AND RuestAuf.Pos = tAufze.Pos NO-ERROR.
- iSubPos = (IF AVAILABLE RuestAuf THEN RuestAuf.SubPos + 5 ELSE 0).
- FIND FIRST RuestAuf
- WHERE RuestAuf.Firma = tAufze.Firma
- AND RuestAuf.Aufnr = tAufze.Aufnr
- AND RuestAuf.Pos = tAufze.Pos
- AND RuestAuf.Verfall = tLagerOrte.Verfall
- AND RuestAuf.Lotnr = tLagerOrte.Lotnr NO-ERROR.
- IF NOT AVAILABLE RuestAuf THEN
- DO:
- CREATE RuestAuf.
- ASSIGN
- RuestAuf.Firma = tAufze.Firma
- RuestAuf.Aufnr = tAufze.Aufnr
- RuestAuf.Platz = tAufze.Platz
- RuestAuf.Pos = tAufze.Pos
- RuestAuf.SubPos = iSubPos
- RuestAuf.Artnr = tAufze.Artnr
- RuestAuf.Inhalt = tAufze.Inhalt
- RuestAuf.Jahr = tAufze.Jahr
- RuestAuf.MBest = tAufze.MBest
- RuestAuf.MGeli = 0
- RuestAuf.GGeb_Best = tAufze.GGeb_Be
- RuestAuf.GGeb_Geli = 0
- RuestAuf.VGeb_Best = tAufze.VGeb_Be
- RuestAuf.VGeb_Geli = 0
- RuestAuf.KGeb_Best = tAufze.KGeb_Be
- RuestAuf.KGeb_Geli = 0
- RuestAuf.lRSGedruckt = TRUE
- RuestAuf.lGeruestet = FALSE
- RuestAuf.lPAGedruckt = FALSE
- RuestAuf.lLAGedruckt = FALSE
- RuestAuf.lGeladen = FALSE
- RuestAuf.lLSGedruckt = FALSE
- RuestAuf.Lotnr = tLagerorte.Lotnr
- RuestAuf.Verfall = tLagerorte.Verfall
- RuestAuf.RecidHoReLager = tLagerOrte.rHoReLager
- RuestAuf.RecidLotLager = tLagerOrte.rLotLager
- .
- END.
- RuestAuf.iMenge = tLagerOrte.iMenge.
-
- IF RuestAuf.MBest <> tAufze.MBest THEN
- DO:
- ASSIGN
- RuestAuf.MBest = tAufze.MBest
- RuestAuf.GGeb_Best = tAufze.GGeb_Be
- RuestAuf.VGeb_Best = tAufze.VGeb_Be
- RuestAuf.KGeb_Best = tAufze.KGeb_Be
- RuestAuf.lGeruestet = FALSE
- RuestAuf.lPAGedruckt = FALSE.
- IF RuestAuf.MBest < RuestAuf.MGeli THEN RuestAuf.MGeli = RuestAuf.MBest.
- IF RuestAuf.GGeb_Best < RuestAuf.GGeb_Geli THEN RuestAuf.GGeb_Geli = RuestAuf.GGeb_Best.
- IF RuestAuf.VGeb_Best < RuestAuf.VGeb_Geli THEN RuestAuf.VGeb_Geli = RuestAuf.VGeb_Best.
- IF RuestAuf.KGeb_Best < RuestAuf.KGeb_Geli THEN RuestAuf.KGeb_Geli = RuestAuf.KGeb_Best.
- END.
- ASSIGN
- RuestAuf.lRSGedruckt = TRUE
- RuestAuf.Lagerort = tLagerOrte.cSort
- RuestAuf.Platz = tAufze.Platz.
-
- iSubPos = iSubPos + 5.
- END.
- /* ------------------------------------------------------ */
- DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
- IF NOT FIRST-OF ( tAufze.Platz ) THEN LEAVE.
- ASSIGN
- iSeite = 0
- iZeile = 0
- iTime = iTime + 1
- iPlatz = tAufze.Platz.
- FIND FIRST tSchrift NO-LOCK
- WHERE tSchrift.iPlatz = iPlatz.
-
- FIND bDrucker NO-LOCK
- WHERE bDrucker.Drucker = tSchrift.SchDru.
-
- F_Drucker:SCREEN-VALUE = tSchrift.Schname.
- F_Schrift:SCREEN-VALUE = tSchrift.Schbild.
-
- IF NOT lOpen THEN
- DO:
- cDrucker = tSchrift.Schname.
- cDateiName = SESSION:TEMP-DIR
- + 'RuestPapier'
- + STRING(TIME,'999999')
- + STRING(RANDOM(1, 999999),'999999')
- + '.txt'.
- OUTPUT STREAM out_Stream TO VALUE(cDateiName) NO-MAP NO-CONVERT.
- lOpen = TRUE.
- LEAVE.
- END.
-
- IF tSchrift.Schname = cDrucker THEN
- DO:
- PUT STREAM out_Stream CONTROL CHR(12).
- LEAVE.
- END.
-
- OUTPUT STREAM out_Stream CLOSE.
- lOpen = FALSE.
- RUN DRUCKAUSGABE NO-ERROR.
- IF ERROR-STATUS:ERROR THEN RETURN 'ERROR'.
-
- cDrucker = tSchrift.Schname.
- cDateiName = SESSION:TEMP-DIR
- + 'RuestPapier'
- + STRING(TIME,'999999')
- + STRING(RANDOM(1, 999999),'999999')
- + '.txt'.
- OUTPUT STREAM out_Stream TO VALUE(cDateiName) NO-MAP NO-CONVERT.
- lOpen = TRUE.
- LEAVE.
- END.
-
- IF iSeite = 0 OR
- (tSchrift.Schzztot - iZeile - 2) <= tSchrift.Schzzend THEN
- DO:
- RUN RUESTSCHEIN_KOPF ( iPlatz ).
- END.
-
- FIND FIRST zAufze.
- BUFFER-COPY tAufze TO zAufze.
- RUN RUESTSCHEIN_ARTIKELZEILE.
-
- IF NOT LAST-OF ( tAufze.Platz ) THEN NEXT.
-
- cZeile = FILL('=', 100).
- DYNAMIC-FUNCTION('putStream':U, 'N', 2, INPUT-OUTPUT cZeile) NO-ERROR.
-
- FOR EACH btAufze NO-LOCK
- WHERE btAufze.Platz = 99:
- FIND FIRST zAufze.
- BUFFER-COPY btAufze TO zAufze.
- RUN RUESTSCHEIN_ARTIKELZEILE.
- i2 = i2 + 1.
- END.
-
- END.
-
- IF lOpen THEN
- DO:
- OUTPUT STREAM out_Stream CLOSE.
- lOpen = FALSE.
- RUN DRUCKAUSGABE NO-ERROR.
- IF ERROR-STATUS:ERROR THEN RETURN 'ERROR'.
- END.
-
- IF bAufko.Auf_Sta < 1 THEN RUN WEITER ( bAufko.Aufnr ).
- RETURN ''.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RUESTSCHEIN_ARTIKELZEILE gDruckenRuesten
- PROCEDURE RUESTSCHEIN_ARTIKELZEILE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE cBarCode AS CHARACTER NO-UNDO.
- DEFINE VARIABLE oBarCode AS CHARACTER NO-UNDO.
- /*
- DEF VAR cCodeArt AS CHAR INIT 'P0205075' NO-UNDO.
- */
- DEFINE VARIABLE cCodeArt AS CHARACTER INIT 'P0205080' NO-UNDO.
- FIND FIRST zAufze NO-LOCK.
-
- PUT STREAM Out_Stream CONTROL bDrucker.Dru15cpi.
- DO WHILE zAufze.Artnr = 0:
- SUBSTRING(cZeile,036) = STRING(zAufze.Bez1,"x(30)").
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- IF zAufze.Bez2 <> '' THEN
- DO:
- SUBSTRING(cZeile,036) = STRING(zAufze.Bez2,"x(30)").
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
- RETURN.
- END.
-
- FIND Artst NO-LOCK OF zAufze.
-
- FIND VGebinde
- WHERE VGebinde.Firma = zAufze.Firma
- AND VGebinde.Geb_Cd = zAufze.VGeb_Cd NO-ERROR.
- FIND KGebinde
- WHERE KGebinde.Firma = zAufze.Firma
- AND KGebinde.Geb_Cd = zAufze.KGeb_Cd NO-ERROR.
- FIND FIRST ArtLief NO-LOCK
- WHERE ArtLief.Firma = zAufze.Firma
- AND ArtLief.Artnr = zAufze.Artnr
- AND ArtLief.Inhalt = zAufze.Inhalt
- AND ArtLief.Jahr = zAufze.Jahr NO-ERROR.
- cBarCode = ''.
- oBarCode = ''.
- IF AVAILABLE ArtLief THEN
- DO:
- IF ArtLief.Strichcode_KGeb <> '' THEN cBarCode = ArtLief.Strichcode_KGeb.
- END.
- IF cBarCode = '' THEN cBarCode = Artst.Strichcode.
- IF cBarCode = '' THEN cBarCode = TRIM(STRING(zAufze.Artnr ,'zzzzz9'))
- + '.'
- + TRIM(STRING(zAufze.Inhalt,'zzz9'))
- + '.'
- + TRIM(STRING(zAufze.Jahr ,'zzz9')).
- ELSE cBarCode = ''.
- /* IF cBarCode = '' THEN cBarCode = TRIM(STRING(zAufze.Artnr ,'zzzzz9'))*/
- /* + '.' */
- /* + TRIM(STRING(zAufze.Inhalt,'zzz9')) */
- /* + '.' */
- /* + TRIM(STRING(zAufze.Jahr ,'zzz9')). */
- IF cBarCode <> '' THEN
- DO: .
- RUN BAR-CODE-39 ( INPUT cBarCode,
- INPUT cCodeArt,
- OUTPUT oBarCode ).
- END.
-
- SUBSTRING(cZeile,001) = STRING(KGebinde.KBez,"x(10)").
- IF zAufze.VGeb_Be <> 0 THEN
- DO:
- SUBSTRING(cZeile,012) = STRING(zAufze.VGeb_Be,'->>>')
- + 'x '
- + VGebinde.KBez.
- END.
- SUBSTRING(cZeile,028) = STRING(zAufze.MBest ,"->>>>9").
- SUBSTRING(cZeile,036) = STRING(zAufze.Bez1 ,"x(30)").
- IF zAufze.Alk_Gehalt <> 0 THEN SUBSTRING(cZeile,068) = STRING(zAufze.Alk_Gehalt,"zz9.9%").
- IF zAufze.Jahr > 9 THEN SUBSTRING(cZeile,075) = STRING(zAufze.Jahr,"9999").
-
- SUBSTRING(cZeile,081) = STRING(zAufze.Artnr ,"999999").
-
- SUBSTRING(cZeile,089) = STRING(ENTRY(1, zAufze.LagOrt, ','),'x(14)').
- cZeile = bDrucker.Drufettb
- + SUBSTRING(cZeile,001,027)
- + bDrucker.Drufette
- + SUBSTRING(cZeile,028,061)
- + bDrucker.Drufettb
- + SUBSTRING(cZeile,089,014)
- + bDrucker.Drufette
- + SUBSTRING(cZeile,103).
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
-
- IF zAufze.Bez2 <> '' THEN
- DO:
- SUBSTRING(cZeile,036) = STRING(zAufze.Bez2,"x(30)").
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
- IF oBarCode <> '' THEN
- DO:
- SUBSTRING(cZeile,036) = CHR(27) + "&f0S" /* Cursorposition speichern */
- + CHR(27) + "*p" /* Cursor neu Positionieren anhand der Zeile */
- + STRING((iZeile * 50) - 25,"9999") + "Y"
- + oBarcode
- + CHR(027) + "&f1S". /* Cusrorposition zurückholen */
- DYNAMIC-FUNCTION('putStream':U, 'N', 2, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
- ELSE
- DO:
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RUESTSCHEIN_KOPF gDruckenRuesten
- PROCEDURE RUESTSCHEIN_KOPF :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER ipPlatz AS INTEGER NO-UNDO.
- DEFINE VARIABLE cAufnr AS CHARACTER NO-UNDO.
- DEFINE VARIABLE oBarCode AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ix AS INTEGER NO-UNDO.
- DEFINE VARIABLE i1 AS INTEGER NO-UNDO.
- DEFINE VARIABLE i2 AS INTEGER NO-UNDO.
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cLeerZeile AS CHARACTER NO-UNDO.
-
- /*
- DEF VAR cCodeArt AS CHAR INIT 'P0205075' NO-UNDO.
- */
- /* P = Portrait */
- /* L = Landscape */
- DEFINE VARIABLE cCodeArt AS CHARACTER INIT 'P0210200' NO-UNDO.
- RUN NEUE_SEITE.
- PUT STREAM out_Stream CONTROL bDrucker.Dru15cpi.
- PUT STREAM out_Stream CONTROL CHR(27) '&k2G'.
-
- cAufnr = STRING(bAufko.Aufnr,'9999999')
- + '.'
- + TRIM(STRING(ipPlatz,'>9')).
- RUN BAR-CODE-39 ( INPUT cAufnr ,
- INPUT cCodeArt,
- OUTPUT oBarCode ).
-
- oBarCode = CHR(027) + "*p" + "100y" + "100X" + oBarCode
- + CHR(027) + "*p" + "405y" + "260X"
- + bDrucker.Drufettb + bDrucker.Dru10cpi + bDrucker.Drufettb
- + cAufnr
- + bDrucker.Drufette + bDrucker.Dru15cpi + bDrucker.Drufette
- + CHR(027) + "*p" + "0y" + "0X".
- PUT STREAM out_Stream CONTROL oBarCode.
-
- FIND FIRST tSchrift NO-LOCK
- WHERE tSchrift.iPlatz = iPlatz.
- cLeerZeile = FILL(CHR(10), tSchrift.Schzzbeg).
- IF cLeerZeile <> '' THEN PUT STREAM out_Stream cLeerZeile.
- iZeile = tSchrift.Schzzbeg.
-
- IF iSeite = 1 THEN
- DO:
- FIND LDebst USE-INDEX Debst-k1
- WHERE LDebst.Firma = bAufko.Firma
- AND LDebst.Knr = bAufko.Knr NO-LOCK NO-ERROR.
- FIND FDebst USE-INDEX Debst-k1
- WHERE FDebst.Firma = bAufko.Firma
- AND FDebst.Knr = bAufko.Fak_Knr NO-LOCK NO-ERROR.
- END.
- IF bAufko.Adresse[05] <> '' THEN
- DO:
- DO ix = 1 TO 5:
- SUBSTRING(cZeile,066) = bAufko.Adresse[ix].
- IF ix = 5 THEN
- DO: DYNAMIC-FUNCTION('putStream':U, 'F', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
- ELSE
- DO: DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
- END.
- DYNAMIC-FUNCTION('putStream':U, 'N', 2, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
- ELSE
- DO:
- DO ix = 6 TO 12:
- SUBSTRING(cZeile,066) = bAdresse.Anschrift[ix].
- IF ix = 11 THEN
- DO: DYNAMIC-FUNCTION('putStream':U, 'F', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
- ELSE
- DO: DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
- END.
- END.
-
- IF bAufko.Auf_Tot >= 0
- THEN SUBSTRING(cZeile,008) = SUBSTRING(FormText[02],01,20).
- ELSE SUBSTRING(cZeile,008) = SUBSTRING(FormText[02],21,20).
- SUBSTRING(cZeile,066) = TRIM(SUBSTRING(FormText[07],01,20))
- + " "
- + STRING(dDatum,"99.99.9999").
- cZeile = bDrucker.Drufettb
- + SUBSTRING(cZeile,001,30)
- + bDrucker.Drufette
- + SUBSTRING(cZeile,031).
- DYNAMIC-FUNCTION('putStream':U, 'N', 2, INPUT-OUTPUT cZeile) NO-ERROR.
-
- IF iSeite = 1 THEN
- DO:
- FIND FIRST tTabtexte NO-LOCK
- WHERE tTabTexte.cRecArt = 'ABLAD' NO-ERROR.
- IF AVAILABLE tTabTexte THEN SUBSTRING(cZeile,008) = tTabTexte.cFeld3.
- SUBSTRING(cZeile,066) = TRIM(SUBSTRING(FormText[08],21,20))
- + STRING(bAufko.Gewicht,"zz,zz9.999-").
- cZeile = TRIM(bDrucker.Drufettb)
- + SUBSTRING(cZeile,001,65)
- + TRIM(bDrucker.Drufette)
- + SUBSTRING(cZeile,066).
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
-
- SUBSTRING(cZeile,008) = TRIM(SUBSTRING(FormText[07],41,20))
- + " "
- + STRING(bAufko.Auf_Datum,"99.99.9999").
- SUBSTRING(cZeile,038) = TRIM(SUBSTRING(FormText[08],01,20))
- + STRING(bAufko.Knr,"z999999").
- SUBSTRING(cZeile,066) = TRIM(SUBSTRING(FormText[08],41,20))
- + " "
- + bAdresse.Tel-1.
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
-
- SUBSTRING(cZeile,008) = TRIM(SUBSTRING(FormText[09],21,20))
- + " "
- + STRING(bAufko.Lief_Datum,"99.99.9999").
- SUBSTRING(cZeile,038) = TRIM(SUBSTRING(FormText[09],01,20))
- + " ". /* Lieferart */
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
-
- SUBSTRING(cZeile,008) = TRIM(SUBSTRING(FormText[07],21,20))
- + " "
- + STRING(bAufko.U_Ref,'x(20)').
- DYNAMIC-FUNCTION('putStream':U, 'N', 2, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
- SUBSTRING(cZeile,001) = TRIM(SUBSTRING(FormText[03],01,70)).
- SUBSTRING(cZeile,071) = TRIM(SUBSTRING(FormText[04],01,70)).
- DYNAMIC-FUNCTION('putStream':U, 'F', 2, INPUT-OUTPUT cZeile) NO-ERROR.
-
- IF iSeite = 1 AND
- bAufko.Abh_Text <> '' THEN
- DO:
- cString = bAufko.Abh_Text.
- i2 = 0.
- DO i1 = 1 TO NUM-ENTRIES(cString, CHR(10)):
- SUBSTRING(cZeile,008) = ENTRY(i1, cString, CHR(10)).
- DYNAMIC-FUNCTION('putStream':U, 'F', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- i2 = i2 + 1.
- END.
- IF i2 > 0 THEN
- DO:
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
- END.
- IF iSeite = 1 THEN
- DO:
- i2 = 0.
- FOR EACH btAufze NO-LOCK
- WHERE btAufze.Platz = 0:
- FIND FIRST zAufze.
- BUFFER-COPY btAufze TO zAufze.
- RUN RUESTSCHEIN_ARTIKELZEILE.
- i2 = i2 + 1.
- END.
- IF i2 > 0 THEN
- DO:
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
- FIND FIRST RuestPlatz NO-LOCK
- WHERE RuestPlatz.Firma = bAufko.Firma
- AND RuestPlatz.RuestArt = iRuestArt
- AND RuestPlatz.Platz = ipPlatz NO-ERROR.
- i1 = (98 - LENGTH(RuestPlatz.Bezeichnung)) / 2.
- cZeile = FILL('=', i1) + ' ' + RuestPlatz.Bezeichnung + ' ' + FILL('=', i1).
- DYNAMIC-FUNCTION('putStream':U, 'N', 2, INPUT-OUTPUT cZeile) NO-ERROR.
- END.
-
- DO WHILE iSeite > 1:
- DYNAMIC-FUNCTION('putStream':U, 'N', 1, INPUT-OUTPUT cZeile) NO-ERROR.
- LEAVE.
- END.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* ************************ Function Implementations ***************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getHoreLager gDruckenRuesten
- FUNCTION getHoReLager RETURNS INTEGER
- ( iprtAufze AS RECID ):
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE iAnz AS INTEGER NO-UNDO.
- DEFINE BUFFER btAufze FOR tAufze.
-
- FIND btAufze WHERE RECID(btAufze) = iprtAufze.
-
- DO WHILE TRUE:
- /* ------------------------------------------------------ */
- /* Artikel genau (inkl. Jahrgang) und Bestand */
- /* ------------------------------------------------------ */
- FOR EACH HoReLager NO-LOCK
- WHERE HoReLager.Firma = Firma
- AND HoReLager.Art = 1
- AND HoReLager.Lager = tAufze.Lager
- AND HoReLager.Artnr = tAufze.Artnr
- AND HoReLager.Inhalt = tAufze.Inhalt
- AND HoReLager.Jahr = tAufze.Jahr
- AND HoReLager.Bestand > 0 :
-
- CREATE tHoReLager.
- BUFFER-COPY HoReLager
- TO tHoReLager
- ASSIGN
- tHoReLager.iRecid = RECID(HoReLager)
- tHoReLager.iPrior = 1.
- iAnz = iAnz + 1.
- END.
-
- /* ------------------------------------------------------ */
- /* Artikel ohne Jahrgang aber mit Bestand */
- /* ------------------------------------------------------ */
- FOR EACH HoReLager NO-LOCK
- WHERE HoReLager.Firma = Firma
- AND HoReLager.Art = 1
- AND HoReLager.Lager = tAufze.Lager
- AND HoReLager.Artnr = tAufze.Artnr
- AND HoReLager.Inhalt = tAufze.Inhalt
- AND HoReLager.Bestand > 0 :
-
- FIND FIRST tHoReLager NO-LOCK
- WHERE tHoReLager.cSort = HoReLager.cSort NO-ERROR.
- IF AVAILABLE tHoReLager THEN
- DO:
- tHoReLager.Bestand = tHoReLager.Bestand + HoReLager.Bestand.
- NEXT.
- END.
-
- CREATE tHoReLager.
- BUFFER-COPY HoReLager
- TO tHoReLager
- ASSIGN
- tHoReLager.iRecid = RECID(HoReLager)
- tHoReLager.iPrior = 2.
- iAnz = iAnz + 1.
- END.
-
- /* ------------------------------------------------------ */
- /* Artikel genau (inkl. Jahrgang) ohne Bestand */
- /* ------------------------------------------------------ */
- FOR EACH HoReLager NO-LOCK
- WHERE HoReLager.Firma = Firma
- AND HoReLager.Art = 1
- AND HoReLager.Lager = tAufze.Lager
- AND HoReLager.Artnr = tAufze.Artnr
- AND HoReLager.Inhalt = tAufze.Inhalt
- AND HoReLager.Jahr = tAufze.Jahr
- AND HoReLager.Bestand = 0 :
-
- FIND FIRST tHoReLager NO-LOCK
- WHERE tHoReLager.cSort = HoReLager.cSort NO-ERROR.
- IF AVAILABLE tHoReLager THEN NEXT.
-
- CREATE tHoReLager.
- BUFFER-COPY HoReLager
- TO tHoReLager
- ASSIGN
- tHoReLager.iRecid = RECID(HoReLager)
- tHoReLager.iPrior = 3.
- iAnz = iAnz + 1.
- END.
-
- /* ------------------------------------------------------ */
- /* Artikel ohne Jahrgang und ohne Bestand */
- /* ------------------------------------------------------ */
- FOR EACH HoReLager NO-LOCK
- WHERE HoReLager.Firma = Firma
- AND HoReLager.Art = 1
- AND HoReLager.Lager = tAufze.Lager
- AND HoReLager.Artnr = tAufze.Artnr
- AND HoReLager.Inhalt = tAufze.Inhalt
- AND HoReLager.Bestand = 0 :
-
- FIND FIRST tHoReLager NO-LOCK
- WHERE tHoReLager.cSort = HoReLager.cSort NO-ERROR.
- IF AVAILABLE tHoReLager THEN NEXT.
-
- CREATE tHoReLager.
- BUFFER-COPY HoReLager
- TO tHoReLager
- ASSIGN
- tHoReLager.iRecid = RECID(HoReLager)
- tHoReLager.iPrior = 4.
- iAnz = iAnz + 1.
- END.
-
- IF iAnz > 0 THEN RETURN iAnz.
-
- /* ------------------------------------------------------ */
- /* NACHFUELLLAGER */
- /* ------------------------------------------------------ */
- /* Artikel genau (inkl. Jahrgang) und Bestand */
- /* ------------------------------------------------------ */
- /*
- FOR EACH HoReLager NO-LOCK
- WHERE HoReLager.Firma = Firma
- AND HoReLager.Art = 2
- AND HoReLager.Lager = tAufze.Lager
- AND HoReLager.Artnr = tAufze.Artnr
- AND HoReLager.Inhalt = tAufze.Inhalt
- AND HoReLager.Jahr = tAufze.Jahr
- AND HoReLager.Bestand > 0 :
-
- FIND FIRST tHoReLager NO-LOCK
- WHERE tHoReLager.cSort = HoReLager.cSort NO-ERROR.
- IF AVAILABLE tHoReLager THEN
- DO:
- tHoReLager.Bestand = tHoReLager.Bestand + HoReLager.Bestand.
- NEXT.
- END.
-
- CREATE tHoReLager.
- BUFFER-COPY HoReLager
- TO tHoReLager
- ASSIGN
- tHoReLager.iRecid = RECID(HoReLager)
- tHoReLager.iPrior = 5.
- iAnz = iAnz + 1.
- END.
-
- /* ------------------------------------------------------ */
- /* Artikel ohne Jahrgang aber mit Bestand */
- /* ------------------------------------------------------ */
- FOR EACH HoReLager NO-LOCK
- WHERE HoReLager.Firma = Firma
- AND HoReLager.Art = 2
- AND HoReLager.Lager = tAufze.Lager
- AND HoReLager.Artnr = tAufze.Artnr
- AND HoReLager.Inhalt = tAufze.Inhalt
- AND HoReLager.Bestand > 0 :
-
- FIND FIRST tHoReLager NO-LOCK
- WHERE tHoReLager.cSort = HoReLager.cSort NO-ERROR.
- IF AVAILABLE tHoReLager THEN
- DO:
- tHoReLager.Bestand = tHoReLager.Bestand + HoReLager.Bestand.
- NEXT.
- END.
-
- CREATE tHoReLager.
- BUFFER-COPY HoReLager
- TO tHoReLager
- ASSIGN
- tHoReLager.iRecid = RECID(HoReLager)
- tHoReLager.iPrior = 6.
- iAnz = iAnz + 1.
- END.
-
- /* ------------------------------------------------------ */
- /* Artikel genau (inkl. Jahrgang) ohne Bestand */
- /* ------------------------------------------------------ */
- FOR EACH HoReLager NO-LOCK
- WHERE HoReLager.Firma = Firma
- AND HoReLager.Art = 2
- AND HoReLager.Lager = tAufze.Lager
- AND HoReLager.Artnr = tAufze.Artnr
- AND HoReLager.Inhalt = tAufze.Inhalt
- AND HoReLager.Jahr = tAufze.Jahr
- AND HoReLager.Bestand = 0 :
-
- FIND FIRST tHoReLager NO-LOCK
- WHERE tHoReLager.cSort = HoReLager.cSort NO-ERROR.
- IF AVAILABLE tHoReLager THEN NEXT.
-
- CREATE tHoReLager.
- BUFFER-COPY HoReLager
- TO tHoReLager
- ASSIGN
- tHoReLager.iRecid = RECID(HoReLager)
- tHoReLager.iPrior = 7.
- iAnz = iAnz + 1.
- END.
-
- /* ------------------------------------------------------ */
- /* Artikel ohne Jahrgang und ohne Bestand */
- /* ------------------------------------------------------ */
- FOR EACH HoReLager NO-LOCK
- WHERE HoReLager.Firma = Firma
- AND HoReLager.Art = 2
- AND HoReLager.Lager = tAufze.Lager
- AND HoReLager.Artnr = tAufze.Artnr
- AND HoReLager.Inhalt = tAufze.Inhalt
- AND HoReLager.Bestand = 0:
-
- FIND FIRST tHoReLager NO-LOCK
- WHERE tHoReLager.cSort = HoReLager.cSort NO-ERROR.
- IF AVAILABLE tHoReLager THEN NEXT.
-
- CREATE tHoReLager.
- BUFFER-COPY HoReLager
- TO tHoReLager
- ASSIGN
- tHoReLager.iRecid = RECID(HoReLager)
- tHoReLager.iPrior = 8.
- iAnz = iAnz + 1.
- END.
- */
-
- LEAVE.
- END.
-
- RETURN iAnz.
- END FUNCTION.
-
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getLogName gDruckenRuesten
- FUNCTION getLogName RETURNS CHARACTER
- ( /* parameter-definitions */ ) :
- /*------------------------------------------------------------------------------*/
- /* Purpose: */
- /* Parameters: <none> */
- /* Notes: */
- /*------------------------------------------------------------------------------*/
- DEFINE VARIABLE cPath AS CHARACTER NO-UNDO.
-
- GET-KEY-VALUE SECTION 'GrundEinstellungen'
- KEY 'Ge_MIS_TEMP'
- VALUE cPath.
- IF cPath = '' OR
- cPath = ? THEN cPath = SESSION:TEMP-DIRECTORY.
- IF SUBSTRING(cPath, LENGTH(cPath), 01) <> '/' AND
- SUBSTRING(cPath, LENGTH(cPath), 01) <> '\' THEN cPath = cPath + '\'.
- cPath = cPath + Progname + REPLACE(STRING(TODAY,'99.99.9999'), '.', '') + '.Log'.
- RETURN cPath.
- END FUNCTION.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getLotLager gDruckenRuesten
- FUNCTION getLotLager RETURNS INTEGER
- ( iprtAufze AS RECID ):
- /*------------------------------------------------------------------------------*/
- /* Purpose: */
- /* Parameters: <none> */
- /* Notes: */
- /*------------------------------------------------------------------------------*/
-
- DEFINE VARIABLE iMenge AS INTEGER NO-UNDO.
- DEFINE VARIABLE iAnz AS INTEGER NO-UNDO.
- DEFINE BUFFER btAufze FOR tAufze.
- DEFINE BUFFER bLotLager FOR LotLager.
-
- FIND btAufze WHERE RECID(btAufze) = iprtAufze.
-
- iMenge = btAufze.MBest.
- iAnz = 0.
-
- FOR EACH bLotLager NO-LOCK USE-INDEX LotLager-k3
- WHERE bLotLager.Firma = btAufze.Firma
- AND bLotLager.Lager = btAufze.Lager
- AND bLotLager.Artnr = btAufze.Artnr
- AND bLotLager.Inhalt = btAufze.Inhalt
- AND bLotLager.Jahr = btAufze.Jahr
- AND bLotLager.Bestand > 0 ,
-
- FIRST tHoReLager WHERE tHoReLager.HoReLager_Id = bLotLager.HoReLager_Id:
-
- CREATE tLagerOrte.
- ASSIGN
- tLagerOrte.cSort = tHoReLager.cSort
- tLagerOrte.iBestand = bLotLager.Bestand
- tLagerOrte.rLotLager = RECID(bLotLager)
- tLagerOrte.rHoReLager = tHoReLager.iRecid
- tLagerorte.HoReLager_Id = tHoReLager.HoReLager_Id
- tLagerOrte.Lotnr = bLotLager.Lotnummer
- tLagerOrte.Verfall = bLotLager.Verfall
- tLagerOrte.lLotnr = btAufze.lLotnr
- tLagerOrte.lVerfall = btAufze.lVerfall
- tLagerorte.cArt = 'L'
- tLagerOrte.iMenge = (IF bLotLager.Bestand >= iMenge THEN iMenge ELSE bLotLager.Bestand)
- .
- iAnz = iAnz + 1.
- IF bLotLager.Bestand >= iMenge THEN RETURN iAnz.
- iMenge = iMenge - bLotLager.Bestand.
- END.
- FOR EACH bLotLager NO-LOCK USE-INDEX LotLager-k3
- WHERE bLotLager.Firma = btAufze.Firma
- AND bLotLager.Lager = btAufze.Lager
- AND bLotLager.Artnr = btAufze.Artnr
- AND bLotLager.Inhalt = btAufze.Inhalt
- AND bLotLager.Jahr = btAufze.Jahr
- AND bLotLager.Bestand = 0,
-
- FIRST tHoReLager WHERE tHoReLager.HoReLager_Id = bLotLager.HoReLager_Id:
-
- CREATE tLagerOrte.
- ASSIGN
- tLagerOrte.cSort = tHoReLager.cSort
- tLagerOrte.iBestand = bLotLager.Bestand
- tLagerOrte.rLotLager = RECID(bLotLager)
- tLagerOrte.rHoReLager = tHoReLager.iRecid
- tLagerorte.HoReLager_Id = tHoReLager.HoReLager_Id
- tLagerOrte.Lotnr = bLotLager.Lotnummer
- tLagerOrte.Verfall = bLotLager.Verfall
- tLagerOrte.lLotnr = btAufze.lLotnr
- tLagerOrte.lVerfall = btAufze.lVerfall
- tLagerorte.cArt = 'L'
- tLagerOrte.iMenge = iMenge.
- .
- iMenge = 0.
- iAnz = iAnz + 1.
- LEAVE.
- END.
-
- RETURN iAnz.
- END FUNCTION.
-
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION putStream gDruckenRuesten
- FUNCTION putStream RETURNS LOGICAL
- ( ipAttrib AS CHARACTER, ipAnzZeilen AS INTEGER, INPUT-OUTPUT ipZeile AS CHARACTER ) :
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE cLF AS CHARACTER NO-UNDO.
-
- cLF = FILL(CHR(10), ipAnzZeilen).
- CASE ipAttrib:
- WHEN 'N' THEN
- PUT STREAM out_Stream CONTROL ipZeile.
- WHEN 'F' THEN
- PUT STREAM out_Stream CONTROL bDrucker.Drufettb ipZeile bDrucker.Drufette.
- WHEN 'U' THEN
- PUT STREAM out_Stream CONTROL bDrucker.Druunterb ipZeile bDrucker.Druuntere.
- END CASE.
-
- PUT STREAM out_Stream CONTROL cLF.
- iZeile = iZeile + ipAnzZeilen.
- ipZeile = ''.
- RETURN TRUE.
- END FUNCTION.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION writeLogFile gDruckenRuesten
- FUNCTION writeLogFile RETURNS LOGICAL
- ( ipMessage AS CHARACTER ) :
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- cString = SUBSTITUTE('&1 &2 -> &3', STRING(TODAY,'99.99.9999'), STRING(TIME,'HH:MM:SS'), ipMessage).
- OUTPUT STREAM LogStream TO VALUE(cLogName) APPEND.
- PUT STREAM LogStream CONTROL cString CHR(10).
- OUTPUT STREAM LogStream CLOSE.
- RETURN TRUE.
- END FUNCTION.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
|