| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461 |
- &ANALYZE-SUSPEND _VERSION-NUMBER UIB_v8r12 GUI ADM1
- &ANALYZE-RESUME
- /* Connected Databases
- anadat PROGRESS
- */
- &Scoped-define WINDOW-NAME CURRENT-WINDOW
- /* Temp-Table and Buffer definitions */
- DEFINE TEMP-TABLE XArtbw NO-UNDO LIKE Artbw.
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS F-Frame-Win
- /*------------------------------------------------------------------------
- File:
- Description: from cntnrfrm.w - ADM SmartFrame Template
- Input Parameters:
- <none>
- Output Parameters:
- <none>
-
- ------------------------------------------------------------------------*/
- /* This .W file was created with the Progress UIB. */
- /*----------------------------------------------------------------------*/
- /* Create an unnamed pool to store all the widgets created
- by this procedure. This is a good default which assures
- that this procedure's triggers and internal procedures
- will execute in this procedure's storage, and that proper
- cleanup will occur on deletion of the procedure. */
- CREATE WIDGET-POOL.
- /* *************************** Definitions ************************** */
- /* Parameters Definitions --- */
- /* Local Variable Definitions --- */
- &Scoped-define FELDER CB_Lager,CB_Datum,F_Artnr,F_Inhalt,F_Jahr,~
- F_GGebinde,F_VGebinde,F_KGebinde,~
- Btn_Speichern,Btn_Vorbereitung
- DEF VAR VUpdate AS LOG NO-UNDO.
- DEF VAR FGefunden AS LOG NO-UNDO.
- DEF VAR Vorhanden AS LOG NO-UNDO.
- DEF VAR XRecid AS RECID NO-UNDO.
- DEF VAR VArtnr AS INT NO-UNDO.
- DEF VAR VInhalt AS INT NO-UNDO.
- DEF VAR VJahr AS INT NO-UNDO.
- DEF VAR FeldInhalt AS CHAR NO-UNDO.
- DEF VAR FeldName AS CHAR NO-UNDO.
- DEF VAR LHandle AS HANDLE NO-UNDO.
- DEF VAR XHandle AS HANDLE NO-UNDO.
- DEF VAR ARecid AS RECID NO-UNDO.
- DEF VAR FwFRW AS CHAR NO-UNDO.
- DEF VAR AArtnr AS INT NO-UNDO.
- DEF VAR AInhalt AS INT NO-UNDO.
- DEF VAR AJahr AS INT NO-UNDO.
- DEF BUFFER BArtst FOR Artst.
- DEF BUFFER BArtbw FOR Artbw.
- DEF TEMP-TABLE tDatum NO-UNDO
- FIELD Datum AS DATE
- INDEX tDatum-k1 IS PRIMARY
- Datum DESCENDING.
- /* ---------- Globale Variablen ---------------------------------- */
- { v8/globvar.i" " " " "SHARED" }
- { v8/debivar.i " " " " "SHARED" }
- { v8/artivar.i " " " " "SHARED" }
- { v8/contvar.i " " " " "SHARED" }
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
- /* ******************** Preprocessor Definitions ******************** */
- &Scoped-define PROCEDURE-TYPE SmartFrame
- &Scoped-define DB-AWARE no
- &Scoped-define ADM-CONTAINER FRAME
- /* Name of designated FRAME-NAME and/or first browse and/or first query */
- &Scoped-define FRAME-NAME F-Main
- &Scoped-define BROWSE-NAME Br_XArtbw
- /* Internal Tables (found by Frame, Query & Browse Queries) */
- &Scoped-define INTERNAL-TABLES XArtbw Artbw ArtLager Artst
- /* Definitions for BROWSE Br_XArtbw */
- &Scoped-define FIELDS-IN-QUERY-Br_XArtbw XArtbw.Artnr ~
- DYNAMIC-FUNCTION('getKGebindeKBez':U,XArtbw.KGeb_Cd) XArtbw.Bez1 ~
- XArtbw.Inhalt XArtbw.Jahr XArtbw.Lager XArtbw.Datum XArtbw.Menge ~
- XArtbw.KGeb_Me XArtbw.VGeb_Me XArtbw.GGeb_Me
- &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_XArtbw
- &Scoped-define QUERY-STRING-Br_XArtbw FOR EACH XArtbw OF Artbw NO-LOCK
- &Scoped-define OPEN-QUERY-Br_XArtbw OPEN QUERY Br_XArtbw FOR EACH XArtbw OF Artbw NO-LOCK.
- &Scoped-define TABLES-IN-QUERY-Br_XArtbw XArtbw
- &Scoped-define FIRST-TABLE-IN-QUERY-Br_XArtbw XArtbw
- /* Definitions for FRAME F-Main */
- &Scoped-define FIELDS-IN-QUERY-F-Main Artst.Bestand Artst.Bestellt ~
- Artst.Ausverk ArtLager.Eingang ArtLager.Ausgang ArtLager.Bestand ~
- ArtLager.Inv_Best ArtLager.Inv_Alt ArtLager.Ort
- &Scoped-define OPEN-BROWSERS-IN-QUERY-F-Main ~
- ~{&OPEN-QUERY-Br_XArtbw}
- &Scoped-define QUERY-STRING-F-Main FOR EACH Artbw NO-LOCK, ~
- EACH ArtLager OF Artbw NO-LOCK, ~
- EACH Artst OF Artbw NO-LOCK
- &Scoped-define OPEN-QUERY-F-Main OPEN QUERY F-Main FOR EACH Artbw NO-LOCK, ~
- EACH ArtLager OF Artbw NO-LOCK, ~
- EACH Artst OF Artbw NO-LOCK.
- &Scoped-define TABLES-IN-QUERY-F-Main Artbw ArtLager Artst
- &Scoped-define FIRST-TABLE-IN-QUERY-F-Main Artbw
- &Scoped-define SECOND-TABLE-IN-QUERY-F-Main ArtLager
- &Scoped-define THIRD-TABLE-IN-QUERY-F-Main Artst
- /* Standard List Definitions */
- &Scoped-Define ENABLED-OBJECTS CB_Lager CB_Datum Btn_Speichern Br_XArtbw ~
- Btn_Vorbereitung Btn_Uebernahme RECT-1
- &Scoped-Define DISPLAYED-FIELDS Artst.Bestand Artst.Bestellt Artst.Ausverk ~
- ArtLager.Eingang ArtLager.Ausgang ArtLager.Bestand ArtLager.Inv_Best ~
- ArtLager.Inv_Alt ArtLager.Ort
- &Scoped-define DISPLAYED-TABLES Artst ArtLager
- &Scoped-define FIRST-DISPLAYED-TABLE Artst
- &Scoped-define SECOND-DISPLAYED-TABLE ArtLager
- &Scoped-Define DISPLAYED-OBJECTS CB_Lager CB_Datum F_Artnr F_Inhalt F_Jahr ~
- F_Bez F_GGebinde F_VGebinde F_KGebinde
- /* Custom List Definitions */
- /* List-1,List-2,List-3,List-4,List-5,List-6 */
- &Scoped-define List-1 F_Datum F_Artnr F_Inhalt F_Jahr F_GGebinde F_VGebinde ~
- F_KGebinde
- &Scoped-define List-2 F_Artnr F_Inhalt F_Jahr
- &Scoped-define List-3 F_GGebinde F_VGebinde F_KGebinde
- &Scoped-define List-4 F_Datum
- &Scoped-define List-5 F_Bez Artst.Bestand Artst.Bestellt Artst.Ausverk
- &Scoped-define List-6 ArtLager.Eingang ArtLager.Ausgang ArtLager.Bestand ~
- ArtLager.Inv_Best ArtLager.Inv_Alt ArtLager.Ort
- /* _UIB-PREPROCESSOR-BLOCK-END */
- &ANALYZE-RESUME
- /* *********************** Control Definitions ********************** */
- /* Definitions of the field level widgets */
- DEFINE BUTTON Btn_Speichern
- LABEL "Buchen"
- SIZE 16.8 BY 1.24.
- DEFINE BUTTON Btn_Uebernahme
- LABEL "&Ubernahme"
- SIZE 18.2 BY 1.
- DEFINE BUTTON Btn_Vorbereitung
- LABEL "&Vorbereitung"
- SIZE 18.2 BY 1.
- DEFINE VARIABLE CB_Datum AS CHARACTER FORMAT "X(256)":U
- LABEL "Inventardatum"
- VIEW-AS COMBO-BOX INNER-LINES 5
- LIST-ITEMS "item 1"
- DROP-DOWN-LIST
- SIZE 18 BY 1 NO-UNDO.
- DEFINE VARIABLE CB_Lager AS CHARACTER FORMAT "X(256)":U INITIAL "00"
- LABEL "Lager"
- VIEW-AS COMBO-BOX INNER-LINES 5
- LIST-ITEM-PAIRS "Lager (00)","00",
- "Lager (01)","01"
- DROP-DOWN-LIST
- SIZE 25 BY 1 NO-UNDO.
- DEFINE VARIABLE F_Artnr AS CHARACTER FORMAT "x(20)"
- LABEL "Artnr/Inhalt/Jahr"
- VIEW-AS FILL-IN NATIVE
- SIZE 12 BY 1
- BGCOLOR 15 .
- DEFINE VARIABLE F_Bez AS CHARACTER FORMAT "x(30)"
- LABEL "Artikel"
- VIEW-AS FILL-IN NATIVE
- SIZE 52 BY 1
- BGCOLOR 15 .
- DEFINE VARIABLE F_Datum AS DATE FORMAT "99.99.9999"
- LABEL "Inventardatum"
- VIEW-AS FILL-IN NATIVE
- SIZE 18 BY 1
- BGCOLOR 15 .
- DEFINE VARIABLE F_GGebinde AS INTEGER FORMAT "zzz,zz9-":U INITIAL 0
- LABEL ""
- VIEW-AS FILL-IN NATIVE
- SIZE 12 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Inhalt AS INTEGER FORMAT "9999" INITIAL 0
- LABEL "/"
- VIEW-AS FILL-IN NATIVE
- SIZE 8.6 BY 1
- BGCOLOR 15 .
- DEFINE VARIABLE F_Jahr AS INTEGER FORMAT "9999" INITIAL 0
- LABEL "/"
- VIEW-AS FILL-IN NATIVE
- SIZE 8.6 BY 1
- BGCOLOR 15 .
- DEFINE VARIABLE F_KGebinde AS INTEGER FORMAT "zzz,zz9-":U INITIAL 0
- LABEL ""
- VIEW-AS FILL-IN NATIVE
- SIZE 12 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Lager AS INTEGER FORMAT "999999" INITIAL 0
- LABEL "Lager"
- VIEW-AS FILL-IN NATIVE
- SIZE 5.6 BY 1
- BGCOLOR 15 .
- DEFINE VARIABLE F_VGebinde AS INTEGER FORMAT "zzz,zz9-":U INITIAL 0
- LABEL ""
- VIEW-AS FILL-IN NATIVE
- SIZE 12 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE RECTANGLE RECT-1
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 126 BY 19.76.
- /* Query definitions */
- &ANALYZE-SUSPEND
- DEFINE QUERY Br_XArtbw FOR
- XArtbw SCROLLING.
- DEFINE QUERY F-Main FOR
- Artbw,
- ArtLager,
- Artst SCROLLING.
- &ANALYZE-RESUME
- /* Browse definitions */
- DEFINE BROWSE Br_XArtbw
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_XArtbw F-Frame-Win _STRUCTURED
- QUERY Br_XArtbw DISPLAY
- XArtbw.Artnr FORMAT "999999":U
- DYNAMIC-FUNCTION('getKGebindeKBez':U,XArtbw.KGeb_Cd) COLUMN-LABEL "Gebinde" FORMAT "x(12)":U
- XArtbw.Bez1 COLUMN-LABEL "Artikel" FORMAT "x(30)":U
- XArtbw.Inhalt FORMAT "9999":U
- XArtbw.Jahr FORMAT "9999":U
- XArtbw.Lager FORMAT "99":U
- XArtbw.Datum FORMAT "99.99.9999":U
- XArtbw.Menge FORMAT "zzzz9-":U
- XArtbw.KGeb_Me COLUMN-LABEL "KGeb" FORMAT "zzz,zz9-":U
- XArtbw.VGeb_Me COLUMN-LABEL "VGeb" FORMAT "zz,zz9-":U
- XArtbw.GGeb_Me COLUMN-LABEL "GGeb" FORMAT "zz9-":U
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- WITH NO-ROW-MARKERS SEPARATORS SIZE 117.8 BY 5.62
- BGCOLOR 15 .
- /* ************************ Frame Definitions *********************** */
- DEFINE FRAME F-Main
- F_Lager AT ROW 2 COL 23 COLON-ALIGNED NO-TAB-STOP
- CB_Lager AT ROW 2 COL 23 COLON-ALIGNED WIDGET-ID 2
- CB_Datum AT ROW 2 COL 71 COLON-ALIGNED WIDGET-ID 4
- F_Datum AT ROW 2 COL 71 COLON-ALIGNED NO-TAB-STOP
- F_Artnr AT ROW 4.14 COL 22.8 COLON-ALIGNED
- F_Inhalt AT ROW 4.14 COL 38.2 COLON-ALIGNED
- F_Jahr AT ROW 4.14 COL 51 COLON-ALIGNED
- F_Bez AT ROW 4.14 COL 71 COLON-ALIGNED
- F_GGebinde AT ROW 7.33 COL 16 COLON-ALIGNED
- F_VGebinde AT ROW 8.24 COL 16 COLON-ALIGNED
- F_KGebinde AT ROW 9.24 COL 16 COLON-ALIGNED
- Artst.Bestand AT ROW 8.71 COL 51 COLON-ALIGNED
- LABEL "Bestand" FORMAT "zz,zzz,zz9-"
- VIEW-AS FILL-IN NATIVE
- SIZE 17 BY 1
- BGCOLOR 15
- Artst.Bestellt AT ROW 9.71 COL 51 COLON-ALIGNED
- LABEL "Bestellt" FORMAT "zz,zzz,zz9-"
- VIEW-AS FILL-IN NATIVE
- SIZE 17 BY 1
- BGCOLOR 15
- Artst.Ausverk AT ROW 10.71 COL 51 COLON-ALIGNED
- LABEL "Ausverk" FORMAT "9"
- VIEW-AS FILL-IN NATIVE
- SIZE 4 BY 1
- BGCOLOR 15
- ArtLager.Eingang AT ROW 6.71 COL 98 COLON-ALIGNED
- LABEL "Eingang" FORMAT "zz,zzz,zz9-"
- VIEW-AS FILL-IN NATIVE
- SIZE 17 BY 1
- BGCOLOR 15
- ArtLager.Ausgang AT ROW 7.71 COL 98 COLON-ALIGNED
- LABEL "Ausgang" FORMAT "zz,zzz,zz9-"
- VIEW-AS FILL-IN NATIVE
- SIZE 17 BY 1
- BGCOLOR 15
- ArtLager.Bestand AT ROW 8.71 COL 98 COLON-ALIGNED
- LABEL "Bestand" FORMAT "zz,zzz,zz9-"
- VIEW-AS FILL-IN NATIVE
- SIZE 17 BY 1
- BGCOLOR 15
- ArtLager.Inv_Best AT ROW 9.71 COL 98 COLON-ALIGNED
- LABEL "Inventar" FORMAT "zz,zzz,zz9-"
- VIEW-AS FILL-IN NATIVE
- SIZE 17 BY 1
- BGCOLOR 15
- ArtLager.Inv_Alt AT ROW 10.71 COL 98 COLON-ALIGNED
- LABEL "Inventar Alt" FORMAT "zz,zzz,zz9-"
- VIEW-AS FILL-IN NATIVE
- SIZE 17 BY 1
- BGCOLOR 15
- ArtLager.Ort AT ROW 11.71 COL 98 COLON-ALIGNED
- LABEL "Lagerort/Platz" FORMAT "x(15)"
- VIEW-AS FILL-IN NATIVE
- SIZE 17 BY 1
- BGCOLOR 15
- Btn_Speichern AT ROW 11.05 COL 18
- Br_XArtbw AT ROW 14.33 COL 6
- Btn_Vorbereitung AT ROW 1.62 COL 105
- Btn_Uebernahme AT ROW 2.86 COL 105
- RECT-1 AT ROW 1.24 COL 2
- WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
- SIDE-LABELS NO-UNDERLINE THREE-D
- AT COL 1 ROW 1 SCROLLABLE .
- /* *********************** Procedure Settings ************************ */
- &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
- /* Settings for THIS-PROCEDURE
- Type: SmartFrame
- Allow: Basic,Browse,DB-Fields,Query,Smart
- Design Page: 2
- Other Settings: PERSISTENT-ONLY COMPILE
- Temp-Tables and Buffers:
- TABLE: XArtbw T "?" NO-UNDO AnaDat Artbw
- END-TABLES.
- */
- /* This procedure should always be RUN PERSISTENT. Report the error, */
- /* then cleanup and return. */
- IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
- MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
- VIEW-AS ALERT-BOX ERROR BUTTONS OK.
- RETURN.
- END.
- &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
- /* ************************* Create Window ************************** */
- &ANALYZE-SUSPEND _CREATE-WINDOW
- /* DESIGN Window definition (used by the UIB)
- CREATE WINDOW F-Frame-Win ASSIGN
- HEIGHT = 20.91
- WIDTH = 129.2.
- /* END WINDOW DEFINITION */
- */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB F-Frame-Win
- /* ************************* Included-Libraries *********************** */
- {src/adm/method/containr.i}
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* *********** Runtime Attributes and AppBuilder Settings *********** */
- &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
- /* SETTINGS FOR WINDOW F-Frame-Win
- VISIBLE,,RUN-PERSISTENT */
- /* SETTINGS FOR FRAME F-Main
- NOT-VISIBLE FRAME-NAME Size-to-Fit Custom */
- /* BROWSE-TAB Br_XArtbw Btn_Speichern F-Main */
- ASSIGN
- FRAME F-Main:SCROLLABLE = FALSE.
- /* SETTINGS FOR FILL-IN ArtLager.Ausgang IN FRAME F-Main
- NO-ENABLE 6 EXP-LABEL EXP-FORMAT */
- /* SETTINGS FOR FILL-IN Artst.Ausverk IN FRAME F-Main
- NO-ENABLE 5 EXP-LABEL EXP-FORMAT */
- /* SETTINGS FOR FILL-IN Artst.Bestand IN FRAME F-Main
- NO-ENABLE 5 EXP-LABEL EXP-FORMAT */
- /* SETTINGS FOR FILL-IN ArtLager.Bestand IN FRAME F-Main
- NO-ENABLE 6 EXP-LABEL EXP-FORMAT */
- /* SETTINGS FOR FILL-IN Artst.Bestellt IN FRAME F-Main
- NO-ENABLE 5 EXP-LABEL EXP-FORMAT */
- /* SETTINGS FOR FILL-IN ArtLager.Eingang IN FRAME F-Main
- NO-ENABLE 6 EXP-LABEL EXP-FORMAT */
- /* SETTINGS FOR FILL-IN F_Artnr IN FRAME F-Main
- NO-ENABLE 1 2 */
- /* SETTINGS FOR FILL-IN F_Bez IN FRAME F-Main
- NO-ENABLE 5 */
- /* SETTINGS FOR FILL-IN F_Datum IN FRAME F-Main
- NO-DISPLAY NO-ENABLE 1 4 */
- ASSIGN
- F_Datum:HIDDEN IN FRAME F-Main = TRUE
- F_Datum:READ-ONLY IN FRAME F-Main = TRUE.
- /* SETTINGS FOR FILL-IN F_GGebinde IN FRAME F-Main
- NO-ENABLE 1 3 */
- /* SETTINGS FOR FILL-IN F_Inhalt IN FRAME F-Main
- NO-ENABLE 1 2 */
- /* SETTINGS FOR FILL-IN F_Jahr IN FRAME F-Main
- NO-ENABLE 1 2 */
- /* SETTINGS FOR FILL-IN F_KGebinde IN FRAME F-Main
- NO-ENABLE 1 3 */
- /* SETTINGS FOR FILL-IN F_Lager IN FRAME F-Main
- NO-DISPLAY NO-ENABLE */
- ASSIGN
- F_Lager:HIDDEN IN FRAME F-Main = TRUE
- F_Lager:READ-ONLY IN FRAME F-Main = TRUE.
- /* SETTINGS FOR FILL-IN F_VGebinde IN FRAME F-Main
- NO-ENABLE 1 3 */
- /* SETTINGS FOR FILL-IN ArtLager.Inv_Alt IN FRAME F-Main
- NO-ENABLE 6 EXP-LABEL EXP-FORMAT */
- /* SETTINGS FOR FILL-IN ArtLager.Inv_Best IN FRAME F-Main
- NO-ENABLE 6 EXP-LABEL EXP-FORMAT */
- /* SETTINGS FOR FILL-IN ArtLager.Ort IN FRAME F-Main
- NO-ENABLE 6 EXP-LABEL EXP-FORMAT */
- /* _RUN-TIME-ATTRIBUTES-END */
- &ANALYZE-RESUME
- /* Setting information for Queries and Browse Widgets fields */
- &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_XArtbw
- /* Query rebuild information for BROWSE Br_XArtbw
- _TblList = "Temp-Tables.XArtbw OF AnaDat.Artbw"
- _FldNameList[1] = Temp-Tables.XArtbw.Artnr
- _FldNameList[2] > "_<CALC>"
- "DYNAMIC-FUNCTION('getKGebindeKBez':U,XArtbw.KGeb_Cd)" "Gebinde" "x(12)" ? ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[3] > Temp-Tables.XArtbw.Bez1
- "XArtbw.Bez1" "Artikel" ? "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[4] = Temp-Tables.XArtbw.Inhalt
- _FldNameList[5] = Temp-Tables.XArtbw.Jahr
- _FldNameList[6] = Temp-Tables.XArtbw.Lager
- _FldNameList[7] = Temp-Tables.XArtbw.Datum
- _FldNameList[8] > Temp-Tables.XArtbw.Menge
- "XArtbw.Menge" ? "zzzz9-" "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[9] > Temp-Tables.XArtbw.KGeb_Me
- "XArtbw.KGeb_Me" "KGeb" "zzz,zz9-" "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[10] > Temp-Tables.XArtbw.VGeb_Me
- "XArtbw.VGeb_Me" "VGeb" "zz,zz9-" "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[11] > Temp-Tables.XArtbw.GGeb_Me
- "XArtbw.GGeb_Me" "GGeb" "zz9-" "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _Query is OPENED
- */ /* BROWSE Br_XArtbw */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
- /* Query rebuild information for FRAME F-Main
- _TblList = "AnaDat.Artbw,AnaDat.ArtLager OF AnaDat.Artbw,AnaDat.Artst OF AnaDat.Artbw"
- _Options = ""
- _Query is NOT OPENED
- */ /* FRAME F-Main */
- &ANALYZE-RESUME
-
- /* ************************ Control Triggers ************************ */
- &Scoped-define SELF-NAME Btn_Speichern
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Speichern F-Frame-Win
- ON CHOOSE OF Btn_Speichern IN FRAME F-Main /* Buchen */
- DO:
- DO WITH FRAME {&FRAME-NAME}:
- IF Btn_Speichern:LABEL = 'Buchen' THEN DO:
- RUN BUCHEN.
- RETURN NO-APPLY.
- END.
- IF Btn_Speichern:LABEL = 'Speichern' THEN DO:
- RUN SPEICHERN.
- RETURN NO-APPLY.
- END.
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_Uebernahme
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Uebernahme F-Frame-Win
- ON CHOOSE OF Btn_Uebernahme IN FRAME F-Main /* Ubernahme */
- DO:
- RUN g-invent-ueber.w.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_Vorbereitung
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Vorbereitung F-Frame-Win
- ON CHOOSE OF Btn_Vorbereitung IN FRAME F-Main /* Vorbereitung */
- DO:
- RUN g-invent-vorber.w.
- RUN LAGER_EINSTELLUNGEN.
- APPLY 'ENTRY' TO F_Artnr.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME CB_Datum
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Datum F-Frame-Win
- ON VALUE-CHANGED OF CB_Datum IN FRAME F-Main /* Inventardatum */
- DO:
- F_Datum = DATE(CB_Datum:SCREEN-VALUE).
- F_Datum:SCREEN-VALUE = CB_Datum:SCREEN-VALUE.
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME CB_Lager
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Lager F-Frame-Win
- ON VALUE-CHANGED OF CB_Lager IN FRAME F-Main /* Lager */
- DO:
- F_Lager = INTEGER(SELF:SCREEN-VALUE).
- F_Lager:SCREEN-VALUE = STRING(F_Lager).
- RUN LAGER_EINSTELLUNGEN.
- APPLY 'ENTRY' TO F_Artnr.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Artnr
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Artnr F-Frame-Win
- ON LEAVE OF F_Artnr IN FRAME F-Main /* Artnr/Inhalt/Jahr */
- DO:
- DEF VAR ARecid AS RECID NO-UNDO.
- DEF VAR iArtnr AS INT NO-UNDO.
- DEF VAR yy AS INT NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN.
- IF NOT VUpdate THEN RETURN.
- LKY = LASTKEY.
- LHandle = LAST-EVENT:WIDGET-ENTER.
- XHandle = SELF:HANDLE.
- Feldname = XHandle:NAME.
- FeldInhalt = XHandle:SCREEN-VALUE.
- DO WHILE TRUE:
- iArtnr = 0.
- ARecid = ?.
- IF NUM-ENTRIES(FeldInhalt, ' ') = 1 THEN iArtnr = INTEGER(FeldInhalt) NO-ERROR.
- IF NOT ERROR-STATUS:ERROR AND
- iArtnr > 0 THEN DO:
- yy = 0.
- FOR EACH Artst NO-LOCK
- WHERE Artst.Firma = GVFirma
- AND Artst.Artnr = iArtnr:
- ASSIGN yy = yy + 1
- ARecid = RECID(Artst).
- END.
- END.
- IF yy = 1 THEN LEAVE.
-
- LVSuchbe = FeldINhalt.
- ARecid = ?.
- LVSuchbe = 'INVENTAR,' + STRING(F_Lager,'999999') + ';' + LVSuchbe.
- RUN g-suchen-artikel.w ( LVSuchbe, OUTPUT ARecid ).
-
- LEAVE.
- END.
- IF ARecid = ? OR
- ARecid = 0 THEN DO:
- APPLY 'ENTRY' TO SELF.
- RETURN NO-APPLY.
- END.
-
- FIND Artst NO-LOCK WHERE RECID(Artst) = ARecid.
- ASSIGN VArtnr = Artst.Artnr
- VInhalt = Artst.Inhalt
- VJahr = Artst.Jahr
- F_Artnr = STRING(Artst.Artnr,"999999")
- F_Inhalt = Artst.Inhalt
- F_Jahr = Artst.Jahr.
- FIND Steuer WHERE Steuer.Firma = GVFirma NO-LOCK.
- FIND Artbez USE-INDEX Artbez-k1
- WHERE Artbez.Firma = GVFirma
- AND Artbez.Artnr = Artst.Artnr
- AND Artbez.Inhalt = F_Inhalt
- AND Artbez.Jahr = F_Jahr
- AND Artbez.Sprcd = Steuer.Fwi01 NO-LOCK NO-ERROR.
- IF AVAILABLE Artbez THEN DO:
- F_Bez = Artbez.Bez1.
- END.
- DISPLAY {&List-2} {&List-5} F_Bez.
-
- APPLY 'ENTRY' TO F_Inhalt.
- RETURN NO-APPLY.
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Datum
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Datum F-Frame-Win
- ON LEAVE OF F_Datum IN FRAME F-Main /* Inventardatum */
- DO:
- IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN.
- RUN DATUMTEST.
- IF RETURN-VALUE <> '' THEN RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_GGebinde
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_GGebinde F-Frame-Win
- ON CURSOR-DOWN OF F_GGebinde IN FRAME F-Main
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_GGebinde F-Frame-Win
- ON LEAVE OF F_GGebinde IN FRAME F-Main
- DO:
- DO WITH FRAME {&FRAME-NAME}:
- ASSIGN {&List-3}.
- IF F_GGebinde > 0 THEN DO:
- IF AVAILABLE GGebinde THEN F_VGebinde = F_GGebinde * GGebinde.Inhalt.
- IF AVAILABLE VGebinde THEN F_KGebinde = F_VGebinde * VGebinde.Inhalt.
- END.
- DISPLAY {&List-3}.
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Inhalt
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Inhalt F-Frame-Win
- ON LEAVE OF F_Inhalt IN FRAME F-Main /* / */
- DO:
-
- DO WITH FRAME {&FRAME-NAME}:
- IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN.
-
- F_Lager = INTEGER(CB_Lager:SCREEN-VALUE).
- F_Lager:SCREEN-VALUE = STRING(F_Lager).
- LKY = LASTKEY.
- LHandle = LAST-EVENT:WIDGET-ENTER.
-
- XHandle = SELF:HANDLE.
- Feldname = XHandle:NAME.
- FeldInhalt = XHandle:SCREEN-VALUE.
-
- F_Inhalt = INTEGER(FeldInhalt).
- FIND FIRST Artst USE-INDEX Artst-k1
- WHERE Artst.Firma = GVFirma
- AND Artst.Artnr = VArtnr
- AND Artst.Inhalt = F_Inhalt NO-LOCK NO-ERROR.
- IF NOT AVAILABLE Artst THEN DO:
- { v8/fehler.i "0213" }
- APPLY 'ENTRY' TO F_Inhalt.
- RETURN NO-APPLY.
- END.
- F_Jahr = Artst.Jahr.
- FIND Steuer WHERE Steuer.Firma = GVFirma NO-LOCK.
- FIND ArtBez USE-INDEX ArtBez-k1
- WHERE ArtBez.Firma = GVFirma
- AND ArtBez.Artnr = Artst.Artnr
- AND ArtBez.Inhalt = F_Inhalt
- AND ArtBez.Jahr = F_Jahr
- AND ArtBez.Sprcd = Steuer.Fwi01 NO-LOCK NO-ERROR.
- IF AVAILABLE ArtBez THEN DO:
- F_Bez = ArtBez.Bez1.
- END.
-
- DISPLAY {&List-5}.
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Jahr
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Jahr F-Frame-Win
- ON LEAVE OF F_Jahr IN FRAME F-Main /* / */
- DO:
- DO WITH FRAME {&FRAME-NAME}:
- IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN.
- IF KEYFUNCTION(LASTKEY) = 'BACK-TAB' THEN DO:
- APPLY 'ENTRY' TO F_Inhalt.
- RETURN NO-APPLY.
- END.
- F_Lager = INTEGER(CB_Lager:SCREEN-VALUE).
- F_Lager:SCREEN-VALUE = STRING(F_Lager).
- LKY = LASTKEY.
- LHandle = LAST-EVENT:WIDGET-ENTER.
-
- XHandle = SELF:HANDLE.
- Feldname = XHandle:NAME.
- FeldInhalt = XHandle:SCREEN-VALUE.
-
- F_Jahr = INTEGER(FeldInhalt).
- FIND Artst USE-INDEX Artst-k1
- WHERE Artst.Firma = GVFirma
- AND Artst.Artnr = VArtnr
- AND Artst.Inhalt = F_Inhalt
- AND Artst.Jahr = F_Jahr NO-LOCK NO-ERROR.
- IF NOT AVAILABLE Artst THEN DO:
- { v8/fehler.i "0213" }
- APPLY 'ENTRY' TO F_Inhalt.
- RETURN NO-APPLY.
- END.
- IF Artst.Aktiv = FALSE THEN DO:
- { v8/fehler.i "0201" }
- APPLY 'ENTRY' TO F_Inhalt.
- RETURN NO-APPLY.
- END.
- ARecid = RECID(Artst).
-
- FIND ArtBez USE-INDEX ArtBez-k1
- WHERE ArtBez.Firma = GVFirma
- AND ArtBez.Artnr = Artst.Artnr
- AND ArtBez.Inhalt = F_Inhalt
- AND ArtBez.Jahr = F_Jahr
- AND ArtBez.Sprcd = Steuer.Fwi01 NO-LOCK NO-ERROR.
- IF AVAILABLE ArtBez THEN DO:
- F_Bez = ArtBez.Bez1.
- END.
-
- FIND ArtLager USE-INDEX ArtLager-k1
- WHERE ArtLager.Firma = Artst.Firma
- AND ArtLager.Artnr = Artst.Artnr
- AND ArtLager.Inhalt = Artst.Inhalt
- AND ArtLager.Jahr = F_Jahr
- AND ArtLager.Lager = F_Lager NO-LOCK NO-ERROR.
- IF AVAILABLE ArtLager THEN DO:
- DISPLAY {&List-6}.
- END.
- DISPLAY {&List-5}.
-
- DISABLE {&List-2}.
- ENABLE {&List-3}.
-
- FIND GGebinde WHERE GGebinde.Firma = GVFirma
- AND GGebinde.Geb_Cd = Artst.GGeb_Cd NO-LOCK NO-ERROR.
- FIND VGebinde WHERE VGebinde.Firma = GVFirma
- AND VGebinde.Geb_Cd = Artst.VGeb_Cd NO-LOCK NO-ERROR.
- FIND KGebinde WHERE KGebinde.Firma = GVFirma
- AND KGebinde.Geb_Cd = Artst.KGeb_Cd NO-LOCK NO-ERROR.
-
- F_KGebinde:LABEL = KGebinde.KBez.
- F_VGebinde:LABEL = VGebinde.KBez.
- F_GGebinde:LABEL = GGebinde.KBez.
- F_KGebinde = 0.
- F_VGebinde = 0.
- F_GGebinde = 0.
-
- DISPLAY {&List-3}.
-
- IF ArtLager.Datum_Inv <> ? THEN DO:
- IF ArtLager.Datum_Inv >= (TODAY - 120) THEN DO:
- F_Datum = ArtLager.Datum_Inv.
- F_Datum :SCREEN-VALUE = STRING(ArtLager.datum_Inv,'99.99.9999').
- CB_Datum:SCREEN-VALUE = STRING(F_Datum,'99.99.9999').
- END.
- END.
-
- APPLY 'ENTRY' TO F_VGebinde.
- RETURN NO-APPLY.
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_KGebinde
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_KGebinde F-Frame-Win
- ON CURSOR-UP OF F_KGebinde IN FRAME F-Main
- DO:
- APPLY 'BACK-TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Lager
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Lager F-Frame-Win
- ON LEAVE OF F_Lager IN FRAME F-Main /* Lager */
- DO:
- F_Lager = INTEGER(F_Lager:SCREEN-VALUE).
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_VGebinde
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_VGebinde F-Frame-Win
- ON CURSOR-DOWN OF F_VGebinde IN FRAME F-Main
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_VGebinde F-Frame-Win
- ON CURSOR-UP OF F_VGebinde IN FRAME F-Main
- DO:
- APPLY 'BACK-TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_VGebinde F-Frame-Win
- ON LEAVE OF F_VGebinde IN FRAME F-Main
- DO:
- DO WITH FRAME {&FRAME-NAME}:
- ASSIGN {&List-3}.
- IF F_VGebinde > 0 THEN DO:
- IF AVAILABLE VGebinde THEN F_KGebinde = F_VGebinde * VGebinde.Inhalt.
- END.
- DISPLAY {&List-3}.
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define BROWSE-NAME Br_XArtbw
- &UNDEFINE SELF-NAME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK F-Frame-Win
- /* *************************** Main Block *************************** */
- &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
- /* Now enable the interface if in test mode - otherwise this happens when
- the object is explicitly initialized from its container. */
- RUN dispatch IN THIS-PROCEDURE ('initialize':U).
- &ENDIF
- GET-KEY-VALUE SECTION 'FwSteuer' KEY 'FwFRW' VALUE FwFRW.
- IF FwFRW = ? THEN FwFRW = 'CHF'.
- SESSION:DATA-ENTRY-RETURN = TRUE.
-
- ON END-ERROR OF {&FELDER} IN FRAME {&FRAME-NAME}
- DO:
- DO WITH FRAME {&FRAME-NAME}:
- LKY = LASTKEY.
- XHandle = SELF:HANDLE.
-
- IF VUpdate THEN DO:
- VUpdate = FALSE.
- DISABLE {&List-2}.
- DISABLE {&List-3}.
- ENABLE {&List-4}.
- Btn_Speichern:LABEL = 'Buchen'.
- APPLY 'ENTRY' TO Btn_Speichern.
- RETURN NO-APPLY.
- END.
- IF VALID-HANDLE(XHandle) THEN DO:
- IF XHandle:NAME = 'CB_Lager' THEN DO:
- RUN new-state ( 'ENDE, MAIN':U).
- RETURN NO-APPLY.
- END.
- APPLY 'ENTRY' TO CB_Lager.
- RETURN NO-APPLY.
- END.
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* ********************** Internal Procedures *********************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects F-Frame-Win _ADM-CREATE-OBJECTS
- PROCEDURE adm-create-objects :
- /*------------------------------------------------------------------------------
- Purpose: Create handles for all SmartObjects used in this procedure.
- After SmartObjects are initialized, then SmartLinks are added.
- Parameters: <none>
- ------------------------------------------------------------------------------*/
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-row-available F-Frame-Win _ADM-ROW-AVAILABLE
- PROCEDURE adm-row-available :
- /*------------------------------------------------------------------------------
- Purpose: Dispatched to this procedure when the Record-
- Source has a new row available. This procedure
- tries to get the new row (or foriegn keys) from
- the Record-Source and process it.
- Parameters: <none>
- ------------------------------------------------------------------------------*/
- /* Define variables needed by this internal procedure. */
- {src/adm/template/row-head.i}
- /* 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 ARTIKELNUMMER F-Frame-Win
- PROCEDURE ARTIKELNUMMER :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- VArtnr = -1.
- FIND FIRST BArtst USE-INDEX Artst-k2
- WHERE BArtst.Firma = GVFirma
- AND BArtst.Suchbe BEGINS FeldInhalt NO-LOCK NO-ERROR.
- IF AVAILABLE BArtst THEN DO:
- VArtnr = BArtst.Artnr.
- FIND NEXT BArtst USE-INDEX Artst-k2
- WHERE BArtst.Firma = GVFirma
- AND BArtst.Suchbe BEGINS FeldInhalt NO-LOCK NO-ERROR.
- IF AVAILABLE BArtst THEN VArtnr = -1.
- END.
- IF VArtnr = -1 THEN DO:
- Linkcd = 0.
- Linknr = VArtnr.
- Linktext = FeldInhalt.
- i5 = 1.
- RUN new-state ( INPUT 'artikelsuche, MAIN' ).
- RETURN NO-APPLY.
- END.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE BUCHEN F-Frame-Win
- PROCEDURE BUCHEN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DO WITH FRAME {&FRAME-NAME}:
- ASSIGN {&List-4} NO-ERROR.
-
- RUN DATUMTEST.
- IF RETURN-VALUE <> '' THEN RETURN NO-APPLY.
- DISABLE {&List-1}.
- ENABLE {&List-2}.
- F_Artnr:SCREEN-VALUE = STRING(AArtnr).
- F_Inhalt:SCREEN-VALUE = STRING(AInhalt).
- F_Jahr:SCREEN-VALUE = STRING(AJahr).
- F_Bez:SCREEN-VALUE = ''.
- Btn_Speichern:LABEL = 'Speichern'.
- VUpdate = TRUE.
- APPLY 'ENTRY' TO F_Artnr.
- RETURN NO-APPLY.
-
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DATUMTEST F-Frame-Win
- PROCEDURE DATUMTEST :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DO WITH FRAME {&FRAME-NAME}:
- F_Datum = DATE(CB_Datum:SCREEN-VALUE) NO-ERROR.
- F_Datum:SCREEN-VALUE = CB_Datum:SCREEN-VALUE.
- IF F_Datum = ? OR
- F_Datum < TODAY - 120 OR
- F_Datum > TODAY + 120 THEN DO:
- { v8/fehler.i "0096" }
- APPLY 'ENTRY' TO CB_Datum.
- RETURN 'ERROR'.
- END.
- RETURN ''.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI F-Frame-Win _DEFAULT-DISABLE
- PROCEDURE disable_UI :
- /*------------------------------------------------------------------------------
- Purpose: DISABLE the User Interface
- Parameters: <none>
- Notes: Here we clean-up the user-interface by deleting
- dynamic widgets we have created and/or hide
- frames. This procedure is usually called when
- we are ready to "clean-up" after running.
- ------------------------------------------------------------------------------*/
- /* Hide all frames. */
- HIDE FRAME F-Main.
- IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI F-Frame-Win _DEFAULT-ENABLE
- PROCEDURE enable_UI :
- /*------------------------------------------------------------------------------
- Purpose: ENABLE the User Interface
- Parameters: <none>
- Notes: Here we display/view/enable the widgets in the
- user-interface. In addition, OPEN all queries
- associated with each FRAME and BROWSE.
- These statements here are based on the "Other
- Settings" section of the widget Property Sheets.
- ------------------------------------------------------------------------------*/
- DISPLAY CB_Lager CB_Datum F_Artnr F_Inhalt F_Jahr F_Bez F_GGebinde F_VGebinde
- F_KGebinde
- WITH FRAME F-Main.
- IF AVAILABLE ArtLager THEN
- DISPLAY ArtLager.Eingang ArtLager.Ausgang ArtLager.Bestand ArtLager.Inv_Best
- ArtLager.Inv_Alt ArtLager.Ort
- WITH FRAME F-Main.
- IF AVAILABLE Artst THEN
- DISPLAY Artst.Bestand Artst.Bestellt Artst.Ausverk
- WITH FRAME F-Main.
- ENABLE CB_Lager CB_Datum Btn_Speichern Br_XArtbw Btn_Vorbereitung
- Btn_Uebernahme RECT-1
- WITH FRAME F-Main.
- {&OPEN-BROWSERS-IN-QUERY-F-Main}
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE GEFUNDEN_ARTIKEL F-Frame-Win
- PROCEDURE GEFUNDEN_ARTIKEL :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- VArtnr = Linknr.
- FeldInhalt = Linktext.
- Linktext = ''.
- Linknr = 0.
- FGefunden = TRUE.
-
- DO WITH FRAME {&FRAME-NAME}:
- F_Artnr = STRING(AVArtnr).
- F_Inhalt = AVInhalt.
- F_Jahr = AVJahr.
- F_Artnr:SCREEN-VALUE = STRING(AVArtnr).
- FIND Artst USE-INDEX Artst-k1
- WHERE Artst.Firma = GVFirma
- AND Artst.Artnr = AVArtnr
- AND Artst.Inhalt = AVInhalt
- AND Artst.Jahr = AVJahr NO-LOCK NO-ERROR.
- IF AVAILABLE Artst THEN DO:
- FIND Steuer WHERE Steuer.Firma = GVFirma NO-LOCK.
- FIND Artbez USE-INDEX Artbez-k1
- WHERE Artbez.Firma = GVFirma
- AND Artbez.Artnr = AVArtnr
- AND Artbez.Inhalt = AVInhalt
- AND Artbez.Jahr = AVJahr
- AND Artbez.Sprcd = Steuer.Fwi01 NO-LOCK NO-ERROR.
- END.
- IF AVAILABLE Artbez THEN DO:
- F_Bez = Artbez.Bez1.
- END.
- APPLY 'LEAVE' TO F_Artnr.
- DISPLAY {&List-2}.
- RETURN NO-APPLY.
- END.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LAGER_EINSTELLUNGEN F-Frame-Win
- PROCEDURE LAGER_EINSTELLUNGEN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR Datum AS DATE FORMAT '99.99.9999' NO-UNDO.
- DEF VAR cString AS CHAR NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- CB_Lager:SCREEN-VALUE = STRING(F_Lager,'999999').
- END.
- EMPTY TEMP-TABLE tDatum.
- FOR EACH ArtLager NO-LOCK
- WHERE ArtLager.Firma = Firma
- AND ArtLager.Lager = F_Lager
- AND ArtLager.Datum_Inv <> ?:
- Datum = ArtLager.Datum_Inv.
- FIND FIRST tDatum WHERE tDatum.Datum = Datum NO-ERROR.
- IF NOT AVAILABLE tDatum THEN DO:
- CREATE tDatum.
- ASSIGN tDatum.Datum = Datum.
- END.
- END.
- FOR EACH tDatum:
- cString = cString + (IF cString = '' THEN '' ELSE ';')
- + STRING(tDatum.Datum,'99.99.9999').
- END.
- FIND FIRST tDatum NO-ERROR.
- IF NOT AVAILABLE tDatum THEN Datum = TODAY.
- ELSE Datum = tDatum.Datum.
-
- DO WITH FRAME {&FRAME-NAME}:
- CB_Datum:DELIMITER = ';'.
- CB_Datum:LIST-ITEMS = cString.
- CB_Datum:SCREEN-VALUE = STRING(Datum,'99.99.9999') NO-ERROR.
- APPLY 'ENTRY' TO F_Artnr.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-initialize F-Frame-Win
- PROCEDURE local-initialize :
- /*------------------------------------------------------------------------------
- Purpose: Override standard ADM method
- Notes:
- ------------------------------------------------------------------------------*/
- /* Code placed here will execute PRIOR to standard behavior. */
- /* Dispatch standard ADM method. */
- RUN dispatch IN THIS-PROCEDURE ( INPUT 'initialize':U ) .
- DO WITH FRAME {&FRAME-NAME}:
- F_Lager = DYNAMIC-FUNCTION('getBenLager':U) NO-ERROR.
- RUN COMBO_LAGER ( CB_Lager:HANDLE ).
- RUN LAGER_EINSTELLUNGEN.
- F_Lager:SCREEN-VALUE = STRING(F_Lager).
- APPLY 'ENTRY' TO F_Artnr.
- END.
- /* Code placed here will execute AFTER standard behavior. */
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-view F-Frame-Win
- PROCEDURE local-view :
- /*------------------------------------------------------------------------------
- Purpose: Override standard ADM method
- Notes:
- ------------------------------------------------------------------------------*/
- RUN dispatch IN THIS-PROCEDURE ( INPUT 'view':U ) .
- APPLY 'ENTRY' TO CB_Lager IN FRAME {&FRAME-NAME}.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NICHT_GEFUNDEN_ARTIKEL F-Frame-Win
- PROCEDURE NICHT_GEFUNDEN_ARTIKEL :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DO WITH FRAME {&FRAME-NAME}:
- APPLY 'ENTRY' TO F_Artnr.
- RETURN NO-APPLY.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE OPEN_XARTBW F-Frame-Win
- PROCEDURE OPEN_XARTBW :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- OPEN QUERY Br_XArtbw
- FOR EACH XArtbw WHERE XArtbw.Firma = GVFirma NO-LOCK
- BY XArtbw.Trnr DESCENDING.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-records F-Frame-Win _ADM-SEND-RECORDS
- PROCEDURE send-records :
- /*------------------------------------------------------------------------------
- Purpose: Send record ROWID's for all tables used by
- this file.
- Parameters: see template/snd-head.i
- ------------------------------------------------------------------------------*/
- /* Define variables needed by this internal procedure. */
- {src/adm/template/snd-head.i}
- /* For each requested table, put it's ROWID in the output list. */
- {src/adm/template/snd-list.i "Artbw"}
- {src/adm/template/snd-list.i "ArtLager"}
- {src/adm/template/snd-list.i "Artst"}
- {src/adm/template/snd-list.i "XArtbw"}
- /* Deal with any unexpected table requests before closing. */
- {src/adm/template/snd-end.i}
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SPEICHERN F-Frame-Win
- PROCEDURE SPEICHERN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR LRecid AS RECID NO-UNDO.
- IF NOT VUpdate THEN RETURN NO-APPLY.
- DISABLE TRIGGERS FOR LOAD OF ArtLager.
- DISABLE TRIGGERS FOR LOAD OF Artst.
- REPEAT TRANSACTION WITH FRAME {&FRAME-NAME}:
- RUN DATUMTEST.
- IF RETURN-VALUE <> '' THEN RETURN NO-APPLY.
-
- ASSIGN {&List-2}
- {&List-3}.
- DO WHILE TRUE:
- IF F_KGebinde > 0 OR
- F_VGebinde > 0 OR
- F_GGebinde > 0 THEN LEAVE.
- MESSAGE "Wollen Sie wirklich ein Inventar mit 0 erfassen ? "
- VIEW-AS ALERT-BOX QUESTION BUTTONS OK-CANCEL
- Update Ja.
- IF Ja THEN LEAVE.
- BELL.
- APPLY 'ENTRY' TO F_KGebinde.
- RETURN NO-APPLY.
- END.
- FIND Steuer WHERE Steuer.Firma = GVFirma NO-LOCK.
- FIND Artst WHERE RECID(Artst) = ARecid.
- FIND ArtLager USE-INDEX ArtLager-k1
- WHERE ArtLager.Firma = Artst.Firma
- AND ArtLager.Artnr = Artst.Artnr
- AND ArtLager.Inhalt = Artst.Inhalt
- AND ArtLager.Jahr = F_Jahr
- AND ArtLager.Lager = F_Lager NO-ERROR.
- IF NOT AVAILABLE ArtLager THEN DO:
- CREATE ArtLager.
- ASSIGN ArtLager.Firma = Artst.Firma
- ArtLager.Artnr = Artst.Artnr
- ArtLager.Inhalt = Artst.Inhalt
- ArtLager.Jahr = F_Jahr
- ArtLager.Lager = F_Lager.
- END.
- LRecid = RECID(ArtLAger).
- ArtLager.Inv_Best = ArtLager.Inv_Best + F_KGebinde.
-
- FIND LAST Artbw USE-INDEX Artbw-k1
- WHERE Artbw.Firma = GVFirma NO-LOCK NO-ERROR.
- IF AVAILABLE Artbw THEN i1 = Artbw.Trnr + 1.
- ELSE i1 = 1.
-
- CREATE Artbw.
- ASSIGN Artbw.Firma = GVFirma
- Artbw.Trnr = i1
- Artbw.Tr_Art = 21
- Artbw.Artnr = Artst.Artnr
- Artbw.Inhalt = Artst.Inhalt
- Artbw.Jahr = Artst.Jahr
- Artbw.Bez1 = F_Bez
- Artbw.Menge = F_KGebinde
- Artbw.Alk_Gehalt = Artst.Alk_Gehalt
- Artbw.Aktion = FALSE
- Artbw.Sk_Ber = FALSE
- Artbw.Netto = FALSE
- Artbw.Lager = F_Lager
- Artbw.KGeb_Cd = Artst.KGeb_Cd
- Artbw.VGeb_Cd = Artst.VGeb_Cd
- Artbw.GGeb_Cd = Artst.GGeb_Cd
- Artbw.KGeb_Me = F_KGebinde
- Artbw.VGeb_Me = F_VGebinde
- Artbw.GGeb_Me = F_GGebinde
- Artbw.Liter = F_KGebinde * KGebinde.Inhalt / 100
- Artbw.Datum = F_Datum
- Artbw.Abhol = FALSE
- Artbw.FRW = FwFRW
- Artbw.Faktor = 1
- Artbw.Kurs = 1.0.
- AArtnr = Artst.Artnr.
- AInhalt = Artst.Inhalt.
- AJahr = Artst.Jahr.
-
- CREATE XArtbw.
- BUFFER-COPY Artbw to XArtbw.
-
- FIND BArtst WHERE RECID(BArtst) = ARecid NO-LOCK.
- FIND NEXT BArtst USE-INDEX Artst-k1
- WHERE BArtst.Firma = GVFirma NO-LOCK NO-ERROR.
- IF AVAILABLE BArtst THEN DO:
- F_Artnr = STRING(BArtst.Artnr,"999999").
- F_Inhalt = BArtst.Inhalt.
- F_Jahr = BArtst.Jahr.
- AArtnr = BArtst.Artnr.
- AInhalt = BArtst.Inhalt.
- AJahr = BArtst.Jahr.
- END.
- DISPLAY {&list-2}
- {&List-5}
- {&List-6}.
- DISABLE {&List-2}
- {&List-3}.
- ENABLE {&List-4}.
- VUpdate = FALSE.
-
- RUN OPEN_XARTBW.
- Btn_Speichern:LABEL = 'Buchen'.
- APPLY 'ENTRY' TO Btn_Speichern.
- RELEASE Artst.
- RELEASE ArtLager.
-
- LEAVE.
- END.
- FIND Artst WHERE RECID(Artst) = ARecid NO-LOCK NO-ERROR.
- FIND ArtLager WHERE RECID(ArtLager) = LRecid NO-LOCK NO-ERROR.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE state-changed F-Frame-Win
- PROCEDURE state-changed :
- /* -----------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- -------------------------------------------------------------*/
- DEFINE INPUT PARAMETER p-issuer-hdl AS HANDLE NO-UNDO.
- DEFINE INPUT PARAMETER p-state AS CHARACTER NO-UNDO.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
|