And what will you do when you get service calls for two different people named "Smith"?
A last name or even a full name is not guaranteed to be unique. Even worse, people (and companies) change their names.
So you will likely need to use something more sophisticated than just a last name in order to find the correct contact record for each new service call record.
Basic data model should be:
Contacts::__pkContactID = ServiceCalls::_fkContactID
From there, you have a number of options for how to create new records in ServiceCalls and link them to records in Contacts.
One method is to use a portal to ServiceCalls located on your Contacts layout. You can perform a find for a customer, use address and phone number type info to confirm that you have the correct customer if your find pulls up more than one contact record and then simply fill in the ServiceCalls fields in the portal to create a new ServiceCalls record that is automatically linked by ID to the current contact record.
Another method is to format the _fkContactID field field on the ServiceCalls layout as either a drop down list or popup menu of contact IDs and names. You set up the value list with the "use values from a field" option and specify __pkContactID as the source of values for the "first field" and select a Name field (One that combines at least first and last names) as "Field two". This allows you to select a contact by name, but enter an ID number.
You can then add fields from Contacts to your ServiceCalls layout and they will display data from the selected contact when you select a contact from the value list on the _fkContactID field.
And these are just the "beginner level" methods for linking a service call record to a particular contact record.
Alright I worked on your second suggestion, which sounds more like what I need, and the drop down menu isn't working. I changed the fields so that the pk contact fields for the ones I need to be auto populated are on the fk layout. the dropdown list field is a fk field (servicecall) the others are pk fields (from Contacts but on the ServiceCalls layout)? the drop down menu gets its info from the pk field for contact::FirstLast but is displayed as the ServiceCalls::FirstLast field on the layout.
Wondering what I'm doing wrong.
The __pkContactID field should be defined to auto-enter a serial number or be a text field with Get ( UUID ) specified to enter a "Universal Unique ID" text string. If you have existing records in your table, they won't automatically update to get such a value, this change will only affect new records. If you have existing records, go to a layout based on Contacts, Show All Records and then use Replace Field contents to assign either a serial number or UUID (depending one which option you decided to use) to update them with ID's.
Then your value list should work if set up correctly. In Manage | Value Lists, it should resemble this screen shot taken from the Known Bugs List Database: