The start up program is just an autostart job in QCTL. Look at the sbs description and find the jobd which should be qstrupjd. Then look at that jobd and check the user. The user needs to have enough authority to access and run the start up program you have created and to start any services, subsystems or jobs that you are autostarting. Usually your operators group profile works well. If that doesn’t work display your jobd (in text) and copy paste it to this board and I may be able to tell you what is wrong.
The QSTRUP program is generally run under the QPGMR user profile.
WRKJOB QSTRUPJD will display the userid running the program then view the joblog.
The error listed will explain why your startup program is failing.
You can change the jobd as suggested or CHGPGM to USRPRF *OWNER.