#!/usr/bin/ksh
# whatsqlid ()
#----------------------------------------------------------------------#
#    Module Name:  whatsqlid  (c)  Copyright                           #
#                                                                      #
#    Purpose:      Report on the v$SQL Sessions from SQL-History       #
#                                                                      #
#    Maintenance                                                       #
#    Date          Author        Description                           #
#    -----------   ------------  ------------------------------------- #
#    10-May-2012   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
}