예제 #1
0
        public bool runQuantityChange(QtyConversionOrderProperty order)
        {
            sap.enterTCode("VA02");
            sap.setText(lib.SAP_ALL_ID.VA02.ORDER_FLD, order.orderNumber.ToString());
            sap.pressEnter();
            va02.checkIfOrderBlocked(order.orderNumber);
            sap.pressEnter();
            sap.getRidOfPopUps();
            if (sap.getInfoBarMsg().Contains("exists with same PO"))
            {
                sap.pressEnter();
            }
            sap.getRidOfPopUps();
            var table = sap.getITableObject();

            if (changeQuantityInTable(table, order))
            {
                string csrNote = $"Order number {order.orderNumber} had qty's changed in the following - {va02.getChangedListForCSR(order)}";
                va02.soarAction(csrNote, "Quantity Conversion", order.orderNumber);
                va02.save();
                if (sap.getInfoBarMsg().Contains($"{order.orderNumber} has been saved"))
                {
                    order.isSaved = true;
                    var itemArr = order.documentLineChangeList.Select(x => x.item).ToArray();
                    log.update("QuantityConversionLog",
                               new[] { "isSaved" },
                               new[] { "1" },
                               new[] { "orderNumber" },
                               new[] { order.orderNumber.ToString() },
                               $"item IN ({string.Join(",", itemArr)})");
                    return(true);
                }
            }

            return(false);
        }