uniface-procscript について
Uniface 9.7 ProcScript を扱う開発者向けのドキュメント案内スキルです。記憶だけに頼らず、言語構文やトリガーを含む同梱の公式リファレンスを参照して回答します。
主な機能
- 01594件のリファレンス項目を参照
- 02カテゴリと索引から項目を検索
- 03構文とパラメーターを確認
- 04使用上の注意と例を確認
- 05関連トピックを確認
活用シーン
- 01ProcScript文の構文を調べる
- 02関数やトリガーを参照する
- 03データ型やディレクティブを確認する
- 04リファレンスに基づいてコードを調査する
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ dedalus-erp-pas/ foundation-skills --skill uniface-procscriptインストール後、Claude Code で/uniface-procscriptを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
reference/llms.txtpredefinedoperations.mdprocdatatypes.mdprocprecomp.mdprocstructfunctions.mdtriggersextended.mdtriggersstandard.md詳細
Uniface 9.7 ProcScript リファレンス -- ナビゲーションスキル
このスキルでは、Uniface 9.7 ProcScript の公式リファレンスドキュメント一式(reference/ 内の8つのカテゴリファイルにまとめられた594項目)を参照できます。ProcScript に関する質問に回答する際は、記憶に頼るのではなく、これらのファイルを検索して読み込むことが役割です。
ProcScript とは(最低限の背景情報)
ProcScript は、Uniface ローコードプラットフォームの4GLスクリプト言語です。ドキュメントを読む際は、次の主な特徴を念頭に置いてください。
- セミコロン(
;)は文を終わらせるのではなく、コメントを開始します - 1行につき1つの文(継続には
%\を使用) - フィールドは
FIELD.ENTITY(修飾あり)またはFIELD(コンテキスト内)として参照します - 変数:
$1~$10(スクラッチ)、$NAME$(汎用)、variables/endvariablesブロック - リストではゴールドセミコロンを区切り文字として使用します
$statusには最後の操作の結果が格納されます(0 = 成功、<0 = エラー)- コードは、コンポーネント、エンティティ、またはフィールドに割り当てられたトリガー(イベントハンドラー)内に記述します
ドキュメントの構成
すべてのドキュメントは、このスキルからの相対パス reference/ にあります。各カテゴリは、すべての項目を --- の水平線で区切った単一の統合ファイルです。
reference/
llms.txt # Index: every entry with title + one-line description (~620 lines)
procstatements.md # 173 entries -- statements (retrieve, read, store, if, for, putitem, ...)
procfunctions.md # 248 entries -- functions ($status, $concat, $scan, $replace, $date, ...)
triggersstandard.md # 74 entries -- standard triggers (Read, Write, Store, Validate Field, ...)
triggersextended.md # 34 entries -- extended triggers (OnClick, OnChange, expand, ...)
procdatatypes.md # 21 entries -- data types (string, numeric, date, struct, handle, ...)
procprecomp.md # 23 entries -- preprocessor directives (#define, #if, #include, ...)
procstructfunctions.md # 13 entries -- struct functions ($name, $parent, $scalar, $tags, ...)
predefinedoperations.md # 8 entries -- predefined operations (Exec, Init, Cleanup, Quit, ...)
各項目は # Title で始まり、構文、パラメーター、戻り値、使用上の注意、コード例を含むリファレンス全体が記載されています。項目は --- で区切られています。
ProcScript に関する質問への回答方法
次の検索手順に従ってください。必ずドキュメントを参照し、記憶だけで回答しないでください。
ステップ 1:ユーザーが知りたいことを特定する
ユーザーの質問をカテゴリファイルに対応付けます。
| ユーザーの質問... | 参照先 |
|---|---|
| 文(retrieve、read、store、if、for、putitem、creocc など) | procstatements.md |
$function($status、$concat、$scan、$date、$curocc など) | procfunctions.md |
| トリガー(Read、Write、Store、Validate、Leave Field など) | triggersstandard.md |
| 拡張/ウィジェットトリガー(OnClick、OnChange、expand など) | triggersextended.md |
| データ型(string、numeric、date、struct、handle など) | procdatatypes.md |
| プリプロセッサー(#define、#if、#include、コンパイル時定数) | procprecomp.md |
| 構造体の操作($name、$parent、$scalar、$tags など) | procstructfunctions.md |
| 定義済みの操作(Exec、Init、Cleanup、Quit など) | predefinedoperations.md |
ステップ 2:ファイル内の項目を探す
オプション A -- 項目の見出しを grep で検索する(名前が分かっている場合に最速)
Grep: pattern="^# retrieve$" path="reference/procstatements.md" -A 80
これにより、項目とその後の行が表示されます。次の --- 区切り、または # NextTitle に達するまで読み進めてください。
オプション B -- 索引を検索する(正確な名前が分からない場合)
reference/llms.txt を読んで、項目名とカテゴリファイルを確認します。各セクションにファイル名が記載されています。
## Statements
File: `procstatements.md`
- retrieve: Activate the Read trigger for the first outermost entity...
オプション C -- すべてのファイルを grep で検索する(複数のカテゴリにまたがる質問の場合)
Grep: pattern="your search term" path="reference/" glob="*.md"
これは、「どの文が /lock オプションをサポートしていますか?」や「$webinfo はどこで使用されていますか?」といった質問に役立ちます。
ステップ 3:読み込んで要点をまとめる
-A(後続コンテキスト)を指定して Grep を使い、項目を読み込みます。通常は1項目につき-A 80で十分です。項目が長い場合は値を増やしてください- 構文、パラメーター、戻り値、使用制限、コード例に注意します
- 各項目の末尾にある 関連トピック セクションで、関連する概念を確認します
- 質問が複数のトピックにまたがる場合は、複数の項目を grep で検索し、要点をまとめます
- 参照したファイルと項目を必ず明記します
ステップ 4:正確に回答する
- ドキュメントの正確な構文を引用します
- ドキュメントのコード例を含めます(コード例には
```procscriptフェンスブロックが使用されています) - 該当する場合は、
$statusの戻り値とエラーコードに言及します - ドキュメントに制限事項(コンポーネントの種類、トリガーコンテキストなど)が記載されている場合は、それも含めます
- ユーザーの質問が曖昧な場合は、項目への参照を添えて、考えられる解釈を列挙します
よくある検索パターン
「X を行うには?」(タスク指向)
reference/llms.txtでタスクに関連するキーワードを検索します- 該当するカテゴリファイルから、最も関連性の高い項目を Grep で抽出します
- 特定のイベントコンテキストが関係する場合は、
reference/triggersstandard.mdを確認します - ドキュメントのコード例を使い、調査結果を一貫性のある回答にまとめます
「X は何をするの?」(リファレンス検索)
- 該当するカテゴリファイルで、項目を直接 Grep します:
pattern="^# X$" - 構文、説明、パラメーター、戻り値、例を読み取り、提示します
「このコードの問題は?」(デバッグ)
- コードで使用されているステートメント/関数を特定します
- 各項目を Grep で検索し、次の点に注意します:
- 正しい構文(ドキュメントには正確な構文テンプレートが記載されています)
- 有効なトリガーコンテキスト(一部のステートメントは特定のトリガーでのみ使用できます)
- 戻り値とエラー条件
- 「Use」または「Description」セクションに記載された、よくある注意点
「X には何がある?」(列挙)
reference/llms.txtを読み、該当するセクション見出しで絞り込みます- または、該当するカテゴリファイル全体を広いパターンで Grep します
重要な注意事項
- 生成ファイル:
reference/ディレクトリは、doc/html/のソースからdoc/scripts/convert.pyによって再生成されます。これらのファイルを手動で編集しないでください。 - 統合形式:各
.mdファイルには、---で区切られた複数の項目が含まれます。個々の項目を読むには、-Aコンテキストを指定して Grep します。 - エンコーディング:ソースファイルは Windows-1252、生成された出力は UTF-8 です。
- バージョン:このドキュメントが対象とするのは、Uniface 9.7 です。他のバージョンの機能を前提にしないでください。