What is utl_tcp and utl_smtp tx_timeout parameter do ?

Hi All,
I tried the following in DBServerA (10.10.10.10 - for example) :
test_conn := utl_tcp.open_connection (remote_host => '10.2.90.100'
,remote_port => 25
,tx_timeout => 10 );
l_mail_conn := UTL_SMTP.OPEN_CONNECTION(host => '10.2.90.100'
,port => 25
,tx_timeout => 10);
now, in DBServerA, the smtp host 10.2.90.100 can be ping'd - however doing a telnet (e.g. telnet 10.2.90.100 25) will fail - because port 25 is blocked by the firewall for the smtp host.
Using UTL_TCP I get the following error in around 3 to 4 minutes:
"ORA-29260: network error: TNS:operation timed out"
Using UTL_SMTP I get the following error in around 3 to 4 minutes:
"ORA-29278: SMTP transient error: 421 Service not available"
My question now is although I set the tx_timeout parameter for both procedures with a 10 seconds value - why is that I only get the error message at around 3 to 4 minutes?
What I really want to achieve is - how can I get immediate feedback if my PL/SQL program can connect to 10.2.90.100 at port 25 ?
Is there a way? - I would just like to control the connection timeout timing precisely - and not relay on external settings (e.g. O/S)
The reason for the above requirement is to implement a "Primary SMTP Service" and a "Secondary SMTP Service" - essentially if the Primary SMTP Host IP Address fails to connect, then the PL/SQL code should try to connect to the "Secondary SMTP Host IP Address".
One thing to note is that during this 3 to 4 minutes wait time - the Oracle Connection is held up - if this now happens to the many application calls to the PL/SQL procedure - then potentially there can be a problem in many Oracle Connections opening up. - so a PL/SQL solution that would provide an immediate feedback if the SMTP service is accessible or not is ideal.
I'm using Oracle 10gR1 @ Solaris
The following command below will give me 3 minutes (agreed upon to not change this setting as it will affect all other programs/services)
"/usr/sbin/ndd -get /dev/tcp tcp_ip_abort_cinterval"
The following command below will give me 1 minute (agreed upon to not change this setting as it will affect all other programs/services)
"/usr/sbin/ndd -set /dev/tcp tcp_time_wait_interval"
Please help!
Many Thanks,
Henry

Hi,
Anyone? I saw many articles in Metalink regarding the tx_timeout parameter - also one which a customer is demanding an explanation and enhancement on the tx_timeout parameter. Come to think of it, when will it work? only for Exchange? (found some hints on this in metalink).
But still, is there no other way to immediately know if the port has opened or not?
I will try the following: http://www.oraclenerd.com/2008/11/javaplsql-port-scanner-ii.html , but still would prefer a PL/SQL solution though.
Many Thanks,
Henry Wu

