| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146 |
- &ANALYZE-SUSPEND _VERSION-NUMBER UIB_v8r12 GUI ADM1
- &ANALYZE-RESUME
- /* Connected Databases
- */
- &Scoped-define WINDOW-NAME W-Auftrag
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS W-Auftrag
- /*------------------------------------------------------------------------
- File:
- Description: from cntnrwin.w - ADM SmartWindow Template
- Input Parameters:
- <none>
- Output Parameters:
- <none>
- History:
-
- ------------------------------------------------------------------------*/
- /* This .W file was created with the Progress UIB. */
- /*----------------------------------------------------------------------*/
- /* Create an unnamed pool to store all the widgets created
- by this procedure. This is a good default which assures
- that this procedure's triggers and internal procedures
- will execute in this procedure's storage, and that proper
- cleanup will occur on deletion of the procedure. */
- CREATE WIDGET-POOL.
- /* *************************** Definitions ************************** */
- /* Parameters Definitions --- */
- /* Local Variable Definitions --- */
- DEF VAR VUpdate AS LOG NO-UNDO.
- DEF VAR Aktive AS LOG NO-UNDO.
- DEF VAR ASeite AS INT NO-UNDO.
- DEF VAR PSeite AS INT NO-UNDO.
- DEF VAR DruckProgramm AS CHAR NO-UNDO.
- DEF VAR VSammFak AS LOG NO-UNDO.
- DEF VAR VLiefDat AS DATE NO-UNDO.
- DEF VAR BLiefDat AS DATE NO-UNDO.
- DEF VAR VFakDat AS DATE NO-UNDO.
- DEF VAR VFakart AS INT NO-UNDO.
- DEF VAR VAufsta AS INT NO-UNDO.
- DEF VAR VRuest AS INT NO-UNDO.
- DEF VAR VKnr AS INT NO-UNDO.
- DEF VAR BKNr AS INT NO-UNDO.
- DEF VAR VAufnr AS INT NO-UNDO.
- DEF VAR BAufnr AS INT NO-UNDO.
- DEF VAR XDatum AS CHAR NO-UNDO.
- DEF VAR ok AS LOG NO-UNDO.
- DEF VAR ARecid AS RECID NO-UNDO.
- DEF VAR BRecid AS RECID NO-UNDO.
- DEF VAR CRecid AS RECID NO-UNDO.
- DEF VAR VBesr AS INT NO-UNDO.
- DEF VAR VDokument AS CHAR NO-UNDO.
- DEF VAR FVerbucht AS LOG NO-UNDO.
- DEF VAR AktSeite AS INT NO-UNDO.
- DEF VAR EscFlag AS LOG NO-UNDO.
- DEF VAR EndFlag AS LOG NO-UNDO.
- DEF VAR cBenutzerdaten AS CHAR NO-UNDO.
- DEF VAR cBenutzer AS CHAR NO-UNDO.
- DEF VAR iLager AS INT NO-UNDO.
- DEF VAR fOfferte AS LOG NO-UNDO.
- DEF VAR cInstallation AS CHAR NO-UNDO.
- DEF TEMP-TABLE TAufko FIELD Knr AS INT
- FIELD Samm_Nr AS INT
- FIELD Aufnr AS INT
- FIELD RID AS RECID.
-
- DEF TEMP-TABLE dAufko LIKE Aufko.
- DEF BUFFER BTabel FOR Tabel.
- DEF BUFFER ATabel FOR Tabel.
- DEF BUFFER BAufko FOR Aufko.
- DEF BUFFER XAufko FOR Aufko.
- DEF BUFFER BSavko FOR Savko.
- DEF WORKFILE WAufko LIKE Aufko.
- DEF WORKFILE WDrucker FIELD Drucker AS CHAR
- FIELD Schrift AS CHAR
- FIELD TotZZ AS INT
- FIELD BegZZ AS INT
- FIELD EndZZ AS INT
- FIELD AnzKop AS INT
- FIELD SchOri AS INT
- FIELD SchKop AS INT
- FIELD Besr AS INT
- FIELD SchBesr AS INT
- FIELD iRecid AS RECID.
- DEF TEMP-TABLE tAuftraege NO-UNDO
- FIELD Aufnr AS INT
- FIELD Faknr AS INT
- FIELD Knr AS INT
- FIELD lOfferte AS LOG
- FIELD Fak_Art AS INT
- FIELD Auf_Sta AS INT
- FIELD iRecid AS RECID.
- /* ---------- Globale Variablen ---------------------------------- */
- { v8/globvar.i " " " " "SHARED" }
- { v8/debivar.i " " " " "SHARED" }
- { v8/artivar.i " " " " "SHARED" }
- { v8/contvar.i " " " " "SHARED" }
- { incl/ttdruckparam.i }
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
- /* ******************** Preprocessor Definitions ******************** */
- &Scoped-define PROCEDURE-TYPE SmartWindow
- &Scoped-define DB-AWARE no
- &Scoped-define ADM-CONTAINER WINDOW
- /* Name of designated FRAME-NAME and/or first browse and/or first query */
- &Scoped-define FRAME-NAME F-Main
- /* Standard List Definitions */
- &Scoped-Define ENABLED-OBJECTS CB_Lager Btn_Verbuchen Btn_Drucken Btn_Prev ~
- Btn_Next
- &Scoped-Define DISPLAYED-OBJECTS CB_Lager
- /* Custom List Definitions */
- /* List-1,List-2,List-3,List-4,List-5,List-6 */
- /* _UIB-PREPROCESSOR-BLOCK-END */
- &ANALYZE-RESUME
- /* ************************ Function Prototypes ********************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getKundennummer W-Auftrag
- FUNCTION getKundennummer RETURNS INTEGER
- ( /* parameter-definitions */ ) FORWARD.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* *********************** Control Definitions ********************** */
- /* Define the widget handle for the window */
- DEFINE VAR W-Auftrag AS WIDGET-HANDLE NO-UNDO.
- /* Definitions of handles for SmartObjects */
- DEFINE VARIABLE h_a-schriften AS HANDLE NO-UNDO.
- DEFINE VARIABLE h_b-artbw-kunde AS HANDLE NO-UNDO.
- DEFINE VARIABLE h_b-aufgebko AS HANDLE NO-UNDO.
- DEFINE VARIABLE h_b-aufze AS HANDLE NO-UNDO.
- DEFINE VARIABLE h_b-kundensuche AS HANDLE NO-UNDO.
- DEFINE VARIABLE h_f-aufko AS HANDLE NO-UNDO.
- DEFINE VARIABLE h_f-aufkoberech AS HANDLE NO-UNDO.
- DEFINE VARIABLE h_f-auftrag AS HANDLE NO-UNDO.
- DEFINE VARIABLE h_f-dokumentdrucker AS HANDLE NO-UNDO.
- DEFINE VARIABLE h_f-kunbest AS HANDLE NO-UNDO.
- DEFINE VARIABLE h_f-savko AS HANDLE NO-UNDO.
- DEFINE VARIABLE h_f-umsatzanzeige AS HANDLE NO-UNDO.
- DEFINE VARIABLE h_folder AS HANDLE NO-UNDO.
- DEFINE VARIABLE h_v-verbuchen AS HANDLE NO-UNDO.
- /* Definitions of the field level widgets */
- DEFINE BUTTON Btn_Drucken
- LABEL "&Drucken"
- SIZE 16 BY 1.
- DEFINE BUTTON Btn_Next
- IMAGE-UP FILE "Grafik\nextkartei":U
- LABEL "&+"
- SIZE 5.6 BY 1.05.
- DEFINE BUTTON Btn_Prev
- IMAGE-UP FILE "Grafik\prevkartei":U
- LABEL "&-"
- SIZE 5.6 BY 1.05.
- DEFINE BUTTON Btn_Verbuchen
- LABEL "Verb&uchen"
- SIZE 16 BY 1.
- DEFINE VARIABLE CB_Lager AS CHARACTER FORMAT "X(256)":U
- LABEL "Lager"
- VIEW-AS COMBO-BOX INNER-LINES 5
- LIST-ITEM-PAIRS "Item 1","Item 1"
- DROP-DOWN-LIST
- SIZE 30 BY 1 NO-UNDO.
- /* ************************ Frame Definitions *********************** */
- DEFINE FRAME F-Main
- CB_Lager AT ROW 2.52 COL 16.6 COLON-ALIGNED WIDGET-ID 2
- Btn_Verbuchen AT ROW 2.52 COL 81
- Btn_Drucken AT ROW 2.52 COL 101.8
- Btn_Prev AT ROW 2.52 COL 124.4
- Btn_Next AT ROW 2.52 COL 130
- WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
- SIDE-LABELS NO-UNDERLINE THREE-D
- AT COL 1 ROW 1
- SIZE 180 BY 26.19.
- /* *********************** Procedure Settings ************************ */
- &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
- /* Settings for THIS-PROCEDURE
- Type: SmartWindow
- Allow: Basic,Browse,DB-Fields,Query,Smart,Window
- Design Page: 1
- Other Settings: COMPILE
- */
- &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
- /* ************************* Create Window ************************** */
- &ANALYZE-SUSPEND _CREATE-WINDOW
- IF SESSION:DISPLAY-TYPE = "GUI":U THEN
- CREATE WINDOW W-Auftrag ASSIGN
- HIDDEN = YES
- TITLE = "Auftragsbearbeitung"
- HEIGHT = 26.19
- WIDTH = 180
- MAX-HEIGHT = 54.19
- MAX-WIDTH = 384
- VIRTUAL-HEIGHT = 54.19
- VIRTUAL-WIDTH = 384
- RESIZE = no
- SCROLL-BARS = no
- STATUS-AREA = no
- BGCOLOR = ?
- FGCOLOR = ?
- THREE-D = yes
- MESSAGE-AREA = no
- SENSITIVE = yes.
- ELSE {&WINDOW-NAME} = CURRENT-WINDOW.
- /* END WINDOW DEFINITION */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB W-Auftrag
- /* ************************* Included-Libraries *********************** */
- {src/adm/method/containr.i}
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* *********** Runtime Attributes and AppBuilder Settings *********** */
- &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
- /* SETTINGS FOR WINDOW W-Auftrag
- VISIBLE,,RUN-PERSISTENT */
- /* SETTINGS FOR FRAME F-Main
- FRAME-NAME */
- IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(W-Auftrag)
- THEN W-Auftrag:HIDDEN = yes.
- /* _RUN-TIME-ATTRIBUTES-END */
- &ANALYZE-RESUME
-
- /* ************************ Control Triggers ************************ */
- &Scoped-define SELF-NAME W-Auftrag
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL W-Auftrag W-Auftrag
- ON ENTRY OF W-Auftrag /* Auftragsbearbeitung */
- DO:
- Aktive = TRUE.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL W-Auftrag W-Auftrag
- ON LEAVE OF W-Auftrag /* Auftragsbearbeitung */
- DO:
- Aktive = FALSE.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL W-Auftrag W-Auftrag
- ON WINDOW-CLOSE OF W-Auftrag /* Auftragsbearbeitung */
- DO:
- RUN WINDOWCLOSE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_Drucken
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Drucken W-Auftrag
- ON CHOOSE OF Btn_Drucken IN FRAME F-Main /* Drucken */
- DO:
- DEF VAR VProgname AS CHAR NO-UNDO.
- DEF VAR VListnr AS INT NO-UNDO.
- DEF VAR XDateiName AS CHAR NO-UNDO.
- DEF VAR VSamm_Nr AS INT NO-UNDO.
- DEF VAR Schacht AS INT NO-UNDO.
- DEF VAR cUser AS CHAR NO-UNDO.
- DEF VAR VFaknr AS INT NO-UNDO.
- DEF VAR hAuftraege AS HANDLE NO-UNDO.
- DEF VAR vonDatum AS DATE NO-UNDO.
- DEF VAR bisDatum AS DATE NO-UNDO.
- DEF VAR FakDatum AS DATE NO-UNDO.
- DEF VAR iRuestArt AS INT NO-UNDO.
- DEF VAR cBenutzer AS CHAR NO-UNDO.
- DEF VAR lError AS LOG NO-UNDO.
- DEF VAR lGedruckt AS LOG NO-UNDO.
- DEF VAR cRetVal AS CHAR NO-UNDO.
-
- RUN get-attribute ('current-page':U).
- ASeite = INTEGER(RETURN-VALUE).
- cUser = DYNAMIC-FUNCTION('getDBUser':U) NO-ERROR.
- cBenutzer = DYNAMIC-FUNCTION('getBenutzer':U) NO-ERROR.
- FOR EACH WAufko:
- DELETE WAufko.
- END.
- CREATE WAufko.
- FIND Steuer WHERE Steuer.Firma = GVFirma NO-LOCK NO-ERROR.
- ASSIGN XDateiName = Steuer.Fwc10
- iRuestArt = Steuer.RuestArt.
- CRecid = 0.
- lGedruckt = FALSE.
-
- EMPTY TEMP-TABLE tAuftraege.
- hAuftraege = TEMP-TABLE tAuftraege:DEFAULT-BUFFER-HANDLE.
-
- IF ASeite = 9 THEN DO:
- DYNAMIC-FUNCTION('getAuftraege':U IN h_f-savko, hAuftraege ).
- FOR EACH tAuftraege
- BREAK BY tAuftraege.Faknr:
- IF NOT FIRST-OF ( tAuftraege.Faknr ) THEN DELETE tAuftraege.
- END.
- XDateiName = XDateiName + '-sk'.
- FVerbucht = TRUE.
- FIND FIRST tAuftraege NO-ERROR.
- IF AVAILABLE tAuftraege THEN DO:
- RUN VIPER_DRUCK ( tAuftraege.Knr, tAuftraege.Aufnr ).
- IF RETURN-VALUE = '' THEN RETURN NO-APPLY.
- END.
- END.
- ELSE DO:
- DYNAMIC-FUNCTION('getAuftraege':U IN h_f-aufko, hAuftraege ).
- FOR EACH tAuftraege
- WHERE tAuftraege.Faknr <> 0
- BREAK BY tAuftraege.Faknr:
- IF NOT FIRST-OF ( tAuftraege.Faknr ) THEN DELETE tAuftraege.
- END.
- FVerbucht = FALSE.
- END.
- FIND FIRST tAuftraege NO-ERROR.
- IF iRuestArt > 0 AND
- NOT tAuftraege.lOfferte THEN DO:
- RUN AUFBEREITUNG_RUESTPAPIER NO-ERROR.
- END.
- FIND FIRST tAuftraege NO-ERROR.
- FIND FIRST Tabel NO-LOCK
- WHERE Tabel.Firma = GVFirma
- AND Tabel.RecArt = 'FAKART'
- AND Tabel.CodeI = tAuftraege.Fak_Art NO-ERROR.
- CASE cInstallation:
- WHEN 'oswald' THEN DO:
- IF Tabel.Int_3 >= 3 AND
- tAuftraege.Fak_Art <> 30 /*AND
- NOT FVerbucht */THEN DO:
- RUN DRUCKEN IN THIS-PROCEDURE ( tAuftraege.iRecid,
- tAuftraege.Aufnr,
- STRING(FVerbucht,'j/n'),
- OUTPUT cRetVal ).
- IF cRetVal = '' THEN RUN WEITER ( tAuftraege.Aufnr ) NO-ERROR.
- lGedruckt = TRUE.
- END.
- END.
- END.
- DO WHILE cInstallation BEGINS 'Huber' :
- IF AVAILABLE tAuftraege AND
- tAuftraege.lOfferte THEN LEAVE.
- IF NOT AVAILABLE tAuftraege THEN LEAVE.
- IF tAuftraege.Fak_Art <> 80 THEN LEAVE.
- IF tAuftraege.Auf_Sta > 1 THEN LEAVE.
- REPEAT TRANSACTION:
- IF tAuftraege.Auf_Sta < 1 THEN RUN WEITER ( tAuftraege.Aufnr ).
- LEAVE.
- END.
- LEAVE.
- END.
- DO WHILE NOT lGedruckt:
- DruckProgramm = 'v8/c-p_' + XDateiName + '.r'.
- DruckProgramm = SEARCH(DruckProgramm).
- IF DruckProgramm <> ? THEN LEAVE.
- DruckProgramm = 'v8/c-p_' + XDateiName + '.w'.
- DruckProgramm = SEARCH(DruckProgramm).
- IF DruckProgramm <> ? THEN LEAVE.
- DruckProgramm = 'd-p_' + XDateiName + '.r'.
- DruckProgramm = SEARCH(DruckProgramm).
- IF DruckProgramm <> ? THEN LEAVE.
- DruckProgramm = 'd-p_' + XDateiName + '.w'.
- DruckProgramm = SEARCH(DruckProgramm).
- IF DruckProgramm <> ? THEN LEAVE.
- LEAVE.
- END.
- IF DruckProgramm = ? THEN RETURN NO-APPLY.
- FOR EACH tAuftraege WHILE NOT lGedruckt:
- IF fVerbucht THEN DO:
- FIND BSavko NO-LOCK USE-INDEX Savko-k1
- WHERE BSavko.Firma = GVFirma
- AND BSavko.Aufnr = tAuftraege.Aufnr NO-ERROR.
- IF NOT AVAILABLE BSavko THEN NEXT.
- FIND FIRST WAufko.
- BUFFER-COPY BSavko TO WAufko.
- ASSIGN VFakart = WAufko.Fak_Art
- VAufsta = WAufko.Auf_Sta
- VKnr = WAufko.Fak_Knr
- BKnr = WAufko.Fak_Knr
- VAufnr = 0
- BAufnr = 999999
- VFaknr = WAufko.Faknr
- BLiefDat = WAufko.Lief_Datum
- VFakdat = WAufko.Fak_Datum.
- CRecid = RECID(BSavko).
- vonDatum = DATE(MONTH(BSavko.Lief_Datum),01,YEAR(BSavko.Lief_Datum)).
- bisDatum = vonDatum + 27.
- DO WHILE TRUE:
- IF MONTH(bisDatum + 1) <> MONTH(bisDatum) THEN LEAVE.
- bisDatum = bisDatum + 1.
- END.
- IF BSavko.Fak_Datum <> ? THEN FakDatum = BSavko.Fak_Datum.
- ELSE FakDatum = bisDatum.
- Linktext = STRING(BSavko.Fak_Art,'999')
- + ';'
- + STRING(BSavko.Auf_Sta,'999')
- + ';'
- + STRING(BSavko.Fak_Knr,'999999')
- + ';'
- + STRING(BSavko.Fak_Knr,'999999')
- + ";"
- + STRING(vonDatum ,"99.99.9999")
- + ";"
- + STRING(bisDatum ,"99.99.9999")
- + ";"
- + STRING(FakDatum ,"99.99.9999").
- END.
- ELSE DO:
- FIND BAufko NO-LOCK USE-INDEX Aufko-k1
- WHERE BAufko.Firma = GVFirma
- AND BAufko.Aufnr = tAuftraege.Aufnr NO-ERROR.
- IF NOT AVAILABLE BAufko THEN NEXT.
- FIND FIRST WAufko.
- BUFFER-COPY BAufko TO WAufko.
- CRecid = RECID(BAufko).
- END.
-
- XVAufnr = tAuftraege.Aufnr.
- RUN LESEN_AUFKO_TABELLE.
- FIND FIRST WAufko.
-
- IF NOT ok THEN DO:
- MESSAGE 'Für dieses Formular wurde kein Drucker zugeteilt'
- VIEW-AS ALERT-BOX.
- RETURN NO-APPLY.
- END.
-
- IF ATabel.Int_3 = 4 THEN VSammFak = TRUE.
- ELSE VSammFak = FALSE.
- IF WAufko.AlsOfferte THEN VSammFak = FALSE.
-
- DO WHILE TRUE:
- IF NOT VSammFak THEN DO:
- VFakart = WAufko.Fak_Art.
- VAufsta = WAufko.Auf_Sta.
- VKnr = WAufko.Fak_Knr.
- BKnr = WAufko.Fak_Knr.
- VAufnr = WAufko.Aufnr.
- BAufnr = WAufko.Aufnr.
- VLiefDat = WAufko.Lief_Datum.
- BLiefDat = WAufko.Lief_Datum.
- VFakdat = WAufko.Fak_Datum.
- LEAVE.
- END.
-
- IF NOT fVerbucht THEN DO:
- Linktext = STRING(cRecid,"99999999").
- RUN "v8/d-fakauswahl.w" ( INPUT FVerbucht ).
- END.
- IF Linktext = '' THEN DO:
- ENABLE Btn_Drucken.
- RETURN NO-APPLY.
- END.
-
- VFakart = INTEGER(ENTRY(1, Linktext, ";")).
- VAufsta = INTEGER(ENTRY(2, Linktext, ";")).
- VKnr = INTEGER(ENTRY(3, Linktext, ";")).
- BKnr = INTEGER(ENTRY(4, Linktext, ";")).
- XDatum = ENTRY(5, Linktext, ";").
- VLiefDat = DATE(INTEGER(SUBSTRING(XDatum,04,02)),
- INTEGER(SUBSTRING(XDatum,01,02)),
- INTEGER(SUBSTRING(XDatum,07,04))).
- XDatum = ENTRY(6, Linktext, ";").
- BLiefDat = DATE(INTEGER(SUBSTRING(XDatum,04,02)),
- INTEGER(SUBSTRING(XDatum,01,02)),
- INTEGER(SUBSTRING(XDatum,07,04))).
- XDatum = ENTRY(7, Linktext, ";").
- VFakDat = DATE(INTEGER(SUBSTRING(XDatum,04,02)),
- INTEGER(SUBSTRING(XDatum,01,02)),
- INTEGER(SUBSTRING(XDatum,07,04))).
- VAufnr = 000000.
- BAufnr = 999999.
- LEAVE.
- END.
-
- EMPTY TEMP-TABLE tAufko.
-
- IF FVerbucht THEN DO:
- FOR EACH Savko NO-LOCK USE-INDEX Savko-k11
- WHERE Savko.Firma = GVFirma
- AND Savko.Faknr = VFaknr :
- CREATE tAufko.
- ASSIGN tAufko.Knr = Savko.Fak_Knr
- tAufko.Samm_Nr = Savko.Samm_Nr
- tAufko.Aufnr = Savko.Aufnr
- tAufko.RID = RECID(Savko).
- END.
- END.
- ELSE DO:
- FOR EACH Aufko NO-LOCK USE-INDEX Aufko-k5
- WHERE Aufko.Firma = GVFirma
- AND Aufko.Fak_Art = VFakart
- AND Aufko.Auf_Sta = VAufsta
- AND Aufko.Fak_Knr >= VKnr
- AND Aufko.Fak_Knr <= BKnr
- AND Aufko.Lief_Datum >= VLiefDat
- AND Aufko.Lief_Datum <= BLiefDat
- AND Aufko.Aufnr >= VAufnr
- AND Aufko.Aufnr <= BAufnr :
- CREATE tAufko.
- ASSIGN tAufko.Knr = Aufko.Fak_Knr
- tAufko.Samm_Nr = Aufko.Samm_Nr
- tAufko.Aufnr = Aufko.Aufnr
- tAufko.RID = RECID(Aufko).
- IF tAufko.Samm_Nr = 0 THEN tAufko.Samm_Nr = Aufko.Aufnr.
- END.
- END.
- FOR EACH tAufko BREAK BY tAufko.Knr
- BY tAufko.Samm_Nr
- BY tAufko.Aufnr :
- IF NOT FVerbucht THEN DO:
- REPEAT TRANSACTION:
- FIND Aufko WHERE RECID(Aufko) = tAufko.RID.
- Aufko.Fak_Datum = VFakDat.
- RELEASE Aufko.
- LEAVE.
- END.
- END.
- IF FIRST-OF ( tAufko.Samm_Nr ) THEN NEXT.
- DELETE tAufko.
- END.
-
- FOR EACH tAufko:
- DO WHILE FVerbucht = FALSE:
- IF NOT VSammFak THEN LEAVE.
- VSamm_Nr = 0.
-
- /* Sammelrechnungen ausserhalb des Datums neue Sammelnummer geben */
-
- FOR EACH Aufko USE-INDEX Aufko-k5
- WHERE Aufko.Firma = GVFirma
- AND Aufko.Fak_Art = VFakart
- AND Aufko.Samm_Nr = tAufko.Samm_Nr
- AND Aufko.Fak_Knr = tAufko.Knr
- AND Aufko.Lief_Datum > BLiefDat TRANSACTION:
- IF VSamm_Nr = 0 THEN DO:
- VSamm_Nr = DYNAMIC-FUNCTION('createSammNr':U, GVFirma ).
- END.
- ASSIGN Aufko.Samm_Nr = VSamm_Nr
- Aufko.Gedruckt = FALSE
- Aufko.Faknr = 0.
- RELEASE Aufko.
- END.
- LEAVE.
- END.
-
- XVAufnr = tAufko.Aufnr.
- CRecid = tAufko.RID.
- VRuest = 0.
-
- IF NOT FVerbucht THEN DO:
- FIND BAufko NO-LOCK WHERE RECID(BAufko) = tAufko.RID.
- FIND FIRST WAufko.
- BUFFER-COPY BAufko TO WAufko.
- END.
- ELSE DO:
- FIND BSavko NO-LOCK WHERE RECID(BSavko) = tAufko.RID.
- FIND FIRST WAufko.
- BUFFER-COPY BSavko TO WAufko.
- END.
- RUN LESEN_AUFKO_TABELLE.
- IF NOT ok THEN NEXT.
-
- REPEAT TRANSACTION:
- VProgname = TRIM(cUser) + '!AUFTRAG'.
- FIND FIRST Listen USE-INDEX Listen-k1
- WHERE Listen.Firma = GVFirma
- AND Listen.Progname = VProgname
- AND Listen.Listfl = '' NO-ERROR.
- IF NOT AVAILABLE Listen THEN DO:
- FIND LAST Listen USE-INDEX Listen-k1
- WHERE Listen.Firma = GVFirma NO-LOCK NO-ERROR.
- IF AVAILABLE Listen THEN VListnr = Listen.Listnr + 1.
- ELSE VListnr = 1.
- CREATE Listen.
- ASSIGN Listen.Firma = GVFirma
- Listen.Listnr = VListnr
- Listen.Progname = VProgname
- Listen.Listfl = ''
- Listen.Jahr = GVJahr
- Listen.Sprcd = GVSprcd
- Listen.Sort = 1
- Listen.ProgWahl = 1.
- END.
- Listen.Listfl = 'A'.
- ARecid = RECID(Listen).
-
- FIND LiDruck USE-INDEX LiDruck-k1
- WHERE LiDruck.Firma = GVFirma
- AND LiDruck.Listnr = Listen.Listnr
- AND LiDruck.ProgWahl = Listen.ProgWahl NO-ERROR.
- IF NOT AVAILABLE LiDruck THEN DO:
- CREATE LiDruck.
- ASSIGN LiDruck.Firma = GVFirma
- LiDruck.Listnr = Listen.Listnr
- LiDruck.ProgWahl = Listen.ProgWahl
- LiDruck.Listprog = 'AUFTRAG' + STRING(Listen.ProgWahl,'99')
- LiDruck.ListCopy = 1
- LiDruck.Schacht = 0
- LiDruck.Listlq = FALSE.
- END.
- BRecid = RECID(LiDruck).
-
- FIND FIRST WDrucker.
- ASSIGN LiDruck.ListDru = WDrucker.Drucker
- LiDruck.ListBild = WDrucker.Schrift
- LiDruck.Listtzz = WDrucker.TotZZ
- LiDruck.Listkzz = WDrucker.BegZZ
- LiDruck.Listfzz = WDrucker.EndZZ
- LiDruck.ListCopy = WDrucker.AnzKop
- LiDruck.Schacht = WDrucker.SchOri
- VBesr = WDrucker.Besr
- Schacht = WDrucker.SchBesr.
-
- IF LiDruck.ListCopy = 0 THEN LiDruck.ListCopy = 1.
-
- RELEASE Listen.
- RELEASE LiDruck.
-
- FIND LAST Tabel NO-LOCK USE-INDEX Tabel-k1
- WHERE Tabel.Firma = GVFirma
- AND Tabel.RecArt = 'AUFDRUCK'
- AND Tabel.CodeC = cUser NO-ERROR.
- IF AVAILABLE Tabel THEN i1 = Tabel.CodeI + 1.
- ELSE i1 = 1.
- CREATE Tabel.
- ASSIGN Tabel.Firma = GVFirma
- Tabel.RecArt = 'AUFDRUCK'
- Tabel.CodeC = cUser
- Tabel.CodeI = i1
- Tabel.Sprcd = 1
- Tabel.Int_1 = ARecid
- Tabel.Int_2 = BRecid
- Tabel.Int_3 = CRecid
- Tabel.Dec_1 = VBesr
- Tabel.Dec_2 = INTEGER(WDrucker.iRecid)
- Tabel.Dec_3 = Schacht
- Tabel.Bez1 = ''
- Tabel.Bez2 = VDokument
- Tabel.BezL = SUBSTITUTE('&1;&2;&3;&4',
- WDrucker.SchOri,
- WDrucker.SchKop,
- WDrucker.SchBesr,
- WDrucker.Besr).
-
- RELEASE Tabel.
- IF WAufko.AlsOfferte THEN LEAVE.
- ok = FALSE.
- IF VRuest > 0 THEN RUN LESEN_RUEST_TABELLE.
- IF NOT ok THEN LEAVE.
- END.
- END. /* FOR EACH tAufko */
-
- RUN VALUE(DruckProgramm).
-
- END.
- IF ASeite = 2 THEN DO:
- RUN select-page ( 1 ).
- RUN view-page ( 1 ).
- RUN OPEN_AUFKO IN h_f-aufko.
- RETURN NO-APPLY.
- END.
- IF ASeite = 0 THEN DO:
- RUN select-page ( 1 ).
- RUN view-page ( 1 ).
- RUN OPEN_AUFKO IN h_f-aufko.
- RETURN NO-APPLY.
- END.
- IF ASeite = 1 THEN DO:
- RUN OPEN_AUFKO IN h_f-aufko.
- RETURN NO-APPLY.
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_Next
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Next W-Auftrag
- ON CHOOSE OF Btn_Next IN FRAME F-Main /* + */
- DO:
- IF VUpdate THEN RETURN NO-APPLY.
- IF NOT Aktive THEN RETURN NO-APPLY.
- RUN state-changed ( INPUT THIS-PROCEDURE, INPUT 'Next_Page':U ).
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_Prev
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Prev W-Auftrag
- ON CHOOSE OF Btn_Prev IN FRAME F-Main /* - */
- DO:
- IF VUpdate THEN RETURN NO-APPLY.
- IF NOT Aktive THEN RETURN NO-APPLY.
- RUN state-changed ( INPUT THIS-PROCEDURE, INPUT 'Prev_Page':U ).
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_Verbuchen
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Verbuchen W-Auftrag
- ON CHOOSE OF Btn_Verbuchen IN FRAME F-Main /* Verbuchen */
- DO:
- FIND Aufko USE-INDEX Aufko-k1
- WHERE Aufko.Firma = GVFirma
- AND Aufko.Aufnr = XVAufnr NO-LOCK NO-ERROR.
- IF Aufko.Gedruckt = FALSE THEN DO:
- Ja = DYNAMIC-FUNCTION('ANTWORT_NEIN':U, INPUT 1066 ) NO-ERROR.
- IF NOT Ja THEN RETURN NO-APPLY.
- LVRecid = RECID(Aufko).
- REPEAT TRANSACTION:
- IF Aufko.Faknr = 0 THEN DO:
- MESSAGE 'Rechnung muss zuerst gedruckt werden'
- VIEW-AS ALERT-BOX.
- RETURN NO-APPLY.
- END.
- FOR EACH XAufko USE-INDEX Aufko-k5
- WHERE XAufko.Firma = Aufko.Firma
- AND XAUfko.Fak_Art = Aufko.Fak_Art
- AND XAufko.Samm_Nr = Aufko.Samm_Nr:
- XAufko.Gedruckt = TRUE.
- RELEASE XAufko.
- END.
- LEAVE.
- END.
- FIND Aufko WHERE RECID(Aufko) = LVRecid NO-LOCK NO-ERROR.
- END.
- IF Aufko.Faknr = 0 THEN DO:
- RUN FEHLER ( INPUT 1067 ).
- APPLY 'ENTRY' TO Btn_Verbuchen.
- RETURN NO-APPLY.
- END.
- FIND FIRST Debop NO-LOCK
- WHERE Debop.Firma = GVFirma
- AND Debop.Faknr = Aufko.Faknr NO-ERROR.
- IF AVAILABLE Debop THEN DO:
- MESSAGE 'Rechnungsnummer ist ungültig. Eine solche Nummer besteht bereits'
- VIEW-AS ALERT-BOX ERROR.
- APPLY 'ENTRY' TO Btn_Verbuchen.
- RETURN NO-APPLY.
- END.
- FIND Tabel NO-LOCK USE-INDEX Tabel-k1
- WHERE Tabel.Firma = GVFirma
- AND Tabel.RecArt = 'FAKART'
- AND Tabel.CodeC = ''
- AND Tabel.CodeI = Aufko.Fak_Art
- AND Tabel.Sprcd = 1 NO-ERROR.
- DO WHILE TRUE:
- IF Tabel.INT_3 = 20 THEN LEAVE. /* Kasse */
- IF Tabel.Int_3 = 3 THEN LEAVE. /* Einzelrechnung */
- IF Tabel.Int_3 = 4 AND /* Sammelrechnung */
- Aufko.Auf_Sta > 4 THEN LEAVE.
- { v8/fehler.i "0313" }
- APPLY 'ENTRY' TO Btn_Verbuchen.
- RETURN NO-APPLY.
- END.
-
- XVAufnr = Aufko.Aufnr.
- XVKnr = Aufko.Fak_KNr.
- LVDat = Aufko.Fak_Dat.
- Linknr = 9.
- RUN "v8/d-verbuchen.w".
- Linknr = 0.
- RUN state-changed IN THIS-PROCEDURE ( INPUT THIS-PROCEDURE, INPUT 'Seite_1_Open':U ).
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME CB_Lager
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Lager W-Auftrag
- ON VALUE-CHANGED OF CB_Lager IN FRAME F-Main /* Lager */
- DO:
- DEF VAR cBenutzer AS CHAR NO-UNDO.
-
- RUN SET_LAGER in h_f-Aufko ( INTEGER(SELF:SCREEN-VALUE) ).
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &UNDEFINE SELF-NAME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK W-Auftrag
- /* *************************** Main Block *************************** */
- DEF VAR xString AS CHAR NO-UNDO.
- XVDruArt = 0.
- GET-KEY-VALUE SECTION 'GrundEinstellungen'
- KEY 'EscapeAufAuftrag'
- VALUE xString.
- IF xString = ? THEN xString = 'nein'.
- IF xString BEGINS 'n' THEN EscFlag = FALSE.
- ELSE EscFlag = TRUE .
- EndFlag = FALSE.
- cInstallation = DYNAMIC-FUNCTION('getInstallation':U) NO-ERROR.
- cBenutzer = DYNAMIC-FUNCTION('getBenutzer':U) NO-ERROR.
- ON 'ALT-+':U OF {&WINDOW-NAME} ANYWHERE
- DO:
- APPLY 'CHOOSE' TO Btn_Next IN FRAME {&FRAME-NAME}.
- RETURN NO-APPLY.
- END.
- ON 'ALT-CURSOR-RIGHT':U OF {&WINDOW-NAME} ANYWHERE
- DO:
- APPLY 'CHOOSE' TO Btn_Next IN FRAME {&FRAME-NAME}.
- RETURN NO-APPLY.
- END.
- ON 'ALT--':U OF {&WINDOW-NAME} ANYWHERE
- DO:
- APPLY 'CHOOSE' TO Btn_Prev IN FRAME {&FRAME-NAME}.
- RETURN NO-APPLY.
- END.
- ON 'ALT-CURSOR-LEFT':U OF {&WINDOW-NAME} ANYWHERE
- DO:
- APPLY 'CHOOSE' TO Btn_Prev IN FRAME {&FRAME-NAME}.
- RETURN NO-APPLY.
- END.
- ON 'END-ERROR':U OF {&WINDOW-NAME} ANYWHERE
- DO:
- EndFlag = TRUE.
- RUN WINDOWCLOSE.
- RETURN NO-APPLY.
- END.
- ON 'ALT-1':U OF {&WINDOW-NAME} ANYWHERE
- DO:
- IF VUpdate THEN RETURN NO-APPLY.
- RUN select-page(1).
- RUN view-page (1).
- END.
- ON 'ALT-2':U OF {&WINDOW-NAME} ANYWHERE
- DO:
- IF VUpdate THEN RETURN NO-APPLY.
- RUN select-page(2).
- RUN view-page (2).
- END.
- ON 'ALT-3':U OF {&WINDOW-NAME} ANYWHERE
- DO:
- IF VUpdate THEN RETURN NO-APPLY.
- RUN select-page(3).
- RUN view-page (3).
- END.
- ON 'U9':U OF {&WINDOW-NAME} ANYWHERE
- DO:
- APPLY 'CHOOSE' TO Btn_Drucken IN FRAME {&FRAME-NAME}.
- RETURN.
- END.
- ON 'INSERT-MODE':U OF {&WINDOW-NAME} ANYWHERE
- DO:
- RUN get-attribute ('current-page':U).
- AktSeite = INTEGER(RETURN-VALUE).
- IF AktSeite = 1 THEN RUN NEUER_AUFTRAG IN h_f-aufko.
- IF AktSeite = 2 THEN RUN NEUE_ZEILE IN h_b-aufze.
- RETURN.
- END.
- /* Include custom Main Block code for SmartWindows. */
- {src/adm/template/windowmn.i}
- FFolder = TRUE.
- VUpdate = FALSE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* ********************** Internal Procedures *********************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects W-Auftrag _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>
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE adm-current-page AS INTEGER NO-UNDO.
- RUN get-attribute IN THIS-PROCEDURE ('Current-Page':U).
- ASSIGN adm-current-page = INTEGER(RETURN-VALUE).
- CASE adm-current-page:
- WHEN 0 THEN DO:
- RUN init-object IN THIS-PROCEDURE (
- INPUT 'src_dlcv91c/template/aufragsfolder.w':U ,
- INPUT FRAME F-Main:HANDLE ,
- INPUT 'FOLDER-LABELS = ':U + 'Kopf|Zeile|Geb.Rück.|Aufträge|Zahlung|Verkäufe|Drucker|Faxliste|Verbuchte|Umsätze' + ',
- FOLDER-TAB-TYPE = 2':U ,
- OUTPUT h_folder ).
- RUN set-position IN h_folder ( 1.00 , 1.00 ) NO-ERROR.
- RUN set-size IN h_folder ( 26.19 , 180.00 ) NO-ERROR.
- /* Links to SmartFolder h_folder. */
- RUN add-link IN adm-broker-hdl ( h_folder , 'Page':U , THIS-PROCEDURE ).
- /* Adjust the tab order of the smart objects. */
- RUN adjust-tab-order IN adm-broker-hdl ( h_folder ,
- CB_Lager:HANDLE IN FRAME F-Main , 'BEFORE':U ).
- END. /* Page 0 */
- WHEN 1 THEN DO:
- RUN init-object IN THIS-PROCEDURE (
- INPUT 'v8/f-aufko.w':U ,
- INPUT FRAME F-Main:HANDLE ,
- INPUT 'Layout = ':U ,
- OUTPUT h_f-aufko ).
- RUN set-position IN h_f-aufko ( 3.86 , 3.20 ) NO-ERROR.
- /* Size in UIB: ( 22.91 , 136.80 ) */
- /* Links to SmartFrame h_f-aufko. */
- RUN add-link IN adm-broker-hdl ( THIS-PROCEDURE , 'MAIN':U , h_f-aufko ).
- /* Adjust the tab order of the smart objects. */
- RUN adjust-tab-order IN adm-broker-hdl ( h_f-aufko ,
- Btn_Next:HANDLE IN FRAME F-Main , 'AFTER':U ).
- END. /* Page 1 */
- WHEN 2 THEN DO:
- RUN init-object IN THIS-PROCEDURE (
- INPUT 'v8/b-aufze_v8.w':U ,
- INPUT FRAME F-Main:HANDLE ,
- INPUT 'Layout = ':U ,
- OUTPUT h_b-aufze ).
- RUN set-position IN h_b-aufze ( 3.95 , 6.20 ) NO-ERROR.
- RUN set-size IN h_b-aufze ( 21.52 , 160.40 ) NO-ERROR.
- /* Links to SmartBrowser h_b-aufze. */
- RUN add-link IN adm-broker-hdl ( THIS-PROCEDURE , 'MAIN':U , h_b-aufze ).
- RUN add-link IN adm-broker-hdl ( h_b-aufze , 'State':U , THIS-PROCEDURE ).
- /* Adjust the tab order of the smart objects. */
- RUN adjust-tab-order IN adm-broker-hdl ( h_b-aufze ,
- Btn_Next:HANDLE IN FRAME F-Main , 'AFTER':U ).
- END. /* Page 2 */
- WHEN 3 THEN DO:
- RUN init-object IN THIS-PROCEDURE (
- INPUT 'v8/bx-aufgebko.w':U ,
- INPUT FRAME F-Main:HANDLE ,
- INPUT 'Layout = ':U ,
- OUTPUT h_b-aufgebko ).
- RUN set-position IN h_b-aufgebko ( 4.05 , 2.60 ) NO-ERROR.
- RUN set-size IN h_b-aufgebko ( 21.19 , 170.00 ) NO-ERROR.
- /* Links to SmartBrowser h_b-aufgebko. */
- RUN add-link IN adm-broker-hdl ( THIS-PROCEDURE , 'MAIN':U , h_b-aufgebko ).
- /* Adjust the tab order of the smart objects. */
- RUN adjust-tab-order IN adm-broker-hdl ( h_b-aufgebko ,
- Btn_Next:HANDLE IN FRAME F-Main , 'AFTER':U ).
- END. /* Page 3 */
- WHEN 4 THEN DO:
- RUN init-object IN THIS-PROCEDURE (
- INPUT 'v8/f-auftrag.w':U ,
- INPUT FRAME F-Main:HANDLE ,
- INPUT 'Layout = ':U ,
- OUTPUT h_f-auftrag ).
- RUN set-position IN h_f-auftrag ( 4.71 , 6.40 ) NO-ERROR.
- /* Size in UIB: ( 15.76 , 127.60 ) */
- /* Links to SmartFrame h_f-auftrag. */
- RUN add-link IN adm-broker-hdl ( THIS-PROCEDURE , 'MAIN':U , h_f-auftrag ).
- /* Adjust the tab order of the smart objects. */
- RUN adjust-tab-order IN adm-broker-hdl ( h_f-auftrag ,
- Btn_Next:HANDLE IN FRAME F-Main , 'AFTER':U ).
- END. /* Page 4 */
- WHEN 5 THEN DO:
- RUN init-object IN THIS-PROCEDURE (
- INPUT 'v8/f-aufkoberech.w':U ,
- INPUT {&WINDOW-NAME} ,
- INPUT 'Layout = ':U ,
- OUTPUT h_f-aufkoberech ).
- RUN set-position IN h_f-aufkoberech ( 3.81 , 9.00 ) NO-ERROR.
- /* Size in UIB: ( 21.52 , 123.20 ) */
- /* Links to SmartFrame h_f-aufkoberech. */
- RUN add-link IN adm-broker-hdl ( THIS-PROCEDURE , 'MAIN':U , h_f-aufkoberech ).
- END. /* Page 5 */
- WHEN 6 THEN DO:
- RUN init-object IN THIS-PROCEDURE (
- INPUT 'v8/b-artbw-kunde.w':U ,
- INPUT {&WINDOW-NAME} ,
- INPUT 'Initial-Lock = NO-LOCK,
- Hide-on-Init = no,
- Disable-on-Init = no,
- Layout = ,
- Create-On-Add = ?':U ,
- OUTPUT h_b-artbw-kunde ).
- RUN set-position IN h_b-artbw-kunde ( 4.24 , 7.20 ) NO-ERROR.
- RUN set-size IN h_b-artbw-kunde ( 20.71 , 167.00 ) NO-ERROR.
- /* Links to SmartBrowser h_b-artbw-kunde. */
- RUN add-link IN adm-broker-hdl ( THIS-PROCEDURE , 'MAIN':U , h_b-artbw-kunde ).
- END. /* Page 6 */
- WHEN 7 THEN DO:
- RUN init-object IN THIS-PROCEDURE (
- INPUT 'v8/a-schriften.w':U ,
- INPUT {&WINDOW-NAME} ,
- INPUT 'Layout = ':U ,
- OUTPUT h_a-schriften ).
- RUN set-position IN h_a-schriften ( 14.10 , 8.60 ) NO-ERROR.
- RUN set-size IN h_a-schriften ( 8.33 , 131.00 ) NO-ERROR.
- RUN init-object IN THIS-PROCEDURE (
- INPUT 'v8/f-dokumentdrucker.w':U ,
- INPUT FRAME F-Main:HANDLE ,
- INPUT 'Layout = ':U ,
- OUTPUT h_f-dokumentdrucker ).
- RUN set-position IN h_f-dokumentdrucker ( 5.33 , 6.80 ) NO-ERROR.
- /* Size in UIB: ( 18.00 , 138.40 ) */
- /* Links to SmartBrowser h_a-schriften. */
- RUN add-link IN adm-broker-hdl ( h_f-dokumentdrucker , 'BROWSER':U , h_a-schriften ).
- RUN add-link IN adm-broker-hdl ( THIS-PROCEDURE , 'MAIN':U , h_a-schriften ).
- /* Links to SmartFrame h_f-dokumentdrucker. */
- RUN add-link IN adm-broker-hdl ( THIS-PROCEDURE , 'MAIN':U , h_f-dokumentdrucker ).
- /* Adjust the tab order of the smart objects. */
- RUN adjust-tab-order IN adm-broker-hdl ( h_f-dokumentdrucker ,
- Btn_Next:HANDLE IN FRAME F-Main , 'AFTER':U ).
- END. /* Page 7 */
- WHEN 8 THEN DO:
- RUN init-object IN THIS-PROCEDURE (
- INPUT 'v8/f-kunbest.w':U ,
- INPUT FRAME F-Main:HANDLE ,
- INPUT 'Layout = ':U ,
- OUTPUT h_f-kunbest ).
- RUN set-position IN h_f-kunbest ( 3.95 , 6.00 ) NO-ERROR.
- /* Size in UIB: ( 21.48 , 133.00 ) */
- /* Links to SmartFrame h_f-kunbest. */
- RUN add-link IN adm-broker-hdl ( THIS-PROCEDURE , 'MAIN':U , h_f-kunbest ).
- /* Adjust the tab order of the smart objects. */
- RUN adjust-tab-order IN adm-broker-hdl ( h_f-kunbest ,
- Btn_Next:HANDLE IN FRAME F-Main , 'AFTER':U ).
- END. /* Page 8 */
- WHEN 9 THEN DO:
- RUN init-object IN THIS-PROCEDURE (
- INPUT 'v8/f-savko.w':U ,
- INPUT FRAME F-Main:HANDLE ,
- INPUT 'Layout = ':U ,
- OUTPUT h_f-savko ).
- RUN set-position IN h_f-savko ( 3.95 , 3.00 ) NO-ERROR.
- /* Size in UIB: ( 21.19 , 167.00 ) */
- /* Links to SmartFrame h_f-savko. */
- RUN add-link IN adm-broker-hdl ( THIS-PROCEDURE , 'MAIN':U , h_f-savko ).
- /* Adjust the tab order of the smart objects. */
- RUN adjust-tab-order IN adm-broker-hdl ( h_f-savko ,
- Btn_Next:HANDLE IN FRAME F-Main , 'AFTER':U ).
- END. /* Page 9 */
- WHEN 10 THEN DO:
- RUN init-object IN THIS-PROCEDURE (
- INPUT 'v8/f-umsatzanzeige.w':U ,
- INPUT FRAME F-Main:HANDLE ,
- INPUT 'Layout = ':U ,
- OUTPUT h_f-umsatzanzeige ).
- RUN set-position IN h_f-umsatzanzeige ( 4.24 , 3.00 ) NO-ERROR.
- /* Size in UIB: ( 16.29 , 135.00 ) */
- /* Adjust the tab order of the smart objects. */
- RUN adjust-tab-order IN adm-broker-hdl ( h_f-umsatzanzeige ,
- Btn_Next:HANDLE IN FRAME F-Main , 'AFTER':U ).
- END. /* Page 10 */
- WHEN 12 THEN DO:
- RUN init-object IN THIS-PROCEDURE (
- INPUT 'v8/v-verbuchen.w':U ,
- INPUT FRAME F-Main:HANDLE ,
- INPUT 'Layout = ':U ,
- OUTPUT h_v-verbuchen ).
- RUN set-position IN h_v-verbuchen ( 8.62 , 34.40 ) NO-ERROR.
- /* Size in UIB: ( 13.00 , 90.80 ) */
- /* Adjust the tab order of the smart objects. */
- RUN adjust-tab-order IN adm-broker-hdl ( h_v-verbuchen ,
- Btn_Next:HANDLE IN FRAME F-Main , 'AFTER':U ).
- END. /* Page 12 */
- WHEN 20 THEN DO:
- RUN init-object IN THIS-PROCEDURE (
- INPUT 'v8/b-kundensuche.w':U ,
- INPUT FRAME F-Main:HANDLE ,
- INPUT 'Layout = ':U ,
- OUTPUT h_b-kundensuche ).
- RUN set-position IN h_b-kundensuche ( 15.67 , 2.40 ) NO-ERROR.
- RUN set-size IN h_b-kundensuche ( 9.05 , 122.00 ) NO-ERROR.
- /* Links to SmartBrowser h_b-kundensuche. */
- RUN add-link IN adm-broker-hdl ( h_b-kundensuche , 'State':U , THIS-PROCEDURE ).
- /* Adjust the tab order of the smart objects. */
- RUN adjust-tab-order IN adm-broker-hdl ( h_b-kundensuche ,
- Btn_Next:HANDLE IN FRAME F-Main , 'AFTER':U ).
- END. /* Page 20 */
- END CASE.
- /* Select a Startup page. */
- IF adm-current-page eq 0
- THEN RUN select-page IN THIS-PROCEDURE ( 1 ).
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-row-available W-Auftrag _ADM-ROW-AVAILABLE
- PROCEDURE adm-row-available :
- /*------------------------------------------------------------------------------
- Purpose: Dispatched to this procedure when the Record-
- Source has a new row available. This procedure
- tries to get the new row (or foriegn keys) from
- the Record-Source and process it.
- Parameters: <none>
- ------------------------------------------------------------------------------*/
- /* Define variables needed by this internal procedure. */
- {src/adm/template/row-head.i}
- /* Process the newly available records (i.e. display fields,
- open queries, and/or pass records on to any RECORD-TARGETS). */
- {src/adm/template/row-end.i}
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AUFBEREITUNG_RUESTPAPIER W-Auftrag
- PROCEDURE AUFBEREITUNG_RUESTPAPIER :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR cString AS CHAR NO-UNDO.
- DEF VAR cAuftrag AS CHAR NO-UNDO.
- FIND Steuer NO-LOCK
- WHERE Steuer.Firma = GVFirma.
- cAuftrag = ''.
- FOR EACH tAuftraege
- WHERE tAuftraege.lOfferte = FALSE
- AND tAuftraege.Auf_Sta < 2
- AND ((NOT cInstallation BEGINS 'Huber')
- OR (cInstallation BEGINS 'Huber' AND
- tAuftraege.Fak_Art <> 80)) TRANSACTION:
-
- CREATE ASMutation.
- ASSIGN ASMutation.ASMutation_id = NEXT-VALUE(ASMutation_id)
- ASMutation.MutArt = 'RUESTDRUCK'
- ASMutation.Firma = GVFirma
- ASMutation.AdFirma = ''
- ASMutation.Datum = TODAY
- ASMutation.cStatus = ''
- ASMutation.Aktiv = TRUE
- ASMutation.iKey_1 = tAuftraege.Aufnr
- ASMutation.iKey_2 = Steuer.RuestArt
- ASMutation.iFeld_1 = 0
- ASMutation.iFeld_2 = 0
- ASMutation.iFeld_3 = 0
- ASMutation.cFeld_2 = cBenutzer.
- .
- RELEASE ASMutation.
-
- cAuftrag = cAuftrag
- + (IF cAuftrag = '' THEN '' ELSE ' ')
- + STRING(tAuftraege.Aufnr,'9999999').
-
- IF tAuftraege.Auf_Sta < 1 THEN RUN WEITER ( tAuftraege.Aufnr ).
-
- DELETE tAuftraege.
- END.
- IF cAuftrag <> '' THEN DO:
- cString = SUBSTITUTE('Druckauftrag Auftrags- und Rüstschein &1 aufgegeben',
- cAuftrag).
- MESSAGE cString VIEW-AS ALERT-BOX INFORMATION.
- END.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI W-Auftrag _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.
- ------------------------------------------------------------------------------*/
- /* Delete the WINDOW we created */
- IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(W-Auftrag)
- THEN DELETE WIDGET W-Auftrag.
- IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DRUCKEN W-Auftrag
- PROCEDURE DRUCKEN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER ipRecid AS RECID NO-UNDO.
- DEF INPUT PARAMETER ipAufnr AS INT NO-UNDO.
- DEF INPUT PARAMETER ipParam AS CHAR NO-UNDO.
- DEF OUTPUT PARAMETER opRetVal AS CHAR NO-UNDO.
- DEF VAR cUser AS CHAR NO-UNDO.
- DEF VAR iVDRecid AS RECID NO-UNDO.
- DEF VAR ii AS INT NO-UNDO.
- DEF VAR cResult AS CHAR NO-UNDO.
- DEF VAR cInstallation AS CHAR NO-UNDO.
- DEF VAR cDruckProgramm AS CHAR NO-UNDO.
- DEF VAR lSammFak AS LOG NO-UNDO.
- DEF VAR lFaktura AS LOG NO-UNDO.
- DEF VAR iRuestArt AS INT NO-UNDO.
- opRetVal = ''.
-
- DEF BUFFER bViperDoc FOR ViperDoc.
- DEF BUFFER bAufko FOR Aufko.
- DEF BUFFER bSavko FOR Savko.
-
- FIND FIRST dAufko NO-ERROR.
- IF NOT AVAILABLE dAufko THEN CREATE dAufko.
- IF ipParam BEGINS 'j' THEN DO:
- FIND bSavko NO-LOCK WHERE RECID(bSavko) = ipRecid.
- BUFFER-COPY bSavko TO dAufko.
- END.
- ELSE DO:
- FIND bAufko NO-LOCK WHERE RECID(bAufko) = ipRecid.
- BUFFER-COPY bAufko TO dAufko.
- END.
-
- EMPTY TEMP-TABLE tParam.
- CREATE tParam.
-
- FIND Steuer NO-LOCK
- WHERE Steuer.Firma = dAufko.Firma.
- ASSIGN iRuestArt = Steuer.RuestArt.
-
- ASSIGN tParam.cFirma = dAufko.Firma
- tParam.iRecid = ipRecid
- tParam.iAufnr = ipAufnr
- tParam.iKnr = dAufko.Knr
- tParam.iFak_Knr = dAufko.Fak_Knr
- tParam.iFakArt = dAufko.Fak_Art
- tParam.iAufSta = dAufko.Auf_Sta
- tParam.iFaknr = dAufko.Faknr
- tParam.cBenutzer = DYNAMIC-FUNCTION('getBenutzer':U)
- tParam.cDBUser = DYNAMIC-FUNCTION('getDBUser':U)
- tParam.cWinUser = DYNAMIC-FUNCTION('getSysUser':U)
- tParam.cInstall = DYNAMIC-FUNCTION('getInstallation':U)
- tParam.lPreis = FALSE
- .
-
- IF dAufko.AlsOfferte THEN DO:
- tParam.cDokument = 'EXCEL_OFFERTE'.
- tParam.lBatch = TRUE.
- lSammFak = FALSE.
- lFaktura = FALSE.
- END.
- ELSE DO:
- FIND FIRST Tabel NO-LOCK
- WHERE Tabel.Firma = tParam.cFirma
- AND Tabel.RecArt = 'FAKART'
- AND Tabel.CodeI = dAufko.Fak_Art NO-ERROR.
- tParam.cDokument = Tabel.Bez2.
- lSammFak = (IF Tabel.Int_3 = 4 THEN TRUE ELSE FALSE).
- lFaktura = (IF Tabel.Int_3 = 3 THEN TRUE ELSE FALSE).
- END.
- IF ipParam BEGINS 'j' THEN ASSIGN lSammFak = FALSE
- lFaktura = FALSE.
-
- IF iRuestArt > 0 AND
- NOT dAufko.AlsOfferte AND
- dAufko.Auf_Sta < 2 THEN DO:
- RUN AUFBEREITEN_RUESTPAPIER.
- RETURN.
- END.
- IF lSammFak OR
- lFaktura THEN DO:
- RUN 'g-fakauswahl.w':U ( INPUT-OUTPUT htParam, OUTPUT cResult ) NO-ERROR.
- IF cResult <> 'OK' THEN DO:
- RELEASE bAufko.
- APPLY 'U1'.
- RETURN NO-APPLY.
- END.
- FIND FIRST Tabel NO-LOCK
- WHERE Tabel.Firma = tParam.cFirma
- AND Tabel.RecArt = 'FAKART'
- AND Tabel.CodeI = tParam.iFakArt NO-ERROR.
- ASSIGN tParam.cDokument = Tabel.Bez2
- lSammFak = (IF Tabel.Int_3 = 4 THEN TRUE ELSE FALSE)
- lFaktura = (IF Tabel.Int_3 = 3 THEN TRUE ELSE FALSE)
- tParam.lPreis = TRUE.
- END.
-
- iVDRecid = ?.
- DO ii = 1 TO 3:
- CASE ii:
- WHEN 1 THEN cUser = tParam.cBenutzer.
- WHEN 2 THEN cUser = tParam.cDBUser.
- WHEN 3 THEN cUser = tParam.cWinUser.
- END CASE.
-
- FIND FIRST ViperDoc NO-LOCK
- WHERE ViperDoc.Firma = dAufko.Firma
- AND ViperDoc.Benutzer = cUser
- AND ViperDoc.Formular = tParam.cDokument
- AND ViperDoc.DokArt = 0 NO-ERROR.
- IF AVAILABLE ViperDoc THEN DO:
- iVDRecid = RECID(ViperDoc).
- LEAVE.
- END.
- END.
- DO WHILE iVDREcid = ?:
- FIND FIRST ViperDoc NO-LOCK
- WHERE ViperDoc.Firma = dAufko.Firma
- AND ViperDoc.Formular = tParam.cDokument
- AND ViperDoc.DokArt = 0 NO-ERROR.
- IF NOT AVAILABLE ViperDoc THEN DO:
- MESSAGE 'Es ist keine Drucker-Formulat-Definition hinterlegt'
- VIEW-AS ALERT-BOX ERROR.
- APPLY 'U1'.
- RETURN NO-APPLY.
- END.
- REPEAT TRANSACTION:
- CREATE bViperDoc.
- BUFFER-COPY ViperDoc
- EXCEPT Benutzer
- TO bViperDoc
- ASSIGN bViperDoc.Benutzer = tParam.cBenutzer.
- iVDRecid = RECID(bViperDoc).
- RELEASE bViperDoc.
- RELEASE ViperDoc.
- LEAVE.
- END.
- LEAVE.
- END.
- tParam.iVDRecid = iVDRecid.
-
- FIND ViperDoc NO-LOCK WHERE RECID(ViperDoc) = iVDRecid.
- ASSIGN tParam.Template = ViperDoc.Template
- tParam.Programm = ViperDoc.Programm
- tParam.Drucker = ViperDoc.Drucker.
-
- RELEASE bAufko.
- RELEASE ViperDoc.
- RELEASE Tabel.
-
- RUN 'g-druck-bestaetigung.w':U ( INPUT-OUTPUT htParam, OUTPUT cResult ).
- IF cResult <> 'OK' THEN DO:
- APPLY 'U1'.
- RETURN NO-APPLY.
- END.
-
- FIND FIRST tParam.
- IF ipParam BEGINS 'j' THEN tParam.Programm = 'Sav_' + tParam.Program.
- cInstallation = DYNAMIC-FUNCTION('getInstallation':U) NO-ERROR.
- cDruckProgramm = SUBSTITUTE('DruckProgramme/&1/&2',
- cInstallation,
- tParam.Programm ).
- cDruckProgramm = SEARCH(cDruckProgramm).
- IF cDruckProgramm = ? THEN DO:
- MESSAGE 'Druckprogramm nicht gefunden' VIEW-AS ALERT-BOX ERROR.
- APPLY 'U1'.
- RETURN NO-APPLY.
- END.
- SESSION:SET-WAIT-STATE('GENERAL').
- RUN VALUE(cDruckProgramm) ( htParam, OUTPUT cResult ).
- SESSION:SET-WAIT-STATE('').
-
- RETURN cResult.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI W-Auftrag _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 CB_Lager
- WITH FRAME F-Main IN WINDOW W-Auftrag.
- ENABLE CB_Lager Btn_Verbuchen Btn_Drucken Btn_Prev Btn_Next
- WITH FRAME F-Main IN WINDOW W-Auftrag.
- {&OPEN-BROWSERS-IN-QUERY-F-Main}
- VIEW W-Auftrag.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject W-Auftrag
- PROCEDURE initializeObject :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR xString AS CHAR NO-UNDO.
- DEF VAR cBenutzer AS CHAR NO-UNDO.
-
- DO WITH FRAME {&FRAME-NAME}:
- iLager = DYNAMIC-FUNCTION('getBenLager':U) NO-ERROR.
- RUN COMBO_LAGER ( CB_Lager:HANDLE ) NO-ERROR.
- IF CB_Lager:NUM-ITEMS > 1 THEN DO:
- xString = CB_Lager:LIST-ITEM-PAIRS + ';Alle Lager (999999);999999'.
- CB_Lager:LIST-ITEM-PAIRS = xString.
- END.
-
- cBenutzerdaten = DYNAMIC-FUNCTION('GETBENUTZERDATEN':U) NO-ERROR.
- cBenutzer = ENTRY(1, cBenutzerdaten, CHR(01)).
- CB_Lager:SCREEN-VALUE = STRING(iLager,'999999').
- END.
-
- RUN local-initialize.
- {&WINDOW-NAME}:MOVE-TO-TOP().
- RUN SET_LAGER in h_f-Aufko ( INTEGER(CB_Lager:SCREEN-VALUE) ).
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LESEN_AUFKO_TABELLE W-Auftrag
- PROCEDURE LESEN_AUFKO_TABELLE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR cBenutzer AS CHAR NO-UNDO.
- DEF VAR Fak_Art AS INT NO-UNDO.
- DEF VAR cDruBen AS CHAR NO-UNDO.
- DEF VAR hRecid AS RECID NO-UNDO.
- DEF VAR dRecid AS RECID NO-UNDO.
-
- DEF BUFFER bHilfsTab FOR HilfsTab.
- cBenutzer = DYNAMIC-FUNCTION('GETBENUTZER':U) NO-ERROR.
- FIND FIRST WAufko.
-
- FIND FIRST Tabel NO-LOCK
- WHERE Tabel.Firma = GVFirma
- AND Tabel.RecArt = 'VERTR'
- AND Tabel.CodeI = WAufko.Vertr
- AND Tabel.CodeC = '' NO-ERROR.
- IF AVAILABLE Tabel THEN cDruBen = Tabel.Bez2.
- ELSE cDruBen = cBenutzer.
- IF cDruBen = '' THEN cDruBen = cBenutzer.
- CASE XVDruArt:
- WHEN 1 THEN Fak_Art = 89.
- OTHERWISE Fak_Art = WAufko.Fak_Art.
- END CASE.
- FIND ATabel NO-LOCK USE-INDEX Tabel-k1
- WHERE ATabel.Firma = GVFirma
- AND ATabel.RecArt = 'FAKART'
- AND ATabel.CodeC = ''
- AND ATabel.CodeI = Fak_Art
- AND ATabel.Sprcd = 1 NO-ERROR.
- IF NOT AVAILABLE ATabel THEN LEAVE.
- LVCodeC = ATabel.Bez2.
- VDokument = ATabel.Bez2.
- VRuest = ATabel.Dec_2.
-
- IF WAufko.Auf_Sta < 2 THEN DO:
- CASE cInstallation:
- WHEN 'HUBER' THEN ASSIGN vDokument = 'RUEST'
- VRuest = 0.
- END CASE.
- END.
-
- FIND FIRST WDrucker NO-ERROR.
- IF NOT AVAILABLE WDrucker THEN CREATE WDrucker.
- DO WHILE TRUE:
- FIND FIRST HilfsTab NO-LOCK USE-INDEX HilfsTab-k1
- WHERE HilfsTab.Firma = GVFirma
- AND HilfsTab.Sort_1 = cDruBen
- AND HilfsTab.Sort_2 = VDokument NO-ERROR.
- IF NOT AVAILABLE HilfsTab THEN DO:
- FIND FIRST bHilfsTab NO-LOCK USE-INDEX HilfsTab-k1
- WHERE bHilfsTab.Firma = GVFirma
- AND bHilfsTab.Sort_1 = ''
- AND bHilfsTab.Sort_2 = VDokument NO-ERROR.
- IF AVAILABLE bHilfsTab THEN DO:
- REPEAT TRANSACTION:
- CREATE HilfsTab.
- BUFFER-COPY bHilfsTab
- EXCEPT Sort_1
- TO HilfsTab
- ASSIGN HilfsTab.Sort_1 = cDruBen.
- hRecid = RECID(HilfsTab).
- RELEASE HilfsTab.
- LEAVE.
- END.
- FIND HilfsTab NO-LOCK
- WHERE RECID(HilfsTab) = hRecid.
- END.
- END.
- IF AVAILABLE HilfsTab THEN DO:
- ASSIGN WDrucker.Drucker = HilfsTab.Zeichen_1
- WDrucker.Schrift = HilfsTab.Zeichen_2
- WDrucker.TotZZ = HilfsTab.Zahl[01]
- WDrucker.BegZZ = HilfsTab.Zahl[02]
- WDrucker.EndZZ = HilfsTab.Zahl[03]
- WDrucker.AnzKop = HilfsTab.Zahl[04]
- WDrucker.SchOri = HilfsTab.Zahl[05]
- WDrucker.SchKop = HilfsTab.Zahl[06]
- WDrucker.Besr = HilfsTab.Zahl[07]
- WDrucker.SchBesr = HilfsTab.Zahl[08]
- WDrucker.iRecid = RECID(HilfsTab).
- ok = TRUE.
- LEAVE.
- END.
- FIND bTabel NO-LOCK USE-INDEX Tabel-k1
- WHERE bTabel.Firma = GVFirma
- AND bTabel.RecArt = 'FAKDRU'
- AND bTabel.CodeC = LVCodeC
- AND bTabel.CodeI = 0
- AND bTabel.Sprcd = 1 NO-ERROR.
- dRecid = (IF AVAILABLE bTabel THEN RECID(bTabel) ELSE ? ).
- IF NOT AVAILABLE bTabel THEN DO:
- REPEAT TRANSACTION:
- CREATE bTabel.
- ASSIGN bTabel.Firma = GVFirma
- bTabel.RecArt = 'FakDru'
- bTabel.CodeC = LVCodeC
- bTabel.Bez1 = ''
- bTabel.Bez2 = ''
- bTabel.CodeI = 0
- bTabel.Sprcd = 1
- bTabel.Int_1 = 0
- bTabel.Int_2 = 0
- bTabel.Int_3 = 0
- bTabel.Dec_1 = 0
- bTabel.Dec_2 = 1 /* Anzahl kopien */
- bTabel.Dec_3 = 0.
- dRecid = RECID(bTabel).
- RELEASE bTabel.
- LEAVE.
- END.
- FIND bTabel NO-LOCK WHERE RECID(bTabel) = dRecid.
- END.
- IF bTabel.Bez1 = '' THEN DO:
- SYSTEM-DIALOG PRINTER-SETUP
- PORTRAIT
- UPDATE ja.
- IF NOT Ja THEN LEAVE.
- REPEAT TRANSACTION:
- FIND bTabel WHERE RECID(bTabel) = dRecid.
- ASSIGN bTabel.Bez1 = SESSION:PRINTER-NAME
- bTabel.Bez2 = 'VIPER'.
- RELEASE bTabel.
- LEAVE.
- END.
- NEXT.
- END.
- REPEAT TRANSACTION:
- CREATE HilfsTab.
- ASSIGN HilfsTab.Firma = GVFirma
- HilfsTab.Sort_1 = cDruBen
- HilfsTab.Sort_2 = VDokument
- HilfsTab.Zeichen_1 = bTabel.Bez1
- HilfsTab.Zeichen_2 = bTabel.Bez2
- HilfsTab.Zahl[01] = bTabel.Int_1
- HilfsTab.Zahl[02] = bTabel.Int_2
- HilfsTab.Zahl[03] = bTabel.Int_3
- HilfsTab.Zahl[04] = bTabel.Dec_2
- HilfsTab.Zahl[05] = bTabel.Dec_3
- HilfsTab.Zahl[06] = bTabel.Dec_3
- HilfsTab.Zahl[07] = bTabel.Dec_1
- HilfsTab.Zahl[08] = bTabel.Dec_3.
- RELEASE HilfsTab.
- LEAVE.
- END.
- END.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LESEN_RUEST_TABELLE W-Auftrag
- PROCEDURE LESEN_RUEST_TABELLE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR cBenutzer AS CHAR NO-UNDO.
- DEF VAR cDruBen AS CHAR NO-UNDO.
- cBenutzer = DYNAMIC-FUNCTION('GETBENUTZER':U) NO-ERROR.
- FIND FIRST WAufko NO-LOCK NO-ERROR.
- FIND FIRST Tabel NO-LOCK
- WHERE Tabel.Firma = GVFirma
- AND Tabel.RecArt = 'VERTR'
- AND Tabel.CodeI = WAufko.Vertr
- AND Tabel.CodeC = '' NO-ERROR.
- IF AVAILABLE Tabel THEN cDruBen = Tabel.Bez2.
- ELSE cDruBen = cBenutzer.
-
- FIND Tabel NO-LOCK USE-INDEX Tabel-k1
- WHERE Tabel.Firma = GVFirma
- AND Tabel.RecArt = 'FAKART'
- AND Tabel.CodeC = ''
- AND Tabel.CodeI = VRuest
- AND Tabel.Sprcd = 1 NO-ERROR.
- IF NOT AVAILABLE Tabel THEN LEAVE.
- LVCodeC = Tabel.Bez2.
- VDokument = Tabel.Bez2.
- VRuest = 0.
-
- FIND FIRST WDrucker NO-ERROR.
- IF NOT AVAILABLE WDrucker THEN CREATE WDrucker.
- DO WHILE TRUE:
- FIND FIRST HilfsTab NO-LOCK USE-INDEX HilfsTab-k1
- WHERE HilfsTab.Firma = GVFirma
- AND HilfsTab.Sort_1 = cDruBen
- AND HilfsTab.Sort_2 = VDokument NO-ERROR.
- IF NOT AVAILABLE HilfsTab THEN DO:
- FIND FIRST HilfsTab NO-LOCK USE-INDEX HilfsTab-k1
- WHERE HilfsTab.Firma = GVFirma
- AND HilfsTab.Sort_1 = ''
- AND HilfsTab.Sort_2 = VDokument NO-ERROR.
- END.
- IF AVAILABLE HilfsTab THEN DO:
- ASSIGN WDrucker.Drucker = HilfsTab.Zeichen_1
- WDrucker.Schrift = HilfsTab.Zeichen_2
- WDrucker.TotZZ = HilfsTab.Zahl[01]
- WDrucker.BegZZ = HilfsTab.Zahl[02]
- WDrucker.EndZZ = HilfsTab.Zahl[03]
- WDrucker.AnzKop = HilfsTab.Zahl[04]
- WDrucker.SchOri = HilfsTab.Zahl[05]
- WDrucker.SchKop = HilfsTab.Zahl[06]
- WDrucker.Besr = HilfsTab.Zahl[07]
- WDrucker.SchBesr = HilfsTab.Zahl[08]
- WDrucker.iRecid = RECID(HilfsTab).
- ok = TRUE.
- LEAVE.
- END.
- FIND BTabel NO-LOCK USE-INDEX Tabel-k1
- WHERE BTabel.Firma = GVFirma
- AND BTabel.RecArt = 'FAKDRU'
- AND BTabel.CodeC = LVCodeC
- AND BTabel.CodeI = 0
- AND BTabel.Sprcd = 1 NO-ERROR.
- IF NOT AVAILABLE BTabel THEN LEAVE.
- REPEAT TRANSACTION:
- CREATE HilfsTab.
- ASSIGN HilfsTab.Firma = GVFirma
- HilfsTab.Sort_1 = cDruBen
- HilfsTab.Sort_2 = VDokument
- HilfsTab.Zeichen_1 = BTabel.Bez1
- HilfsTab.Zeichen_2 = BTabel.Bez2
- HilfsTab.Zahl[01] = BTabel.Int_1
- HilfsTab.Zahl[02] = BTabel.Int_2
- HilfsTab.Zahl[03] = BTabel.Int_3
- HilfsTab.Zahl[04] = BTabel.Dec_2
- HilfsTab.Zahl[05] = BTabel.Dec_3
- HilfsTab.Zahl[06] = BTabel.Dec_3
- HilfsTab.Zahl[07] = BTabel.Dec_1
- HilfsTab.Zahl[08] = BTabel.Dec_3.
- RELEASE HilfsTab.
- LEAVE.
- END.
- LEAVE.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-change-page W-Auftrag
- PROCEDURE local-change-page :
- /*------------------------------------------------------------------------------
- Purpose: Override standard ADM method
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR XSeite AS INT NO-UNDO.
- DEF VAR OldPage AS INT NO-UNDO.
- DEF VAR lUpdate AS LOG NO-UNDO.
- RUN get-attribute ('current-page':U).
- oldPage = INTEGER(RETURN-VALUE).
- RUN dispatch IN THIS-PROCEDURE ( INPUT 'change-page':U ) .
- RUN get-attribute ('current-page':U).
- XSeite = INTEGER(RETURN-VALUE).
- Aktive = TRUE.
-
- DO WITH FRAME {&FRAME-NAME}:
- ENABLE Btn_Drucken.
- IF oldPage = 7 THEN DO:
- CB_Lager:HIDDEN = FALSE.
- ENABLE CB_Lager.
- END.
- IF XSeite <> 12 THEN ENABLE Btn_Verbuchen.
- IF XSeite = 1 THEN DO:
- RUN state-changed IN h_f-aufko (INPUT THIS-PROCEDURE, INPUT 'browser_entry':U ).
- RETURN NO-APPLY.
- END.
- IF XSeite = 2 THEN DO:
- RUN state-changed IN h_b-aufze (INPUT THIS-PROCEDURE, INPUT 'browser_entry':U ).
- RETURN NO-APPLY.
- END.
- IF XSeite = 3 THEN DO:
- RUN state-changed IN h_b-aufgebko (INPUT THIS-PROCEDURE, INPUT 'browser_entry':U ).
- RETURN NO-APPLY.
- END.
- IF XSeite = 4 THEN DO:
- DISABLE Btn_Drucken.
- RETURN NO-APPLY.
- END.
-
- IF XSeite = 5 THEN DO:
- RUN state-changed IN h_f-aufkoberech (INPUT THIS-PROCEDURE, INPUT 'browser_entry':U ).
- RETURN NO-APPLY.
- END.
-
- IF XSeite = 6 THEN DO:
- RUN ENTRY_BROWSE IN h_b-artbw-kunde.
- RETURN NO-APPLY.
- END.
-
- IF XSeite = 7 THEN DO:
- DISABLE CB_Lager.
- CB_Lager:HIDDEN = TRUE.
- RUN dispatch IN h_f-dokumentdrucker ('apply-entry':U).
- RETURN NO-APPLY.
- END.
-
- IF XSeite = 8 THEN DO:
- RETURN NO-APPLY.
- END.
- IF XSeite = 10 THEN DO:
- IF NOT ENTRY(4, cBenutzerdaten, CHR(01)) BEGINS 'ja' THEN DO:
- RUN select-page(1).
- RUN view-page (1).
- END.
- END.
-
- IF XSeite = 12 THEN DO:
- DISABLE Btn_Drucken.
- RETURN NO-APPLY.
- END.
-
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-exit W-Auftrag
- PROCEDURE local-exit :
- /* -----------------------------------------------------------
- Purpose: Starts an "exit" by APPLYing CLOSE event, which starts "destroy".
- Parameters: <none>
- Notes: If activated, should APPLY CLOSE, *not* dispatch adm-exit.
- -------------------------------------------------------------*/
- APPLY "CLOSE":U TO THIS-PROCEDURE.
-
- RETURN.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-initialize W-Auftrag
- PROCEDURE local-initialize :
- /*------------------------------------------------------------------------------
- Purpose: Override standard ADM method
- Notes:
- ------------------------------------------------------------------------------*/
- RUN dispatch IN THIS-PROCEDURE ( INPUT 'initialize':U ) .
-
- {&WINDOW-NAME}:MOVE-TO-TOP().
- RUN dispatch IN h_f-aufko ('apply-entry':U).
- RETURN NO-APPLY.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-records W-Auftrag _ADM-SEND-RECORDS
- PROCEDURE send-records :
- /*------------------------------------------------------------------------------
- Purpose: Send record ROWID's for all tables used by
- this file.
- Parameters: see template/snd-head.i
- ------------------------------------------------------------------------------*/
- /* SEND-RECORDS does nothing because there are no External
- Tables specified for this SmartWindow, and there are no
- tables specified in any contained Browse, Query, or Frame. */
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE state-changed W-Auftrag
- PROCEDURE state-changed :
- /* -----------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- -------------------------------------------------------------*/
- DEFINE INPUT PARAMETER p-issuer-hdl AS HANDLE NO-UNDO.
- DEFINE INPUT PARAMETER p-state AS CHARACTER NO-UNDO.
-
- DEF VAR MaxPages AS INT INIT 8 NO-UNDO.
- CASE p-state:
- WHEN 'Next_Page' THEN DO:
- IF NOT Aktive THEN RETURN NO-APPLY.
- RUN get-attribute ('current-page':U).
- ASeite = INTEGER(RETURN-VALUE) + 1.
- IF ASeite > MaxPages THEN ASeite = 1.
- RUN select-page(ASeite).
- RUN view-page (ASeite).
- RETURN NO-APPLY.
- END.
-
- WHEN 'Prev_Page' THEN DO:
- IF NOT Aktive THEN RETURN NO-APPLY.
- RUN get-attribute ('current-page':U).
- ASeite = INTEGER(RETURN-VALUE) - 1.
- IF ASeite < 1 THEN ASeite = MaxPages.
- RUN select-page(ASeite).
- RUN view-page (ASeite).
- RETURN NO-APPLY.
- END.
-
- WHEN 'Vorherige_Seite' THEN DO:
- RUN select-page ( PSeite ).
- RUN view-page ( PSeite ).
- RETURN NO-APPLY.
- END.
-
- WHEN 'kundensuche' THEN DO:
- RUN select-page ( 20 ).
- RUN view-page ( 20 ).
- RUN SUCHEN IN h_b-kundensuche.
- END.
-
- WHEN 'kunde_ok' THEN DO:
- RUN select-page ( 1 ).
- RUN view-page ( 1 ).
- RUN GEFUNDEN IN h_f-aufko.
- END.
-
- WHEN 'kunde_nok' THEN DO:
- RUN select-page ( 1 ).
- RUN view-page ( 1 ).
- RUN NICHT_GEFUNDEN IN h_f-aufko.
- END.
-
- WHEN 'seite_1' THEN DO:
- RUN select-page ( 1 ).
- RUN view-page ( 1 ).
- END.
-
- WHEN 'seite_2' THEN DO:
- RUN select-page ( 2 ).
- RUN view-page ( 2 ).
- END.
-
- WHEN 'Seite_1_Open' THEN DO:
- RUN select-page ( 1 ).
- RUN view-page ( 1 ).
- RUN OPEN_AUFKO_REPO IN h_f-aufko.
- RUN adm-apply-entry IN h_f-aufko.
- RETURN NO-APPLY.
- END.
-
- WHEN 'ENDE' THEN DO:
- RUN WINDOWCLOSE.
- RETURN NO-APPLY.
- END.
- /*
- WHEN 'UPDATE' THEN DO:
- VUpdate = TRUE.
- RETURN NO-APPLY.
- END.
-
- WHEN 'NOTUPDATE' THEN DO:
- VUpdate = FALSE.
- RETURN NO-APPLY.
- END.
- */
- END CASE.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE VIPER_DRUCK W-Auftrag
- PROCEDURE VIPER_DRUCK :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER ipKnr AS INT NO-UNDO.
- DEF INPUT PARAMETER ipAufnr AS INT NO-UNDO.
-
- DEF VAR cDateiName AS CHAR NO-UNDO.
- DEF VAR cvpr_Dokument AS CHAR NO-UNDO.
- DEF VAR cPDFName AS CHAR NO-UNDO.
- FIND Savko NO-LOCK
- WHERE Savko.Firma = GVFirma
- AND Savko.Aufnr = ipAufnr NO-ERROR.
- IF NOT AVAILABLE Savko THEN RETURN 'ERROR'.
-
- DO WHILE TRUE:
- cvpr_Dokument = SUBSTITUTE('Rechnungen\&1-&2_&3.vpr',
- STRING(ipKnr ,'999999'),
- STRING(Savko.Faknr,'999999'),
- 'SammFak').
- IF SEARCH(cvpr_Dokument) <> ? THEN LEAVE.
- cvpr_Dokument = SUBSTITUTE('Rechnungen\&1-&2_&3.vpr',
- STRING(ipKnr ,'999999'),
- STRING(Savko.Faknr,'999999'),
- 'Faktura').
- IF SEARCH(cvpr_Dokument) <> ? THEN LEAVE.
- cvpr_Dokument = SUBSTITUTE('Rechnungen\&1-&2_&3.vpr',
- STRING(ipKnr ,'999999'),
- STRING(Savko.Faknr,'999999'),
- 'LiefFak').
- LEAVE.
- END.
- cDateiName = SEARCH(cvpr_Dokument).
- IF cDateiName = ? OR
- cDateiName = '' THEN RETURN 'ERROR'.
-
- FILE-INFO:FILE-NAME = cDateiName.
- cDateiName = FILE-INFO:FULL-PATHNAME.
- cDateiName = SEARCH(cvpr_Dokument).
- RUN druck_viper.p ( cDateiName ).
-
- RETURN RETURN-VALUE.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE WINDOWCLOSE W-Auftrag
- PROCEDURE WINDOWCLOSE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR AktSeite AS INT NO-UNDO.
-
- Ja = FALSE.
- PUBLISH 'ENDEAUFTRAG'.
- IF Ja THEN RETURN NO-APPLY.
- RUN get-attribute ('current-page':U).
- AktSeite = INTEGER(RETURN-VALUE).
- IF AktSeite <> 1 THEN DO:
- RUN select-page(1).
- RUN view-page (1).
- EndFlag = FALSE.
- RETURN NO-APPLY.
- END.
- IF EndFlag THEN DO:
- EndFlag = FALSE.
- IF EscFlag = FALSE THEN RETURN NO-APPLY.
- END.
- IF NOT Ja THEN DO:
- RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ).
- APPLY "CLOSE":U TO THIS-PROCEDURE.
- RETURN.
- END.
- EndFlag = FALSE.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* ************************ Function Implementations ***************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getKundennummer W-Auftrag
- FUNCTION getKundennummer RETURNS INTEGER
- ( /* parameter-definitions */ ) :
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- RETURN XVKnr.
- END FUNCTION.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
|