Codeunit 18122350 EOS JSON Import Helper
Obsolete
Pending: This codeunit is no longer supported. (22.0)Codeunit 18122350 EOS JSON Import Helper
Methods
GetAvailableImportHandlers
procedure GetAvailableImportHandlers(var Buffer: Record "Name/Value Buffer")
Creates and returns a list of all available import handlers on the current tenant.
Parameters / Return Value
Buffer
Record "Name/Value Buffer"
A temporary buffer that will contain a list of all registered import handlers.
ImportJson
procedure ImportJson(ImportId: Guid)
Imports a .zip
file containing one or more JSON files for importing data to a specific app.
The user must provide a ZIP-file to be imported that is then uploaded to the server.
Parameters / Return Value
ImportId
Guid
The GUID of the app for which the imported data is intended.
ImportJson
procedure ImportJson(ImportId: Guid; Force: Boolean)
Parameters / Return Value
ImportId
Guid
Force
Boolean
ImportJson
procedure ImportJson(ImportId: Guid; zipStream: InStream; force: Boolean; var TmpImportBuffer: Record "EOS JSON Import Buffer")
Imports a .zip
file containing one or more JSON files for importing data to a specific app.
Parameters / Return Value
ImportId
Guid
The GUID of the app for which the imported data is intended.
zipStream
InStream
A stream containing a
.zip
that is imported.force
Boolean
if true will delete all record with same key
TmpImportBuffer
Record "EOS JSON Import Buffer"
A temporary buffer that will contain a copy of all the import entries that have been created. Please note that this is just a copy. The effective import entries are immediately saved to the database.
ImportJson
procedure ImportJson(ImportId: Guid; zipStream: InStream; var TmpImportBuffer: Record "EOS JSON Import Buffer")
Imports a .zip
file containing one or more JSON files for importing data to a specific app.
Parameters / Return Value
ImportId
Guid
The GUID of the app for which the imported data is intended.
zipStream
InStream
A stream containing a
.zip
that is imported.TmpImportBuffer
Record "EOS JSON Import Buffer"
A temporary buffer that will contain a copy of all the import entries that have been created. Please note that this is just a copy. The effective import entries are immediately saved to the database.
RunImportAll
procedure RunImportAll(var Buffer: Record "EOS JSON Import Buffer")
Starts the import operation for the given import entries. All records in the provided set will be processed.
Parameters / Return Value
Buffer
Record "EOS JSON Import Buffer"
A set of records of import entries to be processed. Every record in this dataset will be processed.
ImportExists
procedure ImportExists(importId: Guid): Boolean
Indicates whether at least one import entry exists for a given app.
Parameters / Return Value
importId
Guid
The GUID of the app to check for.
Returns
Boolean
true
if at least one import entry exists,false
otherwise.
StartProgress
procedure StartProgress(Buffer: Record "EOS JSON Import Buffer")
Initializes a generic progress window for a single import entry, providing table name, record count and a percentage bar.
Parameters / Return Value
Buffer
Record "EOS JSON Import Buffer"
The import entry for which to open the progress window.
StartProgress
procedure StartProgress(EntryNo: Integer)
Initializes a generic progress window for a single import entry, providing table name, record count and a percentage bar.
Parameters / Return Value
EntryNo
Integer
The import entry for which to open the progress window.
StopProgress
procedure StopProgress()
Closes an open progress window that has been created via StartProgress
.
ReadNext
procedure ReadNext(): Boolean
Reads the next record from the JSON dataset currently loaded in memory and moves the current record pointer to it.
Parameters / Return Value
Returns
Boolean
true
if a record has been read,false
if there are no more records to be read.
SetRecordNo
procedure SetRecordNo(NewRecordNo: Integer): Boolean
Sets the record pointer to a specific record.
Parameters / Return Value
NewRecordNo
Integer
The index of the record.
Returns
Boolean
true
if the pointer has successfully changed.false
if no record with this index exists.
FillTable
procedure FillTable(var RecRef: RecordRef)
Fills a given RecRef with all values in the record to which the current record pointer points.
Parameters / Return Value
RecRef
RecordRef
The target RecRef on which to set values.
FillTable
procedure FillTable(var RecRef: RecordRef; var ErrorMsgBuffer: Record "Error Message" temporary; ThrowOnFirstError: Boolean)
Fills a given RecRef with all values in the record to which the current record pointer points.
Parameters / Return Value
RecRef
RecordRef
The target RecRef on which to set values.
ErrorMsgBuffer
Record "Error Message"
A temporary error message buffer that will receive any errors that happen during the operation.
ThrowOnFirstError
Boolean
Specifies whether the first error causes the entire operation to fail. If you set this to
false
, no errors will be generated and it is up to you to handle any errors generated during the operation.
GetFieldValueAsText
procedure GetFieldValueAsText(fieldNo: Integer): Text
Returns the value of a given field ID on the current record as Text
.
Parameters / Return Value
fieldNo
Integer
The ID of the field to read.
Returns
Text[]
The value. If the field does not exist, an empty string is returned.
GetFieldValueAsDecimal
procedure GetFieldValueAsDecimal(fieldNo: Integer; defValue: Decimal): Decimal
Returns the value of a given field ID on the current record as Decimal
.
Parameters / Return Value
fieldNo
Integer
The ID of the field to read.
defValue
Decimal
A default value that is used, should the field not exist or if the conversion fails.
Returns
Decimal
The value. If the conversion fails, the provided default is returned.
GetFieldValueAsDecimal
procedure GetFieldValueAsDecimal(fieldNo: Integer): Decimal
Returns the value of a given field ID on the current record as Decimal
.
Parameters / Return Value
fieldNo
Integer
The ID of the field to read.
Returns
Decimal
The value. If the conversion fails, a runtime error occurs.
GetFieldValueasRecordID
procedure GetFieldValueasRecordID(var fld: FieldRef)
Reads the value of a given field ID on the current record as RecordId
.
Parameters / Return Value
fld
FieldRef
The field where to read the value into.
GetFieldValueasRecordID
procedure GetFieldValueasRecordID(fieldNo: Integer; var recID: RecordId)
Returns the value of a given field ID on the current record as RecordID
Parameters / Return Value
fieldNo
Integer
The ID of the field to read
recID
RecordId
The return value
GetFieldValueAsInteger
procedure GetFieldValueAsInteger(fieldNo: Integer): Integer
Returns the value of a given field ID on the current record as Integer
.
Parameters / Return Value
fieldNo
Integer
The ID of the field to read.
Returns
Integer
The value. If the conversion fails, the provided default is returned.
GetFieldValueAsInteger
procedure GetFieldValueAsInteger(fieldNo: Integer; defValue: Integer): Integer
Returns the value of a given field ID on the current record as Integer
.
Parameters / Return Value
fieldNo
Integer
The ID of the field to read.
defValue
Integer
A default value that is used, should the field not exist or if the conversion fails.
Returns
Integer
The value. If the conversion fails, the provided default is returned.
GetFieldValueAsBigInteger
procedure GetFieldValueAsBigInteger(fieldNo: Integer; defValue: BigInteger): BigInteger
Returns the value of a given field ID on the current record as BigInteger
.
Parameters / Return Value
fieldNo
Integer
The ID of the field to read.
defValue
BigInteger
A default value that is used, should the field not exist or if the conversion fails.
Returns
BigInteger
The value. If the conversion fails, the provided default is returned.
GetFieldValueAsBigInteger
procedure GetFieldValueAsBigInteger(fieldNo: Integer): BigInteger
Returns the value of a given field ID on the current record as BigInteger
.
Parameters / Return Value
fieldNo
Integer
The ID of the field to read.
Returns
BigInteger
The value. If the conversion fails, the provided default is returned.
GetFieldValueAsDateFormula
procedure GetFieldValueAsDateFormula(var fld: FieldRef)
Reads the value of a given field ID on the current record as DateFormula
.
Parameters / Return Value
fld
FieldRef
The field where to read the value into.
GetFieldValueAsDateFormula
procedure GetFieldValueAsDateFormula(fieldNo: Integer; var Formula: DateFormula)
Reads the value of a given field ID on the current record as DateFormula
.
Parameters / Return Value
fieldNo
Integer
The ID of the field to read.
Formula
DateFormula
The value.
GetFieldValueAsGuid
procedure GetFieldValueAsGuid(fieldNo: Integer; defValue: Guid): Guid
Returns the value of a given field ID on the current record as Guid
.
Parameters / Return Value
fieldNo
Integer
The ID of the field to read.
defValue
Guid
A default value that is used, should the field not exist or if the conversion fails.
Returns
Guid
The value. If the conversion fails, the provided default is returned.
GetFieldValueAsGuid
procedure GetFieldValueAsGuid(fieldNo: Integer): Guid
Returns the value of a given field ID on the current record as Guid
.
Parameters / Return Value
fieldNo
Integer
The ID of the field to read.
Returns
Guid
The value. If the conversion fails, the provided default is returned.
GetFieldValueAsBoolean
procedure GetFieldValueAsBoolean(fieldNo: Integer; defValue: Boolean): Boolean
Returns the value of a given field ID on the current record as Boolean
.
Parameters / Return Value
fieldNo
Integer
The ID of the field to read.
defValue
Boolean
A default value that is used, should the field not exist or if the conversion fails.
Returns
Boolean
The value. If the conversion fails, the provided default is returned.
GetFieldValueAsBoolean
procedure GetFieldValueAsBoolean(fieldNo: Integer): Boolean
Returns the value of a given field ID on the current record as Boolean
.
Parameters / Return Value
fieldNo
Integer
The ID of the field to read.
Returns
Boolean
The value. If the conversion fails, the provided default is returned.
GetFieldValueAsDate
procedure GetFieldValueAsDate(fieldNo: Integer; defValue: Date): Date
Returns the value of a given field ID on the current record as Date
.
Parameters / Return Value
fieldNo
Integer
The ID of the field to read.
defValue
Date
A default value that is used, should the field not exist or if the conversion fails.
Returns
Date
The value. If the conversion fails, the provided default is returned.
GetFieldValueAsDate
procedure GetFieldValueAsDate(fieldNo: Integer): Date
Returns the value of a given field ID on the current record as Date
.
Parameters / Return Value
fieldNo
Integer
The ID of the field to read.
Returns
Date
The value. If the conversion fails, the provided default is returned.
GetFieldValueAsDateTime
procedure GetFieldValueAsDateTime(fieldNo: Integer; defValue: DateTime): DateTime
Returns the value of a given field ID on the current record as DateTime
.
Parameters / Return Value
fieldNo
Integer
The ID of the field to read.
defValue
DateTime
A default value that is used, should the field not exist or if the conversion fails.
Returns
DateTime
The value. If the conversion fails, the provided default is returned.
GetFieldValueAsDateTime
procedure GetFieldValueAsDateTime(fieldNo: Integer): DateTime
Returns the value of a given field ID on the current record as DateTime
.
Parameters / Return Value
fieldNo
Integer
The ID of the field to read.
Returns
DateTime
The value. If the conversion fails, the provided default is returned.
GetFieldValueAsTime
procedure GetFieldValueAsTime(fieldNo: Integer; defValue: Time): Time
Returns the value of a given field ID on the current record as Time
.
Parameters / Return Value
fieldNo
Integer
The ID of the field to read.
defValue
Time
A default value that is used, should the field not exist or if the conversion fails.
Returns
Time
The value. If the conversion fails, the provided default is returned.
GetFieldValueAsTime
procedure GetFieldValueAsTime(fieldNo: Integer): Time
Returns the value of a given field ID on the current record as Time
.
Parameters / Return Value
fieldNo
Integer
The ID of the field to read.
Returns
Time
The value. If the conversion fails, the provided default is returned.
GetFieldValueAsBlob
procedure GetFieldValueAsBlob(fieldNo: Integer; var TempBlob: Codeunit "Temp Blob")
Returns the value of a given field ID on the current record as a Blob
.
Parameters / Return Value
fieldNo
Integer
The ID of the field to read.
TempBlob
Codeunit "Temp Blob"
An instance of
TempBlob
that will contain the BLOB data.
InsertData
procedure InsertData(RecRef: RecordRef; Overwrite: Boolean; runtrigger: Boolean)
Perform an insert into a recordRef
Parameters / Return Value
RecRef
RecordRef
The recordRef that need to perform insert
Overwrite
Boolean
if true, existing record (same key) will be overwritten. Only modified fields
runtrigger
Boolean
If true will run the trigger
FieldExist
procedure FieldExist(fieldNo: Integer): Boolean
Returns true or false according to the existence of a certain field ID in the current record
Parameters / Return Value
fieldNo
Integer
The filed ID that needs to be checked
Returns
Boolean
Exists or not (true, false)
AddValue
procedure AddValue(var RecRef: RecordRef; oldID: Integer; newID: Integer)
Assign the value to a record ref, given the new field ID and Old Field ID
Parameters / Return Value
RecRef
RecordRef
The recordref to which assign the value
oldID
Integer
Old Field ID where get the value
newID
Integer
The new destination field ID
AddValueIf
procedure AddValueIf(condition: Boolean; var RecRef: RecordRef; oldID: Integer; newID: Integer) ConditionResult: Boolean
Same as AddValue but insert data only if the condition is true
Parameters / Return Value
condition
Boolean
the condition, if true will insert data
RecRef
RecordRef
The recordref to which assign the value
oldID
Integer
Old Field ID where get the value
newID
Integer
The new destination field ID
Returns
Boolean
Events
OnRunImport
local procedure OnRunImport(Buffer: Record "EOS JSON Import Buffer"; var Success: Boolean; var ErrorMessage: Text)
Subscribe to this event to execute all necessary import operations for a given import entry.
Obviously: you should only react to this event, if the app ID of the entry matches your app ID.
The subscriber should never, in any case, raise any runtime errors. Always use IF Codeunit.RUN() THEN
or a TryFunction
.
If you want to comunicate a failure or error, use the two parameters Success
and ErrorMessage
.
Parameters / Return Value
Buffer
Record "EOS JSON Import Buffer"
The import entry to be processed. Do not attempt to modify this.
Success
Boolean
Set this to
true
to signal that the operation was successful. Set this tofalse
to indicate that some kind of error occurred.ErrorMessage
Text[]
If
Success
is set tofalse
, you should provide a meaningful error message to the end user using this parameter.
OnDiscoverImportHandlers
local procedure OnDiscoverImportHandlers(var Buffer: Record "Name/Value Buffer")
Use this event to register your app as an available import handler.
Parameters / Return Value
Buffer
Record "Name/Value Buffer"
A key/value buffer. Your app should only created one single entry with the ID of your app as
Key
and anything you like asValue
. It is, however, a good idea to use your app’s name asValue
.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.