Issue regarding internal tables

Dear all,
My issue is that , I need to enter data into a single internal table by fetching data from two sap tables using two different selct quries. I should not use joins or for all entries. And display the internal table data in the list.
Problem am facing is only one select query is geeting fetched and the other table data in not in the list.
Pleas provide the possible solutions.
Thanks & Regards,
Madhavi.M

DATA: BEGIN OF itab1 OCCURS 0,
      qmnum LIKE qmel-qmnum,
      qmtxt LIKE qmel-qmtxt,
      indtx LIKE qmel-indtx,
      qmdat LIKE qmel-qmdat,
      ltrmn LIKE qmel-ltrmn,
      priok LIKE qmel-priok,
      aufnr LIKE qmel-aufnr,
      bezdt LIKE qmel-bezdt,
      qmnam LIKE qmel-qmnam,
      qmart LIKE qmel-qmart,
      END OF itab1.
DATA: BEGIN OF itab2 OCCURS 0,
      qmnum LIKE qmih-qmnum,
      btpln LIKE qmih-btpln,
      ingrp LIKE qmih-ingrp,
      END OF itab2.
DATA : itab3 TYPE TABLE OF z_notif WITH HEADER LINE.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t01.
SELECT-OPTIONS : notnum FOR qmel-qmnum OBLIGATORY,
                 notype FOR qmel-qmart,
                 floc FOR qmih-btpln,
                 name FOR qmel-qmnam.
SELECTION-SCREEN END OF BLOCK b1.
START-OF-SELECTION.
To fetch the values in the internal table ****************
from ztable corresponding to the entries made *************
by the user in the selection screen ******************
SELECT qmnum qmtxt indtx qmdat ltrmn priok aufnr bezdt qmnam qmart INTO
TABLE itab1 FROM qmel WHERE qmnum IN notnum
AND qmart IN notype AND qmnam IN name.
SELECT qmnum btpln ingrp INTO TABLE itab2 FROM qmih FOR ALL ENTRIES IN
itab1 WHERE qmnum = itab1-qmnum AND btpln IN floc.
To move the contents of ITAB1 to ITAB3 ***************
    LOOP AT itab1.
      itab3-qmnum = itab1-qmnum.
      itab3-qmtxt = itab1-qmtxt.
      itab3-indtx = itab1-indtx.
      itab3-qmdat = itab1-qmdat.
      itab3-ltrmn = itab1-ltrmn.
      itab3-priok = itab1-priok.
      itab3-aufnr = itab1-aufnr.
      itab3-bezdt = itab1-bezdt.
      itab3-qmnam = itab1-qmnam.
      itab3-qmart = itab1-qmart.
      READ TABLE itab2 WITH KEY qmnum = itab1-qmnum.
To move the contents of ITAB2 to ITAB3 ***************
      itab3-btpln = itab2-btpln.
      itab3-ingrp = itab2-ingrp.
      APPEND itab3.
    ENDLOOP.
have a look at this example this may help you.....
reward if helpful.....

