コード例 #1
0
        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);
            }
        }
コード例 #2
0
 public void soarAction(string csrNote, string taskName, int orderNumber)
 {
     if (sap.idExists(VA02ID.ORDER_TOOLBOX_BUTTON_ID))
     {
         uploadNoteToOrder(csrNote, taskName);
     }
     else
     {
         tryToOpenCSRNotes();
         setCSRNotes(csrNote);
     }
 }
コード例 #3
0
ファイル: RDDVA02Runner.cs プロジェクト: akagkad/IdaDownload
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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());
        }
コード例 #7
0
 private bool isTableExists()
 {
     return(sapLib.idExists(lib.SAP_ALL_ID.WE05.SELECTED_IDOCS_TABLE));
 }