Sybase Unwired Platform (SUP) has a couple different abbreviations that my lizard brain STILL needs to latch on to…
- PK – this has always always always meant “Primary Key” to me….
In SUP this has a primary meaning of “Personalization Key”, with a minor secondary meaning of database-style primary key. Driven by context – but whenever I see “pk_foo” my brain hits a speed-bump.
- CDB – from data federation systems and iAnywhere Mobilink, this means “Consolidated DataBase“.
In SUP this means the “Cache DataBase“. Of course their true meaning to the client device is very similar, so you can think of the CDB (cache db) as being a fancy CDB (consolidated DB). The CDB (cache) has nice things like a ‘global CDB’ and fine control over cache groups…
There are two server-side customizations you can put into your Mobile Business Objects (MBOs). You write these customizations in Java and deploy them with the MBO onto the server.
The checking & filtering are totally transparent to the consumer of the MBO.
The ‘result checker’ allows custom error checking for the MBO operations to occur on the server. Because these are written in Java, they have a rich set of capability. The main aspect to remember (that led to a customer asking the question) is that these result checkers execute on the server, and provide status information for the application running on the end-user’s device.
The online doc is (here).
Result Set Filter
Similar to the result checker, the ‘result set filter’ allows data to be manipulated (only during the read) before it is fed into the storage/cache for the MBO. This allows simple things like combining the first and last names into the single field “name”, or removing rows that do not fulfill some other requirement that is not in the BAPI definition.
Another nice feature of the result set ‘filter’ is that you can use multiple data sources, like a couple of SQL tables along with your SAP BAPIs to ‘join’ then into a single MBO result set.
The online doc is (here).
Here’s a simple little workaround/hack to add a simple bit of snap to your Hybrid Web Container applications. The ‘default value’ of any label control, or even the label on a control (like an entry field) can contain HTML markup.
This example shows:
a) A label field surrounded by <h1> presents as ‘header-1’ style text.
b) A label field with ‘default’ value of <hr /> presents as a horizontal rule.
c) The label for an entry field has the individual ‘N’ and ‘S’ set to bold.
d) This is executing on the Android emulator (using jQueryMobile as the framework).
a) Be careful about the HTML markup being used as an SUP ‘key’ – that is asking for trouble.
b) Make sure your HTML is properly closed. Just about everything resides in its own ‘DIV’ which is pretty sensitive to unbalanced markup.
c) We are planning on having a ‘correct’ implementation where everything can be tied to a CSS class, but this is still in the planning/talking stage.