Char pointers and scanf()

Hello. More questions about pointers coming:
If I have the following code:
char * userName;
printf("%s", "Enter your name: ");
scanf("%s", userName);
printf("%s", userName);
This codes asks the user for his/her name and reads the input, then it prints the name to output. However, with the code above, I get the debugger after I enter my name and press Enter.
I'm aware that if I changed the first line from a char pointer to a char array then this code would work fine -- but I'd like to understand why this is the case.
I'm sure it's possible that some concept related to the cause of this problem has been covered in one of my previous posts on pointers, but I skimmed through them and couldn't find anything that I could recognize as applicable (although I'm sure it was there somewhere). Could anyone please help me understand why scanf() doesn't work with the char pointer -- why it would work fine with a character array and not with the character pointer?
Thank you for your help.

RayNewb:
That said, I don't expect you to grok the concept of memory maps and memory management from what I wrote. These are big topics which are far more important than any one language or machine. The questions you've raised in this thread go to the basics of "What is a Computer?" and "How do Computers Work".
As much as I love to teach in this forum, and as much as I hope this forum is a place where people feel comfortable asking basic questions, if you want to understand these concepts, it's now time for you to enroll in a class. You need the basics of what a computer actually is, and then, if you really want to understand what you're asking in this thread, you will find the answer in a class on Assembly Language.
You're going to make everyone crazy if you keep nibbling at these concepts, one C statement at a time. These threads never really end, though mercifully you've chosen to close a few after 20 or 30 responses. If you keep flailing away, I and everyone else here will try our best, but you're wasting your own time by trying to deal with this kind of question in a forum.
You know it's funny you said this, because I just came to this conclusion myself over the the course of this thread. You mentioned that most students will simply accept that this works like this and that works like that and what not -- I've never been like that, as I'm sure you've been able to tell. I always have to keep digging until I'm confident that I've reach a point where there is nothing else to be found by continuing, and you're right -- that's not fair to all you guys around here -- that's not what you're here for, and I get that.
The thing is, I've got all these books on C, right, and they start teaching a concept on pointers or something and, naturally, it leaves some question open, and given my nature, I can't rightfully continue until I know the answer to that question. Of course, that question raises another, and then another, and another -- each deeper into the core of things until I reach a point where, as you said, I'm not even really learning C any more. I think it just took me digging this far down to realize that.
Anyways, I was about to say this in my post anyways, and reading what you said was a timely confirmation of that, so -- I will try to stick to questions that are either basic or, if not, then at least specific to something, instead of asking for general information on deeper issues such as these. I always feel like I have to keep learning until I know everything about a certain something, and right now that something is C, so, in that sense, telling me that what we are talking about is beyond C provided good closure for me in not worrying about the details of this stuff.
As far as the classes go, I think you're right on. I hadn't even considered that as an option. To me, learning something means cracking open a library of books on the subject and teaching myself -- even with college classes, I always take online courses where I end up doing the bulk of the work myself out of a text book.
Anyways, with all that aside, thanks for responding, Ray. I'm sorry to have had you thinking on this one that much. I guess I'm so novice with this stuff that part of me figures that this is just child's play for you guys, but I don't want any unreasonable amount of time spent answering my questions, so if a question is beyond any reasonable boundaries in the future, if it's not something that can reasonably be answered on these forums, then just tell me so -- I won't be offended.
In terms of pointers/arrays and scanf(), your post was definitely helpful to me -- in particular the paragraph that started with "the answer is that the address stored in userName is random..." I think your post (in combination with the other guys') gave me enough of an answer for me to rest in peace on this one. Thanks, Ray.
Bob:
I like your analogies, and they aren't bad ones at all. The concept of arrays and pointers in general is one that I actually do understand, but the analogy certainly didn't hurt to help cement those concepts into place, and it was particularly helpful in applying those concepts to the issue at hand (with scanf), so thank you for that.
The paragraph beginning with "scanf() wants a character array to store stuff into" was very enlightening in how simple it was. That may have been the general answer I was looking for. Thanks for your posts, Bob.
etresoft:
Thanks for the explanations. The only question left that I would have is, given your explanation about how anything before the semicolon is an initialization, then what about if you put the assignment on a separate line, like:
char * pChar;
pChar = "Tron";
You mentioned, though, the "address of a string literal in memory" and that made me remember something I read, that string literals are taken and stored at their own address (or something like that), so when you assign a string literal to something you are actually assigning the address of a string literal to it, so that might answer my question. In either case, I'm not worried about it, I'm going to close this thread out, but thank you for all your responses in this thread -- they were very helpful.

Similar Messages

  • Trying to learn pointers and structs, getting stuck (C)

    Hello. I've been reading along in the K&R (2nd ed, ofc!) and my aim is to make a simple blackjack clone as my first game. It's supposed to run in the terminal and have simple keystrokes for actions. I'm stuck on building the initial deck and a debug function to test and ensure the deck is built properly. What I have so far is in the following paste:
    http://sprunge.us/JUMS?c
    Understand that I'm sort of flailing about in my understanding of pointers and how they interact with structs. As far as I can tell, there are two ways to do this; with pointers and with array subscription. I'd prefer the latter if possible since it would be easier to understand, but I'd like to learn both. The problem I'm getting is that my deck isn't being built properly, which makes the test_deck() function return a few bogus cards and then a bunch of zeros (if it doesn't segfault!)
    Any help would be great.

    struct card nd;
    struct card *pnd;
    int suits;
    pnd = &nd;
    pnd++;
    nd = *pnd;
    Not good. "nd" is *one* instance of the struct, and "pnd" points to that. Incrementing "pnd" points it to a memory location after the end of the 'array' (which is only one element long). This is why it's segfaulting.
    Here are two ways to do it, one using pointers and one using array indices (pointers in disguise). Both return a pointer to the deck (as it's an array), so the rest of your code will need to be slightly modified:
    struct card* create_deck (void)
    struct card* nd = (struct card*) malloc (sizeof (struct card) * 52);
    struct card *pnd;
    int suits;
    pnd = nd;
    for (suits = 1; suits <= 4; suits++) {
    int n;
    for (n = 1; n <= 13; n++) {
    switch(suits) {
    case 1:
    pnd->suit = 'h';
    break;
    case 2:
    pnd->suit = 'd';
    break;
    case 3:
    pnd->suit = 'c';
    break;
    case 4:
    pnd->suit = 's';
    break;
    pnd->value = n;
    pnd++;
    return nd;
    struct card* create_deck (void)
    struct card *nd = (struct card*) malloc (sizeof (struct card) * 52);
    int suits, n, i;
    i = 0;
    for (suits = 1; suits <= 4; suits++) {
    for (n = 1; n <= 13; n++) {
    switch(suits) {
    case 1:
    nd[i].suit = 'h';
    break;
    case 2:
    nd[i].suit = 'd';
    break;
    case 3:
    nd[i].suit = 'c';
    break;
    case 4:
    nd[i].suit = 's';
    break;
    nd[i].value = n;
    i++;
    return nd;
    edit: Of course, you will also need to free the returned value at some point.
    Last edited by Barrucadu (2011-01-25 18:11:17)

  • Link between documentation for chars value and chars

    Hi,
    we need to find out sap transaction or report for link between documentation of chars value and chars.
    we know for specific chars through CT04 and going to VALUES sub-tab then selecting perticular chars value and clicking on the documentation for value.

    Go to transaction CT10 and select display option 'Allowed values'. You will have the characteristics along with their values.

  • Regd. change pointers and notifications

    Hi,
    The question might sound a little too broad.
    But bear with me...Just give me a brief overview,
    of how do I go about using change pointers....
    Just correct me if I am wrong.
    We create a change document object in the system, or use an existing one. About pointers I am not sure.
    Then, through SPRO and ALE we activate the change pointer for some message type. then....??

    Hi,
    I haven't done this in a while, so please check my answer!
    1) You activate change pointers in general in one transaction (I think it was BD61, but I'm not sure)
    2) Then you activate them for certain master data (i. e. material, customer, ...) in another transaction which I don't recall atm.
    3) Every time one of those master data objects is changed, the system generates a "change pointer", which you can basically just think of as an entry in a transparent table, which includes the type and key of your master data object (such as e. g. the material number).
    4) You plan a background job which will go through those change pointers and which will generate a master IDoc (e. g. MATMASxx) for this data object. The change pointers are then reset (i. e. every item will only be sent once).
    5) Depending on your ALE customization this master IDoc will be sent to a remote system.
    You can refine this scenario using quite a bunch of different techniques. One of them is filtering (e. g. only materials with a certain material group, or based on classification etc.). Other options are reducing the Master IDoc, e. g. sending only relevant data instead of the whole master IDoc. There are even a few customer exits, if that doesn't suffice.
    Hope that helps (please reward me if it does)!
    Regards, Joerg

  • Change pointers and RFC

    Hi All,
    Is it possible to implement change pointers without creating idocs, but with only RFC's.
    Actaully i am goign through aproject document which says the interfaces are implemented using change pointers and BADI's.I was in a understandign that there would be idocs created to communicate the master data changes to other systems.
    But one of the person who involved in the interface development said that there are no idocs related involved related to the interfaces, its all RFC's enabled.
    Can anyone please let me know if change pointers can also be implemented using RFC.
    Thanks in advcane.

    Hi,
    this is described sufficiently in SAPHELP - in a nutshell:
    Changepointers - as the name says - point at changes (change documents). Therefore the creation is together with change documents (at the end of FM CHANGEDOCUMENT_CLOSE.
    Chane pointers are created for ALE message types (tcode WE81). This does not mean, that any ALE message has to follow - there might be another subsequent action.
    Writing of CP must be enabled with BD50. With BD52 the tables/fields are customized. Precondition is, that the data element of the table field is enabled for change documents and that change documents are created. BADI
    BDCP_BEFORE_WRITE allows further refinement (or any other action triggerd by the change). Note that both - change documents and CP - are created in update task - so you have to activate update debugging to see it in debug.
    Storage of CP is in table BDCP2 (since release 7.00 former releases use BDCP and BDCPS). Read pointers with FM CHANGE_POINTERS_READ and set them to processed with CHANGE_POINTERS_STATUS_WRITE. If more than aprox. 1 Mio. pointers are read an overflow may occur - use CHANGE_POINTERS_READ_MODE_SET to set an appropriate block size and CHANGE_POINTERS_READ_INFO_GET to stirr the further processing. All FM are documented sufficiently.
    Have fun!
    hp
    Edited by: Holger Pakirnus on Sep 14, 2011 3:58 PM

  • Change Pointers and Recovery Index

    Hi,
    Please give me any more details/docs/links about the Recovery index,indexing and Change Pointers.
    Is there any configuration needs to be done for change pointers and indexing.
    Regards,
    Krishna

    hi,
    can you provide some more details.
    which change pointers (and (reduced) message typesdo you mean?
    regards,
    Ralf

  • Idoc Conversion rule, Change pointers and Filters

    Hi Experts,
        Please any one can help me out, i need material or clear picture about Idoc Conversion rule, Change pointers and Filters where we can use these concepts what is the befit for these concepts.
    Thanks in advance,
    Ramesh.

    Hi,
    Check this link. It has got some of the tutorials you are looking for.
    http://www.****************/Tutorials/ALE/ALEMainPage.htm
    Cheers
    VJ

  • Char(1) and varchar2(1)

    Can some one tell me the major difference between CHAR(1) and VARCHAR2(1), I need to use flag column of 1 byte.
    Which is best for use

    adam wrote:
    at the same time almost never marking a question as resolved
    I am not satisfied the given answers that is the reason for unmarked the answer.If i get the right answer i should mark as the right answer.
    you should know one thing i am not expert in oracle database .....
    what is mean by doc questions ?
    "doc questions" (short for "documentation questions) are questions that can easily be answered by consulting the docs (documentation)
    Learning how to look things up in the documentation is time well spent investing in your career. To that end, you should drop everything else you are doing and do the following:
    Go to tahiti.oracle.com.
    Drill down to your product and version.
    <b><i><u>BOOKMARK THAT LOCATION</u></i></b>
    Spend a few minutes just getting familiar with what is available here. Take special note of the "books" and "search" tabs. Under the "books" tab you will find the complete documentation library.
    Spend a few minutes just getting familiar with what <b><i><u>kind</u></i></b> of documentation is available there by simply browsing the titles under the "Books" tab.
    Open the Reference Manual and spend a few minutes looking through the table of contents to get familiar with what <b><i><u>kind</u></i></b> of information is available there.
    Do the same with the SQL Reference Manual.
    Do the same with the Utilities manual.
    You don't have to read the above in depth. They are <b><i><u>reference</b></i></u> manuals. Just get familiar with <b><i><u>what</b></i></u> is there to <b><i><u>be</b></i></u> referenced. Ninety percent of the questions asked on this forum can be answered in less than 5 minutes by simply searching one of the above manuals.
    Then set yourself a plan to dig deeper.
    - Read a chapter a day from the Concepts Manual.
    - Take a look in your alert log. One of the first things listed at startup is the initialization parms with non-default values. Read up on each one of them (listed in your alert log) in the Reference Manual.
    - Take a look at your listener.ora, tnsnames.ora, and sqlnet.ora files. Go to the Network Administrators manual and read up on everything you see in those files.
    - When you have finished reading the Concepts Manual, do it again.
    Give a man a fish and he eats for a day. Teach a man to fish and he eats for a lifetime.
    Edited by: adam on Aug 31, 2012 4:03 AM
    Edited by: adam on Aug 31, 2012 4:45 AM

  • Char, varchar and varchar2

    What is the difference between char, varchar and varchar2 ???

    Apart from reading the documentation where it's clearly available.
    In short:
    char : fixed length strings (strings are auto right padded with spaces to the specified size)
    varchar : reserved for future use (although presently acts the same as varchar2)
    varchar2 : variable length strings

  • How to skip 3 chars when use "scanf from string" by the parameter "format string" ?

    hi, I want to read a num 123 from the string like that "sfg123" "fgd123" "ghj123"
    I know that I can use "%3s" to skip 3 chars, but it will add an output to "scanf from string"
    So, how to use parameter "format string" not only to skip 3 chars, but also add no output to the "scanf from string"
    Solved!
    Go to Solution.
    Attachments:
    1.JPG ‏15 KB

    Hi Chenyin,
    Try this VI....
    I think... This is what you are expecting....
    <<Kudos are welcome>>
    ELECTRO SAM
    For God so loved the world that he gave his one and only Son, that whoever believes in him shall not perish but have eternal life.
    - John 3:16

  • POSTing escpaded char data and &'s??

    I'm trying to send data via a CGI POST request but I'm running into to a couple problems.
    First, a portion of the data comes from static strings within my code that have double quotes within the strings. I escape the quotes with a backslash but the backslash is showing up within the POST data within my PHP script. If I simply display the data that PHP sees it looks exactly like the static strings, backslashes and all. This is how I'm trying to accomplish the post currently:
    URL lurl_bene;
    HttpURLConnection lcon_bene;
    BufferedReader in;
    PrintWriter out;
    lurl_bene = new URL("http://192.168.100.5/cgi-bin/sync.php");
    lcon_bene = (HttpURLConnection)lurl_bene.openConnection();
    lcon_bene.setDoOutput(true);
    lcon_bene.setRequestMethod("POST");
    out = new PrintWriter(lcon_bene.getOutputStream());
    out.write("sync=" + lsb_xml.toString()); // lsb_xml is a preconstructed string buffer
    I've tried outputting the string to standard out and writing it out to a file and neither of them display the backslahses.
    Secondly, The POST data stops as soon as it hits an &. I don't know if this is Java or PHP but if I print the contents of the POST variable within PHP it contains everything up to, but not including the first ampersand. I tried creating a simple html form try to send the data with a browser and the ampersands go through just fine. Do the browsers automatically escape the ampersands within the data you are sending?
    Thanks in advance
    - Frustrated

    First of all, I know nothing about CGI or PHP. Secondly, I'm no expert at Java (I want to cover my bases here).
    That said, I believe that using \" will force Java to use the char '"', there will never be any record of a \ being used. If you were to get the bytes of the String, and go through one by one, you would never find the char code for \.
    So, I guess it would have to be something to do with the PHP script.
    Second, I've never heard of java choking on a & in a string. But the easiest way to find out is to test it yourself. Get it to print out a & in the same context you wanted PHP to (or perhaps the same String) and see if Java handles it. I strongly suspect it will. So again (sorry) I'm gonna have to point the finger at PHP.
    Anyway, this is all speculation, and I only post because no one else has.
    Good luck,
    Radish21

  • How to changing char. values and create new lines in C_TH_DATA

    Hi experts,
    we need to distribute the cost of some sender costcenters to the corresponding receiver costcenters.
    We have already created a DSO and maintained this with the sender and receiver costcenter. We use this lookup table later in the execute method of our created planning function type to take the sender costcenter and distribute this to the corresponding receiver costcenters.
    I've already implemented an IP planning function based on planning function type for this process.
    At the end when I debug the method I see that this works fine. I give you an example:
    I have in my lookup table the following record:
    sender costcenter           receiver costcenter            distribution percent
    4711                                    4712                                    75
    4711                                    4713                                    25
    Based on those records in the lookup table I've to distribute the cost of sender costcenter to the receiver costcenters.
    Just imagine I would get this record from c_th_data:
    sender costcenter    costelement     value
           4711                 3000111         100
    I have to have the following result after running the exit planning function:
       costcenter    costelement     value
           4711                 3000111         100                   -> without changing
           4711                 8000111        -100
           4712                 8000111           75
           4713                 8000111           25
    When I debug the exit function I see in the execute method that c_th_data will be filled correctly. I see exactly the records that I want to see.
    But once the function is finished I don't see this result. I also checked the conversation
    Changing Char Value in IP C_TH_DATA
    but I can't understand what happens after my coding yet.
    Can anyone help me or give me an advice what could be the problem here?
    Thank you all in advance for your support.
    Kind regards,
    Ali

    Hi Ali,
    The planning function generates the records in delta mode. I am explaining the concept taking your example only:
    Records in cube before running PF:
    sender costcenter           receiver costcenter            distribution percent
    4711                                    4712                                    75
    4711                                    4713                                    25
    sender costcenter    costelement     value
           4711                 3000111         100
           4712                 3000111         100
           4713                 3000111         100
    The records that you need to generate from code(Previous ones need to be changed):
    sender costcenter    costelement     value
           4711                 3000111         000
           4712                 3000111         175
           4713                 3000111         125
    **Please note that you dont need to generate any corrections(delta records), you only need to generate the final values in the records and the PF will generate the delta's on its own. Also in this case you should see 3 Records Read, 0 Deleted, 3 Changed.
    Please let me know if you need any more clarification,
    Thanks,
    Puneet

  • (Oracle 8 and 9) UTF16 char stream and OCIStmtPrepare

    Hi,
    I am using Oracle 8.1.7 on windows (should soon use Oracle 9.2) and Oracle 10g on MacosX.
    I have an UTF16 strings in buffers containing SQL commands (like Create tables, or insert, ...) . some of the string contains some real weird characters (such as euro currency sign).
    I want to call OCIStmtPrepare then OCIStmtExecute, like I do usually with basic ascii C-strings.
    My concern is that I cannot figure out what is expected in the CONST text * argument of OCIStmtPrepare, I mean how should I encode the sql commands to have it accept the command ?
    Does anybody know what is the encoding that we are supposed to provide with Oracle 8.1.7 and Oracle 9.2? is there any parameter somewhere ?
    Thanks for your help.
    cd

    Hi,
    Thanks, but this is not of a great help.
    I am not speaking about type casting (I also discovered that text is actually a unsigned char type), nu my concern is about encoding
    Within unsigned char string, you can encode the same string differently : take the e acute char, it wont be encoded the same way in utf8, in iso-8859-1, etc...
    Just take a look at the "Character encoding" of your web browser, if it is a modern one like Firefox, and you'll where my concen is.
    thanks for answering,
    cd

  • Simple question on C pointers and Strings

    I get a bus error dereferencing a pointer to a string.
    I am trting to change the first character of a string. I have an example of the code below. If I print *s as a character (%c) I get 'T', I am simply trying to change the character 'T' to 'X'.
    #include <stdio.h>
    main () {
    char *s = "Test";
    *s='X';
    printf("s: %s\n", s);
    What is wrong here?
    Thanks,
    Erik

    Steve - thanks for the explanation - which led me to go back and re-read K&R and on page 104 in section 5.5 (2nd ed) I see that I was only declaring a string constant. The book (K&R) is a tough read, there are a lot of subtle points in the text .
    Your explaination was simply great - very clear.
    On another point, in 'Practical C' the O'Reilly book by Steve Oualline, he gave an example similar to the one that I did. But I could not get it to work. I found that both statments failed. On page 191 (3rd ed) he shows:
    char *const name_ptr = "Test";
    name_ptr = "New"; /* Illegal (name_ptr is constant) */
    *name_ptr = 'B'; /* Legal (*name_ptr is a char) */
    Seeing this and some other code snipets in other books I came to the understanding that individual characters could be changed in a string simply by dereferencing the pointer at the appropriate point in the string and then assigning the new character that I wanted. By appropriate point I mean treating a pointer like an array *name_ptr++ for example.
    Thanks to your explanation and running a number of code examples, I realize that what I missed or the books failed to show, is that before changing a string pointer (if declared as a 'string constant') that you need to first create an array of memory and then assign that array to a char *, before attempting to change any character in the string.
    Again thanks to you and to all that replied. Every reply was helpful.
    Erik

  • Change pointers and Idoc creation

    Hello,
    I would like to create change pointers for any changes regarding one of our customer infotypes: 9002 (hrp9002)
    I was able to do that, however, I'm struggeling with the details.
    The problem is that I do not want to send any data related to infotype 9002. I just need this change pointer to trigger idoc creation for the related objects.
    Example: Let's assume that infotype 9002 gets created for position S 40001234. Once a night a customer report is executed via a job which reads all unprocessed change pointers (including the one mentioned above) and sends the corresponding object. In this case, an Idoc for the holder of position 40001234 should be created WITHOUT data for infotype 9002.
    The message type is HRMD_A.
    What do I need to do?
    Thank you for your input.

    Hi,
    For Info type 9002 we need to implement Badi HRALE00CHANGE_PTRS using below code.
       LOOP AT  t_changed_objects  INTO   wa_changed_objects .
        CASE  wa_changed_objects-infty.
          WHEN '9002'.
            wa_cp_data-tabname = 'HROBJINFTY'.
            wa_changed_objects-plvar = '01' .
            wa_cp_data-tabkey  = wa_changed_objects .
            wa_cp_data-cdchgid = 'U'.
    *  wa_cp_data-CDOBJCL = 'HRMD_A'.
            APPEND wa_cp_data TO t_cp_data1 .
        ENDCASE.
      ENDLOOP.
      IF t_cp_data1 IS NOT INITIAL .
        CALL FUNCTION 'CHANGE_POINTERS_CREATE_DIRECT'
          EXPORTING
            message_type          = 'HRMD_A'
          TABLES
            t_cp_data             = t_cp_data1
          EXCEPTIONS
            number_range_problems = 1
            OTHERS                = 2.
        IF sy-subrc <> 0.
    * Implement suitable error handling here
        ENDIF.
      ENDIF.
    This code will create entry in BDCP2 table.
    After thsi populating segemnet you need to code for below exit as .
    EXIT_SAPLRHAL_003
       IF PNNNN_NAME = 'P9002' .
    *FIELD-SYMBOLS: <FS_plog> TYPE ANY.   "Field Symbol for dynamic filling of data based on the structure
    *Clearing the SUBRC
    CLEAR SUBRC.
    * fill workarea for infotype with infotype-data
    ASSIGN pnnnn_data TO <FS_plog> CASTING TYPE P9002.
    LS_9002 = <FS_plog>.
    * move fields
    MOVE-CORRESPONDING LS_9002 TO LS_p9002.
    * fill IDoc-data with workarea for segmenttype
    ASSIGN sdata_data TO <FS_plog> CASTING TYPE Z1P9002.
    <FS_plog> = LS_P9002.
    CONVERTED = ZCDP_IF_CONSTANTS_DTIRIS=>GC_CROSS .
    ENDIF.
    It will work fine.
    Thanks
    Anju

Maybe you are looking for

  • Bridge Web Gallery Photos Not Loading

    Just upgraded from CS4 to CS6.  I had been using the Create Web Photo Album command in CS4 which of course is no longer available. So, opened Bridge and created an HTML Web Gallery.  The HTML Gallery looks great and when I open it with DW locally it

  • Ipod classic 80gb video podcasts problem

    i have a 80gb ipod classic and when i try to watch video podcasts on it, it will play for about 4 minutes and then either quit playing it or will restart the iPod all together. i have restored my ipod in itunes 7 & 8, and both did nothing to help thi

  • Item level PO Release in ECC 6.0

    Hi All, It is possible to configure item level release strategy for PO  ? I am sure it is not possible till version 4.7 and you please advise whether it is possible with ECC 6.0 . If so, can you please explain how can this be configured. Gobinathan G

  • Problems with the handling

    I've got the itunes 5.0. My list is sorted alphabetical, but the "the beatles" (for example) are sorted in under "t" and not "b". How can I handle this?

  • Very urjent sales order type discription

    Hi Experts, Which table i will get sales order type(AUART) discription filed. Thanks in advance. Thanks, Manisha.