Step 1 — Create the
database table in ADT (Eclipse)
1.
In Eclipse ADT: File → New → Others.
2.
Search for Database Table and select
it → Next.
3.
Enter Package, Table name (Z*), and Description → Next.
4.
Click Finish (table will be generated).
5.
The generated table will include
some technical annotations and a client field.
Technical annotations explanation
When the table is created you will set several ABAP catalog annotations. Here’s what they mean:
1. End user Text label: This is the description / label that users see for the table.
2. AbapCatalog.enhancement.category — controls whether the table can be enhanced (append/includes):
o
NOT_EXTENSIBLE → cannot
be enhanced.
o
EXTENSIBLE_CHARACTER → can be enhanced only with character
fields.
o
EXTENSIBLE_CHARACTER_NUMERIC → can be enhanced with character or
numeric fields.
o
#EXTENSIBLE_ANY → can be enhanced
with any type.
o In
SAP Public Cloud
all custom tables
are NOT_EXTENSIBLE (Clean Core —
append structures / includes not allowed).
3.
AbapCatalog.tablecategory — table type:
o TRANSPARENT → Table stored
in the database. Has physical
space in database
to hold records.
o GLOBAL_TEMPORARY (Global_Temporary) → holds data only during
program execution, data wiped after run (not stored in database).
4.
AbapCatalog.DeliveryClass — controls transport & nature of data:
o A → Application table (master & transaction data created during
runtime). Example: material company
code = master data; SO/PO = transaction data.
o
C → Customizing table (data created
by customer).
5.
ABAPcatalog.DataMaintenance — controls
whether table data can be maintained via tools:
o
#RESTRICTED → cannot
be maintained, only display.
o
#DISPLAY → display
only.
o
#ALLOWED → can be maintained and displayed.
o
#NOT_ALLOWED → no display, no maintenance.
o (This setting
defines use with tools like SM30/SE16N
— Not applicable in Public
Cloud.)
Client Field explanation
·
Key Field: unique field to avoid duplicates. Every key field is usually NOT NULL.
·
Client Field: Created
Records will be client-dependent (examples: client 080 / 100). Data Created in 080 will not be visible in
100/
·
Data types
& length: define
type and length
for each field
(example: abap.numc(6) → numeric field length 6; values like
123456 only).
·
Not null: must hold a value (cannot
be blank) — apply on appropriate fields (especially keys).
Step 3 — Fill table fields (type & length)
· Add the required fields
for the table (e.g., Employee
ID, Employee Name, etc.).
· For every table field,
define the data type and length appropriately (Built in type):
·
If the field
stores alphabets/characters → use abap.char(<length>)
· If the field stores only numbers
(numeric text) → use abap.numc(<length>)
· Choose the length based on the business requirement.
·
Example: For a Mobile
Number field, which contains only digits and always 10 characters, the field type should be
abap.numc(10).
·
Note: Built-in types
(directly using CHAR/NUMC
etc.) have a disadvantage: you cannot
attach a friendly field label or fixed
values for UI. For that
use Domain + Data Element
(see step 4).
“Complete the table as below by adding
the required fields” —
add each field with its data type and length.
Step 4 — When built-in types are not enough: Create Domain & Data Element
Why: Built-in types
cannot provide friendly
field labels or fixed values
in UI. If end-users need meaningful names, camel case, or
fixed value lists, create a Domain and a Data Element.
Create a Domain
1. File → New → Others.
2.
Search for Domain →
Next.
3.
Enter Package, Domain name,
Description →
Next.
4.
Set data type (e.g., NUMC), length (e.g., 1) and fixed values if needed.
5.
Activate the Domain.
Now the Domain exists
and can be used inside
Data element.
Create a Data Element and assign the Domain
1. File → New → Others.
2.
Choose Data Element →
Next.
3.
Give field label(s): short, medium, long (these define
how the label will appear in UI; use
appropriate lengths).
o (“short medium
long based on value it shriks…” — provide labels in those three
sizes so UI can pick best fit.)
4.
In the Type/Domain field
assign the Domain
you created (type name = the Domain).
5.
Check and Activate the
Data Element.
After activation, use the Data Element as the field
type in your table to get good labels and fixed
value behavior.
Assign that Data Element
to the table field instead
of raw built-in type as below.
Step 5 — Test the table using ABAP Console (no UI screens)
When you create a Z table and want to test without UI screens (no selection/output screens), use a test class.
1. File → New → Others.
2.
Choose ABAP Class → Next.
3.
Add Interface ‘IF_OO_ADT_CLASSRUN’ à To run a Class independently without
any user interface.
4.
Put your test logic
inside this method
‘if_oo_adt_classrun~main’ (inserts, selects, updates to the Z table, etc.).
5.
Use out->write () to display messages
on the ABAP console (for example
Success messages or output).
6.
Execute the class on the console (click the Run icon in ADT or press F9).
7.
Check the console
output for out->write () messages and test results.
8.
Validate the created/updated records
in your table (use SE16-like
tools or database
view as applicable).
No comments:
Post a Comment