| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805 |
- &ANALYZE-SUSPEND _VERSION-NUMBER AB_v9r12 GUI ADM2
- &ANALYZE-RESUME
- &Scoped-define WINDOW-NAME CURRENT-WINDOW
- &Scoped-define FRAME-NAME gArtikelLagerort
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gArtikelLagerort
- /*------------------------------------------------------------------------
- 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 --- */
- DEF VAR MaxPage AS INT NO-UNDO.
- DEF VAR AktSeite AS INT NO-UNDO.
- DEF VAR FMutFlag AS LOG NO-UNDO.
- DEF VAR Fenster AS HANDLE NO-UNDO.
- DEF VAR Firma AS CHAR INIT '1000' NO-UNDO.
- DEF VAR AdFirma AS CHAR INIT '1000' NO-UNDO.
- DEF VAR Besnr AS INT NO-UNDO.
- DEF VAR FwFRW AS CHAR NO-UNDO.
- DEF VAR FwSprcd AS INT NO-UNDO.
- DEF VAR RetVal AS CHAR NO-UNDO.
- DEF BUFFER BArtst FOR Artst.
- DEF TEMP-TABLE TArtst FIELD Artnr AS INT
- FIELD Inhalt AS INT
- FIELD Jahr AS INT
- FIELD Herst AS INT
- FIELD Wgr AS INT
- FIELD LagOrt AS CHAR
- FIELD Bez AS CHAR
- FIELD cHerst AS CHAR
- FIELD cWgr AS CHAR
- FIELD Schluessel AS CHAR.
- /* _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 first Frame and/or Browse and/or first Query */
- &Scoped-define FRAME-NAME gArtikelLagerort
- /* Standard List Definitions */
- &Scoped-Define ENABLED-OBJECTS Hersteller Warengruppen VonArtnr BisArtnr ~
- R_Sort Btn_Excel RECT-37
- &Scoped-Define DISPLAYED-OBJECTS Hersteller Warengruppen VonArtnr BisArtnr ~
- R_Sort
- /* 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 Hersteller Warengruppen VonArtnr BisArtnr R_Sort
- /* _UIB-PREPROCESSOR-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
- LABEL "Excel"
- SIZE 7 BY 2.
- DEFINE VARIABLE BisArtnr AS INTEGER FORMAT "999999":U INITIAL 999999
- VIEW-AS FILL-IN NATIVE
- 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 46 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE VonArtnr AS INTEGER FORMAT "999999":U INITIAL 0
- LABEL "von - bis Artikelnummer"
- VIEW-AS FILL-IN NATIVE
- 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 46 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE R_Sort AS INTEGER INITIAL 1
- VIEW-AS RADIO-SET VERTICAL
- RADIO-BUTTONS
- "Artikelnummer", 1,
- "Suchbegriff", 2,
- "Lagerort", 3
- SIZE 45 BY 1.91 NO-UNDO.
- DEFINE RECTANGLE RECT-37
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 90 BY 6.19.
- /* ************************ Frame Definitions *********************** */
- DEFINE FRAME gArtikelLagerort
- Hersteller AT ROW 1.52 COL 28 COLON-ALIGNED
- Warengruppen AT ROW 2.52 COL 28 COLON-ALIGNED
- VonArtnr AT ROW 3.52 COL 28 COLON-ALIGNED
- BisArtnr AT ROW 3.52 COL 45 COLON-ALIGNED NO-LABEL
- R_Sort AT ROW 5 COL 30 NO-LABEL
- Btn_Excel AT ROW 2 COL 82.2
- RECT-37 AT ROW 1.24 COL 2
- SPACE(0.99) SKIP(0.42)
- WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
- SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
- TITLE "Artikel/Lagerorte".
- /* *********************** 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 gArtikelLagerort
- /* ************************* 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 gArtikelLagerort
- Custom */
- ASSIGN
- FRAME gArtikelLagerort:SCROLLABLE = FALSE
- FRAME gArtikelLagerort:HIDDEN = TRUE.
- /* SETTINGS FOR FILL-IN BisArtnr IN FRAME gArtikelLagerort
- 6 */
- /* SETTINGS FOR BUTTON Btn_Excel IN FRAME gArtikelLagerort
- 5 */
- /* SETTINGS FOR FILL-IN Hersteller IN FRAME gArtikelLagerort
- 6 */
- /* SETTINGS FOR RADIO-SET R_Sort IN FRAME gArtikelLagerort
- 6 */
- /* SETTINGS FOR FILL-IN VonArtnr IN FRAME gArtikelLagerort
- 6 */
- /* SETTINGS FOR FILL-IN Warengruppen IN FRAME gArtikelLagerort
- 6 */
- /* _RUN-TIME-ATTRIBUTES-END */
- &ANALYZE-RESUME
- /* Setting information for Queries and Browse Widgets fields */
- &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gArtikelLagerort
- /* Query rebuild information for DIALOG-BOX gArtikelLagerort
- _Options = "SHARE-LOCK"
- _Query is NOT OPENED
- */ /* DIALOG-BOX gArtikelLagerort */
- &ANALYZE-RESUME
-
- /* ************************ Control Triggers ************************ */
- &Scoped-define SELF-NAME gArtikelLagerort
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gArtikelLagerort gArtikelLagerort
- ON END-ERROR OF FRAME gArtikelLagerort /* Artikel/Lagerorte */
- DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gArtikelLagerort gArtikelLagerort
- ON GO OF FRAME gArtikelLagerort /* Artikel/Lagerorte */
- DO:
- RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gArtikelLagerort gArtikelLagerort
- ON WINDOW-CLOSE OF FRAME gArtikelLagerort /* Artikel/Lagerorte */
- 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 gArtikelLagerort
- ON CHOOSE OF Btn_Excel IN FRAME gArtikelLagerort /* Excel */
- DO:
- DO WITH FRAME {&FRAME-NAME}:
- Btn_Excel:VISIBLE = FALSE.
- RUN REPORT.
- 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 gArtikelLagerort
- ON HELP OF Hersteller IN FRAME gArtikelLagerort /* 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 gArtikelLagerort
- ON LEFT-MOUSE-DBLCLICK OF Hersteller IN FRAME gArtikelLagerort /* 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 Warengruppen
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Warengruppen gArtikelLagerort
- ON HELP OF Warengruppen IN FRAME gArtikelLagerort /* 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 gArtikelLagerort
- ON LEFT-MOUSE-DBLCLICK OF Warengruppen IN FRAME gArtikelLagerort /* 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 gArtikelLagerort
- /* *************************** Main Block *************************** */
- MaxPage = 1.
- AktSeite = 1.
- Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
- AdFirma = DYNAMIC-FUNCTION('GETADMANDANT':U) NO-ERROR.
- SESSION:DATA-ENTRY-RETURN = TRUE.
- /* ------------------------------------------------------------------ */
- {src/adm2/dialogmn.i}
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* ********************** Internal Procedures *********************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gArtikelLagerort _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 gArtikelLagerort
- PROCEDURE BEREINIGEN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT-OUTPUT PARAMETER ipString AS CHAR NO-UNDO.
- DEF VAR cString AS CHAR NO-UNDO.
- DEF VAR ix AS INT NO-UNDO.
- DEF VAR ii AS INT 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 disable_UI gArtikelLagerort _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 gArtikelLagerort.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gArtikelLagerort
- PROCEDURE enableObject :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR cString AS CHAR NO-UNDO.
- RUN SUPER.
- RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR.
- IF NOT VALID-HANDLE(Fenster)
- THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
- IF VALID-HANDLE(Fenster) THEN Fenster = Fenster:FIRST-CHILD.
- DO WHILE VALID-HANDLE(Fenster).
- DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
- IF Fenster:TYPE = 'EDITOR' THEN LEAVE.
- IF Fenster:TYPE = 'LITERAL' THEN LEAVE.
- IF Fenster:TYPE = 'RECTANGLE' THEN LEAVE.
- IF Fenster:TYPE = 'BUTTON' THEN LEAVE.
- GET-KEY-VALUE SECTION 'ArtikelLagerorte'
- KEY Fenster:NAME
- VALUE cString.
- IF cString = ? THEN LEAVE.
- Fenster:SCREEN-VALUE = cString.
- LEAVE.
- END.
- Fenster = Fenster:NEXT-SIBLING.
- END.
- DO WITH FRAME {&FRAME-NAME}:
- ASSIGN {&List-6}.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gArtikelLagerort _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 Hersteller Warengruppen VonArtnr BisArtnr R_Sort
- WITH FRAME gArtikelLagerort.
- ENABLE Hersteller Warengruppen VonArtnr BisArtnr R_Sort Btn_Excel RECT-37
- WITH FRAME gArtikelLagerort.
- VIEW FRAME gArtikelLagerort.
- {&OPEN-BROWSERS-IN-QUERY-gArtikelLagerort}
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gArtikelLagerort
- PROCEDURE ENDE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- 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 gArtikelLagerort
- 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 gArtikelLagerort
- 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 KOPF gArtikelLagerort
- PROCEDURE KOPF :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER eh AS COM-HANDLE NO-UNDO.
- DEF VAR Zelle AS CHAR NO-UNDO.
- FIND Steuer USE-INDEX Steuer-k1
- WHERE Steuer.Firma = Firma NO-LOCK NO-ERROR.
- Zelle = 'B1'.
- eh:Range(Zelle):SELECT.
- eh:SELECTION:VALUE = Steuer.Firma1.
- Zelle = 'D1'.
- eh:Range(Zelle):SELECT.
- eh:SELECTION:VALUE = 'Artikel-Lagerorte'.
- Zelle = 'G1'.
- eh:Range(Zelle):SELECT.
- eh:SELECTION:VALUE = 'Datum : ' + STRING(TODAY,'99.99.9999').
- Zelle = 'B2'.
- eh:Range(Zelle):SELECT.
- eh:SELECTION:VALUE = Steuer.Ort.
- Zelle = 'D2'.
- eh:Range(Zelle):SELECT.
- eh:SELECTION:VALUE = ''.
- Zelle = 'G2'.
- eh:Range(Zelle):SELECT.
- eh:SELECTION:VALUE = 'Zeit : ' + STRING(TIME,'HH:MM:SS').
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REPORT gArtikelLagerort
- PROCEDURE REPORT :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR cString AS CHAR NO-UNDO.
- DEF VAR ix AS INT NO-UNDO.
- DEF VAR ii AS INT NO-UNDO.
- DEF VAR Stern AS CHAR NO-UNDO.
- DEF VAR Alk AS CHAR NO-UNDO.
- DEF VAR xWgr AS CHAR NO-UNDO.
- DEF VAR xPgr AS CHAR NO-UNDO.
- DEF VAR xAgr AS CHAR NO-UNDO.
- DEF VAR iVG AS DEC NO-UNDO.
- DEF VAR iGG AS DEC NO-UNDO.
- DEF VAR OK AS LOG NO-UNDO.
- DEF VAR excelAppl AS COM-HANDLE NO-UNDO.
- DEF VAR Vorlage AS CHAR NO-UNDO.
- DEF VAR Dokument AS CHAR NO-UNDO.
- DEF VAR Daten AS CHAR NO-UNDO.
- DEF VAR Zelle AS CHAR NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- ASSIGN {&List-6}.
- IF VonArtnr = 0 AND BisArtnr = 0 THEN BisArtnr = 999999.
- RUN BEREINIGEN ( INPUT-OUTPUT Hersteller ).
- RUN BEREINIGEN ( INPUT-OUTPUT Warengruppen ).
- DISPLAY {&list-6}.
- END.
- IF NOT VALID-HANDLE(Fenster)
- THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
- IF VALID-HANDLE(Fenster) THEN Fenster = Fenster:FIRST-CHILD.
- DO WHILE VALID-HANDLE(Fenster).
- DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
- IF Fenster:TYPE = 'EDITOR' THEN LEAVE.
- IF Fenster:TYPE = 'LITERAL' THEN LEAVE.
- IF Fenster:TYPE = 'RECTANGLE' THEN LEAVE.
- IF Fenster:TYPE = 'BUTTON' THEN LEAVE.
- cString = Fenster:SCREEN-VALUE.
- PUT-KEY-VALUE SECTION 'ArtikelLagerorte'
- KEY Fenster:NAME
- VALUE cString.
- LEAVE.
- END.
- Fenster = Fenster:NEXT-SIBLING.
- END.
- SESSION:SET-WAIT-STATE('GENERAL').
- RUN SELEKTION.
- Vorlage = 'ArtikelLagerort.xls'.
- Dokument = Vorlage + CHR(01) + Vorlage.
- Daten = 'ArtikelLagerort.csv'.
- excelAppl = DYNAMIC-FUNCTION('CREATEEXCEL':U) NO-ERROR.
- IF NOT VALID-HANDLE(excelAppl) THEN DO:
- RUN FEHLER ( INPUT 1035 ).
- RETURN NO-APPLY.
- END.
- DO WHILE TRUE:
- RUN CREATEDATEI ( INPUT Dokument ).
- IF NOT RETURN-VALUE BEGINS 'ERROR-' THEN LEAVE.
- CASE RETURN-VALUE:
- WHEN 'ERROR-PARAMETER' THEN DO:
- RUN FEHLER ( INPUT 1036 ).
- RETURN NO-APPLY.
- END.
- WHEN 'ERROR-LOESCHEN' THEN DO:
- RUN FEHLER ( INPUT 1037 ).
- RETURN NO-APPLY.
- END.
- WHEN 'ERROR-VORLAGE' THEN DO:
- RUN FEHLER ( INPUT 1038 ).
- RETURN NO-APPLY.
- END.
- OTHERWISE DO:
- MESSAGE RETURN-VALUE VIEW-AS ALERT-BOX ERROR.
- RETURN NO-APPLY.
- END.
- END CASE.
- LEAVE.
- END.
- Dokument = RETURN-VALUE.
- DO WHILE TRUE:
- RUN CREATEDATEI ( INPUT Daten ).
- IF NOT RETURN-VALUE BEGINS 'ERROR-' THEN LEAVE.
- CASE RETURN-VALUE:
- WHEN 'ERROR-PARAMETER' THEN DO:
- RUN FEHLER ( INPUT 1036 ).
- RETURN NO-APPLY.
- END.
- WHEN 'ERROR-LOESCHEN' THEN DO:
- RUN FEHLER ( INPUT 1037 ).
- RETURN NO-APPLY.
- END.
- WHEN 'ERROR-VORLAGE' THEN DO:
- RUN FEHLER ( INPUT 1038 ).
- RETURN NO-APPLY.
- END.
- OTHERWISE DO:
- MESSAGE RETURN-VALUE VIEW-AS ALERT-BOX ERROR.
- RETURN NO-APPLY.
- END.
- END CASE.
- LEAVE.
- END.
- Daten = RETURN-VALUE.
- OUTPUT TO VALUE(Daten).
- PUT CONTROL '£' CHR(10)
- '£' CHR(10)
- '£' CHR(10)
- '£' CHR(10)
- '£Artnr/Inha/Jahr£Bezeichnung££LagOrt£WarGrp£Hersteller'
- CHR(10).
- FOR EACH TArtst BY TArtst.Schluessel:
- PUT CONTROL '£'
- STRING(TArtst.Artnr ,'999999') '.'
- STRING(TArtst.Inhalt ,'9999') '.'
- STRING(TArtst.Jahr ,'9999') '£'
- TArtst.Bez '££'
- TArtst.Lagort '£'
- TArtst.cWgr '£'
- TArtst.cHerst
- CHR(10).
- END.
-
- OUTPUT CLOSE.
- RUN OPENEXCEL ( INPUT excelAppl,
- INPUT Dokument,
- INPUT '',
- OUTPUT ok ).
- IF NOT ok THEN DO:
- RUN FEHLER ( INPUT 1040 ).
- RETURN NO-APPLY.
- END.
- Zelle = 'A1'.
- excelAppl:Range(Zelle):SELECT.
- excelAppl:Selection:FormulaR1C1 = 'TEXT;' + Daten.
- excelAppl:Application:RUN ( 'DateiEinfügen' ).
- RUN KOPF ( INPUT excelAppl ).
- Zelle = 'A1'.
- excelAppl:Range(Zelle):SELECT.
- excelAppl:Selection:ColumnWidth = 0.3.
-
- DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
-
- SESSION:SET-WAIT-STATE('').
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SELEKTION gArtikelLagerort
- PROCEDURE SELEKTION :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR cWgr AS CHAR NO-UNDO.
- DEF VAR cHerst AS CHAR NO-UNDO.
- EMPTY TEMP-TABLE TArtst.
- FOR EACH Artst NO-LOCK USE-INDEX Artst-k1
- WHERE Artst.Firma = Firma
- AND Artst.Artnr >= VonArtnr
- AND Artst.Artnr <= BisArtnr
- AND Artst.Aktiv = TRUE
- AND Artst.Ausverk < 9
- 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)),
- FIRST ArtLager OF Artst NO-LOCK,
- FIRST Artbez OF Artst NO-LOCK:
-
- FIND FIRST HoReLager NO-LOCK USE-INDEX HoReLager-k3
- WHERE HoReLager.Firma = Artst.Firma
- AND HoReLager.Art = 1
- AND HoReLager.Lager = 0
- AND HoReLager.Artnr = Artst.Artnr
- AND HoReLager.Inhalt = Artst.Inhalt NO-ERROR.
- CREATE TArtst.
- ASSIGN TArtst.Artnr = Artst.Artnr
- TArtst.Inhalt = Artst.Inhalt
- TArtst.Jahr = Artst.Jahr
- TArtst.Bez = TRIM(Artbez.Bez1 + ' ' + Artbez.Bez2)
- TArtst.Herst = Artst.Herst
- TArtst.Wgr = Artst.Wg_Grp
- TArtst.Lagort = (IF AVAILABLE HoReLager THEN HoReLager.cSort ELSE ArtLager.Ort).
-
- CASE R_Sort:
- WHEN 1 THEN TArtst.Schluessel = STRING(Artst.Artnr ,'999999')
- + STRING(Artst.Inhalt,'9999')
- + STRING(Artst.Jahr ,'9999').
- WHEN 2 THEN TArtst.Schluessel = Artst.Suchbe.
- WHEN 3 THEN TArtst.Schluessel = Artlager.Ort.
- END CASE.
- END.
- FOR EACH TArtst BREAK BY TArtst.Wgr:
- IF FIRST-OF ( TArtst.Wgr ) THEN DO:
- FIND WarenGrp WHERE WarenGrp.Firma = Firma
- AND WarenGrp.Wgr = TArtst.Wgr
- NO-LOCK NO-ERROR.
- IF AVAILABLE WarenGrp THEN cWgr = WarenGrp.Bez1.
- ELSE cWgr = '??????????'.
- END.
- TArtst.cWgr = cWgr.
- END.
- FOR EACH TArtst BREAK BY TArtst.Herst:
- IF FIRST-OF ( TArtst.Herst ) THEN DO:
- RUN FIND_HERSTELLER ( INPUT TArtst.Herst, OUTPUT cHerst ).
- IF cHerst = '' THEN cHerst = '??????????'.
- ELSE cHerst = ENTRY(2, cHerst, CHR(01)).
- cHerst = TRIM(SUBSTRING(cHerst,01,20)).
- END.
- TArtst.cHerst = cHerst.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
|