Function: build999()
build999(
spec):X12Interchange
build999 - assemble a 005010X231A1 Implementation Acknowledgment
around the supplied envelope + functional-group spec.
Safety guards (refused via AckBuildError):
- Functional-level
Adisposition paired with any per-transaction non-Aresponse, or any per-transaction segment-error / syntax-error payload anywhere in the spec → "./errors.js".ACK_BUILD_ERROR_CODES.X12_ACK_ACCEPT_WITH_ERRORS. - Per-transaction
Adisposition paired with non-emptysegmentErrors/syntaxErrorCodes→ same. - AK9-04 (accepted) > AK9-03 (received), AK9-03 > AK9-02 (declared), or response-list length not equal to AK9-03 → "./errors.js".ACK_BUILD_ERROR_CODES.X12_ACK_COUNT_MISMATCH.
Parameters
spec
Returns
Example
import { build999 } from "@cosyte/x12";
const ix = build999({
envelope: {
senderId: "SENDER", receiverId: "RECEIVER",
interchangeDate: "250101", interchangeTime: "1200",
interchangeControlNumber: "000000001",
groupControlNumber: "1", transactionSetControlNumber: "0001",
},
functionalGroup: {
functionalIdCode: "HC", groupControlNumber: "1", versionRelease: "005010X222A2",
disposition: "A",
numberOfTransactionSets: 1, numberOfReceivedTransactionSets: 1, numberOfAcceptedTransactionSets: 1,
transactionResponses: [
{ transactionSetIdCode: "837", transactionSetControlNumber: "0001", disposition: "A" },
],
},
});