【手続補正書】
【提出日】平成16年4月23日(2004.4.23)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の名称】先日付完結処理システム及び取消再カットメイン処理用プログラムを記録した記録媒体
【特許請求の範囲】
【請求項１】各口座に対する各種入出金等の口座処理の取引種類と、当該口座処理の取引日となる対象勘定日と、入金額又は出金額である取引金額とを有する口座処理要求を演算する演算手段と、この演算手段によって演算された出金処理又は入金処理である口座処理の結果を口座情報として記録するファイルとを備え、
前記口座処理要求は、当該口座処理要求の対象となる口座への振込若しくは自動現金預入支払機等による入金要求又は口座振替若しくは自動現金預入支払機等による出金要求であり、
前記ファイルが、前記口座情報として、
前記演算された口座処理要求の対象勘定日、取引種類及び取引金額を、口座処理要求の取引日である勘定日別で当該口座処理毎に記録する取引明細情報と、
前記口座毎に口座処理のあった勘定日の残高を勘定日毎に記録する勘定日別の残高明細情報と、
前記対象勘定日を先日付とする出金処理で当該対象勘定日の残高より取引金額が大きく決済不能であった場合、当該出金処理が未成立であることを格納する取引の結果とを備え、
前記残高明細情報が、口座処理要求を演算する口座について、当該演算日の残高とは別に、当該演算日より未来で先日付の残高を有し、
前記演算手段は、前記口座処理と、トランザクション管理処理と、先日付の口座処理である先日付取消処理及び再カット処理とを実行し、
当該演算手段は、トランザクションの起動を管理する前記トランザクション管理処理として、
一つのトランザクションにて前記口座処理要求の処理をさせる管理と、
当該一つのトランザクションの実行中に、他のトランザクションを派生させて、当該派生トランザクションにて所定の先日付の口座処理をさせる管理と、
前記派生トランザクションの実行中に、前記先日付の口座処理が無くなるまで、他のトランザクションを繰り返し派生させて、当該派生トランザクションにて全ての先日付の口座処理をさせる管理とを行い、
当該演算手段は、前記口座処理要求を処理する一つのトランザクションによる前記口座処理として、
前記残高明細情報に記録された前記残高のうち、対象勘定日と同日の残高が記録されている場合には当該残高を対象勘定日の残高として特定し、対象勘定日と同日の残高が記録されていない場合には当該対象勘定日より過去で直近の残高を対象勘定日の残高として特定し、
前記特定された対象勘定日の残高と前記取引金額とを加減算し、
当該演算した口座処理要求の取引種類及び取引金額を、当該口座処理要求の取引日である対象勘定日を勘定日として前記取引明細情報に記録し、
当該取引金額と特定した残高とを加減算した処理後の残高を、前記対象勘定日の残高として前記残高明細情報に記録し又は更新し、
前記残高明細情報に記録された先日付の勘定日のうち、当該対象勘定日より未来である先日付の残高がある際には、当該先日付の残高と当該取引金額とを加減算することで、先日付の残高を更新し、
前記演算手段は、当該一つのトランザクションによる口座処理を終了させた後、前記派生トランザクションの繰り返しによる前記先日付の口座処理として、
勘定日別の残高の記録又は更新後に、
残高が増加した先日付がある際には、前記取引の結果が未成立の出金処理を読み出して、当該読み出した未成立の出金処理の対象勘定日に対応する残高と取引金額とを比較し、比較の結果、当該取引金額が前記残高以下で決済可能である場合には、当該未成立であった出金処理の前記口座処理を再実行することによって、前記再カット処理を派生トランザクションで実行し、
一方、当該残高が更新された先日付について、残高がマイナスとなった先日付がある際には、当該残高がマイナスとなった先日付を対象勘定日とした出金処理を前記取引明細情報から読み出し、当該読み出した出金処理に対して未成立であることを前記取引の結果に記録し、前記未成立とした出金処理の取引金額を当該対象勘定日の残高に加算し、前記先日付の残高の更新処理をすることによって、前記先日付取消を派生トランザクションで実行することを特徴とする先日付完結処理システム。
【請求項２】各口座に対する各種入出金等の口座処理の取引種類と、当該口座処理の取引日となる対象勘定日と、入金額又は出金額である取引金額とを有する口座処理要求を演算する演算手段と、この演算手段によって演算された出金処理又は入金処理である口座処理の結果を口座情報として記録するファイルとを備え、
前記口座処理要求は、当該口座処理要求の対象となる口座への振込若しくは自動現金預入支払機等による入金要求又は口座振替若しくは自動現金預入支払機等による出金要求であり、
前記ファイルが、前記口座情報として、
前記演算された口座処理要求の対象勘定日、取引種類及び取引金額を、口座処理要求の取引日である勘定日別で当該口座処理毎に記録する取引明細情報と、
前記口座毎に口座処理のあった勘定日の残高を勘定日毎に記録する勘定日別の残高明細情報と、
前記対象勘定日を先日付とする出金処理で当該対象勘定日の残高より取引金額が大きく決済不能であった場合、当該出金処理が未成立であることを格納する取引の結果とを備え、
前記残高明細情報が、口座処理要求を演算する口座について、当該演算日の残高とは別に、当該演算日より未来で先日付の残高を有し、
前記演算手段は、前記口座処理と、トランザクション管理処理と、取消再カットメイン処理と、先日付取消処理と、再カット処理とを実行し、
当該演算手段は、トランザクションの起動を管理する前記トランザクション管理処理として、実行中のトランザクションから派生トランザクションの起動指示を受けた際には、派生トランザクションを起動して、前記実行中のトランザクションの終了後に、当該派生トランザクションを実行させる管理処理を行い、
当該演算手段は、一つのトランザクションによる前記口座処理として、
前記残高明細情報に記録された前記残高のうち、対象勘定日と同日の残高が記録されている場合には当該残高を対象勘定日の残高として特定し、対象勘定日と同日の残高が記録されていない場合には当該対象勘定日より過去で直近の残高を対象勘定日の残高として特定し、
前記特定された対象勘定日の残高と前記取引金額とを加減算し、
当該演算した口座処理要求の取引種類及び取引金額を、当該口座処理要求の取引日である対象勘定日を勘定日として前記取引明細情報に記録し、
当該取引金額と特定した残高とを加減算した処理後の残高を、前記対象勘定日の残高として前記残高明細情報に記録し又は更新し、
前記残高明細情報に記録された先日付の勘定日のうち、当該対象勘定日より未来である先日付の残高がある際には、当該先日付の残高と当該取引金額とを加減算することで、先日付の残高を更新し、
当該残高の記録又は更新後に、当該残高がマイナスの先日付又は取引の結果が未成立の出金処理がある際には、前記取消再カットメイン処理を前記トランザクション管理処理に起動指示して当該一つのトランザクションである口座処理を終了し、
前記演算手段は、前記起動指示される出金処理の前記派生トランザクションによる前記先日付取消処理として、
当該起動指示された出金処理に対して未成立であることを前記取引の結果に記録し、前記未成立とした出金処理の取引金額を当該対象勘定日の残高に加算し、前記先日付の残高の更新処理し、前記取消再カットメイン処理を前記トランザクション管理処理に起動指示して当該派生トランザクションを終了し、
前記演算手段は、前記起動指示される出金処理の前記派生トランザクションによる前記再カット処理として、
当該起動指示される出金処理を再実行し、前記取消再カットメイン処理を前記トランザクション管理処理に起動指示して当該派生トランザクションを終了し、
当該演算手段は、前記派生トランザクションによる前記取消再カットメイン処理として、
前記残高が更新された先日付について、残高がマイナスとなった先日付がある際には、当該先日付に成立していた出金処理の前記先日付取消処理を前記トランザクション管理処理に起動指示して当該派生トランザクションを終了し、
当該残高がマイナスとなった先日付がなく、残高が更新された勘定日と同日又は先日付について、前記取引の結果が未成立の出金処理がある際には、当該未成立の出金処理の前記再カット処理を前記トランザクション管理処理に起動指示して当該派生トランザクションを終了し、
当該残高がマイナスとなった先日付がなく、残高が更新された勘定日と同日又は先日付について、前記取引の結果が未成立で、かつ、決済可能な出金処理がない際には、当該派生トランザクションを終了することで、当該取消再カットメイン処理の繰り返しによる先日付の口座処理を完了することを特徴とする先日付完結処理システム。
【請求項３】前記口座処理の取引種類を特定するオペコードと当該オペコードで特定される前記口座処理の処理に使用するサブプログラム名及び実行順序との関係を格納する業務別オペコードテーブルを備え、
前記口座処理要求は、前記口座処理の取引種類を特定するオペコードを有し、
前記業務別オペコードテーブルは、口座処理の起動側である起動処理と、口座処理の受動側であり残高明細セグメント等を管理する受動処理とに分けて、かつ、当該口座処理要求を処理するトランザクションの起動態様毎に、使用するサブプログラム名及び実行順序を格納し、
前記演算手段は、前記トランザクションの起動態様として、起動処理と受動処理とを一つのトランザクションとして連動させる連動トランザクションと、前記派生トランザクションとを管理し、
当該演算手段は、
前記口座処理要求を処理する一つのトランザクションによる口座処理として、当該口座処理要求のオペコードから前記業務別オペコードテーブルを参照して当該オペコードテーブルに指定された起動処理のサブプログラムと、当該起動処理に対応する受動処理のサブプログラムとを連動トランザクションにより実行し、
前記一つのトランザクションによる口座処理を連動トランザクションにて終了させた後、前記派生トランザクションによる取消再カットメイン処理を実行し、
前記取消再カットメイン処理を派生トランザクションにて終了させた後、他の派生トランザクションにより当該先日付取消処理又は再カット処理を実行することを特徴とする請求項２記載の先日付完結処理システム。
【請求項４】各口座に対する各種入出金等の口座処理の取引種類と、当該口座処理の取引日となる対象勘定日と、入金額又は出金額である取引金額とを有する口座処理要求を演算する演算手段と、この演算手段によって演算された出金処理又は入金処理である口座処理の結果を口座情報として記録するファイルとを備え、
前記口座処理要求は、当該口座処理要求の対象となる口座への振込若しくは自動現金預入支払機等による入金要求又は口座振替若しくは自動現金預入支払機等による出金要求であり、
前記ファイルが、前記口座情報として、
前記演算された口座処理要求の対象勘定日、取引種類及び取引金額を、口座処理要求の取引日である勘定日別で当該口座処理毎に記録する取引明細情報と、
前記口座毎に口座処理のあった勘定日の残高を勘定日毎に記録する勘定日別の残高明細情報と、
前記対象勘定日を先日付とする出金処理で当該対象勘定日の残高より取引金額が大きく決済不能であった場合、当該出金処理が未成立であることを記録する取引の結果とを備え、
前記残高明細情報が、口座処理要求を演算する口座について、当該演算日の残高とは別に、当該演算日より未来で先日付の残高を有し、
前記演算手段は、前記口座処理と、トランザクション管理処理と、取消再カットメイン処理と、先日付取消処理と、再カット処理とを実行し、
当該演算手段は、トランザクションの起動を管理する前記トランザクション管理処理として、実行中のトランザクションから派生トランザクションの起動指示を受けた際には、派生トランザクションを起動して、前記実行中のトランザクションの終了後に、当該派生トランザクションを実行させる管理処理を行い、
当該演算手段は、一つのトランザクションによる前記口座処理として、
前記残高明細情報に記録された前記残高のうち、対象勘定日と同日の残高が記録されている場合には当該残高を対象勘定日の残高として特定し、対象勘定日と同日の残高が記録されていない場合には当該対象勘定日より過去で直近の残高を対象勘定日の残高として特定し、
前記特定された対象勘定日の残高と前記取引金額とを加減算し、
当該演算した口座処理要求の取引種類及び取引金額を、当該口座処理要求の取引日である対象勘定日を勘定日として前記取引明細情報に記録し、
当該取引金額と特定した残高とを加減算した処理後の残高を、前記対象勘定日の残高として前記残高明細情報に記録し又は更新し、
前記残高明細情報に記録された先日付の勘定日のうち、当該対象勘定日より未来である先日付の残高がある際には、当該先日付の残高と当該取引金額とを加減算することで、先日付の残高を更新し、
当該残高の記録又は更新後に、当該残高がマイナスの先日付又は取引の結果が未成立の出金処理がある際には、前記取消再カットメイン処理を前記トランザクション管理処理に起動指示して当該一つのトランザクションである口座処理を終了し、
前記演算手段は、前記起動指示される出金処理の前記派生トランザクションによる前記先日付取消処理として、
前記起動指示された出金処理に対して未成立であることを前記取引の結果に記録し、前記未成立とした出金処理の取引金額を当該対象勘定日の残高に加算し、前記先日付の残高の更新処理し、前記取消再カットメイン処理を前記トランザクション管理処理に起動指示して当該派生トランザクションを終了し、
前記演算手段は、前記起動指示される出金処理の前記派生トランザクションによる前記再カット処理として、
前記起動指示された出金処理を再実行し、前記取消再カットメイン処理を前記トランザクション管理処理に起動指示して当該派生トランザクションを終了する、
先日付完結処理システムの前記演算手段を使用して、
前記取消再カットメイン処理を実行させる取消再カットメイン処理用プログラムを記録した記録媒体であって、
当該取消再カットメイン処理用プログラムは、前記演算手段を動作させる指令として、
前記口座処理、前記先日付取消処理又は前記再カット処理を実行するトランザクションから出力される起動指示に応じて、前記トランザクション管理処理によって初回に又は繰り返し起動される際に、前記トランザクションによって更新される前記残高明細情報の各勘定日別の残高を算出することで日付チェックテーブルを生成させる日付チェックテーブル作成指令と、
前記日付チェックテーブルに残高がマイナスとなった先日付がある際には、当該先日付に成立していた出金処理の前記先日付取消処理を前記トランザクション管理処理に起動指示に指示させ、当該起動指示後に、当該取消再カットメイン処理の派生トランザクションを終了させる取消対象特定指令と、
前記日付チェックテーブルに残高がマイナスとなった先日付がなく、かつ、残高が更新された勘定日と同日又は先日付に前記取引の結果が未成立の出金処理がある際には、最先の勘定日から、当該出金処理の対象勘定日に対応する残高と、当該出金処理の取引金額とを比較させ、比較の結果、当該取引金額が前記残高以下で決済可能である場合には、当該決済可能な未成立の口座処理を再カット対象として特定させる決済可否判定指令と、
当該決済可否判定指令に応じた処理で特定される出金処理の前記再カット処理を前記トランザクション管理処理に指示させ、当該起動指示後に、当該取消再カットメイン処理の派生トランザクションを終了させる再カット処理起動指令と、
当該決済可否判定指令に応じた処理で決済可能な未成立の口座処理がないと判定される際には、当該取消再カットメイン処理の派生トランザクションを終了させることにより、当該取消再カットメイン処理による全ての先日付の口座処理を完了させる処理終了指令とを備えたことを特徴とする取消再カットメイン処理用プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、先日付完結処理システム及び方法に係り、特に、金融機関での口座に対する自動振替や振込等をオンライン稼働中に並行して処理する先日付完結処理システム及び方法に関する。また、このような先日付完結処理システムを実現するための取消再カットメイン処理用プログラム及びこれを記録した記録媒体に関する。
【０００２】
【従来の技術】
従来より、公共料金の口座振替処理は、自動現金預入支払機（ＡＴＭ）や自動支払機（ＣＤ）及びオンラインシステムが停止し、口座残高が確定した後に、バッチ処理で実行されていた。例えば、特開昭５９−７７５７３号公報には、電気、ガス、水道等の料金を指定振替日（勘定日）の前夜から翌朝までの時間を利用して、口座からの出金処理（引落処理）を行う手法が開示されている。特開平７−９３４３９号公報にも、口座振替をバッチ処理にて行う手法が開示されている。
【０００３】
【発明が解決しようとする課題】
しかしながら、バッチ処理による口座振替処理では、オンラインシステムを停止させた状態で口座振替処理を行わなければならないため、ＡＴＭやインターネットバンキングなどを２４時間連続稼働させることが難しい、という不都合があった。
【０００４】
また、上記従来例では、口座残高が確定した前夜から振替当日のオンライン稼働時間前までの限られた時間内に全ての口座振替処理を行わなければならず、口座振替処理のデータ量の増加やオンライン稼働時間の延長に対応するためにはコンピュータ（ＣＰＵ）などの機器を増強しなければならない、という不都合があった。
【０００５】
さらに、上記従来例では、振替当日の前夜から開始して、振替当日の早朝までにバッチ処理を完了しなければならないため、データ量によっては、振替当日のオンライン稼働開始が遅れてしまう恐れもあった。
【０００６】
【発明の目的】
本発明は、係る従来例の有する不都合を改善し、特に、ＡＴＭ等の端末を用いた入出金等のオンライン処理と並列して、オンライン処理の応答を悪化させることなく、口座振替や融資返済等の種々の取引を処理することのできる先日付完結処理システム及び取消再カットメイン処理用プログラムを提供することを、その目的とする。
すなわち、本発明は、従来バッチ処理として行っていた口座振替処理等をオンライン処理中に並行して処理しつつ、オンライン応答を悪化させることのない勘定系システムを提供することを、その目的としている。
【０００７】
【課題を解決するための手段】
本発明では、先日付の口座処理をその勘定日となる前に実行し、勘定日別の口座情報（例えば、残高）を保有する。そして、先日付が当日となった瞬間に参照すべき口座情報が変化する。先日付での口座情報を生成しておき、そして、先日付の日付に至るまでに口座残高の異動（変動）や利率や契約内容の変更があった場合には、その変更を先日付での残高に反映させる。これにより、例えば勘定日を日単位とする場合に、日付変更処理が完了した時点で、変更された日付を勘定日とする口座処理も完了している。
すなわち、本発明では、現在の口座情報に基づいて、その後に口座処理が無い場合の先日付での残高を仮想的に生成しておき、その先日付の残高に基づいて先日付の口座処理を実行しておくことで、従来バッチ処理で行っていた口座処理をオンライン処理中に並行して処理する。これは、現在処理する口座処理を、先日付の日時が到来するまでの最終の口座処理と仮定し、当該先日付の残高等を予め計算する処理である。その後、先日付の勘定日が至る前に別の口座処理があった場合には、再度その口座処理が最終の口座処理であると仮定し、先日付の残高等を算出する。この先日付の残高等は、口座の名義人にとって、当該先日付の日時とならなければ使用できない残高である。
【０００８】
本発明の前提となる先日付完結処理の原理は、現時点での情報に基づいて、その後の変化が無いとした場合の、将来の口座情報を生成しておく点にある。その後に口座処理が無い場合や、自動定期化サービスにて普通預金口座から定期預金へ入金する契約に変更が無い場合や、小切手の資金化について不渡の連絡が無い場合を想定して、その前提での先日付の口座情報を予め算出しておく。先日付の処理であるため、口座名義人がその先日付の残高を直接に用いて取引をすることができず、従って、先日付処理については取消を行うことができる。このため、自動定期化サービスにて普通預金の出金及び定期預金への入金を先日付で行った後に、契約の変更等が連絡された場合には、先日付での当該口座処理を取り消し、変更された契約に基づいて再実行することができる。
【０００９】
このように、現在の状態から変化がないと仮定した場合の先日付での口座情報を予め算出しておき、状態に変化があった場合には、再度先日付での口座情報の算出を行うと、先日付の日付を迎える前後にはなんら処理を行う必要がない。この状態変化後の残高等の調整に、本発明では、派生トランザクションを用いる。このため、オンライン処理の終了後にバッチ処理にて口座処理を行う必要がなくなる。従って、本発明の先日付での口座処理は、その口座処理が完了した段階で、完結している。
【００１０】
現在の状態からの変化には、続く口座処理が無いという前提のみならず、先日付で契約する定期預金や口座に元加する利息の利率が現在に判明していて、その後に変更がないという前提（変更が有った場合には、再度口座処理を実行する）などが含まれる。このため、先日付処理を行うことのできる対象は数多い。通常の普通預金口座や当座預金口座に対する種々の口座処理や、ある条件に応じたオプションの行使や、先物取引を口座で決済する場合に、期日での額が定まっている場合の差額の算出及び決済や、住宅ローンの特別な増額返済のための普通預金口座からの出金の予約などについても、先日付完結処理としてオンライン処理中に実行することができる。
【００１１】
本発明は、各口座に対する各種入出金等の口座処理の取引種類と、当該口座処理の取引日となる対象勘定日と、入金額又は出金額である取引金額とを有する口座処理要求を演算する演算手段と、この演算手段によって演算された出金処理又は入金処理である口座処理の結果を口座情報として記録するファイルとを備えている。
そして、前記口座処理要求は、当該口座処理要求の対象となる口座への振込若しくは自動現金預入支払機等による入金要求又は口座振替若しくは自動現金預入支払機等による出金要求である。
さらに、前記ファイルが、前記口座情報として、取引明細情報と、残高明細情報と、取引の結果とを備えている。
取引明細情報は、前記演算された口座処理要求の対象勘定日、取引種類及び取引金額を、口座処理要求の取引日である勘定日別で当該口座処理毎に記録する情報である。
残高明細情報は、前記口座毎に口座処理のあった勘定日の残高を勘定日毎に記録する勘定日別の情報である。
取引の結果は、前記対象勘定日を先日付とする出金処理で当該対象勘定日の残高より取引金額が大きく決済不能であった場合、当該出金処理が未成立であることを記録する情報である。
そして、本発明では、前記残高明細情報が、口座処理要求を演算する口座について、当該演算日の残高とは別に、当該演算日より未来で先日付の残高を有している。
さらに、請求項１に係る本発明では、演算手段は、前記口座処理と、トランザクション管理処理と、先日付取消処理と、再カット処理とを実行する。
当該演算手段は、第１に、トランザクションの起動を管理する前記トランザクション管理処理として、次の管理処理を行う。
一つのトランザクションにて前記口座処理要求の処理をさせる管理。
当該一つのトランザクションの実行中に、他のトランザクションを派生させて、当該派生トランザクションにて所定の先日付の口座処理（先日付取消処理、再カット処理）をさせる管理。
前記派生トランザクションの実行中に、前記先日付の口座処理が無くなるまで、他のトランザクションを繰り返し派生させて、当該派生トランザクションにて全ての先日付の口座処理をさせる管理。
当該演算手段は、前記口座処理要求を処理する一つのトランザクションによる前記口座処理として、次の処理を行う。
前記残高明細情報に記録された前記残高のうち、対象勘定日と同日の残高が記録されている場合には当該残高を対象勘定日の残高として特定し、対象勘定日と同日の残高が記録されていない場合には当該対象勘定日より過去で直近の残高を対象勘定日の残高として特定する。
前記特定された対象勘定日の残高と前記取引金額とを加減算し、当該演算した口座処理要求の取引種類及び取引金額を、当該口座処理要求の取引日である対象勘定日を勘定日として前記取引明細情報に記録する。
当該取引金額と特定した残高とを加減算した処理後の残高を、前記対象勘定日の残高として前記残高明細情報に記録し又は更新する。
前記残高明細情報に記録された先日付の勘定日のうち、当該対象勘定日より未来である先日付の残高がある際には、当該先日付の残高と当該取引金額とを加減算することで、先日付の残高を更新する。
前記演算手段は、当該一つのトランザクションによる口座処理を終了させた後、前記派生トランザクションの繰り返しによる前記先日付の口座処理を行う。すなわち、勘定日別の残高の記録又は更新後に、再カット処理又は先日付取消処理を行う。
再カット処理では、残高が増加した先日付がある際には、前記取引の結果が未成立の出金処理を読み出して、当該読み出した未成立の出金処理の対象勘定日に対応する残高と取引金額とを比較し、比較の結果、当該取引金額が前記残高以下で決済可能である場合には、当該未成立であった出金処理の前記口座処理を再実行することによって、前記再カット処理を派生トランザクションで実行する。
先日付取消処理では、当該残高が更新された先日付について、残高がマイナスとなった先日付がある際には、当該残高がマイナスとなった先日付を対象勘定日とした出金処理を前記取引明細情報から読み出し、当該読み出した出金処理に対して未成立であることを前記取引の結果に記録し、前記未成立とした出金処理の取引金額を当該対象勘定日の残高に加算し、前記先日付の残高の更新処理をすることによって、前記先日付取消を派生トランザクションで実行する。
これにより、オンライン応答を悪化させずに口座振替等を処理するという上記課題を解決しようとするものである。
ここで、「勘定日以後」は、勘定日を含み、「勘定日より未来」は、勘定日を含まない。「更新」は、ファイルに格納されていた演算日と同日付又は先日付の残高の上書きを意味する。「記録」は、主に、同日付又は先日付でのある日付の最初の口座処理で、新しくその勘定日の残高を格納する場合に用い、さらに、データの記録一般にも用いる。
「口座処理」は、例えば、金融機関の個人向けの普通口座を例とすると、給与振込等の口座への振込（入金）や、公共料金の自動引落のような口座からの振替（出金）や、融資の返済や家賃の引落などの自動引落（出金）などである。また、法人等を例とすると、「口座処理」は、各種支払の振込予約や、給与支払のための引落や、口座引落で集金した家賃の入金などである。これら種々の内容の口座処理を扱うようにしても良いし、例えば振込などは別の演算手段にて扱い、公共料金の振替のみを本発明による先日付完結処理システムで扱うようにしても良い。
また、証券取引用の口座を例とすると、「口座処理」は、株取引に要した資金の決済や、金融商品の自動的な購入などが該当する。このように、「口座処理」には、まず、商取引の決済手法の種々の態様が含まれる。この決済の対象は単一の通貨のみならず、例えば先日付での為替レートを予め取引者間で定めておくことができれば、外為取引に応用することもできる。さらに、決済の対象は、通貨を扱う口座のみならず、例えば商品やサービスの販売時に付加するポイント値（マイレージポイント）でも良い。
さらに「口座処理」には、その口座の属性を設定又は変更する処理を含めるようにしても良い。例えば、定期の自動更新に応じた自動融資極度額の変更や、長期ローンでの変動金利と固定金利とのスワップの予約等を含めるようにしても良い。また、ＡＴＭやＣＤや金融機関の店舗の窓口端末による現金の入金や出金は即時の口座処理であり、演算日と勘定日が一致する。
【００１２】
上記ファイルには、預金・融資等の取引履歴や、現在の残高や、口座に定義された自動融資可能額（貸越極度）などの口座に関する情報が格納されている。「口座情報」というときには、残高情報を含む。残高情報は、口座処理要求が決済可能であるか又は決済不能であるかを判定するための数値であり、例えば、定期預金等を担保とする自動融資が無い場合には実際の残高で、定期預金等を担保とする自動融資が付随する場合には、貸越極度額（自動融資可能額）と実際の残高とを加算した額を出金可能額としても良い。定期預金等を担保とする自動融資を行う場合には、口座情報として担保明細等の属性情報を持つようにすると良い。
【００１３】
演算手段は、例えば、口座処理要求として入金があった場合には、現在の残高を読み出して、入金額を加算し、ファイルを更新する。
【００１４】
本発明では、勘定日別口座処理部が、演算を行う演算日と同日又は先日付となる勘定日での口座処理を当該勘定日の直近の口座情報に基づいて処理する。そして、勘定日別口座情報格納部は、勘定日別口座処理部の処理結果を当該口座処理の勘定日での口座情報として前記ファイルに格納する。
【００１５】
本発明では、勘定日を日単位とする。
【００１６】
この「勘定日」は、例えば、口座処理が振替であれば振替日である。融資の返済であれば「約定返済日」が勘定日であると考える。給与振込であれば振込日が勘定日に相当する。本明細書では、これら種々の口座処理要求に指定される取引実行日を「勘定日」と呼ぶ。「演算日」は演算を行う「当日」であり、「現在」ともいう。
【００１７】
本発明では、演算日に対して先日付となる勘定日での口座処理要求を、演算日の段階で処理する。その処理結果を、演算日に対して先日時となる勘定日での口座情報として格納する。従って、口座情報は、口座処理要求がなされた勘定日別に生成され、管理される。例えば、演算日の残高と、先日付での処理を行った将来の残高（仮想残高）との情報がファイルに格納される。この将来の残高は、今までに行った口座処理の後、口座処理がないままその勘定日が到来しときの、その勘定日の残高である。このため、例えば勘定日を日単位とすると、日付が変更したときに、その日付変更の前後でなんら処理を行うことなく、当該勘定日に行うべき口座処理を完了した状態で、新たに迎えた日付での残高が確定する。
【００１８】
例えば、先日付である勘定日が、演算日の翌営業日であったとする。そして、翌営業日を勘定日とする振替等の口座処理要求をその翌営業日（振替日，勘定日）の前日に演算する。演算した結果、現在の残高と、翌営業日の残高とが個別にファイルに格納される。その後、当該口座に対して残高の変動（異動）をもたらす処理が行われなかったとすると、本日から明日へ日付変更した段階で、引落（出金）が確定し、新たな残高に基づいた処理が可能となる。従って、午前０：００を過ぎた瞬間に、口座振替後の新たな残高に基づいた処理を行うことができる。
【００１９】
上記以外に、取引実行日を日単位ではなく、「勘定日時」として、日と、午前午後の時間指定や、また、秒単位の先日時での取引も考えられる。本発明では、勘定日を日単位としているが、ここで、日付ではなく、時間を例として先日付完結処理の原理を説明する。例えば、午後１：３０を勘定日時とする振込があるとする。この例では、例えば午前１１：００頃の演算日時で、将来の時間である午後１：３０の口座処理要求を処理する。すると、午後１：３０前の時間で参照する残高と、午後１：３０以後に参照する残高の２つの口座情報がファイルに格納される。このため、午後１：３０前後になんら処理を行うことなく、午後１：３０の取引を先日時にて完結させることができる。これをオンライン・リアルタイムで行うには、午後１：３０に行うべき処理が大量にある場合には、ハードウエア資源への負荷が瞬間的に大きくなりすぎる。一方、この例では、口座情報を勘定日時別に有するという思想により、実際の演算日時はいつでも良い。
【００２０】
本発明にて、勘定日を日単位として、公共料金等の振替をバッチ処理で行うのは、勘定日を時分単位と考えた場合の上記午後１：３０の大量処理に相当する。すなわち、前日に口座残高が確定した後、振替日（勘定日）の朝までに振替を実行するには、その間の現実の時間内で全ての処理を完結させなければならない。そして、バッチ処理の場合には、この処理時間を「０」とすることはできない。一方、本発明による先日付完結処理システムでは、日付変更の瞬間（前後）には、口座情報に対してなんら処理を行う必要がない。先日付となる勘定日の口座処理要求を事前に演算し、勘定日別の口座情報を生成しておき、当日の残高を当該当日の残高又は最も近い過去の残高に基づいて確定する。このため、事前に口座処理要求を演算した自体で、勘定日の処理は完結している。
ある勘定日の振替等が演算手段の処理能力に対して大量にある場合には、複数日を用いて当該勘定日での取引を計算しておくようにしても良いし、また、勘定日の前営業日に先日付での処理を行うようにしても良い。このように、本発明による先日付完結処理システムでは、口座処理の負荷を時間的に分散している。
【００２１】
本発明の実施形態では、先日付の勘定日での口座処理要求を処理した後、現在の残高が変更され、先日付での処理が実行できない状態となったり、反対に、先日付で未成立の処理が実行できる状態となると、先日付処理の取消や、未成立であった口座処理の再実行（再カット）を行うなど、種々の局面に対応するための技術が開示される。
【００２２】
そして、本発明では、先日付の残高を格納した後、別の新たな口座処理要求を処理したことで、残高が変動した場合に、先日付の処理を行う。すなわち、先日付ですでに成立していた口座処理を取り消し、または、未成立であった出金処理を再カットする。この最新の残高に応じた先日付の口座処理の成立及び未成立と、先日付の残高との調整に、本発明では、派生トランザクションを用いる。派生トランザクションを用いることで、ＡＴＭ等のオンライン応答を即座に完結させつつ、その直後に別のトランザクションとして残高の調整等の先日付の処理を行う。
【００２３】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
【第１実施形態】
図１は、本発明の第一の実施形態の構成を示すブロック図である。図１に示す例では、第１実施形態による先日付完結処理システムは、図１に示す例では、第１実施形態による先日付完結処理システムは、各口座に対する各種入出金等の口座処理の取引種類と、当該口座処理の取引日となる対象勘定日と、入金額又は出金額である取引金額とを有する口座処理要求を演算する演算手段２と、この演算手段２によって演算された口座処理の結果を口座情報として記録するファイル６とを備えている。また、先日付完結処理システムは、勘定日の取引等の口座処理要求を受信する受信手段４を備えると良い。
ファイル６は、図３等に示すように、前記口座情報として、前記演算された口座処理要求の対象勘定日、取引種類及び取引金額を、口座処理要求の取引日である勘定日別で当該口座処理毎に記録する取引明細情報（図３の口座処理）と、前記口座毎に口座処理のあった勘定日の残高を勘定日毎に記録する勘定日別の残高明細情報（図３の残高（口座情報））とを備えている。この残高明細情報は、口座処理要求を演算する口座について、当該演算日の残高とは別に、当該演算日より未来で先日付の残高を有する。
そして、前記口座処理要求は、当該口座処理要求の対象となる口座への振込若しくは自動現金預入支払機等による入金要求又は口座振替若しくは自動現金預入支払機等による出金要求である。
そして、演算手段２が、当該演算日と同日付又は先日付となる対象勘定日の口座処理を当該対象勘定日と同日付又は過去で直近の残高に基づいて処理する勘定日別口座処理部８と、この勘定日別口座処理部８による処理後の残高を、当該対象勘定日での残高として前記ファイル６に格納する勘定日別口座情報格納部１０とを備えている。
勘定日別口座処理部８は、前記残高明細情報に記録された前記残高のうち、対象勘定日（演算日と同日付又は先日付）と同日の残高が記録されている場合には当該残高を対象勘定日の残高として特定する。対象勘定日と同日の残高が記録されていない場合には、当該対象勘定日より過去で直近の残高を対象勘定日の残高として特定する。勘定日別口座処理部８は、さらに、前記特定された対象勘定日の残高と前記取引金額とを加減算する。そして、勘定日別口座処理部８は、当該演算した口座処理要求の取引種類及び取引金額を、当該口座処理要求の取引日である対象勘定日を勘定日として前記取引明細情報に記録する。
さらに、勘定日別口座情報格納部１０は、当該勘定日別口座処理部８が加減算した処理後の残高を、前記対象勘定日の残高として前記残高明細情報に記録する。これにより、前記対象勘定日が先日付である場合には、前記対象勘定日の残高を当該先日付の残高として前記残高明細情報に記録する。
【００２４】
受信手段４は、ＡＴＭや、公共料金等の引落データが格納された外部持込媒体や、融資や自動定期化サービス等の情報等を格納した内部各種マスタなどから直接又は間接に口座処理要求を受信する。また、インターネットや専用ネットワーク等を介して顧客のコンピュータから口座処理要求を受信するようにしても良い。
【００２５】
演算手段は、１台又は複数台のコンピュータである。演算手段２が有する種々の手段や各部、各機能は、所定のプログラムを実行するコンピュータのＣＰＵによって実現できる。図１に示す例では、先日付完結処理に必要な種々の機能のうち、原理的に重要な部分を抽出している。すなわち、演算手段２は、勘定日別口座処理部８と、勘定日別口座情報格納部１０とを備えている。勘定日別口座処理部８は、口座処理要求を受信した当日を勘定日とする口座処理要求を、当日の口座情報に基づいて処理する。例えば、ＡＴＭ等の操作により現金出金を行う場合、当日の口座情報を読み出して、その残高に基づいて現金出金を行う。また、勘定日別口座処理部８は、口座処理要求を受信した日時に対して先日付となる勘定日の口座処理を、先日付の口座情報に基づいて処理する。先日付の口座情報が無い場合には、当該勘定日の直近の口座情報に基づいて先日付となる勘定日の口座情報を生成する。例えば、演算日の口座残高と同一額の残高を先日付である翌営業日の残高とする。口座処理要求は、当該処理要求の対象となる口座へ口座振込等による先日付での入金要求又は口座振替等による先日時での出金要求である。
【００２６】
勘定日別口座情報格納部１０は、勘定日別に処理される口座処理の処理後の残高を、当該口座処理の対象勘定日での口座情報としてファイル６に格納する。これにより、勘定日別の口座情報（残高）が生成される。この勘定日別口座情報は、勘定日別口座処理部８によってアクセスされる。
【００２７】
図２は、口座処理の例を示す説明図である。図２（Ａ）に示すように、１０日の残高が３０，０００の場合に、勘定日を１１日とする２０，０００の出金要求（例えば、振替）を１０日に処理する場合、この２０，０００の出金要求は先日付での処理となる。この場合、１１日を勘定日とする処理を初めて行うのであれば、まず、１１日の残高を３０，０００とする。そして、１１日を対象勘定日とする２０，０００の出金要求を処理し、１１日の残高を１０，０００とする。この先日付の出金を行ったのち、当該口座に他の口座処理が無い場合には、１１日になった時に、残高１０，０００が確定する。このため、出金処理は、１０日に先日付で処理した時点で完結している。
【００２８】
図２（Ｂ）は、口座処理を入金要求（例えば、振込）とする例を示す図である。１０日の残高を３０，０００とするときに、勘定日を１１日とする４０，０００の入金要求を、１０日に処理する。１１日の残高は、１０日の時点で７０，０００と算出される。出金の場合と同様に、１０日での先日付の入金要求を処理した時点で完結している。その後、１０日にＡＴＭで現金の出金要求（払戻要求）があった場合、出金可能額は３０，０００であり、７０，０００ではない。そして、１１日の午前０時に残高照会を行うとすると、１１日の０時を迎えた段階では、残高は７０，０００である。
【００２９】
図２（Ａ）及び（Ｂ）に示す例では、勘定日を日単位とした。図２（Ｃ）は、時刻（または、一定時間）毎に残高明細を持つ例である。図２（Ｃ）に示す例では、１０日の９：００時点の残高が３０，０００であるとする。そして、勘定日時を１３：００とする５０，０００の入金処理を９：３０頃に受信したとする。この処理は、先日時での処理となる。この場合、１３：００での残高を３０，０００とし、続いて５０，０００入金することで１３：００での残高を８０，０００とする。図２（Ｂ）に示す場合と同様に、例えば１０日の１２：５９に出金可能な額は３０，０００であり、１３：００に出金可能な額は８０，０００である。このとき、１３：００の入金自体は、９：３０に完結している。その後、１７：００を勘定日時とする６０，０００の出金要求があった場合、直近の残高である１３：００の残高を用いて口座処理を行い、１７：００の残高を２０，０００とする。ここで、勘定日ではなく勘定日時とし、時刻毎に口座情報を有する例は、図２（Ｃ）のみである。
【００３０】
先日付完結処理では、口座残高に不足があるような場合や、当日の取引等によって口座残高が不足となった場合に、先日付取引の取消を行うことができる。バッチ処理の場合、一旦成立した口座処理要求の取消を行うことは難しいが、勘定日を先日付とする口座処理の場合には、この取消を行いやすい。また、未成立であった口座処理や、取消により未成立となった口座処理がある場合に、何らかの入金がある場合には、当該口座処理について再実行（再カット）を行うようにしても良い。本実施形態では、最後の口座処理要求を実行した結果（残高等）に基づいて、先日付での口座処理を実行するため、口座残高の異動に応じて、先日付で決済不能であった口座処理を再カットすることができる。また、特開昭５９−７７５７３号公報に開示されているように、未成立であった口座処理について当日に入金があった時に再カットするようにしても良い。
【００３１】
図３を参照すると、ファイル６（ここでは、取引明細情報）が、対象勘定日を先日付とする出金処理で当該対象勘定日の残高より取引金額が大きく決済不能であった場合、当該出金処理が未成立であることを記録する取引の結果を有する。
そして、再度図１を参照すると、本実施形態では、勘定日別口座処理部８は、前記演算日から前記対象勘定日までの間に、前記演算日と同日付又は過去で直近の勘定日での残高に基づいて出金要求を処理した結果、前記先日付での出金処理が決済不能となる場合に、当該先日付での口座処理を取り消す先日付取消機能１２を備えている。
先日付取消処理（先日付取消機能１２）は、具体的には、新たな出金処理によって残高が更新された際に、図６（Ｂ）に示すように、当該残高が更新された先日付について、残高がマイナスとなった先日付の有無を確認し、残高がマイナスとなった先日付がある場合には、当該残高がマイナスとなった先日付を対象勘定日とした出金処理を前記取引明細情報から読み出し、当該読み出した出金処理に対して未成立であることを前記取引の結果に記録し、前記未成立とした出金処理の取引金額を当該対象勘定日の残高に加算することによって、先日付取消処理を行う。
【００３２】
先日付取消機能１２は、先日付で決済可能であった口座処理について、先日付よりも前（過去）の日（例えば、演算日と同日付の現在）に出金等を行った結果、決済不能となる口座処理を取り消す。すなわち、最新の出金要求を実行した結果、先日付で決済不能な出金処理がある場合には、最新の出金要求の実行結果（口座情報）に基づいて当該口座処理を取り消す。取り消された口座処理は、取引の結果が未成立となり、当該先日付の勘定日までの入金を待機し、勘定日の満了時点まで入金がない場合には、当該出金処理は決済不能で確定となる。先日付口座情報更新機能１６は、口座処理の取消による額を、当該先日付の勘定日の残高へ加算する。
【００３３】
勘定日別口座処理部８は、最新の入金要求の処理後の残高に応じて先日付で未成立の口座処理が決済可能となる場合に、当該取引の結果が未成立であった出金処理を再実行する再カット機能を備えるようにしても良い。
再カット処理（再カット機能）は、新たな入金処理によって残高が更新された際に、図６（Ｂ）に示すように、当該新たな入金処理によって残高が増加した先日付について、前記取引の結果が未成立の出金処理を読み出して、当該読み出した未成立の出金処理の対象勘定日に対応する残高と取引金額とを比較し、比較の結果、当該取引金額が前記残高以下で決済可能である場合には、当該未成立であった出金処理を再実行することによって、再カット処理を行う。
【００３４】
一般的に、公共料金の引落等は振替日当日のみに引落を行う。このため、その振替日（勘定日）に残高に不足があり決済不能であると、公共料金の支払いができず、来月に再度口座振替処理を行うこととなる。一方、自動的に積立を行う契約などでは、積立をする振替日（勘定日）のみならず、次回の振替日の前日まで残高がある場合には積立を行う。この場合、勘定日は１か月間となる。勘定日の初日を勘定日と呼び、次回の振替日の前日など再カットを行う期限を再カット期限と呼ぶ。
【００３５】
再カット期限を有する口座処理では、例えば、１０日を勘定日の初日としている場合、１０日には残高が不足し、一方、１１日には先日付での入金があるため決済可能であるとすると、１０日で取引の結果を未成立とした後に、１１日を勘定日として口座処理を行う。その後、１０日に入金がある場合には、１１日の口座処理ではなく、１０日の口座処理とすることが好ましい。例えば、融資の返済等で１１日を勘定日とすると延滞金が発生するような局面も想定されるため、先日付で成立している口座処理を、より前の勘定日へ前倒することが望ましい。
【００３６】
この前倒を行う例では、図１に示す勘定日別口座処理部８が、口座処理要求を実行した後に、当該実行対象の勘定日以後の日時を勘定日とする口座処理要求のうち決済済（取引の結果が成立）の口座処理要求を取り消すと共に、当該取り消した口座処理要求を前記実行対象の勘定日での口座処理要求として再実行する前倒制御機能１４を備えている。この前倒制御機能１４により、再カット期限（一定期間の勘定日）を有する口座処理を、口座残高の異動があった時に、決済可能なより前の勘定日での取引とすることができる。
【００３７】
図３は、図１に示す構成での口座情報の推移の一例を示す説明図である。図３中、「口座処理」（取引明細情報）は、取引の内容を示し、「残高（口座情報）」は、口座処理の結果を示す。演算日は、口座処理要求を実行する日である。勘定日は、取引を行うべき日で、自振通番は、自動振込や自動振替等の自振を個別に識別するための番号である。取引は、口座からの出金や、口座への入金などであり、取引種類にその具体的な取引内容が格納される。取引金額は自振等の金額であり、取引の結果は、その口座処理（取引）が成立したか否かを記録するものである。
【００３８】
まず、１０日の残高が３０，０００であるとする。１０日に、先日付である１１日を勘定日とする電気料引落（自振番号００１）が行われるとする。この場合、勘定日別口座処理部８は、まず、１１日の勘定日の直近の勘定日である１０日の残高に基づいて、１１日の残高を３０，０００とする。出金１０，０００は決済可能であるため、電気料引落による出金を成立させる。勘定日別口座情報格納部１０は、この１１日の残高を２０，０００とする。このとき、１０日の残高にはなんら変更がない。
【００３９】
続いて、１０日に、１２日を勘定日として振込による５０，０００の入金があるとする。勘定日別口座処理部８は、直近の勘定日である１１日の残高を１２日の残高として展開し、さらに５０，０００を加算する。この結果、１２日の残高は７０，０００となる。さらに、１０日当日にＡＴＭによる現金出金（支払）があるとする。１０日の残高は３０，０００であるため、２５，０００は出金可能であり、取引は成立する。１０日の残高は５，０００となる。勘定日別口座情報格納部１０は、１０日の残高が更新されたため、この２５，０００の出金を１１日及び１２日の残高へ反映させる。すると、１１日の残高が−５，０００となる。
【００４０】
先日付取消機能１２は、１１日の残高がマイナス（出金可能額よりも出金処理による取引金額が大きい）となったため、すでに成立している電気料引落による出金処理（自振番号００１）を取り消す。この取消により、電気料引落の取引の結果は未成立となる。取消金額は１０，０００であるため、これを加算して１１日の残高は５，０００となり、残高不足での出金という状態が解消された。１２日の残高は５５，０００となる。
【００４１】
勘定日を１１日（実際の勘定日の期間は契約による）とし、再カット期限を約定返済日の翌々々月とする融資の返済を口座振替で行う場合、１１日での決済が不能であると、１２日に決済を行う場合がある（再カット期限付きの出金処理）。例えば、図３に示す例では、１１日では決済不能であるため、１１日を勘定日とする融資返済は未成立となる。この例では、再カット期限内である１２日を勘定日とする決済が可能であるため、１２日を勘定日として口座振替を行う。約定返済日が１１日の融資返済を１２日に返済すると、融資返済の元金に対して延滞利息が発生する。ここでは、一日分の延滞利息は１０円として説明する。融資返済は成立し、１２日の残高は１４，９９０となる。
【００４２】
１０日に、１１日を勘定日とする振込による入金があると、まず、１１日の残高が６５，０００となる。これにより、１２日を勘定日として成立していた融資返済処理は、１１日にて決済可能となる。前倒制御機能１４は、１２日にて成立していた融資返済を取り消し、１１日の勘定日として再カットする。１２日の残高は、一旦４０，０１０の取り消しにより増加する。続いて、１１日での再カットの残高が反映されて、７５，０００となる。この前倒制御により、先日付の入金に応じて、延滞利息が発生する１２日での取引を取り消すことができる。また、１１日を勘定日とする電気料引落が未成立であったため、再カット機能は、当該電気料１０，０００を再カットする。１０日に実行した口座処理はこれが最終であり、このまま１１日を迎える。１１日になると、１０日の残高５，０００ではなく、１１日の残高１５，０００にアクセスする。この１５，０００の残高は、振込による入金と、融資の返済と、電気料の引落とが終了した残高である。このように、本実施形態では、バッチ処理と同様の結果をオンライン処理時間中に実行することができる。また、バッチ処理を行わずに２４時間連続してオンライン処理を稼働することができる。
【００４３】
図１乃至図３に示すように、先日付の取引をオンライン処理中に行い、勘定日別の残高を持ち、ＡＴＭ等による取引は当日の残高に基づいて処理を行うことにより、振替や振込等の事前にほぼ取引の内容が判明している口座処理を対象勘定日よりも前（過去）の日にて完結させることができる。これにより、振替等のバッチ処理を無くし、２４時間３６５日の連続稼働が可能となる。また、２４時間稼働としない場合であっても、夜間や早朝のバッチ処理が不要となるため、口座処理の運用コストを低下させ、かつ、夜間の短時間でのＣＰＵの処理能力を増加させるための投資を不要とする。また、顧客サービスという点からも、日付が変化した時には新たな残高に基づいて直ちに取引を開始することができるため、インターネットを介した取引等を２４時間連続してシームレスに行うことができる。
【００４４】
図４は、第１実施形態のハードウエア資源の構成例を示すブロック図である。図４に示す例では、先日付完結処理システムは、通信制御装置２８と、この通信制御装置２８等から入力される要求指令に従って口座処理をオンライン処理及びバッチ処理で行うＣＰＵ２０と、このＣＰＵ２０の主記憶２１と、図１に示す口座情報７や融資マスタＤＢ等を記憶するファイル記憶部２２と、ＣＰＵによって実行される各種プログラムを記憶するプログラム記憶部２３と、ＣＰＵ２０による口座処理や各種契約の登録等の実行結果をログとして記憶するログ記憶部２４と、外部から持ち込まれる持ち込み媒体２６を読み取る媒体読取部２５と、顧客に発送する帳票等を印刷する印刷部２７とを備えている。
【００４５】
図４に示す構成では、受信手段４は、通信制御装置２８と、所定のプログラムを実行するＣＰＵ２０と、媒体読取部２５によって実現される。通信制御装置２８は、内部（行内）ネットワーク３０と、対外ネットワーク３１と接続されている。各ネットワーク３０，３１は、物理的、論理的に多数のネットワークを含むようにしても良い。通信制御装置は、内部ネットワーク３０を介して、顧客とのオンライン取引に用いられるＣＤ／ＡＴＭ３３と、営業店内に配置され営業店の担当者によって操作される営業店端末３４と、顧客からの電話による取引を遂行するためのテレフォンバンキングセンタ３２と接続されている。
また、通信制御装置２８は、対外ネットワーク３１を介して他の金融機関との為替等の通信を制御する全銀センタ３５や、その他の外部センタ３６や、ファームバンキングを行う顧客のパーソナルコンピュータ等の顧客ＰＣ３７や、携帯電話等の顧客携帯端末３８と接続されている。
【００４６】
各端末３３，３４，３７，３８や、センタ３２，３５，３６等から、通信制御装置２８を介してＣＰＵ２０に入金要求や出金要求が入力される。全銀センタ３５は、全国銀行データ通信システムのセンタである。個人情報センタや、他行コンピュータセンタと接続されている。振込、送金等の為替取引を行う要求指令（電文）が送受信される。
外部センタ３６は、金融機関の業態別に構築された各種のネットワーク（地方銀行のＡＣＳ，都市銀行のＢＡＮＣＳ，全国キャッシュサービスのＭＩＣＳ等）のセンタや、ファームバンキング（ＦＢ）やエレクトロニックバンキング（ＥＢ）や、テレフォンバンキングに必要なデータの送受信を行うためのセンタ（例えば、ＡＮＳＥＲ）や、販売店のＰＯＳシステムやクレジットカード決済用の端末との通信を行うためのセンタ（例えば、ＣＡＦＩＳやＤＣＳ）である。この外部センタからは、通知、照会、資金移動など、金融機関窓口で可能な種々の取引を行う要求指令（電文）が入力される。
通信制御装置２８は、それぞれのプロトコルに従って要求指令を受信し、ＣＰＵ２０に入力する。ＣＰＵ２０は、各端末からそれぞれの形態で入力される要求指令を予め定められた形式の口座処理要求に変換して、口座処理を行うプログラムに引き渡す。
また、公共料金の振替等（外部自振）は、持ち込み媒体２６にて持ち込まれる。ＣＰＵ２０は、媒体読取部２５によって読み取られた外部自振原データと他のデータベース（ＤＢ）を用いて口座処理要求を生成する。
【００４７】
ＣＰＵ２０は、勘定日別の口座処理を行うための指令や、勘定日別の口座情報を格納するための指令や、融資契約を融資マスタＤＢに登録するための指令等の先日付完結処理用プログラムを実行することで、図１に示す勘定日別口座処理部８や、勘定日別口座情報格納部１０として動作する。これらのプログラムは、プログラム記憶部２３に格納される。また、基本的な入出力を行うオペレーティングシステムや、データベースの管理やログによる復帰や、トランザクションの管理（ここでは、トランザクション管理処理という）などを行うプログラム群についても、このプログラム記憶部２３に格納されている。
【００４８】
このような先日付完結処理用プログラムは、ＣＰＵ（演算手段）２０を動作させる指令を備える。例えば、演算日に対して先日付となる勘定日での出金を当該口座へ要求する出金要求（口座処理要求の一種）をＣＰＵ２０にて受信した場合に、当該出金要求の勘定日である対象勘定日の口座情報と当該対象勘定日より未来の先日付勘定日について予め処理された口座情報とを、前記ファイル６に格納された口座情報７に基づいて展開させる勘定日別口座情報展開指令を備えている。
【００４９】
先日付完結処理用プログラムは、さらに、勘定日別口座情報展開指令に応じて主記憶２１に展開された勘定日別の口座情報に基づいて、当該口座から出金可能な残高等の出金可能額を特定させると共に、当該出金可能額に応じて当該先日付出金要求を処理させる勘定日別口座処理指令を備えている。そして、この勘定日別口座処理指令は、当該出金要求について決済が可能である場合には当該処理後の残高を当該先日付となる勘定日の口座情報として前記ファイル６に格納させると共に、当該出金要求について決済不能である場合には当該出金要求を当該勘定日での出金の予定（未成立の出金処理）として前記口座情報に格納させる勘定日別口座情報格納指令を備えている。
【００５０】
また、先日付完結処理システムにて実現すべき各手段、各部又は各機能や、フローチャートの各工程に応じた指令を備えることで、ＣＰＵ２０は種々の機能を有する演算手段２として動作する。先日付完結処理用プログラムは、磁気テープ（ＭＴ）等の記録媒体に格納されて搬送され、媒体読取部２５によって読み取られる。記録媒体に格納されていた先日付完結処理用プログラムは、媒体読取部２５にて読み取られた後、プログラム記憶部２３に格納される。また、他のホスト装置から通信回線を経由してプログラム記憶部２３にプログラムを提供することもできる。
【００５１】
プログラムについて、ＣＰＵ（演算手段）２０を「動作させる指令」というときには、各指令のみでＣＰＵを動作させる指令と、プログラム記憶部２３に予め格納されているオペレーティングシステム等の他のプログラムに依存して当該ＣＰＵ２０を動作させる指令とのいずれかまたは双方を含む。例えば、図４に示す例では、勘定日別口座情報格納指令は、主記憶２１にて生成した勘定日別の口座情報をオペレーティングシステムに引き渡す指令のみでもよい。このように、当該先日付完結処理用プログラムを記憶する記録媒体であって、当該プログラムをユーザへ搬送する用途の記録媒体には、例えば「オペレーティングシステムに格納対象の主記憶上のエリア名を引渡す指令」のみが格納される場合がある。これは、動作させようとするコンピュータのオペレーティングシステム等との関係で定まる。この点、通信回線を介してプログラム（指令）を提供する場合も同様である。
【００５２】
次に、口座処理の処理工程を図５乃至図８を参照して説明する。図５は、図１及び図４に示す構成での口座処理の一例を示すフローチャートである。ここでは、処理を行う口座処理要求の勘定日を「対象勘定日」と呼ぶ。対象勘定日は、演算日と同日付であるか、または、演算日の翌営業日以降の先日付である。
【００５３】
また、図３に示す例では、通常の残高を口座情報としていたが、図５乃至図７で示す例では、担保となる定期がある場合に、その定期預金の額に応じた貸越極度額内にて口座に自動融資する例を説明する。担保定期が付されている口座では、残高と貸越極度額とを加算した出金可能額で口座処理の決済が可能であるか否かを判定する。。
【００５４】
図５に示す例では、演算手段２は、口座処理要求を受信すると（ステップＳ１）、まず対象勘定日と同日の残高があるか否かを確認し（ステップＳ２）、前記残高明細情報に記録された前記残高のうち、対象勘定日と同日の残高が記録されている場合には当該残高を対象勘定日の残高として特定する。一方、残高が残高明細情報に記録されていない場合には、対象勘定日より過去で直近の残高を対象勘定日の残高として特定する（ステップＳ３，残高展開工程）。そして、当該口座処理要求の対象勘定日の残高及び出金可能額と、当該対象勘定日より未来で先日付の勘定日の残高及び出金可能額とを主記憶２１に展開する（ステップＳ４，勘定日別口座情報展開工程）。続いて、対象勘定日の残高に基づいて、当該口座処理要求を処理する（ステップＳ５）。
続いて、当該対象勘定日の口座情報を更新する（ステップＳ６，対象勘定日処理工程）。すなわち、加算又は減算した処理後の残高を、前記対象勘定日の残高として前記残高明細情報に記録する。これにより、前記対象勘定日が先日付である場合には、前記対象勘定日の残高を当該先日付の残高として前記残高明細情報に記録される。そして、対象勘定日処理工程にて算出した対象勘定日の口座情報（取引金額）に基づいて、前記当該対象勘定日より未来で先日付の口座情報を更新する（ステップＳ７，勘定日別口座情報更新工程）。
さらに、出金処理によって先日付の残高が更新された際に、更新した各勘定日の出金可能額に基づいて、先日付の取消再カットの必要性の有無を判定する（ステップＳ８）。先日付取消又は再カットを行う場合には、当該勘定日の口座処理の取消や再カットや前倒制御を行う。これらの各工程により、図３に示す口座処理が行われる。
【００５５】
また、ステップＳ７及びＳ８にて、勘定日の出金可能額に基づいて、当該出金要求について決済が可能である場合には、当該処理後の残高を当該先日付となる勘定日の口座情報として前記ファイルに格納する。一方、出金要求について当該勘定日の出金可能額では決済不能である場合には当該出金要求を当該勘定日での出金の予定として前記口座情報に格納するために、当該出金処理の取引の結果を未成立にする（勘定日別口座情報格納工程）。
【００５６】
図６（Ａ）は口座処理の決済の可否と先日付処理の対応を示す図である。口座処理の入出金があり、口座残高に異動があると、残高不足で未成立であった口座処理が決済可能となる場合や、口座残高の異動により残不足となり決済不能となる場合がある。決済可能な場合には、勘定日を前倒する前倒再カット処理や、再カット処理を行う。一方、決済不能である場合には、先日付取消を行い、口座処理を未成立とする。未成立の口座処理は、入金待ちとなる。勘定日が満了するまで又は所定の入金待ち終了時刻に至ったときに決済不能である場合には、カードローンによる自動融資を行うようにしても良い。このカードローンによる自動融資は、担保定期による貸越極度内の自動融資と異なり、ローンの対象とする口座処理が限定され、かつ、勘定日の満了直前に入金が無い場合に自動融資するものである。
【００５７】
図６（Ｂ）は取消再カット判定用の日付チェックテーブルを示す図である。図５に示すステップＳ７にて、各勘定日での口座情報の更新が終了すると、図６（Ｂ）に示すような日付チェックテーブルが生成される。図６（Ｂ）に示す例では、２日を勘定日として未成立の口座処理（出金の予定）が存在し、その取引金額は出金可能額よりも小さいため、再カットが可能となる。また、３日の勘定日にて、出金可能額がマイナスとなっているため、その３日を勘定日とする口座処理の内一つ又は幾つかを取り消す必要がある。図５のステップＳ８では、このような先日付取消及び再カットの判定を行う。
【００５８】
図７は、図５に示す処理にて起動される取消再カットメイン処理の一例を示すフローチャートである。図５のステップＳ８にて取消再カットメイン処理が起動されると、ステップＳ７での勘定日別口座情報から、図６（Ｂ）に示す日付チェックテーブルを生成する（ステップＳ１１）。ファイル６中の口座情報７に取引の結果が未成立の出金処理が格納されている場合に、当該取引の結果が未成立の出金処理の勘定日での出金可能額を増加させる入金要求を受信したときには、まず、取引金額よりも出金可能額が大きい勘定日があるか否かを判定する（ステップＳ１２）。該当する勘定日がある場合には、当該出金処理を再カットする（ステップＳ１３，再カット処理工程）。続いて、この再カットの結果に基づいて各勘定日の残高を更新する（ステップＳ１４）。そして、未だ再カット可能な取引が残存している可能性があるため、取消再カットメイン処理を再度起動する（ステップＳ１５）。
【００５９】
再カットすべき口座処理要求が無い場合には、図６（Ｂ）に示す日付チェックテーブルを参照して出金可能額がマイナスとなっている勘定日の有無を探索する。すなわち、先日付の勘定日の出金可能額を減少させる出金要求が処理された場合に、当該出金要求の処理後の残高によって前記先日付の出金処理が決済不能となるか否かを判定する（ステップＳ１６，先日付処理確認工程）。該当する勘定日又は決済不能となる口座処理が無い場合には処理を完了する。一方、先日付処理確認工程Ｓ１６にて決済不能の口座処理が発見された場合には、当該発見した先日付での出金処理を出金不能として取り消す（ステップＳ１７，先日付取消処理工程）。そして、この先日付取消工程にて取り消された出金処理を当該勘定日での出金の予定として前記口座情報に格納する（ステップＳ１８，出金予定格納工程）。続いて、出金可能額がマイナスとなっている可能性があるため、取消再カット処理を再度起動し、先日付取消を行った後、出金可能額がマイナスとなっている勘定日がなくなるまで、前記出金処理に対して未成立であることを記録する工程と、前記先日付取消を行う工程とを繰り返す。
【００６０】
上述したように第１実施形態によると、先日付となる勘定日の口座処理を事前に完結させ、さらに口座の異動に応じて先日付取消や再カットを行うため、日付変更前後にバッチ処理等による振替等を行う必要がなくなり、日付変更前後であっても連続したオンライン処理を行うことができる。
【００６１】
【第２実施形態】
図８は、本発明の第２実施形態の構成例を示すブロック図である。第２実施形態では、翌営業日を勘定日とする口座処理要求の結果を、当日の口座残高で計算する。すなわち、先日付を翌営業日のみに限定し、翌営業日以降の日付を勘定日とする口座処理は未成立としておくか、または口座処理要求として入力しない。このような仕組みによっても、オンラインの２４時間連続稼働を低コストで実現することができる。
【００６２】
図８（Ａ）に示す例では、演算手段２が、当該演算を行う演算日に対して翌営業日となる勘定日での口座処理を演算日の口座残高に基づいて処理する翌営業日口座処理部４０と、この翌営業日口座処理部４０によって算出された翌営業日の口座残高を当該翌営業日口座処理部４０による処理後、翌営業日を迎えるまでに他の口座処理要求を受信しない場合の前記翌営業日の口座残高として前記ファイルに格納する翌営業日口座残高格納部４２とを備えている。
【００６３】
翌営業日の口座残高（出金可能額）は、翌営業日口座処理部４０による処理後、翌営業日を迎えるまでに他の口座処理要求を受信しない場合の、翌営業日の口座残高である。翌営業日口座処理部４０が当該口座について新たに口座処理を実行した場合には、その処理後、翌営業日を迎えるまでに他の口座処理要求を受信しない場合の前記翌営業日の口座残高をファイル７に格納する。動作原理は上述した第１実施形態と同様である。
【００６４】
図８に示す翌営業日残高格納部４０は、図１に示す勘定日別口座処理部８と同様に、当該翌営業日の口座残高が格納されていた場合には前記翌営業日口座処理部４０によって処理された新たな処理結果に応じて当該翌営業日の口座残高を更新する翌営業日口座残高更新機能４４を備える。これにより、当日の口座処理結果を翌営業日の口座処理結果へ反映させる。
【００６５】
図８（Ｂ）は第２実施形態での口座情報の推移例を示す説明図である。まず、当日の残高が５０，０００とする。ここで、先日付の出金３０，０００があると、当日残高を翌営業日の残高とし、出金処理を行い、翌営業日の残高を２０，０００とする。続いて、当日の入金があると、当日の残高を参照して、当日の残高を増加させる。翌営業日口座残高更新機能４４は、この増加分を翌営業日残高へ反映させる。そして、翌営業日への入金があると、翌営業日の残高を５０，０００へ増加させる。
【００６６】
上述したように第２実施形態によると、翌営業日を先日付として事前に口座処理を実行し、当日の残高と翌営業日の残高とを別途有するため、日付変更時になんら処理を行うことなく振替や振込等の処理を実行することができ、これにより、口座振替等のバッチ処理を無くすことができる。
【００６７】
【実施例】
以下、本発明の実施例を、図面を参照して説明する。本実施例では、まず、外部から持ち込まれる自振データと、内部から発生する自振データと、通常のオンライン処理とを並列して処理するのに好適な構成を開示する。また、口座情報として、取引の内容を示す取引明細セグメントと、残高及び貸越極度額を勘定日別に保持する残高明細セグメントとを用いて口座処理を行う例を開示する。
【００６８】
図９は、本実施例の構成例を示すブロック図である。基本的な構成は、図１や図４に示す構成と同様である。図９に示す例では、外部自振と内部自振を口座処理要求として演算手段で実行するために一般的に必要となるデータベース（ＤＢ）等が付加されている。図９に示す例では、先日付完結処理システムは、外部自振に関連して、媒体２６や顧客端末３７，３８等から、公共料金の自動振替等の出金や給与振込等の入金等の外部自振原データ１０１を読み出すと共に、当該自動振替の受託及び自振契約内容等を管理する外部自振関連ＤＢ１０２に格納されたデータを、当該外部自振原データ１０１に付加する外部自振データ生成手段１００を備えている。外部自振データ生成手段１００は、外部自振関連ＤＢ１０２に格納されている委託者（振替等の委託者）に関する情報や、自振契約者（振替を口座で行う口座の名義人）に関する情報を使用して、外部自振データを生成する。
【００６９】
また、本実施例による先日付完結処理システムは、内部自振に関連して、自動積立や融資返済等の特約による処理及び定期の自動更新等の期日毎の処理を管理する内部自振管理ＤＢ１１１から処理対象日となる先日付の勘定日を有する口座処理要求を抽出する内部自振データ抽出手段１１０を備えている。外部自振データと、内部自振データとは、それぞれ自振入力ファイル生成手段１２０に入力される。
【００７０】
本実施例による先日付完結処理システムは、さらに、各自振データでの口座処理の対象となる口座情報を管理する預金マスタＤＢ１６０と、前記融資内容等を管理する各種内部マスタＤＢ１１２とを備えている。各種内部マスタＤＢ１１２は、例えば、口座処理による融資の返済結果などの内部自振の処理結果に関する情報が格納されるマスタＤＢである。
【００７１】
預金マスタＤＢ１６０は、上述した実施形態での口座情報７を有するファイル６を備える。この預金マスタＤＢ１６０のファイル６は、口座情報７として、本実施例では、演算された口座処理要求の対象勘定日と、前記取引種類と、出金額又は入金額である取引金額とを、口座処理要求の取引日である勘定日別で当該口座処理毎に記録する取引明細セグメント（取引明細情報，（図１３参照））と、口座毎の残高明細として口座処理のあった勘定日の残高及び貸越極度額を、前記各口座処理の勘定日毎に記録する残高明細セグメント（残高明細情報，（図１４参照））とを備えている。また、担保定期等自動融資の貸越極度額を定める担保定期預金の額等を記憶する担保明細セグメントを備えるようにしても良い。
【００７２】
本実施例による先日付完結処理システムは、また、内部自振データ抽出手段１１０によって抽出された内部自振データと前記外部自振データ生成手段１００によって読み出された外部自振データとをそれぞれ編集すると共に１又は複数の口座処理要求からなるセンターカット電文を蓄積した自振入力ファイルを生成する自振入力ファイル生成手段１２０を備えている。自振入力ファイル生成手段１２０は、各自振データを編集して、口座処理要求を生成し、さらに、必要に応じて複数の口座処理要求を一つの電文へブロッキングしたり、電文の並べ替え等を行う。
【００７３】
本実施例による先日付完結処理システムは、さらに、各口座に対する各種入出金等の口座処理の取引種類と、当該口座処理の取引日となる対象勘定日と、入金額又は出金額である取引金額とを有する口座処理要求を演算する演算手段１４０を備えている。本実施例による先日付完結処理システムは、演算手段１４０へ前記自振入力ファイル生成手段１２０によって生成されたセンターカット電文を入力するセンターカット電文入力手段１３０とを備えると良い。
【００７４】
演算手段１４０は、例えば図１に示す演算手段２とほぼ同様の機能を有する。図９に示す例では、演算手段１４０は、前記センターカット電文入力手段１３０から入力されるセンターカット電文の口座処理要求を当該対象勘定日と同日付又は過去で直近の残高（残高明細セグメントに記録された残高）に基づいて処理する勘定日別口座処理部１５０と、この勘定日別口座処理部１５０によって処理された処理後の残高を当該口座処理要求の勘定日での残高明細として残高明細セグメントに記録させる勘定日別残高格納部１４２と、前記勘定日別口座処理部１５０によって処理された取引の結果（口座処理要求の成立又は未成立）を当該口座処理要求の取引種類に応じて、先日付での取引の結果として前記外部自振原データ１０１又は各種内部マスタ１１２に格納する処理結果格納部１４４とを備えている。勘定日別残高格納部１４２は、新たに格納した残高（取引金額）に基づいて当該残高の日付より後の先日付の残高明細セグメントを更新する勘定日別残高更新処理機能を備える。
【００７５】
また、演算手段１４０は、ＡＴＭ等からの口座処理要求に応答するオンライン応答処理部１４６を備えるようにしてもよい。
【００７６】
勘定日別口座処理部１５０と、勘定日別残高格納部１４２は、それぞれ図１に示した構成とほぼ同一の機能を果たす。処理結果格納部１４４は、取引の結果を外部自振原データや各種内部マスタへ更新する。処理結果格納部１４４は、先日付での取引の結果を格納するため、当該口座処理が先日付取消や再カットされた場合には、新たな取引の結果を外部自振原データや各種内部マスタへ逐次格納する。例えば、外部自振の場合には処理不能の場合にのみ逐次外部自振原データに取引が未成立であるとする取引の結果を格納する。このような構成では、先日付である勘定日が満了したときに、外部自振原データ１０１や各種内部マスタへの取引の結果の記録は既に完結している。
【００７７】
通信制御装置２８や各ネットワーク３０，３１等は、図４に示す構成と同様である。
【００７８】
図９に示す例では、外部自振データと内部自振データをそれぞれ生成又は抽出しておき、自振入力ファイル生成手段１２０が、これらの自振データから自振入力ファイルを生成する。この自振入力ファイルのデータ構造を予め定められた書式としておくことで、外部自振と内部自振とを並行又は連続して実行することができる。
【００７９】
また、勘定日別口座処理部１５０が、前記口座処理要求の種別に応じて各ＤＢを参照して口座処理内容を算出するセンターカット時参照機能１５１を備えるようにしても良い。この場合、定期の利率や融資の延滞金の額やカードローン自動融資額などを、口座処理時に確定し、処理する。センターカット時参照機能１５１により、最新の情報に基づいた先日付処理が可能となり、また、口座処理要求の書式や、口座処理要求の実行プログラムや、自振入力ファイル生成手段の構成を簡略化することができる。
【００８０】
図１０は、図９に示す構成で使用するデータベースの種類を示す説明図である。自振のタイプとして、勘定日をキーとして口座処理要求を読み出すタイプと、勘定日の特定時刻をキーとして実行するタイプとがある。通常の外部自振や内部自振は、勘定日をキーとする口座処理である。外部からの持ち込み媒体による口座振替や、顧客ＰＣ３４等の操作に応じた振込や振替は、自振原データファイルに格納される。融資の約定返済日を勘定日とする口座振替での返済や、自動的な定期化サービスなどによる定期預金への入金などは、内部の各種ＤＢへの登録データに基づいて口座処理要求が抽出される。
【００８１】
融資の返済や、積立や、自動定期化サービスなどは、特約管理ＤＢのファイルへ蓄積された情報に基づいて内部自振データが抽出される。定期の期間が満了したときに自動継続するための口座処理などについては、期日管理ＤＢのファイルに蓄積された情報に基づいて内部自振データが抽出される。
【００８２】
勘定日の特定時刻をキーとする自振としては、例えば手形小切手の資金化や、カードローンの自動融資などがある。また、自動定期化サービスを実行するために、先日付で普通預金口座からの出金と定期預金口座への入金を処理した後に、当該勘定日の満了前に金額の変更等が行われることもある。この場合、営業店の端末のオペレーションにより、既に実行した関連する口座処理の取消と、新たな契約での口座処理の実行を行う。このような勘定日又はその直前での変更による口座処理要求は、追い上げ分ＤＢのファイルに登録される。
【００８３】
本実施例では、取引の内容に応じて各種のデータやデータベースを使い分けているが、図９に示すように、これらを一定の形式の口座処理要求に編集した後に、演算手段１４０へ入力する。
【００８４】
図１１は、図９に示す自振入力ファイル生成手段及び演算手段１４０の詳細構成を示すブロック図である。自振入力ファイル生成手段１２０は、演算日よりも先日付となる多数の口座処理要求のうち入金要求を出金要求に先立って処理させる入金要求優先部１２１を備えるとよい。この入金要求処理優先部１２１を備える例では、図５に示す処理との関係では、勘定日よりも先日付となる口座処理要求が多数ある場合には前記入金要求を前記出金要求に先立って処理させる設定をする処理順序設定工程を備えると良い。
【００８５】
入金要求優先部１２１によって入金要求が先に処理されると、取消が生じる可能性が低くなる。このため、例えば給与振込を行う場合には、各口座への先日付での振込処理を先に行う。そして、振込を行った総額を振出人の口座から引き落とす先日付処理を行う。同様に、先日付処理では、振込についても振込側口座の出金と、被振込側の口座への入金を同時に完了させる必要がない。すなわち、振込による入金を先日付で行い、その後振込側口座での出金が不能となっても、当該振込の勘定日が到来するまでの間に、入金処理の取消を行うことができる。
【００８６】
また、自振入力ファイル生成手段１２０は、複数のセンターカット電文を当該口座処理要求の種別に応じて予め定められた順序に並べ替える種別ソート部１２２を備えると良い。この場合、例えば入金処理要求を出金処理要求より先に処理したり、ある種類の口座処理の終了後に行うべき他の種類の口座処理について、その順序を適正にしてセンターカット電文入力手段１３０へ入力することができる。
【００８７】
さらに、センターカット電文入力手段１３０は、複数のセンターカット電文をランダムに並べ替えるランダムソート部１２３を備えるようにしても良い。これは、預金マスタＤＢへのアクセスが特定の領域に集中することによるスループットの低下の防止を図ったり、また、残高が不足している状態が数ヶ月連続する場合に、引落不能となる口座処理の種類を一定としないように作用する。
【００８８】
図１１に示す例では、図９に示す勘定日別口座処理部１５０が、前記勘定日別残高格納部１４２による残高明細セグメントの更新によって出金可能額に異動があった場合には、当該異動のあった勘定日及び当該勘定日より未来の勘定日の一又は複数の口座処理について、前記勘定日までその後に出金可能額の異動がないとした前提で、前記一又は複数の口座処理を取消又は再カットする取消再カット処理機能１５２を備えている。これにより、残高が先日付にて仮想的に不足する場合であっても、先日付完結処理を良好に行う。
【００８９】
また、勘定日別口座処理部１５０は、前記先日付となる複数の勘定日のうち現在に近い勘定日の口座処理要求を実行した後に当該実行した口座処理要求の勘定日よりも未来の勘定日にて成立している口座処理を取消対象に設定する前倒用取消制御機能１５３を備える。これにより、最適な勘定日での口座処理を行う。
【００９０】
図１２（Ａ）は、図９に示す構成に再カット管理ＤＢを付加した構成例を示す図である。再カット管理ＤＢは、図１０に示すように、時刻をトリガとして実行する自振データを管理するデータベースである。図１２に示す例では、先日付完結処理システムは、勘定日の予め定められた時刻以後に処理する口座処理を管理する再カット管理ＤＢ１１２と、この再カット管理ＤＢ１１２に管理される口座処理要求のうち対象勘定日が当日である口座処理要求を口座処理要求の取引種類に応じて予め定められた時刻以後に抽出すると共に当該抽出した口座処理要求を前記自振入力ファイル生成手段１２０へ入力する時刻依存処理抽出部１１３とを備えてもよい。
【００９１】
時刻依存処理抽出部１１３は、例えば、未成立の口座処理がある場合に、入金される可能性が低くなったか、又は無くなった段階でカードローンによる自動融資を行う場合などに用いる。この例では、預金マスタＤＢ１６０が、勘定日での取引が不能である場合に当該不能となった取引明細と当該取引を行う期限となる再カット期限とを格納する残不足明細セグメントを備える。そして、再カット管理ＤＢ１１２が、当該残不足明細セグメントを有し、かつ、カードローンの実行等の未入金時処理が設定されている口座に対する未入金時処理を口座処理要求として記憶する。このため、時刻依存処理抽出部１１３は、手動コマンドの入力や、所定時刻となった時に、未入金時処理を行う口座処理要求を再カット管理ＤＢから抽出する。
【００９２】
手形や小切手等については、不渡通知がないことを条件として出金可能な残高に組み込むことが行われている。この場合、預金マスタＤＢ１６０の残高明細セグメントが、図１２（Ｂ）に示すように、勘定日を資金化日とする口座処理要求に応じて、当該資金化日の資金化を予定する未資金化残データと、出金可能な残高を示す実残データとを備える。そして、再カット管理ＤＢ１１２は、未資金化残データを残高明細セグメントに有する口座に対する不渡連絡時刻後の資金化処理を口座処理要求として記憶している。
【００９３】
図１２（Ｂ）を参照すると、１０日を資金化日とする小切手による入金１００，０００が既に先日付のセンターカットで残高明細に反映されているとする。この１００，０００をそのまま実際の残高である実残に加算してしまうと、現金出金後に不渡連絡を受信する可能性に対応できなくなる。このため、資金化日である１０日には、１００，０００を未資金化残として残高明細に格納する。一方、先日付である１１日については、不渡連絡を待たずに実残に組み込んでいる。これは、１１日は先日付であるため、仮に資金化が不能となった場合に資金化処理を取り消せば良く、また、１１日を勘定日とする残高は、１０日に現金出金することもできず、さらに、一般的には不渡通知を受信せず、正常に資金化できる可能性が高く、その場合、先日付の出金などが未成立とならない可能性が高まることによる。実際、１０日の不渡連絡の受信前に先日付での振替で２５０，０００の出金がある場合には、５０，０００の残高とし、未成立の口座処理による取消や再カット処理の発生を防止することができる。
【００９４】
資金化日である１０日の１１：３０までに不渡連絡がなかった場合には、再カット管理ＤＢから読み出した資金化処理を実行し、未資金化残を実残に組み込む。一方、不渡連絡を受けた場合には、資金化を行わず、また、１１日を勘定日とする残高についても１００，０００減少させる。この場合、２５０，０００の出金については、１１日を勘定日とする出金可能額がマイナスとなることで、取り消される。
【００９５】
図１３及び図１４は、図９に示す構成で使用する取引明細セグメント等の例を示す説明図である。図１３及び図１４に示す例では、預金マスタＤＢ１６０（ファイル６）が前記口座情報７として、上述した取引明細セグメントと、残高明細セグメントと、残不足明細セグメントとを備えている。また、担保定期等など自動融資の貸越極度額を算出するための取引種類と担保金額とを記録する担保明細セグメントを備えている。
【００９６】
残不足明細セグメントは、勘定日データと、残不足となった口座処理要求の内容を記録した残不足取引明細データと、当該取引が不能であった場合に口座処理要求を再実行する実行期限を示す再カット期限データとを備えている。
【００９７】
残高明細セグメントは、演算手段１４０によって演算日と同日付又は先日付の勘定日毎の残高の確定に用いられると共に、口座処理要求の処理に応じて各勘定日毎に更新される。そして、当該更新後に先日付取引が決済不能な残高となるか否かに応じて演算手段１４０による先日付の口座処理要求の取消処理の起動判定に用いられる。
【００９８】
また、残不足明細セグメントは、演算手段１４０によって勘定日の口座残高を増加させる口座処理要求が実行された後で、当該演算手段１４０による演算日が再カット期限を経過していない場合に参照され、当該増加した残高が前記残不足取引明細データでの取引額より大きい場合に演算手段１４０による再カット処理を起動させる。
【００９９】
この取引明細、残高明細及び残不足明細による口座の推移データがあると、日付変更処理や取消再カット処理が容易となる。このデータ構造での口座の推移データを、ここでは先日付完結処理用データと呼ぶ。
【０１００】
図１３及び図１４を参照すると、繰り越した担保金額が５０，０００（図１３のセル０Ｊ）で、この場合の貸越極度額は９割の４５，０００（図１４の０Ｌ）となる。繰越残高は５０，０００であり、その合計額が出金可能額９５，０００である。出金可能額は、残高明細セグメント自体に含めず、口座処理時に算出するようにしても良い。ここでは、理解を容易とするために、融資返済についての延滞利息を含めずに説明する。
【０１０１】
まず、１日に、勘定日を２日とする融資返済のための出金１０８，０００（図１３の１Ｅ）を口座処理として実行する。この場合、出金可能額よりも取引金額が大きいため、決済不能となる。勘定日別口座処理部１５０は、残不足明細セグメントに当該取引金額と再カット期限とを記録する。取引の結果は極度超で未成立である。続いて、自動定期化サービスによる担保定期の入金１０，０００（２Ｅ）があるとする。出金可能額は９５，０００であるからこの口座処理は成立し、担保が６０，０００となる（２Ｊ）。担保金額が増額したため、極度の増額（３Ｄ）があり、貸越極度額は２日を勘定日として５４，０００となる。この場合、１日の貸越極度額に変更はない。
【０１０２】
１日に、３日を勘定日とする振込による入金１５０，０００があると、融資返済を３日にて決済可能となるため、再カットを行う（５Ｃ）。続いて、ＡＴＭによる現金出金７０，０００があるとする。１日の出金可能額は９５，０００であるため、口座処理は成立し、１日の残高はマイナス２０，０００（図１４の７Ｋ）となる。この１日の残高が更新されたため、勘定日別残高格納部１４２は、２日及び３日の残高明細セグメントを更新する。いずれの勘定日も出金可能額がマイナスとなっていないため、取消処理は行わない。
【０１０３】
さらに、２日を勘定日とする振込による入金１３０，０００があったとする。２日の残高が更新され、出金可能額は１５４，０００（図１４の８Ｐ）となる。すると、３日を勘定日として成立していた融資返済を、２日にて決済することができる。このため、３日を勘定日とする前倒取消と、２日を勘定日とする前倒再カットを行う。前倒再カットは、当該出金処理について、当該特定した対象勘定日（３日）より勘定日初日に近い日付（２日）の出金可能額と当該再カット期限付きの出金処理の取引金額とを比較して、比較の結果、当該取引金額が前記勘定日初日に近い日付（２日）の出金可能額以下で決済可能である場合に、当該勘定日初日に近い日付（２日）を新たな対象勘定日とする出金処理を実行する。
【０１０４】
この状態で、１日を演算日とする全ての口座処理が完了し、２日を迎える。１日の最終残高は−２０，０００であり、この残高と、２日に先日付で入金された金額とに基づいて、融資返済担保定期入金が完結し、残高は−８，０００となる。
【０１０５】
２日に３日を勘定日とするクレジット振替があるとすると、３日の出金可能額は１９６，０００であるため、この取引は成立する。続いて、２日に、当日勘定のＡＴＭによる現金出金４０，０００があるとする。２日の出金可能額は４６，０００（１０Ｐ）であるためこの取引は成立し、２日の残高は−４８，０００となる。この２日の残高を３日に反映すると、出金可能額が−４，０００（１２Ｓ）となる（図２２に示すように、取消必要額が４，０００となる）。出金可能額がマイナスであるため、３日を勘定日とする出金の口座処理の取消を行う。３日の出金はクレジット振替（１１Ｄ）であるため、この出金を取り消す（１３Ｃ）。
【０１０６】
この状態で３日を迎えたとする。３日を勘定日とする入金は完結しているが、クレジット振替が未成立で残っている。３日になんら口座処理が無いとすると、カードローン自動融資対象先を再カット管理ＤＢから抽出し、実行する。カードローン自動融資を例えば出金可能額を０円とする最少額の貸出とすると、センターカット時参照機能１５１により、口座処理の実行時に自動融資額を算出し、４，０００とする。これを入金し、クレジット振替が成立する。センターカット時参照機能１５１を用いると、再カット管理ＤＢには自動融資額を格納しておく必要がなくなる。
【０１０７】
上述したように本実施例によると、図１３及び図１４に示すように、種々の口座処理が幾つかの勘定日について予め予測できない順序で実行されたとしても、図９等に示す構成により、勘定日別の残高セグメントを用いて管理することで、個々の口座処理を厳格に実行することができる。また、顧客からの取引照会や異動照会については、取引明細中の当日までに成立し、確定した取引のみを対象とすると、先日付の取引や取り消した取引は顧客に通知されない。すなわち、取引明細セグメントを用いることで、取り消した取引が通帳記帳されたり、ファームバンキング（ＦＢ）の会計情報サービスで連絡されることを防止できる。
【０１０８】
続いて、本実施例にてオペコードテーブルを用いてオンラインによる口座処理と自振用の口座処理を並列処理する手法を説明する。
【０１０９】
図１５は本実施例による先日付完結処理システムの構成例を示すブロック図である。図１５に示す例では、先日付完結処理システムは、公共料金の自動振替等の外部自振と自動積立等の内部自振とを予め定められた自振データへ編集すると共に、当該自振の種類に応じたオペコードを含む自振入力データを口座処理要求として生成する自振入力ファイル生成手段１２０と、ＣＤ／ＡＴＭ３３の端末との口座処理要求に応答する演算手段１４０と、この演算手段１４０へ前記自振入力ファイル生成手段１２０によって生成された自振入力データを入力するセンターカット電文入力手段１３０とを備えている。
【０１１０】
本実施例による先日付完結処理システムは、さらに、オンラインの口座処理要求及び自振データによる口座処理要求の全部又は一部を処理するサブプログラムデータを複数記憶したプログラム記憶手段１７０と、前記口座処理要求の実行時に使用するサブプログラム名及びサブプログラムの実行順序が前記口座処理要求の取引種類を示すオペコード別に格納されたオペコードテーブルを記憶したオペコードテーブル記憶手段１７１とを備えている。
オペコードは、例えば数値列で、普通預金入金や、定期入金の取消など、口座処理要求の取引種類を表すコードである。本実施例では、このオペコードと、勘定日や取引金額の組み合わせが、口座処理要求である。すなわち、口座処理要求は、口座処理の取引種類を特定するオペコードを有する。
【０１１１】
そして、サブプログラムがそれぞれ、前記オンラインの口座処理要求及び前記自振入力データによる口座処理要求に共通した処理を実行させる共通指令と、当該サブプログラムの起動形態に応じた当該サブプログラムの戻り又は他のサブプログラムの起動を行う処理を実行させる戻り／起動指令とを備えている。
【０１１２】
さらに、プログラム記憶手段１７０は、前記サブプログラムの実行中に起動され、当該口座処理後に当該口座に対する口座処理がないと仮定した場合の先日付となる勘定日での口座状態を生成するために、先日付取消又は再カットする口座処理を特定する取消再カットメイン処理用プログラムを記憶している。
【０１１３】
図１６はオペコードテーブルの一例を示す説明図である。オペコードテーブルは、口座処理の業務別に定義すると良い。例えば、普通預金口座から出金し、定期預金に入金する場合、定期預金への入金を起動処理、普通預金の出金を受動処理と考える。起動処理と受動処理とは双方が成立するか、又は双方が中止するかのいずれかであり、一方のみ成立させることのないように処理する。起動処理としては、公共料金の引落等の外部自振や、融資や、定期や、定積に関する口座処理がある。これらの起動処理と連動して処理される受動処理の例としては、普通預金や、当座預金や、情報登録等の口座処理がある。
すなわち、外部自振（口座振替）や融資返済などの口座処理の起動側の業務処理を起動処理とし、残高明細セグメント等を管理する受動側の業務処理を受動処理としている。
図１６に示す例では、口座処理を受動処理と起動処理とに分け、さらにそれぞれの業務毎にオペコードテーブルを作成している。すなわち、業務別オペコードテーブルは、口座処理の取引種類を特定するオペコードと当該オペコードで特定される前記口座処理の処理に使用するサブプログラム名及び実行順序との関係を格納する。
【０１１４】
図１７は、オペコードテーブルの内容の一例を示す説明図である。図１７は、普通預金のオペコードテーブルである。普通預金出金のオペコードが、「０１００１」であるとする。オペコードテーブルには、このオペコードの動作環境指定が記述されている。例えば、普通預金の出金は、土曜日にも動作し、先日付処理を行うセンター一括も行う。一方、動作のための個別の承認処理は不要である。好ましい実施例では、ある口座処理要求の取消を行うための口座処理要求を、元の口座処理要求のオペコードに一定数を加えることとするとよい。例えば、取消のために５００を加算することとすると、普通預金出金のオペコードが０１００１である場合に、普通預金出金の取消オペコードは０１５０１となる。
【０１１５】
オペコードテーブルは、各オペコードで指定される口座処理要求が予め定められた動作環境以外で動作することを防止する。例えば、何らかの不具合でセンター一括処理で行わないオペコードがセンター一括処理として入力された場合であっても、このオペコードテーブルの動作環境指定を参照することで、演算手段１４０はエラー出力することができる。
【０１１６】
普通預金の出金（オペコード０１００１）を例として考えると、ＡＴＭからオンライン処理として実行される場合と、外部自振や定期入金等の先日付処理で実行される場合とでは処理内容の詳細が一致しない場合がある。一方、普通預金の出金であれば、どの起動形態でも共通している処理も存在する。また、勘定日及び勘定日より未来の先日付の残高を主記憶に展開する処理などは、普通預金の入金及び出金で共通する処理となる。これらの口座処理とプログラムの関係を、本実施例では、図１７に示すオペコード別のプログラムリストで調整する。
【０１１７】
プログラムの起動形態としては、Ｂ：営業店端末３４やＡＴＭ３３等の端末からその口座処理要求（オペコード）が初回に入力された場合と、Ｃ：同様の端末から連続して同一の口座処理要求が入力される場合と、Ｄ：定期の入金に対する普通預金の出金など、受動処理として単一のトランザクションの一部として起動される「被連動」の場合と、Ｅ：先日付処理にて普通預金の入金等の残高に異動があった場合の取消や再カット等を行うために、入金等のトランザクションとは異なる他のトランザクションとして起動される「被派生」とがある。
【０１１８】
前記演算手段１４０は、口座処理要求が入力された時に当該口座処理要求のオペコードに基づいて前記オペコードテーブルを特定する機能と、特定されたオペコードテーブルにて指定される順序で前記サブプログラムを単一のトランザクションとして実行する機能（トランザクション管理処理）とを備えている。例えば、図１６に示す例では、オペコード０１００１で特定される口座処理要求がセンター一括にて起動された場合には、トランザクション管理処理は、サブプログラム１０，１１，１２をこの順で一つのトランザクションとして実行する。
このように、業務別オペコードテーブルは、口座処理の起動側である起動処理と、口座処理の受動側であり残高明細セグメント等を管理する受動処理とに分けて、かつ、当該口座処理要求を処理するトランザクションの起動態様毎に、使用するサブプログラム名及び実行順序を格納している。
【０１１９】
本実施例では、２種類のトランザクションの起動手法を使い分けている。一つは連動取引（連動トランザクション、連鎖トランザクション）であり、もう一つは派生取引（非連鎖トランザクション）である。連動取引は、例えば、自動定期化を行うために、普通預金口座から出金して、定期預金口座に入金する場合、普通預金口座からの出金を行うトランザクションと定期預金口座に入金するトランザクションとを連動（chain）させ、一つのトランザクションとして管理する手法である。すなわち、連動取引（連動トランザクション）は、１トランザクションである。連動取引は、一般的に、連動回数に制限があるほか、一つのトランザクションとして実行するため、連動すべき取引数（連動トランザクションに含まれるトランザクションの数）が多数になる場合には、オンライン取引（オンラインの口座処理）の応答時間を一定時間以内とすることができなくなる。
【０１２０】
派生取引は、一つのトランザクションを終了させ、そのトランザクションとは異なる他のトランザクションを派生させるものである。
このように、演算手段１４０は、トランザクションの起動態様としては、起動処理と受動処理とを一つのトランザクションとして連動させる連動トランザクションと、前記派生トランザクションとを管理している。
派生取引（非連鎖トランザクション、派生トランザクション）には取扱困難な部分もあるが、本実施例によると、一つの入金処理に対して数百の再カット処理が行われることも想定でき、このように同一口座に対する口座処理の数が多数となる場合には、連動取引にて先日付取消及び再カットを処理するには限界がある。
【０１２１】
このため、図１５に示す例では、演算手段１４０が、トランザクション管理処理として、各トランザクションのサブプログラムの実行と並列して、当該サブプログラムにて起動指示される他のサブプログラムを同一又は他のトランザクションとして実行する機能（管理処理）と、オペコードテーブルにて特定された単一のトランザクションの正常終了後に当該サブプログラムでの指令（起動指示）に応じて前記取消再カットメイン処理用プログラムを他のトランザクションとして実行する機能（管理処理）とを備えている。
【０１２２】
同一のトランザクションとして他のサブプログラムを起動するのは、連動取引である。他のトランザクションとして他のサブプログラムを起動するのは、派生取引である。例えば、ＡＴＭを用いて普通預金口座からの出金により定期預金の作成や振込を行う場合には、普通預金口座の出金処理と連動して定期預金への入金や振込を行う。一方、ＡＴＭから入金があったときに、先日付の取引の再カットや前倒制御を行うのは、派生取引（派生トランザクション）で行う。ＡＴＭから入金があると、入金処理をするためのサブプログラム群が一つのトランザクションとして動作し、最後に取消再カットメイン処理用プログラムを派生取引として起動する。派生取引を起動した入金処理のトランザクションは終了し、当日の残高を印字等して処理を終了する。この残高の印字等と並行して、取消再カットメイン処理が被派生のサブプログラムとして実行される。入金により再カットすべき口座処理が発見されると（図１９ステップＡ１８）、その口座処理の再カット処理を再度派生取引（派生トランザクション）として起動する。当該再カット処理が終了すると、他に再カット可能な口座処理が無いかどうかを確認するため、さらに、取消再カットメイン処理が派生取引として起動される。取消再カットメイン処理は、取り消すべき口座処理や、再カット可能な口座処理が無くなるまで、繰り返し派生により起動される。
口座残高の異動があった場合には、この取消再カットメイン処理用プログラムを動作させることで、その口座処理より後に口座処理がなかったと仮定した場合の先日付の口座処理を整理し、完結させることができる。
【０１２３】
本実施例では、内部自振及び外部自振を行うためにセンターカット電文に含まれる口座処理要求は、図１６に示す起動処理である。起動処理が演算手段１４０にて実行されると、その実行中に対応する受動処理を連動にて起動する。例えば、融資の返済のための口座処理実行中に、当該融資返済の対象となる普通預金の出金処理を連動で起動する。受動処理の終了時には、取消再カットメイン処理が派生にて起動される。取消再カットメイン処理は、取り消すべき口座処理又は再カットすべき口座処理を探索する。探索対象の口座処理は、起動処理である。取消再カットメイン処理は、例えば定積入金の取消を派生トランザクションにて起動する。この定積入金は、対応する受動処理を連動で起動する。そして、受動処理は、再度取消再カットメイン処理を派生で起動する。
【０１２４】
以下、具体的な処理例を説明する。図１８は、残高明細更新処理（サブプログラム）の一例を示すフローチャートである。この残高明細更新は、種々の口座処理要求にて用いるため、一つのサブプログラムとしている。まず、残高明細更新要求を受信する。この残高明細更新処理は、例えば、口座処理要求が成立して口座残高に異動が生じた場合に起動される。続いて、ファイル６又は預金マスタＤＢ１６０から、残高明細セグメントを読み出す（ステップＡ２）。そして、勘定日の古い順に残高明細を展開する（ステップＡ３）。口座処理要求の勘定日の残高明細があるか否かを確認する（ステップＡ４）。当該勘定日の残高明細が無い場合には、勘定日当日分の残高明細エリアを作成する（ステップＡ５）。続いて、勘定日当日以降の各種残高を更新する（ステップＡ６）。さらに、更新した残高明細セグメントを預金マスタＤＢ１６０へ更新する。そして、起動形態に応じて業務メイン等に戻る処理を行う。
【０１２５】
図１９は、通常入金処理の一例を示すフローチャートである。まず、営業店端末や、ＡＴＭや、例えば振込を行うトランザクションなどから、入金要求を受信する（ステップＡ１１）。続いて、この入金要求のフォーマットや、入金対象の口座の有無や状態を確認し（ステップＡ１２）、異常があればエラー処理を行う。正常であれば、入金の取引明細を作成する（ステップＡ１４）。続いて、図１９に示す残高明細更新処理を実行する（ステップＡ１５）。残高明細の更新が正常に終了すると、入金の取引ログを出力する（ステップＡ１６）。この取引ログは、種々の帳票の印刷や、また、管理用のデータベースの構築（ディレード処理）等に用いられる。そして、金融機関側の会計を管理する日計を更新する（ステップＡ１７）。さらに、未成立の取引の有無をチェックする（ステップＡ１８）。例えば、残不足明細の有無をチェックする。未成立の取引がある場合には、取消再カットメイン処理を派生取引として起動する（ステップＡ１９）。取消再カットメイン処理の処理終了を待たずに、通常入金処理は終了する。
残高明細の更新処理Ａ１５や、日計の更新Ａ１７等は、種々の口座処理で共通するため、オペコードテーブルのプログラムリストを用いて同一のプログラムを各種の口座処理に流用すると良い。
【０１２６】
図２０は、通常出金処理の処理例を示すフローチャートである。ＡＴＭや、口座振替を行う口座処理要求などから出金要求を受信すると（ステップＡ２０）、フォーマット及び口座のチェックを行う（ステップＡ２１）。口座が取引停止等の場合には、それに応じたエラー処理を行う（ステップＡ２２）。フォーマット等が正常であれば、口座処理要求の残高明細にから出金可能額を算出し、取引金額と出金可能額を比較する（ステップＡ２３）。取引金額に対して出金可能額が不足で有れば、残高なしとしてエラー処理を行う（ステップＡ２４）。図１９に示す例と同様に、取引明細の作成（ステップＡ２５）や、残高明細更新処理の起動及び戻り（ステップＡ２６）や、取引ログの出力（ステップＡ２７）や、日計の更新（ステップＡ２８）を行う。
【０１２７】
続いて、更新した勘定日毎の残高明細に基づいて、出金可能額がマイナスとなっている勘定日の有無をチェックする（ステップＡ２９）。出金可能額がマイナスとなっている勘定日があれば、取消再カットメイン処理を派生取引として起動し（ステップＡ３０）、取消再カットメイン処理の処理の終了を待たずに通常出金処理は終了する。一方、マイナスの出金可能額が無い場合にも、通常出金処理は終了する。
【０１２８】
図２１は、本実施例での取消再カットメイン処理の一例を示すフローチャートである。図２１に示す取消再カットメイン処理では、繰り返し図２１に示す処理を行うことで、どのような取引の組み合わせとなっても、口座処理の取消又は再カットを確実に行うようにしている。この取消再カットメイン処理用プログラムは、次の指令を備える。
【０１２９】
新たな出金処理によって残高が更新された際に、当該残高が更新された先日付について、取消再カットメイン処理が起動されると（図２０ステップＡ３０、図２３ステップＥ２，Ｅ４）、この起動された時に前記残高明細情報（残高及び貸越極度額）に基づいて各勘定日別の出金可能額を算出する日付チェックテーブル作成指令（ステップＢ２）。すなわち、日付チェックテーブル作成指令は、前記他のトランザクションによって更新される前記残高明細情報の各勘定日別の残高（出金可能額）を演算手段１４０に算出させ、日付チェックテーブルを生成させる。
前記日付チェックテーブル作成指令にて作成された日付チェックテーブルに基づいて各勘定日別の取消必要額（図２２に示すように、出金可能額がマイナスの場合に、その絶対値）を算出する取消必要額算出指令（ステップＢ３）。
日付チェックテーブルは、例えば図２２に示すテーブルである。
【０１３０】
勘定日の初日より未来で再カット期限内に決済された口座処理がある場合には、当該再カット期限付きの口座処理の先日付取消処理（ステップＣ１）を起動し、当該先日付取消処理の終了後に取消再カットメイン処理を再度起動させる前倒取消指令（ステップＢ４，Ｂ５）。
【０１３１】
取消再カットメイン処理の再度の起動は、先日付取消処理が派生として起動された場合の戻りの指示として先日付取消処理を構成するサブプログラムに記述するようにしてもよい。このステップＢ１，Ｂ２，Ｂ３，Ｂ５，Ｃ１を繰り返すことで、前倒をすべき口座処理は全て一旦残不足明細セグメントに格納される。これにより、より前の勘定日での決済が後半の処理（Ｃ３等）で図られている。一旦残不足明細としたが、再度同一の勘定日で再カットされることも多々あるが、口座処理時に何らかのデータを参照して再処理を行うものもあり、また、貸越極度額の変更なども起こるため、取消再カットメイン処理では、取りあえず勘定日の初日より未来の再カット期限内に決済された口座処理を全て取り消す。
【０１３２】
取消再カットメイン処理用プログラムは、前倒取消指令による取消処理の起動が成されない場合で、かつ、前記日付チェックテーブル上に取消必要額が格納されている場合（出金可能額がマイナスの場合）に、当該取消必要額が格納された勘定日の出金取引である口座処理を取消対象として特定する取消対象特定指令（ステップＢ６，Ｂ７）を備えている。
すなわち、この取消対象特定指令は、まず、前記日付チェックテーブルに残高（出金可能額）がマイナスとなった先日付があるか否か演算手段１４０に判定させる（図２１のステップＢ６）。取消対象特定指令は、続いて、当該先日付に成立していた出金処理を演算手段１４０に特定させる（図２１のステップＢ７）。さらに、取消対象特定指令は、当該出金処理を対象とする前記先日付取消処理の起動を前記演算手段１４０に指示させる（図２１のステップＢ８，図２３のステップＥ５，Ｅ７）。すると、演算手段１４０のトランザクション管理処理は、当該出金処理の先日付取消処理（図２３のステップＤ３、Ｅ８）を派生トランザクションとして起動する（図２１のステップＢ８）。
そして、先日付取消処理の起動指示後に、当該取消再カットメイン処理の派生トランザクションを終了させる（図２３のステップＥ６）。
演算手段１４０は、先日付取消処理を実行する（図２１のステップＣ２、図２３のステップＥ８、Ｄ３及びＤ４）。
【０１３３】
また、取消再カットメイン処理用プログラムは、この取消対象取消指令に応じて特定された口座処理の取消処理Ｃ２起動すると共に、当該取消処理の終了後に取消再カットメイン処理を再度起動させる取消処理起動指令（ステップＢ８）を備えている。
このステップＢ１，Ｂ２，Ｂ３，Ｂ４，Ｂ６，Ｂ７，Ｂ８，Ｃ２は、出金可能額（残高）がプラスとなるまで繰り返される（図２３ステップＥ１３，Ｅ１５）。出金可能額がプラスとなると、他の勘定日についても必要な取消を行い、さらに他の勘定日について再カット可能なものがあるか否かを確認するために、ステップＢ９を実行する。
【０１３４】
取消再カットメイン処理用プログラムは、さらに次の指令を備えている。
前記取消対象特定指令Ｂ７による取消対象の特定が成されない場合、すなわち、出金可能額のマイナスが全ての勘定日について無い場合には、取引の結果が未成立又は取消処理により取引の結果が未成立となった口座処理の一覧を生成すると共に、決済可能な口座処理を最先の勘定日から順次特定する決済可否判定指令Ｂ９。すなわち、決済可否判定指令は、前記日付チェックテーブルに残高がマイナスとなった先日付がなく、かつ、残高が更新された勘定日と同日又は先日付にて取引の結果が未成立の出金処理がある際には、演算手段１４０に、決済可能な未成立の口座処理を最先の勘定日から特定させる。
【０１３５】
この決済可否判定指令Ｂ９に応じて決済可能と判定された口座処理がある場合に、当該口座処理について再カット処理を起動すると共に当該再カット処理の終了後に決済可否判定指令を起動させる再カット処理起動指令Ｂ１０。すなわち、再カット処理起動指令は、当該決済可否判定指令に応じた処理で特定される出金処理を対象とする前記再カット処理の起動を前記演算手段１４０に指示させる（図２１のステップＢ１０、図２３のステップＥ５、Ｅ７、Ｄ５）。すると、起動指示された演算手段１４０のトランザクション管理処理は、当該出金処理の再カット処理（図２３のステップＥ８、Ｄ６）を派生トランザクションとして起動する（図２１のステップＢ１０）。
そして、再カット処理の起動指示後に、当該取消再カットメイン処理の派生トランザクションを終了させる（図２３のステップＥ６）。
演算手段１４０は、当該再カット処理を実行する（図２１のステップＣ３、図２３のステップＤ６及びＤ７）。
前倒制御では、Ｃ１にて取り消された口座処理がこのＢ１０にてより前の勘定日で決済できるかどうかを判定する。例えば、入金処理により取消再カットメイン処理が起動される場合には、図１９のステップＡ１８にて成立未成立にかかわらず残不足明細がある場合には、図２１のステップＢ４で前倒可能性がある口座処理であるかどうかを判定し、前倒可能で有れば取消処理を行う（ステップＣ１）。そして、ステップＢ９にてより前の勘定日（入金された勘定日）での再カットが可能であるか否かを判定する。
【０１３６】
前記決済可否判定指令に応じて決済可能と判定された口座処理が無い場合処理を完了させる処理完了指令Ｂ１１。処理の完了は、例えば業務メインへの処理の戻しである。すなわち、処理完了指令Ｂ１１は、決済可否判定指令に応じた処理で決済可能な未成立の口座処理がないと判定される際に、当該取消再カットメイン処理の派生トランザクションを終了させ、当該取消再カットメイン処理による全ての先日付の口座処理を完了させる。
【０１３７】
図２１に示す再カット処理は、演算手段１４０の機能である。すなわち、ある実施例では、演算手段１４０は、前記口座処理要求として当該処理対象の口座の残高を増加させる口座残高増加要求を処理すると共に当該処理結果に応じて当該口座残高増加要求の勘定日より未来の勘定日にて定義されている残高明細セグメントを更新する口座処理部と、口座残高増加要求の実行後に前記再カット期限を超過しておらず、かつ、取引が未成立の前記残不足明細セグメントを読み出す残不足明細読み出し部と、口座処理部によって更新された勘定日別の残高明細セグメントに基づいて前記残不足明細読み出し部によって読み出された残不足取引明細データの再カットが可能であるか否かを判定する再カット可否判定部と、この再カット可否判定部によって再カット可能と判定された残不足取引明細データを再処理する再カット処理部とを備えると良い。
【０１３８】
図２３は、受動処理、受動処理及び取消再カットメイン処理用プログラムの構成例を示す説明図である。演算手段１４０は、前記口座処理と、トランザクション管理処理と、取消再カットメイン処理と、先日付取消処理と、再カット処理とを実行する。図２３に示す例では、口座処理は、起動処理と受動処理の連動トランザクションとして、すなわち、一つのトランザクションとして実行される。
まず、演算手段１４０にてオペコードｘｘ１の受動処理（Ｅ１）が実行されたとする。この受動処理では、口座残高の異動を生じさせるため、その処理の終了時点で取消再カットメイン処理を派生トランザクションＥ３として起動する（Ｅ２）。取消再カットメイン処理（Ｅ４）は、図２１に示す処理に従って、取消対象又は再カット対象を特定し、取消対象又は再カット対象の起動処理（オペコードｘｘ２）を派生トランザクションにて起動指示（Ｅ７）する（Ｅ６）。派生トランザクションとして起動された起動処理は、図１６及び図１７に示すような業務別オペコードテーブル中の、被派生（Ｅ）によるプログラムリストに従って、起動処理を行う。この起動処理中に、普通預金関連の処理等の受動処理を連動Ｅ１１にて依頼する（Ｅ８）。連動依頼された受動処理（オペコードｘｘ３）Ｅ１２は、普通預金の出金や出金の取消等を行い、処理終了時に取消再カットメイン処理を派生トランザクションとして起動指示する（Ｅ１３）。すなわち、この受動処理Ｅ１２は、受動処理Ｅ１と同様の動作をする。受動処理（Ｅ１２）は、派生の起動指示（Ｅ１３）ののち、連動処理に戻る（Ｅ１４）。この戻り（Ｅ１４）により、起動処理と受動処理とは一つのトランザクションとして実行される。
【０１３９】
起動処理Ｅ８では、受動処理の正常終了に従って、その後の処理を進め、処理を終了する（Ｅ１０）。Ｅ１５の派生トランザクションとして起動指示された取消再カットメイン処理の実行開始は、この起動処理（Ｅ８）の終了後となるように、派生トランザクションを管理するとよい。
【０１４０】
この受動処理、起動処理及び取消再カットメイン処理との関係を、具体的に説明する。符号Ｄ１で示す普通預金の出金が先日付で行われたとする。残高に異動があるため、派生トランザクション（Ｅ３）として取消再カットメイン処理が起動される。普通預金出金（Ｄ１）は、この派生による取消再カットメイン処理の動作終了を待たずに処理を終了する。一方、派生トランザクションとして起動された取消再カットメイン処理は、普通預金出金処理（Ｄ１）が正常終了した後に実行を開始する。ここでは、普通預金の出金によって、その先日付の勘定日にて残不足（出金可能額がマイナス）となり、既に成立していた定期入金を取消対象としたとする（Ｄ２，図２１に示す例では、Ｂ７）。この場合、派生起動指示（Ｅ７）として、起動処理である定期入金取消を起動する（Ｂ８）。定期入金取消処理中に、対応する普通預金の出金取消処理（受動処理）を連動（Ｅ１１）で依頼する。受動処理である普通預金出金取消は、定期入金取消額と同額の普通預金の出金を減額することで取り消す（Ｄ４）。この取消処理（Ｄ４）は口座の異動を伴うため、取消再カットメイン処理を派生トランザクション（Ｅ１５）として起動指示する。普通預金出金取消と、定期入金取消がコミットすると、連動取引は終了する。
【０１４１】
ある取引を取り消した結果、未成立であった他の取引を再カットできることがある。例えば、５，０００の残不足で、３０，０００の定期入金を取り消した結果、取引の結果が未成立であった１０，０００の公共料金振替が再カット可能（決済可能）となることがある。ステップＤ５にて、このように未成立の取引のうち、再カット（振替）可能な取引を発見したとする。同様に、派生起動指示（Ｅ７）により外部自振を起動し、外部自振（Ｄ６）は連動で普通預金出金を依頼し、連動取引を行う。普通預金出金（Ｄ７）により残高の異動が生じるため、再度取消再カットメイン処理を派生トランザクションとして起動する（Ｄ８）。取消対象及び再カット対象がなければ、ここで普通預金出金Ｄ１によって開始した先日付取引の取消再カットメイン処理（先日付の口座処理）が完了する。
再度図２３、図１６及び図１７を参照すると、演算手段１４０は、前記口座処理要求を処理する一つのトランザクションによる口座処理として、当該口座処理要求のオペコードから前記業務別オペコードテーブルを参照して当該業務別オペコードテーブルに指定された起動処理（Ｅ８）のサブプログラムと、当該起動処理に対応する受動処理（Ｅ１２）のサブプログラムとを連動トランザクション（Ｅ１１，Ｅ１４）により実行する。
そして、前記一つのトランザクション（Ｅ１１，Ｅ１４）による口座処理を連動トランザクションにて終了（Ｅ１０）させた後、前記派生トランザクションによる取消再カットメイン処理（Ｅ４）を実行する。
前記取消再カットメイン処理（Ｅ４）を派生トランザクションにて終了（Ｅ６）させた後、他の派生トランザクションにより当該先日付取消処理（Ｄ３）又は再カット処理（Ｄ６）を実行する。
【０１４２】
このように本実施例では、連動取引（連動トランザクション）と派生取引（派生トランザクション）とを使い分けることで、先日付完結処理を他のオンライン処理による口座処理に遅れを生じさせない状態でオンライン処理と並行して処理することができる。例えば、派生取引等に他のトランザクションによるプロセスに対する優先度の設定等を行わなくとも、派生取引の同時最大数等の規制により、オンラインの応答時間に影響を与えずに、口座振替等の従来バッチ処理で行っていた口座処理をオンライン処理中に処理することができる。
【０１４３】
図２４は、第２実施例による１日のプログラム実行例を示す説明図である。７：００から内部自振、外部自振のセンターカット（Ｃ／Ｃ）を開始し、順次外部自振や手形交換などを実行する。また、再カット管理ＤＢによる他店券資金化Ｃ／Ｃを１１：３０に、カードローン自動融資Ｃ／Ｃを１６：００過ぎに実行している。続いて、契約に変更のあった口座処理を再実行する追い上げＣ／Ｃや、マスタデータ等の再編処理などを行い、２４：００にはバッチ処理によって行っていた全てのセンターカット（口座処理）を先日付にて完了させ、日付変更を行うことができる。
【０１４４】
【発明の効果】
本発明は以上のように構成され機能するので、これによると、勘定日別の残高を使用して、先日付で口座処理を実行するため、ＡＴＭ等の端末を用いた入出金等のオンライン処理と並列して口座振替や利息の入金等の種々の口座処理要求を処理することができる。
本発明ではさらに、最新の残高に応じた先日付の口座処理の成立及び未成立と、先日付の残高との調整に、派生トランザクションを用いている。派生トランザクションを用いることで、ＡＴＭ等のオンライン応答を即座に完了させつつ、その直後に別のトランザクションとして残高の調整を行うことができ、従って、ＡＴＭ等のオンライン処理（口座処理）のコミットを先日付の口座処理の調整から独立させることができる。このように、本発明では、オンライン応答を悪化させることなく、先日付の口座処理を日中に処理することができる、という従来にない優れた先日付完結処理システム及び方法を提供することができる。
【図面の簡単な説明】
【図１】本発明の第一の実施形態の構成を示すブロック図である。
【図２】図１に示す構成での処理例を示す説明図であり、図２（Ａ）は出金処理の一例を示す図で、図２（Ｂ）は入金処理の一例を示す図で、図２（Ｃ）は先時間での処理例を示す図である。
【図３】図１に示す構成での口座情報の推移の一例を示す説明図である。
【図４】本実施形態のハードウエア資源の構成例を示すブロック図である。
【図５】図１及び図４に示す構成での口座処理の一例を示すフローチャートである。
【図６】本実施形態での口座処理による残高の異動と先日付処理の関係を示す説明図であり、図６（Ａ）は決済の可否と先日付処理の対応を示す図で、図６（Ｂ）は取消再カット判定用のテーブルを示す図である。
【図７】図６に示す処理にて起動される取消再カット処理の一例を示すフローチャートである。
【図８】本発明の第２実施形態の構成例を示すブロック図である。
【図９】本実施例の構成例を示すブロック図である。
【図１０】図９に示す構成で使用するデータベースの種類を示す説明図である。
【図１１】図９に示す演算手段等の詳細構成を示すブロック図である。
【図１２】再カット管理ＤＢを用いた処理例を示す説明図であり、図１２（Ａ）は図９に示す構成に付加する部分を示す図で、図１２（Ｂ）は未資金化残がある場合の処理例を示す図である。
【図１３】図９に示す構成で使用する取引明細セグメント等の例を示す説明図である。
【図１４】図１３に示す取引明細セグメント等に応じた残高明細セグメントの例を示す説明図である。
【図１５】本実施例の構成例を示すブロック図である。
【図１６】本実施例で使用するオペコードテーブルの一例を示す説明図である。
【図１７】図１６に示す普通預金オペコードテーブルの一例を示す説明図である。
【図１８】本実施例での残高明細更新処理の一例を示すフローチャートである。
【図１９】本実施例での通常入金処理の一例を示すフローチャートである。
【図２０】本実施例での通常出金処理の一例を示すフローチャートである。
【図２１】本実施例での取消再カットメイン処理の一例を示すフローチャートである。
【図２２】図１９に示す処理で使用する日付チェックテーブルの一例を示す説明図である。
【図２３】本実施例での定期預金入金取消処理の一例を示すフローチャートである。
【図２４】本実施例による１日のプログラム実行例を示す説明図である。
【符号の説明】
２、１４０  演算手段
６  ファイル
７  口座情報
Ｅ７、Ｅ１５ 派生トランザクションの起動指示
【手続補正２】
【補正対象書類名】図面
【補正対象項目名】図１
【補正方法】変更
【補正の内容】
【図１】
2003331121.tif 000001