Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

help me out.

Former Member
0 Likes
560

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.

3 REPLIES 3
Read only

Former Member
0 Likes
538

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.

Read only

Former Member
0 Likes
538

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

Read only

Former Member
0 Likes
538

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