Creating Cube based on 0FIGL_O02

Hi Gurus,
     I installed 0FIGL_O02 (General Ledger: Line Item) ODS from Business Content and fetching data using 0FI_GL_4 data source. In 0FIGL_O02 has document level data.
     If I create Z infocube based on 0FIGL_O02 what are the complexities are there?  Will I lose any important data in summaries InfoCube?
     Is it feasible to create Cube based on 0FIGL_O02?
     If I create Multicube base on Z infocube which is based on 0FIGL_O02 for archiving purpose then is it feasible?
     any suggestion ?
     Thanks in advance…

Vir
You could create ZInfo cube and you don't loose any summaraizzed data.
Since you are using line items Yes it is good idea to creat cube based on 0FIGL_O02
Why do you want to create Multicube for archiving you could directly archive from basic cubes.
Hope this helps
Thnaks
Sat

Similar Messages

  • How to Create a Cube Based on other Cubes?

    I want to create a cube that is sourced from other cubes. My situation is I have a number of cubes based on individual products and I want to create a cross-product cube that combines the individual product cubes at a common dimensional grain.
    e.g :
    CUBE_1 (DIM_1, DIM_2, DIM_3)
    CUBE_2 (DIM_1, DIM_2, DIM_3, DIM_4)
    CUBE_3 (DIM_1, DIM_2, DIM_3, DIM_4, DIM_5)
    CROSS_CUBE (DIM_1, DIM_2, DIM_3)
    I see if your cubes are in the same AW then you can access measures from other cubes with a calculated measure. But I'm struggling to understand two things:
    1. If I want to build a cube that is only sourced from other cubes and not any database tables then what do I put in the cube mapping?
    2. If I create a calculated measure that accesses another cube's measure does Oracle OLAP automatically match up the dimensionality? e.g. If I create a calculated measure in CROSS_CUBE that adds together a measure from CUBE_1 and a measure from CUBE_2 then will the new measure return the correct results across  DIM_1, DIM_2 and DIM_3?
    To do this in a relational star schema you have to do a Drill-Across: http://www.kimballgroup.com/2005/06/design-tip-68-simple-drill-across-in-sql/
    Is what I'm trying to do possible or will I need to combine the cube views into another view and use this as my cross cube source?
    Thanks in advance.
    OLAP Analytic Workspace 11.2.0.4.0
    Oracle OLAP API 11.2.0.4.0
    OLAP Catalog 11.2.0.4.0

    You can create a cube in AWM which consists only of calculated measures.  These calculated measures can reference other cubes provided that
    1) the cubes are in the same Analytic workspace as the calculated measure cube and
    2) the calculated measure cube is dimensioned by the same dimensions as all the cube measures it references in its calculated measures.
    For instance, if your calculated cube is dimensioned by dim1, dim2, dim3 and dim4, it can have calculated measures which refer to measures in cubes that are dimensioned by any subset of the dimensions (i.e. dim1 and dim3, or dim1, dim2, dim3 and dim4, etc).
    The calculated measure cube does not need to be mapped because it only contains calculated measures that reference measures in other cubes which I am assuming are mapped and built. 
    --Ken

  • Creating dim, cube based on SOLVED LEVEL-BASED Dims

    Hi All,
    I have generated parent child script using cwm2_olap_pc_transform.create_script. After running this generated script, it has created 3 table/view.
    My Base Parent Child table is like this:-
    drop table PARENT_CHILD;
    create table PARENT_CHILD (PARENT varchar2(30), CHILD varchar2(30));
    insert into PARENT_CHILD values ('Eligible', 'Compliant');
    insert into PARENT_CHILD values ('Eligible', 'Non-Compliant');
    insert into PARENT_CHILD values ('All', 'Eligible');
    insert into PARENT_CHILD values ('All', 'Ineligible');
    insert into PARENT_CHILD values (null, 'All');
    After running generated script thru cwm2_olap_pc_transform.create_script, it has created :-
    Table - PARENT_CHILD_SOLVED
    View - PARENT_CHILD_SOLVED_view , PARENT_CHILD_view
    This script also inserted data in above table/view. (5 rec in each). Table/View structure is like this:-
    SQL> desc PARENT_CHILD_view
    Name Null? Type
    GID NUMBER
    CHILD1 VARCHAR2(30)
    CHILD2 VARCHAR2(30)
    CHILD3 VARCHAR2(30)
    Data:-
    0 All Eligible Compliant
    0 All Eligible Non-Compliant
    1 All Eligible
    1 All Ineligible
    3 All
    SQL> desc PARENT_CHILD_SOLVED
    Name Null? Type
    GID NUMBER
    CHILD1 VARCHAR2(30)
    CHILD2 VARCHAR2(30)
    CHILD3 VARCHAR2(30)
    Data:-
    0 All Eligible Compliant
    0 All Eligible Non-Compliant
    1 All Eligible
    1 All Ineligible
    3 All
    SQL> desc PARENT_CHILD_SOLVED_view
    Name Null? Type
    GID NUMBER
    SHORT_DESCRIPTION VARCHAR2(30)
    LONG_DESCRIPTION VARCHAR2(30)
    CHILD1 VARCHAR2(30)
    CHILD2 VARCHAR2(30)
    CHILD3 VARCHAR2(30)
    Data:-
    0 Compliant Compliant All Eligible Compliant
    0 Non-Compliant Non-Compliant All Eligible Non-Compliant
    1 Eligible Eligible All Eligible
    1 Ineligible Ineligible All Ineligible
    3 All All All
    I tried to create dim and cube based on this. I am not sure whether its correct or not! Though validate_dimension API call shows that it is valid.
    Script for Dim:-
    DECLARE
    -- variable to hold error message
    errtxt varchar(60);
    BEGIN
    -- To be on safer side just drop dimension before creating new one and catch exceptions
    BEGIN
    cwm2_olap_dimension.drop_dimension('APPS', 'HCP_DIM_PC');
    EXCEPTION
    WHEN OTHERS THEN
    dbms_output.put_line('Dimension HCP_DIM_PC not dropped');
    END;
    cwm2_olap_dimension.create_dimension(
    'APPS',
    'HCP_DIM_PC',
    'Parent Child',
    NULL,
    'Parent Child',
    'Parent Child',
    NULL);
    cwm2_olap_dimension_attribute.create_dimension_attribute(
    'APPS',
    'HCP_DIM_PC',
    'Short Description',
    'Short Description',
    'Short Description',
    'Short Description',
    TRUE);
    cwm2_olap_dimension_attribute.create_dimension_attribute(
    'APPS',
    'HCP_DIM_PC',
    'Long Description',
    'Long Description',
    'Long Description',
    'Long Description',
    TRUE);
    cwm2_olap_dimension_attribute.create_dimension_attribute(
    'APPS',
    'HCP_DIM_PC',
    'Grouping ID',
    'Grouping ID',
    'Grouping ID',
    'Grouping ID',
    TRUE);
    cwm2_olap_hierarchy.create_hierarchy(
    'APPS',
    'HCP_DIM_PC',
    'HCP_DIM_PC_HIER',
    'Standard',
    'Standard',
    'Standard Parent Child Hierarchy',
    'SOLVED LEVEL-BASED');
    cwm2_olap_dimension.SET_DEFAULT_DISPLAY_HIERARCHY ('APPS', 'HCP_DIM_PC', 'HCP_DIM_PC_HIER');
    cwm2_olap_level.create_level(
    'APPS',
    'HCP_DIM_PC',
    'ALL_PARENT_LVL',
    'All Parent Child',
    'All Parent Child',
    'All Parent Child',
    'All Parent Child Level');
    cwm2_olap_level_attribute.create_level_attribute(
    'APPS',
    'HCP_DIM_PC',
    'Short Description',
    'ALL_PARENT_LVL',
    'Short Description',
    'Short Description',
    'Short Description',
    'Short Description',
    TRUE);
    cwm2_olap_level_attribute.create_level_attribute(
    'APPS',
    'HCP_DIM_PC',
    'Long Description',
    'ALL_PARENT_LVL',
    'Long Description',
    'Long Description',
    'Long Description',
    'Long Description',
    TRUE);
    cwm2_olap_level_attribute.create_level_attribute(
    'APPS',
    'HCP_DIM_PC',
    'Grouping ID',
    'ALL_PARENT_LVL',
    'Grouping ID',
    'Grouping ID',
    'Grouping ID',
    'HTB Grouping ID',
    TRUE);
    -- Add all levels one by one to dimension hierarchy. For top most level last parameter is null.
    cwm2_olap_level.add_level_to_hierarchy(
    'APPS',
    'HCP_DIM_PC',
    'HCP_DIM_PC_HIER',
    'ALL_PARENT_LVL',
    NULL);
    BEGIN
    cwm2_olap_table_map.removemap_dimtbl_hierlevel(
    'APPS',
    'HCP_DIM_PC',
    'HCP_DIM_PC_HIER',
    'ALL_PARENT_LVL');
    cwm2_olap_table_map.removemap_DimTbl_HierLevelAttr(
    'APPS', 'HCP_DIM_PC', 'Short Description', 'HCP_DIM_PC_HIER', 'ALL_PARENT_LVL', 'Short Description');
    cwm2_olap_table_map.removemap_DimTbl_HierLevelAttr(
    'APPS', 'HCP_DIM_PC', 'Long Description', 'HCP_DIM_PC_HIER', 'ALL_PARENT_LVL', 'Long Description');
    cwm2_olap_table_map.removemap_DimTbl_HierLevelAttr(
    'APPS', 'HCP_DIM_PC', 'Grouping ID', 'HCP_DIM_PC_HIER', 'ALL_PARENT_LVL', 'Grouping ID');
    EXCEPTION
    WHEN OTHERS THEN
    dbms_output.put_line('Level map for ALL_PARENT_LVL not removed');
    END;
    -- Map ALL_PARENT_LVL level to dimension table. Last parameter is null since it is top most level
    cwm2_olap_table_map.map_dimtbl_hierlevel(
    'APPS',
    'HCP_DIM_PC',
    'HCP_DIM_PC_HIER',
    'ALL_PARENT_LVL',
    'APPS',
    'PARENT_CHILD_SOLVED_VIEW',
    'GID',
    NULL);
    -- one by one map all the level attributes to respective columns in the dimension table.
    cwm2_olap_table_map.Map_DimTbl_HierLevelAttr(
    'APPS',
    'HCP_DIM_PC',
    'Short Description',
    'HCP_DIM_PC_HIER',
    'ALL_PARENT_LVL',
    'Short Description',
    'APPS',
    'PARENT_CHILD_SOLVED_VIEW',
    'SHORT_DESCRIPTION');
    cwm2_olap_table_map.Map_DimTbl_HierLevelAttr(
    'APPS',
    'HCP_DIM_PC',
    'Long Description',
    'HCP_DIM_PC_HIER',
    'ALL_PARENT_LVL',
    'Long Description',
    'APPS',
    'PARENT_CHILD_SOLVED_VIEW',
    'LONG_DESCRIPTION');
    cwm2_olap_table_map.Map_DimTbl_HierLevelAttr(
    'APPS',
    'HCP_DIM_PC',
    'Grouping ID',
    'HCP_DIM_PC_HIER',
    'ALL_PARENT_LVL',
    'Grouping ID',
    'APPS',
    'PARENT_CHILD_SOLVED_VIEW',
    'GID');
    -- Use cwm2_olap_validate.validate_dimension to validate the dimension
    cwm2_olap_validate.validate_dimension('APPS', 'HCP_DIM_PC');
    cwm2_olap_metadata_refresh.mr_refresh;
    -- Rollback if any exception occurs during processing this script
    EXCEPTION
    WHEN OTHERS THEN
    cwm_utility.dump_error;
    errtxt := cwm_utility.get_last_error_description;
    dbms_output.put_line('ERROR: ' || errtxt);
    ROLLBACK;
    RAISE;
    END;
    Script for Cube:-
    declare
    HCP_time_dim number;
    errtxt varchar(60);
    begin
    cwm_utility.collect_garbage;
    begin
    cwm2_olap_cube.drop_cube('APPS', 'HCP_PC_CUBE');
    exception
    when others then
    dbms_output.put_line('No HCP_PC_CUBE to drop');
    end;
    begin
    cwm2_olap_catalog.drop_catalog('HCP_PC_CAT');
    exception
    when others then
    dbms_output.put_line('No HCP_PC_CAT to drop');
    end;
    CWM2_OLAP_CUBE.Create_Cube('APPS', 'HCP_PC_CUBE', 'Parent Child Cube', 'Parent Child Cube','Parent Child Cube');
    cwm2_olap_cube.add_dimension_to_cube('APPS', 'HCP_PC_CUBE','APPS', 'HCP_DIM_PC');
    cwm2_olap_measure.create_measure('APPS', 'HCP_PC_CUBE', 'HCP_PC_MEASURE', 'PC Measure','PC Measure', 'PC Measure Fact');
    cwm2_olap_table_map.map_facttbl_levelkey('APPS','HCP_PC_CUBE','APPS','HCP_PC_FACT','ET', 'DIM:APPS.HCP_DIM_PC/HIER:HCP_DIM_PC_HIER/GID:GID/LVL:ALL_PARENT_LVL/COL:CHILD3;');
    cwm2_olap_table_map.Map_FactTbl_Measure('APPS', 'HCP_PC_CUBE','HCP_PC_MEASURE', 'APPS', 'HCP_PC_FACT', 'MEASURE_COL', 'DIM:APPS.HCP_DIM_PC/HIER:HCP_DIM_PC_HIER/GID:GID/LVL:CHILD3/COL:SHORT_DESCRIPTION;');
    cwm2_olap_catalog.create_catalog('HCP_PC_CAT', 'Parent Child Catalog');
    cwm2_olap_catalog.add_catalog_entity('HCP_PC_CAT', 'APPS', 'HCP_PC_CUBE', 'HCP_PC_MEASURE');
    cwm2_olap_validate.validate_cube('APPS', 'HCP_PC_CUBE','DEFAULT','YES');
    cwm2_olap_metadata_refresh.mr_refresh;
    exception
    when others then
    cwm_utility.dump_error;
    errtxt := cwm_utility.get_last_error_description;
    dbms_output.put_line('ERROR: ' || errtxt);
    rollback;
    raise;
    END;
    My Fact Table is :-
    DROP TABLE HCP_PC_FACT CASCADE CONSTRAINT;
    CREATE TABLE HCP_PC_FACT (
    SHORT_DESCRIPTION     VARCHAR2(30) NOT NULL,
    GID               NUMBER NOT NULL,
    CHILD1          VARCHAR2(30) NOT NULL,
    CHILD2          VARCHAR2(30) ,
    CHILD3          VARCHAR2(30) ,
    MEASURE_COL      NUMBER NOT NULL);
    Data in Fact Table:-
    insert into HCP_PC_FACT values('Compliant',0,'All','Eligible','Compliant', 100);
    insert into HCP_PC_FACT values('Non-Compliant',0,'All','Eligible','Non-Compliant', 200);
    insert into HCP_PC_FACT values('Eligible',1,'All','Eligible',null, 300);
    insert into HCP_PC_FACT values('Ineligible',1,'All','Ineligible',null, 400);
    insert into HCP_PC_FACT values('All',3,'All',null,null, 500);
    I am not sure how to create level, level attr, dim attr for such dim.
    Any complete working exapmle will be helpful.
    P.S. One more query I have can we have one solved and one un-solved dim in the same cube/measure?
    regds
    Prakash

    All CWM2 validation API shows that my all dims, cubes are valid but when I try to create presentation thru JDev it hangs after selecting Parent-Child Measure.

  • Where are partitioning a cube based on calmonth & fiscper

    Q1.where are partitioning a cube based on calmonth & fiscper ok In partitioning cube there are two types 1.physical partition & 2.logical partition so i want to know the both things and diferrences.

    Hi Kishore,
    Logical Partitioning means dividing the data into two or more cubes. The cubes will have the same structure, but will store mutually exclusive data sets. For eg. storing data from Calendar year 2000 to 2005 in one cube, 2006 to 2008 in another cube and 2009 to 2011 in another cube. As these three cubes will have the same structure, we can create a multiprovider to combine these cubes for comprehensive reporting. This can be done any characteristic....like company code, controlling area, sales organization, distribution channels or any time characteristics. This is more of data model designing option.
    Physical Partitioning is done on one cube. This is based on the Calender Month or the Fiscal period. This physically partitions the Fact table of the cube. For eg. you want to partition a cube that stores 2 years of data. The maximum no. of partitions allowed here are 26... (24 for each of the 24 months and two for data not belonging to these 24 months - these two partitions are system defaults and we have not control over). However, we can define any number  less that 26 and the system calculates the maximum number to be utilized. Supposing we specify, a maximum of 18 partitions to be used, the system will use a 14 partitions only - 12 partitions for the 24 months (each 2 months) and 2 on either side of the time scale.
    rgds
    Naga

  • How to create event based process chains

    Hi All,
    I would like to know about event based process chains. In connection to this, could you please answer the following queries,
    1. How to create events
    2. How to link created event to the process chain in the same BI or BW system and as well as from  
        externel BI system.
    3. How link one process chain with other process chain (i.e, After completion of one process chain, it
        should trigger other dependent process chain)
    Thanks and Regards,
    Kotesh.

    1). Doubt regarding first question.
    For example, i would like to create time based event (it should be trigger daily at specified time),
    where we have to maintain scheduling options while creating event.
    When i checked SM62 there i found only two options a). Event name and b). Description.
    Could please send any doucument link if you have.
    Ans : You can use function modules like "BP_EVENT_RAISE" in a program and schedule the program to trigger.
    2). For externel BIW system also same procedure we need to follow or any difference.
    Ans : Externally you need to trigger the same event.
    3). i found dependent process chain also had scheduling options as direct scheduling insted of start using meta chain or API. As you said dependent process chain should be mata chain. it seems dependent process chain may be Meta chain or Direct scheduilg.
    Ans : Its your choice how you want to schedule it.You can either make that dependent chain a metachain or schedule it separately.
    I found at the end of first process chain they kept one process like Raise event and second process chain connected with the help of raise event process event name. If you have any idea about this process could explain a bit more.
    Ans : May be they are raising the event in the main chain and triggering the dependent chain using this event.
    But Metachain is preferred for such thing.Though it does similar thing.
    Hope this helps.

  • Error while creating https based web clipping portlet

    Please help me if any one has created https based web clipping portlet. I'm getting the following error when https url is used during clipping :
    An exception has occurred : oracle.portal.wcs.transport.http.HttpTransportException WCS-510 -- HTTP connection failed to URL https://google.com by method get
    Please click "Cancel" or "Back" in the above panel (if present) to retry. Otherwise, please try to click "Back" (from the browser) to go back to the Oracle Portal page to restart.
    both are not working
    Steps performed :
    1) Added proxy settings in provider.xml
    2) Imported certificates from https site into WLS_Portlet key store
    Thanks
    Bikash

    Hi,
    Are you using proxy server? if yes you have to configure it, or it is problem with your provider.xml file. Can you past the code from provider.xml related to proxy setting?
    I have resolved this issue by follow following technique, Look this code from provider.xml
    <proxyInfo class="oracle.portal.provider.v2.ProxyInformation">
    <!-- <httpProxyHost></httpProxyHost>
    <httpProxyPort></httpProxyPort>
    <dontProxyFor>*.mycompany.com</dontProxyFor> -->
    <proxyUseAuth></proxyUseAuth>
    <proxyType></proxyType>
    <proxyRealm></proxyRealm>
    <proxyUseGlobal></proxyUseGlobal>
    <proxyUser></proxyUser>
    </proxyInfo>
    commented first three tags and removed value from remaining tags.
    Just try with that, Hope this will solve your problem
    Muhammad Nasir

  • Create quotation based on notification

    Hello All,
    Can any one tell me hwo to create quotation based on notification.
    I know the BAPI's BAPI_QUOTATION_CREATEFROMDATA2 has to be used to create quotation
    i get diffrent errors like
    1) in sufficient parameters
    2) Sales document  was not changed
    I don't know what these error means and How to solve it.
    Here is my code
    data: ls_quotation_header  type bapisdhd1,
          ls_quotation_headerx type bapisdhd1x,
          lt_items             type table of bapisditm,
          lt_itemsx            type table of bapisditmx,
          lt_partners          type table of bapiparnr,
          ls_partner           type bapiparnr,
          ls_item              type bapisditm,
          lt_return            type table of bapiret2,
          ls_return            type bapiret2,
          ls_itemx             type bapisditmx,
          ls_diadr             type diadr,
          lv_parnr             type ihpa-parnr.
    ls_quotation_header-sales_org = '1000'.
    ls_quotation_header-distr_chan = '10'.
    ls_quotation_header-division = '20'.
    ls_quotation_header-doc_type = 'AS'.
    ls_quotation_header-ref_1_s = '63693'.
    lv_parnr = ls_quotation_header-ref_1_s.
    ls_quotation_headerx-notif_no = '000350000002'.
    *ls_quotation_header-SALES_GRP = 'SOG'.
    *ls_quotation_header-SALES_ORG = '0001'.
    *ls_quotation_header-DOC_TYPE
    *PURCH_DATE
    ls_quotation_headerx-sales_org = 'X'.
    ls_quotation_headerx-distr_chan = 'X'.
    ls_quotation_headerx-division = 'X'.
    ls_quotation_headerx-doc_type = 'X'.
    ls_quotation_headerx-ref_1_s = 'X'.
    ls_quotation_headerx-notif_no = 'X'.
    *ls_quotation_header-SALES_GRP = 'X'.
    *ls_quotation_header-SALES_ORG = 'X'.
    *ls_quotation_header-DOC_TYPE
    call function 'CONVERSION_EXIT_ALPHA_INPUT'
      exporting
        input  = lv_parnr
      importing
        output = lv_parnr.
    break-point.
    call function 'PM_PARTNER_READ_MASTER_DATA'
      exporting
        parnr                  = lv_parnr
        nrart                  = 'KU'
      importing
        diadr_wa               = ls_diadr
      exceptions
        no_valid_parnr         = 1
        no_valid_parnr_today   = 2
        no_authority           = 3
        parvw_and_nrart_inital = 4
        others                 = 5.
    if sy-subrc <> 0.
      message id sy-msgid type sy-msgty number sy-msgno
              with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    elseif sy-subrc = 0.
      move-corresponding ls_diadr to ls_partner .
      append ls_partner to lt_partners.
    endif.
    ls_partner-partn_role = 'AG'.
    ls_partner-partn_numb = lv_parnr.
    append ls_partner to lt_partners.
    *ls_item-hg_lv_item = 5.
    *ls_item-material = 31999.
    *ls_item-sales_unit = 'LE'.
    *ls_item-item_categ = 'ZEQU'.
    *APPEND ls_item TO lt_items.
    *ls_itemx-hg_lv_item = 'X'.
    *ls_itemx-material = 'X'.
    *ls_itemx-sales_unit = 'X'.
    *ls_itemx-item_categ = 'X'.
    *APPEND ls_itemx TO lt_itemsx.
    call function 'BAPI_QUOTATION_CREATEFROMDATA2'
      exporting
    *   SALESDOCUMENTIN                =
        quotation_header_in            = ls_quotation_header
       quotation_header_inx           = ls_quotation_headerx
    *   SENDER                         =
    *   BINARY_RELATIONSHIPTYPE        = ' '
    *   INT_NUMBER_ASSIGNMENT          = ' '
    *   BEHAVE_WHEN_ERROR              = ' '
    *   LOGIC_SWITCH                   =
    *   TESTRUN                        =
    *   CONVERT                        = ' '
    * IMPORTING
    *   SALESDOCUMENT                  =
      tables
       return                         =  lt_return
       quotation_items_in             =  lt_items
       quotation_items_inx            =  lt_itemsx
        quotation_partners             = lt_partners
    *   QUOTATION_SCHEDULES_IN         =
    *   QUOTATION_SCHEDULES_INX        =
    *   QUOTATION_CONDITIONS_IN        =
    *   QUOTATION_CONDITIONS_INX       =
    *   QUOTATION_CFGS_REF             =
    *   QUOTATION_CFGS_INST            =
    *   QUOTATION_CFGS_PART_OF         =
    *   QUOTATION_CFGS_VALUE           =
    *   QUOTATION_CFGS_BLOB            =
    *   QUOTATION_CFGS_VK              =
    *   QUOTATION_CFGS_REFINST         =
    *   QUOTATION_KEYS                 =
    *   QUOTATION_TEXT                 =
    *   EXTENSIONIN                    =
    *   PARTNERADDRESSES               =
    regards,
    Lisa

    In the meantime we have found the solution to this problem. 
    The objectkey must contain the notification number (12 digits):
    <b>METHODS</b>
    000001  HEADER     CREATETONOTIF  %00000000001000010000188
    000001  OPERATION  CREATE         %000000000010010
    000001             SAVE           %00000000001
    Kind regards,
    Lieselot

  • How to create Formula based value field in COPA

    Hi,
    I want to know how to create formula based  value field in COPA
    My Requirement is i want to collect some value in formula based value field and want to use in copa allocation cycle as a tracing
    factor.
    anybody give some light on the same topic or requirement ?
    Thanks
    Nilesh R

    The key figure you are creating in KE2K is not a value field, i.e. you can't post to it and you can't use it in a report. It is a caluculated value that can be used only in assessment and top-down-distribution.
    In Ke2K, enter a name for your key figure, then click on the the white sheet button to create it. Now the formular area is open for input. Input your formular (e.g. VV001 + VV002 - VV003 .... where VVXXX are the technical names of value fields).
    Now click the "check formuar"-button. Then save.
    Before you can use the key figure in assessment, execute TC KEUG.
    Now the key figure is available as any value field in the tracing factor selection of your assessment cycle.
    I hope this made it clearer.
    Regards
    Nikolas

  • Creating  idocs based on invoice number ocurrences

    Hi ,
    I want  to create idocs based on invoice numbers .
    Lets say i have a file coming in from sender system
    Invoice1 material customer value
    Invoice1 materail1 ..........
    imvoice2 material2.....
    invoice2 material1.....
    invoice1 material3..
    Invoice3. material4....
    So for Invoice1 only one Idoc should be created  similarly for invoice 2 which is ocurring twice in the file
    only 1 idoc  should be created
    Let me know how to achieve this ..  by UDF , or by split by value
    please help
    thnx
    Chirdip

    Hi,
      Change the IDOC occurance to 0-unbounded.Export the xsd change the occurance and import it to external definition.
    Map Like below:
    invoice number--removecontext--sort--splitbyvalue(valuechange)--IDOC
    other fields you need to map like below.
    invoice number--removecontext--sortbykey--SplibyValue(Each)---IDOC fields
    source field----removecontext------
    Regards,
    Prakasu.M

  • Creating Graph based on runtime conditions

    Hi,
    Right now i am able to create Graphs based on Views. But my requirement is that, if i click on certain component, i should be able to crate another graph at runtime which will display information based on the Clicked Component of original graph.
    Any help will be appreciated.
    Thanks

    Hi,
    I think the options are
    - create a second graph and hide it at runtime
    - create the graph on the fly in a managed bean, wich is quite a bit of code to write, that is justified if the "generated" graph is different (e.g. different model data) for each master selection.
    The first approach should be doable by detecting the selected information on the master graph and the query the detail iterator accordingly + displaying it.
    The second approach is a deep dive into the graph model APIs because you will have to code this all manually. Note that we don't have documentation for this approach yet
    Frank

  • Problem Creating VirtualProviders Based on the DTP

    Problem Creating VirtualProviders Based on the Data Transfer Process .
    (1) I have created an Data Source(extract structure and extractor) on SYS1. Tested the extractor. It returns data as desired.
    (2) Then I replicated this Data Source to SYS2.
    (3) In SYS1 I created InfoCube(VirtualProvider based on data transfer process for direct access) .
    Till this point I have no issues .
    (4) But after that I am not able to "Create Data Transfer Process"  for this Virtual Infoprovider . When I try to create DTP the DTP type available for selection is "Scheduled" where as per the documentation I need to create DTP of DTP type "DTP for Direct Access".This DTP type I donot see.
    Is it a problem with the BW configuration or some user error.Any suggestions which may help would be realy appreciated.
    Thanks & Regards,
    priyadarshi

    Corrected some typo in my earlier update...
    Problem Creating VirtualProviders Based on the Data Transfer Process .
    (1) I have created an Data Source(extract structure and extractor) on SYS1. Tested the extractor. It returns data as desired.
    (2) Then I replicated this Data Source to SYS2.
    (3) In SYS2 I created InfoCube(VirtualProvider based on data transfer process for direct access) .
    Till this point I have no issues .
    (4) But after that I am not able to "Create Data Transfer Process" for this Virtual Infoprovider . When I try to create DTP the DTP type available for selection is "Standard(Scheduled)" where as per the documentation I need to create DTP of DTP type "DTP for Direct Access".This DTP type I donot see.
    Is it a problem with the BW configuration or some user error.Any suggestions which may help would be realy appreciated.
    Thanks & Regards,
    priyadarshi

  • Create form based on existing row : advice from specialists

    hello,
    i've coded a "create form" based on a row selected by the user.
    this create form displays the same information as the selected row (except for the primary key which is a sequence trigger-calculated) the user can then modify any field and then commit the creation. It's quicker for tables with many columns since the user will override only several fields instead of setting every field one by one.
    I've done it this way :
    1) creation of a createCustomMethod() in my ViewObject implementation class and published it in the client interface.
    2) drag and drop the method as a command button on the selection list page
    3) set the action of the command button to the navigation case value to open the create form when the button is clicked.
    the code of the createCustomMethod() is the following
    public void createCustomMethod() {       
    Row currentRow = this.getCurrentRow();
    Row newRow = this.createRow();
    newRow.setAttribute("Attribute1",currentRow.getAttribute("Attribute1"));
    newRow.setAttribute("Attribute2",currentRow.getAttribute("Attribute2"));
    /* more initialization code here */
    this.insertRow(newRow);
    this.setCurrentRow(newRow);
    it works fine but as i'm knew to ADF BC is this a good solution ? are there any drawbacks to it ?
    thanks
    -regards

    what's the advantage of exposing it in the application module rather than in the view object ?
    Message was edited by:
    user562278
    i've tried implementing the method in the application module (i had to call the findViewObject() now) but the "Row currentRow = vo.getCurrentRow();" instruction throws a NPE.

  • Create Directories based on File Names

    I have a Folder with all of my digital photos. All of the photos are named using a %Y%m%d_%H%M%S.jpg format. I am trying to write a script that would go through, and create folders based on the %Y%m%d portion of the name. Then move the photos into the appropriate folders. Then, create folders named according to %Y%m of the newly created folders, and move the %Y%m%d folders into the %Y%m folders. So that my folders would be organized as /%Y%m/%Y%m%d/%Y%m%d_%H%M%S.jpg or 200809/20080905/20080905_083026 - for a photo taken today.
    Any tips for getting started on this? As always, thanks in advance.

    There are a number of ways of doing this, here's one model:
    set topFolder to (choose folder with prompt "Please select the folder containing your images")
    tell application "Finder"
      repeat with eachFile in (get files of folder topFolder)
        -- get the file name and date elements
        set filename to name of eachFile
        set YMD to characters 1 through ((offset of "_" in filename) - 1) of filename as text
        set YM to characters 1 through 6 of YMD as text
        -- make sure the subfolders exist. If they don't then create them
        if not (exists folder YM of topFolder) then
          make new folder at topFolder with properties {name:YM}
        end if
        if not (exists folder YMD of folder YM of folder topFolder) then
          make new folder at folder YM of folder topFolder with properties {name:YMD}
        end if
        -- now move the file
        move eachFile to folder YMD of folder YM of folder topFolder
      end repeat
    end tell

  • Create Fieldcatalog based on internal table (dynamic)

    Hi ,
    Is there a way to create Create Fieldcatalog based on internal table (dynamic).
    while creating fieldcat we usually many give the fields "fieldname" and "tabname".
    is there a way to get the fieldname from the main table ?
    Eg ..
    I have i_tab as the output table. It has 3 fields "a", "b" and "c"
    Now when i created fieldcat manually ( in case i cannot use fieldcat_merge FM) , i have to append 3 throws in fieldcat table.
    These rows would have "a", "b" and "c".
    Now i want to know if there is a way in which i can find "a" "b" and "c" fieldnames from the createdd internal tables.
    i can then append the same to fieldcat.

    Hi Anuj,
    I created a FORM routine for this 4 or 5 years ago and made a couple of refinements. Meanwhile it has prooved as very useful.
    The disadvantag is that it creates the oldfashioned field catalog for the function calls. But I already used it for OO fieldcatalog of LVC type - there is a function module for this but I do not have the name here.
    You need the two forms (second called in first) to build the field catalog from any internal table that can be used for ALV display.
    *&      Form  ALV_FIELDCAT_FOR_ITAB
    *       Feldkatalog from (arbitrary) internal Table (c) Clemens Li
    *       * build field catalog from        type description
    form alv_fieldcat_for_itab                                  "#EC *
      tables   pt_outtab                      type table        "#EC *
      changing pt_alv_fieldcat                type slis_t_fieldcat_alv."#EC *
      data:
        lv_desc                               type sydes_desc,
        ls_alv_fieldcat                       type slis_fieldcat_alv,
        lv_longfield                          type text80."CRM<=R/3 fname.
      field-symbols:
        <typeinfo>                            type sydes_typeinfo,
        <nameinfo>                            type sydes_nameinfo.
      describe field pt_outtab into lv_desc.                    "#EC *
      loop at lv_desc-types
          assigning <typeinfo>
          where not idx_name is initial
            and table_kind is initial "no entries for deep table like color
            and back                          = 1. "top-level-entries only.
        read table lv_desc-names index <typeinfo>-idx_name
          assigning <nameinfo>.
        check <nameinfo>-name                 <> 'INCLUDE'.
        ls_alv_fieldcat-fieldname             = <nameinfo>-name.
        while not <nameinfo>-continue is initial.
          add 1 to <typeinfo>-idx_name.
          read table lv_desc-names index <typeinfo>-idx_name
            assigning <nameinfo>.
          concatenate
            ls_alv_fieldcat-fieldname
            <nameinfo>-name
            into ls_alv_fieldcat-fieldname.
        endwhile." not <nameinfo>-continue IS INITIAL.
        read table lv_desc-names index <typeinfo>-idx_help_id
          assigning <nameinfo>.
        if sy-subrc                           = 0.
    * Caution: Help-ID may be Tablename-Fieldname and thus longer
    * than 30 Chars; ls_alv_fieldcat-rollname is 30 Chars only
          ls_alv_fieldcat-rollname            = <nameinfo>-name.
          lv_longfield                        = <nameinfo>-name.
          while not <nameinfo>-continue is initial.
            add 1 to <typeinfo>-idx_help_id.
            read table lv_desc-names index <typeinfo>-idx_help_id
              assigning <nameinfo>.
            concatenate
              lv_longfield
              <nameinfo>-name
              into lv_longfield.
          endwhile." not lv_desc-continue is initial.
    * help id may be data element or <table>-<field>
          if lv_longfield ca '-'.
    * get data                                type for table field
            perform get_rollname_4_tabfield
              using lv_longfield changing ls_alv_fieldcat.
          endif." lv_longfield ca '-'.
        else.
    * No Help-ID: Use Fieldname as text
          ls_alv_fieldcat-seltext_s           =
          ls_alv_fieldcat-seltext_m           =
          ls_alv_fieldcat-seltext_l           =
          ls_alv_fieldcat-reptext_ddic        =
          <nameinfo>-name.
        endif." sy-subrc                      = 0.
    * Starting 4.7: get edit mask
        if not <typeinfo>-idx_edit_mask is initial.
          read table lv_desc-names index <typeinfo>-idx_edit_mask
            assigning <nameinfo>.
          ls_alv_fieldcat-edit_mask           = <nameinfo>-name.
          if not <nameinfo>-continue is initial.
            add 1 to <typeinfo>-idx_edit_mask.
            read table lv_desc-names index <typeinfo>-idx_edit_mask
              assigning <nameinfo>.
            concatenate
              ls_alv_fieldcat-edit_mask
              <nameinfo>-name
              into ls_alv_fieldcat-edit_mask.
          endif." not <nameinfo>-continue IS INITIAL.
        endif." not <typeinfo>-IDX_EDIT_MASK is initial.
    * assign length, output length and decimals
        ls_alv_fieldcat-intlen                = <typeinfo>-length.
        ls_alv_fieldcat-outputlen             = <typeinfo>-output_length.
        ls_alv_fieldcat-decimals_out          = <typeinfo>-decimals.
        ls_alv_fieldcat-inttype               = <typeinfo>-type.
        append ls_alv_fieldcat to pt_alv_fieldcat.
        clear:  "prevent anything 2 B  taken for subsequent fields
          ls_alv_fieldcat.
      endloop." at lv_desc-types where not IDX_NAME is in initial.
    endform.                    " ALV_FIELDCAT_FOR_ITAB
    *&      Form  get_rollname_4_tabfield
    *       Get Data                          type for Table field
    form get_rollname_4_tabfield
      using    p_fname                        type text80 ""CRM<=R/3 fname
      changing p_alv_fieldcat                 type slis_fieldcat_alv.
      field-symbols:
        <dfies>                               type dfies.
      data:
        lv_tabname                            type tabname,
         lt_dfies                             type table of dfies,
        lv_fieldname                          type fieldname.
      split p_fname at '-'
        into lv_tabname lv_fieldname.
      clear p_alv_fieldcat-rollname.
      call function 'DDIF_FIELDINFO_GET'
        exporting
          tabname                             = lv_tabname
          fieldname                           = lv_fieldname
    *   LANGU                                 = SY-LANGU
    *   LFIELDNAME                            = ' '
    *   ALL_TYPES                             = ' '
    * IMPORTING
    *   X030L_WA                              =
    *   DDOBJTYPE                             =
    *   DFIES_WA                              =
    *   LINES_DESCR                           =
       tables
         dfies_tab                            =  lt_dfies
    *   FIXED_VALUES                          =
       exceptions
         not_found                            = 1
         internal_error                       = 2
         others                               = 3
      if sy-subrc                             <> 0.
        message id sy-msgid                   type sy-msgty number sy-msgno
                with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      else.
        read table   lt_dfies assigning <dfies> index 1.
        p_alv_fieldcat-rollname               = <dfies>-rollname.
    * Und wenn keinerlei Twexte gepflegt sind?
        if <dfies>-reptext is initial and
           <dfies>-scrtext_s is initial and
           <dfies>-scrtext_m is initial and
           <dfies>-scrtext_l is initial.
    * No Text: Use Fieldname as text
          p_alv_fieldcat-seltext_s            =
          p_alv_fieldcat-seltext_m            =
          p_alv_fieldcat-seltext_l            =
          p_alv_fieldcat-reptext_ddic         =
          p_alv_fieldcat-fieldname.
        endif." <dfies>-reptext IS INITIAL AND
      endif.
    endform.                    " get_rollname_4_tabfield
    Regards,
    Clemens

  • How to create cube in version 10.1.0.2 ?

    I want to create a cube or a fact table in database. Oracle Enterprise Manager's Help doc said that there is guide to create cube. But I cannot find in OEM.
    How can I create a cube? Thanks.

    CREATE TABLESPACE users
    DATAFILE '/u01/oracle/oradata/mynewdb/users01.dbf'
    SIZE 25M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED
    EXTENT MANAGEMENT LOCAL;
    Time to read oracle manual.
    http://download-east.oracle.com/docs/cd/B19306_01/server.102/b14231/create.htm#sthref248
    Jaffar

Maybe you are looking for