If not, and match_criteria is provided, then sysno is guessed
If not, and a record is provided, then sysno is got from there */
If not, and match_criteria is provided, then sysno is guessed
If not, and a record is provided, then sysno is got from there */