Участник
Регистрация: 09.08.2005
Адрес: Moscow
|
Как сформировать RecId
Цель учебная (Далеко посылать не надо, там я была и мне там не понравилось)
Пишу в Query Anal...(Это рабочий пакет - можно запустить. Задачка выполнима на типовой Аксапте)
Тут в принципе следующее
1. На входе передаются зачения переменных (в будущем они должны передаваться из аксапты)
2. Создаю в табличке строчку RTSLSessionTrans
3. Создаю в табличке строки LedgerTrans
(Условно - это будет что-то вроде трансляции)
Как бы хорошо, но одна проблема - как получить RecId для новых строк? (Если это не единственная проблема , то скажите, чего я еще не поняла)
Я увидела таблицу SystemSequences. Не понимаю значения строк и столбцов. Подскажите, что они значат? Может я маюсь над легкой задачей.
Код: use AxTest
DECLARE @DateFrom dateTime,
@DateTo dateTime,
@AreaIdFrom varchar(3),
@AreaIdTo varchar(3),
@DateTSL datetime,
@TimeTSL int,
@TimeTSLTo int,
@UserTSL varchar(5),
@MODIFIEDTSID varchar(4),
@SessionTransId varchar(20),
@RuleGroupId varchar(20)
SET @DateFrom = '2008-1-1'
SET @DateTo = '2008-1-10'
SET @AreaIdFrom = '01d'
SET @AreaIdTo = 'My'
SET @DateTSL = '2008-1-1'
SET @TimeTSL = 48534
SET @TimeTSLTo = 48534
SET @UserTSL = 'myna'
SET @MODIFIEDTSID = 150
SET @SessionTransId = 'NC12154'
SET @RuleGroupId = '2008New'
INSERT INTO bmssa.RTSLSessionTrans
(
FromDate,ToDate,StatusImport,StatusExport,NumTrans,SessionTransId,RuleGroupId,
ClassId, InDate,
MODIFIEDDATE,MODIFIEDTIME,MODIFIEDBY,MODIFIEDTRANSACTIONID,
CREATEDDATE,CREATEDTIME,CREATEDBY,RECID,DataAreaId
)
VALUES (
@DateTSL,@DateTSL, 1, 1, 100, @SessionTransId,@RuleGroupId,
16475,@DateTSL,
@DateTSL,@TimeTSL, @UserTSL,@MODIFIEDTSID,
@DateTSL,@TimeTSLTo,@UserTSL,50897999,@AreaIdFrom
)
INSERT INTO bmssa.LedgerTrans
(
TransDate, Voucher, Txt, AmountMst, AmountCur, CurrencyCode,
Posting, Correct,Crediting,PeriodCode,AmountMSTSecond,BondBatchTrans_RU,BondBatch_RU,
Dimension, Dimension3_,Dimension4_,Dimension5_,Dimension6_,Dimension7_,Dimension8_,
--change coloumn
MODIFIEDDATE,MODIFIEDTIME,MODIFIEDBY,MODIFIEDTRANSACTIONID,
CREATEDDATE,CREATEDTIME,CREATEDBY,CREATEDTRANSACTIONID,
inDate,
Dimension2_,
RTSLFromCompanyID,
RTSLSessionTransId,
RTSLFromTransId,
AccountNum,
DataAreaId,
recId
)
SELECT TransDate, Voucher, Txt, AmountMst, AmountCur, CurrencyCode,
Posting, Correct,Crediting,PeriodCode,AmountMSTSecond,BondBatchTrans_RU,BondBatch_RU,
Dimension, Dimension3_,Dimension4_,Dimension5_,Dimension6_,Dimension7_,Dimension8_,
--change coloumn
@DateTSL,@TimeTSL,@UserTSL,@MODIFIEDTSID,--MODIFIEDTRANSACTIONID
@DateTSL,@TimeTSLTo,@UserTSL,@MODIFIEDTSID,--CREATEDTRANSACTIONID
TransDate, --cahnge inDate,
@AreaIdFrom, --change Dimension2_
DataAreaId, --change RTSLFromCompanyID,
@SessionTransId, --change RTSLSessionTransId,
recId, --change RTSLFromTransId,
AccountNum,
@AreaIdTo, --change DataAreaId
recId + '18000'
FROM bmssa.LedgerTrans AS LT1
where LT1.TransDate >= @DateFrom
and LT1.TransDate <= @DateTo
and LT1.DataAreaId = @AreaIdFrom
and LT1.PeriodCode = 1
and LT1.RecId NOT IN (SELECT RTSLFromTransId FROM bmssa.LedgerTrans)
|