(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0015】
以下、図面に基づき、本発明の実施の形態(EDIに係わるメッセージ自動訂正システム等)について詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一符号を付し、その繰り返しの説明は省略する。また、本発明の実施の形態では、流通BMS(流通ビジネスメッセージ標準)のメッセージ交換を例に挙げ説明する。また本明細書で、訂正・修正・補正などの語は概略同様の意味であるが、特に、コンピュータによる自動訂正、ユーザによる修正作業のように使い分ける。
【0016】
本実施の形態のシステム(
図1)は、情報処理システム間で交換するメッセージ(EDIメッセージ)の中継を実施し、統計情報を用いたEDIメッセージ(データ)のチェック・自動訂正の処理機能を備えるシステム(メッセージ自動訂正システム)を含んで成る。本メッセージ自動訂正システムは、特に
図1のデータチェックサーバ210と統計情報220を用いて構成される。またメッセージの送信者100側の情報処理システムは対応する処理機能(送受信プログラム600)を備える。
【0017】
[システム構成]
図1において、本実施の形態のシステムの全体の構成例を示している。本システムでは、送信者100の送受信プログラム600と、データチェックサーバ210と、統計情報(統計情報記憶部)220と、EDIセンタ300とを含む各要素がWeb200を介して接続される構成である。Web200は、インターネット、専用線、等の、EDIに対応したネットワークである。
【0018】
送受信プログラム600は、送信者100用のプログラム(処理部)であり、図示しないコンピュータシステム(後述、
図5)で稼働する。送信者100(ないしそのコンピュータシステム)とは、EDIメッセージを送信する/送信した側の情報処理システムのユーザ等である。送信者100側のシステムは、本システム(データチェックサーバ220等)を中継に利用し、情報処理システム間でEDIメッセージの交換を行う。
【0019】
統計情報220は、例えばストレージやデータベースサーバ等の記憶手段にて保持・蓄積される。統計情報220は、正常系メッセージテーブル230を含む。正常系メッセージテーブル230は、正常なメッセージのデータを保持する。即ち、統計情報220は、過去の情報を含み、当該情報をメッセージの訂正(修正)に用いる。
【0020】
データチェックサーバ210は、詳しくは、送受信部21、データチェック部22、統計情報記録部23、自動訂正部24、差戻し部25、転送部26、等の処理部を備える。これらは例えばソフトウェアプログラム処理により実現される。例えば、データチェックサーバ220は、一般的なサーバ形態で実現可能であり、図示しないプロセッサにより制御プログラム(本実施の形態のプログラム)等をメモリにロードして実行することにより、各処理部(21〜24)の処理を実現する。
【0021】
送受信部21は、メッセージ等の送受信処理を含む外部との通信処理を行う。データチェック部22は、メッセージ等のデータをチェック(例えば各項目のエラー有無等のチェック)する処理を行う。統計情報記録部23は、統計情報220に対するデータ情報の記録や参照などの処理を行う。自動訂正部24は、メッセージ(データ項目)を自動訂正する場合の処理を行う。特に、自動訂正部24は、統計情報220をもとに、情報処理システム間で過去に交換したメッセージ内の項目毎の変化の大小により、対象の項目を選定し修正する処理を行う(後述)。差戻し部25は、修正後のメッセージ等を送信者100側に差戻す(送信する)処理を行う。転送部26は、修正無しのメッセージをEDIセンタ300へ転送(送信)する処理を行う。
【0022】
また特に、データチェック部22及び自動訂正部24は、情報処理システム間で過去に交換したメッセージを元に作成した統計情報(220の情報)から、不具合が存在するメッセージの自動訂正が困難な場合には、差し戻し部25により、送信者100(600)に対し、当該メッセージの不具合の箇所の過去の特定の期間分の統計情報を、処理情報501として提供する(後述)。
【0023】
EDIセンタ300は、受信者側の情報処理システムであり、データチェックサーバ210から受信したメッセージデータを保持する。
【0024】
[動作]
図1で、本システムにおける動作概要は以下である。a1等は主な動作・処理・作業などを示す。
【0025】
送信者100は、送受信プログラム600(送信者用のプログラム)を用いて、Web200を介して、メッセージ401をデータチェックサーバ210に送信する(a1)。その際、当該メッセージ401と同時に、項目毎のデータチェック有無を示すマーキング情報502(後述、
図8)も送信する。401は、送受信プログラム600で送信ボタン押下時に送信されるメッセージである(後述、
図5)。502は、マーキング設定ボタン押下(601)により設定したマーキング情報である(後述、
図5)。
【0026】
データチェックサーバ210は、送受信部21によりメッセージ401を受信し、データチェック部22によりチェックを行い、a1のメッセージ401にエラーが存在しない場合は、当該メッセージ401と同一のメッセージ404を、転送部26によりEDIセンタ300に送信する(a2)(
図2のS211に対応)。404は、データチェックサーバ210でのa1のメッセージ401のデータチェック処理で問題が無い場合にEDIセンタ300に送信するメッセージである。
【0027】
データチェックサーバ210は、EDIセンタ300にa2のメッセージ404を送信した後、統計情報記録部23により、統計情報220に対して、a2のメッセージ404(401,404と同じデータ)を追加(記録)する(a3)。
【0028】
データチェックサーバ210は、a1のメッセージ401にエラーが存在する場合は、自動訂正部24により、統計情報記録部23による統計情報220からの情報(過去の情報を含む)を用いて当該メッセージ401の自動訂正の処理を行う(a4)。当該メッセージ401の自動訂正(修正)の後のメッセージを、a5で示すメッセージ(修正後メッセージ)402とする。
【0029】
また、送信者100が自動訂正作業の内容の確認を行うために、データチェックサーバ210の差戻し部25から送信者100(600)に対して上記(修正後)メッセージ402を送信する(a5:差戻し)。更にその際、当該メッセージ402における自動訂正箇所の情報として処理情報(報告情報)501を送信する(s5)。501は、データチェックサーバ210が警告発生時または修正発生時に送信者100に送信する処理情報(報告情報)である。
【0030】
送信者100は、送受信プログラム600で上記a5の(修正後)メッセージ402及び処理情報501を受信する。送信者100は、当該メッセージ402及び処理情報501をもとに、自動訂正内容(自動訂正作業内容)の確認を行い、問題がある場合は、当該メッセージ402の手動修正を実施する(a6)。ここで送信者100が上記確認または手動修正を実施したメッセージを、a7で示すメッセージ403とする。403は、送受信プログラム600で確認ボタンの押下時に送信されるメッセージである(後述、
図5)。送信者100は、処理情報501の確認後、上記メッセージ403をデータチェックサーバ210に送信する(a7)。
【0031】
データチェックサーバ210は、送信者100からの上記a7のメッセージ403を送受信部21により受信し、当該メッセージ403と同一のメッセージ405を、転送部26によりEDIセンタ300に送信する(a8)。405は、データチェックサーバ210がa7のメッセージ403を受け取った場合に、EDIセンタ300に送信するメッセージである。
【0032】
データチェックサーバ210は、EDIセンタ300に上記a8のメッセージ405を送信した後、統計情報記録部23により統計情報220に対して当該メッセージ405(403,405と同じデータ)を追加する(a9)。
【0033】
以上のように統計情報220が蓄積・更新されてゆき、メッセージの修正(自動訂正)の際に使用(反映)される。
【0034】
[チェック項目]
次に、統計情報220を用いたメッセージの自動訂正処理のチェック項目の観点について示す(
図2のS202,S203でチェックする項目に対応する)。
【0035】
流通BMSの項目は、物流に関わる固定な項目(固定項目)と、商品名や数量に関わる可変な項目(可変項目)とに大別される。メッセージの中で特定の項目によって日々固定となる項目(例えば
図4の発注v1.3のメッセージにおける送信者ID、商品コードにおける直接納品先コード)を「固定項目」と呼ぶこととする。また、メッセージの中で特定の項目に関わらず日々変化する項目(例えば発注数量や出荷数量)を「可変項目」と呼ぶこととする。
【0036】
本発明(本実施の形態)では、固定項目に対してはデータチェックとデータ修正(自動訂正)とを行い、可変項目に対してはデータチェックを行う。
【0037】
[データチェックサーバ処理]
図2を用いて、データチェックサーバ210の処理(データチェック処理方法)について詳細に説明する。
図2で、S201等はデータチェックサーバ210による処理ステップを表す。
【0038】
(S201〜S203) まずデータチェックサーバ210は、受信処理(S201)、固定項目チェック(S202)、及び可変項目チェック(S203)を行う。即ち、データチェックサーバ210は、送受信部21を用いてa1のメッセージ401等を受信し、受信後、データチェック部22を用いて、固定項目と可変項目のデータのチェックをそれぞれ行う。当該データチェックはファイル単位で行う。また当該データチェックで用いる閾値は、例えば予めデータチェックサーバ210のシステム管理者が設定しておく(a10)。また、当該データチェックを実施する項目(対象項目)については、a1のマーキング情報502を参照することにより当該対象項目を判断する。
【0039】
[固定項目チェック]
S202で、データチェックサーバ210(22)は、以下の固定項目(値)チェックの処理を行う。説明上、固定項目チェックでは、検索のキーとなる項目を項目Aと呼ぶこととする。また、検索で取得する項目を項目Bと呼ぶこととする。
【0040】
なお、固定項目の一例としては、送信者と商品に対する直接納品先がある(例えば
図4)。この場合、項目Aは送信者IDと商品コード集計対象の日時範囲等の組み合わせとし、項目Bは直接納品先コードとする。
【0041】
固定項目チェックの動作例を以下に示す。以下S1等はデータチェック部22による処理ステップ及び対応データ等とする。
【0042】
(S1) メッセージ401の項目Aを元に統計情報220の正常系メッセージテーブル230を検索し、複数の項目Bの値を取得する。
【0043】
(S2) 上記S1の検索結果である項目Bの同一値毎のレコード数を集計する。
【0044】
(S3) 上記S2の集計結果において、メッセージ401の項目Bと同一値を持つレコード数と、検索結果全体のレコード数とを比較し、メッセージ401の項目Bと同一値を持つレコード数を特定の閾値(前述)と比較する。当該メッセージ401の項目Bと同一値を持つレコード数が特定の閾値(前述)以下であった場合、当該メッセージ401の項目Bを修正すべき項目とし、当該メッセージ401の項目Bを上記S2で集計した中で最もレコード数が多い値に修正する。
【0045】
ただし、上記最も多いレコード数が所定の閾値以上であることとし、当該所定の閾値未満である場合は、日々変化する項目に近いと判断し、上記修正は行わない。
【0046】
(S4) 上記メッセージ401の項目Bの値が空、且つ必須項目である場合、上記S2の集計結果で最も多いレコード数の値を当該メッセージ401の項目Bに挿入する。
【0047】
(S5) 上記で修正した項目が存在する場合は、送信者100(600)に対し、次の情報(ア),(イ)を差戻す(a5)。(ア)処理情報501(修正した項目、修正前の項目値、修正後の項目値などの情報を含む)、(イ)メッセージ402(メッセージ401の修正後のメッセージ)。
【0048】
[可変項目チェック]
S203で、データチェックサーバ210(22)は、以下の可変項目(値)チェックの処理を行う。説明上、可変項目チェックでは、検索のキーとなる項目を項目Cと呼ぶこととする。また、検索で取得する項目を項目Dと呼ぶこととする。
【0049】
なお、可変項目の一例としては、送信者と商品に対する発注数量(バラ)がある(例えば
図4)。この場合、項目Cは送信者IDと商品コードと集計対象の日時範囲等の組み合わせとし、項目Dは発注数量(バラ)とする。
【0050】
可変項目値チェックの動作例を以下に示す。以下S1等はデータチェック部22による処理ステップ及び対応データ等とする。
【0051】
(S1) メッセージ401の項目Cを元に統計情報220の正常系メッセージテーブル230を検索し、複数の項目Dの値を取得する。
【0052】
(S2) 上記(S1)の検索結果で取得した複数の項目Dの値から警告範囲の閾値を計算する。
【0053】
(S3) 上記(S2)で作成した閾値にメッセージ401の項目Dが該当する場合は、処理情報501に警告情報を記載する。
【0054】
(S4) 上記(S3)の警告情報が存在する場合、送信者100に対しては次の情報(ア)処理情報501を差戻す(a5)。
【0055】
[送信処理/差し戻し処理]
データチェックサーバ210は、上記の固定項目または可変項目でエラーが1つでもある場合は、差し戻し部25を用いて、送信者100に対して処理情報501(当該エラーに関する警告や修正指示内容などに関する報告情報)を送信する処理を行う。また、データチェックサーバ210は、固定項目チェックでの修正箇所が存在する場合は、差し戻し部25を用いて、メッセージ401の修正後のメッセージ402を送信者100に対して送信する処理を行う。
【0056】
上記処理に関して、S204,S207でそれぞれエラー有無を判断し、エラー有りの場合(Y)、それぞれS206,S208で対応する処理情報501を作成する。また、固定項目チェックでの修正箇所が存在する場合は、S205で、自動訂正部24を用いて固定項目修正処理(自動訂正)を行い、修正後メッセージ402を作成する。
【0057】
S209で、データチェックサーバ210は、固定項目及び可変項目のどちらにもエラーが無い場合(N)、S211で、転送部26を用いて、EDIセンタ300に対しa1のメッセージ401を修正せずにメッセージ404として送信(転送)する処理を行う(a2)。そして、データチェックサーバ210は、統計情報記録部23により、a1のメッセージ401を統計情報220の正常系メッセージテーブル230に登録する(a3)。そして、データチェックサーバ210は、送信者100(600)に対し、正常にa1のメッセージ401を送信したことを通知する。
【0058】
S209で、データチェックサーバ210は、固定項目と可変項目のどちらかにエラーが有る場合(Y)、S210で、差し戻し部25を用いて、及び上記で作成した処理情報501等を用いて、a5等で示す差戻し処理を行う。
【0059】
以上
図2の処理を受信メッセージごとに同様に繰り返しである。
【0060】
[処理情報]
図3において処理情報501の内容例を説明する。処理情報501は、メッセージ名、メッセージ種別、集計対象日時、修正項目、警告項目などを含む。修正項目と警告項目は複数存在する可能性がある。メッセージ種別は例えば「発注v1.3」である。修正項目には、修正前内容と修正後内容とを含む(例:直接納品先コードの修正の前後の値)。警告項目には、メッセージ401の警告項目の値(例:“商品コード(……)に対する本メッセージの発注数量は2000個です”)と、統計情報220から取得した過去の情報の平均値など(例:“商品コード(……)に対する過去3ヶ月以内の発注数量の平均は20個です”)との両方(比較)を含む。
【0061】
[メッセージ]
図4において、メッセージ(401等)の内容例として、種別が「発注v1.3」のメッセージ(EDIメッセージ)の例を示す。
図4のメッセージは、ヘッダバージョン、送信者ID、直接納品先コード、商品コード(GTIN:共通商品識別コード)、発注数量(バラ)、発注重量、等の項目(列)を有する。各項目は、入力の必須/任意が指定されている。入力が必須な項目を必須項目と呼び、入力が必須ではない項目を任意項目と呼ぶ。
【0062】
[送受信プログラム]
図5において、送信者100側の送受信プログラム600を含むコンピュータシステムにおける操作一覧(ユーザインタフェース)及び構成例について示す。例えば、送受信プログラム600が動作するコンピュータシステムの表示画面において本ユーザインタフェースを構成・提供し、ユーザ(送信者100)の操作を受け付ける。ユーザ(送信者100)は、本画面でメッセージ等の情報を参照し、修正することができる。本画面において、601に示すチェック項目のマーキング設定ボタン、602に示す(メッセージ)送信ボタン、603に示す確認ボタン等を含む。
【0063】
送信者100は、送受信プログラム600で、メッセージを送信するための送信ボタン押下(602)の前に、チェック項目のマーキング設定ボタン押下(601)を行う。このマーキング設定では、送信するメッセージ種別毎に統計情報220を用いてデータチェックを実施する対象となるメッセージ項目を選択する。これによりマーキング情報502が設定される。送信者100はこのマーキング設定後に、送信ボタン押下(602)を行う。これによりa1のメッセージ401(及びマーキング情報502)が送信される。
【0064】
データチェックサーバ210は、自動修正時及び警告時に、送信者100(600)に対して処理情報501と修正後メッセージ402を送信する(a5)。送信者100は、送信された処理情報501とメッセージ402の内容を確認する。送信者100は、a5による自動修正点及び警告点に、問題があれば、当該メッセージ402を手動で訂正(修正)し(a6)、そして、確認ボタン押下(603)を行う。これによりa7のメッセージ403が送信される。
【0065】
図5のコンピュータシステムの送受信プログラム600の構成例では、機能(処理部)として、送受信部11、マーキング部12、情報表示部13、情報修正部14、転送指示部15、等を有する。送受信部11は、情報処理システム間で交換するメッセージ(データチェックサーバ210で中継するメッセージ)を送受信する処理を行う(602対応)。マーキング部12は、交換メッセージのデータ訂正の対象項目(チェック項目)を選択する処理を行う(601対応)。情報表示部13は、送信者に対しデータチェックサーバ210で自動訂正部24により自動訂正されたメッセージ4002及び当該メッセージ402に伴う処理情報501などの内容を画面で表示する処理を行う。情報修正部14は、画面での送信者の操作に基づき、上記自動訂正されたメッセージ402の訂正内容を再訂正する修正作業などを可能とする処理を行う。転送指示部15は、メッセージを受信する受信者側の情報処理システム(例えばEDIセンタ300)に対して、メッセージを強制的に転送するように、データチェックサーバ210(転送部26)に対して指示する処理を行う。転送部26は、この指示を受けた場合は、指示に従い当該メッセージを強制的に受信者側のシステムへ転送処理する。
【0066】
なお
図5のコンピュータシステムは、例えば一般的なPC等で実現可能であり、プロセッサにより制御プログラム等(送受信プログラム600を含む)をメモリにロードして実行することにより、送受信プログラム600の各処理などを実現可能である。コンピュータシステムにおいて、ディスプレイ等で画面に情報が表示され、ユーザ(送信者100)によりキーボードやマウス等により情報が入力され、通信インタフェース装置によりWeb200上のデータチェックサーバ(220)等の装置との通信処理が行われる。
【0067】
[集計イメージ]
図6において、固定項目チェックにおける集計(統計情報220の集計)のイメージ例を示す。尚あくまでもイメージであって、本システム内でグラフィカルに当該データを作成するものではない。
図6のイメージ例では、過去3ヶ月分の発注v1.3における送信者ID(XXX)と商品コード(YYY)に対する直接納品先コードの集計をグラフで示している。横軸は直接納品先コード、縦軸は件数である。横太線は閾値(例えば件数=30)である。
【0068】
[統計情報記録用テーブルスキーマ]
図7において、統計情報220の記録用のテーブルスキーマを示し、発注v1.3用のテーブルの場合を示す。なお受領v1.3や出荷伝票v1.3等の他の種別の場合は、同様の別テーブルが必要となる。
図7のテーブルで、Aの流通BMS発注v1.3項目として、ヘッダバージョン、送信者ID、商品重量、発注重量、などを有する。また、統計情報220の集計を行う際に集計範囲に日時を指定可能とするために、Bの集計範囲用の日付として、EDIセンタ300への送信日時の情報(項目)が必要となる。
【0069】
[マーキング情報]
図8において、マーキング情報502のイメージ例(発注v1.3用)を示す。マーキング情報502では、メッセージ(
図4)の各項目ごとに、チェックするかチェックしないかを示すフラグを保持しておく。フラグ値は例えば「チェックする」が1、「チェックしない」が0である。
図8の例では、チェックする項目は、直接納品先コード、発注数量である。
【0070】
[効果等]
以上説明したように、本実施の形態によれば、情報処理システム間で交換するEDIメッセージ(401等)に不具合が存在する場合に、自動的にメッセージを訂正し(a4等)、これにより情報処理システムの利用者(送信者100)の不具合箇所(メッセージ)訂正作業を低減することができ、作業時間を短縮できる。メッセージの自動訂正が可能であるため、EDIの早期導入などが実施可能であり、業務の効率化やコスト削減を図ることができる。
【0071】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。