I have been thinking more about creating new ABAP-code, lately.
For years, the ABAP-Report hast been my default-solution for that.
(Like the blog is my default in SAP-Community - with some questions in the end!).
My template shows how this reports are usually build up:
0.
A selection screen.
1.
get_data( )
Example: select SalesOrders, that have no follow-up-document and ZZ_myfield is initial.
2.
process_data( )
The reason that report exists, the core of the task at hand. Example: send an e-mail to the creator of those SalesOrder.
3.
display_data( )
This is "optional", a side-product. It has close to no cost, but quite some benefit: It gives the option to 'peak' at the data, before actually doing something.
That way, you'll catch if your selection hits thousands of orders, when you expected just a few (check your sel-screen!).
It also might turn out that "looking at the data" is a use case for itself. In our examaple, SaesOrder-creators might look up via their username and sort things out themselves -> no need for even sending an e-mail.
So, what can I do with this report?
- Start via SE38/SA38
- Assign one (or more!) Transaction to it, start it that way.
- Plan it as batchjob in SM36
Conclusion:
I deem this kind or report still relevant.
Questions:
(in case release plays a role for answers here: just assume I'm on the latest S/4HANA!)
- Given this features, could I do it differently/better?
- e.g. could I do it via (only) a global class? (Can classes have selection screens? Can they be run as a batchjob?)
- is there a benefit in moving all thats possible to global class and only keeping Selscreen and start-of-selection in the report?
- (how) could I make this more "cloud-ready"?
Best
Joachim
Edit: PS: This seems to be a nice resource, on "how to create a modern report" :
https://developers.sap.com/tutorials/abap-create-basic-app.html