11-22-2007 11:17 AM
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
11-22-2007 10:31 PM
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
11-22-2007 10:31 PM
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
11-23-2007 7:01 AM
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.