Resolve HELD Commands
Question: What are HELD commands and how do I resolve them in DC305?
Answer: HELD commands are transactions that could not be processed because of an error. Instead of being discarded, they are saved for review so you can correct them and keep your herd records accurate. HELD commands must have their errors resolved so they can be reposted and entered into the cowfile.
DC305 processes many types of commands—typed in by you, sent from other systems, or generated automatically. When a command fails, for example because an animal ID does not exist, an event name is unknown, or a birth date does not match, it is stored as a HELD command. The command is saved together with an error message so you know what went wrong. This prevents incomplete data from being lost or silently corrupting your records.

HELD commands can occur for several reasons. The most common are:
-
An animal ID that does not exist in the herd file.
-
An event name that does not match your setup (for example, %PNEU vs. %PNEUMO).
-
A mismatch in recorded birth dates between different systems.
-
A malformed command or missing reference that DC305 cannot process.
These issues are often caused by out-of-sync data or simple entry mistakes, especially when transactions come from external systems.

When HELD commands are present, a red HELD button displays in the toolbar (in place of the Server button). The HELD button also shows a number that indicates how many HELD commands are pending. For example, if there are four HELD commands pending, the button displays Held: 4.
Additionally, whenever you have pending HELD commands, a reminder window displays every ten minutes until all the HELD issues are resolved. If you don't want to process the commands at that time, you can delay processing by clicking Ask me in 10 minutes.

Click the HELD button to review the pending HELD commands. Alternatively, you can choose Process them now when prompted by the reminder. Either method opens the HELD Command Processor where you can review the pending HELD commands and take various actions to resolve them.
Each entry in the HELD Command Processor shows the following:
-
Date: The date the command being HELD was executed.
-
ID: The animal ID number.
-
Error: The reason why the command was HELD. For example, the animal ID does not exist, the animal has been sold or died, etc.
-
Command: The syntax of the failed command.

HELD commands need to be edited before they can be reposted; that is, the error that caused them to be HELD needs to be fixed before they can be executed again. To edit a HELD command from the list, double-click it. A SERVER window displays in which you can change the syntax of the command. For example, you can change an invalid animal ID to one that exists in the herd. When you're done editing the command, click OK.

Once a HELD command is edited, it can be reposted. However, simply editing a HELD command does not automatically repost it again, nor does it clear it from the list. The HELD Command Processor offers a number of options on the right side of the screen for resolving HELD commands, including options to repost them so that DC305 runs them again.
Some of the options require you to select specific HELD commands from the list before performing them. To select a HELD command, check the box to the left of the applicable command.
The HELD Command Processor has two main options for reposting commands after you've edited them:
-
Repost All Commands: This option sets all HELD commands to execute again, whether or not they are selected. A window displays asking how long you want to delay processing the commands.
-
Save and Exit: This option applies any changes you have made and closes the HELD Command Processor. Edited commands are reposted, while deleted commands are permanently removed. A window displays asking how long you want to delay processing the commands.
In addition to the reposting options, there are several other functions you can perform on the listed commands:

Unchecks all HELD command entries in the list.

Inverts the current selections in the grid (selected rows are unchecked and unchecked rows are selected).

Permanently removes all checked commands. These will be deleted and not reposted.

Opens the Event Remapping window so you can match incoming event codes (for example, %PNEU) to existing event names in your herd, or set them to be ignored.
This function is useful when events come from an outside source (such as a heifer ranch) that uses different event names than your herd file. For example, an incoming %PNEU event can be remapped to your herd's %PNEUMO event.
-
Once an event is remapped, all HELD commands with that event are updated.
-
The mapping is saved, so future commands using the same event are automatically handled.
-
You can also choose to ignore the event. Ignored events are not stored in the herd file and do not display as errors again.

Lets you enter filter criteria to highlight rows in the grid automatically.

Search for specific text within the commands and replace it (useful when the same correction applies across multiple HELD commands).

Allows small mismatches between incoming birth dates and existing herd records to pass without error.
This function is useful when animal IDs match but the recorded birth dates differ slightly between systems (for example, due to scanning or auto-assignment at a heifer ranch). Instead of requiring an exact match, the Relax Birthdates option rewrites the command to accept a date range.
For example, an incoming record with BDAT=12/15/19 might be adjusted to allow any date from 12/12/19 through 12/18/19. It also permits a birth date of zero (BDAT=0). If the animal's record in your herd falls within that range, the command can be processed successfully after reposting.

Permanently remove all HELD commands without processing them.

Opens the list of HELD commands in Notepad for viewing or printing.

Closes the HELD Command Processor without applying any edits or deletions.

Whenever you repost HELD commands (using the Repost All Commands button, for example), DC305 prompts you to enter a delay period before the commands are reposted. For example, you might delay by a few minutes, an hour, or longer if you need to wait for a manager or technician to become available. You can select any number of minutes in the prompt window, or select 0 minutes to repost the commands immediately.