Class: cReportDS
Class Hierarchy:
cObjectcReportcReportDSDirect Known Subclasses:
cBasicReport, 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
data_set
Functions and Procedures
AddReportsToServer()
See notes in DoRunReport. Added in 11.1 Attaches all reports to all DDs just once in outer report
Construct_Object()
Integer Img#
integerDoRunReport()
Augmented to add this object from the Data_set's user interface
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
// Augmented to direct read to server
//
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
**Procedure rebuild_constraints
** Integer srvr#
** Get server to srvr#
** if srvr# eq 0 forward send rebuild_constraints
** Else Begin
** send rebuild_constraints to srvr#
** if (Constrain_by_Report_State(self)) Send constrain
** End
**End_procedure
**
**Procedure constrain
** integer srvr# file# Prnt_srvr#
** Get server to srvr#
** If Srvr# eq 0 Forward send constrain // this'll set object relates to constraint
** else begin
** if (pbChildReport(self)) begin
** delegate get Server to Prnt_srvr#
** CONSTRAIN (Main_File(srvr#)) RELATES TO ;
** (if(prnt_srvr#=0,;
** Main_File(Parent(self)), Main_file(Prnt_Srvr#)))
** end
** 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 DoRunReport 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)
Refresh()
Display - required
RemoveReportsFromServer()
See notes in DoRunReport. 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
integerValidate_items(integer fg)
called during request_validate to DDO
References (1):