Actually the DSPOBJD does show the source used but you must have the detail set to *Service
DSPOBJD OBJ(OBJ NAME) OBJTYPE(*PGM) DETAIL(*SERVICE) This works interactively at least haven’t tried in batch or from a called program yet. I don’t see why it wouldn’t work though.
Since ILE programs aren’t compiled, they have no source information in their object descriptions. That’s why DETAIL(*SERVICE) doesn’t show source. Modules are compiled. To see source related to the program, you need to look at the modules that are bound together to make up the program. DSPPGM will display the module list and each module can be displayed to see source info.
To process the info see the List ILE Program Information (QBNLPGMI) API.
Call the API to list the modules into a user space. Loop through the list to process each module entry. Each entry includes source file and member names.
A *MODULE object is created from source, so DSPOBJD will show source file information.