Identify running processes using snmp

Hi there,
is there any way to identify running processes name
using snmp and what mib should I use?
if yes, is this mib part of the default snmp provided by sun or should it be installed in addition to the default snmp?
Thanks,
Adi.

You don't need accounts on the systems you are managing. All you would need is the read-only SNMP community string and a good knowledge of SNMP. As an example, my Solaris 10 system..
# snmpwalk -Os -c public -v 1 localhost hrSWRunName
produces a list of processes. Lets pick a couple as the output can be lengthy.
hrSWRunName.550 = STRING: "nmbd"
hrSWRunName.556 = STRING: "sh"
hrSWRunName.581 = STRING: "mysqld"
If the processes change the PID, you will need to look for them assuming they are running all the time.
What you could do is run the above command and grep for your process. Lets say I am interested in mysqld..
bash-3.00# snmpwalk -Os -c public -v 1 localhost hrSWRunName | grep mysqld
hrSWRunName.581 = STRING: "mysqld"
You can see it is in the output and on a side note, look at the number 581.
bash-3.00# ps -ef | grep 581
mysql 581 556 0 17:10:56 ? 0:02 /usr/sfw/sbin/mysqld basedir=/usr/sfw datadir=/var/mysql user=mysql pid
Its the PID of the process.
If you want more info and are willing to give your system a bit of work to do.. (but not really recommended)
bash-3.00# snmpwalk -Os -c public -v 1 localhost | grep ".581"
hrSWRunIndex.581 = INTEGER: 581
hrSWRunName.581 = STRING: "mysqld"
hrSWRunID.581 = OID: zeroDotZero
hrSWRunPath.581 = STRING: "/usr/sfw/sbin/mysqld"
hrSWRunParameters.581 = STRING: "--basedir=/usr/sfw --datadir=/var/mysql --user=mysql --pid"
hrSWRunParameters.812 = STRING: ".581"
hrSWRunType.581 = INTEGER: application(4)
hrSWRunStatus.581 = INTEGER: runnable(2)
hrSWRunPerfCPU.581 = INTEGER: 190
hrSWRunPerfMem.581 = INTEGER: 14172 KBytes
hrSWInstalledIndex.581 = INTEGER: 581
hrSWInstalledName.581 = STRING: "SUNWmddr"
hrSWInstalledID.581 = OID: zeroDotZero
hrSWInstalledType.581 = INTEGER: operatingSystem(2)
hrSWInstalledDate.581 = STRING: 2005-3-19,11:15:30.0,+11:0
Without holding your hand too much, I am sure you can see where I am going.
localhost can be any system running the snmp daemon. All you need is the read only community string.
Cheers
Stephen

