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: 

Extended Booking Checks for Module included in two Module Groups

Former Member
0 Kudos

Dear all,

We have the following case:

1. In the Academic Structure, we have one Module (SM) linked with two Module Groups (CG1 and CG2), in the same Program of Study (SC).

2. The two CGs have two different Extended Booking Check Rule Containers with different rules each.

3. When the student tries to book the module, both Extended Booking Checks are executed, as the module belongs to both Module Groups.

However, we want to be able to execute only one Extended Booking Check, according to the CG under which the student books the module, because we want to execute a different rule in each case.

Is there a way to assign a CG to the module booking and evaluate only the Extended Booking Checks under this CG?

Thank you in advance for your help.

1 ACCEPTED SOLUTION

dirk_pape3
Participant
0 Kudos

Hi Maria,

it is not clear from what you write, how the system could derive under which CG the student booked the SM.

Do you have a special process for module booking in place, where a CG is chosen in advance and then the SM?

Or are those two CGs specializations the student took in advance to booking?

If you mean a specialization CG you might be able to check in the EBC which one the student took, to decide whether checks should be done or not.

If you have a special process in place, you need to know, where the "context CG" is stored in your module booking process and see, whether you can check this information in EBC.

If you are looking for a standard solution to book a shared SM and automatically register a context (e. g. CG) you might consider to use the X-listing relation (511) between SM.

Instead of putting the SM below both CG with relation 500 you can create a new SM for the second CG and create a reference to the old one (relation A511):

Then students from the 1st CG are meant to take the original SM and students from the other CG should take the new one, which shares all D and CE of the original.

Regards,

Dirk

View solution in original post

10 REPLIES 10

dirk_pape3
Participant
0 Kudos

Hi Maria,

it is not clear from what you write, how the system could derive under which CG the student booked the SM.

Do you have a special process for module booking in place, where a CG is chosen in advance and then the SM?

Or are those two CGs specializations the student took in advance to booking?

If you mean a specialization CG you might be able to check in the EBC which one the student took, to decide whether checks should be done or not.

If you have a special process in place, you need to know, where the "context CG" is stored in your module booking process and see, whether you can check this information in EBC.

If you are looking for a standard solution to book a shared SM and automatically register a context (e. g. CG) you might consider to use the X-listing relation (511) between SM.

Instead of putting the SM below both CG with relation 500 you can create a new SM for the second CG and create a reference to the old one (relation A511):

Then students from the 1st CG are meant to take the original SM and students from the other CG should take the new one, which shares all D and CE of the original.

Regards,

Dirk

0 Kudos

Hello Dirk and thank you for your answer,

the CGs are not specializations, they are groupings of our modules for rule purposes.

For example:

CG1: 1st Semester Electives   (The student has to book 3 electives)

CG2: 2nd Semester Electives  (The student has to book 1 elective)

The exact same module is under both CGs and the student may book it either in the 1st or the 2nd semester. As the booking does not have a "CG context" but just the Program and Program Type, both rules are evaluated.

Regarding the x-listing 511 relation, I think it would not suit our case, as the module is only one, with the same academic characteristics in both semesters.

So, based on your reply, we seem to need a custom process for the student to be able to select the CG under which they book the module and evaluate this CG context in the implementation for the BAdI hrpiq00ext_rulechk.

Is there a way to perform this special selection during the Student Booking in PIQST00 (with BAdIs, User exits or any other way)?

RobJonkers
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Maria;

This might be interesting for you to know--> as of SAP enhancement package 7 for SAP ERP 6.0*, Industry Extension Public Services, business function Enhanced Extended Module Booking Checks (ISHERCM_EXT_RULECHECK) the Extended Booking Check enables you to maintain prerequisites and corequisite requirements for modules.


The Extended Booking Check provides the following enhancements:


- Define rules per program of study**


During module booking, the system determines the related program of study and validates its rules.


- Define rules per module group:


During module booking, the system determines the related module group and validates its rules.

**Specify; for which program(s) of study the rule(s) defined for a module apply:

