Project Server 2013: 2010 からの移行後に一部のリソースを編集できなくなる不具合について


(この記事は 2016 年 3 月 17 日に Project Support Blog に投稿された記事 Project Server 2013: After migrating from 2010 some resources can’t be edited の翻訳です。最新情報については、翻訳元の記事をご参照ください。)

 

この不具合は最近確認されたもので、原因はまだ不明ですが、Project Server 2010 から Project Server 2013 に移行した後、特定の条件下 (詳細は後述) で Project Server 2013 のユーザーの管理機能またはリソースの編集機能から一部のユーザーやリソースを編集できなくなります。このとき、PWA でユーザーやリソースを保存しようとすると、下図のように赤い文字でエラー メッセージが表示されます。

The resource could not be saved due to the following reasons: (下記の理由により、リソースを保存できませんでした:)

    • A resource availability contour cannot go outside the range of the resource’s earliest and latest availability dates. (リソースの利用可能時間を、リソースの最早利用可能日から最遅利用可能日までの範囲の外に配分することはできません。)

image296

通常リソース名の部分は空白ではありませんが、ここでは画像を編集して空白にしています。このエラーは、リソースの「利用可能期間の終了日」 (データベースでは RES_TERMINATION_DATE) に日付と共に指定されている時刻が 23:59:00.000 である場合にのみ発生します。時刻が 00:00:00.000 であれば、この問題は発生しません。リソース プールを Project Professional 2010 で編集し、その後 Project Server 2010 に保存した場合、この時刻の値は 23:59 になります。PWA から保存した場合は 00:00 になります。移行後、PWA は 23:59 という値を正常に処理できず、リソースの利用可能時間 (23:59 に終了) が、切り捨てられた値の 00:00 を超えたと判断するようです。

この不具合の対処方法は 2 つあります。移行前にこの問題を発見した場合、影響を受けたリソースをすべて編集してから PWA で保存すれば、RES_TERMINATION_DATE フィールドの値はすべて 00:00 に設定されるため、問題は発生しなくなります。

この問題の有無を調べるには、2010 バージョンの「発行済み」データベースで下記のクエリを実行します (お客様が使用しているデータベース名に合わせてクエリを変更する必要があります。その方法がわからない場合は、ご自分で実行せずに DBA にサポートを依頼してください)。

SELECT [RES_UID]

,[RES_NAME]

,[RES_HIRE_DATE]

,[RES_TERMINATION_DATE]

FROM [ProjectServer_Published].[dbo].[MSP_RESOURCES]

where (convert(varchar, RES_TERMINATION_DATE, 8)) = ’23:59:00′

編集が必要なリソースが多すぎて、すべてを編集するのが現実的でない場合は、下記の 2 つのクエリを実行して移行「前」に 23:59 を 00:00 に設定してもよいでしょう。

UPDATE [ProjectServer_Published].[dbo].[MSP_RESOURCES]

Set RES_TERMINATION_DATE = DATEADD(hh, -23, RES_TERMINATION_DATE)

where (convert(varchar, RES_TERMINATION_DATE, 8)) = ’23:59:00′

UPDATE [ProjectServer_Published].[dbo].[MSP_RESOURCES]

Set RES_TERMINATION_DATE = DATEADD(mi, -59, RES_TERMINATION_DATE)

where (convert(varchar, RES_TERMINATION_DATE, 8)) = ’00:59:00′

移行が完全に完了している場合 (テスト段階でこの問題が発生しなかったお客様にはお詫び申し上げます)、2013 のデータベースで同様のクエリを実行すると、移行「後」でも修正できます。

UPDATE [ProjectWebApp].[pub].[MSP_RESOURCES]

Set RES_TERMINATION_DATE = DATEADD(hh, -23, RES_TERMINATION_DATE)

where (convert(varchar, RES_TERMINATION_DATE, 8)) = ’23:59:00′

UPDATE [ProjectWebApp].[pub].[MSP_RESOURCES]

Set RES_TERMINATION_DATE = DATEADD(mi, -59, RES_TERMINATION_DATE)

where (convert(varchar, RES_TERMINATION_DATE, 8)) = ’00:59:00′

マイクロソフトでは、Project Server 2013 でこの問題を解決できるように修正方法を調査しています。また、移行に関するドキュメント「Project Server 2013 へのアップグレードのための環境を準備する」 (https://technet.microsoft.com/ja-jp/library/ff603504.aspx) にも、この問題に関する説明を追加する予定です。

 

※ 本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。

Skip to main content