Copyright 2021 - BV TallVision IT

.. in comments. Having a good solid naming convention for your variables is a very good idea, which will help you building your coding and help the developer that needs to alter it in the future as well. Which may also be you ! A ready-to-copy comment block on naming conventions: 

*-----------------------------------------------------------------------
*                        _
*  _ __   __ _ _ __ ___ (_)_ __   __ _
* | '_ \ / _` | '_ ` _ \| | '_ \ / _` |     Please make the effort to
* | | | | (_| | | | | | | | | | | (_| |     uphold these conventions
* |_| |_|\__,_|_| |_| |_|_|_| |_|\__, |_   _   - thank you in advance
*        ___ ___  _ ____   _____ |___/| |_(_) ___  _ __  ___
*       / __/ _ \| '_ \ \ / / _ \ '_ \| __| |/ _ \| '_ \/ __|
*      | (_| (_) | | | \ V /  __/ | | | |_| | (_) | | | \__ \
*       \___\___/|_| |_|\_/ \___|_| |_|\__|_|\___/|_| |_|___/
*
* Selection screen variables:
*   PA_ Parameter field
*   SO_ Select-option field
* Globally defined variables:      Locally defined variables:
*   TY_ Type definition            | LTY_ Locally defined Type definition (types: begin of lty_...)
*   GC_ Constant                   | LC_ Constant
*   GV_ Variable                   | LV_ Variable
*   GW_ Work Area                  | LW_ Work Area (holding multiple fields)
*   GT_ internal Table             | LT_ internal Table
*   GR_ Range variable             | LR_ Range variable (type range of)
*   GO_ Object variable            | LO_ Object variable (type ref to ..)
*   LCL_ Local class definition/implementation
* Field-symbols:
*   - Field symbol definitions have no naming convention, but
*     should be used for a single data type only
* Local classes:
*   - A local class can hold globally defined variables as well as
*     locally defined variables
*   - Instance and static variables use the same naming convention
*   - Parameters on a method have no naming convention
*   - Exceptions have no naming convention
*---------------------------------------------------------------------

Now if you want to win prizes with the quality of your coding, you may want to add this as well. Only if you apply these rules of course:

* Field-symbols:
*   - Field symbol definitions have no naming convention, but 
*     should be used for a single data type only
* Local classes:  
*   - A local class can hold globally defined variables as well as
*     locally defined variables
*   - Instance and static variables use the same naming convention
*   - Parameters on a method have no naming convention 
*   - Exceptions have no naming convention

This brief summary is aimed at naming convention related matters, which can effectively be applied to any and every new report you may be starting on. It's a good idea to use this, or adapt it to your own style and stick to it. The functionality you are creating will go through a life-cycle of it's own, you're not the last person to work in it !

Report skeleton

As you may well be working on a new report, this is always a good setup to start. Make sure you check the article "pimp your comments" and place a sweet customer-specific logo on your coding !

*  _____           _                               ___  ______  ___  ______
* /  __ \         | |                             / _ \ | ___ \/ _ \ | ___ \
* | /  \/_   _ ___| |_ ___  _ __ ___   ___ _ __  / /_\ \| |_/ / /_\ \| |_/ /
* | |   | | | / __| __/ _ \| '_ ` _ \ / _ \ '__| |  _  || ___ \  _  ||  __/
* | \__/\ |_| \__ \ || (_) | | | | | |  __/ |    | | | || |_/ / | | || |
*  \____/\__,_|___/\__\___/|_| |_| |_|\___|_|    \_| |_/\____/\_| |_/\_|
*              Create your own logo on http://patorjk.com/software/taag/
*---------------------------------------------------------------------
* Program          : ..
* Title            : ..
* Functional area  : Cross modules
* Environment      : 4.7
* Description      : ..
*
* Previous version : This is the initial version
* Developer name   : ..
* Development date : ../../....
* Version          : 0.1
*---------------------------------------------------------------------
* Change history                           (new entries at the bottom)
*   Date       Description
*   ../../.... Initial release
*---------------------------------------------------------------------
*      __                _
*   /\ \ \__ _ _ __ ___ (_)_ __   __ _
*  /  \/ / _` | '_ ` _ \| | '_ \ / _` |
* / /\  / (_| | | | | | | | | | | (_| |
* \_\ \/ \__,_|_| |_| |_|_|_| |_|\__, | _   _
*         ___ ___  _ ____   _____|___/ | |_(_) ___  _ __  ___
*        / __/ _ \| '_ \ \ / / _ \ '_ \| __| |/ _ \| '_ \/ __|
*       | (_| (_) | | | \ V /  __/ | | | |_| | (_) | | | \__ \
*        \___\___/|_| |_|\_/ \___|_| |_|\__|_|\___/|_| |_|___/
* Selection screen variables:
*   PA_ Parameter field
*   SO_ Select-option field
* Globally defined variables:      Locally defined variables:
*   TY_ Type definition            | LTY_ Locally defined Type definition (types: begin of lty_...)
*   GC_ Constant                   | LC_ Constant
*   GV_ Variable                   | LV_ Variable
*   GW_ Work Area                  | LW_ Work Area (holding multiple fields)
*   GT_ internal Table             | LT_ internal Table
*   GR_ Range variable             | LR_ Range variable (type range of)
*   GO_ Object variable            | LO_ Object variable (type ref to ..)
*   LCL_ Local class definition/implementation
* Field-symbols:
*   - Field symbol definitions have no naming convention, but 
*     should be used for a single data type only
* Local classes:  
*   - A local class can hold globally defined variables as well as
*     locally defined variables
*   - Instance and static variables use the same naming convention
*   - Parameters on a method have no naming convention 
*   - Exceptions have no naming convention
*---------------------------------------------------------------------
REPORT ZABAPCADABRA_SKELETON.

*    ___ _                     _       __ _       _ _   _
*   / __\ | __ _ ___ ___    __| | ___ / _(_)_ __ (_) |_(_) ___  _ __
*  / /  | |/ _` / __/ __|  / _` |/ _ \ |_| | '_ \| | __| |/ _ \| '_ \
* / /___| | (_| \__ \__ \ | (_| |  __/  _| | | | | | |_| | (_) | | | |
* \____/|_|\__,_|___/___/  \__,_|\___|_| |_|_| |_|_|\__|_|\___/|_| |_|


*    ___ _                 _                 _
*   / __\ | __ _ ___ ___  (_)_ __ ___  _ __ | | ___ _ __ ___
*  / /  | |/ _` / __/ __| | | '_ ` _ \| '_ \| |/ _ \ '_ ` _ \
* / /___| | (_| \__ \__ \ | | | | | | | |_) | |  __/ | | | | |_
* \____/|_|\__,_|___/___/ |_|_| |_| |_| .__/|_|\___|_| |_| |_(_)
*                                     |_|
*  __      _           _   _
* / _\ ___| | ___  ___| |_(_) ___  _ __    ___  ___ _ __ ___  ___ _ __
* \ \ / _ \ |/ _ \/ __| __| |/ _ \| '_ \  / __|/ __| '__/ _ \/ _ \ '_ \
* _\ \  __/ |  __/ (__| |_| | (_) | | | | \__ \ (__| | |  __/  __/ | | |
* \__/\___|_|\___|\___|\__|_|\___/|_| |_| |___/\___|_|  \___|\___|_| |_|

* AT SELECTION-SCREEN ON ....
AT SELECTION-SCREEN.
AT SELECTION-SCREEN OUTPUT.
*   _____       _ _   _       _ _          _   _
*   \_   \_ __ (_) |_(_) __ _| (_)______ _| |_(_) ___  _ __
*    / /\/ '_ \| | __| |/ _` | | |_  / _` | __| |/ _ \| '_ \
* /\/ /_ | | | | | |_| | (_| | | |/ / (_| | |_| | (_) | | | |
* \____/ |_| |_|_|\__|_|\__,_|_|_/___\__,_|\__|_|\___/|_| |_|

INITIALIZATION.

*  __ _             _             __     __      _           _   _
* / _\ |_ __ _ _ __| |_     ___  / _|   / _\ ___| | ___  ___| |_(_) ___  _ __
* \ \| __/ _` | '__| __|__ / _ \| |_ ___\ \ / _ \ |/ _ \/ __| __| |/ _ \| '_ \
* _\ \ || (_| | |  | ||___| (_) |  _|___|\ \  __/ |  __/ (__| |_| | (_) | | | |
* \__/\__\__,_|_|   \__|   \___/|_|     \__/\___|_|\___|\___|\__|_|\___/|_| |_|
START-OF-SELECTION.

*                 _            __              _           _   _
*   ___ _ __   __| |     ___  / _|    ___  ___| | ___  ___| |_(_) ___  _ __
*  / _ \ '_ \ / _` |___ / _ \| |_ ___/ __|/ _ \ |/ _ \/ __| __| |/ _ \| '_ \
* |  __/ | | | (_| |___| (_) |  _|___\__ \  __/ |  __/ (__| |_| | (_) | | | |
*  \___|_| |_|\__,_|    \___/|_|     |___/\___|_|\___|\___|\__|_|\___/|_| |_|
END-OF-SELECTION.

Get your own copy

Starting a new report ? Here's the skeleton.

.