Blog Archive

Tuesday, December 27, 2016

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

Om

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 com.sap.xi.tf._MM_WMiS2006_InvoiceBridge_to_WHSCON_ method removeLeadZeroes$[9999206925, com.sap.aii.mappingtool.tf3.rt.Context@280d2982]




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.

Om

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

Om

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

Om

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: com.sap.aii.mappingtool.tf7.MessageMappingException; Runtime exception when processing target-field mapping /_-AFS_-WMMBID02/IDOC/E1MBXYH/E1J3XYI/SEGMENT; root message: Exception:[com.sap.mw.jco.JCO$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
SYSTEM CALL connect
ERRNO       239
ERRNO TEXT  Connection refused
COUNTER     3170
] in class com.sap.xi.tf._MM_WM_to_WMMBXY_ 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, com.sap.aii.mappingtool.tf7.rt.ResultListImpl@12412ec, com.sap.aii.mappingtool.tf7.rt.Context@67564489], ApplicationRuntimeException: Runtime Exception when executing application mapping program com/sap/xi/tf/_MM_WMiS2006_PIXXXX_to_WMMBXY_; Details: com.sap.aii.mappingtool.tf7.MessageMappingException; Runtime exception when processing target-field mapping /_-AFS_-WMMBID02/IDOC/E1MBXYH/E1J3XYI/SEGMENT; root message: Exception:[com.sap.mw.jco.JCO$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

Om

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

Om

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

Om

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

Om

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

Om


SAP – PKMS Interface list 


Interface Description

SAP Message Type

SAP IDOC/ BAPI
1
Item Master Download 
§  I5INPT00
J3AMAT
/AFS/MATMAS04
2
Bill of Material Download (ON HOLD)
§  IDINPT00 
J3ABOM
/AFS/BOMMAT04
3
Customer Master Download
§  ICINPT00
DEBMAS
DEBMAS06
4
Purchase Order Download
§  I8INPT00, I9INPT00
ORDERS
/AFS/ORDERS05
5
Inbound Delivery Download
§  I8INPT00, I9INPT00, IBINPT00
DESADV
/AFS/DELVRY03
6
Return ASN (Returns Authorization) Download
[HBI custom interface]  I8INPT00
ZPKMS
ZSSA_PKMSRA
7
Pickticket Download
§  I1INPT00, I2INPT00, I3INPT00
WHSORD
/AFS/DELVRY03
8
Work Order Download
§  INPT00, INPT00
LOIPRO
LOIPRO01
9
Goods Movement (PO rec, GFH ,Logical , and Physical adjustments) Upload
§  PXSTYL00
WMMBXY
/AFS/WMMBID02
10
Return Receipt Summarization (Credit Memo Request)
[HBI custom Interface]  PXSTYL00
ORDERS
/AFS/ORDERS05
11
Work Order Confirmation Upload
§  PXSTYL00
CONF21
AFS/CONF21
12
Work Order Confirmation Close
[HBI custom Interface]  PXSTYL00
RFC
Z_RWO_PROD_ORDER_CLOSE
13
Invoice/Ship Confirmation Upload
§  O1OPUT00, O2OPUT00, O3OPUT00, O4OPUT00
WHSCON
/AFS/DELVRY03
14
Inventory Sync
  • ISSYNC00
MT_IRR_INPUT_FM (PROXY)
15
Verify Receipt (against an IBD- PGR) Upload
§  PXSTYL00
SHPCON
/AFS/DELVRY03
16
Pickticket Status Upload (i.e. Picked, Packed, Shipped) – [HBI custom interface]  PXSTYL00
WHSCON
/AFS/DELVRY03
17
Shipment Upload
  • O1OPUT00, O2OPUT00
SHPMNT
/AFS/SHPMNT05