#!/usr/bin/ksh
# whatsqlid ()
#-----------------------------------------------------------------------------#
#    Module Name:  whatsqlid                                                  #
#                                                                             #
#    Purpose:      Report on the v$SQL Sessions.                              #
#                                                                             #
#    Maintenance                                                              #
#    Date          Author        Description                                  #
#    -----------   ------------  -------------------------------------------- #
#    05-Jan-2008   G.Mathis      Module design/creation                       #
#                  C.Polk        Module design/creation                       #
#                  N.Miller      Module design/creation                       #
#                  D.Floy        Module design/creation                       #
#                  A.Gharia      Module design/creation                       #
#                  M.Barone      Module design/creation                       #
#-----------------------------------------------------------------------------#
{
        DIRNAM=$(dirname $0)
        ORASID=$(echo $CONTEXT_NAME | cut -f1 -d'_')
        HNAME=$(uname -n)

        clear
        #---------------------------------------------------------------------#
        #  TEST:  Number ($#) of arguments passed to this function?           #
        #---------------------------------------------------------------------#
        if      [ $# = 0 ]
        then
            clear
            echo
            echo  " #--------------------------------------------------------#"
            echo  " # whatsqlid:            Oracle Apps SQLText Area SQL-ID  #"
            echo  " #--------------------------------------------------------#"
            echo

            read SEARCH?" Please Enter Search-SQL-Text-Statement: "

            echo  " Connecting as SYSDBA"
            sleep 2

            clear
        else
            SEARCH=$1
            clear
        fi

        ORANAM=${ORASID}

#-----------------------------------------------------------------------------#
#  SQL*Plus ("Here-Document")                                                 #
#-----------------------------------------------------------------------------#
sqlplus  -s  /nolog  <<-END_FILE

        CONNECT  /  as  SYSDBA

        clear   BREAKS
        clear   BUFFER
        clear   COLUMNS
        clear   COMPUTES
        clear   SCREEN
        clear   SQL
        clear   TIMING

        set     feedback        off
        set     flush           on
        set     heading         on
        set     pause           off
        set     space           1
        set     termout         on
        set     verify          on
        set     linesize        80
        set     pagesize        999

        SPOOL /tmp/whatsqlid_$$.txt

        COLUMN  datevalue       NOPRINT NEW_VALUE       DATEVAR
        COLUMN  timevalue       NOPRINT NEW_VALUE       TIMEVAR

        COLUMN  sdate   FORMAT A10      HEADING 'LastActive|Date Time'
        COLUMN  sidno   FORMAT A14      HEADING 'SQL Hash-ID'

        TTITLE  CENTER  '${ORANAM} (${HNAME}) SQLText SQLID'      -
                LEFT    DATEVAR                                     skip 1  -
                LEFT    TIMEVAR                                     skip 2

       SELECT   TO_CHAR(sysdate, 'DD-MON-YY')    datevalue,
                TO_CHAR(sysdate, 'HH24:MI:SS')  timevalue,
                TO_CHAR(last_active_time, 'DD-MON-YY HH24:MI:SS') sdate,
                sql_id                                          sidno
         FROM   v\$sql
        WHERE   sql_text LIKE '%${SEARCH}%'
        ORDER BY sdate;

EXIT;

END_FILE
print
print "Please see /tmp/whatsqlid_$$.txt"
print
}
