今だけ人気マンガ100円レンタル特集♪

全銀フォーマットは、以下のレコードで構成されています。
(1)ヘッダーレコード
(2)データレコード
(3)トレーラレコード
(4)エンドレコード

(2)データレコードは処理対象となるデータを保有することになるので、当然必要となるのですが、(1)(3)(4)のレコードは何を目的として設けられているのかを知りたいと思っています。
また、目的と同様になるかと思いますが、当該ファイルフォーマットを処理する場合に注意すること(入力チェックとしては、どのようなチェックが必要であるか等)も知りたいです。
ネット上で検索していましたが、各レコードの目的については思うような情報が得られなかったため、質問しました。よろしくお願いします。

A 回答 (2件)

(1)と(4)は開始と終了を宣言するために必要。

ファイル単位で必ずペアになる。ヘッダには提出先の金融機関コードや振り込み元の情報も含まれていたかな?
(2)は口座毎の振込先口座情報と振り込み金額。
(3)は合計件数や合計金額が含まれている。検算の意味もある。

振込情報は口座番号と口座名義人名がキーになっているのでこれが間違っていると振り込み不能となります。

電子データで銀行に提出する必要があるのなら金融機関にお願いすれば資料をもらえると思うんですけど…
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

>電子データで銀行に提出する必要があるのなら金融機関にお願いすれば資料をもらえると思うんですけど…
 すみません、質問内容が適切ではなかったですね。
 私はシステム開発の仕事に携わっており、全銀フォーマットのようなデータをどのように処理するべきであるかを知りたく質問しました。

 もし、ご存知であれば、以下の点についても教えて頂けますのでしょうか?
 ・複数のレコードレイアウトで構成するファイルというのは全銀関連システム以外でも使用されているものでしょうか?
  それとも全銀フォーマットは特殊で、同様のファイルフォーマットは一般的に使用されないものだったりするのでしょうか?

お礼日時:2008/11/14 01:06

>全銀フォーマットのようなデータをどのように処理するべきであるか


仰っていることがわかりません。
私もシステム開発に携わっていますが、全銀データはシステムの最終出力のひとつでしかないので、どのように処理する必要があるかなんてシステム要件に盛り込まれているべき事柄の筈。コレが不明瞭とはどういう事ですか?そんなんではシステム開発なんて出来ません。
それとも、システムレベルの話ではなくプログラミングレベルの話ですか??

>・複数のレコードレイアウトで構成するファイルというのは全銀関連システム以外でも使用されているものでしょうか?
同一データ内に異なるレコードフォーマットを使用するのはわりと当たり前に使用しています。というか、COBOLで開発されたシステムでは一般的です。そういうデータには共通レイアウト部分に「レコード区分」があり、その区分にしたがってあらかじめ定められた構造が適用されます。C言語だと構造体の中で共用体って使うことありますよね?それと同じようなもんです。
Oracle等のRDBMSでもこのようなテクニックを使うことがあります。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

>それとも、システムレベルの話ではなくプログラミングレベルの話ですか??

プログラミングレベルの話です。
システム開発には携わっているのですが、プログラム開発経験がほとんど無いため、教えて頂きたいと思っています。

最初の回答を元にすると以下のような入力データチェックをすることになりますか?
 ・先頭レコードが(1)であること
 ・(2)の合計件数や金額が(3)の合計件数や金額と一致すること
 ・最終レコードが(4)であること

これは、自分のプログラムがファイル設計の仕様に合わせて作成しているため、入力ファイル自体もファイル設計の仕様どおりであることを確認し、自分のプログラムが暴走しないように入力データチェックするという認識で合っていますでしょうか?

お礼日時:2008/11/15 00:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qヘッダレコードとトレーラレコードの定義の目的について

通信プロトコルが異なるシステム間でファイルを授受する際、ファイルの送達確認として、ヘッダレコードやトレーラレコードを使用するという話を聞いたのですが、ヘッダレコードやトレーラレコードはそのような目的のために定義しているのでしょうか?
(WEB上でいろいろ検索してみたのですが、そのような情報が取得できなかったので、質問しました)
全銀協フォーマットのように、ファイルフォーマットでヘッダレコードやトレーラレコードを定義している場合、データレコード以外のヘッダレコードやトレーラレコードはどのような場合に使用するのかを周りの人に聞いた際に上記の話を聞きました。
よろしくお願いします。

