The correct troubleshooting should be understand where and what moment the problem happens. The tool to help on this situations is debug mode executing your code step by step.
By the way, there are a lot of environment configurations related.
My other sugestion is slicing you code, executing once and analyze the prior step.
You are selecting every row from the ZVTA_DIMEN_CAB table and then filtering with the LOAD statement. If the ZVTA_DIMEN_CAB table is large, this could take some time.
You should modify your SQL SELECT to include a WHERE clause that SELECTs row only greater than the max modification date in the QVD (or a greater sequence number). It's hard to give you specifics without knowing your table columns, but search for "incremental load" for examples.