SAP R3 (Idocs) To XI -- Steps Summarized
A SUMMARY OF THE STEPS TO BE CARRIED OUT TO ENABLE A SAP R/3
SYSTEM SEND IDOCS TO SAP EXCHANGE INFRASTRUCTURE.
First - Maintain the Sender R/3 System:
SM59 : Create a RFC destination to XI
WE21 : Create a TRFC Port ->Specify the RFC Destination Created
BD54 : Create a Logical System for the Idoc Receiver
WE20 : Create Partner Profile ->Maintain Outbound and the Inbound Parameters
Second - Log on to XI System:
SM59 : RFC Destination for Sender System
IDX1 : Create the port to get Idoc Metadata from Sender System ( The Port
Name must match the port name in the idoc header - Usually in format
SAP<System ID>. eg. SAPID1 [Optional Step. Not mandatory]
IDX2 : Maintain the Idoc Metadata. This is needed only by XI, and not by other
SAP systems. IDX2 is needed because XI needs to construct IDoc-XML from the
IDoc. No other SAP system needs to do that.
To Enable Acknowledgement:
SXMB_ADM ->Integration Engine Configuration ->Specific Configuration ->Add
New entry -> Select parameters as:
o Category: RUNTIME
o Parameters: ACK_SYSTEM_FAILURE
o Current Value: 1
GO TO SLD:
Create Technical System: Choose WEB AS ABAP if the system is R/3 ->
Define SAP SID, Installation Number and Database Host Name a Maintain
message Server Details according to Sender System -> Maintain Client Details of
Sender System ->Select a Installed Product for Sender System
Create Business System: Choose WEB AS ABAP if the system is R/3 ->
Choose the Technical System and the client Created Before -> Choose the
Installed Product -> Set:
o Business System Role: Application System
o Related Integration Server: Integration Server
Idoc Tunneling in XI
To prevent performance consuming XMLization and de-XMLization IDOCs are tunneled
through SAP XI IDOC adapter meaning no XMLiziation is executed before the IDOC is
passed onto the pipeline. Note the message is converted to UTF-8 codepage.
Start transaction SXMB_ADMIN on SAP XI.
Select option Configuration->Integration Engine Configuration and add two parameter
EXTERNAL_MAPPER in the category IDOC.
Configure the parameter according to the conditions below:
If Message Code and Message Function are specified in the partner profile:
<[Link]>.<[Link]>.ReceiverPort.<[Link]>.<[Link]>.<[Link]
ction>
If only the Message Code is specified in the partner profile:
<Snd. System Id>.<Snd. System Client>.ReceiverPort.<Mess. Type>.<Mess. Code>
If only Message Function is specified in the partner profile:
<[Link]>.<[Link]>.ReceiverPort.<[Link]>..<[Link]>
Integration Builder
Integration Directory:
Add Business System: Adapter Specific Identifiers -> 'Logical System'
identical to the 'Logical System Name' in the SLD Business System
IDoc Receiver Communication Channel: port the same as XI System IDX1
Posted by Venkata S Pagolu at 10:36 PM 0 comments
Email This BlogThis! Share to Twitter Share to Facebook Share to Google Buzz
Labels: tunneling xi_idocs
PI Archiving Conceptual Overview
Applies To: SAP NetWeaver Process Integration 3.0/ 7.0/ 7.10
Summary: This document provides both an introduction to the key concepts of
SAP NetWeaver Process Integration XML message archive and delete and
overview of the tasks, reports that comes into play in concept of Archiving and
Deleting of XML messages. This document targeted for beginners wanting to
get involved in the topic.
This document covers Archive and Delete of XML messages of 'Integration
Engine' only
Archiving & Deleting PI XML messages Process
By and large Archiving applies to asynchronous (EO and EOIO) messages only
on the ABAP and JAVA side. It is a general decision by SAP to not archive
synchronous (Best Effort) messages and this is by design unless error occurs
during processing.
SXMSPMAST is the master table that holds the key information about each of
the messages going through the Integration engine. The data is persisted in
this table based on the retention period defined for asynchronous and
synchronous messages.
If a message enters the Integration Server the field ITFACTION of
SXMSPMAST table is set to INIT. Then the interface is checked for the action
to take, if it is listed as an interface for archiving, the field ITFACTION is
changed to ARCH. Otherwise it changes to DEL
*Note: ITFACTION filed value in SXMBPMAST table that describes what action
applies to the messages but does not mean that that the action is already took
place. So it's only action status info not that action already done.
Deleting: All messages with ITFACTION=DEL will be deleted by report
RSXMB_DELETE_MESSAGES as soon as message processing is complete
(message status is final) and adapter status allows deletion. The Delete job
deletes only Payload.
Message are deleted from PI persistency layer if they
o are no longer in retention period
o are flagged for deletion
o have appropriate messages state
o have appropriate adapter state
Archiving: All messages with ITFACTION=ARCH have to be archived by
report RSXMB_ARCHIVE_MESSAGES first and will then be deleted by report
RSXMB_DELETE_ARCHIVED_MESSAGES (similar name as
RSXMB_DELETE_MESSAGES, but totally different messages are handled!)
Message are Archived from PI persistency layer if they
o are no longer in retention period
o are flagged for Archiving
o have appropriate messages state
o have appropriate adapter state
Archiving XML messages process involves two steps before XML messages are
deleted, during first step messages are read from PI persistence layer and
stored to archive files and in the second step reads the previously written
message from archiving files in order to verify the data integrity. Finally
messages are deleted from PI persistence layer.
ERROR Messages: Error messages or messages that are not in complete/final
status have to be cancelled first thus cancelling a message forces the field
ITFACTION to be set to ARCH in a productive system i.e. this message MUST
be archived and it cannot be deleted by report RSXMB_DELETE_MESSAGES
anymore, even if ITFACTION initially was set to DEL. Which is as per thumb
rule - Only messages in a final status can be deleted / archived. Messages with
errors have to be cancelled first. After that these cancelled messages can only
be archived and *will not be deleted*!
As mentioned above, error messages have to be cancelled first before they then
can be removed (archive/delete) from the database. Canceling is required for
asynchronous messages in error state only. By canceling a message its state
changes from error to cancel/final and at this state message is allowed to be
archived. In contrast synchronous messages are final right when processing
fails.
If in case of bulk error messages, all these error messages can either be cancel
them manually by selecting these set of messages in SXMB_MONI and then
cancel them by pressing button "Cancel Processing of Messages With Error"
(CTRL+F8). or report RSXMB_CANCEL_MESSAGES is the tool of choice for
mass data handling, i.e. for canceling a large set of messages. This report
handles message that already are in error state.
Report RSXMB_SHOW_STATUS helps in getting an overview of persistence
layer situation. In general, messages status with 003 is consider final state in
Integration Engine. You may refer to either SXMBPMAST table column
ITFACTION to know the status overview of XI messages or refer to OSS note#
944727 to know in detail about different status of XI messages. If messages is
not in status cancel or any other state (other than final) even after running
RSXMB_CANCEL_MESSAGES report as an extreme step, you may use report
RXWF_XI_UNUSED_MSGS to convert these messages status to final state (i.e.
003), consequently the subsequent run of Archive and Delete jobs will take
care of next course of action. *Important Note - You are highly recommended
to experiment running RXWF_XI_UNUSED_MSGS report in Testing
Environment before running the same in Production environment.
If RSXMB_SHOW_STATUS shows messages with status no 001 and 008
(adapter status) and not either archiving or delete then schedule report
SXMB_REFRESH_ADAPTER_STATUS. This report applicable only if system
configured to use 'outbound IDoc Adapter or ccBPM'.
HISTORY Entries: Deleting history entries for processed messages, History
entries are spots for observing message processing. They are generated by
persisting at the end of a processing step for a message and contain the
current status and the execution date.
History entries remain in the database for an unspecified length of time and
must be deleted at some stage so that the database table does not overflow.
The deletion process only deletes history entries for messages that have
already been archived or deleted. The history entry is kept in the database for
at least seven days after a message has been deleted. This is necessary since
history entries are also required for the quality of service Exactly Once.
Deleting these History entries are taken care by standard house-keeping job
SAP_BC_XMB_HIST_DELETE_<client>.
Different Archiving/Delete related Reports at glance:
RSXMB_ARCHIVE_MESSAGES Archive XML Messages
RSXMB_CANCEL_NOT_REST_MESSAGES Cancel XI Messages With
Errors That Cannot Be Restarted
RSXMB_DELETE_ARCHIVED_MESSAGES Delete Archived XML
Messages
RSXMB_DELETE_MESSAGES Delete XML Messages from the
Persistency Layer marked for DEL
RSXMB_CANCEL_MESSAGES Mass cancellation of error messages - XI
RSXMB_SHOW_REORG_STATUS & RSXMB_SHOW_STATUS provide
an overview for all XML messages in XI persistency layer.
RSXMB_MESSAGE_STATISTICS2 which provides the processing
statistics. This report basically analyzed the history table.
RXWF_XI_UNSED_MSGS report helps in converting messages states
other than 003 to final state i.e. 003.
SXMB_REFRESH_ADAPTER_STATUS report helps in converting
message sates like 001/008 into final state.
For more detailed information please refer to below SAP notes and URLs
Note 872388 - Troubleshooting Archiving and Deletion
Note 960240 - Messages with adapter type 'PE' are not deleted
Note 1042379 - BPE-HT: Deleting messages that are no longer used
Note 944727 - Status overview of XI messages
URLs of [Link]
1) [Link]
[Link]
2) [Link]
[Link]
3) [Link]
[Link]
Posted by Venkata S Pagolu at 9:46 PM 0 comments
Email This BlogThis! Share to Twitter Share to Facebook Share to Google Buzz
Labels: xi_archiving pi_archiving
QA for PI
Question 1:
How to solve the following error coming in Message Monitoring?
HTTP_RESP_STATUS_CODE_NOT_OK
Answer 1:
Go to transaction SICF /default_host/sap/xi/engine double click on service
Now check whether you have entered correct information for the following
fields.
Client, user id, password, and language information
Question 2:
How to solve the Status "HOLDING" in RWB?
Answer 2:
Go to RWB --> Adapter Engine --> show additional criteria --> Enter the
QUEUE NAME in field "Conversation_ID" (for this you have to first know the
queue name from details of the messages having status "Holding".) --> Expand
"Configure table columns" --> choose "Conversation ID" and "Sequential
Number" --> display. --> Sort the list by ascending order of "sequential
number" --> cancel the message whose sequential number is latest and go on
canceling in ascending order.
Question 3:
How to solve the following error coming in Message Monitoring?
RuntimeException in Message-Mapping transformatio~
Answer 3:
a. The error is in Message Mapping. Go to the Test tab and test the message
mapping with the incoming payload file.
b. Check the source structure with the input file that you are sending to XI.
Both structures should be exactly same. I mean all nodes and the node
structures.
c. Refresh the cache (both Delta cache and full cache) in SXI_CACHE
transaction in PI.
Question 4:
How to solve the following error coming in Message Monitoring?
Obligatory node xxx missing in the IDOC structure xxx
Answer 4:
The error is in Message Mapping. Check the node xxx and make sure all its
attributes are mapped properly. For Ex: SEGMENT="1" and BEGIN="1"
Question 5:
The message has been sent from sender to PI or from PI to receiver but nothing
is coming in Message Monitoring. Where is the input file?
Answer 5:
The file got stucked in the PI queue. Check the following.
a. qRFC Monitoring: transaction SM58 Click Deregistration Click
Registration
b. qRFC monitor (Outbound queue) Check the queue and monitor the
problem
c. qRFC monitor (Inbound queue) Check the queue and monitor the problem
Question 6:
How to solve the following error coming in Message Monitoring?
No receiver could be determined
Answer 6:
Problem is in Receiver Determination. Check it. If everything is fine then just
edit and change something then remove that change and again reactivate the
receiver determination.
Question 7:
How to solve the following error coming in Message Monitoring?
Party and service not defined
Answer 7:
The problem is that the file is not able to get any party or service configured for
itself.
Check the structure of input file and confirm that the same structure is
assigned to Sender Interface.
Question 8:
How to solve the following error coming in Message Monitoring?
Error while refreshing the XI runtime cache
Answer 8:
The problem is in Cache refresh.
Go to SXI_CACHE, then from Menu - XI Runtime Cache - choose "Start Delta
Cache Refresh" (F6) and then choose "Start Complete Cache Refresh" (shift +
F6)
Question 9:
a. How to change the namespace "ns1" to "if" in the output file
b. How to change the encoding format in output XML file
Answer 9:
Use the adapter module AF_Modules/XMLAnonymizerBean in your receiving
CC. Put its module key as "0" and the module key for CallSapAdapter as "1".
The module parameters will be (1) [Link] =
namespace1 if (2) [Link] = " (3) [Link] = ISO-8859-
1.
Refer OSS Note 880173.
Question 10:
How to add extra namespaces or namespace instances
Answer 10:
Use the XSLT mapping after the message mapping in your interface mapping.
Sample XSLT code is below.
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="[Link]
xmlns:ns0="[Link]
<xsl:template match="/">
<lote xmlns="[Link]
xmlns:xsi="[Link]
xsi:schemaLocation="[Link]
[Link]
<xsl:attribute name = "nro">
<xsl:value-of select = "/ns0:lote/@nro"/>
</xsl:attribute>
<xsl:element name="qtdeNF">
<xsl:value-of select = "/ns0:lote/ns0:qtdeNF"/>
</xsl:element>
<notasFiscais>
<xsl:for-each select="/ns0:lote/ns0:notasFiscais/ns0:notaFiscal">
<xsl:copy-of select="/ns0:lote/ns0:notasFiscais/ns0:notaFiscal"/>
</xsl:for-each>
</notasFiscais>
</lote>
</xsl:template>
</xsl:stylesheet>
Question 11:
a. I::000 --> This error comes while uploading the IDOC metadata in XI in
transaction IDX2
b. XI is not getting authorized by R/3 System
c. "name or password is incorrect. (repeat log on)" error comes while testing
the authorization of the RFC destination to SAP R/3 system from SAP PI system
(SM59)
Answer 11:
In SAP PI system Go to transaction SM59 check the user id and password in
the "security/logon" tab and make ensure it is the RFC service user id and its
correct password is entered.
Also make sure that this user id has following roles.
a. SAP_XI_APPL_SERV_USER
b. SAP_XI_IS_SERV_USER
c. SAP_ALL
Question 12:
After transporting PI objects, the objects are not getting updated / created in
the target system.
Answer 12:
Go to transaction SE01 --> Transports --> Global Information --> Transports --
> check the error displayed there.
Also confirm that the business systems are ready for source and target system
before transportation.
Question 13:
After some changes or modification in SLD....the changes are not reflecting in
IR or ID
Answer 13:
Go to IR --> Menu --> Environment --> Clear SLD Data Cache
Go to ID --> Menu --> Environment --> Clear SLD Data Cache
Question 14:
If RWB is not opening and showing some stack problem or authorization
problem
Answer 14:
Go to transaction SU01 --> user = XIRWBUSER -->Unlock
Question 15:
While transporting or updating the objects in SLD, if the following error
comes..
CIM_ERR_ALREADY_EXISTS
Answer 15:
Go to SLD -> Administration -> Content Maintenance -> Select the following
Subset -> All classes, Class -> BCSystem. then delete SAP_BCSystem. Then
retry.
Question 16:
How to solve the following error coming in Message Monitoring?
a. NO_RECEIVER_CASE_ASYNC
b. No receiver could be determined
Answer 16:
In the Receiver determination, check if the sender service and interface are
same as in the SXMB_MONI --> Receiver Identification --> SOAP Header -->
Main --> Sender Service and Interface.
Question 17:
How to solve the following error?
Error Category = XI_J2EE_MESSAGING_SYSTEM and error code =
HTTP_TRANSMISSION_ERROR
Answer 17:
1. The file size is big (probably more then 10 MB so reduce the file size or
extend the file size constraint in XI and extend the time out limit for the
adapters in XI.) It's always better to have the file size in between 1 MB to 5
MB. If size less then 1MB or more then 5MB then performance decrease.
2. JCo call is the call between java stack and ABAP stack. So restart the whole
XI system (both JAVA and ABAP stack) and process the file again.
Question 18:
How to solve the following error?
Message interface is not defined in process (Integration Process)
Answer 18:
Go to SXI_CACHE,--> then select the IP --> display active version --> choose
the latest version of workflow task --> do "repeat activation" --> do
"deployment" --> "testing" --> "execute". The problem is due to the reason that
the IP has already been transported to production and then get modified in
development so when we transport it again then the newer version of workflow
task (WS12340002) is not activated over the older version (WS12340001).
Question 19:
How to maximize the HEAP SIZE?
Answer 19:
First Close the Repository Framework Application.
Then from the main Exchange Infrastructure page (browser) instead opening
Integration Repository link save the [Link] to local directory say
desktop.
Now open this file with any text editor. You fill see some XML tags. Identify this
tag
<resources>
<j2se version="1.4+" initial-heap-size="32m" max-heap-size="512m" />
You can change the max heap size according to your requirement. But this max
heap size depends on certain factors such as Operating System as well on the
hardware (32 bit or 64 bit) and also on the physical RAM you have from where
you run IR. You can give up to 2 GB if it is windows OS. You can check SUN's
official site for max heap sizes for different Operation Systems & hardware's.
e.g., for max-heap-size = 1 GB change the above tag value as follows.
<resources>
<j2se version="1.4+" initial-heap-size="32m" max-heap-size="1024m" />
Save the JNLP file and open this file either by double clicking or by explicitly
with Java Web Start application. In general the directory structure for Java
Web start application is "Drive>:\Program Files\Java\j2re1.4.2_XX\javaws\
[Link]". But by default all JNLP files will be associated with Java Web Start
when Java Web Start is installed.
Another way to change Heap size memory is as follows:
Run [Link]. (/usr/sap/SID/instanceName/j2ee/configtool)
Under cluster-data ... under instance_IDXXX ... Click on server_IDXXX
On Java Settings section, change Max Heap Size memory to 2048.
Save the changes and close Configtool.
Reboot your system.
Question 20:
How to cancel Integration Process (BPM) and stop the process instance from
waiting for new messages?
Answer 20:
Delete the old workflows using transaction SWWL.
Question 21:
How to stop and start BPE?
Answer 21:
Go to Transaction code SWF_XI_ADM_BPE.
Question 22:
How to access Java documents and Source Text for the sample Adapter Module
in SAP PI?
Answer 22:
You can find the sample adapter module in the path "C:\usr\sap\J2E\JC00\j2ee\
cluster\server0\apps\[Link]\[Link]\connector\connectors\
sample_ra.rar".
Question 23:
Can we convert multiple sender values to one receiver value by using "Value
mapping group"?
Answer 23:
Yes, you can convert multiple sender values to one receiver value by using
"Value mapping group".
Once you are in the "Edit Value mapping Agencies"
a. Put "Sender1" under "Value of <Sender Agency>" and "Receiver1" under
"Value of <Receiver Agency> ".
b. Right click on "Sender1" and select "Value mapping in all agencies".
This will open a new window "Value mapping Group"; therein you can provide
multiple sender values (Sender1, Sender2....).
Question 24:
How to transport Alert Categories?
Answer 24:
Go to ALRTCATDEF (In DEV) --> Transport (In TOOLBAR) --> Current Alert
Category --> Create a Customizing Request and note down your request
number
Go to SE09 (In DEV) --> Check customizing request and Modifiable --> Choose
Display Button --> Go to your Request number --> and release the sub node
and then release the request.
Go to STMS (In QA) --> Import --> Import your request
With the above method, alerts rules are not transported, you have to create
them manually.
Question 25:
How to transport Alert Rules?
Answer 25:
Create a workbench transport request manually with transaction SE09. Delete
the corresponding unclassified task of that request. Double click on the
transport request and click on button 'edit <-> change'. For Program ID enter
R3TR, for Object Type enter TABU and for Object Name enter
SXMSALERTRULES.
Now click on the button with the key symbol (located under 'Function'). Click
on 'Insert row' and enter * for table key. Save the request, release it and import
it in the target system.
Refer SAP Note 1110295
Question 26:
How to solve the following error coming in Message Monitoring?
Interface mapping Object ID ***** Software Component ****** does not exist in
runtime cache
Answer 26:
Refresh SXI_Cache and CPACache.
a. To refresh SXI_CACHE, go to transaction SXI_CACHE and click "start
complete cache refresh"
b. To refresh CPACache, enter the following URL
[Link]
Question 27:
How to solve the following error coming in Message Monitoring?
Answer 27:
In the Receiver determination, check if the sender service and interface are
same as in the SXMB_MONI --> Receiver Identification --> SOAP Header -->
Main --> Sender Service and Interface.
Question 28:
How to solve the following error coming in CC Monitoring?
Error occurred while connecting to FTP server: Peer certificate rejected by
ChainVerifier
Answer 28:
Use Fully Qualified Domain Name (FQDN of the FTPS server) (for Ex.
[Link]) instead of IP address ([Link])
Root cause of problem is the IP to DNS name resolving problem.
Means we are using IP in FTP CC but DNS name (Common name (CN) or Host
Name) should be used in FTP CC.
The SSL handshake needs to confirm that the FTPS client is using the FTPS
server's DNS name to access the FTP service since only the DNS name of the
FTPS server is stored in the certificate signed by the trusted CA (e.g. VeriSign).
That does make sense since it's the way the Certification Authorities works.
Briefly, Use Fully Qualified Domain Name (FQDN of the FTPS server) (for Ex.
[Link]) instead of IP address ([Link])
Question 29:
How to test the alert?
Answer 29:
You can test the alert by executing the report RSALERTTEST.
To check the log, execute the report SXMSALERT_LOGREADER.
Question 30:
How to use OneAsMany function in Message Mapping?
Answer 30:
Let us take an example where the use of contexts can be emphasized.
In the source message shown above OrderNumber appears only once while
OrderItem can occur multiple times within the OrderHeader node. Suppose we
want to map OrderNumber multiple times in the target message, such that it is
available under the target node corresponding to every sales order item. To do
this, we can use the node function called useOneAsMany as described below:
a. The first input parameter expects the list of values that we want to
propagate to the target message.
b. The second input parameter expects the number of iterations or how many
times we want to replicate the value given in the first parameter.
c. The third input parameter is the list of context changes. Depending on this
parameter the source values will be propagated to the target after every
context change.
Note: For this function to work as expected, the first two parameters must
contain the same number of contexts while the last two parameters must
contain the same number of values.
Question 31:
How to solve the following error coming in CC Monitoring in RWB?
Mandatory parameter '[Link]': no value found
Answer 31:
In the FCC configuration in Communication channel, you have to provide the
following information.
RecordSet Structure = R1,,R2,
Keyfield Name = Key
(Field Key must exist in the Recordset Structures R1 and R2.)
Or
RecordSet Structure = R1,,R2,
[Link] = F1,F2
[Link] = F1
[Link] = V1
[Link] = ;
[Link] = 'nl'
Question 32:
How to solve the following error coming in Message Monitoring?
Unable to interpret IDoc interface ia_SAP_ABC2SAP_MI
Answer 32:
Check whether the ED (IDOC occurrences have been changed by creating an
ED) is used properly in IR and ID.
a. In Message Mapping, use ED
b. In Interface Mapping, use original IDOC
c. In Interface Determination, use original IDOC
Question 33:
If IDOC has been changed in R/3 then what should be done with respect to PI?
Answer 33:
Go to transaction IDX2 --> Delete the old IDOC structure and Load the new
IDOC structure
Question 34:
How to solve the following routing error?
NO_RECEIVER_CASE_BE or NO_RECEIVER_CASE_ASYNC
Answer 34:
This means no receiver could be found. Check your Receiver Determination.
Activate and update cache. Asynchronous messages can be manually restarted.
Question 35:
How to solve the following routing error?
TOO_MANY_RECEIVERS_CASE_BE
Answer 35:
More than one receiver found. Check your ID configuration to ensure that
there is exactly one receiver for the synchronous message. Multiple receivers
for synchronous interfaces are not permitted.
Question 36:
How to solve the following mapping error?
JCO_COMMUNICATION_FAILURE
Answer 36:
Check whether RFC destination AI_RUNTIME_JCOSERVER is correctly
configured
Question 37:
How to solve the following mapping error?
NO_MAPPINGPROGRAM_FOUND
Answer 37:
Ensure that mapping program exists and is activated. If it exists then update
the cache.
Question 38:
How to solve the following mapping error?
EXCEPTION_DURING_EXECUTE
Answer 38:
This error occurs due to erroneous XML formatting. Check your mapping
program and ensure that you supply valid input data.
Question 39:
How to process the messages stuck in queues?
Answer 39:
Check the queues using transactions SMQ1 (outbound)/SMQ2 (inbound).
Resolve the displayed errors. You can cancel the messages from SXMB_MONI.
Execute LUW if necessary and avoid deleting entries manually.
Question 40:
How to solve the following conversion error in message monitoring?
Unable to convert the sender service XXXX to an ALE logical system
Answer 40:
This error occurs in case of scenarios with IDOC adapters. Whenever you use
business systems, make sure that the corresponding logical system name is
maintained in the SLD.
Open your business system in the Integration Directory. Switch to Change
mode. Access the menu path Service → Adapter Specific Identifiers. Click the
button that says 'Compare with System Landscape Directory' and chose Apply.
Save and activate your change list.
In case of business services, you can manually type a logical system name in
the Adapter Specific Identifiers if required. This name should match the
corresponding logical system name defined in the partner SAP system's partner
profiles.
Question 41:
How to monitor BPM?
Answer 41:
Use the transaction code SXMB_MONI_BPE.
Question 42:
What are the steps that need to be carried out to enable a SAP R/3 System to
send IDOC to SAP Exchange Infrastructure?
Answer 42:
1. First - Maintain the Sender R/3 System:
SM59 : Create a RFC destination to XI
WE21 : Create a TRFC Port ->Specify the RFC Destination Created
BD54 : Create a Logical System for the Idoc Receiver
WE20 : Create Partner Profile ->Maintain Outbound and the Inbound
Parameters
2. Second - Log on to XI System:
SM59 : RFC Destination for Sender System
IDX1 : Create the port to get Idoc Metadata from Sender System ( The Port
Name must match the port name in the idoc header - Usually in format
SAP<System ID>. eg. SAPID1 [Optional Step. Not mandatory]
IDX2 : Maintain the Idoc Metadata. This is needed only by XI, and not by other
SAP systems. IDX2 is needed because XI needs to construct IDoc-XML from the
IDoc. No other SAP system needs to do that.
3. To Enable Acknowledgement:
SXMB_ADM ->Integration Engine Configuration ->Specific Configuration -
>Add New entry -> Select parameters as:
Category: RUNTIME
Parameters: ACK_SYSTEM_FAILURE
Current Value: 1
4. GO TO SLD:
Create Technical System: Choose WEB AS ABAP if the system is R/3 -> Define
SAP SID, Installation Number and Database Host Name a Maintain message
Server Details according to Sender System -> Maintain Client Details of
Sender System ->Select a Installed Product for Sender System
Create Business System: Choose WEB AS ABAP if the system is R/3 -> Choose
the Technical System and the client Created Before -> Choose the Installed
Product -> Set:
Business System Role: Application System
Related Integration Server: Integration Server
5. IDOC Tunneling in XI
To prevent performance consuming XMLization and de-XMLization IDOCs are
tunneled through SAP XI IDOC adapter meaning no XMLiziation is executed
before the IDOC is passed onto the pipeline. Note the message is converted to
UTF-8 codepage.
6. Start transaction SXMB_ADM on SAP XI.
Select option Configuration->Integration Engine Configuration and add two
parameters EXTERNAL_MAPPER in the category IDOC.
Configure the parameter according to the conditions below:
If Message Code and Message Function are specified in the partner profile:
<[Link]>.<[Link]>.ReceiverPort.<[Link]>.<[Link]>.<
[Link]>
If only the Message Code is specified in the partner profile:
<Snd. System Id>.<Snd. System Client>.ReceiverPort.<Mess. Type>.<Mess.
Code>
If only Message Function is specified in the partner profile:
<[Link]>.<[Link]>.ReceiverPort.<[Link]>..<[Link]
>
7. Integration Builder Integration Directory:
Add Business System: Adapter Specific Identifiers -> 'Logical System' identical
to the 'Logical System Name' in the SLD Business System
IDoc Receiver Communication Channel: port the same as XI System IDX1
Question 43:
Where can I find aii_map_api.jar to create my Java mapping (if I have the
access to OS level)?
Answer 43:
Go to your XI server folders and use this path:
j2ee\cluster\server0\apps\[Link]\[Link]
Inside [Link] folder you'll find the jar file.
Question 44:
How to download aii_map_api.jar file from market place
Answer 44:
If you want to download aii_map_api.jar from service marketplace, there are
two ways:
1. Download SAPXITOOL13P_3-[Link] (about 40 MB)
Extract [Link] (with WinZip)
Here you find the aii_map_api.jar
2. Download SAPXIPCK13_0-[Link] (about 14 MB)
extract [Link]
Both files are very big, so you should have a quick connection.
Question 45:
If I do not have the access to OS level then where can I find aii_map_api.jar to
create my Java mapping?
Answer 45:
If you don't have the access to your XI/PI server at the directory level or if you
don't have access to Market place download,
Then use the below procedure to get the aii_map_api.jar file,
If your machine is running on windows operating system, (remember your
machine means from where you work on Repository and Directory
Frameworks)
Then look in this folder,
\Documents and Settings
Application Data\Sun\Java\Deployment\javaws\cache\http\D\P\DMrep\
DMrepository
Where - host name of XI server.
J2EE dispatcher port of XI server generally it will be 50000 if instance
number is 00 or it will 50000+(100 X Instance number)
The user profile with which you are working on your machine.
in the directory you will find "RMaii_map_api.jar". Copy this to your working
directory for java mapping class program and set in classpath. You can also
rename this jar file as the original name is "aii_map_api.jar".
Question 46:
How to solve if java mapping Linkage error occurred?
Incompatible class versions (linkage error)
Answer 46:
The problem "Linkage Error" is due to JDK version mismatch between XI / PI
and your Java IDE.
XI uses JDK1.4 so you have to use JDK 1.4 to compile your java code and
generate .jar file.
To use different jdk version at netbeans go to your project ----
> right click and than go to properties tab. than at left hand side select
libraries
----at top right select manage platform--click add platform-- select the jdk
version here and follow the wizard.
Question 47:
How to perform IDOC and HTTP Adapter Monitoring?
Answer 47:
IDOC and HTTP Adapter resides directly in IS (ABAP Stack) and hence they
can not be monitored via transaction SXMB_MONI or from RWB.
IDOC adapter can be monitored from TCODE IDX5
You can test if HTTP adapter is working fine or not as mentioned below.
1. Test the adapter_plain service in TCODE SICF
adapter_plain service can be found under /default_host/sap/xi/adapter_plain
2. TCODE : SMICM and then Shift + F1 and you can see the status of the HTTP
server
Question 48:
If each row of the input flat/text file has a different structure, then how to
convert text file to XML file?
Answer 48:
If each row of the input flat/text file has a different structure, then it is referred
to as complex transformation.
Use SAP standard Module named
"localejbs/AF_Modules/MessageTransformBean".
Further help is available in
[Link]
Question 49:
Can we integrate Peoplesoft with SAP PI?
Answer 49:
Yes, we can integrate Peoplesoft with SAP PI.
1. Go through these blogs for peoplesoft iWAY adapter
[Link] - Part I [Link] -
Part II [Link] - Part III
2. Another way is to use SOAP Adapter.
Third-party Peoplesoft can send an Asynchronous XML message to PI through
SOAP Adapter.
Question 50:
How to get aii_map_api.jar file in PI 7.1?
Answer 50:
The library has been renamed in PI 7.1 as follows.
PI 7.0(3.0) = aii_map_api.jar
PI 7.1 = [Link]
You can find the libraries here:
1. [Link] = <bin>/ext/[Link]/lib
2. [Link].ifc_api.jar =
<bin>/ext/bin/interfaces/[Link]/lib
3. [Link]~tc~logging~java~[Link] = <bin>/system
4. [Link].svc_api.jar = <bin>/services/[Link]/lib
5. [Link].svc_api.jar = <bin>/services/[Link]/lib
6. [Link].ifc_api.jar = <bin>/interfaces/[Link]/lib
7. <bin> = /usr/sap/<SID>/J01/j2ee/cluster/bin