Aベストアンサー

>>ヘッダレコードやトレーラレコードはそのような目的のために定義しているのでしょうか?

ヘッダレコードやトレーラレコードが無くても、プログラムのロジックは作れるかもしれませんが、あるほうが以下の点で有利でしょうね。

1)データの始まりと終わりが明確になる

通信途中、あるいは処理のどこかで、明細部のデータが1件脱落した、あるいは前半部や後半部がばっさり抜けたとき、件数が一致しない、あるいはヘッダレコードやトレーラレコードが無い等で、異常がすぐわかる。

2)データフィールドが効率的に使える

データ全体の情報は、明細ごとに入れると非効率です。たとえば、ある支店のデータ1万件で、銀行名、支店名のカタカナが必要な場合、全明細データに銀行名・支店名のカタカナを入れる必要はありませんね。ヘッダーレコードだけにあれば、十分です。明細データは、その空いたフィールドを別の用途に使えるようになります。

3)プログラムのロジックが簡単になる

ヘッダレコードやトレーラレコードがあると、COBOL世代のプログラマの場合、慣れたロジックでプログラミングできる。

こんなところですかね。

>>ヘッダレコードやトレーラレコードはそのような目的のために定義しているのでしょうか?

ヘッダレコードやトレーラレコードが無くても、プログラムのロジックは作れるかもしれませんが、あるほうが以下の点で有利でしょうね。

1)データの始まりと終わりが明確になる

通信途中、あるいは処理のどこかで、明細部のデータが1件脱落した、あるいは前半部や後半部がばっさり抜けたとき、件数が一致しない、あるいはヘッダレコードやトレーラレコードが無い等で、異常がすぐわかる。

2)データフィー...続きを読む

Q仕向銀行、被仕向銀行とは何でしょうか?

FBデータに関することで、仕向銀行とか、被仕向銀行とかいう用語が出てきま。これはどういう意味でしょうか?
この用語は業界用語ですか?辞書を調べても出てこなかったのですが、社会人にとっては一般的な用語なのでしょうか?
回答宜しくお願いいたします。

Aベストアンサー

こんにちは。

上記の用語は金融機関の内国為替で使う用語です。

仕向け....振込資金を送る金融機関
被仕向け...振込資金を受け取る金融機関

金融機関にいなければ一般的な用語ではないでしょうね。
参考まで。

QMAX値を条件にデータを取得するには?

SQL文で困っています。
ご教授下さい。


下記のようなデータがあった場合、それぞれの区分毎に
年月が最大(最新)のデータを取得したいです。
(実際には1レコードにその他項目があり、それらも取得します。)
<検索対象データ>
区分 年月   金額
-----------------------------
A   200412  600
A   200503  560
B   200311  600
B   200508  1000
B   200504  560
C   200508  400
C   200301  1100


<取得したいデータ>

区分 年月   金額
-----------------------------
A   200503  560
B   200508  1000
C   200508  400

よろしくお願いします。

Aベストアンサー

テーブル名をXXXとすると次のようなSQLでよいと思います。(最善の方法かどうかは自信がないですが)

select B.* from (select 区分, max(年月) as 年月 from XXX group by 区分) As A
inner join XXX as B on A.区分 = B.区分 and A.年月 = B.年月
order by B.区分

Q銀行口座番号は何桁でしょうか??

銀行口座番号の振込み先が4桁のところに振込む必要があるのですが、
普通銀行口座番号って7桁ですよね。合ってるのでしょうか??

銀行口座番号って口座の種類(たとえば外貨口座や当座預金など)
によって変わるのでしょうか?

ご存知の方ご教示ください。

Aベストアンサー

こんにちは。

現状、銀行などの金融機関の口座番号は新規で作った場合7桁となります。ちょっと前に作った口座ですと2桁~6桁なんていう場合もあります。その場合は、口座番号の前に「0」をつけてあげてください。

