Report to display all the status records of an Idoc

Hi,
  I need to find out all the status records for an idoc and display them as a report. Is there any existing SAP Report that does that. I checked in table edids and all the status records of the idoc are not stored in the status text which is empty althogh there are 12 counters for the idoc.
regards
Aveek

Hey Aveek;
   Try this, which will get the most recent one.  You would just need to change it to loop at the edids records to get at them all...
      TABLES: *edidc, *edids, *t100.
      DATA: wf_string type string.
      CLEAR *edids.
      SELECT SINGLE *
         INTO *edids
         FROM edids
         WHERE docnum = *edidc-docnum
           AND status = '51'.
      SELECT SINGLE text
         INTO *t100-text
         FROM t100
         WHERE sprsl = 'EN'
           AND arbgb = *edids-stamid
           AND msgnr = *edids-stamno.
         CLEAR wf_string.
      MOVE *edids-stapa1 TO wf_string.
      REPLACE '&' WITH wf_string INTO *t100-text.
      IF sy-subrc EQ 0.
        CLEAR wf_string.
        MOVE *edids-stapa2 TO wf_string.
        REPLACE '&' WITH wf_string INTO *t100-text.
        IF sy-subrc EQ 0.
          CLEAR wf_string.
          MOVE *edids-stapa3 TO wf_string.
          REPLACE '&' WITH wf_string INTO *t100-text.
          IF sy-subrc EQ 0.
            CLEAR wf_string.
            MOVE *edids-stapa4 TO wf_string.
            REPLACE '&' WITH wf_string INTO *t100-text.
          ENDIF.
        ENDIF.
      ENDIF.
      A little sloppy (OK, alot!), but it gets the job done...
Cheers,
John

