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

ALV Grid - mathcode intr-o celula?
http://www.sap-consulting.ro/phpbb/viewtopic.php?f=1&t=486
Pagina 1 din 1

Autor:  Mihaela [ Mar, 07-Aug-2007 09:57 ]
Subiectul mesajului:  ALV Grid - mathcode intr-o celula?

Salve! :D
Are cineva idee cum se poate adauga un matchcode intr-un camp in ALV grid (facut cu clase)? :shock:

Si inca o intrebare..cum se poate "prinde" un eveniment in acest grid? de exemplu pe "adaugare linie noua" sa pun sa faca ceva..

Multumesc,
Mihaela

Autor:  cata_nasty [ Mar, 07-Aug-2007 16:50 ]
Subiectul mesajului:  Re: ALV Grid - mathcode intr-o celula?

Mihaela scrie:
Salve! :D
Are cineva idee cum se poate adauga un matchcode intr-un camp in ALV grid (facut cu clase)? :shock:
Mihaela


Poti intra in SE38 si sa dai BCALV* => gasesti astfel f multe exemple utile.
Daca nu gasesti ce iti trebui zi'mi un mail si iti pot trimite cateva programe f utile.

Mihaela scrie:
Si inca o intrebare..cum se poate "prinde" un eveniment in acest grid? de exemplu pe "adaugare linie noua" sa pun sa faca ceva..
Mihaela


Poti sa pui "handler" pe user command si atunci iti declansezi evenimentul pe care il doresti (ai in exemplele de mai sus).

Succes,
Cata

Autor:  Mihaela [ Mar, 07-Aug-2007 17:29 ]
Subiectul mesajului: 

Salut!
M-am uitat pe o parte din programe. Eu nu am gasit cum pot adauga un matchcode intr-un camp..
Iar pt evenimente...nu stiu cum s eface. Pot "prinde" evenimentele din toolbar nu si pe celelalte.
Imi poti da te rog un exemplu/program in care se face asta?
Multumesc mult,
Mihaela

Autor:  cata_nasty [ Mar, 07-Aug-2007 17:50 ]
Subiectul mesajului: 

Mihaela scrie:
Salut!
M-am uitat pe o parte din programe. Eu nu am gasit cum pot adauga un matchcode intr-un camp..
Mihaela


Pai..ai cam asa:
CLASS eveniment DEFINITION.
PUBLIC SECTION.
METHODS:
...bla..bla...
handle_f4
FOR EVENT onf4 OF cl_gui_alv_grid
IMPORTING e_fieldname
es_row_no
er_event_data
et_bad_cells
e_display.
ENDCLASS.

Dupa care - pasul doi
CLASS eveniment IMPLEMENTATION.

METHOD handle_f4.
PERFORM f4
USING e_fieldname
es_row_no
er_event_data
et_bad_cells.

er_event_data->m_event_handled = 'X'.
ENDMETHOD.
...bla..bla...
ENDCLASS.

Pasul 3:
* SET the f4 propriety fields
s_f4_fields-fieldname = 'FIELD NAME1'.
s_f4_fields-register = 'X'.
APPEND s_f4_fields TO t_f4_fields.
s_f4_fields-fieldname = 'FIELD NAME 2'.
s_f4_fields-register = 'X'.
APPEND s_f4_fields TO t_f4_fields.
CALL METHOD mygrid->register_f4_for_fields
EXPORTING
it_f4 = t_f4_fields[].


Pas 4:
SET HANDLER myevent->handle_f4 FOR mygrid.

Pas 5:

*&---------------------------------------------------------------------*
*& Form f4
*&---------------------------------------------------------------------*
FORM f4 USING
p_e_fieldname TYPE lvc_fname
p_es_row_no TYPE lvc_s_roid
p_er_event_data TYPE REF TO cl_alv_event_data
p_et_bad_cells TYPE lvc_t_modi.

FIELD-SYMBOLS: <lt_f4> TYPE lvc_t_modi.
DATA: ls_f4 TYPE lvc_s_modi,
v_date LIKE sy-datum.

CASE p_e_fieldname.
WHEN 'NUME CAMP 1'.
...bla..bla..operatiuni ce vrei

ASSIGN p_er_event_data->m_data->* TO <lt_f4>.
ls_f4-fieldname = p_e_fieldname.
ls_f4-row_id = p_es_row_no-row_id.
ls_f4-value = value.
APPEND ls_f4 TO <lt_f4>.

CALL METHOD mygrid->refresh_table_display.

WHEN 'NUME CAMP 2'.

... bla..bla.. operatiuni

ASSIGN p_er_event_data->m_data->* TO <lt_f4>.
ls_f4-fieldname = p_e_fieldname.
ls_f4-row_id = p_es_row_no-row_id.
ls_f4-value = value.
APPEND ls_f4 TO <lt_f4>.

ENDCASE.

ENDFORM.

Si simplu in 5 pasi ai F4v pe un camp ;)



Mihaela scrie:
Iar pt evenimente...nu stiu cum s eface. Pot "prinde" evenimentele din toolbar nu si pe celelalte.
Imi poti da te rog un exemplu/program in care se face asta?
Multumesc mult,
Mihaela


Ce alte evenimente vrei sa prinzi in afara de cele de pe toolbar?

Autor:  cata_nasty [ Mar, 07-Aug-2007 17:55 ]
Subiectul mesajului: 

Si am mai gasit chestiile urmatoare:

BCALV_EDIT_08 Integrate Non-Standard F4 Help

BCALV_EDIT_04 Delete and append rows

si tot asa...


Succes,
Cata

Autor:  Mihaela [ Mar, 07-Aug-2007 18:43 ]
Subiectul mesajului: 

Multumesc mult!!!
Ma apuc de lucru! :D
Mihaela

Autor:  Mihaela [ Mie, 08-Aug-2007 13:01 ]
Subiectul mesajului: 

Am reusit! :D
Am mai gasit un programel aici: http://blog.chinaunix.net/u1/40527/showart_342758.html

Acum incerc ca dupa ce am selectat o valoare din lista, urmatorul camp sa mi se completeze automat ("in spate" o sa fac un select...si sa-mi aduc valoarea care imi trebuie)

Autor:  cata_nasty [ Mie, 08-Aug-2007 14:35 ]
Subiectul mesajului: 

Mihaela scrie:
Acum incerc ca dupa ce am selectat o valoare din lista, urmatorul camp sa mi se completeze automat ("in spate" o sa fac un select...si sa-mi aduc valoarea care imi trebuie)


Daca vrei sa faci chestia asta trebuie doar sa mai bagi in formul de F4 urmatoarele chestii:
ls_f4-fieldname = 'CAMP DE COMPLETAT 2.
ls_f4-row_id = p_es_row_no-row_id.
ls_f4-value = 'VALOARE CAMP DE COMPLETAT'.
APPEND ls_f4 TO <lt_f4>.
si atat.
Stie el sa fac restu dar nu uita sa ii dai cand definesti metoda:
er_event_data->m_event_handled = 'X'.
Daca uiti chestia asta s'ar putea sa iti faca o gramada de probleme.

Succes,
Cata

Autor:  Mihaela [ Mie, 08-Aug-2007 15:34 ]
Subiectul mesajului: 

Salve!

Multumesc mult!
Am reusit :D :D

Mihaela

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