Tuesday, January 8, 2019

Buf2Buf with updating salesids in one field

static void CopyDataFromSourceTable(Args _args)
{
    ASAP_DeliveryNoteHeader    headerTable,updateH;
    ASAP_DeliveryNoteLines     lineTable;
    ANA_DeliveryListTmpHist    sourceTable,listSource;
    ASAPG_DeliveryNote         previousId;
    Name                       localReportId;
    str                        salesId;
    ;

    while select sourceTable
    {
        if(previousId != sourceTable.ReportId)
        {
            headerTable.ReportId         = sourceTable.ReportId;

            headerTable.CustAccount      = sourceTable.CustAccount;
            headerTable.CustName         = sourceTable.CustName;
            headerTable.CustAddress      = sourceTable.CustAddress;
            headerTable.CustomerCountry  = sourceTable.CustomerCountry;
            headerTable.CustomerPhone    = sourceTable.CustomerPhone;
            headerTable.CustomerTeleFax  = sourceTable.CustomerTeleFax;
            headerTable.UserName         = sourceTable.UserName;
            headerTable.LocationIds      = sourceTable.LocationId;

            lineTable.Address            = sourceTable.Address;
            lineTable.Bag                = sourceTable.Bag;
            lineTable.BagQty             = sourceTable.BagQty;
            lineTable.BuyerName          = sourceTable.BuyerName;
            lineTable.BuyerPhoneNum      = sourceTable.BuyerPhoneNum;
            lineTable.CargoName          = sourceTable.CargoName;
            lineTable.Carton             = sourceTable.Carton;
            lineTable.CartonQty          = sourceTable.CartonQty;
            linetable.ConsignmentDetails = sourceTable.ConsignmentDetails;
            lineTable.ContactPerson      = sourceTable.ContactPerson;
            lineTable.ContactPersonNum   = sourceTable.ContactPersonNum;
            lineTable.ContainerNo        = sourceTable.ContainerNo;
            lineTable.Country            = sourceTable.Country;
            lineTable.DeliverdBy         = sourceTable.DeliverdBy;
            lineTable.DeliveryDate       = sourceTable.DeliveryDate;
            lineTable.DeliveryPhoneNum   = sourceTable.DeliveryPhoneNum;
            lineTable.Gunny              = sourceTable.Gunny;
            lineTable.GunnyQty           = sourceTable.GunnyQty;
            lineTable.Helper             = sourceTable.Helper;
            lineTable.ImportantNotes     = sourceTable.ImportantNotes;
            lineTable.Location           = sourceTable.Location;
            lineTable.Others             = sourceTable.Others;
            lineTable.OthersQty          = sourceTable.OthersQty;
            lineTable.Palette            = sourceTable.Palette;
            lineTable.PaletteQty         = sourceTable.PaletteQty;
            lineTable.Qty                = sourceTable.Qty;
            lineTable.Remarks            = sourceTable.Remarks;
            lineTable.ReportId           = sourceTable.ReportId;
            lineTable.ShippingMark       = sourceTable.ShippingMark;
            lineTable.VehicleNo          = sourceTable.VehicleNo;

            headerTable.insert();

            lineTable.insert();

            previousId = sourceTable.ReportId;

        }
        salesId= "";
        while select listSource where listSource.ReportId == headerTable.ReportId
            if(listSource)
            {
                  salesId +=", "+  listSource.SalesId;
            }
        while  select forUpdate updateH where updateH.ReportId == headerTable.ReportId
        if(updateH)
        {
            ttsBegin;
            updateH.SalesIds = subStr(salesId,2,1000);
            updateH.update();
            ttsCommit;
        }

    }
    info("Done");

}




---------------------


static void CopyDataBufftoBuffHeader(Args _args)
{
    ASAP_DeliveryNoteHeader    headerTable;
    ANA_DeliveryListTmpHist    sourceTable;
    ;

    while select sourceTable
    {
        buf2Buf(sourceTable ,headerTable );

        headerTable.ReportId         = sourceTable.ReportId;
        headerTable.CustAccount      = sourceTable.CustAccount;
        headerTable.CustName         = sourceTable.CustName;
        headerTable.CustAddress      = sourceTable.CustAddress;
        headerTable.CustomerCountry  = sourceTable.CustomerCountry;
        headerTable.CustomerPhone    = sourceTable.CustomerPhone;
        headerTable.CustomerTeleFax  = sourceTable.CustomerTeleFax;
        headerTable.UserName         = sourceTable.UserName;
        headerTable.LocationIds      = sourceTable.LocationId;
        headerTable.insert();

    }
    info("Done");
}

No comments:

Post a Comment