01-05-2008 3:59 PM
Hi,
Is it possible to define a subroutine.function and use it in the SQL where clause in ABAP??
If so, any reference code??
Regards,
Kit
01-05-2008 7:53 PM
Hi Kit,
It is not possible to define a subroutine.function and use it in the SQL where clause in ABAP.
But you can use dynamic where clause. Try F1 on select.
Example
Display of flight connections after input of airline and flight number:
PARAMETERS: carr_id TYPE spfli-carrid,
conn_id TYPE spfli-connid.
DATA: where_clause TYPE STRING,
and(4),
wa_spfli TYPE spfli.
IF carr_id IS NOT INITIAL.
CONCATENATE 'CARRID = ''' carr_id '''' INTO where_clause.
and = ' AND'.
ENDIF.
IF conn_id IS NOT INITIAL.
CONCATENATE where_clause and ' CONNID = ''' conn_id ''''
INTO where_clause.
ENDIF.
SELECT * FROM spfli INTO wa_spfli WHERE (where_clause).
WRITE: / wa_spfli-carrid, wa_spfli-connid, wa_spfli-cityfrom,
wa_spfli-cityto, wa_spfli-deptime.
ENDSELECT.
Regards,
Clemens
01-05-2008 4:03 PM
01-05-2008 7:53 PM
Hi Kit,
It is not possible to define a subroutine.function and use it in the SQL where clause in ABAP.
But you can use dynamic where clause. Try F1 on select.
Example
Display of flight connections after input of airline and flight number:
PARAMETERS: carr_id TYPE spfli-carrid,
conn_id TYPE spfli-connid.
DATA: where_clause TYPE STRING,
and(4),
wa_spfli TYPE spfli.
IF carr_id IS NOT INITIAL.
CONCATENATE 'CARRID = ''' carr_id '''' INTO where_clause.
and = ' AND'.
ENDIF.
IF conn_id IS NOT INITIAL.
CONCATENATE where_clause and ' CONNID = ''' conn_id ''''
INTO where_clause.
ENDIF.
SELECT * FROM spfli INTO wa_spfli WHERE (where_clause).
WRITE: / wa_spfli-carrid, wa_spfli-connid, wa_spfli-cityfrom,
wa_spfli-cityto, wa_spfli-deptime.
ENDSELECT.
Regards,
Clemens
01-06-2008 9:44 AM
01-06-2008 10:23 AM
Hi all,
How about define a function in database lavel and execute it in ABAP??
Regards,
Kit