mcpField
U
uniface-procscript

uniface-procscript

github.com/dedalus-erp-pas開発122 回インストール
リポジトリ

uniface-procscript について

Uniface 9.7 ProcScript を扱う開発者向けのドキュメント案内スキルです。記憶だけに頼らず、言語構文やトリガーを含む同梱の公式リファレンスを参照して回答します。

主な機能

  1. 01594件のリファレンス項目を参照
  2. 02カテゴリと索引から項目を検索
  3. 03構文とパラメーターを確認
  4. 04使用上の注意と例を確認
  5. 05関連トピックを確認

活用シーン

  1. 01ProcScript文の構文を調べる
  2. 02関数やトリガーを参照する
  3. 03データ型やディレクティブを確認する
  4. 04リファレンスに基づいてコードを調査する

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/dedalus-erp-pas/foundation-skills --skill uniface-procscript

インストール後、Claude Code で/uniface-procscriptを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

reference/
llms.txt
predefinedoperations.md
procdatatypes.md
procprecomp.md
procstructfunctions.md
triggersextended.md
triggersstandard.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:読み込んで要点をまとめる
  1. -A(後続コンテキスト)を指定して Grep を使い、項目を読み込みます。通常は1項目につき -A 80 で十分です。項目が長い場合は値を増やしてください
  2. 構文、パラメーター、戻り値、使用制限、コード例に注意します
  3. 各項目の末尾にある 関連トピック セクションで、関連する概念を確認します
  4. 質問が複数のトピックにまたがる場合は、複数の項目を grep で検索し、要点をまとめます
  5. 参照したファイルと項目を必ず明記します
ステップ 4:正確に回答する
  • ドキュメントの正確な構文を引用します
  • ドキュメントのコード例を含めます(コード例には ```procscript フェンスブロックが使用されています)
  • 該当する場合は、$status の戻り値とエラーコードに言及します
  • ドキュメントに制限事項(コンポーネントの種類、トリガーコンテキストなど)が記載されている場合は、それも含めます
  • ユーザーの質問が曖昧な場合は、項目への参照を添えて、考えられる解釈を列挙します

よくある検索パターン

「X を行うには?」(タスク指向)
  1. reference/llms.txt でタスクに関連するキーワードを検索します
  2. 該当するカテゴリファイルから、最も関連性の高い項目を Grep で抽出します
  3. 特定のイベントコンテキストが関係する場合は、reference/triggersstandard.md を確認します
  4. ドキュメントのコード例を使い、調査結果を一貫性のある回答にまとめます
「X は何をするの?」(リファレンス検索)
  1. 該当するカテゴリファイルで、項目を直接 Grep します:pattern="^# X$"
  2. 構文、説明、パラメーター、戻り値、例を読み取り、提示します
「このコードの問題は?」(デバッグ)
  1. コードで使用されているステートメント/関数を特定します
  2. 各項目を Grep で検索し、次の点に注意します:
    • 正しい構文(ドキュメントには正確な構文テンプレートが記載されています)
    • 有効なトリガーコンテキスト(一部のステートメントは特定のトリガーでのみ使用できます)
    • 戻り値とエラー条件
    • 「Use」または「Description」セクションに記載された、よくある注意点
「X には何がある?」(列挙)
  1. reference/llms.txt を読み、該当するセクション見出しで絞り込みます
  2. または、該当するカテゴリファイル全体を広いパターンで Grep します

重要な注意事項

  • 生成ファイル:reference/ ディレクトリは、doc/html/ のソースから doc/scripts/convert.py によって再生成されます。これらのファイルを手動で編集しないでください。
  • 統合形式:各 .md ファイルには、--- で区切られた複数の項目が含まれます。個々の項目を読むには、-A コンテキストを指定して Grep します。
  • エンコーディング:ソースファイルは Windows-1252、生成された出力は UTF-8 です。
  • バージョン:このドキュメントが対象とするのは、Uniface 9.7 です。他のバージョンの機能を前提にしないでください。

コメント