ところが上記の構成を有するPOSシステムでは、印刷装置が専用機のため、売り場面積が小さい店舗では設置スペースがネックとなる。また、店舗専用のクーポンを発行したい場合でも、情報提供サーバを管理する会社と契約して、POSシステムの改造、変更、追加などをしてもらう必要があった。
また、上記のPOSシステムを、共用の印刷装置を用いて実現しようとすると、印刷データの中から最終データを認識したとき、これをトリガとして情報提供サーバから広告情報を送信するため、印刷装置では、商品情報の印刷処理が完全に終了していない状態にも関わらず広告情報が送信されてしまう場合がある。つまり、アダプタ装置が最終データを認識しても、印刷装置側ではそれまでに受信した印刷データの印刷処理が継続していることがあり、この状態で広告情報が送信されると印刷装置の受信バッファがバッファフル状態となってしまうため、最悪の場合、広告情報が読み捨てられてしまうといった問題があった。
そこで本発明は、POS端末コンピュータと情報提供サーバとから受信する印刷データを共用の印刷装置で印刷すると共に、両データを確実に印刷可能な印刷システム、POSシステム、接続デバイスおよびPOSシステムの制御方法を提供することを目的とする。
本発明の印刷システムは、決済処理の内容をレシート上に印刷するための第1印刷データを生成するPOS端末コンピュータと、決済処理毎に、第1印刷データの決済処理の内容に応じて、広告・販促情報を含む第2印刷データを生成する情報提供サーバと、POS端末コンピュータと接続される第1ポート、および情報提供サーバと接続される第2ポートを備えたインターフェース装置を有し、第1印刷データと第2印刷データとに基づいて印刷を行う印刷装置と、によって構成される印刷システムであって、インターフェース装置は、POS端末コンピュータから受信した第1印刷データ、および情報提供サーバから受信した第2印刷データを印刷装置に転送して印刷を実行させる印刷指令手段と、第1印刷データを情報提供サーバに転送する第1印刷データ転送手段と、第1印刷データに含まれる当該第1印刷データの実質的な終了を示す所定データを印刷装置から受信したとき、当該所定データの受信を示すステータスデータを情報提供サーバに送信するステータスデータ送信手段と、を備え、情報提供サーバは、インターフェース装置からの、第1印刷データの受信開始からステータスデータの受信までの間に受信した当該第1印刷データを分析して広告・販促情報を付加すべき商品アイテムが含まれているか否かを検索し、含まれている場合、第2印刷データを生成する第2印刷データ生成手段と、生成した第2印刷データをインターフェース装置に送信する第2印刷データ送信手段と、を備えたことを特徴とする。
この構成によれば、決済処理の内容を印刷する第1印刷データと広告・販促情報を含む第2印刷データとを共用の印刷装置で印刷することができる。また、例えば第1印刷データの実質的な終了を示す所定データを、レシートを切断するための用紙カットコマンドなど、第1印刷データの終端を示すデータ(印刷データに含まれる最後のデータまたはコマンド)に近いデータ(若しくは最終行の印刷データ(最終データ)そのもの)に設定することで、印刷装置の受信バッファがバッファフルになることを防ぎ、第1印刷データおよび第2印刷データの両データを確実に印刷することができる。すなわち、例えば所定データを最終データとした場合、印刷装置はその最終データの処理が終了した時点でインターフェース装置を介して情報提供サーバにステータスデータを送信し、情報提供サーバは当該ステータスデータの受信をトリガとして、ステータスデータの受信までの間に転送された第1印刷データに基づいて生成した第2印刷データをインターフェース装置に送信するため、印刷装置は受信バッファに印刷データが存在しない状態で第2印刷データを取得することができる。したがって、より最終データに近いデータを所定データとして設定することで、受信バッファのバッファフルを防ぎ、より確実に両データを印刷することができる。なお、受信バッファの容量に応じて、レシート上に印刷される特定の文字列(「合計金額」、「消費税」等の文字列)など最終データから離れたデータを所定データとして設定すると、早いタイミングで第2印刷データを取得可能となるため、両データの印刷処理を迅速に行うことができる。
なお、第2印刷データの最後には、情報提供サーバまたはインターフェース装置において、レシートの後端をその幅方向に切断するための用紙カットコマンドが付加されることが好ましい。この構成によれば、第2印刷データの印刷終了後、自動的にレシートの後端がカットされるため、オペレータによるレシート切断処理を省略することができる。
この場合、POS端末コンピュータは、決済処理毎に異なるトランザクション番号を設定し、当該トランザクション番号を含む第1印刷データを生成し、インターフェース装置は、第1印刷データの中からトランザクション番号を抽出するトランザクション番号抽出手段をさらに備え、ステータスデータ送信手段により、抽出したトランザクション番号をステータスデータに付加して送信し、情報提供サーバは、第2印刷データ生成手段により、第1印刷データの中から抽出したトランザクション番号を付加した第2印刷データを生成し、第2印刷データ送信手段により、ステータスデータの受信をトリガとして、当該ステータスデータに付加されたトランザクション番号と一致するトランザクション番号が付加された第2印刷データをインターフェース装置に送信することが好ましい。
この場合、POS端末コンピュータは、決済処理毎に異なるトランザクション番号を設定し、当該トランザクション番号を含む第1印刷データを生成すると共に、印刷装置を印刷制御するためのプリンタドライバを有し、当該プリンタドライバは、第1印刷データの中からトランザクション番号を抽出して当該第1印刷データに付加するトランザクション番号付加手段を備え、インターフェース装置は、ステータスデータ送信手段により、第1印刷データに付加されたトランザクション番号をステータスデータに付加して送信し、情報提供サーバは、第2印刷データ生成手段により、第1印刷データの中から抽出したトランザクション番号を付加した第2印刷データを生成し、第2印刷データ送信手段により、ステータスデータの受信をトリガとして、当該ステータスデータに付加されたトランザクション番号と一致するトランザクション番号が付加された第2印刷データをインターフェース装置に送信することが好ましい。
これらの構成によれば、インターフェース装置は、印刷装置が所定データの処理を終了したとき、第1印刷データの中から(自身またはプリンタドライバが)抽出したトランザクション番号を付加してステータスデータを情報提供サーバに送信し、情報提供サーバでは、このトランザクション番号をデータ処理の管理番号として使用し、データ処理を実行することにより、既に導入されているPOSシステムのアプリケーションを変更することなく、第1印刷データの分析処理および第2印刷データの生成処理を確実且つ効率的に実行することができる。一般的に情報提供サーバは、それぞれの印刷装置に、確実に対応する広告・販促情報を配信する必要があるが、この場合、上記トランザクション番号が付加された第2印刷データをインターフェース装置に送信することにより、対応しない印刷装置に第2印刷データを誤って送信するなどのトラブルを回避することができる。つまり、情報提供サーバが複数のPOS端末コンピュータや印刷装置と接続される場合、情報提供サーバは、複数のPOS端末コンピュータから送信される第1印刷データに基づいて各第1印刷データに対応した第2印刷データを生成し、第1印刷データを送信したPOS端末コンピュータに対応した印刷装置に第2印刷データを送信しなければならない。この場合、通常であれば各POS端末コンピュータから対応する印刷装置を識別するための識別子(印刷装置指定コマンド)が付与されて第1印刷データが送信されるが、同じPOS端末コンピュータから次々とデータが送信されてきた場合は、同じ識別子が付与された第1印刷データを同時に分析しながら第2印刷データを生成する必要がある。このため、生成した第2印刷データを誤ったタイミングで送信してしまい、誤った広告・販促情報が印刷されてしまう可能性が生じてしまう。ところが、本発明によれば、このような場合であっても決済処理毎に異なるトランザクション番号を(複数のPOS端末コンピュータが接続されている場合、各端末間でも異なる番号となる)付加して第2印刷データ送信のトリガとなるステータスデータを情報提供サーバに送信するため、印刷装置は適切なタイミングで正しい広告・販促情報を取得可能となる。また、トランザクション番号は、決済処理の印刷データを生成する場合、従来から一般的に付与されているものであるため、これを利用することにより、POS端末コンピュータに新たな処理・機能を追加することなく、POS端末コンピュータの負荷を軽減することができる。
また、例えば情報提供サーバが複数のPOS端末コンピュータや印刷装置と接続される場合(複数店舗のPOSシステムと接続される場合)、POS端末コンピュータ毎に第1印刷データのフォーマットが異なることが考えられるが、インターフェース装置(プリンタドライバ)を接続対象となるPOS端末コンピュータ毎にカスタマイズすることで、異なるフォーマットの第1印刷データの中から同一仕様(情報提供サーバに合わせたトランザクション番号取得仕様)でトランザクション番号を抽出可能であるため、情報提供サーバは、POS端末コンピュータ毎のフォーマットの差異を考慮することなく、トランザクション番号を取得することができる。
これらの場合、第1印刷データの実質的な終了を示す所定データは、レシート後端の切断を指令する用紙カットコマンド以外のデータであり、インターフェース装置は、POS端末コンピュータから受信した第1印刷データの中から用紙カットコマンドを検出したとき、これを一時的に保留し、情報提供サーバから第2印刷データを受信したとき、当該第2印刷データの後に用紙カットコマンドを付加して印刷装置に転送することが好ましい。
この構成によれば、インターフェース装置において、用紙カットコマンドを一時的に保留し、第2印刷データの後に用紙カットコマンドを付加するため、第1印刷データと第2印刷データとが連続した(分断されていない)レシートを発行することができると共に、第2印刷データの印刷後、自動的にレシート後端が切断される。
この場合、インターフェース装置は、用紙カットコマンドを検出したとき、レシートの幅方向に点線を印刷するための点線データを生成し、当該点線データを印刷装置に転送して印刷を実行させることが好ましい。
この構成によれば、インターフェース装置において、用紙カットコマンドを受信したとき、点線データを生成するため、第1印刷データと第2印刷データとが連続したレシートを発行する場合であっても、第1印刷データと第2印刷データとの境界を明確に示すことができる。
これらの場合、情報提供サーバは、第2印刷データの生成履歴をトランザクション番号と関連づけて記憶する第2印刷データ生成履歴記憶手段をさらに備えることが好ましい。
この構成によれば、トランザクション番号と関連づけて、第2印刷データの生成履歴を保存可能であるため、例えば第2印刷データ(広告・販促情報)が割引クーポンである場合など、偽造等の不正使用が行われたときに、その割引クーポンの発行店舗や発行日時などを特定することができ、不正防止に役立てることができる。
本発明のPOSシステムは、上記のいずれか1に記載の印刷システムと、POS端末コンピュータが複数接続され、これらPOS端末コンピュータを統括制御するPOSサーバと、によって構成されることを特徴とする。
この構成によれば、POS端末コンピュータと情報提供サーバとから受信した印刷データを共用の印刷装置で印刷すると共に、両データを確実に印刷可能なPOSシステムを提供することができる。
本発明の接続デバイスは、上記のいずれか1に記載の印刷システムにおけるインターフェース装置として機能することを特徴とする。
この構成によれば、POS端末コンピュータおよび情報提供サーバと接続されて利用され、これらから異なる印刷データを受信する場合、両データを共用の印刷装置で印刷すると共に確実に印刷可能な接続デバイスを提供することができる。なお、接続デバイスは、印刷装置の装着スロットに装着されるインターフェース装置のみならず、POS端末コンピュータ、情報提供サーバおよび印刷装置と接続される3つのポート(インターフェース)を有するアダプタ装置によって構成されても良い。
本発明のPOSシステムの制御方法は、決済処理毎に異なるトランザクション番号を設定し、当該トランザクション番号を含むと共に、決済処理の内容をレシート上に印刷するための第1印刷データを生成する第1ホスト装置と、決済処理毎に、第1印刷データの分析結果に基づく第2印刷データを生成する第2ホスト装置と、第1ホスト装置と接続される第1ポート、および第2ホスト装置と接続される第2ポートを有するインターフェース装置を有し、第1印刷データと第2印刷データとに基づいて印刷を行う印刷装置と、を有するPOSシステムの制御方法であって、第1ホスト装置から送信された第1印刷データをインターフェース装置が印刷装置に転送する工程と、第1印刷データを印刷装置が印刷する工程と、インターフェース装置が第1印刷データの中からトランザクション番号を抽出し、当該トランザクション番号を付加した第1印刷データを第2ホスト装置へ転送する工程と、転送された第1印刷データを第2ホスト装置が分析して広告・販促情報を付加すべき商品アイテムが含まれているか否かを検索し、含まれている場合、当該商品アイテムに関連する広告・販促情報を含む第2印刷データを生成する工程と、第2印刷データを、第2ホスト装置がインターフェース装置を介して印刷装置に転送する工程と、第2印刷データを印刷装置が印刷する工程と、を有することを特徴とする。
この構成によれば、インターフェース装置が、抽出したトランザクション番号を付加して第1印刷データを情報提供サーバに送信し、情報提供サーバでは、このトランザクション番号をデータ処理の管理番号としてデータ処理を実行することにより、既に導入されているPOSシステムのアプリケーションを変更することなく、第1印刷データの分析処理および第2印刷データの生成処理を確実且つ効率的に実行することができる。また、第1印刷データと第2印刷データとを共用の印刷装置で印刷することができる。
この場合、所定データは、レシート後端の切断を指令する用紙カットコマンドであり、インターフェース装置が、第2ホスト装置から第2印刷データを受信したとき、当該第2印刷データの後に用紙カットコマンドを付加して印刷装置に転送する工程と、をさらに有することが好ましい。
この構成によれば、所定データが用紙カットコマンドであるため、第1印刷データと第2印刷データとが分断したレシートを発行することができる。また、インターフェース装置において、第2印刷データの後に用紙カットコマンドを付加するため、第2印刷データの印刷終了後、自動的に後端がカットされたレシートを発行することができる。
本発明の印刷システム、POSシステム、接続デバイスおよびPOSシステムの制御方法によれば、印刷装置は所定データの印刷処理が終了した時点でインターフェース装置を介して情報提供サーバにステータスデータを送信し、情報提供サーバは当該ステータスデータの受信をトリガとして、第2印刷データをインターフェース装置に送信するため、最終データに近いデータを所定データとして設定することで印刷装置の受信バッファがバッファフルになることを防ぎ、第1印刷データおよび第2印刷データの両データを確実に印刷することができる。
以下、本発明の一実施形態に係る印刷システム、POSシステム、接続デバイスおよびPOSシステムの制御方法について、添付図面を参照しながら詳細に説明する。本発明のPOSシステムは、オペレータによる入力情報に基づきレシート上に印刷を行うための決済処理情報(第1印刷データ)を生成するPOS端末コンピュータと、決済処理情報の印刷を行う印刷装置とを有するPOS端末と、当該POS端末を管理するPOSサーバとにより構成された既存のPOSシステム(販売時点情報管理システム)において、印刷装置の装着スロットに、広告・販促情報(第2印刷データ)の提供を行う情報提供サーバと接続するための接続デバイス(インターフェース装置)を装着することで、POSアプリケーション(POS端末コンピュータ)に変更を加えることなく、広告・販促情報を付加したレシート(図6参照)を発行し得るものである。そこで、以下、スーパーやコンビニエンス・ストア等の店舗にて利用されるPOSシステムを例に挙げ、これに適用される印刷システム(POS端末コンピュータ、情報提供サーバおよび印刷装置により構成される)、接続デバイス(インターフェース装置)、並びにこれらを用いた印刷制御方法について説明する。
図1に示すように、本発明のPOSシステム10は、オペレータ(ユーザ)によって、商品に貼付または印刷されたバーコードが読みとられることにより入力情報を取得する複数のPOS端末20(1つのみ図示)と、ネットワークを介して当該POS端末20と相互に接続され、POS端末20に入力された入力情報の管理を行うPOSサーバ30とによって構成されている。
POSサーバ30は、制御装置(CPU31)の他、ROM32やRAM33等のメモリを有し、ROM32内に記憶された制御プログラムにしたがって、RAM33内のバッファ39等に記憶された情報の処理を行う。特にRAM33内には、商品コードブロック35、商品名ブロック36、金額ブロック37、在庫ブロック38を有しており、CPU31は、POS端末20より送信された入力情報に基づいて、これらから商品コード、商品名、金額に関する情報を抽出し、レシート61への印刷およびPOS端末20のディスプレイ42の表示に用いる商品データを生成する。なお、「商品データ」とは、レシート61上に印刷する第1印刷データ(決済処理情報)の元となるデータを指すものである。また、商品コードブロック35、商品名ブロック36および金額ブロック37は、一般に商品マスタと呼ばれるルックアップテーブル34により構成されるものである。
一方、POS端末20は、POSサーバ30内の商品マスタ(ルックアップテーブル)34を参照すると共に当該POSサーバ30から商品データを取得するPOS端末コンピュータ40と、第1印刷データや後述する情報提供サーバ70から取得した第2印刷データに基づき長尺状のレシート61上に印刷を行う印刷装置50(レシートプリンタ)とを備え、POS端末コンピュータ40と印刷装置50とは、互いにコネクタ46,53を介して接続されている。
POS端末コンピュータ40は、決済処理を行うためのPOSアプリケーション141や、POS端末コンピュータ40全体を制御する制御部41を有し、当該制御部41は、キーボード43による入力またはバーコードリーダ44によるバーコードの読みとりによって商品コードや金額に関する入力情報を取得する。また、制御部41は、カードリーダ45によって顧客60のクレジットカードや会員カードを読みとり、クレジット清算に関する情報や会員番号等の会員に関する入力情報を取得する。さらに、制御部41は、POSアプリケーション141と協同して決済処理毎に異なるトランザクション番号(会計No.)を設定し、POSサーバ30から送信された商品データを元に商品情報を生成する。また、設定したトランザクション番号に関する情報や生成した商品情報を含む第1印刷データを生成し、図示しないプリンタドライバを介して印刷装置50(インターフェース装置51)にこれを送信する。また、制御部41は、ディスプレイ42上に生成した商品情報を表示し、オペレータや顧客60に対して購入商品の商品名や金額等を提示する。
印刷装置50は、POS端末コンピュータ40と接続されるホスト用インターフェース52(第1ポート)と情報提供サーバ70と接続される情報提供サーバ用インターフェース54(第2ポート)とを有するインターフェース装置51が装着されており、当該インターフェース装置51は、印刷装置50の装着スロット59に着脱自在に構成されている。インターフェース装置51は、POS端末コンピュータ40から受信した第1印刷データおよび情報提供サーバ70から受信した第2印刷データの印刷指令を印刷装置本体(印刷部82:図4参照)に対して行うと共に、印刷装置本体の状態を監視し、当該監視に基づいて情報提供サーバ70に対し、第2印刷データの送信タイミングを通知するためのステータスデータを送信する。また、POS端末コンピュータ40から受信した第1印刷データの中からトランザクション番号の抽出を行い、情報提供サーバ70に対してトランザクション番号を付加した第1印刷データの転送を行う。
また、印刷装置50は、受信バッファ80を有しており、当該受信バッファ80には、インターフェース装置51を介して取得した印刷データや各種制御コマンドが一時的に格納される。そして、印刷装置50は、これら印刷データや各種制御コマンドによる印刷指令およびコマンド処理指令に基づいて印刷処理やレシート切断処理など各種処理を実行し、第1印刷データおよび第2印刷データを印刷した広告・販促情報付レシート61を発行する。図6に示すように、広告・販促情報付レシート61には、トランザクション番号および商品情報(商品名およびその金額、並びに合計金額などを含む)から成る第1印刷データと、広告・販促情報(例えば割引クーポンや当該クーポンを使用する場合にバーコードリーダ44によって読み取られるバーコードなどを含む)から成る第2印刷データと、これらの境界を示す点線データとが印刷されている。発行されたレシート61は、オペレータによって顧客60に手渡され、これによって領収証の発行、およびクーポン提供サービス(広告提供サービス)が実現される。
また、印刷装置50は、モノクロ印刷およびカラー印刷が可能であり、印刷装置50に備えられたディップスイッチ(図示省略)等によりいずれかのモード設定が可能となっている。そして、このモード設定に関する情報をインターフェース装置51が取得し、生成する印刷データにカラー情報を含ませるか否かを判断することができる。したがって、カラー印刷モードに設定されている場合であって、且つ第1印刷データおよび/または第2印刷データにカラー情報が含まれる場合は、これに基づきレシート上に2色若しくは多色刷りの印刷を行うことが可能である。
なお、印刷装置50がモノクロ印刷のみ、又はカラー印刷のみに対応する場合にも、その印刷装置50の情報をインターフェース装置51が取得し、印刷装置に適応した印刷データに変換することができる。このように、本発明では、インターフェース装置51により印刷データを変換可能であるため、POS端末コンピュータ40がモノクロ印刷にしか対応できない場合(すなわち、第1印刷データにカラー情報を含む構成となっていない場合)であっても、第2印刷データにカラー情報が含まれる場合は広告・販促情報部分のみをカラーで印刷するなどの対応が可能となる。
一方、図1に示すように、情報提供サーバ70は、制御装置(CPU71)の他、ROM72やRAM73等のメモリおよびデータベース78を有し、ROM72内に記憶された制御プログラムにしたがって、RAM73内のバッファ76等に記憶された情報の処理を行う。特にRAM73内には、第1印刷データの内容に応じて第2印刷データを生成するための広告・販促情報テーブルが格納された広告・販促情報ブロック35、生成した第2印刷データを一時的に記憶する第2印刷データブロック36を有しており、CPU71は、広告・販促情報テーブルを参照し、POS端末コンピュータ40からインターフェース装置51を介して受信した第1印刷データに基づいて第2印刷データを生成すると共に、印刷装置50(インターフェース装置51)から送信された第1印刷データの実質的な終了を示すステータスデータの受信をトリガとして第2印刷データをインターフェース装置51に送信する。また、CPU71は、生成した第2印刷データの生成履歴をデータベース78内に保存する。この生成履歴は、例えば第2印刷データが割引クーポンを印刷するためのデータである場合、割引クーポンの不正発行を行っていないことを証明するための記録として用いられる。
次に、POS端末20の装置構成について、図2を参照して説明する。同図(a)は、POS端末20をオペレータによる操作側から見た正面斜視図であり、同図(b)は、これを顧客側から見た背面斜視図である。両図に示すように、POS端末20は、箱形の本体ケース48によってその主体部を成すPOS端末コンピュータ40と、本体ケース48の後部左側に配置される印刷装置50とによって構成されている。なお、印刷装置50は、本体ケース48とケーブル接続されているため、この配置に限らず、ケーブル長が許す範囲で任意の場所に配置可能となっている。
POS端末コンピュータ40は、本体ケース48の前部上面にオペレータが商品に関する入力情報を入力するキーボード43と、その後部右側にオペレータが入力情報を確認するオペレータ用ディスプレイ42aとを配置し、本体ケース48内にはキャッシュドロア49が収納さている。また、本体ケース48の右側側面には商品に貼付若しくは印刷されたバーコードを読みとるためのバーコードリーダ44、左側側面には印刷装置50と接続するためのホスト側インターフェース47を備え、キーボード43の右側には、顧客から提示されたクレジットカードを読みとるためのカードリーダ用スロット45が形成されている。さらに、本体ケース48の背面側には、顧客が商品情報等を確認するための顧客用ディスプレイ42bが配置されている。
一方、印刷装置50は、その前面側の装着スロット(インターフェース基板スロット)59に、インターフェース装置51が装着されており、インターフェース装置51とPOS端末コンピュータ40とは、コネクタ46,53(ホスト側インターフェース47,ホスト用インターフェース52)を介して接続され、インターフェース装置51と情報提供サーバ70とは、情報提供サーバ用インターフェース54を介して接続されている(接続ケーブルは図示省略)。また、印刷装置50の上面には、印刷済みのレシート61が排出されるレシート排出口64が形成されている。
図3に示すとおり、インターフェース装置51は、その前面側に動作表示ランプ55と、ホスト用インターフェース52と、情報提供サーバ用インターフェース54とが配置されており、ホスト用インターフェース52と、POS端末コンピュータ40に備えられたホスト側インターフェース47とはケーブル63によって接続されている(図2(b)参照)。また、インターフェース装置51は、中央部にCPU91の他、ROM92、RAM93等のメモリ(図5参照)を有する制御基板57を備え、後部に印刷装置用インターフェース58(コネクタ)を備えている。そして、ホスト用インターフェース52と、情報提供サーバ用インターフェース54と、印刷装置用インターフェース58と、動作表示ランプ55とが、制御基板57とバス接続されている。
なお、ホスト用インターフェース52、情報提供サーバ用インターフェース54および印刷装置用インターフェース58は、RS−232規格などのシリアルデータ転送、セントロニクス規格などのパラレルデータ転送、イーサネット(登録商標)の10Base−Tなどのネットワーク接続、若しくはUSBなどのデータ転送規格に対応したものを採用することができる。
また、POS端末コンピュータ40から受信した第1印刷データは、FTP(File Transfer Protocol)やUDP(User Datagram Protocol)等のプロトコルを採用することにより情報提供サーバ70へ転送可能である。なお、イーサネット(登録商標)上でFTPを採用した場合、UDPと比較して信頼性が高く、UDPを採用した場合、FTPと比較して転送速度が速いといった特徴がある。
また、インターフェース装置51の内部TTL(Transistor Transistor Logic)と、POS端末コンピュータ40や印刷装置50の内部との駆動電圧レベルが異なる場合には、ホスト用インターフェース52および印刷装置用インターフェース58にレベル変換を行うドライバ回路を備えることが好ましい。この構成によれば、信号レベルを容易に変換することができる。
次に、印刷装置50(インターフェース装置51)および情報提供サーバ70の制御構成について、図4の機能ブロック図を参照して説明する。同図に示すように、印刷装置50は、インターフェース装置51が有する各部の他、印刷データや各種制御コマンドを受信する印刷受信部81(受信バッファ80)と、印刷受信部81で受信した印刷データおよび各種制御コマンドに基づきレシート61上に印刷を行う印刷部82とを備えている。
インターフェース装置51は、印刷部82に対し、POS端末コンピュータ40からホスト側インターフェース47およびホスト用インターフェース52を介して受信した第1印刷データ、並びに情報提供サーバ70から情報提供サーバ用インターフェース54を介して受信した第2印刷データを印刷部82に転送して印刷を実行させる印刷指令部154と、第1印刷データを情報提供サーバ70に転送する第1印刷データ転送部155と、第1印刷データの中からPOS端末コンピュータ40によって設定されたトランザクション番号を抽出するトランザクション番号抽出部156と、第1印刷データの中から用紙カットコマンドを検出(認識)したときこれを印刷部82に転送せず一時的に保留し、情報提供サーバ70から第2印刷データを受信したとき、当該第2印刷データの後に用紙カットコマンドを付加する用紙カットコマンド処理部157と、印刷部82が第1印刷データにおける最終行の印刷データ(第1印刷データの実質的な終了を示す所定データ)の処理を終了したとき、その終了を示すステータスデータを、上記のトランザクション番号を付加して情報提供サーバ70に送信するステータスデータ送信部158と、を備えている。
そして、インターフェース装置51は、上記の構成により、POS端末コンピュータ40から第1印刷データを受信すると、印刷指令部154により印刷部82への印刷指令を行うと共に、トランザクション番号抽出部156によりトランザクション番号を抽出して第1印刷データに当該トランザクション番号を付加し、第1印刷データ転送部155により当該データを情報提供サーバ70に転送する。また、インターフェース装置51は、用紙カットコマンド処理部157により第1印刷データの中から、印刷済みのレシート61の後端をその幅方向にオートカットするための用紙カットコマンドを認識すると、これを一時的に保留して点線データ(予めROM92(図5参照)に記憶されている)を生成し、印刷部82へ当該点線データの印刷指令を行う。また、インターフェース装置51は、印刷部82から最終行の印刷終了を示すステータスデータを取得すると、ステータスデータ送信部157によりこれにトランザクション番号を付加して、情報提供サーバ70へ送信する。情報提供サーバ70から第2印刷データを受信すると、用紙カットコマンド処理部157により当該第2印刷データの後に保留しておいた用紙カットコマンドを付加して用紙カットコマンドの処理指令を行うと共に、印刷指令部154により印刷部82への印刷指令を行う。
なお、トランザクション番号抽出部156では、受信した第1印刷データのフォーマットに関わらず、第1印刷データの最後にトランザクション番号を付加する。このようにトランザクション番号抽出部156において、トランザクション番号を所定のデータ位置(情報提供サーバ70の規格に応じた位置)に付加することで、情報提供サーバ70が複数のPOS端末20と接続されているような場合でも、情報提供サーバ70におけるトランザクション番号の認識を容易にすることができる。なお、このとき第1印刷データ自体も、情報提供サーバ70の規格に応じた所定のフォーマットデータに基づいてデータ変換し、同一のフォーマットで第1印刷データを転送するようにしても良い。この構成によれば、情報提供サーバ70が複数のPOS端末20と接続されているような場合でも、同一フォーマットの第1印刷データを分析処理することができるため、より情報提供サーバ70の負担を軽減することができる。
一方、情報提供サーバ70は、インターフェース装置51からの第1印刷データの受信開始からステータスデータの受信までの間に受信した第1印刷データを分析して、第2印刷データを生成する第2印刷データ生成部171と、インターフェース装置51からのステータスデータの受信をトリガとして、第2印刷データをインターフェース装置51に送信する第2印刷データ送信部172と、第2印刷データの生成履歴をトランザクション番号と関連づけて記憶する第2印刷データ生成履歴記憶部173と、を備えている。
そして、情報提供サーバ70は、上記の構成により、インターフェース装置51からの第1印刷データを受信すると、第2印刷データ生成部171により広告・販促情報テーブル(広告・販促情報ブロック74)を参照して第2印刷データを生成する。具体的には、第1印刷データに含まれる商品コード(または商品名)と、第2印刷データを生成するための広告・販促情報データ(または各広告・販促情報データを特定する広告・販促情報コード)とが関連づけられて記憶されている広告・販促情報テーブルから、第1印刷データに含まれる商品コードと関連する広告・販促情報データを全て抽出し、当該抽出した広告・販促情報データを抽出順に合成(列記)することで、第2印刷データを生成する。なお、第1印刷データに含まれる商品コードと関連する広告・販促情報データが存在しない場合は、第2印刷データを生成せず、その旨のステータスデータをインターフェース装置51に送信することとなる。
また、第2印刷データ生成部171は、第1印刷データに付加されたトランザクション番号を抽出し、生成した第2印刷データに付加する。また、第2印刷データを生成すると、第2印刷データ生成履歴記憶部173により、その生成履歴をトランザクション番号と関連づけて記憶する。
さらに、情報提供サーバ70は、インターフェース装置51から、トランザクション番号が付加されたステータスデータを受信すると、これをトリガとして、当該ステータスデータに付加されたトランザクション番号と一致するトランザクション番号が付加された第2印刷データをインターフェース装置51に送信する。なお、インターフェース装置51に送信される第2印刷データには、トランザクション番号は含まれていない。
次に、図5の制御ブロック図を参照し、インターフェース装置51の制御構成について説明する。同図に示すように、インターフェース装置51は、上記のホスト用インターフェース52、情報提供サーバ用インターフェース54および印刷装置用インターフェース58の他、動作表示ランプ55、CPU91、ROM92、RAM93を有し、互いに内部バス94により接続されている。動作表示ランプ55は、LEDにより構成され、インターフェース装置51において何らかの処理が行われている場合点灯し、インターフェース装置51にエラーが生じた場合、点滅するようになっている。
ROM92は、CPU91で処理する制御プログラムを記憶する制御プログラムブロック92aの他、各種テーブルを含む制御データを記憶する制御データブロック92bを有している。なお、用紙カットコマンドを認識したときに生成する点線データは、当該制御データブロック92bに記憶されている。
RAM93は、フラグ等として使用される各種ワークエリアブロック94の他、POS端末コンピュータ40から受信した第1印刷データを記憶する第1印刷データブロック95と、第1印刷データの中から抽出したトランザクション番号を記憶するトランザクション番号ブロック96と、第1印刷データの中から最終データである用紙カットコマンドを認識したとき、これを一時的に保留する用紙カットコマンドブロック97と、印刷部82から取得した最終行の印刷データの処理終了を示すステータスデータ(これに付加されたトランザクション番号も含む)を記憶するステータスデータブロック98と、情報提供サーバ70から受信した第2印刷データを記憶する第2印刷データブロック99とを有し、制御処理のための作業領域として使用される。
また、内部バス94は、ホスト用インターフェース52、情報提供サーバ用インターフェース54および印刷装置用インターフェース58から、第1印刷データ、第2印刷データ、ステータスデータ等の入力データを取り込むと共に、CPU91等から出力されたデータや制御信号を、上記の各インターフェース52,54,58を介して、POS端末コンピュータ40、情報提供サーバ70、印刷部82(図4参照)等に出力する。
そして、CPU91は、上記の構成により、ROM92内の制御プログラムに基づいて、インターフェース装置51内の各部から各種信号・データ等を入力し、RAM93内の各種データ等を処理すると共に、各部に各種信号・データ等を出力することにより、印刷データの転送(送受信)および用紙カットコマンドの処理を行うなど、インターフェース装置51全体を制御している。
次に、図7ないし図9のフローチャートを参照し、本発明の印刷制御方法について説明する。図7は、インターフェース装置51における第1印刷データ処理を示し、図8は、インターフェース装置51におけるステータスデータ処理から第2印刷データ処理に至るまでの処理を示し、図9は、情報提供サーバ70における第1印刷データ処理から第2印刷データ処理に至る処理を示すものである。
そこでまず、図7を参照し、インターフェース装置51における第1印刷データ処理について説明する。インターフェース装置51は、POS端末コンピュータ40より第1印刷データを受信すると(S11)、印刷データの1行分を示す行データ毎に、印刷部82へ印刷指令を行うと共に情報提供サーバ70への転送を行う(S12)。なお、第1印刷データの中には上記の通り、トランザクション番号を示すデータが含まれているため、このトランザクション番号を受信(認識)したときは、これを抽出して(S13)、トランザクション番号ブロック96(図5参照)に保留しておくと共に、第1印刷データを全て受信し終えた後、当該第1印刷データの最後にトランザクション番号を付加する(S14)。したがって、S12において情報提供サーバ70へ転送する第1印刷データは、その最後にトランザクション番号が付加されている。
また、受信した印刷データの中から(一般的には最終データとなる)用紙カットコマンドを受信(認識)したときは、これを用紙カットコマンドブロック97(図5参照)に保留し(S15)、これに代えて印刷部82へ点線データの印刷指令を行う(S16)。このとき保留した用紙カットコマンドは、後に情報提供サーバ70から送信された第2印刷データの後に付加される(図8のS25参照)。
なお、POS端末コンピュータ40より受信した第1印刷データは、行データ毎に印刷指令および転送を行うものとしたが、インターフェース装置51が全ての第1印刷データを受信した後、印刷指令および転送を行うようにしても良い。すなわち、この場合、S11の後にS13〜S15の処理を実行し、S12の印刷指令および転送を行った後、S16の点線データの印刷指令を行うこととなる。
続いて、図8を参照し、インターフェース装置51におけるステータスデータ処理から第2印刷データ処理に至るまでの処理について説明する。インターフェース装置51が印刷部82より、最終行の印刷データ(第1印刷データ)の処理終了を示すステータスデータを取得すると(S21)、このステータスデータに、トランザクション番号ブロック96に保留しておいたトランザクション番号を付加して(S22)、当該トランザクション番号が付加されたステータスデータを情報提供サーバ70に送信する(S23)。
その後、情報提供サーバ70が、このステータスデータの受信に対して第2印刷データを送信すると、インターフェース装置51はこれを受信し(S24)、第2印刷データの最後に用紙カットコマンドブロック97に保留しておいた用紙カットコマンドを付加する(S25)。そして、印刷部82に対し、この第2印刷データの印刷指令および用紙カットコマンドの処理指令を行う(S26)。
このように、第2印刷データの最後に用紙カットコマンドを付加することで、図6に示すように、レシート61上に第2印刷データが印刷されたその後端部分がオートカットされ、第1印刷データと第2印刷データとが連続した(分断されていない)レシート61が発行される。また、図7のS16において、第1印刷データの中から用紙カットコマンドを受信したとき、点線データの印刷指令が行われているため、第1印刷データと第2印刷データの境界に点線が印刷される。これにより、第1印刷データと第2印刷データとの境界を明確に示すことができ、顧客は、当該点線部を切取線として切り取って使用することで、割引クーポンをコンパクトに収納しておくことができる。なお、情報提供サーバ70より第2印刷データを受信しなかった場合(広告・販促情報テーブル内の商品コードに該当する商品コードが第1印刷データの中に含まれておらず、情報提供サーバ70から第2印刷データの送信が無い旨を示す非送信ステータスデータを受信した場合)は、点線データの直後がオートカットされたレシート61が発行されることとなる。
続いて図9を参照し、情報提供サーバ70における第1印刷データ処理から第2印刷データ処理に至る処理について説明する。情報提供サーバ70は、インターフェース装置51よりトランザクション番号が付加された第1印刷データを受信すると(S31)、広告・販促情報テーブルを参照して当該第1印刷データに含まれる商品に関連する第2印刷データを生成する(S32)。そして、生成した第2印刷データに、第1印刷データに付加されていたトランザクション番号を付加し、これをバッファ76(図1参照)等に記憶しておく。また、生成した第2印刷データは、トランザクション番号と関連づけてデータベース78内に保存する(S34)。なおこのとき、第2印刷データそのものを保存するのではなく、第2印刷データの内容(広告・販促情報データ)を特定するための広告・販促情報コードとトランザクション番号のみを保存するようにしても良い。このように、第2印刷データの生成履歴をトランザクション番号と関連づけて保存することで、例えば割引クーポンの不正使用が行われたときに、その割引クーポンの発行店舗や発行日時などを特定することができ、不正防止に役立てることができる。
その後、インターフェース装置51よりトランザクション番号が付加されたステータスデータを受信すると(S35)、バッファ76の中から同じトランザクション番号が付加された第2印刷データを検索し、該当した第2印刷データを、トランザクション番号を省略してインターフェース装置51に送信する(S36)。
以上、説明したとおり、本発明によれば、印刷部82が最終行の印刷データの処理を終了したときに、第2印刷データ送信のトリガとなるステータスデータを情報提供サーバ70に送信するため、印刷装置50は受信バッファ80に印刷データが存在しない状態で第2印刷データを取得することができる。したがって、印刷装置50の受信バッファ80がバッファフルになることを防ぎ、第1印刷データおよび第2印刷データの両データを確実に印刷することができる。
また、印刷装置50は、最終行の印刷処理を終了したとき、トランザクション番号を付加してステータスデータを情報提供サーバ70に送信し、情報提供サーバ70では、このトランザクション番号と一致するトランザクション番号が付加された第2印刷データをインターフェース装置51に送信するため、例えば情報提供サーバ70が複数のPOS端末コンピュータ40や印刷装置50と接続される場合、対応しない印刷装置50に第2印刷データを誤って送信することがない。つまり、情報提供サーバ70が複数のPOS端末コンピュータ40や印刷装置50と接続される場合は、複数のPOS端末コンピュータ40から送信される第1印刷データに基づいて各第1印刷データに対応した第2印刷データを生成し、第1印刷データを送信したPOS端末コンピュータ40に対応した印刷装置50に第2印刷データを送信しなければならない。この場合、通常であれば各POS端末コンピュータ40から対応する印刷装置50を識別するための識別子(印刷装置指定コマンド)が付与されて第1印刷データが送信されるが、同じPOS端末コンピュータ40から次々とデータが送信されてきた場合は、同じ識別子が付与された第1印刷データを同時に分析しながら第2印刷データを生成する必要がある。このため、生成した第2印刷データを誤ったタイミングで送信してしまい、誤った広告・販促情報が印刷されてしまう可能性が生じてしまう。ところが、本発明によれば、このような場合であっても決済処理毎に異なるトランザクション番号を(複数のPOS端末コンピュータ40が接続されている場合、各端末間でも異なる番号となる)付加して第2印刷データ送信のトリガとなるステータスデータを情報提供サーバに送信するため、印刷装置50は適切なタイミングで正しい広告・販促情報を取得可能となる。また、トランザクション番号は、決済処理の印刷データを生成する場合、従来から一般的に付与されているものであるため、これを利用することにより、POS端末コンピュータ40に新たな処理・機能を追加することなく、POS端末コンピュータ40の負荷を軽減することができる。
また、インターフェース装置51において、第1印刷データの中からトランザクション番号を抽出するため(図7のS13参照)、情報提供サーバ70においてトランザクション番号の抽出処理を省略することができる。しかも、例えば情報提供サーバ70が複数のPOS端末コンピュータ40や印刷装置50と接続される場合(複数店舗のPOSシステムと接続される場合)、POS端末コンピュータ40毎に第1印刷データのフォーマットが異なることが考えられるが、インターフェース装置51を接続対象となるPOS端末コンピュータ40毎にカスタマイズすることで、異なるフォーマットの第1印刷データの中から同一仕様(情報提供サーバ70に合わせたトランザクション番号取得仕様)でトランザクション番号を抽出可能であるため、情報提供サーバ70は、POS端末コンピュータ40毎のフォーマットの差異を考慮することなく、トランザクション番号を取得することができる。
なお、上記の例では、印刷部82が最終行の印刷処理を終了したときにステータスデータを情報提供サーバ70に送信するものとしたが、これに限らず例えば最後から2行目の印刷処理を終了したときにステータスデータを送信するなどの変更が可能である。但し、このステータスデータの送信タイミングを決定するための所定データは、最終データに近いデータを設定することが好ましい。すなわち、例えば所定データを最後から2行目の印刷データとした場合、印刷装置50はその印刷データの印刷処理が終了した時点でインターフェース装置51を介して情報提供サーバ70にステータスデータを送信し、情報提供サーバ70は当該ステータスデータの受信をトリガとして、第2印刷データをインターフェース装置51に送信するため、印刷装置50は受信バッファ80に最終行の印刷データのみが残った状態で第2印刷データを取得することができる。したがって、より最終データに近いデータを所定データとして設定することで、受信バッファ80がバッファフルになることを防ぎ、より確実に両データを印刷することができる。但し、受信バッファの容量によっては、レシート上に印刷される特定の文字列(「合計金額」、「消費税」等の文字列)など最終データから離れたデータを所定データとして設定することも可能である。この構成によれば、早いタイミングで第2印刷データを取得可能となるため、両データの印刷処理を迅速に行うことができる。
また、上記の例では、用紙カットコマンドを認識した場合、これを一時的に保留するものとしたが(図7のS15参照)、これを省略しても良い。また、用紙カットコマンドを所定データとして設定することも可能である。この場合、第1印刷データと第2印刷データとは分断したレシート61によって発行されることとなる。また、この場合、情報提供サーバ70またはインターフェース装置51において、第2印刷データの最後に用紙カットコマンドが付加されることが好ましい。この構成によれば、第2印刷データの印刷終了後、自動的に後端がカットされたレシート61を発行することができる。
また、上記の例では、情報提供サーバ70がインターフェース装置51に送信する第2印刷データには、トランザクション番号が付加されていないものとしたが、情報提供サーバ70は、第2印刷データにトランザクション番号を付加するようにしても良い。上記の通り、情報提供サーバ70がインターフェース装置51に送信するステータスデータには、決済処理毎に異なるトランザクション番号が付加されており、情報提供サーバ70からは当該トランザクション番号に対応する第2印刷データがインターフェース装置51に送信されることとなるため、誤った第2印刷データが送信されることは考え難いが、例えば情報提供サーバ70が複数のPOS端末20と接続されて用いられる場合やPOS端末20に何らかのエラーが生じた場合など、トランザクション番号が一致してしまうこともあり得ない訳ではない。したがって、情報提供サーバ70が送信する第2印刷データにトランザクション番号を付加し、さらにインターフェース装置51が、送信したステータスデータに付加したトランザクション番号と、受信した第2印刷データに付加されたトランザクション番号とが一致するか否かを判別し、仮に一致しない場合には第2印刷データの印刷指令を行わないようにすることで、誤った第2印刷データの印刷をより確実に防止することができる。
なお、この場合インターフェース装置51は、受信した第2印刷データを受け付けない旨を示すステータスデータを情報提供サーバ70に送信することが好ましい。この構成によれば、情報提供サーバ70は、未送信となっている第2印刷データの中から同じトランザクション番号が付加されたものが存在するか否かを検索し、存在する場合にこれを再送信することで、インターフェース装置51は、正しい第2印刷データを取得することができる。また、存在しない場合は、何らかのエラーが発生したと考えられるため、インターフェース装置51にその旨を示すステータスデータを送信し、インターフェース装置51において例えば動作表示ランプ55を点滅させることで、オペレータに対し、再度POS端末コンピュータ40からの第1データ送信操作を促すことができる。
また、上記の例では、トランザクション番号の抽出をインターフェース装置51において行うものとしたが(図7のS13参照)、POS端末コンピュータ組み込まれるプリンタドライバ(図示省略)において行っても良い。この構成によれば、インターフェース装置51におけるトランザクション番号抽出処理を省略することができると共に、プリンタドライバは、組み込まれるPOS端末コンピュータ40毎にカスタマイズ可能であるため、情報提供サーバ70では、POS端末コンピュータ40毎のフォーマットの差異を考慮することなく、トランザクション番号を取得可能となる。
また、上記では、本発明の印刷システムをPOSシステム10に適用した例を示したが、印刷処理毎に異なるトランザクション番号を設定し、当該トランザクション番号を含む第1印刷データを生成する第1ホスト装置と、トランザクション番号毎に、第1印刷データの分析結果に基づく第2印刷データを生成する第2ホスト装置と、第1ホスト装置と接続される第1ポート、および第2ホスト装置と接続される第2ポートとを有するインターフェース装置が着脱自在に装着される印刷装置と、から成る印刷システムにおいても、本発明は適用可能である。すなわち、第1印刷データおよび第2印刷データを提供する端末の種類は問わない。
また、POS端末コンピュータ40(POSアプリケーション141)に変更を加えることで、上記の構成に限らず、従来の構成(POS端末コンピュータに情報提供サーバが接続されており、POS端末コンピュータがPOSサーバの商品マスタを参照する処理と同様の参照処理を情報提供サーバに対して行うことで、広告・販促情報を取得する構成)であっても、本発明を適用可能である。すなわち、従来の構成に本発明を適用する場合は、本発明のインターフェース装置51における機能をプリンタドライバにより実行し、POSアプリケーション141によって生成された第1印刷データを、プリンタドライバを介して情報提供サーバ70に送信するようにすれば良い。これにより、プリンタドライバによってトランザクション番号を抽出したり、情報提供サーバ70へ印刷装置50から取得したステータスデータの転送を行ったりすることができる。
また、インターフェース装置51に代えて、POS端末コンピュータ40、情報提供サーバ70および印刷装置50と接続される3つのポート(インターフェース)を有するアダプタ装置(接続デバイス)により、インターフェース装置51における機能を実行させることも可能である。
また、上記の例では、POSアプリケーション141によってトランザクション番号を設定するものとしたが、当該トランザクション番号の設定をプリンタドライバで行うことも可能である。
また、上記の例に示した、インターフェース装置51における各機能(各手段)をプログラムとして提供することも可能である。また、そのプログラムを記憶媒体(図示省略)に格納し、パーソナルコンピュータ等にインストールすることで、本実施形態に示すPOSシステム10以外でも、本発明のクレジットカード処理制御方法を実現可能である。記録媒体としては、CD−ROM、フラッシュROM、メモリカード(コンパクトフラッシュ(登録商標)、スマートメディア、メモリースティック等)、コンパクトディスク、光磁気ディスク、デジタルバーサタイルディスクおよびフレキシブルディスク等を利用することができる。
また、上述した実施例によらず、例えばシステム構成や装置構成等について、本発明の要旨を逸脱しない範囲で、適宜変更も可能である。