Monday, January 19, 2015

Something about LIS / LO extraction

LIS stands for Logistics Information Systems. The LIS is information systems and as per its definition it is used to plan, control, and monitor business events at different stages in the decision-making process. In other words it collects the data for several SAP’s logistics applications modules in ECC on background for reporting purposes. Initially when there was no BW all reporting happened in R/3 (called ECC nowadays). Once SAP came with BW they reused LIS also for extracting the data out of R/3 to BW. There are few standard SAP Business Content extractors and for logistics this is it. This is basically why most of BW people know about the LIS because it is related to BW in terms of extraction of data.

The LIS is comprised of the following information systems which all have a modular structure. Number listed below also corresponds to application no from BW point of view. 2LIS_XX_YYYYY where XX stands for application no and YYYY is type of the data being extracted by particular datasource, E.g. 2LIS_02_HDR Purchasing Data (Header Level).

02 - Purchasing Information System
03 - Inventory Controlling
04- Shop Floor Information System, Plant Maintenance Information System
05 - Quality Management Information System
06 - Invoice Verification
08 – Shipment/Transportation
11- Sales Information System (SD Sales)
12 - SD shipping
13 - SD billing
17 - Plant maintenance
18 - Customer service
40 – Retailing
43 - Retail POS Cashier
44 - Retail POS Receipts
45 - Agency business

Over the years SAP realized few drawbacks of LIS and came with extension of it: LO (Logistics extraction). The LO Cockpit is more efficient than LIS. It needs less customizing. Apart of the fact that LO is newer there is no need for maintain LIS infostructures. Because of rework of its functionality it extracts less data volume from source system as reduction of redundancy.
How the data from ECC is being extractor to BW? This is different for LIS and LO. LIS is not used anymore as replaced by LO but I will shorty describe both ways of extraction. Other difference is that while LIS works as push mechanism and the LO implements pull mechanism. The LO is capable if handling bigger data volumes comparing to the LIS.f
While the data is created by business users in ECC (e.g. transactional data) they written to particular logistics application tables (in case of SD: VBAK, VBAP, etc.).

LIS: the data is in parallel to application logistics tables stored to LIS tables. After the LIS is setup up (tcode LBW0 -> Set up LIS environment) there are following tables generated in data dictionary:
Three transparent tables (so called statistics tables) and one structure are generated for particular infostructure. The two tables SnnnBIW1, SnnnBIW2 are used within delta update process. Third table represents an infostructure itself Snnn and the structure SnnnBIWS is used for replication of the datasource into BW.

While data is posted in business transactions the data is also written into statistics tables. These tables were/are used for reporting in the LIS. E.g. LIS table S012 keeps purchasing data (ECC logistics application tables: EKKO/EKPO) here the data is stored in structure optimized for reporting). Same with the tables: S012BIW1 and S012BIW2. From S* tables the data is pulled out of ECC by BW.
For details on how to setup whole LIS extraction refer here.

LO: Again the data is being posted by business users into the logistics application tables. Collection of the data for BW purposes is managed by “LO Data Extraction: Customizing workbench (tcode LBWE). In this tcode it is possible to maintain administration of extract structures. This means that we can add or remove particular field into the extraction structure. While the field is in the structure it is being extracted. Notice that here are only listed the fields that are supported by extractor. So called custom fields are not present here but it is possible to extend the datasource (so called append fields) and add code into in user exit for its extraction.
The LO also uses the concept of so called Setup tables.  The setup tables are used as data storage. Setup tables are used to initialize delta loads and for full load. It is very useful in case that we using ECC system which went live some time in past before BW implementation goes live. Because of that there is already transaction data in the ECC system. By running a job of filling up the setup tables the existing data is captured and send to BW. New data being crated after the setup table’s data were loaded will be loaded by delta mechanism as delta is initialized after the setup tables are populated and the data is loaded.

Transactions to run job for filling up the setup tables:
OLIxBW, where x is app:
OLI1BW         Material Movements data
OLI2BW         Storage Location Stocks for Inventory Controlling
OLI3BW         Purchasing data
OLI4BW         Shop Floor data (PPIS)
OLI7BW         Sales Order data
OLI8BW         Sales Delivery data
OLI9BW         Sales Invoices data
OLIABW        Agency business data
OLIFBW         Manuf. data
OLIIBW         Plant Maintenance data
OLIQBW        Quality Management data
OLISBW        Customer Service
OLIZBW        Sales Invoice Verification
Naming convention for the setup tables is following (where nn is app no.):

Naming convention for extraction structure following:

Naming convention for communication structure following:

Now, coming to delta data part of extraction. While it is collected it is written to Extract Queues (tcodes: SMQ1 or LBWQ). Here so called collector jobs are utilized to copy these data from extract to Delta (or BW) queues (tcode RSA7).

Job collector naming convention (so called V3 job):

In this blog I do not go into the details of different V1, V2, V3 updates. I just refer the one who made it here to blogs listed below – under useful information:
For details on how to setup whole the LO extraction refer here or here.

Other tcode and ABAP reports that are useful to maintain BW extraction of logistics data in ECC:

Clearing the BW Delta Queues for LIS extractors: RSA7
Clearing the Outbound Queue in: LBWQ
Processing of Delta Queues: LBWE
Moving data between extraction and delta queues: reports RMBWV3xx (xx stands for the app no)
Check if the setup tables contains the data: report RMCEXCHK
Delete the data from the setup tables: t-code SBIW, or report RMCSBWSETUPDELETE
Diagnostic of BW Delta queue: report RSC1_DIAGNOSIS gives info on status and condition of the delta queue is issued for a specific DataSource

Useful information:
SMP Component: BW-BCT-LO-LIS Logistics Information System
436393 - Performance improvement for filling the setup tables


Ritika Rishi said...

Thank you so much for explaining the concept in very efficient and simple terms. It is really helpful. Thanks again! Keep up the good work.

Ritika Rishi said...

Thank you so much for explaining the concept in very efficient and simple terms. It's really helpful and easy to understand. Keep up the good work.