How to reduce CompositionElements/RAM consumption, changing MediaElement won't release memory.

Hello there,
First of all thanks for such a great framework, its pretty nice architected and really helpfull.
I've been using media composition elements In custom made player experience,
What I came across and can't get rid off is memory usage by the flash player whilst media elements are in series and parallel.
Whenever I try to remove media elements from composition element,
or add/change/remove mediaElement it won't affect player to release memory.
'nulling' player media reference, removing element from media container, also won't help.
Aprox. adding up to twenty media elements causes 400-500 Mb of RAM usage, the more lements the more RAM..
Could guru's tell me how can I reduce/avoid such an issue, any workaround? (Is that issue related to flash player VideoObject/NetStream scope thats out of OSMF?)
Any advance will be apreciated.Thank you.
Env. Flex SDK 4.1 + OSMF 1.5 release
Pseudo code as follows: 
SomeMediaFactory 
.. function constructMediaElement():MediaElement
    var aggrElement:ParallelElement = new ParallelElement();
    var serial1:SerialElement = new SerialElement();
    var serial2:SerialElement = new SerialElement();
    var videoOfSerial1:LightweightVideoElement = new LightweightVideoElement(new URLResource("some.media1.mp4");
    var videoOfSerial2:LightweightVideoElement = new LightweightVideoElement(new URLResource("some.media2.mp4");
    //add to serial
    serial1.addChild(video1);
    serial1.addChild(video2);
    serial1.addChild(video5);
    serial2.addChild(video6);
    serial2.addChild(video7);
    serial2.addChild(video10);
    //add to parallel
    aggrElement.addChild(series1);
    aggrElement.addChild(series2); 
    return aggrElement;
//release container and media
...function releaseMedia()
    if (mediaPlayer.media)
        mediaContainer.removeMediaElement(mediaPlayer.media)
    mediaPlayer.media = null;   
...function constructMedia()
    releaseMedia();
    var newMedia:MediaElmnt = SomeMediaFactory.constructMediaElement();
    mediaPlayer.media = newMedia;
    mediaContainer.addMediaElement(newMedia)
..function init()
    constructMedia();
.. function onSomeEventThatWeNeedChangeMediaSource()
     releaseMedia()..
     mediaPlayer.media = Somefactory.newMedia();

Hi msrustem,
It looks like there's indeed a memory build up when using multiple media elements in a serial composition.
I've currently logged a bug in Jira (link: http://bugs.adobe.com/jira/browse/FM-1227), and it will go throught a review process (hence I'm not sure when the fix will be out, but as soon as it is, I'll let you know).
Off the top of my head it looks like the netStreams used to create the serial composition are not reused, but rather new ones are added and cached with every new media element that starts playing, and that could be the cause. However developers need to take a closer look.
Feel free to check out the bug description and provide additional information if necessary.

Similar Messages

  • Reducing physical RAM consumption by oracle instance in my laptop

    I wanted to reduce the amount of RAM consumed by my Oracle Instance in my machine.
    OS: Windows Server 2003
    DB version: 10GR2.So i tried to reduce the sga_max_size to 200mb then restarted the instance. But sga_max_size remains the same. What am i doing wrong?
    SQL> show parameter sga_max_size
    NAME                                 TYPE        VALUE
    sga_max_size                         big integer 584M
    SQL> alter system set sga_max_size=200m scope=spfile;
    System altered.
    SQL> shutdown immediate;
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SQL> startup
    ORACLE instance started.
    Total System Global Area  612368384 bytes
    Fixed Size                  1250428 bytes
    Variable Size             281021316 bytes
    Database Buffers          322961408 bytes
    Redo Buffers                7135232 bytes
    Database mounted.
    Database opened.
    SQL> show parameter sga_max_size
    NAME                                 TYPE        VALUE
    sga_max_size                         big integer <font color="red"><b>584M</b></font>

    You can reduce SGA_MAX_SIZE as well as increase it, but it requires instance restart. The reason you cannot change it is that you have SGA_TARGET set to a higher value, or total value of these parameters is larger than your value for SGA_MAX_SIZE:
    shared_pool_size
    large_pool_size
    java_pool_size
    db_cache_size
    By the way, if you want to reclaim memory for your OS, you shouldn't worry about SGA_MAX_SIZE. Decrease SGA_TARGET instead.
    Message was edited by:
    Anvar Huseynov

  • How to reduce caption size when changing screen ratios?

    Hi,
    Im creating a responsive project but my font sizes are the same going from a computer size iphone size. Is there a way to change this so it scales with the screen?
    Thanks,
    Kristian

    Hello Kristian,
    Welcome to Adobe Forums.
    In responsive project it does change the font size automatically going from Primary to Tablet and Mobile view. If you add any text or image in primary view it will adjust size and position of text or image or any object automatically in remaining two views as show below.
    It seems like that you have unlinked the devices from each other.
    Regards,
    Rajeev.

  • ITunes nearing 1GB of RAM consumption! Any ideas to lessen the load?

    Hello -
    My name is Erick and I'm an ACMT/Network Engineer. Apple-certified, but not Apple-employed.
    I have encountered an issue in iTunes which was not resolved with the latest 10.6.3 update and was hoping for any community suggestions or advice.
    First, context may be important: I use iTunes primarily as a Home Sharing home-base to stream my TV Shows and Movies to Apple TVs in my home. As a result, it (as well as the iMac) are on 24/7 with the exception of a daily scheduled task which quits and reopens iTunes to sync unwatched media to my iOS devices at 4:30AM. 
    I have noticed several things with iTunes 10.6 which I have documented in other questions here on the forums (long periods of unresponsiveness, the inability to scrub videos), but this issue may be just as significant and could be a root cause in my other problems. This particular question deals with RAM consumption. I have noticed for years that iTunes is a memory hog, so you won't find me shocked there, but what has shocked me is how the amount of RAM iTunes consumes has risen with the amount of RAM I've installed. I currently use an iMac (mid-2010) with a quad i7 and 16GB of RAM.
    I have noticed lately that upon opening iTunes 10.6.1 (and 10.6 before it) that iTunes immediately captures about 250MB of RAM. While I have plenty to spare in comparison, I've noticed that the amount of RAM it consumes swells considerably throughout the day. For example, my iTunes is completely idle right now - no devices are connected, no media is streaming or caching, no store purchases are downloading, and iTunes Match/Genius is not actively scanning anything - but my iTunes shows 605MB of RAM. When playing an m4v file converted from mp4 (so we're talking maybe a 200MB media file - not an MKV convert or anything in 1080p), I've noticed iTunes balloon to 900+MB of RAM. If I quit the application and open it again, it immediately snatches up that 250MB or so of RAM, then balloons within minutes.
    So while I expect iTunes to consume RAM, as it is a very resource-heavy and busy media center hub, I am surprised by the amount of RAM being consumed here and was wondering if anyone might be able to clarify whether I should consider this a "problem" or just iTunes being iTunes; and if it isn't a problem, are there still any suggestions toward how I could minimize RAM consumption? I realize that I have RAM to spare, but when I get into video conversions, music playback, and work on this computer (all the while my wife is streaming a video across the house on an Apple TV), I do want to make sure I'm not wasting memory on an application that might be ballooning unnecessarily (it is, after all, 6X the consumption of the next app in line).
    Just for those who might be wondering what I've already tried, I've worked on several quick fix ideas to help remedy the situation (and hoped they would fix the other issues I've experienced with iTunes 10.6): I've rebuilt the library by opening a new library and importing from my previous iTunes LIbrary file; I've created a new library, dragged any media to it, and tried to play it; I've run iTunes in 32-bit mode. None of these has resolved the issue. I have also attempted to run these files from a new user account (with a new library or with the existing library), and have tried them from an external troubleshooting drive which is also running Lion 10.7.3 and iTunes 10.6.1.
    Any ideas, suggestions, or recommendations anyone could provide to aid with this problem? While it's not crippling, it does cause some headaches as other applications begin fighting for memory. I also wonder if the amount of RAM it's consuming might be the source of some other playback and unresponsiveness issues I've experienced.
    Thanks for any suggestions; I really appreciate your time.

    I have resolved my issue with iTunes' RAM consumption and wanted to post the solution for anyone who might be experiencing similar symptoms. It was really quite simple to fix, I just didn't see it for what it was:
    iTunes Match was causing iTunes to utilize significant amounts of RAM to queue, refresh, or sync my iTunes Match database.
    iTunes Match - which also forces Genius Mode to be on (something that used to cause my iTunes 10.5 to freeze and balloon in RAM usage before I turned it off) - would regularly attempt to refresh my database of 21,000 matched songs (none of which were stored on the computer - just in the cloud) and when it would attempt to update or refresh that library, the program would stop responding. The RAM ballooning I saw when the application launched would start to climb during that unresponsive period, when iTunes was attempting to pack more and more power into the Match check to get it to power through.
    So, the simple solution was this: Turn iTunes Match off and iTunes quits freezing, and its RAM usage after 24 hours of uptime is about 130MB.
    Now, that of course completely eliminates the usefulness of iTunes Match since the music is no longer accessible on this machine in this iTunes Library. So how to restore its usefulness without recreating the problem? Slightly more aggravating, but still working right: I created a separate, fresh new library and named it iTunes Match. When I need music, I hold option when selecting the iTunes app and select my Match Library, which has NOTHING else in it but iTunes Match. When I'm done with the music, I switch back to my 24/7 media streaming library that has my 2TB of TV Shows & Movies (and device sync relationships) in it.
    It doesn't seem like iTunes Match causes freezing and RAM ballooning all by itself, it just seems like in a library that's also full of other stuff, it's the final straw that kills the performance. Split the libraries up and things seem to work really well in both.
    Not a perfect solution, but until the next release of iTunes, this may be the best bet. I hope this helps someone else out there, but it at least cleared up my issue. Thanks for reading.

  • How to reduce RAM has reserveed by hardware?

    Hp Probook 4520s. I add RAM from 2 to 4 Gb. Resource monitor indicate that about 1Gb RAM has reserveed by hardware.
    How to reduce this reserved RAM?
    BIOS installed last version F.20 8 сен 2011...
    OS Windows 7 Home Basic say 4Gb and 2.84 available/

    Hardware reserved memory is memory used by your hardware such as the video card. You shouldn't worry about this memory usage.

  • Measuring the cpu and ram consumption of a given query in sql server

    hello there how you doing and am new to this sql server forum and i suddenly popped to ask questions related to sql server
    and my question goes like this
    in sql server i have table called testt and it have more thna10000000 records
    and i have written a query select * from testt limit 9000000; and what i want is to measure the
    CPU consumption of this given query=???????????????
    and
    RAM consumption of this given query=???????????????
    Time consumption of this given query=?????????????? this i will get it from the result bar but i don't know whether it is correct or not
    any help on this it may be query, tool or configurations all are acceptable and appreciated
    10Q for letting me ask questions and feeling freely.

    Please check these queries and this may helps you to get whats happening on with CPU currently..
    SELECT getdate() as "RunTime", st.text, qp.query_plan, a.* FROM sys.dm_exec_requests a CROSS APPLY sys.dm_exec_sql_text(a.sql_handle) as st CROSS APPLY sys.dm_exec_query_plan(a.plan_handle) as qp order by CPU_time desc
    Top 50 CPU usage :
    SELECT TOP 50 st.text
                   ,st.dbid
                   ,st.objectid
                   ,qs.total_worker_time
                   ,qs.last_worker_time
                   ,qp.query_plan
    FROM sys.dm_exec_query_stats qs
    CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) st
    CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) qp
    ORDER BY qs.total_worker_time DESC
    SP_Whoisactive --- download from : http://www.brentozar.com/responder/log-sp_whoisactive-to-a-table/
    Activity Monitor and sp_who2 active also will give some idea...
    Reference links...
    http://channel9.msdn.com/posts/SQL-server-High-CPU--Part-1
    http://channel9.msdn.com/posts/Troubleshooting-SQL-server-High-CPU--Part-2
    http://jeffstevenson.karamazovgroup.com/2008/09/identifying-high-cpu-sql-processes.html
    http://searchsqlserver.techtarget.com/tutorial/Step-1-CPU-usage
    ================
    Execute this script and and start doing your analysis in your server so that you will get more idea how its working and all the details...
    Sample CPU Test : Dont try this in production and try this in your test or Dev server..
    -- Query to Keep CPU Busy for 2 0 Seconds
    DECLARE    @T DATETIME, @F BIGINT;
    SET @T = GETDATE();
    WHILE DATEADD(SECOND,20,@T)>GETDATE()
    SET    @F=POWER(2,30);
    You can easily change the parameter in the DATEADD and can make it run for 50 seconds.
    -- Query to Keep CPU Busy for 50 Seconds
    DECLARE    @T DATETIME, @F BIGINT;
    SET @T = GETDATE();
    WHILE DATEADD(SECOND,50,@T)>GETDATE()
    SET    @F=POWER(2,30);
    Raju Rasagounder MSSQL DBA

  • How do you add RAM to a Macbook 2.1

    I have a Macbook 2.1 thats about a 2006 model. It's running MAC OS X 10.5.8 and has 512mb of memory 667 MHz DDR2 SD Ram. I  want to install Mac OS X Snow Leopard 10.6.3 but it says that I require at least 1GB of RAM.
    Can anyone tell me how to do this, what i need to buy? I recently bought a new ipod nano and it won't work because i cannot update to the next level of itunes.
    I'm not that computer savvy, so please keep it simple.
    Thank you. TDM.

    You can put two 2gb RAM sticks in your model 2,1 but it can only use 3,3gb. This is a hardware limitation and cannot be changed.
    http://en.wikipedia.org/wiki/3_GB_barrier
    http://www.everymac.com/systems/apple/macbook_pro/faq/macbook-pro-core-2-duo-3-g b-memory-limitation-details.html
    OWC tests have found that there is a slight speed increase with having two 2gb sticks in rather than one 1gb and one 2gb. Your model is in the gray lines at the bottom of the graph. http://eshop.macsales.com/shop/Memory_Benchmark/Apple_MacBook/
    These are good online stores for Mac compatible RAM
    OWC 667Mhz RAM
    http://eshop.macsales.com/shop/memory/MacBook/DDR2/ - They offer Mac tested RAM at very good prices.
    Crucial Memory http://www.crucial.com/ - good place to buy RAM from all over the world. They also have an excellent memory selector that allows you to choose memory based on your computer's model
    Data Memory Systems http://www.datamemorysystems.com/apple-memory.asp - another good, cheap place to buying RAM if you live in the U.S.
    Here are instructions on replacing RAM in a MacBook with a removable battery. http://homeoffice.consumerelectronicsnet.com/articles/viewarticle.jsp?id=44404
    If you don’t have the tools to open up the MacBook OWC has a set for $5.
    http://eshop.macsales.com/item/OWC/TOOLKITMHD/

  • How to reduce performance time.

    Hi,
    Any body guide me how to reduce performance time for this report.
    It’s taking to much time for execution.
    *& Report  ZEOU_CST_CLAIM_REP                                          *
    REPORT  zeou_cst_claim_rep.
    *& Program Name    : ZEOU_CST_CLAIM_REP                                *
    *& Title           : CST Claim Report                                  *
    *& Module Name     : EOU                                               *
    *& Author          : Chandra Vangoor                                   *
    *& Create Date     : 05.05.2006                                        *
    *& Logical DB      : None                                              *
    *& Program Type    : On-Line.                                          *
    *& SAP Release     : 4.7                                               *
    *& Description     :                                                   *
    *& Log    Date    Author        Reason of change
    TABLES
    TABLES : a363,
             mara,
             marc,
             makt,
             ekko,
             ekpo,
             mkpf,
             mseg,
             konp,
             konh.
    SELECTION-SCREEN
    SELECTION-SCREEN   :   BEGIN OF BLOCK cst WITH FRAME TITLE text-001.
    SELECT-OPTIONS :   s_matnr FOR mara-matnr,                            "Material Number
                       s_lifnr FOR ekko-lifnr,                            "Account Number of the Vendor
                       s_bedat FOR ekko-bedat,                            "Purchasing Document Date
                       s_kschl FOR konh-kschl OBLIGATORY NO INTERVALS,    "Condition type
                       s_bwart FOR mseg-bwart OBLIGATORY NO INTERVALS.    "Movement Type (Inventory Management)
    PARAMETERS     :   p_werks LIKE marc-werks OBLIGATORY.                "Plant
    SELECTION-SCREEN   :   END OF BLOCK cst.
    INCLUDES
    INCLUDE zalv_data.
    DATA - INTERNAL TABLES AND FIELD LISTS
    DATA :  BEGIN    OF     a363_itab  OCCURS 0,
            matnr    LIKE   a363-matnr,                    "Material Number
            lifnr    LIKE   a363-lifnr,                    "Account Number of the Vendor
            werks    LIKE   a363-werks,                    "Plant
            kschl    LIKE   a363-kschl,                    "Condition type
            knumh    LIKE   a363-knumh,                    "Condition record number
            kbetr    LIKE   konp-kbetr,                    "Rate (condition amount or percentage) where no scale exists
            END      OF     a363_itab.
    DATA :  BEGIN    OF     konp_itab  OCCURS 0,
            knumh    LIKE   a363-knumh,                    "Condition record number
            kbetr    LIKE   konp-kbetr,                    "Rate (condition amount or percentage) where no scale exists
            lifnr    LIKE   a363-lifnr,                    "Account Number of the Vendor
            END      OF     konp_itab.
    DATA :  BEGIN    OF     ekko_itab  OCCURS 0,
            ebeln    LIKE   ekko-ebeln,                    "Purchasing Document Number
            lifnr    LIKE   ekko-lifnr,                    "Account Number of the Vendor
            bedat    LIKE   ekko-bedat,                    "Purchasing Document Date
            END      OF     ekko_itab.
    DATA :  BEGIN    OF     ekpo_itab  OCCURS 0,
            ebeln    LIKE   ekpo-ebeln,                    "Purchasing Document Number
            ebelp    LIKE   ekpo-ebelp,                    "Item Number of Purchasing Document
            matnr    LIKE   ekpo-matnr,                    "Material Number
            werks    LIKE   ekpo-werks,                    "Plant
            menge    LIKE   ekpo-menge,                    "Purchase order quantity
            END      OF     ekpo_itab.
    DATA :  BEGIN    OF     v_po_det  OCCURS 0,            "VENDOR + PLANT + PO DEATILS
            lifnr    LIKE   ekko-lifnr,                    "Account Number of the Vendor
            ebeln    LIKE   ekko-ebeln,                    "Purchasing Document Number
            ebelp    LIKE   ekpo-ebelp,                    "Item Number of Purchasing Document
            bedat    LIKE   ekko-bedat,                    "Purchasing Document Date
            matnr    LIKE   ekpo-matnr,                    "Material Number
            werks    LIKE   ekpo-werks,                    "Plant
            menge    LIKE   ekpo-menge,                    "Purchase order quantity
            kbetr    LIKE   konp-kbetr,                    "Rate (condition amount or percentage) where no scale exists
            END      OF     v_po_det.
    DATA :  BEGIN    OF     mseg_itab  OCCURS 0,
            mblnr    LIKE   mseg-mblnr,                    "Number of Material Document
            ebeln    LIKE   mseg-ebeln,                    "Purchasing Document Number
            ebelp    LIKE   mseg-ebelp,                    "Item Number of Purchasing Document
            matnr    LIKE   mseg-matnr,                    "Material Number
            lifnr    LIKE   mseg-lifnr,                    "Account Number of the Vendor
            werks    LIKE   mseg-werks,                    "Plant
            menge    LIKE   mseg-menge,                    "Quantity
            dmbtr    LIKE   mseg-dmbtr,                    "Amount in local currency
            bwart    LIKE   mseg-bwart,                    "Movement Type (Inventory Management)
            END      OF     mseg_itab.
    DATA :  BEGIN    OF     mkpf_itab  OCCURS 0,
            mblnr    LIKE   mkpf-mblnr,                    "Number of Material Document
            bldat    LIKE   mkpf-bldat,                    "Document Date in Document
            END      OF     mkpf_itab.
    DATA :  BEGIN    OF     zeou_pcrdtl_itab  OCCURS 0,
            matnr    LIKE   zeou_pcrdtl-matnr,             "Material Number
            lifnr    LIKE   zeou_pcrdtl-lifnr,             "Account Number of the Vendor
            mblnr    LIKE   zeou_pcrdtl-mblnr,             "Number of Material Document
            whssn    LIKE   zeou_pcrdtl-whssn,             "Warehouse Records Entry Serial No.
            whsdt    LIKE   zeou_pcrdtl-whsdt,             "Warehouse Records Entry date
            END      OF     zeou_pcrdtl_itab.
    DATA :  BEGIN    OF     gr_wh_info  OCCURS 0,          "INFO OF GR & WH BASED ON MVMT TYPE & PO
            mblnr    LIKE   mseg-mblnr,                    "Number of Material Document
            bldat    LIKE   mkpf-bldat,                    "Document Date in Document
            ebeln    LIKE   mseg-ebeln,                    "Purchasing Document Number
            ebelp    LIKE   ekpo-ebelp,                    "Item Number of Purchasing Document
            matnr    LIKE   mseg-matnr,                    "Material Number
            lifnr    LIKE   mseg-lifnr,                    "Account Number of the Vendor
            werks    LIKE   mseg-werks,                    "Plant
            menge    LIKE   mseg-menge,                    "Quantity
            dmbtr    LIKE   mseg-dmbtr,                    "Amount in local currency
            bwart    LIKE   mseg-bwart,                    "Movement Type (Inventory Management)
            whssn    LIKE   zeou_pcrdtl-whssn,             "Warehouse Records Entry Serial No.
            whsdt    LIKE   zeou_pcrdtl-whsdt,             "Warehouse Records Entry date
            END      OF     gr_wh_info.
    DATA :  BEGIN    OF     bseg_itab  OCCURS 0,
            ebeln    LIKE   bseg-ebeln,                    "Purchasing Document Number
            ebelp    LIKE   bseg-ebelp,                    "Item Number of Purchasing Document
            matnr    LIKE   bseg-matnr,                    "Material Number
            lifnr    LIKE   bseg-lifnr,                    "Account Number of the Vendor
            werks    LIKE   bseg-werks,                    "Plant
            buzid    LIKE   bseg-buzid,                    "Identification of the Line Item
            bschl    LIKE   bseg-bschl,                    "Posting Key
            wrbtr    LIKE   bseg-wrbtr,                    "Amount in document currency
            bukrs    LIKE   bseg-bukrs,                    "Company Code
            belnr    LIKE   bseg-belnr,                    "Accounting Document Number
            gjahr    LIKE   bseg-gjahr,                    "Fiscal Year
            END      OF     bseg_itab.
    DATA :  BEGIN    OF     bkpf_itab  OCCURS 0,
            bukrs    LIKE   bkpf-bukrs,                    "Company Code
            belnr    LIKE   bkpf-belnr,                    "Accounting Document Number
            gjahr    LIKE   bkpf-gjahr,                    "Fiscal Year
            xblnr    LIKE   bkpf-xblnr,                    "Reference Document Number
            bldat    LIKE   bkpf-bldat,                    "Document Date in Document
            END      OF     bkpf_itab.
    DATA :  BEGIN    OF     vend_inv  OCCURS 0,            "VENDOR INVOICE DETAILS
            ebeln    LIKE   bseg-ebeln,                    "Purchasing Document Number
            ebelp    LIKE   bseg-ebelp,                    "Item Number of Purchasing Document
            matnr    LIKE   bseg-matnr,                    "Material Number
            lifnr    LIKE   bseg-lifnr,                    "Account Number of the Vendor
            werks    LIKE   bseg-werks,                    "Plant
            buzid    LIKE   bseg-buzid,                    "Identification of the Line Item
            bschl    LIKE   bseg-bschl,                    "Posting Key
            wrbtr    LIKE   bseg-wrbtr,                    "Amount in document currency
            bukrs    LIKE   bseg-bukrs,                    "Company Code
            belnr    LIKE   bseg-belnr,                    "Accounting Document Number
            gjahr    LIKE   bseg-gjahr,                    "Fiscal Year
            xblnr    LIKE   bkpf-xblnr,                    "Reference Document Number
            bldat    LIKE   bkpf-bldat,                    "Document Date in Document
            END      OF     vend_inv.
    DATA :  BEGIN    OF     chckinit  OCCURS 0,            "CHEQUE INIT INFO
            ebeln    LIKE   bseg-ebeln,                    "Purchasing Document Number
            ebelp    LIKE   bseg-ebelp,                    "Item Number of Purchasing Document
            matnr    LIKE   bseg-matnr,                    "Material Number
            lifnr    LIKE   bseg-lifnr,                    "Account Number of the Vendor
            werks    LIKE   bseg-werks,                    "Plant
            buzid    LIKE   bseg-buzid,                    "Identification of the Line Item
            bschl    LIKE   bseg-bschl,                    "Posting Key
            bukrs    LIKE   bkpf-bukrs,                    "Company Code
            belnr    LIKE   bkpf-belnr,                    "Accounting Document Number
            gjahr    LIKE   bkpf-gjahr,                    "Fiscal Year
            koart    LIKE   bseg-koart,                    "Account type
            augbl    LIKE   bseg-augbl,                    "Document Number of the Clearing Document
            END      OF     chckinit.
    DATA :  BEGIN    OF     chckpayer  OCCURS 0,           "CHEQUE BANK DETAILS
            vblnr    LIKE   payr-vblnr,                    "Document Number of the Payment Document
            zbukr    LIKE   payr-zbukr,                    "Paying company code
            gjahr    LIKE   payr-gjahr,                    "Fiscal Year
            chect    LIKE   payr-chect,                    "Check Number
            zaldt    LIKE   payr-zaldt,                    "Probable Payment Date (Cash Discount 1 Due)
            hbkid    LIKE   payr-hbkid,                    "Short key for a house bank
            END      OF     chckpayer.
    DATA :  chckpayer_u LIKE chckpayer OCCURS 0 WITH HEADER LINE.      "UNIQUE CHEQUE DETAILS
    DATA :  BEGIN    OF     chckfinal  OCCURS 0,           "CHEQUE FINAL INFO
            ebeln    LIKE   bseg-ebeln,                    "Purchasing Document Number
            ebelp    LIKE   bseg-ebelp,                    "Item Number of Purchasing Document
            matnr    LIKE   bseg-matnr,                    "Material Number
            lifnr    LIKE   bseg-lifnr,                    "Account Number of the Vendor
            werks    LIKE   bseg-werks,                    "Plant
            buzid    LIKE   bseg-buzid,                    "Identification of the Line Item
            bschl    LIKE   bseg-bschl,                    "Posting Key
            bukrs    LIKE   bkpf-bukrs,                    "Company Code
            belnr    LIKE   bkpf-belnr,                    "Accounting Document Number
            gjahr    LIKE   bkpf-gjahr,                    "Fiscal Year
            koart    LIKE   bseg-koart,                    "Account type
            augbl    LIKE   bseg-augbl,                    "Document Number of the Clearing Document
            vblnr    LIKE   payr-vblnr,                    "Document Number of the Payment Document
            zbukr    LIKE   payr-zbukr,                    "Paying company code
            chect    LIKE   payr-chect,                    "Check Number
            zaldt    LIKE   payr-zaldt,                    "Probable Payment Date (Cash Discount 1 Due)
            hbkid    LIKE   payr-hbkid,                    "Short key for a house bank
            END      OF     chckfinal.
    DATA :  BEGIN    OF     mat_desc OCCURS 0,
            matnr    LIKE   mara-matnr,
            maktx    LIKE   makt-maktx,
            END      OF     mat_desc.
    DATA :  BEGIN      OF     vend_det OCCURS 0,
            lifnr      LIKE   lfa1-lifnr,
            name1      LIKE   lfa1-name1,
            j_1icstno  LIKE   j_1imovend-j_1icstno,
            END        OF     vend_det.
    DATA :  BEGIN    OF     cst_rep  OCCURS 0,             "FINAL CST REPORT
            lifnr    LIKE   a363-lifnr,                    "Account Number of the Vendor
            name1    LIKE   lfa1-name1,                    "Vendor Name
            j_1icstno  LIKE   j_1imovend-j_1icstno,        " Vendor CST No.
            werks    LIKE   a363-werks,                    "Plant
           kschl    LIKE   a363-kschl,                    "Condition type
            ebeln    LIKE   ekko-ebeln,                    "Purchasing Document Number
            ebelp    LIKE   ekpo-ebelp,                    "Item Number of Purchasing Document
            bedat    LIKE   ekko-bedat,                    "Purchasing Document Date
            matnr    LIKE   ekpo-matnr,                    "Material Number
            maktx    LIKE   makt-maktx,                    "Material Description.
            kbetr    LIKE   konp-kbetr,                    "Rate (condition amount or percentage) where no scale exists
            mblnr    LIKE   mseg-mblnr,                    "Number of Material Document
            bldat    LIKE   mkpf-bldat,                    "Document Date in Document
            menge    LIKE   mseg-menge,                    "Quantity
            dmbtr    LIKE   mseg-dmbtr,                    "Amount in local currency
            cst_dmbtr LIKE  mseg-dmbtr,                    "CST Amount in local currency
            bwart    LIKE   mseg-bwart,                    "Movement Type (Inventory Management)
            whssn    LIKE   zeou_pcrdtl-whssn,             "Warehouse Records Entry Serial No.
            whsdt    LIKE   zeou_pcrdtl-whsdt,             "Warehouse Records Entry date
            buzid    LIKE   bseg-buzid,                    "Identification of the Line Item
            bschl    LIKE   bseg-bschl,                    "Posting Key
            wrbtr    LIKE   bseg-wrbtr,                    "Amount in document currency
            cst_wrbtr LIKE  bseg-wrbtr,                    "CST Amount in document currency
            belnr    LIKE   bseg-belnr,                    "Accounting Document Number
            gjahr    LIKE   bseg-gjahr,                    "Fiscal Year
            xblnr    LIKE   bkpf-xblnr,                    "Reference Document Number
            koart    LIKE   bseg-koart,                    "Account type
            augbl    LIKE   bseg-augbl,                    "Document Number of the Clearing Document
            vblnr    LIKE   payr-vblnr,                    "Document Number of the Payment Document
            zbukr    LIKE   payr-zbukr,                    "Paying company code
            chect    LIKE   payr-chect,                    "Check Number
            zaldt    LIKE   payr-zaldt,                    "Probable Payment Date (Cash Discount 1 Due)
            hbkid    LIKE   payr-hbkid,                    "Short key for a house bank
            END      OF     cst_rep.
    DATA :  BEGIN    OF     gt_output  OCCURS 0,              "ALV OUTPUT
            slno     LIKE   sy-tabix,                      "Serial Number
            lifnr    LIKE   a363-lifnr,                    "Account Number of the Vendor
            name1    LIKE   lfa1-name1,                    "Vendor Name
            j_1icstno  LIKE   j_1imovend-j_1icstno,        " Vendor CST No.
            werks    LIKE   a363-werks,                    "Plant
           kschl    LIKE   a363-kschl,                    "Condition type
            ebeln    LIKE   ekko-ebeln,                    "Purchasing Document Number
            ebelp    LIKE   ekpo-ebelp,                    "Item Number of Purchasing Document
            bedat    LIKE   ekko-bedat,                    "Purchasing Document Date
            matnr    LIKE   ekpo-matnr,                    "Material Number
            maktx    LIKE   makt-maktx,                    "Material Description
            mblnr    LIKE   mseg-mblnr,                    "Number of Material Document
            bldat    LIKE   mkpf-bldat,                    "Document Date in Document
            menge    LIKE   mseg-menge,                    "Quantity
            dmbtr    LIKE   mseg-dmbtr,                    "Amount in local currency
            cst_dmbtr LIKE  mseg-dmbtr,                    "CST Amount in local currency
            bwart    LIKE   mseg-bwart,                    "Movement Type (Inventory Management)
            whssn    LIKE   zeou_pcrdtl-whssn,             "Warehouse Records Entry Serial No.
            whsdt    LIKE   zeou_pcrdtl-whsdt,             "Warehouse Records Entry date
            buzid    LIKE   bseg-buzid,                    "Identification of the Line Item
            bschl    LIKE   bseg-bschl,                    "Posting Key
            wrbtr    LIKE   bseg-wrbtr,                    "Amount in document currency
            cst_wrbtr LIKE  bseg-wrbtr,                    "CST Amount in document currency
            belnr    LIKE   bseg-belnr,                    "Accounting Document Number
            gjahr    LIKE   bseg-gjahr,                    "Fiscal Year
            xblnr    LIKE   bkpf-xblnr,                    "Reference Document Number
            koart    LIKE   bseg-koart,                    "Account type
            augbl    LIKE   bseg-augbl,                    "Document Number of the Clearing Document
            vblnr    LIKE   payr-vblnr,                    "Document Number of the Payment Document
            zbukr    LIKE   payr-zbukr,                    "Paying company code
            chect    LIKE   payr-chect,                    "Check Number
            zaldt    LIKE   payr-zaldt,                    "Probable Payment Date (Cash Discount 1 Due)
            hbkid    LIKE   payr-hbkid,                    "Short key for a house bank
            usr_txt1(20) TYPE c,
            usr_txt2(20) TYPE c,
            END      OF     gt_output.
    *Working Variables
    DATA : cst_gr  LIKE  mseg-dmbtr,
           cst_inv LIKE  bseg-wrbtr,
           usr_txt1(20) TYPE c,
           usr_txt2(20) TYPE c.
    START-OF-SELECTION.
    *Retreiving Data from a363 table for the given input
      SELECT  matnr
              lifnr
              werks
              kschl
              knumh
              FROM a363
              INTO TABLE a363_itab
              WHERE matnr IN s_matnr AND lifnr IN s_lifnr AND werks EQ p_werks AND kschl IN s_kschl.
    *rakesh ***************************
    SELECT  *
             FROM konp
             INTO CORRESPONDING FIELDS OF TABLE konp_itab
             FOR ALL ENTRIES IN a363_itab
             WHERE knumh EQ a363_itab-knumh.
      IF  a363_itab[] IS NOT INITIAL.
        SELECT knumh
               kbetr
               lifnr
               FROM konp INTO TABLE konp_itab
               FOR ALL ENTRIES IN a363_itab
               WHERE knumh EQ a363_itab-knumh.
      ENDIF.
      LOOP AT a363_itab.
        READ TABLE konp_itab WITH KEY knumh = a363_itab-knumh.
        IF sy-subrc EQ 0.
          MOVE : konp_itab-kbetr TO a363_itab-kbetr.
          MODIFY a363_itab.
        ENDIF.
        CLEAR : a363_itab, konp_itab.
      ENDLOOP.
    rakesh****************************
    SELECT *
            FROM makt
            INTO CORRESPONDING FIELDS OF TABLE mat_desc
            FOR ALL ENTRIES IN a363_itab
            WHERE matnr EQ a363_itab-matnr.
      SELECT matnr
             maktx
             FROM makt INTO TABLE mat_desc
             FOR ALL ENTRIES IN a363_itab
             WHERE matnr EQ a363_itab-matnr.
      SELECT a~lifnr
             a~name1
             b~j_1icstno
             INTO TABLE vend_det
             FROM lfa1 AS a JOIN j_1imovend AS b
             ON alifnr EQ blifnr
             FOR ALL ENTRIES IN a363_itab
             WHERE a~lifnr EQ a363_itab-lifnr.
    Retreiving Data from EKKO & EKPO table for the given input
    And Populating the V_PO_DETAILS itab
    SELECT  *
             FROM ekko
             INTO CORRESPONDING FIELDS OF TABLE ekko_itab
             FOR ALL ENTRIES IN a363_itab
             WHERE lifnr EQ a363_itab-lifnr AND bedat IN s_bedat.
      IF  a363_itab[] IS NOT INITIAL.
        SELECT ebeln
               lifnr
               bedat
               FROM ekko INTO TABLE ekko_itab
               FOR ALL ENTRIES IN a363_itab
                WHERE lifnr EQ a363_itab-lifnr AND bedat IN s_bedat.
      ENDIF.
    SELECT  *
             FROM ekpo
             INTO CORRESPONDING FIELDS OF TABLE ekpo_itab
             FOR ALL ENTRIES IN a363_itab
             WHERE matnr EQ a363_itab-matnr AND werks EQ a363_itab-werks AND mwskz NE 'V0'.
      IF  a363_itab[] IS NOT INITIAL.
        SELECT ebeln
               ebelp
               matnr
               werks
               menge
               FROM ekpo INTO TABLE ekpo_itab
               FOR ALL ENTRIES IN a363_itab
               WHERE matnr EQ a363_itab-matnr AND werks EQ a363_itab-werks AND mwskz NE 'V0'.
      ENDIF.
      LOOP AT ekpo_itab.
        MOVE :   ekpo_itab-ebelp TO v_po_det-ebelp,
                 ekpo_itab-matnr TO v_po_det-matnr,
                 ekpo_itab-werks TO v_po_det-werks,
                 ekpo_itab-menge TO v_po_det-menge.
        READ TABLE ekko_itab WITH KEY ebeln = ekpo_itab-ebeln.
        IF sy-subrc EQ 0.
          MOVE  :  ekko_itab-lifnr TO v_po_det-lifnr,
                   ekko_itab-ebeln TO v_po_det-ebeln,
                   ekko_itab-bedat TO v_po_det-bedat.
          APPEND : v_po_det.
        ENDIF.
        CLEAR  : ekko_itab, ekpo_itab, v_po_det.
      ENDLOOP.
      LOOP AT v_po_det.
        READ TABLE a363_itab WITH KEY matnr = v_po_det-matnr lifnr = v_po_det-lifnr werks = v_po_det-werks.
        IF sy-subrc EQ 0.
          MOVE : a363_itab-kbetr TO v_po_det-kbetr.
          MODIFY v_po_det.
        ENDIF.
        CLEAR : a363_itab, v_po_det.
      ENDLOOP.
    Retreiving Data from MKPF & MSEG & ZEOU_PCRDTL table for the given input
    And Populating the GR_WH_info itab
    SELECT  *
             FROM mseg
             INTO CORRESPONDING FIELDS OF TABLE mseg_itab
             FOR ALL ENTRIES IN v_po_det
             WHERE ebeln EQ v_po_det-ebeln AND matnr EQ v_po_det-matnr AND bwart IN s_bwart.
      IF v_po_det[] IS NOT INITIAL.
        SELECT mblnr
               ebeln
               ebelp
               matnr
               lifnr
               werks
               menge
               dmbtr
               bwart
               FROM mseg INTO TABLE mseg_itab
               FOR ALL ENTRIES IN v_po_det
               WHERE ebeln EQ v_po_det-ebeln AND matnr EQ v_po_det-matnr AND bwart IN s_bwart.
      ENDIF.
      IF mseg_itab[] IS NOT INITIAL.
    SELECT  *
             FROM mkpf
             INTO CORRESPONDING FIELDS OF TABLE mkpf_itab
             FOR ALL ENTRIES IN mseg_itab
             WHERE mblnr EQ mseg_itab-mblnr.
        SELECT  mblnr
                bldat
                FROM mkpf INTO TABLE mkpf_itab
                FOR ALL ENTRIES IN mseg_itab
                WHERE mblnr EQ mseg_itab-mblnr.
      SELECT  *
             FROM zeou_pcrdtl
             INTO CORRESPONDING FIELDS OF TABLE zeou_pcrdtl_itab
             FOR ALL ENTRIES IN mseg_itab
             WHERE mblnr EQ mseg_itab-mblnr AND matnr EQ mseg_itab-matnr.
        SELECT matnr
               lifnr
               mblnr
               whssn
               whsdt
               FROM zeou_pcrdtl INTO TABLE zeou_pcrdtl_itab
                 FOR ALL ENTRIES IN mseg_itab
                 WHERE mblnr EQ mseg_itab-mblnr AND matnr EQ mseg_itab-matnr.
      ENDIF.
      LOOP AT mseg_itab.
        MOVE  :  mseg_itab-mblnr TO gr_wh_info-mblnr,
                 mseg_itab-ebeln TO gr_wh_info-ebeln,
                 mseg_itab-ebelp TO gr_wh_info-ebelp,
                 mseg_itab-matnr TO gr_wh_info-matnr,
                 mseg_itab-lifnr TO gr_wh_info-lifnr,
                 mseg_itab-werks TO gr_wh_info-werks,
                 mseg_itab-menge TO gr_wh_info-menge,
                 mseg_itab-dmbtr TO gr_wh_info-dmbtr,
                 mseg_itab-bwart TO gr_wh_info-bwart.
        READ TABLE mkpf_itab WITH KEY mblnr = mseg_itab-mblnr.
        IF sy-subrc EQ 0.
          MOVE  :  mkpf_itab-bldat TO gr_wh_info-bldat.
        ENDIF.
        READ TABLE zeou_pcrdtl_itab WITH KEY mblnr = mseg_itab-mblnr.
        IF sy-subrc EQ 0.
          MOVE  :  zeou_pcrdtl_itab-whssn TO gr_wh_info-whssn,
                   zeou_pcrdtl_itab-whsdt TO gr_wh_info-whsdt.
        ENDIF.
        APPEND : gr_wh_info.
        CLEAR : mseg_itab, mkpf_itab, gr_wh_info.
      ENDLOOP.
    Retreiving Data from BSEG & BKPF table
    And Populating the Vendor Invoice Details
      IF v_po_det[] IS NOT INITIAL.
    SELECT  *
             FROM bseg
             INTO CORRESPONDING FIELDS OF TABLE bseg_itab
             FOR ALL ENTRIES IN v_po_det
             WHERE ebeln EQ v_po_det-ebeln AND matnr EQ v_po_det-matnr AND buzid EQ 'W' AND bschl EQ '96'.
        SELECT  ebeln
                ebelp
                matnr
                lifnr
                werks
                buzid
                bschl
                wrbtr
                bukrs
                belnr
                gjahr
                FROM bseg INTO TABLE bseg_itab
                  FOR ALL ENTRIES IN v_po_det
                  WHERE ebeln EQ v_po_det-ebeln AND matnr EQ v_po_det-matnr AND buzid EQ 'W' AND bschl EQ '96'.
      ENDIF.
      IF bseg_itab[] IS NOT INITIAL.
    SELECT  *
             FROM bkpf
             INTO CORRESPONDING FIELDS OF TABLE bkpf_itab
             FOR ALL ENTRIES IN bseg_itab
             WHERE bukrs EQ bseg_itab-bukrs AND belnr EQ bseg_itab-belnr AND gjahr EQ bseg_itab-gjahr.
        SELECT  bukrs
                belnr
                gjahr
                xblnr
                bldat
                FROM bkpf INTO TABLE bkpf_itab
                FOR ALL ENTRIES IN bseg_itab
                WHERE bukrs EQ bseg_itab-bukrs AND belnr EQ bseg_itab-belnr AND gjahr EQ bseg_itab-gjahr.
      ENDIF.
      LOOP AT bseg_itab.
        MOVE  :  bseg_itab-ebeln TO vend_inv-ebeln,
                 bseg_itab-ebelp TO vend_inv-ebelp,
                 bseg_itab-matnr TO vend_inv-matnr,
                 bseg_itab-lifnr TO vend_inv-lifnr,
                 bseg_itab-werks TO vend_inv-werks,
                 bseg_itab-buzid TO vend_inv-buzid,
                 bseg_itab-bschl TO vend_inv-bschl,
                 bseg_itab-wrbtr TO vend_inv-wrbtr,
                 bseg_itab-bukrs TO vend_inv-bukrs,
                 bseg_itab-belnr TO vend_inv-belnr,
                 bseg_itab-gjahr TO vend_inv-gjahr.
        READ TABLE bkpf_itab WITH KEY bukrs = bseg_itab-bukrs belnr = bseg_itab-belnr gjahr = bseg_itab-gjahr.
        IF sy-subrc EQ 0.
          MOVE  :  bkpf_itab-xblnr TO vend_inv-xblnr,
                   bkpf_itab-bldat TO vend_inv-bldat.
          APPEND  :  vend_inv.
        ENDIF.
        CLEAR : vend_inv, bseg_itab, bkpf_itab.
      ENDLOOP.
    Retreiving Data from BSEG & BKPF table
    And Populating the Cheque Info Details
      IF v_po_det[] IS NOT INITIAL.
    SELECT  *
             FROM bseg
             INTO CORRESPONDING FIELDS OF TABLE chckinit
             FOR ALL ENTRIES IN v_po_det
             WHERE ebeln EQ v_po_det-ebeln AND matnr EQ v_po_det-matnr AND buzid EQ 'W' AND bschl EQ '86' AND koart EQ 'K'.
        SELECT  ebeln
                ebelp
                matnr
                lifnr
                werks
                buzid
                bschl
                bukrs
                belnr
                gjahr
                koart
                augbl
                FROM bseg INTO TABLE chckinit
                  FOR ALL ENTRIES IN v_po_det
                  WHERE ebeln EQ v_po_det-ebeln AND matnr EQ v_po_det-matnr AND buzid EQ 'W' AND bschl EQ '86' AND koart EQ 'K'.
      ENDIF.
      IF chckinit[] IS NOT INITIAL.
    SELECT  *
             FROM payr
             INTO CORRESPONDING FIELDS OF TABLE chckpayer
             FOR ALL ENTRIES IN chckinit
             WHERE vblnr EQ chckinit-augbl.
        SELECT  vblnr
                zbukr
                gjahr
                chect
                zaldt
                hbkid
                FROM payr INTO TABLE chckpayer
                FOR ALL ENTRIES IN chckinit
                WHERE vblnr EQ chckinit-augbl.
      ENDIF.
      SORT chckpayer BY vblnr DESCENDING.
      LOOP AT chckpayer.
        ON CHANGE OF chckpayer-vblnr.
          MOVE   : chckpayer TO chckpayer_u.
          APPEND : chckpayer_u.
          CLEAR  : chckpayer_u, chckpayer.
        ENDON.
      ENDLOOP.
      LOOP AT chckinit.
        MOVE  :  chckinit-ebeln TO chckfinal-ebeln,
                 chckinit-ebelp TO chckfinal-ebelp,
                 chckinit-matnr TO chckfinal-matnr,
                 chckinit-lifnr TO chckfinal-lifnr,
                 chckinit-werks TO chckfinal-werks,
                 chckinit-buzid TO chckfinal-buzid,
                 chckinit-bschl TO chckfinal-bschl,
                 chckinit-bukrs TO chckfinal-bukrs,
                 chckinit-gjahr TO chckfinal-gjahr,
                 chckinit-koart TO chckfinal-koart,
                 chckinit-augbl TO chckfinal-augbl.
        READ TABLE chckpayer_u WITH KEY vblnr = chckinit-augbl gjahr = chckinit-gjahr.
        IF sy-subrc EQ 0.
          MOVE  :  chckpayer_u-vblnr TO chckfinal-vblnr,
                   chckpayer_u-zbukr TO chckfinal-zbukr,
                   chckpayer_u-chect TO chckfinal-chect,
                   chckpayer_u-zaldt TO chckfinal-zaldt,
                   chckpayer_u-hbkid TO chckfinal-hbkid.
          APPEND : chckfinal.
        ENDIF.
        CLEAR : chckfinal, chckpayer_u, chckinit.
      ENDLOOP.
    Populating the final CST TABLE
      LOOP AT v_po_det.
        MOVE  :   v_po_det-lifnr TO cst_rep-lifnr,
                  v_po_det-werks TO cst_rep-werks,
                  v_po_det-ebeln TO cst_rep-ebeln,
                  v_po_det-ebelp TO cst_rep-ebelp,
                  v_po_det-bedat TO cst_rep-bedat,
                  v_po_det-matnr TO cst_rep-matnr,
                  v_po_det-kbetr TO cst_rep-kbetr.
        READ TABLE gr_wh_info WITH KEY ebeln = v_po_det-ebeln ebelp = v_po_det-ebelp."matnr = v_po_det-matnr.
        IF sy-subrc EQ 0.
          MOVE :  gr_wh_info-mblnr TO cst_rep-mblnr,
                  gr_wh_info-bldat TO cst_rep-bldat,
                  gr_wh_info-menge TO cst_rep-menge,
                  gr_wh_info-dmbtr TO cst_rep-dmbtr,
                  gr_wh_info-bwart TO cst_rep-bwart,
                  gr_wh_info-whssn TO cst_rep-whssn,
                  gr_wh_info-whsdt TO cst_rep-whsdt.
        ENDIF.
        READ TABLE vend_inv WITH KEY ebeln = v_po_det-ebeln ebelp = v_po_det-ebelp."matnr = v_po_det-matnr.
        IF sy-subrc EQ 0.
          MOVE : vend_inv-buzid TO cst_rep-buzid,
                 vend_inv-bschl TO cst_rep-bschl,
                 vend_inv-wrbtr TO cst_rep-wrbtr,
                 vend_inv-belnr TO cst_rep-belnr,
                 vend_inv-gjahr TO cst_rep-gjahr,
                 vend_inv-xblnr TO cst_rep-xblnr.
        ENDIF.
        READ TABLE chckfinal WITH KEY ebeln = v_po_det-ebeln ebelp = v_po_det-ebelp."matnr = v_po_det-matnr.
        IF sy-subrc EQ 0.
          MOVE : chckfinal-augbl TO cst_rep-augbl,
                 chckfinal-vblnr TO cst_rep-vblnr,
                 chckfinal-zbukr TO cst_rep-zbukr,
                 chckfinal-chect TO cst_rep-chect,
                 chckfinal-zaldt TO cst_rep-zaldt,
                 chckfinal-hbkid TO cst_rep-hbkid.
        ENDIF.
        READ TABLE mat_desc WITH KEY matnr = v_po_det-matnr.
        IF sy-subrc EQ 0.
          MOVE : mat_desc-maktx TO cst_rep-maktx.
        ENDIF.
        READ TABLE vend_det WITH KEY lifnr = v_po_det-lifnr.
        IF sy-subrc EQ 0.
          MOVE : vend_det-name1 TO cst_rep-name1,
                 vend_det-j_1icstno TO cst_rep-j_1icstno.
        ENDIF.
        APPEND : cst_rep.
        CLEAR  : cst_rep, v_po_det, gr_wh_info, vend_inv, chckfinal.
      ENDLOOP.
    Populating GT_output
      LOOP AT cst_rep.
        cst_gr = cst_rep-dmbtr * ( cst_rep-kbetr / 1000 ).
        cst_inv = cst_rep-wrbtr * ( cst_rep-kbetr / 1000 ).
        MOVE : cst_gr  TO cst_rep-cst_dmbtr,
               cst_inv TO cst_rep-cst_wrbtr.
        MODIFY : cst_rep.
        CLEAR : cst_rep, cst_gr, cst_inv.
      ENDLOOP.
      LOOP AT cst_rep.
        MOVE :  sy-tabix TO gt_output-slno,
                cst_rep-lifnr TO gt_output-lifnr,
                cst_rep-name1 TO gt_output-name1,
                cst_rep-j_1icstno TO gt_output-j_1icstno,
                cst_rep-werks TO gt_output-werks,
                cst_rep-matnr TO gt_output-matnr,
                cst_rep-maktx TO gt_output-maktx,
                cst_rep-ebeln TO gt_output-ebeln,
                cst_rep-ebelp TO gt_output-ebelp,
                cst_rep-bedat TO gt_output-bedat,
                cst_rep-mblnr TO gt_output-mblnr,
                cst_rep-bldat TO gt_output-bldat,
                cst_rep-menge TO gt_output-menge,
                cst_rep-dmbtr TO gt_output-dmbtr,
                cst_rep-cst_dmbtr TO gt_output-cst_dmbtr,
                cst_rep-bwart TO gt_output-bwart,
                cst_rep-whssn TO gt_output-whssn,
                cst_rep-whsdt TO gt_output-whsdt,
                cst_rep-buzid TO gt_output-buzid,
                cst_rep-bschl TO gt_output-bschl,
                cst_rep-wrbtr TO gt_output-wrbtr,
                cst_rep-cst_wrbtr TO gt_output-cst_wrbtr,
                cst_rep-belnr TO gt_output-belnr,
                cst_rep-gjahr TO gt_output-gjahr,
                cst_rep-xblnr TO gt_output-xblnr,
                cst_rep-augbl TO gt_output-augbl,
                cst_rep-vblnr TO gt_output-vblnr,
                cst_rep-zbukr TO gt_output-zbukr,
                cst_rep-chect TO gt_output-chect,
                cst_rep-zaldt TO gt_output-zaldt,
                cst_rep-hbkid TO gt_output-hbkid.
        APPEND gt_output.
        CLEAR : cst_rep, gt_output, sy-tabix.
      ENDLOOP.
    END-OF-SELECTION.
    *-ALV Routine
      PERFORM alv_forms.
    *&      Form  alv_forms
    FORM alv_forms.
      PERFORM alv_routines.
      gx_variant = sy-repid.
      CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
        EXPORTING
          i_save     = g_save
        CHANGING
          cs_variant = gx_variant
        EXCEPTIONS
          not_found  = 2.
      IF sy-subrc = 0.
        vari = gx_variant-variant.
      ENDIF.
      PERFORM comment_build  USING gt_list_top_of_page[].
      PERFORM fieldcat_init  USING gt_fieldcat[].
      PERFORM layout_build USING gs_layout.
      PERFORM print_build  USING gs_print.
      PERFORM alv_output.
    ENDFORM.                    " alv_forms
    *&      Form  alv_routines
    FORM alv_routines.
      PERFORM eventtab_build USING gt_events[].
      PERFORM e06_t_sort_build  USING gt_sort[].
      PERFORM sp_group_build USING gt_sp_group[].
      g_save = 'A'.
      PERFORM variant_init.
    ENDFORM.                    " alv_routines
    *&      Form  eventtab_build
    ----

    Hi Anu,
    These two statements taking to much time for execution what I can do for reducing execution time.
    Regards,
    Rakesh
    SELECT ebeln
    ebelp
    matnr
    lifnr
    werks
    buzid
    bschl
    wrbtr
    bukrs
    belnr
    gjahr
    FROM bseg INTO TABLE bseg_itab
    FOR ALL ENTRIES IN v_po_det
    WHERE ebeln EQ v_po_det-ebeln AND matnr EQ v_po_det-matnr AND buzid EQ 'W' AND bschl EQ '96'.
    ENDIF.
    SELECT ebeln
    ebelp
    matnr
    lifnr
    werks
    buzid
    bschl
    bukrs
    belnr
    gjahr
    koart
    augbl
    FROM bseg INTO TABLE chckinit
    FOR ALL ENTRIES IN v_po_det
    WHERE ebeln EQ v_po_det-ebeln AND matnr EQ v_po_det-matnr AND buzid EQ 'W' AND bschl EQ '86' AND koart EQ 'K'.
    ENDIF.

  • How to reduce jpg file size, not pixel dimensions?

    I am preparing images for the web and I really have 2 questions: one about gifs, and one about jpgs.
    My standard procedure is to reduce the image to the desired pixel dimensions at 600 dpi
    That gives me a crisp small image. then I either use it as is if the file size is low enough (I try for under 600 kb) or convert it to a gif with the save for web and devices tool.
    So here are my 2 questions (I will count this solved with either answer)
    1) When I convert to a gif I have the 4 boxes: one with original size, the other 3 with options but often the options are too low res for me How do I change my 3 options to start at a higher gif res?
    2) If I try to reduce the file size of the jpg in the image size box I set the resolution lower ( 400, 300), which lowers the pixel dimensions and the filesize, but I don't want to cahnge the pixel dimensions. And  If I reset the pixel dimensions back to the size I want them, even though it is a lower resolution the file size doesn't change. How to reduce jpg file size using only the resolution, not pixel dimensions?  PS I have tried messing with checking and unchecking the 3 little boxes( scale styles, constrain proportions, and resample) but nothing has worked.

    Gif is not a great filetype, especially if you want a crisp image. What are your pixel dimensions?
    For web, it makes no difference what the dpi is, only the final pixel dimensions so once you have that as you want, use 'Save for Web and Devices' and you can lower the quality - 100% being max and 0% being lowest. I wouldn't save anything below 55%. For a 600kb image, your dimensions must be rather big.

  • How to reduce the barcode size

    hi
    How to reduce the barcode size in smartforms
    Thanks & Regards
    krishna rao

    Hai,
    Go to se73
    select system barcodes radi button
    click change button
    it wil moves to another screen .In that screen it wil show all Bar codes.
    select u r barcode from the list  click and change button.
    in this way u wil change barcode size.
    Reagards.
    kishore ale

  • File size augments after editing a form? How to reduce size?

    Hello,
    I have been building a form and found that the size of my file grew after I made 'edits' onto (ie:  changing the wording of the original form scanned onto Acrobat Pro X, changing the font colour some letters etc.)
    Question 1:  Is this normal?
    Question 2: How to reduce the size of the file? (I am aware of the option that I could save the pdf into a version that's higher (by selecting anything between 6 to 10) and that would reduce the size of the pdf.
    BUT, I also learned that if the end-user, who will receive my form and fill it in, do not have that particular version that I've saved it to, then s/he could not fill in the form!!
    Is there a solution to my problem? Please help!
    *I am using Acrobat Pro X.

    Thank you all for your responses!
    Yes, I always save my file as PDF.   Just not reduced its size by saving it to a particular version.
    to 'Test Screen Name', there is a misunderstanding on option 2.  I referred to it so that I can save the file into a version like version 8.0 or higher.  But, I understood from earlier discussions in the forum here, that people may still have earlier versions of reader (ie 6.0 or lower?) and so that's why I suggested having a link for download.
    Even with that, I don't know how savvy my end-users may be to download.  I 've had problems where people read my file using Apple and that caused problems.

  • How to reduce the silence gap of ringtone made by Garageband

    Garageband will add an extra silence (about 0.05 ~ 0.1 second) on the ending. The extra silence is automatically add on while garageband mixdown the track and send to iTunes.
    Maybe Apple just made garageband to be so, just like the ringtone sold by iTunes store, it has at least a 0.5 sec gap. But that makes the ringtone won't be a perfect loop. So, I'd like to know how to reduce the extra silence that I don't want if there's a solution for this.

    you're right, it appears the behavior of the Cycle function has changed, it is very small, but it's enough to mess up looping.
    you could cut off the excess with an audio editor:
    http://www.bulletsandbones.com/GB/GBFAQ.html#audioeditors
    but being one of the few cellphoneless people in the world, I couldn't tell you how to get the edited file into the phone. perhaps someone in the iPhone forum can give you a tip for getting that final part done?

  • How to reduce the the scrool bar size in the Portal screen

    Hello,
    We have recently migrated the EP from 7.0 to 7.3 and after the Upgreade we are facing issue in the Portal screen where the Scroll bar length in the Right Corner side is extended it's size.
    Can any one please let me know where & how to reduce the the size of the scroll bar.
    Since it's a new upgrade i am unable to get the exact parameter to change related to this Scroll bar Setting.
    Kindly let me know.
    With Regards,
    PJ.

    It looks like a custom masthead on FAT? Debug the issue with the browser tools, adapt your source and re-deploy. Does this occurs also on SAP standard framework page?
    regards

  • How to reduce the size of icons and descriptions of pallets?

    Hi!
    1. The "Control bar" is still something missing and to display the location of the same functions are different depending on the selected tool.
    Therefore, the tools will I need to keep an eye on pallets or icons. But description of the pallets is too great for me, takes place and I can not see as many pallets as I need.
    2. The idea to create multiple workspace and its continuous change is not good for me.
    When I work I prefer to have the tools at its one location, then I can rely on My reflexes when choosing a tool, and not constantly look where this time or constantly switch the workspace.
    3. How to reduce the size of icons and descriptions of pallets I, then he could fit more pallets in one column?
    Best Regards!

    Hi Monika,
    Nice to read you again. Thank you for your response.
    Yes, I read. It does not solve the problem about which I write. I guess that solves your opinion? Please hint.

  • X axis labels. How to reduce information.

    Im having trouble finding how to reduce the number of x axis labels, (time), My graph is of temperature every 4 minutes over about 10 hours. I would like to have the x axis in hours, but Numbers seems to insist on labeling all 250 points. Is there a way to get Numbers to place x axis data labels only at every 25 data points? The Numbers Users Guide does not seem to address the problem.

    If the intervals between x-values are the same, then a line graph will plot the data in the same fashion with correct distance between values. If the x-values have inconsistent intervals, then a line plot will not display the data properly.
    But it appears that I did not look at the graphs close enough as X-Y Plots can set various intervals between x-axis values while Line Plots cannot change the x-axis intervals (but can change the y-axis interval.)
    Here's a screen shot:
    Regards,

Maybe you are looking for

  • Transport document attached to infoobject from development to qualification

    Hi Experts, I am facing issues with transporting document attached to one infoobject. I tried to transport this by going into RSA1-documents-attributes and taking the logical and physical ID's. But it did not work. I tried transnporting the table ent

  • Help!!! Itunes is in Chinese after 7.6 Upgrade

    Hello, My Itunes program menu systems and commands are all in Chinese after I upgraded to version 7.6, although my music files are fine. I have tried uninstalling Itunes and re-intalling Version 7.5 from http://www.filehippo.com but every thing is st

  • How do I optimally convert 1080/60p AVCHD to MPEG2 SD for buring onto a DVD?

    Hello Forum, I am using Pr CS5.5. I've imported and edited AVCHD 1080/60p files (from a Panasonic TM700), done my editing, and now I want to burn the project onto DVDs. Sending it to Encore, using default settings there, and burning a DVD produced pr

  • Restriction for transaction PA30

    Dears,           Good Day           i asked about the possibility to control the view of personnel in screen pa30           depending on the personnel sub area of logged user           EX. if the user (HR specialist) belongs to sub area 'X' , all emp

  • SAPSYS, Password logon no longer possible

    I get an error info from log file dev_rfc0, it's "User: SAPSYS (Client: 000) Password logon no longer possible - too many failed attempts". Same error info can also be found in ST22, shown below: Runtime Errors: CALL_FUNCTION_REMOTE_ERROR Short text: