I found this (honour to whom it is due, I found it in a "Best_practices_guide" or some other document here, I don't remember too clearly).
Just thought I'd share this and make it more prominent as I really think this should be a MUST KNOW for developers, even for newbies as it isn't hard and saves you significant time.
So let's go.
- Suppose I have two directories:
- One where I have the "live" apps that can be used by my users (I'll call it Dir_A)
- One for myself and the developers that users can't access (I'll call it Dir_B)
- What I do routinely is, I open the app in Dir_A, save it ("save as") in Dir_B, work on it, test it and then save it back ("save as") in
Dir_A => all the licenses stay since the name is the same
- My apps all have an "EXIT" tab with only one command "EXIT SCRIPT"
- Many of my apps have a hidden script with either a section_access or an ODBC_connect_string or so
=> What I do now is:
- I start off by opening the "live" App (that I know is up-to-date and working) in Dir_A
- I save that ("save as") in Dir_B, so now I have an exact copy
- Then, to not confuse myself, I rename the "EXIT" tab in the scipt to "EXIT_original" and make a new one that I can move around.
- Then, since the hidden_script is ALWAYS the leftmost one (I can't move that one), I cannot make a new tab left of it
=> so I have to open that and use it
- In the hidden_script, I deactivate the connect_string or whatever there is (just comment it, don't delete)
and, ABOVE that, I insert a BINARY LOAD (use the wizard) pointing to the "live" app in Dir_A
- Now, upon reload (don't reload yet), all the data is loaded EXTREMELY FAST from the app in Dir_A
=> I have to move the new "EXIT" tab directly to the right of "Main" or so, so that all the regular LOADs are inactive
<=> I might have to move one tab to the left of the new "EXIT" in case I need a table that I have a DROP for in the "live" app
=> now save (still in Dir_B) and reload (can be done locally)
=>=> That's it really. Try it out, the BINARY LOAD is extremely fast (as compared to a LOAD from a qvd or even more from Excel)
and, since all the data is there, all the existing charts in the app (always in Dir_B) should work.
=> I haven't measured it and it depends on your "was_state" to compare with - but the time_saving in any case is
- Just remember, after developing (BEFORE you copy that back into your Dir_A) to
- deactivate the BINARY LOAD
- re-activate the connect_string or whatever there was in the hidden_script (I suppose it's required)
- move the new "EXIT" tab out of the way, behind the "EXIT_original"
- Test it