Google
オフコン練習帳内を検索
インターネット全体を検索

NECオフコン関連
オフコン一般
情報
[掲示板に戻る全部  1-  最新50
1 SMARTの画面明細項目が終われない
あか 2015-10-14 13:04  [返信] [編集]

画面から入力して追加レコードを作成するスクリプトを作っているのですが
画面明細項目(*SP)のところで、明細条件有無(CY1)を無し(CY1=N)にして画面行位置(DL2)を指定して画面明細項目(DI2)をいくつか作ったところで終了しようとしても、次のCY1がIIキーで終われません。

『P U7564: (S1) 補助ファイルのキー項目が見つかりません A SMART 01』

とエラーになってます。
補助ファイルとは何の事なのでしょうか。
どういう対処をすればいいのでしょうか。
ご指南の程、よろしくお願いします。
2 Re: SMARTの画面明細項目が終われない
ターラヤン 2015-10-14 16:58  [返信] [編集]

エラーが違うので別の原因かもしれませんが、
もしかしてということもあるので書きます。
SMARTでよくあるのが、繰り返しで行き過ぎて戻って終了しようとしたらエラーで終われないという現象です。

繰り返しで調子よくエンターを連打していたら、終了できる位置を過ぎてしまい、おっとっと行き過ぎたとバックスキップで戻る。
そして2キーを押して繰り返しを終了しようとしてもエラーになってしまうことがあります。
これはエンターキーを押したので、途中まで入力済みになってしまっているのが原因です。
最後のCY1だけの行を削除したらどうでしょうか
3 Re: SMARTの画面明細項目が終われない
名無しさん 2015-10-14 19:51  [返信] [編集]

ありがとうございます。

勢いよくやってはいません。
身長に1行ずつ確認しながらエンターやIIキーをしてたのですが
やはり同じとこで止まります。F4キーで削除してもダメでした。

新規や修飾利用で作り直したりもしましたが
やはりダメでした。

直接#TEDITで作ったりもしてみたのですが
やっぱり動きませんでした(笑)

改行がアンダースコアっぽいのは多分あってるみたいですが
文字定数の引用符がブランクに見えるのですがどうも違うみたいです。
4 Re: SMARTの画面明細項目が終われない
温泉好きのうさぎ 2015-10-14 23:59  [返信] [編集]

全体が見えないのでよくわかりませんが、
補助ファイル指定で対応キー項目として定義された項目を、
画面項目として指定されないまま繰り返し終了させようとしたため、
エラーとなったと思われます。

例えば補助ファイルで指定された対応キー項目が年月の数字6桁であったにもかかわらず、
画面項目での指定が年4桁と月2桁に分かれていたりするとエラーとなります。

もう少し具体的にパラメータがわかれば、解決できるかもしれません。
5 Re: SMARTの画面明細項目が終われない
あか 2015-10-15 15:13  [返信] [編集]

返信ありがとうございます。

ご指摘の通り、補助ファイルで定義してあるキーの未使用が原因と思われます。
メインファイルと補助ファイルのキーが複数ありまして、ちょっと面倒でした。

メインファイルの項目を抜粋すると (かっこ内は、位置,桁数)
メイン1=(1,18) KEY1
メイン2=(1,13)
メイン3=(1,10) KEY3
メイン4=(1,12)
メイン5=(98,6) KEY2
と、メイン1〜4までが同じポジションで桁数だけ違う定義になってます。
そのうち、メイン1・5・3がキーになってます(キーは実質2つ)

補助ファイルは
コード1=(1,18) KEY1 ←補助ファイル定義のキー(RKY)
コード2=(1,10) KEY2
コード3=(1,12) KEY3
と、メインと似た感じで同じポジションから桁数だけ違う定義になってます。
キーはコード1・2・3になってます (キーは実質1つ)

画面入力で必要なのは12桁のコードなので、DI2ではコード3の指定をしていましたが
RKYで定義しているのはコード1であり、名前が違うので別物とSMARTさんに思われている感じです。
実際は同じ位置で桁数だけ違うので検索は可能なんですが融通が利かないかと。

そこまで判ったところで、
SMARTさんに怒られないようなパラメータ定義にしてから
やはり荒業を使い、#TEDITでDI2の記述のところを直しました。
ちゃんと動くところまでは確認しました。


パラメータ定義ファイルを直接エディタで直すのはダメだってのはわかってますが
ずっと悩んでたので見逃してください。
6 Re: SMARTの画面明細項目が終われない
温泉好きのうさぎ 2015-10-15 23:59  [返信] [編集]

補助ファイルは、キーが三つある複数索引順編成 (MIX) ファイルですよね。

KEY3 (コード3) は二重キー無しなんでしょうか。そうであれば、
SMART で補助ファイルとして指定するときのファイル名を KEY3 のファイル名とし、
その対応キー項目をメイン4 と指定すれば、画面項目として存在するので OK となります。
SFI=KEY3-FILE
RKY=(,0,1,C,12,)

それとも、KEY3 (コード3) は二重キー有りで、KEY1 (コード1) が二重キー無しのため
補助ファイルのファイル名を KEY1 のファイル名とするのであれば、
やはり、画面項目としてメイン1 の項目が必要です。
SFI=KEY1-FILE
RKY=(,0,1,C,18,)
SIM=(,0,1,C,18,〜省略)

画面項目のパラメータが DI2 ということは、伝票形式の画面ですね。
ということは、メインファイルの 13〜18 桁目が明細行に有るということでしょうか?
そうなると、補助ファイルを参照するタイミングが問題となってしまい、
KEY3 をファイル名とせざるを得ないかもしれません。
7 Re: SMARTの画面明細項目が終われない
MAKI 2015-11-9 15:37  [返信] [編集]

SMARTのパラメータを作成している途中の問題ですよね?
補助ファイルのキー項目が画面項目として定義されていないという
エラーでは。表示するだけでもいいので画面項目として補助ファイルの
キー項目を定義してみてはいかがですか?
#TEDITを使うときは、注意が必要です。
ブランクのところはフォント定義されていないコードが入っていて
削除したりするとひどい目に遭うことがあります。(経験者です)
昔は、人形のような図形が表示されたのですが今は何も表示されないのですね。
8 Re: SMARTの画面明細項目が終われない
MAKI 2015-11-12 20:21  [返信] [編集]

忘れていました。
エラーメッセージの最初の Pは多分ポーズです。
なので、次に行く前に、再開キーを押す必要があります。
[掲示板に戻る全部 次100 最新50
BluesBB ©Sting_Band