Acum este Sâm, 18-Mai-2024 09:50

Ora este UTC + 2 [ DST ]




Scrie un subiect nou Răspunde la subiect  [ 9 mesaje ] 
Autor Mesaj
 Subiectul mesajului: ALV Grid - mathcode intr-o celula?
MesajScris: Mar, 07-Aug-2007 09:57 
Neconectat

Membru din: Mie, 29-Oct-2003 16:50
Mesaje: 160
Locaţie: Bucuresti
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

_________________
Mi_


Sus
 Profil  
Răspuns cu citat  
MesajScris: Mar, 07-Aug-2007 16:50 
Neconectat

Membru din: Joi, 26-Ian-2006 10:16
Mesaje: 61
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


Sus
 Profil  
Răspuns cu citat  
 Subiectul mesajului:
MesajScris: Mar, 07-Aug-2007 17:29 
Neconectat

Membru din: Mie, 29-Oct-2003 16:50
Mesaje: 160
Locaţie: Bucuresti
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

_________________
Mi_


Sus
 Profil  
Răspuns cu citat  
 Subiectul mesajului:
MesajScris: Mar, 07-Aug-2007 17:50 
Neconectat

Membru din: Joi, 26-Ian-2006 10:16
Mesaje: 61
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?


Sus
 Profil  
Răspuns cu citat  
 Subiectul mesajului:
MesajScris: Mar, 07-Aug-2007 17:55 
Neconectat

Membru din: Joi, 26-Ian-2006 10:16
Mesaje: 61
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


Sus
 Profil  
Răspuns cu citat  
 Subiectul mesajului:
MesajScris: Mar, 07-Aug-2007 18:43 
Neconectat

Membru din: Mie, 29-Oct-2003 16:50
Mesaje: 160
Locaţie: Bucuresti
Multumesc mult!!!
Ma apuc de lucru! :D
Mihaela

_________________
Mi_


Sus
 Profil  
Răspuns cu citat  
 Subiectul mesajului:
MesajScris: Mie, 08-Aug-2007 13:01 
Neconectat

Membru din: Mie, 29-Oct-2003 16:50
Mesaje: 160
Locaţie: Bucuresti
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)

_________________
Mi_


Sus
 Profil  
Răspuns cu citat  
 Subiectul mesajului:
MesajScris: Mie, 08-Aug-2007 14:35 
Neconectat

Membru din: Joi, 26-Ian-2006 10:16
Mesaje: 61
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


Sus
 Profil  
Răspuns cu citat  
 Subiectul mesajului:
MesajScris: Mie, 08-Aug-2007 15:34 
Neconectat

Membru din: Mie, 29-Oct-2003 16:50
Mesaje: 160
Locaţie: Bucuresti
Salve!

Multumesc mult!
Am reusit :D :D

Mihaela

_________________
Mi_


Sus
 Profil  
Răspuns cu citat  
Afişează mesajele de la anteriorul:  Sortează după  
Scrie un subiect nou Răspunde la subiect  [ 9 mesaje ] 

Ora este UTC + 2 [ DST ]


Cine este conectat

Utilizatorii ce navighează pe acest forum: Niciun utilizator înregistrat şi 2 vizitatori


Nu puteţi scrie subiecte noi în acest forum
Nu puteţi răspunde subiectelor din acest forum
Nu puteţi modifica mesajele dumneavoastră în acest forum
Nu puteţi şterge mesajele dumneavoastră în acest forum
Nu puteţi publica ataşamente în acest forum

Căutare după:
Mergi la:  
POWERED_BY
Translation/Traducere: phpBB România