&ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2 &ANALYZE-RESUME &Scoped-define WINDOW-NAME wArtikeletiketten {adecomm/appserv.i} &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS wArtikeletiketten /*------------------------------------------------------------------------ File: Description: from cntnrwin.w - ADM SmartWindow Template Input Parameters: Output Parameters: History: New V9 Version - January 15, 1998 ------------------------------------------------------------------------*/ /* This .W file was created with the Progress AB. */ /*----------------------------------------------------------------------*/ /* 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 cBarWert AS CHAR NO-UNDO. DEF VAR cCodeArt AS CHAR INIT 'P0215300' NO-UNDO. DEF VAR cBarCode AS CHAR NO-UNDO. DEF VAR ja AS LOG NO-UNDO. DEF VAR iStartX AS INT INIT 0 NO-UNDO. DEF VAR iStartY AS INT INIT 0 NO-UNDO. DEF VAR iHoehe AS INT INIT 500 NO-UNDO. DEF VAR iBreite AS INT INIT 1240 NO-UNDO. DEF VAR xx AS INT NO-UNDO. DEF VAR yy AS INT NO-UNDO. DEF VAR iy AS INT NO-UNDO. DEF VAR ix AS INT NO-UNDO. DEF VAR cPos AS CHAR NO-UNDO. DEF VAR cEtiketten AS CHAR NO-UNDO. DEF TEMP-TABLE tArtst NO-UNDO LIKE Artst FIELD Sort AS CHAR FIELD LagOrt AS CHAR FIELD KGebinde AS CHAR FIELD Bez1 AS CHAR FORMAT "x(30)" FIELD Bez2 AS CHAR FORMAT "x(30)" INDEX tArtst-k1 IS PRIMARY Sort Artnr. { incl/windefinition.i } {src/adm2/widgetprto.i} /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK /* ******************** Preprocessor Definitions ******************** */ &Scoped-define PROCEDURE-TYPE SmartWindow &Scoped-define DB-AWARE no &Scoped-define ADM-CONTAINER WINDOW &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target,Filter-target,Filter-Source /* Name of designated FRAME-NAME and/or first browse and/or first query */ &Scoped-define FRAME-NAME fMain /* Standard List Definitions */ &Scoped-Define ENABLED-OBJECTS RECT-44 R_Sort R_Format F_vonArtnr ~ F_vonInhalt F_vonJahr F_bisArtnr F_bisInhalt F_bisJahr F_vonWg_Grp ~ F_bisWg_Grp F_vonProd_Grp F_bisProd_Grp F_vonLagerort F_bisLagerort ~ F_vonBezeichnung F_bisBezeichnung Btn_Drucken &Scoped-Define DISPLAYED-OBJECTS R_Sort R_Format F_vonArtnr F_vonInhalt ~ F_vonJahr F_bisArtnr F_bisInhalt F_bisJahr F_vonWg_Grp F_bisWg_Grp ~ F_vonProd_Grp F_bisProd_Grp F_vonLagerort F_bisLagerort F_vonBezeichnung ~ F_bisBezeichnung /* Custom List Definitions */ /* List-1,List-2,List-3,List-4,List-5,List-6 */ &Scoped-define List-6 R_Sort R_Format F_vonArtnr F_vonInhalt F_vonJahr ~ F_bisArtnr F_bisInhalt F_bisJahr F_vonWg_Grp F_bisWg_Grp F_vonProd_Grp ~ F_bisProd_Grp F_vonLagerort F_bisLagerort F_vonBezeichnung F_bisBezeichnung /* _UIB-PREPROCESSOR-BLOCK-END */ &ANALYZE-RESUME /* ************************ Function Prototypes ********************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getProgname wArtikeletiketten FUNCTION getProgname RETURNS CHARACTER ( /* parameter-definitions */ ) FORWARD. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* *********************** Control Definitions ********************** */ /* Define the widget handle for the window */ DEFINE VAR wArtikeletiketten AS WIDGET-HANDLE NO-UNDO. /* Definitions of the field level widgets */ DEFINE BUTTON Btn_Drucken LABEL "Drucken" SIZE 15 BY 1.14. DEFINE VARIABLE F_bisArtnr AS INTEGER FORMAT "999999":U INITIAL 0 LABEL "-" VIEW-AS FILL-IN SIZE 11 BY 1 NO-UNDO. DEFINE VARIABLE F_bisBezeichnung AS CHARACTER FORMAT "X(256)":U LABEL "-" VIEW-AS FILL-IN SIZE 30 BY 1 NO-UNDO. DEFINE VARIABLE F_bisInhalt AS INTEGER FORMAT "9999":U INITIAL 0 LABEL "/" VIEW-AS FILL-IN SIZE 8 BY 1 NO-UNDO. DEFINE VARIABLE F_bisJahr AS INTEGER FORMAT "9999":U INITIAL 0 LABEL "/" VIEW-AS FILL-IN SIZE 8 BY 1 NO-UNDO. DEFINE VARIABLE F_bisLagerort AS CHARACTER FORMAT "X(256)":U LABEL "-" VIEW-AS FILL-IN SIZE 14 BY 1 NO-UNDO. DEFINE VARIABLE F_bisProd_Grp AS INTEGER FORMAT "999":U INITIAL 0 LABEL "-" VIEW-AS FILL-IN SIZE 6 BY 1 NO-UNDO. DEFINE VARIABLE F_bisWg_Grp AS INTEGER FORMAT "999":U INITIAL 0 LABEL "-" VIEW-AS FILL-IN SIZE 6 BY 1 NO-UNDO. DEFINE VARIABLE F_vonArtnr AS INTEGER FORMAT "999999":U INITIAL 0 LABEL "Artnr / Inhalt / Jahr" VIEW-AS FILL-IN SIZE 11 BY 1 NO-UNDO. DEFINE VARIABLE F_vonBezeichnung AS CHARACTER FORMAT "X(256)":U LABEL "von - bis Bezeichnung" VIEW-AS FILL-IN SIZE 30 BY 1 NO-UNDO. DEFINE VARIABLE F_vonInhalt AS INTEGER FORMAT "9999":U INITIAL 0 LABEL "/" VIEW-AS FILL-IN SIZE 8 BY 1 NO-UNDO. DEFINE VARIABLE F_vonJahr AS INTEGER FORMAT "9999":U INITIAL 0 LABEL "/" VIEW-AS FILL-IN SIZE 8 BY 1 NO-UNDO. DEFINE VARIABLE F_vonLagerort AS CHARACTER FORMAT "X(256)":U LABEL "von - bis Lagerort" VIEW-AS FILL-IN SIZE 14 BY 1 NO-UNDO. DEFINE VARIABLE F_vonProd_Grp AS INTEGER FORMAT "999":U INITIAL 0 LABEL "von - bis Produktegruppe" VIEW-AS FILL-IN SIZE 6 BY 1 NO-UNDO. DEFINE VARIABLE F_vonWg_Grp AS INTEGER FORMAT "999":U INITIAL 0 LABEL "von - bis Warengruppe" VIEW-AS FILL-IN SIZE 6 BY 1 NO-UNDO. DEFINE VARIABLE R_Format AS INTEGER VIEW-AS RADIO-SET VERTICAL RADIO-BUTTONS "grosse Etiketten", 1, "kleine Etiketten", 2 SIZE 34 BY 1.52 NO-UNDO. DEFINE VARIABLE R_Sort AS INTEGER VIEW-AS RADIO-SET VERTICAL RADIO-BUTTONS "Artikelnummer", 1, "Artikelbezeichnung", 2, "Lagerort", 3, "Wa_Grp/Prod_Grp/Art_Grp/Bezeichnung", 4 SIZE 57.6 BY 3.19 NO-UNDO. DEFINE RECTANGLE RECT-44 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 116 BY 14.76. /* ************************ Frame Definitions *********************** */ DEFINE FRAME fMain R_Sort AT ROW 2 COL 29 NO-LABEL WIDGET-ID 2 R_Format AT ROW 6 COL 29 NO-LABEL WIDGET-ID 44 F_vonArtnr AT ROW 8 COL 27 COLON-ALIGNED WIDGET-ID 6 F_vonInhalt AT ROW 8 COL 41 COLON-ALIGNED WIDGET-ID 8 F_vonJahr AT ROW 8 COL 52 COLON-ALIGNED WIDGET-ID 10 F_bisArtnr AT ROW 8 COL 63 COLON-ALIGNED WIDGET-ID 12 F_bisInhalt AT ROW 8 COL 77 COLON-ALIGNED WIDGET-ID 14 F_bisJahr AT ROW 8 COL 88 COLON-ALIGNED WIDGET-ID 16 F_vonWg_Grp AT ROW 8.95 COL 27 COLON-ALIGNED WIDGET-ID 34 F_bisWg_Grp AT ROW 9 COL 63 COLON-ALIGNED WIDGET-ID 36 F_vonProd_Grp AT ROW 9.95 COL 27 COLON-ALIGNED WIDGET-ID 40 F_bisProd_Grp AT ROW 10 COL 63 COLON-ALIGNED WIDGET-ID 38 F_vonLagerort AT ROW 11 COL 27 COLON-ALIGNED WIDGET-ID 22 F_bisLagerort AT ROW 11 COL 63 COLON-ALIGNED WIDGET-ID 24 F_vonBezeichnung AT ROW 12 COL 27 COLON-ALIGNED WIDGET-ID 28 F_bisBezeichnung AT ROW 12 COL 63 COLON-ALIGNED WIDGET-ID 26 Btn_Drucken AT ROW 14.52 COL 8.6 WIDGET-ID 18 "Sortierung" VIEW-AS TEXT SIZE 15.6 BY 1.05 AT ROW 2.05 COL 12.6 WIDGET-ID 42 FONT 6 RECT-44 AT ROW 1.48 COL 3 WIDGET-ID 20 WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY SIDE-LABELS NO-UNDERLINE THREE-D AT COL 1 ROW 1 SIZE 120 BY 15.67 WIDGET-ID 100. /* *********************** Procedure Settings ************************ */ &ANALYZE-SUSPEND _PROCEDURE-SETTINGS /* Settings for THIS-PROCEDURE Type: SmartWindow Allow: Basic,Browse,DB-Fields,Query,Smart,Window Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target,Filter-target,Filter-Source Design Page: 1 Other Settings: COMPILE APPSERVER */ &ANALYZE-RESUME _END-PROCEDURE-SETTINGS /* ************************* Create Window ************************** */ &ANALYZE-SUSPEND _CREATE-WINDOW IF SESSION:DISPLAY-TYPE = "GUI":U THEN CREATE WINDOW wArtikeletiketten ASSIGN HIDDEN = YES TITLE = "Artikeletiketten" HEIGHT = 15.67 WIDTH = 120 MAX-HEIGHT = 54.19 MAX-WIDTH = 384 VIRTUAL-HEIGHT = 54.19 VIRTUAL-WIDTH = 384 RESIZE = NO SCROLL-BARS = NO STATUS-AREA = NO BGCOLOR = ? FGCOLOR = ? THREE-D = YES MESSAGE-AREA = NO SENSITIVE = YES. ELSE {&WINDOW-NAME} = CURRENT-WINDOW. &IF '{&WINDOW-SYSTEM}' NE 'TTY' &THEN IF NOT wArtikeletiketten:LOAD-ICON("grafik/appl.ico":U) THEN MESSAGE "Unable to load icon: grafik/appl.ico" VIEW-AS ALERT-BOX WARNING BUTTONS OK. &ENDIF /* END WINDOW DEFINITION */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB wArtikeletiketten /* ************************* Included-Libraries *********************** */ {src/adm2/containr.i} /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* *********** Runtime Attributes and AppBuilder Settings *********** */ &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES /* SETTINGS FOR WINDOW wArtikeletiketten VISIBLE,,RUN-PERSISTENT */ /* SETTINGS FOR FRAME fMain FRAME-NAME */ /* SETTINGS FOR FILL-IN F_bisArtnr IN FRAME fMain 6 */ /* SETTINGS FOR FILL-IN F_bisBezeichnung IN FRAME fMain 6 */ /* SETTINGS FOR FILL-IN F_bisInhalt IN FRAME fMain 6 */ /* SETTINGS FOR FILL-IN F_bisJahr IN FRAME fMain 6 */ /* SETTINGS FOR FILL-IN F_bisLagerort IN FRAME fMain 6 */ /* SETTINGS FOR FILL-IN F_bisProd_Grp IN FRAME fMain 6 */ /* SETTINGS FOR FILL-IN F_bisWg_Grp IN FRAME fMain 6 */ /* SETTINGS FOR FILL-IN F_vonArtnr IN FRAME fMain 6 */ /* SETTINGS FOR FILL-IN F_vonBezeichnung IN FRAME fMain 6 */ /* SETTINGS FOR FILL-IN F_vonInhalt IN FRAME fMain 6 */ /* SETTINGS FOR FILL-IN F_vonJahr IN FRAME fMain 6 */ /* SETTINGS FOR FILL-IN F_vonLagerort IN FRAME fMain 6 */ /* SETTINGS FOR FILL-IN F_vonProd_Grp IN FRAME fMain 6 */ /* SETTINGS FOR FILL-IN F_vonWg_Grp IN FRAME fMain 6 */ /* SETTINGS FOR RADIO-SET R_Format IN FRAME fMain 6 */ /* SETTINGS FOR RADIO-SET R_Sort IN FRAME fMain 6 */ IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(wArtikeletiketten) THEN wArtikeletiketten:HIDDEN = YES. /* _RUN-TIME-ATTRIBUTES-END */ &ANALYZE-RESUME /* ************************ Control Triggers ************************ */ &Scoped-define SELF-NAME wArtikeletiketten &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL wArtikeletiketten wArtikeletiketten ON END-ERROR OF wArtikeletiketten /* Artikeletiketten */ OR ENDKEY OF {&WINDOW-NAME} ANYWHERE DO: /* This case occurs when the user presses the "Esc" key. In a persistently run window, just ignore this. If we did not, the application would exit. */ IF THIS-PROCEDURE:PERSISTENT THEN RETURN NO-APPLY. /* ****************************** */ RUN ENDE. RETURN NO-APPLY. /* ****************************** */ END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL wArtikeletiketten wArtikeletiketten ON WINDOW-CLOSE OF wArtikeletiketten /* Artikeletiketten */ DO: /* This ADM code must be left here in order for the SmartWindow and its descendents to terminate properly on exit. */ RUN ENDE. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Drucken &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Drucken wArtikeletiketten ON CHOOSE OF Btn_Drucken IN FRAME fMain /* Drucken */ DO: ASSIGN {&List-6}. SELF:SENSITIVE = FALSE. SESSION:SET-WAIT-STATE('GENERAL'). RUN DRUCKEN. SESSION:SET-WAIT-STATE(''). SELF:SENSITIVE = TRUE . END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &UNDEFINE SELF-NAME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK wArtikeletiketten /* *************************** Main Block *************************** */ { incl/winmainblock.i } {src/adm2/windowmn.i} /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ********************** Internal Procedures *********************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects wArtikeletiketten _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: ------------------------------------------------------------------------------*/ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE BARCODE39_GROSS wArtikeletiketten PROCEDURE BARCODE39_GROSS : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF INPUT PARAMETER ipWert AS CHAR NO-UNDO. DEF INPUT PARAMETER ipCodeArt AS CHAR NO-UNDO. DEF OUTPUT PARAMETER opBarCode AS CHAR NO-UNDO. DEF VAR clr AS LOG INIT TRUE NO-UNDO. DEF VAR wk AS CHAR NO-UNDO. DEF VAR drw AS CHAR NO-UNDO. DEF VAR cDir AS CHAR NO-UNDO. DEF VAR k AS CHAR NO-UNDO. DEF VAR att AS CHAR NO-UNDO. DEF VAR kod AS CHAR NO-UNDO INIT "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ.Ï *$/+%". att = "100100001001100001101100000000110001100110000001110000000100101100100100" + "001100100000110100100001001001001001101001000000011001100011000001011000" + "000001101100001100001001100000011100100000011001000011101000010000010011" + "100010010001010010000000111100000110001000110000010110110000001011000001" + "111000000010010001110010000011010000010000101110000100011000100010010100" + "010101000010100010010001010000101010". DEF VAR i AS INT NO-UNDO. DEF VAR j AS INT NO-UNDO. DEF VAR l AS INT NO-UNDO. DEF VAR brd AS INT NO-UNDO. DEF VAR jst AS INT NO-UNDO. ASSIGN i = IF SUBSTRING (ipCodeArt, 1, 1) = "P" THEN 1 ELSE 2 opBarCode = "~E&f0S~E*c100G" drw = SUBSTRING("ab" , i, 1) + SUBSTRING(ipCodeArt, 6) + SUBSTRING("ba" , i, 1) + "P" cDir = SUBSTRING("XY", i, 1) k = "*" + ipWert + "*" . DO i = 1 TO LENGTH(k): ASSIGN j = INDEX(kod, SUBSTRING (k, i, 1)) * 9 - 8 wk = SUBSTRING (att, j, 9) + "0" . DO l = 1 TO 10: ASSIGN brd = IF SUBSTRING(wk,l,1) = "0" THEN 2 ELSE 4 opBarCode = opBarCode + (IF clr THEN "~E*c" + SUBSTRING (ipCodeArt, brd, 2) + drw ELSE "~E*p+" + STRING(INTEGER(SUBSTRING(ipCodeArt, brd, 2)) + jst) + cDir) jst = INTEGER (SUBSTRING (ipCodeArt, brd, 2)) clr = NOT clr. END. /* of looping 1 to 10 */ END. /* of going through string 'k' */ ASSIGN opBarCode = opBarCode + "~E&f1S" wk = "". END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE changePage wArtikeletiketten PROCEDURE changePage : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ RUN SUPER. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR. CASE AktSeite: WHEN 1 THEN DO: /* RUN addLink ( hAktionen , 'TableIO':U , h_v-auftr ). */ /* RUN addLink ( hAktionen , 'Navigation':U , h_d-auftr ). */ /* RUN setButtons IN hAktionen ( 'initial-TableIo' ) NO-ERROR. */ END. WHEN 2 THEN DO: END. END CASE. RUN ENTRY_CURSOR. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI wArtikeletiketten _DEFAULT-DISABLE PROCEDURE disable_UI : /*------------------------------------------------------------------------------ Purpose: DISABLE the User Interface Parameters: Notes: Here we clean-up the user-interface by deleting dynamic widgets we have created and/or hide frames. This procedure is usually called when we are ready to "clean-up" after running. ------------------------------------------------------------------------------*/ /* Delete the WINDOW we created */ IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(wArtikeletiketten) THEN DELETE WIDGET wArtikeletiketten. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DRUCKEN wArtikeletiketten PROCEDURE DRUCKEN : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR cDateiName AS CHAR NO-UNDO. DEF VAR cPfad AS CHAR NO-UNDO. IF F_vonArtnr = 0 AND F_bisArtnr = 0 THEN ASSIGN F_bisArtnr = 999999 F_bisInhalt = 9999 F_bisJahr = 9999. IF F_bisArtnr < F_vonArtnr THEN ASSIGN F_bisArtnr = F_vonArtnr F_bisInhalt = F_vonInhalt F_bisJahr = F_vonJahr. IF F_vonInhalt = 0 AND F_bisInhalt = 0 THEN F_bisInhalt = 9999 . IF F_bisInhalt < F_vonInhalt THEN F_bisInhalt = F_vonInhalt. IF F_vonJahr = 0 AND F_bisJahr = 0 THEN F_bisJahr = 9999 . IF F_bisJahr < F_vonJahr THEN F_bisJahr = F_vonJahr . IF F_vonWg_Grp = 0 AND F_bisWg_Grp = 0 THEN F_bisWg_Grp = 999 . IF F_bisWg_Grp < F_vonWg_Grp THEN F_bisWg_Grp = F_vonWg_Grp. IF F_vonProd_Grp = 0 AND F_bisProd_Grp = 0 THEN F_bisProd_Grp = 999 . IF F_bisProd_Grp < F_vonProd_Grp THEN F_bisProd_Grp = F_vonProd_Grp. IF F_vonLagerort = '' AND F_bisLagerort = '' THEN F_bisLagerort = 'zzzzzzzz'. IF F_bisLagerort < F_VonLagerort THEN F_bisLagerort = ''. IF F_vonBezeichnung = '' AND F_bisBezeichnung = '' THEN F_bisBezeichnung = 'zzzzzzzz'. IF F_bisBezeichnung < F_VonBezeichnung THEN F_bisBezeichnung = ''. DISPLAY {&list-6} WITH FRAME {&FRAME-NAME}. EMPTY TEMP-TABLE tArtst. FOR EACH Artst NO-LOCK WHERE Artst.Firma = Firma AND Artst.Artnr >= F_vonArtnr AND Artst.Artnr <= F_bisArtnr AND Artst.Inhalt >= F_vonInhalt AND Artst.Inhalt <= F_bisInhalt AND Artst.Jahr >= F_vonJahr AND Artst.Jahr <= F_bisJahr AND Artst.Bez >= F_vonBezeichnung AND Artst.Bez <= F_bisBezeichnung AND Artst.Wg_Grp >= F_vonWg_Grp AND Artst.Wg_Grp <= F_bisWg_Grp AND Artst.Prod_Grp >= F_vonProd_Grp AND Artst.Prod_Grp <= F_bisProd_Grp AND Artst.Aktiv AND Artst.Ausverk < 9, FIRST ArtLager OF Artst NO-LOCK WHERE ArtLager.Ort >= F_vonLagerort AND ArtLager.Ort <= F_bisLagerort, FIRST Artbez OF Artst NO-LOCK, FIRST KGebinde NO-LOCK WHERE KGebinde.Firma = Artst.Firma AND KGebinde.Geb_Cd = Artst.KGeb_Cd : CREATE tArtst. BUFFER-COPY Artst TO tArtst ASSIGN tArtst.LagOrt = ArtLager.Ort tArtst.KGebinde = KGebinde.KBez tArtst.Bez1 = Artbez.Bez1 tArtst.Bez2 = Artbez.Bez2. IF tArtst.Strichcode = '' THEN DO: 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.Haupt = TRUE NO-ERROR. IF NOT AVAILABLE ArtLief THEN DO: 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 NO-ERROR. END. IF AVAILABLE ArtLief THEN tArtst.Strichcode = ArtLief.Strichcode_KGeb. ELSE tArtst.Strichcode = STRING(Artst.Artnr ,'999999') + '.' + STRING(Artst.Inhalt,'9999') + '.' + STRING(Artst.Jahr ,'9999'). END. IF tArtst.KGebinde = '' THEN DO: FIND FIRST VGebinde NO-LOCK WHERE VGebinde.Firma = Artst.Firma AND VGebinde.Geb_Cd = Artst.VGeb_Cd NO-ERROR. IF AVAILABLE VGebinde THEN tArtst.KGebinde = VGebinde.KBez. END. CASE R_Sort: WHEN 1 THEN tArtst.Sort = STRING(Artst.Artnr ,'999999') + STRING(Artst.Inhalt,'9999') + STRING(Artst.Jahr ,'9999'). WHEN 2 THEN tArtst.Sort = Artst.Bez. WHEN 3 THEN tArtst.Sort = STRING(ArtLager.Ort ,'x(10)') + STRING(Artst.Artnr ,'999999'). WHEN 4 THEN tArtst.Sort = STRING(Artst.Wg_Grp ,'999') + STRING(Artst.Prod_Grp,'999') + STRING(Artst.Art_Grp ,'999') + Artst.Bez. END. END. cDateiName = cEtiketten + 'TEMPLATES\format_&1.eti'. cDateiName = SUBSTITUTE(cDateiName, STRING(R_Format,'99')). cDateiName = REPLACE(cDateiName, '/', '\'). ix = R-INDEX(cDateiName, '\'). cPfad = SUBSTRING(cDateiName,01,ix - 1). FILE-INFO:FILE-NAME = cPfad NO-ERROR. IF FILE-INFO:FULL-PATHNAME = ? OR FILE-INFO:FULL-PATHNAME = '' THEN DO: MESSAGE 'ungültigen Dateipfad für die Etiketten definiert' SKIP 'siehe ini-Datei, Grundeinstellunen, Etiketten' VIEW-AS ALERT-BOX. RETURN NO-APPLY. END. OUTPUT TO VALUE(cDateiName) NO-MAP NO-CONVERT. PUT CONTROL 'Artnr$Inhalt$Jahr$Bez1$Bez2$Strichcode$Artikelnummer$Lagerort$KGebinde' CHR(13) CHR(10). FOR EACH tArtst NO-LOCK: PUT CONTROL STRING(tArtst.Artnr,'999999') '$' STRING(tArtst.Inhalt,'9999') '$' STRING(tArtst.Jahr ,'9999') '$' STRING(tArtst.Bez1) '$' STRING(tArtst.Bez2) '$' STRING(tArtst.Strichcode) '$' STRING(tArtst.Artnr,'999999') '.' STRING(tArtst.Inhalt,'9999') '.' STRING(tArtst.Jahr ,'9999') '$' tArtst.LagOrt '$' tArtst.KGebinde CHR(13) CHR(10) . END. OUTPUT CLOSE. APPLY 'ENTRY' TO F_vonArtnr IN FRAME {&FRAME-NAME}. RETURN NO-APPLY. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject wArtikeletiketten PROCEDURE enableObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ { incl/winenableobject.i } RUN SUPER. /* Code placed here will execute AFTER standard behavior. */ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI wArtikeletiketten _DEFAULT-ENABLE PROCEDURE enable_UI : /*------------------------------------------------------------------------------ Purpose: ENABLE the User Interface Parameters: 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 R_Sort R_Format F_vonArtnr F_vonInhalt F_vonJahr F_bisArtnr F_bisInhalt F_bisJahr F_vonWg_Grp F_bisWg_Grp F_vonProd_Grp F_bisProd_Grp F_vonLagerort F_bisLagerort F_vonBezeichnung F_bisBezeichnung WITH FRAME fMain IN WINDOW wArtikeletiketten. ENABLE RECT-44 R_Sort R_Format F_vonArtnr F_vonInhalt F_vonJahr F_bisArtnr F_bisInhalt F_bisJahr F_vonWg_Grp F_bisWg_Grp F_vonProd_Grp F_bisProd_Grp F_vonLagerort F_bisLagerort F_vonBezeichnung F_bisBezeichnung Btn_Drucken WITH FRAME fMain IN WINDOW wArtikeletiketten. {&OPEN-BROWSERS-IN-QUERY-fMain} VIEW wArtikeletiketten. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE wArtikeletiketten PROCEDURE ENDE : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ { incl/winende.i } END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_CURSOR wArtikeletiketten PROCEDURE ENTRY_CURSOR : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR. FMutFlag = DYNAMIC-FUNCTION('getMutflag':U, INPUT Progname) NO-ERROR. CASE AktSeite: /* WHEN 1 THEN DO: */ /* IF FMutFlag THEN RUN applyEntry IN h_v- ( INPUT ? ). */ /* ELSE RUN applyEntry IN h_b- ( INPUT ? ). */ /* END. */ /* 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 wArtikeletiketten PROCEDURE exitObject : /*------------------------------------------------------------------------------ Purpose: Window-specific override of this procedure which destroys its contents and itself. Notes: ------------------------------------------------------------------------------*/ RUN ENDE. RETURN NO-APPLY. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE GROSSE_ETIKETTEN wArtikeletiketten PROCEDURE GROSSE_ETIKETTEN : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR tStart AS INT NO-UNDO. DEF VAR cString AS CHAR NO-UNDO. DEF VAR iStart AS INT NO-UNDO. DEF VAR iCharPt AS INT INIT 80 NO-UNDO. DEF VAR cFormat AS CHAR NO-UNDO. DEF VAR fZweite AS LOG INIT FALSE NO-UNDO. IF iStartY = 0 THEN iStartY = iStartY + 80. cCodeArt = 'P0215300'. FOR EACH tArtst NO-LOCK: xx = iStartX + ((ix - 1) * iBreite). yy = iStartY + ((iy - 1) * iHoehe ). cString = STRING(tArtst.Artnr,'999999') + '.' + STRING(tArtst.Inhalt,'9999') + '.' + STRING(tArtst.Jahr ,'9999'). tStart = (iBreite - (LENGTH(cString) * iCharPt)) / 2. iStart = xx + tStart. PUT CONTROL CHR(27) '(s04h3b0s0p4102T'. PUT CONTROL CHR(027) "*t300R". PUT CONTROL CHR(027) "*r1A". cPos = CHR(027) + "*p" + STRING(yy) + "y" + STRING(iStart) + "X" + CHR(027) + "*rB". PUT CONTROL cPos. PUT CONTROL cString CHR(10). cString = tArtst.LagOrt. tStart = (iBreite - (LENGTH(cString) * iCharPt)) / 2. iStart = xx + tStart. yy = yy + 200. PUT CONTROL CHR(027) "*t300R". PUT CONTROL CHR(027) "*r1A". cPos = CHR(027) + "*p" + STRING(yy) + "y" + STRING(iStart) + "X" + CHR(027) + "*rB". PUT CONTROL cPos. PUT CONTROL cString CHR(10). IF tArtst.Bez2 <> '' THEN fZweite = TRUE. ELSE fZweite = FALSE. cString = tArtst.Bez1. tStart = (iBreite - (LENGTH(cString) * iCharPt)) / 2. iStart = xx + tStart. yy = yy + (IF fZweite THEN 200 ELSE 300). PUT CONTROL CHR(027) "*t300R". PUT CONTROL CHR(027) "*r1A". cPos = CHR(027) + "*p" + STRING(yy) + "y" + STRING(iStart) + "X" + CHR(027) + "*rB". PUT CONTROL cPos. cFormat = SUBSTITUTE('x(&1)', LENGTH(cString)). PUT cString FORMAT cFormat. PUT CONTROL CHR(10). IF fZweite THEN DO: cString = tArtst.Bez2. tStart = (iBreite - (LENGTH(cString) * iCharPt)) / 2. iStart = xx + tStart. yy = yy + (IF fZweite THEN 200 ELSE 300). PUT CONTROL CHR(027) "*t300R". PUT CONTROL CHR(027) "*r1A". cPos = CHR(027) + "*p" + STRING(yy) + "y" + STRING(iStart) + "X" + CHR(027) + "*rB". PUT CONTROL cPos. cFormat = SUBSTITUTE('x(&1)', LENGTH(cString)). PUT cString FORMAT cFormat. PUT CONTROL CHR(10). END. cString = tArtst.KGebinde. tStart = (iBreite - (LENGTH(cString) * iCharPt)) / 2. iStart = xx + tStart. yy = yy + (IF fZweite THEN 200 ELSE 300). PUT CONTROL CHR(027) "*t300R". PUT CONTROL CHR(027) "*r1A". cPos = CHR(027) + "*p" + STRING(yy) + "y" + STRING(iStart) + "X" + CHR(027) + "*rB". PUT CONTROL cPos. IF cString <> '' THEN DO: cFormat = SUBSTITUTE('x(&1)', LENGTH(cString)). PUT cString FORMAT cFormat. END. PUT CONTROL CHR(10). yy = yy + 250. iStart = xx + 500. PUT CONTROL CHR(027) "*t300R". PUT CONTROL CHR(027) "*r1A". cPos = CHR(027) + "*p" + STRING(yy) + "y" + STRING(iStart) + "X" + CHR(027) + "*rB". PUT CONTROL cPos. cBarWert = STRING(tArtst.Artnr,'999999') + '.' + STRING(tArtst.Inhalt,'9999') + '.' + STRING(tArtst.Jahr,'9999'). RUN BARCODE39_GROSS ( cBarWert, cCodeArt, OUTPUT cBarCode ). PUT CONTROL cBarcode. PUT CONTROL CHR(13). iy = iy + 1. IF iy > 1 THEN DO: PAGE. iy = 1. END. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject wArtikeletiketten PROCEDURE initializeObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ /* Code placed here will execute PRIOR to standard behavior. */ RUN SUPER. { incl/wininitializeobject.i } cEtiketten = DYNAMIC-FUNCTION('getEtikettenPfad':U) NO-ERROR. APPLY 'ENTRY' TO F_vonArtnr IN FRAME {&FRAME-NAME}. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SEITENWECHSEL wArtikeletiketten PROCEDURE SEITENWECHSEL : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ { incl/winseitenwechsel.i } END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE selectPage wArtikeletiketten PROCEDURE selectPage : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ DEF INPUT PARAMETER piPageNum AS INT NO-UNDO. DEF VAR FMutFlag AS LOG NO-UNDO. DEF VAR MutProg AS CHAR NO-UNDO. FMutFlag = DYNAMIC-FUNCTION ('getMutflag':U, INPUT Progname) NO-ERROR. IF FMutFlag THEN RETURN NO-APPLY. CASE piPageNum: END CASE. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR. CASE AktSeite: WHEN 1 THEN DO: /* RUN removeLink ( hAktionen , 'TableIO':U , h_v-auftr ). */ /* RUN removeLink ( hAktionen , '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 TOOLBAR wArtikeletiketten PROCEDURE TOOLBAR : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ { incl/wintoolbar.i } END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE viewObject wArtikeletiketten PROCEDURE viewObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ RUN SUPER. RUN ENTRY_CURSOR. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ************************ Function Implementations ***************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getProgname wArtikeletiketten FUNCTION getProgname RETURNS CHARACTER ( /* parameter-definitions */ ) : /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ RETURN Progname. END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME