Here is a custom Validate script you can use in the Last Name field. It uses the characters from the last name field and converts them to upper case and uses a date format of yyyymmdd. You can change this to suit. The name of the control number field is assumed to be "Control Number", so change that if you're using a different field name.
// Custom Validate script for Last Name field
(function () {
// Get a reference to the control number field
var fCN = getField("Control Number");
// If this field is blank, blank the Control Number field
if (!event.value) {
fCN.value = "";
return;
}
// Determine the prefix for the CN field
var sPrefix = (event.value + "***").substr(0, 4).toUpperCase();
// Determine the date string
var sDate = util.printd("yyyymmdd", new Date());
// Set the Control Number field value
fCN.value = sPrefix + sDate;
})();
This script will be triggered whenever the Last Name field value is changed. If you want it to happen at some other time, post again with more info.