Development changes in 10.6 sp13
Revision:30200 fix: When getting columns for a recordset, it could enter an infinite loop under some conditions with no returned recordsets.
Revision: fix: When getting recordsets from stored procedures, skip any with zero columns. Matching changes to DS and EDI-C for this.
Revision:30118 fix: Moved Internal curl handler to Interpreter, and moved necessary support changes from trunk.
Revision:30117 fix: Updated curl from 7.48 to 7.72. Fixed bugs with streaming post data.
Revision:30047 fix: Stop crash when checking if a string is an xml name, and the name was longer than a fixed buffer size.
Revision:30031 fix: Backported fix for all groups with unknown elements from trunk.
Revision:30016 fix: Classic mapping node property box was checking the first TWO characters of a variable name for numericness, not just the first ONE.
Development changes in 10.6 sp12
Revision:29832 fix: flatwrite(excel style) now working with wide filename.
Revision:29619 fix: xmlmatch() and xmlmatchfile() can handle matching after finding (and skipping) an unknown element.
Revision:29601 fix: flatdoc,xmldoc and interchanges are limited by memory and symbol table size. (Max 2 billion for all)
Revision:29600 fix: Fixed substr() leaking temporary variables when it's on the left, and the string type of the inserting and inserted strings need changing.
Revision:29584 fix: filesize() will report the size of larger files, now capped at 2gb rather than return 0 for a too large file.
Revision:29521 fix: Fix an error with all groups catching the end tag for the group as text outside an element.
Revision:29459 fix: Fixed end tag problems when reading a sequence embedded in another group.
Revision:29458 feature: First parameter for xtradecreatemessagerx/tx changed to be a blob rather than ANSI string.
Revision:29332 fix: Add procedure name to trace for EXEC SQL CALL and EXEC SQL PROCEDURE.
Revision:29290 feature: When importing an IMP file, and there may be a custom code conflict, a dialog pops up giving choices on what to do about the conflict, and whether to remember that choice for the rest of the import.
Revision:29263 feature: Export IMP split into two options - "Export IMP" and "Export IMP with code".
Revision:29260 feature: Export IMP split into two options - "Export IMP" and "Export IMP with code".
Revision:29243 fix: Fixed a bit of bad inheritance to make adding a @RETURN_VALUE to a classic mapping work again.
Revision:29232 fix: Text outside xml tags fires an error.
Revision:29230 fix: Text outside xml tags fires an error.
Revision:29057 fix: Can estimate data structure from json which includes numbers that have exponents.
Revision:29053 fix: jsonread() allows exponents in json numbers.
Revision:29035 fix: Function IDs for bytestooututf8() fixed so it doesn't replace edifile() respectively.
Revision:28991 fix: validating xml was converting pcdata's to current codepage before checking lengths. This was a bug waiting to happen for data that doesn't fit in the current codepage.
Revision:28951 fix: xmlread() now handles comments _after_ elements and before closing tag.
Revision:28941 fix custom input then files are bigger then 0.5mb and use memory mode.
Revision:28937 fix: Validating xsd:int allows negative integers.
Revision:28919 fix: ibzXtradeLoadDataStructure and ibzXtradeSaveDataStructure functions are no longer helped in DS, and raise an error in EDI-C compiler, as the xTrade Interpreter wrappper have deprecated them for years.
Revision:28900 fix: JSON Key dialog allows non-EDI-C variable names as labels, and wraps them in "quotes".
Revision:28855 fix: XML element names starting with a number will be wrapped with quotes in the PGM.
Revision:28742 fix: Fixed polarity of comparison for min/max/inclusive/exclusive for xml double type.
Revision:28740 fix: Fixed total/fractional digits validation for XML facet advanced dialog.
Revision:28731 fix: substr (...) = "..." fixed.
Revision:28730 fix: JSON number detection improved for exponent numbers.
Revision:28668 fix: When loading a bad cep into the interpreter, skip checking for tracename, and just return.
Revision:28667 fix: INSERT INTO ... varchar(max) column working now. It was fine in SELECT, but not as a parameter. nvarchar(max) also fixed.
Revision:28632 fix: Removed check for UNS segment in a group. That's exactly where it should be!
Revision:28591 Feature TM Removed setting for maxFetchTransactionCount, Added a method to view specific transaction page without using the next and previous buttons.
Revision:28456 fix: jsonread() handles all valid json escape sequences, not just \u
Revision:28326 fix: Auto-json typing now detects if there's anything after the exponent of a number.
Revision:28283 feature: Extended maximum record separator length from 2 to 3 characters.
Revision:28204 fix: Remove wrong checks for string length after a utf8 to wstring conversion. This was failing on surrogate pairs, eg
Revision:28200 fix: Better auto detect for valid json numbers.
Revision:28174 fix: SQL Inheritance for CEPs fixed. Database collection (and current database) shared by a shared pointer when appropriate. (ie, loadcep(...,"i"), edic() and edicm() ).
Revision:28107 fix: Filedate() - keeps wide filename for call to C's stat(), and now gives correct response.
Revision:28061 fix: json value type import/export to/from imp files fixed.
Revision:28042 fix: Correct element used for ->json and ->xml serial mappings in json/xmlwritelast().
Revision:27956 feature/fix: When a wide or utf-8 string could not be converted to an ANSI/Codepaged string, show at least some of the string that can not be converted.
Revision:27935 fix: jsonread() - in an array of objects, if a sub-object had read in a null for it's object, it removed the sub-object definition from later uses (ie, the next item in an array, etc)
Revision:27918 fix: Added %F to in format of dateformat()
Revision:27880 fix: Added a "I've had a fatal error" flag to the EDI-C compiler, and merged checking the fatal flag and cancel flag into one function. Added some "I should quit now!" cases to compiling xml declarations.
Revision:27857 fix: Flat imp files have edi-c code \"unescaped\" when being read, not just \"escaped\" when being written.
Revision:27842 fix: Remove check for constants / temporaries before calling edicm(). The documentation does allow to call it with non-variable parameters, and their values are just not retrieved.
Revision:27812 fix: Put do { ... } while(1) around sql unmapped repetitive loops.
Revision:27789 fix: flatread(x12) now uses memory mapped reading mechanism, instead of being capped at 128k inout file sizes.
Revision:27760 fix: When editing an attribute or pcdata, the advanced validation (ie, enum) was being lost unless the Advanced dialog was used.
Revision:27726 fix: routing with <blah.cep> working again.
Revision:27704 fix: Completely backport the whole of trunk SQL operations cpp file to 4.11 branch.
Revision:27696 Fix: Missed a change needed when migrating over 26457:"fix/feature: On failed SQL FETCH (or a single select, resulting in no records), any bound variables (or INTOs) will be cleared, and NULL flag set." from trunk.
Revision:27694 fix/feature: If jsonread() hits a UTF8 BOM at the start, it skips over it. BOMs should not be there, but the real world does not always follow the rules - and this is a harmless mistake if we skip over it.
Revision:27619 fix: Fixed a temp variable leak in xmlfindkey().
Revision:27570 fix: Compiler compiling quoted strings in SQL statements as 'single' quoted again.
Revision:27527 fix: Strings being used as datetime parameters were failing poorly when a date with no time was being passed in. Now "2019-03-05" works, and "2019-03-05 0:0:0" is not required.
Revision:27459 fix/feature: On failed SQL FETCH (or a single select, resulting in no records), any bound variables (or INTOs) will be cleared, and NULL flag set.
Revision:27456 fix: Take DS11's random() function and backported it. This fixed sign problems. (ie, random(1,2) could produce 1,2,-1 and -2...)
Revision:27376 fix/feature. Changed in Excel cell matching in InobizExcel to match old Excel.exe wrapper behaviour rather than documentation. (ie, now is 0 or more rather than 1 or more characters)
Revision:27289 fix: Moved new adddate() functionality to replace old addate() broken function.
Revision:27284 fix/feature: addate() marked as obsolete, but underlying function retained for old ceps. New adddate() function added (note correct spelling) and handled 19/20th century correctly. (copied from trunk)
Revision:26936 fix: Stored Procedure test dialog handles nvarchar(max) parameters now, not just big ones.
Revision:26861 fix: Escaped strings at the end of a flat file had an extra \0 in them.
Revision:26833 feature: Added 'F' flag to flatread/write meaning lengths use characters rather than byte length of strings. Particularly useful for utf8 strings. Also added checkbox to flat source/target mapping settings.
Revision:26748 Fixed Tm non file searches with no results showed the loading bar indefinitely.
Revision:26740 feature: RTS_Admin enlarged.
Development changes in 10.6 sp7..10 (Many service packs were for EDI-C changes)
26936 fix: Stored Procedure test dialog handles nvarchar(max) parameters now, not just big ones.
26833 feature: Added 'F' flag to flatread/write meaning lengths use characters rather than byte length of strings. Particularly useful for utf8 strings. Also added checkbox to flat source/target mapping settings.
26712 fix: Remove do {...} while (0) around non-repetitive (eg) record loops. It was causing confusion with older mappings with custom code, and not adding anything.
26712 fix: Changed "Inobiz - Log:" http header to "Inobiz-Log" for webceps.
26405 fix: No longer add #ERROR# to generated pgm when processing an unused RETURN_VALUE "column".
26076 fix: Allow processing json arrays at root when estimating structure from a json file.
25987 fix: Fixed an Estimate from JSON bug.
25967 feature: Made "Enclose record separators" button on Flat Source setting dialog bigger. This option checks for enclosed record separators.
25908 fix: No longer try and show column with when editing a variable flat file.
Development changes in 10.6 sp6
25707 sneakfeature: Made XSD Initial Expando depth changable with a registry setting:
HKEY_CURRENT_USER\Software\Inobiz\Devsys10.6\Settings\DevelopmentSystem.INI\XSD\ExpandDepth(DWORD)
25652 fix: Made buffers retrieving database information for DB explorer longer, as table/view/column names can be longer than 128... (That was not true when this code was first written).
Development changes in 10.6 sp5
25545 fix/feature: if the "T" flat is set, flatread() will treat escape characters literally, and will allow line breaks or other record separators inside escaped fields.
Added "enclose record separators" option to Flat | Source settings dialog.
25539 fix: Watch pane - Create New XXX File uses contents of column 1, not 2...
Development changes in 10.6 sp4
Non ANSI SQL names. Now you can have chinese tables and columns if you like.
Fixed flat file markers. When editing a flat fixed mapping, lines will appear on the source/target panes to mark where the data will be separated.
25132 feature "T" flag for xmlread, to treat encodings strictly. Without that flag (ie, all current mappings), Interpreter will double check ISO8859 encodings, as many are wrong.
25047 feature: DS works with non-ansi table and column names.
25035 feature: When editing a source fixed flat file, lines will show on the source data pane to show where a record header / fields will split the data.
25003 feature: Added Help > Release Notes menu command.
25166 fix: Editing an include file with no code won't cause a crash any more when it compiles cleanly in some cases.
25068 fix: Trying to set project properties for a file that's been deleted will no longer crash.
25061 fix: Copying first line on runtime pane in DS now shows [Exit] rather than an error string.
25059 fix: Non-ansi root elements supported when importing XSDs. They were imported before, but did not get enclosed in quotes.
25056 fix: Small fix to make loading XSDs from paths with non-ascii names be better at finding included XSDs. Does not change actual contents of generated Mapping.
24989 fix: Target sql test parameters for mapping will no longer be merged with mappings directory.
Development changes in 10.6 sp3
fix: Don't double up \'s when exporting record separators to IMP files. They're corrected for elsewhere in DS now.
fix: Export/Import of flat imp files works with serial and unbounded record groups and records.
fix: Target data pane works again, when running mapping under a project.
feature: Can edit namespace meta attribute of xml attributes. Only useful for xmlns:***** though.
Development changes in 10.6 sp2
Fixed memory leaks.
Development changes in 10.6 sp1
Split now can go from a large file with N items to many files with up to n items each, rather than just one each. Map from the loop item on the source side to to document on the target side AND a loop on the target side to get this functionality (and set the max items per file in mapping settings).
Revision: 24709 feature Nicer GUI for new N->n x m split mappings.
Revision: 24708 feature: xml/json/flat/edifact -> xml/flat/json Split->N works.
Revision: 24707 fix Split output files in DS will no longer be written with added junk on the end.
fix Split files will be reinitialised to start at 0 when a mapping is started.
Revision: 24705 fix: When running a mapping, it will be prompted for saving (along with pgm/cep) again.
Revision: 24698 fix: Split mappings will show utf8 output as well as non-utf8 strings.
Revision: 24694 fix: Make check for Serial->Split check if there even is a serial section first.
Revision: 24685 Changed install directories that had 10.5 to 10.6 (ie, catalogs)
Development changes in 10.6 SP0
There are a few utility changes to XSD based mappings, and importing WSDLs, but the big change is the enhanced watch window, introduced in the last service pack. You can now enter equations into it, not just variables. EDI-C now has NULLable types, and has been enhanced with two new functions, which are helpful for the watch window (and mappings using SQL): isnull() and address().
Revision: 24679 fix: When importing an XSD (for a new mapping, or expanding complex types), xds:import namespaces will be checked against the imported schema's targetNamespace. Mismatches will cause the import to fail, guarding against errors when locating xsd files.
Revision: 24663 fix: Make cancelling a "where has the XSD moved to" dialog not crash. Users are allowed to change their minds!
Revision: 24630 fix: When updating ancient mappings, handle field type "kMapExpression", so Expression: "6" becomes Statement <target>="6"; and so on.
Revision: 24623 feature: Expand Complex Type now works on an element if it has unexpanded children - it expands all children.
Revision: 24308 fix: Removed <. from characters that count as "words" for edi-c scintilla panes. That was making the "whole word" option in the find dialog useless.
Revision: 24304 fix: Fixed code-overlay in DS to look for the "user code" checkbox, rather than the presence of code.
Revision: 24266 feature: tooltips for edi-c code will show variable contents during debugging.
feature: tooltips for edi-c will now show help text for built in functions. ie, hovering over println will show text documenting that function.
Revision: 24249 Changed WSDL message dialog to use correct soap template locations.
Changed WSDL wizard to always save xsd's and soap xsd with the eds file, but saving the eds file is optional.
Revision: 24248 fix: DS will access the 10.5 (or appropriate) ProgramData path, rather than 10, which may not even exist.
Revision: 24243 Add to watch window for map tree items with children will add "address()" around the variable.
Revision: 24240 feature: Edit | Prettify works for XML files.
Revision: 24239 fix: Double clicking on lines in the runtime/trace panes in DS works again, showing the originating part of the mapping, and/or read errors in the source data.
feature: EDI-C strings and integers have a "I am null" metadata. This will be set if you set them to SQLNULL or null built in constants.
feature: SQL queries in EDI-C will detect a recordset item being NULL, and set the null flag on the string/integer the result ends up in.
feature: jsonwrite will check for the null flag, and write null in the json file if the value is auto or token types.
feature: EDI-C getproperty() command enhanced to process *any* valid expression. Temporary variables generated rely on a callback to the host to allocate memory, so some expressions will only work in DS for now.
feature: EDI-C has an isnull() function, to check for "nullness" of an edi-c variable.
feature: EDI-C has an address() function, which will convert where an (eg) xmlptr is pointing to. It also shows what object or dynamics have opened.
feature: Watch window in DS can have expressions as well as variables to monitor. Temporary results will be shown with a grey background to show they are not editable.
feature: Watch window in DS has a context menu, allowing you to show a variables contents in different ways, and to save/load the list of variables to watch.
feature: Debug window in DS has an "add to watch window" option.
Revision: 24230 feature: WSDL Loader now has a "Save to XSD" option, to save XSD's to make a message, rather than creating a mapping from the WSDL, then deleting the tmp XSD's.
Development changes in 10.5 SP4
Added code generation for serial/repitive mapping.
Trace separated into its own pane.
Watch window added.
Excel mappings made simpler.
Revision: 24208 Added Inobiz.ExcelHelper as a default install option to DevSys option.
Revision: 24207 feature: When changing an sql "table" to something beyond a simple table name, the record set columns will be fetched anyway.
Revision: 24198 fix: Stored procedure Test button disabled when there's no database connection to test against.
Revision: 24185 fix rts_admin connecting to RTS again to list installed ceps.
Revision: 24145 fix(eds): Pass the save options to xmlwritefirst
Revision: 24136 fix(eds/codegen): Write out edifact declarations defined as serial correctly
Revision: 24115 fix: Exporting XSD from DS will make legal XSD simpleContent for an element with attributes and no pcdata, and better XSD code if there is a pcdata.
Revision: 24113 Excel mapping get new icons for record/record set etc. More spreadsheet-y.
Revision: 24110 Made edifact segments + segment groups changable to serial.
Revision: 24088 fix: If a mapping's input file cannot be found, the error is shown again, instead of silently failing,
Revision: 24066 feat(edifact): Pass an index to each call of ediwritenext so the writer knows if it is the first element of a segment.
Revision: 24063 fix: Reset the large loop counter before entering a serial loop
Revision: 24061 perf(eds): Avoid copying strings and vectors where it is not necessary. prefix ++ avoids copies, Take arguments by const& where possible, Moving strings when the string is owned already
Revision: 24045 Fixed silly edifact codegen bug.
Revision: 24040 build: Changed some scintilla struct names in DS to match recent changes in scintilla headers.
Revision: 24038 Updated Scintilla to 3.7.2
Revision: 24037 Handle large<->serial better, especially when flat is in charge.
Revision: 24035 codegen for large->repetitive done.
Revision: 24034 Codegen for Repetitive to Large mappings done.
Revision: 24031 fix(eds): Emit ediwritelast during codegen
Revision: 24030 XML generated test data will be utf8 encoded now, rather than 8859.
Revision: 24006 Excel mappings now get a customise Mapping Settings Page all of their own. You can now set a template spreadsheet without needing to override ibzSave functions.
Revision: 24003 SQL mappings working with sql db explorer pane, rather than source/target panes.
Revision: 23999 Make DS generation of Test Excel input data forgiving of no separator information (ie, default), like flatread () (Excel style) is.
Revision: 23995 ?->Edifact large file loop working now.
Revision: 23993
Execution of EDI-C code for testing under DS has been moved about, so it's no longer attached to one document. That means you can edit a mapping after you have set it executing. It means you can switch to other files (ie, schemas) during mapping execution, and keep source/target and debug information current.
Trace information separated into it's own pane, and Runtime now just shows print(),println(),long(),longinfo(), and errors.
Watch window added, where you can put any variable to monitor, including xml paths. (ie, SOURCE.Element[7].pcdata).
Watch window allows editing of variable contents during debugging.
New status pane section, showing whether any EDI-C code is running, or debugging.
Revision: 23989 UI for edifact segments to be serial done.
Revision: 23953 New names in GUI for JSON write.
Revision: 23950 fix: Show xTrade license state better for ceps built in old compilers.
Revision: 23941 ODBC connection choices in DS extended to show User connections too. There are new icons for system/user connections to make it easy to tell them apart. Works for new mappings, mapping settings and DB explorer pane.
Development changes in 10.5 SP2
Revision: 23807fix: No longer wrap SQL columns, tables, etc in []'s. That will allow column names like ROUND(MyColumn,3), or UCASE(MyColumn) to exist.
Revision: 23805 fix accept non-standard XSD attributes in 'simpleType' definition
Revision: 23772 feature - when editing an SQL column, and changing the column name, the colun type will be auto changed if it matches a column in the table/view.
Revision: 23761 feature: Ctrl-F on *any* scintilla window (source code panes, pgm editors, code in xml attribute dialog) will popup a Find dialog, rather than using the Find Pane.
Revision: 23766 feature: Use new Scintilla lexer for JSON to show json files and target/source json data.
Revision: 23756 fix. Mapping of non-repetitive element (or record/record group) to edifact will use the left xxxxdata() edi-c function to determine if mapping should happen, rather than the right side.
Revision: 23755 fix tinyint type uses EDI-C integer, rather than string type.
Development changes in 10.5 SP1
Revision: 23707 Removed Mandatory/Conditional option for json values, as it's not relevant.
Revision: 23693 Edfiact target settings are all used, not just the ones on the right.
Revision: 23687 fix (edi-c) Wide string values in json/xml trees will be converted to UTF8 for parsed display in DS.
Revision: 23687fix (edi-c) Json trees will be shown as json rather than xml in on-the-fly debug view in target pane in DS.
Revision: 23687 DS - SQL mappings turn off source/target data from edi-c. The results were empty anyway.
Development changes in 10.5 SP0
Revision: 23577 Added "trim whitespace" option for Flat Source / Fixed input files.
Revision: 23549 Fixed xml imp handling not dealing properly with unescaping code.
Revision: 23523 Make sure stored procedure names don't have [], or ""'s around them when editing them. That will be added later.
Revision: 23497 Add EDS option for controlling leading field separator
Revision: 23461 .edsold is attached to mapping doctype.
Revision: 23401 WSDL parsing: allow attributes 'id' and 'version' for element 'schema'
Revision: 23305 X12 record separators changed from \\n to \n
Revision: 23280 Cause a codegen error if an element has no children of any kind.
Also make json test file generation slightly more robust. (Should be a non-issue with the first change)
Revision: 23276 X12: Ignore record separator set in imp files for X12, and hard code it to \n.
Revision: 23257 Fixed SQL SELECT repetitive loop to set SQLSTATE to "00000" first.
Revision: 23232 feat(edi-c/flat): Add a parameter to specify which encoding the flat file should be written as
Revision: 23226 feat(edi-c): Allow the encoding to be specified for reading of flat files
Currently only UTF-8 and Ansi (codepage) are allowed options as that is the only encodings implemented for the flat parser.
Auto attempts to deduce the encoding from the BOM characters if they exist (the old behaviour).
Revision: 23071 Removed check to see which side edifact is on, before showing editable index []'s.
Revision: 23047 Removed the // 1:2:3 level comments from ibzConvert, as right clicking on the code pane has a "find where I came from" option already in it, so this removes clutter.
Revision: 22975 When updating eds flat files, non-ut8 record id's are updated to utf8.
ds: When editing text, edifact, json and xml files, a bom is no longer saved with them.
Revision: 22962 ds(fix) Small fix to make Edifect's Replace Message context menu command work
Development changes in 10.4 SP4
Unbounded repetitions added for flatfile.
Implementation gude fixed.
Revision: 22949 Added .h and .fn to valid edi-c include names.
Revision: 22943 Improve overloaded function matching, to check the function declared on the right, not just the label on the left.
Revision: 22904 Add quotes around element names with invalid characters in the xsd importer
Revision: 22869 Don't automatically show Source Data pane when a mapping finishes.
Revision: 22849 Estimate json works with "key":null values, later followed by "key:something vales.
Revision: 22830 Default to filter for all files (.) when selecting test files for mappings.
Revision: 22810 Added *.inc as a valid include file type, adding to fcn. Only loadable types are permitted as includes now.
Revision: 22801 No longer add []'s to table names, as that was preventing use of joins for select statements.
Revision: 22777 SQL Dataase Explorer pane columns will autosize to fit content and headers.
Development changes in 10.4 SP3.
22752 Data to char/nchar columns will be chopped off, to prevent sql errors. Later versions of EDI-C will introduce a SQL OPTIONS STRICT ON/OFF command to regulate this.
22749 Fixed a new flatread ("m") Excel style bug.
22744 Added new types to flat fields to know what type of Excel cell to write (number, alpha, date, formula etc) when using Excel.Helper dll.
22735 * Trace for if (p) improved, and xmlptr p = blah... (); if (!p) now works too.
22727 Fix to xmlfindvalue () when it only has 4 parameters.
22726 Trace output changed, to be tab separated with more columns, and no interrupting headers.
22725 Excel write: Don't increment row counter for empty record
22721 zipcompress() trace arguments lengthened to make it easier to diagnose archiving problems.
22718 * XML processing instructions better handling
22711 jsonread() will now respect the "ignore unknown element" and "silently ignore" flags, like xmlread() xmlmatch(),xmlmatchfile(),JsonMatch() and jsonmatchfile() all have an optional last parameter for read flags, just as xmlread() and JsonRead(). If any read flags are set in the mapping, the optional match flags parameter will be used in code generation, otherwise it will be left off, to help with compatibility with older Interpreters.----
22703 COM changes, so we can call IDispatch::Invoke with too few parameters for optional parameters.
22698 Excel Read does pattern matching better now. Excel helper can set "current sheet" name, not jus by index.
22693 xml validation accepts pcdata/attribute lengths larger than 65000
22690 xmlread() - when element under XML root was unknown and 'Accept unknown elements' was set, reading was stopped
22674 xmlread check if pointer to child is null in function that reads element children - fixes a rare read bug.
22671 println("") is not swallowed in the callback stage, so works again.
22666 xmlwrite() conditional/mandatory element
22665 jsonread () - Fix to permit empty objects , ie: "iain" : {}
22664 Better check for mandatory/conditional elements in xmlwrite()
22658 Write xml elements if the are empty but are mandatory, xmlwrite()
22643 Fixed a bug in xmlread() with all groups and parseskip child items.
22642 logerrorfunc() and loginfofunc() functions will be given priority over external callbacks. That's why they are there, after all!
22639 xtrade functions auto load xtmapfunc.dll. xtradeload()/unload() are backwards compatible stubs now.
22627 Added row pattern matching method to Excel.Helper dll. Excel flat file loading now goes straight into flat tree. Excel memory reading does not have to go via a temp file for Excel.Helper calls.
22625 Better error text when data for fields longer than defied
22624 Fixed bigint column type for SQL INSERT.
22617 Removed some memory leaks in interpreter when using StructOpen/StructClose, used by Admin.
22616 EDIFACT, fixed reading last char in IEA record
22613 Removed unnecessary prologue text from flat/edi/xml Parsed Data text. Shown in Source/Target data panes in DS.
22605 sha() function implemented. Trace now adds ...more after 400. It had two checks, and I found a second place.
22593 Better check on conditional elements
Development changes in 10.4 SP2.
Revision: 22600 When making expandable elements, check if the real element would have a pcdata - and if so, just put it in as normal. Saves making parseskip elements, that when expanded just have a pcdata anyway!
Revision: 22599 Allow disabling of the last child of an edifact segment/segment group.
Revision: 22530 DS does not generate <target>="blah blah" for xmlns root attributes on xml generated from XSD's on the source side of a mapping.
Revision: 22529 Fixed base64decode() bug, which added extra \0's to end of decoded blob to round length up to 3.
Revision: 22527 Changed text for "silently ignore missing elements" to "silently ignore unknown elements"
Revision: 22526 Generating Attributes from XSD's will force them to be optional, unless explicitly required. Saved a bug with ambiguous use type.
Revision: 22511 Redid code generation for web cep functions to make them easier for customers to extend, and to work nicely with databases.
Revision: 22480 Excel mappings will now have a *.xls/*.xlsx file mask when browsing for in/out files.
Revision: 22459 EDIFACT replace message command now sets the "needs saving" flag
Revision: 22453 XSD export more efficient, with elements with just simple pcdata being exported inline in parent element, with no boring restrictions. Makes for a smaller XSD!
Revision: 22452 Export XSD working better with attributes and sequences
Revision: 22450 WHERE statements show where clause in tooltip
Revision: 22445 After estimating xml map from xml file, fill in any elements with no child element(s) with a pcdata.
Revision: 22444 Top level xmlns: attribute names are now filled in when estimating a map tree from xml
Development changes in 10.4
22288 When making up a filename for excel mappings, use xls/xlsx, instead of txt.
22277 Added new Excel file library option. If this optional library is not installed, DS will fall back to using Excel automation.
22254 Removed unnecessary sequence groups from xsd's based on extending complex types.
22252 Fixed xsd expando's to work with ref's that have multiple elements in them.
22248 Fixed an RTS issue with SV names. ACP vs UTF8 issue.
22234 Small DS fix to make println ("aaa\nbbb") appear on two lines
22221 Made pgm utf8 conversion cleverer, to detect mixture of valid utf8 with swedish characters left in.
22218 Some ugly hacks added to code that takes in old mappings to supprt a v60 edifact mapping.
22210 Added background build to projects.
22206 Special case when processing base types - result was earlier that just attribute appeared in element but not pcdata
22198 Changed runtime pane handling to a timer, and added a delay to the interpreter for each runtime feedback proportional to the pending queue size. Prevent flooding DS with println's.
22183 RTS admin tab in DS now remembers last 8 servers.
22166 Copy/Cut enabled for most sql.
22165 When adding a cep/mapping etc to RTS, use just the filename part for the name, not the whole path.
22155 Macros in trace paths are processed before being sent to the interpreter. ie, <filedir>trace.log
22132 Mapping settings: If source/target paths are relative, "absolutise" them relative to the mapping path. ie, can now do: .\aaa.xml
22131 Updated sql where column to statement defines. Made codegen more resilient to changing sql table types.
22121 Fixed Find coption on pgm context menu. Ctrl-F already worked.
22120 Columns for table select on right side of a mapping no longer generate default contents, as that over writes contents from the select.
22117 Fixed a breakpoint bug, where it stopped at the line *after* where the breakpoint was.
22114 Fixed: Pasting in a license file chopped it in half... (ie, unicode, string length used instead of memory length)
22111 When loading mappings with corrupted tree data, throw away corrupted data, so we can at least get a partial mapping.
22106 More old mappings can load into DS10. Also added a feature that was in virtual tables before, using the "only execute if statement is true", but the DS10 version applies to Flat, XML and JSON code folders too.
22103 Small fix when loading older mappings with custom code, now they get inserted into new mappings properly.
22096 New xml mappings can specify schema and root element from the new mapping dialog. Chosen schemas will be remembered.
22081 Fix sql mapping upgrades. Function that moved virtual columns to a separate table group, and made sure select statements were at the top caused things to die - and apparently ended up not being necessary.
22058 EDI-C compile cancellable, so easier to make changes to large mappings withough having to wait for previous background compile to finish.
22048 Json large file support added to DS.
22021 Json mappings can be mapped to/from document root. Supports change in EDI-C to handle json arrays at start of file.
22007 Edifact def files loadable too, similar to XSD's.
22000 Target data pane no longer activated when a mapping is finished.
21988 Fixed "\"" problems in macro processor.
21966 XSD now loading, and shown as tree, not just as XML.
21949 Array parts of ?->edifact mappings should be editable again.
21927 Sql pane handles Oracle databases better
21924 Codegen will work with xml doc and elements of the same name now, without compile errors.
21917 DS now has "oracle" or [ms] style wrapping of table names as a choice in mapping > settings.
21912 Code generation handles <path> macros in userdefined functions better.
21909 Wrap sql column query in "" rather than [], so it's more oracle friendly.
21908 Split mappings cache metadata (argv[8]), adapter metadata (argv[9]) and input remote id (argv[5]) when ibzPushSplit is called in split mappings, so metadata and outpdata are synched.
21905 flatwrite align/padding extended to have Oxy for "alphanumeric" fields. Defaults to "OL " as it acted before.
21895 If you override ibzXtrade functions, they will appear in the right place in the pgm, even if you don't rename the override label. Otherwise, they were being skipped.
21862 Added ibzLoadDataFromFile/ibzLoadDataStructure to code gen warnings if only one is over-ridden
21841 When only one of ibzSaveDataStructure or ibzSaveDataToFile is overloaded, give a build warning.
INSERT where statement can have a breakpoint active.
INSERT tables get a "where" back. It has no code, but is used as the location of the statement, so you can put virtual code above or below.
If only one of ibzXtrade functions are overloaded, cause an error.
DS will show the license upgrade panel when there is no license.
DS now has a "check mandatory element and composite" choice in Edfact source/target dialogs in Mapping > Settings
Development changes in 10.3 sp 1
Support for UBL 2.1
File version changed from 10.00 to 10.30. Files saved in 10.3 will not be backward compatible.
Large file works in xTrade DLL
Removed Target Type. Generated code for xTrade, now uses the same for Integration Server and xTrade.
Live Mapping
Stop on runtime error / log
RTServer pane
Macro errors showing. Double click on them to see the map code with the error.
XML parse skip elements added
Accept XSD documents without any XML header
XML context menu has an "advanced" sub menu, with "Normalise Group Names" on it, converting (eg) AllGroup23 to AllGroup and so on.
Locate map link works with edifact segment groups (eg NAD.NAD)
Debug - Delete all breakpoints implemented
Background mapping will put error comments on source data pane about read errors
Flat read will give a better error when the error is right at the start
Generate test data streams directly to a file now, rather than a string in memory. Should prevent big schems exploding DS with "generate test data"
SQL table groups now can be mapped to a split (eg) flat file, and get ibzPushSplit.
When an xsd is used to create an xml structure, the original xsd data is stored in the element that is tat the root of the new tree.
As the sub xsd's will need to be stored too, the wsdl wizards have been changed to allow the xsd's to be cached in the map tree, rather than elsewhere.
XSD parser has been changed slightly:
Writing of soap header has a parameter added to replace "wsdl.xsd" with the root xsd of the unwrapped schema
XSD parser changed to point to an outside schema cache
XSD schema lexer changed to take the xsd contents from that outside cache, rather than a file, as the original file might not exist any mores
XSD export redone, creating complexTypes to keep the size of the xsd down.
XML active context menu has "Show all mappings" menu option, expanding the map tree where necessary to show all parts of the tree that are mapped.
Generate test file for big xml mappings fixed
Runtime pane auto scrolls
Development changes in 10.2 sp 1
Map item property dialogs are now resizable, making it easier to edit EDI-C code, without needing the "Enlarge editor" button, which is almost obsolote now.
The code underneath now works in Unicode, enabling many other updates.
Database Explorer pane now shows nchar and ncharchar columns in their native unicode.
SQL Stored procedure test dialog now works with nchar & nvarchar better too.
Autocomplete greatly improved - it no longer requires the mapping or pgm to compiler completely, but will work with partial data. Local variables work better too.
When debugging, if a variable is visible in the Debug pane (ie, a local variable in the current function, or a global one), hovering over it with the mouse in the source code pane will show a tooltip for that variable.
You can step into a method call, so you can debug into child ceps loaded with loadcep. If you step into a cep from an eds file, the pgm for the source code pane will be generated dynamically.
Code gen tidied up to remove empty "do { } while (0);" loops. These are caused by records and elements which are not mapped.
Tooltips for less often used EDI-C functions have been filled out. Functions that have been deprecated are no longer shown in autocomplete, and will give a warning when compiling.
Using the IS dynamic object's ibzIntegrationServerAPI.AdapterFw_Event_Post function will now put the event text in the runtime pane. Mostly useful when debugging adapters, but it can be used in conversions too.
Find pane has a "Match Whole Word" option, to keep the "Match Case" option company.
XML facet enums are easily accessible from a new drop down button in xml pcdata and attribute dialogs.
Similarly, all map dialogs that show edi-c code have a "<>" macro drop down button, to make it even easier to add macros.
Bug fixes: New edifact mappings will work again. The comments at the top of the new def files were confusing the parser.
Fixed bug caused when a file in a project is not in the same drive as the project file.
DS 10.2
CRM helpers, pane and map edit boxes.
WSDL Parser overhaul
Data read errors. If there is a parsing problem when loading data, double clicking on the rror will show the error in the Source Data pane.
High DPI support - 100 and 200% supported.
Updated and expandable Mapping Settings
CEP code decompiler (more to come!)
DS8 flat file map descriptions preserved
Licensing changed to allow N users, but each can have as many DS's as they like
Fixed background compile sync bug, mainly affected pgm's.
Better handling of macros and comments
Right click option for Debug pane to show variable contents as a new document
Dragging/dropping a source node will update any map links on the target side. (just like rename will)
flatread's enclose options gets a box in Map Settings
Excel map data shown in a Spreadheet like grid.
When debug stepping through a mapping, the map tree selection is updated too.
DS 10.1
Breakpoints introduced for debugging.
New data type for mappings: JSON.
Description field shown in columns in mappings.
Edifact, Odette and X12 catalogs have all been updated to included descriptions.
Live error reporting from mappings and pgms.
"Find code mapping here" option added, to balance "Find map link" option.
Ability to select EDI-C code created from a mapping item.
Built in Split ability for mappings.
Projects have Debug Context, making it easier to run a mapping like IS, or xTrade would.
If a mapping (or other file) you have loaded is changed by another program, DS detects this and offers to reload.
0 Comments