ALVμ Cell EDIT λͺ¨λμ κ΄λ ¨λ κΈ°λ³Έ μ¬νλ€μ λͺ κ°μ§ μ μ΄λ³ΌκΉ νλ€.
1. ALV μ‘°ν λͺ¨λ vs ALV μμ λͺ¨λ
Edit λͺ¨λ μ λ°μ΄ν° μ μ΄μ νμν λ²νΌλ€μ΄ μΆκ°λμΌλ©°, Key Field μμμ΄ λ³κ²½λ κ²μ νμΈν μ μλ€.
μ€λ¬΄μμλ Edit λͺ¨λ μμ μΆκ°λ‘ 보μ΄λ Standard λ²νΌλ€μ μ¨κΈ°κ³ (μ μΈ) μ€μ νμν λ²νΌλ§ μλ‘ μΆκ°ν΄ μμ νλ κ²½μ°κ° λ§λ€. μ 곡λλ Standard λ²νΌμΌλ‘ λ°μ΄ν°λ₯Ό κ°λ¨ν μ μ΄(μ λ ₯/μμ /μμ )νκΈ°μ νΈν μ μμ§λ§, λ³΄ν΅ νμ μ μΆκ°μ μΌλ‘ μ λ ₯ν λ°μ΄ν°μ μ ν¨μ± μ κ²μ΄λ λ€λ₯Έ νλμλ κ°μ΄ μλμΌλ‘ μ±μμ§λλ‘ νλ κΈ°λ₯λ€μ΄ ν¨κ» ꡬνλκΈ°λ₯Ό μνκ³ , μ΄λ Standard λ²νΌμΌλ‘ 컀λ²νκΈ°μ νλ λΆλΆμ΄ μκΈ° λλ¬Έμ΄λ€. λν ALV νμ μΆκ° λ° μμ λ νμμΌλ‘ Database TABLEμ μ μ₯ λ° μμ λ‘ μ΄μ΄μ§λ―λ‘, μ μ½μ¬ν μμ΄ μ¬μ© κ°λ₯ν Standard λ²νΌλ³΄λ€λ λ³λ μΆκ°/μμ λ²νΌμ λ§λ€μ΄ νμ΄νΈνκ² κ΄λ¦¬νκ³ μ μ΄νλ κ²μ΄ μΌλ°μ μ΄λ€.
2. ALV Cell Edit λͺ¨λ νμ±ν
- ALV μ 체 Edit λͺ¨λ νμ±ν μ LAYOUTμ EDIT νλ 'X' μ μ©
- ALV Column λ λ²¨λ‘ Edit λͺ¨λ νμ±ν μ FIELDCATALOGμ EDIT νλ 'X' μ μ©
λ°μ΄ν° μ κ· μΆκ°λ³΄λ€λ κΈ°μ‘΄ λ°μ΄ν° μμ μ΄ λ§μ μ 체보λ€λ Column λλ Cell λ λ²¨λ‘ Edit λͺ¨λλ₯Ό νμ±ννλ νΈμ΄λ€. μ κ· λΌμΈ μΆκ° μμλ μμμ μΈκΈν κ²κ³Ό κ°μ΄ λ°μ΄ν° μ λ ₯ μ΅μν λ° μλνλ‘ μ 체 Cellμ Edit λͺ¨λλ‘λ μ¬μ©νμ§ μλ νΈμ΄λ€.
Method "SET_READY_FOR_INPUT"λ₯Ό ν΅ν΄ EDIT Cellμ input νμ±ν( 1 )/ input λΉνμ±ν( 0 ) μ μ΄κ° κ°λ₯νλ€.
μΆκ°λ‘ STYLE νλ( Type LVC_T_STYL )λ₯Ό μ¬μ©νμ¬ Cell κ°λ³λ‘λ Edit λͺ¨λλ₯Ό ON/OFF μ μ΄κ° κ°λ₯νλ€.
STYLE νλμ λν΄μλ νμ ν¬μ€νΈμ μ μ΄λμμΌλ μ°Έκ³ νλλ‘ νμ.
[ABAP Working Lv./ALV] - |ALV| κ°λ³ Cell μ μ΄ ( feat. STYLE νλ )
|ALV| κ°λ³ Cell μ μ΄ ( feat. STYLE νλ )
STYLE νλλ ALVμμ Cell κ°λ³λ‘ ν¨κ³Όλ₯Ό μ£ΌκΈ° μν΄ μ¬μ©νλ νλ μ€ νλμ΄λ€. Strucutre Typeμ "LVC_S_STYLE", Table TypeμΌλ‘λ "LVC_T_STYLE" λ₯Ό μ¬μ©νλ€. ꡬν λ°©λ²μ λ€μκ³Ό κ°λ€. ALV output μΈν°λ ν μ΄λΈμ
twossun.tistory.com
3. λ³κ²½ λ°μ΄ν°λ₯Ό ALV μΈν°λ ν μ΄λΈμ λ°μ
ALV Edit λͺ¨λμμ λ°μ΄ν° λ³κ²½ μ λ°λ‘ μΈν°λ ν μ΄λΈμ λ°μλμ§ μλλ€. μλ₯Ό λ€μ΄ ALV νλ©΄μ μ΄λ Cell κ°μ 'A'λ₯Ό 'B'λ‘ λ°κΎΈμ΄λ μΈν°λ ν μ΄λΈμμλ μ¬μ ν 'A' κ°μ κ°μ§κ³ μλλ€. λ€μ λ§ν΄ νλ©΄μ 보μ΄λ ALV νλ©΄ λ°μ΄ν°( Presentation Level )μ ALV μΈν°λ ν μ΄λΈ λ°μ΄ν°( Application Level )λ λΆλ¦¬λ μμμ΄λ©°, λκΈ°ννλ μμ μ΄ νμνλ€. κ·Έ μμ μ λ€μκ³Ό κ°μ Methodλ₯Ό νμ©ν΄ λ³Ό μ μλ€.
νμ¬κΉμ§ λ³κ²½λ λ°μ΄ν°λ₯Ό μΈν°λ ν μ΄λΈμ λ°μνλ €λ©΄ Method "CHECK_CHANGED_DATA"λ₯Ό μ¬μ©νλ€.
λ°μ΄ν° λ³κ²½μλ§λ€ λ°λ‘ μΈν°λ ν μ΄λΈμ λ°μνκ² νλ €λ©΄ Method "REGISTER_EDIT_EVENT" μ¬μ©νλ€.
ν΄λΉ Methodλ ALV ꡬν μ ν λ²λ§ νΈμΆ(λ±λ‘)νλ©΄ λλ Methodλ‘ Exporting Parameter "i_event_id"μ κ°μ λ°λΌ ν΄λΉ μμ μ λ³κ²½ κ°μ΄ ALV output μΈν°λ ν μ΄λΈμ λ°μλλ€. λ¬Όλ‘ λ³κ²½ κ°μ λ°μ΄ν° νμ μ²΄ν¬ κ°μ κΈ°λ³Έμ μΈ Standard μ ν¨μ± μ κ²μ λ¬Έμ κ° μμ μμλ§ λ°μμ΄ λλ€.
Exporting Parameter "i_event_id" | Trigger μμ |
CL_GUI_ALV_GRID=>MC_EVT_ENTER | Cell μ "Enter Key" λ₯Ό μ³€μ λ |
CL_GUI_ALV_GRID=>MC_MVT_MODIFIED | Cell λ³κ²½ ν Cell(컀μ)μ μ΄λνμ λ |
Event "DATA_CHANGED"κ° νμ±νλμ΄ μλ€λ©΄ λκΈ°ν μμ , μ¦ λ³κ²½ κ°μ΄ ALV output μΈν°λ ν μ΄λΈμ λ°μλκΈ° μ μμ μ μνλλ€.
Edit modeμ ALV Toolbarμ μΆκ°λμ΄ λ³΄μ΄λ Standard μμ λ²νΌλ€μ μΆκ° λ‘μ§ κ΅¬νμ λ²κ±°λ‘μμ΄ μμ΄ ν΄λΉ λ²νΌλ€μ μ¨κΈ°κ³ νμν λ²νΌλ§ λ³λ ꡬννλ€κ³ μμμ μ κΉ μΈκΈνμλ€. μ¬κΈ°μ μ μν μ μ ν΄λΉ Standard λ²νΌμ Toolbarμμ μ¨κΈ°μ΄λ μ€μ "Ctrl+C", "Ctrl+V", "Delete" λ± λ¨μΆν€λ₯Ό μ΄μ©νλ©΄ μ¬μ ν μλνλ€λ κ²μ΄λ€. κ·Έλ κ² λλ©΄ λΌμΈ μ μ΄( νμ μΆκ°μ μμ )μ μμ΄ μΆκ°λ‘ 체ν¬ν΄μΌ ν λΆλΆμ΄ λ§μμ Έ λ‘μ§ κ΅¬νμ λ²κ±°λ‘μμ΄ μλ€. μ΄λ, LAYOUTμ "NO_ROWINS"νλμ 'X' κ°μ μ£Όλ©΄, μ μ΄μ Standard λΌμΈ μ μ΄ κΈ°λ₯μ λ§μμΌλ‘μ¨ μΆκ°λ‘ μ ν¨μ± μ²΄ν¬ λ‘μ§μ λ£μ΄μΌ νλ λ²κ±°λ‘μμ μ€μΌ μ μλ€.
'ABAP Implimentation (π οΈμ€λ¬΄) > ALV' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
|ALV| Column Optimize ( After ALV Refresh ) (1) | 2023.11.01 |
---|---|
|ALV| Event DATA_CHANGEDμ DATA_CHANGED_FINISHED μ°¨μ΄ (3) | 2022.08.09 |
|ALV| Toolbar Button μ μ΄ (Feat. TOOLBAR Event) (0) | 2022.07.19 |
|ALV| κ°λ³ Cell μ μ΄ ( feat. STYLE νλ ) (1) | 2022.07.14 |
| ALV | GET_SELECTED_ROWS μ ν λΌμΈ μΆμΆ (Feat. (Sub)Total λΌμΈ) (2) | 2022.06.28 |