AS/400展望台

PDMとSEUの利用のヒントとテクニック



ジェフ・サザーランド著

アプリケーションを長年にわたって使用しているあなたでもどこかに使用していない機能があって、それを利用すればアプリケーションをもっと効率的に動作させることができるのではないでしょうか。PDMやSEUに精通している開発者はこのような隠れた機能をすでにご存知ではないかと思います。WebSphere Development Studio Client (WDSc)を使った開発にまだ一歩踏み出せていないのであれば、PDMやSEUの隠れた財宝を求めて探検するのも良いかもしれません。では、ヒントやテクニックをいくつか紹介しましょう。新発見の秘訣に専門家も思わずニヤリとするようなものがあるかもしれません。

自分だけのものにする
私が書いたWDSsシリーズのBasics of Using WDScをお読みになったことがあれば、作業環境のインタフェースをそのまま使うのではなく、自分の好きなようにカスタマイズするのを私が大好きであることをご存知でしょう。PDMも例外ではありません。ソース・メンバー用のPDMの基本的なレイアウトを図1に示しますが、カスタマイズの余地はずいぶんあるようです。

PDMビューをカスタマイズするにはF18=Optionsを使用します。私が使用しているPDMオプション画面のセットを図2に示します。まず、私はソース・タイプとその記述を変更できる機能を必要としません。私の指が意図していないキーを押してしまうことが度々あったり、field-exitには問題がないのに、あっという間にソース・メンバーの記述を消してしまったりしてしまうからです。このエントリを変更できなくすることでずいぶん助かるのです。

PDMは何年も使用していますので、使用できるオプションの記述が画面の一番上に、ファンクション・キーが一番下に表示されていなくても私は構いません。最近記憶力は落ちてきていますが、option 2が編集でoption 25が検索、F16がPDMオプションの編集であることぐらいは覚えています。画面の余っている部分を使用してソース・メンバーをもっと表示させたいときは、フルスクリーン・モードをYに設定してソース・メンバーを操作するための画面スペースを広げます(図3)。

固有のショートカット・コマンドを作るのもPDMのカスタマイズです。F16=Userオプションを使ってじっくり自分だけのショートカット・コマンドを作ってみてください。私が使用しているカスタム・コマンドの例を図4に示します。コマンド・ラインでEDTLIBLと入力するよりは、ELに入力して自分のライブラリ・リストを編集する方が、PDMでの作業をスピードアップしてくれます。他のプログラマにも利用してもらおうとKOAではオプションの共有リストを使用していますが、図2をもう一度見てもらうとおわかりになる通り、プログラマそれぞれがカスタマイズしたオプションのリストを持てるのです。ショートカットの共有には、カスタム・コンパイル・コマンドの実行、ライブラリ・リストの設定、頻繁に呼び出すプログラムの呼び出しなどがあります。(以下に示す「即効PDM」ではPDMのファンクション・キーとオプション、およびその機能の簡単なリストが示されています。)

リストを正す
私はすべてのソース・メンバー・タイプを1つのソース・メンバー・ファイルにまとめています。RPGのソース・コードをQRPGSRC、QCLSRCのCLなどに保存するのは、ソース・ファイル間を頻繁に行ったり来たりしなければならないので、好きではありません。しかしソース・メンバーをすべて1つのソース・ファイルに保存すると非常に大きなリストになってしまいます。私はF17=Subsetオプションを使用してソース・メンバーをフィルタリングすることが多いので、今必要とするリストだけを対象に作業すればよいことになります。

サブセット・オプションの例を図5に示します。RPGメンバーのタイプに関係なくすべてのRPGメンバーに対して作業を行いたいとします。*RPG*のアスタリスク(*)はRPG、RPGLE、SQLRPGなどを含んだ一般的なリストを返します。*記号を付けるのを忘れた場合、1つのソース・メンバー・タイプしか作業できないことになる場合もあります。また、テキスト中に「dbr」を含んでいるメンバーだけを返すようにフィルタをセットしてあります。このエントリでは大文字と小文字が区別されず、ワイルドカード一致の*記号も必要ありません。いずれの場合も「dbr」中のすべての記述が検索対象となります。

