← ClaudeAtlas

gen-aplicador-sxlisted

Gera um "aplicador de SXs" (.prw ADVPL) determinístico a partir de um spec JSON, aplicando customizações de dicionário (SX2 tabelas, SX3 campos, SIX índices, SX6 params MV_*, SX7 gatilhos, SX1 perguntas, SXA pastas, SX5 tabelas genéricas) em modo EXCLUSIVO — no lugar de um RecLock ingênuo. Use ao criar/alterar campo, tabela, índice, parâmetro, gatilho ou pergunta via dicionário. NÃO use para gerar fonte de regra de negócio (use advpl-code-generator) nem para diagnosticar SX existente (use advpl-dicionario-sx).
JoniPraia/plugadvpl · ★ 13 · Data & Documents · score 75
Install: claude install-skill JoniPraia/plugadvpl
# `/plugadvpl:gen-aplicador-sx` Gera um **aplicador de SXs**: um `.prw` ADVPL **determinístico** (mesma spec → mesmos bytes) que aplica mudanças de dicionário (SX/SIX) em **modo EXCLUSIVO** (`MyOpenSM0` / `RpcSetEnv` / `X31UpdTable`), com **backup** antes, em vez de um `RecLock` solto em cima do SX. O CLI monta o fonte a partir de um spec JSON — sem LLM, sem random/Date. > **Por que não RecLock direto no SX?** Atualizar dicionário fora de update estruturado corrompe metadados (X3_ORDEM fora de sequência, índice físico não dropado quando a chave muda, parâmetro sobreposto). O aplicador roda exclusivo + backup, calcula a ordem, dropa índice físico quando preciso, e é insert-aware (não duplica nem sobrescreve o que já existe). ## O que é o spec JSON ```json { "numero": "099999", "sx2": [ ... ], "sx3": [ ... ], "six": [ ... ], "sx6": [ ... ], "sx7": [ ... ], "sx1": [ ... ], "sxa": [ ... ], "sx5": [ ... ] } ``` Só `numero` é obrigatório; **todas as seções SX são opcionais** — emite só as presentes (ordem canônica sx2 → sx3 → six → sx6 → sx7 → sx1 → sxa → sx5). O `.prw` final vira `User Function A{numero}`. > **Descobrir o formato pelo próprio CLI** (útil em qualquer agente/IA, mesmo sem esta skill): `gen-aplicador-sx --example` imprime um spec completo e válido pronto pra editar; `gen-aplicador-sx --schema` imprime as chaves aceitas por tipo (JSON, sempre em sync com o gerador). Fluxo típico: `gen-aplicador-sx --example > spec.json` → editar → `gen-aplicado