LO Extraction Part 2 Database Update Logic



Similar documents
SAP Master Data Governance- Hiding fields in the change request User Interface

TM111. ERP Integration for Order Management (Shipper Specific) COURSE OUTLINE. Course Version: 15 Course Duration: 2 Day(s)

Maintaining Different Addresses and Ids for a Business Partner via CRM Web UI

Business One in Action - How can we post bank fees and charges while posting Incoming or Outgoing Payment transactions?

Integrating Easy Document Management System in SAP DMS

Data Archiving in CRM: a Brief Overview

Alert Notification in SAP Supply Network Collaboration. SNC Extension Guide

LO Extraction Part 1: SD Application Short Overview

Data Source Enhancement Using User Exit

Understanding HR Schema and PCR with an Example

Table of Contents. How to Find Database Index usage per ABAP Report and Creating an Index

SAPFIN. Overview of SAP ERP Financials COURSE OUTLINE. Course Version: 15 Course Duration: 2 Day(s)

NetWeaver Business Client (NWBC) for Incentives and Commissions Management (ICM)

Variable Exit in Sap BI How to Start

Enterprise Software - Applications, Technologies and Programming

R/3 and J2EE Setup for Digital Signature on Form 16 in HR Systems

Sending Additional Files from SAP Netweaver PI to third Party System

HR400 SAP ERP HCM Payroll Configuration

How to Add an Attribute to a Case, Record and a Document in NW Folder Management (ex-records Management)

AC200. Basics of Customizing for Financial Accounting: General Ledger, Accounts Receivable, Accounts Payable COURSE OUTLINE

Consume an External Web Service in a Nutshell with good old ABAP

Budget Control by Cost Center

Business Requirements... 3 Analytics... 3 Typical Use Cases... 8 Related Content... 9 Copyright... 10

Log Analysis Tool for SAP NetWeaver AS Java

Mass Maintenance of Procurement Data in SAP

UI Framework Logo exchange without skin copy. SAP Enhancement Package 1 for SAP CRM 7.0

Process Archiving using NetWeaver Business Process Management

Using User Exit for Variables in BEx Reporting

How to Create a Support Message in SAP Service Marketplace

Third Party Digital Asset Management Integration

Integration of SAP Netweaver User Management with LDAP

Portfolio and Project Management 5.0: Excel Integration for Financial and Capacity Planning

Sample Universe on Microsoft OLAP Cube

User Experience in Custom Apps

How-to-Guide: Middleware Settings for Download of IPC Configuration (KB) Data from R/3 to CRM System

Duet Enterprise Add SAP ERP Reports and SAP BI Queries/Workbooks to Duet Enterprise Configuration

UI Framework Simple Search in CRM WebClient based on NetWeaver Enterprise Search (ABAP) SAP Enhancement Package 1 for SAP CRM 7.0

SAP NetWeaver BRM 7.3

Single Sign-On between SAP Portal and SuccessFactors

K in Identify the differences between the universe design tool and the information design tool

Delta Queue Demystification

USDL XG WP3 SAP use case. Kay Kadner

BW Workspaces Use Cases

Secure MobiLink Synchronization using Microsoft IIS and the MobiLink Redirector

Business Process Change Analyzer in SAP Solution Manager 7.1

How To Use the BPC Mass User Management Tool in BPC 10.0 NW

Integration of Universal Worklist into Microsoft Office SharePoint

Xcelsius Dashboards on SAP NetWaver BW Implementation Best Practices

UI Framework Task Based User Interface. SAP Enhancement Package 1 for SAP CRM 7.0

How to Schedule Report Execution and Mailing

Download and Install Crystal Reports for Eclipse via the Eclipse Software Update Manager

How To Use the ESR Eclipse Tool with the Enterprise Service Repository

SAP DSM/BRFPlus System Architecture Considerations

SAP Central Process Scheduling (CPS) 8.0 by Redwood

Quick Guide EDI/IDoc Interfacing to SAP ECC from External System

BW362. SAP BW powered by SAP HANA COURSE OUTLINE. Course Version: 10 Course Duration: 5 Day(s)

