2008 May 05 7:18 AM
Hi Experts,
I have a requirement in a report. in selection screen two select options like payment document number(payr-vblnr) and check number(payr-chect). i am giving the selection screen for example:
payment doc num range 1 to 10 . and also giving check number range suppose 55 to 65 .. i want to update the table like payment doc num for 1 and check number 55 ,, 2 for 56... like
can anybody suggest..
Regards,
Mahendar.
2008 May 05 8:06 AM
Hi Mahender,
Please try like below.
REPORT ztestfile.
TABLES : mara.
DATA : BEGIN OF itab OCCURS 0,
matnr TYPE matnr,
mtart TYPE mtart,
END OF itab.
DATA : gw_lines TYPE sy-index,
gw_count TYPE sy-index.
SELECT-OPTIONS : s_matnr FOR mara-matnr,
s_mtart FOR mara-mtart.
AT SELECTION-SCREEN OUTPUT.
LOOP AT s_matnr.
gw_lines = ( s_matnr-high - s_matnr-low ) + 1.
gw_count = 0.
READ TABLE s_mtart INDEX sy-tabix.
DO gw_lines TIMES.
itab-matnr = s_matnr-low + gw_count.
itab-mtart = s_mtart-low + gw_count.
APPEND itab.
CLEAR itab.
gw_count = sy-index.
ENDDO.
ENDLOOP.
Hope this will fulfill ur requirement.
Hi Mahender,
Please try like below.
REPORT ztestfile.
TABLES : mara.
DATA : BEGIN OF itab OCCURS 0,
matnr TYPE matnr,
mtart TYPE mtart,
END OF itab.
DATA : gw_lines TYPE sy-index,
gw_count TYPE sy-index.
SELECT-OPTIONS : s_matnr FOR mara-matnr,
s_mtart FOR mara-mtart.
AT SELECTION-SCREEN OUTPUT.
LOOP AT s_matnr.
gw_lines = ( s_matnr-high - s_matnr-low ) + 1.
gw_count = 0.
READ TABLE s_mtart INDEX sy-tabix.
DO gw_lines TIMES.
itab-matnr = s_matnr-low + gw_count.
itab-mtart = s_mtart-low + gw_count.
APPEND itab.
CLEAR itab.
gw_count = sy-index.
ENDDO.
ENDLOOP.
Hope this will fulfill ur requirement.
2008 May 05 7:22 AM
You have to do the validetion in AT SELECTION-SCREEN OUTPUT event.
REPORT ztest.
tables: payr.
select-options : s_vblnr for payr-vblnr.
select-options : p_chect for payr-chect.
AT SELECTION-SCREEN OUTPUT.
IF s_vblnr[] not initial.
loop at s_vblnr.
s_chect-sign = s_vblnr-sign.
s_chect-option = s_vblnr-option.
s_chect-high = s_vblnr-high + 54.
s_chect-low = s_vblnr-low + 54.
append s_chect.
clear: s_vblnr, s_chect.
endloop.
endif.
So when you enter the value of s_vblnr in selection screen and press enter. the value of s_chect will be autometically updated to your required value.
2008 May 05 7:28 AM
Loop at 1 variable and loop at second variable,after updating in table delete that entry from the two internal table.
2008 May 05 7:34 AM
Hi Mahender(Pune),
Do like this...
Loop at it_doc_range.
read table it_check_number index sy-tabix.
if sy-subrc = 0.
ztable-doc_range_number = it_doc_range-number"here your 1 will come
ztable-doc_cheque_number = it_cheque_number-cheque_number"here tour 55 will come
Modify Ztable.
endif.
endloop.
Regards,
Kishore Reddy
may be u remember me...
2008 May 05 8:06 AM
Hi Mahender,
Please try like below.
REPORT ztestfile.
TABLES : mara.
DATA : BEGIN OF itab OCCURS 0,
matnr TYPE matnr,
mtart TYPE mtart,
END OF itab.
DATA : gw_lines TYPE sy-index,
gw_count TYPE sy-index.
SELECT-OPTIONS : s_matnr FOR mara-matnr,
s_mtart FOR mara-mtart.
AT SELECTION-SCREEN OUTPUT.
LOOP AT s_matnr.
gw_lines = ( s_matnr-high - s_matnr-low ) + 1.
gw_count = 0.
READ TABLE s_mtart INDEX sy-tabix.
DO gw_lines TIMES.
itab-matnr = s_matnr-low + gw_count.
itab-mtart = s_mtart-low + gw_count.
APPEND itab.
CLEAR itab.
gw_count = sy-index.
ENDDO.
ENDLOOP.
Hope this will fulfill ur requirement.
2008 May 05 12:57 PM
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |