Automation Engine 11 ONE Automation Platform Automation Engine and SAP Version: 11.1.0 Publication Date: 2015-06 Automic Software GmbH ii Copyright Copyright Automic® and the Automic logo® are trademarks owned by Automic Software GmbH (Automic). All such trademarks can be used by permission only and are subject to the written license terms. This software/computer program is proprietary and confidential to Automic Software and is only available for access and use under approved written license terms. This software/computer program is further protected by copyright laws, international treaties and other domestic and international laws and any unauthorized access or use gives rise to civil and criminal penalties. Unauthorized copying or other reproduction of any form (in whole or in part), disassembly, decompilation, reverse engineering, modification, and development of any derivative works are all strictly prohibited, and any party or person engaging in such will be prosecuted by Automic. No liability is accepted for any changes, mistakes, printing or production errors. Reproduction in whole or in part without permission is prohibited. © Copyright Automic Software GmbH. All rights reserved. Automation Engine iii Contents 1 SAP Solutions and Job Scheduling with the Automation Engine 1 2 SAP NetWeaver 2 2.1 Automation Platform and SAP NetWeaver 2 2.2 People Integration 4 2.2.1 Integration in SAP Enterprise Portal (iViews) 4 Introduction 4 Starting Tasks 4 Monitoring Activities 5 2.3 Information Integration 7 2.3.1 Scheduling Data-Loading Processes 7 2.3.2 Scheduling Process Chains 7 2.3.3 Scheduling Queries in Batch Mode 9 2.3.4 Business Objects XI R2 (Crystal Reports) 10 Support of Business Objects (Crystal Reports) 10 Using the MBeans Crystal Reports 11 Procedure 12 Example 12 Parameters 13 Return Codes 13 2.4 Process Integration 14 2.4.1 Monitoring SAP XI Communication Channels 2.5 Application Platform 2.5.1 ABAP 14 15 15 Variant Management 15 AE JCL for SAP 15 BDC Management AE JCL for SAP Spool Management AE JCL for SAP 15 16 16 17 Event Management 17 SAP Event 17 Automic Support 18 iv Contents AE JCL for SAP Criteria Manager AE JCL for SAP 18 18 19 Transferring SAP Jobs 19 Assuming SAP Calendar Definitions 21 2.5.2 Job Management Executing Jobs in ABAP Stack (CCMS) 23 23 AE JCL for SAP 25 Child Processes (JOBD) 25 AE JCL for SAP 27 Intercepted Jobs AE JCL for SAP Evaluating the Application Return Code of SAP Steps 27 27 28 Via a Script Element 28 Via the Step List Report 28 Via the Report 28 2.5.3 JAVA 29 J2EE/JMX Agent for SAP NetWeaver 29 JMX in SAP NetWeaver 30 Monitoring the J2EE Engine 30 Starting and Stopping a Service 31 Executing Jobs in Java Stack (JXBP) 33 Report for Java Statistics 33 Installation 33 Special Cases 34 Return Codes 34 2.6 Lifecycle Management 2.6.1 Monitoring SAP NetWeavers Monitoring Monitors AE JCL for SAP Monitoring SAP Events 34 34 34 35 35 Procedure 36 Notes 36 2.6.2 Analyzing System and Application Logs 37 Automation Engine v 2.6.3 Integrating the Automation Engine with the SAP Solution Manager 38 2.6.4 Registering to System Landscape Directory 40 2.6.5 Switching Operation Modes 41 3 SAP Banking 3.1 Process Management and SAP for Banking 4 SAP Financial Closing Cockpit 42 42 45 4.1 Integrating the Automation Engine in SAP Closing Cockpit 45 4.2 Integrating the Automation Engine in SAP Closing Cockpit with FCC 2.0 Add-on 50 Add customer exits in /UC4/CC_REPORT program 56 Create a BAdI implementation 56 Example 56 4.3 Activating Objects with SAP Closing Cockpit 5 SAP Solution Manager 57 61 5.1 SAP Solution Manager Integration 61 5.2 SAP Solution Manager - Use Cases 64 5.3 Setting Up the UserInterface Integration 69 6 Custom Solutions 72 6.1 Archiving Data in SAP Systems 72 6.2 Monitoring SAP Programs Update Requests 75 Monitoring Workflow 6.3 Compare Values in SAP Spool Lists 75 76 Comparing Spool Request Values - Workflow 76 Transferring Spool List Content to Job Report 77 Extracting Values 77 Compare Jobs 80 Comments 82 6.4 Mass Processing 82 6.5 SAP R/3 Client Copies 83 6.6 SAP Dialog for Automation Engine 85 6.7 Automated System Copy for SAP 85 7 Technical Connection 86 7.1 Automation Engine and SAP 86 7.2 Multiple SAP Systems 86 7.3 SAP Security Objects 87 vi Contents 7.4 Consideration of Job Attributes 91 7.5 Interfaces 92 7.5.1 Interfaces 92 7.5.2 Functional Differences 92 7.5.3 Transporting the Automation Engine Interface 95 File Names 95 Requirements: 95 Procedure: 96 7.5.4 Testing the Automation Engine Interface with ABAP Workbench 97 7.6 Agent for SAP BW 101 7.7 Archive Parameters with R3_ACTIVATE_REPORT 103 7.8 ERROR/ERRORLEVEL with R3_ACTIVATE_SESSIONS 104 ERROR=IGNORE 104 ERROR=ABEND 104 ERRORLEVEL 104 7.9 Troubleshooting 105 7.9.1 Checking Errors 105 7.9.2 Problems by Importing Function Modules 106 7.9.3 SAP Jobs End with ARCHIVE_INFO_NOT_FOUND 107 7.9.4 Stability Problems with SAP Instances Occurred When Many SAP Agents (RFC Connection) Were Used On One Server 108 7.9.5 Problem with Password Assignment to SAP 109 8 Certificates 8.1 Overview Glossary 111 112 114 .1 A 114 .2 B 116 .3 C 116 .4 D 117 .5 E 118 .6 F 119 .7 G 119 .8 H 119 .9 I 120 Automation Engine vii .10 J 120 .11 K 120 .12 L 120 .13 M 121 .14 N 121 .15 O 121 .16 P 122 .17 Q 123 .18 R 123 .19 S 124 .20 T 125 .21 U 126 .22 V 126 .23 W 127 .24 X 127 1 | Chapter 1 SAP Solutions and Job Scheduling with the Automation Engine 1 SAP Solutions and Job Scheduling with the Automation Engine If you are running SAP solutions and need an effective job scheduling solution, consider the Automation Engine. Enabling the fast, seamless integration of SAP applications into enterprise scheduling, the Automation Engine supports all SAP applications, including SAP R/3, mySAP Business Suite, and SAP NetWeaver, as well as industry-specific solutions for telecommunications, banking and more. As a result, IT processes in any SAP application can be centrally managed and monitored seamlessly alongside the rest of your global operation. Because it is specially designed as an Enterprise Scheduler, AE does not require middleware components such as a JAVA Application Server and provides top scheduling functionality for your whole IT infrastructure. The system is directly linked to the SAP NetWeaver component SAP Web Application Server, accelerating the design and implementation of jobs for SAP applications. Reports, variables, and other necessary parameters are made available via the Automation Engine's easy-to-use, intuitive graphical user interface (GUI). Problems resulting from manual errors, typos, or outdated report lists are effectively eliminated. Jobs are created using a simple drag & drop functionality, and visualized graphically to ensure clarity and simplify management and control. In addition to offering SAP users total job scheduling automation, the Automation Engine further increases the productivity of SAP business solutions. By centrally tracking and automating background jobs and processes of SAP solutions, the Automation Engine ensures that performance is improved by optimizing background processing and reducing system interruptions and errors. See also: Automation Engine and SAP NetWeaver Chapter2 SAP NetWeaver | 2 2 SAP NetWeaver 2.1 Automation Platform and SAP NetWeaver This documentation follows the SAP NetWeaver architecture and explains AE functions based on it. Functions for business and custom solutions are also explained. People Integration This section about SAP NetWeaver is meant to support end users. This is done via user-friendly interfaces which move responsibilities for process starts with correct parameters to the particular operating departments. AE functions Integration in SAP Enterprise Portal (iViews) Information Integration Warehouse Management is the core of this section. Data loading processes and process chains are under AE control and are even integrated in other platforms using superordinate processes. Automatic analysis and display of the individual processes of a chain to the lowest level are taken for granted. AE functions Scheduling Data Loading Processes Scheduling Process Chains Scheduling Queries in Batch Mode 3 | Chapter 2 SAP NetWeaver Process Integration This section is about integrating business processes in the SAP Exchange Infrastructure (SAP XI). Being the Integration Broker, messages can release and re-release processes directly via the SAP XI Standard Adapter. AE functions Monitoring SAP XI Communication Channels Application Platform The application platform is the basis of all SAP applications. AE uses ABAP and Java in order to provide useful functions. AE functions ABAP: Executing Jobs in ABAP Stack (CCMS) Child Processes Intercepted Jobs Evaluating the Application Return Code of SAP Steps Variant Management BDC Management Spool Management Handling Events Transferring SAP Jobs Transferring SAP Calendar Definitions JAVA: J2EE/JMX Agent for SAP NetWeaver JMX in SAP NetWeaver Executing Jobs in Java Stack (JXBP) Lifecycle Management This section provides the means for controlling and monitoring all solutions on the basis of the SAP NetWeaver technology. AE can access all monitored data while also supplying it own data. AE functions Monitoring Monitors Monitoring SAP NetWeaver Integrating AE in the SAP Solution Manager Chapter2 SAP NetWeaver | 4 Registering to System Landscape Directory Switching Operation Modes Viewing System Log and View Application Log Application Development AE also supports the development of applications in various ways. AE functions ABAP: CallAPI for SAP JAVA: AE.ApplicationInterface 2.2 People Integration 2.2.1 Integration in SAP Enterprise Portal (iViews) Introduction The AE iViews for job scheduling supply current information about job scheduling to the SAP Enterprise Portal component of the SAP NetWeaver so that critical business processes can be started by end users. Tasks can be started and monitored directly from the SAP Enterprise Portal. End users can start important processes and set the corresponding parameters if necessary. No knowledge about job scheduling is required. Each user can monitor the current status of the background processing via the SAP Enterprise Portal. Started processes are then managed and monitored by the Automation Engine. The current status is made available to the user via the iView technology. See also: Starting Tasks Monitoring Activities Starting Tasks With the iView "ActivateObject", users can start executable objects in AE. For that purpose, the name of the object and the description of the task need to be specified in the personalization settings. It is also important to indicate the system alias which must comply with the term the administrator defined in the system settings. Different AE systems can be accessed via system aliases. 5 | Chapter 2 SAP NetWeaver The object can now be activated with the Start button. The iView shows the run number (RunID) of the current or last execution. Follow the link "Detail" and the Detail Window provides further information upon start time and return code, similar to the UserInterface. The iView generates an input mask if user input is required for the execution of an object (e.g. if the script element :READ is used). Red stars "*" symbolize mandatory fields. See also: Monitoring Activities Monitoring Activities The iView "Activities" shows the activities of the AE system that were started by the particular user. As in the UserInterface are task priorities, start times and states available. Information about the activities can only be read. Changes such as canceling or editing tasks are not possible via iView. Chapter2 SAP NetWeaver | 6 It is possible to adjust the view to your personal requirements by hiding some of the columns, for example. Do so in the personalization settings and note that it is important to indicate the system alias. It must comply with the term the administrator specified in the system settings. See also: Starting Tasks 7 | Chapter 2 SAP NetWeaver 2.3 Information Integration 2.3.1 Scheduling Data-Loading Processes An InfoPackage is an object which describes the selection conditions for requesting data from a source system. This object can be scheduled and then controls the data-loading process from the source system. InfoPackages can be externally controlled using a standard interface. AE uses this interface. AE-JCL for SAP Script Element Description BW_ACTIVATE_ INFOPACKAGE Schedules one or more InfoPackages for immediate start. BW_GET_ INFOPACKAGES Reads InfoPackages from the BW system. Available InfoPackages are stored in the activation report or a file. BW_SET_ INFOPACKAGE_ SELECTION Sets selection parameters which are used for reading the InfoPackages from the BW system. 2.3.2 Scheduling Process Chains Operations can be displayed in your BW system via process chains. A chain includes a start process, individual application processes and collected processes. Including InfoPackages is also possible. AE can be used to start and monitor process chains. The individual processes are then displayed in the UserInterface's Activity Window. Process logs are stored in the report of the AE Job object. Chapter2 SAP NetWeaver | 8 AE JCL for SAP Script Element Description BW_ACTIVATE_ CHAIN Starts a process chain, monitors its execution and stores the corresponding logs in the activation report. BW_GET_ CHAINS Reads process chains from the BW system. Available process chains are stored in the activation report or a file. BW_RESTART_ CHAIN Continues an aborted process chain. 9 | Chapter 2 SAP NetWeaver 2.3.3 Scheduling Queries in Batch Mode The transaction RSCRM_BAPI can be used to create queries for your BW system. The result is stored either in a table or a file. Use AE to make queries either regularly or upon request. In the first step, log on to the BW system and call the transaction RSCRM_BAPI. Schedule the query to be automated with AE once. Each query has its own batch ID. Open the batch monitor and copy this number. Now create a SAP job in your AE system. Use the Form tab or write the following function directly into the Process tab: R3_ACTIVATE_REPORT REP='RSCRMREPORT_BAPI' Now change to the SAP tab and enter the copied BatchID in the field Job name. Chapter2 SAP NetWeaver | 10 This Job object can now be integrated in your processing (e.g. in a Schedule object) and will process the query at the point in time you define. It is a SAP peculiarity that the batch monitor does not display all query executions but only the last one. 2.3.4 Business Objects XI R2 (Crystal Reports) Support of Business Objects (Crystal Reports) Business Objects can be used to create reports of any kind from your data. Parameters are used to define the contents of these reports. With AE, you can create automated reports, send them by e-mail or store them as files. This function is provided by an MBean which is called by the AE agent for J2EE/JMX. A stand-alone installation (without application server) is required for the agent. 11 | Chapter 2 SAP NetWeaver Functions of the MBean "CrystalReports": l l l Assigning parameters to the report Storing the report output as a file (Crystal Report, Excel, Word, PDF, RTF, text file) Sending the report output to e-mail receivers Log on to Business Objects with the user specified in the job's Login object. The login type to be used is "Enterprise". See also: Using the MBean CrystalReports Using the MBeans Crystal Reports The MBean "CrystalReports" is supplied with the JMX agent and must be installed. MBean Description Name UC4:name=CrystalReports Attribute "StatusCheckInterval" - Interval in which the report status is checked Default value: 3 seconds Chapter2 SAP NetWeaver | 12 Operations "executeAndMail" - Executes a report and sends its output file by mail Parameter: Report details, report attributes, email receiver "executeAndSave" - Executes a report and sends its output file Parameter: Report details, report attributes Procedure Two steps are required to execute a report: 1. Set the parameter for the operation to be called. Use the function JMX_COMPOSITE_ADD because a list of values is expected. The parameter for report specifications contains values such as the Web Service's address and the report name. 2. Now call the required operation using the function JMX_INVOKE. The MBean "CrystalReports" is automatically registered by the JMX agent. It is not necessary to call the function JMX_CREATE_MBEAN. Example The "Smith" company processes a report about orders made by customer number 55355. The result (Excel sheet) is sent to Mr. Black by e-mail. The function JMX_COMPOSITE_ADD creates the three parameters "report", "settings" and "mail". Several values are assigned to each of these parameters and subsequently they are assigned to the operation "executeAndMail". ! Report details JMX_COMPOSITE_ADD NAME="report",KEY="URL",VALUE="http://localhost:5555/dswsbobje2/services" JMX_COMPOSITE_ADD NAME="report",KEY="REPORT",VALUE="Main_Folder/Customer_ List/3000 - SMITH - Sales_Orders" JMX_COMPOSITE_ADD NAME="report",KEY="FORMAT",VALUE="EXCEL" JMX_COMPOSITE_ADD NAME="report",KEY="MAIL_SUBJECT",VALUE="Customer Number 55355" JMX_COMPOSITE_ADD NAME="report",KEY="MAIL_BODY",VALUE="Dear Mr. Black, Please find enclosed the report for customer number 55355. It contains all orders made in December. Best regards Jack White JMX_COMPOSITE_ADD NAME="report",KEY="MAIL_FROM",VALUE="[email protected]" ! Report attributes JMX_COMPOSITE_ADD NAME="settings",KEY="Customer_number",VALUE="55355" JMX_COMPOSITE_ADD NAME="settings",KEY="Date_area",VALUE="20061201;20061231" ! Email receiver JMX_COMPOSITE_ADD NAME="mail",KEY="[email protected]",VALUE="TO" ! Calling the MBean JMX_INVOKE OPERATIONNAME="executeAndMail",MBEAN="UC4:name=CrystalReports",PARAMS="repo rt,settings,mail" 13 | Chapter 2 SAP NetWeaver Parameters As the above example shows, values are allocated to a keyword and then assigned to the relevant parameter. In doing so, the JMX agent can distinguish report settings. Parameter Description Report details Available keywords: "URL" - Address of the Web service l "REPORT" - Name and path of the report l "FORMAT" - File format for the report output ("CRYSTAL_REPORT", "EXCEL", "WORD", "PDF", "RTF", "TEXT_PLAIN", "TEXT_PAGINATED", "TEXT_TAB_ SEPARATED", "TEXT_CHARACTER_SEPARATED", "EXCEL_DATA_ONLY", "TEXT_TAB_SEPARATED_TEXT", "RTF_EDITABLE", "USER_DEFINED") Specifically for the operation "executeAndMail": l "MAIL_SUBJECT" - E-mail subject "MAIL_BODY" - E-mail message l "MAIL_FROM" - Sender's e-mail address Specifically for the operation "executeAndSave": l l l "FILE" - Path and name of the output file Report attributes Specify the attributes which should be considered in the report. Email receiver Indicate the e-mail address as the keyword. The value is either "TO" for the receiver or "CC" for the receiver who should be copied. Keywords depend on the report. Return Codes After having successfully processed the Crystal Report, the JMX job returns code "0". In the case of an error, it supplies either "1" if an error occurs when calling the operation or "3" if an MBean program error occurs. The report shows detailed information about the cause of the error. The job status is also output in the report: l l l l l "0" - Active "9" - Pending (the job has not yet started) "1" - Successfully ended "3" - Canceled "8" - Job execution has been stopped Report execution is continuously monitored if the status is either "0" or "9". See also: Support of Business Objects (Crystal Reports) Chapter2 SAP NetWeaver | 14 2.4 Process Integration 2.4.1 Monitoring SAP XI Communication Channels SAP XI adapters are used to exchange data with the SAP Exchange Infrastructure. They transform messages so that they can be forwarded via communication channels. The SAP agent provides functions which can be used to handle adapters: l l l Starting communication channels Stopping communication channels Querying information about communication channels The functions XI_GET_CHANNEL and XI_SET_CHANNEL can be used in SAP jobs. Information about communication channels is stored as an XML document in the job report. The script elements for XML format this data. Communication channels can also be monitored via Event objects of type "Console". An event is triggered whenever the status changes. Activate the XI interface with the SAP Executor's INI-file parameters in the section [SAP_XI]. A Login object with valid login data is required for accessing the XI system. The XI user must be authorized to control the XI communication channels. We recommend using different Login objects for SAP and XI system if both are installed on the same host. Otherwise, the login entry is not unique. AE JCL for XI Script elements Description XI_GET_CHANNEL Lists communication channels XI_SET_CHANNEL Starts and stops communication channels 15 | Chapter 2 SAP NetWeaver 2.5 Application Platform 2.5.1 ABAP Variant Management Variants facilitate processing in SAP as jobs can be processed with ready-set input values. Automic Supports the use of variants by offering various functions for reading, copying or modifying variants. Deleting and listing them are also possible. It is important that variants are checked and set just before an ABAP program is processed in order to exclude error sources. AE JCL for SAP Script Element Description R3_ACTIVATE_REPORT Executes a report with a specified variant R3_COPY_VARIANT Copies a report variant R3_CREATE_VARIANT Creates a new variant R3_DELETE_VARIANT Deletes a report variant R3_GET_VARIANT_CONTENTS Shows the content of a variant R3_GET_VARIANTS Lists all available variants in the activation log R3_MODIFY_VARIANT Modifies a variant entry BDC Management Batch input is a proven technique for transferring mass data from external systems to the SAP system. The batch input sessions used contain one or several transaction calls including transaction data. AE can read, process and monitor these sessions until they end. AE can also directly call transactions whose data has been defined in an AE job (call transaction). Chapter2 SAP NetWeaver | 16 AE JCL for SAP Script Element Description R3_ACTIVATE_ SESSIONS Processes batch input sessions R3_CALL_ TRANSACTION Calls a SAP transaction R3_GET_SESSIONS Selects batch input sessions and lists the result in the activation report or a file R3_SET_BDCDATA Defines BDC data Spool Management AE is able to handle and process job outputs. This is done via Job object specifications and script elements. The SAP tab in SAP jobs can be used to enter spool list recipients. All spool requests created by the job are sent to the recipients specified in this tab. 17 | Chapter 2 SAP NetWeaver AE JCL for SAP Many script elements have parameters which can be used to handle job outputs. The following functions serve to handle spool requests: Script Element Description R3_CREATE_OUTPUT_REQUEST Creates a new output request for an existing spool request R3_GET_JOB_SPOOL Reads the spool list of a step of type "ABAP program". Filter specifications are possible. R3_GET_SPOOL_REQUESTS Selects spool requests with predefined filters R3_SEND_SPOOL_REQUEST Sends an existing spool request Event Management Modern business applications demand that process management is event aware. Traditional predefined and time-based process control systems do not meet the requirements of modern complex application and system environments and their ever-increasing interdependencies. With AE.Event, AE offers a sophisticated solution for event-aware process management. Processing can be performed depending on a variety of real-time system conditions and events. AE.Event offers this functionality for a variety of OS and application platforms. Definition and modification of events takes place centrally and is platform-independent, ensuring ease of use by the authorized user. The SAP background control also provides event control. Events can trigger appropriate SAP background processes. SAP events are enhanced with an AE implementation, enabling maximum business process flexibility and extended management functionality. SAP Event A SAP event is a flag that is defined in transaction SM62. A defined event can be triggered (manually, with an OS job or an ABAP program), causing the execution of a background process. There are two types of SAP events: l System events Defined by SAP and automatically triggered if system events occur such as the activation of a new Chapter2 SAP NetWeaver | 18 l operation mode. System events cannot be modified. User events Defined by users. These events must be triggered by ABAP or external programs. For example, an external program can signal to the SAP background processing that external data is ready to be imported to the SAP system. Automic Support Automic Supports SAP events and integrates them into its centralized process management. This solution can be helpful if the SAP background control works with a large number of defined events and a conversion to an AE implementation with workflows and AE.Event would be too complex and time-consuming. For most applications it makes sense to replace SAP events with the AE solution. AE can use SAP events for its process management. The execution of objects can depend on the occurrence of a SAP event. For example, particular processes can depend on a successful data import. AE can trigger SAP-defined events. The full AE functionality is available for defining trigger conditions and points in time for a SAP event. Upon the occurrence of such an event the appropriate processes in the SAP system are started. It is also possible to use an Event object of type "Console". The agent monitors the triggered SAP events and forwards the information to the Console events. Filters can be used to specify SAP events which should trigger subsequent processing or an information message. AE JCL for SAP Script Element Description R3_GET_EVENT Waits for a SAP-triggered event R3_RAISE_EVENT Triggers a SAP-defined event See also: Monitoring SAP Events Criteria Manager The SAP Criteria Manager can be used to define conditions for the Event History, Event History Reorg and job interception in the form of profiles. You can directly access the Criteria Manager in the SAP job. Functions: l l l Creating and deleting profiles Activating and deactivating profiles Adding, modifying and removing conditions In the Form tab, click on the button to open the Criteria Administrator. XBP 3.0 is required to access the SAP Criteria Manager. 19 | Chapter 2 SAP NetWeaver AE JCL for SAP Script element Description R3_ACTIVATE_CM_ PROFILE Activates a profile in the SAP Criteria Manager R3_DEACTIVATE_ CM_PROFILE Deactivates a profile in the SAP Criteria Manager Transferring SAP Jobs AE Job objects can be used to define new SAP jobs and also to transfer existing SAP jobs to AE. The advantage is clear: The job must only be created once. Jobs can only be transferred if there is a UserInterface connection to the SAP system. Open a Job object and select the Form tab. The upper left edge shows several buttons. Click the symbol . A window opens in which you can enter filters for SAP jobs such as name or job number etc. Chapter2 SAP NetWeaver | 20 Now click on the button Find. All SAP jobs that correspond to the specified filter criteria are listed. Highlight the job to be transferred to AE and Click OK tab. The Job object adopts the statements the job contains. Parameters such as the variant or output device are automatically added as shown below: 21 | Chapter 2 SAP NetWeaver If jobs are transferred to AE, they are not removed from the SAP system. Job settings are read and copied to the AE Job object. This method of transferring jobs is very useful if only a few jobs are affected. If many jobs are to be transferred, Automic recommends using the AE.ApplicationInterface. If you plan to transfer masses of jobs, do so carefully and get a general idea first. In most cases, the number of jobs has increased in the course of time; they can often be reworked, simplified or even replaced. See also: Transferring SAP Calendar Definitions Assuming SAP Calendar Definitions SAP provides the transaction SCAL for defining factory calendars. The AE interface contains an ABAP program which can be used to export these calendars as XML files. These files can then be transferred to your AE system. Special calendar definitions are considered. The ABAP program "/SBB/UC4_CALE_GET" can be opened as soon as the AE interface has been imported (refer to the installation guide for SAP agents). Enter the factory calendar's ID and information concerning your AE system as shown below: Chapter2 SAP NetWeaver | 22 The two checkboxes on bottom of the above form serve to determine whether the calendar definition should be generated as a spool list or XML file. ln the latter case, a dialog opens in which the folder the can be selected to which the XML file should be stored. Import the XML file to your AE system. The factory calendar is now provided in the form of a Calendar object. 23 | Chapter 2 SAP NetWeaver Script elements can also be used to assume calendars automatically. See also: Calendar Importing and Exporting Objects AE JCL for SAP 2.5.2 Job Management Executing Jobs in ABAP Stack (CCMS) AE and its functions can be used in various ways in order to support processing in SAP. Job objects are the basis for defining statements which should be processed in the SAP system. The Form tab is the graphical interface that is connected to the SAP system and facilitates the definition of processing statements through the direct selection of data (e.g. variants). Chapter2 SAP NetWeaver | 24 AE facilitates the execution of: l l l l l l Jobs Reports External commands External programs Intercepted jobs etc. The Activity Window in the UserInterface shows task states. Tasks can be restarted or canceled if requested. Child processes are also displayed. When a task has ended in AE, you can access its report which also includes SAP system messages. It is not only the Job object which facilitates processing in the SAP system. The object type "RemoteTaskManager" can also be used to monitor and start jobs in SAP. It is especially useful for intercepted jobs. 25 | Chapter 2 SAP NetWeaver AE JCL for SAP Script Element Description R3_ACTIVATE_EXT_COMMAND Executes an external command R3_ACTIVATE_EXT_PROGRAM Executes an external program R3_ACTIVATE_INTERCEPTED_ JOBS Executes intercepted jobs under AE control R3_ACTIVATE_JOBS Executes SAP-scheduled jobs under AE control R3_ACTIVATE_REPORT Executes the specified report R3_GET_JOBS Selects SAP jobs and lists the result in the activation report or a file R3_MODIFY_JOB Modifies an ABAP step R3_SCHEDULE_JOB_CANCEL Resets a released SAP job to the status "Planned" See also: Child Processes Intercepted Jobs RemoteTaskManager Child Processes (JOBD) SAP jobs can contain one or several subjobs (e.g. in process chains). AE can display these child processes in its Activity Window. They have their own statistical records and reports. The parent-child function can be activated in the transaction "SE38" using the program INITXBP2. Chapter2 SAP NetWeaver | 26 The object type of child processes is JOBD. Set the parameter REPLICATE=YES in the relevant script elements to have the child processes replicated in your AE system. Note that child processes can also have child processes. These can be seen in the Parent column of the Activity Window and the statistical overview. The illustration below shows the execution of a process chain: The item "Status text" in the Detail Window of child processes shows the SAP system's instance number. Deactivating child processes is possible in the corresponding parent processes. SAP jobs have a special tab called Child Post Process. It is processed when an individual child process ends. In doing so, the result can immediately be analyzed. A statistical record and a report are created for each child process. Both can be called via the statistical overview of the parent process. The report is structured in the same way as the report of the top parent process but it contains only information about the particular process step. 27 | Chapter 2 SAP NetWeaver The job report settings are also valid for the top parent process (database, file, on error only). Additionally, the report length can be specified using the parameters JOBLOG=, PROCESSLOG= and LONGTEXT= of the script elements BW_ACTIVATE_CHAIN and BW_RESTART_CHAIN. AE JCL for SAP Script Element Description BW_ACTIVATE_CHAIN Starts a process chain BW_RESTART_CHAIN Continues an aborted process chain R3_ACTIVATE_INTERCEPTED_JOBS Executes intercepted jobs under AE control R3_ACTIVATE_JOBS Executes SAP-scheduled jobs under AE control R3_ACTIVATE_REPORT Executes the specified report See also: Child Post-Process Tab Intercepted Jobs Filter criteria can be defined in the table TBCICPT1 of SAP jobs. These criteria include the specification of a client, job name and user. If a user indicated in this table starts a job which meets the specified filter criteria, the job status changes to "Scheduled" regardless of the defined start mode (e.g. "Immediately"). The Intercept function can be activated in the transaction "SE38" using the program INITXBP2. Click the symbol in the "Form" tab of SAP jobs to access the table and maintain its entries (XBP 2.0)or use the Criteria Manager (XBP 3.0). Table entries can also be changed dynamically using the script element R3_MODIFY_ INTERCEPTION. There are two ways of executing intercepted jobs: 1. Use the RemoteTaskManager to control and monitor intercepted jobs 2. Use R3_ACTIVATE_INTERCEPTED_JOBS 3. Use R3_GET_INTERCEPTION to read the table. The result is stored to a file which can be accessed with PREP_PROCESS_FILE. You can specify the maximum number of jobs which can run parallel when you start intercepted jobs individually with a group being indicated as start type. AE JCL for SAP Script Element Description R3_ACTIVATE_ INTERCEPTED_JOBS Executes Intercepted jobs under AE control R3_GET_INTERCEPTION Reads the filter table for intercepted jobs and stores them in the activation log or a file R3_MODIFY_INTERCEPTION Modifies the filter table for intercepted jobs Chapter2 SAP NetWeaver | 28 See also: Form tab Evaluating the Application Return Code of SAP Steps A SAP job step can also have an application return code. You can access it as described below: Via a Script Element R3_GET_APPLICATION_RC can be used to check the application return code of one or several job steps and cancel the AE job if required. Via the Step List Report This specific report type contains information about the steps plus the application return code. The return code can be read using the XML script elements. Example: :SET &xmlreport# = XML_OPEN(REPORT,,SSTP) ! Reading the first element :SET &job# = XML_GET_FIRST_CHILD(&xmlreport#) :SET &name# = XML_GET_NODE_NAME(&job#) :PRINT "First element: &name#" ! Reading the second element :SET &child# = XML_GET_FIRST_CHILD(&step#) ! Reading the step's children :WHILE &child# <> "" :SET &name# = XML_GET_NODE_NAME(&child#) ! Reading the application return code :IF &name# = "RC" : SET &applrc# = XML_GET_NODE_TEXT(&child#) : PRINT "Applicationreturncode: &applrc#" :ENDIF :SET &child# = XML_GET_NEXTSIBLING(&child#) :ENDWHILE :XML_CLOSE Via the Report Information about SAP job steps is logged in the job report. This report also informs about the application return code if you use the AE interface. "Appl-RC n/a" is written to the job report if a step has no application return code. Use the script function PREP_PROCESS_REPORT to read and further process application return codes. In the following example, the ABAP ZZ_TEST_APPL_RC is called in a job once. Its application return code should be read. 29 | Chapter 2 SAP NetWeaver ! Select the line containing ABAP and the application return code. :SET &HND# = PREP_PROCESS_REPORT(,,REP,"*ZZ_TEST_APPL_RC*Appl-RC*") :PROCESS &HND# : SET &ZEILE# = GET_PROCESS_LINE(&HND#) ! Find the exact position in a line where the "Appl RC" starts. : SET &POS_STR# = STR_FIND(&ZEILE#,"Appl-RC") ! The application return code is located after 8 characters. : SET &POS_ARC# = ADD(&POS_STR#,8) ! Read the application return code. : SET &ARC# = STR_CUT(&ZEILE#,&POS_ARC#) ! Check if the step really supplies an application return code. : IF &ARC# <> "n/a" ! The read value is a string and must therefore be converted to a number. : SET &ARC# = CINT(&ARC#) ! Beyond this point there are any script statements which further process the application return code. : PRINT &ARC# : ENDIF :ENDPROCESS The application return code is not available with the XBP interface. 2.5.3 JAVA J2EE/JMX Agent for SAP NetWeaver Java Management Extensions (JMX) is a technology that provides a series of instruments for handling and monitoring applications, devices and networks. The Automation Engine provides a JMX agent that can be used to integrate Java applications into enterprise-wide processes. Connections are established via an MBean Server and several functions provide access to these MBeans. SAP NetWeaver's standard supply contains more than 1600 MBeans that can directly be handled. Java does not require predefined proprietary "jobs". No Scheduler is required within Java because AE takes over this function. Due to this standard, this function is also executable on Java sources of other vendors. A Requirements Checklist in the documentation provides information about all supported application servers. AE Script elements can be used to register, list and remove MBeans. MBean functions can be called, and attributes and information can be read and set. The Job object's Form tabprovides a graphical interface in which all functions are available. See also: Form (JMX) tab About the JMX JCL Chapter2 SAP NetWeaver | 30 JMX in SAP NetWeaver The AE JMX agent facilitates using MBeans in SAP NetWeaver. Monitoring the J2EE Engine The status of the J2EE Engine can be queried via JMX. The output information is also displayed in the Visual Administrator under Server -> Services -> Monitoring. All the Visual Administrator's functions are provided via MBeans and can also be used in AE. Limitation: AE cannot use JMX operations or attributes that use SAP-specific classes (for example, com.sapmarkets.bam.application.User) or complex data structures such as lists, maps, or arrays. The AE MBean Browser in the JXM job displays a maximum of 300 MBeans. A search filter facilitates the search for particular MBeans (right-click the tree structure -> apply filter...). For example: The number of unsuccessful login attempt should be queried. The first illustration shows this value below the node Security -> Aggregated Data. Therefore, you can filter for "*Security/Aggregated Data/UnsuccessfulLogonAttemptsCount*" in the MBean Browser. Exactly one MBean is returned in the AE environment. Here you can select one of the following attributes: "Value", "MaxValue" or "MinValue". An AE job can be scheduled that queries the number of error messages periodically. 31 | Chapter 2 SAP NetWeaver Starting and Stopping a Service The Visual Administrator also configures, starts and stops services. As it also uses JMX MBeans, this function is available via the agent. Services are listed in the Visual Administrator under Server -> Services: For example: The Telnet service should be started or stopped. You can filter "*SAP_J2EEServicePerNode*" in order to have all services displayed in the MBean Browser. The returned MBeans correspond to the corresponding services. All services have a "start" and "stop" method. Select the entry "telnet" from the tree structure. Then select the method "stop". Click OK to generate an AE job that stops the Telnet service: Chapter2 SAP NetWeaver | 32 The modification is immediately visible in the Visual Administrator: 33 | Chapter 2 SAP NetWeaver Executing Jobs in Java Stack (JXBP) AE provides the following opportunities for the handling of jobs in the SAP Java Scheduler: l l l l Start jobs using parameters Cancel jobs Include the logs in the job reports Monitor jobs via filter using the RemoteTaskManager First, the Java job definition must be deployed in the Java Schedule to make it visible to the SAP agent. Subsequently, you can use a Job object to create an instance from an existing job definition. A SAP Job object always belongs to exactly one Java job definition. Create a SAP Job object for Java Scheduler jobs and select a SAP agent plus a Login object. Use the Form tab to select the job definitions to be applied. The lower part of the tab automatically displays the corresponding parameters. The Job log tab contains the following options: l l l Delete after x days - The job log is deleted from the Java Scheduler after x days. Do not remove - The job log is not removed from the Java Scheduler. Use default settings - The period after which the job log is deleted from the Java Scheduler depends on the settings made in the job definition. The job log is always deleted together with the job instance. Report for Java Statistics A processed SAP Job object can also contain a report (SJJI) which includes information about the Java job. Activate this function by checking the relevant checkbox in the area Optional reports in the Job object's SAP tab. Installation Creating the external Schedulers in SAP: 1. 2. 3. 4. 5. 6. Use the WebInterface to log on to the SAP NetWeaver Administrator. Select the Job tab. Click the link "Java Scheduler" -> "External Scheduler". Insert a new entry in the list of registered external Java Schedulers ("Add"). Complete the fields. Specify "Automation Engine" for the name and the description. Click on Add. Creating a Connection object in AE: 1. 2. 3. 4. Log on to system client 0000. Create a new Connection object for SAP. Open the Connection object and select the connection type "Internet" in the Attributes tab. Switch to the Internet tab and specify the connection data for the SAP Java Scheduler. Indicate the user that was used to add AE as an external Scheduler. 5. Store and close the Connection object. 6. Switch to the folder HOST and open the SAP Agent's object. 7. Select the Connection object in the Agent tab in the field Java Basis. Chapter2 SAP NetWeaver | 34 8. Store and close the Agent object. 9. Restart the SAP agent if it is currently running. Special Cases In an environment of several nodes, the Java Scheduler jobs are processed on the node on which the Scheduler Service is active. If this node is deactivated or fails, job processing continues on a different node. The agent periodically attempts to re-establish the connection to the Java Scheduler if it has been lost during job execution. The job remains active in the AE system and obtains the status "Waiting for remote system". The job aborts if calling the Java Scheduler results in an error. In this case, there is no report about the Java job's statistics. The error is logged in the Job object's report "Agent Log" and in the SAP agent's log file. The job aborts with return code 403. Restarts are not possible. The complete job starts in the Java Scheduler because there is no AE JCL. Return Codes SAP status Job return code in AE COMPLETED HOLD RUNNING SCHEDULED STARTING UNKNOWN 0 ERROR 501 CANCELED 502 2.6 Lifecycle Management 2.6.1 Monitoring SAP NetWeavers Monitoring Monitors SAP offers various monitors that can be used to monitor the SAP environment including corresponding components. The function R3_GET_MONITOR reads the provided information and makes it available for further processing. The following example reads the monitor "All Monitoring Contexts" and stores its content to a text file: R3_GET_MONITOR MONITOR_SET="SAP CCMS Technical Expert Monitors", MONITOR="All Monitoring Contexts", FILE="C:\UC4_and_ SAP\AllMonitoringContexts.txt" 35 | Chapter 2 SAP NetWeaver Use the script function PREP_PROCESS if only parts of the monitored information should be filtered. Based on these filter specifications, the script function supplies a data sequence which can then be processed. The SAP agent lists the monitor's information in columns. The following example filters lines with the content "Enqueue". Four columns are used for further processing: :SET &HND# = PREP_PROCESS("SAP01","R3MONITOR","*Enqueue*","MONSET=SAP CCMS Technical Expert Monitors","MONNAM=All Monitoring Contexts","COL=FILE","UC_ LOGIN=LOGIN.SAP") :PROCESS &HND# : SET &Context# = GET_PROCESS_LINE(&HND#, CONTEXT) : SET &Name# = GET_PROCESS_LINE(&HND#, NAME) : SET &Value# = GET_PROCESS_LINE(&HND#, VALUE) : SET &Status# = GET_PROCESS_LINE(&HND#, STATUS) : PRINT "&Context# --- &Name#" : PRINT "Value: &Value#" : PRINT "Status: &Status#" : PRINT "" :ENDPROCESS The above example calls the function R3_GET_MONITOR in the background. Refer to the document that describes the script function PREP_PROCESS for more detailed information. The RemoteTaskManager object also provides monitoring functions in the SAP system. Depending on the specified filter criteria, it displays jobs triggered by SAP. AE JCL for SAP Script Element Description R3_GET_MONITOR Reads the data of a SAP monitor Monitoring SAP Events Events are significant in SAP's background processing. Event objects of type "Console" can be used to monitor SAP events. The agent periodically polls the SAP system for occurred SAP events and reports them to the active Console events in an interval the administrator has defined in the variable UC_HOSTCHAR_ DEFAULT, key JOB_CHECKINTERVAL. Filters are available which serve to define the SAP events to be monitored. The statements defined in the !Process tab initiate further processing steps as they are processed when an agent reports a SAP event. Use the function GET_EVENT_INFO in the !Process tab. It supplies details about the SAP event that has occurred. Chapter2 SAP NetWeaver | 36 Several filter lines can be specified in the table in the tab's lower area. !Process is processed if a SAP event is triggered which meets at least one filter specification. !Process is NOT processed several times if several filter specifications are met. Overlapping filters can occur if several Console events are used. The agent would then notify all Console events about the relevant SAP event. AE does not only provide Console events but also functions which can be used to handle SAP events via Job objects. R3_GET_EVENT waits for a SAP-triggered event and R3_RAISE_EVENT can be used to trigger a SAP-defined event. Procedure 1. Create an Event object of type "Console". 2. Open it and switch to the Console tab. Specify the agent that is connected to the SAP system and the filter criteria for the SAP events. 3. In the !Process tab, enter the script statement to be processed if a SAP event occurs which meets the specified filter criteria. The script function GET_EVENT_INFO supplies details about the SAP event. 4. If required, fill in the other tabs of the Console event and store the object. 5. Now activate the Console event in order to include SAP events in your processing. Notes XBP 3.0 is required in order to monitor SAP events of event type "Console". The administrator can specify the XBP 3.0 interface in the SAP agent's INI file. 37 | Chapter 2 SAP NetWeaver If the agent loses its connection to the SAP system, SAP events can accumulate as the agent is not able to forward them to the Console events. As soon as the connection has been re-established, the agent checks if there are SAP events and reports them to the affected Console events. Due to the fact that huge data amounts can be involved, the agent does not read all SAP events at once. The administrator can define the required handling in the agent's INI-file parameter maxEventTimeSpan= . The agent cannot monitor SAP events if it is terminated. After a restart, it retrieves the point in time when it last monitored SAP events and also reports SAP events that occurred during its termination. All agents connected to the SAP system poll SAP events. This means that each agent reports all SAP events which occurred to the Console events. If the SAP system's time runs behind AE's system time, the first SAP events cannot be received if they occur in the gap between the two different times. See also: Event Management Sample Collection - Reaction to External Events 2.6.2 Analyzing System and Application Logs AE can be used to read SAP application logs as well as the system log. Both log types supply information about processing in general and possible error situations. AE provides functions which serve to read the corresponding entries using filters, and store them in a report or file. The result can be analyzed using PREP_PROCESS and PREP_PROCESS_FILE. A particularity that applies to the system log is that aborted jobs can store their last system log lines in the special SLOG report. This makes error analyses much easier. The number of lines to be kept as well as other settings are defined in the SAP agent's Connection object. AE JCL for SAP Script Element Description R3_GET_ APPLICATIONLOG Retrieves messages from the application log and prints them in report or file form R3_GET_SYSTEMLOG Reads the system log of a SAP system during a defined period of time Chapter2 SAP NetWeaver | 38 2.6.3 Integrating the Automation Engine with the SAP Solution Manager The SAP Solution Manager is supplied with all SAP systems starting from the Web Application Server (WAS) 6.10. It is meant to become the central monitoring software for SAP systems, but also for external applications. This should provide for the centralization of all services within a SAP environment. With the SAP agent, AE integrates the entire enterprise-wide process management in the SAP Solution Manager. Monitoring The essential functionality of the SAP Solution Manager is centralized monitoring. The monitoring part again distinguishes two main areas: l l Operations Business Process Monitoring While the first one primarily deals with technical processes and system status, the area of business Process Monitoring helps to design and monitor logical business processes in and around SAP systems. Operations Monitoring In the area of operations monitoring the SAP Solution Manager uses the existing monitoring infrastructure within the CCMS (Computing Center Management Systems). The states of systems and processes are displayed in a tree structure. So far these monitors have been limited to SAP systems. Now SAP provides interfaces for external applications for reporting status data to the Solution Manager and for displaying them in the monitoring tree. The SAP agent uses such an interface in order to access the monitor structure in the CCMS. It uses a Connection object for ABAP Basis. Several script elements can be used to create and modify attributes or delete nodes: Script Element Description R3_DELETE_NODE Deletes a node R3_SET_LOG_ATTR Sets a log attribute R3_SET_PERF_ATTR Sets a performance attribute R3_SET_STATUS_ ATTR Sets a status attribute R3_SET_TEXT_ATTR Sets a text attribute The Form tab of SAP jobs can be used to access nodes. A separate browser displays the monitor "All Monitoring Contexts" of the monitor set "SAP CCMS Technical Expert Monitors". The node colors represent the current alarm status. 39 | Chapter 2 SAP NetWeaver Business Process Monitoring Business processes are based on individual IT processes and systems. Interdependencies can be defined and graphically represented with the SAP Solution Manager. All data which is available in operations monitoring can be used to model business processes. AE centrally controls processes on all of an enterprise's systems and applications. The integration of AE in the SAP Solution Manager provides the opportunity to represent and monitor enterprise-wide business processes in a SAP system. Chapter2 SAP NetWeaver | 40 If an error occurs in a business process, the reason can be found immediately. The time for troubleshooting is minimized, the business process can be restarted as quickly as possible. Process Management The Solution Manager will also be able to manage background processes. Currently, this function is available using the transactions SM36 and SM37. AE comprehensively supports this function. AE centrally manages and monitors the entire SAP background processing. AE also combines these SAP processes with processes of all the enterprise's other systems and applications. 2.6.4 Registering to System Landscape Directory SAP's System Landscape Directory (SLD) supplies an overview of installed software components. You can configure the SAP agent in a way that it registers at the SLD whenever it starts. The following steps are required: 1. 2. 3. 4. 5. 6. Log on to system client 0000. Create a new Connection object for SAP. Open the Connection object, click theAttributes tab and select the connection type "Internet". Switch to the Internet tab and specify the SLD connection data. Store and close the Connection object. Switch to the folder HOST and open the SAP agent's object. 41 | Chapter 2 SAP NetWeaver 7. Select the Connection object in the agent tab, field System Landscape Directory. 8. Store and close the Agent object. The SAP agent now tries to register at the SLD whenever it starts. It can successfully start even if a registration is not possible (e.g. due to incorrect connection parameters). The SAP agent's log file contains a message which indicates whether the registration to the SLD was successful. 2.6.5 Switching Operation Modes SAP's operation modes support the optimal use of available system resources. Various specifications can be defined for dialog and background processing, according to the time of day. No R/3 system restart is required for this method of resource allocation. AE also supports this SAP function. Use the script element R3_SWITCH_OPMODE to switch operation modes for individual or all SAP application servers. AE JCL for SAP Script Element Description R3_SWITCH_OPMODE Switches the operation mode in SAP Chapter3 SAP Banking | 42 3 SAP Banking 3.1 Process Management and SAP for Banking In cooperation with major European banks, SAP has developed an account management solution with SAP for Banking. AE developers have been working on integrating this new SAP solution into the wellproven Process Management. The result is the AE agent for SAP AM/BCA which provides comprehensive process management power for banking transactions. AE integrates the new SAP solution into its centralized process management and secures business processes at enterprise-wide level and across all platforms. Processes in SAP for Banking A particular feature of SAP Transaction Banking is that entire processes can be stored in the Customizing. The process definition corresponds to a kind of JobPlan (tabular maintenance). These processes are mainly called end-of-day processes. When controlling these processes you must consider the following factors: Process network A process network is created and monitored via a menu function from within a process definition in Customizing. It has a unique ID which must be specified for each run. A process network contains a set of processes. A process is an application function which technically is always processed in two steps: 1. The actual application function 2. The application s monitoring part. The monitoring part is only executed if the process has been initiated via a process network. The entire application (including the monitoring part) can be processed synchronously or asynchronously. Synchronous processing The application function including monitoring is processed synchronously from within a function module i.e. the function module ends synchronously with the application function. Asynchronous processing The application function and the monitoring are both started as background jobs with the monitoring job always following the application job. Processes with parallelization Paralleled processing (similar to IS-U/IS-T) is provided for particular processes (with mass data). Unfortunately there is no basic functionality for this kind of request. A process with parallelization creates parallel background jobs i.e. a parallel background job and a subsequent monitoring job. If the process starts asynchronously, an additional parent job is created (followed by a monitoring job) which is active for the entire runtime of the process. Application Return Code and Application Log Processes have an application return code. A normal technical status (e.g. Job ended) cannot sufficiently ensure successful processing. The individual components of a process (function module, ABAP, 43 | Chapter 3 SAP Banking monitoring ABAP, etc.) are also written to an application log. Starting Process Networks and Processes Process networks are integrated in dialog functions and initiated by them. Depending on the individual application, processes are initiated synchronously or asynchronously (jobs running a long time are always asynchronous). Requirements for AE An AE workflow corresponds to the processing definition in SAP's Customizing. Workflow tasks represent processes. SAP's basic job control does not provide the appropriate means to control processes in AM/BCA. Standard background jobs are not suitable for controlling individual processes as the application function's monitoring part would not start. Thus, no application return code would be created. Adjusting all application programs in a way that the monitoring function could run implicitly would have been counterproductive. It would have resulted in many programs and the application return code would have been communicated via the job log. The alternative was to create a process network with an individual ID for each task in the SAP system from within an AE workflow. This process network always contains only one process. If this process starts via the process network, two asynchronous batch jobs are created in the SAP system the application function and the monitoring function. New script elements are available in AE for controlling such processes (BCA_ACTIVATE_PROCESS). In order to enable AE monitoring (status checks), SAP has extended its interface by a corresponding function. AE Functional Description Starting and monitoring processes This function uses a single process in a process network, while also starting and monitoring it. When the process ends, the process network also ends because it only contains this single process. Analyzing application return codes Single processes supply application return codes. AE can analyze them (e.g. in post script) and react to them. Analyzing application logs Processes of a process network write to application logs. Unfortunately, there is no 1:1 relation between a process or process network and an application log. Thus, the AE analysis of application logs provides different information. This AE function can be used to select application logs according to particular criteria (the results are log numbers). Application log messages and texts can then be read using these log numbers. Text outputs are written to a text file or report. Integration into job networks AE integrates processes in SAP AM/BCA into enterprise-wide JobPlans. Interdependencies with processing in other SAP or non-SAP systems can easily be implemented and monitored. Comprehensive statistics Chapter3 SAP Banking | 44 Comprehensive statistics are provided for all AE-controlled processes. They can be used for later analyses and future planning. This also applies to processes in SAP for Banking. AE JCL for SAP Script Element Description BCA_ACTIVATE_ PROCESS Starts and monitors a process which runs in a separate process network. 45 | Chapter 4 SAP Financial Closing Cockpit 4 SAP Financial Closing Cockpit 4.1 Integrating the Automation Engine in SAP Closing Cockpit The SAP Financial Closing Cockpit can be used to schedule several tasks that should be executed in a particular order and at a particular point in time. Through the integration of AE, you can activate objects of an AE system via Closing Cockpit tasks. In order to use the SAP Closing Cockpit with FCC 2.0 Add-on, refer to the alternative installation description. Requirements: AE Internal Webservice The AE Internal Webservice can be used with the following application servers: l l l l Sun Glassfish JBoss IBM WAS CE SAP Netweaver CE Use the installation guide to set up the required application server. Make sure to use the current version of the AE Internal Webservice. SAP version SAP Basis requires a particular or a later support package version depending on the SAP release version which is used. Release Package name 700 SABKB70017 701 SABKB70101 710 SABKB71007 Another requirement is SAP ERP version 6.00. Supplied Files Refer to the file SAP_CloCo.zip.ucc in the directory IMAGE:FRAMEWORK\SAPCLOSINGCOCKPIT which contains the supplied files in encoded form. Installation 1. l Decoding the supplied file Use the program UCYBCRYP.EXE for decrypting the file SAP_CloCo.zip.ucc. It is stored in the folder IMAGE:\TOOLS\ENCRYPT of the AE CD. Now call the program via the command line using the following parameters: Chapter4 SAP Financial Closing Cockpit | 46 UCYBCRYP.EXE -d -f SAP_CloCo.zip.ucc -lLicense file The license file was supplied by our support team (customer number.TXT). l l The result is the packed file SAP_CloCo.ZIP. Unpack the file SAP_CloCo.ZIP. 2. Loading SAP transports Specific ABAP programs are required for the integration process. Load them to the SAP system by means of an import. The archive SAP_CloCo.ZIP includes two corresponding files. l l KNNNNNN.SID - Information file KNNNNNN.SID - Data file Copy these files to the transport directory of SAP (e.g.: /usr/sap/trans/). Copy the K file to the subfolder "cofiles" and the R file to "data". Log on to the SAP system and import the relevant request using the transaction STMS. Open and check the request's transport protocol after the import process: all steps have to show the return code 0 (successfully ended) or 4 (ended with warning). 3. Configuring the HTTP RFC connection Call the transaction SM59 and select "HTTP connections to the external server". Now create a new connection. Enter a name for the RFC destination (e.g.: AE_WEBSERVICE) and a description. Tab: Technical settings: In the field Target host, enter the host name of the application server where the AE Internal Webservice runs. Enter the port number in the field Service number. Tab: Logon and Security: Select the option Basic authentication. Specify the data for accessing the AE system: in the field User, enter the AE client, user name and the department (separated by a slash). Now enter the password and store the RFC connection. 47 | Chapter 4 SAP Financial Closing Cockpit 4. Defining the logical port Start the transaction SOAMANAGER 1. Select the link "Web Service Configuration" ("Service Administration" tab) 2. Search for the object type "Consumer Proxy" which includes *UC4* as the name. Chapter4 SAP Financial Closing Cockpit | 48 3. Create a new logical port with the name UC4. 4. In the "Consumer Security" tab fields "User" and "Password", enter the login data for the Automation Engine system: Use the following syntax for the user name: <client>/<user>/<department>. For example: 0001/USER/DEV As the password, use the password of the defined Automation Engine user. 5. In the "Messaging" tab, set the "Message ID protocol" field to the value "Suppress ID Transfer". 49 | Chapter 4 SAP Financial Closing Cockpit 6. "Transport Settings" tab: In the field "URL Access Path", enter the value ""/uc4ws/uc4ws?wsdl". Also set the computer name and the port of the Webservice's Application Server. Use SOAP 1.1 as the "Transport Binding Type" Store and activate the logical port. 5. Registering the ABAP report for the Closing Cockpit Call the transaction SM30 and open the table SCMAPROGRAMS for modifications ("Maintain"). Add a new entry with the following values: Column Value Program /UC4/CC_ REPORT Application CUSTOMER Store this new entry. Chapter4 SAP Financial Closing Cockpit | 50 6. Testing the connection Start the program UC4/CC_REPORT via the transaction SE38 to test the connection from ABAP to the AE system. See also: AE Internal Webservices Integrating the Automation Engine in SAP Closing Cockpit with FCC 2.0 Add-on 4.2 Integrating the Automation Engine in SAP Closing Cockpit with FCC 2.0 Add-on The SAP Financial Closing Cockpit can be used to schedule several tasks that should be executed in a particular order and at a particular point in time. Through the integration of AE, you can activate objects of an AE system via Closing Cockpit tasks. You may use an alternative integration method from SAP. You may find the respective SAP website pages at: Creating External Jobs As of version 11, SAP Closing Cockpit may also be used with the FCC 2.0 Add-on. Below you find the installation steps for SAP Closing Cockpit with this Add-on. Requirements: AE Internal Webservice The AE Internal Webservice can be used with the following application servers: l l l l Sun Glassfish JBoss IBM WAS CE SAP Netweaver CE Use the installation guide to set up the required application server. Make sure to use the current version of the AE Internal Webservice. SAP version SAP Basis requires a particular or a later support package version depending on the SAP release version which is used. Release Package name 700 SABKB70017 701 SABKB70101 710 SABKB71007 Another requirement is SAP ERP version 6.00. 51 | Chapter 4 SAP Financial Closing Cockpit Supplied Files Refer to the file SAP_CloCo.zip.ucc in the directory IMAGE:FRAMEWORK\SAPCLOSINGCOCKPIT which contains the supplied files in encoded form. Installation 1. l Decoding the supplied file Use the program UCYBCRYP.EXE for decrypting the file SAP_CloCo.zip.ucc. It is stored in the folder IMAGE:\TOOLS\ENCRYPT of the AE CD. Now call the program via the command line using the following parameters: UCYBCRYP.EXE -d -f SAP_CloCo.zip.ucc -lLicense file The license file was supplied by our support team (customer number.TXT). l l The result is the packed file SAP_CloCo.ZIP. Unpack the file SAP_CloCo.ZIP. 2. Loading SAP transports Specific ABAP programs are required for the integration process. Load them to the SAP system by means of an import. The archive SAP_CloCo.ZIP includes two corresponding files. l l l l KNNNNNN.SID - Information file KNNNNNN.SID - Data file Copy these files to the transport directory of SAP (e.g.: /usr/sap/trans/). Copy the K file to the subfolder "cofiles" and the R file to "data". Log on to the SAP system and import the relevant request using the transaction STMS. Select the import option "Ignore Invalid Component Version". The transport request is based on SAP Closing Cockpit 7.00. Therefore the component would not match, as the FCC 2.0 Add-on might run on 7.40. l Open and check the request's transport protocol after the import process: all steps have to show the return code 0 (successfully ended) or 4 (ended with warning). 3. Configuring the HTTP RFC connection Call the transaction SM59 and select "HTTP connections to the external server". Now create a new connection. Enter a name for the RFC destination (e.g.: AE_WEBSERVICE) and a description. Tab: Technical settings: In the field Target host, enter the host name of the application server where the AE Internal Webservice runs. Enter the port number in the field Service number. Tab: Logon and Security: Select the option Basic authentication. Specify the data for accessing the AE system: in the field User, enter the AE client, user name and the department (separated by a slash). Now enter the password and store the RFC connection. Chapter4 SAP Financial Closing Cockpit | 52 4. Defining the logical port Start the transaction SOAMANAGER 1. Select the link "Web Service Configuration" ("Service Administration" tab) 2. Search for the object type "Consumer Proxy" which is named /UC4/CO_UC4PORT_TYPE and select it. 53 | Chapter 4 SAP Financial Closing Cockpit 3. After selecting the object, the following window will open. Click on "Create - Manual Configuration": 4. In the following dialog, enter "UC4" as "Logical Port Name" and activate the "Logical port is Default" checkbox: Click "Next" to continue. 5. Select "User ID / Password" in the authentication settings. Enter a user name using the format <AE Client>/<USER>/<DEPARTMENT> Enter the password for this AE user and click "Next" to continue. 6. Enter "/uc4ws/uc4ws" in the "URL Access Path" field. Enter the host name where the web service is deployed and its port in the fields "Computer Name of Chapter4 SAP Financial Closing Cockpit | 54 Access URL" and "Port Number of Access URL" as shown below: Click "Next" to continue. 7. Select "Suppress ID Transfer" in the Message ID (Synchronous) section: Click "Next" to continue. 55 | Chapter 4 SAP Financial Closing Cockpit 8. Activate "Suppress sending of IBC Identifier" and click "Finish": 5. 1. 2. 3. 4. Registering the ABAP report for the FCC 2.0 Add-on Execute the program RDDKOR54 Enter SCMAPROGRAMS as table name and select "Execute" (F8). Click on the "Create Reservation" (F5) button. Enter "/UC4/*" as namespace and save the changes. The result will look as follows: 5. Call transaction sm30 and enter the table name SCMAPROGRAMS. 6. Add a new entry with the program /UC4/CC_REPORT and application CUSTOMER 7. Save this entry. 6. Testing the connection Chapter4 SAP Financial Closing Cockpit | 56 Start the program UC4/CC_REPORT via the transaction SE38 to test the connection from ABAP to the AE system. Add customer exits in /UC4/CC_REPORT program Business Add Ins (BAdI) are special extensions for SAP. Detailed information is available on the SAP website. Below you find a description how to use a BAdI with the /UC4/CC_REPORT program. A BAdI will be added to the /UC4/CC_REPORT program. The default implementation does nothing and the program continues. You may create another implementation which performs some checks based on the Automic object name and user (SY-UNAME) Create a BAdI implementation The enhancement spot is called /UC4/AUTH_CHECK: l l l Select "Create BAdI Implementation" from the context menu. The implementation class must implement the /UC4/IF_CC_START_ALLOWED interface. This interface has one method called "CHECK" and a parameter UC4OBJECT. Example This BAdI can be used to implement a permission check based on a table with user names and job names. 57 | Chapter 4 SAP Financial Closing Cockpit If the user is 'ANG' and the object name is JOBP.TEST1, the program will show a message box with user and object name and exit. See also: SAP - Custom Solutions 4.3 Activating Objects with SAP Closing Cockpit The integration of AE in the Closing Cockpit is the key to the activation of executable objects via tasks in the SAP Financial Closing Cockpit. The corresponding installation guide is provided in the chapter Installing the SAP Financial Closing Cockpit Integration. This document describes the general mode of operation and use. After a successful AE Internal Webservice installation and Closing Cockpit integration, you can assign executable objects to the Closing Cockpit templates. The required steps and the execution behavior are described below. Configuration Log on to the SAP system and call the transaction CLOCOC. Open a template (Edit) and select the command "Add task" via the context menu from any location in the organization structure. Specify all required values in the displayed dialog. Select "Program" for the option Type of task and enter /UC4/CC_ REPORT in the corresponding field. Now select or create an appropriate variant. Chapter4 SAP Financial Closing Cockpit | 58 This variant stores the name of the object to be executed. All other fields are optional and will be passed on to the activated object as additional values via the read buffer. Call the input assistance (F4) for the field Name of a object to display all executable objects of the client that was specified in the particular RFC connection. Name, type, title and path of the objects are displayed. 59 | Chapter 4 SAP Financial Closing Cockpit The additional fields in the variant dialog can be used to pass additional values on to the activated object. The names of the script variables that are provided for the object in the input buffer are listed below: Parameter/Field Name of the AE Script variable Controlling area KOKRS Period PERIO Fiscal year GJAHR The additional parameters can be used to write self-defined values to the read buffer. The column variable defines the name of the read buffer variable. The values of this script variable can be read using the script element :READ in the script. Example: :READ&KOKRS#,,'KOKRS', Store the variant and the task. Now create a task list from the template. Execution Use the transaction CLOCO to execute task lists of the Closing Cockpit. Open a task list that includes object activating tasks. Include these tasks and check their states. Chapter4 SAP Financial Closing Cockpit | 60 If a task has been executed and its status is shown in SAP as "Completed", then it ended with the status ENDED_OK in the AE system. Every other AE status causes the output "Error" in the Closing Cockpit. To display the AE job report, open the spool of the relevant task in the Closing Cockpit. This spool includes all AE report types (ACT, REP, LOG,...) and the RunID of the executed AE task. In the configuration of the Closing Cockpit (CLOCOC), you can also define dependencies for tasks that start programs or transactions. Do so by opening a template or task list and calling the view "Dependencies". Tasks can be inserted in this Dependency area via drag and drop. This function is also supported in tasks that call objects. A dependency can be used to determine that a task can only start when a particular task has ended. See also: AE Integration in SAP Closing Cockpit 61 | Chapter 5 SAP Solution Manager 5 SAP Solution Manager 5.1 SAP Solution Manager Integration You can use the SAP agent to access an AE system with the SAP Solution Manager and read various information or manage processes in the AE system. This document explains the configuration process and the details of this integration. Some functions are not directly available in the Solution Manager but by setting up a specific integration, you can call the UserInterface directly from the Solution Manager and quickly access these functions. For further details about the affected functions and how to configure the integration, see Setting up the UserInterface Integration. Configuration To use the SAP Solution Manager for AE, you must define the settings for the SMSE (Solution Manager Scheduling Enabler) inferface in the agent's Connection object. Then restart your SAP agent. Note that you need a separate SAP agent for the SAP Solution Manager Integration. In the Connection object of the SAP agent that should be used for the integration, start off by configuring a connection to the SAP system (CONN object: General -> Connection Parameter). Then complete all fields in the CONN object's Interfaces -> SMSE section: l l l Click Activate to enable the fields that should be edited. In AE User, specify the client, name, department and the password of an existing AE User object. You can also define the AE client in the SAP Solution Manager. Note that in this case the user who is specified in the Connection object must also exist in this client. In RFC Server, you define the SAP Gateway and the RFC connection. The RFC destination will automatically be created when the SAP agent starts. The program ID and the name of the RFC connection are freely selectable. Chapter5 SAP Solution Manager | 62 Restart the agent and call the transaction EXTSDL in your SAP system. The RFC connection that you have defined in the Connection object should be listed and marked as the default connection. By clicking Connection Test, you can test whether you can successfully establish a connection to the Automation Engine. Functionality When you have successfully completed the configuration process, you can run the following AE functions with the SAP Solution Manager: Function Description Reading clients This provides a list of all an AE system's clients and their descriptions. Canceling tasks The available commands are cancel, stop, stop (recursive), go, go (recursive). Retrieving the states of tasks This queries the status of a certain activity. Reading folders This supplies a list that includes the ID, the folder name, the folder title and the name of the superordinate folder. If the name of the folder or the parent folder exceed a length of 80 characters, they will be truncated. The title has a maximum length of 255 characters. Special folders such as the Recycle Bin, Transport Case, <No Folder> etc. are not part of the list. Retrieving a list of SAP systems This retrieves the name and the description of a certain client's SAP agents. The additional description contains the basic SAP version and the agent's Automation Engine version. Querying a list of queues This queries the object name, the title and the max. slots of the queues. 63 | Chapter 5 SAP Solution Manager Retrieving the executable object types This retrieves a list that includes the types and a description of the executable objects (such as CALL - notification). Retrieving the executable objects This retrieves a list that includes the names and the object types of the executable objects. You can specify a certain folder whose objects should be listed. You can also filter for the name or the object type. Retrieving the status filter This retrieves a list of status groups that are used to filter activities (such as ANY_OK or ANY_ABEND). Querying a list of activities This queries the content of the Activity Window of the particular client. You can define a status filter and a sorting order (ascending or descending) in order to limit the results. The time and date fields (such as the start time) are converted to UTC and displayed. The system assumes that the actual time zone in AE complies with the local time zone. Retrieving a task's list of reports This provides a list that includes all a task's reports and outputs. This lists contains the report type (such as REP or ACT) and the output type ("L" = job log, "S" = spool list, "A" = application log, "O" = other). Reading a report content This retrieves the report content of a task. Retrieving the user of a task This retrieves the name and the department of the user who has started the task. It is read from the statistical details. If the name exceeds a length of 40 characters, it will be truncated. Reading the prompt parameters of an object definition The following parameters can be read: Reading the parameters of a task This reads the name and the value of an activity's object and PromptSet variables (detail - object variables). Creating or delete BAE events in AE This creates or deletes BAE events as AE Sync objects. -) The name of the PromptSet object -) The reference variable -) The type of the PromptSet element ("N" = number, "D" = timestamp, "S" = all other types) -) The value of the PromptSet element -) The property "Value required" ("X" = the option is set, " " = the option is not set or not known) -) An input assistant is available Eingabehilfe verf gbar ("X" = yes, " " = no or not known). The AE Sync objects that represent BAE events have the value "SMSE" as their archive key 1. This includes that you can search and filter for these specific objects. The Sync objects have only two states: CLEARED (initial state) and RAISED. Reading BAE events from AE This retrieves the Sync objects that represent BAE events (object type = SYNC, archive key 1 = SMSE). You can filter for the object name. Chapter5 SAP Solution Manager | 64 Retrieving the status of BAE events This is the current status of a Sync object that represents a BAE event. The Sync Monitor is read for this purpose. The object title is returned as a description. Possible values: R (RAISED) or C (CLEARED) Querying BAE event instances This is a list of the tasks that wait for a Sync object that represent a BAE event. It is also read from the Sync Monitor. Reading notifications This reads the monitor of active or ended Notification objects. The following details will be returned: -) Subject -) Possible answers -) Message text -) Activator (RunID) -) Start time -) Status (depending on the notification type. Alarm or request: "Q" = active, "R" = ended. message: "N" = active, "R" = ended) -) Object type of the triggering object. Reading the message text of notifications This retrieves the message text of an active notification. Confirming a notification You can accept or reject an active notification. Input parameter: The RunID of the notification. Input parameter: The RunID of the notification. Scheduling, changing and starting tasks The following actions are possible: -) to activate the task once or recurrently -) to restart a task -) to restart a task from its last restart point -) to reschedule the task. If you change the activation of a task from recurrently to once, it will be rescheduled (new RunID). These functions (except for "Reading clients") refer to the AE client that has been specified for the SMSE interface in the Connection object. 5.2 SAP Solution Manager - Use Cases This document describes typical use cases for the SAP Solution Manager Integration. SAP Solution Manager integration allows you to access functions of the Automation Engine. You can even schedule AE tasks from the job scheduling workcenter in the SAP Solution Manager. You can either schedule them directly or out of a SAP job documentation. In doing so, you can integrate the Automation Engine in the SAP Change Management or the Service Desk. For information about configuring and testing the integration, see the chapter SAP Solution Manager Integration. For the following use cases, start the job scheduling workcenter (SOLMAN_WORKCENTER transaction) of the SAP Solution Manager. 65 | Chapter 5 SAP Solution Manager Use Case 1: Searching an AE Job Out of the Solution Manager 1. In the SAP Solution Manager Workcenter, Job Monitoring section, select the entry External Job Scheduler. 2. You can now define filters according to criteria that should be used for searching AE jobs. The Isolation group stands for the AE client. 3. Click Apply to have the jobs that were found listed in a table. Use case 2: Scheduling Tasks from a Job Documentation The following steps are required in order to schedule objects in the Automation Engine out of a SAP job documentation: 1. Open a SAP job documentation and select a system in the Systems tab. 2. Click the Scheduling tab to see the interface in which you can schedule your tasks. 3. Set the required parameters such as the AE client (Separation Group field), the RFC connection, Queue object, priority and the name of the object that should start (Job Definition field). Chapter5 SAP Solution Manager | 66 An input assistant is available for selecting the object that should start (Job Definition). All executable objects of the specified AE client will be listed. You can filter for the folder (ID of an application), the object type (Definition Type) or the object name (Job Definition). 67 | Chapter 5 SAP Solution Manager 4. Click Schedule/Change Externally in order to schedule the task in the Automation Engine. The AE RunID of the activated task will then appear in the upper window area. 5. By clicking External Notes, you can add comments to an execution. Chapter5 SAP Solution Manager | 68 6. External Logs will show the task's AE reports. Note that no external reports are available. Use case 3: Directly Scheduling Tasks When you open the Job Scheduling Workcenter, you can use the menu item Schedule Jobs in order to schedule objects directly in the Automation Engine. 1. In the Scheduler section, select the entry SMSE for the Automation Engine. 2. Now select the RFC connection with the corresponding AE client. Note that the AE client is shown in the Separation Group section. This means that when you directly schedule tasks for AE, the Separation Group must always be a number (such as 1010). You can ignore the RFC entry for Separation Group GLOBAL. 3. Set the required parameter for the object that should start (RFC connection, Separation Group, queue, priority and object name). Specify the name of the object that should start in the Job Definition field (you can also use the input assistant for this purpose). As in use case 2, you can now schedule this task in the Automation Engine by clicking Schedule/Change Externally. For the start conditions, the Automation Enginegenerates temporary Calendar objects. 69 | Chapter 5 SAP Solution Manager Setting the option Schedule Stopped has the effect that the scheduled task will remain in the Automation Engine with the status "Waiting for manual release" until it is manually released. You can also change existing schedules subsequently by adjusting them to your requirements and clicking Reschedule in order to update your Automation Engine 5.3 Setting Up the UserInterface Integration Some AE functions are not directly available in the SAP Solution Manager but by using a specific configuration, you can open the UserInterface directly from the Solution Manager at the required position. By doing so, you can quickly access these functions. The following functions are not directly available in the SAP Solution Manager: l l l Creating and editing Job objects Listing the existing Job objects Creating and editing workflows To set up the UserInterface integration, follow the steps below. For a general description of the configuration process, see SAP Solution Manager Integration. Chapter5 SAP Solution Manager | 70 Supplied Files The UserInterface is supplied as a Web application that must be integrated in a Tomcat Application Server. A Tomcat Application Server of version 7 is required for the installation process. The Web application is supplied in the following directory: IMAGE:\AGENTS\SAP\_SOLMAN\ File name Description UC4WEBSTART.WAR The UserInterface for the Application Server. Procedure 1. l l l l Setting up the UI Web application Host Copy the file UC4WEBSTART.WAR to the "webapps" folder that is stored in the program directory of the Tomcat Application Server. Restart the Application Server. The new sub-folder UC4WEBSTART will be created in the webapps directory. Do not delete the WAR file because if you do so, Tomcat will also remove the folder UC4WEBSTART. 2. l l l l l Adjusting the configuration file Host This step determines the AE system to which the UserInterface should connect. Note that you can configure only one connection for the UserInterface. Open the configuration file: <Tomcat directory>/webapps/uc4webstart/WEB-INF/web.xml Adjust the following parameters to your system environment: l Server name: The name or the IP address of the computer on which the AE system runs. l System name: The name of the AE system. l Port number: The port number of the CP to which you want to establish a connection. An example of the relevant part of the file web.xml that must be adjusted: <init-param> <param-name>Server name</param-name> <param-value>SAPHOST01</param-value> </init-param> <init-param> <param-name>SystemName</param-name> <param-value>UC4</param-value> </init-param> <init-param> <param-name>Portnr</param-name> <param-value>2217</param-value> </init-param> 3. Configuring the Agent 71 | Chapter 5 SAP Solution Manager l l l l Agent computer Open the INI file of the SAP agent for which you have configured the SAP Solution Manager Integration. Enter the URL of the UI Web application as the value for the parameter WebStartURL= ([SMSE] section). Save the INI file and restart the agent. For example: [SMSE] webStartURL=http://saphost01:8080/uc4webstart 4. Calling the UserInterface The URL that you have specified in the agent's INI file opens when you call one of the described functions in the Solution Manager. The Web browser displays a page that includes the link "Start AE UserInterface". Click it to open the UserInterface's login dialog. Log on to run the selected function in the UserInterface. For example: When you create a new job in the SAP Solution Manager, the UserInterface and the dialog open that request you to enter a name for the new Job object. Chapter6 Custom Solutions | 72 6 Custom Solutions 6.1 Archiving Data in SAP Systems Data archiving in SAP systems removes mass data from the database that is no longer required in the system but should remain available for future analyses. The Automation Engine provides for centrally controlled data archiving. Data to be archived is pooled in "archiving objects" (e.g. the archiving object SD_VBAK contains all data concerning sales records). Archiving runs are integrated using the Archive Development Kit (ADK). ADK provides the technical basis for the archiving transaction (SARA). Usually, a separate program flags data to be archived based on configurable residence periods. Flags are often used in two steps: After the end of residence period 1 (e.g. 6 months), a deletion annotation is set and after the end of residence period 2, the deletion annotation becomes a deletion flag. Now the object can be archived. The archiving process is basically divided into four steps: 1. Pre-run (deletion annotation): Flags data that should be archived. A pre-run can also be performed regardless of the time frame specified for the archiving run. 2. Creating archive files: During the archiving process, the data to be archived is sequentially written into newly created archive files. 3. Starting the deletion program: Based on the generated archive files, the deletion program removes the archived data from the database. 4. Storing the archived files: The newly created archive files can finally be stored in a filing system or manually stored on tape. The storing process can be initiated automatically or manually. Transaction SARA provides for a manual or a semi-automatic (deletion, storage) archiving process. AE fully automates archiving runs in all SAP releases. For archiving data outside transaction SARA please adhere to the following notes: l l 458670 Data archiving with an external job scheduler 133707 Data archiving outside transaction SARA Controlling with AE From the technical point of view and regardless of the object to be archived, archiving runs in SAP systems always consist of four steps: 1. Writing program (WRI) The write program deals with pre-runs and the creation of archive files. It is capable of running in the background, parameters can be set using a variant. 2. Deletion program (DEL) The writing program automatically creates a deletion (DEL) job for each archiving file, if this has been specified in the relevant archiving object's customizing. The DEL job contains the deletion program. 73 | Chapter 6 Custom Solutions 3. Storing the archived files (STO) The deletion program creates a storing (STO) job. The STO job contains the storing program. 4. Possible post processing (END) Post processing jobs are also automatically created. They are not available for all archiving objects. Requirements in the SAP System 1. Automatic deletion program Specify in the archiving object's customizing that the deletion program starts automatically. 2. DEL, STO and END jobs must not start automatically in SAP. For controlling these jobs with AE, their automatic start in the SAP system must be prevented. The function "Job Interception" serves this purpose as of release 4.6C. Activate it with the ABAP program INITXBP2. The interception table must contain the job names of the DEL, STO and END jobs of all archiving runs. Objects The entire process is handled with a workflow which contains 3 steps: 1. Starting and monitoring the writing program The AE function "Submit ABAP program" creates a WRI job in SAP and monitors it until it ends. 2. Starting and monitoring deletion jobs The AE function "Select and start intercepted jobs" starts and monitors DEL jobs created by the WRI job. 3. Starting and monitoring storing jobs The AE function "Select and start intercepted jobs" also starts and monitors storing jobs created by the DEL jobs. Chapter6 Custom Solutions | 74 Procedure 1. Workflow activation Use the :READ mask to query the name of the archiving object. 2. Workflow Monitor Select or specify the archiving object and the workflow automatically starts and is displayed in the monitor. It only ends when all processing steps ended successfully. 3. Monitoring and control The entire procedure can be traced within Automation Engine and SAP. AE provides all logs for automatic analyses. In SAP, the procedure can also be traced in the administration function of the relevant archiving object (transaction SARA). Conclusion SAP data archiving is easily implemented using AE's standard functions and offers various advantages: l l l l l l Complete automation The entire SAP system management can be automated using the Automation Engine for controlling the data archiving processes. Manual interference is not necessary. Mutual dependencies to other processes are easily implemented. Cost reduction Archiving data on a regular basis provides for optimized database dimensions, improves performance and saves memory. With AE, these advantages are centrally controlled and automatically processed without the accumulation of additional costs. Optimum resource balance Resources can optimally be used due to the central and automated control, thereby avoiding conflicts and shortfalls. Smooth SAP operation is guaranteed. High reliability Automation considering all system parameters significantly reduces the number of possible error sources. Work relief for staff SAP experts are relieved from cumbersome manual tasks and can apply their expertise in areas of significant benefit: in improving systems and service levels. Central control and overview All processes in the SAP system are centrally monitored and controlled. Potential problems are immediately noticed which reduces troubleshooting times to an absolute minimum. 75 | Chapter 6 Custom Solutions 6.2 Monitoring SAP Programs Update Requests SAP programs may request asynchronous updates that are executed in different processes and transactions. Details you may find on SAPs website. With the following workflow solution you may monitor these requests. Monitoring Workflow Create a workflow containing two SAP Job objects. The first Job shall schedule update requests and the second one shall wait until all update requests have been executed. The status of the workflow will be ENDED_OK, if all update requests have finished without errors. Below you see a possible version of such a workflow. The second SAP job contains only one command: R3_ACTIVATE_REPORT REPORT="Z_WAIT_FOR_UPDATE" The example program Z_WAIT_FOR_UPDATE uses the function module UPD_CHECK_LOCAL_ QUEUE to periodically get the status of update requests. It completes, if no update requests are active. Workflow status example: The first Job is executed, while the second Job waits until all update requests have been processed: For this information in FCC 2.0 you may use external Jobs. Details on external Jobs may be found on SAPs website. Chapter6 Custom Solutions | 76 See also: Integrating the Automation Engine in SAP Closing Cockpit with FCC 2.0 Add-on Compare Values in SAP Spool Lists 6.3 Compare Values in SAP Spool Lists SAP Spool lists show print jobs that have not yet been transferred to a device. The data needed for printing or output on a device is temporarily saved to an intermediate format until they will be called. The values for such spool requests in the respective lists may be compared by using Automation Engine SAP jobs. Comparing Spool Request Values - Workflow Create a workflow with two SAP Job objects. Each Job produces a spool list. A third Job object will be used to compare the numbers of the spool list values. When both Jobs have been finished, the values will be extracted from the spool lists and be passed to the third Job in the workflow. The status of the workflow is set according to the comparison: Numbers are equal ==> ENDED_OK Numbers are unequal ==> ENDED_NOT_OK 77 | Chapter 6 Custom Solutions Transferring Spool List Content to Job Report Below you find an example of one of the two SAP Jobs in the workflow, each of them consisting of two steps: In the first step the program is executed and in the second step the content of the spool list is added to the report. The report of this job look like this: It contains the Job log from SAP followed by the spool list. Extracting Values Job 1: To extract the value from the spool list the following UC4 Script is used in the post process tab of the Job. This script is executed after the Job has finished. It processes the report and extracts the values: Chapter6 Custom Solutions | 78 The PREP_PROCESS_REPORT function filters all rows which contain a "|" character. This returns these values only: | USD 123.456.789,01 | BEF 12.345.678.901 | KUD 123.456.789,01 l l l The last row then is stored in the variable &RET# STR_LNG is used to get the length of the row. The function SUBSTR is then used to remove the trailing "|" character. With STR_TRIM the trailing spaces are removed. The result is stored in the variable &RET# and is now: | KUD 123.456.789,01 l l 1.234.567,89 | 123.456.789 | 365.413.243,87 | 365.413.243,87 The STR_FIND_REVERSE function is used to get the position of the last space character in this row. Finally the function SUBSTR is used to get "365.413.243,87" and store it in the variable &RET# With PSET the object variable &JOB1_SUMME# of the Workflow is updated. The workflow also contains a second variable &JOB2_SUMME# which is set by the second SAP Job. 79 | Chapter 6 Custom Solutions Job 2: The report of the second Job looks like this: UC4 Script is also used in this case to get the value: Chapter6 Custom Solutions | 80 This script filters for all rows containing the word "SQ".The result is one row: |SQ| 26|28.02.1995|365.413.243,86 | |DC-10-10| 380 | 2 |1.684,00 | 0 | 0 | 0 | 0 | The character "|" is defined as separator of columns. Therefore the value 5 (variable &column#) can be used directly get 365.413.243,86 from the report. STR_TRIM is used to remove spaces. The result is published as &JOB2_SUMME# Compare Jobs Both Jobs must have finished before the compare job may be started: It has access to the variables &JOB1_SUMME# and &JOB2_SUMME#. This Job has the setting "Generate at runtime" activated on the "Attributes" tab. In this example it starts an SAP program with parameters that depend on the result of the comparison. 81 | Chapter 6 Custom Solutions The simple program Z_INFO uses MESSAGE of the I or type E depending on the SUCCESS parameter: REPORT Z_INFO. parameter text1 type string. parameter text2 type string. parameter text3 type string. parameter success type c. if success is initial. MESSAGE I002(SY) WITH text1. MESSAGE I002(SY) WITH text2. MESSAGE E002(SY) WITH text3. else. MESSAGE I002(SY) WITH text1. endif. The workflow can be set to ENDED_NOT_OK when the compare jobs fails: Chapter6 Custom Solutions | 82 Comments The special parameter value (REPORT,REP) for the FILE parameter in the R3_GET_JOB_SPOOL command is not documented, but exists since v9. Normally the R3_GET_JOB_SPOOL command can only write files. However the SAP Agent cannot read them. An OS Agent would be required to extract the values with PREP_PROCESS_FILE and delete the old files when they are not needed anymore. This would also be a possible solution, but more complex than the one described here. See also: SAP - Custom Solutions 6.4 Mass Processing IS-U is SAP's business solution for the utility industry. IS-U's accounting system for utility and service industries has been specially designed for the specific requirements of these sectors. By integrating IS-U utility industry with the neutral R/3 standard components and interfaces to external systems, SAP offers an integrated enterprise-wide solution for the utility industry's operational data processing. The transaction volume of utilities with several million customers, various types of utilities and perhaps billing on a monthly basis is mainly handled in background operation. Examples: 83 | Chapter 6 Custom Solutions l l l l l l Creating reading records Requests for advance payment Accounting/billing Dunning runs Payment runs etc. Definition AE is able to automate these background requirements. We developed a special type of background "mass processing" in order to optimally deal with huge data amounts. Characteristics of mass processing: l l A master job splits into a dynamic number of partial jobs. Each mass processing run requires a parameter set which is identified by date and RunID. One specific requirement is that a particular order must be kept (e.g. accounting must be finished before billing starts; both are mass processing runs). Technique Mass processing includes a dispatcher which generates parallel split jobs through the definition of parameters. When scheduling mass processing, the dispatcher forms the master job of background processing. When it is processed, it generates a dynamic number of split jobs (the number depends on the defined parameter settings). Controlling is handled by AE. Scheduling can be handled by AE or SAP. 6.5 SAP R/3 Client Copies Like the Automation Engine, SAP R/3 is a client-capable application. The individual clients are completely separate units. In some cases, periodical data exchange between clients is necessary. AE can be used to automate these processes. The "client" is the top-level hierarchy in R/3 applications. Settings on client level apply to all structures in the R/3 enterprise organization. The client is a self-contained unit in technical, economical and organizational terms. This client concept can be used for: l l Managing many data center customers in one R/3 system. Setting up several clients with different tasks on one R/3 System. For example: l Standard client (client 000) l Customizing client (001) l Test client l Quality assurance client l Production client In such an environment it is often required to supply a QA or test client with consistent data. The most suitable way to obtain this data is copying the production client. Regularly copy this client in order to establish a realistic test environment. Chapter6 Custom Solutions | 84 Client Copies in SAP R/3 Copying clients in SAP R/3 involves some effort, especially the creation of periodical copies for supplying test systems with current data. SAP R/3 supports the online copying and transportation of clients. These transactions are not suitable for periodical execution (SAP Release 4.0 to 4.6D). The R/3 background job control cannot perform such periodical transactions because dynamic variants are used. Problem Definition Huge amounts of data are transferred when a client is copied. A client without application data allocates about 500 MB database memory. The copying process can therefore take several hours with one or more dialog processes being busy during this process. Users should not use the source and target client during the copying process. Active users in other clients consume additional resources and extend the time required for copying. A test run should be performed before starting the copying process. In doing so, you can determine which tables need to be modified and the available database memory is also checked. The target client is often deleted before a client is copied, thus deleting all master user data. Therefore, only the user SAP* can log on to the target client. R/3 Client Copies with AE Using AE for the periodical creation of client copies makes this process easier and more secure. Test run and copying process can be automated and the normal operation is not interrupted. The copying process starts depending on test results and resource availability. AE informs the operator immediately if an error occurs. The SAP system must meet the following requirements before AE can create client copies: l l Master user data must not be deleted before the copying process AE uses a normal user account for logging on to SAP. It cannot use the SAP* user. In SAP, it is not possible to delete the target client before copying it. Alternately, you can use custom ABAPs in order to delete large tables (see SAP Service Marketplace, note no. 365304). The report RSCLXCOP must be modified in order to enable the maintaining of report variants. A job for copying clients obtains its information from a variant. This variant is overwritten with data from the source client or deleted during the copy process. During a client export the number of the copy is entered in the variant, thus causing problems with periodical scheduling. Identical variants (using identical names) for the report RSCLXCOP must therefore be created in source and target client. Detailed information is provided in note no. 303007 of the SAP Service Marketplace. If all the above requirements are met, you can create an AE job for copying clients. Dependencies can be represented within a workflow. Test run and the actual copy process can run in automated form. AE ensures sufficient system resources. Periodical client copies can so be created in an easy and secure way. 85 | Chapter 6 Custom Solutions 6.6 SAP Dialog for Automation Engine The SAP Dialog for AE is a graphical interface for SAP R/3 users and serves to trigger processing in the AE system. SAP-defined tasks are transferred to the AE system via the CallAPI for SAP. The transaction "/sbb/uc4dc" shows the end user's interface. It contains an overview of tasks. Users see only tasks for which they have authorizations. Tasks can be grouped in classes and named accordingly. Click the list to select them. Depending on the specified settings, you can query variables and attributes or maintain variants. Each task activation is logged in the statistics. l Activation by entering freely definable attributes Attributes are freely definable and can be transferred to AE using :PUT_READ_BUFFER . l Direct connection to standard variant maintenance A direct connection to SAP's variant maintenance is provided if standard ABAPs are used. Only predefined variants can be maintained. l Mapping Workflows Workflows can be mapped using variables. In doing so, you can decide which components of a predefined procedure should be processed. Communication to the AE workflow is exclusively made by setting variables. l Statistics and status tracing Users have statistics in which all activations can be traced. Tasks can explicitly be canceled or current states be adjusted. The SAP Dialog for AE cannot completely replace the UserInterface. It supports users who exclusively work with the SAP GUI and whose background tasks (jobs, JobPlans) should be controlled by AE from within SAP. The SAP Dialog for AE is a consultant solution and not part of the product. Thus, it is not maintained. 6.7 Automated System Copy for SAP This AE solution allows you to create a SAP system copy by fully automated means. You can adjust all the individual steps according to your requirements. AE Automated SystemCopy for SAP is a consulting solution and is not subject to maintenance. Documentation is available in the form of an external document. Chapter7 Technical Connection | 86 7 Technical Connection 7.1 Automation Engine and SAP An agent serves to establish a connection between Automation Engine and SAP. Its INI file contains the connection data to a particular AE system. Connection data to an SAP system is stored in Connection objects. The agent requires at least one Connection object which contains the CPIC user including his or her login data. AE jobs require the indication of an agent and a Login object with the login information determining the SAP client in which the job will be processed. The Form tab is very useful for creating AE jobs. It provides a graphical interface in which you can easily enter scripting lines. You can also retrieve particular data from the SAP system (such as the available variants) with the SAP agent establishing the required connection to the SAP system. User name, password and client are taken from the Connection object for "ABAP Basis". See also: Form tab 7.2 Multiple SAP Systems The following description explains the appropriate configuration of several SAP agents which run on different SAP systems. Other SAP Agents 1. Edit ServiceManager Definition File AE.SMD. Enter the additional agents in the ServiceManager Definition file according to the following example. Ensure that the name of the *.INI file is separated by a blank and specified after the start path of the agent. ! Comment lines begin with an exclamation mark ! ! Now, sub-services are defined !DEFINE Automation Engine;*OWN\UCServer.exe;*OWN DEFINE UC4 C11-Agent;*OWN\C11\UCXJR3X.exe -i*OWN\UCXJC11.INI;*OWN DEFINE UC4 XYZ-Agent;c:\uc4global\bin\XYZ\UCXJRX3.exe ic:\uc4global\bin\XYZ\UCXJXYZ.INI;*OWN\XYZ Alternately, these entries in the file AE.SMD can also be duplicated and adjusted with the ServiceManager Dialog. 2. Creating *.INI files Create a UCXJ*.INI file with the name you have specified in AE.SMD for every additional agent. Automic recommends copying the file of an already existing agent (such as UCXJR3X.INI to UCXJC11.INI). 87 | Chapter 7 Technical Connection Check or edit the created UCXJ*.INI files. 3. Editing SAPRFC.INI (only when using the SAPRFC.INI) Add the additional chapters in the SAPRFC.INI (so far SIDEINFO) as specified in the UCXJ*.INI files in accordance with the following example: DEST=UC_C11 LU=R33 TP=sapdp00 GWHOST=R33 GWSERV=sapgw00 PROTOCOL=I DEST=UC_XYZ LU=R33 TP=sapdp01 GWHOST=R33 GWSERV=sapgw01 PROTOCOL=I 4. Opening and closing the ServiceManager. Close the ServiceManager and restart it. After that, the additional agents should be available. Create the user for the RFCLOGIN in the relevant SAP system. 7.3 SAP Security Objects SAP authorizations required for AE jobs depend on the particular installation and on the range of functions used in AE. What is shown below are authorization objects which are necessary for the CPIC user in order to provide maximum functionality. For understanding the following table, knowledge of SAP authorization concepts is assumed. Authorization Object Connection to AE Field name S_RFC When the Profile Parameter ACTVT RFC_ auth/rfc_authority_check is NAME RFC_ set, SAP checks if the RFC TYPE user is allowed to call the given function group. * * * S_BTCH_JOB Batch Processing: Operations on batch jobs AE creates SAP jobs dynamically and needs the authorization to plan, monitor and release jobs. In addition, AE creates jobs in order to process BDC sessions, thereby using the standard ABAP program RSBDCBTC. * * JOBACTION JOBGROUP Values Chapter7 Technical Connection | 88 Authorization Object Connection to AE Field name Values S_BTCH_ADM Background Processing: Background Administrator In order to run existing SAP jobs, AE must change the respectiveJo bs. The AE and standard interfaces use the standard function module BP_ JOB_MODIFY to run jobs. This requires batchadministrator authorization. This type of authorization is also required for retrieving the Spool List of a job in case the CPIC user is not the job creator. BTCADMIN Y Attention: S_BTCH_ADM allows the client-independent selection of existing jobs. If the AE JCL statement R3_ ACTIVATE_JOBS is processed with a CPIC user having this authorization, AE possibly starts jobs in several SAP clients, depending on the specified selection criteria (such as the same job name in 2 SAP clients) S_BTCH_NAM In order to create and run jobs for any other SAP user, the CPIC user must be authorized to specify the user name. BTCUNAME * S_SPO_DEV Spooler: Device Authorization In order to specify the printing parameter 'print immediately' within a job step, the CPIC user must be authorized to access the corresponding printing device. SPODEVICE * S_TMS_ACT In order to transfer the cover page of a Spool List back to AE, it is helpful to see the parameters of the variant which was used to run the ABAP. This information is part of the cover page. STMSACTION STMSOBJECT STMSOWNER * * * S_XMI_PROD This object is used to log on to EXTCOMPANY the Standard Interface. Before EXTPRODUCT Calling functions of an INTERFACE External Interface, the External Application has to Log on to the Interface. * * * 89 | Chapter 7 Technical Connection Authorization Object Connection to AE Field name Values S_XMI_LOG Not necessary for AE, but when using the standard interface, entries into the XMI log are created (Online Transaction Code RZ15). This authorization is required to view them or to clear the log. - - S_WFAR_OBJ ArchiveLink Authorizations for accessing Documents AE allows the specification of Archive Parameters (object type, document type...). This includes that the printing list of an ABAP program can be transferred to an optical archive immediately. This only makes sense if an optical archive system is installed for the SAP system. ACTVT OAARCHIV OADOCUMENT OAOBJEKTE * * * * S_WFAR_PRI ArchiveLink Authorizations for accessing Print Lists In order to create printing lists within an optical archive, the CPIC user must have the corresponding authorization. ACTVT OAARCHIV OADOKUMENT OAOBJEKTE PROGRAM * * * * * S_PROGRAM ABAP: Program run checks AE needs this authorization P_ACTION object to schedule ABAP P_GROUP programs that are assigned to authorization groups (Authorization field P_ACTION = BTCSUBMIT) and to manage variants (Authorization field P_ACTION = VARIANT). BTCSUBMIT,VARIANT * S_SPO_ACT Spool: Actions In order to transfer Spool Lists not created from the CPIC user, the field SPOACTION has to allow the actions BASE and DISP for the corresponding users. SPOACTION SPOAUTH BASE,DISP * S_ADMI_FCD System Authorizations In order to transfer Spool Lists not created from the CPIC user, the field S_ADMI_FCD has to allow the actions at least the action SP0R. S_ADMI_FCD SP0R S_RS_ISOUR Administrator Workbench InfoSource (Flexible Update) Only needed if the Business Warehouse Function BW_ ACTIVATE_INFOPACKAGE is used and Flexible Update is used. ACTVT RSAPPLNM RSISOURCE RSISRCOBJ * * * * Chapter7 Technical Connection | 90 Authorization Object Connection to AE Field name Values S_RS_ISOUR Administrator Workbench InfoSource (Direct Update) Only needed if the Business Warehouse Function BW_ ACTIVATE_INFOPACKAGE is used and Direct Update is used. ACTVT RSAPPLNM RSISOURCE RSISRCOBJ * * * * S_DEVELOP ABAP Workbench Only needed if the Business Warehouse Function BW_ ACTIVATE_CHAIN is used. ACTVT DEVCLASS OBJNAME OBJTYPE P_ GROUP * * * * * S_RS_ICUBE Administrator Workbench - InfoCube Only needed if the Business Warehouse Function BW_ ACTIVATE_CHAIN is used. ACTVT RSICUBEOBJ RSINFOAREA RSINFOCUBE * * * * S_RS_ADMWB Administrator Workbench - Objects Only needed if the Business Warehouse Functions are used. ACTVT RSADMWBOBJ * * S_RS_DS Only needed if the Business Warehouse Functions are used. S_RS_DTP Only needed if the Business Warehouse Functions are used. S_RS_ODSO Only needed if the Business Warehouse Functions are used. S_RS_PC Only needed if the Business Warehouse Functions are used. S_RZL_ADM Releasing intercepted jobs (RemoteTaskManager, R3_ activate_intercepted_jobs) ACTVT 01 S_TABU_DIS For using SAP Forms ACTVT DICBERCLS 03 SPFL - No specific SAP authorizations are necessary for additional AE functions, as there is no security risk. *) Automic recommends creating your authorizations in accordance with your naming conventions. For using minimum AE functionality, it is necessary to provide the RFC user with a user profile that contains the authorization object S_BTCH_JOB. It must contain the standard authorization S_BTCH_ALL or an authorization where the fields are filled in as follows: Activities in jobs: DELE, PLAN, PROT, RELE, SHOW Summarizing jobs for a group: * 91 | Chapter 7 Technical Connection 7.4 Consideration of Job Attributes The host-specific tab in SAP jobs contains some attributes that affect several script elements. The table shown below lists them all. Those SAP-specific script elements that are not included in this list do not use attributes. Script element BCA_ACTIVATE_ PROCESS R3_ACTIVATE_EXT_ COMMAND R3_ACTIVATE_EXT_ PROGRAM R3_ACTIVATE_ INTERCEPTED_JOBS R3_ACTIVATE_JOBS R3_ACTIVATE_ REPORT R3_ACTIVATE_ SESSIONS R3_CALL_ TRANSACTION R3_GET_EVENT R3_GET_JOB_SPOOL R3_MODIFY_JOB R3_RAISE_EVENT See also: SAP tab in SAP jobs Login language Job Job Target Start name class system type Delete in CCMS Spool list recipient Chapter7 Technical Connection | 92 7.5 Interfaces 7.5.1 Interfaces General Information Agents communicate with the SAP system via SAP's RFC (Remote Function Call). Functional modules are called in this process. The agent can use the standar interfaces but also the AE interfaces which allows using additional functionalities. This documentation addresses the two types of interfaces as shown below: l l The AE interface is based on functional modules that have been developed by AE. The standard interfaces are based upon functional modules that are provided by SAP. AE uses several of these interfaces for various purposes. The interfaces are subdivided: l XMB (eXternal Monitoring Basics) l XAL (eXternal ALerting) l XBP (eXternal Batch Processing) *) l XMW (eXternal Monitoring Write) l BW-STA (Business Warehouse - data STAging) *)Note that the XBP 2.0 interface must be activated using the program INITXBP2. This is part of the XBP 2.0 installation. Otherwise, you cannot use parent-child relations and intercepted job functions. The Automation Engine supports the SAP NetWeaver XBP 2.0 and XBP 3.0 interface. Therefore, you can use SAP modules that use this interface (such as SAP 4.7, NetWeaver Stack 2004s, ECC5, ECC6). The XBP interface version is not relevant for the Kernel version. SAP ensures compatibility by supporting a particular number of new Kernel versions that still support the old interface when a new interface version is released. The AE interface requires BABP XBP V2.0. Check the version in your SAP system and install an upto-date support package. 7.5.2 Functional Differences The following table provides an overview of SAP script elements which require the AE interface (script element). Script elements which have specific parameters which require the AE interface are also checked (Parameter). Script Elements and Corresponding Interfaces AE Interface required Script Statements Description Script Element Parameter 93 | Chapter 7 Technical Connection R3_ACTIVATE_ CM_PROFILE Activates a profile in the SAP Criteria Manager R3_ACTIVATE_ EXT_COMMAND Execution of an external command R3_ACTIVATE_ EXT_PROGRAM Execution of an external program R3_ACTIVATE_ INTERCEPTED_ JOBS Carries out intercepted jobs R3_ACTIVATE_ JOBS Executes already planned jobs R3_ACTIVATE_ REPORT Executes an ABAP program R3_ACTIVATE_ SESSIONS Processes Batch Input Sessions R3_CALL_ TRANSACTION Calls an SAP transaction R3_COPY_ VARIANT Copies the variant of a report R3_CREATE_ OUTPUT_ REQUEST Creates a new output request to an existing spool request R3_CREATE_ VARIANT Creates a new variant R3_DEACTIVATE_ CM_PROFILE Deactivates a profile in the SAP Criteria Manager R3_DELETE_ NODE Deletes a node in the SAP monitor architecture. R3_DELETE_ VARIANT Deletes the variant of a report R3_GET_ APPLICATION_RC Checks the application return code of one or several job steps. R3_GET_ APPLICATIONLOG Retrieves messages of the application log and writes them into report or file R3_GET_EVENT Waits for an event to be triggered in SAP R3_GET_ INTERCEPTION Reads the filter table for intercepted jobs and saves them in the activation report or a file R3_GET_JOB_ SPOOL Reads the spool list of an "ABAP program" step R3_GET_JOBLOG Retrieves the job log of an SAP job from SAP and writes it to the report R3_GET_JOBS Selects SAP jobs and lists the result in the activation report R3_GET_ MONITOR Reads data from an SAP monitor Chapter7 Technical Connection | 94 R3_GET_ SESSIONS Selects batch input sessions and lists the result in the activation report or in a file R3_GET_ Selects spool requests with pre-defined filters SPOOLREQUESTS R3_GET_ SYSTEMLOG Reads the system log of an SAP system over a specified period of time R3_GET_ VARIANTS Reads the variant catalog R3_GET_ VARIANT_ CONTENTS Shows the content of a variant R3_MODIFY_ INTERCEPTION Modifies the filter table for intercepted jobs R3_MODIFY_JOB Modifies an ABAP Step R3_MODIFY_ VARIANT Modifies a value in a variant R3_RAISE_EVENT Triggers an event defined in SAP R3_SCHEDULE_ JOB_CANCEL Resets an already released SAP job to the status "Scheduled" R3_SEND_ SPOOL_REQUEST Sends an existing spool request R3_SET_ BDCDATA Defines BDC data R3_SET_FREE_ SELECTION Defines a free selection R3_SET_LOG_ ATTR Sets a log attribute in the SAP monitor architecture R3_SET_PERF_ ATTR Sets a performance attribute in the SAP monitor architecture R3_SET_PRINT_ DEFAULTS Sets default values for print parameters which are used when executing reports R3_SET_SELECT_ OPTION Defines a selection criterion R3_SET_STATUS_ ATTR Sets a status attribute in the SAP monitor architecture R3_SET_TEXT_ ATTR Sets a text attribute in the SAP monitor architecture R3_SWITCH_ OPMODE Switches the operation mode in SAP See also: About AE JCL for Applications 95 | Chapter 7 Technical Connection 7.5.3 Transporting the Automation Engine Interface General In order to take advantage of the functionality of the AE interface, function modules must be transported to the SAP system. Function modules are developed as ABAP development objects. These components are supplied with the "Correction & Transport System " package of the SAP System: l l l KNNNNNN.SID information file, for example K000046.T45 RNNNNNN.SID data file, for example R000046.T45 ENNNNNN.txt export protocol, for example E000046.txt Name ranges are transported along with function modules in separate transport requests. A list of all currently valid transport requests is found in the file TRANSPRT.TXT. All transports must take place when a new installation is made. With an update installation, it is only the function modules (AE interface) because there is no change of the name ranges. The names of the development objects are described in Terminology. Throughout this document, the following codes are used: l l l NNNNNN for the transport job number of the delivery system and SID for the system names of the delivery system. TID is used for the system name of the target system (to which the function modules are imported). File Names SAP can be installed in various environments (UNIX, Windows...). Therefore, it is important to consider the specific features of the system when you name the files. In this document, the file names that refer to a SAP environment are written in UNIX language ("/"). For Windows environments, the names are the same with the exception that thy use a "\" character. Importing Function Modules in SAP If the functionality of the AE interface is used, function modules must be transported to the SAP system. Requirements: All activities that concern the transport system must be made by a SAP administrator (SIDadm). The transport system must be properly installed and set. This takes place during the installation of the SAP system. In this case, importing requires that at least 2 batch work processes (BTC) are running. Control: Tools - Administration - Monitor - System Control - System Overview (Transaction SM50). To import development objects, the Transport demon must be planned for in client 000 (background job "RDDIMPDP") and cleared for the SAP system. Control: see below The functionality can be checked as follows: cd usr/sap/trans/bin........ Change to the SAP transport directory. Chapter7 Technical Connection | 96 tp checkimpdp TID........... Verify that the Transport demon RDDIMDP is active in SAP. tp connect TID.............. Test the connection to the SAP system. The transport system is described in the SAP online documentation in the chapter BASIS - TRANSPORT CONTROL. Note that the import process requires the option "Ignore Non-Matching Component Versions" to be set. Procedure: Import the supplied transport files to the SAP transport environment: l l l On the SAP computer: Change to the appropriate subdirectory (for the SAP version) in IMAGE:AGENTS\SAP\_TRANS: Copy the files from there to the following directory: KNNNNNN.SID by /usr/sap/trans/cofiles RNNNNNN.SID by /usr/sap/trans/data If SAP is installed under UNIX, the files are usually transferred via FTP. Be sure to enter "bin" for binary transfers. l The file ENNNNNN.TXT on the CD contains the complete export log and can be used for analysis. Importing the delivery into the SAP system: l l l On the SAP computer (use the SAP administrator (SIDadm) to register). The imported transport files (RNNNNNN.SID and KNNNNNN.SID) must not be write protected (be careful when you copy them from the CD). If needed, you can create a directory that includes all objects of the transport job: cd usr/sap/trans/data....... Change to SAP transport directory. r3trans -l RNNNNNN.SID...... Create a file trans.log (List of transported objects). l Create a buffer entry for the target system. cd usr/sap/trans/bin........ Change to SAP transport directory. tp addtobuffer SIDkNNNNNN TID [pf=<Profile name, Default TPPARAM> l If needed, you can check the buffer entry: tp showbuffer TID [pf=<Profile name, Default TPPARAM> l l Before you start to import, decide upon the unconditional modes (u) that should be used: l 4....valid only for SAP Release 3.x: guarantees that the target system name (TID) that is used for the export does not correspond to the actual target system name. This mode must be used because the actual target system is not known. l 1....must be entered when the import should be repeated. Start the import using one of the following commands: tp import SIDkNNNNNN TID u4 client123] [pf=<Profile name, default TPPARAM>] or tp import SIDkNNNNNN TID u14 client123] [pf=<Profile name, default TPPARAM>] The unconditional modes are distinguished by TP version and can be checked in the SAP Documentation if needed. l Note for the import process: 97 | Chapter 7 Technical Connection This process requires that at least 2 batch tasks are running. Although the transport job does not include client-specific data, it can happen that a client is required. In this case, enter a valid client=nnn (client 010 is used for the export). The import can take a few minutes, especially if the Transport demon RDDIMPDP is planned not to be event-triggered but rather time-controlled. Message "no profile used ": l l l l No profile is specified if you call an internal program on "sapevt". That is the reason why this message occurs with any call on sapevt. Usually, it can be ignored. Other messages can occur. Only the return code is crucial (see below - Control). l Control: l l Because of the SAP transport system's and the SAP environment's complexity, thorough error diagnosis and correction can only be handled by an expert who is familiar with installation environments. A general assessment as to whether the import was successful should be possible for a non-expert with the following tips: l Importing creates logging files. l These are in the directory /usr/sap/trans/log and are called SIDsNNNNNN.TID l s means transport step: G... Report and screen generation H... R3TRANS import Dictionary I... R3TRANS main import In these three log files the exit code (=return code) has to be checked (it always occurs at the end of the file). It cannot exceed "4"! l l The expert can also check the log files in the SAP system. 7.5.4 Testing the Automation Engine Interface with ABAP Workbench 1. Starting the development environment and opening the function modules Start the development environment (ABAP/4 Workbench) and open the function modules to the function group /SBB/UC4_JOB with the object browser: Tools ABAP/4 Workbench Overview Object Navigator, select Function Group /SBB/UC4_JOB, select Function Modules, position the cursor on the object and click Test in the context menu. The name of the function modules always has the prefix AE. 2. Testing the function module UC4_JOB_OPEN Parameters that must be specified: JOB NAME - Any name (such as TEST). JOBCLASS - A, B or C Chapter7 Technical Connection | 98 The parameter JOBCOUNT is supplied. This value must be noted or copied to the clipboard. 3. Testing the function module UC4_JOB_SUBMIT Parameters that must be specified: JOBCOUNT - Enter the value or import from the clipboard. JOBNAME - As with function module UC4_JOB_OPEN, REPORT_ID - 'RSM04000' or 'RSM04000_ALV'. 99 | Chapter 7 Technical Connection Make sure after the execution that no exception has occurred. Although parameters are supplied, they are not necessarily required for testing. 4. Testing the function module UC4_JOB_CLOSE Chapter7 Technical Connection | 100 Parameter to be specified: JOBCOUNT - enter value or import from the clipboard, JOBNAME - as with function module UC4_JOB_OPEN. After the execution, verify that no exception has occurred. The job has now been started and can be displayed by using a standard transaction SM37 (System Services Jobs Job Overview). When the job has ended okay, this indicates that the function modules within the SAP system work properly. 101 | Chapter 7 Technical Connection 7.6 Agent for SAP BW General The Automation Engine supports the components SAP Business Information Warehouse (SAP BW) in the same way that it supports an operating system. Technically, this cooperation is set up so that function modules are called via SAP's RFC (Remote Function Call) within the SAP system. The communication for the SAP system is carried out exclusively via RFC and is therefore independent of the environment where SAP BW is installed. The setting of the connection parameter is carried out in the Connection object of the agent. Furthermore, this agent can be set for all AE-supported SAP BW versions. The agent for SAP BW can also process jobs in the SAP basis system (regular background jobs). The following table shows which SAP Version and SAP Basis correspond to an agent for SAP BW. BW Release SAP Basis Agent for SAP BW 1.2B 4.5A Not supported 2.0B 4.6C Available first with Automation Engine version 2.63C 2.1C 4.6D Available first with Automation Engine version 2.63C 3.0B 6.10 Available first with Automation Engine version 2.63D >3.0B 6.x Available first with Automation Engine version 2.63D Support Packages for SAP BW For the operational use of the agent, Automic recommends installation of the following support packages from SAP BW. SAP BW Release Support Package Level 2.0B 32 2.1C 24 3.0B 14 3.1C 08 >3.1C Support Package Level unknown Chapter7 Technical Connection | 102 If the agent is used with a lower support package level, the following messages can appear. Further information is found in the given SAP notes. SAP Note Number Message 488588 short dump "DYNPRO_SEND_IN_BACKGROUND" 426047 Message E089(RSM1) "Job not (yet ?) started" 488808 BAPI_IPAK_CHANGE ignores InfoPackage Parameter Status Check The Automation Engine presumes that the technical status that is submitted when the function status check is called is a "final status". The Interface Repository gives the following description: The parameter TECHSTATUS is the request's technical status. It always contains one of the following values: l l l G - green (request handling successful) Y - yellow (request is being processed) R - red (request incorrect or canceled) Obviously, these states are not "final states". A status can change to "red" for a short time and then to "yellow" or "green" after a while. AE accounts for this fact. For status checks, a time delay can be activated so that it can be checked n times if the status "red" actually remains in this status, for example. The INI file of the SAP agent contains the parameters maxruntime= and repeat_check= [SAP_BW]) for this. Another function is available which checks the states of process chains. It supplies the following values: l l l l l l l l l l "R" - cancel "G" - normal end "F" - normal end "A" - continue checking "X" - cancel "P" - continue checking "S" - cancel (but only after the process chain has been restarted) "Q" - continue checking "Y" - continue checking " " - continue checking AE then converts these states into return codes: Return code Status SAP status 0 ENDED_OK G or F 4 ENDED_NOT_OK R 8 ENDED_NOT_OK X 12 ENDED_NOT_OK S 103 | Chapter 7 Technical Connection 7.7 Archive Parameters with R3_ACTIVATE_ REPORT The archive parameters which can be specified by a user in R3_ACTIVATE_REPORT correspond to the entry fields displayed in the figure below. The dialog field is displayed in the SAP System if "Archive" has been selected as the mode in the printing parameters. Parameters in SAP Parameters for R3_ACTIVATE_REPORT Obj. type ARCHIVE_SAPOBJECT Doc. type ARCHIVE_OBJECT Information ARCHIVE_INFO Text ARCHIVE_TEXT See also: R3_ACTIVATE_REPORT Chapter7 Technical Connection | 104 7.8 ERROR/ERRORLEVEL with R3_ACTIVATE_ SESSIONS When processing R3_ACTIVATE_SESSIONS, AE first retrieves a list of sessions which should be processed from the SAP system. Each of these sessions will be processed with an individual SAP job. In this document, these jobs are referred to as Replayers. A Replayer uses the ABAP program "RSBDCBTC" to process sessions. ERROR Refers to the result (status) of the Replayer. The status can be "A" for abend or "F" for finished successfully. ERROR=IGNORE The next session of the list will be processed in any case. The result of the previous Replayer is ignored. ERROR=ABEND Processing of sessions stops immediately if a Replayer ends with status "A". The AE job abends. ERRORLEVEL Always refers to the session itself and is checked when the Replayer has ended. ERRORLEVEL defines the number of incorrectly processed transactions in % within a session. If the session value has been exceeded, the processing of the AE job is canceled. No further sessions of the session list are executed. No check is made for successfully processed transactions if no ERRORLEVEL has been specified. 105 | Chapter 7 Technical Connection 7.9 Troubleshooting 7.9.1 Checking Errors This document contains information that will support you in recognizing the source of errors which cause the agent to function improperly or individual tasks to be executed incorrectly. Job Report The first source to be checked is the activation log of the AE job for SAP. It provides information about the actions the agent has taken in connection with the SAP system and how the particular actions ended. Attributes of Executable Objects Sometimes the error cause is easily found in the attributes of an executable object (such as a wrong client or user). Check the attributes of the particular object. Chapter7 Technical Connection | 106 CPIC User An SAP user (client, name or passport) must be defined in a Login object to be able to establish a connection to the SAP System. This user must also be available with the same password in all an SAP system's clients in which tasks are executed. Check the Login object and the users in the SAP system. Within the SAP system, the agent is represented by the CPIC user. This user requires the appropriate rights such as operator rights for background processing, for example. Check the rights of the SAP system's CPIC user. Helpful Transactions Through job logs and spool lists, the transaction "SM37" provides information about job executions. The XMI log which can be called using "RZ15" also supplies helpful records. Log Files Agent and Server log files provide exact information about the relevant point in time when the error occurred. These files' contents are also provided in the System Overview. The initial section shows the complete INI file including the parameters which have been specified for the agent and server. This section is followed by a chronological list of all executed actions. SAP's System Log Error situations occurring in the SAP system are logged in SAP's system log. Use the SAP transaction "SM21" to view the system log. In particular cases (such as when the agent fails to schedule a job step), the SAP system log is automatically copied to an own tab in the AE report. Traces Traces provide even more detailed information than log files. They contain all messages which were sent from and to agent and server or agent and SAP system (RFC trace). Traces can be activated in the agent's INI file or the System Overview. Trace contents are stored in files in the agent's working directory or an individually defined directory. Traces are required for the support or development team's analysis process. Always include this information in your support message. An activated RFC trace create files on agent side but also on SAP's application server computer. Automic recommends activating traces only for a short period of time in order to reduce the hard disk's memory consumption. Set gw/accept_remote_trace_level to 0 if no trace files should be created in the SAP system. Further information about RFC trace is available in the SAP note number 532918. 7.9.2 Problems by Importing Function Modules Program Tp Does Not Terminate Symptom While importing the development objects, the program tp does not terminate (normally it runs a few minutes). After canceling with (Ctrl-C), the following message is displayed in the SLOG file. 107 | Chapter 7 Technical Connection Background job RDDIMPDP could not be started or terminated abnormally Cause The import of development objects is executed by job RDDIMPDP. This is usually event-controlled and triggered by the event "SAP_TRIGGER_RDDIMPDP" of the program tp. In this case, starting the job with the event does not work - tp consequently waits infinitely. Solution Verify that the event "SAP_TRIGGER_RDDIMPDP" has been defined (SM64). Verify that the entries for the event control are correctly set in TPPARAM. Search for possible information in the SAP Service Portal with the headword "SAP_TRIGGER_ RDDIMPDP" If necessary, use the 5-minute RDDIMPDP, which can be scheduled with SE38 via ABAP RDDPUTPP. 7.9.3 SAP Jobs End with ARCHIVE_INFO_NOT_FOUND Symptom SAP jobs canceled with the following message: U2004001 RFC Return code: ARCHIVE_INFO_NOT_FOUND Cause ARCHIVE_INFO_NOT_FOUND is an exception of the function module "GET_PRINT_PARAMETERS". This function module is a standard function module of the SAP System. ARCHIVE_INFO_NOT_FOUND does not necessarily refer to the info field of the archive parameters. ARCHIVE_INFO_NOT_FOUND refers to the entire archive parameters. These are currently: l l l l ARCHIVE_O[BJECT]= Document type ARCHIVE_S[APOBJECT]= Object type ARCHIVE_T[EXT]= Text ARCHIVE_I[NFO]= Info field ARCHIVE_INFO_NOT_FOUND can have various reasons such as: l l l The specified document type or object type has not been defined in SAP. The document type is assigned to a non-existing archive in SAP (Content Repository). The user has no access (see authorization object S_WFAR_PRI in SAP). Provided that the parameters are correctly transferred from AE to the function modules, the reason for an exception is mostly found in SAP. Chapter7 Technical Connection | 108 Solution Use RFC Trace to check whether the AE parameters are correctly transferred to the function module. Check your customized settings "Business Documents" and "ArchiveLink" and the authorizations of the CPIC user in the SAP system. See also: R3_ACTIVATE_REPORT Archive Parameter with R3_ACTIVATE_REPORT 7.9.4 Stability Problems with SAP Instances Occurred When Many SAP Agents (RFC Connection) Were Used On One Server Symptom The external RFC/CPIC server cannot open additional connections. The system issues the error message: LOCATION CPIC (TCP/IP) on local host ERROR max no. of 100 conversations exceeded Reason The number of parallel connections that can be kept in the library is set to 100. Solution By setting the environment variables CPIC_MAX_CONV, the library can handle multiple connections at the same time. Windows: set CPIC_MAX_CONV=<n> For example, set CPIC_MAX_CONV=500 (for 500 connections) Unix: setenv CPIC_MAX_CONV <n> ( csh ) For example, setenv CPIC_MAX_CONV 500 (for 500 connections) Unix: export CPIC_MAX_CONV=<n> ( ksh ) For example, export CPIC_MAX_CONV=500 (for 500 connections) iSeries: ADDENVVAR ENVVAR(CPIC_MAX_CONV) VALUE(<n>) For example, ADDENVVAR ENVVAR(CPIC_MAX_CONV) VALUE(500) (for 500 connections) 109 | Chapter 7 Technical Connection 7.9.5 Problem with Password Assignment to SAP After Updating to SAP NetWeaver 2004s and Later, CPIC User Could No Longer Log On Symptom Password-based logon attempts (to ABAP systems as of Release 7.00 / NetWeaver 2004s / SAP ERP 2005) fail, although the user has entered a supposedly correct password in a front-end component or in a destination (of another system). However, a (direct) SAPGUI logon with the same password is successful. Reason ABAP systems as of NetWeaver 2004s (7.00) support passwords of up to 40 characters and differentiate between uppercase and lowercase. In earlier ABAP Releases (prior to 7.00), passwords could only be comprised of a maximum of 8 characters, whereby lowercase letters that were entered were automatically changed to uppercase letters. If, in a newer ABAP system (as of Release 7.00), a downwardly incompatible password is unknowingly granted (see below), and if the front-end or middleware components are not able to process such passwords correctly, logon problems inevitably occur. This is usually due to the (invisible) automatic conversion from lowercase to uppercase letters. The problem is that the password entered by the user does not arrive at the server in the same form, but is changed either during input or during the transmission (in which many components are involved). Term definitions l Password: downwardly compatible / downwardly incompatible A (plain text) password is downwardly compatible if it consists of a maximum of 8 characters and contains no lowercase letters. A (plain text) password is downwardly incompatible if it consists of more than 8 characters or contains at least one lowercase letter. Older ABAP systems support downwardly compatible passwords only. In newer ABAP systems (as of Release 7.00), downwardly incompatible as well as downwardly compatible passwords can be granted. Since lowercase letters that you enter are now no longer changed to uppercase letters, the passwords granted in newer ABAP systems are normally downwardly incompatible. l Hash password procedure / Code versions ABAP systems do not save passwords in plain text, but instead calculate a hash value and save this together with the meta information using the hash password procedure ("code version"). This information is stored in the user master record and is analyzed during the password check: A hash value is determined, using the code version specification (from the user master record), from the Chapter7 Technical Connection | 110 plain text password to be checked and is compared with the reference hash value (from the user master record). The quantity of the hash password procedure supported is release-dependent, whereby newer releases always support all procedures of preceding releases. This ensures that a password logon is also possible after a release upgrade. Only the hash password procedures available as of Release 7.00 also support the processing of downwardly incompatible passwords. Older hash password procedures support downwardly compatible passwords only. Whether downwardly incompatible passwords are supported or expected during a password logon depends primarily on the specifications (code version) saved in the user maser record. Solution l When using the technical user (in RFC destinations): We strongly recommend that you use the SYSTEM user type on the server (or also SERVICE, provided a SAPGUI capability is required), since the password has unlimited validity only for these user types (see SAP note 622464). If the password should be entered in an RFC destination of an older system (= RFC client), it must be granted as a downwardly compatible password on the server. For users of the SYSTEM or SERVICE type, this is always possible, even if the password rules of the system normally compel the use of downwardly incompatible passwords (for example, by login/min_password_lng > 8 or login/min_password_lowercase > 0). l When using older front-end or middleware components and password logon of "normal" users (DIALOG type): In this case, it is not practical to change the passwords of the (numerous) users affected (as in the above case with technical users). Instead you must replace the obsolete front-end or middleware components. SAP note 792850 describes as of which version level certain front-end or middleware components support the interaction with downwardly incompatible passwords. In addition, you may need to update other software components (attached to these components), as well as those of external providers. This is particularly the case if these components have their own password input dialog and are not able to support downwardly incompatible passwords (according to the above definition of the term). For the moment, you can set the profile parameter login/password_downwards_compatibility on the server to the value 2 or 3 for test purposes. In this case, the server checks if the client has sent a matching downwardly compatible password for the expected downwardly incompatible password (that is, a password that is 8 characters long and converted to uppercase). If this is the case, it is logged in the sys log (for error analysis purposes), and the logon is assessed as successful (for value 3). Using transaction RZ11, you can change the profile parameter dynamically, that is, without restarting the system. 111 | Chapter 8 Certificates 8 Certificates Chapter8 Certificates | 112 8.1 Overview All functions we provide for SAP are certified. 113 | Chapter 8 Certificates The following table lists all certifications: Solution Interface Software SAP Interface AE.agent for SAP BC-XBP 6.10 - Background Processing, Job Scheduling 6.10 (Vers. 2.0) BC-XBP 7.0 - Background Processing, Job Scheduling 7.0 (Vers. 3.0) JAVA-JXBP 7.1 AE.agent for SAP BW BW-SCH 3.0 - Scheduling for SAP BW 3.0 AE.agent for J2EE/JMX JAVA-EE-STD 7.1 See also: SAP Partner SAP Developer Network (SDN) Chapter Glossary | 114 Glossary This glossary lists all specific technical terms in alphabetical order. ABCDEFGHIJKLMNOPQRSTUVWXYZ .1 A l l l l l l l l l l l l l l AE DB Archive The utility AE DB Archive can be used to remove the increasing amounts of data from the Automation Engine database. AE DB Change Utility for changing transport case exports. AE DB Client Copy Utility for copying and deleting clients AE DB Load The utility DB Load can be used to load data into the Automation Engine database. AE DB Reorg Data can be reorganized by using the utility DB Reorg. It marks data records with a deletion flag in accordance with the settings that have been specified. AE DB Reporting Tool The utility AE DB Reporting Tool can be used to query tasks in your Automation Engine system. AE DB Revision Report Utility unloading modification reports from the Automation Engine database. Modification reports include detailed information about object modifications and accesses. AE DB Unload Utility for unloading the Automation Engine database. AE variables These are Variable objects that include the Automation Engine system's specifications. ARA Client Refers to a computer on which a ARA/Deployment Manager/Automation Engine user works. Application Release Automation Application Release Automation, is an end-to-end solution for planning, coordinating and automating software release processes, including automated deployment of applications across large-scale server environments and covers all mentioned use cases. Automation Engine This component drives an Automation Engine system and consists of different types of server processes. Automation Engine The Automation Engine is an application for managing when and how objects run. Processes and various other object types can be selected and then specified to run at or within certain times. This allows you to manage processing in Automation Engine systems in an automated way and from a remote and central location. Furthermore, the activities of these objects are tracked and recorded for logging and analysis purposes. Automation Engine Database A relational database management system (RDMS) that administers all scheduling data from a central point. It contains object definitions, system specifications, statistical data, job reports, etc. 115 | Chapter Glossary l l l l l l l l l l l l l l l l Automation Engine Script null Automation Engine component Refers to Automation Engine programs such as UserInterfaces, the AutomationEngine, Agents, ServiceManagers, utilities etc. Automation Engine priority Affects the order of task execution within an Automation Engine system. Automation Engine system An environment that is managed by Automation Engine components. action Actions are predefined building blocks for recurring activities. They are commonly used for managing third party systems or in deployment scenarios. activities Deployment-related activities activity An activity (or task) is an entity that can be planned, assigned to a user or a team and tracked with respect to their plan and state (started, cancelled, suspended, completed). activity template Used when creating multiple activities based on a template. Holds one or more template activities adapter Adapters are our application integrations such as Informatica or Business Objects for example. admin computer Admin computer refers to the computer that is used by an administrator for e.g. Automation Engine or database administration purposes. agent A program that enables the de-centralized execution of processes (such as deployments) on target systems (computers or business solutions) or a service that provides connectivity to a target system (such as for databases or middleware). An agent is also an object type in the Automation Engine. See also: host agent group An agent group combines agents of the same platform. The agents that should be included in an agent group are specified by entering the agent name or via filters. A task that runs in an agent group is processed on one or all of the agent group's agents, depending on the specified mode. A particular Automation Engine object type. application An application is a software which helps a user to fulfill specific tasks. Within ARAan Application entity is the main container for the deployment model of an application. See also: application entity. application entity Within ARA an Application entity is the main container for the deployment model of an application or IT system within an organization. It bundles individual components with their related workflows (to install, upgrade or remove application components) and dynamic property definitions. application workflow A workflow which is defined on application level and consists of a number of component workflows. approval request Several actions concerning different entities in ARB require an approval by the owner of the affected entity. (E.g. assigning an activity to a reservation requires the reservation owner to accept the activity) Chapter Glossary | 116 .2 B l baseline A snapshot of a release. .3 C l l l l l l l l l l l l l l l CallAPI A programming interface that processes a script in the Automation Engine system. It can be called directly from within the program itself or from a different program. calendar An Automation Engine object type that defines a set of days based on calendar keywords. calendar condition The criteria for running a task is based on calendar keywords. calendar keyword The attribute of a Calendar object that defines which days included in the calendar. calendars Shows a calendar overview of activities, releases or reservations. child A subordinate task (such as a task that runs in a workflow). child, children These are objects that are activated by superordinate tasks (parents). client A closed environment within an Automation Engine system where you can create and run objects. A client name consists of a 4-digit number that must be indicated when a user logs on to the Automation Engine system. Users and their rights are also defined in clients.A particular Automation Engine object type. cockpit An Automation Engine object type that allows you to include multiple visualizations of values and states of the Automation Engine or of the monitored and controlled system in one window. code table An Automation Engine object type that defines a complete set of characters. command line interface A command line interface (CLI) is a human to machine interface based on text messages and commands entered solely by a keyboard. It stands in contrast to a graphical user interface (GUI). Examples are MS-DOS or Linux in console mode. communication process A communication process is part of the component Automation Engine. It is responsible for connecting the components. component A component represents a single deployable unit, i.e. a piece of the application that can be deployed. It is comprised by a set of properties and will be deployed during execution of a workflow. component link A component may need to reference another component of the same application, for example, if a web application component needs the database component's connection string. component workflow A workflow which should be executed for a component of an application within one ore more application workflows for installing, udating or removing the application. 117 | Chapter Glossary l l l l configuration A set of constituent components that make up a system. This includes information on how the components are connected including the settings applied. custom properties Custom types may have zero or more custom properties (with a user defined meaning). E.g. a single choice field for the state of a bug, or a freeform text field for a long user entered text. custom types Used by the customer to define own set of types with custom properties. Can be used on the Web UI by users which have the rights to create the custom type. A custom type is always based on a main type. custom view A custom, user defined version of a list. .4 D l l l l l l l l l l l l DB Service Agent Deployment Manager The Application Release Automation is split into the two products Release Orchestrator and Deployment Manager. The Deployment Manager provides automation and governance capabilities for complex, multi-tier application deployments and configuration processes for heterogenous environments. Detached component A detached component is not connected to any deployment target. You can use detached components as blueprints for hosts that should be provisioned. DevOps DevOps is the combination of development and operations in a single role. Download Center The Download Center (http://downloads.automic.com/) is the place where you find everything you need to know about your Automic solution to make sure you are using our products to their fullest potential. dashboard Quick overview, depending on context. Holds zero or more widgets data sequence An internal listing of Console outputs or lines of Variable objects, etc. The lines of a data sequence can be accessed by using a PROCESS loop or the script element GET_PROCESS_LINE. The script elements PREP_PROCESS* generate data sequences. database A database is an organized collection of data including relevant data structures. department Department name to which the Automation Engine user belongs. deployment The deployment of a single application revision to an environment within a single activity. deployment package A deployment package represents a specific snapshot (set of values) of the dynamic properties of an application deployment model, including the dynamic properties of the application entity itself as well as one, several or all of the components the application is comprised of. deployment profile A deployment profile links applications to environments. It refers to a subset of the deployment Chapter Glossary | 118 l l l l targets the environment is comprised of. For each of the dynamic properties stored with a component definition, a profile-specific value may override the default, making it easy to separate the deployment model (what and how) from the environment (where). deployment target A deployment target links components to targets. Deployment targets can host a set of nodespecific properties such as default directories, connection strings, passwords and much more. dialog process A part of the Automation Engine component and a special form of work process. Is exclusively responsible for UserInterface messages. dynamic properties Created entities may need to hold custom properties which are not defined in the type, or may need to reference properties of other types during deployment. Dynamic properties can be used for this task. dynamic variables A Variable object with the attributes "Source" - "EXEC", "SQL", "SQL internal", "Multi" or "Filelist". Values are directly retrieved from the data source and not stored in the object. .5 E l l l l l l l l l E-mail connection This is a functionality of Windows and UNIX Agents that is used to send e-mails. ECC Abbreviation for the Enterprise Control Center Email template Used when an email should be sent out on specific occurrences (e.g. an activity has finished). May hold multiple message templates. Enterprise Control Center Automic's web application that provides a single, browser-based interface for the ONE Automation platform. Event ID First RunID of FileSystem and Console Events in the Automation Engine. Both Event types require communication between the AE component and an Agent. They communicate via the first RunID. Otherwise, Event identification is no longer possible after the first log change. environment An Environment is a container for Deployment Targets. It represents a specific purpose in the software delivery cycle (e.g. DEVTEST, QA, STAGING or PROD). environment reservation An environment can be reserved for a specific time period. event Action that is triggered if particular conditions apply. It can be an Automation Engine object type or an entry in a Policy Orchestrator EventBase. external dependency A task whose end status is considered when a workflow is being processed. The task itself, however, does not run within the framework of this workflow. 119 | Chapter Glossary .6 F l l l l l file transfer Transfers files from one computer to another. A particular Automation Engine object type (FileTransfer object). folder Top level entities such as Environment, Deployment Target, Activity, … are stored in folders. The permissions a user has on an entity depend on the permissions that are set on the folder for the entities. forecast Estimates a task's runtime on the basis of previous executions. fully qualified file transfer File transfers without wildcard characters. One particular file is transferred (as opposed to a partially qualified file transfer). function Pre-defined run book template in the Automation Engine. One single step only, e.g. Start Windows Service, Copy file,… .7 G l l l Group Monitor Window that shows the state of tasks assigned to a group object. graphical user interface A graphical user interface (GUI) is a human to machine interface based on windows, icons and menus which can be operated by a computer mouse in addition to a keyboard. In contrast to command line interface (CLI). group An Automation Engine object type that integrates tasks so that they can be processed together. .8 H l l l l HTML Help Microsoft help format for manuals. These help files have the ending .CHM (see also 'WebHelp'). history records Contains a history of all changes to a specific entity host Computer, target system. host attributes Platform-independent attributes of the Job object. Chapter Glossary | 120 .9 I l Include object An Automation Engine object type for a script that is frequently used in more than one object. .10 J l l Job Control Language Short form of "Job Control Language". It refers to applications that are processing steps executed on computers. job An Automation Engine object type for a process that runs on a target system. .11 K l Key column Column in static Variable objects that can be used to access values of a particular line. .12 L l l l l l Log Mix The utility LogMix supports the generation of one common file from several report, log or trace files. list Shows entities in a grid view logical date The logical date is used as a comparison date for checking Calendar conditions. login An Automation Engine object type that stores account credentials used by agents on target systems. login object Login objects store account credentials used by agents on nodes. Account credentials can be related to single nodes or shared between a set of nodes (E.g. shared account). 121 | Chapter Glossary .13 M l l l Message Window A window that appears on the user interface and contains information, warning, and error messages. main types Release, Package, Package Dependency, Application, Deployment Target, Component, Activity, Environment, Reservation and Workflow. message template Specifies the message, the recipients and the send conditions. Used in an email template. .14 N l l l l NonStop Server You can use nonstop processes (NWP) in order to increase your system reliability. A specific license is required for this purpose. In nonstop operation, only the WPs of one computer are active. The processes of a different computer (nonstop processes) are available upon request. If the primary computer that includes the active WPs fails, the nonstop processes take over their role. As opposed to a usual parallel operation, the system configuration NonStop Server does not use the WPs of all computers. The WPs of ony computer are always in the mode "hot standby." Notification Monitor Window of the notification that is sent to one or several users at runtime. nonstop process Part of the component Automation Engine. Nonstop processes assume processing if the computer with the active server processes fails. notification An Automation Engine object type used to send messages to users and user groups. .15 O l l l l l ONE Automation The name of an Automic platform (product family). object Automation Engine controlled activities and processes are structured in the form of objects. See also: Task object class There are four classes of objects: executable, active, passive and system objects. object type An individual object is provided for the individual activities: There are User, UserGroup, Notification, Cockpit, CodeTable, Documentation, Event, Agent, FileTransfer, Group, Include, Job, Workflow, Calendar, Login, Client, RemoteTaskManager, Schedule, Script, Server, Sync, Variable and TimeZone objects object variables Placeholder for values that are stored in an object's "Variables & Prompts" tab/section. Chapter Glossary | 122 l owner Entities are owned by a specific user or team. Only this user//users inside the team may change the entity. .16 P l l l l l l l l l l l l l l l Process Analytics An Automic graphical analysis tool that displays the activities, statistical data and forecast data per Automation Engine system client in a bar diagram and that can be used to calculate the critical path. PromptSet element Fields/control elements that are used to query User values. They are the content of a PromptSet input mask. package A package typically bundles a set of components with its properties, it is assigned to a release to bundle functionality and to allow release managers to plan accordingly. Properties for the component can be set on a package to facilitate deployment of different versions of the same component. package content A package may reference applications, components and related packages. package dependency A package milestone may depend upon another package to have passed a specific milestone. package milestone Since packages define a state machine, they need some sort of timely order. Milestones are used for this. package module A package module is a group of related package types, e.g. Feature, Change Request, or Bug. It defines how the packages are displayed in the GUI and the features enabled for each package type. packages Delivery package, a bundle of functionality. parent There are different ways of activating objects. The originator of an activation is referred to as the superordinate task (parent). See also: Child; Children parent A super-ordinate task (such as a workflow that is used to process the task). partially qualified file transfer File transfers that use wildcard characters in order to transfer several files (as opposed to fully qualified file transfers). password A secret combination of characters for a Automation Engine user. period container Controls the execution of periodical tasks. predefined variables Fixed variables that can be used in the attributes or the script of executable objects. The values refer to the object or the system. primary work process It is responsible for the execution of Automation Engine-internal tasks and work processes. 123 | Chapter Glossary l privileges Privileges in the Automation Engine refer to user rights to work with certain frontend and user interface functions. You grant privileges to users in the Automation Engine. .17 Q l l Queue Run A Queue Run is the resulting entity, when a queue is started and the contained workflows are being executed. queue A particular Automation Engine (AE) object type. In AE, a queue determines the maximum number of concurrent tasks, their priorities and the order in which tasks should be executed. In ARA, queues are containers for workflow executions that should be executed at a certain time one after another. .18 R l l l l l l l l RA Solution A solution that is based on the Rapid Automation Technology that allows the Automation Engine (AE) to access an external system / application / platform. The RA Solution is supplied as a JAR file that must be loaded into the AE Database and connected with an RA Agent. The specific RA objects (such as Jobs, Connections, Agent) are available in the AE system as soon as the solution has been loaded. Release Orchestrator The Application Release Automation is split into the two products Release Orchestrator and Deployment Manager. The Release Orchestrator can be used to manage release plans and release content for single or multiple application releases etc. RemoteTaskManager It monitors and controls external Jobs that were not started by the Automation Engine (AE). A particular AE object type. RichClient Deprecated Term. Replaced by: UserInterface RunID Short for "run number". It is a number that provides unique information about a task's execution. The RunID can include 7 to 10 digits. It is assigned by the Automation Engine component . read access Users which are not owner of an entity may still see it in the UI if they have read access rights on this entity. recurring tasks These tasks are scheduled without using a Schedule object and mostly consist of a period that is less than a day. registered This is the status of a task that runs within a group and is waiting for its start. Chapter Glossary | 124 l l l l l l l l l l release Releases combine a set of activities and a set of packages as well as other release artifacts under a timeline (a plan including milestones and phases), which can be planned, baselined and tracked. release notes Release Notes contain information about highlights, new functions, improvements, and corrections for various versions and releases of the Automic product family. report A report provides more detailed information about a task's execution or a component. rerun After you rollback part(s) of a workflow, we'll provide the ability to re-run, i.e. to start from those tasks that have been successfully rolled back or not yet executed. restart A restart refers to the repetition of an object's execution. This action differs from a new start in some parts. result column The first column of dynamic Variable objects with the sources "SQL", "SQL-internal" and "Multi". The content of this column can be defined with Result format. return code The value that represents the result of tasks and script functions. rollback scope The scope of a workflow to roll back. For a rollback on a job the scope is this single task while for a rollback on a workflow the scope is this workflow and all sub-workflows in arbitrary depth. rollout The rollout of a release to an environment which can span multiple activities (both manual and deployment activities). runtime The duration of a task's execution. It refers to the period between a task's start and end. It does not include its activation period (see also: activation and start). .19 S l l l l l l l l Schedule Monitor Graphical view of the execution of Schedule objects. Schedule object It starts executable objects periodically. A particular Automation Engine object type. Service Manager The Service Manager serves to start, stop and access components such as the Automation Engine processes or agents from a central point. ServiceManager A program that facilitates the starts and stops of Automation Engine components. Sync Monitor Window which contains the state of a Sync object and the assigned tasks. Sync object It synchronizes executable objects based on defined states and actions. A particular Automation Engine object type. System Overview The UserInterface window that contains information about the Automation Engine system. script A particular Automation Engine object type. 125 | Chapter Glossary l l l l l l l l l l script variable A placeholder for a value within a script. server process The core of the component Automation Engine. Different types are available: communication, work and dialog processes, as well as nonstop processes. stage plan The release plan, contains several stages and milestones state The state a package or a task currently is in. static variables A Variable object with the setting "Source" - "Static": Variable values are entered by a user or with a script and remain stored in the object. statistics This is a list of a task's previous runs. status This represents the condition of a task (such as active, blocked, generating). sub-workflow A workflow that is part of a different workflow. superordinate task There are various ways of activating objects. The originator of the activation is referred to as the superordinate task (parent). system name Name of the Automation Engine instance to which a user is connected. .20 T l l l l l l TNS name A TNS name is used to establish a connection from a client to an Oracle database server using the Local Naming service. Configured in the TNSnames.ora file. task An executable object that is running. Tasks are also referred to as activities. template activity A template of an activity used inside an activity template. templates Pre-defined 'workflows' for specific components/tasks, e.g. Tomcat, SubVersion. time zone It defines a local time. A particular Automation Engine object type. token A token is used for authentication within a session between a client and a server. A (soft) token is a unique identifier which is generated and sent from a central server to a client software. The client uses the token to authenticate each request. Chapter Glossary | 126 .21 U l l l l l l l l l l UC4 Automation Engine Deprecated Term. UC4 Deployment Manager Deprecated Term. Replaced by: Deployment Manager UC4 Release Manager Deprecated Term. Replaced by: Application Release Automation Universal Time Coordinated Internally, the Automation Engine uses UTC (Universal Time Coordinated) because UTC is the international time standard and is always precise. Nevertheless, TimeZone objects are available that can be used to show local times in tasks and script elements. UserInterface This is the Automation Engine's graphical user interface. user In the Automation Engine, a user is an instance of a User object, and generally the user is a specific person who works with Automic products. The User object is assigned a user ID and then a set of access rights to various parts of the Automation Engine system and product suite. These access rights come in the form of Automation Engine authorizations and privileges, Decision user roles and EventBase rights and ARA web application object rights. You can manage all these centrally in the ECC user management functions. See also, Unified user management. user group A group of users who have a common profile of rights. A particular object type in the Automation Engine.User groups are an organizing construct to help you better manage users because you can grant user groups access rights the same way that you grant various access rights to a single user. All users in the user group are automatically given those access rights. This makes managing users not only more efficient but also more secure because working with user groups gives you a better overview of what rights are assigned. user name Name of the Automation Engine user. user/team A user can login to the web UI. A user may be part of zero or more teams. A team can hold zero or more users. utilities Utilities support the execution of administrative tasks in an Automation Engine system (such as reorganizing and archiving the Automation Engine database). .22 V l l l l Version Management This refers to an object version that is stored when you have modified the object. vSphere vSphere is a virtualization platform for building cloud infrastructures by VMware. variable It stores or retrieves values dynamically at runtime. An individual Automation Engine object type. versions An application version holds zero or more deployment packages and may have dependencies to zero or more application versions of the same (or to different) applications 127 | Chapter Glossary .23 W l l l l l l l l l l WebHelp One of the help formats that are provided for manuals. You open it with a Web browser. WebInterface An Automation Engine user interface that can be called via a Web browser. Workflow Editor You use it to add, arrange, link, define the properties and remove the tasks of a workflow. It is available in the Main Pane of the Process Assembly perspective (definition). web application A web application is an application that is accessible over a network (Internet or intranet) and is typically coded in a programming language like Java or JavaScript, combined with a markup language like HTML. Web applications are provided on web servers and web browsers are used as GUI on client computers. widget May show delayed activities, delayed milestones etc. inside a dashboard. A Analytic widget holds a chart that presents some aspect of the performance of an AE system. wildcard characters These are placeholders for characters when you specify filters. ? stands for exactly one character, * for any number of characters. work process A part of the component Automation Engine. It is responsible for an Automation Engine system's processes (see also 'Primary work process'). workflow An object of the Automation Engine that can include several executable objects and runs them in a certain order. workflow A workflow orchestrates the individual steps required within the release automation processes across the involved components. workflow execution An execution is an instance of a workflow. It can be monitored and controlled using the workflow monitor. .24 X l XML file A format for imports and exports. An XML file contains object structures.
© Copyright 2024