過去の桐井戸端BBS (桐談義・その他)
14919 COBOLで配列を使うような処理は桐ではどのようにするのでしょうか 桜木恭一 2002/01/30-10:52
配列についてご教示ください。
 昔、cobolをやったことがあります。
 桐は、配列が使えないと聞きました。

   cobol  02 tbl occurs 20.
    03 tbl1 pic xxx.
    03 tbl2 pic 999.

のようなデータの処理を、添え字を変えながら
20回繰り返すというような処理は、事務処理ではごく一般的と思いますが、
桐ではどのようにしているのでしょうか。

特に、このデータの内容や順序が頻繁に変わるような場合には、
配列が使えないとかなり難しいのではと思われるのですが。

一括処理はまだこれからですので、桐の方法の考え方でもけっこうです。
ご教示いただければありがたいです。
14943 Re:配列について pokopon 2002/01/30-22:03
記事番号14919へのコメント
桜木恭一さん こんにちは

どなたもリプライしないようですので

>配列についてご教示ください。
>一括処理はまだこれからですので、桐の方法の
> 考え方でもけっこうです。ご教示いただければ
> ありがたいです。

Win版桐V8なら、1次元の配列変数は使えます。
ご指摘のことは簡単に可能です。
また、
DOS版V5では直接的に配列変数は使えませんが、色々なアイディアでそれと同等のことができます。

いったい、どちらの話題でしょうか?

14946 Re:配列について 尾形 2002/01/31-08:31
記事番号14919へのコメント
どうも
コボルは詳しくないですが(読むのは分かる程度)
自分は、前任者のコボルを桐に置き換えました

以下は、コボルを殆ど知らないレベルの人間のつぶやきです。
内容に間違い等あるかもしれませんのであしからず・・・・


最初はコボルのフィールド構成等そのままで
桐に乗せかえていったのですが、そのままでは桐に、
(というかデータベース全般)に馴染みませんでした
コボルの場合、レコードサイズがあって固定長じゃないですか
それをそのまま、桐に変えて項目(横向き)に長くとりました
処理的にはコボルのルーチンが大体参考になりましたが
データベースには不向きでしたので、考え方を変えて、
レコードとして(下向き)扱うようにすると上手くいったように思います

コボルでは、1つのファイルだったのを
複数の表(テーブル)に分割しました

コボルからの移行は、桐が一番、違和感が少ないような気がします

思い出しながら思いつくままに書きました

14960 Re:配列について 桜木恭一 2002/01/31-14:05
記事番号14943へのコメント
pokoponさん

>Win版桐V8なら、1次元の配列変数は使えます。
>ご指摘のことは簡単に可能です。
>また、
>DOS版V5では直接的に配列変数は使えませんが、色々なアイディアでそれと同
>等のことができます。
>−−−−−−−−−−−−−−−−−−−−

ありがとうございました。
書き忘れて失礼しました。桐5でやっていました。
以前、マニュアルでそれらしいものをみたことがあったのですが、
レコードの項目などがなかなか定まらない状況で無理かなと
思っていました。
桐8はリポートの枠のなかのラベル(文字?)の入力や、
罫線がイメージどおりになかなか引けないとかいう話を聞いていたので、腰が引けていました。
配列が簡単となれば、これは老骨にむち打ってでも
桐8一括処理の入門程度には食いついてみようかと、
先ほど「桐ならできる」シリーズを注文したところです。
また質問させていただくことがあるかと思いますが、
よろしくお願いします。   桜木恭一
14962 Re:配列について 桜木恭一 2002/01/31-14:40
記事番号14946へのコメント
尾形さん
>・・・
>コボルの場合、レコードサイズがあって固定長じゃないですか
>それをそのまま、桐に変えて項目(横向き)に長くとりました
>処理的にはコボルのルーチンが大体参考になりましたが
>データベースには不向きでしたので、考え方を
>変えて、レコードとして(下向き)扱うようにすると
>上手くいったように思います
>コボルでは、1つのファイルだったのを
>複数の表(テーブル)に分割しました
>−−−−−−−−−−−−−−−−−−−−−−−−−

ありがとうございます。確かに前任者から受け取ったデータファイル
(tbl)は項目名が長く、大変でした。
それで項目名を短いコードのようなものに変えて、データ入力が楽なようにしたのですが、
これもいずれは本来の項目名のファイルに移さねばなりません。

それに、データの加工の種類も多く、多くのファイルへの移し替えに項目の対応に間違いがないか、大変神経を使います。
元々、各項目はその属性は同じものが多いのですから、
同じ処理の繰り返しです。
配列が使えるならと思いながら、会話型処理をしていました。 
あまりの面倒くささに耐えかねて、逆に複数のファイルを一つにして、
250項目ぎりぎりになったのもあるほどです。
最後の、レコードとして縦にするのは興味あります。
一括処理の知識のないものにできるかどうかわかりませんが面白そうです。
ありがとうございました。   桜木恭一
14963 Re:配列について 尾形 2002/01/31-15:11
記事番号14962へのコメント
桐では配列は変数のみですから
考えてある通りの事が出来るかは分かりません
(項目番号で出来ない事もないかもしれません)

