ディスカッション
· 2020年9月3日

InterSystems ObjectScript エクステンションでルーチンをインポートしようとするとname is invalidエラーになるときの解決方法

前提条件

  • InterSystems ObjectScriptエクステンション 0.9.0
  • Visual Studio Code でローカルにルーチンのファイルを作成している。

問題点

ルーチンをGit等でバージョン管理する等の理由で、IRIS(/Cache)サーバー間でファイル連携している場合に、新規ルーチンをファイルから作成し、サーバーへ「Import and Compile」等を実行するとエラーが出てインポートに失敗する事がある。(xxxxxxxxxxはルーチン名)

ERROR #16006: Document 'xxxxxxxxxx' name is invalid

解決方法

先にサーバーからインポートした事があればお気づきの方もいるかもしれないが、InterSystems ObjectScript エクステンションを使用してルーチンをインポートする場合、ルーチンの先頭行に以下のように1行必要となっている。これが無いと上記のようにエラーとなってしまう。

ROUTINE xxxxxxxxxx

INTやINCファイルの場合は、Type属性が必要。Type属性を省略するとMACファイルとしてインポートされる。

ROUTINE xxxxxxxxxx [Type=INC]

インポートされたサーバー側では上記の1行は追加されたままだが、消してもエクスポートすると自動で付加されるので、一度インポート出来てしまえば心配ない。但し、ローカル側でこの1行を消してしまうと再びエラーとなってしまうので注意して欲しい。

ディスカッション (2)1
続けるにはログインするか新規登録を行ってください