136 lines
3.6 KiB
ObjectPascal
136 lines
3.6 KiB
ObjectPascal
unit srvVentasEnProceso_Impl;
|
|
|
|
{----------------------------------------------------------------------------}
|
|
{ This unit was automatically generated by the RemObjects SDK after reading }
|
|
{ the RODL file associated with this project . }
|
|
{ }
|
|
{ This is where you are supposed to code the implementation of your objects. }
|
|
{----------------------------------------------------------------------------}
|
|
|
|
interface
|
|
|
|
uses
|
|
{vcl:} Classes, SysUtils,
|
|
{RemObjects:} uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions,
|
|
{Ancestor Implementation:} DARemoteService_Impl,
|
|
{Used RODLs:} DataAbstract3_Intf,
|
|
{Generated:} VARELA_Intf, uDAClasses, uDABusinessProcessor,
|
|
uDAInterfaces, uDADataTable, uDABINAdapter, uDADataStreamer;
|
|
|
|
type
|
|
{ TsrvVentasEnProceso }
|
|
TsrvVentasEnProceso = class(TDARemoteService, IsrvVentasEnProceso)
|
|
DABINAdapter: TDABINAdapter;
|
|
schVentasEnProceso: TDASchema;
|
|
private
|
|
protected
|
|
function GetData(const DatasetName: String; const Columns: String; const Params: String; const MaxRecords: Integer): Binary;
|
|
function GetSchema(const DatasetName: String; const Columns: String): Binary;
|
|
end;
|
|
|
|
implementation
|
|
|
|
{$R *.dfm}
|
|
uses
|
|
{Generated:} VARELA_Invk, uDataModuleServer, uSchemaUtilsServer;
|
|
|
|
const
|
|
CAMPOS_SUMA = '#INICIO#FINAL#IMPORTE#';
|
|
|
|
procedure Create_srvVentasEnProceso(out anInstance : IUnknown);
|
|
begin
|
|
anInstance := TsrvVentasEnProceso.Create(NIL);
|
|
end;
|
|
|
|
{ TsrvVentasEnProceso }
|
|
|
|
function TsrvVentasEnProceso.GetData(const DatasetName: String;
|
|
const Columns: String; const Params: String;
|
|
const MaxRecords: Integer): Binary;
|
|
var
|
|
ds : IDADataset;
|
|
i : integer;
|
|
pars: TStringList;
|
|
parnames: array of string;
|
|
parvalues: array of Variant;
|
|
begin
|
|
pars := TStringList.Create;
|
|
result := Binary.Create;
|
|
try
|
|
try
|
|
pars.Text := Params;
|
|
SetLength(parnames, pars.Count);
|
|
SetLength(parvalues, pars.Count);
|
|
for i := 0 to (pars.Count-1) do begin
|
|
parnames[i] := pars.Names[i];
|
|
parvalues[i] := pars.Values[pars.Names[i]];
|
|
end;
|
|
|
|
{ Prepares the parameter arrays}
|
|
|
|
with TReplicarDataSet.Create do
|
|
begin
|
|
SourceDataSetName := DatasetName;
|
|
Service := Self;
|
|
Columnas := Columns;
|
|
ColumnasQueSuman := CAMPOS_SUMA;
|
|
try
|
|
ds := GetNewDataSet;
|
|
finally
|
|
Free;
|
|
end;
|
|
end;
|
|
|
|
// Fills the parameters (if any are specified)
|
|
if (Length(parnames) > 0) then
|
|
begin
|
|
for i := 0 to (Length(parnames) - 1) do
|
|
ds.ParamByName(parnames[i]).Value := parvalues[i];
|
|
end;
|
|
|
|
ds.Open;
|
|
ServiceAdapter.WriteDataset(Result, ds, [woRows], MaxRecords);
|
|
except
|
|
FreeAndNIl(result);
|
|
raise;
|
|
end;
|
|
finally
|
|
FreeANDNil(pars);
|
|
end;
|
|
end;
|
|
|
|
|
|
function TsrvVentasEnProceso.GetSchema(const DatasetName,
|
|
Columns: String): Binary;
|
|
var
|
|
ds : IDADataset;
|
|
begin
|
|
result := Binary.Create;
|
|
try
|
|
with TReplicarDataSet.Create do
|
|
begin
|
|
SourceDataSetName := DatasetName;
|
|
Service := Self;
|
|
Columnas := Columns;
|
|
ColumnasQueSuman := CAMPOS_SUMA;
|
|
try
|
|
ds := GetNewDataSet;
|
|
finally
|
|
Free;
|
|
end;
|
|
end;
|
|
|
|
ServiceAdapter.WriteDataset(result, ds, [woSchema]);
|
|
except
|
|
FreeAndNIl(result);
|
|
raise;
|
|
end;
|
|
end;
|
|
|
|
initialization
|
|
TROClassFactory.Create('srvVentasEnProceso', Create_srvVentasEnProceso, TsrvVentasEnProceso_Invoker);
|
|
|
|
finalization
|
|
|
|
end.
|