Blog Archive

Tuesday, December 27, 2016

Graphical mapping error: java.lang.NumberFormatException supposed to be int, but long


Mapping error, for existing javacode, treating input number as interger,

Graphicall mapping in SAP PI , ( Java code)

RuntimeException in Message-Mapping transformation: Exception:[java.lang.NumberFormatException: For input string: "9999206925"] in class method removeLeadZeroes$[9999206925,]

Reason for failure of this message:

number is not suppoed by int, it supports upto 
Maximum value is 2,147,483,647(inclusive) (2^31 -1
but input number 9999206925

Tuesday, December 13, 2016

Verify delivary number status as SAP PI consultant.


Some times, we are supposed to be asked to verify delivary status in SAP PI

but we do not get idoc number,
We need to search the idoc number, 
( some times, it might not be posted to external system/SAP PI system)

go to VL03N
enter the delivery number

In general: we verify document history based on document flow( before document and after document numbers Ex: sales order , invoice number, asn if any) and reliationships(which gives inbound and outbound idoc numbers)

Check this document output options, if it is moved to target or not
Below snap shows, successfuly moved to target. (shows green flag)

Below document is not posted from SAP ECC. problem in SAP ECC system.

Successful idoc and view process log to view the idoc number.

Thursday, December 1, 2016

Removing duplicate rows in notepad++ regular expression


This Information is useful for support , tesitng phase for both ABAP and SAP PI  workaround.

This blog helps to how to remove duplicate rows in your list , which is pasted in notepad++We can also achive easily in excel, but  as a programmer, it would be easy to use in notepad++,we can do better search in notepad++

                           first paste the content in notepad++ and select all,
                               then go for line operation, sort lexically as shown in figure.

Once you sort , control f , for search, mark option, book mark(for your analysis)
Check, how the duplicate occurrence is appeared, this might be useful for further analysis

Find what:    ^(.+?)\R(\1\R)+
Replace with \1\r\n

use below replace functionality, to remove duplicates.


Monday, November 14, 2016

SAP PI : mapping error with ECC system RFC_ERROR_COMMUNICATION


Some times, you will find error as follows, reprocess the message when you see like this in SAP PI

Sample : Error follows:

Mapping "IM_WMiS2006_PIXBridge_to_W" failed to execute: MappingException: Mapping failed in runtimeRuntime Exception when executing application mapping program com/sap/xi/tf/_MM_WMiS2006_PIXBridge_to_WMMBXY_; Details:; Runtime exception when processing target-field mapping /_-AFS_-WMMBID02/IDOC/E1MBXYH/E1J3XYI/SEGMENT; root message: Exception:[$Exception: (102) RFC_ERROR_COMMUNICATION: Connect to message server host failed
Connection parameters: TYPE=B DEST= MSHOST=sapxxx R3NAME=xxx GROUP=XITRAFFIC PCS=1

LOCATION    CPIC (TCP/IP) on local host with Unicode
ERROR       partner '10.1.xx.125:sapmsPE1' not reached
TIME        Sun Nov 13 08:40:15 2016
RELEASE     742
COMPONENT   NI (network interface)
VERSION     40
RC          -10
MODULE      /bas/742_REL/src/base/ni/nixxi.cpp
LINE        3322
DETAIL      NiPConnect2: 10.1.xx.125:xx05
ERRNO       239
ERRNO TEXT  Connection refused
COUNTER     3170
] in class method materialLookup[[Ljava.lang.String;@6af50321, [Ljava.lang.String;@7ba0a262, [Ljava.lang.String;@6f050f56, [Ljava.lang.String;@3532100b, [Ljava.lang.String;@69bb5d75, [Ljava.lang.String;@bf4e28e, [Ljava.lang.String;@7a45dec3,,], ApplicationRuntimeException: Runtime Exception when executing application mapping program com/sap/xi/tf/_MM_WMiS2006_PIXXXX_to_WMMBXY_; Details:; Runtime exception when processing target-field mapping /_-AFS_-WMMBID02/IDOC/E1MBXYH/E1J3XYI/SEGMENT; root message: Exception:[$Exception: (102) RFC_ERROR_COMMUNICATION: Connect to message server host failed
Connection parameters: TYPE=B DEST= MSHOST=sapxx R3NAME=xxx GROUP=XITRAFFIC PCS=1

SOX SAP user validation work: SAP users role validity 1st owner and 2nd owner role description


Recently, i came through one work, related to SOX user validation in SAP. ( this is not related to SAP PI work)

Below excel sheet , 1st sheet info about user,role,validaity, description of role, custom coloumn is required to fetch corresponding informationf from 2nd sheet as shown below, we need to apply vlookup here.

2nd sheet has information about owner for that role, also 2nd owner information

Required skills
1. EXCEL (sort, vlookup, filter)
2. Creating incident ticket 
3. outlook: following business managers(1st owner and 2nd owners)

First is SOX validation:
Click this link

known as the "Public Company Accounting Reform and Investor Protection Act" (in the Senate) and "Corporate and Auditing Accountability and Responsibility Act" (in the House) and more commonly called Sarbanes–OxleySarbox or SOX, is a United States federal law that set new or expanded requirements for all U.S. public company boards, management and public accounting firms. There are also a number of provisions of the Act that also apply to privately held companies, for example the willful destruction of evidence to impede a Federal investigation

My workaround on SAP user validation

1) Get the updated sheet "user and roles.." from basis
2) Find the owner from for the user, for that role, by using vlookup, you should be good at vlookup activity. owner -role info is maintained in another sheet.

3) Sometimes, you may not find all users in all owner sheet, follow the concerned person to find the owner information for that role.

4) After applying vlookup for all users and corresponding role, this gives owner name.

5) You need to split the entire excel sheet, based on role owner for the 1st sheet. ( which information about user, role, owner, 2nd owner, validity range)

6) Now mail to concern owner, to check the sheet, if anything is to be updated or not.
Ex: user terminated, user retired, user moved to other department, (i.e. need delete / keep the user)

7) In some cases, user and 1st owner are same, in that cases, get the approval from 2nd owner to approve the same.

8) Once you get the mail response from user, create incident ticket for basis to remove marked users are to be deleted as mentioned by 1st owner response. Place all 1st owner mails responses in specific folder location, it would be repository for future reference.

9) Basis will pick the incident ticket, which is raised by use, remove the unnecessary users, ( in this incident ticket, we will attach mail response from user, along with latest updated sheet by 1st owner, Note: we create incident ticket only for the user, where deletion of specific roles are required.

10) This incident ticket has many user’s response, some time, we can create more tickets bases basis discussion.

