Jak rozwiązywać problemy z błędami usługi Crystal Report®

W tym artykule opisano sposób rozwiązywania typowych błędów usługi Crystal Report® w salomonie.

Dotyczy: Microsoft Dynamics SL
Oryginalny numer KB: 844751

  1. Usługa Microsoft Dynamics SL zapewnia obsługę instalacji aplikacji Crystal Reports®, zawartości standardowych raportów, wydajności standardowych raportów i odpowiedzi na ogólne pytania dotyczące podstawowych funkcji w aplikacji Crystal. Usługa Microsoft Dynamics SL nie jest zobowiązana do zapewnienia obsługi debugowania dla zmodyfikowanych lub nowo opracowanych raportów, ale będzie postępować zgodnie z normalnymi technikami rozwiązywania problemów z pomocą techniczną (opisanymi poniżej), aby sprawdzić, czy nie występuje błąd sl usługi Microsoft Dynamics.

  2. Podstawowym celem procesu rozwiązywania problemów z raportami jest zidentyfikowanie przyczyny błędu raportowania. W tym celu należy zadać następujące pytania, aby ułatwić zrozumienie szczegółów problemu:

    • Jaki raport jest drukowany?
    • Jaki format tego raportu jest drukowany?
    • Czy raport jest dostosowany?
    • Czy używany jest szablon, sortowanie i/lub wybór?
    • Czy ten raport kiedykolwiek zadziałał? Co się zmieniło?
    • Czy raport działa w innych bazach danych (na przykład w demonstracyjnej bazie danych)?
  3. Następnym krokiem jest ustalenie, czy problem jest związany z bazą danych, czy aplikacją, próbując ponownie utworzyć błąd. Jeśli ten sam błąd można utworzyć ponownie w innych bazach danych (demonstracyjnych bazach danych), pomoc techniczna dynamics SL będzie dokumentować i przesyłać kroki testowe do grupy programistycznej Dynamics SL, aby można było dostarczyć poprawkę. Jeśli jednak błąd wydaje się być specyficzny tylko dla tej bazy danych, może to wskazywać na problem z rzeczywistymi danymi, a nie błąd aplikacji.

Aby uzyskać pełne instrukcje dotyczące rozwiązywania problemów z raportem® crystal, zobacz następujące kroki.

Uwaga

