Height of a line in a dynamic table

Hi experts,
How could i set the line height of 1 row in a dynamic table
rewards if successful

sorry for that.
i'm currently making a smartform that have a dynamic table inside... in the table i need to set every row of the table in different heights.. i can do that using a template but in a dynamic table i cannot find the option in setting the height

Similar Messages

  • Append a line to a dynamic table in a dynamic structure

    Hello,
    i've created a dynamic structure <ls_itab> TYPE ANY.
    This structure contains a deep structure name 'CELLSTYLES' of type lvc_t_styl.
    Now i want to add a line to the deep structure CELLSTYLES.
    I'll tried something like this:
    data: <ld_fld>    TYPE ANY,
            <ls_itab>  TYPE ANY.
    ASSIGN COMPONENT 'CELLSTYLES' OF STRUCTURE <ls_itab> TO <ld_fld>.
    But i can't append line to <ld_fld> because it's no internaltable.
    Please help.
    Best regards,
    TomSd

    Hi Thomas,
    Put this code at declaration.
    FIELD-SYMBOLS: <L_TABLE> TYPE STANDARD TABLE.
    Here Append will not work; after the code you have written use.
    INSERT  <ls_itab>  INTO TABLE <L_TABLE>.
    Hope it will solve ur problem.
    Regards
    Krishnendu

  • Dynamic table height for Printed PO Report

    I have created a RTF template for Printed Purchase Order report using Microsoft Word. The template has Header and Line information. I have two questions.
    1) Lines are printed in Table format. I also print header level notes in Line Section.
    If the header notes are blank, I want the line information (line #, Item Number, Description, quantity etc) to be moved to line1. How do I acheive this?
    I want to dynamically adjust the Table height based on the information printing in the line section. The table has two rows. One for Header notes and one for Line information.
    2) Header notes field is placed in Description column of Line Table (MS word). Currently Header notes are printing within the Description column as wrapped text. I want to print Header notes in one line. How do I expand this field to print in one line?
    Thanks,

    Hi,
    Even I faced the same problem, however I have found a workaround to come out of this problem.
    My PO design template has 16 lines, I am counting the number of lines with data and subtracting the same from 16 and inserting that many empty rows to increase the table height.
    I am pasting the code so that it will be useful for others.
    Paste this code before LINES_ROW for-each loop. This will give the number of lines present.
    <xsl:variable name="_XDOFOTOTAL" select="count(.//LINES_ROW)"/>
    Paste this code at the end of the for-each loop.
    <!-- 16 is the maximum number of rows which fits in my page.-->
    <xsl:variable name="_cnt" select="16-$_XDOFOTOTAL"/>
    <xsl:call-template name="countdown">
    <xsl:with-param name="countdown" select="16-$_XDOFOTOTAL"/>
    </xsl:call-template>
    This function you can put it at the end.
    <xsl:template name="countdown">
    <!-- Instead of for loop. -->
    <xsl:param name="countdown"/>
         <xsl:if test="$countdown">
              <fo:table-row keep-together="always">
              <fo:table-cell/>
              <fo:table-cell>
              <fo:block height="13.2pt"/>
              </fo:table-cell>
              <fo:table-cell>
              <fo:block height="13.2pt"/>
              </fo:table-cell>
              <fo:table-cell xdofo:use-attribute-sets="c_33 c_35">
              <fo:block height="13.2pt"/>
              </fo:table-cell>
              <fo:table-cell xdofo:use-attribute-sets="c_33 c_35">
              <fo:block height="13.2pt"/>
              </fo:table-cell>
              <fo:table-cell>
              <fo:block height="13.2pt"/>
              </fo:table-cell>
              <fo:table-cell>
              <fo:block height="13.2pt"/>
              </fo:table-cell>
              <fo:table-cell>
              <fo:block height="13.2pt"/>
              </fo:table-cell>
              <fo:table-cell/>
              </fo:table-row>
              <!-- Call the template again -->
              <!-- The below code is like x=x-1 -->
              <xsl:call-template name="countdown">
                   <xsl:with-param name="countdown" select="$countdown - 1"/>
              </xsl:call-template>
         </xsl:if>
    </xsl:template>
    If some one is having a better solution, please share.
    Regards,
    SURESH KUMAR M R

  • How To Increase The height of a line dynamically

    Dear all,
    In a table I am using expand to fit height for the text fields in the table.It's working fine.But the height of the partition lines of the table which divide the columns are not increasing.
    I have taken the rows of the table as different subform.I have written the following script on the exit event of the each subform to increase the height of the lines but it's not working.
    var fieldHeight = xfa.layout.h(xfa.form.form1.page1.subformname, "in");
    Line1.h = fieldHeight;
    Line2.h = fieldHeight;
    How can I do it?If any body can please help me.It's very urgent.
    Thanks a lot in advance
    Regards
    Rakesh

    I'm after pretty much the same thing too.
    I have a table of text fields which are all set to vertically expand to fit. If you enter data into 1 and make it expand vertically, none of the other fields in that row expand with it. This results in table rows looking uneven.
    I looked into using the 'h' property, but it doesn't seem to work. If you set up a field that displays the h value of another field it never budges from '0in', regardless of the field's height.
    I'd also be grateful for any ideas.
    Cheers,
    Craig

  • Dynamic table on specific height of JSP page

    I have large data.
    I have to show this data in dynamic table on jsp page.
    the JSP page is logically divided in different pages (as this page is used for printing on specified size of page)
    I can only display atmost 12 single rows on one page
    but some times text of one column of row become so large that rows expands vertically and occupies space of 2 or 3 rows (thats why now i have to display 8 or 9 rows on first page and then remaining on next )
    becoz of this i cant implement this check (only show 12 rows on a page).
    so what can i do to show specified height of table on one page and remaining move to next page.

    This is an impossible requirement. Page, font and element height is not only browser dependend, but also depending on the settings of the user. Some users will override the font size to be smaller or bigger using a browser option, resizing your table accordingly. Mac fonts might have different sizes if the fonts are antialiased, etc.
    You'd have more success if you could output the table as PDF, there are far more table spacing options available, it's portable and you have 100% control over the output. Check out the iText API for example. The only problem with this is that the PDF will be opened by a PDF viewer which you cannot control, so you cannot make it automatically print.

  • Help Required  !!! -- Dynamic table on specific height of JSP page

    I have large data.
    I have to show this data in dynamic table on jsp page.
    the JSP page is logically divided in different pages (as this page is used for printing on specified size of page)
    I can only display atmost 12 single rows on one page
    but some times text of one column of row become so large that rows expands vertically and occupies space of 2 or 3 rows (thats why now i have to display 8 or 9 rows on first page and then remaining on next )
    becoz of this i cant implement this check (only show 12 rows on a page).
    so what can i do to show specified height of table on one page and remaining move to next page.

    This is an impossible requirement. Page, font and element height is not only browser dependend, but also depending on the settings of the user. Some users will override the font size to be smaller or bigger using a browser option, resizing your table accordingly. Mac fonts might have different sizes if the fonts are antialiased, etc.
    You'd have more success if you could output the table as PDF, there are far more table spacing options available, it's portable and you have 100% control over the output. Check out the iText API for example. The only problem with this is that the PDF will be opened by a PDF viewer which you cannot control, so you cannot make it automatically print.

  • Have to display a dynamic table on specific height of JSP page

    I have large data.
    I have to show this data in dynamic table on jsp page.
    the JSP page is logically divided in different pages (as this page is used for printing on specified size of page)
    I can only display atmost 12 single rows on one page
    but some times text of one column of row become so large that rows expands vertically and occupies space of 2 or 3 rows (thats why now i have to display 8 or 9 rows on first page and then remaining on next )
    becoz of this i cant implement this check (only show 12 rows on a page).
    so what can i do to show specified height of table on one page and remaining move to next page.

    hi,
    its not so easy ...i had this problem once befor 2 months in the work
    i think u have to implement a Controller.java class that controll the iterating between pages ...
    u should have an pageIndex and just play with this index (increment and decrement)

  • Dynamic table with header locked and vertical scrollbar problem.

    Hi,
    I have created a dynamic table with header locked.The sample code is as below.
    <div style="width:910px ; overflow-x : scroll">
    <h:panelgrid ...for header populated by binding to pagecode/>
    <div style="width:910px ; height:200px ; overflow-y : scroll">
    <h:panelgrid ...for data populated by binding to pagecode/>
    </div>
    </div>
    The above piece of code serves the purpose.
    There is an overflow in both x as well as y directions and scrollbars appear.But the y scrollbar can be seen only when the x-scrollbar is moved to the extreme right.
    Does anyone have a solution so that both the scrollbars can be seen as soon as the table loads without the need to move x to the extreme right to see y?

    wa_layout-grid_title = text-039.
        wa_layout-sel_mode = 'A'.
        APPEND wa_layout TO gs_layout.
        wa_layout-grid_title = text-039.
        wa_layout-sel_mode = 'A'.
        APPEND wa_layout TO gs_layout.
        wa_layout-grid_title = text-039.
        wa_layout-sel_mode = 'A'.
        APPEND wa_layout TO gs_layout.
      CALL METHOD gr_alvgrid1->set_table_for_first_display
          EXPORTING
            is_layout       = gs_layout
          CHANGING
            it_fieldcatalog = it_fieldcatalog1[]
            it_outtab       = <l_table>.
    i am using like but its not accepting more than one line header in is_layout, is there any possibility to take like this.
    Regards,
    Mallikarjuna.

  • Dynamically table for sapscript

    hi expects,
    how could i create dynamical table for form in script.

    hi,
      to pass the table to script means passing a field sting to script by using function module write_form.
    example program,
    TABLES: SPFLI,SFLIGHT.
    DATA: BEGIN OF FS_SFLIGHT,
            CARRID TYPE SPFLI-CARRID,
            CONNID TYPE SPFLI-CONNID,
            FLDATE TYPE SFLIGHT-FLDATE,
            CITYFROM TYPE SPFLI-CITYFROM,
            CITYTO TYPE SPFLI-CITYTO,
          END OF FS_SFLIGHT.
    TABLES SCARR.
    DATA T_SCARR LIKE STANDARD TABLE OF SCARR.
    DATA: W_LINES TYPE I,
          W_P TYPE I,
         W_TEMP  TYPE I  .
    DATA T_FLIGHT LIKE STANDARD TABLE OF FS_SFLIGHT.
    SELECT SPFLI~CARRID
           SPFLI~CONNID
           SFLIGHT~FLDATE
           SPFLI~CITYFROM
           SPFLI~CITYTO
      INTO CORRESPONDING FIELDS OF TABLE T_FLIGHT
      FROM SPFLI AS SPFLI JOIN SFLIGHT AS SFLIGHT
      ON   SPFLICARRID = SFLIGHTCARRID AND
           SPFLICONNID = SFLIGHTCONNID
    CALL FUNCTION 'OPEN_FORM'
    EXPORTING
      APPLICATION                       = 'TX'
      ARCHIVE_INDEX                     =
      ARCHIVE_PARAMS                    =
      DEVICE                            = 'PRINTER'
      DIALOG                            = 'X'
       FORM                              = 'YH648_060104'
      LANGUAGE                          = SY-LANGU
      OPTIONS                           =
      MAIL_SENDER                       =
      MAIL_RECIPIENT                    =
      MAIL_APPL_OBJECT                  =
      RAW_DATA_INTERFACE                = '*'
      SPONUMIV                          =
    IMPORTING
      LANGUAGE                          =
      NEW_ARCHIVE_PARAMS                =
      RESULT                            =
    EXCEPTIONS
       CANCELED                          = 1
       DEVICE                            = 2
       FORM                              = 3
       OPTIONS                           = 4
       UNCLOSED                          = 5
       MAIL_OPTIONS                      = 6
       ARCHIVE_ERROR                     = 7
       INVALID_FAX_NUMBER                = 8
       MORE_PARAMS_NEEDED_IN_BATCH       = 9
       SPOOL_ERROR                       = 10
       CODEPAGE                          = 11
       OTHERS                            = 12
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    DESCRIBE TABLE T_FLIGHT LINES W_LINES.
    LOOP AT T_FLIGHT INTO FS_SFLIGHT.
      ADD 1 TO W_TEMP.
    IF W_LINES NE W_TEMP.
      CALL FUNCTION 'WRITE_FORM'
       EXPORTING
         ELEMENT                        = 'BOXES'
        FUNCTION                       = 'SET'
         TYPE                           = 'TOP'
        WINDOW                         = 'MAIN'
      IMPORTING
        PENDING_LINES                  =
      EXCEPTIONS
        ELEMENT                        = 1
        FUNCTION                       = 2
        TYPE                           = 3
        UNOPENED                       = 4
        UNSTARTED                      = 5
        WINDOW                         = 6
        BAD_PAGEFORMAT_FOR_PRINT       = 7
        SPOOL_ERROR                    = 8
        CODEPAGE                       = 9
        OTHERS                         = 10
      IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ELSE.
    IF W_TEMP NE W_LINES.
    AT NEW  CONNID.
        CALL FUNCTION 'WRITE_FORM'
           EXPORTING
             ELEMENT                        = 'DATA'
            FUNCTION                       = 'SET'
             TYPE                           = 'BODY'
            WINDOW                         = 'MAIN'
          IMPORTING
            PENDING_LINES                  =
           EXCEPTIONS
             ELEMENT                        = 1
             FUNCTION                       = 2
             TYPE                           = 3
             UNOPENED                       = 4
             UNSTARTED                      = 5
             WINDOW                         = 6
             BAD_PAGEFORMAT_FOR_PRINT       = 7
             SPOOL_ERROR                    = 8
             CODEPAGE                       = 9
             OTHERS                         = 10
          IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          ENDIF.
    ENDIF.
    ENDAT.
      CALL FUNCTION 'WRITE_FORM'
           EXPORTING
             ELEMENT                        = 'DATA1'
            FUNCTION                       = 'SET'
             TYPE                           = 'BODY'
            WINDOW                         = 'MAIN'
          IMPORTING
            PENDING_LINES                  =
           EXCEPTIONS
             ELEMENT                        = 1
             FUNCTION                       = 2
             TYPE                           = 3
             UNOPENED                       = 4
             UNSTARTED                      = 5
             WINDOW                         = 6
             BAD_PAGEFORMAT_FOR_PRINT       = 7
             SPOOL_ERROR                    = 8
             CODEPAGE                       = 9
             OTHERS                         = 10
          IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          ENDIF.
    ELSE.
      SELECT CARRID CARRNAME
      FROM SCARR
      INTO TABLE T_SCARR.
      LOOP AT T_SCARR INTO SCARR.
      CALL FUNCTION 'WRITE_FORM'
           EXPORTING
             ELEMENT                        = 'PROTECT1'
            FUNCTION                       = 'SET'
            TYPE                           = 'BODY'
             WINDOW                         = 'WINDOW2'
          IMPORTING
            PENDING_LINES                  =
           EXCEPTIONS
             ELEMENT                        = 1
             FUNCTION                       = 2
             TYPE                           = 3
             UNOPENED                       = 4
             UNSTARTED                      = 5
             WINDOW                         = 6
             BAD_PAGEFORMAT_FOR_PRINT       = 7
             SPOOL_ERROR                    = 8
             CODEPAGE                       = 9
             OTHERS                         = 10
          IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          ENDIF.
         ENDLOOP.
    ENDIF.
    ENDLOOP.
    IF W_LINES NE W_TEMP.
      CALL FUNCTION 'WRITE_FORM'
       EXPORTING
         ELEMENT                        = 'LAST'
        FUNCTION                       = 'SET'
        TYPE                           = 'TOP'
        WINDOW                         = 'MAIN'
      IMPORTING
        PENDING_LINES                  =
      EXCEPTIONS
        ELEMENT                        = 1
        FUNCTION                       = 2
        TYPE                           = 3
        UNOPENED                       = 4
        UNSTARTED                      = 5
        WINDOW                         = 6
        BAD_PAGEFORMAT_FOR_PRINT       = 7
        SPOOL_ERROR                    = 8
        CODEPAGE                       = 9
        OTHERS                         = 10
      IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    CALL FUNCTION 'CLOSE_FORM'
    IMPORTING
      RESULT                         =
      RDI_RESULT                     =
    TABLES
      OTFDATA                        =
    EXCEPTIONS
       UNOPENED                       = 1
       BAD_PAGEFORMAT_FOR_PRINT       = 2
       SEND_ERROR                     = 3
       SPOOL_ERROR                    = 4
       CODEPAGE                       = 5
       OTHERS                         = 6
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    to draw boxes on script the syntax will be
    Boxes, Lines, Shading: BOX, POSITION, SIZE
    Use the BOX, POSITION, and SIZE commands for drawing boxes, lines, and shading to print particular windows within a form or passages of text within a window in a frame or with shading.
    The SAP printer drivers that are based on page-oriented printers (the HP LaserJet driver HPL2, the Postscript driver POST, the Kyocera Prescribe driver PRES) employ these commands when printing. Line printers and page-oriented printers not supported in the standard ignore these commands. You can view the resulting printer output in the SAPscript print preview.
    Syntax:
    /: BOX [XPOS] [YPOS] [WIDTH] [HEIGHT] [FRAME] [INTENSITY]
    /: POSITION [XORIGIN] [YORIGIN] [WINDOW] [PAGE]
    /: SIZE [WIDTH] [HEIGHT] [WINDOW] [PAGE]
    BOX Command
    Syntax
    /: BOX [XPOS] [YPOS] [WIDTH] [HEIGHT] [FRAME] [INTENSITY]
    Effect: draws a box of the specified size at the specified position.
    Parameters: For each of XPOS, YPOS, WIDTH, HEIGHT, and FRAME, you must specify both a measurement and a unit of measurement. Specify the INTENSITY parameter as a percentage between 0 and 100.
    XPOS, YPOS
    Upper left corner of the box, relative to the values of the POSITION command.
    Default: Values specified in the POSITION command.
    The following calculation is performed internally to determine the absolute output position of a box on the page:
    X(abs) = XORIGIN + XPOS
    Y(abs) = YORIGIN + YPOS
    WIDTH
    Width of the box. Default: WIDTH value of the SIZE command.
    HEIGHT
    Height of the box. Default: HEIGHT value of the SIZE command.
    FRAME
    Thickness of frame.
    Default: 0 (no frame).
    INTENSITY
    Grayscale of box contents as %.
    Default: 100 (full black)
    Measurements: You must specify decimal numbers as literal values (like ABAP numeric constants) by enclosing them in inverted commas. Use the period as the decimal point character. See also the examples listed below.
    Units of measurement: The following units of measurement may be used:
    TW (twip)
    PT (point)
    IN (inch)
    MM (millimeter)
    CM (centimeter)
    LN (line)
    CH (character).
    The following conversion factors apply:
    1 TW = 1/20 PT
    1 PT = 1/72 IN
    1 IN = 2.54 CM
    1 CM = 10 MM
    1 CH = height of a character relative to the CPI specification in the form header
    1 LN = height of a line relative to the LPI specification in the form header
    /: BOX FRAME 10 TW
    Draws a frame around the current window with a frame thickness of 10 TW (= 0.5 PT).
    /: BOX INTENSITY 10
    Fills the window background with shading having a gray scale of 10 %.
    /: BOX HEIGHT 0 TW FRAME 10 TW
    Draws a horizontal line across the complete top edge of the window.
    /: BOX WIDTH 0 TW FRAME 10 TW
    Draws a vertical line along the complete height of the left hand edge of the window.
    /: BOX WIDTH '17.5' CM HEIGHT 1 CM FRAME 10 TW INTENSITY 15
    /: BOX WIDTH '17.5' CM HEIGHT '13.5' CM FRAME 10 TW
    /: BOX XPOS '10.0' CM WIDTH 0 TW HEIGHT '13.5' CM FRAME 10 TW
    /: BOX XPOS '13.5' CM WIDTH 0 TW HEIGHT '13.5' CM FRAME 10 TW
    Draws two rectangles and two lines to construct a table of three columns with a highlighted heading section.
    POSITION Command
    Syntax
    /: POSITION [XORIGIN] [YORIGIN] [WINDOW] [PAGE]
    Effect: Sets the origin for the coordinate system used by the XPOS and YPOS parameters of the BOX command. When a window is first started, the POSITION value is set to refer to the upper left corner of the window (default setting).
    Parameters: If a parameter value does not have a leading sign, then its value is interpreted as an absolute value, in other words, as a value that specifies an offset from the upper left corner of the output page. If a parameter value is specified with a leading sign, then the new value of the parameter is calculated relative to the old value. If one of the parameter specifications is missing, then no change is made to this parameter.
    XORIGIN, YORIGIN
    Origin of the coordinate system.
    WINDOW
    Sets the values for the left and upper edges to match those of the current window (default setting).
    PAGE
    Sets the values for the left and upper edges to match those of the current output page (XORIGIN = 0 cm, YORIGIN = 0 cm).
    /: POSITION WINDOW
    Sets the origin for the coordinate system to the upper left corner of the window.
    /: POSITION XORIGIN 2 CM YORIGIN '2.5 CM'
    Sets the origin for the coordinate system to a point 2 cm from the left edge and 2.5 cm from the upper edge of the output page.
    /: POSITION XORIGIN '-1.5' CM YORIGIN -1 CM
    Shifts the origin for the coordinates 1.5 cm to the left and 1 cm up.
    SIZE Command
    Syntax
    /: SIZE [WIDTH] [HEIGHT] [WINDOW] [PAGE]
    Effect: Sets the values of the WIDTH and HEIGHT parameters used in the BOX command. When a window is first started, the SIZE value is set to the same values as the window itself (default setting).
    Parameters: If one of the parameter specifications is missing, then no change is made to the current value of this parameter. If a parameter value does not have a leading sign, then its value is interpreted as an absolute value. If a parameter value is specified with a leading sign, then the new value of the parameter is calculated relative to the old value.
    WIDTH, HEIGHT
    Dimensions of the rectangle or line.
    WINDOW
    Sets the values for the width and height to the values of the current window (default setting).
    PAGE
    Sets the values for the width and height to the values of the current output page.
    /: SIZE WINDOW
    Sets WIDTH and HEIGHT to the current window dimensions.
    /: SIZE WIDTH '3.5' CM HEIGHT '7.6' CM
    Sets WIDTH to 3.5 cm and HEIGHT to 7.6 cm.
    /: POSITION WINDOW
    /: POSITION XORIGIN -20 TW YORIGIN -20 TW
    /: SIZE WIDTH +40 TW HEIGHT +40 TW
    /: BOX FRAME 10 TW
    A frame is added to the current window. The edges of the frame extend beyond the edges of the window itself, so as to avoid obscuring the leading and trailing text characters.

  • Error while insert data using execute immediate in dynamic table in oracle

    Error while insert data using execute immediate in dynamic table created in oracle 11g .
    first the dynamic nested table (op_sample) was created using the executed immediate...
    object is
    CREATE OR REPLACE TYPE ASI.sub_mark AS OBJECT (
    mark1 number,
    mark2 number
    t_sub_mark is a class of type sub_mark
    CREATE OR REPLACE TYPE ASI.t_sub_mark is table of sub_mark;
    create table sam1(id number,name varchar2(30));
    nested table is created below:
    begin
    EXECUTE IMMEDIATE ' create table '||op_sample||'
    (id number,name varchar2(30),subject_obj t_sub_mark) nested table subject_obj store as nest_tab return as value';
    end;
    now data from sam1 table and object (subject_obj) are inserted into the dynamic table
    declare
    subject_obj t_sub_mark;
    begin
    subject_obj:= t_sub_mark();
    EXECUTE IMMEDIATE 'insert into op_sample (select id,name,subject_obj from sam1) ';
    end;
    and got the below error:
    ORA-00904: "SUBJECT_OBJ": invalid identifier
    ORA-06512: at line 7
    then when we tried to insert the data into the dynam_table with the subject_marks object as null,we received the following error..
    execute immediate 'insert into '||dynam_table ||'
    (SELECT

    887684 wrote:
    ORA-00904: "SUBJECT_OBJ": invalid identifier
    ORA-06512: at line 7The problem is that your variable subject_obj is not in scope inside the dynamic SQL you are building. The SQL engine does not know your PL/SQL variable, so it tries to find a column named SUBJECT_OBJ in your SAM1 table.
    If you need to use dynamic SQL for this, then you must bind the variable. Something like this:
    EXECUTE IMMEDIATE 'insert into op_sample (select id,name,:bind_subject_obj from sam1) ' USING subject_obj;Alternatively you might figure out to use static SQL rather than dynamic SQL (if possible for your project.) In static SQL the PL/SQL engine binds the variables for you automatically.

  • In "LOOP ... WHERE ..." the line type of the table must be statically defin

    Hi All,
            I have written the code, for greater than (GJAHR) 2007 and restricted company codes ( table name = ZGLCCODE).
         Here I have written the following the code which is giving an error
    In "LOOP ... WHERE ..." the line type of the table must be statically defin
    ZGLCCODE Contains only restricted company codes.
    Code is as follows
    TABLES : ZGLCCODE. 
    DATA : LT_DATAPACKAGE TYPE TABLE OF DTFIGL_4.
    DATA : LS_PACKAGE TYPE DTFIGL_4.
    TYPES: BEGIN OF LS_TZGLCCODE,
           ZBUKRS type BUKRS,
            END OF LS_TZGLCCODE.
    DATA : LT_ITZGLCCODE TYPE LS_TZGLCCODE OCCURS 0 WITH HEADER LINE.
    DATA : LI_NUM TYPE I,
           LC_ZGJAHR TYPE BSEG-GJAHR VALUE '2007'.
    SELECT ZBUKRS INTO TABLE LT_ITZGLCCODE FROM ZGLCCODE.
    Note:  "C_T_DATA" dynamic structure = "DTFIGL_4" structure
    *-  Remove from the DataSource Company Code -
    LOOP AT C_T_DATA INTO LS_PACKAGE WHERE GJAHR GE '2007'.
    READ TABLE LT_ITZGLCCODE WITH KEY ZBUKRS = LS_PACKAGE-BUKRS.
    IF SY-SUBRC <> 0.
       APPEND LS_PACKAGE TO LT_DATAPACKAGE.
    ENDIF.
      CLEAR LS_PACKAGE.
    ENDLOOP.
    IF LT_DATAPACKAGE[] IS NOT INITIAL.
    DESCRIBE TABLE LT_DATAPACKAGE LINES LI_NUM.
    IF LI_NUM GT 0.
       REFRESH C_T_DATA.
       APPEND LINES OF LT_DATAPACKAGE TO C_T_DATA.
       REFRESH LT_DATAPACKAGE.
       FREE LT_DATAPACKAGE.
    endif.
    ELSE.
       REFRESH C_T_DATA.
    ENDIF.
    Please give me your valuable suggestions.
    Thanks
    Ganesh Reddy.

    Hi Ganesh,
    whatever you do, you can try like this:
    1 - any code posted should be wrapped in \
    then try something like this:
    field-symbols:
      <tabrec> type any,
      <field>   type any.
    sort ITZGLCCODE by bukrs.
    LOOP AT C_T_DATA ASSIGNING <tabrec>.
      ASSIGN component 'GJAHR' of structure <tabrec> to <field>.
      check <field> <= 2007.
      ASSIGN component 'BUKRS' of structure <tabrec> to <field>.
      READ TABLE LT_ITZGLCCODE WITH KEY ZBUKRS = <field>
        BINARY SEARCH TRANSPORTING NO FIELDS. "speed up the volume.
      IF SY-SUBRC 0.
        MOVE-CORRESPONDING <tabrec> to  LS_PACKAGE.   
        APPEND LS_PACKAGE TO LT_DATAPACKAGE.
      ENDIF.
    ENDLOOP.
    Regards,
    Clemens

  • HR Logical database PNP. OO to fill table dynamic table  from PNP  ?

    Hi all
    I want to get some stuff from the HR logical database into a dynamic table
    Here's a real simple example that writes info out to a normal list.
    (report is based on using Logical DB PNP)
    tables: pernr.
    INFOTYPES: 0001,                     "Organizational Assignment
               0002.                     "Personal Data
    SELECT-OPTIONS: language FOR p0002-sprsl.
    INITIALIZATION.
      pnptimed = 'D'.
    GET pernr.
      PROVIDE * FROM p0002 BETWEEN pn-begda AND pn-endda.
        CHECK language.
        WRITE: / p0002-pernr,
                 sy-vline,
                 p0001-ename,
                 sy-vline,
                 p0002-sprsl,
                 sy-vline,
                 p0002-gbdat.
      ENDPROVIDE.
    endform.
    Now what I want to do is replace the write stuff by appending the entries into a dynamic table which I will display as an ALV Grid.
    so I add my structure in the data declarations
    types:  begin of s_elements,
       pernr  type  p0002-pernr,
       ename  type p0001-ename,
       sprsl  type p0002-sprsl,
       gbdat   type p0002-gbdat.
      drop_down_handle  type int4.
    types: end of    s_elements.
    include zz_jimbo_incl.
    build the dynamic table
    create data dref type s_elements.
      assign dref->* to <fs>.
      i_routine = 'POPULATE_DYNAMIC_ITAB'.*
    i_names   = 'NAME_COLUMNS'.
      i_gridtitle = 'HR  TEST'.
    invoker = sy-repid.
    i_zebra = 'X '.
    i_edit = '  '.
    call function 'ZZ_CALL_SCREEN'
         exporting
              invoker     = invoker
              my_line     = <fs>
              i_gridtitle = i_gridtitle
              i_edit      = i_edit
              i_zebra     = i_zebra
              i_names     = i_names
              i_routine   = i_routine
         importing
              z_object    = z_object
              dy_table    = dy_table.
    Now to populate the dynamic Itab the routine below is entered.
    form populate_dynamic_itab changing dy_table.
      assign dy_table->* to <dyn_table>.
      create data dy_line like line of <dyn_table>.
      assign dy_line->* to <dyn_wa>.
    However I can't use GET / PROVIDE / ENDPROVIDE in a Form.
    Anyway round this ---seems HR has an aversion to OO.
    Cheers
    jimbo

    Hi,
    well, GET_PERNR is a so called event_statement. It has nothing to do with ABAP 00.
    Normally it will be like this:
    START-OF-SELECTION.
    GET_PERNR.
    PROVIDE ....
    END-OF-SELECTION.
    -> and here the CALL SCREEN NNNN for ALV-Display.
    Provide-statements you can use in forms of course, and as many times you want during GET and END-OF-SELECTION.
    But as I understood : you just want to save the write-statements?
    I always develop a DDIC-Structure, declarate the data objects in the programm, read the data via Provide into the infotypes, and then make a move-corresponding to my structure. and display it.
    Normally no problem.
    kind regards
    maik

  • Use the value of a field as column-name of a dynamic table

    Hi All
    I have the following situation:
    a) Internal table TB_ORDER_CONDITION ==>  data: tb_order_condition type standard table of bapicond.
         sample of the internal table TB_ORDER_CONDITION:
    CONT_TYPE # CONDVALUE# CONDBASEVAL  
        ZR00         #    38.800000#  1.000000
        ZR30         #    2.800000  #  0.000000
        SKTO        #    0.000000  #  57.8500000
    b) dynamic-table  <L_TABLE_II> has the following columns:
    ZR00#ZR30#ICM3#IPS2  SKTO  
    c) I would like to move as below:
    ZR00#ZR30# ICM3#IPS2# SKTO 
    38.800000#2.800000#57.8500000
    Observation:
    I used this symbol just to show the separationfrom one column from another.
    Items a) and b) are OK. The problem is that I don't know how to make this move as showed in item c).
    Could you please advise?
    Thanks in advance.
    Gaia

    Hello,
    Check the code snippet below:
    FIELD-SYMBOLS: <wa_order_creation>  TYPE bapicond,
                   <l_table_ii>         TYPE STANDARD TABLE,
                   <l_wa_ii>            TYPE ANY,
                   <l_fieldval>         TYPE ANY.
    SORT tb_order_condition BY itm_number. "Sort by Item Number
    LOOP AT tb_order_condition ASSIGNING <wa_order_creation>.
    * Add a record to the dynamic table for each item
      AT NEW itm_number.
        APPEND INITIAL LINE TO <l_table_ii> ASSIGNING <l_wa_ii>.
      ENDAT.
      ASSIGN COMPONENT <wa_order_creation>-cond_type
      OF STRUCTURE <l_wa_ii> TO <l_fieldval>.
      IF sy-subrc = 0.
        <l_fieldval> = <wa_order_creation>-cond_value.
      ENDIF.
    ENDLOOP.
    BR,
    Suhas

  • How to draw dynamic table in SAP Script !

    Hi,
        <i>I like to draw a table in the main window, the table height should depends on number of rows displayed on it.
    Could any one please help on this.
    Thank you,
    Senthil</i>

    HI senthil
    you have to use the BOX command in the SAPSCRIPT using which you can draw the table in script.
    in the starting of the MAIN WINDOW draw a horizontal line and then display your vairables
    in end again draw a horizontal line to close the table.
    the height of the vertical line will the number of records in the internal table.
    the vertical line can be drwan uisng
    BOX XPOS 10 YPOS 20 width 0 CH hieght <rowcount> CH.
    regards
    kishore
    regards
    kishore

  • Columns in a dynamic table

    Hi guys!
    I'm working with field symbols and dynamic tables and i have this code:
    REPORT  zpractica03.
    PARAMETERS: p_tabla TYPE dd02l-tabname.
    DATA: tabla_name TYPE dd02l-tabname,
          tabla_generica  TYPE REF TO data,
          linea_generica  TYPE REF TO data.
    FIELD-SYMBOLS: <fs_tabla> TYPE ANY TABLE,
                   <fs_linea> TYPE ANY,
                   <fs_campo> TYPE ANY.
    tabla_name = p_tabla.
    CREATE DATA tabla_generica TYPE STANDARD TABLE OF (tabla_name).
    ASSIGN tabla_generica->* TO <fs_tabla>.
    CREATE DATA linea_generica TYPE (tabla_name).
    ASSIGN linea_generica->* TO <fs_linea>.
    SELECT *
           INTO CORRESPONDING FIELDS OF TABLE <fs_tabla>
           FROM (tabla_name).
    DATA: lv_indice_campo TYPE sy-tabix,
          lv_valor_campo.
    LOOP AT <fs_tabla> INTO <fs_linea>.
      CLEAR lv_indice_campo.
      lv_indice_campo = sy-tabix.
         ASSIGN COMPONENT lv_indice_campo OF STRUCTURE <fs_linea> TO <fs_campo>.
        IF sy-subrc EQ 0.
          MOVE <fs_campo> TO lv_valor_campo.
        ENDIF.
    ENDLOOP.
    In the last step, I know that I need something like this in order to get one line and save the info in a workarea and then create an ALV :
    Do n Times
         ASSIGN COMPONENT lv_indice_campo OF STRUCTURE <fs_linea> TO <fs_campo>.
        IF sy-subrc EQ 0.
          MOVE <fs_campo> TO lv_valor_campo.
        ENDIF.
    Enddo.
    What I don't know how to do is how can I get the number 'N' ? Can somebody explain me how can I get the number of the columns in a table that can be different any time that i run the program?
    Thank you very much.
    Gaby

    Hello,
    You can use the FM: DDIF_FIELDINFO_GET & pass the table name tabla_name.
    It will return the table DFIES_TAB which will contain the column details. So before this:
    Do n Times
    lv_indice_campo = lv_indice_campo + 1.
    ASSIGN COMPONENT lv_indice_campo OF STRUCTURE <fs_linea> TO <fs_campo>.
    IF sy-subrc EQ 0.
    MOVE <fs_campo> TO lv_valor_campo.
    ENDIF.
    Enddo.
    Add this code:
    DATA: LT_DFIES        TYPE STANDARD TABLE OF DFIES.
        CALL FUNCTION 'DDIF_FIELDINFO_GET'
          EXPORTING
            TABNAME        = tabla_name
          TABLES
            DFIES_TAB      = LT_DFIES
          EXCEPTIONS
            NOT_FOUND      = 1
            INTERNAL_ERROR = 2
            OTHERS         = 3.
        IF SY-SUBRC = 0.
          N = LINES ( LT_DFIES ).
        ENDIF.
    Else you can easily avoid this stuff by EXITing the DO...ENDDO loop.
    Do.
    lv_indice_campo = lv_indice_campo + 1.
    ASSIGN COMPONENT lv_indice_campo OF STRUCTURE <fs_linea> TO <fs_campo>.
    IF sy-subrc EQ 0.
      MOVE <fs_campo> TO lv_valor_campo.
    ELSE.
      EXIT.
    ENDIF.
    Enddo.
    Hope i am clear.
    BR,
    Suhas

Maybe you are looking for