InfoSphere Information Server SAP R/3 Pack: IDoc extract processing © 2012 IBM Corporation This presentation will discuss the IDoc extract processing details. This presentation uses screen captures from the Information Server Pack for SAP version 6.5.01. In earlier versions, the screen captures may vary but the principals are still the same. This presentation is applicable for InfoSphere™ Information Server version 7 and 8. SAP_R3_iDoc_Extract.ppt Page 1 of 27 Objectives � SAP terminology � Generating IDocs � IDoc Extract Stage configuration � IDoc Manager service details � IDoc processing overview 2 SAP R/3 Pack: IDoc extract processing © 2012 IBM Corporation The objective of this presentation is to discuss some basic SAP terminology and IDoc Extract processing. The presentation examines the DataStage® IDoc Extract stage, the IDoc Manager service details and common IDoc extract processes supporting a successful IDocs transport. SAP_R3_iDoc_Extract.ppt Page 2 of 27 SAP terminology � ALE - Application Link Enabling – Bilateral, message-oriented form of data transfer � IDoc - Intermediate Document – Standard SAP proprietary document format – Message that is a hierarchal package of related records – Generated by SAP in SAP exchange format – Allow different application systems to be linked by way of message-based interface � RFC - Remote Function Call � tRFC- Transactional Remote Function Call � CREMAS - Master Vendor IDoc � SAP Gateway- a CPIC–based program which supports RFC requests 3 SAP R/3 Pack: IDoc extract processing © 2012 IBM Corporation There is some basic SAP terminology that is important to understand. First, ALE stands for Application Link Enabling. ALE is a bilateral, message-oriented form of data transfer. ALE technology enables integration of business processes between SAP and external systems. Second, IDoc stands for Intermediate Document. IDoc is a standard SAP proprietary document format. An IDoc is a message that is a hierarchal package of related records, generated by SAP in a SAP exchange format. IDocs allow different application systems to be linked by way of a message-based interface. Third, RFC stands for Remote Function Call and tRFC stands for transactional Remote Function Call. Forth, CREMAS is the name of master vendor IDoc. Each instance of a SAP System has a gateway. The gateway enables communication between work processes and external programs. It carries services which support RFC requests. SAP_R3_iDoc_Extract.ppt Page 3 of 27 SAP ALE configuration for IDocs overview � IDoc message flows configured in “distribution model” – Sender – Recipient � SAP connection on DataStage server represented in SAP by external “logical system” or recipient – Assigned to tRFC port – Port is bound to RFC destination • Registered server program ID � Standard IDoc interface configuration – Logical systems – RFC destination/program ID – Distribution models – Partner profiles – Message types – Ports 4 SAP R/3 Pack: IDoc extract processing © 2012 IBM Corporation An IDoc can be generated at any point in a transaction process. For example, during a shipping transaction process, an IDoc may be generated that includes the data fields required to print a shipping manifest. After a user performs a SAP transaction, one or more IDocs are generated in the sending database and passed to the SAP gateway. The gateway services perform a Remote Function Call, referred to as RFC, using the port definition and RFC destination specified in the partner profile. For more details, see the SAP R/3 Pack: ALE Partner Profile configuration for IDoc extract processing IBM Education Assistant presentation. SAP_R3_iDoc_Extract.ppt Page 4 of 27 Outbound IDoc processing: Sending IDocs � Send vendor application � Transaction code /nBD14 � Send vendor master IDoc /nBD14 5 SAP R/3 Pack: IDoc extract processing © 2012 IBM Corporation This slide displays the initial SAP applications window after connecting to a SAP client system with a dialog user. Start by sending an IDoc to the DataStage. To send a vendor master IDoc to the external system use BD14 transaction code. In the SAP application system window displayed on this slide, type the /nBD14 transaction code in the navigation window and press Enter. SAP_R3_iDoc_Extract.ppt Page 5 of 27 Send vendor application � Select account number � Select message type � Select target system /nBD14 6 SAP R/3 Pack: IDoc extract processing © 2012 IBM Corporation The ‘Send vendor’ application will appear. Select the account number of the vendor, the message type and the target or the external system to send out a CREMAS message to the SAP gateway. Click the ‘Execute’ icon displayed on this slide in the red oval. A vendor master IDoc is created and a communication IDoc is generated for the message type CREMAS. Click the OK button in the Information window to accept the information. The IDoc will be transmitted to the SAP gateway. It is important to note that many IDocs will be transferred simultaneously if a range value is chosen for the ‘Account number of vendor’ parameter fields. Also, transaction code BD12 may be used to send a customer master IDoc or DEBMAS. SAP_R3_iDoc_Extract.ppt Page 6 of 27 IDoc list (1 of 2) � Check IDoc status � Transaction code /nWE05 /nWE05 7 SAP R/3 Pack: IDoc extract processing © 2012 IBM Corporation The next step is to check the status of the sent IDocs. Use the WE05 transaction code to view a list of IDocs sent. In the initial ‘IDoc List’ window, enter the time frame for the IDoc in question or accept the current date as a default and click the Execute icon displayed on this slide in the red oval. SAP_R3_iDoc_Extract.ppt Page 7 of 27 IDoc list (2 of 2) � Verify IDoc transferred to SAP � Status codes � Green – Data passed OK � Yellow – Data passed with warnings � Red – Error passing data 8 SAP R/3 Pack: IDoc extract processing © 2012 IBM Corporation To verify if the IDoc was transferred to the SAP gateway successfully, find the IDoc and verify it’s status in terms of status codes and the corresponding green, yellow and red color lights. The green light is the indicator that data passed to a port OK. Red indicates there was an error passing data to port and yellow indicates the data passed with warnings. Double click an IDoc number to open IDoc and view data and transaction details. SAP_R3_iDoc_Extract.ppt Page 8 of 27 Display of IDoc (1 of 2) � IDoc status red � Message not sent until error corrected /nWE05 9 SAP R/3 Pack: IDoc extract processing © 2012 IBM Corporation This slide displays the IDoc with a red status. The error message is issued and the IDoc is not sent to the gateway until the reported issue is fixed. It is important to note that a SAP basis administrator is typically fixing these types of errors. Fix the error and resend the IDoc using the transaction code BD87. SAP_R3_iDoc_Extract.ppt Page 9 of 27 Display of IDoc (2 of 2) � IDoc status green � Message reached gateway successfully 10 SAP R/3 Pack: IDoc extract processing © 2012 IBM Corporation This slide displays the IDoc with a green status. The green light is the indicator that the IDoc has reached the gateway successfully for processing. It is important to note that data records, the number of segments, and data content of the fields can also be viewed here. SAP_R3_iDoc_Extract.ppt Page 10 of 27 View IDoc metadata (1 of 2) � Transaction Code /nWE60 /nWE60 11 SAP R/3 Pack: IDoc extract processing © 2012 IBM Corporation This slide displays the initial window used to view documentation for an IDoc structure description also known as IDoc metadata. To view IDocs metadata in the SAP instance repository, use the transaction code WE60. This allows you to view IDoc metadata in several different document formats and allows it to be downloaded to a file on a local system. Type or select CREMAS05 and click the HTML format button, displayed on this slide in the red oval, to receive documentation on CREMAS05 in the HTML format. SAP_R3_iDoc_Extract.ppt Page 11 of 27 View IDoc metadata (2 of 2) � Transaction code /nWE60 � IDoc record types � One control record � One or more data records � One or more status records /nWE60 12 SAP R/3 Pack: IDoc extract processing © 2012 IBM Corporation There are three types of IDoc records. There is one control record, one or many data records, and one or many status records. A data record consists of several segments and each segment contains several fields. SAP_R3_iDoc_Extract.ppt Page 12 of 27 IDoc Extract stage � Sends and receives data using standard SAP IDoc APIs � Sets IDoc Control Record values automatically � Configures IDoc packet size 13 SAP R/3 Pack: IDoc extract processing © 2012 IBM Corporation This slide displays the example of a DataStage job that is designed to process IDocs to data targets. It is important to understand that there are two parts supporting IDoc processing on the DataStage side; the IDoc Extract stage and the IDoc Manager service. The IDoc Extract is a passive stage and is a part of any DataStage job that is designed to process IDocs to data targets. The IDoc Extract stage connects to the SAP system and receives data in the form of IDocs and sends data back in the form of IDoc Status records using the standard SAP IDoc APIs, also known as RFC libraries. The IDoc Extract stage has a couple of nice features worth mentioning. It can set the IDoc control record values automatically and it also allows IDocs in packets to be received with a configurable packet size. SAP_R3_iDoc_Extract.ppt Page 13 of 27 SAP connection configuration 14 SAP R/3 Pack: IDoc extract processing © 2012 IBM Corporation The IDoc Extract stage must be configured to connect to the SAP system. To configure the connection information, open the IDoc Extract stage, click the General tab, click the drop down under ‘DataStage Connection to SAP‘ properties, and click New. Type in connection details for your SAP connection in the Connection Properties window. SAP_R3_iDoc_Extract.ppt Page 14 of 27 SAP connection properties (1 of 2) � IDoc listener settings � Provide IDoc Listener Program ID � Set number of processes � Uncheck Acknowledge IDocs receipt to R/3 for better performance 15 SAP R/3 Pack: IDoc extract processing © 2012 IBM Corporation Next, choose the ‘IDoc Listener Settings’ tab to provide the program ID value with which this IDoc server is listening at the SAP gateway. Each SAP connection has its own set of IDoc server processes. The default number of processes is one, but it can be configured to process more by selecting the ‘Number of Servers for this Connection’ to be more than one. Enable parallel requests by increasing the number of registered IDoc servers. Performance is better if the check box “Acknowledge IDoc receipt to R/3 system” is not checked. SAP_R3_iDoc_Extract.ppt Page 15 of 27 SAP connection properties (2 of 2) � DataStage Job Options for IDocs � Configure jobs to run automatically � Enter login information for DataStage server 16 SAP R/3 Pack: IDoc extract processing © 2012 IBM Corporation Next, click the ‘DataStage Job Options for IDocs‘ tab. To start the DataStage job automatically after receiving IDocs, enable the ‘Run appropriate DataStage jobs automatically after receiving IDocs from this SAP system’ check box and provide the user name and the password for connection to the DataStage server. Click the Add button to create the SAP connection. SAP_R3_iDoc_Extract.ppt Page 16 of 27 Configuring IDoc types (1 of 2) � Configure IDoc metadata � Open IDoc extract stage � IDoc type => Select => Choose IDoc type 17 SAP R/3 Pack: IDoc extract processing © 2012 IBM Corporation The next step is to configure the IDoc metadata for the job. The IDoc extract stage allows you to select IDoc metadata directly from a SAP instance repository. To pull up the IDoc metadata from the SAP repository, open the IDoc Extract stage, choose the IDoc Type tab and click the Select button. Choose an IDoc type from a list of all available IDoc types and click OK. It is important to note that the IDoc types should be released. IDoc types that are not released cannot be selected in the IDoc stage. All types of released IDocs, including custom created IDocs, are supported. SAP_R3_iDoc_Extract.ppt Page 17 of 27 Configuring IDoc types (2 of 2) � Confirm IDoc type to be used with DataStage � Review settings 18 SAP R/3 Pack: IDoc extract processing © 2012 IBM Corporation Next, click the Yes button to configure the IDoc type to be used with DataStage and it’s metadata is stored in the DataStage repository. Next, the IDoc Type Properties window will appear. Review the settings and click the OK button to confirm. SAP_R3_iDoc_Extract.ppt Page 18 of 27 View and store IDoc types 19 SAP R/3 Pack: IDoc extract processing © 2012 IBM Corporation The IDoc stage will save IDoc metadata in a form of a .ido text file, for example, CREMAS05_701.ido, and will create an entry into the IDoc Types.config file. The .ido files are stored under DSSAPHOME/DSSAPConnections directory. The IDocTypes.config is stored in the DSSAPHOME/DSSAPConnections / <SAP connection name> directory. During the extract process, the IDoc server uses the .ido file to validate the IDoc type that appeared at the SAP gateway before processing it. SAP_R3_iDoc_Extract.ppt Page 19 of 27 IDoc Manager service � IDoc Manager Service for receiving IDocs from SAP – Managers different IDoc servers collecting IDocs – Creates IDoc server per Program ID – Validates IDoc types – Executes DataStage jobs automatically after receiving data � Sends status update to SAP on successful reception � Stop IDoc manager – UNIX® or Linux® cd InformationServer/Server/DSSAPbin ./dsidocd.rc stop – Windows® – Stop Windows service � Start IDoc manager – UNIX or Linux cd InformationServer/Server/DSSAPbin ./dsidocd.rc start – Windows – Start Windows service 20 SAP R/3 Pack: IDoc extract processing © 2012 IBM Corporation The IDoc Manager service is the second important part of the IDoc extract processing. The IDoc Manager is a separate service outside the DataStage canvas. The IDoc Manager manages different IDoc servers collecting IDocs. It creates an IDoc server per program ID, it validates IDoc types, it executes DataStage jobs automatically after receiving data, and it sends a status update to SAP on successful reception. The IDoc Manager is a Windows Service or a UNIX daemon that is also responsible for starting and stopping individual IDoc servers. To stop the service on UNIX, navigate to the /opt/IBM/InformationServer/Server/DSSAPbin directory and type ./dsidocd.rc stop. To start the service type ./dsidocd.rc start. To restart the service on Windows, from the Start menu navigate to Settings, Control Panel, Administrative Tools and then Services. Locate the DataStage IDoc Manager service. Right-click the DataStage IDoc Manager service and select Restart. SAP_R3_iDoc_Extract.ppt Page 20 of 27 IDoc data processing sequence - IDoc server receives IDoc packet from SAP - IDoc server validates IDoc metadata - DS job started - DataStage job reads IDocs stored on file system and puts different segments on links 21 SAP R/3 Pack: IDoc extract processing © 2012 IBM Corporation When the IDoc Extract stage is configured to connect to the SAP system and the IDoc Manager is running multiple IDoc Server threads to speed up data transfer, the IDoc server will process IDocs in a specific sequence. First, the IDoc server receives an IDoc packet from SAP. Then, the IDoc server validates metadata against available .ido files. If the .ido file exists, IDocs are stored in a file system. If .ido file for the IDoc type does not exist, no IDocs are transferred. Next, the IDoc Server will start the DataStage job automatically, if the run job automatically option is configured. The job reads the IDocs stored in the file system and puts the different IDoc segments on the links to process IDoc data to targets. SAP_R3_iDoc_Extract.ppt Page 21 of 27 IDoc communication schema SAP DataStage IDoc Metadata IDoc Library Metadata Retrieval RFC Design time Runtime Gateway Service Extract Job RFC 22 SAP R/3 Pack: IDoc extract processing IDoc Manager IDoc Extract Stage Target © 2012 IBM Corporation This slide displays the IDoc communication schema. At the design time, the IDoc Extract stage connects to the SAP system and retrieves metadata using RFC protocol. At the runtime, the IDoc Server receives IDoc packets from SAP and stores them in a file system. The Extract job reads IDocs and processes data to a target. SAP_R3_iDoc_Extract.ppt Page 22 of 27 IDoc extract processing flow - Example 1 Partner Profile DataStage Port Program ID IDoc IDoc IDoc Gateway Service RFC 23 Extract Job maps SAP R/3 Pack: IDoc extract processing IDoc Server .Ido File maps IDoc Type data Target © 2012 IBM Corporation This slide displays a standard IDoc processing flow. In a standard configuration, the IDoc server registers itself with the SAP gateway. It processes requests one after another. If the IDoc server is currently processing a request and then receives further requests, it collects them in a queue. In this example, many IDocs of the same type are processed by the IDoc server utilizing the same port, hence the same program ID, packet by packet. SAP_R3_iDoc_Extract.ppt Page 23 of 27 IDoc extract processing flow - Example 2 Partner Profile Port Program ID Idoc packet 4 Idoc Packet 3 Idoc packet 2 Idoc Packet 1 IDoc Manager IDoc Server IDoc Server IDoc Server IDoc Server Gateway Service 4 RFC Connections/Threads 24 SAP R/3 Pack: IDoc extract processing maps maps .Ido maps .Ido maps maps File .Ido .Idomaps File File File maps maps Extract Extract Job Extract Job Extract Job Job 4 4 © 2012 IBM Corporation In a multi-threaded scenario, when the job is configured to use more than one IDoc server process, the requests are then distributed among several threads and can be processed more quickly. Refer to slide 15 on how to increase the number of IDoc server processes. Sometimes users are confused by the role of the RFC destination in the IDoc Extract processing. They will try to configure one RFC destination per IDoc extract job, but it is not necessary. As a communication thread, the same RFC destination or the program ID is used by many DataStage jobs that are using the same SAP connection. Each SAP connection on the DataStage server is represented in SAP by an external logical system, which is assigned to a tRFC port. The port is bound to an RFC destination. The IDoc Server listens on a tRFC port. Therefore, an IDoc server listening with a unique program ID is created by the IDoc Manager for each SAP connection, not for each job. When a communication IDoc packet is collected and ready to be transferred by the SAP gateway to the DS server, an IDoc listener will check if the program ID he is listening with is matching the program ID carried by the IDoc packet. Next, the IDoc server matches the available IDoc types with IDoc metadata in the packet and then the packet is stored and ready for further processing by a DataStage job. For IDoc extract troubleshooting details, see the SAP R/3 Pack: Troubleshooting IDoc Extract Processing IBM Education Assistant module. For the IDoc Extract Configuration details on the SAP side, see SAP R/3 Pack: ALE Partner Profile configuration for IDoc extract processing IBM Education Assistant module. SAP_R3_iDoc_Extract.ppt Page 24 of 27 References � Additional technical materials: � Environment variable reference – https://www-304.ibm.com/support/docview.wss?uid=swg21424455 � Known problems – https://www-304.ibm.com/support/docview.wss?uid=swg21395447 � Technotes and troubleshooting documentation: http://www.ibm.com/support/search.wss?word=aw&wfield=sap&nw=download&apar=include&tc=SSZJPZ&tc1=SSC2NNZ&tc1=SSCMKC3 25 SAP R/3 Pack: IDoc extract processing © 2012 IBM Corporation This slide displays links to additional information. SAP_R3_iDoc_Extract.ppt Page 25 of 27 Feedback Your feedback is valuable You can help improve the quality of IBM Education Assistant content to better meet your needs by providing feedback. � Did you find this module useful? � Did it help you solve a problem or answer a question? � Do you have suggestions for improvements? Click to send email feedback: mailto:iea@us.ibm.com?subject=Feedback_about_SAP_R3_iDoc_Extract.ppt This module is also available in PDF format at: ../SAP_R3_iDoc_Extract.pdf 26 SAP R/3 Pack: IDoc extract processing © 2012 IBM Corporation You can help improve the quality of IBM Education Assistant content by providing feedback. SAP_R3_iDoc_Extract.ppt Page 26 of 27 Trademarks, disclaimer, and copyright information IBM, the IBM logo, ibm.com, DataStage, and InfoSphere are trademarks or registered trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of other IBM trademarks is available on the web at "Copyright and trademark information" at http://www.ibm.com/legal/copytrade.shtml Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both. Windows, and the Windows logo are registered trademarks of Microsoft Corporation in the United States, other countries, or both. UNIX is a registered trademark of The Open Group in the United States and other countries. Other company, product, or service names may be trademarks or service marks of others. THE INFORMATION CONTAINED IN THIS PRESENTATION IS PROVIDED FOR INFORMATIONAL PURPOSES ONLY. WHILE EFFORTS WERE MADE TO VERIFY THE COMPLETENESS AND ACCURACY OF THE INFORMATION CONTAINED IN THIS PRESENTATION, IT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. IN ADDITION, THIS INFORMATION IS BASED ON IBM’S CURRENT PRODUCT PLANS AND STRATEGY, WHICH ARE SUBJECT TO CHANGE BY IBM WITHOUT NOTICE. IBM SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USE OF, OR OTHERWISE RELATED TO, THIS PRESENTATION OR ANY OTHER DOCUMENTATION. NOTHING CONTAINED IN THIS PRESENTATION IS INTENDED TO, NOR SHALL HAVE THE EFFECT OF, CREATING ANY WARRANTIES OR REPRESENTATIONS FROM IBM (OR ITS SUPPLIERS OR LICENSORS), OR ALTERING THE TERMS AND CONDITIONS OF ANY AGREEMENT OR LICENSE GOVERNING THE USE OF IBM PRODUCTS OR SOFTWARE. © Copyright International Business Machines Corporation 2011. All rights reserved. 27 SAP_R3_iDoc_Extract.ppt © 2012 IBM Corporation Page 27 of 27