Jeśli podczas procesu rozwiązywania problemów pojawią się jakiekolwiek pytania, skontaktuj się z pomocą techniczną w celu uzyskania wyjaśnień przed podjęciem zalecanej akcji.

  1. Określ, który raport jest drukowany, przeglądając pola Nazwa raportu i Numer ekranu wyświetlane na pasku tytułu ekranu zwrotu z inwestycji.

  2. Określ, który format raportu jest wybierany podczas drukowania raportu. Na przykład w przypadku rozwiązywania problemów z raportem szczegółów księgi głównej określ, który z dwóch formatów raportu jest używany: standardowy lub wielowalutowy.

  3. Za pomocą analizatora zapytań określ nazwę pliku raportu odpowiadającą formatowi raportu zanotowanemu w kroku 2. Aby to zrobić, uzyskaj dostęp do odpowiedniej systemowej bazy danych i wykonaj następującą instrukcję:

    SELECT * from RPTCONTROL where ReportNbr = '01620'
    

    Uwaga

    Where theReportNbr = pierwszych 5 cyfr ekranu Raport. Wartość powinna być wprowadzana w cudzysłowie i bez wartości dziesiętnej. W tym przykładzie wartość 01620 jest reprezentatywna dla raportu księgi głównej szczegółów gl (01.620.00).

    Przejrzyj informacje przechowywane w polach ReportFormat00 — ReportFormat07. Znajdź żądaną nazwę formatu raportu i zanotuj, w którym polu ReportFormatXX znajduje się. Odpowiednia nazwa pliku raportu zostanie znaleziona w pasującym polu ReportNameXX, które jest *. Nazwa pliku RPT używana przez usługę Dynamics SL podczas drukowania raportu. Na podstawie przykładu standardowy format raportu Szczegółowa księga główna jest przechowywany w pliku ReportFormat00 i odpowiadającym mu *. Nazwa pliku raportu RPT — 01620 znajduje się w pliku ReportName00.

    Uwaga

    Wszystkie informacje są ważne, ponieważ będą wymagane w kolejnych krokach.

  4. Ustal, czy raport jest raportem w warstwie Standardowa Dynamics SL.

    1. Korzystając z Eksploratora, przejrzyj zawartość DYNAMICSSL\USR_RPTS katalogu i ustal, czy *. Znaleziono tam plik RPT zanotowany w kroku 3. Jeśli tak, jest to możliwe wskazanie dostosowanego raportu. Zmień nazwę pliku.

    2. Za pomocą Eksploratora znajdź i zanotuj plik *. Plik RPT znajdujący się w podkatalogu modułu (czyli \SOLOMONIV\GL\01620.RPT). Jeśli data różni się od daty znalezionej na dysku CD usługi Dynamics SL, która odpowiada obecnie zainstalowanemu produktowi, jest to możliwe wskazanie dostosowanego raportu lub niepowodzenia instalacji raportu. Zmień nazwę i zastąp ten plik odpowiednią nazwą z odpowiedniego dysku CD produktu lub dodatku Service Pack. Usuń atrybut Read-Only, jeśli używasz dysku CD. Przetestuj ponownie raport.

  5. Usuń wszystkie szablony, sortuje lub wybiera i ponownie przetestuj raport. Jeśli raport zostanie pomyślnie wydrukowany, utwórz ponownie pozycję Sortuj wybierz przy użyciu demonstracyjnej bazy danych i porównaj wyniki. Jeśli oba te osoby otrzymają błąd, problem może być związany z użytecznością lub potencjalną wadą. Jeśli podczas korzystania z demonstracyjnej bazy danych nie otrzymasz błędu, przejdź do kroku 6.

  6. Usuń wszystkie oddzielone rekordy tymczasowe z rekordów RPTRUNTIME i RPTCOMPANY, korzystając z następujących instrukcji w analizatorze zapytań. Wszyscy użytkownicy muszą zamknąć usługę Dynamics SL przed wykonaniem instrukcji.

    Uwaga

    Funkcja RPTRUNTIME znajduje się zarówno w bazach danych systemowych, jak i aplikacji w usłudze Dynamics SL. RPTCOMPANY znajduje się tylko w bazach danych aplikacji Solomon IV w wersji 4.x. Te tabele służą do identyfikowania użytkowników i stacji roboczych drukujące raport, co umożliwia wielu użytkownikom drukowanie tego samego raportu w tym samym czasie.

    1. Uzyskaj dostęp do odpowiedniej systemowej bazy danych i wykonaj następującą instrukcję:

      DELETE from RPTRUNTIME
      
    2. Wybierz odpowiednią bazę danych aplikacji i wykonaj następującą instrukcję:

      DELETE from RPTRUNTIME
      
      DELETE from RPTCOMPANY
      
    3. Jeśli po wykonaniu instrukcji błędy są nadal zgłaszane, ale nie można ich ponownie utworzyć w demonstracyjnych bazach danych, wykonaj następujące kroki, aby zbadać rzeczywiste dane.

  7. Przejrzyj zapytanie SQL używane przez raport.

    1. Uzyskaj dostęp do raportu w aplikacji Crystal Reports® Projektant.

    2. Wybierz pozycję Baza danych, Pokaż zapytanie SQL.

    3. Wybierz nazwę źródła bazy danych z listy Źródeł danych maszyny. Wybierz przycisk OK.

    4. Ponownie wybierz przycisk OK na ekranie logowania SQL Server, aby zalogować się jako sa.

      Poniższy przykład to zapytanie SQL używane przez raport Księgi Głównej szczegółów. Ta instrukcja jest wykonywana względem bazy danych, a klauzula FROM używana przez zapytanie zawiera tabele bazy danych lub widoki używane do drukowania raportu. Raporty zależne od tabeli roboczej będą wyświetlać nazwy obiektów rozpoczynające się lub kończące w WRK klauzuli FROM. Raporty zależne od widoku będą wyświetlać nazwy obiektów rozpoczynające się od vr.

      SELECT vr_01620."Acct", vr_01620."Sub", ..... FROM "DemoApp0060"."dbo"."vr_01620"
      

      vr_01620 Zarejestruj dowolne tabele lub widoki wymienione w sekcji FROM instrukcji Query. Jeśli na liście znajduje się tabela robocza, przejdź do kroku 8. Jeśli na liście znajduje się widok, przejdź do kroku 9. Jeśli na liście nie ma tabeli roboczej ani widoku, przejdź do kroku 10.

  8. Usuń wszystkie oddzielone rekordy pozostałe w tabeli roboczej, korzystając z następujących instrukcji w analizatorze zapytań. Wszyscy użytkownicy muszą zamknąć usługę Dynamics SL przed wykonaniem instrukcji.

    Uwaga

    Tabela robocza to pusta tabela używana tylko wtedy, gdy raport jest drukowany lub jest uruchamiany proces. Tabele robocze powinny być puste, chyba że raport zależny od określonej tabeli roboczej jest obecnie generowany w usłudze Dynamics SL. Na przykład instrukcje klienta AR (08.600.00) używają tabeli roboczej o nazwie AR08600_wrk. AR08600_wrk pojawi się w klauzuli FROM, do których odwołuje się krok 7.

    Uzyskaj dostęp do odpowiedniej bazy danych aplikacji i wykonaj następującą instrukcję:

    DELETE from AR08600_WRK
    

    Kontynuuj krok 9.

  9. Ponownie skompiluj widoki, procedury składowane i indeksy dla baz danych systemowych i aplikacji. Przetestuj ponownie raport.

  10. Jeśli błędy będą nadal występować po usunięciu oddzielonych rekordów z tabel roboczych, ponownym utworzeniu widoku lub w przypadkach, gdy w instrukcjach zapytań nie są używane tabele robocze ani widoki, konieczne będzie przejrzenie rzeczywistych danych zwracanych z widoku, procedury składowanej lub zapytania. Wykonaj instrukcję Crystal SQL Query, która została przejrzana w kroku 7, w analizatorze zapytań.

    1. Uzyskaj dostęp do odpowiedniej bazy danych aplikacji oraz skopiuj i wklej instrukcję SQL Query przejrzaną w kroku 7 w oknie zapytania.

    2. Usuń cudzysłów przy użyciu polecenia Edytuj, zastąp polecenie Znajdź co: " Wybierz pozycję Zastąp wszystkie. Co spowoduje usunięcie wszystkich cudzysłów. Pole Zastąp elementem pozostanie puste.

    3. Usuń kwalifikowaną nazwę bazy danych, właściciela, nazwę obiektu z zapytania.

    4. Korzystając z przykładu przedstawionego w kroku 7, usuń DemoApp0060.dbo.vr_01620, pozostawiając tylko vr_01620

    5. Z poziomu usługi Dynamics SL wydrukuj podgląd raportu z ekranu roi. Pozostaw wszystkie komunikaty o błędach na ekranie bez wybierania przycisku OK. Spowoduje to wstawianie niezbędnego rekordu tymczasowego do zestawu RPTCOMPANY.

    6. Wykonaj instrukcję sql query w analizatorze zapytań i przejrzyj dane pod kątem nieprawidłowych lub brakujących danych.

    7. Jeśli po przejrzeniu danych ustalono, że przyczyną problemów z raportem są brakujące lub uszkodzone dane, użyj odpowiedniego modułu Sprawdzanie integralności (tylko opcje weryfikacji), aby sprawdzić, czy istnieją rekordy pomocnicze. Aby uzyskać więcej informacji na temat uruchamiania sprawdzania integralności, zobacz Pomoc online usługi Dynamics SL lub Przewodniki użytkowników.

  11. Jeśli potrzebna jest dalsza pomoc, skontaktuj się z pomocą techniczną Dynamics SL.