tranutil is a collection of routines for working with student transcript information. Utilities are provided for extracting labels, extracting grades and setting grades into a student record.
There are two primary flavors of calls to tranutil -
tranutil hides the details of how various grades are
used for a given course. As such, you should never directly manipulate
the stu-transcript-mark records - only use tranutil. If the
underlying format of the grade storage changes, you will be safely isolated.
tranutil requires that when a stu-transcript-course
record is passed to it, the school year, building, course and course level are
all set. A record with any of these items blank may cause
tranutil to fail.
The following is a catalog of the availble services with a brief discussion of
what the service provides and the parameters available to it. Optional
parameters to a given service are enclosed in square brackets ([like
this]).
DEFINE [NEW]
CLEAN_UP
You must make sure that all exit paths in your program properly
invoke the CLEAN_UP service. If not, your program will consume an
unnecessarily large amount of memory which can only be freed by exiting the
Progress session completely!
SET GRADING-POLICY policy
Supported graing policies are 'Letter', 'Pass/Fail' or 'Numeric'.
To cause tranutil to return to honoring the grading
policy of the individual course/schedule, pass a grading policy of ?
(NULL, not a quoted question mark).
GET TRAN-LABEL-LIST year-id bldg-id label-list
GET TRAN-IDENT-LIST year-id bldg-id ident-list
Idents are used when you need to access a specific label or grade or need to
update a specific grade. If you look at them, they may look numeric, but you
would be putting yourself into a bad spot if you tried to treat them as
numbers. The interpretation of them may change in the future.
All you know about idents is the Nth ident in a list uniquely identifies the
Nth label returned from TRAN-LABEL-LIST or the Nth grade returned by
TRAN-GRADE-LIST. If you are not planning on updating the grades or doing some
really odd processing, you will probably never need to use idents.
GET TRAN-GRADE-LIST stu-tran-course grade-list
GET TRAN-DISPOSITION-LIST stu-tran-course disposition-list
GET MARK-LABEL-LIST year-id bldg-id label-list
Unlike TRAN-LABEL-LIST, this will return all marks, including the period
marks, exam or average marks,
GET DISPOSITION-IDENT-LIST year-id bldg-id ident-list
Idents are used when you need to access a specific label, grade or disposition,
or need to update a specific grade. If you look at them, they may look numeric,
but you would be putting yourself into a bad spot if you tried to treat them
as numbers. The interpretation of them may change in the future.
GET MARK-IDENT-LIST year-id bldg-id ident-list
Idents are used when you need to access a specific label or grade or need to
update a specific grade. If you look at them, they may look numeric, but you
would be putting yourself into a bad spot if you tried to treat them as
numbers. The interpretation of them may change in the future.
All you know about idents is the Nth ident in a list uniquely identifies the
Nth label returned from MARK-LABEL-LIST or the Nth grade returned by
MARK-GRADE-LIST. If you are not planning on updating the grades or doing some
really odd processing, you will probably never need to use idents.
GET MARK-GRADE-LIST stu-tran-course grade-list
GET MARK-DISPOSITION-LIST stu-tran-course disposition-list
GET IDENT-LABEL year-id bldg-id ident the-label
GET IDENT-GRADE stu-tran-course ident the-grade
GET IDENT-DISPOSITION stu-tran-course ident the-disposition
GET IDENT-GRADE-LEVEL stu-tran-course ident course-level-grade
GET IDENT-COURSE-DISPOSITION stu-tran-course ident course-disposition
SET IDENT-GRADE stu-tran-course ident the-grade okay
SET IDENT-DISPOSITION stu-tran-course ident the-disposition okay
GET COURSE-ATTRIBUTES stu-tran-course attr-list
Possible attributes are:
GET YEAR-ATTRIBUTES stu-tran-year attr-list
Possible attributes are:
Implementation
tranutil is implemented as a persistent procedure, tranutil.p and a wrapper include file, tranutil.i. As it is a persistent
procedure, you must be sure to use the CLEAN_UP before the
instantiating procedure exits.
This must be present in any module which will be using any if the
tranutil services. The instantiating procedure must use the
NEW keyword. Any child procedures should omit the NEW keyword or they will
start another instance of tranutil.
This must be invoked by the procedure that created the current instance of
tranutil. It releases all allocated resources and terminates
the instance associated with the current procedure. Generally, the module
that used DEFINE NEW is the same one that should have a CLEAN_UP call.
Used to constrain grade being passed and returned by
tranutil to a specific grading policy. Usually, the
grading policy is determined on an individual course/schedule
basis. This will override the course/schedule setting and force all
interactions with tranutil to be of the passed
grading policy.
Returns a list of labels for the
Returns a list of 'idents' for the
Returns a list of 'grades' for the
Returns a list of 'dispositions' for the
Returns a list of labels of all the marks for the passed school year and
building. The school year and building are passed as ID values. label-list
is returned as a comma delimted list of labels for all the marks associated
with the year.
Returns a list of 'idents' of all the marks with enabled dispositions for the
passed school year and building. The Year and building are both passed as ID
values. The return ident-list is a comma delimited list of ident values of all
enabled marks possible for the year.
Returns a list of 'idents' of all the marks for the passed school year and
building. The Year and building are both passed as ID values. The return
ident-list is a comma delimited list of ident values of all marks possible for
the year.
Returns a list of 'grades' of all the marks for the passed
stu-transcript-course buffer. The passed 'stu-transcript-course' buffer must
have the building, stu-seq, course-id, course-level-id and school-year-id set
before being used for this service. The return grade-list is a comma
delimited list of grades values of all marks for the school year associated
with the passed buffer. If a grade was not recorded or available, a blank or
empty entry in the list is still reserved to keep the association with the
labels or idents returned by the MARK-LABEL-LIST and MARK-IDENT-LIST services.
Returns a list of 'dispositions' for the marks for the passed
stu-transcript-course buffer. The passed
'stu-transcript-course' buffer must have the building, stu-seq, course-id,
course-level-id and school-year-id set before being used for this service.
The return disposition-list is a comma delimited list of disposition values for the
all marks for the school year associated with the passed bufffer. If a mark
doesn't use a disposition then a value of "" if returned for the mark. If a
mark uses a disposition, but it hasn't been set then "?" will be returned.
Returns a specific label based on the passed 'ident' as it's applies to the
passed year and building. The school year and building are passed as ID
values. 'ident' is a string with a SINGLE identifier. Other than
extracting identifiers from a list of identifiers, you should never try to
interpret an identifer. Treat it as a black box or you'll be very sorry. The
resulting label is returned in 'the-label'
Returns a specific, single 'grade' for the passed stu-transcript-course buffer
and the passed 'ident'. The passed 'stu-transcript-course' buffer must have
the building, stu-seq, course-id, course-level-id and school-year-id set
before being used for this service. The 'ident' is a SINGLE identifier
extracted from a list of identifiers previously returned from the
tranutil service. The returned grade may be blank if there
was no corrosponding grade for the passed course.
Returns a specific, single 'disposition' for the passed stu-transcript-course buffer
and the passed 'ident'. The passed 'stu-transcript-course' buffer must have
the building, stu-seq, course-id, course-level-id and school-year-id set
before being used for this service. The 'ident' is a SINGLE identifier
extracted from a list of identifiers previously returned from the
tranutil service. The returned disposition may be blank if there
was no corrosponding disposition for the passed course.
This service is identical to IDENT-GRADE, except that instead of returning a
textual grade, it returns a 'course-level-grade' buffer. This can be useful
when you need to fetch other data related to a grade (such as grade points,
rankability, etc). If there is no grade for the passed course, the returned
buffer will be empty (i.e. NOT AVAILABLE).
This service is identical to IDENT-DISPOSITION, except that instead of returning a
textual disposition, it returns a 'course-disposition' buffer. This can be useful
when you need to fetch other data related to a disposition. If there is no disposition
for the passed course, the returned buffer will be empty (i.e. NOT AVAILABLE).
Used to set or modify grades for a passed stu-transcript-course buffer using
the passed 'ident'. The passed 'stu-transcript-course' buffer must have
the building, stu-seq, course-id, course-level-id and school-year-id set
before being used for this service. The 'ident' is a SINGLE identifier
extracted from a list of identifiers previously returned from the
tranutil service. 'the-grade' must either be a valid grade
for the given course or be NULL (a single, unquoted question mark) to write an
empty grade for a mark. 'okay' is returned TRUE if the grade was successfully
written or FALSE if there was an error. The most typical (>99.99% of the
time) is a bad or unknown grade being passed. A bad 'ident' can also cause
the problem.
Used to set or modify dispositions for a passed stu-transcript-course buffer using
the passed 'ident'. The passed 'stu-transcript-course' buffer must have
the building, stu-seq, course-id, course-level-id and school-year-id set
before being used for this service. The 'ident' is a SINGLE identifier
extracted from a list of identifiers previously returned from the
tranutil service. 'the-disposition' must either be a valid grade
for the given course or be NULL (a single, unquoted question mark) to write an
empty disposition for a mark. 'okay' is returned TRUE if the disposition was successfully
written or FALSE if there was an error. The most typical (>99.99% of the
time) is a bad or unknown disposition being passed. A bad 'ident' can also cause
the problem.
This service returns a list of attributes that gives some information about
the course passed. Whenever possible, you should rely on these attributes
rather than trying to devine the information yourself.
This service returns a list of attributes that gives some information about
the transcript year passed. Whenever possible, you should rely on these attributes
rather than trying to devine the information yourself.
Last update: January 20, 1996