D
dbeavon
Guest
>> sharing details of the issues you ran into The primary issue is that I and other ABL developers in my team (with 10 years or more of ABL experience) have a hard time interacting with the related API. There are a lot of pitfalls and it is easy generate invalid data. I'm wondering if others have the same difficulty. Hopefully Progress will revisit this topic now that they have added OO features to the language. I suppose I could write my own OO wrappers that would have better semantics than the existing API, but that seems like something which customers shouldn't be doing on their own. Even Progress seems to have difficulty with their own datetime/timezone API. Here is a bug that I had reported some time ago. Progress KB - Inconsistency assigning datetime-tz to datetime As a result of that support case, a new client session parameter was created ( -usesessionTZ ). And the default behavior prior to OE 11.7 was to preserve the bug mentioned in the KB. Here is the documentation for " -usesessionTZ ": OpenEdge 11.7 Documentation That is one of several pitfalls when interacting with time-related functionality in ABL. Other pitfalls aren't necessary because of Progress bugs, but we run into them because of the way the API was designed. It is hard to use it without scrutinizing the documentation to see how each function and variable-assignment is supposed to behave. Like I said earlier, things would be easier if data types had different names than functions, if functions didn't have so many overloads that worked so differently from one another, and if there wasn't so much auto-magical behavior that seems to depend on the value of SESSION:TIMEZONE.
Continue reading...
Continue reading...