Adapter module in PI 7.1 EhP1 for Falt File Idoc to Idoc xml transformation
Hi Experts,
In PI 7.1 (EhP1) there is a java adapter module that can be added to the file adapter that automatically transforms Flat File representation of IDoc to IDoc XML. Can anyone provide the link to this particular module? Tried searching but could not get the specific module name or parameters.
The same conversion can be achieved using a standard SAP provided ABAP mapping but we need to use the module in this case.
Thanks and regards,
Shiladitya
/people/william.li/blog/2009/04/01/how-to-use-user-module-for-conversion-of-idoc-messages-between-flat-and-xml-formats
FYI~~~
Similar Messages
-
Using cRIO Profibus master/slave module with Siemens device. Looking for GSD file
Using cRIO Profibus master/slave module with Siemens device. Looking for GSD file. Would NI or Siemens be able to provide this?
Hey Kurt,
For Profibus, only the slave needs to be defined with the GSD file, so you would likely get that from Siemens if their device is acting as the Slave in this setup. If you are using the NI Profibus module as a slave, then the GSD is automatically included with the driver.
Take a look at the following article for more info on how to use the included GSD file.
CompactRIO PROFIBUS DP:
http://download.ni.com/support/softlib//embedded%20networks/NI-Industrial%20Communication/profibus/n...
Regards,
Ryan -
File Adapter going into infinite mode while polling for the file
Hi,
I am facing an issue while the file adapter is reading the data from the file.
If the file from which it is reading has been deleted it keeps on polling for it infinite number of times and also doesn't pops out with any error message. Is there any method that after polling for some time period we can pop out a message that the particular file is not available and then the file adapter should stop polling for the file.Anyone has some ideas about this. Any pointers will be of great help.
Thanks
Vinay
Message was edited by:
soachdHi soachd,
As far as I understand polling is infinite process. You need to adopt this strategy if you are expecting some thing to happen all the time or may be when you want to be ready when ever an expected event happens. This provides a real time solution but with the downside of infinite execution.
Hope it helps.
Kalyan. -
Adapter Module Error in PI 7.1
Hi,
I have built an adapter module which has been successfully deployed on PI 7.1 using JSPM, but in communication channel monitoring it is giving below error.
Error: com.sap.engine.services.jndi.persistent.exceptions.NameNotFoundException: Object not found in lookup of UserModuleTestEjb
In Module tab of communication channel I have passed Bean name, which works fine for other Adapter Module but strangely its not working for this one.
I have also passed JNDI name which is same as EJB bean name. I have tried several other combinations like below none is working.
localeejbs/UserModuleTestEjb
localeejbs/sap.com/UserModuleTestEjb
Regards,
Nishanthi,
Check if u have added correct references in application-j2ee-engine.xml file and if u are using external library it is there in SDA file.
/people/stefan.grube/blog/2008/12/11/adjust-your-pi-70-adapter-modules-for-pi-71-in-15-minutes
Thanks. -
No SuchAgorithmException in Adapter Module configured EAR file
Dear All,
I have created an adapter module using 3DES encryption/decryption algorithm for File/FTP adapter configuration and have deployed it at J2EE server of respective XI system.
The alogorithm and adapter module are working fine in DEV & QA environments but in Mirror system(which is similar to Prod), I have been encountering Error:-
<i><b>java.security.NosuchAlgorithmException: Algorithm DESede not available</b></i>
Can you please suggest what could be issue here? Any inputs will be highly appreciated.
Thanks and Best Regards
Prashant RajaniHi
see the below links
http://help.sap.com/saphelp_nw04/helpdata/en/0d/d517412797f523e10000000a155106/frameset.htm
CJS-20030 Checking if the secure store exists fails,
SHA-1 MessageDigest not available during WebAS Java install
/thread/12191 [original link is broken]
/thread/11521 [original link is broken]
verify url secKey
Regards
Chilla -
Sender File Adapter: Adapter Module to archive incoming file?
Dear experts,
I have ZIP files coming from an external system which a File Sender adapter picks up from the PI file system. I already added the PayLoadZipBean Module to unzip the file in order to be able to map the payload. It works fine.
Now in the tab "Processing" --> "Processing Mode" I have the option to choose "Archive" and give a path. That way I can archive them also on the PI file system.
But how could I choose an FTP location here? Can I or would I have to write an adapter module?
In case for an adapter module how do I access the incoming ZIP file? Any ideas?
Thank you for any help and best regards,
PeterHi Peter,
I'm afraid you are not fully right about the archiving. Choosing Processing Mode = Archive leads to the file being moved to a different directory once it is processed. According to SAP Help:
Processing Mode
○ Archive
Files that have been successfully processed are moved to an archive directory.
■ To add a time stamp to a file name, select the Add Time Stamp indicator.
The time stamp has the format yyyMMdd-hhMMss-SSS. The time stamp ensures that the archived files are not overwritten and it enables you to sort them according to the time that they were received.
■ Under Archive Directory, enter the name of the archive directory.
■ If you want to archive the files on the FTP server, set the Archive Files on FTP Server indicator. If you do not set the indicator, the files are archived in the Adapter Engine file system.
See here for further details:
http://help.sap.com/saphelp_nw04/helpdata/en/e3/94007075cae04f930cc4c034e411e1/content.htm
Hope this helps,
Grzegorz -
Retrieving the file name in the adapter module in the sender file adapter
hi,
i need to retrieve the file name, in the adapter module. This module is placed in the sender file channel.
After the file adapter has picked up the file from the file directory, the file is placed in the archived directory.Custom adapter mofule is place in the file shanel. i need to retrieve the file name of the file in the adapter module. Is it possible to retrieve the file name?
Also is it possible to retrieve the archive directory path in module?
Regards,
MeenkashiHi Meenakshi,
I guess you are looking for this
/people/daniel.graversen/blog/2006/10/05/dynamic-configuration-in-adapter-modules
Regards
Suraj -
Problem with mail adapter module in PI 7.11
Hi,
I modified our adapter module from PI 7.0 to be compatible with PI 7.11 SPS3. I followed the instruction in http://www.sdn.sap.com/irj/scn/index;jsessionid=(J2EE3417300)ID1491632150DB11633962752589437606End?rid=/library/uuid/c0b39e65-981e-2b10-1c9c-fc3f8e6747fa&overridelayout=true and successfully deployed the adapter module using NWDS for PI 7.1. However, I am encountering this error in the communication channel monitoring:
Exception caught during processing mail message com.sap.aii.af.lib.mp.module.ModuleException.
I don't see any other details in the communication channel monitoring to help me determine the cause of the problem after this error message line. In NWDS, there was no error when I excute build the project. During deployment in NWDS, it says deployment was successful. When I check in NWA, I can find that the adapter module has been deployed successfully. I even tried to re-create the whole adapter module from scrach following the documentation for the 2nd time and still I got the same error message.
I am using java SDK 6.
Any help or suggestion would be greatly appreciated.
Regards,
ElbertHi,
This problem is now solved. I am using the correct version of NWDS for PI7.1 and using java 1.6 will not cause any problem.
The problem was caused by the source data being zipped instead of the unzipped version that my module is expecting. Furthermore, since my module comes before the mail bean, there is no details in the communication channel monitoring that the data sent was a wrong format.
Regards,
Elbert -
Create multiple messages in adapter module
Hi!
I've the problem to solve the following scenario: Mail (1) -> XI -> IDocs (1..n)
Since for IDocs message split is not supported and I don't want to use a BPM, is it possible to create different xi-messages in an adapter module which processes the mail?
Therefore I want to make the message split directly on the source: the adapter module.
Best regards,
DanielDaniel,
There is no need for a BPM and for an Adapter Module split.
1. Create an XSD out of your IDOC strcuutre and change the occurence of the IDOC element to 0 to unbounded.
2. Import this XSD and use this in your Message Mapping as the target Message Type. For every IDOC to be created in your Target , you will need to create an IDOC tag in the mapping. Each IDOC tag indiactes one IDOC.
3. In your Interface Mapping, DO NOT CREATE a separate Interface for the IDOC, but use the IDOC itself as the Message Interface and select the mapping with the XSD as the target.
Configuration will be as usual.
Regards,
Bhavesh -
Getting Hashcode of a file in an Adapter Module
Hi all
Does anybody know to dynamically get the hashcode of a file in an Adapter Module.Hi Michal
contentToString()
String serialization for logging purposes.
getPrincipalData()
Retrieves the current principle data, usually the message
getSupplementalData(String name)
Gets one supplement data value.
getSupplementalDataNames()
Returns the names of all currently existing supplement data.
setPrincipalData(Object principalData)
Sets the principle data that represents usually the message to be processed.
setSupplementalData(String name, Object supplementalData)
Sets a supplement data for the rest of the module chain
this all methods I can see. Can u please elaborate a bit -
Regds : Adapter modules and custom modules
Based on which criteria, we will start working towards custom and adapter modules
Hi praveen,
There is no specific criteria on which the adapter modules have to be developed.The only criteria is the Business requirement.SAP ships the Ready to use adapter modules to enchance the functinalities of Available Adapters.
Ex: There is a Adapter module called ZIP bean that can ZIP the files that have been received on the target side .Simlilary there are about 9 SAP provided modules which can meet certain business requirement.
If u like to have ur own u can develop one and go ahead.So many Giudes are available in SDN for that.to get an idea.
Please refer the followig links .Hope this is useful
http://help.sap.com/saphelp_nwpi711/helpdata/en/fd/16e140a786702ae10000000a155106/frameset.htm
http://help.sap.com/saphelp_nwpi71/helpdata/en/8b/895e407aa4c44ce10000000a1550b0/content.htm
Thanks,
Ram. -
Interface name in Adapter module
Hi Gems,
In my adapter module , i have a bean class and an other class extends AbstractTransformation with transform method.
public void transform(TransformationInput in, TransformationOutput out) throws StreamTransformationException {
strReceiverInterface = (String) in.getInputHeader().getReceiverInterface();
strSenderInterface = (String) in.getInputHeader().getSenderInterface();
inTime = in.getInputHeader().getTimeSent();
From my Bean class i created an Object and fetched the interface name.. .. but at runtime interface name comes null.
Can any one tried this ever?? Please let me know ASAP..
Thanks
PrabhakarHave a look at this:
http://help.sap.com/javadocs/NW04/current/pi/constant-values.html#com.sap.aii.mapping.api.StreamTransformationConstants.INTERFACE
and
http://help.sap.com/javadocs/NW04/current/pi/constant-values.html#com.sap.aii.mapping.api.StreamTransformationConstants.INTERFACE
Regards,
Ravi -
hi all,
I am doing a POC on exploring custom adapter modules. Can anyone please help me in understanding various possible uses of adapter module?
I already know about creating PDF file, Reading/Writing Excel file, Encode/Decode, setting FileName, Sending attachment through Mail Adapter. Any other possible use of adapter module?
Thanks,
Mayankhi Jyothi,
Now i am getting following error:
Error jxl.read.biff.BiffException: Unable to recognize OLE stream
My lines of code are:
System.out.println("01");
FileInputStream fis = new FileInputStream("C:
Documents and Settings
Mayank
Desktop
mayank1.xls");
System.out.println("001");
String str = fis.toString();
System.out.println("0001");
byte src [] = str.getBytes();
System.out.println("00001");
ByteArrayInputStream f5 = new ByteArrayInputStream(src);
System.out.println("000001");
Workbook workbook1 = Workbook.getWorkbook(f5);
System.out.println("000002");
i am using lines because i will be converting xmlpayload to bytestream in actual module code.
And output i am getting is:
01
001
0001
00001
000001
Error jxl.read.biff.BiffException: Unable to recognize OLE stream
which means there is some problem in line
Workbook workbook1 = Workbook.getWorkbook(f5);
Also when i am reading file using:
Workbook workbook = Workbook.getWorkbook(new FileInputStream("C:
Documents and Settings
Mayank
Desktop
mayank1.xls")); ,, it's working.
Thanks,
Mayank -
How to do document offset in Simple Plain to XML for Zip file Sender side
Hi,
Scenario is .zip file to IDOC, A idoc per a record. .Zip file has simple Plain structure like below. Tab delimiter.
Name number code country Rating Item
ABC 123 C4 IND I2 PRD
ABD 123 C4 IND I2 PRD
ABE 123 C4 IND I2 PRD
I am using Adpater Module and Header is generating a IDOC (total 4 IDOCs) in ECC. I would like to use similar to file 'document offset ' option in Adapter Module to skip the header row. so, I need only 3 IDOCS.
plain2XML and using MsgTransfermationBean.
I tried with
xml.documentSkipFirstRows=1
xml.documentOffset=1
xml.addHeaderline=0
I came to know that above all for STRUCTURAL Plain parameters so no use.
I checked this http://forums.sdn.sap.com/thread.jspa?threadID=1223739
http://help.sap.com/saphelp_nw04/helpdata/en/70/f3cbad30ee479cb15672219f3405f0/frameset.htm
Could you please help me with proper parameter to skip the header/first record of the file.
Thanks
shoukatHi Shoukat,
Try with the following parameter:
xml.processFieldNames = fromFile
As of SAP Help: "means that the field name information is located in the header line of the file to be converted."
Hope this helps,
Greg -
Hello Everybody,
Can someone tell me how to do the F4 for the file which is to be loaded from the presentation server,like v have for UPLOAD Function Module.
I have a Parameter for the file path in the selection,I want to know how do v take the file path by searching thru F4??
Thanks,
Anushka.Hi Anushka,
refer sample code:
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS : rb_pc RADIOBUTTON GROUP r1 DEFAULT 'X'
USER-COMMAND ucomm, "For Presen
p_f1 LIKE rlgrap-filename
MODIF ID rb1, "Input File
rb_srv RADIOBUTTON GROUP r1,
"For Application
p_f2 LIKE rlgrap-filename
MODIF ID rb2,
"Input File
p_direct TYPE char128 MODIF ID abc DEFAULT c_path
"File Directory
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME TITLE text-020.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_f1.
*-- Browse Presentation Server
PERFORM f1000_browse_presentation_file.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_f2.
*-- Browse Application Server
PERFORM f1001_browse_appl_file.
*& Form f1000_browse_presentation_file
Pick up the file path in the presentation server
FORM f1000_browse_presentation_file .
CONSTANTS: lcl_path TYPE char20 VALUE 'C:\'.
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
def_path = lcl_path
mask = c_mask "',.,..'
mode = c_mode
title = text-006
IMPORTING
filename = p_f1
EXCEPTIONS
inv_winsys = 1
no_batch = 2
selection_cancel = 3
selection_error = 4
OTHERS = 5.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
flg_pre = c_x.
ENDIF.
ENDFORM. " f1000_browse_presentation_file
*& Form f1001_browse_appl_file
Pick up the file path in the application server
FORM f1001_browse_appl_file .
DATA: lcl_directory TYPE char128.
lcl_directory = p_direct.
CALL FUNCTION '/SAPDMC/LSM_F4_SERVER_FILE'
EXPORTING
directory = lcl_directory
filemask = c_mask
IMPORTING
serverfile = p_f2
EXCEPTIONS
canceled_by_user = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE e000(zmm) WITH text-039.
flg_app = 'X'.
ENDIF.
ENDFORM. " f1001_browse_appl_file
Reward points if this Helps.
Manish
Maybe you are looking for
-
Please help
-
Issue while creating a search page..
Hi, I am trying to create a search page. The requirement is: Searching a SponsorDetails by Name. I am having a data control getSponsorByName, which is created from web service proxy. I created a table out of return object from getSponsorByName method
-
NullPointerException on execution/ creation of a PreparedStatement
Hi, I am facing a very weird problem. There is a jar file that is run from the command prompt connecting to SQL Server on the same machine. This program basically does some processing of records within a SQL transaction. Sometimes the program ends wi
-
How to establish a MYSQL Database connection in JSP page.
Hi People, Tell me how to establish mysql database connection in JSP page. Needed details on: 1) what are all the mysql drivers need to be included. 2) what is the syntax for establish a database connection
-
My Ipad is extremely slow loading pages
My Ipad is extremely slow loading pages. It doesn't matter where I am, so I don' t think it is related to the wi-fi service.