<nest>
    <bean class="net.cyan.datasyn.SynchronizedContainer" factory="instance">

        <synchronizer source="${source}" target="${target}" sourceSynSchema="${sourceBakSchema}"
                      targetSynSchema="${targetBakSchema}" mode="table" initData="false"
                      all="false" synDefaultValue="false" synIndex="false" synSequence="false">

            <table table="PFTIMEOUT" unilateral="false">
                <withSynSchema>${targetSwitchSchema}</withSynSchema>
                <condition>
                    <![CDATA[:new.DEPTID in (select DEPTID from ${sourceBakSchema}.DTDEPTS)]]>
                </condition>
            </table>

            <table table="PFUSERPROPERTY" unilateral="false">
                <withSynSchema>${targetSwitchSchema}</withSynSchema>
                <condition>
                    <![CDATA[:new.USERID in (select USERID from ${sourceBakSchema}.DTUSERS)]]>
                </condition>
            </table>

            <table table="PFUSERDESKTOPCONFIG" unilateral="false">
                <withSynSchema>${targetSwitchSchema}</withSynSchema>
                <condition>
                    <![CDATA[:new.USERID in (select USERID from ${sourceBakSchema}.DTUSERS)]]>
                </condition>
            </table>

            <table table="PFUSERLINKGROUP" unilateral="false">
                <withSynSchema>${targetSwitchSchema}</withSynSchema>
                <condition>
                    <![CDATA[:new.USERID in (select USERID from ${sourceBakSchema}.DTUSERS)]]>
                </condition>
            </table>

            <table table="PFUSERLINK" unilateral="false">
                <withSynSchema>${targetSwitchSchema}</withSynSchema>
                <condition>
                    <![CDATA[:new.USERID in (select USERID from ${sourceBakSchema}.DTUSERS)]]>
                </condition>
            </table>

            <table table="PFUSERMESSAGECONFIG" unilateral="false">
                <withSynSchema>${targetSwitchSchema}</withSynSchema>
                <condition>
                    <![CDATA[:new.USERID in (select USERID from ${sourceBakSchema}.DTUSERS)]]>
                </condition>
            </table>

            <table table="PFUSERMENUCONFIG" unilateral="false">
                <withSynSchema>${targetSwitchSchema}</withSynSchema>
                <condition>
                    <![CDATA[:new.USERID in (select USERID from ${sourceBakSchema}.DTUSERS)]]>
                </condition>
            </table>

            <table table="PFOPINION" unilateral="false">
                <withSynSchema>${targetSwitchSchema}</withSynSchema>
                <condition>
                    <![CDATA[:new.USERID in (select USERID from ${sourceBakSchema}.DTUSERS)]]>
                </condition>
            </table>

            <table table="PFCONSIGNATION" unilateral="false">
                <withSynSchema>${targetSwitchSchema}</withSynSchema>
                <condition>
                    <![CDATA[:new.CONSIGNER in (select USERID from ${sourceBakSchema}.DTUSERS)]]>
                </condition>
            </table>

            <table table="PFIMMESSAGE" unilateral="false">
                <withSynSchema>${targetSwitchSchema}</withSynSchema>
                <withSynSchema>${synSchema}</withSynSchema>
                <condition>
                    <![CDATA[:new.USERID in (select USERID from ${sourceBakSchema}.DTUSERS) or :new.MESSAGEID>${prefix}0000000000 and :new.MESSAGEID<${prefix+1}0000000000]]>
                </condition>
            </table>

            <table table="IMFRIENDGROUP" unilateral="false">
                <withSynSchema>${targetSwitchSchema}</withSynSchema>
                <condition>
                    <![CDATA[:new.USERID in (select USERID from ${sourceBakSchema}.DTUSERS)]]>
                </condition>
            </table>

            <table table="IMFRIEND" unilateral="false">
                <withSynSchema>${targetSwitchSchema}</withSynSchema>
                <withSynSchema>${synSchema}</withSynSchema>
                <condition>
                    <![CDATA[:new.USERID in (select USERID from ${sourceBakSchema}.DTUSERS) or :new.FRIENDID>${prefix}000000000 and :new.FRIENDID<${prefix+1}000000000]]>
                </condition>
            </table>

            <table table="IMGROUP" unilateral="false">
                <withSynSchema>${targetSwitchSchema}</withSynSchema>
                <condition>
                    <![CDATA[:new.CREATOR in (select USERID from ${sourceBakSchema}.DTUSERS)]]>
                </condition>
            </table>

            <table table="IMGROUPMEMBER" unilateral="false">
                <withSynSchema>${targetSwitchSchema}</withSynSchema>
                <withSynSchema>${synSchema}</withSynSchema>
            </table>

            <table table="IMUSERMESSAGE" unilateral="false">
                <withSynSchema>${targetSwitchSchema}</withSynSchema>
                <withSynSchema>${synSchema}</withSynSchema>
                <condition>
                    <![CDATA[:new.USERID in (select USERID from ${sourceBakSchema}.DTUSERS) or :new.MESSAGEID>${prefix}0000000000 and :new.MESSAGEID<${prefix+1}0000000000]]>
                </condition>
            </table>

            <table table="IMGROUPMESSAGERECORD" unilateral="false">
                <withSynSchema>${targetSwitchSchema}</withSynSchema>
                <withSynSchema>${synSchema}</withSynSchema>
                <condition>
                    <![CDATA[:new.USERID in (select USERID from ${sourceBakSchema}.DTUSERS) or :new.MESSAGEID>${prefix}0000000000 and :new.MESSAGEID<${prefix+1}0000000000]]>
                </condition>
            </table>

            <table table="IMGROUPMESSAGE" unilateral="false">
                <withSynSchema>${targetSwitchSchema}</withSynSchema>
                <condition>
                    <![CDATA[:new.MESSAGEID>${prefix}0000000000 and :new.MESSAGEID<${prefix+1}0000000000]]>
                </condition>
            </table>

            <table table="OAUSERFILE" unilateral="false">
                <withSynSchema>${targetSwitchSchema}</withSynSchema>
                <condition>
                    <![CDATA[:new.USERID in (select USERID from ${sourceBakSchema}.DTUSERS)]]>
                </condition>
                <subSynchronizedInfo subTableName="OAUSERFILESHARE" joinColumn="FILEID" reverseJoinColumn="FILEID"/>
                <subSynchronizedInfo subTableName="OAUSERFILECONTENT" joinColumn="FILEID" reverseJoinColumn="FILEID"/>
            </table>

            <table table="OAUSERFILESHARE" unilateral="false">
                <withSynSchema>${targetSwitchSchema}</withSynSchema>
                <withSynSchema>${synSchema}</withSynSchema>
                <condition>
                    <![CDATA[:new.FILEID>${prefix}0000000 and :new.FILEID<${prefix+1}0000000]]>
                </condition>
            </table>

            <table table="OAUSERFILECONTENT" trigger="delete" unilateral="false"/>

            <table table="OADEPTFILE" unilateral="false">
                <withSynSchema>${targetSwitchSchema}</withSynSchema>
                <condition>
                    <![CDATA[:new.DEPTID in (select DEPTID from ${sourceBakSchema}.DTDEPTS)]]>
                </condition>
                <subSynchronizedInfo subTableName="OADEPTFILESHARE" joinColumn="FILEID" reverseJoinColumn="FILEID"/>
                <subSynchronizedInfo subTableName="OADEPTFILECONTENT" joinColumn="FILEID" reverseJoinColumn="FILEID"/>
            </table>

            <table table="OADEPTFILECONTENT" trigger="delete" unilateral="false"/>

            <table table="OAMAIL" unilateral="false">
                <withSynSchema>${synSchema}</withSynSchema>
                <withSynSchema>${synSchema}2</withSynSchema>
                <withSynSchema>${targetSwitchSchema}</withSynSchema>
                <condition>
                    <![CDATA[:new.MAILID>${prefix}00000000000 and :new.MAILID<${prefix+1}00000000000 or
                              :new.USERID in (select USERID from ${sourceBakSchema}.DTUSERS)]]>
                </condition>
                <subSynchronizedInfo subTableName="OAMAILBODY" joinColumn="BODYID" reverseJoinColumn="BODYID"/>
            </table>

            <table table="OAMAILBODY" trigger="delete" unilateral="false">
                <condition>
                    <![CDATA[:new.BODYID>${prefix}0000000000 and :new.BODYID<${prefix+1}0000000000]]>
                </condition>
            </table>

            <table table="ODSEND" unilateral="false">
                <withSynSchema>${targetSwitchSchema}</withSynSchema>
                <key>SENDID</key>
                <condition>
                    <![CDATA[:new.SENDID>${prefix}000000000 and :new.SENDID<${prefix+1}000000000 or
                    :new.DEPTID in (select DEPTID from ${sourceBakSchema}.DTDEPTS)]]>
                </condition>
                <subSynchronizedInfo subTableName="ODDOCUMENT" joinColumn="DOCUMENTID" reverseJoinColumn="DOCUMENTID"/>
            </table>

            <table table="ODRECEIVEBASE" unilateral="false">
                <withSynSchema>${synSchema}</withSynSchema>
                <withSynSchema>${synSchema}2</withSynSchema>
                <withSynSchema>${targetSwitchSchema}</withSynSchema>
                <key>RECEIVEID</key>
                <condition>
                    <![CDATA[:new.RECEIVEID>${prefix}0000000000 and :new.RECEIVEID<${prefix+1}0000000000 and
                    :new.DEPTID in (select DEPTID from ${sourceBakSchema}.DTDEPTS)]]>
                </condition>
                <subSynchronizedInfo subTableName="ODRECEIVE" joinColumn="RECEIVEID" reverseJoinColumn="RECEIVEID"/>
                <subSynchronizedInfo subTableName="ODUNION" joinColumn="RECEIVEID" reverseJoinColumn="RECEIVEID"/>
                <subSynchronizedInfo subTableName="ODCOLLECT" joinColumn="RECEIVEID" reverseJoinColumn="RECEIVEID"/>
                <subSynchronizedInfo subTableName="ODDOCUMENT" joinColumn="DOCUMENTID" reverseJoinColumn="DOCUMENTID"/>
            </table>

            <table table="ODSENDRECORD" unilateral="false">
                <withSynSchema>${targetSwitchSchema}</withSynSchema>
                <condition>
                    <![CDATA[:new.RECORDID>${prefix}000000000 and :new.RECORDID<${prefix+1}000000000 or
                    :new.DEPTID in (select DEPTID from ${sourceBakSchema}.DTDEPTS)]]>
                </condition>
            </table>

            <table table="ODBACK" unilateral="false">
                <withSynSchema>${synSchema}</withSynSchema>
                <withSynSchema>${targetSwitchSchema}</withSynSchema>
                <condition>
                    <![CDATA[:new.BACKID>${prefix}00000000 and :new.BACKID<${prefix+1}00000000 or
                    :new.DEPTID in (select DEPTID from ${sourceBakSchema}.DTDEPTS)]]>
                </condition>
            </table>
            <table table="ODRECEIVE" trigger="delete" unilateral="false"/>

            <table table="ODUNION" trigger="delete" unilateral="false">
                <withSynSchema>${synSchema}</withSynSchema>
                <withSynSchema>${synSchema}2</withSynSchema>
            </table>

            <table table="ODCOLLECT" trigger="delete" unilateral="false"/>

            <table table="ODINSTANCECATALOG" unilateral="false">
                <withSynSchema>${targetSwitchSchema}</withSynSchema>
                <condition>
                    <![CDATA[:new.CATALOGID>${prefix}0000000 and :new.CATALOGID<${prefix+1}0000000 or
                     :new.DEPTID in (select DEPTID from ${sourceBakSchema}.DTDEPTS)]]>
                </condition>
            </table>

            <table table="ODFLOWINSTANCE" unilateral="false">
                <withSynSchema>${synSchema}</withSynSchema>
                <withSynSchema>${targetSwitchSchema}</withSynSchema>
                <condition>
                    <![CDATA[:new.INSTANCEID>${prefix}0000000000 and :new.INSTANCEID<${prefix+1}0000000000 or
                     :new.DEPTID in (select DEPTID from ${sourceBakSchema}.DTDEPTS)]]>
                </condition>
                <subSynchronizedInfo subTableName="ODFLOWSENDINSTANCE" joinColumn="INSTANCEID"
                                     reverseJoinColumn="INSTANCEID"/>
                <subSynchronizedInfo subTableName="ODDOCUMENT" joinColumn="DOCUMENTID" reverseJoinColumn="DOCUMENTID"/>
            </table>

            <table table="ODFLOWSENDINSTANCE" trigger="delete" unilateral="false"/>

            <table table="ODFLOWSTEPQ" unilateral="false">
                <withSynSchema>${synSchema}</withSynSchema>
                <withSynSchema>${synSchema}2</withSynSchema>
                <key>STEPID</key>
                <condition>
                    <![CDATA[:new.STEPID>${prefix}00000000000 and :new.STEPID<${prefix+1}00000000000 or
                                                  :new.USERID in (select USERID from ${sourceBakSchema}.DTUSERS)]]>
                </condition>
            </table>
            <table table="ODFLOWSTEPD" unilateral="false">
                <withSynSchema>${synSchema}</withSynSchema>
                <withSynSchema>${synSchema}2</withSynSchema>
                <key>STEPID</key>
                <condition>
                    <![CDATA[:new.STEPID>${prefix}00000000000 and :new.STEPID<${prefix+1}00000000000]]>
                </condition>
            </table>

            <table table="ODDOCUMENT" unilateral="false">
                <condition>
                    <![CDATA[:new.DOCUMENTID>${prefix}0000000000 and :new.DOCUMENTID<${prefix+1}0000000000]]>
                </condition>
                <subSynchronizedInfo subTableName="ODDOCUMENTTEXT" joinColumn="TEXTID" reverseJoinColumn="TEXTID"/>
                <subSynchronizedInfo subTableName="ODDOCUMENTTEXTS" joinColumn="DOCUMENTID"
                                     reverseJoinColumn="DOCUMENTID"/>
                <subSynchronizedInfo subTableName="ODDOCUMENTATTRIBUTEVALUE" joinColumn="DOCUMENTID"
                                     reverseJoinColumn="DOCUMENTID"/>
                <subSynchronizedInfo subTableName="ODDOCUMENTRECEIVERLIST" joinColumn="RECEIVERLISTID"
                                     reverseJoinColumn="RECEIVERLISTID"/>
                <subSynchronizedInfo subTableName="PFATTACHMENT" joinColumn="ATTACHMENTID"
                                     reverseJoinColumn="ATTACHMENTID"/>
            </table>

            <table table="ODDOCUMENTTEXTS" trigger="delete" unilateral="false">
                <subSynchronizedInfo subTableName="ODDOCUMENTTEXT" joinColumn="TEXTID" reverseJoinColumn="TEXTID"/>
            </table>

            <table table="ODDOCUMENTTEXT" unilateral="false">
                <condition>
                    <![CDATA[:new.TEXTID>${prefix}0000000000 and :new.TEXTID<${prefix+1}0000000000]]>
                </condition>
            </table>
            <table table="ODDOCUMENTATTRIBUTEVALUE" trigger="delete" unilateral="false"/>
            <table table="ODDOCUMENTRECEIVERLIST" trigger="false" unilateral="false"/>

            <table table="ODRECEIPT" unilateral="false">
                <condition>
                    <![CDATA[:new.RECEIPTID>${prefix}000000000 and :new.RECEIPTID<${prefix+1}000000000 or
                          :new.DEPTID in (select DEPTID from ${sourceBakSchema}.DTDEPTS)]]>
                </condition>
                <subSynchronizedInfo subTableName="ODRECEIPTMEETING" joinColumn="RECEIPTID"
                                     reverseJoinColumn="RECEIPTID"/>
            </table>

            <table table="ODRECEIPTREPLY" unilateral="false">
                <withSynSchema>${synSchema}</withSynSchema>
                <withSynSchema>${synSchema}2</withSynSchema>
                <withSynSchema>${targetSwitchSchema}</withSynSchema>
                <condition>
                    <![CDATA[:new.RECEIPTID>${prefix}000000000 and :new.RECEIPTID<${prefix+1}000000000 or
                    :new.DEPTID in (select DEPTID from ${sourceBakSchema}.DTDEPTS)]]>
                </condition>
            </table>
            <table table="ODRECEIPTMEETING" trigger="delete" unilateral="false"/>
            <table table="ODYFMEETING" trigger="delete" unilateral="false"/>
            <table table="ODRECEIPTMEETINGITEM" unilateral="false">
                <withSynSchema>${synSchema}</withSynSchema>
                <withSynSchema>${synSchema}2</withSynSchema>
                <condition>
                    <![CDATA[:new.ITEMID>${prefix}0000000000 and :new.ITEMID<${prefix+1}0000000000 or
                    :new.DEPTID in (select DEPTID from ${sourceBakSchema}.DTDEPTS)]]>
                </condition>
            </table>

            <table table="PFFLOWINSTANCE" unilateral="false">
                <condition>
                    <![CDATA[:new.INSTANCEID>${prefix}0000000000 and :new.INSTANCEID<${prefix+1}0000000000 or
                                     :new.DEPTID in (select DEPTID from ${sourceBakSchema}.DTDEPTS)]]>
                </condition>
                <subSynchronizedInfo subTableName="PFINSTANCEBODY" joinColumn="INSTANCEID"
                                     reverseJoinColumn="INSTANCEID"/>
                <subSynchronizedInfo subTableName="PFFLOWCONTEXT" joinColumn="INSTANCEID"
                                     reverseJoinColumn="INSTANCEID"/>
                <subSynchronizedInfo subTableName="PFFORMBODY" joinColumn="BODYID" reverseJoinColumn="BODYID"/>
            </table>

            <table table="PFINSTANCEBODY" trigger="delete" unilateral="false">
                <subSynchronizedInfo subTableName="PFFORMBODY" joinColumn="BODYID" reverseJoinColumn="BODYID"/>
            </table>

            <table table="PFFLOWSTEP" unilateral="false">
                <withSynSchema>${synSchema}</withSynSchema>
                <withSynSchema>${synSchema}2</withSynSchema>
                <subSynchronizedInfo subTableName="PFFLOWSTEPBACK" joinColumn="STEPID" reverseJoinColumn="STEPID"/>
            </table>

            <table table="PFFLOWSTEPBACK" trigger="delete" unilateral="false"/>

            <table table="PFFORMBODY" unilateral="false">
                <condition>
                    <![CDATA[:new.BODYID>${prefix}0000000000 and :new.BODYID<${prefix+1}0000000000]]>
                </condition>
                <subSynchronizedInfo subTableName="PFFORMATTACHMENT" joinColumn="BODYID" reverseJoinColumn="BODYID"/>
            </table>

            <table table="PFFLOWCONTEXT" trigger="delete" unilateral="false"/>

            <table table="PFWORKSHEETCATALOG" unilateral="false">
                <withSynSchema>${targetSwitchSchema}</withSynSchema>
                <condition>
                    <![CDATA[:new.USERID in (select USERID from ${sourceBakSchema}.DTUSERS)]]>
                </condition>
            </table>
            <table table="PFWORKSHEETCATALOGLIST" unilateral="false">
                <withSynSchema>${targetSwitchSchema}</withSynSchema>
                <condition>
                    <![CDATA[:new.USERID in (select USERID from ${sourceBakSchema}.DTUSERS)]]>
                </condition>
            </table>

            <table table="PFFORMATTACHMENT" trigger="delete" unilateral="false">
                <subSynchronizedInfo subTableName="PFATTACHMENT" joinColumn="ATTACHMENTID"
                                     reverseJoinColumn="ATTACHMENTID"/>
            </table>

            <table table="ODARCHIVE" unilateral="false">
                <withSynSchema>${targetSwitchSchema}</withSynSchema>
                <condition>
                    <![CDATA[:new.ARCHIVEID>${prefix}0000000000 and :new.ARCHIVEID<${prefix+1}0000000000 or
                    :new.DEPTID in (select DEPTID from ${sourceBakSchema}.DTDEPTS)]]>
                </condition>
            </table>

            <table table="ODARCHIVECATALOG" unilateral="false">
                <withSynSchema>${targetSwitchSchema}</withSynSchema>
                <condition>
                    <![CDATA[:new.CATALOGID>${prefix}0000000 and :new.CATALOGID<${prefix+1}0000000 or
                    :new.DEPTID in (select DEPTID from ${sourceBakSchema}.DTDEPTS)]]>
                </condition>
            </table>

            <table table="ODARCHIVECONFIG" unilateral="false">
                <withSynSchema>${targetSwitchSchema}</withSynSchema>
                <condition>
                    <![CDATA[:new.DEPTID in (select DEPTID from ${sourceBakSchema}.DTDEPTS)]]>
                </condition>
            </table>

            <table table="PFATTACHMENT" unilateral="false">
                <condition>
                    <![CDATA[:new.ATTACHMENTID>${prefix}0000000000 and :new.ATTACHMENTID<${prefix+1}0000000000]]>
                </condition>
            </table>

            <table table="AFVACATION" unilateral="false">
                <withSynSchema>${targetSwitchSchema}</withSynSchema>
                <condition>
                    <![CDATA[:new.USERID in (select USERID from ${sourceBakSchema}.DTUSERS)]]>
                </condition>
                <subSynchronizedInfo subTableName="AFVACATIONDAY" joinColumn="VACATIONID"
                                     reverseJoinColumn="VACATIONID"/>
            </table>
            <table table="AFVACATIONDAY" trigger="false" unilateral="false"/>

        </synchronizer>

    </bean>
</nest>