ラベル lookup の投稿を表示しています。 すべての投稿を表示
ラベル lookup の投稿を表示しています。 すべての投稿を表示

2021年4月12日月曜日

同姓同名のユーザ(あるいは同一文字列で表現される)の情報をルックアップ元のテーブルから正しく識別してインポートする

Servicenowのインポート機能は強力なのだが、時に躓くことがある。

この例も実際自分が躓いた例。Type がReferenceになっていて同名レコードが元テーブル(参照先テーブル)に存在するフィールドの正しいインポート方法。

例えばであるがsys_userに「山田 太郎」という名前の人物が2名いる。

例えばこんなケース。

yamada.taro1とyamada.taro2は「User ID」や「Sys_ID」では区別ができるので、sys_userテーブルに対するインポートや更新では特に問題になる事はない。

問題になるのはこの同名のエントリをルックアップしているテーブルのインポートを行うときである。

例えばグループとユーザの関係性を定義している、sys_user_grmemberテーブルを見ると次のようになっている。

Help Deskグループに山田 太郎が二人とも所属している場合こうなる。

インポート機能を使った事がある方はお分かりと思うが、このようなデータをインポートしようとして、テーブルをエクスポートしたり、更新インポート用のエクセルフォーマットを出力したとしても、次のようなフィールドが得られるだけである。

要するにこのままでは、「山田 太郎」がyamada.taro1とyamada.taro2のいずれなのかを区別して扱う事が出来ない。

当然ながらこのようなデータをインポートしても、1と2どちらの山田太郎が選択されたデータが出来上がるかが不明である(ちゃんと検証していないがSys_IDが若い方が勝手に選ばれていた様な気がする)。

これでは困るので、SYS IDなりユーザIDなり一意の情報を指定してインポートしたいわけだが、User列にyamada.taro1のIDなりSYS_IDなりを記載してインポートしてもエラーになるだけなのである。

色々と検索してみても(どこかにはあるのかもしれないが)なかなかこれを解決するためのドキュメントが見つからず困った。

ウェブサイトのURLにおけるトレイリングスラッシュの解釈と有無による動作の違い

インターネットが現代社会におけるコミュニケーションの基盤となっている今日、ウェブサイトのURLはビジネスや個人ブランディングにとって重要な役割を果たしています。URLは単にウェブページへの経路を示すだけでなく、SEO(検索エンジン最適化)においても重要な要素です。この記事では、U...