示例#1
0
        public void soarAction_Should_UploadFileToOrder_When_ButtonForUploadingOrdersExist()
        {
            IVA02 va02 = new VA02(sap, idaLog);

            sap.enterTCode("VA02");
            va02.enterOrder(208736896);
            va02.soarAction("this is testing the csr notes function to upload a note into the order with enough text", "DeliveryBlocks", 208736896);
        }
示例#2
0
        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
            });
        }
示例#3
0
        public OrderStatus enterOrder(int order)
        {
            OrderStatus status;

            sap.enterTCode("VA02");
            sap.setText(VA02ID.ORDER_NUNBER_INPUT_TEXT_FIELD_ID, order.ToString());
            sap.pressEnter();
            sap.getRidOfPopUps();
            if (sap.getInfoBarMsg().Contains("exists with same"))
            {
                sap.pressEnter();
            }

            status = checkIfOrderBlocked(order);
            return(status);
        }
示例#4
0
        public List <ZV04IProperty> getZV04IfloorCuts(List <MD04Property> MD04List, string salesOrg, IDAEnum.Task idaTask)
        {
            var ZV04I = new ZV04I(sap, salesOrg, idaTask);

            //ZV04I.setParamsBeforeExecution();
            sap.enterTCode("ZV04I");

            ZV04I.sap.setText("wnd[0]/usr/ctxtS_LDDAT-LOW", DateTime.Now.Date.ToString("dd'.'MM'.'yyyy"));
            ZV04I.sap.setText("wnd[0]/usr/ctxtS_LDDAT-HIGH", DateTime.Now.Date.ToString("dd'.'MM'.'yyyy"));
            ZV04I.sap.setText("wnd[0]/usr/ctxtS_VKORG-LOW", salesOrg);
            ZV04I.sap.setCheckboxStatus(ZV04ID.OPEN_ORDER_CHECKBOX_ID, true);
            ZV04I.sap.setCheckboxStatus(ZV04ID.CREDIT_HOLD_CHECKBOX_ID, true);
            ZV04I.sap.setCheckboxStatus(ZV04ID.WITH_DELIVERY_CHECKBOX_ID, false);
            ZV04I.sap.setCheckboxStatus(ZV04ID.NOT_PGI_CHECKBOX_ID, false);
            ZV04I.sap.setCheckboxStatus(ZV04ID.NOT_INVOICED_CHECKBOX_ID, false);
            //ZV04I.sap.pressBtn("wnd[0]/usr/btn%_S_MATNR_%_APP_%-VALU_PUSH");
            if (MD04List is null)
            {
                return(null);
            }
            else
            {
                string[] arrayList = new string[MD04List.Count];
                for (int i = 0; i < MD04List.Count; i++)
                {
                    arrayList[i] = MD04List[i].sku;
                }
                //string[] arrayLis1t = MD04List.ToArray();
                ZV04I.sap.setMultipleSelection(arrayList, "wnd[0]/usr/btn%_S_MATNR_%_APP_%-VALU_PUSH");
                string path = $"{Environment.GetFolderPath(Environment.SpecialFolder.Desktop)}\\{salesOrg} {DateTime.Now.Day}.{DateTime.Now.Month}.{DateTime.Now.Year} {DateTime.Now.Hour}hour {DateTime.Now.Minute}minute Orders with past PO date.xlsx";

                ZV04I.extractReport();

                var listZV04HNfloorCuts = parser.getObjectListFromClipboard <ZV04IProperty>();

                //ZV04I.sap.pressBtn("wnd[0]/tbar[1]/btn[43]");
                //ZV04I.sap.setText("wnd[1]/usr/ctxtDY_PATH", path);
                //ZV04I.sap.setText("wnd[1]/usr/ctxtDY_FILENAME", "AlexFloorCuts.xlsm");

                //ZV04I.sap.pressBtn("wnd[1]/tbar[0]/btn[11]");
                //ZV04I.sap.exportExcel(@"C:\Users\g168180\Documents\SAP\SAP GUI\", "AlexFloorCuts.xlsx");

                return(listZV04HNfloorCuts);
            }
        }
示例#5
0
        private void executeWE05(string direction, string status, string messageVariant)
        {
            string dateFrom = DateAndTime.DateAdd(DateInterval.Day, -90, DateAndTime.Now).ToSAPFormat();
            string dateTo   = DateAndTime.Now.ToSAPFormat();

            sapLib.enterTCode("WE05");
            sapLib.setText(lib.SAP_ALL_ID.WE05.MESSAGE_VARIAN_FLD, messageVariant);
            if ((messageVariant ?? "") == "FR")
            {
                sapLib.setMultipleSelection(new[] { "BE" }, lib.SAP_ALL_ID.WE05.MESSAGE_VARIANT_MULTIPLE_SELECTION_BTN);
            }

            sapLib.setText(lib.SAP_ALL_ID.WE05.CREATED_ON_FROM_FLD, dateFrom);
            sapLib.setText(lib.SAP_ALL_ID.WE05.CREATED_ON_TO_FLD, dateTo);

            sapLib.setText(lib.SAP_ALL_ID.WE05.DIRECTION_FLD, direction);
            sapLib.setText(lib.SAP_ALL_ID.WE05.CURRENT_STATUS_FLD, status);

            //filter table by orders only
            sapLib.setText("wnd[0]/usr/tabsTABSTRIP_IDOCTABBL/tabpSOS_TAB/ssub%_SUBSCREEN_IDOCTABBL:RSEIDOC2:1100/ctxtIDOCTP-LOW", "ORDERS04");

            sapLib.pressF8();
        }
示例#6
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);
        }
示例#7
0
        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);
        }