Queue based publication items

has anyone used these and what for?
(sort of) managed to get these to work as a replacement for all of our fast refresh publication items, and get real time synchronisation without the MGP process running, but had to put in some serious work arounds to get it to do fast refreshes and getting it set up is complicated
I would be interested in kowing what other people have done with them to see if there is anything that i have missed

2 hour compose with the 400+ users was the situation when we went live in August 2006, and whilst not perfect, that was ok. We also never had any problem with mobile blocking users when it started the compose cycle. current situation is upto 12 hour compose cycle with 5 minutes of blocking all users when it starts - this is not acceptable
Database is however overly generic, and in some cases uses inappropriate structures (example status table looks to be growing at the rate of a million records a month, with only a hundred or so of those records of any interest). We also started using streams for extranet services, and the two do not look to play nicely together.
no more options for tuning (did everything when we went live), partitioning may help but difficult with the database structures, most of the data is specific to our users, most of the data that could be shared is within complete refresh items to bypass the MGP process already.
We could (and may still do, as the implementation of the queue based stuff is going to be very complicated) stick with the MGP process and do tricks like create our own logging triggers to stop 'uninteresting' records being logged in the CVR$ tables and C$ALLL_SID_LOGGED_TABLES, and then delete unnecessary data from the CVR$ tables to speed up the process logs phase (sure it is not recommended but it works), use MyCompose to work around the poor execution plans put together by the default compose process, and DML call outs to impove the apply processing, but my fear is we will be back in the same boat in 18 months time.
As 90%+ of our synchronisations are done unattended between about 7:30 pm and 10pm, a slower but more real time sync option fits in the business model fairly well, and to my mind why pre-prepare data 12 times a day (assuming 2 hour cycle) with all of the continual performance overhead, when they only download it once when noone else is working?
The queue based stuff is a bit cumbersome and an odd mixture of java, PL/SQL and DDL scripts (plus a few cheats inserting data directly into the repository tables, and updating other things), and the development effort required should not be underestimated.
anyone considering it needs to be clear about what they are trying to achieve (the examples are very limited to stuff you could do with complete refresh items easier), and needs a good understanding of the internals. Definitely not suitable if synchronisation time is a priority (eg: if using GPRS all of the time). I should be able to get the average sync time down to 3-4 minutes, but compared with the 20-30 seconds currently that is still a big jump

