| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039 |
- &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
- &ANALYZE-RESUME
- &Scoped-define WINDOW-NAME wBilder
- {adecomm/appserv.i}
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS wBilder
- /*------------------------------------------------------------------------
- File:
- Description: from cntnrwin.w - ADM SmartWindow Template
- Input Parameters:
- <none>
- Output Parameters:
- <none>
- 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 cDefPath AS CHAR NO-UNDO.
- DEF VAR hQuery AS HANDLE NO-UNDO.
- { incl/windefinition.i }
- DEF TEMP-TABLE tBilder NO-UNDO
- FIELD iNummer AS INT
- FIELD cName AS CHAR
- FIELD cDatei AS CHAR
- FIELD cBarcode AS CHAR
- FIELD cExt AS CHAR
- FIELD iArtnr AS INT
- FIELD iInhalt AS INT
- FIELD iJahr AS INT
- FIELD iRecid AS RECID.
-
- DEF BUFFER btBilder FOR tBilder.
- {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 Bild F_Pfad Btn_Bilder Btn_Ende F_Artnr ~
- F_Inhalt F_Jahr F_Bez Btn_OK Btn_Prev Btn_Next
- &Scoped-Define DISPLAYED-OBJECTS F_Pfad F_Artnr F_Inhalt F_Jahr F_Bez
- /* Custom List Definitions */
- /* List-1,List-2,List-3,List-4,List-5,List-6 */
- &Scoped-define List-6 F_Artnr F_Inhalt F_Jahr F_Bez
- /* _UIB-PREPROCESSOR-BLOCK-END */
- &ANALYZE-RESUME
- /* ************************ Function Prototypes ********************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getProgname wBilder
- FUNCTION getProgname RETURNS CHARACTER
- ( /* parameter-definitions */ ) FORWARD.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD isArtikelNrName wBilder
- FUNCTION isArtikelNrName RETURNS LOGICAL
- ( ipcArtikel AS CHAR ) FORWARD.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* *********************** Control Definitions ********************** */
- /* Define the widget handle for the window */
- DEFINE VAR wBilder AS WIDGET-HANDLE NO-UNDO.
- /* Definitions of the field level widgets */
- DEFINE BUTTON Btn_Bilder
- LABEL "Lesen"
- SIZE 12 BY 1.
- DEFINE BUTTON Btn_Ende
- LABEL "schliessen"
- SIZE 15 BY 1.
- DEFINE BUTTON Btn_Next
- IMAGE-UP FILE "grafik/next.bmp":U
- LABEL "vorwärts"
- SIZE 6 BY 1.14.
- DEFINE BUTTON Btn_OK
- LABEL "Bestätigen"
- SIZE 15 BY 1.
- DEFINE BUTTON Btn_Prev
- IMAGE-UP FILE "grafik/prev.bmp":U
- LABEL "zurück"
- SIZE 6 BY 1.14.
- DEFINE VARIABLE F_Artnr AS INTEGER FORMAT "999999":U INITIAL 0
- LABEL "Artikel"
- VIEW-AS FILL-IN NATIVE
- SIZE 11 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Bez AS CHARACTER FORMAT "x(60)":U
- LABEL "/"
- VIEW-AS FILL-IN NATIVE
- SIZE 49.2 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Inhalt AS INTEGER FORMAT "9999":U INITIAL 0
- LABEL "/"
- VIEW-AS FILL-IN NATIVE
- SIZE 8 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Jahr AS INTEGER FORMAT "9999":U INITIAL 0
- LABEL "/"
- VIEW-AS FILL-IN NATIVE
- SIZE 8 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Pfad AS CHARACTER FORMAT "x(60)":U
- LABEL "Bild-Pfad"
- VIEW-AS FILL-IN NATIVE
- SIZE 49.2 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE IMAGE Bild
- FILENAME "grafik/select.bmp":U
- SIZE 148 BY 21.52.
- /* ************************ Frame Definitions *********************** */
- DEFINE FRAME fMain
- F_Pfad AT ROW 1.52 COL 11 COLON-ALIGNED WIDGET-ID 12
- Btn_Bilder AT ROW 1.52 COL 65 WIDGET-ID 14
- Btn_Ende AT ROW 1.52 COL 137.8 WIDGET-ID 16
- F_Artnr AT ROW 3 COL 11 COLON-ALIGNED WIDGET-ID 4
- F_Inhalt AT ROW 3 COL 24 COLON-ALIGNED WIDGET-ID 6
- F_Jahr AT ROW 3 COL 35 COLON-ALIGNED WIDGET-ID 8
- F_Bez AT ROW 3 COL 46 COLON-ALIGNED WIDGET-ID 10 NO-TAB-STOP
- Btn_OK AT ROW 3 COL 105.4 WIDGET-ID 22
- Btn_Prev AT ROW 4.52 COL 12.6 WIDGET-ID 18
- Btn_Next AT ROW 4.52 COL 18.8 WIDGET-ID 20
- Bild AT ROW 7.29 COL 7 WIDGET-ID 2
- WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
- SIDE-LABELS NO-UNDERLINE THREE-D
- AT COL 1 ROW 1
- SIZE 160 BY 30.48 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
- Other Settings: COMPILE APPSERVER
- */
- &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
- /* ************************* Create Window ************************** */
- &ANALYZE-SUSPEND _CREATE-WINDOW
- IF SESSION:DISPLAY-TYPE = "GUI":U THEN
- CREATE WINDOW wBilder ASSIGN
- HIDDEN = YES
- TITLE = "Bilder den Artikeln zuweisen"
- HEIGHT = 30.48
- WIDTH = 160
- MAX-HEIGHT = 30.48
- MAX-WIDTH = 160
- VIRTUAL-HEIGHT = 30.48
- VIRTUAL-WIDTH = 160
- 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 wBilder: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 wBilder
- /* ************************* 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 wBilder
- VISIBLE,,RUN-PERSISTENT */
- /* SETTINGS FOR FRAME fMain
- FRAME-NAME */
- /* SETTINGS FOR FILL-IN F_Artnr IN FRAME fMain
- 6 */
- /* SETTINGS FOR FILL-IN F_Bez IN FRAME fMain
- 6 */
- ASSIGN
- F_Bez:READ-ONLY IN FRAME fMain = TRUE.
- /* SETTINGS FOR FILL-IN F_Inhalt IN FRAME fMain
- 6 */
- /* SETTINGS FOR FILL-IN F_Jahr IN FRAME fMain
- 6 */
- IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(wBilder)
- THEN wBilder:HIDDEN = yes.
- /* _RUN-TIME-ATTRIBUTES-END */
- &ANALYZE-RESUME
-
- /* ************************ Control Triggers ************************ */
- &Scoped-define SELF-NAME wBilder
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL wBilder wBilder
- ON END-ERROR OF wBilder /* Bilder den Artikeln zuweisen */
- 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 wBilder wBilder
- ON WINDOW-CLOSE OF wBilder /* Bilder den Artikeln zuweisen */
- 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_Bilder
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Bilder wBilder
- ON CHOOSE OF Btn_Bilder IN FRAME fMain /* Lesen */
- DO:
-
- DEF VAR cInput AS CHAR NO-UNDO.
- DEF VAR cName AS CHAR NO-UNDO.
- DEF VAR cExt AS CHAR NO-UNDO.
- DEF VAR cArtikel AS CHAR NO-UNDO.
- DEF VAR cStrichcode AS CHAR NO-UNDO.
- DEF VAR cPfad AS CHAR NO-UNDO.
- DEF VAR iAnz AS INT NO-UNDO.
- DEF VAR ii AS INT NO-UNDO.
- DEF VAR lJa AS LOG NO-UNDO.
- DEF VAR cFormat AS CHAR NO-UNDO
- INIT 'png,jpg,tif,gif,bmp'.
- DEF VAR iRecid AS RECID NO-UNDO.
-
- EMPTY TEMP-TABLE tBilder.
-
- cPfad = F_Pfad:SCREEN-VALUE.
- IF SUBSTRING(cPfad,LENGTH(cPfad),01) <> '/' AND
- SUBSTRING(cPfad,LENGTH(cPfad),01) <> '\' THEN cPfad = cPfad + '\'.
- cDefPath = cPfad.
- PUT-KEY-VALUE SECTION 'eShop'
- KEY 'Bildpfad'
- VALUE cDefPath.
-
- SESSION:SET-WAIT-STATE('GENERAL').
-
- INPUT FROM OS-DIR(cPfad) NO-MAP NO-CONVERT.
- REPEAT TRANSACTION ON STOP UNDO, LEAVE:
- IMPORT cInput.
- cName = cPfad + cInput.
- FILE-INFO:FILE-NAME = cName.
- IF FILE-INFO:FILE-NAME = ? THEN NEXT.
- IF FILE-INFO:FULL-PATHNAME = ? THEN NEXT.
- IF NOT FILE-INFO:FILE-TYPE BEGINS 'F' THEN NEXT.
- iAnz = iAnz + 1.
- CREATE tBilder.
- ASSIGN tBilder.cName = FILE-INFO:FULL-PATHNAME
- tBilder.cDatei = REPLACE(FILE-INFO:FILE-NAME, cDefPath, '').
- tBilder.iNummer = iAnz.
- END.
- INPUT CLOSE.
-
- FOR EACH tBilder:
- ii = R-INDEX(tBilder.cDatei, '.').
- IF ii = 0 THEN NEXT.
- cExt = SUBSTRING(tBilder.cDatei,ii + 1).
- tBilder.cExt = cExt.
- IF LOOKUP(cExt, cFormat, ',') = 0 THEN DO:
- DELETE tBilder.
- NEXT.
- END.
- cArtikel = SUBSTRING(tBilder.cDatei,01,ii - 1).
- IF LENGTH(cArtikel) = 14 THEN DO:
- lJa = DYNAMIC-FUNCTION('isArtikelNrName':U, cArtikel ).
- IF lJa THEN DO:
- DELETE tBilder.
- NEXT.
- END.
- END.
- cStrichcode = ''.
- DO ii = 1 TO LENGTH(cArtikel):
- IF SUBSTRING(cArtikel,ii,01) >= '0' AND
- SUBSTRING(cArtikel,ii,01) <= '9' THEN DO:
- cStrichcode = cStrichcode + SUBSTRING(cArtikel,ii,01).
- NEXT.
- END.
- IF SUBSTRING(cArtikel,ii,01) >= 'A' AND
- SUBSTRING(cArtikel,ii,01) <= 'z' THEN DO:
- cStrichcode = cStrichcode + SUBSTRING(cArtikel,ii,01).
- NEXT.
- END.
- LEAVE.
- END.
- iRecid = ?.
- FOR EACH Artst NO-LOCK
- WHERE Artst.Firma = '1000'
- AND Artst.Strichcode = cStrichcode:
- iRecid = RECID(Artst).
- ASSIGN tBilder.iArtnr = Artst.Artnr
- tBilder.iInhalt = Artst.Inhalt
- tBilder.iJahr = Artst.Jahr
- tBilder.iRecid = iRecid.
- LEAVE.
- END.
- IF iRecid <> ? THEN NEXT.
- FOR EACH Artlief NO-LOCK
- WHERE Artlief.Firma = '1000'
- AND Artlief.Strichcode_KGeb = cStrichcode,
- FIRST Artst NO-LOCK OF ArtLief:
-
- iRecid = RECID(Artst).
- ASSIGN tBilder.iArtnr = ArtLief.Artnr
- tBilder.iInhalt = ArtLief.Inhalt
- tBilder.iJahr = ArtLief.Jahr
- tBilder.iRecid = iRecid.
- END.
- IF iRecid <> ? THEN NEXT.
- FOR EACH Artlief NO-LOCK
- WHERE Artlief.Firma = '1000'
- AND Artlief.Strichcode_VGeb = cStrichcode,
- FIRST Artst NO-LOCK OF ArtLief:
-
- iRecid = RECID(Artst).
- ASSIGN tBilder.iArtnr = ArtLief.Artnr
- tBilder.iInhalt = ArtLief.Inhalt
- tBilder.iJahr = ArtLief.Jahr
- tBilder.iRecid = iRecid.
- END.
- IF iRecid <> ? THEN NEXT.
- FOR EACH Artlief NO-LOCK
- WHERE Artlief.Firma = '1000'
- AND Artlief.Strichcode_GGeb = cStrichcode,
- FIRST Artst NO-LOCK OF ArtLief:
-
- iRecid = RECID(Artst).
- ASSIGN tBilder.iArtnr = ArtLief.Artnr
- tBilder.iInhalt = ArtLief.Inhalt
- tBilder.iJahr = ArtLief.Jahr
- tBilder.iRecid = iRecid.
- END.
- IF iRecid <> ? THEN NEXT.
- END.
-
- FOR EACH tBilder
- WHERE tBilder.iArtnr > 0:
- FIND Artst NO-LOCK WHERE RECID(Artst) = tBilder.iRecid NO-ERROR.
- IF NOT AVAILABLE Artst THEN NEXT.
- IF Artst.Res_c2 <> '' THEN DO:
- DELETE tBilder.
- NEXT.
- END.
- END.
-
- SESSION:SET-WAIT-STATE('').
-
- CREATE QUERY hQuery.
- hQuery:SET-BUFFERS( TEMP-TABLE tBilder:DEFAULT-BUFFER-HANDLE ).
- hQuery:QUERY-PREPARE('FOR EACH tBilder BY tBilder.iArtnr DESCENDING').
- hQuery:QUERY-OPEN().
- hQuery:GET-FIRST().
- IF NOT hQuery:QUERY-OFF-END THEN RUN LOAD_PICTURE ( RECID(tBilder) ).
-
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_Ende
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Ende wBilder
- ON CHOOSE OF Btn_Ende IN FRAME fMain /* schliessen */
- DO:
- RUN ENDE.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_Next
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Next wBilder
- ON CHOOSE OF Btn_Next IN FRAME fMain /* vorwärts */
- DO:
- RUN NEXT_PICTURE.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_OK
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK wBilder
- ON CHOOSE OF Btn_OK IN FRAME fMain /* Bestätigen */
- DO:
- RUN BESTAETIGUNG ( RECID(tBilder) ).
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_Prev
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Prev wBilder
- ON CHOOSE OF Btn_Prev IN FRAME fMain /* zurück */
- DO:
- RUN PREV_PICTURE.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Artnr
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Artnr wBilder
- ON ALT-F OF F_Artnr IN FRAME fMain /* Artikel */
- DO:
- DEF VAR iRecid AS RECID NO-UNDO.
-
- RUN g-suchen-artikel.w ( '', OUTPUT iRecid) NO-ERROR.
- IF iRecid = ? OR
- iRecid = 0 THEN RETURN NO-APPLY.
- FIND Artst NO-LOCK WHERE RECID(Artst) = iRecid.
- ASSIGN tBilder.iArtnr = Artst.Artnr
- tBilder.iInhalt = Artst.Artnr
- tBilder.iJahr = Artst.Artnr
- tBilder.iRecid = RECID(Artst).
- RUN LOAD_PICTURE ( RECID(tBilder) ).
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Jahr
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Jahr wBilder
- ON LEAVE OF F_Jahr IN FRAME fMain /* / */
- DO:
- DO WITH FRAME {&FRAME-NAME}:
- ASSIGN {&List-6}.
- FIND Artst NO-LOCK
- WHERE Artst.Firma = Firma
- AND Artst.Artnr = F_Artnr
- AND Artst.Inhalt = F_Inhalt
- AND Artst.Jahr = F_Jahr NO-ERROR.
- IF NOT AVAILABLE Artst THEN DO:
- MESSAGE 'ungültige Artikelnummer' VIEW-AS ALERT-BOX.
- APPLY 'ENTRY' TO F_Artnr.
- RETURN NO-APPLY.
- END.
- FIND FIRST Artbez NO-LOCK OF Artst.
- F_Bez = TRIM(Artbez.Bez1 + ' ' + Artbez.Bez2).
- DISPLAY {&List-6}.
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &UNDEFINE SELF-NAME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK wBilder
- /* *************************** 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 wBilder _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 BESTAETIGUNG wBilder
- PROCEDURE BESTAETIGUNG :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER ipRecid AS RECID NO-UNDO.
-
- DEF VAR cNeuerName AS CHAR NO-UNDO.
- DEF VAR cAlterName AS CHAR NO-UNDO.
-
- DO WITH FRAME {&FRAME-NAME}:
- ASSIGN {&List-6}.
- END.
-
- FIND btBilder WHERE RECID(btBilder) = ipRecid.
- ASSIGN btBilder.iArtnr = F_Artnr
- btBilder.iInhalt = F_Inhalt
- btBilder.iJahr = F_Jahr.
- REPEAT TRANSACTION:
- FIND Artst
- WHERE Artst.Firma = Firma
- AND Artst.Artnr = F_Artnr
- AND Artst.Inhalt = F_Inhalt
- AND Artst.Jahr = F_Jahr.
- Artst.Res_c2 = 'Ja'.
- RELEASE Artst.
- LEAVE.
- END.
-
- cNeuerName = cDefPath
- + STRING(F_Artnr ,'999999')
- + STRING(F_Inhalt,'9999')
- + STRING(F_Jahr ,'9999')
- + '.'
- + btBilder.cExt.
- cAlterName = cDefPath
- + btBilder.cDatei.
- IF SEARCH(cNeuerName) = ? THEN OS-COPY VALUE(cAlterName) VALUE(cNeuerName).
- IF SEARCH(cNeuerName) <> ? THEN OS-DELETE VALUE(cAlterName).
- APPLY 'ENTRY' TO F_Artnr.
- RETURN NO-APPLY.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE changePage wBilder
- 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 wBilder _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.
- ------------------------------------------------------------------------------*/
- /* Delete the WINDOW we created */
- IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(wBilder)
- THEN DELETE WIDGET wBilder.
- IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject wBilder
- 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 wBilder _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_Pfad F_Artnr F_Inhalt F_Jahr F_Bez
- WITH FRAME fMain IN WINDOW wBilder.
- ENABLE Bild F_Pfad Btn_Bilder Btn_Ende F_Artnr F_Inhalt F_Jahr F_Bez Btn_OK
- Btn_Prev Btn_Next
- WITH FRAME fMain IN WINDOW wBilder.
- {&OPEN-BROWSERS-IN-QUERY-fMain}
- VIEW wBilder.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE wBilder
- PROCEDURE ENDE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- IF VALID-HANDLE ( hQuery ) THEN DO:
- IF hQuery:QUERY-OPEN THEN hQuery:QUERY-CLOSE().
- DELETE OBJECT hQuery.
- END.
- { incl/winende.i }
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_CURSOR wBilder
- PROCEDURE ENTRY_CURSOR :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- 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 wBilder
- 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 initializeObject wBilder
- PROCEDURE initializeObject :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR cFwPath AS CHAR NO-UNDO.
-
- GET-KEY-VALUE SECTION 'eShop'
- KEY 'Bildpfad'
- VALUE cFwPath.
- IF cFwPath = ? THEN cFwPath = ''.
- F_Pfad = cFwPath.
- RUN SUPER.
- { incl/wininitializeobject.i }
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LOAD_PICTURE wBilder
- PROCEDURE LOAD_PICTURE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER ipRecid AS RECID NO-UNDO.
-
- FIND btBilder WHERE RECID(btBilder) = ipRecid.
-
- DO WITH FRAME {&FRAME-NAME}:
- IF btBilder.iArtnr > 0 THEN DO:
- FIND Artst NO-LOCK WHERE RECID(Artst) = btBilder.iRecid NO-ERROR.
- ASSIGN F_Artnr = Artst.Artnr
- F_Inhalt = Artst.Inhalt
- F_Jahr = Artst.Jahr.
- FIND FIRST Artbez NO-LOCK OF Artst.
- F_Bez = TRIM(Artbez.Bez1 + ' ' + Artbez.Bez2).
- END.
- ELSE DO:
- ASSIGN F_Artnr = 0
- F_Inhalt = 0
- F_Jahr = 0
- F_Bez = ''.
- END.
- DISPLAY {&List-6}.
- Bild:LOAD-IMAGE(btBilder.cName).
- APPLY 'ENTRY' TO F_Artnr.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NEXT_PICTURE wBilder
- PROCEDURE NEXT_PICTURE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- hQuery:GET-NEXT() NO-ERROR.
- IF hQuery:QUERY-OFF-END THEN DO:
- hQuery:GET-LAST().
- MESSAGE 'Letztes Bild' VIEW-AS ALERT-BOX.
- RETURN.
- END.
-
- RUN LOAD_PICTURE ( RECID(tBilder) ).
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PREV_PICTURE wBilder
- PROCEDURE PREV_PICTURE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- hQuery:GET-PREV() NO-ERROR.
- IF hQuery:QUERY-OFF-END THEN DO:
- hQuery:GET-FIRST().
- MESSAGE 'Erstes Bild' VIEW-AS ALERT-BOX.
- RETURN.
- END.
-
- RUN LOAD_PICTURE ( RECID(tBilder) ).
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SEITENWECHSEL wBilder
- PROCEDURE SEITENWECHSEL :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- { incl/winseitenwechsel.i }
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE selectPage wBilder
- 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 wBilder
- PROCEDURE TOOLBAR :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- { incl/wintoolbar.i }
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE viewObject wBilder
- 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 wBilder
- FUNCTION getProgname RETURNS CHARACTER
- ( /* parameter-definitions */ ) :
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- RETURN Progname.
- END FUNCTION.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION isArtikelNrName wBilder
- FUNCTION isArtikelNrName RETURNS LOGICAL
- ( ipcArtikel AS CHAR ) :
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR iArtnr AS INT NO-UNDO.
- DEF VAR iInhalt AS INT NO-UNDO.
- DEF VAR iJahr AS INT NO-UNDO.
-
- iArtnr = INTEGER(SUBSTRING(ipcArtikel,01,06)) NO-ERROR.
- IF iArtnr = 0 OR
- iArtnr = ? THEN RETURN FALSE.
- iInhalt = INTEGER(SUBSTRING(ipcArtikel,07,04)) NO-ERROR.
- IF iInhalt = 0 OR
- iInhalt = ? THEN RETURN FALSE.
- iJahr = INTEGER(SUBSTRING(ipcArtikel,11,04)) NO-ERROR.
- IF iJahr = 0 OR
- iJahr = ? THEN RETURN FALSE.
- FIND Artst NO-LOCK
- WHERE Artst.Firma = Firma
- AND Artst.Artnr = iArtnr
- AND Artst.Inhalt = iInhalt
- AND Artst.Jahr = iJahr NO-ERROR.
- IF NOT AVAILABLE Artst THEN RETURN FALSE.
-
- IF Artst.Res_c2 = 'Ja' THEN RETURN TRUE.
-
- RETURN FALSE.
- END FUNCTION.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
|