SAPNW::Rfc trapping VERSION

I'm trying to send the VERSION flag to BAPI_XMI_LOGON as follows:
SAPNW::Rfc->load_config;
my $rfc = SAPNW::Rfc->rfc_connect;
my $it = $rfc->function_lookup("BAPI_XMI_LOGON");
my $rc = $it->create_function_call;
$rc->EXTCOMPANY('TWDC');
$rc->EXTPRODUCT('MOPS');
$rc->INTERFACE('XMB');
$rc->VERSION('0.1');
$rc->invoke;
This works perfectly if I input the same information in SE37, but in my perl script, I get the error:
SAPNW::RFC::FunctionCall version 0.1 required--this is only version 0.02 at ./read-syslog.pl line 19
So instead of me being able to send a version number to the BAPI, the FunctionCall function is intercepting this version and interpreting it as a requirement for itself.  Is there any way to avoid this behavior, and instead be able to pass the version number to the BAPI?
Cheers,
David.

Hi -
VERSION is a special-by-convention value in a Perl package.  To access this or any other namespace clashing parameter name you can do something like:
$rc->parameter('VERSION')->value('0.1');
$rc->invoke;
Cheers.

Similar Messages

  • Perl SAPNW::RFC used by ABAP developer or not ???

    Hello Folks,
    I have some good knowledge in Perl programming before  becoming and ABAPER.....
    Recently i have seen PERL RFC...
    Ever since i have seen the PERL RFC through which we can use for creating tables, reading tables, reading BAPIS and updating through BAPIS...
    Also  i came to know we can motiner all sap systems using Perl RFC.
    Now my question is
    1. Had anybody used Perl RFCs for developing an object or used BAPI for updating data into SAP systems.... ?
    2. As an ABAP developer are we allowed to use  PERL's SAPNW::RFC while developing objects or do we need to get permission from our Project manager etc ?
    Please reply me... I have several doubts on this ....
    If i can use them....then it reduces my coding time several hours, months, and years too !!!!

    Hi ,
    You can use Perl  RFC in multiple area but you need to setup connection between perl and SAP.
    Please see the below details, it may be helpful for you.
    Regards,
    Prasenjit
    Using Perl for SAP RFC - Part 1 - Installing Perl
    'Pass by  value' in BAPI and RFC
    http://wiki.scn.sap.com/wiki/display/EmTech/Installation+of+sapnwrfc+for+perl+on+Linux+and+Unix

  • SAP Module sapnwrfc: Retrieving data from SAP using RFC

    I'm sorry, if I'm asking about something that's obvious in SAP. I need to develop a perl application in a remote server that will receive a requisition from an abap application.
    I'm using the SAP Module sapnwrfc. I connect to SAP Gateway with no errors and execute the function sapnwrfc::installFunction (no errors returned) but I can't find the transaction in SAP. Anybody has some document about configurations that I need to do in sap ? Or anybody could see the code above and tell me what is wrong?
    [code]
    #!/usr/bin/perl
    use sapnwrfc;
    use Data::Dumper;
    use utf8;
      SAPNW::Rfc->load_config;
      my $conn = SAPNW::Rfc->rfc_connect;
      # print "Testing SAPNW::Rfc-$SAPNW::Rfc::VERSION\n";
      my $func = new SAPNW::RFC::FunctionDescriptor("ZRFCDAZEL") ;
      my $pipedata = new SAPNW::RFC::Type(name => 'DATA',
                                          type => RFCTYPE_TABLE,
                                          fields => [{name => 'OBJTY',
                                                      type => RFCTYPE_CHAR,
                                                      len => 4},
                                                     {name => 'OBJKY',
                                                      type => RFCTYPE_CHAR,
                                                      len => 10},
                                                     {name => 'ATTRIBUTES',
                                                      type => RFCTYPE_CHAR,
                                                      len => 255},
      $func->addParameter(new SAPNW::RFC::Export(name => "COMMAND",
                                                 len => 255,
                                                 type => $pipedata));
      $func->addParameter(new SAPNW::RFC::Import(name => "COMMAND1",
                                                 len => 255,
                                                 type => $pipedata));
    $funcao->callback(\&do_remote_pipe);
    $conn->disconnect();
    exit;
    sub do_remote_pipe {
        my $param = shift;
        print "\nPARM : " . $param->{'ZDUS'} . "\n";
        $param->COMMAND1([{'LOG'=>'Execute ZDUS PARAMETER '}]);
        $param->COMMAND1([{'STATUS'=>'S'}]);
        return 1;
    sub do_global_callback {
        warn "Running global callback ...\n";
        return 1;

    Timo,
    I included the code in the VO and in my bean, I was able to generate this code snippet:
    public String GetParamterSetup() {
            BindingContainer bindings = getBindings();
            OperationBinding operationBinding = bindings.getOperationBinding("applyParamVOCriteria");
            operationBinding.getParamsMap().put("vcodetype", codeType);
            Object result = operationBinding.execute();
            System.out.println(result);
            if (!operationBinding.getErrors().isEmpty()) {
                return null;
            return null;
    I was able to get the result from the System.out.println. It returns null when there is no match. However, I  want  to return the entire row or have access to that attribute.  For instance if I have 'GB011' what the system will display for me is 'viewrow [oracle.jbo.Key[GB011 ]]'
    Pls, how can I have access to individual attributes like ParamSetup.codeType, ParamSetuo.MainCode etc...

  • Perl SAP::Rfc - input tables - The specified type Typ rfcdes is unknown.

    I am pretty new to SAP and am working to understand the guts of it while also trying to do something useful, especially understanding how we could use Perl Sap::RFC.  I've been looking for days and making a little progress over time, but now I'm stuck.
    Problem Summary:
    I want to read the RFCDES table using RFC_READ_TABLE to get a dump of what's in there.   It is apparently too large for a plain RFC_READ_TABLE, but I discovered that by defining the fields that I want, I can get out what I need.  I did this by successfully executing RFC_READ_TABLE in SE37 for the RFCDES table by defining entries in the FIELDS table, but I can't figure out the right way to send a table as input to SAP via SAP::Rfc.
    Background:
    I am using SAP::Rfc v 1.55 on linux with 640,0,303 release of the rfcsdk.
    I am getting the error:
    RFC call failed: EXCEPT SYSTEM_FAILURE  GROUP   104     KEY     RFC_ERROR_SYSTEM_FAILURE        MESSAGE The specified type Typ rfcdes is unknown. at /home/<userid>/local/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi/SAP/Rfc.pm line 1055.
    Here is my code block (minus connect info):
    my $it = $rfc->discover("RFC_READ_TABLE");
    $it->QUERY_TABLE("rfcdes");
    $it->ROWCOUNT( 30 );
    $it->OPTIONS( ["NAME LIKE 'SAP%'"] );
    my $str = $it->tab('FIELDS')->structure; # I think this line is extraneous
    $it->FIELDS([{ FIELDNAME => "RFCDEST", OFFSET=> "000000", LENGTH => "000000",  FIELDTEXT=> ""}]);
    $rfc->callrfc( $it );
    $rfc->close();
    The parameters to FIELDS are what worked in SE37.  I would eventually like to return more than just rfcdest (such as RFCOPTIONS) but at this point, anything working would be good
    I have successfully done an RFC_READ_TABLE with SAP::Rfc (using the tables.pl example) so I'm pretty sure I have that working but I think the FIELDS input/output table is throwing me off.  Maybe I'm not understanding the array of hashes correctly?
    I have looked at the thread SAP-::Rfc with Perl which got me this far but I'm still missing something.  Can anyone please help?
    Thank you for your time.

    You might want to check out the newer SAPNW::Rfc.  Not sure what version system you're connecting to.
    Anyway, here's how I did RFC_READ_TABLE with SAP::Rfc years ago:
    my $IT = $RFC->discover("RFC_READ_TABLE");
    $IT->QUERY_TABLE('TBTCO');
    $IT->OPTIONS( ["ENDDATE = '$MAXDATE' AND ENDTIME > '$MAXTIME' OR ENDDATE > '$MAXDATE'"] );
    my @FLDARRAY = qw(JOBNAME JOBCOUNT JOBCLASS PERIODIC REAXSERVER RELUNAME SDLUNAME
    AUTHCKMAN EVENTID SDLSTRTDT SDLSTRTTM STRTDATE STRTTIME ENDDATE ENDTIME STATUS);
    $IT->FIELDS([@FLDARRAY]);
    $RFC->callrfc( $IT );
    print "Num Rows in PRD matching selection criteria: ".$IT->tab('DATA')->rowCount()." \n";
    for my $ROW ( $IT->DATA ) {
       #do stuff;
    $RFC->close();
    Cheers,
    David.
    For reference, here's my wiki profile, where you can find my blogs on SAPNW::Rfc, and some sample scripts.
    http://wiki.sdn.sap.com/wiki/display/profile/David+Hull
    Edited by: David Hull on Mar 28, 2010 10:05 AM

  • Why is SAPNW allow_start_program() erroring: Can't locate allow_start.al?

    I get the same error with sapnwrfc-0.12 and 0.20.
    I have the Java SAP GUI 7.1Rev4 installed and working.
    The SAP 7.1 SDK is also installed and I can call many RFC's successfully.
    The platform is Perl 5.8.8 RHEL5.
    The error is:
    "Can't locate auto/SAPNW/Connection/allow_start.al in @INC (@INC contains:..."
    The problem is allow_start.al doesn't seem to exist anywhere and I'm doubting that it even should.
    Here's the code.
    #!/usr/bin/perl -w
    use strict;
    no warnings 'once';
    use Data::Dumper;
    use sapnwrfc;
    my $CLIENT     = '096';#$self->
    my %CONNECTION = ('ashost' => '',
              'sysnr'  => '00',
              'client' => '096',
              'user'   => '',
              'passwd' => '',
              'lcheck' => '1',
              'lang'   => 'EN',
              'trace'  => '0',
              'debug'  => '0',
    #print Dumper(%CONNECTION)."\n";
    my $conn = undef;
    eval { $conn = SAPNW::Rfc->rfc_connect(%CONNECTION) };
    if ($@) {
        print STDERR "RFC Connect Failed: $@\n";
    #print Dumper($conn);
    #These are transport programs for files (required by CHECKOUTVIEWX)
    $conn->allow_start_program('sapftp;saphttp;');
    #$conn->allow_start_program('/opt/SAPClients/SAPGUI7.10rev4/bin/sapftp;/opt/SAPClients/SAPGUI7.10rev4/bin/saphttp');
    $conn->disconnect;

    My objective is to download documents from the SAP DMS.
    Note that I'm using the RHEL5 & Perl platform, not XP & .NET.
    My understanding is that I need to use BAPI_DOCUMENT_CHECKOUTVIEWX and that that RFC won't work without the sapftp & saphttp transport programs.
    So that's why I'm trying to do:
    $conn->allow_start_program('sapgui;sapftp;saphttp;');
    If you've got a better way I'm all ears.
    Here's my beta code:
    sub get_Bapi_Document_Getobjectdocs {
    #PURPOSE:     Fetches the documents associated with a given work order
    #ASSUMPTIONS: Both the sapnwrfc shared object libraries are installed and the
    #             Perl interface to them (SAPNW::Rfc) are installed and working.
    #EFFECTS:    
    #INPUTS:     
    #RETURNS:     $cols:  Reference to List of column names (1D)
    #             $rows:  Reference to List of data rows (2D)
    #             $names: Reference to Hash of column names (1D)
      my ($opts) = @_;
      #Mandatory Options
      my $cols        = (exists $opts->{'-cols'})?$opts->{'-cols'}:return([],[],{});
      my $rows        = (exists $opts->{'-rows'})?$opts->{'-rows'}:return([],[],{});
      my $names       = (exists $opts->{'-names'})?$opts->{'-names'}:return([],[],{});
      #my $work_order_field = (exists $opts->{'-work_order_field'})?$opts->{'-work_ordert_field'}:'10001931';
      my $text_id     = (exists $opts->{'-text_id'})?$opts->{'-text_id'}:return($cols,$rows,$names);
      my $text_object = (exists $opts->{'-text_object'})?$opts->{'-text_object'}:return($cols,$rows,$names);
      my $text_name_components = (exists $opts->{'-text_name'})?$opts->{'-text_name'}:return($cols,$rows,$names);
      #Optional Options
      my $long_text_field        = (exists $opts->{'-long_text_field'})?$opts->{'-long_text_field'}:'work_instructions';
      my $long_text_exists_field = (exists $opts->{'-long_text_exists_field'})?$opts->{'-long_text_exists_field'}:undef;
      my $debug                  = $opts->{'debug'} || $opts->{'-debug'} || 0;
      #I've got to know where to put the long text in $rows otherwise this sub is pointless
      if(! exists $names->{$long_text_field}){return($cols,$rows,$names)}
       # use test server q0
      my $CLIENT     = '096';#$self->
      my %CONNECTION = (#'ashost' => '',
                        'sysnr'  => '00',
                        'client' => $CLIENT,
                        'user'   => '',
                        'passwd' => '',
                        'lcheck' => '1',
                        'lang'   => 'EN',
                        'trace'  => '0',
                        'debug'  => '0',
      #print Dumper(%CONNECTION)."\n";
      my $conn = undef;
      eval { $conn = SAPNW::Rfc->rfc_connect(%CONNECTION) };
      if ($@) {
        print STDERR "RFC Connect Failed: $@\n";
        return($cols,$rows,$names);
      #$conn->sap-info();
      #$conn->is_connected();
      #$conn->discover('BAPI_DOCUMENT_GETOBJECTDOCS');
      #unshift @INC, '/opt/SAPClients/SAPGUI/bin';
      #unshift @INC, '/opt/SAPClients/SAPGUI7.10rev4/bin';
      #unshift @INC, '/usr/sap/rfcsdk';
      #unshift @INC, '/usr/sap/rfcsdk/bin';
      #These are transport programs for files (required by CHECKOUTVIEWX)
      $conn->allow_start_program('sapgui;sapftp;saphttp;');
      #$conn->allow_start_program('/opt/SAPClients/SAPGUI7.10rev4/bin/sapftp;/opt/SAPClients/SAPGUI7.10rev4/bin/saphttp;');
      #$conn->allow_start_program('');
      #SAPNW::Rfc->allow_start_program('');
      #SAPNW::Rfc::allow_start_program('');
      my $rfc_getobjectdocs;
      eval { $rfc_getobjectdocs = $conn->function_lookup('BAPI_DOCUMENT_GETOBJECTDOCS') };
      if ($@) {
        print STDERR "RFC Function Lookup Failed: '$@'\n";
        return($cols,$rows,$names);
      #$debug && print Dumper($rfc_getobjectdocs);
      my $rfc_getdetail2;
      eval { $rfc_getdetail2 = $conn->function_lookup('BAPI_DOCUMENT_GETDETAIL2') };
      if ($@) {
        print STDERR "RFC Function Lookup Failed: '$@'\n";
        return($cols,$rows,$names);
      #$debug && print Dumper($rfc_getdetail2);
      my $rfc_checkoutviewx;
      eval { $rfc_checkoutviewx = $conn->function_lookup('BAPI_DOCUMENT_CHECKOUTVIEWX') };
      if ($@) {
        print STDERR "RFC Function Lookup Failed: '$@'\n";
        return($cols,$rows,$names);
      #$debug && print Dumper($rfc_getdetail2);
      for my $i (0..$#$rows){
          my $LATEST_VERSION = 'X';
          my $DATE = strftime( '%D', localtime );
          #my $DOCUMENT_PREFIX = '0000000000000000000';
          my $PORDER_PREFIX   = '0000';
          #my $MATERIAL_PREFIX = '00000000000';
          my $WORK_ORDER_OBJECT_PREFIX0 = 'H0001          000000000000';
          my $WORK_ORDER_OBJECT_PREFIX1 = 'H0001          000000000001';
          #my $MATERIAL_KEY              = 'MARA';
          my $WORK_ORDER_KEY            = 'PORDER';
          #Construct the work_order_object_key
          my $object_key = $PORDER_PREFIX . '10001931' . $WORK_ORDER_OBJECT_PREFIX0; 
          #Does need to be in the loop?
          my $fs;
          eval { $fs = $rfc_getobjectdocs->create_function_call };
          if ($@) {
               print STDERR "Create Function Call Failed: $@\n";
               #return($cols,$rows,$names);
          #$debug && print Dumper($fs);
          #$fs->CURRENTVERSIONSONLY($LATEST_VERSION);
          $fs->CURRENTVERSIONSONLY('');
          $fs->DATE($DATE);
          $fs->OBJECTKEY($object_key);
          $fs->OBJECTTYPE($WORK_ORDER_KEY);
          #$debug && print Dumper($fs);
          # invoke the Function Module and then play with the results
          $fs->invoke;
          #my $MESSAGES = $fs->RETURN;
          #$debug && print Dumper($MESSAGES);
          my $DOCUMENTS = $fs->DOCUMENTLIST;
          #$debug && print Dumper($DOCUMENTS);
          for my $j (0..$#$DOCUMENTS){
              my $type    = $DOCUMENTS->[$j]->{'DOCUMENTTYPE'};
              my $version = $DOCUMENTS->[$j]->{'DOCUMENTVERSION'};
              my $part    = $DOCUMENTS->[$j]->{'DOCUMENTPART'};
              my $number  = $DOCUMENTS->[$j]->{'DOCUMENTNUMBER'};
              #print "$type,$version,$part,$number\n";
           #Does need to be in the loop?
           my $fs;
           eval { $fs = $rfc_getdetail2->create_function_call };
           if ($@) {
             print STDERR "Create Function Call Failed: $@\n";
             #return($cols,$rows,$names);
           #$debug && print Dumper($fs);
              $fs->GETDOCDESCRIPTIONS('X');#Input
              #$fs->GETOBJECTLINKS();#Input
              #$fs->GETSTRUCTURE();#Input
              #$fs->STATUSLOG();#Input
              $fs->GETACTIVEFILES('X');#Input
              #$fs->GETCOMPONENTS();#Input
              #$fs->HOSTNAME();#Input
              $fs->GETDOCFILES('X');#Input
              #$fs->GETCLASSIFICATION();#Input
              #$fs->GETWHEREUSED();#Input
              $fs->DOCUMENTTYPE($type);#Input
              $fs->DOCUMENTVERSION($version);#Input
              #$fs->GETLONGTEXTS();#Input
              $fs->DOCUMENTPART($part);#Input
              $fs->DOCUMENTNUMBER($number);#Input
              #$debug && print Dumper($fs);
           # invoke the Function Module and then play with the results
           $fs->invoke;
           #my $MESSAGES = $fs->RETURN;
           #$debug && print Dumper($MESSAGES);
           #my $DOCUMENTDATA = $fs->DOCUMENTDATA;
           #$debug && print Dumper($DOCUMENTDATA);
              #$debug && print Dumper($fs->COMPONENTS());#Output Table
              #$debug && print Dumper($fs->CLASSALLOCATIONS());#Output Table
              #$debug && print Dumper($fs->DOCUMENTDESCRIPTIONS());#Output Table...what Nick Uses
              #$debug && print Dumper($fs->DOCUMENTSTRUCTURE());#Output Table
              #$debug && print Dumper($fs->CHARACTERISTICVALUES());#Output Table
              #$debug && print Dumper($fs->GETSTATUSLOG());#Output Table
              #$debug && print Dumper($fs->OBJECTLINKS());#Output Table
              #$debug && print Dumper($fs->DOCUMENTFILES());#Output Table...what Nick Uses
              #$debug && print Dumper($fs->LONGTEXTS());#Output Table
              #$debug && print Dumper($fs->WHEREUSEDLIST());#Output Table
              my $DOCUMENTFILES = $fs->DOCUMENTFILES;
           #$debug && print Dumper($DOCUMENTFILES);
              for my $k (0..$#$DOCUMENTFILES){
                  my $application = $DOCUMENTFILES->[$k]->{'WSAPPLICATION'};
                  if($application eq 'EXL'){
                #Does need to be in the loop?
                my $fs;
                eval { $fs = $rfc_checkoutviewx->create_function_call };
                if ($@) {
                  print STDERR "Create Function Call Failed: $@\n";
                  #return($cols,$rows,$names);
                #$debug && print Dumper($fs);
                   #print "$type,$version,$part,$number\n";
                   my $ARGUMENTS = [{'DOCUMENTTYPE'    => $type,
                               'DOCUMENTVERSION' => $version,
                               'DOCUMENTPART'    => $part,
                               'DOCUMENTNUMBER'  => $number,
                      $fs->DOCUMENTS($ARGUMENTS);
                      $fs->GETCOMPONENTS('X');#Input
                      #$fs->PF_HTTP_DEST();#Input
                      #$fs->HOSTNAME();#Input
                      #$fs->PF_FTP_DEST();#Input
                      $fs->ORIGINALPATH('/home/jwelter');#Input
                      $fs->WSAPPLICATION([{'WSAPPLICATION' => $application}]);
                      $debug && print Dumper($fs);
                      # invoke the Function Module and then play with the results
                   $fs->invoke;
                      #$debug && print Dumper($fs->DOCUMENTFILES_IN());#Output table
                      #$debug && print Dumper($fs->DOCUMENTFILES_OUT());#Output table
                      #$debug && print Dumper($fs->COMPONENTS());#Output table
                      #$debug && print Dumper($fs->WSAPPLICATION());#Output table
                      #Error Messages
                      $debug && print Dumper($fs->RETURN());#Output
               }#if($application eq 'EXL'){
              }#for my $k (0..$#$DOCUMENTFILES){
          }#for my $j (0..$#$DOCUMENTS){
      }#for my $i (0..$#$rows){
      $conn->disconnect;
    #  if($debug){
    #    #Column Names
    #    foreach(@{$cols}){print "$_\t"}
    #    print "\n";
    #    #Data
    #    foreach my $row ( @{$rows} ){
    #      foreach ( @{$row} ){
    #     if( defined $_ ){print "$_\t"}else{print "\t"}
    #      print "\n";
    #  }#if($debug){
      return ($cols,$rows,$names);
    }#sub get_Bapi_Document_Getobjectdocs {

  • RFC Sender problem  between 46D and RFC adapter

    Hi,
    I have this simple integration scenario where I want to send data to a archiving system;
    SAP -> (tRFC) -> XI -> (MQ) -> BizTalk -> (MQ) Arch.syst.
    SAP side ***
    A Z-program using a Z func. like;
        CALL FUNCTION 'ZSD_DCF_SEND_TAG'
          IN BACKGROUND TASK
          DESTINATION 'XISYSTEM_TRFC_DCF'
          EXPORTING
            pt_filing_info = gt_filing.
        COMMIT WORK AND WAIT.
    XI side ***
    Both IR and ID is configured correctly, in the development environment everything works just great. I have created a test program where I can define how many calls I will do, looping over the func. call with a commit inside the loop - 500 or more msgs are ok.
    The integration scenario is transported to quality enviroment using CMS, and the RFC sender comm.ch. is configured accordingly.
    The problem in quality ***
    When sending just 1 msg, everything is just fine, message received and delivered to MQ.
    When sending >= 2 msgs, the 1 msg is always ok, BUT all others fails due to the following from Adapter monitor;
    RFC_HISTORY
    - Error: 2006-01-19 10:55:18 CET: com.sap.aii.af.rfc.afcommunication.RfcAFWException: lookup of alternativeServiceIdentifier via CPA-cache failed for channel 'RFCSender_XI0002' (02d4d30de3593874942ed0659add0827, party '', schema 'TechnicalSystem', identifier 'Q93#120')
    - OK: 2006-01-19 10:55:17 CET: Message processed for interface ZSD_DCF_SEND_TAG
    My sending system is Q93 CLI 505 so I can understand the error, BUT I cannot understand why the RFC adapter is saying the TechnicalSystem is Q93#120 - it should be Q93#505. My Q XI has client 120...
    It seems to me that the RFC adapter is kind of confused about the sender..
    I have created a OSS message and SAP has looged on and looked into it with both a XI expert and RFC expert without being able to answer - all is configured correctly.
    - The SLD config. for bus.system Q93 is ok -
    - The bus.system in ID is showing correct vaues for
    Adapter Specific Identifiers (SID Q93, client 505)
    - Both Dev. and Qual. environment are running on XI 3.0 SP 14 latest patch, RFC component version on the SAP side is identical between dev. and qual. SAP systems
    - It doesn't matter which gw I use (Q93 gw or XI gw), the error is persistent
    - It doesn't matter if I increase initial conn, max conn.
    I have also tried to use qRFC instead, but with the same result.
    Anyone using tRFC for asynch. communication from SAP to XI seeing something similar?
    Meanwhile, I will do RFC trace on GW and RFC Adapter on AE....
    Please, do not say SP15, oss msg for FAQ RFC adapter or links to RFCAdapter config....
    best regards
    Torstein

    Hi,
    SAP Note 730870 FAQ: XI 3.0 RfcAdapter Q.no 15
    <i>Q 15: Whats wrong when the error message "lookup of alternativeServiceIdentifier via CPA-cache failed" shows up while sending a RFC call to the RfcAdapter?
    A: A RFC sender channel is located beneath a service within the Integration Directory. Within this service choose "Service" -> "Adapter-Specific Identifiers". The values in the fields "R/3 System ID" and "Client" has to be maintained with the correct values of the system, that sends the RFC call to the RfcAdapter. It normaly only makes sense to have these values filled for services of type "Business System". If maintained in SLD, this fields will be filled automaticaly for services of type "Business System" and can be updated with the button "Compare with System Landscape Directory".</i>
    - Give correct appserver and gateway service details in XI.
    - Open the service holding the RFC adapter you are trying to use. On the top menu, goto Service -> Adapter Specific Identifiers..
    Regards,
    Prateek

  • SAP RFC SDK 7.10 Compilation Issues

    Hello ,
    We have a Pro*C program that is using the RFC SDK 7.10
    When we are compiling our program with Pro*C Compiler in HP UX 11iv2 os we are getting the following errors:
    SAP_U16_PROTOTYPE_STDC(mkstemp)..1 PCC-S-02201, Encountered the symbol "mkstemp" when expecting one of the following: Error at line 1895, column 1 in file /home/psoni/rfcsdk-710/orgseclib/sapuc.h  SAP_U16_PROTOTYPE_UO(dirname) 1 
    PCC-S-02201, Encountered the symbol "SAP_U16_PROTOTYPE_UO_HLP" when expecting on
    e of the following: ; , = ( [ * ? | & < > + - / % . ^ *= /= %= += -= <<= >>= &&=
       ||= ^= | & == != <= >= << >> ++ -- ->
    The symbol ";" was substituted for "SAP_U16_PROTOTYPE_UO_HLP" to continue.
    Syntax error at line 1901, column 1, file /home/psoni/rfcsdk-710/orgseclib/sapuc.h:
    Error at line 1901, column 1 in file /home/psoni/rfcsdk-710/orgseclib/sapuc.h
    SAP_U16_PROTOTYPE(ecvt) 1
    PCC-S-02201, Encountered the symbol "extern" when expecting one of the following
    :   ; , = ( [ * ? | & < > + - / % . ^ *= /= %= += -= <<= >>= &&=
       ||= ^= | & == != <= >= << >> ++ -- ->
    I had checked the files sapuc.h and sapucx.h are correctly included in my program.
    Also I checked for the errors : that the reference of some constants like 
    SAP_U16_PROTOTYPE is present is sapuc.h - However I am not able to
    identify the cause of compilation issues.
    Please can anyone guide me - or give any hints as to how this compilation issues can be resolved.
    On sap rfc sdk version 6.20 with HPUnix 11iV1  we did not face such problems. Post that release  we have tried all libraries including 6.40  and all of them are giving the above errors.
    Thanks for the help.
    Regards,
    Shivani

    This compiler error looks really strange.
    Without your sources (of the affected file) and the full command line it's impossible to suggest something.
    Markus

  • 'Classic' RFC library - password limited for rfc calls ?

    Hi ,
    we are using the 'classic'  RFC library to connect  to SAP for calling RFC function modules. Due to the fact that there are often older SAP systems involed, we use only passwords with 8 digits. But now we have the requirement to use passwords for the rfc user with more than 8 digits.  According to my todays knowlede, the password is limited to 8 digits with the standard rfc lib.
    Can the newer SAP NW RFC lib handle a password with more than 8 digits ?
    But  am i right that the SAPNW RFC lib is unable to handle rfc calls with opening a SAPGUI ?
    thx
    Heike

    Hi,
    thank you for your answer!
    I have investigated something new yesterday:
    I thought at the beginning, that the problem just occurs, when the system work processes are reached. The system has for example set up 15 dialog processes and the external server is calling the function 20 times in parallel. Then we normally need 5 dialog processes more. The system is taking then all 15 dialog processes and the locks got stucked.
    That means, that I´ll maybe only get 4 or 5 uploads, which have really been updated the tables. All the others couldn´t get the table locked for their process.
    But if I now let the server call the function just about 13 times in parallel, nearly all uploads have been updated the table!
    From my point of view, the lock from SAP gets stucked, when the limit of dialog processes is reached. It´s not working in the right way anymore...
    The same is happening, when you set up in the system, that only 10 work proecesses can be used by RFC. If I have more than 10, it´s going to be critical with the locks....
    WEIRD!
    Can anybody help me out of trouble?
    Thank you!

  • BGP snmp trap on XR OS

    We are trying to test the snmp trap on IOS-XR for BGP up down, but ASR didn't send out any traps when we brought down the BGP neighbour. When we tested the OSPF, it worked fine. I also tried to use command 'snmp test' to generate the test trap and I got following message, The version is 4.2. Any suggestions? Thanks.
    RP/0/RSP0/CPU0:Feb 22 13:58:20.691 : test_trap[65889]: Debug init Done
    RP/0/RSP0/CPU0:Feb 22 13:58:21.083 : test_trap[446]: Trap ID: 28
    RP/0/RSP0/CPU0:Feb 22 13:58:21.084 : test_trap[446]: make_test_traps: input args 0x0 0x0 (null) (null)
    Failed to format BGP Trap
    RP/0/RSP0/CPU0:Feb 22 13:58:21.084 : test_trap[446]: get_first_bgp_peer_index: Getting first BGP Peer
    RP/0/RSP0/CPU0:Feb 22 13:58:21.104 : test_trap[446]: get_first_bgp_peer_index: Failed to get BGP indices
    Current config:
    snmp-server host x.x.x.x traps version 2c xxxxxx
    snmp-server community encrypted xxxx RO
    snmp-server community encrypted yyyy RW
    snmp-server traps rf
    snmp-server traps bgp cbgp2
    snmp-server traps bgp
    snmp-server traps ospf state-change neighbor-state-change
    snmp-server packetsize 1024
    snmp-server trap-source MgmtEth0/RSP0/CPU0/0
    snmp-server ifindex persist
    Regards. Leo

    Hi,
    I am running 4.2.3 and seems like trap generated.  also see the snm-server traps bgp commands in running config.
    RP/0/RSP0/CPU0:PE2#show vrf mse_1001 detail
    Mon Feb 25 14:58:29.027 PST
    VRF mse_1001; RD 65002:1001; VPN ID not set
    VRF mode: Regular
    Description not set
    Interfaces:
      GigabitEthernet0/3/0/0.1001
    Address family IPV4 Unicast
      Import VPN route-target communities:
        RT:65001:1001
      Export VPN route-target communities:
        RT:65001:1001
      No import route policy
      No export route policy
    Address family IPV6 Unicast
      Import VPN route-target communities:
        RT:65001:1001
      Export VPN route-target communities:
        RT:65001:1001
      No import route policy
      No export route policy
    RP/0/RSP0/CPU0:PE2#show ipv4 vrf mse_1001 interface brief
    Mon Feb 25 14:59:16.154 PST
    Interface                      IP-Address      Status                Protocol
    GigabitEthernet0/3/0/0.1001    101.1.1.1       Up                    Up     
    RP/0/RSP0/CPU0:PE2#term mon
    Mon Feb 25 14:59:33.803 PST
    RP/0/RSP0/CPU0:PE2#conf t
    Mon Feb 25 14:59:34.894 PST
    RP/0/RSP0/CPU0:PE2(config)#int gi0/3/0/0.1001
    RP/0/RSP0/CPU0:PE2(config-subif)#shut
    RP/0/RSP0/CPU0:PE2(config-subif)#commit
    Mon Feb 25 14:59:46.480 PST
    LC/0/3/CPU0:Feb  25 14:59:46.617 : bfd_agent[124]: %L2-BFD-6-ADJACENCY_DELETE :  Adjacency to neighbor 101.1.1.2 on interface GigabitEthernet0/3/0/0.1001  was deleted
    RP/0/RSP0/CPU0:Feb 25 14:59:46.621 : bgp[1048]:  %ROUTING-BGP-5-ADJCHANGE : neighbor 101.1.1.2 Down - Admin. shutdown  (VRF: mse_1001)
    RP/0/RSP1/CPU0:Feb 25 14:59:46.620 : bgp[1048]:  %ROUTING-BGP-5-NBR_NSR_DISABLED_STANDBY : NSR disabled on neighbor  101.1.1.2 on standby due to Admin. shutdown (VRF: mse_1001)
    RP/0/RSP0/CPU0:Feb  25 14:59:46.626 : bgp[1048]: %ROUTING-BGP-5-ADJCHANGE : neighbor  1011:1:1::2 Down - Admin. shutdown (VRF: mse_1001)
    RP/0/RSP1/CPU0:Feb 25 14:59:46.622 : bgp[1048]:  %ROUTING-BGP-5-NBR_NSR_DISABLED_STANDBY : NSR disabled on neighbor  1011:1:1::2 on standby due to Admin. shutdown (VRF: mse_1001)
    LC/0/3/CPU0:Feb 25 14:59:46.719 : bfd_agent[124]:  %L2-BFD-6-ADJACENCY_DELETE : Adjacency to neighbor 1011:1:1::2 on  interface GigabitEthernet0/3/0/0.1001 was deleted
    LC/0/3/CPU0:Feb 25 14:59:47.294 : bfd_agent[124]:  %L2-BFD-6-SESSION_STATE_DOWN : BFD session to neighbor 1011:1:1::2 on  interface GigabitEthernet0/3/0/0.1001 has gone down. Reason: Control  timer expired
    LC/0/3/CPU0:Feb 25 14:59:47.401 : bfd_agent[124]:  %L2-BFD-6-SESSION_STATE_DOWN : BFD session to neighbor 101.1.1.2 on  interface GigabitEthernet0/3/0/0.1001 has gone down. Reason: Nbor  signalled down
    RP/0/RSP0/CPU0:Feb 25 14:59:47.513 : config[65903]:  %MGBL-CONFIG-6-DB_COMMIT : Configuration committed by user 'lab'. Use  'show configuration commit changes 1000000208' to view the changes.
    RP/0/RSP0/CPU0:PE2(config-subif)#RP/0/RSP0/CPU0:Feb 25 14:59:47.633 : snmpd[1112]: t8 Queueing trap:ciscoBgp4MIB.0.2 qlen:0
    RP/0/RSP0/CPU0:Feb 25 14:59:47.633 : snmpd[1112]: t8 Queueing trap:bgp.0.2 qlen:1
    RP/0/RSP0/CPU0:Feb 25 14:59:47.634 : snmpd[1112]: t8 Queueing trap:ciscoBgp4MIB.0.8 qlen:2
    RP/0/RSP0/CPU0:Feb 25 14:59:47.634 : snmpd[1112]: t8 Queueing trap:ciscoBgp4MIB.0.6 qlen:3
    RP/0/RSP0/CPU0:Feb 25 14:59:47.635 : snmpd[1112]: t8 Queueing trap:ciscoBgp4MIB.0.1 qlen:4
    RP/0/RSP0/CPU0:Feb 25 14:59:47.635 : snmpd[1112]: t8 Queueing trap:ciscoBgp4MIB.0.7 qlen:5
    RP/0/RSP0/CPU0:Feb 25 14:59:47.635 : snmpd[1112]: t8 Queueing trap:ciscoBgp4MIB.0.8 qlen:6
    RP/0/RSP0/CPU0:Feb 25 14:59:47.636 : snmpd[1112]: t8 Queueing trap:ciscoBgp4MIB.0.6 qlen:7
    RP/0/RSP0/CPU0:Feb 25 14:59:47.636 : snmpd[1112]: t8 Queueing trap:ciscoBgp4MIB.0.7 qlen:8
    RP/0/RSP0/CPU0:Feb 25 14:59:47.637 : snmpd[1112]: t13 Processing trap ciscoBgp4MIB.0.2
    RP/0/RSP0/CPU0:Feb 25 14:59:47.637 : snmpd[1112]: t13 Processing trap bgp.0.2
    RP/0/RSP0/CPU0:Feb 25 14:59:47.638 : snmpd[1112]: t13 Processing trap ciscoBgp4MIB.0.8
    RP/0/RSP0/CPU0:Feb 25 14:59:47.638 : snmpd[1112]: t13 Processing trap ciscoBgp4MIB.0.6
    RP/0/RSP0/CPU0:Feb 25 14:59:47.638 : snmpd[1112]: t13 Processing trap ciscoBgp4MIB.0.1
    RP/0/RSP0/CPU0:Feb 25 14:59:47.639 : snmpd[1112]: t13 Processing trap ciscoBgp4MIB.0.7
    RP/0/RSP0/CPU0:Feb 25 14:59:47.639 : snmpd[1112]: t13 Processing trap ciscoBgp4MIB.0.8
    RP/0/RSP0/CPU0:Feb 25 14:59:47.639 : snmpd[1112]: t13 Processing trap ciscoBgp4MIB.0.6
    RP/0/RSP0/CPU0:Feb 25 14:59:47.640 : snmpd[1112]: t13 Processing trap ciscoBgp4MIB.0.7
    RP/0/RSP0/CPU0:PE2(config-subif)#
    RP/0/RSP0/CPU0:PE2(config-subif)#end
    RP/0/RSP0/CPU0:Feb 25 14:59:55.901 : config[65903]:  %MGBL-SYS-5-CONFIG_I : Configured from console by lab on vty0  (223.255.254.249)
    RP/0/RSP0/CPU0:PE2#show snmp trap
    Mon Feb 25 14:59:59.901 PST
    TrapOID                                  Number of Times
    bgp.0.2                                  1                       
    ciscoBgp4MIB.0.1                         1                       
    ciscoBgp4MIB.0.2                         1                       
    ciscoBgp4MIB.0.6                         2                       
    ciscoBgp4MIB.0.7                         2                       
    ciscoBgp4MIB.0.8                         2                       
    RP/0/RSP0/CPU0:PE2#show running-config snmp-server
    Mon Feb 25 15:00:20.221 PST
    snmp-server vrf mse_1001
    context public
    snmp-server community public RW
    snmp-server traps bgp cbgp2
    snmp-server traps bgp
    snmp-server traps vrrp events
    snmp-server ifindex persist
    RP/0/RSP0/CPU0:PE2#conf t
    Mon Feb 25 15:02:35.935 PST
    RP/0/RSP0/CPU0:PE2(config)#int gi0/3/0/0.1001
    RP/0/RSP0/CPU0:PE2(config-subif)#no shut
    RP/0/RSP0/CPU0:PE2(config-subif)#commit
    Mon Feb 25 15:02:42.609 PST
    RP/0/RSP0/CPU0:Feb 25 15:02:43.369 : bgp[1048]: %ROUTING-BGP-5-ADJCHANGE : neighbor 101.1.1.2 Up (VRF: mse_1001)
    RP/0/RSP0/CPU0:Feb  25 15:02:43.606 : config[65903]: %MGBL-CONFIG-6-DB_COMMIT :  Configuration committed by user 'lab'. Use 'show configuration commit  changes 1000000209' to view the changes.
    RP/0/RSP0/CPU0:PE2(config-subif)#LC/0/3/CPU0:Feb  25 15:02:44.223 : bfd_agent[124]: %L2-BFD-6-SESSION_STATE_UP : BFD  session to neighbor 101.1.1.2 on interface GigabitEthernet0/3/0/0.1001  is up
    RP/0/RSP0/CPU0:Feb 25 15:02:44.286 : snmpd[1112]: t8 Queueing trap:ciscoBgp4MIB.0.1 qlen:0
    RP/0/RSP0/CPU0:Feb 25 15:02:44.286 : snmpd[1112]: t8 Queueing trap:ciscoBgp4MIB.0.7 qlen:1
    RP/0/RSP0/CPU0:Feb 25 15:02:44.287 : snmpd[1112]: t8 Queueing trap:ciscoBgp4MIB.0.1 qlen:2
    RP/0/RSP0/CPU0:Feb 25 15:02:44.287 : snmpd[1112]: t8 Queueing trap:ciscoBgp4MIB.0.7 qlen:3
    RP/0/RSP0/CPU0:Feb 25 15:02:44.288 : snmpd[1112]: t8 Queueing trap:ciscoBgp4MIB.0.1 qlen:4
    RP/0/RSP0/CPU0:Feb 25 15:02:44.289 : snmpd[1112]: t8 Queueing trap:ciscoBgp4MIB.0.7 qlen:5
    RP/0/RSP0/CPU0:Feb 25 15:02:44.289 : snmpd[1112]: t8 Queueing trap:bgp.0.1 qlen:6
    RP/0/RSP0/CPU0:Feb 25 15:02:44.290 : snmpd[1112]: t8 Queueing trap:ciscoBgp4MIB.0.5 qlen:7
    RP/0/RSP0/CPU0:Feb 25 15:02:44.291 : snmpd[1112]: t8 Queueing trap:ciscoBgp4MIB.0.1 qlen:8
    RP/0/RSP0/CPU0:Feb 25 15:02:44.291 : snmpd[1112]: t8 Queueing trap:ciscoBgp4MIB.0.7 qlen:9
    RP/0/RSP0/CPU0:Feb 25 15:02:44.292 : snmpd[1112]: t10 Processing trap ciscoBgp4MIB.0.1
    RP/0/RSP0/CPU0:Feb 25 15:02:44.292 : snmpd[1112]: t10 Processing trap ciscoBgp4MIB.0.7
    RP/0/RSP0/CPU0:Feb 25 15:02:44.292 : snmpd[1112]: t10 Processing trap ciscoBgp4MIB.0.1
    RP/0/RSP0/CPU0:Feb 25 15:02:44.293 : snmpd[1112]: t10 Processing trap ciscoBgp4MIB.0.7
    RP/0/RSP0/CPU0:Feb 25 15:02:44.293 : snmpd[1112]: t10 Processing trap ciscoBgp4MIB.0.1
    RP/0/RSP0/CPU0:Feb 25 15:02:44.293 : snmpd[1112]: t10 Processing trap ciscoBgp4MIB.0.7
    RP/0/RSP0/CPU0:Feb 25 15:02:44.293 : snmpd[1112]: t10 Processing trap bgp.0.1
    RP/0/RSP0/CPU0:Feb 25 15:02:44.294 : snmpd[1112]: t10 Processing trap ciscoBgp4MIB.0.5
    RP/0/RSP0/CPU0:Feb 25 15:02:44.294 : snmpd[1112]: t10 Processing trap ciscoBgp4MIB.0.1
    RP/0/RSP0/CPU0:Feb 25 15:02:44.294 : snmpd[1112]: t10 Processing trap ciscoBgp4MIB.0.7
    RP/0/RSP0/CPU0:PE2(config-subif)#
    RP/0/RSP0/CPU0:PE2(config-subif)#end  
    RP/0/RSP0/CPU0:Feb  25 15:02:48.825 : config[65903]: %MGBL-SYS-5-CONFIG_I : Configured from  console by lab on vty0 (223.255.254.249)
    RP/0/RSP0/CPU0:PE2#conf tRP/0/RSP0/CPU0:Feb 25 15:02:49.418 : snmpd[1112]: t8 Queueing trap:ciscoBgp4MIB.0.7 qlen:0
    RP/0/RSP0/CPU0:Feb 25 15:02:49.419 : snmpd[1112]: t8 Queueing trap:ciscoBgp4MIB.0.7 qlen:1
    RP/0/RSP0/CPU0:Feb 25 15:02:49.420 : snmpd[1112]: t10 Processing trap ciscoBgp4MIB.0.7
    RP/0/RSP0/CPU0:Feb 25 15:02:49.421 : snmpd[1112]: t10 Processing trap ciscoBgp4MIB.0.7
    show  running-config snmp-server RP/0/RSP0/CPU0:Feb 25 15:02:50.510 :  bgp[1048]: %ROUTING-BGP-5-ADJCHANGE : neighbor 1011:1:1::2 Up (VRF:  mse_1001)
    show snmp trapLC/0/3/CPU0:Feb 25 15:02:51.046 :  bfd_agent[124]: %L2-BFD-6-SESSION_STATE_UP : BFD session to neighbor  1011:1:1::2 on interface GigabitEthernet0/3/0/0.1001 is up
    RP/0/RSP0/CPU0:Feb 25 15:02:51.516 : snmpd[1112]: t8 Queueing trap:ciscoBgp4MIB.0.7 qlen:0
    RP/0/RSP0/CPU0:Feb 25 15:02:51.516 : snmpd[1112]: t8 Queueing trap:ciscoBgp4MIB.0.5 qlen:1
    RP/0/RSP0/CPU0:Feb 25 15:02:51.517 : snmpd[1112]: t8 Queueing trap:ciscoBgp4MIB.0.7 qlen:2
    RP/0/RSP0/CPU0:Feb 25 15:02:51.519 : snmpd[1112]: t10 Processing trap ciscoBgp4MIB.0.7
    RP/0/RSP0/CPU0:Feb 25 15:02:51.520 : snmpd[1112]: t10 Processing trap ciscoBgp4MIB.0.5
    RP/0/RSP0/CPU0:Feb 25 15:02:51.520 : snmpd[1112]: t10 Processing trap ciscoBgp4MIB.0.7
    Mon Feb 25 15:02:54.118 PST
    TrapOID                                  Number of Times
    bgp.0.1                                  1                       
    bgp.0.2                                  1                       
    ciscoBgp4MIB.0.1                         5                       
    ciscoBgp4MIB.0.2                         1                       
    ciscoBgp4MIB.0.5                         2                       
    ciscoBgp4MIB.0.6                         2                       
    ciscoBgp4MIB.0.7                         10                      
    ciscoBgp4MIB.0.8                         2                       
    RP/0/RSP0/CPU0:PE2#
    Thanks
    Parthiv

  • LMS 4.2 and SNMPv3 traps

    Hello,
    Does LMS4.2 or better the DFM of LMSv4.2 support SNMPv3 traps? I read in lms42rel.pdf => In this release, Trap support is provided for SNMPv3 configured devices, SNMPv2 configured devices, unknown devices, and non-Cisco devices.
    If yes, do we need to provide the SNMP Engine-IDs of target devices sending traps so that LMS can decrypt the traps or will LMS deploy the Engine-IDs from the poll cache to the DFM trap receiver? If manual Engine-ID maintanance is required, where in LMS can we type in the Engine-ID's?
    thx for answers in advance,
    Steffen

    Seems the SNMP v3 config is not correct.
    Please see my comments inline (in bold blue) as per your config, in what i think is incorrect:
    snmp-server view LMS iso included     --> correct
    snmp-server view LMS ####at excluded     --> dont know if #'s are by mistake
    snmp-server view NMS snmpUsmMIB excluded --> Not sure if NMS is typo or you made a new view after LMS.
    snmp-server view LMS snmpVacmMIB excluded      --> correct
    snmp-server view LMS snmpCommunityMIB excluded     --> correct
    snmp-server group LMS v3 priv read v3read write v3write notify LMS `--> Incorrerect, as after read and write you should have a SNMP View which is configured with "snmp-server view" command, which is either LMS or NMS in your case. There is no v3read or v3write configured.
    snmp-user LMS LMS v3 auth md5 authPW priv aes 128 privPW      -->Not sure if "snmp-user" is again a typo, else everything is correct.
    snmp-server host x.x.x.x traps version 3 priv NMS      --> There is no user as 'NMS'. after priv it should be either "SNMPv1/v2c community string or SNMPv3 user name". I dont see any username as NMS, as per config it should be LMS.
    -Thanks

  • Ruby on Rails + RFC

    Is there a way to call RFC using Ruby on Rails?!
    I want to list all purchase order waiting approval calling BAPI_PO_GET_LIST. And also I want to use the approval BAPI for both PO and Requests.
    Thanks in advance,
    Guilherme Costa

    All,
    This is the code I've used for testing:
    require 'sapnwrfc'
    start = Time.now
    startGlobal = Time.now
    # Connect SAP
    print "[" + (Time.now - startGlobal).to_s + "s][" + (Time.now - start).to_s + "s] Connecting SAP...\n"
    rfc = SAPNW::RFC::Connection.new(:ashost => "spsapbw", :sysnr => "60", :client => "210", :user => "<YOUR_USER>", :passwd => "<YOUR_PASSWORD>", :lang => "PT", :destination => "RC3", :trace => "0")
    print "[" + (Time.now - startGlobal).to_s + "s][" + (Time.now - start).to_s + "s] SAP is connected!\n"
    start = Time.now
    # Get function information
    print "[" + (Time.now - startGlobal).to_s + "s][" + (Time.now - start).to_s + "s] Getting function...\n"
    fun = rfc.discover("BAPI_REQUISITION_RELEASE_GEN")
    print "[" + (Time.now - startGlobal).to_s + "s][" + (Time.now - start).to_s + "s] Function ready!\n"
    start = Time.now
    times = 10
    for i in (1..times)
        # Create a function call
        funCall = fun.new_function_call
        # Set some parameters
        funCall.NUMBER = i.to_s
        funCall.REL_CODE = "AC"
        # Invoke function
        funCall.invoke
        # Get RETURN Type
        #print "TYPE: " + funCall.RETURN[0].values_at("TYPE")[0] + "\n"
        # Get Message
        #print "MESSAGE: " + funCall.RETURN[0].values_at("MESSAGE")[0] + "\n"
    end
    print "[" + (Time.now - startGlobal).to_s + "s][" + (Time.now - start).to_s + "s] Function called " + times.to_s + " times!\n"
    print "[" + (Time.now - startGlobal).to_s + "s] Done!\n"
    Best regards,
    Guilherme Costa

  • Trap OID mismatch between send/receive - why?

    I am using a trapgen tool with the following command to send a trap to TEO:
    trapgen -f input.txt
    input.txt file contains the sender's OID specified with a -o option. Now on to my question:
    Regardless of the what the sender's OID is, the OID received by SNMP adaptor in TEO is different as seen in the log file. In my case, I am sending the following OID 1.3.6.1.4.1.1824 but am seeing the following OID in SNMP adaptor log file: 1.3.6.1.6.3.1.1.5.6.
    Question: Would like to understand why this OID mismatch between what is sent Vs what is received by TEO?
    thanks,
    Jamal

    Same post from the email I sent and posted otherplace.
    Here is the email info as well...
    My assumption is because of some other parameter in that tool. It is *forcing* it to be that. Maybe it’s the version or something in the variable bindings. I do not know SNMP deep enough or that tool deep enough to give a complete answer. I found some sites by googling that tool, so that’s a start:
    http://mango.serotoninsoftware.com/forum/posts/list/217.page
    http://docstore.mik.ua/orelly/networking_2ndEd/snmp/ch10_03.htm
    http://www.cisco.com/en/US/tech/tk648/tk362/technologies_tech_note09186a0080094aa5.shtml
    Again, my understanding and knowledge of SNMP is limited, so if you need a SNMP expert, better to look to the networking TAC I’d guess.
    I was able to send in a different OID by running the command like this:
    Trapgen –d 172.18.173.116 –o .1.3.1.4.1.2654 –v .1.3.1.4.1.2854.1.2 INTEGER 20
    This was picked up in TEO like this…
    04/25 15:49:01:075[TrapListener.0]: (mem=45222712/375521280) TrapReceiveHandler: Incoming trap from 172.18.173.7 to local port 162
    04/25 15:49:01:075[TrapListener.0]: (mem=45222712/375521280) TrapReceiveHandler: Incoming trap version: V1 and community string: public
    04/25 15:49:01:075[TrapListener.0]: (mem=45222712/375521280) TrapReceiveHandler: Incoming trap has no Trap OID
    04/25 15:49:01:075[TrapListener.0]: (mem=45222712/375521280) TrapReceiveHandler: Convert incoming V1 trap's trap OID to: 1.3.1.4.1.2654.0.1
    04/25 15:49:01:075[TrapListener.0]: (mem=45222712/375521280) TrapReceiveHandler: Trap source FQDN :IA-TAC-AUTO-TLS.CISCO.COM
    04/25 15:49:01:075[TrapListener.0]: (mem=45222712/375521280) TrapReceiveHandler: Trap source from computer:IA-TAC-AUTO-TLS
    And I verified that in the GUI.
    Furthermore I found that I could trigger off of “*” for Trap OID in the trigger. So you can put a star to trigger off of any OID, and then just put some criteria for the variable bindings. This might work better.
    Remember in the process we wrote and gave you, that the trigger does a search into the variable binding for *ERROR* so if you were monitoring "*" OID but still using that conditional it should be fine.

  • Re:SNMP Trap in 10.3

    Hello
    We are migrating Applications for 8.1 to 10.3
    So we wanted to set SNMP Traps in the 10.3 at the domain Level
    We had setup the traps in 10.3 and restarted but we are not able to recevie any traps
    Please let me know if you have any suggestions
    Regards
    -nar-

    When you start the managed server, you should see a message such as the following:
    <Feb 18, 2010 12:39:04 AM EST> <Notice> <SNMP> <BEA-320931> <The SNMP trap version is 2>
    Are you using a port > 1000 on your Server agent? 161 is probably just your port on the Domain agent. There are 2 ports to be careful of, SNMP UDP Port and Master AgentX Port; both on the General tab for the server agent.
    Here's an extract of the SNMP config, showing the "Server SNMP Agents" and a single String Monitor for the server status
    <snmp-agent-deployment>
    <name>Name_of_server_SNMPAgent</name>
    <enabled>true</enabled>
    <send-automatic-traps-enabled>true</send-automatic-traps-enabled>
    <snmp-port>1161</snmp-port>
    <snmp-trap-version>2</snmp-trap-version>
    <community-prefix>public</community-prefix>
    <snmp-trap-destination>
    <name>some name</name>
    <host>xxx.xxx.xxx.xxx</host>
    <port>162</port>
    <community>public</community>
    <security-level>noAuthNoPriv</security-level>
    </snmp-trap-destination>
    <snmp-string-monitor>
    <name>ServerStatus</name>
    <enabled-server>Server1,Server2</enabled-server>
    <monitored-m-bean-type>ServerRuntime</monitored-m-bean-type>
    <monitored-m-bean-name></monitored-m-bean-name>
    <monitored-attribute-name>HealthState</monitored-attribute-name>
    <polling-interval>10</polling-interval>
    <string-to-compare>OK</string-to-compare>
    <notify-differ>true</notify-differ>
    <notify-match>false</notify-match>
    </snmp-string-monitor>
    <community-based-access-enabled>true</community-based-access-enabled>
    <snmp-engine-id>Name_of_server_SNMPAgent</snmp-engine-id>
    <authentication-protocol>noAuth</authentication-protocol>
    <privacy-protocol>noPriv</privacy-protocol>
    <inform-retry-interval>10000</inform-retry-interval>
    <max-inform-retry-count>1</max-inform-retry-count>
    <localized-key-cache-invalidation-interval>3600000</localized-key-cache-invalidation-interval>
    <snmp-access-for-user-m-beans-enabled>false</snmp-access-for-user-m-beans-enabled>
    <inform-enabled>false</inform-enabled>
    <master-agent-x-port>1705</master-agent-x-port>
    <target>AdminServer,Cluster1,Cluster2</target>
    </snmp-agent-deployment>

  • WLSS3.0 and application code SNMP trap error

    Hi,
    I'm trying to generate SNMP traps through application code as described in the documentation at [url http://e-docs.bea.com/wlcp/wlss30/programming/snmptraps.html]. By using an SNMP manager I have verified that WLSS can send traps during startup and shutdown. My application code, however, fails to do so. When my SIP servlet is deployed, I get the following errors.
    <17.apr.2007 kl 10.02 CEST> <Notice> <SNMP Agent> <000000> <The SNMP trap version is 1>
    <17.apr.2007 kl 10.02 CEST> <Error> <SNMP> <BEA-320912> <Error during initialization while attempting to obtain MBeanServerConnection.
    java.io.IOException: Unable to resolve 'weblogic.management.mbeanservers.domainruntime'. Resolved 'weblogic.management.mbeanservers'
            at weblogic.management.remote.common.ClientProviderBase.makeConnection(ClientProviderBase.java:135)
            at weblogic.management.remote.common.ClientProviderBase.newJMXConnector(ClientProviderBase.java:79)
            at javax.management.remote.JMXConnectorFactory.newJMXConnector(JMXConnectorFactory.java:326)
            at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:247)
            at weblogic.management.snmp.agent.ServerMap.createMBeanServerConnection(ServerMap.java:262)
            Truncated. see log file for complete stacktrace
    javax.naming.NameNotFoundException: Unable to resolve 'weblogic.management.mbeanservers.domainruntime'. Resolved 'weblogic.management.mbeanservers'; remaining n
    ame 'domainruntime'
            at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1139)
            at weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:252)
            at weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:171)
            at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:206)
            at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:214)
            Truncated. see log file for complete stacktrace
    >
    <17.apr.2007 kl 10.02 CEST> <Error> <SNMP> <BEA-320909> <Error during initialization while attempting to obtain the required DomainRuntimeServer.>Using the example code, I fail to obtain the SipServletSnmpTrapRuntime MBean.
    regards,
    Jegern

    Hi,
    what you show us is not teh servlet mapping but the servlet definition. The servlet mapping maps a configured servlet to a URL. You can use the property editor in JDeveloper for this. Just select the web.xml file and choose "properties" from teh context menu
    Frank

  • Different Source Address for a SNMP trap paquet

    We use a common platform to manage the CISCO routers for several customers. We are using to manage the devices w/ a loopback address as source of snmp paquet.
    We use something like this ...
    Router(config)#snmp-server host 172.25.1.1 ORATRAP
    Router(config)#snmp-server trap-source loopback0
    Router(config)#end
    Now, there is some customers that request us to receipt the snmp-traps w/ an ip source of their own ip space (192.168.2.x/24).I cannot imagine how this can be achieve?... Please any idea?. Thks. Eduard.

    Thks., for your help. This is important matter to us. We also working in the idea of snmp track collector close to our own NMC... but this may cost also money... . So, we are going to try another approach first..
    Somewhat like this below....
    snmp-server enable traps
    snmp-server informs
    snmp-server source-interface traps
    snmp-server source-interface informs
    snmp-server host traps version 1 community string publicCust
    snmp-server host informs version 2 community string publicBT
    For the get's every MNC sends to the declared IP, so We thing that will use the same IP in answer.
    I will let you know. Eduard.

Maybe you are looking for

  • IPhoto & Photoshop Elements 4

    Hi all I escaped from the Windows world a few weeks ago, but finding the combination of iPhoto '08 and Photoshop Elements 4 (PSE) not very intuitive and intially appears to be clumsy when opening files - not a very efficient workflow wise when compar

  • Recurring calendar event bug from Exchange

    In Outlook, we can create a recurring meeting for things like the first Monday of the month, or the 5th of every month.  But if we schedule a meeting to occur the second weekday of every month, it appears wrong on our phones for every date except the

  • What type of connectors needed for optical audio out?

    Hi, looking at upgrading to an imac and I noticed on the spec it has optical audio out which would be great to go into my audio interface. What connector do I need? Is it TOSLINK type? Had a look at the picture of the rear but couldn't see an optical

  • When we  try to restore a iphone 3 sur Itunes and new Lion we have error 3194 can t restore this iphone what can i do ?

    when we  try to restore a iphone 3 sur Itunes and new Lion we have error 3194 can t restore this iphone what can i do ? thanks for your kind help

  • Message Ordering with Message Listeners

              We have three Message Listeners listeners listening to JMS Queue           for processing messages sent to the queue. Let us assume the listeners as L1,L2           and L3. And lets says there are three           messages that have been sub