Plan Reviewed Status

Dec 30, 2016 at 4:12 PM
Hi,
is it possible to access the user name and date of when the status of a plan is set to "Reviewed"?

This is possible in the Eclipse Report TML files using the $ApprovalUserName and
$ApprovalDate variables but I cant find these in the Scripting API.

I am using Eclipse 13.6

regards,
Paul
Jan 5 at 9:38 PM
Edited Jan 5 at 9:49 PM
Paul- I use a database query for that info. The following will give you the history but not the current status. The current status can be viewed in the PlanSetup table itself.

Just substitute the appropriate PlanSetupSer in the following query


SELECT Approval.Status, PlanSetup.PlanSetupSer, Approval.StatusDate, Approval.StatusUserName
FROM Approval INNER JOIN
                  PlanSetup ON Approval.TypeSer = PlanSetup.PlanSetupSer
WHERE PlanSetupSer=699817
ORDER BY PlanSetup.PlanSetupSer


To get to the database, I use this class. I dont consider myself a good programmer, just a determined one, so my implementation is probably not that good, but gets the job done. Just fill in the info specfics to your DB location and call ExecuteQuery passing in the above string.



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.ComponentModel;
using System.Collections.ObjectModel;
using System.Windows;
public class ARIADBConn
{
    //string connectionString = "Server=ETCCARIADB;Database=variansystem;User Id=reports;Password=reports";
    string connectionString;
    string Server = "ETCCARIADB";
    string DataBase = "variansystem";
    string UID = "reports";
    string Pswd = "reports";

    SqlConnection con;
    public string WorkstationName { get;private set; }

    public ARIADBConn()
    {
        Init();
    }

    public ARIADBConn(string server,string db, string uid, string pswd)
    {
        this.Server = server;
        this.DataBase = db;
        this.UID = uid;
        this.Pswd = pswd;
        //this.connectionString = buildConnectionString();
        Init();
    }

    private void Init()
    {
        this.connectionString = buildConnectionString();
        con = new SqlConnection(buildConnectionString());
        this.WorkstationName = System.Environment.MachineName;
    }

    private string buildConnectionString()
    {StringBuilder sb = new StringBuilder();
            sb.Append("Server=" + this.Server + ";");
            sb.Append("Database=" + this.DataBase + ";");
            sb.Append("User Id=" + this.UID + ";");
            sb.Append("Password=" + this.Pswd);
            return sb.ToString();
    }



    public DataTable ExecuteQuery(string qry)
    {
        DataTable dt=new DataTable();;
        try
        {
            con.Open();
            SqlCommand CMD = new SqlCommand(qry, con);
            SqlDataAdapter da = new SqlDataAdapter();
            da.SelectCommand = CMD;
            da.Fill(dt);
        }
        catch(Exception ex)
        {
            con.Close();
            MessageBox.Show(ex.Message);
        }
        finally
        {
            con.Close();
        }
        return dt;
    }
}
Jan 5 at 9:43 PM
The query for for v11. I dont know if this little part of the schema has changed in v13,