SAP Sustainability Solutions: Achieving Customer Strategies

Accounts Receivable. SAP Best Practices

Application Lifecycle Management

SAP Service Tools for Performance Analysis

Compliant, Business-Driven Identity Management using. SAP NetWeaver Identity Management and SBOP Access Control. February 2010

How to Configure Access Control for Exchange using PowerShell Cmdlets A Step-by-Step guide

ERP Quotation and Sales Order in CRM WebClient UI Detailed View. SAP Enhancement Package 1 for SAP CRM 7.0 CRM Sales - SFA

SAP Business ByDesign Reference Systems. Scenario Outline. SAP ERP Integration Scenarios

Production Subcontracting (External Processing) SAP Best Practices

Project Governance The Role Of The Business Process Owner

Configuring Single Sign-on for SAP HANA

Thread Dump Viewer for SAP NetWeaver AS Java

How to Set Up an Authorization for a Business Partner in Customer Relationship Management (CRM) Internet Sales: Sample Case

OData in a Nutshell. August 2011 INTERNAL

Installation Guide Customized Installation of SQL Server 2008 for an SAP System with SQL4SAP.VBS

Intelligent Business Operations Chapter 1: Overview & Strategy

Supporting SAP POS Best Practices Setting Log File Sizes and Retention

SOP through Long Term Planning Transfer to LIS/PIS/Capacity. SAP Best Practices

SAP NetWeaver BPM Tutorial for Beginners: My Name and Age BPM Tutorial

AP Integration with BRFplus VERSION V APRIL SAP AG

SAP Cloud Strategy - Timeless Software. Frank Stienhans on behalf of Kaj van de Loo SAP

Fixed Asset in SAP Business One 9.0

Sales Planning Detailed View. SAP Enhancement Package 1 for SAP CRM 7.0 CRM Sales - SFA

Supplier Master Data Governance

SAP Portfolio and Project Management

SAP How-To Guide: Develop a Custom Master Data Object in SAP MDG (Master Data Governance)

Learning Series: SAP NetWeaver Process Orchestration, secure connectivity add-on 1c SFTP Adapter

Query, Read, Create and Update CLOUD FOR CUSTOMER ODATA SERVICE QUERY, READ, CREATE AND UPDATE

Run SAP like a Factory

SAP HANA Cloud Integration Document Version: Template Guide for SAP Sales and Operations Planning

Learning Series: SAP NetWeaver Process Orchestration, business to business add-on EDI Separator Adapter

Configuring Distribution List in Compliant User Provisioning

Finding the Leak Access Logging for Sensitive Data. SAP Product Management Security

Unified Service Description Language Enabling the Internet of Services

Extract Archived Data from SAP ERP

If you have additional questions regarding these name changes, please contact your SAP Account Executive.

BICS Connectivity for Web Intelligence in SAP BI 4.0. John Mrozek / AGS December 01, 2011

Next Generation Digital Banking with SAP

How To Improve Your Business Process With Sap

RUN BETTER Become a Best-Run Business with Remote Support Platform for SAP Business One

Ariba Network Integration to SAP ECC

SAP Best Practices for Subsidiary Integration in One Client Production with Intercompany Replenishment

SAP BusinessObjects Increasing Stability by Setting Limits on Max. Retrievable Cells from SAP BW into Web Intelligence using BICS

Certificate SAP INTEGRATION CERTIFICATION

Transcription:

LO Extraction Part 2 Database Update Logic Applies to: SAP BI, NW2004s Business Intelligence, ABAP, BI For more information, visit the EDW homepage. Summary This article explains about LO extraction logic, architecture and background tables involved. Author : P. Renjith Kumar Company : SAP Labs India Created on : 1 January 2010 Author Bio P Renjith Kumar is presently working in SAP Labs India Pvt Ltd and specializes in Extraction and Modeling areas of BI. Basically as an ABAP consultant, he has extensive cross functional experience and has been with end to end SAP ERP and BI implementation projects across manufacturing domain. 2010 SAP AG 1

