sapabap-learners
sapabap-learners
Lets Learn SAP ABAP
2 posts
ABAP on HANA, Object Oriented ABAP, ABAP Workflow
Don't wanna be here? Send us removal request.
sapabap-learners · 3 years ago
Text
HANA Eclipse Class
Introduction:
We will cover the following basic concepts:
How to create a Class in HANA Studio ( HANA Eclipse ).
Basic components of the Class in the HANA Studio.
How to create a simple program in the HANA Studio.
Old VS New ABAP Syntaxes to call the Method of the Created Class.
Lets Start:
1. Let us Create an Eclipse Class.
Login to HANA Eclipse Studio and open the ABAP Perspective.
File->New->Other..
Tumblr media
Select 'ABAP Class'.
Tumblr media
We can see the CLASS DEFINITION Section and CLASS IMPLEMENTATION Section generated as shown below.
We are going to Define a method in the Public Section of Class Definition.
And implement the Method in the Class implementation section as well.
Tumblr media
2. Let us learn the Generated Default Components of the class.
Line 1: CLASS CLASS_NAME DEFINITION:
Here we define the components of the class.
For Example Attributes, Methods Etc.
Line 2: PUBLIC:
This means the Class is a Global Class.
Line 3:FINAL:
This means the Class components cannot be inherited by a sub-class.
In fact, there can be no sub-classes that can be derived from the final class.
Line 4:CREATE PUBLIC:
This defines the visibility of the class as an object.
This means the class can be instantiated even outside the Class, in Other Classes, Sub-Classes & SE38 program using CREATE OBJECT. We will discuss more on this topic later.
Line 5:PUBLIC SECTION:
This defines the visibility of the components of the class.
This means the class components like Attributes and Methods defined in this section are visible outside the Class, in Sub-Classes, in a SE38 Program. We will discuss more on this topic later.
Line 6:METHODS: METHOD_NAME
Here we have defined a method in the PUBLIC SECTION.
PROTECTED SECTION:
This means the class components like Attributes and Methods defined in this section are visible only to their Classes and in its Sub-Classes.
PRIVATE SECTION:
This means the class components like Attributes and Methods defined in this section are visible only to their Class.
Line 14:CLASS CLASS_NAME IMPLEMENTATION:
In this section, we implement all the required methods and utilize the Attributes inside the methods or externally in a Program based on visibility.
Line 15:METHOD METHOD_NAME.
Method Implementation.
3. Create a Program as shown below.
File->New->Other->ABAP Program.
Tumblr media
Let us call the Instance Method of the created Class from the program as shown below.
Tumblr media
4. We have created the program using Old syntax and New syntax as shown below.
Old Syntax:
Create a Reference Variable of the Class.
Create an Object of the Class using the Reference Variable.
Call the Instance Method of the Class.
New Syntax:
Single line to create both references Variable and Object of the Class.
We use Inline Declaration i.e. DATA(LR_CLASS_REF_NEW)  =  NEW ZCLASS_ECLIPSE.
Here, on the left-hand side of the assignment operator ( = ), we have an inline declaration.
And on the right-hand side of the assignment operator  ( = ), we have the class of interest and that will influence the REF TYPE of the LR_CLASS_REF_NEW variable.
NEW: is an INSTANCE OPERATOR that will influence the creation of a NEW object of the CLASS ( ZCLASS_ECLIPSE) of interest. Inline Declaration happens at the time of program compilation, which results in Reference Parameter creation and Object is created once we execute the line i.e. DATA(LR_CLASS_REF_NEW)  =  NEW ZCLASS_ECLIPSE.
Call the Instance Method of the Class.
Execute the Program. Run->Run As->ABAP Application( Console ).
Tumblr media
Output in ABAP Console as shown below.
Tumblr media
0 notes
sapabap-learners · 3 years ago
Text
ABAP Workflow For Beginners: Working with Container Operation and Loop (Until) Steps-PART1
Note
This document will help one to understand the use of Container Operation and Loop (Until) step in Workflow Builder.
This document will help us to learn how to create a workflow using step types and workflow containers.
The execution of the workflow will be discussed in Part 2 of the below document.
Steps:
Go to Transaction code 'SWDD' and we can see the following screen.
SWDD is the Transaction code where we can build a workflow.
Tumblr media
2. Click on the 'create new workflow' button which is on the top left of the screen as shown below.
Tumblr media
3. Now our workflow builder screen looks as shown below.
By clicking on the 'create new workflow' button the workflow step layout will be reset to the initial stage.
Tumblr media
4. Now we have to right-click on 'undefined for new step' as shown below and click on
   create or double click on it.
'Undefined- Double-click for new step' allows us to create required steps in sequence.
This decides the flow of processes in our workflow.
Tumblr media
5. Now a popup window will appear as shown below consisting of different step types for selection.
In the 'step selection' window we get steps to select depending on our business logic.
For example, if we want to send a mail, we have to select the 'Send Mail' step.    
Tumblr media
6. First Select the Loop (Until) step.
If we want to process a step more than once, we can use the Loop(Until) step.
This step loops until the condition given in the loop step is true.
Tumblr media
7. Screen of the loop(until) looks as shown below.
Tumblr media
8. Now on the left-hand side of the screen we can see a button choice, we have to choose
    'Workflow Container' and double click on the blue space highlighted below.
