SAP script linking with internal table

Hi all,
This is my program to print invoices
REPORT  z_g_test.
TABLES: sbook.
DATA sflights_wa TYPE sflights.
DATA: itcpo LIKE itcpo.
DATA itcpp LIKE itcpp.
DATA sflights_itab TYPE TABLE OF sflights WITH HEADER LINE.
DATA sbook_itab TYPE TABLE OF sbook WITH HEADER LINE.
*SELECTION-SCREEN BEGIN OF BLOCK 1 WITH FRAME TITLE text-001.
*SELECT-OPTIONS: s_carrid FOR sflights-carrid,
*                s_fldate FOR sflights-fldate.
*SELECTION-SCREEN END OF BLOCK 1.
SELECTION-SCREEN BEGIN OF BLOCK 2 WITH FRAME TITLE text-002.
SELECTION-SCREEN COMMENT 1(79) text-004.
SELECT-OPTIONS: s_custid FOR sbook-customid,
                s_bookid FOR sbook-bookid.
SELECTION-SCREEN END OF BLOCK 2.
INITIALIZATION.
  s_custid-low = 00001721.
  APPEND s_custid.
START-OF-SELECTION.
  SELECT * FROM sbook INTO sbook_itab WHERE customid IN s_custid.
*    APPEND sbook TO sbook_itab.
    APPEND sbook_itab.
  ENDSELECT.
  CALL FUNCTION 'OPEN_FORM'
   EXPORTING
*   APPLICATION                       = 'TX'
*   ARCHIVE_INDEX                     =
*   ARCHIVE_PARAMS                    =
     device                            = 'PRINTER'
     dialog                            = 'X'
     form                              = 'ZG_SCRIPT'
     language                          = sy-langu
     OPTIONS                           = itcpo
*   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              e         = 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.
  CALL FUNCTION 'WRITE_FORM'
   EXPORTING
     element                        = 'MY_ELEMENT'
     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.
  CALL FUNCTION 'CLOSE_FORM'
   IMPORTING
     RESULT                         = itcpp
*   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.
My question is! i am not passing the internal table any where. Now i am trying to print the values which is already existed in internal table,so iam not getting the out put. Now what shall i do in order to get output.
Regards,
Lisa

Hi all,
the modified code is like this.
REPORT  z_g_test.
TABLES: sbook.
DATA sflights_wa TYPE sflights.
DATA: itcpo LIKE itcpo.
DATA itcpp LIKE itcpp.
DATA sflights_itab TYPE TABLE OF sflights WITH HEADER LINE.
DATA sbook_itab TYPE TABLE OF sbook WITH HEADER LINE.
*SELECTION-SCREEN BEGIN OF BLOCK 1 WITH FRAME TITLE text-001.
*SELECT-OPTIONS: s_carrid FOR sflights-carrid,
*                s_fldate FOR sflights-fldate.
*SELECTION-SCREEN END OF BLOCK 1.
SELECTION-SCREEN BEGIN OF BLOCK 2 WITH FRAME TITLE text-002.
SELECTION-SCREEN COMMENT 1(79) text-004.
SELECT-OPTIONS: s_custid FOR sbook-customid,
                s_bookid FOR sbook-bookid.
SELECTION-SCREEN END OF BLOCK 2.
INITIALIZATION.
  s_custid-low = 00001721.
  APPEND s_custid.
START-OF-SELECTION.
  SELECT * FROM sbook INTO sbook_itab WHERE customid IN s_custid.
*    APPEND sbook TO sbook_itab.
    APPEND sbook_itab.
  ENDSELECT.
  CALL FUNCTION 'OPEN_FORM'
   EXPORTING
*   APPLICATION                       = 'TX'
*   ARCHIVE_INDEX                     =
*   ARCHIVE_PARAMS                    =
     device                            = 'PRINTER'
     dialog                            = 'X'
     form                              = 'ZG_SCRIPT'
     language                          = sy-langu
     OPTIONS                           = itcpo
