다음을 통해 공유


크리스탈 보고서® 오류 문제를 해결하는 방법

이 문서에서는 솔로몬의 일반적인 크리스탈 보고서® 오류를 해결하는 방법을 설명합니다.

적용 대상: Microsoft Dynamics SL
원래 KB 번호: 844751

  1. Microsoft Dynamics SL은 Crystal Reports® 설치, 표준 보고서의 내용, 표준 보고서의 성능 및 Crystal 내의 기본 기능에 대한 일반적인 방법 질문에 대한 응답을 지원합니다. Microsoft Dynamics SL은 수정되거나 새로 개발된 보고서에 대한 디버깅 지원을 제공할 의무가 없지만 일반적인 기술 지원 문제 해결 기술(아래 설명)을 따라 Microsoft Dynamics SL 오류가 없는지 확인합니다.

  2. 보고서 문제 해결 프로세스의 주요 목표는 보고 오류의 원인을 식별하는 것입니다. 이렇게 하려면 문제의 세부 정보를 이해하는 데 도움이 되는 다음 질문을 해야 합니다.

    • 인쇄 중인 보고서는 무엇인가요?
    • 인쇄 중인 보고서의 형식은 무엇인가요?
    • 보고서가 사용자 지정되었나요?
    • 템플릿, 정렬 및/또는 선택 항목이 사용되고 있나요?
    • 이 보고서가 효과가 있었나요? 변경 내용
    • 보고서가 다른 데이터베이스(예: 데모 데이터베이스)에서 작동하나요?
  3. 다음 단계는 오류를 다시 만들어 문제가 데이터베이스 또는 애플리케이션과 관련되어 있는지 확인하는 것입니다. 다른 데이터베이스(데모 데이터베이스)에서 동일한 오류를 다시 만들 수 있는 경우 Dynamics SL 기술 지원은 수정 사항이 전달될 수 있도록 Dynamics SL 개발 그룹에 테스트 단계를 문서화하고 제출합니다. 그러나 오류가 해당 데이터베이스에만 국한된 것으로 보이는 경우 애플리케이션 오류가 아닌 실제 데이터에 문제가 있음을 나타낼 수 있습니다.

크리스탈 보고서® 문제 해결에 대한 전체 지침은 다음 단계를 참조하세요.

참고