Table of Contents Prerequisite... 3 Introduction... 3 The update process... 3 V1 and V2 Update Modules... 4 Update Request... 5 Transactions and Logical Units of Work... 6 LUW: Logical Unit of Work:... 7 DB LUW... 7 SAP LUW... 8 The Update Mechanism:... 8 How to check update status... 8 Update status... 12 Related Content... 13 Copyright... 14 2010 SAP AG 2

Prerequisite Once you are done with the first part of the article you can understand this article clearly. You can find the first part here. http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/1034bcbe-b459-2d10-2a89-ecdeb4e53ff1 Introduction This part deals with the LO extraction logic, its architecture, working mechanism and background tables and reports involved. The update process When you do some transaction like creating/changing sales order, purchase order and press save what happens? It is either saved into database or some error occurs. We will see how this happen. The update system is used to lighten the workload of the SAP transactions when time-consuming changes are made to the database. The changes are carried out asynchronously usually with short delays in between by special update work processes. At the end of a transaction COMMIT WORK and the update task are called; the dialog part of the SAP transaction is closed, and the update part of the SAP logical unit of work (LUW) is started. The following graphic illustrates the necessary actions and the sequence in which they execute the different workprocess After the transaction has been processed, the dialog process completes the VBHDR entry (the update header of the update request) and searches an update server for the V1 update. The update server distributes the tasks to an update work process. This processes the V1 modules of the update request, triggers a COMMIT to the database, and releases the SAP locks on the update request The work process then searches for an update server for the V2 update, providing V2 update modules exist. A V2 update server then passes this onto a V2 work process, which processes the V2 modules and triggers a COMMIT to the database. 2010 SAP AG 3

Processing the V1 modules involves transferring the contents of the update tables VBMOD and VBDATA to the application tables of the database. The changes are not actually made to the tables in the database until the database LUW in which this takes place is completed. The SAP locks are released and, if V2 update modules exist, the V2 update is started. This is similar to the V1 update with the exception that there are no locks that have to released and no search for a process for further processing. Now we need to see about V1 and V2 updates in detail V1 and V2 Update Modules An update is divided into different modules. Each module corresponds to an update function module. There are two types of module. The SAP System makes a distinction between primary, time-critical (V1) and secondary, non-time-critical (V2) update modules. The system also supports collective runs for function modules that are used on a regular basis. This distinction allows the system to process critical database changes before less critical changes. V1 modules describe critical or primary changes; these affect objects that have a controlling function in the SAP System, for example order creation or changes to material stock. V2 modules describe less critical secondary changes. These are pure statistical updates, for example, such as result calculations. The V1 modules are processed consecutively in a single update work process on the same application server. This means that they belong to the same database LUW and can be reversed. Furthermore, V1 updates are carried out under the SAP locks of the transaction that creates the update. This ensures that the data remains consistent; simultaneous changes to the objects to be updated are not possible. All V2 updates are carried out in a separate LUW and not under the locks of the transaction that creates them. If your SAP System contains a work process for V2 updates, these are only carried out in this work process. If this is not the case, the V2 components are processed by a V1 update process. 2010 SAP AG 4

All V1 modules of an update must be processed before the V2 modules. Now we see about update request Update Request An update request or update record describes the data changes defined in an SAP LUW, which are carried out either in full or not at all (in a database LUW). (This only applies to V1 updates. V2 updates are triggered once the V1 update has been completed, and therefore take place in a separate database LUW.) Structure of update record An update request comprises an update header, V1 modules (or components), V2 modules and a collective run. An update module corresponds to a function module, and contains the update data and, in certain cases, error information, which is generated if the update is canceled. 2010 SAP AG 5

