まずは 全体像 その オラクルBRM 課金 プロセスが行います:
- 過去 1 か月に発生した残高への影響の総額を集計します。これには利用料や購読料が含まれます。
- 請求書に関連付けられたすべての請求項目のステータスを保留からオープンに変更し、料金の累積を停止し、支払いを適用できるようにします。さらに、支払期限が請求書に追加されます。
- クレジットカードプロセッサーから自動的に支払いを要求したり、請求書を送付して支払いを要求したりします。
- BRMデータベースに支払いが記録されると、顧客の口座残高が自動的に更新されます。
では、実際にはどうなのでしょうか?
本番環境で brm ビリングを実行する前に、すべての前提条件を実行する必要があります。最初のステップは、本番環境のコピーを準備することです。このステップには、この環境への最新の本番リリースのインストールと、本番データベースのコピーが含まれます。次に、環境設定を本番環境に反映させます。以下に主な設定を示しますので、適切に設定してください:
- センチメートル 設定 ($HOME/pin/sys/cm/pin.conf) を参照してください、
o ログレベルエントリが1に設定されていることを確認します。
o agent_return パラメータのエントリを 0 に変更します。
o simulate_agentパラメータのエントリーを1に変更します。
これら2つの最後の変更は、ビルラン中にプロビジョニング・アクションを伴わないように行われます。
- ディーエムオラクル 設定(1TP17HOME/pin/sys/dm_oracle/pin.conf)を参照してください、
o dm_bigsize パラメータを 8388608 以上に設定します。
o dm_shmsize パラメータを 33554432 以上に設定します。
o dm_n_fe を 8 に設定します。
o dm_max_per_fe を 16 に設定します。
o dm_n_be を 24 に設定します。
o dm_trans_be_max を 22 に設定します。
- pin_bill_accts 設定 ($HOME/pin/apps/pin_billd/pin.conf) を参照してください、
o ログレベルを確認します。課金テスト中にチェックする必要がある内容に応じて、1 または 3 の適切な値に変更します。
o pin_billd および pin_mta の children パラメータを 5 に変更します。
o pin_billd および pin_mta の per_batch パラメータを 20000 に変更します。
o pin_billd および pin_mta の fetch_size パラメータを 150000 に変更します。
- ピン_inv_accts 設定 ($HOME/pin/apps/pin_inv/pin.conf) を参照してください、
o ログレベルを確認します。課金テスト中にチェックする必要がある内容に応じて、1 または 3 の適切な値に変更します。
o pin_billd および pin_mta の children パラメータを 5 に変更します。
o pin_billd および pin_mta の per_batch パラメータを 2000 に変更します。
o pin_billd および pin_mta の fetch_size パラメータを 15000 に変更します。
本番のシミュレーションを最適に行うには、billrun pin_virtual_time を本番の billrun が実行される日付に設定する必要があります。これが完了すると、billrun を開始することができます。
毎月、pin_bill_day スクリプトで課金を実行しており、1 時間あたり約 100,000 件の請求書を作成しています。このスクリプトは、請求日が請求実行日の午前 0 時より前のいずれかの日であるアカウントの請求書を作成します。では、pin_billd_day スクリプトは実際に何をするのでしょうか?以下の請求ユーティリティを実行します:
- pin_deferred_act:例えば、アカウントが非アクティブになる場合、このユーティリティはスケジュールされた日付にステータス変更を実行します。
- pin_bill_accts:口座の支払残高を計算し、支払残高の請求書を作成します。
- pin_collect:クレジットカードや口座引き落としの支払方法を使用しているアカウントの支払残高を収集します。
- pin_refund:払い戻し項目があるアカウントを検索し、オンライン払い戻し処理を行います。
- pin_inv_accts:請求されたアカウントごとに請求書を作成します。
- pin_cycle_fees:サイクルフォワード手数料の残高の影響を顧客のアカウントに適用し、キャンセル待ちの有効期限が切れた商品をキャンセルします。
pin_bill_dayスクリプトの進捗とパフォーマンスを検証するために、データベースに対してクエリを実行し、完了した請求書の数、まだ完了していない請求書の数、エラーのある請求書の有無などの情報を取得します。
brm 請求パートが終了し、すべての請求書が作成されると、請求書発行が開始されます。請求書が作成されると、XMLドキュメントにエクスポートされ、PDF形式に変換されます。
前述したクエリ以外にも、請求書作成と請求書発行が完了した時点で、このプロセスで生成されたデータの正確性を検証するために実行する必要があるクエリがあります。以下にその一部を紹介します:
- 課金は失敗しましたか?
select * from billinfo_t where billing_state = 4 and bill_info_id'Bill Unit(1)';
-期待される結果行が見つかりません
- 未請求の口座はありますか?
select poid_id0, first_name,last_name,a.status from account_t a, account_nameinfo_t an where
a.poid_id0=an.obj_id0かつ
created_t< および
not exists (select b.account_obj_id0 from bill_t b
ここで end_t= かつ
b.account_obj_id0=a.poid_id0);
-期待される結果行が見つかりません
- 法案番号のない法案はありますか?
select * from bill_t where end_t= and bill_no is null;
- 期待される行が見つかりません
発見された問題はすべて、バージョン管理システムを通じて調査・修正され、修正は後に次のリリース・バージョンに含まれます。
こんにちは、
どのプラットフォームをお使いですか?この実装をサポートするハードウェアのサイズは?
ありがとうございます。
Ayazulさん、こんにちは、
私たちのクライアントは、2台のHP-UX Intaniumサーバーを使用しています。
BRMサーバー
- 2 x HP Integrity RX6600
- 4 x インテルItaniumデュアルコア1.8GHz
- 64GBメモリー
- HP UX B.11.23 64ビット
- マルチGビットETHおよび4GビットFC
BRM DB サーバー:
- 2 x IBM x36502
- 2x Intel Xeonデュアルコア3.16 GHz
- 48 GB メモリ、Red Hat Enterprise Linux 4 (Nahant Update 8)
- 4TBのディスク・ストレージを割り当て
- マルチGビットETHおよび4GビットFC
- Oracle 10.2 EE RAC データベース
アクティブ/スタンバイ・モードのBRMに使用される自動ストレージ管理
調停、報告、その他の目的で使用されるセカンダリ BRM スタンバイ db RAC ノード
ストレージ
- 1 x HP XP 24000
- BRMデータベースASM管理専用ディスク
- 64GBキャッシュ4Gbit FCバンド幅(BRMデータベース用
よろしくお願いします、
エール
同じアカウントで課金した後、いくつかのプランがincativeになり、いくつかのプランがincativeにならなかった場合、フラグや他のフィールドのデータが欠落している場合、yは、それが起こっている場合、クラスとフィールドの種類を教えてください......私たちは、課金にpin_bill_dayを使用しています......
こんにちは、アビラミさん
課金後に無効となるお得なプランや商品には、さまざまな理由が考えられます。
課金スクリプトは 1 つ以上の課金ユーティリティを実行します。pin_bill_day は以下の課金ユーティリティを実行します:
* pin_deferred_act
* pin_bill_accts
* pin_collect
* pin_refund
* pin_inv_accts
* pin_deposit
* pin_cycle_fees
pin_bill_day をカスタマイズして、実行する課金ユーティリティを指定し、各課金ユーティリティのパラメータを設定して、それらの実行方法を指定することができます。
デフォルトでは、pin_deferred_act ユーティリティは pin_bill_day スクリプトに含まれており、遅延アクションの実行に使用されます。たとえば、CSRがアカウントの非アクティブ化を予定している場合、pin_deferred_actユーティリティは予定日にステータス変更を実行します。これは、課金後にいくつかのプランが非アクティブになる最も一般的な理由です。
2 番目の理由は、pin_bill_day スクリプトにも含まれている pin_cycle_fees ユーティリティを実行している可能性があります。たとえば、ある商品が将来の日付でキャンセルされるように設定されている場合、pin_cycle_fees ユーティリティはその商品をキャンセルします。
前述したように、各請求ユーティリティのパラメータを設定して、それらの実行方法と実行されるアクションを指定できます。cycle_end_t(サイクル終了時刻)とpurchase_end_t(購入終了時刻)は、あるプランを有効化したときに設定され、課金を実行したときにステータス変更(あなたの場合は非アクティブ)のトリガーとなります。
私の回答がお役に立てば幸いです。より詳細な説明のためには、非アクティブになったアカウント(プラン)や課金ユーティリティの設定について、より具体的な情報が必要です。
よろしく、アレス・クヴェティック
こんにちは、
ここで問題が発生しました。私のデータベースには3つのタイプの商品があります - サイクルフォワード、単発、サイクルアラー。サイクル滞留商品は商品リストに含まれているだけです。しかし、翌月1日にpin_bill_dayを実行すると、システムに2つの重複したイベントが生成されます。その結果、2つの同じ行が請求書に反映され、本来あるべき金額の2倍の請求書が作成されています。初期分析の結果、pin_bill_day の 2 つの実行ファイルが原因で、サイクル延滞商品に対して重複行が発生していることがわかりました。一つは pin_bill_accts で、もう一つは pin_cycle_fees です。
そこで、翌月1日のpin_bill_dayまでに実行されたpin_cycle_feesでのサイクル延滞商品料金計算をフィルタリングする方法を教えていただけないでしょうか。あなたからの情報をお待ちしています。
リガードです、
サヤン
こんにちは、
私はOracle BRMの初心者で、勉強したいと思っています。オンラインで入手できる資料はありますか?
こんにちは、
インターネットで検索してみてください。YouTubeのビデオやOracle BRMのドキュメントが見つかるはずです。Oracleゴールドパートナーとして、Oracle Communications Billing and Revenue Management(略称Oracle BRM、OBRM、OCBRM)の本があります。まずはOracle BRM Essentialsから始め、お客様のニーズ(OCBRM Development, OCBRM Pipeline development, OCBRM Pricing, OBRM Administration, etc.)に応じて続けていくことをお勧めします。
リガードです、
エール
ありがとうございます。
フォワード・サイクルの欠如」(ログにある「プロト/ホスト名/ポートのパース不良」というエラーの大部分)について1つ問題があるのですが、「フォワード・サイクルの欠如」のケースがいくつかあることがわかりました。
エラー"" bad parse of proto / hostname / port "は検出されなくなりました。
なぜこんなことに?
その問題についての解決策を教えてください。
こんにちは、
質問があります。遅延請求についてです。遅延請求を有効にすると、どのような影響がありますか?
現在、私たちは請求の実行で問題に直面しており、部分的な請求と最終的な請求を2回実行する必要があるため、パフォーマンスが著しく低下しています。現在のところ、最初のステージを完了するのに2日以上かかっており、データベースレベルで追跡された問題は、TX - bal_grp_tでの行ロックの競合です。billinfo_obj_ID0 = :1 order by bal_grp_t.poid_id0 for update of bal_grp_t.poid_id0 "と、dbファイルのシーケンシャルリードです。
もしかしたら、この問題に関連したアドバイスをいただけるかもしれません。
ありがとうございます。
Ayazulさん、こんにちは!
遅延請求は基本的に、請求書を作成する請求サイクルより古いイベントを請求することができます。これは、請求が必要なイベントを受信しているが、すでに請求が行われた請求サイクルの間に行われた場合に使用します。例えば、国際ローミングを提供する携帯電話会社は、イベント/通話が完了してから30日後でもイベントを受信することがあります。
課金パフォーマンスの問題とSQL文についてですが、このTX - bal_grp_tの行ロックの競合は単なる症状であり、問題の原因ではありません。上記のSQL文は、トランザクション内のロックの主なメカニズムとしてBRMで使用されています。BRMはデフォルトでは、トランザクション内で変更されるすべてのオブジェクトをロックしません。その代わりに、オブジェクトが変更されている口座の残高グループだけをロックします。例えば、billrun の操作中や、イベントのチャージの操作中です。
この行ロックの競合は、アカウントに対する操作やトランザクションがまだ終了しておらず、別の操作やトランザクションがすでに開始されており、同じオブジェクトのロックを要求していることを示しています。
ビルラン中の遅い SQL 操作を診断するには、Oracle Database Enterprise Manager を使用して、[パフォーマンス]の[トップアクティビティ]セクションに移動し、その時点で実行されているトップ SQL ステートメントを観察します。I/OやCPUを大量に消費しているSQL文があれば、チューニングの候補になります。SQLオプティマイザが使用するデータベース統計が古くなり、オプティマイザが最適でないプランを選択することもあります。新しいインデックスを作成する必要がある場合もありますし、箱から出していないカスタム課金プロシージャを作成している場合は、SQL文を変更する必要があるかもしれません。
このブログだけで、あなたのパフォーマンスの問題を診断することは困難です。例えば、アーキテクチャの設計ミス、カスタムコード、データベースサーバーのチューニング不良(例えば、データベースに十分なディスクスピンドルがないなど。)
よろしくお願いします、
オグニェン・アントニック
こんにちは、
Pin_billdとPin_bill_acctsの機能の違いは何ですか?
balance_groupとitemとeventの違いについて教えてください。
こんにちは、
現在の残高が「bal_sub_bals_t」テーブルに反映されません。何が問題なのでしょうか?よろしくお願いします。
私は購読をキャンセルした顧客がいて、私は彼らに払い戻しをすることになっていますが、そこにクレジットカードの有効期限が切れているので、私はそれを処理することができず、それが毎月私の不一致に来ているので、私は顧客にクレジットカードを更新するように言う以外に、このような問題を解決するために何をすべきか?
こんにちは: 以前の投稿(2011年10月28日 管理者)で、Oracleゴールドパートナー向けのOracle BRMエッセンシャルブックについて言及がありました。 これらの書籍にアクセスする方法について詳細を教えてください。 これらの書籍は、貴社またはOracleが販売しているのでしょうか? ありがとうございます。
課金と請求は常にシングルモードで実行されるため、per_batchの値は重要ではありません。
こんにちは、
BRMのアカウントで作成できる請求書の数に制限があるかどうか知りたいのですが。
もしそうなら、どこで確認できるか教えていただけますか?
ご挨拶
基本的に制限はなく、アカウントごとに多くの手形を持つことができます。そのためには、さらに残高グループを作成し、それぞれを新しく作成した請求書単位に割り当てる必要があります (/billinfo)。
詳しくはこちらをご覧ください。 http://ow.ly/TKGc308tB9F
こんにちは、ラナ、
請求書と請求書作成が常にシングルモードで実行されることには同意できません。バッチごとの属性
は、バッチモードで各ワーカースレッドが処理するオブジェクトの数を指定します。
より多くのスレッドで実行するには、children属性を2以上に設定する必要があります。
Children 属性は、指定された作業を実行するために生成されるワーカースレッドの数を指定します。デフォルトは 5 です。
この例では10スレッドで構成しています。
- pin_mta 子供 10
- バッチ当たりピン_マスタ 600
- pin_mta per_step 1500
- pin_mta fetch_size 6000
ありがとうございます、
イゴール
こんにちは、
請求書や請求金額の確認方法は?
すべての請求書が作成されたことをどうやって確認するのですか?
すべての請求書が作成されたことをどのように確認しますか?
ありがとうございます、
カール
pin_bill_acctsユーティリティとpin_inv_acctsユーティリティの実行の進行状況、パフォーマンス、および完了を確認するためのクエリの他に、請求書作成と請求書作成が完了した後に実行し、これらのプロセスで生成されたデータの正確性を確認するためのクエリがあります。クエリは以下のとおりです:
- イベントとアイテムに違いはありますか?
select i.account_obj_id0,i.poid_id0,i.name,item_total,sum(金額),sum(金額)-item_total
from event_bal_impacts_t eb,item_t i
where eb.item_obj_id0=i.poid_id0
および i.bill_obj_id0 in (select poid_id0 from bill_t where start_t=)
で、eb.resource_id=978 です。
group by i.account_obj_id0,i.poid_id0,name,item_total
合計(金額)-項目合計0
order by sum(amount)-item_total desc;
-期待される行が見つかりません
ジョン
Oracle BRMでは、どのようにパフォーマンスの課題に取り組んでいますか?
パトリック
こんにちは、
以下のOracle BRM MTA課金ユーティリティを実行すると、以下のエラーが発生します:
[pin_billd]$ pin_bill_accts -v
pin_bill_accts: シンボル検索エラー: pin_bill_accts: 未定義のシンボルです:
pcm_set_multithread
[ピン_billd]$ピン_コレクト
pin_collect: シンボル検索エラー: pin_collect: 未定義のシンボル:
pcm_set_multithread
[ピン_billd]$ ピン_inv_accts
pin_inv_accts: シンボル検索エラー: pin_inv_accts: 未定義のシンボルです:
pcm_set_multithread
よろしくお願いします。
前回の投稿からしばらく経ちました。今回は、Oracle BRMのオペレータに役立つSQLクエリを紹介します。ブログのセキュリティ制限のため、SLTをselectに置き換える必要があります。
- アイテムを持っていて、請求書を持っていないアカウントはありますか?;
SLT a.poid_id0,first_name,last_name,a.status。
from account_t a,account_nameinfo_t an
ここで、an.obj_id0=a.poid_id0です。
かつ存在しない (SLT 1 from bill_t b
where bill_no is not null
と end_t=
かつb.account_obj_id0=a.poid_id0)
が存在し(item_t i から SLT 1
where a.poid_id0=i.account_obj_id0
と effective_t=
-かつ item_no が null でない場合
かつ item_total!=0.00)
とa.created_t<
- 期待される行が見つかりません
- もう一つの方法;
SLT a.poid_id0,first_name,last_name,a.status。
from account_t a,account_nameinfo_t an
ここで、an.obj_id0=a.poid_id0です。
かつ存在しない (SLT 1 from bill_t b
where bill_no is not null
と end_t=
かつb.account_obj_id0=a.poid_id0)
かつ存在する (SLT 1 from item_t i,billinfo_t bi
where a.poid_id0=i.account_obj_id0
かつi.account_obj_id0=bi.account_obj_id0
かつi.bill_obj_id0=bi.last_bill_obj_id0
かつ item_total!=0.00)
とa.created_t<
- 期待される行が見つかりません
- 品目と請求書に違いはありますか?) b,
SLT poid_id0 bill,現在の合計 bill_total,アイテム合計
from (SLT poid_id0,current_total from bill_t
ここで end_t=
(SLT bill_obj_id0,sum(round(item_total,2)) item_total
from item_t
group by bill_obj_id0) i
where i.bill_obj_id0=b.poid_id0
かつ abs(current_total-item_total)>0.01;
- 期待される行が見つかりません
Oracle BRMの課金と請求書を確認するためにSQLクエリをいくつか追加しています:
- 未請求の項目はありますか?) またはstatus=1またはar_bill_obj_id0=0またはar_billinfo_obj_id0=0)
SLTdistinct account_obj_id0,bill_obj_id0 from item_t i
存在する場所
(SLT1 from bill_t b
ここで、b.poid_id0=i.bill_obj_id0です。
と end_t=
と(effective_t!
;
- 未請求の口座はありますか?
SLTpoid_id0、first_name、last_name、a.status
from account_t a, account_nameinfo_t an
ここで a.poid_id0=an.obj_id0
と created_t<
and not exists (SLTb.account_obj_id0 from bill_t b
ここで end_t=
かつb.account_obj_id0=a.poid_id0);
-期待される結果行が見つかりません
- 他の方法);
SLT* from billinfo_t bi
ここで billing_state=0
および last_bill_t=
存在しない
(SLT1 from bill_t b where b.account_obj_id0=bi.account_obj_id0
かつ bill_no が NULL でなく、かつ end_t=
-期待される結果行が見つかりません
- 請求書が2枚ある口座はありますか?
SLTcount(*),account_obj_id0
bill_tより
ここで end_t=
group by account_obj_id0
count(*)>1;
-期待される結果行が見つかりません
- 法案のない法案はないのですか?
SLT*(bill_tより
ここで end_t=
で bill_no が NULL です;
- 期待される行が見つかりません
lddのlibcmpin.so,libportal.so,libportal64.so,libpcmcpp67.soを分析した結果、このエラーの根本的な原因は(パス設定)に関連していることがわかりました。
libportal.so => /brmdata/opt/ifw/lib/libportal.so (0xf76c7000)
変数$LD_LIBRARY_PATHを確認してください、デフォルトではIFWを指しています。
エラーを修正するには
ソース $PIN_HOME/source.me.csh
そして作戦を続行します。
Oracle BRMのユーティリティはもう大丈夫なはずです。
Oracle BRMの請求書と請求書を確認するために、添付のクエリも使用しています。
- 請求書番号が重複している請求書はありますか?
SLT count(*),bill_no from invoice_t
請求書番号によるグループ
count(*)>1;
- 期待される行が見つかりません
- 請求に失敗しましたか?
SLT * from billinfo_t
ここで billing_state = 4
- および bill_info_id<>ビル・ユニット(1)」;
-期待される結果行が見つかりません
- 法案には適切な法案情報がありますか?
SLT b.poid_id0,b.account_obj_id0,current_total,due,total_due,subords_total,parent_id0,bp.poid_id0
from bill_t b,billinfo_t bi
ここで、b.account_obj_id0=bi.account_obj_id0です。
と end_t=
かつ (b.billinfo_obj_id0<>bi.poid_id0 または b.ar_billinfo_obj_id0<>bi.ar_billinfo_obj_id0);
- 期待される行が見つかりません
- 子供のための法案は、適切な親の法案を持っていますか?
SLT b.poid_id0,b.account_obj_id0,b.current_total,b.due,b.total_due,b.subords_total,b.parent_id0。
from bill_t b,billinfo_t bi,billinfo_t bip,bill_t bp
ここで、b.account_obj_id0=bi.account_obj_id0です。
かつ bi.poid_id0!=bi.ar_billinfo_obj_id0
かつ bi.ar_billinfo_obj_id0=bip.poid_id0
かつbip.account_obj_id0=bp.account_obj_id0
と b.end_t=
と bp.end_t=
およびb.parent_id0<>bp.poid_id0;
- 期待される行が見つかりません
- 子供のための法案は正しいですか?
SLT b.poid_id0,b.account_obj_id0,current_total,due,total_due,subords_total,parent_id0。
from bill_t b,billinfo_t bi
ここで、b.account_obj_id0=bi.account_obj_id0です。
かつ bi.poid_id0!=bi.ar_billinfo_obj_id0
と end_t=
および (current_total<>またはsubords_total<>0またはparent_id0=0);
- 期待される行が見つかりません
- 実の両親への請求は正しいですか?
SLT b.poid_id0,b.account_obj_id0,current_total,due,total_due,subords_total,parent_id0,ar_hierarchy_size。
from bill_t b,billinfo_t bi
ここで、b.account_obj_id0=bi.account_obj_id0です。
かつ bi.poid_id0=bi.ar_billinfo_obj_id0
と end_t=
およびsubords_total<>0
および (current_total<>0 または parent_id0<>0 または subords_total<>または ar_hierarchy_size=0);
期待されます:行が見つかりません
- 子供と両親の合計額は同じですか?
SLT poid_id0,subords_total,children.current_total。
from bill_t b、
(SLT parent_id0,sum(current_total) current_total
from bill_t where parent_id0<>0
group by parent_id0) children
where b.poid_id0=children.parent_id0
と end_t=
および children.current_total<>subords_total;
- 期待される行が見つかりません
- Billinfo last_bill_t が正しく設定されていますか? –01.01 ;
SLT distinct a.poid_id0,first_name,last_name,a.status,pin2date(last_bill_t)。
from billinfo_t bi,account_t a, account_nameinfo_t an
where account_obj_id0=a.poid_id0
かつ an.obj_id0=a.poid_id0
かつ bi.last_bill_t!=
かつ billing_status in (0,4)
とa.created_t<
- 期待される行が見つかりません
- Billinfo next_bill_t が正しく設定されていますか?;
SLT distinct a.poid_id0,first_name,last_name,a.status,pin2date(last_bill_t)。
from billinfo_t bi,account_t a, account_nameinfo_t an
where account_obj_id0=a.poid_id0
かつ an.obj_id0=a.poid_id0
および bi.next_bill_t!= 1201820400 -01.02
かつ billing_status in (0,4)
とa.created_t<
- 期待される行が見つかりません
- Billinfo future_bill_t が正しく設定されていますか?;
SLT distinct a.poid_id0,first_name,last_name,a.status,pin2date(last_bill_t)。
from billinfo_t bi,account_t a, account_nameinfo_t an
where account_obj_id0=a.poid_id0
かつ an.obj_id0=a.poid_id0
および bi.future_bill_t!=1204326000 -01.03
かつ billing_status in (0,4)
とa.created_t<
- 期待される行が見つかりません
- Billinfo last_bill_obj_id0 が生成されましたか?;
SLT a.poid_id0,first_name,last_name,a.status。
from billinfo_t bi,account_t a,account_nameinfo_t an
where account_obj_id0=a.poid_id0
かつ an.obj_id0=a.poid_id0
存在しない
(SLT 1 from bill_t b
where b.poid_id0=last_bill_obj_id0
かつb.account_obj_id0=bi.account_obj_id0
かつ last_bill_t=end_t)
かつ billing_status in (0,4)
とa.created_t<
- 期待される行が見つかりません
- Billinfo next_bill_obj_id0 が生成されましたか?;
SLT a.poid_id0,first_name,last_name,a.status。
from billinfo_t bi,account_t a, account_nameinfo_t an
where account_obj_id0=a.poid_id0
かつ an.obj_id0=a.poid_id0
存在しない
(SLT 1 from bill_t b
ここでb.poid_id0=bill_obj_id0です。
かつb.account_obj_id0=bi.account_obj_id0
かつ bi.last_bill_t=b.start_t)
かつ billing_status in (0,4)
とa.created_t<
- 期待される行が見つかりません
- Billinfo future_bill_obj_id0 が生成されましたか?;
SLT a.poid_id0,first_name,last_name,a.status。
from billinfo_t bi,account_t a, account_nameinfo_t an
where account_obj_id0=a.poid_id0
かつ an.obj_id0=a.poid_id0
存在しない
(SLT 1 from bill_t b
ここで、b.poid_id0=next_bill_obj_id0です。
かつb.account_obj_id0=bi.account_obj_id0
かつ bi.last_bill_t=b.start_t)
かつ billing_status in (0,4)
とa.created_t<
- 期待される行が見つかりません
OK!
- 請求書が作成されない請求書はありますか?
SLT b.poid_id0,b.account_obj_id0,bill_no,due。
from bill_t b,billinfo_t bi
ここで、b.account_obj_id0=bi.account_obj_id0です。
と b.end_t=
かつpay_typeが(10001,10007)の場合
およびb.billinfo_obj_id0=b.ar_billinfo_obj_id0
存在しない
(SLT 1 from invoice_t i
ここで、i.bill_obj_id0 = b.poid_id0);
期待されます:行が見つかりません
- 請求書と一致しない請求書はありますか?
SLT * from bill_t b,invoice_t i
ここで、b.poid_id0=i.bill_obj_id0です。
と(b.bill_no<>i.bill_no または b.end_t<>i.bill_date_t);
- 期待される行が見つかりません
- 請求書番号が重複している請求書はありませんか?
SLT count(*),bill_no from invoice_t
請求書番号によるグループ
count(*)>1;
- 期待される行が見つかりません
よろしくお願いします、
エール