| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976 |
- &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
- &ANALYZE-RESUME
- &Scoped-define WINDOW-NAME CURRENT-WINDOW
- &Scoped-define FRAME-NAME gPreiseEpMarge
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gPreiseEpMarge
- /*------------------------------------------------------------------------
- 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 Firma AS CHARACTER NO-UNDO.
- DEFINE VARIABLE Progname AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ok AS LOG NO-UNDO.
- DEFINE VARIABLE AddText AS CHARACTER NO-UNDO.
- DEFINE VARIABLE VWGrp AS INTEGER NO-UNDO.
- DEFINE VARIABLE VDateiName AS CHARACTER NO-UNDO.
- DEFINE VARIABLE VxlsDatei AS CHARACTER NO-UNDO.
- DEFINE VARIABLE VcsvDatei AS CHARACTER NO-UNDO.
- DEFINE VARIABLE VWert AS CHARACTER NO-UNDO.
- DEFINE VARIABLE htExcel AS HANDLE NO-UNDO.
- DEFINE VARIABLE iArtnr AS INTEGER NO-UNDO.
- DEFINE VARIABLE iInhalt AS INTEGER NO-UNDO.
- DEFINE VARIABLE iJahr AS INTEGER NO-UNDO.
- DEFINE VARIABLE hFeld AS HANDLE NO-UNDO.
- DEFINE STREAM In_Stream.
-
- DEFINE VARIABLE excelAppl AS COMPONENT-HANDLE NO-UNDO.
- DEFINE TEMP-TABLE tPreisGrp NO-UNDO
- FIELD Preis_Grp AS INTEGER
- FIELD Brutto AS LOG
- FIELD WucdK AS INTEGER
- FIELD cMarge AS CHARACTER.
-
- DEFINE TEMP-TABLE tArtPreis LIKE ArtPreis.
- DEFINE BUFFER BArtPreis FOR ArtPreis.
- DEFINE TEMP-TABLE tExcel NO-UNDO
- FIELD A AS CHARACTER
- FIELD B AS CHARACTER
- FIELD C AS CHARACTER
- FIELD D AS CHARACTER
- FIELD E AS CHARACTER
- FIELD F AS CHARACTER
- FIELD G AS CHARACTER
- FIELD H AS CHARACTER
- FIELD I AS CHARACTER
- FIELD J AS CHARACTER
- FIELD K AS CHARACTER
- FIELD L AS CHARACTER
- FIELD M AS CHARACTER
- FIELD N AS CHARACTER
- FIELD O AS CHARACTER
- FIELD P AS CHARACTER
- FIELD Q AS CHARACTER
- FIELD R AS CHARACTER
- FIELD S AS CHARACTER
- FIELD T AS CHARACTER
- FIELD U AS CHARACTER
- FIELD V AS CHARACTER
- FIELD W AS CHARACTER
- FIELD X AS CHARACTER
- FIELD Y AS CHARACTER
- FIELD Z 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 gPreiseEpMarge
- /* Standard List Definitions */
- &Scoped-Define ENABLED-OBJECTS F_Datum F_Dateiname Btn_Datei F_SpArtnr ~
- F_SpInhalt F_SpJahr F_SpEp CB_Preisgrp_1 F_SpPrGrp_1 CB_Preisgrp_2 ~
- F_SpPrGrp_2 CB_Preisgrp_3 F_SpPrGrp_3 CB_Preisgrp_4 F_SpPrGrp_4 ~
- CB_Preisgrp_5 F_SpPrGrp_5 R_Runden Btn_OK Btn_Cancel RECT-5
- &Scoped-Define DISPLAYED-OBJECTS F_Datum F_Dateiname F_SpArtnr F_SpInhalt ~
- F_SpJahr F_SpEp CB_Preisgrp_1 F_SpPrGrp_1 CB_Preisgrp_2 F_SpPrGrp_2 ~
- CB_Preisgrp_3 F_SpPrGrp_3 CB_Preisgrp_4 F_SpPrGrp_4 CB_Preisgrp_5 ~
- F_SpPrGrp_5 R_Runden
- /* Custom List Definitions */
- /* List-1,List-2,List-3,List-4,List-5,List-6 */
- &Scoped-define List-6 F_Datum F_Dateiname F_SpArtnr F_SpInhalt F_SpJahr ~
- F_SpEp F_SpPrGrp_1 F_SpPrGrp_2 F_SpPrGrp_3 F_SpPrGrp_4 F_SpPrGrp_5 R_Runden
- /* _UIB-PREPROCESSOR-BLOCK-END */
- &ANALYZE-RESUME
- /* *********************** Control Definitions ********************** */
- /* Define a dialog box */
- /* Definitions of the field level widgets */
- DEFINE BUTTON Btn_Cancel AUTO-END-KEY
- LABEL "&Abbrechen"
- SIZE 15 BY 1
- BGCOLOR 15 .
- DEFINE BUTTON Btn_Datei
- IMAGE-UP FILE "grafik/select.bmp":U
- IMAGE-DOWN FILE "grafik/select.bmp":U
- IMAGE-INSENSITIVE FILE "grafik/select.bmp":U
- LABEL "D"
- SIZE 6 BY 1.
- DEFINE BUTTON Btn_OK
- LABEL "&Starten"
- SIZE 15 BY 1
- BGCOLOR 15 .
- DEFINE VARIABLE CB_Preisgrp_1 AS CHARACTER FORMAT "X(256)":U
- LABEL "Preisgruppe"
- VIEW-AS COMBO-BOX INNER-LINES 5
- LIST-ITEM-PAIRS "Item 1","Item 1"
- DROP-DOWN-LIST
- SIZE 31.2 BY 1 NO-UNDO.
- DEFINE VARIABLE CB_Preisgrp_2 AS CHARACTER FORMAT "X(256)":U
- LABEL "Preisgruppe"
- VIEW-AS COMBO-BOX INNER-LINES 5
- LIST-ITEM-PAIRS "Item 1","Item 1"
- DROP-DOWN-LIST
- SIZE 31.2 BY 1 NO-UNDO.
- DEFINE VARIABLE CB_Preisgrp_3 AS CHARACTER FORMAT "X(256)":U
- LABEL "Preisgruppe"
- VIEW-AS COMBO-BOX INNER-LINES 5
- LIST-ITEM-PAIRS "Item 1","Item 1"
- DROP-DOWN-LIST
- SIZE 31.2 BY 1 NO-UNDO.
- DEFINE VARIABLE CB_Preisgrp_4 AS CHARACTER FORMAT "X(256)":U
- LABEL "Preisgruppe"
- VIEW-AS COMBO-BOX INNER-LINES 5
- LIST-ITEM-PAIRS "Item 1","Item 1"
- DROP-DOWN-LIST
- SIZE 31.2 BY 1 NO-UNDO.
- DEFINE VARIABLE CB_Preisgrp_5 AS CHARACTER FORMAT "X(256)":U
- LABEL "Preisgruppe"
- VIEW-AS COMBO-BOX INNER-LINES 5
- LIST-ITEM-PAIRS "Item 1","Item 1"
- DROP-DOWN-LIST
- SIZE 31.2 BY 1 NO-UNDO.
- DEFINE VARIABLE F_Dateiname AS CHARACTER FORMAT "X(256)":U
- LABEL "Dateiname"
- VIEW-AS FILL-IN NATIVE
- SIZE 58 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Datum AS DATE FORMAT "99.99.9999":U
- LABEL "ab Datum"
- VIEW-AS FILL-IN NATIVE
- SIZE 16 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_SpArtnr AS CHARACTER FORMAT "X(256)":U
- LABEL "Spalte Artikelnummer"
- VIEW-AS FILL-IN NATIVE
- SIZE 4 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_SpEp AS CHARACTER FORMAT "X(256)":U
- LABEL "Spalte EP"
- VIEW-AS FILL-IN NATIVE
- SIZE 4 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_SpInhalt AS CHARACTER FORMAT "X(256)":U
- LABEL "Spalte Inhalt"
- VIEW-AS FILL-IN NATIVE
- SIZE 4 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_SpJahr AS CHARACTER FORMAT "X(256)":U
- LABEL "Spalte Jahr"
- VIEW-AS FILL-IN NATIVE
- SIZE 4 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_SpPrGrp_1 AS CHARACTER FORMAT "X(256)":U
- LABEL "Spalte Marge"
- VIEW-AS FILL-IN NATIVE
- SIZE 4 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_SpPrGrp_2 AS CHARACTER FORMAT "X(256)":U
- LABEL "Spalte Marge"
- VIEW-AS FILL-IN NATIVE
- SIZE 4 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_SpPrGrp_3 AS CHARACTER FORMAT "X(256)":U
- LABEL "Spalte Marge"
- VIEW-AS FILL-IN NATIVE
- SIZE 4 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_SpPrGrp_4 AS CHARACTER FORMAT "X(256)":U
- LABEL "Spalte Marge"
- VIEW-AS FILL-IN NATIVE
- SIZE 4 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_SpPrGrp_5 AS CHARACTER FORMAT "X(256)":U
- LABEL "Spalte Marge"
- VIEW-AS FILL-IN NATIVE
- SIZE 4 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE R_Runden AS INTEGER
- VIEW-AS RADIO-SET VERTICAL
- RADIO-BUTTONS
- "Keine Rundung", 1,
- "5er Rundung", 2,
- "10er Rundung", 3
- SIZE 40 BY 2.52 NO-UNDO.
- DEFINE RECTANGLE RECT-5
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 86 BY 16.19.
- /* ************************ Frame Definitions *********************** */
- DEFINE FRAME gPreiseEpMarge
- F_Datum AT ROW 1.52 COL 20 COLON-ALIGNED
- F_Dateiname AT ROW 2.52 COL 20 COLON-ALIGNED WIDGET-ID 16
- Btn_Datei AT ROW 2.52 COL 81 WIDGET-ID 18
- F_SpArtnr AT ROW 4 COL 74 COLON-ALIGNED WIDGET-ID 20
- F_SpInhalt AT ROW 5 COL 74 COLON-ALIGNED WIDGET-ID 22
- F_SpJahr AT ROW 6 COL 74 COLON-ALIGNED WIDGET-ID 24
- F_SpEp AT ROW 7 COL 74 COLON-ALIGNED WIDGET-ID 26
- CB_Preisgrp_1 AT ROW 8.14 COL 19.8 COLON-ALIGNED WIDGET-ID 30
- F_SpPrGrp_1 AT ROW 8 COL 74 COLON-ALIGNED WIDGET-ID 32
- CB_Preisgrp_2 AT ROW 9.14 COL 19.8 COLON-ALIGNED WIDGET-ID 34
- F_SpPrGrp_2 AT ROW 9 COL 74 COLON-ALIGNED WIDGET-ID 36
- CB_Preisgrp_3 AT ROW 10.14 COL 19.8 COLON-ALIGNED WIDGET-ID 38
- F_SpPrGrp_3 AT ROW 10 COL 74 COLON-ALIGNED WIDGET-ID 40
- CB_Preisgrp_4 AT ROW 11.14 COL 19.8 COLON-ALIGNED WIDGET-ID 42
- F_SpPrGrp_4 AT ROW 11 COL 74 COLON-ALIGNED WIDGET-ID 44
- CB_Preisgrp_5 AT ROW 12.14 COL 19.8 COLON-ALIGNED WIDGET-ID 46
- F_SpPrGrp_5 AT ROW 12 COL 74 COLON-ALIGNED WIDGET-ID 48
- R_Runden AT ROW 14 COL 22 NO-LABELS WIDGET-ID 4
- Btn_OK AT ROW 14.52 COL 69
- Btn_Cancel AT ROW 15.52 COL 69
- RECT-5 AT ROW 1.24 COL 2
- SPACE(1.19) SKIP(0.23)
- WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
- SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
- TITLE "Marge Preisgruppe".
- /* *********************** 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 gPreiseEpMarge
- /* ************************* 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 gPreiseEpMarge
- FRAME-NAME Custom */
- ASSIGN
- FRAME gPreiseEpMarge:SCROLLABLE = FALSE
- FRAME gPreiseEpMarge:HIDDEN = TRUE.
- /* SETTINGS FOR FILL-IN F_Dateiname IN FRAME gPreiseEpMarge
- 6 */
- /* SETTINGS FOR FILL-IN F_Datum IN FRAME gPreiseEpMarge
- 6 */
- /* SETTINGS FOR FILL-IN F_SpArtnr IN FRAME gPreiseEpMarge
- 6 */
- /* SETTINGS FOR FILL-IN F_SpEp IN FRAME gPreiseEpMarge
- 6 */
- /* SETTINGS FOR FILL-IN F_SpInhalt IN FRAME gPreiseEpMarge
- 6 */
- /* SETTINGS FOR FILL-IN F_SpJahr IN FRAME gPreiseEpMarge
- 6 */
- /* SETTINGS FOR FILL-IN F_SpPrGrp_1 IN FRAME gPreiseEpMarge
- 6 */
- /* SETTINGS FOR FILL-IN F_SpPrGrp_2 IN FRAME gPreiseEpMarge
- 6 */
- /* SETTINGS FOR FILL-IN F_SpPrGrp_3 IN FRAME gPreiseEpMarge
- 6 */
- /* SETTINGS FOR FILL-IN F_SpPrGrp_4 IN FRAME gPreiseEpMarge
- 6 */
- /* SETTINGS FOR FILL-IN F_SpPrGrp_5 IN FRAME gPreiseEpMarge
- 6 */
- /* SETTINGS FOR RADIO-SET R_Runden IN FRAME gPreiseEpMarge
- 6 */
- /* _RUN-TIME-ATTRIBUTES-END */
- &ANALYZE-RESUME
- /* Setting information for Queries and Browse Widgets fields */
- &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gPreiseEpMarge
- /* Query rebuild information for DIALOG-BOX gPreiseEpMarge
- _Options = "SHARE-LOCK"
- _Query is NOT OPENED
- */ /* DIALOG-BOX gPreiseEpMarge */
- &ANALYZE-RESUME
-
- /* ************************ Control Triggers ************************ */
- &Scoped-define SELF-NAME gPreiseEpMarge
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gPreiseEpMarge gPreiseEpMarge
- ON END-ERROR OF FRAME gPreiseEpMarge /* Marge Preisgruppe */
- DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gPreiseEpMarge gPreiseEpMarge
- ON GO OF FRAME gPreiseEpMarge /* Marge Preisgruppe */
- DO:
- /*
- RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR.
- */
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gPreiseEpMarge gPreiseEpMarge
- ON WINDOW-CLOSE OF FRAME gPreiseEpMarge /* Marge Preisgruppe */
- DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_Cancel
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Cancel gPreiseEpMarge
- ON CHOOSE OF Btn_Cancel IN FRAME gPreiseEpMarge /* Abbrechen */
- DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_Datei
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Datei gPreiseEpMarge
- ON CHOOSE OF Btn_Datei IN FRAME gPreiseEpMarge /* D */
- DO:
- RUN DATEI_EINGABE.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_OK
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK gPreiseEpMarge
- ON CHOOSE OF Btn_OK IN FRAME gPreiseEpMarge /* Starten */
- DO:
- RUN NEURECHNEN.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &UNDEFINE SELF-NAME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gPreiseEpMarge
- /* *************************** Main Block *************************** */
- MaxPage = 1.
- AktSeite = 1.
- Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
- Progname = ENTRY(1, THIS-PROCEDURE:NAME, '.') NO-ERROR.
- SESSION:DATA-ENTRY-RETURN = TRUE.
- /* TRIGGERS ------------------------------------------------------ */
- ON 'END-ERROR':U OF FRAME {&FRAME-NAME} ANYWHERE
- DO:
- RUN ENDE.
- 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 gPreiseEpMarge _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 CREATE_PreisGrp gPreiseEpMarge
- PROCEDURE CREATE_PreisGrp :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER ipPreis_Grp AS INTEGER NO-UNDO.
- DEFINE INPUT PARAMETER ipSpMarge AS CHARACTER NO-UNDO.
-
- DEFINE VARIABLE WucdK AS INTEGER NO-UNDO.
- DEFINE VARIABLE cDaten AS CHARACTER NO-UNDO.
-
- IF ipSpMarge = '' THEN RETURN.
-
- ipSpMarge = REPLACE(REPLACE(ipSpMarge, "'", ""), ',', '').
-
- WucdK = 1.
- FOR EACH Debst USE-INDEX Debst-k1
- WHERE Debst.Firma = Firma
- AND Debst.Preis_Grp = ipPreis_Grp NO-LOCK:
- WucdK = Debst.MWST.
- LEAVE.
- END.
- RUN FIND_PREISGRUPPE ( ipPreis_Grp, OUTPUT cDaten ).
-
- CREATE tPreisGrp.
- ASSIGN
- tPreisGrp.Preis_Grp = ipPreis_Grp
- tPreisGrp.Brutto = (IF INTEGER(ENTRY(3, cDaten, CHR(01))) = 0 THEN FALSE ELSE TRUE)
- tPreisGrp.WucdK = WucdK
- tPreisGrp.cMarge = ipSpMarge.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DATEI_EINGABE gPreiseEpMarge
- PROCEDURE DATEI_EINGABE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE OKpressed AS LOG NO-UNDO.
- DEFINE VARIABLE VDateiname AS CHARACTER NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- ASSIGN F_Dateiname.
- VDateiName = F_Dateiname.
- SYSTEM-DIALOG GET-FILE VDateiName
- TITLE 'Oeffnen der Exceldatei'
- FILTERS 'Excel-Dateien (*.xls, *.xlsx)' '*.xls,*.xlsx',
- 'Alle Dateien (*.*) ' '*.*'
- MUST-EXIST
- USE-FILENAME
- UPDATE OKpressed.
-
- IF OKPressed = TRUE THEN F_Dateiname = VDateiName.
- DISPLAY F_Dateiname.
-
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gPreiseEpMarge _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 gPreiseEpMarge.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gPreiseEpMarge
- PROCEDURE enableObject :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
-
- DEFINE VARIABLE Wgr AS INTEGER NO-UNDO.
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- RUN COMBO_PREISGRP (INPUT CB_PreisGrp_1:HANDLE) NO-ERROR.
- CB_PreisGrp_1:LIST-ITEM-PAIRS = 'Keine Preisgruppe;999999;' + CB_PreisGrp_1:LIST-ITEM-PAIRS.
-
- ASSIGN
- CB_PreisGrp_2:DELIMITER = ';'
- CB_PreisGrp_3:DELIMITER = ';'
- CB_PreisGrp_4:DELIMITER = ';'
- CB_PreisGrp_5:DELIMITER = ';'
- CB_PreisGrp_2:LIST-ITEM-PAIRS = CB_PreisGrp_1:LIST-ITEM-PAIRS
- CB_PreisGrp_3:LIST-ITEM-PAIRS = CB_PreisGrp_1:LIST-ITEM-PAIRS
- CB_PreisGrp_4:LIST-ITEM-PAIRS = CB_PreisGrp_1:LIST-ITEM-PAIRS
- CB_PreisGrp_5:LIST-ITEM-PAIRS = CB_PreisGrp_1:LIST-ITEM-PAIRS
- CB_PreisGrp_1:SCREEN-VALUE = ENTRY(2, CB_PreisGrp_1:LIST-ITEM-PAIRS, ';')
- CB_PreisGrp_2:SCREEN-VALUE = ENTRY(2, CB_PreisGrp_2:LIST-ITEM-PAIRS, ';')
- CB_PreisGrp_3:SCREEN-VALUE = ENTRY(2, CB_PreisGrp_3:LIST-ITEM-PAIRS, ';')
- CB_PreisGrp_4:SCREEN-VALUE = ENTRY(2, CB_PreisGrp_4:LIST-ITEM-PAIRS, ';')
- CB_PreisGrp_5:SCREEN-VALUE = ENTRY(2, CB_PreisGrp_5:LIST-ITEM-PAIRS, ';')
- NO-ERROR. .
- END.
- RUN SUPER.
- RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gPreiseEpMarge _DEFAULT-ENABLE
- PROCEDURE enable_UI :
- /*------------------------------------------------------------------------------
- Purpose: ENABLE the User Interface
- Parameters: <none>
- Notes: Here we display/view/enable the widgets in the
- user-interface. In addition, OPEN all queries
- associated with each FRAME and BROWSE.
- These statements here are based on the "Other
- Settings" section of the widget Property Sheets.
- ------------------------------------------------------------------------------*/
- DISPLAY F_Datum F_Dateiname F_SpArtnr F_SpInhalt F_SpJahr F_SpEp CB_Preisgrp_1
- F_SpPrGrp_1 CB_Preisgrp_2 F_SpPrGrp_2 CB_Preisgrp_3 F_SpPrGrp_3
- CB_Preisgrp_4 F_SpPrGrp_4 CB_Preisgrp_5 F_SpPrGrp_5 R_Runden
- WITH FRAME gPreiseEpMarge.
- ENABLE F_Datum F_Dateiname Btn_Datei F_SpArtnr F_SpInhalt F_SpJahr F_SpEp
- CB_Preisgrp_1 F_SpPrGrp_1 CB_Preisgrp_2 F_SpPrGrp_2 CB_Preisgrp_3
- F_SpPrGrp_3 CB_Preisgrp_4 F_SpPrGrp_4 CB_Preisgrp_5 F_SpPrGrp_5
- R_Runden Btn_OK Btn_Cancel RECT-5
- WITH FRAME gPreiseEpMarge.
- VIEW FRAME gPreiseEpMarge.
- {&OPEN-BROWSERS-IN-QUERY-gPreiseEpMarge}
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gPreiseEpMarge
- 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.
- RUN SCHREIBENFWAUSWERTUNGEN ( Progname, FRAME {&FRAME-NAME}:HANDLE ).
- 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 EXCEL_TO_CSV gPreiseEpMarge
- PROCEDURE EXCEL_TO_CSV :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER ipDateiName AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ix AS INTEGER NO-UNDO.
- DO WHILE TRUE:
- CREATE "Excel.Application" excelAppl CONNECT NO-ERROR.
- IF VALID-HANDLE(excelAppl) THEN LEAVE.
- CREATE "Excel.Application" excelAppl NO-ERROR.
- LEAVE.
- END.
-
- IF NOT VALID-HANDLE(excelAppl) THEN RETURN.
- VxlsDatei = ipDateiName.
- ix = R-INDEX(VxlsDatei, '.').
- IF ix = 0 THEN VcsvDatei = VxlsDatei + '.csv'.
- ELSE VcsvDatei = SUBSTRING(VxlsDatei,01,ix - 1) + '.csv'.
- IF SEARCH(VcsvDatei) <> ? THEN OS-DELETE VALUE(VcsvDatei).
-
- excelAppl:Visible = TRUE.
- excelAppl:Workbooks:Open(VxlsDatei, 0, TRUE , 4, "", "", TRUE , , ";", ,).
- excelAppl:ActiveWorkbook:SaveAs (VcsvDatei, 6, "", "", FALSE, FALSE, FALSE ).
- excelAppl:ActiveWorkbook:Close ( FALSE, VcsvDatei ).
- RELEASE OBJECT excelAppl.
-
- EMPTY TEMP-TABLE tExcel.
-
- INPUT STREAM In_Stream FROM VALUE(VcsvDatei) NO-ECHO NO-MAP NO-CONVERT.
- REPEAT TRANSACTION ON STOP UNDO, LEAVE:
- CREATE tExcel.
- IMPORT STREAM In_Stream DELIMITER ';' tExcel.
- END.
- INPUT STREAM In_Stream CLOSE.
- DO WITH FRAME {&FRAME-NAME}:
- htExcel = TEMP-TABLE tExcel:DEFAULT-BUFFER-HANDLE.
- hFeld = htExcel:BUFFER-FIELD(F_SpArtnr) NO-ERROR.
- IF ERROR-STATUS:ERROR OR
- NOT VALID-HANDLE ( hFeld ) THEN
- DO:
- MESSAGE 'Spalte für Artikelnummer ist ungültig' VIEW-AS ALERT-BOX.
- APPLY 'ENTRY' TO F_SpArtnr.
- RETURN NO-APPLY.
- END.
- FOR EACH tExcel:
- IF hFeld:BUFFER-VALUE = '' OR
- hFeld:BUFFER-VALUE = ? THEN
- DO:
- DELETE tExcel.
- NEXT.
- END.
- iArtnr = INTEGER(hFeld:BUFFER-VALUE(0)) NO-ERROR.
- IF ERROR-STATUS:ERROR OR
- iArtnr = 0 THEN
- DO:
- DELETE tExcel.
- NEXT.
- END.
- END.
- END.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject gPreiseEpMarge
- 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 initializeObject gPreiseEpMarge
- PROCEDURE initializeObject :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- /* Code placed here will execute PRIOR to standard behavior. */
- RUN SUPER.
- RUN LESENFWAUSWERTUNGEN ( Progname, FRAME {&FRAME-NAME}:HANDLE ).
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NEURECHNEN gPreiseEpMarge
- PROCEDURE NEURECHNEN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE iPreisGrp AS INTEGER NO-UNDO.
- DEFINE VARIABLE dPreis AS DECIMAL NO-UNDO DECIMALS 4.
- DEFINE VARIABLE WucdK AS INTEGER NO-UNDO.
- DEFINE VARIABLE WucdA AS INTEGER NO-UNDO.
- DEFINE VARIABLE Ansatz AS DECIMAL NO-UNDO.
- DEFINE VARIABLE dMarge AS DECIMAL NO-UNDO.
- DEFINE VARIABLE Rundbetr AS DECIMAL NO-UNDO DECIMALS 4.
- DEFINE VARIABLE dListen_EP AS DECIMAL NO-UNDO DECIMALS 4.
- DEFINE VARIABLE cDBUser AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ja AS LOG NO-UNDO.
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cFeld AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cErlaubt AS CHARACTER NO-UNDO INIT '0123456789.-'.
- DEFINE VARIABLE ii AS INTEGER NO-UNDO.
- EMPTY TEMP-TABLE tArtPreis.
- CREATE tArtPreis.
- DO WITH FRAME {&FRAME-NAME}:
- ASSIGN {&List-6}.
-
- IF F_Datum = ? THEN F_Datum = TODAY.
- IF F_Dateiname = '' THEN
- DO:
- RUN FEHLER ( 1020 ).
- APPLY 'ENTRY' TO F_Dateiname.
- RETURN NO-APPLY.
- END.
- IF F_SpArtnr = '' THEN
- DO:
- RUN FEHLER ( 1020 ).
- APPLY 'ENTRY' TO F_SpArtnr.
- RETURN NO-APPLY.
- END.
- IF F_SpEp = '' THEN
- DO:
- RUN FEHLER ( 1020 ).
- APPLY 'ENTRY' TO F_SpEp.
- RETURN NO-APPLY.
- END.
-
- EMPTY TEMP-TABLE tPreisGrp.
- IF INTEGER(CB_PreisGrp_1:SCREEN-VALUE) <> 999999 THEN
- DO:
- RUN CREATE_PreisGrp ( INTEGER(CB_PreisGrp_1:SCREEN-VALUE), F_SpPrGrp_1 ).
- END.
- IF INTEGER(CB_PreisGrp_2:SCREEN-VALUE) <> 999999 THEN
- DO:
- RUN CREATE_PreisGrp ( INTEGER(CB_PreisGrp_2:SCREEN-VALUE), F_SpPrGrp_2 ).
- END.
- IF INTEGER(CB_PreisGrp_3:SCREEN-VALUE) <> 999999 THEN
- DO:
- RUN CREATE_PreisGrp ( INTEGER(CB_PreisGrp_3:SCREEN-VALUE), F_SpPrGrp_3 ).
- END.
- IF INTEGER(CB_PreisGrp_4:SCREEN-VALUE) <> 999999 THEN
- DO:
- RUN CREATE_PreisGrp ( INTEGER(CB_PreisGrp_4:SCREEN-VALUE), F_SpPrGrp_4 ).
- END.
- IF INTEGER(CB_PreisGrp_5:SCREEN-VALUE) <> 999999 THEN
- DO:
- RUN CREATE_PreisGrp ( INTEGER(CB_PreisGrp_5:SCREEN-VALUE), F_SpPrGrp_5 ).
- END.
-
- DISPLAY {&List-6}.
-
- DISABLE Btn_OK Btn_Cancel.
-
- RUN EXCEL_TO_CSV ( F_Dateiname ).
- EMPTY TEMP-TABLE tArtPreis.
- cDBUser = DYNAMIC-FUNCTION('getDBUser':U) NO-ERROR.
- htExcel = TEMP-TABLE tExcel:DEFAULT-BUFFER-HANDLE.
- FOR EACH tExcel:
- ASSIGN
- iArtnr = 0
- iInhalt = 0
- iJahr = 0.
- hFeld = htExcel:BUFFER-FIELD(F_SpArtnr).
- iArtnr = INTEGER(hFeld:BUFFER-VALUE(0)).
- hFeld = htExcel:BUFFER-FIELD(F_SpInhalt) NO-ERROR.
- IF VALID-HANDLE(hFeld) THEN iInhalt = INTEGER(hFeld:BUFFER-VALUE(0)).
- hFeld = htExcel:BUFFER-FIELD(F_SpJahr) NO-ERROR.
- IF VALID-HANDLE(hFeld) THEN iJahr = INTEGER(hFeld:BUFFER-VALUE(0)).
- hFeld = htExcel:BUFFER-FIELD(F_SpEp).
- dListen_EP = DECIMAL(hFeld:BUFFER-VALUE(0)) NO-ERROR.
- IF ERROR-STATUS:ERROR OR
- dListen_EP = ? THEN
- DO:
- cFeld = hFeld:BUFFER-VALUE(0).
- cString = ''.
- DO ii = 1 TO LENGTH(cFeld).
- IF INDEX(cErlaubt, SUBSTRING(cFeld,ii,01)) = 0 THEN NEXT.
- cString = cString + substring(cFeld,ii,01).
- END.
- dListen_EP = DECIMAL(cString) NO-ERROR.
- END.
- FIND Artst
- WHERE Artst.Firma = Firma
- AND Artst.Artnr = iArtnr
- AND Artst.Inhalt = iInhalt
- AND Artst.Jahr = iJahr NO-ERROR.
- IF NOT AVAILABLE Artst THEN NEXT.
-
- Artst.Listen_EP = dListen_EP.
- WucdA = Artst.MWST.
-
- FOR EACH tPreisGrp:
- FIND Wust USE-INDEX Wust-k1
- WHERE Wust.CodeK = tPreisGrp.WucdK
- AND Wust.CodeA = WucdA NO-LOCK NO-ERROR.
- FIND LAST MWSTAns USE-INDEX MWSTAns-k1
- WHERE MWSTAns.MWST_Cd = Wust.WuCd
- AND MWSTAns.Datum <= F_Datum NO-LOCK NO-ERROR.
- IF AVAILABLE MWSTAns THEN Ansatz = MWSTAns.Ansatz.
-
- hFeld = htExcel:BUFFER-FIELD(tPreisGrp.cMarge) NO-ERROR.
- IF NOT VALID-HANDLE ( hFeld ) THEN NEXT.
- dMarge = DECIMAL(hFeld:BUFFER-VALUE(0)) NO-ERROR.
- IF ERROR-STATUS:ERROR OR
- dMarge = ? OR
- dmarge = 0 THEN NEXT.
-
- CREATE tArtPreis.
- ASSIGN
- tArtPreis.Firma = Firma
- tArtPreis.Artnr = iArtnr
- tArtPreis.Inhalt = iInhalt
- tArtPreis.Jahr = iJahr
- tArtPreis.Preis_Grp = tPreisGrp.Preis_Grp
- tArtPreis.Ab_Datum = F_Datum
- tArtPreis.VK_Netto = dListen_EP * 100 / (100 - dMarge)
- tArtPreis.Marge = dMarge
- tArtPreis.Aktion = FALSE
- tArtPreis.erstellt_am = TODAY
- tArtPreis.Aenderungs_Art = 9
- tArtPreis.Aenderungs_Text = ''
- tArtPreis.Aenderungs_Wert = dMarge
- tArtPreis.Aenderungs_Rundung = R_Runden
- tArtPreis.Aenderungs_Sabe = cDBUser
- .
- IF tPreisGrp.Brutto THEN
- DO:
- tArtPreis.VK_Brutto = tArtPreis.VK_Netto * (100 + Ansatz) / 100.
- IF R_Runden > 1 THEN
- DO:
- RUN RUNDEN ( INPUT (R_Runden - 1), INPUT-OUTPUT tArtPreis.VK_Brutto ).
- END.
- tArtPreis.VK_Netto = tArtPreis.VK_Brutto * 100 / (100 + Ansatz).
- END.
- ELSE
- DO:
- IF R_Runden > 1 THEN
- DO:
- RUN RUNDEN ( INPUT (R_Runden - 1), INPUT-OUTPUT tArtPreis.VK_Netto ).
- END.
- tArtPreis.VK_Brutto = tArtPreis.VK_Netto * (100 + Ansatz) / 100.
- END.
- END.
- END.
-
- FOR EACH tArtPreis:
- FIND ArtPreis OF tArtPreis NO-ERROR.
- IF NOT AVAILABLE ArtPreis THEN CREATE ArtPreis.
- BUFFER-COPY tArtPreis TO ArtPreis.
- RELEASE ArtPreis.
- END.
-
- ENABLE Btn_OK Btn_Cancel.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
|