| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103 |
- &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
- &ANALYZE-RESUME
- &Scoped-define WINDOW-NAME CURRENT-WINDOW
- &Scoped-define FRAME-NAME gPreislisteKunde
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gPreislisteKunde
- /*------------------------------------------------------------------------
- File:
- Description: from cntnrdlg.w - ADM2 SmartDialog Template
- Input Parameters:
- <none>
- Output Parameters:
- <none>
- Author:
- Created:
- ------------------------------------------------------------------------*/
- /* This .W file was created with the Progress AppBuilder. */
- /*----------------------------------------------------------------------*/
- /* Create an unnamed pool to store all the widgets created
- by this procedure. This is a good default which assures
- that this procedure's triggers and internal procedures
- will execute in this procedure's storage, and that proper
- cleanup will occur on deletion of the procedure. */
- CREATE WIDGET-POOL.
- /* *************************** Definitions ************************** */
- /* Parameters Definitions --- */
- /* Local Variable Definitions --- */
- DEFINE VARIABLE MaxPage AS INTEGER NO-UNDO.
- DEFINE VARIABLE AktSeite AS INTEGER NO-UNDO.
- DEFINE VARIABLE FMutFlag AS LOG NO-UNDO.
- DEFINE VARIABLE Fenster AS HANDLE NO-UNDO.
- DEFINE VARIABLE Pgr AS INTEGER NO-UNDO.
- DEFINE VARIABLE Firma AS CHARACTER INIT '1000' NO-UNDO.
- DEFINE VARIABLE AdFirma AS CHARACTER INIT '1000' NO-UNDO.
- DEFINE VARIABLE FwSprcd AS INTEGER NO-UNDO.
- DEFINE VARIABLE RetVal AS CHARACTER NO-UNDO.
- DEFINE VARIABLE xPreisgrp AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ProgName AS CHARACTER NO-UNDO.
- DEFINE VARIABLE Inkl AS LOG NO-UNDO.
- DEFINE VARIABLE cVGebinde AS CHARACTER NO-UNDO.
- DEFINE VARIABLE iVGebInhalt AS INTEGER NO-UNDO.
- DEFINE VARIABLE cKGebinde AS CHARACTER NO-UNDO.
- DEFINE VARIABLE iKGebInhalt AS INTEGER NO-UNDO.
- DEFINE VARIABLE cVorlage AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cDaten AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cDokument AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cDateiName AS CHARACTER NO-UNDO.
- DEFINE VARIABLE Zelle AS CHARACTER NO-UNDO.
- DEFINE VARIABLE iVerband AS INTEGER NO-UNDO.
- DEFINE VARIABLE excelAppl AS COMPONENT-HANDLE NO-UNDO.
- DEFINE VARIABLE cPath AS CHARACTER NO-UNDO.
- DEFINE BUFFER BArtst FOR Artst.
- DEFINE TEMP-TABLE tArtikGrp NO-UNDO LIKE ArtikGrp
- FIELD cWgr AS CHARACTER
- FIELD cPgr AS CHARACTER.
- DEFINE TEMP-TABLE tCategory NO-UNDO
- FIELD cWarenGrp AS CHARACTER
- FIELD cProdGrp AS CHARACTER
- FIELD cArtGrp AS CHARACTER
- FIELD cKatId AS CHARACTER
-
- INDEX tCategory-k1 IS PRIMARY
- cKatId .
- DEFINE TEMP-TABLE tArtikel NO-UNDO
- FIELD Wg_Grp AS INTEGER
- FIELD Prod_Grp AS INTEGER
- FIELD Art_Grp AS INTEGER
- FIELD Rab_Grp AS INTEGER
- FIELD Herst AS INTEGER
- FIELD Artnr AS INTEGER
- FIELD Inhalt AS INTEGER
- FIELD Jahr AS INTEGER
- FIELD KGeb_Cd AS CHARACTER
- FIELD VGeb_Cd AS CHARACTER
- FIELD KGebinde AS CHARACTER
- FIELD VGebinde AS CHARACTER
- FIELD KGeb_Inhalt AS INTEGER
- FIELD VGeb_Inhalt AS INTEGER
- FIELD Alk_Gehalt AS DECIMAL
- FIELD Bez1 AS CHARACTER
- FIELD Bez2 AS CHARACTER
- FIELD Preis AS DECIMAL DECIMALS 3
- FIELD Netto AS LOG INIT FALSE
- FIELD Bez AS CHARACTER
- FIELD DEP AS DECIMAL DECIMALS 4
- FIELD LEP AS DECIMAL DECIMALS 4
- FIELD Listen_EP AS DECIMAL DECIMALS 4
- FIELD cEAN AS CHARACTER
- FIELD cBildLink AS CHARACTER
- FIELD Aktiv AS LOGICAL
- FIELD Ausverk AS INTEGER
-
- INDEX tArtikel-k1 AS PRIMARY
- Wg_Grp
- Prod_Grp
- Art_Grp
- Artnr
- Inhalt
- Jahr
-
- INDEX tArtikel-k2
- Artnr
- Inhalt
- Jahr
- .
- DEFINE TEMP-TABLE tPreise
- FIELD Artnr AS INTEGER
- FIELD Inhalt AS INTEGER
- FIELD Jahr AS INTEGER
- FIELD Knr AS INTEGER
- FIELD Preis_Grp AS INTEGER
- FIELD lAktion AS LOG
- FIELD Preis AS DECIMAL DECIMALS 3
- FIELD ab_Datum AS DATE
- FIELD bis_Datum AS DATE
-
- INDEX tPreise-k1 IS PRIMARY
- Artnr
- Inhalt
- Jahr
- Knr
- Preis_Grp
- lAktion.
-
- DEFINE BUFFER bas_tPreise FOR tPreise.
- DEFINE BUFFER akt_tPreise FOR tPreise.
- DEFINE TEMP-TABLE tDebitor NO-UNDO
- FIELD Knr AS INTEGER
- FIELD FremdKnr AS CHARACTER
- FIELD cGruppe AS CHARACTER
-
- INDEX tDebitor-k1 IS PRIMARY
- Knr.
-
- DEFINE TEMP-TABLE tAufze LIKE Aufze
- FIELD iStatus AS INTEGER
- FIELD Knr AS INTEGER
- FIELD Datum AS DATE
- .
- DEFINE VARIABLE htAufze AS HANDLE NO-UNDO.
- htAufze = TEMP-TABLE tAufze:DEFAULT-BUFFER-HANDLE.
- DEFINE TEMP-TABLE tOrder
- FIELD iKnr AS INTEGER
- FIELD iSupplierList AS INTEGER
- FIELD cName AS CHARACTER
- FIELD cArtnr AS CHARACTER
- FIELD iDelProd AS INTEGER
- FIELD iDelList AS INTEGER
- FIELD iSupplier AS INTEGER
- FIELD iPos AS INTEGER
- FIELD cGroup AS CHARACTER
- FIELD cFutureOrder AS CHARACTER
- FIELD nPreis AS DECIMAL
- FIELD cLiefDatum AS CHARACTER
- .
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
- /* ******************** Preprocessor Definitions ******************** */
- &Scoped-define PROCEDURE-TYPE SmartDialog
- &Scoped-define DB-AWARE no
- &Scoped-define ADM-CONTAINER DIALOG-BOX
- &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
- /* Name of designated FRAME-NAME and/or first browse and/or first query */
- &Scoped-define FRAME-NAME gPreislisteKunde
- /* Standard List Definitions */
- &Scoped-Define ENABLED-OBJECTS T_Kundendaten CB_Hogagrp Hersteller ~
- Warengruppen Preisdatum VonArtnr BisArtnr R_Preisliste Btn_Excel ~
- T_Artikeldaten T_Preise RECT-37
- &Scoped-Define DISPLAYED-OBJECTS T_Kundendaten CB_Hogagrp Hersteller ~
- Warengruppen Preisdatum VonArtnr BisArtnr R_Preisliste T_Artikeldaten ~
- T_Preise
- /* Custom List Definitions */
- /* List-1,List-2,List-3,List-4,List-5,List-6 */
- &Scoped-define List-5 Btn_Excel
- &Scoped-define List-6 T_Kundendaten Hersteller Warengruppen Preisdatum ~
- VonArtnr BisArtnr R_Preisliste T_Artikeldaten T_Preise
- /* _UIB-PREPROCESSOR-BLOCK-END */
- &ANALYZE-RESUME
- /* ************************ Function Prototypes ********************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getKGebinde gPreislisteKunde
- FUNCTION getKGebinde RETURNS LOGICAL
- ( ipcGeb_Cd AS CHARACTER, OUTPUT opcGebinde AS CHARACTER, OUTPUT opiInhalt AS INTEGER ) FORWARD.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getVGebinde gPreislisteKunde
- FUNCTION getVGebinde RETURNS LOGICAL
- ( ipcGeb_Cd AS CHARACTER, OUTPUT opcGebinde AS CHARACTER, OUTPUT opiInhalt AS INTEGER ) FORWARD.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* *********************** Control Definitions ********************** */
- /* Define a dialog box */
- /* Definitions of the field level widgets */
- DEFINE BUTTON Btn_Excel
- IMAGE-UP FILE "grafik/results%.ico":U
- IMAGE-INSENSITIVE FILE "grafik/results%.ico":U
- LABEL "Excel"
- SIZE 7 BY 1.81.
- DEFINE VARIABLE CB_Hogagrp AS CHARACTER FORMAT "X(256)":U
- LABEL "Hoga-Gruppe"
- VIEW-AS COMBO-BOX INNER-LINES 5
- LIST-ITEM-PAIRS "Item 1","Item 1"
- DROP-DOWN-LIST
- SIZE 45 BY 1 NO-UNDO.
- DEFINE VARIABLE BisArtnr AS INTEGER FORMAT "999999":U INITIAL 999999
- VIEW-AS FILL-IN
- SIZE 11 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE Hersteller AS CHARACTER FORMAT "X(256)":U
- LABEL "Hersteller"
- VIEW-AS FILL-IN NATIVE
- SIZE 45 BY 1 TOOLTIP "F1, rechte Maustaste zur Auswahl"
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE Preisdatum AS DATE FORMAT "99.99.9999":U
- LABEL "Preisdatum"
- VIEW-AS FILL-IN NATIVE
- SIZE 16 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE VonArtnr AS INTEGER FORMAT "999999":U INITIAL 0
- LABEL "von - bis Artikelnummer"
- VIEW-AS FILL-IN
- SIZE 11 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE Warengruppen AS CHARACTER FORMAT "X(256)":U
- LABEL "Warengruppen"
- VIEW-AS FILL-IN NATIVE
- SIZE 45 BY 1 TOOLTIP "F1, rechte Maustaste zur Auswahl"
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE R_Preisliste AS INTEGER
- VIEW-AS RADIO-SET VERTICAL
- RADIO-BUTTONS
- "Preislistencode nicht berücksichtigen", 1,
- "nur Artikel mit Preislistencode = Ja", 2,
- "nur Artikel mit Preislistencode = Nein", 3
- SIZE 45 BY 2.38 NO-UNDO.
- DEFINE RECTANGLE RECT-37
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 90 BY 13.33.
- DEFINE VARIABLE T_Artikeldaten AS LOGICAL INITIAL NO
- LABEL "Export Artikeldaten"
- VIEW-AS TOGGLE-BOX
- SIZE 35 BY 1 NO-UNDO.
- DEFINE VARIABLE T_Kundendaten AS LOGICAL INITIAL NO
- LABEL "Export Kundendaten"
- VIEW-AS TOGGLE-BOX
- SIZE 35 BY 1 NO-UNDO.
- DEFINE VARIABLE T_Preise AS LOGICAL INITIAL NO
- LABEL "Export Preise"
- VIEW-AS TOGGLE-BOX
- SIZE 35 BY 1 NO-UNDO.
- /* ************************ Frame Definitions *********************** */
- DEFINE FRAME gPreislisteKunde
- T_Kundendaten AT ROW 11 COL 30 WIDGET-ID 2
- CB_Hogagrp AT ROW 2.52 COL 28 COLON-ALIGNED
- Hersteller AT ROW 3.48 COL 28 COLON-ALIGNED
- Warengruppen AT ROW 4.48 COL 28 COLON-ALIGNED
- Preisdatum AT ROW 5.48 COL 28 COLON-ALIGNED
- VonArtnr AT ROW 6.48 COL 28 COLON-ALIGNED
- BisArtnr AT ROW 6.48 COL 41 COLON-ALIGNED NO-LABELS
- R_Preisliste AT ROW 8 COL 30 NO-LABELS
- Btn_Excel AT ROW 4 COL 82.2
- T_Artikeldaten AT ROW 12 COL 30 WIDGET-ID 4
- T_Preise AT ROW 13 COL 30 WIDGET-ID 6
- RECT-37 AT ROW 1.24 COL 2
- SPACE(0.99) SKIP(0.23)
- WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
- SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
- TITLE "Preisliste für Verbandskunden".
- /* *********************** Procedure Settings ************************ */
- &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
- /* Settings for THIS-PROCEDURE
- Type: SmartDialog
- Allow: Basic,Browse,DB-Fields,Query,Smart
- Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
- Design Page: 1
- Other Settings: COMPILE
- */
- &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gPreislisteKunde
- /* ************************* Included-Libraries *********************** */
- {src/adm2/containr.i}
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* *********** Runtime Attributes and AppBuilder Settings *********** */
- &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
- /* SETTINGS FOR DIALOG-BOX gPreislisteKunde
- FRAME-NAME Custom */
- ASSIGN
- FRAME gPreislisteKunde:SCROLLABLE = FALSE
- FRAME gPreislisteKunde:HIDDEN = TRUE.
- /* SETTINGS FOR FILL-IN BisArtnr IN FRAME gPreislisteKunde
- 6 */
- /* SETTINGS FOR BUTTON Btn_Excel IN FRAME gPreislisteKunde
- 5 */
- /* SETTINGS FOR FILL-IN Hersteller IN FRAME gPreislisteKunde
- 6 */
- /* SETTINGS FOR FILL-IN Preisdatum IN FRAME gPreislisteKunde
- 6 */
- /* SETTINGS FOR RADIO-SET R_Preisliste IN FRAME gPreislisteKunde
- 6 */
- /* SETTINGS FOR TOGGLE-BOX T_Artikeldaten IN FRAME gPreislisteKunde
- 6 */
- /* SETTINGS FOR TOGGLE-BOX T_Kundendaten IN FRAME gPreislisteKunde
- 6 */
- /* SETTINGS FOR TOGGLE-BOX T_Preise IN FRAME gPreislisteKunde
- 6 */
- /* SETTINGS FOR FILL-IN VonArtnr IN FRAME gPreislisteKunde
- 6 */
- /* SETTINGS FOR FILL-IN Warengruppen IN FRAME gPreislisteKunde
- 6 */
- /* _RUN-TIME-ATTRIBUTES-END */
- &ANALYZE-RESUME
- /* Setting information for Queries and Browse Widgets fields */
- &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gPreislisteKunde
- /* Query rebuild information for DIALOG-BOX gPreislisteKunde
- _Options = "SHARE-LOCK"
- _Query is NOT OPENED
- */ /* DIALOG-BOX gPreislisteKunde */
- &ANALYZE-RESUME
-
- /* ************************ Control Triggers ************************ */
- &Scoped-define SELF-NAME gPreislisteKunde
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gPreislisteKunde gPreislisteKunde
- ON END-ERROR OF FRAME gPreislisteKunde /* Preisliste für Verbandskunden */
- DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gPreislisteKunde gPreislisteKunde
- ON GO OF FRAME gPreislisteKunde /* Preisliste für Verbandskunden */
- DO:
- RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gPreislisteKunde gPreislisteKunde
- ON WINDOW-CLOSE OF FRAME gPreislisteKunde /* Preisliste für Verbandskunden */
- DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_Excel
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Excel gPreislisteKunde
- ON CHOOSE OF Btn_Excel IN FRAME gPreislisteKunde /* Excel */
- DO:
- DO WITH FRAME {&FRAME-NAME}:
- Btn_Excel:VISIBLE = FALSE.
- SESSION:SET-WAIT-STATE('GENERAL').
- RUN REPORT.
- SESSION:SET-WAIT-STATE('').
- Btn_Excel:VISIBLE = TRUE.
- RUN ENDE.
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Hersteller
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Hersteller gPreislisteKunde
- ON HELP OF Hersteller IN FRAME gPreislisteKunde /* Hersteller */
- DO:
- RUN g-auswahl-tabelle.w ( INPUT SELF:HANDLE, INPUT 'HERST' ).
- APPLY 'END' TO SELF.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Hersteller gPreislisteKunde
- ON RIGHT-MOUSE-CLICK OF Hersteller IN FRAME gPreislisteKunde /* Hersteller */
- DO:
- RUN g-auswahl-tabelle.w ( INPUT SELF:HANDLE, INPUT 'HERST' ).
- APPLY 'END' TO SELF.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME R_Preisliste
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL R_Preisliste gPreislisteKunde
- ON RETURN OF R_Preisliste IN FRAME gPreislisteKunde
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Warengruppen
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Warengruppen gPreislisteKunde
- ON HELP OF Warengruppen IN FRAME gPreislisteKunde /* Warengruppen */
- DO:
- RUN g-auswahl-wgr.w ( INPUT SELF:HANDLE ).
- APPLY 'END' TO SELF.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Warengruppen gPreislisteKunde
- ON RIGHT-MOUSE-CLICK OF Warengruppen IN FRAME gPreislisteKunde /* Warengruppen */
- DO:
- RUN g-auswahl-wgr.w ( INPUT SELF:HANDLE ).
- APPLY 'END' TO SELF.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &UNDEFINE SELF-NAME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gPreislisteKunde
- /* *************************** Main Block *************************** */
- MaxPage = 1.
- AktSeite = 1.
- Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
- AdFirma = DYNAMIC-FUNCTION('GETADMANDANT':U) NO-ERROR.
- ProgName = ENTRY(1, THIS-PROCEDURE:FILE-NAME, '.') NO-ERROR.
- GET-KEY-VALUE SECTION 'FwSteuer' KEY 'FwSprcd' VALUE RetVal.
- IF RetVal = ? THEN RetVal = '1'.
- FwSprcd = INTEGER(RetVal) NO-ERROR.
- cPath = DYNAMIC-FUNCTION ('getFehlwert':U, Firma, 'HOGAPATH') NO-ERROR.
- SESSION:DATA-ENTRY-RETURN = TRUE.
- SUBSCRIBE TO 'TOOLBAR' ANYWHERE.
- /* TRIGGERS ------------------------------------------------------ */
- ON 'ALT-CURSOR-RIGHT':U OF FRAME {&FRAME-NAME} ANYWHERE
- DO:
- RUN NEXTPAGE.
- END.
- ON 'ALT-CURSOR-LEFT':U OF FRAME {&FRAME-NAME} ANYWHERE
- DO:
- RUN PREVPAGE.
- END.
- ON 'U1':U OF {&WINDOW-NAME} ANYWHERE
- DO:
- RUN ENTRY_CURSOR.
- END.
- /*
- ON 'PAGE-DOWN':U OF {&WINDOW-NAME} ANYWHERE
- DO:
- RUN TOOLBAR IN h_dyntoolbar ( INPUT 'Next':U ).
- END.
- ON 'PAGE-UP':U OF {&WINDOW-NAME} ANYWHERE
- DO:
- RUN TOOLBAR IN h_dyntoolbar ( INPUT 'Prev':U ).
- END.
-
- ON 'ALT-RETURN':U OF FRAME {&FRAME-NAME} ANYWHERE
- DO:
- RUN TOOLBAR IN h_dyntoolbar ( INPUT 'UPDATE':U ).
- END.
- ON 'ALT-INS':U OF FRAME {&FRAME-NAME} ANYWHERE
- DO:
- RUN TOOLBAR IN h_dyntoolbar ( INPUT 'ADD':U ).
- END.
- ON 'ALT-DEL':U OF FRAME {&FRAME-NAME} ANYWHERE
- DO:
- RUN TOOLBAR IN h_dyntoolbar ( INPUT 'DELETE':U ).
- END.
- ON 'ALT-R':U OF FRAME {&FRAME-NAME} ANYWHERE
- DO:
- RUN TOOLBAR IN h_dyntoolbar ( INPUT 'RESET':U ).
- END.
- ON 'F9':U OF FRAME {&FRAME-NAME} ANYWHERE
- DO:
- RUN TOOLBAR IN h_dyntoolbar ( INPUT 'SAVE':U ).
- END.
- ON 'ALT-S':U OF FRAME {&FRAME-NAME} ANYWHERE
- DO:
- RUN TOOLBAR IN h_dyntoolbar ( INPUT 'SAVE':U ).
- END.
- ON 'ALT-K':U OF FRAME {&FRAME-NAME} ANYWHERE
- DO:
- RUN TOOLBAR IN h_dyntoolbar ( INPUT 'COPY':U ).
- END.
- ON 'END-ERROR':U OF FRAME {&FRAME-NAME} ANYWHERE
- DO:
- FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
- IF FMutFlag = FALSE THEN DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- RUN TOOLBAR IN h_dyntoolbar ( INPUT 'CANCEL':U ).
- RETURN NO-APPLY.
- END.
- */
- /* ------------------------------------------------------------------ */
- {src/adm2/dialogmn.i}
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* ********************** Internal Procedures *********************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gPreislisteKunde _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 BEREINIGEN gPreislisteKunde
- PROCEDURE BEREINIGEN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT-OUTPUT PARAMETER ipString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ix AS INTEGER NO-UNDO.
- DEFINE VARIABLE ii AS INTEGER NO-UNDO.
- cString = ''.
- DO ix = 1 TO NUM-ENTRIES(ipString, ','):
- IF CString <> '' THEN cString = cString + ','.
- cString = cString + STRING(INTEGER(ENTRY(ix, ipString)),'999').
- END.
- ipString = cString.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE changePage gPreislisteKunde
- PROCEDURE changePage :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- /* Code placed here will execute PRIOR to standard behavior. */
- RUN SUPER.
- AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
- CASE AktSeite:
- WHEN 1 THEN
- DO:
- /* RUN addLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */
- /* RUN addLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */
- /* RUN ToolbarInit ( INPUT h_d-auftr ). */
- RUN ENTRY_CURSOR.
- END.
- WHEN 2 THEN
- DO:
- RUN ENTRY_CURSOR.
- END.
- END CASE.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gPreislisteKunde _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 gPreislisteKunde.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gPreislisteKunde
- PROCEDURE enableObject :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- RUN SUPER.
- RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR.
- RUN COMBO_HOGAGRP ( CB_Hogagrp:HANDLE ).
- cString = 'Alle Gruppen;999999;' + CB_Hogagrp:LIST-ITEM-PAIRS.
- CB_Hogagrp:LIST-ITEM-PAIRS = cString.
- RUN LESENFWAUSWERTUNGEN ( INPUT ProgName,
- INPUT FRAME {&FRAME-NAME}:CURRENT-ITERATION ).
- Preisdatum:SCREEN-VALUE IN FRAME {&FRAME-NAME} = STRING(TODAY).
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gPreislisteKunde _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 T_Kundendaten CB_Hogagrp Hersteller Warengruppen Preisdatum VonArtnr
- BisArtnr R_Preisliste T_Artikeldaten T_Preise
- WITH FRAME gPreislisteKunde.
- ENABLE T_Kundendaten CB_Hogagrp Hersteller Warengruppen Preisdatum VonArtnr
- BisArtnr R_Preisliste Btn_Excel T_Artikeldaten T_Preise RECT-37
- WITH FRAME gPreislisteKunde.
- VIEW FRAME gPreislisteKunde.
- {&OPEN-BROWSERS-IN-QUERY-gPreislisteKunde}
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gPreislisteKunde
- PROCEDURE ENDE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
- IF AktSeite > 1 THEN
- DO:
- RUN selectPage ( INPUT 1 ).
- RETURN NO-APPLY.
- END.
- MESSAGE SUBSTITUTE('Die Daten wurden in das Verzeichnis &1 exportiert', cPath)
- VIEW-AS ALERT-BOX.
- RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ).
- APPLY 'GO' TO FRAME {&FRAME-NAME}.
- RETURN NO-APPLY.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_CURSOR gPreislisteKunde
- PROCEDURE ENTRY_CURSOR :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
- CASE AktSeite:
- /* WHEN 1 THEN RUN applyEntry IN h_v-adresse ( INPUT ? ). */
- /* WHEN 2 THEN RUN applyEntry IN h_f-adrkomm ( INPUT ? ). */
- /* WHEN 3 THEN RUN applyEntry IN h_b-auftbb ( INPUT ? ). */
- /* WHEN 4 THEN RUN applyEntry IN h_b-aufdet ( INPUT ? ). */
- /* WHEN 5 THEN RUN applyEntry IN h_b-aufstreu ( INPUT ? ). */
- /* WHEN 6 THEN RUN applyEntry IN h_b-auffak ( INPUT ? ). */
- /* WHEN 7 THEN RUN applyEntry IN h_b-position ( INPUT ? ). */
- END CASE.
- RETURN NO-APPLY.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject gPreislisteKunde
- PROCEDURE exitObject :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- RUN ENDE.
- RETURN NO-APPLY.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NEXTPAGE gPreislisteKunde
- PROCEDURE NEXTPAGE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
- IF AktSeite = MaxPage THEN AktSeite = 1.
- ELSE AktSeite = AktSeite + 1.
- RUN selectPage ( INPUT AktSeite ).
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PREVPAGE gPreislisteKunde
- PROCEDURE PREVPAGE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
- IF AktSeite = 1 THEN AktSeite = MaxPage.
- ELSE AktSeite = AktSeite - 1.
- RUN selectPage ( INPUT AktSeite ).
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REPORT gPreislisteKunde
- PROCEDURE REPORT :
- /*------------------------------------------------------------------------------*/
- /* Purpose: */
- /* Parameters: <none> */
- /* Notes: */
- /*------------------------------------------------------------------------------*/
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ix AS INTEGER NO-UNDO.
- DEFINE VARIABLE ii AS INTEGER NO-UNDO.
- DEFINE VARIABLE Netto AS LOG NO-UNDO.
- DEFINE VARIABLE Alk AS CHARACTER NO-UNDO.
- DEFINE VARIABLE Preis AS CHARACTER NO-UNDO.
- DEFINE VARIABLE xWgr AS CHARACTER NO-UNDO.
- DEFINE VARIABLE xPgr AS CHARACTER NO-UNDO.
- DEFINE VARIABLE xAgr AS CHARACTER NO-UNDO.
- DEFINE VARIABLE xHer AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cDel AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cGeb AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cGebInhalt AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cGebBez AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cHeadImport AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cHeadCustomer AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cHeadCategories AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cHeadPrices AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cHeadSelling AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cHeadOrder AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cKatId AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cPreisGrp AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ja AS LOG NO-UNDO.
- DEFINE VARIABLE excelAppl AS COMPONENT-HANDLE NO-UNDO.
- DEFINE VARIABLE Vorlage AS CHARACTER NO-UNDO.
- DEFINE VARIABLE Dokument AS CHARACTER NO-UNDO.
- DEFINE VARIABLE Daten AS CHARACTER NO-UNDO.
- DEFINE VARIABLE Zelle AS CHARACTER NO-UNDO.
- DEFINE VARIABLE Zeile AS INTEGER NO-UNDO.
- cHeadImport = 'Name in DE&1Name in FR&1Name in IT&1Name in EN&1Supplier s Product ID&1Pre supplier&1EAN Codes&1Currency&1Not in use 9&1Not in use 10&1Category&1Base unit&1Price per base unit&1Quantity per selling unit&1Sale price per base unit&1'
- + 'Not in use 16&1Sale valid to&1Product type&1Packing size&1Selling unit name&1Not in use 21&1Not in use 22&1Not in use 23&1Not in use 24&1Netto weight&1Dry weight&1Not in use 27&1Recipe unit&1Available&1Delete&1HTML DE&1Not in use 32&1'
- + 'Image&1Sale valid from&1Novelty&1Novelty valid to&1New price&1Price valid to&1Not in use 39&1Last order time&1Amount of preparation days&1Not in use 42&1HTML EN&1HTML FR&1HTML IT&1Attachments DE&1Attachments EN&1Attachments FR&1Attachments IT&1'
- + 'Stock amount&1Recommended retail price&1Minimal stock amount&1Not in use 53&1Product without price&1Price valid from&1Attributes&1VAT Data&1pool ID&1Services&1Consumer unit&1Consumer units per base&1unitProduct_DE;Product_FR;Product_IT;Product_EN'.
- cHeadCustomer = 'Customer_Id&1Manual_Id&1Group_Id&1Minimal_amount&1Shipping_price'.
- cHeadCategories = 'Category Id&1Parent Id&1Name De&1Name Fr&1Name It&1Name En'.
- cHeadPrices = 'Supplier Product ID&1Price group&1Base price&1Valid from&1Valid to&1Type&1Minimal amount'.
- cHeadSelling = 'Article Number&1Code&1Quantity&1Is Default'.
- cHeadOrder = 'Feld1&1Feld2&1Feld3&1Feld4&1Feld5&1Feld6&1Feld7&1Feld8&1Feld9&1Feld10&1Feld11&1Feld12'.
- cDel = CHR(09).
- DO WITH FRAME {&FRAME-NAME}:
- ASSIGN {&List-6}.
- IF VonArtnr = 0 AND BisArtnr = 0 THEN BisArtnr = 999999.
- IF BisArtnr < VonArtnr THEN BisArtnr = VonArtnr.
- IF PreisDatum = ? THEN Preisdatum = TODAY.
- RUN BEREINIGEN ( INPUT-OUTPUT Hersteller ).
- RUN BEREINIGEN ( INPUT-OUTPUT Warengruppen ).
- iVerband = INTEGER(CB_Hogagrp:SCREEN-VALUE).
- DISPLAY {&List-6}.
- END.
- RUN SCHREIBENFWAUSWERTUNGEN ( INPUT ProgName,
- INPUT FRAME {&FRAME-NAME}:CURRENT-ITERATION ).
- RUN SELEKTION.
- FIND FIRST tArtikel NO-LOCK NO-ERROR.
- IF NOT AVAILABLE tArtikel THEN RETURN.
-
- /* OUTPUT TO 'C:\LogFiles\Hogalog_Preise.csv'.*/
- /* FOR EACH tPreise: */
- /* EXPORT DELIMITER ';' tPreise. */
- /* END. */
- /* OUTPUT CLOSE. */
-
- IF T_Artikeldaten THEN
- DO:
- cDateiName = SUBSTITUTE('&1categories.csv', cPath).
- OUTPUT TO VALUE(cDateiName) NO-MAP NO-CONVERT.
- PUT CONTROL SUBSTITUTE(cHeadCategories, cDel) CHR(10).
- PUT CONTROL SUBSTITUTE('0000&1&1Beverages', cDel) CHR(10).
-
- /* ------------------------------------------------------ */
- /* Kategorien (Warengruppe, Produktegruppe, Artikelgruppe */
- /* ------------------------------------------------------ */
- FOR EACH WarenGrp NO-LOCK
- WHERE WarenGrp.Firma = Firma
- /* AND WarenGrp.Bez1 <> '' */
- /* AND WarenGrp.Bez1 <> '-0-'*/
- :
-
- FIND FIRST tArtikel NO-LOCK
- WHERE tArtikel.Wg_Grp = WarenGrp.Wgr NO-ERROR.
- IF NOT AVAILABLE tArtikel THEN NEXT.
-
- PUT CONTROL SUBSTITUTE('&2&1&3&1&4&1&5&1&6&1&7',
- cDel,
- STRING(WarenGrp.Wgr,'9999'),
- '0000',
- WarenGrp.Bez1, /* Deutsch */
- '', /* Französisch */
- '', /* Italienisch */
- '') /* Englisch */
- CHR(10).
-
- FOR EACH ProdGrp NO-LOCK
- WHERE ProdGrp.Firma = WarenGrp.Firma
- AND ProdGrp.Wgr = WarenGrp.Wgr
- AND ProdGrp.Bez1 <> ''
- AND ProdGrp.Bez1 <> '-0-':
-
- FIND FIRST tArtikel NO-LOCK
- WHERE tArtikel.Wg_Grp = ProdGrp.Wgr
- AND tArtikel.Prod_Grp = ProdGrp.Prod_Grp NO-ERROR.
- IF NOT AVAILABLE tArtikel THEN NEXT.
-
- PUT CONTROL SUBSTITUTE('&2&1&3&1&4&1&5&1&6&1&7',
- cDel,
- STRING(ProdGrp.Wgr,'9999') + STRING(ProdGrp.Prod_Grp,'9999'),
- STRING(ProdGrp.Wgr,'9999'),
- ProdGrp.Bez1, /* Deutsch */
- '', /* Französisch */
- '', /* Italienisch */
- '') /* Englisch */
- CHR(10).
-
- FOR EACH ArtikGrp NO-LOCK
- WHERE ArtikGrp.Firma = ProdGrp.Firma
- AND ArtikGrp.Wgr = ProdGrp.Wgr
- AND ArtikGrp.Prod_Grp = ProdGrp.Prod_Grp
- AND ArtikGrp.Bez1 <> ''
- AND ArtikGrp.Bez1 <> '-0-':
-
- FIND FIRST tArtikel NO-LOCK
- WHERE tArtikel.Wg_Grp = ArtikGrp.Wgr
- AND tArtikel.Prod_Grp = ArtikGrp.Prod_Grp
- AND tArtikel.Art_Grp = ArtikGrp.Art_Grp NO-ERROR.
- IF NOT AVAILABLE tArtikel THEN NEXT.
-
- PUT CONTROL SUBSTITUTE('&2&1&3&1&4&1&5&1&6&1&7',
- cDel,
- STRING(ArtikGrp.Wgr,'9999') + STRING(ArtikGrp.Prod_Grp,'9999') + STRING(ArtikGrp.Art_Grp ,'9999'),
- STRING(ArtikGrp.Wgr,'9999') + STRING(ArtikGrp.Prod_Grp,'9999'),
- ArtikGrp.Bez1, /* Deutsch */
- '', /* Französisch */
- '', /* Italienisch */
- '') /* Englisch */
- CHR(10).
-
- CREATE tCategory.
- ASSIGN
- tCategory.cWarenGrp = STRING(WarenGrp.Wgr ,'9999')
- tCategory.cProdGrp = STRING(ProdGrp.Prod_Grp,'9999')
- tCategory.cArtGrp = STRING(ArtikGrp.Art_Grp,'9999')
- tCategory.cKatId = tCategory.cWarenGrp
- + tCategory.cProdGrp
- + tCategory.cArtGrp.
- END.
- END.
- END.
- OUTPUT CLOSE.
- END.
- /* ------------------------------------------------------ */
- /* Kleingebinde und Verkaufsgebinde */
- /* ------------------------------------------------------ */
- IF T_Artikeldaten THEN
- DO:
- cDateiName = SUBSTITUTE('&1Selling_units.csv', cPath).
- OUTPUT TO VALUE(cDateiName) NO-MAP NO-CONVERT.
- PUT CONTROL SUBSTITUTE(cHeadSelling, cDel) CHR(10).
-
- FOR EACH tArtikel:
- FIND WarenGrp NO-LOCK
- WHERE WarenGrp.Firma = Firma
- AND WarenGrp.Wgr = tArtikel.Wg_Grp NO-ERROR.
-
- PUT CONTROL
- STRING(tArtikel.Artnr ,'999999')
- STRING(tArtikel.Inhalt,'9999')
- STRING(tArtikel.Jahr ,'9999') cDel
- tArtikel.VGebinde cDel
- tArtikel.VGeb_Inhalt cDel
- STRING(TRUE)
- CHR(10).
- IF WarenGrp.Int_2 = 0 THEN NEXT.
-
- DYNAMIC-FUNCTION('getVGebinde':U, VGebinde.Geb_Cd, OUTPUT cVGebinde, OUTPUT iVGebInhalt).
- PUT CONTROL
- STRING(tArtikel.Artnr ,'999999')
- STRING(tArtikel.Inhalt,'9999')
- STRING(tArtikel.Jahr ,'9999') cDel
- tArtikel.KGebinde cDel
- tArtikel.KGeb_Inhalt cDel
- STRING(FALSE)
- CHR(10).
- END.
- OUTPUT CLOSE.
- END.
-
- /* ------------------------------------------------------ */
- /* Artikel-Liste */
- /* ------------------------------------------------------ */
- IF T_Artikeldaten THEN
- DO:
- cDateiName = SUBSTITUTE('&1ImportListe.csv', cPath).
- OUTPUT TO Value(cDateiName) NO-MAP NO-CONVERT.
- PUT CONTROL SUBSTITUTE(cHeadImport, CHR(09)) CHR(10).
-
- FOR EACH tArtikel USE-INDEX tArtikel-k1 NO-LOCK
- BREAK
- BY tArtikel.Wg_Grp
- BY tArtikel.Prod_Grp
- BY tArtikel.Art_Grp
- BY tArtikel.Artnr
- BY tArtikel.Inhalt
- BY tArtikel.Jahr :
-
- IF NOT FIRST-OF ( tArtikel.Jahr ) THEN NEXT.
-
- cKatId = STRING(tArtikel.Wg_Grp,'9999')
- + STRING(tArtikel.Prod_Grp ,'9999')
- + STRING(tArtikel.Art_Grp ,'9999').
- FIND FIRST tCategory NO-LOCK
- WHERE tCategory.cKatId = cKatId NO-ERROR.
- IF NOT AVAILABLE tCategory THEN NEXT.
- FIND WarenGrp NO-LOCK
- WHERE WarenGrp.Firma = Firma
- AND WarenGrp.Wgr = tArtikel.Wg_Grp NO-ERROR.
-
- IF FIRST-OF ( tArtikel.Wg_Grp) THEN
- DO:
- RUN FIND_WARENGRP ( INPUT tArtikel.Wg_Grp, OUTPUT cString ).
- IF cString <> '?' AND
- cString <> '' THEN xWgr = ENTRY(2, cString, CHR(01)).
- ELSE xWgr = ''.
- xWgr = 'Beverages'.
- END.
- IF FIRST-OF ( tArtikel.Prod_Grp) THEN
- DO:
- RUN FIND_PRODGRP ( INPUT tArtikel.Wg_Grp,
- INPUT tArtikel.Prod_Grp, OUTPUT cString ).
- IF cString <> '?' AND
- cString <> '' THEN xPgr = ENTRY(2, cString, CHR(01)).
- ELSE xPgr = ''.
- END.
- IF FIRST-OF ( tArtikel.Art_Grp) THEN
- DO:
- RUN FIND_ARTIKGRP ( INPUT tArtikel.Wg_Grp,
- INPUT tArtikel.Prod_Grp,
- INPUT tArtikel.Art_Grp, OUTPUT cString ).
- IF cString <> '?' AND
- cString <> '' THEN xAgr = ENTRY(2, cString, CHR(01)).
- ELSE xAgr = ''.
- END.
- RUN FIND_HERSTELLER ( INPUT tArtikel.Herst, OUTPUT cString ).
- IF cString <> '?' AND
- cString <> '' THEN xHer = ENTRY(2, cString, CHR(01)).
- ELSE xHer = ''.
- PUT CONTROL
- tArtikel.Bez1 ' ' tArtikel.Bez2 cDel /* 01 */
- tArtikel.Bez1 ' ' tArtikel.Bez2 cDel /* 02 */
- tArtikel.Bez1 ' ' tArtikel.Bez2 cDel /* 03 */
- tArtikel.Bez1 ' ' tArtikel.Bez2 cDel /* 04 */
- STRING(tArtikel.Artnr ,'999999')
- STRING(tArtikel.Inhalt,'9999')
- STRING(tArtikel.Jahr ,'9999') cDel /* 05 */
- xHer cDel /* 06 */
- tArtikel.cEAN cDel /* 07 */
- 'CHF' cDel /* 08 */
- '' cDel /* 09 */
- '' cDel /* 10 */
- STRING(tArtikel.Wg_Grp ,'9999')
- STRING(tArtikel.Prod_Grp,'9999')
- STRING(tArtikel.Art_Grp ,'9999') cDel /* 11 */
- tArtikel.KGebinde cDel /* 12 */
- '#' cDel /* 13 */
- (IF WarenGrp.Int_2 = 1 THEN 1 ELSE tArtikel.VGeb_Inhalt) cDel /* 14 */
- '#' cDel /* 15 */
- '' cDel /* 16 */
- '#' cDel /* 17 */
- '3' cDel /* 18 */
- tArtikel.VGeb_Inhalt cDel /* 19 */
- tArtikel.VGebinde cDel /* 20 */
- '' cDel /* 21 */
- '' cDel /* 22 */
- '' cDel /* 23 */
- '' cDel /* 24 */
- '' cDel /* 25 */
- '' cDel /* 26 */
- '' cDel /* 27 */
- '' cDel /* 28 */
- '1' cDel /* 29 */
- (IF tArtikel.Aktiv AND tArtikel.Ausverk < 9 THEN '0' ELSE '1') cDel /* 30 */
- '' cDel /* 31 */
- '0' cDel /* 32 */
- tArtikel.cBildLink cDel /* 33 */
- '#' cDel /* 34 */
- '' cDel /* 35 */
- '' cDel /* 36 */
- '#' cDel /* 37 */
- '' cDel /* 38 */
- '' cDel /* 39 */
- '' cDel /* 40 */
- '' cDel /* 41 */
- '' cDel /* 42 */
- '' cDel /* 43 */
- '' cDel /* 44 */
- '' cDel /* 45 */
- '' cDel /* 46 */
- '' cDel /* 47 */
- '' cDel /* 48 */
- '' cDel /* 49 */
- '' cDel /* 50 */
- '#' cDel /* 51 */
- '' cDel /* 52 */
- '' cDel /* 53 */
- '0' cDel /* 54 */
- '#' cDel /* 55 */
- '' cDel /* 56 */
- '' cDel /* 57 */
- '' cDel /* 58 */
- '' cDel /* 59 */
- '' cDel /* 60 */
- '' cDel /* 61 */
- CHR(10).
- END.
- OUTPUT CLOSE.
- END.
- /* ------------------------------------------------------ */
- /* Kunden */
- /* ------------------------------------------------------ */
- IF T_Kundendaten THEN
- DO:
- cDateiName = SUBSTITUTE('&1customer_assign.csv', cPath).
- OUTPUT TO VALUE(cDateiName) NO-MAP NO-CONVERT.
- PUT CONTROL SUBSTITUTE(cHeadCustomer, CHR(09)) CHR(10).
-
- FOR EACH tDebitor:
- PUT CONTROL
- tDebitor.FremdKnr cDel
- TRIM(STRING(tDebitor.Knr,'>>>>>9')) cDel
- tDebitor.cGruppe cDel
- '0' cDel
- '0' CHR(10).
- END.
- OUTPUT CLOSE.
- END.
-
- /* ------------------------------------------------------ */
- /* Preise pro Preisgruppe (eigentlich pro Kunde) */
- /* ------------------------------------------------------ */
- IF T_Preise THEN
- DO:
- cDateiName = SUBSTITUTE('&1prices.csv', cPath).
- OUTPUT TO VALUE(cDateiName) NO-MAP NO-CONVERT.
- PUT CONTROL SUBSTITUTE(cHeadPrices, CHR(09)) CHR(10).
- FOR EACH tPreise
- BREAK
- BY tPreise.Preis_Grp
- BY tPreise.Artnr
- BY tPreise.Inhalt
- BY tPreise.Jahr
- BY tPreise.Knr :
-
- IF FIRST-OF (tPreise.Preis_Grp) THEN
- DO:
- cPreisGrp = STRING(tPreise.Preis_Grp,'999').
- RUN FIND_PREISGRUPPE ( INPUT Debst.Preis_Grp, OUTPUT cString ).
- IF cString = '' THEN inkl = FALSE.
- ELSE
- DO:
- IF INTEGER(ENTRY(3, cString, CHR(01))) = 1 THEN inkl = TRUE.
- ELSE inkl = FALSE.
- cPreisGrp = ENTRY(2, cString, CHR(01)).
- END.
- END.
-
- PUT CONTROL
- STRING(tPreise.Artnr ,'999999')
- STRING(tPreise.Inhalt,'9999')
- STRING(tPreise.Jahr ,'9999') cDel
- (IF tPreise.Knr = 0 THEN cPreisGrp ELSE STRING(tPreise.Knr,'999999')) cDel
- TRIM(STRING(tPreise.Preis,'>>>9.99')) cDel
- STRING(tPreise.ab_Datum,'99.99.9999') cDel
- (IF tPreise.bis_Datum <> ? THEN STRING(tPreise.bis_Datum,'99.99.9999') ELSE '') cDel
- STRING(tPreise.lAktion,'1/0') cDel
- '0' CHR(10).
- END.
- OUTPUT CLOSE.
- END.
- /* ------------------------------------------------------ */
- /* Favoriten/Berstellvorschlag */
- /* ------------------------------------------------------ */
- /* IF T_Kundendaten THEN*/
- /* DO: */
- cDateiName = SUBSTITUTE('&1ImportOrderList.csv', cPath).
- OUTPUT TO VALUE(cDateiName) NO-MAP NO-CONVERT.
- PUT CONTROL SUBSTITUTE(cHeadOrder, CHR(09)) CHR(10).
-
- FOR EACH tOrder:
- PUT CONTROL
- TRIM(STRING(tOrder.iKnr,'>>>>>9')) cDel
- TRIM(STRING(tOrder.iSupplierList,'>9')) cDel
- tOrder.cName cDel
- tOrder.cArtnr cDel
- TRIM(STRING(tOrder.iDelProd,'>9')) cDel
- TRIM(STRING(tOrder.iDelList,'>9')) cDel
- '0' cDel
- TRIM(STRING(tOrder.iPos,'>>>9')) cDel
- tOrder.cGroup cDel
- '' cDel
- '0' cDel
- '' CHR(10).
- END.
- OUTPUT CLOSE.
- /* END.*/
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE selectPage gPreislisteKunde
- PROCEDURE selectPage :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER piPageNum AS INTEGER NO-UNDO.
- DEFINE VARIABLE FMutFlag AS LOG NO-UNDO.
- DEFINE VARIABLE MutProg AS CHARACTER NO-UNDO.
- FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
- DO WHILE TRUE:
- IF NOT FMutFlag THEN LEAVE.
- MutProg = DYNAMIC-FUNCTION('GETMUTPROG':U).
- IF MutProg <> THIS-PROCEDURE:FILE-NAME THEN LEAVE.
- RETURN NO-APPLY.
- END.
- CASE piPageNum:
- END CASE.
- AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
- CASE AktSeite:
- WHEN 1 THEN
- DO:
- /* RUN removeLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */
- /* RUN removeLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */
- END.
- END CASE.
- RUN SUPER( INPUT piPageNum).
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SELEKTION gPreislisteKunde
- PROCEDURE SELEKTION :
- /*------------------------------------------------------------------------------*/
- /* Purpose: */
- /* Parameters: <none> */
- /* Notes: */
- /*------------------------------------------------------------------------------*/
- DEFINE VARIABLE Sprcd AS INTEGER NO-UNDO.
- DEFINE VARIABLE FwPreis_Grp AS INTEGER NO-UNDO.
- DEFINE VARIABLE NoPreis_Grp AS INTEGER NO-UNDO.
- DEFINE VARIABLE AbPreis_Grp AS INTEGER NO-UNDO.
- DEFINE VARIABLE Preis_Grp AS INTEGER NO-UNDO.
- DEFINE VARIABLE Zei_Rab_Art AS INTEGER NO-UNDO.
- DEFINE VARIABLE Zei_Rab_Wert AS DECIMAL DECIMALS 3 NO-UNDO.
- DEFINE VARIABLE Preis AS DECIMAL DECIMALS 4 NO-UNDO.
- DEFINE VARIABLE RabAr AS INTEGER NO-UNDO.
- DEFINE VARIABLE RabPr AS DECIMAL DECIMALS 3 NO-UNDO.
- DEFINE VARIABLE RabFr AS DECIMAL DECIMALS 3 NO-UNDO.
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE FAbweich AS LOG NO-UNDO.
- DEFINE VARIABLE FSpezPreis AS INTEGER NO-UNDO.
- DEFINE VARIABLE NettoRab AS INTEGER NO-UNDO.
- DEFINE VARIABLE FwPreisGrp AS INTEGER NO-UNDO.
- DEFINE VARIABLE iNummer AS INTEGER NO-UNDO.
- DEFINE VARIABLE lRetVal AS LOGICAL NO-UNDO.
- DEFINE VARIABLE lPreisgrp AS LOGICAL NO-UNDO.
- DEFINE VARIABLE cVerband AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cPreisGrp AS CHARACTER NO-UNDO.
- DEFINE VARIABLE rbas_tPreise AS RECID NO-UNDO.
- DEFINE VARIABLE rakt_tPreise AS RECID NO-UNDO.
- Sprcd = 1.
- FwPreis_Grp = DYNAMIC-FUNCTION('GETFWPREISGRP':U) NO-ERROR.
- NettoRab = DYNAMIC-FUNCTION('GETFWNETTORAB':U) NO-ERROR.
- EMPTY TEMP-TABLE tDebitor .
- EMPTY TEMP-TABLE tArtikel .
- EMPTY TEMP-TABLE tArtikGrp.
- EMPTY TEMP-TABLE tOrder .
- FIND Steuer NO-LOCK
- WHERE Steuer.Firma = Firma NO-ERROR.
- FwPreisGrp = Steuer.Fwi14.
- FOR EACH Artst NO-LOCK USE-INDEX Artst-k1
- WHERE Artst.Firma = Firma
- AND Artst.Artnr >= VonArtnr
- AND Artst.Artnr <= BisArtnr
- AND Artst.eShop = TRUE
- AND ((R_Preisliste = 1) OR
- (R_Preisliste = 2 AND
- Artst.Preisliste = TRUE) OR
- (R_Preisliste = 3 AND
- Artst.Preisliste = FALSE))
- AND ((Warengruppen = '') OR
- (Warengruppen <> '' AND
- LOOKUP(STRING(Artst.Wg_Grp,"999"), Warengruppen, ',') > 0))
- AND ((Hersteller = '') OR
- (Hersteller <> '' AND
- LOOKUP(STRING(Artst.Herst,"999"), Hersteller , ',') > 0))
- AND Artst.Aktiv = TRUE
- AND Artst.Ausverk < 9
- ,
- FIRST Artbez NO-LOCK OF Artst:
-
- IF Artbez.Bez1 = '' AND
- Artst.Bez = '' THEN NEXT.
- lRetVal = DYNAMIC-FUNCTION ('getVGebinde':U, Artst.VGeb_Cd, OUTPUT cVGebinde, OUTPUT iVGebInhalt) NO-ERROR.
- IF NOT lRetVal THEN NEXT.
- IF iVGebInhalt = 0 THEN NEXT.
-
- lRetVal = DYNAMIC-FUNCTION ('getKGebinde':U, Artst.KGeb_Cd, OUTPUT cKGebinde, OUTPUT iKGebInhalt) NO-ERROR.
- IF NOT lRetVal THEN NEXT.
- IF iKGebInhalt = 0 THEN NEXT.
-
- CREATE tArtikel.
- BUFFER-COPY Artst TO tArtikel
- ASSIGN
- tArtikel.Bez1 = Artbez.Bez1
- tArtikel.Bez2 = Artbez.Bez2
- tArtikel.KGebinde = cKGebinde
- tArtikel.KGeb_Inhalt = iKGebInhalt
- tArtikel.VGebinde = cVGebinde
- tArtikel.VGeb_Inhalt = iVGebInhalt.
- IF tArtikel.Bez1 = '' THEN tArtikel.Bez1 = Artst.Bez.
- FIND FIRST ArtLief NO-LOCK
- WHERE ArtLief.Firma = Artst.Firma
- AND ArtLief.Artnr = Artst.Artnr
- AND ArtLief.Inhalt = Artst.Inhalt
- AND ArtLief.Jahr = Artst.Jahr
- AND ArtLief.Strichcode_KGeb <> '' NO-ERROR.
- IF AVAILABLE ArtLief THEN tArtikel.cEAN = ArtLief.Strichcode_KGeb.
- IF tArtikel.cEAN <> '' THEN tArtikel.cBildLink = SUBSTITUTE('https://produkte.huber-getraenke.ch/&1_1.png', tArtikel.cEAN).
- END.
- FOR EACH WarenGrp NO-LOCK
- WHERE WarenGrp.Firma = Firma,
-
- EACH ProdGrp OF WarenGrp NO-LOCK,
-
- EACH ArtikGrp OF ProdGrp NO-LOCK:
-
- FIND FIRST tArtikel
- WHERE tArtikel.Wg_Grp = ArtikGrp.Wgr
- AND tArtikel.Prod_Grp = ArtikGrp.Prod_Grp
- AND tArtikel.Art_Grp = ArtikGrp.Art_Grp NO-ERROR.
- IF NOT AVAILABLE tArtikel THEN NEXT.
-
- IF ProdGrp.Bez1 = '' THEN NEXT.
- IF ProdGrp.Bez1 = '-0-' THEN NEXT.
- iNummer = INTEGER(ProdGrp.Bez1) NO-ERROR.
- IF NOT ERROR-STATUS:ERROR THEN NEXT.
- IF iNummer = 0 THEN NEXT.
- CREATE tArtikGrp.
- BUFFER-COPY ArtikGrp TO tArtikGrp
- ASSIGN
- tArtikGrp.Dec_1 = 0
- tArtikGrp.cWgr = WarenGrp.Bez1
- tArtikGrp.cPgr = ProdGrp.Bez1.
- END.
- EMPTY TEMP-TABLE tPreise.
-
- FOR EACH Tabel NO-LOCK
- WHERE Tabel.Firma = Firma
- AND Tabel.Recart = 'HOGAUSER'
- AND Tabel.Sprcd = 1
- AND Tabel.Int_1 > 0
- AND Tabel.Flag_1 = TRUE
- AND ((iVerband = 999999)
- OR (iVerband <> 999999 AND
- Tabel.CodeC = STRING(iVerband,'999999'))
- ),
-
- FIRST Debst NO-LOCK
- WHERE Debst.Firma = Firma
- AND Debst.Knr = Tabel.Int_1
- AND Debst.Aktiv = TRUE
- :
- RUN FIND_PREISGRUPPE ( INPUT Debst.Preis_Grp, OUTPUT cString ).
- IF cString = '' THEN inkl = FALSE.
- ELSE
- DO:
- IF INTEGER(ENTRY(3, cString, CHR(01))) = 1 THEN inkl = TRUE.
- ELSE inkl = FALSE.
- END.
- cPreisGrp = ENTRY(2, cString, CHR(01)).
- lPreisGrp = FALSE.
- CREATE tDebitor.
- ASSIGN
- tDebitor.Knr = Debst.Knr
- tDebitor.FremdKnr = STRING(Tabel.Int_2,'>>>>>>>>>')
- tDebitor.cGruppe = cPreisGrp.
-
- FOR EACH tArtikel:
- FIND KGebinde NO-LOCK
- WHERE KGebinde.Firma = Firma
- AND KGebinde.Geb_Cd = tArtikel.KGeb_Cd NO-ERROR.
-
- FIND LAST ArtPreis NO-LOCK
- WHERE ArtPreis.Firma = Firma
- AND ArtPreis.Artnr = tArtikel.Artnr
- AND ArtPreis.Inhalt = tArtikel.Inhalt
- AND ArtPreis.Jahr = tArtikel.Jahr
- AND ArtPreis.Preis_Grp = Debst.Preis_Grp
- AND ArtPreis.Ab_Datum <= PreisDatum
- AND ArtPreis.Aktion = FALSE NO-ERROR.
- IF NOT AVAILABLE ArtPreis THEN
- DO:
- DELETE tArtikel.
- NEXT.
- END.
-
- rbas_tPreise = ?.
- rakt_tPreise = ?.
- FIND FIRST tPreise NO-LOCK
- WHERE tPreise.Artnr = tArtikel.Artnr
- AND tPreise.Inhalt = tArtikel.Inhalt
- AND tPreise.Jahr = tArtikel.Jahr
- AND tPreise.Knr = 0
- AND tPreise.Preis_Grp = Debst.Preis_Grp
- AND tPreise.lAktion = FALSE NO-ERROR.
- IF NOT AVAILABLE tPreise THEN
- DO:
- CREATE tPreise.
- ASSIGN
- tPreise.Artnr = tArtikel.Artnr
- tPreise.Inhalt = tArtikel.Inhalt
- tPreise.Jahr = tArtikel.Jahr
- tPreise.Knr = 0
- tPreise.Preis_Grp = Debst.Preis_Grp
- tPreise.lAktion = FALSE
- tPreise.Preis = (IF inkl THEN ArtPreis.VK_Brutto ELSE ArtPreis.VK_Netto)
- tPreise.ab_Datum = ArtPreis.Ab_Datum
- tPreise.bis_Datum = ?.
- END.
-
- rbas_tPreise = RECID(tPreise).
- Preis = tPreise.Preis.
-
- FIND LAST AktPreis NO-LOCK
- WHERE AktPreis.Firma = Firma
- AND AktPreis.Artnr = tArtikel.Artnr
- AND AktPreis.Inhalt = tArtikel.Inhalt
- AND AktPreis.Jahr = tArtikel.Jahr
- AND AktPreis.Grp = Debst.Preis_Grp
- AND AktPreis.Ab_Datum <= PreisDatum
- AND AktPreis.Bis_Datum >= PreisDatum NO-ERROR.
- IF AVAILABLE AktPreis THEN
- DO:
- FIND FIRST tPreise NO-LOCK
- WHERE tPreise.Artnr = tArtikel.Artnr
- AND tPreise.Inhalt = tArtikel.Inhalt
- AND tPreise.Jahr = tArtikel.Jahr
- AND tPreise.Knr = 0
- AND tPreise.Preis_Grp = Debst.Preis_Grp
- AND tPreise.lAktion = TRUE NO-ERROR.
- IF NOT AVAILABLE tPreise THEN
- DO:
- CREATE tPreise.
- ASSIGN
- tPreise.Artnr = tArtikel.Artnr
- tPreise.Inhalt = tArtikel.Inhalt
- tPreise.Jahr = tArtikel.Jahr
- tPreise.Knr = 0
- tPreise.Preis_Grp = Debst.Preis_Grp
- tPreise.lAktion = TRUE
- tPreise.ab_Datum = AktPreis.Ab_Datum
- tPreise.bis_Datum = AktPreis.Bis_Datum.
-
- CASE AktPreis.Art:
- WHEN 0 THEN
- tPreise.Preis = Preis - AktPreis.Wert.
- WHEN 1 THEN
- tPreise.Preis = (Preis * (100 - AktPreis.Wert) / 100).
- END CASE.
- END.
- rakt_tPreise = RECID(tPreise).
- END.
- RELEASE bas_tPreise.
- RELEASE akt_tPreise.
-
- IF rbas_tPreise <> ? THEN FIND bas_tPreise NO-LOCK WHERE RECID(bas_tPreise) = rbas_tPreise.
- IF rakt_tPreise <> ? THEN FIND akt_tPreise NO-LOCK WHERE RECID(akt_tPreise) = rakt_tPreise.
-
- EMPTY TEMP-TABLE tAufze.
- CREATE tAufze.
- ASSIGN
- tAufze.Firma = Firma
- tAufze.Knr = Debst.Knr
- tAufze.Artnr = tArtikel.Artnr
- tAufze.Inhalt = tArtikel.Inhalt
- tAufze.Jahr = tArtikel.Jahr
- tAufze.iStatus = 0
- tAufze.VGeb_Be = 1
- tAufze.KGeb_Be = VGebinde.Inhalt
- tAufze.MBest = tAufze.KGeb_Be
- tAufze.MGeli = tAufze.KGeb_Be
- tAufze.VGeb_Me = 1
- tAufze.KGeb_Me = VGebinde.Inhalt
- tAufze.Datum = bas_tPreise.ab_Datum + 1.
- .
- DYNAMIC-FUNCTION ('fillAufze':U, INPUT-OUTPUT htAufze) NO-ERROR.
- FIND FIRST tAufze.
- PreisArt = DYNAMIC-FUNCTION ('getPreisAufze':U, INPUT-OUTPUT htAufze) NO-ERROR.
- FIND FIRST tAufze.
-
- IF tAufze.Preis <> bas_tPreise.Preis AND
- PreisArt >= 0 THEN
- DO:
- CREATE tPreise.
- ASSIGN
- tPreise.Artnr = tArtikel.Artnr
- tPreise.Inhalt = tArtikel.Inhalt
- tPreise.Jahr = tArtikel.Jahr
- tPreise.Knr = Debst.Knr
- tPreise.Preis_Grp = Debst.Preis_Grp
- tPreise.lAktion = FALSE
- tPreise.ab_Datum = tAufze.Datum
- tPreise.bis_Datum = ?
- tPreise.Preis = tAufze.Preis.
- IF NOT lPreisGrp THEN
- DO:
- tDebitor.cGruppe = tDebitor.cGruppe + ',' + string(Debst.Knr,'999999').
- lPreisGrp = TRUE.
- END.
- END.
-
- IF NOT AVAILABLE akt_tPreise THEN NEXT.
-
- EMPTY TEMP-TABLE tAufze.
- CREATE tAufze.
- ASSIGN
- tAufze.Firma = Firma
- tAufze.Knr = Debst.Knr
- tAufze.Artnr = tArtikel.Artnr
- tAufze.Inhalt = tArtikel.Inhalt
- tAufze.Jahr = tArtikel.Jahr
- tAufze.iStatus = 0
- tAufze.VGeb_Be = 1
- tAufze.KGeb_Be = VGebinde.Inhalt
- tAufze.MBest = tAufze.KGeb_Be
- tAufze.MGeli = tAufze.KGeb_Be
- tAufze.VGeb_Me = 1
- tAufze.KGeb_Me = VGebinde.Inhalt
- tAufze.Datum = akt_tPreise.ab_Datum + 1.
- .
- DYNAMIC-FUNCTION ('fillAufze':U, INPUT-OUTPUT htAufze) NO-ERROR.
- FIND FIRST tAufze.
- PreisArt = DYNAMIC-FUNCTION ('getPreisAufze':U, INPUT-OUTPUT htAufze) NO-ERROR.
- FIND FIRST tAufze.
-
- IF tAufze.Preis <> akt_tPreise.Preis AND
- PreisArt >= 5 AND
- PreisArt <= 6 THEN
- DO:
- CREATE tPreise.
- ASSIGN
- tPreise.Artnr = tArtikel.Artnr
- tPreise.Inhalt = tArtikel.Inhalt
- tPreise.Jahr = tArtikel.Jahr
- tPreise.Knr = Debst.Knr
- tPreise.Preis_Grp = Debst.Preis_Grp
- tPreise.lAktion = TRUE
- tPreise.ab_Datum = akt_tPreise.ab_Datum
- tPreise.bis_Datum = akt_tPreise.bis_Datum
- tPreise.Preis = tAufze.Preis.
- IF NOT lPreisGrp THEN
- DO:
- tDebitor.cGruppe = tDebitor.cGruppe + ',' + string(Debst.Knr,'999999').
- lPreisGrp = TRUE.
- END.
- END.
- END.
- END.
-
- FOR EACH tDebitor:
- FOR EACH KunBest NO-LOCK
- WHERE KunBest.Firma = Firma
- AND KunBest.Knr = tDebitor.Knr:
-
- FIND Artst NO-LOCK OF KunBest NO-ERROR.
- IF NOT AVAILABLE Artst THEN NEXT.
-
- FIND FIRST tArtikel USE-INDEX tArtikel-k2
- WHERE tArtikel.Artnr = Artst.Artnr
- AND tArtikel.Inhalt = Artst.Inhalt
- AND tArtikel.Jahr = Artst.Jahr NO-ERROR.
- IF NOT AVAILABLE tArtikel THEN NEXT.
-
- CREATE tOrder.
- ASSIGN
- tOrder.iKnr = KunBest.Knr
- tOrder.iPos = KunBest.Pos
- tOrder.cArtnr = STRING(KunBest.Artnr ,'999999')
- + STRING(KunBest.Inhalt,'9999')
- + STRING(KunBest.Jahr ,'9999')
- tOrder.cGroup = STRING(Artst.Wg_Grp ,'9999')
- + STRING(Artst.Prod_Grp,'9999')
- + STRING(Artst.Art_Grp ,'9999')
- tOrder.iDelProd = (IF Artst.Aktiv AND Artst.Ausverk < 9 THEN 0 ELSE 1)
- tOrder.cName = 'Favoriten'.
- .
- EMPTY TEMP-TABLE tAufze.
- CREATE tAufze.
- ASSIGN
- tAufze.Firma = Firma
- tAufze.Knr = KunBest.Knr
- tAufze.Artnr = Artst.Artnr
- tAufze.Inhalt = Artst.Inhalt
- tAufze.Jahr = Artst.Jahr
- tAufze.iStatus = 0
- tAufze.VGeb_Be = 1
- tAufze.KGeb_Be = 1
- tAufze.MBest = 1
- tAufze.MGeli = 1
- tAufze.VGeb_Me = 1
- tAufze.KGeb_Me = 1
- tAufze.Datum = TODAY.
- .
- DYNAMIC-FUNCTION ('fillAufze':U, INPUT-OUTPUT htAufze) NO-ERROR.
- FIND FIRST tAufze.
- PreisArt = DYNAMIC-FUNCTION ('getPreisAufze':U, INPUT-OUTPUT htAufze) NO-ERROR.
- FIND FIRST tAufze.
- ASSIGN
- tOrder.nPreis = tAufze.Preis.
- END.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE STANDARD_PREIS gPreislisteKunde
- PROCEDURE STANDARD_PREIS :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE Sprcd AS INTEGER NO-UNDO.
- DEFINE VARIABLE FwPreis_Grp AS INTEGER NO-UNDO.
- DEFINE VARIABLE NoPreis_Grp AS INTEGER NO-UNDO.
- DEFINE VARIABLE AbPreis_Grp AS INTEGER NO-UNDO.
- DEFINE VARIABLE Preis_Grp AS INTEGER NO-UNDO.
- DEFINE VARIABLE Zei_Rab_Art AS INTEGER NO-UNDO.
- DEFINE VARIABLE Zei_Rab_Wert AS DECIMAL DECIMALS 3 NO-UNDO.
- DEFINE VARIABLE Preis AS DECIMAL DECIMALS 4 NO-UNDO.
- DEFINE VARIABLE RabAr AS INTEGER NO-UNDO.
- DEFINE VARIABLE RabPr AS DECIMAL DECIMALS 3 NO-UNDO.
- DEFINE VARIABLE RabFr AS DECIMAL DECIMALS 3 NO-UNDO.
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE FAbweich AS LOG NO-UNDO.
- DEFINE VARIABLE FSpezPreis AS INTEGER NO-UNDO.
- DEFINE VARIABLE NettoRab AS INTEGER NO-UNDO.
- DEFINE VARIABLE FwPreisGrp AS INTEGER NO-UNDO.
- Sprcd = 1.
- FwPreis_Grp = DYNAMIC-FUNCTION('GETFWPREISGRP':U) NO-ERROR.
- NettoRab = DYNAMIC-FUNCTION('GETFWNETTORAB':U) NO-ERROR.
- ASSIGN
- NoPreis_Grp = FwPreis_Grp
- Zei_Rab_Art = 0
- Zei_Rab_Wert = 0.
- RUN FIND_PREISGRUPPE ( INPUT NoPreis_Grp, OUTPUT cString ).
- IF cString = '' THEN inkl = FALSE.
- ELSE
- DO:
- IF INTEGER(ENTRY(3, cString, CHR(01))) = 1 THEN inkl = TRUE.
- ELSE inkl = FALSE.
- END.
- FOR EACH tArtikel NO-LOCK:
- Preis_Grp = NoPreis_Grp.
- FSpezPreis = 0.
- Preis = 0.
- RabAr = Zei_Rab_Art.
- RabPr = 0.
- RabFr = 0.
- IF RabAr = 1 THEN RabPr = + Zei_Rab_Wert.
- IF RabAr = 2 THEN RabFr = + Zei_Rab_Wert.
- IF RabAr = 3 THEN RabFr = - Zei_Rab_Wert.
- IF RabAr <> 3 THEN
- DO:
- IF tArtikel.Netto THEN ASSIGN RabAr = 0
- RabPr = 0
- RabFr = 0.
- END.
- DO WHILE TRUE:
- /* -------------------------------------------------------------- */
- /* Artikelpreis ermittel mit entsprechender Preisgruppe */
- /* -------------------------------------------------------------- */
- FIND LAST ArtPreis USE-INDEX ArtPreis-k1
- WHERE ArtPreis.Firma = Firma
- AND ArtPreis.Artnr = tArtikel.Artnr
- AND ArtPreis.Inhalt = tArtikel.Inhalt
- AND ArtPreis.Jahr = tArtikel.Jahr
- AND ArtPreis.Preis_Grp = Preis_Grp
- AND ArtPreis.Aktion = FALSE
- AND ArtPreis.Ab_Datum <= Preisdatum
- NO-LOCK NO-ERROR.
- DO WHILE TRUE:
- IF AVAILABLE ArtPreis THEN LEAVE.
- FIND LAST ArtPreis USE-INDEX ArtPreis-k1
- WHERE ArtPreis.Firma = Firma
- AND ArtPreis.Artnr = tArtikel.Artnr
- AND ArtPreis.Inhalt = tArtikel.Inhalt
- AND ArtPreis.Jahr = tArtikel.Jahr
- AND ArtPreis.Preis_Grp = FwPreis_Grp
- AND ArtPreis.Aktion = FALSE
- AND ArtPreis.Ab_Datum <= Preisdatum
- NO-LOCK NO-ERROR.
- LEAVE.
- END.
- IF AVAILABLE ArtPreis THEN
- DO:
- IF Inkl THEN Preis = ArtPreis.VK_Brutto.
- ELSE Preis = ArtPreis.VK_Netto.
- END.
- LEAVE.
- END.
- IF RabAr = 1 THEN Preis = Preis * (100 - RabPr) / 100.
- IF RabAr = 2 THEN Preis = Preis - RabFr.
- IF RabAr = 3 THEN Preis = Preis - RabFr.
- IF inkl THEN RUN RUNDEN ( INPUT 1, INPUT-OUTPUT Preis ).
- tArtikel.Preis = Preis.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TOOLBAR gPreislisteKunde
- PROCEDURE TOOLBAR :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER pcAction AS CHARACTER NO-UNDO.
- /*
- RUN TOOLBAR IN h_dyntoolbar ( INPUT pcAction ).
- */
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* ************************ Function Implementations ***************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getKGebinde gPreislisteKunde
- FUNCTION getKGebinde RETURNS LOGICAL
- ( ipcGeb_Cd AS CHARACTER, OUTPUT opcGebinde AS CHARACTER, OUTPUT opiInhalt AS INTEGER ):
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- ASSIGN
- opcGebinde = 'Fl'
- opiInhalt = 1.
- FIND KGebinde NO-LOCK
- WHERE KGebinde.Firma = Firma
- AND KGebinde.Geb_Cd = ipcGeb_Cd NO-ERROR.
- IF NOT AVAILABLE KGebinde THEN RETURN FALSE.
-
- DO WHILE TRUE:
- opiInhalt = KGebinde.Inhalt.
-
- IF INDEX(KGebinde.KBez, 'FL') > 0 THEN
- DO:
- ASSIGN
- opcGebinde = 'Fl'.
- LEAVE.
- END.
- IF INDEX(KGebinde.KBez, 'Port') > 0 THEN
- DO:
- ASSIGN
- opcGebinde = 'Po'.
- LEAVE.
- END.
- IF INDEX(KGebinde.KBez, 'DS') > 0 THEN
- DO:
- ASSIGN
- opcGebinde = 'Ds'.
- LEAVE.
- END.
- IF INDEX(KGebinde.KBez, 'TP') > 0 THEN
- DO:
- ASSIGN
- opcGebinde = 'Tp'.
- LEAVE.
- END.
- IF INDEX(KGebinde.Bez, 'PET') > 0 THEN
- DO:
- ASSIGN
- opcGebinde = 'Pe'.
- LEAVE.
- END.
- IF INDEX(KGebinde.KBez, 'Bech') > 0 THEN
- DO:
- ASSIGN
- opcGebinde = 'Bec'.
- LEAVE.
- END.
- IF INDEX(KGebinde.KBez, 'Tet') > 0 THEN
- DO:
- ASSIGN
- opcGebinde = 'Tp'.
- LEAVE.
- END.
- IF INDEX(KGebinde.KBez, 'Eis') > 0 THEN
- DO:
- ASSIGN
- opcGebinde = 'Kg'.
- LEAVE.
- END.
- IF INDEX(KGebinde.KBez, 'Elo') > 0 THEN
- DO:
- ASSIGN
- opcGebinde = 'PAK'.
- LEAVE.
- END.
- IF INDEX(KGebinde.KBez, 'EW') > 0 THEN
- DO:
- ASSIGN
- opcGebinde = 'Ew'.
- LEAVE.
- END.
- IF INDEX(KGebinde.Bez, 'Beut') > 0 THEN
- DO:
- ASSIGN
- opcGebinde = 'BT'.
- LEAVE.
- END.
- IF INDEX(KGebinde.KBez, 'Bech') > 0 THEN
- DO:
- ASSIGN
- opcGebinde = 'Bec'.
- LEAVE.
- END.
- IF INDEX(KGebinde.KBez, 'LT') > 0 THEN
- DO:
- ASSIGN
- opcGebinde = 'Lt'.
- LEAVE.
- END.
- RETURN FALSE.
- END.
- RETURN TRUE.
- END FUNCTION.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getVGebinde gPreislisteKunde
- FUNCTION getVGebinde RETURNS LOGICAL
- ( ipcGeb_Cd AS CHARACTER, OUTPUT opcGebinde AS CHARACTER, OUTPUT opiInhalt AS INTEGER ):
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- ASSIGN
- opcGebinde = 'Ha'
- opiInhalt = 1.
- FIND VGebinde NO-LOCK
- WHERE VGebinde.Firma = Firma
- AND VGebinde.Geb_Cd = ipcGeb_Cd NO-ERROR.
- IF NOT AVAILABLE VGebinde THEN RETURN FALSE.
-
- DO WHILE TRUE:
- opiInhalt = VGebinde.Inhalt.
- IF INDEX(VGebinde.KBez, 'Fass') > 0 THEN
- DO:
- ASSIGN
- opcGebinde = 'Fa'.
- LEAVE.
- END.
- IF INDEX(VGebinde.KBez, 'Har') > 0 THEN
- DO:
- ASSIGN
- opcGebinde = 'Ha'.
- LEAVE.
- END.
- IF INDEX(VGebinde.KBez, 'Car') > 0 OR
- INDEX(VGebinde.KBez, 'Kar') > 0 THEN
- DO:
- ASSIGN
- opcGebinde = 'K'.
- LEAVE.
- END.
- IF INDEX(VGebinde.KBez, 'Bid') > 0 THEN
- DO:
- ASSIGN
- opcGebinde = 'BID'.
- LEAVE.
- END.
- IF INDEX(VGebinde.KBez, 'Prop') > 0 THEN
- DO:
- ASSIGN
- opcGebinde = 'TA'.
- LEAVE.
- END.
- IF INDEX(VGebinde.KBez, 'Con') > 0 THEN
- DO:
- ASSIGN
- opcGebinde = 'CON'.
- LEAVE.
- END.
- IF INDEX(VGebinde.KBez, 'Co2') > 0 THEN
- DO:
- ASSIGN
- opcGebinde = 'CO2'.
- LEAVE.
- END.
- IF INDEX(VGebinde.KBez, 'Bech') > 0 THEN
- DO:
- ASSIGN
- opcGebinde = 'Bec'.
- LEAVE.
- END.
- IF INDEX(VGebinde.KBez, 'Magnum') > 0 THEN
- DO:
- ASSIGN
- opcGebinde = 'MAG'.
- LEAVE.
- END.
- IF INDEX(VGebinde.KBez, 'Pack') > 0 OR
- INDEX(VGebinde.KBez, 'Sixp') > 0 THEN
- DO:
- ASSIGN
- opcGebinde = 'PAK'.
- LEAVE.
- END.
- IF INDEX(VGebinde.KBez, 'Plast') > 0 THEN
- DO:
- ASSIGN
- opcGebinde = 'Pla'.
- LEAVE.
- END.
- IF INDEX(VGebinde.KBez, 'Gall') > 0 THEN
- DO:
- ASSIGN
- opcGebinde = 'Gal'.
- LEAVE.
- END.
- IF INDEX(VGebinde.KBez, 'Eis') > 0 THEN
- DO:
- ASSIGN
- opcGebinde = 'Kg'.
- LEAVE.
- END.
- IF INDEX(VGebinde.KBez, 'Bag') > 0 THEN
- DO:
- ASSIGN
- opcGebinde = 'BT'.
- LEAVE.
- END.
- IF INDEX(VGebinde.KBez, 'Glas') > 0 THEN
- DO:
- ASSIGN
- opcGebinde = 'Gl'.
- LEAVE.
- END.
- IF INDEX(VGebinde.KBez, 'Stand') > 0 THEN
- DO:
- ASSIGN
- opcGebinde = 'Fl'.
- LEAVE.
- END.
- IF INDEX(VGebinde.KBez, 'Rolle') > 0 THEN
- DO:
- ASSIGN
- opcGebinde = 'Ro'.
- LEAVE.
- END.
- IF INDEX(VGebinde.KBez, 'Shot') > 0 THEN
- DO:
- ASSIGN
- opcGebinde = 'Sho'.
- LEAVE.
- END.
- RETURN FALSE.
- END.
-
- RETURN TRUE.
- END FUNCTION.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
|