This document provides an overview of common ABAP objects and programming concepts. It begins with a list of T-codes related to ABAP development and editing. It then discusses ABAP programming rules and data types. The document provides examples of variable declaration, operators, and control structures like IF/ELSE and CASE statements. It also covers database access loops and standard SAP tables.
L'approche CRUD pour la gestion des données est souvent utilisée dans nos projet. Que met-on met généralement derrière ce terme ? Quels avantages et quels risques à utiliser CRUD ? Quelles autres approches ?
Présenter lors du Meetup de AFUP Montpellier le 28/10/2020
https://www.youtube.com/watch?v=gCcDt3TLA-o
Uniface Lectures Webinar - Uniface 10 Technical Deep DiveUniface
In this addition of the Uniface Lectures Webinar we cover:
• Understand Uniface adoption and the need for Uniface 10
• Learn about the new capabilities in Uniface 10
• Codify your company standards to accelerate development and consistency.
L'approche CRUD pour la gestion des données est souvent utilisée dans nos projet. Que met-on met généralement derrière ce terme ? Quels avantages et quels risques à utiliser CRUD ? Quelles autres approches ?
Présenter lors du Meetup de AFUP Montpellier le 28/10/2020
https://www.youtube.com/watch?v=gCcDt3TLA-o
Uniface Lectures Webinar - Uniface 10 Technical Deep DiveUniface
In this addition of the Uniface Lectures Webinar we cover:
• Understand Uniface adoption and the need for Uniface 10
• Learn about the new capabilities in Uniface 10
• Codify your company standards to accelerate development and consistency.
This is a static version of the dynamic, multi-media presentation I'm doing at CSUF on Saturday Jan 29, 2011. In other words, what's up at slideshare is the result of a cut and paste job of web browser screen shots. Some of the code that is line numbered unfortunately appears out of kilter as a consequence of HTML and my word-processor being out of sinc with one another. Also, you may need to view the document in full screen mode and use the zoom-in button.
Refactoring, Agile Entwicklung, Continuous Integration – all diese für nachhaltigen Erfolg wichtigen Vorgehensweisen setzen Erfahrung mit Unit Testing voraus. Abseits von den üblichen "Bowling"-Beispielen möchten wir gerne einen Crashkurs inkl. Best Practices für das erfolgreiche Unit Testing durchführen. Anhand eines Beispielprojekts auf Basis des Zend Frameworks werden wir nach der Installation von PHPUnit auf allen Notebooks gemeinsam eine kleine Applikation aufbauen, die durchgehend Test-driven entwickelt wird.
AskTom Office Hours about Database MigrationsJasmin Fluri
Oracle AskTom Office Hours Session about Continuous Database Migrations and the first steps on how to automate your Migrations. It shows the preconditions to establish an automation and shows basic examples.
This PPT gives the details about Introduction, Syntax, Comments, Case Sensitivity,Variables,Data Types, Strings, Constants,Operators,Control Flow Statements,Functions,Arrays
, and Forms
PHP 8.1 brings Enums, one of the most requested features in PHP.
Enums, or Enumerations, allow creating strict and type-safe structures for fixed values. An Enum structure can hold a number of values that can also be backed with integer or string values.
In this comprehensive session, we will discover what Enums are, why they are useful, how to apply them on our applications including Drupal, and things to watch out for when using Enums.
Audience
This session is for those who are familiar with modern PHP practices such as Object Oriented Programming, and principles such as Liskov Substitution principle. A quick introduction will be given to catch up to speed, but familiarity with such concepts can help a lot.
What you will learn
What are Enums.
Why Enums are useful.
How to use Enums
Migrating from magic constants/values to Enums.
Backed Enums and storing/fetching Enum values with a database.
Using Enums in a Drupal context.
Caveats when using Enums.
Author
Ayesh Karunaratne is the author of PHP.Watch (https://php.watch), where he provides in-depth articles and documents on PHP and latest changes to the language.
PHP 8.0: https://php.watch/versions/8.0
PHP 8.1: https://php.watch/versions/8.1
Enums: https://php.watch/versions/8.1/enums
This is a static version of the dynamic, multi-media presentation I'm doing at CSUF on Saturday Jan 29, 2011. In other words, what's up at slideshare is the result of a cut and paste job of web browser screen shots. Some of the code that is line numbered unfortunately appears out of kilter as a consequence of HTML and my word-processor being out of sinc with one another. Also, you may need to view the document in full screen mode and use the zoom-in button.
Refactoring, Agile Entwicklung, Continuous Integration – all diese für nachhaltigen Erfolg wichtigen Vorgehensweisen setzen Erfahrung mit Unit Testing voraus. Abseits von den üblichen "Bowling"-Beispielen möchten wir gerne einen Crashkurs inkl. Best Practices für das erfolgreiche Unit Testing durchführen. Anhand eines Beispielprojekts auf Basis des Zend Frameworks werden wir nach der Installation von PHPUnit auf allen Notebooks gemeinsam eine kleine Applikation aufbauen, die durchgehend Test-driven entwickelt wird.
AskTom Office Hours about Database MigrationsJasmin Fluri
Oracle AskTom Office Hours Session about Continuous Database Migrations and the first steps on how to automate your Migrations. It shows the preconditions to establish an automation and shows basic examples.
This PPT gives the details about Introduction, Syntax, Comments, Case Sensitivity,Variables,Data Types, Strings, Constants,Operators,Control Flow Statements,Functions,Arrays
, and Forms
PHP 8.1 brings Enums, one of the most requested features in PHP.
Enums, or Enumerations, allow creating strict and type-safe structures for fixed values. An Enum structure can hold a number of values that can also be backed with integer or string values.
In this comprehensive session, we will discover what Enums are, why they are useful, how to apply them on our applications including Drupal, and things to watch out for when using Enums.
Audience
This session is for those who are familiar with modern PHP practices such as Object Oriented Programming, and principles such as Liskov Substitution principle. A quick introduction will be given to catch up to speed, but familiarity with such concepts can help a lot.
What you will learn
What are Enums.
Why Enums are useful.
How to use Enums
Migrating from magic constants/values to Enums.
Backed Enums and storing/fetching Enum values with a database.
Using Enums in a Drupal context.
Caveats when using Enums.
Author
Ayesh Karunaratne is the author of PHP.Watch (https://php.watch), where he provides in-depth articles and documents on PHP and latest changes to the language.
PHP 8.0: https://php.watch/versions/8.0
PHP 8.1: https://php.watch/versions/8.1
Enums: https://php.watch/versions/8.1/enums
Is it easier to add functional programming features to a query language, or to add query capabilities to a functional language? In Morel, we have done the latter.
Functional and query languages have much in common, and yet much to learn from each other. Functional languages have a rich type system that includes polymorphism and functions-as-values and Turing-complete expressiveness; query languages have optimization techniques that can make programs several orders of magnitude faster, and runtimes that can use thousands of nodes to execute queries over terabytes of data.
Morel is an implementation of Standard ML on the JVM, with language extensions to allow relational expressions. Its compiler can translate programs to relational algebra and, via Apache Calcite’s query optimizer, run those programs on relational backends.
In this talk, we describe the principles that drove Morel’s design, the problems that we had to solve in order to implement a hybrid functional/relational language, and how Morel can be applied to implement data-intensive systems.
(A talk given by Julian Hyde at Strange Loop 2021, St. Louis, MO, on October 1st, 2021.)
Eric Redmond – Distributed Search on Riak 2.0 - NoSQL matters Barcelona 2014NoSQLmatters
Eric Redmond – Distributed Search on Riak 2.0
Riak excels at one type of query: key puts and key gets. But the world demands more from a database. Since Basho isn't primarily a search company, we decided to leverage the power of Solr for Riak 2.0. This is a walkthrough of what new features we added, how works, and why you'd want to use it. Also, of course, live demos.
Most developers will be familiar with lex, flex, yacc, bison, ANTLR, and other tools to generate parsers for use inside their own code. Erlang, the concurrent functional programming language, has its own pair, leex and yecc, for accomplishing most complicated text-processing tasks. This talk is about how the seemingly simple prospect of parsing text turned into a new parser toolkit for Erlang, and why functional programming makes parsing fun and awesome.
Read| The latest issue of The Challenger is here! We are thrilled to announce that our school paper has qualified for the NATIONAL SCHOOLS PRESS CONFERENCE (NSPC) 2024. Thank you for your unwavering support and trust. Dive into the stories that made us stand out!
How to Make a Field invisible in Odoo 17Celine George
It is possible to hide or invisible some fields in odoo. Commonly using “invisible” attribute in the field definition to invisible the fields. This slide will show how to make a field invisible in odoo 17.
A review of the growth of the Israel Genealogy Research Association Database Collection for the last 12 months. Our collection is now passed the 3 million mark and still growing. See which archives have contributed the most. See the different types of records we have, and which years have had records added. You can also see what we have for the future.
A Strategic Approach: GenAI in EducationPeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
1. List of T-codes related to ABAP :-
se38 ---> Abap editor
se11 ---> Dictionary objects
se16 --> data browser
se80 ---> Object Navigator
se37 ---> Function Builder
se41 ----> Menu Painter
se51 ---> Screen Painter
se71 ----> Form painter
se91 ---> Message class
se93 ---> Creating T-codes
sm35 ---> Session object
se36 ----> Logical databases
sm36 ---> Define Background Job
sm37 ---> Background job overview
se78 ---> Graphics upload
se76 ---> Language Translation
smartforms ---> smartforms
Abap Programming rules :-
1. . (period)
2. abap statements are not case sensitive.
eg: write
WRITE
3.
4. abap is space sensitive
eg: c=a+b. (wrong)
c = a + b.(correct)
5. * (or) " for commenting
* ---> at the begining of the line
" --> middle of the line
ECC 6.0
ABAP/4
1. Repository objects
2. Dictionary objects
Repository objects :- (se38)
1. Executable program
2. Include program
3. Module pool
4. function pool
5. subroutine pool
6. type pool
7. class pool
8. interface pool
9. XSLT programs
2. Dictionary objects :- (se11)
1. Tables
2. Views
3. Data elements
4. Domains
5. Search help
6. Lock objects
7. Type groups
8. Structures
9. Table Types
Example :-
menu bar
standard toolbar
title bar
application toolbar
status bar (below)
int a,b,c;
a=10;
b=20;
c=a+b;
printf("%d",c);
syntax :-
data [:] <variable> type <datatype> [ value <value>].
[ ] ---> optional
< > ---> mandatory
example :-
data x type i.
data y type i.
data z type i.
x = 10.
y = 20.
z = x + y.
write z.
example :-
data : x type i,
y type i,
z type i.
x = 10.
y = 20.
z = x + y.
write z.
3. example :-
data : x type i,
y type i,
z type i.
x = 10.
y = 20.
z = x + y.
write : 'sum is',z.
write :/ 'sum is',z LEFT-JUSTIFIED.
example : parameter
PARAMETER : x type i,
y type i.
data z type i.
z = x + y.
write :/ 'sum is ',z.
example : default values
PARAMETER : x type i DEFAULT 10,
y type i DEFAULT 20.
data z type i.
z = x + y.
write :/ 'sum is ',z.
example : Declaring and Initializing the variables
data : x type i value 10,
y type i value 20,
z type i.
z = x + y.
write :/ 'sum is ',z.
x = 23.
y = 34.
z = x + y.
write :/ 'sum is ',z.
example :- constants
CONSTANTS : x type i VALUE 10,
y type i value 20.
data z type i.
z = x + y.
write :/ 'sum is ',z.
example : characters and strings
data x type c.
x = 'genesis'.
write x.
data y(10) type c.
y = 'genesis software systems'.
write / y.
data z type string.
4. z = 'genesis software systems'.
write :/ z.
Creating Package :-
ddmmyyyy
27082009
09202708
storage : yyyymmdd
output : ddmmyyyy
sy-datum :- date
sy-uzeit :- time
example : Date and time datatypes
data x type d value '27082009'.
write :/ 'Value of x is ',x.
x = '20090827'.
write :/ 'Value of x is ',x.
write :/ 'formatted date :',x
using EDIT MASK '________'.
write :/ 'formatted date :',(10) x using EDIT MASK
'________'.
data y type t value '093503'.
write :/ y.
write :/ 'formatted time ',(8) y using EDIT MASK '__:__:__'.
write :/ 'system date is ',sy-datum.
write :/ 'system time is ',sy-uzeit.
example : Packed data type
DATA x type i.
x = '123.45'.
write x.
data y type p.
y = '123.45'.
write :/ y.
data z type p DECIMALS 2.
z = '123.456'.
write :/ z.
Conditional statements :-
1. if - else
2. case - endcase
5. syntax : if-else
if <condition>.
statements.
elseif <condition2>.
statements.
---
endif.
syntax : case-endcase
case <condition>.
when <value 1>.
statements.
when <value 2>.
statements.
------
when <others>.
statements.
endcase.
looping statements :-
1. General Loops
a) while-endwhile
syntax :-
while <condition>.
statements.
endwhile.
b) do-enddo.
syntax :-
do <n> times.
statements.
enddo.
2. Database loops
a) select-endselect
b) loop-endloop
example : radio buttons
PARAMETERS : x type i,
y type i.
PARAMETERS : r1 RADIOBUTTON GROUP g1,
r2 RADIOBUTTON GROUP g1,
r3 RADIOBUTTON GROUP g1,
r4 RADIOBUTTON GROUP g1.
data res type i.
if r1 = 'X'.
res = x + y.
write :/ 'sum is ',res.
elseif r2 = 'X'.
res = x - y.
6. if res >= 0.
write :/ 'Difference is ',res.
else.
write :/ 'Difference is -' NO-GAP,res no-SIGN LEFT-JUSTIFIED.
endif.
elseif r3 = 'X'.
res = x * y.
write :/ 'Product is ',res.
elseif r4 = 'X'.
res = x / y.
write :/ 'Division is ',res.
endif.
example : checkboxes
PARAMETERS : x type i,
y type i.
PARAMETERS : r1 as CHECKBOX,
r2 as CHECKBOX,
r3 as CHECKBOX,
r4 AS CHECKBOX.
data res type i.
if r1 = 'X'.
res = x + y.
write :/ 'sum is ',res.
endif.
if r2 = 'X'.
res = x - y.
if res >= 0.
write :/ 'Difference is ',res.
else.
write :/ 'Difference is -' NO-GAP,res no-SIGN LEFT-JUSTIFIED.
endif.
endif.
if r3 = 'X'.
res = x * y.
write :/ 'Product is ',res.
endif.
if r4 = 'X'.
res = x / y.
write :/ 'Division is ',res.
endif.
example : case-endcase
PARAMETERS : x type i,
y type i,
ch type i.
data res type i.
case ch.
when 1.
res = x + y.
write :/ 'sum is ',res.
7. when 2.
res = x - y.
write :/ 'difference is ',res.
when 3.
res = x * y.
write :/ 'product is ',res.
when 4.
res = x / y.
write :/ 'division is ',res.
when OTHERS.
WRITE :/ 'Invalid choice, Please enter 1,2,3,4'.
endcase.
Database loops
example : while-endwhile
PARAMETERS : x type i.
data : y type i value 1,
res type i.
while y <= 10.
res = x * y.
write :/ x,'*',y,'=',res.
y = y + 1.
ENDWHILE.
example : do-enddo
data : res type i,
y type i value 1.
PARAMETERS x type i.
do 10 times.
res = x * y.
write :/ x,'*',y,'=',res.
y = y + 1.
enddo.
example : continue statement
data : res type i,
y type i value 1.
PARAMETERS x type i.
while y <= 10.
if y eq 6.
y = y + 1.
CONTINUE.
endif.
8. res = x * y.
write :/ x,'*',y,'=',res.
y = y + 1.
endwhile.
example : exit statement
data : res type i,
y type i value 1.
PARAMETERS x type i.
while y <= 10.
if y eq 6.
exit.
endif.
res = x * y.
write :/ x,'*',y,'=',res.
y = y + 1.
endwhile.
write :/ 'end of program'.
Operators :-
1. Arithmetic operators :- +, - , *, / , mod
2. Logical operators :- AND, OR, NOT
3. Relational operators
Symbolic format character format
< lt (less than)
> gt (greater than)
= eq (equal to)
<= le (less than or equal to)
>= ge (greater than or equal to)
<> ne (not equal to)
Dictionary objects (se11) :-
sy-datum
sy-uzeit
Standard tables :-
kna1 ---> customer master
vbak ---> sales document header data
vbap ---> sales document item data
ekko --> Purchase document header data
ekpo --> Purchase document item data
lfa1 ---> Vendor master
mara ----> Material master
makt ---> material descriptions
1. client dependent :- 'mandt'
2. client independent
9. se11 ---> database table (yemployee), create ---> provide description (employee dteails)
Delivery and maintainance :-
Delivery class ---> A
Data browser/Table view maintainance ---> Display/Maintainace allowed
Fields :-
Field name Datatype length
empno int4 10
ename char 20
empaddress char 30
Technical settings :-
data class ---> APPL0
sizecategory ---> 0