Drill Column Fill

Hi,
I have a requirement where in I need to populate the column dynamically based on what is in the section as the report is drilled down to various levels.
Below is the example of what is the requirement :
2001 ( This is a section on Year and drillable)
State Sales Revenue
California 100
Arkansas 46
2001 Total 146
When I click on 2001 ...the report will drill down to Quaters
Q1
California 20
Arkansas 20
Q1 Total 40
What I am trying to achieve is display Q1 Total dynamically. Although it sums properly I need to show it as Q1 Total.
At present whatever formula I use only keeps it as 2001 Total no matter however deep I drill....but it sums properly.
Below are the differnt codes I tried :
=If(DrillFilters([Year )= " " ;(If(DrillFilters([Q1] )= " ";"Fun"; [Q1])) ;[Year])
Please let me know if there is a way to acheive this.  I am using Business Objects R2
Thank you,
boe suer

Hi Rakesh,
Thank you for the response. I would request if you could possibly give me more details of how would I need to use the alerter considering the above case.
Thank you,
boe user.

Similar Messages

  • Dynamic Drill Column Fill Business Objects Release 2

    Hi,
    I have a requirement where in I need to populate the column dynamically based on what is in the section as the report is drilled down to various levels.
    Below is the example of what is the requirement :
    2001 ( This is a section on Year and drillable)
    State Sales Revenue
    California 100
    Arkansas 46
    2001 Total 146
    When I click on 2001 ...the report will drill down to Quaters
    Q1
    California 20
    Arkansas 20
    Q1 Total 40
    What I am trying to achieve is display Q1 Total dynamically. Although it sums properly I need to show it as Q1 Total.
    At present whatever formula I use only keeps it as 2001 Total no matter however deep I drill....but it sums properly.
    Below are the differnt codes I tried :
    =If(DrillFilters([Year )= " " ;(If(DrillFilters([Q1] )= " ";"Fun"; [Q1])) ;[Year])
    Please let me know if there is a way to acheive this. I am using Business Objects Release 2
    Thank you,
    boe user

    Hi Rakesh,
    Thank you for the response. I would request if you could possibly give me more details of how would I need to use the alerter considering the above case.
    Thank you,
    boe user.

  • Dynamic Drill Column Fill

    Hi,
    I have a requirement where in I have to construct a drill down report. The hierarchy is as follows :
    Club
    Division
    Branch Name
    Initially only Club Name and Transaction count field are displayed on the report which are drillable.
    When we click on the club name it drills downs to the different divisions under that club.
    In the report I do also have the total field which sums the value of the transaction count :
    What I need to do is : Dynamically replace the text to display " Division1 Total : " ......when on the Division Level or " Branch1 Total : " when at the Branch level or "Club 1 Total: " when at the club level.
    I would like to know whether is there a dynamic way to represent the information.
    Thank you,
    boe user

    It is possible with the help of below formula:
    If(DrillFilters([Brach Name]) Not Equal to "") Then "Branch 1 Total:" ElseIf(DrillFilters([Division]) Not Equal to "") Then "Division 1
    Total:" ElseIf(DrillFilters([Club]) Not Equal to "") Then "Club 1 Total:" Else "Total"
    You can also replace Branch 1 etc in the formula with [Branch Name]+" Total:" , so that it will give the exact name of the
    object on which the drill is done.
    Note: please replace Not Equal to text in the formula with the operator (<>) as it is not appearing in the post.
    Regards,
    Rohit

  • Siebel Analytics: Disabling a Drill column

    I am trying to disable a drill column in my hierarchy
    I have the following hierarchy set-up:
    Resource Hierarchy
    --- Total Resource (top most level)
    ------ Department (1st level)
    ------ Department Key
    ------ Department Name
    --- Resource (2nd level)
    ------ Resource Key
    ------ Resource Name
    I have the following for my presentation layer:
    Resource
    --- Resource Name
    --- Department Name
    --- Department Description
    From Department I can drill into Resource
    I have a report where I want to display Department Name, Department Description and a measure.
    I noticed that both the Department Name and Department Description are enabled so that I can drill on it to the Resource. I would like to have just Department Name enabled (and not Department Description) so that I only have one way to drill into the Resource.
    Does anyone know how I can do this?
    Thanks,
    Mary

    Mary,
    Before you disable the drill down capability you need to make sure if no other reports get impacted by disableing the dept hierarchy.
    2 ways
    1. Build new dept hierarchy for only one lvl that you want.
    2. Go to the hierarchy lvl you want to disable ->click on property->click on Keys tab-> double click on the col you want to disable for drill down -> you will see a check box "use for drilldown" uncheck that, save it restart the server.
    Thanks
    Girish

  • Drill column order coming out backwards

    Hi, I've set up a simple hierarchy (dimension) that looks like the following:
    -University (grand total)
    ---Campus
    ------Campus Code
    ------Campus name
    ------College
    ---------College Code
    ---------College Name
    etc.
    Sorry, hard to draw out in text, but basically hierarchy with grand total level, campus level, and college level - with identifying CODE and NAME values under college and campus.
    The problem I'm having is that when I'm in Answers and drill down on an item, it flips the CODE and NAME columns, i.e. name column shows up first, followed by the code column. I do NOT want this, I want the columns to show up in the order I listed.
    I can't figure out how to fix this. In the hierarchy I show the columns in the order I want, and in the hierarchy drill key I show them in the order I want. Is this a bug? Or have I done something wrong?
    Thanks in advance,
    Scott

    Well, here's a quick example. Sorry for the poor formatting, I don't know how to make forums posts look nice.
    I start with a simple Answers report that shows the campus Code and Name:
    COL....Columbus
    LIM....Lima
    MAR...Marion
    When I click on, say, "Columbus", it is properly drilling down to the colleges beneath the Columbus campus. However, it's reversing the colums of the drilled level. Instead of seeing college code followed by college name, it puts it in reverse....college name followed by college code:
    COL...Columbus....School of Businesss....BUS
    COL...Columbus....School of Engineering...ENG
    It should be the other way around:
    COL...Columbus....BUS...School of Businesss
    COL...Columbus....ENG...School of Engineering
    I don't understand why Answers is putting it with the name first, followed by the code. In both the "dimension" setup, and the key setup on the dimension levels, I have the code first, followed by the name.
    Hope this helps explain it.
    Thx,
    Scott

  • New document in library using Word template - columns filled but Word doc is blank

    Hi
    I have a document library using a Word template. It works fine in testing: New Document opens the template, the form at the top of the document is filled by the user, the data populates the fields within the template, the user saves it in the document library.
    But... I have a user with an issue: When she adds a New Document and fills out the form at the top of the Word template, the data doesn't populate the fields within the document itself. It saves into the library columns ok, but the fields within the Word
    document remain blank.
    She has Office 2010, XP and IE8. It's SharePoint 2010.
    Any ideas how to resolve the issue would be appreciated!
    Thanks
    Stuart
    Further information: I emailed the Word template to the user. She opened it and could only input information into the Information Panel at the top, not into the fields within the document.

    Dear Boris,
    I'm sorry I haven't replied sooner - I was away for a break. Anyway, I've done an Office repair but sadly the behaviour is the same as it was before I did that. However, I noticed that the behaviour is now different from when I first posted about the problem.
    Then I got an error now there is no error and it proceeds as if the behaviour is what should be expected. So now when I click "Add Document" I just get the standard "Add a document" dialog box. Oh well, its not the end of the world.
    Anyway, thanks for your help and suggestion. If I work out what is wrong I'll put a post on here.
    Best wishes.....
    Colin

  • Upload/import procedure works only when last column filled

    To upload csv-files I use something like
    TYPE line_tab_type IS TABLE OF VARCHAR2 (4000)
           INDEX BY BINARY_INTEGER;in the package header
    and the procedure itself looks like
    PROCEDURE get_mitglieder_csv (p_file_name IN VARCHAR2,
                               p_rec_sep IN VARCHAR2,
                               p_header IN VARCHAR2,
                               p_blzkto IN VARCHAR2
                               ) IS
        v_binary_file BLOB;
        v_text_file   CLOB;
        -- Conversion Variables
        v_dest_offset  INTEGER := 1;
        v_src_offset   INTEGER := 1;
        v_lang_context INTEGER := DBMS_LOB.default_lang_ctx;
        v_warning      INTEGER;
        -- Parsing Variables
        v_rec_sep_len PLS_INTEGER;
        v_start_pos   PLS_INTEGER := 1;
        v_end_pos     PLS_INTEGER := 1;
        v_line_num    PLS_INTEGER := 1;
        v_file_length PLS_INTEGER;
        -- Parsing Line Variables
        v_field_array wwv_flow_global.vc_arr2;
        p_lines line_tab_type;
        doszeilen  CONSTANT VARCHAR2(2) := CHR(13) || CHR(10);
        unixzeilen CONSTANT VARCHAR2(1) := CHR(10);
        geloescht BOOLEAN := FALSE;
         err_code      NUMBER;
         err_msg          VARCHAR2(400);
      BEGIN
        IF p_file_name IS NULL THEN
          raise_application_error(-20000, 'Dateiname wird benoetigt');
        END IF;
        IF p_rec_sep IS NULL THEN
          raise_application_error(-20000, 'Feldtrenner wird benoetigt');
        END IF;
        IF (UPPER(p_rec_sep) LIKE '%DOS%') THEN
          v_rec_sep_len := LENGTH(doszeilen);
        ELSE
          v_rec_sep_len := LENGTH(unixzeilen);
        END IF;
        SELECT blob_content
          INTO v_binary_file
          FROM my_wwv_flow_files
         WHERE my_wwv_flow_files.name = p_file_name
              --AND mime_type = 'text/plain'
           AND doc_size > 0;
        DBMS_LOB.createtemporary(v_text_file, TRUE);
        DBMS_LOB.converttoclob(v_text_file,
                               v_binary_file,
                               DBMS_LOB.lobmaxsize,
                               v_dest_offset,
                               v_src_offset,
                               DBMS_LOB.default_csid,
                               v_lang_context,
                               v_warning);
        IF v_warning = DBMS_LOB.warn_inconvertible_char THEN    -- error converting
          raise_application_error(-20000, 'Kann Datei nicht konvertieren');
        END IF;
        v_file_length := DBMS_LOB.getlength(v_text_file);
    --INSERT INTO DEBUG_TAB (a) VALUES (v_file_length);
        LOOP
          EXIT WHEN v_start_pos > v_file_length;
          -- erste Vorkommen von p_rec_sep in v_text_file, starte suche bei v_start_pos
          IF (UPPER(p_rec_sep) LIKE '%DOS%') THEN
            v_end_pos := DBMS_LOB.INSTR(v_text_file, doszeilen, v_start_pos);
          ELSE
            v_end_pos := DBMS_LOB.INSTR(v_text_file, unixzeilen, v_start_pos);
          END IF;
    --INSERT INTO DEBUG_TAB (a,b) VALUES ('p_rec_sep',UPPER(p_rec_sep));
    --INSERT INTO DEBUG_TAB (a,b) VALUES ('v_end_pos',v_end_pos);
          IF v_end_pos = 0 --- nichts gefunden, leeres v_text_file
           THEN
            v_end_pos := v_file_length + 1;
          END IF;
          IF v_end_pos - v_start_pos > 4000 --- mehr als 4000 Zeichen in Zeile
           THEN
            raise_application_error(-20000, 'Zeile hat mehr als 4000 Zeichen, Dateiformat beachten');
          END IF;
          --- DBMS_LOB.SUBSTR(source, amount, position)
          p_lines(v_line_num) := DBMS_LOB.SUBSTR(v_text_file,
                                                 v_end_pos - v_start_pos,
                                                 v_start_pos);
          --- Change the ',' field delimiter to ':' , to use the built-in string_to_table function
              --- optionale Hochkomma " entfernen
           p_lines(v_line_num) := REPLACE(p_lines(v_line_num), '"', '');
           p_lines(v_line_num) := REPLACE(p_lines(v_line_num), ':', ' ');
              --- passende Feldtrenner auswaehlen ,  ;  |
          p_lines(v_line_num) := REPLACE(p_lines(v_line_num), '|', ':');
    --      p_lines(v_line_num) := REPLACE(p_lines(v_line_num), ',', ':');
    --      p_lines(v_line_num) := REPLACE(p_lines(v_line_num), ';', ':');
          v_field_array := wwv_flow_utilities.string_to_table(p_lines(v_line_num));
          IF v_field_array.COUNT <= 1 THEN
            raise_application_error(-20000, 'Benoetige mindestens 2 Spalten');
          ELSE
            BEGIN
            IF geloescht = FALSE THEN
            EXECUTE IMMEDIATE 'TRUNCATE TABLE UP_MITGLIEDER';
            geloescht := TRUE;
            END IF;
              IF (  (v_line_num = 1 )   AND  (UPPER(p_header) = 'MITKOPF')  ) THEN
                   NULL;
    ------ mit Konto-Daten ------------------  24 Felder
              ELSIF ( UPPER(p_blzkto) = 'MITBLZ' )
              THEN
                     EXECUTE IMMEDIATE 'INSERT INTO UP_MITGLIEDER(
                           MG_NR
                           ,MG_ZS
                           ,MG_KONTONR
                           ,MG_BLZ
                          VALUES ( TRIM(:1), TRIM(:2), TRIM(:3), TRIM(:4), TRIM(:5), TRIM(:6), TRIM(:7), TRIM(:8), TRIM(:9), TRIM(:10),
                                          TRIM(:11), TRIM(:12), TRIM(:13), TRIM(:14), TRIM(:15), TRIM(:16), TRIM(:17), TRIM(:18), TRIM(:19), TRIM(:20),
                                          TRIM(:21), TRIM(:22), 
                                          TRIM(:23), TRIM(:24)     )'
              --             VALUES (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13, :14, :15, :16, :17, :18, :19, :20, :21, :22 :23 :24 )'
                        USING
                             v_field_array(1), v_field_array(2), v_field_array(3), v_field_array(4), v_field_array(5),
                             v_field_array(6), v_field_array(7), v_field_array(8), v_field_array(9), v_field_array(10),
                             v_field_array(11), v_field_array(12), v_field_array(13), v_field_array(14), v_field_array(15),
                             v_field_array(16), v_field_array(17), v_field_array(18), v_field_array(19), v_field_array(20),
                             v_field_array(21), v_field_array(22), v_field_array(23), v_field_array(24);
    ------------ ohne Konto-Daten , bis MG_ZS ---- 22 Felder
              ELSE                
              --        EXECUTE IMMEDIATE 'INSERT INTO EINS(LFD,BEM) VALUES(:1,:2)'
                     EXECUTE IMMEDIATE 'INSERT INTO UP_MITGLIEDER(
                           MG_NR
                           ,MG_ZS
                          VALUES ( TRIM(:1), TRIM(:2), TRIM(:3), TRIM(:4), TRIM(:5), TRIM(:6), TRIM(:7), TRIM(:8), TRIM(:9), TRIM(:10),
                                          TRIM(:11), TRIM(:12), TRIM(:13), TRIM(:14), TRIM(:15), TRIM(:16), TRIM(:17), TRIM(:18), TRIM(:19), TRIM(:20),
                                          TRIM(:21), TRIM(:22)  )'
              --             VALUES (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13, :14, :15, :16, :17, :18, :19, :20, :21, :22 )'
                        USING
                             v_field_array(1), v_field_array(2), v_field_array(3), v_field_array(4), v_field_array(5),
                             v_field_array(6), v_field_array(7), v_field_array(8), v_field_array(9), v_field_array(10),
                             v_field_array(11), v_field_array(12), v_field_array(13), v_field_array(14), v_field_array(15),
                             v_field_array(16), v_field_array(17), v_field_array(18), v_field_array(19), v_field_array(20),
                             v_field_array(21), v_field_array(22);
             END IF;  --- v_line_num = 1 AND p_header
            END;  --- von Begin im Else-Zweig
          END IF;
          --INSERT INTO DEBUG_TAB(a)
          --VALUES ('P_lines: ' || p_lines(v_line_num));
    --      hilfscounter := v_field_array.COUNT;
          --INSERT INTO DEBUG_TAB(a)
          --VALUES ('v_field_array.count: ' || TO_CHAR(hilfscounter));
              -- neue Zeile   
               v_line_num  := v_line_num + 1;
               v_start_pos := v_end_pos + v_rec_sep_len;
        END LOOP;
        DBMS_LOB.freetemporary(v_text_file);
      EXCEPTION
        WHEN NO_DATA_FOUND THEN
          raise_application_error(-20000,
                                  'Datei existiert nicht in my_wwv_flow_files, ist keine Textdatei (text/plain) oder hat die Groesse 0');
        WHEN OTHERS THEN
              err_code      := SQLCODE;
              err_msg          := SUBSTR(SQLERRM, 1, 400);
          raise_application_error(-20011,
                                  'Datei entspricht nicht erwartetem Format ! '
                                  ||CHR(13) || CHR(10)||'  '||err_msg||CHR (10)|| v_line_num ||CHR (10)|| p_lines(v_line_num));
    END get_mitglieder_csv;If the last column e.g. MG_ZS contains NULL-values the import into UP-MITGLIEDER does not work , stops with error
    Fehler      ORA-20011: Datei entspricht nicht erwartetem Format !Why isn't it possible to import Null values from the last column ?

    Here is now a general example based on scott.emp
    CREATE OR REPLACE PROCEDURE import_emp_csv (p_file_name IN VARCHAR2,
                               p_rec_sep IN VARCHAR2,
                               p_header IN VARCHAR2
                               ) IS
        TYPE line_tab_type IS TABLE OF VARCHAR2 (4000)
           INDEX BY BINARY_INTEGER;
        v_binary_file BLOB;
        v_text_file   CLOB;
        -- Conversion Variables
        v_dest_offset  INTEGER := 1;
        v_src_offset   INTEGER := 1;
        v_lang_context INTEGER := DBMS_LOB.default_lang_ctx;
        v_warning      INTEGER;
        -- Parsing Variables
        v_rec_sep_len PLS_INTEGER;
        v_start_pos   PLS_INTEGER := 1;
        v_end_pos     PLS_INTEGER := 1;
        v_line_num    PLS_INTEGER := 1;
        v_file_length PLS_INTEGER;
        -- Parsing Line Variables
        v_field_array wwv_flow_global.vc_arr2;
        p_lines line_tab_type;
        doszeilen  CONSTANT VARCHAR2(2) := CHR(13) || CHR(10);
        unixzeilen CONSTANT VARCHAR2(1) := CHR(10);
        geloescht BOOLEAN := FALSE;
         err_code      NUMBER;
         err_msg          VARCHAR2(400);
      BEGIN
        IF p_file_name IS NULL THEN
          raise_application_error(-20000, 'Dateiname wird benoetigt');
        END IF;
        IF p_rec_sep IS NULL THEN
          raise_application_error(-20000, 'Feldtrenner wird benoetigt');
        END IF;
        IF (UPPER(p_rec_sep) LIKE '%DOS%') THEN
          v_rec_sep_len := LENGTH(doszeilen);
        ELSE
          v_rec_sep_len := LENGTH(unixzeilen);
        END IF;
        SELECT blob_content
          INTO v_binary_file
          FROM my_wwv_flow_files
         WHERE my_wwv_flow_files.name = p_file_name
              --AND mime_type = 'text/plain'
           AND doc_size > 0;
        DBMS_LOB.createtemporary(v_text_file, TRUE);
        DBMS_LOB.converttoclob(v_text_file,
                               v_binary_file,
                               DBMS_LOB.lobmaxsize,
                               v_dest_offset,
                               v_src_offset,
                               DBMS_LOB.default_csid,
                               v_lang_context,
                               v_warning);
    --INSERT INTO DEBUG_TAB (a) VALUES (v_text_file);
        IF v_warning = DBMS_LOB.warn_inconvertible_char THEN    -- error converting
          raise_application_error(-20000, 'Kann Datei nicht konvertieren');
        END IF;
        v_file_length := DBMS_LOB.getlength(v_text_file);
    --INSERT INTO DEBUG_TAB (a) VALUES (v_file_length);
        LOOP
          EXIT WHEN v_start_pos > v_file_length;
          -- erste Vorkommen von p_rec_sep in v_text_file, starte suche bei v_start_pos
          IF (UPPER(p_rec_sep) LIKE '%DOS%') THEN
            v_end_pos := DBMS_LOB.INSTR(v_text_file, doszeilen, v_start_pos);
          ELSE
            v_end_pos := DBMS_LOB.INSTR(v_text_file, unixzeilen, v_start_pos);
          END IF;
    --INSERT INTO DEBUG_TAB (a,b) VALUES ('p_rec_sep',UPPER(p_rec_sep));
    --INSERT INTO DEBUG_TAB (a,b) VALUES ('v_end_pos',v_end_pos);
          IF v_end_pos = 0 --- nichts gefunden, leeres v_text_file
           THEN
            v_end_pos := v_file_length + 1;
          END IF;
          IF v_end_pos - v_start_pos > 4000 --- mehr als 4000 Zeichen in Zeile
           THEN
            raise_application_error(-20000, 'Zeile hat mehr als 4000 Zeichen, Dateiformat beachten');
          END IF;
          --- DBMS_LOB.SUBSTR(source, amount, position)
          p_lines(v_line_num) := DBMS_LOB.SUBSTR(v_text_file,
                                                 v_end_pos - v_start_pos,
                                                 v_start_pos);
          --- Change the ',' field delimiter to ':' , to use the built-in string_to_table function
              --- optionale Hochkomma " entfernen
           p_lines(v_line_num) := REPLACE(p_lines(v_line_num), '"', '');
           p_lines(v_line_num) := REPLACE(p_lines(v_line_num), ':', ' ');
              --- passende Feldtrenner auswaehlen ,  ;  |
          p_lines(v_line_num) := REPLACE(p_lines(v_line_num), '|', ':');
    --      p_lines(v_line_num) := REPLACE(p_lines(v_line_num), ',', ':');
    --      p_lines(v_line_num) := REPLACE(p_lines(v_line_num), ';', ':');
          v_field_array := wwv_flow_utilities.string_to_table(p_lines(v_line_num));
          IF v_field_array.COUNT <= 1 THEN
            raise_application_error(-20000, 'Benoetige mindestens 2 Spalten');
          ELSE
            BEGIN
            IF geloescht = FALSE THEN
            EXECUTE IMMEDIATE 'TRUNCATE TABLE UP_EMP2';
            geloescht := TRUE;
            END IF;
              IF (  (v_line_num = 1 )   AND  (UPPER(p_header) = 'MITKOPF')  ) THEN
                   NULL;
              ELSE                
                     EXECUTE IMMEDIATE 'INSERT INTO UP_EMP2(
                           EMPNO
                           ,ENAME
                           ,JOB
                           ,MGR
                           ,HIREDATE
                           ,SAL
                           ,DEPTNO
                           ,COMM
                          VALUES ( TRIM(:1), TRIM(:2), TRIM(:3), TRIM(:4), TRIM(:5), TRIM(:6), TRIM(:7), NVL( TRIM(:8), NULL )
                        USING
                             v_field_array(1), v_field_array(2), v_field_array(3), v_field_array(4), v_field_array(5),
                             v_field_array(6), v_field_array(7), v_field_array(8);
             END IF;  --- v_line_num = 1 AND p_header
            END;  --- von Begin im Else-Zweig
          END IF;
              -- neue Zeile   
               v_line_num  := v_line_num + 1;
               v_start_pos := v_end_pos + v_rec_sep_len;
        END LOOP;
        DBMS_LOB.freetemporary(v_text_file);
      EXCEPTION
        WHEN NO_DATA_FOUND THEN
          raise_application_error(-20000,
                                  'Datei existiert nicht in my_wwv_flow_files, ist keine Textdatei (text/plain) oder hat die Groesse 0');
        WHEN OTHERS THEN
              err_code      := SQLCODE;
              err_msg          := SUBSTR(SQLERRM, 1, 400);
          raise_application_error(-20011,
                                  'Datei entspricht nicht erwartetem Format ! '
                                  ||CHR(13) || CHR(10)||'  '||err_msg||CHR (10)|| v_line_num ||CHR (10)|| p_lines(v_line_num));
    END import_emp_csv;Here is my csv test file
    7370|"schmid"|"CLERK"|7902|"17.12.1980"||20|20
    7500|"ALLENT"|"SALESMAN"|7698|"20.02.1981"|1600|30|
    7522|"WART"|"SALESMAN"|7698|"22.02.1981"|1250|30|500The second row is missing the last element (in excel table it is a NULL Value), this causes a NO-DATA-FOUND error.
    Any ideas how to solve this problem ?

  • Drill Down Column Name??

    Hi, Anoyone knows how I can change the column name when a Drill from a Bar chart?
    Best Regards

    Hello The below is the option to change the Column Name. But your question seems to be on Drill option.
    Drill Column Visibility:
    If you are looking for a Drill option Column Name assignment to one report. You need to create a parameter in the second report and that parameter should be in the calculated filed and then you will get the Column name in the Main report that you are trying to drill.
    Column Rename Option in the report:
    Go to
    Active Studio
    My Reports> View Task/Options> Edit View
    Edit View>Properties>Text & Align> Apply to Column Heading> and give what name you want to provide.

  • Expanding text fields side-by-side in a 2 column layout

    Hi,
    I've been trying to create a form that is a 2-column layout. This form contains expanding text fields that are side-by-side with additional form elements underneath. I managed to get the expandable fields to work, however, if the user writes too much in the text field in the left-hand column and it wraps onto a second page, the text field in the right-hand gets pushed to the second page. I am wondering if someone has experience with this and could help me figure out how to make sure the text field in the right-hand column stays in place as the text field in the left-hand column expands onto 2 pages.
    I've tried to wrap each text-field in their own subform that stays fixed, but that seemed to cause the field to expand over the elements below it.
    Take care,
    Carolyn

    Luke23ae wrote:
    for my bachelor-thesis I'm trying to create a 2 column layout in pages. The left column should contain all contents, the right column should only contain notes and additional information supporting the 'main' column. So the right column only contains a little text every now and then. Using the Layout Inspector and setting up 2 columns fills the right column automatically withe the contents overflowing the left column. What I'm hoping to archive is to create a 2 column layout leaving the right column blank, allowing me to insert Text-fields (unless there's a better way) wherever I need to add an annotation.
    Hi Lukas,
    Welcome to Apple Discussions and the Pages '09 forum.
    Since you want the text to flow from page to page in the left column, it would appear best to use a single column for the main text, and to limit the width of that column using the right margin stop.
    That leaves the right half of the page open for a series of text boxes (or shapes, as shown) to contain the notes and additional information.
    I would start with a single text box or shape, resize it to the width you want, then duplicate that one each time you need a new box. That way all your text blocks have a common width to begin with, and if you take care to use only the handle at the center of the bottom edge to resize them, you will not disturb that width setting.
    As noted earlier, the floating objects will not automatically travel with the text they apply to if editing causes that text to move.
    Regards,
    Barry

  • Problem with columns in the middle of my book

    I am writing my second book with Pages 2.02 and have run into a problem with columns. I want to add a long list of items as a list with check boxes for readers to check off. If I paste in enough text for three or four pages of two columns it gets messed up in various ways - the text flows into the following text if I don't use section breaks at the end instead of layout breaks, if I use section breaks it solves that one, but if I add anything to the list it changes all the columns across the pages so that one or several of the pages has way less in the right column than in the left. So far the left column fills the entire page all the time, but the right column has lots of spaces. If I switch back and forth from one column to two, it fixes it. If I add text before the list section it messes everything up again and because there is a section break I end up with a little bit of text on the last page and a huge gap before the single column part that follows.
    Does anyone know how to get reliable results that will not mess me up when adding content before the list or in the list itself?
    PowerBook G4   Mac OS X (10.4.8)  

    Hi Cymru,
    Thank you for thinking about my problems. I guess I s half asleep when I posted and it didn't make sense.
    I have so far 77 pages of the book divided into several chapters via section breaks. Inside the 5th section there is almost two pages of paragraphs. Those paragraphs could become 3.75 pages or who knows how long before the list of items. The list of items is 226 items separated by carriage returns and go from one word with 5 characters to 7 words and 34 characters. It needs to be a list with check boxes before them so that the user can check off the items that apply. It is a workbook about turning bipolar into an advantage and is currently 8.5 x 11 and printed on my laser printer for now, but when completed will be more like 8 x 10, so it needs to resize without major hassles.
    I have tried every combination of breaks to get the list to flow in two columns, but perhaps have not done the correct combination. I show invisibles and layout. At the end of my paragraphs I do a paragraph return. I then do either a section break or a layout break, followed by a paragraph return and another layout or section break. I then put my curser before the paragraph break, but after the first section/paragraph break, and set columns to 2, evenly divided by default with 3.2026" columns and .3375" gutter, but I want them to change with page size in the future.
    Once set up, I copy the text out of BBEdit and paste into the left column. It takes up several pages because it is formatted to do double spaces, so I use one of my styles to make it bold and single spaces. I then apply list style with image bullets and one of the default box images that came with Pages. There are 5 items in each column on the first page because it is close to the bottom, but flows into the next two pages. (with text edits it might end up 20 items in each column on the first page) The second page has 39 items in each column and the last page has 8 items in the left column only, but if with section breaks take up the whole page and the next paragraphs start on the next page. If I then add items to the list, every page gets messed up and the second page ends up with 39 on the left column and less items in the right column for each added item.
    If I use layout breaks instead of section breaks, the paragraphs following my lists (now with only one column) end up under the list. What that means is I can see my bold items, but beneath them are my paragraphs that belong after the list. I can see the layout break at the end of the list, but the columns that are shown as part of the 'view layout' are visible right over the single column text also for the rest of the page. The only way to solve that is to go with section breaks and put up with the gap from the end of the list to the following paragraphs.
    I hope this makes more sense.
    Tom
    PowerBook G4   Mac OS X (10.4.8)  

  • Summing up a Column in ALV report

    Hi All,
    I have developed an ALV Report which will display Invoices and other details.
    Now i need to display the sum of NETWR column, if user wish to select that column and click the "SUM" icon.
    As of now, if i select the NETWR column and click 'SUM" column, i am getting Runtime error.
    How to resolve this issue?
    Regards
    Pavan

    Hi Pavan,
    ALV GRID CONTROL:
    This task is performed by the SAP Control Framework.
    The R/3 System allows you to create custom controls using ABAP Objects. The application server is the Automation Client, which drives the custom controls (automation server) at the front end.
    If custom controls are to be included on the frontend, then the SAPGUI acts as a container for them.
    Custom controls can be ActiveX Controls or JavaBeans.
    The system has to use a Remote Function Call (RFC) to transfer methods for creating and using a control to the front end.
    ABAP objects are used to implement the controls in programs.
    An SAP Container can contain other controls (for example, SAP ALV Grid Control, Tree Control, SAP Picture Control, SAP Splitter Control, and so on). It administers these controls logically in one collection and provides a physical area for the display.
    Every control exists in a container. Since containers are themselves controls, they can be nested within one another. The container becomes the parent of its control. SAP containers are divided into five groups:
    SAP custom container: Displays within an area defined in Screen Painter on screens or sub screens.
    Class: CL_GUI_CUSTOM_CONTAINER
    SAP dialog box container: Displays in a modeless dialog box or as a full screen. Class:
    CL_GUI_DIALOGBOX_CONTAINER
    SAP docking container: Displays as docked, resizable sub-window with the option of displaying it as a modeless dialog box. Class: CL_GUI_DOCKING_CONTAINER
    SAP splitter container: Displays and groups several controls in one area - that is, splits the area into cells Class: CL_GUI_SPLITTER_CONTAINER
    SAP easy splitter container: Displays controls in two cells, which the user can resize using a split bar. Class: CL_GUI_EASY_SPLITTER_CONTAINER.
    In the control, you can adjust the column width by dragging, or use the 'Optimum width' function to adjust the column width to the data currently displayed. You can also change the column sequence by selecting a column and dragging it to a new position.
    Standard functions are available in the control toolbar. The details display displays the fields in the line on which the cursor is positioned in a modal dialog box.
    The sort function in the ALV Control is available for as many columns as required. You can set complex sort criteria and sort columns in either ascending or descending order.
    You can use the 'Search' function to search for a string (generic search without *) within a selected area by line or column.
    You can use the 'Sum' function to create totals for one or more numeric columns. You can then use the "Subtotals" function to set up control level lists: You can use the 'Subtotal' function to structure control level lists: select the columns (non-numeric columns only) that you want to use and the corresponding control level totals are displayed.
    For 'Print' and 'Download' the whole list is always processed, not just the sections displayed on the screen.
    You can define display variants to meet your own specific requirements. For information on saving variants, see 'Advanced Techniques'.
    The ALV grid control is a generic tool for displaying lists in screens. The control offers standard functions such as sorting by any column, adding numeric columns, and fixed lead columns .
    Data collection is performed in the program (with SELECT statements, for example) or by using a logical database. The data records are saved in an internal table and passed on to the ALV control along with a field description.
    The field description contains information about the characteristics of each column, such as the column header and output length. This information can defined either globally in the Dictionary (structure in the Dictionary) or in the field catalog in the program itself. You can also merge both techniques.
    The ALV link is a standard function of Query and QuickViewer. If multiline queries or Quick View lists have been defined, they will automatically be compressed to a single line and output in the ALV control as a long, single line list.
    Use Screen Painter to create a sub screen container for the ALV grid control. The control requires an area where it can be displayed in the screen. You have to create a container control that determines this area.
    Use the corresponding icon in the Screen Painter layout to create the container control. The size of area "MY_CONTROL_AREA" determines the subsequent size of the ALV control.
    The valid GUI status must be set at the PBO event in the flow logic of the ALV subscreen container.
    The OK_CODE processing for the cancel functions must be programmed at the PAI event.
    The reference variables for the custom container and the ALV grid control must be declared.
    To create reference variables, use ABAP statement TYPE REF TO .
    The global classes you need to do this are called cl_gui_custom_container (for the custom container control) and cl_gui_alv_grid (for the ALV grid control).
    The global classes are defined in the Class Builder. You can use the Class Builder to display information for the methods, their parameters, exceptions, and so on.
    Use ABAP statement CREATE OBJECT to create the objects for the container and the ALV control. Objects Are instances of a class.
    When an object is created (CREATE), method CONSTRUCTOR of the corresponding class is executed. The parameters of method CONSTRUCTOR determine which parameters have to be supplied with data when the object is created. In the above example, object alv_grid is given the name of the container control (g_custom_container) in exporting parameter i_parent, which links the two controls. For information on which parameters method CONSTRUCTOR possesses and which of these parameters are required, see the Class Builder.
    Objects should only be created once during the program. To ensure that this is the case, enclose the CREATE OBJECT statement(s) in an IF IS INITIAL. ... ENDIF clause. The objects must be generated before the control is displayed for the first time - that is, during the PBO event of the ALV subscreen container.
    To display the requested dataset in the ALV control, the data must be passed on to the control as an internal table, and a field description must exist indicating the order in which the columns will be output.
    In the simplest case, the field description can use a structure from the Dictionary. The Dictionary also determines the technical field attributes like type and length, as well as the semantic attributes like short and long texts. The ALV control uses this information to determine the column widths and headers. The column sequence is determined by the field sequence in the structure.
    If no suitable structure is active in the Dictionary, or you want to output internal program fields in the control, then you will have to define information like the output length and column header in the field catalog.
    In a typical program run, the dataset is read first (SELECT ....), the internal table is filled with the data to display (... INTO TABLE ...), and ABAP statement CALL SCREEN is then used to call the ALV sub screen container.
    The data transfer to the ALV control takes place during the call of method
    set_table_for_first_display from class cl_gui_alv_grid. The method call must be programmed at the PBO event of the ALV subscreen container.
    The name of the Dictionary structure that supplies the field description is specified in exporting parameter i_structure_name. The name of the internal table that contains the data records to display is specified in changing parameter it_outtab.
    The field description for the ALV control can be ta ken from an active Dictionary structure (fully automatic), by passing a field catalog (manual), or through a mixture of the two options (merge).
    The field catalog is in internal table with type lvc_t_fcat. This type is defined globally in the Dictionary.
    Each line in the field catalog table corresponds to a column in the ALV control.
    The field characteristics (= column characteristics) are defined in the field catalog. The field catalog is in internal table with type lvc_t_fcat. Each line that is explicitly described in the ALV control corresponds to a column in the field catalog table.
    The link to the data records to output that are saved in internal table is established through field name . This name must be specified in column "fieldname" in the field catalog.
    This field can be classified through a Dictionary reference (ref_table and ref_field) or by specifying an ABAP data type (inttype).
    Column headers and field names in the detail view of an ALV control line can be determined in the field catalog in coltext and seltext, respectively.
    The position of a field during output can be determined with col_pos in the field catalog.
    If you want to hide a column, fill field no_out with an "X" in the field catalog. Hidden fields can be displayed again in a user display variant.
    Icons can be displayed in the ALV control. If you want a column to be interpreted as an icon, then the icon name must be known to the program (include .) and icon = "X" must be specified for this column in the field catalog.
    The above example shows a semi-automatic field description: Part of the field description comes from the Dictionary structure (sflight), while another part is explicitly defined in the field catalog (gt_fieldcat).
    The field catalog (internal table) is filled in the program and is passed on together with the name of the Dictionary structure during the method call. The information is merged accordingly in method set_table_for_first_display.
    For a user to save display variants, parameters is_variant and i_save must be passed on during method call set_table_for_first_screen. To assign display variants uniquely to a program, at least the program name must be supplied in the transferred structure (gs_variant).
    Program names can be up to 30 characters long.
    If you only pass on the current parameters for is_variant, then existing variants can be loaded, but no new ones can be saved. If you use parameter i_save, you must pass on a variant structure with is_variant.
    I_SAVE = SPACE No variants can be saved.
    I_SAVE = 'U' The user can only save user-specific variants.
    I_SAVE = 'X' The user can only save general (shared) variants.
    I_SAVE = 'A' The user can save both user-specific and general (shared) variants.
    You can use parameter is_layout of method set_table_for_first_display, for example, to define the header in the ALV control and the detail display.
    To do this, define a query area in the program in accordance with Dictionary structure lvc_s_layo, and pass on the text to display in field -grid_title or -detailtitl.
    If you want to create print lists with zebra stripes, set field -zebra to "X". You can display a print preview for print lists by requesting standard function "Print".
    All parameters of method SET_TABLE_FOR_FIRST_DISPLAY from global class
    CL_GUI_ALV_GRID are defined in the Class Builder.
    Events are defined in global class cl_gui_alv_grid; you can use these events to implement user interaction within the program. To respond to a double -click on a table line, you must respond to event DOUBLE_CLICK.
    You receive control in the program, allowing you to implement interactive reporting - such as a full screen details list. The events for cl_gui_alv_grid are located in the Class Builder.
    To define an implement a local class in the program, you use a handler method. In this handler method, you program the functionality to trigger by a double -click in the output table.
    To activate a handler method at runtime, a class or an object from that class registers itself with an event using command SET HANDLER. The names of the IMPORTING parameters in the handler method correspond to the names of the EXPORTING parameters of the related event.
    In the above example, the local class is LCL_ILS and the handler method is ON_DBLCLICK. An object - ALV_DBLCLICK - is created and registers itself for event DOUBLE_CLICK.
    You can query parameter e_row-index to determine which output line was requested by the double -click. This parameter corresponds to the line number of the output table (internal table with the data records to output). If you need information for the selected line, you have to read it with READ TABLE itab INDEX e_row-index.
    This subsequent read in the output table generally corresponds to the HIDE area in conventional reporting. You first have to make sure that the user has double -clicked a line in the output table (similar to the valid line selection with the HIDE technique).
    A field group can contain global data objects, but not data objects that have been defined locally in a subroutine or function module.
    You can use INSERT to specify both fields and field symbols. This makes it possible to dynamically insert a data object referred to by a field symbol into a field group at runtime. Any field symbols that have not been assigned are ignored, which means no new field is inserted into the field group.
    The EXTRACT statement writes all the fields of a field group as one record to a sequential dataset (transport takes place with similarly named fields). If a HEADER field group is defined, then its fields are placed ahead of each record as sort keys. You can then sort the dataset with SORT and process it with LOOP ...ENDLOOP. In this case, no further EXTRACT is possible.
    The INSERT statement is not a declarative statement: This means field groups can also be expanded in the program flow section.
    As soon as the first dataset of a field group has been extracted with EXTRACT, that field group can no longer be expanded with INSERT. In particular, the HEADER field group cannot be expanded after the first EXTRACT (regardless of the field group).
    When the GET events are processed, the logical database automatically writes hexadecimal zeros in all the fields of a node when it returns to an upper-level node in the hierarchy. Since the HEADER normally contains sort fields for all field groups, these hexadecimal zeros in the HEADER serve as a type of hierarchy key: The more zeros there are, the further up in the control level hierarchy you go.
    &#61550;&#61472;The SORT statement sorts the extract dataset in accordance with the defined field sequence in field group HEADER. The addition BY ... sets a new sort key.
    Each must be either a field of field group HEADER or a field group that consists only of fields of the field group HEADER. You can use the additions ASCENDING and DESCENDING to determine whether the fields are sorted in ascending (default) or descending order.
    Fields containing X'00' in the logical databases are always displayed before all other values during a SORT.
    Processing of an extract dataset always takes places within a LOOP. The contents of the extract dataset field are placed in program fields with the same names.
    The group change always involves the fields of the HEADER. Single record processing for extract datasets is performed using language element AT ( = field group).
    CNT() is not a statement, but instead a field that is automatically create d and filled when is a non-numeric field from field group HEADER and is part of the sort key. At the end of the group, CNT() contains the number of different values that the field recorded in this group level.
    SUM() is not a statement, but instead a field that is automatically created and filled when is a numeric field of an extract dataset. At the end of the group, SUM() contains the control total of field .
    *** and CNT are only available at the end of the group level or at AT LAST.
    Single record processing for extract datasets AT WITH is only performed when field group is immediately followed by field group in the temporary dataset.
    Loops over an extract dataset cannot be nested. However, several contiguous loops are permitted.
    The sequence of the control level changes within the LOOP must correspond to the sort sequence.
    Totals can only be calculated within control footer processing.
    Extracts allow only appends (EXTRACT), sorting (SORT) and sequential processing (LOOP).
    Once a SORT or LOOP has occurred, the intermediate dataset is frozen and cannot be expanded with EXTRACT. Operations that insert into or delete from EXTRACT datasets are not supported.
    Extracts allow for several record types (FIELD-GROUPS) with fields that can be set dynamically (INSERT is not a declarative statement!). Internal tables have a single, statically-defined line type.
    Internal tables use the sequence of table fields according to the declaration for the hierarchy of the control leve l. The control level structure for internal tables is therefore static, and is independent of which criteria were used to sort the internal table.
    Extracts do not depend on the field sequence for control level processing: a re-sort or a completely different control level process can take place. The control level structure for extract datasets is therefore dynamic. It corresponds exactly to the sort key of the extract dataset. The sort key is the sequence of fields from the field group HEADER, and is used to sort the extract dataset.
    Extracts rely on the compiler to determine which combinations of group levels and a cumulating field the control level totals desire. The desired control level totals are determined by the processing of LOOP ... ENDLOOP blocks. Internal tables build the control level total with the SUM statement.
    This procedure leads to high resource depletion for totaling control levels in internal tables.
    Regards,
    Chandru

  • Report Columns in one Page

    Hi,
    I know the posts on the same issue exist in year 2002 exist but they doesn't seem to have any solutions, or at least do not have the proper answers that I want. Or maybe I miss it when I search.
    I have created a matrix report with groups above.
    Report data layout (example):
    Let's say the group above is by month and year (combined). Then the columns would be the departments while the rows would be the date of the month. The data would be the income type A, income type B, income type C and income type D.
    Jan 2006 | Dept One                      | Dept Two                      | Dept Three                    | Dept Four                     |
             | Inc A | Inc B | Inc C | Inc D | Inc A | Inc B | Inc C | Inc D | Inc A | Inc B | Inc C | Inc D | Inc A | Inc B | Inc C | Inc D |
    1        |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    2        |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    3        |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    4        |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    5        |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    ...      |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    31       |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    Feb 2006 | Dept One                      | Dept Two                      | Dept Three                    | Dept Four                     |
             | Inc A | Inc B | Inc C | Inc D | Inc A | Inc B | Inc C | Inc D | Inc A | Inc B | Inc C | Inc D | Inc A | Inc B | Inc C | Inc D |
    1        |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    2        |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    3        |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    4        |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    5        |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    ...      |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    31       |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |Problem:
    I can see that the report generates successfully. Rows and columns showing the correct data. However, the problem arises where one single month (let's say January 2006) of the report matrix group expand from page 1 to page 2 horizontally. And on page one, big amount of space left (below the first part of Janurary 2006 matrix group) which can actually accomodate either the first part of February 2006 matrix group or the rest of January 2006 matrix group. But it wasn't populated.
    {Content of Page One}
    Jan 2006 | Dept One                      | Dept Two                      |
             | Inc A | Inc B | Inc C | Inc D | Inc A | Inc B | Inc C | Inc D |
    1        |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    2        |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    3        |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    4        |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    5        |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    ...      |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    31       |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    {Content of Page Two}
    Jan 2006 | Dept Three                    | Dept Four                     |
             | Inc A | Inc B | Inc C | Inc D | Inc A | Inc B | Inc C | Inc D |
    1        |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    2        |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    3        |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    4        |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    5        |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    ...      |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    31       |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    Feb 2006 | Dept One                      | Dept Two                      |
             | Inc A | Inc B | Inc C | Inc D | Inc A | Inc B | Inc C | Inc D |
    1        |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    2        |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    3        |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    4        |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    5        |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    ...      |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    31       |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    {Content of Page Three}
    Feb 2006 | Dept Three                    | Dept Four                     |
             | Inc A | Inc B | Inc C | Inc D | Inc A | Inc B | Inc C | Inc D |
    1        |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    2        |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    3        |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    4        |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    5        |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    ...      |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    31       |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    Mar 2006 | Dept One                      | Dept Two                      |
             | Inc A | Inc B | Inc C | Inc D | Inc A | Inc B | Inc C | Inc D |
    1        |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    2        |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    3        |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    4        |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    5        |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    ...      |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    31       |   ... |   ... |   ... |   ... |   ... |   ... |   ... |   ... |
    {...and so on...}Instead, the February 2006 matrix group only started out on page 2 when the January 2006 matrix group ends.
    How can it be done, so that either the following be done?
    A) Second part of January 2006 fills up the first page as well instead of the empty space. Meaning the First part of January 2006 is above and 2nd part below thus filling up the first page. February 2006 would start off from 2nd page.
    B) First part of January and February 2006 fills up the first page and their second part ends at 2nd page.
    FYI, horizontal landscape of report is NOT preferable. Even if it is used, the same scenario persist.
    Hope someone can help me out here on this. Or at least show me how you do it alternatively.
    Thank you.

    Thanks for the reply.
    FYI, not every month have all the columns filled up. Meaning some months may have lesser columns resulting in smaller tables. That's why some of the months, their tables will fit into one page.
    Changing width of does not solve my problem because my reports are made for A4 paper size. Printing such a report with its width altered causes some part of the table which overflows out from A4 paper size not to be printed.
    The location of the value I changed can be found here:
    Paper Layout > Main Section > Property Sheet: Width
    Please do help. Thanks.

  • Upload of Excel File with variable columns

    Hi All,
    I have a requirement where i have to upload xls file into SAP. This xls file has 10 rows fixed but the columns may vary from 20 to 400.
    For Ex : My xls file has 10 rows and 27 columns filled at present. But in future columns can vary to 400 or more than that also.
    So when i use ALSM_EXCEL_TO_INTERNAL_TABLE as
    CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
      EXPORTING
        FILENAME                      = p_fname
        I_BEGIN_COL                   = 1
        I_BEGIN_ROW                   = 1
        I_END_COL                     = 400
        I_END_ROW                     = 10
      TABLES
        INTERN                        = itab1
    EXCEPTIONS
       INCONSISTENT_PARAMETERS       = 1
       UPLOAD_OLE                    = 2
       OTHERS                        = 3
    It throws SY_SUBRC = 2.
    Please let me know how i can solve this issue.
    Thanks,

    Hi Ashwani,
                     I will send a sample code for ur problem.Please the check the function modules i have used and procedure i followed.My function modules can work for any no.of rows and columns ok..check it once..
        Along with my code i am sending a flat file.plz copy the code and execute it and debug it ok..i will attach flat file at the end of the program check it once ok...
    code:
    *& Report  YBDC_UPLOAD_MM01_XLS                                        *
    *&  DEVELOPER  : KIRAN KUMAR.G                                         *
    *&  PURPOSE    : MAKE CHANGES TO DOWNLOADED FILE AND UPLOAD THE FILE   *
    *&  CREATION DT: 3/12/2007                                             *
    *&  REQUEST    : ERPK900035                                            *
    REPORT  YBDC_UPLOAD_MM01_XLS.
    Tables
    TABLES : mara. "General Material Data
    Global BDCDATA Structure and MESSAGE Structure
    DATA: gt_bdcdata LIKE bdcdata    OCCURS 0 WITH HEADER LINE,
          gt_msgtab  LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.
    Global Variables
    DATA: gv_infile  TYPE string,
          gv_msg     TYPE string,
          gv_update  VALUE 'A'.
    Internal Table
    DATA:  BEGIN OF gt_data OCCURS 0,
             matnr(20), "Material Number
             mbrsh(20), "Account Group
             mtart(20), "Material Type
             meins(20), "Base Unit Of Measure
             maktx(20), "Material Description
           END OF gt_data.
    Selection-screen
    SELECTION-SCREEN : BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    PARAMETERS: p_file LIKE rlgrap-filename,
                p_mode.
    SELECTION-SCREEN : END OF BLOCK b1.
    Select the File
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      PERFORM fetch_file.
    START-OF-SELECTION.
    Fetch Data From XLS File
      PERFORM fetch_data.
    Fetch Data From XLS File
      PERFORM delete_headerinfo.
    Fetch Data From XLS File
      PERFORM place_data.
    *&      Form  fetch_file
          text
    -->  p1        text
    <--  p2        text
    FORM fetch_file .
      CALL FUNCTION 'F4_FILENAME'
       EXPORTING
         program_name        = syst-cprog
         dynpro_number       = syst-dynnr
      FIELD_NAME          = ' '
       IMPORTING
         file_name           = p_file.
      gv_infile = p_file.
    ENDFORM.                    " fetch_file
    *&      Form  fetch_data
          text
    -->  p1        text
    <--  p2        text
    FORM fetch_data .
      refresh : gt_data. "Clear Body Of the Internal Table
      clear   : gt_data. "Clear Header Line
      CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          filename                      = gv_infile
         filetype                      = 'ASC'
         has_field_separator           = 'X'
        HEADER_LENGTH                 = 0
        READ_BY_LINE                  = 'X'
        DAT_MODE                      = ' '
      IMPORTING
        FILELENGTH                    =
        HEADER                        =
        TABLES
          data_tab                      = gt_data
       EXCEPTIONS
         file_open_error               = 1
         file_read_error               = 2
         no_batch                      = 3
         gui_refuse_filetransfer       = 4
         invalid_type                  = 5
         no_authority                  = 6
         unknown_error                 = 7
         bad_data_format               = 8
         header_not_allowed            = 9
         separator_not_allowed         = 10
         header_too_long               = 11
         unknown_dp_error              = 12
         access_denied                 = 13
         dp_out_of_memory              = 14
         disk_full                     = 15
         dp_timeout                    = 16
         OTHERS                        = 17
      IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      endif.
    ENDFORM.                    " fetch_data
    *&      Form  place_data
          text
    -->  p1        text
    <--  p2        text
    FORM place_data .
      LOOP AT gt_data.
        PERFORM bdc_dynpro      USING 'SAPLMGMM' '0060'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'RMMG1-MATNR'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=AUSW'.
        PERFORM bdc_field       USING 'RMMG1-MATNR'
                                       gt_data-matnr.
        PERFORM bdc_dynpro      USING 'SAPLMGMM' '0070'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'MSICHTAUSW-DYTXT(01)'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=ENTR'.
        PERFORM bdc_field       USING 'MSICHTAUSW-KZSEL(01)'
                                      'X'.
        PERFORM bdc_dynpro      USING 'SAPLMGMM' '4004'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=BU'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'MAKT-MAKTX'.
        PERFORM bdc_field       USING 'MAKT-MAKTX'
                                       gt_data-maktx.
        PERFORM bdc_field       USING 'MARA-MTPOS_MARA'
                                      'NORM'.
        CALL TRANSACTION 'MM02' USING gt_bdcdata MODE p_mode
                                      UPDATE     gv_update
                                      MESSAGES   INTO gt_msgtab.
    *For Error Messages Handling.
        LOOP AT gt_msgtab.
          CALL FUNCTION 'FORMAT_MESSAGE'
            EXPORTING
              id        = sy-msgid
              lang      = sy-langu
              no        = sy-msgno
              v1        = sy-msgv1
              v2        = sy-msgv2
              v3        = sy-msgv3
              v4        = sy-msgv4
            IMPORTING
              msg       = gv_msg
            EXCEPTIONS
              not_found = 1
              OTHERS    = 2.
          IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          ENDIF.
          IF sy-tabix = 1.
            WRITE: / 'Process Log' COLOR 3.
          ENDIF.
          WRITE:/ gv_msg.
        ENDLOOP.
        REFRESH gt_msgtab.
        REFRESH gt_bdcdata.
      ENDLOOP.
    ENDFORM.                    " place_data
           Start new screen                                              *
    FORM bdc_dynpro USING program dynpro.
      CLEAR gt_bdcdata.
      gt_bdcdata-program  = program.
      gt_bdcdata-dynpro   = dynpro.
      gt_bdcdata-dynbegin = 'X'.
      APPEND gt_bdcdata.
    ENDFORM.                    "BDC_DYNPRO
           Insert field                                                  *
    FORM bdc_field USING fnam fval.
      CLEAR gt_bdcdata.
      gt_bdcdata-fnam = fnam.
      gt_bdcdata-fval = fval.
      APPEND gt_bdcdata.
    ENDFORM.                    "BDC_FIELD
    *&      Form  delete_headerinfo
          text
    -->  p1        text
    <--  p2        text
    FORM delete_headerinfo .
      DELETE gt_data INDEX 1.
    ENDFORM.                    " delete_headerinfo
                         FLAT FILE
    *MATERIAL NUMBER     INDUSTRY SECTOR     MATERIAL TYPE     BASE UNIT OF
    *MEASURE     MATERIAL DESCRIPTION
    *806     M     FERT     CM     IRON
    *807     M     HALB     KG     STEEL
    *808     M     HAWA     KG     IRON
    Reward points if helpful
      Kiran Kumar.G.A
          Have a nice day...

  • Creating a two columns text reflow

    Hi
    I'm trying to create a two column page which needs to get data that will fill the columns. Upon filling one column, the text will need to reflow to the next one (as much as a two column text frame in a layout program does).
    Is it possible in a Designer ES? (version 8.2.1.5161.1.566259) What is the best practice to do so?
    Thanks,
    Yossi Maoz

    Are you trying to make it an interactive form or are you going to merge data onto the template and make a print form? In either case I modified your sample. The root Page subform must be set to flowed. You do not need a field in the second content area. I resized the 1st field to make it easier. I changed the layout to allow the field to expand in the Y direction (on the layout tab). I cahnged the Form Properties/Preview to Interactive so that I coudl enter in data. Now when the field fills up scroll bars will appear and when you tab off of the field the field will be redrawn to its actual size. Enter in enough data to case a page overflow and you will see the second column fill up.
    Paul

  • How do I change the length of a column in the metadata?

    A very simple package, reads data from SQL Server and FTPs it to a destination. I have zero experience with SSIS.
    I had to add a new column (HEA_ID) to the input and output. The output record has a filler at the end (I hope you know what a filler is) and the new column has to go before the filler and the filler length reduced accordingly.
    Problem: there is no apparent way to place the new column anywhere but after the Filler. The filler in the metadata is the wrong length and there is no way that I can see to change the length.
    There is a yellow exclamation mark on the Flat File destination (where the filler is wrong length)
    I get these erros when I run the updated package.
    "The external metadata column is out of sync with the data source column. The column 'HEA_ID' needs to be updated in the external metadata column collection".
    "The column filler needs to be updated in the external metadata column collection"
    I have no idea how to fix these errors. Help needed.

    Hi AllTheGoodNamesWereTaken,
    According to your description, you add a new column HEA_ID and make some changes in filler column in the External Columns, so those two columns are out of sync with the data source column.
    Please note that columns are created based on the data source columns. So we couldn’t directly change them in the Flat File Destination Advanced Editor.
    To avoid this error message, just as Visakh said, just review mappings once again in the Flat File Destination. If we want to change the columns in the Flat File Destination, we need change the source columns.
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

Maybe you are looking for

  • Issue in Customizing the Logon Page and Replacing the Logon Panel Image

    I have facing problem in Customizing the Logon Page and Replacing the Logon Panel Image in Hyperion Workspace 11.1.2.1. I have tried multiple time. First Replacing the Logon Panel Image. I have following the steps given in admin guide of EPM workspac

  • Itunes wont install- stops at 7%

    I had itunes 9. But because itunes 10 wouldnt download, i had to follow some trouble shotting tips to try and fix it. this did not work and it suggested i remove itunes and try to re install. I removed itunes and cannot get itunes reinstalled, so now

  • Won't start up, won't eject CD.  I'm scared

    After reading related topics I'm assuming the worst. I was installing mouse software, that asked me to restart. That's the last thing my computer said to me. I get the fun blank grey screen that is mentioned in a few of the discussions. Can't start f

  • ORA-24344 with JAVA SOURCE

    Hello, I try to recompile java stored procedures. I do it like this : ALTER JAVA SOURCE MY_JAVA_SOURCE_NAME compile; And I get the following error : ORA-24344: success with compilation error But if i do this it works. CREATE OR REPLACE AND RESOLVE JA

  • Currecy conversion not working for an entity in HFM

    We have an entity in HFM under UK. For some reason the currency conversion is not working at parent level for that entity. It is showing right currency at GBP level butwhen we open at USD level it is not converting.   iverified the properties. theylo