Question on Explain Views

Hi,
I'm not sure why the select statement has scanned some many rows when there are totally 56 rows records in a table... Please advice...
SQL VIEW:
CREATE OR REPLACE VIEW M11BLNUMBERVIEW
(DOCID, USERID, SNDREDI, RECVEDI, RELEASENO, ASSIGNEDID, M11BLNUMBER) AS
SELECT p.ID, p.USERID, p.SNDREDI, p.RECVEDI, p.RELEASENO,
extractValue(value(i), '/AssignedNumber/@id'),
extractValue(value(i), '/AssignedNumber/ManifestBLDetails/BLNumber')
FROM CUSTOMMANIFEST p, table(xmlsequence(extract(p.DOC, '/CustomManifest/ListOfManifestPortInfo/ManifestPortInfo/ListOfAssignedNumber/AssignedNumber'))) i
truncate table plan_table
explain plan for
select ASSIGNEDID, M11BLNUMBER
from m11blnumberview
where docid = 1207
set echo off
@%ORACLE_HOME%/rdbms/admin/utlxpls
set echo on
Results:
| Id | Operation | Name | Rows | Bytes | Cost |
| 0 | SELECT STATEMENT | | 6698 | 107M | 9 |
| 1 | NESTED LOOPS | | 6698 | 107M | 9 |
| 2 | TABLE ACCESS BY INDEX ROWID | CUSTOMMANIFEST | 1 | 16795 | 1 |
|* 3 | INDEX RANGE SCAN | SYS_C006037 | 1 | | 1 |
| 4 | COLLECTION ITERATOR PICKLER FETCH| XMLSEQUENCEFROMXMLTYPE | | | |
Predicate Information (identified by operation id):
3 - access("SYS_ALIAS_1"."ID"=1207)
Note: cpu costing is off
17 rows selected.
Thanks.

It's running on 9.2.0.4 Win2K platform.
Note that the rows and bytes for SELECT and Nested Loops are 6698 rows and 107M bytes of data....

