Common Implementations – GL Imports
Here is the code snippet:
public void Import(IEnumerable lines, DateTime postingDate)
{
// TODO: To increase efficiency, comment out any unused DB links.
using (HuAPConnection Connection = new HuAPConnection())
using (HuView GLBCTL = Connection.GetView("GL0008"))
using (HuView GLJEH = Connection.GetView("GL0006"))
using (HuView GLJED = Connection.GetView("GL0010"))
using (HuView GLJEDO = Connection.GetView("GL0402"))
{
GLBCTL.Compose(GLJEH);
GLJEH.Compose(GLBCTL, GLJED);
GLJED.Compose(GLJEH, GLJEDO);
GLJEDO.Compose(GLJED);
GLBCTL.RecordCreate(1);
GLBCTL.Read();
GLBCTL["PROCESSCMD"] = "1"; // Lock Batch Switch
GLBCTL.Process();
GLJEH["BTCHENTRY"] = ""; // Entry Number
GLJEH.Browse("");
GLJEH.Fetch();
GLJEH["BTCHENTRY"] = "00000"; // Entry Number
GLJEH.RecordCreate(2);
GLJEH["SRCETYPE"] = "AP"; // Source Type
GLJEH["DATEENTRY"] = postingDate;
GLJED.RecordClear();
foreach (DataLine line in lines)
{
GLJED.RecordCreate(0);
GLJED["ACCTID"] = line.GLAccount; // Account Number
GLJED["PROCESSCMD"] = "0"; // Process switches
GLJED.Process();
GLJED["SCURNAMT"] = line.Amount; // Source Currency Amount
GLJED.Insert();
}
GLJEH.Insert();
}
}
Explanation:
HLBCTL is journal entry batches
GLJEH is the header for the journal entry
GLJED is the line items for the journal