We want to enforce that a student can not book a class (register) if it is before they have been admitted to the university. (Admitted in Fall, tries to take class in Summer.) It was suggested that we use the Admission Restricted field on IT 1730-Program Data. It is our understanding that if this is checked, the badi Check_admission_allowed is now used.
Question does invoking this badi make any other code not valid? A year ago, it is being remembered that it made other things (cant be specific on things because the original person that did the testing is gone and I cant break anything) did not work right. Our programmer remembers that other code is not checked when this box is checked and just the badi is used. (He is referencing work he did on this from 2006.) He stated that the code that is checking other things would have to be included in the badi and it would be to complex.
Is this true? It appears to work the way we want but since some concern has been voiced by my co-workers, I thought Id double check.
You can use the BAdI method CHECK_ADMISSION_ALLOWED to implement an additional admission check for registration for programs (which happens in your case as background activity) with restricted admission. You get the result of the standard check as input along with other information and then you can add other rules to override the result if necessary. You only have to implement this method if the standard admission check does not fully meet your requirements. This means that the BAdI won't change anything in our standard checks if it is not implemented.
However one thing you may want to check is whether the "other things" are outside of our standard code, i. e. being a modification. Then indeed it could happen, that your modification of the standard code is affected. I suggest that someone of your technical team or a consultant looks into your system of what has been implemented. Also you should test thoroughly whether the system supports your use cases once you switch on the flag.
Admission prerequisites for the different use cases are interestingly very dependent on specific institutional rules - especially if one looks at issues like the admission term in relation to the registration term. Also change of programs sometimes have specific rules (e. g. a master subsequent to a bachelor program). This is why the BAdI is offered.