メンバー・リストの一部を使用していてソース・ファイルを切り替えている場合、サブセットのフィルタも依然として利用できます。PDMリストの一番下に「このリストは一部です」というメッセージが念のために表示されます。すべてのソース・メンバーのリストに戻るには、F17、F5、Enterの順にキーを押します。

SEUでの編集
PDM同様、SEUにも独自の強力な機能があり、そのほとんどがファンクション・キーや画面最上部のSEUコマンド・ラインで利用できます。SEUコマンド・ラインはSEUコマンド専用です。このコマンド・ラインではオペレーティング・システムのコマンドを実行することはできません。オペレーティング・システムのコマンドを実行するにはF21を使用します。F21を使用すると、コマンド・ライン・ウィンドウが現れ、そこでオペレーティング・システムのコマンドを実行することができます。

便利なコマンド・キー
F-specのオプションすべて忘れてしまったことがありますか。私はあります。しかし新しい行を挿入した場合6カラム目にFを入力しF4キーを押すと固定フォーマットのすべてのオプションに対する入力を促されます。どのプロンプトが必要かを決めるのにヘルプが必要な場合は、F23キーを押してさまざまなプロンプト・オプションを画面に表示させます。

F10キーを押すとカーソルはSEUコマンド・ラインに移動し、もう一度F10キーを押すとソース・コード中の元の位置にカーソルが戻ります。ソース行が前と違って見えるのは70カラム目以降を展開したからです。F11キーを使用してソース・コード中の右と左を切り替えてください。

F13キーを使うと、図6に示すように、SEUセッションのデフォルト値を変更できます。繰り上がり行数のオプションの設定、大文字入力だけを使用するかどうかの指定、ソース日付のリセット、ソース・コードに対するSEU文法チェック方法の指定が行えます。F13キーでの便利なオプションの1つに、カーソル位置に応じたスクロールの設定があります。ある行を画面の一番上に移動させたい場合は、その行にカーソルを置いてPgDnキーを押します。SEUのもう1つの便利なオプションは、全画面モードです。全画面モードをYに設定すると、画面の一番下のコマンド・キー・リストが表示されなくなるので、ソース・コードの表示が4行分増えます。操作したいソースの行数がいつでも増やせるのです。

SEUの検索/置換オプションを表示するにはF14キーを使用します。私はF14キーを使った検索/置換はめったに使用せず、代わりに、SEUコマンド・ラインの検索機能を使用します。例外は、日付をベースにソース・コードの検索を行いたい場合です。この場合はF14キーを使用し、YY/MM/DDの日付フォーマットを使用してソースを検索します。

F15キーを使用すると、他のソース・メンバーを表示させてメンバー間でソース・コードをコピーすることができます。またスプールしておいたファイルをF15キーを使用して再表示させることもできます。こうすると、ソースを編集しながら、うまく動かなかったプログラムの最新のコンパイルを見ることができます。図7では、ソースの表示画面が分割され、編集中のソース・コードが画面上部に、コンパイル・リストが下部に表示されています。SEUコマンド・ラインがそれぞれのエリア用に2つあることに注意してください。コンパイル・リスト中の問題箇所を検索し、上部の画面に戻ってその問題箇所のソース・コードを見つけることができます。画面の分割表示を止めるにはF12キーを押します。

ライン・シーケンス・エリアのコマンド
ライン・シーケンス・エリアに入力できるオプションは全部で78個あります。よく使われるコピー用のC、削除用のDから、あまり使われない行の実行用のXにいたるまで、ライン・シーケンス・エリアを使用してソース・コードを操作する方法はたくさんあります。少し時間を取って、カーソルをライン・シーケンス・エリアに移動し、F1キーを押してヘルプ・ウィンドウを表示してみてください。78個のオプションをざっと見てみると、知らなかったオプションが1つや2つはきっとあるでしょう。