Similar Messages

  • Regarding Internal Table Field Validation [Modification]

    Hi All,
    I have a small issue with formatting of a field.
    The Field is POTX1 - it would get the value as 'New MT-EPPE0097-COMP02',
    Means i have one internal table field as i_error-POTX1 in that some times we get value as 'New MT-EPPE0097-COMP02'.
    Whenever i get 'New' literal in that internal table field i have to remove that literal from that internal table field. And Left Justify the remaining part of the field.
    Ex:  'New MT-EPPE0097-COMP02'
         should become 'MT-EPPE0097-COMP02'.
    For this first i have to find wether 'New' Literal exists in the Internal table field or not then i have to remove it.
    Can anybody tell me how can i solve this issue.
    Thanks in advance.
    Thanks & Regards,
    Rayeezuddin.

    Hi,
    Take a look :
    loop at i_error.
      if i_error-potx1(3) = 'New'
        w_potx1 = i_error-potx1.
        i_error-potx1 = w_potx1+3(37).
        MODIFY i_error.
      endif.
    ENDLOOP.
    Regards,
    Erwan.
    Message was edited by: Erwan LE BRUN

  • Regarding Internal Table Manipulation

    Hi All,
    I have a issue when working against Internal Table inside a function module.
    Issue is:
    My I.Table declaration is as below:
    <b>DATA: BEGIN OF i_vbfa_tab OCCURS 0.
              INCLUDE STRUCTURE vbfa.
    DATA: END   OF i_vbfa_tab.</b>
    Then in code i had written following logic:
      SELECT VBELV
             VBELN
             VBTYP_N
             VBTYP_V
             FROM VBFA
             INTO ( V_VBELV, V_VBELN, V_VBTYP_N, V_VBTYP_V )
             WHERE VBELN   = V_SO_ORDER2 AND
                   VBTYP_N = 'G'         AND
                   STUFE   = '00'.
      IF SY-SUBRC EQ 0.
        I_VBFA_TAB–VBELN   = V_VBELN.        
        I_VBFA_TAB–VBELV   = V_VBELV.        
        I_VBFA_TAB–VBTYP_N = V_VBTYP_N.      
        I_VBFA_TAB–VBTYP_V = V_VBTYP_V.      
        APPEND I_VBFA_TAB.
        CLEAR I_VBFA_TAB.
      ENDIF.
    Then when i am checking for <b>F2[Syntax]</b> it is giving error as <b>'The Field I_VBFA_TAB-VBELN is unknown'</b>. This is the case with all 4 assignment statements.
    Can anybody tell me what is the issue over here.
    What can i do to assign those values to internal table and append. I had tried with <b>MOVE</b> that is also giving same error.
    Can anybody solve my issue.
    Thanks in advance.
    Thanks & Regards,
    Prasad.

    If you are doing something like:
    call function 'Z_FUNC'
      tables i_vbfa_tab = vbfa_tab.
    and in the FM:
    function z_func
    *"  TABLES
    *"      i_vbfa_tab STRUCTURE  vbfa OPTIONAL
    perform get_vbfa.
    and then in an include
    form get_vbfa
    SELECT VBELV
    VBELN
    VBTYP_N
    VBTYP_V
    FROM VBFA
    INTO ( V_VBELV, V_VBELN, V_VBTYP_N, V_VBTYP_V )
    WHERE VBELN = V_SO_ORDER2 AND
    VBTYP_N = 'G' AND
    STUFE = '00'.
    I think you'll get the syntax arror you describe. Try:
    call function 'Z_FUNC'
      tables i_vbfa_tab = vbfa_tab.
    and in the FM:
    function z_func
    *"  TABLES
    *"      i_vbfa_tab STRUCTURE  vbfa OPTIONAL
    perform get_vbfa
    <b>  tables i_vbfa_tab.</b>
    and then in the include
    form get_vbfa
    <b>  tables i_vbfa structure vbfa.</b>
    data: v_vbelv   like vbfa-vbelv,
          v_vbeln   like vbfa-vbeln,
          v_VBTYP_N like vbfa-VBTYP_N,
          v_VBTYP_v like vbfa-VBTYP_v,
    SELECT VBELV
    VBELN
    VBTYP_N
    VBTYP_V
    FROM VBFA
    INTO ( V_VBELV, V_VBELN, V_VBTYP_N, V_VBTYP_V )
    WHERE VBELN = V_SO_ORDER2 AND
    VBTYP_N = 'G' AND
    STUFE = '00'.
    IF SY-SUBRC EQ 0.
    I_VBFA_TAB–VBELN = V_VBELN.
    I_VBFA_TAB–VBELV = V_VBELV.
    I_VBFA_TAB–VBTYP_N = V_VBTYP_N.
    I_VBFA_TAB–VBTYP_V = V_VBTYP_V.
    APPEND I_VBFA_TAB.
    CLEAR I_VBFA_TAB.
    ENDIF.
    I didn't test this, so if you use it, test it thoroughly.
    Rob

  • Issue in Internal Table for calculating MAX value

    Hi Abapers,
    I have internal table with data as follows:
                         Materail                               Currency      Quantity    Dominant_Currency
    1     000000000007001896     GBP     396
    2     000000000007001896     EUR     25
    3     000000000007001310     USD      7
    4     000000000007001310     GBP     646
    5     000000000007001310     EUR     195
    6     000000000007000949     GBP     947
    7     000000000007000949     EUR     117
    Now I have to find out the max quantity for each materail and currency against max quantity which will be put in the dominat currency fields of Internal Table.
    Eg: For material 000000000007001896, 396 is the max quantity and Currency for this is GBP so dominant currency will be GBP for first 2 records.
    Similarly 646 is max for 000000000007001310 therefore GBP will be dominant curr for the records containg material 000000000007001310
    Please solve the issue.
    Regards,
    Rahul Sinha

    lv_quantity --> quantity parameter
    sort itab by matnr quantity
    loop at itab.
    at new material.
    clear lv_quantity.
    endat,
    if itab-quantity > lv_quantity.
      lv_quantity = itab-quantity.
      itab-dominant_curr = itab-curr.
      modify itab transporting dominant_curr where material = itab-material.
    endif.
    "please write  modify statement with some logic..so that it is called once for one item
    endloop.
    if you find any issue revert back.

  • Issue with Internal Table

    Hi All,
    I have defined an internal table 'with occurs 0'.
    While debuggining, i am observing that only 50,000 lines are getting populated in that internal table.
    How to increase the capacity of the internal table, so that it can hold more number of lines?
    Regards
    Pavan

    I would like to explaing you all about this issue.
    I have defined an internal table as follows...
    data:  IT_CATSDB       TYPE BAPICATS2 OCCURS 0 WITH HEADER LINE.
    I have used a BAPI called "BAPI_CATIMESHEETRECORD_GETLIST" which will retirieve the Timesheet details of all employees within a given date range.
    Now, the number of entries that we got from this BAPI are stored in the internal table it_catsdb.
    I have observed that this internal table is holding max of 50k lines.
    If i check the database table (CATSDB) for the same conditions in SE11, i am able to get around 1L lines.
    Hence my report is showing incorrect output.
    Kindly help me out with some logic, so that this internal table can hold as much as data possible without any restriction.....
    Regards
    Pavan

  • Regarding internal table read.

    Hi,
    i want to read internal table and compare the one variable existing with in from date and to date.
    the psudo code is like this
    READ TABLE L_TABEMPLOYEE INTO L_WAEMPLOYEE WITH KEY  EMPLOYEE = SOURCE_FIELDS_RULE-PERNR
    ULTIMO BETWEEN L_WAEMPLOYEE-DATEFROM AND L_WAEMPLOYEE-DATETO.
    but this statement gives error.
    how to code for the same requirement.
    regards,
    swami.

    Hi,
    Recode like this.It will definitely work
    LOOP AT L_TABEMPLOYEE INTO L_WAEMPLOYEE
                                 WHERE EMPLOYEE = SOURCE_FIELDS_RULE-PERNR
                                              AND ULTIMO > L_WAEMPLOYEE-DATEFROM
                                              AND ULTIMO < L_WAEMPLOYEE-DATETO.
    <Write what you want to do here >
    ENDLOOP.
    Please reward if useful
    Thanks Arjun
    Edited by: Arjun Puthuruthy on Mar 26, 2008 10:52 AM

  • Regarding Internal table and access performance

    hey guys.
    In my report , Somehow i reduced the query performance time by selecting minimum key fields and moved the selected records to internal table.
    Now from this internal table i am restricting the loop
    as per my requirements using where statements.(believing that internal table retrieval is more faster than database acces(using query)).
    But still my performance goes down.
    Could you pls suggest me how to reduce the execution time
    in abap programming.
    I used below commands.
    Read using binary search.
    loop ...where statement.
    perform statements.
    collect staements.
    delete itab.(delete duplicates staements too)
    sort itab(sorting).
    For each above statements do we have any faster way to retrieval records.
    If i see my bottle neck at se30.it shows
    ABAP programming to 70 percent
    database access to 20 percent
    R3 system as 10percent.
    now how to reduce this abap process.
    could you pls reply.
    ambichan.
    ambichan.

    Hello Ambichan,
    It is difficult to suggest the improvements without looking at the actual code that you are running. However, I can give you some general information.
    1. READ using the BINARY SEARCH addition.
    This is indeed a good way of doing a READ. But have you made sure that the internal table is <i>sorted by the required fields</i> before you use this statement ?
    2. LOOP...WHERE statement.
    This is also a good way to avoid looping through unnecessary entries. But further improvement can certainly be achieved if you use FIELD-SYMBOLS.
    LOOP AT ITAB INTO <FIELD_SYMBOL_OF_THE_SAME_LINE-TYPE_AS_ITAB>.
    ENDLOOP.
    3. PERFORM statements.
    A perform statement can not be optimized. what matters is the code that you write inside the FORM (or a subroutine).
    4. COLLECT statements.
    I trust you have used the COLLECT statement to simplify the logic. Let that be as it is. The code is more readable and elegant.
    The COLLECT statement is somewhat performance intensive. It takes more time with a normal internal table (STANDARD). See if you can use an internal table of type  SORTED. Even better, you can use a HASHED internal table.
    5. DELETE itab.(delete duplicates staements too)
    If you are making sure that you are deleting several entries based on a condition, then this should be okay. You cannot avoid using the DELETE statement if your functionality requires you to do so.
    Also, before deleting the DUPLICATES, ensure that the internal table is sorted.
    6. SORT statement.
    It depends on how many entries there are in the internal table. If you are using most of the above points on the same internal table, then it is better that you define your internal table to be of type SORTED. That way, inserting entries will take a little more time (to ensure that the table is always sorted), but alll the other operations are going to be much faster.
    Get back to me if you need further assistance.
    Regards,
    <a href="https://www.sdn.sap.com:443http://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.sdn.businesscard.sdnbusinesscard?u=zwcc%2fwm4ups%3d">anand Mandalika</a>.

  • 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

  • Memory space issue in internal table

    Hi ,
    My report is dumping because there is no memory space availabe for extending the memory of an internal table, after it gets filled with about 2500000 lakh records.
    the dump analysis is as follows :-
    Error analysis
    The internal table (with the internal identifier "IT_317") could not be
    enlarged any further. To enable error handling, the internal table had
    to be deleted before this error log was formatted. Consequently, if you
    navigate back from this error log to the ABAP Debugger, the table will
    be displayed there with 0 lines.
    When the program was terminated, the internal table concerned returned
    the following information:
    Line width: 1700
    Number of lines: 106904
    Allocated lines: 106904
    New no. of requested lines: 8 (in 1 blocks)
    How to correct the error
    The amount of storage space (in bytes) filled at termination time was:
    Roll area...................... 7272944
    Extended memory (EM)........... 603339264
    Assigned memory (HEAP)......... 396390176
    Short area..................... " "
    Paging area.................... 40960
    Maximum address space.......... 529887568
    You may able to find an interim solution to the problem
    in the SAP note system. If you have access to the note system yourself,
    use the following search criteria:
    Please suggest what can be done.
    Regards,
    Vikas Arya

    Hi,
    This solution might not sound good. But give a thought.
    While appending data u may take more than one internal table.
    Append first 10lakh records to 1st table, Second 10 lakhs to second table etc.
    But from where are u getting the source data? It should be present in some internal table correct?
    Probably u can use dynamic internal tables concept.
    Also check ur code carefully. After the place of appending if u are not going to use any internal tables then use FREE itab
    statement to free the memory allocated.
    Also reduce the global declarations as much as possible
    Thanks,
    Vinod.

  • Issue In internal table data population in the o/p

    Dear Guru , I have encountered an issue for which i am not able to findout the logic  . I have an internal table through which i am populating the below data for detail report format :->
    Plant     Material Number          Storage Loc     Movement Type          Avg Days
    019     0820B0073          MOD3          101               space
    019     0820B0073          MOD3          101               space
    019     0820B0073          MOD3          101               space
    019     0820B0073          MOD3          101               space
    019     0820B0073          MOD3          101               space
    020     0820B0074          MOD4          101               space
    020     0820B0074          MOD4          101               2
    020     0820B0074          MOD4          101               3
    The requirment is like this the summary report should show o/p like below addition of all the rows with respect to plant , material, storage location and movement type :-
    Plant     Material Number          Storage Loc     Movement Type          Avg Days
    019     0820B0073          MOD3          101               space
    020     0820B0074          MOD4          101               5
    but when i am adding it with respect to plant, material, storage location and movement type the o/p i am getting is like below
    Plant     Material Number          Storage Loc     Movement Type          Avg Days
    019     0820B0073          MOD3          101               0
    020     0820B0074          MOD4          101               5
    becasue addition of 5 spaces ( Avg Days )of plant 019 is coming as ZERO --> 0
    so Guru what logic i should use to get the proper o/p,..I have Used Following logic to perform summation with respect to plant, material , storage loc and movement type.
    CLEAR: wa_mkpf_mseg, w_werks, w_matnr, w_lgort, w_bwart.
    LOOP AT t_mkpf_mseg INTO wa_mkpf_mseg.   
    IF wa_mkpf_mseg-werks EQ w_werks AND wa_mkpf_mseg-matnr EQ w_matnr AND wa_mkpf_mseg-lgort EQ w_lgort AND wa_mkpf_mseg-bwart EQ w_bwart.
          CLEAR: wa_p_coi.
          READ TABLE t_p_coi INTO wa_p_coi WITH KEY werks = wa_mkpf_mseg-werks matnr = wa_mkpf_mseg-matnr lgort = wa_mkpf_mseg-lgort bwart = wa_mkpf_mseg-bwart.
         IF sy-subrc = 0.
         wa_p_coi-Avg Days    = wa_p_coi-Avg Days   + wa_mkpf_mseg-Avg Days.
         MODIFY t_p_coi FROM wa_p_coi TRANSPORTING Avg Days   .
         CLEAR: wa_p_coi, wa_p_coi.
         endif.
    ELSE.
          wa_p_coi-werks                     = wa_mkpf_mseg-werks.
          wa_p_coi-matnr                     = wa_mkpf_mseg-matnr.
          wa_p_coi-bwart                   = wa_mkpf_mseg-bwart.
          wa_p_coi-lgort                     = wa_mkpf_mseg-lgort.
          wa_p_coi-Avg Days                  = wa_mkpf_mseg-Avg Days   .
         APPEND wa_p_coi TO t_p_coi.
               CLEAR: wa_p_coi.
    ENDIF.
        w_werks = wa_mkpf_mseg-werks.
        w_matnr = wa_mkpf_mseg-matnr.
        w_lgort = wa_mkpf_mseg-lgort.
        w_bwart = wa_mkpf_mseg-bwart.
       CLEAR: wa_mkpf_mseg.
      ENDLOOP.

    The soln what i found after working out
    CLEAR: wa_mkpf_mseg, w_werks, w_matnr, w_lgort, w_bwart.
    LOOP AT t_mkpf_mseg INTO wa_mkpf_mseg.
    IF wa_mkpf_mseg-werks EQ w_werks AND wa_mkpf_mseg-matnr EQ w_matnr AND wa_mkpf_mseg-lgort EQ w_lgort AND wa_mkpf_mseg-bwart EQ w_bwart.
    CLEAR: wa_p_coi.
    READ TABLE t_p_coi INTO wa_p_coi WITH KEY werks = wa_mkpf_mseg-werks matnr = wa_mkpf_mseg-matnr lgort = wa_mkpf_mseg-lgort bwart = wa_mkpf_mseg-bwart.
    IF sy-subrc = 0.
    if wa_p_coi-Avg Days  = ' ' and wa_mkpf_mseg-Avg Days = ' '.
    wa_p_coi-Avg Days = ' '.
    ELSE
    wa_p_coi-Avg Days = wa_p_coi-Avg Days + wa_mkpf_mseg-Avg Days.
    Endif.
    MODIFY t_p_coi FROM wa_p_coi TRANSPORTING Avg Days .
    CLEAR: wa_p_coi, wa_p_coi.
    endif.
    ELSE.
    wa_p_coi-werks = wa_mkpf_mseg-werks.
    wa_p_coi-matnr = wa_mkpf_mseg-matnr.
    wa_p_coi-bwart = wa_mkpf_mseg-bwart.
    wa_p_coi-lgort = wa_mkpf_mseg-lgort.
    wa_p_coi-Avg Days = wa_mkpf_mseg-Avg Days .
    APPEND wa_p_coi TO t_p_coi.
    CLEAR: wa_p_coi.
    ENDIF.
    w_werks = wa_mkpf_mseg-werks.
    w_matnr = wa_mkpf_mseg-matnr.
    w_lgort = wa_mkpf_mseg-lgort.
    w_bwart = wa_mkpf_mseg-bwart.
    CLEAR: wa_mkpf_mseg.
    ENDLOOP.

  • Regarding Internal table logic

    Hi,
    I have my internal table as follows:
    DATA: BEGIN OF I_DATA OCCURS 0,
            prgname TYPE SYST-REPID,
            matnr   TYPE mara-matnr,
            berid   TYPE mdma-berid,
          END OF I_DATA.
    Data that fills into can be as follows:
    Ex:
    PROGRAM1,1000,MRP1
    PROGRAM1,1000,MRP1
    PROGRAM1,2000,MRP1
    PROGRAM2,1000,MRP1
    PROGRAM2,1000,MRP1
    PROGRAM2,2000,MRP1
    PROGRAM3,1000,MRP1
    PROGRAM3,1000,MRP1
    PROGRAM3,2000,MRP1
    It can any order in above way.
    Then i will sort the above data as follows:
    SORT I_DATA BY prgname matnr berid.
    Now here my issue is:
    DATA: t_objtxt     LIKE solisti1   OCCURS 0  WITH HEADER LINE.
    I need to push the above internal table data into T_OBJTXT internal table as follows:
    It should first Display program Name as Program Name: Program3, Then column heading MATNR, BERID below it and data of that program[1st] below them till all the 1st program's data finished. Whenever MATNR value changes in this program list i need to print an ***** like line. TO indicate all the materials printed.
    When 2nd program comes again i have to write Program Name: Program2, Then column heading MATNR, BERID below it and data of that program[1st] below them till all the 1st program's data finished. Whenever MATNR value changes in this program list i need to print an ***** like line. TO indicate all the materials printed.
    When 3nd program comes again i have to write Program Name: Program3, Then column heading MATNR, BERID below it and data of that program[1st] below them till all the 1st program's data finished. Whenever MATNR value changes in this program list i need to print an ***** like line. TO indicate all the materials printed.
    Etc. Same process we need to follow.
    The final out put should be as below:
    PROGRAM NAME : PROGRAM1
    MATNR, BERID
    1000,MRP!
    1000,MRP1
    2000,MRP1
    PROGRAM NAME : PROGRAM2
    MATNR, BERID
    1000,MRP!
    1000,MRP1
    2000,MRP1
    PROGRAM NAME : PROGRAM3
    MATNR, BERID
    1000,MRP!
    1000,MRP1
    2000,MRP1
    Like wise o/p need to be send to I_OBJTXT and to email.
    <b>The logic i have written is as follows:</b>
      LOOP AT I__DATA.
        AT NEW PRGNAME.
          MOVE '*****************************************' TO t_objtxt-line.
          APPEND t_objtxt.
          CLEAR t_objtxt.
          CONCATENATE t_objtxt-line 'PROGRAM NAME : '
                      I_DATA-PRGNAME
                      INTO t_objtxt-line.
          APPEND t_objtxt.
          CLEAR t_objtxt.
          MOVE '*****************************************' TO t_objtxt-line.
          APPEND t_objtxt.
          CLEAR t_objtxt.
          CONCATENATE TEXT-024 " Material
                      TEXT-025              " MRP
                      INTO t_objtxt-line
                      SEPARATED BY C_COMMA.
          APPEND t_objtxt.
          CLEAR t_objtxt.
          MOVE '-----------------------------------------' TO t_objtxt-line.
          CONCATENATE t_objtxt-line '------------------' INTO t_objtxt-line.
          APPEND t_objtxt.
          CLEAR t_objtxt.
        ENDAT.
    *    MOVE '' TO t_objtxt-line.
    *    APPEND t_objtxt.
    *    CLEAR t_objtxt.
        CONCATENATE I_DATA-MATNR
                    I_DATA-BERID
                    INTO t_objtxt-line
                    SEPARATED BY C_COMMA.
        APPEND t_objtxt.
        CLEAR t_objtxt.
        AT END OF MATNR.
          MOVE '' TO t_objtxt-line.
          APPEND t_objtxt.
          CLEAR t_objtxt.
          MOVE '*****************************************' TO t_objtxt-line.
          CONCATENATE t_objtxt-line '******************' INTO t_objtxt-line.
          CONCATENATE t_objtxt-line '******************' INTO t_objtxt-line.
          APPEND t_objtxt.
          CLEAR t_objtxt.
        ENDAT.
      ENDLOOP.
    The above logic is not working correctly.
    Can anybody give me correct logic for the same.
    Thanks in advance.
    Thanks,
    Deep.

    Can you paste the total code.
    santhosh

  • 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.

  • AT END OF  Issue in internal tables

    Hi all,
    My requirement is I have to sum all the VBRP-NETWR and VBRP-WAVWR Fields and move it to one table.
    example;
    AT END OF pernr.
       SUM.
    here I have to move the total value of VBRP-NETWR and *VBRP-WAVWR values to internal table fields (i.e *tab_item-netwr & tab_item-wavwr, how can we do this
    ENDAT.
    Please help me.
    Thanks & Regards,
    Sivaram Kandula

    Hi,
    sort tab_item by pernr.
    loop at tab_item.
      v_total_netwr = v_total_netwr + tab_item-netwr.
      v_total_wavwr = v_total_wavwr + tab_item-wavwr)
      At end of pernr.
        move 'Y; to v_flg.
      endat.
      if v_flg eq 'Y'.
         move v_total_netwr to another internal table and append
         move v_total_wavwr to another internal table and append
         clear: v_flg. clear : v_total_netwr, v_total_wavwr.
      endif.
    endloop.
    Thanks
    aRs

  • SUM issue in Internal table

    Hi All,
    I have an internal table as follows.
    Now if the KUNNR, PRCTR and VERNA field are similar, i have to sum up the QTY columns accordingly.
    I mean to say, in this case, the rows 1, 2 and 3 have same kunnr, prctr and verna fields. Henc ei should sum up the corresponding columns (qty1, qty2, qty3 and SUM) and make it as one row.
    kunnr  |    prctr    |   verna  |   qty1  |  qty2  |    qty3  |  sum
    11       |    100      |  Raj     | 10.0   |  5.0     |   0.0    |  15.0
    11       |   100       |  Raj     | 8.0     |  1.0     |   2.0    |  11.0
    11       |    100      |  Raj     | 0.0     |  0.0     |   6.5    |  6.5
    12       |    200      |  Ram   | 2.0     |  0.0     |   0.0    |  2.0
    How to carry out this calculation....???
    Regards
    Pavan

    Hi Friend,
               Use the Control Break Statement for this,  Go through the following steps
    1.     Sort  the Internal Table
    2.     Loop the Internal Table
    3.     Use the Control Break Statement
    4.     Sum
    5.    Write Statement
    6.     Endloop.                                      
    Ex.
    sort itab.
    loop at itab.
       at end of kunnr.
               sum.
      write:  'mara-kunnr'.
    endat.
    endloop.
    Hope the answer of your question.
    Regards,
    Md Ziauddin.
    Edited by: MD ZIAUDDIN on Dec 31, 2008 7:40 PM

  • Space issue in  Internal table

    Hi Experts,
           I Have An issue  while Appending into Internal table.
    This is an outbound interface  in which I have 7 different types of records. I am  appending all the work area to an internal table with size 500 char. the problem is that  the last field is blank in some records  the spaces are trucated.  I need  those space at the end as that file will be encrypted and send.
    Thanks in advance.
    Vijay

    Hi Madhan,
    Try below tricky code to get spaces.
    DATA: BEGIN OF t_space OCCURS 0,   " Data table
          name(10) TYPE c,
          dept(10) TYPE c,
          last_fld(480) TYPE c,   " Last field in data table, which you have to check
          END OF t_space,
          wa_space LIKE LINE OF t_space.
    DATA: str_space TYPE string.
    DATA: BEGIN OF t_final OCCURS 0,        " Final table
          text(500) TYPE c,    " Single field with length 500 characters
          END OF t_final,
          wa_final LIKE LINE OF t_final.
    "Below is tricky way to get ASCII value for space.
    " Press ALT key and hold it and now press 255 in Numeric Keypad and now release ALT key.
    "This is ASCII value for space
    CONSTANTS: ascii_space VALUE ' '.    " Give this space as mentioned in above line
    wa_space-name = 'A'. wa_space-dept = 'IT'.
    APPEND wa_space TO t_space.
    wa_space-name = 'B'. wa_space-dept = 'CSE'.
    APPEND wa_space TO t_space.
    wa_space-name = 'C'. wa_space-dept = 'EEE'.
    APPEND wa_space TO t_space.
    wa_space-name = 'D'. wa_space-dept = 'ECE'.
    APPEND wa_space TO t_space.
    IF NOT t_space[] IS INITIAL.
      DO 480 TIMES.    "  480 times because it is length of the last_fld(480) in data table. Change it according to length of your last field
        CONCATENATE str_space ascii_space INTO str_space.
      ENDDO.
    ENDIF.
    LOOP AT t_space INTO wa_space.
    CONCATENATE wa_space-name wa_space-dept INTO wa_final. "Concatenate all data fields into final workarea except final field
      IF wa_space-last_fld IS INITIAL.  " Check whether final field is empty
        CONCATENATE wa_final str_space INTO wa_final.  " Concatenate spaces at end of final work area
      ENDIF.
      APPEND wa_final TO t_final. " Append to Final table
    ENDLOOP.
    Hope you understand friend.