Similar Messages

  • Monitor ETL process using SNMP

    Hi,
    I have an ETL process that runs continuously and add lines to a table under Oracle 11g on Linux. I would like to monitor the proper operation of the ETL using an external SNMP manager (eg Zabbix). To do this the algorithm would be like this:
    - List and count lines that have been to the table durig the last n minutes;
    - Update an SNMP counter
    - Repeat every n minutes.
    I was thinking about creating a small Perl subagent for net-snmp that would execute an SQL query using JDBC, but is there a better way to do this? For instance by using an Ora

    I assume you're talking about scripting this? Probably the easiest thing to do would be to use Curl. I've attached an example. You'll need to change a couple values for it to work.
    The output is different than what you'd get if you did a "df" using the service account. You'll have to decide which output you require.

  • Long running processes using a lot of CPU

    Hi all,
    We have a clustered environment and on both the DB nodes there are processes that is taking a lot of CPU and runs a really long time. The load of the servers get really high and performance degrades drastically.
    I've traced the processes and the module is usually a combination of the following:
    icx.por.rcv.server.ReceiveItemsAM
    icx.por.reqmgmt.server.ReqMgmtAM
    I know it has something to do with Purchase Orders.
    Can someone please give me more info on this processes and what I can do about them?
    Thanks in advance.

    ..Step by Step to fix your Mac
    They will just say it's a software problem you need to fix most likely.
    However if you have exhausted your software fixes and/or Hardware Test gives something, it could be a hardware problem, but likely it's software for what your mentioning.

  • Context when Invoking Long Running Processes

    When I use a long running process to invoke another long running process, the creator of the second long running process is always "System Context Account".
    Is it possible to invoke one long running process using another long running process using the context of the workspace user?  The primary need here is to be able to track the process in the audit tab.

    Hi gary,
    Thanks for the update.
    I have just tried your "Run As" approach which is also not working.
    My testing scenario:
    I have created two processes (a Parent and a Child)
    I have enabled RunAs option with 'Invoker' for the Child process.The parent process is configured to invoke the Child internally.
    I am, as a user, invoking the Parent process from Workspace. The Child process is being invoked; However, the process's creator name still shows 'System Context Account'. I do remember that this issues was exist in previous release as well ES (8.0).
    Is this a bug? or am I missing something in between?
    Please advise.
    Thanks,
    Nith

  • Can I get a List of all the running processes in the system using java ?

    I want a complete list of all the Running processes currently in the system.
    List of running processes is like, in MS Window environment while we presses ctrl + alt + del and we get a small window containing a list of all the running processes currently in system.
    I hope somebody have done the same and will help me.
    thanx.

    Here is the sample code to get All running process in your system .
    Its in C++.And you have use JNI to use this code.
    For complete project goto
    http://www.mindcracker.com/mindcracker/c_cafe/winapi/protracker.asp
    typedef BOOL (WINAPI * PFNENUMPROCESSES)(
    DWORD * lpidProcess,
    DWORD cb,
    DWORD * cbNeeded
    typedef BOOL (WINAPI * PFNENUMPROCESSMODULES)(
    HANDLE hProcess,
    HMODULE *lphModule,
    DWORD cb,
    LPDWORD lpcbNeeded
    typedef DWORD (WINAPI * PFNGETMODULEFILENAMEEXA)(
    HANDLE hProcess,
    HMODULE hModule,
    LPSTR lpFilename,
    DWORD nSize
    //unsigned int i;
    static HMODULE hModPSAPI = 0;
    static PFNENUMPROCESSES EnumProcesses = 0;
    static PFNENUMPROCESSMODULES EnumProcessModules = 0;
    static PFNGETMODULEFILENAMEEXA GetModuleFileNameExA = 0;
    if ( !hModPSAPI )
    hModPSAPI = LoadLibrary( "PSAPI.DLL" );
    if ( !hModPSAPI )
    return FALSE ;
    EnumProcesses = (PFNENUMPROCESSES)
    GetProcAddress( hModPSAPI,"EnumProcesses" );
    EnumProcessModules = (PFNENUMPROCESSMODULES)
    GetProcAddress( hModPSAPI, "EnumProcessModules" );
    GetModuleFileNameExA = (PFNGETMODULEFILENAMEEXA)
    GetProcAddress( hModPSAPI, "GetModuleFileNameExA" );
    if ( !EnumProcesses
    || !EnumProcessModules
    || !GetModuleFileNameExA )
    return FALSE;
    LV_ITEM lvi;
    CString str, str1;
    if ( !EnumProcesses( aProcesses, sizeof(aProcesses), &cbNeeded ) )
    return FALSE;
    cProcesses = cbNeeded / sizeof(DWORD);
    char szProcessName[MAX_PATH] = "unknown";
    for ( int i = 0; i < cProcesses; i++ )
    HANDLE hProcess = OpenProcess( PROCESS_QUERY_INFORMATION |
    PROCESS_VM_READ, FALSE, aProcesses);
    if ( hProcess )
    HMODULE hMod;
    DWORD cbNeeded;
    if ( EnumProcessModules( hProcess, &hMod, sizeof(hMod), &cbNeeded) )
    GetModuleFileNameExA( hProcess, hMod, szProcessName,
    sizeof(szProcessName) );
    str = szProcessName ;
    str1.Format(": %d ", hProcess );
    str += str1 ;
    m_list.AddString ( str );
    UpdateData(TRUE );
    CloseHandle( hProcess );

  • How to kill Forms Runaway Process using 95% CPU and running for 2 hours.

    We had a situation at E-Business Suite customer (using Oracle VM server) where some of Form processes were not being cleared by form timeout settings automatically.
    Also when user exits the form session from front end, the linux form process (PID) and DB session did not exit properly, so they got hung.
    They were spiking CPU and memory usage and causing e-business suite to perform slowely and ultimately causing VM host to reboot the production VM guest (running on Linux).
    We could see the form processes (PIDs) using almost 100% cpu with "top" command and running for a long time.
    Also we verified those Form Sessions did not exist in the application itself.
    ie. Using from Grid Control -> OAM-> Site Map -> Monitoring (tab) -> "Form Sessions".
    It means that we could safely kill that form process from Linux using "kill -9 <PID>" command.
    But that required a continuous monitoring and manual DBA intervention as customer is 24x7 customer.
    So, I wrote a shell script to do the following;
    •     Cron job runs every half an hour 7 days a week which calls this shell script.
    •     Shell script runs and tries to find "top two" f60webmx processes (form sessions) using over 95% cpu with 2 minutes interval.
    •     If no process is found or CPU% is less than 95%, it exits and does nothing.
    •     If top process is found, it searches for its DB session using apps login (with hidden apps password file - /home/applmgr/.pwd).
    a.     If DB session is NOT found (which means form process is hung), it kills the process from unix and emails results to <[email protected]>
    b.     If DB session is found, it waits for 2 hours so that form process times automatically via form session timeout setting.
    It also emails the SQL to check the DB session for that form process.
    c.     If DB session is found and it does not timeout after 2 hours,
    it kills the process from unix (which in turn kills the DB session). Output is emailed.
    This are the files required for this;
    1. Cron job which calls the shell script looks like this;
    # Kill form runaway process, using over 95% cpu having no DB session or DB session for > 2hrs
    00,30 * * * * /home/applmgr/forms_runaway.sh 2>&1
    2. SQL that this script calls is /home/applmgr/frm_runaway.sql and looks like;
    set head off
    set verify off
    set feedback off
    set pagesize 0
    define form_client_PID = &1
    select count(*) from v$session s , v$process p, FND_FORM_SESSIONS_V f where S.AUDSID=f.audsid and p.addr=s.paddr and s.process='&form_client_PID';
    3. Actual shell script is /home/applmgr/forms_runaway.sh and looks like;
    # Author : Amandeep Singh
    # Description : Kills runaway form processes using more than 95% cpu
    # and Form Session with no DB session or DB session > 2hrs
    # Dated : 11-April-2012
    #!/bin/bash
    . /home/applmgr/.bash_profile
    PWD=`cat ~/.pwd`
    export PWD
    echo "`date`">/tmp/runaway_forms.log
    echo "----------------------------------">>/tmp/runaway_forms.log
    VAR1=`top -b -u applmgr -n 1|grep f60webmx|grep -v sh|grep -v awk|grep -v top|sort -nrk9|head -2|sed 's/^[ \t]*//;s/[ \t]*$//'| awk '{ if ($9 > 95 && $12 = "f60webmx") print $1 " "$9 " "$11 " "$12; }'`
    PID1=`echo $VAR1|awk '{print $1}'`
    CPU1=`echo $VAR1|awk '{print $2}'`
    TIME1=`echo $VAR1|awk '{print $3}'`
    PROG1=`echo $VAR1|awk '{print $4}'`
    PID_1=`echo $VAR1|awk '{print $5}'`
    CPU_1=`echo $VAR1|awk '{print $6}'`
    TIME_1=`echo $VAR1|awk '{print $7}'`
    PROG_1=`echo $VAR1|awk '{print $8}'`
    echo "PID1="$PID1", CPU%="$CPU1", Running Time="$TIME1", Program="$PROG1>>/tmp/runaway_forms.log
    echo "PID_1="$PID_1", CPU%="$CPU_1", Running Time="$TIME_1", Program="$PROG_1>>/tmp/runaway_forms.log
    echo " ">>/tmp/runaway_forms.log
    sleep 120
    echo "`date`">>/tmp/runaway_forms.log
    echo "----------------------------------">>/tmp/runaway_forms.log
    VAR2=`top -b -u applmgr -n 1|grep f60webmx|grep -v sh|grep -v awk|grep -v top|sort -nrk9|head -2|sed 's/^[ \t]*//;s/[ \t]*$//'| awk '{ if ($9 > 95 && $12 = "f60webmx") print $1 " "$9 " "$11 " "$12; }'`
    PID2=`echo $VAR2|awk '{print $1}'`
    CPU2=`echo $VAR2|awk '{print $2}'`
    TIME2=`echo $VAR2|awk '{print $3}'`
    PROG2=`echo $VAR2|awk '{print $4}'`
    PID_2=`echo $VAR2|awk '{print $5}'`
    CPU_2=`echo $VAR2|awk '{print $6}'`
    TIME_2=`echo $VAR2|awk '{print $7}'`
    PROG_2=`echo $VAR2|awk '{print $8}'`
    HRS=`echo $TIME1|cut -d: -f1`
    exprHRS=`expr "$HRS"`
    echo "PID2="$PID2", CPU%="$CPU2", Running Time="$TIME2", Program="$PROG2>>/tmp/runaway_forms.log
    echo "PID_2="$PID_2", CPU%="$CPU_2", Running Time="$TIME_2", Program="$PROG_2>>/tmp/runaway_forms.log
    echo " ">>/tmp/runaway_forms.log
    # If PID1 or PID2 is NULL
    if [ -z ${PID1} ] || [ -z ${PID2} ]
    then
    echo "no top processes found. Either PID is NULL OR CPU% is less than 95%. Exiting...">>/tmp/runaway_forms.log
    elif
    # If PID1 is equal to PID2 or PID1=PID_2 or PID_1=PID2 or PID_1=PID_2
    [ ${PID1} -eq ${PID2} ] || [ ${PID1} -eq ${PID_2} ] || [ ${PID_1} -eq ${PID2} ] || [ ${PID_1} -eq ${PID_2} ];
    then
    DB_SESSION=`$ORACLE_HOME/bin/sqlplus -S apps/$PWD @/home/applmgr/frm_runaway.sql $PID1 << EOF
    EOF`
    echo " ">>/tmp/runaway_forms.log
    echo "DB_SESSION ="$DB_SESSION >>/tmp/runaway_forms.log
    # if no DB session found for PID
    if [ $DB_SESSION -eq 0 ] then
    echo " ">>/tmp/runaway_forms.log
    echo "Killed Following Runaway Forms Process:">>/tmp/runaway_forms.log
    echo "-------------------------------------------------------------------">>/tmp/runaway_forms.log
    echo "PID="$PID1", CPU%="$CPU1", Running Time="$TIME1", Program="$PROG1>>/tmp/runaway_forms.log
    kill -9 $PID1
    #Email the output
    mailx -s "Killed: `hostname -a` Runaway Form Processes" [email protected] </tmp/runaway_forms.log
    cat /tmp/runaway_forms.log
    else
    # If DB session exists for PID
    if [ ${exprHRS} -gt 120 ]; then
    echo $DB_SESSION "of Database sessions exist for this forms process-PID="$PID1". But its running for more than 2 hours. ">>/tmp/runaway_forms.log
    echo "Process running time is "$exprHRS" minutes.">>/tmp/runaway_forms.log
    echo "Killed Following Runaway Forms Process:">>/tmp/runaway_forms.log
    echo "-------------------------------------------------------------------">>/tmp/runaway_forms.log
    echo "PID="$PID1", CPU%="$CPU1", Running Time="$TIME1", Program="$PROG1>>/tmp/runaway_forms.log
    kill -9 $PID1
    #Email the output
    mailx -s "`hostname -a`: Runaway Form Processes" [email protected] </tmp/runaway_forms.log
    cat /tmp/runaway_forms.log
    else
    echo "Process running time is "$exprHRS" minutes.">>/tmp/runaway_forms.log
    echo $DB_SESSION "of Database sessions exist for PID="$PID1" and is less than 2 hours old. Not killing...">>/tmp/runaway_forms.log
    echo "For more details on this PID, run following SQL query;">>/tmp/runaway_forms.log
    echo "-----------------------------------------------------------------------">>/tmp/runaway_forms.log
    echo "set pages 9999 lines 150">>/tmp/runaway_forms.log
    echo "select f.user_form_name, f.user_name, p.spid DB_OS_ID , s.process client_os_id,, s.audsid, f.PROCESS_SPID Forms_SPID,">>/tmp/runaway_forms.log
    echo "to_char(s.logon_time,'DD-Mon-YY hh:mi:ss'), s.seconds_in_wait">>/tmp/runaway_forms.log
    echo "from v\$session s , v\$process p, FND_FORM_SESSIONS_V f">>/tmp/runaway_forms.log
    echo "where S.AUDSID=f.audsid and p.addr=s.paddr and s.process='"$PID1"' order by p.spid;">>/tmp/runaway_forms.log
    mailx -s "`hostname -a`: Runaway Form Processes" [email protected] </tmp/runaway_forms.log
    cat /tmp/runaway_forms.log
    fi
    fi
    else
    #if PID1 and PID2 are not equal or CPU% is less than 95%.
    echo "No unique CPU hogging form processes found. Exiting...">>/tmp/runaway_forms.log
    cat /tmp/runaway_forms.log
    fi
    If you have the same problem with some other unix and DB processes, the script can be easily modified and used.
    But use this with thorough testing first (by commenting out <kill -9 $PID1> lines.
    Good luck.
    Edited by: R12_AppsDBA on 19/04/2012 13:10

    Thanks for sharing the script!
    Hussein

  • Syslogd process uses all available cpu & console app won't run.

    I have a Mac Mini (G4 power PC) running 10.5.5. Just recently after several minutes the system never wakes. It just shows the SBBOD. All I can do is hold down the power button and reboot. When the system reboots, using the activity monitor, I see that the process named syslogd uses all available cpu. I can still do things, but the cpu is saturated.
    I took a snapshot of the syslogd process, and I can post it here if anyone thinks it might help.
    If I activate the console application, the window comes up then hangs with the SBBOD.
    The syslogd process uses all available cpu right after reboot, and does so regardless of which user (including root) is logged in. Attempting to kill the syslogd process with the activity monitor does nothing

    Thanks! It took a long time for the disk utility to fix the permissions, but as soon as it did, the logger process calmed down. Looking at the log file now, I see it was my McAfee virus scan causing the logger to flip-out.
    I'm now looking for a new MAC anti-virus program.

  • Fuser - identify processes using a file or file structure

    How can I see processes using a filesystem?
    At work (solaris) we have fuser. I have no clue how to do this in Mac OS X.
    lsof is great but not what I want.
    Thanks
    example:
    sidewinder{26}eseale@5:55pm [/tmp] fuser /tmp
    /tmp: 9000c 8905c
    sidewinder{27}eseale@5:55pm [/tmp] cd
    sidewinder{28}eseale@5:56pm [~] fuser /tmp
    /tmp:
    sidewinder{29}eseale@5:56pm [~]
    old G5   Mac OS X (10.4.3)  

    Hi Eric,
       I agree with Andy; lsof is by far the most flexible tool for doing what you want. You gave an example that involved a specific directory to "watch" and only lsof will do that. However, for the sake of completeness, there is another command called fs_usage. That must be run as root and looks at the entire filesystem. You can't tell it which files to watch but you can tell it which processes to monitor. One hint: use a large terminal window or use the -w switch. In absence of -w, the information output depends on terminal window size.
    Gary
    ~~~~
       Nothing cures insomnia like the realization that it's
       time to get up.

  • RequestTimeoutException error while invoking a BPEL process using RMI

    Hi,
    I am getting RequestTimeoutException error while invoking a BPEL process using this code:
    Locator locator = LocatorFactory.createLocator(jndiProps);
    String compositeDN = "default/"+processName+"!1.0";
    Composite composite = locator.lookupComposite(compositeDN);
    String serviceName = "client";
    Service deliveryService = composite.getService(serviceName);
    NormalizedMessage nm = new NormalizedMessageImpl();
    nm.getPayload().put("payload", requestXml);
    NormalizedMessage res = deliveryService.request("process", nm);
    responseMap = res.getPayload();
    The error stack trace is
    weblogic.rmi.extensions.RequestTimeoutException: RJVM response from 'weblogic.rjvm.RJVMImpl@604f2d14 - id: '-361032376059206
    2776S:10.67.232.164:[8001,-1,-1,-1,-1,-1,-1]:emaar_domain:soa_server1' connect time: 'Mon Jan 18 11:34:41 GST 2010'' for 'executeServiceMethod
    (Loracle.soa.management.CompositeDN;Ljava.lang.String;Ljava.lang.String;[Ljava.lang.Object;) 'timed out after: 60000ms.
    oracle.fabric.common.FabricInvocationException: weblogic.rmi.extensions.RequestTimeoutException: RJVM response from 'weblogic.rjvm.RJVMImpl@60
    4f2d14 - id: '-3610323760592062776S:10.67.232.164:[8001,-1,-1,-1,-1,-1,-1]:emaar_domain:soa_server1' connect time: 'Mon Jan 18 11:34:41 GST 20
    10'' for 'executeServiceMethod(Loracle.soa.management.CompositeDN;Ljava.lang.String;Ljava.lang.String;[Ljava.lang.Object;) 'timed out after: 6
    0000ms.
            at oracle.soa.management.internal.facade.ServiceImpl.request(ServiceImpl.java:135)
            at com.gss.common.bo.BpelUtil.invokeBPELProcess(BpelUtil.java:81)
    To add to it the BPEL process is executing successfuly and RMI call timeout is happening.
    Can I know how to increase the related timeout value?                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

    Have got the same problem. Scenario at my end is little different though.
    I am trying to invoke a BPEL process from an ESB Service.
    I am trying to look into it..
    However, would be grateful, if someone can give some insight into this since many are running into this issue without being able to fix.
    Ashish.

  • AP Payment Run Process

    Hi,
    Please provide an overview of AP payment run process.
    Thanks,
    Teo

    Hi,
    APP ( T.code F110) is used to make payments enmasse for one or more vendors/customers.
    We can also group vendors/customers for more than 1 co.code for payments.
    The entore config for APP is done in capsule T.code FBZP.
    Here are the steps:
    1. Set up paying and sending co.codes( In case of cRoss co. payments paying and sending co.codes will ahve to be different)
    2.Set up a payment method for country and co.code 1 each for outgoing and incoming payments.
    3.Define house banks and set up bank accounts for payment method with relative ranking.
    4.In F110 :
    define the parameters like co,code;vendors etc
    craete and edit a payment proposal where you can select the open items to be paid
    create and run a payment run
    Hope this helps.
    I would also recommend to go thru SAP help and also search this forum for further notes and specific queries in F110.
    Pls assign points if this info was helpful.
    Thanks,
    Vamsi

  • Firefox is already running, but is not responding. To open a new window, you must first close the existing Firefox process, or restart your system. This doesn't work because Firefox is not a running process so I can't close it.

    I don't use Firefox now because of this running problem. It started about a month ago. So when I access the task manager, Firefox does not show up in the running processes. Because of this, I can't end the task. I got tired and fed up of rebooting my computer just to use Firefox, so I just switched to IE8, and Opera and Google Chrome. I prefered Firefox but it also runs so so sooooo slowly now. IE is much much faster, as are the other browsers now. Once upon a time, I bragged to everyone about how fast Firefox used to be, where now I admit I don't use it because it's so slow now and it won't run anyway.

    See:
    * http://kb.mozillazine.org/Recovering_a_missing_profile
    * http://kb.mozillazine.org/Profile_in_use

  • GR/IR expenses not affected with the settlement rule run process in the GL

    <i><b>Please neglect by previous post with the same title</b></i>
    There is a problem I face while running the settlement rule process related to internal orders on the GR/IR expenses.
    According to the internal order settlement rule every expense associated to an Internal order no. whether its an account payable or manual journal accounts it should be settled (distributed) on the cost centers specified in each internal order after the monthly settlement run process is done through T.Code "KO8G", and this actually happens on the entries that are booked manually through T.Code "FB50", but the GR/IR entries is the biggest problem, it didn't reflect the settlement rule distributions in the GL it just gives me the original transaction once its was automatically created through T.Code "MIGO" they are only allocated to a one profit center with no cost center and without being distributed to a multiple cost centers according to the distribution strategy.
    After a long search I found that the cost center distribution occurred only on a secondary none GL account named A&P Settlement (720010), all GR/IR expenses was settled correctly only on this account not through the ordinary GL accounts (e.g. Gifts, printed materials) and of course the correct distribution didn't appear in the GL,
    So is there a transaction or any way to allocate the GR/IR expenses to there correct cost centers with the correct cost element in the GL?
    Is there anything to do with the GR/IR calculation that depends on quantity base not value base?
    <i><b>The Process as follows:</b></i>
    (<b>1) Creating Internal order with a settlement rule (E.g. Cost center 1 (50%) Cost center 2 (50%)</b>
    <b>2) Creating a purchase order associated to an internal order</b>
    <b>3) The Goods received and creating the GR transaction T.Code "MIGO"</b>
    Acc/DR Expenses accounts
    Acc/CR GI/IR Account 400301
    Profit enter ###### (eg. 111177)
    Cost Center <blank>
    Internal order no. ####### (e.g. 9810512)
    <b>
    4) Closing the GR/IR accounts when receiving the invoice T.Code "MIRO"</b>
    <b>When we receive vendor invoice:</b>
    Acc/Dr GI/IR Account 400301
    Acc/Cr Vendor Account
    Profit enter ###### (eg. 111177)
    Cost Center <blank>
    Internal order no. ####### (e.g. 9810512)
    <b>5) Performing the Internal order settlement rule run process</b>
    <b>(N.B.</b> By entering the report of the cost center (Actual/Plan/ Variance) T.Code S_ALR_87013611
    I found that GR/IR expenses was not charged on the concerned cost centers as shown in the GL <b>)</b>
    <b>Your Reply is highly appreciated</b>

    Thanks for your kind reply,
    But is there a way solve this problem?
    And what is the use of leaving a field in the account assignment tab for an internal order while creating a PO and it will not take advantage of the settlement rule????????
    And as you know the internal order settlement is a way to create a multiple account assignment
    Can we solve the problem by making an automatic fake transaction that reverse the value of the GR/IR and creating another transaction can apply on it the settlement rule??
    You know that settlement rule process is one of the best features in the SAP system it save time and effort to make distributions manually

  • Multiple crashes fixed by turning off hardware and Flash acceleration; very slow now. Takes five seconds to exit and still listed as a running process

    A workaround was suggested by a member of the community to turn off both hardware and Flash acceleration. It worked fine (no crashes since), but runs very slowly. In particular, takes five seconds to exit and is often still listed as a running process. Very slow in connecting to Web pages, and very slow loading them because of the graphics. Very slow in loading video. I expected slower responses, but this is REALLY slow. I'm running 64-bit Windows 7 and an Nvidia GE Force 7800 graphics card with all the drivers updated and the plugins for Firefox mostly set on "ask to activate". Should I expect this much reduction in performance when the workaround I mentioned was put into place? If so, it's half a loaf at best. The only thing questionable is that I have two Youtube downloaders that I am trying, but I made the assumption that these were only applied when you downloaded something from Youtube.

    In case you are using "Clear history when Firefox closes": do not clear the Cookies
    If you clear cookies then Firefox will also try to remove cookies created by plugins and that requires to start plugin-container processes that can slow down closing Firefox.
    Instead let the cookies expire when Firefox is closed to make them session cookies.
    *Firefox/Tools > Options > Privacy > "Use custom settings for history" > Cookies: Keep until: "I close Firefox"

  • Monitoring a Process using Runtime.exce()

    Hi,
    In my Program, I'm using the
    new BufferedReader(new InputStreamReader(Runtime.getRuntime()                         .exec("ps -ef | grep xmlfeed").getInputStream()));
    The above statement is not returning any inputstream to the BuffredReader.
    When I gave the command as "PWD", it's returning the lines as expected.
    But it's not working even for "PS" command also.I'm running this in AIX machine.
    Any Ideas,Please help....
    Edited by: haijdp on Dec 21, 2007 1:11 AM

    Hello! And sorry I didn't reply earlier. I hope the Original Poster will find revisit this thread and it helps him.
    From your post I assumed that you were not a student trying to create some homework. That's why I felt free to simply code a solution and submit the code here. But first some remarks:
    I don't think that your code can work. Runtime.exec expects an array of type String, where the first element is the command and subsequent elements are a command line option each. I don't think you can use the pipe and call several commands using Runtime.exec, but that's just a kind of guess. YMMV.
    Running external Processes in Java is a bit complicated. Basically,
    * It's good to run the process in it's own thread. That way the main program can continue without getting stuck.
    * To extract stdout and stderr of your target process you must run two threads, one for stderr and one for stdout. Both threads extract the characters of their respective streams in a loop that runs inside the thread. Again, that way we avoid deadlocks, program getting stuck etc.
    This explanation is terrible, I know - I think a slice of source code speaks louder than words. I have attached five java files which together make a little process runner which extracts stdout and stderr in a safe manner. To run:
    * Cut'n paste them into five text files, one per class.
    * Save the each text file as {contained-class-name}.java
    * Compile the stuff
    * Run RunnerDemo (When I ran it, I got a directory listing printed on the console)
    Explanation sounds a bit sloppy, but I did it under the assumption that you are a seasoned java pro, so it should not pose any problems. Since you seem to be a different OS than I (AIX, I run Linux), the command may or may not work. Try other commands. For example, in the RunnerDemo class you could set the cmd field to this:
            String [] cmd =
                "ps",
                "-A",
                "-H"
            };This would give you a process listing (works on Linux).
    By the way, commands are passed as array. See Java documentation for java.lang.Runtime.exec (String []) for explanation of this array.
    One problem I see in your command is that the output of ps is piped to some other program. Sorry, I don't know whether my code could achieve this. All it can do is to rum one single command with command line options. But you should be able to adjust the given example, so it supports piping to another program.
    If you have any further questions, please don't hesitate to ask!
    Class: RunnerDemo
    *                           RunnerDemo.java
    *                     Demo for the process runner
    package rtimeexec;
    public class RunnerDemo
        public static void main (String [] args)
            String [] cmd =
                "ls",
                "-a",
                "-l"
            ProcessRunner   runner;
            String          stdOutStr;
            String          stdErrStr;
            runner = new ProcessRunner (cmd);
            runner.start ();
            runner.BlockUntilFinished ();
            stdOutStr = runner.GetStdOutText ();
            stdErrStr = runner.GetStdErrText ();
            System.out.println ("Process result, ls -a -l");
            System.out.println ("-----------------------------------------------------------------------");
            System.out.println ("Stdout:");
            System.out.println ("-----------------------------------------------------------------------");
            System.out.println (stdOutStr);
            System.out.println ();
            System.out.println ("-----------------------------------------------------------------------");
            System.out.println ("Stderr:");
            System.out.println ("-----------------------------------------------------------------------");
            System.out.println (stdErrStr);
    Class: ProcessRunner
    package rtimeexec;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    * Runs a system process and extracts stdout and stderr of that process.
    * Process will run in its own thread, so that the caller can simply continue
    * with less of a chance to get locked down. Caller can invoke the {@link BlockUntilFinished}
    * method after starting this thread. This method blocks until the thread is finished,
    * i.e. the process has finished.
    * Unfortunately, we haven't implemented any facility to stream characters to
    * stdin of the process called. If that facility would exist we could refactor
    * the classes and realize some sort of piping facility, as it's possible in
    * Linux, for example.
    * Example on how to run a process:
    * <pre>
    * String []         cmd  = {"ps", "-AH"};
    * String            sOut;
    * String            sErr;
    * ProcessRunner     runner;
    * runner = new ProcessRunner (cmd);
    * runner.start ();
    * runner.BlockUntilFinished ();
    * sOut = runner.GetStdOutText ();
    * sErr = runner.GetStdErrText ();
    * System.out.println ("Stdout:");
    * System.out.println (sOut);
    * System.out.println ("------------------------------------------------------");
    * System.out.println ("Stderr:");
    * System.out.println (sErr);
    * </pre>
    public class ProcessRunner extends Thread
        private String []                   command;
        private int                         execResult;
        private String                      stdOutText;
        private String                      stdErrText;
        private boolean                     isFinished;
        public ProcessRunner (String [] cmd)
            command     = cmd;
            execResult  = 0;
            stdOutText  = null;
            stdErrText  = null;
            isFinished  = false;
        public int GetResult ()
            return execResult;
        public String GetStdOutText ()
            return stdOutText;
        public String GetStdErrText ()
            return stdErrText;
        public boolean IsFinished ()
            return isFinished;
        public void BlockUntilFinished ()
            while (! isFinished)
                try {Thread.sleep (250);} catch (InterruptedException e) {}
        public void run ()
            Process         proc;
            Runtime         rt;
            InputStream     stdOut;
            InputStream     stdErr;
            CharStream      stdOutEx;
            CharStream      stdErrEx;
            int             res;
            isFinished = false;
            try
                res         = 0;
                rt          = Runtime.getRuntime ;       ();
                proc        = rt.exec ;                  (command);
                stdOut      = proc.getInputStream ;      ();
                stdErr      = proc.getErrorStream ;      ();
                stdOutEx    = new CharStream            (stdOut);
                stdErrEx    = new CharStream            (stdErr);
                stdOutEx.start ();
                stdErrEx.start ();
                try {res = proc.waitFor ();} catch (InterruptedException e) {}
                // Process has finished; now wait until any buffers are empty.
                stdOutEx.BlockUntilFinished ();
                stdErrEx.BlockUntilFinished ();
                stdOutText = stdOutEx.GetResult ();
                stdErrText = stdErrEx.GetResult ();
                execResult = res;
            catch (IOException e)
                isFinished = true;
                throw new ExtractionException (e.getLocalizedMessage());
            isFinished = true;
    Class: CharStream
    package rtimeexec;
    import java.io.IOException;
    import java.io.InputStream;
    * A Character extractor. Extracts characters from a stream and puts them
    * into a String. To protect from memory overflow we put a limit in place.
    * When storage demads exceed that limit, an exception is thrown.
    public class CharStream extends Thread
        private static final int    maxChunkLen         = 8192;
        private static final int    maxStorageSize      = 512 * 1024;   // 512 KBytes
        private InputStream     sourceStream;
        private StringBuffer    extracted;
        private boolean         isFinished;
        public CharStream (InputStream istream)
            sourceStream    = istream;
            extracted       = new StringBuffer ();
            isFinished      = false;
        public String GetResult ()
            String ret;
            ret = extracted.toString ();
            return ret;
        public void BlockUntilFinished ()
            while (! isFinished)
                SleepThread (250);
        public void run ()
            byte []                 buffer;
            int                     nBytesRead;
            byte                    b;
            char                    c;
            int                     iChar;
            int                     nCharsTotal;
            boolean                 isEOF;
            isEOF       = false;
            nCharsTotal = 0;
            isFinished = false;
            while (! isEOF)
                try
                    buffer      = new byte [maxChunkLen];
                    nBytesRead  = sourceStream.read (buffer);
                    if (nBytesRead >= 1)
                    {   // much faster stream extraction method than when we use
                        // BufferedReader(new InputStreamReader(sourceStream)).
                        for (iChar = 0; iChar < nBytesRead; iChar++)
                            nCharsTotal++;
                            if (nCharsTotal > maxStorageSize)
                                throw new StoreFullException
                                    "Storage limit exceeded (" + Integer.toString (maxChunkLen) + "Bytes)"
                            b = buffer [iChar];
                            c = (char) b;
                            extracted.append (c);
                    else if (nBytesRead <= -1)
                        isEOF       = true;
                catch (IOException e)
                    isFinished = true;
                    throw new ExtractionException (e.getLocalizedMessage());
                SleepThread (250);
            isFinished  = true;
        private void SleepThread (int mSec)
            try
                Thread.sleep (mSec);
            catch (InterruptedException e)
    Class: StoreFullException
    package rtimeexec;
    * Exception that gets thrown when a storage container is full.
    public class StoreFullException extends RuntimeException
        private static final long serialVersionUID = - 4996246591135389009L;
        public StoreFullException (String message)
            super (message);
    Class: ExtractionException
    package rtimeexec;
    * Thrown when there was some problem during stream extraction.
    public class ExtractionException extends RuntimeException
        private static final long serialVersionUID = - 6124525536783450209L;
        public ExtractionException (String message)
            super (message);
    }

  • Error While Deploying the BPEL Process using obant script

    Hi All,
    I am getting the following error while deploying the BPEL Process using obant script. we are using the BPEL Version 10.1.2.0.2.Any information in this regard will be really helpful.
    Buildfile: build.xml
    main:
    [bpelc] file:/home5102/dibyap/saravana/Test/CreditRatingService.wsdl
    [bpelc] validating "/home5102/dibyap/saravana/Test/CreditRatingService.bpel" ...
    BUILD FAILED
    /home5102/dibyap/saravana/Test/build.xml:15: ORABPEL-01002
    Domain directory not found.
    The process cannot be deployed to domain "default" because the domain directory "/opt02/app/ESIT/oracle/esit10gR2iAS/BPEL10gR2/iAS/integration/orabpel/domains/default/deploy" cannot be found or cannot b
    e written to.
    Please check your -deploy option value; "default" must refer to a domain that has been installed locally on your machine.
    Total time: 23 seconds
    dibyap@ios5102_ESIBT:/home5102/dibyap/saravana/Test>
    Thanks,
    Saravana

    In 10.1.2.0.2 you need to create your own build.xml
    I have found an example, it may be of some help. This does call a property file
    cheers
    James
    <?xml version="1.0" ?>
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Run cxant on this file to build, package and deploy the
    ASB_EFT BPEL process
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <project name="ASB_EFT" default="main" basedir=".">
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Name of the domain the generated BPEL suitcase will be deployed to
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <property name="deploy" value="default" />
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    What version number should be used to tag the generated BPEL archive?
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <property name="rev" value="1.0" />
    <!-- BPEL Best Practices Properties -->
    <!-- Defaults Properties for TARGET environments
    # CHANGE THIS FILE TO REFLECT THE TARGET ENVIRONEMNT
    # either dev, test, or prod.properties
    -->
    <property file="ebusd.properties"/>
    <property name="env" value="${env.name}"/>
    <property name="current.project.name" value="${project.name}"/>
    <property name="target.project.name" value="${project.name}_${env}"/>
    <property name="deployment.profile" value ="${env}.properties"/>
    <property name="source.development.directory" location="${basedir}"/>
    <property name="target.env.directory" location="${basedir}/deploy/${project.name}_${env}"/>
    <property file="${deployment.profile}"/>
    <property name="build.fileencoding" value="UTF-8"/>
    <!-- Prints Environment
    -->
    <target name="print.env" description="Display environment settings">
    <echo message="Base Directory: ${basedir}"/>
    <echo message="Deployment Profile: ${deployment.profile}"/>
    <echo message="target.env.directory: ${target.env.directory}"/>
    <echo message="Deploy to Domain: ${deployToDomain}"/>
    <echo/>
    <echo message="os.name: ${os.name}"/>
    <echo message="os.version: ${os.version}"/>
    <echo message="os.arch: ${os.arch}"/>
    <echo/>
    <echo message="java.home: ${java.home}"/>
    <echo message="java.vm.name: ${java.vm.name}"/>
    <echo message="java.vm.vendor: ${java.vm.vendor}"/>
    <echo message="java.vm.version: ${java.vm.version}"/>
    <echo message="java.class.path: ${java.class.path}"/>
    <echo/>
    <echo message="env: ${env}"/>
    <echo message="current.project.name: ${current.project.name}"/>
    <echo message="target.project.name: ${target.project.name}"/>
    <echo message="server.name: ${server.name}"/>
    </target>
    <!--
    Copies the current directory structure along with
    all the file into the target.env.directory and
    change the name of the project
    -->
    <target name="create.environment">
    <copy todir="${target.env.directory}">
    <fileset dir="${basedir}"/>
    <filterset begintoken="@" endtoken="@">
    <filtersfile file="${deployment.profile}"/>
    </filterset>
    </copy>
    <move file="${target.env.directory}/${current.project.name}.jpr" tofile="${target.env.directory}/${target.project.name}.jpr"/>
    </target>
    <target name="main">
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    the bpelc task compiles and package BPEL processes into versioned BPEL
    archives (bpel_...jar). See the "Programming BPEL" guide for more
    information on the options of this task.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <bpelc input="${basedir}/bpel.xml" rev="${rev}" deploy="${deploy}" />
    </target>
    </project>
    here is a property file
    project.name=ASB_EFT
    env.name=ebusd
    deployToDomain=default
    server.name=[server]
    server.port=7788
    ebusd\:7788=http://[server]:7788/
    IntegrationMailAccount=OracleBPELTest
    IntegrationMailAddress=[email]
    IntegrationMailPassword=[password]
    archivedir=[directory]
    inbounddir=/[directory]
    errordir=[directory]
    outbounddir=[directory]
    bpelpw=bpel
    dbhost1=[dbserver]
    dbhost2=[dbserver]
    dbport=1523
    dbservice=bpel
    dbconnstr=jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=YES)(FAILOVER=YES)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=[server])(PORT=1523))(ADDRESS=(PROTOCOL=tcp)(HOST=[server])(PORT=1523)))(CONNECT_DATA=(SERVICE_NAME=ebusd)))

