Virhesanoma, kun luot DTA-tiedoston Käyttämällä RoleTailored-asiakasohjelmaa Microsoft Dynamics NAV 2009 SP1:n sveitsinkielisessä versiossa: "DTA-tiedoston varmuuskopiota ei voitu kirjoittaa"

Käytetään kohteeseen
Dynamics NAV 2009 Service Pack 1

Tämä artikkeli koskee Microsoft Dynamics NAV -ohjelmaa seuraavissa maissa ja kielialueilla.

  • ranska (Sveitsi) (fr-ch)
  • saksa (Sveitsi) (de-ch)
  • italia (Sveitsi) (it-ch)

Ongelman ilmenemistapa

Kun luot DTA-tiedoston RoleTailored-asiakasohjelmalla Microsoft Dynamics NAV 2009 SP1:n sveitsinkielisessä versiossa, DTA-tiedoston varmuuskopiota ei luoda. Lisäksi näyttöön tulee seuraava virhesanoma:

Huomautus

DTA-tiedoston varmuuskopiota ei voitu kirjoittaa. Tarkista tiedostonnimi ja kansio DTA-määrityksessä pankille [bank_code].

Huomautus Virhesanoman [bank_code] paikkamerkki edustaa todellista pankkikoodia.

Ratkaisu

Hotfix-tiedot

Tuettu hotfix-korjaus on nyt saatavilla Microsoftilta. Sen tarkoituksena on kuitenkin korjata vain tässä artikkelissa kuvattu ongelma. Käytä sitä vain järjestelmissä, joissa on tämä ongelma. Tämä hotfix-korjaus voi saada lisätestejä. Jos ongelma ei siis vaikuta sinuun vakavasti, suosittelemme odottamaan seuraavaa Microsoft Dynamics NAV Service Pack -pakettia tai seuraavaa versiota, joka sisältää tämän hotfix-korjauksen.

Huomautus Erityistapauksissa tukipuheluista tavallisesti aiheutuvat maksut voidaan peruuttaa, jos Microsoft Dynamicsin ja siihen liittyvien tuotteiden teknisen tuen asiantuntija määrittää, että tietty päivitys ratkaisee ongelmasi. Tavanomaiset tukikustannukset koskevat muita tukikysymyksiä ja -ongelmia, jotka eivät ole oikeutettuja kyseiseen päivitykseen.

            
          

Asennustiedot

Microsoft tarjoaa ohjelmointiesimerkkejä vain havainnollistamista varten ilman ilmaistua tai oletettua takuuta. Tämä sisältää muun muassa oletetut takuut soveltuvuudesta kaupankäynnin kohteeksi tai sopivuudesta tiettyyn tarkoitukseen. Tässä artikkelissa oletetaan, että tunnet ohjelmointikielen, jota esitellään, sekä työkalut, joita käytetään toimintosarjojen luomiseen ja virheenkorjaukseen. Microsoftin tukihenkilöt voivat auttaa selittämään tietyn menettelyn toiminnallisuuden, mutta he eivät muokkaa näitä esimerkkejä niin, että ne tarjoaisivat lisätoimintoja tai laativat menetelmiä erityisvaatimusten täyttämiseksi.

Huomautus Varmista ennen tämän hotfix-korjauksen asentamista, että kaikki Microsoft Navision -asiakasohjelman käyttäjät ovat kirjautuneet ulos järjestelmästä. Tämä koskee myös Microsoft Navision Application Services (NAS) -asiakaskäyttäjiä. Sinun pitäisi olla ainoa asiakaskäyttäjä, joka on kirjautunut sisään, kun otat tämän hotfix-korjauksen käyttöön.

Jotta voit ottaa tämän hotfix-korjauksen käyttöön, sinulla on oltava kehittäjän käyttöoikeus.

