Very obscure MPD error

Hi,
I have been running mpd for a few months and it works (or at least, worked) excellently. But now seeking doesn't work anymore. When I want to seek inside a song, it crashes with error code 17. I cannot reconnect again (error code 13) until I manually restart the mpd daemon. This is the error from the logs:
mpd: src/decoder_api.c:93: decoder_command_finished: Assertion `dc.command != DECODE_COMMAND_SEEK || dc.seek_error || decoder->seeking' failed.
Does anybody know what had happened? I cannot find anything on the internet, except an mpd bugreport with status "closed (unable to reproduce)", which isnt very promising.
Last edited by anadyr (2010-03-04 19:58:49)

anadyr wrote:
That doesn't work.
I now have two different packages: mpd (from the Arch depository), and mpd-git (from the PKGBUILD above). When I use the first one, things work fine; at boot the music immediately starts playing. When I use the second git-one, mpd starts without any error, but the music does not start playing, and I cannot connect to the daemon.
I explicitly did not change any configs/permissions (apart from commenting line 38 in mpd.conf, which apparently has no effect on mpd behavior)
this is EXACTLY what should be worked around by adding that line to /etc/hosts.allow (and works here just fine)
anyway, since the stable package works for you, i consider this as solved
Last edited by Rasi (2010-03-05 22:20:30)

Similar Messages

  • CC will not allow me to install MUSE 2014 ....take me to Adobe site which states "Muse is downloading now..." however after a hour nothing has downloaded ...very Stange no error message either.

    CC will not allow me to install MUSE 2014 ....take me to Adobe site which states "Muse is downloading now..." however after a hour nothing has downloaded ...very Stange no error message either.

    Braxs please see Install and update apps - https://helpx.adobe.com/creative-cloud/help/install-apps.html for information on how to install Muse CC 2014.

  • Safari Crash - Problem with doodle (planer) app  -  doodle web links cause safari to crash with a very strange message "Error - Please make sure Safari is not used in Private Modus" (translated from german) No Privat Modus buttom in ios 7 safari settings!

    Safari Crash - Problem with doodle (planer) app  -  doodle web links cause safari to crash with a very strange message "Error - Please make sure Safari is not used in Private Modus" (translated from german) No Privat Modus buttom in ios 7 safari settings! Works fine with an older Safari Version. Web link, call doodle app.  You could see the website in the backround working but safari crashes after clicking on the error window.   Any suggestions?

    Turn off Private Browsing.
    Tap "Private" on Safari Screen to disable Private Browsing. When top of screen is white, Private Browsing is off.

  • Very very high FEC Errors.

    Hi all.
    I have very very high FEC errors. I got 4294967263 errors in 5 minutes! It seems far too high.
    My Broadband connection keeps dropping out too. I have changed all the filters and cabling.  Don't know what else to try.
    Thanks in advance.

    Here you go ......
    Connection information
    Line state
    Connected
    Connection time
    0 days, 0:11:52
    Downstream
    11,483 Kbps
    Upstream
    1,183 Kbps
    ADSL settings
    VPI/VCI
    0/38
    Type
    PPPoA
    Modulation
    ITU-T G.992.5
    Latency type
    Interleaved
    Noise margin (Down/Up)
    9.1 dB / 5.6 dB
    Line attenuation (Down/Up)
    31.0 dB / 18.0 dB
    Output power (Down/Up)
    0.0 dBm / 12.5 dBm
    Loss of Framing (Local)
    0
    Loss of Signal (Local)
    0
    Loss of Power (Local)
    0
    FEC Errors (Down/Up)
    295 / 4294967263
    CRC Errors (Down/Up)
    3 / N/A
    HEC Errors (Down/Up)
    N/A / 0
    Error Seconds (Local)
    1
    Hide Details

  • Muse cc 2014 - the programme is closing to desktop - different errors i am finding it very unstable - palette errors and _writeSyncCOnn.open ....:SQL error: error

    muse cc 2014 - the programme is closing to desktop - different errors i am finding it very unstable - palette errors and _writeSyncCOnn.open ....:SQL error: error'... connection closed . . . operation:ópen', deatillD:'1001

    also if i copy from a different app then try copy and paste an element in muse cc and paste it the info from the other copy will be pasted in musecc

  • [SOLVED]Mpd error

    Hi, im trying to install mpd but im finding it harder than i thought, so i was hoping someone could share his wisdom with me.
    I been following the wiki alternative setup but after creating all the files i try to start mpd and get the following error:
    mpd /home/ekenbrand/.mpd/mpd.conf
    daemon: cannot setgid to 92: Operation not permitted
    If i try it using sudo i get this other message:
    music directory is not a directory: "/home/ekenbrand/musica"
    playlist directory is not a directory: "/home/ekenbrand/.mpd/playlists"
    Failed to load database: Failed to open database file "/home/ekenbrand/.mpd/mpd.db": Permission denied
    database: Couldn't stat parent directory of db file "/home/ekenbrand/.mpd/mpd.db": Permission denied
    Heres some info
    sudo cat /etc/group | grep 92
    audio::92:mpd,ekenbrand
    groups ekenbrand
    lp wheel video audio optical storage power sudo users
    ls -al .mpd/
    total 20
    drwxr-xr-x 3 ekenbrand audio 4096 Mar 24 06:21 .
    drwx------ 40 ekenbrand users 4096 Mar 24 06:21 ..
    -rw-r--r-- 1 ekenbrand audio 7200 Mar 24 06:21 mpd.conf
    -rw-r--r-- 1 ekenbrand audio 0 Mar 24 06:02 mpd.db
    -rw-r--r-- 1 ekenbrand audio 0 Mar 24 04:47 mpd.log
    -rw-r--r-- 1 ekenbrand audio 0 Mar 24 04:47 mpd.pid
    -rw-r--r-- 1 ekenbrand audio 0 Mar 24 04:47 mpdstate
    drwxr-xr-x 2 ekenbrand audio 4096 Mar 24 04:05 playlists
    mpd.conf
    music_directory "/home/ekenbrand/musica"
    playlist_directory "/home/ekenbrand/.mpd/playlists"
    db_file "/home/ekenbrand/.mpd/mpd.db"
    log_file "/home/ekenbrand/.mpd/mpd.log"
    pid_file "/home/ekenbrand/.mpd/mpd.pid"
    state_file "/home/ekenbrand/.mpd/mpdstate"
    user "mpd"
    group "audio"
    I must say i've tried disabling mpd group, changed folder group and permissions, the same errors appear.  I have also tried doing a clean install and searched the wiki but had no luck.
    Thanks in advance for your help
    Last edited by ekenbrand (2011-03-24 23:25:45)

    try this:
    rm -vrf ~/.mpd
    mkdir -p ~/.mpd/playlists
    music_directory "/home/ekenbrand/musica"
    playlist_directory "/home/ekenbrand/.mpd/playlists"
    db_file "/home/ekenbrand/.mpd/mpd.db"
    log_file "/home/ekenbrand/.mpd/mpd.log"
    pid_file "/home/ekenbrand/.mpd/mpd.pid"
    state_file "/home/ekenbrand/.mpd/mpd.state"
    user "ekenbrand"
    group "users"
    into ~/.mpd.conf
    mpd ~/.mpd.conf
    Last edited by JokerBoy (2011-03-24 09:56:44)

  • MPD: ERROR: problems opening audio device

    Since a day, maybe a little more, mpd is troubling me. When I use mpc, I get the error
    ERROR: problems opening audio device
    This is my mpd.conf
    # An example configuration file for MPD
    # See the mpd.conf man page for a more detailed description of each parameter.
    # Files and directories #######################################################
    # This setting controls the top directory which MPD will search to discover the
    # available audio files and add them to the daemon's online database. This
    # setting defaults to the XDG directory, otherwise the music directory will be
    # be disabled and audio files will only be accepted over ipc socket (using
    # file:// protocol) or streaming files over an accepted protocol.
    music_directory "/home/adriaan/Music"
    # This setting sets the MPD internal playlist directory. The purpose of this
    # directory is storage for playlists created by MPD. The server will use
    # playlist files not created by the server but only if they are in the MPD
    # format. This setting defaults to playlist saving being disabled.
    playlist_directory "/var/lib/mpd/playlists"
    # This setting sets the location of the MPD database. This file is used to
    # load the database at server start up and store the database while the
    # server is not up. This setting defaults to disabled which will allow
    # MPD to accept files over ipc socket (using file:// protocol) or streaming
    # files over an accepted protocol.
    db_file "/var/lib/mpd/mpd.db"
    # These settings are the locations for the daemon log files for the daemon.
    # These logs are great for troubleshooting, depending on your log_level
    # settings.
    # The special value "syslog" makes MPD use the local syslog daemon. This
    # setting defaults to logging to syslog, otherwise logging is disabled.
    log_file "/var/log/mpd/mpd.log"
    # This setting sets the location of the file which stores the process ID
    # for use of mpd --kill and some init scripts. This setting is disabled by
    # default and the pid file will not be stored.
    pid_file "/var/run/mpd/mpd.pid"
    # This setting sets the location of the file which contains information about
    # most variables to get MPD back into the same general shape it was in before
    # it was brought down. This setting is disabled by default and the server
    # state will be reset on server start up.
    state_file "/var/lib/mpd/mpdstate"
    # The location of the sticker database. This is a database which
    # manages dynamic information attached to songs.
    #sticker_file "~/.mpd/sticker.sql"
    # General music daemon options ################################################
    # This setting specifies the user that MPD will run as. MPD should never run as
    # root and you may use this setting to make MPD change its user ID after
    # initialization. This setting is disabled by default and MPD is run as the
    # current user.
    user "adriaan"
    # This setting specifies the group that MPD will run as. If not specified
    # primary group of user specified with "user" setting will be used (if set).
    # This is useful if MPD needs to be a member of group such as "audio" to
    # have permission to use sound card.
    group "users"
    # This setting sets the address for the daemon to listen on. Careful attention
    # should be paid if this is assigned to anything other then the default, any.
    # This setting can deny access to control of the daemon.
    # For network
    #bind_to_address "any"
    # And for Unix Socket
    #bind_to_address "~/.mpd/socket"
    # This setting is the TCP port that is desired for the daemon to get assigned
    # to.
    #port "6600"
    # This setting controls the type of information which is logged. Available
    # setting arguments are "default", "secure" or "verbose". The "verbose" setting
    # argument is recommended for troubleshooting, though can quickly stretch
    # available resources on limited hardware storage.
    #log_level "default"
    # If you have a problem with your MP3s ending abruptly it is recommended that
    # you set this argument to "no" to attempt to fix the problem. If this solves
    # the problem, it is highly recommended to fix the MP3 files with vbrfix
    # (available from <http://www.willwap.co.uk/Programs/vbrfix.php>), at which
    # point gapless MP3 playback can be enabled.
    #gapless_mp3_playback "yes"
    # This setting enables MPD to create playlists in a format usable by other
    # music players.
    #save_absolute_paths_in_playlists "no"
    # This setting defines a list of tag types that will be extracted during the
    # audio file discovery process. Optionally, 'comment' can be added to this
    # list.
    #metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc"
    # This setting enables automatic update of MPD's database when files in
    # music_directory are changed.
    auto_update "yes"
    # Limit the depth of the directories being watched, 0 means only watch
    # the music directory itself. There is no limit by default.
    #auto_update_depth "3"
    # Symbolic link behavior ######################################################
    # If this setting is set to "yes", MPD will discover audio files by following
    # symbolic links outside of the configured music_directory.
    #follow_outside_symlinks "yes"
    # If this setting is set to "yes", MPD will discover audio files by following
    # symbolic links inside of the configured music_directory.
    #follow_inside_symlinks "yes"
    # Zeroconf / Avahi Service Discovery ##########################################
    # If this setting is set to "yes", service information will be published with
    # Zeroconf / Avahi.
    #zeroconf_enabled "yes"
    # The argument to this setting will be the Zeroconf / Avahi unique name for
    # this MPD server on the network.
    #zeroconf_name "Music Player"
    # Permissions #################################################################
    # If this setting is set, MPD will require password authorization. The password
    # can setting can be specified multiple times for different password profiles.
    #password "password@read,add,control,admin"
    # This setting specifies the permissions a user has who has not yet logged in.
    #default_permissions "read,add,control,admin"
    # Input #######################################################################
    input {
    plugin "curl"
    # proxy "proxy.isp.com:8080"
    # proxy_user "user"
    # proxy_password "password"
    # Audio Output ################################################################
    # MPD supports various audio output types, as well as playing through multiple
    # audio outputs at the same time, through multiple audio_output settings
    # blocks. Setting this block is optional, though the server will only attempt
    # autodetection for one sound card.
    # See <http://mpd.wikia.com/wiki/Configuration#Audio_Outputs> for examples of
    # other audio outputs.
    # An example of an ALSA output:
    audio_output {
    type "alsa"
    name "My ALSA Device"
    device "hw:0,0" # optional
    # format "44100:16:2" # optional
    # mixer_type "hardware" # optional
    # mixer_device "default" # optional
    # mixer_control "PCM" # optional
    # mixer_index "0" # optional
    #audio_output {
    # type "alsa"
    # name "Sound Card"
    # options "dev=dmixer"
    # device "plug:dmix"
    # An example of an OSS output:
    #audio_output {
    # type "oss"
    # name "My OSS Device"
    ## device "/dev/dsp" # optional
    ## format "44100:16:2" # optional
    ## mixer_type "hardware" # optional
    ## mixer_device "/dev/mixer" # optional
    ## mixer_control "PCM" # optional
    # An example of a shout output (for streaming to Icecast):
    #audio_output {
    # type "shout"
    # encoding "ogg" # optional
    # name "My Shout Stream"
    # host "localhost"
    # port "8000"
    # mount "/mpd.ogg"
    # password "hackme"
    # quality "5.0"
    # bitrate "128"
    # format "44100:16:1"
    ## protocol "icecast2" # optional
    ## user "source" # optional
    ## description "My Stream Description" # optional
    ## genre "jazz" # optional
    ## public "no" # optional
    ## timeout "2" # optional
    ## mixer_type "software" # optional
    # An example of a recorder output:
    #audio_output {
    # type "recorder"
    # name "My recorder"
    # encoder "vorbis" # optional, vorbis or lame
    # path "/var/lib/mpd/recorder/mpd.ogg"
    ## quality "5.0" # do not define if bitrate is defined
    # bitrate "128" # do not define if quality is defined
    # format "44100:16:1"
    # An example of a httpd output (built-in HTTP streaming server):
    #audio_output {
    # type "httpd"
    # name "My HTTP Stream"
    # encoder "vorbis" # optional, vorbis or lame
    # port "8000"
    # bind_to_address "0.0.0.0" # optional, IPv4 or IPv6
    ## quality "5.0" # do not define if bitrate is defined
    # bitrate "128" # do not define if quality is defined
    # format "44100:16:1"
    # max_clients "0" # optional 0=no limit
    # An example of a pulseaudio output (streaming to a remote pulseaudio server)
    #audio_output {
    # type "pulse"
    # name "My Pulse Output"
    ## server "remote_server" # optional
    ## sink "remote_server_sink" # optional
    ## Example "pipe" output:
    #audio_output {
    # type "pipe"
    # name "my pipe"
    # command "aplay -f cd 2>/dev/null"
    ## Or if you're want to use AudioCompress
    # command "AudioCompress -m | aplay -f cd 2>/dev/null"
    ## Or to send raw PCM stream through PCM:
    # command "nc example.org 8765"
    # format "44100:16:2"
    ## An example of a null output (for no audio output):
    #audio_output {
    # type "null"
    # name "My Null Output"
    # mixer_type "none" # optional
    # This setting will change all decoded audio to be converted to the specified
    # format before being passed to the audio outputs. By default, this setting is
    # disabled.
    #audio_output_format "44100:16:2"
    # If MPD has been compiled with libsamplerate support, this setting specifies
    # the sample rate converter to use. Possible values can be found in the
    # mpd.conf man page or the libsamplerate documentation. By default, this is
    # setting is disabled.
    #samplerate_converter "Fastest Sinc Interpolator"
    # Normalization automatic volume adjustments ##################################
    # This setting specifies the type of ReplayGain to use. This setting can have
    # the argument "off", "album" or "track". See <http://www.replaygain.org>
    # for more details. This setting is off by default.
    #replaygain "album"
    # This setting sets the pre-amp used for files that have ReplayGain tags. By
    # default this setting is disabled.
    #replaygain_preamp "0"
    # This setting enables on-the-fly normalization volume adjustment. This will
    # result in the volume of all playing audio to be adjusted so the output has
    # equal "loudness". This setting is disabled by default.
    #volume_normalization "no"
    # MPD Internal Buffering ######################################################
    # This setting adjusts the size of internal decoded audio buffering. Changing
    # this may have undesired effects. Don't change this if you don't know what you
    # are doing.
    #audio_buffer_size "2048"
    # This setting controls the percentage of the buffer which is filled before
    # beginning to play. Increasing this reduces the chance of audio file skipping,
    # at the cost of increased time prior to audio playback.
    #buffer_before_play "10%"
    # Resource Limitations ########################################################
    # These settings are various limitations to prevent MPD from using too many
    # resources. Generally, these settings should be minimized to prevent security
    # risks, depending on the operating resources.
    #connection_timeout "60"
    #max_connections "10"
    #max_playlist_length "16384"
    #max_command_list_size "2048"
    #max_output_buffer_size "8192"
    # Character Encoding ##########################################################
    # If file or directory names do not display correctly for your locale then you
    # may need to modify this setting.
    filesystem_charset "UTF-8"
    # This setting controls the encoding that ID3v1 tags should be converted from.
    #id3v1_encoding "ISO-8859-1"
    # SIDPlay decoder #############################################################
    # songlength_database:
    # Location of your songlengths file, as distributed with the HVSC.
    # The sidplay plugin checks this for matching MD5 fingerprints.
    # See http://www.c64.org/HVSC/DOCUMENTS/Songlengths.faq
    # default_songlength:
    # This is the default playing time in seconds for songs not in the
    # songlength database, or in case you're not using a database.
    # A value of 0 means play indefinitely.
    # filter:
    # Turns the SID filter emulation on or off.
    #decoder {
    # plugin "sidplay"
    # songlength_database "/media/C64Music/DOCUMENTS/Songlengths.txt"
    # default_songlength "120"
    # filter "true"

    milso wrote:
    type "alsa"
    name "equal"
    device "default"
    format "44100:16:2" # optional
    mixer_device "default" # optional
    mixer_control "PCM" # optional
    mixer_index "0" # optional
    I have mine set to plug:plugequal as I use an equalizer with alsa, but when I set it to default it works fine, try that.
    That didn't work out.
    Mr.Elendig wrote:Tell mpd to be more verbose. And check that mplayer -ao alsa whatever works.
    Here's the output of mpd -v
    listen: bind to '0.0.0.0:6600' failed: Address already in use (continuing anyway, because binding to '[::]:6600' succeeded)
    path: path_set_fs_charset: fs charset is: UTF-8
    database: reading DB
    disabling the last.fm playlist plugin because account is not configured
    daemon: opening pid file
    daemon: daemonized!
    daemon: writing pid file
    Doesn't contain anything unusual.
    EDIT: oh, and mplayer -ao alsa works fine.
    Last edited by arthd (2011-02-09 15:14:09)

  • Only Hotmail running very slowly and errors in loading correct page

    recently Hotmail havs taken a long time to load pages. Plus when a email is selected page flickers and wrong page displayed.
    this is not happening with Yahoo mail. Sometimes error message such as "not responding" or "cannot complete". But only when trying to get hotmail

    Hi Larry,
    Thankyou for your reply, this is a partial answer
    This server has been running for about 3 years now,
    The faults started after I did an service pack update for sharepoint. I then did the manual update but the C drive then started to run very slowly and was giving disk size too low errors so I moved the SUS to a different drive but this hasnt helped. It is
    still running painfully slow. Ran SBS BPA and found no faults. However ran Exchange BPA and did find faults which I have now fixed. Still have large number of errors
    Brian

  • My iTunes On my iPad will download tv shows then at the very end say error downloading.....any ideas?

    At the very end of the download it says error downloading, tap to retry.  On just about any tv show or movie.

    If your ext HD boot volume is running Lion, just use something like Carbon Copy Cloner to clone it to the internal. Clean installs are usually just a waste of time.

  • Very confusing compile error

    I have several classes under a certain package. In three of
    those classes I have some public vars of type Number. However, in
    one of the methods in a rather complex class I declare a local
    varable of type number and it has a complile error.
    So I tried to declare a member of the class of type Number
    with the same result. Why would this class not be able to find the
    Number class when others in the same package not have this issue?
    Very confusing

    Your JVM crashed when you compile your file. This is unusual.
    If your can reproduce this with a small test-case, I suggest you
    filke a bug here: http://bugs.sun.com/services/bugreport/index.jsp
    --Alexis                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Hi all..very urgent..error fixing..full marks wud be given for the answers.

    Hi guys..facing problem in error fixing.in bdc...prgm is in ECC 6.0..
    prgm is
    *& Report  ZCJI_CNV_POSTGOODSRECEIPT_ALT1
    REPORT  ZCJI_CNV_POSTGOODSRECEIPT_ALT1.
    *REPORT ZCJI_CNV_POSTGOODSRECEIPT_ALT NO STANDARD PAGE HEADING
                      LINE-SIZE 255.
    *Program:  ZCJI_CNV_POSTGOODSRECEIPT_ALT                               *
    *Function: This program is used to carry out GR transaction MB0A for
             CJI import logistics purchase orders. The objective is to
             choose only those purchase orders for which billing has been
             carried out already. Once GR document is posted, the status
             of delivery document items is also updated.
    DATE        AUTHOR      SCR #         CHANGE DESCRIPTION
    11/04/03   Ohm Reddy   BRD # 90      Initial version
                           DEVK928402
    02/25/04   Ohm Reddy                 In BDC session for posting Goods
                           DEVK929329    Receipt document, update document
                                         date with system local date
                                         (SYST-DATLO) rather than with
                                         system date(SYST-DATUM)
    06/23/04   Ohm Reddy                 Post GR only when sales order
                           DEVK931359    item SKU and PO item SKU matches
    03/21/05   Alex Mutia  13829/DEVK934135                              *
                           Phase II modifications:                       *
                           1. Added criteria in the selection screen;    *
                           2. Modified record selection logic;           *
                           3. Added fields in the Control Report;        *
    04/08/05   Alex Mutia  13829/DEVK934262                              *
                           Fixed bug in processing MFRGR field;          *
    04/13/05   Alex Mutia  13829/DEVK934283                              *
                           1.Fixed bug in assigning error record pointers*
                             to part-success part-error POs;             *
                           2.Added SO and SO line item numbers in report;*
                           3.Compressed report to fit in 255 columns;    *
    04/27/05   Alex Mutia  13829/DEVK934384                              *
                           1.Material documents retrieval changed from   *
                             MSEG to EKBE for performance.               *
                           2.Display empty ALV columns when no records   *
                             were selected for processing;               *
    TYPE-POOLS: SLIS.
    DATA:   GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
    DATA:   G_LAYOUT_ALV_SPEC TYPE SLIS_LAYOUT_ALV.
    *INCLUDE ZMMCJI_CNV_POSTGR_BDC2.
    INCLUDE ZCJI_CNV_PGR_DATA_ALT.
    $--"DEVK934135 Begin;-$
    INITIALIZATION.                                  "DEVK934135
      PERFORM INITIALIZE_VENDOR.                     "DEVK934135
      PERFORM INITIALIZE_PRICE.                      "DEVK934135
    $--"DEVK934135 End;---$
    START-OF-SELECTION.
      IF P_LIFNR IS INITIAL.                         "DEVK934135
        PERFORM INITIALIZE_VENDOR.                   "DEVK934135
      ENDIF.                                         "DEVK934135
      IF P_NETPR IS INITIAL.                         "DEVK934135
        PERFORM INITIALIZE_PRICE.                    "DEVK934135
      ENDIF.                                         "DEVK934135
      PERFORM 100_SELECT_DATA.
    END-OF-SELECTION.
    CHECK: g_return_code IS INITIAL.               "DEVK934384
    IF NOT itab[] IS INITIAL.                      "DEVK934384
      IF G_RETURN_CODE IS INITIAL  AND               "DEVK934384
         NOT ITAB[] IS INITIAL.                      "DEVK934384
        PERFORM 200_PROCESS_DATA.
        PERFORM 300_POST_DOCUMENTS.
        PERFORM 399_RETRIEVE_DOCUMENTS.
        PERFORM REORG_ITAB.
        PERFORM BUILD_HEADER_CATALOG.
        PERFORM FIELDCAT_INIT USING GT_FIELDCAT[].
        SY_COPY = SYST.
        PERFORM SHOW_TRANSACTION_ERRORS.
      ELSE.                                          "DEVK934384
        PERFORM SHOW_EMPTY_LIST.                     "DEVK934384
      ENDIF.
    *&      Form  SELECT_DATA
    FORM 100_SELECT_DATA.
      PERFORM 110_SELECT_OPEN_PO_QTY.
      CHECK: G_RETURN_CODE IS INITIAL.
      PERFORM 120_SELECT_PO_BILLED_QTY.
    ENDFORM.                    " 100_SELECT_DATA
    *&      Form  110_SELECT_OPEN_PO_QTY
    FORM 110_SELECT_OPEN_PO_QTY.
    $--"DEVK934135 Begin;-$
      SELECT T1~VGBEL
             T1~VGPOS
             T1~VBELN
             T1~POSNR
             T1~MATNR
             T1~LFIMG
             T1~MFRGR
             T2~LIFEX
             T2~LFDAT
             FROM       LIPS AS T1
             INNER JOIN LIKP AS T2
             ON T1MANDT EQ T2MANDT  AND
                T1VBELN EQ T2VBELN
             APPENDING CORRESPONDING FIELDS OF TABLE ITAB_LIPS
             WHERE T1~MANDT EQ SY-MANDT         "client is system client
              AND  T1~VBELN IN S_VBELN          "billing doc in criteria
              AND  T1~VGBEL IN S_EBELN          "po reference in criteria
              AND  T1~PSTYV EQ 'ELN'            "billing item category
              AND  T1~WERKS EQ 'JDC1'           "plant
              AND  T1~MFRGR NE 'C'              "material freight group
              AND  T2~LIFNR EQ  P_LIFNR.        "vendor is param vendor
      LOOP AT ITAB_LIPS.
        ITAB_LIPS-EBELN = ITAB_LIPS-VGBEL.
        ITAB_LIPS-EBELP = ITAB_LIPS-VGPOS.
        ITAB_LIPS-CHARG = ITAB_LIPS-LIFEX.
        ITAB_LIPS-OLDMFRGR
                        = ITAB_LIPS-MFRGR.
        MODIFY ITAB_LIPS.
      ENDLOOP.
      IF ITAB_LIPS[] IS INITIAL.
      MESSAGE i032(zm) WITH text-m11.              "DEVK934384
        G_RETURN_CODE = 'X'.
        EXIT.
      ENDIF.
      SELECT T1~EBELN
             T1~EBELP
             T1~LICHA
             T2~MATNR
             T2~MENGE
             T2~LOEKZ
             T2~ELIKZ
             T2~NETPR
             T3~IHREZ
             FROM       EKET AS T1
             INNER JOIN EKPO AS T2
             ON T1MANDT EQ T2MANDT  AND
                T1EBELN EQ T2EBELN  AND
                T1EBELP EQ T2EBELP
             INNER JOIN EKKO AS T3
             ON T1MANDT EQ T3MANDT  AND
                T1EBELN EQ T3EBELN
             APPENDING CORRESPONDING FIELDS OF TABLE ITAB
             FOR ALL ENTRIES IN ITAB_LIPS
             WHERE T1~MANDT EQ SY-MANDT         "client is system client
              AND  T1~EBELN EQ ITAB_LIPS-EBELN  "po# matches w/ billing
              AND  T3~BSART IN ('YT', 'YN').    "po type
      IF ITAB[] IS INITIAL.
      MESSAGE i032(zm) WITH text-m11.              "DEVK934384
        G_RETURN_CODE = 'X'.
        EXIT.
      ENDIF.
    $--"DEVK934135 End;---$
    delete any duplicate entries in itab table
      SORT ITAB BY EBELN EBELP.
      DELETE ADJACENT DUPLICATES FROM ITAB COMPARING EBELN EBELP.
      LOOP AT ITAB.
        ITAB-RECID = SY-TABIX.
        IF NOT ITAB-IHREZ IS INITIAL.
          WHILE ITAB-IHREZ+0(1) EQ ' '.
            SHIFT ITAB-IHREZ.
          ENDWHILE.
          WHILE ITAB-IHREZ+9(1) EQ ' '.
            SHIFT ITAB-IHREZ RIGHT.
            ITAB-IHREZ+0(1) = '0'.
          ENDWHILE.
        ENDIF.
        MODIFY ITAB.
      ENDLOOP.
    delete  ITAB_LIPS entries that are not there in ITAB
      LOOP AT ITAB_LIPS.
        SY_COPY-TABIX = SY-TABIX.
        CLEAR ITAB.
        READ TABLE ITAB WITH KEY EBELN = ITAB_LIPS-EBELN
                                 EBELP = ITAB_LIPS-EBELP BINARY SEARCH.
        SY_COPY-INDEX = SY-TABIX.
        IF SY-SUBRC NE 0.
          DELETE ITAB_LIPS.
        ELSE.
          ITAB_LIPS-IHREZ = ITAB-IHREZ.
          MODIFY ITAB_LIPS INDEX SY_COPY-TABIX.
          ITAB-MFRGR = ITAB_LIPS-MFRGR.
          ITAB-LIFEX = ITAB_LIPS-LIFEX.
          ITAB-OLDMFRGR
                     = ITAB_LIPS-OLDMFRGR.
          MODIFY ITAB      INDEX SY_COPY-INDEX.
        ENDIF.
      ENDLOOP.
    select the goods receipts documents created for the above deliveries
      SELECT EBELN EBELP BELNR GJAHR
                     INTO TABLE ITAB_EKBE FROM EKBE
                                FOR ALL ENTRIES IN ITAB_LIPS
                                WHERE EBELN = ITAB_LIPS-EBELN
                                AND   EBELP = ITAB_LIPS-EBELP.
    select Goods receipt data from MSEG table for the above deliveries
      IF NOT ITAB_EKBE[] IS INITIAL.
        SELECT EBELN EBELP CHARG BWART MENGE MBLNR MJAHR ZEILE
                       INTO TABLE ITAB_MSEG FROM MSEG
                                  FOR ALL ENTRIES IN ITAB_EKBE
                                  WHERE MBLNR = ITAB_EKBE-BELNR
                                  AND   MJAHR = ITAB_EKBE-GJAHR.
      ENDIF.
      SORT ITAB_MSEG BY EBELN EBELP CHARG.
    calculate the GR qty eligible to be posted
      SORT ITAB_LIPS BY EBELN EBELP.
      LOOP AT ITAB_LIPS.
        ITAB_LIPS-POSTQTY = ITAB_LIPS-LFIMG.
        CLEAR ITAB_MSEG.
        LOOP AT ITAB_MSEG WHERE EBELN = ITAB_LIPS-EBELN
                          AND   EBELP = ITAB_LIPS-EBELP
                          AND   CHARG = ITAB_LIPS-CHARG.
          IF ITAB_MSEG-BWART = '101'.
            ITAB_LIPS-POSTQTY = ITAB_LIPS-POSTQTY - ITAB_MSEG-MENGE.
          ELSEIF ITAB_MSEG-BWART = '102'.
            ITAB_LIPS-POSTQTY = ITAB_LIPS-POSTQTY + ITAB_MSEG-MENGE.
          ENDIF.
        ENDLOOP.
        MODIFY ITAB_LIPS.
        CLEAR ITAB_LIPS.
      ENDLOOP.
      LOOP AT ITAB.
        ITAB-RECID = SY-TABIX.
        MODIFY ITAB.
        LOOP AT ITAB_LIPS WHERE EBELN EQ ITAB-EBELN
                           AND  EBELP EQ ITAB-EBELP.
          ITAB_LIPS-RECID = ITAB-RECID.
          MODIFY ITAB_LIPS.
        ENDLOOP.
      ENDLOOP.
    free the memory of unnecessary internal tables
    $--"DEVK934135 Begin;-$
      CLEAR: ITAB_EKBE.
      FREE:  ITAB_EKBE.
    $--"DEVK934135 End;---$
    ENDFORM.                    " 110_SELECT_OPEN_PO_QTY
    *&      Form  120_SELECT_PO_BILLED_QTY
    FORM 120_SELECT_PO_BILLED_QTY.
    $--"DEVK934135 Begin;-$
      SELECT T1~VBELN
             T1~POSNR
             T1~FKIMG
             T1~AUBEL
             T1~AUPOS
             APPENDING CORRESPONDING FIELDS OF TABLE ITAB_VBRP
             FROM       VBRP AS T1
             INNER JOIN VBRK AS T2
             ON T1MANDT EQ T2MANDT  AND
                T1VBELN EQ T2VBELN
             FOR ALL ENTRIES IN ITAB
             WHERE T1~MANDT EQ SY-MANDT         "client is system client
              AND  T1~VBELN EQ ITAB-IHREZ+0(10) "billing doc = your ref.
              AND  T2~FKSTO EQ ' '.             "status NOT cancelled
    Match ITAB-IHREZ <-> ITAB_VBRP-VBELN...
           ITAB-LICHA <-> ITAB_VBRP-POSNR...
      LOOP AT ITAB.
        SY_COPY-TABIX = SY-TABIX.
      Check your reference (IHREZ) field;
        IF ITAB-IHREZ IS INITIAL.                    "your-ref blank
          ITAB-ERRFA = 'X'.
          GT_ERROR-RECID = ITAB-RECID.
          GT_ERROR-ERRTX = TEXT-E0A.
          APPEND GT_ERROR.
        ELSE.                                        "your-ref NOT blank
          IF ITAB-IHREZ CO ' 0123456789'.            "your-ref numeric
          ENDIF.                                     "your-ref numeric
          IF SY-FDPOS NE 12.                         "your-ref NOT numeric
            ITAB-ERRFA = 'X'.
            GT_ERROR-RECID = ITAB-RECID.
            GT_ERROR-ERRTX = TEXT-E0A.
            APPEND GT_ERROR.
          ELSE.                                      "your-ref NOT numeric
          Check PO line item (LICHA) field;
            IF ITAB-LICHA IS INITIAL.                "line item blank
              ITAB-ERRFA = 'X'.
              GT_ERROR-RECID = ITAB-RECID.
              GT_ERROR-ERRTX = TEXT-E01.
              APPEND GT_ERROR.
            ELSE.                                    "line item NOT blank
              IF ITAB-LICHA CO ' 0123456789'.        "line item numeric
              ENDIF.                                 "line item numeric
              IF SY-FDPOS NE 15.                     "line item NOT numeric
                ITAB-ERRFA = 'X'.
                GT_ERROR-RECID = ITAB-RECID.
                GT_ERROR-ERRTX = TEXT-E01.
                APPEND GT_ERROR.
              ELSE.                                  "line item NOT numeric
                SY_COPY-SUBRC = 4.
                READ TABLE ITAB_VBRP
                     WITH KEY VBELN = ITAB-IHREZ+0(10)
                              POSNR = ITAB-LICHA+0(6)    BINARY SEARCH.
                SY_COPY-SUBRC = SY-SUBRC.
                IF SY_COPY-SUBRC NE 0.
                  ITAB-ERRFA = 'X'.
                  GT_ERROR-RECID = ITAB-RECID.
                  GT_ERROR-ERRTX = TEXT-E01.
                  APPEND GT_ERROR.
                ELSE.                                "DEVK934283
                  ITAB-AUBEL = ITAB_VBRP-AUBEL.      "DEVK934283
                  ITAB-AUPOS = ITAB_VBRP-AUPOS.      "DEVK934283
                ENDIF.
              ENDIF.                                 "line item NOT numeric
            ENDIF.                                   "line item blank
          ENDIF.                                     "your-ref NOT numeric
        ENDIF.                                       "your-ref blank
      Check ID - LIFEX;
        IF ITAB-LIFEX EQ ' '.                        "LIFEX is blank
          ITAB-ERRFB = 'X'.
          GT_ERROR-RECID = ITAB-RECID.
          GT_ERROR-ERRTX = TEXT-ERB.
          APPEND GT_ERROR.
        ELSE.                                        "LIFEX is NOT blank
        Check ID - MFRGR;
          IF ITAB-MFRGR NE 'G'.                      "MFRGR NOT G
            ITAB-ERRFC = 'X'.
            GT_ERROR-RECID = ITAB-RECID.
            GT_ERROR-ERRTX = TEXT-ERC.
            APPEND GT_ERROR.
          ENDIF.                                     "MFRGR NOT G
        ENDIF.                                       "LIFEX is blank
      Check PO - Deletion indicator;
        IF ITAB-LOEKZ NE ' '.                        "LOEKZ NOT blank
          ITAB-ERRFD = 'X'.
          GT_ERROR-RECID = ITAB-RECID.
          GT_ERROR-ERRTX = TEXT-ERD.
          APPEND GT_ERROR.
        ENDIF.                                       "LOEKZ NOT blank
      Check PO - Delivery completed flag;
        IF ITAB-ELIKZ NE ' '.                        "ELIKZ NOT blank
          ITAB-ERRFE = 'X'.
          GT_ERROR-RECID = ITAB-RECID.
          GT_ERROR-ERRTX = TEXT-ERE.
          APPEND GT_ERROR.
        ENDIF.                                       "ELIKZ NOT blank
      Check PO - Net price;
        IF ITAB-NETPR LT P_NETPR.                    "price < parameter
          ITAB-ERRFF = 'X'.
          GT_ERROR-RECID = ITAB-RECID.
          CONCATENATE TEXT-ERF
                      G_NETPR
                      TEXT-USD
                      INTO GT_ERROR-ERRTX SEPARATED BY SPACE.
          APPEND GT_ERROR.
        ENDIF.                                       "ELIKZ NOT blank
        IF ITAB-AUPOS EQ '000000'.
          CLEAR: ITAB-AUPOS.
        ENDIF.
        MODIFY ITAB INDEX SY_COPY-TABIX.
      ENDLOOP.
      LOOP AT ITAB.                                  "DEVK934283
        READ TABLE ITAB_LIPS                         "DEVK934283
             WITH KEY VGBEL = ITAB-EBELN             "DEVK934283
                      VGPOS = ITAB-EBELP             "DEVK934283
             BINARY SEARCH.                          "DEVK934283
        SY_COPY-TABIX = SY-TABIX.                    "DEVK934283
        IF SY-SUBRC EQ 0.                            "DEVK934283
          ITAB_LIPS-AUBEL = ITAB-AUBEL.              "DEVK934283
          ITAB_LIPS-AUPOS = ITAB-AUPOS.              "DEVK934283
          MODIFY ITAB_LIPS INDEX SY_COPY-TABIX.      "DEVK934283
        ENDIF.                                       "DEVK934283
      ENDLOOP.                                       "DEVK934283
    Transfer errors from ITAB to ITAB_LIPS;
      LOOP AT ITAB WHERE ERRFA EQ 'X'
                    OR   ERRFB EQ 'X'
                    OR   ERRFC EQ 'X'
                    OR   ERRFD EQ 'X'
                    OR   ERRFE EQ 'X'
                    OR   ERRFF EQ 'X'.
        READ TABLE ITAB_LIPS
             WITH KEY VGBEL = ITAB-EBELN
                      VGPOS = ITAB-EBELP  BINARY SEARCH.
        SY_COPY-TABIX = SY-TABIX.
        IF SY-SUBRC EQ 0.
          ITAB_LIPS-ERRFA    = ITAB-ERRFA.
          ITAB_LIPS-ERRFB    = ITAB-ERRFB.
          ITAB_LIPS-ERRFC    = ITAB-ERRFC.
          ITAB_LIPS-ERRFD    = ITAB-ERRFD.
          ITAB_LIPS-ERRFE    = ITAB-ERRFE.
          ITAB_LIPS-ERRFF    = ITAB-ERRFF.
          ITAB_LIPS-NEWMFRGR = 'E'.
          MODIFY ITAB_LIPS INDEX SY_COPY-TABIX.
        ENDIF.
      ENDLOOP.
    $--"DEVK934135 End;---$
    ENDFORM.                    " 120_SELECT_PO_BILLED_QTY
    *&      Form  200_PROCESS_DATA
    FORM 200_PROCESS_DATA.
      PERFORM 210_CONSOLIDATE_DATA.
      PERFORM 220_PROCESS_DATA.
    ENDFORM.                    " 200_PROCESS_DATA
    *&      Form  210_consolidate_data
    FORM 210_CONSOLIDATE_DATA.
    Get the PO item open qty and billed qty into one table
      LOOP AT ITAB.
        CLEAR ITAB_LIPS.
        LOOP AT ITAB_LIPS WHERE EBELN = ITAB-EBELN
                          AND   EBELP = ITAB-EBELP.
         ITAB-IDQTY = ITAB-IDQTY + ITAB_LIPS-POSTQTY.      "inbound delv qty
        ENDLOOP.
        CLEAR ITAB_VBRP.
        LOOP AT ITAB_VBRP WHERE VBELN = ITAB-IHREZ
                          AND   POSNR = ITAB-LICHA.
          ITAB-FKIMG = ITAB-FKIMG + ITAB_VBRP-FKIMG.    "PO item billed qty
        ENDLOOP.
        CLEAR ITAB_MSEG.
        LOOP AT ITAB_MSEG WHERE EBELN = ITAB-EBELN
                          AND   EBELP = ITAB-EBELP.
          IF ITAB_MSEG-BWART = '101'.
           ITAB-GRQTY = ITAB-GRQTY + ITAB_MSEG-MENGE.        "PO item GR qty
          ELSEIF ITAB_MSEG-BWART = '102'.
           ITAB-GRQTY = ITAB-GRQTY - ITAB_MSEG-MENGE.        "PO item GR qty
          ELSEIF ITAB_MSEG-BWART = '122'.            "DEVK934135
           ITAB-GRQTY = ITAB-GRQTY - ITAB_MSEG-MENGE.        "PO item GR qty
          ENDIF.
        ENDLOOP.
        ITAB-RCVQTY = ITAB-FKIMG - ITAB-GRQTY.  "qty billed but not received
    calculate the quantity to be processed for which GRs are to be posted
        IF ITAB-RCVQTY > 0 AND ITAB-RCVQTY > ITAB-IDQTY.
          ITAB-PROCQTY = ITAB-IDQTY.
        ELSEIF ITAB-RCVQTY > 0 AND ITAB-RCVQTY < ITAB-IDQTY.
          ITAB-PROCQTY = ITAB-RCVQTY.
        ELSEIF ITAB-RCVQTY > 0 AND ITAB-RCVQTY = ITAB-IDQTY.
          ITAB-PROCQTY = ITAB-IDQTY.
        ENDIF.
        MODIFY ITAB.
        CLEAR ITAB.
      ENDLOOP.
    free the memory of unnecessary internal tables
    $--"DEVK934135 Begin;-$
      CLEAR: ITAB_MSEG.
      FREE:  ITAB_MSEG.
    $--"DEVK934135 End;---$
    ENDFORM.                    " 210_consolidate_data
    *&      Form  220_PROCESS_DATA
    FORM 220_PROCESS_DATA.
      DATA: L0_FISCAL_PERIOD  LIKE BAPI0002_4-FISCAL_PERIOD,
            L0_FISCAL_YEAR    LIKE BAPI0002_4-FISCAL_YEAR,
            L0_RETURN         LIKE BAPIRETURN1,
            L1_FISCAL_PERIOD  LIKE BAPI0002_4-FISCAL_PERIOD,
            L1_FISCAL_YEAR    LIKE BAPI0002_4-FISCAL_YEAR,
            L1_RETURN         LIKE BAPIRETURN1.
      SORT ITAB_LIPS BY VGBEL VGPOS EBELN EBELP
                        LFDAT DESCENDING POSNR ASCENDING.
      SORT ITAB BY EBELN EBELP.
    Calculate the GR quanities to be posted for all inbound deliveries
      LOOP AT ITAB_LIPS.
        AT NEW EBELP.
          CLEAR ITAB.
          CLEAR V_RCVQTY.
          READ TABLE ITAB WITH KEY EBELN = ITAB_LIPS-EBELN
                                   EBELP = ITAB_LIPS-EBELP BINARY SEARCH.
          V_RCVQTY = ITAB-RCVQTY.
        ENDAT.
        IF ITAB-PROCQTY GT 0.
          IF ITAB_LIPS-POSTQTY GT ITAB-PROCQTY.
            ITAB_LIPS-PROCQTY = ITAB-PROCQTY.
            ITAB_LIPS-NEWMFRGR = 'B'.
            ITAB-PROCQTY = 0.
          ELSEIF ITAB_LIPS-POSTQTY LT ITAB-PROCQTY.
            ITAB_LIPS-PROCQTY = ITAB_LIPS-POSTQTY.
            ITAB_LIPS-NEWMFRGR = 'C'.
            ITAB-PROCQTY = ITAB-PROCQTY - ITAB_LIPS-POSTQTY.
          ELSEIF ITAB_LIPS-POSTQTY EQ ITAB-PROCQTY.
            ITAB_LIPS-PROCQTY = ITAB_LIPS-POSTQTY.
            ITAB_LIPS-NEWMFRGR = 'C'.
            ITAB-PROCQTY = 0.
          ENDIF.
    Compare the Inbound delivery processing quantity with the pending
    billing quantity to write it in the report log
          IF ITAB_LIPS-POSTQTY LT V_RCVQTY.
            ITAB_LIPS-GRIND = 'D'.            "GR will be created for ID qty
            V_RCVQTY = V_RCVQTY - ITAB_LIPS-POSTQTY.
          ELSEIF ITAB_LIPS-POSTQTY GT V_RCVQTY.
            ITAB_LIPS-GRIND = 'B'.       "GR will be created for Billied qty
            V_RCVQTY = 0.
          ELSEIF ITAB_LIPS-POSTQTY EQ V_RCVQTY.
            ITAB_LIPS-GRIND = 'S'.            "Billed qty is equal to ID qty
            V_RCVQTY = 0.
          ENDIF.
        ELSE.
    Decide why this inbound delivery could not have GR quantity -
    excess GR quantity or unavailable Billing quantity
          IF ITAB-RCVQTY LT ITAB-IDQTY.
            ITAB_LIPS-GRIND = 'C'.      "GR not created - Lack of Billed qty
          ENDIF.
          IF ITAB-RCVQTY LT 0.
            ITAB_LIPS-GRIND = 'A'.       "GR not created - GR qty > Bill qty
          ENDIF.
        ENDIF.
        MODIFY ITAB_LIPS.
        CLEAR ITAB_LIPS.
      ENDLOOP.
    $--"DEVK934135-Begin;-$
      LOOP AT ITAB_LIPS.
        AT NEW EBELP.
          CLEAR ITAB.
          CLEAR V_RCVQTY.
          READ TABLE ITAB WITH KEY EBELN = ITAB_LIPS-EBELN
                                   EBELP = ITAB_LIPS-EBELP BINARY SEARCH.
          V_RCVQTY = ITAB-FKIMG - ITAB-GRQTY.
        ENDAT.
        IF ITAB_LIPS-ERRFA IS INITIAL.
          IF V_RCVQTY EQ 0.
            ITAB_LIPS-ERRF1    = 'X'.
            ITAB_LIPS-NEWMFRGR = 'E'.
            GT_ERROR-RECID = ITAB-RECID.
            GT_ERROR-ERRTX = TEXT-R01.
            APPEND GT_ERROR.
          ELSEIF V_RCVQTY LT 0.
            ITAB_LIPS-ERRF2    = 'X'.
            ITAB_LIPS-NEWMFRGR = 'E'.
            GT_ERROR-RECID = ITAB-RECID.
            GT_ERROR-ERRTX = TEXT-R02.
            APPEND GT_ERROR.
          ELSEIF V_RCVQTY GT 0.
            IF V_RCVQTY EQ ITAB_LIPS-LFIMG.
              ITAB_LIPS-ERRF3    = 'X'.
              ITAB_LIPS-NEWMFRGR = 'C'.
            ELSEIF V_RCVQTY GT ITAB_LIPS-LFIMG.
              ITAB_LIPS-ERRF4    = 'X'.
              ITAB_LIPS-NEWMFRGR = 'C'.
              ITAB_LIPS-PROCQTY  =  ITAB_LIPS-LFIMG.
              GT_ERROR-RECID = ITAB-RECID.
              GT_ERROR-ERRTX = TEXT-R04.
              APPEND GT_ERROR.
            ELSEIF V_RCVQTY LT ITAB_LIPS-LFIMG.
              ITAB_LIPS-ERRF5    = 'X'.
              ITAB_LIPS-NEWMFRGR = 'E'.
              GT_ERROR-RECID = ITAB-RECID.
              GT_ERROR-ERRTX = TEXT-R05.
              APPEND GT_ERROR.
            ENDIF.
          ENDIF.
        ENDIF.
        CLEAR: ITAB_LIPS-BLDAT.
        READ TABLE ITAB WITH KEY EBELN = ITAB_LIPS-VGBEL
                                 EBELP = ITAB_LIPS-VGPOS BINARY SEARCH.
        SELECT SINGLE FKDAT
               FROM  VBRK
               INTO (ITAB_LIPS-BLDAT)
               WHERE VBELN EQ ITAB-IHREZ+0(10).
        CALL FUNCTION 'BAPI_COMPANYCODE_GET_PERIOD'
             EXPORTING
                  COMPANYCODEID = 'C800'
                  POSTING_DATE  =  ITAB_LIPS-BLDAT
             IMPORTING
                  FISCAL_YEAR   =  L0_FISCAL_YEAR
                  FISCAL_PERIOD =  L0_FISCAL_PERIOD
                  RETURN        =  L0_RETURN.
        CALL FUNCTION 'BAPI_COMPANYCODE_GET_PERIOD'
             EXPORTING
                  COMPANYCODEID = 'C800'
                  POSTING_DATE  =  SY-DATLO
             IMPORTING
                  FISCAL_YEAR   =  L1_FISCAL_YEAR
                  FISCAL_PERIOD =  L1_FISCAL_PERIOD
                  RETURN        =  L1_RETURN.
        IF L0_FISCAL_YEAR   EQ L1_FISCAL_YEAR  AND
           L0_FISCAL_PERIOD EQ L1_FISCAL_PERIOD.
          ITAB_LIPS-BUDAT = ITAB_LIPS-BLDAT.
        ELSE.
          ITAB_LIPS-BUDAT = SY-DATLO.
        ENDIF.
        MODIFY ITAB_LIPS.
        CLEAR ITAB_LIPS.
      ENDLOOP.
    $--"DEVK934135-End;---$
    collect all the inbound deliveries for which goods receipt are to be
    made / material freight status  are to be updated
      LOOP AT ITAB_LIPS    WHERE ERRFA IS INITIAL       "DEVK934135
                            AND  ERRFB IS INITIAL       "DEVK934135
                            AND  ERRFC IS INITIAL       "DEVK934135
                            AND  ERRFD IS INITIAL       "DEVK934135
                            AND  ERRFE IS INITIAL       "DEVK934135
                            AND  ERRFF IS INITIAL       "DEVK934135
                            AND  ERRF1 IS INITIAL       "DEVK934135
                            AND  ERRF2 IS INITIAL       "DEVK934135
                            AND  ERRF5 IS INITIAL.      "DEVK934135
        IF ITAB_LIPS-PROCQTY GT 0 AND ITAB_LIPS-LFIMG NE 0.
          ITAB_LIPS_G-VBELN = ITAB_LIPS-VBELN.
          ITAB_LIPS_G-BLDAT = ITAB_LIPS-BLDAT.       "DEVK934135
          ITAB_LIPS_G-BUDAT = ITAB_LIPS-BUDAT.       "DEVK934135
          ITAB_LIPS_G-IHREZ = ITAB_LIPS-IHREZ.       "DEVK934135
          APPEND ITAB_LIPS_G.
        ENDIF.
      ENDLOOP.
      SORT ITAB_LIPS_G BY VBELN.
      DELETE ADJACENT DUPLICATES FROM ITAB_LIPS_G.
      LOOP AT ITAB_LIPS    WHERE NOT ERRFA IS INITIAL       "DEVK934135
                            OR   NOT ERRFB IS INITIAL       "DEVK934135
                            OR   NOT ERRFC IS INITIAL       "DEVK934135
                            OR   NOT ERRFD IS INITIAL       "DEVK934135
                            OR   NOT ERRFE IS INITIAL       "DEVK934135
                            OR   NOT ERRFF IS INITIAL       "DEVK934135
                            OR   NOT ERRF1 IS INITIAL       "DEVK934135
                            OR   NOT ERRF2 IS INITIAL       "DEVK934135
                            OR   NOT ERRF3 IS INITIAL       "DEVK934135
                            OR   NOT ERRF4 IS INITIAL       "DEVK934135
                            OR   NOT ERRF5 IS INITIAL.      "DEVK934135
          ITAB_LIPS_X-VBELN = ITAB_LIPS-VBELN.
          ITAB_LIPS_X-BLDAT = ITAB_LIPS-BLDAT.       "DEVK934135
          ITAB_LIPS_X-BUDAT = ITAB_LIPS-BUDAT.       "DEVK934135
          ITAB_LIPS_X-IHREZ = ITAB_LIPS-IHREZ.       "DEVK934135
          APPEND ITAB_LIPS_X.
      ENDLOOP.
      SORT ITAB_LIPS_X BY VBELN.
      DELETE ADJACENT DUPLICATES FROM ITAB_LIPS_X.
      LOOP AT ITAB_LIPS.
          READ TABLE ITAB WITH KEY RECID = ITAB_LIPS-RECID.
          SY_COPY-INDEX = SY-TABIX.
          IF SY-SUBRC EQ 0.
            ITAB-ERRFA = ITAB_LIPS-ERRFA.
            ITAB-ERRFB = ITAB_LIPS-ERRFB.
            ITAB-ERRFC = ITAB_LIPS-ERRFC.
            ITAB-ERRFD = ITAB_LIPS-ERRFD.
            ITAB-ERRFE = ITAB_LIPS-ERRFE.
            ITAB-ERRFF = ITAB_LIPS-ERRFF.
            ITAB-ERRF1 = ITAB_LIPS-ERRF1.
            ITAB-ERRF2 = ITAB_LIPS-ERRF2.
            ITAB-ERRF3 = ITAB_LIPS-ERRF3.
            ITAB-ERRF4 = ITAB_LIPS-ERRF4.
            ITAB-ERRF5 = ITAB_LIPS-ERRF5.
            MODIFY ITAB INDEX SY_COPY-INDEX.
          ENDIF.
      ENDLOOP.
    Decide the goods receipt item number for the delivery items that are
    to be processed. Delivery items with zero quantities are not shown up
    in MB0A transaction for GR
      CLEAR V_DEL_ZERO.
      IF NOT ITAB_LIPS_G[] IS INITIAL.
        SELECT VBELN POSNR LFIMG
                  INTO CORRESPONDING FIELDS OF TABLE ITAB_LIPS_Z FROM LIPS
                                  FOR ALL ENTRIES IN ITAB_LIPS_G
                                  WHERE VBELN = ITAB_LIPS_G-VBELN
                                  AND LFIMG EQ 0.
        IF SY-SUBRC EQ 0.
          V_DEL_ZERO = 'X'.
          CLEAR ITAB_LIPS_Z.
          FREE ITAB_LIPS_Z.
          SELECT VBELN POSNR LFIMG
                   INTO CORRESPONDING FIELDS OF TABLE ITAB_LIPS_Z FROM LIPS
                                    FOR ALL ENTRIES IN ITAB_LIPS_G
                                    WHERE VBELN = ITAB_LIPS_G-VBELN.
          SORT ITAB_LIPS_Z BY VBELN POSNR.
          LOOP AT ITAB_LIPS_Z.
            AT NEW VBELN.
              CLEAR V_ZEILE.
            ENDAT.
            IF ITAB_LIPS_Z-LFIMG NE 0.
              V_ZEILE = V_ZEILE + 1.
            ENDIF.
            ITAB_LIPS_Z-ZEILE = V_ZEILE.
            MODIFY ITAB_LIPS_Z.
          ENDLOOP.
        ELSE.
          V_DEL_ZERO = ' '.
        ENDIF.
      ENDIF.
      SORT ITAB_LIPS_Z BY VBELN POSNR.
      LOOP AT ITAB_LIPS.
        IF V_DEL_ZERO = ' '.
          ITAB_LIPS-ZEILE = ITAB_LIPS-POSNR.
        ELSE.
          CLEAR ITAB_LIPS_Z.
          READ TABLE ITAB_LIPS_Z WITH KEY VBELN = ITAB_LIPS-VBELN
                                    POSNR = ITAB_LIPS-POSNR BINARY SEARCH.
          ITAB_LIPS-ZEILE = ITAB_LIPS_Z-ZEILE.
        ENDIF.
        MODIFY ITAB_LIPS.
      ENDLOOP.
      SORT ITAB_LIPS BY VBELN DESCENDING POSNR ASCENDING.
    ENDFORM.                    " 220_PROCESS_DATA
    *&      Form  300_post_documents
    FORM 300_POST_DOCUMENTS.
      LOOP AT ITAB_LIPS_G.
        PERFORM 310_POST_GR_DOC.
        MODIFY ITAB_LIPS_G.
        CLEAR ITAB_LIPS_G.
      ENDLOOP.
      CLEAR: BDCDATA, BDCDATA[].
      ITAB_LIPS_R[] = ITAB_LIPS_G[].
      ITAB_LIPS_G[] = ITAB_LIPS_X[].
      LOOP AT ITAB_LIPS_G.
        PERFORM 350_UPDATE_DELIVERY_DOC.
        MODIFY ITAB_LIPS_G.
        CLEAR ITAB_LIPS_G.
      ENDLOOP.
    PERFORM close_group.
    ENDFORM.                    " 300_post_documents
    *&      Form  310_POST_GR_DOC
    FORM 310_POST_GR_DOC.
      PERFORM 320_POST_GR_HEADER.
      LOOP AT ITAB_LIPS WHERE VBELN = ITAB_LIPS_G-VBELN
                        AND   LFIMG NE 0
                        AND PROCQTY NE 0
                        AND ERRFA   IS INITIAL
                        AND ERRFB   IS INITIAL
                        AND ERRFC   IS INITIAL
                        AND ERRFD   IS INITIAL
                        AND ERRFE   IS INITIAL
                        AND ERRFF   IS INITIAL
                        AND ERRF1   IS INITIAL
                        AND ERRF2   IS INITIAL
                        AND ERRF5   IS INITIAL.
        IF ITAB_LIPS-ZEILE EQ 1.
          PERFORM 335_POST_GR_ITEMS.
        ELSE.
          PERFORM 330_POST_GR_ITEMS.
        ENDIF.
      ENDLOOP.
      PERFORM 340_SAVE_GR_DOC.
    ENDFORM.                    " 310_POST_GR_DOC
    *&      Form  320_POST_GR_HEADER
    FORM 320_POST_GR_HEADER.
      DATA: L_BLDAT    TYPE SYDATUM,
            L_BUDAT    TYPE SYDATUM.
      WRITE: ITAB_LIPS_G-BLDAT TO L_BLDAT,
             ITAB_LIPS_G-BUDAT TO L_BUDAT.
      IF ITAB_LIPS_G-IHREZ+0(10) NE '0000000000'  AND
         ITAB_LIPS_G-IHREZ+0(10) NE '          '.
        WHILE ITAB_LIPS_G-IHREZ+0(1) EQ '0'.
          SHIFT ITAB_LIPS_G-IHREZ.
        ENDWHILE.
      ENDIF.
      perform bdc_dynpro      using 'SAPMM07M' '0201'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'RM07M-VLIEF'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '/00'.
      PERFORM BDC_FIELD       USING 'MKPF-BKTXT'
                                    ITAB_LIPS_G-IHREZ.
      perform bdc_field       using 'MKPF-BLDAT'
                                    L_BLDAT.
      perform bdc_field       using 'MKPF-BUDAT'
                                    L_BUDAT.
      perform bdc_field       using 'RM07M-BWARTWE'
                                    '101'.
      perform bdc_field       using 'RM07M-WERKS'
      perform bdc_field       using 'RM07M-LGORT'
      perform bdc_field       using 'RM07M-XNUVO'
                                    'X'.
      perform bdc_field       using 'XFULL'
      perform bdc_field       using 'RM07M-VLIEF'
                                    ITAB_LIPS_G-VBELN.
      perform bdc_dynpro      using 'SAPMM07M' '0221'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=SELN'.
      perform bdc_dynpro      using 'SAPMM07M' '0221'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MSEG-ERFMG(01)'.
    ENDFORM.                    " 320_POST_GR_HEADER
    *&      Form  330_POST_GR_ITEMS
    FORM 330_POST_GR_ITEMS.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=KLA'.
      perform bdc_dynpro      using 'SAPMM07M' '1501'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=OK'.
      VV_ZEILE = ITAB_LIPS-ZEILE.
      PERFORM BDC_FIELD       USING 'RM07M-ZEILE'
                                    VV_ZEILE.
      perform bdc_dynpro      using 'SAPMM07M' '0221'.
      perform bdc_field       using 'RM07M-XSELK(01)'
                                    'X'.
      VV_PROCQTY = ITAB_LIPS-PROCQTY.
      perform bdc_field       using 'MSEG-ERFMG(01)'
                                    VV_PROCQTY.
      perform bdc_field       using 'MSEG-CHARG(01)'
                                    ITAB_LIPS-CHARG.
      perform bdc_field       using 'MSEG-INSMK(01)'
                                    'S'.
    ENDFORM.                    " 330_POST_GR_ITEMS
    *&      Form  340_SAVE_GR_DOC
    FORM 340_SAVE_GR_DOC.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=BU'.
      CLEAR V_FAIL_IND.
      PERFORM BDC_TRANSACTION USING 'MB0A'
                              CHANGING V_FAIL_IND.
    ENDFORM.                    " 340_SAVE_GR_DOC
    *&      Form  350_UPDATE_DELIVERY_DOC
    FORM 350_UPDATE_DELIVERY_DOC.
      PERFORM 360_UPDATE_DELIVERY_HEADER.
      LOOP AT ITAB_LIPS WHERE VBELN = ITAB_LIPS_G-VBELN
                         AND  ERRFA IS INITIAL
                         AND  ERRFB IS INITIAL
                         AND  ERRFC IS INITIAL.
                       AND  errfd IS INITIAL
                       AND  errfe IS INITIAL.
        PERFORM 370_UPDATE_DELIVERY_ITEMS.
      ENDLOOP.
      PERFORM 380_SAVE_DELIVERY_DOC.
    ENDFORM.                    " 350_UPDATE_DELIVERY_DOC
    *&      Form  360_UPDATE_DELIVERY_HEADER
    FORM 360_UPDATE_DELIVERY_HEADER.
      perform bdc_dynpro      using 'SAPMV50A' '0108'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'LIKP-VBELN'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=UELA'.
      perform bdc_field       using 'LIKP-VBELN'
                                    ITAB_LIPS_G-VBELN.
    ENDFORM.                    " 360_UPDATE_DELIVERY_HEADER
    *&      Form  370_UPDATE_DELIVERY_ITEMS
    FORM 370_UPDATE_DELIVERY_ITEMS.
      IF ITAB_LIPS-ERRFD EQ 'X'  OR
         ITAB_LIPS-ERRFE EQ 'X'  OR
         ITAB_LIPS-ERRFF EQ 'X'.
        ITAB_LIPS-NEWMFRGR = 'E'.
      ENDIF.
      perform bdc_dynpro      using 'SAPMV50A' '0270'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'RV50A-VERUR_LA'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=POPO'.
      perform bdc_dynpro      using 'SAPMV50A' '0111'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'RV50A-POSNR'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=POPO'.
      VV_POSNR =  ITAB_LIPS-POSNR.
      perform bdc_field       using 'RV50A-POSNR'
                                    VV_POSNR.
      perform bdc_dynpro      using 'SAPMV50A' '0270'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'LIPS-POSNR(01)'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=LAPD'.
      perform bdc_field       using 'RV50A-LIPS_SELKZ(01)'
                                    'X'.
      perform bdc_dynpro      using 'SAPMV50A' '0570'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'LIPS-MFRGR'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=BACK'.
      perform bdc_field       using 'LIPS-MFRGR'
                                    ITAB_LIPS-NEWMFRGR.
    ENDFORM.                    " 370_UPDATE_DELIVERY_ITEMS
    *&      Form  380_SAVE_DELIVERY_DOC
    FORM 380_SAVE_DELIVERY_DOC.
      perform bdc_dynpro      using 'SAPMV50A' '0270'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'RV50A-VERUR_LA'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=SICH'.
    If GR document is not posted successfully, then do not update the
    status of delivery document
      CLEAR V_FAIL_IND.
      PERFORM BDC_TRANSACTION USING 'VL32'
                              CHANGING V_FAIL_IND.
      IF V_FAIL_IND = 'X'.
        CALL FUNCTION 'BDC_INSERT'
             EXPORTING
                  TCODE     = 'VL32'
             TABLES
                  DYNPROTAB = BDCDATA.
        REFRESH BDCDATA.
      ENDIF.
    ENDFORM.                    " 380_SAVE_DELIVERY_DOC
           Start new transaction according to parameters                 *
    FORM BDC_TRANSACTION USING TCODE
                         CHANGING V_FAILURE_IND.
      DATA: L_MSTRING(480).
      DATA: L_SUBRC LIKE SY-SUBRC.
      REFRESH MESSTAB.
      CALL TRANSACTION TCODE USING BDCDATA
                       MODE   CTUMODE
                       UPDATE CUPDATE
                       MESSAGES INTO MESSTAB.
      L_SUBRC = SY-SUBRC.
      CLEAR V_FAILURE_IND.
      IF L_SUBRC NE 0.
        V_FAILURE_IND = 'X'.
        CLEAR V_IND.
        LOOP AT MESSTAB.
          SELECT SINGLE * FROM T100 WHERE SPRSL = MESSTAB-MSGSPRA
                                    AND   ARBGB = MESSTAB-MSGID
                                    AND   MSGNR = MESSTAB-MSGNR.
          IF SY-SUBRC = 0.
            L_MSTRING = T100-TEXT.
            IF L_MSTRING CS '&1'.
              REPLACE '&1' WITH MESSTAB-MSGV1 INTO L_MSTRING.
              REPLACE '&2' WITH MESSTAB-MSGV2 INTO L_MSTRING.
              REPLACE '&3' WITH MESSTAB-MSGV3 INTO L_MSTRING.
              REPLACE '&4' WITH MESSTAB-MSGV4 INTO L_MSTRING.
            ELSE.
              REPLACE '&' WITH MESSTAB-MSGV1 INTO L_MSTRING.
              REPLACE '&' WITH MESSTAB-MSGV2 INTO L_MSTRING.
              REPLACE '&' WITH MESSTAB-MSGV3 INTO L_MSTRING.
              REPLACE '&' WITH MESSTAB-MSGV4 INTO L_MSTRING.
            ENDIF.
            CONDENSE L_MSTRING.
            IF MESSTAB-MSGTYP = 'E'.
              ERRORTAB-TCODE       = TCODE.
              ERRORTAB-VBELN       = ITAB_LIPS_G-VBELN.
              ERRORTAB-ERROR_TEXT  = L_MSTRING.
              APPEND ERRORTAB.
              V_IND = 'X'.
            ENDIF.
          ELSE.
            IF MESSTAB-MSGTYP = 'E'.
              ERRORTAB-TCODE       = TCODE.
              ERRORTAB-VBELN       = ITAB_LIPS_G-VBELN.
              ERRORTAB-ERROR_TEXT  = TEXT-U01.
              APPEND ERRORTAB.
              V_IND = 'X'.
            ENDIF.
          ENDIF.
        ENDLOOP.
        IF V_IND IS INITIAL.
          ERRORTAB-TCODE       = TCODE.
          ERRORTAB-VBELN       = ITAB_LIPS_G-VBELN.
          ERRORTAB-ERROR_TEXT  = TEXT-U01.
          APPEND ERRORTAB.
        ENDIF.
      ELSE.
        IF TCODE = 'MB0A'.
          LOOP AT MESSTAB WHERE MSGTYP = 'S'
                          AND   MSGID = 'M7'
                          AND   MSGNR = '060'.
            IF NOT MESSTAB-MSGV1 IS INITIAL.
              ITAB_LIPS_G-MBLNR = MESSTAB-MSGV1.
            ENDIF.
          ENDLOOP.
        ELSEIF TCODE = 'VL32'.
          ITAB_LIPS_G-DLVIND = 'X'.
        ENDIF.
      ENDIF.
      IF L_SUBRC <> 0 AND E_GROUP <> SPACE.
        IF E_GROUP_OPENED = ' '.
          CALL FUNCTION 'BDC_OPEN_GROUP'
               EXPORTING
                    CLIENT   = SY-MANDT
                    GROUP    = E_GROUP
                    USER     = E_USER
                    KEEP     = E_KEEP
                    HOLDDATE = E_HDATE.
          E_GROUP_OPENED = 'X'.
        ENDIF.
        CALL FUNCTION 'BDC_INSERT'
             EXPORTING
                  TCODE     = TCODE
             TABLES
                  DYNPROTAB = BDCDATA.
      ENDIF.
      REFRESH BDCDATA.
    ENDFORM.
    *&      Form  335_POST_GR_ITEMS
    FORM 335_POST_GR_ITEMS.
      VV_ZEILE = ITAB_LIPS-ZEILE.
      perform bdc_field       using 'RM07M-XSELK(01)'
                                    'X'.
      VV_PROCQTY = ITAB_LIPS-PROCQTY.
      perform bdc_field       using 'MSEG-ERFMG(01)'
                                    VV_PROCQTY.
      perform bdc_field       using 'MSEG-CHARG(01)'
                                    ITAB_LIPS-CHARG.
      perform bdc_field       using 'MSEG-INSMK(01)'
                                    'S'.
    ENDFORM.                    " 335_POST_GR_ITEMS
    *&      Form  399_RETRIEVE_DOCUMENTS
    &----

    that is a warning message only ... But if you want to fix it then replace all 000 with 001 in your write statement. The position instead of 000 you have to give 001
    write : /000(10)....instead of this
    write : /1(10) or write : /(10) or write : /001(10) any thing you can use.
    regards
    shiba dutta

  • Very Common Premiere Error?? "Sorry, a serious error has occurred that..."

    "Sorry, a serious error has occurred that requires Premiere to be shut down. We will attempt to save your current project"
    Yep, that one.  I get it every time I open up Premiere.  The error box reappears after a couple of seconds, then it keeps reappearing and stacking up until I close the program.
    I've done the most recent updates (Vista and Adobe), and spent hours on the net reading and trying different solutions.  To no avail.
    I think this is a pretty common error, no?  But from everything I've read, people get the error using PR mid-program.  For me, I can't even open the program.  After Effects also starts (as a process in Task Manager), but runs in the background.
    I updated MS Office 2007 (big update) and also my NVIDIA drivers (after I started getting this error).
    You can read my recent problem that might help you understand a little bit more about this error on this thread.
    Would upgrading to a Quadro GPU help at all?
    My PC:
    C2D E8400 o'cd @ 3.6GHz
    8GB ram (DDR2 800)
    1TB raid 0 (500GB internal as scratch disk)
    2 512mb 9600GT's in SLi - should I upgrade??  NVIDIA Quadro?
    Vista Ultimate 64-bit

    Thanks, Jim.
    So, (considering my unwillingness to wreck my current setup), would this possibly help my performance:
    OS: (2) 500GB internal SATA's in RAID 0 (as is)
    Scratch Disk: (1) 500GB internal SATA (sort-of as is)
    Media files Disk: (1) 1TB non-'green' internal SATA (new purchase)
    My main question is:  What's the main difference between a Scratch Disk and a Media Files Disk?
    For instance, I have a newly captured clip (let's call it footage.mpeg).  And I have music.mp3 and lotsofpictures.jpg.  So would I store all three of those files on my Media Files Disk, or on the Scratch Disk?  The Scratch Disk was just for rendered files I thought (like when you're working on a project and previewing it?)?  And so is Premiere reading from my Media Files Disk to play footage.mpeg and then using the Scratch Disk to bounce files back and forth?  Sorry if I'm not making ANY sense.
    Is my suggested setup a dumb idea (bad investment)?
    PS - this may be another problem: my Scratch Disk (Hitachi internal 500GB SATA) is an OEM drive shipped as running on SATA I for 'backwards capability' for older mobos.  So, I downloaded the firmware updater from Hitachi and the updater wasn't working (locking up after booting from CD).  I figured it would be fine.  Well, SATA I runs at a much slower speed than SATA II (the new standard).  But I was transferring files to and from the drive and my OS RAID configuration and Vista was reporting over 30MB/s sustained write speed.  Which by the way is not SATA II (also called SATA 3.0Gbit/s).  I think this may be causing some of my performance issues.  What do you think?  Normally, SATA II should run at 300MB/s (so they claim)   SATA 3.0Gbit/s specs

  • Very Strange:  ReferenceError: Error #1065: Variable txtToonName is not defined.

    I have a flash label on a movie clip with its instance name called 'txtToomName'.  This object has existed, been successfully instantiated and used for over a year without any modifications.  All of a sudden, during the getClassByName() call, I start getting an errors.
    The actual error is:
    ReferenceError: Error #1065: Variable txtToonName is not defined.
    at mcToonInformation_Design/__setTab_txtToonName_mcToonInformation_Design_Layer1_0()
    There are other objects on the movieclip, defined as buttons, that were derived from an object in the library that didn't have its linkage set.  This had worked fine up til now where I could define a common object without linkage, create copies of that object on a movie clip and assign an instance name to allow access.
    Once I changed my buttons to be an instance of an object in the library with linkage properties assigned they didn't give me an error.  The problem now is that it doesn't seem to like the Label object which is by default an instance of an object in the library that does have linkage properties set and yet still doesn't like it.
    Anyone have any idea what the heck is going on?  There hasn't been any library changes made or CS5 updates applied since 8/16/2010, the date on flash.exe.
    I am using CS5 ver.11.0.2.489
    Any advise/direction/assistance would be greatly appreciated as this is a show stopper and adds hours upon hours of adjustments to an application that has been running fine for a long time.
    Message was edited by: whornak
    In an attempt to get beyond the previously mentioned error, realizing that it references 'tab', I made the label inaccessible and now receive the following error:
    ReferenceError: Error #1065: Variable txtToonName is not defined.
         at mcToonInformation_Design/__setAcc_txtToonName_mcToonInformation_Design_Layer1_0()

    Upon attempted execution, after changing the setting you requested, the following is what I get.
    ReferenceError: Error #1065: Variable lblCoinQty is not defined.
    at mcToonInformation_Design/__setTab_lblCoinQty_mcToonInformation_Design_Layer1_0()[mcToonIn formation_Design::__setTab_lblCoinQty_mcToonInformation_Design_Layer1_0:1]
    at mcToonInformation_Design()
    at BPBGlobalFunctions$/getCasaMovieClipFromBulkLoader()[D:\Wayne\WizardBrewStudios\BackPackB uddys_Dev\BackPackBuddys_CS5_SFSX2\src\classes\BPBGlobalFunctions.as:167]
    at com.bpb.ui::ToonInformationUI$/loadToonInformationUI()
    at com.bpb::BackPackBuddys/onToonInformationLoadRequest()
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at com.bpb.avatar::ExampleAvatar/onToonClick()
    Cannot display source code at this location.
    Another thing noticed is that the object that flash is having an issue making adjustments to is visible via the Variables window and has the tabindex property.

  • A VERY Strange Eclipse Error

    I have a test class which I am running as an application in Eclipse to test the behavior of another class, MyClass:
    public class TestMyClass {
         public static void main(String[] args) {
              MyClass mc = new MyClass();
              mc.method1();
    }I run the application, method1 behaves as expected. Then I change "method1" to "method2" in the code above, save it, and run again (I have Eclipse set to "build automatically"). method2 does not behave as expected. I then touch ANY OTHER FILE in the project (ie, i make a change, undo the change, and save), and method2 behaves as expected. That is, the project HAS NOT CHANGED AT ALL, yet the behavior changes.
    "Cleaning" the project in after changing method1 to method2 doesn't help either. I have to actually touch one of the files.
    How can this be happening????
    TIA,
    John

    There's something seriously f'd up. For a very rude
    and crude way of getting rid of this:
    1) go to the directory where your project is stored;
    2) throw away anything that starts with a dot, e.g.
    .metadata, .classpath, .project;
    3) throw away all your .class files;
    4) go to the directory where eclipse itself is
    stored;
    5) throw away the 'configuration' directory;
    6) start a newborn eclipse.
    kind regards,
    JosYou forgot: Format your hard drive.
    � {�                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Very simple program error (help)

    Dear group,
    Just wanted to get a number from sdtin and print it. The program shows a compiler error. Help.
    import java.io.*;
    class keys
         public static void main(String args[])
              int a,b;
              System.out.println("enter a number");
              try
                   a = System.in.read(b);
                   System.out.write(a);
              catch(IOException e){
    `               System.out.print("Sorry. can't print.");
    }

    error:
    symbol:cannot resolve sysbol
    location: class java.io.ImputStream
              a = System.in.read(b);but the same function works in this program.
    class keys{
      public static void main (String args[])
          byte name[] = new byte[100];
          int n_read = 0;
          System.out.println("What is your name?");
          try {
            n_read = System.in.read(name);
            System.out.print("Hello ");
            System.out.write(name,0,n_read);
          catch (IOException e) {
            System.out.print("Sorry.  can't catch your name.");
    }

Maybe you are looking for