• ベストアンサー

RPGでファイル名(もしくはレコード様式名?)をRENAMEする方法

RPGをコンパイルすると 「メッセージ:外部記述ファイルのレコード様式名がファイル名としてすでに定義されている。」 と表示されます。 この場合上司のアドバイスだとRENAMEすれば大丈夫だというのですが、何をどうすればいいのか分かりません。 一応自分なりに検索して入るのですが、なかなか解答が見つかりません。 I仕様書を使って行うのでしょうか? どなたかアドバイスお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • taranko
  • ベストアンサー率21% (516/2403)
回答No.1

レコード様式名のリネーム F仕様書でファイル名の記述がある次の行で同じ F仕様書で27桁目からリネームしたいレコードの 様式名を記入し、61桁目にK(継続)を記入し 62桁目からRENAME(リネームすることの記述) 68桁目からリネーム後の名前を記述する これでいかがでしょうか。

hikari_tai
質問者

お礼

アドバイスありがとうございます。 ご指示いただいたとおり実行したら解決しました。

その他の回答 (2)

  • taranko
  • ベストアンサー率21% (516/2403)
回答No.3

#1です。 RPGIIIでの記述ですのでバージョンが違えば 使えないかもしれないです。

  • mikix777
  • ベストアンサー率50% (9/18)
回答No.2

現在i5を触れる環境にいないのでうろ覚えですが、 確かファイルを定義するところ(F仕様書でしたっけ?)でレコード様式名の変更ができたと思います。 エラーになるファイルを特定して、そのファイルを定義してるところでリネームして下さい。 どのあたりに記述するかはすみませんが忘れちゃいました・・・ F4で行を細かく見たりヘルプでどうにか分かるかと思います。 URLはRPGで開発した当時、参考にしてました。検索でなにか出るかも。 がんばってください。

参考URL:
http://www7.big.or.jp/~pinball/
hikari_tai
質問者

お礼

アドバイスありがとうございます。 No.1さんのアドバイスどおり行ったら解決しました。