Similar Messages

  • Sending mail via UTL_TCP and UTL_SMTP failes..

    Hi There,
    We have a send_mail procedure that uses ... today we had a user complaining that they havn't been getting any system emails for a while.. We have found out that ever since we migrated our oracle 10g (10.2.0.3) database to 11g (11.1.0.7) that this has stopped working.
    I ran a little test today to test the procedure and it didn't work, as follows:
    SQL> exec send_mail('[email protected]','[email protected]','Testing send_mail','this is a test email message');
    ERROR at line 1:
    ORA-24247: network access denied by access control list (ACL)
    ORA-06512: at "SYS.UTL_TCP", line 17
    ORA-06512: at "SYS.UTL_TCP", line 246
    ORA-06512: at "SYS.UTL_SMTP", line 115
    ORA-06512: at "SYS.UTL_SMTP", line 138
    ORA-06512: at "CPP_PUB_USER.SEND_MAIL", line 109
    ORA-06512: at line 1
    SQL>Any idea who we should go on about this please?
    Thanks

    Thanks for your prompt reply, we tried creating an ACL group but we keep getting an error. Here is what we did:
    1. Check if XML is installed:
    SQL> select COMP_NAME, status from dba_registry;
    COMP_NAME                                                    STATUS
    Oracle Enterprise Manager                                    VALID
    OLAP Catalog                                                 OPTION OFF
    Oracle XML Database                                          VALID
    Oracle Text                                                  VALID
    Oracle Data Mining                                           OPTION OFF
    Oracle Expression Filter                                     VALID
    Oracle Rules Manager                                         INVALID
    Oracle Workspace Manager                                     VALID
    Oracle Database Catalog Views                                VALID
    Oracle Database Packages and Types                           VALID
    JServer JAVA Virtual Machine                                 VALID
    Oracle XDK                                                   VALID
    Oracle Database Java Packages                                VALID
    OLAP Analytic Workspace                                      OPTION OFF
    Oracle OLAP API                                              OPTION OFF2. Try to create the ACL through
    EXECUTE DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('acl_for_send_mail', 'ACL for send_mail procedure', 'CPP_PUB_USER', TRUE, 'connect')or
    BEGIN
      DBMS_NETWORK_ACL_ADMIN.create_acl (
        acl          => 'acl_for_send_mail',
        description  => 'ACL for send_mail procedure',
        principal    => 'CPP_PUB_USER',
        is_grant     => TRUE,
        privilege    => 'connect',
        start_date   => SYSTIMESTAMP,
        end_date     => NULL);
      COMMIT;
    END;
    /But we always get the following error message:
    ERROR at line 1:
    ORA-46059: Invalid ACL identifier specified
    ORA-06512: at "SYS.DBMS_NETWORK_ACL_ADMIN", line 59
    ORA-06512: at "SYS.DBMS_NETWORK_ACL_ADMIN", line 188
    ORA-06512: at line 2Any idea why we're getting this please?
    P.S. CPP_PUB_USER schema has been granted connect.
    Thanks
    Edited by: rsar001 on Apr 19, 2010 10:25 AM

  • What is the values and meaning for parameter TCLAS in functions

    what is the values and meaning for parameter TCLAS in functions like
    HR_INFOTYPE_OPERATION
    regards
    jan

    Hi Jan,
    Good Morning,
    In TCLAS,
    A, B , T will be there.
    A- Master data and time data.
    B- Applicant data.
    T- Shift Schedule.
    So, here we can say the default value will be integrated according to the above ABT.
    Means in the feature ABKRS, if you give the default values for all the three, your payroll area will appear in Master Data and Time data. And in recruitment ( Appicant data ) and work schedules. Means you are getting ingrated to all the three.
    And you can observe the feature PINCH also.
    If you dont want to get integrate with Master data, then dont give the default value under the A- Master date and Time data. And if you want to get integrate with Recruitment , then give the default value under B.
    I think u got the clear idea about TCLAS.
    Dont forget to give the points
    Thanks in Advance
    Cheers
    Vijai

  • Whats the difference betweeen passing the table variable and table valued parameter?

    Hi Everbody
      Can someone one tell me what's the difference between passing a table variable and table valued parameter to a stored procedure or function? Can both be used to pass a table to a stored procedure/function?
    Regards
    Regards

    They are essentially the same. What we call a table variable is a local
    variable. A table-valued parameter is an incoming parameter to the
    procedure. The only difference is that the parameter is readonly.
    When you call a stored procedure, you can pass a table variable as the
    actual parameter. Or a table-valued parameter that you pass on.
    CREATE PROCEDURE nisse_sp @tvp sometype READONLY AS
    DECLARE @local someothertabletype
    EXEC pelle_sp @tvp, @local
    Erland Sommarskog, SQL Server MVP, [email protected]

  • What reason ORA-32004: obsolete and/or deprecated parameter(s) specified  ?

    Hi
    ORA-32004: obsolete and/or deprecated parameter(s) specified
    Whenever i changed my test database from noarchive log mode to archive log mode, after i changed ,i startup database the above error occured.
    following steps i do it,
    SQL> archive log list;
    Database log mode           No Archive Mode
    Automatic archival           Disable
    Archive destination:           c:\oracle\ora90\rdbms
    Oldest on-line log sequence     0
    Next log sequence           0
    Current log sequence           0
    Change your database No Archive mode to Archive mode
    Your Database must in mount stage
    SQL>shutdown immediate
    SQL>startup mount
    SQL> archive log list;
    Database log mode           No Archive Mode
    Automatic archival           Disable
    Archive destination:           c:\oracle\ora90\rdbms
    Oldest on-line log sequence     0
    Next log sequence           0
    Current log sequence           0
    SQL> alter database archivelog;
    Database altered.
    SQL> archive log list;
    Database log mode           Archive Mode
    Automatic archival           Disable
    Archive destination:           c:\oracle\ora90\rdbms
    Oldest on-line log sequence     0
    Next log sequence           0
    Current log sequence           0
    SQL>alter database open;
    SQL>archive log list
    Database log mode           Archive Mode
    Automatic archival           Disable
    Archive destination:           c:\oracle\ora90\rdbms
    Oldest on-line log sequence      0
    Next log sequence           0
    Current log sequence           0
    Automatic archival – Disable (the database archive mode but automatic
    archival disable
    So datas not archive.you must enable the automatic archival)
    SQL>archive log start; (session level only enabled not instance level)
    SQL> archive log list;
    Database log mode           Archive Mode
    Automatic archival           Enable
    Archive destination:           c:\oracle\ora90\rdbms
    Oldest on-line log sequence     0
    Next log sequence           0
    Current log sequence           0
    If you want set instance level you change in parameter file
    SQL>show parameter log_archive_start
    Name                    Type           Value
    log_archive_start boolean      FALSE
    SQL>alter system set log_archive_start=true scope=spfile
    System altered.
    SQL>shut immediate
    SQL>startup
    ORA-32004: obsolete and/or deprecated parameter(s) specified
    Database open.
    sql>
    But i resolved the problem
    I want know the reason why the above error occured
    database version : 10g
    os : xp ( my laptop) Not office database
    Regards
    S.Azar
    DBA

    >
    SQL>alter system set log_archive_start=true scope=spfile
    System altered.
    SQL>shut immediate
    SQL>startup
    ORA-32004: obsolete and/or deprecated parameter(s) specified
    >
    Precisely that parameter LOG_ARCHIVE_START is obsolete in 10g. You also don't need to enable the archiving with
    archive log start
    Simply changing into archive mode also brings up archiver processes since 10g :-)
    Kind regards
    Uwe
    http://uhesse.wordpress.com

  • ORA-32004: obsolete and/or deprecated parameter(s) specifiedORACLE instance

    Hi friends,
    i am trying to install BIW 3.0b (win-2000, oracle 9.2.0.1.0 (patch 9.1.0.4.1)& j2sdk 1_4_1)
    while installing database instance i am getting this problem.
    INFO 2007-09-26 15:57:09
    Copying file C:/SAPinst ORACLE KERNEL/keydb.xml to: C:/SAPinst ORACLE KERNEL/keydb.1.xml.
    INFO 2007-09-26 15:57:09
    Creating file C:\SAPinst ORACLE KERNEL\keydb.1.xml.
    INFO 2007-09-26 15:58:14
    Processing of host operation t_HostInfo_SHARED succeeded.
    INFO 2007-09-26 15:58:35
    The 'saploc' share exists at directory 'E:\usr\sap'. Choosing drive E: as SAP System drive.
    INFO 2007-09-26 16:00:26
    Copying file C:/dump/export1/DB/ORA/DBSIZE.XML to: DBSIZE.XML.
    INFO 2007-09-26 16:00:26
    Creating file C:\SAPinst ORACLE KERNEL\DBSIZE.XML.
    INFO 2007-09-26 16:00:26
    Copying file system node C:\dump\export1/DB/ORA/DBSIZE.XML with type NODE to DBSIZE.XML succeeded.
    INFO 2007-09-26 16:00:26
    Processing of all file system node operations of table tORA_filecopy succeeded.
    INFO 2007-09-26 16:00:26
    Copying file C:/SAPinst ORACLE KERNEL/DBSIZE.XML to: C:/SAPinst ORACLE KERNEL/DBSIZE.1.XML.
    INFO 2007-09-26 16:00:26
    Creating file C:\SAPinst ORACLE KERNEL\DBSIZE.1.XML.
    INFO 2007-09-26 16:00:26
    Copying file C:/dump/export1/DB/DDLORA.TPL to: DDLORA.TPL.
    INFO 2007-09-26 16:00:26
    Creating file C:\SAPinst ORACLE KERNEL\DDLORA.TPL.
    INFO 2007-09-26 16:00:26
    Copying file system node C:\dump\export1/DB/DDLORA.TPL with type NODE to DDLORA.TPL succeeded.
    INFO 2007-09-26 16:00:26
    Processing of all file system node operations of table tORA_filecopy succeeded.
    INFO 2007-09-26 16:00:33
    Moving file C:/SAPinst ORACLE KERNEL/DDLORA.TPL to: orig_ddl_ora_tmp.tpl.
    INFO 2007-09-26 16:00:33
    Moving file C:/SAPinst ORACLE KERNEL/changed_ddl_ora_tmp.tpl to: DDLORA.TPL.
    INFO 2007-09-26 16:00:33
    Removing file C:/SAPinst ORACLE KERNEL/orig_ddl_ora_tmp.tpl.
    INFO 2007-09-26 16:02:00
    Package table created
    PHASE 2007-09-26 16:02:10
    SAP Business WareHouse
    PHASE 2007-09-26 16:02:10
    SAP Web Application Server
    PHASE 2007-09-26 16:02:10
    Request common parameters of SAP System
    PHASE 2007-09-26 16:02:10
    Create operating system accounts
    INFO 2007-09-26 16:02:10
    Changing account ACCOUNTID=S-1-5-21-1844237615-963894560-725345543-1004 ACCOUNTNAME=biwdev\SAP_LocalAdmin ACCOUNTTYPE=GROUP DESCRIPTION=SAP Local Administration Group MEMBERSHIPSEPARATOR=, OPMODE=CREATE  succeeded.
    INFO 2007-09-26 16:02:10
    Changing account ACCOUNTID=S-1-5-21-1844237615-963894560-725345543-1005 ACCOUNTNAME=biwdev\SAP_BWD_LocalAdmin ACCOUNTTYPE=GROUP DESCRIPTION=SAP Local Administration Group MEMBERSHIPSEPARATOR=, OPMODE=CREATE  succeeded.
    INFO 2007-09-26 16:02:10
    Changing account ACCOUNTID=S-1-5-21-1844237615-963894560-725345543-1006 ACCOUNTNAME=biwdev\SAP_BWD_GlobalAdmin ACCOUNTTYPE=GROUP DESCRIPTION=SAP Global Administration Group MEMBERSHIPSEPARATOR=, OPMODE=CREATE  succeeded.
    INFO 2007-09-26 16:02:10
    Changing account ACCOUNTID=S-1-5-21-1844237615-963894560-725345543-1007 ACCOUNTNAME=ORA_BWD_DBA ACCOUNTTYPE=GROUP CONDITION=YES DESCRIPTION=Database Operator Group MEMBERSHIPSEPARATOR=, OPMODE=CREATE  succeeded.
    INFO 2007-09-26 16:02:10
    Changing account ACCOUNTID=S-1-5-21-1844237615-963894560-725345543-1008 ACCOUNTNAME=ORA_BWD_OPER ACCOUNTTYPE=GROUP CONDITION=YES DESCRIPTION=Database Administration Group MEMBERSHIPSEPARATOR=, OPMODE=CREATE  succeeded.
    INFO 2007-09-26 16:02:10
    Processing of all account operations of table t_SAPComponent_Accounts_Accounts_SHARED succeeded (operation CREATE).
    INFO 2007-09-26 16:02:15
    Changing account ACCOUNTID=S-1-5-21-1844237615-963894560-725345543-1009 ACCOUNTNAME=biwdev\bwdadm ACCOUNTTYPE=USER DESCRIPTION=SAP System Administrator MEMBERSHIP=biwdev\SAP_BWD_GlobalAdmin,biwdev\Users,Administrators,ORA_BWD_DBA,ORA_BWD_OPER,biwdev\SAP_LocalAdmin,biwdev\SAP_BWD_LocalAdmin MEMBERSHIPSEPARATOR=, OPMODE=CREATE USERPASSWORD=*...  succeeded.
    INFO 2007-09-26 16:02:15
    Changing account ACCOUNTID=S-1-5-21-1844237615-963894560-725345543-1010 ACCOUNTNAME=biwdev\SAPServiceBWD ACCOUNTTYPE=USER CONDITION=YES DESCRIPTION=SAP System Service Administrator MEMBERSHIP=biwdev\SAP_BWD_GlobalAdmin,Administrators,ORA_BWD_DBA,ORA_BWD_OPER,biwdev\SAP_LocalAdmin,biwdev\SAP_BWD_LocalAdmin MEMBERSHIPSEPARATOR=, OPMODE=CREATE USERPASSWORD=*...  succeeded.
    INFO 2007-09-26 16:02:15
    Processing of all account operations of table t_SAPComponent_Accounts_Accounts_SHARED succeeded (operation CREATE).
    PHASE 2007-09-26 16:02:16
    Request operating system user information
    PHASE 2007-09-26 16:02:16
    Request operating system user information
    PHASE 2007-09-26 16:02:16
    Request operating system user information
    PHASE 2007-09-26 16:02:16
    Request operating system user information
    PHASE 2007-09-26 16:02:16
    Request operating system user information
    PHASE 2007-09-26 16:02:16
    Request operating system user information
    PHASE 2007-09-26 16:02:16
    Request operating system user information
    PHASE 2007-09-26 16:02:16
    Request operating system user information
    PHASE 2007-09-26 16:02:16
    Request operating system user information
    PHASE 2007-09-26 16:02:17
    Request operating system user information
    PHASE 2007-09-26 16:02:17
    Request operating system user information
    PHASE 2007-09-26 16:02:17
    Request operating system user information
    PHASE 2007-09-26 16:02:17
    Request operating system user information
    PHASE 2007-09-26 16:02:17
    Request operating system user information
    PHASE 2007-09-26 16:02:17
    Request operating system user information
    PHASE 2007-09-26 16:02:17
    Request operating system user information
    PHASE 2007-09-26 16:02:17
    Request operating system user information
    PHASE 2007-09-26 16:02:17
    Request operating system user information
    INFO 2007-09-26 16:02:17
    Successfully added privileges 'SeTcbPrivilege SeAssignPrimaryTokenPrivilege SeIncreaseQuotaPrivilege' to account 'S-1-5-21-1844237615-963894560-725345543-1009' on host 'biwdev'!
    INFO 2007-09-26 16:02:17
    Successfully added privileges 'SeServiceLogonRight SeNetworkLogonRight' to account 'biwdev\SAPServiceBWD' on host 'biwdev'!
    INFO 2007-09-26 16:02:17
    Successfully added privileges 'SeTcbPrivilege SeAssignPrimaryTokenPrivilege SeIncreaseQuotaPrivilege' to account 'biwdev\bwdadm' on host 'biwdev'!
    INFO 2007-09-26 16:02:18
    Evaluating all 'tNT_RegistryEntries' table rows succeeded.
    INFO 2007-09-26 16:02:19
    Creating or updating all NT registry entries from the tNT_RegistryEntries table succeeded.
    INFO 2007-09-26 16:02:20
    Creating or updating all NT registry entries from the tNT_RegistryEntries table succeeded.
    INFO 2007-09-26 16:02:21
    Creating or updating all NT registry entries from the tNT_RegistryEntries table succeeded.
    INFO 2007-09-26 16:02:21
    Creating or updating all NT registry entries from the tNT_RegistryEntries table succeeded.
    INFO 2007-09-26 16:02:22
    Creating or updating all NT registry entries from the tNT_RegistryEntries table succeeded.
    INFO 2007-09-26 16:02:23
    Creating or updating all NT registry entries from the tNT_RegistryEntries table succeeded.
    INFO 2007-09-26 16:02:24
    Creating or updating all NT registry entries from the tNT_RegistryEntries table succeeded.
    INFO 2007-09-26 16:02:24
    Creating or updating all NT registry entries from the tNT_RegistryEntries table succeeded.
    INFO 2007-09-26 16:02:53
    Creating directory E:\oracle\BWD\sapdata1\system_1.
    INFO 2007-09-26 16:02:53
    Creating file system node E:\oracle\BWD/sapdata1\system_1 with type DIRECTORY succeeded.
    INFO 2007-09-26 16:02:53
    Processing of all file system node operations of table tORA_SapdataNodes succeeded.
    INFO 2007-09-26 16:02:53
    Processing of all file system node operations of table tORA_DatabaseServerNodes succeeded.
    INFO 2007-09-26 16:02:53
    Processing of all file system node operations of table tORA_SapdataNodes succeeded.
    INFO 2007-09-26 16:02:55
    Copying file C:/dump/master/NT/COMMON/INSTALL/INITSID.ORA to: E:\oracle\ora92\database\initBWD.ora.
    INFO 2007-09-26 16:02:55
    Creating file E:\oracle\ora92\database\initBWD.ora.
    INFO 2007-09-26 16:02:55
    Copying file system node C:\dump\master/NT/COMMON/INSTALL/INITSID.ORA with type FILE to E:\oracle\ora92\database\initBWD.ora succeeded.
    INFO 2007-09-26 16:02:55
    Copying file C:/dump/master/NT/COMMON/INSTALL/INITSID.SAP to: E:\oracle\ora92\database\initBWD.sap.
    INFO 2007-09-26 16:02:55
    Creating file E:\oracle\ora92\database\initBWD.sap.
    INFO 2007-09-26 16:02:55
    Copying file system node C:\dump\master/NT/COMMON/INSTALL/INITSID.SAP with type FILE to E:\oracle\ora92\database\initBWD.sap succeeded.
    INFO 2007-09-26 16:02:55
    Copying file C:/dump/master/NT/COMMON/INSTALL/INITSID.DBA to: E:\oracle\ora92\database\initBWD.dba.
    INFO 2007-09-26 16:02:55
    Creating file E:\oracle\ora92\database\initBWD.dba.
    INFO 2007-09-26 16:02:55
    Copying file system node C:\dump\master/NT/COMMON/INSTALL/INITSID.DBA with type FILE to E:\oracle\ora92\database\initBWD.dba succeeded.
    INFO 2007-09-26 16:02:55
    Processing of all file system node operations of table tORA_ServerConfig_FORMS succeeded.
    INFO 2007-09-26 16:02:57
    Processing of adapt operation tORA_ServerConfig succeeded.
    INFO 2007-09-26 16:02:59
    Changed working directory to C:\SAPinst ORACLE KERNEL.
    INFO 2007-09-26 16:03:02
    Moving file E:/oracle/ora92/database/initBWD.ora to: orig_init_ora_tmp.txt.
    INFO 2007-09-26 16:03:02
    Moving file C:/SAPinst ORACLE KERNEL/changed_init_ora_tmp.txt to: E:\oracle\ora92\database\initBWD.ora.
    INFO 2007-09-26 16:03:02
    Removing file C:/SAPinst ORACLE KERNEL/orig_init_ora_tmp.txt.
    WARNING 2007-09-26 16:03:02
    PROBLEM: 'E:\oracle\ora92/bin/oradim' not found. CAUSE: Unable to find application via absolute path in filesystem. Application could perhaps be found using environment variable path or is really missing. Trying to call the application nevertheless.
    WARNING 2007-09-26 16:03:02
    PROBLEM: 'E:\oracle\ora92/bin/oradim' not found. CAUSE: Unable to find application via absolute path in filesystem. Application could perhaps be found using environment variable path or is really missing. Trying to call the application nevertheless.
    INFO 2007-09-26 16:03:02
    'E:\oracle\ora92/bin/oradim -new -sid BWD -STARTMODE auto' returned with '20'.
    INFO 2007-09-26 16:03:04
    Changed working directory to C:\SAPinst ORACLE KERNEL.
    INFO 2007-09-26 16:03:06
    Changed working directory to C:\SAPinst ORACLE KERNEL.
    ERROR 2007-09-26 16:03:13
    CJS-00084  SQL Statement or Script failed. Error Message: ORA-32004: obsolete and/or deprecated parameter(s) specifiedORACLE instance started.
    ERROR 2007-09-26 16:03:13
    FJS-00012  Error when executing script.
    Please let me know, what was tha problem.
    Regards,
    satish

    I suggest you upgrade your Oracle installation to 9.2.0.7 or 9.2.0.8 and then try again.
    Markus

  • What is IDOC and ALE?

    Hi anybody,
             Please tell me what is IDOC and ALE? What pupose using IDOC and ALE?
              Give me  Example sample code  of using IDOC and ALE.
    Thanks
    S.Muthu.

    Dear,
    Here is some facts which will be helpful to clear yr concepts for ALE/IDOCs.
    Data Creation in Idoc
    IDocs are text encoded documents with a rigid structure that are used to exchange data between R/3 and a foreign system. Instead of calling a program in the destination system directly, the data is first packed into an IDoc and then sent to the receiving system, where it is analyzed and properly processed. Therefore an IDoc data exchange is always an asynchronous process. The significant difference between simple RFC-calls and IDoc data exchange is the fact, that every action performed on IDocs are protocolled by R/3 and IDocs can be reprocessed if an error occurred in one of the message steps.
    While IDocs have to be understood as a data exchange protocol, EDI and ALE are typical use cases for IDocs. R/3 uses IDocs for both EDI and ALE to deliver data to the receiving system. ALE is basically the scheduling mechanism that defines when and between which partners and what kind of data will be exchanged on a regular or event triggered basis. Such a set-up is called an ALE-scenario.
    IDoc is a intermediate document to exchange data between two SAP Systems.
    An IDoc is simply a data container that is used to exchange information between any two processes that can understand the syntax and semantics of the data...
    1.IDOCs are stored in the database. In the SAP system, IDOCs are stored in database tables.
    2.IDOCs are independent of the sending and receiving systems.
    3.IDOCs are independent of the direction of data exchange.
    The two available process for IDOCs are
    Outbound Process
    Inbound Process
    AND There are basically two types of IDOCs.
    Basic IDOCs
    Basic IDOC type defines the structure and format of the business document that is to be exchanged between two systems.
    Extended IDOCs
    Extending the functionality by adding more segments to existing Basic IDOCs.
    *IDocs are structured ASCII files (or a virtual equivalent).
    *Electronic Interchange Document
    *They are the file format used by SAP R/3 to exchange data with foreign systems.
    *Data Is transmitted in ASCII format, i.e. human readable form
    *IDocs exchange messages
    *IDocs are used like classical interface files
    IDOC types are templates for specific message types depending on what is the business document, you want to exchange.
    ALE (Application Linking and Enabling)
    Ale Technology is SAP’s technology to support distributed yet integrated processes across several SAP systems.
    Distributed Process:
    A distributed process is one in which part of a business process is carried out on one system and part on another. The two systems would exchange data with each other at appropriate points to stay synchronized.
    Need for Distributed Process:
    • Business in Different Geographical Locations.
    • Non availability of dedicated network.
    • Cultural and language differences in Geographical locations.
    • Running of Mission-critical Applications (Like Maintenance downtime etc.).
    • Separate up gradation of Modules.
    Distributed SAP SYSTEM – CHALLENGES
    • A system that understands the syntax and semantics of the data. It was important from the very beginning to base the distribution of data on business rules, not on database replication techniques.
    • Distributed systems that can maintain their autonomy while being integrated as one logical SAP system. The systems should be able to operate independently and support logical processing of transactions and data.
    • Distributed systems that can handle different data models. A local implementation should be able to customize the system to meet its local needs.
    • Receiving systems that can handle their own problems and not tie up the sending system.
    • Systems that maintain continued operation in spite of network failure. Changes made to either system should be synchronized after the network connection is restored.
    • A sound technology and methodology that can be used in all distribution scenarios.
    SAP Distributed environment:
    ALE allows for efficient and reliable communication between distributed processes across physically separate SAP systems.
    ALE is based on application to application integration using messaging architecture. A message defines data that is exchanged between two processes. IDocs are containers that hold data exchanged between the two systems.
    Benefits of ALE:
    • Integration with non-SAP systems: ALE architecture allows third party applications to integrate with SAP system.
    • Reliable Distribution: Once message type created and the receiver of the message is determined, ALE delivers the message to the recipient. If there is any network problem it will buffer the message and delivers the message once the network is restored. It also ensures that the message is not delivered twice.
    • Release Upgrade: Any of the distributed system can be upgraded to the new release of SAP without affecting the functionality. The ALE layer ensures backward compatibility of messages exchanged between systems.
    ALE Architecture:
    It consists of an Outbound process, an Inbound process, and an Exception – Handling process.
    Outbound Process:
    ALE Outbound Process in SAP sends data to one or more SAP Systems. It involves four steps.
    1. Identify the need of IDoc: This step starts upon creating a application document, can relate to a change to a master data object.
    2. Generate the Master IDoc: The document or master data to be sent is read from the database and formatted into an IDoc format. This IDoc is called as a Master IDoc.
    3. Generate the Communication IDoc: The ALE Service layer generates a separate IDoc from the Master IDoc for each recipient who is interested in the data. Separate IDocs are generated because each recipient might demand a different version or a subset of the Master IDoc. These recipient-specific IDocs are called Communication IDocs and are stored in the database.
    4. Deliver the Communication IDoc: The IDoc is delivered to the recipients using an asynchronous communication method. This allows the sending system to continue its processing without having to wait for the destination system to receiver or process the IDoc.
    Inbound Process:
    The inbound process receives an IDoc and creates a document in the system.
    1. Store the IDoc in the database: The IDoc is received from the sending system and stored in the database. Then the IDoc goes through a basic integrity check and syntax check.
    2. Invoke the Posting Module: The control information in the IDoc and configuration tables are read to determine the posting program. The IDoc is then transferred to its posting program.
    3. Create the Document: The posting program reads the IDoc data and then creates a document in the system. The results are logged in the IDoc.
    IDoc Types:
    IDoc type structure can consist of several segments, and each segment can consist of several data fields. The IDoc structure defines the syntax of the data by specifying a list of permitted segments and arrangement of the segments. Segments define a set of fields and their format.
    An IDoc is an instance of an IDoc Type and consists of three types of records.
    i. One Control record: each IDoc has only one control record. The control record contains all the control information about an IDoc, including the IDoc number, the sender and recipient information, and information such as the message type it represents and IDoc type. The control record structure is same for all IDocs.
    ii. One or Many Data records: An IDoc can have multiple data records, as defined by the IDoc structure. Segments translate into data records, which store application data, such as purchase order header information and purchase order detail lines.
    iii. One or Many Status records: An IDoc can have multiple status records. Status record helps to determine whether an IDoc has any error.
    Message in IDoc Type:
    A Message represents a specific type of document transmitted between two partners.
    Outbound Process in IDocs:
    Outbound process used the following components to generate an IDoc. A customer model, and IDoc structure, selection programs, filter objects, conversion rules, a port definition, an RFC destination, a partner profile, service programs, and configuration tables.
    The Customer Model:
    A customer model is used to model a distribution scenario. In a customer model, you identify the systems involved in a distribution scenario and the message exchanged between the systems.
    Message control:
    Message control is a cross application technology used in pricing, account determination, material determination, and output determination. The output determination technique of Message control triggers the ALE for a business document. Message control separates the logic of generating IDocs from the
    application logic.
    Change Pointers:
    The change pointers technique is based on the change document technique, which tracks changes made to key documents in SAP, such as the material master, customer master and sales order.
    Changes made to a document are recorded in the change document header table CDHDR, and additional change pointers are written in the BDCP table for the changes relevant to ALE.
    IDoc Structure:
    A message is defined for data that is exchanged between two systems. The message type is based on one or more IDoc structures.
    Selection Program:
    Is typically implemented as function modules, are designed to extract application data and create a master IDoc. A selection program exists for each message type. A selection program’s design depends on the triggering mechanism used in the process.
    Filter Objects;
    Filter Objects remove unwanted data for each recipient of the data basing on the recipients requirement.
    Port Definition:
    A port is used in an outbound process to define the medium in which documents are transferred to the destination system. ALE used a Transactional RFC port, which transfers data in memory buffers.
    RFC Destination:
    The RFC destination is a logical name used to define the characteristics of a communication link to a remote system on which a function needs to be executed.
    Partner Profile:
    A partner profile specifies the components used in an outbound process(logical name of the remote SAP system, IDoc Type, message type, TRFC port), an IDoc’s packet size, the mode in which the process sends an IDoc (batch versus immediate), and the person to be notified in case of error.
    Service Programs and Configuration Tables:
    The outbound process, being asynchronous, is essentially a sequence of several processes that work together. SAP provides service programs and configuration tables to link these programs and provide customizing options for an outbound process.
    Process flow for Distributing Transactional Data:
    Transactional data is distributed using two techniques: with Message control and without message control.
    Process flow for Distributing Master Data:
    Master data between SAP systems is distributed using two techniques: Stand alone Programs and Change Pointers.
    Triggering the Outbound Process via Stand-Alone Programs:
    Stand-Alone programs are started explicitly by a user to transmit data from one SAP system to another. Standard Programs for several master data objects exist in SAP. Ex. The material master data can be transferred using the RBDSEMAT program or transaction BD10.
    The stand-alone programs provide a selection screen to specify the objects to be transferred and the receiving system. After the stand-alone program is executed, it calls the IDoc selection program with the specified parameters.
    Triggering the Outbound Process via Change Pointers:
    The change pointer technique is used to initiate the outbound process automatically when master data is created or changed.
    A standard program, RBDMIDOC, is scheduled to run on a periodic basis to evaluate the change pointers for a message type and start the ALE process for distributing the master data to the appropriate destination. The RBDMIDOC program reads the table TBDME to determine the IDoc selection program for a message type.
    Processing in the Application Layer:
    The customer distribution model is consulted to make sure that a receiver has been defined for the message to be transmitted. If not, processing ends. If at least one receiver exists, the IDoc selection program reads the master data object from the database and creates a master IDoc from it. The master IDoc is stored in memory. The program then calls the ALE service layer by using the function module MASTER_IDOC_DISTRIBUTE, passing the master IDoc and the receiver information.
    Processing in the ALE Interface Layer:
    Processing in the ALE Layer consists of the following steps:
    • Receiver Determination: The determination of the receiver is done through Customer Distribution Model.
    • IDoc Filtering: if an IDoc filter is specified in the distribution model for a receiver, values in the filter are compared against the values in the IDoc data records. If a data record does not meet the filter criteria, it is dropped.
    • Segment Filtering: For each sender and receiver combination, a set of segments that are not required can be filtered out.
    • Field conversion: Field values in data records are converted by using the conversion rules specified for the segment.
    • Version change for segments: Segments are version-controlled. A new version of a segment always contains fields from the preceding version and fields added for the new version. Release in IDoc type field of the partner profile to determine the version of the segment to be generated.
    • Version change for IDocs: IDocs are also version controlled. The version is determined from the Basic Type field of the partner profile.
    • Communication IDocs generated: The final IDoc generated for a receiver after all the conversions and filtering operations is the communication IDoc. One master IDoc can have multiple communication IDocs depending on the number of receivers identified and the filter operations performed. IDoc gets the status record with a status code of 01 (IDoc Created).
    • Syntax check performed: IDoc goes through a syntax check and data integrity validation. If errors found the IDoc get the status of 26 (error during syntax check of IDoc – Outbound). If no errors found the IDoc gets the status 30 (IDoc ready for dispatch – ALE Service).
    • IDoc dispatched to the communication Layer: In the ALE process, IDocs are dispatched using the asynchronous RFC method, which means that the sending system does not await for data to be received or processed on the destination system. After IDocs have been transferred to the communication layer, they get a status code 01 (Data Passed to Port OK).
    Processing in the Communication Layer:
    To dispatch an IDoc to a destination system, the system reads the port definition specified in the partner profile to determine the destination system, which is then used to read the RFC destination. The RFC destination contains communication settings to log o to the remote SAP system. The sending system calls the INBOUND_IDOC_PROCESS function module asynchronously on the destination system and passes the IDoc data via the memory buffers.
    Inbound Process in IDocs:
    An inbound process used IDoc structure, posting programs, filter objects, conversion rules, a partner profile, service programs, and configuration tables to post an application document from an IDoc.
    Posting Program:
    Posting programs, which are implemented as function modules, read data from an IDoc and create an application document from it. A posting program exists for each message. Each posting program is assigned a process code. A process code can point to a function module or a work flow. In the standard program process codes always point to a function module.
    Ex. The posting program for message type MATMAS is IDOC_INPUT_MATMAS which has a process code MATM.
    Workflow:
    A workflow represents a sequence of customized steps to be carried out for a process. The workflow management system is used to model the sequence, identify information required to carry out the steps and identify the person responsible for the dialog steps.
    Partner Profile;
    A partner profile specifies the components used in an inbound process (partner number, message type, and process code), the mode in which IDocs are processed (batch versus immediate), and the person to be notified in case of errors.
    Process flow for the Inbound process via a Function Module:
    In this process, IDocs are received from another system and passed to the posting function module directly.
    1. Processing in the communication Layer:
    The IDOC_INBOUND_ASYCHRONOUS program, triggered as a result of an RFC from the sending system, acts as the entry point for all inbound ALE processes. The IDoc to be processed is passed as an input parameter. Control is transferred to the ALE/EDI layer.
    2. Processing in the ALE/EDI Interface Layer:
    • Basic integrity check: A basic integrity check is performed on the control record.
    • Segment Filtering and conversion: Filtering out unwanted segments and carry out any required conversion of field values.
    • Creation of Application IDoc: The application IDoc is created and stored in the database and a syntax check is performed. If there are errors it gets status code of 60 (Error during Syntax check of IDoc – Inbound). At this point a tangible IDoc, which can be monitored via one of the monitoring transactions, is created and the IDoc gets status code 50 (IDoc Added).
    • IDoc Marked ready for Dispatch: IDoc gets the status code 64 (IDoc ready to be passed to application).
    • IDoc is passed to the posting program: The partner profile table is read. If the value of the Processing field is set to Process Immediately, the IDoc is passed to the posting program immediately using the program RBDAPP01.
    3. Processing in the Posting Module:
    The process code in the partner profile points to a posting module for the specific message in the IDoc. The posting program implemented as a function module either calls a standard SAP transaction by using the Call Transaction command for posting the document or invokes a direct input function module.
    The results of execution are passed back via the function module’s output parameters. If the posting is successful IDoc gets the status code 53 (Application Document Posted) or it gets status code 51 (Error: Application 
    How to create idoc?
    *WE30 - you can create a IDOC type
    To Create Idoc we need to follow these steps:
    Create Segment ( WE31)
    Create Idoc Type ( WE30 )
    Create Message Type ( WE81 )
    Assign Idoc Type to Message Type ( WE82 )
    Creating a Segment
    Go to transaction code WE31
    Enter the name for your segment type and click on the Create icon
    Type the short text
    Enter the variable names and data elements
    Save it and go back
    Go to Edit -> Set Release
    Follow steps to create more number of segments
    Create IDOC Type
    Go to transaction code WE30
    Enter the Object Name, select Basic type and click Create icon
    Select the create new option and enter a description for your basic IDOC type and press enter
    Select the IDOC Name and click Create icon
    The system prompts us to enter a segment type and its attributes
    Choose the appropriate values and press Enter
    The system transfers the name of the segment type to the IDOC editor.
    Follow these steps to add more number of segments to Parent or as Parent-child relation
    Save it and go back
    Go to Edit -> Set release
    Create Message Type
    Go to transaction code WE81
    Change the details from Display mode to Change mode
    After selection, the system will give this message “The table is cross-client (see Help for further info)”. Press Enter
    Click New Entries to create new Message Type
    Fill details
    Save it and go back
    Assign Message Type to IDoc Type
    Go to transaction code WE82
    Change the details from Display mode to Change mode
    After selection, the system will give this message “The table is cross-client (see Help for further info)”. Press Enter.
    Click New Entries to create new Message Type.
    Fill details
    Save it and go back
    An IDOC with data, will have to be triggered by the application that is trying to send out the data.
    Try this..Hope this will help.
    SAP ALE & IDOC<<<<
    Steps to configuration(Basis) >>
    1. Create Logical System (LS) for each applicable ALE-enabled client
    2. Link client to Logical System on the respective servers
    3. Create background user, to be used by ALE(with authorizaton for ALE postings)
    4. Create RFC Destinations(SM59)
    5. Ports in Idoc processing(WE21)
    6. Generate partner profiles for sending system
    The functional configuration(Tcode: SALE)
    • Create a Customer Distribution Model (CDM);
    • Add appropriate message types and filters to the CDM;
    • Generate outbound partner profiles;
    • Distribute the CDM to the receiving systems; and
    • Generate inbound partner profiles on each of the clients.
    Steps to customize a new IDoc >>>
    1. Define IDoc Segment (WE31)
    2. Convert Segments into an IDoc type (WE30)
    3. Create a Message Type (WE81)
    4. Create valid Combination of Message & IDoc type(WE82)
    5. Define Processing Code(WE41 for OUT / WE42 for IN)
    6. Define Partner Profile(WE20)
    Important Transaction Codes:
    SALE - IMG ALE Configuration root
    WE20 - Manually maintain partner profiles
    BD64 - Maintain customer distribution model
    BD71 - Distribute customer distribution model
    SM59 - Create RFC Destinations
    BDM5 - Consistency check (Transaction scenarios)
    BD82 - Generate Partner Profiles
    BD61 - Activate Change Pointers - Globally
    BD50 - Activate Change Pointer for Msg Type
    BD52 - Activate change pointer per change.doc object
    BD59 - Allocation object type -> IDOC type
    BD56 - Maintain IDOC Segment Filters
    BD53 - Reduction of Message Types
    BD21 - Select Change Pointer
    BD87 - Status Monitor for ALE Messages
    BDM5 - Consistency check (Transaction scenarios)
    BD62 - Define rules
    BD79 - Maintain rules
    BD55 - Defining settings for IDoc conversion
    WEDI - ALE IDoc Administration
    WE21 - Ports in Idoc processing
    WE60 - IDoc documentation
    SARA - IDoc archiving (Object type IDOC)
    WE47 - IDoc status maintenance
    WE07 - IDoc statistics
    BALE - ALE Distribution Administration
    WE05 - IDoc overview
    BD87 - Inbound IDoc reprocessing
    BD88 - Outbound IDoc reprocessing
    BDM2 - IDoc Trace
    BDM7 - IDoc Audit Analysis
    BD21 - Create IDocs from change pointers
    SM58 - Schedule RFC Failures
    Basic config for Distributed data:
    BD64: Maintain a Distributed Model
    BD82: Generate Partner Profile
    BD64: Distribute the distribution Model
    Programs
    RBDMIDOC – Creating IDoc Type from Change Pointers
    This report creates IDocs from the change pointers for the specified message type. It then sends them to the receiving system and flags the change pointers as processed in respect of the specified message type.
    The receiving systems for the specified message type are determined from the customer distribution model.
    Output:-The report outputs information about the number of master IDocs and communication IDocs created.
    RSEOUT00 – Process all selected IDocs (EDI)  Report for generation of files for EDI outbound processing.The report processes the IDocs available in the system with the status 'to be processed'. The IDocs are selected according to the selection options and parameters specified.  
    It is important that you make sure that only test messages or productive messages are selected.
    The IDocs are processed in various files for various output modes and for various ports. The names of the files are created according to the naming definition for the outbound file. This definition is determined in the port definition.
    RBDAPP01 - Inbound Processing of IDocs Ready for Transfer
    RSARFCEX - Execute Calls Not Yet Executed
    RBDMOIND - Status Conversion with Successful tRFC Execution
    RBDMANIN - Start error handling for non-posted IDocs
    RBDSTATE - Send Audit Confirmations
    For testing you can use WE19.
    Hope This will be helpful,
    Best Regards ,
    P Singh

  • What are SCMRWBS and SCMEMWCL for ?

    Hello all,
    I'm now filling the installation parameter sheet of SCM(APO) system.
    This sheet has two paraemters whose content I'm not sure of.
    That is, software units SCMRWBS and SCMEMWCL.
    What are SCMRWBS and SCMEMWCL for ?
    Do we need to install them while my project will use PP/DS and BP modules ?
    And can we see whether these usage types installed or not via SAPGUI ?
    I beg your help !
    Thank you for your cooperation in advance.
    Regards,

    Hi Hideki,
    SCMRWBS is for SCM Replenishment Workbench. If you are using F&R modules of mySAP SCM suite, then this component is neccessary.
    Smilarly, SCMEMWCL is SCM Web Communication Layer for Event Management. Again this is part of mySAP SCM, but belongs to Event Management module.
    As far as PP/DS is concerned these two components are not neccessary. However, these components may have some dependencies on other applications / modules. Please check with SAP for any specific inputs if you have any concern over installing them onto your system.
    Thanks,
    Rajesh
    >
    Hideki Kozai wrote:
    > Hello all,
    >
    > I'm now filling the installation parameter sheet of SCM(APO) system.
    > This sheet has two paraemters whose content I'm not sure of.
    > That is, software units SCMRWBS and SCMEMWCL.
    > What are SCMRWBS and SCMEMWCL for ?
    > Do we need to install them while my project will use PP/DS and BP modules ?
    > And can we see whether these usage types installed or not via SAPGUI ?
    >
    > I beg your help !
    >
    > Thank you for your cooperation in advance.
    >
    > Regards,

  • What is KeyManager and TrustManager?

    hi friends,
    I need to know "what is keymanager and trustmanager?".
    In ssl, i need to create a sslserversocket for which i am creating instance of SSLServerSocketFactory for which keymanger,trustmanager and securerandom are the parameter.
    To create a trustManager, i need keystore and password. I dont know what password to be given?I tried with keystore password ,it didnt work.
    so what is the problem? or there any other way of creating sslserversocket.
    If there is any site which tell abut keymanager and trustmanager, plz let me know.
    Thanks in advance,
    regards,
    Deepa Raghuraman

    try this to create sslserversocket:
    ServerSocketFactory ssf=SSLServerSocketFactory.getDefault();
    ServerSocket ss=ssf.createServerSocket(9096);
    AND add this to $JREHOME/lib/security/java.security :
    ssl.ServerSocketFactory.provider=com.sun.net.ssl.internal.ssl.SSLServerSocketFactoryImpl
    Note that the "ssl.ServerSocketFactory.provider" is ignored in the exportable version of JSSE. you can use a different implementation of the socket factory only in the version of JSSE available in U.S and CANADA.
    good luck.
    Alex

  • What is rfc. and uses

    <u></u>what is rfc. and uses

    Hi,
    RFC
    Remote Function Call:
    RFCs are requests that an SAP component sends to invoke functions on remote systems, or calls that remote systems initiate to invoke functions on an SAP component.A process that can accept RFCs from SAP components. This allows SAP components to access functions in external systems. In SAP BC terminology, the process is called a Listener. Listeners are one or more threads on SAP Business Connector that wait for incoming requests from SAP components. Listeners are named and register with an SAP gateway to indicate that they are ready to accept requests. Listeners can accept RFC or tRFC requests.
    Transactional RFC (tRFC) and Queued RFC (qRFC). tRFC is used mainly to transfer ALE Intermediate Documents (IDocs).
    Transactional RFC:
    If an error occurs during a synchronous remote function call, the system cannot tell at what point the error occurred (most crucially, whether the function module was actually processed in R/3 before the operation failed). Restarting a failed call is therefore a dangerous thing to do, since you risk duplicating a completed function call.
    To alleviate this problem, you can use transactional RFC, which guarantees that each function call you issue will only be executed once, even if you submit it repeatedly to the R/3 System. The system implements this safeguard by assigning a unique transaction ID (TID) to each transaction that you submit. When you attempt to process the transaction, the system checks whether that TID has already been processed. If it has, the transaction is ignored.
    Queued RFC:
    When you use transactional RFC, you cannot guarantee the order in which the function calls will be processed in the system (it is quite possible that one call might overtake another). For cases where you need to specify a particular processing order, you can use queued RFC, which is an extension of transactional RFC. In qRFC, you place each function call in a logical queue. A function call cannot be executed until all of its predecessors in the queue have been processed. Queued RFC calls are processed asynchronously.
    RFC is an SAP interface protocol. Based on CPI-C, it considerably simplifies the programming of communication processes between systems.
    RFCs enable you to call and execute predefined functions in a remote system - or even in the same system.
    RFCs manage the communication process, parameter transfer and error handling.
    Have a look at this link.
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCFESDE2/BCFESDE2.pdf
    http://help.sap.com/saphelp_47x200/helpdata/en/22/042860488911d189490000e829fbbd/frameset.htm.
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f078394a-4469-2910-c4bf-853c75674694
    Please go through the following link. You will get good info on RFC & its types.
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f078394a-4469-2910-c4bf-853c75674694
    Regards,
    Priyanka.

  • What is bapi and what is badi

    Hi gurus
    what is the difference between bapi and badi. Where do we use these two concepts. 
    Thanks in advance

    hI ,
    badi : Business add-ins are enhancements to the standard version of the system. They can be inserted into the SAP System to accommodate user requirements too specific to be included in the standard delivery. Since specific industries often require special functions, SAP allows you to predefine these points in your software.
    You can differentiate between single-use and multiple use Business Add-Ins. The distinction is based on the procedure or event character of an enhancement. In the first case, the program waits for the enhancement to return something, usually a return code. A typical example could be a benefit calculation in HR. Depending on the implementation, alternative calculations can be executed. With multiple use add-ins, an event that may be of interest to other components is processed in program flow. Any number of components could use this event as a “hook” to hang their own additional actions on to.
    In addition to importing parameters, you can also use changing parameters for multiple-use Business Add-Ins. There is no sequence control for multiple-use implementations of BadIs. Therefore, using changing parameters can cause problems. There is no guarantee that implementations will not overwrite the results of previous implementations. Sequence control is technically impossible, since at the time of the definition the interface does not know which implementations there will be and which parameters will be changed by implementations. It is not possible to have a decision as to which implementation should be executed before which other (future) implementation.
    Example:
    In a particular application, you want to be able to continue processing indexes after another component has saved data (in other words, the system should allow you to use an add-in after saving). Since this point in time can be useful for different purposes, you can create an enhancement here that can be used by multiple subscribers.
    To create a multiple-use Business Add-In, proceed as follows:
           1.      Define an add-in and select the Multiple Use checkbox from the Administration tab.
           2.      Define an interface with the method OBJECT_SAVED'and the importing parameter OBJECTNAME.
    Calling your enhancement in the application program:
    program event.
    data exit_obj type ref to if_ex_event.
    call method cl_exithandler =>get_instance
         changing instance = exit.
    form save_object using obj_name type c.
    update …
    call method exit_obj->object_saved
         exporting objectname = obj_name.
    endform.
    For the caller it is irrelevant whether (and how many) subscribers use the event as a starting point for further actions. The active implementations are called in the adapter method.
    BAPI :
    BAPI/RFC Interface
    A remote function call is a call to a function module running in a system different from the caller's.
    The remote function can also be called from within the same system (as a remote call), but usually caller and callee will be in different systems.
    In the SAP System, the ability to call remote functions is provided by the Remote Function Call interface system (RFC). RFC allows for remote calls between two SAP Systems (R/3 or R/2), or between an SAP System and a non-SAP System.
    RFC consists of the following interfaces:-
    A calling interface for ABAP programs
    Any ABAP program can call a remote function using the CALL FUNCTION...DESTINATION statement. The DESTINATION parameter tells the SAP System that the called function runs in a system other than the caller's.
    RFC communication with the remote system happens as part of the CALL FUNCTION statement.
    RFC functions running in an SAP System must be actual function modules, and must be registered in the SAP System as "remote".
    When both caller and called program are ABAP programs, the RFC interface provides both partners to the communication. The caller may be any ABAP program, while the called program must be a function module registered as remote.
    Calling interfaces for non-SAP programs
    When either the caller or the called partner is a non-ABAP program, it must be programmed to play the other partner in an RFC communication.
    To help implement RFC partner programs in non-SAP Systems, SAP provides-
    External Interfaces
    RFC-based and GUI-based interfaces can be used by external programs to call function modules in SAP R/2 or R/3 systems and execute them in these systems.
    Vice versa, ABAP programs in R/2 or R/3 can use the functions provided by external programs via these interfaces.
    M<reward if useful>
    Thanks
    Jagadeesh
    Edited by: Jagadeshwar Gollapelly on Mar 20, 2008 5:34 AM

  • What is semaphore and shared memory

    Hello Gurus,
    what is Semaphores and shared memory. what is the use of setting the parameter
    SHMMAX
    SHMMIN
    SEMMIN while installing Oracle software in Linux
    Regards
    Hameed

    Hello,
    I would advise you to review Oracle Metalink Document: Semaphores and Shared Memory - An Overview : Doc ID: Note:153961.1.
    https://metalink.oracle.com/metalink/plsql/f?p=130:14:12007188755102069423::::p14_database_id,p14_docid,p14_show_header,p14_show_help,p14_black_frame,p14_font:NOT,153961.1,1,1,1,helvetica
    Oracle Metalink Document: TECH: Unix Semaphores and Shared Memory Explained Doc ID: Note:15566.1.
    https://metalink.oracle.com/metalink/plsql/f?p=130:14:12007188755102069423::::p14_database_id,p14_docid,p14_show_header,p14_show_help,p14_black_frame,p14_font:NOT,15566.1,1,1,1,helvetica
    Additionally you can review Oracle Metalink Document: Linux: How to Check Current Shared Memory, Semaphore Values Doc ID: Note:226209.1.
    https://metalink.oracle.com/metalink/plsql/f?p=130:14:12007188755102069423::::p14_database_id,p14_docid,p14_show_header,p14_show_help,p14_black_frame,p14_font:NOT,226209.1,1,1,1,helvetica
    Hope it helps.
    Adith

  • Error (-50) when sharing movie. what is it and how do i fix it.

    when i try to share a movie in imovie i keep getting the error-50 notice. all other movies share fine, its just this one. i read its to do with user parameters, what are these and how do i fix them? thanks!

    Hi
    Error -50 - paramErr Error in user parameter list.
    Can there be any external hard disks - if so How are it/they formatted ? Must be Mac OS Extended (hfs) if used for Video. UNIX/DOS/FAT32/Mac OS Exchange - works for most but not for VIDEO.
    Yours Bengt W

  • What is WEBELEMENTS and usage

    Hi Masters,
    what is webelements and how can i use webelements in Crystal report..
    i did read some of the forums explaining the what is webelements but where can i find this in my crystal report?
    do i need to install the Webelements?
    if not where can i find and how can i use the features...
    after reading the forums am really excited to use them
    i have develeped a crystal report and i want to use it..can i have some input pls..
    thank you,
    pasala.

    hi Pasala,
    webelements are used to create custom parameter pages for your reports or to embed web controls on a report. they are for the dhtml viewers.
    if you go to the main page [here |Crystal Reports webElements]you can find a powerpoint and a users guide that will give you more info.
    if you go [here |http://experience.sap.com/experience/html/Pages/egrid/index.htm]and then click on the plant performance reporter link you can see a live demo. in this demo there is a main report that has all of the webelements controls. the controls pass the chosen values to a report in an iframe below.
    cheers,
    jamie

  • What does salt and Iteration mean

    What does salt and iteration mean in the constructor of PBEKeySpec

    A key is generated from your PBE password using MD5 hashing.
    To make it more difficult to attack
    1) the hash is initialised with a 'salt' value before hashing the password,
    2) the result of first hashing is hashed iteratively the number of times given by the 'iteration' count parameter with the final hash value being used as the key.

Maybe you are looking for

  • BTE for F-58 Manual Paymnet to Trigger Email Notification to Vendor

    Dear Expert, I am looking for BTE to trigger automatic email notifiaction when processing payment via F-58. The client is using F-58 to pay vendor.  The requirement is, they want to send automatic email notification together with the remmittance advi

  • Switch statesment in  return statement

    Hello, how do i effectively use a switch statement in a method that returns a string, below is my understanding but this implementation will not compile public String toString(int format){      return switch(format){                          case 0:

  • UP2414Q, turns off and never goes back

    I'm experiencing random problem: monitor goes black, signal lost and that's it. Only thing that helps is a reboot. It is VERY annoying. Second one: Dell monitor manager in tray freezes picture for like 4 seconds every 15 seconds from time to time. On

  • Can iMessages be password protected

    Can iMessage be password protected without locking the device?

  • Serializing methods is not permitted? impossible?

    The Method class is final and does not implement Serializable . Thus, symantically it is impossible to serialize a method object, right? Is serializing methods possible but not permitted, or is it just plain impossible? Why? I have not looked at RMI,