1

まず、Crystal Reportsの経験がほとんどないので、これがばかげた質問である場合は、事前にお詫び申し上げます。同僚が去ったときにこの「素晴らしい」作業プロジェクトを捨ててしまったので、解決策があると思うほとんどのビジネスオブジェクトリンクが一般的なSAPスプラッシュページにリダイレクトされるので、誰かが助けてくれることを願っています。

そのため、サーバーに保存されている数百のCrystalレポート(ほとんどはファイルスキーマ10.2ですが、8.5または12.0もあります)があります。それらすべてには、次の方法でそれらを呼び出すVBScriptファイルが関連付けられています。

Set AppCrystal = WScript.CreateObject("CrystalRuntime.Application.10")


Set CrystalReport = AppCrystal.OpenReport("<file path to report>")
Set CrystalOptions = CrystalReport.exportOptions
CrystalOptions.DestinationType = 1
CrystalOptions.FormatType = 36
CrystalOptions.DiskFileName = "<file path to output excel file>"
CrystalReport.Export False

BOによると、これは正しいはずです。CR APIについては、次のリンクを参照してください。

http://devlibrary.businessobjects.com/businessobjectsxi/en/en/RDC_SDK/rdc_com_dg_doc/doc/rdcsdk_com_doc/RDC_ObjectModel62.html

http://devlibrary.businessobjects.com/businessobjectsxi/en/en/RDC_SDK/rdc_com_dg_doc/doc/rdcsdk_com_doc/RDC_ObjectModel151.html#1387900

http://devlibrary.businessobjects.com/businessobjectsxi/en/en/RDC_SDK/rdc_com_dg_doc/doc/rdcsdk_com_doc/RDC_ObjectModel8.html#1646326

つまり、基本的にスクリプトはレポートを実行してExcelファイルに出力するだけです。これは古いサーバーではうまく機能しますが、新しいサーバーでこのスクリプトを実行しようとすると、次のエラーが発生します。

CRerror

これは、インストールする必要のあるランタイムコンポーネントの種類があるためだと思いますが、私は一生の間、何を理解することができません。このページを見つけました:https ://wiki.sdn.sap.com/wiki/pages/viewpage.action?pageId = 56787567

しかし、私がダウンロードしようとしたファイルはどれも機能しませんでした。率直に言って、SAPのドキュメントはこの分野では標準以下であることがわかりました。Crystal Reports 2008を利用できるので、CrystalRuntime.Application.12などを使用するようにvbscriptを更新してから、Crystal Reports 2008の最新のランタイムファイルをサーバーにインストールする必要がある場合は、問題ありません。しかし、使用するランタイムファイルを知る必要がありますか?私が見つけることができるものは何も機能していません。ヘルプ?

4

1 に答える 1

1

どうやらこのタイプのCrystalレポートへの呼び出しはRDCレポートエンジンを使用しているようですが、残念ながらCR10は使用できなくなりました。RDCとそのバージョン11.5をデプロイしたCRXIR2を引き続き入手できます。

CR 2008にはRDCはありません。実際には、CR 9で非推奨になり、現在は出荷されていません。

他の唯一のオプションは、アプリをVisual Studio .NETを使用するように変換し、現在のCR2008またはCRfor VS 2010コンポーネントのいずれかを使用して、アプリを.NETFrameworkに書き直すことです。

これ以上のVBスクリプトはサポートされていませんが、それは単なる開発言語でした...

結局、CR 2008にアップグレードし、.NETコンソールプロジェクトを使用してVBスクリプトを置き換えました。

于 2012-09-27T20:56:29.103 に答える