RE: Using eConnect to import Bank Transactions
Thanks Isaac, this part I have. My issue is with creating the integration using C#.I run my code and get no errors messages but I also get nothing imported into the checkbook.
I am trying to compare other working integrations that I have but there must be something unique for bank transactions.
public void CreateBankChecks()
{
int rc = 0;
string trxType;
string chekNmbr;
string eeNmbr;
string jrnl_ref;
string dist_ref;
DateTime trxDate;
decimal trxAmnt;
string trxIdent;
string ACTNUMST;
decimal debitAmt;
decimal crdtAmnt;
string record_Group_By;
bool returnValue = false;
const string cmdHeader = "SELECT[Trx_Identifier]" +
",CONVERT(CHAR(25), [Trx_Date], 121) AS Trx_Date" +
",[RecordID_DistributionRef]" +
",[ChkNbr]" +
",[EENbr]" +
",[Debit_Amount]" +
",[Credit_Amount]" +
",[Full_GL_Account] " +
"FROM[dbo].[ACCUDTDT] " +
"WHERE Full_GL_Account <> '1007' AND Full_GL_Account IN(SELECT ACTNUMST FROM[dbo].[GL00105]) " +
"AND[RecordID_DistributionRef] IN('PR Live Check') " +
"ORDER BY[ChkNbr]";
using (SqlConnection conn = DataAccess.Connection(Controller.Instance.Model.GPCompanyDatabase))
{
using (SqlCommand commandHdr = new SqlCommand(cmdHeader))
{
commandHdr.Connection = conn;
using (SqlDataReader dataReaderHdr = commandHdr.ExecuteReader())
{
/* Create a new DataTable */
DataTable dtBankTrxHdr = new DataTable("BankTrxHdr");
/* Load DataReader into the DataTable */
dtBankTrxHdr.Load(dataReaderHdr);
foreach (DataRow row in dtBankTrxHdr.Rows)
{
taBRBankTransactionHeader bRBankTrxHeader = new taBRBankTransactionHeader();
List<taBRBankTransactionDist_ItemsTaBRBankTransactionDist> bRBankTrxLines = new List<taBRBankTransactionDist_ItemsTaBRBankTransactionDist>();
taBRBankTransactionDist_ItemsTaBRBankTransactionDist brBankTrxLine = new taBRBankTransactionDist_ItemsTaBRBankTransactionDist();
rc += 1;
trxIdent = row["Trx_Identifier"].ToString();
trxDate = Convert.ToDateTime(row["Trx_Date"].ToString());
record_Group_By = "Live Check";
chekNmbr = row["ChkNbr"].ToString().Trim(); /* Check number is only assigned a valkue for checks */
eeNmbr = row["EENbr"].ToString().Trim(); /* Employee number is only assigned a valkue for checks */
ACTNUMST = row["Full_GL_Account"].ToString().Trim();
debitAmt = Convert.ToDecimal(row["Debit_Amount"].ToString());
crdtAmnt = Convert.ToDecimal(row["Credit_Amount"].ToString());
lblRecordIdentifier.Text = row["RecordID_DistributionRef"].ToString();
Application.DoEvents();
trxIdent = "Chk # : " + Model.Chk_Nbr + " - " + Model.Ee_Nbr;
jrnl_ref = "PR Live Check";
dist_ref = "Chk # : " + Model.Chk_Nbr + " - " + Model.Ee_Nbr;
Model.Dist_header = "PR Live Check - ";
Utilities.CheckBalances(Model.BankCheck, Model.Trx_Identifier); /* Check that the debit balance equals the credit balance */
Utilities.GetNetToCash(Model.BankCheck, Model.Trx_Identifier); /* Get the net to cash amount */
try
{
List<BRBankTransactionType> brTransBatch = new List<BRBankTransactionType>();
BRBankTransactionType brBankTrans = new BRBankTransactionType();
brBankTrans = new BRBankTransactionType();
bRBankTrxHeader = new taBRBankTransactionHeader();
bRBankTrxLines = new List<taBRBankTransactionDist_ItemsTaBRBankTransactionDist>();
/* Fill in values for the Bank Transaction Header */
bRBankTrxHeader.Option = 1;
bRBankTrxHeader.CHEKBKID = "BRI PR";
bRBankTrxHeader.CMTrxType = Model.Bank401K;
bRBankTrxHeader.CMTrxNum = chekNmbr;
bRBankTrxHeader.paidtorcvdfrom = eeNmbr;
bRBankTrxHeader.DSCRIPTN = jrnl_ref;
bRBankTrxHeader.DistRef = dist_ref;
bRBankTrxHeader.TRXDATE = trxDate.ToShortDateString();
bRBankTrxHeader.TRXAMNT = Model.Bank_TransactionAmount;
/* Fill in values for the Bank Transaction Distribution */
brBankTrxLine.ACTNUMST = ACTNUMST;
brBankTrxLine.DEBITAMT = debitAmt;
brBankTrxLine.CRDTAMNT = crdtAmnt;
brBankTrxLine.DistRef = record_Group_By;
eConnectType eConnect = new eConnectType();
MemoryStream memStream = new MemoryStream();
XmlSerializer serializer = new XmlSerializer(eConnect.GetType());
serializer.Serialize(memStream, eConnect);
memStream.Position = 0;
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load(memStream);
memStream.Close();
eConn eConn = new eConn(Controller.Instance.Model.GPServer, Controller.Instance.Model.GPUserID, Controller.Instance.Model.GPPassword);
string response = "";
returnValue = eConn.InsertTransaction(ref response, xmlDocument.OuterXml);
//Message = response;
}
catch (Exception ex)
{
if (Model.StackTraceWanted)
{
string eMsg = "AccudataImport 0008 ERROR - Updating Bank Import date: " + ex.Message;
eMsg += "\n" + ex.StackTrace;
MessageBox.Show(eMsg);
}
MessageBox.Show("An unexpected error occured while updating bank import date: " + ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}
}
}