[#meta: I’m missing a place here, where I can quickly drop an idea or a thought. I initially thought of making this a CoffeCorner discussion, but then went for the blog-option. Do let me know your thoughts on that as well!]
Thinking out loud: It would be nice to have a “SFW5 – switch-switcher“, quickly outline now:
Assume I have a few addons, that are part of packages, which are assigned to switches (SFW1), which are assigned to Business Functions (SFW5).
Let’s call them
We can assume the naming package = switch = business function for simplicity. Oh, and the Business Functions are set to be reversible!
Now I would like to have a report (or something) that does the following:
- Take the first addone, got to sfw5
- (assuming it is turned on:) turn it off, activate (the de-activation :-)).
- Wait for (de)activation to finish.
- do [some Tests]
- go back to sfw5 and turn it on again.
- [maybe run another test]
- repeat with the next Business Function.
The [some Tests] part could be running eCatts, or just calling some business transactions (e.g. VA01, LT12..) -> see if they compile all right, or if they dump with a Syntax error.
The reason I want to do this, is testing/finding errors.
When writing the addon, I might have accidentally assigned some objects to another package -> so when switching off, some objects might stay on, causing syntax (or semantical?) errors – I’d like to find those.
Further uses might be to not only turn off-and on one by one, but also test if combinations still work fine. (There are 2^n possible combinations, where n is the number of Business-Functions).
We probably also should remember the initial switch-state (what is on, what is off), and anways be able to return to that.
So, some Questions:
- Does such a thing already exist maybe?
- …or parts of it? Is there an interface (e.g. a class), to SFW5, which I can use in ABAP (or elsewhere e.g. SCP).
- – would you see use for such a tool in your work?
- – would a good package structure (se21) including enforcement via Package Checks make it superfluous? (I’m sure it would help to not accidently assigning something to a wrong package; but the tool might still be helpful for finding bugs in different switch constellations).
let me know your thoughts!