Apps Common Descriptive Flexfields
Purpose
Provide a focused DFF setup-data route without owning CSV transport.
Read DFF setup-task guidance before
acting. Use shared.setup-export.task-level-export only for export and
core.data-loader only for approved FSM CSV import. For DFF metadata
deployment or deployment status, use only core.fusion-api.rest-api-client
as specified in the DFF reference.
Segment and Context Design
For a DFF context or global/context-sensitive segment create or update, read
defaulting rules and resolve only values the
user omitted. Show the supplied, derived, and still-pending values in a
user-visible DFF blueprint before preparing an FSM ZIP. Include ColumnName
(Table Column) for every global and context-sensitive segment, showing the
resolved column or its pending status and reason. Keep ShortPrompt out of the
user-visible blueprint as specified in the defaulting rules. Return the resolved
design and its provenance to the calling task workflow for project-workspace
persistence. A displayed default is a proposal subject to the validation and
approval gates below; it does not authorize a Fusion write.
Read mandatory validations before preparing an FSM ZIP
or handing a supplied ZIP to Data Loader. Validate the requested design against
the exact DFF task context, the current task-scoped export, and the candidate
package. When a segment has a value-set code, invoke
core.fusion-api.apps-common.value-sets for the live definition check described
there. Return each failed or unresolved check to the calling task workflow and
stop before import approval or deployment. These DFF checks supplement, and do
not replace, core.data-loader source validation and Task Hook approval.
DFF Deployment Workflow
Read the REST Deployment and Status section of DFF setup-task guidance. Deployment compiles the configured DFF; it is not a CSV import. After the Import DFF Setup Data workflow has completed successfully, enter this workflow for the imported DFF. Do not deploy after an incomplete or failed import.
- Preflight the confirmed target environment,
application_id, DFFflexfield_code, optionalforce_deploymentvalue ("true"or"false"), and the caller's required Fusion privilege. When the calling skill omits it, setforceDeploymentto the documented default,"false". Preserve URL encoding in the flexfield code; do not infer or substitute identifiers. - For a live deployment, present the exact target environment, POST endpoint,
and immutable JSON payload, then obtain explicit approval immediately before
invoking the REST client. Submit with
fusion_rest_client.py, using the default Fusionscopefor/fscmUI/applcoreApi. - Capture
jobId,jobStatus,deploymentStatus,validationStatus,validationReport,deploymentErrorMessage, and the response links. Do not retry a POST without explicit approval. - For status, call the documented
getDeploymentStateGET endpoint through the REST client using the same resolved identifiers. Poll only when asked, using the bounded interval and timeout in the reference; stop at a terminal response or timeout.
Preflight and Error Handling
Preflight task identity, catalog eligibility, artifact shape, target
environment, and required approval with the selected workflow. Classify an
unsupported task as catalog_or_metadata_mismatch and an unapproved import as
approval_blocker. Redact credentials, tokens, and sensitive setup data from
diagnostics.
For deployment, classify malformed identifiers or force values as
input_validation; a 401/403 after the REST client's one refresh attempt as
authorization_or_privilege; HTTP failures as fusion_api_error; and a
nonterminal result at the polling limit as process_timeout. Return the last
safe status and job ID to the calling project workflow; never persist OAuth
tokens, secrets, Authorization headers, or sensitive setup data.


