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