01Read the exact number being used
With its digits and its zeros. Check it has no letters, spaces or odd characters and that the line starts properly with the program letter. A typing mistake while registering is the simplest explanation and has to be ruled out first.
02Check it is inside the machine's general range
Look up in your series' manual how many digits the program number accepts and whether the long program number option is installed. If the program came from another machine with longer numbers, it will not go in here as it is and it has to be renumbered, updating every call that references it as well.
03Find out whether the number falls in a protected range
The parameters that define the builder's protected program range exist on practically every series, although their specific number and behaviour change; look them up in your control's parameter manual as program protection. If your number falls inside, choose another one outside that range: that is the correct move, not unprotecting the range.
04Check whether the number is already in use
List the directory and look for the number. If it already exists, depending on how the machine is configured, the registration attempt may be rejected rather than asking whether to overwrite. Choose another number or deliberately delete the old one, after checking it is backed up.
05If it stopped working suddenly, suspect a parameter change
If numbers that had always been used are no longer accepted, somebody has touched the program protection or a different backup was restored. Confirm it by comparing the parameters against the machine's good copy. The correction is made by maintenance with a backup taken first, not by adjusting by eye.
06Renumber deliberately, not in desperation
If the number has to change, change it in every call, on the setup sheet and in the server copy, and do it all at once. A half-renumbered program produces the subprogram not found alarm next week, and then it costs twice as much to work out what happened.