Regarding IOP limitations for data landing in reports

We have report with 170 columns in IOP. We are able to land the data around 20,000 records with 170 columns in the simple report. When we try to land the data more than 20,000+ records with 170 columns, the data is not landing on the report and we are not getting any error(in report/log file). Wanted to know is there any IOP limitation for data landing (more than 20,000 records) with more than 170 columns?
We are using excel 2003 as client.
IOP version: 11.1.2.1
~
Rajesh

Hello,
For columns limit
1. Go to interlace/vba folder
2. Open vba_base.xls
3. Open the code of the xls
4. Expand the class modules : in this open InterlaceQuery
5. In this search and replace all "150" by "200" or any other number (number of columns needed)
6. Save this, and export this module to interlace/vba folder.
7. Now you can load the XXX number of columns which you mentioned in that module.
For rows limit
1. Go to interlace/vba folder
2. Open vba_base.xls
3. Open the code of the xls
4. Expand the class modules : in this open InterlaceQuery
5. Check the parameter "MaxRow = 65536"
6. In case this is replaced by some other number make the changes and export the same.
7. Now you can load the XXXXX number of rows which you mentioned in that module.

Similar Messages

  • Tolerance Limits for Date and quantity..??

    Hi Experts,
    We would like to set the GR Tolerance Limits in the Configuration level.
    how to set the Tolerance Limits for Date and quantity..??
    if we created PO 100qty and date 01-05-009.
    if we receive the goods on 20-04-2009 and 50qty...
    For GR .. Migo should be give error message..
    where can i set this Tolerance Limit Configuration.... can u please explin me..
    Thanks in Advance,
    Anthyodaya.

    Hai
    for  quantity tolerence limit  u can do it  while creating  P O  in item details-->delivery tab.
    for date go to SPRO-->mm>purchasing->material master> define purchase value key>in that   st.del.time var               here it wil compare the dates and shows how much deviation is occuring for GR date
    configure messages in SPRO-->mm>environment data--> define attributes of system messages
    hope it may help u
    regards
    chandrasekhar

  • GR  Tolerance Limits for Date and quantity..??

    Hi Experts,
    We would like to set the GR Tolerance Limits in the Configuration level.
    how to set the Tolerance Limits for Date and quantity..??
    if we created PO 100qty and date 01-05-009.
    if we receive the goods on 20-04-2009  and  50qty...
    For GR .. Migo should be give error message..
    where can i set this Tolerance Limit  Configuration.... can u please explin me..
    Thanks in Advance,
    Anthyodaya.

    Hi,
    GR tolerance limits can be set based on the quantity only .It is configuration settings .
    MM-->Inventory Management-->Inventory Management  and physical Inventory --->set tolerance limit/
    Following are the standard settings:
    B1 ( order price quantity variance with error message): 50 %
    B2 (order price quantity variance with warning): 20 %
    VP (variance from moving average price) 25 %
    In case of dates, the tolerance limit settings based on delivery date can be achived by using user exists or create a Z t.code goods receipt copying standard one & write a code to apply your logic while you do the GR.
    Thanks,
    AMIT

  • Limits for data exponential values in Essbase

    Hi Gurus,
    Can some one let me know the limits for exponential values for the data in essbase. I know how to set it at the time of export. But and the time of data load what is the min and max(range) limit for the Exponent value. like a number 6.75285 E+008 exponent is 8. But what is the min and max like -100 to +100.
    Thanks
    Sri

    Hi,
    If I understand correctly, you want to display report id with its corresponding report name in different pages. If in that case, we can use list control to achieve your requirement. For more details, please refer to the following steps:
    Drag a list control from Toolbox to design surface.
    Drag a tablix with those two fields to the list.
    Right-click the List to use the same dataset as the tablix.
    Click the list, right-click the Details group to open the Group Properties dialog box in the Row Groups pane.
    Add a group grouped on [Report_Id].
    Select Page Breaks in the left pane, enable “Between each instance of a group”.
    If there are any other questions, please feel free to ask.
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • Searching for Data in the Report for a non-selected column in display.

    Hello,
    I have an interactive report as given below:
    select user, dept_name, sal, description, title from hr;
    Now, in the report display options I remove the title and description from the display as you know title and description are 2000 characters each.
    If I show then it takes the whole page to display one record and with this option I can search any text in the Title or Description columns.
    Now, I have hidden these two columns and when I search I do not see any records.
    Can any one tell me how to achieve this behaviour.
    What I am looking is, I do not show the column 'TITLE' or 'DESCRIPTION' and user show be able to search for any important data inside these columns.
    Please let me know how can we do this.
    Please point me to an already published article or solution or any help on this type.
    Appreciate your help on this.
    thanks
    Edited by: user648778 on Sep 18, 2008 6:13 PM

    As far as I can see this will not work. You could use a trick and make a query like this:
    SELECT USER, dept_name, sal,
              apex_item.hidden (10, mgrdescription || title)
           || '<img src="#IMAGE_PREFIX#some_nice_icon.gif">' title_description
      FROM hrThis would not display the title and description but an image and it would give you a possibility to filter on those.
    Denes Kubicek
    http://deneskubicek.blogspot.com/
    http://www.opal-consulting.de/training
    http://apex.oracle.com/pls/otn/f?p=31517:1
    -------------------------------------------------------------------

  • Determine IOPS/Throughput for Data Warehouse

    We are migrating our DW to new servers but before we install Oracle we want
    to check IOPS of new servers. As Oracle and other technical expert suggests we
    are planning to create the DB with 32K block size with DBMRC=32 so total IO
    size of 1 M but the test I performed does not support that theory. Please advise
    where I am wrong OR what is the best way to check the throughput:
    Here are my results:
    1. Created a 2 GB file deleteme
    2. For 32*32 results are: (block size=32, db_block_multi_read-count=32)
    time dd if=deleteme of=deleteme2 bs=1048576 (32*32)
    2048+0 records in
    2048+0 records out
    real 0m42.94s
    user 0m0.00s
    sys 0m1.22s
    Result: 47.69 IOPS 1MB each.
    2. For 32*8 results are: (block size=32, db_block_multi_read-count=8)
    time dd if=deleteme of=deleteme2 bs=262144 (32*8)
    8192+0 records in
    8192+0 records out
    real 0m28.12s
    user 0m0.02s
    sys 0m3.69s
    Result: 291.32 IOPS 256K each.
    Based upon above is it better to have IO size for the DB as 256K? Please advice.
    Thanks in advance.

    I/O throughout is a function of the transfer size, access type (read/write random/sequential), access range (e.g. 1 MB vs. 1 TB), arrival rate, and most importantly, the number of concurrent threads (load level). The dd command for instance is single threaded, while a file system or database can generate hundreds of concurrent threads.
    Under the control of ORACLE, data must be written through the page cache (O_DSYNC flag in open()) and the database manages it own cache, so for the most part, a file system page cache is redundant and adds a lot of overhead to I/O when used with a database. Direct I/O (the forcedirectio option of UFS for example) is often the best choice with ORACLE.
    In all cases the combination of application demand, like a 32 KB block size in ORACLE with multi-block read count set for 1 MB reads, with some number of shadow process or SQLNET threads, is going to generate a characteristic I/O workload as described by its distribution of level and composition (IO size, access type). This is the key to understanding the performance capability of any given storage resource, likewise it is the key to determining how much of a given resource is needed to target and achieve a specific performance level for a specific workload arrival rate, load level distribution and composition.
    Also, when configuring a system for 1 MB I/O you have to adjust some kernel and filesystem parameters. The Solaris maxphys, SVM md_maxphys, VxVM vol_maxio and UFS maxcontig are examples. I have heard the maxphys is adaptive in Solaris 10, but I have yet to see it adapt, and the md_maxphys (if using SVM on top of hardware RAID LUNS for example) does not adapt, nor does maxcontig (newfs �C or tunefs �a) in UFS. Each filesystem has its own configuration parameters you need to look at to see how to effect allocation and in particular contiguous allocation sizes. VxFS for example will use a 64 KB file allocation size by default and needs to be adjusted to get > 64 KB I/O. There may be other parameters governing I/O size through your filesystem as well, but these are mostly an issue if you not using Direct I/O.
    Once the workload is known the expected throughput for a complex combination of I/O sizes, and access types for a given load level can be estimated very accurately by weighted averages of the pure I/O size and access types as measured over the range of load level, from single thread to saturation for each I/O size and access type. The final result is according to Littles law: (X = N/R) * U, where X is IOPS, N is load level, R is response time (which is a function of load level and composition at the level of a single resource, which is determined by how many resources the load is being spread, as discussed above) and U is busy utilization�a measure of how sustained is the arrival rate.
    The idea is to spread the load evenly over some number of physical resources such that per resource load level is in a comfortable and/or targeted range of response time for your SLA, understanding that response time is a function of load level and composition at the unit of resource level, and throughput is a function of load level and response time. This defines the capability of the storage system, for the given workload, how much of that capability is used defines head room and is a function of arrival rate.
    There are tools available that you can get for free evaluation to find out what your workload is, and also to profile your storage resources to determine its capability.

  • Maximum character limits for data types under the Definition tab in Outbound Dialer Import Rule configuration.

    Hello,
    We're running an outbound SIP dialer under UCCE 8.5(4). The need has come up to allow more than 10 characters for the first name field under the Definition tab in the import rule configuration section, however, it seems that 10 characters is the upper limit. The reason for wanting to do this is that we're seeing a large number of calls fail to import because the members first name is larger than 10 characters, for example, an import record with a first name of Maximillian will fail. The idea was presented to simply shorten the member name in the event it exceeds 10 characters. However, the concern is that this will cause the agent to mispronounce the members name when they are connected on the phone during initial greeting. For example, Maximillian now becomes Maximillia. Has anyone ever run into the need to do this? Is there a known workaround? Any ideas would be greatly appreciated.
    Regards,
    -Mike

    Mike,
    Are you certain that you're trying to increase the value of the correct field? When you go into your Import Rule > Definition tab > highlight the FirstName field name and click Modify... What you should see for Field length is 1-255. You can easily increase the number of character to over 10.

  • Set up Tolerance Limits with Date and quantity for GR

    Hi Experts,
    We would like to set the GR Tolerance Limits with Date and qty.
    how to set the Tolerance Limits for Date and quantity..??
    if we created PO 100qty and date 01-05-009.
    if we receive the goods on 20-04-2009 and 50qty...
    For GR .. Migo should be give error message..
    where can i set this Tolerance Limit Configuration.... can u please explin me..
    Thanks in Advance,
    Anthyodaya .

    hi,
    You can do one thing...
    Activate the SLED check...
    BY this when the date goes earlier or late from the expected date, then system show you the messages like:
    1. Earliest delivery date is DD.MM.YY..
    2. Expected delivery date was DD.MM.YY...
    In std sap system, the second message is already error message...so when get late delivery then it'll not be possible to maintain the GR...
    For the qty varinace, activate the quantity variance either via over/under delievery tolerances..or
    Via SPRO settings...
    SPRO >> MM >> LIV >> Invoice block >> check for qty tolerances and make the settings as per your requirement...
    Regards
    Priyanka.P

  • Tolerance Limits with Date and quantity

    Hi Experts,
    We would like to set the GR Tolerance Limits with Date and qty.
    how to set the Tolerance Limits for Date and quantity..??
    if we created PO 100qty and date 01-05-009.
    if we receive the goods on 20-04-2009 and 50qty...
    For GR .. Migo should be give error message..
    where can i set this Tolerance Limit Configuration.... can u please explin me..
    Thanks in Advance,
    Anthyodaya .

    Go to SPRO - Material Managemetn - LIV - Invoice Block - Set Tolerence limit.
    USe company code and maintain a value for ST
    ST: Date variance (value x days)
    The system calculates for each item the product of amount * (scheduled delivery date - date invoice entered) and compares this product with the absolute upper limit defined. This allows relatively high schedule variances for invoice items for small amounts, but only small schedule variances for invoice items for large amounts.

  • Question regarding the date in MARC for a daily movement report

    Hi,
    I have a requirement, where i need to create a report, based on the selection screen parameters for <u>purchasing group</u> and <u>date</u> (the default is 1 minus the current date.)
    The report is used to view the daily movement, relating to the selected purchasing group and date.
    Where and how do i find entries for that specific date? What tables and field or fields do i use?
    Points will be rewarded and all help will be greatly appreciated.
    Thank You,
    John

    See the below example code :
    REPORT ZQA_MOVEMENT_ANALYSIS no standard page heading.
    *>>> ELEMENTS COPIED FROM REPORT BALVHT01 .
    ALV
    TYPE-POOLS: SLIS.
    Includes
    INCLUDE .
    tables: mkpf, mseg, marc, mara, makt, mard.
    DATA =============================================================== *
    DATA:       G_BOXNAM TYPE SLIS_FIELDNAME VALUE  'BOX',
                G_EXPANDNAME TYPE SLIS_FIELDNAME VALUE  'EXPAND',
                P_F2CODE LIKE SY-UCOMM       VALUE  '&ETA',
                P_LIGNAM TYPE SLIS_FIELDNAME VALUE  'LIGHTS',
                G_SAVE(1) TYPE C,
                G_TABNAME_HEADER TYPE SLIS_TABNAME,
                G_TABNAME_ITEM   TYPE SLIS_TABNAME,
              g_default(1) type c,
                G_EXIT(1) TYPE C,
                GX_VARIANT LIKE DISVARIANT,
                G_VARIANT LIKE DISVARIANT.
    CONSTANTS:
    GC_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE',
    GC_FORMNAME_ITEM_EXPAND TYPE SLIS_FORMNAME VALUE 'ITEM_EXPAND',
    GC_FORMNAME_user_command type slis_formname value slis_ev_user_command.
    DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
          GS_LAYOUT   TYPE SLIS_LAYOUT_ALV,
          GS_KEYINFO  TYPE SLIS_KEYINFO_ALV,
          GT_SORT     TYPE SLIS_T_SORTINFO_ALV,
          GT_SP_GROUP TYPE SLIS_T_SP_GROUP_ALV,
          GT_EVENTS   TYPE SLIS_T_EVENT.
    DATA: G_REPID LIKE SY-REPID.
    DATA: GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
    data: begin of i_movement occurs 0,
            matnr   like mseg-matnr,
            bwart   like mseg-bwart,
            budat   like mkpf-budat,
            mblnr   like mseg-mblnr,
            gjahr   like mseg-gjahr,
            shkzg   like mseg-shkzg,
            menge   like mseg-menge,
            meins   like mseg-meins,
          end of i_movement.
    data: begin of i_mat occurs 0,
            matnr   like mara-matnr,
            maktx   like makt-maktx,
            labst   like mard-labst,
            meins   like mara-meins,
          end of i_mat.
    data: begin of i_output occurs 0.
            include structure ZFD_MOVEMENT_ANALYSIS.
    data:  end of i_output.
    data i_popuptext like popuptext occurs 2 with header line.
    data: v_matnr like mara-matnr.
    data: x_movement  like i_movement.
    SELECTION-SCREEN --------------------------------------------------- *
    SELECTION-SCREEN BEGIN OF BLOCK period WITH FRAME TITLE text-001.
    select-options: so_budat   for mkpf-budat obligatory no-extension.
    SELECTION-SCREEN END OF BLOCK period.
    SELECTION-SCREEN BEGIN OF BLOCK org WITH FRAME TITLE text-002.
    parameters: p_werks   like marc-werks obligatory default '1000',
                p_lgort    like mard-lgort obligatory default '1000'.
    select-options: so_matnr   for mseg-matnr,
                    so_dept    for marc-zzdept,
                    so_kostl   for mseg-kostl,
                    so_ekgrp   for marc-ekgrp.
    SELECTION-SCREEN END OF BLOCK org.
    SELECTION-SCREEN SKIP 1.
    Variant
    SELECTION-SCREEN BEGIN OF BLOCK 0 WITH FRAME TITLE TEXT-P01.
    PARAMETERS: P_VARI LIKE DISVARIANT-VARIANT.
    SELECTION-SCREEN END OF BLOCK 0.
    INITITALIZATION ==================================================== *
    INITIALIZATION.
      G_REPID = SY-REPID.
      G_TABNAME_ITEM   = 'I_OUTPUT'.
    define keyinfo
      CLEAR GS_KEYINFO.
      GS_KEYINFO-ITEM01   = 'MATNR'.
      PERFORM E01_FIELDCAT_INIT  USING GT_FIELDCAT[].
      PERFORM E03_EVENTTAB_BUILD USING GT_EVENTS[].
      PERFORM E04_COMMENT_BUILD  USING GT_LIST_TOP_OF_PAGE[].
      PERFORM E06_T_SORT_BUILD   USING GT_SORT[].
      PERFORM E07_SP_GROUP_BUILD USING GT_SP_GROUP[].
    Set Options: save variants userspecific or general
      G_SAVE = 'A'.
      PERFORM VARIANT_INIT.
    Get default variant
      GX_VARIANT = G_VARIANT.
      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.
        P_VARI = GX_VARIANT-VARIANT.
      ENDIF.
    AT SELECTION-SCREEN ================================================ *
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_VARI.
      PERFORM F4_FOR_VARIANT.
    PAI
    AT SELECTION-SCREEN.
      PERFORM PAI_OF_SELECTION_SCREEN.
    START-OF-SELECTION ================================================= *
    start-of-selection.
      perform check_background_processing.
      PERFORM E05_LAYOUT_BUILD USING GS_LAYOUT.     "wg. Parameters
      perform get_data.
      perform build_report.
      perform write_report.
    AT LINE SELECTION ================================================== *
    at line-selection.
      if sy-lsind = 1.
        format intensified off.
        if not i_output-matnr is initial.
          v_matnr = i_output-matnr.
          loop at i_movement where matnr = i_output-matnr.
            write: / i_movement-mblnr hotspot on,
                     i_movement-bwart,
                     i_movement-budat,
                     i_movement-shkzg.
            if i_movement-shkzg = 'H'.
              format color col_negative.
            else.
              format color col_positive.
            endif.
            write:     i_movement-menge,
                       i_movement-meins.
            format color off.
            hide: i_movement-mblnr, i_movement-gjahr.
          endloop.
          clear i_movement.
        endif.
      elseif sy-lsind = 2.
        set parameter id 'MBN' field i_movement-mblnr.
        set parameter id 'MJA' field i_movement-gjahr.
        call transaction 'MB03' and skip first screen.
      endif.
    ==================================================================== *
    top-of-page.
      perform top_of_page.
    top-of-page during line-selection.
      read table i_mat with key matnr = i_output-matnr.
      write: i_output-matnr,
             i_mat-maktx,
             so_budat-low, ' to ', so_budat-high.
      uline.
      clear: i_mat, i_output.
    *&      Form  write_report
          text
    -->  p1        text
    <--  p2        text
    FORM write_report.
    Call ABAP/4 List Viewer
      CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
        EXPORTING
        I_INTERFACE_CHECK              = ' '
        I_BYPASSING_BUFFER             =
        I_BUFFER_ACTIVE                = ' '
          I_CALLBACK_PROGRAM             = g_repid
        I_CALLBACK_PF_STATUS_SET       = ' '
        I_CALLBACK_USER_COMMAND        = ' '
        I_STRUCTURE_NAME               =
          IS_LAYOUT                      = gs_layout
          IT_FIELDCAT                    = gt_fieldcat[]
        IT_EXCLUDING                   =
          IT_SPECIAL_GROUPS              = gt_sp_group[]
          IT_SORT                        = gt_sort[]
        IT_FILTER                      =
        IS_SEL_HIDE                    =
        I_DEFAULT                      = 'X'
          I_SAVE                         = g_save
          IS_VARIANT                     = g_variant
          IT_EVENTS                      = gt_events[]
        IT_EVENT_EXIT                  =
        IS_PRINT                       =
        IS_REPREP_ID                   =
        I_SCREEN_START_COLUMN          = 0
        I_SCREEN_START_LINE            = 0
        I_SCREEN_END_COLUMN            = 0
        I_SCREEN_END_LINE              = 0
      IMPORTING
        E_EXIT_CAUSED_BY_CALLER        =
        ES_EXIT_CAUSED_BY_USER         =
        TABLES
          T_OUTTAB                       = i_output
        EXCEPTIONS
          PROGRAM_ERROR                  = 1
          OTHERS                         = 2
      IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    " write_report
    *&      Form  get_data
          text
    -->  p1        text
    <--  p2        text
    FORM get_data.
      if so_dept[]    is initial and
         so_matnr[]   is initial and
         so_kostl[]   is initial and
         so_ekgrp[]   is initial.
        i_popuptext-text = 'Please choose a department, material number,'.
        append i_popuptext.
        i_popuptext-text = 'cost center or purchasing group'.
        append i_popuptext.
        CALL FUNCTION 'DD_POPUP_WITH_INFOTEXT'
          EXPORTING
            TITEL              = 'Please Note'
            START_COLUMN       = 1
            START_ROW          = 1
            END_COLUMN         = 5
            END_ROW            = 3
          INFOFLAG           = ' '
        IMPORTING
          ANSWER             =
          TABLES
            LINES          = i_popuptext.
      Stop execution until user enters a purch group or dept.
        stop.
      endif.
    get all materials matching selection criteria - exclude finished
    materials
      select kmatnr kmaktx labst meins
      from ( ( ( marc as c inner join makt as k
               on cmatnr = kmatnr ) INNER JOIN mard as d
               on cmatnr = dmatnr ) INNER JOIN mara as a
               on cmatnr = amatnr )
      into table i_mat
      where c~matnr in so_matnr   and
            c~ekgrp in so_ekgrp   and
            c~zzdept in so_dept   and
            c~werks  = p_werks    and
            d~werks  = p_werks    and
            k~spras  = 'E'        and
            d~lgort  = p_lgort
      order by k~matnr.
      if sy-subrc = 0.
        read table so_budat index 1.
        loop at i_mat.
        get all material movements for all materials identified since
        start date on date interval selected by user
          select matnr bwart budat bmblnr bgjahr shkzg menge meins
          appending table i_movement
          from (  mseg as b INNER JOIN mkpf as a
                ON bmblnr = amblnr AND
                   bmjahr = amjahr )
          where b~matnr = i_mat-matnr and
                a~budat >= so_budat-low.
        endloop.
      endif.
    ENDFORM.                    " get_data
    *&      Form  build_report
          text
    -->  p1        text
    <--  p2        text
    FORM build_report.
      data: x_movement        like i_movement,
            v_processed_inv   like mseg-menge.
      sort i_movement by matnr ascending
                         budat descending.
      loop at i_movement.
      if movement after end of period specified, use movement to work
      backwards to inventory at end of selected period end date
        if i_movement-budat > so_budat-high.
          if i_movement-shkzg = 'H'.
            add i_movement-menge to i_output-ending_inv.
          else.
            subtract i_movement-menge from i_output-ending_inv.
          endif.
        endif.
      compute inventory at beginning of period
        if i_movement-shkzg = 'H'.
          add i_movement-menge to i_output-begin_inv.
        else.
          subtract i_movement-menge from i_output-begin_inv.
        endif.
      if movement in the time period specified, summarize movements by
      type
        if i_movement-budat >= so_budat-low and
           i_movement-budat <= so_budat-high.
          if i_movement-bwart+0(1) = '1'.
            if i_movement-shkzg = 'S'.
              add i_movement-menge to i_output-purchased_inv.
            else.
              subtract i_movement-menge from i_output-purchased_inv.
            endif.
          elseif i_movement-bwart+0(1) = '2'.
            if i_movement-shkzg = 'S'.
              add i_movement-menge to i_output-transferred_inv.
            else.
              subtract i_movement-menge from i_output-transferred_inv.
            endif.
          elseif i_movement-bwart+0(1) = '4'.
            if i_movement-shkzg = 'S'.
              add i_movement-menge to i_output-transferred_inv.
            else.
              subtract i_movement-menge from i_output-transferred_inv.
            endif.
          elseif i_movement-bwart+0(2) = '55'.
            if i_movement-shkzg = 'S'.
              add i_movement-menge to i_output-scrapped_inv.
            else.
              subtract i_movement-menge from i_output-scrapped_inv.
            endif.
          elseif i_movement-bwart+0(1) = '6'.
            if i_movement-shkzg = 'S'.
              add i_movement-menge to i_output-sold_inv.
            else.
              subtract i_movement-menge from i_output-sold_inv.
            endif.
          elseif i_movement-bwart+0(1) = '7'.
            if i_movement-shkzg = 'S'.
              add i_movement-menge to i_output-cycled_inv.
            else.
              subtract i_movement-menge from i_output-cycled_inv.
            endif.
          elseif i_movement-bwart+0(2) = '96'.
            if i_movement-shkzg = 'S'.
              add i_movement-menge to i_output-recovered_inv.
            else.
              subtract i_movement-menge from i_output-recovered_inv.
            endif.
          else.
            if i_movement-shkzg = 'S'.
              add i_movement-menge to i_output-other.
            else.
              subtract i_movement-menge from i_output-other.
            endif.
          endif.
        endif.
      Summarize data for material number and add to output list
        x_movement = i_movement.
        at end of matnr.
          clear i_mat.
          read table i_mat with key matnr = i_movement-matnr.
          i_output-maktx = i_mat-maktx.
        inventory at end of period = current inventory + changes since end
        of period
          add i_mat-labst to i_output-ending_inv.
        inventory at begin of period = ending inventory + changes in
        interval
          add i_mat-labst to i_output-begin_inv.
        build percentages for types of movements in period - the only
        reason this data needs to be stored rather than computed on the
        fly is for sorting of data
          v_processed_inv = ( i_output-begin_inv - i_output-ending_inv )
                            + i_output-purchased_inv.
          if v_processed_inv <> 0.
            i_output-percent_sold =
                  ( i_output-sold_inv / v_processed_inv ) * 100 * -1.
            i_output-percent_scrapped =
                  ( i_output-scrapped_inv / v_processed_inv ) * 100 * -1.
            i_output-percent_transferred =
                  ( i_output-transferred_inv / v_processed_inv ) * 100 * -1.
            i_output-percent_cycled =
                  ( i_output-cycled_inv / v_processed_inv ) * 100 * -1.
            i_output-percent_recov =
                  ( i_output-recovered_inv / v_processed_inv ) * 100 * -1.
            i_output-other =
                  ( i_output-other / v_processed_inv ) * 100 * -1.
          endif.
        record material number
          move i_movement-matnr to i_output-matnr.
          i_output-meins = x_movement-meins.
          append i_output.
          clear i_output.
        endat.
      endloop.
      clear i_movement.
    ENDFORM.                    " build_report
          FORM E01_FIELDCAT_INIT                                        *
    -->  E01_LT_FIELDCAT                                               *
    FORM E01_FIELDCAT_INIT USING E01_LT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
      DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
      CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
           EXPORTING
              I_PROGRAM_NAME         =
                I_INTERNAL_TABNAME     = G_TABNAME_ITEM
                I_STRUCTURE_NAME       = 'ZFD_MOVEMENT_ANALYSIS'
              I_CLIENT_NEVER_DISPLAY = 'X'
                I_BYPASSING_BUFFER     = 'X'
           CHANGING
                CT_FIELDCAT            = E01_LT_FIELDCAT[].
    ENDFORM.
          FORM E03_EVENTTAB_BUILD                                       *
    -->  E03_LT_EVENTS                                                 *
    FORM E03_EVENTTAB_BUILD USING E03_LT_EVENTS TYPE SLIS_T_EVENT.
      DATA: LS_EVENT TYPE SLIS_ALV_EVENT.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
           EXPORTING
                I_LIST_TYPE = 1
           IMPORTING
                ET_EVENTS   = E03_LT_EVENTS.
    tell program which form to call for top of page event
      READ TABLE E03_LT_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE
                               INTO LS_EVENT.
      IF SY-SUBRC = 0.
        MOVE GC_FORMNAME_TOP_OF_PAGE TO LS_EVENT-FORM.
        APPEND LS_EVENT TO E03_LT_EVENTS.
      ENDIF.
    tell program which form to call for item expand event
      READ TABLE E03_LT_EVENTS WITH KEY NAME = slis_ev_item_data_expand
                               INTO LS_EVENT.
      IF SY-SUBRC = 0.
        MOVE GC_FORMNAME_ITEM_EXPAND TO LS_EVENT-FORM.
        APPEND LS_EVENT TO E03_LT_EVENTS.
      ENDIF.
    ENDFORM.
          FORM E04_COMMENT_BUILD                                        *
    -->  E04_LT_TOP_OF_PAGE                                            *
    FORM E04_COMMENT_BUILD USING E04_LT_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
      DATA: LS_LINE TYPE SLIS_LISTHEADER.
    Listenüberschrift: Typ H
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'H'.
    LS_LINE-KEY:  not used for this type
      write sy-datum to LS_LINE-INFO.
      APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'H'.
    LS_LINE-KEY:  not used for this type
      LS_LINE-INFO = 'FreshDirect Product Reorder Report'.
      APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
    Kopfinfo: Typ S
    CLEAR LS_LINE.
    LS_LINE-TYP  = 'S'.
    LS_LINE-KEY  = TEXT-050.
    LS_LINE-INFO = TEXT-010.
    APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
    LS_LINE-KEY  = TEXT-051.
    APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
    Aktionsinfo: Typ A
    CLEAR LS_LINE.
    LS_LINE-TYP  = 'A'.
    LS_LINE-KEY:  not used for this type
    LS_LINE-INFO = TEXT-002.
    APPEND LS_LINE TO  E04_LT_TOP_OF_PAGE.
    ENDFORM.
          FORM E05_LAYOUT_BUILD                                         *
    <->  E05_LS_LAYOUT                                                 *
    FORM E05_LAYOUT_BUILD USING E05_LS_LAYOUT TYPE SLIS_LAYOUT_ALV.
      E05_LS_LAYOUT-F2CODE            = P_F2CODE.
      E05_LS_LAYOUT-ZEBRA             = 'X'.
      E05_LS_LAYOUT-colwidth_optimize = 'X'.
    ENDFORM.
          FORM E06_T_SORT_BUILD                                         *
    -->  E06_LT_SORT                                                   *
    FORM E06_T_SORT_BUILD USING E06_LT_SORT TYPE SLIS_T_SORTINFO_ALV.
      DATA: LS_SORT TYPE SLIS_SORTINFO_ALV.
      CLEAR LS_SORT.
      LS_SORT-FIELDNAME = 'MATNR'.
      LS_SORT-TABNAME   = G_TABNAME_ITEM.
      LS_SORT-SPOS      = 1.
      LS_SORT-UP        = 'X'.
      APPEND LS_SORT TO E06_LT_SORT.
    ENDFORM.
          FORM E07_SP_GROUP_BUILD                                       *
    -->  E07_LT_SP_GROUP                                               *
    FORM E07_SP_GROUP_BUILD USING E07_LT_SP_GROUP TYPE SLIS_T_SP_GROUP_ALV.
      DATA: LS_SP_GROUP TYPE SLIS_SP_GROUP_ALV.
      CLEAR  LS_SP_GROUP.
      LS_SP_GROUP-SP_GROUP = 'A'.
      LS_SP_GROUP-TEXT     = TEXT-005.
      APPEND LS_SP_GROUP TO E07_LT_SP_GROUP.
    ENDFORM.
          FORM TOP_OF_PAGE                                              *
    FORM TOP_OF_PAGE.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
           EXPORTING
                IT_LIST_COMMENTARY = GT_LIST_TOP_OF_PAGE.
                  data v_repid like sy-repid.
    write: / sy-datum, sy-uzeit,
       100 'FreshDirect Material Movement Type Analysis Report'.
    show parameters chosen on selection screen in header
    v_repid = sy-repid.
    CALL FUNCTION 'Z_WRITE_SELECTION_SCREEN'
          EXPORTING
               REPID            = v_repid
          EXCEPTIONS
               REPORT_NOT_FOUND = 1
               OTHERS           = 2.
    write column headings
    format color col_heading.
    write: /(18) 'Material #',
             (40) 'Description',
             (16) '  Beginning Inv.',
             (16) '       Purchased',
             (16) '  Available Inv.',
             (16) '     Ending Inv.',
             (16) '  Processed Inv.',
             (25) '                     Sold',
             (25) '                 Scrapped',
             (25) '              Transferred',
             (25) '            Cycle Counted',
             (25) '                    Other'.
    format color off.
    uline /1(278).
    ENDFORM.
          FORM F4_FOR_VARIANT                                           *
    FORM F4_FOR_VARIANT.
      CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
           EXPORTING
                IS_VARIANT          = G_VARIANT
                I_SAVE              = G_SAVE
                I_TABNAME_HEADER    = G_TABNAME_HEADER
                I_TABNAME_ITEM      = G_TABNAME_ITEM
              it_default_fieldcat =
           IMPORTING
                E_EXIT              = G_EXIT
                ES_VARIANT          = GX_VARIANT
           EXCEPTIONS
                NOT_FOUND = 2.
      IF SY-SUBRC = 2.
        MESSAGE ID SY-MSGID TYPE 'S'      NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ELSE.
        IF G_EXIT = SPACE.
          P_VARI = GX_VARIANT-VARIANT.
        ENDIF.
      ENDIF.
    ENDFORM.
    *&      Form  PAI_OF_SELECTION_SCREEN
          text
    FORM PAI_OF_SELECTION_SCREEN.
      IF NOT P_VARI IS INITIAL.
        MOVE G_VARIANT TO GX_VARIANT.
        MOVE P_VARI TO GX_VARIANT-VARIANT.
        CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
             EXPORTING
                  I_SAVE     = G_SAVE
             CHANGING
                  CS_VARIANT = GX_VARIANT.
        G_VARIANT = GX_VARIANT.
      ELSE.
        PERFORM VARIANT_INIT.
      ENDIF.
    ENDFORM.                               " PAI_OF_SELECTION_SCREEN
    *&      Form  VARIANT_INIT
          text
    -->  p1        text
    <--  p2        text
    FORM VARIANT_INIT.
      CLEAR G_VARIANT.
      G_VARIANT-REPORT = G_REPID.
    ENDFORM.                               " VARIANT_INIT
    INCLUDE ZQA_UTILITY_INCLUDE.
    ***INCLUDE ZQA_UTILITY_INCLUDE .
    *&      Form  display_popup_message
          text
    -->  p1        text
    <--  p2        text
    form display_popup_message using x_text1
                                     x_text2.
      data: int_popuptext like popuptext occurs 2 with header line.
      int_popuptext-text = x_text1.
      append int_popuptext.
      int_popuptext-text = x_text2.
      append int_popuptext.
      call function 'DD_POPUP_WITH_INFOTEXT'
        exporting
          titel              = 'Please Note'
          start_column       = 1
          start_row          = 1
          end_column         = 5
          end_row            = 3
        tables
          lines          = int_popuptext.
    endform.                    " display_popup_message
    *&      Form  upload_data_file
          text
         -->P_int_INPUTDATA  text
    form upload_data_file tables      x_inputdata
                          using x_filename like rlgrap-filename.
      clear x_inputdata.
      refresh x_inputdata.
    file on UNIX app server
      if x_filename+0(1) = '/'.
        open dataset x_filename for input.
        if sy-subrc <> 0.
          perform display_popup_message using 'Error opening file'
                                      x_filename.
          stop.
        else.
          do.
            read dataset x_filename into x_inputdata.
            if sy-subrc <> 0.
              exit.
            endif.
            append x_inputdata.
            clear x_inputdata.
          enddo.
        endif.
        close dataset x_filename.
      else.
    file on local PC of GUI
        call function 'UPLOAD'
          exporting
            filename                      = x_filename
            filetype                      = 'ASC'
          tables
            data_tab                      = x_inputdata
         exceptions
           conversion_error              = 1
           invalid_table_width           = 2
           invalid_type                  = 3
           no_batch                      = 4
           unknown_error                 = 5
           guint_refuse_filetransfer       = 6
           others                        = 7
        if sy-subrc <> 0.
          perform display_popup_message using 'Error opening file'
                                        x_filename.
          stop.
        endif.
      endif.
    endform.                    " upload_data_file
    *&      Form  check_background_processing
          text
    -->  p1        text
    <--  p2        text
    form check_background_processing.
    endform.                    " check_background_processing
    Reward Points if it is helpful
    Thanks
    Seshu

  • Column limits for Crystal Reports for Eclipse

    Hi ,
    Is there any column limits for Crystal Reports for Eclipse. While i am trying in my environment, if i am include more than 18 columns its wont show the preview as well as it throws error like as follows "java.lang.NullPointerException at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:991) at java.lang.Double.valueOf(Double.java:447) at oracle.sql.NUMBER.toDouble(NUMBER.java:326) at oracle.jdbc.dbaccess.DBConversion.NumberBytesToDouble(DBConversion.java:2975) at oracle.jdbc.driver.OracleStatement.getDoubleValue(OracleStatement.java:4485) at oracle.jdbc.driver.OracleResultSetImpl.getDouble(OracleResultSetImpl.java:567) at com.crystaldecisions.reports.common.data.JdbcCrystalResultSet.getDouble(Unknown Source) at com.businessobjects.reports.jdbinterface.common.ResultSetReader.readColumnValue(Unknown Source) at com.crystaldecisions.reports.queryengine.ResultSetRecordReader.a(Unknown Source) at com.crystaldecisions.reports.queryengine.Rowset.a(Unknown Source) at com.crystaldecisions.reports.queryengine.RowsetColumn.xL(Unknown Source) at com.crystaldecisions.reports.queryengine.Rowset.z1(Unknown Source) at com.crystaldecisions.reports.queryengine.Rowset.bN(Unknown Source) at com.crystaldecisions.reports.queryengine.Rowset.bI(Unknown Source) at com.crystaldecisions.reports.queryengine.RowsetBase.bJ(Unknown Source) at com.crystaldecisions.reports.queryengine.RowsetBase.za(Unknown Source) at com.crystaldecisions.reports.datalayer.a$e.za(Unknown Source) at com.crystaldecisions.reports.basicdataengine.a.w(Unknown Source) at com.crystaldecisions.reports.basicdataengine.a.p(Unknown Source) at com.crystaldecisions.reports.basicdataengine.a.a(Unknown Source) at com.crystaldecisions.reports.datalayer.a.do(Unknown Source) at com.crystaldecisions.reports.datalayer.a.a(Unknown Source) at com.crystaldecisions.reports.dataengine.m.b(Unknown Source) at com.crystaldecisions.reports.dataengine.j.b(Unknown Source) at com.crystaldecisions.reports.dataengine.m.o(Unknown Source) at com.crystaldecisions.reports.dataengine.m.a(Unknown Source) at com.crystaldecisions.reports.dataengine.ContextNode.a(Unknown Source) at com.crystaldecisions.reports.dataengine.ContextNode.a(Unknown Source) at com.crystaldecisions.reports.dataengine.j.case(Unknown Source) at com.crystaldecisions.reports.dataengine.h.(Unknown Source) at com.crystaldecisions.reports.dataengine.DataContext.a(Unknown Source) at com.crystaldecisions.reports.dataengine.DataProcessor2.a(Unknown Source) at com.crystaldecisions.reports.dataengine.DataProcessor2.a(Unknown Source) at com.crystaldecisions.reports.dataengine.DataProcessor2.new(Unknown Source) at com.crystaldecisions.reports.dataengine.DataProcessor2.try(Unknown Source) at com.crystaldecisions.reports.dataengine.DataProcessor2.int(Unknown Source) at com.crystaldecisions.reports.dataengine.DataProcessor2.I(Unknown Source) at com.crystaldecisions.reports.formatter.formatter.objectformatter.ObjectFormatter.fl(Unknown Source) at com.crystaldecisions.reports.formatter.formatter.paginator.PageFormatter.if(Unknown Source) at com.crystaldecisions.reports.formatter.formatter.paginator.PageFormatter.a(Unknown Source) at com.crystaldecisions.reports.formatter.formatter.paginator.PageFormatter.X(Unknown Source) at com.crystaldecisions.reports.formatter.formatter.paginator.PageFormatter.moveToPageN(Unknown Source) at com.crystaldecisions.reports.formatter.formatter.lightmodel.FCMPageFormatter.goToPage(Unknown Source) at com.businessobjects.crystalreports.designer.core.elements.formatted.MultiPageModel.B(Unknown Source) at com.businessobjects.crystalreports.designer.core.elements.formatted.MultiPageModel.A(Unknown Source) at com.businessobjects.crystalreports.designer.core.elements.formatted.FormattedPages$2.A(Unknown Source) at com.businessobjects.crystalreports.designer.core.elements.formatted.FormattedPages$2.call(Unknown Source) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) at java.util.concurrent.FutureTask.run(FutureTask.java:123) at com.businessobjects.crystalreports.designer.core.util.thread.ExecutorWithIdleProcessing$3.doWork(Unknown Source) at com.businessobjects.crystalreports.designer.core.util.thread.AbstractCancellableRunnable.run(Unknown Source) at com.businessobjects.crystalreports.designer.core.util.thread.PriorityTask.run(Unknown Source) at com.businessobjects.crystalreports.designer.core.util.thread.PriorityCompoundCancellableRunnable.runSubtask(Unknown Source) at com.businessobjects.crystalreports.designer.core.util.thread.PriorityProgressAwareRunnable.runSubtask(Unknown Source) at com.businessobjects.crystalreports.designer.core.util.thread.PriorityCompoundCancellableRunnable.doWork(Unknown Source) at com.businessobjects.crystalreports.designer.core.util.thread.AbstractCancellableRunnable.run(Unknown Source) at com.businessobjects.crystalreports.designer.core.util.thread.ExecutorWithIdleProcessing$_B.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) at java.lang.Thread.run(Thread.java:595)".
    But i removed any one column, it wont make any problem and able to preview. Whenever put more than 18 columns, its throwing issue. Can you please help me to identify the issue.
    Regards, Siby

    Hi,
    Are you talking about the fields coming from the Data Source Explorer?.
    If "Yes" then there is no such limits.
    Are you able to run the report through the eclipse designer?
    Thanks,
    Neeraj

  • MB5B Report for Date Wise Stock and Value

    Hi,
    I am Taking MB5B Report for Date Wise Stock and Value.
    But I have one doubt all stocks is coming or not in these report like Unrestrected Stock,Return Stock.Blocked stock,Transist stock,Restrected Stock,qty Inspection Stock.
    I have another Doubt in these report three Stock type indicaters are there like these.
    1.Storage Location / Batch Stock
    2.valuated Stock
    3.Special Stock.
    But i have one doubt what is defferent these
    1.Storage Location / Batch Stock
    2.valuated Stock

    Hi Prasad,
    Yes MB5B report consider the Unrestricted, Quality, Blocked, Transit stock and restricted stock. Not sure about Return Stock.
    If you select the Storage location/Batch stock radio button then the system will display all the possible stock from the storage location and the corresponding batch also.
    If you select Valuated stock radio button then system will show only the valuated stock not the Non-valuated stock. Because Non-valuated material type is available in SAP system will not show those stock suppose if you select the Valuated stock radio button.
    Regards
    Karthick

  • #ERROR message in report for date format conversion

    Dear Collegues,
    Why is it that I get #ERROR message (instead of date value) in my report when I use the formula
    =ToDate(UserResponse("Enter End Date:");"dd.MM.yyyy")   ??
    When I only write UserResponse("Enter End Date:") I get the appropriate date, f.ex 5/12/2009. This is american standard for 5th of may, I need to see it like 12/05/2009.
    If I try to just enter the date object behind the prompt ([Settlement Date]) i get message #MULTIVALUE even though I have promptet for 1 special date...
    Is there another formula I can use to get the right format? I can't adjust the format using properties, it doesn't make any difference, the settings I put in there.
    Regards Silje

    Thank you for the very quick answer! Using FormatDate() I get an error message while validating the formula:
    The expression or sub-expression at position 12 in the FormatDate function uses an invalid data type. (WIS 10037)
    I tried making a variable inside BO called [End Date] = userResponse("Enter End Date:") but I get the same error message then. Creating a variable you can only choose between Dimension, Measure and Detail, not Date. Is that some of the reason?
    Finally I tried FormatDate([Settlement Date]; "dd.MM.yyyy"). Validating the formula I get the message that the formula is correct, but in the report the field containes message #MULTIVALUE...
    SILJE

  • LIST OF STOCK  VALUES  BALACE REPORTS FOR DATE WISE

    Dear friends,
    In MB5L T.Code we can get period wise balance reports,but client's requirement is date wise Balance report,could you help me any kind of standard reports for date wise.
    Regards,
    Sabhapathy  R

    Dear Vishal,
    Thanks for your reply,mb5b only stock and  documents number  we can get client want to mb5l with date specific balance reports with GL account's.
    Regards,
    Sabhapathy R

  • Report Designer odbc connection string for data source using a parameter

    I am using stand alone report designer 3 for the present and have a question/problem regarding the odbc connection string for MySQL when setting up the data-source
    I need to be able to enter a parameter which is the database name i.e. BOE-201401 or say BOE-201312 etc  from a list of databases the user can choose from.
    at present the odbc connection string points to BOE-201402
    the connection string is at present  Dsn=Development Server for MYsql;description=MYSQL;server=ldndw01;database=BOE-201402;port=3306
    my parameter has the name BOE_DATABASE
    and in an expression it is  as such
    =Parameters!BOE_DATABASE.Value
    I want to point the datasource for the report to the parameter value before the user sees the report.

    Hi Leslie,
    Based on your description, we want to design a report with a dynamic DataSource connection string. There are the basic steps below for your reference:
    Create report with static database.
    Change data source to report parameter.
    Send new database connection string as a report parameter. 
    More detail information, please refer to the following blog: Dynamic Database in SSRS 2008.
    http://haseebmukhtar.wordpress.com/2011/11/09/dynamic-database-in-ssrs-2008/
    Regards,
    Alisa Tang
    Alisa Tang
    TechNet Community Support

