Steps:
1. Make sure you have a copy and backup of an existing TIBCO project from a working environment. (.dat format or .zip format).
2. Make sure that new TIBCO versions are installed and configured using MICU (Middleware Install and Configure Utility) CDs from 11.0.
3. On new TIBCO environment, convert existing TIBCO project.
a. In case you have .dat file then first convert dat file into multi file projects and open that project in TIBCO designer.
b. In case you have an exported zip file then create an empty project in TIBCO designer and then import zip archive into the newly created TIBCO project.
4. Provide Transaction Context and ContextTimeout mapping at the following places:
For each BAPI/RFC invocation where CALO_INIT_API is invoked.
For each BAPI/zRFC invocation which is followed by Commit or Rollback BAPI.
For e.g. following BAPI/zRFC invocation needs to have context and context time out mappings.
BAPI_MATERIAL_SAVEREPLICA
BAPI_MATERIAL_BOM_GROUP_CREATE
/PTC/ZRFC_MODIFY_ROUTING
a. Steps to modify the input parameter caret_userClosure_caret_ to type RFCCLOSURE.
For example, Out of the box we invoke BAPI_MATERIAL_SAVEREPLICA. Process name:
ProcessDefinitions\ERPCommunication\SAP\Part\Start_CBOPart_CreateChange_PD Activity Name: Invoke_BAPI_MATERIAL_SAVEREPLICA
b. Provide following mappings to modified caret_userClouser_caret_
i. bInTransactionContext
ii. contextTimeout (Create Global Variable and assign it or you can hardcode the value in miliseconds)
blnTransactionContext should be set to “1” if it is the first invocation of a business object transaction.
Example 1: To create an ECN, the following are the calls:
a. CALO_INIT_API
b. CCAP_ECN_CREATE
Example 2: To create Material, the following are the calls:
a. BAPI_MATERIAL_SAVEREPLICA
b. BAPI_TRANSACTION_COMMIT
Example 3: To update BOM, the following are the calls:
a. CALO_INIT_API
b. CSAP_MAT_BOM_MAINTAIN
Example 4: create revision of a Material, the following are the calls:
a. CALO_INIT_API
b. CCAP_REV_LEVEL_MAINTAIN
c. BAPI_TRANSACTION_COMMIT
In all these 4 examples, BAPI/RFC mentioned at first call (a) has to modify input parameter as shown in above example with screenshots:
In Example 4, CCAP_REV_LEVEL_MAINTAIN RFC is invoked in between other 2 BAPIs/RFC (say preceded by CALO_INIT_API and followed by BAPI_TRANSACTION_COMMIT) as a part of the same transaction context. In this scenario, second RFC call (as this RFC call neither starting new session nor ending the session but it is part of the existing session) should get the transaction context and session id returned by first RFC/BAPI call (generally CALO_INIT_API is the first call). In this case CCAP_REV_LEVEL_MAINTAIN should get the transaction context and session id returned from calo_init_api. Provide contextTimeout from Global Variable.
5. Provide session id , bInTransactionContext and bContextEnd , bAutoCommit and contextTimeout mapping for following:
a. Commit and Rollback BAPIs. Generally these BAPIs end the session transaction.
For example, to create Material, the following are the calls:
a. BAPI_MATERIAL_SAVEREPLICA
b. BAPI_TRANSACTION_COMMIT
In the above example, BAPI mentioned at last call (ii) has to modify input parameter as shown in above example with screenshots: bContextEnd is set to “1” it means the session ends. SessionID and bInTransactionContext is mapped form the caret_userClosure_caret returned by BAPI_MATERIAL_SAVEREPLICA. In process data use the “Coercions” button to modify the type of caret_userClosure_caret_ inside_caret_reply_caret_BAPI MATERIAL SAVEREPLICA.
b. RFC calls where session is supposed to be ended and not followed by Commit or Rollback BAPIs.
Example 1: To create an ECN, the following are the calls:
a. CALO_INIT_API
b. CCAP_ECN_CREATE
Example 2: To update BOM, the following are the calls:
a. CALO_INIT_API
b. CSAP_MAT_BOM_MAINTAIN
Example 3: To update ECN, the following are the calls:
a. CALO_INIT_API
b. CCAP_ECN_MAINTAIN
Coercions in Process data
Edit Statement in Input data
Mapping of bInTransactioncontext, bContextEns, ContextTimeout, SessionID, bAutoCommit,
In the above example, BAPI mentioned at last call (ii) has to modify input parameter as shown in above example with screenshots.
6. Save the project and test the project in identical TEST environment.
這是否有幫助?