11) Once all these tickets are closed, request the basis team, provide latest update the sheet for user- roles and validity range. As provided in   point1 

12) Place all these reports specific to system as specified directory

For more information

You will get access for this file directory, if you are supposed to work
You will get reports to before folder, which system specific, this report has information about user, role, validatity
You need to prepare, owner specific report, for this user,                        ( user and 1owner , 2nd owner is maintained in another sheet, get this sheet from basis)
(based on above statement, you need to prepare 1 owner report, which information about his user, 2nd user, role , validation, “ additional colmn( keep,delete), to be filled  1st owner in his response), need to send mails to all 1st owner individually.
Save this mail confirmation from 1st owner, some time, 1st owner and user are same, in that cases, get the approval from 2nd owner about the same,
Save all these in Reviewed spreadsheets returned by role owner,
( some reports, where you find delete the user, separate those mails, inform to basis team to delete specific users as mentioned in report), for this create incident ticket, by uploading user confirmation mail, which has spread sheet, saying that list of users are to keep or delete.
After folder: basis will work on this activity, remove the roles specific to users and place new reports in this folder
( after this activity, if any users is to be modified, they will send again email confirmation saying, new role has been added, rollback), keey these mails in
Evidence folder.

Finally update the tracking sheet, date duration.

Invitation as follows

