西やん中洲にいます。

西やん66歳、日々の出来事独り言

今日の私は661 【9月6日の博多の朝です】

2016-09-06 07:27:24 | 今日の私は
おはようございます。

今は、曇り。
この後、晴れの予報の博多の朝です。







昨日は、3時間睡眠で、昼の仕事中も眠くて。

それを救ってくれたのが、派遣で出ているO君。(ちょっと専門的になりますが。)

O君『西山さん。助けてもらえます?』
私『何?何?』(すでに興味津々)

O君『COBOL の事なんですけど。数字項目にAAAAAAを入れても、不正10進で異常終了しないんですけど、他の文字だと異常終了するんですよ。どうしてでしょう。』

O君『○○の○○さんが、キーボードが壊れて、Aが入力できなくて、違う文字にしたんですが。今は、打ち直して、正常に終るんですけど、理由が判らなくて。』

本当は、数字の項目に文字を入れてはいけないのですが、以前から、そうしていたそうなんです。

私も、思い当たることはあったのですが、即座には答えられず。
私『ちょっと調べてみるから。判ったら連絡するから。』

もう、この時点で、目はぱっちり、頭スッキリ。

で、COBOL の文法書の関連するところを見ていったら、ありました。答え。

A を入力していたのですが。A は16進では41です。B は42になります。数字の0 は30。1 は31、2 は32です。

でも、A の代わりに入力したのが、K でした。K は16進で4Bとなります。

文法書には、数字比較や数字編集、数字転記する場合、最初の4ビットは無視される。と書いてありました。

A の41の4 は無視されで、数字の1 の31と同じ扱いになるので、異常にはしないという事です。

ただし、後ろの4ビットは、 0~ 9 でないと数字と見なさないので、不正10進として異常終了する。

たまたま入力した、K は4Bで、4 は無視されるのですが、B は 0~ 9でないので、異常になったという事です。

これを、文法書のその部分を印刷して、説明の例を書いて、O君に渡しました。
O君『ありがとうございます。』
私『私も、勉強になったよ。』

間違っていても、正しく動いてしまう場合があります。ただ、元々が間違いなので、少し条件が変わると異常になります。
その理由をはっきりしておかないと、同じ間違いをするし、適切な対応もできません。

私などでも、明確に説明できない事がたくさんあります。なので、こう言う機会は大事です。

もちろん、これで眠気も収まりました。

ただ、終わって、家に帰ったら、即爆睡。
その代わりに、4時半に起きてしまいました(笑)

仕事場に着いています。
そろそろ、一服して仕事スイッチを【ON】にします。
今は、通勤中、平井大の『祈り花』を聴いて覚えているところです。

今日も、いい1日でありますように。

では、また。


人気ブログランキングへ

にほんブログ村 オヤジ日記ブログ 50代オヤジへにほんブログ村

最新の画像もっと見る

コメントを投稿