The ExecutionAck(35=BN) message is an optional message that provides dual functionality to notify a trading partner that an electronically received execution has either been accepted or rejected (DK'd).
Additional detail from the official source
The DK portion of this message does not replace the existing DontKnowTrade(35=Q) message for users who have already implemented the DontKnowTrade(35=Q) message. For users who have not implemented the DontKnowTrade(35=Q) message, through this single message they will be able to accept and DK an ExecutionReport(35=8) message. Users who wish to continue to use the DontKnowTrade(35=Q) message but also want a means to explicitly accept an execution report can also use this message.
Message structure 3905 distinct fields
Source order, including nested components and groups. Group counts precede the repeated entries. “Required here” is relative to the enclosing component or group, not unconditional in the message. A dash means not marked required; conditional requirements remain in the source notes. This is a reference, not a counterparty-specific validator.
Includes nested components and groups. Escape clears the filter.
Indicates the status of the execution acknowledgement. The "received, not yet processed" is an optional intermediary status that can be used to notify the counterparty that the Execution Report has been received.