private bool setMessageTypeFilter(string msgType) { (sapLib.findById(SAP_ID.OPEN_EXPORT_CONTEXT_MENU_BTN_ARR[0]) as dynamic).selectColumn("MESTYP"); // Message Type (sapLib.findById(SAP_ID.OPEN_EXPORT_CONTEXT_MENU_BTN_ARR[0]) as dynamic).pressToolbarButton("&MB_FILTER"); sapLib.setText(SAP_ID.TABLE_FILTER_FIRST_VALUE_FLD, msgType); sapLib.pressEnter(); return(true); }
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 CO09Property getStockDetails(int sku, string salesOrg) { int plant = new SalesOrgDetails().getPlant(salesOrg); sap.enterTCode("CO09"); bool isOpenTable = isOpenStockAndDates(sku, plant.ToString()); if (!isOpenTable) { return(new CO09Property() { salesOrg = salesOrg, plant = plant, sku = sku, ATP = 0, recoveryQty = 0, recoveryDate = "SKU does not exists for this plant" }); } var table = sap.getITableObject(); double atp = double.Parse(table.getCellValue(0, 4)); string recDate = ""; double recQty = 0; int i = 0; // had to do this due to a table bug System.Threading.Thread.Sleep(1000); (sap.findById("wnd[0]") as dynamic).resizeWorkingPane(100, 25, 0); System.Threading.Thread.Sleep(1000); try { while (!string.IsNullOrEmpty(table.getCellValue(i, 1))) { if (new[] { "POitem", "PurRqs", "ShpgNt" }.Contains(table.getCellValue(i, 1))) { recDate = table.getCellValue(i, 0); recQty = double.Parse(table.getCellValue(i, 3)); break; } i += 1; } } catch (TableWasNotScrolledException) { } return(new CO09Property() { salesOrg = salesOrg, plant = plant, sku = sku, ATP = atp, recoveryQty = recQty, recoveryDate = string.IsNullOrEmpty(recDate) ? "No Date Available" : recDate }); }
private void uploadNoteToOrder(string note, string taskName) { var name = $"{taskName} at {Strings.Format(DateTime.Now, "HH:mm:ss")}"; string toolBoxButton = @"%GOS_TOOLBOX"; string addAttachmentButton = @"CREATE_ATTA"; string createNoteButton = @"NOTE_CREA"; (sap.findById(VA02ID.ORDER_TOOLBOX_BUTTON_ID) as dynamic).pressButton(toolBoxButton); (sap.findById(VA02ID.ORDER_TOOLBOX_MENU_ID) as dynamic).PressContextButton(addAttachmentButton); //cannot dynamically find when to press button because the menu freezes the button press System.Threading.Thread.Sleep(5000); (sap.findById(VA02ID.ORDER_TOOLBOX_MENU_ID) as dynamic).selectContextMenuItem(createNoteButton); sap.setText(VA02ID.ORDER_NOTE_UPLOAD_DESCRIPTION_TEXTFIELD_ID, name); sap.setText(VA02ID.ORDER_NOTE_UPLOAD_BODY_TEXTFIELD_ID, note); sap.pressEnter(); }
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 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 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()); }
public bool getStockDetails(string sku, string salesOrg) { int plant = new SalesOrgDetails().getPlant(salesOrg); sap.enterTCode("MD04"); bool isOpenTable = isOpenStockAndDates(sku, plant.ToString()); //if (!isOpenTable) //{ // return new MD04Property() // { // salesOrg = salesOrg, // plant = plant, // sku = sku, // ATP = 0, // recoveryQty = 0, // recoveryDate = "SKU does not exists for this plant" // }; //} var table = sap.getITableObject(); string qty = table.getCellValue(0, 8); double atp = 0; if (!String.IsNullOrEmpty(qty)) { atp = double.Parse(qty); } string recDate = ""; string recQty = ""; int i = 1; // had to do this due to a table bug System.Threading.Thread.Sleep(1000); (sap.findById("wnd[0]") as dynamic).resizeWorkingPane(100, 25, 0); System.Threading.Thread.Sleep(1000); try { while (!string.IsNullOrEmpty(table.getCellValue(i, 1)) && DateTime.Parse(table.getCellValue(i, 1)) <= DateAndTime.Now) { //if (new[] { "Delvry", "CusOrd", "ShpgNt" }.Contains(table.getCellValue(i, 2))) if (new[] { "Delvry" }.Contains(table.getCellValue(i, 2)) && (DateTime.Parse(table.getCellValue(i, 1)) == DateAndTime.Today)) { recQty = table.getCellValue(i, 8); recQty = recQty.Replace("-", ""); atp = atp - double.Parse(recQty); } if ((new[] { "CusOrd" }.Contains(table.getCellValue(i, 2))) && (DateTime.Parse(table.getCellValue(i, 1)) <= DateAndTime.Now)) { recQty = table.getCellValue(i, 8); recQty = recQty.Replace("-", ""); atp = atp - double.Parse(recQty); } //{ //{ // recDate = table.getCellValue(i, 1); // recQty = double.Parse(table.getCellValue(i, 8)); // return new MD04Property() //} // recQty = table.getCellValue(i, 8); //recQty = recQty.Replace("-", ""); //atp = atp - double.Parse(recQty); //} i += 1; } //if (i > 1) { // recQty = table.getCellValue(i-1, 9); // if (recQty.Contains("-")) { // recQty = recQty.Replace("-", ""); // atp = -double.Parse(recQty); // } // else { // atp = double.Parse(table.getCellValue(i-1, 9)); // } //} //else { // atp = double.Parse(table.getCellValue(i, 9)); //} if (atp <= 0) { return(false); } else { return(true); } } catch (TableWasNotScrolledException) { } // return new MD04Property() // { // salesOrg = salesOrg, // plant = plant, // sku = sku, // ATP = atp, // recoveryQty = recQty, // recoveryDate = string.IsNullOrEmpty(recDate) ? "No Date Available" : recDate // }; return(true); }