BDOC Count

Hello,
Is there a way that we can know the number of BDOCs (Type: BUS_TRANS_MSG) generated for a particular document/order type ?
Any input is much appreciated.
Regards
Krishna

Hi,
normally,
if you update in a document in CRM online:
1 mbdoc bus_trans_msg & 1 outbound sbdoc (if you are using MSA) salesdoc_gen.
If you submit a document in MSA & perform the conntrans:
1 inbound sbdoc, a notification mbdoc (possibly also a validation mbdoc) and an outbound sbdoc.
--> It's possible that the SUBMIT was deactivated for the specific process type (or not used): if this is the case, then you'll get a lot more inbound sbdocs.
if you update the document in R/3:
1 validation mbdoc, a notification mbdoc and the outbound sbdoc.
This is not always the case for all flows and depending on replication & realignment you might get more sbdocs. Of course, if you intervene in the coding and commit before the online save, you might get more online mbdocs.
Michael.

Similar Messages

  • How to find total number of records in a BDoc?

    Dear all,
    I have replicated about BP 1088 records from ISU into CRM system with block size 100. Technically on SMW01, for each successfully processed BDoc, there will be 100 records (corresponds to 100 block size). But due to some failed BDocs, not all "successfully" BDocs will have 100 records each, some may have only 1 record inside...or 30...or 88 for example. So, may i know how to find or is there a report i can look into to find the total number of records clearly shown for each of the successfully processed green status BDocs???
    Please help and points will be rewards!!
    Thank You
    Best Regards,
    CK

    I am just showing this to show how to get the rowcount along with the cursor, if the program has so much gap of between verifying the count(*) and opening the cursor.
    Justin actually covered this, he said, oracle has to spend some resources to build this functionality. As it is not most often required, it does not makes much sence to see it as a built-in feature. However, if we must see the rowcount when we open the cursor, here is a way, but it is little bit expensive.
    SQL> create table emp_crap as select * from emp where 1 = 2;
    Table created.
    SQL> declare
      2   v_cnt     number := 0;
      3   zero_rows         exception;
      4  begin
      5    for rec in (select * from (select rownum rn, e.ename from emp_crap e) order by 1 desc)
      6     loop
      7        if v_cnt = 0 then
      8           v_cnt := rec.rn;
      9        end if;
    10     end loop;
    11     if v_cnt = 0 then
    12        raise zero_rows;
    13     end if;
    14   exception
    15    when zero_rows then
    16      dbms_output.put_line('No rows');
    17   end;
    18  /
    No rows
    PL/SQL procedure successfully completed.
    -- Now, let us use the table, which has the data
    SQL> declare
      2   v_cnt     number := 0;
      3   zero_rows         exception;
      4  begin
      5    for rec in (select * from
      6          (select rownum rn, e.ename from emp e)
      7          order by 1 desc)
      8     loop
      9        if v_cnt = 0 then
    10           v_cnt := rec.rn;
    11           dbms_output.put_line(v_cnt);
    12        end if;
    13     end loop;
    14     if v_cnt = 0 then
    15        raise zero_rows;
    16     end if;
    17   exception
    18    when zero_rows then
    19      dbms_output.put_line('No rows');
    20   end;
    21  /
    14
    PL/SQL procedure successfully completed.Thx,
    Sri

  • Error in layouts for custom bdoc's

    Hi All,
      we are using some custom bdoc's to generate the layouts ( document generate) for the MSA.
    for the custom bdoc the getrecordset() method is throwing error in the following code of layoutSQLStatement business object. Kindly let us know for a custom bdoc do we have to create a query and associate it here in this method. As I dont know VB Im unable to code the application
    TransactionID and segment fields are returning the correct result and the error is occuring at
    StartObjectTransaction = MyLE.GetRecordset , After executing this statement
    Start ObjectTransaction is not giving any result.
    Public Function StartObjectTransaction() As Object
      Dim ImpObj As Object
      Dim ValueArr() As Object
      Dim KeyArr() As Object
       Dim MyLE As ListEngine
           Dim i As Short
            Dim fl As Field
    Method  : StartObjectTransaction
    '  Date    : 08.03.1999
    '  Purpose :  !!!!! Please insert !!!!!
    On Error GoTo ErrorHandler
    If ((_unwind(ImportListCol.Count) > 0)) Then
    ReDim ValueArr((_unwind(ImportListCol.Count) - 1))
      ReDim KeyArr((_unwind(ImportListCol.Count) - 1))
    End If
    MyLE = BusinessRootObject.BusinessFactory.CreateListEngine()
    MyLE.TransactionName = TransactionId
    MyLE.SegmentName = SegmentName
      ImportListCol.Count()
    i = 0
    For Each ImpObj In ImportListCol
    ValueArr(i) = _unwind(ImpObj.GetValue())
    ' >> #1 (OldCode/NewCode)
    ' KeyArr(i) = ImpObj.GetKey()
    KeyArr(i) = _unwind(ImpObj.GetReal())
    ' << #1
       i = (i + 1)
    Next
      If ((_unwind(ImportListCol.Count) > 0))
    Then
       MyLE.SetFilterParameters(KeyArr, ValueArr)
    End If
    StartObjectTransaction = MyLE.GetRecordset
      For Each fl In StartObjectTransaction.Fields
    ' >> #2 (OldCode/NewCode)
    ' if fl.type = 128 or fl.type = 130 then ' memo fields
    Set StartObjectTransaction = BusinessRootObject.BusinessFactory.CreateBusinessQuery("BSEXPSELMAIN").ExpertQuery(StartObjectTransaction.Source)
                ' end if
      If (_unwind(fl.DefinedSize) < 0) Then
            StartObjectTransaction = BusinessRootObject.BusinessFactory.CreateBusinessQuery("BSEXPSELMAIN").ExpertQuery(StartObjectTransaction.Source)
         Exit Function
      End If
           Next
    'Dim MessageParam(1)
      'MessageParam(0) = ""
    'BusinessRootObject.RaiseErrorEx 14805, "TEXTGEN", False, MessageParam, MessageParam
            Exit Function
    ErrorHandler:
            'MsgBox("Error in StartObjectTransaction. Error : " & Err.Description)
            BusinessRootObject.RaiseError(4, "LAY", BlErrorTypeEnum.ES_ERROR)

    Hi Wolfhard,
           Thanks for the immediate response, I have checked the SQL Profiler and here are the results of my findings.
    I have copied a standard bdoc to a zbdoc (didnot add any code/business query in the MAS), Synchronized the bdoc and in this method the zbdoc is again failing its not executing any where clauses in the bdoc.
    Added some additional fields in the standard bdoc, again the bdoc failed and the new fields are not reflected in the query analyzer.
    Kindly suggest if Im missing something, we are on 5.0SP11

  • Bdoc task M - Function like in SQL?

    Hi,
    can anyone tell me, what the bdoc task M = modify does? Does it act like the SQL task on a database?
    If for example a bupa_rel has task M and should change a relationship that does not exist, would it create a new one?
    Best Regards
    Chris
    Edited by: Wiliam C. Haltenhoff on Feb 20, 2008 4:18 PM

    This appears to be a duplicate of the question in this thread
    Re: VPD issue Need Assistance ASAP
    where I wrote
    "Your function returns a single string that happens to have a bunch of commas and quotes in it. An IN list generally requires a list of strings, which your function doesn't return.
    You could rewrite the function to be a pipelined table function and then do
    select count(*)
    from baseclient.address_detail
    where cidn in (SELECT cidn
    FROM TABLE(<<your pipelined table function>>))
    However, I would expect it to be easier not to wrap all this into a function and just have your IN clause be the logic in your predicate_cidn cursor.
    Justin
    "

  • BDocs stay yellow - status I02 Written to qRFC Queue (intermediate state)

    We upgraded our system from SAP CRM 7.0 EHP3 SP3 to SP4.
    Now all the BDocs in smw01 stay yellow. I can manually reprocess them, then they become green. There is no error message and there are no dumps in st22.
    The CSA* queues are registered. The scheduler says "inactive" (and briefly goes to active when saving a business partner, product or transaction, as it should).
    The CSA* queues relevant for each "stuck" business partner, transaction or product is in status "STOP".
    There's a note, 1593693 - BDoc's in state I02, but it doesn't help. We don't have a problem with the number or load of the RFC processes (as far as I can tell), there is very little going on on the system, right now I am the only one logged on) and the queues are not in status READY, either.
    MW_CHECK says "All post-processing steps are done."
    GENSTATUS counts 0 errors or waiting.
    MW_MODE is on, of course.
    smw3_00 is empty (which it was before the SP installation, too).
    The CRM is not connected to an ERP system, it sends búsiness partner and transactional data via the XIF adapter (via web services). Which, up to now, worked just fine.

    I was given the solution: Use transaction smq2, search for CSA*, click on the queue, click the unlock button. That worked.

  • Order of delivery schedule line counter at schedule agreements from MRP run

    Currently we are using schedule agreements for our long term external suppliers, but we are facing a problem with the order of new delivery schedule lines created during MRP run.
    Because of master data settings like, lot size, rounding value, plan delivery time and planning time fence to set as firm new requirements, multiple schedule lines are created with no order for schedule line counter.
    Does anyone is aware of a BADI, user exit or customizing control to have this schedule line counter in order?
    Thank you
    Daniel Guillen
    IT
    Skyworks Inc.

    Hi,
    Pls put this query in SD fourms  and get immly help because this is technical fourms.
    Anil

  • Help Counting Vowels and Consonants using a class

    I'm currently working on a class project where I need take a user inputed string and count how many vowels and/or consonants are in the String at the user discretion. I have the main logic program working fine. However, the trouble I'm running into is how to take the string the user inputed and pass that data into the class method for counting.
    Here is the code for the program:
    package vowelsandconsonants;
    import java.util.Scanner;
    public class VowelConsCounter {
        public static void main(String[] args) {
            String input; //User input
            char selection; //Menu selection
            //Create a Scanner object for keyboard input.
            Scanner keyboard = new Scanner(System.in);
            //Get the string to start out with.
            System.out.print("Enter a string: ");
            input = keyboard.nextLine();
            //Create a VowelCons object.
            VowelCons vc = new VowelCons(input);
            do {
                // Display the menu and get the user's selection.
                selection = getMenuSelection();
                // Act on the selection
                switch (Character.toLowerCase(selection)) {
                    case 'a':
                        System.out.println("\nNumber of Vowels: " +
                                vc.getNumVowels());
                        break;
                    case 'b':
                        System.out.println("\nNumber of consonats: " +
                                vc.getNumConsonants());
                        break;
                    case 'c':
                        System.out.println("\nNumber of Vowels: " +
                                vc.getNumVowels());
                        System.out.println("Number of consonants: " +
                                vc.getNumConsonants());
                        break;
                    case 'd':
                        System.out.print("Enter a string: ");
                        input = keyboard.nextLine();
                        vc = new VowelCons(input);
            } while (Character.toLowerCase(selection) != 'e');
         * The getMenuSelection method displays the menu and gets the user's choice.
        public static char getMenuSelection() {
            String input;  //To hold keyboard input
            char selection;  // The user's selection
            //Create a Scanner object for keyboard input.
            Scanner keyboard = new Scanner(System.in);
            //Display the menu.
            System.out.println("a) Count the number of vowels in the string.");
            System.out.println("b) Count the number of consonants in the string.");
            System.out.println("c) Count both the vowels and consonants in the string.");
            System.out.println("d) Enter another string.");
            System.out.println("e) Exit the program.");
            //Get the user's selection
            input = keyboard.nextLine();
            selection = input.charAt(0);
            //Validate the input
            while (Character.toLowerCase(selection) < 'a' ||
                    Character.toLowerCase(selection) > 'e') {
                System.out.print("Only enter a,b,c,d or e:");
                input = keyboard.nextLine();
                selection = input.charAt(0);
            return selection;
    class VowelCons {
        private char[] vowels;
        private char[] consonants;
        private int numVowels = 0;
        private int numCons = 0;
        public VowelCons(String str) {
        public int getNumVowels() {
            return numVowels;
        public int getNumConsonants() {
            return numCons;
        private void countVowelsAndCons() {
            for (int i = 0; i < total; i++) {
                char ch = inputString.charAt(i);
                if ((ch == 'a') || (ch == 'A') || (ch == 'e') || (ch == 'E') || (ch == 'i') || (ch == 'I') || (ch == 'o') || (ch == 'O') || (ch == 'u') || (ch == 'U')) {
                    numVowels++;
                } else if (Character.isLetter(ch)) {
                    numCons++;
    }The UML given to me by my instructor calls for the counting method to be private. Being that I'm not too familiar with Java syntax I did not know if that may cause a problem with passing the user's input into that method.

    Well the only compilers i get are due to the code:
    private void countVowelsAndCons() {
            for (int i = 0; i < total; i++) {
                char ch = inputString.charAt(i);
                if ((ch == 'a') || (ch == 'A') || (ch == 'e') || (ch == 'E') || (ch == 'i') || (ch == 'I') || (ch == 'o') || (ch == 'O') || (ch == 'u') || (ch == 'U')) {
                    numVowels++;
                } else if (Character.isLetter(ch)) {
                    numCons++;
        }However, that is due to the fact that i have no data for those variables to use. I'm pretty much stuck on how to get the string the user inputs into that method shown above so the code can perform the task of counting the vowels and consonants.
    If i comment out the code within that function the program compiles and will allow me to enter the string and use the options but since i can't figure out how to pass the input to the counting method the program returns 0 for everything.

  • How to count number of Characteristics' with the same value?

    Hello, Everybody,
    In InfoCube I have data:
    person ID (characteristic), points (key figure), gendre (characteristic), org.unit (characteristic)
    1313; 10; F;5001
    1313; 10; M;5001
    1313; 12; F;5001
    1313; 6; M;5001
    1515;20;F;5001
    Report,  with data from this InfoCube, should look like this:
    org.unit/number of employees, 6 points, 10 points, 12 points, 20 points
    5001, 1, 2, 1, 1
    Could you give me a suggestion how I can count the number of employees?
    Thanks in advance!
    Best Regards,
    Arunas Stonys

    Arunas,
    you can crate 4 CKF one each for employee points, and in each of the CKY have a data function value =1 if <your condition is satisfied>. This way the CKY will have a value of 1 if point is 6 for the first CKY and similarly for the rest and use exception aggregation based on person ID to count the no. of employees with that particular point in the Org unit. Use org unit in the rows and these 4 CKY in the columns and you should be able to get the report.
    hope this helps.
    Regards,
    Aashish
    Edited by: Aashish Kalra on Jan 6, 2009 12:31 AM

  • After using "consolidate library" to move my media to a NAS the items counts do not match.  How do I find what is different the easiest way??

    I wanted to move my itunes media on my imac to a NAS drive.  I used the advance preferences to change the folder to the folder on the NAS.  I then went to the "organize library" setting to consolidate.
    When I compare the two folders, the music folders are different (807 items in the old to 798 items in the new), mobile applications are different (143 in the old to 153 in the new), Movies are different (321 items in the old, 324 in the new).
    I think I already had the entire folder organized the way itunes wanted it.  I'm not sure why the count would increase or to easily make sure I'm not missing any info.
    Any suggestions?
    Thanks.

    Actually, a little off on the situation as I originally described.
    Compared the old items counts to the new item counts:
    1. The music folder increased in item counts.
    2.  Books is identical.
    3.  Mobile apps decreased by 10 on the new.
    4.  Movies decreased by 3.

  • Increase counter frequency performanc​e

    Hello,
    I want to increase the frequency performance for my period counter. I'm using a USB-6210 board and I have the vi that is attached - period measurement.
    The problem is that I want to measure the period for a 8MHz signal (I know that is a lot, I would be happy even with 4MHz). The source freq for the counter is 80Hz. If the frequency is high, the accuracy is not very critical for me.
    1. I get most of the time the error: "Buffer overwritten". I've seen that I can get rid of it if I decrease the frequency, but I don't want to do that . I think that another solution would be to increase the number of points that are read. I noticed that the maximum buffer size is around 9000 points (I've read it with DAQmxRead Property Node).
    2. Another fact that I've noticed is that in the While loop where I'm doing the Data Reading I should have no other operations or delay. Is this true, or just a coincidence?
    3. There is a strange behavior: if I start the acquisition and I have at the input high frequency, I get the error (Buffer overwritten) almost instant. If I start acquisition at low freq I can increase it even at high freq.
    4. There is another strange behavior: if the input frequency is high the frequency and the measured period increase and decrease togheter. I think that this is caused by alias. Where can I find some more information about the board limits?
     If you can give me some other advice/hints/links/pdfs I would be very thanksful.
    Maybe there are some small mistakes in the VI. I made it only to get a feeling of what I'm doing. I didn't chek it with the hardware.
    Regards,
    Paul
    Attachments:
    example.vi ‏32 KB

    Paul,
    I  have added some comments to your answer.
    Regards,
    Jochen 
    KPanda wrote:
    Jochen,
    thanks for this information. This was what I was looking for some while.
    I still have a question related to this topic: I've read that the maximum size of FIFO is 1024 samples. What does it mean?
    [JK:] The FIFO is the hardware buffer on the board. In general the PCI-bus or the USB should have enough bandwidth to transfer the data as fast as they are acquired by the device, but in fact there are sometimes some latencies that require some local memory on the board. That's what is called FIFO in this context.
    This FIFO is the same with the: Available Samples Pro Channel from Read Property node?
    [JK:]  No. This value refers to the buffer in the PC's memory that is allocated for the acquisition operation.
    I've noticed that when the value for this property is passing 9000 I get the error with Overwritten Buffer. If it is like this why do I reach more than 9000 samples pro channel? Please take a look at the attachement (test1.png - screenshoot with the values / speed_test_x - the VI that I used for this measurement).
    [JK:] The buffer size is not limited to 9000 values. NI-DAQmx allocates memory automatically by default. If you like you can increase the buffer size manually.
    Which is the relation between maximum numbers of sample that can be read with the Counter 1D Read NSamples? In my VI there are N=250 samples. Can I increase it in order to avoid the error? If yes, which should be the maximum limit, 1024 ?
     [JK:] You can increase the number of values to read up to the size of the buffer (not of the FIFO). A reasonable value is up to 50% of the buffer size, but this is not a strict rule. Anything between 10% and 90% could make sense, depending on the timing requirements of your application.
    Paul
    PS: I've hope that I translated the LabView terms in the right way. I have my LabView in german (but I don't know german, so it is a nightmare for me )

  • Jython error while updating a oracle table based on file count

    Hi,
    i have jython procedure for counting counting records in a flat file
    Here is the code(took from odiexperts) modified and am getting errors, somebody take a look and let me know what is the sql exception in this code
    COMMAND on target: Jython
    Command on source : Oracle --and specified the logical schema
    Without connecting to the database using the jdbc connection i can see the output successfully, but i want to update the oracle table with count. any help is greatly appreciated
    ---------------------------------Error-----------------------------
    org.apache.bsf.BSFException: exception from Jython:
    Traceback (innermost last):
    File "<string>", line 45, in ?
    java.sql.SQLException: ORA-00936: missing expression
    ---------------------------------------Code--------------------------------------------------
    import java.sql.Connection
    import java.sql.Statement
    import java.sql.DriverManager
    import java.sql.ResultSet
    import java.sql.ResultSetMetaData
    import os
    import string
    import java.sql as sql
    import java.lang as lang
    import re
    filesrc = open('c:\mm\xyz.csv','r')
    first=filesrc.readline()
    lines = 0
    while first:
    #get the no of lines in the file
    lines += 1
    first=filesrc.readline()
    #print lines
    ## THE ABOVE PART OF THE PROGRAM IS TO COUNT THE NUMBER OF LINES
    ## AND STORE IT INTO THE VARIABLE `LINES `
    def intWithCommas(x):
    if type(x) not in [type(0), type(0L)]:
    raise TypeError("Parameter must be an integer.")
    if x < 0:
    return '-' + intWithCommas(-x)
    result = ''
    while x >= 1000:
    x, r = divmod(x, 1000)
    result = ",%03d%s" % (r, result)
    return "%d%s" % (x, result)
    ## THE ABOVE PROGRAM IS TO DISPLAY THE NUMBERS
    sourceConnection = odiRef.getJDBCConnection("SRC")
    sqlstring = sourceConnection.createStatement()
    sqlstmt="update tab1 set tot_coll_amt = to_number( "#lines ") where load_audit_key=418507"
    sqlstring.executeQuery(sqlstmt)
    sourceConnection.close()
    s0=' \n\nThe Number of Lines in the File are ->> '
    s1=str(intWithCommas(lines))
    s2=' \n\nand the First Line of the File is ->> '
    filesrc.seek(0)
    s3=str(filesrc.readline())
    final=s0 + s1 + s2 + s3
    filesrc.close()
    raise final

    i changed as you adviced ankit
    am getting the following error now
    org.apache.bsf.BSFException: exception from Jython:
    Traceback (innermost last):
    File "<string>", line 37, in ?
    java.sql.SQLException: ORA-00911: invalid character
    here is the modified code
    sourceConnection = odiRef.getJDBCConnection("SRC")
    sqlstring = sourceConnection.createStatement()
    sqlstmt="update tab1 set tot_coll_amt = to_number('#lines') where load_audit_key=418507;"
    result=sqlstring.executeUpdate(sqlstmt)
    sourceConnection.close()
    Any ideas
    Edited by: Sunny on Dec 3, 2010 1:04 PM

  • Read Only Display of Radio group and Text area with counter not working

    Hello,
    I am using Apex 3.2, with 10g for the database
    I have this form, with fields that will set to read only when status = 'closed'
    All of the fields display as read only except for 2. I cannot figure out why this is not working correctly.
    1st field is Issues that is a text area with character counter, with a sql query behind it, that is set to null unless the query is pulling in the data.
    2nd field is Status which is a radio group that will not display as read only when status = 'closed'
    I have other fields on the form with the same format and they change to read only when the status = 'closed', I have even copied the pl/sql expression from one field to these fields and it still doesn't work correctly. I have also tried javascript for an on load event, which works, but once I click on the save button, it disables all of the page items, which works correctly, but I purposely forget to enter information, to make sure the validations are firing correctly, which it does, but the script disables everything, not allowing me to correct the errors. The javascript is firing on the on page load event.
    Any help on this is greatly appreciated.
    Mary

    Dung,
    That API seems to have a bug, it returns true/false/null, so you could use 'return not nvl(htmldb_util.current_user_in_group(p_group_name => 'APP Admin'),false)' to get a false value.
    Unfortunately there's another problem: using the read-only attributes for checkbox or radiogroup item makes them hidden. My suggestion would be to create another item that has disabled="disabled" in the HTML Form Element attribute in the item definition and display that item or the non-disabled item alternately, using conditions based on the current_user_in_group logic.
    Scott

  • How do I get my data counter back on my home page

    How do I get my widget for data counter on my home screen

    Depending on the phone you have, the widget will either be in the widgets section of your app drawer, or you'll long-press an empty space on your home screen and then see the widgets folder at the bottom of the screen.  Once you're in the widgets folder, find the widget, long-press it, and drag it to where you want it on the home screen, then let go.

  • I had to install a new hard drive because my old hard drives boot files became corrupted, and i want to get all of my music files off the old hard drive and regain all my play counts/ratings/playlists

    Greetings everyone
    as the title says, ive had to install a new hard drive  and i want to transfer my old itunes library onto the new drive, maintaining all playlists/play counts/ratings etc, album artwork if possible. The old hard drive is installed as a slave drive and is completely acessible, but due to the boot files being corrupted i cannot use it as the main drive and therefore operate my old itunes. Also, my ipod no longer contains my music library as itunes synced without my permission and wiped it.
    The only thing i have tried is copying all of my old music files from the old drive by selecting 'add folder to library' and then the old drive, then replacing the new itunes library.itl file with the one from my old itunes. This restores all my playlists and playcounts but when i try to play any of the songs it says that the files could not be found, and i dont fancy locating  8500 music files individually!
    Thankyou for taking the time to read my post, any help will be greatly appreciated.

    Ah, my reply was based on the assumption that you had a default installation of iTunes.
    i.e you had all your music in the iTunes media folder inside your iTunes folder.
    If your iTunes folder is so small compared to the amount of music you have, you must have a different arrangement.
    This complicates you situation considerably.
    iTunes can cope with moving around as long as all the music is in the iTunes media folder, not not if it isn't.
    Your first step should be to get iTunes working on the old drive. This will involve editing the xml library file so that the drive letter is correct and then rebuilding the library from the xml file.
    Then you will need to consolidate your library which moves everything into the iTunes media fodler. After that you will be able to use my first suggestion.
    Step 1
    Find the iTunes folder on the old drive and copy the two library files somewhere else so you can find them again. That's iTunes Library.itl and iTunes Library.xml.
    Now open the copy of iTunes Library.xml with WordPad.
    Look for lines starting:
    Location
    These contain the paths to tracks.
    You will need to use a find/replace to change the drive letter so that it is correct.
    Make sure that you include enough in the "find" so that you only change the right thing.
    Maybe /c:/ and replace with /d:/ or whatever.
    After that, tell iTunes to use the library on the old drive with a shift key start.
    Hold down the shift key and start iTunes, keep holding the shift key until you are prompted to choose a library. Navigate to the iTunes folder on the old drive and choose iTunes Library.itl.
    Then use the method in the following article to rebuild your library;
    http://support.apple.com/kb/HT1451
    Unfortunately the date added will be today for all tracks.
    If iTunes works correctly after this, consolidate your library
    File>>Library>>Organize>>consolidate
    This copies all tracks into to iTunes media folder and could create a problem if you do not have disk space so don't do it if you are unsure about free disk space.
    Check that iTunes works OK and then use the first method.
    Message was edited by: polydorus

  • Counting files in a folder and showing results in an alert window.

    Hello all.
    I would like to get the script to count the number of files in a selected folder.
    I have a UI where there are browse, ok and cancel buttons.
    I wanted the OK button to show the number of jpeg files in the selected folder. If no folder is selected, and the OK button is pressed, it would prompt the user to select a folder before pressing the OK button.
    Thanks!

    all you need to learn scripting is in the "JavaScript Tools Guide", you're making some progress but reading that and following the samples will make things clear and speed the learning proccess up.
    if you look at your code there's only one function, it is called when the Browse button is clicked. See how it is constructed and write another similar function for the Ok button, in there read the contents of the label box and create a folder with that path, then call the function to read the files.
    dlg.Panel1.okBtn.onClick = function (){
       selectedFolder = new Folder(decodeURI(dlg.Panel1.Path.text));
       if (selectedFolder.exists)
            doSomething (selectedFolder);
       else
            alert("select a folder first...");
    dlg.center(); //center dialog box on screen
    dlg.show(); //show dialog box
    function doSomething(folder)
            files = folder.getFiles();
            alert(files.length + " Files in selected Folder");
            alert(files);

Maybe you are looking for