文字列検索ユーティリティ 使用の手引き 目次 1 はじめに................................................................................................................................................ 1 2 導入時の注意点.................................................................................................................................... 2 3 導入手順 .............................................................................................................................................. 3 4 対話型での使用方法............................................................................................................................. 6 5 バッチでの使用方法 ............................................................................................................................ 13 1 はじめに このプログラムは①SAS/AFプログラム(SCLエントリ・PROGRAMエントリ)②メインフレーム区分データセット内 のメンバから、編集したいソースコードを「指定された文字列」で検索し、その場で編集できるようにすることで、 適用業務SASアプリケーションの修正作業効率を高めることを目的とするものです。 このプログラムはSASマクロ言語を使用した文字検索マクロと、それを対話的に使用するAFメニュー・プログラ ムから構成されています。このうち文字検索マクロについては単独で使用可能ですので、バッチ処理においても 利用可能です(但し検索文字列出現箇所のレポートのみ)。 尚、このプログラムはあくまでもサンプル品として提供させていただく都合上、ご使用に際してのお問い合わせ等 の一切のサポートは致しませんことをご了承ください。又コピー・改造は自由です。ご使用目的に応じて適宜カス タマイズして下さい。 SCANAF 17OCT00 1 2 導入時の注意点 2.1 このプログラムを実行するためには以下のプロダクトの契約が必要です。 ”Base SAS ソフトウェア” ”SAS/AF ソフトウェア” 2.2 このプログラムはSASシステムの以下のバージョンが必要となります。 Windows版SASシステムリリース6.11以降 UNIX版SASシステムリリース6.11以降 メインフレーム版SASシステムリリース6.07J(TS407)以降 2.3 このプログラムは以下のファイルで構成されています。 a) SCANAF.SAS SAS/AFプログラムソースコード中から文字列を検索するマクロ、SCANAF のソースコード b) SCANPDS.SAS OS区分データセットメンバ中から文字列を検索するマクロ、SCANPDSのソ ースコード(※メインフレームでのみ使用可能です) c) MAINT.SAS 文字列検索メニューシステムを起動するためのコマンドマクロ、MAINTのソ ースコード d) TRANFILE SCANAF 17OCT00 文字列検索メニューのCPORT変換移送形式SASファイル 2 3 導入手順 3.1 導入作業は以下の流れで行います。 ①PCから各プラットフォーム(Windows、UNIX、メインフレーム)へのファイル転送 ②SASを起動後、CIMPORTプロシジャにてメニューシステムのSASカタログを復元 ③環境設定(cmdmacオプションの設定) 3.2 ファイル転送 これらのプログラムを使用する各プラットフォームに転送します。各ファイルの転送モード及び転送後のファ イル名(メンバ名)は下記の通りとなります。 ファイル名 転送モード 転送後のファイル名(メンバ名) SCANAF.SAS ASCII SCANAF.SAS(Windows/UNIX ファイル名) SCANAF(メインフレーム メンバ名) SCANPDS.SAS ASCII (Windows/UNIXは不要) SCANPDS(メインフレーム メンバ名) MAINT.SAS ASCII MAINT.SAS(Windows/UNIX ファイル名) MAINT(メインフレーム メンバ名) TRANFILE BINARY (任意の名前) ※メインフレームの場合の転送モードは、ASCIIの場合は「CRLF、JISCII」の変換ありでファイル転送を行って下さい。 BINARYの場合、転送時の指定は一切不要です。 ※メインフレームの場合、TRANFILEを転送する前に「RECFM=FB、LRECL=80、BLKSIZE=8000」でPSファイルをア ロケーションしていただき、そのファイルに転送していただく必要があります。 ファイルは「自動呼出マクロライブラリ」に転送して下さい。このマクロライブラリは既存のものを使用してい ただいても、新規に作成していただいても構いません。各プラットフォームで「ユーザー用の自動呼出マクロ ライブラリ」を新規で作成、登録していただく方法は以下の通りです。 【Windowsプラットフォーム】 a) 適当なディレクトリ(例:C:¥SAS¥USR¥SCANAF)を作成します。 b) 使用するCONFIGファイル(例:C:¥SAS¥CONFIG.SAS)より「SASAUTOS」を指定している場所を探 し、a)で作成したディレクトリを追加します。このディレクトリが「自動呼出マクロライブラリ」です。ここに各 ファイルを転送して下さい。 -SET SASAUTOS ( C:¥SAS¥USR¥SCANAF !sasroot¥japanese¥sasmacro 【UNIXプラットフォーム】 SCANAF 17OCT00 3 a) 適当なディレクトリ(例:/usr/lib/sas612/scanaf/)を作成します。 b) 使用するCONFIGファイル(例:!sasroot/config.sas612)より「SASAUTOS」を指定している場所を探し、 a)で作成したディレクトリを追加します。このディレクトリが「自動呼出マクロライブラリ」です。ここに各ファ イルを転送して下さい。 -sasautos ( !SASROOT/sasautos /usr/lib/sas612/scanaf) 【メインフレームプラットフォーム】 a) 適当なデータセット(例:SAS.SAS609.SASAUTOS <RECFM=FB/LRECL=80/DSORG=PO>)を作 成します。 b) 使用するCLIST(例:SAS.SAS609.CLIST(SAS))より「SASAUTOS」を指定している場所を探し、a)で 作成したデータセットを追加します。このデータセットが「自動呼出マクロライブラリ」です。ここに各ファイ ルを転送して下さい。 SASAUTOS (’’’SAS.SAS609.SASAUTOS’’’) + 3.3 SASカタログの復元 転送した「TRANFILE」を「SASUSER.MAINT」(カタログ)として復元します。復元は「CIMPORTプロシジ ャ」を使用します。 プログラム例 FILENAME SASCAT ’C:¥SAS¥USR¥SCANAF¥TRANFILE’ ; PROC CIMPORT INFILE=SASCAT CAT=SASUSER.MAINT;RUN; SASLOGに以下のメッセージが出力され、ERRORがなければ作業完了です。(例はWindows) NOTE: PROC CIMPORT はカタログ SASUSER.MAINT の作成,変更を開始します. NOTE: エントリ CANRUN .PMENU を復元します. NOTE: エントリ MENU .PROGRAM を復元します. NOTE: エントリ SCANAF .PROGRAM を復元します. NOTE: エントリ SCANPDS .PROGRAM を復元します. NOTE: 復元した SASUSER.MAINT カタログのエントリの数 : 4 NOTE: PROCEDURE CIMPORT は 1.29 秒を使用しました. SCANAF 17OCT00 4 3.4 環境の設定 コマンドスタイルマクロの使用を可能にする為、以下のいずれかの方法でCMDMACシステムオプションを 追加して下さい。 CONFIGファイルを変更する方法 「-cmdmac(メインフレームではCMDMAC)」を1行追加。 AUTOEXECファイルを使用する方法 「options cmdmac ;」の1行を記述した「AUTOEXECファイル」を作成。既にAUTOEXECファイルを使 用している場合には1行追加。 SCANAF 17OCT00 5 4 対話型での使用方法 4.1 初期画面 SASを起動し(DMS)、コマンド行又はコマンドウィンドウで「MAINT」と入力すると下記の初期画面が表示さ れます。(画面はメインフレームの例) [EXIT] :終了します [SCAN AF] :SCAN AF機能画面が起動します [SCAN PDS] :SCAN PDS機能画面が起動します(※Windows、UNIXでは使用できません) SCANAF 17OCT00 6 4.2 SCAN AF機能画面 SCAN AFは以下の機能を実現します。 1)指定したSASライブラリ及びSASカタログ内の「SCLエントリ」「PROGRAMエントリ」から、特定の文字 列を検索します。 2)1)で検索した文字列が存在するソースの表示及び編集を、SCAN AFの画面から直接行う事が可能で す。 初期画面より[SCAN AF]を選択すると、下記の画面が表示されます。(画面はメインフレームの例) LIBNAME 検索対象のSASカタログが存在するSASライブラリ参照名を指定 CATALOG NAME 文字列を検索するSASカタログ名を指定 SEARCH STRING 検索したい文字列を入力 IGNORE CASE 検索文字列中の半角英文字の大文字・小文字の区別 初期値はYES(しない) REPORT 検索結果を「OUTPUTウィンドウ」にも出力するか 初期値はNO(しない) 上記を指定してから[RUN]を選択して下さい。初期画面に戻る場合は[RETURN]です。 ※「SEARCH STRING(検索文字列)」に「(」、「)」、「’」、「”」、「%」の特殊記号を含めることはできません。 SCANAF 17OCT00 7 【使用例】 以下の例はライブラリ参照名「TSTLIB」、カタログ名「SASPC」より「submit」という文字列を検索していま す。 ①ライブラリ参照名、カタログ名、検索文字列その他オプションを指定します。 ②[RUN]をクリックし、検索を実行させます。 SCANAF 17OCT00 8 「TEXT」は検索対象「submit」を含むソースコード、「ENTRY」はライブラリ参照名・カタログ名及びエント リ名、「LINE」はそのソースコードの存在する行番号を意味しています。又、「1-6 OF 40」は全40行中の1 ~6行を画面上に表示していることを示します。スクロールは「PageUp」キー「PageDown」キーや「PF7」 キー「PF8」キー等を使用して下さい。 ③編集を行いたいソースコードがある場合、先頭に「E」を入力すれば編集することができます。又、編集の 必要はないがソースコード全体を参照したい場合は「B」を入力します。 ④③で「E」を選択したソースコードの行が先頭となった状態で、BUILDプロシジャが起動します。編集後、通 常のBUILDプロシジャと同様の手順で終了すると、再び「SCAN AF」の画面に戻ります。③で「B」を選択し た場合は編集できません。 SCANAF 17OCT00 9 4.3 SCAN PDS機能(メインフレームのみ) SCAN PDSは以下の機能を実現します。 1)区分編成ファイルに格納されているメンバから、特定の文字列を検索します。 2)1)で検索した文字列が存在するソースコードの表示及び編集を、SCAN PDSの画面から直接行う事 が可能です。 初期画面より[SCAN PDS]を選択すると、下記の画面が表示されます。 DATASET NAME 検索対象の区分データセット名 SEARCH STRING 検索したい文字列を入力 IGNORE CASE 検索文字列中の半角英文字の大文字・小文字の区別 初期値はYES(しない) REPORT 検索結果を「OUTPUTウィンドウ」にも出力するか 初期値はNO(しない) 上記を指定してから[RUN]を選択して下さい。初期画面に戻る場合は[RETURN]です。 ※「SEARCH STRING(検索文字列)」に「(」、「)」、「’」、「”」、「%」の特殊記号を含めることはできません。 SCANAF 17OCT00 10 【使用例】 以下の例は区分データセット名「SDC.SAS607.SAMPLE」より「PROC SUMMARY」という文字列を検索し ています。 ①データセット名、検索文字列その他オプションを指定します。 ②[RUN]をクリックし、検索を実行させます。 SCANAF 17OCT00 11 「MEMBER」は検索対象「PROC SUBMIT」を含むソースコードを持つメンバ名、「LINE」は「PROC SUBMIT」を含むソースコードの存在する行番号、「TEST」はそのソースコードの表示を意味しています。 スクロールについては「SCAN AF」機能と同様です。 ③編集を行いたいソースコードがある場合、先頭に「E」を入力すれば編集することができます。又、編集の 必要はないがソースコード全体を参照したい場合は「B」です。 ④③で「B」を選択したソースコードの行が先頭となった状態で、BROWSEウィンドウが起動します。ソース コードの参照のみ可能です。③で「E」を選択するとEDITウィンドウが起動します。こちらはソースコードの編 集も可能です。 SCANAF 17OCT00 12 5 バッチでの使用方法 5.1 %SCANAFマクロ 対話型のSCANAF機能と同等の機能を提供します。 【書式】 %SCANAF(LIB=libref,CAT=catalogname,STR=%NRSTR(string),UPCASE=YES|NO,REPORT=YES) ; libref 検索対象のSASカタログが存在するライブラリ参照名を指定 catalogname 文字列を検索するSASカタログ名を指定 string 検索したい文字列を指定 upcase 検索文字中の半角英文字の大文字・小文字の区別 デフォルトはYES(しない) report 検索結果を「OUTPUTウィンドウ」にも出力するか YES(する)を指定 ※「STR=」パラメータの文字列を指定する場合、引用符で囲む必要はありません。但しSCAN AF機能 と同様、一定の特殊記号を含めることはできません。 ※「REPORT=」については「YES」が必須となります。「NO」を指定してしまうと処理結果を取得できま せん。 【使用例】 %SCANAF(LIB=TSTLIB,CAT=SASPC,STR=%NRSTR(submit),UPCASE=YES,REPORT=YES) ; SCANAF 17OCT00 13 5.2 %SCANPDSマクロ(メインフレームのみ) 対話型のSCAN PDS機能と同等の機能を提供します。 【書式】 %SCANPDS(DSNAME=dsname,STR=%NRSTR(string),UPCASE=YES|NO,REPORT=YES) ; dsname 検索対象の区分データセット名 string 検索したい文字列を指定 upcase 検索文字中の半角英文字の大文字・小文字の区別 デフォルトはYES(しない) report 検索結果を「OUTPUTウィンドウ」にも出力するか YES(する)を指定 ※「STR=」パラメータの文字列を指定する場合、引用符で囲む必要はありません。但しSCAN PDS機 能と同様、一定の特殊記号を含めることはできません。 ※「REPORT=」については「YES」が必須となります。「NO」を指定してしまうと処理結果を取得できま せん。 【使用例】 %SCANPDS(DSNAME=SDC.SAS607.SAMPLE,STR=%NRSTR(PROC SUMMARY),UPCASE=YES,REPORT=YES) ; SCANAF 17OCT00 14 文字列検索ユーティリティ使用の手引き 2000年10月17日 第2版第1刷発行 発行元 株式会社SASインスティチュートジャパン 〒104-0054 東京都中央区勝どき1-13-1 イヌイビル・カチドキ8F 電話 03(3533)3760 本書の内容に関する技術的なお問い合わせは下記までお願い致します。 SASテクニカルサポート TEL: :03 (3533) 3877 SCANAF 17OCT00 FAX: :03 (3533) 3781 15
© Copyright 2024 Paperzz