Container element contains 4 tabs.
D.type(DataType).
Properties.
Initial Value.
Change Data.
Tumblr media
9. Now below screen shows the pop-up to create the container element.
'D.type' tab provides three options for data type declaration.
Object type: Here we can choose Business object or Class as data type.
ABAP Dict.Reference: Here we can use ABAP Dictionary structure along with the required field as data type.
ABAP Dict. Data Type: Here we can use ABAP dictionary data elements or datatypes for data types declaration.
Tumblr media
10. Now we have to click on the 'Properties' tab in the pop-up and fill it as shown below.
     Check on both importing and exporting checkboxes.
Here we can set the property of the parameter(Container Element) being created.
Properties like Importing, Exporting, Mandatory can be applied.
Multiline property: If this property is set, allows the insertion of multiple entries (Internal table like) into the element created.
Tumblr media
11. Now we have to click on the 'Initial Value' tab and fill the counter as '5'.
Initial value tab allows us to initialize the element.
Tumblr media
12. Now click on the OK button and an element will be created as shown below.
Here double arrow marks in the front 'LV_COUNTER' element created means, it has both import and export parameters checked.
Tumblr media Tumblr media
13. Now we have to give the step name of the Loop(Until) screen and click on 'Click here to create a new condition' to create a 'loop end condition'.
Tumblr media
14. The popup window of the loop condition looks as shown below.
In this popup we have sections of
Operators: Here we choose the 'Relational operator' applicable for our expression.
  Example: = , >= etc.
Logic: Here we choose the 'Logical operator' applicable for our expression.
  Example: AND, OR  etc.
Constant: This section provides space to enter numeric or alphabetical values as applicable for our expression.
  Example: 1,2,3,a,b,c etc.
Parentheses: Adding Parentheses(After comment) to the expression created is done using this section.
Expression 1 and Description section: Here we can choose system fields and Workflow container elements for our expression.
Condition: This is the space provided to prepare conditional expression/s for our loop.
Tumblr media
15. Now we have to give the condition and click on ok.
Tumblr media
 16. Now the loop step screen looks as follows.
Below condition means this loop step will complete(End) once the variable LV_COUNTER's value is '0'.
Tumblr media
 17. Now go back to the first screen and save workflow builder.
Tumblr media
18. Now right click on the loop branch and click on the 'create...' option.
Here we can create and include the steps in the loop branch as shown below.
Steps included inside the loop branch will be processed in loops until the loop ends.
Tumblr media
19. Now we have to choose the 'Container operation' step from the step types pop-up.
Container operation step is used to do Arithmetic operations and storing results in elements.
Tumblr media
20. The First view of the 'Container operation' step looks as follows.
In this step we have to fill in step name, outcome name, etc.
There is a check box to include or exclude this step in the workflow log(After execution), this will be discussed in Part-2 of this document.
Tumblr media
21. We have to fill the decrement expression in the 'Operation' section below.
Here we are decrementing the value count of the variable 'LV_COUNTER' (Initial value is '5').
Result Element: The result element is the variable or Parameter in which the result is stored after calculation.
Assignment: This section provides  '=' and '<-' symbols to assign to the result.
Expression Section: Here we can provide a 'Workflow Container' element or we can directly assign numeric values.
Operator Section: This section consists of 'Arithmetic Operators' which we can assign to the expression.
Examples: +,-,/,*.  
Tumblr media
22. Now click on OK and go back to the initial screen.
Tumblr media
23. Now we have to create a send mail step as shown below.
Tumblr media
Select the 'Send mail' step type.
Send mail step is for sending mail to the required recipient.
Tumblr media
24. The first screen of  'Send mail' looks as shown below.
In the mail step there is a tab named 'Mail'.
Here we have the Recipients section:
Recipient types: Recipient type will allow us to choose recipients depending on Organization Unit, job, position, work center and user. We can also choose recipients as 'WF initiator' (Workflow initiator- the user who starts the workflow).
Expression: Here we can browse the workflow container element which will hold the email addresses of the valid recipients during runtime.
Tumblr media
25. Fill receiver, subject, and body as shown below.
Subject: Here we must fill in the subject of the mail. We can also use the workflow container element for dynamic subjects.
Mail Body: In the mail body we can write a hardcoded body or can use a workflow container element for the dynamic body.
Tumblr media
26. Now we have to click on OK and save the workflow built.
Tumblr media
27. Now check and activate the workflow.
Tumblr media Tumblr media
28. Now the workflow is ready to execute.👍
Conclusion: Now we know how to create a workflow using step types: loop(until), Container operation and Send Mail.
Execution: Let us learn how to execute the created workflow in Part 2 of the document.
Note:
1. For More Posts like this visit my Blog ABAP Workflow For Beginners .
2. Please visit my Blog for ABAP Object Oriented For Beginners .
2 notes · View notes