Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

internal tables

Former Member
0 Likes
520

Hi all,

Does any one have detail document for internal basic and advances concepts..

Thanks.

Zafeer.

4 REPLIES 4
Read only

Former Member
0 Likes
491

Internal Table

Data object that consists of a sequence of lines of the same data type. An internal table has a table type, which specifies the line type, the table category, and a table key. The corresponding generic data type is any table.

Read only

Former Member
0 Likes
491

HI,

see this link

http://www.sapbrainsonline.com/TUTORIALS/TECHNICAL/ABAP_tutorial.html

<b>reward if helpful</b>

rgds,

bharat.

Read only

Former Member
0 Likes
491

Hi

Standard table:

The key access to a standard table uses a sequential search. The time required for an access is linearly dependent on the number of entries in the internal table.

You should usually access a standard table with index operations.

Sorted table:

The table is always stored internally sorted by its key. Key access to a sorted table can therefore use a binary search. If the key is not unique, the entry with the lowest index is accessed. The time required for an access is logarithmically dependent on the number of entries in the internal table.

Index accesses to sorted tables are also allowed. You should usually access a sorted table using its key.

Hash table:

The table is internally managed with a hash procedure. All the entries must have a unique key. The time required for a key access is constant, that is it does not depend on the number of entries in the internal table.

You cannot access a hash table with an index. Accesses must use generic key operations (SORT, LOOP, etc.).

Hashed tables

This is the most appropriate type for any table where the main operation is key access. You cannot access a hashed table using its index.

The response time for key access remains constant, regardless of the number of table entries. Like database tables, hashed tables always

have a unique key. Hashed tables are useful if you want to construct and use an internal table which resembles a database table or for

processing large amounts of data.

TYPES VECTOR TYPE HASHED TABLE OF I WITH UNIQUE KEY TABLE LINE.

TYPES: BEGIN OF LINE,

COLUMN1 TYPE I,

COLUMN2 TYPE I,

COLUMN3 TYPE I,

END OF LINE.

DATA ITAB TYPE HASHED TABLE OF SPFLI

WITH UNIQUE KEY CARRID CONNID.

see the links

Start with this.Refer this

http://www.sapbrain.com/FAQs/TECHNICAL/SAP_ABAP_DATADICTIONARY_FAQ.html

http://www.saptechnical.com/InterviewQ/interviewQ.htm

http://help.sap.com/saphelp_46c/helpdata/en/35/2cd77bd7705394e10000009b387c12/frameset.htm

Reports

http://www.sapgenie.com/abap/reports.htm

http://www.allsaplinks.com/material.html

http://www.sapdevelopment.co.uk/reporting/reportinghome.htm

http://www.sapfans.com/forums/viewtopic.php?t=58286

http://www.sapfans.com/forums/viewtopic.php?t=76490

http://www.sapfans.com/forums/viewtopic.php?t=20591

http://www.sapfans.com/forums/viewtopic.php?t=66305 - this one discusses which way should you use - ABAP Objects calls or simple function modules.

ALE/ IDOC

http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm

http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc

http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419

http://www.netweaverguru.com/EDI/HTML/IDocBook.htm

http://www.sapgenie.com/sapedi/index.htm

http://www.sappoint.com/abap/ale.pdf

http://www.sappoint.com/abap/ale2.pdf

http://www.sapgenie.com/sapedi/idoc_abap.htm

http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm

http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm

http://www.allsaplinks.com/idoc_sample.html

http://www.sappoint.com/abap.html

http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm

http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc

http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419

http://www.netweaverguru.com/EDI/HTML/IDocBook.htm

http://www.sapgenie.com/sapedi/index.htm

http://www.allsaplinks.com/idoc_sample.html

Check these step-by-step links

https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/ccab6730-0501...

https://sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/8fd773b3-0301-001...

https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/3c5d9ae3-0501...

for Smartforms material

http://www.sap-basis-abap.com/sapsf001.htm

http://www.sap-press.com/downloads/h955_preview.pdf

http://www.ossincorp.com/Black_Box/Black_Box_2.htm

http://www.sap-img.com/smartforms/sap-smart-forms.htm

http://www.sap-img.com/smartforms/smartform-tutorial.htm

http://www.sapgenie.com/abap/smartforms.htm

How to trace smartform

http://help.sap.com/saphelp_47x200/helpdata/en/49/c3d8a4a05b11d5b6ef006094192fe3/frameset.htm

http://www.help.sap.com/bp_presmartformsv1500/DOCU/OVIEW_EN.PDF

http://www.sap-img.com/smartforms/smart-006.htm

http://www.sap-img.com/smartforms/smartforms-faq-part-two.htm

check most imp link

http://www.sapbrain.com/ARTICLES/TECHNICAL/SMARTFORMS/smartforms.html

step by step good ex link is....

http://smoschid.tripod.com/How_to_do_things_in_SAP/How_To_Build_SMARTFORMS/How_To_Build_SMARTFORMS.h...

SAPScripts

Link for SAP Scripts (step by step procedure)

http://smoschid.tripod.com/How_to_do_things_in_SAP/How_To_Create_A_SAPSCRIPT_Form/How_to_Create_SAPS...

http://esnips.com/doc/1ff9f8e8-0a4c-42a7-8819-6e3ff9e7ab44/sapscripts.pdf

http://esnips.com/doc/1e487f0c-8009-4ae1-9f9c-c07bd953dbfa/script-command.pdf

http://esnips.com/doc/64d4eccb-e09b-48e1-9be9-e2818d73f074/faqss.pdf

http://esnips.com/doc/cb7e39b4-3161-437f-bfc6-21e6a50e1b39/sscript.pdf

http://esnips.com/doc/fced4d36-ba52-4df9-ab35-b3d194830bbf/symbols-in-scripts.pdf

http://esnips.com/doc/b57e8989-ccf0-40d0-8992-8183be831030/sapscript-how-to-calculate-totals-and-sub...

SAP SCRIPT FIELDS

http://help.sap.com/saphelp_erp2005vp/helpdata/en/d1/8033ea454211d189710000e8322d00/content.htm

scripts easy material

http://www.allsaplinks.com/sap_script_made_easy.html

Debugging Document.

http://www.cba.nau.edu/haney-j/CIS497/Assignments/Debugging.doc

http://help.sap.com/saphelp_47x200/helpdata/en/c6/617ca9e68c11d2b2ab080009b43351/content.htm

http://www.cba.nau.edu/haney-j/CIS497/Assignments/Debugging.doc

http://help.sap.com/saphelp_erp2005/helpdata/en/b3/d322540c3beb4ba53795784eebb680/frameset.htm

http://help.sap.com/saphelp_nw04/helpdata/en/84/1f624f4505144199e3d570cf7a9225/frameset.htm

http://help.sap.com/saphelp_bw30b/helpdata/en/c6/617ca9e68c11d2b2ab080009b43351/content.htm

http://help.sap.com/saphelp_erp2005/helpdata/en/b3/d322540c3beb4ba53795784eebb680/frameset.htm

<b>Reward points for useful Answers</b>

Regards

Anji

Read only

Former Member
0 Likes
491

hi,

This is only an overview of internal table operations.

<b>Append 2 tables with identical structure

Check if there are any entries in an internal table

Copy an internal table to another internal table

Delete lines

Delete duplicate entries in internal table after sort

Modify line of internal table

Summarize data into an internal table</b>

<b><u>Append 2 tables with identical structure</u></b>

All rows: append lines of itab1 to itab2

Subset of rows: append lines of itab1 from <rowno> to <rowno> to itab2

<b><u>Check if there are any entries in an internal table</u></b>

If you don't need to know the number of entries in the table, but only wants to know if there are any entries at all

use:

if itab[] is initial.........

instead of using describe table.

<u><b>Copy an internal table to another internal table</b></u>

Note: The tabels must have exactly the structure

itab2[] = itab2[]

<u><b>Delete lines</b></u>

Deleting a single line

read table itab

with key name = 'My name'

into wa_itab.

if sy-subrc = 0.

delete itab.

endif.

Deleting all lines

refresh itab.

If you also want to free the mamory taken up by the table, use FREE instead of REFRESH

Deleting a subset

This can be done in a loop, but it is better to do it this way:

delete itab where name = 'My name'.

Remember that you can also use wildcards. E.g. if you want to delete all name statinmg with 'A':

delete itab where name = 'A*'.

<u><b>Delete duplicate entries in internal table after sort</b></u>

To delete all duplicate entries from a sorted internal table (e.g. just after SORT), you can use the

DELETE ADJACENT DUPLICATES FROM itab statement.

You can use the COMPARING adition to limit the fields that are used to test for duplicate entries e.g.

SORT i_tab by matnr werks logort.

DELETE ADJACENT DUPLICATES FROM itab COMPARING matnr werks.

All duplicates withe same combination of matnr and werks will be deleted.

<u><b>Modify line of internal table</b></u>

modify itab from wa_itab.

modify itab from wa_itab transporting <field1> <field2>

<u><b>Summarize data into an internal table</b></u>

Syntax: COLLECT [wa INTO] itab.

Note: You can only use COLLECT if all of the tables non-key fields are numeric ( Type I, P, F)

The collect command summarizes all numerical fields (Type I, P, F) that are not part of the key into an internal table. The level of summarization is determined by the table key which can be both numerical and non numerical. After using the COLLECT command you will have a table with unique keys

Example:

REPORT zcollect.

TYPES:

BEGIN OF t_mytype,

key_c(10) TYPE c,

key_n(10) TYPE n,

key_i TYPE i,

number TYPE i,

END OF t_mytype.

DATA:

gi_mytable TYPE SORTED TABLE OF t_mytype

WITH NON-UNIQUE KEY key_c key_n key_i,

wa_mytable TYPE t_mytype.

START-OF-SELECTION.

CLEAR wa_mytable.

wa_mytable-key_c = '10'.

wa_mytable-key_n = '25'.

wa_mytable-key_i = 5.

wa_mytable-number = 400.

COLLECT wa_mytable INTO gi_mytable.

CLEAR wa_mytable.

wa_mytable-key_c = '10'.

wa_mytable-key_n = '25'.

wa_mytable-key_i = 5.

wa_mytable-number = 500.

COLLECT wa_mytable INTO gi_mytable.

CLEAR wa_mytable.

wa_mytable-key_c = '11'.

wa_mytable-key_n = '30'.

wa_mytable-key_i = 6.

wa_mytable-number = 200.

COLLECT wa_mytable INTO gi_mytable.

CLEAR wa_mytable.

wa_mytable-key_c = '11'.

wa_mytable-key_n = '30'.

wa_mytable-key_i = 6.

wa_mytable-number = 900.

COLLECT wa_mytable INTO gi_mytable.

CLEAR wa_mytable.

wa_mytable-key_c = '11'.

wa_mytable-key_n = '30'.

wa_mytable-key_i = 7.

wa_mytable-number = 100.

COLLECT wa_mytable INTO gi_mytable.

END-OF-SELECTION.

LOOP AT gi_mytable INTO wa_mytable.

WRITE: / wa_mytable-key_c,

wa_mytable-key_n,

wa_mytable-key_i,

wa_mytable-number.

ENDLOOP.

REWARD , IF THIS INFO IS USEFUL

THANKS