Maybe you are looking for

  • How do we move PKG from One d/b to another d/b?

    Hi All, In general, i will creating all the packages in Dev environment and will send the pkg files to DBA team to deploy in QA environmnet. I would like to know, in general how do we move pkg's from one instance to another instance. Thanks, Anoo..

  • Stop JScrollPane Scrolling If Knob Is Not At Bottom

    My problem appears quite simple. I have a non-editable JTextArea in a JScrollPane. When text is added to the text area I want the vertical JScrollBar to autoscroll only if the knob is at the bottom of the track. If the user has scrolled up (e.g. to s

  • Can't install Premiere Elements 4

    I've tried at least five times to install PE4 to my laptop to no avail.  Each time, the same error occurs and the whole thing backtracks.  I've tried copying the DVD to the hard drive and installing dirrectly, I've tried defragmenting my PC, I've tri

  • Apple Configurator and iPad Set issue

    Howdy Folks, I have a dilemma. I work at a Business School and we have 30 ipads managed (supervised) by Apple Configurator via a Mac Book Pro. I had (still have) paid apps on this class set. Unbeknownst to me, I upgraded the Macbook Pro to Mavericks

  • PXI-1052 not detecting SCXI chassis

    Full disclosure:  I've submitted a support request on this too, but knowing that it may take some time to go through I thought I'd ping the discussion boards for any ideas people here might have as well. I have a PXI-1052 PXI/SCXI combo chassis with