You will get acces for this folder, you can only udpate

Basis team will update their reports system specific, in before folder

you need to filter, those, based on owner and mapped user, role, duration, ( with help owner-user sheet, which is provided by user again), here you see first owner and 2nd owner.
and place all these, before report, ans mails to these 1owners for thier validation , you can get the emails from outlook dictionary, if not found, check with your manager

Email format, attachment of spread sheet, as follows

Place all confirmation from users, as shown below

separate, where sheets are to be verfied by basis team, after raising incident ticket.

Format of spread sheet after confirmation of user, saying keep or delete.

some times, 1st owner, and user  are same, in that case, we need to get 2nd owner confirmation to approve this, saying 1owner can approve him self

Mail format to 2nd owner as follows.

Again, we need to validate, these specific users, which are supposed to delete, are found in after reports or not, i.e. validate, if specific user was deleted or not.

if still found, ( by raising incident request) we need email confirmation, why does that user has been keep, if any approval is there or not.
that approval has to be placed in evidence folder.

Finally update the tracking sheet. dates for your task.

you are supposed to update G-K, only specific rows only.

I did this job like this, this might be helpful for you also.

Finding SAP ECC system user expire date


to know the user expire date of sap user, in SU01

Thursday, November 10, 2016

common error to search in advanced message monitoring in > SAP PI 7.4


I have identifed, whenever they search, some of them use this pattern to find results, but no results

this way of searcing helpful to find out right Service interface in advanced message monitoring.

as shown in below message , it is the ready way of searching, giving full name, or taking the help of "seach help" to find out right interface to be searched.

In Message overview search

Wednesday, November 9, 2016

Searching Failed inbound idoc in SAP ECC where status code not 53


we are getting list of orders from b2b to SAP ECC, without through SAP PI.

1. See the report as email to your mail box.
2. get the all orders details.
3. based on customer, pick those specific rows, get order details,
4. search those order search report : zssa_odrsts (custom report)

download output in excel sheet.( this has missed order entries)

copy those orders, which are shown in this sheet.
compare orders(email) with report orders.

Notepad++ compare or Excel vlookup (search)

Get the list of orders which are missed.

Now search in, inboud idocs, which has status 53
provide the segment information where is order is found.
then search this order number in the we02 result, if it is not found.
( which is not come into SAP)
if it is found, open status record , find the reason for failing this idoc,( ex: customer is not avialable, material is not found)

Monday, November 7, 2016

PKMS and SAP Idoc Message types


SAP – PKMS Interface list 

Interface Description

SAP Message Type

Item Master Download 
§  I5INPT00
Bill of Material Download (ON HOLD)
§  IDINPT00 
Customer Master Download
Purchase Order Download
§  I8INPT00, I9INPT00
Inbound Delivery Download
Return ASN (Returns Authorization) Download
[HBI custom interface]  I8INPT00
Pickticket Download
§  I1INPT00, I2INPT00, I3INPT00
Work Order Download
§  INPT00, INPT00
Goods Movement (PO rec, GFH ,Logical , and Physical adjustments) Upload
Return Receipt Summarization (Credit Memo Request)
[HBI custom Interface]  PXSTYL00
Work Order Confirmation Upload
Work Order Confirmation Close
[HBI custom Interface]  PXSTYL00
Invoice/Ship Confirmation Upload
§  O1OPUT00, O2OPUT00, O3OPUT00, O4OPUT00
Inventory Sync
  • ISSYNC00
Verify Receipt (against an IBD- PGR) Upload
Pickticket Status Upload (i.e. Picked, Packed, Shipped) – [HBI custom interface]  PXSTYL00
Shipment Upload
  • O1OPUT00, O2OPUT00