with mytree as (select distinct tnode.tree_name, tnode.parent_node_num, tnode.tree_node_num, tnode.tree_node, tlvl.tree_level, glacct.account, glacct.account_type, tnode.parent_node_name, glacct.descr from sysadm.pstreenode tnode, sysadm.pstreeleaf tleaf, sysadm.ps_gl_account_tbl glacct, sysadm.pstreelevel tlvl where tnode.setid=tleaf.setid and tnode.tree_name=tleaf.tree_name and tnode.effdt=tleaf.effdt and tleaf.tree_node_num between tnode.tree_node_num and tnode.tree_node_num_end and glacct.account between tleaf.range_from and…
Category: Applications
ORA-01002: fetch out of sequence in ATG BCC
We had an issue during a deployment in which an ORA-01002 was thrown. The interesting part is when we compile and run what is below… import java.sql.*; public class test { public static void main (String args[]) throws Exception {…
ATG repository caching and the ServerLockManager
While somewhat ancient, I use what is below to crawl an EAR and find which repositories are configured to actually use the ServerLockManager in ATG. for f in $(find . -name “*.jar” -type f ); do for x in $(jar…
ATG – printing items in a giftlist
What is below will print all SKU’s in a giftlist for a given profile… SQL> select g.catalog_ref_id, stock_level, s.display_name 2 from core.dcs_giftitem g, core.dcs_inventory i, cata.dcs_sku s 3 where id in (select giftitem_id 4 from core.dcs_giftlist_item o 5 where giftlist_id…
Comparing web content using python
We have an active/passive data center setup. We replicate the database data using GoldenGate, and maintain the application software through regular build processes. ATG publishing is included in the database data, and the targeter files are maintained via rsync. We…
How does ATG calculate a checksum on a file asset
Here is how a checksum is calculated by ATG. This could be invaluable if you ever have to fix data. Get the checksum on the publishing agent filesystem… -bash-4.1$ pwd /opt/jboss/kits/current/atg_bootstrap.war/WEB-INF/ATG-INF/DAS/lib -bash-4.1$ java -cp classes.jar atg.core.io.CRC64 /tmp/MobileHomePageTargeter.properties Via Direct Table…
Difference between InvalidVersionException and ConcurrentUpdateException
ATG is a very cache heavy application. Given its chatty database design, this is a good thing. One area that uses cache heavily and depends upon a proper configuration of the repository layer is the OrderRepository. Two common exceptions that…
Dump ATG publishing cluster state
The ATG publishing infrastructure maintains a cluster state file on each target. This is used to sync up with the Business Control Center (“BCC”) content, and ensure they match. When troubleshooting, it can be helpful to print the contents of…
Adding the session_id to JBOSS and the ATG order repository
We wanted to be able to track the path a shopper took through the initial order creation process in ATG. The IP address is often insufficient for reasons such as a shared internet connection, proxy server, etc. We extended the…
JBOSS – Which threads have a database connection checked out of the pool?
We had an issue in ATG which was eventually traced to deadlocked sessions on checkout, each of which was attempting to decrement inventory for SKU’s in opposite order. In other words, session one wanted to decrement inventory for A and…