예제 #1
0
        private void btnLogin_Click(object sender, EventArgs e)
        {
            RMTransferPlanUI mainForm = new RMTransferPlanUI();

            AccpacCOMAPI.AccpacSession session = new AccpacCOMAPI.AccpacSession();
            // this.Cursor = Cursors.WaitCursor;
            session.Init("", "IC60A", "IC2000", "60A");
            try
            {
                session.Open(txtUserId.Text, txtPassword.Text, "TCPDAT", dateTimePicker1.Value, 0, "");

                AccpacCOMAPI.AccpacDBLink mDBLinkCmpRW = session.OpenDBLink(AccpacCOMAPI.tagDBLinkTypeEnum.DBLINK_COMPANY, AccpacCOMAPI.tagDBLinkFlagsEnum.DBLINK_FLG_READWRITE);
                AccpacCOMAPI.AccpacDBLink mDBLinkSysRW = session.OpenDBLink(AccpacCOMAPI.tagDBLinkTypeEnum.DBLINK_SYSTEM, AccpacCOMAPI.tagDBLinkFlagsEnum.DBLINK_FLG_READWRITE);
                mainForm.session      = session;
                mainForm.mDBLinkCmpRW = mDBLinkCmpRW;
                mainForm.mDBLinkSysRW = mDBLinkSysRW;

                this.Hide();
                mainForm.Show();
            }
            catch (Exception err)
            {
                MessageBox.Show(err.Message);
            }
        }
        private void btnPost_Click(object sender, EventArgs e)
        {
            productCategory = cmbProductGroup.Text.Substring(3, 10);
            planningDate    = dateTimePickerHead.Value.ToString("yyyyMMdd");
            DataTable dtpost = new DataTable();

            dtpost = sq.get_rs("update T_PCTRN set TRANSTATUS=1 where tranDate = '" + planningDate + "' and category = '" + cmbProductGroup.Text.Substring(3, 10) + "'");

            postButtonClicked = 1;
            buttonStatus();
            MessageBox.Show("Posted successfully");
            dataGridViewShow.ReadOnly = true;


            //********************for Macro***********************************
            AccpacCOMAPI.AccpacSession session = new AccpacCOMAPI.AccpacSession();
            this.Cursor = Cursors.WaitCursor;
            session.Init("", "IC60A", "IC2000", "60A");

            session.Open("ADMIN", "ADMIN", "TCPDAT", DateTime.Now, 0, "");

            AccpacCOMAPI.AccpacDBLink mDBLinkCmpRW = session.OpenDBLink(AccpacCOMAPI.tagDBLinkTypeEnum.DBLINK_COMPANY, AccpacCOMAPI.tagDBLinkFlagsEnum.DBLINK_FLG_READWRITE);
            AccpacCOMAPI.AccpacDBLink mDBLinkSysRW = session.OpenDBLink(AccpacCOMAPI.tagDBLinkTypeEnum.DBLINK_SYSTEM, AccpacCOMAPI.tagDBLinkFlagsEnum.DBLINK_FLG_READWRITE);

            //MessageBox.Show("Done");

            Boolean temp;

            AccpacCOMAPI.AccpacView       ICADE1header;
            AccpacCOMAPI.AccpacViewFields ICADE1headerFields;
            mDBLinkCmpRW.OpenView("IC0120", out ICADE1header);
            ICADE1headerFields = ICADE1header.Fields;


            AccpacCOMAPI.AccpacView       ICADE1detail1;
            AccpacCOMAPI.AccpacViewFields ICADE1detail1Fields;
            mDBLinkCmpRW.OpenView("IC0110", out ICADE1detail1);
            ICADE1detail1Fields = ICADE1detail1.Fields;

            AccpacCOMAPI.AccpacView       ICADE1detail2;
            AccpacCOMAPI.AccpacViewFields ICADE1detail2Fields;
            mDBLinkCmpRW.OpenView("IC0125", out ICADE1detail2);
            ICADE1detail2Fields = ICADE1detail2.Fields;

            AccpacCOMAPI.AccpacView       ICADE1detail3;
            AccpacCOMAPI.AccpacViewFields ICADE1detail3Fields;
            mDBLinkCmpRW.OpenView("IC0115", out ICADE1detail3);
            ICADE1detail3Fields = ICADE1detail3.Fields;

            AccpacCOMAPI.AccpacView       ICADE1detail4;
            AccpacCOMAPI.AccpacViewFields ICADE1detail4Fields;
            mDBLinkCmpRW.OpenView("IC0113", out ICADE1detail4);
            ICADE1detail4Fields = ICADE1detail4.Fields;


            AccpacCOMAPI.AccpacView       ICADE1detail5;
            AccpacCOMAPI.AccpacViewFields ICADE1detail5Fields;
            mDBLinkCmpRW.OpenView("IC0117", out ICADE1detail5);
            ICADE1detail5Fields = ICADE1detail5.Fields;


            AccpacCOMAPI.AccpacView[] array1 = new AccpacCOMAPI.AccpacView[2];
            array1[0] = ICADE1detail1;
            array1[1] = ICADE1detail2;
            Object obj1 = (Object)array1;

            ICADE1header.Compose(ref obj1);

            AccpacCOMAPI.AccpacView[] array2 = new AccpacCOMAPI.AccpacView[10];
            array2[0] = ICADE1header;
            array2[1] = null;
            array2[2] = null;
            array2[3] = null;
            array2[4] = null;
            array2[5] = null;
            array2[6] = null;
            array2[7] = ICADE1detail3;
            array2[8] = ICADE1detail5;
            array2[9] = ICADE1detail4;
            Object obj2 = (Object)array2;

            ICADE1detail1.Compose(ref obj2);

            AccpacCOMAPI.AccpacView[] array3 = new AccpacCOMAPI.AccpacView[1];
            array3[0] = ICADE1header;
            Object obj3 = (Object)array3;

            ICADE1detail2.Compose(ref obj3);


            AccpacCOMAPI.AccpacView[] array4 = new AccpacCOMAPI.AccpacView[1];
            array4[0] = ICADE1detail1;
            Object obj4 = (Object)array4;

            ICADE1detail3.Compose(ref obj4);


            AccpacCOMAPI.AccpacView[] array5 = new AccpacCOMAPI.AccpacView[1];
            array5[0] = ICADE1detail1;
            Object obj5 = (Object)array5;

            ICADE1detail4.Compose(ref obj5);


            AccpacCOMAPI.AccpacView[] array6 = new AccpacCOMAPI.AccpacView[1];
            array6[0] = ICADE1detail1;
            Object obj6 = (Object)array6;

            ICADE1detail5.Compose(ref obj6);

            ICADE1header.Order = 3;
            ICADE1header.FilterSelect("(DELETED = 0)", true, 3, 0);
            ICADE1header.Order = 3;
            ICADE1header.Order = 0;  /////////////////////////////////////////

            ICADE1headerFields.get_FieldByName("ADJENSEQ").PutWithoutVerification("0");

            ICADE1header.Init();
            temp = ICADE1detail1.Exists;
            ICADE1detail1.RecordClear();
            ICADE1header.Order = 3;


            //Object TRANDATE = (Object)"1/25/2016";

            String formatDate = planningDate.Substring(4, 2) + "/" + planningDate.Substring(6, 2) + "/" + planningDate.Substring(0, 4);


            Object TRANSDATE = (Object)formatDate;

            ICADE1headerFields.get_FieldByName("TRANSDATE").set_Value(ref TRANSDATE);
            ICADE1headerFields.get_FieldByName("PROCESSCMD").PutWithoutVerification("1");     //' Process Command
            ICADE1header.Process();


            for (int i = 0; i < dataGridViewShow.RowCount; i++)
            {
                temp = ICADE1detail1.Exists;
                ICADE1detail1.RecordClear();
                temp = ICADE1detail1.Exists;
                ICADE1detail1.RecordCreate(0);
                temp = ICADE1detail1.Exists;


                string dgvItemNo = dataGridViewShow.Rows[i].Cells[1].Value.ToString();


                Object ITEMNO = (Object)dgvItemNo;
                ICADE1detail1Fields.get_FieldByName("ITEMNO").set_Value(ref ITEMNO);
                ICADE1detail1Fields.get_FieldByName("PROCESSCMD").PutWithoutVerification("1"); //' Process Command

                ICADE1detail1.Process();

                Object TRANSTYPE = (Object)"5";
                ICADE1detail1Fields.get_FieldByName("TRANSTYPE").set_Value(ref TRANSTYPE);


                string dgvLocation = dataGridViewShow.Rows[i].Cells[5].Value.ToString();

                Object LOCATION = (Object)dgvLocation;
                ICADE1detail1Fields.get_FieldByName("LOCATION").set_Value(ref LOCATION);


                string dgvIssueQty = dataGridViewShow.Rows[i].Cells[8].Value.ToString();

                Object QUANTITY = (Object)dgvIssueQty;
                ICADE1detail1Fields.get_FieldByName("QUANTITY").set_Value(ref QUANTITY);

                ICADE1detail4.RecordClear();
                ICADE1detail4.RecordCreate(0);

                Object LOTNUMF = (Object)"lot";
                ICADE1detail4Fields.get_FieldByName("LOTNUMF").set_Value(ref LOTNUMF);

                Object QTY = (Object)dgvIssueQty;
                ICADE1detail4Fields.get_FieldByName("QTY").set_Value(ref QTY);

                decimal transCost = ICADE1detail1Fields.get_FieldByName("EXTCOST").get_Value();
                decimal unitcost  = transCost / Convert.ToDecimal(dgvIssueQty);
                decimal adjcost   = unitcost * Convert.ToDecimal(dgvIssueQty);

                Object COST = (Object)adjcost;
                ICADE1detail4Fields.get_FieldByName("COST").set_Value(ref COST);

                ICADE1detail4.Insert();

                ICADE1detail4Fields.get_FieldByName("LOTNUMF").PutWithoutVerification("lot");



                ICADE1detail4.Read();
                ICADE1detail1.Process();
                ICADE1detail1.Insert();


                ICADE1detail1Fields.get_FieldByName("LINENO").PutWithoutVerification(i * -1); //' Line Number


                ICADE1detail1.Read();
                temp = ICADE1detail1.Exists;
                ICADE1detail1.RecordCreate(0);

                ICADE1detail1Fields.get_FieldByName("LINENO").PutWithoutVerification(i * -1); //' Line Number

                ICADE1detail1.Read();
            }

            /* ICADE1detail1.Read
            *  temp = ICADE1detail1.Exists
            *  ICADE1detail1.RecordCreate 0
            *  temp = ICADE1detail1.Exists
            *
            *  ICADE1detail1Fields("ITEMNO").Value = "10-16010"                      ' Item Number
            *  ICADE1detail1Fields("PROCESSCMD").PutWithoutVerification("1")        ' Process Command
            *
            *  ICADE1detail1.Process
            *
            *  ICADE1detail1Fields("TRANSTYPE").Value = "5"                          ' Transaction Type
            *  ICADE1detail1Fields("LOCATION").Value = "100115"                      ' Location
            *  ICADE1detail1Fields("QUANTITY").Value = "100.0000"                    ' Quantity
            *  ICADE1detail4.RecordClear
            *  ICADE1detail4.RecordCreate 0
            *
            *  ICADE1detail4Fields("LOTNUMF").Value = "lot"                          ' Lot Number
            *  ICADE1detail4Fields("QTY").Value = "100.0000"                         ' Transaction Quantity
            *  ICADE1detail4Fields("COST").PutWithoutVerification("4082.240")       ' Lot Cost
            *
            *  ICADE1detail4.Insert
            *
            *  ICADE1detail4Fields("LOTNUMF").PutWithoutVerification("lot")         ' Lot Number
            *
            *  ICADE1detail4.Read
            *  ICADE1detail1.Process
            *  ICADE1detail1.Insert
            *
            *  ICADE1detail1Fields("LINENO").PutWithoutVerification("-2")           ' Line Number
            *
            *  ICADE1detail1.Read */


            ICADE1headerFields.get_FieldByName("HDRDESC").PutWithoutVerification("DESC MACRO");  // ' Description

            ICADE1headerFields.get_FieldByName("REFERENCE").PutWithoutVerification("REF MACRO"); //  ' Reference

            ICADE1header.Insert();
            ICADE1header.Order = 0;

            ICADE1headerFields.get_FieldByName("ADJENSEQ").PutWithoutVerification("0"); //  ' Sequence Number

            ICADE1header.Init();
            temp = ICADE1detail1.Exists;
            ICADE1detail1.RecordClear();
            ICADE1header.Order = 3;

            MessageBox.Show("Done");
        }