また口座番号は預金種別によって判断できるようになっています。多くの金融機関で当座預金は8から始まる7桁、などというようになっています。

参考まで。

QEXCELの文字列操作で文字数不足の分をスペースで補う方法

EXCELの文字データを取り出す際に以下のような操作を行いたいんですが、方法をご存知の方がいらっしゃいましたら教えていただけませんでしょうか。

既にデータの入力されているセルの文字数が、ある一定数に満たない場合は不足分を半角スペースで補う

【例】文字数を15と指定したとします
セルに入力されたデータ:山田_ 太郎
   ↓
求めたいデータ:山田_ 太郎_ _ _ _ _ _
(山田の後に半角スペースが1、太郎の後に半角スペースが6つ入っていると仮定してください)

※TEXT関数で数値の文字数不足分を0で埋めるということはできたのですが、TEXT関数は数値のみを対象としているようで・・・。
【例】12345 → 000000000012345

よろしくお願いいたします。

Aベストアンサー

A1に「山田 太郎」が入っている場合、
 =LEFTB(A1&REPT(" ",15),15)
と式を立てればOKです。

LEFBは、左側から指定バイト分(半角1バイト・全角2バイト)を抜き出す関数。
REPTは、所定の文字をくり返す関数です。

Q日付型カラムへのデータINSERT

お世話になります。ひとつご教授ください。

オラクル10g, ojdbc14でjdk1.4.2から接続です。

INSERT命令を使ってテーブルにレコードを追加する際に、DATE型のカラムに対して

INSERT TABLE_A (DATE1, ...) VALUES ('2006-4-27 12:00:00', ...);

を実行するとエラーORA-01861が出ます。そこで

INSERT TABLE_A (DATE1, ...) VALUES ('2006-4-27', ...);

このように記述して再度実行すると通ります。

このようなとき、時間の部分まで設定した値をカラムに格納したいときはどうしたらよろしいでしょうか?

よろしくお願いします。

Aベストアンサー

ごめんなさい。
説明と文例が違ってしまいました。
正しくはこちらです。

INSERT TABLE_A (DATE1, ...) VALUES (to_date('2006-4-27 12:00:00','yyyy/mm/dd hh24:mi:ss'), ...);
というように、to_date関数を使うのが一般的かと思います。

QSQLのVARCHARとVARCHAR2の違い

SQLについての質問です。
文字列型のVARCHARとVARCHAR2の違いについて教えてください。
まだ、初心者なのでなるべく分かりやすくお願いします。

Aベストアンサー

データベースによって、データ型の定義が違います。
私が知っている限りでは、
MS-SQLserverなどでは、可変長の文字列はvarcharですが、
Oracleでは、varchar2です。
他にも、MSのdatetimeに相当するものが、Oracleはdate型、という具合に名前が違います。
お使いのDBに沿ったデータ型の定義を調べると良いのではないでしょうか?
それぞれ違うと思いますよ。(似てると言えば似ているけど。)

QInner join と Left joinの明確な違いは?

Inner join と Left joinの違いがよくわかりません。
教えてください。

Aベストアンサー

出てくる結果が違います。

テーブル1のフィールド1に、






が、

テーブル2のフィールド1に、






が入力されている場合、

SELECT [テーブル1].[フィールド1], [テーブル2].[フィールド1]
FROM テーブル1 LEFT JOIN テーブル2 ON [テーブル1].[フィールド1]=[テーブル2].[フィールド1];
では、結果は、
テーブル1.フィールド1 テーブル2.フィールド1
1               1
2               2
3               3
4               NULL
5               NULL
6               NULL
の6レコードが出力されますが、

SELECT [テーブル1].[フィールド1], [テーブル2].[フィールド1]
FROM テーブル1 INNER JOIN テーブル2 ON [テーブル1].[フィールド1]=[テーブル2].[フィールド1];
では、結果は、
テーブル1.フィールド1 テーブル2.フィールド1
1               1
2               2
3               3
の3レコードしか出力されません。

出てくる結果が違います。

テーブル1のフィールド1に、






が、

テーブル2のフィールド1に、