Maybe you are looking for

  • Enhance Contrast does not stick

    I like to enhance the contrast on my display to add a little pop to the colors, so I set the System Preferences > Accessibility > Display > Enhance Contrast slider to where I want it.  When I restart my computer, the slider is still set to the same s

  • Function module to upload excel to internal table in SAP 7.0 version system

    <<Question has been asked and answered many times - please search before asking for function modules for common tasks>> currently i am using SAP Netweaver7.0 version, i need a Funtion Module to upload an Excel sheet data to an internal table. please

  • Labels in WAD disappers when I set exceptions in BEX query.

    Hi, I have created a stabled bar in the WAD, based on a BEX Query. In each of the bars I have labels showing the values. I need to show traffic lights colors in the bars, so I have made some exceptions in the BEX Query. It all works fine except that

  • Behaviors+Firefox = Problems?

    Hi all. I've created a html page with a SWF file in it. I have a couple html links set with behavoirs to control the SWF (goto frame 3, etc.). Everything works great in IE, but not in Firefox. When I click the link, it opens up a load of Errors, any

  • Frame Controls Settings

    Hi, I've made a FCP document captured in Sony HD1080i60. It's 22 min. in color. Next I try to export this document using compressor. My setting is at DVD Best Quality 90 min NTSC 29.97. My QUESTION: Frame Controls. Apparently, if Frame Controls, Resi