Similar Messages

  • Questions on ADF View Objects, Links and Iterators

    I have a number of questions regarding using ViewObjects in applications where there are alot of relationships between tables.
    First, lets say that I have ViewObject SomeView that was added to the App Module (AM) as VO1. And because it has a number of "detail" records that have to be iterated through in a "report like" view it has those other VO's added under it as "children" in the AM.
    So I have
    VO1 (an instance of SomeView)
    --> VO2 (an instance of some other view)
    --> VO3 (an instance of some other view)
    that is used on pages where only a single VO1 is shown at a time.
    Now because I had another page I wanted to make that had a listing of all SomeView objects. Some of the fields in SomeView are foreign keys to records in VO2 and VO3 and while I don't want to show all the fields from VO2 and VO3, I do want to show a name field from each rather than just the foreign key.
    My experience (though I've never read this anywhere) tells me that when doing a "table" that is a list of rows from a VO, you can't display info from the child VO's because the child VO's are on whatever record corresponds to the "currentRow" in the parent VO and just displaying the rows in a rangeSet doesn't make each the "currentRow" so even we display 10 records in a for loop, the "currentRow" is just one, and the child VO's iterators aren't moved as we go through the for loop. (Can someone confirm if I am correct on this conclusion????)
    So the only way I know of to show some field from a related table in each row is to make the VO have the entity objects from the related tables be part of the view as references. Is this the only way?
    If I do that on a view that didn't have other views as children defined in the AM I don't have any problem and it works like I want.
    But if I do it on a view that did have other views as children defined in the AM it makes the page(s) using that view with the children iterators behave badly. Half the information quits showing up, etc.
    For example, ... if I go to the "SomeView" which was defined with only one entity object association, and I add the entity objects (that are the basis of instances of VO2 and VO3 ) as referenceable only, it totally breaks the page where I display a single VO1 and use it's VO2 and VO3 children. IS THIS NORMAL OR AM I MISSING SOMETHING?
    So, is the solution that I have to have more view objects defined for different purposes ?
    Can anyone give any general guidelines for when/where to use different view objects vs. when to use different iterators. I'm not having much luck with using secondary RSI's and haven't found much info on them.
    Also, how about issues of naming iterators that are in various binding containers (ie. UI Model for a page). If I do and LOV it creates an iterator and gives it a default name like ViewNameIterator1. If I already have a different page that uses a regular (non LOV) iterator with that name, and the user goes back and forth between those pages, is that a clash?
    Finally, I've read a couple of Steve Muench's blogs on View Link consistency but I'm not sure what the rules are on when it applies and doesn't. How you turn it on or off, etc. One of his examples in http://radio.weblogs.com/0118231/2004/02/27.html talks about it in the context of two view objects that are NOT typically "linked" in a master/detail kind of way. Like an AllDepartments and a DepartmentsLessThan view. Do you have to create a View Link between them to have results of one be reflected in the other if they aren't used in the same page in a web app? Or does it happen automatically (with the caveat that you have to do the rowQualifies method). Just feels like I'm missing some pieces.
    Thanks in advance,
    Lynn

    Hi,
    I am also interested in a best-practice note from oracle.
    Currently we store history in seperate history tables for columns that changed. All this implemented in our BaseEoImpl overriding the EntityImpl.prepareForDML().
    Thanks

  • I was referred to this site when I looked for answers to why I got Fatal Error message with error code c0000005 when trying to upload photos to my computer. I see that someone else asked the same question, 90 people viewed but no answer given?

    I was referred to this site when I got Fatal Error message Error code c0000005 while trying to upload photos to computer. Someone else asked the same question in this forum, 90 people viewed the question but it was never answered?

    It looks to me like it is a problem on your Windows computer not being able to start an application. See the following link to Microsoft Community support (although the specifics of the problem in that case may not be applicable) and also note all of the "Related Content" at the upper right side of that link (and there may be others if you search that forum). http://answers.microsoft.com/en-us/windows/forum/windows_7-system/the-applicatio n-is-unable-to-start-correctly/bbb9c037-77b3-4fae-93b9-ded70f7f9a17
    It may help if you know or can determine which program Windows is trying to open when you upload photos -- there can be many different ones and it can be set by the user. If you are using Windows 7, you may need to check your Autoplay settings. There are some instructions in the following link that may help and that discuss how you can use Windows Explorer to manually transfer the photos: http://support.apple.com/kb/HT4083

  • Questions on Materialized Views and MV Log tables

    Hello all,
    Have a few questions with regards to Materialized View.
    1) Once the Materialized View reads the records from the MLOG table the MLOG's records get purged. correct? or is it not the case? In some cases I still see (old) records in the MLOG table even after the MV refresh.
    2) How does the MLOG table distinguish between a read that comes from an MV and a read that comes from a user? If I manually execute
    "select * from <MLOG table>" would the MLOG table's record get purged just the same way as it does after an MV refresh?
    3) One of our MV refreshes hangs intermittently. Based on the wait events I noticed that it was doing a "db file sequential read" against the master table. Finally I had to terminate the refresh. I'm not sure why it was doing sequential read on the master table when it should be reading from the MLOG table. Any ideas?
    4) I've seen "db file scattered read" (full table scan) in general against tables but I was surprised to see "db file sequential read" against the table. I thought sequential read normally happens against indexes. Has anyone noticed this behaviour?
    Thanks for your time.

    1) Once all registered materialized views have read a particular row from a materialized view log, it is removed, yes. If there are multiple materialized views that depend on the same log, they would all need to refresh before it would be safe to remove the MV log entry. If one of the materialized views does a non-incremental refresh, there may be cases where the log doesn't get purged automatically.
    2) No, your query wouldn't cause anything to be purged (though you wouldn't see anything interesting unless you happen to implement lots of code to parse the change vectors stored in the log). I don't know that the exact mechanism that Oracle uses has been published, though you could go through and trace a session to get an idea of the moving pieces. From a practical standpoint, you just need to know that when you create a fast-refreshable materialized view, it's going to register itself as being interested in particular MV logs.
    3) It would depend on what is stored in the MV log. The refresh process may need to grab particular columns from the table if your log is just storing the fact that data for a particular key changed. You can specify when you create a materialized view log that you want to store particular columns or to include new values (with the INCLUDING NEW VALUES) clause. That may be beneficial (or necessary) to the fast refresh process but it would tend to increase the storage space for the materialized view log and to increase the cost of maintianing the materialized view log.
    4) Sequential reads against a table are perfectly normal-- it just implies that someone is looking at a particular block in the table (i.e. looking up a row in the table by ROWID based on the ROWID in an index or in a materialized view log).
    Justin

  • A question about explain plan

    here is my sql statement and running result:
    SQL> @bind_variables_peeking_test.sql
    SQL> SET ECHO OFF
    SQL>
    SQL> REM
    SQL> REM Setup test environment
    SQL> REM
    SQL>
    SQL> ALTER SYSTEM FLUSH SHARED_POOL;
    SQL>
    SQL> DROP TABLE t;
    DROP TABLE t
    ERROR at line 1:
    ORA-00942: table or view does not exist
    SQL>
    SQL> CREATE TABLE t
    2 AS
    3 SELECT rownum AS id
    4 FROM dual
    5 CONNECT BY level <= 1000;
    SQL>
    SQL> execute dbms_stats.gather_table_stats(ownname=>user, tabname=>'t');
    SQL> SELECT count(id), count(DISTINCT id), min(id), max(id) FROM t;
    COUNT(ID) COUNT(DISTINCTID) MIN(ID) MAX(ID)
    1000 1000 1 1000
    SQL>
    SQL> PAUSE
    SQL>
    SQL> REM
    SQL> REM Without bind variables different execution plans are used if the value
    SQL> REM used in the WHERE clause change. This is because the query optimizer
    SQL> REM recognize the different selectivity of the two predicates.
    SQL> REM
    SQL>
    SQL> SELECT count(*) FROM t WHERE id < 990;
    COUNT(*)
    989
    SQL>
    SQL> SELECT * FROM table(dbms_xplan.display_cursor(NULL, NULL, 'typical'));
    PLAN_TABLE_OUTPUT
    SQL_ID bspfffaycy92u, child number 0
    SELECT count(*) FROM t WHERE id < 990
    Plan hash value: 2966233522
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
    | 0 | SELECT STATEMENT | | | | 3 (100)| |
    | 1 | SORT AGGREGATE | | 1 | 3 | | |
    |* 2 | TABLE ACCESS FULL| T | 990 | 2970 | 3 (0)| 00:00:01 |
    Predicate Information (identified by operation id):
    2 - filter("ID"<990)
    SQL>
    SQL> PAUSE
    SQL>
    SQL> SELECT count(*) FROM t WHERE id < 10;
    COUNT(*)
    9
    SQL>
    SQL> SELECT * FROM table(dbms_xplan.display_cursor(NULL, NULL, 'typical'));
    PLAN_TABLE_OUTPUT
    SQL_ID 4xfxt0frkj40y, child number 0
    SELECT count(*) FROM t WHERE id < 10
    Plan hash value: 2966233522
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
    | 0 | SELECT STATEMENT | | | | 3 (100)| |
    | 1 | SORT AGGREGATE | | 1 | 3 | | |
    |* 2 | TABLE ACCESS FULL| T | 9 | 27 | 3 (0)| 00:00:01 |
    Predicate Information (identified by operation id):
    2 - filter("ID"<10)
    SQL>
    SQL> PAUSE
    SQL>
    SQL> REM
    SQL> REM With bind variables the same execution plan is used. Depending on the
    SQL> REM peeked value (10 or 990), a full table scan or an index range scan is used.
    SQL> REM
    SQL>
    SQL> EXECUTE :id := 10;
    SQL>
    SQL> SELECT count(*) FROM t WHERE id < :id;
    COUNT(*)
    9
    SQL>
    SQL> SELECT * FROM table(dbms_xplan.display_cursor(NULL, NULL, 'typical'));
    PLAN_TABLE_OUTPUT
    SQL_ID dkva59ypaxa6w, child number 0
    SELECT count(*) FROM t WHERE id < :id
    Plan hash value: 2966233522
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
    | 0 | SELECT STATEMENT | | | | 3 (100)| |
    | 1 | SORT AGGREGATE | | 1 | 3 | | |
    |* 2 | TABLE ACCESS FULL| T | 9 | 27 | 3 (0)| 00:00:01 |
    Predicate Information (identified by operation id):
    2 - filter("ID"<:ID)
    SQL>
    SQL> PAUSE
    SQL>
    SQL> EXECUTE :id := 10;
    SQL>
    SQL> SELECT count(*) FROM t WHERE id < :id;
    COUNT(*)
    9
    SQL>
    SQL> SELECT * FROM table(dbms_xplan.display_cursor(NULL, NULL, 'typical'));
    PLAN_TABLE_OUTPUT
    SQL_ID dkva59ypaxa6w, child number 0
    SELECT count(*) FROM t WHERE id < :id
    Plan hash value: 2966233522
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
    | 0 | SELECT STATEMENT | | | | 3 (100)| |
    | 1 | SORT AGGREGATE | | 1 | 3 | | |
    |* 2 | TABLE ACCESS FULL| T | 9 | 27 | 3 (0)| 00:00:01 |
    Predicate Information (identified by operation id):
    2 - filter("ID"<:ID)
    SQL>
    SQL> PAUSE
    SQL>
    SQL> ALTER SYSTEM FLUSH SHARED_POOL;
    SQL>
    SQL> PAUSE
    SQL>
    SQL> EXECUTE :id := 10;
    SQL> SELECT count(*) FROM t WHERE id < :id;
    COUNT(*)
    9
    SQL> explain plan for SELECT count(*) FROM t WHERE id < :id;
    SQL> select * from table(dbms_xplan.display);
    PLAN_TABLE_OUTPUT
    Plan hash value: 2966233522
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
    | 0 | SELECT STATEMENT | | 1 | 3 | 3 (0)| 00:00:01 |
    | 1 | SORT AGGREGATE | | 1 | 3 | | |
    |* 2 | TABLE ACCESS FULL| T | 50 | 150 | 3 (0)| 00:00:01 |
    Predicate Information (identified by operation id):
    2 - filter("ID"<TO_NUMBER(:ID))
    SQL>
    SQL> ALTER SYSTEM FLUSH SHARED_POOL;
    SQL> PAUSE
    SQL>
    SQL> EXECUTE :id := 10;
    SQL>
    SQL> SELECT count(*) FROM t WHERE id < :id;
    COUNT(*)
    9
    SQL>
    SQL> SELECT * FROM table(dbms_xplan.display_cursor(NULL, NULL, 'typical'));
    PLAN_TABLE_OUTPUT
    SQL_ID dkva59ypaxa6w, child number 0
    SELECT count(*) FROM t WHERE id < :id
    Plan hash value: 2966233522
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
    | 0 | SELECT STATEMENT | | | | 3 (100)| |
    | 1 | SORT AGGREGATE | | 1 | 3 | | |
    |* 2 | TABLE ACCESS FULL| T | 9 | 27 | 3 (0)| 00:00:01 |
    Predicate Information (identified by operation id):
    2 - filter("ID"<:ID)
    SQL>
    SQL>
    SQL> PAUSE
    SQL>
    SQL> REM
    SQL> REM Cleanup
    SQL> REM
    SQL>
    SQL> UNDEFINE sql_id
    SQL>
    SQL> DROP TABLE t;
    SQL> PURGE TABLE t;
    SQL>
    SQL> spool off;
    please noticed the last two explain plan result,one sql statement but have two result,why?

    what do you mean "invalidated the previous plan"?
    i gather the table statistics information once.
    every time before i run the statement and explain plan, i flush share pool to make sure there are not execution plan to reused.
    so i think i do not invalidated the previous plan and the two result should be same.

  • Question about using views in joins

    I have a question that is related to views. When a view is joined with another table, how does Oracle internally handle it? Does it create a temporary table that contains the resultant rows of the view and join that temorary table to the other table or does it use the view's SQL and embed it into the join condition?
    Thanks.
    Edited by: soleil4716 on Aug 13, 2010 11:58 AM

    soleil4716 wrote:
    I have a question that is related to views. When a view is joined with another table, how does Oracle internally handle it? Does it create a temporary table that contains the resultant rows of the view and join that temorary table to the other table or does it use the view's SQL and embed it into the join condition?
    No oracle do not create temporary table to joining table and views.There no difference joining just table<=>table and table<=>view.There is important join condition,and oracle will join these table and view according these conditions.

  • Question Regarding "Show View Options"

    Good morning!
    I have a question and I am hoping someone here on the Apple Support Communities will be able to assist me.
    I am using a MacBook Air and have downloaded the latest iOS (Mavericks).  I have my iTunes application open and in the menu area, under "View" there is a selection called "Show View Options" but when I click on that selection, nothing happens.  Does anyone know why I cannot get the "View Options" to appear?
    Thanks,
    Michael Weaver, Jr.
    WU Online (AKA: Wrestling Update Online | www.WrestlingUpdateOnline.com)
    Follow me on Twitter at @WUonline!
    "Friend" me on Facebook at www.Facebook.com/JMichaelWeaverJR!

    No simple or known solution. Just hit CMD+2 and the window will retain the list view. It's one of my bugaboos and I've filed a bug report, but it hasn't been added.

  • Basic Questions On List View Plug-in For Lightroom

    I need some basic information about the List View Plug-in for Lightroom:
    HERE ARE MY QUESTIONS:
    I have 40-60 photos per folder. Can List View list that many files on successive pages?
    Most of the time I have 15-30 keywords or keyword phrases listed per picture. If I could widen the column I could see all of them. If the column does not widen, will the keywords not shown still be there to be exported to an Excel column, and then shown?
    The thumbnail pictures on the end of all the summary lines are cool, but can I delete them before exporting to Excel?
      Thank You Very Much for any information about this Plugin,
    THANK YOU,
    Sandy

    Your questions seemed to be asked without actually tried the trial of the plug-in.  I did, just now, and from what I can tell, with only have 20 images to test with since that is the trial limitation:
    1)      The number of rows is fixed, and you can use the slider at the top-right to move from one page to the next.
    2)      The columns do not change width in the plug-in though what you can’t see still gets exported to Excel although I’d expect all the keywords to be in one Excel column, not one column each.
    3)      There are several sizes of thumbnails that can be selected from, including None—this is new compared to the one screen-capture on the plug-in website, so setting None as the thumbnail size  is how you’d prevent thumbnails from going to Excel.  I tried exporting thumbnails and they were all broken images, so maybe it doesn’t actually work, or maybe there is a limitation in the trial mode.

  • Question to Matarialized View "staleness" parameter

    Question to all Oracle database experts.
    IFS Applications uses Materialized views (MV'S) for Business Intelligence reporting.
    Some of this MV's never gets the staleness status "FRESH", but is allways in status "unknown".
    Folling MV is an example;
    CREATE MATERIALIZED VIEW SUPPLIER_MV
    REFRESH COMPLETE ON DEMAND
    AS
    SELECT a.supplier_id id,
    a.supplier_id code,
    a.supplier_id supplier,
    a.name supplier_name,
    a.country country,
    a.creation_date creation_date,
    a.association_no association_no,
    a.default_language default_language,
    a.suppliers_own_id suppliers_own_id,
    a.corporate_form     corporate_form,
    Corporate_Form_API.Get_Corporate_Form_Desc(a.country, a.corporate_form)
    corporate_form_desc
    FROM SUPPLIER_INFO_TAB a
    UNION ALL
    SELECT '#' id,
    '#' code,
    '#' supplier,
    '' supplier_name,
    '' country,
    to_date('0001-01-01','YYYY-MM-DD')
    creation_date,
    '' association_no,
    '' default_language,
    '' suppliers_own_id,
    '' corporate_form,
    '' corporate_form_desc
    FROM BI_DUAL_TAB;
    Any one, any idea how to update the status correct?
    Regards
    Gunnar B Melby
    IFS, Norway

    Supplier_MV has following properties;
    Proporty value
    OWNER     IFSAPP
    MVIEW_NAME SUPPLIER_MV
    CONTAINER_NAME SUPPLIER_MV
    QUERY_LEN 1552
    UPDATABLE     N
    REWRITE_ENABLED     N
    REWRITE_CAPABILITY     NONE
    REFRESH_MODE     DEMAND
    REFRESH_METHOD     COMPLETE
    BUILD_MODE     DEFERRED
    FAST_REFRESHABLE     NO
    LAST_REFRESH_TYPE     COMPLETE
    LAST_REFRESH_DATE     01.07.2010 10:25
    STALENESS     UNKNOWN
    AFTER_FAST_REFRESH     NA
    UNKNOWN_PREBUILT     N
    UNKNOWN_PLSQL_FUNC     Y
    UNKNOWN_EXTERNAL_TABLE     N
    UNKNOWN_CONSIDER_FRESH     N
    UNKNOWN_IMPORT     N
    UNKNOWN_TRUSTED_FD     N
    COMPILE_STATE     VALID
    USE_NO_INDEX     N
    TABLE_NAME     SUPPLIER_MV
    MASTER_OWNER     IFSAPP
    MASTER     BI_DUAL_TAB
    CAN_USE_LOG     NO
    REFRESH_WITH     COMPLEX
    LAST_REFRESH     01.07.2010 10:25
    ERROR     0
    FR_OPERATIONS     REGENERATE
    CR_OPERATIONS     VALID

  • Question in creating view pages

    Hi,
    I'm pretty new in SharePoint 2010 and I'm trying to design a simple task list in a tabular format. Below is the link to my screenshots
    https://plus.google.com/photos/111135350719234396436/albums/5969419655213868465?authkey=CK-WxOzIqP3F8wE
    When I click a task under the Task Name column, the 2nd screenshot in the link is displayed
    My question is how do I modify the 2nd screenshot to include additional fields such as Description, # of Devices etc... Also the Start and End Date shows the date when I entered the data and not the actual date I have entered in the first screenshot. How could
    I change this things?
    hope to hear from you guys.
    Thanks!

    Hello,
    What list template you have chosen for this task list? 
    Anyway, you can go to list settings and click on the your list default view to add more column-->select the column which you want to add and save it.
    Later you can add filter webpart on same page to filter data based on dates.
    http://office.microsoft.com/en-in/sharepoint-server-help/connect-a-filter-web-part-to-a-list-view-web-part-HA101785233.aspx
    Hope i understood you correctly
    Hemendra:Yesterday is just a memory,Tomorrow we may never see
    Please remember to mark the replies as answers if they help and unmark them if they provide no help

  • QUESTION on MAINTENANCE VIEW

    Hi gurus,
    I am not familiar with MAINTENANCE VIEW TABLE, can someone please tell me on how to create it and how can I use it for query or select.
    I hope someone can help me.
    Thanks in advance.

    hello gurus,
    im new to this community please help me out from this please explain what are different conditions are there for install and replace in this code pzzzzzzzzz its really urgent evening is my delivery
    THIS IS MIS SHOWS A LEAD TIME FOR DEVICES PERTAINING TO A SELECTION*
    CRITERIA FROM THE TIME OF ISSUE OF METER FROM THE DEPOT FOR NEW   *
    INSTALLATION / REPLACEMENT CONNECTION TO THE FIRST BILL          *
    Designer           : K SRIKANTH                                 *
    Programmer            : K SRIKANTH                                 *
    Programming Date      : 29/12/2004
    Change Tracking No     : D90K                                    *
    Program Title          : LEAD TIME REPORT FROM DEVICE * *
                        INSTALLATION/REPLACEMENT TO FIRST BILL *
    MODIFICATIONS                                                     *
    DATE       | BY      | DESCRIPTION       | Chg Trck No             *
    dd.mm.yy   | xxxxx   |                   |                         *
               |         |                   |                         *
               |         |                   |                         *
    ASSUMPTIONS:
    THE VALUES FROM THE TABLE V_EABL ARE SELECTED ONLY FOR METER       *
    READING REASON '01','02','03' & '22' FOR THE FIELD ABLESGR.
    THE VALUES FROM THE TABLE ETDZ ARE SELECTED ONLY FOR REGISTER
    CODE '01' FOR THE FIELD ZWKENN .
    THE NUMBER OF RECORDS FETCHED FROM TABLE EGERH, WHILE RUNNING IN   *
    FOREGROUND, DEPENDS UPON THE SELECTION CRITERIA. WHILE RUNNING IN  *
    BACKGROUND THIS CONDITION IS NOT APPLICABLE.                        *
    REPORT ZRDMD01A MESSAGE-ID ZS LINE-SIZE 150 .
    TYPE-POOLS : SLIS .
    TABLE DECLARATION*********************
    TABLES :
    IFLOT ,
    TE401 ,  "   Transactions reasons
    EGERH ,          " Historical Data of ISU Device Master Record
    EQUI ,           " Equipment master data
    EASTL,          " Billing data: Installation Structure at Device Level
    EANL ,          " Installation
    EVBS ,          " Premise
    EADRREGAREAA,   " Role-Spec. Allocation: Reg. Str. Area to Reg. StrGroup
    EHAUISU ,       " Connect. Obj.
    ILOA  ,          "  PM Object Location and Account Assignment
    EABLG ,         " MR Reasons in MR Document
    EABL  ,          "  MR Document
    EVER ,           " IS-U Cont.
    ERCH ,           "  Billing Doc. Data
    ERCHC    ,      "  Invoicing/Reversal History: ERCH
    ETYP ,
    ETDZ,
    EASTS ,
    V_EABL ,
    EADRREGAREAT .
    ***INTERNAL TABLE DECLARATION*****
    DATA : BEGIN OF ITCOM OCCURS 100,
             STATUS(50) TYPE C ,
            REGIOAREA LIKE EADRREGAREAA-REGIOAREA,
            DESCRIPT LIKE EADRREGAREAT-DESCRIPT ,
            V0_15 TYPE I,
            V16_30 TYPE I,
            V31_45 TYPE I,
            V46_60 TYPE I,
            V61_75 TYPE I,
            V76_90 TYPE I,
            V90 TYPE I,
            VNTAV TYPE I,
            TOTAL TYPE I ,
           REGIOGROUP LIKE EADRREGAREAA-REGIOGROUP ,
          END OF ITCOM .
    DATA : ITFLD TYPE SLIS_T_FIELDCAT_ALV ,
           SFLD TYPE  SLIS_FIELDCAT_ALV ,
           ITH  TYPE  SLIS_T_FIELDCAT_ALV ,
           STH  TYPE  SLIS_FIELDCAT_ALV ,
           SIT  TYPE  SLIS_FIELDCAT_ALV,
           ITA  TYPE  SLIS_T_FIELDCAT_ALV ,
           IEVENTS TYPE SLIS_T_EVENT ,
           ALV_T_EVENT TYPE SLIS_T_EVENT WITH HEADER LINE,
           ITEVENTS TYPE SLIS_ALV_EVENT ,
             EVENTS TYPE SLIS_T_EVENT ,
            EVNTS  TYPE SLIS_ALV_EVENT ,
            EVNTS1  TYPE SLIS_ALV_EVENT ,
            EVNTS2  TYPE SLIS_ALV_EVENT ,
            EVNTS3  TYPE SLIS_ALV_EVENT ,
            EVENTS_SUMM TYPE SLIS_T_EVENT ,
            EVENTS_DETAIL TYPE SLIS_T_EVENT ,
            EVENTS_SPL TYPE SLIS_T_EVENT .
    DATA : ITHD TYPE SLIS_T_LISTHEADER ,
            HD TYPE SLIS_LISTHEADER ,
           ITD TYPE SLIS_T_LISTHEADER ,
            TD  TYPE SLIS_LISTHEADER .
    DATA : BEGIN OF ITFIN OCCURS 0,
        EQUNR   LIKE EGERH-EQUNR ,   " EQUIPMENT NUMBER
        ANLAGE  LIKE EASTL-ANLAGE  , "INSTLLATION NUMBER
        VSTELLE LIKE EANL-VSTELLE,   "PREMISE
        LOGIKNR LIKE EGERH-LOGIKNR,  "LOGICAL DEVICE NUMBER
        SERNR   LIKE EQUI-SERNR,     "DEVICE NUMBER
        VKONTO  LIKE EVER-VKONTO,    "CONTRACT NUMBER
        REGIOAREA LIKE EADRREGAREAA-REGIOAREA,
        REGIOGROUP LIKE EADRREGAREAA-REGIOGROUP,
        LTPU(8)  TYPE C ,   "LEAD FROM PREMISE T UI
        LTUB(8)  TYPE C,    "LEAD FROM UTILITY INS TO BILLING INS
        LTBM(8)  TYPE C,    "LEAD FROM BI TO MR ORDER
        LTMA(8)  TYPE C,    "LEAD MR ORDER TO ACTUAL MR
        LTAB(8)  TYPE C,    "LEAD FROM ACTUAL MR TO SCHEDULE BILL ORDER
        LTBA(8)  TYPE C,    "LEAD TIME FROM SCHED BILL ORDER TO ACTUAL BILL
        SUM(8)  TYPE C ,    "TOTAL LEAD FROM UI TO ACTUAL BILL
        SERIAL  TYPE I ,
        BIS  LIKE  EGERH-BIS ,
           AB   LIKE  EGERH-AB,
           ZWGRUPPE LIKE EGERH-ZWGRUPPE ,
           EINBDAT LIKE EGERH-EINBDAT,
           AUSBDAT  LIKE EGERH-AUSBDAT,
           GERWECHS LIKE EGERH-GERWECHS,
           DEVLOC   LIKE EGERH-DEVLOC,
           SPARTE LIKE  EQUI-SPARTE,
            ANLART LIKE EANL-ANLART,
            HAUS  LIKE EVBS-HAUS,
            VBSART LIKE EVBS-VBSART,
            ABLBELNR LIKE EABLG-ABLBELNR,
           ABLESGR LIKE EABLG-ABLESGR ,
           ADAT LIKE V_EABL-ADAT ,
          VERTRAG LIKE EVER-VERTRAG,
              DESCRIPT(20) TYPE C, " LIKE EADRREGAREAT-DESCRIPT ,
             STATUS(40) TYPE C ,
         END OF ITFIN .
    DATA : ITAAA LIKE ITFIN OCCURS 100 WITH HEADER LINE ,
           ITBBB LIKE ITFIN OCCURS 100 WITH HEADER LINE .
    DATA : BEGIN OF ITTE4 OCCURS 100,
          GERWECHS LIKE TE401-GERWECHS,
          EAWKENNZE LIKE TE401-EAWKENNZE,
          EAWKENNZA LIKE TE401-EAWKENNZA,
          EAWKENNZW LIKE TE401-EAWKENNZW,
          GERWETXT  LIKE TE401T-GERWETXT ,
          END OF ITTE4 .
    DATA : BEGIN OF ITEAS OCCURS 100,
           ANLAGE LIKE EASTL-ANLAGE,
           LOGIKNR LIKE EASTL-LOGIKNR,
          BIS LIKE EASTL-BIS,
          AB LIKE EASTL-AB,
           ERDAT LIKE EASTL-ERDAT,
            END OF ITEAS .
    DATA : BEGIN OF ITDES OCCURS 0 ,
           LANGU LIKE EADRREGAREAT-LANGU,
           ROLE   LIKE EADRREGAREAT-ROLE ,
          REGIOAREA LIKE EADRREGAREAA-REGIOAREA ,
          DESCRIPT(20) type c ," LIKE EADRREGAREAT-DESCRIPT ,
          END OF ITDES .
    DATA : BEGIN OF ITMX1 OCCURS 0 ,
           EQUNR LIKE EGERH-EQUNR,
           BIS  LIKE  EGERH-BIS ,
           AB   LIKE  EGERH-AB,
           LOGIKNR LIKE EGERH-LOGIKNR,
           ZWGRUPPE LIKE EGERH-ZWGRUPPE ,
           EINBDAT LIKE EGERH-EINBDAT,
           AUSBDAT  LIKE EGERH-AUSBDAT,
           GERWECHS LIKE EGERH-GERWECHS,
           DEVLOC   LIKE EGERH-DEVLOC,
           MATNR LIKE EQUI-MATNR,
           SERNR LIKE EQUI-SERNR,
           SPARTE LIKE EQUI-SPARTE,
            ANLAGE LIKE EASTL-ANLAGE,
            ERDAT_EAS LIKE EASTL-ERDAT, "ERDAT_EAS
            VSTELLE LIKE EANL-VSTELLE,
            ANLART LIKE EANL-ANLART,
            ERDAT_EAN LIKE EANL-ERDAT, "ERDAT_EAN
             HAUS  LIKE EVBS-HAUS,
             VBSART LIKE EVBS-VBSART,
             ERDAT_EVB LIKE EVBS-ERDAT,  "ERDAT_EVB
            REGIOGROUP LIKE EADRREGAREAA-REGIOGROUP,
             REGIOAREA LIKE EADRREGAREAA-REGIOAREA ,
             DESCRIPT(20) type c ,
              ABLBELNR LIKE V_EABL-ABLBELNR ,
            ABLESGR LIKE V_EABL-ABLESGR ,
            ADAT LIKE V_EABL-ADAT ,
            ADATSOLL LIKE V_EABL-ADATSOLL ,
            VERTRAG LIKE EVER-VERTRAG,
           VKONTO LIKE  EVER-VKONTO,
            BELNR LIKE ERCH-BELNR,
          VKONT LIKE ERCH-VKONT,
          BEGABRPE LIKE ERCH-BEGABRPE,
          ENDABRPE LIKE ERCH-ENDABRPE,
          ABRDATS LIKE ERCH-ABRDATS,
          BUDAT LIKE ERCHC-BUDAT,
           LFDNR LIKE ERCHC-LFDNR,
          END OF ITMX1 .
    DATA : BEGIN OF ITMX2 OCCURS 0,
           EQUNR LIKE EGERH-EQUNR,
           BIS  LIKE  EGERH-BIS ,
           AB   LIKE  EGERH-AB,
          LOGIKNR LIKE EGERH-LOGIKNR,
           ZWGRUPPE LIKE EGERH-ZWGRUPPE ,
           EINBDAT LIKE EGERH-EINBDAT,
           AUSBDAT  LIKE EGERH-AUSBDAT,
           GERWECHS LIKE EGERH-GERWECHS,
           DEVLOC   LIKE EGERH-DEVLOC,
           MATNR LIKE EQUI-MATNR,
           SERNR LIKE EQUI-SERNR,
           SPARTE LIKE EQUI-SPARTE,
            ANLAGE LIKE EASTL-ANLAGE,
            LOGIKNR LIKE EGERH-LOGIKNR,
            ERDAT LIKE EASTL-ERDAT, "ERDAT_EAS
            END OF ITMX2 .
    DATA : BEGIN OF ITMX4 OCCURS 0 ,
            ANLAGE  LIKE EANL-ANLAGE ,
            VSTELLE LIKE EANL-VSTELLE,
             HAUS  LIKE EVBS-HAUS,
             VBSART LIKE EVBS-VBSART,
             ERDAT LIKE EVBS-ERDAT,  "ERDAT_EVB
            REGIOGROUP LIKE EADRREGAREAA-REGIOGROUP,
             REGIOAREA LIKE EADRREGAREAA-REGIOAREA ,
              DESCRIPT(20) type c ,
           ANLART LIKE EANL-ANLART,
             END OF ITMX4 .
    DATA : BEGIN OF ITEVE OCCURS 0 ,
            ANLAGE LIKE EVER-ANLAGE ,
             VKONTO LIKE  EVER-VKONTO,
            VERTRAG LIKE EVER-VERTRAG,
           SPARTE LIKE EVER-SPARTE ,
           END OF ITEVE .
    DATA : BEGIN OF ITMX3 OCCURS 0 ,
             EQUNR  LIKE V_EABL-EQUNR ,
            ABLBELNR LIKE V_EABL-ABLBELNR ,
            ABLESGR LIKE V_EABL-ABLESGR ,
            ADAT LIKE V_EABL-ADAT ,
            ADATSOLL LIKE V_EABL-ADATSOLL ,
             ANLAGE LIKE EVER-ANLAGE ,
             VKONTO LIKE  EVER-VKONTO,
            VERTRAG LIKE EVER-VERTRAG,
           SPARTE LIKE EVER-SPARTE ,
         VKONT LIKE ERCH-VKONT,
          BEGABRPE LIKE ERCH-BEGABRPE,
          ENDABRPE LIKE ERCH-ENDABRPE,
          ABRDATS LIKE ERCH-ABRDATS,
            BELNR LIKE ERCH-BELNR,
          LFDNR LIKE ERCHC-LFDNR,
           BUDAT LIKE ERCHC-BUDAT,
          SWERK LIKE ILOA-SWERK ,
            END OF ITMX3.
    data : BEGIN OF ITERC OCCURS 0 ,
          BEGABRPE LIKE ERCH-BEGABRPE,
          ENDABRPE LIKE ERCH-ENDABRPE,
          ABRDATS LIKE ERCH-ABRDATS,
          VERTRAG like ERCH-VERTRAG ,
          BELNR LIKE ERCH-BELNR,
          VKONT LIKE ERCH-VKONT ,
          LFDNR LIKE ERCHC-LFDNR,
           BUDAT LIKE ERCHC-BUDAT,
          END OF ITERC .
    DATA : BEGIN OF ITMX7 OCCURS 0,
          SRNO   TYPE I  ,
           STATUS(40) TYPE C ,
           REGIOAREA  LIKE EADRREGAREAA-REGIOAREA ,
           REGIOGROUP LIKE EADRREGAREAA-REGIOGROUP ,
           DESCRIPT(20) TYPE C ," LIKE  EADRREGAREAT-DESCRIPT  ,
           V0_15  LIKE ITCOM-V0_15 ,
           V16_30 LIKE ITCOM-V16_30 ,
           V31_45 LIKE ITCOM-V31_45 ,
           V46_60 LIKE ITCOM-V46_60 ,
          V61_75 LIKE ITCOM-V61_75 ,
          V76_90 LIKE ITCOM-V76_90 ,
          V90   LIKE ITCOM-V90 ,
          VNTAV LIKE ITCOM-VNTAV  ,
          TOTAL TYPE I ,
             END OF ITMX7 .
    DATA : BEGIN OF ITETD OCCURS 0,
          EQUNR LIKE ETDZ-EQUNR ,
          ZWNUMMER LIKE ETDZ-ZWNUMMER,
          ZWKENN  LIKE ETDZ-ZWKENN ,
          LOGIKZW LIKE ETDZ-LOGIKZW ,
          ANLAGE  LIKE EASTS-ANLAGE ,
         BIS     LIKE EASTS-BIS,
          ZWNABR  LIKE EASTS-ZWNABR ,
          END OF ITETD .
      DATA : BEGIN OF ITEAN OCCURS 100,
          ANLAGE LIKE  EASTL-ANLAGE,
         SPARTE LIKE  EQUI-SPARTE,
          VSTELLE LIKE EANL-VSTELLE,
          ANLART LIKE EANL-ANLART,
          ERDAT LIKE EANL-ERDAT ,
             HAUS  LIKE EVBS-HAUS,
             VBSART LIKE EVBS-VBSART,
             ERDAT_EVBS LIKE EVBS-ERDAT,  "ERDAT_EVB
            REGIOGROUP LIKE EADRREGAREAA-REGIOGROUP,
             REGIOAREA LIKE EADRREGAREAA-REGIOAREA ,
              DESCRIPT(20) type c ,
          END OF ITEAN .
    DATA : BEGIN OF ITSPL OCCURS 0 ,
            TPLNR LIKE IFLOT-TPLNR ,
            TPLMA LIKE IFLOT-TPLMA ,
            HAUS  LIKE EHAUISU-HAUS ,
            REGIOGROUP LIKE EADRREGAREAA-REGIOGROUP ,
            END OF ITSPL .
    DATA : BEGIN OF ITEGE OCCURS 0,
           EQUNR LIKE EGERH-EQUNR ,
           LOGIKNR LIKE EGERH-LOGIKNR,
           MATNR   LIKE EQUI-MATNR ,
           SERNR  LIKE EQUI-SERNR,
           SPARTE  LIKE EQUI-SPARTE,
           DEVLOC  LIKE EGERH-DEVLOC,
           END OF ITEGE .
    DATA : ITMOD LIKE ITMX2 OCCURS 0 WITH HEADER LINE ,
           WA_ITMX2 LIKE ITMX2 .
    DATA : WA-EQUNR LIKE EQUI-EQUNR ,
           WA-ANLAGE LIKE EASTL-ANLAGE .
      DATA : w_variant  like disvariant ,
             W_VARIANT_SAVE  TYPE C .
    DATA : REP-ID LIKE SY-REPID,
         W_REPID LIKE SY-REPID .
    DATA PUSH TYPE SSCRFIELDS-UCOMM .
    DATA  COUNT TYPE I .
    DATA : V13 TYPE I ,
           V17 TYPE  I.
    DATA CNT TYPE I .
    DATA VARIANT LIKE SY-TABIX .
    DATA :  SNT TYPE I ,
            PNT TYPE I ,
         V_COUNT TYPE I VALUE 1 .
    DATA: ylayout TYPE slis_layout_alv ,
         XLAYOUT TYPE SLIS_LAYOUT_ALV .
    DATA  KNT TYPE I VALUE 0  .
    DATA I_SORT TYPE slis_t_sortinfo_alv WITH HEADER LINE .
    DATA : V_DATE LIKE SY-DATUM ,
          V_DATUM(10) TYPE C ,
          GX_VARIANT LIKE DISVARIANT,
          G_VARIANT LIKE DISVARIANT,
                G_SAVE(1) TYPE C VALUE 'A',
                G_EXIT(1) TYPE C,
                N TYPE I ,
                M TYPE I ,
                C TYPE I VALUE 0 .
    DATA  G_REPID LIKE SY-REPID .
    DATA: GT_PRINT TYPE SLIS_PRINT_ALV.
    DATA YREPID LIKE SY-REPID .
    DATA: X_LAYOUT TYPE SLIS_LAYOUT_ALV ,
          Y_LAYOUT TYPE SLIS_LAYOUT_ALV ,
          Z_LAYOUT TYPE SLIS_LAYOUT_ALV.
    DATA : TITLE LIKE SY-TITLE .
    DATA : V_ENTER TYPE I ,
           V_MODIFY TYPE I .
    ******************SELECTION SCREEN ************************
    SELECTION-SCREEN BEGIN OF BLOCK BL1 WITH FRAME TITLE TEXT-001 .
    PARAMETERS P_SPART LIKE EQUI-SPARTE DEFAULT  '01' .
    SELECTION-SCREEN COMMENT 40(15)  TEXT-005 .
    SELECT-OPTIONS : S_SWERK FOR ILOA-SWERK DEFAULT  'M011',
                     S_RAREA FOR EADRREGAREAA-REGIOAREA ,
                     S_RGROUP FOR EADRREGAREAA-REGIOGROUP,
                     S_AB FOR EGERH-AB OBLIGATORY .
    SELECTION-SCREEN END OF BLOCK BL1 .
    SELECTION-SCREEN BEGIN OF BLOCK BL2 WITH FRAME TITLE TEXT-002 .
    SELECT-OPTIONS: S_SERNR FOR EQUI-SERNR ,
                    S_MATNR FOR EQUI-MATNR OBLIGATORY ,
                    S_VSTELL FOR EANL-VSTELLE ,
                    S_HAUS FOR EHAUISU-HAUS .
    SELECTION-SCREEN  END OF BLOCK BL2.
    SELECTION-SCREEN BEGIN OF BLOCK BL3 WITH FRAME TITLE TEXT-003 .
    SELECT-OPTIONS: S_VKONTO FOR EVER-VKONTO .
    SELECTION-SCREEN END OF BLOCK BL3 .
    SELECTION-SCREEN BEGIN OF BLOCK BL4 WITH FRAME TITLE TEXT-004 .
    PARAMETERS: P_INSTA RADIOBUTTON GROUP RAD1 DEFAULT 'X' ,
                P_REPLC RADIOBUTTON GROUP RAD1 ,
                P_IP RADIOBUTTON GROUP RAD1 .
    SELECT-OPTIONS : S_GERWE FOR EGERH-GERWECHS .
    SELECTION-SCREEN END OF BLOCK BL4 .
    SELECTION-SCREEN BEGIN OF BLOCK BL5 WITH FRAME TITLE TEXT-006.
    PARAMETERS  : P_VARI LIKE DISVARIANT-VARIANT ."DEFAULT '/ALL'.
    SELECTION-SCREEN COMMENT 47(40) varname FOR FIELD P_VARI .
    SELECTION-SCREEN SKIP 1.
    SELECTION-SCREEN PUSHBUTTON /5(25) BUT1 USER-COMMAND UCSS .
    PARAMETERS: P_FIXVAR LIKE KAEP_SETT-FIXVAR NO-DISPLAY,
                P_MAXSEL LIKE KAEP_SETT-MAXSEL NO-DISPLAY DEFAULT 1000.
    SELECTION-SCREEN END OF BLOCK BL5.
    *******INITIALIZATION************************
    INITIALIZATION .
    SET PF-STATUS 'INST' .
    G_REPID = SY-REPID.
    PERFORM VARIANT_INIT.
    Default variant
      GX_VARIANT = G_VARIANT.
      CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
           EXPORTING
                I_SAVE     = G_SAVE
           CHANGING
                CS_VARIANT = GX_VARIANT
           EXCEPTIONS
                NOT_FOUND  = 2.
      IF SY-SUBRC = 0.
        P_VARI = GX_VARIANT-VARIANT.
      ENDIF.
      MOVE 'Further Settings' TO BUT1 .
    AT SELECTION SCREEN EVENT******
    AT SELECTION-SCREEN .
      CASE SY-UCOMM .
        WHEN 'UCSS' .
          CALL FUNCTION 'K_LINE_ITEM_TECH_SETTINGS_SET'
               CHANGING
                    C_FIXVAR = P_FIXVAR
                    C_MAXSEL = P_MAXSEL.
      ENDCASE .
      IF NOT S_RAREA IS INITIAL .
        SELECT SINGLE * FROM EADRREGAREAA
         WHERE REGIOAREA IN S_RAREA .
        IF  SY-SUBRC <> 0 .
          MESSAGE E058(00) WITH S_RAREA-LOW S_RAREA-HIGH.
          LEAVE TO LIST-PROCESSING .
        ENDIF .
      ENDIF.
      IF NOT S_MATNR IS INITIAL .
        SELECT SINGLE * FROM ETYP
              WHERE MATNR IN S_MATNR
              AND KOMBINAT = 'Z'.
          IF SY-SUBRC <> 0 .
            MESSAGE E411(EG) .
            LEAVE TO  LIST-PROCESSING .
          ENDIF.
       ENDIF.
    IF NOT S_SWERK IS INITIAL .
        SELECT SINGLE * FROM ILOA
              WHERE SWERK IN S_SWERK .
          IF SY-SUBRC <> 0 .
            MESSAGE E412(I0) .
            LEAVE TO LIST-PROCESSING .
          ENDIF.
    ENDIF.
    IF NOT S_RGROUP IS INITIAL .
        SELECT SINGLE * FROM EADRREGAREAA
              WHERE REGIOGROUP IN S_RGROUP .
          IF SY-SUBRC <> 0 .
            MESSAGE E025(E7) .
            LEAVE TO LIST-PROCESSING .
          ENDIF.
    ENDIF.
    IF NOT  S_HAUS IS INITIAL .
      SELECT SINGLE * FROM EHAUISU
        WHERE HAUS IN S_HAUS .
        IF SY-SUBRC <> 0 .
          MESSAGE E011(E9) WITH 'Connection Object' S_HAUS-LOW S_HAUS-HIGH .
            LEAVE TO LIST-PROCESSING .
          ENDIF.
    ENDIF.
    IF NOT  S_VSTELL IS INITIAL .
      SELECT SINGLE * FROM EANL
        WHERE VSTELLE IN S_VSTELL .
        IF SY-SUBRC <> 0 .
            MESSAGE E011(E9) WITH 'Premise' S_VSTELL-LOW S_VSTELL-HIGH .
            LEAVE TO LIST-PROCESSING .
          ENDIF.
    ENDIF.
    IF NOT  S_VKONTO IS INITIAL .
      SELECT SINGLE * FROM EVER
        WHERE VKONTO IN S_VKONTO .
        IF SY-SUBRC <> 0 .
            MESSAGE E001(>3) .
            LEAVE TO LIST-PROCESSING .
          ENDIF.
    ENDIF.
    IF NOT S_GERWE IS INITIAL .
      SELECT SINGLE * FROM TE401
       WHERE GERWECHS IN S_GERWE .
        IF SY-SUBRC <> 0 .
          MESSAGE E058(00) WITH S_GERWE-LOW S_GERWE-HIGH .
          LEAVE TO LIST-PROCESSING .
        ENDIF.
    ENDIF.
    IF NOT P_SPART IS INITIAL .
    SELECT SINGLE * FROM EQUI
      WHERE SPARTE = P_SPART .
        IF SY-SUBRC <> 0 .
          MESSAGE E058(00).
           LEAVE TO LIST-PROCESSING .
        ENDIF.
    ENDIF.
    CASE SY-UCOMM .
    WHEN '&LFO'.
    WRITE:/ ' DOCUMENTATION' .
    ENDCASE .
    PERFORM VARIANT_EXISTENCE .
    AT SELECTION-SCREEN OUTPUT .
      LOOP AT SCREEN .
        IF SCREEN-NAME = 'P_SPART' .
          SCREEN-INPUT = 0 .
          MODIFY SCREEN .
        ENDIF .
      ENDLOOP .
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_VARI .
    PERFORM F4_FOR_VARIANT.
    ***************START OF SELECTION EVENT****************
    START-OF-SELECTION .
      IF P_INSTA = 'X' .
        PERFORM INSTALL .
      ELSEIF P_REPLC = 'X' .
        PERFORM REPLACE .
      ELSEIF P_IP = 'X' .
        PERFORM INS_REPL .
      ENDIF.
    IF SY-BATCH = ' ' .
      SELECT  A~EQUNR
             A~BIS
              A~AB
             A~LOGIKNR
              A~ZWGRUPPE
              A~EINBDAT
              A~AUSBDAT
              A~GERWECHS
              A~DEVLOC
              B~MATNR
              B~SERNR
              B~SPARTE
              D~ANLAGE
              D~LOGIKNR
              D~ERDAT  FROM ( ( EGERH AS A INNER JOIN EQUI AS B
                                    ON AEQUNR = BEQUNR )
                      INNER JOIN EASTL AS D ON ALOGIKNR = DLOGIKNR )
                                        AND   ABIS     = DBIS
                                        AND   AAB      = DAB )
              INTO TABLE ITMX2 UP TO P_MAXSEL ROWS
              FOR ALL ENTRIES IN ITTE4
              WHERE  A~GERWECHS = ITTE4-GERWECHS
              AND    A~BIS GE S_AB-LOW
              AND  A~AB IN S_AB
              AND A~KOMBINAT = 'Z'
              AND A~EINBDAT NE '00000000'
              AND A~AUSBDAT EQ '00000000'
              AND B~MATNR  IN S_MATNR
              AND B~SERNR IN S_SERNR
              AND B~SPARTE = P_SPART
              AND D~BIS GE S_AB-LOW .
             AND D~AB IN S_AB .
    ELSE.
        SELECT A~EQUNR
             A~BIS
              A~AB
             A~LOGIKNR
              A~ZWGRUPPE
              A~EINBDAT
              A~AUSBDAT
              A~GERWECHS
              A~DEVLOC
              B~MATNR
              B~SERNR
              B~SPARTE
              D~ANLAGE
              D~LOGIKNR
              D~ERDAT
              FROM ( ( EGERH AS A INNER JOIN EQUI AS B
                                    ON AEQUNR = BEQUNR )
                      INNER JOIN EASTL AS D ON ALOGIKNR = DLOGIKNR )
                                        AND   ABIS     = DBIS
                                        AND   AAB      = DAB )
              INTO  TABLE ITMX2
              FOR ALL ENTRIES IN ITTE4
              WHERE  A~GERWECHS = ITTE4-GERWECHS
              AND    A~BIS GE S_AB-LOW
              AND  A~AB IN S_AB
              AND A~KOMBINAT = 'Z'
              AND A~EINBDAT NE '00000000'
              AND A~AUSBDAT EQ '00000000'
              AND B~MATNR  IN S_MATNR
              AND B~SERNR IN S_SERNR
              AND B~SPARTE = P_SPART
              AND D~BIS GE S_AB-LOW .
             AND D~AB IN S_AB .
    ENDIF.
    SORT ITMX2 BY ANLAGE EQUNR .
    LOOP AT ITMX2 .
    IF ITMX2-ANLAGE =  WA_ITMX2-ANLAGE .
         MOVE-CORRESPONDING WA_ITMX2 TO ITMOD .
         APPEND ITMOD.
         CLEAR ITMOD .
        MOVE-CORRESPONDING ITMX2 TO ITMOD .
         APPEND ITMOD.
         CLEAR ITMOD .
    ENDIF.
    MOVE-CORRESPONDING ITMX2 TO WA_ITMX2  .
    ENDLOOP .
    SORT ITMOD BY ANLAGE EQUNR .
    DELETE ADJACENT DUPLICATES FROM ITMOD .
    IF NOT ITMOD[] IS INITIAL .
    SELECT A~EQUNR
           A~ZWNUMMER
           A~ZWKENN
           A~LOGIKZW
           B~ANLAGE
           B~ZWNABR
           FROM ( ETDZ AS A INNER JOIN EASTS AS B
                  ON ALOGIKZW = BLOGIKZW )
            INTO TABLE ITETD
            FOR ALL ENTRIES IN ITMOD
            WHERE A~EQUNR = ITMOD-EQUNR
            AND   A~BIS  GE S_AB-LOW
           AND   A~AB   IN S_AB
            AND   A~ZWNUMMER = 1
            AND   B~ZWNABR NE 'X' .
    SORT ITETD BY ANLAGE EQUNR .
    LOOP AT ITMX2 .
       LOOP AT ITETD WHERE ANLAGE EQ ITMX2-ANLAGE .
              V_ENTER =  1 .
            IF ITETD-EQUNR  EQ ITMX2-EQUNR .
               V_MODIFY =  1 .
               EXIT .
           ENDIF.
      ENDLOOP .
         IF V_ENTER = 1 AND V_MODIFY =  0 .
            DELETE ITMX2 .
         ENDIF.
         CLEAR : ITMX2 ,V_ENTER ,V_MODIFY .
    ENDLOOP .
    ENDIF.
    MESSAGE S015(ZS).
    IF NOT ITMX2[] IS INITIAL .
    SELECT  ANLAGE
             VSTELLE
             ANLART
             ERDAT
             FROM EANL INTO CORRESPONDING FIELDS OF TABLE ITEAN
             FOR ALL ENTRIES IN ITMX2
             WHERE ANLAGE = ITMX2-ANLAGE
             AND   SPARTE = P_SPART
             AND   VSTELLE IN S_VSTELL .
    ENDIF.
    SORT ITEAN BY ANLAGE .
    IF NOT ITEAN[] IS INITIAL .
    SELECT  E~ANLAGE
             E~VSTELLE
             F~haus
             F~VBSART
             F~ERDAT
             H~REGIOGROUP
             H~REGIOAREA
             L~DESCRIPT
         FROM ( ( ( ( EANL AS E INNER JOIN EVBS AS F
                           ON EVSTELLE = FVSTELLE )
                      INNER JOIN EHAUISU AS G ON FHAUS = GHAUS    )
                      INNER JOIN EADRREGAREAA AS H ON G~REGIOGROUP =
                                                            H~REGIOGROUP )
                      INNER JOIN EADRREGAREAT AS L ON H~REGIOAREA =
                                                           L~REGIOAREA   )
             INTO TABLE ITMX4
            FOR ALL ENTRIES IN ITEAN
             WHERE E~ANLAGE = ITEAN-ANLAGE
             AND   E~VSTELLE = ITEAN-VSTELLE
             AND   L~LANGU = SY-LANGU
             AND   H~REGIOGROUP IN S_RGROUP
             AND   H~REGIOAREA IN S_RAREA .
    ENDIF.
    *LOOP AT ITEAN .
    READ TABLE ITMX4 WITH KEY  VSTELLE = ITEAN-VSTELLE .
      IF SY-SUBRC EQ 0 .
         MOVE-CORRESPONDING ITMX4 TO ITEAN .
         ITEAN-ERDAT_EVBS = ITMX4-ERDAT .
         MODIFY ITEAN .
      ENDIF.
    *ENDLOOP .
    LOOP AT ITMX2 .
      ITMX1-ERDAT_EAS = ITMX2-ERDAT .
    MOVE-CORRESPONDING ITMX2 TO ITMX1 .
    READ TABLE ITEAN WITH KEY ANLAGE = ITMX2-ANLAGE .
       IF SY-SUBRC EQ 0 .
             ITMX1-ERDAT_EAN = ITEAN-ERDAT .
             MOVE-CORRESPONDING ITEAN TO ITMX1 .
       READ TABLE ITMX4 WITH KEY ANLAGE = ITMX2-ANLAGE .
        IF SY-SUBRC EQ 0 .
              ITMX1-ERDAT_EVB = ITMX4-ERDAT .
            MOVE-CORRESPONDING ITMX4 TO ITMX1 .
        ENDIF.
    WE WILL GET ONLY THOSE RECORDS THAT IS HAVING REGIO GROUP,DIVISON
        APPEND ITMX1.
        CLEAR ITMX1 .
      ENDIF.
    ENDLOOP .
    IF NOT ITMX4[] IS INITIAL .
    SELECT  EQUNR
             ABLBELNR
             ABLESGR
             ADAT
             ADATSOLL
             ANLAGE FROM V_EABL
             INTO TABLE ITMX3
             FOR ALL ENTRIES IN ITMX1
             WHERE ANLAGE = ITMX1-ANLAGE
            AND   EQUNR  = ITMX1-EQUNR
            AND  ADATSOLL GE S_AB-LOW
            ANd ( ABLESGR  EQ  '01'
            OR  ABLESGR  EQ  '02'
            OR  ABLESGR  EQ  '03'
            OR  ABLESGR  EQ  '22'  ) .
    SELECT  B~EQUNR
             A~ABLBELNR
             A~ABLESGR
             B~ADAT
             B~ADATSOLL
             A~ANLAGE
         FROM ( EABLG AS A INNER JOIN EABL AS B ON AABLBELNR = BABLBELNR
            INTO CORRESPONDING FIELDS OF TABLE ITMX3
            FOR ALL ENTRIES IN ITMX1
            WHERE A~ANLAGE = ITMX1-ANLAGE
            AND   B~EQUNR  = ITMX1-EQUNR
            AND  B~ADATSOLL GE S_AB-LOW
            AND  A~ABRDATS  GE S_AB-LOW
            AND ( A~ABLESGR EQ '01'
            OR  A~ABLESGR EQ '02'
            OR  A~ABLESGR EQ '03'
            OR  A~ABLESGR EQ '22'   ) .
    ENDIF.
    SELECT  ANLAGE
             VKONTO
             VERTRAG
             SPARTE
             FROM EVER INTO TABLE ITEVE
             FOR ALL ENTRIES IN ITMX1
             WHERE ANLAGE = ITMX1-ANLAGE
             AND   SPARTE = P_SPART .
    LOOP AT ITMX1 .
    READ TABLE  ITMX3 WITH KEY ANLAGE = ITMX1-ANLAGE
                                EQUNR  = ITMX1-EQUNR .
      IF SY-SUBRC EQ 0 .
       MOVE-CORRESPONDING ITMX3 TO ITMX1 .
       ENDIF.
      READ TABLE ITEVE WITH KEY ANLAGE = ITMX1-ANLAGE .
       IF SY-SUBRC EQ 0 .
          MOVE-CORRESPONDING ITEVE TO ITMX1 .
       ENDIF.
      MODIFY ITMX1 .
    ENDLOOP .
    SELECT J~BEGABRPE
             J~ENDABRPE
             J~ABRDATS
             J~VKONT
             j~vertrag
             K~BELNR
             K~LFDNR
             K~BUDAT
            FROM ( ERCH AS J INNER JOIN ERCHC AS K ON JBELNR = KBELNR )
            INTO CORRESPONDING FIELDS OF TABLE ITERC
             FOR ALL ENTRIES  IN ITMX1
             WHERE J~VERTRAG = ITMX1-VERTRAG
             AND   J~ADATSOLL GE S_AB-LOW .
    *SELECT BEGABRPE
            ENDABRPE
            ABRDATS
            VKONT
            vertrag
            K~BELNR
            K~LFDNR
            K~BUDAT
           FROM  ERCH     INTO CORRESPONDING FIELDS OF TABLE ITERC
            FOR ALL ENTRIES  in ITMX1
            WHERE VERTRAG = ITMX1-VERTRAG
            and   ADATSOLL GE S_AB-LOW .
    LOOP AT ITMX1 .
    READ TABLE ITERC WITH KEY VERTRAG = ITMX1-VERTRAG .
      IF SY-SUBRC EQ 0 .
        ITMX1-BEGABRPE = ITERC-BEGABRPE .
       ITMX1-ENDABRPE = ITERC-ENDABRPE .
       ITMX1-ABRDATS = ITERC-ABRDATS .
       ITMX1-BELNR = ITERC-BELNR .
       ITMX1-LFDNR = ITERC-LFDNR .
       ITMX1-BUDAT = ITERC-BUDAT .
       MODIFY ITMX1 TRANSPORTING BEGABRPE ENDABRPE ABRDATS  BELNR
          LFDNR BUDAT .
       ENDIF.
    ENDLOOP .
    MESSAGE S014(ZS) .
    LOOP AT ITMX1 .
    MOVE-CORRESPONDING ITMX1 TO ITFIN .
      ITFIN-LTPU = ITMX1-ERDAT_EAN - ITMX1-ERDAT_EVB .
      ITFIN-LTUB  = ITMX1-ERDAT_EAS - ITMX1-ERDAT_EAN .
    IF NOT ITMX1-ADATSOLL IS INITIAL AND ( NOT ITMX1-EINBDAT IS  INITIAL )
       ITFIN-LTBM  =  ITMX1-ADATSOLL - ITMX1-EINBDAT .
         ELSE .
             ITFIN-LTBM = 'NTAV'.
         ENDIF.
      IF NOT ITMX1-ADAT IS INITIAL  AND ( NOT ITMX1-ADATSOLL IS INITIAL ) .
        ITFIN-LTMA  =   ITMX1-ADAT - ITMX1-ADATSOLL .
      ELSE .
        ITFIN-LTMA = 'NTAV' .
      ENDIF.
      IF NOT ITMX1-ABRDATS IS INITIAL AND ( NOT ITMX1-ADAT IS INITIAL ) .
        ITFIN-LTAB  =   ITMX1-ABRDATS - ITMX1-ADAT .
      ELSE .
        ITFIN-LTAB =  'NTAV' .
      ENDIF.
      IF NOT ITMX1-BUDAT IS INITIAL AND ( NOT ITMX1-ABRDATS IS INITIAL ) .
           ITFIN-LTBA =   ITMX1-BUDAT - ITMX1-ABRDATS  .
    ELSE.
        ITFIN-LTBA = 'NTAV'.
      ENDIF.
      ITFIN-SUM = 0.
      IF ITFIN-LTPU NE 'NTAV' AND ITFIN-LTPU NE 'N/A'.
        ITFIN-SUM = ITFIN-SUM + ITFIN-LTPU.
      ENDIF.
      IF ITFIN-LTUB NE 'NTAV' AND ITFIN-LTUB NE 'N/A'.
        ITFIN-SUM = ITFIN-SUM + ITFIN-LTUB.
      ENDIF.
      IF ITFIN-LTBM NE 'NTAV' AND ITFIN-LTBM NE 'N/A'.
        ITFIN-SUM = ITFIN-SUM + ITFIN-LTBM.
      ENDIF.
      IF ITFIN-LTMA NE 'NTAV' AND ITFIN-LTMA NE 'N/A'.
        ITFIN-SUM = ITFIN-SUM + ITFIN-LTMA.
      ENDIF.
      IF ITFIN-LTAB NE 'NTAV' AND ITFIN-LTAB NE 'N/A'.
        ITFIN-SUM = ITFIN-SUM + ITFIN-LTAB.
      ENDIF.
      IF ITFIN-LTBA NE 'NTAV' AND ITFIN-LTBA NE 'N/A'.
        ITFIN-SUM = ITFIN-SUM + ITFIN-LTBA.
      ENDIF.
      APPEND ITFIN .
      CLEAR ITFIN .
    ENDLOOP .
    DELETE ADJACENT DUPLICATES FROM ITFIN .
    PERFORM SUMMARY .
    Message S013(ZS).
    PERFORM BACKGROUND .
    CLEAR: ITMX2[] ,ITSPL[],ITEGE[] ,ITTE4[],ITMX7[] .
    MESSAGE S017(ZS) .
    SUBROUTINES********************************
    FOR INSTALLATION********************************
    FORM INSTALL .
      SELECT GERWECHS
            EAWKENNZE
            EAWKENNZW
             FROM TE401 INTO CORRESPONDING FIELDS OF TABLE ITTE4
            WHERE GERWECHS IN S_GERWE
              AND  EAWKENNZE = 'X' .
    IF SY-SUBRC NE 0 .
       MESSAGE S002(ZS).
       LEAVE TO LIST-PROCESSING .
    ENDIF.
    ENDFORM .
    ************************REPLACE****************************
    FORM REPLACE .
      SELECT GERWECHS
             EAWKENNZE
             EAWKENNZW FROM TE401 INTO CORRESPONDING FIELDS OF TABLE ITTE4
        WHERE GERWECHS IN S_GERWE
        AND  EAWKENNZW = 'X' .
    IF SY-SUBRC NE 0.
       MESSAGE S003(ZS) .
       LEAVE TO LIST-PROCESSING .
    ENDIF.
    ENDFORM .
    ************************INSTALL/REPLACEMENT*********************
    FORM INS_REPL .
      SELECT GERWECHS
           EAWKENNZE
           EAWKENNZA
           EAWKENNZW FROM TE401 INTO CORRESPONDING FIELDS OF TABLE ITTE4
      WHERE GERWECHS IN S_GERWE
      AND ( EAWKENNZE = 'X'
      OR  EAWKENNZW = 'X'  ) .
    IF SY-SUBRC NE 0.
       MESSAGE S004(ZS) .
       LEAVE TO LIST-PROCESSING .
    ENDIF.
    ENDFORM .
    FIELD CATALOG FOR DETAILED REPORT ******************
    FORM FIELDCATALOG USING F_FIELDCAT .
      CLEAR SFLD .
      SFLD-FIELDNAME = 'STATUS' .
      SFLD-SELTEXT_S = 'Details'.
      SFLD-SELTEXT_M = 'Details'.
      SFLD-JUST =   'L' .
      SFLD-KEY  = 'X' .
      APPEND SFLD TO ITFLD .
      CLEAR SFLD .
      SFLD-FIELDNAME = 'EQUNR' .
      SFLD-SELTEXT_S = 'Equipment'.
      SFLD-SELTEXT_M = 'Equipment'.
      SFLD-JUST =   'L' .
      SFLD-KEY  = 'X' .
      APPEND SFLD TO ITFLD .
      CLEAR SFLD .
      SFLD-FIELDNAME = 'ANLAGE' .
      SFLD-SELTEXT_S = 'Installat.'.
      SFLD-SELTEXT_M = 'Installation'.
      SFLD-JUST =   'L' .
      SFLD-KEY  = 'X' .
      APPEND SFLD TO ITFLD .
      CLEAR SFLD .
      SFLD-FIELDNAME = 'SERNR' .
      SFLD-SELTEXT_S = 'Serial no.'.
      SFLD-SELTEXT_M = 'Serial number'.
      SFLD-JUST =   'L' .
    SFLD-KEY  = 'X' .
    SFLD-HOTSPOT = 'X' .
      APPEND SFLD TO ITFLD .
      CLEAR SFLD .
      SFLD-FIELDNAME = 'VKONTO' .
      SFLD-SELTEXT_S = 'Cont.Acct'.
      SFLD-SELTEXT_M = 'Contract Acct'.
      SFLD-JUST =   'L' .
    SFLD-KEY  = 'X' .
    SFLD-HOTSPOT = 'X' .
      APPEND SFLD TO ITFLD .
      CLEAR SFLD .
      SFLD-FIELDNAME = 'REGIOAREA' .
      SFLD-SELTEXT_S = 'Reg. area'.
      SFLD-SELTEXT_M = 'Reg. struc.area'.
      SFLD-JUST =   'L' .
      SFLD-KEY  = 'X' .
      APPEND SFLD TO ITFLD .
      CLEAR SFLD .
      SFLD-FIELDNAME = 'REGIOGROUP' .
      SFLD-SELTEXT_S = 'RegStrGrp.'.
      SFLD-SELTEXT_M = 'Reg. Str. Grp.'.
      SFLD-JUST =   'L' .
      SFLD-KEY  = 'X' .
      APPEND SFLD TO ITFLD .
      CLEAR SFLD  .
      SFLD-FIELDNAME = 'LTPU' .
      SFLD-SELTEXT_S = 'Prm-Util'.
      SFLD-SELTEXT_L = 'Premise to Utility installation in days'.
      SFLD-JUST =   'R' .
    SFLD-KEY  = 'X' .
      APPEND SFLD TO ITFLD .
      CLEAR SFLD .
      SFLD-FIELDNAME = 'LTUB' .
      SFLD-SELTEXT_S = 'Util-BInst'.
      SFLD-SELTEXT_L = 'Utility to Billing installation in days'.
      SFLD-JUST =   'R' .
    SFLD-KEY  = 'X' .
      APPEND SFLD TO ITFLD .
      CLEAR SFLD .
      SFLD-FIELDNAME = 'LTBM' .
      SFLD-SELTEXT_M = 'BInst-MRO'.
      SFLD-SELTEXT_L = 'Billing to Meter reading order in days'.
      SFLD-JUST =   'R' .
    SFLD-KEY  = 'X' .
      APPEND SFLD TO ITFLD .
      CLEAR SFLD .
      SFLD-FIELDNAME = 'LTMA' .
      SFLD-SELTEXT_M = 'MRO-AcRead'.
      SFLD-SELTEXT_L = 'Meter reading order to actual reading in days'.
      SFLD-JUST =   'R' .
    SFLD-KEY  = 'X' .
      APPEND SFLD TO ITFLD .
      CLEAR SFLD .
      SFLD-FIELDNAME = 'LTAB' .
      SFLD-SELTEXT_M = 'AcRead-BiOr'.
      SFLD-SELTEXT_L = 'Actual reading to Billing order in days'.
      SFLD-JUST =   'R' .
    SFLD-KEY  = 'X' .
      APPEND SFLD TO ITFLD .
      CLEAR SFLD .
      SFLD-FIELDNAME = 'LTBA' .
      SFLD-SELTEXT_M = 'BiOr-AcBill'.
      SFLD-SELTEXT_L = 'Billing order to Actual billing in days'.
      SFLD-JUST =   'R' .
    SFLD-KEY  = 'X' .
      APPEND SFLD TO ITFLD .
      CLEAR SFLD .
      SFLD-FIELDNAME = 'SUM' .
      SFLD-SELTEXT_M = 'TOTAL'.
      SFLD-SELTEXT_L = 'Total lead time in days'.
      SFLD-JUST =   'R' .
    SFLD-KEY  = 'X' .
      APPEND SFLD TO ITFLD .
      CLEAR SFLD .
      SFLD-FIELDNAME = 'VSTELLE' .
      SFLD-SELTEXT_S = 'Premise'.
      SFLD-SELTEXT_M = 'Premise'.
      SFLD-JUST =   'L' .
    SFLD-KEY  = 'X' .
      APPEND SFLD TO ITFLD .
      CLEAR SFLD .
      SFLD-FIELDNAME = 'LOGIKNR' .
      SFLD-SELTEXT_S = 'LogDev.no.'.
      SFLD-SELTEXT_M = 'Log. dev. no.'.
      SFLD-JUST =   'L' .
    SFLD-KEY  = 'X' .
      APPEND SFLD TO ITFLD .
      CLEAR SFLD .
      SFLD-FIELDNAME = 'BIS' .
      SFLD-SELTEXT_M = 'Valid to'.
      SFLD-SELTEXT_L = 'Date at Which a Time Slice Expires'.
      SFLD-JUST =   'C' .
      SFLD-NO_OUT  = 'X' .
      APPEND SFLD TO ITFLD .
      CLEAR SFLD .
      SFLD-FIELDNAME = 'AB' .
      SFLD-SELTEXT_M = 'Valid from'.
      SFLD-SELTEXT_L = 'Date from which time slice is valid'.
      SFLD-JUST =   'C' .
      SFLD-NO_OUT  = 'X' .
      APPEND SFLD TO ITFLD .
      CLEAR SFLD .
      SFLD-FIELDNAME = 'ZWGRUPPE' .
      SFLD-SELTEXT_S = 'Reg. group'.
      SFLD-SELTEXT_M = 'Register group'.
      SFLD-JUST =   'C' .
      SFLD-NO_OUT  = 'X' .
      APPEND SFLD TO ITFLD .
      CLEAR SFLD .
      SFLD-FIELDNAME = 'EINBDAT' .
      SFLD-SELTEXT_S = 'Inst. date'.
      SFLD-SELTEXT_M = 'Install. date'.
      SFLD-JUST =   'C' .
      SFLD-NO_OUT  = 'X' .
      APPEND SFLD TO ITFLD .
      CLEAR SFLD.
      SFLD-FIELDNAME = 'AUSBDAT' .
      SFLD-SELTEXT_S = 'Remov.date'.
      SFLD-SELTEXT_M = 'Removal date'.
      SFLD-JUST =   'C' .
      SFLD-NO_OUT  = 'X' .
      APPEND SFLD TO ITFLD .
      CLEAR SFLD .
      SFLD-FIELDNAME = 'GERWECHS' .
      SFLD-SELTEXT_S = 'Reason'.
      SFLD-SELTEXT_M = 'Activity reason'.
      SFLD-JUST =   'C' .
      SFLD-NO_OUT  = 'X' .
      APPEND SFLD TO ITFLD .
      CLEAR SFLD .
      SFLD-FIELDNAME = 'DEVLOC' .
      SFLD-SELTEXT_S = 'Dev. loc.'.
      SFLD-SELTEXT_M = 'Device location'.
      SFLD-JUST =   'C' .
      SFLD-NO_OUT  = 'X' .
      APPEND SFLD TO ITFLD .
      CLEAR SFLD .
      SFLD-FIELDNAME = 'SPARTE' .
      SFLD-SELTEXT_S = 'Division'.
      SFLD-SELTEXT_M = 'Division'.
      SFLD-JUST =   'C' .
      SFLD-NO_OUT  = 'X' .
      APPEND SFLD TO ITFLD .
      CLEAR SFLD .
      SFLD-FIELDNAME = 'ANLART' .
      SFLD-SELTEXT_S = 'Inst. type'.
      SFLD-SELTEXT_M = 'Inst. type'.
      SFLD-JUST =   'C' .
      SFLD-NO_OUT  = 'X' .
      APPEND SFLD TO ITFLD .
      CLEAR SFLD .
      SFLD-FIELDNAME = 'HAUS' .
      SFLD-SELTEXT_S = 'Conn.obj.'.
      SFLD-SELTEXT_M = 'Connection obj.'.
      SFLD-JUST =   'C' .
      SFLD-NO_OUT  = 'X' .
      APPEND SFLD TO ITFLD .
      CLEAR SFLD .
      SFLD-FIELDNAME = 'VBSART' .
      SFLD-SELTEXT_S = 'Prem. type'.
      SFLD-SELTEXT_M = 'Premise type'.
      SFLD-JUST =   'C' .
      SFLD-NO_OUT  = 'X' .
      APPEND SFLD TO ITFLD .
      CLEAR SFLD.
      SFLD-FIELDNAME = 'ABBELNR' .
      SFLD-SELTEXT_S = 'Int.MRD ID'.
      SFLD-SELTEXT_M = 'Int. MR doc. ID'.
      SFLD-JUST =   'C' .
      SFLD-NO_OUT  = 'X' .
      APPEND SFLD TO ITFLD .
      CLEAR SFLD.
      SFLD-FIELDNAME = 'ABLESGR' .

  • Questions for Purchaser viewing only

    Hi team,
    When creating RFX's, can you alert me of how you insert questions which are for 'purchaser viewing only' ?
    There doesn't seem to be a function available on the page. I need this for some scoring issues which i have when posing, 'If not type questions'.
    Many thanks.
    Leon

    Hi
    What I understand of your requirement is that you need to keep some questions/ Sections visibility restricted to Purchaser Only . Unfortunately this is not possible.However I can suggest some workarounds which may apply to your business case:
    some questions may be applicable for some candidates, yet not for the other. With this in mind, we still need all scores being scored
    Here you can set question section scoring method preference to Manually Score. All the questions would be visible to all the suppliers but you can designate which section of questions is meant for which supplier. Once you receive responses from supplier you would manually assign score keeping in consideration your reservations.
    You can decide on a neutral score to be given for question that were not meant for the supplier.
    In case you simply dont want suppliers to have visibility to all the questions, you need to create  seperate RFx events for such suppliers from within a project.In this case each supplier would only answer the questions meant for him/ her and from multiple RFx events you can select the one to be awarded based on scores obtained.
    Regards
    Mudit Saini
    Edited by: Mudit_UCB on Nov 25, 2011 8:17 AM
    Edited by: Mudit_UCB on Nov 25, 2011 8:17 AM

  • Beginner question: Delegate / Conroller / View usage

    in simple term:
    e.g. if i have 2 views.
    how should i design the entry point?
    and what classes should i use?
    e.g.
    main          =calls= >     delegate
    delegate     =calls= >     controller
    like this?
    then is the delegate designed like this:
    Delegate {
         View view_1;
         View view_2;
    Then the messages about changing views is on the delegate and not the controller?
    i know it is a newbie question.  so quite shy to ask.
    anyway, any help is apreciated~

    Anyone help?
    This is about the template of a "multi-view" application.

  • Removing Security Questions/Answers from View

    I have set up a simple View Only Admin Role used only by Lotus Notes admins and excluded all but the Notes Resource.
    For the most this works fine as they can see only Notes account info of the users that have Notes accounts.
    But the view also includes the Security Questions/Answers which they have no need to see.
    What do I need to exclude to prevent this role from seeing Security Questions/Answers ?

    Reslolved by creating new View Form and assigned to role

  • Stupid question - please explain 'dual system' to me...

    I'm looking at a 2nd hand mac. Can someone explain to me what dual systems are and how they work? Why do they make dual systems? What is the advantage This is what I'm looking at:
    APPLE MAC G4 QUICKSILVER TOWER DUAL PROCESSOR RUNNING 10.4.11 COMPLETE SYSTEM
    THIS MAC HAS TWO 867MHZ(1.734HZ)PROCESSORS WORKING AS ONE. I'm really looking to expand my current G4 but as this 2nd hand one has a whole bunch of software I'd love to get my hand on it seems quite good value.
    I know it's a very basic question but I've done a search and cannot find an explanation, I'm not afraid of appearing dumb haha!

    "Dual system" usually means having two operating systems on your computer so your computer can boot to either kind. For example, I have both OSX Tiger and OS9 on this computer. I can boot to either.
    What you indicate is a dual processor computer. It has two processors inside. Some programs (especially video and graphics) require a lot of processing power. If you do video on a single processor computer it can tie up the computer. If you want to do other work, other than maybe the simplest task, you may find the computer slows down a lot because the video is basically hogging the single processor. If you have a dual processor computer it can handle multiple processor-hungry tasks at one time and you can use the computer normally. Note that having two processors often doesn't do a task any faster than a single, except to the extent that the computer isn't waiting for other things to finish. A video will process twice as fast on a 1600 MHz (1.6GHz) single processor computer than dual (2x) 800 MHz. However, if you want to do a lot of other work while it is processing then the 1.6GHz computer will be tied up for two hours and you won't be able to do much else during that time. Although the task may take 4 hours on a slower, dual processor computer, you can continue working while it is doing the processing instead of sitting around waiting. In that regard dual processor computers can be "faster" (at least in terms of your productivity) than faster single processor computers.
    So, if you do a lot of CPU intensive work (graphics, video) a dual processor can be worth it, and sometimes even better than a faster single proccessor, but they cost more. If you don't do that kind of work then you can usually get a faster single processor computer for the same money and that will be a faster computer for how you use it.
    Another way to think of it is in terms of single and multi-lane highways. During rush hour it may be faster to go on a single-lane highway with a slower speed limit than a crowded multi-lane with a higher speed limit where if the traffic is so heavy a single lane gets crowded an maybe slower than the multi-lane.

Maybe you are looking for

  • Adobe Creative Cloud app, Mac OSX, "The Creative Cloud installation is no longer functioning..."

    OS: 10.9.4 For about 2+ weeks I've been getting the following message in the Creative Cloud App: Download Error The Creative Cloud installation is no longer working uninstall and download again from http... I've searched through various discussions a

  • Report Viewer control in sharepoint 2013 provider hosted app

    sharepointSite/_vti_bin/ReportServer We are migrating sp 2010 site to SP 2013 provider hosted app. we are using Report viewer control (version 10.0.0) in .net application app server, And the reporting service is configured in sharepoint site and repo

  • JQuery Mobile in Dreamweaver CS6

    This question was posted in response to the following article: http://helpx.adobe.com/dreamweaver/using/whats-new Mulling the upgrade to CS6. This article says Dreamweaver CS6 ships with jQueryMobile 1.0 and jQuery 1.6.4. We now have version 1.1.0 of

  • Java Section in IR

    How do we use the Java Section (Message mapping>Design>Edit Java Sections) in IR.

  • Can't change default user name on Authentication dialogs

    Due to a corrupt user account, I had to create a new user account. I specified a "2" at the end of my full name i.e. "Full Name 2" because I couldn't use the same full name as the corrupt account. I still haven't deleted the old corrupt one yet just