が入力されている場合、

SELECT [テーブル1].[フィールド1], [テーブル2].[フィールド1]
FROM テーブル1 LEFT JOIN テーブル2 ON [テーブル1].[フィールド1]=[テーブル2].[フィールド1];
では、結果は、
テーブル1.フィールド1 テーブル2.フィールド1
1               1
2               2
3           ...続きを読む

Qバイナリデータとテキストデータの違いについて

宜しくお願いします。

バイナリデータを用語辞典で調べると
「テキスト形式(文字データ)以外のデータ形式全般のこと。
実行可能形式のコンピュータプログラムや、画像や音声、
動画などのデータなどがバイナリデータにあたる。」
(http://e-words.jp/w/E38390E382A4E3838AE383AA.html)
とあります。

これでは、バイナリデータとテキストデータの違いが分かりません。

テキストデータはコードの集まりで、
さらに細かくすると0と1の集まり(?)だから・・・
と考えるとバイナリデータとテキストデータの
違いが分かりません。

Q1.私は何が分かっていないのでしょうか?
Q2.バイナリデータとテキストデータの違いを教えてください。

宜しくお願い致します。

Aベストアンサー

バイナリデータは01の集まりです。
テキストデータは文字としての意味が与えられて居ます。ただテキストデータの01としての表現方法はプラットフォーム(OSやアプリケーション)によって異なります。例えば英文字コードでもメインフレームで使われるEBCDICもあり、unixやPCで使われるASCIIもあります。また日本語など英語以外の文字をあらわすのには、さらに多くの種類があります。また改行を表す文字もいろいろです。
例えば telnet で他のコンピュータにログオンして通信する時の文字コードはASCIIで、改行はCRLFと決まっているので、そうでないコンピュータはtelnetプログラムが自分のコンピュータのコード体系と相互変換します。

ftpでテキストデータを転送する時も同じくASCIIとCRLFと決まっています。ただ日本語文字の時にどのコードを使うかは規格では決まっていないので、ftpクライアントで、相手コンピュータの日本語コード種類を指定して、自分と合わなければ転送時に相互変換します。

Cプログラムでもテキストの改行は'\n'と決まっているので、そうでないWindowsの場合はCプログラムとの間でCRLFと'\n'の相互変換が、ライブラリ中で自動的に行われます。

そういった変換を全く行わないのがバイナリデータです。画像ファイルなどはjpegと形式が決まればどのコンピュータでも同じフォーマットなので変換の必要はありません。逆にテキストとみなして変換するとデータが壊れてしまいます。

バイナリデータは01の集まりです。
テキストデータは文字としての意味が与えられて居ます。ただテキストデータの01としての表現方法はプラットフォーム(OSやアプリケーション)によって異なります。例えば英文字コードでもメインフレームで使われるEBCDICもあり、unixやPCで使われるASCIIもあります。また日本語など英語以外の文字をあらわすのには、さらに多くの種類があります。また改行を表す文字もいろいろです。
例えば telnet で他のコンピュータにログオンして通信する時の文字コードはASCIIで、改行はCRL...続きを読む

QITa、ITbという言葉の意味を教えてください

おそらくシステム関連の言葉だと思うのですが、ITa、ITbとは何のことでしょうか。
会議中に「アイティーエーは○月まで、アイティービーは○月から」という発言があったのですが、意味がわからないまま流れてしまい、こまっております。
よろしくお願いします。

Aベストアンサー

ITA、ITBとは共にソフト開発を行っている時の開発状況の事をいいます。
ITAとは結合テスト(内部結合テスト)
  自社で開発したシステムを自社内で確認する方法です。

ITAとは結合テスト(外部結合テスト)
  自社で開発したシステムを自社外(主にお客さん)が確認する方法です。

とあるパソコンメーカーが言い始めたと聞いていますが・・・


ちなみに、TIBの後にくるのがSTと呼ばれるシステムテストです。

当然ながら、開発を行っている会社によって呼び方が違うので、必ずしも規則等で決まっている
訳ではありませんが(笑)

新システムが正しく動作する事を祈っています。


人気Q&Aランキング