| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284 |
- &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12
- &ANALYZE-RESUME
- USING OpenEdge.Core.String FROM PROPATH.
- USING OpenEdge.Net.HTTP.ClientBuilder FROM PROPATH.
- USING OpenEdge.Net.HTTP.Credentials FROM PROPATH.
- USING OpenEdge.Net.HTTP.IHttpClient FROM PROPATH.
- USING OpenEdge.Net.HTTP.IHttpRequest FROM PROPATH.
- USING OpenEdge.Net.HTTP.IHttpResponse FROM PROPATH.
- USING OpenEdge.Net.HTTP.RequestBuilder FROM PROPATH.
- USING OpenEdge.Net.HTTP.ResponseBuilder FROM PROPATH.
- USING OpenEdge.Net.URI FROM PROPATH.
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS Procedure
- /*------------------------------------------------------------------------
- File :
- Purpose :
- Syntax :
- Description :
- Author(s) :
- Created :
- Notes :
- ----------------------------------------------------------------------*/
- /* This .W file was created with the Progress AppBuilder. */
- /*----------------------------------------------------------------------*/
- /* *************************** Definitions ************************** */
- DEFINE VARIABLE iRuestArt AS INTEGER NO-UNDO.
- DEFINE VARIABLE AdFirma AS CHARACTER NO-UNDO FORMAT "x(04)".
- DEFINE VARIABLE FBFirma AS CHARACTER NO-UNDO FORMAT "x(04)".
- DEFINE VARIABLE Firma AS CHARACTER NO-UNDO FORMAT "x(04)".
- DEFINE VARIABLE Progname AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cLogName AS CHARACTER NO-UNDO.
- DEFINE VARIABLE lBatch AS LOGICAL NO-UNDO INIT TRUE.
- DEFINE VARIABLE cUser AS CHARACTER NO-UNDO.
- DEFINE VARIABLE sAktiv AS LOGICAL NO-UNDO INIT FALSE.
- /*DEFINE VARIABLE cBenutzerDaten AS CHARACTER NO-UNDO. */
- /*DEFINE VARIABLE cBenutzer AS CHARACTER NO-UNDO. */
- /*DEFINE VARIABLE cRuester AS CHARACTER NO-UNDO. */
- DEFINE VARIABLE iAufnr AS INTEGER NO-UNDO.
- DEFINE VARIABLE iRecid AS RECID 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 NO-UNDO EXTENT 30.
- 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 NO-UNDO EXTENT 50.
- DEFINE VARIABLE cRabText AS CHARACTER NO-UNDO FORMAT "x(25)".
- DEFINE VARIABLE cZusText AS CHARACTER NO-UNDO FORMAT "x(25)".
- DEFINE VARIABLE cEpzText AS CHARACTER NO-UNDO FORMAT "x(25)".
- DEFINE VARIABLE lOpen AS LOGICAL NO-UNDO.
- DEFINE VARIABLE lMutation AS LOGICAL NO-UNDO INIT FALSE.
- DEFINE VARIABLE lMailLS AS LOGICAL NO-UNDO INIT FALSE.
- DEFINE VARIABLE lFirst AS LOGICAL NO-UNDO.
- DEFINE VARIABLE lDrucken AS LOGICAL NO-UNDO.
- { properties.i }
- { incl/ttdruckparam.i }
- { incl/ttsendmail.i }
- DEFINE STREAM out_Stream.
- DEFINE BUFFER bAufko FOR Aufko .
- DEFINE BUFFER bAufze FOR Aufze .
- DEFINE BUFFER bTabel FOR Tabel .
- DEFINE BUFFER bArtst FOR Artst .
- DEFINE BUFFER bSchrift FOR Schrift .
- DEFINE BUFFER bDrucker FOR Drucker .
- DEFINE BUFFER bSteuer FOR Steuer .
- DEFINE BUFFER bDebst FOR Debst .
- DEFINE BUFFER bAdresse FOR Adresse .
- DEFINE BUFFER bLotLager FOR LotLager .
- DEFINE BUFFER bHoReLager FOR HoReLager.
- DEFINE TEMP-TABLE tAufze NO-UNDO LIKE Aufze
- FIELD Platz AS INTEGER
- FIELD Lagort AS CHARACTER
- FIELD cMutArt AS CHARACTER
-
- INDEX tAufze-k1 IS PRIMARY
- Platz
- Lagort
- Pos
-
- INDEX tAufze-k2
- Firma
- Aufnr
- Pos.
-
- DEFINE BUFFER btAufze FOR tAufze.
-
- DEFINE TEMP-TABLE zAufze LIKE tAufze.
-
- DEFINE TEMP-TABLE tRuestAuf LIKE RuestAuf.
- DEFINE VARIABLE htRuestAuf AS HANDLE NO-UNDO.
- DEFINE VARIABLE hrawTable AS HANDLE NO-UNDO.
- htRuestAuf = TEMP-TABLE tRuestAuf:DEFAULT-BUFFER-HANDLE.
- hrawTable = BUFFER rawTable:HANDLE.
- 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 TEMP-TABLE tLagerorte
- FIELD iPrio AS INTEGER
- FIELD Art AS INTEGER
- FIELD Artnr AS INTEGER
- FIELD Inhalt AS INTEGER
- FIELD Jahr AS INTEGER
- FIELD cSort AS CHARACTER
- FIELD HoReLager_Id AS INTEGER
- FIELD rHoReLager AS RECID
- FIELD rLotLager AS RECID
- FIELD Lotnr AS CHARACTER
- FIELD Verfall AS DATE
- FIELD Bestand AS INTEGER
- FIELD Platz AS INTEGER
-
- INDEX tLagerorte-k1 IS PRIMARY
- Artnr
- Inhalt
- Jahr
- iPrio
- Art
- cSort.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
- /* ******************** Preprocessor Definitions ******************** */
- &Scoped-define PROCEDURE-TYPE Procedure
- &Scoped-define DB-AWARE no
- /* _UIB-PREPROCESSOR-BLOCK-END */
- &ANALYZE-RESUME
- /* ************************ Function Prototypes ********************** */
- &IF DEFINED(EXCLUDE-getLogfileName) = 0 &THEN
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getLogfileName Procedure
- FUNCTION getLogfileName RETURNS CHARACTER
- ( /* parameter-definitions */ ) FORWARD.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ENDIF
- &IF DEFINED(EXCLUDE-putStream) = 0 &THEN
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD putStream Procedure
- FUNCTION putStream RETURNS LOGICAL
- (ipAttrib AS CHARACTER,
- ipAnzZeilen AS INTEGER,
- INPUT-OUTPUT ipZeile AS CHARACTER) FORWARD.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ENDIF
- /* *********************** Procedure Settings ************************ */
- &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
- /* Settings for THIS-PROCEDURE
- Type: Procedure
- Allow:
- Frames: 0
- Add Fields to: Neither
- Other Settings: CODE-ONLY COMPILE
- */
- &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
- /* ************************* Create Window ************************** */
- &ANALYZE-SUSPEND _CREATE-WINDOW
- /* DESIGN Window definition (used by the UIB)
- CREATE WINDOW Procedure ASSIGN
- HEIGHT = 15
- WIDTH = 60.
- /* END WINDOW DEFINITION */
- */
- &ANALYZE-RESUME
-
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK Procedure
- /* *************************** Main Block *************************** */
- 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.
- DEFINE BUFFER brawTable FOR rawTable.
-
- SAktiv = DYNAMIC-FUNCTION('getSuperaktiv':U) NO-ERROR.
- IF SAktiv = ? THEN SAktiv = FALSE.
- IF SAktiv THEN
- DO:
- AdFirma = DYNAMIC-FUNCTION('getAdMandant':U) NO-ERROR.
- FBFirma = DYNAMIC-FUNCTION('getFBMandant':U) NO-ERROR.
- Firma = DYNAMIC-FUNCTION('getMandant':U) NO-ERROR.
- Progname = DYNAMIC-FUNCTION('makeProgname':U, INPUT THIS-PROCEDURE ) NO-ERROR.
- cUser = DYNAMIC-FUNCTION('getBenutzer') NO-ERROR.
- cLogName = DYNAMIC-FUNCTION('getLogFileName':U) NO-ERROR.
- lBatch = DYNAMIC-FUNCTION('getBatch':U) NO-ERROR.
- END.
- 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.
-
- FIND bSteuer NO-LOCK
- WHERE bSteuer.Firma = Firma.
- TABELLE:
- DO WHILE TRUE:
-
- REPEAT TRANSACTION ON ERROR UNDO, LEAVE:
- FIND FIRST bTabel NO-LOCK
- WHERE bTabel.Firma = Firma
- AND bTabel.RecArt = 'AUFDRUCK'
- AND bTabel.CodeI > iCodeI
- AND bTabel.Bez1 = ''
- AND bTabel.Int_2 = 1 NO-ERROR.
- IF NOT AVAILABLE bTabel THEN LEAVE TABELLE.
-
- tRecid = RECID(bTabel).
- iCodeI = bTabel.CodeI.
-
- FIND bTabel EXCLUSIVE-LOCK WHERE RECID(bTabel) = tRecid NO-WAIT NO-ERROR.
- IF NOT AVAILABLE bTabel AND
- 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).
- RUN writeLogfile.p ( ProgName, cLogName, cMessage ) NO-ERROR.
- RELEASE Tabel.
- NEXT.
- END.
- IF NOT AVAILABLE bTabel THEN NEXT.
-
- bTabel.Bez1 = 'A'.
- lDrucken = bTabel.Flag_3.
- cMessage = SUBSTITUTE('Tabel Flag_3 = &1 ', bTabel.Flag_3 ).
- RUN writeLogfile.p ( ProgName, cLogName, cMessage ) NO-ERROR.
-
- 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:
- RUN LAGERORTE_ERMITTELN.
- 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.
-
- RUN writeLogfile.p ( ProgName, cLogName, '' ) NO-ERROR.
- cMessage = SUBSTITUTE('Auftragsschein &1 in Batch = &3 mit &2 gestartet', iAufnr, cPrinters, lBatch).
- RUN writeLogfile.p ( ProgName, cLogName, cMessage ) NO-ERROR.
-
- FIND bAufko WHERE RECID(bAufko) = kRecid.
- RUN AUFTRAGSSCHEIN.
- cRetValue = RETURN-VALUE.
- cMessage = SUBSTITUTE('Auftragsschein &1 beendet mit Return-Value = &2', iAufnr, cRetValue).
- RUN writeLogfile.p ( ProgName, cLogName, cMessage ) NO-ERROR.
- IF cRetValue <> '' THEN LEAVE.
-
- RUN writeLogfile.p ( ProgName, cLogName, '' ) NO-ERROR.
- cMessage = SUBSTITUTE('Rüstschein &1 in Batch = &3 mit &2 gestartet', iAufnr, cPrinters, lBatch).
- RUN writeLogfile.p ( ProgName, cLogName, cMessage ) NO-ERROR.
-
- FIND bAufko WHERE RECID(bAufko) = kRecid.
- RUN RUESTSCHEIN.
- cRetValue = RETURN-VALUE.
- cMessage = SUBSTITUTE('Ruestschein &1 beendet mit Return-Value = &2', iAufnr, cRetValue).
- RUN writeLogfile.p ( ProgName, cLogName, cMessage ) NO-ERROR.
-
- 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.
-
- LEAVE.
- END.
-
- IF NOT lMailLS THEN LEAVE.
-
- RUN START_HTML_DOKUMENT ( iAufnr ).
-
- LEAVE.
-
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* ********************** Internal Procedures *********************** */
- &IF DEFINED(EXCLUDE-AUFTRAGSSCHEIN) = 0 &THEN
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AUFTRAGSSCHEIN Procedure
- 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.
- RUN LIBILD ( cDokArt ).
- 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.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.
-
- EMPTY TEMP-TABLE zAufze.
- CREATE zAufze.
- FIND bAdresse NO-LOCK USE-INDEX Adresse-k1
- WHERE bAdresse.Firma = AdFirma
- AND bAdresse.Knr = bAufko.Knr NO-ERROR.
-
- 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 AUFTRAGSSCHEIN_KOPF.
-
- i2 = 0.
- FOR EACH tAufze NO-LOCK
- WHERE tAufze.Platz = 0:
- FIND FIRST zAufze.
- BUFFER-COPY tAufze 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
- WHERE tAufze.Platz > 0
- AND tAufze.Platz < 99
-
- BY tAufze.Platz
- BY tAufze.Lagort
- BY tAufze.Pos :
-
- FIND FIRST zAufze.
- BUFFER-COPY tAufze TO zAufze.
-
- IF (tSchrift.Schzztot - iZeile - 2) < tSchrift.Schzzend THEN
- DO:
- RUN AUFTRAGSSCHEIN_KOPF.
- END.
-
- 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 tAufze NO-LOCK
- WHERE tAufze.Platz = 99:
- FIND FIRST zAufze.
- BUFFER-COPY tAufze 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
- &ENDIF
- &IF DEFINED(EXCLUDE-AUFTRAGSSCHEIN_ARTIKELZEILE) = 0 &THEN
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AUFTRAGSSCHEIN_ARTIKELZEILE Procedure
- 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
- &ENDIF
- &IF DEFINED(EXCLUDE-AUFTRAGSSCHEIN_KOPF) = 0 &THEN
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AUFTRAGSSCHEIN_KOPF Procedure
- 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 bDebst NO-LOCK USE-INDEX Debst-k1
- WHERE bDebst.Firma = bAufko.Firma
- AND bDebst.Knr = bAufko.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
- &ENDIF
- &IF DEFINED(EXCLUDE-BAR-CODE-39) = 0 &THEN
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE BAR-CODE-39 Procedure
- 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
- &ENDIF
- &IF DEFINED(EXCLUDE-CREATE_RUESTAUFTRAG) = 0 &THEN
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE CREATE_RUESTAUFTRAG Procedure
- PROCEDURE CREATE_RUESTAUFTRAG :
- /*------------------------------------------------------------------------------*/
- /* Purpose: */
- /* Parameters: <none> */
- /* Notes: */
- /*------------------------------------------------------------------------------*/
-
- DEFINE VARIABLE iSubPos AS INTEGER NO-UNDO.
- DEFINE VARIABLE lRetVal AS LOGICAL NO-UNDO.
-
- DEFINE BUFFER bRuestAuf FOR RuestAuf.
- DEFINE BUFFER mTabel FOR Tabel.
-
- DISABLE TRIGGERS FOR LOAD OF RuestAuf.
-
- EMPTY TEMP-TABLE tRuestAuf.
- EMPTY TEMP-TABLE zAufze .
- FIND FIRST tAufze NO-ERROR.
- IF NOT AVAILABLE tAufze THEN RETURN.
-
- FIND bAufko NO-LOCK OF tAufze NO-ERROR.
- lMailLS = TRUE.
- IF bAufko.Auf_Sta > 1 THEN lMailLS = FALSE.
- IF bAufko.Fahrer = 0 THEN lMailLS = FALSE.
-
- REPEAT TRANSACTION ON ERROR UNDO, LEAVE:
-
- FIND FIRST RuestAuf NO-LOCK
- WHERE RuestAuf.Firma = tAufze.Firma
- AND RuestAuf.Aufnr = tAufze.Aufnr NO-ERROR.
- lFirst = (IF AVAILABLE RuestAuf THEN FALSE ELSE TRUE).
- IF lFirst THEN lMailLS = FALSE.
-
- IF lFirst THEN
- DO:
- /* ------------------------------------------ */
- /* Erstmaliger Druck */
- /* ------------------------------------------ */
- FOR EACH tAufze:
- CREATE zAufze.
- BUFFER-COPY tAufze
- TO zAufze
- ASSIGN
- zAufze.cMutArt = 'NN'.
- END.
- LEAVE.
- END.
-
- FOR EACH RuestAuf NO-LOCK
- WHERE RuestAuf.Firma = tAufze.Firma
- AND RuestAuf.Aufnr = tAufze.Aufnr:
-
- /* ------------------------------------------ */
- /* Test auf RuestAuftragszeilen ohne Aufze */
- /* ------------------------------------------ */
- FIND Aufze NO-LOCK OF RuestAuf NO-ERROR.
- IF NOT AVAILABLE Aufze THEN
- DO:
- lMutation = TRUE.
- lRetVal = DYNAMIC-FUNCTION ('deleteRuestAuf':U, RECID(RuestAuf)) NO-ERROR.
- RELEASE RuestAuf.
- NEXT.
- END.
-
- CREATE tRuestAuf.
- BUFFER-COPY RuestAuf TO tRuestAuf.
- END.
-
- FOR EACH tAufze:
- CREATE zAufze.
- BUFFER-COPY tAufze
- TO zAufze.
-
- FIND FIRST tRuestAuf
- WHERE tRuestAuf.Firma = tAufze.Firma
- AND tRuestAuf.Aufnr = tAufze.Aufnr
- AND tRuestAuf.Pos = tAufze.Pos NO-ERROR.
- IF NOT AVAILABLE tRuestAuf THEN
- DO:
- zAufze.cMutArt = 'NN'.
- NEXT.
- END.
-
- IF tRuestAuf.lGeruestet AND
- tRuestAuf.MBest = zAufze.MBest AND
- tRuestAuf.Lagerort = zAufze.Lagort THEN NEXT.
-
- IF NOT tRuestAuf.lGeruestet AND
- tRuestAuf.MGeli = 0 AND
- tRuestAuf.Lagerort = zAufze.Lagort THEN NEXT.
-
- IF zAufze.MBest < tRuestAuf.MGeli THEN
- DO:
- FIND Aufze NO-LOCK OF tAufze.
- FIND RuestAuf NO-LOCK OF tRuestAuf.
- lRetVal = DYNAMIC-FUNCTION ('deleteRuestAuf':U, RECID(RuestAuf)) NO-ERROR.
- lRetVal = DYNAMIC-FUNCTION ('deleteAufLot':U , RECID(Aufze)) NO-ERROR.
- zAufze.cMutArt = 'NN'.
- NEXT.
- END.
-
- zAufze.cMutArt = 'M'.
- END.
-
- LEAVE.
- END.
-
- REPEAT TRANSACTION ON ERROR UNDO, LEAVE:
-
- FOR EACH zAufze NO-LOCK
- WHERE zAufze.cMutArt <> '':
-
- FIND FIRST tLagerorte
- WHERE tlagerorte.Artnr = zAufze.Artnr
- AND tLagerorte.Inhalt = zAufze.Inhalt
- AND tLagerorte.Jahr = zAufze.Jahr.
- IF zAufze.cMutArt BEGINS 'N' THEN
- DO:
- CREATE RuestAuf.
- ASSIGN
- RuestAuf.Firma = zAufze.Firma
- RuestAuf.Aufnr = zAufze.Aufnr
- RuestAuf.Platz = tLagerorte.Platz
- RuestAuf.Pos = zAufze.Pos
- RuestAuf.SubPos = iSubPos
- RuestAuf.Artnr = zAufze.Artnr
- RuestAuf.Inhalt = zAufze.Inhalt
- RuestAuf.Jahr = zAufze.Jahr
- RuestAuf.Lagerort = tLagerorte.cSort
- RuestAuf.GGeb_Best = zAufze.GGeb_Be
- RuestAuf.VGeb_Best = zAufze.VGeb_Be
- RuestAuf.KGeb_Best = zAufze.KGeb_Be
- RuestAuf.lGeladen = FALSE
- RuestAuf.lGeruestet = FALSE
- RuestAuf.lLAGedruckt = FALSE
- RuestAuf.lLSGedruckt = FALSE
- RuestAuf.lPAGedruckt = FALSE
- RuestAuf.lRSGedruckt = FALSE
- RuestAuf.lWeiter = FALSE
- RuestAuf.MBest = zAufze.MBest
- RuestAuf.AnzPaletten = 0
- RuestAuf.iMenge = 0
- RuestAuf.GGeb_Geli = 0
- RuestAuf.VGeb_Geli = 0
- RuestAuf.KGeb_Geli = 0
- RuestAuf.MGeli = 0
- RuestAuf.RecidArtLager = ?
- RuestAuf.Verfall = ?
- RuestAuf.Lotnr = ''
- RuestAuf.RecidHoReLager = tLagerorte.rHoReLager
- RuestAuf.RecidLotLager = tLagerorte.rLotLager
- RuestAuf.iMenge = zAufze.KGeb_Be NO-ERROR.
- NEXT.
- END.
-
- IF zAufze.cMutArt = 'M' THEN
- DO:
- FIND FIRST RuestAuf
- WHERE RuestAuf.Firma = zAufze.Firma
- AND RuestAuf.Aufnr = zAufze.Aufnr
- AND RuestAuf.Pos = zAufze.Pos.
- ASSIGN
- RuestAuf.Lagerort = zAufze.Lagort
- RuestAuf.Platz = tLagerorte.Platz
- RuestAuf.MBest = zAufze.MBest
- RuestAuf.iMenge = zAufze.MBest
- RuestAuf.GGeb_Best = zAufze.GGeb_Be
- RuestAuf.VGeb_Best = zAufze.VGeb_Be
- RuestAuf.KGeb_Best = zAufze.KGeb_Be
- RuestAuf.lGeladen = FALSE
- RuestAuf.lGeruestet = FALSE
- RuestAuf.lLAGedruckt = FALSE
- RuestAuf.lLSGedruckt = FALSE
- RuestAuf.lPAGedruckt = FALSE
- RuestAuf.lRSGedruckt = FALSE
- RuestAuf.lWeiter = FALSE.
- END.
-
- END.
-
- RELEASE Aufze .
- RELEASE RuestAuf.
- RELEASE Aufko .
- LEAVE.
- END.
-
- IF NOT lMailLS THEN RETURN .
-
- lMutation = FALSE.
- FOR EACH zAufze NO-LOCK
- WHERE zAufze.cMutArt <> '':
-
- FIND Aufze NO-LOCK OF zAufze NO-ERROR.
- FIND FIRST rawTable NO-LOCK
- WHERE rawTable.Firma = Aufze.Firma
- AND rawTable.Tabelle = 'RUESTAUF'
- AND rawTable.Tabelle_Id = RECID(Aufze) NO-ERROR.
- IF NOT AVAILABLE rawTable THEN NEXT.
- lMutation = TRUE.
- LEAVE.
- END.
-
- IF lMutation THEN
- DO:
- REPEAT TRANSACTION ON ERROR UNDO, LEAVE:
- FIND FIRST zAufze NO-ERROR.
- FOR EACH RuestAuf NO-LOCK
- WHERE RuestAuf.Firma = zAufze.Firma
- AND RuestAuf.Aufnr = zAufze.Aufnr
- AND RuestAuf.lGeladen:
-
- FIND bRuestAuf WHERE RECID(bRuestAuf) = RECID(RuestAuf) EXCLUSIVE-LOCK NO-WAIT NO-ERROR.
- IF AVAILABLE bRuestAuf THEN
- DO:
- bRuestAuf.lGeladen = FALSE.
- RELEASE bRuestAuf.
- NEXT.
- END.
- END.
- RELEASE RuestAuf.
- LEAVE.
- END.
- END.
-
- lMailLS = lMutation.
-
- RETURN. /* Neuer Rüstschein erstellt */
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ENDIF
- &IF DEFINED(EXCLUDE-DRUCKAUSGABE) = 0 &THEN
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DRUCKAUSGABE Procedure
- 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.
- 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.
-
- RUN writeLogfile.p ( ProgName, cLogName, SUBSTITUTE('Druckausgabe -> 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 WHILE lDrucken:
- iSize = DYNAMIC-FUNCTION('putDateiToPrinter':U, cDateiName ,
- sRecid ,
- tSchrift.Schacht ,
- 240 , /* Blockgrösse */
- 'ibm850' ,
- iAnzKopien ). /* Anzahl Kopien */
- IF iSize = 0 THEN
- DO:
- cString = 'Druckvorgang gescheitert !!! '.
- RUN writeLogfile.p ( ProgName, cLogName, 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
- &ENDIF
- &IF DEFINED(EXCLUDE-FUELLEN_tAUFZE) = 0 &THEN
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FUELLEN_tAUFZE Procedure
- 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 tAufze.
-
- 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 tAufze.
- BUFFER-COPY Aufze TO tAufze
- ASSIGN
- tAufze.Platz = 0
- tAufze.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 tAufze.
- BUFFER-COPY Aufze TO tAufze
- ASSIGN
- tAufze.Platz = 0
- tAufze.LagOrt = ''.
- END.
- END.
-
- /* ------------------------------------------------------ */
- /* Artikelzeilen dem Ruestsektor und Lagerplatz zuteilen */
- /* ------------------------------------------------------ */
- FOR EACH Aufze NO-LOCK
- WHERE Aufze.Firma = Firma
- AND Aufze.Aufnr = bAufko.Aufnr
- AND Aufze.Pos > minPos
- AND Aufze.Pos < MaxPos:
-
- IF Aufze.Artnr > 0 THEN
- DO:
- cLagOrt = ''.
- jPlatz = -1.
- FOR FIRST tLagerOrte NO-LOCK
- WHERE tLagerOrte.Artnr = Aufze.Artnr
- AND tLagerOrte.Inhalt = Aufze.Inhalt
- AND tLagerOrte.Jahr = Aufze.Jahr :
- cLagOrt = tLagerorte.cSort.
- jPlatz = tLagerorte.Platz.
- END.
- END.
-
- CREATE tAufze.
- BUFFER-COPY Aufze TO tAufze
- ASSIGN
- tAufze.Platz = jPlatz
- tAufze.LagOrt = cLagort.
- END.
-
- /* OUTPUT TO 'C:\Entwicklung\TEMP\OE117WRK\tAufze.csv'.*/
- /* FOR EACH tAufze: */
- /* EXPORT DELIMITER ';' tAufze. */
- /* END. */
- /* OUTPUT CLOSE. */
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ENDIF
- &IF DEFINED(EXCLUDE-GET_DRUCKERDATEN) = 0 &THEN
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE GET_DRUCKERDATEN Procedure
- 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.
- DO WHILE TRUE:
- FIND FIRST tDrucker NO-LOCK
- WHERE tDrucker.Drucker = ipDrucker NO-ERROR.
- IF AVAILABLE tDrucker THEN LEAVE.
-
- cMessage = SUBSTITUTE('Der gewünschte Drucker &1 ist nicht verfügbar ', ipDrucker).
- RETURN cMessage.
- END.
-
- 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.
- cMessage = 'Es konnte keine Schrift für den gewählten Drucker ermittelt werden'.
- RETURN cMessage.
- 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
- &ENDIF
- &IF DEFINED(EXCLUDE-LAGERORTE_ERMITTELN) = 0 &THEN
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LAGERORTE_ERMITTELN Procedure
- PROCEDURE LAGERORTE_ERMITTELN :
- /*------------------------------------------------------------------------------*/
- /* Purpose: */
- /* Parameters: <none> */
- /* Notes: */
- /*------------------------------------------------------------------------------*/
-
- DEFINE VARIABLE iArt AS INTEGER NO-UNDO.
- DEFINE VARIABLE iRecid AS RECID NO-UNDO.
-
- EMPTY TEMP-TABLE tLagerOrte.
-
- FOR EACH bAufze NO-LOCK
- WHERE bAufze.Firma = bAufko.Firma
- AND bAufze.Aufnr = bAUfko.Aufnr
- AND bAufze.Artnr > 0,
-
- FIRST bArtst NO-LOCK
- WHERE bArtst.Firma = bAufze.Firma
- AND bArtst.Artnr = bAufze.Artnr
- AND bArtst.Inhalt = bAufze.Inhalt
- AND bArtst.Jahr = bAufze.Jahr :
-
- FIND FIRST HoReLager NO-LOCK
- WHERE HoReLager.Firma = bAufze.Firma
- AND HoReLager.Art = 1
- AND HoReLager.Lager = bAufze.Lager
- AND HoReLager.Artnr = bAufze.Artnr
- AND HoReLager.Inhalt = bAufze.Inhalt
- AND HoReLager.Jahr = bAufze.Jahr NO-ERROR.
-
- IF NOT AVAILABLE HoReLager THEN
- DO:
- FIND FIRST HoReLager NO-LOCK
- WHERE HoReLager.Firma = bAufze.Firma
- AND HoReLager.Art = 1
- AND HoReLager.Lager = bAufze.Lager
- AND HoReLager.Artnr = bAufze.Artnr
- AND HoReLager.Inhalt = bAufze.Inhalt NO-ERROR.
- END.
-
- IF NOT AVAILABLE HoReLager THEN
- DO:
- FIND FIRST HoReLager NO-LOCK
- WHERE HoReLager.Firma = bAufze.Firma
- AND HoReLager.Art = 3
- AND HoReLager.Lager = bAufze.Lager
- AND HoReLager.Artnr = bAufze.Artnr
- AND HoReLager.Inhalt = bAufze.Inhalt NO-ERROR.
- END.
-
- CREATE tLagerOrte.
- ASSIGN
- tLagerorte.iPrio = 1
- tLagerorte.Artnr = bAufze.Artnr
- tLagerorte.Inhalt = bAufze.Inhalt
- tLagerorte.Jahr = bAufze.Jahr
- tLagerorte.cSort = (IF AVAILABLE HoReLager THEN HoReLager.cSort ELSE '99' )
- tLagerorte.HoReLager_Id = (IF AVAILABLE HoReLager THEN HoReLager.HoReLager_Id ELSE 0 )
- tLagerorte.Bestand = (IF AVAILABLE HoReLager THEN HoReLager.Bestand ELSE bAufze.MBest )
- tLagerorte.Lotnr = ''
- tLagerorte.Verfall = ?
- tLagerorte.rHoReLager = (IF AVAILABLE HoReLager THEN RECID(HoReLager) ELSE ? )
- tLagerorte.rLotLager = ?
- tLagerorte.Art = (IF AVAILABLE HoReLager THEN HoReLager.Art ELSE 1 )
- tLagerorte.Platz = iPlatz.
-
- END.
-
- FOR EACH tLagerOrte:
- FIND LAST RuestPlatz NO-LOCK USE-INDEX RuestPlatz-k2
- WHERE RuestPlatz.Firma = Firma
- AND RuestPlatz.RuestArt = iRuestArt
- AND RuestPlatz.abLagort <= tLagerorte.cSort NO-ERROR.
- tLagerorte.Platz = (IF AVAILABLE RuestPlatz THEN RuestPlatz.Platz ELSE 0).
- END.
-
- /* OUTPUT TO 'C:\Entwicklung\TEMP\OE117WRK\tLagerorte.csv'.*/
- /* FOR EACH tLagerorte: */
- /* EXPORT DELIMITER ';' tLagerorte. */
- /* END. */
- /* OUTPUT CLOSE. */
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ENDIF
- &IF DEFINED(EXCLUDE-LIBILD) = 0 &THEN
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LIBILD Procedure
- 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
- &ENDIF
- &IF DEFINED(EXCLUDE-NEUE_SEITE) = 0 &THEN
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NEUE_SEITE Procedure
- 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
- &ENDIF
- &IF DEFINED(EXCLUDE-RUESTSCHEIN) = 0 &THEN
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RUESTSCHEIN Procedure
- 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 cDrucker AS CHARACTER NO-UNDO.
- ASSIGN
- cDokArt = 'RUEST'
- iSeite = 0
- iZeile = 0
- iPlatz = 0
- cZeile = ''
- lOpen = FALSE
- dDatum = bAufko.Lief_Datum
- lMutation = FALSE.
-
- RUN CREATE_RUESTAUFTRAG.
-
- RUN LIBILD ( cDokArt ).
- 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.
- 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.
- EMPTY TEMP-TABLE zAufze.
- CREATE zAufze.
-
- 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 :
-
- FIND FIRST zAufze.
- BUFFER-COPY tAufze TO zAufze
- ASSIGN
- zAufze.Lagort = tAufze.Lagort
- zAufze.Platz = tAufze.Platz.
-
- DO WHILE TRUE:
- 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.
-
- 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 ).
-
- FIND FIRST zAufze.
- BUFFER-COPY tAufze TO zAufze.
- END.
-
- 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.
-
- FOR EACH RuestAuf
- WHERE RuestAuf.Firma = bAufko.Firma
- AND RuestAuf.Aufnr = bAufko.Aufnr:
- RuestAuf.lRSGedruckt = TRUE.
- 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
- &ENDIF
- &IF DEFINED(EXCLUDE-RUESTSCHEIN_ARTIKELZEILE) = 0 &THEN
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RUESTSCHEIN_ARTIKELZEILE Procedure
- 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
- AND ArtLief.Strichcode_KGeb <> '' 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 = ''.
- /* Alle Artikelbarcode drucken */
- /* 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").
- FIND FIRST RuestAuf NO-LOCK
- WHERE RuestAuf.Firma = zAufze.Firma
- AND RuestAuf.Aufnr = zAufze.Aufnr
- AND RuestAuf.Pos = zAufze.Pos.
- SUBSTRING(cZeile,089) = RuestAuf.Lagerort.
-
- 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
- &ENDIF
- &IF DEFINED(EXCLUDE-RUESTSCHEIN_KOPF) = 0 &THEN
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RUESTSCHEIN_KOPF Procedure
- 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).
- IF lMutation THEN cZeile = cZeile + ' (KORREKTUR) '.
- SUBSTRING(cZeile,066) = TRIM(SUBSTRING(FormText[07],01,20))
- + " "
- + STRING(dDatum,"99.99.9999").
- cZeile = bDrucker.Drufettb
- + SUBSTRING(cZeile,001,50)
- + bDrucker.Drufette
- + SUBSTRING(cZeile,051).
- 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
- &ENDIF
- &IF DEFINED(EXCLUDE-START_HTML_DOKUMENT) = 0 &THEN
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE START_HTML_DOKUMENT Procedure
- PROCEDURE START_HTML_DOKUMENT :
- /*------------------------------------------------------------------------------*/
- /* Purpose: */
- /* Parameters: <none> */
- /* Notes: */
- /*------------------------------------------------------------------------------*/
-
- DEFINE INPUT PARAMETER ipiAufnr AS INTEGER NO-UNDO.
-
- DEFINE VARIABLE cDateiName AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cMessage AS CHARACTER NO-UNDO.
- DEFINE VARIABLE lRetVal AS LOGICAL NO-UNDO.
- DEFINE VARIABLE oClient AS IHttpClient NO-UNDO.
- DEFINE VARIABLE oURI AS URI NO-UNDO.
- DEFINE VARIABLE oCredentials AS Credentials NO-UNDO.
-
- DEFINE VARIABLE oRequest AS IHttpRequest NO-UNDO.
- DEFINE VARIABLE oResponse AS IHttpResponse NO-UNDO.
- DEFINE VARIABLE oResponseBody AS String NO-UNDO.
- DEFINE VARIABLE lcString AS LONGCHAR NO-UNDO INIT ''.
- DEFINE VARIABLE cString AS LONGCHAR NO-UNDO INIT ''.
- DEFINE VARIABLE cPath AS CHARACTER NO-UNDO.
-
- cDateiName = SUBSTITUTE('&1&2.html', SESSION:TEMP-DIRECTORY, STRING(ipiAufnr,'9999999')).
- System.Net.ServicePointManager:CertificatePolicy = NEW AllowCertificatePolicy().
- oClient = ClientBuilder:Build():Client.
-
- oURI = NEW URI('http', cWebHost, INTEGER(cWebPort) ).
- cPath = '/'
- + cWebPath
- + REPLACE(SUBSTITUTE('/ruesten_anpassung.p?Firma=&1£Aufnr=&2', Firma, ipiAufnr ), '£', '&').
- oURI:Path = cPath.
- REPEAT TRANSACTION ON ERROR UNDO, LEAVE:
- oRequest = RequestBuilder:Build('POST', oURI):ContentType('application/x-www-form-urlencoded'):Request.
- oResponse = ResponseBuilder:Build():Response.
- oResponse = ClientBuilder:Build():Client:Execute(oRequest).
- oResponseBody = CAST(oResponse:Entity, OpenEdge.Core.STRING).
- lcString = oResponseBody:VALUE.
- COPY-LOB lcString TO FILE cDateiName NO-CONVERT.
- /* cDateiName = SEARCH(cDateiName).*/
- cString = lcString.
-
- IF cString <> '' THEN
- DO:
- EMPTY TEMP-TABLE tRuestAuf.
- CREATE tRuestAuf.
- FOR EACH rawTable
- WHERE rawTable.Firma = Firma
- AND rawTable.Tabelle = 'RUESTAUF':
-
- FIND FIRST tRuestAuf.
- htRuestAuf:RAW-TRANSFER (FALSE, hrawTable:BUFFER-FIELD('rawData')).
- IF tRuestAuf.Aufnr <> ipiAufnr THEN NEXT.
- DELETE rawTable.
- RELEASE rawTable.
- END.
- END.
- LEAVE.
- END.
-
- DELETE OBJECT oUri.
-
- EMPTY TEMP-TABLE ttSendMail.
- CREATE ttSendMail.
- ASSIGN
- /* ttSendMail.cFrom = cMailFromRuestAuf*/
- ttSendMail.cTo = cMailToRuestAuf
- ttSendMail.cCC = 'wr@adprime.ch'
- ttSendMail.cBC = ''
- ttSendMail.cSubject = SUBSTITUTE('Aenderung in gerüstetem Auftrag &1', ipiAufnr)
- ttSendMail.cBody = SUBSTITUTE('FILE:&1', cDateiName)
- ttSendMail.cAttachedName = ''
- ttSendMail.cAttachedFile = ''
-
- ttSendMail.cMailServer = cMailServer
- ttSendMail.cMailPort = cMailPort
- ttSendMail.cMailKonto = cMailKonto
- ttSendMail.cMailPassw = cMailPassw
- ttSendMail.cDomaine = cMailDomaine
- ttsendmail.lAuth = lMailAuth
- ttSendMail.lSSLEnabled = lSSLEnabled.
- RUN 'sendsmtpmail.p' ( INPUT httSendMail, OUTPUT cMessage, OUTPUT lRetVal ).
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ENDIF
- /* ************************ Function Implementations ***************** */
- &IF DEFINED(EXCLUDE-getLogfileName) = 0 &THEN
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getLogfileName Procedure
- FUNCTION getLogfileName RETURNS CHARACTER
- ( /* parameter-definitions */ ) :
- /*------------------------------------------------------------------------------*/
- /* Purpose: */
- /* Parameters: <none> */
- /* Notes: */
- /*------------------------------------------------------------------------------*/
- DEFINE VARIABLE cPath AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cProg AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ii AS INTEGER NO-UNDO.
-
- cPath = DYNAMIC-FUNCTION ('getLogFilePfad':U) NO-ERROR.
- cProg = REPLACE(Progname, '\', '/').
- ii = R-INDEX(cProg, '/').
- IF ii > 0 THEN cProg = SUBSTRING(cProg, ii + 1).
-
- cPath = cPath
- + cProg
- + '_'
- + REPLACE(STRING(TODAY,'99.99.9999'), '.', '')
- + '.Log'.
- RETURN cPath.
- END FUNCTION.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ENDIF
- &IF DEFINED(EXCLUDE-putStream) = 0 &THEN
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION putStream Procedure
- FUNCTION putStream RETURNS LOGICAL
- ( ipAttrib AS CHARACTER, ipAnzZeilen AS INTEGER, INPUT-OUTPUT ipZeile AS CHARACTER ) :
- /*------------------------------------------------------------------------------*/
- /* Purpose: */
- /* Parameters: <none> */
- /* 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
- &ENDIF
|