Class: Report_DS
Class Hierarchy:
cObjectReportReport_DSDirect Known Subclasses:
BasicReport, Class Definition
Properties
IntegerAuto_Fill_State
Required not used
IntegerDeferred_State
When used with DDs, deferred_state will really not work properly and
should therefore be avoided.
makes less traffic
IntegerServer
**// I had toyed with supporting constraints in both data_sets and
**// the report object. I decided against this because data_sets get
**// too complicated when you deal with saves and deletes, and, I felt
**// it was best to work "within the system" and let Data_sets do what
**// they want.
**//
**// Constrain_by_Report_State: If true and using data_sets
**// nesting of reports determines the
**// relates_to constraint. Server constraints
**// are always respected
**Property Integer Constrain_by_Report_State FALSE // alter with care
data_set
Functions and Procedures
AddReportsToServer()
See notes in Start_report. Added in 11.1 Attaches all reports to all DDs just once in outer report
Construct_Object()
Integer Img#
End_Construct_Object()
Procedure ReadByRowId RowId riRec
Handle hoDD
integer iFile
Get Server to hoDD
If not hoDD begin
Forward send ReadByRowId riRec
end
Else Begin
Get Main_File of hoDD to iFile
If (Deferred_state(self)) begin
Send ReadbyRowId of hoDD iFile riRec // if deferred
end
Else Begin
Send FindByRowId of hoDD iFile riRec // if not deferred
end
End
End_procedure
Procedure Read_By_Recnum Integer Rec#
Integer srvr# File#
Get Server to Srvr#
If Srvr# eq 0 Forward send Read_by_Recnum Rec#
Else Begin
Get Main_File of Srvr# to File#
If (Deferred_state(self)) ;
Send Read_by_Recnum to srvr# File# rec# // if deferred
Else Send Find_by_Recnum to srvr# File# rec# // if not deferred
End
End_procedure
Augment to set Report Object's main_file if server exists
integerEnd_Report(integer rpt_Status)
Augmented to remove this object from the Data_set's user interface
See notes in Start_report about 11.1 change
Entry_Update()
Update from report to datafile.
Find_Init()
Procedure: Find_Init
set up this file for finding... This clears the needed buffers
IntegerFind_Rec()
Augment to find record in Data_set if Server exists
ReadByRowId(RowId riRec)
Procedure : ReadByRowId
Augmented to direct read to server
Refresh()
Display - required
RemoveReportsFromServer()
See notes in Start_report. Added in 11.1 detaches all reports from all DDs just once in outer report
Request_Delete()
Supports deletes. Should be called in body
Request_Save()
supports saves
integerStart_Report()
Augmented to add this object from the Data_set's user interface
integerValidate_Items(integer iFg)
Could be sent by validate_items from DDO. -required
References (1):