プロンプトの仕方については前述しましたが、プロンプトするもう1つの方法はシーケンス・ナンバー・エリアでIFxxオプションを使用する方法です。IFコマンドではルーラーが表示され、固定フォーマットの文の入力が容易になります。例えばC仕様のルーラーをSEU画面に表示させるには、シーケンス・ナンバー・エリアにIFCと入力します。RPGのフリー・フォーマットを使用している人は、Lx、Rx、LLx、RRxなどのオプションをうまく利用して行や行の塊を左右に移動してください。

SEUのコマンド・ライン
前述したとおり、SEUコマンド・ラインを使用してSEU仕様のコマンドを実行します。オプションのリストを表示するには、カーソルをSEUコマンド・ラインに移動してF1キーを押します。

コマンド・ラインが最も使用されるのは検索/置換機能です。Fと空白1文字と検索対象項目を入力して省略形のFINDコマンドを使用します。空白文字を含んだ文字列を検索する必要があるときは、次のように、検索文字列を引用符で囲みます。

SEU==> F 'Data Structures'

検索/置換操作の省略形は変更を意味するCに空白1文字と検索対象の項目、空白1文字、そして置換文字列です。たとえばSEUコマンド

SEU==> C fkey funkey

は、最初に見つかったfkeyをfunkeyに置換します。次に、F17キーを使用してソースの残りの部分でこの置換を1箇所ずつ繰り返します。検索と置換を全部行うには、次のように、変更コマンドの後ろに「すべて」を意味するAを付け加えます。

SEU==> C fkey funkey A

SEUを終了せずにソースを保存してコンパイルするいい方法があります。ソース・コードを変更したらSEUコマンド・ラインに移動してSAVEを押します。次に、F21キーを押してコマンド・ラインを表示し、コンパイル・コマンドを入力します。

マクロを記録できるような何らかの機能を使用して編集をしている方がほとんどでしょう。旧式の(しかし信頼性は高い)緑色画面の端末でさえもマクロを記録することができます。それよりは新しいエミュレーション・プログラムもキーの押下を記録して簡単に再生できる機能をサポートしています。記録/再生機能を使用すれば、F10キーを実行してSEUコマンド・ラインに移動し、SAVEコマンドでソースを保存してF21キーでコマンド・ラインを表示させてコンパイル・コマンドを入力できるようにする、といったマクロを簡単に作成することができます。このマクロには「SEUを終了することなくソースをコンパイルする」マクロという名前をつけられるでしょう。

強力さを保ったままの豊富な機能
本稿でご紹介している通り、PDMやSEUはソースを管理したり生産性の高いプログラマであり続けるためには非常に有用なツールです。時間を取ってPDMやSEUのたくさんのオプションを見直してみてください。そうすることでもっとやりたいこと、すなわちプログラミングにより多くの時間を割くことができるようになるでしょう。

ジェフ・サザーランド氏はベル・データ鰍フ提携先、米国Penton Media, Inc.が発行するiSeries NEWSのテクニカル・エディタで、モンタナ州ビリングス市にあるKampgrounds of America, Inc.の情報サービス担当副社長です。

即効PDM
PDMのさまざまなファンクション・キーやオプションを使ってできる機能一覧を簡単にまとめました。
日付を表示させるか、ソース・メンバー・タイプを表示させるかの切り替えはF14キーを使用してください。
日付とメンバー名間で並び順を変更するにはF15キーを使用してください。日付順に並び替えると、ポジション・エントリ(右上)が「メンバー名へのポジション」から「日付へのポジション」に変わります。
検索条件を入力するには1つ以上のメンバーに対してオプション25をつけてエンター・キーを押します。複数のメンバーを検索する必要がある場合は、代わりにFNDSTRPDM (Find String Using PDM)コマンドを使用してください。ソース・メンバーのリストを印刷するにはF21=Print listを使用してください。
個々のソース・メンバーを印刷するにはオプション6=Printを使用してください。
ソース・メンバー同士を比較するにはオプション54=Compareを使用してください。
これによりCMPPFM (Compare Physical File Member)コマンドが呼び出されます。
複数メンバーの変更をマージするには、オプション55=Mergeを使用してください。
これによりMRGSRC (Merge Source)コマンドが呼び出されます。すばらしい機能です。





↑このページのトップへ
TOPPAGE

BELLDATA, Inc. Copyright reserved.