JP3611110B2 - 先日付完結処理のシステム、方法、プログラム及びこれに用いる取消再カットメイン処理用プログラム並びに資源利用最適化システム、プログラム及びこれに用いる取消再実行メイン処理用プログラム - Google Patents
先日付完結処理のシステム、方法、プログラム及びこれに用いる取消再カットメイン処理用プログラム並びに資源利用最適化システム、プログラム及びこれに用いる取消再実行メイン処理用プログラム Download PDFInfo
- Publication number
- JP3611110B2 JP3611110B2 JP2001078306A JP2001078306A JP3611110B2 JP 3611110 B2 JP3611110 B2 JP 3611110B2 JP 2001078306 A JP2001078306 A JP 2001078306A JP 2001078306 A JP2001078306 A JP 2001078306A JP 3611110 B2 JP3611110 B2 JP 3611110B2
- Authority
- JP
- Japan
- Prior art keywords
- account
- date
- request
- balance
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 614
- 230000008569 process Effects 0.000 title claims description 591
- 238000005457 optimization Methods 0.000 title claims description 21
- 238000012545 processing Methods 0.000 claims description 1377
- 238000012546 transfer Methods 0.000 claims description 131
- 238000004364 calculation method Methods 0.000 claims description 112
- 238000007726 management method Methods 0.000 claims description 65
- 230000004913 activation Effects 0.000 claims description 42
- 238000009795 derivation Methods 0.000 claims description 35
- 230000002860 competitive effect Effects 0.000 claims description 10
- 238000003672 processing method Methods 0.000 claims description 6
- 230000007423 decrease Effects 0.000 claims description 4
- 238000004148 unit process Methods 0.000 claims description 3
- 230000006735 deficit Effects 0.000 claims 6
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 claims 2
- 239000010931 gold Substances 0.000 claims 2
- 229910052737 gold Inorganic materials 0.000 claims 2
- 230000006870 function Effects 0.000 description 104
- 238000012937 correction Methods 0.000 description 77
- 238000001994 activation Methods 0.000 description 64
- 238000010586 diagram Methods 0.000 description 57
- 230000008859 change Effects 0.000 description 46
- 230000000737 periodic effect Effects 0.000 description 31
- 230000005611 electricity Effects 0.000 description 21
- 241000112598 Pseudoblennius percoides Species 0.000 description 18
- 230000004044 response Effects 0.000 description 14
- 230000004308 accommodation Effects 0.000 description 13
- 238000012384 transportation and delivery Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 238000005520 cutting process Methods 0.000 description 10
- 230000002829 reductive effect Effects 0.000 description 10
- 238000012790 confirmation Methods 0.000 description 7
- 238000000151 deposition Methods 0.000 description 7
- 230000004043 responsiveness Effects 0.000 description 6
- 101000805921 Strongylocentrotus purpuratus Upstream stimulatory factor Proteins 0.000 description 4
- 102220521910 THAP domain-containing protein 1_S21C_mutation Human genes 0.000 description 4
- 101000671634 Xenopus borealis Upstream stimulatory factor 1 Proteins 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 102220247850 rs1421233354 Human genes 0.000 description 4
- 102220240346 rs764757062 Human genes 0.000 description 4
- 206010000210 abortion Diseases 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 3
- 238000010923 batch production Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004886 process control Methods 0.000 description 3
- 102220070930 rs794728599 Human genes 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 239000002253 acid Substances 0.000 description 2
- 238000013075 data extraction Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 102220151657 rs763546006 Human genes 0.000 description 2
- 230000029305 taxis Effects 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 241000272808 Anser Species 0.000 description 1
- 102220496775 Lymphocyte expansion molecule_S23C_mutation Human genes 0.000 description 1
- 102220635826 Probable C-mannosyltransferase DPY19L1_S26C_mutation Human genes 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 231100000176 abortion Toxicity 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 102220342298 rs777367316 Human genes 0.000 description 1
- 230000000087 stabilizing effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Description
【発明の属する技術分野】
本発明は、先日付完結処理システム及び方法に係り、特に、金融機関での預金口座等を用いて振替等の決済を行うシステム及び方法に関し、さらに、預金口座の残高等の共通資源に対して複数の処理が競合する場合の最適化処理に関する。
【0002】
【従来の技術】
従来より、公共料金の口座振替処理は、自動現金預入支払機(ATM)や自動支払機(CD)及びオンラインシステムが停止し、口座残高が確定した後に、バッチ処理で実行されていた。すなわち、電気、ガス、水道等の公共料金を指定振替日(勘定日)の前夜から翌朝までの時間を利用して、口座からの出金処理(引落処理)を行っていた。そして、残高が不足する場合に、口座処理の種類に応じた優先順位の高い口座処理を他の口座処理よりも優先して決済するには、例えば、税金の支払を公共料金の支払に優先させるには、税金の支払に関するバッチ処理を先に処理し、その後に公共料金の支払を処理するようにしていた。
【0003】
夜間バッチ処理による従来例では、決済を行う勘定日の前日夜間に処理を完了するため、勘定日の前夜に残高が不足して決済不能となった場合には、勘定日当日に残高が充足し決済可能となっても振替等の口座処理を行うことができなかった。これを改善するため、勘定日の前日に残不足で決済不能であった場合に、勘定日当日の夜間に再度口座処理をバッチ処理にて実行していた。これにより、当日の入金に応じた決済を可能としていた。
【0004】
特開昭59−77573号公報には、残高が不足していた口座に対して、勘定日当日に入金があった場合には、決済不能であった口座処理を即時に処理する手法が開示されている。すなわち、この公報には、システム運用効率を向上させることを目的として、バッチ処理を用いずに、入金がありかつ、残不足であった口座に対してのみ再振替を試みる手法が開示されている。また、特開平7−93439号公報にもほぼ同様の手法が開示されている。
【0005】
また、近年の金融機関では、ATM等を用いた口座からの出金(支払)や入金等を24時間稼働させることが課題となっている。上記バッチ処理による口座振替等の決済は、ATM等による入出金を停止し、残高を静止状態とさせてからバッチ処理を行うため、入出金を24時間稼働とすると、振替を日付変更と同時に行わなければならなくなる。
【0006】
この24時間稼働時の振替等の取り扱いについて、例えば、特開2000−194783号公報には、振替等の口座処理を事前に処理しておき、勘定日当日の午前0時に補正する手法が開示されている。すなわち、この公報には、勘定日前日の残高に基づいて口座振替後の残高を算出しておき、勘定日当日の午前0時(実施例としては、日付変更処理後にその口座に最初にアクセスされたとき)に補正(確定処理)をする旨開示されている。
【0007】
また、特開2000−293605号公報には、勘定日の前日等の口座残高に不足があり、事前処理での決済が不能であった場合には、再度口座振替を実施する自動回収データを作成しておき、この自動回収データに基づいて再振替処理を勘定日以後に実行する手法が開示されている。
【0008】
このように、上記従来例では、振替等の口座処理を事前に準備しておくことで、24時間連続稼働を図る手法が開示されている。
【0009】
【発明が解決しようとする課題】
しかしながら、上記従来例では、振替等の口座処理を優先順位に基づいて実行することができない、という不都合があった。優先順位の高い口座処理から先に事前処理又はバッチ処理を実行すると、優先順位に従った口座処理となるが、振替依頼の持ち込み等の口座処理の準備が優先順位の順序でなされるとは限らないため、一貫した処理を行うことができない。さらに、残高が不足した場合に優先順位を反映すべきであるところ、上記従来例では、事前処理で決済した口座処理と、その後の入出金額に応じて決済すべき口座処理とを優先順位に従って調整することが難しい。
【0010】
特開平11−134417号公報には、我が国での銀行勘定系の非稼働時に当該口座残高に基づいて海外にて出金する場合に、当該口座での振替よりも海外での出金を優先する旨が開示されている。この従来例では、国内での口座を静止状態としつつ、海外での出金を優先するものであり、24時間稼働に対応しつつ口座処理の種類に応じて優先順位を反映させるものではない。
【0011】
そして、バッチ処理による従来例では、口座残高が確定した前夜から勘定日当日のオンライン稼働時間前までの限られた時間内に、口座振替等の全ての口座処理を行わなければならず、口座処理のデータ量の増加やオンライン稼働時間の延長に対応するためにはコンピュータ(CPU)などの機器を増強しなければならない、という不都合があった。
【0012】
さらに、事前処理をしておき、日付変更と同時に振替後の残高へと確定処理を行う例では、日付変更時の負荷が巨大となるか、又は各口座への最初のアクセス時に確定処理分応答が遅れてしまうため、やはり、応答時間を確保し負荷を軽減するためにコンピュータ(CPU)などの機器を増強しなければならない、という不都合があった。
【0013】
【発明の目的】
本発明は、係る従来例の有する不都合を改善し、特に、本発明は、複数の処理要求によって共通資源に不足が生じる際に、処理順序によらず、処理要求の他の処理要求に対する優先順位に従って、口座の残高等の共通資源の配分を自動的に最適化することのできる先 日付完結処理又は資源利用最適化を行う物及び方法を提供することを、その目的とする。
本発明では、さらに、口座残高を共通資源する情報処理にあっては、口座残高に不足があった場合には口座振替等の種別に応じた優先順位に基づいて優先順位の高い口座処理の決済を優先することを、その目的とする。
本発明では、また、ATM等の端末を用いた入出金等のオンライン処理と並列して行う情報処理にあっては、口座振替や融資返済等の種々の取引の処理と、優先順位による決済の最適化処理との並列処理を安定して実行することを、その目的とする。
【0014】
【課題を解決するための手段】
本発明では、その前提として、先日付完結処理を用いる。すなわち、本発明では、先日付の口座処理をその勘定日を迎える前に実行し、勘定日別の口座情報(例えば、残高)を保有する。そして、先日付が当日となった瞬間に参照すべき口座情報を変化させる。例えば、2日の時点で3日を勘定日とする口座処理を2日の最終残高に基づいて計算しておき、2日の残高と3日の残高とを2日の時点で個別に保有する(勘定日別の口座情報)。2日当日では、口座名義人が先日付である3日の残高を直接利用することはできない。そして、2日から3日になった瞬間に、すなわち、日付変更処理が完了した時点で、予め計算しておいた3日の残高を用いる。このように、2日の時点で3日の口座処理を計算し、3日の残高を算出しておくことで、2日の時点で3日の口座処理は完結している。日付変更後の確定処理等は不要である。
【0015】
本発明では、先日付での口座情報を先日付の勘定日毎に生成しておくことで、事前処理によって先日付の口座処理を完結させる。そして、先日付の日時に至るまでに口座残高の異動や利率や契約内容の変更があった場合には、その変更を先日付での残高に反映させる。すなわち、本発明では、現在の口座情報に基づいて、その後に口座処理が無い場合の先日付での残高を生成しておき、その先日付の残高に基づいて先日付の口座処理を実行しておくことで、従来バッチ処理で行っていた口座処理をオンライン処理中に並行して処理する。これは、現在処理する口座処理を、先日付の日時が到来するまでの最終の口座処理と仮定し、当該先日付の残高等を予め計算する処理である。その後、先日付の勘定日が至る前に別の口座処理があった場合には、再度その口座処理が最終の口座処理であると仮定し、先日付の残高等を算出する。
【0016】
先日付完結処理の原理は、現時点での情報に基づいて、その後の変化が無いとした場合の、将来の口座情報を生成しておく点にある。その後に口座処理が無い場合や、自動定期化サービスにて普通預金口座から定期預金へ入金する契約に変更が無い場合や、小切手の資金化について不渡の連絡が無い場合を想定して、その前提での先日付の口座情報を予め算出しておく。先日付の処理であるため、口座名義人がその先日付の残高を直接に用いて取引をすることができず、従って、先日付処理については取消を行うことができる。
【0017】
決済は、取消ができない資金移動等が行われたときに完了する。この決済の完了性(ファイナリティ)は、取消不能な状態の確定に依存する。先日付完結処理では、先日付にて一旦成立した口座処理は、未だ決済完了性を有さない。その後に他の口座処理がなければ、勘定日当日へと日付変更した時に決済は完了する。このように、先日付完結処理は、先日付の口座処理を実行し、先日付の勘定日での残高を算出したことで、その後に当該勘定日での口座処理がないとした前提で、完結している。そして、当該勘定日にて再度口座処理が生じたのであれば、先日付での口座処理(取引)はファイナリティを有しないため、取消や再実行(再カット)を行うことができる。必要な取消や再カットが完了した時点で、その口座に対する口座処理は完結する。
【0018】
このように、先日付完結処理では、特に先日付の処理について、口座処理の再構築や入れ替え等の最適化が可能である。別の表現をすると、ある順序に従ってデータを並べ替えるように、口座処理(トランザクション)を並べ替えることができる。これを決済の分野で説明すると、すべての決済を行うには残高が不足してしまう場合に、予め定められた優先すべき決済を優先して処理することができることとなる。
【0019】
そして、先日付完結処理では、口座に異動がある毎に口座処理を行い、その口座処理は完結するため、先日付の日時を迎える前後、すなわち、日付変更時にはなんら処理を行う必要がない。このため、オンライン処理の終了後にバッチ処理にて口座処理を行う必要がなくなり、また、バッチ処理を所定の時間内に完了させるためにCPUを増強する必要がない。
【0020】
現在の状態からの変化には、続く口座処理が無いという前提のみならず、先日付で契約する定期預金や口座に元加する利息の利率が現在に判明していて、その後に変更がないという前提(変更が有った場合には、再度口座処理を実行する)などが含まれる。このため、先日付完結処理を行うことのできる対象は数多い。通常の普通預金口座や当座預金口座に対する種々の口座処理や、ある条件に応じたオプションの行使や、先物取引を口座で決済する場合に、期日での額が定まっている場合の差額の算出及び決済や、住宅ローンの特別な増額返済のための普通預金口座からの出金の予約などについても、先日付完結処理としてオンライン処理中に実行することができる。
【0021】
さて、先日付完結処理では、先日付での口座残高を算出した後に、現在の口座残高からATM等で出金された場合には、先日付の口座残高を当該出金額分減額する。この減額により、先日付で成立していた口座処理が決済不能となる場合がある。本発明の第1群(第1実施形態、請求項1、2又は3に対応)では、先日付の口座処理が決済不能となった場合の取消に関して、優先順位を反映させる。
【0022】
一方、先日付の口座残高が不足で先日付での口座処理が決済不能であった場合に、現在の口座残高にATM等で入金された場合には、当該未成立の口座処理の再カットを試みる。本発明の第2群(第2実施形態、請求項4、5、6及又は7に対応)では、この再カットに関して、優先順位を反映させる。
【0023】
本発明の第3群(第3実施形態及び第4実施形態)は、競合するトランザクションの並べ替え(入れ替え)による最適化について開示する。第3実施形態と第4実施形態では動作原理は共通している。未成立の優先順位のもとの、成立した優先順位の低いものとを、入れ替えるのである。第3実施形態(請求項8から13に対応)では、口座処理に限定せず、共通資源への予約など、競合するトランザクションの並べ替え(入れ替え)による最適化について開示する。第4実施形態(請求項14から16と、実施例に対応する請求項17から20に対応)では、先日付にて取消と再カットとを組み合わせることで、口座処理の入れ替えによる最適化を行う。
【0024】
各実施形態の共通部分を概説すると、各実施形態では、先日付の残高(資源)を現在の残高(資源)とは別に有する。そして、先日付の処理を事前に完結させる。このために、次の構成を採っている。すなわち、各実施形態のシステムは、各口座に対する各種入出金等の口座処理の取引種類と、当該口座処理の取引日となる対象勘定日と、入金額又は出金額である取引金額とを有する口座処理要求(第3実施形態では、業務処理要求)を演算する演算手段と、この演算手段によって演算された口座処理の処理結果を口座情報として格納するファイルとを備えている。
そして、前記口座処理要求は、当該口座処理要求の対象となる口座への振込若しくは自動現金預入支払機等による入金要求又は口座振替若しくは自動現金預入支払機等による出金要求であり、当該出金要求は、当該出金要求の他の出金要求に対する優先順位を有する。
さらに、前記ファイルが前記口座情報として、前記演算された口座処理要求の対象勘定日、取引種類、優先順位及び取引金額を、当該口座処理要求の取引日である勘定日別で当該口座処理要求毎に格納する取引明細情報と、前記口座毎に口座処理のあった勘定日の残高を勘定日毎に格納する残高明細情報(第3実施形態では、資源明細情報)と、前記出金要求の成立又は未成立を格納する結果とを備えている。
第2、第3及び第4実施形態では、前記ファイルは、さらに、当該結果が未成立となった出金要求の対象勘定日、取引種類、優先順位及び取引金額を、当該口座処理要求の取引日である勘定日別で当該出金要求毎に格納する残不足明細情報(第3実施形態では、未成立明細情報)を備えている。
そして、前記演算手段は、口座処理部と、取消処理部、再カット処理部、取消再カットメイン処理部等を備える。
このうち、口座処理部の処理内容は、各実施形態でほぼ共通している。すなわち、前記口座処理部は、前記残高明細情報に対象勘定日と同日の残高が記録されている場合には当該残高を対象勘定日の残高として特定し、一方、対象勘定日と同日の残高が記録されていない場合には当該対象勘定日よりも過去で直近の残高を当該対象勘定日の残高として特定する。
そして、口座処理部は、前記特定された対象勘定日の残高と前記取引金額とを加減算する。
口座処理部は、続いて、当該口座処理要求の勘定日、取引種類、取引金額及び優先順位を前記取引明細情報に記録する。さらに、口座処理部は、当該加減算した処理後の残高を、前記対象勘定日の残高として前記残高明細情報に記録し又は更新する。記録は新たな書き込みであり、更新は上書きである。そして、口座処理部は、当該取引金額を、前記残高明細情報に記録された先日付の勘定日のうち、当該対象勘定日より未来である先日付の残高に対して加減算することで、先日付の残高を更新する。この先日付の残高の更新により、勘定日別の残高すべてを整合させる。
【0025】
第1群の発明では、前記取消処理部が、前記優先順位に基づく取消処理を行う。この取消処理では、まず、前記先日付の残高が記録又は更新された後に、当該先日付の残高がマイナスとなっている際には、当該残高がマイナスとなっている勘定日に前記結果が成立の出金要求を前記取引明細情報から読み出して、当該出金要求の前記優先順位が最も低い出金要求を取消対象として特定する(マイナス時取消制御機能22、取消対象特定機能21)。
取消処理では、続いて、前記取引明細情報に格納された出金要求が取消対象として特定された際には、当該出金要求の取引金額と当該勘定日の残高とを加算し、当該加算した処理後の残高を当該勘定日の残高として前記残高明細情報に更新し、当該特定した出金要求の前記結果に未成立を記録する。
これにより上記課題を解決しようとするものである。
第1群の発明では、先日付の口座処理でファイナリティを有さない口座処理について、取消が必要な場合に、口座処理による取引金額に関わらず、優先順位の低い順に取り消す。これにより、優先順位の高い取引を実行することができる。
【0026】
第2群の発明では、前記再カット処理部が、前記優先順位に基づく再カット処理を行う。この再カット処理では、まず、前記先日付の残高が記録又は更新された後、当該先日付の残高がプラスの際には、当該残高がプラスの勘定日に前記結果が未成立の出金要求を前記残不足明細情報から読み出して、当該出金要求の取引金額と当該勘定日の残高とを比較することで、当該決済可能な出金要求のうち最も前記優先順位の高い出金要求を再カット対象として特定する(プラス時再カット制御機能28、再カット対象特定機能26)。
再カット処理部は、さらに、前記残不足明細情報に格納された出金要求が再カット対象に特定された際には、当該特定された出金要求の取引金額を前記残高から減算して、当該減算した処理後の残高を前記残高明細情報に更新し、当該出金要求を前記取引明細情報に 記録し、前記結果に成立を記録する。
これにより前述した課題を解決しようとするものである。
【0027】
第2群の発明では、口座に異動があったときに、優先順位の高い順に決済可能性を判定し、決済可能である場合には、優先順位の低い口座処理の組み合わせに関わらず、優先順位の高い口座処理を再カットする。これにより、すべての決済を行うには残高が不足する場合に、優先順位の高い決済を優先して処理する。
【0028】
「口座処理」は、例えば、金融機関の個人向けの普通口座を例とすると、給与振込等の口座への振込(入金)や、公共料金の自動引落のような口座からの振替(出金)や、融資の返済や家賃の引落などの自動引落(出金)などである。また、法人等を例とすると、「口座処理」は、各種支払の振込予約や、給与支払のための引落や、口座引落で集金した家賃の入金などである。これら種々の内容の口座処理を扱うようにしても良いし、例えば振込などは別の演算手段にて扱い、公共料金の振替のみを本発明による先日付完結処理システムで扱うようにしても良い。
また、証券取引用の口座を例とすると、「口座処理」は、株取引に要した資金の決済や、金融商品の自動的な購入などが該当する。このように、「口座処理」には、まず、商取引の決済手法の種々の態様が含まれる。この決済の対象は単一の通貨のみならず、例えば先日付での為替レートを予め取引者間で定めておくことができれば、外為取引に応用することもできる。さらに、決済の対象は、通貨を扱う口座のみならず、例えば商品やサービスの販売時に付加するポイント値(マイレージポイント)でも良い。
さらに「口座処理」には、その口座の属性を設定又は変更する処理を含めるようにしても良い。例えば、定期の自動更新に応じた自動融資極度額の変更や、長期ローンでの変動金利と固定金利とのスワップの予約等を含めるようにしても良い。また、ATMやCDや金融機関の店舗の窓口端末による現金の入金や出金は即時の口座処理であり、演算日と勘定日が一致する。
【0029】
上記ファイルには、預金・融資等の取引履歴や、現在の残高や、口座に定義された自動融資可能額である貸越極度額などの口座に関する情報が格納されている。残高は、口座処理要求が決済可能であるか又は決済不能であるかを判定するための数値であり、例えば、定期預金等を担保とする自動融資が無い場合には実際の残高で、定期預金等を担保とする自動融資が付随する場合には、貸越極度額と実際の残高とを加算した額を残高(出金可能額)としても良い。定期預金等を担保とする自動融資を行う場合には、口座情報として担保明細等の属性情報を持つようにすると良い。
【0030】
演算手段の口座処理部は、例えば、口座処理要求として入金要求があった場合には、現在の残高を読み出して、取引金額(入金額)を加算し、残高明細情報を更新する。口座処理部は、出金要求があった場合には、現在の残高から取引金額(出金額)を減算する。
【0031】
本発明では、口座処理部が、演算を行う演算日に対して同日又は先日付となる勘定日の口座処理要求を当該勘定日の残高(出金可能額)に基づいて処理する。そして、ファイルには、口座処理部の処理結果が当該口座処理の勘定日での残高等として格納される。
【0032】
「勘定日」は、取引を行う日である。現状の金融機関で取り扱う取引の実行時期の指定は「日」であるため、日を単位としている。「勘定日」は、複数の口座処理が競合する単位である。第1の口座処理の勘定日が1日のみで、第2の口座処理の勘定日が2日のみの場合、この2つの口座処理は競合しない。1日の残高に基づいて第1の口座処理要求が処理され、2日の残高に基づいて第2の口座処理要求が処理される。特定日の残高から引落を行うという契約によると、この2つの口座処理要求間には優先順位は適用されない。2日に第3の口座処理要求も存在する場合、第2の口座処理要求と第3の口座処理要求とが競合する。第2の口座処理要求の優先順位が第3の口座処理要求の優先順位よりも高ければ、第2の口座処理要求を優先して処理する。
また、例えば、第2の口座処理要求の出金額が20,000で、第3の口座処理要求の出金額が10,000で、2日の口座残高が15,000である場合、優先順位の高い第2の口座処理要求は決済できない。従って、決済できる第3の口座処理要求を決済する。その後、先日付での2日の残高が6,000増加した場合、第3の口座処理要求を取り消せば、第2の口座処理要求の決済が可能となる。この例では、第2の口座処理要求を再カット(修正再カット)して、第3の口座処理要求を取り消す。このような再カットと取消との関係は、第3実施形態及び第4実施形態にて開示される。
【0033】
このように、口座処理要求が競合する期間の単位が「勘定日」である。そして、より具体的には、「勘定日」は、例えば、口座処理が振替であれば振替日である。融資の返済であれば「約定返済日」が勘定日であると考える。給与振込であれば振込日が勘定日に相当する。本明細書では、これら種々の口座処理要求に指定される取引実行日を「勘定日」と呼ぶ。「演算日」は演算を行う「当日」であり、「現在」ともいう。
【0034】
本発明では、演算日時に対して先日付となる勘定日での口座処理要求を、演算日時の段階で処理する。その処理結果を、演算日時に対して先日付となる勘定日での口座情報として格納する。従って、口座情報は、口座処理要求がなされた勘定日別に生成され、管理される。例えば、演算日時の残高と、先日付での処理を行った将来の残高との情報がファイルに格納される。この将来の残高は、今までに行った口座処理の後、口座処理がないままその勘定日が到来しときの、その勘定日の残高である。このため、日付が変更したときに、その日付変更の前後でなんら処理を行うことなく、当該勘定日に行うべき口座処理を完了した状態で、新たに迎えた日付での残高が確定する。
【0035】
例えば、先日付である勘定日が、演算日時の翌営業日であったとする。そして、翌営業日を勘定日とする振替等の口座処理要求をその翌営業日(振替日,勘定日)の前日に演算する。演算した結果、現在の残高と、翌営業日の残高とが個別にファイルに格納される。その後、当該口座に対して残高の変動をもたらす処理が行われなかったとすると、本日から明日へ日付変更した段階で、引落(出金)が確定し、新たな残高に基づいた処理が可能となる。従って、午前0:00を過ぎた瞬間に、口座振替後の新たな残高に基づいた処理を行うことができる。出金の確定は、その出金が決済完了性を有するということである。
【0036】
第3群の発明では、業務処理要求(または、口座処理要求)の実行可否を定める資源の状態を一定期間別に先日付で記録した資源状態ファイルと、この資源状態ファイルに記録された情報に基づいて各業務処理要求を処理する演算手段とを備えている。そして、資源状態ファイルは、資源の状態を過去から現在並びに将来となる先日付まで競合単位毎に、例えば、日単位等の一定期間毎(勘定日毎)に格納する資源明細セグメント(または、残高明細セグメント)と、過去又は先日付で成立した業務処理要求を当該業務処理の優先順位付きで成立順に格納する取引明細セグメントと、先日付にて資源不足で未成立の業務処理要求を当該優先順位付きで格納する未成立明細セグメント(例えば、残不足明細セグメント)とを備えている。
そして、前記演算手段は、業務処理部と、取消処理部と、再実行処理部と、取消再実行メイン処理部とを備えている。
前記業務処理部は、口座処理部に対応する構成である。この業務処理部は、前記対象競合単位が先日付の業務処理要求を業務処理する際に、当該対象競合単位の前記資源を前記資源明細情報から読み出し、当該業務処理要求の要求する資源が当該対象競合単位の資源で充足する場合には、当該業務処理要求を成立させて前記取引明細情報に記録し、前記資源明細情報を更新し、前記結果に成立を記録することで、当該業務処理要求の成立処理を行う。
一方、前記業務処理要求の要求する資源が当該対象競合単位の資源では不足する場合には、当該業務処理要求を未成立として前記未成立明細情報に記録し、前記結果に未成立を記録することで、当該業務処理要求の未成立処理を行う。
また、前記取消処理部は、前記取消再実行メイン処理部によって前記取引明細情報に格納された業務処理要求が取消対象として特定された際には、当該取消対象の業務処理要求の要求する資源を当該競合単位に利用できる資源として前記資源明細情報を更新し、当該業務処理要求を前記未成立明細情報に記録し、前記結果に未成立を記録することで、取消処理を行う。
さらに、前記再実行処理部は、前記取消再実行メイン処理部によって前記未成立明細情報に格納された業務処理要求が再実行対象として特定された際には、当該再実行対象の業務処理要求の要求する資源を当該競合単位の資源に割り当てて前記資源明細情報を更新し、当該業務処理要求を前記取引明細情報に記録し、前記結果に成立を記録することで、再実行処理を行う。
【0037】
この第3群の発明では、業務処理部は、先日付にて成立した業務処理を取引明細情報(セグメント)に記録し、未成立の場合には、未成立明細情報(セグメント)に記録する。
【0038】
また、第3及び第4実施形態では、優先順位の高い未成立の業務処理よりも優先順位の低い成立済みの業務処理がある場合、優先順位の低い成立済みの業務処理を取り消して、優先順位の高い業務処理を再実行することで、成立させる業務処理(トランザクション)を入れ替える修正再実行(修正再カット)処理を開示する。
すなわち、第3群の発明では、前記取消再実行メイン処理部(第4実施形態では、取消再カットメイン処理部)が、優先順位に基づいた業務処理要求(口座処理要求)の入れ替えを制御する処理を行う。すなわち、入れ替えを行うために、再実行すべき業務処理要求と、取り消すべき業務処理要求とを特定するための取消再実行メイン処理を行う。取消再実行メイン処理は、前記取消対象特定処理と、前記再実行対象特定処理とにより、取消再実行メイン処理を行う。
取消対象特定処理は、まず、前記成立処理、未成立処理、取消処理又は再実行処理の後に、前記先日付の前記競合単位(勘定日)にて前記資源(残高)に不足が生じた際には、取消対象特定処理として、当該資源不足の競合単位に前記結果が成立である業務処理要求を前記取引明細情報から読み出して、最も優先順位の低い業務処理要求を取消対象とする。これにより、取消対象特定処理を行う。
一方、再実行対象特定処理は、前記先日付の前記競合単位にて前記資源に空きがある際には、再実行対象特定処理として、まず、当該競合単位に前記結果が未成立である業務処理要求を前記未成立明細情報(残不足明細情報)から読み出して、最も優先順位が高い業務処理要求を高優先業務の業務処理要求として特定する(高優先業務特定部)。
続いて、当該競合単位で前記結果が成立である業務処理要求を前記取引明細情報から読み出して、当該結果が成立の業務処理要求のうち前記高優先業務の業務処理要求の優先順位よりも優先順位の低い業務処理要求群によって利用される資源の一覧又は総量を修正利用可能資源として算出する(修正利用可能資源算出部)。
さらに、前記高優先業務の業務処理要求の要求する資源が前記修正利用可能資源で充足する場合には、当該高優先業務の業務処理要求を再実行対象として特定する。これにより、再実行対象特定処理を行う。
【0039】
第3群の発明のうち、請求項17に対応する例では、出金要求の他の出金要求に対する優先順位は、再カット期限が2日以上で優先順位の高い第1群の優先順位と、第1群の優先順位よりも優先順位が低く再カット期限が1日である第2群の優先順位とのいずれかである。そして、請求項17との対応では、ファイルが、当該口座への自動融資の貸越極度額を有し、貸越極度額と残高とを加算した額を出金可能額としている。
そして、前記取消再カットメイン処理部は、日付チェックテーブル生成サブコントロー ラーと、先日付第1群取消サブコントローラーと、マイナス時取消サブコントローラーと、修正再カットサブコントローラーと、再カットサブコントローラーとを備える。
【0040】
また、第3群の発明に対応する開示である実施例では、口座処理部による口座処理を、起動業務処理と、受動業務処理とによる一つのトランザクションとしている。2つの処理を一つのトランザクションとすることを、処理の「連動」という。一つのトランザクションとは異なるトランザクションを別途実行することを、処理の「派生」という。
受動業務処理部は、共通資源である口座残高を管理する。起動業務処理部は、この受動業務処理部によって管理される口座残高を使用した決済を要求する。起動業務は、例えば、公共料金の引落や、融資の返済等を要求する。公共料金の引落の成立と、普通預金口座からの出金とは、トランザクションとして原子性を有さなければならない。すなわち、引落が成立したとする一方、普通預金口座からの出金がなされない状態は処理として不完全である。このため、起動業務と受動業務とは連動し、一つのトランザクションとして実行される。また、口座に異動が生じると、残不足明細セグメント等を参照して口座処理の取消又は再カットの要否を判定しなければならない。取消再カットメイン処理部は、この判定と、取消又は再カットの起動とを制御する。
起動業務と受動業務とは連動するが、取消再カットメインは派生トランザクションとして起動される。これにより、CPUの増強をせずにオンラインの応答性を確保することができる。例えば、未成立の口座処理要求が200件あるとする。この200件の残不足を解消できる金額がATMを用いて入金されたとする。取消再カットメインは、この200件の再カットの実行を順次制御する。このとき、ATMによる入金の完了を200件の再カット完了後とすると、ATMの入金での応答性が極度に悪化し、並行して実行される他のジョブへの悪影響も懸念される。このため、好ましい例では、ATMの入金は一つのトランザクション(起動と受動の連動)として完了させておき、このトランザクションとは異なる別の派生トランザクションとして受動業務のプログラム中から取消再カットメインを起動している。
【0041】
第3群の発明のうち、請求項18に対応する例では、演算手段が、前記成立処理又は前記未成立処理である口座処理を、一つのトランザクションとして実行し、当該口座処理の終了後に、前記取消再カットメイン処理を他の派生トランザクションとして実行する。そして、この実行後に、前記取消処理又は前記再カット処理を、他の派生トランザクションとして実行する。また、この実行後に、前記取消再カットメイン処理を、他の派生トランザクションとして実行する。
そして、前記取消再カットメイン処理と、前記取消処理若しくは再カット処理との前記派生トランザクションの実行の起動に際して、当該取消再カットメイン処理の進行状況を示す派生管理フラグを前記他の派生トランザクションに渡すことで、前記再カットの特定対象がなくなるまで、前記取消再カットメイン処理と、前記取消処理若しくは前記再カット処理とを繰り返すスパイラル制御を行う、という構成を採っている。これにより、上記課題を解決しようとするものである。
【0042】
対応する実施例では、取消再カットメイン処理は、一つの口座処理要求の取消又は再カットを派生トランザクションとして起動し、一旦終了する(同期点に達する、またはコミットする)。派生トランザクションとして起動された起動業務は、受動業務に連動する。受動業務は、口座残高を更新すると、再度取消再カットメインを派生トランザクションとして起動する。取消再カットメインは、この起動された状態で取消又は再カットの要否を判定し、判定結果に従って起動業務の取消又は再カットを派生トランザクションとして起動する。このような取消再カットメインの間欠的な処理により優先順位の最適化を行う処理を、本明細書ではスパイラル処理と呼ぶ。実行の概念としては、「派生をくるくると回す」ことで最適化するものである。
【0043】
派生トランザクションを用いたスパイラル処理により、オンラインの応答性を確保しつつ、先日付の口座処理(決済)の最適化を行うことができる。このような用途に用いられる派生トランザクションのシステム技術的な詳細については、同一出願人によってなされる別の出願を参照されたい。派生トランザクションを用いたスパイラル処理の実現には、派生トランザクションの起動時にフラグやビットを渡し、取消再カットメインでの判定にてこのフラグ等を参照することが好ましい。この点を、第3,4実施形態や、第1実施例等で詳述する。
【0044】
各実施形態にて扱う優先順位は、種々の定め方があり得る。決済を例とすると、勘定日での決済が不能の場合に直ちに不渡管理等を行わなければならないような口座処理要求の優先順位を高く設定するようにしてもよいし、処理数が大量であるものは優先順位を低く設定しておくようにしてもよいし、再カット期限が一定期間の口座処理要求の優先順位を高く設定するようにしても良い。また、一律な優先順位ではなく、個別に設定するようにしても良いし、さらに、口座振替による決済では、顧客名義人の指定に基づいて優先順位を定めるようにしても良い。
【0045】
なお、口座処理の種類別の優先順位が機能するのは、振替等の決済に関して口座残高に不足が生じる場合である。振替等による決済機能の提供という事務処理については、口座の状況に応じた最適な決済を提供すべきであり、これにより、出願人は、顧客の信頼と期待に応えることを図っている。
【0046】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
【第1実施形態】
第1実施形態では、先日付完結処理システムにおいて、現在又は現在に近い将来の勘定日での口座異動によってその勘定日またはより遠い将来の勘定日にて決済不能となる場合に、決済不能となる先日付の勘定日での取引を取り消す。この際、各取引に定義された優先順位に従って、優先順位の低い取引から順に取り消すことで、優先順位の高い取引の決済を優先する。第1,第2及び第4実施形態では、勘定日当日の取引については、決済完了性を与え、口座へのアクセスの有無に関わらず、特別な事情のないかぎり取り消さない。
【0047】
図1は、第1実施形態の構成を示すブロック図である。図1に示すように、本実施形態による先日付完結処理システムは、勘定日の取引等の口座処理要求を受信する受信手段2と、この受信手段2にて受信した口座処理要求を勘定日毎に演算する演算手段4と、この演算手段4によって演算される結果を前記勘定日毎の出金可能額等と関連した口座情報として記録するファイル6とを備えている。そして、演算手段4が、当該演算を行う演算日に対して同日又は先日付となる勘定日の口座処理要求を当該勘定日の口座情報に基づいて処理する口座処理部8と、この口座処理部8による口座処理によって先日付の勘定日での口座処理要求が決済不能となる場合には当該決済不能となる勘定日での複数の決済済みの口座処理要求のうち優先順位の低い口座処理要求を当該優先順位の低い順序にて取り消す取消処理部10とを備えている。
【0048】
受信手段2は、ネットワーク3を介して、ATM1Aや、窓口端末1Bと接続されている。そして、受信手段2は、公共料金等の引落データが格納された外部持込媒体や、融資や自動定期化サービス等の情報等を格納した内部各種DBの登録内容などに基づいて直接又は間接に口座処理要求を受信する。また、インターネットや専用ネットワーク等を介して顧客のコンピュータから口座処理要求を受信するようにしても良い。
【0049】
演算手段4は、1台又は複数台のコンピュータである。演算手段4が有する種々の手段や各部、各機能は、所定のプログラムを実行するコンピュータのCPUによって実現できる。図1に示す例では、先日付完結処理を用いた優先順位の反映のうち、取消に関して必要な種々の機能のうち、原理的に重要な部分を抽出している。
【0050】
口座処理部8は、当該演算を行う演算日に対して同日又は先日付となる勘定日の口座処理要求を当該勘定日の口座情報に基づいて処理する。「演算日」は実際にCPUを動作させている日であり、今日現在である。今日現在が3日であるとすると、「演算日」及び「演算日に対して同日」は3日であり、「先日付」は4日以後(4日,5日,…)である。口座処理部8は、口座処理要求の勘定日にて残高が算出されていない場合には、直近の残高に基づいて当該勘定日の残高を生成する。例えば演算日が3日で、勘定日が先日付となる4日で、直近の最終取引が2日であった場合、2日の残高に基づいて4日の残高を算出し、その4日の残高に基づいて4日を勘定日とする口座処理を実行する。例えば、2日に30,000の残高があり、4日を勘定日として6,000の振替(口座処理要求)と、4,000の振替とがあったとすると、4日の残高は20,000となる。その後、3日当日に16,000の出金要求があるとする。この場合、口座処理部8は、2日の残高に基づいて3日の残高を30,000とし、これから16,000を減額して14,000とする。そして、先日付の4日の残高20,000についても、この出金要求の取引金額である16,000を減額して4,000とする。
【0051】
3日に、さらに5,000の出金要求があるとする。この場合、3日の残高は14,000であるため出金可能で、3日の残高は9,000となる。そして、4日の残高を更新する。4,000から5,000を減算するとマイナス1,000となる。4日にて残高(出金可能額)がマイナスとなると、取消処理部10は、当該4日にて成立していた口座処理要求のうち最も優先順位の低い取引を取り消す。すなわち、4日にて成立していた6,000の振替と4,000の振替との優先順位を比較し、優先順位の低い振替を取り消す。例えば、6,000の振替を取り消すと、4日の残高は、マイナス1,000に、当該出金要求の取引金額6,000を加算して、マイナス1,000から5,000となる。
【0052】
このように、先日付の取引は、その決済完了性が至るまでは取り消される可能性がある。ここでは、日付変更処理を行い勘定日当日を迎えた時に、そのときまでに成立していた当該勘定日の口座処理にファイナリティを与え、確定させる。従って、取消処理部10にて取消の対象として選定されるのは、先日付で成立している取引である。
【0053】
例えば、4日を勘定日として未成立である6,000の振替は、5日への日付変更が完了するまでに、4日の残高が1,000以上増加した場合には再カットされ、一方、残高の増加のないまま5日への日付変更処理が完了すると、決済不能として振替を依頼した依頼者へ報告する。
【0054】
図2は、ファイル6のデータ構造の一例を示す説明図である。ファイル6は、口座情報として、前記口座処理部8による処理順序で処理した前記口座処理要求を取引明細として記録する取引明細セグメント12と、勘定日毎の残高を格納する残高明細セグメント14とを備えている。取引明細セグメント12には、実際に処理を行った演算日と、その口座処理の決済を行う日である勘定日と、口座処理の通番と、取引の種別と、その口座処理の優先順位と、口座処理の取引金額と、処理結果とが格納される。優先順位は、1から10までの数字としてもよいし、アルファベットとしてもよいし、3桁の数字としてもよい。優先順位を数字で表す場合には、ここでは、数値の小さいものが優先順位が高いものとする。すなわち、優先順位1の口座処理Aと、優先順位2の口座処理Bとでは、口座処理Aの優先順位が高い。「結果」は、その取引が成立したか否かを示す情報である。
残高明細セグメント14には、勘定日と残高とが格納されている。残高明細は、新しい勘定日での口座処理が実行されるときに生成される。例えば、10日と13日に残高明細があった場合に、12日での口座処理要求があった場合には、10日の残高に基づいて12日の残高明細を作成する。この12日の口座処理要求が決済不能で未成立となる場合であっても、12日の残高明細を生成する。
【0055】
図2に示す取引明細セグメント12を有する場合、取消処理部10は、この取引明細セグメントの各取引明細毎の勘定日及び優先順位を参照して前記取消対象の口座処理要求を特定する取消対象特定機能21を備える。取消対象特定機能21は、出金可能額がマイナスとなった勘定日を取消対象勘定日として、この取消対象勘定日に成立している一又は複数の口座処理要求を特定し、この口座処理要求群のなかで優先順位が最も低い口座処理要求を特定する。
【0056】
一般的に、公共料金の引落等は振替日当日のみに引落を行う。このため、その振替日(勘定日)に残高に不足があり最終的に決済不能であると、公共料金の支払いができず、来月に再度口座振替処理を行うこととなる。一方、自動的に積立を行う契約などでは、積立をする振替日(勘定日)のみならず、次回の振替日の前日まで残高がある場合には積立を行う。この場合、勘定日は1か月間となる。勘定日の初日を勘定日と呼び、振替日の前日など再カットを行う期限を再カット期限と呼ぶこともある。
【0057】
一定期間の勘定日を有する口座処理では、例えば、10日を勘定日の初日としている場合、10日には残高が不足し、一方、11日には先日付での入金があるため決済可能であるとすると、10日で未成立とした後に、11日を勘定日として口座処理を行う。その後、10日に入金がある場合には、11日の口座処理ではなく、10日の口座処理とすることが好ましい。例えば、融資の返済等で11日を勘定日とすると延滞金が発生するような局面も想定されるため、先日付で成立している口座処理を、より前の勘定日へ前倒することが望ましい。
【0058】
この前倒を行う例では、図1に示す口座処理部8が、口座処理要求を実行した後に、当該実行対象の勘定日以後の日時を勘定日とする口座処理要求のうち決済済の口座処理要求を取り消すと共に、当該取り消した口座処理要求を前記実行対象の勘定日での口座処理要求として再実行する先日付前倒制御機能を備えると良い。この先日付前倒制御機能により、一定期間の勘定日を有する口座処理を、口座残高の異動があった時に、決済可能なより前の勘定日での取引とすることができる。
【0059】
図3(A)は、取消、再カット及び前倒処理を含めた先日付完結処理の動作例を示す説明図である。第1実施形態乃至第4実施形態は、図3に示す動作をそれぞれの局面で機能強化したものである。
図3(A)中、口座処理は、取引の内容を示し、残高(口座情報)は、取引の結果を示す。演算日は、口座処理要求を実行する日である。勘定日は、取引を行うべき日で、自振通番は、自動振込や自動振替等の自振を個別に識別するための番号である。取引は、口座からの出金や、口座への入金などであり、取引種類にその具体的な取引内容が格納される。取引金額は自振等の金額であり、結果は、その口座処理(取引)が成立したか否かを記録するものである。
【0060】
まず、10日の残高が30,000であるとする。10日に、先日付である11日を勘定日とする電気料引落(自振番号001)が行われるとする。この場合、口座処理部8は、まず、11日の勘定日の直近の勘定日である10日の残高に基づいて、11日の残高を30,000とする。出金10,000は決済可能であるため、電気料引落による出金を成立させる。すると、11日の残高は20,000となる。このとき、10日の残高にはなんら変更がない。
【0061】
続いて、10日に、12日を勘定日として振込による50,000の入金があるとする。口座処理部4は、直近の勘定日である11日の残高を12日の残高として展開し、さらに50,000を加算する。この結果、12日の残高は70,000となる。さらに、10日当日にATMによる現金出金(支払)があるとする。10日の残高は30,000であるため、25,000は出金可能であり、取引は成立する。10日の残高は5,000となる。口座処理部4は、10日の残高を更新したため、この25,000の出金を11日及び12日の残高へ反映させる。すなわち、ATMによる出金処理の取引金額を11日及び12日の残高に加算する。
このATMでの25,000の出金が完了した状態での各勘定日の出金可能額を算出した例を図3(B)に示す。図3(B)に示すテーブルを、日付チェックテーブルと呼ぶ。図3(A)及び(B)に示すように、11日の残高が−5,000となり、取消必要額が5,000である。
【0062】
取消処理部10は、11日の残高がマイナス(出金可能額よりも口座処理による出金額が大きい)となったため、出金可能額がマイナスとなった11日にて成立している口座処理要求のうち、最も優先順位の低い取引を取り消す。ここでは、電気料引落による出金要求(自振番号001)を取り消す。この取消により、電気料引落は未成立となる。取消金額は10,000であるため、11日の残高は5,000となり、残高不足での出金という状態が解消された。12日の残高は55,000となる。
【0063】
勘定日を11日(実際の勘定日の期間は契約による)とし、再カット期限を約定返済日の翌々々月とする融資の返済を口座振替で行う場合、11日での決済が不能であると、12日に決済を行う場合がある。例えば、図3(A)に示す例では、11日では決済不能であるため、11日を勘定日とする融資返済は未成立となる。この例では、再カット期限内である12日を勘定日とする決済が可能であるため、12日を勘定日として口座振替を行う。約定返済日が11日の融資返済を12日に返済すると、融資返済の元金に対して延滞利息が発生する。ここでは、一日分の延滞利息は10円として説明する。融資返済は成立し、12日の残高は14,990となる。
【0064】
10日に、11日を勘定日とする振込による入金があると、まず、11日の残高が65,000となる。これにより、12日を勘定日として成立していた融資返済処理は、11日にて決済可能となる。先日付前倒制御機能は、12日にて成立していた融資返済を取り消し、11日の勘定日として再カットする。12日の残高は、一旦40,010の取消により増加する。続いて、11日での再カットの残高が反映されて、75,000となる。この前倒制御により、先日付の入金に応じて、延滞利息が発生する12日での取引を取り消すことができる。また、11日を勘定日とする電気料引落が未成立であったため、当該電気料10,000を再カットする。10日に実行した口座処理はこれが最終であり、このまま11日を迎える。11日になると、10日の残高5,000ではなく、11日の残高15,000にアクセスする。この15,000の残高は、振込による入金と、融資の返済と、電気料の引落とが完了した残高である。このように、先日付完結処理では、バッチ処理と同様の結果をオンライン処理時間中に実行することができる。また、バッチ処理を行わずに24時間連続してオンライン処理を稼働することができる。
【0065】
図3(A)に示すように、先日付の取引をオンライン処理中に行い、勘定日別の残高を持ち、ATM等による取引は当日の残高に基づいて処理を行うことにより、振替や振込等の事前にほぼ取引の内容が判明している口座処理を勘定日よりも前の日時にて完結させることができる。これにより、振替等のバッチ処理を無くし、24時間365日の連続稼働が可能となる。また、24時間稼働としない場合であっても、夜間や早朝のバッチ処理が不要となるため、口座処理の運用コストを低下させ、かつ、夜間の短時間でのCPUの処理能力を増加させるための投資を不要とする。また、顧客サービスという点からも、日付が変化した時には新たな残高に基づいて直ちに取引を開始することができるため、インターネットを介した取引等を24時間連続してシームレスに行うことができる。
【0066】
取消処理部10は、出金可能額がマイナスとなった勘定日がある場合に、その勘定日に成立していた口座処理を取り消す。出金可能額は、図3(A)に示す例では残高のみとした。しかし、担保定期等自動融資がある場合には、残高と出金可能額とが異なることがある。例えば、口座に対して担保となる定期預金等がある場合に、この定期預金を担保として普通預金に自動融資を行うサービスがある。100,000の担保定期がある場合には、一般的には、その9割の90,000が貸越極度となる。残高が10,000である場合には、この10,000に貸越極度の90,000を加算した100,000が出金可能額である。担保定期が設定されている場合には、残高がマイナスであっても、貸越極度の範囲内であれば、出金可能額はプラスである。
【0067】
手形や小切手等については、不渡通知がない場合に出金可能な残高に組み込むことが行われている。この場合、残高明細セグメントが、資金化日での資金化を予定する未資金化残データと、出金可能な残高を示す実残データ(残高)とを備える。そして、不渡連絡時刻後の資金化処理を口座処理要求によって実行し、未資金化残を残高に組み込む。
【0068】
例えば、10日を資金化日とする小切手による入金100,000が既に先日付の口座処理要求で残高明細に反映されているとする。この100,000をそのまま実際の残高である実残に加算してしまうと、現金出金後に不渡連絡を受信する可能性に対応できなくなる。このため、資金化日である10日には、100,000を未資金化残として残高明細に格納する。一方、先日付である11日については、不渡連絡を待たずに実残に組み込む。これは、11日は先日付であるため、仮に資金化が不能となった場合に資金化処理を取り消せば良く、また、11日を勘定日とする残高は、10日に現金出金することもできず、さらに、一般的には不渡通知を受信せず、正常に資金化できる可能性が高く、その場合、先日付の出金などが未成立とならない可能性が高まることによる。実際、10日の不渡連絡の受信前に先日付での振替で250,000の出金が有る場合には、50,000の残高とし、未成立の口座処理による取消や再カット処理の発生を防止することができる。
【0069】
資金化日である10日の11:30までに不渡連絡がなかった場合には、資金化処理を実行し、未資金化残を実残に組み込む。一方、不渡連絡を受けた場合には、資金化を行わず、また、11日を勘定日とする残高についても100,000減少させる。
【0070】
再度図1を参照すると、取消処理部10は、前記口座処理部によって口座処理が行われる毎に前記残高明細セグメントに基づいて先日付の勘定日毎の出金可能額を算出する日付チェックテーブル生成機能20と、出金可能額がマイナスとなる勘定日がある場合には当該勘定日での決済済みの口座処理要求を前記優先順位の低い順序で前記出金可能額がプラスとなるまで取り消す制御をするマイナス時取消制御機能22とを備えている。日付チェックテーブル生成機能20は、口座残高に異動があった場合に、図3(B)に示すような日付チェックテーブルを生成する。日付チェックテーブルを生成すると、出金可能額がマイナスとなっている勘定日と、その勘定日よりも将来の先日付での口座処理の有無等を特定することができる。
【0071】
出金可能額がマイナスとなるのは、そのマイナスとなった勘定日に出金を行う口座処理要求があるためである。従って、その勘定日に成立している出金要求を取り消す。出金可能額がマイナスとなっている勘定日の前日等が先日付である場合には、その前日での出金を取り消すと出金可能額がプラスとなることはあり得るが、勘定日当日に残高がある場合に振替を行うという契約の元では、出金可能額がマイナスとなっている前日以前にて成立している口座処理要求を取り消すことはない。
【0072】
マイナス時取消制御機能22は、日付チェックテーブルを参照して、出金可能額がマイナスとなる勘定日がある場合には当該勘定日での決済済みの口座処理要求を前記優先順位の低い順序で前記出金可能額がプラスとなるまで取り消す制御をする。これにより、先日付完結処理を実行しつつ、残高が不足している状態での決済の成立を防止する。
【0073】
この取消制御を図4に示すフローチャートを参照して説明する。先日付完結処理システムの前記演算手段4を使用して口座処理を行う先日付完結処理方法は、演算手段4にて演算を行う演算日に対して同日又は先日付となる勘定日の口座処理要求を当該勘定日の口座情報に基づいて処理する口座処理工程S1と、この口座処理工程S1での口座処理によって先日付の勘定日での口座処理要求が決済不能となるか否かを判定する取消要否判定工程S2,S3と、この取消要否判定工程S3にて取消要と判定されている場合には当該決済不能となる勘定日での複数の決済済みの口座処理要求のうち優先順位の低い口座処理要求を当該優先順位の低い順序にて取り消す口座処理要求を前記口座処理工程にて実行させる取消処理制御工程S4とを備えている。取消要否判定工程S3は、日付チェックテーブルを生成する日付チェックテーブル生成工程S2と、日付チェックテーブルにて出金可能額がマイナスとなっている勘定日について取消が必要と判定する工程S3とを備えるとよい。
【0074】
図4に示す例では、通常の口座処理要求をステップS1にて行い、さらに、口座処理の取消をステップS1にて行う。このため、出金可能額がマイナスとなっている勘定日がある場合に、まず、最も優先順位の低い口座処理を取り消し、そして、この取消後の状態で再度日付チェックテーブルを生成して取消の要否を判定し、出金可能額のマイナスが解消しない場合には次に優先順位の低い口座処理の取消を制御する。これを繰り返すことで、優先順位の高い口座処理の決済を残しつつ、出金可能額のマイナスを解消させることができる。すなわち、出金可能額の範囲内で、優先順位の高い決済を実行することができる。
【0075】
演算手段4は、所定のプログラム(指令)に従って各種の演算を行うCPUを備えている。CPUは、勘定日別の口座処理を行うための指令や、勘定日別の口座情報を格納するための指令や、融資契約をファイル6の融資マスタDB等に登録するための指令や、出金可能額がマイナスとなった勘定日での最も優先順位の低い口座処理の取消を制御する指令等の先日付完結処理用プログラムを実行することで、図1に示す口座処理部8や、取消処理部10として動作する。これらのプログラムはCPUに併設されたプログラム記憶部に格納される。また、基本的な入出力を行うオペレーティングシステムや、データベースの管理やログによる復帰や、トランザクションの管理などを行うプログラム群についても、このプログラム記憶部に格納されている。
【0076】
このような先日付完結処理用プログラムは、CPU(演算手段)を動作させる指令を備える。例えば、演算日に対して同日又は先日付となる勘定日の口座処理要求を当該勘定日の口座情報に基づいて処理させる口座処理指令を備えている。CPUが口座処理指令を実行することで、このCPUは図1に示す口座処理部8として動作し、図4に示す口座処理工程S1を実行する。本実施形態による先日付完結処理用プログラムは、この口座処理指令に応じてCPUにて実行される口座処理によって先日付の勘定日での口座処理要求が決済不能となるか否かを判定させる取消要否判定指令と、この取消要否判定指令にて取消要と判定される場合には当該決済不能となる勘定日での複数の決済済みの口座処理要求のうち優先順位の低い口座処理要求を当該優先順位の低い順序にて取り消す口座処理要求を前記口座処理指令を用いて実行させる取消処理制御指令とを備える。
【0077】
また、先日付完結処理システムにて実現すべき各手段、各部又は各機能や、フローチャートの各工程に応じた指令を備えることで、CPUは種々の機能を有する演算手段2として動作する。先日付完結処理用プログラムは、磁気テープ(MT)やディスク等の記録媒体11Aに格納されて搬送され、媒体読取部11によって読み取られる。記録媒体に格納されていた先日付完結処理用プログラムは、媒体読取部11にて読み取られた後、プログラム記憶部に格納される。また、他のホスト装置から通信回線を経由してプログラム記憶部にプログラムを提供することもできる。
【0078】
プログラムについて、CPU(演算手段)を「動作させる指令」というときには、各指令のみでCPUを動作させる指令と、プログラム記憶部に予め格納されているオペレーティングシステム等の他のプログラムに依存して当該CPUを動作させる指令とのいずれかまたは双方を含む。例えば、取消処理制御指令は、優先順位が最も低い口座処理の取消の起動要求をオペレーティングシステムに引き渡す指令のみでもよい。このように、当該先日付完結処理用プログラムを記憶する記録媒体11Aであって、当該プログラムをユーザへ搬送する用途の記録媒体11Aには、例えば「優先順位が最も低い口座処理の取消の起動をオペレーティングシステムに要求する指令」のみが格納され、実際の取消処理のスケジューリング等はオペレーティングシステムが行う場合がある。これは、動作させようとするコンピュータのオペレーティングシステム等との関係で定まる。この点、通信回線を介してプログラム(指令)を提供する場合も同様である。
このプログラムとシステム又は方法、搬送媒体等に関する説明は後述する実施形態及び実施例においても同様である。
【0079】
図5は第1実施形態による処理例を示す説明図である。図5(A)に示すように、演算日を10日とし、10日での残高を30,000とする。先日付での8,000の支払Bと、10,000の支払Aと、2,000の支払Cとをこの順序で処理すると、11日付けの残高は10,000となる。支払の優先順位は支払Aが一番高く、支払Cが一番低い。この状態で、10日当日にATMでの現金出金20,000があると、10日付の残高は30,000であるから出金可能で、10日の残高は10,000となる。10日にて減額した20,000を11日に反映すると、11日の残高(出金可能額)はマイナスになる。
【0080】
このATM出金があった状態を最終状態とすると、11日を勘定日とする口座処理要求のすべてを決済することはできない。単純に成立順に取り消すのであれば、支払Bと支払Aとが取り消される。成立の逆順の場合には支払Cと支払Aとが取り消される。本実施形態では、図4を参照して説明すると、ATM現金出金が完了した時点で(ステップS1)、日付チェックテーブルを作成する(ステップS2)。日付チェックテーブルを参照すると、11日にて取消が必要と判定される(ステップS3)。図1に示す取消処理部10は、11日にて成立している口座処理のうち、優先順位の最も低い口座処理を取り消す制御をする(ステップS4)。すると、ステップS1にて支払Cを取り消す。
【0081】
支払Cを取り消した状態での日付チェックテーブルでは、11日の出金可能額は−8,000であり(ステップS2)、取消処理部10は、取消が必要と判定する(ステップS3)。支払Bと支払Aとでは、支払Bの優先順位が低い。このため、ステップS4にて支払Bの取消を制御する。支払Bを取り消すと、11日の残高は0となり、マイナスの状態が解消された。この支払Bを取り消した状態を図5(B)に示す。図5(B)に示すように、11日の10,000の残高を最も優先順位の高い支払Aの決済に用いることができる。
【0082】
このように本実施形態では、口座処理の実行順序にかかわらず、残高が不足する場合に、予め定義した優先順位に従った決済を行うことができる。従って、口座処理の実行順序を厳格に定める必要がなくなり、演算手段4のオペレーションでの負担が格段に軽くなる。また、先日付の口座処理及び必要な取消が完了した段階で、日付変更時になんら処理を行わずに、優先順位の高い支払Aの口座処理が確定するため、24時間稼働を実現することができる。
【0083】
また、未成立となった支払B及び支払Cについては、12日を迎える以前に入金があった場合には、残高が増加し、再実行(再カット)により決済を成立させることができる。この再カット処理にて優先順位を反映させる手法を第2実施形態として開示する。
【0084】
【第2実施形態】
先日付完結処理では、最後の口座処理要求を実行した結果(残高等)に基づいて、先日付での口座処理を実行する。このため、口座残高の異動に応じて、先日付で決済不能であった口座処理を再カットすることができる。また、特開昭59−77573号公報に開示されているように、未成立であった口座処理について当日に入金があった時についても再カットするようにしても良い。第2実施形態では、再カットを実行するとき、優先順位の高い取引から再カットを試みることで、優先順位に従った決済を図る。
【0085】
図6は、第2実施形態の構成例を示すブロック図であり、演算手段の構成とファイル6内部の構成以外は図1に示すシステムと同様である。図6に示す例では、演算手段4が、当該演算を行う演算日に対して同日又は先日付となる勘定日の口座処理要求を当該勘定日の口座情報に基づいて処理する口座処理部8と、この口座処理部8による口座処理によって当該口座処理の勘定日と同日又は先日付の勘定日で未成立であった口座処理要求が決済可能となる場合には、当該決済可能となる勘定日での複数の未決済の口座処理要求のうち、優先順位の高い口座処理要求を当該優先順位の高い順序にて処理する再カット処理部24とを備えている。
【0086】
残高の異動を生じさせる口座処理の勘定日が演算日(今日現在)であれば、口座処理の勘定日と「同日」は、演算日である。勘定日が先日付である場合には、勘定日と同日も先日付である。従って、再カットの対象は、勘定日以後に未成立であった口座処理要求である。異なる複数の先日付での勘定日がある場合、残高の異動を生じさせた口座処理の勘定日に最も近い将来の勘定日から再カットを試み、最も遠い将来の勘定日での再カットの試みが完了した時点で再カット処理の全体が終了する。
【0087】
再カット処理部24は、口座処理部8による口座処理によって、当該口座処理の勘定日と同日又は先日付の勘定日で未成立であった口座処理要求が決済可能となる場合に再カットの対象となる口座処理の特定を行う。この再カットの対象は、当該決済可能となる勘定日での複数の未決済の口座処理要求のうち、優先順位の高い口座処理要求である。
【0088】
第1実施形態では、取消の対象を取引明細セグメントから抽出した。第2実施形態では、決済不能で未成立の口座処理を残不足明細として格納する残不足明細セグメント16を用いるとよい。残不足明細セグメント16は、前記残不足明細毎に、当該口座処理要求の勘定日と、当該口座処理要求の他の口座処理要求に対する優先順位と、取引金額等を記録する。再カットが可能であるということは、この取引金額よりも出金可能額が多いということである。
【0089】
図6を参照すると、再カット処理部24は、前記残不足明細セグメントの各残不足明細毎の勘定日及び優先順位を参照して再カット処理対象の口座処理要求を特定する再カット対象特定機能26を備える。再カット対象特定機能は、複数の残不足明細のうち、残不足明細セグメントに記録された優先順位を参照して、優先順位の最も高い口座処理要求の再カットを試みる。この口座処理要求の取引金額では再カットが不能の場合には、次に優先順位が高い取引の再カットを試みる。
【0090】
さらに、本実施形態では、再カット処理部24は、前記口座処理部24によって口座処理が行われる毎に前記残高明細セグメントに基づいて当該口座処理の勘定日以後の各勘定日毎の出金可能額を算出する日付チェックテーブル生成機能20と、前記残不足明細セグメントに格納された口座処理要求である出金要求を優先順位の高い順序でかつ勘定日順に前記出金可能額と比較すると共に出金可能額を下回る出金要求が発見された場合に当該出金要求を口座処理要求として前記口座処理部に実行させるプラス時再カット制御機能28とを備えている。
【0091】
プラス時再カット制御機能28により、口座残高に異動がある毎に再カットの可能性を順次探索することができる。10日の出金可能額が0から30,000へと変化した場合、11日の50,000の未成立の口座処理要求は優先順位が高くても再カットすることはできないが、20,000の口座処理要求は再カットすることができる。また、12日にて5,000の口座処理要求が未成立であれば、10日の30,000の入金によって、この12日の5,000の口座処理要求も再カットすることができる。一方、12日にて15,000の口座処理要求が未成立であった場合には、11日の20,000を再カットしたことで、12日の残高は10,000となるため、この15,000の口座処理要求は再カットできない。処理の最終結果において、12日の口座処理要求を11日の口座処理要求よりも優先することはない。決済予定日(勘定日)の残高に基づいて振替等を行うため、優先順位はあくまでも同一勘定日内での口座処理要求の優先順位を定めるものとなる。
【0092】
日付チェックテーブル生成機能は、口座残高に異動が生じた勘定日以後に成立又は未成立の口座処理要求が存在する日付の出金可能額を算出する。プラス時再カット制御機能28は、日付チェックテーブルが生成されると、演算日当日または最も近い日付(日付チェックテーブルのすべての日付のなかでは、最も古い日付、日付チェックテーブルの先頭日又は先頭勘定日と呼ぶ)での出金可能額と、その日付を勘定日とする残不足明細とを比較する。すなわち、最も現在に近い日付から再カットを試み、元も遠い将来での再カットの判定で完了する。勘定日で前記残不足明細セグメントに格納された口座処理要求(出金要求)を、優先順位の高い順序で出金可能額と比較する。再カット可能な口座処理要求を発見した場合、発見された口座処理要求は、出金可能額内で再カット可能な口座処理要求のうち優先順位の最も高い口座処理要求である。再カット処理部24は、この口座処理要求の再カットを起動する。
【0093】
この再カットによって、口座残高に異動が生じる。このため、再カット処理部24は、再カット後の最新の口座残高に基づいて日付チェックテーブルを作成する。そして、新しい出金可能額内で再カット可能な口座処理要求を優先順位に従って探索する。日付チェックテーブルの日付のうち最も現在に近い日付(先頭日,例えば10日)での残不足には、再カット可能な対象がない場合には、その次の勘定日(例えば12日)に処理を移す。この次の勘定日(12日)にて先日付の口座処理要求が成立している場合には、10日の出金可能額と12日の出金可能額は異なる。従って、再カット処理部24は、次の勘定日(12日)の出金可能額に基づいて、その日付を勘定日とする未成立の口座処理要求の再カットを優先順位に従って試みる。このように、日付チェックテーブルに存在するすべての日付の探索が完了したときに、再カットの判定・起動処理を終了する。
【0094】
本実施形態では、残不足明細は勘定日毎に、そして同一勘定日内では優先順位に従って判定対象として読み出される。従って、残不足明細セグメントのデータ構造を、勘定日を第1キーとし優先順位を第2キーとして勘定日順に、そして、当該勘定日内では優先順位順に論理的に並べられた状態とすることが好ましい。この場合、プラス時再カット制御機能28は、前記残不足明細セグメントのデータ構造に従った順序で前記出金可能額と比較する機能を備えるとよい。
【0095】
なお、残不足明細のデータ構造は処理の内容に依存して定まる。本実施形態では、説明を簡単にするために前倒制御についてふれず、また、好ましい実施例で採用する優先順位のグループについては言及しない。これらの前提による残不足明細の好ましいデータ構造については、第1実施例に開示される。例えば、勘定日がその当日のみでなく、再カット可能な期間(再カット期限)が一定期間ある口座処理要求を第1群とし、再カット期限が振替日当日のみであるものを第2群とする場合には、勘定日を第1のキーではなく、優先順位が第1群であることを示す値を第1のキーとすると良い。
【0096】
再カットの判定および起動処理を図8のフローチャートを用いて再度説明する。先日付完結処理システムの演算手段4を使用して口座処理を行う先日付完結処理方法は、図8に示すように、演算手段4にて演算を行う演算日に対して同日又は先日付となる勘定日の口座処理要求を当該勘定日の口座情報に基づいて処理する口座処理工程S11と、この口座処理工程S12での口座処理によって当該口座処理の勘定日と同日又は先日付の勘定日で未成立であった口座処理要求が決済可能となるか否かを当該口座処理要求の優先順位の高い順に判定する再カット可否判定工程S12乃至S17と、この再カット可否判定工程S12乃至S17にて再カット可能と判定された場合には当該再カット可能な口座処理要求を前記口座処理工程にて実行させる再カット処理制御工程S18とを備えている。
【0097】
口座処理工程S11にて口座処理を行うと、まず、日付チェックテーブルを作成する(ステップS12)。このとき、口座処理の勘定日が10日であれば、10日が当日であるか先日付であるかにかかわらず、10日を日付チェックテーブルの先頭日とする。そして、残高明細を参照して、先頭日以降で残高が格納されている日付の出金可能額を算出する。例えば、12日と13日にて先日付の未決済残不足があり、14日以後を勘定日とする口座処理がない場合には、10日と、12日と、13日の出金可能額を算出する。先日付の勘定日にて出金可能額にマイナスがある場合には、第1実施形態による取消を行う。
【0098】
再カット可否判定工程では、まず、ステップS11にて処理した口座処理要求の勘定日を先頭日として、この先頭日以後の残高明細セグメントに基づいて日付チェックテーブルを生成する(ステップS11)。日付チェックテーブルは、ステップS1にて口座に直接の異動があった勘定日を先頭日として、それよりも先日付で口座処理が行われている場合に、その口座処理に応じて作成された残高明細に基づいて、出金可能額を算出する。
続いて、ステップS13では、再カットの判定を行う対象日を特定する。日付チェックテーブルの生成直後の場合には、先頭日を対象勘定日とし、その出金可能額を特定する。そして、対象勘定日を勘定日とする残不足明細セグメントから、未判定で最も優先順位の高い口座処理を特定する。未判定の口座処理要求は、対象勘定日を勘定日として残不足明細に格納された口座処理要求であって、ステップS15による再カット可否の判定を行っていない口座処理要求である。残不足明細が優先順位順に読み出せる場合には、読み出した口座処理要求が対象とすべき勘定日でかつ、最も優先順位の高い口座処理要求となる。
【0099】
さらに、ステップS14にて特定した口座処理要求の取引金額と、対象勘定日の出金可能額とを比較することで、再カットの可否を判定する(ステップS15)。再カット可能であれば、当該ステップS14にて特定した口座処理要求の再カットを起動し、ステップS11の口座処理工程にて再カットさせる(ステップS18)。ステップS11にて再カットを実行すると、再度日付チェックテーブルを生成する(ステップS12)。当初の先頭日(例えば、10日)よりも先日付(より将来,例えば、12日)の勘定日の口座処理要求を再カットした場合には、再カット完了後の日付チェックテーブルでは、先頭日がより将来の勘定日(12日)へとシフトする。
【0100】
ステップS15にて再カット可能でなければ、さらに対象勘定日内での次の残不足明細を探索する(ステップS16)。残不足明細がある場合には、ステップS14にて当該口座処理要求を特定し、再カット可能か否かを判定する(ステップS15)。ステップS13にて対象勘定日が特定された後、S14,S15,S16を繰り返すことで、特定の対象勘定日での残不足明細を優先順位順に全て探索することができる。
【0101】
ステップS16にて対象勘定日での残不足明細のが全て完了した場合には、続いて、日付チェックテーブルにて出金可能額が算出された日付のうち、対象勘定日に最も近い将来の日付を対象勘定日として特定する(ステップS17,S13)。例えば、日付チェックテーブルの先頭日が10日で、12日と13日の出金可能額が算出されており、10日を勘定日とする残不足明細の再カットが全て不能であった場合には、ステップS17にて日付チェックテーブルを参照する。そして、対象勘定日(10日)の次の勘定日が日付チェックテーブルに存在する(12日)ため、ステップS13にて対象勘定日を再設定し、その再設定した対象勘定日(12日)での出金可能額を特定する。
【0102】
そして、12日及び13日を勘定日とする未成立の口座処理要求を探索する。13日を勘定日とする口座処理要求のうち、最も優先順位の低い口座処理が再カット不能であると(ステップS15)、対象勘定日内に次の残不足明細がなく、そして、対象勘定日よりも先日付の日付は日付チェックテーブルに存在しない。このため、再カットの判定及び起動処理を終了する。
【0103】
図8に示す例では、演算日当日の再カットと、先日付での再カットとを特に区別することなく同一の処理で実行することができる。当日の再カットと先日付での再カットは、日付チェックテーブルの先頭日が当日であるか先日付であるかの相違だけである。もちろん、当日の再カットについては、再カットした時点で決済完了性を有し、確定する。
【0104】
第1実施形態と同様に、演算手段8のCPUが複数の指令からなるプログラムを実行することで、図6に示す構成や、図8に示す処理を実現することができる。第2実施形態では、先日付完結処理用プログラムは前記演算手段を動作させる指令として、演算手段4にて演算を行う演算日に対して同日又は先日付となる勘定日の口座処理要求を当該勘定日の口座情報に基づいて処理させる口座処理指令と、この口座処理指令に応じた口座処理によって当該口座処理の勘定日と同日又は先日付の勘定日で未成立であった口座処理要求が決済可能となるか否かを当該口座処理要求の優先順位の高い順に判定させる再カット可否判定指令と、この再カット可否判定指令に応じて再カット可能と判定される場合には当該再カット可能な口座処理要求を前記口座処理工程にて実行させる再カット処理制御指令とを備えている。再カット可否判定指令は、図8に示すステップS12からステップS17までの各工程に対応する指令を備えると良い。
【0105】
図9は、第2実施形態による動作例を示す説明図である。図9(A)に示す例では、図5に示す20,000のATM現金出金に続いて、11日を勘定日として通番004の振込入金があった場合である。11日を勘定日とする入金であるため、残高は0から9,000となった。図8を参照すると、振込入金を口座処理として実行し(ステップS11)、続いて、日付チェックテーブルを生成する(ステップS12)。日付チェックテーブルは、11日のみであり、先頭日は11日となる(ステップS13)。図9に示す例では、残不足明細に未成立の口座処理として支払B,支払Cが格納されている。最も優先順位が高い口座処理は支払いBであるため(ステップS14)、支払Bの取引金額8,000と11日の出金可能額9,000とを比較する。取引金額が出金可能額よりも小さいため、再カット可能であり、ステップS18にて当該支払Bの再カットを起動する。
【0106】
ステップS11にて支払Bを再カットし、日付チェックテーブルを作成すると、11日の出金可能額は1,000である。支払Cの再カットはできないため、ステップS16にて11日内の次の残不足明細の有無を確認すると、残不足明細は支払Cで最後である。そして、11日を基準とした先日付の残高明細は存在しない(日付チェックテーブルに日付がない)。このため、図8に示す処理を完了する。この状態を図9(B)に示す。本実施形態によると、図9(B)に示すように、振込入金による口座異動に応じて、優先順位の高い支払Bの決済を行うことができた。
【0107】
【第3実施形態】
第3実施形態では、先日付完結処理において、先日付の取消と再カットとを組み合わせることで、優先順位が定義された複数の操作にとって共通資源を最適な状態で利用する仕組みを開示する。この第3実施形態では、決済のみに限定することなく、基幹系の業務全般への適用可能である。
【0108】
図10は、本実施形態による資源利用最適化システムの構成例を示すブロック図である。図10に示すように、資源利用最適化システムは、業務処理要求の実行可否を定める資源の状態を一定期間別(競合単位別)に先日付で記録した資源状態ファイル7と、この資源状態ファイルに記録された情報に基づいて各業務処理要求を処理する演算手段4とを備えている。資源状態ファイル6は、資源の状態を過去から現在並びに将来となる先日付まで日単位等資源の不足が生じる競合単位毎に格納する資源明細セグメント7Aと、過去又は先日付で成立した業務処理要求を当該業務処理の優先順位付きで成立順に格納する取引明細セグメント7Bと、先日付にて資源不足で未成立の業務処理要求を当該優先順位付きで格納する未成立明細セグメント7Cとを備えている。
【0109】
本実施形態で管理対象となる資源としては、第1、第2実施形態での口座の残高が該当する。その他、座席数や空室数を資源として予約処理に適用してもよいし、また、数量や納期が限られた商品やサービスの販売管理などに応用しても良い。本実施形態は、有限の共通資源に対して複数の処理要求(ここでは、業務処理要求と呼ぶ)が競合する場合に、業務処理要求の種類等に応じて予め定められた優先順位に従って共通資源を配分するシステムである。
【0110】
図10に示す例では、演算手段4は、業務処理要求を実行すると共に当該業務処理要求が成立した場合には前記取引明細セグメント7Bに記録する一方、前記資源の不足で未成立の場合には前記未成立明細セグメント7Cに記録する業務処理部38と、この業務処理部38による処理の結果先日付にて前記資源に不足が生じた場合には、当該不足が生じた期間(決済の例では、勘定日)内で前記取引明細セグメント7Bに記録された業務処理要求群から優先順位の低い順に前記資源不足が解消するまで順次業務処理要求を取り消す取消処理部40と、業務処理部38による処理の結果、当日又は先日付にて資源が増加した場合には当該増加した期間以後で前記未成立明細セグメント7Cに記録された業務処理群から前記資源不足とならない利用可能資源の範囲内で前記未成立の業務処理要求を優先順位の高い順に実行する再実行処理部42とを備えている。
【0111】
業務処理部38は、業務の内容に応じて、サービスの提供や、商品の販売などの予約などの要求を処理する。このとき、先日付での予約を受け付ける一方、確定した予約として取り扱わず、当日又は直前までの取消を許容すると良い。取消処理部40は、業務処理の結果、資源に不足が生じた場合には、資源不足が解消するまで順次業務処理要求を取り消す。このとき、優先順位の低い業務処理から順に取り消していくことで、優先順位の高い業務処理に優先して資源を割り当てる。
【0112】
また、再実行処理部42は、業務処理による処理の結果、資源が増加した場合には、未成立明細セグメント7Cに格納された業務処理要求をその優先順位の高い順に再実行を試行する。優先順位の高い順に業務処理要求の再実行を制御することで、優先順位の高い業務処理に優先して資源を割り当てることができる。
【0113】
一般的に、トランザクション管理では、アボート(処理の中断及び処理開始前への復帰)の連鎖を避けるべきであるといわれている。連鎖的なアボートは、不正な値に従ったトランザクションをアボートし、このトランザクションのアボートがさらに他のトランザクションのアボートを引き起こし、これが連鎖的に生じることをいう。連鎖的なアボートの発生は処理性能上大きな問題となるため、その発生を回避すべきであるとされる。連鎖的アボートは、トランザクションが、取り消される可能性のある値に基づいて処理を行わないことを保証すると、連鎖的アボートは生じない。
【0114】
先日付完結処理(予約等を含む)では、将来の資源の利用については確定させていない。決済を例にすると、先日付での資源の利用については決済完了性を与えず、取消を可能としている。また、飲食や宿泊施設の予約は、当日の一定期間前までのキャンセルや変更が可能である。従って、先日付完結処理では、資源の利用の取消が生じ得る。そして、先日付でさらに各業務処理や口座処理に優先順位を与えるには、取消や再実行を多用しなければならず、連鎖的なアボートと同様の事態が生じ得る。
【0115】
例えば、業務処理に優先順位を割り当て、優先順位の高い業務処理を実行し、優先順位の低い業務処理の取消を行うことで、優先順位に従った業務処理の入れ替えを行うのは、業務処理をトランザクションとして考えると、業務処理の連鎖的なアボートと同様の状態となってしまう。すなわち、トランザクションの入れ替えを行おうとすると、一旦成立しているトランザクションを次々とアボートする必要性が生じてしまう。
【0116】
本実施形態では、単純なトランザクション処理システムではなく、取引明細セグメントと、未成立明細セグメントとを利用して、業務処理(トランザクション)の入れ替えを行うものである。すなわち、連鎖的なアボートが生じる状況を未成立明細セグメント及び取引明細セグメントとして管理しつつ、取消処理と再実行処理とを組み合わせることで、優先順位に応じた業務処理の入れ替えや再構築を行う。これにより、連鎖的なアボートと同様の事態によるシステム不安定さを回避しつつ、先日付での優先順位の反映を実現する。
【0117】
具体的には、取消処理部による取消や、再実行処理部による再実行を、トランザクションとしてのACID特性を満たすようにすることでトランザクションの連鎖的アボートを防ぎ、一方、個別のトランザクションの結果を未成立明細セグメントや取引明細セグメントとして安定な状態で記録する。すると、取消処理や再実行処理は、トランザクション管理システムのレベルでは厳格に安定して実行することができる。しかし、業務の目的からすると、成立させるべき業務処理要求が実行されずに未成立明細セグメントに格納されたままとなると、業務レベルでの一貫性、整合性を保てない。この業務レベルでの一貫性を保つように、図10に示す取消処理部40及び再実行処理部42の構成を設計する。端的には、資源の状態に異動があったときには、取消又は再実行を検討するというものである。
【0118】
資源に不足が生じたときに取消を行い、資源が充足した場合に再実行を行うことで、業務レベルでの一貫性を保つことができる。そして、予め業務処理要求の種類等に応じて定めた優先順位を参照して、取消又は再実行を行うことで、資源の状態に応じて業務処理の実行順序等を変化させることができる。これにより、資源の状態変化に応じて実行すべき業務処理の最適化を行うことができる。
【0119】
また、取消と再実行とを組み合わせることで、業務処理の強制的な入れ替えを自動化することができる。具体的には、未成立明細セグメントのなかで優先順位が最も高い業務処理要求(高順位要求)を特定し、この高順位要求よりも優先順位が低く、すでに成立している口座処理要求と入れ替える。この高順位の未成立業務処理要求と、低順位の成立済み業務処理要求の入れ替えを、修正再実行(第4実施形態では、修正再カット)と呼ぶ。
【0120】
修正再実行を行う例では、演算手段4が、前記業務処理要求の実行の結果前記資源の状態に変化があった場合には、前記未成立明細セグメント7Cに記録された先日付の業務処理要求のうち、最も優先順位が高い業務処理要求を高優先業務の業務処理要求(未成立高順位要求)として特定する高優先業務特定部44を備えている。また、演算手段4は、取引明細セグメント7Bに記録された先日付の業務処理要求のうち、前記高優先業務の業務処理要求の優先順位よりも相対的な優先順位の低い業務処理要求群によって利用予定の資源の一覧又は総量を修正利用可能資源として算出する修正利用可能資源算出部46を備える。
【0121】
この例では、さらに、演算手段4が、高優先業務の業務処理要求によって要求する資源が前記修正利用可能資源にて充足する場合には、当該高優先業務の業務処理要求を実行すると共に前記取消処理部に優先順位の低い業務処理要求群の取消を依頼する修正再実行処理部48を備える。
【0122】
高優先業務特定部44は、未成立明細セグメント7Cに記録された業務処理要求のうち、最も優先順位の高い業務処理要求を特定する。この高優先業務の業務処理要求と、すでに成立している低順位の業務処理要求との入れ替えを試みる。成立している業務処理要求は、取引明細セグメント7Bに記録されている。修正利用可能資源算出部46は、取引明細セグメントに7B記録され、高優先業務の業務処理要求の優先順位よりも相対的な優先順位の低い業務処理要求群によって利用予定の資源の一覧又は総量を修正利用可能資源として算出する。
【0123】
そして、修正再実行処理部48は、高優先業務の業務処理要求によって要求する資源が前記修正利用可能資源にて充足する場合には当該高優先業務の業務処理要求を実行する。これにより、未成立であった業務処理要求に資源を割り当てることができる。この高順位要求の修正再実行をした直後は、高順位要求と優先順位の低い業務処理要求群とで共通資源への競合が発生し、資源不足の状態となる。取消処理部40は、この資源不足の状態を解消するために、優先順位の低い順にすでに成立している業務処理要求を取り消す。これにより、優先順位に応じた業務処理要求(トランザクション)の入れ替えを行う。
【0124】
ここで、資源の一例として宿泊施設Aの部屋考え、この予約での優先順位の反映について説明する。例えば、パック旅行の宿泊の予約と、宿泊施設Aへの直接の予約とが競合する。パック旅行の申込者は宿泊施設を指定していないため、パック旅行での宿泊施設Aへの予約を行う業務処理要求の優先順位は、直接の予約を行う業務処理要求と比較して低く設定できるとする。すなわち、直接の予約を行う業務処理要求の優先順位が高いとする。
【0125】
パック旅行の宿泊予約が時間的に早く実行され、宿泊施設Aの全部屋の利用予定が取引明細セグメントに登録されている場合、直接の予約を行う業務処理要求が行われると、資源が不足するため実行できず、一旦未成立取引明細セグメント7Cに格納される。すると、高優先業務特定部44は、この直接の予約を行う業務処理要求を特定する。そして、修正利用可能資源算出部46は、取引明細セグメントに格納されたパック旅行の予約を行う業務処理要求によって利用予定の資源を特定する。宿泊施設であれば、部屋のタイプや部屋数等を特定する。
【0126】
修正実行処理部48は、直接の予約を行う業務処理要求によって利用要求された資源が、修正利用可能資源算出部46によって特定された資源で充足できるか否かを判定する。充足する場合、まず、直接予約を行う業務処理要求を実行する。すると、資源に競合が生じる(ダブルブッキング状態となる)ため、より優先順位の低いパック旅行の予約のうち、最も優先順位の低い予約を取り消す。これにより、宿泊施設Aへの予約の入れ替えが完了する。取り消されたパック旅行は、同地域への他の宿泊施設への予約処理等を行う。
【0127】
図10に示す例では、資源の充足及び不足に応じて、多数の取消処理又は再実行処理が発生することがある。これら多数の取消や再カットを一つのトランザクションとして実行するには、システム的な制限があるほか、応答時間を悪化させてしまう。このため、取消や再実行については、起動側のトランザクションとは別のトランザクションとして実行される派生トランザクションを用いると良い。
【0128】
一方、資源の利用の要求処理と、この利用要求される資源の管理とは、別系統の処理とすると開発がしやすい。しかし、資源の利用の要求処理と、資源利用の許可等の管理とに矛盾を生じさせることはできない。例えば、宿泊施設の予約が成功したという結論と、宿泊施設に予約を登録する処理とは、原始性を満たさなければならない。このような場合に、資源の利用の要求処理と、資源の管理処理とを連動させ、一つのトランザクションとして実行するとよい。
【0129】
このように、本実施形態では、応答性を確保しつつ複雑な処理を実行するために、2種類のトランザクションの起動手法を使い分けている。一つは連動取引(連鎖トランザクション,入れ子トランザクション)であり、もう一つは派生取引(非連鎖トランザクション)である。連動取引は、決済を例とすると、自動定期化を行うために、普通預金口座から出金して、定期預金口座に入金する場合に、普通預金口座からの出金を行う処理と定期預金口座に入金する処理とを連動(chain)させ、一つのトランザクションとして処理する。すなわち、連動取引は、どれだけ複雑な入れ子状態となろうとも、また、連動を多数回繰り返すとしても、それは1トランザクションである。トランザクションの隔離性により、連動取引により何らかの処理が実行されている場合には、当該連動取引によって利用されている資源は隠蔽される。また、トランザクションの原始性により、連動されているすべての処理が成功しなければ、端末等への応答は戻らない。
【0130】
ここでは、連動取引を起動する側を起動業務、起動業務により起動される処理を受動業務と呼ぶ。連動取引は、一般的に、連動回数に制限が有るほか、1トランザクションとして実行するため、連動すべき取引数が多数になる場合には、上記のように、オンライン取引の応答時間を一定時間以内とすることができなくなる。すなわち、一つの予約の成立により多数の予約を取り消したり、また、ある口座に対する入金に応じて多数の口座処理を実行するなどの数の予想が難しい処理については、連動処理には限界がある。
【0131】
派生取引は、一つのトランザクションを完了させ、そのトランザクションとは別の他のトランザクションを派生させるものである。派生取引(非連鎖トランザクション)には取り扱い困難な部分もあるが、本実施形態及び第4実施形態,第1実施例等においては、取り消すべき業務処理(口座処理)の数を事前に限定することが難しいため、連動取引にて取消や再カットを行うには限界があり、派生トランザクションを活用する。
【0132】
図11は、連動トランザクションと派生トランザクションとを併用して資源状態の最適化を行う構成を示すブロック図である。図11に示す例では、演算手段4が、資源の予約又は使用等の資源に対する操作を起動業務として実行すると共に、当該実行中の起動業務プログラム群と単一のトランザクションとしての連動を所定の受動業務処理部に依頼する起動業務処理部50と、この起動業務処理部50によって連動依頼される前記資源状態の更新管理等の受動業務を実行すると共に、当該受動業務の実行によって前記資源の状態が変化した場合には、起動業務及び受動業務が連動した単一のトランザクションとは異なる他の派生トランザクションとして、所定の取消再実行メインプログラムを起動する受動業務処理部52とを備えている。
【0133】
演算手段4はさらに、取消再実行メインプログラムが派生トランザクションとして起動されたときに、当該起動された際の前記受動業務によって管理される資源の状態に基づいて前記起動業務の取消又は再実行の要否を判定すると共に、当該判定結果と各起動業務の優先順位に基づいて前記起動業務の取消又は再実行を当該取消再実行メインプログラムとは異なる他の派生トランザクションとして前記起動業務処理部50に実行させる取消再実行メイン処理部54を備えている。
【0134】
好ましい例では、取消再実行メイン処理部54は、起動業務処理部50と受動業務処理部52との連動トランザクションが同期点に達した後に、前記取消再実行メインプログラムを開始させる機能を備えるとよい。システム的なトランザクション管理としては、起動業務が取消再実行メインプログラムを派生起動するようにしても良いが、取消再実行メインプログラムは資源の最適化を図るものであり、受動業務側で派生起動を制御するほうが、論理的に扱いやすい。また、起動処理は共通資源の利用を要求する処理であるため、起動処理となるプログラムは多数ある一方、受動処理は資源の管理を行うものであるため、受動処理側のプログラムは少ない。このため、取消再カットメインの派生起動を受動処理側で行うことが好ましい。
【0135】
取消再実行メインプログラムは、演算手段4を動作させる指令として、当該取消再実行メインプログラムが派生トランザクションとして起動されたときに当該起動された際の前記受動業務によって管理される資源の状態に基づいて前記起動業務の取消又は再実行の要否を判定させる取消再実行判定指令と、この取消再実行判定指令に応じた判定結果と各起動業務の優先順位に基づいて前記起動業務の取消又は再実行を当該取消再実行メインプログラムとは異なる他の派生トランザクションとして前記起動業務処理部に実行させる取消再実行メイン処理指令とを備えている。これら各指令が演算手段4によって実行されると、演算手段4は取消再実行メイン処理54として機能する。
【0136】
本実施形態では、連鎖的アボートと同様な処理負荷を生じることも想定できる。すなわち、一つのトランザクションが完了した結果、多数の業務処理の取消や再カットが生じるのである。取消再実行メインプログラムは、どの業務処理を取り消すか、又は再カットするかを次々と判定する必要がある。しかし、取消再実行メインにより取消又は再実行を起動制御し、実行されると、資源の状態が変化する。取消再実行メインは、この変化した状態で最適な取消又は再実行を制御しなければならない。このため、本実施形態では、派生トランザクションを次々と起動させつつ資源の利用法を最適化するスパイラル処理を採用する。
【0137】
図11を参照すると、取消再実行メイン処理部54は、前記起動業務の取消又は再実行を派生トランザクションとして起動した場合には、当該起動内容を示す派生管理フラグを前記起動業務処理及び当該起動業務処理部50によって連動される受動業務処理に渡すフラグ渡し制御機能56を備えている。このフラグは、取消再カットの進行状況を表すフラグである。そして、取消再実行メイン処理部54は、前記受動業務処理部52から前記取消再実行メインプログラムが派生トランザクションとして起動された場合には、前記派生管理フラグを参照して当該資源に対する同種類の判定及び実行を前記資源状態ファイルに対象となるセグメントがなくなるまで連続させるスパイラル処理制御機能54とを備えている。
【0138】
スパイラル処理制御機能54は、派生トランザクションの連続性を管理するものである。図12は、スパイラル処理の動作例を示す説明図である。図12に示す例では、まず、資源の利用等の要求が起動処理によってなされる(ステップS21A)。起動業務処理部50は、受動業務に連動し、資源の確保を依頼する。受動処理は、資源の確保が完了すると(ステップS21B)、起動処理S21Aに連動を戻す。これにより、起動処理S21Aは同期点に達する。一方、受動処理は、資源の確保が完了すると、取消再実行メインプログラムを派生起動する。この取消再実行メインプログラムは、起動処理S21Aが同期点に達した後に実行を開始すると良い。取消再実行メインS21Cでは、資源の状態に応じて、未成立の業務処理要求の再実行か、または成立済みの業務処理要求の取消の必要性を判定する。
【0139】
ここでは、宿泊施設が一部改装を決定し、突然に資源不足が生じたとする。取消再実行メインS21Cでは、優先順位の最も低い予約の取消を派生トランザクションとして起動する。この取消起動により、取消再カットメインは同期点に達する。起動された取消処理は、起動処理として実行される(ステップS22A)。受動処理S22Bへの連動等は同様である。このとき、取消再実行メインS21Cでの判定結果(取消起動)等に対応した派生管理フラグは、起動処理S22A、受動処理S22Bを介して取消再実行メインS22Cに渡される。
【0140】
取消再実行メインS22Cでは、前回取消起動した業務処理要求の次に優先順位の低い業務処理要求を取消の対象として特定し、その取消を起動する。この取消処理はS23にて処理され、再度取消再実行メインS24Cが起動される。各工程S21,S22,S23,…では、実行されている取消再実行メインはそれぞれ異なるトランザクションであるが、派生管理フラグによってその処理の連続性を確保している。この派生管理フラグを用いた取消・再実行の連続的な起動を、ここではスパイラル処理と呼称している。スパイラル処理は、優先順位の反映などデータや処理に対する連続的な判定が必要な場合に適している。
【0141】
再度図11を参照すると、図10に示した修正再カットの機能は、図11に示す例では、取消再カットメインの機能として実装されている。図11に示す例では、取消再実行メイン処理部54は、前記受動業務の実行によって前記資源状態が変化した場合に未成立であった起動業務のうち最も優先順位の高い起動業務を高優先業務として特定する高優先業務特定機能60と、成立済みの起動業務のうち前記高優先業務の優先順位よりも優先順位の低い起動業務群によって利用される資源の一覧又は総量を修正利用可能資源として算出する修正利用可能資源算出機能62と、前記高優先業務によって利用要求されている資源が前記修正利用可能資源内で利用可能である場合には前記高優先業務である起動業務を再実行させる修正再実行制御機能64とを備えている。これにより、修正再実行を実現する。また、修正再実行により資源に不足が生じた場合には、優先順位の低い順に業務処理を取り消す。また、この例では、取消再カットメインプログラムは、これらの各機能60,62,64に応じた指令を備える。
【0142】
図13は、第3実施形態の動作例を示す説明図である。図13に示す例では、レストランの席での眺めの良い窓側や、宿泊施設の部屋での広さやなど、資源にランクがある場合に、予約の種別や他の条件に応じて優先順位を設定し、この優先順位と資源のランク(第1資源がより高ランクとする)との整合性を保つ例である。図13(A)に示す例では、通番001,002, 003, 004が成立している。優先順位の高い通番001及び002について上級の第1資源を割り当てている。ここで、通番005として優先順位の高い予約である業務処理要求が入力される。優先予約の場合に第1資源又は第2資源とする例では、この通番005は資源不足で実行できないため、一旦未成立取引明細に格納される。または、優先予約で優先順位が1である場合には取消再実行メインによる最適化を実行するよにしてもよい。
【0143】
取消再実行メイン処理部54は、高優先業務特定機能60により、通番005の業務処理を特定する。修正利用可能資源算出機能62は、優先順位の低い通番002に割り当てられた第1資源を修正利用可能資源として特定する。修正再実行制御機能64は、通番005に第1資源を割り当てることができると判定し、当該通番005の業務処理要求の修正再カットを起動する。図12に示す例では、S21Cの取消再実行メインが、通番005の業務処理要求の再カットを起動する。起動業務処理部50は、通番005の業務処理要求を実行し、第1資源の確保を受動処理S22Bに依頼する。受動処理は、通番005に第1資源を確保すると、取消再実行メインS22Cを派生起動する。起動処理S22A及び受動処理S22Bは同期点に達する。取消再実行メインS22Cでは、第1資源に競合が発生しているため、第1資源を利用する業務処理要求のうち、優先順位の最も低い通番002の業務処理を特定し、この取消を派生起動する。
【0144】
S23にて当該通番002の取消が完了する。S23Cの取消再カットメインでは、この優先順位2の通番002の修正再実行を検討する。第2資源を利用している業務処理(通番003, 004)の優先順位が低いため、通番002の修正再実行を派生起動する。ステップS24にて通番002の修正再実行が完了する。取消再実行メインS24Cでは、第2資源を利用している業務処理要求のうち、優先順位の最も低い通番004の取消を起動する。ステップS25にて通番004の業務処理が取り消される。取消再実行メインS25Cでは、第3資源に空きがあることから、通番004の再実行を派生起動する。通番004の再カットにより、第3資源も終了となる。ステップS26にて通番004の再実行が完了する。取消再実行メインS26Cでは、資源に不足がないため取り消す対象がなく、修正再カットの対象がなく、さらに、再カットの対象もないことから、スパイラル処理を完了する。図13に示す例では、再実行と取消を交互に繰り返したが、スパイラル処理の例によっては、例えばすべての業務処理を取り消し、ついで優先順位に従って再実行するようにしてもよい。これは、派生管理フラグの設定の仕方と利用の仕方を定めることで実現できる。
【0145】
【第4実施形態】
第4実施形態では、第3実施形態にて開示した手法を用いて、口座残高を用いた決済に優先順位を反映させる先日付完結処理を開示する。第4実施形態では、取消及び再カットの組み合わせにより口座処理要求による決済の最適化を図る。すなわち、限られた残高で優先順位の高い口座処理要求を決済する。ここでは、各口座処理要求の勘定日の期限(再カット期限)は、予め定められた1日間のみとする。指定された日付での決済が不能であれば、決済を依頼した依頼者に決済不能であった旨を連絡する。
【0146】
そして、第4実施形態では、すべての口座処理要求を修正出金可能額による入れ替えの対象とする。この前提とは異なる前提の処理例は、第1実施例として後述する。第1実施例との比較では、第4実施形態の優先順位は全て第1優先順位群(≠9x)で、優先順位のグループが一つで、かつ、再カット期限が勘定日当日のみであるため前倒がない。また、ソフトウエアの枠組みは第3実施形態と同様である。従って、第4実施形態は、第3実施形態を預金口座を用いた決済に利用した具体例である。
図14は、第4実施形態による先日付完結処理システムの構成例を示すブロック図である。図14に示す例では、先日付完結処理システムは、第1及び第2実施形態と同様に、受信手段2と、演算手段4と、ファイル6とを備えている。そして、ファイル6は、口座情報として、図7に示す例と同様に、取引明細セグメント12と、残高明細セグメント14と、残不足明細セグメント16とを備ている。決済に利用する口座としては、普通預金口座や、当座預金口座を想定する。従って、例えば、残高明細セグメント14には預金者の口座残高が勘定日毎に格納されている。担保定期等による自動融資がある場合には、この残高明細セグメントに担保明細セグメントを併設する。残高明細セグメントには、先日付の残高がその勘定日毎に格納される。残高明細に先日付の残高が格納されるのは、先日付の口座処理が実行された場合である。ここでは、仮に残不足明細に格納され、口座に異動がないとしても、残高明細セグメントにその残不足明細に格納された口座処理の勘定日での残高を格納する。
【0147】
図14に示すように、本実施形態では、演算手段4が、前記勘定日毎の残高を使用した出金又は入金の決済を要求する口座処理要求を起動業務として実行すると共に当該実行中の起動業務プログラム群と単一のトランザクションとしての連動を所定の受動業務処理部に依頼する起動業務処理部66と、この起動業務処理部66によって連動依頼される前記勘定日毎の口座残高の出金又は入金等の受動業務を前記各セグメントを用いて実行すると共に当該受動業務の実行によって前記勘定日毎の残高明細が変化した場合には所定の取消再カットメインプログラムを当該起動業務及び受動業務が連動した単一のトランザクションとは異なる他の派生トランザクションとして起動する受動業務処理部68とを備えている。
【0148】
受動業務処理部68は、ファイル6に格納された残高を管理し、口座処理を実行する毎に、取引明細セグメント12、残高明細セグメント14、残不足明細セグメント16を更新する。起動業務処理部66は、公共料金の引落のために預金口座からの出金を要求したり、融資の回収(返済)のために預金口座からの出金を要求する処理などである。公共料金等の外部から依頼される自動振替を外部自振といい、融資の返済や定期積金等の金融機関内部での自動振替を内部自振と呼ぶ。
【0149】
図14に示すように、本実施形態では、演算手段4が、前記受動業務処理部68によって取消再カットメインプログラムが派生トランザクションとして起動されたときに、当該起動された際の前記各セグメント12,14,16の状態に基づいて前記起動業務の取消又は再カットの要否を判定すると共に、当該判定結果と各起動業務となる口座処理要求の優先順位とに基づいて前記起動業務の取消又は再カットを当該取消再カットメインプログラムとは異なる他の派生トランザクションとして前記起動業務処理部66に実行させる取消再カットメイン処理部70を備えている。
【0150】
取消再カットメイン処理部70は、すでに成立している口座処理の取消や、未成立の口座処理の再カットを派生トランザクションとして起動する。すなわち、トランザクション管理システムからみると、取消処理や再カット処理はACID特性を満たすトランザクションである。取消処理は、すでに成立しているトランザクションのアボートではなく、成立しているトランザクションを未成立へと変化させ、未成立の状態へ各セグメントを更新する新たなトランザクションである。従って、取消再カットメイン処理部70によって起動される取消処理は、連鎖的アボートではなく、厳格にスケジュールされるトランザクションである。
【0151】
図15は取消再カットメイン処理部70の詳細構成を示すブロック図である。図15に示す例では、取消再カットメイン処理部70は、第1実施形態での取消処理部10と同様の機能を実現するために、残高明細セグメント14に格納された勘定日別の残高明細に基づいて、勘定日毎の出金可能額を算出すると共に、先日付の勘定日での当該出金可能額がマイナスとなり決済不能となる場合には、当該決済不能となる勘定日での複数の決済済みの口座処理要求のうち優先順位の低い口座処理要求の取消を前記起動業務処理部に派生トランザクションとして実行させる取消起動制御機能72を備えている。
【0152】
このように、本実施形態では、決済不能な状況の発見の直後にそのトランザクションのアボートを行うのではなく、先日付での決済不能な状況を一旦残高明細に記録し、この記録の成功によってその決済不能な状況をもたらした口座処理の同期点処理を完了させる。そして、決済不能な状況をもたらした口座処理が同期点に達した後に、派生トランザクションとして取消を行う。これにより、例えばATM等での出金を早期にコミットさせ、その後に先日付での業務的な一貫性を保つために先日付での口座処理要求の取消を行う。
【0153】
また、取消再カットメイン処理部70は、第2実施形態での再カット処理部24と同様の機能を実現するために、残高明細に基づいて勘定日毎の出金可能額を算出すると共に、演算日時当日又は先日付の勘定日での出金可能額に基づいて、前記残不足明細に格納された当日又は先日付の勘定日で未成立の口座処理要求のうち優先順位の高い順に各口座処理要求が決済可能となるか否かを判定する再カット可否判定機能74と、この再カット可否判定機能74によって決済可能と判定された未成立の口座処理要求がある場合には当該口座処理要求の再カットを前記起動業務処理部に派生トランザクションとして実行させる再カット起動制御機能76とを備えている。
【0154】
再カットについても、取消の場合と同様に、ATMによる現金の入金という口座処理要求自体は、残高明細の更新に成功したことで同期点に達する。その後、先日付にて増加した残高に基づいて、再カットの可否を判定し、再カット可能であれば当該再カットを派生トランザクションとして起動する。再カット処理は、図14に示す起動業務処理部66によって実行される。起動業務処理部66は、再カットによる出金を受動業務処理部68に依頼する。受動業務処理部68はその勘定日の残高に基づいて出金の可否を判定する。出金可能であれば、口座残高を減額すると共に、それよりも先日付の残高を更新する。受動業務による残高の更新が行われると、取消再カットメインが派生トランザクションとして起動され、次に再カット可能な未成立の口座処理要求の有無を判定する。
このように、一回の口座処理要求の実行毎に同期点に達する構成としたことで、システムの運用効率を高めつつ、一つの原因で多数発生するかもしれない取消処理及び再カット処理の安定した厳格な実行を実現している。
【0155】
また、図15に示す例では、第3実施形態での修正再実行と同様の機能を実現するために、取消再カットメイン処理部70が、残不足明細セグメントに格納され先日付の口座処理要求である起動業務のうち、最も優先順位の高い起動業務を高優先業務として特定する高優先業務特定機能78と、取引明細セグメント12に格納され先日付で成立済みの起動業務のうち前記高優先業務の優先順位よりも優先順位の低い起動業務群によって利用された出金額の合計額を先日付の勘定日での修正出金可能額として算出する修正出金可能額算出機能80と、先日付の勘定日での修正出金可能額に基づいて前記残不足明細に格納された前記高優先業務の口座処理要求が決済可能となるか否かを判定する修正再カット可否判定機能82と、この修正再カット可否判定機能82によって前記高優先業務が決済可能と判定された場合には当該口座処理要求の修正再カットを前記起動業務処理部に派生トランザクションとして実行させる修正再カット起動制御機能84とを備えている。
【0156】
この機能78,80,82,84により、トランザクションの入れ替えを行う。すなわち、先日付で成立している優先順位の低い口座処理要求を取り消して、より優先順位の高い口座処理要求を決済することができる。このため、口座処理要求の処理順序に関わらず、残高が不足する場合には、予め定めた優先順位に従った決済を行うことができる。
【0157】
本実施形態が、修正再カットの機能と再カットの機能との両方を有するのは、演算日当日に口座残高が増加した場合、当日に取引明細に格納されている取引の取消は行わないため、修正再カットではなく、再カットするためである。すなわち、修正再カットは他の口座処理要求の取消を前提とするため、取消が可能な先日付の勘定日の取引にのみ用いられる。また、優先順位を詳細に設定し、一定以上の優先順位の場合に修正再カットを行うようにしてもよい。特に優先すべき種類の口座処理要求についてのみ修正再カットを行うと、多少であるがシステムの運用負荷が小さくなる。
【0158】
また、本実施形態においても、応答性を確保しつつ複雑な処理を実現するために、派生管理フラグを用いたスパイラル処理制御により、派生トランザクションを活用する。すなわち、取消再カットメイン処理部は、どのような理由で自らが起動され、前回の処理がどこまで進行したかを、派生管理フラグにより判断することができる。
【0159】
図15に示す例では、取消再カットメイン処理部70は、前記起動業務の取消又は再カットを派生トランザクションとして起動した場合には当該起動内容を示す派生管理フラグを前記起動業務処理及び当該起動業務処理部によって連動される受動業務処理に渡すフラグ渡し制御機能86と、前記受動業務処理部から前記取消再カットメインプログラムが派生トランザクションとして起動された場合には、前記派生管理フラグを参照して前記再カット起動制御機能76又は前記修正再カット起動制御機能84を前記残不足明細セグメントに対象となる残不足明細がなくなるまで連続させるスパイラル処理制御機能88とを備えている。
【0160】
「対象となる残不足明細がなくなる」というのは、優先順位に従って順に再カット又は修正再カットしていき、最後に最も優先順位の低い口座処理要求の再カット可否の判定及び可能な場合の再カット起動が完了した、ということである。また、先日付の勘定日が複数ある場合には、本実施形態では再カット期限を振替日当日のみとして説明しているため、演算日当日の再カットを優先し、続いて、演算日に最も近い将来の勘定日から遠い将来の勘定日まで順に処理すると良い。近い先日付から処理し、遠い先日付に至る順序で再カットを行うと、再カット完了後に取消を行う必要がない。
【0161】
図16は取消再カットメイン処理部70によるスパイラル処理の一例を示す説明図である。図16に示す例では、起動処理と受動処理とは連動し、一つのトランザクションとして実行される。例えば取消処理を行う起動処理S31は、取消による口座残高の増額を受動処理S32に連動依頼する。この起動及び受動処理は、受動処理が成立し、その成立に応じた処理が起動処理側で完了したときに、同期点に達する(C5)。取消再カットメインを派生起動するタイミングは任意であるが、この起動及び受動業務が同期点に達した後に取消再カットメインの処理が開始されるようにするとよい。すなわち、起動及び受動の連動トランザクションと、取消再カットメインとなる派生トランザクションとは、直列性を保つと良い。
【0162】
取消再カットメインは、派生管理フラグと、各セグメント12,14,16とを参照して、口座を最適化(または、業務としての一貫性の回復)のためにどのような処理をすべきかを判定し、その判定結果に従って取消処理や、修正再カット処理や、再カット処理を派生トランザクションとして起動する。取消再カットメインは、まず、先日付の勘定日にて出金可能額がマイナスとなっているか否かを判定する。そして、マイナスとなっている場合には(分岐B1)、マイナスとなっている勘定日での優先順位が最も低い口座処理要求を取り消す取消処理を派生起動する。取消処理を派生起動すると、取消再カットメインは同期点に達し、終了する。
【0163】
起動処理S31及び受動処理S32の連動によって取消が行われ、取り消された金額分口座残高が更新された後に、取消再カットメインは再度出金可能額を確認し、マイナスであれば、この時点で最も優先順位の低い口座処理要求の取消処理を派生起動し、その後コミットC1する。この取消処理の繰り返しを、ここでは取消スパイラルSP1と呼ぶ。取消スパイラルSP1は、出金可能額のマイナスがなくなると終了する。
【0164】
口座残高が増額された場合や、出金可能額のマイナスがなくなった場合には(分岐B2)、修正再カットの可否を判定する。図15に示す各機能78,80,82を用いて、修正出金可能額と最高位(高優先業務)の口座処理要求の比較を行う。修正再カットが可能であれば(分岐B3)、修正再カット処理を派生トランザクションとして起動する。修正再カットを起動すると、取消再カットメインは同期点C2に達し、処理を完了する。
【0165】
修正再カットが起動処理S34及び受動処理S35の連動によって実行され、同期点C5に達すると、取消再カットメインが起動される。取消再カットメインは、修正再カットによって出金可能額がマイナスになった勘定日について、取消スパイラル処理SP1を実行する。出金可能額がプラスとなると(分岐B2)、再度修正再カットの判定を行う。このときには、未成立で残不足明細セグメント16に格納されていた口座処理要求のうち、最も優先順位の高かった口座処理要求はすでに修正再カットされている。一方、優先順位の低い口座処理要求が残不足明細に新たに格納されている。修正再カットを繰り返すと、取引明細に格納された口座処理要求の優先順位が、残不足明細に格納された口座処理要求群の優先順位よりも高くなる。この状態では、修正出金可能額の算出ができなくなるため、修正再カットは不要と判定される(分岐B4)。
【0166】
修正再カットができない口座処理要求が、再カットされることはない。再カットの判定では、修正再カットの対象となっていない口座処理要求の再カットを検討する。ここでは、当日の口座処理要求や、修正再カットを行わないと判定された優先順位の低い口座処理要求の再カット可否を判定する。具体的には、処理対象とする勘定日(例えば、演算日当日)を勘定日とする未成立の口座処理要求のうち、最も優先順位の高い口座処理要求の取引金額(出金額)と対象勘定日の出金可能額とを比較する。取引金額が出金可能額より小さければ、再カット可能であるため、その口座処理要求の再カットを派生トランザクションとして起動し、コミットC3する。
【0167】
起動処理S37及び受動処理S38は連動して再カット処理を行い、同期点に達した後に再度派生再カットメインが起動される。再カットによってその勘定日での出金可能額がマイナスとなることはないが、それよりも先日付にてマイナスになることはある。この場合、まず取消スパイラルにより取消SP1を行う。再カットを行った場合、修正再カットの判定をせずに再カットの判定を行う。これは、派生管理フラグを用いると良い。再カットを行った勘定日にて、さらに別に未成立の口座処理要求があれば、その中で最も優先順位の高い口座処理要求の再カットを判定し、再カット可能であれば、派生トランザクションとして再カットを起動する。この再カットスパイラルSP2によって、各勘定日のすべての口座処理要求の再カットを試みる。残高と取引金額の関係によっては、優先順位の高い口座処理要求が決済できず、優先順位の低い口座処理要求が決済できることもある。
【0168】
出金可能額にマイナスがなく、修正再カットが完了し、再カットの対象がない場合には、取消再カットメインは処理を完了する。一般的には、残高が減少した場合には取消スパイラルSP1が動作し、残高が増加した場合には修正再カット及び再カットスパイラルSP2が動作する。図16に示すように、起動及び受動による連動トランザクションと、取消再カットメインでのトランザクションを別のトランザクションとしたため、起動及び受動による連動トランザクションはその処理の完了の直後同期点に達し、これにより、端末等に対する良好な応答性を確保することができる。また、取消再カットメインが、この派生トランザクションを活用して口座処理の最適化を順次実行するため、先日付での取消の発生を前提とした先日付完結処理を厳格に実行することができ、さらには、優先順位による決済という複雑な処理を安定して実現することができ、また、先日付完結処理であるため、優先順位に基づいた処理を行いつつ、24時間連続稼働を行うことができる。さらに、取消再カットメインが、口座残高に異動が生じるごとに口座処理要求の優先順位に基づいた最適化を実行するため、口座処理要求の実行順序が限定されることがなくなる。
【0169】
図17は、本実施形態による取消再カットメイン処理部による修正再カット処理を含めた処理例を示すフローチャートである。図17に示すように、先日付完結処理方法では、まず、勘定日毎の出金可能額を日付チェックテーブルとして算出する(ステップS41)。続いて、出金可能額のマイナスがあるか否かを判定し(ステップS42)、出金可能額マイナスの勘定日がある場合には取消処理を起動して終了する。一方、出金可能額にマイナスがなければ、残不足明細セグメントに格納され先日付の口座処理要求である起動業務のうち最も優先順位の高い起動業務を高優先業務として特定する(ステップS44,高優先業務特定工程)。
【0170】
続いて、取引明細セグメントに格納され先日付で成立済みの起動業務のうち、前記高優先業務の優先順位よりも優先順位の低い起動業務群によって利用された出金額の合計額を先日付の勘定日での修正出金可能額として算出する(ステップS45,修正出金可能額算出工程)。さらに、先日付の勘定日での修正出金可能額に基づいて、前記残不足明細に格納された前記高優先業務の口座処理要求が決済可能となるか否かを判定する(ステップS46,修正再カット可否判定工程)。そして、この修正再カット可否判定工程にて前記高優先業務が決済可能と判定された場合には当該口座処理要求の修正再カットを前記起動業務処理部に派生トランザクションとして実行する(ステップS47,修正再カット工程)。修正再カットを実行すると、処理を終了する。
【0171】
取消再カットメインのスパイラル制御によって、この修正再カット工程S47によって修正再カットが制御され、その後、先日付の勘定日での出金可能額がマイナスとなった場合には、当該勘定日の取引明細セグメントに格納された口座処理要求のうち優先順位の低い順に当該出金可能額がプラスとなるまで口座処理要求を取り消すこととなる(修正再カット後取消工程)。
【0172】
修正再カットの対象がなければ、再カットの対象が再カット可能であるか否かを判定し(ステップS48)、再カット可能であれば当該再カットを起動する(ステップS49)。
【0173】
単純に再カットを演算日当日、修正再カットを先日付とする場合には、再カットの判定を修正再カットの判定よりも先に行うようにしても良い。先日付完結処理では、当日の再カットよりも先日付の再カットの方が処理数が多いため、図17に示す順序とし、当日の再カットによって先日付にて出金可能額がマイナスとなった場合にのみ、先日付の取引を取り消すようにしてもよい。
【0174】
図15、図16に示す取消再カットメイン処理部の機能や、図16に示す取消再カットメイン処理の処理工程は、図15に示す演算手段4が取消再カットメインプログラムを実行することで実現できる。例えば、取消再カットメインプログラムは、前記演算手段4を動作させる指令として、残高明細に基づいて勘定日毎の出金可能額を算出すると共に、先日付の勘定日での当該出金可能額がマイナスとなり決済不能となる場合には、当該決済不能となる勘定日での複数の決済済みの口座処理要求のうち優先順位の低い口座処理要求の取消を前記起動業務処理部に派生トランザクションとして実行させる取消起動制御指令を備える。これにより、図16に示すステップS33の部分や、図17に示すステップS41,S24,S43等の処理を実現できる。
【0175】
取消再カットメインプログラムは、また、残高明細に基づいて勘定日毎の出金可能額を算出させると共に、演算日時当日又は先日付の勘定日での出金可能額に基づいて前記残不足明細に格納された当日又は先日付の勘定日で未成立の口座処理要求のうち優先順位の高い順に各口座処理要求が決済可能となるか否かを判定させる再カット可否判定指令と、この再カット可否判定機能によって決済可能と判定された未成立の口座処理要求がある場合には当該口座処理要求の再カットを前記起動業務処理部に派生トランザクションとして実行させる再カット起動制御指令とを備える。
【0176】
さらに、修正再カットを行う機能78,80,82,84や、その処理工程(S44,S45,S46,S47及びマイナス後の取消S42,S43)に応じて、各種の指令を備えるようにしてもよい。この場合、取消再カットメインプログラムは、残不足明細セグメントに格納され先日付の口座処理要求である起動業務のうち最も優先順位の高い起動業務を高優先業務として特定させる高優先業務特定指令と、取引明細セグメントに格納され先日付で成立済みの起動業務のうち前記高優先業務の優先順位よりも優先順位の低い起動業務群によって利用された出金額の合計額を先日付の勘定日での修正出金可能額として算出させる修正出金可能額算出指令と、先日付の勘定日での修正出金可能額に基づいて前記残不足明細に格納された前記高優先業務の口座処理要求が決済可能となるか否かを判定させる修正再カット可否判定指令と、この修正再カット可否判定機能によって前記高優先業務が決済可能と判定された場合には当該口座処理要求の修正再カットを前記起動業務処理部に派生トランザクションとして実行させる修正再カット起動制御指令とを備える。
【0177】
図18は修正再カット処理の一例を示す説明図である。図18に示す例では、通番001の支払B1,通番002の支払A1,通番003の支払B2がこの順で実行されている。11日の当初の残高は30,000で、支払B2の成立時の残高は10,000となる。ここで、通番004の支払A2が入力されたとする。残高10,000に対して、出金額19,000であるため、決済できず、受動処理は、この支払A2を残不足明細に格納し、続いて、取消再カットメインを起動する。
【0178】
図16を参照すると、取消再カットメインでは、まず、出金可能額のマイナスがあるか否かを判定する(S33)。出金可能額のマイナスはないため(分岐B2)、続いて修正再カットの可否を試みる。残不足明細に格納された口座処理要求は支払A2のみであるとすると、支払A2の優先順位が最も高いものとなる。図17を参照すると、支払A2が高優先業務となる(ステップS44)。この高優先業務の優先順位1よりも優先順位が低く、11日を勘定日として成立している口座処理要求は、支払B1とB2とである。その取引金額の合計は10,000であり、出金可能額が10,000であるため、これを合計した修正出金可能額は20,000である(ステップS45)。続いて、再カット可能であるか否かを判定する。再カットは可能であるため(ステップS46)、修正再カットを派生トランザクションとして起動する。
【0179】
再度図17を参照すると、起動処理S34と受動処理S35の連動により、支払A2が再カットされる。そして、受動処理S35は残高を更新し、11日の残高はマイナス9,000となる。受動処理S35によって起動された取消再カットメインは、出金可能額がマイナスであるため、取消スパイラルSP1により、支払B1及びB2を取り消す。受動処理S32は、これらを残不足明細セグメントに登録する。これにより、優先順位の低い支払B1,B2と、優先順位の高い支払A2とを実行順序に関わらず入れ替えることができた。
【0180】
支払B1及びB2の取消後、取消再カットメインは出金可能額を確認する。11日の出金可能額は1,000であり、プラスである。次に、修正再カットを検討し、修正出金可能額を算出しようとするが、支払B1,B2の優先順位よりも優先順位の低い業務は成立していないため、修正出金可能額の算出ができない。再カットについても、残不足取引金額が8,000、2,000であるため、残高の1,000では決済できない。従って、この決済の状態が優先順位に従った決済である。このため、取消再カットメインのスパイラル制御は終了する。
【0181】
【第1実施例】
次に、本発明の実施例を図面を参照して説明する。本実施例では、口座処理要求について、二桁の数値による優先順位が予め定義されている。優先順位は、00から99までであり、00から89(≠9x、x=0,1,2,…)までを優先順位の第1群とし、90から99(9x)までを優先順位の第2群としている。優先順位としては、00が一番高い高優先業務で、99が最も低い。優先順位が同一の場合、当初の入力処理順等に従って取消又は再カットの順序を定める。再カット期限が2日以上のものは、処理の関係上もあり、優先順位の第1群に属するものとしている。再カット期限が振替日当日のみのものは、9x(第2群)に属する。再カット期限が2日以上ある場合には、例えば、10日から3ヶ月間再カット可能な口座処理要求では、先日付の10日に決済不能であっても、より先日付の11日での決済が可能な場合がある。このときには、11日で決済する。一方、10日の残高が増加した場合には、第1実施形態で概説したように、11日の口座処理要求を取り消し、10日を勘定日として決済とする。これを前倒と呼ぶ。
【0182】
その他、本実施例では、公共料金の振替など外部から依頼される自動振替による決済(外部自振)や、融資回収や定期積金のために預金口座から出金を行う内部自振を実現するための各種マスタやデータベースについても簡単に説明する。さらに、第4実施形態にて説明した起動処理及び受動処理と実際に実行するプログラムとの関係を開示する。
【0183】
そして、本実施例では、優先順位に2群あり、再カット期限が2日以上の可能性があるという前提での取消再カットメインの詳細と、その動作例を開示する。
【0184】
図19は、本実施例による先日付完結処理システムを含む勘定系のシステム構成例を示すブロック図である。図1等に示す受信手段2は、図19に示す例では、通信制御装置101と、所定のプログラムを実行するCPUと、媒体読取部100Aによって実現される。媒体読取部100Aとは、外部から持ち込まれる持ち込み媒体100Bに記録された自振の依頼用データ等を読み取る。
【0185】
通信制御装置101は、内部(行内)ネットワーク3Aと、対外ネットワーク3Bと接続されている。各ネットワーク3A,3Bは、物理的、論理的に多数のネットワークを含むようにしても良い。通信制御装置101は、内部ネットワーク3Aを介して、顧客とのオンライン取引に用いられるCD/ATM1Aと、営業店内に配置され営業店の担当者によって操作される営業店端末1Bと、顧客からの電話による取引を遂行するためのテレフォンバンキングセンタ1Cと接続されている。
【0186】
また、通信制御装置101は、対外ネットワーク3Bを介して他の金融機関との為替等の通信を制御する全銀センタ1Dや、その他の外部センタ1Eや、ファームバンキングやインターネットバンキングを行う顧客のパーソナルコンピュータ等の顧客PC1Fや、携帯電話等の顧客携帯端末1Gと接続されている。
【0187】
各端末1A,1B,1C,1F,1Gや、センタ1D,1E等から、通信制御装置101を介してCPUに入金や出金の要求が入力される。全銀センタ1Dは、全国銀行データ通信システムのセンタである。個人情報センタや、他行コンピュータセンタと接続されている。振込、送金等の為替取引を行う要求指令(電文)が送受信される。
【0188】
外部センタ1Eは、金融機関の業態別に構築された各種のネットワーク(地方銀行のACS,都市銀行のBANCS,全国キャッシュサービスのMICS等)のセンタや、ファームバンキング(FB)やエレクトロニックバンキング(EB)や、テレフォンバンキングに必要なデータの送受信を行うためのセンタ(例えば、ANSER)や、販売店のPOSシステムやクレジットカード決済用の端末との通信を行うためのセンタ(例えば、CAFISやDCS)である。この外部センタからは、通知、照会、資金移動など、金融機関窓口で可能な種々の取引を行う要求指令(電文)が入力される。
【0189】
通信制御装置101は、それぞれのプロトコルに従って要求指令を受信し、オンライン演算手段4を構成するCPUに入力する。CPUは、各端末からそれぞれの形態で入力される要求指令を予め定められた形式の口座処理要求に変換して、口座処理を行うプログラムに引き渡す。
【0190】
また、公共料金の振替等(外部自振)は、持ち込み媒体100Bにて持ち込まれる。CPUは、媒体読取部100Aによって読み取られた外部自振原データと他のデータベース(DB)を用いて口座処理要求を生成する。
【0191】
図19に示す例では、勘定系システムを構成する先日付完結処理システムは、振替又は振込等の預金口座を用いた決済に関するデータを管理する外部自振関連DB100と、自動積立や融資返済等の入出金に関するデータを管理する内部自振関連DB102と、決済又は入出金に用いられる預金口座に関するデータを管理する預金マスタDB104と、自動支払機や店頭端末等との口座処理要求に応答すると共に前記入出金又は決済を実行するセンターカットを口座処理要求として処理するCPUとを備えている。
【0192】
前記預金マスタDBは、図7等に示したファイル6と同様に、口座処理の順序に従った順序で口座処理要求を取引明細として勘定日及び優先順位を含めて格納する取引明細セグメント12と、前記勘定日毎の残高を格納する残高明細セグメント14と、決済不能で未成立の口座処理要求を残不足明細として勘定日及び優先順位を含めて格納する残不足明細セグメント16とを備えている。
【0193】
図19に示す例では、先日付完結処理システムは、外部自振関連DB100や、内部自振関連DB102から抽出した外部自振原データ又は内部自振データをそれぞれ編集すると共に、1又は複数の口座処理要求からなるセンターカット電文を生成する自振入力ファイル生成手段105を備えている。自振入力ファイル生成手段105は、各自振データを編集して、口座処理要求を生成し、さらに、必要に応じて複数の口座処理要求を一つの電文へブロッキングしたり、電文の並べ替え等を行う。
【0194】
本実施例での先日付完結処理システムは、このオンライン演算手段4へ前記自振入力ファイル生成手段105Aによって生成されたセンターカット電文を入力するセンターカット電文入力手段105Bを備えている。自振入力ファイル生成手段105Aが、外部自振データと内部自振データをそれぞれ生成又は抽出しておき、これらの自振データからセンターカット電文を生成する。この自振入力ファイルのデータ構造を予め定められた形式としておくことで、外部自振と内部自振とを並行又は連続して実行することができる。
【0195】
さらに、オンライン演算手段4は、外部自振関連DB100、内部自振関連DB102から抽出したデータに基づくセンターカット電文や、オンライン応答部106Aを介して入力される口座処理要求を処理する起動業務処理部108と、預金マスタDBを管理する受動業務処理部110とを備えている。図19に示す例では、説明を簡略化するために、預金マスタDB104に残高が格納されている預金を用いた決済の要求を処理する例を説明する。この預金マスタDBを用いた決済処理のほか、オンライン演算手段4は、通帳への記帳の要求や、融資実行の登録や、データベースの再編成など種々の業務処理要求を種々の資源を用いて処理する。
【0196】
また、オンライン演算手段は、ATM1A等からの口座処理要求をリアルタイムに実行するオンライン応答処理部106Aを備えている。オンライン応答処理部106Aは、当日の入出金指令に応答するほか、振込予約等を受け付ける。
【0197】
図19に示す例では、起動業務処理部108は、センターカット電文による口座処理要求と、オンライン応答部106Aを介した口座処理要求とを、勘定日毎の残高明細セグメント14に基づいて処理する。起動業務処理部108は、実行中の起動業務プログラム群と単一のトランザクションとしての連動を受動業務処理部110に依頼する。受動業務処理部110は、起動業務処理部108によって連動依頼される勘定日毎の口座残高の出金又は入金等の受動業務を前記各セグメント12,14,16を用いて実行する。この受動業務は、残高の確認処理、要求された残高の預金マスタDBへの更新処理、及び残高が更新された場合の先日付の勘定日での残高の更新処理等を含む。受動業務処理部110は、当該受動業務の実行によって前記勘定日毎の残高明細が変化した場合には、取消再カットメインプログラムを当該起動業務及び受動業務が連動した単一のトランザクションとは異なる他の派生トランザクションとして起動する。
【0198】
取消再カットメインプログラムが派生トランザクションとして起動されると、オンライン演算手段の一部は取消再カットメイン処理部112として機能する。取消再カットメイン処理部112は、受動業務処理部110によって起動された状態の前記残高明細セグメントに基づいて各勘定日毎の出金可能額を日付チェックテーブルとして算出すると共に、生成した日付チェックテーブルに基づいて一つの口座処理の取消又は再カットを派生トランザクションとして起動する。取消処理又は再カット処理を派生トランザクションとして起動すると、起動業務処理部108は、この取消処理又は再カット処理を実行する。
【0199】
この取消再カットメイン処理部112は、第4実施形態と同様に、前記取消又は再カットとして起動するトランザクションに派生管理フラグを渡すと共に当該起動した起動業務と受動業務からなるトランザクションから渡される派生管理フラグに基づいて前記各セグメントに対する探索を継続するスパイラル処理制御機能114を備えている。
【0200】
また、オンライン演算手段(または起動業務処理部108)は、口座処理要求の種別に応じて各DB100,102,103,104を参照して口座処理内容を算出するセンターカット時参照機能を備えるようにしても良い。この場合、定期の利率や、融資の利息や延滞金の額や、カードローン自動融資額などを、口座処理時に確定し、処理する。センターカット時参照機能により、最新の情報に基づいた先日付処理が可能となり、また、口座処理要求の書式や、口座処理要求の実行プログラムや、自振入力ファイル生成手段の構成を簡略化することができる。この場合、取消再カットメイン処理部112は、実際に再カットできるか否かを問うことなく、当初に実行された際の取引金額に基づいて、再カットができそうであれば再カットを起動する。また、取消については、優先順位が最も低い口座処理要求を取り消し、再度起動されたときに出金可能額を確認する。このため、取消再カットメイン処理部112が、起動業務処理部108によって実行されるすべての処理内容を把握する必要はない。
【0201】
また、勘定系システムは、図1等に示すファイル6や融資マスタDB等を記憶するファイル記憶部と、CPUによって実行される各種プログラムを記憶するプログラム記憶部と、CPUによる口座処理や各種契約の登録等の実行結果をログとして記憶するログ記憶部と、顧客に発送する帳票等を印刷する印刷部とを備える。
【0202】
図20は、預金マスタを用いた決済(自動振替,自振)に関連するデータベースの一例を示す説明図である。自振のタイプとして、勘定日をキーとして口座処理要求を読み出すタイプと、勘定日の特定時刻をキーとして実行するタイプとがある。通常の外部自振や内部自振は、勘定日をキーとする口座処理である。外部からの持ち込み媒体100Bによる口座振替や、顧客PC1F等の操作に応じた振込や振替は、自振原データファイルに格納される。融資の約定返済日を勘定日とする口座振替での返済や、自動的な定期化サービスなどによる定期預金への入金などは、内部の各種DBへの登録データに基づいて口座処理要求が抽出される。
【0203】
融資の返済や、積立や、自動定期化サービスなどは、特約管理DBへ蓄積された情報に基づいて内部自振データが抽出される。定期の期間が満了したときに自動継続するための口座処理などについては、期日管理DBに蓄積された情報に基づいて内部自振データが抽出される。
【0204】
勘定日の特定時刻をキーとする自振としては、例えば手形小切手の資金化や、カードローンの自動融資などがある。これは、勘定日が満了するまで又は所定の入金待ち終了時刻に至ったときに決済不能である場合には、カードローンによる自動融資を行うものである。このカードローンによる自動融資は、担保定期による貸越極度内の自動融資と異なり、ローンの対象とする口座処理が限定され、かつ、勘定日の満了直前に入金が無い場合に自動融資するものである。このような特定時刻をキーとする自振の管理には、再カット管理DBを用いる。再カット管理DBは、所定の勘定日の予め定められた時刻以降に処理する口座処理を管理する。自振入力ファイル生成手段105Aは、この再カット管理DBに管理される口座処理要求のうち、勘定日が当日である口座処理要求を、口座処理要求の種別に応じて予め定められた時刻以後に抽出する。
【0205】
また、自動定期化サービスを実行するべく、先日付で普通預金口座からの出金と定期預金口座への入金を処理した後に、当該勘定日の満了前に定期入金の金額の変更等が依頼されることがある。この場合、営業店の端末のオペレーションにより、既に実行した関連する口座処理の取消と、新たな契約での口座処理の実行を行う。このような勘定日又はその直前での変更による口座処理要求は、追い上げ分DBに登録される。
【0206】
図21は、外部自振を処理するオンライン演算手段4の一部構成を示すブロック図である。外部自振の先日付センターカットでは、持ち込み媒体からの入力処理を行い、続いて、口座の照合及び抽出処理を行い、そして、センターカット電文を生成する。まず、事前に、電力会社等の自振の依頼先を介して、口座を用いた自振を行う旨の受託契約書を受け取る。この受託契約を、受託契約管理DB等に登録する。受託契約管理DBには、自振の依頼者(振替等の委託者)に関する情報が登録される。自振契約者(振替を口座で行う口座の名義人等)に関する情報については、例えば預金氏名ファイル100D等を使用する。外部自振としては、電気、ガス、水道、税金、年会費の支払、企業等の口座からの給与の振込などの出金や、従業員の口座への給与振込等の入金などがある。
【0207】
そして、例えば毎月の特定日に、MTや、FDなどの持込媒体100Bや、FB端末となるPC1Fや、インターネットバンキングを行うPC1F等を介して、口座振替の依頼を受け取る。入力処理では、受託契約管理DBの内容と、持込媒体100B等による口座振替の依頼とを照合し、支店や口座が存在しない等のエラーが生じた場合を除いて、口座振替の依頼を予め定められたデータ構造である自振原データファイル100Cに変換する。このとき、外部自振の決済状況を管理する種別決済状況DBや、外部自振の進行を管理する受託運行管理DBに自振の情報を登録する。また、自振通番は、この自振原データへの登録時に採番する。自振の種類毎の優先順位をこの自振原データ登録時に付与するようにしても良い。この場合、自振入力ファイル生成手段105Aが、口座処理要求毎にその種別に応じた優先順位を付与する優先順位付与部105Dを備える。
【0208】
図21に示す例では、自振入力ファイル生成手段105Aは、各DBの自振関連情報を照合し、データを抽出する自振データ抽出部105Cを備えている。自振データ抽出部105Cは、外部自振に関しては、預金者の氏名等を登録した預金者氏名ファイルと、自振原データファイル100Cに格納された自振原データとを照合し、依頼者から自振の依頼を受けた口座番号等に関してエラーがあるか否かを判定する。正常であれば、自振入力ファイル生成手段105Aは、自振原データからセンターカット電文を生成する。例えば、5つの口座処理要求を一つの電文へとブロッキングする。
【0209】
センターカット電文の実行は、例えば、口座処理要求の勘定日の前営業日に行う。すると、口座処理要求は先日付にて決済される。口座処理が決済されると、種別決済状況DB100Eにて決済金額等を集計する。そして、自振原データ100Cにも決済済み又は決済不能の情報を登録する。自振原データ100Cに予め決済済みというビットを登録しておく場合には、決済できた場合には何も処理を行わない。残不足にて決済不能であった場合に、自振原データファイルに当該口座での決済が不能であったことを示すビットを付する。これらの外部自振関連のDBの管理は、起動業務側が行う。また、決済不能の場合には不渡管理DBにも情報登録するようにしても良い。この場合、センターカット不渡り一覧の照会が可能となり、店頭等での事務処理効率が向上する。
【0210】
外部自振が再カットされた場合や、取り消された場合には、自振原データファイル100Cのビットや、種別決済状況DB100Eの内容を更新する。そして、振替日当日を迎えたときに、決済済みの口座処理要求は確定する。また、勘定日当日にて再カットされた場合は、その再カットの口座処理要求が確定する。一方、勘定日当日に入金の可能性がなくなった場合や、勘定日当日から次の営業日へと日付変更されたときに、決済不能であることが確定する。これらの口座処理要求の確定に従って、自振原データファイルに登録された決済不能であったビットも確定する。
【0211】
外部自振が確定すると、受託運行管理DBや、種別決済状況DBに登録された自振金額等に基づいて、口座振替によって振り替えた総額を集計し、自振の依頼者への資金決済を行う。この資金決済もセンターカットにて実行する。また、内部的に、支店間の決済等も行う。これら自振関連DBを用いた外部自振の進行管理は、起動業務側での処理となる。受動業務側では、起動業務から出金要求や取消による入金(増額)の要求を受けたときに、この起動業務と連動して預金マスタDBを管理する。
【0212】
図22は、融資の回収を自動引落を用いて行う場合の構成を示すブロック図である。融資の回収をセンターカットで実行するには、内部自振関連DBの一種である特約管理DB102Bを用いる。特約管理DBは、図20に示すように勘定日をキーとして口座処理要求を読み出すためのDBである。まず、融資が実行されると、融資マスタ102Cに種々の情報を登録する。このとき、融資の回収のための自動振替の振替日を、特約管理DBに登録しておく。特約管理DBでは、融資を特定する番号と、振替を行う口座番号等の口座処理要求の契機となる情報のみを登録している。
【0213】
自振入力ファイル生成手段105Aは、特約管理DBから勘定日をキーとして融資返済のための口座処理要求をセンターカット電文として生成する。この口座処理要求は、先日付にて入力される。起動業務処理部108は、回収額の算出を行う。これは、元金に約定利息を加算したものである。すなわち、融資回収のセンターカットは、実行されるまで出金金額は不明である。このとき、約定利息は、変動利率の場合にも、先日付の勘定日での利率で算出する。これら回収額の算出に必要な情報は、起動業務処理部が収集する。このように、融資等の内部自振の場合には、その最初の実行時に詳細が定まることがある。このため、図22に示す例では、起動業務処理部108が、口座処理要求毎にその種別に応じた優先順位を付与する優先順位付与部105Dを備えるようにしてもよい。
【0214】
回収額が算出されると、振替口座への出金を連動取引にて要求する。受動業務処理部110は、当該勘定日の残高明細に基づいて出金の可否を判定し、支払または支払不能を返す。受動業務処理部110は、出金した場合には残高を更新し、出金不能であった場合には当該回収額と共に残不足明細に登録する。
【0215】
融資回収の起動業務側では、出金できた場合には、融資取引履歴DBの登録や、融資マスタ102の融資実行明細セグメントの洗替えを行う。例えば、次回償還日、利率、償還額、約定残高等を更新する。また、支店別の極度枠等の残高を更新する。そして、銀行側の会計に必要な日計勘定等の更新を行う。一方、出金不能であった場合には、延滞処理を行う。融資マスタ102の延滞管理セグメントへの登録や、不渡管理DB102Aへの登録などである。
【0216】
この融資回収の起動業務側では、現に実行している口座処理が後に取り消される場合や、再カットされる場合に備えて、当該口座処理にて変更する融資マスタ102C等の直前のデータや、回収額等を洗替え前情報として登録すると良い。この口座処理要求が取り消される場合には、種々の情報に基づいて再度融資マスタを更新するのではなく、洗替え前情報に基づいて取消を行うことで、取消処理に要する処理量を減少させることができる。
【0217】
また、融資回収の場合には、一般的に、再カット期限を3ヶ月としている。従って、約定返済日から数日後に再カットされる場合がある。融資回収の起動業務では、再カット処理を行う際に、約定返済日から再カットする勘定日までの延滞利息を回収額に加算する。従って、取消再カットメインが再カット(または、修正再カット)可能と判定したが、実際には再カットできない場合も生じる。再カットに成功すると、融資回収の起動業務は、融資マスタや不渡管理DB102Aの内容を更新する。
【0218】
定期積金や、定期の更新などについても、ほぼ同様の仕組みで実現することができる。
【0219】
次に、起動業務と受動業務と、実際に実行されるプログラムとの関係を説明する。図23(A)は、先日付完結処理の一部構成を示すブロック図である。図23(A)に示す例では、先日付完結処理システムは、オンラインの口座処理要求及び自振データによる口座処理要求の全部又は一部を処理するサブプログラムデータを複数記憶したプログラム記憶手段106Bと、前記口座処理要求の実行時に使用するサブプログラム名及びサブプログラムの実行順序が前記口座処理要求の種別を示すオペコード別に格納されたオペコードテーブルを記憶したオペコードテーブル記憶手段106Cとを備えている。
オペコードは、例えば数値列で、普通預金入金や、定期入金の取消など、口座処理要求の種別を表すコードである。本実施例では、このオペコードと、勘定日や取引金額の組み合わせが、口座処理要求である。
【0220】
そして、サブプログラムがそれぞれ、前記オンラインの口座処理要求及び前記自振入力データによる口座処理要求に共通した処理を実行させる共通指令と、当該サブプログラムの起動形態に応じた当該サブプログラムの戻り又は他のサブプログラムの起動を行う処理を実行させる戻り/起動指令とを備えている。
【0221】
さらに、プログラム記憶手段106Bが、前記サブプログラムの実行中に起動され当該口座処理後に当該口座に対する口座処理がないと仮定した場合の先日付となる勘定日での口座状態を生成するために取消又は再カットする口座処理を特定する取消/再カットメインプログラムを記憶している。
【0222】
図23(B)はオペコードテーブルの一例を示す説明図である。オペコードテーブルは、起動処理と受動処理とに区別して生成すると良い。起動処理としては、公共料金の引落等の外部自振や、融資や、定期や、定積に関する内部自振がある。これらの起動処理と連動して処理される受動処理の例としては、普通預金や、当座預金や、情報登録等の口座処理がある。図23(B)に示す例では、口座処理を受動処理と起動処理とに分け、さらにそれぞれの業務毎にオペコードテーブルを作成している。
【0223】
図24は、オペコードテーブルの内容の一例を示す説明図である。図24は、普通預金のオペコードテーブルである。普通預金出金のオペコードが、「01001」であるとする。オペコードテーブルには、このオペコードの動作環境指定が記述されている。例えば、普通預金の出金は、土曜日にも動作し、先日付処理を行うセンター一括も行う。一方、動作のための個別の承認処理は不要である。好ましい実施例では、ある口座処理要求の取消を行うための口座処理要求を、元の口座処理要求のオペコードに一定数(例えば、500)を加えることとするとよい。起動業務側のオペコードは、取引明細セグメントや、残不足明細セグメントの項目とすると良い。すると、取消再カットメインでの取消や再カットの起動処理をオペコードを用いて直接に行うことができる。例えば、取消明細セグメントに格納された口座処理要求の取消を派生トランザクションとして起動するには、その取消明細に格納されたオペコードに500を加算したオペコードの派生起動を業務メインに入力する。
【0224】
オペコードテーブルは、各オペコードで指定される口座処理要求が予め定められた動作環境以外で動作することを防止する。例えば、何らかの不具合でセンター一括処理で行わないオペコードがセンター一括処理として入力された場合であっても、このオペコードテーブルの動作環境指定を参照することで、オンライン演算手段4はエラー出力することができる。
【0225】
普通預金の出金(オペコード01001)を例として考えると、ATMからオンライン処理として実行される場合と、外部自振や定期入金等の先日付処理で実行される場合とでは処理内容の詳細が一致しない場合がある。一方、普通預金の出金であれば、どの起動形態でも共通している処理も存在する。また、勘定日及び勘定日以後の残高を展開する処理などは、普通預金の入金及び出金で共通する処理となる。これらの口座処理とプログラムの関係を、本実施例では、図24に示すオペコード別のプログラムリストで調整する。
【0226】
プログラムの起動形態としては、B:営業店端末1BやATM1A等の端末からその口座処理要求(オペコード)が初回に入力された場合と、C:同様の端末から連続して同一の口座処理要求が入力される場合と、D:定期の入金に対する普通預金の出金など、受動処理として単一のトランザクションの一部として起動される「被連動」の場合と、E:先日付処理にて普通預金の入金等の残高に異動があった場合の取消や再カット等を行うために、入金等のトランザクションとは異なる他のトランザクションとして起動される「被派生」とがある。
【0227】
前記オンライン演算手段4は、口座処理要求が入力された時に当該口座処理要求のオペコードに基づいて前記オペコードテーブルを特定する機能と、特定されたオペコードテーブルにて指定される順序で前記サブプログラムを単一のトランザクションとして実行する機能とを備えている。例えば、図24に示す例では、オペコード01001で特定される口座処理要求がセンター一括にて起動された場合には、サブプログラム10,11,12をこの順で一つのトランザクションとして実行する。
【0228】
サブプログラムの処理例を例示する。残高明細更新処理は受動業務の出金及び入金で共通して利用可能なサブプログラムであり、口座処理要求が成立して口座残高に異動が生じる場合に起動される。続いて、預金マスタDB104から、残高明細セグメントを読み出す。そして、勘定日の古い順に残高明細を展開する。続いて、受動処理として実行中の口座処理要求の勘定日について、残高明細が有るか否かを確認する。当該勘定日の残高明細が無い場合には、勘定日当日分の残高明細エリアを作成する。続いて、その勘定日以降の先日付の各種残高を更新する。さらに、更新した残高明細セグメントを預金マスタDB104へ更新する。そして、起動形態に応じて業務メイン等に戻る処理を行う。
【0229】
口座残高に異動を生じさせる口座処理要求として、通常入金処理と、通常出金処理の処理内容を説明する。通常入金処理では、まず、営業店端末や、ATMや、例えば振込を行うトランザクションなどの起動業務から、入金処理要求を受信する。続いて、この入金処理要求のフォーマットや、入金対象の口座の有無や状態を確認し、異常があればエラー処理を行う。正常であれば、入金の取引明細を作成する。続いて、上記残高明細更新処理を実行する。残高明細の更新が正常に完了すると、入金の取引ログを出力する。この取引ログは、種々の帳票の印刷や、また、管理用のデータベースの構築(ディレード処理)等に利用しても良い。そして、金融機関側の会計を管理する日計を更新する。さらに、未成立の取引の有無をチェックする。例えば、残不足明細の有無をチェックする。未成立の取引がある場合には、取消/再カットメインを派生取引として起動する。取消/再カットメインの処理完了を待たずに、通常入金処理は完了する。
残高明細の更新処理や、日計の更新等は、種々の口座処理で共通するため、オペコードテーブルのプログラムリストを用いて同一のプログラムを各種の口座処理に流用すると良い。
【0230】
通常出金処理では、起動業務から出金要求を受信すると、まず、フォーマット及び口座のチェックを行う。口座が取引停止等の場合には、それに応じたエラー処理を行う。フォーマット等が正常であれば、口座処理要求の残高明細にから出金可能額を算出し、出金要求額と出金可能額を比較する。出金要求額に対して出金可能額が不足で有れば、残高なしとしてエラー処理を行う。入金処理と同様に、取引明細の作成や、残高明細更新処理の起動及び戻りや、取引ログの出力や、日計の更新を行う。
【0231】
続いて、更新した勘定日毎の残高明細に基づいて、出金可能額がマイナスとなっている勘定日の有無をチェックする。出金可能額がマイナスとなっている勘定日があれば、取消/再カットメインを派生取引として起動し、取消/再カットメインの処理の終了を待たずに通常出金処理は終了する。一方、マイナスの出金可能額が無い場合にも、通常出金処理は終了する。
受動業務を構成する通常入金処理や通常出金処理の終了は、まず、入出金の成否を起動業務に報告し、その後、起動業務が同期点に達するまで待機する。起動業務が正常に処理を完了すると、受動業務と起動業務とは原子性を保ちつつ同期点に達する。起動業務エラーがありアボートされる場合には、受動業務側の入出金もアボートし、処理開始前の状況へと復帰させる。
【0232】
図25は、本実施例にて最も特徴的な構成となる取消再カットメイン処理部112の詳細を中心としたオンライン演算手段4の構成を示すブロック図である。図25に示す例では、受動業務処理部110は、当日に出金可能額がマイナスとなる口座処理要求をエラーとする一方、先日付の勘定日での出金可能額のマイナスを許容する決済完了性設定機能116を備えている。そして、取消再カットメイン処理部112は、前記受動業務処理部による口座処理要求の処理の結果先日付の勘定日での出金可能額がマイナスになった場合には当該出金可能額がマイナスとなった日付の出金要求を優先順位の低い順に取り消す制御をする取消起動制御機能118を備える。
【0233】
決済完了性設定機能116は、各取引に直接ファイナリティを与えるものではなく、例えば演算日当日に実行した口座処理は取り消さないが、先日付の口座処理は取消可能とするような設定である。他の実施例として、当日であっても口座にアクセスされるまでは演算日当日に成立した口座処理要求の取消を可能とする設定もシステム的には可能である。
【0234】
図25に示す例では、取消再カットメイン処理部112は、スパイラル処理制御機能114による制御に従って動作する複数のサブコントローラー(SC)を備えている。このサブコントローラーの構成は、口座処理が、決済又は入出金の期限となる再カット期限が2日以上の可能性があり優先順位の高い第1群か、または、第1群よりも優先順位が低く再カット期限が1日である第2群とのいずれかに分類されるという前提で構築されている。
【0235】
具体的には、取消再カットメイン処理部112は、スパイラル制御により起動される毎に前記残高明細セグメントに基づいて取引のある日付毎の出金可能額を算出する日付チェックテーブル生成サブコントローラー120を備えている。取消再カットメインは、第4実施形態にて説明したように、スパイラル制御により繰り返し起動される。日付チェックテーブルは、その繰り返し毎に、最新の情報に基づいて作成する。取消再カットメインが起動される毎に、日付チェックテーブルを作成することで、起動時での取引明細セグメント及び残不足明細セグメントの構成(なにを成立させて、どの処理を未成立とするか)で、出金可能額がマイナスという業務レベルでの整合性(一貫性)のない状態を検出する。
【0236】
また、日付チェックテーブル生成SC120は、種々の理由により、取消再カットメインが最初に起動された、スパイラル制御の起点となる原始の口座処理の勘定日を先頭の日付(先頭勘定日)として、それ以後で先日付取引があった日付を残高明細から抽出し、それぞれの日付での出金可能額を算出する。そして、取消再カットメインは起動されたときに、当該取消再カットメインを起動した口座処理要求に関する情報を得る。従って、派生起動した受動業務にて口座残高に異動が生じた場合、その異動が生じた日付は日付チェックテーブル内に含まれる。通常、この異動が生じた日付以降の調整を行うが、修正再カットSCから再カットSCへ移行する場合などでは、日付チェックテーブル内の先の日付へと処理がシフトした後に、先頭勘定日へと処理を戻す。
日付チェックテーブルを参照すると、先日付のどの日付に取引があるかを特定することができるという意味で、この勘定日毎の出金可能額を格納するテーブルを日付チェックテーブルと呼ぶ。
【0237】
預金マスタDB104が、当該預金口座の担保となる担保明細セグメントを備える例では、日付チェックテーブル生成SC120は、前記担保明細セグメントに基づいて前記残高明細セグメントの残高に当該担保明細による極度を加算した額を出金可能額として算出する極度加算機能130を備える。
【0238】
取消再カットメイン処理部112は、残不足明細セグメント16に格納された決済済みの口座処理要求のうち優先順位が第1群(≠9x)で先日付の出金要求がなくなるまで前記スパイラル制御により当該口座処理要求を取り消す先日付第1群取消サブコントローラー122を備えている。残不足明細に格納されたということは、約定返済日等の勘定日の初日での決済が不能であったか、または取り消されたことを意味する。そして、その後、決済済みに変化した場合には、当初勘定日が、それ以後の再カット期限内の勘定日のいずれかに決済されている。従って、前倒制御を行わなければならない可能性がある。「スパイラル制御により」というときには、本実施形態では、「一つの取消処理を起動して同期点に達し、その後取消処理の受動側から起動され、次の取消処理を起動する」という派生トランザクションの繰り返しによる制御を意味する。
【0239】
また、第1群(≠9x)の口座処理要求は、修正再カットの対象である。第1群(≠9x)の口座処理が多数成立し、一方未成立のものもある場合には、すべての組み合わせの比較を修正再カットとして行うのではなく、第1群(≠9x)の口座処理を一旦全て取り消しておき、その後、優先順位の高い順に再カット又は修正再カットする方が、優先順位の反映として確実である。例えば、起動業務と受動業務とで分離し、受動業務側では融資返済の再カットでの回収額の算出を行わない(延滞金の加算をしない)場合には、実際に再カットしてみなければその後の正確な残高は判明しない。このため、第1群内(≠9x)内で正確に優先順位を反映させるには、第1群の優先順位の口座処理要求を一旦全て取り消し、その後に優先順位の高い順に再カットまたは修正再カットを検討することが望ましい。
【0240】
第1群連続取消制御機能132は、一度派生トランザクションとして先日付第1群取消を起動した場合には、次回以降に取消再カットメインが派生起動された場合であっても、この先日付第1群取消の対象がなくなるまで他のSCの処理を行わずに先日付第1群の取消を連続させる機能である。具体的には、派生管理フラグを参照してこの連続取消を制御する。
【0241】
図25に示すように、取消再カットメイン処理部112は、先日付第1群取消SC122によるスパイラル制御が完了した後に、前記日付チェックテーブルを参照して出金可能額がマイナスとなっている勘定日があるか否かを確認し、マイナスの勘定日がある場合には、当該勘定日に成立し前記取引明細セグメントに格納された口座処理要求を優先順位の低い順に前記出金可能額がプラスとなるまで前記スパイラル制御により当該口座処理要求を取り消させるマイナス時取消サブコントローラー124を備えている。上述した取消制御機能118は、このマイナス時取消SC124により実現する。マイナス時の取消については、第1実施形態や第4実施形態に開示した手法と同様である。
【0242】
図25に示す例では、出金可能額がマイナスと成る場合の取消制御機能134のほか、口座残高が予め定められた金額を超えた場合に、先日付の入金を取り消す制御をするオーバー時取消制御機能136を備えている。オーバー時取消制御機能136は、例えばマル優口座にてマル優の金額を超えた額が入金される場合に、先日付にてその入金によりマル優オーバーすることが判明した時点で、その口座名義人に連絡する等のサービスに活用できる。また、この機能130は、複数の口座を使い分け、ある口座での残高の上限を定めておき、余剰の入金は他の口座へ入金する場合などにも活用できる。
【0243】
取消再カットメイン処理部112は、先日付第1群取消SC122及び前記マイナス時取消SC124による各スパイラル制御が完了した後、前記第1群(≠9x)の優先順位で前記残不足明細セグメント16に格納された先日付の口座処理要求を、各勘定日の出金可能額又は所定の修正出金可能額に基づいて出金可能額がマイナスとなるか又は残不足明細セグメントの走査が完了するまで前記スパイラル制御により当該口座処理要求を再カットさせる修正再カットサブコントローラー126を備えている。
【0244】
第4実施形態と異なり、本実施例では、修正再カットSC126は、修正再カットのみならず、再カットも行う。そして、修正再カットSC126で処理対象とする口座処理要求は、第1群(≠9x)の優先順位を有する口座処理要求である。出金可能額の定義や、修正出金可能額の定義は第4実施形態と同様である。修正再カットを行うと出金可能額がマイナスとなる。この場合、マイナス時の取消が優先するため、修正再カットを連続して行うことはない。しかし、図25に示す修正再カットSC126は、出金可能額での決済が可能であればその出金可能額で再カットを行う。この場合、再カットが連続することはある。
【0245】
一方、本実施例では、再カット期限が3ヶ月の口座処理要求もある。従って、残不足明細セグメントの中から、ある勘定日の口座処理要求群のみを確認するのではなく、再カットの判定対象となる日付(対象勘定日)が再カット期限内である口座処理要求を抽出する。そして、その中で最も優先順位の高い口座処理要求を高順位口座処理要求とする。また、先日付完結処理では、先日付での入金も行う。従って、先日付である10日には決済不能な場合であっても、11日に決済可能な場合もある。このため、同一の残不足明細である口座処理要求を、10日を対象勘定日として読み取り、決済不能であった場合には、11日を対象勘定日として再カット可否を検討する。この点で、本実施例では、第4実施形態よりも修正再カットの処理が複雑になる。
【0246】
図25に示す例では、修正再カットSC126による修正再カットの対象の走査が完了した後、すなわち、修正再カット可能な残不足明細が日付チェックテーブルのすべての日付にて存在しない場合に、前記第1群及び第2群の優先順位で出金可能額内の出金要求を優先順位の高い順に前記スパイラル制御により当該口座処理要求を再カットさせる再カットサブコントローラー128を備えている。再カットSC128は、優先順位が第2群(9x)の先日付取引の再カットと、優先順位が第1群(≠9x)又は第2群(9x)の双方の演算日当日を勘定日とする再カットとを対象とする。出金可能額が増加した場合の再カット処理については、第2実施形態と同様である。
【0247】
図26は、取消再カットメインによる処理の構成を示す説明図である。図16に示す例と同様に、起動業務と受動業務とは連動し、受動処理は取消再カットメインを派生トランザクションとして起動する。また、取消再カットメインは、各SC122,122,…による判定に従って分岐する。取消再カットメインは、何らかの処理を派生起動した場合には、ハッチングを施した部分C11,C12…にて同期点に達し、一旦処理を終了する。一旦処理を終了するものの、取消再カットメインでの判定結果は派生管理フラグとして起動処理に渡される。ここでは、派生起動中ビット(Dビット)のON,OFFと、情報フラグ1,2,3,A,4とを派生管理フラグとして使用する。
【0248】
取消再カットメインは、先日付第1群取消スパイラルSPF1、マイナス時取消スパイラルSPF2,オーバー時取消スパイラルSPF3の順に判定、実行する。そして、修正再カットSCでは、残不足明細に格納された第1群(≠9x)の口座処理要求のうち、対象勘定日が再カット期限内で未成立の口座処理要求群を特定する。この中での高優先業務の口座処理要求の出金可能額による再カットを試みる。再カットした場合には、スパイラルSPFAによって再度修正再カットSCに戻り、その対象勘定日で次に優先順位の高い取引の再カットを試みる。再カット不能である場合には、成立済みの優先順位の低い取引の取消を前提とした修正出金可能額を算出し、修正再カットを試みる。修正再カット可能な場合には、次の取消再カットメインではマイナス時取消スパイラル制御SPF1に入り、出金可能額がプラスとなれば修正再カットSC126に戻る。
【0249】
対象勘定日にて修正再カットの判定まで行っていない≠9xの残不足明細がなくなると、日付チェックテーブルを参照して対象勘定日を次の勘定日にシフトさせる。そして、新しい対象勘定日が再カット期限内である口座処理要求の再カット、修正再カットを試みる。修正再カットの同期点C14にて、再カット可能(B18)とあるのは、再カット可能又は修正再カット可能という意味である。この分岐B18でのON,Aというのは、派生再カット中ビット(Dビット)がONで、情報フラグがAであることを意味する。各SCは、それぞれ情報フラグが異なる。従って、前回どのSCで処理をしたかを情報フラグを参照することで特定することができる。
【0250】
以下、この派生管理フラグを用いたスパイラル制御について、各SCの処理工程を参照しつつ説明する。図26に示すように、最初の起動処理及び受動処理の連動トランザクションS51から起動された直後には、派生再カット中ビットはOFFで、情報フラグはない(または、1,2,3,A,4以外)。この最初に取消再カットメインを起動するそもそもの口座残高に異動を生じさせた口座処理要求を、原始口座処理と呼ぶ。原始口座処理の勘定日を、先頭勘定日と呼ぶ。日付チェックテーブルはスパイラル処理中(又は、修正再カットSC126から再カットSCへ移行した直後)は先頭勘定日を起点として作成する。この場合、先頭勘定日は日付チェックテーブルの先頭の日付であり、演算日又は演算日に最も近い勘定日(先頭勘定日)となる。
【0251】
図27は、先日付第1群取消SC122による処理例を示すフローチャートである。日付チェックテーブルが生成されると、先日付第1群取消SC122では、まず、「派生再カット中ビット(Dビット)がONで情報フラグが1でない」という条件を満たさないことを確認する。派生再カット中ビットがONである場合には、原始口座処理による残高異動に応じて何らかの取消、再カット処理が行われたことを意味する。「情報フラグが1でない」ことが真(イエス)である場合には、先日付第1群取消以外の処理が行われていることを意味する。何らかの取消再カット処理が行われ、その処理が先日付第1群取消でない場合には、先日付第1群再カットのスパイラル処理が完了したか、またはその対象が無い場合である。従って、ステップS61がイエスである場合には、先日付第1群取消処理を行わない。
【0252】
原始口座処理による口座残高の異動から最初に取消再カットメインが起動された場合には、派生再カット中ビット(Dビット)がオフであるため、情報フラグがなんであれ、S61の条件を満たさない。従って、最初に起動された場合には、ステップS62に進む。また、一度以上先日付第1群取消を起動している場合には、情報フラグが1となっている。従って、前回の取消再カットメインの判定結果が先日付第1群取消であった場合には、ステップS61の条件を満たさず、ステップS62に進む。派生再カット中ビット(Dビット)はこの最初の取消再カットメインの起動であるか否かの判定に用いられ、情報ビットは前回の判定が自らのSCか他のSCかの判定に用いられる。この点、他のSCでも同様である。
【0253】
図27のステップS62では、残不足明細セグメント16に先日付で、決済済みで、かつ、優先順位が第1群(≠9x)である口座処理要求が存在するか否かを確認する。この条件を満たす口座処理要求は勘定日の初日以外の再カット期限内で決済されている可能性があるため、前倒を行うためにまず取消を行う。また、この取消は、修正再カット処理を少なくし、より優先順位に従った再カットを行う役割も果たす。
【0254】
ステップS62の条件を満たす決済済みの残不足明細がある場合には、派生再カット中ビット(Dビット)をON、情報フラグを1にセットする(ステップS64)。そして、この口座処理要求の取消を当該派生管理フラグ(Dビット=ON,情報フラグ=1)を付した派生トランザクションとして前記起動業務処理部108に実行させる(ステップS64)。この一連のステップS61,S62,S63,S64によって実現する機能を図25に示す例では、第1群連続取消制御機能132と呼ぶ。
【0255】
図27に示すように、先日付で、第1群で、決済済み残不足明細を連続して取り消す制御SPF1は、ステップS61での判定と、ステップS64での派生管理フラグの更新による。すなわち、一度情報フラグが1となると、前倒判定用の取消処理によって起動される取消再カットメイン処理では、ステップS61の条件に従って、この前記先日付第1群取消SCの処理を連続させる。そして、ステップS62の条件に従って、前倒判定用の取消対象がない場合に、マイナス時取消SCに処理を移す。
【0256】
図28は、マイナス時取消SC124による処理例を示すフローチャートである。まず、日付チェックテーブルを参照して出金可能額がマイナスとなっている勘定日があるか否かを判定する(ステップS71)。この判定は、例えば日付チェックテーブルを作成したときに出金可能額のマイナスの有無を判定し、マイナスがある場合に日付にマイナスを示すビットを付し、ステップS71にてこのビットを確認するようにしてもよい。
【0257】
出金可能額がマイナスである場合には、元の派生再カット中ビットや情報フラグの値にかかわらず、取消を行う。このため、最初に、派生再カット中ビット(Dビット)をON、情報フラグを2にセットする(ステップS72)。そして、出金可能額がマイナスとなった勘定日について、当該勘定日に成立した前記取引明細セグメントに格納された口座処理要求のうち最も優先順位が低い出金の口座処理要求を特定し(ステップS73)、この口座処理要求の取消を当該派生管理フラグを付した派生トランザクションとして前記起動業務処理部108に実行させる(ステップS74)。このステップS71,S72,S73,S74による機能を、図25に示す例ではマイナス時取消制御機能と呼ぶ。出金可能額がマイナスである限り、前回の処理がどのSCによって行われたかに関わらず、このマイナス時取消制御を行う(SPF2)。また、先日付の勘定日(日付チェックテーブルの日付)が2日以上ある場合には、近い将来の勘定日での口座処理を取消、遠い将来の勘定日での出金可能額のマイナスが解消されない場合には、近い将来に続いて遠い将来の勘定日での出金を取り消す。
【0258】
ステップS71にて出金可能額がマイナスの日付がないと判定された場合には、入金オーバーの判定を行う(ステップS75)。この入金オーバーについても、日付チェックテーブル作成時に入金オーバービットを付しておき、これに基づいて判定すると良い。そして、所定の入金上限額を超えた先日付の勘定日がある場合には、派生再カット中ビットをON、情報フラグを3にセットする(ステップS76)。続いて、先日付の勘定日にて成立した入金の口座処理要求の取消を当該派生管理フラグを付した派生トランザクションとして起動業務処理部に実行させる(ステップS77,S78)。図25に示す例では、このステップ75からS78に至る処理をオーバー時取消制御機能136と呼ぶ。
【0259】
ステップS72,S75にて情報フラグに値を登録するため、これらの取消が行われた次の取消再カットメインで、ステップS27による先日付第1群取消が行われることはない。すなわち、ステップS61にて情報フラグが2又は3であるため、情報フラグが1でないという条件を満たし、マイナス時取消SCへと処理が移る(ステップS65)。
【0260】
図29は、残不足明細のデータ構造例を示す説明図である。本実施例では、残不足明細セグメント16は、優先順位の第1群又は第2群を示す第1優先順位を第1のキーとして優先順位の高い順に、各口座処理要求の勘定日を第2のキーとして勘定日の近い順に、各優先順位の郡内での優先順位を第3のキーとして優先順位の高い順に読み出されるデータ構造を有する。優先順位の第1群と第2群とを分けるのは、優先順位の9xというときの9の桁である。図29に示す例では、自振通番002の優先順位は25で、第1優先順位が「2」、第2優先順位が「5」である。
【0261】
図29に示す例では、すべての勘定日を2日としているが、勘定日の異なる残不足明細がある場合、残不足明細は勘定日順には並ばない。これは、再カット期限と対象勘定日との関係によるものである。優先順位と勘定日の関係では、例えば次のような並び順となる。
【0262】
優先順位25、 勘定日2日、再カット期限3ヶ月
優先順位27、 勘定日2日、再カット期限3ヶ月
優先順位23、 勘定日3日、再カット期限3ヶ月
【0263】
2日を対象勘定日として最も優先順位の高い取引を特定すると、先頭の優先順位25であり、2日については、優先順位順に並んでいる。3日を対象勘定日とすると、優先順位25,27の取引共に再カット期限内である。しかし、優先順位23が一番高いため、3日を対象勘定日とすると、残不足明細の全体を読み取り、比較しなければ高優先業務は特定されない。勘定日を第1のキーとした場合も、残不足の全体を読み出さなければならない。第1優先順位を第1のキー、第2優先順位を第2のキーとすると、勘定日の順序がより前後してしまう。図29に示す残不足明細の内容については、具体例と共に後述する。このように、再カット期限が2日以上の残不足明細の探索では、一旦すべてを読み取らなければ、高優先業務の特定ができない。
一方、9xのみを考えると、勘定日順に並んでいることとなる。このため、9xの順次再カットは、単純に残不足を読み出した読み出し順に再カット可否を判定できる。
【0264】
図30は、修正再カットSC126の処理内容を示すフローチャートである。先日付第1群取消サブコントローラー及びマイナス時取消サブコントローラーでの取消制御用の条件を満たさない場合に、修正再カットSCに処理が移る。修正再カットSCでは、まず、「派生再カット中ビットがONで情報フラグが4」という条件を満たさないか否かを判定する。ステップS81にてイエスとなる場合には、再カットSC128によるスパイラル処理SPF4中であることを意味する。
【0265】
続いて、「情報フラグがAで、前記日付チェックテーブルの全日付の判定完了」という条件を満たさないか否かを判定する(ステップS82)。最初に取消再カットメインが起動された場合には、派生再カット中ビットがOFFであるため、ステップS82はノーとなる。情報フラグがAであれば、前回再カットを派生起動したことを意味する。修正再カットを行った場合には、前回の取消再カットメインでは取消をしているため、情報フラグは2である。
【0266】
このステップS82では、修正再カットSCでの処理対象が無ければ処理を再カットSCへ移すものである。ここでは、前回修正再カットで再カットを派生起動し、再カットがなされて起動された場合で、その前回の再カットをした口座処理要求が対象勘定日での最後の未成立かつ、未判定で決済可能な口座処理要求であった場合で、その再カットの勘定日よりも将来の勘定日が日付チェックテーブルにない場合には、再カットSCへ処理を移す。
【0267】
ステップS83では、最初にこのステップS82に入った場合には、残不足明細セグメント中の口座処理要求のうち、前記日付チェックテーブルの日付のうち最も現在に近い日付である先頭勘定日を対象勘定日として、「優先順位が第1群(≠9x)で、当該対象勘定日が再カット期限内で、未決済、かつ、未判定」の口座処理要求を読み出す。この条件を満たす口座処理要求が一又は複数存在する場合には、ステップS85へ処理を移す。
【0268】
一方、該当する口座処理要求がない場合には、対象勘定日を日付チェックテーブルの日付がなくなるまで対象勘定日を先へとシフトさせて当該条件の口座処理要求を読み出させる(ステップS84)。ここで、日付チェックテーブルの前日付の探索が終了し、次の先日付勘定日が日付チェックテーブルにない場合には、再カットSCへと処理を移す。
【0269】
前回再カットした又は修正再カットしたことに応じて起動された場合には、その再カットによって残高に異動が生じた勘定日を対象勘定日として、ステップS83の処理を行うと、判定に必要な処理数を少なくすることができる。
【0270】
ステップS83にて対象勘定日での未成立で≠9xの口座処理要求を残不足明細から読み出せた場合には、この対象勘定日について読み出した口座処理要求のうち当該対象勘定日内で最も優先順位の高い口座処理要求を高優先業務の口座処理要求として特定する(ステップS85)。これは、例えば、残不足明細から口座処理要求を読み出し、今までに一番優先順位の高い口座処理要求の内容をセーブしておき、このセーブした口座処理要求の優先順位よりも優先順位の高い口座処理要求を読み出したときにセーブした内容を入れ替えることで、高優先業務の口座処理を特定するようにしても良い。このステップS81乃至S85による処理を、図25に示す例では、第1群高優先業務特定機能138と呼ぶ。
【0271】
続いて、この第1群高優先業務特定機能138によってステップS85にて特定された高優先業務の出金要求の取引金額が出金可能額以内であるか否かを判定して(ステップS86)、出金可能額以内であれば、派生再カット中ビットをON、情報フラグをAにセットして(ステップS87)、当該口座処理要求の再カットを当該派生管理フラグ付きの派生トランザクションとして前記起動業務に実行させる(ステップS88)。このステップS86乃至S88による再カット起動を、図25に示す例では、第1群再カット起動機能140と呼ぶ。
【0272】
ステップS86にて、高優先業務の出金要求の取引金額が出金可能額を越える場合には、まず、当該高優先業務の出金要求の優先順位よりも低い優先順位の出金要求によって使用される取引金額の総額を修正出金可能額として算出する(ステップS89,修正出金可能額算出機能142)。次に、この高優先業務の出金要求の取引金額が前記修正出金可能額以内であるか否かを判定し(ステップS90)、修正出金可能額以内であれば、派生再カット中ビットをON、情報フラグをAにセットして(ステップS91)、当該高優先業務の出金要求の再カットを当該派生管理フラグ付きの派生トランザクションとして前記起動業務に実行させる(ステップS92)。このステップS90乃至S92による処理を、第1群修正再カット起動機能144と呼ぶ。
【0273】
そして、ステップS90にて、高優先業務の出金要求の取引金額が修正出金可能額を越えている場合には、当該口座処理要求を判定済みとして前記第1群高優先業務特定機能138に処理を戻す(修正再カット対象探索制御機能146)。図30に示す例では、ステップS83に処理を移す。
【0274】
ステップS83では、ステップS90にて判定されていない口座処理要求のうち、同一の対象勘定日にて、ステップS83の条件を満たす口座処理要求を読み取る。この読取により特定された口座処理要求は、前回ステップS90で判定された口座処理要求と同一の優先順位か、又はその次に優先順位の低い口座処理要求である。一方、ステップS83にて対象勘定日が再カット期限内の未成立かつ、≠9xの口座処理要求が無い場合には、すなわち、この対象勘定日での探索が完了すると、対象勘定日を次の日付へと移す。この対象勘定日の全探索が完了する途中で決済可能な口座処理があった場合には、再カット又は修正再カットを起動し、その勘定日を対象勘定日としてこのステップS83に戻る。この場合、前回またはそれ以前に再カット又は修正再カットされた口座処理要求は残不足明細では決済済みとなっているため、このステップS83で読み込まれることはない。通常に高優先業務を特定すると、前回又はそれ以前に再カットした口座処理要求の次に優先順位が高い口座処理が高優先業務として特定される。
【0275】
最後の日付で、最後の口座処理要求が修正再カットされた場合、残不足明細にステップS83の条件を満たす口座処理要求がなくなっているか、もしくは、ステップS90,ステップS84を介して再カットSCへと処理が移る。最後の口座処理要求が再カットされた場合、ステップS82にて再カットSCへと処理が移る。
【0276】
この図30に示す処理により、再カット期限が3ヶ月等の期間の口座処理要求の再カット及び修正再カットを良好に処理することができる。また、一旦修正再カットSC126で修正再カット又は再カットされた口座処理要求が、そのスパイラル処理中に先日付第1群取消SC122で取り消されることはない。これは、修正再カットでは情報フラグをAとし、一方、先日付第1群取消SC122では派生再カットが開始され、DビットがONである場合に、情報フラグが1以外であれば、先日付第1群取消を行わないためである。このように、情報フラグは、スパイラル処理において、不要なループが生じないように制御する役割を果たす。
【0277】
図31は、再カットサブコントローラー128の処理例を示すフローチャートである。図31に示す例では、前記修正再カットSCでの第1群再カット又は第1群修正再カットの条件を満たす残不足明細がない場合に処理が始まる。まず、「前記派生再カット中ビットがON、情報フラグが4かつ、日付チェックテーブルの全日付の判定完了」という条件を満たさないか否かを判定する。前回の再カットで、最後の対象勘定日での最後(最も優先順位が低い)の口座処理要求を再カットした場合には、取消再カットの全判定処理を完了する(ステップS110)。
【0278】
最初に起動され派生再カット中ビット(Dビット)がオフであった場合や、すべての口座処理要求の再カット可否の判定が完了していない場合には、ステップS102に処理を移す。図31に示す例では、残不足明細セグメントから、再カット期限内で未決済取引で未判定の残不足明細を読み出す(ステップS102)。そして、当該読み出した口座処理要求を高優先業務の出金要求として特定する(ステップS103,第2群高優先業務特定機能148)。一方、該当する残不足明細が無い場合には、取消再カットメインの全判定を終了する。ステップS102では、残不足明細のデータ構造に従って順に口座処理を読み出し、口座処理要求の対象勘定日が変化した場合には、その勘定日を対象勘定日とする。修正再カットSC126により、≠9xの先日付の残不足は全て判定終了し、再カット可能なものがないため、ステップS102にて残不足明細のデータ構造順に読み出す。すると、9xの範囲内では、勘定日順、かつ、優先順位順(第2優先順位)に読み出される。従って、修正再カットSC126で行ったような高優先業務の探索処理を不要とすることができる。
【0279】
ステップS103に続いて、この高優先業務の出金要求に自動融資が設定されている場合には当該口座処理要求に再カット派生を設定する(ステップS104(自動融資再カット派生設定機能150)。また、高優先業務の出金要求の取引金額が前記出金可能額以内である場合には、当該高優先業務の出金要求に再カット派生を設定する(ステップS105、出金可能額再カット派生設定機能152)。ここでは、再カット派生の設定はステップS106へ処理を進めることであるが、好ましくは、再カット派生ビットを付し、そのビットの有無に従ってステップS106へ進むようにする。このように再カット派生が設定されている場合には、当該高優先業務の出金要求の再カットを当該派生管理フラグ付きの派生トランザクションとして前記起動業務に実行させる(ステップS107,再カット起動機能156)。
【0280】
ステップS105にて、高優先業務の出金要求の取引金額が前記出金可能額を超える場合には、当該口座処理要求を判定済みとして前記高優先業務口座処理要求特定機能に処理を戻す(再カット対象探索制御機能154)。
【0281】
図25等に示す構成は、演算手段4が取消再カットメインプログラムを実行することでその一部として実現することができる。このような取消再カットメインプログラムは、前記演算手段を動作させる指令として、各SCに対応する指令を備える。具体的には、取消再カットメインプログラムが起動される毎に前記残高明細セグメントに基づいて取引のある日付毎の出金可能額を算出させる日付チェックテーブル生成指令M31と、残不足明細セグメントに格納された決済済みの口座処理要求のうち優先順位が第1群で先日付の出金要求がある場合には当該口座処理要求を取り消す制御をさせる先日付第1群取消指令M32と、この先日付第1群取消指令M32に応じて前記優先順位が第1群で先日付にて決済済みの出金要求がない場合に、前記日付チェックテーブルを参照して出金可能額がマイナスとなっている勘定日がある場合には、当該勘定日に成立し前記取引明細セグメントに格納された口座処理要求のうち最も低い口座処理要求を取り消させるマイナス時取消指令M33とを備える。
【0282】
取消再カットメインプログラムは、さらに、先日付第1群取消指令M32及びマイナス時取消指令M33に応じた取消制御が完了下後に、前記第1群の優先順位で前記残不足明細セグメントに格納された先日付の口座処理要求を優先順位の高い順に各勘定日の出金可能額又は所定の修正出金可能額に基づいて再カットが可能であるか否かを判定させると共に再カット可能な場合には当該口座処理要求を再カットさせる修正再カット指令M3Aを備えている。
また、取消再カットメインプログラムは、修正再カット指令M3Aによる再カットの対象の走査が完了した後、前記第1群及び第2群の優先順位で出金可能額内の出金要求を優先順位の高い順に再カットさせる再カット指令M34とを備える。
【0283】
また、上記各指令が、図27乃至図31に示す処理工程に応じた指令を備えることで、より具体的な処理を実現することができる。
【0284】
図25に示した構成により、派生トランザクションの繰り返しとして優先順位に基づいた決済の最適化を行うことで、先日付完結処理を他のオンライン処理による口座処理に遅れを生じさせない状態でオンライン処理と並行して処理することができる。例えば、派生取引等に他のトランザクションによるプロセスに対する優先度の設定等を行わなくとも、派生取引の同時最大数等の規制により、オンラインの応答時間に影響を与えずに、口座振替等の従来バッチ処理で行っていた口座処理をオンライン処理中に処理することができる。
【0285】
図32乃至図38は、本実施例による先日付完結処理の具体的な処理例を示す説明図である。この例では、先日付完結処理の説明のための口座処理の組み合わせである。図32を参照すると、取引明細セグメントは、演算日、勘定日、取引等の項目を有する。これに応じて、残不足明細セグメントのうち再カット期限や結果の項目を記述している。残不足明細は、その本来の並び順ではなく、取引明細セグメントを更新したときに、残不足明細セグメントに与える更新を併記したものである。
【0286】
通番001は、演算日を1日として、先日付の2日を勘定日として、20,000の出金をしている。演算日の項目の左側に、図32中0から13までの番号が振られている。この番号を、処理番号と呼ぶ。通番001の取引種類は電気料の引落である。この電気料の引落は、処理番号1の行で、かつ、Eの列に記載されている。列の番号は図中下側(処理番号13の次の行)に定義されている。図33は、図32の取引の結果を示す残高明細セグメント及び担保明細セグメントであり、処理番号は同一の処理に対してのものである。
【0287】
まず、上記取消再カットメインによってどのように口座残高を推移させるかを説明する。1日の当初の残高として50,000(図33、0N)、担保定期が50,000で貸越極度が45,000。出金可能額を計算すると95,000(図33,0P)である。この状態で、2日を勘定日として、処理番号1,3,4にあるように、通番001の電気料引落、通番003の定期積金入金、通番004の担保定期入金が成立している。一方、通番002の融資返済は、その結果(図32,2H)が極度超となっている。すなわち、融資返済の108,000は残不足で未成立である。この融資返済を、残不足明細に記録する(図32,2Gから2M)。
【0288】処理番号5から9は、1日にATM入金20,000があった場合に、この入金を原始口座処理として取消再カットメインを起動したことによる処理結果である。1日現在の残高50,000(図33,0N)、貸越極度45,000、従って、出金可能額を計算すると95,000となる。2日の残高は−30,000(図33,4R)、処理番号4による極度増額により、貸越極度54,000で、出金可能額は24,000である。2日を勘定日とする先日付の出金として、電気料20,000、定期積金50,000、担保定期預金10,000があり、残不足取引として融資返済108,000が存在する。
【0289】
このときに、1日にATM入金20,000される(図32,5C)。1日の残高は50,000に入金額20,000を加算して70,000となる(図33,5N)。1日の出金可能額は115,000(図33,5P)となる。2日の残高も20,000の増額される。2日の出金可能額は44,000(図33,5T)であるため、残不足となっている融資返済108,000は出金可能額よりも多く、通常の再カットはできない。融資返済の優先順位より優先順位の低い決済済み取引である電気料(通番001)、定期積金(通番003)、担保定期入金(004)を取り消すことを前提とした修正出金可能額は124,000(図33,5U)となる。このため、融資返済の修正再カットが行われる。修正再カット後、2日の出金可能額がマイナスとなる(図33,6T)ため、優先順位の低い順(電気料→担保定期預金→定期積金)に先日付決済済み取引の取消を行う。これにより、2日の残高−38,000、貸越極度45,000、出金可能額7,000(図33,9T)となる。
【0290】
処理番号10から13は、1日に50,000の定期入金があった場合の取消再カットメインによる調整である。取消再カットメインが起動すると、まず、残不足に格納された成立済みで≠9xの有無を探索する。融資返済が該当するため、まずこれを取り消す(図32,処理番号11)。その後の2日の残高は52,000(図33,12T)であるため、残不足で決済済みの口座処理要求のうち最も優先順位の高い定期積金入金が再カットされる。52,000から50,000が減額され、2日の出金可能額は2,000となる(図33,13T)。他に再カット可能な口座処理要求がないため、取消再カットメインはスパイラル処理を終了する。
【0291】
図34に示す処理番号14から18では、先日付第1群による取消と、修正再カットとが行われる。処理番号19から25では、先日付第1群の取消が行われた後、優先順位に従って再カットを行う。ここでは、2日付けの28,000の振込入金によって担保定期入金と電気料引落の再カットができた(図34,24E,25E)。
【0292】
図36に示す処理番号26から30では、1日の残高70,000(図33,5Nからの異動はない)、貸越極度90,000(図33,10O)、従って、出金可能額160,000(図33,10P)、2日の出金可能額は8,000(図35,25T)。2日を勘定日とする先日付の出金要求として、融資返済108,000、定期積金50,000、担保定期預金10,000、年会費1,000がある。残不足としては、電気料20,000が存在する。この状態で、1日にATM出金120,000を行ったとする(図36,26E)。1日の出金可能額が40,000(図35,26P)となり、2日の出金可能額は−112,000(図35,26T)となる。まず、優先順位が≠9xである先日付決済済み取引である融資返済と定期積金を優先順位の低い順に取り消す(処理27,28)と、2日の出金可能額は46,000(図37,28P)となる。このため、残不足となっている定期積み金引落の再カットは行われない状態に見える。しかし定期積み金引落の優先順位よりも低い先日付決済済み取引である電気料、年会費の出金を取り消す前提での修正出金可能額は67,000(図37,28P)となるため、定期積金引落の修正再カットを行う。再カット後、2日の出金可能額がマイナスとなっている(図37,29P)ため、電気料の引落の先日付決済済み取引の取消を行う。これにより、2日の残高−83,000(図37,30N)、貸越極度99,000、出金可能額16,000となる。
【0293】
図36に示す処理31では、3日を勘定日として給与振込がある。32との出金可能額が116,000となるため、2日に決済できなかった融資返済を3日で決済することができる(処理32)。
【0294】
処理番号33から38では、2日の残高−83,000(図37,30N)、貸越極度99,000、このため出金可能額は16,000となる。3日の出金可能額は8,000(図37,32T)である。2日を勘定日とする成立済みの口座処理としては、定期積金、担保定期預金、年会費1,000がある。未成立で残不足明細の格納された取引としては、電気料20,000がある。融資返済108,000は、3日を勘定日として成立している。
【0295】
この状態で、1日に2日付けでの入金62,000を行ったとする。2日の出金可能額は78,000(図37,33P)となり、3日の出金可能額は70,000となる。≠9xで、成立済み残不足の先日付第1群取消の対象として、2日の定期積金と3日の融資返済とがある。これを優先順位の低い順に取り消すと、2日の出金可能額は128,00となるため、融資返済を2日付けで再カットする。再カットすると、2日の出金可能額は20,000(図37,36P)、3日は120,000となる。
【0296】
次に、優先順位が高く、再カット期限内である定期積金を再カットする。これにより、3日の出金可能額は70,000となる。≠9xの再カットの終了後、2日の出金可能額が20,000であるため、電気料引落の先日付再カットを行う。2日の出金可能額が0(図37P)、3日の出金可能額が50,000(図37,38T)となる。もし、3日の出金可能額がマイナスとなる場合には、3日付け先日付取引のうち、最優先順位の口座処理を取り消す。
【0297】
処理38から処理39の間に、日付変更がある。この日付変更により、2日を勘定日として成立していた取引は決済完了性を有する。すなわち、担保定期入金(処理25),融資返済(処理36)、電気料引落(処理38)は確定する。2日当日では、先日付の取引は3日を勘定日とする定期積金入金である(処理37)。処理39では、クレジット代金の引落を処理しようとするが、残不足で未成立となる。このクレジット代金の引落で残不足がある場合に、カードローンによる自動融資を行うとする。3日を迎え、その自動融資を実行する時間までに入金がないと、クレジットローンの自動融資が実行される(図38,42E)。このとき、3日の出金可能額50,000に対して、クレジット代金引落に不足している額は80,000であるため、80,000を自動融資する(図38,42F)これにより、クレジット代金の当日再カットが行われ、3日付けの出金可能額は0となる。
【0298】
次に、各サブコントローラーのフローチャート等を参照して、取消再カットメインによるスパイラル制御を詳述する。処理番号5によって開始するスパイラル制御では、図26を参照すると、まず通番005のATM入金が起動処理及び受動処理の連動S51にて実行される。すると、取消再カットメインでは、まず、日付チェックテーブルを作成する。日付は1日と2日で、1日の出金可能額が95,000、2日が15,000である。先日付第1群取消SC122では、Dビットフラグがオフで、情報フラグがないため、図27に示すステップS62にて前倒の対象があるか否かを確認する。処理番号5の完了時には、決済済み残不足で≠9xはないため、マイナス時取消SCへ移る。出金可能額のマイナスや、入金オーバーもないため、修正再カットSC126に進行する。図30を参照すると、DビットフラグがOFFであるため、ステップS81,S82がノーとなり、ステップS83にて、未決済、未判定、先日付、再カット期限内、かつ、≠9xを読み出す。1日での口座残高の異動であるため、まず1日を対象勘定日として読み出すが、1日を再カット期限内とする残不足明細は存在しないため、ステップS84にて日付チェックテーブルを参照して対象勘定日を2日にシフトさせる。2日を対象勘定日とすると、通番002の融資返済が残不足として格納されている。他の残不足はないため、この融資返済108,000が最高順位となる(ステップS85)。2日の出金可能額は15,000であるため、出金可能額での再カットはできない(ステップS86)。修正出金可能額を算出すると、上述したように124,000となるため、修正再カットを派生起動する(ステップS92)。このとき、派生再カット中ビット=ON、情報フラグ=Aが図26に示す起動処理S55に渡される。
【0299】
ステップS55の起動及び受動の連動処理にて、融資返済の修正再カットを行い、受動処理は残高明細を更新して、取消再カットメインを起動する。このとき、派生再カット中ビット=ON、情報フラグ=Aである。日付チェックテーブルを作成すると、2日の出金可能額マイナス64,000となる(図33,6T)。取消再カットメインでは、先日付第1群取消処理のステップS61にてイエスとなり、マイナス時取消SCへ移る。出金可能額がマイナス64,000であるため、最も優先順位の低い口座処理要求(ここでは、通番001)を特定し(図28のステップS73)、図26のS53に示す起動処理に取消を依頼する。このときの情報フラグは2である。出金可能額がマイナスの間このスパイラル処理SPF2が継続し、マイナスが解消したときに修正再カット及び再カットの検討を行う。ここでは、再カット可能な対象が存在しないため、スパイラル処理を完了する。すなわち、図32の処理番号9によって起動される取消再カットメインは、なにも行わずに同期点C16を迎える。
【0300】
処理9終了時の残不足明細セグメントを図29(A)に示す。優先順位の高い通番002が成立し、他の処理は残不足で決済不能となっている。ここで、50,000の定期入金があるとする(処理番号10)。残高は増加しないが、貸越極度が増加する。これにより残高(出金可能額)に異動が生じたとして、取消再カットメインを起動する。先日付第1群取消SCにて、一旦融資返済を取り消す。その後、修正再カットSC126にて2日を勘定日とする高優先業務を特定すると、今取り消した融資返済であるため、これを再カットする(ステップS88)。情報フラグ=Aとして再度取消再カットメインが起動されると、修正再カットSC126では、再度2日での高優先業務の出金要求を探索する。図29に示すように、自振通番002の優先順位が高いため、取引金額と出金金額とを比較する(ステップS86)。再カット可能であるため、定期積金入金を再カットする(処理番号13)。この再カットにより、再度取消再カットメインが起動される。ステップS83にて2日の残不足を探索すると、担保定期及び電気料の優先順位は第2群であるため、ステップS83にて口座処理要求なしと判定される。2日を基準とした先日付取引があるか否か(先日付の残不足明細があるか否か)を判定すると(ステップS84)、日付チェックテーブルの最終日は2日であるため、3日以後の先日付勘定日は存在しない。このため、再カットSCへ処理が移る(ステップS943)。
【0301】
図31を参照すると、派生再カット中ビット(Dビット)がONであるが、情報フラグがAであるため、ステップS101でノーとなる。残不足から再カット期限内の口座処理を読み出すと、2日の通番004が読み出される。担保定期への入金額(預金口座からの出金額)は10,000であり、2日の出金可能額は2,000であるため(ステップS105)、再カットできない。すると、ステップS102に処理が戻り、次の残不足明細を読む。ここでは、通番001の電気料が読み込まれる。電気料は20,000であるため、やはり、再カットできない。再度ステップS105からS102に処理が戻るが、その次の残不足明細は存在しない。このため、取消再カットメインの判定を終了する(ステップS110)
【0302】
図36に示す処理33では、2日を勘定日として62,000入金されている。これのため、取消再カットメインが起動される。まず、先日付第1群取消SCのスパイラル制御SPF1により、定期積金と融資返済とが取り消される。この処理35終了時の残不足明細を図29(B)に示す。≠9xの融資返済及び定期積金入金、9xの電気料が未成立である。一方、担保定期入金は成立している。
【0303】
処理番号33以下では、原始口座処理は2日を勘定日としている。このため、図30に示す処理では、まず2日を対象勘定日として残不足未決済≠9xの口座処理要求を探索する。融資返済、定期積金ともに対象勘定日の2日は再カット期限内である。そして、融資返済の優先順位が高い。このため、まず、融資返済の再カットを起動する。この再カット完了に応じて取消再カットメインが起動されると、修正再カットSCでは、2日を対象勘定日とする残不足を探索する。ここでは、定期積金入金が高優先業務として特定される(ステップS85)。2日の出金可能額は20,000であるため、再カットできない。担保定期の取消を前提とした修正出金可能額も30,00であるため、修正再カットもできない。このため、ステップS83に処理が戻る。
【0304】
ステップS83では、2日を対象勘定日として未読の対象口座処理要求を探索するが、発見できない。このため、ステップS84で対象勘定日を次の先日付へとシフトさせる。日付チェックテーブルを参照すると、3日にも先日付取引があり、出金可能額は120,000である。3日を対象勘定日として残不足明細セグメントからステップS83の条件を満たす口座処理要求を検索すると、定期積金入金の再カット期限は次回振替日前日であるため、3日は再カット期限内である。従って、3日の高優先業務の出金要求は定期積金入金となる。再カット可能であるため、勘定日を3日として定期積金入金を再カットする。この定期積金入金は3日を対象日とする最後の口座処理要求である。
【0305】
この定期積金再カットの完了によって取消再カットメインが再度起動されると、直前の処理の対象勘定日は3日である。しかし、ここでは、原始口座処理の対象勘定日である2日を起点として日付チェックテーブルを作成する。修正再カットSCでは、ステップS82にて、前回探索完了した3日である対象勘定日よりも先日付の勘定日があるか否かを判定する。4日以後の先日付取引は存在しないため、再カットSCへ処理を移す。また、定期積金入金が3日での最後の口座処理要求でなくとも、ステップS83,S84を介して先日付勘定日がないとして再カットSCへ処理が移る。
【0306】
再カットSCでは、直前に再カットされた定期積金の勘定日(3日)ではなく、原始口座処理である入金(通番011)の勘定日である2日を基準として再カットを判定する。2日を対象勘定日として残不足明細を読み取ると、電気料が探索される。電気料の出金額は2日の出金可能額と等しいため、電気料が再カットされる。
【0307】
上述したように本実施例によると、口座処理が幾つかの勘定日について予め予測できない順序で実行されたとしても、さらに、再カット期限が3ヶ月等である場合であっても、図26等に示すスパイラル制御により、勘定日別の残高セグメントを用いて、優先順位を反映した決済が可能となる。
【0308】
【第2実施例】
第2実施例では、決済完了性を日付ではなく時間やアクセスの有無で設定することで、より柔軟な処理を可能とする。ここでは、取消処理部が、口座処理部による口座処理によって当日又は先日付の勘定日での口座処理要求が決済不能となる場合には当該決済不能となる勘定日での決済完了性を有さない複数の決済済みの口座処理要求のうち優先順位の低い口座処理要求を当該優先順位の低い順序にて取り消す。
【0309】
例えば、決済完了性を振替日当日の19:00とすると、振替日当日の19:00まで取消、再カットが可能となる。一方、19:00を過ぎた直後に決済を完了させる。この場合、19:00以前の口座残高と、19:00以後の口座残高とを有するようにしても良い。また、当日にその口座にアクセスがあるまでは取消が可能であるとしても良い。
【0310】
【発明の効果】
本発明は以上のように構成され機能するので、これによると、口座処理部が、先日付の勘定日毎の残高を管理するため、日付変更後に参照すべき口座情報が予め先日付にて作成されているため、日付変更前後に大量の口座に対する種々の処理を一時期にまとめて処理する必要がなく、例えば、公共料金の振替等を夜間バッチ処理にて行う必要がなく、先日付での口座処理を前もって平準化した状態で日中又はオンライン処理中に処理することができ、すなわち、ATM等の端末を用いた入出金等のオンライン処理と並列して口座振替や利息の入金等の種々の取引を処理することができ、従って、24時間連続サービスを演算手段の処理能力を増強せずに実施することがでる。
さらに、第1群の発明では、取消処理部が、先日付の残高がマイナスの際には、口座処理要求を当該優先順位の低い順序にて取り消すため、口座残高が不足する場合に、先日付での取引を予め定められた優先順位に従って決済することができる。
第2群の発明では、再カット処理部が、先日付の残高がプラスの際には、決済可能となる勘定日での複数の未決済の口座処理要求のうち優先順位の高い口座処理要求を当該優先順位の高い順序にて再カットするため、口座残高が不足していた後、増加した場合であっても、予め定められた優先順位に従って当日又は先日付にて決済を行うことができる。
第3群の発明では、競合単位(勘定日)ごとの資源量(残高)を用いた処理により、先日付で一旦成立させた業務処理(口座処理)の取消や、未成立であった業務処理(口座処理)の再カットを用いて、口座処理(業務処理)の入れ替えを行うことができる。従って、実際の口座処理等の実行の順序に関わらず、その時々の残高に応じて最適な決済を提供することができる。すなわち、第3群の発明では、上述した修正出金可能額を用いた修正再カット処理により、成立済みの取引と未成立の取引の入れ替えを行うことができるため、より優先順位を反映する自動的な最適化を提供することができる。
【図面の簡単な説明】
【図1】本発明の実施形態の構成を示すブロック図である。
【図2】第1実施形態等で用いるファイルのデータ構造例を示す説明図である。
【図3】各実施形態で使用する先日付完結処理の一例を示す説明図であり、図3(A)は取引例の内容を示す図で、図3(B)は日付チェックテーブルの一例を示す図である。
【図4】第1実施形態での処理例を示すフローチャートである。
【図5】図5(A)及び(B)は第1実施形態での動作例を示す説明図である。
【図6】本発明の第2実施形態の構成を示すブロック図である。
【図7】第2実施形態等で利用する口座情報のデータ構造の一例を示す説明図である。
【図8】第2実施形態での処理例を示すフローチャートである。
【図9】図9(A)及び(B)は第2実施形態での動作例を示す説明図である。
【図10】第3実施形態の構成例を示す説明図である。
【図11】図10に示す各機能をトランザクション管理技術を用いて実現する構成を示すブロック図である。
【図12】図11に示した構成によるスパイラル処理の一例を示すフローチャートである。
【図13】図13(A)及び(B)は第3実施形態の動作の一例を示す説明図である。
【図14】本発明の第4実施形態の構成例を示すブロック図である。
【図15】図14に示す取消再カットメイン処理部の詳細構成を示すブロック図である。
【図16】図4に示す構成でのスパイラル処理を実現する取消再カットメイン等の構造を示すブロック図である。
【図17】図15に示す取消再カットメインの処理例を示すフローチャートである。
【図18】図18(A)及び(B)は、第4実施形態での動作例を示す説明図である。
【図19】本発明の第1実施例(第4実施形態の具体例)の構成を示すブロック図である。
【図20】図19に示す構成で利用するデータベースの一例を示す説明図である。
【図21】外部自振の処理工程を説明するためのブロック図である。
【図22】内部自振の処理工程を説明するためのブロック図である。
【図23】本実施例で利用するオペコードテーブルの説明図であり、図23(A)はプログラム記憶手段等を備えた例を示す図で、図23(B)は業務別のオペコードテーブルの例を示す説明図である。
【図24】普通預金オペコードテーブルの一例を簡略化して示す説明図である。
【図25】本実施例での取消再カットメイン処理部の詳細構成を示すブロック図である。
【図26】図25に示す構成にてスパイラル処理を実現する場合の取消再カットメイン等の構造を示すブロック図である。
【図27】図25に示す先日付第1群取消SCによる処理例を示すフローチャートである。
【図28】図25に示すマイナス時取消SCによる処理例を示すフローチャートである。
【図29】図29(A)及び(B)は本実施例で用いる残不足明細セグメントの一例を示す説明図である。
【図30】図25に示す修正再カットSCによる処理例を示すフローチャートである。
【図31】図25に示す再カットSCによる処理例を示すフローチャートである。
【図32】本実施例による優先順位を反映する先日付完結処理の例を示す説明図であり、処理番号0から13までの取引明細セグメントと残不足明細セグメントの一例を示す図である。
【図33】図32に示す取引による残高等を示す説明図である。
【図34】図32に続いて処理番号14から25までの取引明細セグメント等を示す図である。
【図35】図34に示す取引による残高等を示す説明図である。
【図36】図34に続いて処理番号26から38までの取引明細セグメント等を示す図である。
【図37】図36に示す取引による残高等を示す説明図である。
【図38】図38(A)は図36に続いて処理番号39から43までの取引明細セグメント等を示す図であり、図38(B)は図38(A)に示す取引による残高等を示す説明図である。
【符号の説明】
2 受信手段
4 演算手段
6 ファイル
8 口座処理部(実施例では、オンライン演算手段の一部)
10 取消処理部
12 取引明細情報(セグメント)
14 残高明細情報(セグメント)
16 残不足明細情報(セグメント)
24 再カット処理部
Claims (20)
- 各口座に対する各種入出金等の口座処理の取引種類と、当該口座処理の取引日となる対象勘定日と、入金額又は出金額である取引金額とを有する口座処理要求を演算する演算手段と、この演算手段によって演算された口座処理の処理結果を口座情報として格納するファイルとを備え、
前記口座処理要求は、当該口座処理要求の対象となる口座への振込若しくは自動現金預入支払機等による入金要求又は口座振替若しくは自動現金預入支払機等による出金要求であり、
当該出金要求は、当該出金要求の他の出金要求に対する優先順位を有し、
前記ファイルが前記口座情報として、
前記演算された口座処理要求の対象勘定日、取引種類、優先順位及び取引金額を、当該口座処理要求の取引日である勘定日別で当該口座処理要求毎に格納する取引明細情報と、
前記口座毎に口座処理のあった勘定日の残高を勘定日毎に格納する残高明細情報と、
前記出金要求の成立又は未成立を格納する結果とを備え、
前記演算手段は、口座処理部と、取消処理部とを備え、
前記口座処理部は、
前記残高明細情報に対象勘定日と同日の残高が記録されている場合には当該残高を対象勘定日の残高として特定し、一方、対象勘定日と同日の残高が記録されていない場合には当該対象勘定日よりも過去で直近の残高を当該対象勘定日の残高として特定し、
前記特定された対象勘定日の残高と前記取引金額とを加減算し、
当該口座処理要求の勘定日、取引種類、取引金額及び優先順位を前記取引明細情報に記録し、
当該加減算した処理後の残高を、前記対象勘定日の残高として前記残高明細情報に記録し又は更新し、
当該取引金額を、前記残高明細情報に記録された先日付の勘定日のうち、当該対象勘定日より未来である先日付の残高に対して加減算することで、先日付の残高を更新し、
前記取消処理部は、前記優先順位に基づく取消処理として、
前記先日付の残高が記録又は更新された後に、当該先日付の残高がマイナスとなっている際には、当該残高がマイナスとなっている勘定日に前記結果が成立の出金要求を前記取引明細情報から読み出して、当該出金要求の前記優先順位が最も低い出金要求を取消対象として特定し、
前記取引明細情報に格納された出金要求が取消対象として特定された際には、当該出金要求の取引金額と当該勘定日の残高とを加算し、当該加算した処理後の残高を当該勘定日の残高として前記残高明細情報に更新し、当該特定した出金要求の前記結果に未成立を記録することを特徴とする先日付完結処理システム。 - 各口座に対する各種入出金等の口座処理の取引種類と、当該口座処理の取引日となる対象勘定日と、入金額又は出金額である取引金額とを有する口座処理要求を演算する演算手段と、この演算手段によって演算された口座処理の処理結果を口座情報として格納するファイルとを備え、
前記口座処理要求は、当該口座処理要求の対象となる口座への振込若しくは自動現金預入支払機等による入金要求又は口座振替若しくは自動現金預入支払機等による出金要求であり、
当該出金要求は、当該出金要求の他の出金要求に対する優先順位を有し、
前記ファイルが前記口座情報として、
前記演算された口座処理要求の対象勘定日、取引種類、優先順位及び取引金額を、当該口座処理要求の取引日である勘定日別で当該口座処理要求毎に格納する取引明細情報と、
前記口座毎に口座処理のあった勘定日の残高を勘定日毎に格納する残高明細情報と、
前記出金要求の成立又は未成立を格納する結果とを備え、
前記演算手段が、口座処理部と、取消処理部とを備えた先日付完結処理システムを使用して口座処理要求を処理する先日付完結処理方法であって、
この方法は、
前記口座処理部が、
前記残高明細情報に対象勘定日と同日の残高が記録されている場合には当該残高を対象勘定日の残高として特定し、一方、対象勘定日と同日の残高が記録されていない場合には当該対象勘定日よりも過去で直近の残高を当該対象勘定日の残高として特定する工程と、
前記特定された対象勘定日の残高と前記取引金額とを加減算する工程と、
当該口座処理要求の勘定日、取引種類、取引金額及び優先順位を前記取引明細情報に記録する工程と、
当該加減算した処理後の残高を、前記対象勘定日の残高として前記残高明細情報に記録し又は更新する工程と、
当該取引金額を、前記残高明細情報に記録された先日付の勘定日のうち、当該対象勘定日より未来である先日付の残高に対して加減算することで、先日付の残高を更新する工程とを備え、
前記取消処理部が、前記優先順位に基づく取消処理として、
前記先日付の残高が記録又は更新された後に、当該先日付の残高がマイナスとなっている際には、当該残高がマイナスとなっている勘定日に前記結果が成立の出金要求を前記取引明細情報から読み出して、当該出金要求の前記優先順位が最も低い出金要求を取消対象として特定する工程と、
前記取引明細情報に格納された出金要求が取消対象として特定された際には、当該出金要求の取引金額と当該勘定日の残高とを加算する工程と、当該加算した処理後の残高を当該勘定日の残高として前記残高明細情報に更新する工程と、当該特定した出金要求の前記結果に未成立を記録する工程とを備えたことを特徴とする先日付完結処理方法。 - 各口座に対する各種入出金等の口座処理の取引種類と、当該口座処理の取引日となる対象勘定日と、入金額又は出金額である取引金額とを有する口座処理要求を演算する演算手段と、この演算手段によって演算された口座処理の処理結果を口座情報として格納するファイルとを備え、
前記口座処理要求は、当該口座処理要求の対象となる口座への振込若しくは自動現金預入支払機等による入金要求又は口座振替若しくは自動現金預入支払機等による出金要求であり、
当該出金要求は、当該出金要求の他の出金要求に対する優先順位を有し、
前記ファイルが前記口座情報として、
前記演算された口座処理要求の対象勘定日、取引種類、優先順位及び取引金額を、当該口座処理要求の取引日である勘定日別で当該口座処理要求毎に格納する取引明細情報と、
前記口座毎に口座処理のあった勘定日の残高を勘定日毎に格納する残高明細情報と、
前記出金要求の成立又は未成立を格納する結果とを備え、
前記演算手段が、口座処理部と、取消処理部とを備えた先日付完結処理システムの前記演算手段を使用して口座処理要求を処理するための先日付完結処理用プログラムであって、
この先日付完結処理用プログラムは、前記演算手段を動作させる指令として、
前記口座処理部に、
前記残高明細情報に対象勘定日と同日の残高が記録されている場合には当該残高を対象勘定日の残高として特定させ、一方、対象勘定日と同日の残高が記録されていない場合には当該対象勘定日よりも過去で直近の残高を当該対象勘定日の残高として特定させる指令と、
前記特定された対象勘定日の残高と前記取引金額とを加減算させる指令と、
当該口座処理要求の勘定日、取引種類、取引金額及び優先順位を前記取引明細情報に記 録させる指令と、
当該加減算した処理後の残高を、前記対象勘定日の残高として前記残高明細情報に記録させ又は更新させる指令と、
当該取引金額を、前記残高明細情報に記録された先日付の勘定日のうち、当該対象勘定日より未来である先日付の残高に対して加減算することで、先日付の残高を更新させる指令とを備え、
前記取消処理部に、前記優先順位に基づく取消処理として、
前記先日付の残高が記録又は更新された後に、当該先日付の残高がマイナスとなっている際には、当該残高がマイナスとなっている勘定日に前記結果が成立の出金要求を前記取引明細情報から読み出させて、当該出金要求の前記優先順位が最も低い出金要求を取消対象として特定させる指令と、
前記取引明細情報に格納された出金要求が取消対象として特定された際には、当該出金要求の取引金額と当該勘定日の残高とを加算させる指令と、当該加算した処理後の残高を当該勘定日の残高として前記残高明細情報に更新させる指令とと、当該特定した出金要求の前記結果に未成立を記録させる指令とを備えたことを特徴とする先日付完結処理用プログラム。 - 各口座に対する各種入出金等の口座処理の取引種類と、当該口座処理の取引日となる対象勘定日と、入金額又は出金額である取引金額とを有する口座処理要求を演算する演算手段と、この演算手段によって演算された口座処理の処理結果を口座情報として格納するファイルとを備え、
前記口座処理要求は、当該口座処理要求の対象となる口座への振込若しくは自動現金預入支払機等による入金要求又は口座振替若しくは自動現金預入支払機等による出金要求であり、
当該出金要求は、当該出金要求の他の出金要求に対する優先順位を有し、
前記ファイルが前記口座情報として、
前記演算された口座処理要求の対象勘定日、取引種類、優先順位及び取引金額を、当該口座処理要求の取引日である勘定日別で当該口座処理要求毎に格納する取引明細情報と、
前記口座毎に口座処理のあった勘定日の残高を勘定日毎に格納する残高明細情報と、
前記出金要求の成立又は未成立を格納する結果と、
当該結果が未成立となった出金要求の対象勘定日、取引種類、優先順位及び取引金額を、当該口座処理要求の取引日である勘定日別で当該出金要求毎に格納する残不足明細情報とを備え、
前記演算手段は、口座処理部と、再カット処理部とを備え、
前記口座処理部は、
前記残高明細情報に対象勘定日と同日の残高が記録されている場合には当該残高を対象勘定日の残高として特定し、一方、対象勘定日と同日の残高が記録されていない場合には当該対象勘定日よりも過去で直近の残高を当該対象勘定日の残高として特定し、
前記特定された対象勘定日の残高と前記取引金額とを加減算し、
当該口座処理要求の勘定日、取引種類、取引金額及び優先順位を前記取引明細情報に記録し、
当該加減算した処理後の残高を、前記対象勘定日の残高として前記残高明細情報に記録し又は更新し、
当該取引金額を、前記残高明細情報に記録された先日付の勘定日のうち、当該対象勘定日より未来である先日付の残高に対して加減算することで、先日付の残高を更新し、
前記再カット処理部は、前記優先順位に基づく再カット処理として、
前記先日付の残高が記録又は更新された後、当該先日付の残高がプラスの際には、当該残高がプラスの勘定日に前記結果が未成立の出金要求を前記残不足明細情報から読み出して、当該出金要求の取引金額と当該勘定日の残高とを比較することで、当該決済可能な出金要求のうち最も前記優先順位の高い出金要求を再カット対象として特定し、
前記残不足明細情報に格納された出金要求が再カット対象に特定された際には、当該特 定された出金要求の取引金額を前記残高から減算して、当該減算した処理後の残高を前記残高明細情報に更新し、当該出金要求を前記取引明細情報に記録し、前記結果に成立を記録することを特徴とする先日付完結処理システム。 - 前記残不足明細情報が、勘定日を第1キーとし優先順位を第2キーとして勘定日順及び当該各勘定日内では優先順位順に論理的に並べられた状態で読み出され、
前記再カット対象の特定は、前記残不足明細情報のデータ構造に従った順序で前記残高と取引金額とを比較し、当該取引金額が当該残高以下で決済可能と判定される最初の出金要求を再カット対象と特定することを特徴とする請求項4記載の先日付完結処理システム。 - 各口座に対する各種入出金等の口座処理の取引種類と、当該口座処理の取引日となる対象勘定日と、入金額又は出金額である取引金額とを有する口座処理要求を演算する演算手段と、この演算手段によって演算された口座処理の処理結果を口座情報として格納するファイルとを備え、
前記口座処理要求は、当該口座処理要求の対象となる口座への振込若しくは自動現金預入支払機等による入金要求又は口座振替若しくは自動現金預入支払機等による出金要求であり、
当該出金要求は、当該出金要求の他の出金要求に対する優先順位を有し、
前記ファイルが前記口座情報として、
前記演算された口座処理要求の対象勘定日、取引種類、優先順位及び取引金額を、当該口座処理要求の取引日である勘定日別で当該口座処理要求毎に格納する取引明細情報と、
前記口座毎に口座処理のあった勘定日の残高を勘定日毎に格納する残高明細情報と、
前記出金要求の成立又は未成立を格納する結果と、
当該結果が未成立となった出金要求の対象勘定日、取引種類、優先順位及び取引金額を、当該口座処理要求の取引日である勘定日別で当該出金要求毎に格納する残不足明細情報とを備え、
前記演算手段が、口座処理部と、再カット処理部とを備えた先日付完結処理システムを使用して口座処理要求を処理する先日付完結処理方法であって、
この方法は、
前記口座処理部が、
前記残高明細情報に対象勘定日と同日の残高が記録されている場合には当該残高を対象勘定日の残高として特定し、一方、対象勘定日と同日の残高が記録されていない場合には当該対象勘定日よりも過去で直近の残高を当該対象勘定日の残高として特定する工程と、
前記特定された対象勘定日の残高と前記取引金額とを加減算する工程と、
当該口座処理要求の勘定日、取引種類、取引金額及び優先順位を前記取引明細情報に記録する工程と、
当該加減算した処理後の残高を、前記対象勘定日の残高として前記残高明細情報に記録し又は更新する工程と、
当該取引金額を、前記残高明細情報に記録された先日付の勘定日のうち、当該対象勘定日より未来である先日付の残高に対して加減算することで、先日付の残高を更新する工程と、
前記再カット処理部が、前記優先順位に基づく再カット処理として、
前記先日付の残高が記録又は更新された後、当該先日付の残高がプラスの際には、当該残高がプラスの勘定日に前記結果が未成立の出金要求を前記残不足明細情報から読み出して、当該出金要求の取引金額と当該勘定日の残高とを比較することで、当該決済可能な出金要求のうち最も前記優先順位の高い出金要求を再カット対象として特定する工程と、
前記残不足明細情報に格納された出金要求が再カット対象に特定された際には、当該特定された出金要求の取引金額を前記残高から減算して、当該減算した処理後の残高を前記残高明細情報に更新し、当該出金要求を前記取引明細情報に記録し、前記結果に成立を記録する工程とを備えたことを特徴とする先日付完結処理方法。 - 各口座に対する各種入出金等の口座処理の取引種類と、当該口座処理の 取引日となる対象勘定日と、入金額又は出金額である取引金額とを有する口座処理要求を演算する演算手段と、この演算手段によって演算された口座処理の処理結果を口座情報として格納するファイルとを備え、
前記口座処理要求は、当該口座処理要求の対象となる口座への振込若しくは自動現金預入支払機等による入金要求又は口座振替若しくは自動現金預入支払機等による出金要求であり、
当該出金要求は、当該出金要求の他の出金要求に対する優先順位を有し、
前記ファイルが前記口座情報として、
前記演算された口座処理要求の対象勘定日、取引種類、優先順位及び取引金額を、当該口座処理要求の取引日である勘定日別で当該口座処理要求毎に格納する取引明細情報と、
前記口座毎に口座処理のあった勘定日の残高を勘定日毎に格納する残高明細情報と、
前記出金要求の成立又は未成立を格納する結果と、
当該結果が未成立となった出金要求の対象勘定日、取引種類、優先順位及び取引金額を、当該口座処理要求の取引日である勘定日別で当該出金要求毎に格納する残不足明細情報とを備え、
前記演算手段が、口座処理部と、再カット処理部とを備えた先日付完結処理システムを使用して口座処理要求を処理するための先日付完結処理用プログラムであって、
このプログラムは、前記演算手段を動作させる指令として、
前記口座処理部に、
前記残高明細情報に対象勘定日と同日の残高が記録されている場合には当該残高を対象勘定日の残高として特定させ、一方、対象勘定日と同日の残高が記録されていない場合には当該対象勘定日よりも過去で直近の残高を当該対象勘定日の残高として特定させる指令と、
前記特定された対象勘定日の残高と前記取引金額とを加減算させる指令と、
当該口座処理要求の勘定日、取引種類、取引金額及び優先順位を前記取引明細情報に記録させる指令と、
当該加減算した処理後の残高を、前記対象勘定日の残高として前記残高明細情報に記録し又は更新させる指令と、
当該取引金額を、前記残高明細情報に記録された先日付の勘定日のうち、当該対象勘定日より未来である先日付の残高に対して加減算することで、先日付の残高を更新させる指令と、
前記再カット処理部は、前記優先順位に基づく再カット処理として、
前記先日付の残高が記録又は更新された後、当該先日付の残高がプラスの際には、当該残高がプラスの勘定日に前記結果が未成立の出金要求を前記残不足明細情報から読み出させて、当該出金要求の取引金額と当該勘定日の残高とを比較させることで、当該決済可能な出金要求のうち最も前記優先順位の高い出金要求を再カット対象として特定させる指令と、
前記残不足明細情報に格納された出金要求が再カット対象に特定された際には、当該特定された出金要求の取引金額を前記残高から減算させて、当該減算した処理後の残高を前記残高明細情報に更新させ、当該出金要求を前記取引明細情報に記録させ、前記結果に成立を記録させる指令とを備えたことを特徴とする先日付完結処理用プログラム。 - 複数の業務処理要求に配分する有限の資源の状態について日単位等の競合単位毎での増減を格納する資源状態ファイルと、利用、予約又は使用等の前記資源に対する操作を要求する業務処理要求を処理する演算手段とを備え、
前記業務処理要求は、演算日に対して先日付を含む対象競合単位と、当該業務処理要求が要求する資源と、当該業務処理要求の他の業務処理要求に対する優先順位とを有し、
前記資源状態ファイルは、
前記業務処理要求の実行可否を定める前記資源の状態を前記競合単位毎に格納する資源明細情報と、
成立した前記業務処理要求が要求する資源及び前記優先順位を前記競合単位毎に格納する取引明細情報と、
未成立の前記業務処理要求が要求する資源及び前記優先順位を前記競合単位毎に格納する未成立明細情報と、
前記業務処理要求の成立又は未成立を格納する結果とを備え、
前記演算手段は、業務処理部と、取消処理部と、再実行処理部と、取消再実行メイン処理部とを備え、
前記業務処理部は、
前記対象競合単位が先日付の業務処理要求を業務処理する際に、
当該対象競合単位の前記資源を前記資源明細情報から読み出し、当該業務処理要求の要求する資源が当該対象競合単位の資源で充足する場合には、当該業務処理要求を成立させて前記取引明細情報に記録し、前記資源明細情報を更新し、前記結果に成立を記録することで、当該業務処理要求の成立処理を行い、
一方、前記業務処理要求の要求する資源が当該対象競合単位の資源では不足する場合には、当該業務処理要求を未成立として前記未成立明細情報に記録し、前記結果に未成立を記録することで、当該業務処理要求の未成立処理を行い、
前記取消処理部は、
前記取消再実行メイン処理部によって前記取引明細情報に格納された業務処理要求が取消対象として特定された際には、
当該取消対象の業務処理要求の要求する資源を当該競合単位に利用できる資源として前記資源明細情報を更新し、当該業務処理要求を前記未成立明細情報に記録し、前記結果に未成立を記録することで、取消処理を行い、
前記再実行処理部は、
前記取消再実行メイン処理部によって前記未成立明細情報に格納された業務処理要求が再実行対象として特定された際には、
当該再実行対象の業務処理要求の要求する資源を当該競合単位の資源に割り当てて前記資源明細情報を更新し、当該業務処理要求を前記取引明細情報に記録し、前記結果に成立を記録することで、再実行処理を行い、
前記取消再実行メイン処理部は、
前記成立処理、未成立処理、取消処理又は再実行処理の後に、
前記先日付の前記競合単位にて前記資源に不足が生じた際には、取消対象特定処理として、
当該資源不足の競合単位に前記結果が成立である業務処理要求を前記取引明細情報から読み出して、最も優先順位の低い業務処理要求を取消対象とし、
一方、前記先日付の前記競合単位にて前記資源に空きがある際には、再実行対象特定処理として、
当該競合単位に前記結果が未成立である業務処理要求を前記未成立明細情報から読み出して、最も優先順位が高い業務処理要求を高優先業務の業務処理要求として特定し、
当該競合単位で前記結果が成立である業務処理要求を前記取引明細情報から読み出して、当該結果が成立の業務処理要求のうち前記高優先業務の業務処理要求の優先順位よりも優先順位の低い業務処理要求群によって利用される資源の一覧又は総量を修正利用可能資源として算出し、
前記高優先業務の業務処理要求の要求する資源が前記修正利用可能資源で充足する場合には、当該高優先業務の業務処理要求を再実行対象として特定し、
前記取消対象特定処理と、前記再実行対象特定処理とにより、取消再実行メイン処理を行うことを特徴とする資源利用最適化システム。 - 前記演算手段は、
前記成立処理及び未成立処理である業務処理を、一つのトランザクションとして実行し、当該実行中に、他の派生トランザクションとして前記取消再実行メイン処理を起動し、
当該取消再実行メイン処理を、当該他の派生トランザクションとして実行することを特 徴とする請求項8記載の資源利用最適化システム。 - 前記取消再実行メイン処理部は、前記業務処理のトランザクションが同期点に達した後に、前記取消再実行メイン処理の派生トランザクションを開始することを特徴とする請求項9記載の資源利用最適化システム。
- 前記演算手段は、
前記取消再実行メイン処理の実行中に、前記取引明細情報及び前記未成立明細情報に特定の対象となる業務処理要求がなくなり、当該取消再実行メイン処理による特定がなくなるまで、前記取消処理又は前記再実行処理の派生トランザクションとしての起動を繰り返すことを特徴とする請求項9又は10記載の資源利用最適化システム。 - 複数の業務処理要求に配分する有限の資源の状態について日単位等の競合単位毎での増減を格納する資源状態ファイルと、利用、予約又は使用等の前記資源に対する操作を要求する業務処理要求を処理する演算手段とを備え、
前記業務処理要求は、演算日に対して先日付を含む対象競合単位と、当該業務処理要求が要求する資源と、当該業務処理要求の他の業務処理要求に対する優先順位とを有し、
前記資源状態ファイルは、
前記業務処理要求の実行可否を定める前記資源の状態を前記競合単位毎に格納する資源明細情報と、
成立した前記業務処理要求が要求する資源及び前記優先順位を前記競合単位毎に格納する取引明細情報と、
未成立の前記業務処理要求が要求する資源及び前記優先順位を前記競合単位毎に格納する未成立明細情報と、
前記業務処理要求の成立又は未成立を格納する結果とを備え、
前記演算手段は、業務処理部と、取消処理部と、再実行処理部と、取消再実行メイン処理部とを備えた資源利用最適化システムを使用して業務処理要求を処理する資源利用最適化用プログラムであって、
このプログラムは、前記演算手段を動作させる指令として、
前記業務処理部が、
前記対象競合単位が先日付の業務処理要求を業務処理する際に、
当該対象競合単位の前記資源を前記資源明細情報から読み出し、当該業務処理要求の要求する資源が当該対象競合単位の資源で充足する場合には、当該業務処理要求を成立させて前記取引明細情報に記録し、前記資源明細情報を更新し、前記結果に成立を記録することで、当該業務処理要求の成立処理を行わせる指令と、
一方、前記業務処理要求の要求する資源が当該対象競合単位の資源では不足する場合には、当該業務処理要求を未成立として前記未成立明細情報に記録し、前記結果に未成立を記録することで、当該業務処理要求の未成立処理を行わせる指令と、
前記取消処理部が、
前記取消再実行メイン処理部によって前記取引明細情報に格納された業務処理要求が取消対象として特定された際には、
当該取消対象の業務処理要求の要求する資源を当該競合単位に利用できる資源として前記資源明細情報を更新し、当該業務処理要求を前記未成立明細情報に記録し、前記結果に未成立を記録することで、取消処理を行わせる指令と、
前記再実行処理部は、
前記取消再実行メイン処理部によって前記未成立明細情報に格納された業務処理要求が再実行対象として特定された際には、
当該再実行対象の業務処理要求の要求する資源を当該競合単位の資源に割り当てて前記資源明細情報を更新し、当該業務処理要求を前記取引明細情報に記録し、前記結果に成立を記録することで、再実行処理を行わせる指令と、
前記取消再実行メイン処理部が、
前記成立処理、未成立処理、取消処理又は再実行処理の後に、
前記先日付の前記競合単位にて前記資源に不足が生じた際には、取消対象特定処理として、
当該資源不足の競合単位に前記結果が成立である業務処理要求を前記取引明細情報から読み出して、最も優先順位の低い業務処理要求を取消対象とさせる指令と、
一方、前記先日付の前記競合単位にて前記資源に空きがある際には、再実行対象特定処理として、
当該競合単位に前記結果が未成立である業務処理要求を前記未成立明細情報から読み出して、最も優先順位が高い業務処理要求を高優先業務の業務処理要求として特定させ、
当該競合単位で前記結果が成立である業務処理要求を前記取引明細情報から読み出させ、当該結果が成立の業務処理要求のうち前記高優先業務の業務処理要求の優先順位よりも優先順位の低い業務処理要求群によって利用される資源の一覧又は総量を修正利用可能資源として算出させる指令と、
前記高優先業務の業務処理要求の要求する資源が前記修正利用可能資源で充足する場合には、当該高優先業務の業務処理要求を再実行対象として特定させる指令とを備えたことを特徴とする資源利用最適化システム用プログラム。 - 複数の業務処理要求に配分する有限の資源の状態について日単位等の競合単位毎での増減を格納する資源状態ファイルと、利用、予約又は使用等の前記資源に対する操作を要求する業務処理要求を処理する演算手段とを備え、
前記業務処理要求は、演算日に対して先日付を含む対象競合単位と、当該業務処理要求が要求する資源と、当該業務処理要求の他の業務処理要求に対する優先順位とを有し、
前記資源状態ファイルは、
前記業務処理要求の実行可否を定める前記資源の状態を前記競合単位毎に格納する資源明細情報と、
成立した前記業務処理要求が要求する資源及び前記優先順位を前記競合単位毎に格納する取引明細情報と、
未成立の前記業務処理要求が要求する資源及び前記優先順位を前記競合単位毎に格納する未成立明細情報と、
前記業務処理要求の成立又は未成立を格納する結果とを備え、
前記演算手段は、業務処理部と、取消処理部と、再実行処理部と、取消再実行メイン処理部とを備え、
前記業務処理部は、
当該対象競合単位の前記資源を前記資源明細情報から読み出し、当該業務処理要求の要求する資源が当該対象競合単位の資源で充足する場合には、当該業務処理要求を成立させて前記取引明細情報に記録し、前記資源明細情報を更新し、前記結果に成立を記録することで、当該業務処理要求の成立処理を行い、
一方、前記業務処理要求の要求する資源が当該対象競合単位の資源では不足する場合には、当該業務処理要求を未成立として前記未成立明細情報に記録し、前記結果に未成立を記録することで、当該業務処理要求の未成立処理を行い、
前記取消処理部は、
前記取消再実行メイン処理部によって前記取引明細情報に格納された業務処理要求が取消対象として特定された際には、
当該取消対象の業務処理要求の要求する資源を当該競合単位に利用できる資源として前記資源明細情報を更新し、当該業務処理要求を前記未成立明細情報に記録し、前記結果に未成立を記録することで、取消処理を行い、
前記再実行処理部は、
前記取消再実行メイン処理部によって前記未成立明細情報に格納された業務処理要求が再実行対象として特定された際には、
当該再実行対象の業務処理要求の要求する資源を当該競合単位の資源に割り当てて前記資源明細情報を更新し、当該業務処理要求を前記取引明細情報に記録し、前記結果に成立を記録することで、再実行処理を行う、
資源利用最適化システムの前記演算手段の前記取消再実行メイン処理部を使用して、前記取消再カット処理を行うための取消再カット処理用プログラムであって、
当該プログラムは前記演算手段を動作させる指令として、
前記成立処理、未成立処理、取消処理又は再実行処理の後に、
前記先日付の前記競合単位にて前記資源に不足が生じた際には、取消対象特定処理として、
当該資源不足の競合単位に前記結果が成立である業務処理要求を前記取引明細情報から読み出して、最も優先順位の低い業務処理要求を取消対象とさせる指令と、
一方、前記先日付の前記競合単位にて前記資源に空きがある際には、再実行対象特定処理として、
当該競合単位に前記結果が未成立である業務処理要求を前記未成立明細情報から読み出させて、最も優先順位が高い業務処理要求を高優先業務の業務処理要求として特定させるして算出させる指令と、
前記高優先業務の業務処理要求の要求する資源が前記修正利用可能資源で充足する場合には、当該高優先業務の業務処理要求を再実行対象として特定させる指令とを備えたことを特徴とする取消再実行メイン処理用プログラム。 - 各口座に対する各種入出金等の口座処理の取引種類と、当該口座処理の取引日となる対象勘定日と、取引金額とを有する口座処理要求を演算する演算手段と、この演算手段によって演算された口座処理の処理結果を口座情報として格納するファイルとを備え、
前記口座処理要求は、当該口座処理要求の対象となる口座への振込若しくは自動現金預入支払機等による入金要求又は口座振替若しくは自動現金預入支払機等による出金要求であり、
当該出金要求は、当該出金要求の他の出金要求に対する優先順位を有し、
前記ファイルが前記口座情報として、
前記演算された口座処理要求の対象勘定日、取引種類、優先順位及び取引金額を、当該口座処理要求の取引日である勘定日別で当該口座処理要求毎に格納する取引明細情報と、
前記口座毎に口座処理のあった勘定日の残高を勘定日毎に格納する残高明細情報と、
前記出金要求の成立又は未成立を格納する結果と、
当該結果が未成立となった出金要求の対象勘定日、取引種類、優先順位及び取引金額を、当該口座処理要求の取引日である勘定日別で当該出金要求毎に格納する残不足明細情報とを備え、
前記演算手段は、口座処理部と、取消処理部と、再カット処理部と、取消再カットメイン処理部とを備え、
前記口座処理部は、
前記出金要求を出金処理する際に、前記残高明細情報に対象勘定日と同日の残高が記録されている場合には当該残高を対象勘定日の残高として特定し、一方、対象勘定日と同日の残高が記録されていない場合には当該対象勘定日よりも過去で直近の残高を当該対象勘定日の残高として特定し、
当該特定した残高と前記取引金額とを比較して、当該取引金額が当該残高以下で決済可能な際には、
前記特定された対象勘定日の残高から前記取引金額を減算し、当該減算後の残高で前記残高明細情報を更新し、前記取引明細情報に当該出金要求を記録し、当該取引金額を前記残高明細情報に記録された先日付の勘定日のうち、当該対象勘定日より未来である先日付の残高に対して減算することで先日付の残高を更新し、前記結果に成立を記録することで、成立処理を行い、
一方、当該取引金額が当該残高より大きく決済不能な際には、
前記残不足明細情報に当該出金要求を記録し、前記結果に未成立を記録することで、未成立処理を行い、
前記取消処理部は、
前記取消再カットメイン処理部によって前記取引明細情報に格納された出金要求が取消対象として特定された際には、
当該取消対象の出金要求の取引金額を当該対象勘定日の残高に加算して、当該対象勘定日及び当該対象勘定日より未来で先日付の前記残高明細情報を更新し、当該出金要求を前記未成立明細情報に記録し、前記結果に未成立を記録することで、取消処理を行い、
前記再カット処理部は、
前記取消再カットメイン処理部によって前記残不足明細情報に格納された出金要求が再カット対象として特定された際には、
当該再カット対象の出金要求の取引金額を当該対象勘定日の残高から減算して、当該対象勘定日及び当該対象勘定日より未来で先日付の前記残高明細情報を更新し、当該出金要求を前記取引明細情報に記録し、前記結果に成立を記録することで、再カット処理を行い、
前記取消再カットメイン処理部は、
前記成立処理、前記未成立処理、前記取消処理又は前記再カット処理がなされた後、
前記先日付である前記勘定日の残高がマイナスの際には、取消対象特定処理として、
当該残高がマイナスの勘定日にて前記結果が成立である出金要求を前記取引明細情報から読み出して、最も優先順位の低い出金要求を取消対象として特定し、
一方、前記先日付である前記勘定日の残高がプラスの際には、再カット対象特定処理として、
当該残高がプラスの勘定日に前記結果が未成立である出金要求を前記残不足明細情報から読み出して、最も優先順位が高い出金要求を高優先業務の出金要求として特定し、
当該勘定日に前記結果が成立である出金要求を前記取引明細情報から読み出して、当該結果が成立の出金要求のうち前記高優先業務の出金要求の優先順位よりも優先順位の低い出金要求群の取引金額を当該勘定日の残高に加算して、当該加算した処理後の残高を修正出金可能額とし、
前記高優先業務の出金要求の取引金額と前記修正出金可能額とを比較して、当該取引金額が当該修正出金可能額以下で決済可能な際には、当該高優先業務の出金要求を再カット対象として特定し、
前記取消対象特定処理と、前記再カット対象特定処理とにより、取消再カットメイン処理を行うことを特徴とする先日付完結処理システム。 - 各口座に対する各種入出金等の口座処理の取引種類と、当該口座処理の取引日となる対象勘定日と、取引金額とを有する口座処理要求を演算する演算手段と、この演算手段によって演算された口座処理の処理結果を口座情報として格納するファイルとを備え、
前記口座処理要求は、当該口座処理要求の対象となる口座への振込若しくは自動現金預入支払機等による入金要求又は口座振替若しくは自動現金預入支払機等による出金要求であり、
当該出金要求は、当該出金要求の他の出金要求に対する優先順位を有し、
前記ファイルが前記口座情報として、
前記演算された口座処理要求の対象勘定日、取引種類、優先順位及び取引金額を、当該口座処理要求の取引日である勘定日別で当該口座処理要求毎に格納する取引明細情報と、
前記口座毎に口座処理のあった勘定日の残高を勘定日毎に格納する残高明細情報と、
前記出金要求の成立又は未成立を格納する結果と、
当該結果が未成立となった出金要求の対象勘定日、取引種類、優先順位及び取引金額を、当該口座処理要求の取引日である勘定日別で当該出金要求毎に格納する残不足明細情報とを備え、
前記演算手段は、口座処理部と、取消処理部と、再カット処理部と、取消再カットメイン処理部とを備えた先日付完結処理システムを使用して口座処理要求を処理する先日付完結処理方法であって、
この方法は、
前記口座処理部が、
前記出金要求を出金処理する際に、前記残高明細情報に対象勘定日と同日の残高が記録されている場合には当該残高を対象勘定日の残高として特定し、一方、対象勘定日と同日の残高が記録されていない場合には当該対象勘定日よりも過去で直近の残高を当該対象勘定日の残高として特定する工程と、
当該特定した残高と前記取引金額とを比較して、当該取引金額が当該残高以下で決済可能な際には、
前記特定された対象勘定日の残高から前記取引金額を減算し、当該減算後の残高で前記残高明細情報を更新し、前記取引明細情報に当該出金要求を記録し、当該取引金額を前記残高明細情報に記録された先日付の勘定日のうち、当該対象勘定日より未来である先日付の残高に対して減算することで先日付の残高を更新し、前記結果に成立を記録することで、成立処理を行う工程と、
一方、当該取引金額が当該残高より大きく決済不能な際には、
前記残不足明細情報に当該出金要求を記録し、前記結果に未成立を記録することで、未成立処理を行う工程と、
前記取消処理部が、
前記取消再カットメイン処理部によって前記取引明細情報に格納された出金要求が取消対象として特定された際には、
当該取消対象の出金要求の取引金額を当該対象勘定日の残高に加算して、当該対象勘定日及び当該対象勘定日より未来で先日付の前記残高明細情報を更新し、当該出金要求を前記未成立明細情報に記録し、前記結果に未成立を記録することで、取消処理を行う工程と、
前記再カット処理部が、
前記取消再カットメイン処理部によって前記残不足明細情報に格納された出金要求が再カット対象として特定された際には、
当該再カット対象の出金要求の取引金額を当該対象勘定日の残高から減算して、当該対象勘定日及び当該対象勘定日より未来で先日付の前記残高明細情報を更新し、当該出金要求を前記取引明細情報に記録し、前記結果に成立を記録することで、再カット処理を行う工程と、
前記取消再カットメイン処理部が、
前記成立処理、前記未成立処理、前記取消処理又は前記再カット処理がなされた後、
前記先日付である前記勘定日の残高がマイナスの際には、取消対象特定処理として、
当該残高がマイナスの勘定日にて前記結果が成立である出金要求を前記取引明細情報から読み出して、最も優先順位の低い出金要求を取消対象として特定する工程と、
一方、前記先日付である前記勘定日の残高がプラスの際には、再カット対象特定処理として、
当該残高がプラスの勘定日に前記結果が未成立である出金要求を前記残不足明細情報から読み出して、最も優先順位が高い出金要求を高優先業務の出金要求として特定する工程と、
当該勘定日に前記結果が成立である出金要求を前記取引明細情報から読み出して、当該結果が成立の出金要求のうち前記高優先業務の出金要求の優先順位よりも優先順位の低い出金要求群の取引金額を当該勘定日の残高に加算して、当該加算した処理後の残高を修正出金可能額とする工程と、
前記高優先業務の出金要求の取引金額と前記修正出金可能額とを比較して、当該取引金額が当該修正出金可能額以下で決済可能な際には、当該高優先業務の出金要求を再カット対象として特定する工程とを備えたことを特徴とする先日付完結処理方法。 - 各口座に対する各種入出金等の口座処理の取引種類と、当該口座処理の取引日となる対象勘定日と、取引金額とを有する口座処理要求を演算する演算手段と、この演算手段によって演算された口座処理の処理結果を口座情報として格納するファイルとを備え、
前記口座処理要求は、当該口座処理要求の対象となる口座への振込若しくは自動現金預入支払機等による入金要求又は口座振替若しくは自動現金預入支払機等による出金要求であり、
当該出金要求は、当該出金要求の他の出金要求に対する優先順位を有し、
前記ファイルが前記口座情報として、
前記演算された口座処理要求の対象勘定日、取引種類、優先順位及び取引金額を、当該口座処理要求の取引日である勘定日別で当該口座処理要求毎に格納する取引明細情報と、
前記口座毎に口座処理のあった勘定日の残高を勘定日毎に格納する残高明細情報と、
前記出金要求の成立又は未成立を格納する結果と、
当該結果が未成立となった出金要求の対象勘定日、取引種類、優先順位及び取引金額を、当該口座処理要求の取引日である勘定日別で当該出金要求毎に格納する残不足明細情報とを備え、
前記演算手段は、口座処理部と、取消処理部と、再カット処理部と、取消再カットメイン処理部とを備え、
前記口座処理部は、
前記出金要求を出金処理する際に、前記残高明細情報に対象勘定日と同日の残高が記録されている場合には当該残高を対象勘定日の残高として特定し、一方、対象勘定日と同日の残高が記録されていない場合には当該対象勘定日よりも過去で直近の残高を当該対象勘定日の残高として特定し、
当該特定した残高と前記取引金額とを比較して、当該取引金額が当該残高以下で決済可能な際には、
前記特定された対象勘定日の残高から前記取引金額を減算し、当該減算後の残高で前記残高明細情報を更新し、前記取引明細情報に当該出金要求を記録し、当該取引金額を前記残高明細情報に記録された先日付の勘定日のうち、当該対象勘定日より未来である先日付の残高に対して減算することで先日付の残高を更新し、前記結果に成立を記録することで、成立処理を行い、
一方、当該取引金額が当該残高より大きく決済不能な際には、
前記残不足明細情報に当該出金要求を記録し、前記結果に未成立を記録することで、未成立処理を行い、
前記取消処理部は、
前記取消再カットメイン処理部によって前記取引明細情報に格納された出金要求が取消対象として特定された際には、
当該取消対象の出金要求の取引金額を当該対象勘定日の残高に加算して、当該対象勘定日及び当該対象勘定日より未来で先日付の前記残高明細情報を更新し、当該出金要求を前記未成立明細情報に記録し、前記結果に未成立を記録することで、取消処理を行い、
前記再カット処理部は、
前記取消再カットメイン処理部によって前記残不足明細情報に格納された出金要求が再カット対象として特定された際には、
当該再カット対象の出金要求の取引金額を当該対象勘定日の残高から減算して、当該対象勘定日及び当該対象勘定日より未来で先日付の前記残高明細情報を更新し、当該出金要求を前記取引明細情報に記録し、前記結果に成立を記録することで、再カット処理を行う、
先日付完結処理システムの前記演算手段を使用して前記取消再カットメイン処理を行うための取消再カットメイン処理用プログラムであって、
このプログラムは、前記演算手段を動作させる指令として、
前記成立処理、前記未成立処理、前記取消処理又は前記再カット処理がなされた後、
前記先日付である前記勘定日の残高がマイナスの際には、取消対象特定処理として、
当該残高がマイナスの勘定日にて前記結果が成立である出金要求を前記取引明細情報から読み出させて、最も優先順位の低い出金要求を取消対象として特定させる指令と、
一方、前記先日付である前記勘定日の残高がプラスの際には、再カット対象特定処理として、
当該残高がプラスの勘定日に前記結果が未成立である出金要求を前記残不足明細情報から読み出させて、最も優先順位が高い出金要求を高優先業務の出金要求として特定させる指令と、
当該勘定日に前記結果が成立である出金要求を前記取引明細情報から読み出させて、当該結果が成立の出金要求のうち前記高優先業務の出金要求の優先順位よりも優先順位の低い出金要求群の取引金額を当該勘定日の残高に加算させて、当該加算した処理後の残高を修正出金可能額とする指令と、
前記高優先業務の出金要求の取引金額と前記修正出金可能額とを比較させて、当該取引金額が当該修正出金可能額以下で決済可能な際には、当該高優先業務の出金要求を再カット対象として特定する指令とを備えたことを特徴とする取消再カットメイン処理用プログラム。 - 各口座に対する各種入出金等の口座処理の取引種類と、当該口座処理の取引日となる対象勘定日と、取引金額とを有する口座処理要求を演算する演算手段と、この演算手段によって演算された口座処理の処理結果を口座情報として格納するファイルとを備え、
前記口座処理要求は、当該口座処理要求の対象となる口座への振込若しくは自動現金預入支払機等による入金要求又は口座振替若しくは自動現金預入支払機等による出金要求であり、
当該出金要求は、当該出金要求の他の出金要求に対する優先順位を有し、当該優先順位は、再カット期限が2日以上で優先順位の高い第1群の優先順位と、第1群の優先順位よりも優先順位が低く再カット期限が1日である第2群の優先順位とのいずれかであり、
前記ファイルが前記口座情報として、
前記演算された口座処理要求の対象勘定日、取引種類、優先順位及び取引金額を、当該口座処理要求の取引日である勘定日別で当該口座処理要求毎に格納する取引明細情報と、
前記口座毎に口座処理のあった勘定日の残高を勘定日毎に格納する残高明細情報と、
当該口座への自動融資の貸越極度額と、
前記出金要求の成立又は未成立を格納する結果と、
前記結果に一旦未成立が記録された出金要求の対象勘定日、取引種類、優先順位、前記結果及び取引金額を、当該出金要求毎に格納する残不足明細情報とを備え、
前記演算手段は、口座処理部と、取消処理部と、再カット処理部と、取消再カットメイン処理部とを備え、
前記口座処理部は、
前記出金要求を出金処理する際に、前記残高明細情報に対象勘定日と同日の残高が記録されている場合には当該残高を対象勘定日の残高として特定し、一方、対象勘定日と同日の残高が記録されていない場合には当該対象勘定日よりも過去で直近の残高を当該対象勘定日の残高として特定し、
当該特定した残高と前記貸越極度額とを加算した出金可能額と、前記取引金額とを比較して、当該取引金額が当該出金可能額以下で決済可能な際には、
前記特定された対象勘定日の残高から前記取引金額を減算し、当該減算後の残高で前記残高明細情報を更新し、前記取引明細情報に当該出金要求を記録し、当該取引金額を前記残高明細情報に記録された先日付の勘定日のうち、当該対象勘定日より未来である先日付の残高に対して減算することで先日付の残高を更新し、前記結果に成立を記録することで、成立処理を行い、
一方、当該取引金額が当該出金可能額より大きく決済不能な場合には、
前記残不足明細情報に当該出金要求を記録し、前記結果に未成立を記録することで、未成立処理を行い、
前記取消処理部は、
前記取消再カットメイン処理部によって前記取引明細情報に格納された出金要求が取消対象として特定された際には、
当該取消対象の出金要求の取引金額を当該対象勘定日の残高に加算して、当該対象勘定日及び当該対象勘定日より未来で先日付の前記残高明細情報を更新し、当該出金要求を前記残不足明細情報に記録し、前記結果に未成立を記録することで、取消処理を行い、
前記再カット処理部は、
前記取消再カットメイン処理部によって前記残不足明細情報に格納された出金要求が再カット対象として特定された際には、
当該再カット対象の出金要求の取引金額を当該対象勘定日の残高から減算して、当該対象勘定日及び当該対象勘定日より未来で先日付の前記残高明細情報を更新し、当該出金要求を前記取引明細情報に記録し、前記結果に成立を記録することで、再カット処理を行い、
前記取消再カットメイン処理部は、
当該取消再カットメイン処理を開始する際に、前記成立処理、前記未成立処理、前記取消処理又は前記再カット処理された各日付について、前記成立処理又は前記未成立処理の対象勘定日を先頭勘定日として、当該先頭勘定日及び当該先頭勘定日より未来で残高を有する全ての先日付を対象として、前記残高明細情報に記録された残高と前記貸越極度額とを加算し、当該加算後の額を各日付毎の出金可能額とする日付チェックテーブルを生成する日付チェックテーブル生成サブコントローラーと、
前記日付チェックテーブルが生成された後で、後続する他のサブコントローラーによる処理が開始されていない際に、前記残不足明細情報に格納された出金要求のうち、前記勘定日を先日付、前記結果が成立及び前記優先順位が第1群である出金要求を前倒判定用の取消対象として特定する先日付第1群取消サブコントローラーと、
前記先日付第1群取消サブコントローラーによる前倒判定用の取消対象がない際に、前記取引明細情報に格納された出金要求のうち、前記日付チェックテーブルで前記出金可能額がマイナスとなっている先日付を勘定日、前記結果が成立及び前記優先順位が最も低い出金要求を取消対象として特定するマイナス時取消サブコントローラーと、
前記先日付第1群サブコントローラ及び前記マイナス時取消サブコントローラーによる取消対象がない際に、前記先頭勘定日から未来の日付への順序で、各先日付毎に、前記残不足明細情報に格納された出金要求のうち、前記勘定日を先日付、前記結果が未成立及び前記優先順位が第1群、当該取引金額が前記出金可能額若しくは所定の修正出金可能額以下で決済可能及び前記優先順位が最も高い出金要求を再カット対象として特定する修正再カットサブコントローラーと、
前記修正再カットサブコントローラーにより特定される前記再カット対象がない際に、前記先頭勘定日から未来の日付への順序で、前記残不足明細情報に格納された出金要求のうち、前記結果が未成立、当該取引金額が前記出金可能額以下で決済可能及び前記優先順位が最も高い出金要求を再カット対象と判定する再カットサブコントローラーとを備え、
前記修正再カットサブコントローラーが、
前記先頭勘定日から未来の日付への順序で、各先日付毎に、前記残不足明細情報に格納された出金要求のうち優先順位が第1群の出金要求を全て読み出して、最も優先順位の高い出金要求を高優先業務の出金要求として判定し、
前記高優先業務の出金要求の取引金額が前記出金可能額以下で決済可能な際には、当該高優先業務の出金要求を再カット対象と特定し、
一方、当該取引金額が前記出金可能額より大きく決済不能な際には、当該勘定日に前記結果が成立の出金要求のうち当該高優先業務の出金要求の優先順位よりも優先順位の低い全ての出金要求の取引金額を当該対象勘定日の出金可能額に加算した修正出金可能額を算出し、
当該高優先業務の出金要求の取引金額が当該修正出金可能額以下で決済可能な際には当該高優先業務の出金要求を再カット対象と特定し、
当該高優先業務の出金要求の取引金額が前記出金可能額又は前記修正出金可能額より大きく決済不能な際には、次に優先順位の高い出金要求を前記高優先業務の出金要求として判定し、
前記日付チェックテーブルの全日付について、前記出金可能額又は前記修正出金可能額で決済可能な出金要求が前記残不足明細に格納されていない際には、当該再カット対象の特定なしとすることを特徴とする先日付完結処理システム。 - 前記演算手段は、
前記成立処理又は前記未成立処理である口座処理を、一つのトランザクションとして実行し、当該口座処理の終了後に、前記取消再カットメイン処理を他の派生トランザクションとして実行し、この実行後に、
前記取消処理又は前記再カット処理を、他の派生トランザクションとして実行し、この実行後に、
前記取消再カットメイン処理を、他の派生トランザクションとして実行し、
前記取消再カットメイン処理と、前記取消処理若しくは再カット処理との前記派生トランザクションの実行の起動に際して、当該取消再カットメイン処理の進行状況を示す派生管理フラグを前記他の派生トランザクションに渡すことで、前記再カットの特定対象がなくなるまで、前記取消再カットメイン処理と、前記取消処理若しくは前記再カット処理とを繰り返すスパイラル制御を行うことを特徴とする請求項17記載の先日付完結処理システム。 - 前記派生管理フラグが、前記取消再カットメイン処理が起動され先日付の処理中であるか否かを示す派生再カット中ビットと、前記各サブコントローラーでの処理の繰り返し中であるか否かを示す情報フラグとを有し、
原始口座処理要求の口座処理によって起動される取消再カット処理の初期値は、派生再カット中ビットがOFF、情報フラグなしであり、
前記先日付第1群取消サブコントローラーは、
前記日付チェックテーブルが生成された後で、「派生再カット中ビットがONで情報フラグが1でない」という条件を満たさない場合に、すなわち、原始口座処理要求の処理後の最初の取消再カットメイン処理であるか若しくは一度以上当該先日付第1群取消サブコントローラーによる前倒判定用の取消対象が特定された後で、かつ、後続する他のサブコントローラーによる処理が行われていない場合に当該前倒判定用の取消対象の判定処理を開始して、当該前倒判定用の取消対象を特定した際には、派生再カット中ビットをON、情報フラグを1にセットし、当該出金要求の派生トランザクションによる取消処理を依頼し、
前記マイナス時取消サブコントローラーが、
前記日付チェックテーブルを参照して出金可能額がマイナスとなっている勘定日がある際に、当該取消対象特定処理を開始して、当該取消対象を特定した際には、前記派生再カット中ビットをON、情報フラグを2にセットし、当該出金要求の派生トランザクションによる取消処理を依頼し、
前記修正再カットサブコントローラーが、
前記先日付第1群取消サブコントローラー及びマイナス時取消サブコントローラーにて取消対象が特定されない場合で、
「派生再カット中ビットがONで情報フラグが4」という条件を満たさない場合で、すなわち、再カットサブコントローラーによる再カット対象特定処理が行われていない場合 で、かつ、
「派生再カット中ビットがONで情報フラグがAで、前記日付チェックテーブルの全日付の判定完了」という条件を満たさない場合に、すなわち、当該修正再カットサブコントローラーによる再カット対象の特定処理が完了していない場合に、
再カット対象の特定処理を開始して、再カット対象がある際には、派生再カット中ビットをON、情報フラグをAにセットして、当該出金要求の前記派生トランザクションでの再カット処理を依頼し、
前記再カットサブコントローラーが、前記修正再カットサブコントローラーにて再カット対象が特定されない場合で、かつ、
「前記派生再カット中ビットがON、情報フラグが4、かつ、日付チェックテーブルの全日付の判定完了」という条件を満たさない場合に、すなわち、当該再カットサブコントローラーによる再カット対象の特定処理が完了していない場合に、
再カット対象の特定処理を開始して、再カット対象がある際には、派生再カット中ビットをON、情報フラグを4にセットして、当該出金要求の前記派生トランザクションでの再カット処理を依頼し、
一方、「前記派生再カット中ビットがON、情報フラグが4、かつ、日付チェックテーブルの全日付の判定完了」という条件を満たす場合に、すなわち、日付チェックテーブルの全日付に再カット対象がない際には、当該取消再カットメイン処理による全ての処理を終了することを特徴とする請求項18記載の先日付完結処理システム。 - 各口座に対する各種入出金等の口座処理の取引種類と、当該口座処理の取引日となる対象勘定日と、取引金額とを有する口座処理要求を演算する演算手段と、この演算手段によって演算された口座処理の処理結果を口座情報として格納するファイルとを備え、
前記口座処理要求は、当該口座処理要求の対象となる口座への振込若しくは自動現金預入支払機等による入金要求又は口座振替若しくは自動現金預入支払機等による出金要求であり、
当該出金要求は、当該出金要求の他の出金要求に対する優先順位を有し、当該優先順位は、再カット期限が2日以上で優先順位の高い第1群の優先順位と、第1群の優先順位よりも優先順位が低く再カット期限が1日である第2群の優先順位とのいずれかであり、
前記ファイルが前記口座情報として、
前記演算された口座処理要求の対象勘定日、取引種類、優先順位及び取引金額を、当該口座処理要求の取引日である勘定日別で当該口座処理要求毎に格納する取引明細情報と、
前記口座毎に口座処理のあった勘定日の残高を勘定日毎に格納する残高明細情報と、
当該口座への自動融資の貸越極度額と、
前記出金要求の成立又は未成立を格納する結果と、
前記結果に一旦未成立が記録された出金要求の対象勘定日、取引種類、優先順位、前記結果及び取引金額を、当該出金要求毎に格納する残不足明細情報とを備え、
前記演算手段は、口座処理部と、取消処理部と、再カット処理部と、取消再カットメイン処理部とを備え、
前記口座処理部は、
前記出金要求を出金処理する際に、前記残高明細情報に対象勘定日と同日の残高が記録されている場合には当該残高を対象勘定日の残高として特定し、一方、対象勘定日と同日の残高が記録されていない場合には当該対象勘定日よりも過去で直近の残高を当該対象勘定日の残高として特定し、
当該特定した残高と前記取引金額とを比較して、当該取引金額が当該残高以下で決済可能な際には、
前記特定された対象勘定日の残高から前記取引金額を減算し、当該減算後の残高で前記残高明細情報を更新し、前記取引明細情報に当該出金要求を記録し、当該取引金額を前記残高明細情報に記録された先日付の勘定日のうち、当該対象勘定日より未来である先日付の残高に対して減算することで先日付の残高を更新し、前記結果に成立を記録することで、成立処理を行い、
一方、当該取引金額が当該残高より大きく決済不能な場合には、
前記残不足明細情報に当該出金要求を記録し、前記結果に未成立を記録することで、未成立処理を行い、
前記取消処理部は、
前記取消再カットメイン処理部によって前記取引明細情報に格納された出金要求が取消対象として特定された際には、
当該取消対象の出金要求の取引金額を当該対象勘定日の残高に加算して、当該対象勘定日及び当該対象勘定日より未来で先日付の前記残高明細情報を更新し、当該出金要求を前記残不足明細情報に記録し、前記結果に未成立を記録することで、取消処理を行い、
前記再カット処理部は、
前記取消再カットメイン処理部によって前記残不足明細情報に格納された出金要求が再カット対象として特定された際には、
当該再カット対象の出金要求の取引金額を当該対象勘定日の残高から減算して、当該対象勘定日及び当該対象勘定日より未来で先日付の前記残高明細情報を更新し、当該出金要求を前記取引明細情報に記録し、前記結果に成立を記録することで、再カット処理を行う
先日付完結処理システムの前記演算手段を使用して前記取消再カットメイン処理を行うための取消再カットメイン処理用プログラムであって、
このプログラムは、前記演算手段を動作させることで、当該演算手段に各サブコントローラーを構築する指令として、
日付チェックテーブル生成サブコントローラー用指令と、
先日付第1群取消サブコントローラー用指令と、
マイナス時取消サブコントローラー用指令と、
修正再カットサブコントローラー用指令と、
再カットサブコントローラー用指令とを備え、
前記日付チェックテーブル生成サブコントローラー用指令は、
当該取消再カットメイン処理を開始する際に、前記成立処理、前記未成立処理、前記取消処理又は前記再カット処理された各日付について、前記成立処理又は前記未成立処理の対象勘定日を先頭勘定日として、当該先頭勘定日及び当該先頭勘定日より未来で残高を有する全ての先日付を対象として、前記残高明細情報に記録された残高と前記貸越極度額とを加算させ、当該加算後の額を各日付毎の出金可能額とさせる指令を備え、
前記先日付第1群取消サブコントローラー用指令は、
前記日付チェックテーブルが生成された後で、後続する他のサブコントローラーによる処理が開始されていない際に、前記残不足明細情報に格納された出金要求のうち、前記勘定日を先日付、前記結果が成立及び前記優先順位が第1群である出金要求を前倒判定用の取消対象として特定させる指令を備え、
前記マイナス時取消サブコントローラー用指令は、
前記先日付第1群取消サブコントローラーによる前倒判定用の取消対象がない際に、前記取引明細情報に格納された出金要求のうち、前記日付チェックテーブルで前記出金可能額がマイナスとなっている先日付を勘定日、前記結果が成立及び前記優先順位が最も低い出金要求を取消対象として特定させる指令を備え、
前記修正再カットサブコントローラー用指令は、
前記先日付第1群サブコントローラ及び前記マイナス時取消サブコントローラーによる取消対象がない際に、前記先頭勘定日から未来の日付への順序で、各先日付毎に、前記残不足明細情報に格納された出金要求のうち、前記勘定日を先日付、前記結果が未成立及び前記優先順位が第1群、当該取引金額が前記出金可能額若しくは所定の修正出金可能額以下で決済可能及び前記優先順位が最も高い出金要求を再カット対象として特定させる指令を備え、
前記再カットサブコントローラー用指令は、
前記修正再カットサブコントローラーにより特定される前記再カット対象がない際に、前記先頭勘定日から未来の日付への順序で、前記残不足明細情報に格納された出金要求のうち、前記結果が未成立、当該取引金額が前記出金可能額以下で決済可能及び前記優先順位が最も高い出金要求を再カット対象と判定させる指令を備え、
前記修正再カットサブコントローラー用指令は、さらに、
前記先頭勘定日から未来の日付への順序で、各先日付毎に、前記残不足明細情報に格納された出金要求のうち優先順位が第1群の出金要求を全て読み出させて、最も優先順位の高い出金要求を高優先業務の出金要求として判定させる指令と、
前記高優先業務の出金要求の取引金額が前記出金可能額以下で決済可能な際には、当該高優先業務の出金要求を再カット対象と特定させる指令と、
一方、当該取引金額が前記出金可能額より大きく決済不能な際には、当該勘定日に前記結果が成立の出金要求のうち当該高優先業務の出金要求の優先順位よりも優先順位の低い全ての出金要求の取引金額を当該対象勘定日の出金可能額に加算した修正出金可能額を算出させる指令と、
当該高優先業務の出金要求の取引金額が当該修正出金可能額以下で決済可能な際には当該高優先業務の出金要求を再カット対象と特定させる指令と、
当該高優先業務の出金要求の取引金額が前記出金可能額又は前記修正出金可能額より大きく決済不能な際には、次に優先順位の高い出金要求を前記高優先業務の出金要求として判定させる指令と、
前記日付チェックテーブルの全日付について、前記出金可能額又は前記修正出金可能額で決済可能な出金要求が前記残不足明細に格納されていない際には、当該再カット対象の特定なしとさせる指令とを備えたことを特徴とする取消再カットメイン処理用プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001078306A JP3611110B2 (ja) | 2001-03-19 | 2001-03-19 | 先日付完結処理のシステム、方法、プログラム及びこれに用いる取消再カットメイン処理用プログラム並びに資源利用最適化システム、プログラム及びこれに用いる取消再実行メイン処理用プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001078306A JP3611110B2 (ja) | 2001-03-19 | 2001-03-19 | 先日付完結処理のシステム、方法、プログラム及びこれに用いる取消再カットメイン処理用プログラム並びに資源利用最適化システム、プログラム及びこれに用いる取消再実行メイン処理用プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002279191A JP2002279191A (ja) | 2002-09-27 |
JP3611110B2 true JP3611110B2 (ja) | 2005-01-19 |
Family
ID=18934942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001078306A Expired - Lifetime JP3611110B2 (ja) | 2001-03-19 | 2001-03-19 | 先日付完結処理のシステム、方法、プログラム及びこれに用いる取消再カットメイン処理用プログラム並びに資源利用最適化システム、プログラム及びこれに用いる取消再実行メイン処理用プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3611110B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3732113B2 (ja) * | 2001-05-14 | 2006-01-05 | 株式会社八十二銀行 | トランザクション制御システム、方法及びプログラム |
JP4347042B2 (ja) | 2001-06-11 | 2009-10-21 | 協和発酵バイオ株式会社 | オリゴ糖結晶およびオリゴ糖結晶の製造方法 |
CN101989213B (zh) * | 2009-08-07 | 2016-06-29 | 阿里巴巴集团控股有限公司 | 账户并发处理方法及账户并发处理系统 |
CN112926962B (zh) * | 2021-01-20 | 2024-07-23 | 北京思特奇信息技术股份有限公司 | 一种根据费用变动修复业务办理异常的方法及系统 |
-
2001
- 2001-03-19 JP JP2001078306A patent/JP3611110B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2002279191A (ja) | 2002-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2009029331A1 (en) | Methods and systems for executing a plurality of money transfers having a fluctuating parameter | |
JP5876802B2 (ja) | ポートフォリオ最適化発注システム | |
KR20050018865A (ko) | 신용카드 사용과 연계된 적립식 금융상품 운용 시스템 및방법 | |
WO1992004679A1 (en) | Transaction processor | |
JP2001243400A (ja) | 関連口座を用いた口座管理システム | |
JP3732113B2 (ja) | トランザクション制御システム、方法及びプログラム | |
CN112785262B (zh) | 流动贷款管理方法、系统、服务器和存储介质 | |
JP3611110B2 (ja) | 先日付完結処理のシステム、方法、プログラム及びこれに用いる取消再カットメイン処理用プログラム並びに資源利用最適化システム、プログラム及びこれに用いる取消再実行メイン処理用プログラム | |
JP2000339391A (ja) | 資金集中管理システム,同システムで用いられるコンピュータおよびその動作方法,ならびに同コンピュータを制御するためのプログラムを記録した媒体 | |
JP3471728B2 (ja) | 先日付完結処理システム及び方法 | |
JP3903471B2 (ja) | 先日時付完結処理システム | |
JP2003288490A (ja) | 自動処理システム、アグリゲーションサーバ、及び自動処理方法 | |
JP2005174033A (ja) | クレジットの支払システム | |
US20100305985A1 (en) | Contract management system | |
CN110458661A (zh) | 一种根据企业现金流进行企业理财方案推荐的方法及装置 | |
JP2020205084A (ja) | 残高管理システム | |
JP3941946B2 (ja) | 先日付完結処理システム及び取消再カットメイン処理用プログラムを記録した記録媒体 | |
JP2003168004A (ja) | 出金処理方法、融資認証処理方法および金融機関システム | |
JP2006309739A (ja) | 資金繰り管理システム及びコンピュータ・プログラム | |
EP1591933A1 (en) | A method and system for automated "delivery-versus-payment" settlements | |
JP2002117229A (ja) | 決済情報伝達システム | |
JP2003122932A (ja) | 口座振替処理方法、口座振替情報の検索方法および口座振替処理システム | |
JP4890581B2 (ja) | 流動化管理システム、流動化管理方法及び流動化管理プログラム | |
JP2003331121A5 (ja) | ||
JP2009140463A (ja) | 返戻金計算システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040225 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040423 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040714 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040909 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20041013 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041013 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 3611110 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071029 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101029 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101029 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131029 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |