*==============================================================
* Insert bei internen Tabellen
*==============================================================   

types: begin of Stadt,
         name(50) type C,
         einwohnerzahl type I,
         bundesland(50) type C,
       end of Stadt.

types Zeichenkette(250) type C.

data meinInteger1 type I.
data meineZeichenkette1 type Zeichenkette.
data meineStadt1 type Stadt.

data standardtabelle1 type standard table of I.
data standardtabelle2 type standard table of Zeichenkette.
data staedte1 type standard table of Stadt. 

data sortierteTabelle1 type sorted table 
                       of Zeichenkette
                       with unique key table_line. 

data sortierteTabelle2 type sorted table 
                       of Stadt 
                       with unique key name.   

data hashedTable1 type hashed table 
                  of Zeichenkette
                  with unique key table_line. 

data hashedTable2 type hashed table 
                  of Stadt 
                  with unique key name.

*==============================================================
* Insert bei Standardtabellen
*============================================================== 

refresh standardtabelle1.
refresh standardtabelle2.
refresh staedte1.

meinInteger1 = 12.
meineZeichenkette1 = 'Hamburg'.
    
insert meinInteger1 into table standardtabelle1.
insert meineZeichenkette1 into table standardtabelle2.
    
meinInteger1 = 13.
meineZeichenkette1 = 'Kiel'.

append meinInteger1 to standardtabelle1.
append meineZeichenkette1 to standardtabelle2.
    
meinInteger1 = 99.
meineZeichenkette1 = 'Flensburg'.    

insert meinInteger1 into standardtabelle1 index 2.
insert meineZeichenkette1 into standardtabelle2 index 1.

clear meineStadt1.
meineStadt1-name = 'Kiel'.
meineStadt1-einwohnerzahl = 240000.
meineStadt1-bundesland = 'Schleswig-Holstein'.

append meineStadt1 to staedte1.

clear meineStadt1.
meineStadt1-name = 'Hannover'.
meineStadt1-einwohnerzahl = 520000.
meineStadt1-bundesland = 'Niedersachsen'.

insert meineStadt1 into table staedte1.

clear meineStadt1.
meineStadt1-name = 'Kassel'.
meineStadt1-einwohnerzahl = 170000.
meineStadt1-bundesland = 'Hessen'.

insert meineStadt1 into staedte1 index 2.

*==============================================================
* Insert bei sortierten Tabellen
*============================================================== 

refresh sortierteTabelle1.
refresh sortierteTabelle2.

meineZeichenkette1 = 'Hamburg'.

insert meineZeichenkette1 into table sortierteTabelle1.

meineZeichenkette1 = 'Bremen'.

insert meineZeichenkette1 into table sortierteTabelle1. 

meineZeichenkette1 = 'Dortmund'.

insert meineZeichenkette1 into table sortierteTabelle1. 

clear meineStadt1.
meineStadt1-name = 'Kiel'.
meineStadt1-einwohnerzahl = 240000.
meineStadt1-bundesland = 'Schleswig-Holstein'.

insert meineStadt1 into table sortierteTabelle2.

clear meineStadt1.
meineStadt1-name = 'Hannover'.
meineStadt1-einwohnerzahl = 520000.
meineStadt1-bundesland = 'Niedersachsen'.

insert meineStadt1 into table sortierteTabelle2.

clear meineStadt1.
meineStadt1-name = 'Kassel'.
meineStadt1-einwohnerzahl = 170000.
meineStadt1-bundesland = 'Hessen'.

insert meineStadt1 into table sortierteTabelle2.
  
*==============================================================
* Insert bei Hash-Tabellen
*============================================================== 

refresh hashedTable1.
refresh hashedTable2.

meineZeichenkette1 = 'Hamburg'.

insert meineZeichenkette1 into table hashedTable1.

meineZeichenkette1 = 'Bremen'.

insert meineZeichenkette1 into table hashedTable1. 

meineZeichenkette1 = 'Dortmund'.

insert meineZeichenkette1 into table hashedTable1. 

clear meineStadt1.
meineStadt1-name = 'Kiel'.
meineStadt1-einwohnerzahl = 240000.
meineStadt1-bundesland = 'Schleswig-Holstein'.

insert meineStadt1 into table hashedTable2.

clear meineStadt1.
meineStadt1-name = 'Hannover'.
meineStadt1-einwohnerzahl = 520000.
meineStadt1-bundesland = 'Niedersachsen'.

insert meineStadt1 into table hashedTable2.

clear meineStadt1.
meineStadt1-name = 'Kassel'.
meineStadt1-einwohnerzahl = 170000.
meineStadt1-bundesland = 'Hessen'.

insert meineStadt1 into table hashedTable2.