thinkwise-software-factory-create-control-procedures

Creates and assigns control procedures in Thinkwise Software Factory models via MCP connectors.

5|Updated Aug 25, 2026
One-click install
npx skills add https://github.com/rkortThinkwise/sf-mcp-skills-temp --skill thinkwise-software-factory-create-control-procedures-rkortthinkwise
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: thinkwise-software-factory-create-control-procedures
Source: https://github.com/rkortThinkwise/sf-mcp-skills-temp/tree/main/thinkwise-software-factory-create-control-procedures
Command: npx skills add https://github.com/rkortThinkwise/sf-mcp-skills-temp --skill thinkwise-software-factory-create-control-procedures-rkortthinkwise

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Creating control procedures in a Thinkwise Software Factory model involves many non-obvious steps — choosing the right logic concept and code group, writing dialect-correct SQL for the target RDBMS, wiring static or SQL-based assignments, enabling table- and column-level flags, and running the two distinct code-generation tasks. This Skill guides an AI through that full lifecycle via an MCP connector, preventing verified failure modes like wrong-dialect SQL, missed enablement flags, and conflated generation tasks. ## Core Features & Use Cases - Logic concept and code group selection: Maps requirements (Default, Layout, Context, Trigger, Handler, Task, Badge, Process, Subroutine) to the correct code group, with a decision sequence and per-concept design guidance. - Multi-RDBMS dialect handling: Queries branch_rdbms_type before writing SQL and enforces per-platform templates for SQL Server, Oracle, DB2 iSeries, and PostgreSQL models. - Assignment and generation workflow: Covers static assignment via template_prog_object_item, dynamic SQL-assigned procedures with staging strategies, and the two-step code generation process (task_generate_code_grp then task_add_job_to_generate_object_code). - Use Case: Ask the AI to add a Default control procedure that sets an end date two days after a start date on a task in a PostgreSQL-backed model — it will confirm the plan, check the RDBMS type, write p_-prefixed PostgreSQL variables, assign the template, enable the required flags, and verify the generated code. ## Quick Start Ask the AI to create and assign a control procedure for a specific table or task in your Thinkwise Software Factory model, stating the logic concept you need.

Frequently Asked Questions about thinkwise-software-factory-create-control-procedures

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a control procedure in Thinkwise Software Factory?

Choose the logic concept and code group first, confirm the plan, then create the control_proc row, write a dialect-correct template, and assign it via template_prog_object_item. Finally run task_generate_code_grp followed by task_add_job_to_generate_object_code to produce the generated code.

How do I choose between Default, Layout, Context, Trigger, and Handler logic concepts?

Walk a decision sequence: prefer declarative constraints first, then Default for derived values, Layout for field visibility, Context for action availability, Process for routing, Task for commands, and Trigger or Handler for integrity. The skill's design guide covers good uses, anti-patterns, and testing per concept.

Does Thinkwise support multiple database platforms in one model?

Yes, since 2026.2 models can target SQL Server, Oracle, DB2 iSeries, and PostgreSQL simultaneously. Query branch_rdbms_type first, then write one dialect-specific template per platform and wire each to its own prog_object row keyed by rdbms_type.

Why is my assigned control procedure not running on the table?

Assigning a template does not enable the logic. Check the table-level flags on the tab entity (use_defaults, use_layouts, use_insert_handlers, etc.) and the per-column flags on col (default_input, layout_input), then re-run code generation after enabling them.

Why did code generation succeed but produce no generated code?

Generation is two distinct tasks: task_generate_code_grp only creates missing prog_object placeholder rows, while task_add_job_to_generate_object_code actually queues the job that writes prog_object_generated_code. Confirm generated_code_stale is false and read the generated SQL afterward.

When should I use static versus SQL-typed control procedure assignment?

Use Static for one-off, non-repeating logic with manual per-object assignment. Use SQL (dynamic) assignment when the same template applies to many objects or must track model changes automatically, typically with the managed_via_staging_table strategy.