ちなみに「occurs 20」の具体的中身は何でしょうか
具体例を出すと、皆さんからいい案があると思います

14986 Re:配列について 佐田 守弘 2002/02/01-00:00
記事番号14919へのコメント
桜木恭一さん
桐ver.5だと桐ver.8の様に配列変数は使えません。
しかし、表そのものが配列だと考える事ができます。
しかも、2次元配列になります。
もし3次元配列が必要なら表を複数使う事で可能です。
つまり、処理するデータを別の表に入れておき、その表の値を読みながら
繰り返して行けば、配列での処理に相当する事が可能です。
配列に値を格納する処理は、表の該当する行と項目に値を書き込む事で行えます。

佐田守弘(KS-00119)
14993 Re:配列について 桜木恭一 2002/02/01-11:31
記事番号14963へのコメント
尾形さんは No.14963「Re:配列について」で書きました。
>桐では配列は変数のみですから
>考えてある通りの事が出来るかは分かりません
>(項目番号で出来ない事もないかもしれません)
>
>ちなみに「occurs 20」の具体的中身は何でしょうか
>具体例を出すと、皆さんからいい案があると思います
>----------------------------------
たびたび恐縮です。
いろいろ処理がありまして、全体像がまとまっていません。
 もうちょっと整理して考えて、またおねがいすることになるか
 と思います。そのときはよろしくお願いいたします。
ついでに、もう一つですが、
 桐8というのは、リポートの印刷位置に配列は使えるのでしょうか。
 つい、cobol的な考えになってしまうのですが、例えば、
2番目の列にもってくるとか、上から3番目にとかです。
まだ、桐8を全く知らないのに質問するのは気がひけます。
実は、リポート上の一覧表とか、伝票とかの性質の違いもよくわからず、
いま説明書など眺めている程度なのです。
        桜木恭一

14994 Re:配列について 桜木恭一 2002/02/01-12:12
記事番号14986へのコメント
佐田 守弘さん
ありがとうございます。
職場のエンドユーザなるものたちは、全くコンピュータ的感覚に欠けていて
あれを、これをとやたらに言います。
そのせいか、tblの形そのものが安定せず、しょっちゅう変わります。

前に何かで見ましたが、左から何番目というような処理だったと思います。 
その何番目かがなかなか固定しないので諦めていました。
最近、ダミーの項目を作り、配列的に使いたい部分の位置を絶対に変更しないようにしたら、
など幼稚なことを思っていたところです。
しかし、やはり桐8なのでしょうか。
今日は、「桐ver8活用ガイド」プリントアウトさせていただき、
レポートとは、というところを苦労して眺めていました。
いまは、3次元配列が必要なら−−以下の意味を考えているところです。
今後ともよろしくお願いします。   桜木恭一
14995 Re:配列について 尾形 2002/02/01-12:20
記事番号14993へのコメント
> 桐8というのは、リポートの印刷位置に配列は使えるのでしょうか。
> つい、cobol的な考えになってしまうのですが、例えば、

ですよね。コボルはなんでもあり(できる?)でしたから
無理です。というか考え方が全く違います
でも、絶対に桐の方が簡単便利綺麗早いです
色々な点でコボルなんか、絶対やってられなくなります
(私はそうでした)

いきなり、プログラムを組むのではなくて
基本的考え方とかコボルとの違いとかの把握から
取り組まれてはどうでしょうか


ちょっと、当時の一例を書いてみます、参考になれば。
売上データの例です。コボルでは
[伝票番号][日付][得意先]〜[1商品][1数量][1単価][2商品][2数量]〜
といった具合だと思います(多分)。
[1商品][1数量][1単価][2商品][2数量]〜 ←この部分が配列ですよね

この形のままでは無理です。
桐のマニュアルにも、この形式で説明がありますが。
(なんであんなサンプルなのか不思議ですが)

得意先マスタなんかも、金額部分(月次合計等)は別のTBLにしたほうが良かった(と思います)

配列要素数が多い個所は、根本から変えたました

15000 Re:配列について 桜木恭一 2002/02/01-15:12
記事番号14995へのコメント
尾形さん
>無理です。というか考え方が全く違います
>でも、絶対に桐の方が簡単便利綺麗早いです
>
>売上データの例です。コボルでは
>[伝票番号][日付][得意先]〜[1商品][1数量][1単価][2商品][2数量]〜
>といった具合だと思います(多分)。
>[1商品][1数量][1単価][2商品][2数量]〜 ←この部分が配列ですよね
>
>この形のままでは無理です。
>---------------------------------------

早速、ありがとうございました。大変だナ、と痛感しています。
 でも、確かに桐の印刷はきれいですね。  桜木恭一
            

戻る