Page 1 of 3

generische Typisierung

PostPosted: Thu Jan 09, 2003 5:59 pm
by Cecilia1751
Hallo liebe Forumgemeinde,

kann mir bitte jemand sagen, ob man interne tabellen auch generisch erzeugen kann?

Konkret möchte ich ueber einen Funktionsbaustein im Importparameter zunaechst den Namen eines DDIC-Objekt benennen und dann im Quellcode des FuBa entsprechend dieses Importparameters eine interne Tabelle samt Arbeitsbereich anlegen.
D.h. der Typ fuer die Typisierung des Arbeitsbereichs wird erst zur Laufzeit bekannt sein.

Probiert habe ich das Ganze schon mal wie folgt: (haut aba nich hin! :oops:

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1.  
  2.   FIELD-SYMBOLS <lm_tabname> like I_TABNAME.
  3.  
  4. Data: wa_tab TYPE <IM_tabname>,
  5.          it_tab   LIKE STANDARD TABLE OF wa_tab.
  6.  
GeSHi ©


Hat jemand eine Idee bzw. ein klitzekleines Beispiel?
Freue mich auf Anregungen, Kommentare jeder Art

Gruss

gse

PostPosted: Thu Jan 09, 2003 6:43 pm
by Emre397
Hi Gse,
FROHES NEUES!

hier dein beispiel:
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. FIELD-SYMBOLS: <it_test> TYPE any.
  2.  
  3. DATA: TypeName TYPE string.
  4. TypeName = 'CRMT_ORDERADM_I_COMT'.
  5. CREATE DATA dref TYPE &#40;TypeName&#41;.
  6.  
  7. assign dref->* to <it_test>.
GeSHi ©


Gruß Azreal

PostPosted: Thu Jan 09, 2003 6:45 pm
by Dion4903
folgendes könnte es funktionieren:

* in lv_tab_name type C steht der Name von DDIC Structure
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1.   DATA: lv_wa_type type ref to data,
  2.             lv_tab_type type ref to data.
  3.  
  4.       <lt_tab> type any,
  5.       <ls_tab> type any.
  6. * Create workarea
  7.     create data lv_wa_type type &#40;lv_tab_name&#41;.
  8.     assign lv_type->* to <ls_tab>.
  9. * Create in tab
  10.     create data lv_tab_type standard table of &#40;lv_tab_name&#41;.
  11.     assign lv_tab_type->* to <lt_tab>.
GeSHi ©


Gruss, tom

type standard table of

PostPosted: Thu Jan 09, 2003 7:37 pm
by Cecilia1751
hi azreal, hi tom, EUCH beiden auch noch ein FROHES NEUES!

azreal,

die derefernzierung haut hin, wenn man zusätzlich
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. dref als type ref to data
  2.  
GeSHi ©

deklariert. nur, habe ich dann erst eine struktur, schwer tue ich mir noch in der deklaration der internen tabelle passend zum arbeitsbereich

tom,

bei Dir mag der syntax-checker die zeile
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. create data lv_tab_type standard table of &#40;lv_tab_name&#41;.
  2.  
GeSHi ©
nicht und stört sich an der definition.
fehlermeldung:
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. statt"STANDARD TABLE" wurde "TYPE LINE" oder "LIKE LINE" erwartet.
  2.  
GeSHi ©


muss jetzt dann leider weg.... :(
bin aber morgen frueh wieder am start.

EUCH beiden noch einen schoenen abend und vielen dank fuer die hilfe!

gruss gse

PostPosted: Fri Jan 10, 2003 9:38 am
by Dion4903
Hi gse,

sorry.....schreibfehler.... es sollte so sein:
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. create data lv_tab_type TYPE STANDARD TABLE OF &#40;lv_tab_name&#41;.
GeSHi ©

ich muss leider zugeben dass die coding noch nicht getestet wurde.
Gruss, tom

mag der syntax-checker auch nicht

PostPosted: Fri Jan 10, 2003 10:35 am
by Cecilia1751
guten morgen tom,

kein problem, den TYPE STANDARD TABLE OF....hatte ich gestern auch noch probiert, nur mag der syntax-checker immer noch nicht. ;)

diesmal meldet er:

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. TABLE konnte nicht interpretiert werden. Mögliche Fehlerursachen: Falsche Schreibweise oder Kommafehler.
  2.  
GeSHi ©


leider bringt die F1-Hilfe auch zum CREATE DATA als Variante nur:

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. 1. CREATE DATA dref TYPE type.        
  2. 2. CREATE DATA dref TYPE &#40;c&#41;.        
  3. 3. CREATE DATA dref LIKE f.          
  4. 4. CREATE DATA dref TYPE LINE OF itab.
  5. 5. CREATE DATA dref LIKE LINE OF itab.
  6.  
GeSHi ©


werde mal weitersuchen. DIR auf jeden Fall mal noch einen schönen Tag und Danke für Deine Mühe!

gse

PostPosted: Fri Jan 10, 2003 10:52 am
by Walter4536
Hallo gse,

so wie tom das geschrieben hat muss es funktionieren. Hab ich selbst kurz eben noch mal getestet.

Schau mal:

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. data: lt_gentab type ref to data,
  2.          lv_type&#40;30&#41; type c value 'CDHDR'.
  3.  
  4.  
  5.  create data lt_gentab type standard table of &#40;lv_type&#41;.
  6.  
  7.  
GeSHi ©


Hab genau dieses coding in einen kleinen Testreport reingehängt. Funktioniert tadellos. Insofern vermute ich, dass der Fehler bei Dir an anderer Stelle zu suchen ist.

Gruss,
Steff

PostPosted: Fri Jan 10, 2003 11:42 am
by Willy1492
Steff hat geschrieben:so wie tom das geschrieben hat muss es funktionieren. Hab ich selbst kurz eben noch mal getestet.

Kann es sein, daß gse einfach noch nicht mit Release 6.20 arbeitet?

funzt nich!

PostPosted: Fri Jan 10, 2003 12:14 pm
by Alva1590
hallo leute,

kann machen was ich will, es bleibt bei der Fehlermeldung :roll:

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. "TABLE" konnte nicht interpretiert werden. Mögliche Fehlerursachen: Falsche Schreibweise oder Kommafehler.
  2.  
GeSHi ©



vielleicht liegt es wirlich am release (4.6B). weiss jemand einen workaround?

gruss gse

PostPosted: Fri Jan 10, 2003 12:17 pm
by Walter4536
@Frank:

Wieso Rel. 620? Hab 610 und funktioniert problemlos. Da gse aber 46B hat, scheint es in diesem Falle am Release zu hängen.

@gse
Werd mal nachschauen, was man in 46B machen kann.

Gruß,
Steff