&ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS Procedure /*------------------------------------------------------------------------ File : Purpose : Syntax : Description : Author(s) : Created : Notes : ----------------------------------------------------------------------*/ /* This .W file was created with the Progress AppBuilder. */ /*----------------------------------------------------------------------*/ /* *************************** Definitions ************************** */ DEF VAR cFirma AS CHAR INIT '1000' NO-UNDO. DEF VAR cPDFDocument AS CHAR NO-UNDO. DEF VAR coldDocument AS CHAR NO-UNDO. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK /* ******************** Preprocessor Definitions ******************** */ &Scoped-define PROCEDURE-TYPE Procedure &Scoped-define DB-AWARE no /* _UIB-PREPROCESSOR-BLOCK-END */ &ANALYZE-RESUME /* ************************ Function Prototypes ********************** */ &IF DEFINED(EXCLUDE-getPDFDocument) = 0 &THEN &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getPDFDocument Procedure FUNCTION getPDFDocument RETURNS CHARACTER ( ipAufnr AS INT, ipDokArt AS CHAR ) FORWARD. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ENDIF /* *********************** Procedure Settings ************************ */ &ANALYZE-SUSPEND _PROCEDURE-SETTINGS /* Settings for THIS-PROCEDURE Type: Procedure Allow: Frames: 0 Add Fields to: Neither Other Settings: CODE-ONLY COMPILE */ &ANALYZE-RESUME _END-PROCEDURE-SETTINGS /* ************************* Create Window ************************** */ &ANALYZE-SUSPEND _CREATE-WINDOW /* DESIGN Window definition (used by the UIB) CREATE WINDOW Procedure ASSIGN HEIGHT = 15 WIDTH = 60. /* END WINDOW DEFINITION */ */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK Procedure /* *************************** Main Block *************************** */ DEF VAR cDokArt AS CHAR NO-UNDO. DEF VAR cPath AS CHAR NO-UNDO. DEF VAR ii AS INT NO-UNDO. FOR EACH Savko NO-LOCK WHERE Savko.Fak_Datum >= 01/01/2015 BREAK BY Savko.Faknr: IF NOT FIRST-OF (Savko.Faknr) THEN NEXT. CASE Savko.Fak_Art: WHEN 11 THEN cDokArt = 'LieferFak'. WHEN 21 THEN cDokArt = 'Faktura'. WHEN 31 THEN cDokArt = 'SammFak'. WHEN 32 THEN cDokArt = 'SammFak'. WHEN 33 THEN cDokArt = 'SammFak'. END CASE. cPDFDocument = SUBSTITUTE('&1-&2_&3.pdf', STRING(Savko.Fak_Knr,'999999'), STRING(Savko.Faknr ,'9999999'), cDokArt). cOldDocument = DYNAMIC-FUNCTION('getPDFDocument':U, Savko.Aufnr, cDokArt ). IF cOldDocument = ? OR cOldDocument = '' THEN NEXT. ii = R-INDEX(cOldDocument, '\'). IF ii = 0 THEN ii = R-INDEX(cOldDocument, '/'). cPDFDocument = SUBSTRING(cOldDocument,01,ii) + cPDFDocument. IF cPDFDocument = cOldDocument THEN NEXT. OS-RENAME VALUE(cOldDocument) VALUE(cPDFDocument). END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ************************ Function Implementations ***************** */ &IF DEFINED(EXCLUDE-getPDFDocument) = 0 &THEN &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getPDFDocument Procedure FUNCTION getPDFDocument RETURNS CHARACTER ( ipAufnr AS INT, ipDokArt AS CHAR ) : /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ DEF VAR cDokument AS CHAR NO-UNDO. DEF BUFFER bSavko FOR Savko. FIND bSavko NO-LOCK WHERE bSavko.Firma = cFirma AND bSavko.Aufnr = ipAufnr NO-ERROR. IF NOT AVAILABLE bSavko THEN RETURN ''. cDokument = SUBSTITUTE('Rechnungen/&1-&2_&3.pdf', STRING(bSavko.Knr ,'999999'), STRING(bSavko.Faknr,'9999999'), ipDokArt). FILE-INFO:FILE-NAME = cDokument. IF FILE-INFO:FULL-PATHNAME <> ? AND FILE-INFO:FULL-PATHNAME <> '' THEN RETURN FILE-INFO:FULL-PATHNAME. cDokument = SUBSTITUTE('Rechnungen/&1-&2_&3.pdf', STRING(bSavko.Fak_Knr,'999999'), STRING(bSavko.Faknr ,'9999999'), ipDokArt). FILE-INFO:FILE-NAME = cDokument. IF FILE-INFO:FULL-PATHNAME <> ? AND FILE-INFO:FULL-PATHNAME <> '' THEN RETURN FILE-INFO:FULL-PATHNAME. cDokument = SUBSTITUTE('Rechnungen/&1-&2_&3.pdf', STRING(bSavko.Knr ,'999999'), STRING(bSavko.Aufnr,'9999999'), ipDokArt). FILE-INFO:FILE-NAME = cDokument. IF FILE-INFO:FULL-PATHNAME <> ? AND FILE-INFO:FULL-PATHNAME <> '' THEN RETURN FILE-INFO:FULL-PATHNAME. cDokument = SUBSTITUTE('Rechnungen/&1-&2_&3.pdf', STRING(bSavko.Fak_Knr,'999999'), STRING(bSavko.Aufnr ,'9999999'), ipDokArt). FILE-INFO:FILE-NAME = cDokument. IF FILE-INFO:FULL-PATHNAME <> ? AND FILE-INFO:FULL-PATHNAME <> '' THEN RETURN FILE-INFO:FULL-PATHNAME. cDokument = SUBSTITUTE('Rechnungen/&1-&2_&3.pdf', STRING(bSavko.Knr ,'999999'), STRING(bSavko.Faknr,'999999'), ipDokArt). FILE-INFO:FILE-NAME = cDokument. IF FILE-INFO:FULL-PATHNAME <> ? AND FILE-INFO:FULL-PATHNAME <> '' THEN RETURN FILE-INFO:FULL-PATHNAME. cDokument = SUBSTITUTE('Rechnungen/&1-&2_&3.pdf', STRING(bSavko.Fak_Knr,'999999'), STRING(bSavko.Faknr ,'999999'), ipDokArt). FILE-INFO:FILE-NAME = cDokument. IF FILE-INFO:FULL-PATHNAME <> ? AND FILE-INFO:FULL-PATHNAME <> '' THEN RETURN FILE-INFO:FULL-PATHNAME. cDokument = SUBSTITUTE('Rechnungen/&1-&2_&3.pdf', STRING(bSavko.Knr ,'999999'), STRING(bSavko.Aufnr,'999999'), ipDokArt). FILE-INFO:FILE-NAME = cDokument. IF FILE-INFO:FULL-PATHNAME <> ? AND FILE-INFO:FULL-PATHNAME <> '' THEN RETURN FILE-INFO:FULL-PATHNAME. cDokument = SUBSTITUTE('Rechnungen/&1-&2_&3.pdf', STRING(bSavko.Fak_Knr,'999999'), STRING(bSavko.Aufnr ,'999999'), ipDokArt). FILE-INFO:FILE-NAME = cDokument. IF FILE-INFO:FULL-PATHNAME <> ? AND FILE-INFO:FULL-PATHNAME <> '' THEN RETURN FILE-INFO:FULL-PATHNAME. RETURN "". /* Function return value. */ END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ENDIF