The following update tables in the database contain the following information: Update Table VBHDR VBMOD VBDATA VBERROR Contents/Description Update headers (one per update record) Update modules (one per function module), n V1 modules and m V2 modules per update request. Data which is transferred to the modules (variables, structures, internal tables) Error information which is generated if an update is canceled Now we need to know about LUW. Transactions and Logical Units of Work In everyday language, a transaction is a sequence of actions that logically belong together in a business sense and those either procure or process data. It covers a self-contained procedure, for example, generating a list of customers, creating a flight booking, or sending reminders to customers. From the user s viewpoint, it forms a logical unit. The completeness and correctness of data must be assured within this unit. In the middle of a transaction, the data will usually be inconsistent. For example, when you transfer an amount in financial accounting, this must first be deducted from one account before being credited to another. In between the two postings, the data is inconsistent, since the amount that you are posting does not exist in either account. It is essential for application programmers to know that their data is consistent at the end of the transaction. If an error occurs, it must be possible to undo the changes made within a logical process. In the R/3 System, there are three terms frequently used in this context: Database Logical Unit of Work (DB LUW) A database LUW is the mechanism used by the database to ensure that its data is always consistent. SAP LUW An SAP LUW is a logical unit consisting of dialog steps, whose changes are written to the database in a single database LUW. SAP Transaction An SAP transaction is an application program that you start using a transaction code. It may contain one or more SAP LUWs. 2010 SAP AG 6

LUW: Logical Unit of Work: A Logical Unit of Work (LUW or database transaction) is an inseparable sequence of database operations which must be executed either in its entirety or not at all. For the database system, it thus constitutes a unit. LUWs help to guarantee database integrity. When an LUW has been successfully concluded, the database is once again in a correct state. If, however, an error occurs within an LUW, all database changes made since the beginning of the LUW are canceled and the database is then in the same state as before the LUW started. An LUW ends 1. When the database changes have been confirmed (database commit) or 2. When the database changes have been canceled (database rollback) An LUW begins 1. Each time you start a transaction 2. When the database changes of the previous LUW have been confirmed (database commit) 3. When the database changes of the previous LUW have been cancelled (database rollback) DB LUW From the point of view of database programming, a database LUW is an inseparable sequence of database operations that ends with a database commit. The database LUW is either fully executed by the database system or not at all. Once a database LUW has been successfully executed, the database will be in a consistent state. If an error occurs within a database LUW, all of the database changes since the beginning of the database LUW are reversed. This leaves the database in the state it was in before the transaction started. The database changes that occur within a database LUW are not actually written to the database until after the database commit. Until this happens, you can use a database rollback to reverse the changes. In the R/3 System, database commits and rollbacks can be triggered either implicitly or using explicit commands. 2010 SAP AG 7

SAP LUW The Open SQL statements INSERT, UPDATE, MODIFY, and DELETE allow you to program database changes that extend over several dialog steps. Even if you have not explicitly programmed a database commit, the implicit database commit that occurs after a screen has been processed concludes the database LUW. The following diagram shows the individual database LUWs in a typical screen sequence: Note A logical unit consisting of dialog steps, whose changes are written to the database in a single database LUW is called an SAP LUW. Unlike a database LUW, an SAP LUW can span several dialog steps, and be executed using a series of different work processes. If an SAP LUW contains database changes, you should either write all of them or none at all to the database. To ensure that this happens, you must include a database commit when your transaction has ended successfully, and a database rollback in case the program detects an error. An example for V1 and V2 update The Update Mechanism: V1 - Synchronous update V2 - Asynchronous update V3 - Batch asynchronous update If you create/change a sales order (VA01/VA02), when you press 'SAVE' and see a success message (Sales Order... created/ changed..), the update to underlying tables VBAK/VBAP has happened (before you saw the message). This update was executed in the V1 work process. There are some statistics collecting tables in the system which can capture data for reporting. For example, LIS table S*** stores sales data (it is the same data as VBAK/VBAP stored redundantly, but in a different structure to optimize reporting).now, these tables are updated with the transaction you just posted, in a V2 process. Depending on system load, this may happen a few seconds later (after you saw the success message). You can see V1/V2/V3 queues in SM12 or SM13. V3 is specifically for BW extraction. The update LUW for these is sent to V3 but is not executed immediately. You have to schedule a job (LBWE definitions) to process these. This is again to optimize performance. V2 and V3 are separated from V1 as these are not as real-time critical (updating statistical data). If all these updates were put together in one LUW, system performance (concurrency, locking etc) would be impacted. We will see V3 in the later part. How to check update status 1. Start Update System Administration. To do this, choose Tools > Administration > Monitor > Update. Alternatively enter transaction code SM13. 2. Check if the update is active. One of the following messages is output at the bottom of the initial screen of the Update System: o o Update is active Update is deactivated Make sure that you see Update is active Here is an example to see, this is a screen shot from SM13 transaction 2010 SAP AG 8

