BLVCKFX
7/25/2019 - 10:13 AM

DLX_DisableApprVendExpired

Disable Approved Vendor. Delete last value from batch?

// DLX_SCMBUG3533_VendorIFControls - 20171018 - Mirco Z
[
    DataContractAttribute
]
class DLX_DisableApprVendExpiredDC
{
    str packedQuery;
}

public Query getQuery()
{
    return new Query(SysOperationHelper::base64Decode(packedQuery));
}

[DataMemberAttribute,
    AifQueryTypeAttribute('_packedQuery', querystr(DLX_PdsApprovedVendorList))
]
public str parmQuery(str _packedQuery = packedQuery)
{
    packedQuery = _packedQuery;
    return packedQuery;
}

public void setQuery(Query _query)
{
    packedQuery = SysOperationHelper::base64Encode(_query.pack());
}
// DLX_SCMBUG3533_VendorIFControls - 20171018 - Mirco Z
class DLX_DisableApprVendExpiredController extends SysOperationServiceController
{
    DLX_DisableApprVendExpiredDC    disableApprVendExpiredDC;
}

public void initFromCaller(Args _args)
{
    this.initializeFromArgs(_args);
}

public static DLX_DisableApprVendExpiredController construct()
{
    return new DLX_DisableApprVendExpiredController();
}


public static void main(Args args)
{
    DLX_DisableApprVendExpiredController disableApprVendExpiredController = DLX_DisableApprVendExpiredController::construct();
    ;

    disableApprVendExpiredController.initFromCaller(args);

    if(disableApprVendExpiredController)
    {
        xSysLastValue::deleteLast(disableApprVendExpiredController);
        disableApprVendExpiredController.startOperation();
        xSysLastValue::deleteLast(disableApprVendExpiredController);
    }
}
// DLX_SCMBUG3533_VendorIFControls - 20171018 - Mirco Z
class DLX_DisableApprVendExpiredService extends SysOperationServiceBase
{
}

[SysEntryPointAttribute(true)]
public void disableApprVendor(DLX_DisableApprVendExpiredDC  _disableApprVendExpiredDC)
{
    DLX_DisableApprVendExpiredMng disableApprVendExpiredMng = DLX_DisableApprVendExpiredMng::construct();
    ;

    if(disableApprVendExpiredMng)
    {
        disableApprVendExpiredMng.parmDisableApprVendExpiredDC(_disableApprVendExpiredDC);
        disableApprVendExpiredMng.run();
    }
}
// DLX_SCMBUG3533_VendorIFControls - 20171018 - Mirco Z
class DLX_DisableApprVendExpiredMng
{
    DLX_DisableApprVendExpiredDC    disableApprVendExpiredDC;
}

public DLX_DisableApprVendExpiredDC parmDisableApprVendExpiredDC(DLX_DisableApprVendExpiredDC _disableApprVendExpiredDC = disableApprVendExpiredDC)
{
    disableApprVendExpiredDC = _disableApprVendExpiredDC;

    return disableApprVendExpiredDC;
}

public void run()
{
    QueryRun                queryRun;
    PdsApprovedVendorList   approvedVendorList;
    ;

    try
    {
        if (this.parmDisableApprVendExpiredDC() )
        {
            queryRun = new QueryRun(disableApprVendExpiredDC.getQuery());

            while (queryRun.next() )
            {
                approvedVendorList = queryRun.get(tableNum(PdsApprovedVendorList));

                if (approvedVendorList.ValidTo      <  systemDateGet()
                    && approvedVendorList.ValidTo   != dateNull() )
                {
                    ttsBegin;
                    approvedVendorList.selectForUpdate(true);

                    approvedVendorList.validTimeStateUpdateMode(ValidTimeStateUpdate::Correction);
                    approvedVendorList.DisableFlag_dlx  = NoYes::Yes;

                    approvedVendorList.update();
                    ttsCommit;

                    info(strFmt("@DLX2821", approvedVendorList.PdsApprovedVendor, approvedVendorList.ItemId));
                }
            }
        }
    }
    catch
    {
        throw error("@SYS70403");
    }
}

public static DLX_DisableApprVendExpiredMng construct()
{
    return new DLX_DisableApprVendExpiredMng();
}