*   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              e         = 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.
  LOOP AT sbook_itab.
    CALL FUNCTION 'WRITE_FORM'
     EXPORTING
       element                        = 'MY_ELEMENT'
       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
  ENDLOOP.
  CALL FUNCTION 'CLOSE_FORM'
   IMPORTING
     RESULT                         = itcpp
*   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.
even though i am not getting the output.
The question is with out passing the internal table how we will get the output from it?.

Similar Messages

  • ABAP transformation to XML for sap chart engine with internal table

    Hello.
    I am new to the SAP chart engine, XML and transformations so please be patient with me from an ABAP-program I am trying to call a Z-transformation and attach an internal table with two columns. In the ST program I want to loop through the table and for each row insert the two values from the table in the XML.
    In an ABAP-program I have an internal table containing datacoordinates for a scattered chart.
    The table looks like this:
    DATA: BEGIN OF coordinate,
                x_value TYPE f,
                y_value TYPE f,
               END OF coordinate,
               polygon_data LIKE STANDARD TABLE OF coordinate with header line.
    As a prototype I just add a few coordinates like this:
    polygon_data-x_value = '700'.
        polygon_data-y_value = '8'.
        APPEND polygon_data.
        polygon_data-x_value = '1400'.
        polygon_data-y_value = '3'.
        APPEND polygon_data.
        polygon_data-x_value = '1400'.
        polygon_data-y_value = '10'.
        APPEND polygon_data.
        polygon_data-x_value = '700'.
        polygon_data-y_value = '10'.
        APPEND polygon_data.
        polygon_data-x_value = '700'.
        polygon_data-y_value = '3'.
        APPEND polygon_data.
    I have created a Z-transformation and I call it like this (I also have a separate transformation for all the customizing generated with SAP chart designer but that one works fine):
    DATA: data_xml TYPE xstring.
    CALL TRANSFORMATION ztest_ce_tables2xml
          SOURCE polygon_data = polygon_data
          RESULT XML data_xml.
    Since I am trying to create a scattered chart I need to insert an X and Y value for each coordinate.In the manual SAP Chart engine - XML format description it looks like this:
    <ChartData>
    <Series>
    <Point>
    <Value type="x">1</Value>
    <Value type="y">1</Value>
    </Point>
    <Point>
    <Value type="x">2</Value>
    <Value type="y">2</Value>
    </Point>
    My ST-program that I cannot get to work looks like below. How can I loop through my internal table and get the X and thy Y value for each row in my internal table?
    BR Tommy (Sweden)
    <?sap.transform simple?>
    <tt:transform xmlns:tt="http://www.sap.com/transformation-templates">
    <tt:root name="POLYGON_DATA"/>
    <tt:template>
    <ChartData>
    <Series>
    <tt:loop ref=".POLYGON_DATA">
       <Point>
         <Value type="x"><tt:copy ref=".POLYGON_DATA.X_VALUE"/></Value>
         <Value type="y"><tt:copy ref=".POLYGON_DATA.Y_VALUE"/></Value>
       </Point>
       </tt:loop>
    </Series>
    </ChartData>
    </tt:template>
    </tt:transform>

    Hello again.
    I found the solution and would like to share it with the forum, maybe it could help someone.
    My first error was in the call transformation statement:
    CALL TRANSFORMATION ztest_ce_tables2xml
          SOURCE polygon_data = polygon_data [] <----
    Do not forget these
          RESULT XML data_xml.
    I also had an error in the ST program, it should look like this:
    <?sap.transform simple?>
    <tt:transform xmlns:tt="http://www.sap.com/transformation-templates">
    <tt:root name="POLYGON_DATA"/>
    <tt:template>
    <ChartData>
    <Series>
    <tt:loop ref=".POLYGON_DATA">
       <Point>
         <Value type="x"><tt:value ref="$ref.X_VALUE"/></Value>
         <Value type="y"><tt:value ref="$ref.Y_VALUE"/></Value>
       </Point>
       </tt:loop>
    </Series>
    </ChartData>
    </tt:template>
    </tt:transform>

  • Sap script '' how to create table frame in sap script"""

    i have some problem in sap script''  how to create table frame in sap script"""

    Hi,
    you can use 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 both a measurement and a unit of measurement must be specified. The INTENSITY parameter should be specified as a percentage between 0 and 100.
    1. 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
    2. WIDTH: Width of the box. Default: WIDTH value of the SIZE command.
    3. HEIGHT: Height of the box. Default: HEIGHT value of the SIZE command.
    4. FRAME: Thickness of frame.
    Default: 0 (no frame).
    5. INTENSITY: Grayscale of box contents as % .
    Default: 100 (full black)
    Measurements: Decimal numbers must be specified as literal values (like ABAP numeric constants) by being enclosed in inverted commas. The period should be used 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 layout set header
    • 1 LN = height of a line relative to the LPI specification in the layout set 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 shadowing 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.
    check the fallowing link also
    http://help.sap.com/saphelp_40b/helpdata/en/d1/803293454211d189710000e8322d00/content.htm
    Mark the points if u find it useful...
    Regards,
    Omkar.

  • How to fetch the SAP Standard Prog. built internal table into my_z_prog.?

    Hi Experts,
    Pls. let me know that,
    How to fetch the SAP Standard Prog. built internal table into my_z_prog.?
    For more explannation, pls. see my other thread with name of yestrday,
    SUBMIT RFGLBALANCE WITH selection criteria, then How to get resulted itab?
    thanq

    Hi
    Suppose RFGLBALANCE is your standard program and you have an internal table named I_RFGLBALANCE.
    And lets say your Z program name is Z_SRINIVAS.
    First find out the type of the internal table you want in your Z-program in the standard program. And declare an internal table of similar type in your Z-program.
    I hope you can do this much.
    Later wherever you are putting the below mentioned code.
    SUBMIT RFGLBALANCE WITH selection criteria
    Write the code which i have written.Obviously modify it to suit your requirement.
    Please show what is not working fine so that even anyone else can help you with the problem you are facing.
    Regards,
    Mayank

  • I am getting problem with internal table & work area declaration.

    I am working with 'makt' table ..with the table makt i need to work with styles attributes ..so i declared like this
    TYPES : BEGIN OF ty_makt,
             matnr TYPE makt-matnr,
             spras TYPE makt-spras,
             maktx TYPE makt-maktx,
             maktg TYPE makt-maktg,
             celltab TYPE lvc_t_styl,
           END OF ty_makt.
    DATA : i_makt TYPE TABLE OF ty_makt.
    DATA : wa_makt TYPE ty_makt .
        But end of program i need to update dbtable "makt"...i am getting problem with internal table & work area declaration.
    i think makt table fields mapping and internal table/work area mapping is not correct. so please help me to get out from this.

    Hi Nagasankar,
    TYPES : BEGIN OF TY_MATNR,
                  MATNR TYPE MAKT-MATNR,
                  SPRAS TYPE MAKT-SPRAS,
                  MAKTX TYPE MAKT-MAKTX,
                  MAKTX TYPE MAKT-MAKTG,
                  CELLTAB TYPE LVC_T_STYL,  " Its Working perfectly fine..
                 END OF TY_MAKT.
    DATA: IT_MAKT TYPE STANDARD TABLE OF TY_MAKT,
              WA_MAKT TYPE TY_MAKT.
    Its working perfectly fine. if still you are facing any issue post your complete code.
    Thanks,
    Sandeep

  • Invoice List SAP script - Problem with SAP script functionality

    Hello Friends,
    I am working on SAP script - Invoice List SD_INVOICE_LIST. The invoice list contains the underlying billing documents. As per the standard functionality, in the line items, its printing the underlying billing documents with the net value. My requirement is to dig these line items into another level, meaning, I need to display the line items of billing documents  as well(like material, material description, quantity, net price and net value of that item etc).
    The billing linte item informatin is stored in VBRP table and the VBRP structure is not at all defined in the print program of SD_INVOICE_LIST (I.E.RVADIL01). Change of standard SAP program is not an option for me here.
    In the external subroutine we can fetch these line items for each billing document in the invoice list. However, my question here is how to take these line items back to the sap script and print them in SAP script (We can print one line item but how to loop these fetched lines and print them on SAP script. Any help in this regard would be greatly appreciated.
    I think there is no standard smart form exist for the invoice list. Please also let me know if there is any standard smart form available for INVOICE List.
    Thanks in advanace for any help in this regard.
    Best regards,
    Siva

    Hi
    As you cannot change the standard, you will have to see if there are any enhancements provided in the print program. if not you have to copy into a custom one and do changes accordingly.
    Thanks,
    Venkatesh

  • Issue with internal table in object oriented ABAP.

    Hello Gurus,
    I am having trouble defining internal table in Object oriented ABAP. for following:
    DATA: BEGIN OF IT_TAB OCCURS 0.
            INCLUDE STRUCTURE ZCUSTOM.
    DATA    tot_sum   TYPE char40.
    DATA END OF IT_TAB.
    Can someone help ?
    Regards,
    Jainam.
    Edited by: Jainam Shah on Feb 5, 2010 8:33 PM
    Edited by: Jainam Shah on Feb 5, 2010 8:33 PM
    Moderator message - Please post in the correct forum. You can easily find out for yourself by looking at SAP help for internal tables using OOP - thread locked
    Edited by: Rob Burbank on Feb 5, 2010 2:49 PM

    No, you can not declare internal table with header line in OO context. You have to declare the work are/header line separately
    Example:
    TYPES: BEGIN OF ty_it_tab.
            INCLUDE STRUCTURE mara.
    TYPES:  tot_sum TYPE char40.
    TYPES: END OF ty_it_tab.
    DATA: it_tab TYPE STANDARD TABLE  OF ty_it_tab.
    DATA: wk_tab TYPE ty_it_tab.
    LOOP AT it_tab INTO wk_tab.
    ENDLOOP.
    Edited by: Dean Q on Feb 5, 2010 8:50 PM

  • TSV_TNEW_PAGE_ALLOC_FAILED  with internal table declared with occurs 0

    HI guys,
    when the internal table is declared as occurs 0, the dump TSV_TNEW_PAGE_ALLOC_FAILED is encountered, when changing the declaration into standard table, th dump disappears. Why is this so?
    Thanks!

    There are three type of tables: Standard, sorted and hashed tables (see [here|http://help.sap.com/abapdocu_70/en/ABAPDATA_ITAB.htm]). When you define a table using the keyword OCCURS you're still defining a standard table.
    Your exception indicates that you're running out of memory. The difference in the declarations that you mention shouldn't cause that. Main difference between the two declaration versions is probably that your table defined via OCCURS has a header line, whereas your other table doesn't (unless you declared it explicitly as WITH HEADER LINE).
    I don't think though that with that little information anybody could explain the short dump. Actually it sounds rather odd that the change you mention should cause the dump (or make it go away). So I suspect you probably have to post further details. You might want to check the shortdump yourself and place a breakpoint at this place and run it for each version. Maybe you can see some difference...

  • Logic issue with Internal Table

    Hi All,
    I have an internal table with following structure.
    Name of Internal table: ITAB
    Fields:   userid      login date     number
    Values:  abc         01012008    
                 abc         02012008
                 abc         02012008
                 abc         03012008
    Now i should store the value for the field itab-number, based on the ita-logindate.
    If the field logindate is having same date for 2 times (for the user 'abc'),
    the field itab-number should have the value as '2' .
    Basically i want to display a report to show how many times a user has logged into SAP system for a given date.......
    How to incorporate this logic?
    Regards
    Pavan

    Hi,
    Use the below logic.
    data: begin of itab1 occurs 0,
           uid  like sy-uname,
           date like sy-datum,
          end of itab1.
    data: begin of itab2 occurs 0,
           uid  like sy-uname,
           date like sy-datum,
           count type i,
          end of itab2.
    data v_count type i.
    start-of-selection.
    itab1-uid = 'abc'.
    itab1-date = '20080101'.
    append itab1.
    itab1-uid = 'abc'.
    itab1-date = '20080102'.
    append itab1.
    itab1-uid = 'abc'.
    itab1-date = '20080102'.
    append itab1.
    itab1-uid = 'abc'.
    itab1-date = '20080103'.
    append itab1.
    itab1-uid = 'abc'.
    itab1-date = '20080104'.
    append itab1.
    sort itab1 by uid date.
    loop at itab1.
    v_count = v_count + 1.
    at end of date.
    itab2-uid = itab1-uid.
    itab2-date = itab1-date.
    itab2-count = v_count.
    append itab2.
    clear  v_count.
    endat.
    endloop.

  • Function Module Extractor with Internal Table

    Hi All,
    I have a need to extract records from a complex SQL Statements, so I will be using different SQL Statements and merging the results in to a single internal table. In the function modules what will happen if I do not use cursor WITH HOLD option, (I know it maintains the cursor position) and what if I directly load into E_T_DATA  from my internal table. How this will affect the datapackage size?
    In the future I will have records beyond 1 million and I am concerned to send all the 1 million record in one package rather than multiple packages during extraction.
    Please give a solution if you have come acroos this kind of situation with your development.
    Thanks,
    Alex.

    Alex,
    I do not see why the complexity of ABAP statements should make you change the data processing logic proposed by SAP by way of the sample Function module.  
    It appears to me that you are changing something knowing fully well its implications and then trying to find a solution for it.
    Good Luck!
    Mathew.

  • Writing Cleint side scripting to edit internal table

    Hello Gurus
    I have a internal table which i am displaying  in tableview . i want to add record into the itab when i i click on one button on the form.
    I want to do it this action in the client side using abap script of java script.
    I am not sure how to handle internal table with java script. and one more question is that how to write client side abap script.?
    Is there any recommendation?
    Thanks
    Hari

    I guess you didn't quiet understand my question.
    1. Can i access page attribute s( ex:iinternal table ,or string variable )  in the client script.( java script which runs on client browser ).
    2. If the above answer is yes, how to add a record into intertal table with java code . ( syntax ) .
    Thanks for the help.
    Thanks
    Hari

  • Performance with internal tables

    Hi everybody,
    I'm having trouble with the performance of a report.
    The reports selects data out of many different tables and merges them together in one extraction file. (I would really like it to be executable in dialog task, because I don't want to write the file on the application sever)
    I've done what I could using runtime analysis to improve performance of the db accesses. Now 97% of runtime is consumed by abap.
    I'm using several internal tables which will have many entries, and at the moment I'm using nested loops to gather the information out of the internal tables into one extraction file. (Reading the internal tables with key is not always possible, I do this whenever possible)
    I've tried to use loop... assigning <fs> instead of loop... into, but it doesn't really help too much.
    Any other suggestions?
    Thank you for your help, regards, Kathrin!

    Hi,
    Some of these might be able to help for improving the performance.
    1. Read table with key using binary search.
    2. While comparing two internal tables, user Kernal
       method. Eg: If I_TAB1[] = I_TAB2[]. Enfif.
    3. Instead of appending records within loop/endloop,
       use 'Append lines of'.
    4. When populate different internal tables, try to create
       with key field which will make a big difference while
       accessing the data.
    5. Sort the internal tables.
    6. Use Case/Endcase in place of If/Endif.
    7. While making values negative, use 0 - <field>, in
       place of <field> * -1.
    8. If the field structures are similar in two internal
       tables, for appending records use I_TAB2[] = I_TAB1[].
    9. After the complete usage of internal tables, release
       the resources using FREE/FREFRESH <internal table>.
    10. For data extraction, use field by field selection
        from database.
    11. Try to avoid using 'ALL ENTRIES'. If using and make
        sure that the ref.internal table have entries.
    12. Try using Inner Join using Foriegn key fields.
    13. To get sum or count use Aggregate functions.
    14. Try to use Views if need appropriately.
    Hope this helps.
    Gopakumar

  • Error while updating custom db table with internal table

    Hi experts,
    My question is : I define a itable like
    types begin of ty_data,
            f1(3)  type  c,
            f2(4)  type  c,
           end of ty_data.
    data itab type standard table of  ty_data.
    and my custom table(YDATA) is also same structure of  itab.
    then  I use insert statement like this
    loop at itab into wa_data.
      INSERT into YDATA values wa_data.
    endloop.
    my problem is I get  an error like this
    The type of the database table and work area (or internal table)          
    "wa_data" are not Unicode-convertible . . . . . . . . . .     
    please give me the solution for this error.
    Thanks     
    durga prasad

    Please post ABAP-questions in one of the <a href="https://forums.sdn.sap.com/index.jspa#42">ABAP forums</a>.
    My small addition to the existing hints: define the work area using LIKE LINE OF, the LIKE keyword is a very nice way of ensuring that data types match. You can reference input parameters, other locally defined variables and more.
    DATA: t_ydata TYPE STANDARD TABLE OF ydata,
          l_ydata LIKE LINE OF t_ydata[].

  • SAP QUERY LOOPS AND INTERNAL TABLE

    Hi All, I have a query which i have made. It runs from Table EKPO which has PO details and what I want to do is now via ABAP Code pull through the total of goods receipt for the PO and Line Item into a field. Sounds Easy enough..Problem now,
    The table which contains the GR data is EKBE which agains a PO and Line Item can have many 101 movements and 102 movements so what I want is an ABAP Statent to basically sum up the total of 101 for the PO & LINE ITEMS and then minus this from the total of 102 for the PO & LINE ITEMS and post the result in to this new field I have created.
    I am pretty decent with ABAP Code in Querys I.e Select statements etc but from what I can see i need to create an internal table and do a loop and collect statement but I keep on failing due to not enough knowledge. Please can some one help me with this and provide me with the code and explanation as i would like to understand,
    POINTS WILL BE REWARDED
    Thanks
    Kind Regards
    Adeel Sarwar

    Hi,
    This is the full code i have entered but its not working. Any help would be appreciated. If you could rectify the code and internal tables that would be great.
    Thanks
    TABLES: EKBE.
    DATA: PurO LIKE EKPO-EBELN,
          POLI LIKE EKPO-EBELP.
    *New Table and Vars defined
    DATA:   BEGIN OF IT_EKBE,
              IT_EKBE LIKE EKBE,
            END OF IT_EKBE.
    DATA:  BEGIN OF IT_SUM OCCURS 0,
              EBELN TYPE EBELN,
              EBELP TYPE EBELP,
              DMBTR TYPE DMBTR,
              MENGE TYPE MENGE,
          END OF IT_SUM.
    CLEAR: QTYD.
    MOVE: EKPO-EBELN TO PurO,
          EKPO-EBELP TO POLI.
    SELECT * FROM EKBE INTO IT_EKBE
        WHERE EBELN = PurO
        AND   EBELP = POLI
        AND   BEWTP = 'E'
    LOOP AT IT_EKBE.
      MOVE CORRESPOING IT_EKBE TO IT_SUM.
      IF IT_EKBE-BWART = '102'.
        IT_SUM-DMBTR = IT_SUM-DMBTR * -1.
        IT_SUM-MENGE = IT_SUM-MENGE * -1.
      ENIDF.
      COLLECT IT_SUM.
      CLEAR IT_SUM.
    ENDLOOP.
    ENDSELECT.
    If sy-subrc = 0.
      QTYD = IT_SUM.
    ELSE.
      QTYD = 0.
    ENDIF.

  • Problem with Internal table

    HI,
    I need to DMBE2 value as with respective of Month, Year and Inception date.
    I need the output to be like
    HKONT  BLART PRCTR DMBE2(Month) DMBE2 (Year) DMBE3 (Year)
    Below is my code
    DATA : BEGIN OF gt_lkorr OCCURS 0,
              hkont LIKE bsis-hkont,
              prctr LIKE bsis-prctr,
              bewar LIKE bsis-bewar,
              dmbe2 LIKE bsis-dmbe2,
              belnr LIKE bsis-belnr,
              budat LIKE bsis-budat,
              monat LIKE bsis-monat,
              gjahr LIKE bsis-gjahr,
              blart LIKE bsis-blart,
              shkzg like bsis-shkzg,
           END OF gt_lkorr.
    *DATA : wa_lkorr LIKE gt_lkorr OCCURS 0 WITH HEADER LINE.
    DATA : BEGIN OF wa_lkorr OCCURS 0,
              hkont LIKE bsis-hkont,
              prctr LIKE bsis-prctr,
              bewar LIKE bsis-bewar,
              dmbe2 LIKE bsis-dmbe2,
              belnr LIKE bsis-belnr,
              budat LIKE bsis-budat,
              monat LIKE bsis-monat,
              gjahr LIKE bsis-gjahr,
              blart LIKE bsis-blart,
             dmbe2_2 LIKE bsis-dmbe2,
             dmbe2_3 LIKE bsis-dmbe2,
           END OF wa_lkorr.
    DATA : gt_final_lkorr LIKE wa_lkorr OCCURS 0 WITH HEADER LINE.
    FORM f_get_t030hb_tr.
      SELECT hkont lkorr FROM t030hb INTO CORRESPONDING FIELDS OF
                          TABLE gt_tr_t030hb
                          WHERE ktopl = 'KCOA'
                          AND   bwber = 'TR'
                          AND hkont IN so_hkont.
      IF gp_pprct IS INITIAL.
        SELECT hkont prctr bewar dmbe2 belnr budat monat gjahr blart
                           FROM bsis INTO CORRESPONDING
                           FIELDS OF TABLE gt_lkorr FOR ALL ENTRIES
                           IN gt_tr_t030hb
                           WHERE bukrs IN so_bukrs
                           AND gjahr IN so_gjahr
                           AND prctr IN so_prctr
                           AND hkont = gt_tr_t030hb-lkorr
                           AND vbund IN so_vbund.
      ELSE.
        LOOP AT gt_prctr.
          SELECT hkont prctr bewar dmbe2 belnr budat monat gjahr blart
                             FROM bsis INTO CORRESPONDING
                             FIELDS OF TABLE gt_lkorr FOR ALL ENTRIES
                             IN gt_tr_t030hb
                             WHERE bukrs IN so_bukrs
                             AND gjahr   IN so_gjahr
                             AND prctr = gt_prctr-prctr
                             AND hkont = gt_tr_t030hb-lkorr
                             AND vbund IN so_vbund.
        ENDLOOP.
      ENDIF.
      DELETE ADJACENT DUPLICATES FROM gt_lkorr COMPARING ALL FIELDS.
    ENDFORM.                    "f_get_t030hb_tr
    *&      Form  f_get_yearwise_data
          text
    FORM f_get_yearwise_data.
      DATA : lv_period LIKE t009b-poper.
      DATA : lv_year LIKE bsis-gjahr,
             lv_dmbe2 LIKE bsis-dmbe2.
      LOOP AT gt_lkorr.
        CALL FUNCTION 'DATE_TO_PERIOD_CONVERT'
          EXPORTING
            i_date               = sy-datum
             I_MONMIT             = 00
            i_periv              = 'K4'
         IMPORTING
           e_buper              = lv_period
             E_GJAHR              =
        EXCEPTIONS
          input_false          = 1
          t009_notfound        = 2
          t009b_notfound       = 3
          OTHERS               = 4
        IF gt_lkorr-monat EQ lv_period.
            wa_lkorr-hkont = gt_lkorr-hkont.
            wa_lkorr-prctr = gt_lkorr-prctr.
            wa_lkorr-bewar = gt_lkorr-bewar.
            wa_lkorr-dmbe2 = gt_lkorr-dmbe2.
            wa_lkorr-blart = gt_lkorr-blart.
            if gt_lkorr-shkzg = 'H'.
              wa_lkorr-dmbe2 = - wa_lkorr-dmbe2.
            endif.
          COLLECT wa_lkorr.
        endif.
    ENDLOOP.
          LOOP AT wa_lkorr INTO gt_final_lkorr.
            write  : / gt_final_lkorr-hkont,
                     gt_final_lkorr-prctr,
                     gt_final_lkorr-bewar,
                     gt_final_lkorr-dmbe2,
                     gt_final_lkorr-blart.
          ENDLOOP.
    write : ' Inception to date'.
      LOOP AT gt_lkorr.
        CALL FUNCTION 'DATE_TO_PERIOD_CONVERT'
          EXPORTING
            i_date               = sy-datum
             I_MONMIT             = 00
            i_periv              = 'K4'
         IMPORTING
          e_buper              = lv_period
              e_gjahr              = lv_year
        EXCEPTIONS
          input_false          = 1
          t009_notfound        = 2
          t009b_notfound       = 3
          OTHERS               = 4
        IF gt_lkorr-gjahr EQ lv_year.
            wa_lkorr-hkont = gt_lkorr-hkont.
            wa_lkorr-prctr = gt_lkorr-prctr.
            wa_lkorr-bewar = gt_lkorr-bewar.
            wa_lkorr-dmbe2 = gt_lkorr-dmbe2.
            wa_lkorr-blart = gt_lkorr-blart.
            if gt_lkorr-shkzg = 'H'.
              wa_lkorr-dmbe2 = - wa_lkorr-dmbe2.
            endif.
          COLLECT wa_lkorr.
        endif.
    ENDLOOP.
          LOOP AT wa_lkorr into gt_final_lkorr.
            WRITE : / gt_final_lkorr-hkont,
                      gt_final_lkorr-prctr,
                      gt_final_lkorr-bewar,
                      gt_final_lkorr-dmbe2,
                      gt_final_lkorr-blart.
             move : wa_lkorr-dmbe2_2 to gt_final_lkorr-dmbe2_2.
             modify gt_final_lkorr.
             clear gt_final_lkorr.
          ENDLOOP.
    loop at gt_lkorr.
            wa_lkorr-hkont = gt_lkorr-hkont.
            wa_lkorr-prctr = gt_lkorr-prctr.
            wa_lkorr-bewar = gt_lkorr-bewar.
            wa_lkorr-dmbe2 = gt_lkorr-dmbe2.
            wa_lkorr-blart = gt_lkorr-blart.
            if gt_lkorr-shkzg = 'H'.
              wa_lkorr-dmbe2 = - wa_lkorr-dmbe2.
            endif.
          COLLECT wa_lkorr.
    ENDLOOP.
          LOOP AT wa_lkorr into gt_final_lkorr.
            WRITE : / gt_final_lkorr-hkont,
                      gt_final_lkorr-prctr,
                      gt_final_lkorr-bewar,
                      gt_final_lkorr-dmbe2,
                      gt_final_lkorr-blart.
          ENDLOOP.
    Please let me know how to do it?
    Thanks,
    Pavan.

    I think you need to insert a field in your wa_lkorr internal table for key which you should populate as M for month data, Y2 for Year data and Y3 for dmbe3 data.
    So when you want to display they are three different records.

Maybe you are looking for

  • Copy Table Format from One Pages Doc to Another Pages Doc

    I am just wondering if it is possible to copy an entire table from a Pages document and paste it to another Pages document.  Below is what I mean: [IMG]http://i11.photobucket.com/albums/a169/JedRaybould/D0A12B2B-F46F-4324-B343-4B9D6 05D52F5-1628-0000

  • Should DHCP be turned off on DSL Modem?

    I have an AEBS (5th gen) and an  Airport Express in a roaming configuration (connected by ethernet cabling) as directed by Apple's article HT4260.   An Actiontec GT701-WG is my DSL modem with the wireless turned off.  I assumed DHCP should've been tu

  • IMac G5 17" 10.4.11 slow wireless internet

    My iMac G5 is much slower on the internet (wireless) than my MacBookPro, in the same location. Is there something I could do to improve this?

  • Photo date won't change to what I enter

    I've been going through the tedious process of changing dates on photos I've imported (thanks, Apple, for taking away the editable date field that made this a snap in iPhoto '09). Mostly it's working fine. Except for one photo--every time I try to ch

  • Getting the Latest Transaction

    Hi guyz, Just want to ask how will I do this...Is this possible in routine or in the query? For example, I have these fields: 0CALDAY (date of the transaction) 0CALMONTH 0CUSTOMER ZTRANS (transaction number) ZVOL (volume) I want to get the latest tra