JMDEIF外盘内盘是什么意思思

Resultados de la Búsqueda de imágenes de Google de /files/FrmWaEpjYR4RBXvM7lEiiOxHVRm9Hk0uRA885uKHNtm1XQlSQeetQgcRCjMhoZg4iF8GUX-DPeHJGzL*KteLA*-R2LnNSki0/Skateboarding.jpg | We Heart It
Now available in your language!
Tremane Smith
@SpazzoMcNuggetss
first hearted by
hearted by 11 people
view more images from
nudity / pornography
discriminative, xenophobic or racist
spam / scam
child abuse
sensitive, disgusting or upsetting
Also found in these collections
Is this your first heart?
Sign in with Facebook or Twitter to start your gallery.
You have now unfollowed
Unfollow collection
Unfollow collections
Unfollow user
Are you sure you want to unfollow the collection "" by
Are you sure you want to unfollow all collections for this entry by
Are you sure you want to unfollow all hearts and collections from
(C) All images are copyrighted by their respective authors.
Languages:Apr 30, 2015
&&Cross posted to
Apr 29, 2015
Hello All,We are organizing a Early Knowledge Transfer (EKT) workshop for SAP HANA Cloud Integration (SAP HCI) in Philadelphia,US on 11+12th June, 2015. Please find the details below:&Target Audience: SAP Internal & Partners (Integration Consultants, Solution Architects, Pre-sales Experts)&&Agenda and DurationLocationCourse Cost & Registration Link &SAP HANA Cloud Integration Overview and Solution Details& (2 days)ExitCertified Philadelphia, 1150 First Avenue, Suite 200, King of Prussia, PA 19406 (U.S.A.) &&&&&&&&&& Note: Register via above link and choose right location. To apply for a EKT workshop seat you must have an S-User ID for SAP Service Marketplace. If you don't have a SAP Service Marketplace user ID (S-User) or a password, please apply for one first: Agenda:&Welcome and IntroductionsSAP HANA Cloud Integration (HCI) OverviewSAP HCI licensing, use cases & integration with different cloud solutionsHCI Solution Details, Security & ToolingC4C (SAP Cloud for Customers) integration demoSAP HCI Web UI, Globalization and SuccessFactors integration exercisesExercises based on different components ofSAP HCI&Important Note: Since capacity is limited, an enrollment request must receive confirmation before it can be considered as a final booking!. For any queries, please send an email to
, & and mention the subject line as "HCI US Workshop".&Note: There can be some deviations in Agenda and we are trying to include more content/demos/exercises to it.&Regards,Piyush
Apr 28, 2015
Overview:A NoSQL (often interpreted as “Not only SQL&) database is an unconventional database system which rely on data structure different from those used in the relational databases. NoSQL databases are increasingly used in big data and real time web applications. Advantco NoSQL adapter for SAP PI/PO enable you to read and write data from the unconventional Database with information in the SAP System.The current version of the Advantco NoSQL adapter supports . MongoDB is one of the most commonly used NoSQL Database. SAP has earlier announced partnership with MongoDB at SAPPHIRE. The next version of SAP Lumira would have connectivity with MongoDB. The adapter is based on the Adapter Framework and is executed by the SAP J2EE Adapter Engine.Advantco NoSQL Adapter provides easy access to update data into the Database with minimal custom development for handling query.&Key FeaturesFull integration with SAP PI Adapter Framework, Alert Framework and Monitoring.Supports Read/Create/Update/Delete operations to NoSQL database.Full Query Support in case of Sender Adapter consisting of JSON like Condition Statement.Supports both Synchronous and Asynchronous mode of communication.JDBC Receiver like Data Structure to be used for simple implementation.Support for XML / JSON to connect to MongoDB System.Workbench for Schema Generation.Available for SAP PI 7.1, 7.1 EHP 1, 7.3, 7.3 EHP 1, 7.4.&Advantages:Significantly reduces implementation effort for integration with MongoDB.Easy configuration and setup fully integrated with SAP PI/PO without need for external tools.Complete Error Handling Management for Data and Communication Error.&Demonstration:Communication Channel ConfigurationExample NoSQL Database:Output XML:Summary:NoSQL is the future of database supporting large data volume and is surely a need for various business to use. The Advantco NoSQL adapter would help you to connect your SAP system to the NoSQL Database quite easily.References:For the Advantco Rest Adapter website, please refer:
Apr 27, 2015
Quite often I have to deal with reports that list some documents and from where the user can start other business processes by sending a message via PI. The information available in the payload might require some complex calculations. As a user, wouldn't it be interesting to have a message preview before actually sending such a message?&The following screenshots shows an example:&Here the user can choose a line and decide between sending the message or just making a preview.A preview is just a popup with the XML but no message is actually sent.This has turned out to be quite useful for the key users in production but also for the development team while testing.&How to do it? You just need to calculate the message payload and then, instead of calling the proxy, you need to transform the abap structure into an XML and finally display it.& Something like this where &fs_rmb_msg& contains the same structure as when calling the proxy.&Method map_payload_from_proxy handles the conversion between ABAP and XML and is generic enough to support any message format. You just need to pass the name of your interface and the method. SAP creates automatically an XSLT for each proxy that converts back and forward between XML&-&ABAP so this method just need to find the XSLT and execute it. The following code shows how to do it:&class-methods MAP_PAYLOAD_FROM_PROXY&&& importing&&&&& !IV_PROXY_CLASS type PRX_R3NAME&&&&& !IV_PROXY_METHOD type PRX_R3NAME&&&&& !IS_PAYLOAD type ANY&&& returning&&&&& value(RV_XML_STRING) type STRING&&& raising&&&&& CX_XMS_SYSTEM_ERROR&&&&& ZCX_GU_PI_MSG .&& METHOD map_payload_from_proxy.&&&& DATA : lr_request TYPE REF TO if_sxmlp_data_st.&&& DATA : lr_root TYPE REF TO cx_root.&&& DATA : lr_payload TYPE REF TO if_ws_payload.&&& DATA : lr_payload_data TYPE REF TO data.&&&& DATA: lt_bindings TYPE abap_trans_resbind_tab,&&&&&&&&& ls_binding& TYPE abap_trans_resbind.&* ---------- Check mandatory parameters -----------------------------------------------------------&&& mandatory_param_generic iv_proxy_class& 'IV_PROXY_CLASS'.&&& mandatory_param_generic iv_proxy_method 'IV_PROXY_METHOD'.&&& mandatory_param_generic is_payload 'IS_PAYLOAD'.&&&& TRY .&&&&&&&& cl_proxy_st_part=&create_for_clas_method( EXPORTING class&&&&&&&& = iv_proxy_class&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& method&&&&&&& = iv_proxy_method&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& IMPORTING request_part = lr_request ).&&&&&&&& CLEAR ls_binding.&&&&&&&&&&&& ls_binding-name& = 'OUTPUT'.&&&&&&& GET REFERENCE OF is_payload INTO lr_payload_data.&&&&&&&&&&&& ls_binding-value = lr_payload_data.&&&&&&& APPEND ls_binding TO lt_bindings.&&&&&&&&&&&&& lr_payload = serialize( part&&&& = lr_request&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& bindings = lt_bindings ).&&&&&&&&&&&&& rv_xml_string = lr_payload-&get_xml_text( ).&&&&&& CATCH cx_root INTO lr_root.&&&&&&&&&&&&&&&&& RAISE EXCEPTION TYPE zcx_gu_pi_msg&&&&&&&&&&&&&&&&&&& EXPORTING&&&&&&&&&&&&&&&&&&&&& textid&& = zcx_gu_pi_msg=&conversion_error&&&&&&&&&&&&&&&&&&&&& previous = lr_root.&&& ENDTRY.ENDMETHOD.where method serialize is a local copy of method CL_WS_PAYLOAD_HANDLER=&serialize.
Apr 27, 2015
It wasn’t too long ago that cloud technology met with skepticism from established enterprises that were used to running their businesses on ERP backbones firmly planted on the ground. The cloud was OK for start-ups – but “real& companies needed the security and familiarity of on-premise.&Today, even the most old-school of companies find it hard to resist the call of the cloud. Easy deployment. Subscription model. Lower capital expense. Just sign up and voil& – you’re off to the races with new business capabilities.&Not so fast&I’m a big advocate of cloud technology – but the fact is, any new cloud solution that stands completely outside of existing business processes and enterprise data is of little value. This is why more companies are spending more time integrating new cloud solutions into environments that are better described as “hybrid& than “cloud-based&. No surprise, then, that leading analysts say, that by 2018, more than 50% of the cost of implementing 90% of new large systems will be spent on integration&Recommendations for cloud successSo, if integration is one of the primary challenges in the brave new world of hybrid/cloud environments, how do you proceed? In my work with SAP Services, helping customers maximize the value of their cloud investments, I’ve learned the following key lessons:&Use your vendor-recommended cloud integration architectureDon’t mix tools and don’t go “best-of-breed.& If you’re an SAP shop, use SAP tools for SAP solutions. Experience tells me it’s easier all around, especially in the fast moving enhancement of integration ability with cloud vendors. The invention cycles are months or even weeks.Perform a tools and technology selection analysis based on capability mappingsKnow what your needs are – and then choose an integration approach that meets those needs. Doing it the other way around could cause trouble down the road.Analyze interface and connectivity types, and perform a gap analysisUnderstanding what you have in place is a key part of knowing what your needs are. A gap analysis will reveal what’s missing from your existing capabilities belt. Ask for mapping tables and evaluation matrix. Focus on capabilities which are important for your environment and reflect how they are reflected in the tools.Adopt a rapid-deployment methodologyAvoid death by planning at all costs. Get going quickly and evaluate where you stand. Then you’ll be able to see what the real problems are – rather than wasting time and resources in the planning phase imagining what they might be.&To help you follow through on these recommendations, SAP offers cloud transformation services to help you make the right decisions regarding cloud architecture and integration. As part of these services, we offer specific tools, including:&Decision trees – To arrive at integration choices based on use cases that you defineCapability mapping – To generate capability matrixes that highlight whether or not integration tools under consideration meet your needsTarget integration architectures – To makes informed decisions about information flows and how systems connectCloud integration checklists – To track project details regarding data, applications, access, SLAs, security, and network issues&When it comes to cloud, the temptation may be to go it alone. I may be biased, but my recommendation is to get the help you need to ensure success.&Want to learn more? I’ll be presenting at SAPPHIRE NOW in Orlando, Florida at location BT604 on Wednesday, May 6, at 12:30 p.m. That’s lunchtime – so I’ll bring the German pretzels! Hope to see you there.
Apr 22, 2015
Scope::Performing Stress testing for SAP PI/PO Interfaces via SOAP UI using its "Thread "Concept".&Entities Involved::&SOAP UI ToolSAP PI/POInterface WSDL for Testing&Introduction::Many of us in our projects would have come across or would have used SOAP UI tool for sending request to SAP or Non-SAP system via SAP PI/PO.&This document covers the strategy& " How to Automate the Interface or send multiple requests at one time from SOAP UI to PI Box during the Stress testing"& and capturing the logs after that.&As we know that stress testing is one of the important phase of SDLC . From Integration perspective it basically involves sending multiple time ( same Interface) or double the number of times the peak volume of data expected in Production environment. Finally capturing the result and analyzing the PI Box performance for that particular Interface.&Challenges:: The biggest challenge is when your expected volume is suppose 1000 messages/day . Now you need send 2000 messages from SOAP UI and test the functionality.First question that came into my mind " my god 2000 time I need to run the request and every time waiting for the response" (as my scenario was the synchronous) or next option is to ask 5 people to Install SOAP UI in their system and divide that 2000 messages in equal parts. All 5 People in parallel will send the request to PI box. That's again a very hectic task to do. what if the number was 10000 or more.Solution ::we started finding some other solution how to achieve this task. After lot of research we found that SOAP UI itself has the Concept of "Thread". In which my single SOAP UI tool itself will act as multiple user tool.* Say 5 thread=5 Users. you can Increase or decrease as per your need and requirements, also on top of it you can set a *timer*Single SOAP UI tool itself will act as 5 Users and will send 5 messages in parallel to SOAP UI box. Once the thread ( out of 5) is released you can see another request going. and if you have set the timer you can simply sit and relax. SOAP UI tool will send messages parallely till that time.& Procedure&If we right click on SOAP UI Project&1.& We can create "Test Suite".&2.& Create new "Test Case" under it.&3.& Create new "New Load Test Instance" to it.&4.& In these " Load Tests" you are able to add "Test Steps". These steps are basically the messages you want to send in the test , as well as the number ofthreads we want to have triggering messages.&5.& Lastly we can set the time in second of duration of the test, In which the SOAP UI will continuously trigger message.&6. Finally Click on Run &&Tool Setup:: Creating Test Suite, Test Case & Load TestSAP PI - MONI Status:: Multiple messages coming based on the number of thread and Time setup from& SOAP UI ToolFinally Capturing the Performance result::Highlighted part is Expected , Average and Peak Processing time.
Apr 22, 2015
Apr 16, 2015
Introduction and the other modules in
are developed in NWDS 7.31 SP13 Patch 0 as EJB 3.0 modules. To be able to use these modules in PI versions earlier than that, the EJB & EAR projects needs to be recompiled in an NWDS version matching the PI system where it will be deployed.&As the source codes are publicly available in the GitHub repository, this blog is a guide on how to perform the recompilation on the modules. As EJB 3.0 is only applicable for PI 7.3x onwards, the module codes needs to be refactored for EJB 2.1.&This guide is also applicable for those who wish to download the modules to make further changes according to their own requirement. Ignore EJB 3.0 -& 2.1 changes if they are not applicable.&&PrerequisiteFollowing are the prerequisites in order to recompile the modules.Download and install appropriate version of NWDS (refer )For NWDS 7.1x and earlier, the download links only provide a kernel with minimum functionality. Ensure that the NWDS is updated to have the appropriate functionality for PI development.Install version of JDK that is compatible with the NWDS (i.e. JDK 1.5 for NWDS 7.1x) - refer
for the JVM versions used by each XI/PI version&Note: I was not able to update the NWDS 7.11 CE kernel, maybe the update site is no longer available (I'm not sure). Therefore the examples provided below are using NWDS 7.31 and some of the screenshots might look different. However, the procedure is still more or less the same.&&Source Codes and LibrariesAs a preparation step, the following source codes and libraries need to be downloaded first.&Download Zip file of latest source codes for Download Zip file of latest source codes for Download Zip file of source codes for Download Zip file of Apache POI 3.9 JAR libraries as detailed in Source Code section of following article &Extract all the Zip files into appropriate directories in the local file system.&&Step by Step ProcedureThe steps listed here are based on the steps listed in Section 4 of the following document. This blog will only describe the differences of each step where it is applicable. Otherwise, the steps listed in the document should be followed.&4.1 & 4.2Follow steps listed in document&4.3Create EJB 2.1 Project following on steps listed with the following detailsEJB project name: com.equalize.xpi.af.modules.ejbEAR project name: com.equalize.xpi.af.modules.app&4.4Ignore steps listed in document.&Create package com.equalize.xpi.af.modules under ejbModule.Import the downloaded source code for com.equalize.xpi.af.modules into the newly created package.Browse to the directory where the extraced source codes are and select the following files and folders to import.Repeat steps for importing com.equalize.xpi.util and org.java source codes.&&4.5Replace content of ejb-jar.xml file based on following criteria:-Compiling for EJB 2.1 - Use following file & Compiling for EJB 3.0 - Use file included in com.equalize.xpi.af.modules ZIP extract&4.6Replace content of ejb-j2ee-engine.xml file based on following criteria:-Compiling for EJB 2.1 - Use following file & Compiling for EJB 3.0 - Use file included in com.equalize.xpi.af.modules ZIP extract&4.7Follow steps listed in document to include PI AF library files.&Additionally, include external Apache POI libraries in the build path.Add the following 5 files as External JARs.&4.8Ignore steps listed in the document.&At this point, most of the imported source code should no longer have any syntax errors. There remains a few more tweaking in order for the remainder of the source code to be error-free and ready for compilation.&The message logger class, com.sap.engine.interfaces.messaging.api.logger.MessageLogger, is only available from 7.3x onwards. Therefore, when compiling for 7.1x and below, the MessageLoggerHelper class needs to be deleted as shown below.&Additionally, the AbstractModule class needs to be changed as follows:Remove logic using MessageLoggerHelperClass needs to implement javax.ejb.SessionBean interface (and corresponding methods) as required by EJB 2.1&The source code for AbstractModule can be replaced with the following source code & &At this point, the EJB project should be error free.&4.9Skip steps listed in the document.&4.10The steps listed in the document can be followed, or optionally just replace the content of application-j2ee-engine.xml with the same file included in the com.equalize.xpi.af.modules ZIP extract.&4.11 & 4.12Follow steps listed in the document to complete compilation and deployment.&&ReferenceTo perform testing of the modules prior to deployment, refer to the following article on how to do perform standalone testing in NWDS
Apr 15, 2015
Proudly announcing that the answers given by 139 developers were compiled into a complex analysis. Reading all the answers has helped me discover some interesting correlations. The report containing the detailed analysis of the responses can be found here:
Conducted in March 2015, the survey proved itself to be a real success. Respondents were eager to share the details of their learning path and career in the field of SAP. In total, 139 professionals participated in the survey. From their answers, I was able to deduct that real experts are always ready to learn more, and to share their knowledge as well.There is no universally accepted way of learning SAP XI/PI/PO - in fact, several methods seem to work just fine. Options include regular classroom courses, online classes and in-house training sessions, such as those offered by consulting companies. However, maintaining a mentorship with a more experienced consultant or colleague seems to lead to the best results. In fact, several questions present in the survey focused on the effect such professional collaborations have on the learning process.& It seems that most beginners have a positive attitude in regards to mentorship. Time is also a crucial aspect of learning. Naturally, the speed of learning and acquiring new skills differs from one person to another. Still, the survey has revealed that most developers need at least 1 to 2 years of assistance before being able to work independently. Unfortunately, the responses have also shown that courses are merely detailed introductions - most of us need a helping hand with specific issues when starting out in this field.I also looked at continuous improvement. It turns out that the majority of developers (especially the more advanced ones) review their work. Furthermore, those working at bigger companies tend to be even more keen on reviewing their own projects.The entire report is available here:
Apr 15, 2015
Introduction:We were busy with a C4C (Cloud for Customer) project and one requirement that we had was that we had to send equipment to C4C. We are using SAP PO as the middleware to send through the equipment. C4C comes with SAP standard objects mapping etc. So it was easy to just implement and send through the data. The interface is from IDoc(ECC) to SOAP(C4C). But we had a problem when updating C4C, but it was sending back the error. We were not doing anything with the response because IDoc can only be asynchronous. But luckily for us the SOAP(C4C) equipment web service is synchronous. So this blog will tell you how we handled the problem of going from an asynchronous interface to an synchronous interface and back to asynchronous.&We decided to go with the following strategy. Sending out the IDoc to the Sync web service and then back into ECC using Proxy.IDOC(Async) -& SOAP(Sync) -& Proxy(Async)Im not going to go through how the basics are created. Will only explain the part how to create a async/sync brige between the 2 interface.&Requirements:You will need to create 2 independent interfaces. The one I am using is the one discussed in the introduction.First interface will be IDoc - SOAP. In the SOAP receiver adapter you will configure the adapter module specified down below.Second interface will be from SOAP - Proxy. This interface will be triggered by the first interface.SOAP Adapter Module:Adapter Module : Processing SequenceAF_Modules/RequestResponseBeanLocal Enterprise BeanrequestAF_Modules/ResponseOnewayBeanLocal Enterprise Beanresponse&&Adapter Module : Module ConfigurationrequestpassThrough&&&&&&&&&& true&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& response&&&&&&&&&&&&&&&&&&& interface&interface_name_for_second_interface&response&&&&&&&&&&&&&&&&&&&&&&& interfaceNamespace&interfacenamespace_for_second_interface&response&&&&&&&&&&&&&&&&&&&&&&& replaceInterfacetrue&Please see the message log down below.&Configuration of First Interface - Step by Step&1. Sender Comm Channel&&&&Second Interface - Step by Step&&&&&&Let me know if you would like me to add any additional information that I might have missed.&Regards,&Jannus Botha
Apr 13, 2015
Dear SCN Users,&In my project we need to access TIBCO JMS queues.While working across came to Know about Hermes JMS which comes with SOAP UI,Hermes JMS is very useful in accessing the JMS queues.&Steps:&1. Install SOAP UI.&2.Go to TOOLS-&HERMES JMS&&3. Then Hermes JMS screen opens like below.&&4. Configure the JMS queue server,By selecting Options-&Configuration&&4. First step in configuration is to upload the required Jars in the provider tab.Create a group and select the required jars for accesing the JMS server.In this&& &&& case to establish connection to TIBCO JMS all the TIBCO Jars were uploaded&5. Next step ,In the session tabs select and configure the required parameters as below.&&&6. After configuring select the session and click on discover to see all the queues.&&7.Messages can be sent directly using "Messages"& Tab.&&8.Also From SOAP UI Messages can be sent by configuring JMS End POINT in the Project.&Hermes JMS is very helpful tool to access and test JMS queues
Apr 10, 2015
When it comes to FCC errors during runtime, it always become tricky in identifying the point of failure if the file content is the problem or if some parameters are missing in channel for special case of FCC and we try what not ! but I was surprised to discover one of the issue highlighted in this blog which started popping up when i just added PGP module to already tested scenario of FCC in advantco receiver SFTP adapter. BTW this is where i got to know one more use case of "MessageTranformBean"&To understand the problem which i want to highlight about advantco content conversion option, if you are new to use of PGP module in PI i would suggest you to make yourself comfortable with basics about PGP module and its use in PI from these nice blogs of
which explains about PGP protocol as well with illustration.&Here is my initial set up of receiver SFTP adapter with message protocol as 'XML-To-Plain Content Conversion' and the scenario is working properly and i see that the file was converted properly as can be seen from the audit log&&&Here is the file after content conversion&&Now, since i also wanted a message to be converted to PGP format I just added and configured PGP module as suggested in standard guide of advantco as well as in blogs i mentioned above and thats where i started getting this strange error in audit log&&Here is audit log of the error which relates to FCC in the initial look&Strange this was !!! as FCC is something which i had already tested before adding PGP module and I was like this cannot be FCC error something is wrong with PGP parameters or something and i thought of checking the logs if PGP was success or not and more surprise came when i saw that PGP was indeed success as shown below&&Then a little observation and I came to know that what could be the possible issue&&If you observe in the above screenshot, then we can identify that the root cause of the FCC issue is not the parameters of FCC maintained in channel but the sequence of the module processing !!! Here PGP module was processed before the standard MP Exit module of Advantco SFTP adapter, since content (XML DATA) of the message was already encrypted by PGP module so it was no longer XML which usually gets converted in& to text format when we use message protocol 'XML-To-Plain Content Conversion' in the MP Exit module of advantco and this is why the error of FCC was present in audit log since it was trying to convert PGP output of module 'AdvantcoOpenPGPSender' which was called before the MP Exit module. &This led me to think how can i do PGP after FCC and then I thought of using 'MessageTransformBean' but even that I did not have to explicitly add because advantco itself provides the below two options in Message protocol&1. XML-To-CSV Conversion Simple2. XML-To-CSV Conversion Structural&&My purpose was solved as selecting option 1 above added MessageTransfomBean in the Module tab and removed tab Content conversion, In the module tab i just had to update the parameters like fieldSeparator, endSeparator etc. Further, I added PGP module after this module since now input which PGP module receives is already converted to text format by its predecesor module MessageTransformBeam. Below is my final configuration of the SFTP channel&&&Below is the audit log of execution after this configuration&
Apr 10, 2015
IntroductionThe requirement is to create two files with different file names from one source message but we have to keep the same time stamp for both files (ABC_0-897.txt and XYZ_0-897.xml). One approach for this is multi mapping with dynamic configuration using custom adapter module as mentioned in below blog. In this blog i want show how to do this using Dynamic Configuration UDF with TIME_SENT constant of StreamTransformationConstants without using adapter module.&Documentation of TIME_SENT:Time stamp specifying when the message was sent by the sender. The format of the time stamp is as follows: YYYY-MM-DDTHH:MM:SSZ The letter 'T' separates the date from the time, which is generally specified in UTC. If it is a local time, the closing 'Z' is omitted.More information you can find .&Source CodeThis UDF we can use it in both mappings and map it to variable under root node.
public String setFileName(Container container) throws StreamTransformationException {
& Map&String, Object& mapParameters = container.getInputHeader().getAll();
& // access dynamic configuration
& DynamicConfiguration conf = (DynamicConfiguration) mapParameters
& .get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
& // read TIME_SENT constant
& String timeSent = (String) mapParameters.get(StreamTransformationConstants.TIME_SENT);
& // change the format of TIME_SENT
& SimpleDateFormat input = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
& SimpleDateFormat output = new SimpleDateFormat("yyyyMMdd-HHmmss-SSS");
& Date date =
& date = input.parse(timeSent);
& } catch (ParseException e) {
& throw new StreamTransformationException("Parse Exception: " + e.getMessage());
& timeSent = output.format(date);
& DynamicConfigurationKey KEY_FILENAME = DynamicConfigurationKey.create("/xi/XI/System/File",
& "FileName");
& // read file name
& String fileName = conf.get(KEY_FILENAME);
& String name = fileName.substring(0, fileName.lastIndexOf("."));
& String extension = fileName.substring(fileName.lastIndexOf("."), fileName.length());
& fileName = name + "_" + timeSent +
& // set new file name
& conf.put(KEY_FILENAME, fileName);
& return fileN
ConfigurationCreate one ICO with sender proxy interface and assign two receiver interfaces and two operation mapping under Receiver Interfaces tab like below.Assign two receiver file communication channels under outbound processing.&Testing ResultsThe two files created under target directory with same time stamp.&ConclusionWith this approach we can create files with same time stamp when we split the message into two or more messages.I hope this helps.
Apr 7, 2015
Did you ever wanted to link a message with a business document? Often, messages are generated in the background and in hidden places like a BADI making it difficult to trace.&In my current project for example, an item that has been dunned generates an outbound message. The message is generated in a FM called in the dunning activity and this is not seen in the job logs. Wouldn’t it be interesting to make a link between the message and the item so we don’t need to search in the message payload? Or the other way around, and inbound message creates a document in my system. I would like to link the document with that message.&If the transaction that displays the &document’ profits from the Generic object services (GOS), this link is really easy. All we have to do is create a link between the message and the BOR used in the GOS and there are plenty of blogs/posts about it so I wont cover it here.&I’ve done this often with IDOCS, it’s quite easy and quite handy so I wanted to achieve the same, this time with XI/PI messages and &&it turned out to be already foreseen in the standard. Just have a look to methods CL_PROXY_ACCESS=&WRITE_INBOUND_MESSAGE_LINK and CL_PROXY_ACCESS=&WRITE_OUTBOUND_MESSAGE_LINK. The link is stored in table SPROXMSGREL and there is already an standard report SPROX_MESSAGELINK_DELETE for housekeeping.&The class documentation already provides some examples so I won’t duplicate that here. Instead I’ll just show the result.&& This is transaction FPE3 and displays a FI-CA document. It has the GOS toolbar enabled and by clicking on the &Relationships’ menu, it displays the link to the PI messages.A double click on the line will take the user to the message monitor transaction.
Apr 3, 2015
Recently, I happened to discover a nice feature of Advantco SFTP adapter which we might have missed checking in any of the other vendor SFTP adapters or even SAP SFTP adapter. The feature which I would like to highlight in this blog is about the extensibility of variable substitution option in Advantco SFTP adapter.&Many a times when variable substitution is termed in context of file scenarios in PI, the two parameters which come to our mind are the filename and directories but advantco SFTP adapter offers something more than that. Below are the parameters for which we can declare as variables in Advantco SFTP adapter&Server Name, User Name, Private Key File, Keystore of Private Key, Alias to Private Key, Known Hosts File, Proxy Host Name, Proxy User Name, Target Directory, File Name Scheme, Directory to Save Attachments&As we can see that there are couple of the parameters which in real time can come handy to decide our integration approach if our PI landscape uses advantco SFTP adapter. It obiviously depends on the requirement and individual how these parameters are utilised but below is one of the applcation scenario where I utilised these parameters&In one of my project scenario, i was required to send the files to SFTP application where user which we used to connect to application was actually the windows user and the directory where files should be placed was "/outbound" which ideally if we observe is equivalent to "c:/users/&myuser&/Documents" of normal windows user and looked something like below, if you observe in below image PGPHOME is the root directory where directory of all the users would be present and pgp is the SFTP user which i need to use in my SFTP communication channel and the directory Outbound seen in yellow is the one where i need to place the file in after connecting to server. Design of the application was such that when I login to application using user the default root directory becomes E:\PGPHOME\&sftpuser& and in channel i just need to provide extension of the outbound folder i.e. /outbound in parameter Directory.&My scenario was that based on the filename (bank types) of the sender i was required to use different users to connect receiver SFTP application so that different bank files are delivered to corresponding outbound directories of different banks. for e.g. if the sender file was for RBC bank then the receiver directory of RBC bank on SFTP application would be E:\PGPHOME\RBC\Outbound while if the sender file was for PNC bank then the receiver directory of PNC bank on the SFTP application would be E:\PGPHOME\PNC\Outbound where in RBC and PNC in the absolute file paths are nothing but the users which i need to utilise to connect to the SFTP application. If you observe, directory from communication channel perspective would be "/Outbound" for both the bank files while it is the user(RBC/PNC) which varies here.&From interface design approach, I had couple of options before i came to know about the advantco's variable substitution possibility1. Ask SFTP application team if they can create user(kind of admin) which has authorisations to directories of all the bank users and use variable substitution for directory in communication channel and creating directory to be used by means of udf.2. Creating one communication channel one receiver per bank file which i receive from sender and filter the receiver based on the filename in the which is picked by PI from sender.&From re-usability perspective option2 above was complete NO because with each new bank there would be 6 new objects need to be created in PI so i was not interested to follow that but on my discussion with the SFTP application team for option1 i was left disappointed as they had limitations from security perspective in creating any super user which can access directories for all the other users. Thats where I decided to refer documentation of Advantco SFTP adapter to see if there was any possiblity and option to use "username" as variable was something which caught my attention and i was happy since my efforts of going through documentation proved to be fruitful
and i decided to use this approach of using same channel to connect SFTP application and below is my brief interface design.&ESR: &1. Created UDF which would read the sender file name and used value mapping for identifying SFTPUSER. I assigned SFTPUSER to one of BASEFILENAME header attributes of SFTP adapter&Here is the code of UDFsa.& identifyfileType&
String fileName&&& = "";
String fileType = "";
String bankType = "";
String paymentType = "";
DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey file = DynamicConfigurationKey.create( "/xi/XI/System/File","FileName");
//read Source Filename
fileName = conf.get(file);
bankType = fileName.substring(0,3);
paymentType = fileName.substring(4,7); //determine paymentType
if (bankType.equals("PNC"))
fileType = fileName.substring(0,10);
else if(bankType.equals("RBC"))
if (paymentType.equals("ACH"))
fileType = fileName.substring(0, 14);
fileName = fileType + "_" + currDate + "_" + currTime + ".txt";
fileType = fileName.substring(0,17);
//set Target Filename
conf.put(file,fileName);
return fileT
b. setTargetUsername&
DynamicConfiguration conf1 = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey user = DynamicConfigurationKey.create( "/xi/XI/SFTP/SFTP","BaseFileName");
conf1.put(user,userName);
return userN
&Integration Directory:&1. Used ASMA for filename in sender adapter2. Created Value mappings in ID for maintaing filename-SFTPUSER mapping3. Created one receiver Advantco SFTP and used variable %username% in parameter User of communication channel&4. Maintained variable substitution in Advanced tab of the communication channel&This blog is just a small effort to add a drop to sea of SAP knowledge. Hope you find this useful !!!}

我要回帖

更多关于 外盘内盘是什么意思 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信