?? updacrtb.pas
字號:
unit updACRTB;
interface
uses sysUtils, dbtables, Bde, updBase;
type
TUpdateACRTB = class(TBaseUpdateUnit)
private
Query2: TQuery;
FOtherVar: variant;
function update_byACRI03(xQrySource: TQuery): Boolean;
public
constructor Create(xTxnCode: string); override;
destructor Destroy; override;
procedure setDBname(const xName: string); override;
function update(xQrySource: TQuery; xAction: string;
var xMsg: variant; xOtherVar: variant): Boolean;
end;
implementation
constructor TUpdateACRTB.Create(xTxnCode: string);
begin
inherited Create(xTxnCode);
Query2 := TQuery.Create(nil);
end;
destructor TUpdateACRTB.destroy;
begin
inherited destroy;
with self.Query2 do
begin
close;
if Prepared then UnPrepare;
Free;
end;
end;
procedure TUpdateACRTB.setDBname(const xName: string);
begin
inherited;
if self.Query2.DatabaseName <> xName then
self.Query2.DatabaseName := xName;
end;
function TUpdateACRTB.update(xQrySource: TQuery; xAction: string;
var xMsg: variant; xOtherVar: variant): Boolean;
begin
Result := True;
self.saveVar(xAction, xOtherVar);
FOtherVar:= xOtherVar;
try
setDBName(xQrySource.databaseName);
if compareText(self.SourceTxnCode, 'TXNACRI03') = 0 then
Result := update_byACRI03(xQrySource)
else
begin
end;
finally
self.Query1.close;
self.Query1.UnPrepare;
end;
xMsg := self.Msg;
end;
function TUpdateACRTB.update_byACRI03(xQrySource: TQuery): Boolean;
begin
Result := True;
self.Msg[0] := 'skip';
self.Msg[1] := 'ACRTB';
with xQrySOurce do
self.Msg[2] := fieldByName('TD001').asString+' '+FieldByName('TD002').asString+' '+
fieldByName('TD003').asString;
with self.Query1 do
begin
close;
SQL.clear;
RequestLive := True;
SQL.add('select * from ACRTB ');
SQL.add(' WHERE TB001=:TB001 AND TB002=:TB002');
ParamByName('TB001').asString := xQrySource.FieldByName('TD006').asString;
ParamByName('TB002').asString := xQrySource.FieldByName('TD007').asString;
prepare;
end;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -