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,
LynnHi,
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 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 -
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 AMsoleil4716 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,
SandyYour 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, NorwaySupplier_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 -
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.
LeonHi
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
-
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
-
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