関連するQ&A

  • ファイル名を変える事について

    いつもメモ帳を使ってプログラムを書いているんですけど、書いた後のファイル名は~~~.c.txtとなっていてコンパイルする前にいつもrenameをして~~~.cという風に書き直しています。いつもこのようにしなければならないのでしょうか?

  • AS/400のレコードのコピー方法について

    AS/400のレコードのコピー方法について AS/400で管理している1つの物理ファイル(DB)から別の物理ファイルにデータをコピーする場合についての質問です。 現状、テーブル[A]と[B]が存在し、レコード様式や各フィールドなどは全く同じです。[A]をコピーして[B]を作った状態です。 この状態で[A]から一部のレコードを抽出して[B]にコピーをします。 その後、[B]でレコードを加工し、上記作業で[B]にコピーしなかった残りの[A]のレコードをコピーしたいと思います。 結果的に、最初のコピー作業で[B]にコピーされたレコード以外は件数も内容も全く同じ2つの物理ファイルになるという状況です。 ここで、解らないのですが、2回目の[A]から[B]へのコピーをコマンドで行う事はできないでしょうか? CPYF コマンドを使用して、MBROPT(*ADD) にすればできそうだと思ったのですが、重複レコード(最初に[B]にコピーしたレコード)以外をコピーするという項目が見つからず困っております。 INCREL を使用するのかとも思いましたが、比較値にフィールド名を指定する事ができないため不可能です。 RPG3やCLを使えばできそうではあると思うのですが、この程度の機能がAS/400に基本機能として備わっていないとは思えずに調べていたのですが、どうしても見つかりません。 アドバイスをいただけると幸いです。 以上、よろしくお願いいたします。

  • Powershell で []付ファイル名を変更する方法

    PowerShell で []付のファイル名を変更しようとしているのですが、 ワイルドカードのエスケープの仕様がよくわからず困っています。 以下のTest-Pathを使ったコマンドはすべて True でしたが Rename-Item (ren) では"オブジェクトは存在しませんという"エラーが出ます。うまくリネームする方法はないでしょうか? ファイル名 [].txt test-path '`[`].txt' →TRUE test-path '``[].txt' →TRUE test-path '[[]].txt' →TRUE ren '`[`].txt' 'a' →エラー ren '``[].txt' 'a' →エラー ren '[[]].txt' 'a' →エラー

  • CDBurnerXP「ファイル名が長すぎる」というメッセージが

    WindowsXP利用です。 CDBurnerXPというフリーウェアを、DVDに録画番組を書き込むために利用しています。 書き込み作業を行おうとすると、大半の番組が「ファイル名が長すぎるためコンパイルに追加できなかったまたはファイル名が切り詰められたファイルがあります」というメッセージが出てきて、書き込みができないみたいです。 ファイル名が長すぎる・・ということで、ファイル名を短くしてみてもダメですし、ファイル名が長くても書き込めるものもあります。 どのように対応すれば良いのでしょうか(>_<) 宜しくお願い致します!

  • RPGプログラミングによる、年度毎の集計方法

    現在RPGプログラムの研修中なのですが、 RPGプログラムで年度毎の件数集計を行いたいと思っています。 品目マスタというのがあり、 そこに登録日付(TOUROK)というフィールドがあります。 しかし、YYYY/MM/DDという形式で登録されています。 論理ファイルでキーフィールドを選択すると、 登録日付のフィールドは日付順にソートします。 で、RPGプログラムの中で MOVEL TOUROK 4 0 (自分なりには日付の左4つ(年の部分)を取る、 そしてそれを元に年度毎の登録件数を集計するつもり) っと記述します。 しかし、これだと登録日付として 2000/01/01 2000/01/01 2000/01/01 2000/03/01 2001/06/01 プログラム全体を載せているわけではないので、 全体的に私がどのような処理をしようとしているのかが、 分かりづらいと思います。 しかし、必要であれば載せます。 上司のアドバイスとしては論理ファイルを作る時点で、 力技でどうにかなるといいますが、 やり方が分かりません。 どなたかご指導願いします。

  • AS/400 RPG

    いつもお世話になっております。 RPGで帳票系のシステムを作っているのですが、 同じプログラム内で同じ物理ファイルを元にした論理ファイルを複数使用したい時、 F仕様書に何か特別に記述することとかあるのでしょうか? いつもどおり記述したら、コンパイルエラーで2つめの論理ファイルが無視されてしまいました。 ご存知の方がいらっしゃいましたら教えていただけませんか? お願いいたします。

  • ListViewにSETしたファイル名からファイルパス取得方法

    今、ファイル名変換プログラムを作成しています。 そこで、ドラッグ&ドロップまたはフォルダ参照ダイアログから、 ファイルステータスをリストビューにセットしました。 (ファイル名)EX) XXXX.txt #その時、ファイルパスは取得できています。 その後、実行する時にリストビューから ファイル名は、GetItemTextで取得できました。 しかし、ファイルパスは取得できません。 ファイル名だけから、ファイルパスを取得するには、 どのようにしたら良いのでしょうか?? ファイル名の変更は、CFileDialog::Renameで考えているので、。。 それとも、他に良い方法はございますでしょうか? また、構造体かなんか定義して、 リストビューへSETする時に構造体にパスを保存し、 実行時に参照して処理すべきでしょうか? ただ、リストビューで選択し「DEL」ボタンで、 削除できるようしてあるので、 この方法は、効率が悪いように思えて・・・ 環境は、Win2000、VC++6.0、MFCで作成しています。 以上、ご教授ください!

  • 自分のファイル名による制御方法

    プログラミング初心者です。 現在PHPを使ってページを作成しています。 そこで、自分自身、つまり今表示されているページのファイル名による制御を行おうとするのですがファイル名による制御部分の指定がわかりません。 おそらく、そこができれば分岐の処理などは行ける気がするのですが・・・。 具体的には、例えば、ファイル名がsample.phpが表示された場合には、 ページ中にある、<p>これはsample.phpだよ!</p>を表示させる方法となります。 自分自身のファイル名を認識させる指定はどのように定義すればよいでしょうか? 詳しい方いらっしゃいましたら、アドバイスをお願いいたします。

    • ベストアンサー
    • PHP
  • MS-DOSの2バイト文字のファイル名が扱えない

    10年以上前にPC-9801のMS-DOS 3.1 で作成したテキストファイルを フロッピィ経由で WindowsXP Home Edition Version 2002 Service Pack 2 にコピーしようとしました。 ファイル名が1バイト文字のみのものや 2バイト文字でも漢字の場合は問題なくコピーできました。 ところが「α(ギリシア文字アルファ)」や「m(全角ローマ字小文字エム)」で始まるファイル名のものは  ファイルまたはフォルダのコピー エラー  ファイルをコピーできません。送り側のファイルまたはディスクから読み取れません。  OK というウィンドウが出てきてコピーできません。 (コマンドプロンプトでやっても同様です。) 仕方が無いので、PC-9801上で一度1バイト文字のファイル名にRENAMEし、Windows上にコピーし終えてからWindows上でファイル名をαやmに直すという作業をしています。 ワークアラウンドとしては十分ですが、そういったファイルが大量にあるのでとても面倒です。 なんでこんな仕様になってるのでしょうか? どこかの設定を変えることで、 MS-DOSで作成されたαやmで始まるファイルをそのまま扱うようにできないでしょうか。

  • ファイル名を一括変更したいが正規表現方法を教ええください。

    リモート側のファイル名を一括変更したのですが、正規表現の方法がわかりません。 現在は以下のとおり記述しています。 opendir(DIR, $FTPdir); @FTPlist = grep (/^$head$year$mon$mday.*\.csv$/, readdir(DIR)); closedir(DIR); if (@FTPlist){ foreach (@FTPlist) { rename /^$head$year$mon$mday.*\.csv$/,/^$head$year$mon$xday.*\.csv$/,); print ; print "\n"; } }

    • ベストアンサー
    • Perl

専門家に質問してみよう