Hi, Roland. Yes, I agree. But the same lack of setRedraw() was in the PB9 code which ran acceptably fast.
For further testing, I did bracket the code with setRedraw() as you suggested. Minimal improvement. PB12 version took 560 seconds. PB9 was 32 seconds. Same data file. Same code.
But... I have news!
I replaced (contrary to my better thinking) all the getItemxxx() with dot notation:
ls_stateabbr = trim(dw_import.getItemString(ll_row, 'stateabbr'))
became
ls_stateabbr = trim(dw_import.object.stateabbr[ll_row])
VOILA! 28 SECONDS!!!
However, the corollary was not true:
Replacing the setItem() with dot notation ADDED 10 seconds ==> 38 seconds total.
So the code is a hybrid now: I use dot notation to extract values from the import dw and use setItem() to populate fields in the update dw.
How do I explain this to the other developers? Can I say to use dot notation across the board now? Has this construct improved over the years to be more efficient than it was in the mid-nineties?