Moving DATA from Internal Table to Ranges

Hi All,
I have an Internal table and a range variable both  contain one field. Internal table is having only one table. I am populating the table data from a select query. Now I want to transfer the data to a range field. The internal table is having thousands of records so I want to do this <b>without LOOP</b>. Can anybody suggest the efficient way to achieve this?
Any help would be appreciated.
Thanks so much.
Jignesh.

... the sump with too big range tables is a pure oracle sickness. AFAIK the size limit for the select statement has been extended from 16k to 32k, so this danger is smaller than it used to be.
Anyway you can use the FOR ALL ENTRIES IN clause and the ABAP-SQL-interface will handle the package size very efficienly. There was a time I believed that FOR ALL ENTRIES IN should not be used because it would slow down the data selection. I have learned that this is not true at all because of the package technique.
And now for everyone who wants to built ranges of any size (no limit for internal tables):
Call this like (just as an example for initializing select-options:
PERFORM append_range USING:
  'IEQ' sy-datum(4) '' CHANGING s_gjahr[],
  'IBT' 1 'ZZZZZZZZZZ' CHANGING s_prctr[],
  'IBT' 1 16           CHANGING s_monat[].
Note that SIGN and OPTION are combined into one parameter saving time and gaining overview (?).
I created the FORM once and used it so many times...
Actually you don't need so many "CHECK sy-subrc = 0" if you know how to use the form.
*&      Form  append_range
      append selection range
FORM append_range  USING    p_signopt     TYPE c
                            p_low         TYPE any
                            p_high        TYPE any
                   CHANGING pt_range      TYPE table.
  FIELD-SYMBOLS:
    <range>                               TYPE ANY,
    <sign>                                TYPE ANY,
    <option>                              TYPE ANY,
    <low>                                 TYPE ANY,
    <high>                                TYPE ANY.
  DATA:
    l_ref                                 TYPE REF TO data.
  CREATE DATA l_ref                       LIKE LINE OF pt_range.
  ASSIGN l_ref->* TO <range>.
  CHECK sy-subrc                          = 0.
  ASSIGN COMPONENT 'SIGN' OF STRUCTURE <range> TO <sign>.
  CHECK sy-subrc                          = 0.
  ASSIGN COMPONENT 'OPTION' OF STRUCTURE <range> TO <option>.
  CHECK sy-subrc                          = 0.
  ASSIGN COMPONENT 'LOW' OF STRUCTURE <range> TO <low>.
  CHECK sy-subrc                          = 0.
  ASSIGN COMPONENT 'HIGH' OF STRUCTURE <range> TO <high>.
  CHECK sy-subrc                          = 0.
  <sign>                                  = p_signopt(1).
  <option>                                = p_signopt+1(2).
  <low>                                   = p_low.
  <high>                                  = p_high.
  APPEND <range> TO pt_range.
ENDFORM.                    " append_range
Enjoy your ranges,
Clemens

Similar Messages

  • Moving data from internal table to Dynamic internal table

    Hello All,
      I am facing a problem i moving the data from a internal table data to Dyn. internal table.
    My code is as follows
    *******Declartion**************************************
    DATA: IT_FIELDCAT TYPE LVC_T_FCAT,
          IS_FIELDCAT LIKE LINE OF IT_FIELDCAT.
    DATA: IT_OUTTAB TYPE STANDARD TABLE OF ZVTEST.
    DATA: WA_OUTTAB TYPE  ZVTEST.
    DATA: LV_LINE LIKE SY-TABIX,
           COUNT TYPE I.
    FIELD-SYMBOLS: <NEW_TABLE> TYPE REF TO DATA.
    FIELD-SYMBOLS: <L_TABLE> TYPE ANY TABLE,
                   <L_LINE> TYPE ANY.
    FIELD-SYMBOLS: <L_FIELD> TYPE ANY.
    FIELD-SYMBOLS: <FS_DATA> TYPE REF TO DATA,
                   <FS_1> TYPE ANY TABLE,
                   <FS_2>,
                   <FS_3>.
    DATA: NEW_LINE TYPE REF TO DATA.
    DATA: LT_DATA TYPE REF TO DATA.
      ASSIGN LT_DATA TO <FS_DATA>.
    Create a new Table
      CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
      EXPORTING
            IT_FIELDCATALOG = IT_FIELDCAT
      IMPORTING
            EP_TABLE = <FS_DATA>
      EXCEPTIONS
          GENERATE_SUBPOOL_DIR_FULL = 1
          OTHERS                    = 2.
      IF SY-SUBRC = 0.
        ASSIGN <FS_DATA>->* TO <FS_1>.
        CREATE DATA NEW_LINE LIKE LINE OF <FS_1>.
    A field-symbol to access that work area
        ASSIGN NEW_LINE->*  TO <FS_2>.
      LOOP AT IT_OUTTAB INTO WA_OUTTAB.
        MOVE-CORRESPONDING WA_OUTTAB TO <FS_1>.
      ENDLoop.
    But when I am using MOVE-CORRESPONDING WA_OUTTAB TO <FS_1>.
    I am getting the error like
    "<FS_1>" is not a structure or internal table with header line.          
    Please check the code and tell where I am making the mistake.
    Regards,
    Vasanth

    Hello Rich ,
    My is code is as below..
    Declaration:
    DATA: IT_FIELDCAT TYPE LVC_T_FCAT,
          IS_FIELDCAT LIKE LINE OF IT_FIELDCAT.
    DATA: BEGIN OF IT_OUTTAB OCCURS 0,
            PSPID     LIKE PROJ-PSPID, "Projektdefinition
            POSID     LIKE PRPS-POSID, "PSP-Element
            POST1     LIKE PRPS-POST1, "Kurzbeschreibung
            STTXT_INT LIKE CNJ_STAT-STTXT_INT, "Systemstatus
            STTXT_EXT LIKE CNJ_STAT-STTXT_EXT, "Anwenderstatus
          END OF IT_OUTTAB.
    DATA: WA_OUTTAB LIKE IT_OUTTAB.
    DATA: LV_LINES LIKE SY-TABIX,
           COUNT TYPE I.
    FIELD-SYMBOLS:  type any.
    DATA: NEW_LINE TYPE REF TO DATA.
    DATA: LT_DATA TYPE REF TO DATA.
      G_R_DISP_VARIANT-REPORT = SY-REPID.
      G_R_DISP_VARIANT-VARIANT = PA_VAR.
      CALL FUNCTION 'REUSE_ALV_VARIANT_SELECT'
           EXPORTING
                I_DIALOG            = 'N'
                I_USER_SPECIFIC     = 'A'
                I_DEFAULT           = 'X'
                IT_DEFAULT_FIELDCAT = G_T_FIELDCAT
                I_LAYOUT            = G_R_LAYOUT
           IMPORTING
                ET_FIELDCAT         = G_T_FIELDCAT
               et_sort             = l_tab_sort
               et_filter           = l_tab_filter
               ES_LAYOUT           = G_R_LAYOUT
           CHANGING
                CS_VARIANT          = G_R_DISP_VARIANT
           EXCEPTIONS
                ERROR_MESSAGE       = 4
                OTHERS              = 4.
      LOOP AT G_T_FIELDCAT INTO G_R_FIELDCAT WHERE NO_OUT IS INITIAL
                                               AND TECH IS INITIAL.
        MOVE-CORRESPONDING G_R_FIELDCAT TO IS_FIELDCAT.
        IS_FIELDCAT-FIELDNAME = G_R_FIELDCAT-FIELDNAME.
        IS_FIELDCAT-INTTYPE   = G_R_FIELDCAT-INTTYPE.
        IS_FIELDCAT-OUTPUTLEN = G_R_FIELDCAT-OUTPUTLEN.
        IS_FIELDCAT-REF_FIELD = G_R_FIELDCAT-FIELDNAME.
        IS_FIELDCAT-REF_TABLE = G_R_FIELDCAT-REF_TABNAME.
        APPEND IS_FIELDCAT TO IT_FIELDCAT.
      ENDLOOP.
      DATA: WA_LISTE LIKE P_T_LISTE.
      CLEAR:IT_OUTTAB.
      REFRESH: IT_OUTTAB.
      LOOP AT P_T_LISTE INTO WA_LISTE.
        WA_OUTTAB-PSPID = WA_LISTE-PSPID .
        WA_OUTTAB-POSID = WA_LISTE-POSID.
        WA_OUTTAB-POST1 = WA_LISTE-POST1.
        WA_OUTTAB-STTXT_INT = WA_LISTE-STTXT_INT.
        WA_OUTTAB-STTXT_EXT = WA_LISTE-STTXT_EXT.
        APPEND WA_OUTTAB TO IT_OUTTAB.
      ENDLOOP.
    **dynamic table creation for data
      ASSIGN LT_DATA TO .
    Create a new Table
      CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
      EXPORTING
            IT_FIELDCATALOG = IT_FIELDCAT
      IMPORTING
            EP_TABLE = .
    A field-symbol to access that work area
        ASSIGN NEW_LINE->*  TO  = WA_OUTTAB-PSPID.
         ASSIGN COMPONENT 'POSID' OF STRUCTURE WA_OUTTAB TO <FS_3>.
          ASSIGN COMPONENT 'POSID' OF STRUCTURE  = WA_OUTTAB-POSID.
         ASSIGN COMPONENT 'POST1' OF STRUCTURE WA_OUTTAB TO <FS_3>.
          ASSIGN COMPONENT 'POST1' OF STRUCTURE .
         <FS_5> = <FS_3>.
           = WA_OUTTAB-POST1.
         ASSIGN COMPONENT 'STTXT_INT' OF STRUCTURE WA_OUTTAB TO <FS_3>.
          ASSIGN COMPONENT 'STTXT_INT' OF STRUCTURE  TO P_FILE.
        ENDLOOP.
      ELSE.
        MESSAGE E041(S9) WITH P_FILE.
      ENDIF.
      CLOSE DATASET P_FILE.
    Here my problem is ´´, I am not able to use move corresponding statement.
    So I am not getting the exact values to the fields of the dynamic table...
    Please check it and give me a solution,
    Regards,
    Vasanth

  • Moving Data from Normal table to History tables

    Hi All,
    I'm in the process of moving data from normal tables to
    History tables.
    It can be some sort of a procedure which should be a cron job running at night.
    My aim is to move data say 1.5 yrs or 2yrs old data to History tables.
    What aspects i need to check when moving data. And how can i write a procedure for this requirement.
    The schema is same in both the normal table and history table.
    It has to be a procedure based on particular field RCRE_DT.
    If the rcre_dt is above 2 yrs the data needs to be moved to HIS_<table>.
    I have to insert record in to HIS_table and simultaneously delete record from the normal table.
    This is in Production system and the tables are quite big.
    Pls do find enclosed the attached sample schema for Normal table and HIS_<table>.
    If i want to automate this script as a Cron job for similarly other History tables
    how am i to do it in a single procedure assuming the procedure for moving the data is the same procedure.
    Thanks for ur help in advance.
    SQL> DESC PXM_FLT;
    Name Null? Type
    RCRE_USER_ID NOT NULL VARCHAR2(15)
    RCRE_DT NOT NULL DATE
    LCHG_USER_ID VARCHAR2(15)
    LCHG_DT DATE
    AIRLINE_CD NOT NULL VARCHAR2(5)
    REF_ID NOT NULL VARCHAR2(12)
    BATCH_DT NOT NULL DATE
    CPY_NO NOT NULL NUMBER(2)
    ACCRUAL_STATUS NOT NULL VARCHAR2(1)
    FLT_DT NOT NULL DATE
    OPERATING_CARRIER_CD NOT NULL VARCHAR2(3)
    OPERATING_FLT_NO NOT NULL NUMBER(4)
    MKTING_CARRIER_CD VARCHAR2(3)
    MKTING_FLT_NO NUMBER(4)
    BOARD_PT NOT NULL VARCHAR2(5)
    OFF_PT NOT NULL VARCHAR2(5)
    AIR_CD_SHARE_IND VARCHAR2(1)
    UPLOAD_ERR_CD VARCHAR2(5)
    MID_PT1 VARCHAR2(5)
    MID_PT2 VARCHAR2(5)
    MID_PT3 VARCHAR2(5)
    MID_PT4 VARCHAR2(5)
    MID_PT5 VARCHAR2(5)
    PAX_TYPE VARCHAR2(3)
    PAY_PRINCIPLE VARCHAR2(1)
    SQL> DESC HIS_PXM_FLT;
    Name Null? Type
    RCRE_USER_ID NOT NULL VARCHAR2(15)
    RCRE_DT NOT NULL DATE
    LCHG_USER_ID VARCHAR2(15)
    LCHG_DT DATE
    AIRLINE_CD NOT NULL VARCHAR2(5)
    REF_ID NOT NULL VARCHAR2(12)
    BATCH_DT NOT NULL DATE
    CPY_NO NOT NULL NUMBER(2)
    ACCRUAL_STATUS NOT NULL VARCHAR2(1)
    FLT_DT NOT NULL DATE
    OPERATING_CARRIER_CD NOT NULL VARCHAR2(3)
    OPERATING_FLT_NO NOT NULL NUMBER(4)
    MKTING_CARRIER_CD VARCHAR2(3)
    MKTING_FLT_NO NUMBER(4)
    BOARD_PT NOT NULL VARCHAR2(5)
    OFF_PT NOT NULL VARCHAR2(5)
    AIR_CD_SHARE_IND VARCHAR2(1)
    UPLOAD_ERR_CD VARCHAR2(5)
    MID_PT1 VARCHAR2(5)
    MID_PT2 VARCHAR2(5)
    MID_PT3 VARCHAR2(5)
    MID_PT4 VARCHAR2(5)
    MID_PT5 VARCHAR2(5)
    PAX_TYPE VARCHAR2(3)
    PAY_PRINCIPLE VARCHAR2(1)

    Hi All,
    Thanks for ur valuable suggestion.But can u explain me bit more on this as i'm still confused about switching between partitoned tables and temporary table.Suppose if i have a table called PXM_FLT and an correspoding similar table named HIS_PXM_FLT.How can i do the partitioning shd i do the partitioning on the normal table or HIS_PXM_FLT.i do have a date field for me to partition based on range.Can u pls explain why shd i again create a temp.table.What's the purpose.Now the application is designed in such a way that old records have to be moved to HIS_PXM_FLT.can u pls highlight more on this.Your suggestions are greatly appreciated.As i'm relatively new to this partitioning technique i'm bit confused on how it works.But i came to understand Partitioning is a better operation than the normal insert or delte as it is more data intensive as millions of record need to be moved.Thanks for feedback and ur precious time.

  • How to send data from internal table to the shared folder in ABAP

    Hi experts,
             My requirement is to transfer data from a file to shared folder. i just did reading data from a file to a internal table. Now i want to send this internal table data into a shared folder which is  "
    xxx\y\z....".
    I do not have any idea on how to send data from internal table to the shared folder path.
    can anybody please help me out how to do this?
    Thanks & Regards
    Sireesha.

    Where that folder is located, its on presentation server i.e. desktop or application server.
    If its on presentation server, use FM GUI_UPLOAD.
    If its on application server, then use DATASET functions. Have a look at below link.
    [File Handling in ABAP|http://help.sap.com/saphelp_nw04/helpdata/en/fc/eb3ca6358411d1829f0000e829fbfe/frameset.htm]
    I hope it helps.
    Thanks,
    Vibha
    Please mark all the useful answers

  • Gui_download for transferring the data from internal table to excel sheet.

    hi all,
    i am using gui_download for transferring the data from internal table to excel sheet.
    I have a internal table with 3 columns col1,col2,col3 and I am getting the file at the specified path,but my problem is that,in the excel sheet(path specified) all the 3 columns values are printed in one column.Please help me.
    Thanks in advance.

    Hi Venkata,
    plz use FM 'SAP_CONVERT_TO_XLS_FORMAT' :
      call function 'SAP_CONVERT_TO_XLS_FORMAT'
        exporting
    *   I_FIELD_SEPERATOR          =
    *   I_LINE_HEADER              =
          i_filename                 = p_file
    *   I_APPL_KEEP                = ' '
        tables
          i_tab_sap_data             = t_mbew
    * CHANGING
    *   I_TAB_CONVERTED_DATA       =
    * EXCEPTIONS
    *   CONVERSION_FAILED          = 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.
    Hope this helps,
    Erwan

  • Downloading data from internal table to xls file leading zeros are not disp

    Hai abap gurus,
    when i am downloading data from internal table to excle file. some field values in a column are with leading zeros and some others dont have leading zeros.but in the output it is showing without leading zeros. then how to get with exact values.
    Ex:
    <b>ECC Code.</b>
    045234
      88567
    098456 
    but output is giving like this:
    45234
    88567
    98456
    how to get the actual values.....
    plz help me in this matter.

    Dear Kiran,
    Those field in the internal table having Leading Zeroes, make those fields' datatype as character.
    Then use the function module to download the content of the internal table to the excel file.
    Regards,
    Abir
    Don't forget to Reward Points  *

  • Download data from internal table to flat file.

    I need to download the data from Internal table to Flat file. can any one suggest how to do it? i suppose WS_Download OR GUI_DOWNLOAD.
    but if it is please guide me how to use this.
    is thre any other F.M. please provide the information.
    Thanks in advance

    Hi,
    Try this,
    * File download, uses older techniques but achieves a perfectly
    * acceptable solution which also allows the user to append data to
    * an existing file.
      PARAMETERS: p_file like rlgrap-filename.
    * Internal table to store export data  
      DATA: begin of it_excelfile occurs 0,
       row(500) type c,
       end of it_excelfile.
      DATA: rc TYPE sy-ucomm,
            ld_answer TYPE c.
      CALL FUNCTION 'WS_QUERY'
           EXPORTING
                query    = 'FE'  "File Exist?
                filename = p_file
           IMPORTING
                return   = rc.
      IF rc NE 0.                       "If File alread exists
        CALL FUNCTION 'POPUP_TO_CONFIRM'
          EXPORTING
    *          TITLEBAR              = ' '
    *          DIAGNOSE_OBJECT       = ' '
               text_question         = 'File Already exists!!'
               text_button_1         = 'Replace'
    *          ICON_BUTTON_1         = ' '
               text_button_2         = 'New name'
    *          ICON_BUTTON_2         = ' '
    *          DEFAULT_BUTTON        = '1'
    *          DISPLAY_CANCEL_BUTTON = 'X'
    *          USERDEFINED_F1_HELP   = ' '
    *          START_COLUMN          = 25
    *          START_ROW             = 6
    *          POPUP_TYPE            =
          IMPORTING
               answer                = ld_answer
    *     TABLES
    *         PARAMETER              =
          EXCEPTIONS
              text_not_found         = 1
              OTHERS                 = 2.
    * Option 1: Overwrite
        IF ld_answer EQ '1'.
          CALL FUNCTION 'GUI_DOWNLOAD'
            EXPORTING
    *            BIN_FILESIZE            =
                 filename                = p_file        "File Name
                 filetype                = 'ASC'
    *       IMPORTING
    *            FILELENGTH              =
            TABLES
                data_tab                = it_excelfile   "Data table
            EXCEPTIONS
                file_write_error        = 1
                no_batch                = 2
                gui_refuse_filetransfer = 3
                invalid_type            = 4
                OTHERS                  = 5.
          IF sy-subrc <> 0.
            MESSAGE i003(zp) WITH
                     'There was an error during Excel file creation'(200).
            exit. "Causes short dump if removed and excel document was open 
          ENDIF.
    * Option 2: New name.
        ELSEIF ld_answer EQ '2'.
          CALL FUNCTION 'DOWNLOAD'
            EXPORTING
                 filename            = p_file          "File name
                 filetype            = 'ASC'           "File type
    *             col_select          = 'X'            "COL_SELECT
    *             col_selectmask      = 'XXXXXXXXXXXXXXXXXXXXXXXXXX'
    *                                                   "COL_SELECTMASK
                 filetype_no_show    = 'X'     "Show file type selection?
    *       IMPORTING
    *             act_filename        = filename_dat
            TABLES
                 data_tab            = it_excelfile    "Data table
    *            fieldnames          =
            EXCEPTIONS
                 file_open_error     = 01
                 file_write_error    = 02
                 invalid_filesize    = 03
                 invalid_table_width = 04
                 invalid_type        = 05
                 no_batch            = 06
                 unknown_error       = 07.
        ENDIF.
      ELSE.                               "File does not alread exist.
        CALL FUNCTION 'GUI_DOWNLOAD'
          EXPORTING
    *          BIN_FILESIZE            =
               filename                = p_file         "File name
               filetype                = 'ASC'          "File type
    *     IMPORTING
    *          FILELENGTH              =
          TABLES
               data_tab                = it_excelfile   "Data table
          EXCEPTIONS
               file_write_error        = 1
               no_batch                = 2
               gui_refuse_filetransfer = 3
               invalid_type            = 4
               OTHERS                  = 5.
        IF sy-subrc <> 0.
          MESSAGE i003(zp) WITH
                   'There was an error during Excel file creation'(200).
          exit. "Causes short dump if removed and excel document was open 
        ENDIF.
      ENDIF.
    Regards,
    Raghav

  • Convert data from internal table to XML file.

    Hi All,
    I am selecting data from database into one internal table.
    Now I want to convert data from internal table to xml file format and save in to my desktop. Please suggest me how I can achieve my requirement.
    Kindly reply me ASAP.

    Use this FM. SAP_CONVERT_TO_XML_FORMAT
    Check this link too -
    Re: Data Export in XML format
    XML files from ABAP programs

  • Reading Data from Internal Table

    Hi,
    Can anyone please tell me how to read data from Internal Tables in the Event Handler without using the Select statement OnInitialization?
    Thanks,
    Gaurav

    Hi Siddhartha,
    Can you tell me the problem in my code. I tried to work on the way you suggested. Though I have not finished with the coding, I just wanted to know whether I am going in the direction or not.
    I have declared the the structure in Type Defination as
    TYPES: BEGIN OF TEST_STRUC,
             BEGDA TYPE BEGDA,
             ENDDA TYPE ENDDA,
           END OF TEST_STRUC.
    TYPES: TEST_TAB_TYPE TYPE TABLE OF TEST_STRUC.
    In the Event Handler, I have added the following code on OnInputProcessing:
    event handler for checking and processing user input and
    for defining navigation
    DATA TEST_INFO LIKE LINE OF TEST_TAB.
    DATA: MYTAB6 TYPE TABLE OF PA0006,
          MYTAB6_WA LIKE LINE OF MYTAB6.
    REFRESH TEST_TAB.
    CLEAR TEST_INFO.
    MYTAB6_WA-BEGDA = REQUEST->GET_FORM_FIELD( STARTDATE ).
    MYTAB6_WA-ENDDA = REQUEST->GET_FORM_FIELD( ENDDATE ).
    IF EVENT->NAME EQ 'button'
       AND EVENT->SERVER_EVENT EQ 'click'.
      LOOP AT MYTAB6 INTO MYTAB6_WA.
        TEST_INFO-BEGDA = MYTAB6_WA-BEGDA.
        TEST_INFO-ENDDA = MYTAB6_WA-ENDDA.
      ENDLOOP.
      APPEND TEST_INFO TO TEST_TAB.
      CLEAR TEST_INFO.
      NAVIGATION->SET_PARAMETER( NAME = 'test_tab'
      VALUE = 'begda' ).
      NAVIGATION->SET_PARAMETER( NAME = 'test_tab'
      VALUE = 'endda' ).
      NAVIGATION->GOTO_PAGE( 'MyBSP2.htm').
    ENDIF.
    P.S. MyBSP2.htm is my next page.
    Thanks,
    Gaurav

  • Upload data from Internal table to text file with  '~' separator

    can anyone help me to download data from internal table to flat file with  ''  separator. GUI_DOWNLOAD is not working in my case ....like for ''  separator

    Here it is
    REPORT  zkb_test1.
    TYPE-POOLS: truxs.
    DATA: i_scarr TYPE TABLE OF scarr,
    i_conv_data TYPE truxs_t_text_data.
    SELECT * FROM scarr INTO TABLE i_scarr.
    CALL FUNCTION 'SAP_CONVERT_TO_TEX_FORMAT'
      EXPORTING
        i_field_seperator    = '~'
      TABLES
        i_tab_sap_data       = i_scarr
      CHANGING
        i_tab_converted_data = i_conv_data
      EXCEPTIONS
        conversion_failed    = 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.
    CALL METHOD cl_gui_frontend_services=>gui_download
      EXPORTING
        filename                = 'C:\Test1.txt'
        filetype                = 'ASC'
      CHANGING
        data_tab                = i_conv_data
      EXCEPTIONS
        file_write_error        = 1
        no_batch                = 2
        gui_refuse_filetransfer = 3
        invalid_type            = 4
        no_authority            = 5
        unknown_error           = 6
        header_not_allowed      = 7
        separator_not_allowed   = 8
        filesize_not_allowed    = 9
        header_too_long         = 10
        dp_error_create         = 11
        dp_error_send           = 12
        dp_error_write          = 13
        unknown_dp_error        = 14
        access_denied           = 15
        dp_out_of_memory        = 16
        disk_full               = 17
        dp_timeout              = 18
        file_not_found          = 19
        dataprovider_exception  = 20
        control_flush_error     = 21
        not_supported_by_gui    = 22
        error_no_gui            = 23
        OTHERS                  = 24.
    IF sy-subrc <> 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                 WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    Regards
    Kathirvel

  • Hash lookup or Binary search to fetch data from internal table

    Hi All,
    I want to know Which is faster, Hash lookup or Binary search to fetch data from internal tables?
    Thanks,
    Mahesh
    Moderator Message: Duplicate post
    Edited by: kishan P on Oct 14, 2010 4:22 PM

    type mod* .the the sign would change to pattern.try and see.i checked.reward if works.

  • Mapping data from internal table to SAPSCRIPT Box.

    Hi Gurus,
    I have to create a sapscript where in I should get data from standard tables and display the data in box (table format) in sapscript. I know how to get a field (perform in zprogram) into sapscript form zprogram. I dont know how I can get data (internal table) from my zprogram into sapscript and display in a box.
    Your help is highly appreciated.

    Hi David,
        consider the below example say if your zprogram having the internal table table loop and you want to print the contents line by line or in a box,
    LOOP AT tj_1irg23d.
    header line
            CALL FUNCTION 'WRITE_FORM'
              EXPORTING
                element = 'ITEM_HEADER1'
              EXCEPTIONS
                OTHERS  = 1.
    endloop.
    then in your sap script main window or where ever you want to print just straight away give your internal table fileds as follows(just for example)
    I2           ,,&J_1IRG23D-ZEILE(Z)&,,&J_1IRG23D-MATNR&,,&J_1IRG23D-CHAPID&,,
    =           &J_1IRG23D-MENGE(Z)&,,&J_1IRG23D-MEINS&,,0.0,,
    then it will bring the values of your internal table in the form.

  • Pass Date from Internal table to Date field of Deadline(in expression tab)

    Hello,
    I need to set deadline in workflow according to dates in Internal table. So please guide how to achieve this.

    Thanks Rick for taking interest in my issue.
    Business scenario:-
    --> when PO is created delivery date is given in PO.
    --> Now all materials in PO can be delivered on same date or on different dates.
    -->Their can be same delivery date or different delivery dates.
    --> So for example:- For a PO their are 4 materials-
            MATERIAL NAME     DELIVERY DATE
              Material1                   10.11.2011
              Material2                   20.11.2011
              Material3                   20.11.2011
              Material4                   10.11.2011
    Now Material2 and Material3 will be delivered on 20.11.2011  and Material1 and Material4 will be delivered on 10.11.2011.
    Now a reminder mail should go to Vendor of that PO before 2 days of delivery date mean on 08.11.2011 and 18.11.2011.
    So to store 2 dates I require internal table.
    Now I am able to trigger reminder mail for 2 dates by using multiline element in miscellaneous tab of activity.
    But as I discussed in previous post that if I add multiline element in Date field of Requested start deadline then it gives error(plz check prev. post to see exact error). So I tried to used internal table(container in workflow) in deadline which is filled from a task in activity, but it is also not working means mail is triggered as soon as worflow is executed.
    So the main problem is deadline is not created based on dates in internal table and other all the things are working perfectly.
    As I am very new to workflow area, I might be going wrong somewhere.
    So please guide how to set deadline for multiple dates(according to my scenario).
    Thanks in advance.
    Regards,
    Mihir

  • Moving data into internal table without header line

    Hello experts.
    i have two internal tables . itab1 without headerline and itab2 with headerline. itab1 has 10 fields and itab2 has 2 fields.
    BEGIN OF itab,
            lifnr LIKE lfa1-lifnr,
            ktokk LIKE lfa1-ktokk,
            name1 LIKE lfa1-name1,
            sortl LIKE lfa1-sortl,
            pstlz LIKE lfa1-pstlz,
            ort01 LIKE lfa1-ort01,
            land1 LIKE lfa1-land1,
           j_1ipanno LIKE j_1imovend,
    end of itab.
    DATA: itab1 TYPE STANDARD TABLE OF itab.
    data: begin of itab2 occurs 0,                             
          lifnr like j_1imovend-lifnr,
          j_1ipanno like j_1imovend-j_1ipanno,
      end of itab2.
    now i want to move the data from itab2-j_1ipanno into itab1-j_1ipanno. so pls tell me how to do that. lifnr in both the tables are the same.
    thanks for all the replies.

    Hi Shiva,
    In with out header line,
    You declare header line & body separately like
    data: IT_MARA type standard table of MARA,
    WA_MARA like line of IT_MARA.
    Advantages:
    1. Clear differentiation of header line over body
    2. It is must in the ABAP Objects to have separate header line & body
    3. Use ful in Nested Internal tables
    Disadvantages:
    1. Long syntax
    for example: Loop at IT_MARA into WA_MARA.
    In with header line
    Data ITAB like MARA occurs 0 with header line.
    Advantages:
    1. Simple to use & declare over without header line.
    Also,
    With Header line:
    codedata : itab like <dbtable> occurs 0 with header line.
    Data: begin of itab occurs 0,
    f1 type f1,
    f2 type f2,
    end of itab.[/code]
    Without Header line.
    codeTypes: begin of ty_tab,
    f1 type f1,
    f2 type f2,
    end of ty_tab.
    Data: itab type table of ty_tab, " Internal Table
    wa type ty_tab. " Work Area[/code]
    at any point of time use internal table without header line,it will be good performance as well OO ABAP will allow only internal table without header line.
    Just use one simple example :
    create one simple program with header line,use get run time field.
    create one simple program without header line,use get run time field.
    see the results ,here time will be micro seconds,so take 1000 records to internal table and do calculate the time.
    While adding or retrieving records to / from internal table we have to keep the record temporarily.
    The area where this record is kept is called as work area for the internal table. The area must have the same structure as that of internal table. An internal table consists of a body and an optional header line.
    Header line is a implicit work area for the internal table. It depends on how the internal table is declared that the itab will have the header line or not.
    e.g.
    data: begin of itab occurs 10,
    ab type c,
    cd type i,
    end of itab. " this table will have the header line.
    data: wa_itab like itab. " explicit work area for itab
    data: itab1 like itab occurs 10. " table is without header line.
    The header line is a field string with the same structure as a row of the body, but it can only hold a single row.
    It is a buffer used to hold each record before it is added or each record as it is retrieved from the internal table. It is the default work area for the internal table.
    kindly reward if found helpful.
    cheers,
    Hema.

  • [ECC6] Inserting data from internal table (deep structure) into db table

    Hi experts,
    I have a problem when inserting data from IT using deep structure into a database table. Please help:
    I have one database table with 2 columns ZTest (col1, col2). Col1 is key.
    In my program I have a deep structure t_screen using table type lvc_t_scol:
    In 4.6c systems, the INSERT statement works well but it does not work in ECC6 systems.
    DATA: BEGIN OF t_screen OCCURS 0,
            rec_count(3) TYPE n,
            col1 LIKE ZTest-col1,
            col2 LIKE ZTest-col2.
    DATA: ct TYPE lvc_t_scol.
    DATA: END   OF t_screen.
    t_screen-col1 = 'test1'.
    t_screen-col2 = 'test1'.
    APPEND t_screen.
    t_screen-col1 = 'test2'.
    t_screen-col2 = 'test2'.
    APPEND t_screen.
    INSERT ZTest FROM TABLE t_screen ACCEPTING DUPLICATE KEYS.
    Currently I have an idea using a temporary internal table with the same structure as ZTest. Use MOVE-CORRESPONDING statement to move data from t_screen table to temporary table before inserting --> It worked. But do you have any ideas without using temporary table?

    Hi
    There are a large number of stataments couldn't be supported in unicode system and so it doesn't allow to do it in ECC 6.
    U need to delete the deep structure from your defination:
    DATA: BEGIN OF t_screen OCCURS 0,
            rec_count(3) TYPE n,
            col1 LIKE ZTest-col1,
            col2 LIKE ZTest-col2.
    DATA: ct TYPE lvc_t_scol. "<-------- Error is here
    DATA: END   OF t_screen.
    So u need to use a structure like this to update your table:
    DATA: BEGIN OF T_ZTEST OCCURS 0,
            rec_count(3) TYPE n,
            col1 LIKE ZTest-col1,
            col2 LIKE ZTest-col2.
    DATA: END   OFT_ZTEST.
    Max

Maybe you are looking for