Restoring a deleted sales order

static void restoreDeletedSO(Args _args)
    {
        SalesTableDelete    salesTableDelete;
        SalesLineDelete     salesLineDelete;
        SalesTable          salesTable;
        SalesLine           salesLine;
        ;
        SalesTableDelete = SalesTableDelete::find('00450_036', true);
        ttsbegin;
        switch (salesTableDelete.Cancelled)
        {
            case Voided::Voided :
                salesTable  = conpeek(salesTableDelete.SalesTable, 1);
                salesTable.insert();
                while select forupdate salesLineDelete where salesLineDelete.SalesId == salesTableDelete.SalesId
                {
                    salesLine = conpeek(salesLineDelete.SalesLine, 1);
                    salesLine.insert();
                }
                salesTableDelete.delete();
                break;
            case Voided::linesVoided :
                while select forupdate salesLineDelete where salesLineDelete.SalesId == salesTableDelete.SalesId
                {
                    salesLine = conpeek(salesLineDelete.SalesLine, 1);
                    salesLine.insert();
                    salesLineDelete.delete();
                }
                salesTableDelete.delete();
                break;
       }
       ttscommit;
    }

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.