Such a beautifull video ❤ explained veru clearly..i have tried this with marc table by taking matnr,werks,mmsta but f4 help drop down is not coming for mmsta field..can you please explain
Good video. But I am now confused as to which method I should be using for ALV report development. ALV using FM or Class. I opted to learn ALV through class as I thought SAP recommends class method instead of FM. Could you please make a same video using ALV OOPs?
To display data in an ALV I always use the SALV_TABLE Class. This case or video is special because we edit some data in the ALV. With the SALV Table is this not possible. That is the difference. Hope that helps. 🤗😀
A normal maintenance view is not an option? There you have this functionality. On the other hand you can set the function of editing for every column in the field catalog. 🤗
Would this work for salv_alv? To catch event of clicking on a custom added button and make cells editable to be able to edit and save to the database table. Sorry if it's a stupid question.
As far as I know this is not possible with a SALV table. I have found some code on github (extended SALV) but I have never tested this. And hey there are no stupid questions! 🤗😀
@@CustAndCode Thanks for the reply. I also know that it is not possible to do what I wanted with the salv. This is what I get for not wanting to use the REUSE haha. By the way, you are helping a lot of people with these videos. Keep on doing so and thank you.
I do this because If I add a column in the middle of the fieldcat I have to change all column positions. With this I have nothing to do because the varaible will aleways be increased by 1. 🤗
@@CustAndCode modify to update spfli database, I know this statement. But at the same time, it also updates(save) for ALV table (it_spfli). I don't know why it's made like that
@@CustAndCode Thank you for your valuable reply but is use of it.. also I want insert record in my user defined table from alv report.which one your video is should I prefer.. please help me Sir..
The GUI Status is nothing special. I use it always like in this video. I copy a GUI Status from another program to my program and I add or change the button I need. Do you have any special needs? 🤗
Hey man great tutorial, however I have a few questions - what's the use of wa_header_tmp and it_changes? The append to it_changes and move corresponding to wa_tmp seemed redundant and made the code unnecessarily complicated. I excluded those and still the program worked as intended. Here's the simplified code if anyone is interested. FORM F_SAVE_DATA. DATA: WA_HEADERCP TYPE zpm_t_marksheeth. LOOP AT IT_HEADER INTO WA_HEADER. READ TABLE IT_HEADERCP INTO WA_HEADERCP INDEX SY-TABIX. IF WA_HEADERCP NE WA_HEADER. MODIFY zpm_t_marksheeth FROM WA_HEADER. ENDIF. CLEAR WA_HEADERCP. ENDLOOP.
Hi, thanks for your feedback! 1: The internal table it_changes is only for better understanding. In the debugger you can see here which entries were changed. 2: The wa_spfli_tmp can be used to add here the information of user and date. So you know which user has changed the record last. Unfortunately, I did not show this in the example. If you only want to change entries and it doesn't matter who did it then you can also use your code. 🤗 Thanks!
@@CustAndCode Thanks for the explanation, makes sense. I'm new to SAP, just one month in so just needed to implement the database value changing part. Thanks again for the wonderful guide!
As always a great and simple to follow video. Thanks !
Thank you very much for your feedback! 🤗😀
Thank you so much for this video!! It was really helpfull
I'm glad you liked it. And thank you for watching! 🤗
THANK YOU SO MUCH !! it's been very helpful to me
Great to hear! 🤗 you are welcome! 😀
Great to hear! 🤗 you are welcome! 😀
Congrats!!! Great Video!
Thank you! 🤗
great explination bro....❤
Thank you very much! 🤗🤩
Muchas Gracias!!!!! me fue de mucha utilidad, saludos desde México.
Me alegra oírlo. Siempre me sorprende el alcance de mis vídeos. 😀🤗
Excellent video. Could you do the video using the method cl_gui_alv_grid?
Thank you! Currently I have a few other videos I want to make. But I will have a look at it in the future. 🤗
Sincere thanks for this video.
Thank you very much for the comment and the nice feedback! 🤗😀
Thanx its detailed 👌
Thanks for your feedback! 🤗
Amazing! Thanks!
Thank you! 🤗😀
Thank you, thank you so much.
You're very welcome! 🤗😀
Thank you for the video!!!❤
I have some question, how can I display the Table-Field menu in 05:07?
Thank you! 🤗 Press Ctrl + Space 👋
Such a beautifull video ❤ explained veru clearly..i have tried this with marc table by taking matnr,werks,mmsta but f4 help drop down is not coming for mmsta field..can you please explain
I'm glad you liked it. And thank you for watching! 🤗 Other F4 help is working?
it was amazyn
Awesome to hear. And thank you for watching! 🤗
Many thanks, you've got a new subscriber :D
Thank you very much! I am glad! 😀
Good video. But I am now confused as to which method I should be using for ALV report development. ALV using FM or Class. I opted to learn ALV through class as I thought SAP recommends class method instead of FM. Could you please make a same video using ALV OOPs?
To display data in an ALV I always use the SALV_TABLE Class. This case or video is special because we edit some data in the ALV. With the SALV Table is this not possible. That is the difference. Hope that helps. 🤗😀
Even if you edit values in the ALV, I recommend you use the cl_gui_alv_grid class instead of the FM.
@@ITheOfficialChrisI Thanks for your input. I will check it asap. 🤗
hello, I'd like to know how to leave editing locked by default, and only enable it if I click a button
A normal maintenance view is not an option? There you have this functionality. On the other hand you can set the function of editing for every column in the field catalog. 🤗
Thank you ver much ❤️
Thank you for your feedback! 🤗
Thank you 💗 bro😍
Thanks for your feedback! 😀
Please upload the code also and give the code link it is very useful for us bro
Here you are: 🤗
REPORT z_alv_edit_save.
"declaration
DATA: it_spfli TYPE TABLE OF spfli,
wa_spfli TYPE spfli.
DATA: it_spflicp TYPE STANDARD TABLE OF spfli,
it_changes TYPE STANDARD TABLE OF spfli.
DATA: wa_fieldcat TYPE slis_fieldcat_alv,
it_fieldcat TYPE slis_t_fieldcat_alv,
ls_layout TYPE slis_layout_alv.
PERFORM get_data.
"make fieldcat
DATA: lv_index TYPE int1.
lv_index = 0.
wa_fieldcat-fieldname = 'CARRID'.
wa_fieldcat-seltext_m = 'CarrId'.
wa_fieldcat-col_pos = lv_index + 1.
wa_fieldcat-outputlen = 10.
wa_fieldcat-key = 'X'.
wa_fieldcat-just = 'L'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'CONNID'.
wa_fieldcat-seltext_m = 'ConnId'.
wa_fieldcat-col_pos = lv_index + 1.
wa_fieldcat-outputlen = 10.
wa_fieldcat-key = 'X'.
wa_fieldcat-just = 'C'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'CITYFROM'.
wa_fieldcat-seltext_m = 'City From'.
wa_fieldcat-col_pos = lv_index + 1.
wa_fieldcat-outputlen = 30.
wa_fieldcat-just = 'L'.
wa_fieldcat-edit = 'X'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'CITYTO'.
wa_fieldcat-seltext_m = 'City To'.
wa_fieldcat-col_pos = lv_index + 1.
wa_fieldcat-outputlen = 30.
wa_fieldcat-just = 'L'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
"show ALV Grid
it_spflicp[] = it_spfli[].
ls_layout-zebra = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
i_callback_pf_status_set = 'PF_STATUS_SET'
i_callback_user_command = 'USER_COMMAND'
is_layout = ls_layout
it_fieldcat = it_fieldcat
TABLES
t_outtab = it_spfli.
"Form GUI Status
FORM pf_status_set USING extab TYPE slis_t_extab.
SET PF-STATUS 'STANDARD'.
ENDFORM.
"Form SAVE Data
FORM f_save_data.
DATA: wa_spflicp TYPE spfli,
wa_spfli_tmp TYPE spfli.
CLEAR it_changes[].
LOOP AT it_spfli INTO wa_spfli.
READ TABLE it_spflicp INTO wa_spflicp INDEX sy-tabix.
IF wa_spflicp NE wa_spfli.
APPEND wa_spfli TO it_changes.
MOVE-CORRESPONDING wa_spfli TO wa_spfli_tmp.
MODIFY spfli FROM wa_spfli_tmp.
ENDIF.
CLEAR wa_spflicp.
ENDLOOP.
ENDFORM.
"form delete data
FORM f_delete_data USING wa_spfli TYPE spfli.
DELETE FROM spfli
WHERE carrid = wa_spfli-carrid
AND connid = wa_spfli-connid.
IF sy-subrc = 0.
MESSAGE 'Record deleted!' TYPE 'S'.
ELSE.
MESSAGE 'There was an error!' TYPE 'E'.
ENDIF.
ENDFORM.
"Form USER_COMMAND
FORM user_command USING p_ucomm TYPE sy-ucomm
p_selfield TYPE slis_selfield.
CASE p_ucomm.
WHEN '&DATA_SAVE'.
PERFORM f_save_data.
WHEN '&DEL'.
READ TABLE it_spfli INTO wa_spfli INDEX p_selfield-tabindex.
PERFORM f_delete_data USING wa_spfli.
PERFORM get_data.
ENDCASE.
p_selfield-refresh = 'X'.
p_selfield-row_stable = 'X'.
p_selfield-col_stable = 'X'.
ENDFORM.
"get data
FORM get_data.
SELECT *
FROM spfli
INTO TABLE it_spfli.
ENDFORM.
Would this work for salv_alv? To catch event of clicking on a custom added button and make cells editable to be able to edit and save to the database table.
Sorry if it's a stupid question.
As far as I know this is not possible with a SALV table. I have found some code on github (extended SALV) but I have never tested this. And hey there are no stupid questions! 🤗😀
@@CustAndCode Thanks for the reply. I also know that it is not possible to do what I wanted with the salv. This is what I get for not wanting to use the REUSE haha.
By the way, you are helping a lot of people with these videos. Keep on doing so and thank you.
@@TheSAPGarden Thank you very much for the kind feedback. I also hope that the videos will help many people. 🤗😃
Why this select row from report option not coming for me in report unlike yours ?
Have you set the Layout? Which release do you use? 🤔
Good morning. I have a problem why does "col_pos = lv_index + 1" match with every column increase for every fieldcat? Thanks!
Please help me explain this trick. Thanks!
I do this because If I add a column in the middle of the fieldcat I have to change all column positions. With this I have nothing to do because the varaible will aleways be increased by 1. 🤗
@@inhchienthi4430 I already did, it is just a counter variable for the colmun postion. Instead of using 1, 2, 3, 4, 5, .... 😀
@@CustAndCode modify to update spfli database, I know this statement. But at the same time, it also updates(save) for ALV table (it_spfli). I don't know why it's made like that
@@CustAndCode This problem, according to my way of thinking, is not increasing by 1,2,3... but remains the same 1,1,1...
hello sir can you please tell me what is used of ls_layout and wa_filedcat-key='X'...please tell me..
These are my key fields, carrid, connid like in the table itself. 🤗
@@CustAndCode Thank you for your valuable reply but is use of it.. also I want insert record in my user defined table from alv report.which one your video is should I prefer.. please help me Sir..
Have a look at this video: ua-cam.com/video/mFkPlN-6Uhk/v-deo.html 🤗
@@CustAndCode sorry for typing mistake sir.. I would like to say that ls_layout =x why is required and key=x what is used of it .. please let me know
@@CustAndCode thank you so much Sir
how do you display error messages in alv ( wxception log)
I haven't implemented a exception log yet, not for an ALV. 🤔
Could you please make a video about GUI Status?
The GUI Status is nothing special. I use it always like in this video. I copy a GUI Status from another program to my program and I add or change the button I need. Do you have any special needs? 🤗
@@CustAndCode oh I see, no I don't need anything special, if you manage just with this I should be fine as well, thank you!
@@gpsyking good to hear! 🤗
how to write this code into oops alv
Is on my todo list 😬
Why did you used it_changes?
In this internal table are the changes of the ALV Grid stored. 🤗
Hey man great tutorial, however I have a few questions - what's the use of wa_header_tmp and it_changes? The append to it_changes and move corresponding to wa_tmp seemed redundant and made the code unnecessarily complicated. I excluded those and still the program worked as intended. Here's the simplified code if anyone is interested.
FORM F_SAVE_DATA.
DATA: WA_HEADERCP TYPE zpm_t_marksheeth.
LOOP AT IT_HEADER INTO WA_HEADER.
READ TABLE IT_HEADERCP INTO WA_HEADERCP INDEX SY-TABIX.
IF WA_HEADERCP NE WA_HEADER.
MODIFY zpm_t_marksheeth FROM WA_HEADER.
ENDIF.
CLEAR WA_HEADERCP.
ENDLOOP.
Hi, thanks for your feedback!
1: The internal table it_changes is only for better understanding. In the debugger you can see here which entries were changed.
2: The wa_spfli_tmp can be used to add here the information of user and date. So you know which user has changed the record last.
Unfortunately, I did not show this in the example.
If you only want to change entries and it doesn't matter who did it then you can also use your code. 🤗 Thanks!
@@CustAndCode Thanks for the explanation, makes sense. I'm new to SAP, just one month in so just needed to implement the database value changing part. Thanks again for the wonderful guide!
@@pratyushm5337 Glad to hear that! Thanks and have fun with your future work! 😀