Friday 15 December 2017

Run base batch to clean undecided number Seq in status List

class NumsSeq extends RunBaseBatch
{
    RefRecId                numSeqId;
    NumberSequenceList      numberSequenceList;

    DialogField dlgNumSeqId;

    #define.CurrentVersion(4)
    #localmacro.CurrentList
    dlgNumSeqId
    #endmacro
}

...................................................................................

protected Object dialog()
{
DialogRunbase dialog;

dialog = super();
dialog = super();
dlgNumSeqId = dialog.addFieldValue(extendedTypeStr(RefRecId),numSeqId);

return dialog;
}

..................................

public boolean getFromDialog()
{
boolean ret;

ret = super();
numSeqId = dlgNumSeqId.value();

return ret;
}

//////////////////////////////

public container pack()
{
    return [numSeqId];
}

,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

/// <summary>
///    Contains the code that does the actual job of the class.
/// </summary>
public void run()
{
    while select forUpdate numberSequenceList where numberSequenceList.NumberSequenceId == numSeqId
        &&   numberSequenceList.Status == NumStatus::Active//5637147121
    {
        ttsBegin;
        if(numberSequenceList.cleanAction() == NumberSeqCleanAction::Undecided )
        {
            numberSequenceList.delete();
        }

        ttsCommit;
    }
}


...........................


public boolean unpack(container packedClass)
{
[numSeqId] = packedClass;
    return true;

}

.........................................

public static void main(Args args)
{
    NumsSeq numsSeq = new NumsSeq();

    if(numsSeq.prompt())
    {
        numsSeq.run();
    }
}

No comments:

Post a Comment