How can i do this problem ? one click, should shift up or down one line.
thanks in advance
static void changeSorting(SequenceNumber _sequenceNumber, boolean moveUp, FormDataSource _fds)
{
HEX_IntellectualRightsSetupTable nextRecord, selectedRecord;
SequenceNumber oldLine, nextLine, tmpLine = maxInt();
;
if(moveUp)
{
select firstOnly nextRecord order by RecourseOrderNumber desc
where nextRecord.RecourseOrderNumber < _sequenceNumber;
}
else
{
select firstOnly nextRecord order by RecourseOrderNumber
where nextRecord.RecourseOrderNumber > _sequenceNumber;
}
if(!nextRecord)
return;
try
{
ttsBegin;
selectedRecord = HEX_IntellectualRightsSetupTable::find(_sequenceNumber, true);
nextRecord.selectForUpdate(true);
oldLine = selectedRecord.RecourseOrderNumber;
nextLine = nextRecord.RecourseOrderNumber;
nextRecord.RecourseOrderNumber = tmpLine;
nextRecord.update();
selectedRecord.RecourseOrderNumber = nextLine;
selectedRecord.update();
nextRecord.selectForUpdate(true);
nextRecord.RecourseOrderNumber = oldLine;
nextRecord.update();
ttsCommit;
}
catch(Exception::Error)
{
throw error(“Hata”);
}
_fds.executeQuery();
_fds.findRecord(selectedRecord);
}
static HEX_IntellectualRightsSetupTable find(SequenceNumber _sequenceNumber, boolean _forupdate = false)
{
HEX_IntellectualRightsSetupTable intellectualRightsSetupTable;
;
intellectualRightsSetupTable.selectForUpdate(_forupdate);
select firstonly intellectualRightsSetupTable
index keyIdx
where intellectualRightsSetupTable.RecourseOrderNumber == _sequenceNumber;
return intellectualRightsSetupTable;
}