This document discusses different modularization techniques in ABAP such as macros, include programs, subroutines, and function modules. It provides examples of how to define and call each technique. It also discusses batch data communication (BDC) methods like sequential datasets, BDC tables, and queue datasets to transfer data from non-SAP systems. Methods of preparing BDC tables and creating sessions on the batch input queue are described. Finally, it briefly mentions job scheduling in SAP.
Brief description on subprograms and functions it helps to u . In any case u cn understand the descripion and concepts with easy manner. I think it helps to u
Brief description on subprograms and functions it helps to u . In any case u cn understand the descripion and concepts with easy manner. I think it helps to u
In this presentation Skillwise provides you the Cobol Programming Basics. COBOL is primarily used in business, finance, and administrative systems for companies and governments.
Easytrieve plus is an information retrieval and data management system. It is a primitive form of 4GL whose English like language and simple syntax provide the tools for easy data retrieval and report generation, Easytrieve Plus can now produce reports in HTML format. This feature allows you to create reports that can be viewed either from a local disk or LAN or from a World Wide Web server using the Web browser.
COBOL programming language.
Watch my videos on snack here: --> --> http://sck.io/x-B1f0Iy
@ Kindly Follow my Instagram Page to discuss about your mental health problems-
-----> https://instagram.com/mentality_streak?utm_medium=copy_link
@ Appreciate my work:
-----> behance.net/burhanahmed1
Thank-you !
PLI Presentation for Mainframe Programmers. PL/I is one of the prominent language being used in Mainframe after COBOL. Still PLI being used in many banking and financial projects.
ERP Magazine is a monthly publication focusing on ERP/SAP software technical insights and innovations, for both new and advanced learners. In every issue, leading authors and consultants from a diverse set of companies present their ideas and/or achievements in a clear fashion. Each article is carefully reviewed both by technical and English-language experts. The graphics are rich in content and visual style, and the articles feature illustrative real-world coding. Our readers are Basis, ABAP, Workflow, Web Dynpro, HANA, Fiori and Mobility consultants. We publish SAP/ERP technical articles in a variety of lengths and sizes. And we include general tips and feature-length articles as well. We will be showcasing a number of published book chapters in upcoming editions, along with including white papers about useful tools and products.
ERP Magazine April 2018 - The magazine for SAP ABAP ProfessionalsRehan Zaidi
ERP Magazine is a monthly publication focusing on ERP/SAP software technical insights and innovations, for both new and advanced learners. In every issue, leading authors and consultants from a diverse set of companies present their ideas and/or achievements in a clear fashion. Each article is carefully reviewed both by technical and English-language experts. The graphics are rich in content and visual style, and the articles feature illustrative real-world coding. Our readers are Basis, ABAP, Workflow, Web Dynpro, HANA, Fiori and Mobility consultants. We publish SAP/ERP technical articles in a variety of lengths and sizes. And we include general tips and feature-length articles as well. We will be showcasing a number of published book chapters in upcoming editions, along with including white papers about useful tools and products. Available on Amazon Worldwide in Kindle format.
In this presentation Skillwise provides you the Cobol Programming Basics. COBOL is primarily used in business, finance, and administrative systems for companies and governments.
Easytrieve plus is an information retrieval and data management system. It is a primitive form of 4GL whose English like language and simple syntax provide the tools for easy data retrieval and report generation, Easytrieve Plus can now produce reports in HTML format. This feature allows you to create reports that can be viewed either from a local disk or LAN or from a World Wide Web server using the Web browser.
COBOL programming language.
Watch my videos on snack here: --> --> http://sck.io/x-B1f0Iy
@ Kindly Follow my Instagram Page to discuss about your mental health problems-
-----> https://instagram.com/mentality_streak?utm_medium=copy_link
@ Appreciate my work:
-----> behance.net/burhanahmed1
Thank-you !
PLI Presentation for Mainframe Programmers. PL/I is one of the prominent language being used in Mainframe after COBOL. Still PLI being used in many banking and financial projects.
ERP Magazine is a monthly publication focusing on ERP/SAP software technical insights and innovations, for both new and advanced learners. In every issue, leading authors and consultants from a diverse set of companies present their ideas and/or achievements in a clear fashion. Each article is carefully reviewed both by technical and English-language experts. The graphics are rich in content and visual style, and the articles feature illustrative real-world coding. Our readers are Basis, ABAP, Workflow, Web Dynpro, HANA, Fiori and Mobility consultants. We publish SAP/ERP technical articles in a variety of lengths and sizes. And we include general tips and feature-length articles as well. We will be showcasing a number of published book chapters in upcoming editions, along with including white papers about useful tools and products.
ERP Magazine April 2018 - The magazine for SAP ABAP ProfessionalsRehan Zaidi
ERP Magazine is a monthly publication focusing on ERP/SAP software technical insights and innovations, for both new and advanced learners. In every issue, leading authors and consultants from a diverse set of companies present their ideas and/or achievements in a clear fashion. Each article is carefully reviewed both by technical and English-language experts. The graphics are rich in content and visual style, and the articles feature illustrative real-world coding. Our readers are Basis, ABAP, Workflow, Web Dynpro, HANA, Fiori and Mobility consultants. We publish SAP/ERP technical articles in a variety of lengths and sizes. And we include general tips and feature-length articles as well. We will be showcasing a number of published book chapters in upcoming editions, along with including white papers about useful tools and products. Available on Amazon Worldwide in Kindle format.
Optimizer is the component of the DB2 SQL compiler responsible for selecting an optimal access plan for an SQL statement. The optimizer works by calculating the execution cost of many alternative access plans, and then choosing the one with the minimal estimated cost. Understanding how the optimizer works and knowing how to influence its behaviour can lead to improved query performance and better resource usage.
This presentation was created for the workshop delivered at the CASCON 2011 conference. Its aim is to introduce basic optimizer and related concepts, and to serve as a starting point for further study of the optimizer techniques.
Model Attribute Check Company Auto PropertyCeline George
In Odoo, the multi-company feature allows you to manage multiple companies within a single Odoo database instance. Each company can have its own configurations while still sharing common resources such as products, customers, and suppliers.
How to Split Bills in the Odoo 17 POS ModuleCeline George
Bills have a main role in point of sale procedure. It will help to track sales, handling payments and giving receipts to customers. Bill splitting also has an important role in POS. For example, If some friends come together for dinner and if they want to divide the bill then it is possible by POS bill splitting. This slide will show how to split bills in odoo 17 POS.
The French Revolution, which began in 1789, was a period of radical social and political upheaval in France. It marked the decline of absolute monarchies, the rise of secular and democratic republics, and the eventual rise of Napoleon Bonaparte. This revolutionary period is crucial in understanding the transition from feudalism to modernity in Europe.
For more information, visit-www.vavaclasses.com
Operation “Blue Star” is the only event in the history of Independent India where the state went into war with its own people. Even after about 40 years it is not clear if it was culmination of states anger over people of the region, a political game of power or start of dictatorial chapter in the democratic setup.
The people of Punjab felt alienated from main stream due to denial of their just demands during a long democratic struggle since independence. As it happen all over the word, it led to militant struggle with great loss of lives of military, police and civilian personnel. Killing of Indira Gandhi and massacre of innocent Sikhs in Delhi and other India cities was also associated with this movement.
The Indian economy is classified into different sectors to simplify the analysis and understanding of economic activities. For Class 10, it's essential to grasp the sectors of the Indian economy, understand their characteristics, and recognize their importance. This guide will provide detailed notes on the Sectors of the Indian Economy Class 10, using specific long-tail keywords to enhance comprehension.
For more information, visit-www.vavaclasses.com
The Roman Empire A Historical Colossus.pdfkaushalkr1407
The Roman Empire, a vast and enduring power, stands as one of history's most remarkable civilizations, leaving an indelible imprint on the world. It emerged from the Roman Republic, transitioning into an imperial powerhouse under the leadership of Augustus Caesar in 27 BCE. This transformation marked the beginning of an era defined by unprecedented territorial expansion, architectural marvels, and profound cultural influence.
The empire's roots lie in the city of Rome, founded, according to legend, by Romulus in 753 BCE. Over centuries, Rome evolved from a small settlement to a formidable republic, characterized by a complex political system with elected officials and checks on power. However, internal strife, class conflicts, and military ambitions paved the way for the end of the Republic. Julius Caesar’s dictatorship and subsequent assassination in 44 BCE created a power vacuum, leading to a civil war. Octavian, later Augustus, emerged victorious, heralding the Roman Empire’s birth.
Under Augustus, the empire experienced the Pax Romana, a 200-year period of relative peace and stability. Augustus reformed the military, established efficient administrative systems, and initiated grand construction projects. The empire's borders expanded, encompassing territories from Britain to Egypt and from Spain to the Euphrates. Roman legions, renowned for their discipline and engineering prowess, secured and maintained these vast territories, building roads, fortifications, and cities that facilitated control and integration.
The Roman Empire’s society was hierarchical, with a rigid class system. At the top were the patricians, wealthy elites who held significant political power. Below them were the plebeians, free citizens with limited political influence, and the vast numbers of slaves who formed the backbone of the economy. The family unit was central, governed by the paterfamilias, the male head who held absolute authority.
Culturally, the Romans were eclectic, absorbing and adapting elements from the civilizations they encountered, particularly the Greeks. Roman art, literature, and philosophy reflected this synthesis, creating a rich cultural tapestry. Latin, the Roman language, became the lingua franca of the Western world, influencing numerous modern languages.
Roman architecture and engineering achievements were monumental. They perfected the arch, vault, and dome, constructing enduring structures like the Colosseum, Pantheon, and aqueducts. These engineering marvels not only showcased Roman ingenuity but also served practical purposes, from public entertainment to water supply.
This is a presentation by Dada Robert in a Your Skill Boost masterclass organised by the Excellence Foundation for South Sudan (EFSS) on Saturday, the 25th and Sunday, the 26th of May 2024.
He discussed the concept of quality improvement, emphasizing its applicability to various aspects of life, including personal, project, and program improvements. He defined quality as doing the right thing at the right time in the right way to achieve the best possible results and discussed the concept of the "gap" between what we know and what we do, and how this gap represents the areas we need to improve. He explained the scientific approach to quality improvement, which involves systematic performance analysis, testing and learning, and implementing change ideas. He also highlighted the importance of client focus and a team approach to quality improvement.
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxEduSkills OECD
Andreas Schleicher presents at the OECD webinar ‘Digital devices in schools: detrimental distraction or secret to success?’ on 27 May 2024. The presentation was based on findings from PISA 2022 results and the webinar helped launch the PISA in Focus ‘Managing screen time: How to protect and equip students against distraction’ https://www.oecd-ilibrary.org/education/managing-screen-time_7c225af4-en and the OECD Education Policy Perspective ‘Students, digital devices and success’ can be found here - https://oe.cd/il/5yV
5. Include Programs
• If we want to use the same sequence of statements in
several programs, we can code them once in an include
program and call it in the other programs wherever it is
required
• Include programs cannot contain PROGRAM or
REPORT Statements
• Include programs cannot call themselves
• Include programs must contain complete statements
7. Subroutines
• Program module that can be called by any program.
• You use subroutines to avoid having to write frequently
used program components more than once. Data can be
passed explicitly from and to subroutines.
• Types of subroutine
– internal subroutines
– external subroutines
8. Defining and calling subroutine
Definition - Syntax
FORM <subr_name>.
<statement block>.
ENDFORM.
Calling - syntax
Internal Subroutines
PERFORM <subr_name>.
External Subroutines
PERFORM <subr_name> (<prog>) [IF FOUND].
<Prog> - Program name
IF FOUND - If this is specified and there is no
subroutine <sub> in the program <prog>,
the system ignores the PERFORM statement.
9. Defining and calling subroutine…
Example
Defining the subroutine
PROGRAM formpool.
FORM show.
WRITE: / ‘Program started by’, sy-uname.
ENDFORM.
Calling the subroutine from a program
PROGRAM sapmztst.
PERFORM show(formpool) IF FOUND
11. Methods of passing parameters
1. Calling by Reference
2. Calling by value
3. Calling by value and result
1. Call by reference
FORM..... [USING <fi1>... <fi n>] [CHANGING <fo 1>... <fo n>]...
PERFORM... [USING <ai1>... <ai n>] [CHANGING <ao 1>... <ao n>]...
12. Call by reference
PERFORM calculate_tax USING fl1 fl2.
……..
FORM calculate_tax USING f1 f2.
CLEAR itab.
MOVE f1 TO itab-fl1.
APPEND itab.
ENDFORM.
Actual Parameters
Formal Parameters
In this example, parameters are passed by
reference. This is the most common, and most
cost effective, method of parameter passing.
13. Methods of passing parameters
2. Call by value
FORM..... USING...VALUE(<fii>)..
PERFORM... USING.......<aii>..
3. Call by value and result
FORM..... CHANGING...VALUE(<fii>)..
PERFORM... CHANGING.......<aii>..
14. Terminating the Subroutines
• Terminating subroutines unconditionally by Using the
command
EXIT
• Terminating Subroutines conditionally by Using the
command
CHECK
15. Function Builder
• An ABAP Workbench Tool
• ABAP routines that are stored in a central function library
• Non application-specific, and available system wide
• Must belong to a pool called a function group
23. Function module - Interface parameters
Import
Contains a list of the formal parameters that are used to
pass data to a function module.
Export
Contains a list of the formal parameters that are used to
receive data from a function module.
Changing
Contains a list of the formal parameters that are used
both to pass data to and receive data from a function
module.
24. Function module - Interface parameters
Tables
Specifies the tables that are to be passed to a function
module. Table parameters are always passed by
reference.
Exceptions
Shows how the function module reacts to exceptions.
The function definition is written in the editor (Source code)
25. Adding the function module to the program
Click PATTERN button
in the edit program
screen of the ABAP
Editor
26. Adding the function module to the program
Choose the Call Function
Radio button and give the
name of the function
module and enter it
27. File Handling – OPEN DATASET
• Opens a file for reading, writing or for appending
• Syntax:
OPEN DATASET <dsn> [FOR INPUT|OUTPUT|APPENDING]
[IN BINARY|TEXT MODE]
[AT POSITION <pos>]
[MESSAGE <mess>]
[FILTER <filt>].
• <dsn> can be a logical or physical file names
28. File Handling – READ DATASET
• Reads a file
• Syntax:
READ DATASET <dsn> INTO <f> [LENGTH <len>].
• <dsn> can be a logical or physical file names
• Logical file names can be created in customizing
29. File Handling – TRANSFER DATASET
• Syntax:
- Writing to a dataset
TRANSFER <f> TO <dsn> [LENGTH <len>].
- Closing a dataset
CLOSE DATASET <dsn>.
30. BDC - Batch Data Communication
• To transfer data from non-SAP systems ( ie. already
available in electronic form )
• Suitable for entering large amounts of data as it
executes the transactions automatically
• Similar to entering the data in the transactions manually -
All validations are done
Advantages of Batch input
• No manual intervention is needed
• Ensures data integrity
31. BDC - Methods
Sequential dataset
bdc table
queue dataset
function “batch input”
Application function
SAP Database
Sequential dataset
bdc table
call transaction /
call dialog
Application function
SAP Database
Batch Input Call transaction / call dialog
33. BDC Methods
• Creating a session on the batch input queue
Standard method.
1) Offers management of sessions
2) Support for playing back
3) Correcting sessions that contain errors
4) Detailed logging
34. BDC Methods
• Call transaction using
1) Offers faster processing than standard method
2) The playback, interactive correction, and logging
facilities offered for batch input sessions are not
available for CALL TRANSACTION USING.
• Call dialog
1) Outdated and more complex (Not Recommended)
35. Preparing a BDC Table
• The BDC table should have five fields viz.,
1) Program name
2) Screen number
3) Screen begin
4) Field name
5) Field value
36. Preparing a BDC Table
Example
Prog Screen Scrn Field Field
name No begin name value
SAPMMO3M 0060 X RM03M- MATNR mat.no
RM03M-MBRSH indu. sec
.
.
SAPMM03M 0080 X RM03M-WERKS target pla
.
.
37. Creating a session on the batch input queue
• The BDC program can be generated by recording the
transaction . Transaction code - SHDB
• To execute the session, go to transaction code
SM35 and execute by selecting the session ( All session
methods will automatically create as a job)
• The BDC can be run in foreground, background or
it can display only the error screens.
38. Call Transaction using
Uses the command
CALL TRANSACTION <tran code> USING <bdctab>
MODE <mode>.
Bdctab - BDC Table ( Internal table )
mode
‘A’ - All screens
‘N’ - No screens
‘E’ - Error screens only
39. Job Scheduling
• Schedule a job – SM35
– Create a job
– Add program to be executed
– Set timing and date to be executed
Editor's Notes
Navigate to the Function Builder using one of the methods:
From the main menu, go to Tools ABAP Workbench Development, or
Type SE37 on the Command Field.
Type a valid function module name (starting with Y or Z). Press the “Create” pushbutton.
In the popup window that appears, enter the Function Group name (if you have not created it already, create it by navigating to Goto Function Groups Create group.
Click on the “Save” Button.
To get a list of valid Function Groups and Applications, click on the Possible Entries pushbutton on the standard toolbar or press F4.
An existing function module can be copied by entering its name in the Copy from input field.
Process Type of a function module must be declared:
Normal if the function module can only be called from this system, and is not tailored for asynchronous database table updates.
Remote-enabled for function modules that can be called from other systems (R/3 or non R/3 supporting LU6.2 or TCP/IP)
Update for function modules that will perform asynchronous database updates:
Start Immediately will run in the V1 update task.
Immediate start no restart, same as above, but cannot be restarted using SM13.
Start delayed will run in the V2 update task, after V1 update has completed.
Collective run, will sit in the update queue until a background job is scheduled to clear them up. This is mostly used for sending OLTP data to BW or other information systems.
The Attributes tab displays General Data about the Function module such as the person in charged of the function module, the date the function module was last changed, the development class, the status, etc.
Define the Import and Changing parameters in the appropriate tabs.
Import and Changing parameters are flat in structure. Changing parameters can be used to change values in the Function Module while Import parameters are mostly passed by value.
For each parameter, specify the type either:
Nothing. Calling a function module is like calling a subroutine, you do not have to use actual/formal parameters. This method is not recommended for performance reasons, since type assignment will be done by the system at run time.
LIKE by a reference to a structure or field of the Dictionary.
TYPE by reference to a SAP supplied pre-defined data type (Char, Integer, Numeric Character) or data element.
TYPE REFERENCE to a user defined data type(TYPE REF must be defined in the top include for the function module).
If parameters are typed, then calling program must use same types, otherwise a run time error will occur.
An Import or Changing parameter can have a default value that is used when the calling program does not set this parameter explicitly. Enter the default value in the default value column.
Import parameters (from the function point of view) and Changing parameters can be classified by the developer as optional parameters. In this case, the caller of the function need not pass a value to this parameter, and the runtime system chooses the initial value of the corresponding type.
Parameters with a value in the default value column are always optional. If an input parameter is not classified as optional, it should be set by the caller; otherwise, a runtime error occurs.
Export Parameters would be passed back to the calling program by the function module.
We could use the Changing parameters for passing back values to the program as well.
Export parameters are generally passed by value.
Internal Tables are also included in the interface. For performance reasons, an internal table is always passed by reference parameter.
Like Import and Changing parameters, Tables parameters can also be marked “Optional”.
Internal tables must be typed if the structure of the table must be known to the function module.
Exceptions are used to handle abnormal conditions in the processing logic in the function module.
The exceptions defined can be “raised” in the main function module for raising any user-defined errors.
The “RAISE” ABAP command is used to raise an exception (RAISE RECORD_NOT_FOUND).
On raising an exception, the processing terminates in the function module and control is handed over to the calling program.
In the calling program, sy-subrc is set to positive number greater than zero corresponding to the position of the exception in the exception definition. For example, in the above screen, raising RECORD_NOT_FOUND would set sy-subrc to 1 while raising INVALID_DATE would set sy-subrc to 4.
The source code would contain ABAP code which would receive the input parameters, process the data and pass the output back to a calling program (or another function module).
All the main processing logic should be contained within the FUNCTION – ENDFUNCTION boundaries.
If there are any subroutines (FORMs) that need to be created for modularizing code in the function module, the FORM definitions should be after the ENDFUNCTION statement.
Typically, one would create a separate INCLUDE (program of type “I”) to hold the subroutines.
A TOP include could also be created to define global variables that can be accessed by any function module in the function group.
All includes created need to be separately activated.
Once, a syntax check is successfully completed, the function module can be Activated by pressing the “Activate” button on the Application Toolbar.
Opens a file &lt;dsn&gt; on the application server. The additions determine whether the file is for reading or writing, whether the contents are to be interpreted in binary or character form, the position in the file, the location to which an operating system can be written, and allow you to execute an operating system command.
Filenames are platform-specific. You must therefore use file- and pathnames that conform to the rules of the operating system under which your R/3 System is running. However, you can also use logical filenames to ensure that your programs are not operating system-specific.
Reads the contents of the file &lt;dsn&gt; on the application server to the variable &lt;f&gt;. The number of bytes transferred can be written to &lt;len&gt;.
Before reading or writing to a dataset, the dataset should be OPENed using the OPEN DATASET and in appropriate mode.
After completing the process, it is a good practice to close the dataset using the CLOSE DATASET statement.