SAP for Higher Education and Research Discussions
Spark conversations about student engagement, research optimization, and administrative efficiency using SAP in higher education and research. Join in!
cancel
Showing results for 
Search instead for 
Did you mean: 

Selection Method Recursion Through Academic Object Hierarchies

Former Member
0 Kudos

Hi,

My university's academic structure is such that the subrequirements that we wish to implement for SLCM audit map to CG's, which have one or more additional layers of CG's between themselves and the SM's of interest. From what I've seen, selection method 'SMQ1' does not recursively descend through module group hierarchies, but expects modules directly beneath any specified groups. So, for module proposals for a given subrequirement, one must explicitly specify every "leaf node" module group rather than a more natural "branch node" module group. Given the sheer number of leaf nodes in many cases, I think that this is error-prone (not to mention tedious).

Correspondingly, the 'ZCRH_MULTIPLECG' condition implementation, given in the SLCM Handbook appendix produced by Michael, could benefit from recursive descent as well.

At first glance, it does not appear to be that difficult to write an auxiliary z-function that would recursively build up an in-memory table of module groups from a root node. But, my question is: does such a function already exist somewhere in SLCM? I would rather leverage existing code, and this seems like something that must be useful in other parts of the code base - somewhere.

Thanks,

Eric

1 ACCEPTED SOLUTION

former_member583013
Active Contributor
0 Kudos

Eric,

Excellent idea! You are referring to the Selection Method for choosing the 'Module Defaults', I assume? This is the one which suggests to the student/advisor what courses might fulfill the requirement for them.

For the Multiple CG Sub-requirement implementation I published, the BADi code (which finds out which courses should be counted from a CG), the recursion is already there, although now I see that I left something out of the document which explains it fully. I'll amend that accordingly. Basically you an see from the BAdi code that an evaluation path is used to find the relevant modules. In the evaluation path, I expect to see CG -> CG as well as CG - > SM. That is how I set it up, at least, which allows for unlimited recursion.

Regarding SMQ1, you are probably best off writing a new Selection Method that just takes the CG as input, using the same evaluation path to get the nested SM objects from it. Maybe while I am amending the Degree Audit Handbook Appendix with the evaluation path info, I'll put in a code block for you!

Michael

Edited by: Michael Fan on Feb 7, 2008 10:23 AM

View solution in original post

2 REPLIES 2

former_member583013
Active Contributor
0 Kudos

Eric,

Excellent idea! You are referring to the Selection Method for choosing the 'Module Defaults', I assume? This is the one which suggests to the student/advisor what courses might fulfill the requirement for them.

For the Multiple CG Sub-requirement implementation I published, the BADi code (which finds out which courses should be counted from a CG), the recursion is already there, although now I see that I left something out of the document which explains it fully. I'll amend that accordingly. Basically you an see from the BAdi code that an evaluation path is used to find the relevant modules. In the evaluation path, I expect to see CG -> CG as well as CG - > SM. That is how I set it up, at least, which allows for unlimited recursion.

Regarding SMQ1, you are probably best off writing a new Selection Method that just takes the CG as input, using the same evaluation path to get the nested SM objects from it. Maybe while I am amending the Degree Audit Handbook Appendix with the evaluation path info, I'll put in a code block for you!

Michael

Edited by: Michael Fan on Feb 7, 2008 10:23 AM

0 Kudos

Thanks for the reply, Michael. Sorry for mischaracterizing your BAdI. I didn't study the code in enough depth to see the recursive aspect. (I started teaching myself some ABAP about two months ago, but I still don't read or write it with the same level of proficiency as C/C++, Fortran, Python, or the Mathematica language.)

If you are planning on putting a recursive version of 'SMQ1' in an updated appendix, then I will hold off on doing anything on my own.

Best Regards,

Eric