Jitter Analysis Toolkit - Time Interval Error.vi

Hi,
I am having a requirement to find the Time Interval Error. I found that functions under jitter analysis toolkit is capable of finding the TIE(Jitter). I am not sure how to use these functions for my requirement.
My requirement is: I will read the waveform data from a scope and have to process the data and find the Time Interval Error. My only input will be waveform data with jitter from a DUT.
If anybody could help me with the flow how to use the Jitter analysis function for my requirement then it would be of great help. Also, a detailed description about the Tie Interval Error.vi also will be useful.
Thanks,
Mano

If you are just Downloading to a Flat file then why dont you have logic in place for the program to dump the data read into  the file to that point depending on any criteria like accounts or customer then clear the internal table and run it in the back ground.
try to use cursor to read the records from the table which will make it a bit more efficient than plain select stement.

Similar Messages

  • Invalid Time Interval error

    Hi Friends,
    I am loading HR data from Source. It loaded correctly without issues upto  PSA and when i trigger the DTP from the PSA to the IO 0EMPLOYEE,  I am getting the following error.
    "0EMPLOYEE : Data record 25 ('00001028 ') : Invalid time interval '['20070731'/'20070527'] '[from/to]     RSDMD     189".
    It shows about 7 entries in the error for employee 00001028.
    When i check the data in PSA the from and to Values are correct.
    Person           Start Date        End Date
    1028              01.10.2002      26.05.2007
                          27.05.2007      31.07.2007
                          01.08.2007      31.01.2008
                          01.02.2008      29.02.2008
                          01.03.2008      27.09.2008
                          28.09.2002      31..12.2008
                          01.01.2009      31.12.9999
    So, the from Data and to Date is correct yet I am getting the Invalid Time Interval error and my data load is failing.
    It is happening for a all the records.
    Can someone please tell me /suggets me how to resolve this issue?.
    Yore help is appreciated.
    Regards
    BN

    Hi,
    Please check the note:
    310304 -> DATETO/DATEFROM:Extracting time-dependent master
    http://help.sap.
    com/saphelp_nw70/helpdata/en/13/c3e7379899d06fe10000009b38f8cf/frameset.
    htm
    It should resolved your issue.
    Thanks,
    Venkat

  • Data record with time interval error

    Hi,
    I have come across the following error.
    Data record with Time interval error and data is getting loaded into data target and no PSA in between.
    thanks
    kris

    Hi Kris,
    Could you please explain your problem little bit more. I mean what is source and target, or you using IP or DTP.
    goto the details in monitor tab, you will come to know to which record yo uhave error.
    If you are running IP, it is recommended to keep PSA.
    Regards,
    Venkatesh

  • Customer ##1 Enter a valid time interval error while generating customer BP

    Dear Experts,
    I am getting the following error when I am auto generating Customer while creating Business Partner in BP transaction code.
    Customer ##1: Enter a valid time interval
    Message no. CMD_API087
    Had anybody faced this problem?
    Regards
    Komal

    Hi,
    In Transaction 'BP', after values is put for BP name, Grouping & Create in BP role, there is a field for Validity period. Click on the icon to Create Validity period. This should resolve the issue.
    Regards,
    Nimesh

  • Time Out ERROR CC Risk Analysis RFC

    Hi Friends,
    I am getting time out error when I am testing the CC risk analysis RFC. One thiing I monitor here is that when I am changing the parameters to 'YES' in tcode '/virsa/zrtcnfg',this RFC time out is occuring,when I am changing it back to 'NO' it is working fine.
    I beleive there is some system perfomance issue or any bottleneck is happenning.
    Please check error details of the Rfc below
    Logon     Connection Error
    Error Details     Error when opening an RFC connection
    Error Details     ERROR: program GRCRTTOCC5X not registered
    Error Details     LOCATION: SAP-Gateway on host hostname / sapgw00
    Error Details     DETAIL: TP GRCRTTOCC5X not registered
    Error Details     COMPONENT: SAP-Gateway
    Error Details     COUNTER: 65055
    Error Details     MODULE: gwr3cpic.c
    Error Details     LINE: 1960
    Error Details     RETURN CODE: 679
    Error Details     SUBRC: 0
    Error Details     RELEASE: 700
    Error Details     TIME: Thu Mar 11 09:21:35 2010
    Error Details     VERSION: 2
    and also some time I am getting below error
    Logon     Connection Error
    Error Details     Error when opening an RFC connection
    Error Details     ERROR: timeout during allocate of registered program
    Error Details     LOCATION: SAP-Gateway on host hostname / sapgw00
    Error Details     DETAIL: TP GRCRTTOCC5X init/busy for more than 60 sec
    Error Details     COMPONENT: SAP-Gateway
    Error Details     COUNTER: 65068
    Error Details     MODULE: gwr3cpic.c
    Error Details     LINE: 1937
    Error Details     RETURN CODE: 677
    Error Details     SUBRC: 0
    Error Details     RELEASE: 700
    Error Details     TIME: Thu Mar 11 09:29:56 2010
    Error Details     VERSION: 2
    Any suggestion please..
    Thanks & Regards,
    Satyabrat
    Edited by: Satyabrat Mohanty on Mar 11, 2010 11:54 AM
    Edited by: Satyabrat Mohanty on Mar 11, 2010 12:00 PM

    Hi,
    for further information  the latest log is
    2010-04-28 07:01:47,706 [SAPEngine_Application_Thread[impl:3]_18] ERROR  User :   not found to get full name
    2010-04-28 07:02:21,066 [SAPEngine_Application_Thread[impl:3]_11] ERROR
    java.lang.Throwable: java.lang.NullPointerException
         at com.virsa.re.workflow.client.WorkflowRequestClient.getRoleProcessContextDtos(WorkflowRequestClient.java:284)
         at com.virsa.re.workflow.client.WorkflowRequestClient.execSubmitRoleApprovalWF(WorkflowRequestClient.java:83)
         at com.virsa.re.workflow.actions.WorkflowRequestAction.submitApprovalRequest(WorkflowRequestAction.java:95)
         at com.virsa.re.workflow.actions.WorkflowRequestAction.execute(WorkflowRequestAction.java:54)
         at com.virsa.framework.NavigationEngine.execute(NavigationEngine.java:273)
         at com.virsa.framework.servlet.VFrameworkServlet.service(VFrameworkServlet.java:230)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.runServlet(FilterChainImpl.java:117)
         at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:62)
         at com.virsa.comp.history.filter.HistoryFilter.doFilter(HistoryFilter.java:43)
         at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:58)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:384)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)
         at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
         at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
         at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(AccessController.java:219)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)
    FYI
    I have already checked all the webservices urls and password everything is fine.am I missing something.
    Regards,
    Satyabrat

  • Error Message - "Time Interval is not valid for dummy activities"

    Friends,
    I am trying to create a planned order on a resource at a plant. However it shows up an error message.
    An application program called an LCA routine. The following error
    occurred:
    Time interval is not valid for dummy activities. Probable causes
    error are an extremely long processing duration or times that li
    outside the time interval (1.1.1970 + 30 sec, 1.1.2038 - 1 sec).
    Could anyone help pme out with this,
    Thanks in advance.
    -A

    Hi,
      Please check the control key  and activity type  in routing.
    Thanks,
    DV

  • Error Message : Object could not be scheduled within the specified time interval

    Post Author: mohamed elkashef
    CA Forum: Publishing
    Dear All when i try to run event for daily reports it sometimes take generation status failed with this error  message : Object could not be scheduled within the specified time interval so  i need to know the reason of failure and how can i fix  this error  thanks a lot 

    Post Author: nvnaresh
    CA Forum: Publishing
    Dear jsanzone,
    I'm facing the same error even when the server time out is more than the query execution time of the report.By server time out I assume connection time out of WebI report server which I have set to 180 min.But the actual query takes maximum of 5 min.
    We are using BO XIR2+SP2.
    I scheduled a webI report to get saved in Excel format to an Unmanaged disk location upon a File Event.
    We have 3 such reports to be scheduled on the same event.
    Expected frequency of File Event getting fired in a day is twice.Scheduling frequency I have set it as every one hour with the file event.
    This usually should work fine.
    But frequently 1 or 2 of the above 3 instances are getting failed with the following error "Object could not be scheduled with in specified time interval " after being in Running state for few hours(8). Amazingly this is not happening every time. May be once or twice in a week.This works fine after I restart the BO services and the same thing repeats after 3 or 4 days.
    Do I need to increase any server parameters?
    Why is this happening randomly?  

  • ERROR : Object could not be scheduled within the specified time interval

    I have the next error Object could not be scheduled within the specified time interval.
    When i schedule a report to be refreshed and the moment come when the report have to be refresh appear the error.
    i check the error in the following path in the CMC
    HOME> FOLDERS > USER FOLDERS > ... > "REPORT FOLDER"  Instance Properties
    Why i get this error?
    Anyone can give me a good solution to solve this error?
    Thanks!!!

    Hi Ed,
    The above error message is appearing due to the reason, when a large number of requests are scheduled to start at the same time, this may exceed the Maximum Number of Simultanius Requests that the deployment can support.
    To resolve this error message, increase the end time on the scheduled instance. To increase the end time, use the following steps:
    1. In the Infoview, browse to the desired report and click 'History'.
    2. Find the desired scheduled instance and click 'Reschedule'.
    3. Under the 'When' section, increase the end time for the scheduled instance.
    Upon completing these steps, the error message no longer appears.
    Hope it will help in resolving the error.
    Regards,
    Ritesh Nayyar

  • I am using the Order Analysis Toolkit and want to get more information about the compensation for "Reference Signal Processing", which is scarce in the manuals, the website and the examples installed with the toolkit.

    I am using the Order Analysis Toolkit and want to get more information about the compensation for "Reference Signal Processing", which is scarce in the manuals, the website and the examples installed with the toolkit.
    In particular, I am analyzing the example "Even Angle Reference Signal Processing (Digital Tacho, DAQmx).vi", whose documentation I am reproducing in the following:
    <B>DESCRIPTIONS</B>:
    This VI demonstrates how to extract even angle reference signals and remove the slow-roll errors. It uses DAQmx VIs to acquire sound or vibration signals and a digital tachometer signal. This VI includes a two-step process: acquire data at low rotational speed to extract even angle reference; use the even angle reference to remove the errors in the vibration signal acquired at normal operation.
    <B>INSTRUCTIONS</B>:
    1. Run the VI.
    2. On the <B>DAQ Configurations</B> tab, specify the <B>sample rate</B>, <B>samples per channel</B>, device and channel configurations, and tachometer channel information.
    <B>NOTE</B>: You need to use DSA PXI-447x/PXI-446x and PXI TIO device in a PXI chassis to run this example. The DSA device must be in slot 2 of the PXI chassis.
    3. Switch to <B>Extract Even Angle Reference</B> tab. Specify the <B>number of samples to acquire</B> and the <B># of revs in reference</B> which determines the number of samples in even angle reference. Click <B>Start</B> to take a one-shot data acquisition of the vibration and tachometer signals. After the acquisition, you can see the extracted even angle references in <B>Even Angle Reference</B>.
    4. Switch to the <B>Remove Slow-roll Errors</B> tab. Click <B>Start</B> to acquire data continuously and view the compensate results. Click <B>Stop</B> in this tab to stop the acquisition.
    <B>ORDER ANALYSIS VIs USED IN THIS EXAMPLE</B>:
    1. SVL Scale Voltage to EU.vi
    2. OAT Digital Tacho Process.vi
    3. OAT Get Even Angle Reference.vi
    4. OAT Convert to Even Angle Signal.vi
    5. OAT Compensate Even Angle Signal.vi
    My question is: How is the synchronization produced at the time of the compensation ? How is it possible to eliminate the errors in a synchronized fashion with respect to the surface of the shaft bearing in mind that I am acquired data at a low rotation speed in order to get the "even angle reference" and then I use it to remove the errors in the vibration signal acquired at normal operation. In this application both operations are made in different acquisitions, therefore the reference of the correction signal is lost. Is it simply compensated without synchronizing ?
    Our application is based on FPGA and we need to clarity those aspects before implementing the procedure.
    Solved!
    Go to Solution.

    Hi CracKatoA.
    Take a look at the link bellow:
    http://forums.ni.com/ni/board/message?board.id=170&message.id=255126&requireLogin=False
    Regards,
    Filipe Silva

  • Time out error 1.6 million internal table fields are computed using FMs

    Hi , All ...
    The Report running fine in server with less 300 record but ...production server which has 1.6 million record it  gives error as time-out error and takes hell amount of time.
    Please suggest ugently ..
    I have tried few things
    Internal table having 1.6 lacs ... fields to compute .. i have token in a batch
    loop at i_cinfo into s_cinfo from 1 to  100000.
    and so on ...also applied all the performace related .. like indexs, work areas , deleting adjacent duplicates , for all entries ..wherever applicable.
    Please Suggest .
    Report is as below
    REPORT  ZUSOTCBD_CREDIT_REPORT .
    TABLES : KNA1,    " General Data Customer Master
             KNB1,    " Customer Master (Company Code)
             KNC1,    " Customer master (transaction figures)
             KNKK,    " Customer master credit management: Control area data
             T009,    " Fiscal Year Variants P
             T009Y,   " Shortened fiscal years in Asset Accounting P
             T001,    " Co. Codes
             T001CM,  " Permitted Credit Control Areas per Company Code
             RF42B,   " Structure to hold credit data.
             RF035,   " Structure to hold credit managment fields
             RF02L,   " Structure to hold credit data.
             TRAS,    " Interval for Days in Arrears P
             T000CM.  " Data for DSO calculation.
    Types
    TYPES:
      BEGIN OF type_final,
        string(50) TYPE c,                            " String Value for Title
      END OF type_final.
    data:wa_final     TYPE type_final.                " Work Area to hold Title Data
    DATA:    RASID    TYPE RF035-RASID value 'R03N'. " For Days in interval
    DATA:    MONAT(2) TYPE N.
    DATA:    GJAHR    TYPE  KNC1-GJAHR.
    DATA:    LD_PERIODS(32) TYPE N
                           VALUE '01020304050607080910111213141516'.
    DATA     sytabix type sy-tabix.
    DATA     LAND      TYPE KNA1-LAND1 VALUE 'US'.   " Country Key
    DATA:   LD_PERIOD    TYPE BSID-MONAT,            " Fiscal Year Variant
            LD_GJAHR   TYPE KNC1-GJAHR,
            LD_COUNTER TYPE SY-TABIX.
    Internal Tables
    Internal table to hold Title Data                                   *
    DATA:
      i_final    TYPE STANDARD TABLE OF type_final.
    **Internal Table Permitted Credit Control Areas per Company Code
    DATA:    BEGIN OF TCMTAB OCCURS 10.
            INCLUDE STRUCTURE T001CM.
    DATA:    END   OF TCMTAB.
    *Internal table to store Customer no.
    DATA :  BEGIN OF ICUST OCCURS 0,
               KUNNR             TYPE KNA1-KUNNR,    " Customer No.
            END   OF ICUST.
    DATA:    BEGIN OF BUKTAB OCCURS 20,
               KKBER             LIKE T001-KKBER,    " Credit Control Area
               BUKRS             LIKE T001-BUKRS,    " Co. Code
               WAERS             LIKE T001-WAERS,    " Currency
               PERIV             LIKE T001-PERIV,    " Fiscal Year Variant
               BUTXT             LIKE T001-BUTXT,
             END   OF BUKTAB.
    Internal Table to store Fiscal year Data .
    DATA:    BEGIN OF GJATAB OCCURS 5,
               PERIV             LIKE T001-PERIV,    " Fiscal Year Variant
               GJAHR             LIKE KNC1-GJAHR,    " Fiscal Year
               MONAT             LIKE T009-ANZBP,    "
               ANZBP             LIKE T009-ANZBP,    " Number of posting periods
             END   OF GJATAB.
    *Main Output internal table to be used to store credit history Information
    DATA : BEGIN OF I_CINFO occurs 0,
                 KUNNR TYPE   KNB1-KUNNR,     " Customer
                 KNKLI TYPE   KNKK-KNKLI,     " Customer's account number with credit limit reference
                 KKBER TYPE   KNKK-KKBER,     " Credit Control Area
                 CTLPC TYPE   KNKK-CTLPC,     " Risk Category
                 KLIMK TYPE   KNKK-KLIMK,     " Credit Limit
                 SBGRP TYPE   KNKK-SBGRP,     " Credit representative group for credit management
                 ERDAT TYPE   KNKK-ERDAT,     " Created On
                 DTREV TYPE   KNKK-DTREV,     " Last Internal Review
                 REVDB TYPE   KNKK-REVDB,     " Last External Review
                 SALDO TYPE   RF42B-SALDO,    " Balance
                 DSOIN TYPE   RF02L-DSOIN,    " DSO
                 H06SA TYPE   RF035-H06SA,    " Highest Balance at the end of 6 Months
                 H06JA TYPE   RF035-H06JA,    " Year highest Balance 6 Months
                 H06MO TYPE   RF035-H06MO,    " Month OF hihest Balance 6 Months
                 H12SA TYPE   RF035-H12SA,    " Highest Balance at the end of 12 Months
                 H12JA TYPE   RF035-H12JA,    " Year highest Balance 12 Months
                 H12MO TYPE   RF035-H12MO,    " Month OF hihest Balance 12 Months
                 UMP2U TYPE   RF42B-UMP2U,    " Sales from the current Year
                 UMP1U TYPE   RF42B-UMP1U,    " Sales from the Previous Year
                 SFAEL TYPE   RF035-SFAEL,    " Total Past Due Open Item
                 SFAE1 TYPE   RF035-SFAE1,    " Aging buckets 0-15
                 SFAE2 TYPE   RF035-SFAE2,    " Aging buckets 16-30
                 SFAE3 TYPE   RF035-SFAE3,    " Aging buckets 31-60
                 SFAE4 TYPE   RF035-SFAE4,    " Aging buckets 60-90
                 SFAE5 TYPE   RF035-SFAE5,    " Aging buckets Over 90
          END Of I_CINFO.
    DATA : BEGIN OF S_CINFO ,
                 KUNNR TYPE   KNB1-KUNNR,     " Customer
                 KNKLI TYPE   KNKK-KNKLI,     " Customer's account number with credit limit reference
                 KKBER TYPE   KNKK-KKBER,     " Credit Control Area
                 CTLPC TYPE   KNKK-CTLPC,     " Risk Category
                 KLIMK TYPE   KNKK-KLIMK,     " Credit Limit
                 SBGRP TYPE   KNKK-SBGRP,     " Credit representative group for credit management
                 ERDAT TYPE   KNKK-ERDAT,     " Created On
                 DTREV TYPE   KNKK-DTREV,     " Last Internal Review
                 REVDB TYPE   KNKK-REVDB,     " Last External Review
                 SALDO TYPE   RF42B-SALDO,    " Balance
                 DSOIN TYPE   RF02L-DSOIN,    " DSO
                 H06SA TYPE   RF035-H06SA,    " Highest Balance at the end of 6 Months
                 H06JA TYPE   RF035-H06JA,    " Year highest Balance 6 Months
                 H06MO TYPE   RF035-H06MO,    " Month OF hihest Balance 6 Months
                 H12SA TYPE   RF035-H12SA,    " Highest Balance at the end of 12 Months
                 H12JA TYPE   RF035-H12JA,    " Year highest Balance 12 Months
                 H12MO TYPE   RF035-H12MO,    " Month OF hihest Balance 12 Months
                 UMP2U TYPE   RF42B-UMP2U,    " Sales from the current Year
                 UMP1U TYPE   RF42B-UMP1U,    " Sales from the Previous Year
                 SFAEL TYPE   RF035-SFAEL,    " Total Past Due Open Item
                 SFAE1 TYPE   RF035-SFAE1,    " Aging buckets 0-15
                 SFAE2 TYPE   RF035-SFAE2,    " Aging buckets 16-30
                 SFAE3 TYPE   RF035-SFAE3,    " Aging buckets 31-60
                 SFAE4 TYPE   RF035-SFAE4,    " Aging buckets 60-90
                 SFAE5 TYPE   RF035-SFAE5,    " Aging buckets Over 90
          END Of s_cinfo.
    *Internal table to hold month-wise balance.
    DATA:    BEGIN OF SALTAB OCCURS 12,
               LNUMM(2)     TYPE N,             " Month
               SALDO        LIKE RF42B-SALDO,   " Balance
             END   OF SALTAB.
    *Internal table used for computing the Balance fields
    DATA:    BEGIN OF SALDO,
               UML01             LIKE KNC1-UM01S,
               UML02             LIKE KNC1-UM01S,
               UML03             LIKE KNC1-UM01S,
               UML04             LIKE KNC1-UM01S,
               UML05             LIKE KNC1-UM01S,
               UML06             LIKE KNC1-UM01S,
               UML07             LIKE KNC1-UM01S,
               UML08             LIKE KNC1-UM01S,
               UML09             LIKE KNC1-UM01S,
               UML10             LIKE KNC1-UM01S,
               UML11             LIKE KNC1-UM01S,
               UML12             LIKE KNC1-UM01S,
             END   OF SALDO.
    Structure to hold Bal fields ------ -------
    DATA:    BEGIN OF SKNKK,
               KUNNR             LIKE KNA1-KUNNR,  " Customer Number 1: Debitor
               KONTO             LIKE KNKK-KUNNR,
               SFAE1             LIKE RF035-SFAE1, " Aging buckets 0-15
               SFAE2             LIKE RF035-SFAE2, " Aging buckets 16-30
               SFAE3             LIKE RF035-SFAE3, " Aging buckets 30-60
               SFAE4             LIKE RF035-SFAE4, " Aging buckets 60-90
               SFAE5             LIKE RF035-SFAE5, " Aging buckets Over 90
               SFAEL             LIKE RF035-SFAEL, " Total Due of Items
               UML01             LIKE KNC1-UM01S,
               UML02             LIKE KNC1-UM01S,
               UML03             LIKE KNC1-UM01S,
               UML04             LIKE KNC1-UM01S,
               UML05             LIKE KNC1-UM01S,
               UML06             LIKE KNC1-UM01S,
               UML07             LIKE KNC1-UM01S,
               UML08             LIKE KNC1-UM01S,
               UML09             LIKE KNC1-UM01S,
               UML10             LIKE KNC1-UM01S,
               UML11             LIKE KNC1-UM01S,
               UML12             LIKE KNC1-UM01S,
               UMP1U             LIKE RF42B-UMP1U, " Sales from the Previous Year
               UMP2U             LIKE RF42B-UMP2U, " Sales from the current Year
               SALDO             LIKE RF42B-SALDO, " Balance
             END   OF SKNKK.
    DATA :  BEGIN OF ICUST1 OCCURS 0,
               KUNNR             TYPE KNA1-KUNNR,    "For Customer Filter.
            END   OF ICUST1.
    **Internal table to hold fiscal varriants
    DATA: BEGIN OF LT_PERIODS OCCURS 12,
             PERIOD LIKE BSID-MONAT,
             GJAHR  LIKE KNC1-GJAHR,
           END OF LT_PERIODS.
    **Constants
    constants :  BUKRS1 TYPE KNB1-BUKRS VALUE '1000',
                 BUKRS2 TYPE KNB1-BUKRS VALUE '1031',
                 Recs   Type i value '200',
                 B_count type i value '2'.
          INITIALIZATION
    INITIALIZATION.
      IF RASID IS INITIAL.
        SELECT * FROM TRAS.
          EXIT.
        ENDSELECT.
        IF SY-SUBRC = 0.
          RASID = TRAS-RASID.
        ENDIF.
      ENDIF.
    SELECTION-SCREEN
      parameters : p_path type rlgrap-filename default 'C:\Documents and Settings\C890971\Desktop\Credit_history.XLS'.
    Start of selection processing
    START-OF-SELECTION.
    **Get Customers for Co. Code 1000 & 1031.
      PERFORM GET_CUST.
    Get  / Compute Credit Information data for Company Codes 1000 & 1031.
      PERFORM GET_CREDIT_DATA.
    End of selection processing
    *END-OF-SELECTION.
    Listing Credit History Data
      PERFORM DOWNLOAD_CREDIT_DATA.
    S U B R O U T I N E S
    *&      Form  GET_CUST
          text
    -->  p1        text
    <--  p2        text
    FORM GET_CUST .
    Get US only Customers.
      Refresh icust.
      Select kunnr from kna1 appending table icust
                                   where Land1 = land.
    **Delete duplicate records
      Delete Adjacent duplicates from icust comparing kunnr.
      if icust[] is not initial.
       Limit the selection some more to Co. Code 1000 & 1031
      As join will cost overhead as compared.
      Select kunnr from knb1 into table icust1
                                  for all entries in icust
                                  where kunnr = icust-kunnr
                                  and   bukrs = bukrs1
                                  OR    bukrs = bukrs2.
    **Delete duplicate records
      Delete Adjacent duplicates from icust1 comparing kunnr.
       endif.
    **Free memory.
      Free icust.
    Credit Control Area
      select * from T001CM into table TCMTAB
                           where bukrs = bukrs1 OR
                                 bukrs = bukrs2.
    ENDFORM.                    " GET_CUST
    *&      Form  GET_CREDIT_DATA
          text
    -->  p1        text
    <--  p2        text
    FORM GET_CREDIT_DATA .
      DATA : L_TEXT(60) TYPE C ,
             Ltext1(50) type C value 'Computing Credit-History Data For',
             Ltext2(10) type C value 'Customers',
             L_PCT type i value '10',
             L_recs type i,
             l_batch_recs type i,
             l_s_rec type i value 1,
             l_recs1(7) type N.
    ***Fetch data from KNKK table
      PERFORM GET_KNKK_DATA  .
    ***Computing Crredit Fields
    **Number of Customers For whom Deatils needed.
      Describe table I_CINFO lines l_recs.
      l_recs1 = l_recs.
      Concatenate Ltext1 l_recs1 Ltext2 into l_text separated by ' '.
      PERFORM GET_PGRESS_INDICATOR USING l_text l_pct.
    ***If records are more than 200000, should be processed  batch-wise
      If l_recs > recs.
        l_batch_recs = abs( l_recs / b_count ).
        Do b_count times.
          loop at i_cinfo INTO S_CINFO from l_S_REC to l_batch_recs.
    **Remember the row
            sytabix = sy-tabix.
    **Compute DSO
            PERFORM GET_DSO_FIELD .
    Compute rest credit history data.
            PERFORM COMPUTE_SFIELDS.
          endloop.
          l_S_REC = l_S_REC + l_batch_recs.
          l_batch_recs = l_batch_recs + l_batch_recs.
          IF l_batch_recs ge l_recs.
            l_batch_recs = l_recs.
          eNDIF.
    Commit up to here to release the DB locks.
          Commit work.
        enddo.
      else.
        loop at i_cinfo INTO S_CINFO.
    **Remember the row
          sytabix = sy-tabix.
    **Compute DSO
          PERFORM GET_DSO_FIELD .
    Compute rest credit history data.
          PERFORM COMPUTE_SFIELDS.
        endloop.
      Endif.
    ENDFORM.                    " GET_CREDIT_DATA
    *&      Form  GET_KNKK_DATA
          text
         -->P_ICUST_KUNNR  text
    FORM GET_KNKK_DATA .
      if icust1[] is not initial.
      SELECT   KUNNR KNKLI KKBER  CTLPC KLIMK
               SBGRP ERDAT DTREV REVDB
               from KNKK into corresponding fields of table I_Cinfo
               for all entries in icust1
               where kunnr = icust1-kunnr.
      Delete Adjacent duplicates from i_cinfo comparing kunnr.
      endif.
    **Free Memory for internal table icust1.
      Free icust1.
    ENDFORM.                    " GET_KNKK_DATA
    **&      Form  GET_DSO_FIELD
          text
    -->  p1        text
    <--  p2        text
    FORM GET_DSO_FIELD .
    ***Determine DSO Parameter
      PERFORM DSO_PARAMETER.
    ***Compute DSO
      CALL FUNCTION 'CUSTOMER_DSO_CALCULATION'
        EXPORTING
          I_KKBER       = s_cinfo-kkber
          I_KUNNR       = s_cinfo-kunnr
          I_ANZBUPER    = T000CM-DSOPP
          I_XCHILDS     = T000CM-DSOCH
          I_ACTBALANCE  = T000CM-DSOAB
        IMPORTING
          E_DSOIN       = RF02L-DSOIN
        EXCEPTIONS
          ERROR_MESSAGE = 1.
    ENDFORM.                    " GET_DSO_FIELD
    *&      Form  DSO_PARAMETER
          text
    -->  p1        text
    <--  p2        text
    FORM DSO_PARAMETER.
      IF T000CM-DSOPP IS INITIAL.
        SELECT SINGLE * FROM T000CM.
        IF SY-SUBRC     EQ 0.
          IF T000CM-DSOPP IS INITIAL.
            T000CM-DSOPP = '003'.
          ENDIF.
        ELSE.
          T000CM-DSOPP = '003'.
          T000CM-DSOCH = ' '.
          T000CM-DSOAB = 'X'.
        ENDIF.
      ENDIF.
    ENDFORM.                    " DSO_PARAMETER
    -->  p1        text
    <--  p2        text
    FORM PERIODE_ERMITTELN_EXC USING
                P03_BUDAT    LIKE SYST-DATUM
                P03_GJAHR    LIKE KNC1-GJAHR
                P03_MONAT    LIKE MONAT.
      CALL FUNCTION 'FI_PERIOD_DETERMINE'
           EXPORTING
                I_BUDAT = P03_BUDAT
                I_PERIV = T001-PERIV
              I_BUKRS = T001-BUKRS
                I_GJAHR = P03_GJAHR
                I_MONAT = P03_MONAT
           IMPORTING
                E_GJAHR = P03_GJAHR
                E_MONAT = P03_MONAT
           EXCEPTIONS
                ERROR_MESSAGE = 1.
    ENDFORM.                    "PERIODE_ERMITTELN_EXC
    *&      Form  COMPUTE_SFIELDS
          text
    -->  p1        text
    <--  p2        text
    FORM COMPUTE_SFIELDS .
    **Compute Balance
      PERFORM GET_SFIELDS .
      S_CINFO-DSOIN = RF02L-DSOIN.
      S_CINFO-SALDO = RF035-SALDO.
      S_CINFO-H06SA = RF035-H06SA.
      S_CINFO-H06JA = RF035-H06JA.
      S_CINFO-H06MO = RF035-H06MO.
      S_CINFO-H12SA = RF035-H12SA.
      S_CINFO-H12JA = RF035-H12JA.
      S_CINFO-H12MO = RF035-H12MO.
      S_CINFO-UMP2U = RF42B-UMP2U.
      S_CINFO-UMP1U = RF42B-UMP1U.
      S_CINFO-SFAEL = RF035-SFAEL.
      S_CINFO-SFAE1 = RF035-SFAE1.
      S_CINFO-SFAE2 = RF035-SFAE2.
      S_CINFO-SFAE3 = RF035-SFAE3.
      S_CINFO-SFAE4 = RF035-SFAE4.
      S_CINFO-SFAE5 = RF035-SFAE5.
    modify..
      MODIFY I_CINFO FROM S_CINFO INDEX sytabix.
      CLEAR: S_CINFO,RF035,RF02L, RF42B.
    ENDFORM.                    " COMPUTE_SFIELDS
          text
         -->P_C_INFO_KUNNR  text
    FORM GET_CUST_BAL_INFO.
      LOOP AT TCMTAB.
        CALL FUNCTION 'FI_COMPANY_CODE_DATA'
          EXPORTING
            I_BUKRS       = TCMTAB-BUKRS
          IMPORTING
            E_T001        = T001
          EXCEPTIONS
            ERROR_MESSAGE = 1.
        IF SY-SUBRC = 0.
          MOVE-CORRESPONDING T001 TO BUKTAB.
          BUKTAB-KKBER = TCMTAB-KKBER.
          COLLECT BUKTAB.
        ENDIF.
      ENDLOOP.
      LOOP AT BUKTAB WHERE PERIV NE SPACE.
        GJATAB-PERIV = BUKTAB-PERIV.
        COLLECT GJATAB.
      ENDLOOP.
      CLEAR: MONAT.
      LOOP AT GJATAB.
        T001-PERIV = GJATAB-PERIV.
        CLEAR: GJAHR, MONAT.
        PERFORM PERIODE_ERMITTELN_EXC USING SY-DATLO GJAHR MONAT.
        CHECK SY-SUBRC = 0.
        GJATAB-GJAHR = GJAHR.
        GJATAB-MONAT = MONAT.
        SELECT SINGLE * FROM T009 WHERE PERIV = GJATAB-PERIV.
        IF SY-SUBRC = 0.
          GJATAB-ANZBP = T009-ANZBP.
        ENDIF.
        MODIFY GJATAB.
      ENDLOOP.
      LOOP AT BUKTAB.
        CHECK NOT ( BUKTAB-PERIV IS INITIAL ).
        READ TABLE GJATAB WITH KEY BUKTAB-PERIV.
        CHECK SY-SUBRC = 0
          AND NOT ( GJATAB-GJAHR IS INITIAL ).
        CALL FUNCTION 'CUSTOMER_BALANCE'
          EXPORTING
            KUNNR      = S_cinfo-kunnr
            BUKRS      = BUKTAB-BUKRS
            GJAHR      = GJATAB-GJAHR
            MONAT      = GJATAB-MONAT
            PERIV      = GJATAB-PERIV
            ANZBP      = GJATAB-ANZBP
            XH6MON     = 'X'
            XH12MON    = 'X'
          IMPORTING
            UMP2U      = RF42B-UMP2U
            VMP2U      = RF42B-UMP1U
            SALDO      = RF035-SALDO
            UML01      = SALDO-UML01
            UML02      = SALDO-UML02
            UML03      = SALDO-UML03
            UML04      = SALDO-UML04
            UML05      = SALDO-UML05
            UML06      = SALDO-UML06
            UML07      = SALDO-UML07
            UML08      = SALDO-UML08
            UML09      = SALDO-UML09
            UML10      = SALDO-UML10
            UML11      = SALDO-UML11
            UML12      = SALDO-UML12
          EXCEPTIONS
            NO_BALANCE = 4.
        IF SY-SUBRC = 0.
          SKNKK-UMP1U = SKNKK-UMP1U + RF42B-UMP1U.
          SKNKK-UMP2U = SKNKK-UMP2U + RF42B-UMP2U.
          SKNKK-SALDO = SKNKK-SALDO + RF035-SALDO.
          SKNKK-UML01 = SKNKK-UML01 + SALDO-UML01.
          SKNKK-UML02 = SKNKK-UML02 + SALDO-UML02.
          SKNKK-UML03 = SKNKK-UML03 + SALDO-UML03.
          SKNKK-UML04 = SKNKK-UML04 + SALDO-UML04.
          SKNKK-UML05 = SKNKK-UML05 + SALDO-UML05.
          SKNKK-UML06 = SKNKK-UML06 + SALDO-UML06.
          SKNKK-UML07 = SKNKK-UML07 + SALDO-UML07.
          SKNKK-UML08 = SKNKK-UML08 + SALDO-UML08.
          SKNKK-UML09 = SKNKK-UML09 + SALDO-UML09.
          SKNKK-UML10 = SKNKK-UML10 + SALDO-UML10.
          SKNKK-UML11 = SKNKK-UML11 + SALDO-UML11.
          SKNKK-UML12 = SKNKK-UML12 + SALDO-UML12.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    "
    *&      Form  GET_SFIELDS
          text
    -->  p1        text
    <--  p2        text
    FORM GET_SFIELDS .
      sknkk-kunnr = S_CINFO-KUNNR.
    **Clear target to store computed values
      CLEAR: RF035.
    **Compute Balance fields
      PERFORM GET_CUST_BAL_INFO.
      REFRESH: SALTAB.
      SALTAB-LNUMM = '01'. SALTAB-SALDO = SKNKK-UML01. APPEND SALTAB.
      SALTAB-LNUMM = '02'. SALTAB-SALDO = SKNKK-UML02. APPEND SALTAB.
      SALTAB-LNUMM = '03'. SALTAB-SALDO = SKNKK-UML03. APPEND SALTAB.
      SALTAB-LNUMM = '04'. SALTAB-SALDO = SKNKK-UML04. APPEND SALTAB.
      SALTAB-LNUMM = '05'. SALTAB-SALDO = SKNKK-UML05. APPEND SALTAB.
      SALTAB-LNUMM = '06'. SALTAB-SALDO = SKNKK-UML06. APPEND SALTAB.
      SALTAB-LNUMM = '07'. SALTAB-SALDO = SKNKK-UML07. APPEND SALTAB.
      SALTAB-LNUMM = '08'. SALTAB-SALDO = SKNKK-UML08. APPEND SALTAB.
      SALTAB-LNUMM = '09'. SALTAB-SALDO = SKNKK-UML09. APPEND SALTAB.
      SALTAB-LNUMM = '10'. SALTAB-SALDO = SKNKK-UML10. APPEND SALTAB.
      SALTAB-LNUMM = '11'. SALTAB-SALDO = SKNKK-UML11. APPEND SALTAB.
      SALTAB-LNUMM = '12'. SALTAB-SALDO = SKNKK-UML12. APPEND SALTAB.
      READ TABLE SALTAB INDEX 1.
      RF035-H06SA = SALTAB-SALDO.
      RF035-H06MO = SALTAB-LNUMM.
      RF035-H12SA = SALTAB-SALDO.
      RF035-H12MO = SALTAB-LNUMM.
    ------ SALTAB ---------------------------------------------
      LOOP AT SALTAB.
        IF  SALTAB-SALDO > RF035-H06SA
        AND SY-TABIX     < 7.
          RF035-H06SA = SALTAB-SALDO.
          RF035-H06MO = SALTAB-LNUMM.
        ENDIF.
        IF  SALTAB-SALDO > RF035-H12SA
        AND SY-TABIX     < 13.
          RF035-H12SA = SALTAB-SALDO.
          RF035-H12MO = SALTAB-LNUMM.
        ENDIF.
      ENDLOOP.
    ------ Period--------------------
      REFRESH LT_PERIODS.
      CLEAR LD_COUNTER.
      READ TABLE BUKTAB INDEX 1.
      IF SY-SUBRC = 0.
        READ TABLE GJATAB WITH KEY BUKTAB-PERIV.
        DO GJATAB-MONAT TIMES
           VARYING LD_PERIOD FROM LD_PERIODS(2) NEXT LD_PERIODS+2(2)
                                                     RANGE LD_PERIODS.
          LT_PERIODS-GJAHR  = GJATAB-GJAHR.
          LT_PERIODS-PERIOD = LD_PERIOD.
          LD_COUNTER = LD_COUNTER + 1.
          APPEND LT_PERIODS.
        ENDDO.
        IF LD_COUNTER LT 12.
          LD_GJAHR = GJATAB-GJAHR - 1.
          CLEAR T009Y.
          SELECT SINGLE * FROM T009Y WHERE PERIV = GJATAB-PERIV
                                       AND GJAHR = LD_GJAHR.
          DO GJATAB-ANZBP TIMES
             VARYING LD_PERIOD FROM LD_PERIODS(2) NEXT LD_PERIODS+2(2)
                                                       RANGE LD_PERIODS.
            IF T009Y-ANZBP > 0.
              CHECK SY-INDEX <= T009Y-ANZBP.
            ENDIF.
            LD_COUNTER = LD_COUNTER + 1.
            LT_PERIODS-GJAHR  = LD_GJAHR.
            LT_PERIODS-PERIOD = LD_PERIOD.
            APPEND LT_PERIODS.
          ENDDO.
        ENDIF.
        IF LD_COUNTER LT 12.
          LD_GJAHR = LD_GJAHR - 1.
          DO GJATAB-ANZBP TIMES
             VARYING LD_PERIOD FROM LD_PERIODS(2) NEXT LD_PERIODS+2(2)
                                                       RANGE LD_PERIODS.
            LD_COUNTER = LD_COUNTER + 1.
            LT_PERIODS-GJAHR  = LD_GJAHR.
            LT_PERIODS-PERIOD = LD_PERIOD.
            APPEND LT_PERIODS.
          ENDDO.
        ENDIF.
        SORT LT_PERIODS BY GJAHR ASCENDING PERIOD ASCENDING.
        LD_COUNTER = LD_COUNTER - 12.
        DO LD_COUNTER TIMES.
          DELETE LT_PERIODS INDEX 1.
        ENDDO.
        SORT LT_PERIODS BY GJAHR DESCENDING PERIOD DESCENDING.
        READ TABLE LT_PERIODS INDEX RF035-H06MO.
        RF035-H06MO = LT_PERIODS-PERIOD.
        RF035-H06JA = LT_PERIODS-GJAHR.
        READ TABLE LT_PERIODS INDEX RF035-H12MO.
        RF035-H12MO = LT_PERIODS-PERIOD.
        RF035-H12JA = LT_PERIODS-GJAHR.
      ENDIF.
    **Compute Due Dates fields
      PERFORM GET_AGING_BUCKETS .
      RF035-SFAE1 = SKNKK-SFAE1.
      RF035-SFAE2 = SKNKK-SFAE2.
      RF035-SFAE3 = SKNKK-SFAE3.
      RF035-SFAE4 = SKNKK-SFAE4 .
      RF035-SFAE5 = SKNKK-SFAE5.
    ENDLOOP.
    ENDFORM.                    " GET_BALANCE_SFIELDS
    *&      Form  GET_AGING_BUCKETS
          text
    -->  p1        text
    <--  p2        text
    FORM GET_AGING_BUCKETS .
      DATA: BEGIN OF LT_BUKRS OCCURS 0,
              BUKRS LIKE T001-BUKRS,
            END OF LT_BUKRS.
      DATA: BEGIN OF LT_BUKTAB OCCURS 0,
              BUKRS LIKE T001-BUKRS,
              WAERS LIKE T001-WAERS,
              KKBER LIKE T014-KKBER,
            END OF LT_BUKTAB.
      DATA: LD_LINES LIKE SY-TABIX.
    *...performance optimization: for more than one company codes check....*
    *...if balances exist and avoid selection of open items, if they don't.*
    *...exist..............................................................*
      REFRESH LT_BUKRS.
      REFRESH LT_BUKTAB.
      DESCRIBE TABLE BUKTAB LINES LD_LINES.
      IF LD_LINES GT 1.
        SELECT DISTINCT BUKRS APPENDING CORRESPONDING FIELDS
                                        OF TABLE LT_BUKRS
                              FROM KNC1 FOR ALL ENTRIES IN BUKTAB
                        WHERE BUKRS = BUKTAB-BUKRS AND
                              KUNNR = Sknkk-KUNNR.
        SELECT DISTINCT BUKRS APPENDING CORRESPONDING FIELDS
                                        OF TABLE LT_BUKRS
                              FROM KNC3 FOR ALL ENTRIES IN BUKTAB
                        WHERE BUKRS = BUKTAB-BUKRS AND
                              KUNNR = Sknkk-KUNNR.
        SORT LT_BUKRS.
        DELETE ADJACENT DUPLICATES FROM LT_BUKRS.
        LOOP AT LT_BUKRS.
          LOOP AT BUKTAB WHERE BUKRS = LT_BUKRS-BUKRS.
            MOVE-CORRESPONDING BUKTAB TO LT_BUKTAB.
            APPEND LT_BUKTAB.
          ENDLOOP.
        ENDLOOP.
      ELSE.
        READ TABLE BUKTAB INDEX 1.
        MOVE-CORRESPONDING BUKTAB TO LT_BUKTAB.
        APPEND LT_BUKTAB.
      ENDIF.
    *...process company codes for customer given by interface..........*
      LOOP AT LT_BUKTAB WHERE KKBER = s_cinfo-KKBER.
        CALL FUNCTION  'CUSTOMER_DUE_DATE_ANALYSIS'
             EXPORTING  BUKRS   = LT_BUKTAB-BUKRS
                       KKBER   = ' '
                        KKBER   = s_cinfo-KKBER
                        KUNNR   = Sknkk-KUNNR
                        RASID   = RASID
             IMPORTING  SFAE1   = RF035-SFAE1
                        SFAE2   = RF035-SFAE2
                        SFAE3   = RF035-SFAE3
                        SFAE4   = RF035-SFAE4
                        SFAE5   = RF035-SFAE5
                        SFAEL   = RF035-SFAEL
             EXCEPTIONS NO_OPEN_ITEMS = 4.
        IF SY-SUBRC = 0.
    *--  RF035 -
          SKNKK-SFAE1 = SKNKK-SFAE1 + RF035-SFAE1.
          SKNKK-SFAE2 = SKNKK-SFAE2 + RF035-SFAE2.
          SKNKK-SFAE3 = SKNKK-SFAE3 + RF035-SFAE3.
          SKNKK-SFAE4 = SKNKK-SFAE4 + RF035-SFAE4.
          SKNKK-SFAE5 = SKNKK-SFAE5 + RF035-SFAE5.
          SKNKK-SFAE5 = SKNKK-SFAE5 + RF035-SFAE5.
          SKNKK-SFAEL = SKNKK-SFAEL + RF035-SFAEL.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    " GET_AGING_BUCKETS
    *&      Form  header
    This Subroutine gets data for displaying title                     *
    There are no interface parameters to be passed to this subroutine. *
    FORM header .
      wa_final-string = text-000.  APPEND wa_final TO i_final.
      wa_final-string = text-001.  APPEND wa_final TO i_final.
      wa_final-string = text-002.  APPEND wa_final TO i_final.
      wa_final-string = text-003.  APPEND wa_final TO i_final.
      wa_final-string = text-004.  APPEND wa_final TO i_final.
      wa_final-string = text-005.  APPEND wa_final TO i_final.
      wa_final-string = text-006.  APPEND wa_final TO i_final.
      wa_final-string = text-007.  APPEND wa_final TO i_final.
      wa_final-string = text-008.  APPEND wa_final TO i_final.
      wa_final-string = text-009.  APPEND wa_final TO i_final.
      wa_final-string = text-010.  APPEND wa_final TO i_final.
      wa_final-string = text-011.  APPEND wa_final TO i_final.
      wa_final-string = text-012.  APPEND wa_final TO i_final.
      wa_final-string = text-013.  APPEND wa_final TO i_final.
      wa_final-string = text-014.  APPEND wa_final TO i_final.
      wa_final-string = text-015.  APPEND wa_final TO i_final.
      wa_final-string = text-016.  APPEND wa_final TO i_final.
      wa_final-string = text-017.  APPEND wa_final TO i_final.
      wa_final-string = text-018.  APPEND wa_final TO i_final.
      wa_final-string = text-019.  APPEND wa_final TO i_final.
      wa_final-string = text-020.  APPEND wa_final TO i_final.
      wa_final-string = text-021.  APPEND wa_final TO i_final.
      wa_final-string = text-022.  APPEND wa_final TO i_final.
      wa_final-string = text-023.  APPEND wa_final TO i_final.
      wa_final-string = text-024.  APPEND wa_final TO i_final.
    ENDFORM.                               " header
    *&      Form  DOWNLOADCREDITDATA
          text
         -->P_P_PATH  text
    FORM DOWNLOADCREDITDATA  USING P_PATH.
      DATA:
          lw_file2 TYPE string .           " File Path
      lw_file2 = p_PATH.
      CALL FUNCTION 'GUI_DOWNLOAD'
         EXPORTING
      BIN_FILESIZE                    = BIN_FILESIZE
           filename                        = lw_file2
           filetype                        = 'DBF'
      APPEND                          = ' '
       write_field_separator           = ' '
      HEADER                          = '00'
      TRUNC_TRAILING_BLANKS           = 'X'
      WRITE_LF                        = 'X'
       COL_SELECT                      = 'X'
      COL_SELECT_MASK                 = ' '
      DAT_MODE                        = 'X'
      CONFIRM_OVERWRITE               = ' '
      NO_AUTH_CHECK                   = ' '
      CODEPAGE                        = ' '
      IGNORE_CERR                     = ABAP_TRUE
      REPLACEMENT                     = '#'
      WRITE_BOM                       = ' '
      TRUNC_TRAILING_BLANKS_EOL       = 'X'
      WK1_N_FORMAT                    = '0'
      WK1_N_SIZE                      = ' '
      WK1_T_FORMAT                    = ' '
      WK1_T_SIZE                      = ' '
    IMPORTING
      FILELENGTH                      = FILELENGTH
         TABLES
           data_tab                        = I_CINFO
           fieldnames                      = i_final
         EXCEPTIONS
           file_write_error                = 1
           no_batch                        = 2
           gui_refuse_filetransfer         = 3
           invalid_type                    = 4
           no_authority                    = 5
           unknown_error                   = 6
           header_not_allowed              = 7
           separator_not_allowed           = 8
           filesize_not_allowed            = 9
           header_too_long                 = 10
           dp_error_create                 = 11
           dp_error_send                   = 12
           dp_error_write                  = 13
           unknown_dp_error                = 14
           access_denied                   = 15
           dp_out_of_memory                = 16
           disk_full                       = 17
           dp_timeout                      = 18
           file_not_found                  = 19
           dataprovider_exception          = 20
           control_flush_error             = 21
      IF sy-subrc <> 0.
    Messege
      ENDIF.                               " IF sy-subrc EQ 0
    ENDFORM.                    " DOWNLOADCREDITDATA
    *&      Form  DOWNLOAD_CREDIT_DATA
          text
    -->  p1        text
    <--  p2        text
    FORM DOWNLOAD_CREDIT_DATA .
      PERFORM HEADER.
      PERFORM DOWNLOADCREDITDATA USING P_PATH.
    ENDFORM.                    " DOWNLOAD_CREDIT_DATA
    *&      Form  GET_PGRESS_INDICATOR
          text
         -->P_L_TEXT  text
         -->P_L_PCT  text
    FORM GET_PGRESS_INDICATOR  USING    L_TEXT
                                        L_PCT.
      CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
        EXPORTING
          PERCENTAGE = l_pct
          TEXT       = l_TEXT.
    ENDFORM.                    " GET_PGRESS_INDICATOR

    If you are just Downloading to a Flat file then why dont you have logic in place for the program to dump the data read into  the file to that point depending on any criteria like accounts or customer then clear the internal table and run it in the back ground.
    try to use cursor to read the records from the table which will make it a bit more efficient than plain select stement.

  • Time out error

    Dear All,
    One of our production system and one of HR user got time out error while executing T-code PA30 , PA40 .
    Note : we  tried the transaction ( PA30 and PA40 ) in our user id ,it work smooth ,there is no issue with in my user id as well other HR user also .
    Only the specific user facing time out error in Production server.
    Note : while executing PA30 ,PA40 t-codes ,it takes long time to get initial screen itself finally got time out error (No issue with other SAP HR users)  .
    Pls check the below logs:
    Runtime Error          TIME_OUT
           Occurred on     17.08.2011 at   08:59:00
    Time limit exceeded.
    What happened?
    The program "SAPLRHAC" has exceeded the maximum permitted runtime without
    interruption, and has therefore been terminated.
    What can you do?
    Print out the error message (using the "Print" function)
    and make a note of the actions and input that caused the
    error.
    To resolve the problem, contact your SAP system administrator.
    You can use transaction ST22 (ABAP Dump Analysis) to view and administer
    termination messages, especially those beyond their normal deletion
    date.
    Error analysis
    After a certain length of time, the program is terminated. In the case
    of a work area, this means that
    - endless loops (DO, WHILE, ...),
    - database accesses producing an excessively large result set,
    Kindly advise ,is this related to any Authorization issue ???

    Hi,
    Please share SAP_BASIS/ SAP_HR release/patch level information of the affected SAP system.
    I would suggest you to create New Temp SAP User id with exact copy of that affected SAP User ID and then try to access PA30/PA40 with that New SAP User id login into affected system. Check that, u are facing the same behavior/issue with that New Temp SAP User id ?
    Regards,
    Bhavik G. Shroff

  • Time Our Error while executing a BW reports.

    Hello BW experts ,
    We are getting the 'Time Our Error while executing some  BW reports.'
    Could anyone help us to solve the above issue.
    regards,
    Amol.

    Hi,
    previous answer is necessary, always check the shortdumps ... it can tell you alot about your problem
    (ST22)..
    what also could help is the following ... go to the infopackage, go to <u>scheduler</u> in the upper taskbar and there you can also set the time out parameters ..
    But first, get your problem solved by the things you can read in the shortdump analysis report
    also clever, is doing an extract test before you start loading ... rsa3
    hope this helps ...
    best regards,
    Davy

  • 'Overlapping Time Intervals' error while loading the Master Data

    Guys,
              Need you help with this. I am trying to load the Master Data (attribute) for InfoObject 0FMD_FRSITM using DTP from DataSource 0FMD_FRSITM_ATTR and am getting an error 'Overlapping Time Intervals'.
    This is happening due to overlapping Valid From/Valid To date's for the same Financial Statement Item (0FMD_FRSITM) with different Editions.
    If I select the option 'Ignore Duplicate Records' while loading the data, it is successful. But not all the records are loads and Editions are missing.
    Below is an example of how the data looks like.
    FRSITM         Valid To                  Valid From                 Edition
    1001             12/31/9999             04/01/2010                2010.1.1
    1001             01/31/2010             03/01/2010                2010.1.2
    1001             12/31/9999             02/01/2010                2010.1.3
    In the above scenario, the Valid To Data for record 1 and record 3 is the same (12/31/9999) and the record 3 is being ignore when I select the option 'Ignore Duplicate Records'.
    And also I see that the Edition is not the Key Field.
    Any suggestions or ideas? Appreciate your help.
    Thanks.

    FRSITM Valid To Valid From Edition
    1001 12/31/9999 04/01/2010 2010.1.1
    1001 01/31/2010 03/01/2010 2010.1.2
    1001 12/31/9999 02/01/2010 2010.1.3
    1. While selecting ignore duplicate, make sure to-date is not part of symantic key.
    2. if system comes across two same records it picks up the latest one.
    3. It shall merge the timelines is overlap is found.
    4. I hope Edition is time dependent attribute
    I believe infoobjet key is FRSITM Valid To.
    In your case because first record has more period and may be the latets record system ignore the earlier one with the same time interval.
    have a look at Q table and you shall be able to figure out for your self.
    Hope it helps
    Vikash

  • Time out error in report - Urgent

    Hi Gurus,
       Am developing the report for GL Account summary from tables bkpf, bseg. Due to lot of records in production server it is coming time out error. Please help me regarding this here am attaching my code.
    REPORT ZFBLREPORT.
    *TABLES : zgltax.
    TYPE-POOLS : SLIS.
    TYPES : BEGIN OF TY_ZGLTAX,
            ZGL TYPE BSEG-HKONT,
            ZTAX1 TYPE P DECIMALS 2,
            ZTAX2 TYPE P DECIMALS 2,
            CAMOUNT TYPE RF42B-SALDO,
            PAMOUNT TYPE RF42B-SALDO,
            TCAMOUNT TYPE RF42B-SALDO,
            TPAMOUNT TYPE RF42B-SALDO,
            END OF TY_ZGLTAX.
    TYPES : BEGIN OF TY_BKPF,
            BELNR TYPE BKPF-BELNR,
            BUDAT TYPE BKPF-BUDAT,
            END OF TY_BKPF.
    TYPES : BEGIN OF TY_BSEG,
            BELNR TYPE BSIS-BELNR,
            DMBTR TYPE BSIS-DMBTR,
            SHKZG TYPE BSIS-SHKZG,
            HKONT TYPE BSIS-HKONT,
            BUDAT TYPE BSIS-BUDAT,
            BUZEI TYPE BSIS-BUZEI,
            END OF TY_BSEG.
    DATA : IT_FINAL TYPE STANDARD TABLE OF TY_ZGLTAX,
           WA_FINAL TYPE TY_ZGLTAX.
    DATA : IT_BKPF TYPE STANDARD TABLE OF TY_BKPF,
           WA_BKPF TYPE TY_BKPF.
    DATA : IT_BSEG TYPE STANDARD TABLE OF TY_BSEG,
           WA_BSEG TYPE TY_BSEG.
    DATA: CAMOUNT TYPE RF42B-SALDO,
          PAMOUNT TYPE RF42B-SALDO.
    DATA : INDEX TYPE SY-INDEX.
    DATA : ID TYPE SY-TABIX.
    DATA : START_DATE TYPE SY-DATUM.
    DATA : END_DATE TYPE SY-DATUM.
    DATA : START_QUATER TYPE SY-DATUM.
    DATA : YEAR1(4) TYPE C.
    DATA       : T_FIELDALV     TYPE SLIS_T_FIELDCAT_ALV.
    DATA       : IMPORT_VARIANT LIKE DISVARIANT.
    DATA       : XREPID         LIKE SY-REPID.
    DATA       : LAYOUT         TYPE SLIS_LAYOUT_ALV.
    SELECTION-SCREEN BEGIN OF BLOCK BK1 WITH FRAME TITLE TEXT-001.
    PARAMETER : P_PERIOD(1) TYPE C OBLIGATORY,
                P_YEAR(4) TYPE C OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK BK1.
    AT SELECTION-SCREEN ON P_PERIOD.
      IF P_PERIOD > '4' OR P_PERIOD < '1'.
        P_PERIOD = ''.
        MESSAGE 'Enter Correct Quater Period' TYPE 'E'.
      ENDIF.
    START-OF-SELECTION.
      PERFORM CALC_DATE.
      PERFORM BUILD_LOGIC.
      PERFORM INITIAL_ALV_FIELDCAT CHANGING T_FIELDALV[].
      PERFORM LAYOUT.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          I_CALLBACK_PROGRAM     = SY-REPID
          I_GRID_TITLE           = 'FBT Report'
         i_callback_top_of_page = 'FORM_TOP_PAGE'
         it_sort                = p_sort
          IS_LAYOUT              = LAYOUT
          IT_FIELDCAT            = T_FIELDALV[]
          I_SAVE                 = 'A'
        TABLES
          T_OUTTAB               = IT_FINAL.
    *&      Form  calc_date
          text
    -->  p1        text
    <--  p2        text
    FORM CALC_DATE .
      IF P_PERIOD = '1'.
        CONCATENATE P_YEAR '04' '01' INTO START_DATE.
        CONCATENATE P_YEAR '04' '01' INTO START_QUATER.
        CONCATENATE P_YEAR '06' '30' INTO END_DATE.
      ELSEIF P_PERIOD = '2'.
        CONCATENATE P_YEAR '04' '01' INTO START_DATE.
        CONCATENATE P_YEAR '07' '01' INTO START_QUATER.
        CONCATENATE P_YEAR '09' '30' INTO END_DATE.
      ELSEIF P_PERIOD = '3'.
        CONCATENATE P_YEAR '04' '01' INTO START_DATE.
        CONCATENATE P_YEAR '10' '01' INTO START_QUATER.
        CONCATENATE P_YEAR '12' '31' INTO END_DATE.
      ELSEIF P_PERIOD = '4'.
        CONCATENATE P_YEAR '04' '01' INTO START_DATE.
        YEAR1 = P_YEAR + 1.
        CONCATENATE YEAR1 '01' '01' INTO START_QUATER.
        CONCATENATE YEAR1 '03' '31' INTO END_DATE.
      ENDIF.
    ENDFORM.                    " calc_date
    *&      Form  build_logic
          text
    -->  p1        text
    <--  p2        text
    FORM BUILD_LOGIC .
      SELECT * FROM ZGLTAX INTO CORRESPONDING FIELDS OF TABLE IT_FINAL.
      IF IT_FINAL[] IS NOT INITIAL.
        LOOP AT IT_FINAL INTO WA_FINAL.
          CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
            EXPORTING
              INPUT  = WA_FINAL-ZGL
            IMPORTING
              OUTPUT = WA_FINAL-ZGL.
          INDEX = SY-TABIX.
           SELECT belnr dmbtr shkzg hkont budat buzei
          SELECT *
          FROM BSIS
          INTO CORRESPONDING FIELDS OF TABLE IT_BSEG
          WHERE
          BUKRS = '3599' AND
             HKONT = WA_FINAL-ZGL
            AND GJAHR = P_YEAR.
    Uses primary index (4.7)
          SELECT *
          FROM BSAS
          APPENDING CORRESPONDING FIELDS OF TABLE IT_BSEG
          WHERE
          BUKRS = '3599' AND
            HKONT = WA_FINAL-ZGL
            AND GJAHR = P_YEAR.
          LOOP AT IT_BSEG INTO WA_BSEG .
            IF WA_BSEG-BUDAT >= START_DATE AND WA_BSEG-BUDAT <= END_DATE.
              IF WA_BSEG-SHKZG = 'S'.
                CAMOUNT = CAMOUNT - WA_BSEG-DMBTR.
              ELSEIF WA_BSEG-SHKZG = 'H'.
                CAMOUNT = CAMOUNT + WA_BSEG-DMBTR.
              ENDIF.
            ENDIF.
            IF WA_BSEG-BUDAT >= START_QUATER AND WA_BSEG-BUDAT <= END_DATE.
              IF WA_BSEG-SHKZG = 'S'.
                PAMOUNT = PAMOUNT - WA_BSEG-DMBTR.
              ELSEIF WA_BSEG-SHKZG = 'H'.
                PAMOUNT = PAMOUNT + WA_BSEG-DMBTR.
              ENDIF.
            ENDIF.
          ENDLOOP.
          WA_FINAL-CAMOUNT = CAMOUNT.
          WA_FINAL-PAMOUNT = PAMOUNT.
          WA_FINAL-TCAMOUNT = CAMOUNT * WA_FINAL-ZTAX1 * WA_FINAL-ZTAX2 / (
    100 * 100 ).
          WA_FINAL-TPAMOUNT = PAMOUNT * WA_FINAL-ZTAX1 * WA_FINAL-ZTAX2 / (
    100 * 100 ).
          MODIFY IT_FINAL FROM WA_FINAL INDEX INDEX.
          REFRESH IT_BSEG.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    " build_logic
    *&      Form  layout
          text
    FORM LAYOUT .
      LAYOUT-NO_SUBTOTALS = ' '.
    ENDFORM.                    " LAYOUT
    *&      Form  initial_alv_fieldcat
          text
         -->FIELDCAT   text
    FORM INITIAL_ALV_FIELDCAT  CHANGING FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
      DATA  : LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
      DATA  : CNTR TYPE I VALUE 1.
      CLEAR LS_FIELDCAT.
      CNTR = CNTR + 1.
      LS_FIELDCAT-COL_POS = CNTR.
      LS_FIELDCAT-FIELDNAME = 'ZGL'.
      LS_FIELDCAT-SELTEXT_L = 'GL A/C NO'.
      LS_FIELDCAT-OUTPUTLEN = 15.
      APPEND LS_FIELDCAT TO FIELDCAT.
      CLEAR LS_FIELDCAT.
      CNTR = CNTR + 1.
      LS_FIELDCAT-COL_POS = CNTR.
      LS_FIELDCAT-FIELDNAME = 'ZTAX1'.
      LS_FIELDCAT-SELTEXT_L = 'BASE TAX  PERCENTAGE'.
      LS_FIELDCAT-OUTPUTLEN = 15.
      APPEND LS_FIELDCAT TO FIELDCAT.
      CLEAR LS_FIELDCAT.
      CNTR = CNTR + 1.
      LS_FIELDCAT-COL_POS = CNTR.
      LS_FIELDCAT-FIELDNAME = 'ZTAX2'.
      LS_FIELDCAT-SELTEXT_L = 'TAX PERCENTAGE'.
      LS_FIELDCAT-OUTPUTLEN = 15.
      APPEND LS_FIELDCAT TO FIELDCAT.
      CLEAR LS_FIELDCAT.
      CNTR = CNTR + 1.
      LS_FIELDCAT-COL_POS = CNTR.
      LS_FIELDCAT-FIELDNAME = 'CAMOUNT'.
      LS_FIELDCAT-SELTEXT_L = 'CUMULATIVE AMOUNT'.
      LS_FIELDCAT-OUTPUTLEN = 20.
      APPEND LS_FIELDCAT TO FIELDCAT.
      CLEAR LS_FIELDCAT.
      CNTR = CNTR + 1.
      LS_FIELDCAT-COL_POS = CNTR.
      LS_FIELDCAT-FIELDNAME = 'TCAMOUNT'.
      LS_FIELDCAT-SELTEXT_L = 'Cumulative Tax % Amount'.
      LS_FIELDCAT-OUTPUTLEN = 20.
      APPEND LS_FIELDCAT TO FIELDCAT.
      CLEAR LS_FIELDCAT.
      CNTR = CNTR + 1.
      LS_FIELDCAT-COL_POS = CNTR.
      LS_FIELDCAT-FIELDNAME = 'PAMOUNT'.
      LS_FIELDCAT-SELTEXT_L = 'AMOUNT FOR PERIOD'.
      LS_FIELDCAT-OUTPUTLEN = 20.
      APPEND LS_FIELDCAT TO FIELDCAT.
      CLEAR LS_FIELDCAT.
      CNTR = CNTR + 1.
      LS_FIELDCAT-COL_POS = CNTR.
      LS_FIELDCAT-FIELDNAME = 'TPAMOUNT'.
      LS_FIELDCAT-SELTEXT_L = 'Tax AMOUNT FOR PERIOD'.
      LS_FIELDCAT-OUTPUTLEN = 20.
      APPEND LS_FIELDCAT TO FIELDCAT.
    ENDFORM.                    "initial_alv_fieldcat
    Points will be awarded
    Regards
    Ravi

    Hi Ravi kanth,
    You are using select * statement which is very time consuming and low performance. Dont use select * instead use select field1 field2.... into table itab  where field1 = s_field.  Use corresponding field names in the select statement.
    Follow the below rules.
    1) Dont use nested select statements
    2) If possible use for all entries in addition
    3) In the where addition make sure you give all the primary key
    4) Use Index for the selection criteria.
    5) You can also use inner joins
    6) You can try to put the data from the first select statement into an Itab and then in order to select the data from the second table use for all entries in.
    7) Use the runtime analysis SE30 and SQL Trace (ST05) to identify the performance and also to identify where the load is heavy, so that you can change the code accordingly
    <b>reward if useful</b>.
    Regards,
    sunil kairam.

  • Setting the time interval for LEDs

    hello I am new to labview, I am trying to do something simple, but made it a lot more complicated than it needs to be. I need turn on an LED and turn it off, but in random intervals, such as turn it on for 1 second, then turn it off for 2 seconds, then turn it on for 2 seconds, then turn it off for one second, so no real pattern. I need to do this to the LED for a minute, I tried a really convoluted method with a time target and case strictures, but I can only program that to activate in specific intervals, I am not able to set them. Any help will be greatly appreciated. Here is a VI of my convoluted method that didn't work.
    Attachments:
    LED time interval test.vi ‏43 KB

    You have not tried to implement altenbach's suggestion of autoindexing an array of delays.
    The Reshape Array needs to be outside the for loop. You want to reshape the 3x4 2D array into a 12 element 1D array.  What you are doing is reshaping a 3 element 1D array into a 12 element 1D array. This results in the last nine elements always = zero.
    The Arduino expects an 8-bit unsigned integer. So the data in the arrays should also be U8.
    If the index to Replace Array Subset is negative or greater than the maximum index in the 2D array, it does nothing.  I am not sure exactly what you are trying to do with the array index manipulations so I did not try to fix it.  I added some indicators to show what is happening.
    When using autoindexing on a for loop, do not also wire to N.
    The Arduino Rseource wires and the error wires should be connected through the loop boundaries with shift registers, not tunnels, particularly not autoindexing tunnels.
    I do not have an Arduino, so I used Diagram Disable structures to disable the Arduino VIs for testing without getting errors.
    You seem to be allergic to straight wires. Actually the auto wiring tool is probably on and IT is allergic to straight wires.  I find it easier to understand a block diagram where the wires do not have excessive bends.
    Lynn
    Attachments:
    Project 1 with arduino.2.vi ‏23 KB

Maybe you are looking for

  • Payment file duplication in target system in F110 Transaction

    Hi All Payment file duplication in target system. Wherein since the Print Job was scheduled twice by user, the duplication of payment had taken place.The payment medium program u201CRFFOAVIS_FPAYMu201D  is use to control the generation of duplicate p

  • File Content Conversion pr

    Hi Guys, I have a problem with a file-to-file scenario. It brings up the following error when trying to read the file i.e from the receiver:- Conversion of file content to XML failed at position 0: java.lang.Exception: ERROR consistency check in reco

  • Move a table to right or left when in the drop down tab menu

    How do you move a table to right or left when you have many tabs and the tabl you want to move is  in the drop down tab menu at the right....?

  • Need help figuring out how to make all images appear on every page

    Hello, I user Dreamweaver MX and created this site for my church www.ccosj.com. When I created the site I used image ready for the ind. parts of the page. Loading them into dreamweaver and adjusting the rollovers there (with some tutorial help since

  • Previewing webpage, images are displayed slightly grey!!

    Hi, I have created a web page which illustrates cd covers, when you clck te imag it plays a quicktime .mov file. the thing is the image when in dreamweaver looks fine, crisp and sharp. but when i preview in a browser or upload and view the images loo