Offline Data Caching Native iOS

Hi, guy
I am working on Offline Data SMP 3.0, i am saved Service Document and MetaData in cache already but, when turn off internet connection, I will read service document and metadata in cache but i can not get service document schema and metadata schema because entityType in service document and metadata are null, Please suggest me how to read service document and metadata in Cache on Offline Mode or give me some example.
Thank you

You have to leverage cache library to store the service document and metadata document. My expert area is not IOS, I have a sample code for Android. Given below is an example :
IODataServiceDocument serviceDocument = null;
try {
//Getting Service Document from the cache
serviceDocument =
(IODataServiceDocument)mApplication.getCache().readDocument(
DocumentType.ServiceDocument,
FlightModelConstants.FLIGHT_MODEL_SERVICE_DOCUMENT);
} catch (CacheException e) {
Log.v(TAG, e.getLocalizedMessage());
//Checking if Service Document was not found in cache,
if (serviceDocument == null) {
mProgress =
ProgressDialog.show(this,
(CharSequence) "",
(CharSequence)
getString(R.string.serviceDocumentProgress),
true);
mRequestTag = REQUEST_SERVICE_DOCUMENT;
//Preparing request to retrieve Service Document from the server
IRequest request =
RequestBuilder.getInstance().buildServiceDocumentRequest(this,
REQUEST_SERVICE_DOCUMENT);
//Sending the request
mApplication.getRequestManager().makeRequest(request);
} else {
Toast.makeText(this, R.string.msgServiceDocumentCache,
Toast.LENGTH_LONG).show();
//Service Document was in the cache, now we are going to retrieve the
Schema
this.getServiceSchema();
The APIs are given in bold letters. Hope that helps.
Code to be added in onSuccess callback method to store the document:
IODataServiceDocument serviceDocument = parser
.parseODataServiceDocument(responseString);
mApplication.getCache().storeDocument(serviceDocument,
DocumentType.ServiceDocument,
FlightModelConstants.FLIGHT_MODEL_SERVICE_DOCUMENT);

Similar Messages

  • SMP3 - AppDevelopment (native iOS Offline):

    Hi, I have a question on SMP3 and AppDevelopment (native iOS Offline):
         when i am online the posting of data to backend is working fine, when i go offline and add an entry the log shows the message as follows
    now i came to online , the automatic calling of offline requests are not invoking.
    As for postbody i am using a Json format
    {"Street":"","CityX":"","BankCountry":"IN","BankName":"Off-Test","City":"","Region":"","BankKey":"32106","__metadata":{"uri":"http://xxxxxxxxx:8080/com.chandu.bankdelta/BankSet(BankCountry='IN',BankKey='32106')"},"BankNameX":""}
    help me where i go wrong.
    Regards
    Siva Chandu

    Hi Midhun,
         i have add these libraries
        this is the code i am using for post.
        ODataEntry *newBank = [[ODataEntry alloc] initWithEntitySchema:[self.smpCont.serviceDocument.schema getCollectionByName:@"BankSet"].entitySchema];
        ODataPropertyValueObject* filterValue = [newBank getPropertyValueByPath:@"BankCountry"]; 
        [filterValue setValue:@"IN"];
        ODataPropertyValueObject* filterValue1 = [newBank getPropertyValueByPath:@"BankKey"];
        [filterValue1 setValue:self.idTF.text];
        ODataPropertyValueObject* filterValue2 = [newBank getPropertyValueByPath:@"BankName"];
        [filterValue2 setValue: @"Off-Test"];
        ODataPropertyValueObject* filterValue3 = [newBank getPropertyValueByPath:@"Street"];
        [filterValue3 setValue: @""];
        ODataPropertyValueObject* filterValue4 = [newBank getPropertyValueByPath:@"CityX"];
        [filterValue4 setValue: @""];
        ODataPropertyValueObject* filterValue5 = [newBank getPropertyValueByPath:@"Region"];
        [filterValue5 setValue: @""];
        ODataPropertyValueObject* filterValue6 = [newBank getPropertyValueByPath:@"BankNameX"];
        [filterValue6 setValue: @""];
        ODataPropertyValueObject* filterValue7 = [newBank getPropertyValueByPath:@"City"];
        [filterValue7 setValue: @""];
        ODataEntryBody *entryBody1 = buildODataEntryRequestBody(newBank, ENTRY_OPERATION_CREATE, self.smpCont.serviceDocument, NO, BUILD_STYLE_JSON);
    [RequestBuilder setRequestType:HTTPRequestType];
        [RequestBuilder enableXCSRF:YES];
        NSString *url = [NSString stringWithFormat:@"%@%@",self.appEndPointURL,urlString];
        url = [url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
        id<Requesting> request = [RequestBuilder requestWithURL:[[NSURL alloc] initWithString:url]];
        [request setRequestMethod:@"POST"];
        [request setUsername:self.username];
        [request setPassword:self.password];
        [request addRequestHeader:@"X-SUP-APPCID" value:self.appConnectionID];
        [request addRequestHeader:@"Content-Type" value:@"application/json; charset=UTF-8"];
    NSString *postBody = [entryBody1 body];
    NSMutableData *data = [NSMutableData dataWithData:[postBody dataUsingEncoding:NSUTF8StringEncoding]];
        [request setPostBody:data];
    if([[Reachability reachabilityForInternetConnection] currentReachabilityStatus] != NotReachable)
            [request setDelegate:sender];
            [request setDidFinishSelector:finishSelector];
            [request setDidFailSelector:failSelector];
            NSLog(@"Starting initial asynchronous POST request for Travel Agency Create");
            [request startAsynchronous];
            return;
        else{
            [RequestBuilder setDelegate:self];
            [RequestBuilder setDidFinishSelector:@selector(OfflineRequestSuccesSelector:)];
            [RequestBuilder setDidFailSelector:@selector(offlineRequestFailedSelector:)];
            [request setCacheUrlKey:url];
            NSLog(@"Starting initial synchronous POST request for Travel Agency Create");
            [request startAsynchronous];
            return;
    note : I am using Mac OS 10.7.5
    ref : 1933862 - SAP Mobile SDK 3rd Party Installation Version Requirements
    Regards
    Siva Chandu.

  • SMP3.0 SP05 register process and reconnect in native iOS app

    Hi,
    we do this steps Getting started with SMP3 Native OData iOS apps to get a native iOS application functioning through the SAP Mobility platform version 3.0 SP05 and retrieving data from OData services.
    But we do not understand the register process completely.
    If we install the app and do the register process and retrieve the data everything is ok. A user with the ApplicationConnectionID is registered in in SMP. But if we start the app again (without a new installation) we do not register the user again an set the connection id we get in the registration process:
    [self.clientConn setApplicationConnectionID:[selfreadInPlistMitKey:@"appConnectionID"]];
    we set the encryptionKey in the manager and initialize the Cache once for the application launch.
    [EncryptionKeyManager setEncryptionKey:key withError:nil];
    But if we want to retrieve the data we get a Request Failed.
    2015-01-15 18:13:31.885 AuthTest[12663:5b07] Firing requests from DB...
    2015-01-15 18:13:31.886 AuthTest[12663:4c07] UrlString:   http://smpServerAdress:8080
    2015-01-15 18:13:31.889 AuthTest[12663:4c07] Connectivity changed...
    2015-01-15 18:13:31.889 AuthTest[12663:4c07] Detected network...
    2015-01-15 18:13:31.889 AuthTest[12663:4c07] Start queue...
    2015-01-15 18:13:31.900 AuthTest[12663:4c07] UrlString:   http://smpServerAdress:8080
    2015-01-15 18:13:31.906 AuthTest[12663:907] Request Failed
    What do we wrong? Where is the different between the request with registration an without.
    Thanks,
    André

    Hi Ali,
    thank you but this was not realy what we need. But we can now register without to use the MAFLogonScren but when we whant to open the Online Store we get this error: "OpenStore failed with network error: 401 unauthorized" Do you know what we cvan do against this error or what the reason of this error is?
    Here is the code snipped what we use:
        MAFLogonUIViewManager *logonUIViewManager = [[MAFLogonUIViewManager alloc] init];
        NSObject<MAFLogonNGPublicAPI> *logonManager= logonUIViewManager.logonManager;
        HttpConversationManager* httpConvManager = [[HttpConversationManager alloc] init];
        [[logonManager logonConfigurator] configureManager:httpConvManager];
        MAFLogonCore *lc = self.appDelegate.lc;
        MAFLogonContext *context;
        if ([lc unlockSecureStore:@"abcd1234" error:&error]) {
            context = [lc getContext:&error];
        MAFLogonRegistrationContext *regContext = context.registrationContext;
        SODataOnlineStore *onlineStore = [[SODataOnlineStore alloc]
                                          initWithURL:[NSURL URLWithString:regContext.applicationEndpointURL]
                              httpConversationManager:httpConvManager];
        [onlineStore setOnlineStoreDelegate:self];
        [onlineStore openStoreWithError:&error];

  • What do you recommend to use as an offline data store, since SQL CE support is not in VS 2013?

    A few years back I was architecting an occasionally connected .Net desktop application. 
    VS 2010 was offering full support for Microsoft Sync Framework and SQL CE with Entity Framework. 
    This seemed like the perfect marriage, so I ran with it, and the resulting software solution is still successfully running in production, years later. 
    Jump forward to today, and I am architecting a new occasionally connected .Net desktop application. 
    I was really looking forward to taking advantage of the advances made by Microsoft in using the tools built into VS 2013. 
    However, what I discovered has dumbfounded me.  VS 2013 has no designer support for Sync Framework, and worse, built in support for SQL CE has been completely removed, including the ability to generate Entity Framework models from a
    CE database using the designer. 
    My question to the community is, what tools should I be using to solve the problem of offline storage in my brand new .Net application? 
    I am aware of ErikEJ’s SQL Server Compact Toolbox, which brings back some support for these features in VS 2013, but it is not as fully featured as the VS 2010 native support was, plus it does not have the institutional “Microsoft” stamp on it. 
    I am building a multimillion dollar corporate solution that I will have to support for many years.
     I would like to have some comfort that the technologies I select, today, will still be supported 5 years from now, unlike the way Microsoft has discontinued supporting Sync Framework and CE in the most recent VS. 
    I can accept open source technologies, because there is a community behind them, or off the shelf corporate solutions, since they will be driven by financial gain, but I have trouble committing to a solution that is solely supported by an individual,
    even if that person is a very talented Microsoft MVP.
    Some of the features of SQL CE that I would like to keep are
    Built in encryption of the file on disk
    Easy querying with an ORM, like Entity Framework
    Tools to easily sync up the offline data store with values from SQL Server (even better if this can be done remotely, such as over WCF)
    Does not require installation of additional software on the client machine, as SQL Express would
    Please, provide your feedback to let me know how you have achieved this, without resorting to simply using an older version of VS or Management Studio. 
    Thank you.

    Hello,
    Based on your description, you can try to use SQL Server 2012 Express LocalDB.
    LocalDB is created specifically for developers. It is very easy to install and requires no management, but it offers the same T-SQL language, programming surface and client-side providers as the regular SQL Server Express.
    SQL Server LocalDB can work with Entity Framework and ADO.NET Syc Framework. However, there is no built-in encryption feature in LocalDB which
    can let you encrypt database. You should decrypt/encrypt data on your own, for example, using
    Cryptographic Functions
    Reference:SQL Express v LocalDB v SQL Compact Edition
    Regards,
    Fanny Liu
    If you have any feedback on our support, please click here.
    Fanny Liu
    TechNet Community Support

  • What is the event by which i can get that user deny the offline data store when the message comes in the browser

    I have an application which stores manifest for offline use. Now firefox asking for a confirm message that if i want to allow or not. If i say 'allow' the application works fine. but if i say 'not now' or 'never for this site' the application stops. What is the event to check that user deny to allowing store data. i used different option like - cached,noupdate,error,uncached,idle,obsolete. as an example- applicationCache.addEventListener('idle', function () {});
    but none of this says that user deny to allow. Please tell me the option that i can check that user does not want to allow and do my rest work.

    It should be possible to allow offline data storage for only certain websites, and that setting is in Options > Advanced > Network. If the answer is "don't do it", then it should not be done. Is that not what is happening?

  • Question about MAXCPU and clearing data cache

    Hi all,
    We're running MaxDB 7.6.03.15 and have following questions. I apologize for not grouping them together with my earlier set of questions along the similar lines.
    1. What would be an appropriate value for our application for MAXCPU when running on a quad processor machine. The application consists of the MaxDB along with 4 windows services and an instance of tomcat. Can we use 4 for MAXCPU or does it always need to be something less than the total number of CPUs on the machine (less than 4 here?). Please advise.
    2. When we're doing query execution time analysis we need to be able to clear data cache in between query runs. We achieve this so far by simply bringing the database offline and then online again. The problem with this approach is its time consuming and if we do 100 query runs a lot of time is spent in waiting for the database go from online to offline to online again. Please let us know if there's an alternative faster way to achieve the same.
    Thanks for your time.
    Sincerely,
    Sameer

    > 1. What would be an appropriate value for our application for MAXCPU when running on a quad processor machine. The application consists of the MaxDB along with 4 windows services and an instance of tomcat. Can we use 4 for MAXCPU or does it always need to be something less than the total number of CPUs on the machine (less than 4 here?). Please advise.
    Of course you may set MAXCPU to 4 - but you risk that the four Usertask UKTs will use up all CPU resources on your system then.
    So it is usually better to be rather defensive with this. If you're unsure about the CPU needs of your other services better try out and check starting with MAXCPU 2.
    > 2. When we're doing query execution time analysis we need to be able to clear data cache in between query runs. We achieve this so far by simply bringing the database offline and then online again. The problem with this approach is its time consuming and if we do 100 query runs a lot of time is spent in waiting for the database go from online to offline to online again. Please let us know if there's an alternative faster way to achieve the same.
    Well, x_cons pagecache_release should do that for you.
    But I never was able to really see the effect of it (e.g. reading the pages in again).
    If I'm not mistaken in this point - which is pretty easy because the command is rarely used and sparsely documented - it just moves the pages to the lower end of the lru list and thereby making them candidates for getting moved out of cache but not actually doing it.
    However why don't you just use the resource monitor to figure out how many pages are touched by your statements?
    Then you don't have to bounce your instance.
    regards,
    Lars

  • Dynamic Calc Issue - CalcLockBlock or Data Cache Setting

    We recently started seeing an issue with a Dynamic scenario member in our UAT and DEV environments. When we tried to reference the scenario member in Financial Reports, we get the following error:
    Error executing query: The data form grid is invalid. Verify that all members selected are in Essbase. Check log for details.com.hyperion.planning.HspException
    In SmartView, if I try to reference that scenario member, I get the following:
    The dynamic calc processor cannot allocare more than [10] blocks from the heap. Either the CalcLockBlock setting is too low or the data cahce size setting is too low.
    The Dynamic calcs worked fine in both environments up until recently, and no changes were made to Essbase, so I am not sure why them stopped working.
    I tried to set the CalcLockBlock settings in the Essbase.cfg file, and increases the data cache size. When I increases the CalcLockBlock settings, I would get the same error.
    When I increased the data cache size, it would just sit there and load and load in Financial Reporting and wouldn't show the report. In SmartView, it would give me an error that it had timed out and to try to increase the NetRetry and NetDelay values.

    Thanks for the responses guys.
    NN:
    I tried to double the Index Cache Setting and the Data Cache setting, but it appears when I do that, it crashes my Essbase app. I also tried adding the DYNCALCCACHEMAXSIZE and QRYGOVEXECTIME to essbase.cfg (without the Cache settings since it is crashing), and still no luck.
    John:
    I had already had those values set on my client machine, I tried to set them on the server as well, but no luck.
    The exact error message I get after increasing the Cache settings is"Essbase Error (1042017) Network error: The client or server timed out waiting to receive data using TCP/IP. Check network connections. Increase the olap.server.netConnectTry and/or olap.server.netDealy values in teh essbase. proprieties. Restart the server and try again"
    From the app's essbase log:
    [Wed Jun 06 10:07:44 2012]Local/PropBud/Staffing/admin@Native Directory/4340/Error(1023040)
    msg from remote site [[Wed Jun 06 10:07:44 2012]CCM6000SR-HUESS/PropBud/NOIStmt/admin/Error(1042017) Network error: The client or server timed out waiting to receive data using TCP/IP. Check network connections. Increase the NetRetryCount and/or NetDelay values in the ESSBASE.CFG file. Update this file on both client and server. Restart the client and try again.]
    [Wed Jun 06 10:07:44 2012]Local/PropBud/Staffing/admin@Native Directory/4340/Error(1200467)
    Error executing formula for [Resident Days for CCPRD NOI]: status code [1042017] in function [@_XREF]
    [Wed Jun 06 10:07:44 2012]Local/PropBud/Staffing/admin@Native Directory/4340/Warning(1080014)
    Transaction [ 0x10013( 0x4fcf63b8.0xcaa30 ) ] aborted due to status [1042017].
    [Wed Jun 06 10:07:44 2012]Local/PropBud/NOIStmt/admin@Native Directory/4340/Info(1013091)
    Received Command [Process local xref/xwrite request] from user [admin@Native Directory]
    [Wed Jun 06 10:07:44 2012]Local/PropBud/NOIStmt/admin@Native Directory/4340/Info(1008108)
    Essbase Internal Logic Error [1060]
    [Wed Jun 06 10:07:44 2012]Local/PropBud/NOIStmt/admin@Native Directory/4340/Info(1008106)
    Exception error log [E:\Oracle\Middleware\user_projects\epmsystem2\diagnostics\logs\essbase\essbase_0\app\PropBud\NOIStmt\log00014.xcp] is being created...
    [Wed Jun 06 10:07:46 2012]Local/PropBud/NOIStmt/admin@Native Directory/4340/Info(1008107)
    Exception error log completed E:\Oracle\Middleware\user_projects\epmsystem2\diagnostics\logs\essbase\essbase_0\app\PropBud\NOIStmt\log00014.xcp please contact technical support and provide them with this file
    [Wed Jun 06 10:07:46 2012]Local/PropBud///4340/Info(1002089)
    RECEIVED ABNORMAL SHUTDOWN COMMAND - APPLICATION TERMINATING

  • Offline data synchronization

    We are trying to use the offline data synchronization feature of DMS using data modeling.
    Below is the only example we found on adobe site and its working.
    http://help.adobe.com/en_US/LiveCycleDataServicesES/3.1/Developing/WS4ba8596dc6a25eff-56f1 c8f4126dcd963c6-8000.html
    Also we have read “occasionally connected client”  and Model driver applications documentation in lcds31 user guide.
    Is there any other example to demonstrate how to use the offline data sync?. We don’t want to generate the  Java code and use assembler class for this .
    In our example we are implementing the SearchCustomerList Funcationality. Based of search criteria a list of customers is displayed to the user.
    Beloew are the configuration settings
                            var cs:ChannelSet = new ChannelSet();
                            var customChannel:Channel = new RTMPChannel("my-rtmp",
                                        "rtmp://wpuag85393:2038");
                            cs.addChannel(customChannel);
                            this.serviceControl.channelSet=cs;
                            this.serviceControl.autoCommit = false;
                            this.serviceControl.autoConnect = false;
                            this.serviceControl.autoSaveCache = true;
                            this.serviceControl.offlineAdapter = new
                                        com.deere.itarch.adapter.MaintainCustomerBeanOfflineAdapter();
                            this.serviceControl.fallBackToLocalFill=true;
                            this.serviceControl.encryptLocalCache = true;
                            this.serviceControl.cacheID = "localCache";
    CASE I:
    Below is our understanding of offline data sync. for our implementation.
    ·          LCDS server is started and application is connected to the server.
    ·          User enters search criteria and clicks the Search Button.
    ·          Data is fetched and displayed on the screen.
    As autoSaveCache is set to true it should automatically save result in local cache
    ·          Shut down the LCDS server.
    ·          Close the earlier Search Window.
    ·          Run the application and open the customer search page.
    ·          Enter the same search criteria and click search.
    ·          Result : Nothing is displayed on screen. ( No data fetched from local cache)
    Many times we are getting error cannot connect to server ( when server is running 50% of times)
    We also tried setting reconnect strategy to instance. ( but this is also not working)
    Also can you please provide end-to-end sample for data synchronization.

    Good to see you got a little further along with your application. I'm not sure why setting autoconnect to true helped.
    Regarding your search, I'm not sure how you implemented that but the easiest way to do it with model-driven development is by using a criteria filter. It will result in a new query in your offline adapter. You just add a filter element to an entity in your model and in that filter you specify your like expression. I added one to the doc sample app as an example. When you generate code for the offline adapter, you'll be able to see the proper structure for the like clause too. I'm including my fml and offline adapter source below.I've also included the MXML so you can see how I called the new filter method from the client. After I saved to the local cache, and I went offline, I successfully performed the search in the client app. There were no issues with it.
    Here's my fml. The new filter is in bold text. I should have chose a better filter name, since it will generate a method called byProductName, which is very close to the existing getByProductName. But you'll get the idea. Once you add the filter, just remember to redeploy your model and regenerate your code.
    Regarding your question about associations, I'll look into that, but I think you would generate offline adapters for each entity involved in the association and your relationships should behave correctly offline.
    <model xmlns="http://ns.adobe.com/Fiber/1.0">
        <annotation name="DMS">
            <item name="datasource">java:/comp/env/jdbc/ordersDB</item>
            <item name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</item>
        </annotation>
        <entity name="Product" persistent="true">
            <annotation name="ServerProperties" ServerType="LCDS"/>
            <annotation name="DMS" Table="PRODUCT"/>
            <annotation name="VisualModeler" width="114" height="88" x="66" y="79"/>
            <annotation name="ActionScriptGeneration" GenerateOfflineAdapter="true" OfflineAdapterPackage="com.adobe.offline"/>
            <id name="productid" type="integer">
                <annotation name="DMS" ColumnName="PRODUCTID"/>
            </id>
            <property name="description" type="string" length="255">
                <annotation name="DMS" ColumnName="DESCRIPTION"/>
            </property>
            <property name="price" type="float">
                <annotation name="DMS" ColumnName="PRICE"/>
            </property>
            <property name="productname" type="string" length="255">
                <annotation name="DMS" ColumnName="PRODUCTNAME"/>
            </property>
            <filter name="byProductName" criteria="productname like"/>
        </entity>
    </model>
    Here's the new query for byProductName in my offline adapter, which contains a valid like clause. That section of the adapter is in bold text.
    * This is an auto-generated offline adapter for the Product entity.
    package com.adobe.offline
    import mx.core.mx_internal;
    import mx.data.SQLiteOfflineAdapter;
    import mx.utils.StringUtil;
    use namespace mx_internal;
    public class ProductOfflineAdapter extends SQLiteOfflineAdapter
         * Return an appropriate SQL WHERE clause for a given set of fill parameters.
         * @param originalArgs fill parameters
         * @return String representing the WHERE clause for a SQLite SQL
        override protected function getQueryCriteria(originalArgs:Array):String
            var args:Array = originalArgs.concat();
            var filterName:String = args.shift();
            var names:Array = new Array();
            switch (filterName)
                case "byProductName":
                    // JPQL: select Product_alias from Product Product_alias where Product_alias.productname like :productname
                    // Preview: productname like :productname                
                    names.push(getTargetColumnName(["productname"]));
                    return StringUtil.substitute("{0} like :productname", names);
                    break;
            return super.getQueryCriteria(originalArgs);
    Here's my modified MXML. I'm still calling getAll(), but after that I use the new filter to filter the results/datagrid display to just the subset that matches the string I input in the search field. This results in a new call to productService.byProductName(), which is the client-side method generated from the filter element in my model.
    <?xml version="1.0" encoding="utf-8"?>
    <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
                           xmlns:s="library://ns.adobe.com/flex/spark"
                           xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:OfflineAIRAPP="TestOfflineApp.*"
                           preinitialize="app_preinitializeHandler(event)"
                           creationComplete="windowedapplication1_creationCompleteHandler(event)">
        <fx:Script>
            <![CDATA[
                import com.adobe.offline.ProductOfflineAdapter;
                import mx.controls.Alert;
                import mx.events.FlexEvent;
                import mx.messaging.Channel;
                import mx.messaging.ChannelSet;
                import mx.messaging.channels.RTMPChannel;
                import mx.messaging.events.ChannelEvent;
                import mx.rpc.AsyncToken;
                import mx.rpc.events.FaultEvent;
                import mx.rpc.events.ResultEvent;
                public var myOfflineAdapter:ProductOfflineAdapter;
                public function channelConnectHandler(event:ChannelEvent):void
                    productService.serviceControl.autoConnect=false;
                protected function 
                    app_preinitializeHandler(event:FlexEvent):void
                    var cs:ChannelSet = new ChannelSet();
                    var customChannel:Channel = new RTMPChannel("my-rtmp",
                        "rtmp://localhost:2037");
                    cs.addChannel(customChannel);
                    productService.serviceControl.channelSet=cs;
                    customChannel.addEventListener(ChannelEvent.CONNECT,
                        channelConnectHandler);
                protected function dataGrid_creationCompleteHandler(event:FlexEvent):void
                    getAllResult.token = productService.getAll();
                protected function
                    windowedapplication1_creationCompleteHandler(event:FlexEvent):void
                    productService.serviceControl.autoCommit = false;
                    productService.serviceControl.autoConnect = true;
                    productService.serviceControl.autoSaveCache = true;                
                    productService.serviceControl.fallBackToLocalFill=true;
                    productService.serviceControl.encryptLocalCache = true;
                    productService.serviceControl.cacheID = "myOfflineCache4";
                protected function connectBtn_clickHandler(event:MouseEvent):void
                    productService.serviceControl.connect();
                protected function disconnectBtn_clickHandler(event:MouseEvent):void
                    productService.serviceControl.disconnect();
                protected function commitBtn_clickHandler(event:MouseEvent):void
                    productService.serviceControl.commit();
                protected function saveCacheBtn_clickHandler(event:MouseEvent):void
                    productService.serviceControl.saveCache();
                protected function clearCacheBtn_clickHandler(event:MouseEvent):void
                    productService.serviceControl.clearCache();
                protected function button_clickHandler(event:MouseEvent):void
                    getAllResult.token = productService.byProductName("%"+key.text+"%");
            ]]>
        </fx:Script>
        <fx:Declarations>
            <mx:TraceTarget />       
            <s:CallResponder id="getAllResult" />
            <OfflineAIRAPP:ProductService id="productService"
                                          fault="Alert.show(event.fault.faultString + '\n' +
                                          event.fault.faultDetail)"/>
            <s:CallResponder id="byProductNameResult"/>
            </fx:Declarations>
        <mx:DataGrid editable="true" x="141" y="10" id="dataGrid"
                     creationComplete="dataGrid_creationCompleteHandler(event)"
                     dataProvider="{getAllResult.lastResult}">
            <mx:columns>
                <mx:DataGridColumn headerText="productid" dataField="productid"/>
                <mx:DataGridColumn headerText="description" dataField="description"/>
                <mx:DataGridColumn headerText="price" dataField="price"/>
                <mx:DataGridColumn headerText="productname" dataField="productname"/>
            </mx:columns>
        </mx:DataGrid>
        <s:Button x="10" y="246" label="Connect" click="connectBtn_clickHandler(event)"
                  id="connectBtn" width="84" height="30"/>
        <s:Button x="112" y="204" label="Save to Local Cache" id="saveCacheBtn"
                  click="saveCacheBtn_clickHandler(event)" height="30"/>
        <s:Button x="110" y="246" label="Commit to Server" id="commitBtn"
                  click="commitBtn_clickHandler(event)" width="135" height="30"/>
        <s:Button x="10" y="204" label="Disconnect" id="DisconnectBtn"
                  click="disconnectBtn_clickHandler(event)" height="30"/>
        <s:Label x="270" y="204" text="{'Commit Required: ' +
                 productService.serviceControl.commitRequired}"/>
        <s:Label x="270" y="246" text="{'Connected: ' +
                 productService.serviceControl.connected}"/>
        <s:TextInput x="10" y="19" id="key"/>
        <s:Button x="10" y="49" label="Search" id="button" click="button_clickHandler(event)"/>   
    </s:WindowedApplication>

  • Essbase data cache setting not registering

    Hi,
    We have 64-bit essbase. I changed the data and Index cache setting (storage type Buffered IO) in essbase.
    After restarting the database, I see the value getting updated in the "Index cache current value" but the value in the "Data cache current value" is zero.
    These are planning essbase databases. The behavior is same for the native essbase dbs.
    I have also tried restarting the essbase service. The essbase version 11.1.1.3
    Please help.
    Regards,
    Avi

    Indes and data caches work differently and it is probably good to talk about that. When an Essbase database starts, it will grab all of the memory you have defined for the index cache and nothing else can get at it. Data cachs is grabbed as it is needed until it reaches the maximum. It was truly problematic in the old days when we had much less memory to work with. If you started too many applications, you took all available memory right away. Man I feel old talking about it :)

  • Error in Starting Oracle BAM Active Data Cache

    I am not able to start "Oracle BAM Active Data Cache" on my machine.
    The other two components "Oracle BAM Event Engine" and "Oracle BAM Report Cache" are starting properly.
    When I see the event log file of my Computer I could see the details as below:
    Event Type: Error
    Event Source: Oracle BAM Active Data Cache
    Event Category: None
    Event ID: 0
    Date: 2/7/2007
    Time: 3:51:25 PM
    User: N/A
    Computer: CHNANDA-WXP
    Description:
    ActiveDataCache: The Oracle BAM Active Data Cache service failed to start. Oracle.BAM.ActiveDataCache.Common.Exceptions.CacheException: ADC Server exception in Startup(). ---> Oracle.DataAccess.Client.OracleException ORA-12541: TNS:no listener at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure)
    at Oracle.DataAccess.Client.OracleConnection.Open()
    at Oracle.DataAccess.Client.OracleConnection.Open()
    at Oracle.BAM.ActiveDataCache.Kernel.StorageEngine.Oracle.OracleStorageEngine.GetServerVersion()
    at Oracle.BAM.ActiveDataCache.Kernel.StorageEngine.Oracle.OracleStorageEngine.Startup(IDictionary oParameters)
    at Oracle.BAM.ActiveDataCache.Kernel.Server.DataStoreServer.Startup()
    --- End of inner exception stack trace ---
    at Oracle.BAM.ActiveDataCache.Kernel.Server.DataStoreServer.Startup()
    at Oracle.BAM.ActiveDataCache.Kernel.Server.Server.Startup()
    at Oracle.BAM.ActiveDataCache.Service.DataServer.Run()
    For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
    Could anyone pls help me?
    Thanks and Regards,
    Chinmaya Nanda

    hi Chinmaya -can yoy tell us your companyname,project ? Your problem is very simple.BAM ADC is notable to reachoracle db.fromyour dos prompt- try tnsping <yrDB> [default  is oraclebam  or orcl  ]/ Also see FAQ pages. there is a requirement on dos prompt setting, with <clientforBAM>as 1st parameter

  • HT201299 Not enable or disable cellular data for certain iOS apps and features from setting? I keep it off but when I go to other app it on automatic

    I can't  enable or disable cellular data for certain iOS apps and features from  setting.
    When I off data for specific application and go to other option it automatic on all application
    Any one can help

    SOLUTION! (NO NEED TO RESET YOUR IPHONE SETTING!)
    I have the same issue for the last two weeks. But i have already managed to solve the issue all by myself. When i go to Settings > Cellular > below the tab "use cellular data for:", i turned off some apps which i didnt want to use with cellular data. As soon as i go back to Settings, and then i went back to Cellular, the apps which i had switched off earlier, automatically turned back on.
    Here's the solution:
    Either you're using wifi or cellular data, first of all you're gonna hafto turn on the cellular data use for App Store. Once you have turned it on, go to App Store application. Update ALL the apps which have new updates available. If it asks you to log in your App Store, just do so. If there's something wrong with your debit or credit card information, it will ask you to update to a different card. Just do what it asks. Put in a new credit or debit card info and fill in the forms provided. The card you're using must be usable and has usable balance in it. Let's say atleast $10 to $20. As soon as it confirms your card successfully, the app updates will start automatically. Continue to update all the apps. After all updates are finished, go back to Settings > Cellular. Try to switch on or off some apps for data use and recheck.
    Try it yourself! Have a nice day and don't put a blame on Apple for this.
    From Malaysia, with love.
    Please hit LIKE button if this solve your issue. Thank you very much! (:

  • Web Application - Data caching of enterprise data

    Sorry in advance if this is off-topic but I can't find anywhere else to post this type of question.
    I am looking for information/suggestions such as books, technology or design methodology for my enterprise web applications. These sites are currently up and functional using only JSP, servlets and regular Java classes stored in a web application session to provide data caching and access. We are using Weblogic Server 6.1 running on an AIX Unix system at this time. I'm not sure that this is the best design architecture as our web sessions are getting too large but I can't think of any other Java technology to use and I need some help. Here's an overview of our environment and our needs.
    Our core data is held in a mainframe based IMS system. Some DB2 is also used. Access to this data is through IMS COBOL transactions which we can execute with IMS Connect. We also use some JDBC to get to the DB2 tables directly where available.
    Some overall application data is cached when the web application is deployed. We use singleton classes which are created and refreshed at deployment and they then refresh themselves from the sources every 24 hours.
    Each time a user logs in we execute several IMS transactions and JDBC calls to cache user specific data in regular Java classes which are then simply placed in the users web session where we access them from JSP, servlets and other Java classes. The fields in these Java classes range from any type of primitive field to TreeMaps of other Java classes. As the data is cached it is sorted and other fields are calculated and stored in these classes. As the user progresses through the system we then may have to do several other IMS transaction and JDBC calls to collect other types of data. All of this is then also added to the users session. Most of this in inquiry. We do allow transactions but those are built from user input and data already cached and are then we just execute the IMS transactions with the input.
    As our application has grown these Java classes have gotten larger and larger. And since these are simply stored in server memory in the web sessions then these are also getting huge. I'm concerned that this is not the best way for this application to be architected. Is there something else we should be doign? I simply don't understand how Entity Java Beans could be used but then again I don't know much about them. I wouldn't think that caching the data to a local database and accessing it from there would be any more efficient and would probably just slow down the system from all the I/O.
    Any help or direction would be greatly appreciated.

    The best book you can buy is 'Professional Java Server Programming, j2ee edition' by Wrox. It is by far the best reference I've used. Another quick reference consideration might be the j2ee book provided by codenotes... its quick and to the point.

  • Can I use cellular data for updating ios 7.0.2 to 7.0.4 in iPhone 5

    Can I use cellular data for updating ios 7.0.2 to 7.0.4 in iPhone 5.  I just want to know coz i only have 3G cellular data ....

    No.

  • Hi, I developed a web application using HTML5-Offline Application Cache mechanism. Inspite of deleting the cache as mentioned in the above steps, Firefox still maintains a copy of the page in it's cache. Also, a serious bug is, even though we delete all

    == Issue
    ==
    I have a problem with my bookmarks, cookies, history or settings
    == Description
    ==
    Hi,
    I developed a web application using HTML5-Offline Application Cache mechanism. Inspite of deleting the cache as mentioned in the above steps, Firefox still maintains a copy of the page in it's cache. Also, a serious bug is, even though we delete all temp files used by Firefox, and open the previously cached page, it displays it correctly, but upon refreshing/reloading it again shows the previous version of the page maintained in the cache.
    == Troubleshooting information
    ==
    HTML5: Application Caching
    .style1 {
    font-family: Consolas;
    font-size: small;
    text-align: left;
    margin-left: 80px;
    function onCacheChecking(e)
    printOutput("CHECKINGContents of the manifest are being checked.", 0);
    function onCacheCached(e) {
    printOutput("CACHEDAll the resources mentioned in the manifest have been downloaded", 0);
    function onCacheNoUpdate(e)
    printOutput("NOUPDATEManifest file has not been changed. No updates took place.", 0);
    function onCacheUpdateReady(e)
    printOutput("UPDATEREADYChanges have been made to manifest file, and were downloaded.", 0);
    function onCacheError(e) {
    printOutput("ERRORAn error occured while trying to process manifest file.", 0);
    function onCacheObselete(e)
    printOutput("OBSOLETEEither the manifest file has been deleted or renamed at the source", 0);
    function onCacheDownloading(e) {
    printOutput("DOWNLOADINGDownloading resources into local cache.", 0);
    function onCacheProgress(e) {
    printOutput("PROGRESSDownload in process.", 0);
    function printOutput(statusMessages, howToTell)
    * Outputs information about an event with its description
    * @param statusMessages The message string to be displayed that describes the event
    * @param howToTell Specifies if the output is to be written onto document(0) or alert(1) or both(2)
    try {
    if (howToTell == 2) {
    document.getElementById("stat").innerHTML += statusMessages;
    window.alert(statusMessages);
    else if (howToTell == 0) {
    document.getElementById("stat").innerHTML += statusMessages;
    else if (howToTell == 1) {
    window.alert(statusMessages);
    catch (IOExceptionOutput) {
    window.alert(IOExceptionOutput);
    function initiateCaching()
    var ONLY_DOC = 0;
    var ONLY_ALERT = 1;
    var BOTH_DOC_ALERT = 2;
    try
    if (window.applicationCache)
    var appcache = window.applicationCache;
    printOutput("BROWSER COMPATIBILITYSUCCESS!! AppCache works on this browser.", 0);
    appcache.addEventListener('checking', onCacheChecking, false);
    appcache.addEventListener('cached', onCacheCached, false);
    appcache.addEventListener('noupdate', onCacheNoUpdate, false);
    appcache.addEventListener('downloading', onCacheDownloading, false);
    appcache.addEventListener('progress', onCacheProgress, false);
    appcache.addEventListener('updateready', onCacheUpdateReady, false);
    appcache.addEventListener('error', onCacheError, false);
    appcache.addEventListener('obsolete', onCacheObselete, false);
    else
    document.getElementById("stat").innerHTML = "Failure! I cant work.";
    catch (UnknownError)
    window.alert('Internet Explorer does not support Application Caching yet.\nPlease run me on Safari or Firefox browsers\n\n');
    stat.innerHTML = "Failure! I cant work.";
    == Firefox version
    ==
    3.6.3
    == Operating system
    ==
    Windows XP
    == User Agent
    ==
    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729; .NET4.0E)
    == Plugins installed
    ==
    *-Shockwave Flash 10.0 r45
    *Default Plug-in
    *Adobe PDF Plug-In For Firefox and Netscape "9.3.2"
    *NPRuntime Script Plug-in Library for Java(TM) Deploy
    *The QuickTime Plugin allows you to view a wide variety of multimedia content in Web pages. For more information, visit the QuickTime Web site.
    *Google Update
    *4.0.50524.0
    *Office Live Update v1.4
    *NPWLPG
    *Windows Presentation Foundation (WPF) plug-in for Mozilla browsers
    *Next Generation Java Plug-in 1.6.0_20 for Mozilla browsers
    *Npdsplay dll
    *DRM Store Netscape Plugin
    *DRM Netscape Network Object
    Thanks & Regards,
    Kandarpa Chandrasekhar Omkar
    Software Engineer
    Wipro Technologies
    Bangalore.
    [email protected]
    [email protected]

    We have had this issue many, many times before including on the latest 3.6 rev. It appears that when the applicationCache has an update triggered by a new manifest file, the browser may still use only its local network cache to check for updates to the files in the manifest, instead of forcing an HTTP request and revalidating both the browser cache and the applicationCache versions of the cached file (seems there is more than one). I have to assume this is a browser bug, as one should not have to frig with server Cache-Control headers and such to get this to work as expected (and even then it still doesn't sometimes).
    The only thing that seems to fix the problem is setting network.http.use-cache to false (default is true) in about:config . This helps my case because we only ever run offline (applicationCache driven) apps in the affected browser (our managed mobile apps platform), but it will otherwise slow down your browser experience considerably.

  • Dynamic Calc processor cannot lock more than [100] ESM blocks during the calculation, please increase CalcLockBlock setting and then retry(a small data cache setting could also cause this problem, please check the data cache size setting).

    Hi,
    Our Environment is Essbase 11.1.2.2 and working on Essbase EAS and Shared Services components.One of our user tried to run the Cal Script of one Application and faced this error.
    Dynamic Calc processor cannot lock more than [100] ESM blocks during the calculation, please increase CalcLockBlock setting and then retry(a small data cache setting could also cause this problem, please check the data cache size setting).
    I have done some Google and found that we need to add something in Essbase.cfg file like below.
    1012704 Dynamic Calc processor cannot lock more than number ESM blocks during the calculation, please increase CalcLockBlock setting and then retry (a small data cache setting could also cause this problem, please check the data cache size setting).
    Possible Problems
    Analytic Services could not lock enough blocks to perform the calculation.
    Possible Solutions
    Increase the number of blocks that Analytic Services can allocate for a calculation:
    Set the maximum number of blocks that Analytic Services can allocate to at least 500. 
    If you do not have an $ARBORPATH/bin/essbase.cfg file on the server computer, create one using a text editor.
    In the essbase.cfg file on the server computer, set CALCLOCKBLOCKHIGH to 500.
    Stop and restart Analytic Server.
    Add the SET LOCKBLOCK HIGH command to the beginning of the calculation script.
    Set the data cache large enough to hold all the blocks specified in the CALCLOCKBLOCKHIGH setting. 
    Determine the block size.
    Set the data catche size.
    Actually in our Server Config file(essbase.cfg) we dont have below data  added.
    CalcLockBlockHigh 2000
    CalcLockBlockDefault 200
    CalcLockBlocklow 50
    So my doubt is if we edit the Essbase.cfg file and add the above settings and restart the services will it work?  and if so why should we change the Server config file if the problem is with one application Cal Script. Please guide me how to proceed.
    Regards,
    Naveen

    Your calculation needs to hold more blocks in memory than your current set up allows.
    From the docs (quoting so I don't have to write it, not to be a smarta***:
    CALCLOCKBLOCK specifies the number of blocks that can be fixed at each level of the SET LOCKBLOCK HIGH | DEFAULT | LOW calculation script command.
    When a block is calculated, Essbase fixes (gets addressability to) the block along with the blocks containing its children. Essbase calculates the block and then releases it along with the blocks containing its children. By default, Essbase allows up to 100 blocks to be fixed concurrently when calculating a block. This is sufficient for most database calculations. However, you may want to set a number higher than 100 if you are consolidating very large numbers of children in a formula calculation. This ensures that Essbase can fix all the required blocks when calculating a data block and that performance will not be impaired.
    Example
    If the essbase.cfg file contains the following settings:
    CALCLOCKBLOCKHIGH 500  CALCLOCKBLOCKDEFAULT 200  CALCLOCKBLOCKLOW 50 
    then you can use the following SET LOCKBLOCK setting commands in a calculation script:
    SET LOCKBLOCK HIGH; 
    means that Essbase can fix up to 500 data blocks when calculating one block.
    Support doc is saying to change your config file so those settings can be made available for any calc script to use.
    On a side note, if this was working previously and now isn't then it is worth investigating if this is simply due to standard growth or a recent change that has made an unexpected significant impact.

Maybe you are looking for

  • 6680 sync: The mobile phone has not responded.

    Hello, When I try to sync via bluetooth I am getting the following message The mobile phone has not responded. It worked about 3 weeks ago but hasn't worked since!! I have looked at the help section and it says that you can't restore settings on this

  • LOGGING INTO FACEBOOK SINCE UPGRADE?

    I AM GETTING "AN ERROR OCCURRED DURING THE SIGN IN.  PLEASE TRY AGAIN LATER."  EVEN THOUGH I ALREADY HAD THE APP INSTALLED???? ANYONE ELASE GETTING THIS ISSUE?????

  • Import Vendor Details

    Hello Experts, I m developing report for  imports vendor, in which i form document number from custom MIRO ,GRN (MIGO), MIRO  till final payment doc number . I m using function module AC_DOCUMENT_RECORD, but not getting docment number Plz sugget . Ra

  • No Check Information Found

    In FB03, after you enter the document number and then goto Environment-->Check Information, we are getting an error " No Check Information Was Found". The document is a clearing document but it does not have the corresponding check number. Can anyone

  • Prompt date value with default max from table1.column1

    Hi all, How do I prompt user for date of report with default date = max(table1.column1) ? Give me some example of syntax pls. Thanks ahead.