if(Item_Details == null)
{
	alert "First Add Data in Item Details";
}
i = 0;
for each  rec_sn in input.Delivery_Schedule
{
	i = i + 1;
	row.S_No=i;
}
//----------------------------------test code for same part number with different spec
item_list1 = List();
deliv_list1 = List();
finalist = List();
item_list = List();
spec_list = List();
for each  an_item in input.Item_Details
{
	if(an_item.Part_No != null)
	{
		item_list1.add(ifnull(an_item.Part_Description.concat("-"),"").concat(ifnull(an_item.Specification,"")));
		spec_list.add(an_item.Specification);
	}
	else
	{
		alert "First Add Data in Item Details";
	}
}
for each  deliv in input.Delivery_Schedule
{
	if(deliv.Part_No != null && deliv.Full_Quantity == true)
	{
		deliv_list1.add(deliv.Part_No.concat("-").concat(ifnull(deliv.Specification,"")));
	}
}
item_list1.removeAll(deliv_list1);
for each  itemlistrec in item_list1
{
	//finalist.add(itemlistrec.getprefix("-"));
	item_list.add(itemlistrec.getprefix("-"));
}
//----------------------------------------test code end here-----------------------------------------------------
//For Delivery Schedule
clear row.Part_No;
/*item_list = List();
deliv_list = List();
for each  an_item in input.Item_Details
{
	item_list.add(an_item.Part_Description);
}
for each  deliv in input.Delivery_Schedule
{
	if(deliv.Part_No != null && deliv.Full_Quantity == true)
	{
		deliv_list.add(deliv.Part_No);
	}
}
item_list.removeAll(deliv_list);*/
row.Part_No:ui.add(item_list.sort(true));
if(item_list.size() > 0)
{
	row.Part_No=item_list.get(0);
	//Setting Quantity
	for each  itemdetrec in input.Item_Details
	{
		if(itemdetrec.Ordered_Qty < 1)
		{
			alert "Please enter quantity for all the item(s) in Item Details Subform";
			row.Quantity=null;
		}
		else
		{
			dsqtytot = 0;
			for each  delschrec in input.Delivery_Schedule
			{
				if(itemdetrec.S_No == delschrec.S_No && itemdetrec.Part_No == delschrec.Part_No && itemdetrec.Specification == delschrec.Specification && delschrec.Full_Quantity == false)
				{
					row.Specification=delschrec.Specification;
				}
				//calculate the quantity and comapare with item details qty
				if(delschrec.Part_No == itemdetrec.Part_No && delschrec.S_No == itemdetrec.S_No)
				{
					//if(delschrec.Part_No == itemdetrec.Part_No && delschrec.Specification == itemdetrec.Specification)
					dsqtytot = dsqtytot + ifnull(delschrec.Quantity,0.0);
				}
				//qty,spec
				if(itemdetrec.Part_No == row.Part_No && itemdetrec.S_No == row.S_No)
				{
					row.Quantity=if(dsqtytot > 0,itemdetrec.Ordered_Qty - dsqtytot,itemdetrec.Ordered_Qty);
					row.Quantity=itemdetrec.Ordered_Qty;
					row.Specification=itemdetrec.Specification;
					row.Full_Quantity=true;
				}
				//itemdetails partno qty splitting in delvy sch with different date
				if(itemdetrec.Part_No == row.Part_No && itemdetrec.Specification == row.Specification && row.Full_Quantity == false)
				{
					row.Specification=itemdetrec.Specification;
					row.Quantity=if(dsqtytot > 0,itemdetrec.Ordered_Qty - dsqtytot,itemdetrec.Ordered_Qty);
				}
			}
		}
	}
}
if(!isNull(input.Incoterms))
{
	if(input.Incoterms_same_for_all_items == "Yes")
	{
		row.Incoterms=input.Incoterms;
	}
	else
	{
		row.Incoterms=null;
	}
}
if(!isNull(input.Incoterms_Location1))
{
	if(input.Incoterms_Location_same_for_all_items == "Yes")
	{
		row.Incoterms_Location=input.Incoterms_Location1;
	}
	else
	{
		row.Incoterms_Location=null;
	}
}
if(!isNull(input.Delivery_Date))
{
	if(input.Delivery_Date_same_for_all_items == "Yes")
	{
		row.Delivery_Date=input.Delivery_Date;
	}
	else
	{
		row.Delivery_Date=null;
	}
}
//old code for ERP Issue no. 13 & 32 is commented. start below
/*i = 0;
for each  rec_sn in input.Delivery_Schedule
{
    i = i + 1;
    row.S_No=i;
}
//10-07-2019/For Delivery Schedule
clear row.Part_No;
item_list = List();
deliv_list = List();
for each  an_item in input.Item_Details
{
    item_list.add(an_item.Part_Description);
}
for each  deliv in input.Delivery_Schedule
{
    if(deliv.Part_No != null && deliv.Full_Quantity == true)
    {
        deliv_list.add(deliv.Part_No);
    }
}
item_list.removeAll(deliv_list);
row.Part_No:ui.add(item_list.sort(true));
if(item_list.size() > 0)
{
    row.Part_No=item_list.get(0);
    //Setting Quantity
    for each  rec in input.Item_Details
    {
        if(rec.Ordered_Qty < 1)
        {
            alert "Please enter quantity for all the item(s) in Item Details Subform";
            row.Quantity=null;
        }
        else
        {
            tot = 0.0;
            for each  rec1 in input.Delivery_Schedule
            {
                if(rec1.Part_No == rec.Part_Description)
                {
                    tot = tot + ifnull(rec1.Quantity,0.0);
                }
            }
            if(rec.Part_Description == row.Part_No)
            {
                row.Quantity=if(tot > 0,rec.Ordered_Qty - tot,rec.Ordered_Qty);
                row.Full_Quantity=true;
            }
        }
    }
}
if(!isNull(input.Incoterms))
{
    if(input.Incoterms_same_for_all_items == "Yes")
    {
        row.Incoterms=input.Incoterms;
    }
    else
    {
        row.Incoterms=null;
    }
}
if(!isNull(input.Incoterms_Location1))
{
    if(input.Incoterms_Location_same_for_all_items == "Yes")
    {
        row.Incoterms_Location=input.Incoterms_Location1;
    }
    else
    {
        row.Incoterms_Location=null;
    }
}
if(!isNull(input.Delivery_Date))
{
    if(input.Delivery_Date_same_for_all_items == "Yes")
    {
        row.Delivery_Date=input.Delivery_Date;
    }
    else
    {
        row.Delivery_Date=null;
    }
}*/
//old code end above