Hi,
I am doing customization to add multiple lines to GLJED. But I get multiple error that I cannot find out why it is happening, note that I only trying to add to GLJED, not GLJEH
Below is my code. Instead of getting the record by Batch in GLBCTL, I get it from GLJEH by BATCHID and BTCHENTRY.
The errors that I get is:
1. Source Type cannot be blank - I check this field is from GLJEH, appears multiple times
2. Journal Header Attempt to change read-only field 'Debits'. - this field is from GLJEH, appears multiple times
3. Journal Header Attempt to change read-only field 'Source Types'. - this field is from GLJEH
But all that I am doing is adding new lines to GLJED. Please help. Thank you
Sub MainSub() On Error GoTo ACCPACErrorHandler ' TODO: To increase efficiency, comment out any unused DB links. Dim mDBLinkCmpRW As AccpacCOMAPI.AccpacDBLink Set mDBLinkCmpRW = OpenDBLink(DBLINK_COMPANY, DBLINK_FLG_READWRITE) Dim mDBLinkSysRW As AccpacCOMAPI.AccpacDBLink Set mDBLinkSysRW = OpenDBLink(DBLINK_SYSTEM, DBLINK_FLG_READWRITE) Dim GLBATCH1header As AccpacCOMAPI.AccpacView Dim GLBATCH1headerFields As AccpacCOMAPI.AccpacViewFields mDBLinkCmpRW.OpenView "GL0006", GLBATCH1header Set GLBATCH1headerFields = GLBATCH1header.Fields Dim GLBATCH1detail1 As AccpacCOMAPI.AccpacView Dim GLBATCH1detail1Fields As AccpacCOMAPI.AccpacViewFields mDBLinkCmpRW.OpenView "GL0010", GLBATCH1detail1 Set GLBATCH1detail1Fields = GLBATCH1detail1.Fields Dim GLBATCH1detail2 As AccpacCOMAPI.AccpacView Dim GLBATCH1detail2Fields As AccpacCOMAPI.AccpacViewFields mDBLinkCmpRW.OpenView "GL0402", GLBATCH1detail2 Set GLBATCH1detail2Fields = GLBATCH1detail2.Fields GLBATCH1header.Compose Array(Nothing, GLBATCH1detail1) GLBATCH1detail1.Compose Array(GLBATCH1header, GLBATCH1detail2) GLBATCH1detail2.Compose Array(GLBATCH1detail1) Dim GLPOST2 As AccpacCOMAPI.AccpacView Dim GLPOST2Fields As AccpacCOMAPI.AccpacViewFields mDBLinkCmpRW.OpenView "GL0030", GLPOST2 Set GLPOST2Fields = GLPOST2.Fields GLBATCH1headerFields("BATCHID").PutWithoutVerification ("000237") GLBATCH1headerFields("BTCHENTRY").PutWithoutVerification ("00001") ' Entry Number GLBATCH1header.Browse "", 1 GLBATCH1header.Fetch GLBATCH1header.Read GLBATCH1detail1.RecordCreate 0 GLBATCH1detail1Fields("ACCTID").Value = "7110" ' Account Number GLBATCH1detail1.Process GLBATCH1detail1Fields("SCURNCODE").Value = "USD" ' Source Currency GLBATCH1detail1Fields("TRANSAMT").Value = "20.000" ' Amount GLBATCH1detail1.Insert GLBATCH1batch.Read GLBATCH1header.Update Exit Sub ACCPACErrorHandler: Dim lCount As Long Dim lIndex As Long If Errors Is Nothing Then MsgBox Err.Description Else lCount = Errors.Count If lCount = 0 Then MsgBox Err.Description Else For lIndex = 0 To lCount - 1 MsgBox Errors.Item(lIndex) Next End If End If End Sub