Update management (SM13) is used for the following: Display update requests Analyze problems pertaining to the update Test and debug canceled update requests Display and reset the status of update requests Display statistics on updates Now we will see how to find the cancelled update 2010 SAP AG 9

Here if you double click on first one you will see the detailed info. Get the update key from here. Update key: 45E79BDF6891F199BB140019BBCCEC70 Now as we know we can check the status of update in the update header table, we will check that SE11: VBHDR 2010 SAP AG 10

Similarly you can find the records that are yet to be updated Like this you can find the V1 executed, V2 executed etc. Now we will see the detailed explanation for the update status. 2010 SAP AG 11

Update status Status initial Error Error (no retry) V1 processed V2 processed Phase The update request has been created, but has not yet been completely processed. (This status applies from the moment the dialog work process transfers the update request to the update work process to the COMMIT in the update work process). An error occurred in the init phase, which prevents the update from being carried out. The update request has been canceled and the update cannot be repeated. The init phase has been successfully completed, and the V2 modules are being passed on for further processing. If no V2 modules exist, this update request no longer appears in the overview. The V2 modules have also been processed correctly, but there is still a collective run (can be regarded as V3) to be carried out. If there is no collective processing to be carried out, this update request no longer appears in the overview. processed to delete Enqueues deleted If the parameter rdisp/vb_delete_after_execution is set to 2 - in other words, if automatic deletion is deactivated - an update that has been successfully completed has the status ok. If automatic deletion is activated (default), the update record no longer appears in the overview. This update request has been marked for deletion. The SAP locks belonging to this update request were manually deleted (SM12). Like this you can identify the status of the update records. In my next part I will explain about the LO extractors and their working logic.. 2010 SAP AG 12

Related Content http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/1034bcbe-b459-2d10-2a89-ecdeb4e53ff1 For more information, visit the EDW homepage 2010 SAP AG 13

Copyright Copyright 2010 SAP AG. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice. Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors. Microsoft, Windows, Excel, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation. IBM, DB2, DB2 Universal Database, System i, System i5, System p, System p5, System x, System z, System z10, System z9, z10, z9, iseries, pseries, xseries, zseries, eserver, z/vm, z/os, i5/os, S/390, OS/390, OS/400, AS/400, S/390 Parallel Enterprise Server, PowerVM, Power Architecture, POWER6+, POWER6, POWER5+, POWER5, POWER, OpenPower, PowerPC, BatchPipes, BladeCenter, System Storage, GPFS, HACMP, RETAIN, DB2 Connect, RACF, Redbooks, OS/2, Parallel Sysplex, MVS/ESA, AIX, Intelligent Miner, WebSphere, Netfinity, Tivoli and Informix are trademarks or registered trademarks of IBM Corporation. Linux is the registered trademark of Linus Torvalds in the U.S. and other countries. Adobe, the Adobe logo, Acrobat, PostScript, and Reader are either trademarks or registered trademarks of Adobe Systems Incorporated in the United States and/or other countries. Oracle is a registered trademark of Oracle Corporation. UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group. Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc. HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C, World Wide Web Consortium, Massachusetts Institute of Technology. Java is a registered trademark of Sun Microsystems, Inc. JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape. SAP, R/3, SAP NetWeaver, Duet, PartnerEdge, ByDesign, SAP Business ByDesign, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and other countries. Business Objects and the Business Objects logo, BusinessObjects, Crystal Reports, Crystal Decisions, Web Intelligence, Xcelsius, and other Business Objects products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of Business Objects S.A. in the United States and in other countries. Business Objects is an SAP company. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this docume nt serves informational purposes only. National product specifications may vary. These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Gro up shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty. 2010 SAP AG 14