1. Přesun importního souboru do archívu

    Článek: AN0002445Aktualizováno:: 13.11.2020

    V rámci importu můžeme chtít přesunout importní soubor z cesty definované v importu do archívní složky. K tomu úspěšně použijeme skripty, které můžeme spustit v různých fázích importu, před importem nebo po něm. Níže rozlišujeme dva scénáře:

    1. Přesun importního souboru pouze v případě úspěšného provedení importu

    Pokud chceme soubor přesouvat pouze v případě úspěšného importu, použijeme následující skript v události Spustit po dokončení importu.

    //přesunout soubor do archivu
    if (OGActualImportRun.ResultStatus == 3) //Running
    {
    var destFileName = OG.TextUtils.Format( "C:\\import\\Archive\\{0:yyyy-MM-dd}_nazev_souboru_{1}.txt", OG.DateTime.Now, OG.Guid.CreateNew());
    OG.IO.FileMove(OGActualImport.SourcePath, destFileName);
    }

    Ve výše uvedeném skriptu si všimneme:

    • zdvojení zpětných lomítek v cestě k archívní složce (Zpětné lomítko je escapovacím znakem. Bez zdvojení by v daném výsledném řetězci lomítko nebylo.)
    • názvu souboru, který jsme složili z aktuálního data, vlastního názvu a GUID sekvence. Toto zajistí, že pokud by byl několikrát za sebou importován soubor shodného názvu, bude v archívním souboru uložen vždy pod jiným názvem.

    2. Přesun importního souboru i v případech neúspěšného provedení importu

    Někdy můžeme chtít importní soubor přesouvat i v případě, že import selhal. Může tomu tak být proto, že soubor je chybný a jeho přesunutím zabráníme v dalších pokusech o import. O neúspěšném importu můžeme nechat poslat notifikaci standardním nastavením upozornění v importu.

    V tomto případě použijeme dva skripty:

    Skript do události importu Spustit před spuštěním importu.

    //zkopirovat soubor do archivu pod jiným jménem
    if (OGActualImportRun.ResultStatus == 3) //Running
    {
    var destFileName = OG.TextUtils.Format( "C:\\import\\Archive\\{0:yyyy-MM-dd}_nazev_souboru_{1}.txt", OG.DateTime.Now, OG.Guid.CreateNew());
    OG.IO.FileCopy(OGActualImport.SourcePath, destFileName, true);
    }

    Výše uvedený skript nejprve soubor do archívu pouze zkopíruje, resp. opět ho tam uloží pod jedinečným názvem. Následně proběhnem import, který skončí úspěchem nebo selháním. Smazání importního souboru nám pak zajistí aktivita následující po importu. To může být další krok jobu nebo workflow typu Skript:

    //smazat soubor

    OG.IO.DeleteFile("C:\\OG-skripty\\export\\OG_Servers.csv");

     

×