Transformations type in bi

Hi,
in bi how many types of transformation will be there.what is that.

Hi,
Check
http://help.sap.com/saphelp_nw04s/helpdata/en/f8/7913426e48db2ce10000000a1550b0/content.htm
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/dc43c445-0d01-0010-23a1-ca348ff5f975
Thanks
Reddy

Similar Messages

  • Core Data: "Allows external storage" for Transformable type?

    When I create a Core Data attribute, and set its type to "Transformable", the "Allows external storage" option is unavailable. I only see it available for Binary type.
    How can I use "Allows external storage" with Transformable type?

    I wanted to post an update and let everyone know what I decided on and how well it works.
    I went with the following setup.
    eSATA Express Card
    http://www.newegg.com/Product/Product.aspx?Item=N82E16839200006
    eSATA enclousure
    http://www.newegg.com/Product/Product.aspx?Item=N82E16817173043
    eSATA drive
    http://www.newegg.com/Product/Product.aspx?Item=N82E16822136218
    All of this cost me a total of $159.57 for about 600gigs of high performance storage after being formated! I did some benchmarks and the drive is performing faster than my internal 7200rpm drive. It is not much faster but it is faster.
    So I would have to say that if you really want some fast performing drives for just about anything eSATA is probably the way to go.
    About the items,
    The eSATA card looked used when i got it. The seal was broken and the item was dirty and had finger prints on it. It was however very easy to install. I just downloaded the newest drivers from rosewill.com plugged it in and it worked.
    The hard disk enclosure seems well made and was a breeze to setup and install. It also does usb 2.0 if you need it. It has as a big cooling fan and includes a usb and sata cable as well as a eSATA bracket for your desktop pc.
    All in all a great buy. So thank you again for all the info

  • Free Transform Default Transform Type

    Here's an interesting one that Google can't seem to help with. Normally when you use the "Free Transform" tool it'll allow you to scale and rotate your layer. In my case it defaults to distort and rotate. I know I hit a keyboard shortcut somewhere, but I can't figure out how to switch it back to the default behaviour. I have tried to reset all tool, but that didn't work. Has anyone come across this before. Is there some kind of keyboard shortcut I accidentally hit that would this?
    Thanks for you help!

    Jeez sounds like the command key is stuck down.  What does your cursor icon look like, when it is over a transform point?
    Arrowhead pointing 10 o'clock - Command key is down to distort
    2 Headed  black arrow - normal scale
    What happens if you hold down command and try to transform?
    From Adobe Help incase this helps identity how your transform acting:
    To distort freely, press Ctrl (Windows) or Command (Mac OS), and drag a handle.
    To skew, press Ctrl+Shift (Windows) or Command+Shift (Mac OS), and drag a side handle. When positioned over a side handle, the pointer becomes a white arrowhead with a small double arrow.
    To skew numerically, enter degrees in the H (horizontal skew) and V (vertical skew) text boxes in the options bar.
    To apply perspective, press Ctrl+Alt+Shift (Windows) or Command+Option+Shift (Mac OS), and drag a corner handle. When positioned over a corner handle, the pointer becomes a gray arrowhead.

  • Error 0000: internal error with Apply Transform Module

    Hello:
    I get an internal error message when attempting to use a previously saved data transform (namely missing value processing using MICE).  What is strange is that using the previously saved model works if I feed the exact same data that was used for training
    it but generates an internal error whenever I use a sample - even a 90% sample of the original.  This is the output log:
    Record Starts at UTC 04/02/2015 10:30:53:
    Run the job:"/dll "Microsoft.Analytics.Modules.ApplyITransform.Dll, Version=6.0.0.0, Culture=neutral, PublicKeyToken=69c3241e6f0468ca;Microsoft.Analytics.Modules.ApplyITransform.Dll.ApplyITransformModule;ApplyITransform" /Output0 "..\..\Transformed dataset\Transformed dataset.dataset" /transform "..\..\Transformation\Transformation.itransform" /data "..\..\Dataset\Dataset.dataset" "
    Starting Process 'C:\Resources\directory\870595a63cd0452da2f3767b831099d7.SingleNodeRuntimeCompute.Packages\AFx\6.2\DllModuleHost.exe' with arguments ' /dll "Microsoft.Analytics.Modules.ApplyITransform.Dll, Version=6.0.0.0, Culture=neutral, PublicKeyToken=69c3241e6f0468ca;Microsoft.Analytics.Modules.ApplyITransform.Dll.ApplyITransformModule;ApplyITransform" /Output0 "..\..\Transformed dataset\Transformed dataset.dataset" /transform "..\..\Transformation\Transformation.itransform" /data "..\..\Dataset\Dataset.dataset" '
    [ModuleOutput] DllModuleHost Start: 1 : Program::Main
    [ModuleOutput] DllModuleHost Start: 1 : DataLabModuleDescriptionParser::ParseModuleDescriptionString
    [ModuleOutput] DllModuleHost S[ModuleOutput] DllModuleHost Start: 1 : DllModuleMethod::DllModuleMethod
    [ModuleOutput] DllModuleHost S[ModuleOutput] DllModuleHost Start: 1 : DllModuleMethod::Execute
    [ModuleOutput] DllModuleHost Start: 1 : DataLabModuleBinder::BindModuleMethod
    [ModuleOutput] DllModuleHost Verbose: 1 : moduleMethodDescription Microsoft.Analytics.Modules.ApplyITransform.Dll, Version=6.0.0.0, Culture=neutral, PublicKeyToken=69c3241e6f0468ca;Microsoft.Analytics.Modules.ApplyITransform.Dll.ApplyITransformModule;ApplyITransform
    [ModuleOutput] DllModuleHost Verbose: 1 : assemblyFullName Microsoft.Analytics.Modules.ApplyITransform.Dll, Version=6.0.0.0, Culture=neutral, PublicKeyToken=69c3241e6f0468ca
    [ModuleOutput] DllModuleHost Start: 1 : DataLabModuleBinder::LoadModuleAssembly
    [ModuleOutput] DllModuleHost Verbose: 1 : Trying to resolve assembly : Microsoft.Analytics.Modules.ApplyITransform.Dll, Version=6.0.0.0, Culture=neutral, PublicKeyToken=69c3241e6f0468ca
    [ModuleOutput] DllModuleHost Verbose: 1 : Loaded moduleAssembly Microsoft.Analytics.Modules.ApplyITransform.Dll, Version=6.0.0.0, Culture=neutral, PublicKeyToken=69c3241e6f0468ca
    [ModuleOutput] DllModuleHost S[ModuleOutput] DllModuleHost Verbose: 1 : moduleTypeName Microsoft.Analytics.Modules.ApplyITransform.Dll.ApplyITransformModule
    [ModuleOutput] DllModuleHost Verbose: 1 : moduleMethodName ApplyITransform
    [ModuleOutput] DllModuleHost Information: 1 : Module FriendlyName : Apply Transformation
    [ModuleOutput] DllModuleHost Information: 1 : Module Release Status : Release
    [ModuleOutput] DllModuleHost S[ModuleOutput] DllModuleHost Start: 1 : ParameterArgumentBinder::InitializeParameterValues
    [ModuleOutput] DllModuleHost Verbose: 1 : parameterInfos count = 2
    [ModuleOutput] DllModuleHost Verbose: 1 : parameterInfos[0] name = transform , type = Microsoft.Analytics.MachineLearning.ITransform`2[Microsoft.Numerics.Data.Local.DataTable,Microsoft.Numerics.Data.Local.DataTable]
    [ModuleOutput] DllModuleHost Start: 1 : DotNetSerializationHandler::HandleArgumentString
    [ModuleOutput] DllModuleHost S[ModuleOutput] DllModuleHost Verbose: 1 : parameterInfos[1] name = data , type = Microsoft.Numerics.Data.Local.DataTable
    [ModuleOutput] DllModuleHost Start: 1 : DataTableDatasetHandler::HandleArgumentString
    [ModuleOutput] DllModuleHost S[ModuleOutput] DllModuleHost S[ModuleOutput] DllModuleHost Verbose: 1 : Begin invoking method ApplyITransform ...
    [ModuleOutput] InputDataStructure
    [ModuleOutput]
    [ModuleOutput] {
    [ModuleOutput] "InputName":Dataset
    [ModuleOutput] "Rows":385338
    [ModuleOutput] "Cols":105
    [ModuleOutput] "ColumnTypes":System.Nullable`1[System.Double],99,System.Nullable`1[System.Int32],5,System.String,1
    [ModuleOutput] }
    [ModuleOutput] DllModuleHost S[ModuleOutput] DllModuleHost Error: 1 : Program::Main encountered fatal exception: Microsoft.Analytics.Exceptions.ErrorMapping+ModuleException: Error 0000: Internal error ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentException: Source array was not long enough. Check srcIndex and length, and the array's lower bounds.
    Module finished after a runtime of 00:00:27.6131405 with exit code -2
    Module failed due to negative exit code of -2
    Record Ends at UTC 04/02/2015 10:31:38.
    Experiment URL: 
    https://studio.azureml.net/Home/ViewWorkspace/ffac4490b5e448fa8778ceadc74a0b97?#Workspaces/Experiments/Experiment/ffac4490b5e448fa8778ceadc74a0b97.f-id.0c2caa16ad4b46b08449bcfaf4a71e57/ViewExperiment
    Thanks for your help

    It's pretty clear no-one at Microsoft is interested in answering this on this forum.  With a paid subscription plan would I be able to get a response for these types of incidents/follow up questions?  You know - so I can stop throwing money away
    running experiments with modules that haven't been fixed in almost a month in hope that magically they will start to work some day...

  • How to escape special characters in Simple Transformation

    Hi Experts,
    I have got a problem to get a well formed xml document from the below simple transformation. The content of maktx contains
    special characters like & <, which are not allowed in a well formed XML-Document. But the result of the Simple Transformation
    contains this charcters even after the transformation as you can the in the result below. Has anyone a hint how to escape the
    characters included in the maktx.
    The transformation for maktx, should be something like
    Before: Material & < TEST
    After: Material &amp &lt TEST
    Report wihich calls the simple transformation
    types:
    BEGIN OF t_mat,
       matnr type matnr,
       maktx type maktx,
    end of t_mat.
    Data:
      mat type t_mat,
      xml_stream type xstring.
    START-OF-SELECTION.
    mat-matnr = '4711'.
    mat-maktx = 'Material & < Test'.
    CALL TRANSFORMATION ztest_st2
            SOURCE mat = mat
            RESULT XML xml_stream.
    CALL FUNCTION 'DISPLAY_XML_STRING'
      EXPORTING xml_string = xml_stream.
    Simple Transformation
    <?sap.transform simple?>
    <tt:transform xmlns:tt="http://www.sap.com/transformation-templates">
      <tt:root name="MAT"/>
      <tt:template>
        <Leistungsschild>
            <CHARACT> MATNR </CHARACT>
            <CHARACT_DESCR> Materialnummer </CHARACT_DESCR>
            <VALUE tt:value-ref="MAT.MATNR"/>
            <CHARACT> MAKTX </CHARACT>
            <CHARACT_DESCR> Materialkurztext </CHARACT_DESCR>
            <VALUE tt:value-ref="MAT.MAKTX" />
        </Leistungsschild>
      </tt:template>
    </tt:transform>
    RESULT
    <?xml version="1.0" encoding="utf-8" ?>
    <Leistungsschild>
      <CHARACT>MATNR</CHARACT>
      <CHARACT_DESCR>Materialnummer</CHARACT_DESCR>
      <VALUE>4711</VALUE>
      <CHARACT>MAKTX</CHARACT>
      <CHARACT_DESCR>Materialkurztext</CHARACT_DESCR>
      <VALUE>Material & < Test</VALUE>   </Leistungsschild>

    Hi Sandra,
    First of all thaks for your quick answer to my problem.
    I see what you mean and get the same result, if I am using data-type string instead of xstring. But the recommendation in the XML-Books of SAP is to use XSTRING to save memory and circumflex problems between Codepages, when writing the XML-Stream to a filesystem.
    As you can see in the code abvoe I am using a SAP-FM to display the XML-Stream and this FM works only with XSTRING´s,
    that is one reason why I don´t understand that it displays it in the wrong way.
    Even the Debugger shows me for the XSTRING the wrong result. Does all that mean that the escaping will not be applyed if you are working with XSTING´s??

  • Simple transformation : deserialize

    Hi,
    I have a simple transformation that works if I serialize table data, but it doesn't work when I wan't to deserialize.
    Here is my ABAP program that calls the transformation:
    TYPES: BEGIN OF flight,
            f_id TYPE p LENGTH 5,
            data TYPE c LENGTH 40,
          END OF flight,
          tt_flight TYPE STANDARD TABLE OF flight
                          WITH DEFAULT KEY.
    DATA: data1 TYPE flight.
    DATA: data2 TYPE flight.
    DATA: xml_string TYPE string.
    DATA: tab_data TYPE tt_flight.
    data1-f_id = '00001'.
    data1-data = 'before'.
    APPEND data1 to tab_data.
    data2-f_id = '00002'.
    data2-data = 'before'.
    APPEND data2 to tab_data.
    concatenate '<?xml version="1.0" encoding="iso-8859-2"?><XY><flights>'
                                       '<flight><id>11111</id><data>data1</data></flight>'
                                       '<flight><id>22222</id><data>data2</data></flight>'
                                       '</flights></XY>'
                into xml_string.
    CALL TRANSFORMATION ...
      SOURCE XML xml_string
      RESULT root = tab_data.
    And the transformation:
    <?sap.transform simple?>
    <tt:transform xmlns:tt="http://www.sap.com/transformation-templates" template="temp_main">
      <tt:root name="ROOT"/>
      <tt:template name="temp_main">
        <XY>
          <flights>
            <tt:loop name="line" ref="ROOT">
              <flight>
                <id>
                  <tt:value ref="f_id"/>
                </id>
                <data>
                  <tt:value ref="data">
                </data>
              </flight>
            </tt:loop>
          </flights>
        </XY>
      </tt:template>
    </tt:transform>
    It won't update or append the content of the xml to my table.
    I would like to read many "<flight><id>.....</id><data>......</data></flight>" lines and write them into the table "tab_data".
    Could somebody please help me?
    Thanks in advance,
    Greg

    Hi Greg,
    try to address the root node with a period. Instead of
    <tt:loop name="line" ref="ROOT">
    use
    <tt:loop name="line" ref=".ROOT">
    Regards
    Stephan

  • Simple Transformation XML to ABAP Content of tag with subtrees to string field

    Hi,
    I have an  requirement in which I have to do a transformation from an XML file to an structure.
    I need get the value of a tag that have subtrees and move that to a field in my structure.
    Example:
    <TAG1>value1</TAG1>
    <TAG2>value2</TAG2>
    <TAG3>
         <TAG4>value4</TAG4>
         <TAG5>value5</TAG5>
    </TAG3>
    Result expected in ABAP Structure:
    field1 -> tag1
    field2 -> tag2
    field3 -> <TAG4>value4</TAG4><TAG5>value5</TAG5>
    The contents of the tag TAG3 is variable, so I want to store it as a string.
    Can I make this with Simple Transformation?
    In my tests I can move only the value of each child tag for the given field structure.
    This syntax dont work:
    <TAG3 tt:value-ref="STRUCTURE.FIELD3"/>
    Thanks and Regards,
    Miguel Motta

    Hi Miguel
    Have a look at below snippets. Here I have tried to escape the text inside TAG3 so that it gets treated as single node during transformation.
    ABAP code
    DATA: BEGIN OF result,
            col1 TYPE string,
            col2 TYPE string,
            col3 TYPE string,
          END OF result.
    DATA: xml_string TYPE string VALUE
    '<ROOT> <TAG1>value1</TAG1> <TAG2>value2</TAG2> <TAG3> <TAG4>value4</TAG4> <TAG5>value5</TAG5> </TAG3> </ROOT>',
          part1 TYPE string,
          part2 TYPE string,
          part3 TYPE string.
    *   Escape the text inside TAG3 tag
    FIND REGEX '(.*<TAG3>)(.*)(</TAG3>.*)' IN xml_string SUBMATCHES part1 part2 part3.
    IF sy-subrc EQ 0.
      part2 = escape( val = part2 format = cl_abap_format=>e_xml_text ).
    *      REPLACE ALL OCCURRENCES OF '<' IN part2 WITH '&lt;'.
    *      REPLACE ALL OCCURRENCES OF '>' IN part2 WITH '&gt;'.
      xml_string = part1 && part2 && part3.
    ENDIF.
    TRY.
    * Display xml
        cl_abap_browser=>show_xml( EXPORTING xml_string = xml_string ).
    * Deserialization
        CALL TRANSFORMATION zmtest
          SOURCE XML xml_string
          RESULT para = result.
    * Check result
        WRITE:/ 'COL1=', result-col1,
              / 'COL2=', result-col2,
              / 'COL3=', result-col3.
      CATCH cx_st_error.
    * Error handling
        MESSAGE 'Error in Simple Transformation'
                TYPE 'I' DISPLAY LIKE 'E'.
    ENDTRY.
    Transformation code
    <?sap.transform simple?>
    <tt:transform xmlns:tt="http://www.sap.com/transformation-templates" template="temp" version="0.1">
       <tt:root name="PARA"/>
       <tt:template name="temp">
         <ROOT>
           <TAG1>
             <tt:value ref="PARA.COL1"/>
           </TAG1>
           <TAG2>
             <tt:value ref="PARA.COL2"/>
           </TAG2>
           <TAG3>
             <tt:value ref="PARA.COL3"/>
           </TAG3>
         </ROOT>
       </tt:template>
    </tt:transform>

  • Complex transformations in SELECT

    Hi everyone,
    I have a pretty complex situation where I have to apply transformations on data in a SQL SELECT Statement. The thing is that I have absolultely no idea how to handle this.
    Let's imagine I have an hierarchy table, like an organizational hierarchy.
    CREATE TABLE organisations
       organisation_id number(10) PRIMARY KEY,
       parent_organisation_id number(10),
       name_en varchar2(255),
       name_nl varchar2(255),
       CONSTRAINT fk_org_to_par_org
          FOREIGN KEY (parent_organisation_id)
           REFERENCES organisations(organisation_id)
    INSERT INTO organisations VALUES (1, null, 'Top organization 01', 'Top organizatie 01');
    INSERT INTO organisations VALUES (11,   1, 'Organization 011', 'Organizatie 011');
    INSERT INTO organisations VALUES (12,   1, 'Organization 012', 'Organizatie 012');
    INSERT INTO organisations VALUES (2, null, 'Top organization 02', 'Top organizatie 02');
    INSERT INTO organisations VALUES (21,   2, 'Organization 021', 'Organizatie 021');
    INSERT INTO organisations VALUES (22,   2, 'Organization 022', 'Organizatie 022');
    INSERT INTO organisations VALUES (3, null, 'Top organization 03', 'Top organizatie 03');
    INSERT INTO organisations VALUES (31,   3, 'Organization 031', 'Organizatie 031');
    INSERT INTO organisations VALUES (32,   3, 'Organization 032', 'Organizatie 032');
    INSERT INTO organisations VALUES (321, 32, 'Organization 321', 'Organization 321');
    INSERT INTO organisations VALUES (322, 32, 'Organization 322', 'Organization 322');And I have to apply some transformations in the SELECT. These transformations are store in a table. I have a few different transformations. I just put 3 here as examples:
    CREATE TABLE transformations
      transform_id number(10),
      transform_type CHAR(1),
      organ_id  number(10),
      organ_name varchar2(255),
      parent_organ_id number(10),
      replace_name varchar2(255),
      with_children char(1)
    INSERT INTO transformations(transform_id, transform_type, organ_name, parent_organ_id, organ_id)
         VALUES (1, 'C', 'Created NODE', 1, -9);
    INSERT INTO transformations(transform_id, transform_type, organ_name, replace_name)
         VALUES (2, 'R', 'Organization 021', 'Organization 021 renamed');
    INSERT INTO transformations(transform_id, transform_type, organ_name, replace_name, with_children)
         VALUES (3, 'R', 'Organization 032', 'Organization 032 Renamed', '1');The first transformation is to create a node under an existing one. The second transformation example is to rename a node. The pattern is actually a regular expression and it will use regexp_replace (to be able to add in the begining, change, add in the end...). The 3rd example is a rename too but all the children of a node should also be renamed with the same pattern.
    I need a result like this one: (I indented to read more easilly)
    1, ,Top Organisation 01, Top organizatie 01    
      -9, 1, Created Node, Created Node     
      11, 1, Organization 011, Organizatie 011
    2, ,Top Organisation 02, Top organizatie 02    
      21, 2, Organization 021 renamed, Organization 021 renamed     
      22, 2, Organization 022, Organizatie 022
    3, ,Top Organization 03, Top organizatie 03    
      31, 3, Organization 031, Organization 031    
      32, 3, Organization 032 Renamed, Organization 032 Renamed
        321, 32, Organization 032 Renamed, Organization 032 Renamed
        322, 32, Organization 032 Renamed, Organization 032 Renamed I was thinking if it was possible to apply these modifications on a SELECT clause without creating another table and refreshing it by parsing the initial table? Any suggestions?
    Thanks,

    Hi Frank, 
    I have been thinking for days on this problem... That's probably why I can't explain it correctly. SO let me try again. Let's restart evrything and recreate the ORGANISATIONS table.
    set define off;
    DROP TABLE ORGANISATIONS;
    DROP TABLE TRANSFORMATIONS;
    CREATE TABLE organisations 
       organ_id number(10) PRIMARY KEY, 
       parent_organ_id NUMBER(10), 
       organ_name varchar2(255), 
       CONSTRAINT fk_org_to_par_org 
          FOREIGN KEY (parent_organ_id) 
           REFERENCES organisations(organ_id)
    INSERT INTO organisations(organ_id, parent_organ_id, organ_name) 
         VALUES (11, NULL, 'Sales');
    INSERT INTO organisations(organ_id, parent_organ_id, organ_name) 
         VALUES (23, NULL, 'R&D');
    INSERT INTO organisations(organ_id, parent_organ_id, organ_name) 
         VALUES (71, NULL, 'Logistics');
    INSERT INTO organisations(organ_id, parent_organ_id, organ_name) 
         VALUES (87, 71, 'Transport');Once you executed the previous statements, you have the following result:
    SELECT organ_id, parent_organ_id, CAST(LPAD(' ', LEVEL * 2) || organ_name as VARCHAR2(25)) AS a
      FROM organisations
     START WITH parent_organ_id IS NULL
    CONNECT BY PRIOR organ_id = parent_organ_id;
    ORGAN_ID               PARENT_ORGAN_ID        A                         
    11                                              Sales                   
    23                                              R&D                     
    71                                              Logistics               
    87                     71                         Transport             The organisation has 3 root department: Sales, R&D and logistics. The logistics department has a child department called transport.
    Now, the previous tree comes from a remote database but that's not the point. It can not be used as provided. I have to apply some modification to that tree before I can use it. That's why I creat the TRANSFORMATIONS table. 
    CREATE TABLE transformations
      transform_id number(10), 
      transform_type CHAR(1), 
      organ_id  number(10), 
      organ_name varchar2(255), 
      parent_organ_id number(10),
      replace_name varchar2(255)
    );Now, every record inserted in that table is a transformation to apply to the original tree. One of the transformation I need to apply is to create organisations. 
    For example:
    INSERT INTO transformations(transform_id, transform_type, organ_id, organ_name, 
                                parent_organ_id)
          VALUES(  35, 'C', -19, 'Local sales', 11);The previous transformation means: Create a new organisation named 'Local Sales' under the Sales organization. Let's review the different values in the INSERT statement. The transform_ID is a generated ID. We don't really care about it.The transform_type 'C' means create an organization (node). The -19 is the ID that that new organization should have. 'Local Sales' is the name of that new organization and 11 is his parent id. That's with this parent-id that I know where to put the new node in the tree.
    After applying this transformtation, the result should be:
    ORGAN_ID               PARENT_ORGAN_ID        A                         
    11                                              Sales                   
    -19                    11                         Local sales 
    23                                              R&D                     
    71                                              Logistics               
    87                     71                         Transport             Of course, I can have other CREATE transformations:
    INSERT INTO transformations(transform_id, transform_type, organ_id, organ_name, 
                                parent_organ_id)
          VALUES(  64, 'C', -23, 'Foreign sales', 11);
    INSERT INTO transformations(transform_id, transform_type, organ_id, organ_name, 
                                parent_organ_id)
          VALUES(  66, 'C', -26, 'South America', -23);
    INSERT INTO transformations(transform_id, transform_type, organ_id, organ_name, 
                                parent_organ_id)
          VALUES(  97, 'C', -13, 'IT', null);After applying these transformations, the result should be :
    ORGAN_ID               PARENT_ORGAN_ID        A                         
    11                                              Sales                   
    -19                    11                         Local sales 
    -23                    11                         Foreign sales 
    -26                    -23                          South America 
    23                                              R&D                     
    71                                              Logistics               
    87                     71                         Transport             
    -13                                             ITI hope this is clear now? I wanted to know if it's possible to apply such transformations directly in the SELECT statement without having to code a PL/SQL package that does it for me?
    Now the problem is that I can have other type of transformations. For example, some nodes should be renamed. 
    For example, if I insert this transformation:
    INSERT INTO transformations(transform_id, transform_type, organ_id, replace_name)
          VALUES(  60, 'R', 11, 'Sales department');Instead of returning the name 'Sales' for the organization with ID = 11, it should return 'Sales department'. The 'R' transformation type means rename and the org_id is the organization to rename and the new name is supplied using replace_name.
    The most difficult transformation is probably the next one. It defines nodes to retrieve by organization. For example, let's add the following data:
    INSERT INTO organisations(organ_id, parent_organ_id, organ_name) 
         VALUES (50, NULL, 'Security');
    INSERT INTO organisations(organ_id, parent_organ_id, organ_name) 
         VALUES (51, 50, 'Building');
    INSERT INTO organisations(organ_id, parent_organ_id, organ_name) 
         VALUES (80, 51, 'Parkings');
    INSERT INTO organisations(organ_id, parent_organ_id, organ_name) 
         VALUES (81, 80, 'Parking 1');
    INSERT INTO organisations(organ_id, parent_organ_id, organ_name) 
         VALUES (82, 81, 'Parking 1 - Level 0');
    INSERT INTO organisations(organ_id, parent_organ_id, organ_name) 
         VALUES (52, 50, 'Software');
    INSERT INTO organisations(organ_id, parent_organ_id, organ_name) 
         VALUES (52, 50, 'Other kind of security');AS you can see in the following result, the Security organization has 4 levels below.
    SELECT organ_id, parent_organ_id, LEVEL, CAST(LPAD(' ', LEVEL * 2) || organ_name as VARCHAR2(30)) AS a
      FROM organisations
     START WITH parent_organ_id IS NULL
    CONNECT BY PRIOR organ_id = parent_organ_id;
    ORGAN_ID               PARENT_ORGAN_ID        LEVEL                  A                              
    11                                            1                        Sales                        
    23                                            1                        R&D                          
    50                                            1                        Security                     
    51                     50                     2                          Building                   
    80                     51                     3                            Parkings                 
    81                     80                     4                              Parking 1              
    82                     81                     5                                Parking 1 - Level 0  
    71                                            1                        Logistics                    
    87                     71                     2                          Transport                  
     9 rows selected 
     I also should be able to define with a transformation the number of level to retrieve for a specific node. 
    ALTER TABLE transformations 
      ADD max_children number(10) default 4;
    INSERT INTO transformations(transform_id, transform_type, organ_id, max_children)
          VALUES(  20, 'L', 50, 2);In the previous transformation, I specify a 2 level for the organization 50. In this case, the final result should only return 2 level under the organization 50. So instead of having 5 levels as in the previous result, I should have
    ORGAN_ID               PARENT_ORGAN_ID        LEVEL                  A                              
    11                                            1                        Sales                        
    23                                            1                        R&D                          
    50                                            1                        Security                     
    51                     50                     2                          Building                   
    80                     51                     3                            Parkings                 
    71                                            1                        Logistics                    
    87                     71                     2                          Transport                  As you can see, there are a lot of different type of transformations that should be done and I don't think SQL is intented for such things?
    Thank you again for your help Frank, I really appreciate

  • Bw7 transformations

    Hello BW Experts,
    I hope to get your advise on whether BW7 has evolved into less coding with the '<b>Transformations'</b>  features. Is it better for non-abap bw'ers in terms of coding?
    Please comment.
    alfonso

    Hi Alfonso,
    I don't agree about the less code in NW2004s BI7.0. Because, first of all Coding requirement is based on the complexity in your business rules.
    But, NW2004s BI7.0 have new functionalities like Various rule types, transformation types, and routine types. This may reduce your abap coding when compare with BW3/x.
    And the newly introduced features like END ROUTINE and EXPERT ROUTINE fully deals with abap coding only.
    http://help.sap.com/saphelp_nw04s/helpdata/en/e3/732c42be6fde2ce10000000a1550b0/content.htm
    So, the minimum ABAP knowledge for a BW'er is more advantage.
    Regards,
    BVC

  • How to get title dyanamically in xsl

    Hi ,
    i am working seo project which is search engine optimigation.
    i have one xsl file and i added meta tag like
    <title> title</tile>
    <meta name="Description" content="MyDescription">
    <meta name="Keywords" content="Keyword1, Keyword2, �, KeywordN">
    can you please tell me how to get the dynamic title based on the url.
    and keyword with commas taking as input title.
    i am using javascript but i do not how to call that sciprt in xsl file
    this is my xsl file souce code
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt"
    xmlns:user="user" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xalan="http://xml.apache.org/xslt" xmlns:i18n="http://apache.org/cocoon/i18n/2.1">
    <xsl:param name="pageName"/>
    <xsl:param name="titlePage"/>
    <xsl:param name="keyword"/>
    <!-- start - includes -->
    <xsl:include href="../mobility/header.xsl"/>
    <xsl:include href="../mobility/footer.xsl"/>
    <xsl:include href="../mobility/navigation.xsl"/>
    <xsl:include href="../mobility/mobility_content.xsl"/>     
    <!-- end - includes -->
    <xsl:template match="page">
    <html>
    <head>
    <script type="text/javascript">
              function test2()
              var st= "nissan uk";
              str = str.toLowerCase();
    str = str.replace(/['"-]/g, ",");
    str = str.replace(/\W/g, ",");
              str = str.replace(/\s+/g, ",");
    window.location();
    </script>
    <title><xsl:value-of select="$titlePage"/></title>
    <xsl:variable name="keywords" select="'keyword'"/>
    <xsl:variable name="scriptid" select="test2()"/>
    <meta content="We have developed this site to make it easier to access the information you need, when you need it. " name="Description" />
    <meta content="{$scriptid}" name="Keywords"/>
    <meta content="index, follow" name="Robots"/>
    <xsl:comment><xsl:value-of select="$titlePage"/>.We have developed this site to make it easier to access the information you need, when you need it. </xsl:comment>
         <link rel="stylesheet" type="text/css" href="/nova/global/css/mobility/mobility.css"/>
         <script type="text/javascript" src="/nova/global/js/mobility/ExpandingMenu.js"/>
         <script type="text/javascript" src="/nova/global/js/mobility/Popup.js"/>
         <script type="text/javascript" src="/nova/global/js/global.js"/>
    </head>
    <body id="mb_bodyMargin" >
         <!-- start - to publish the header details -->
         <div id="mb_navtop">
         <xsl:call-template name="header"/>
         </div>
         <!-- end - to publish the header details -->
         <div id="mb_navMenu">
         <div class="mb_leftContent">
         <!-- start - to publish the left navigation -->
              <div class="mb_menublock">
              <div class="mb_menublockGrayPatch"></div>           
              <xsl:copy-of select="/page/navigation/node()"/>               
              </div>
              <!-- end - to publish the left navigation -->     
              <div class="mb_whitePathch"></div>               
              <!-- start - to publish the Motability image & Related Pags -->
              <div class="mb_mobilityimage">
              <a>
                   <xsl:attribute name="href"><xsl:value-of select="collection/image/IMAGE-LINK"/></xsl:attribute>
                   <img>
                   <xsl:attribute name="src">/nova/<xsl:value-of select="collection/image/filename"/></xsl:attribute>
                   <xsl:attribute name="alt"><xsl:value-of select="collection/image/alt"/></xsl:attribute>
                   <xsl:attribute name="border">0</xsl:attribute>                    
                   <xsl:attribute name="class">mb_imgMotability</xsl:attribute>                    
                   </img>                         
                   </a>
              <xsl:apply-templates select="collection" mode="mb_related_links"/>
              </div>
              <!-- end - to publish the Motability image & Related Pags -->
         </div>
         <!-- start - to publish the right content & footer details -->               
         <div class="mb_rightContent">
              <xsl:apply-templates select="collection" mode="mobility_home"/>
              <xsl:call-template name="footer"/>
         </div>
         <!-- end - to publish the right content & footer details -->
         </div>
    </body>
    <!-- start - to expand and highlight the selected menu/sub-menu item -->
    <xsl:variable name="pageNameWithoutIndex" select="$pageName"/>
    <xsl:choose>
    <xsl:when test="contains($pageNameWithoutIndex,'/')">
         <xsl:variable name="firstNav" select="substring-before($pageNameWithoutIndex,'/')"/>
         <xsl:variable name="secondNav" select="substring-after($pageNameWithoutIndex,'/')"/>
         <script>
              expand('<xsl:value-of select="$firstNav"/>','<xsl:value-of select="$pageNameWithoutIndex"/>');
         </script>     
    </xsl:when>
    <xsl:otherwise>
         <xsl:variable name="firstNav" select="$pageNameWithoutIndex"/>
         <script>
              expand('<xsl:value-of select="$firstNav"/>');
         </script>     
    </xsl:otherwise>
    </xsl:choose>
    <!-- start - to expand and highlight the selected menu/sub-menu item -->
    </html>
    </xsl:template>
    </xsl:stylesheet>
    and sitemap.map file is
    <?xml version="1.0"?>
    <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
    <!-- Reorganised sitemap as follows:- printing pipeline, then main pipeline-->
    <!--============================ Views ======================================-->
         <map:views>
              <map:view from-label="beautify" name="beautify">
                   <map:transform type="i18n">
                        <map:parameter name="locale" value="{../locale}"/>
                   </map:transform>
                   <map:serialize type="xml"/>
              </map:view>
         </map:views>
    <!--=========================== Pipelines =================================-->
    <map:pipelines>
         <map:pipeline>
    <!--============= to generate Content for navigation ===============================-->
         <map:match pattern="navigation.xml">
         <map:generate src="cocoon:/navigation_gen.xml"/>
         <map:transform src="context:///stylesheets/mobility/navigation.xsl"/>
    <map:serialize type="xml"/>
         </map:match>
    <!--============= to generate Channel information for Mobility =================-->
         <map:act type="nscData">
              <map:match pattern="navigation_gen.xml">
              <map:generate src="cocoon://sitemap-gen_{../locale-path}.xml" />
              <map:transform src="context:///stylesheets/mobility/channel.xsl"/>
         <map:serialize type="xml"/>
              </map:match>
         </map:act>
         <map:act type="nscData">
    <!--============ NOVA - Mobility root pipeline ====================-->
              <map:match pattern="">
                   <map:redirect-to uri="mobility/index.html"/>
              </map:match>
              <map:match pattern="home/index.*">
                   <map:redirect-to uri="/home/mobility/index.html"/>
              </map:match>
    <!--================================= Nissan mobility Home Page =================================-->
                   <map:match pattern="index.*">
                   <map:aggregate element="page" label="beautify">
                             <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
                             <map:part src="cocoon://{../locale-path}/mobility/home.chan"/>
              </map:aggregate>
              <map:call resource="get_{1}">
                             <map:parameter name="filename" value="home"/>
                             <map:parameter name="titlefilename" value="nissan uk,home"/>
                             <map:parameter name="keywordname" value="nissan,uk,home"/>
                        </map:call>
              </map:match>
              <!--=================================== Scheme page =======================================-->
              <map:match pattern="scheme/index.*">
                        <map:aggregate element="page" label="beautify">
                   <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
                             <map:part src="cocoon://{../locale-path}/mobility/scheme.chan"/>
              </map:aggregate>
                        <map:call resource="get_{1}">
                             <map:parameter name="filename" value="scheme" />
                             <map:parameter name="titlefilename" value="nissan uk,scheme"/>
                             <map:parameter name="keywordname" value="nissan,uk,scheme"/>
                        </map:call>
              </map:match>
              <!--====================== For the Scheme sub-menu pages =========================-->
              <map:match pattern="scheme/*/index.*">
                        <map:aggregate element="page" label="beautify">
                   <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
                             <map:part src="cocoon://{../locale-path}/mobility/scheme/{1}.chan"/>
              </map:aggregate>
                        <map:call resource="get_{2}">
                             <map:parameter name="filename" value="{1}" />
                             <map:parameter name="file-path" value="scheme/{1}"/>
                             <map:parameter name="file-path1" value="Nissan UK,scheme-{1}"/>
                             <map:parameter name="keywordname" value="nissan,uk,scheme,{1}"/>
                        </map:call>
              </map:match>
              <!--====================== For those pages under construction =============-->
              <map:match pattern="mobility_centre/index.*">
                        <map:aggregate element="page" label="beautify">
                   <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
                             <map:part src="cocoon://{../locale-path}/mobility/mobility_centre.chan"/>
              </map:aggregate>
                        <map:call resource="get_{1}">
                             <map:parameter name="filename" value="mobility_centre" />
                             <map:parameter name="titlefilename" value="Nissan UK,mobility_centre" />
                        </map:call>
              </map:match>
              <!--====================== For the sub-menu pages under construction=========================-->
              <map:match pattern="mobility_centre/*/index.*">
                        <map:aggregate element="page" label="beautify">
                   <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
                             <map:part src="cocoon://{../locale-path}/mobility/mobility_centre.chan"/>
              </map:aggregate>
                        <map:call resource="get_{2}">
                             <map:parameter name="filename" value="{1}" />
                             <map:parameter name="file-path" value="mobility_centre/{1}"/>
                        </map:call>
              </map:match>
    <!--================================== Vehicles page =======================================-->
    <map:match pattern="vehicles/index.*">
    <map:aggregate element="page" label="beautify">
    <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
    <map:part src="cocoon://{../locale-path}/mobility/vehicles.chan"/>
    <map:part element="passenger" src="cocoon://{../locale-path}/mobility/vehicles/passenger.chan"/>
    <map:part element="lcv" src="cocoon://{../locale-path}/mobility/vehicles/lcv.chan"/>
    <map:part element="four-by-four" src="cocoon://{../locale-path}/mobility/vehicles/4x4.chan"/>
    </map:aggregate>
    <map:call resource="get_{1}">
    <map:parameter name="filename" value="vehicles" />
    <map:parameter name="titlefilename" value="nissan uk,vehicles"/>
    </map:call>
    </map:match>
    <!--=============================== For Vehicles sub-menu pages =============================-->
    <map:match pattern="vehicles/*/*/index.*">
    <map:aggregate element="page" label="beautify">
    <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
    <map:part src="cocoon://{../locale-path}/mobility/vehicles.chan"/>
    <map:part src="cocoon://{../locale-path}/mobility/vehicles/{1}/{2}.chan"/>
    <map:part element="" strip-root="false" src="cocoon://{../locale-path}/mobility/vehicles/{1}/{2}/NSC-MODEL-XTND.type"/>
    <map:part src="cocoon://{../locale-path}/vehicles/{1}/{2}/grades-and-specs/EQUIPMENT-XTND.type"/>
    <map:part src="cocoon://{../locale-path}/vehicles/{1}/{2}/grades-and-specs/GRADE-XTND.type"/>
    <map:part src="cocoon://{../locale-path}/vehicles/{1}/{2}/carbuilder/ENGINE-AND-TRANS-XTND.type"/>
    <map:part element="BODY" src="cocoon://{../locale-path}/vehicles/{1}/{2}/carbuilder/BODY-XTND.type"/>
    <map:part element="" strip-root="true" src="cocoon://logicsheets/vehicles/pv-gp.xsp?country={../country}&locale={../locale-path}&with-vat={../with-vat}&modelGroup={2}&cache-timeout=600" />
    </map:aggregate>
    <map:call resource="get_{3}">
    <map:parameter name="filename" value="vehicles-details" />
    <map:parameter name="file-path" value="vehicles/{1}/{2}"/>
    <map:parameter name="tiltefile-path" value="nissan uk, vehicles -{1}-{2}"/>
    <map:parameter name="tiltefile-path-intro" value="nissan uk, vehicles -{1}-{2}-intro"/>
    </map:call>
    </map:match>
    <!--======================== Performance/Energy (Frugality page) ==============================-->
    <map:match pattern="*/*/*/performance/energy/index.*">
    <map:aggregate element="page">
    <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
    <map:part src="cocoon://{../locale-path}/mobility/vehicles/image.type"/>
    <map:part src="cocoon://{../locale-path}/mobility/vehicles/Mb_Relatedlinks.type"/>
    <map:part src="cocoon://{../locale-path}/mobility/vehicles/{2}/{3}.chan"/>
    <map:part src="cocoon://logicsheets/vehicles/engine-energy.xsp?locale={../locale-path}&model-code={3}&cache-timeout=600" />
    <map:part src="cocoon://logicsheets/vehicles/model-body-engine-attributes.xsp?model-code={3}&cache-timeout=600"/>
    </map:aggregate>
    <map:call resource="get_{4}">
    <map:parameter name="filename" value="energy" />
    <map:parameter name="file-path" value="vehicles/{2}/{3}"/>
    </map:call>
    </map:match>
    <!--======================== Price popup for Vehicle pages ==============================-->
    <map:match pattern="*/*/*/price-popup.*">
    <map:aggregate element="page">
    <map:part src="cocoon://{../locale-path}/mobility/vehicles/{2}/{3}.chan"/>
    </map:aggregate>
    <map:call resource="get_{4}">
    <map:parameter name="filename" value="price-popup" />
    <map:parameter name="file-path" value="vehicles/{3}"/>
    </map:call>
    </map:match>
              <!--====================== News and Events page ==========================-->
              <map:match pattern="news-events/index.*">
                        <map:aggregate element="page" label="beautify">
                             <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
                             <map:part src="cocoon://{../locale-path}/mobility/news-events.chan"/>
              </map:aggregate>
                        <map:call resource="get_{1}">
                             <map:parameter name="filename" value="news-events" />
                        </map:call>
              </map:match>
              <!--======================= News Article page ============================-->
    <map:match pattern="news-events/*.*">
    <map:aggregate element="page" label="beautify">
    <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
    <map:part src="cocoon://{../locale-path}/mobility/news-events.chan"/>
    <map:part src="cocoon://{../locale-path}/{1}.item"/>
    </map:aggregate>
    <map:call resource="get_{2}">
    <map:parameter name="filename" value="news-article"/>
    </map:call>
    </map:match>
              <!--=================== contact us / Requests page =======================-->
              <map:match pattern="contactus/index.*">
                        <map:aggregate element="page" label="beautify">
                             <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
                             <map:part src="cocoon://{../locale-path}/mobility/contactus.chan"/>
              </map:aggregate>
                        <map:call resource="get_{1}">
                             <map:parameter name="filename" value="contactus" />
                        </map:call>
              </map:match>
              <!-- ================ Brochure and Test Drive page =========================== -->
              <map:match pattern="*/brochure_testdrive/index.*">
                   <map:act type="sessionCreator"> <!-- sessionCreator -->     
                        <map:aggregate element="page" label="beautify">
                             <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
    <map:part src="cocoon://{../../locale-path}/mobility/contactus/image.type"/>
    <map:part src="cocoon://{../../locale-path}/mobility/contactus/Mb_Relatedlinks.type"/>
    <map:part src="cocoon://request.params"/>          
                             <map:part src="cocoon://session.params"/>
    <map:part src="cocoon://vehicles/leads_vehicle_data.xml"/>
         <map:part element="brochure" strip-root="true" src="cocoon://{../../locale-path}/mobility/contactus/brochure_testdrive.chan"/>
                             <map:part element="testdrive" strip-root="true" src="cocoon://{../../locale-path}/mobility/contactus/testdrive.chan"/>
                             <map:part element="" strip-root="true" src="../content/contact/{../../locale-path}/brochure/step1-static.xml"/>
              </map:aggregate>
                        <map:call resource="get_{../2}">
                             <map:parameter name="filename" value="brochure-testdrive" />
                             <map:parameter name="file-path" value="{../1}/brochure_testdrive" />
                             <map:parameter name="file-path" value="nissan uk,passanger-range " />
                        </map:call>
                   </map:act>     
              </map:match>
              <!-- ===================== Enquiries page ================================ -->
              <map:match pattern="*/enquiries/index.*">
                   <map:act type="sessionCreator"> <!-- sessionCreator -->     
                        <map:aggregate element="page" label="beautify">
                             <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
                             <map:part src="cocoon://{../../locale-path}/mobility/contactus/image.type"/>
    <map:part src="cocoon://{../../locale-path}/mobility/contactus/Mb_Relatedlinks.type"/>
                             <map:part src="cocoon://{../../locale-path}/mobility/contactus/enquiries.chan"/>
                             <map:part element="" strip-root="true" src="../content/contact/{../../locale-path}/mobility/mobility.xml"/>
              </map:aggregate>
                        <map:call resource="get_{../2}">
                             <map:parameter name="filename" value="enquiries" />
                             <map:parameter name="file-path" value="{../1}/enquiries" />
                        </map:call>
                   </map:act>     
              </map:match>
              <!-- ========================= Your Details page ============================ -->
    <map:match pattern="*/*/yourdetails.*/*">
         <map:act type="sessionWriter">
    <map:aggregate element="page" label="beautify">
    <map:part src="cocoon://request.params"/>
    <map:part src="cocoon://session.params"/>
    <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
    <map:part src="cocoon://{../../locale-path}/mobility/contactus/image.type"/>
              <map:part src="cocoon://{../../locale-path}/mobility/contactus/Mb_Relatedlinks.type"/>
    <map:part element="" strip-root="true" src="../content/contact/{../../locale-path}/mobility/step1-static.xml"/>
    <map:part element="" strip-root="false" src="../content/contact/{../../locale-path}/mobility/occupation.xml"/>
    </map:aggregate>
    <map:call resource="get_{../3}">
    <map:parameter name="filename" value="yourdetails" />
    <map:parameter name="file-path" value="{../1}/{../2}"/>
    <map:parameter name="formValues" value="{../4}"/>
    </map:call>
    </map:act>
    </map:match>
         <!--========================= No Postal Address code Page =========================-->
         <map:match pattern="*/*/postcode.*/*">
                        <map:act type="sessionWriter">     
                             <map:aggregate element="page" >
                                  <map:part src="cocoon://request.params"/>          
                             <map:part src="cocoon://session.params"/>     
                             <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
         <map:part src="cocoon://{../../locale-path}/mobility/contactus/image.type"/>
         <map:part src="cocoon://{../../locale-path}/mobility/contactus/Mb_Relatedlinks.type"/>
                             <map:part strip-root="true" src="cocoon://contact/common_{../../locale-path}.xml?section-header-id=/{../../locale-path}/contact/brochure"/>                          
                                  <map:part element="" strip-root="true" src="../content/contact/{../../locale-path}/mobility/step1-static.xml"/>
                                  <map:part element="" strip-root="false" src="../content/contact/{../../locale-path}/common/occupation.xml"/>                              
                                  <map:part element="" strip-root="false" src="cocoon://search.qas"/>
                                  <map:part strip-root="true" src="cocoon://{../../locale-path}/contact.chan"/>
                                  <map:part strip-root="true" src="cocoon://{../../locale-path}/contact/brochure.chan_errcheck"/>
                             </map:aggregate>
                             <map:call resource="get_{../3}">
                                  <map:parameter name="filename" value="yourdetails" />
                                  <map:parameter name="file-path" value="{../1}/{../2}"/>
                                  <map:parameter name="formValues" value="{../4}"/>
                             </map:call>
                        </map:act>     
                   </map:match>
                   <map:match pattern="*/list.*">
                        <map:act type="sessionWriter">
                             <map:aggregate element="page">
                                  <map:part src="cocoon://request.params"/>          
                             <map:part src="cocoon://session.params"/>
                                  <map:part strip-root="true" src="cocoon://contact/common_{../../locale-path}.xml?section-header-id=/{../../locale-path}/contact/{../1}"/>      
                                  <map:part element="" strip-root="true" src="../content/contact/{../../locale-path}/address/list-static.xml"/>
                             <map:part src="cocoon://results.qas"/>          
                             </map:aggregate>                         
                             <map:call resource="get_{../2}">
                                  <map:parameter name="file-path" value="/{nsc-short-name}/{locale-path}/site-media/contact/"/>                         
                                  <map:parameter name="filename" value="address/list" />
                                  <map:parameter name="nedstat-path" value="{../../country-upper}.{../1}.askaddress"/>                              
                             </map:call>
                        </map:act>
                   </map:match>     
                   <map:match pattern="*/validate.*">
                        <map:act type="sessionWriter">
                             <map:aggregate element="page" >
                                  <map:part src="cocoon://request.params"/>          
                             <map:part src="cocoon://session.params"/>
                                       <map:part strip-root="true" src="cocoon://contact/common_{../../locale-path}.xml?section-header-id=/{../../locale-path}/contact/{../1}"/>      
                                  <map:part element="" strip-root="true" src="../content/contact/{../../locale-path}/address/validate-static.xml"/>
                             <map:part src="cocoon://results.qas"/>          
                             </map:aggregate>
                             <map:call resource="get_{../2}">
                                  <map:parameter name="file-path" value="/{nsc-short-name}/{locale-path}/site-media/contact/"/>                         
                                  <map:parameter name="filename" value="address/validate" />
                                  <map:parameter name="nedstat-path" value="{../../country-upper}.{../1}.askaddress"/>                              
                             </map:call>
                        </map:act>
                   </map:match>
              <map:match pattern="*/*/confirmation.*">
                             <map:act type="sessionWriter">
                             <map:act type="data-submit">     
                                  <map:aggregate element="page" >
                                       <map:part src="cocoon://request.params"/>          
                                  <map:part src="cocoon://session.params"/>
                                  <map:part src="cocoon://vehicles/leads_vehicle_data.xml"/>     
                                  <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
    <map:part src="cocoon://{../../../locale-path}/mobility/contactus/image.type"/>
                                  </map:aggregate>
                                  <map:call resource="get_{../../3}">
                                       <map:parameter name="filename" value="confirmation"/>
                                       <map:parameter name="file-path" value="{../../1}/{../../2}"/>
                                  </map:call>
                             </map:act>
                        </map:act>
                   </map:match>
         <!--============================ Tell us More Page ================================-->
    <map:match pattern="*/*/more.*">
                        <map:act type="sessionCreator">                    
                             <map:aggregate element="page" >
                                  <map:part src="cocoon://request.params"/>          
                             <map:part src="cocoon://session.params"/>
                             <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
              <map:part src="cocoon://{../../locale-path}/mobility/contactus/image.type"/>
    <map:part src="cocoon://{../../locale-path}/mobility/contactus/Mb_Relatedlinks.type"/>
                                  <map:part strip-root="true" src="cocoon://contact/common_{../../locale-path}.xml?section-header-id=/{../../locale-path}/contact/{../1}"/>     
                                  <map:part element="" strip-root="true" src="../content/contact/{../../locale-path}/common/more-static.xml"/>
                                  <map:part strip-root="true" src="cocoon://{../../locale-path}/contact.chan_errcheck"/>
                                  <map:part strip-root="false" src="../content/contact/received-files/Leisure_{../../locale-path}.xml"/>
                                  <map:part strip-root="false" src="../content/contact/received-files/Sport_{../../locale-path}.xml"/>
                                  <map:part strip-root="false" src="../content/contact/received-files/FinanceType_{../../locale-path}.xml"/>
                                  <map:part strip-root="false" src="../content/contact/received-files/FuelType_{../../locale-path}.xml"/>
                             </map:aggregate>
                             <map:call resource="get_{../3}">
                                  <map:parameter name="filename" value="more" />
                                  <map:parameter name="file-path" value="/{nsc-short-name}/{locale-path}/site-media/contact/"/>                              
                                  <map:parameter name="nedstat-path" value="{../../country-upper}.contact.{2}.more"/>
                             </map:call>
                        </map:act>
                   </map:match>
         <!--============================ confirmation2 ================================-->
    <map:match pattern="*/*/confirm_more.*">
    <map:act type="sessionWriter">
    <map:act type="data-submit">
    <map:aggregate element="page" >
    <map:part src="cocoon://request.params"/>
    <map:part src="cocoon://session.params"/>
    <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
                   <map:part src="cocoon://{../../../locale-path}/mobility/contactus/image.type"/>
    <map:part strip-root="true" src="cocoon://contact/common_{../../../locale-path}.xml?section-header-id=/{../../../locale-path}/contact/{../../1}"/>
    <map:part element="" strip-root="true" src="../content/contact/{../../../locale-path}/common/confirmation-static.xml"/>
    </map:aggregate>
    <map:call resource="get_{../../3}">
    <map:parameter name="filename" value="confirmation_more" />
    <map:parameter name="file-path" value="{../../1}/{../../2}"/>
    </map:call>
    </map:act>
    </map:act>
    </map:match>
    <!--============================ Sitemap page ================================-->
              <map:match pattern="sitemap/index.*">
                        <map:aggregate element="page" label="beautify">
                             <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
                             <map:part src="cocoon:/navigation_gen.xml"/>
                             <map:part src="cocoon://{../locale-path}/mobility/sitemap.chan"/>
              </map:aggregate>
                        <map:call resource="get_{1}">
                             <map:parameter name="filename" value="sitemap"/>
                        </map:call>
         </map:match>
         <!-- =========================== Image PopUp ================================= -->
    <map:match pattern="*/image-popup.*">
         <map:aggregate element="page" label="beautify">
                        <map:part src="cocoon://{../locale-path}/mobility/scheme.chan"/>
                   </map:aggregate>
    <map:call resource="get_{2}">
                        <map:parameter name="filename" value="image-popup"/>
              </map:call>
         </map:match>
    <!-- ======================== Editorial - PopUp ================================== -->
    <map:match pattern="scheme/editorial-popup.*">
              <map:aggregate element="page" label="beautify">
                   <map:part src="cocoon://{../locale-path}/mobility/scheme/editorial-page-standard.type"/>
                   </map:aggregate>
    <map:call resource="get_{1}">
                   <map:parameter name="filename" value="editorial-popup"/>
              </map:call>
         </map:match>
    <!--=========================== Terms and Conditions =================================-->
    <map:match pattern="terms-conditions/index.*">
    <map:aggregate element="page" label="beautify">
    <map:part element="" strip-root="true" src="cocoon:/navigation.xml"/>
    <map:part src="cocoon://{../locale-path}/mobility/home/editorial-page-faq-short.type"/>
    <map:part src="cocoon://{../locale-path}/mobility/home/image.type"/>
    </map:aggregate>
    <map:call resource="get_{1}">
    <map:parameter name="filename" value="terms-conditions"/>
    </map:call>
    </map:match>
         </map:act>
         </map:pipeline>
    </map:pipelines>
    <!--=========================== Resources =================================-->
         <map:resources>
              <map:resource name="get_html">
                   <map:act type="nscData">     
                   <map:transform type="i18n">
                             <map:parameter name="locale" value="{../locale}" />
                        </map:transform>               
                        <map:transform type="xslt" src="cocoon://stylesheets/mobility/{../filename}.xsl">
                             <map:parameter name="pageName" value="{../filename}"/>
                             <map:parameter name="titlePage" value="{../titlefilename}"/>
                             <map:parameter name="keyword" value="{../keywordname                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Works for me. What happened when you tried?
    <pre style="
    font-family: Monaco, 'Courier New', Courier, monospace;
    font-size: 10px;
    font-weight: normal;
    margin: 0px;
    padding: 5px;
    border: 1px solid #000000;
    width: 720px;
    color: #000000;
    background-color: #E6E6EE;
    overflow: auto;"
    title="this text can be pasted into the AppleScript Editor">
    tell application "Finder" to display dialog "I need ® or ™ in dialog box text" with title "I need ® or ™ in dialog box text" buttons {"Aha!"} default button 1</pre>

  • Generic extraction

    Hi,
    in generic extraction in which scenarios you extract data from  table,view,infoset query,FM
    sridhar

    Transparent Table
    If you're wishing to create a generic DataSource based on a single Transparent Table in the source R3/ECC system, then using that table as the source for your generic DataSource would be appropriate because it will expose all of the columns in that table to your generic extraction structure. There is one exception to this and that is, if you have more than one date field (e.g. Created On and Changed On dates) that you're going to use for generic delta. Pool/Cluster tables and structures wouldn't be allowable for this type of generic DataSource setup.
    View on Transparent Tables
    If your requirement is to create a generic DataSource based on multiple Transparent Tables in your source R3/ECC system, then a view would be appropriate. You can either use SAP delivered views in the source R3/ECC environment or create a custom view. The same exceptions (generic delta on more than one date field, pool/cluster tables and structures).
    Function Module
    A custom Function Module can be coded for the extraction of data for a generic DataSource. This type would be appropiate if you're extracting data from pool/cluster tables or structures. Another use for a Function Module as the source for a generic DataSource would be if you're going to use more than one data field for a generic delta. Finally, a Function Module would be used if there is some transformational-type logic required to be done on the extracted data before it is passed to BW.
    InfoSet Query
    An InfoSet (not to be confused with an InfoSet in BW) query in a source R3/ECC environment, is created in tocde SQ01, and is a way of creating "quick-and-dirty" reports with summarized values, derived values, et. al. This can be used as the basis for a DataSource, if the queries are already built. If not, then a Function Module can perform and necessary aggregations, derivations or other transformational-type logic, instead of creating a query. I say this because I'd highly discourage using this as a source for a generic DataSource because InfoSet queries are usually extremely inefficient and can consume a lot of the valuable system resources.

  • Site works in the app, but not in the browser.

    Hello iWeb experts,
    I've got problems.
    Last night I published my site. And while it appears, and functions, properly in my iWeb app, it doesn't do the same in Safari, Firefox, and Internet Explorer.
    Two issues...
    FONTS
    I chose Bellamie, Univers Condensed, and Marydale as my fonts. From reading these forums, I've discovered those won't wysiwyg on other computers if the fonts aren't available and open on them. So my two choices are to make every bit of text a graphic or to use a set of more universal fonts, correct? So my questions are...One, is there a list somewhere of fonts that will work in any browser? And, two, is there a short-cut, or easy way to transform type into a graphic without having to create image files?
    FUNCTIONS
    Here are the functions that work fine in iWeb but have gone haywire in all of the browsers I tested...
    • The type in one nav link appears smaller than all the rest.
    • Some links are active, others are not.
    • Rollover highlighting works on some links, but not others.
    • Most of the rollover links appear in the proper static color, a few do not.
    I've tested these functions on three Macs, one PC, and in the three browsers mentioned above. All of them show the exact same problems. So something must be going wrong with iWebs coding, or my host server musn't like iWeb.
    Any thoughts, suggestions on these two issues? Thanks much for any advice.
    John
    PS - For reference, see: www.johnrunk.com

    Fascinating, Kirk (+he types with one raised eyebrow+).
    QuickTimeKirk wrote:
    When I drag across your page most of your links do not change. The "text" portion of them doesn't change, either. Something is covering them.
    I can see that. But for the life of me, I don't know what could be covering those links. In my app, when I click in the area of the links, the type is the first item selected. Unless, possibly, it could somehow be the faint reflection of my black-and-white image (me & the ground I stand on). Hmmm...
    QuickTimeKirk wrote:
    Single click (outside the boundaries of your page contents) and an "outline" will appear. It shows the image file dimensions and locations.
    This I don't see. An outline? As in "an object outline," or as in "a list of dimensions and locations?" When I click outside my page contents, I get nothing.
    Thanks, QTK. I truly appreciate your troubleshooting here.
    John

  • Can ABAP proxy to consume WSDL file be run as background job for every10min

    Hi all,
    I have a requirement where I need to build an interface which gatheru2019s the purchase order details and send to external third party software in their required format (as an XML file).
    So I should be the first point of contact and should trigger the interface each time a purchase order is generated.
    So I am thinking that I should develop a background job for every 10 minutes which will look for new purchase orders and gathers the information of the purchase orders and send them to external third party software in their required format.
    I have gone through all the SAP forums and e-Learning but still I have confusion in regards to how is it possible technically? Can some one guide me with some information on the same.
    I have a little bit of confusion and want to know few things.
    1)     Should I create a web service or should I consume a web service?
    2)     If I need to consume a web service, then can I write an ABAP proxy to be run in background fro evry 10 minutes? I mean can we run ABAP proxy as a batch job in the background?
    3)     Is there a difference between consuming an XML file and WSDL File?
    Any Help will be highly appreciated.
    Regards,
    Jessica.

    There are two options (as I know) to generate XML file.
    1. Use XML TRANSFORMATION to get the XML string based your TRANSFORMATION. You can input your data and get back the XML string. Download this string to a file
    Test XML generation program is:
    types: begin of ty_data,
           num   type i,
           end   of ty_data.
    DATA: itab TYPE standard table of ty_Data,
          la_data like line of itab,
          xmlstr TYPE string.
    DO 3 TIMES.
      la_data-num = sy-index.
      APPEND la_data TO itab.
    ENDDO.
    CALL TRANSFORMATION ztest_np1
      SOURCE table = itab
      RESULT XML xmlstr.
    CALL FUNCTION 'DISPLAY_XML_STRING'
      EXPORTING xml_string = xmlstr.
    My ZTEST_NP1 transformation. To create a transformation, click on the transformation in the "CALL TRANSFORMATION ztest_np1" statement. Select Simple transformation type.
    <?sap.transform simple?>
    <tt:transform xmlns:tt="http://www.sap.com/transformation-templates">
      <tt:root name="table"/>
      <tt:template>
        <table>
          <tt:loop ref=".table">
            <item>
              <tt:value ref="NUM"/>
            </item>
          </tt:loop>
        </table>
      </tt:template>
    </tt:transform>
    XML string is like:
      <?xml version="1.0" encoding="utf-8" ?>
      <table>
      <item>1</item>
      <item>2</item>
      <item>3</item>
      </table>
    To use this option, you have to create a transformation and than use it to generate the XML string.
    Check this SAP Help
    http://help.sap.com/saphelp_nw04s/helpdata/en/e3/7d4719ca581441b6841f1054ff1326/frameset.htm
    2. You can concatenate and create an XML string and download that string into a file.
    Regards,
    Naimesh Patel

  • Tabstrip does not save when clicked

    After I set all the input field to be required for my 3 tabs in my tabstrip, I am only able to save the data in text field after I click the save button the second time and not the first time.
    Clicking Save button first time:
    http://img407.imageshack.us/img407/6461/screenjk0.png
    Clicking Save button second time:
    http://img407.imageshack.us/img407/3266/screen2ng4.png
    Here are my codes:
    REPORT  ZTREE_STRUCTURE2.
    DATA : IO_NAME(40) TYPE C,
          IO_AGE(40) TYPE C,
          IO_GENDER(40) TYPE C.
    DATA: P_HERA TYPE DNTAB-TABNAME VALUE 'ZHERA',
           ITAB_HERA TYPE TABLE OF ZHERA,
           FIELD_COUNT TYPE I,
           WA_HERA LIKE LINE OF ITAB_HERA,
           P_HERA2 TYPE DNTAB-TABNAME VALUE 'ZHERA2',
           ITAB_HERA2 TYPE TABLE OF ZHERA2,
           WA_HERA2 LIKE LINE OF ITAB_HERA2.
    SELECT * INTO TABLE ITAB_HERA FROM ZHERA.
    SELECT * INTO TABLE ITAB_HERA2 FROM ZHERA2.
    *&SPWIZARD: FUNCTION CODES FOR TABSTRIP 'TABNAME2'
    CONSTANTS: BEGIN OF C_TABNAME2,
                 TAB1 LIKE SY-UCOMM VALUE 'TABNAME2_FC1',
                 TAB2 LIKE SY-UCOMM VALUE 'TABNAME2_FC2',
                 TAB3 LIKE SY-UCOMM VALUE 'TABNAME2_FC3',
               END OF C_TABNAME2.
    *&SPWIZARD: DATA FOR TABSTRIP 'TABNAME2'
    CONTROLS:  TABNAME2 TYPE TABSTRIP.
    DATA:      BEGIN OF G_TABNAME2,
                 SUBSCREEN   LIKE SY-DYNNR,
                 PROG        LIKE SY-REPID VALUE 'ZTREE_STRUCTURE2',
                 PRESSED_TAB LIKE SY-UCOMM VALUE C_TABNAME2-TAB1,
               END OF G_TABNAME2.
    CONSTANTS: BEGIN OF C_TRANSFORM,
                 TAB1 LIKE SY-UCOMM VALUE 'TRANSFORM_FC1',
                 TAB2 LIKE SY-UCOMM VALUE 'TRANSFORM_FC2',
               END OF C_TRANSFORM.
    *&SPWIZARD: DATA FOR TABSTRIP 'TRANSFORM'
    CONTROLS:  TRANSFORM TYPE TABSTRIP.
    DATA:      BEGIN OF G_TRANSFORM,
                 SUBSCREEN   LIKE SY-DYNNR,
                 PROG LIKE SY-REPID VALUE 'ZSCSDM_MODIFY_TRANSFORM_HERA',
                 PRESSED_TAB LIKE SY-UCOMM VALUE C_TRANSFORM-TAB1,
               END OF G_TRANSFORM.
    DATA:      OK_CODE LIKE SY-UCOMM.
    START-OF-SELECTION.
    CALL SCREEN 9000.
    MODULE STATUS_9000 OUTPUT.
       SET PF-STATUS 'SCREEN_9000'.
       SET TITLEBAR 'RWB_TRANSFORM'.
    ENDMODULE.                    "STATUS_8000 OUTPUT
    MODULE TABNAME2_ACTIVE_TAB_SET OUTPUT.
      TABNAME2-ACTIVETAB = G_TABNAME2-PRESSED_TAB.
      CASE G_TABNAME2-PRESSED_TAB.
        WHEN C_TABNAME2-TAB1.
          G_TABNAME2-SUBSCREEN = '9001'.
        WHEN C_TABNAME2-TAB2.
          G_TABNAME2-SUBSCREEN = '9002'.
        WHEN C_TABNAME2-TAB3.
          G_TABNAME2-SUBSCREEN = '9003'.
        WHEN OTHERS.
    *&SPWIZARD:      DO NOTHING
      ENDCASE.
    ENDMODULE.                    "TABNAME2_ACTIVE_TAB_SET OUTPUT
    *&SPWIZARD: INPUT MODULE FOR TS 'TABNAME2'. DO NOT CHANGE THIS LINE!
    *&SPWIZARD: GETS ACTIVE TAB
    MODULE TABNAME2_ACTIVE_TAB_GET INPUT.
      OK_CODE = SY-UCOMM.
      CASE OK_CODE.
        WHEN C_TABNAME2-TAB1.
          G_TABNAME2-PRESSED_TAB = C_TABNAME2-TAB1.
        WHEN C_TABNAME2-TAB2.
          G_TABNAME2-PRESSED_TAB = C_TABNAME2-TAB2.
        WHEN C_TABNAME2-TAB3.
          G_TABNAME2-PRESSED_TAB = C_TABNAME2-TAB3.
        WHEN OTHERS.
    *&SPWIZARD:      DO NOTHING
      ENDCASE.
    ENDMODULE.                    "TABNAME2_ACTIVE_TAB_GET INPUT
    MODULE USER_COMMAND_9000 INPUT.
    IF SY-UCOMM = 'BACK'.
      LEAVE PROGRAM.
    ELSEIF SY-UCOMM = 'EXIT'.
      LEAVE PROGRAM.
    ELSEIF SY-UCOMM = 'CANCEL'.
      LEAVE PROGRAM.
    ELSEIF SY-UCOMM = 'SAVE'.
    ENDIF.
    ENDMODULE. "USER_COMMAND_9000 INPUT
    FORM INSERT_TABLE.
      WA_HERA-NAME = IO_NAME.
      WA_HERA-AGE = IO_AGE.
      WA_HERA2-GENDER =  IO_GENDER.
      INSERT INTO ZHERA VALUES WA_HERA.
      INSERT INTO ZHERA2 VALUES WA_HERA2.
      MESSAGE S001(ZMSG02).
    ENDFORM.                    "UPDATE_TABLE
    Can anyone tell me what is wrong with my codes?

    Screen 9000 Screen with tabstrip
    PROCESS BEFORE OUTPUT.
    *&SPWIZARD: PBO FLOW LOGIC FOR TABSTRIP 'TABNAME2'
      MODULE TABNAME2_ACTIVE_TAB_SET.
      CALL SUBSCREEN:
           9001_SCA INCLUDING G_TABNAME2-PROG '9001',
           9002_SCA INCLUDING G_TABNAME2-PROG '9002',
           9003_SCA INCLUDING G_TABNAME2-PROG '9003'.
    MODULE STATUS_9000.
    *  MODULE SCREEN_SET.
    PROCESS AFTER INPUT.
    *&SPWIZARD: PAI FLOW LOGIC FOR TABSTRIP 'TABNAME2'
      MODULE TABNAME2_ACTIVE_TAB_GET.
    MODULE USER_COMMAND_9000.
        CALL SUBSCREEN:
           9001_SCA,
           9002_SCA,
           9003_SCA.
    *    module exit_prog at exit-command.
    Screen 9001 Screen with first tab
    PROCESS BEFORE OUTPUT.
      MODULE PBO_9001.
    PROCESS AFTER INPUT.
    CHAIN.
    FIELD:IO_NAME.
    ENDCHAIN.
    MODULE USER_COMMAND_9001.
    Screen 9002 Screen with second tab
    PROCESS BEFORE OUTPUT.
      MODULE PBO_9002.
    PROCESS AFTER INPUT.
    CHAIN.
    FIELD:IO_AGE.
    ENDCHAIN.
    MODULE USER_COMMAND_9002.
    Screen 9003 Screen with third tab
    PROCESS BEFORE OUTPUT.
      MODULE PBO_9003.
    PROCESS AFTER INPUT.
    CHAIN.
    FIELD:IO_GENDER.
    ENDCHAIN.
    MODULE USER_COMMAND_9003.

  • Tabstrip does not save when first clicked

    After I set all the input field to be required for my 3 tabs in my tabstrip, I am only able to save the data in text field after I click the save button the second time and not the first time.
    Clicking Save button first time:
    http://img407.imageshack.us/img407/6461/screenjk0.png
    Clicking Save button second time:
    http://img407.imageshack.us/img407/3266/screen2ng4.png
    Here are my codes:
    REPORT  ZTREE_STRUCTURE2.
    DATA : IO_NAME(40) TYPE C,
          IO_AGE(40) TYPE C,
          IO_GENDER(40) TYPE C.
    DATA: P_HERA TYPE DNTAB-TABNAME VALUE 'ZHERA',
           ITAB_HERA TYPE TABLE OF ZHERA,
           FIELD_COUNT TYPE I,
           WA_HERA LIKE LINE OF ITAB_HERA,
           P_HERA2 TYPE DNTAB-TABNAME VALUE 'ZHERA2',
           ITAB_HERA2 TYPE TABLE OF ZHERA2,
           WA_HERA2 LIKE LINE OF ITAB_HERA2.
    SELECT * INTO TABLE ITAB_HERA FROM ZHERA.
    SELECT * INTO TABLE ITAB_HERA2 FROM ZHERA2.
    *&SPWIZARD: FUNCTION CODES FOR TABSTRIP 'TABNAME2'
    CONSTANTS: BEGIN OF C_TABNAME2,
                 TAB1 LIKE SY-UCOMM VALUE 'TABNAME2_FC1',
                 TAB2 LIKE SY-UCOMM VALUE 'TABNAME2_FC2',
                 TAB3 LIKE SY-UCOMM VALUE 'TABNAME2_FC3',
               END OF C_TABNAME2.
    *&SPWIZARD: DATA FOR TABSTRIP 'TABNAME2'
    CONTROLS:  TABNAME2 TYPE TABSTRIP.
    DATA:      BEGIN OF G_TABNAME2,
                 SUBSCREEN   LIKE SY-DYNNR,
                 PROG        LIKE SY-REPID VALUE 'ZTREE_STRUCTURE2',
                 PRESSED_TAB LIKE SY-UCOMM VALUE C_TABNAME2-TAB1,
               END OF G_TABNAME2.
    CONSTANTS: BEGIN OF C_TRANSFORM,
                 TAB1 LIKE SY-UCOMM VALUE 'TRANSFORM_FC1',
                 TAB2 LIKE SY-UCOMM VALUE 'TRANSFORM_FC2',
               END OF C_TRANSFORM.
    *&SPWIZARD: DATA FOR TABSTRIP 'TRANSFORM'
    CONTROLS:  TRANSFORM TYPE TABSTRIP.
    DATA:      BEGIN OF G_TRANSFORM,
                 SUBSCREEN   LIKE SY-DYNNR,
                 PROG LIKE SY-REPID VALUE 'ZSCSDM_MODIFY_TRANSFORM_HERA',
                 PRESSED_TAB LIKE SY-UCOMM VALUE C_TRANSFORM-TAB1,
               END OF G_TRANSFORM.
    DATA:      OK_CODE LIKE SY-UCOMM.
    START-OF-SELECTION.
    CALL SCREEN 9000.
    MODULE STATUS_9000 OUTPUT.
       SET PF-STATUS 'SCREEN_9000'.
       SET TITLEBAR 'RWB_TRANSFORM'.
    ENDMODULE.                    "STATUS_8000 OUTPUT
    MODULE TABNAME2_ACTIVE_TAB_SET OUTPUT.
      TABNAME2-ACTIVETAB = G_TABNAME2-PRESSED_TAB.
      CASE G_TABNAME2-PRESSED_TAB.
        WHEN C_TABNAME2-TAB1.
          G_TABNAME2-SUBSCREEN = '9001'.
        WHEN C_TABNAME2-TAB2.
          G_TABNAME2-SUBSCREEN = '9002'.
        WHEN C_TABNAME2-TAB3.
          G_TABNAME2-SUBSCREEN = '9003'.
        WHEN OTHERS.
    *&SPWIZARD:      DO NOTHING
      ENDCASE.
    ENDMODULE.                    "TABNAME2_ACTIVE_TAB_SET OUTPUT
    *&SPWIZARD: INPUT MODULE FOR TS 'TABNAME2'. DO NOT CHANGE THIS LINE!
    *&SPWIZARD: GETS ACTIVE TAB
    MODULE TABNAME2_ACTIVE_TAB_GET INPUT.
      OK_CODE = SY-UCOMM.
      CASE OK_CODE.
        WHEN C_TABNAME2-TAB1.
          G_TABNAME2-PRESSED_TAB = C_TABNAME2-TAB1.
        WHEN C_TABNAME2-TAB2.
          G_TABNAME2-PRESSED_TAB = C_TABNAME2-TAB2.
        WHEN C_TABNAME2-TAB3.
          G_TABNAME2-PRESSED_TAB = C_TABNAME2-TAB3.
        WHEN OTHERS.
    *&SPWIZARD:      DO NOTHING
      ENDCASE.
    ENDMODULE.                    "TABNAME2_ACTIVE_TAB_GET INPUT
    MODULE USER_COMMAND_9000 INPUT.
    IF SY-UCOMM = 'BACK'.
      LEAVE PROGRAM.
    ELSEIF SY-UCOMM = 'EXIT'.
      LEAVE PROGRAM.
    ELSEIF SY-UCOMM = 'CANCEL'.
      LEAVE PROGRAM.
    ELSEIF SY-UCOMM = 'SAVE'.
    ENDIF.
    ENDMODULE. "USER_COMMAND_9000 INPUT
    FORM INSERT_TABLE.
      WA_HERA-NAME = IO_NAME.
      WA_HERA-AGE = IO_AGE.
      WA_HERA2-GENDER =  IO_GENDER.
      INSERT INTO ZHERA VALUES WA_HERA.
      INSERT INTO ZHERA2 VALUES WA_HERA2.
      MESSAGE S001(ZMSG02).
    ENDFORM.                    "UPDATE_TABLE
    Can anyone tell me what is wrong with my codes?

    Hi,
    In your module here
    IF SY-UCOMM = 'BACK'.
      LEAVE PROGRAM.
    ELSEIF SY-UCOMM = 'EXIT'.
      LEAVE PROGRAM.
    ELSEIF SY-UCOMM = 'CANCEL'.
      LEAVE PROGRAM.
    ELSEIF SY-UCOMM = 'SAVE'.
    ENDIF.
    ... replace all occurrences of SY-UCOMM with OK_CODE.
    This will resolve the problem.
    Regards,
    Aditya
    Edited by: Aditya Laud on Feb 5, 2008 12:16 AM

Maybe you are looking for

  • Incredible increase in broadband usage

    I am on a 40Gb infinity connection. The usage monitor shows "Your average monthly usage is 13.97 GB." which I agree with. As of tonight my usage is reported as "You have used 79.24 GB this month" I have 2 android phones and a Roku connected via wpa2.

  • Security issues with Livecycle Designer

    In the past, I have been able to modify and change documents inside of Adobe Acrobat after creating the forms inside of LD. I've recently run into a problem where the security settings in Adobe Acrobat continue to advise that it is unable to make cha

  • Memory Leak During Spatial Query

    Platform: Oracle 8.1.7 EE with Spatial Windows NT 4.0 I'm seeing a memory leak that I have determined has something to do with spatial. Here is the PL/SQL code that generates the leak: DECLARE v_id NUMBER(16); v_longitude NUMBER(15,10); v_latitude NU

  • Smartforms in Dot Matrix

    Hi all, Can anyone tell me how to make a smartform in Dot Matrix mode.?

  • Question about changing a file type into another file type

    Hello. This isnt a java question but you guys have been so helpful in the past I hope its ok if I ask this question for a friend. How can I import a scriptware file into Screenwriter 2000, or change a .scw file into a .tag file? Anyone who can help t