Similar Messages

  • Queue Based Synchronization

    We are building a simple publication with a queue-based publication items.
    According to the documentation the C$INQ table lists all queue based publication items that have received rows from clients and the C$PUB_LIST_Q table lists all queue based publication items that are going to be replicated to clients.
    These tables are always empty, even if there are new changes to synchronize.
    Who populates these tables?
    Thanks.

    Hi Dharani,
    sorry, i miss understand the scenario, Not blocking sync skip the download messages.
    Actually my requirement is, if the data size in outbound queue high(When we done full recovery)
    then the offline process in the custom client ( windows ,palm ) take lot of time.
    sometimes offline process got stuck.
    For that we have implement a concept called 'Get data'
    Get data: we have implement a .net web application. it will get the data from the outbound queue and prepair database(.sda file windows, .xxx for plan) then we put the database file in ftp. Then user can download the data base file and put it in the client device.
    so if the data size in outbound queue of device is high.
    we are planed to skip the "calling MMW_GET_MESSAGES in SICF service (sync service)"  and display mesage like"Please contact administrator/ do get data".
    so before calling "MMW_GET_MESSAGES". i want to check the data size in the outbound queue.
    and my client need a Report in doe which shows all devices outbound queue details
    (data size in the outbound queues).
    Regards
    lakshman balanagu.

  • How to increase the length of a columnin existing publication item

    We need to urgently increase the length of three columns in one of the tables that is sent offline as a publication item. I have searched everywhere to see if there is a procedure to see this. I only found process to add/drop columns but not modify to JUST increase the length.
    Can we just alter the tables on the server and republish the application? Will that cause any data loss on the client end?
    Any help is greatly appreciated.
    Thanks
    Sireesha

    I totally forgot about this method. Metalink had it in the headlines today and remembered your question.
    This should work for you.
    Applies to:
    Oracle Lite - Version: 10.2.0.1.0 to 10.2.0.2.0
    Information in this document applies to any platform.
    Goal
    The Goal of this Document is to show the right steps when it is necessary to increase the Column Size for a table
    which is used for the Synchronization with Oracle Lite 10GR2
    BECAREFULL, it is not supported to change the Column Size or make any Schema Evolution on the Primary key
    as The Synchronization Algorithm is based on Primary key
    Solution
    Create table test_sec (col1 number(10); varchar2(10));
    alter table test_sec add primary key (col1));
    Create Publication: PUB_TEST_SEC
    Create Publication: PI_TEST_SEC: select COL1, COL2 from scott.TEST_SEC fast
    Refresh, server wins, weight = 1 and add it to the Publicatio PUB_TEST_SEC
    Synchronize this PUB_TEST_SEC
    On the Server: increase the col2 WHICH IS NOT A PK, from 10 to 15
    alter Table scott.TEST_SEC modify (col2 (varchar2(15));
    To get the new Column Size on the olite DB, you need to alter the Publication item too using for example this code:
    import java.sql.*;
    import java.io.*;
    import oracle.lite.sync.Consolidator;
    import oracle.lite.sync.ConsolidatorManager;
    import oracle.mobile.admin.*;
    public class PublicationChange {
    public static void main(String argv[]) throws Throwable
    DriverManager.registerDriver ((Driver)Class.forName ("oracle.jdbc.driver.OracleDriver").newInstance());
    ConsolidatorManager consolidatorManager = new ConsolidatorManager();
    consolidatorManager.openConnection("mobileadmin","manager","JDBC:ORACLE:thin:@suppolite1.fr.oracle.com:1521:PROD");
    System.out.println("Connected");
    try
    /*You need to put a Select Statment lightly different from the Publication item,
    if you will use the same select statment, it won't take in Account
    if you used: select * from owner.table to create the Publication Item
    you need to use: select * from owner.table for the alterPublicationItem API
    consolidatorManager.alterPublicationItem("PI_TEST_SEC","SELECT * FROM SCOTT.TEST_SEC");
    System.out.println("Pub Item recreated");
    catch (Throwable e) {
    e.printStackTrace();
    try
    consolidatorManager.closeConnection();
    System.out.println("The installation is done!");
    } catch (Throwable e) {
    Compile and run this java code.
    Synchronize
    Check your table Description on Oracle Lite Database to verify that this Schema Evolution has worked as expected.

  • Publication Item on a VIEW

    Hi,
    Here is my problem :
    I have a table A in the schema A.
    In another schema, schema B, I have a view (VIEW B) based on the table A .
    My application schema for Olite is schema C. I want all my CEQ$ and CVR$ and CLG$ ables to be in schema C. I created a synonym on the view B in the schema C. When I create a publication Item based on this synonym, I cannot create a hint on the Publication Item because Olite say to me that the base table and the view must be in the same database.
    After that, I tried to create a publication item base on the VIEW B in the schema B and a publication Item based on Table A in the Schema A On the publication item based on the view, I created a hint to match the primary Key in table A. When I create a publication with these 2 new Publication Items, it works but when i try to instantiate the publication for a user, Olite don't want to instantiate the subscription because He don't find the base table (Table A). Also with that manner the CEQ$ and ohter Olite Tables are created In schema B (for publication Item on the view) and schema A (For publication Item based on the table).
    So my question is : How can I create a publication Item based on a view and have all my CEQ% tables in the same schema (Schema C) when the view, the table and the application Schema are three différent Schema.
    I hope you will understand my question.
    Thanks
    JSET

    You wouldn't be able to do that out-of-the-box. Manually updating the triggers and owners, you may be able to accomplish this. But then there are internal metadata you would have to figure out as well. Could get really ugly if you tried some of this. I would not recommend it.

  • Create a publication item as synonym

    Hello
    I have a view in schema A that uses a table in the same schema and I have a schema B with a synonym from the table in A.
    With Mobile Database WorkBench I am trying to create a publication item for the synonym, but I get an error that says that all base objects must exists in a unique database.
    What do I have to do?
    Regards

    Unless there has been a recent change, oracle lite does not like referencing objects across database links. All of the publication item sql gets generated with explicit references in the form 'select .. from schema.object where ..' and assumes that all objects are in the specified schema (with a cross schema synonym, this is not the case as the synonym is in one schema, the object in another.
    a work around is to create a view in the schema you are basing the publication items on for the table in the other schema.
    eg: if you want to be able to create a publication item for b.table in the schema a, then create a view in schema a as select * from b.table. This should work as the database link referencing is not done by the oracle lite server, but by the underlying database. for a view based object you need to manage the PK, updates and referential integrity yourself, but for a simple view based on a single table this is pretty simple.

  • Queue based on [me] token

    Hi Together,
    i should build a Queue where i "filter" for the Primary owner equals [me] token.
    Is that possible?
    I found this post:
    https://social.technet.microsoft.com/Forums/en-US/4fb2932b-9141-4d6b-8ec9-7b286c03cdd3/scsm-2012-queues-for-service-requests?forum=systemcenterservicemanager
    but i was not able to reproduce it.
    The Idea behind is:
    We have restricted the Access to work Items for our Local Departments by Queues. But for sure the Local Departments want to track the Incidents they Forward to Corporate.
    Actualy this is not possible because the Queue for every Group is limiting the Intems based on Support Group.
    Any ideas?
    brgds
    Chris

    Hi,
    You cannot use tokens such as [me] in queues. The only option I see here is to use views instead of queues, however this would still allow users to find work items they are not entitled to see when they aearch for it.
    An other alternative would be:
    - Extend the incident class with a property named OriginatingSupportGroup, bound to the TierQueue List
    - Create a workflow which copies the support group to this newly created field when there are changes to the support group.
    - Create a queue based on this newly created property, or include these in the existing queue
    Hope this makes sense :)

  • Queue based UI Event Handler Pattern (CLD)

    Hi, everybody:
    I am trying to get a better understanding of the Queue based UI Event Handler pattern in CLD exam. So I made the attached small LabVIEW program in which 3 buttons(State 0, State 1, State 2) are the 'switches' of 3 LED lights (S0, S1, S2), respectively. After comparing with the Queue based UI Event Handler pattern in NI's slide, I got some questions at the following points:
    (1) There are six items(Initialize, Waiting for Event, State 0, State 1, State 2 and Stop) in the Enum constant in my program. To make this program use standard Queue based UI Event Handler pattern, should I only use 3 cases(Initialize, Waiting for Event, Stop) in the case structure and put 4 events(State 0, State 1, State 2 and Stop) under the case of 'Waiting for Event' ? Is what I coded a standard Queue based UI Event Handler pattern?
    (2) In the attached screenshot of Queue based UI Event Handler pattern in NI's slide, I found 'Start' is wired with 'Enqueue Element.vi'. Why is that? Should there be a 'Start' Case in the case structure?
    (3) In my program, I wired 'Waiting for Event' with 'Enqueue Element.vi' in all events except 'Stop' event. Should I wire 'State 0', 'State 1', 'State 2' with 'Enqueue Element.vi' in their corresponding events, just like my second question in NI's slide?
    BTW, I didn't find the exact Queue based UI Event Handler pattern in LabVIEW 2011, Should we code it by ourselves in the real CLD exam?
    Thanks a lot in advance!
    Chuan
    Attachments:
    Queue based UI Event Handler Practice.vi ‏18 KB
    NI Slide.png ‏177 KB

    Chuan wrote:
    Hi, everybody:
    I am trying to get a better understanding of the Queue based UI Event Handler pattern in CLD exam. So I made the attached small LabVIEW program in which 3 buttons(State 0, State 1, State 2) are the 'switches' of 3 LED lights (S0, S1, S2), respectively. After comparing with the Queue based UI Event Handler pattern in NI's slide, I got some questions at the following points:
    (1) There are six items(Initialize, Waiting for Event, State 0, State 1, State 2 and Stop) in the Enum constant in my program. To make this program use standard Queue based UI Event Handler pattern, should I only use 3 cases(Initialize, Waiting for Event, Stop) in the case structure and put 4 events(State 0, State 1, State 2 and Stop) under the case of 'Waiting for Event' ? Is what I coded a standard Queue based UI Event Handler pattern?
    What exactly are you trying to do with this program?  Just using it to show a basic pattern for review? 
    Seems like you are trying to use Queues, a Case Structure, and Events all in one loop.  Be careful not to try to be so advanced for this test.  I still can't seem to figure out what the question you are trying ask is, but reply and we'll see if we can figure out an answer.  You can put as many "states" in an Enum as you want but just not use them all during the program.  I use fillers sometimes "just in case" I need to use it.  Obviously, don't do this for a real program. 
    (2) In the attached screenshot of Queue based UI Event Handler pattern in NI's slide, I found 'Start' is wired with 'Enqueue Element.vi'. Why is that? Should there be a 'Start' Case in the case structure?
     Your code is your code.  This is just an example of the way that you could do it if you wanted to.  You need to read the requirements document to determine exactly the way to Initialize and Start and whatever else your program.  Typically, I've seen the following included in software using this structure:  Initialize, Start, Run, Stop, Update Settings, Exit...and so on.
    (3) In my program, I wired 'Waiting for Event' with 'Enqueue Element.vi' in all events except 'Stop' event. Should I wire 'State 0', 'State 1', 'State 2' with 'Enqueue Element.vi' in their corresponding events, just like my second question in NI's slide?
     Well, you never ended up using the Initialize case.  You need to Initialize outside the loop in your program.  Again, try to explain your design more.  It seems like what you have done is right, but I'm not sure what all you are trying to accomplish.
    BTW, I didn't find the exact Queue based UI Event Handler pattern in LabVIEW 2011, Should we code it by ourselves in the real CLD exam?
    All code on the CLD needs to be your own.  Templates are just there as a starter for people who are not familiar with them.  If you want to take the CLD, you should be at the point where you don't need the templates to do the work for you. 
    Thanks a lot in advance!
    Chuan
    See my responses above.  Best of luck.
    The pattern you have used in your program is *technically* fine, but in all the code I wrote for the CLD and in most of the examples I saw, everything was just a state machine with a enum driver.  Be careful trying to violate the norm on this as you will likely run into more problems than solutions.  You could also encapsulate your Queue into an FGV, which would modularize the code and look a little neater.
    Nathan - Certified LabVIEW Developer

  • Unable to create publication item for remote database using db link

    The mobile repository is in instance A.
    I have to access and sync data from a table in remote database instance B.
    I have run the consolidator_rmt.sql script in instance B under schema_B. I have created a private fixed user db link in instance A under schema_A to access schema_B's tables. I then created a synonym test_B for table test_B in schema_B using the DB link.
    While creating publication item for test_B using MDW, the column list for test_B appears blank. Has anyone encountered this problem and what is the solution.
    Thanks for your help.
    Rosa.

    Hello Pruthvi ,
    See these threads
    Uninstalling MaxDB
    Work process Ended.
    Thanks
    Chandran

  • Authorization check based on item category on sales order (VA01 or VA02)

    I want to be able to restrict authorization of users based on item category. We only want certain users to be able to select a certain item category.  I know I'm going to have to check one of the userexits in MV45AFZZ. The issue I'm having is the authorization object .
    The item category is field VBAP-PSTYV.
    What we are going is having a item category for emergency orders. But this requires more manual steps to associate with the original order. We already have the emergency item categories defined and working (no credit check etc) so there's no reason not to have them added to the original order. The issue is its use has to be restricted so when the user selects an alternative item category it checks whether they have the authority.   
    Any help would be appreciated

    Hi,
    You can achieve this through authorization objects.
    Transaction
    SU20 - Authorization Fields
    SU21 - Authorization Objects
    Create the field PSTYV in the Authorization Fields.
    Then Create the authorization object and include this field along with the standard field ACTVT (which determines what activities can be performed by a certain user i.e. Create, Change or Display) & user-name
    In your your-exit, you can either use the ABAP command AUTHORITY-CHECK or the function-module AUTHORITY_CHECK and pass the values for these fields. The system can perform the test based on this values & based on the sy-subrc value you can restrict the users that are not having the authorization to select item-categories for emergency orders.
    Following link should help you:
    [SAP Authorization Concept|http://help.sap.com/saphelp_wp/helpdata/en/52/671285439b11d1896f0000e8322d00/content.htm]
    Hope that helps you.
    Regards,
    Saurabh

  • HP LaserJet 2420n and Queue Based Printing?

    I'm looking at a new workgroup printer and am leaning towards the HP
    LaserJet 2420n
    The price is about right, I'm sticking with HP, and this seems to be the
    replacement for the 2100, 2200, and 2300 series which I liked a lot.
    It has a built in JetDirect, although I can't find which model.
    HP's site says this:
    Compatible Network Operating Systems:
    Via HP Jetdirect print servers: Microsoft Windows 98, Me, NT 4.0, 2000,
    XP, XP 64-Bit, Server 2003; Novell NetWare 3.2, 4.2, 5.x, 6.x; Apple Mac OS
    8.6 and later; Red Hat Linux 6.x and later; SuSE Linux 6.x and later; HP-UX
    10.20, 11.x; Solaris 2.5x, 2.6, 7, 8, 9, 10 (SPARC systems only); IBM AIX
    3.2.5 and later; MPE-iX, Terminal server/Citrix
    Note that NetWare 4.2 (and so also 4.11) is listed.
    That is the only mention of NetWare I can find about this printer. Does
    anyone out there have one already? Can it be used with Queue Based (non-
    NDPS) Printing? Does the built in JetDirect support this natively?
    Thanks for your help,
    AZC

    I just installed one of these on our network with queue bases services using
    the web interface and it worked, once I figured out how to declare the
    context for the queue.
    Rui
    "Andrew Z Carpenter" <[email protected]> wrote in message
    news:Xk7De.1833$[email protected]..
    > I'm looking at a new workgroup printer and am leaning towards the HP
    > LaserJet 2420n
    >
    > The price is about right, I'm sticking with HP, and this seems to be the
    > replacement for the 2100, 2200, and 2300 series which I liked a lot.
    >
    > It has a built in JetDirect, although I can't find which model.
    >
    > HP's site says this:
    >
    > Compatible Network Operating Systems:
    > Via HP Jetdirect print servers: Microsoft Windows 98, Me, NT 4.0, 2000,
    > XP, XP 64-Bit, Server 2003; Novell NetWare 3.2, 4.2, 5.x, 6.x; Apple Mac
    > OS
    > 8.6 and later; Red Hat Linux 6.x and later; SuSE Linux 6.x and later;
    > HP-UX
    > 10.20, 11.x; Solaris 2.5x, 2.6, 7, 8, 9, 10 (SPARC systems only); IBM
    > AIX
    > 3.2.5 and later; MPE-iX, Terminal server/Citrix
    >
    > Note that NetWare 4.2 (and so also 4.11) is listed.
    >
    > That is the only mention of NetWare I can find about this printer. Does
    > anyone out there have one already? Can it be used with Queue Based (non-
    > NDPS) Printing? Does the built in JetDirect support this natively?
    >
    > Thanks for your help,
    >
    >
    > --
    > AZC
    >

  • Approval procedure based on item category

    Dear All,
    I have a scenario where all my sales items will be categorized under two broad heads: Bulk & Non Bulk. So there will be a UDF where every item will be mapped to one of these values. I want to apply an approval procedure where I am able to raise an approval to different set of people for Bulk Items and different set of people in case of Non Bulk items. Kindly help me how I can do the same.
    Regards
    Kapil Kapoor

    Hi,
    It's not possible to create approval procedure based on item level. So if in a single document you have different types of (bulk/non-bulk) items you can't trigger different approval procedures.
    In case you select the item type in a UDF in header level of a document, then it will be possible to send approval to different users based on the UDF value selected bulk/non-bulk.
    Regards
    Sibasish S.

  • Shipping point determination based on item category

    Dear
    we have a requirment which needs to determine shipping point based on item category. anyone could share how to achieve that? I am familiar with sap standard shipping determination rule: shipping condition in sold-to-party MMD or shipping condition within sale document type + loading group + delivery plant. However those condtions wouldnt fullfill our needs. the items within a sales order are exactly same except item category, such as item 10 is TAN , item 20 is TAB item.I want the system get different shipping point for those two different item category.
    any though would be appreciated and thank you,
    best regards
    peng. tang

    As already suggested, you can consider going with differentiating the Loading Group in material master, so that via standard configuration itself, you can achieve the desired result.  On the other hand, if this is not possible, then, you can try with USEREXIT_MOVE_FIELD_TO_LIPS in include MV50AFZ1
    G. Lakshmipathi

  • Commision based on item group & customer group

    Dear all,
    Does anyone have an idea about how to get commission based on item group & customer group sales?
    My customer wanted commission report based on item group or customer group & based on payment collection dated.
    Example
    Term given for customer A is 30 days.
    12/3/09 Inv 1000   RM 10,000   30 days payment
    20/4/09 Inv 2000  RM    5,000   60 days payment
    The term given is 30 days of the invoice month.
    Salesman will get commission if get the collection at May'09 for Inv 1000, & July'09 for iinv 2000 based on the invoice date month.
    The salesman get commission at any date of the month May'09. More longer collection, less commission they will get.
    Example:
    Salesman A
    Customer Group             1st of the month, 2nd of the month, 3rd of the month, 4th of the month
    Normal Dealer                         1.5%         ,  0.75%,              0.00%                   ,    -0.25%
    Sub Distributor                       0.5%         ,  0.25%,               0.00%                  ,    - 0.25%
    Any idea?
    Thanks in advance?
    Regards,
    Eric Tan

    Hi Eric
    SAP does not calculate commissions, but merely provide a mechanism to report on it. The multi level calculation you require can be achived with a custom query linked to a report layout. Standard SAP will not provide this type of calculation. You will need to look at the open transactions such as invoices and link to the relevant payment transaction to get the payment date. Then compare this date to the invoice due date to determine if the terms were adhered to or not. If not payment date - due date in number of days will be needed to calculate the effective commission percentage.
    Kind regards
    Peter Juby

  • FRM-40209 Field must be of form . - for a non-based text item

    Hello,
    When I try querying using a VARCHAR2 non-based text item in a table-based block, setting dynamically in PRE-QUERY trigger the DEFAULT_WHERE property for its block, in case I use characters &gt; or &lt; (for bringing values greater or smaller than the one in the field, as in a standard Oracle query) error message is raised: 'FRM-40209 Field must be of form .' The issue has nothing to do with the error itself (usually related to erronated format mask of the field), and it is known as an Oracle Forms bug: I found it as bug 851153 - which appears on execute query if you enter in a non-base-table-item and the block has a pre-query trigger. The bug has been solved later in Oracle Developer Forms Builder 6i, or so I've been reading, problem is the application I'm working to requires Forms Builder 6.0.5.
    I am trying to find an workaround for this situation and these are the info I managed to discover myself on the topic:
    - if I fill the field with '&gt;value instead of &gt;value, query works fine, bringing only values greater than the specified value. (So far, this and inactivating the FRM-40209 error in ON-ERROR trigger seems like the best I can do)
    - if I only use &gt; (without '), I cannot use an auxiliar variable/global in which to store the actual value written in the field, I also cannot print the value in a message, because trying to use the exact string, it is shown as null (even though when the error is raised, value is still shown on the screen in the text item).
    Maybe someone could help with an idea for an workaround in order to copy the content of the text field before it actually becomes null&hellip;
    Thank you in advance.

    I have already tried that... but for some reasons the field already appears as null, when I try to use it.

  • We want to give promotional items based on item category irrelevant of UOM.

    we want to give promotional items based on item category irrelevant of UOM.

    998875 wrote:
    we want to give promotional items based on item category irrelevant of UOM.And the relevance of this to this forum is...?

Maybe you are looking for

  • Keyboard Layout e71

    hi everyone! i was wondering if anyone knows what can be done to change the nokia Keyboard layout in the phone. i just recently changed my nokia keyboard to an english layout type previous one was spanish layout type, so all the characters in the pre

  • Aperture & Iphoto & Iphone & Appletv

    hello, I'd like to use only aperture and not iphoto. Is it possible? But how I can see photos on appletv and on iphone without syncronizinig with aperture?

  • Restriction for Migo if import custom miro is not done.

    Dear Consultant , I want to put restriction over migo for import PO. If the custom duty miro is not done , it should not allow /restrict user for migo. Kidnly suggest user exit or badi or any other solution for the same. Thanx Pradeep

  • Sending clip to Motion

    Is it possible to send a clip directly from FCE to Motion? I know you can do this with FCP but is it possible to do this with FCE? If not, is exporting to Quicktime the best alternative?

  • Create a user and use  the objects of another Shema

    Hi all oracle`s gurus i need a little help ..... i, create a shema named "a" that the owner is user_dba and here there are all objects of the aplication but i want all other users of the app can use those objects; the users are created in the databas