Share this page

# Java Single Connection Example

    import lrapi.lr;
    import lrapi.vts.Lrvtc;
    import lrapi.vts.Constants;
    public class Actions {
        private static final String VtsServer = "my_vts_server.my_company.com";
        private static final int nPort = 8890;
        private static int rc = 0;
        public int init() throws Throwable {
            rc = Lrvtc.connect(VtsServer, nPort, Constants.VTOPT_KEEP_ALIVE);
            lr.log_message("rc=" + rc + "\n");
            return 0;
        }// end of init

        public int action() throws Throwable {
            String Message = "";
            lr.start_transaction("create_columns");

            // ---create columns---
            rc = Lrvtc.create_column("C_ID");
            lr.log_message("create_column rc=" + rc + "\n");
            rc = Lrvtc.create_column("P_ID");
            lr.log_message("create_column rc=" + rc + "\n");
            rc = Lrvtc.create_column("P_name");
            lr.log_message("create_column rc=" + rc + "\n");
            rc = Lrvtc.create_column("P_info");
            lr.log_message("create_column rc=" + rc + "\n");
            rc = Lrvtc.create_column("P_status");
            lr.log_message("create_column rc=" + rc + "\n");
            lr.end_transaction("create_columns", lr.AUTO);
            lr.start_transaction("fill_data");
            for (int i = 1; i <= 10; i++) {
                Message = "product" + i + ";productname" + i + ";productinfo" + i
                        + ";instock";
                rc = Lrvtc.send_row1("P_ID;P_name;P_info;P_status", Message, ";",
                        Constants.VTSEND_SAME_ROW);
                lr.log_message("send_row1 rc=" + rc + "\n");
            }
            lr.end_transaction("fill_data", lr.AUTO);

            // -- API column_size
            lr.start_transaction("get_colsize");
            int colsize = 0;
            colsize = Lrvtc.column_size("P_ID");
            lr.log_message("size of column P_ID=" + colsize);
            colsize = Lrvtc.column_size("P_name");
            lr.log_message("size of column P_name=" + colsize);
            colsize = Lrvtc.column_size("P_info");
            lr.log_message("size of column P_info=" + colsize);
            colsize = Lrvtc.column_size("P_status");
            lr.log_message("size of column P_status=" + colsize);

            // wrong column name
            colsize = Lrvtc.column_size("P_ID1");
            lr.log_message("size of column P_ID1=" + colsize);
            lr.end_transaction("get_colsize", lr.AUTO);
            // end of API column_size --

            // -- API ensure_index
            lr.start_transaction("create_index");

            // empty column
            rc = Lrvtc.ensure_index("C_ID");
            lr.log_message("ensure index of empty column rc=" + rc + "\n");

            // non-empty column
            rc = Lrvtc.ensure_index("P_ID");
            lr.log_message("ensure index of non-empty column rc=" + rc + "\n");

            // wrong column name
            rc = Lrvtc.ensure_index("P_ID1");
            lr.log_message("ensure index of wrong column rc=" + rc + "\n");
            lr.end_transaction("create_index", lr.AUTO);

            // end API ensure_index --

            // -- API drop_index
            lr.start_transaction("drop_index");

            // empty column
            rc = Lrvtc.drop_index("C_ID");
            lr.log_message("drop index of empty column rc=" + rc + "\n");

            // non-empty column
            rc = Lrvtc.drop_index("P_ID");
            lr.log_message("drop index of non-empty column rc=" + rc + "\n");

            // wrong column name
            rc = Lrvtc.drop_index("P_ID1");
            lr.log_message("drop index of wrong column rc=" + rc + "\n");
            lr.end_transaction("drop_index", lr.AUTO);
            // end API drop_index --

            // -- API send_if_unique
            lr.start_transaction("send_if_unique");
            // insert unique
            colsize = Lrvtc.column_size("P_ID");
            rc = Lrvtc.send_if_unique("P_ID", "product-1234");
            lr.log_message("send_if_unique rc=" + rc + "\n");
            if (colsize == Lrvtc.column_size("P_ID") - 1) {
                lr.log_message("send_if_unique (unique) succeed\n");
                // insert duplicated
                colsize = Lrvtc.column_size("P_ID");
                rc = Lrvtc.send_if_unique("P_ID", "product-1234");
                lr.log_message("send_if_unique rc=" + rc + "\n");
                if (colsize == Lrvtc.column_size("P_ID")) {
                    lr.log_message("send_if_unique (duplicated) succeed\n");
                    // insert into wrong column
                    rc = Lrvtc.send_if_unique("P_ID1", "product-1234");
                    lr.log_message("send_if_unique (wrong col) rc=" + rc + "\n");
                    // --
                    lr.end_transaction("send_if_unique", lr.PASS);
                } else {
                    lr.error_message("send_if_unique (duplicated) failed\n");
                    lr.end_transaction("send_if_unique", lr.FAIL);
                }
            } else {
                lr.error_message("send_if_unique (unique) failed\n");
                lr.end_transaction("send_if_unique", lr.FAIL);
            }
            // end of API send_if_unique --

            // -- API clear_message
            lr.start_transaction("clear_message");
            colsize = Lrvtc.column_size("P_ID");

            rc = Lrvtc.clear_message("P_ID", colsize);
            lr.log_message("clear_message rc=" + rc + "\n");

            // wrong column name
            rc = Lrvtc.clear_message("P_ID11", 1);
            lr.log_message("clear_message (wrong col name) rc=" + rc + "\n");

            // wrong row number
            rc = Lrvtc.clear_message("P_ID", colsize + 1);
            lr.log_message("clear_message rc=" + rc + "\n");
            lr.end_transaction("clear_message", lr.AUTO);
            // end of API clear_message --

            // -- API send_message
            lr.start_transaction("send_message");
            rc = Lrvtc.send_message("C_ID", "customer1");
            lr.log_message("send_message rc=" + rc + "\n");

            // wrong column name
            rc = Lrvtc.send_message("C_ID1", "customer1");
            lr.log_message("send_message (wrong col name) rc=" + rc + "\n");
            lr.end_transaction("send_message", lr.AUTO);
            // end of API send_message --

            // -- API query_column
            lr.start_transaction("query_column");
            colsize = Lrvtc.column_size("P_ID");
            for (int i = 1; i <= colsize; i++) {
                rc = Lrvtc.query_column("P_ID", i);
                lr.log_message("query_column rc=" + rc + "\n");
                lr.log_message("P_ID[" + i + "]=" + lr.eval_string("{P_ID}\n"));
            }

            // wrong column name
            rc = Lrvtc.query_column("P_ID12", 1);
            lr.log_message("query_column (wrong name) rc=" + rc + "\n");
            lr.log_message("P_ID12=" + lr.eval_string("{P_ID12}\n"));

            // wrong row number
            rc = Lrvtc.query_column("P_ID", Lrvtc.column_size("P_ID") + 1);
            lr.log_message("query_column (wrong row num) rc=" + rc + "\n");
            lr.log_message("P_ID=" + lr.eval_string("{P_ID}\n"));
            lr.end_transaction("query_column", lr.AUTO);
            // end of API query_column --

            // -- API query_row
            lr.start_transaction("query_row");
            colsize = Lrvtc.column_size("P_ID");
            for (int i = 1; i <= colsize; i++) {
                rc = Lrvtc.query_row(i);
                lr.log_message("query_row rc=" + rc + "\n");
                lr.log_message("Row["
                        + i
                        + "]={"
                        + lr.eval_string("{C_ID}; {P_ID}; {P_name}; {P_info}; {P_status}}\n"));
            }

            // wrong row number
            rc = Lrvtc.query_row(Lrvtc.column_size("P_ID") + 1);
            lr.log_message("query_row (wrong row num) rc=" + rc + "\n");
            lr.log_message("Row={" + lr.eval_string("{C_ID}; {P_ID}; {P_name}; {P_info}; {P_status}}\n"));

            lr.end_transaction("query_row", lr.AUTO);
            // end of API query_row --

            // -- API retrieve_message
            lr.start_transaction("retrieve_message");
            colsize = Lrvtc.column_size("P_status");
            lr.log_message("size of P_status=" + colsize);
            rc = Lrvtc.retrieve_message("P_status");
            lr.log_message("retrieve_message rc=" + rc + "\n");
            lr.log_message("P_status=" + lr.eval_string("{P_status}\n"));
            colsize = Lrvtc.column_size("P_status");
            lr.log_message("size of P_status=" + colsize);

            // wrong column name
            rc = Lrvtc.retrieve_message("P_status1");
            lr.log_message("retrieve_message (wrong col name) rc=" + rc + "\n");
            lr.log_message("P_status1=" + lr.eval_string("{P_status1}\n"));
            lr.end_transaction("retrieve_message", lr.AUTO);
            // end of API retrieve_message --

            // -- API retrieve_messages1
            lr.start_transaction("retrieve_messages1");
            lr.log_message("size of P_ID=" + Lrvtc.column_size("P_ID"));
            lr.log_message("size of P_name=" + Lrvtc.column_size("P_name"));
            lr.log_message("size of P_info=" + Lrvtc.column_size("P_info"));
            lr.log_message("size of P_status=" + Lrvtc.column_size("P_status"));
            rc = Lrvtc.retrieve_messages1("P_ID;P_name;P_info;P_status", ";");
            lr.log_message("retrieve_messages1 rc=" + rc + "\n");
            lr.log_message("P_ID=" + lr.eval_string("{P_ID}\n"));
            lr.log_message("P_name=" + lr.eval_string("{P_name}\n"));
            lr.log_message("P_info=" + lr.eval_string("{P_info}\n"));
            lr.log_message("P_status=" + lr.eval_string("{P_status}\n"));
            lr.log_message("size of P_ID=" + Lrvtc.column_size("P_ID"));
            lr.log_message("size of P_name=" + Lrvtc.column_size("P_name"));
            lr.log_message("size of P_info=" + Lrvtc.column_size("P_info"));
            lr.log_message("size of P_status=" + Lrvtc.column_size("P_status"));

            // one wrong column
            lr.log_message("size of P_ID=" + Lrvtc.column_size("P_ID"));
            lr.log_message("size of P_name=" + Lrvtc.column_size("P_name"));
            lr.log_message("size of P_info=" + Lrvtc.column_size("P_info"));
            lr.log_message("size of P_status=" + Lrvtc.column_size("P_status"));
            rc = Lrvtc.retrieve_messages1("P_ID;P_name;P_info;P_status;WR_col", ";");
            lr.log_message("retrieve_messages1 (one wrong col) rc=" + rc + "\n");
            lr.log_message("P_ID=" + lr.eval_string("{P_ID}\n"));
            lr.log_message("P_name=" + lr.eval_string("{P_name}\n"));
            lr.log_message("P_info=" + lr.eval_string("{P_info}\n"));
            lr.log_message("P_status=" + lr.eval_string("{P_status}\n"));
            lr.log_message("WR_col=" + lr.eval_string("{WR_col}\n"));

            // all wrong columns
            rc = Lrvtc.retrieve_messages1("P_ID1;P_name1;P_info1;P_status1", ";");
            lr.log_message("retrieve_messages1 (all wrong cols) rc=" + rc + "\n");
            lr.log_message("P_ID1=" + lr.eval_string("{P_ID1}\n"));
            lr.log_message("P_name1=" + lr.eval_string("{P_name1}\n"));
            lr.log_message("P_info1=" + lr.eval_string("{P_info1}\n"));
            lr.log_message("P_status1=" + lr.eval_string("{P_status1}\n"));
            lr.end_transaction("retrieve_messages1", lr.AUTO);
            // end of API retrieve_messages1 --

            // -- API retrieve_row
            lr.start_transaction("retrieve_row");
            lr.log_message("size of C_ID=" + Lrvtc.column_size("C_ID"));
            lr.log_message("size of P_ID=" + Lrvtc.column_size("P_ID"));
            lr.log_message("size of P_name=" + Lrvtc.column_size("P_name"));
            lr.log_message("size of P_info=" + Lrvtc.column_size("P_info"));
            lr.log_message("size of P_status=" + Lrvtc.column_size("P_status"));
            rc = Lrvtc.retrieve_row();
            lr.log_message("retrieve_row rc=" + rc + "\n");
            lr.log_message("Row={"
                    + lr.eval_string("{C_ID}; {P_ID}; {P_name}; {P_info}; {P_status}}\n"));
            lr.log_message("size of C_ID=" + Lrvtc.column_size("C_ID"));
            lr.log_message("size of P_ID=" + Lrvtc.column_size("P_ID"));
            lr.log_message("size of P_name=" + Lrvtc.column_size("P_name"));
            lr.log_message("size of P_info=" + Lrvtc.column_size("P_info"));
            lr.log_message("size of P_status=" + Lrvtc.column_size("P_status"));
            lr.end_transaction("retrieve_row", lr.AUTO);
            // end of API retrieve_row --

            // -- API update_message
            lr.start_transaction("update_message");
            rc = Lrvtc.query_column("P_name", 1);
            lr.log_message("query_column rc=" + rc + "\n");
            if (rc != 0) {
                lr.end_transaction("update_message", lr.FAIL);
            } else {
                lr.log_message("P_name old value=" + lr.eval_string("{P_name}\n"));
                rc = Lrvtc.update_message("P_name", 1,
                        lr.eval_string("{P_name}_new"));
                lr.log_message("update_message rc=" + rc + "\n");
                rc = Lrvtc.query_column("P_name", 1);
                lr.log_message("P_name new value=" + lr.eval_string("{P_name}\n"));
            }

            // wrong column name
            rc = Lrvtc.update_message("P_name2", 1, "P_name_new");
            lr.log_message("update_message (wrong col) rc=" + rc + "\n");

            // wrong row number
            rc = Lrvtc.update_message("P_name", Lrvtc.column_size("P_name") + 10, "P_name_new");
            lr.log_message("update_message (wrong row num) rc=" + rc + "\n");
            lr.end_transaction("update_message", lr.AUTO);
            // end of API update_message --

            // -- API update_message_ifequals
            lr.start_transaction("update_message_ifequals");

            // update_message_ifequals if match
            lr.start_sub_transaction("update_message_ifequals_match",
                    "update_message_ifequals");
            rc = Lrvtc.query_column("P_name", 1);
            lr.log_message("query_column rc=" + rc + "\n");
            if (rc != 0) {
                lr.end_sub_transaction("update_message_ifequals_match", lr.FAIL);
            } else {
                lr.log_message("P_name old value=" + lr.eval_string("{P_name}\n"));
                rc = Lrvtc.update_message_ifequals("P_name", 1,
                        lr.eval_string("{P_name}_newestM"),
                        lr.eval_string("{P_name}"));
                lr.log_message("update_message_ifequals rc=" + rc + "\n");
                rc = Lrvtc.query_column("P_name", 1);
                lr.log_message("P_name new value=" + lr.eval_string("{P_name}\n"));
                lr.end_sub_transaction("update_message_ifequals_match", lr.PASS);
            }

            // update_message_ifequals if mismatch
            lr.start_sub_transaction("update_message_ifequals_mismatch",
                    "update_message_ifequals");
            rc = Lrvtc.query_column("P_name", 1);
            lr.log_message("query_column rc=" + rc + "\n");
            if (rc != 0) {
                lr.end_sub_transaction("update_message_ifequals_mismatch", lr.FAIL);
            } else {
                lr.log_message("P_name old value=" + lr.eval_string("{P_name}\n"));
                rc = Lrvtc.update_message_ifequals("P_name", 1,
                        lr.eval_string("{P_name}_newestNM"),
                        lr.eval_string("{P_name}_mismatch"));
                lr.log_message("update_message_ifequals rc=" + rc + "\n");
                rc = Lrvtc.query_column("P_name", 1);
                lr.log_message("P_name new value=" + lr.eval_string("{P_name}\n"));
                lr.end_sub_transaction("update_message_ifequals_mismatch", lr.PASS);
            }

            // update_message_ifequals if empty
            lr.start_sub_transaction("update_message_ifequals_empty",
                    "update_message_ifequals");
            rc = Lrvtc.clear_message("P_name", 1);
            lr.log_message("query_column rc=" + rc + "\n");
            if (rc != 0) {
                lr.end_sub_transaction("update_message_ifequals_empty", lr.FAIL);
            } else {
                lr.log_message("P_name old value=" + lr.eval_string("{P_name}\n"));
                rc = Lrvtc.update_message_ifequals("P_name", 1,
                        lr.eval_string("{P_name}_newestE"), "");
                lr.log_message("update_message_ifequals rc=" + rc + "\n");
                rc = Lrvtc.query_column("P_name", 1);
                lr.log_message("P_name new value=" + lr.eval_string("{P_name}\n"));
                lr.end_sub_transaction("update_message_ifequals_empty", lr.PASS);
            }

            // wrong column name
            rc = Lrvtc.update_message_ifequals("P_name3", 1, "P_name_newestE", "");
            lr.log_message("update_message_ifequals (wrong col) rc=" + rc + "\n");

            // wrong row number
            rc = Lrvtc.update_message_ifequals("P_name", Lrvtc.column_size("P_name") + 20, "P_name_newestE", "");
            lr.log_message("update_message_ifequals (wrong row num) rc=" + rc + "\n");
            lr.end_transaction("update_message_ifequals", lr.AUTO);
            // end of API update_message_ifequals --

            // -- API update_row1
            lr.start_transaction("update_row1");
            // query current values
            rc = Lrvtc.query_row(1);
            lr.log_message("query_row rc=" + rc + "\n");
            lr.log_message("Row old={"
                    + lr.eval_string("{C_ID}; {P_ID}; {P_name}; {P_info}; {P_status}}\n"));

    		// update row
            rc = Lrvtc.update_row1(
                            "P_ID;P_name;P_info;P_status", 1,
                            "product1_newest1;productname1_newest1;productinfo1_newest1;instock", ";");
            lr.log_message("update_row1 rc=" + rc + "\n");

            // query new values
            rc = Lrvtc.query_row(1);
            lr.log_message("query_row rc=" + rc + "\n");
            lr.log_message("Row new={"
                    + lr.eval_string("{C_ID}; {P_ID}; {P_name}; {P_info}; {P_status}}\n"));

            // one wrong column
            rc = Lrvtc.update_row1(
                    "P_ID;P_name;P_info;P_status4", 1,
                    "product1_newest1;productname1_newest1;productinfo1_newest1;wrong_place", ";");
            lr.log_message("update_row1 (one wrong col) rc=" + rc + "\n");
            rc = Lrvtc.query_row(1);
            lr.log_message("Row new={"
                    + lr.eval_string("{C_ID}; {P_ID}; {P_name}; {P_info}; {P_status4}}\n"));

            // all wrong columns
            rc = Lrvtc.update_row1(
                    "P_ID5;P_name5;P_info5;P_status5", 1,
                    "product1_newest1;productname1_newest1;productinfo1_newest1;wrong_place", ";");
            lr.log_message("update_row1 (all wrong cols) rc=" + rc + "\n");
            rc = Lrvtc.query_row(1);
            lr.log_message("Row new={"
                    + lr.eval_string("{C_ID5}; {P_ID5}; {P_name5}; {P_info5}; {P_status5}}\n"));

            // wrong row number
            rc = Lrvtc.update_row1(
                    "P_ID;P_name;P_info;P_status", Lrvtc.column_size("P_ID") + 30,
                    "product1_newest1;productname1_newest1;productinfo1_newest1;instock", ";");
            lr.log_message("update_row1 (wrong row num) rc=" + rc + "\n");
            rc = Lrvtc.query_row(Lrvtc.column_size("P_ID"));
            lr.log_message("Row new={"
                    + lr.eval_string("{C_ID}; {P_ID}; {P_name}; {P_info}; {P_status}}\n"));

            lr.end_transaction("update_row1", lr.AUTO);

            // end of API update_row1 --

            //-- API increment

            lr.start_transaction("increment");

            // init counter
            rc = Lrvtc.increment("P_ID", 1, 10);
            lr.log_message("increment init rc=" + rc + "\n");

            // increment counter
            rc = Lrvtc.increment("P_ID", 1, 15);
            lr.log_message("increment new rc=" + rc + "\n");

            // wrong column name
            rc = Lrvtc.increment("P_ID6", 1, 10);
            lr.log_message("increment (wrong col) rc=" + rc + "\n");

            // wrong row number
            rc = Lrvtc.increment("P_ID", Lrvtc.column_size("P_ID") + 30, 10);
            lr.log_message("increment (wrong row num) rc=" + rc + "\n");

            lr.end_transaction("increment", lr.AUTO);

            // end of API increment --

            //-- API clear_row

            lr.start_transaction("clear_row");

            rc = Lrvtc.clear_row(1);
            lr.log_message("clear_row rc=" + rc + "\n");

            // wrong row number
            rc = Lrvtc.clear_row(Lrvtc.column_size("P_ID") + 1000);
            lr.log_message("clear_row (wrong row num) rc=" + rc + "\n");

            lr.end_transaction("clear_row", lr.AUTO);

            // end of API clear_row --

            //-- API clear_column

            lr.start_transaction("clear_column");

            rc = Lrvtc.clear_column("P_info");
            lr.log_message("clear_column rc=" + rc + "\n");

            // wrong column name
            rc = Lrvtc.clear_column("P_info7");
            lr.log_message("clear_column (wrong col) rc=" + rc + "\n");

            lr.end_transaction("clear_column", lr.AUTO);

            // end of API clear_column --

            // remove all columns
            rc = Lrvtc.clear_column("C_ID");
            rc = Lrvtc.clear_column("P_ID");
            rc = Lrvtc.clear_column("P_name");
            rc = Lrvtc.clear_column("P_info");
            rc = Lrvtc.clear_column("P_status");
            return 0;
        }// end of action

        public int end() throws Throwable {
            // -- API disconnect
            Lrvtc.disconnect();
            // end of API disconnect --
            return 0;
        }// end of end
    }

Tips to improve your search results... VuGen Function Reference Version 25.1-25.3 Function Reference 25.1-25.3 All View Local Help Center View Online Help Center Version: