Tuesday 27 November 2012

Select , Insert , update data record from AX 2009 / AX 2012 to Another SQL Server DataBase

static void UpdateEmplAtdDB(Args _args)
{
    ODBCConnection myODBC;
    Statement myStatement;
    LoginProperty myLoginProperty;
    Resultset myResultset;

    ODBCConnection ATDODBC;
    Statement ATDSelStatement;
    Statement ATDInsStatement;
    Statement ATDUpdStatement;

    LoginProperty AtdLoginProperty;
    Resultset AtdSelResultset;
    Resultset AtdInsResultset;
    Resultset AtdUpdResultset;

    str mySQLStatement;
    str myConnectionString;

    str AtdSelSQLStatement;
    str AtdInsSQLStatement;
    str AtdUpdSQLStatement;
    //str AtdConnectionString;

    str myDSN="STGAXDSN";
    str myUserName="Username";
    str myPassword="Password";

    str FEILD1 ;
    str FEILD2;
    str Status = "";
    str AtdStatus = "";

    //-------------//

    str AtdFEILD1 ;
    str AtdFEILD2 ;
    int _ID;
    ;

    myConnectionString=strfmt("DSN=%1;UID=%2;PWD=%3",myDSN,myUserName,myPassword);

    myLoginProperty = new LoginProperty();
    myLoginProperty.setOther(myConnectionString);
    //myLoginProperty.setDSN("STGAXDSN");
    myLoginProperty.setDatabase("AXDB");


    AtdLoginProperty = new LoginProperty();
    AtdLoginProperty.setOther(myConnectionString);
    //AtdLoginProperty.setDSN("STGAXDSN");
    AtdLoginProperty.setDatabase("ATNDB");


    // AX Data Collection
    try
    {
        myODBC = new OdbcConnection(myLoginProperty);
        myStatement=myODBC.createStatement();

        //mySQLStatement="SELECT FEILD 1, FEILD 2 FROM TABLE";
        //info(strfmt("%1", myStatement));
        myResultSet=myStatement.executeQuery(mySQLStatement);
        //info(str2int(myResultSet));
        while (myResultSet.next())
        {

            FEILD1 = myResultSet.getString(1);
            FEILD2   = myResultSet.getString(2);
            if(FEILD1 != "")
            {
                Status = FEILD1;
            }
            else {Status = "";}


            // ATD Data Collection


            ATDODBC = new OdbcConnection(AtdLoginProperty);
            ATDSelStatement=ATDODBC.createStatement();
            //info("FEILD1 : " +FEILD1);
            //info("Status : " + Status);

           AtdSelSQLStatement="SELECT FEILD1 , FEILD2 FROM ATDTABLE "
            +"where FEILD1 = '" + FEILD1+ "'";
            AtdSelResultset=ATDSelStatement.executeQuery(AtdSelSQLStatement);

            while (AtdSelResultset.next())
            {
                AtdFEILD1 = AtdSelResultset.getString(1);
                AtdFEILD2 = AtdSelResultset.getString(2);
            }

            // ATD Insert Data Collection
            if(AtdFEILD1 != FEILD1)
            {
                AtdInsSQLStatement="INSERT INTO AtdTABLE "
                +"(FEILD1,FEILD2) "
                +"VALUES "
                +"('"+FEILD1+"','"+ FEILD2+"')";


                ATDODBC = new ODBCConnection(AtdLoginProperty);
                if (ATDODBC)
                {
                        ATDInsStatement=ATDODBC.createStatement();
                        _id = ATDInsStatement.executeUpdate(AtdInsSQLStatement);
                }
            }
            else
            {
                         // ATD UPDATE Data Collection
       
              AtdUpdSQLStatement= "UPDATE AtdTABLE ";
              AtdUpdSQLStatement= AtdUpdSQLStatement+"SET ";

                                 if(FEILD1!=""){ AtdUpdSQLStatement= AtdUpdSQLStatement +"FEILD2= '"+ FEILD2+"', ";}
                                            else{ AtdUpdSQLStatement= AtdUpdSQLStatement +"FEILD2= '"+ atdFEILD2+"', ";}
                              
                               AtdUpdSQLStatement= AtdUpdSQLStatement+"WHERE FEILD1 = '"+FEILD1+"' ";
               // info(FEILD1+"','"+ FEILD2 );
                ATDODBC = new ODBCConnection(AtdLoginProperty);
                info("Update "+AtdUpdSQLStatement);
                if (ATDODBC)
                {

                        ATDUpdStatement=ATDODBC.createStatement();

                        _id = ATDUpdStatement.executeUpdate(AtdUpdSQLStatement);

                }
            }
        }
    }
    catch
    {
        error('Unexpected error');
    }

}

No comments:

Post a Comment