2008 Mar 12 4:05 PM
is it possible to pass select-option from main program value to a subroutine. my code is-
in top (top include global decleration)
data : pmatnr type matnr.
in main program.
SELECT-OPTIONS : s_matnr FOR matnr .
PERFORM valid_material
USING s_matnr
s_matkl
s_mtart.
in form include.
FORM valid_material USING p_s_matnr
p_s_matkl
p_s_mtart.
DATA : BEGIN OF l_mara,
matnr TYPE matnr,
matkl TYPE matkl,
mtart TYPE mtart,
END OF l_mara,
l_it_mara LIKE STANDARD TABLE OF l_mara.
SELECT
matnr
matkl
mtart
FROM mara
INTO TABLE l_it_mara
WHERE matnr IN s_matnr
AND matkl = p_s_matkl
AND mtart = p_s_mtart.
IF sy-subrc <> 0 .
MESSAGE e007.
ENDIF.
ENDFORM.
is it possible to pass select-option from main program value to a subroutine. my code is-
in top (top include global decleration)
data : pmatnr type matnr.
in main program.
SELECT-OPTIONS : s_matnr FOR matnr .
PERFORM valid_material
USING s_matnr
s_matkl
s_mtart.
in form include.
FORM valid_material USING p_s_matnr
p_s_matkl
p_s_mtart.
DATA : BEGIN OF l_mara,
matnr TYPE matnr,
matkl TYPE matkl,
mtart TYPE mtart,
END OF l_mara,
l_it_mara LIKE STANDARD TABLE OF l_mara.
SELECT
matnr
matkl
mtart
FROM mara
INTO TABLE l_it_mara
WHERE matnr IN s_matnr
AND matkl = p_s_matkl
AND mtart = p_s_mtart.
IF sy-subrc <> 0 .
MESSAGE e007.
ENDIF.
ENDFORM.
2008 Mar 12 4:10 PM
HI,
Yes, you can do.
Please refer sample code :
Main Program
PERFORM f_connect_to_rmdb USING sp_conn
gs_ods_admin_fields-rqst_id.
Include program
FORM f_connect_to_rmdb USING iv_conn LIKE dbcon-con_name
iv_alias TYPE
gs_type_ods_admin_fields-rqst_id
Thanks,
Sriram Ponna.
2008 Mar 12 4:11 PM
Hello Prakash,
Since the ranges are declared in main program so no need to pass them as parameters for the subroutine.
Directly you can access them in the routine.
Cheers,
Vasanth
2008 Mar 12 4:12 PM
prakash jha
Select-options are ranges which are tables.
REPORT yptc_goof3 .
TABLES: zlmlead.
DATA:
BEGIN OF rec,
fld1 TYPE c,
fld2(2) TYPE c,
fld_low LIKE zlmlead-leadid,
fld_high LIKE zlmlead-leadid,
END OF rec.
SELECT-OPTIONS: lead FOR zlmlead-leadid.
START-OF-SELECTION.
PERFORM check_range TABLES lead.
*&---------------------------------------------------------------------*
*& Form check_range
*&---------------------------------------------------------------------*
FORM check_range TABLES p_lead STRUCTURE rec.
LOOP AT p_lead INTO rec.
WRITE:/ rec.
ENDLOOP.
ENDFORM. " check_range
| User | Count |
|---|---|
| 4 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |