Display Contract Times Out

Hi,
We are currently upgrading to SRM 5.0, SP6.
When I log in as a purchaser, and click on display contract under sourcing it takes some time to load and times out thereafter.
I am able to access the GUI frontend using transaction BBP_CTR_MAIN, it also takes some time to run but does eventually display the contracts screen.
Any help would be appreciated,
Many Thanks,
Doreen

Hi
<b>Please go through the follwoing SAP OSS Notes, which will definitely help -></b>
Note 1067227 - Timeout by executing standard include LBBP_PDLTXF04
Note 1046683 - SRM 5.0 SP stack 09(06/2007) SAPKIBKT09 release/info note
Note 980330 - BBP_CTR_MAIN: Performance during first call of transaction
Note 1017684 - Performance problem when accessing contract hierarchy
Note 819793 - SRM40-SUS: Fixed performance in forecast dely sched list
Note 830054 - Enable original contracts to be output repeatedly
Note 773276 - Correction report for BBPD_PD_INDEX
Do let me know.
Regards
- Atul

Similar Messages

  • Upload times out

    Hi
    Thanks in advance for your help
    I am trying to upload a csv file (about 5000 rows and 30 columns ) into a database table by using the Upload tool. I can see the data in APEX with the mapping but when when I hit "load data", it takes like 2 minutes and displays a time out error message? How can I fix that?
    Thanks

    Hi Fiston,
    What oracle DB version are you using?
    Which browser are you using?

  • Dump time out message in the portal

    Hi experts ,
    In my portal , the web dynpro  component "FPM_OIF_COMPONENT" is being used.
    when user logs in and then sit idle for 30 min. then after he press "save" button,
    he gets the dump message like
    "the URL http://...WebDynpro /sap/hap_main_document was not called due to an error
    User session (HTTP/SMTP /..) closed after time out."
    "the termination type was "ERROR_MESAGE_STATE"
    but the Service "WebDynpro /sap/hap_main_document" remains active.
    Timeout is set for 60 mins but it gets timeout after 30 mins.
    I have to show a normal alert message instead of the dump mesage. how can i achieve that..
    please help.

    Hi Tobias ,
    yes , !! time out for web dynpro is also set to 60 min .
    But as per the requirment , i have to show a page / pop up msg displaying "portal time out " instead of that dump mesage.
    in the meanwhile i have come across the t-code SICF , on executing it for services. then in the path
    "sap -> bc -> webdynpro -> namspace SAP - > HAP_MAIN_DUCUMENT  " i have found the setting to redirecting the user to a URL page when error occurs.for every type of error there is a option of "redirect to a URL".
    I have not tested it.But i think it might work.i am still working on it.
    your valuable feedback is welcome..
    thanks
    Nishchay

  • Nslookup: DNS request timed out. time out was 2 seconds. (When the primary DNS is down)

    Hi All,
    I have set up 2 Windows Server 2012 domain controllers (DCA & DCB). DCA points at DCB as the primary DNS, and itself as the alternate DNS. DCB points at DCA as the primary DNS, and itself as the alternate DNS.
    When both DCs are running and if I do an nslookup on DCA: The result is as follows:
    Default Server: dcb.testdomain.com
    Address: 30.30.30.2
    nslookup on DCB:
    Default Server: dca.testdomain.com
    Address: 30.30.30.1
    Client PC (Windows 7 Pro):
    1st DNS : 30.30.30.31
    Alternate DNS: 30.30.30.32
    nslookup on the client PC
    Default Server: dca.testdomain.com
    Address: 30.30.30.1
    Up to here everything is fine. Now if I turn off DCA, and do an nslookup, the result is as follows:
    DCB nslookup:
    DNS request timed out.
           time out was 2 seconds.
    Default Server Unknown
    Address: 30.30.30.31
    Client PC nslookup:
    DNS request timed out.
           time out was 2 seconds.
    Default Server Unknown
    Address: 30.30.30.31
    I waited for more than 15 minutes an tried again, it didn't help.
    I have been reading a few similar posts on this matter, but couldn't find the answer.
    I would  expected it to display the DCB when I do an nslookup.
    Question 1: Shouldn't that display DCB rather than displaying a time out message when I do nslookup?
    Question 2: The fact that it displays a time out message, does it mean that more configuration needs to be done? If so please kindly advice what needs to be done. 
    I did an ipconfig /displaydns command. I realized that the order of DNS have changed on both DCB and the Client PC:
    Now, they both display DCB on the top of the list, whereas they were displaying DCA on the top of the list prior to the shut down.
    Question 3: Does it mean that the Client PC now knows that the 1st DNS is down and so it's using the 2nd DNS?
    If so, why does the nslookup display the time out message?
    Question 4: Is it possible to configure either of DNS Server or the DNS client, so it displays the 2nd DNS when the first DNS is not accessible and when I do nslookup?
    Thank you for. 

    Hi Ton_2013,
    Based on my understanding, the issue we are experiencing is that: when the primary DNS server is down, the result of the tool Nslookup is to diaplay the time out message at first. Right?
    Based on my knowledge, timed out message is means that the server did not respond to a request after a certain amount of time and a certain number of retries. Because the primary DNS server is down, it can't respond to this request and time is out. When
    the primary DNS server can't respond, the secondary DNS server works to ensure effective work. And the order is changed as you said.
    As to the reason why the result is still the same even when the order has changed, we can try to use Network Monitor to capture network traffic and view and analyze it to find the cause. And the cause may be the cache. For your information, please refer
    to the following link to download the tool Network Monitor:
    http://www.microsoft.com/en-hk/download/details.aspx?id=4865
    Regards,
    Lany Zhang

  • Displaying  "Your Session is going to time out , Extend or Close" dialog ?

    Hi!
    we have a requirement to display a warning message to users just (1 minute) before the session is going to time out, and ask the user if he wants to extend the session or close the session( in which case we close the browser window). We have come up with a probable solution but would like to know what other people are doing/will do in similar scenarios.
    Here is what we came up with:
    1. On every page load we set/update a cookie which is meant to track the session time out. And we have a javascript timer that counts down user's inactivity. If any PPR occurs on the page, then we plan to add a hook to the PPR javascript calls so that we can update the time out cookie not only on page load/refreash but also on every PPR call made to the server.
    We have a worry that we are doing everything on the client side solely depending on javascript.Is our approach in the right direction? Is there any better way to achieve the same? Are there any pitfalls/security issues involved in our design?
    2. I have read in some articles/forum threads that we can poll the server on a regualr interval to find out the time remaining for the session to expire and once we get time to last minute we can display a javascript popup to the user. But I have a doubt that wouldn't polling itself refresh the user activity on the server and reset the session timeout to normal on every poll? In that case wouldn't we always get the same time-remaining info for every poll? Have I mis-understood some thing here? can some one explain how to implement the session time out based on polling to the server?
    3. Any new ideas are welcome!
    Thanks and Regards,
    Samba

    Hi,
    well, if you use the af:poll command then the session will never expire because from a server point of view the user frequently sends a request. So if you prefer this option then you will have to expire the session programmatically calling invalidate() on the session
    javaScript is the only option I can imagine that works without polling.
    Frank

  • Apple TV on display times out

    Apple TV display times out after a period of time.

    Hi TonyWash,
    Welcome to the Support Communities!
    Is the Apple TV timing out while you are Home Sharing, using Airplay with a device, or working directly from the Apple TV menu?  Without knowing the specifics, I'll provide some basic troubleshooting for your Apple TV:
    One of the first troubleshooting steps is on Page 26 of the Apple TV User Guide:
    manuals.info.apple.com/MANUALS/1000/MA1607/en_US/apple_tv_3rd_gen_setup.pdf
    Try resetting your equipment by disconnecting Apple TV, your TV, your wireless networking equipment or base station, and your router
    from the power outlet. Wait 30 seconds, and then reconnect everything.
    Additional troubleshooting steps can be found here:
    Apple TV (2nd and 3rd generation): Troubleshooting Wi-Fi networks and connections
    http://support.apple.com/kb/TS4546
    I hope this information helps ....
    - Judy

  • HT1578 I have found that I can't access the contents of the encrypted disk in time machine backups.  The Finder window displays a grayed-out icon representing the disk.  Can this be remedied?

    I have found that I can't access the contents of the encrypted disk in time machine backups.  The Finder window displays a grayed-out icon representing the disk.  Can this be remedied?

    Time Machine error: Apple Support Communities
    OSStatus 5 when trying to use Lion...: Apple Support Communities

  • What if you are on contract & move out of the area or even out of the country for a time?

    I'm just wondering. My win mob 6.5 phone is not working very well. It freezes, the alarms have 5 alarms when only 1 was set & sometimes they seem to not even go off. Previously they would go off even when turned off--didn't seem to make a difference.  Sometimes it is really slow to open an email, etc. & this one was a replacement for the Touch Pro 2 which wasn't working right.
    So at any rate, I need to get a new one before long & want another smart phone--a reliable one this time. I would like to get the iPhone 4S I think.
    I'm eligible for an upgrade, although when I used the upgrade fundtion & looked at the iPhone 4S, it just showed the 2 yr price--it didn't show my New Every 2 discount.
    In addition, I'm not sure what  my long term plans are.  I'm not planning on moving anywhere real soon, but it is possible that I might be moving out of the area before 2 years are up or maybe not. Or I might even go overseas for awhile.
    So what happens if you are on a 2 year contract & move out of the area either permanently or out of the country for months or more? btw, before these smart phone fiascos, I kept my last previous basic LG flip phone for about 5 years because it just worked.

    So what if its a different Verizon region? You just move & keep your contract if there is service?
    & if you suspend without bllling, is there a time limit on that?
    Of course they should give you credit for months when you could get a new phone but keep the old one. Before this period just ending (which because they messed up & called a replacement an upgrade & put me on a new 2 yr contract when all along I said no, when I got that taken off & then corrected the upgrade date (originally it was supposed to be 12/2011 & they had changed it to 12/2012) rather than reset it back to the original they reset it to when I got the replacement phone or actually a few months later so I think the contract end date was in July. But now I wlll be up to when my original upgrade date should have been. Well actually I guess they allow you to upgrade maybe 22 mo or so into a contract or they used to.
    My previous phone before this 2 yr period I kept the phone for 5 years. The phone before that which was also a flip phone, the hinge broke at least a couple of mo before I was eligible for upgrade so I had it taped together.
    I didn't look at other phones & I don't know what their 2 yr contract price would be.

  • Displaying Duration Time

    Hello, :)
    Where is the option to display the video's duration time?
    Haven't found it yet...
    I am using Captivate 2 and would like the user to see how
    long the video goes.
    Thanks much!
    Stefan

    Hi Guys! Yes, I'm sure you can do it in Flash ...
    You can display a
    clock displaying
    timeof day. There is all kinds of information about this at
    Edmund Mullen's site, located at:
    http://ed.mullen.home.comcast.net/fclock.html
    If you want a SWF you can insert into a Captivate movie that
    displays elapsed time, I have a diferent suggestion. First,
    understand that elapsed time (ET) can be a tricky bugger, becuase
    it is probably not "straight-ahead" elapsed time. If your Captivate
    movies have any interactivity, you may or may not want those
    "pauses" counted in elapsed time metering. You need something
    special, and as Rick said, that animal don't live here ...
    Contact Paul Dehurst (fellow community expert) and ask if
    Paul will build you something like this. He may be too busy, or
    just not interested in extra work right now, but if he does it for
    you, he'll do a good job. Expect to pay him a negotiated fee - it
    will be reasonable. Paul can be reached right here, or at his
    web-site at:
    http://www.raisingaimee.co.uk/
    Click the link to: "
    Contact Paul:"
    Second idea, if Paul can't be convinced to help you out ...
    call RentaCoder. You can reach them at:
    http://www.rentacoder.com/RentACoder/default.asp
    Seriously, these folks might be the most underappreciated
    people on the net. In just a few minutes at their site, you can
    find a programmer in almost any software language - often close to
    your physical location. No, I haven't personally used them, but a
    company I contracted with recently had a need for a special Flash
    tool, and contacted a Flash coder through "rentacoder" - and were
    very pleased. Good luck!

  • Session Time out  and session_timeout.jsp

    We have Sun Java Identity Server 2005 Q1 installed as part of our Sun Java System Portal Server 2005 Q1 install.
    When the authentication session times out, it redirects the user back to the login page. I remember that in 6.2 it used to show up the session_timeout.jsp page? Is there any way to make it work that way in Q1 2005 ?

    To be more specific, find your top level desktop display profile (marked as Default Channel Name) container name. Then go to Portal desktop type (default, or sampleportal, or...) with above container directory. (ex: /etc/opt/SUNSWps/desktop/default/JSPTabContainer) Modify header.jsp and/or menubar.jsp (something ...?action=logout with goto=http:///.....) HTH, Jerry

  • Time-out checking log bucket location.

    Hi,
    Earlier this month, I successfully ran the OSB Cloud Module for Amazon S3 installer. It created a "new registration for this S3 user" with a new "Registration ID". It also generated an "S3 Logging Bucket" with a name based off of my Amazon nickname which at the time of running the Cloud module installer was "javanetworking".
    $ *./osbws_install.sh*
    Oracle Secure Backup Database Web-Service Install Tool, build 2011-02-04.0001
    AWS credentials are valid.
    Creating new registration for this S3 user.
    Created new log bucket.
    Registration ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    S3 Logging Bucket: oracle-log-javanetw-1
    Validating log bucket location ...
    Validating license file ...
    Create credential oracle.security.client.connect_string1
    OSB web-services wallet created in directory /u01/app/oracle/product/11.2.0/dbhome_1/dbs/osbws_wallet.
    OSB web-services initialization file /u01/app/oracle/product/11.2.0/dbhome_1/dbs/osbwstestdb1.ora created.
    Downloading OSB Web Services Software Library from file osbws_linux64.zip.
    Downloaded 20744341 bytes in 10 seconds. Transfer rate was 2074434 bytes/second.
    Download complete.
    Extracted file /u01/app/oracle/product/11.2.0/dbhome_1/lib/libosbws12.so
    Since then, I have changed my Amazon nickname (https://www.amazon.com/gp/nickname/index.html"). I was hoping to re-run the Cloud module installer and have it generate a new "S3 Logging Bucket". I removed the two S3 buckets that were created in the initial Cloud module install (the data and log buckets).
    However, when I attempt to re-run the Cloud module installer, it complains that it cannot find the original "S3 Logging Bucket":
    $ *./osbws_install.sh*
    Oracle Secure Backup Database Web-Service Install Tool, build 2011-02-04.0001
    AWS credentials are valid.
    S3 user already registered.
    Registration ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    S3 Logging Bucket: *oracle-log-javanetw-1*
    Validating log bucket location ...
    Time-out checking log bucket location.
    Please try again later.
    I even tried using the *-newLogBucket* option to osbws_install.jar so it would force the creation of new log bucket; however, it doesn't appear to do anything. It still complains about not finding the original S3 Logging Bucket.
    I thought the best option would be to "un-register" the Amazon S3 user the installer generated. There is no documented option in osbws_install.jar to perform a full "un-install" or "un-register". The Registration ID the installer creates appears to be hard-coded metadata somewhere in Amazon S3.
    +AWS credentials are valid.+
    +S3 user already registered.+
    +Registration ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx+
    I know that the registration information is not stored with your OTN profile because I tried putting in a fake OTN username/password when calling osbws_install.jar. It doesn't use the OTN username/password because it first uses your AWSID/AWSKey to see if there is information that the S3 user is already registered. Once it determines that the S3 account is already registered, it doesn't need to log in to OTN and displays:
    *S3 user already registered.*
    I did try this and it worked for modifying the backup bucket (OSB_WS_BUCKET) but didn't appear to work for the S3 Logging Blucket (_OSB_WS_LOG_BUCKET).
    1.) Manually re-create the missing S3 Logging Bucket (oracle-log-javanetw-1).
    2.) Run the Cloud module installer so it creates the wallet, configFile, and downloads the library.
    3.) Determine list of valid parameters that can be set in the configFile:
    $ *strings $ORACLE_HOME/lib/libosbws12.so | grep '^OSB_' | sort*
    OSB_WS_BUCKET <----------
    OSB_WS_CHUNK_SIZE
    OSB_WS_HOST
    OSB_WS_LICENSE_ID
    OSB_WS_LICENSE_MAX_SESSIONS
    OSB_WS_LOCATION
    OSB_WS_PFILE
    OSB_WS_PROXY
    OSB_WS_WALLET
    $ *strings $ORACLE_HOME/lib/libosbws12.so | grep '^_OSB_' | sort*
    _OSB_WS_100_CONTINUE
    _OSB_WS_ACCESSLOG
    _OSB_WS_ACCESSLOG_CLEANER
    _OSB_WS_ACCESSLOG_RETENTION_TIME
    _OSB_WS_ALLOCBUF_DISABLE
    _OSB_WS_BASIC_AUTH
    _OSB_WS_BUFFER_READ
    _OSB_WS_BUFFER_WRITE
    _OSB_WS_CHECKER_RETENTION_TIME
    _OSB_WS_CLEANER
    _OSB_WS_CLEANER_RETENTION_TIME
    _OSB_WS_DEFERRED_DELETE
    _OSB_WS_EVENT
    _OSB_WS_IP_REFRESH_TIMEOUT
    _OSB_WS_LOAD_BALANCE
    _OSB_WS_LOG_BUCKET <----------
    _OSB_WS_PURGE_LIMIT
    _OSB_WS_RECV_BUF_SIZE
    _OSB_WS_REDIRECT
    _OSB_WS_RESPONSE_TIMEOUT
    _OSB_WS_RETRY_WAIT_TIME
    _OSB_WS_REUSE_CONNECTION
    _OSB_WS_RUN_CLEANER
    _OSB_WS_SDU_SIZE
    _OSB_WS_SEND_BUF_SIZE
    _OSB_WS_SESSION_RETENTION_TIME
    _OSB_WS_TDU_SIZE
    _OSB_WS_TRACE_LEVEL
    _OSB_WS_UPLOAD_DELAY
    _OSB_WS_USE_IPV6
    _OSB_WS_VALIDATE_CHUNK
    4.) Modify the configFile to include:
    $ *cat $ORACLE_HOME/dbs/osbwstestdb1.ora*
    OSB_WS_HOST=s3.amazonaws.com
    OSB_WS_LICENSE_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    OSB_WS_WALLET='location=file:/u01/app/oracle/product/11.2.0/dbhome_1/dbs/osbws_wallet CREDENTIAL_ALIAS=idevjhun_aws'
    OSB_WS_BUCKET=idevelopment-oracle-backups
    _OSB_WS_LOG_BUCKET=idevelopment-oracle-log
    So,
    1.) Is the *-newLogBucket* option broke or an unimplemented method?
    2.) Is there a way to "un-register" or modify the S3 registration information so that the Cloud module installer will register a new S3 user? (i.e. starting from scratch)
    It would seem to me that a user might want to completely uninstall and un-register at some time in the future.
    3.) Where is the "Registered S3 User" metadata stored?
    4.) Can you specify the S3 Logging Bucket (and data bucket) during the install?
    There is a similar post which the user ran into the same issue when removing the S3 Logging Bucket.
    https://forums.oracle.com/forums/thread.jspa?messageID=4581188
    Best regards,
    jeff

    Hi again,
    my problem seems to be caused by us having deleted the bucket at an earlier stage. When we ran the installer script again, the installer was confused by this, and was not able to re-create a bucket.
    Rune

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

  • My firefox will allow me to open a page then it gets stuck on the second page and times out--how do I fix this. I have checked the sites on Explorer -it works

    It started with the second page not being able to be displayed
    example it would go to yahoo and I would sign in but the next page would just spin and time out
    Now it won't even go to the first page.
    Firefox will not let me go into the options to change cache.
    I am trying explorer and it works.
    Help

    This is a page within the Yahoo site? When you have a problem with one particular site, a good "first thing to try" is clearing your Firefox cache and deleting your saved cookies for the site.
    (1) Bypass Firefox's Cache
    Use Ctrl+Shift+r to reload the page fresh from the server.
    Alternately, you also can clear Firefox's cache completely using:
    orange Firefox button (or Tools menu) > Options > Advanced
    On the Network mini-tab > Cached Web Content : "Clear Now"
    If you have a large hard drive, this might take a few minutes.
    (2) Remove the site's cookies (save any pending work first). While viewing a page on the site:
    * right-click and choose View Page Info > Security > "View Cookies"
    * Alt+t (open the classic Tools menu) > Page Info > Security > "View Cookies"
    In that dialog, you can individually remove your yahoo.com cookies.
    Then try reloading the page. Does that help?

  • Time out error on deploying to SAP-J2EE engine.

    I got a problem while deploying to SAP-J2EE engine using ant. It takes a lot of time and then throws a time out error.
    The problem is with the web.xml file pointing to a DTD in the internet, I have pasted some part of the web.xml below,
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE web-app
      PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
      "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
    <web-app>
        <display-name>MyPay</display-name>
        <description>MyPay</description>
    Once I write down the DTD description in the web.xml itself, it works fine.
    I have pasted the error trace below,
    j2eedeploy:
         [echo] Deploying to Local environment...
         [echo] C:\Java\Projects/MyPay/dist/MyPay.ear
    BUILD FAILED
    C:\Java\Projects\MyPay\build.xml:445: java.lang.RuntimeException: ERROR: ID90507:  Error occured during getting EARDescriptor : Failed to load resource from the context classloader of the current thread! Loading from classloader was caused by: java.net.ConnectException: Connection timed out: connect
    Exception is :
    java.io.IOException: Failed to load resource from the context classloader of the current thread! Loading from classloader was caused by: java.net.ConnectException: Connection timed out: connect
         at com.sap.engine.lib.xml.parser.URLLoaderBase.resolveEntity(URLLoaderBase.java:148)
         at com.sap.engine.lib.xml.parser.XMLParser.scanDTD(XMLParser.java:1271)
         at com.sap.engine.lib.xml.parser.XMLParser.scanProlog(XMLParser.java:2795)
         at com.sap.engine.lib.xml.parser.XMLParser.scanDocument(XMLParser.java:2830)
         at com.sap.engine.lib.xml.parser.XMLParser.parse0(XMLParser.java:229)
         at com.sap.engine.lib.xml.parser.AbstractXMLParser.parseAndCatchException(AbstractXMLParser.java:145)
         at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:160)
         at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:261)
         at com.sap.engine.lib.xml.parser.Parser.parseWithoutSchemaValidationProcessing(Parser.java:280)
         at com.sap.engine.lib.xml.parser.Parser.parse(Parser.java:342)
         at com.sap.engine.lib.xml.parser.DOMParser.parse(DOMParser.java:101)
         at com.sap.engine.lib.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:127)
         at com.inqmy.lib.xml.StandardDOMParser.parse(StandardDOMParser.java:127)
         at com.inqmy.lib.xml.StandardDOMParser.parse(StandardDOMParser.java:120)
         at com.inqmy.services.servlets_jsp.descriptor.jar.WebWar.getWebDescriptor(WebWar.java:98)
         at com.inqmy.deploy.tool.deployer.ExtendedEarReader.loadDescriptorFromFile(ExtendedEarReader.java:175)
         at com.inqmy.deploy.tool.deployer.ExtendedEarReader.getFullEarDescriptor(ExtendedEarReader.java:104)
         at com.inqmy.deploy.manager.DeployManagerImpl.setEar(DeployManagerImpl.java:355)
         at com.inqmy.deploy.manager.DeployManagerImpl.setEar(DeployManagerImpl.java:325)
         at com.pg.sap.deploy620.SAPDeploy620Manager.process(SAPDeploy620Manager.java:84)
         at com.pg.ant.tasks.j2ee620.J2ee620EngineDeployTask.execute(J2ee620EngineDeployTask.java:40)
         at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
         at org.apache.tools.ant.Task.perform(Task.java:364)
         at org.apache.tools.ant.Target.execute(Target.java:341)
         at org.apache.tools.ant.Target.performTasks(Target.java:369)
         at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
         at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
         at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
         at org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
         at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
         at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
         at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)

    Thanks for your reply Kalyan,
    The problem seems to be with my system, because I had run the same ant script in another system and it deployed successfully.
    The problem does not seem to be with the dtd, whereas it seems that the SAP-J2EE engine is not able to open the link to the dtd giving a time out error.
    Is it possible to switch off the validation process of the SAP-J2EE engine of an xml with the dtd?

  • Webdynpro application time out in portal

    Hi all,
    I am trying to perform a batch of process in my webdynpro application.
    I selected 100 records in my view  which are displayed in a table ,for updateding..
    Upon selction of these 100 recoreds and on click of submit it is giving portal
    time out after a few seconds..
    where the problem can be??Is it in front view(webdynpro code means giving the selected records as input to the function module) or at the backend(mesns at BAPI's)
    Can anyone please tell me where problem might be  ??
    Regards
    Padma N

    Hi all,
    I am trying to perform a batch of process in my webdynpro application.
    I selected 100 records in my view  which are displayed in a table ,for updateding..
    Upon selction of these 100 recoreds and on click of submit it is giving portal
    time out after a few seconds..
    where the problem can be??Is it in front view(webdynpro code means giving the selected records as input to the function module) or at the backend(mesns at BAPI's)
    Can anyone please tell me where problem might be  ??
    Regards
    Padma N

Maybe you are looking for