Thanks for your replay ergun sir, i followed your way of clicked method.
below code:
public void clicked()
{
NumberSequenceTable numberSequenceTable;
Counter counter;
// MenuItemMessageAction menuItemMessageAction = new MenuItemMessageAction();
void createNumSeqTable(NumberSequenceCode _numberSequence, name _description, NumberSequenceFormat _format)
{
NumberSequenceScope numberSeqScope;
NumberSequenceTable numberSeq;
LETransactionNumSeq transactionNumSeq;
LETransactionSetup setups = LETransactionSetup::find(_description);
select firstonly numberSeqScope
where numberSeqScope.DataArea == curExt();
numberSeq.initValue();
numberSeq.NumberSequence = _numberSequence;
numberSeq.Txt = _description;
numberSeq.Continuous = NoYes::Yes;
numberSeq.Format = _format;
numberSeq.NumberSequenceScope = numberSeqScope.RecId;
numberSeq.AnnotatedFormat = NumberSeq::createAnnotatedFormatFromFormat(_format);
numberSeq.NextRec = 1;
numberSeq.Lowest = 1;
numberSeq.Highest = 999999;
if(!numberSeq.RecId)
{
numberSeq.doInsert();
if(setups.RecId)
{
select firstonly forupdate transactionNumSeq
where transactionNumSeq.RefTransSetup == setups.RecId;
if(transactionSeqNum.RecId)
{
ttsbegin;
transactionNumSeq.TransNumSeq = numberSeq.RecId;
ttransactionNumSeq.doUpdate();
counter ;
ttscommit;
}
}
}
}
select count(RecId) from numberSequenceTable
where (numberSequenceTable.NumberSequence == strFmt('%1-%2',strUpr(curExt()), 'OATR')
|| numberSequenceTable.NumberSequence == strFmt("%1-%2", strUpr(curExt()),"OCTR")
|| numberSequenceTable.NumberSequence == strFmt("%1-%2", strUpr(curExt()),"LETR")
|| numberSequenceTable.NumberSequence == strFmt("%1-%2", strUpr(curExt()),"ABTR")
|| numberSequenceTable.NumberSequence == strFmt("%1-%2", strUpr(curExt()),"TETR")
|| numberSequenceTable.NumberSequence == strFmt("%1-%2", strUpr(curExt()),"ODTR")
|| numberSequenceTable.NumberSequence == strFmt("%1-%2", strUpr(curExt()),"OTTR")
|| numberSequenceTable.NumberSequence == strFmt("%1-%2", strUpr(curExt()),"WATR")
|| numberSequenceTable.NumberSequence == strFmt("%1-%2", strUpr(curExt()),"LOTR")
|| numberSequenceTable.NumberSequence == strFmt("%1-%2", strUpr(curExt()),"ESTR")
|| numberSequenceTable.NumberSequence == strFmt("%1-%2", strUpr(curExt()),"VATR")
|| numberSequenceTable.NumberSequence == strFmt("%1-%2", strUpr(curExt()),"LRTR")
|| numberSequenceTable.NumberSequence == strFmt("%1-%2", strUpr(curExt()),"BTTR"));
if(numberSequenceTable.RecId != 13)
{
if(box::yesNo('Are you sure want to generate the number sequence?', dialogButton::Yes, 'Confirmation') == dialogButton::Yes)
{
createNumSeqTable(strFmt("%1-%2", strUpr(curExt()),'OATR'), "Additions", 'OATR-######');
createNumSeqTable(strFmt("%1-%2", strUpr(curExt()),"OCTR"), "cost", 'OCTR-######');
createNumSeqTable(strFmt("%1-%2", strUpr(curExt()),"LETR"), 'Encashment', 'LETR-######');
createNumSeqTable(strFmt("%1-%2", strUpr(curExt()),"ABTR"), 'Absence', 'ABTR-######');
createNumSeqTable(strFmt("%1-%2", strUpr(curExt()),"TETR"), 'Ticket Encashment', 'TETR-######');
createNumSeqTable(strFmt("%1-%2", strUpr(curExt()),"ODTR"), 'Deductions', 'ODTR-######');
createNumSeqTable(strFmt("%1-%2", strUpr(curExt()),"OTTR"), 'Overtime', 'OTTR-######');
createNumSeqTable(strFmt("%1-%2", strUpr(curExt()),"WATR"), 'Warning', 'WATR-######');
createNumSeqTable(strFmt("%1-%2", strUpr(curExt()),"LOTR"), 'Loan', 'LOTR-######');
createNumSeqTable(strFmt("%1-%2", strUpr(curExt()),"ESTR"), 'EES', 'ESTR-######');
createNumSeqTable(strFmt("%1-%2", strUpr(curExt()),"VATR"), 'leave', 'VATR-######');
createNumSeqTable(strFmt("%1-%2", strUpr(curExt()),"LRTR"), 'Leave Return', 'LRTR-######');
createNumSeqTable(strFmt("%1-%2", strUpr(curExt()),"BTTR"), 'Business', 'BTTR-######');
info(strFmt("Number sequence inserted : %1", counter));
}
}
else
{
throw Error("Numbser sequence already exists!");
}
super();
LETransactionSetup_ds.research(true);
LETransactionNumSeq_ds.research(true);
Above code works great but if created the USMF company then i will go to an another company read only i don't wanna create.
Above code USMF - 13 created , DAT 13 created sometime USSI another 4 only created but table level 13 created form level 4 only show i don;t know what that issue that is why i moved only create the record USMF remaining company based on data area id only i want to.
O/p : I'm expecting output If its I take first only example (USMF-OATR) if its DAT (DAT-OATR) if its USSI (USSI-OATR)
I hope its clear you and Mr.Nikolaos