I've been trying to follow the chain of events for an old personalisation which generates a Custom BOD.
The process starts with a Background Task which just calls an SP, which calls a Child SP that checks the necessary Replication rules exist and then calls
exec @Severity = dbo.RemoteMethodForReplicationTargetsSP
'SP!'
, @MethodName
, @Infobar OUTPUT
, @cust_num
@Method in this case is 'TriggerSelexStockLevelSp'
As you would guess from the name this for a Stock Report. Now I eventually found a separate CLM which provides the data for the BOD (and was what I was ultimately digging for, but it occurs to me that even though TriggerSelexStockLevelSp appears in the ESB Replication Category, it doesn't exist in the database (or nowhere obvious - I even queries sys.objects) and neither do any of the other Trigger...Sps in ESB.
Nor do they seem to be IDO Methods.
So it begs the question where are such Sps located (so I can see how they tick)?
Also, how are such things created for use in the Cloud given the various access restrictions?
In an attempt to answer my own question, I took a closer look at the Replication Document. This form referenced a different CLM (for the header) - which IS an IDO method and the SQL Sp exists in the database - but I eventually found TriggerSelexStockLevelSp on the Outbound CrossRefs tab. Presumably then the Trigger...Sps in the ESB Replication Category are just labels which point to Inbound or Outbound Cross Refs (according to direction)? Is it that simple?
The original CLM I found turns up as a reference on one line of the Replication Document Elements as the Custom Load Method reference for a single element with the value type of Dynamic Subcollection. The CLM is also defined as an IDO Method.
So provided the SQL is rewritten as an IDO Extension Class, it should be Cloud compatible. The only potential barrier is the IDO reference for TriggerSelexStockLevelSp which is set to SP! I think I saw somewhere that use of SP! was to be phased out in due course. If that is the case how do I define a mere label as an IDO method?
Is this how everything hangs together or did I miss something important?
Thanks