#!/usr/bin/ksh
#--------------------------------------------------------------------
#
# Program: R3confstat
#
# Functionality: Check existing SAP configuration on Managed Node
#
# Hewlett-Packard GmbH
# PSO-LPO
# March '97
#--------------------------------------------------------------------

bold=`tput smso`
plain=`tput rmso`
HARDWARE=`uname -s`
SAPDIR=/usr/sap

logoMsg()
{
  clear
  echo "___________________________________________________________________"
  echo "          HP OpenView SMART Plug-In for SAP R/3                    "
  echo "___________________________________________________________________"
  echo ""
}


SAPprocessbyR3()
{

  for SAPNAMEDIR in `ls -d $SAPDIR/[ABCDEFGHIJKLMNOPQRSTUVWXYZ]??`
  do
    bSAPNAMEDIR=`basename $SAPNAMEDIR`
    STRINGLENGTH=`ls -d ${SAPNAMEDIR}/[DVEBMGS!Y]* 2>/dev/null | \
                   wc -l `
    if [  $STRINGLENGTH != "0" ]
    then
    {
      for SAPINSTANCE in `ls -d ${SAPNAMEDIR}/[DVEBMGS][!Y]*`
      do
        echo "        "$bold"SAP hostname     $plain = `hostname`"
        echo "        "$bold"SAP system name  $plain = `basename $SAPNAMEDIR`"
        echo "        "$bold"SAP instance     $plain = `basename $SAPINSTANCE`"
	echo ""

        bSAPINSTANCE=`basename $SAPINSTANCE`
	
	if [ "$HARDWARE" = "OSF1" ]
	then
            num=`ps -e | grep "ms\.sap${bSAPNAMEDIR}_${bSAPINSTANCE}" |grep -v grep| wc -l`
	else
	    num=`ps -ef | grep "ms\.sap${bSAPNAMEDIR}_${bSAPINSTANCE}" |grep -v grep | wc -l`
	fi
        echo "        "$bold"MESSAGE SERVER               (ms.sap) $plain = $num running"
	if [ "$HARDWARE" = "OSF1" ]
	then
            num=`ps -e | grep "dw\.sap${bSAPNAMEDIR}_${bSAPINSTANCE}" |grep -v grep| wc -l`
	else
	    num=`ps -ef | grep "dw\.sap${bSAPNAMEDIR}_${bSAPINSTANCE}" |grep -v grep | wc -l`
	fi
        echo "        "$bold"APPLICATION SERVER           (dw.sap) $plain = $num running"
	if [ "$HARDWARE" = "OSF1" ]
	then
            num=`ps -e | grep "co\.sap${bSAPNAMEDIR}_${bSAPINSTANCE}" |grep -v grep| wc -l`
	else
	     num=`ps -ef | grep "co\.sap${bSAPNAMEDIR}_${bSAPINSTANCE}" |grep -v grep | wc -l`
	fi
        echo "        "$bold"CENTRAL SYSLOG COLLECTOR     (co.sap) $plain = $num running"
	if [ "$HARDWARE" = "OSF1" ]
	then
            num=`ps -e | grep "se\.sap${bSAPNAMEDIR}_${bSAPINSTANCE}" |grep -v grep| wc -l`
	else
	    num=`ps -ef | grep "se\.sap${bSAPNAMEDIR}_${bSAPINSTANCE}" |grep -v grep | wc -l`
	fi
        echo "        "$bold"SYSLOG SEND PROCESS          (se.sap) $plain = $num running"
	if [ "$HARDWARE" = "OSF1" ]
	then
            num=`ps -e | grep "gw\.sap${bSAPNAMEDIR}_${bSAPINSTANCE}" |grep -v grep| wc -l`
	else
	    num=`ps -ef | grep "gw\.sap${bSAPNAMEDIR}_${bSAPINSTANCE}" |grep -v grep | wc -l`
	fi
        echo "        "$bold"GATEWAY SERVER               (gw.sap) $plain = $num running"
	if [ "$HARDWARE" = "OSF1" ]
	then
	    num=`ps -e | grep "gwrd" | grep -v grep| wc -l`
	else
	    num=`ps -ef | grep "gwrd" | grep  "${bSAPNAMEDIR}_${bSAPINSTANCE}" | grep -v grep| wc -l`
	fi
	echo "        "$bold"GATEWAY PROCESS                (gwrd) $plain = $num running"
	if [ "$HARDWARE" = "OSF1" ]
	then
	    num=`ps -e | grep "gwwp" |grep "${bSAPNAMEDIR}_${bSAPINSTANCE}" | grep -v grep| wc -l`
	else
	    num=`ps -ef | grep "gwwp" |grep "${bSAPNAMEDIR}_${bSAPINSTANCE}" | grep -v grep| wc -l`
	fi
	echo "        "$bold"GATEWAY PROCESS                (gwwp) $plain = $num running"
	if [ "$HARDWARE" = "OSF1" ]
	then
            num=`ps -e | grep "saposcol" |grep "$bSAPNAMEDIR"|grep -v grep| wc -l`
	else
	   num=`ps -ef | grep "saposcol" |grep "$bSAPNAMEDIR"|grep -v grep| wc -l` 
        fi
        echo "        "$bold"OPERATING SYSTEM COLLECTOR (saposcol) $plain = $num running"
	if [ "$HARDWARE" = "OSF1" ]
	then
            num=`ps -e | grep "saptemu" |grep -v grep| wc -l`
	else
	    num=`ps -ef | grep "saptemu" |grep -v grep| wc -l`
	fi
        echo "        "$bold"FRONT-END PROCESS           (saptemu) $plain = $num running"
	if [ "$HARDWARE" = "OSF1" ]
	then
            num=`ps -e | grep "sapgui" |grep -v grep| wc -l`
	else
	    num=`ps -ef | grep "sapgui" |grep -v grep| wc -l`
	fi
        echo "        "$bold"FRONT-END PROCESS            (sapgui) $plain = $num running"

	echo ""
        echo "___________________________________________________________________"
        echo "Press return to continue"
        read tmp
      done
    }
    fi
  done
}

logoMsg
SAPprocessbyR3
