private bool isPLAndCZExpection(int orderNumber, string id, string tableName, string salesOrg) { if (salesOrg == "PL01" || salesOrg == "CZ01") { var timeout = DateAndTime.DateAdd(DateInterval.Second, 10, DateAndTime.Now); // buggfix - The data necessary to complete this operation is not yet available. while (DateTime.Now < timeout) { System.Threading.Thread.Sleep(2000); try { if (!sap.idExists(VA02ID.TOTAL_ORDER_CASES_FIELD_ID)) { (sap.findById(VA02ID.ADDITIONAL_INFO_B_TAB_ID) as dynamic).Select(); } else { break; } } catch (Exception) { } } string orderQty = (sap.findById(VA02ID.TOTAL_ORDER_CASES_FIELD_ID) as dynamic).Text(); string confirmedQty = (sap.findById(VA02ID.TOTAL_CONFIRMED_CASES_FIELD_ID) as dynamic).Text(); if (orderQty != confirmedQty) { log.update( tableName, columnNames: new[] { "endTime", "status", "reason" }, values: new[] { Strings.Format(DateTime.Now, "yyyyMMdd HH:mm:ss"), "fail", "Could not change route codes as the CFR becomes lower than 100%" }, conditionName: new[] { "orderNumber", "id" }, conditionValue: new[] { orderNumber.ToString(), id, }); return(true); } else { sap.goBack(); return(false); } } else { return(false); } }
public void soarAction(string csrNote, string taskName, int orderNumber) { if (sap.idExists(VA02ID.ORDER_TOOLBOX_BUTTON_ID)) { uploadNoteToOrder(csrNote, taskName); } else { tryToOpenCSRNotes(); setCSRNotes(csrNote); } }
public void runRDDChange(int orderNumber, DateTime oldRdd, DateTime newRdd, string id, string changeReason, string tableName) { string sapNewRdd = $"{newRdd.Day}.{newRdd.Month}.{newRdd.Year}"; string sapOldRdd = $"{oldRdd.Day}.{oldRdd.Month}.{oldRdd.Year}"; string csrNote = ""; startRDDLog(orderNumber, id, tableName); OrderStatus status = va02.enterOrder(orderNumber); if (status != OrderStatus.available) { va02.updateLog(status, tableName, orderNumber.ToString(), id); return; } va02.bypassInitialPopups(); status = va02.isChangeNeeded(); if (status != OrderStatus.available) { va02.updateLog(status, tableName, orderNumber.ToString(), id); return; } va02.tryToSellectAllLines(); sap.select(VA02ID.CHANGE_RDD_BTN_ID); sap.setText(VA02ID.CHANGE_RDD_TEXT_FIELD, sapNewRdd); sap.pressBtn(VA02ID.PRESS_OK_ON_RDD_CHANGE_FIELD_BTN_ID); sap.getRidOfPopUps(); sap.pressEnter(); sap.getRidOfPopUps(); csrNote = $"RDD of {orderNumber} has been changed to {sapNewRdd} from {sapOldRdd}, Reason: {changeReason}"; while (sap.isPopUp() || sap.idExists(VA02ID.SECOND_POPUP_WINDOW_ID)) { sap.pressEnter(); } va02.soarAction(csrNote, "RDD", orderNumber); va02.save(); va02.updateOrderSavedLog(tableName, orderNumber, id); }
public void runDeliveryBlockChange(int orderNumber, string id, string changeReason, string delBlock, string tableName) { string csrNote; startDelBlockLog(orderNumber, id, tableName); OrderStatus status = va02.enterOrder(orderNumber); if (status != OrderStatus.available) { va02.updateLog(status, tableName, orderNumber.ToString(), id); return; } va02.bypassInitialPopups(); string blockID = VA02ID.DEL_BLOCK_ID.Where(x => sap.idExists(x)).First(); status = va02.isChangeNeeded(); if (status != OrderStatus.available) { va02.updateLog(status, tableName, orderNumber.ToString(), id); return; } (sap.findById(blockID) as dynamic).Key = delBlock; if (delBlock == " ") { delBlock = "empty"; } csrNote = $"Delivery block of {orderNumber} has been changed to {delBlock}, Reason: {changeReason}"; va02.soarAction(csrNote, "Delivery Block", orderNumber); va02.save(); va02.updateOrderSavedLog(tableName, orderNumber, id); }
public void runFullOrderRejection(int orderNumber, string id, string changeReason, string rejReason, string tableName) { string csrNote; startFullOrderRejectionLog(orderNumber, id, tableName); OrderStatus status = va02.enterOrder(orderNumber); if (status != OrderStatus.available) { va02.updateLog(status, tableName, orderNumber.ToString(), id); return; } va02.bypassInitialPopups(); status = va02.isChangeNeeded(); if (status != OrderStatus.available) { va02.updateLog(status, tableName, orderNumber.ToString(), id); return; } string blockID = VA02ID.DEL_BLOCK_ID.Where(x => sap.idExists(x)).First(); (sap.findById(blockID) as dynamic).Key = " "; sap.pressBtn(VA02ID.PRESS_REJECT_ORDER_BTN_ID); (sap.findById(VA02ID.REJECT_ORDER_FIELD_ID) as dynamic).Key = rejReason; sap.pressBtn(VA02ID.PRESS_CONFIRM_REJECTING_ORDER_BTN_ID); csrNote = $"Order has been rejected with {rejReason}, Reason: {changeReason}"; va02.soarAction(csrNote, "Order Rejection", orderNumber); va02.save(); va02.updateOrderSavedLog(tableName, orderNumber, id); }
public OrderStatus runRejections(RejectionsSapOrderProperty rejObj, string id, string tableName) { string csrNote = ""; List <ReplacePartialCutProperty> rpcpList = new List <ReplacePartialCutProperty>(); if (isLog) { startRejectionsLog(rejObj, id, tableName, isRelease); } OrderStatus status = va02.enterOrder(rejObj.orderNumber); if (status != OrderStatus.available) { return(status); } string paymentTermsID = VA02ID.PAYMENT_TERMS_ID.Where(x => sap.idExists(x)).First(); if ((sap.findById(paymentTermsID) as dynamic).text == "") { status = OrderStatus.orderMissingPaymentTerms; return(status); } va02.bypassInitialPopups(); ITable table = va02.getTable(); va02.moveRejectionCodeColumnToIndexEight(table); csrNote = executeLineChanges(rejObj, id, tableName, csrNote, rpcpList, table); va02.soarAction(csrNote, "Line Rejections", rejObj.orderNumber); va02.save(); return(va02.getOrderStatusAfterSaving()); }
private bool isTableExists() { return(sapLib.idExists(lib.SAP_ALL_ID.WE05.SELECTED_IDOCS_TABLE)); }