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: 

Booking events via RFC

Former Member
0 Kudos

Hi,

I use HRIQ_STUDENT_BOOKING trying to book events as my data transfer effort. When I check the definitions of this RFC through SE37, I see that only Student ID is required. Then, logically, I fill IT_MODULETAB and IT_EVENTTAB tables with relevant data - academic year, period, credits, module id, event id. However, after running the function, only the module is booked for the student but not the actual event attached to it.

Do I miss something? What should I specify so that events would be also booked?

One random idea - maybe I don't quite get what are the required fields for the IT_EVENTTAB table. It lists the following fields:

ID - which I leave empty

SM_OBJID - I specify Module ID

OTYPE - I specify 'E' for the 'course'; also tried to leave it empty.

OBJID - I specify Event ID

REVERSE - I leave it empty.

Another random idea - knowing an RFC that gets the list of booked events for a student would also be helpful.

Thanks.

Janek

1 ACCEPTED SOLUTION

former_member195888
Active Participant
0 Kudos

Hi,

first a general tip: Sometimes you can explore the use of functions if you search how they are used within the standard code, e. g. look where the function (or the core function module of an RFC) is used, set a breakpoint and look at the values in the interface. Of course this is just a try & error approach.

From your threat I could not really see what may not work. Let me describe an example of how the call of HRIQ_STUDENT_BOOKING should work:

iv_objid = Student Object ID

is_mrcontext has to filled with the object ID of the program or the key of the progam type plus the academic year and session key - the booking context is important to maintain the usage information, e. g. whether a course is used for a particular program type

iv_dialog = 'B' (Background)

it_moduletab

PLVAR

SM_OBJID 50001022

BEGDA 00000000

ENDDA 00000000

PRIOX

SMSTATUS 00

STORREASON

STORDATE 00000000

CPATTEMP 3.00000

CPGAINED 0.00000

CPUNIT CRH

NORM_VAL 0.00

BOOKDATE 20071122

BOOKTIME 000000

SMRATING

CHARGEFREE

TRANSFERFLAG

PACKNUMBER 00000000

VARID

PERID 001

PERYR 2006

ALT_SCALEID

ID

BOOKREASON

ANNULMENT

LOCKFLAG

COBOK

it_eventtab=

ID

SM_OBJID 50001022

OTYPE E

OBJID 50006756

REVERSE

___________________________________ ___________________________________

On your other question: On function to retrieve the booked events (and timetable) is HRIQ_RFC_GET_TIMETABLES? HRIQ_AW_ACWORK_GET_RFC gives you generally the complete set of academic work in all status and HRIQ_RFC_STUDENT_MODREG_GET returns the list of registered modules.

I hope that helps somehow.

Regards

Joachim

View solution in original post

2 REPLIES 2

former_member195888
Active Participant
0 Kudos

Hi,

first a general tip: Sometimes you can explore the use of functions if you search how they are used within the standard code, e. g. look where the function (or the core function module of an RFC) is used, set a breakpoint and look at the values in the interface. Of course this is just a try & error approach.

From your threat I could not really see what may not work. Let me describe an example of how the call of HRIQ_STUDENT_BOOKING should work:

iv_objid = Student Object ID

is_mrcontext has to filled with the object ID of the program or the key of the progam type plus the academic year and session key - the booking context is important to maintain the usage information, e. g. whether a course is used for a particular program type

iv_dialog = 'B' (Background)

it_moduletab

PLVAR

SM_OBJID 50001022

BEGDA 00000000

ENDDA 00000000

PRIOX

SMSTATUS 00

STORREASON

STORDATE 00000000

CPATTEMP 3.00000

CPGAINED 0.00000

CPUNIT CRH

NORM_VAL 0.00

BOOKDATE 20071122

BOOKTIME 000000

SMRATING

CHARGEFREE

TRANSFERFLAG

PACKNUMBER 00000000

VARID

PERID 001

PERYR 2006

ALT_SCALEID

ID

BOOKREASON

ANNULMENT

LOCKFLAG

COBOK

it_eventtab=

ID

SM_OBJID 50001022

OTYPE E

OBJID 50006756

REVERSE

___________________________________ ___________________________________

On your other question: On function to retrieve the booked events (and timetable) is HRIQ_RFC_GET_TIMETABLES? HRIQ_AW_ACWORK_GET_RFC gives you generally the complete set of academic work in all status and HRIQ_RFC_STUDENT_MODREG_GET returns the list of registered modules.

I hope that helps somehow.

Regards

Joachim

0 Kudos

Thanks, Joachim. This was indeed helpful.

My own research distilled the following required fields for HRIQ_STUDENT_BOOKING to book events:

<b>Import parameters:</b>

  • IV_OBJID // StudentID

<b>Tables:</b>

IT_MODULETAB:

  • SM_OBJID // Module ID

  • CPATTEMP // # of credits

  • CPUNIT // Credit unit ID. "001" was the underlying code for CRH in our case.

  • PERYR // Booking year ID

  • PERID // Booking session ID

IT_EVENTTAB:

  • SM_OBJID // Module ID

  • OTYPE // 'E' to represent events

  • OBJID // Event ID

The crucial part is to specify object type as 'E'. If this bit is missing, only the module is booked.

Janek.