| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108 |
- &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
- &ANALYZE-RESUME
- /* Connected Databases
- anadat PROGRESS
- */
- &Scoped-define WINDOW-NAME CURRENT-WINDOW
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS bTableWin
- /*------------------------------------------------------------------------
- File: adm2\src\browser.w
- Description: SmartDataBrowser Object
- Input Parameters:
- <none>
- Output Parameters:
- <none>
- ------------------------------------------------------------------------*/
- /* 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 lAdmin AS LOG NO-UNDO.
- { incl/tmpbrowser.i }
- { incl/ttdruckparam.i }
- {src/adm2/widgetprto.i}
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
- /* ******************** Preprocessor Definitions ******************** */
- &Scoped-define PROCEDURE-TYPE SmartDataBrowser
- &Scoped-define DB-AWARE no
- &Scoped-define ADM-SUPPORTED-LINKS TableIO-Target,Data-Target,Update-Source
- /* Include file with RowObject temp-table definition */
- &Scoped-define DATA-FIELD-DEFS "d-savko.i"
- /* Name of designated FRAME-NAME and/or first browse and/or first query */
- &Scoped-define FRAME-NAME F-Main
- &Scoped-define BROWSE-NAME br_table
- /* Internal Tables (found by Frame, Query & Browse Queries) */
- &Scoped-define INTERNAL-TABLES rowObject
- /* Definitions for BROWSE br_table */
- &Scoped-define FIELDS-IN-QUERY-br_table rowObject.Faknr rowObject.Knr ~
- rowObject.Kunde rowObject.Fak_Art rowObject.Fak_Datum rowObject.Auf_Tot ~
- rowObject.Aufnr rowObject.U_Ref rowObject.Auf_Datum rowObject.Lief_Datum
- &Scoped-define ENABLED-FIELDS-IN-QUERY-br_table
- &Scoped-define QUERY-STRING-br_table FOR EACH rowObject NO-LOCK INDEXED-REPOSITION
- &Scoped-define OPEN-QUERY-br_table OPEN QUERY br_table FOR EACH rowObject NO-LOCK INDEXED-REPOSITION.
- &Scoped-define TABLES-IN-QUERY-br_table rowObject
- &Scoped-define FIRST-TABLE-IN-QUERY-br_table rowObject
- /* Definitions for FRAME F-Main */
- /* Standard List Definitions */
- &Scoped-Define ENABLED-OBJECTS RECT-1 br_table E_Adresse Btn_Drucken ~
- Btn_Gebinde
- &Scoped-Define DISPLAYED-OBJECTS E_Adresse
- /* Custom List Definitions */
- /* List-1,List-2,List-3,List-4,List-5,List-6 */
- /* _UIB-PREPROCESSOR-BLOCK-END */
- &ANALYZE-RESUME
- /* ************************ Function Prototypes ********************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD checkMSSQL bTableWin
- FUNCTION checkMSSQL RETURNS LOGICAL
- ( ipFaknr AS INTEGER ) FORWARD.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD setZeilenfarbe bTableWin
- FUNCTION setZeilenfarbe RETURNS LOGICAL
- ( ipFarbe AS INTEGER ) FORWARD.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* *********************** Control Definitions ********************** */
- /* Menu Definitions */
- DEFINE MENU POPUP-MENU-br_table
- MENU-ITEM X_RECHNUNG_LOESCHEN LABEL "Rechnung löschen/stornieren"
- MENU-ITEM X_IN_AUFTRAG_ZURUECK LABEL "In Auftrag zurück (von - bis Fak-Datum)".
- /* Definitions of the field level widgets */
- DEFINE BUTTON Btn_Drucken
- LABEL "Drucken"
- SIZE 15 BY 1.
- DEFINE BUTTON Btn_Gebinde
- LABEL "Gebinde"
- SIZE 15 BY 1.
- DEFINE VARIABLE E_Adresse AS CHARACTER
- VIEW-AS EDITOR
- SIZE 48 BY 6.67
- BGCOLOR 15 NO-UNDO.
- DEFINE RECTANGLE RECT-1
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 182 BY 11.43.
- /* Query definitions */
- &ANALYZE-SUSPEND
- DEFINE TEMP-TABLE RowObject NO-UNDO
- {{&DATA-FIELD-DEFS}}
- {src/adm2/robjflds.i}.
- DEFINE QUERY br_table FOR
- rowObject SCROLLING.
- &ANALYZE-RESUME
- /* Browse definitions */
- DEFINE BROWSE br_table
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS br_table bTableWin _STRUCTURED
- QUERY br_table NO-LOCK DISPLAY
- rowObject.Faknr FORMAT "9999999":U
- rowObject.Knr FORMAT "999999":U
- rowObject.Kunde FORMAT "x(60)":U WIDTH 50
- rowObject.Fak_Art FORMAT "99":U
- rowObject.Fak_Datum FORMAT "99.99.9999":U
- rowObject.Auf_Tot FORMAT "zzz,zzz,zz9.99-":U
- rowObject.Aufnr FORMAT "9999999":U
- rowObject.U_Ref FORMAT "x(20)":U WIDTH 10
- rowObject.Auf_Datum FORMAT "99.99.9999":U
- rowObject.Lief_Datum FORMAT "99.99.9999":U
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- WITH NO-ASSIGN NO-AUTO-VALIDATE NO-ROW-MARKERS SEPARATORS SIZE 128 BY 10.95.
- /* ************************ Frame Definitions *********************** */
- DEFINE FRAME F-Main
- br_table AT ROW 1.48 COL 3 WIDGET-ID 200
- E_Adresse AT ROW 1.57 COL 133.4 NO-LABEL WIDGET-ID 4 NO-TAB-STOP
- Btn_Drucken AT ROW 10 COL 140 WIDGET-ID 6
- Btn_Gebinde AT ROW 10 COL 160 WIDGET-ID 10
- RECT-1 AT ROW 1.24 COL 2 WIDGET-ID 2
- WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
- SIDE-LABELS NO-UNDERLINE THREE-D
- AT COL 1 ROW 1 SCROLLABLE WIDGET-ID 100.
- /* *********************** Procedure Settings ************************ */
- &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
- /* Settings for THIS-PROCEDURE
- Type: SmartDataBrowser
- Data Source: "d-savko.w"
- Allow: Basic,Browse
- Frames: 1
- Add Fields to: Neither
- Other Settings: PERSISTENT-ONLY COMPILE
- */
- /* This procedure should always be RUN PERSISTENT. Report the error, */
- /* then cleanup and return. */
- IF NOT THIS-PROCEDURE:PERSISTENT THEN
- DO:
- MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
- VIEW-AS ALERT-BOX ERROR BUTTONS OK.
- RETURN.
- END.
- &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
- /* ************************* Create Window ************************** */
- &ANALYZE-SUSPEND _CREATE-WINDOW
- /* DESIGN Window definition (used by the UIB)
- CREATE WINDOW bTableWin ASSIGN
- HEIGHT = 11.91
- WIDTH = 184.
- /* END WINDOW DEFINITION */
- */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB bTableWin
- /* ************************* Included-Libraries *********************** */
- {src/adm2/browser.i}
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* *********** Runtime Attributes and AppBuilder Settings *********** */
- &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
- /* SETTINGS FOR WINDOW bTableWin
- NOT-VISIBLE,,RUN-PERSISTENT */
- /* SETTINGS FOR FRAME F-Main
- NOT-VISIBLE FRAME-NAME Size-to-Fit */
- /* BROWSE-TAB br_table RECT-1 F-Main */
- ASSIGN
- FRAME F-Main:SCROLLABLE = FALSE
- FRAME F-Main:HIDDEN = TRUE.
- ASSIGN
- br_table:POPUP-MENU IN FRAME F-Main = MENU POPUP-MENU-br_table:HANDLE.
- ASSIGN
- E_Adresse:READ-ONLY IN FRAME F-Main = TRUE.
- /* _RUN-TIME-ATTRIBUTES-END */
- &ANALYZE-RESUME
- /* Setting information for Queries and Browse Widgets fields */
- &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE br_table
- /* Query rebuild information for BROWSE br_table
- _TblList = "rowObject"
- _Options = "NO-LOCK INDEXED-REPOSITION"
- _FldNameList[1] > _<SDO>.rowObject.Faknr
- "rowObject.Faknr" ? "9999999" "integer" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[2] = _<SDO>.rowObject.Knr
- _FldNameList[3] > _<SDO>.rowObject.Kunde
- "rowObject.Kunde" ? ? "character" ? ? ? ? ? ? no ? no no "50" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[4] = _<SDO>.rowObject.Fak_Art
- _FldNameList[5] = _<SDO>.rowObject.Fak_Datum
- _FldNameList[6] = _<SDO>.rowObject.Auf_Tot
- _FldNameList[7] > _<SDO>.rowObject.Aufnr
- "rowObject.Aufnr" ? ? "integer" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[8] > _<SDO>.rowObject.U_Ref
- "rowObject.U_Ref" ? ? "character" ? ? ? ? ? ? no ? no no "10" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _FldNameList[9] = _<SDO>.rowObject.Auf_Datum
- _FldNameList[10] = _<SDO>.rowObject.Lief_Datum
- _Query is NOT OPENED
- */ /* BROWSE br_table */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
- /* Query rebuild information for FRAME F-Main
- _Options = "NO-LOCK"
- _Query is NOT OPENED
- */ /* FRAME F-Main */
- &ANALYZE-RESUME
-
- /* ************************ Control Triggers ************************ */
- &Scoped-define BROWSE-NAME br_table
- &Scoped-define SELF-NAME br_table
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
- ON CTRL-END OF br_table IN FRAME F-Main
- DO:
- APPLY "END":U TO BROWSE {&BROWSE-NAME}.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
- ON CTRL-HOME OF br_table IN FRAME F-Main
- DO:
- APPLY "HOME":U TO BROWSE {&BROWSE-NAME}.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
- ON CTRL-P OF br_table IN FRAME F-Main
- DO:
- RUN DRUCKEN IN THIS-PROCEDURE.
- APPLY 'U1'.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
- ON DEFAULT-ACTION OF br_table IN FRAME F-Main
- DO:
- {src/adm2/brsdefault.i}
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
- ON END OF br_table IN FRAME F-Main
- DO:
- {src/adm2/brsend.i}
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
- ON ENTRY OF br_table IN FRAME F-Main
- DO:
- APPLY 'VALUE-CHANGED' TO BROWSE {&BROWSE-NAME}.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
- ON HOME OF br_table IN FRAME F-Main
- DO:
- {src/adm2/brshome.i}
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
- ON LEFT-MOUSE-CLICK OF br_table IN FRAME F-Main
- DO:
- APPLY 'ENTRY' TO {&BROWSE-NAME}.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
- ON LEFT-MOUSE-DBLCLICK OF br_table IN FRAME F-Main
- DO:
- IF NOT VALID-HANDLE( hFenster ) THEN RETURN NO-APPLY.
- RUN TOOLBAR IN hFenster ( INPUT 'UPDATE' ).
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
- ON OFF-END OF br_table IN FRAME F-Main
- DO:
- {src/adm2/brsoffnd.i}
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
- ON OFF-HOME OF br_table IN FRAME F-Main
- DO:
- {src/adm2/brsoffhm.i}
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
- ON ROW-ENTRY OF br_table IN FRAME F-Main
- DO:
- {src/adm2/brsentry.i}
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
- ON ROW-LEAVE OF br_table IN FRAME F-Main
- DO:
- {src/adm2/brsleave.i}
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
- ON SCROLL-NOTIFY OF br_table IN FRAME F-Main
- DO:
- {src/adm2/brsscrol.i}
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
- ON START-SEARCH OF br_table IN FRAME F-Main
- DO:
- { incl/brwstartsearch.i }
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin
- ON VALUE-CHANGED OF br_table IN FRAME F-Main
- DO:
- {src/adm2/brschnge.i}
- RUN ANZEIGEN_ADRESSE.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_Drucken
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Drucken bTableWin
- ON CHOOSE OF Btn_Drucken IN FRAME F-Main /* Drucken */
- DO:
- RUN DRUCKEN IN THIS-PROCEDURE.
- APPLY 'U1'.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_Gebinde
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Gebinde bTableWin
- ON CHOOSE OF Btn_Gebinde IN FRAME F-Main /* Gebinde */
- DO:
- RUN GEBINDE IN THIS-PROCEDURE.
- APPLY 'U1'.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &UNDEFINE SELF-NAME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK bTableWin
- /* *************************** Main Block *************************** */
- { incl/brwmainblock.i }
- { incl/brwinternproc.i }
- cInstallation = DYNAMIC-FUNCTION ('getInstallation':U) NO-ERROR.
- &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
- RUN initializeObject.
- &ENDIF
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* ********************** Internal Procedures *********************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ANZEIGEN_ADRESSE bTableWin
- PROCEDURE ANZEIGEN_ADRESSE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE iRecid AS RECID NO-UNDO.
- DEFINE VARIABLE ii AS INTEGER NO-UNDO.
- DEFINE VARIABLE lPassant AS LOG NO-UNDO.
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
-
- DEFINE BUFFER bSavko FOR Savko .
- DEFINE BUFFER bAdresse FOR Adresse .
- DEFINE BUFFER bDebst FOR Debst .
- DEFINE BUFFER bPassant FOR Passant .
-
- E_Adresse:SCREEN-VALUE IN FRAME {&FRAME-NAME} = ''.
- IF NOT VALID-HANDLE(hDaten) THEN hDaten = DYNAMIC-FUNCTION ('getDataSource':U) NO-ERROR.
- iRecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten ) NO-ERROR.
- IF iRecid = ? OR
- iRecid = 0 THEN RETURN.
- FIND bSavko NO-LOCK WHERE RECID(bSavko) = iRecid NO-ERROR.
- IF NOT AVAILABLE bSavko THEN RETURN.
-
- FIND bDebst NO-LOCK
- WHERE bDebst.Firma = bSavko.Firma
- AND bDebst.Knr = bSavko.Fak_Knr NO-ERROR.
- IF bDebst.Passant THEN
- DO:
- FIND bPassant NO-LOCK
- WHERE bPassant.Firma = bSavko.Firma
- AND bPassant.Knr = bSavko.Fak_Knr
- AND bPassant.Faknr = bSavko.Faknr NO-ERROR.
- IF AVAILABLE bPassant THEN
- DO:
- DO ii = 1 TO 5:
- IF bPassant.Adr[ii] = '' THEN NEXT.
- cString = cString
- + (IF cString = '' THEN '' ELSE CHR(10))
- + bPassant.Adr[ii].
- lPassant = TRUE.
- END.
- END.
- END.
- ELSE
- DO:
- DO ii = 1 TO 5:
- IF bSavko.Adresse[ii] = '' THEN NEXT.
- cString = cString
- + (IF cString = '' THEN '' ELSE CHR(10))
- + bSavko.Adresse[ii].
- lPassant = TRUE.
- END.
- END.
- IF lPassant THEN
- DO:
- E_Adresse:SCREEN-VALUE IN FRAME {&FRAME-NAME} = cString.
- E_Adresse:BGCOLOR = 14.
- RETURN.
- END.
- FIND bAdresse NO-LOCK
- WHERE bAdresse.Firma = AdFirma
- AND bAdresse.Knr = bSavko.Knr NO-ERROR.
- IF NOT AVAILABLE bAdresse THEN RETURN.
- DO ii = 3 TO 12:
- cString = cString
- + (IF ii = 3 THEN '' ELSE CHR(10))
- + bAdresse.Anschrift[ii].
- END.
- E_Adresse:SCREEN-VALUE IN FRAME {&FRAME-NAME} = cString.
- E_Adresse:BGCOLOR = 15.
- RELEASE bSavko.
- RELEASE bAdresse.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE destroyObject bTableWin
- PROCEDURE destroyObject :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE hBrowser AS HANDLE NO-UNDO.
- hBrowser = {&BROWSE-NAME}:HANDLE IN FRAME {&FRAME-NAME}.
- DYNAMIC-FUNCTION('setBrowserDaten':U, INPUT hBrowser,
- INPUT Sektion ) NO-ERROR.
- RUN SUPER.
- /* Code placed here will execute AFTER standard behavior. */
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI bTableWin _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 F-Main.
- IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DRUCKEN bTableWin
- PROCEDURE DRUCKEN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE cUser AS CHARACTER NO-UNDO.
- DEFINE VARIABLE iVDRecid AS RECID NO-UNDO.
- DEFINE VARIABLE ii AS INTEGER NO-UNDO.
- DEFINE VARIABLE cResult AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cDruckProgramm AS CHARACTER NO-UNDO.
- DEFINE VARIABLE lSammFak AS LOG NO-UNDO.
- DEFINE VARIABLE iRuestArt AS INTEGER NO-UNDO.
- DEFINE VARIABLE iRecid AS RECID NO-UNDO.
- DEFINE VARIABLE iAufnr AS INTEGER NO-UNDO.
- DEFINE VARIABLE cRetVal AS CHARACTER NO-UNDO.
- DEFINE BUFFER bViperDoc FOR ViperDoc.
- DEFINE BUFFER bSavko FOR Savko.
- IF NOT VALID-HANDLE (hDaten) THEN hDaten = DYNAMIC-FUNCTION('getDataSource':U) NO-ERROR.
- iRecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten) NO-ERROR.
- IF iRecid = ? OR
- iRecid = 0 THEN RETURN.
-
- FIND bSavko NO-LOCK WHERE RECID(bSavko) = iRecid.
- ASSIGN
- iAufnr = bSavko.Aufnr.
- EMPTY TEMP-TABLE tParam.
- CREATE tParam.
-
- FIND Steuer NO-LOCK
- WHERE Steuer.Firma = D1Firma.
- ASSIGN
- iRuestArt = Steuer.RuestArt.
-
- ASSIGN
- tParam.cFirma = bSavko.Firma
- tParam.iRecid = RECID(bSavko)
- tParam.iAufnr = bSavko.Aufnr
- tParam.iKnr = bSavko.Knr
- tParam.iFak_Knr = bSavko.Fak_Knr
- tParam.iFakArt = bSavko.Fak_Art
- tParam.iFaknr = bSavko.Faknr
- tParam.dFakDatum = bSavko.Fak_Datum
- tParam.iAufSta = bSavko.Auf_Sta
- tParam.iVerband = bSavko.Ku_Grp
- tParam.cBenutzer = DYNAMIC-FUNCTION('getBenutzer':U)
- tParam.cDBUser = DYNAMIC-FUNCTION('getDBUser':U)
- tParam.cWinUser = DYNAMIC-FUNCTION('getSysUser':U)
- tParam.cInstall = DYNAMIC-FUNCTION('getInstallation':U)
- tParam.lPreis = TRUE
- .
- CASE cInstallation:
- WHEN 'oswald' THEN
- DO:
- IF bSavko.Fak_Art = 30 THEN
- DO:
- RUN 'v8/c-p_oswald-sk.w' ( INPUT htParam ).
- RETURN cRetVal.
- END.
- END.
- END CASE.
-
- FIND FIRST Tabel NO-LOCK
- WHERE Tabel.Firma = tParam.cFirma
- AND Tabel.RecArt = 'FAKART'
- AND Tabel.CodeI = bSavko.Fak_Art NO-ERROR.
- tParam.cDokument = Tabel.Bez2.
- lSammFak = (IF Tabel.Int_3 = 4 THEN TRUE ELSE FALSE).
-
- iVDRecid = ?.
- DO ii = 1 TO 3:
- CASE ii:
- WHEN 1 THEN
- cUser = tParam.cBenutzer.
- WHEN 2 THEN
- cUser = tParam.cDBUser.
- WHEN 3 THEN
- cUser = tParam.cWinUser.
- END CASE.
-
- FIND FIRST ViperDoc NO-LOCK
- WHERE ViperDoc.Firma = bSavko.Firma
- AND ViperDoc.Benutzer = cUser
- AND ViperDoc.Formular = tParam.cDokument
- AND ViperDoc.DokArt = bSavko.Ku_Grp NO-ERROR.
- IF AVAILABLE ViperDoc THEN
- DO:
- iVDRecid = RECID(ViperDoc).
- LEAVE.
- END.
- END.
- DO WHILE iVDREcid = ?:
- FIND FIRST ViperDoc NO-LOCK
- WHERE ViperDoc.Firma = bSavko.Firma
- AND ViperDoc.Formular = tParam.cDokument
- AND ViperDoc.DokArt = bSavko.Ku_Grp NO-ERROR.
- IF NOT AVAILABLE ViperDoc THEN
- DO:
- MESSAGE 'Es ist keine Drucker-Formular-Definition hinterlegt'
- VIEW-AS ALERT-BOX ERROR.
- APPLY 'U1'.
- RETURN NO-APPLY.
- END.
- REPEAT TRANSACTION:
- CREATE bViperDoc.
- BUFFER-COPY ViperDoc
- EXCEPT Benutzer
- TO bViperDoc
- ASSIGN
- bViperDoc.Benutzer = tParam.cBenutzer.
- iVDRecid = RECID(bViperDoc).
- RELEASE bViperDoc.
- RELEASE ViperDoc.
- LEAVE.
- END.
- LEAVE.
- END.
- ASSIGN
- tParam.iVDRecid = iVDRecid
- tParam.lBatch = FALSE.
-
- RELEASE bSavko.
- RELEASE ViperDoc.
- RELEASE Tabel.
- RUN 'g-druck-bestaetigung.w':U ( INPUT-OUTPUT htParam, OUTPUT cResult ).
- IF cResult <> 'OK' THEN
- DO:
- APPLY 'U1'.
- RETURN NO-APPLY.
- END.
- FIND FIRST tParam.
- cDruckProgramm = SUBSTITUTE('DruckProgramme/&1/Sav_&2',
- cInstallation,
- tParam.Programm ).
- IF cDruckProgramm = ? THEN
- DO:
- MESSAGE 'Druckprogramm nicht gefunden' VIEW-AS ALERT-BOX ERROR.
- APPLY 'U1'.
- RETURN NO-APPLY.
- END.
- RUN VALUE(cDruckProgramm) ( htParam, OUTPUT cResult ).
-
- RETURN cResult.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_BROWSE bTableWin
- PROCEDURE ENTRY_BROWSE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- APPLY 'ENTRY' TO {&BROWSE-NAME} IN FRAME {&FRAME-NAME}.
- RETURN NO-APPLY.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE GEBINDE bTableWin
- PROCEDURE GEBINDE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE iRecid AS RECID NO-UNDO.
- DEFINE VARIABLE iAufnr AS INTEGER NO-UNDO.
-
- DEFINE BUFFER bSavko FOR Savko.
-
- iRecid = DYNAMIC-FUNCTION ('getCurrentRecid':U IN hDaten ) NO-ERROR.
- IF iRecid = ? OR
- iRecid = ? THEN
- DO:
- APPLY 'U1'.
- RETURN NO-APPLY.
- END.
-
- FIND bSavko NO-LOCK WHERE RECID(bSavko) = iRecid NO-ERROR.
- IF NOT AVAILABLE bSavko THEN
- DO:
- APPLY 'U1'.
- RETURN NO-APPLY.
- END.
-
- iAufnr = bSavko.Aufnr.
-
- RUN 'g-savgebko.w' ( INPUT iAufnr ) NO-ERROR.
- APPLY 'U1'.
- RETURN NO-APPLY.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject bTableWin
- PROCEDURE initializeObject :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- { incl/brwinitialize.i }
-
- lAdmin = DYNAMIC-FUNCTION('getAdmin':U) NO-ERROR.
- APPLY 'VALUE-CHANGED':U TO hItem_sort.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE IN_AUFTRAG_ZURUECK bTableWin
- PROCEDURE IN_AUFTRAG_ZURUECK :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE fNeuFnr AS LOG INIT FALSE NO-UNDO.
- DEFINE VARIABLE fNochmals AS LOG INIT TRUE NO-UNDO.
- DEFINE VARIABLE lSpez AS LOG INIT TRUE NO-UNDO.
- DEFINE VARIABLE cDateiName AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cBenutzer AS CHARACTER NO-UNDO.
- DEFINE VARIABLE fOK AS LOG NO-UNDO.
-
- DEFINE VARIABLE iKnr AS INTEGER NO-UNDO.
- DEFINE VARIABLE dvonFakdat AS DATE FORMAT '99.99.9999' NO-UNDO.
- DEFINE VARIABLE dbisFakdat AS DATE FORMAT '99.99.9999' NO-UNDO.
-
- iKnr = 0.
- RUN g-spezloeschen.w ( INPUT-OUTPUT iKnr,
- INPUT-OUTPUT dvonFakDat,
- INPUT-OUTPUT dbisFakDat).
- IF iKnr = 0 THEN RETURN NO-APPLY.
- SESSION:SET-WAIT-STATE('GENERAL').
- FOR EACH Savko NO-LOCK
- WHERE Savko.Firma = D1Firma
- AND Savko.Knr = iKnr
- AND Savko.Fak_Datum >= dvonFakDat
- AND Savko.Fak_Datum <= dbisFakDat:
-
- RUN "v8/loeschen_rechnung.p" ( Savko.Firma, Savko.Knr, Savko.Faknr, fNochmals, fNeuFnr, lSpez ).
- END.
- SESSION:SET-WAIT-STATE('').
-
- DYNAMIC-FUNCTION('openQuery':U IN hDaten ) NO-ERROR.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RECHNUNG_LOESCHEN bTableWin
- PROCEDURE RECHNUNG_LOESCHEN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE cDateiName AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cBenutzer AS CHARACTER NO-UNDO.
-
- DEFINE VARIABLE iRecid AS RECID NO-UNDO.
- DEFINE VARIABLE lOK AS LOG NO-UNDO.
- DEFINE VARIABLE lNochmals AS LOG INIT FALSE NO-UNDO.
- DEFINE VARIABLE lNeuFnr AS LOG INIT FALSE NO-UNDO.
- DEFINE VARIABLE lSpez AS LOG INIT FALSE NO-UNDO.
-
- DEFINE BUFFER bSavko FOR Savko.
- IF NOT lAdmin THEN RETURN NO-APPLY.
-
- iRecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten ) NO-ERROR.
- IF iRecid = ? OR
- iRecid = 0 THEN RETURN NO-APPLY.
- FIND bSavko NO-LOCK
- WHERE RECID(bSavko) = iRecid.
- FIND Steuer NO-LOCK
- WHERE Steuer.Firma = bSavko.Firma NO-ERROR.
- IF NOT AVAILABLE Steuer THEN RETURN NO-APPLY.
-
- IF Steuer.Fwc09 = 'SESAM' THEN
- DO:
- lOK = DYNAMIC-FUNCTION('checkMSSQL':U, INPUT bSavko.Faknr ).
- IF NOT lOK THEN
- DO:
- FIND Debop NO-LOCK
- WHERE Debop.Firma = bSavko.Firma
- AND Debop.Knr = bSavko.Knr
- AND Debop.Faknr = bSavko.Faknr NO-ERROR.
- MESSAGE 'Diese Rechnung ist bereits im SESAM' SKIP
- 'trotzedem weiterfahren ? ' SKIP
- VIEW-AS ALERT-BOX QUESTION BUTTONS YES-NO
- UPDATE lOK.
- IF NOT lOK THEN RETURN NO-APPLY.
- END.
- END.
- lOK = FALSE.
- MESSAGE 'Wollen Sie die Rechnung ' bSavko.Faknr ' und eventuelle Zahlungen' SKIP
- 'komplett stornieren/löschen ?'
- VIEW-AS ALERT-BOX QUESTION BUTTONS YES-NO
- UPDATE lOK.
- IF NOT lOK THEN RETURN NO-APPLY.
- MESSAGE 'Wollen Sie die Rechnung danach nochmals verbuchen ?'
- VIEW-AS ALERT-BOX QUESTION BUTTONS YES-NO
- UPDATE lNochmals.
-
- IF lNochmals THEN
- DO:
- MESSAGE 'Wollen Sie eine neue Rechnungsnummer zuteilen ?'
- VIEW-AS ALERT-BOX QUESTION BUTTONS YES-NO
- UPDATE lNeuFnr.
- END.
- IF lNeuFnr THEN
- DO:
- MESSAGE 'es wird eine neue Rechnungsnummer zugeteilt' VIEW-AS ALERT-BOX INFORMATION.
- END.
-
- lOK = FALSE.
- MESSAGE 'Verarbeitung starten ?'
- VIEW-AS ALERT-BOX QUESTION BUTTONS YES-NO
- UPDATE lOK.
- IF NOT lOK THEN RETURN NO-APPLY.
- SESSION:SET-WAIT-STATE('GENERAL').
- RUN "v8/loeschen_rechnung.p" ( bSavko.Firma, bSavko.Knr, bSavko.Faknr, lNochmals, lNeuFnr, lSpez ).
- DYNAMIC-FUNCTION('openquery':U IN hDaten ) NO-ERROR.
- SESSION:SET-WAIT-STATE('').
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* ************************ Function Implementations ***************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION checkMSSQL bTableWin
- FUNCTION checkMSSQL RETURNS LOGICAL
- ( ipFaknr AS INTEGER ) :
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE ObjRecordSet AS COMPONENT-HANDLE NO-UNDO.
- DEFINE VARIABLE ObjConnection AS COMPONENT-HANDLE NO-UNDO.
- DEFINE VARIABLE ObjCommand AS COMPONENT-HANDLE NO-UNDO.
- DEFINE VARIABLE ODBC-DSN AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ODBC-SERVER AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ODBC-USERID AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ODBC-PASSWD AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ODBC-QUERY AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ODBC-STATUS AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ODBC-RECCOUNT AS INTEGER NO-UNDO.
- DEFINE VARIABLE ODBC-NULL AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ODBC-CURSOR AS INTEGER NO-UNDO.
- DEFINE VARIABLE cConnCommand AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cDSN AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cServer AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ix AS INTEGER NO-UNDO.
- DEFINE VARIABLE ii AS INTEGER NO-UNDO.
- DEFINE VARIABLE lOK AS LOG INIT FALSE NO-UNDO.
- CREATE "ADODB.Connection" ObjConnection NO-ERROR.
- CREATE "ADODB.RecordSet" ObjRecordSet NO-ERROR.
- CREATE "ADODB.Command" ObjCommand NO-ERROR.
- GET-KEY-VALUE SECTION 'Grundeinstellungen'
- KEY 'SQLServer'
- VALUE cServer.
- IF cServer = ? THEN RETURN lOK.
- IF cServer = '' THEN RETURN lOK.
-
- GET-KEY-VALUE SECTION 'Grundeinstellungen'
- KEY 'SQLDSN'
- VALUE cDSN.
- IF cDSN = ? THEN RETURN lOK.
- IF cDSN = '' THEN RETURN lOK.
-
- ASSIGN
- ODBC-STATUS = ''
- ODBC-NULL = ''
- ODBC-DSN = cDSN
- ODBC-SERVER = cServer
- ODBC-USERID = 'gebtools'
- ODBC-PASSWD = 'gebtools'
- ODBC-QUERY = ''.
- cConnCommand = 'data source='
- + ODBC-DSN
- + ';server='
- + ODBC-SERVER
- .
- ObjConnection:Open ( cConnCommand, ODBC-USERID, ODBC-PASSWD, 0 ) NO-ERROR.
- IF ( ERROR-STATUS:NUM-MESSAGES > 0 ) THEN
- DO:
- ii = ERROR-STATUS:NUM-MESSAGES.
- ODBC-STATUS = "Error: keine Verbindung zu Datenserver "
- + cConnCommand.
- MESSAGE ODBC-STATUS VIEW-AS ALERT-BOX.
- DO ix = 1 TO ii:
- MESSAGE 'Fehlerbeschreibung:' ERROR-STATUS:GET-MESSAGE(ix) VIEW-AS ALERT-BOX.
- END.
- RETURN lOK.
- END.
-
- DO WHILE TRUE:
- ASSIGN
- ObjCommand:ActiveConnection = ObjConnection
- ObjCommand:CommandType = 1 /* adCmdText */
- ObjConnection:CursorLocation = 3 /* adUseClient */
- ObjRecordSet:CursorType = 3 /* adOpenStatic */.
-
- ODBC-QUERY = "SELECT OpId "
- + "FROM [Huber].[dbo].[Beleg] WHERE OpId = '"
- + TRIM(STRING(ipFaknr,'>>>>>>>>'))
- + "' ".
-
- ASSIGN
- ObjCommand:CommandText = ODBC-QUERY
- ObjRecordSet = ObjCommand:EXECUTE( OUTPUT ODBC-NULL, '', 32 )
- ODBC-RECCOUNT = ObjRecordSet:RecordCount NO-ERROR.
-
- IF ODBC-RECCOUNT = ? THEN ODBC-RECCOUNT = 0.
- IF ODBC-RECCOUNT = 0 THEN lOK = TRUE .
- LEAVE.
- END.
-
- ObjConnection:Close NO-ERROR.
- RELEASE OBJECT ObjConnection NO-ERROR.
- RELEASE OBJECT ObjCommand NO-ERROR.
- RELEASE OBJECT ObjRecordSet NO-ERROR.
- RETURN lOK.
- END FUNCTION.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION setZeilenfarbe bTableWin
- FUNCTION setZeilenfarbe RETURNS LOGICAL
- ( ipFarbe AS INTEGER ) :
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- { incl/brwsetzeilenfarbe.i }
- END FUNCTION.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
|