Storage Hierarchy

Hi,
Can any one Please tell me why there is a 4 levels in hierarchy of storage mechanism in oracle...
I mean, why there is hierarchy like Tablespace, Segments, Extents and Blocks.
Why not Tablespace and Blocks directly. Or if segments are for grouping then why Extents atleast...
Thanks...

When we create a database one thing we can set is DB Block Size. Because Db block size is dependent on OS block size and this needs to be multiple of OS blcok size i.e 2k,4k,8k,16k,32k.
So why we created this block is that the minimum unit of memory that will be allocated at the OS level will be in terms of OS block.
Now, when it comes to the Oracle level, one option can be allocate blocks one by one and one option can be allocating blcoks in a bunch which is better option in terms if I/O. So bunch of blocks is known as Extent.
Now once we set the DB_BLOCK_SIZE parameter at the database creation time, it cannot be changed till the life of database(Standard Block size). So to have different memory allocation for different objects, we can size the extent.
Now come to one level up,i.e Segments. Segment is nothing but a objects itself with same name as Object. Segment size is the total size of extents allocated for the object.
Need for this is when we manage space or reorginize space for a object we can simply reorginize the segments. Extents can be easily identified for a particular segment. If segment level was not there, then we would have need to find each extent belonging to a particula segment individualy. So again space management is made easy.
Now come to the Tablespace level, it as simple to understand that we have divided a big land into Plots and allocated those plots for the various people depending on the type of work.

Similar Messages

  • The Extent Storage Structure

    Hi,
    I have been reflecting over the rationale behind having the extent storage structure in Oracle databases. Because my knowledge of Oracle database administration is rather limited, I could only come up with some meager explanations for the rationale behind having extents in the database storage hierarchy.
    Here is my explanation, which I would appreciate if you could add to or correct if necessary. While allocating disk space to say an index segment, it makes sense to allocate a chunk of contiguous data blocks to the segment at one time so that when Oracle has to perform I/O, the seek time and rotational delay for all but the first block is eliminated for each extent in the segment. In addition, keeping track of free space in extents via bitmaps is far more efficient than having to keep track of free space in individual data blocks, since the number of extents in a data file would be significantly less than the number of data blocks in that file, resulting in the bitmap of extents being far smaller.
    Plus, I would appreciate if you could highlight where Oracle stores overhead information for an extent, i.e. information like the number of data blocks it contains, the segment it belongs to, etc.
    Thanks,
    Karim

    Oracle and extent management -> http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14220/logical.htm#i8531

  • Can I delete contents of the history cache?

    I was trying to do a poor man's backup of a my wife's root folder (and all it contains) by simply dragging her root folder into a net drive I have mounted. It's worked before. And it's an expedient method until I settle on a real backup app.
    Half way through the 50-minute process, the system says that the receiving file system choked on a filename that was too long and (after I ack'd the warning) it aborted the partially completed copy cycle. With some terminal magic I was able to locate the offending file ... just one of many in ~/Library/Caches/Metadata/Safari/History/ having an extremely long file name.
    Not knowing how Safari actually manages history references, I avoided the temptation of deleting any of these directly, thinking instead that using Safari's history clearing service would do the trick. .... nah! ...
    It does clear "http:" references, but for some reason leaves "https:" references intact. (Go figure???) and a lot of these have names of a greater length than the original file that choked my copy file command.
    So I'm back to my temptation of clearing out the whole darn ~/Library/Caches/Metadata/Safari/History/ folder. (1) Is that advisable? (2)If I do that, is there anything else I should do to correctly implement the 'manual' history expulsion? I do not mind permanently losing the ability to restore the history records I'm wiping out?
    All I am seeking is the answer to the above two questions.
    But my experience does beg the wider question "How does one really completely and effectively delete the entire browsing history? - note: here I just mean return all safari history data storage to the 'available storage heap' .... don't even need to securely erase it (though this might be useful too), I just don't want it to be inside my wife's storage hierarchy anymore, so I can get on with my 'easy' backup hack.
    Message was edited by: fiddleaway

    Hi
    ...clearing out the whole darn ~/Library/Caches/Metadata/Safari/History/ folder.
    1) Is that advisable?
    it's no great loss - although it contains not actual history, but data about it, Meaning you can lose that folder entirely & not see any change in Safari's record of where you've been.
    (2)If I do that, is there anything else I should do to correctly implement the 'manual' history expulsion?
    No, just do it while Safari's quit - or occasionally the app might write the file again.
    "How does one really completely and effectively delete the entire browsing history?
    everything in the Safari folder less bookmarks;
    Home/Library/Caches/Metadata/Safari/;
    ~/Library/Caches/com.apple.Safari;
    ~/Library/Preferences/Macromedia/;
    ~/Library/Cookies/
    would be a good start

  • What are developers​' opinions on how best to handle upgrading large code libraries with multiple apps to new a labview version?

    I have a large set of code that I've painstakingly migrated from one labview version to another over the years.  I have lots of deployed applications that I need to continue to support.  From experience and interaction with other developers, I don't think I can continue to migrate every application to a new labview version when I upgrade going forward.  Every application seems to break in one way or another, the builds don't work right and need to be re-done, and its too much time to get all my applications working and tested again.  That opinion is solidified by NI's policies that make it impossible to install old toolkit versions on new labview versions, for example.  Compatibility is often being sacrificed so NI can develop labview in the direction they choose.  So I have to take the position that whatever version I write an application in will probably need to be maintained in that labview version throughout it's life.
    In light of this, how are other developers managing older applicatiosn written in older versions of labview.  Right now I have a virtual PC on my system with 7.1, 8.0, 8.2, and 8.5 all running on different virtual PC's so I can keep each installation separate.  I strongly recommend this approach.  But keeping my large libraries of code separate is tough.  They are many GB, they all link to each other, and I always get worried even when I separate them in different directories that somehow labview will search in the wrong place and find the wrong version of a sub-vi.  Are other people also trying to maintain separate copies of all their code in different labview versions?  How are other people managing this problem?
    -Devin
    I got 99 problems but 8.6 ain't one.
    Solved!
    Go to Solution.

    Hi,
    The following directory hierarchy, coupled with a "hierarchical" VI naming strategy, have been effective (for me) at preventing "cross-linking" across projects and LV versions. The storage hierarchy was designed for use within an SCC environment, but works fine independently. Hierarchical-naming insures unique names for application-specific files. Use of Project Libraries (in LabVIEW 8.x) addresses the problem of having different VIs with the same name, still, it gives me warm-fuzzies to have app-specific files named uniquely, and I can't imagine not using Hierarchical-naming anymore - it's described at-length in section 2.1 of attached .doc..
    Note: It's been my experience that companies identify resources as supporting specific "Programs", where a Program is related to a product or "family" of products, so, under <Programs> (below) each "Program" subdirectory encapsulates product-specific (or product-family-specific) applications. Also, assuming no SCC tool is being employed the <Production> directory (below) exists as a repository for distributables.  All distributables required to reproduce a test-station should be located under <Production>.
    <Software_Root>
    <Development>
    | <Common>
    | | <LabVIEW_61>
    | | | <Drivers>
    | | | | <DMM>
    | | | | <OS>
    | | | | <PS>
    | | | <Utilities>
    | | |   <File>
    | | |   <Error>
    | | |   <String>
    | | <LabVIEW_711>
    | | <LabVIEW_82>
    | | <LabVIEW_851>
    <Programs>
    * Program-specific applications that (probably) have distributables
    | <Program_#1>
    | | <Application_#1>
    | |   <Docs>
    | |   <Source>
    *       Individual, application-specific, VIs go here
    | | <Application_#2>
    | | <Application_#3>
    | <Program_2>
    | | <Program_3>
    | <Tools>
    *   Tools are NOT "program"-specific, and, may have distributables
    |   <SomeTool>
    |   <SomeOtherTool>
    <Production>
    | <COTS&Freeware>
    | <Programs>
    | | <Program_1>
    | | | <Application_#1>
    | | | | <Application_#1_Rev#1>
    | | | |   Application_#1.bld>
    | | | |   <EXE>
    | | | |   <Installer>
    | | | |   <Source>
    | | | |     Application_#1.llb>
    *           Distributable is created from LLB "snapshot", not directly from development tree
    | | | <Application_#2>
    | | | | <Application_#2_Rev#1>
    | | | |    Application_#2.lvproj>
    | | | |   <EXE>
    | | | |   <Installer>
    | | | |   <Source>
    | | | |     Application_#2.llb>
    | <Tools>
    "Inside every large program is a small program struggling to get out." (attributed to Tony Hoare)
    Attachments:
    StyleGuide.doc ‏941 KB

  • Can I import a "folder tree" into an "album tree"?

    I have organized a large set of photos on my PC into a nice "directory tree" or hierarchy of nested folders. The nesting structure makes sense since there is a clear hierarchical relationship amongst the photos, and there are so many of them. Viewing them is easy on my PC - I just navigate the folder structure and go into "Picture Viewer" in each folder to see all the pictures on a particlar topic.
    Now, I want to do this on my Mac. Since we lack a "Picture Viewer" function in the iMac world (unless I go look for a freeware one), I am wondering if iPhoto can hold this kind of structure. Basically, albums within albums. I've tried to create a new one and move it inside an existing one and it doesn't seem to like that. Is one level the best iPhoto can do? If so, that is pathetic. The world is more complex than that. I am using iPhoto 2.0.1.
    If it is possible, my extra credit question for whoever tackles this is "can I import the folder structure into iPhoto and keep the nested structure as a tree of albums?". Thanks.

    iPhoto is for people who want a one-app solution for managing all their photos, preparing photo books, ordering prints, and preparing slide shows, and who are satisfied with two levels of storage hierarchy and very limited image editing options. This mostly means family snapshooters. You have a very primitive early version of iPhoto which was bundled at no cost with consumer Macs in its day. iPhoto 6 in particular offers much more organizational flexibility than previous versions, but it's by no means a professional photographer's tool.
    I have nearly 100,000 photos stored on my computers. About 10,000 of them are in eight different iPhoto libraries. The best of my own work and my archives of historical photos are stored in folder hierarchies of my own design, not in iPhoto libraries, and I edit and sort them and prepare prints and presentations using them in Photoshop CS2, Adobe Bridge, GraphicConverter, ViewIt, and occasionally other apps.

  • Going from iPhoto 4 to iPhoto 6 - caveats?...anyone?

    I have iPhoto 4.0.3 and am seriously considering iLife06. Aside from the usual smartness of backing up all 1,500+ photos first, will it really be as simple as installing iLife06 or should I just as soon leave it all well enough alone ans stick with iPhoto4?

    Hi,
    I just did exactly that upgrade, 4->6, on Saturday. I've had no problems whatsoever. I have a huge iPhoto library, something like 17,000 photos and ~39 GB of data, so I was naturally worried, but I'm happy to say that so far, not a single problem, and vastly improved performance.
    All I did beforehand was backup my entire library to an external hard drive (I keep rolling backups regularly as well, but I made a complete, new backup just to be extra cautious.) I also then dismounted and disconnected that external drive, just to further safeguard my data. I then did a general clean up & permissions repair of my system and photo drives. I use the tool called "Cocktail" to do the cache cleaning, permissions repair, and such, but the permissions repair could also be done 'manually' using disk utility. I further used disk utility to just do a 'verify disk', which showed no problems with my photo library drive.
    I think this is pretty much ordinary prep work for any significant upgrade, and if you're confused about any of it, you can certainly find lots of other posts about exactly how to do any of these steps. I think the two significant ones, really, are "Verify Disc" (and repair, if indicated), and "Repair Permissions". Consensus seems to be those two are critical.
    Anyway, after all that was done, I put the iLife DVD in and just ran the normal upgrade. Once it was done, I launched iPhoto and let it go. It churned for quite a while -- it reorganizes the photo storage into a different folder hierarchy, and creates new thumbnails, so that took a while. Once it was all over with, iPhoto is working great, with no problems detected so far at all.
    As part of the process, it also found a few hundred "orphaned" photos, and it asked me what to do with them, so I had it put them in a new album, just so I could see what they were. It looks like they were mostly photos I had deleted; one theory I have is that they were somehow orphaned when iPhoto 4 crashed on me -- which it did multiple times over the years.
    I'm not sure what the previous poster was referring to by "Messy." It does re-organize the photos from the old date-sorted folder structure to a new Original/Modified and segregated by Film Roll structure. I don't ever muck around within the iPhoto storage hierarchy, so this has all been totally transparent to me, although I did have a peek just to see how it is implemented. I think this is a part of a new option to have iPhoto leave your photos where they are rather than copying them into your library location (which in principle should allow photo libraries to span multple discs, but I haven't verified that part.) So while others are considering the re-org to be a disaster, I look at it as a good thing. All the film rolls and photo albums I had in iPhoto 4 transferred flawlessly to iPhoto 6, and that's all I really care about.
    So far, I'm thrilled with the upgrade. iPhoto 4 had gotten frustratingly slow to use - I was so tired of watching the rainbow spinner! 6 is super quick and smooth, and the editing tools are greatly enhanced. I played with the book, calendar, and iWeb export, but haven't actually followed through with any purchases yet. I did export a few photos and upload them, with no problems.
    Good luck!
    G4 Dual 1 GHz MDD, PowerBook G4   Mac OS X (10.3.9)  

  • Hierarchy Parent Child Relation Storage

    Hello All,
                I need to display hier. info in parent-child format. Any ideas on how to store parent child relationship in an ODS....I can view this format in the infoobject display screen for hierarchy...but cannot get this format to display..
    EX: Parent - child1,2,3,4
          child1- child 1-1,1-2,...
          child2 - child 2-1,2-2...
    thanks

    Spanyal,
    You will have to write a program to store this information in an ODS object. You will have to use /BIC/h<IO> Table to read the data and update a custom table. You will have to do some basic checks like business content or not, plan version, time dependency etc in the entry screen and then the program can read the hierarchy table in the format you want.
    I am not aware of any simpler way to populate hierarchy data into an ods object in a meaningful fashion.
    -Saket

  • Opening Stock Comapny - Plant - Material - Batch - Storage location Wise

    Dear Friends,
    I want to do the following report. I will explain the details to you. Pleaes suggest on how to go about it.
    1. Since you know that SAP stores stock in a summary form (Plant / Material wise). Our management wants the report on the following hierarchy. (Company - Plant - Material - Batch - Storage). Our management has suggested the following:
    a. Create a ZTABLE with the above columns including Quantity (which will contain closing stock quantity).
    b. In this calculate and store Closing stock for each month. 
    c. an insert / update program has to be created for uploading data in the ZTABLE (selection will contain date).
    for ex:
    When running the  program for 31st March 2008. system will take the closing stock stored in the ZTABLE for previous months + March Receipt - March issues. the result will be the closing stock for March 2008.
    d. Then a report will be prepared using the ZTABLE and other calculated fields.
    Can anyone give me the guideline as to how to go about it. Tables to be used and logic to be followed? Or if any other way the result can be achieved then nothing like it.
    The Managements final goal is to have any given date closing stock in the above hierarchy (minimizing the Performance issue... that is why the suggestion of ZTABLE)...
    Awaiting for your expert opinions.....
    Regards,
    Jitesh M Nair

    Figured out

  • How to include a Header in Hierarchy List (ALV)?

    Hi Gurus,
    If we need to include any header in ALV Grid, then we generate an event and pass that header to TOP_OF_PAGE event. We do have I_CALLBACK_TOP_OF_PAGE parameter for the REUSE_ALV_GRID_DISPLAY function module.
    But how do I generate a Header for a Hierarchy List? I do not find any parameter for TOP_OF_PAGE event. Please help with inputs.
    Regards,
    Kiran

    Hi Kiran,
                The  following codes are very useful to you...
    If any problem let me know...
    REPORT  zxxxxxxxxxxxxxx    LINE-SIZE 220
                               LINE-COUNT 50(5).
    *&                       DATA DECLARATION                              *
    TABLES: MARA,                      "GENERAL MASTER DATA
            MARC,                      "PLANT DATA FOR MATERIAL
            MARD,                      "STORAGE LOCATION DATA FOR MATERIAL
            MBEW,                      "MATERIAL VALUATION
            MVKE,                      "SALES DATA FOR MATERIAL
            MAKT,                      "MATERIAL DESCRIPTION
            EKKO,                      "PURCHASING DOCUMENT HEADER
            EKPO,                      "PURCHASING DOCUMENT ITEM
            VBAK,                      "SALES DOCUMENT HEADER DATA
            VBAP.                      "SALES DOCUMENT ITEM DATA
    TYPE-POOLS : SLIS.
    DATA: VT_FIELDCAT1 TYPE SLIS_T_FIELDCAT_ALV,
          V_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
          V_LAYOUT TYPE SLIS_LAYOUT_ALV,
          BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE,
          BEGIN OF I_MARA OCCURS 0,
             MATNR LIKE MARA-MATNR,  "MATERIAL NUMBER
             MBRSH LIKE MARA-MBRSH,  "INDUSTRY SECTOR
             MEINS LIKE MARA-MEINS,  "BASE UNIT OF MEASURE
             MATKL LIKE MARA-MATKL,  "MATERIAL GROUP
          END OF I_MARA,
          BEGIN OF I_MARC OCCURS 0,
             MATNR LIKE MARC-MATNR,  "MATERIAL NUMBER
             WERKS LIKE MARC-WERKS,  "PLANT
             LVORM LIKE MARC-LVORM,  "FLAG MATERIAL FOR DELETION AT PLANT
                                      "LEVEL
             DISPO LIKE MARC-DISPO,  "MRP CONTROLLER
          END OF I_MARC,
          BEGIN OF I_MAKT OCCURS 0,
             MATNR LIKE MAKT-MATNR,  "MATERIAL NUMBER
             MAKTX LIKE MAKT-MAKTX,  "MATERIAL DESCRIPTION
             SPRAS LIKE MAKT-SPRAS,  "LANGUAGE KEY
          END OF I_MAKT,
          BEGIN OF I_MVKE OCCURS 0,
             MATNR LIKE MVKE-MATNR,  "MATERIAL NUMBER
             VKORG LIKE MVKE-VKORG,  "SALES ORGANIZATION
             VTWEG LIKE MVKE-VTWEG,  "DISTRIBUTION CHANNEL
          END OF I_MVKE,
          BEGIN OF I_MARD OCCURS 0,
            MATNR LIKE MARD-MATNR,  "MATERIAL NUMBER
            LGORT LIKE MARD-LGORT,  "STORAGE LOCATION
            LABST LIKE MARD-LABST,  "VALUATED STOCK WITH UNRESTRICTED USE
          END OF I_MARD,
          BEGIN OF I_EKPO OCCURS 0,
            EBELN LIKE EKPO-EBELN,  "PURCHASING DOCUMENT NUMBER
            EBELP LIKE EKPO-EBELP,  "ITEM NUMBER OF PURCHASING DOCUMENT
            MATNR LIKE EKPO-MATNR,  "MATERIAL NUMBER
          END OF I_EKPO,
          BEGIN OF I_VBAP OCCURS 0,
            VBELN LIKE VBAP-VBELN,  "SALES DOCUMENT
            POSNR LIKE VBAP-POSNR,  "SALES DOCUMENT ITEM
            MATNR LIKE VBAP-MATNR,  "MATERIAL NUMBER
          END OF I_VBAP,
          BEGIN OF I_OUT OCCURS 0,
            MATNR LIKE MARC-MATNR,
            WERKS LIKE MARC-WERKS,
            LVORM LIKE MARC-LVORM,
            DISPO LIKE MARC-DISPO,
            MBRSH LIKE MARA-MBRSH,
            MEINS LIKE MARA-MEINS,
            MATKL LIKE MARA-MATKL,
            VKORG LIKE MVKE-VKORG,
            VTWEG LIKE MVKE-VTWEG,
            SPRAS LIKE MAKT-SPRAS,
            MAKTX LIKE MAKT-MAKTX,
            LGORT LIKE MARD-LGORT,
            LABST LIKE MARD-LABST,
            EBELN LIKE EKPO-EBELN,
            EBELP LIKE EKPO-EBELP,
            VBELN LIKE VBAP-VBELN,
            POSNR LIKE VBAP-POSNR,
          END OF I_OUT,
          BEGIN OF I_HEADING OCCURS 0,
            TEXT1(20),
            TEXT2(20),
            TEXT3(20),
            TEXT4(20),
            TEXT5(20),
            TEXT6(20),
            TEXT7(20),
            TEXT8(20),
            TEXT9(20),
            TEXT10(20),
            TEXT11(40),
            TEXT12(20),
            TEXT13(20),
            TEXT14(20),
            TEXT15(20),
            TEXT16(20),
            TEXT17(20),
          END OF I_HEADING.
    *&                   S E L E C T I O N - S C R E E N                   *
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-100.
    SELECT-OPTIONS: S_MATNR FOR MARA-MATNR. "OBLIGATORY.
    PARAMETERS: P_WERKS LIKE MARC-WERKS. "OBLIGATORY.
    SELECT-OPTIONS: S_LGORT FOR MARD-LGORT,
                    S_DISPO FOR MARC-DISPO,
                    S_EBELN FOR EKPO-EBELN .
    SELECTION-SCREEN END OF BLOCK B1.
    SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-101.
    PARAMETERS : RB1 RADIOBUTTON GROUP G1,
                 RB2 RADIOBUTTON GROUP G1,
                 RB3 RADIOBUTTON GROUP G1.
    SELECTION-SCREEN END OF BLOCK B2.
    *&             S T A R T - O F - S E L E C T I O N                     *
    START-OF-SELECTION.
      SELECT MATNR WERKS LVORM DISPO FROM MARC
      INTO CORRESPONDING FIELDS OF TABLE I_MARC
                          WHERE MATNR IN S_MATNR
                          AND DISPO IN S_DISPO
                          AND WERKS = P_WERKS.
      IF I_MARC[] IS INITIAL.
        WRITE:/ 'NO MATCHING DATA AVAILABLE FROM MARC'.
        EXIT.
      ENDIF.
      PERFORM PURCHASEDATA_VALIDATION.
      PERFORM SALESDATA_VALIDATION.
      SELECT MATNR LGORT LABST FROM MARD INTO TABLE  I_MARD
                          FOR ALL ENTRIES IN I_MARC
                          WHERE MATNR = I_MARC-MATNR
                          AND WERKS EQ P_WERKS
                          AND LGORT IN S_LGORT.
      IF I_MARD[] IS INITIAL.
        WRITE:/ 'NO MATCHING DATA AVAILABLE FROM MARD'.
        EXIT.
      ENDIF.
      SELECT MATNR VKORG VTWEG FROM MVKE INTO TABLE I_MVKE
                          FOR ALL ENTRIES IN I_MARC
                          WHERE MATNR = I_MARC-MATNR.
      IF I_MVKE[] IS INITIAL.
        WRITE:/ 'NO MATCHING DATA AVAILABLE FROM MVKE'.
        EXIT.
      ENDIF.
      LOOP AT I_MARC.
        MOVE-CORRESPONDING I_MARC TO I_OUT.
        CLEAR MARC.
        SELECT SINGLE MATNR MBRSH MEINS MATKL FROM MARA
                          INTO CORRESPONDING FIELDS OF MARA
                          WHERE MATNR = I_OUT-MATNR.
        IF SY-SUBRC = 0.
          MOVE: MARA-MBRSH TO I_OUT-MBRSH,
                MARA-MEINS TO I_OUT-MEINS,
                MARA-MATKL TO I_OUT-MATKL.
        ELSE.
          CONTINUE.
        ENDIF.
        SELECT SINGLE MATNR MAKTX SPRAS FROM MAKT
                        INTO  CORRESPONDING FIELDS OF MAKT
                        WHERE  MATNR = I_OUT-MATNR.
        IF SY-SUBRC = 0.
          MOVE: MAKT-MAKTX TO I_OUT-MAKTX,
                MAKT-SPRAS TO I_OUT-SPRAS.
        ELSE.
          CONTINUE.
        ENDIF.
        LOOP AT I_EKPO WHERE MATNR =  I_MARC-MATNR.
          MOVE: I_EKPO-EBELN TO I_OUT-EBELN,
                I_EKPO-EBELP TO I_OUT-EBELP.
        ENDLOOP.
        LOOP AT I_VBAP WHERE MATNR =  I_MARC-MATNR.
          MOVE: I_VBAP-VBELN TO I_OUT-VBELN,
                I_VBAP-POSNR TO I_OUT-POSNR.
        ENDLOOP.
        LOOP AT I_MARD WHERE MATNR = I_MARC-MATNR.
          MOVE: I_MARD-LABST TO I_OUT-LABST,
                I_MARD-LGORT TO I_OUT-LGORT.
        ENDLOOP.
        LOOP AT I_MVKE WHERE MATNR = I_MARC-MATNR.
          MOVE: I_MVKE-VKORG TO I_OUT-VKORG,
                I_MVKE-VTWEG TO I_OUT-VTWEG.
          APPEND I_OUT.
        ENDLOOP.
        CLEAR I_OUT.
      ENDLOOP.
      PERFORM OPTIONS.
                         FORM  OPTIONS                                *
    FORM OPTIONS.
      IF RB2 = 'X'.
        PERFORM FIELDCAT.
        PERFORM OUTPUT.
      ELSE.
        IF RB1 = 'X'.
          PERFORM HEADINGS.
          PERFORM DLOAD.
        ELSE.
          IF RB3 = 'X'.
            PERFORM HEADINGS.
            PERFORM DLOAD.
            PERFORM FIELDCAT.
            PERFORM OUTPUT.
          ENDIF.
        ENDIF.
      ENDIF.
    ENDFORM.                    "OPTIONS
                         FORM  HEADINGS                               *
    FORM HEADINGS.
      I_HEADING-TEXT1 = 'MATNR'.
      I_HEADING-TEXT2 = 'WERKS'.
      I_HEADING-TEXT3 = 'LVORM'.
      I_HEADING-TEXT4 = 'DISPO'.
      I_HEADING-TEXT5 = 'MBRSH'.
      I_HEADING-TEXT6 = 'MEINS'.
      I_HEADING-TEXT7 = 'MATKL'.
      I_HEADING-TEXT8 = 'VKORG'.
      I_HEADING-TEXT9 = 'VTWEG'.
      I_HEADING-TEXT10 = 'SPRAS'.
      I_HEADING-TEXT11 = 'MAKTX'.
      I_HEADING-TEXT12 = 'LGORT'.
      I_HEADING-TEXT13 = 'LABST'.
      I_HEADING-TEXT14 = 'EBELN'.
      I_HEADING-TEXT15 = 'EBELP'.
      I_HEADING-TEXT16 = 'VBELN'.
      I_HEADING-TEXT17 = 'POSNR'.
      APPEND I_HEADING.
    ENDFORM.                    "HEADINGS
                         FORM  DLOAD                                  *
    FORM DLOAD.
      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
          FILENAME              = 'C:\MATSTK.XLS'
          FILETYPE              = 'DAT'
          WRITE_FIELD_SEPARATOR = 'X'
        TABLES
          DATA_TAB              = I_HEADING
        EXCEPTIONS
          FILE_WRITE_ERROR      = 1.
      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
          FILENAME              = 'C:\MATSTK.XLS'
          FILETYPE              = 'DAT'
          APPEND                = 'X'
          WRITE_FIELD_SEPARATOR = 'X'
        TABLES
          DATA_TAB              = I_OUT.
    ENDFORM.                    "DLOAD
                              FORM  FIELDCAT                          *
    FORM FIELDCAT.
      V_FIELDCAT-COL_POS = '1'.
      V_FIELDCAT-FIELDNAME     = 'MATNR'.
      V_FIELDCAT-TABNAME = 'I_OUT'.
      V_FIELDCAT-HOTSPOT = 'X'.
      V_FIELDCAT-REF_FIELDNAME = 'MATNR'.
      V_FIELDCAT-REF_TABNAME   = 'MARC'.
      APPEND V_FIELDCAT TO VT_FIELDCAT1.
      CLEAR  V_FIELDCAT.
      V_FIELDCAT-COL_POS = '2'.
      V_FIELDCAT-FIELDNAME     = 'WERKS'.
      V_FIELDCAT-TABNAME = 'I_OUT'.
      V_FIELDCAT-REF_FIELDNAME = 'WERKS'.
      V_FIELDCAT-REF_TABNAME   = 'MARC'.
      APPEND V_FIELDCAT TO VT_FIELDCAT1.
      CLEAR  V_FIELDCAT.
      V_FIELDCAT-COL_POS = '3'.
      V_FIELDCAT-FIELDNAME     = 'LVORM'.
      V_FIELDCAT-TABNAME = 'I_OUT'.
      V_FIELDCAT-REF_FIELDNAME = 'LVORM'.
      V_FIELDCAT-REF_TABNAME   = 'MARC'.
      APPEND V_FIELDCAT TO VT_FIELDCAT1.
      CLEAR  V_FIELDCAT.
      V_FIELDCAT-COL_POS = '4'.
      V_FIELDCAT-FIELDNAME     = 'DISPO'.
      V_FIELDCAT-TABNAME = 'I_OUT'.
      V_FIELDCAT-REF_FIELDNAME = 'DISPO'.
      V_FIELDCAT-REF_TABNAME   = 'MARC'.
      APPEND V_FIELDCAT TO VT_FIELDCAT1.
      CLEAR  V_FIELDCAT.
      V_FIELDCAT-COL_POS = '5'.
      V_FIELDCAT-FIELDNAME     = 'MBRSH'.
      V_FIELDCAT-TABNAME = 'I_OUT'.
      V_FIELDCAT-REF_FIELDNAME = 'MBRSH'.
      V_FIELDCAT-REF_TABNAME   = 'MARA'.
      APPEND V_FIELDCAT TO VT_FIELDCAT1.
      CLEAR  V_FIELDCAT.
      V_FIELDCAT-COL_POS = '6'.
      V_FIELDCAT-FIELDNAME     = 'MEINS'.
      V_FIELDCAT-TABNAME = 'I_OUT'.
      V_FIELDCAT-REF_FIELDNAME = 'MEINS'.
      V_FIELDCAT-REF_TABNAME   = 'MARA'.
      APPEND V_FIELDCAT TO VT_FIELDCAT1.
      CLEAR  V_FIELDCAT.
      V_FIELDCAT-COL_POS = '7'.
      V_FIELDCAT-FIELDNAME     = 'MATKL'.
      V_FIELDCAT-TABNAME = 'I_OUT'.
      V_FIELDCAT-REF_FIELDNAME = 'MATKL'.
      V_FIELDCAT-REF_TABNAME   = 'MARA'.
      APPEND V_FIELDCAT TO VT_FIELDCAT1.
      CLEAR  V_FIELDCAT.
      V_FIELDCAT-COL_POS = '8'.
      V_FIELDCAT-FIELDNAME     = 'VKORG'.
      V_FIELDCAT-TABNAME = 'I_OUT'.
      V_FIELDCAT-REF_FIELDNAME = 'VKORG'.
      V_FIELDCAT-REF_TABNAME   = 'MVKE'.
      APPEND V_FIELDCAT TO VT_FIELDCAT1.
      CLEAR  V_FIELDCAT.
      V_FIELDCAT-COL_POS = '9'.
      V_FIELDCAT-FIELDNAME     = 'VTWEG'.
      V_FIELDCAT-TABNAME = 'I_OUT'.
      V_FIELDCAT-REF_FIELDNAME = 'VTWEG'.
      V_FIELDCAT-REF_TABNAME   = 'MVKE'.
      APPEND V_FIELDCAT TO VT_FIELDCAT1.
      CLEAR  V_FIELDCAT.
      V_FIELDCAT-COL_POS = '10'.
      V_FIELDCAT-FIELDNAME     = 'SPRAS'.
      V_FIELDCAT-TABNAME = 'I_OUT'.
      V_FIELDCAT-REF_FIELDNAME = 'SPRAS'.
      V_FIELDCAT-REF_TABNAME   = 'MAKT'.
      APPEND V_FIELDCAT TO VT_FIELDCAT1.
      CLEAR  V_FIELDCAT.
      V_FIELDCAT-COL_POS = '11'.
      V_FIELDCAT-FIELDNAME     = 'MAKTX'.
      V_FIELDCAT-TABNAME = 'I_OUT'.
      V_FIELDCAT-REF_FIELDNAME = 'MAKTX'.
      V_FIELDCAT-REF_TABNAME   = 'MAKT'.
      APPEND V_FIELDCAT TO VT_FIELDCAT1.
      CLEAR  V_FIELDCAT.
      V_FIELDCAT-COL_POS = '12'.
      V_FIELDCAT-FIELDNAME     = 'LGORT'.
      V_FIELDCAT-TABNAME = 'I_OUT'.
    V_FIELDCAT-REF_FIELDNAME = 'LGORT'.
    V_FIELDCAT-REF_TABNAME   = 'MARD'.
      V_FIELDCAT-SELTEXT_L = 'STRG LOCT'.
      V_FIELDCAT-OUTPUTLEN = 10.
      APPEND V_FIELDCAT TO VT_FIELDCAT1.
      CLEAR  V_FIELDCAT.
      V_FIELDCAT-COL_POS = '13'.
      V_FIELDCAT-FIELDNAME     = 'LABST'.
      V_FIELDCAT-TABNAME = 'I_OUT'.
      V_FIELDCAT-SELTEXT_M = 'STOCK'.
      V_FIELDCAT-OUTPUTLEN = 15.
    V_FIELDCAT-REF_FIELDNAME = 'LABST'.
    V_FIELDCAT-REF_TABNAME   = 'MARD'.
      V_FIELDCAT-DO_SUM = 'X'.
      V_LAYOUT-TOTALS_TEXT = 'TOTAL STOCK:'.
      V_FIELDCAT-HOTSPOT = 'X'.
      APPEND V_FIELDCAT TO VT_FIELDCAT1.
      CLEAR  V_FIELDCAT.
      V_FIELDCAT-COL_POS = '14'.
      V_FIELDCAT-FIELDNAME     = 'EBELN'.
      V_FIELDCAT-TABNAME = 'I_OUT'.
      V_FIELDCAT-HOTSPOT = 'X'.
      V_FIELDCAT-REF_FIELDNAME = 'EBELN'.
      V_FIELDCAT-REF_TABNAME   = 'EKPO'.
      APPEND V_FIELDCAT TO VT_FIELDCAT1.
      CLEAR  V_FIELDCAT.
      V_FIELDCAT-COL_POS = '15'.
      V_FIELDCAT-FIELDNAME     = 'EBELP'.
      V_FIELDCAT-TABNAME = 'I_OUT'.
      V_FIELDCAT-REF_FIELDNAME = 'EBELP'.
      V_FIELDCAT-REF_TABNAME   = 'EKPO'.
      APPEND V_FIELDCAT TO VT_FIELDCAT1.
      CLEAR  V_FIELDCAT.
      V_FIELDCAT-COL_POS = '16'.
      V_FIELDCAT-FIELDNAME     = 'VBELN'.
      V_FIELDCAT-TABNAME = 'I_OUT'.
      V_FIELDCAT-HOTSPOT = 'X'.
      V_FIELDCAT-REF_FIELDNAME = 'VBELN'.
      V_FIELDCAT-REF_TABNAME   = 'VBAP'.
      APPEND V_FIELDCAT TO VT_FIELDCAT1.
      CLEAR  V_FIELDCAT.
      V_FIELDCAT-COL_POS = '17'.
      V_FIELDCAT-FIELDNAME     = 'POSNR'.
      V_FIELDCAT-TABNAME = 'I_OUT'.
      V_FIELDCAT-REF_FIELDNAME = 'POSNR'.
      V_FIELDCAT-REF_TABNAME   = 'VBAP'.
      APPEND V_FIELDCAT TO VT_FIELDCAT1.
      CLEAR  V_FIELDCAT.
    ENDFORM.                      "FIELDCAT
                              FORM  OUTPUT                            *
    FORM OUTPUT.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          I_CALLBACK_PROGRAM      = SY-REPID
          I_CALLBACK_TOP_OF_PAGE  = 'TOP-OF-PAGE'
          I_GRID_TITLE = 'CLICK ON MATERIAL/PURDOC/SALESDOC FOR DETAILS'
          I_CALLBACK_USER_COMMAND = 'DISPLAYDETAILS'
          IS_LAYOUT               = V_LAYOUT
          IT_FIELDCAT             = VT_FIELDCAT1
        TABLES
          T_OUTTAB                = I_OUT.
      IF SY-SUBRC <> 0.
      ENDIF.
    ENDFORM.                    "OUTPUT
                            FORM  TOP-OF-PAGE                         *
    FORM TOP-OF-PAGE.
      DATA: T_HEADER TYPE SLIS_T_LISTHEADER,
            WA_HEADER TYPE SLIS_LISTHEADER.
      WA_HEADER-TYP = 'H'.
      WA_HEADER-INFO = 'REPORT FOR : '.
      APPEND WA_HEADER TO T_HEADER.
      CLEAR WA_HEADER.
      WA_HEADER-TYP = 'S'.
      WA_HEADER-INFO = 'MATERIAL DETAILS'.
      APPEND WA_HEADER TO T_HEADER.
      CLEAR WA_HEADER.
      WA_HEADER-TYP = 'S'.
      WA_HEADER-INFO = 'PURCHASE ORDER DETAILS'.
      APPEND WA_HEADER TO T_HEADER.
      CLEAR WA_HEADER.
      WA_HEADER-TYP = 'S'.
      WA_HEADER-INFO = 'SALES ORDER DETAILS'.
      APPEND WA_HEADER TO T_HEADER.
      CLEAR WA_HEADER.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          I_LOGO             = 'GEAR'
          IT_LIST_COMMENTARY = T_HEADER.
    ENDFORM.                    "TOP-OF-PAGE
    *&                       FORM  DISPLAYDETAILS                          *
    FORM DISPLAYDETAILS USING UCOMM LIKE SY-UCOMM
          SELFIELD TYPE SLIS_SELFIELD.
      IF SELFIELD-FIELDNAME = 'EBELN'.
        IF UCOMM = '&IC1'.
          READ TABLE I_OUT INDEX SELFIELD-TABINDEX.
          PERFORM PORECDNG.
          CLEAR BDCDATA[].
        ENDIF.
      ELSE.
        IF SELFIELD-FIELDNAME = 'MATNR'.
          IF UCOMM = '&IC1'.
            READ TABLE I_OUT INDEX SELFIELD-TABINDEX.
            PERFORM MMRECDNG.
            CLEAR BDCDATA[].
          ENDIF.
        ELSE.
          IF SELFIELD-FIELDNAME = 'VBELN'.
            IF UCOMM = '&IC1'.
              READ TABLE I_OUT INDEX SELFIELD-TABINDEX.
              PERFORM SALESRECDNG.
              CLEAR BDCDATA[].
            ENDIF.
          ENDIF.
        ENDIF.
      ENDIF.
    ENDFORM.                    "DISPLAYDETAILS
                        FORM PORECDNG                                   *
    FORM PORECDNG.
    perform bdc_dynpro      using 'SAPMM06E' '0105'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RM06E-BSTNR'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'RM06E-BSTNR'
                                  I_OUT-EBELN.
    perform bdc_dynpro      using 'SAPMM06E' '0120'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RM06E-BSTPO(01)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=AH'.
    perform bdc_field       using 'RM06E-EBELP'
                                  I_OUT-EBELP.
    perform bdc_field       using 'RM06E-TCSELFLAG(01)'
                                  'X'.
    perform bdc_transaction using 'ME23'.
    ENDFORM.                    "PORECDNG
                        FORM MMRECDNG                                   *
    FORM MMRECDNG.
      PERFORM BDC_DYNPRO      USING 'SAPLMGMM' '0060'.
      PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                    'RMMG1-MATNR'.
      PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                    '/00'.
      PERFORM BDC_FIELD       USING 'RMMG1-MATNR'
                                    I_OUT-MATNR.
      PERFORM BDC_DYNPRO      USING 'SAPLMGMM' '0070'.
      PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                    'MSICHTAUSW-DYTXT(01)'.
      PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                    '=ENTR'.
      PERFORM BDC_FIELD       USING 'MSICHTAUSW-KZSEL(01)'
                                    'X'.
      PERFORM BDC_TRANSACTION USING 'MM03'.
    ENDFORM.                    "MMRECDNG
                        FORM SALESRECDNG                                *
    FORM SALESRECDNG.
      PERFORM BDC_DYNPRO      USING 'SAPMV45A' '0102'.
      PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                    'VBAK-VBELN'.
      PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                    '/00'.
      PERFORM BDC_FIELD       USING 'VBAK-VBELN'
                                    I_OUT-VBELN.
      PERFORM BDC_TRANSACTION USING 'VA03'.
    ENDFORM.                    "SALESRECDNG
                     FORM BDC_TRANSACTION                               *
    FORM BDC_TRANSACTION USING TCODE.
      CALL TRANSACTION TCODE USING BDCDATA MODE 'E'.
    ENDFORM.                    "BDC_TRANSACTION
                           FORM BDC_DYNPRO                              *
    FORM BDC_DYNPRO USING PROGRAM DYNPRO.
      CLEAR BDCDATA.
      BDCDATA-PROGRAM = PROGRAM.
      BDCDATA-DYNPRO = DYNPRO.
      BDCDATA-DYNBEGIN = 'X'.
      APPEND BDCDATA.
    ENDFORM.                    "BDC_DYNPRO
                           INSERT FIELD                                  *
    FORM BDC_FIELD USING FNAM FVAL.
      CLEAR BDCDATA.
      BDCDATA-FNAM = FNAM.
      BDCDATA-FVAL = FVAL.
      APPEND BDCDATA.
    ENDFORM.                    "BDC_FIELD
    *&                  FORM  PURCHASEDATA_VALIDATION                      *
    FORM PURCHASEDATA_VALIDATION.
      SELECT EBELN EBELP MATNR
                 FROM EKPO
                 INTO TABLE I_EKPO
                 FOR ALL ENTRIES IN I_MARC
                 WHERE MATNR = I_MARC-MATNR
                 AND EBELN IN S_EBELN
                 AND WERKS EQ P_WERKS.
      IF I_EKPO[] IS INITIAL.
        WRITE:/ 'NO MATCHING DATA IS SELECTED FROM TABLE EKPO'.
        EXIT.
      ENDIF.
      DATA: T_EKPO LIKE I_EKPO OCCURS 0 WITH HEADER LINE.
      T_EKPO[] = I_EKPO[].
      REFRESH I_EKPO.
      FREE I_EKPO.
      LOOP AT T_EKPO.
        SELECT SINGLE EBELN FROM EKKO INTO EKPO-EBELN
        WHERE EBELN = T_EKPO-EBELN.
        IF SY-SUBRC = 0.
          MOVE-CORRESPONDING T_EKPO TO I_EKPO.
          APPEND I_EKPO.
          CLEAR I_EKPO.
        ELSE.
          CONTINUE.
        ENDIF.
      ENDLOOP.
      SORT I_EKPO.
    ENDFORM.                    "PURCHASEDATA_VALIDATION
    *&                  FORM  SALESDATA_VALIDATION                         *
    FORM SALESDATA_VALIDATION.
      SELECT VBELN POSNR MATNR
              FROM VBAP
              INTO CORRESPONDING FIELDS OF TABLE
              I_VBAP FOR ALL ENTRIES IN I_MARC
              WHERE MATNR = I_MARC-MATNR.
      DATA: T_VBAP LIKE I_VBAP OCCURS 0 WITH HEADER LINE.
      T_VBAP[] = I_VBAP[].
      REFRESH I_VBAP.
      FREE I_VBAP.
      LOOP AT T_VBAP.
        SELECT SINGLE VBELN FROM VBAK INTO VBAK-VBELN
        WHERE VBELN = T_VBAP-VBELN.
        IF SY-SUBRC = 0.
          MOVE-CORRESPONDING T_VBAP TO I_VBAP.
          APPEND I_VBAP.
          CLEAR I_VBAP.
        ELSE.
          CONTINUE.
        ENDIF.
      ENDLOOP.
      SORT I_VBAP.
    ENDFORM.                    "SALESDATA_VALIDATION
    ..........................FOr Hierarchy List...................
    REPORT  Zxxxxxxxxxx NO STANDARD PAGE HEADING.
    **********DECLARING TABLES********************************************
    TYPE-POOLS: slis.
    TABLES: EKKO, "PO HEADER
            EKPO. "PO ITEM
    **********DECLARING DATA**********************************************
    DATA: ET_EKKO TYPE EKKO OCCURS 0 WITH HEADER LINE,
          ET_EKPO TYPE EKPO OCCURS 0 WITH HEADER LINE,
          ET_SORT TYPE SLIS_T_SORTINFO_ALV WITH HEADER LINE,
          ET_LAYOUT TYPE SLIS_LAYOUT_ALV,
          ET_KEYINFO TYPE SLIS_KEYINFO_ALV,
          ET_REPID LIKE SY-REPID.
    DATA: ET_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.
    DATA: ET_EVENTS TYPE SLIS_T_EVENT.
    **********SELECTION CRITERIA****************************************
    SELECTION-SCREEN BEGIN OF BLOCK RAD1 WITH FRAME TITLE TEXT-003.
    SELECT-OPTIONS: S_EBELN FOR ET_EKPO-EBELN OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK RAD1.
    INITIALIZATION.
      ET_KEYINFO-HEADER01 = 'EBELN'.
      ET_KEYINFO-ITEM01   = 'EBELN'.
      ET_SORT-FIELDNAME = 'EBELN'.
      ET_SORT-TABNAME     = '2'.
      ET_SORT-SPOS        = 1.
      ET_SORT-UP         = 'X'.
      ET_SORT-SUBTOT     = 'X'.
      APPEND ET_SORT.
      ET_SORT-FIELDNAME = 'EBELP'.
      ET_SORT-TABNAME     = '2'.
      ET_SORT-SPOS        = 1.
    APPEND ET_SORT.
      ET_FIELDCAT-FIELDNAME   = 'NETWR'.
      ET_FIELDCAT-TABNAME       = '2'.
      ET_FIELDCAT-OUTPUTLEN = 8.
      ET_FIELDCAT-DO_SUM       = 'X'.
      ET_FIELDCAT-HOTSPOT       = 'X'.
      APPEND ET_FIELDCAT.
    START-OF-SELECTION.
      SELECT EBELN BUKRS AEDAT ERNAM FROM EKKO INTO CORRESPONDING
             FIELDS OF TABLE ET_EKKO
             WHERE EBELN IN S_EBELN.
      SELECT * FROM EKPO INTO CORRESPONDING FIELDS
               OF TABLE ET_EKPO FOR ALL ENTRIES IN
               ET_EKKO WHERE EBELN = ET_EKKO-EBELN.
      CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
        EXPORTING
          I_STRUCTURE_NAME_HEADER = 'EKKO'
          I_STRUCTURE_NAME_ITEM   = 'EKPO'
          IS_KEYINFO              = ET_KEYINFO " The structure contains the
                                               " header and item table
                                               " field names which links the
                                               " the two tables(shared key)
          IS_LAYOUT               = ET_LAYOUT
          IT_FIELDCAT             = ET_FIELDCAT[]
          I_TABNAME_HEADER        = '1' " Name of the internal table in the
                                        " program containing the output data
                                        " of the highest hierarchy level
          I_TABNAME_ITEM          = '2' " Name of the internal table in the
                                        " program containing the output data
                                        " of the highest hierarchy level
          IT_EVENTS               = ET_EVENTS[]
          IT_SORT                 = ET_SORT[]
        TABLES
          T_OUTTAB_HEADER         = ET_EKKO " Header table with data to be
                                             " output
          T_OUTTAB_ITEM           = ET_EKPO. " Name of the internal table in
                                             " the program containing the
                                             " output data of the lowest
                                             "hierarchy level.
    Regards,,
    Satya Kumar..

  • Aperture + Adobe Bridge: does that increase amount of storage per image?

    I recently installed Aperture after using Photoshop CS3 and Bridge for some years. When I import images into Aperture that have already been downloaded into Bridge, does that increase the amount of storage space I'm using and if so by how much? I am saving all files to the same folders but what about the various versions created. How much storage are they taking up. My iMac 24 w. 320 Gig is almost full so storage is important.
    Also, if I start using Aperture 3 to download from my camera, do I need Bridge? Any danger in getting rid of Bridge?
    Thanks,
    Cliff

    Cliff,
    The first question is whether you want to run a Managed or Referenced library. The difference is that Managed copies and stores the images inside the Aperture Library package, where a Referenced library locates the master images in Finder somewhere.
    The import procedure is done in both cases, but you use the 'Store Files' drop-down to tell Aperture where to store the master image files.
    With Bridge, you were probably using 'Photo Downloader' to import the files to a selected folder, name the files using some options for format and counting, and perhaps adding basic or predefined metadata on import. This results in a Finder folder structure of your choosing (as well as file names).
    With Aperture, you can do the same thing by selecting 'Choose' under the 'Store Files' drop-down (where you choose or create a new folder). Once you select a location, two other options become available; (1) to move or copy the files and, (2) to pick a sub-folder preset - or choose 'Edit' at bottom of list to design your own folder preset.
    Once you have your location and folder settings selected, you can then use the 'Import Settings' drop-down to select 'Rename Files' option. This gives you a 'Version Name' drop-down in the pane which you can again select a preset or use the 'Edit' at bottom to design your own.
    The items I listed would allow you to keep working like you have been with Bridge to import your images. If your current folder structure can be replicated in the Folder Naming preset dialog, then you could easily continue as you were with Aperture.
    If you want to run the Managed Library, then importing your folders is possible, but you will need to decide how you want to organize the library structure when compared to your current hierarchy.
    The thing to remember about Aperture is that 'Projects' are the only part that actually contain images (whether masters inside or references to masters outside). So, for example; you could use a 'Blue Folder' named 'Year 2010' and then have a 'Project' for each month under the Blue Folder. You could then make an 'Album' for day inside a month Project.
    The result of the aforementioned structure would be a top level folder which then contains projects for each month (where each project is divided up using Albums). Because Projects are the only thing holding images, the albums use aliases for the various images inside that project. Clicking on a days' album would show just the images of that day, where clicking on the Project name would show all images for that month. The blue folder is just an organization tool to help control the clutter.
    Before mentioning my workflow or suggesting another, I would like to compare Bridge/ACR/PS to Aperture work flow.
    With Bridge, you import and organize images in a folder structure, then add metadata (keywords, personal info, etc.) You can also create collections and smart collections for quick references (which are generated by Bridge when asked, which can be a bit slow with smart collections). You then use ACR plug-in to make 'non-destructive' parameter decisions before sending to Photoshop for rendering and more specific edits and output.
    With Aperture, you import into the library (where most of the processing is done on the front end for previews and database storage). You are then in a one-stop workshop where you just use the Inspector pane and toolbars to add metadata, create albums and smart albums, and add adjustments to the versions. At this point, you are set to decide on any output (using the print, image export or web/book album features).
    In essence, and IMHO, you are changing from three separate programs to one program with three Inspector panes.
    Workflow:
    I use a managed library because I have the disc space. I also like the fact that I can copy the library package once a month (at least) to an external drive and have a full working backup which can be run from that drive or copied onto a new drive and double-clicked to load it. The downside to this approach is space. I typically shoot RAW + JPEG and import just the JPEG's to start > decide on the keepers and reject the rest > import the matching RAW's to the project. I use JPEG as Master, because they are all that is needed in many cases. I can switch to the RAW version at any time if I want something more than the JPEG can provide.
    My first suggestion to you would be to create a new empty library as follows:
    1 - Launch Aperture while pressing the 'Option' (Alt) key
    2 - Select 'Create New' button
    3 - Select a location and name the library with a unique name
    This will allow you to import say a few folders (make sure to copy images, not move) and test out how you want to organize the library. You can always delete the library and start over. Look in to the File Naming and Folder Naming items under 'Aperture menu > Presets' to get a feel for the options you have and perhaps create a custom preset or two. These become options in the 'Rename Files> Version Name' and 'Store Files > Subfolder' drop-downs in the Import Pane.
    Here are a few links from the online User Manual that might help clarify:
    *Import folders of images*:
    http://documentation.apple.com/en/aperture/usermanual/#chapter=4%26section=9
    Pay special note to the statement under step #5: *"The top-level folder is converted to a project. If the folder you imported contains a hierarchy of subfolders and images, the subfolders appear as albums."*
    That may address your importing of current image folders (or will give you a good test scenario for the empty library).
    *Planning import strategy*:
    http://documentation.apple.com/en/aperture/usermanual/#chapter=4%26section=3
    *General importing files on computer*:
    http://documentation.apple.com/en/aperture/usermanual/#chapter=4%26section=5
    *Working with Referenced Images*:
    http://documentation.apple.com/en/aperture/usermanual/#chapter=5%26section=16%26 hash=apple_ref:doc:uid:Aperture-UserManual-91292BSR-1037525
    This last link should give you an overview of the options for working with and troubleshooting a referenced image scheme.
    Okay, that should be enough for you to think about for a few. Feel free to ask more as needed. There are many here who know a lot more than I.

  • Errors in the OLAP storage engine: A duplicate attribute key has been found when processing

    Hi dear MSDN Community,
    I am facing a problem while processing a cube with a customer hierarchy as follows:
    Global Account --> Main Customer --> Master Customer --> Customer
    The data comes from a flatted parent child table, that is, I create an extra column for every level of the hierarchy in the customer view. If a level is empty, then the value is filled with the previous value. Then I can use the property:
    HideMemberIf = OnlyChildWithParentName for the intermediate levels (Main and Master Customer)
    HideMemberIf = ParentName For the leafs (Customer)
    HideMemberIf = never for the root (Global Account)
    Consider this example:
    Then, for the root level I am using as the key the fields in yellow in order to avoid duplicates. However, I am getting the error message "Errors in the OLAP storage engine: A duplicate attribute key has been found when processing" while processing.
    I analyzed the query that SSAS issues to the server (select distinct ....) and I think it should work but it is still failing.
    I had similar problems with the intermediate levels but I was able to solve it using a similar procedure.
    Any help will be appreciated.
    Kind Regards.

    When are you having this error? While processing the dimension or during cube processing?
    http://blog.oraylis.de/2013/08/a-duplicate-attribute-key-has-been-found-during-processing-revisited/
    Please Mark This As Answer if it solved your issue
    Please Vote This As Helpful if it helps to solve your issue
    Visakh
    My Wiki User Page
    My MSDN Page
    My Personal Blog
    My Facebook Page

  • How to acces and display datas storaged in cache for a SUP 2.0 workflow?

    HI to all.
    I have an application with a item menu which obtains data thought a online request. the result is shown is a listview.
    My problem is when my BlackBerry has no conection ( offline scenario). When I select the menu item, I obtain an error.
    How to acces and display datas storaged in cache for my MBO? I have read that I can use getMessageValueCollection in custom.js to access to my datas but once I get the datas, How can associate those datas to a Listview like a online request?? Do i have to develop my own screen in html or how?
    Thanks.

    I'm not entirely clear on what you mean by "cache" in this context.  I'm going to assume that what you are really referring to is the contents of the workflow message, so correct me if I'm wrong.  There is, in later releases, the ability to set an device-side request cache time so that if you issue an online request it'll store the results in an on-device cache and if you subsequently reissue the same online request with the same parameter values within that timeout period it'll get the data from the cache rather than going to the server, but my gut instinct is that this is not what you are referring to.
    To access the data in the workflow message, you are correct, you would call getMessageValueCollection().  It will return an object hierarchy with objects defined in WorkflowMessage.js.  Note that if your online request fails, the data won't magically appear in your workflow message.
    To use the data in the workflow message to update a listview, feel free to examine the code in the listview widgets and in API.js.  You can also create a custom listview as follows:
    function customBeforeNavigateForward(screenKey, destScreenKey) {
         // In this example, we only want to replace the listview on the "My Approvals" screen    
         if (destScreenKey == 'My_Approvals'){
              // First, we get the MessageValueCollection that we are currently operating on
              var message = getCurrentMessageValueCollection();
              // Next, we'll get the list MessageValue from that MessageValueCollection
              var itemList = message.getData("LeaveApprovalItem3");
              // Because its a list, the Value of the MessageValue will be an array
              var items = itemList.getValue();
              // Figure out how many items are in the list
              var numOfItems = items.length;
              // Iterate through the results and build our list
              var i = 0;
              var htmlOutput = '<div><ul data-role="listview" data-theme="k" data-filter="true">';
              var firstChar = '';
              while ( i < numOfItems ){
                   // Get the current item. This will be a MessageValueCollection.
                   var currItem= items<i>;
                   // Get the properties of the current item.
                   var owner = currItem.getData("LeaveApprovalItem_owner_attribKey").getValue();
                   var type = currItem.getData("LeaveApprovalItem_itemType_attribKey").getValue();
                   var status = currItem.getData("LeaveApprovalItem_itemStatus_attribKey").getValue();
                   var startDate = currItem.getData("LeaveApprovalItem_startDate_attribKey").getValue();
                   var endDate = currItem.getData("LeaveApprovalItem_endDate_attribKey").getValue();
                   // Format the data in a specific presentation
                   var formatStartDate = Date.parse(startDate).toString('MMM/d/yyyy');
                   var formatEndDate = Date.parse(endDate).toString('MMM/d/yyyy');
                   // Decide which thumbnail image to use
                   var imageToUse = ''
                        if (status == 'Pending'){
                             imageToUse = 'pending.png';
                        else if (status == 'Rejected'){
                             imageToUse = 'rejected.png';
                        else {
                             imageToUse = 'approved.png';
                   // Add a new line to the listview for this item
                   htmlOutput += '<li><a id ="' + currItem.getKey() + '" class="listClick">';
                   htmlOutput += '<img src="./images/' + imageToUse + '" class="ui-li-thumb">';
                   htmlOutput += '<h3 class = "listTitle">' + type;
                   htmlOutput +=  ' ( ' + owner + ' ) ';
                   htmlOutput += '</h3>';
                   htmlOutput += '<p>' + formatStartDate + ' : ' + formatEndDate + '</p>';
                   htmlOutput += '</a></li>';
                   i++;
              htmlOutput += '</ul></div>';
              // Remove the old listview and add in the new one.  Note: this is suboptimal and should be fixed if you want to use it in production.
              $('#My_ApprovalsForm').children().eq(2).hide();
              $('#My_ApprovalsForm').children().eq(1).after(htmlOutput);
              // Add in a handler so that when a line is clicked on, it'll go to the right details screen
              $(".listClick").click(function(){
                   currListDivID = $(this).parent().parent();
                   $(this).parent().parent().addClass("ui-btn-active");
                   navigateForward("Request_Details",  this.id );
                   if (isBlackBerry()) {
                        return;
         // All done.
         return true;

  • OBIEE BI Answers: Wrong Aggregation Measures on top level of hierarchy

    Hi to all,
    I have following problem. I hope to be clear in my English because it's a bit complicated to explain.
    I have following fact table:
    Drug Id Ordered Quantity
    1 9
    2 4
    1 3
    2 2
    and following Drug Table:
    Drug Brand Id Brand Description Drug Active Ingredient Id Drug Active Ingredient Description
    1 Aulin 1 Nimesulide
    2 Asprina 2 Acetilsalicilico
    In AWM i've defined a Drug Dimension based on following hierarchy: Drug Active Ingredient (parent) - Drug Brand Description (leaf) mapped as:
    Drug Active Ingredient = Drug Active Ingredient Id of my Drug Table (LONG DESCRIPTION Attribute=Drug Active Ingredient Description)
    Drug Brand Description = Drug Brand Id of my Drug Table (LONG DESCRIPTION Attribute = Drug Brand Description)
    Indeed in my cube I've mapped leaf level Drug Brand Description = Drug Id of my fact table. In AWM Drug Dimension is mapped as Sum Aggregation Operator
    If I select on Answers Drug Active Ingredient (parent of my hierarchy) and Ordered Quantity I see following result
    Drug Active Ingredient Description Ordered Quantity
    Acetilsalicilico 24
    Nimesulide 12
    indeed of correct values
    Drug Active Ingredient Description Ordered Quantity
    Acetilsalicilico 12
    Nimesulide 6
    EXACTLY the double!!!!!!! But if I drill down Drug Active Ingredient Description Acetilsalicilico I see correctly:
    Drug Active Ingredient Description Drug Brand Description Ordered Quantity
    Acetilsalicilico
    - Aspirina 12
    Total 12
    Wrong Aggregation is only on top level of hierarchy. Aggregation on lower level of hierarchy is correct. Maybe Answers sum also Total Row????? Why?????
    I'm frustrated. I beg your help, please!!!!!!!!
    Giancarlo

    Hi,
    in NQSConfig.ini I can't find Cache Section. I post all file. Tell me what I must change. I know your patient is quite at limit!!!!!!! But I'm a new user of OBIEE.
    # NQSConfig.INI
    # Copyright (c) 1997-2006 Oracle Corporation, All rights reserved
    # INI file parser rules are:
    # If values are in literals, digits or _, they can be
    # given as such. If values contain characters other than
    # literals, digits or _, values must be given in quotes.
    # Repository Section
    # Repositories are defined as logical repository name - file name
    # pairs. ODBC drivers use logical repository name defined in this
    # section.
    # All repositories must reside in OracleBI\server\Repository
    # directory, where OracleBI is the directory in which the Oracle BI
    # Server software is installed.
    [ REPOSITORY ]
    #Star     =     samplesales.rpd, DEFAULT;
    Star = Step3.rpd, DEFAULT;
    # Query Result Cache Section
    [ CACHE ]
    ENABLE     =     YES;
    // A comma separated list of <directory maxSize> pair(s)
    // e.g. DATA_STORAGE_PATHS = "d:\OracleBIData\nQSCache" 500 MB;
    DATA_STORAGE_PATHS     =     "C:\OracleBIData\cache" 500 MB;
    MAX_ROWS_PER_CACHE_ENTRY = 100000; // 0 is unlimited size
    MAX_CACHE_ENTRY_SIZE = 1 MB;
    MAX_CACHE_ENTRIES = 1000;
    POPULATE_AGGREGATE_ROLLUP_HITS = NO;
    USE_ADVANCED_HIT_DETECTION = NO;
    MAX_SUBEXPR_SEARCH_DEPTH = 7;
    // Cluster-aware cache
    // GLOBAL_CACHE_STORAGE_PATH = "<directory name>" SIZE;
    // MAX_GLOBAL_CACHE_ENTRIES = 1000;
    // CACHE_POLL_SECONDS = 300;
    // CLUSTER_AWARE_CACHE_LOGGING = NO;
    # General Section
    # Contains general server default parameters, including localization
    # and internationalization, temporary space and memory allocation,
    # and other default parameters used to determine how data is returned
    # from the server to a client.
    [ GENERAL ]
    // Localization/Internationalization parameters.
    LOCALE     =     "Italian";
    SORT_ORDER_LOCALE     =     "Italian";
    SORT_TYPE = "binary";
    // Case sensitivity should be set to match the remote
    // target database.
    CASE_SENSITIVE_CHARACTER_COMPARISON = OFF ;
    // SQLServer65 sorts nulls first, whereas Oracle sorts
    // nulls last. This ini file property should conform to
    // that of the remote target database, if there is a
    // single remote database. Otherwise, choose the order
    // that matches the predominant database (i.e. on the
    // basis of data volume, frequency of access, sort
    // performance, network bandwidth).
    NULL_VALUES_SORT_FIRST = OFF;
    DATE_TIME_DISPLAY_FORMAT = "yyyy/mm/dd hh:mi:ss" ;
    DATE_DISPLAY_FORMAT = "yyyy/mm/dd" ;
    TIME_DISPLAY_FORMAT = "hh:mi:ss" ;
    // Temporary space, memory, and resource allocation
    // parameters.
    // You may use KB, MB for memory size.
    WORK_DIRECTORY_PATHS     =     "C:\OracleBIData\tmp";
    SORT_MEMORY_SIZE = 4 MB ;
    SORT_BUFFER_INCREMENT_SIZE = 256 KB ;
    VIRTUAL_TABLE_PAGE_SIZE = 128 KB ;
    // Analytics Server will return all month and day names as three
    // letter abbreviations (e.g., "Jan", "Feb", "Sat", "Sun").
    // To use complete names, set the following values to YES.
    USE_LONG_MONTH_NAMES = NO;
    USE_LONG_DAY_NAMES = NO;
    UPPERCASE_USERNAME_FOR_INITBLOCK = NO ; // default is no
    // Aggregate Persistence defaults
    // The prefix must be between 1 and 8 characters long
    // and should not have any special characters ('_' is allowed).
    AGGREGATE_PREFIX = "SA_" ;
    # Security Section
    # Legal value for DEFAULT_PRIVILEGES are:
    # NONE READ
    [ SECURITY ]
    DEFAULT_PRIVILEGES = READ;
    PROJECT_INACCESSIBLE_COLUMN_AS_NULL     =     NO;
    MINIMUM_PASSWORD_LENGTH     =     0;
    #IGNORE_LDAP_PWD_EXPIRY_WARNING = NO; // default is no.
    #SSL=NO;
    #SSL_CERTIFICATE_FILE="servercert.pem";
    #SSL_PRIVATE_KEY_FILE="serverkey.pem";
    #SSL_PK_PASSPHRASE_FILE="serverpwd.txt";
    #SSL_PK_PASSPHRASE_PROGRAM="sitepwd.exe";
    #SSL_VERIFY_PEER=NO;
    #SSL_CA_CERTIFICATE_DIR="CACertDIR";
    #SSL_CA_CERTIFICATE_FILE="CACertFile";
    #SSL_TRUSTED_PEER_DNS="";
    #SSL_CERT_VERIFICATION_DEPTH=9;
    #SSL_CIPHER_LIST="";
    # There are 3 types of authentication. The default is NQS
    # You can select only one of them
    #----- 1 -----
    #AUTHENTICATION_TYPE = NQS; // optional and default
    #----- 2 -----
    #AUTHENTICATION_TYPE = DATABASE;
    # [ DATABASE ]
    # DATABASE = "some_data_base";
    #----- 3 -----
    #AUTHENTICATION_TYPE = BYPASS_NQS;
    # Server Section
    [ SERVER ]
    SERVER_NAME = Oracle_BI_Server ;
    READ_ONLY_MODE = NO;     // default is "NO". That is, repositories can be edited online.
    MAX_SESSION_LIMIT = 2000 ;
    MAX_REQUEST_PER_SESSION_LIMIT = 500 ;
    SERVER_THREAD_RANGE = 40-100;
    SERVER_THREAD_STACK_SIZE = 0; // default is 256 KB, 0 for default
    DB_GATEWAY_THREAD_RANGE = 40-200;
    DB_GATEWAY_THREAD_STACK_SIZE = 0; // default is 256 KB, 0 for default
    MAX_EXPANDED_SUBQUERY_PREDICATES = 8192; // default is 8192
    MAX_QUERY_PLAN_CACHE_ENTRIES = 1024; // default is 1024
    MAX_DRILLDOWN_INFO_CACHE_ENTRIES = 1024; // default is 1024
    MAX_DRILLDOWN_QUERY_CACHE_ENTRIES = 1024; // default is 1024
    INIT_BLOCK_CACHE_ENTRIES = 20; // default is 20
    CLIENT_MGMT_THREADS_MAX = 5; // default is 5
    # The port number specified with RPC_SERVICE_OR_PORT will NOT be considered if
    # a port number is specified in SERVER_HOSTNAME_OR_IP_ADDRESSES.
    RPC_SERVICE_OR_PORT = 9703; // default is 9703
    # If port is not specified with a host name or IP in the following option, the port
    # number specified at RPC_SERVICE_OR_PORT will be considered.
    # When port number is specified, it will override the one specified with
    # RPC_SERVICE_OR_PORT.
    SERVER_HOSTNAME_OR_IP_ADDRESSES = "ALLNICS"; # Example: "hostname" or "hostname":port
    # or "IP1","IP2":port or
    # "hostname":port,"IP":port2.
    # Note: When this option is active,
    # CLUSTER_PARTICIPANT should be set to NO.
    ENABLE_DB_HINTS = YES; // default is yes
    PREVENT_DIVIDE_BY_ZERO = YES;
    CLUSTER_PARTICIPANT = NO; # If this is set to "YES", comment out
    # SERVER_HOSTNAME_OR_IP_ADDRESSES. No specific NIC support
    # for the cluster participant yet.
    // Following required if CLUSTER_PARTICIPANT = YES
    #REPOSITORY_PUBLISHING_DIRECTORY = "<dirname>";
    #REQUIRE_PUBLISHING_DIRECTORY = YES; // Don't join cluster if directory not accessible
    DISCONNECTED = NO;
    AUTOMATIC_RESTART = YES;
    # Dynamic Library Section
    # The dynamic libraries specified in this section
    # are categorized by the CLI they support.
    [ DB_DYNAMIC_LIBRARY ]
    ODBC200 = nqsdbgatewayodbc;
    ODBC350 = nqsdbgatewayodbc35;
    OCI7 = nqsdbgatewayoci7;
    OCI8 = nqsdbgatewayoci8;
    OCI8i = nqsdbgatewayoci8i;
    OCI10g = nqsdbgatewayoci10g;
    DB2CLI = nqsdbgatewaydb2cli;
    DB2CLI35 = nqsdbgatewaydb2cli35;
    NQSXML = nqsdbgatewayxml;
    XMLA = nqsdbgatewayxmla;
    ESSBASE = nqsdbgatewayessbasecapi;
    # User Log Section
    # The user log NQQuery.log is kept in the server\log directory. It logs
    # activity about queries when enabled for a user. Entries can be
    # viewed using a text editor or the nQLogViewer executable.
    [ USER_LOG ]
    USER_LOG_FILE_SIZE = 10 MB; // default size
    CODE_PAGE = "UTF8"; // ANSI, UTF8, 1252, etc.
    # Usage Tracking Section
    # Collect usage statistics on each logical query submitted to the
    # server.
    [ USAGE_TRACKING ]
    ENABLE = NO;
    //==============================================================================
    // Parameters used for writing data to a flat file (i.e. DIRECT_INSERT = NO).
    STORAGE_DIRECTORY = "<full directory path>";
    CHECKPOINT_INTERVAL_MINUTES = 5;
    FILE_ROLLOVER_INTERVAL_MINUTES = 30;
    CODE_PAGE = "ANSI"; // ANSI, UTF8, 1252, etc.
    //==============================================================================
    DIRECT_INSERT = YES;
    //==============================================================================
    // Parameters used for inserting data into a table (i.e. DIRECT_INSERT = YES).
    PHYSICAL_TABLE_NAME = "<Database>"."<Catalog>"."<Schema>"."<Table>" ; // Or "<Database>"."<Schema>"."<Table>" ;
    CONNECTION_POOL = "<Database>"."<Connection Pool>" ;
    BUFFER_SIZE = 10 MB ;
    BUFFER_TIME_LIMIT_SECONDS = 5 ;
    NUM_INSERT_THREADS = 5 ;
    MAX_INSERTS_PER_TRANSACTION = 1 ;
    //==============================================================================
    # Query Optimization Flags
    [ OPTIMIZATION_FLAGS ]
    STRONG_DATETIME_TYPE_CHECKING = ON ;
    # CubeViews Section
    [ CUBE_VIEWS ]
    DISTINCT_COUNT_SUPPORTED = NO ;
    STATISTICAL_FUNCTIONS_SUPPORTED = NO ;
    USE_SCHEMA_NAME = YES ;
    USE_SCHEMA_NAME_FROM_RPD = YES ;
    DEFAULT_SCHEMA_NAME = "ORACLE";
    CUBE_VIEWS_SCHEMA_NAME = "ORACLE";
    LOG_FAILURES = YES ;
    LOG_SUCCESS = NO ;
    LOG_FILE_NAME     =     "C:\OracleBI\server\Log\CubeViews.Log";
    # MDX Member Name Cache Section
    # Cache subsystem for mapping between unique name and caption of
    # members for all SAP/BW cubes in the repository.
    [ MDX_MEMBER_CACHE ]
    // The entry to indicate if the feature is enabled or not, by default it is NO since this only applies to SAP/BW cubes
    ENABLE = NO ;
    // The path to the location where cache will be persisted, only applied to a single location,
    // the number at the end indicates the capacity of the storage. When the feature is enabled,
    // administrator needs to replace the "<full directory path>" with a valid path,
    // e.g. DATA_STORAGE_PATH = "C:\OracleBI\server\Data\Temp\Cache" 500 MB ;
    DATA_STORAGE_PATH     =     "C:\OracleBIData\cache" 500 MB;
    // Maximum disk space allowed for each user;
    MAX_SIZE_PER_USER = 100 MB ;
    // Maximum number of members in a level will be able to be persisted to disk
    MAX_MEMBER_PER_LEVEL = 1000 ;
    // Maximum size for each individual cache entry size
    MAX_CACHE_SIZE = 100 MB ;
    # Oracle Dimension Export Section
    [ ORA_DIM_EXPORT ]
    USE_SCHEMA_NAME_FROM_RPD = YES ; # NO
    DEFAULT_SCHEMA_NAME = "ORACLE";
    ORA_DIM_SCHEMA_NAME = "ORACLE";
    LOGGING = ON ; # OFF, DEBUG
    LOG_FILE_NAME     =     "C:\OracleBI\server\Log\OraDimExp.Log";

  • Folder hierarchy!!

    Hello All,
    Iam sure many people involved herein would have looked at organising the folders within KM in one way or the other.
    Can we all share our best practises and lessons learnt in this thread.
    This could be of great interest to many as there might be some people who may have given it a out of the box thought and looked at it differently.
    I look forward for your responses on this
    Regards and long live SDN
    Ajey

    Hi ,
    I am adding a point here.
    A Folder Hierarchy in KM is used for two purposes.  The first purpose is to organize the physical storage of documents.  Folders and subfolders are created in the appropriate repository for the application. Physical folder hierarchies should be created for the easy of maintenance for the content.
    Th KM folders are having unique features like Copy, Move, Rename, Create Link, Clip board, Delete, we can apply different services to KM folders based on your Requirement.
    We can use different kind of layout sets when we diplay folders in an iVIew.
    The second purpose for a folder hierarchy is for developing taxonomies. Simply, taxonomies are alternate, logical navigation to folders which contain links to the physical content.
    Krishna

  • How to extend material master product Hierarchy

    Hi,
    How to extend material master product Hierarchy
    Define Product Hierarchies (SAP Library - Material Master)
    In SAP help, the procedure is given, But in procedure we need to change standard structures and data elements.
    Need to know, This is only the possibilty?
    Need to change structure and data elements by Access key only or there is some other way.
    Regards
    Sukumar

    Hi,
    Use t.code:MM01 and in Copy From Field Give Material No ( u wan to copy) and in Next Screen Give Extending Plant & Storage Location and in Copy From Fields give Reference Plant & Storage Location.
    For more check the links for material extension.
    http://www.copacustomhelp.state.pa.us/infopak/nav/procurement/pr%20master%20data/file1434/index.htm
    http://www.copacustomhelp.state.pa.us/infopak/standard/fastpaths/mm01_content.htm
    Regards,
    Biju K

Maybe you are looking for

  • VARRAY INDEX

    Hi, i've following problem: CREATE TYPE F_FLA_TYPE AS OBJECT ( ABC          VARCHAR2(3), DEF VARCHAR2(7), GHI VARCHAR2(14), CREATE TYPE F_FLA_ARRAY AS VARRAY (999) OF F_FLA_TYPE CREATE TABLE IFC ( ID NUMBER(12), STATUS VARCHAR2(1), FTA F_FLA_ARRAY, V

  • Running Final Cut Studio 2 with only 512 MB

    I have 2 older mac mini's laying around and I would like to put them to work. I was thinking that they could log and capture and only do that. If they are logging, then the other computers are freed up to edit. The problem that I am having is that th

  • Pre-populate Organization to the self registration request in OIM 11gR2 PS1

    Hi All I want to know if there is a way to pre-populate Organization to the self registration request in OIM 11gR2 PS1. I am trying to configure auto approval and for that I need to add org to the request. Thanks

  • Layout page shifted in IE 6.0

    Please I need some help! My site looks good in all browsers except in IE 6.0. Content of the page is shifted all the way to the bottom.. Have no idea why.. Been trying to figure this out for the last 2 days! Any suggestions are welcomed. Thanks! Link

  • Error: Transaction IDX1: Port SAPZ52_002, client , RFC destination contain

    Hi, I have a Scenario WebSphere MQ to IDoc. I get the following message in SXMB_MONI when trying to send data.   <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> - <!--  Call Adapter   --> - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/