Similar Messages

  • Report to display all the contacts of an opportunity.

    Hello,
    I have a requirement, can we create a report which displays all the contacts of an opportunity apart from primary contact.
    Any inputs on the same will be appreciatable. TIA
    Edited by: 1004233 on May 6, 2013 12:16 AM
    Edited by: 1004233 on May 6, 2013 3:28 AM
    Edited by: 1004233 on May 6, 2013 3:28 AM

    Hey Aveek;
       Try this, which will get the most recent one.  You would just need to change it to loop at the edids records to get at them all...
          TABLES: *edidc, *edids, *t100.
          DATA: wf_string type string.
          CLEAR *edids.
          SELECT SINGLE *
             INTO *edids
             FROM edids
             WHERE docnum = *edidc-docnum
               AND status = '51'.
          SELECT SINGLE text
             INTO *t100-text
             FROM t100
             WHERE sprsl = 'EN'
               AND arbgb = *edids-stamid
               AND msgnr = *edids-stamno.
             CLEAR wf_string.
          MOVE *edids-stapa1 TO wf_string.
          REPLACE '&' WITH wf_string INTO *t100-text.
          IF sy-subrc EQ 0.
            CLEAR wf_string.
            MOVE *edids-stapa2 TO wf_string.
            REPLACE '&' WITH wf_string INTO *t100-text.
            IF sy-subrc EQ 0.
              CLEAR wf_string.
              MOVE *edids-stapa3 TO wf_string.
              REPLACE '&' WITH wf_string INTO *t100-text.
              IF sy-subrc EQ 0.
                CLEAR wf_string.
                MOVE *edids-stapa4 TO wf_string.
                REPLACE '&' WITH wf_string INTO *t100-text.
              ENDIF.
            ENDIF.
          ENDIF.
          A little sloppy (OK, alot!), but it gets the job done...
    Cheers,
    John

  • Report not displaying all the rows

    Hi Experts,
    We are having a report which when ran for a year as a filter criteria gives me 6725 rows and i also observe that there are more rows which are not getting displayed. Is there any restriction with the no of rows getting displayed. I am also able to find the specific information of a particular vendor when i explicitly filter it. Which would otherwise not get displayed in the normal report execution for the entire year. Thanks
    Warm Regards,
    Akilesh

    Hello Akilesh,
             This is the issue with your Bex Analyzer...! please update ur Bex with all the latest patches. I am sure this report sould be running on other mechines...
    I will try to find the concern patch in t he mean while..!
                   EnjoySAP

  • How to get  "all the required records" displayed from my DB

    Hi,
    In a block i have some fields say MONTH, YEAR, STAFF..... and a button SEARCH.
    i want, my app user enter data in one or many fields and after clicking SEARCH button he gets all his relevant data from DB (in next window/canvas).
    i am using 10g.
    help...plz !!!

    ManiKanchan wrote:
    sorry to bother..
    (-----version 10g-----)
    i have 3 blocks B1, B2, B3.... let the name of my table in DB is TB
    in B1, i have a button UPDATE and a trigger, WHEN-BUTTON-PRESSED, attached to it. the pl/sql code here is "go_block('B2'); enter_query;"
    when i come to B2 after pressing UPDATE, i am in query mode as i can say...
    here in B2, i have 3 fields UNIT, MONTH, YEAR and a button SEARCH. I let user enter 1/2/3 field as he/she wishes
    and with search button there is a trigger WHEN-BUTTON-PRESSED with the code "go_block('B3'); execute_query;"
    in B3, fields are STAFF, NAME, WAGES, UNIT, MONTH, YEAR.
    what i want is,
    according to the inputs in B2 ( one or two or all three) , all the relevant records should be displayed on canvas3 ( as B3 fields) as a table
    but i am not getting it right..What is the data type of unit,month and year in block b2 and b3 ?
    If i think these three are number data type
    try this in the search button of block b2
    declare
         con varchar2(500);
         qt varchar2(10):='''';
    begin
         if :B2.UNIT is not null then
              con:='UNIT='||:B2.UNIT;
         end if;
         if :B2.MONTH is not null then
              con:=con||' and MONTH='||:B2.MONTH;
         end if;
         if :B2.YEAR is not null then
              con:=con||' and YEAR ='||:B2.YEAR;
         end if;
    go_block('b3');
    set_block_property('b3',default_where,con);     
    execute_query;
    end;hopes this helps

  • Cannot display all the tables of the schema!!!

    Hi:
    I use the oracle sql developer on the windows xp, I found that the tables tab cannot display all the tables of the schema owner, I use the sql "select count(*) from user_tables" I found the result is more than the tab can be display, and I also press the "show more" already.... does anyone can help me ???

    Similarly, I have 852 tables owned by the connected user (selected count from user_tables and checked the user tables report which has this many records returned), but when I double-click on the "Show More" and select Show All, I only get approximately 375 tables listed.
    It doesn't help that the sorting is different - ie ASF_ comes before ASFB in the connection pane but the other way around in the report.
    However, it looks as though the problem is that tables that are not analysed (based on the report data in DATE_LAST_ANALYZED) are not being displayed under the Table node.

  • BDC(to display all the errors)

    Hi Experts,
    I am uploading data from flat file to sap application by using bdc call transaction method. My flat file is in Txet format.
    Now i want to display all the errors which are nor processed.
    The error report should be line no.of error record,error message and the records which are uploading.
    i am using bdcmsgcoll structure.but it is not having the fields which are required for me. will suggest me with coding how to do it.
    Thanks in advance,
    Mythily

    Hi,
    By using function module  FORMAT_MESSAGE
    Here is a sample code:
    LOOP AT t_message INTO fs_bdcmsgcoll.(T_message is a type of bdcmsgcoll)
        CALL FUNCTION 'FORMAT_MESSAGE'
          EXPORTING
            id        = fs_bdcmsgcoll-msgid
            lang      = sy-langu
            no        = fs_bdcmsgcoll-msgnr
            v1        = fs_bdcmsgcoll-msgv1
            v2        = fs_bdcmsgcoll-msgv2
            v3        = fs_bdcmsgcoll-msgv3
            v4        = fs_bdcmsgcoll-msgv4
          IMPORTING
            msg       = w_message
          EXCEPTIONS
            not_found = 1
            OTHERS    = 2.
        IF sy-subrc <> 0.
          MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                  WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ELSE.
          WRITE:/   w_message.
    endif.
    endloop.
    Hope this solves the issue, let me know if any queries.
    Regards,
    Rajani

  • Report which gives all the manullay released salesorders - VKM2

    User want to run a selected date range to run a report, to lists all the sales orders that have been manually released via T-code: VKM2
    But I can not find the related display variant, or do you have any other related report ?
    Thanks
    Srikanth

    Hi,
    You dont have a standard report to see the list of sales orders which are credit released. However you can find out the same from the field VBUK-CMGST and you can find out all the sales orders whose status is C or D.
    Hope this helps

  • Unable to print Report. Printout dispays the first record always

    My application generates a HTML Report which displays to the user in the browser. Since it was a requirement from the client We have used a scrolling div to display the desired records all at the same time. Thus the user can scroll through the div and view all the records.
    We have provided a Print Report functionality in our report. It uses the window.print() built in functionality of javascript.
    The problem is that the print out put is not having the same look and feel as the Page. Moreover if i scroll down the div to display hidden records and then click on the print report link it always prints from the 1st record onwards.
    Can someone please help me resolve the issue?
    Regards
    Nirmal

    I am experiencing a similar problem.  I have two reports I need to print.  The first must come from tray 1 and the second from tray 2.  However, if my default printer is not capable of having more than one tray even though I set the printer name of the reportDocument object to a multi-tray printer and the papersource is set properly for the given report all reports print from the same try.  I am using CR 9 and C# with Visual Studio 2005.  Does anyone know of a way to dynamically specify the printer and tray that will stop the default printer from interfering with the report I am trying to print?

  • Error while updating the status record of IDOC in SAP

    Hi All,
    I am facing this problem. I have done outbound processing and IDOC was sent successfully from SAP to EDI system and it was processed in EDI and now EDI system wants to send the status back to SAP with a status message and the status number that we are using is '24' and we have mapped all the fields in the status table EDIDS and made sure that EDI system sends all those and I think Counter field can not be determined by EDI system so EDI system used the counter '1' since it can not determine how many counters are already there in SAP and unless we pass the value to this counter field we were getting the error. After passing all the values the status of the IDOC is updated with the status '00' instead of '24' and we do not know why it is happened and I would like to know how SAP converts the status record that is received from the EDI system.
    Please let me know how the status record will be translated into SAP from EDI system and I ahve followed basically EDIDS structure and the IDOC status is updating in SAP but with wrong status number and the alignemnt also missing in SAP fields like if I give some text in the EDI it is splitting and storing in 2 fields.
    Please help me in this and I think I have explained the problem in a detail manner.
    Thanks,
    Ramesh.

    Hi Naresh,
    Thanks for the reply and my question is since EDI system is able to send the status back to SAP from EDI system and only problem is it is updatinf the status wrong and I have checked the EDIDS table also and the entry is creating with another counter and please confirm me that it is because of EDI does not support the status record update so that I can confirm to the client that there is nothing wrong in the way SAP functions and EDI system can not update the status code in the SAP.
    Thanks,
    Ramesh.

  • A report to display all PO by vendor?

    Hi,
    Report me2L/me2m is to display open purchase order by vendor, Is there a report to display all PO(preferrably can select a time period, say since last year) by vendor?
    Thanks,
    Meg

    Hello Meg,
    ME2L is the best report in purchasing meeting all the requirement i.e. open purchase order, closed purchase order, pending invoice etc.
    The output will be based on your "Selection parameters" so check which one is most appropriate selection parameter to meet your requirement.
    Here you have time line selection also.
    Hope this helps.
    Regards
    Arif Mansuri

  • Error while executing the report to display on the web in BI 7.0?

    Hi All,
    In BI 7.0, Getting Error while executing the report to display on the web?
    The error message displayed is:
    " Network Access Message : The website cannot be found ".
    Source: DNS error.
    Why this error is coming.
    Wht needs to be done.
    Thanks in Advance.

    Hi Kishore,
    All the configurations are in proper shape.
    We need to change any IP adresses or proxy settings in the Internet explorer (Tools -> Internet options -> Connections -> LAN settings -> etc.,)
    Do We need to configure any server address for getting the output to display on web pages in BI 7.0.
    EP is not configured over here. Is that causing the problem.
    Thansk in Advance.

  • Question on the status record of Idocs.

    Hi all,
    Where does the status of the idoc update::
    1) In the idoc in the sap system/Idoc Archive
    OR
    2)The one we transfer to the OS as a flat file (for the translators(EDI subsystem) to work on)?
    OR
    both of the above?
    Thanks,
    Charles.

    Hi,
    Whenever the IDOC is generated there are one to many status record updated to idoc depending on it is inbound / outbound and various process / system is goes through.
    Check transaction <b>WE47</b> to see all IDOC related status.
    This is the range of status for IDOC.
    OUTBOUND Idoc - Status between 1 to 49
    INBOUND Idoc  - Status between 50 to 74
    Also you can check the View <b>V_STACUST</b>. If you want to check status(s) of any idoc check table EDIDS.
    Regarding two scenario you are talking about.
    1. In the idoc in the sap system/Idoc Archive.
    - When IDOC is generated, it get status record
    - When you archive already created IDOC, the neither the status records are updated / changed or new status record are created
    2. The one we transfer to the OS as a flat file (for the translators(EDI subsystem) to work on)?
    - If you mean that you are sending IDOC to fine port then yes in that case also IDOC has status records.
    Can you explain your second question in more detail?
    Let me know if you have any other question.
    Regards,
    RS

  • How do I blank my BI Pub report parameter from returning the first record when output to HTML?

    Hi all.
    I have a report that has several parameters A, B, C D.
    I include these at the head of the rtf report.
    I run the report WITHOUT entering anything for parameters A & B.
    When the report generates (returning all the expected correct records), it enters into parameter fields A & B at the top of the report the first records’ A & B fields when they should be blank.
    IS there something I need to do in the rtf form field Help text along with the field name?
    ThanksForLoooking..
    Malc

    within the rtf of the report, within the form-field-help-text, this should work..
    <?xdofx:decode(<parameter name>,'','',<parameter name>)?>
    if the parameter is left blank, then don't put anything in the rtf field, otherwise put in anything that is selected in the parameter.
    or this..
    <?xdofx:if <parameter name>='' then 'All Params Included' else <parameter name> end if?>
    ..yet, when the parameter is left blank, the parameter field in the report generated is populated with whatever is in the first line of the parameter in the report.
    I also can't find anything in the old rdf that is causing this either.  Help!

  • How to display All the rows in a Table

    Hi All,
    Our requirement is, we need to display all the records of an VO in a table. We should not have navigation bar with previous and next. Runtime only will come to know how many records the VO has. Is it possible to achieve our requirement using setNumberOfRowsDisplayed() method in OATableBean ?

    Do u want to do it declaratively or programmatically.
    Declaratively You can set no of rows property of table bean. If u want to set it programmatically then u can do it as discussed in the thread..
    Regards,
    Ram

  • How to generate Inventory Report to display all details at end of mon/yr?

    Hi Guys..
    I would like to know how we can generate a
    Inventory report to display all inventory details at the end of every
    month or year?
    Also, another question.How can we create a PO past delivery date report?
    Any help is appreciated.
    Thanks,
    Sri Harsha;

    Hi,
    Pls the code here-
    TYPES :
            BEGIN OF ty_mard,
              matnr TYPE matnr,
              werks TYPE werks_d,
              lgort TYPE lgort_d,
              labst TYPE labst,
              retme TYPE retme,
              umlme TYPE umlme,
            END OF ty_mard.
    TYPES :
           BEGIN OF ty_mska,
              matnr TYPE matnr,
              kalab TYPE labst,
              vbeln TYPE vbeln,
              posnr TYPE posnr,
            END OF ty_mska.
    TYPES :
            BEGIN OF ty_vbap,
              matnr TYPE matnr,
              kwmeng TYPE kwmeng,
              pstyv TYPE pstyv,
            END OF ty_vbap.
    TYPES :
            BEGIN OF ty_mbew,
              matnr TYPE matnr,
              salk3 TYPE salk3,
              stprs TYPE stprs,
            END OF ty_mbew.
    TYPES :
            BEGIN OF ty_mchb,
              matnr TYPE matnr,
              charg TYPE charg_d,
            END OF ty_mchb.
    TYPES :
            BEGIN OF ty_mara,
              matnr TYPE matnr,
              mfrpn TYPE mfrpn,
            END OF ty_mara.
    TYPES :
           BEGIN OF ty_makt,
             matnr TYPE matnr,
             maktx TYPE maktx,
           END OF ty_makt.
    TYPES :
            BEGIN OF ty_ekpo,
             matnr TYPE matnr,
             netpr TYPE bprei,
             meins TYPE bstme,
            END OF ty_ekpo.
    DATA :
           BEGIN OF final OCCURS 0,
            matnr LIKE mard-matnr,
            maktx LIKE makt-maktx,
            werks LIKE mard-werks,
            lgort LIKE mard-lgort,
            mfrpn LIKE mara-mfrpn,
            usp LIKE mbew-stprs,
            labst LIKE mard-labst,
            salk3 LIKE mbew-salk3,
            kalab LIKE mska-kalab,
            vbeln LIKE mska-vbeln,
            sov LIKE ekpo-netpr,
            uom LIKE ekpo-meins,
            posnr LIKE mska-posnr,
            pstyv LIKE vbap-pstyv,
            kwmeng LIKE vbap-kwmeng,
            retme LIKE mard-retme,
            umlme LIKE mard-umlme,
           END OF final.
    DATA :
          BEGIN OF itab OCCURS 0,
            matnr LIKE mard-matnr,
            werks LIKE mard-werks,
            lgort LIKE mard-lgort,
            labst LIKE mard-labst,
            retme LIKE mard-retme,
            umlme LIKE mard-umlme,
            charg LIKE mchb-charg,
          END OF itab.
    DATA :
           i_mard TYPE STANDARD TABLE OF ty_mard,
           i_mbew TYPE STANDARD TABLE OF ty_mbew,
           i_mchb TYPE STANDARD TABLE OF ty_mchb,
           i_mara TYPE STANDARD TABLE OF ty_mara,
           i_vbap TYPE STANDARD TABLE OF ty_vbap,
           i_mska TYPE STANDARD TABLE OF ty_mska,
           i_makt TYPE STANDARD TABLE OF ty_makt,
           i_ekpo TYPE STANDARD TABLE OF ty_ekpo.
    DATA :
           wa_mard TYPE ty_mard,
           wa_mbew TYPE ty_mbew,
           wa_mchb TYPE ty_mchb,
           wa_mara TYPE ty_mara,
           wa_vbap TYPE ty_vbap,
           wa_mska TYPE ty_mska,
           wa_makt TYPE ty_makt,
           wa_ekpo TYPE ty_ekpo.
    DATA :
           sov_total TYPE currency,
           urestrict_total type currency.
    *Select options:
    SELECTION-SCREEN BEGIN OF BLOCK a WITH FRAME TITLE text-001.
    SELECT-OPTIONS : s_matnr FOR gf_matnr, " Material No.
                     s_werks FOR gf_werks, " Plant
                     s_lgort FOR gf_lgort, " Storage Location
                     s_charg FOR gf_charg. " Batch No.
    SELECTION-SCREEN END OF BLOCK a.
    *Validation of Selection Fields
    AT SELECTION-SCREEN.
      IF     s_matnr IS INITIAL
         AND s_werks IS INITIAL
         AND s_lgort IS INITIAL
         AND s_charg IS INITIAL.
        MESSAGE e001(zcir).
      ENDIF.
    *Function Module for Checking the inputs
      CALL FUNCTION 'MMIM_ENTRYCHECK_MAIN'
        TABLES
          it_matnr = s_matnr
          it_werks = s_werks
          it_lgort = s_lgort.
    *Checking of input values for S_CHARG
      IF NOT s_charg-low IS INITIAL OR NOT s_charg-high IS INITIAL.
        SELECT charg FROM mchb into table LT_charg WHERE charg IN s_charg.
        IF sy-subrc NE 0.
          MESSAGE e002(zcir).
        ENDIF.
        clear wa_mchb.
      ENDIF.
    *TOP OF PAGE
    TOP-OF-PAGE.
      FORMAT COLOR COL_HEADING.
      WRITE sy-uline(105).
      WRITE :/ '|',2 text-101, "MATERIAL NO:
             16 text-102,    "MATERIAL DESCRIPTION
             52 text-103,    "PLANT
             60 text-104,    "STORAGE LOCATION.
             74 text-105,    "MANUFACTURE PARTNER NO.
             88 text-106,    "VALUATED STOCK.
             95 text-107.    "STANDARD PRICE.
            105 '|'.
      FORMAT COLOR COL_GROUP.
      WRITE :/ '|',2 text-108, " UNRESTRCTED STOCK
              16 text-109,     " SALES DOCUMENT NO:
              20 text-110,     " ITEM NO:
              27 text-111,     " UNIT
              32 text-112,     " NET VALUE
              39 text-113,     " ITEM CATEGRY
              50 text-114,     " QUANTITY
              60 text-115,     " BLOCKED STOCK
              79 text-116,     " TOTAL STOCK
              95 text-117.     " STOCK TRANSFER
             87 '|'.
      FORMAT COLOR OFF.
      WRITE sy-uline(105).
    *START OF SELECTION
    START-OF-SELECTION.
      IF NOT s_matnr IS INITIAL
        OR NOT s_werks IS INITIAL
        OR NOT s_lgort IS INITIAL.
        PERFORM select1.
      ELSEIF NOT s_charg IS INITIAL.
        PERFORM select2.
      ELSEIF NOT s_matnr IS INITIAL
        OR NOT s_werks IS INITIAL
        OR NOT s_lgort IS INITIAL
        AND NOT s_charg IS INITIAL.
        PERFORM select3.
      ENDIF.
      PERFORM final1.
      PERFORM collect.
    *END OF SELECTION
    END-OF-SELECTION.
      LOOP AT LT_FINAL.
        FORMAT COLOR COL_KEY.
        WRITE :/2 LT_FINAL-matnr,
               14 LT_FINAL-maktx,
               52 LT_FINAL-werks,
               58 LT_FINAL-lgort,
               69 LT_FINAL-mfrpn,
               73 LT_FINAL-labst,
               87 LT_FINAL-usp.
        FORMAT COLOR OFF.
        FORMAT COLOR COL_NORMAL.
        WRITE :/2 LT_FINAL-kalab,
                14 LT_FINAL-vbeln,
                17 LT_FINAL-posnr,
                24 LT_FINAL-uom,
                28 LT_FINAL-sov,
                36 LT_FINAL-pstyv,
                46 LT_FINAL-kwmeng,
                57 LT_FINAL-retme,
                65 LT_FINAL-salk3,
                75 LT_FINAL-umlme.
      ENDLOOP.
      FORMAT COLOR COL_TOTAL.
      WRITE :/2 text-119,     " TOTAL VALUE
              28 V_sov_total,
              87 V_urestrict_total.
      FORMAT COLOR OFF.
    Form Name: select1
    text: Population of internal table LT_MARD and using LT_MARD populating
          the internal table LT_MCHB
    FORM select1.
      SELECT matnr
             werks
             lgort
             labst
             retme
             umlme
             FROM mard
             INTO TABLE LT_mard
             WHERE matnr IN s_matnr
             AND werks IN s_werks
             AND lgort IN s_lgort.
      SELECT matnr
             charg
             FROM mchb
             INTO TABLE LT_mchb
             FOR ALL ENTRIES IN LT_mard
             WHERE matnr EQ LT_mard-matnr.
    ENDFORM.                                                    "select1
    Form Name: select2
    text:Population of internal table LT_MCHB and using LT_MCHB populating
         LT_MARD
    FORM select2.
      SELECT matnr
             charg
             FROM mchb
             INTO TABLE LT_mchb
             WHERE charg IN s_charg.
      SELECT matnr
             werks
             lgort
             labst
             retme
             umlme
             FROM mard
             INTO TABLE LT_mard
             FOR ALL ENTRIES IN LT_mchb
             WHERE matnr EQ LT_mchb-matnr.
    ENDFORM.                                                    "select2
    Form Name: select3
    text: Population of internal table LT_TAB using inner join and then
          populating internal tables LT_MARD and LT_MCHB
    FORM select3.
      SELECT a~matnr
             a~werks
             a~lgort
             a~labst
             a~retme
             a~umlme
             b~charg
             INTO CORRESPONDING FIELDS OF TABLE LT_TAB
             FROM mard AS a
             INNER JOIN mchb AS b ON bmatnr = amatnr
             WHERE a~matnr IN s_matnr
             OR a~werks IN s_werks
             OR a~lgort IN s_lgort
             AND b~charg IN s_charg.
      LOOP AT LT_TAB.
        MOVE: LT_TAB-matnr TO wa_mard-matnr,
              LT_TAB-werks TO wa_mard-werks,
              LT_TAB-lgort TO wa_mard-lgort,
              LT_TAB-labst TO wa_mard-labst,
              LT_TAB-retme TO wa_mard-retme,
              LT_TAB-umlme TO wa_mard-umlme,
              LT_TAB-matnr TO wa_mchb-matnr,
              LT_TAB-charg TO wa_mchb-charg.
        APPEND wa_mard TO LT_mard.
        APPEND wa_mchb TO LT_mchb.
      ENDLOOP.
    ENDFORM.                                                    "select3
    Form Name:collect
    text:population of LT_FINAL internal table-LT_FINAL using other internal
          tables
    FORM collect.
      LOOP AT LT_mard INTO wa_mard.
        MOVE : wa_mard-matnr TO LT_FINAL-matnr,
               wa_mard-werks TO LT_FINAL-werks,
               wa_mard-lgort TO LT_FINAL-lgort,
               wa_mard-labst TO LT_FINAL-labst,
               wa_mard-retme TO LT_FINAL-retme,
               wa_mard-umlme TO LT_FINAL-umlme.
        READ TABLE LT_makt INTO wa_makt WITH KEY matnr = wa_mard-matnr.
        MOVE wa_makt-maktx TO LT_FINAL-maktx.
        READ TABLE LT_mska INTO wa_mska WITH KEY matnr = wa_mard-matnr.
        MOVE: wa_mska-kalab TO LT_FINAL-kalab,
              wa_mska-vbeln TO LT_FINAL-vbeln,
              wa_mska-posnr TO LT_FINAL-posnr.
        READ TABLE LT_vbap INTO wa_vbap WITH KEY matnr = wa_mard-matnr.
        MOVE: wa_vbap-kwmeng TO LT_FINAL-kwmeng.
        READ TABLE LT_mara INTO wa_mara WITH KEY matnr = wa_mard-matnr.
        MOVE : wa_mara-mfrpn TO LT_FINAL-mfrpn.
        READ TABLE LT_mbew INTO wa_mbew WITH KEY matnr = wa_mard-matnr.
      Calculation of Unrestricted value
        LT_FINAL-usp = wa_mard-labst * wa_mbew-stprs.
        V_urestrict_total = V_urestrict_total + ( wa_mard-labst * wa_mbew-stprs ).
       CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
         EXPORTING
           input         = V_urestrict_total
        IMPORTING
          OUTPUT        = V_urestrict_total
        MOVE wa_mbew-salk3 TO LT_FINAL-salk3.
        READ TABLE LT_ekpo INTO wa_ekpo WITH KEY matnr = wa_mard-matnr.
        MOVE wa_ekpo-meins TO LT_FINAL-uom.
      Calculation of Sales Order Value
        LT_FINAL-sov = wa_mska-kalab * wa_ekpo-netpr.
        V_sov_total = V_sov_total + ( wa_mska-kalab * wa_ekpo-netpr ).
        APPEND LT_FINAL.
      ENDLOOP.
    ENDFORM.                    "collect
    *Form Name:FINAL1
    *Population of all the internal tables
    FORM FINAL1.
      SELECT matnr
             kalab
             vbeln
             posnr
             FROM mska
             INTO TABLE LT_mska
             FOR ALL ENTRIES IN LT_mard
             WHERE matnr EQ LT_mard-matnr.
      SELECT matnr
             kwmeng
             pstyv
             FROM vbap
             INTO TABLE LT_vbap
             FOR ALL ENTRIES IN LT_mard
             WHERE matnr EQ LT_mard-matnr.
      SELECT matnr
             salk3
             stprs
             FROM mbew
             INTO TABLE LT_mbew
             FOR ALL ENTRIES IN LT_mard
             WHERE matnr EQ LT_mard-matnr.
      SELECT matnr
             mfrpn
             FROM mara
             INTO TABLE LT_mara
             FOR ALL ENTRIES IN LT_mard
             WHERE matnr EQ LT_mard-matnr.
      SELECT matnr
             maktx
             FROM makt
             INTO TABLE LT_makt
             FOR ALL ENTRIES IN LT_mard
             WHERE matnr EQ LT_mard-matnr.
      SELECT matnr
             netpr
             FROM ekpo
             INTO TABLE LT_ekpo
             FOR ALL ENTRIES IN LT_mard
             WHERE matnr EQ LT_mard-matnr.
    ENDFORM.                                                    "final1
    Reward if helpful.
    Chandralekha

Maybe you are looking for