Requesting your suggestions on the below queries.
1. Reg: Dead Code analysis:
We are looking for RAA related metrics called “Dead Code” – this is at the program level(That is, dead code needs to be viewed at each program level; while we have a huge number of programs to be analyzed for dead code.
Is there any Custom query which can generate this metric (program name, number # of dead code LOC, dead code stmt numbers \ line) for Cobol programs on application level. Or is there any DMH table source for this?
2. List of programs calling a given program:
There is a diagram which shows the Fan-Out (no. of sub-programs) for any Cobol program.
We need to know if there is a way we can get the Fan-in (List of all programs that call this program).
Is this present in any tables DMH table?
Pinned topic (1) Dead code metrics + (2) List of programs calling a program
Answered question This question has been answered.
Unanswered question This question has not been answered yet.
Updated on 2012-11-07T10:11:58Z at 2012-11-07T10:11:58Z by SystemAdmin
jcdelmo 0600012HN8370 Posts
Re: (1) Dead code metrics + (2) List of programs calling a program2012-10-29T18:54:16ZThis is the accepted answer. This is the accepted answer.1) In the current release of RAA (v220.127.116.11) the 'dead code' (or more properly stated *unreachable code*) attribute for COBOL statements is not persisted in the data base. The 'dead code' detection is on-demand - a program-at-a-time, therefore the custom query your are after can not be written. The next fix pack (v18.104.22.168 - due out within the next two weeks) will persist the Code Review for COBOL rule results (including unreachable code) in the DMH_NUM_PROPERTY table. At that point custom queries may be written to access these metrics.
2) The following SQL will give you all the programs that call a given program, assuming you replace ? with the comp_unit_id of the called program. It is the same query used on the Program detail page's Control transfer tab when the calling programs radio button is selected.
SELECT cu.comp_unit_id , cu.comp_unit_name FROM $(SCHEMA).dmh_compile_unit cu , (SELECT DISTINCT cu.comp_unit_id FROM $(SCHEMA).dmh_run_unit_cntnt ruc , $(SCHEMA).dmh_compile_unit cu WHERE ruc.target_cu_id = ? AND ruc.caller_cu_id = cu.comp_unit_id) cu1 WHERE cu.comp_unit_id = cu1.comp_unit_id ORDER BY cu.comp_unit_name