While the above factors need to be considered, this next approach would be the most likely choice for many cases. This approach assumes that you have already built the partitioned table definition and initialized all the component areas.
In this approach, you would still need to run DBUTLTY EXTRACT to get the data into individual files - one for each source table.
You would then use DBUTLTY MASSADD to load each of the Extract-format files into the partitioned table, using the name of the parent table. The MUF would then put the data into the appropriate partition. Here is an example:
//SYSIN DD *
//EXTRFILE DD DISP=SHR,DSN=<your extracted file>,BUFNO=50
The first function is a DEFRAG to help optimize the index before all the new data is loaded. If the partitioned tables will be in a new database, this is not needed. The source data is read from the DD statement EXTRFILE, and then the MASSADD will load it into table xxx, where xxx is the Parent table name. As a performance consideration, the data should be processed using the largest extract first, and the smallest last. Note the addition of BUFNO=50 on the EXTRFILE DD statement, to help improve performance reading the data.