Synch Plugin

We are trying to use the synch plugin, but we don't have a proper manual. Can anyone tell how to use this synch plugin functionality. E.g.
- path for files
- which files are necessary
- how to start the plugin.
Our goal is to change the synchronize of the contact person information. The standard synchronizes the name as a split field for the first en last name. We want to use two different fields (OCPR.Notes2 and OCPR.Pager) of the contact person for the first and last name. How can we achieve this?
Is there also a simple manual for how to change the UI of a theme?
Kind regards,
Wim Kleinsman

Overwriting first and last name with notes and pager is not likely to produce the results you are looking for.
If the contact person synchs back to Business One, the contact person's name in Business One will be overwritten by the notes and pager that are now in the first and last name fields in Web tools.
As for creating a synch plugin, generate a new .NET project, include the following libraries NetPoint.API, NetPoint.SynchSBO, NetPoint.Shipping, Interopp.SAPbobsCOM, Sybase.Data.Ase.  If you are using 5.9, create a class that inherits from NetPoint.SynchSBO.SynchObjectBase.
Add your custom code into SBOToNetPoint() to manage the B1 to Web tools synch, and NetPointtoSBO() to manange the Web tools to B1 synch.
Build the DLL and place it in bin/plugins directory of the synch manager installation.
There is an example of a synch plugin in the SDK, though it should be taken with a grain of salt.
In 5.9, the plugin is run after the normal synch, so any records that have been synchronized have been removed from the PRX_Transaction_Queue (the queue used to determine which records to synch).  You can get around this problem by creating your own custom queue.  If you choose to do this, you would need to modify the SBO_SP_TransactionNotification stored proc in your Business One database and queue records into your own table.
This problem has been addressed in Web tools 2007.