문제 해결 프로세스 중에 질문이 있는 경우 권장 작업을 시도하기 전에 기술 지원에 문의하여 설명을 요청하세요.

  1. ROI(투자 수익률) 화면의 제목 표시줄에 표시되는 보고서 이름 및 화면 번호를 검토하여 인쇄할 보고서를 결정합니다.

  2. 보고서를 인쇄할 때 선택한 보고서 형식을 결정합니다. 예를 들어, 일반 원장 세부 보고서를 문제 해결할 때 사용 중인 두 보고서 형식 중 하나인 표준 또는 다중 통화 형식을 결정하십시오.

  3. 쿼리 분석기를 사용하여 2단계에서 설명한 보고서 형식에 해당하는 보고서 파일 이름을 결정합니다. 이렇게 하려면 적절한 시스템 데이터베이스에 액세스하고 다음 문을 실행합니다.

    SELECT * from RPTCONTROL where ReportNbr = '01620'
    

    참고

    여기서 theReportNbr = 보고서 화면의 처음 5자리 숫자입니다. 값은 소수점 없이 따옴표로 입력해야 합니다. 이 예제에서 01620은 GL 세부 정보 일반 원장 보고서(01.620.00)를 나타냅니다.

    ReportFormat00 - ReportFormat07 필드에 저장된 정보를 검토합니다. 원하는 보고서 형식 이름을 찾아 그것이 포함된 ReportFormatXX 필드를 기록합니다. 해당 보고서 파일 이름은 일치하는 ReportNameXX 필드(*)에서 찾을 수 있습니다. 보고서를 인쇄할 때 Dynamics SL에서 사용하는 RPT 파일 이름입니다. 예제에 따라 세부 정보 일반 원장 보고서의 표준 형식은 ReportFormat00 및 해당 *에 저장됩니다. RPT 보고서 파일 이름 - 01620은 ReportName00에서 찾을 수 있습니다.

    참고

    이후 단계에서 필요하므로 모든 정보가 중요합니다.

  4. 보고서가 표준 Dynamics SL 보고서인지 확인합니다.

    1. 탐색기를 사용하여 DYNAMICSSL\USR_RPTS 디렉터리의 내용을 검토하고, 3단계에서 언급된 *.RPT 파일이 있는지 확인하세요. 그렇다면 사용자 지정된 보고서의 표시일 수 있습니다. 파일 이름을 바꿉니다.

    2. 탐색기를 사용하여 모듈의 하위 디렉터리(즉, \SOLOMONIV\GL\01620.RPT)에 있는 *.RPT 파일을 찾아 기록해 둡니다. 날짜가 현재 설치된 제품에 해당하는 Dynamics SL CD에 있는 날짜와 다른 경우 사용자 지정된 보고서 또는 보고서 설치 실패가 표시될 수 있습니다. 이 파일의 이름을 바꾸고 적절한 제품 CD 또는 서비스 팩의 파일로 바꿉니다. CD를 사용하는 경우 읽기 전용 특성을 제거합니다. 보고서를 다시 테스트합니다.

  5. 서식 파일, 정렬 또는 선택을 제거하고 보고서를 다시 테스트합니다. 보고서가 성공적으로 인쇄되면 데모 데이터베이스를 사용하여 정렬 선택을 다시 만들고 결과를 비교합니다. 둘 다에서 오류를 수신하는 경우 이 문제는 유용성 또는 잠재적 결함과 관련이 있을 수 있습니다. 데모 데이터베이스를 사용할 때 오류가 수신되지 않는 경우 6단계를 계속 진행합니다.

  6. 쿼리 분석기에서 다음 문을 사용하여 RPTRUNTIME 및 RPTCOMPANY에서 고아 임시 레코드를 삭제합니다. 모든 사용자는 문을 실행하기 전에 Dynamics SL을 종료해야 합니다.

    참고

    RPTRUNTIME은 Dynamics SL의 시스템 및 애플리케이션 데이터베이스 모두에서 찾을 수 있습니다. RPTCOMPANY는 Solomon IV 버전 4.x 애플리케이션 데이터베이스에서만 찾을 수 있습니다. 이러한 테이블은 보고서를 인쇄하는 사용자 및 워크스테이션을 식별하는 데 사용되므로 여러 사용자가 동시에 동일한 보고서를 인쇄할 수 있습니다.

    1. 적절한 시스템 데이터베이스에 액세스하고 다음 문을 실행합니다.

      DELETE from RPTRUNTIME
      
    2. 적절한 애플리케이션 데이터베이스를 선택하고 다음 문을 실행합니다.

      DELETE from RPTRUNTIME
      
      DELETE from RPTCOMPANY
      
    3. 문을 실행한 후에도 오류가 계속 보고되지만 데모 데이터베이스에서 다시 만들 수 없는 경우 다음 단계를 계속하여 실제 데이터를 검사합니다.

  7. 보고서에서 사용하는 SQL 쿼리를 검토합니다.

    1. 크리스탈 보고서 디자이너에서 보고서에® 액세스합니다.

    2. 데이터베이스를 선택하고 SQL 쿼리를 표시합니다.

    3. 컴퓨터 데이터 원본 목록에서 데이터베이스 원본 이름을 선택합니다. 확인을 선택합니다.

    4. SQL Server 로그인 화면에서 확인을 다시 선택하여 sa로 로그인합니다.

      다음 예제는 세부 일반 원장 보고서에서 사용하는 SQL 쿼리입니다. 이 문은 데이터베이스에 대해 실행되며 쿼리에서 사용하는 FROM 절에는 보고서를 인쇄하는 데 사용되는 데이터베이스 테이블 또는 뷰가 포함됩니다. 작업 테이블에 종속된 보고서는 FROM 절에서 시작 또는 끝나는 WRK 개체 이름을 표시합니다. 보기에 종속된 보고서에는 개체 이름이 로 vr시작하는 것이 표시됩니다.

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

      vr_01620 Query 문의 FROM 섹션에 나열된 테이블 또는 뷰를 기록합니다. 작업 테이블이 나열된 경우 8단계로 계속 진행합니다. 보기가 나열되어 있으면 9단계로 계속 진행하세요. 작업 테이블과 뷰가 모두 나열되지 않은 경우 10단계로 계속 진행합니다.

  8. 쿼리 분석기에서 다음 문을 사용하여 작업 테이블에 남아 있는 분리된 레코드를 삭제합니다. 모든 사용자는 문을 실행하기 전에 Dynamics SL을 종료해야 합니다.

    참고

    작업 테이블은 보고서가 인쇄되거나 프로세스가 실행되는 경우에만 사용되는 빈 테이블입니다. 특정 작업 테이블에 종속된 보고서가 현재 Dynamics SL에서 생성되지 않는 한 작업 테이블은 비어 있어야 합니다. 예를 들어 AR 고객 설명(08.600.00)은 AR08600_wrk이라는 작업 테이블을 사용합니다. AR08600_wrk 7단계에서 참조하는 FROM 절에 표시됩니다.

    적절한 Application 데이터베이스에 액세스하고 다음 문을 실행합니다.

    DELETE from AR08600_WRK
    

    9단계를 계속 진행합니다.

  9. 시스템 및 애플리케이션 데이터베이스 모두에 대한 뷰, 저장 프로시저 및 인덱스를 다시 작성합니다. 보고서를 다시 테스트합니다.

  10. 작업 테이블에서 분리된 레코드를 삭제하거나 뷰를 다시 만들거나 쿼리 문에 작업 테이블이나 뷰가 사용되지 않는 경우 오류가 계속되면 뷰, 저장 프로시저 또는 쿼리에서 반환되는 실제 데이터를 검토해야 합니다. 쿼리 분석기에서 7단계에서 검토한 Crystal SQL Query 문을 실행합니다.

    1. 적절한 애플리케이션 데이터베이스에 액세스하고 7단계에서 검토한 SQL Query 문을 복사하여 쿼리 창에 붙여넣습니다.

    2. 편집을 사용하여 따옴표를 제거하고 찾을 내용 바꾸기: "모두 바꾸기를 선택합니다. 모든 따옴표를 제거합니다. 대체 값이 비어 있습니다.

    3. 쿼리에서 정규화된 데이터베이스 이름, 소유자, 개체 이름을 제거합니다.

    4. 7단계에서 제공된 예제를 사용하여 DemoApp0060.dbo.vr_01620을 삭제하고 vr_01620만 남기세요.

    5. Dynamics SL 내에서 ROI 화면에서 보고서를 인쇄 미리 봅니다. 확인을 선택하지 않고 오류 메시지를 화면에 그대로 둡니다. 필요한 임시 레코드를 RPTCOMPANY에 삽입합니다.

    6. Query Analyzer에서 SQL Query 문을 실행하고 유효하지 않거나 누락된 데이터에 대한 데이터를 검토합니다.

    7. 데이터를 검토한 후 보고서 문제의 원인이 누락되거나 손상된 것으로 확인되면 해당 모듈 무결성 검사(옵션만 확인)를 사용하여 지원 레코드가 있는지 확인합니다. 무결성 검사를 실행하는 방법에 대한 자세한 내용은 Dynamics SL 온라인 도움말 또는 사용자 가이드를 참조하세요.

  11. 추가 지원이 필요한 경우 Dynamics SL 기술 지원에 문의하세요.