図1は、本発明の実施形態の取引先情報管理システムのシステム構成の一例を示すブロック図である
取引先情報管理システム100は、クライアント101、サーバ102、ネットワーク103より構成される。
クライアント101は、ユーザからの要求を受けて、サーバ102に対して処理要求を行い、サーバ102からの処理結果を表示する。クライアント101はWEBブラウザを装備しており、当該WEBブラウザを介して上記処理を行う。また、WEBブラウザではなく、専用のクライアントプログラムを介して上記処理を行ってもよい。
サーバ102は、クライアント101からの処理要求を受けて、各種処理を実行し、画面表示用データを作成して、クライアント101の表示装置に表示させる。
ネットワーク103は、クライアント101とサーバ102を連携させる。ネットワーク103は、インターネットであってもよいし、LAN(Local Area Network)であってもよい。
図2は、図1のクライアント101、サーバ102に適用可能なハードウェア構成の一例を示すブロック図である。
図2において、201はCPUで、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
203はRAMで、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202あるいは外部メモリ211からRAM203にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
また、205は入力コントローラで、キーボード(KB)209や不図示のマウス等のポインティングデバイス等からの入力を制御する。206はビデオコントローラで、CRTディスプレイ(CRT)210等の表示器への表示を制御する。なお、図2では、CRT210と記載しているが、表示器はCRTだけでなく、液晶ディスプレイ等の他の表示器であってもよい。
207はメモリコントローラで、ブートプログラム,各種のアプリケーション,フォントデータ,ユーザファイル,編集ファイル,各種データ等を記憶する外部記憶装置(ハードディスク(HD))や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるCFカードメモリ等の外部メモリ211へのアクセスを制御する。
208は通信I/Fコントローラで、ネットワーク(例えば、図1に示したネットワーク103)を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT210上での表示を可能としている。また、CPU201は、CRT210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
本発明を実現するための後述する各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ211に格納されており、これらについての詳細な説明も後述する。
図3は、本発明の実施形態の取引先情報管理システムの機能構成の一例を示すブロック図である。
取引先情報管理システム100は、クライアント101、サーバ102を持つ。
クライアント101は、入力受付部311、画面表示部312を持つ。
入力受付部311は、画面を介してユーザからの入力を受け付け、サーバ102に入力されたデータを送信する機能部である。画面表示部312は、サーバ102から受信した画面表示データをもとに画面を表示する機能部である。
サーバ102は、経歴図表示制御部321、取引先情報管理部322、担当者情報管理部323、経歴情報管理部324を持つ。
経歴図表示制御部321は、図15から図19に示す処理を実行することにより、経歴図を表示するための画面データを作成し、クライアント101に表示させるために画面データを送信する。
取引先情報管理部322は、図4に示す取引先テーブルをデータベースに格納し、その内容をメンテナンスする機能部である。
担当者情報管理部323は、図5に示す担当者テーブルをデータベースに格納し、その内容をメンテナンスする機能部である。
経歴情報管理部324は、図6に示す経歴テーブルをデータベースに格納し、その内容をメンテナンスする機能部である。
本実施例の機能構成では、サーバ102の処理はWebアプリケーションの形態で提供され、クライアント101が装備するWebブラウザを使用して当該Webアプリケーションにアクセスする形態となる。なお、サーバ102と、クライアント101の接続形態はWebアプリケーション形式ではなく、クライアント101が専用プログラムを備えたサーバ・クライアント形式でもよい。
以下、図を参照して、取引先情報管理システムで使用するデータテーブルの一例について説明する。
図4は、取引先テーブル400の一例を示すデータ構成図である。
取引先テーブル400は、取引先となる顧客企業の情報を格納し、項目として、取引先ID401、会社名402、略称403、企業グループ404、親会社ID、業種406を持つ。
取引先ID401は、取引先を一意に識別する英数字列であり、会社名が変更されたとしても法人として同じであれば同一のIDを使用する。会社名402は、取引先の現在の会社名である。略称403は、取引先の現在の会社名の略称である。
企業グループ404は、取引先が属する企業グループを示し、企業グループの名称か、企業グループを表すコードを設定する。親会社ID405は、取引先の親会社の取引先ID401を設定する。業種406は、取引先が属する業種である。
図5は、担当者テーブル500の一例を示すデータ構成図である。
担当者テーブル500は、取引先の担当者である役員や従業員の情報を格納し、項目として、担当者ID501、名前502、自社との関係503、略称504を持つ。
担当者ID501は、担当者を一意に識別する英数字列であり、転職や出向で会社を変わった場合も同一のIDを使用する。名前502は、担当者の名前である。
自社との関係503は、取引先情報管理システムを使用するユーザの属する会社に対して、担当者がどのような関係にあるかを示す情報であり、「普通」、「良好」、「険悪」等を設定する。略称504は、担当者の名前の略称である。
図6は、経歴テーブル600の一例を示すデータ構成図である。
経歴テーブル600は、各担当者の異動、昇進、転職等に伴う経歴の情報を格納し、項目として、経歴ID601、担当者ID602、着任日603、離任日604、取引先ID605、在任時会社名606、在任時会社略称607、兼務フラグ608、部署609、役職610、役職階層611、順序612を持つ。
経歴ID601は、経歴を一意に識別する英数字列である。担当者ID602は、担当者を表し、担当者テーブル500の担当者ID501に対応する。着任日603は、当該経歴に着任した日である。離任日604は、当該経歴から離任した日であり、当該経歴が現在も継続中であれば「−」を設定する。
取引先ID605は、当該経歴時に担当者が属していた取引先を表し、取引先テーブル400の取引先ID401に対応する。在任時会社名606は、当該経歴時の取引先の会社名である。在任時会社略称607は、当該経歴時の取引先の会社名の略称である。
兼務フラグ608は、当該経歴が担当者にとって兼務か否かを表し、兼務の場合は「ON」、主務の場合は「OFF」を設定する。部署609は、当該経歴時の部署であり、代表や役員の場合など特定の部署に属さない場合はブランクとなる。
役職610は、当該経歴時の役職である。役職階層611は、役職のクラス(レベル)を表し、「代表クラス」から「社員クラス」まで分類する。順序612については図8にて後述する。
次に、図を参照して、上記テーブルのレコードを管理するための画面の一例を説明する。
図8は、取引先テーブル400の情報の入力/表示画面である取引先画面800の一例である。
取引先の会社名801、図面内に表示する際に使用する略称802、系列会社を識別する情報、その他取引先に固有の情報を登録する。
系列会社を識別する情報の登録方法としては、所属する企業グループ803を入力させる方法と親会社804として取引先テーブル400に存在する別の取引先を指定させる方法の二種類が考えられる。採用する方法によって、企業グループ803または親会社804のどちらか一方を用意すれば良い。
取引先画面800の下部には取引先に所属する担当者の一覧807を表示する。
表示する担当者は経歴テーブル600から現在有効な経歴(離任日604が空欄のもの)で取引先ID605が表示対象の取引先であるレコードを抽出し、担当者ID602に該当する担当者テーブル500レコードと連結した情報である。
担当者の一覧807の列は並び順(順序列816)を編集でき、設定した並び順は経歴レコードの順序612に番号で格納される。例えば、最上位に会長、次に社長、次に複数存在する取締役の中でも発言力の強い順、等、並び順を取引先の中での各担当者の序列に従って定義しておくことにより、後述の取引先経歴図(例えば図12)上でも取引先担当者の序列を表現することができる。
図9は担当者テーブル500情報の入力/表示画面である担当者画面900の一例であ。
担当者の名前901、図面内に表示する際に使用する略称902、自社との関係性を示す値903など担当者個人に関わる情報を登録する。
自社との関係性を示す値は「良好/普通/険悪/不明」などの値をあらかじめ定義した中から選択する。例えば自社製品の愛用者であるとか、継続的に取引があり信頼関係が構築されている場合は「良好」を設定し、以前トラブルで迷惑をかけた相手で関係が修復されていない場合は「険悪」を設定する。
担当者画面900の下部には担当者の経歴一覧904を表示し、追加編集もできる。
経歴一覧904には経歴テーブル600から担当者ID602が表示対象の担当者であるレコードを抽出し、着任日603および兼務フラグ608でソートしたレコードを表示する。
担当者画面900の経歴一覧904の会社名列913には経歴テーブル600の取引先ID605に該当する取引先テーブル400レコードの会社名402値を表示するが、在任時会社名列913および在任時会社略称列914には取引先テーブル400レコード項目値ではなく、経歴テーブル600レコードの在任時会社名606項目値および在任時会社略称607項目値を表示する。
一方、経歴レコード追加/編集時には、会社名列913の値は取引先テーブル400に登録されたレコードから選択させ、在任時会社名列913および在任時会社略称列914にも選択したレコードの会社名402および略称403をデフォルト値として設定する。在任時会社名列913および在任時会社略称列914は編集可能とし、過去の経歴レコードを登録する際に、必要であれば過去の会社名、略称を手入力できる。
これにより、在任時と現在で取引先の社名が変わっている場合にも取引先の現在レコードとの参照関係を維持しながら、在任当時の社名を保持することができる。
例えば、担当者画面900の「山田太郎」氏の場合、1995年に現在のCHD株式会社に入社した経歴926(該当の経歴レコードは経歴テーブル600の626)を持つが、1995年当時CHD株式会社はC販売株式会社という社名であったため、在任時会社名列913および在任時会社略称列914にはそれぞれ「C販売株式会社」「C販売」と入社当時の社名が保持されている。
担当者画面900の経歴一覧904の兼務列915には該当する経歴が主務のものであるか、兼務のものであるかを示す値を設定する。例えば、担当者画面900の山田太郎氏の場合、現在在任中(離任日912列が空欄)の経歴がC商事株式会社の会長(921の行)とCスタッフ株式会社(Cスタッフ)の取締役(923の行)の2つ存在するため、C商事株式会社の会長を主務(兼務列915の値OFF)、Cスタッフ株式会社の取締役を兼務(兼務列915の値ON)と定義して区別できる。
尚、本実施例では主務と兼務の2種類だけを管理対象としてフラグ形式で管理しているが、3つ以上の職務を同時期に兼任するような状態を管理したい場合は、ON/OFFのフラグ形式ではなく、「主務/兼務1/兼務2/兼務3/、、、」といった様に複数の種別から選択できるようにすれば良い。
担当者画面900の経歴一覧904では他に部署916および役職917も設定できる。
また、実際の役職名(名刺記載の肩書名等)とは別に役職階層918を設定できる。役職階層918とは経歴テーブル600の役職階層611のように、企業内の地位を大まかに序列化したものである。昨今の企業で使われる肩書が多様になっており、また、役職の階層数も企業によって様々である。例えば、取引先の代表者の場合、「社長」「会長」「CEO」等がある。また、「部長」「課長」といった一般的な肩書ならば問題ないが、「チーフ」「主任」「リーダー」「マネージャー」「主事」といった肩書となると、他社の人間がそれらの正確な立ち位置を判断するのは困難であるが、大まかに「5.課長クラス」「4.部長クラス」等に分類しておくことで、管理がしやすくなる他、後に説明する取引先経歴図(図12)の表示範囲を指定する条件としても利用できる。
経歴テーブル600のレコードは上記のように担当者画面900中の経歴一覧904で一括編集する他に、図10に示す経歴画面1000のように単独レコード単位で表示編集もできる。
次に、このように登録したレコードから図12に示す取引先経歴図および図13に示す個人経歴図を生成する方法について説明する。
図11は取引先経歴図の表示機能を組み込む画面の一例である。
表示対象の取引先1101、表示に含める経歴の対象期間を示す表示期間To1102および表示期間From1103、表示に含める対象の役職階層を示す表示役職階層範囲1104を指定して経歴図表示ボタン1106を実行することで、経歴図表示領域1105に経歴図が表示される。
また、別の方法として、取引先画面800に取引先経歴図表示ボタン808を配置して画面表示中の取引先を対象とした取引先経歴図を別画面で表示する方法なども考えられる。
個人経歴図については、担当者画面900上に個人経歴図表示ボタン905を配置する方式を一例としてあげる。
個人経歴図例1300は担当者画面900に表示したC商事株式会社の会長「山田太郎」氏の経歴を図式化した例である。
左端に年列1301を配置し、次列を主務列1311として主務の経歴を年列1301に合わせた在任期間の範囲で表示する。右列は兼務列1312として兼務の経歴を同様に表示する。各経歴枠の中には在任時会社略称(経歴テーブル600の606)値、および役職(経歴テーブル600の610)を表示する。また、各経歴枠の背景を現在有効な主務の経歴の取引先を基準として「当該取引先」であるか「当該取引先の系列会社」であるか「系列外の会社」であるかを判別できる背景色を設定する。例えば、「山田太郎」氏の場合、現在有効な主務の経歴はC商事株式会社の会長であるため、「C商事株式会社」が基準となる。経歴枠1321〜1324はC商事株式会社での経歴であるため「当該取引先」を示す背景白、であるのに対し、経歴枠1325はC商事株式会社の親会社であるC販売株式会社(現CHD株式会社)での経歴であるため、また、兼務の経歴枠1326の経歴についてはC商事株式会社の子会社であるCスタッフ株式会社(Cスタッフ)の経歴であるため、どちらも「当該取引先の系列会社」を示す背景網掛けとなる。
また、経歴枠1326のCスタッフの取締役着任以前には兼務の経歴が存在しないため、空欄1327として表示される。
各経歴枠(例えば1325)をクリックすることで、該当する経歴レコードを表示する経歴画面1000に遷移し、詳細な情報の確認および編集ができる。
表示されている情報自体は担当者画面900の経歴一覧904と同じものではあるが、図式化することで、各経歴の在任期間や出向転職歴、兼務状態などが視覚的に把握しやすくなる。
例えば、個人経歴図例1300では社長在任経歴を示す経歴枠1322により「山田太郎」氏の主務の経歴の中で社長在任期間が長いことがすぐに認識できるが、担当者画面900の経歴一覧904の社長在任経歴922から同様の情報を認識するには、全経歴の着任日と離任日から在任期間を計算して経歴間で比較する必要がある。また、Cスタッフ取締役の経歴が兼務であり、主務であるC商事での取締役、社長、会長の在任期間に重複していることなども、担当者画面900の経歴一覧904のCスタッフ取締役在任経歴923だけでは把握しづらいが、個人経歴図例1300の経歴枠1326のように図式化することで容易に判別できる。
また、個人経歴図例1300の中で会社名を略称で表示することで、「株式会社」といった文字が図の中にいくつも表示されて文字だらけで見にくい図になることを防ぐことができる。会社名だけでなく、役職名や部署名について略称を設定しても同様の効果が見込まれる。
図12は、担当者の経歴図を取引先単位でまとめて図式化した取引先経歴図の一例である。
前述のC商事株式会社の会長「山田太郎」氏の経歴列1211、1212に続けて、同じくC商事株式会社に現在有効な経歴が設定されている、取締役「佐藤三郎」氏の経歴列1213、取締役「田中一郎」氏の経歴列1214、1215、取締役「渡辺四郎」氏の経歴列1216、部長「鈴木次郎」氏の経歴列1217、課長「ジェームズ アンダーソン」氏の経歴列1218が表示される。
図12の例では対象取引先C商事株式会社のすべての役職階層および期間を表示対象としているため、取引先画面800の担当者一覧807記載の担当者がすべて表示されているが、図11の画面を利用して条件を設定すると、表示される範囲を制限することができる。例えば、図11の画面の表示役職階層範囲1104に示されているように「代表クラス」と「役員クラス」だけを対象とする条件を設定して表示した場合は、部長「鈴木次郎」氏、課長「ジェームズ アンダーソン」氏の各経歴列1217、1218は条件に該当しないため表示されない。期間についても同様である。この機能により、対象の取引先に多数の担当者および経歴情報が設定されている場合でも、対象を絞り込んで経歴図を表示することができ、表示速度が遅くなることを防ぐ効果がある。
担当者の並び順については、各担当者の対象取引先における現在有効な経歴レコードに設定された順序項目値(経歴テーブル600の612)を適用する。これにより、山田会長→佐藤取締役→田中取締役→渡辺取締役→鈴木部長→ジム課長と、取引先画面800の担当者一覧807の並び順で定義した取引先の中での各担当者の序列を経歴図上でも表現できる。
各経歴列の先頭行の1202には各担当者の名前の略称値(担当者テーブル500の504)を表示する。
これにより、「ジェームズ アンダーソン」氏のような長い名前の担当者がいても、経歴図中では「ジム」という略称を表示することにより、特定の担当者の列だけが幅を取ったり、幾段にも折り返しして高さを取ったり、「ジェーム..」のように中途半端に省略されてわかりにくくなったりすることを防ぐ効果がある。もちろん、字数に問題がなければ「佐藤三郎」や「渡辺四郎」のように略称にそのまま本名を設定することも可能である。
各経歴列の二番目の行の1203には担当者毎に設定した自社との関係項目値(担当者テーブル500の503)値を示すマークを表示する。図12の例では、顔文字を使用して良好、普通、険悪を表現したが、良好=「晴れ」、険悪=「雷雨」を表すアイコンで表現しても良い。
取引先経歴図例1200の各経歴枠の背景色には先に記述した個人経歴図例1300と同様に、「当該取引先」(白塗)であるか「当該取引先の系列会社」(網掛け)であるか「系列外の会社」(黒塗り)であるかを判別できる色を設定する。ただし、「当該取引先」は各担当者の現在の主務ではなく、経歴図の表示条件に指定した取引先(図12の例の場合「C商事株式会社」)とする。
また、「当該取引先」に該当する経歴枠中は社名の表示を省略している。
取引先経歴図においても個人経歴図と同様に各経歴枠をクリックすることで、該当する経歴レコードを表示する経歴画面1000に遷移し、詳細な情報の確認および編集ができる。また、同様に担当者名行1202の各担当者名(例えば「山田(太)」)をクリックすることで、該当する担当者レコードを表示する担当者画面900に遷移し、画面タイトルの取引先名(例えば「C商事株式会社」)のクリックにより、取引先画面800に遷移する。
背景色の違いにより、社外取締役、出向状況、転職履歴などの判別が容易となる。例えば、「田中」氏の主務列(1214)のA銀行の取締役の経歴枠が「系列外の会社」を示す黒塗りであることから、「田中」氏の本業がA銀行の取締役であり、兼務列1215に表示されているC商事の取締役は社外取締役としての兼任していることがわかる。
一方、図14に示す「田中」氏の本業であるA銀行の取引先経歴図例1400では表示内容が次のようになる。A銀行を「当該取引先」とした取引先経歴図例1400では、「田中」氏の主務列1413のA銀行の取締役の経歴枠が「当該取引先」を示す白塗りとなって社名表示が省略され、兼務列1414のC商事の取締役の経歴枠が「系列外の会社」を示す黒塗りでの表示となる。
図12の説明に戻る。
また、「渡辺」氏の経歴列1216の中のCスタッフ 社長の経歴枠は「当該取引先の系列会社」を示す網掛けであることから、転職して出戻ったわけではなく、系列会社に出向していた状態であることがわかる。一方で「鈴木」氏の経歴列1217の最下部にあるM証券の社員の経歴は「系列外の会社」を示す黒塗りであることから「鈴木」氏はC商事株式会社には新卒入社ではなく、M証券から転職して中途入社した経歴の持ち主であることがわかる。
また、取引先経歴図によって複数の担当者の経歴を一画面で確認できることにより、営業戦略に役立つ取引先固有の情報を把握できる場合もある。
例えば、図12の表示例の場合、「営業」という文字が頻出している。役員以上だけを見ても、会長の「山田」氏の経歴列1211を見ると「国内『営業』本部 本部長」「『営業』部 部長」「C販売 『営業』部 部長」と営業畑の出身であることがわかり、また、取締役「渡辺」氏の経歴列1216にも「『営業』部 部長」「『営業』部『営業』課 課長」とあり、「渡辺」氏もまた営業畑であることから、現在C商事株式会社では営業の勢力が強いことが推測される。また、現在「営業部 部長」である「鈴木」氏の経歴列1217を見ると部長昇進前は「営業部営業課 課長」であり、「渡辺」氏と同じ昇進履歴を辿っていること、また、「営業部 部長」は会長の「山田」氏も経験したポストであることから、将来「鈴木」氏が取締役に昇進する可能性が高いという推測が成り立つ。
その場合、営業戦略として現在は部長クラスであるものの、将来有望な「鈴木」氏とのコネクションを強化しておく等の対策を取ることができる。
尚、本明細書の記載例で年を縦に降順(現在を上に、過去を下に)で配置し、担当者を横に並べているが、いわゆる歴史年表式に年を昇順(過去を上に、現在を下に)に並べても良いし、ガントチャート式に年を横に配置する方式(過去を左に、現在を右に)としても良い。
以下、図を参照して、取引先情報管理システムにて経歴図を生成する処理について説明する。
以下の処理は、サーバ102にて実行されるが、データ入力や画面表示はクライアント101の入力受付部311、画面表示部312にて実行される。
図15、図16は本発明による取引先経歴図生成処理の一例を示すフローチャートである。図11の条件画面にて取引先1101、表示期間To1102、表示期間From1103、表示役職階層範囲1104を指定して経歴図表示ボタン1106を実行した場合に、図15、図16のフローチャートの処理を開始する。ここでは、図11記載の「C商事株式会社」の経歴図を生成する場合を例に説明する。
まず、ステップS101において経歴図に表示される担当者を検出する。具体的には、経歴テーブル600から取引先ID605が経歴図画面1100で指定された取引先1101であり、役職階層611が条件画面で指定された表示役職階層範囲1104に含まれ、かつ、離任日604が空欄となっている現在有効な経歴のレコードを取得する。これにより、経歴図に表示される取引先に現在在任中であり、指定された役職階層の担当者が検出できる。ここで取得された経歴レコードの担当者が生成対象の経歴図に表示される担当者となる。
本例の場合、経歴テーブル600から「山田」氏のC商事の会長経歴レコード621、「鈴木」氏のC商事の営業部部長経歴レコード627、「田中」氏のC商事の取締役経歴レコード631、「ジム」氏のC商事の営業部第一課課長経歴レコード633、「佐藤」氏のC商事の取締役経歴レコード635、および「渡辺」氏のC商事の取締役経歴レコード638の6レコードが取得される。
また、この際に、表示対象担当者の序列を反映するために、対象レコードを順序612の値でソートする。これにより、本例の場合、「山田」氏→「佐藤」氏→「田中」氏→「渡辺」氏→「鈴木」氏→「ジム」氏の序列となる。
次に、ステップS102において各担当者の略称と自社との関係値を取得する。具体的には、ステップS101において取得した経歴レコードの担当者ID602に該当するレコードを担当者テーブル500から取得する。本例の場合、レコード521(「山田」氏)〜526(「渡辺」氏)が取得される。
ここで取得したレコードに含まれる各担当者の略称504および自社との関係503が生成する経歴図のヘッダ部に表示される。
ステップS103において、表示対象の経歴レコードをすべて取得する。具体的には、経歴テーブル600から担当者ID602値がステップS101において取得した経歴レコードの担当者ID602値に該当し、かつ、経歴図画面1100で指定した表示期間From1103から表示期間To1102の間に在任期間(着任日603および離任日604の期間)が含まれるレコードを取得する。また、ここでもステップS101において指定した対象担当者の序列順かつ着任日603の降順かつ兼務フラグ608順(OFF→ON)でソートする。
本例では、レコード621〜641が取得されて、一時的にRAM203に格納され、ソートの結果、図7の並び順となる。
ステップS104において、ステップS103で取得した経歴レコード群700の中で一番古い着任日603値を検出する。本例の場合、レコード739の着任日603値「1990/04/01」が検出される。
ステップS105において経歴図に表示される月数および年数を算出する。具体的にはステップS104において検出した一番古い着任日項目値(本例では上記「1990/04/01」)または経歴図画面1100で指定した表示期間From1103(本例では「1990/01/01」)のうち新しい日付(本例では「1990/01/01」<「1990/04/01」であるため「1990/04/01」を採用)と、経歴図画面1100で指定した表示期間To1102(本例では「現在」を2016年8月とする)の間の月数および年数を算出する。
ステップS106においてステップS105で算出した月数分の行(および、担当者名行1202と自社との関係アイコンを表示する行1203)を経歴図に作成する。
ステップS107において、経歴図の左に年列1201を作成し、年に相当する月数分の行を連結し、年値を表示する。本例では、1990/04〜2016/08であるため、1990年から2016年までの年列となる。
ステップS108においてステップS103で取得し、ソートした経歴レコード群700の先頭レコードを現在レコードする。本例では、721の「山田」氏のC商事会長経歴レコードとなる。
ステップS109において、ステップS103(繰り返し処理の場合は、ステップS124)で取得したレコードに該当する担当者列(図12の例の場合、「山田」氏の主務列1211)を経歴図に追加する。ステップS102で取得しておいた担当者レコードの該当する担当者の情報(本例では「山田」氏レコード521)から、担当者名行1202に略称504項目値(本例では「山田(太)」)を表示し、該当担当者の担当者画面900への遷移情報(Webシステムの場合URL等)を設定しておく。自社との関係アイコン行1203に自社との関係503項目値(本例では「普通」)に相当するアイコン(顔文字)を表示する。
ステップS110において、経歴図画面1100で指定した表示期間To1102の値を変数「開始年月」に格納する。本例では、現在を2016年8月とするため「2016/08」とする。
ステップS111において、空白期間の有無を判定する。具体的には、ステップS103(繰り返し処理の場合はステップS124)で現在値とした経歴レコードの離任日604値が現在を示す空欄以外でステップS110(繰り返し処理の場合はステップS122)で変数「開始年月」に格納した値より小さい場合、経歴図の最上部または一つ前の経歴枠の下部(着任日)と当該経歴の離任日の間に空白期間があると判断し、ステップS113に進む。
上記条件に該当せず、空白期間がないと判断された場合はステップS112に進む。本例ではレコード721の離任日が現在を示す空欄であるため空白期間を設定せずそのままステップS112に進む。
ステップS111からステップS112に進んだ場合、変数「開始年月」が示す行からステップS103(繰り返し処理の場合はステップS124)で現在値とした経歴レコードの着任日603値が示す年月の行(ただし、着任年月が図11の条件画面で指定した表示期間From1103値より前である場合は表示期間From1103値の年月の行)までを連結し、経歴枠を作成する。
本例では、レコード721の着任日603の値が「2014/04/01」であり、表示期間From1103値「1990/01/01」より後であることから、開始年月「2016/08」から「「2014/04」までの行を連結した経歴枠(図12の1211列先頭の「会長」経歴枠)が作成される。
もしステップS111からステップS113に進んだ場合は、変数「開始年月」が示す行からステップS103(繰り返し処理の場合はステップS124)で現在値とした経歴レコードの離任日604値が示す年月の行(ただし、着任年月が図11の条件画面で指定した表示期間From1103値より前である場合は表示期間From1103値の年月の行)までを連結し、空白期間枠を作成し、ステップS114に進む。
ステップS114では、ステップS103(繰り返し処理の場合はステップS124)で現在値とした経歴レコードの離任日604値が示す年月の行から着任日603値が示す年月の行までを連結し、経歴枠を作成する。
ステップS115では、現在処理中の経歴が経歴図表示対象の取引先における経歴であるか否かを判定する。具体的には、ステップS103(繰り返し処理の場合はステップS124)で現在値とした経歴レコードの取引先ID605値が図11の条件画面にて指定した取引先1101に該当する場合、経歴図表示対象の取引先の経歴であると判断し、ステップS119に進む。該当しない場合は経歴図表示対象の取引先の経歴ではないと判断し、ステップS116に進む。
本例では、レコード721の取引先ID605値が条件画面にて指定した取引先「C商事株式会社」を示す「10000」であるため、経歴図表示対象の経歴と判断される。
ステップS115からステップS119に進んだ場合は、ステップS111またはステップS114で作成した経歴枠に、ステップS103(繰り返し処理の場合はステップS124)で現在値とした経歴レコードの部署609値および役職610値を表示し、背景を自社色(図12の例では白塗)に設定し、該当経歴の経歴画面1000への遷移情報(Webシステムの場合URL等)を設定し、ステップS122に進む。本例の場合、レコード721より部署値空欄、役職値「会長」と表示し、白塗りとなる。
ステップS122では変数「開始年月」に現在処理中の経歴レコードの着任日603から取得した年月値を格納する。本例の場合、レコード721の着任日603値の年月「2014/04」を格納する。
ステップS123では、ステップS103で取得したレコードに次のレコードがあるかどうかを検証し、次レコードがあればステップS124に進み次レコードを現在の処理対象レコードし、さらにステップS125に進む。次レコードが存在しない場合は、ステップS130に進む。
本例では、処理中の721レコードの次に722レコードが存在するため、レコード722を現在レコードとして次ステップS125に進む。
ステップS125では、ステップS124で現在値とした経歴レコードが、処理中の担当者と一致するかどうかを判定する。具体的には、前レコードと現在レコードの担当者ID602が一致した場合、同一担当者と判断し、ステップS126に進む。一致しない場合は別の担当者の経歴と判断し、ステップS127に進み、現在の担当者列の残りの行をすべて連結して空白期間枠を作成した上で、ステップS109に戻り、次の担当者列について同様の処理を続ける。
本例では現在レコード722と前レコード721共に「山田」氏の主務の経歴であるため、そのまま主務列の処理を続ける。
同様に経歴レコード群700の順番にレコード処理を繰り返し、レコード725のステップS115まで進める。レコード725はC販売株式会社(現CHD株式会社)の経歴レコードであるため、ステップS115において経歴図指定取引先ではないと判断され、今度はステップS116に進む。
ステップS115からステップS116に進んだ場合、経歴図表示対象の取引先ではないため、部署と役職に加えて在任した社名も経歴枠に表示する。ステップS111(空白期間枠を作成した場合はステップS114)で作成した経歴枠(本例では図12の列1211最下部のC販売営業部部長経歴枠)に、ステップS103(繰り返し処理の場合はステップS124)で現在値とした経歴レコードの在任時会社略称607値(本例ではレコード725より「C販売」)、部署609値(本例では「営業部」)および役職610値(本例では「部長」)を表示し、経歴画面1000への遷移情報を設定し、ステップS117に進む。
ステップS117では現在処理中の経歴が経歴図表示対象の取引先の系列会社であるか否かを検出する。系列会社判定処理の処理詳細については図17、図18にて後述する。
ステップS118においてステップS117の処理結果を判定する。現在処理中の経歴が経歴図表示対象の取引先の系列会社であると判定された場合は、ステップS120に進み、ステップS116で社名、部署、役職を表示した経歴枠の背景を系列会社色(図12の例では網掛け)に設定する
本例では現在処理中のレコード725は経歴図表示対象のC商事株式会社の親会社(および同じCHDグループ企業である「C販売株式会社」の経歴であるため系列会会社と判断されて、背景が網掛けに設定される。
次ステップS122では「開始年月」変数にレコード725の着任年月「1992/04」を格納し、ステップS123を経由してステップS124にて次レコード726の処理に移る。
レコード726は同じ「山田」氏の経歴レコードではあるが主務であるC商事会長の肩書と兼任しているCスタッフ取締役の経歴であるため、兼務フラグ608値が「ON」になっており、前レコード725の「OFF」とは異なるため、今度はステップS128に進む。
ステップS128では現在処理中の主務列の残行を空白期間枠に設定する。前レコード725の着任日603の年月値「1992/04」から経歴図の最下行の「1990/04」までを連結し、空白期間枠に設定する。(図12の列1211の下部)
次にステップS129にて経歴図に兼務列を追加する。現在処理中の「山田」氏の主務列1211の右に同じ「山田」氏のヘッダ情報枠に含めて兼務経歴を表示する新しい列1212列を追加し、現在列とする。
そして、ステップS110に戻り、経歴図の最上部から再度処理を開始するために、「開始年月」変数値を経歴図画面1100で指定した表示期間To1102の値(本例では「2016/08」)で上書きし、ステップS123までの処理を実行して、作成した兼務列1212にレコード726のCスタッフ取締役経歴枠を作成する。
ステップS124にて次レコード727を取得すると、今度は担当者ID602値が「山田」氏を示す「10100」ではなく、「佐藤」氏を示す「10500」となっているため、ステップS125において別担当者の経歴レコードと判断され、ステップS127に進む。
ステップS127では経歴図に新しい担当者列を作成する。本例では現在レコード727が「佐藤」氏の経歴であるため、図12の列1213のように佐藤三郎列を作成して現在処理列としてステップS110に戻り、処理を続ける。
上記のように処理を繰り返し、レコード730のステップS116まで処理を進める。レコード730は「田中」氏のA銀行取締役の経歴レコードである。A銀行はC商事の系列会社ではないため、ステップS118において系列会社ではないと判定されて今度はステップS121に進み、背景色を系列外を示す会社色(本例では黒塗)に設定される。(図12の列1214のA銀行取締役経歴枠)
そのまま処理を繰り返し、最終レコード741(「ジム」課長の企画部企画課課長経歴レコード)のステップS122まで処理を進める。
ステップS123において次レコードが存在しないため、繰り返し処理を抜けてステップS130に進む。
ステップS130においてレコード741の着任日603の値「2008/04/01」から「2008/04」行以下をすべて連結して空白期間枠に設定し、処理を終了する。
以上の処理にて図12の取引先経歴図が生成される。
次に、ステップS117の系列会社判定処理のフローを説明する。
系列会社判定処理の実装方法としては、先に記述したように、取引先テーブル400に所属する企業グループ404を設定する方法と親会社ID405として取引先テーブル400に存在する別の取引先の取引先IDを指定させる方法の二種類が考えられる。
図17の処理フローは取引先テーブル400に所属する企業グループ404を設定する方法の場合の処理例である。
図16の処理フローにてステップS117に進んだ場合に図17のフローが開始する。
まず、先頭のステップS201にて取引先テーブル400から経歴図表示対象の取引先のレコードを取得する。
次にステップS202にて処理中の経歴レコードの取引先ID605に該当する取引先のレコードを取引先テーブル400から取得する。
ステップS203にてステップS201で取得した取引先レコードとステップS202にて取得した取引先レコードの企業グループ404値を比較し、一致した場合は系列企業であると判定(S204)し、一致しない場合は系列企業ではない(S205)と判定して処理を終了する。
一方、図18は親会社ID405として取引先テーブル400に存在する別の取引先の取引先IDを指定させる方法の場合の処理フローである。
図16の処理フローにてステップS117に進んだ場合に図18(a)のフローが開始する。
まず、ステップS301にて取引先テーブル400から経歴図表示対象の取引先のレコードを取得する。
次にステップS302にて系列元取引先を特定する。系列元取引先とは親会社のさらに親会社、といった企業グループの最上位となる取引先を示す。例えば、Cスタッフ株式会社がC商事株式会社の子会社であり、C商事株式会社はCHD株式会社の子会社であり、CHD株式会社には親会社が存在しない場合、上記三社はいずれも「CHD株式会社」系列企業と判断され、系列元取引先は「CHD株式会社」となる。
図18(b)にステップS302の系列元取引先取得処理の詳細な処理フローを示す。
取引先テーブル400のレコード422の「Cスタッフ株式会社」を例に説明する。
ステップS401において親フローより引き継いだ「Cスタッフ株式会社」レコード422の親会社ID405値を取得する。
ステップS402において、ステップS401で取得した親会社ID405値が空欄であるかどうかを検証する。本例の場合、Cスタッフ株式会社レコード422の親会社ID405に「10000」が設定されているため、空欄ではないと判断され、ステップS404に進む。
ステップS404では、親会社ID405で指定された値に該当するレコードを取引先テーブル400から取得し(本例の場合、C商事株式会社レコード421が取得される)、ステップS401に戻る。
ステップS401では、今度はステップS404で取得したC商事株式会社レコード421の親会社ID405を取得する。本例の場合、「30000」が取得されるため、次のステップS402では空欄ではないと判断され、再度ステップS404に進む。
ステップS404では、今度は取引先ID「30000」に該当する「CHD株式会社」レコード423を取得し、ステップS401に戻る。
ステップS401で親会社ID405を取得すると、今度は空欄であるため、ステップS402の次はステップS403に進む。
ステップS403において、現在処理中のレコード423に該当する「CHD株式会社」を系列元取引先値として返し、処理を終了する。
以上で、系列元取引先取得処理の詳細処理の説明を終了し、図8(b)の説明に戻る。
ステップS302において上記のように経歴図表示対象の取引先の系列元取引先を取得した後、ステップS303に進む。
ステップS303では、処理中の経歴レコードの取引先ID605に該当する取引先のレコードを取引先テーブル400から取得する。
続けてステップS304において再度、図18(b)の系列元取引先取得処理フローを実施し、処理中の経歴レコードの取引先の系列元取引先を取得する。
次に、ステップS305において、ステップS302とステップS304で取得した両系列元取引先を比較し、一致した場合はステップS306に進み系列企業であると判定して処理を終了、一致しない場合はステップS307に進み系列企業ではないと判定して処理を終了する。
以上、2種類の系列会社判定処理の処理例について説明した。
このようにいずれの方法でも系列会社判定処理が可能である。
所属する企業グループ404を設定する方法は、企業グループ名が必ずしも系列元取引先名と一致しない場合や、財閥のように複数の系列元取引先が1社とは限らない場合などに有効である。また、必ずしも取引先の親会社のレコードを作成する必要がない利点もある。
一方、親会社ID405を設定する方法は、企業グループ名を付ける程でもない小規模な取引先間の系列関係も管理できる他、系列取引先同士の階層付ができるため、取引先同士の親子関係が把握しやすいという利点がある。
次に、図13に一例を示す個人経歴図を生成する処理フローについて説明する。
個人経歴図を生成する場合も、基本的には図15、図16の処理フローを実施するが、冒頭の処理だけが異なる。
本例では、図9の担当者画面の個人経歴図表示ボタン905を実行することで、図19の処理フローが開始されるものとする。
個人経歴図の場合、経歴図処理対象の取引先が特定されていないため、図15の処理フローに入る前に、表示対象の担当者の最新の主務の経歴を特定し、その経歴の在任取引先を図15の処理フローにおける経歴図処理対象の取引先として指定する必要がある。
まず、ステップS501において表示対象の担当者の最新の主務経歴を特定する。具体的には、経歴テーブル600から表示対象の担当者(本例の場合、担当者画面900の表示対象である「山田」氏)の担当者ID602が処理呼び出し元の担当者画面900で表示された担当者に該当する値であり、兼務フラグ608値が主務を示す値(本実施例では「OFF」)であり、かつ、着任日603が最も新しい経歴のレコードを取得する。
本例の場合、図9の取引先画面の表示対象が「山田」氏であるため、経歴レコード621が取得される。
次に、ステップS902において、ステップS901で取得した経歴レコードの取引先ID605値から取引先を特定し、特定した取引先を続く処理フロー図15、図16における「経歴図指定取引先」に定める。
本例の「山田」氏の場合、ステップS901で取得した経歴レコード621の取引先ID605値はC商事株式会社を示す「10000」であるため、C商事株式会社が「経歴図指定取引先」となる。
「経歴図指定取引先」を表示対象担当者の主務の取引先に設定した後は、取引先経歴図の場合と同様に図15のステップS102に進み、担当者テーブル500から1名のみの表示対象担当者の略称504項目値および自社との関係503項目値を取得し、続く各ステップを実施した後に、結果として図13に示す個人経歴図例1300が生成される。
上記のように生成された「山田」氏の個人経歴図例1300では、現在の主務として会長を務めているC商事株式会社が当該取引先」を示す白塗りとなって表示され、「C販売」や「Cスタッフ」在任中の経歴は関連会社を示す網掛けで表示される。
上記の通り、本発明では、個人の経歴図と、取引先に所属する担当者をまとめた取引先経歴図との両方を生成することが可能であり、ユーザが指定した会社や、担当者が現在所属する会社との関連性をわかりやすく提示することができる。
以上、各実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、本発明におけるプログラムは、各処理方法をコンピュータが実行可能(読み取り可能)なプログラムであり、本発明の記憶媒体は、各処理方法をコンピュータが実行可能なプログラムが記憶されている。
なお、本発明におけるプログラムは、各装置の処理方法ごとのプログラムであってもよい。
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読取り実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,DVD−ROM,磁気テープ,不揮発性のメモリカード,ROM,EEPROM,シリコンディスク等を用いることができる。
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ,データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。