Maybe you are looking for

  • Script : how to change the Field name in standard program(ZM_MEDRUCK)

    Hi Experts, I am working with SAP SCRIPT. i need to change the Field Name that is PO NO to Document No & PO DATE to Document Date. These are assigned in data declaration as gv_name and gv_date. Can anyone help me to change this Fields. Regards, Vijay

  • How to allow the user to upload a file from their desktop to MII Server?

    Hi, Is there a way for the user to specify a file on their local computer to upload to the MII server for processing?  We have a method that works for uploading from a shared network drive, but now the need/desire is to allow the user to upload a fil

  • Keep dropping wifi when waking from sleep

    Please can anyone help I have a sky wifi box and when I wake up computer it does not seem to want to connect, it searches for a while and sometimes it finds the connection, but at other times I have to restart iMac Graham

  • Appraisal process. addiing a custom button and methods in HAP_MAIN_DOCUMENT

    Hi, I want to add one button in VW_BODY_VIEW of component  HAP_MAIN_DOCUMENT. Is it possible in configuration level or I have to use  enhancement points? and the smae way, I have to create one more view in this component. Just want ti confirm whether

  • Unable to Collect "exclusive beneft"

    Hello everyone, I'll get straight to the point. Inside of photoshop under HELP, whenever I click on complete/update adobe id.... it takes me to a page proclaiming that if I complete my a already complete adobe id I will recieve an exclusive benefit,