During module booking, the rule will then only apply for the given context (program of
study).

The relationship betweent he rule container and the program(s) of study is stores in a new infotype Program context for rules(1719). Depending on your setup, you may have to allow authorization for this infotype for the enhancements to work properly. The relationship between the rule container and the program(s) of study is stores in a new infotype Program context for rules (1719). Depending on your setup, you may have to allow authorization for this infotype for the enhancements to work properly.

The Business Add-In (BAdI) BAdI: Adjust Behavior of Extended Booking Check allows you to adjust the validation logic. For more information, see Customizing for Student Lifecycle Management under Processes in Student Lifecycle Management -> Module Booking -> Extended Booking Checks -> BAdI: Adjust Behaviour of Extended Booking Check.

Hope this helps

Rob

* PS functionality is (also) availabe via note 1792890 (please check pre-reqs!): https://websmp230.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/sno/ui_entry/entry.htm?param=69765F6D6F6465...

0 Kudos

Hello Rob and thank you for your answer,

we are indeed in EHP 7, so we have implemented the Extended Booking Check per Module Group already.

The problem exists when a module is under two module groups, but we want to execute the requirements of only one module group. We want to be able to have the CG in the context of the Module Booking, so that we can evaluate the CG and select only the the rule container of this CG. Is there a way to do this?

0 Kudos

Hi Maria,

so you allow 1st semester students to book only if their list contains (at most) 3 modules from CG1, and 2nd semester students are allowed to book if they have 1 module of CG2 in the basket? Correct?

if "student ist in n-th semester" can be concluded from some student or study data, maybe you can add a requirement to CG1's and CG2's EBCs, which takes the semester into account the student is in.

Despite using X-listing I do not know another standard way to automatically register a module booking in context of a module group.

If you had your own booking process (self service or back office) you might guide the users to 1st select a CG and then a SM. Then you could write the CG into a customer include of additional data of the module booking relation where you have it persistently stored.

But this would not work in (unmodified) PIQST00/PIQST01 module booking because it does not allow to choose a CG prior to SM booking.

Dirk

0 Kudos

Hi Dirk,

The business need for the semester is not a check on the semester of the student, but on the semester of the module!

For example, two students may be in the same semester (3rd) and they may select modules from the 1st and the 3rd semester (CG1 and CG2). Both CGs include the same module. The first student selects the module under the CG1 and the second student selects the module under the CG2. Different rules should apply in each case.

So we have to find a way in PIQST10 (or create a custom process) to input this information.

Before proceeding with this solution, we would like to also explore the x-listing. Could you please propose any documentation on this subject?

Many thanks for your help.

0 Kudos

Hi Maria,

Sorry, I do not know about any documentation of for business use cases of x-listing (= cross listing = Relation 511 between SM and SM). It is mentioned in the SLCM Academic Structure Cookbook and it can be maintained in PIQ_ACSTRUC.

For what I know (and I have used this also on some sites) x-listing an SM which "refers to" anotther SM (relation 511) shares the components D and CE of the SM it refers to. So students booking the referring SM (SMx) can book E and SE and open assessment processes on the CE of the original SM (SMo).

In the special case used for sharing while preserving CG-context, you would put the SMo into one of the CGs (e.g. CG1), create a SMx in CG2 and let it refer to the original one.

Some students now book SM and the others book SMx. For both SM now the containing CG is not ambiguous any more.

You surely see, that Introducing x-listing newly into a productive academic structure needs a lot of testing, since you have to check all your evaluation pathes whether they have to follow crosslisting or not.

Dirk.

0 Kudos

Thank you everyone for your help.

We will proceed with a custom solution to enable the user to select the Module Group under which he books the Module.

0 Kudos

Hi Rob,

just want to ask how can we related a RC to a module group as i can only see relate RC to program of study button on the screen,

but in ur post u have mentioned that it can be relate to a module group as well,

Thanx

RobJonkers
Product and Topic Expert
Product and Topic Expert
0 Kudos

dear Farhan;

Via transaction PIQEXTCHECK and via the selection of Module group: see below.