Similar Messages

  • Multiple Custom Synch Plugins For Same Business Object

    Can I make multiple plugins for the same business object? The main reason I'm asking is because I want to have one item plugin that runs before the core item data synchs and another item plugin that runs after.
    Since the topic's here, if multiple plugins can be written, which order would two plugins run if they are both set to go off after the core synch?

    That answers half of my question, although just to verify:
    The only issue is the before synch plugin may not have it's data in SBO (eg new order from webtools). If the data initiated in SBO then you should be fine.
    As far as I can tell, you're basically saying that if you're working with data in SBO in a plugin that's set to PluginExecutionLocation.BeforeSynch, be cautious of the fact that new data from Web Tools will not have the plugin run against it because it will arrive after the standard synch brings it over. I would assume the same would be true for the reverse, in that any new data in SBO that's not yet in Web Tools will also not have the plugins run against it for the same reason.
    Also, let's say I create two SynchPlugins for Items and set both of their SynchRunTime fields to PluginExecutionLocation.AfterSynch - which one runs first? Or is it indeterminable each time?

  • Custom synch plugin error

    Hey All.
    I am writing a simple custom synch plugin for webtools 2007 PL2. I used the sample from the SDK as a guide. WHen I run the synch I get the following errors:
    Synch     Synching Plugin: FruitCompanySynchPlugin     SynchPlugins()          
    Synch     Object reference not set to an instance of an object.     SynchPlugins()          
    FruitCompanySynchPlugin     Loading Plugin     Plugin Contructor     
    I am getting messages that I write to the log and I have try catches all over my code that is just displaying a log message in each method. Some where it still throws that exception and I cannot figure out what is going wrong.
    How can I debug this>
    (I also get the exact same problem when running B1WEBTOOLS2007\SDK\SynchPlugin\SampleProject\ that comes with the SDK)
    Anybody else out there have a synch plugin running in webtools 2007?
    Message was edited by:
            Curtis Traverse

    Hi Curtis,
    I have tested the sample and it works in the tester project but is failing in the actual synch.  The B1 company is being disconnected by the synch.
    As for testing yours, I would suggest using the tester project.  You will need to change the references to the InterOp.SAPbobsCOM, NetPoint.API and NetPoint.SynchSBO to reference the copies that your synch is using.
    You should be able to step through your code with this.
    Message was edited by:
            Shane Hart
    Message was edited by:
            Shane Hart

  • Custom Synch plugin 2007

    Hey All,
    Can anyone tell me where the examples and documentation are now for writing custom synch plugins? I cannot find it with the ramp up files that I downloaded from the support center.

    Thanks Shawn,
    Also where I can find the latest API documents? I have the ones for 5.96 but not 2007.

  • Synch Plugin At Very End Of Total Synch

    I'm trying to create a Synch Plugin that will run once after all of the objects have been synched to do some cleanup and maintenance. Is this even possible? If not, is there some way I can emulate it?
    Additionally, is there also a way to do this before the entire synch starts?

    So if I'm following you correctly, at the end of a synch, SynchManager checks the SQL DB for a PROC named SynchTransaction?
    [In another thread|Update Non-UDF Data In Web Tools Through Synch Plugin; I requested how to update Web Tools-specific data - this stored proc could do what I need (though not as elegantly) by simply running the following code:
    UPDATE PartsMaster SET DisplayOptions=LEFT(DisplayOptions, 7)+'Y'+RIGHT(DisplayOptions, 1)

  • Synch plugin for inventory OnHand

    On the forum there are several threads about the synchronisation of the Inventory. To only display the inventory OnHand (so not the calculated one OnHand-IsCommitted+OnOrder) you will have to use a synch plugin.
    Is someone using such a synch plugin. We would be much appreciated if someone would share it with us or could give us some more information.
    In a thread of May 11 2007 'More Inventory questions' there was a solution given by Bryce which could help us further with this issue.
    Personally I would do it in a synch plugin and disable the inventory synch in the synchmanager. There is a synch plugin I wrote that will read SQL from an XML file and execute it against whichever db/table. I've used this in the past when it was necessary to set the default shipping address for a user for instance. Let me see if I can locate the SAP note number for you that has the synch plugin as an attachment. It's also available for download on our old support forums at www.boug.us
    Can't locate the note. Here is the link to the synchplugin
    http://boug.us/files/10/plugins/entry403.aspx
    You need to have a login to download, and it's free to sign up.
    You might find other interesting information about Netpoint there too, as it was an old "braindump" site for dev support when we were with Praxis.
    So if this plugin is still available it would be very helpfull for us. Thanks in advance!
    (For Webtools 6 - SP01)
    Best regards,
    Tim
    Edited by: T. Verholt on Jan 22, 2009 9:17 AM

    Hello Bryce,
    Can i have this old plugin.
    The link you gave on boug.us doesn't work anymore.
    Thank You !
    Martijn

  • Synch PlugIn Causes Removal Of Queued Item Regardless Of Settings

    I don't know if this is functionality or a bug - could somebody clarify?
    I'm using Web Tools 625 and have created a basic plugin for Items with no custom synch code (no code via the overloaded methods). I have also unchecked Items in the Settings section so that they do not synch. When there is no plugin and a synch is executed, the objects in B1's transaction queue that are Items that are queued for synching remain untouched. However, if the plugin is stuck in the SynchManager's plugins subfolder and then a synch is executed, the plugin removes the Items from the queue, even though the Items were not synched via SynchManager!
    Is this a bug? Am I missing something?

    Hi Micheal
    That definitely sounds like abnormal behavior and as SP0 patch 5 is quite old at this point, would suspect it is a bug.

  • Version 2.0 is not a compatible version error with synch manager

    i've build a synch plugin and i put the dll files in the plug in directory.
    when im running the synch plugin and im looking through the logs i get the following error "Version 2.0 is not a compatible version."
    i think the problem could happen because im using visual studio and i think it compiles standard with framework 2.0 and im guessing synch manager need framework 1.1. but im not sure?
    can anyone help me with this problem??
    kind regards,
    C. Oude Luttikhuis

    yes that error message is actually coming from the .Net Framework you can find more on it <a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=521514&SiteID=1">here</a>
    For a netpoint 5.9 plugin it would need to be compiled in .Net 1.1, if you only have MS Visual Studio 2005 you might want to look into MSBee which will allow you to compile to 1.1 (but requires a higher developer knowledge) or i know that <a href="http://www.icsharpcode.net/OpenSource/SD/Default.aspx">SharpDevelop</a> is a free IDE that will compile to 1.1 code.

  • Sample customize sync plugin

    Hi,
    Can any one send sample code for sync plugin. please  i need badly
    that is i wants to sync user defined fields for that i wants to create customized
    sync plugin
    its very urgent.
    Regards
    Kannan.D

    Sample code is included in the SDK folder
    SDK folder is included in the download for webtools and netpoint
    There is also a sample synch plugin and a tester

  • Credit Card Authorisation Synch

    Hi All,
    An order paid using a credit card is synched back to B1 but the authorisation code returned by the credit card provider (OGONE) does not appear in the order UDF. The DataMap in SDK does not mention these fields.
    Has anyone else had to handle this? Is the thing to do to use an SQL job to copy the contents of, for example, OrderPayment.AuthCode to ORDR.U_A_CCUID, or is a synch plugin needed?
    Thanks in advance for any pointers or suggestions.

    Hi,
    You may check this thread:
    Re: Ecommerce Sync User Defined Fields
    Thanks,
    Gordon

  • Tester sync plugin?

    Hi,
    pls guide me to test sample tester sync plugin.
    iam using .net2005  and webtool2007 and my webtool server is in the another machine.
    how can i test tester sync plugin.
    what are the steps to run the tester sample in sdk.
    its very urgent.
    Regards
    Kannan.D
    Edited by: kannan desikan on Dec 31, 2007 7:36 AM

    First you must understand how the plugins work.
    The synch determines which records to synchronize based on on two tables.
    In Business One the table is PRX_Transaction_Queue.  This table has a record added for each SQL transaction that occurs in Business One.  These records are used to determine which data need to synch to Webtools.
    In Webtools, there is a sister table, TransactionQueue, which records all SQL transactions that occur within Webtools and determine which data to synch to Business One. 
    When each synch cycle begins, the synch loads all of the data from the above two tables into memory.
    Next, the synch examines the local plugins directory to see if there are any synch plugins marked to run PRIOR to the synch.  If so, the queue in memory is passed to the plugin to process.
    The synch runs.
    Next, the synch examines the local plugins directory to see if there are any synch plugins marked to run AFTER to the synch.  If so, the queue in memory is passed to the plugin to process.
    When the synch cycle completes, all successfully synchronized data are removed from the transaction tables.

  • Sync plugin doubts

    Hi Shane
    Hi shane my client need custom sync plug that is
    if i create a user defined fields that fields should sync in business one database
    pls guide me how to start with custom plugin
    herewith iam sending sync plugin tester sample coding my questions below
    1)  what is security ticket in sync plugin?
    2) what is SBOQUEUE?
    private void button1_Click(object sender, System.EventArgs e) {
                WriteNote("Starting Plugin synch.");
                try {
                    // Get the NPSynchConfig data for this profile
                    SecurityTicket st = profiles[cboProfiles.SelectedValue.ToString()];
                    // Connect to the Business One company
                    Company c = GetCompany(st);
                    // Load the Business Partner Queue from PRX_Transaction_Queue
                    SBOQueue q = new SBOQueue(c, st, SBOObjectTypes.BusinessPartners);
                    q.GetQueue();
                    if (q.QueueObjects.Count == 0) {
                        WriteNote("The queue is empty. Exiting synch.");
                    } else {
                        WriteNote("There are " + q.QueueObjects.Count.ToString() + " items in the business partner queue.");
                    // Run the plugin
                    SynchPlugin.MyPlugIn pi = new SynchPlugin.MyPlugIn(c, st);
                    pi.B1Queue = q;
                    pi.NetPointQueue = new NPQueue(st, SBOObjectTypes.BusinessPartners);
                    pi.Synch();
                    //  clear the queue of synched objects
                    //  this should not be done in the plugin (the synch will do so)
                    pi.B1Queue.Clear();
                    WriteNote("Plugin Synch complete.");
                } catch (System.Exception ex) {
                    WriteNote(ex.Message + System.Environment.NewLine + ex.StackTrace);
                    WriteNote("Plugin Synch failed.");
    Regards
    Kannan.D

    First you must understand how the plugins work.
    The synch determines which records to synchronize based on on two tables.
    In Business One the table is PRX_Transaction_Queue.  This table has a record added for each SQL transaction that occurs in Business One.  These records are used to determine which data need to synch to Webtools.
    In Webtools, there is a sister table, TransactionQueue, which records all SQL transactions that occur within Webtools and determine which data to synch to Business One. 
    When each synch cycle begins, the synch loads all of the data from the above two tables into memory.
    Next, the synch examines the local plugins directory to see if there are any synch plugins marked to run PRIOR to the synch.  If so, the queue in memory is passed to the plugin to process.
    The synch runs.
    Next, the synch examines the local plugins directory to see if there are any synch plugins marked to run AFTER to the synch.  If so, the queue in memory is passed to the plugin to process.
    When the synch cycle completes, all successfully synchronized data are removed from the transaction tables.

  • Patch 11 now available for download

    As you can see, patch 11 contains many many fixes and some new functionality. Thanks to everyone on the SDN for contributing!
    Highlights
    - Login name now able to be edited by either user or merchant
    - Orders placed for the Internal BP, containing the sales people, users, etc from B1 will no longer synch and a message will show in the synchlog
    - Several fixes to opportunities
    - Install plugin button appends stored proc instead of overwrite
    Fixes include:
    Note#  
    [1242678 - Added support for Switch, Maestro and Solo|https://service.sap.com/sap/support/notes/1242678]
    [1242677 - My Account->Account Transactions do not show current day |https://service.sap.com/sap/support/notes/1242677]
    [1242675 - Opportunity conntact list does not refresh on BP change |https://service.sap.com/sap/support/notes/1242675]
    [1242674 - Web Tools license error randomly appeares on website |https://service.sap.com/sap/support/notes/1242674]
    [1242673 - Displayed document type is wrong on doc linked to activity |https://service.sap.com/sap/support/notes/1242673]
    [1242612 - Search returns incorrect number of results |https://service.sap.com/sap/support/notes/1242612]
    [1242611 - Tentative checkbox on meeting activity does not synch |https://service.sap.com/sap/support/notes/1242611]
    [1242608 - WT throws error if no industry is specified on prospectmerge|https://service.sap.com/sap/support/notes/1242608]
    [1242607 - Reminder on activity is incorrectly synchronized |https://service.sap.com/sap/support/notes/1242607]
    [1242605 - Activity linked to opportunity to B1 corrupted B1 database |https://service.sap.com/sap/support/notes/1242605]
    [1242604 - Calendar control in Today->Pending activities does not work |https://service.sap.com/sap/support/notes/1242604]
    [1242592 - Termination date of service contract is set after synch |https://service.sap.com/sap/support/notes/1242592]
    [1242590 - Website times out by Request timed out error |https://service.sap.com/sap/support/notes/1242590]
    [1242521 - Updating opportunity with more stages in B1 fails to synch |https://service.sap.com/sap/support/notes/1242521]
    [1242518 - Page ~/admin/focus/OrderDetail.aspx should be removed|https://service.sap.com/sap/support/notes/1242518]
    [1242516 - Related document on opportunity does not work on sych WT->B1|https://service.sap.com/sap/support/notes/1242516]
    [1242514 - SECURITY Dangerous component exists on WT instance |https://service.sap.com/sap/support/notes/1242514]
    [1242471 - WeightTotalUnitCode added twice on upgrade from patch 8|https://service.sap.com/sap/support/notes/1242471]
    [1242470 - Malfunctioning paging navigator (Campaign Report Detail) |https://service.sap.com/sap/support/notes/1242470]
    [1242468 - Coupon without any requirements defined isn't accepted |https://service.sap.com/sap/support/notes/1242468]
    [1242467 - Coupon limit per user does not work if user was logged out |https://service.sap.com/sap/support/notes/1242467]
    [1242466 - User can view documents linked to another BP |https://service.sap.com/sap/support/notes/1242466]
    [1242401 - Field ZIP is not required on address detail of BP in WT |https://service.sap.com/sap/support/notes/1242401]
    [ 1242400 - Last visit on user is displayed twice |https://service.sap.com/sap/support/notes/1242400]
    [1242399 - Full Name password synch does not work for sales person |https://service.sap.com/sap/support/notes/1242399]
    [1242398 - Objects synching one way cannot be used in a synch plugin |https://service.sap.com/sap/support/notes/1242398]
    [1242396 - Delivery date on Quote incorrectly set on synch from B1->WT|https://service.sap.com/sap/support/notes/1242396]
    [1242338 - Priority and Source of Opportunity are not synchronized|https://service.sap.com/sap/support/notes/1242338]
    [1242336 - Synch overwrites code for opportunity competitor |https://service.sap.com/sap/support/notes/1242336]
    [1242335 - Base price not considered for pricelist with empty price|https://service.sap.com/sap/support/notes/1242335]
    [1242106 - Bounce report was not updated if failed email returned |https://service.sap.com/sap/support/notes/1242106]
    [1242105 - Create Activity on Opportunity redirects to incorrect page|https://service.sap.com/sap/support/notes/1242105]
    [1242082 - Adding linenote to order before saving row raises error |https://service.sap.com/sap/support/notes/1242082]
    [1242081 - Several strings have been corrected in application |https://service.sap.com/sap/support/notes/1242081]
    [1242078 - Item groups is incorrectly assgined to item on update in WT |https://service.sap.com/sap/support/notes/1242078]
    [1242077 - Quantity field missing on Quantity list category type |https://service.sap.com/sap/support/notes/1242077]
    [1242075 - Quotation total does not update when updating quantity|https://service.sap.com/sap/support/notes/1242075]
    [1242001 - Web Tools does not allow to change login name synched as ID |https://service.sap.com/sap/support/notes/1242001]
    [1242000 - WebTools raises error on purchases on internal account |https://service.sap.com/sap/support/notes/1242000]
    [1241999 - Clicking Install Plugin can break other installed addons|https://service.sap.com/sap/support/notes/1241999]
    [1241998 - Link between activity and service call is lost in WT|https://service.sap.com/sap/support/notes/1241998]
    [1241996 - Tax should not be applied to handling on synch from WT->B1|https://service.sap.com/sap/support/notes/1241996]
    [1241805 - Web UserID is not set correctly after synchronization|https://service.sap.com/sap/support/notes/1241805]
    [1241752 - Change of user's e-mail doesn't update contact list |https://service.sap.com/sap/support/notes/1241752]
    [1241750 - Shipment notification email not sent|https://service.sap.com/sap/support/notes/1241750]
    [1241749 - New address on Quote is not correct when saved|https://service.sap.com/sap/support/notes/1241749]
    [1241747 - Cannot reassign service call from queue to user in WT|https://service.sap.com/sap/support/notes/1241747]
    [1241665 - Install Plugin is enabled when there is no connection to B1 |https://service.sap.com/sap/support/notes/1241665]
    [1241600 - New checkbox to calculate sales BoM as assembly on Web Site|https://service.sap.com/sap/support/notes/1241600]
    [1226689 - Threat Level of competitors from B1 is not synched to WT|https://service.sap.com/sap/support/notes/1226689]

    Please be aware that in patch 11 the requirement that a delivery have a tracking number associated with it was lifted per multiple customer requests. Meaning, all deliveries that synch to web tools from B1 will trigger the messaging service to send a delivery notification if so enabled.
    So, if you have deliveries in B1 that have no tracking number on them, when they synch to Web tools they will send the delivery confirmation email. Basically any delivery that exists in Web tools that does not have a tracking number has never been sent, and after patch 11 will be sent, so you may end up sending delivery confirmations to your customers for orders that were placed years ago.
    Obviously this is not good. What you can do is use a local smtp server, which is recommended anyways, and monitor the pickup folder for emails that would be sent out. Pause the local smtp server BEFORE you upgrade to patch 11, watch the pickup directory and manually delete any emails that you don't want to go out.
    As there may be a large number of emails that you do not wish delivered, you may wish to perform a search on that folder for files containing the text of the undesired emails, such as "Your order has been shipped". Move those emails to a seperate folder, then search for any emails that do not contain the current date, or the dates that you know delivery notifications have not been sent for. A great tool for this is Total Commander, and it's free.
    There is also a switch in the Admin - config settings - messaging page that you can use to disable the sending of shipment notifications entirely. But make sure you restart the messaging service after you change this setting as the old setting might be cached in the service.

  • Sales Unit of Measure?

    Hi,
    as far as I can tell, Netpoint synchs not the Sales Unit of Measure (oitm.SalUnitMsr) but the quantity Per Packaging Unit (oitm.SalPackUn) when you do an Item sync, this figure then appears as the item's "# Per Package" in Netpoint.
    Is this correct?
    If so, is there any way to force Netpoint to sync the Sales Unit of Measure (I can do my own method via synch plugin but it would be nice if there was some way without that)
    Thanks!

    Hi Corbin,
    I figured as much.
    What I am doing instead is running an SP on my SAP Server by way of a sync plugin that updates a table on the Netpoint server, and then looking up the UOM for the Partno when the PartDetails.aspx page is loaded.
    Roundabout, but works.
    Still it would definently be nice to be able to choose from a dropdown in the next version, which field from SAP you wanted to map to any field in Netpoint - that way it would be very flexible.

  • Stock Item Release Date not populated in Webtools

    I am looking to alert Online purchases of products that are shown in webtools ( i.e. Active = 'Y') that are not immediately available at a date in the future.
    It is not possible to use the Valid From Date because this controls the initial visibility of the item in webtools.
    There is a UDF inserted by the Plugin ( I think ) Call ed Release date, however populating this field does not cause the 'ReleaseDate' field in PartsMaster Table to be updated.
    Assuming this can be achieved can someone advise briefly as to how this data can be populated on the relevant aspx page(s)
    If there is a better way of achieving the same thing - suggestions welcome. The customer wants to control this data from B1 rather then in WT.
    Thanks

    Hello Bryce,
    That's interesting what exactly do you mean by batch job? I presume some scheduled stored procedure with a update clause. Up until now I had thought that synch plugin was the only solution and hadn't tried writing my own yet but given the two SQL servers have to be able to  communicate with each other why or exactly when would a batch job not be practical for this sort of thing. Is this only really appropriate for uni-directional updates ( i.e. B1 to WT )?
    Or am I missing something here?

Maybe you are looking for

  • Port 8080: I know this is simple, I just can't get it to work.

    I'm trying something that I'm sure is relatively simple. But I just can't get it to work. I have OSX Server 10.4.10. I currently have my company site (www.example.com) hosted on it. But I'm trying to get another site hosted on it at port 8080. When I

  • Script to Export and Import Keywords and Metadata

    I have a requirement to mass upload and download keywords and various metadata fields (i.e. File Name, Date Created, City, Country, Document, Title, etc.) into an external database from the Adobe Bridge. Ideally it would be compatible to .txt, .csv,

  • Hi I'm new to java

    Hi, When i tried to run the Servlet it is showing the following warning: "serializable class ProfileServlet doesn't declare a static final serialversionUID field of type long" ProfileServlet.java package flowers; import java.io.IOException; import ja

  • To compare value node

    Hi, i need to compare two value, one it comes to LeadSelection (nodePo_Items) and another comes other table (nodeTemp_GetdetailSerivce_Output), but the comparison <b>(if)</b> don't work. ex: int m = wdContext.nodeZbapi_Po_Getdetail_Input().nodeOutput

  • NEW TO WEBSITE DESIGN AND MAINTENANCE

    Hi. I run my own business and got a friend of a friend to design a website for me. The problem was that when I wanted it updated I was paying £50 each time. I have decided to try and learn how to update the website myself but feel as if I have bitten