on 07-11-2013 8:30 AM
Hello Experts,
I have a question regarding enhancing the source tables during replication. What are the steps to be consider before enhancing the Table in R/3 System which is already in replication.
We have come across a scenario like enhanced the table in R/3 System and when the transport moved to the next environment the transport ended with errors.
Could you please share me your inputs or thoughts if you would have faced this Scenario and what are the steps to followed.
Thanks,
HA.
Hi HA,
There is no check for active trigger in the ABAP dictionary. I.e. any structural change can be executed on a table no matter if a trigger is active for that table. If SLT is installed on DMIS 2011 SP2 or higher / DMIS 2010 SP7 or higher, SLT will recognize structural changes and will adapt the table on the HANA side accordingly. As the logging table stores the key of the original table, the trigger and logging table have to be dropped and recreated in case of changes of key definition. Please ensure that the trigger is dropped before the key definition is changed as the trigger will fail once the key definition is changed. Therefore in case of key changes you have to stop the replication for the affected table and start the replication (including a new load) after the
applying the change to the table.
There is a check in the ABAP dictionary which prevents any strucutural change on a table where a database trigger is active. There are two notes available which downport the adaption which is part of the standard installation starting with SAP Netweaver 7.31 SP5 and higher releases (EhPs). Please be aware that both notes handle SLT triggers only. I.e. in case customer own triggers are
active on a table also, any structural change will still be prevented.
SAP Note 1655725 - Check for DB trigger made less strict
By implementing this note on the SAP source system, simple table structure changes (adding a non key field) are possible with active SLT triggers. The trigger will remain active and and
delta recording continues without any interruption. SLT checks before every replication if the activation timestamp of the source table changed to detect any structural change. When the table is changed on the source system, SLT pauses the replication of that table, calculates the ALTER statement for the HANA DB and does the same adjustemnt (including DEFAULT VALUE statements) on the HANA side. Afterwards the replication object is adjusted to the new structure
and replication continues without the need of a new initial load. In this case the table is paused for a few minutes, therefore Latency might go up for the first portions after the table adjustment was processed automatically. For the automatic adaption by SLT, DMIS 2011 SP2 or higher / DMIS 2010 SP7 or higher is required on the SLT System.
SAP Note 1749824 - Treatment of SLT triggers during transport
In case of complex table structure changes (change data type or length, add or delete key fields) the trigger and logging table have to be dropped and recreated. Also the table on HANA side has to be dropped and recreated to ensure data consistency. Therefore you normally have to stop the replication for the affected tables upfront before applying a complex structural change. By implementing this note, the data dictionary checks in case of complex structural changes if the active triggers are SLT triggers and will drop the SLT trigger to ensure that the structural
change can be applied. SLT permanently checks if the created triggers still exist in the source system. In case a trigger is dropped manually or by the data dictionary, SLT suspends the replication for that table and sets it to error state with an according error message in the application log (that the trigger was deleted). So this note does not prevent that you have to reload the table
after a complex structural change but you can apply complex structural changes with stopping the replication of the affected table upfront.
Simple Table Structure Changes
Simple table structure changes (adding a non key field) are possible with active SLT triggers. The trigger will remain active and delta recording continues without any interruption. SLT checks before every replication if the activation timestamp of the source table changed to detect any structural change. If the table is changed on the source system, SLT will pause the replication of that table, calculate the ALTER statment for the HANA DB and do the same adjustemnt (including DEFAULT VALUE statements) on the HANA side. Afterwards the replication object is adjusted to the new structure and replication continues without the need of a new initial load. In this case the table is paused for a few minutes, therefore Latency might go up for the first portions after the table adjustment was processed automatically. For the automatic adaption by SLT, DMIS 2011 SP2 or higher / DMIS 2010 SP7 or higher is required on the SLT System.
Complex Table Structure Changes
In case of complex table structure changes (change data type or length, add or delete key fields) the trigger and logging table have to be dropped and recreated. Also the table on HANA side has
to be dropped and recreated to ensure data consistency. Therefore you normally have to stop the replication for the affected tables upfront before applying a complex structural change. The data dictionary checks in case of complex structural changes if the active triggers are SLT triggers and will drop the SLT trigger to ensure that the structural change can be applied. SLT permanently
checks if the created triggers still exist in the source system. In case a trigger is dropped manually or by the data dictionary, SLT suspends the replication for that table and sets it to error state with an according error message in the application log (that the trigger was deleted). So the table
has to be reloaded again after a complex structural change but you can apply complex structural changes with stopping the replication of the affected table upfront.
There a serveral notes that are relevant for transports. You find them in the Note list marked as elevant Notes from other Components: http://scn.sap.com/community/replication-server/blog/2013/02/27/list-of-all-slt-notes
Best,
Tobias
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Tobias,
Thanks for your reply.
Could you please confirm was the below context is given by SAP in any OSS note ?
Simple Table Structure Changes
Simple table structure changes (adding a non key field) are possible with active SLT triggers. The trigger will remain active and delta recording continues without any interruption. SLT checks before every replication if the activation timestamp of the source table changed to detect any structural change. If the table is changed on the source system, SLT will pause the replication of that table, calculate the ALTER statment for the HANA DB and do the same adjustemnt (including DEFAULT VALUE statements) on the HANA side. Afterwards the replication object is adjusted to the new structure and replication continues without the need of a new initial load. In this case the table is paused for a few minutes, therefore Latency might go up for the first portions after the table adjustment was processed automatically. For the automatic adaption by SLT, DMIS 2011 SP2 or higher / DMIS 2010 SP7 or higher is required on the SLT System.
Complex Table Structure Changes
In case of complex table structure changes (change data type or length, add or delete key fields) the trigger and logging table have to be dropped and recreated. Also the table on HANA side has
to be dropped and recreated to ensure data consistency. Therefore you normally have to stop the replication for the affected tables upfront before applying a complex structural change. The data dictionary checks in case of complex structural changes if the active triggers are SLT triggers and will drop the SLT trigger to ensure that the structural change can be applied. SLT permanently
checks if the created triggers still exist in the source system. In case a trigger is dropped manually or by the data dictionary, SLT suspends the replication for that table and sets it to error state with an according error message in the application log (that the trigger was deleted). So the table
has to be reloaded again after a complex structural change but you can apply complex structural changes with stopping the replication of the affected table upfront.
Thanks,
HA
Hello Tobias,
I would like to share the Issues that we have faced during DATATYPES Conversion from SLT System to HANA system and please provide me your
valuable inputs if you have any solution in this scenario.
What we have done and what issues we have faced are mentioned below:
Issues & Solutions that we have implemented
Questions
Proposal Ideas
If you have already come across this situation and if you have other proposal to fix this scenario please reply, so we can share with the other customers whomever facing these sorts of issues.
Regards,
HA
User | Count |
---|---|
93 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.