RFC Job Issue

Dear experts,
scenario:
Many parallel jobs are being triggered in our R/3 server. These are triggered by RFC from BI and they are posting idocs in R/3. During this process,each job is reading NRIV table and posting idoc in R/3. some jobs read this table for more than 7000 secs...during this time many parallel jobs are running from the same user and occupying all background processes in CI and app servers as well....
Can i restrict the number of background jobs triggered from this RFC user ? any rfc profile parameters needs change?
we are running on solaris and Db2
Regards
Ravi

Hi,
Are you running only with CI Instance or you also have other instances ? as you have mentioned CI is loaded with all of BG process kindly check below points:
1) Schedule the jobs by keeping 10-15 mins Interval so that table will not get updated for the same entry with same job everytime
2) Check RZ12 / SARFC for resource utilization
3) You also need one or more additional instance if you are facing frequently wp resource issue or high utilization of resources
Thanks,
Saleem

Similar Messages

  • To set paramter connector.sap.rfc.job.bw = debug

    Hello,
    We are getting job stuck while running in redwood CPS8. We would like to set this parameter to get more information for the reason.
    connector.sap.rfc.job.bw = debug.
    Please let us know where to set this parameter.
    Rg,
    Sandeep.

    Hello,
    You can do this through Netweaver administration, which takes some time to figure out. The easiest way is to submit job System_Dynamic trace and fill in your debug string as the parameter. Then reproduce your issue, kill the dynamic trace job and report back the output of this job.
    Regards Gerben

  • How to check which RFCs causing issues in the system and RFC response times

    Hi,
    We have an issue with the RFC response times in CRM and need investigstion. We need to know which Which RFCs causing issues and how we can solve the problems.
    Regards

    Hi,
    chek the below code
    CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_EXIST
    EXPORTING
    FILE = W_FILENAME
    RECEIVING
    RESULT = W_RESULT
    EXCEPTIONS
    CNTL_ERROR = 1
    ERROR_NO_GUI = 2
    WRONG_PARAMETER = 3
    NOT_SUPPORTED_BY_GUI = 4
    others = 5.
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-* MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    IF W_RESULT IS INITIAL.
    CALL METHOD CL_GUI_FRONTEND_SERVICES=>DIRECTORY_EXIST
    EXPORTING
    DIRECTORY = W_FILENAME
    RECEIVING
    RESULT = W_RESULT
    EXCEPTIONS
    CNTL_ERROR = 1
    ERROR_NO_GUI = 2
    WRONG_PARAMETER = 3
    NOT_SUPPORTED_BY_GUI = 4
    OTHERS = 5.
    IF SY-SUBRC <> 0.
    ENDIF.
    ENDIF.
    IF W_RESULT = 'X'.
    RC = '1'.
    ELSE.
    RC = '0'.
    ENDIF.
    reward if helpful.
    Regards,
    nagaraj

  • Please Help me! Start RFC Jobs Error

    Dear Experts,
    I'm installing SAP R/3 4.7 EX 2 SR1 - IDES (Unicode).
    Details of the system:
    Solaris 10, Oracle 9.2.0.7.
    R/3 Enterprise 4.7 X 2 SR1 - IDES (Unicode)
    I have received this error during installation Phase 34/37.
    This is about Starting RFC Jobs:
    FRF-00025 Unable to call function. Error message: Syntax error in program SAPLSTTM
    Message in trace file:
    >TS> Sat Nov 24 10:41:28 2007
    T:1 Error in program 'sapinste': ======>      Syntax error in program SAPLSTTM
    T:1 Error in program 'sapinste': <* RfcReceive [7] : returns 3:RFC_SYS_EXCEPTION
    T:1 Error in program 'sapinste': <* RfcCallReceive [7] : returns 3:RFC_SYS_EXCEPTION
    Some syntax error inside dev_wp0:
    A  Source LSGUIU03
    A  Error Code SYNTAX_ERROR.
    A  Module  $Id: //bas/640_REL/src/krn/runt/abgen.c#14 $ SAP.
    A  Function ab_genprog Line 1423.
    A  *** ERROR => Syntax error in program SAPLSTTM                                 [abgen.c      1389]
    A  *** ERROR => > Include LSTTMTOP                                 line 8 [abgen.c      1391]
    A  *** ERROR => > The type "CAT_SVARS_TABTYPE" is unknown. [abgen.c      1393]
    A  TH VERBOSE LEVEL FULL
    I could not find the reason of this error so far
    Thanks for your kind advise.
    Best Regards,
    Fausto

    The process has to be done in Non-Unicode

  • INSTALLATION ERROR AT RFC JOB POST PROCESSING

    hi experts,
    i am trying to install IDES 4.7 WITH oracle 8i and windows xp
    with the same resource i had successfully installed atleast three times but since last two installation stops at last phase
    rfc job post processing and ask for PASSWORD OF DDIC
    i tried diffrent password like 19920706,05071992,pass,password,change_on_install nothing working.in the mean while i am able to login to sap system which starts with dump CONVERT_TSTMP_INCONSISTENT_TAB.dont know what to do.please guide

    Hi Sanjeev,
    After installation users sap*,ddic and earlywatch only exist in the system.Could you please tell me which user you logged into the system.What client you are logging in.
    If you are getting sap* and ddic does not exist then you can not change the password because the users themselves not there. you can create those users(su01) and assign profile sap_all and sap_new.
    Then login with sap* and ddic with the initial password and change the password then give those passwords at the time of installation.
    Regards
    Ashok

  • Which RFCs causing issues in system

    Hi All,
    We have an issue with the RFC response times in CRM and need investigstion. We need to know Which RFCs causing issues in CRM and how we can solve the problems.
    Kindly let me know as earliest as possible.
    Regards

    have a look here:
    ST03
    Go to EXPERT MODE
    if the problem is happening now then you could use last minute load ( for a specific user for example)
    if you have no cllue , or it happens always:
    workload, Total , day, "today"
    in the analysys views: RFC Profiles
    now it depends on if you are using it as server or client, there you see all FM's called via RFC ; number of calls, total execution time, etc.
    Hope this is usefull;

  • Sender RFC Adapter Issue

    Hi ,
    I am using the following scenarion  (SAP ECC)Sender RFC>PI 7.1->Receiver JDBC(ThirdParty).
    The issue is whenever the the ECC system is down and is up again , the RFC sender messages are getting struck in SM58(tRFC queue).What I manually do is , go the RFC Sender communication channel in PI and reactivate it again, by making a small change in the description of the communication channel.
    So, my question is , whether there is a automatical ways to handel this issue.
    Any other suggestions would be highly appreciated.
    Thanks,
    Venu

    There is no standard way to perform this automatically. I think restart of ECC is not a frequent practice in any business, therefore ideally you should add this as one of the post processing procedures after ECC restart.
    Technically, there is possibility of creating a scenario which can run through a job on ECC running once after each restart. This can call webservice in PI to fetch communication channel information and reactivate it. Not a solution I would recommend.
    Regards,
    Prateek

  • "can not start a job" issue in AWM

    Hi ALL,
    I am maintaining my cube from PLSQL with following options
    1. buildtype = "BACKGROUND"
    2. trackstatus = "true"
    3. maxjobqueues = 3
    i get following error when i see the "olapsys.xml_load_log" table
    ***Error Occured: Failed to Build(Refresh) DB_OWNER.MY_ANALYTICAL_WORKSPACE Analytic Workspace. Can not start a job.
    Can anybody explain when and why this error occurs? I have wasted a lot of time searching for this issue, but have found no person facing such issue.
    Hi Keith, it will be great if you can answer this one.
    My database version is 10.2.0.4.0 and AWM version is also 10.2.0.3.0
    Kind Regards,
    QQ
    Message was edited by:
    dwh_10g

    Applies to:
    Oracle OLAP - Version: 10.1 to 11.1
    This problem can occur on any platform.
    Symptoms
    - We have an AW maintenance / refresh script or procedure that contains BuildType="BACKGROUND", so that the AW maintenance task will be sent to the Oracle Job queue.
    - When we execute the AW maintenance / refresh script or procedure, we do not get any errors in the foreground, the script/procedure has been executed successfully.
    - However when we look into the build/refresh log (see <Note 351688.1> for details) we see that the maintenance/refresh task failed with:
    13:29:39 Failed to Submit a Job to Build(Refresh) Analytic Workspace <schema>.<AW Name>.
    13:29:39 ***Error Occured in BUILD_DRIVER
    - In the generated SQL trace for the session of the user who launches the AW build/refresh script or procedure, we see that ORA-27486 insufficient privileges error occurred at creation of the job.
    We see from the relevant bit of the SQL trace that err=27486 occured while executing the #20 statement which is 'begin DBMS_SCHEDULER.CREATE_JOB ...', and the statement is parsed and tried to be executed as user having uid=91:
    PARSING IN CURSOR #20 len=118 dep=2 uid=91 oct=47 lid=91 tim=1176987702199571
    hv=1976722458 ad='76dd8bcc'
    begin
    DBMS_SCHEDULER.CREATE_JOB(:1, 'plsql_block', :2, 0, null, null, null,
    'DEFAULT_JOB_CLASS', true, true, :3); end;
    END OF STMT
    PARSE
    #20:c=1000,e=1100,p=0,cr=0,cu=0,mis=1,r=0,dep=2,og=1,tim=1176987702199561
    EXEC #20:c=65990,e=125465,p=10,cr=1090,cu=3,mis=1,r=0,dep=2,og=1,tim=
    1176987702325167
    ERROR #20:err=27486 tim=465202984
    Cause
    User who tries to create a job (executes DBMS_SCHEDULER.CREATE_JOB() procedure) does not have the sufficient privileges.
    Solution
    1. Identify the user under which the job is supposed to be created. This user is not necessarily the same as the user who launched AW build/refresh script or procedure. Get the corresponding username from one of the %_USERS views e.g. from ALL_USERS.
    e.g.
    SELECT user_id,username FROM all_users WHERE user_id=91;
    2. Identify the system privileges currently assigned to the user by connecting as the user whom the privileges need to be determined, and execute:
    SELECT * FROM SESSION_PRIVS ORDER BY PRIVILEGE;
    3. Ensure that the CREATE JOB privilege is listed.
    The CREATE JOB privilege can be granted in various ways to a user:
    - via role OLAP_USER or via role OLAP_DBA (see view ROLE_SYS_PRIVS for what privs are assigned to a role):
    GRANT OLAP_USER TO <username>;
    - explicitly
    GRANT CREATE JOB TO <username>;

  • Creating Job Issue

    Hi Experts,
    I have created a page in Apex where I m using File browse item say :p13_filebrowse(where i m using CSV format files) and other items too. On click of Submit button I m calling package which dynamically creates the table successfully of browsed CSV FIle.
    Now My requirement is to create the dbms_scheduler Job for the existing package(AS Above) so that If I upload the very huge file it should run in backend using the DBMS Job.If I call package directly from the APex . it is happening successfully. But If i create the Job for that package then I m getting error for not identify the Apex file browsed items.
    In Package I m using wwv_flow_files from where i m extracting the file and creating the table.Through Job it is unable to recognise the Apex file browse item.For more information please go through the follwing code:-
    I m calling package from Apex which is succesfully executing in creaitng the table:-
    htmldb_sid_50.parse_file(:P13_FILEBROWSE,'P13_COLLECTION' ,'P13_HEADINGS','P13_COLUMNS','P13_DDL');
    htmldb_sid_50.parse_file(:P13_FILEBROWSE,'P13_COLLECTION' ,'P13_HEADINGS','P13_COLUMNS','P13_DDL','gdqdata.gdq_table1');
    Foollwing code of Package:-
    create or replace PACKAGE BODY htmldb_sid_50
    AS
    TYPE varchar2_t IS TABLE OF VARCHAR2(32767) INDEX BY binary_integer;
    -- Private functions --{{{
    PROCEDURE delete_collection ( --{{{
    -- Delete the collection if it exists
    p_collection_name IN VARCHAR2
    IS
    BEGIN
    IF (htmldb_collection.collection_exists(p_collection_name))
    THEN
    htmldb_collection.delete_collection(p_collection_name);
    END IF;
    END delete_collection; --}}}
    PROCEDURE csv_to_array ( --{{{
    -- Utility to take a CSV string, parse it into a PL/SQL table
    -- Note that it takes care of some elements optionally enclosed
    -- by double-quotes.
    p_csv_string IN VARCHAR2,
    p_array OUT wwv_flow_global.vc_arr2,
    p_num IN VARCHAR2 DEFAULT null,
    p_separator IN VARCHAR2 := ','
    IS
    l_start_separator PLS_INTEGER := 0;
    l_stop_separator PLS_INTEGER := 0;
    l_length PLS_INTEGER := 0;
    l_idx BINARY_INTEGER := 0;
    l_new_idx BINARY_INTEGER := 0;
    l_quote_enclosed BOOLEAN := FALSE;
    l_offset PLS_INTEGER := 1;
    p_csv_string_test varchar2(4000);
    cell_value varchar2(400);
    BEGIN
    l_length := NVL(LENGTH(p_csv_string),0);
    IF (l_length <= 0)
    THEN
    RETURN;
    END IF;
    LOOP
    l_idx := l_idx + 1;
    l_quote_enclosed := FALSE;
    -- p_csv_string
    p_csv_string_test := replace(p_csv_string,'""','@@');
    --p_csv_string := p_csv_string_test;
    IF SUBSTR(p_csv_string_test, l_start_separator + 1, 1) = '"'
    THEN
    l_quote_enclosed := TRUE;
    l_offset := 2;
    l_stop_separator := INSTR(p_csv_string_test, '"', l_start_separator + l_offset, 1);
    ELSE
    l_offset := 1;
    l_stop_separator := INSTR(p_csv_string_test, p_separator, l_start_separator + l_offset, 1);
    END IF;
    IF l_stop_separator = 0
    THEN
    l_stop_separator := l_length + 1;
    END IF;
    if l_idx = 1 then
    p_array(l_idx) := p_num;
    l_idx := l_idx + 1;
    end if;
    if(l_idx < 50) then
    cell_value := (SUBSTR(p_csv_string_test, l_start_separator + l_offset,(l_stop_separator - l_start_separator - l_offset)));
    cell_value := replace(cell_value, '@@', '"');
    p_array(l_idx) := cell_value;
    end if;
    EXIT WHEN l_stop_separator >= l_length;
    IF l_quote_enclosed
    THEN
    l_stop_separator := l_stop_separator + 1;
    END IF;
    l_start_separator := l_stop_separator;
    END LOOP;
    END csv_to_array; --}}}
    PROCEDURE get_records(p_blob IN blob,p_records OUT varchar2_t) --{{{
    IS
    l_record_separator VARCHAR2(2) := chr(13)||chr(10);
    l_last INTEGER;
    l_current INTEGER;
    BEGIN
    -- Sigh, stupid DOS/Unix newline stuff. If HTMLDB has generated the file,
    -- it will be a Unix text file. If user has manually created the file, it
    -- will have DOS newlines.
    -- If the file has a DOS newline (cr+lf), use that
    -- If the file does not have a DOS newline, use a Unix newline (lf)
    IF (NVL(dbms_lob.instr(p_blob,utl_raw.cast_to_raw(l_record_separator),1,1),0)=0)
    THEN
    l_record_separator := chr(10);
    END IF;
    l_last := 1;
    LOOP
    l_current := dbms_lob.instr( p_blob, utl_raw.cast_to_raw(l_record_separator), l_last, 1 );
    EXIT WHEN (nvl(l_current,0) = 0);
    p_records(p_records.count+1) := utl_raw.cast_to_varchar2(dbms_lob.substr(p_blob,l_current-l_last,l_last));
    l_last := l_current+length(l_record_separator);
    END LOOP;
    END get_records; --}}}
    -- Utility functions --{{{
    PROCEDURE parse_textarea ( --{{{
    p_textarea IN VARCHAR2,
    p_collection_name IN VARCHAR2
    IS
    l_index INTEGER;
    l_string VARCHAR2(32767) := TRANSLATE(p_textarea,chr(10)||chr(13)||' ,','@@@@');
    l_element VARCHAR2(100);
    BEGIN
    l_string := l_string||'@';
    htmldb_collection.create_or_truncate_collection(p_collection_name);
    LOOP
    l_index := instr(l_string,'@');
    EXIT WHEN NVL(l_index,0)=0;
    l_element := substr(l_string,1,l_index-1);
    IF (trim(l_element) IS NOT NULL)
    THEN
    htmldb_collection.add_member(p_collection_name,l_element);
    END IF;
    l_string := substr(l_string,l_index+1);
    END LOOP;
    END parse_textarea; --}}}
    PROCEDURE parse_file( --{{{
    p_file_name IN VARCHAR2,
    p_collection_name IN VARCHAR2,
    p_headings_item IN VARCHAR2,
    p_columns_item IN VARCHAR2,
    p_ddl_item IN VARCHAR2,
    p_table_name IN VARCHAR2 DEFAULT NULL
    IS
    l_blob blob;
    l_records varchar2_t;
    l_record wwv_flow_global.vc_arr2;
    l_datatypes wwv_flow_global.vc_arr2;
    l_headings VARCHAR2(4000);
    l_columns VARCHAR2(4000);
    l_seq_id NUMBER;
    l_num_columns INTEGER;
    l_ddl VARCHAR2(4000);
    l_keyword varchar2(300);
    l_records_count number;
    l_count number;
    l_filename varchar2(400);
    BEGIN
    --delete from test_mylog;
    -- insert into t_log(slog) values('p_file_name '||p_file_name||'p_collection_name '||p_collection_name||'p_headings_item '||p_headings_item||'p_columns_item '||p_columns_item||'p_ddl_item '||p_ddl_item||'p_table_name '||p_table_name);
    -- commit;
    insert into testing_job values(p_file_name,p_collection_name,p_headings_item,p_columns_item,p_ddl_item,p_table_name);commit;
    IF (p_table_name is not null)
    THEN
    BEGIN
    execute immediate 'drop table '||p_table_name;
    EXCEPTION
    WHEN OTHERS THEN null;
    END;
    l_ddl := 'create table '||p_table_name||' '||v(p_ddl_item);
    htmldb_util.set_session_state('P13_DEBUG',l_ddl);
    execute immediate l_ddl;
    l_ddl := 'insert into '||p_table_name||' '||
    'select '||v(p_columns_item)||' '||
    'from htmldb_collections '||
    'where seq_id > 1 and collection_name='''||p_collection_name||'''';
    htmldb_util.set_session_state('P13_DEBUG',v('P13_DEBUG')||'/'||l_ddl);
    execute immediate l_ddl;
    RETURN;
    END IF;
    BEGIN
    /*select blob_content into l_blob from wwv_flow_files
    where name=p_file_name;*/
    select the_blob into l_blob from t_batch_attachments
    where blob_filename=p_file_name;
    -- insert into testing_job values (l_blob);commit;
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    raise_application_error(-20000,'File not found, id='||p_file_name);
    END;
    get_records(l_blob,l_records);
    IF (l_records.count < 2)
    THEN
    raise_application_error(-20000,'File must have at least 2 ROWS, id='||p_file_name);
    END IF;
    -- Initialize collection
    htmldb_collection.create_or_truncate_collection(p_collection_name);
    -- Get column headings and datatypes
    csv_to_array(l_records(1),l_record,'sid');
         --l_records_count:=l_record.count+1;
    --csv_to_array(l_records(l_records_count),l_datatypes);
         l_num_columns := l_record.count;
         if (l_num_columns > 100) then
    raise_application_error(-20000,'Max. of 100 columns allowed, id='||p_file_name);
    end if;
    -- Get column headings and names
    FOR i IN 1..l_record.count
    LOOP
    l_record(i) := trim(l_record(i));
    l_record(i) := replace(l_record(i),' ','_');
    l_record(i) := replace(l_record(i),'-','_');
    l_record(i) := replace(l_record(i),'(','_');
    l_record(i) := replace(l_record(i),')','_');
    l_record(i) := replace(l_record(i),':','_');
    l_record(i) := replace(l_record(i),';','_');
    l_record(i) := replace(l_record(i),'.','_');
    l_record(i) := replace(l_record(i),'"','_');
    l_headings := l_headings||':'||l_record(i);
    l_columns := l_columns||',c'||lpad(i,3,'0');
    END LOOP;
    l_headings := ltrim(l_headings,':');
    l_columns := ltrim(l_columns,',');
    htmldb_util.set_session_state(p_headings_item,l_headings);
    htmldb_util.set_session_state(p_columns_item,l_columns);
         -- Get datatypes
    FOR i IN 1..l_record.count
    LOOP
    l_datatypes(i):='varchar2(400)';
    l_ddl := l_ddl||','||l_record(i)||' '||l_datatypes(i);
    END LOOP;
    l_ddl := '('||ltrim(l_ddl,',')||')';
    htmldb_util.set_session_state(p_ddl_item,l_ddl);
    -- Save data into specified collection
    FOR i IN 1..l_records.count
    LOOP
    csv_to_array(l_records(i),l_record,i-1);
    l_seq_id := htmldb_collection.add_member(p_collection_name,'dummy');
    FOR i IN 1..l_record.count
    LOOP
    htmldb_collection.update_member_attribute(
    p_collection_name=> p_collection_name,
    p_seq => l_seq_id,
    p_attr_number => i,
    p_attr_value => l_record(i)
    END LOOP;
    END LOOP;
    -- DELETE FROM wwv_flow_files WHERE name=p_file_name;
    END;
    BEGIN
    NULL;
    END;
    Now I m stuck in If I call the Package through following Job:-
    DBMS_SCHEDULER.create_job (
    job_name => 'New_Testing1',
    job_type => 'PLSQL_BLOCK',
    job_action => 'begin
    GDQ.htmldb_sid_50.parse_file ('''||:P13_FILEBROWSE||''',''P13_COLLECTION'',''P13_HEADINGS'',''P13_COLUMNS'',''P13_DDL'');
    htmldb_sid_50.parse_file('''||:P13_FILEBROWSE||''',''P13_COLLECTION'' ,''P13_HEADINGS'',''P13_COLUMNS'',''P13_DDL'',''gdqdata.gdq_table1'');
    end;
    start_date => NULL,
    repeat_interval => NULL,
    end_date => NULL,
    enabled => TRUE,
    comments => 'UPLOAD FILE INTO TABLE IN GDQ.'
    I believe there is security issue in APex related to wwv_flow_files which is creating the problem . Please can anybody assist me in this issue.
    Thanks in Advance
    Danalaxmi

    Please post the details of the application release, along with the complete error message and the steps you followed to reproduce the issue.
    Thanks,
    Hussein

  • Background job issue

    The background job - SAP_COLLECTOR_FOR_NONE_R3_STAT is taking too long to complete.
    It is stuck with -
    Reason - RFC  
    Status - On-hold
    Double clicking on the work process I see this -
    Waiting f.
    Gateway A92SV093XI034
    Report / Spool action
    CL_SLD_ACCESSOR===============CP
    On the SAP system of server A92SV093XI034, rdisp/max_gateways = 500 and the SLD is running fine.
    So, could you please tell me the cause of the work process being stuck?

    Jobs been running for last 2 days, so no errors.
    I cancelled the jobs now.
    Also, I checked the SAPSLDAPI RFC and it is not connecting to the SLD.
    So, mostly a problem with SLD connection.
    I checked everything as per the Link -
    http://help.sap.com/saphelp_nw04/helpdata/en/78/20244134a56532e10000000a1550b0/frameset.htm
    Just can't figure out what's wrong

  • RPCS0000 job issue

    Hello,
    I have an issue when I run the program "RPCS0000" for RPTIME00 in the background.
    In SM37, the job appears but after one minute, it changes from "active" status to "interrupt"
    Could someone help on this please?
    Kind regards
    Karim

    Here is the error message :
       When calling the SAP spool system, an (unspecified) internal error occurred.                                                                               
    More detailed description of error: "spool overflow "                                                                               
    Further information:                                                                               
    See below under "Spool error information".
                                       RSPO - Error                                                   
          code:    1  RSPOEINTERN  Some other internal error                                          
          spool overflow                                                                               
    module: rspospno no:   29 line:   351                    T100: PO001                        
          TSL01: FBN

  • Receiver RFC adapter issue! Please help!

    Hi Experts,
       I have 4 XI interfaces. All of these are Webservice to RFC scenarios. Moreover all of them are synchronous.
      Request message: Webservice (SOAP Adapter) ---> XI -
    > RFc Adapter ---> ECC Function modules
      Response message: Webservice (SOAP Adapter) <- XI < RFc Adapter <- ECC Function modules
    As you can see above, external system calls XI web service via SOAP Adapter. The input data is then sent from SOAP Adapter to RFC adapter to call RFC function module in the receiving side.  The receiving system is SAP ECC system.
    The receiver ECC system has two instances. For example SP0 ad SP1. 
    In the receiver determination step we have maintained a rule such that if the Plant value in the input message is XYZ then send data to SP0. But if the plant value in ABC then send data to SP1.
    This Conditional rule is working fine.
    However we are getting couple of issues with only one instance of ECC (SP0).
    1. com.sap.engine.interfaces.messaging.api.exception.MessageExpiredException: Message badfa070-b163-11de-a4c1-001cc495e48a(INBOUND) expired
    2. NO_MAPPINGPROGRAM_FOUND. Mapping program is not available in runtime cache: Object ID C2B41FFDFD4635BAB1E41AE53C0D10CE Software Component 5394F420463611DAC1CFFBBC0A01BC16
    3. com.sap.engine.interfaces.messaging.api.exception.MessagingException: No response available
    The above listed errors are generated occasionally. Sometimes no errors are generated even when the same input data is sent again and message is successfully processed.
    I have verified the input data and everything is OK with that.
    Mapping object is available in XI and cache was also refreshed. I additionally reactivated the objects in XI as well.
    So what could be the real root cause of this? Please help!
    Thanks
    Gopal

    1. com.sap.engine.interfaces.messaging.api.exception.MessageExpiredException: Message badfa070-b163-11de-a4c1-
    001cc495e48a(INBOUND) expired
    Check the Timeout parameter of your adapter.....for requests which expire with this error confirm from the SAP end that the message processing is done well within the Timeout period of the adapter.
    Refer this note for more info on the above occuring error and the possible way to avoid it: https://service.sap.com/sap/support/notes/791379
    Update:
    Even problem 3 seems to be occuring due to insufficient Timeout specified for the adapter.....if possible try increasing the Timeout in VA
    Regards,
    Abhishek.
    Edited by: abhishek salvi on Oct 6, 2009 1:42 PM

  • PI 7.1 EHP1 RFC Lookup- Issue

    Friends,
    I'm seeing one strange issue in RFC Lookup behavior in my PI 7.1 EHP1 . Please give me some ideas for the same
    Please see the below image for what I have done and what I'm seeing in the display queue.
    http://www.flickr.com/photos/8764045@N06/4642237515/sizes/o/
    To make it more simple - When I click on the Display queue on RFC lookup, I can see some 20 values with context changed. I removed my context and passed it to the UDF. When I check the input length in the UDF it's always giving 1, even though the display queue gives me 20 values.
    Any ideas?
    -Raj.

    Stefan/Sarvesh,
    Thanks for your replies . Please see the below snapshots for complete picture.
    UDF code & Properties -http://www.flickr.com/photos/8764045@N06/4643880555/sizes/o/
    RFC Lookup Properties -http://www.flickr.com/photos/8764045@N06/4643880541/sizes/o/
    Display Queues on UDF and RFC Lookup -http://www.flickr.com/photos/8764045@N06/4643883271/sizes/o/
    I truly appreciate all your help on this.
    -Raj.

  • RFC to XML-RFC Parsing issue in RFC Adapter as Sender

    Hi all,
    I tried to use RFC adapter as a sender. The scenario I am trying to achieve is R3 -> RFC Adapter Sender --> BPM --> RFC Adapter Receiver --> SAP Auto-ID system.
    The reason to use two RFC adapter and BPM is to log the request message if the RFC call fails. Everything works as expected, except the RFC Adapter Sender.
    The RFC I am calling has an input table. The input data I use works fine if I call it via SE37 or remotely from another SAP system. However, if I call it via RFC adapter, when XI parses the data into RFC-XML format, the input data is all messed up.
    DATA: BEGIN OF ID_STR,
            ID_VERSION(8)       TYPE C,
            ID(96)              TYPE C,
            ELEMENT_NAME(50)    TYPE C,
            ELEMENT_VALUE(128)  TYPE C,
          END OF ID_STR.
    DATA: it_id LIKE TABLE OF ID_STR,
          ls_id LIKE ID_STR.
    ls_id-ID_VERSION = 'EPC_1.30'.
    ls_id-ID = '30340242206DC3C00000000A'.
    ls_id-element_name = 'BATCH_ID'.
    ls_id-element_value = 'BATCH001'.
    APPEND ls_id TO it_id.
    CALL FUNCTION '/AIN/UI_MOBILE_MSG_SEND'
      IN BACKGROUND TASK
      DESTINATION  'RFC_UPDATEAII'
      EXPORTING
        IV_BUSINESS_PROCESS       = '09'
        IV_COMMAND                = 'DO'
        IV_ACTION_TYPE            = 'APL2'
        IV_PRT_ID                 = '31140242200000000F000000'
        IV_DEVGRP_EXTID           = 'MOBILE'
      TABLES
        IT_ID                     = it_id
      commit work.
    And the parsed RFC-XML message is:
    <?xml version="1.0" encoding="UTF-8" ?>
    <rfc:_-AIN_-UI_MOBILE_MSG_SEND
    xmlns:rfc="urn:sap-com:document:sap:rfc:functions">
    <IV_ACTION_TYPE>APL2</IV_ACTION_TYPE>
    <IV_BTD_EXTID />
    <IV_BTD_TYPE />
    <IV_BUSINESS_PROCESS>09</IV_BUSINESS_PROCESS>
    <IV_COMMAND>DO</IV_COMMAND>
    <IV_DEVGRP_EXTID>MOBILE</IV_DEVGRP_EXTID>
    <IV_LOC_EXTID />
    <IV_LOC_TYPE />
    <IV_PRT_ID>31140242200000000F000000</IV_PRT_ID>
    <IV_PRT_ID_VERSION />
    <IV_REASON_CODE />
    <IV_UNAME/>
    <ET_RETURN />
    <IT_ID>
    <item>
    <ID_VERSION>EPC_1.30</ID_VERSION>
    <ID>206DC3C00000000A BATCH_ID</ID>
    <ELEMENT_NAME />
    <ELEMENT_VALUE />
    </item>
    </IT_ID>
    </rfc:_-AIN_-UI_MOBILE_MSG_SEND>
    You can see the data in the table is all wrong, it should be:
    <IT_ID>
    <item>
    <ID_VERSION>EPC_1.30</ID_VERSION>
    <ID>30340242206DC3C00000000A</ID>
    <ELEMENT_NAME>BATCH_ID</ELEMENT_NAME>
    <ELEMENT_VALUE>BATCH001</ELEMENT_VALUE>
    </item>
    </IT_ID>
    The calling system is a 4.6C non-unicode system, and the destination system is a unicode system (this does not matter since the first part of the integration is between R3 and XI). There is no config found on R3 side to specify non-unicode because it is a rather old system. In XI RFC Adapter config, I checked non-unicode checkbox (I also tested it with this unchecked, but still the same issue).
    Have any of you seen this problem and how you resolve it?
    Thanks a lot for your help!
    Regards,
    Hart

    Hi Hart
    long time no seen - hope you remember me
    >The reason to use two RFC adapter and BPM is to log the request message if the RFC call fails
    there is an easy way (guess max 3-4 hours) to solve all of your issues
    and get rid of a BPM
    use IDOC - XI - ABAP Proxy
    then you will have IDOC and ABAP Proxy that always log the message on both ends (and you can restart ABAP proxies easily in AII - and every AII supports ABAP proxies) + you get rid of a BPM as it's not necessary as far as I understand (as it's asyn communication right?)
    maybe you can go this way and IDOCs always work...
    good luck,
    Regards,
    Michal Krawczyk
    http://mypigenie.com XI/PI FAQ

  • RFC Error Issue From ECC6 to BI 7.

    Before it is working fine.. from last 2 days it is not working.
    i dont have Basis Team with me right know. plz let me know how to solve.
    i checked in SM59 , it seems every thing is fine...
    Test Connection Report ( SM59 in R/3 )
    Connection Error
    Error when opening an RFC connection
    ERROR: service 'sapgw01' unknown
    LOCATION: SAP-Gateway on host sapgrp / sapgw00
    DETAIL: NiPGetServByName: service 'sapgw01' not found
    CALL: getservbyname
    COMPONENT: NI (network interface)
    COUNTER: 879
    MODULE: ninti.c
    LINE: 489
    RETURN CODE: -3
    SUBRC: 0
    RELEASE: 700
    TIME: Sun Mar 09 20:27:56 2008
    VERSION: 38
    From BI to R/3 it is working fine...
    Regards,
    SHAIK.

    Hi Shaik,
    Check did u followed this procedure :
         RFC CONNECTIONS
    &#61656;     First log on to SAP R/3 server connections Go to SCC4 in R/3 & in Scc4 BW server. A screen opens in that logical name of the system would be opened in both (R/3 & BW).
    &#61656;     Take notepad in it save .R/3 & BW logical names go to R/3 & click SM59 to create R/3 connections click then a screen opens gives BW logical name in RFC Destination option & give connection. type 3 & give some description & then press enter.
    &#61656;     You will get another screen under it then at target host gives BW server name we will get it from BW logon change ID, IP address option & give the system no. The system no go to logon pad just drag it then you will see the name.
    &#61656;     Then click on log on securities go to log on give BW server details like No, client user Password. Then save it then click test connection tab if there are errors then it gives yellow color if they are no error the whole thing come as white.
    &#61656;     Then click on the Remote Logon then we go to BW server give RFC – SM59 & click create. Then give the server name which is at the bottom right corner give it then give the no, name, password in logon Security save it & test connection & then remote logon.
    &#61656;     R/3 &#61664; B W &#61664; R/3
    &#61656;     Logical connection source system connection is used to transfer the data from R/3 to BW. Go to BW system& click RSA1 go to source system option go to top to the source systems right click on it. Then click create then a screens opens then.
    &#61656;     PC &#61664;Flat file ,  DB &#61664; Database
    &#61656;     Select the option manual then a screen appears RFC Destination, Logical source name then click OK  then it goes to opens other screen save it test connection then remote login then it go back to the then a screen opens then click only activate.
    &#61656;     BW &#61664; RS1 &#61664; SOURCE SYSTEM &#61664; CREATE MANUAL AUTOMATIC CELL
    &#61656;     R/3 &#61664; Test connections login &#61664; back &#61664; replicate method &#61664; active data R/3 Source system you will able to.
    &#61656;     Firstly go to R/3 Server give LBWE 7 click then a screen opens work on SD scales click on maintenance structure.
    &#61656;     Then a screen opens & click continue then another screen opens in that the left side extract structure right side is communication structure.
    &#61656;     Select a table & drag to the other side. It comes & add in the bottom of the list of the extract & click continue then a screen opens click yes then it gives errors in the system.
    &#61656;     Then go to the maintenance structure & make inactive by licking active. In real time if the new system it would be inactive in sand box. Then a new screen opens & give request Id then click continue go to maintenance & opens the table then click RSA3.
    &#61656;     Then go extract checker then give data source. Then click extraction then click continue then go to LBWG to delete the data. Then new screens opens then give the application then click execute.
    &#61656;     Then a screen opens click continue then it gives in the bottom set up table empty. Go to RSA3 & check it then go to LBWE then go to sales click on maintenance drag a fields from communication to extract structure.
    &#61656;     Then click continue then it won’t gie errors then a screen opens give the screen extract structure generated then go to maintenance & find the fields.
    &#61656;     Now the data source in that the file name which is side by to maintance then screen opens then click ok then a new screen opens of data source. In that selection, hide field, Inversion & field only.
    &#61656;     SELECTION: By selecting the option. In BW at Info Package data Selection/ External data
    &#61656;     Selection option is used to have a range of specific values to be extracted in your BW system. In real time we use selection option a lot.
    &#61656;     HIDE ONLY: by selection Hide only. Then C password can hide only then we can’t see the password hide field is used to hide the header.
    &#61656;     INVERSION: Multiply the data with the –ve value.
    &#61656;     FIELD ONLY; you want to have calculation based on particular field only. We rarely go with this options.
    &#61656;     Then save it & come back to the main screen LO Data extraction to active just click on inactive then a new screen opens then click continue. Then it is activate.
    &#61656;     Then go to Job Control in SD sales then a new screen opens click start date then a new screen opens click Immediate & save it. Then go to Direct delta double click on it then a screen opens click option direct delta ok.
    &#61656;     SBIW Enter it & click itt then a new screen opens then select the option. Setting to application specific data &#61664; Logistics then managing extract structure then initialization then filling in the set up table then application then specific set up of statistics data then SD sales option.
    &#61656;     Then a screen opens in control of the set up run then give name of the run &#61664; termination date automatically in &#61664; termination time &#61664; execute it.
    &#61656;     Then a screen opens click continue then a screen opens. Then RSA3 then a screen opens give the data source name then you can find the no of records.
    &#61656;     Come back to BW serer come to source system there you can see the server id name. Then another screen opens there through find symbol find the technical name find the table name.
    &#61656;     If is not found then go to materials right click then a pop up screen opens new replica(dump it to R/3  system)  -> in addition to that Communication structure and Extract structure will be added
    &#61656;Then at the file + could be seen. 3 types of version 
    1)active2)modify 3) Delivery
    &#61656;     On the dat source the file could be seen a right click on it. Then apop up screen opens & select the option Replica data source after this. Take the file right click on it. Then a pop up screen opens then select the option Assign Info Source.
    &#61656;     Then a screen opens then select the option content & click Continue.
    &#61656;     Non SAP systems are known as Legacy System.
    &#61656;     The place which is hard to extract is business content 
    Regards
    Ashwin

Maybe you are looking for

  • IMac, 24-inch, Early 2009, screen issue, screenshot attached, help... ...anyone?

    lines on the screen are leftovers from firefox and a flash game... any way to 'refresh' the screen? or is this a signal my mac is ready for retirement ?

  • Each request gets a new session problem

    I have a standalone oc4j and I have deployed an application that uses Dynamic JDBC Credentials as described in ½How To Support Dynamic JDBC Credentials½. The application works fine when oc4j runs on every computer except one (the one it should be on)

  • Looks like the big issue in this update is with mail

    with Gmail being the bigger of the problems, but Im also having slight issues with yahoo.... Problems arent unexpected. and of course I submitted it to Apple, but I really hope its a quick fix, I rely on my gmail for many things.

  • Itunes prolem

    i can not open itunes, i get a message stating "itunes could not connect to the music store..make sure your network connection is active". however, im still able to go online on my computer...i need help..

  • AirTunes no longer connecting

    I have AirTunes set up with two Airport Express stations hooked up to two different stereos. It's worked well for the last few years since I set it up. Now when I load iTunes and try to play a song using AirTunes I get an error message saying "An err