Suosittelemme, että käyttäjätilille, joka on Windowsin kirjautumisikkunassa tai Tietokannan kirjautumiset -ikkunassa, määritetään "SUPER"-roolitunnus. Jos käyttäjätilille ei voi määrittää "SUPER"-roolitunnusta, sinun on varmistettava, että käyttäjätilillä on seuraavat käyttöoikeudet:

  • Muutettavan objektin Muokkaa-käyttöoikeus.
  • System Object ID 5210 -objektin ja System Object ID 9015 -objektin Suoritus-oikeus.

                
Huomautus Sinulla ei tarvitse olla oikeuksia tietosäilöihin, ellei sinun tarvitse korjata tietoja.

Koodin muutokset

Huomautus Testaa koodikorjaukset aina valvotussa ympäristössä, ennen kuin otat korjaukset käyttöön tuotantotietokoneissasi.

Jos haluat asentaa tämän hotfix-korjauksen, muuta koodia seuraavissa objekteissa:

  • DTA-tiedostoraportti (3010541)
  • EZAG-tiedostoraportti (3010542)

Voit tehdä tämän seuraavasti:

  1. Muuta DTA-tiedostoraportin (3010541) Raportti - OnPostReport-käynnistimen koodia seuraavasti:
    Olemassa oleva koodi 1

    …
      ELSE
        //DtaMgt.RemoveCrLf(FileBank."DTA File Folder" + FileBank."DTA Filename");
        GeneralMgt.RemoveCrLf(FileBank."DTA File Folder" + FileBank."DTA Filename", 'DTA', FALSE);
    
    // Backup file
    IF FileBank."Backup Copy" THEN BEGIN
      FileBank.LOCKTABLE;
      FileBank."Last Backup No." := INCSTR(FileBank."Last Backup No.");
      FileBank.MODIFY;
      BackupFilename := FileBank."Backup Folder" + 'DTA' + FileBank."Last Backup No." + '.BAK';
      IF NOT COPY(FileBank."DTA File Folder" + FileBank."DTA Filename",BackupFilename) THEN  // Delete this line.
        MESSAGE(Text002 + Text003,FileBank."Bank Code");  // Delete this line.
    END;
    
    …
    
    
    

    Korvaava koodi 1

    …
      ELSE
        //DtaMgt.RemoveCrLf(FileBank."DTA File Folder" + FileBank."DTA Filename");
        GeneralMgt.RemoveCrLf(FileBank."DTA File Folder" + FileBank."DTA Filename", 'DTA', FALSE);
    
    // Add the following lines.
      IF ISSERVICETIER THEN
        RBMgt.DownloadToFile(ServerTempFilename,FileBank."DTA File Folder" + FileBank."DTA Filename");
    // The end of the new lines
    
    // Backup file
    IF FileBank."Backup Copy" THEN BEGIN
      FileBank.LOCKTABLE;
      FileBank."Last Backup No." := INCSTR(FileBank."Last Backup No.");
      FileBank.MODIFY;
      BackupFilename := FileBank."Backup Folder" + 'DTA' + FileBank."Last Backup No." + '.BAK';
    
    // Add the following lines. 
      IF ISSERVICETIER THEN
        RBMgt.DownloadToFile(ServerTempFilename,BackupFilename)
      ELSE
    
        IF NOT COPY(FileBank."DTA File Folder" + FileBank."DTA Filename",BackupFilename) THEN
          MESSAGE(Text002 + Text003,FileBank."Bank Code");
    // The end of the new lines. 
    
    END;
    
    …
    
    
    

    Nykyinen koodi 2

     …
      //ERASE(FileBank."DTA File Folder" + FileBank."DTA Filename");
    
    //END;
    IF ISSERVICETIER THEN  // Delete this line. 
      RBMgt.DownloadToFile(ServerTempFilename,FileBank."DTA File Folder" + FileBank."DTA Filename"); // Delete this line. 
    
    //IF NOT ISSERVICETIER THEN BEGIN
    IF NOT ISSERVICETIER THEN
    …
    
    
    

    Korvaava koodi 2

    …
      //ERASE(FileBank."DTA File Folder" + FileBank."DTA Filename");
    
    //END;
    
    //IF NOT ISSERVICETIER THEN BEGIN
    IF NOT ISSERVICETIER THEN
    …
    
    
    
  2. Muuta raportti - OnPostReport-käynnistimen koodia EZAG-tiedostoraportissa (3010542) seuraavasti:
    Olemassa oleva koodi 1

    …
    
    // Backup file
    IF DtaSetup."Backup Copy" THEN BEGIN
      DtaSetup.LOCKTABLE;
      DtaSetup."Last Backup No." := INCSTR(DtaSetup."Last Backup No.");
      DtaSetup.MODIFY;
      BackupFilename := DtaSetup."Backup Folder" + 'EZA' + DtaSetup."Last Backup No." + '.BAK';
      IF NOT COPY(DtaSetup."EZAG File Folder" + DtaSetup."EZAG Filename",BackupFilename) THEN  // Delete this line.
        MESSAGE(Text002 + Text003,DtaSetup."Bank Code"); // Delete this line.
    END;
    
    //IF ISSERVICETIER THEN BEGIN
    …
    
    
    
    

    Korvaava koodi 1

    …
    
    IF ISSERVICETIER THEN // Add this line.
      RBMgt.DownloadToFile(ServerTempFileName,DtaSetup."EZAG File Folder" + DtaSetup."EZAG Filename"); // Add this line.
    // Backup file
    IF DtaSetup."Backup Copy" THEN BEGIN
      DtaSetup.LOCKTABLE;
      DtaSetup."Last Backup No." := INCSTR(DtaSetup."Last Backup No.");
      DtaSetup.MODIFY;
      BackupFilename := DtaSetup."Backup Folder" + 'EZA' + DtaSetup."Last Backup No." + '.BAK';
    // Add the following lines. 
     IF ISSERVICETIER THEN 
        RBMgt.DownloadToFile(ServerTempFileName,BackupFilename)
      ELSE
        IF NOT COPY(DtaSetup."EZAG File Folder" + DtaSetup."EZAG Filename",BackupFilename) THEN
          MESSAGE(Text002 + Text003,DtaSetup."Bank Code");
    // The end of the new lines. 
    END;
    
    //IF ISSERVICETIER THEN BEGIN
    …
    
    
    
    

    Nykyinen koodi 2

     …
    //  ERASE(DtaSetup."EZAG File Folder" + DtaSetup."EZAG Filename");
    
    //END;
    IF ISSERVICETIER THEN // Delete this line. 
      RBMgt.DownloadToFile(ServerTempFileName,DtaSetup."EZAG File Folder" + DtaSetup."EZAG Filename"); // Delete this line. 
    
    //IF NOT ISSERVICETIER THEN BEGIN
    IF NOT ISSERVICETIER THEN
    …
    
    
    

    Korvaava koodi 2

    …
    //  ERASE(DtaSetup."EZAG File Folder" + DtaSetup."EZAG Filename");
    
    //END;
    
    //IF NOT ISSERVICETIER THEN BEGIN
    IF NOT ISSERVICETIER THEN
    …
    
    
    

Edellytykset

Sinulla on oltava Asennettuna Microsoft Dynamics NAV 2009 SP1:n sveitsiläinen versio, jotta voit käyttää tätä hotfix-korjausta.

Poistotiedot

Et voi poistaa tätä hotfix-korjausta.

Tila

Microsoft on vahvistanut tämän olevan ongelma niissä Microsoftin tuotteissa, jotka ovat listattuna Koskee seuraavia tuotteita -osiossa.

Huomautus Tämä on FAST PUBLISH -artikkeli, joka on luotu suoraan Microsoftin tukiorganisaatiosta. Tässä annetut tiedot annetaan sellaisenaan vastauksena uusiin ongelmiin. Koska materiaalit ovat nopeasti käytettävissä, ne voivat sisältää typografisia virheitä, ja niitä voidaan muuttaa milloin tahansa ilman ennakkoilmoitusta. Lisätietoja on ohjeaiheessa Käyttöehdot .