When you execute several Transfers in separate EXEC-Steps you get an XCOMINIT and XCOMLOG Dataset for each Step separately:
JobName JobId Queue Datasets
XCOMSCED JOB03732 OUTPUT 9
------------------------------------------
Cmd DDname Stepname Procstep Status
________ JESMSGLG JES2 HELD
________ JESJCL JES2 HELD
________ JESYSMSG JES2 HELD
________ XCOMINIT STEP01 HELD
________ XCOMLOG STEP01 HELD
________ XCOMINIT STEP02 HELD
________ XCOMLOG STEP02 HELD
________ XCOMINIT STEP03 HELD
________ XCOMLOG STEP03 HELD
How can this be restricted to one XCOMINIT and one XCOMLOG only?
This is nothing which can be changed by XCOM, this is how JES works: for each EXEC-Step all necessary Datasets are created and put into the Job Output.
If you want to avoid this and need the Joboutput of several XCOM-Transfers in one Dataset then you can use the Parameter NEWXFER instead of several Steps. The advantage of NEWXFER is that you only need to specify the changed parameters for the following transfer, all Parameters not specified are taken from the previous transfer or from Defaults.
A more detailed explanation of parameter NEWXFER can be found in the Using Manual for XCOM for z/OS 12.0, available at this link: NEWXFER