Site-ul consultantilor SAP din Romania
http://www.sap-consulting.ro/phpbb/

inserare dinamica de coloane intr-o tabela interna?
http://www.sap-consulting.ro/phpbb/viewtopic.php?f=1&t=253
Pagina 1 din 1

Autor:  Mihaela [ Lun, 19-Dec-2005 12:37 ]
Subiectul mesajului:  inserare dinamica de coloane intr-o tabela interna?

Salve!
Am o problema.. :(
As vrea ca pt. o anumita situatie din selection-screen ca modific o tabela interna: sa-i adaug campuri (de acelasi tip). Se poate acest lucru?
Singura idee pe care o am (dar nu e optima) este sa definesc o tabela interna cu multe campuri si apoi sa afisez doar cate am nevoie, "ascunzandu-le" pe celelalte... :shock:

Autor:  Costin Albu [ Lun, 19-Dec-2005 14:38 ]
Subiectul mesajului: 

Daca e un numar maxim de campuri "decent" (de ex. 20-30), atunci solutia simpla este asta: defineste tabela cu nr. maxim de campuri. Daca nu, se poate de exemplu face o structura "deep": intr-o coloana pui o tabela si atunci daca ai nevoie de 100 campuri, vei avea 100 linii in aceasta tabela...

Autor:  Mihaela [ Lun, 19-Dec-2005 17:09 ]
Subiectul mesajului: 

Am incercat si asa: sa fac un camp de fapt o tabela interna, dar nu stiu efectiv cum sa inserez in ea...(cum sa o incarc cu date). :(

Autor:  Costin Albu [ Mar, 20-Dec-2005 13:55 ]
Subiectul mesajului: 

Uite un exemplu: 2 coloane fixe, iar a treia coloane contine un nr. variabil de "coloane" (in acest caz 3).

Cod:
TYPES sir(10) TYPE c.
DATA: BEGIN OF t_test OCCURS 0,
        col1 TYPE sir,
        col2 TYPE sir,
        ncol TYPE sir OCCURS 0,
      END OF t_test,
      l_col TYPE sir.

t_test-col1 = 'a1'.
t_test-col2 = 'b1'.
l_col = 'c1'.
APPEND l_col TO t_test-ncol.
l_col = 'd1'.
APPEND l_col TO t_test-ncol.
l_col = 'e1'.
APPEND l_col TO t_test-ncol.
APPEND t_test.

CLEAR t_test.
t_test-col1 = 'a2'.
t_test-col2 = 'b2'.
l_col = 'c2'.
APPEND l_col TO t_test-ncol.
l_col = 'd2'.
APPEND l_col TO t_test-ncol.
l_col = 'e2'.
APPEND l_col TO t_test-ncol.
APPEND t_test.

LOOP AT t_test.
  WRITE: / t_test-col1, t_test-col2.
  LOOP AT t_test-ncol INTO l_col.
    WRITE l_col.
  ENDLOOP.
ENDLOOP.

Autor:  Mihaela [ Mie, 21-Dec-2005 16:30 ]
Subiectul mesajului: 

Multumesc!! :D am adaptat codul si merge f bine . Mai am o singura problema. Aceasta tabela (t_test din exemplul de mai sus) trebuie sa o transmit ca paramentru pt.
CALL METHOD alv_grid->set_table_for_first_display
...
si nu stiu exact cum..pt. ca vreau sa apara toata coloanele..cu valorile corespunzatoare.
Mihaela

Autor:  Costin Albu [ Mie, 21-Dec-2005 17:59 ]
Subiectul mesajului: 

Nu cred ca poti sa trimiti o astfel de tabela spre ALV. Trebuie sa recurgi la cealalta metoda (coloane multe, ascunse cele inutile).

Autor:  Mihaela [ Mie, 21-Dec-2005 18:22 ]
Subiectul mesajului: 

ooo!! nu pot sa cred ca nu se poate :( :( :( :( :( :( :( :( :(

Pagina 1 din 1 Ora este UTC + 2 [ DST ]
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/