Know about Project system

Hi, I am basically HR functional consultant. I would like to know about Project systems. Is project systems is for managing the projects like what we do in Microsoft project and primavera.
Could any one give me clear idea about project systems and guide me how the beginner can learn about project system.
Please don't hesitate about my question. I am completely new this topic.
I will appreciate you response.
Many thanks
santhi

Hi,
Pls check things like http://www.sap-img.com/sap-ps.htm
Eddy
PS. Which type of SDN Ubergeek/BPX suit are <a href="/people/eddy.declercq/blog/2007/05/14/which-type-of-sdn-ubergeekbpx-suit-are-you">you</a>?
Deadline: June 15th

Similar Messages

  • What is project systems are related to fico

    hi sap gurus anybody clesrly tell me about  project systems are related to fico   ,  and what are the relations to these sap fico and ps?
    regards
    venkatareddy

    The Project System guarantees close and constant monitoring of all aspects of your project.Projects are generally part of the internal processes of a company.
    There is no orgnization structure of project system like in FI ( Company code), CO ( Controlling Area), Funds management ( FM area).  but it depends upon other.
    Therefore, The high degree of integration between the Project System (PS) and other SAP  application components means that you can plan, execute, and account for projects as part of your normal commercial procedures. This means the Project System has constant access to data in all the departments involved in the project.
    Further, in project system mostly controlling & ligistical is more important.
    Plz assign point as way of thanks

  • Why we use Project system?

    Hello Gurus,
    I would like to know why Project system is use? (in what case we can implement this project system module?pl explain me with example.
    Thanks in advance

    hi,
    another advantage of PS is that it is directly integrated with you FI, MM, HR and other modules you may have..
    PS can be used to schedule, monitor and track projects in terms of schedules and dates etc... but you have also other software you can use for that such as Primavera or even MS Project..
    however with PS, the costs and revenues that you have in the project directly flow into your accounting department and project related reports for management can be obtained..
    also your material requirements for all projects in the company can be centralized for better procurement using MM module..
    and various other advantages with the other SAP modules..
    regards

  • Do you know about external hard drives?

    I have an acer notebook and I would love to be able to play The Sims 2 PC games. And so, someone recommended that I get an external hard drive to play it.
    I was wondering if I would be able to play any PC games on my acer if I had an external hard drive.
    And if so what are my options on external hard drives would be best for me to get?

    Bianca, I agree with starflyer. Playing visualy complex games like that isn't really a function of the size of your hard drive ( though an external HD for a notebook is always prudent investment ) but rather, its a function of the capability of the cpu, the amount of internal memory, and what your graphics platform you have. Most notebooks have "intigrated" graphics built into them and are very limiting when playing demanding games. Graphics cards are one solution, but, I don't know of any notebooks that actually use a separate card for graphics given the size constraints and the severe power and heat demands they can put on a system. I can recommend 3 things : by all means, get a good external hard drive, preferably one that is considered "portable" in your case. Find out how much internal memory you can install and have a knowlegable person install it. Finally, go to www.cpuid.com and download cpu-z, it will tell you everything you ever wanted to know about your system, useful if you want to upgrade.

  • Want to know that any standand Tcode about PC System information ?

    Dear Experts,
                         I Want to know that any standand Tcode about PC System information ?
    ie, a hardware Engineer,System Admin can know a PC system information details like operating system, Processor & mother board, drives, RAM Memory Details, Network etc..
    Thanks..

    Hi Sweta,...
    yes the above ans is correct... you can make a simple report using class interface 'CL_GUI_FRONTEND_SERVICES'
    It will not provide such details that u had asked for, but it gives some very important system info tht can be useful ......such as
    GET_COMPUTER_NAME                          - Get Computer Name
    GET_DESKTOP_DIRECTORY                  - Get Desktop Directory
    GET_DRIVE_FREE_SPACE_MEGABYTE     - Returns Drive's Free Space in MB
    GET_DRIVE_TYPE                                    - Get Drive Type                                                                                 
    GET_FREE_SPACE_FOR_DRIVE          - Returns Free Space on Drive
    GET_GUI_PROPERTIES                               - Returns Stream of GUI Properties
    GET_GUI_VERSION                                         - Returns the Upload/Download Paths
    GET_IP_ADDRESS                                         - Gets IP Address
    GET_PLATFORM                                    - Return Operating System Platform
    GET_SAPGUI_DIRECTORY                            - Gets GUI Start Directory
    GET_SAPLOGON_ENCODING                       - Return to saplogon Codepage
    GET_SYSTEM_DIRECTORY                     - Get System Directory
    GET_TEMP_DIRECTORY                            - Returns the Path to the TEMP Directory
    GET_USER_NAME                                         - Get User Name
    Making report to display this parameters will be very simple task.
    Hope this will be usefull

  • About reversal of Outbound delivery generated from Project system due to sale return

    Hi SAP Expert ,
    We have made delivery from project system using t.code CNS0 and billing document is generated with reference of sales order. Now Goods is return by customer due to some technical reason, We created return sales order with reference of billing document  and Credit memo with reference of Return sales order.
    What is T.code for making return delivery or reversal of  Delivery /PGI generated from Project system in sap r/3 ?
    Pls. suggest to me.
    regards
    VKM

    Hello,
    it depends whether in the billing document the material codes identifies the goods delivered and to be returned or not.
    If it's so, you can create a Return Sales Order with reference to the billing document, create the return delivery, and then the credit memo.
    If it's non so, you can create a Return Sales Order with reference to the billing document (but without copying the material items, and entering manually material code and quantity to be returned), then create the return delivery. Then you can create a Credit memo request with reference to the Billing Document or with reference to the Return Sales Order.
    To create the return delivery, you can run VL01N with reference to the Return Sales Order (just like for outboud deliveries), or from VA02, following the menu path "Sales document --> Deliver".
    Best regards,
    Andrea

  • Project Systems

    Is there a separate forum for Project Systems? Where does PS functional people discuss? I would like to make some changes to a report(12KST1C) which is in project systems. Is there someone to help me? Please advice
    In transaction CJE0 - if I choose this drilldown report 12KST1C - I could see the characteristic Object with hierarchial column selected. My requirement is to also include the cost element, partner object details into the result. Is there anyone who did the same or have idea about this??? please help!!!
    Message was edited by: Thilothama v

    Thanks Saquib. I did post there...Do you think we can include cost element, partner object information in the project structure in any report - drilldown or report painter???? If yo have some ideas, please let me know...
    Thanks
    Thilothama

  • Material To be Valuated in Project System

    Hi All,
    We are implementing PS,MM,SD,FI &CO for a companay which works essentially on engineer to order scenario and using vlauated projec stock & actvity account assigned networks
    Inhouse production is through typical assembly processing process - Where input & output materials are transferred through BOM PS Transfer from WBS BOM.
    Input materials are issued to activity; work performed by work centers are entered by confirmation; at completion of work out put materials is 'Received from activity'. Both material issue and receipt are done wrt reservation.
    When this is done, as per standard process, the cost addition (and hence value addition) is to activity and thereby to WBS element. The output material is not valuated. All the cost(or values) become project value which will reflect in WIP calculation. WIP is calculated as month end process.
    At month end if the company wants to know the current asset from project and relevant stocks:
    = WIP of project + Inventory value of the mmaterials.
    Pl. note that only input materials i.e. raw materials and Bought out materials will have inventory value; the output material will not have any value.
    The process is alright and I think we are alos complying to Accounting stanadard for project system - directive from Institute of Chartered accounts - India.
    This process was first aceeptable to customer; but now they say -  the out put materials should be valuated. So that, when inventory value is taken - it is RM+BO and valuated semifinished +valuaed finished materials
    One big reason they say is that they have to show inventory value to the Banks.
    Now I need clarification in following points
    1. How to valuate the out put material when working only with project system. (apart from using user exit )
    2. If this is done, the project cost/WIP calculations will show ups amd downs - as goods receipt with valuated value will be with sign - this will reduced the cost. This will cause variuos problems - almost no standard SAP PS cost report will reflect the reality - WIP can not go up and down...This is illogical.
    3. Have you faced similar situation in implementation - that - Banks can not be conviced about this PSway of WIP calculation? Taking into consideration that project implementation is in India - an experienced reply can be very helpful
    Thanks and regards
    A.Saravanan

    Dear Pradeep,
    When we work with network/activity/wbs element, Finished material is assigned to activity with sign. This means GR can be done. Technically system treats lke by-product. This material will not be valuated with in put costs...since there is no logic...For our convention, one WBS element, one network or one activity can be used to book all related costs..but still GR will happen with valuation as per valuation variant in NW only. This is quite logical and correct.
    So...customer wants to know the cost of manufacturing a complex project assembly..then process under one WBS element..cost accumuated at that WBS element is cost of mfg. I have kept such finihed material std price at Rs.1. (Ideally it should be '0'.). Meaning material will not valuated.
    Now if customer wants to knwo the cost ...look at WBs element
    If needed, you can do unit costing and update the value in a suitable field in material master.
    Therefore, I have kept all the semifinished/finished material std price at Rs.1.
    This way..std functions of PS like RA, costforecasting are work properly.
    For WIP calculation, this is of standard method and WIP will be current asset of company..this will be acceptable to Banks...one concern I had..cross checked with a Banker.
    Another issue was sub-contracting. In India during S/C..we have Delivery challan and legal requirement of excise. We developed a program integrating dc, excise challan, transfer posting, goods issue against reservation and mateials assigned in activity. For user it will appear as one transcation, and system will propmt/list appropriate excise challan No. based on dc no & material as input...(I hope i remember right).
    Again here GR of seni/finished naterial was atRs.1. since Service cosst, matarial issue cost get booked at activty.
    Thanks and regards
    Saravanan.A

  • Project Systems - Business Content

    Hi,
    We are trying to install Project Systems Business Systems. We are in process of creating technical specs.
    In the help.sap.com or best practices ,There is no detail explanation is available (Source field,source table or logic to get the field).
    Some of the data sources don't have documentation.
    I hope many of you implemented Project Systems.
    Please share your experiences about finding Source fields and tables.
    Please share the documents : [email protected]
    Thank you,
    GSP
    Thank you,
    GSR

    Hi,
    We are searching for project versions(project systems) business content :
    Base tables :
    VSAFVC_CN     Version: Operation in order
    VSAFVV_CN     Version: Quantities/Dates/Values in order operation
    VSAUFK_CN     Version: Order master data
    VSEBAN_CN     Version: Purchase requisition
    VSEBKN_CN     Version: Purchase requisition account assignment
    VSJEST_CN     Version: Individual status per object
    VSJSTO_CN     Version: Information on status object
    VSKBED_CN     Version: Capacity requirement records
    VSKBEZ_CN     Version: Additional data for table KBED (ind. capacities)
    VSKBKO_CN     Version: Capacity requirements header for an order
    VSKOPF     Version: Header - general data for a version -
    VSKPER_CN     Version: Workforce Planning
    VSMLST_CN     Version: Milestone
    VSNPTX_CN     Version: PS texts (network)
    VSPRHI_CN     Version: WBS, edges (hierarchy pointer)
    VSPROJ_CN     Version: Project definition
    VSPRPS_CN     Version: WBS element (work breakdown struc. ele.) mast. data
    VSPRTE_CN     Version: Scheduling data for project item
    VSPRTX_CN     Version: PS texts (WBS)
    VSPSTX_CN     Version: PS texts (header)
    VSRPSCO_CN     Version: Cumulation table for project reporting
    VSSTEU     Version: Control table - one entry per version object -
    I didn't find any relevent business content for above tables.
    If anybody extracted these ,please let me know where and how they extracted.I will assign points.
    Thank you,
    GSR

  • Project System Extraction

    Hi Friends,
    We are going implement Project System in our project.
    I want to know the how the Extarctors will work in the project system.
    Please focus some light on this.......
    Thanks &Regards,
    Anand
    <Moderator Message: Have you ever thought about having a look at [the help|http://help.sap.com]>
    Edited by: Siegfried Szameitat on Aug 16, 2010 11:25 AM

    Hi Bramha,
    the project system Extraction also like FI
    here all datasources in RSA5 we need to Activate from Delivered Version to Active Version
    Theier no deffiernce
    i think you people ane implementing Standeard  Contents
    i will give Imfoproviders and Cubes and Datasources and its Reports
    Multifroviders
    0PS_C051
    ZPS_C061
    Infocubes
    "0PS_C021
    0PS_C041"
    "0PS_C031
    0PS_C041"
    Reports
    0PS_C041_Q0002     Overview Report - Projects
    0PS_C041_Q0005     WBS Element: Costs/Variances
    0PS_C041_Q0009     Hierarchical Project Overview / Settlement
    0PS_C041_Q0008     Hierarchical Project Overview / Residual Order Plan (New)
    0PS_C041_Q0006     Commercial Project Overview
    0PS_C021_Q0002     Technichal Project Overview (New)
    0PS_C061_Q0001     Progress Values / Costs
    0PS_C051_Q0001     Project Overview Report
    i hope .....Helpful for u.
    Regards,
    Mallikarjuna Reddy.

  • CMMS engineer wanting to know about a career in SAP MM

    i'm surya, i'm working as CMMS engineer, my basic qualification is B.Tech (EEE)..
    i would like to know about the career in SAP MM, as i am working for a SAP MM backend process i would like to learn SAP MM module..
    do some one guide me how to choose the best way to get good training and placement..
    thanks in advance
    regards
    surya
    Message was edited by: Colleen Lee - changed to a meaningful title instead of "greetings "

    Firstly thanks for sparing your time..
    Here is a brief explanation of my work experience..
    - CMMS stands for Computerized Maintenance Management System
    - My roles and responsibilities
    Preparation of Project Execution Plan based on Scope of Work
    Review the scope document and acquire the equipment involved in the project
    Preparing the Equipment Master Data from P&ID’s and SLD’s.
    Asset Verification from the Onshore Fields and Collecting the Maintenance Data of all Maintainable Equipment.
    Preparing Equipment Hierarchy by Using Asset Build Software.
    Preparing the Unique BOM (Bill of Material)
    Preparing the SPF (Stock Proposal Form) for the Materials.
    Preparation of RSA (Risk Spare Analysis) reports using SOS tool
    Preparation of Preventive Maintenance (PM) Strategy for Technical Objects
    - I'm a Graduate in Electrical & Electronics Engineering (EEE).
         B.Tech. (Bachelor of Technology)
    - As concerned with SAP, i prepare a Master Database which compiles with our End User QP (Qatar Petroleum ) SAP Database
    - I would like to boost my career with a platform of globalized opportunities, i finally decided that SAP is the right choice.
    - I don't know how to start learning about SAP MM, i tried to search in Google but i found various modules and many people use to say FI is ever demanding, ABAP is the best option, but my intention is that as i have good knowledge in Maintenance Master Data preparation, so learning SAP MM will be a good option to step into SAP Platform... my question was how to start up leaning SAP.. which is the basic module to learn for a better idea on SAP... what is the certification criteria...
    Regards
    Surya

  • Did you know about Flash Cookies?

    I know about regular cookies, and delete them... but had no idea there was such a thing as a Flash Cookie
    Read about 1/2 way down here http://windowssecrets.com/comp/100805

    Rod,
    Since you're a confessed geek with some actual coding chops, I'm sure you'll understand the hair I'm about to split here. Hang on a moment while I grab my axe...
    Even with your page jumps, the cookie isn't doing anything. It's just a text file named after a snack. What's causing your page to jump, browsers to redirect, and the moon to shift its gravitational field three degrees to the north is the code in the web page that's being loaded. True, it may look in the text file to see what IP address to report to, but the connection, handshaking, transfer of data and powering up of lasers are all on your web page (or the server side code being executed on its behalf). The cookie is little more than a poorly dressed informant hanging out on the street corner waiting to pass along tidbits of information when the right person asks. Doesn't exactly make it a savory character (name notwithstanding), but it's a harmless one nonetheless. If it's evil you seek, you'll find it in the web site, not the cookie. And that's why I never understood the religious fervor against cookies.
    Now, if you want a truly dangerous leave behind, at least on Windows, ActiveX controls are your guys. They're really just glorified COM objects, and thus have complete access to the entire Windows API. Give me permission to install an ActiveX control on your machine and I can rewrite your file system, start and stop services, reboot your computer, or just turn the screen a hyperintelligent shade of the color blue because it amuses me. Anything that can be done in Windows programming is essentially available to the ActiveX control.
    Of course, browsers got hip to this years ago, and now the default security settings for ActiveX are to not install automatically, or at least to query the user first. Or, as it's configured on my machine, feel free to install if you can make it past this shotgun pointed at your head. Maybe that's why there's not as much of a flap about ActiveX as there is about cookies. Because they're truly dangerous, the browser community took it seriously.and now only someone with a death wish allows a web page to install an ActiveX component.
    And overall, this is kinda my point. The much maligned cookie gets a bad rap while in truth it's the web page staring you right in the face that's preparing to rob, rape and pillage. But then, misdirection has always been a classic tactic in warfare.

  • I am getting messages that I can't download and read .pdf files since I have the wrong Adobe reader. I know about their security disasters of course, but I downloaded the latest version of Adobe Reader from the Adobe web site and I have other ,pdf file re

    I am getting messages that I can't download and read .pdf files since I have the wrong Adobe reader. I know about their security disasters of course, but I downloaded the latest version of Adobe Reader from the Adobe web site and I have other ,pdf file readers as well, and for some reason they won't work either. I have 5 computers running top end processors and RAM. By this I mean I have one, this one which I am using that has an AMD Phenom Black 3.2 Quad-core with 8 GBs of Corsair top DDR2 RAM, my other two AMD have either an Athlon II triple core with 4 GBs of DDR2 Corsair RAM, one with the Phenom X4 965 3.4 GHz Quad-core with 8 GBs of their best DDR2 RAM, and two Intels with the i7 920 Processors using the triple channel 1366 socket processors and one with 8 GBs of low latency DDR3 RAM and the other with 4 GBs of the same RAM. I am getting the message on this one, which has a fresh install of XP Pro X64 operating system, as do the other 4 as well. I have run Avast Business Pro Anti-virus on this one, which I am getting the message on with a single result which I deleted, and also both Spybot Search and Destroy, which came back clean as well as Malwarebytes Antimalware, which got a lot of tracing cookies now removed, and SuperAntiSpware which also found a few cookies also now deleted. Can you tell me what I need to do to get these files to show as .pdf files rather than as a clean blank page. One other issue is that I wish to know how to turn off my downloads so they are saved and Mozilla will give me the option of returning them instead of me losing them all together as it does now. Thanks for your assistance. If there is another Adobe reader I should download and install, could you provide me with the link to it? I appreciate your assistance here
    == When I download and try to read a .pdf file and when I am asked to turn off all Firefox files and if I do, I lose them since I need to know how to save them without rebooting my computer.

    Brilliant! Problem solved! Thanks so much.

  • Sales order in Project system

    Hi All,
    Can u tell me please how can we create  a sales order,Quotation in projects and what are tcodes for that.
    As i am here involved in Capital projects i dont have any idea of customer projects ican u pleease let me know the customizing part too.
    Assured of rewarsd points
    Thanks in Advance.
    Regards,
    Abraham.S

    Hi,
    to create quote from project system there is quite a bit of PS ( project system ) SD integration is required. i will try my best to deliver with whatever time i have right now.
    1. t-code -CKCM - your will define easy cost planning here whihc will be your pricing factor in in sales order.
    2. ODP1- you define DIP profile here you will also define your costing elements here. this DIP profile is attached to sales doc type. and on main menu you will find button that says quotation. click on that. this willd irectly take you to quote and from there u can take it forward.
    I hope it helps u little. Though i know its not enough.

  • What every developer should know about character encoding

    This was originally posted (with better formatting) at Moderator edit: link removed/what-every-developer-should-know-about-character-encoding.html. I'm posting because lots of people trip over this.
    If you write code that touches a text file, you probably need this.
    Lets start off with two key items
    1.Unicode does not solve this issue for us (yet).
    2.Every text file is encoded. There is no such thing as an unencoded file or a "general" encoding.
    And lets add a codacil to this – most Americans can get by without having to take this in to account – most of the time. Because the characters for the first 127 bytes in the vast majority of encoding schemes map to the same set of characters (more accurately called glyphs). And because we only use A-Z without any other characters, accents, etc. – we're good to go. But the second you use those same assumptions in an HTML or XML file that has characters outside the first 127 – then the trouble starts.
    The computer industry started with diskspace and memory at a premium. Anyone who suggested using 2 bytes for each character instead of one would have been laughed at. In fact we're lucky that the byte worked best as 8 bits or we might have had fewer than 256 bits for each character. There of course were numerous charactersets (or codepages) developed early on. But we ended up with most everyone using a standard set of codepages where the first 127 bytes were identical on all and the second were unique to each set. There were sets for America/Western Europe, Central Europe, Russia, etc.
    And then for Asia, because 256 characters were not enough, some of the range 128 – 255 had what was called DBCS (double byte character sets). For each value of a first byte (in these higher ranges), the second byte then identified one of 256 characters. This gave a total of 128 * 256 additional characters. It was a hack, but it kept memory use to a minimum. Chinese, Japanese, and Korean each have their own DBCS codepage.
    And for awhile this worked well. Operating systems, applications, etc. mostly were set to use a specified code page. But then the internet came along. A website in America using an XML file from Greece to display data to a user browsing in Russia, where each is entering data based on their country – that broke the paradigm.
    Fast forward to today. The two file formats where we can explain this the best, and where everyone trips over it, is HTML and XML. Every HTML and XML file can optionally have the character encoding set in it's header metadata. If it's not set, then most programs assume it is UTF-8, but that is not a standard and not universally followed. If the encoding is not specified and the program reading the file guess wrong – the file will be misread.
    Point 1 – Never treat specifying the encoding as optional when writing a file. Always write it to the file. Always. Even if you are willing to swear that the file will never have characters out of the range 1 – 127.
    Now lets' look at UTF-8 because as the standard and the way it works, it gets people into a lot of trouble. UTF-8 was popular for two reasons. First it matched the standard codepages for the first 127 characters and so most existing HTML and XML would match it. Second, it was designed to use as few bytes as possible which mattered a lot back when it was designed and many people were still using dial-up modems.
    UTF-8 borrowed from the DBCS designs from the Asian codepages. The first 128 bytes are all single byte representations of characters. Then for the next most common set, it uses a block in the second 128 bytes to be a double byte sequence giving us more characters. But wait, there's more. For the less common there's a first byte which leads to a sersies of second bytes. Those then each lead to a third byte and those three bytes define the character. This goes up to 6 byte sequences. Using the MBCS (multi-byte character set) you can write the equivilent of every unicode character. And assuming what you are writing is not a list of seldom used Chinese characters, do it in fewer bytes.
    But here is what everyone trips over – they have an HTML or XML file, it works fine, and they open it up in a text editor. They then add a character that in their text editor, using the codepage for their region, insert a character like ß and save the file. Of course it must be correct – their text editor shows it correctly. But feed it to any program that reads according to the encoding and that is now the first character fo a 2 byte sequence. You either get a different character or if the second byte is not a legal value for that first byte – an error.
    Point 2 – Always create HTML and XML in a program that writes it out correctly using the encode. If you must create with a text editor, then view the final file in a browser.
    Now, what about when the code you are writing will read or write a file? We are not talking binary/data files where you write it out in your own format, but files that are considered text files. Java, .NET, etc all have character encoders. The purpose of these encoders is to translate between a sequence of bytes (the file) and the characters they represent. Lets take what is actually a very difficlut example – your source code, be it C#, Java, etc. These are still by and large "plain old text files" with no encoding hints. So how do programs handle them? Many assume they use the local code page. Many others assume that all characters will be in the range 0 – 127 and will choke on anything else.
    Here's a key point about these text files – every program is still using an encoding. It may not be setting it in code, but by definition an encoding is being used.
    Point 3 – Always set the encoding when you read and write text files. Not just for HTML & XML, but even for files like source code. It's fine if you set it to use the default codepage, but set the encoding.
    Point 4 – Use the most complete encoder possible. You can write your own XML as a text file encoded for UTF-8. But if you write it using an XML encoder, then it will include the encoding in the meta data and you can't get it wrong. (it also adds the endian preamble to the file.)
    Ok, you're reading & writing files correctly but what about inside your code. What there? This is where it's easy – unicode. That's what those encoders created in the Java & .NET runtime are designed to do. You read in and get unicode. You write unicode and get an encoded file. That's why the char type is 16 bits and is a unique core type that is for characters. This you probably have right because languages today don't give you much choice in the matter.
    Point 5 – (For developers on languages that have been around awhile) – Always use unicode internally. In C++ this is called wide chars (or something similar). Don't get clever to save a couple of bytes, memory is cheap and you have more important things to do.
    Wrapping it up
    I think there are two key items to keep in mind here. First, make sure you are taking the encoding in to account on text files. Second, this is actually all very easy and straightforward. People rarely screw up how to use an encoding, it's when they ignore the issue that they get in to trouble.
    Edited by: Darryl Burke -- link removed

    DavidThi808 wrote:
    This was originally posted (with better formatting) at Moderator edit: link removed/what-every-developer-should-know-about-character-encoding.html. I'm posting because lots of people trip over this.
    If you write code that touches a text file, you probably need this.
    Lets start off with two key items
    1.Unicode does not solve this issue for us (yet).
    2.Every text file is encoded. There is no such thing as an unencoded file or a "general" encoding.
    And lets add a codacil to this – most Americans can get by without having to take this in to account – most of the time. Because the characters for the first 127 bytes in the vast majority of encoding schemes map to the same set of characters (more accurately called glyphs). And because we only use A-Z without any other characters, accents, etc. – we're good to go. But the second you use those same assumptions in an HTML or XML file that has characters outside the first 127 – then the trouble starts. Pretty sure most Americans do not use character sets that only have a range of 0-127. I don't think I have every used a desktop OS that did. I might have used some big iron boxes before that but at that time I wasn't even aware that character sets existed.
    They might only use that range but that is a different issue, especially since that range is exactly the same as the UTF8 character set anyways.
    >
    The computer industry started with diskspace and memory at a premium. Anyone who suggested using 2 bytes for each character instead of one would have been laughed at. In fact we're lucky that the byte worked best as 8 bits or we might have had fewer than 256 bits for each character. There of course were numerous charactersets (or codepages) developed early on. But we ended up with most everyone using a standard set of codepages where the first 127 bytes were identical on all and the second were unique to each set. There were sets for America/Western Europe, Central Europe, Russia, etc.
    And then for Asia, because 256 characters were not enough, some of the range 128 – 255 had what was called DBCS (double byte character sets). For each value of a first byte (in these higher ranges), the second byte then identified one of 256 characters. This gave a total of 128 * 256 additional characters. It was a hack, but it kept memory use to a minimum. Chinese, Japanese, and Korean each have their own DBCS codepage.
    And for awhile this worked well. Operating systems, applications, etc. mostly were set to use a specified code page. But then the internet came along. A website in America using an XML file from Greece to display data to a user browsing in Russia, where each is entering data based on their country – that broke the paradigm.
    The above is only true for small volume sets. If I am targeting a processing rate of 2000 txns/sec with a requirement to hold data active for seven years then a column with a size of 8 bytes is significantly different than one with 16 bytes.
    Fast forward to today. The two file formats where we can explain this the best, and where everyone trips over it, is HTML and XML. Every HTML and XML file can optionally have the character encoding set in it's header metadata. If it's not set, then most programs assume it is UTF-8, but that is not a standard and not universally followed. If the encoding is not specified and the program reading the file guess wrong – the file will be misread.
    The above is out of place. It would be best to address this as part of Point 1.
    Point 1 – Never treat specifying the encoding as optional when writing a file. Always write it to the file. Always. Even if you are willing to swear that the file will never have characters out of the range 1 – 127.
    Now lets' look at UTF-8 because as the standard and the way it works, it gets people into a lot of trouble. UTF-8 was popular for two reasons. First it matched the standard codepages for the first 127 characters and so most existing HTML and XML would match it. Second, it was designed to use as few bytes as possible which mattered a lot back when it was designed and many people were still using dial-up modems.
    UTF-8 borrowed from the DBCS designs from the Asian codepages. The first 128 bytes are all single byte representations of characters. Then for the next most common set, it uses a block in the second 128 bytes to be a double byte sequence giving us more characters. But wait, there's more. For the less common there's a first byte which leads to a sersies of second bytes. Those then each lead to a third byte and those three bytes define the character. This goes up to 6 byte sequences. Using the MBCS (multi-byte character set) you can write the equivilent of every unicode character. And assuming what you are writing is not a list of seldom used Chinese characters, do it in fewer bytes.
    The first part of that paragraph is odd. The first 128 characters of unicode, all unicode, is based on ASCII. The representational format of UTF8 is required to implement unicode, thus it must represent those characters. It uses the idiom supported by variable width encodings to do that.
    But here is what everyone trips over – they have an HTML or XML file, it works fine, and they open it up in a text editor. They then add a character that in their text editor, using the codepage for their region, insert a character like ß and save the file. Of course it must be correct – their text editor shows it correctly. But feed it to any program that reads according to the encoding and that is now the first character fo a 2 byte sequence. You either get a different character or if the second byte is not a legal value for that first byte – an error.
    Not sure what you are saying here. If a file is supposed to be in one encoding and you insert invalid characters into it then it invalid. End of story. It has nothing to do with html/xml.
    Point 2 – Always create HTML and XML in a program that writes it out correctly using the encode. If you must create with a text editor, then view the final file in a browser.
    The browser still needs to support the encoding.
    Now, what about when the code you are writing will read or write a file? We are not talking binary/data files where you write it out in your own format, but files that are considered text files. Java, .NET, etc all have character encoders. The purpose of these encoders is to translate between a sequence of bytes (the file) and the characters they represent. Lets take what is actually a very difficlut example – your source code, be it C#, Java, etc. These are still by and large "plain old text files" with no encoding hints. So how do programs handle them? Many assume they use the local code page. Many others assume that all characters will be in the range 0 – 127 and will choke on anything else.
    I know java files have a default encoding - the specification defines it. And I am certain C# does as well.
    Point 3 – Always set the encoding when you read and write text files. Not just for HTML & XML, but even for files like source code. It's fine if you set it to use the default codepage, but set the encoding.
    It is important to define it. Whether you set it is another matter.
    Point 4 – Use the most complete encoder possible. You can write your own XML as a text file encoded for UTF-8. But if you write it using an XML encoder, then it will include the encoding in the meta data and you can't get it wrong. (it also adds the endian preamble to the file.)
    Ok, you're reading & writing files correctly but what about inside your code. What there? This is where it's easy – unicode. That's what those encoders created in the Java & .NET runtime are designed to do. You read in and get unicode. You write unicode and get an encoded file. That's why the char type is 16 bits and is a unique core type that is for characters. This you probably have right because languages today don't give you much choice in the matter.
    Unicode character escapes are replaced prior to actual code compilation. Thus it is possible to create strings in java with escaped unicode characters which will fail to compile.
    Point 5 – (For developers on languages that have been around awhile) – Always use unicode internally. In C++ this is called wide chars (or something similar). Don't get clever to save a couple of bytes, memory is cheap and you have more important things to do.
    No. A developer should understand the problem domain represented by the requirements and the business and create solutions that appropriate to that. Thus there is absolutely no point for someone that is creating an inventory system for a stand alone store to craft a solution that supports multiple languages.
    And another example is with high volume systems moving/storing bytes is relevant. As such one must carefully consider each text element as to whether it is customer consumable or internally consumable. Saving bytes in such cases will impact the total load of the system. In such systems incremental savings impact operating costs and marketing advantage with speed.

Maybe you are looking for

  • Can't play a podcast in Safari on iPad or iPhone

    I have always been able to play podcasts from my website on my iPad and iPhone but this week I get the play icon with a circle/slash through it.  The podcast plays in iTunes and in Safari on my Macbook pro and in the app associated with my organizati

  • How to display smartform output?

    Hi,    Can anybody give me some hint on how to display a smartform output containing tables and texts in a bsp?? I have searched the forum but since I am new to bsp,I am not finding a caompact solution by following which I can get the idea. Please he

  • Documents and media files on separate drive

    How do I set up my MacPro so my documents and media files (iTunes library, iPhoto library, Movies) are on a separate drive from my system/startup drive?

  • Wi-Fi Channels 12 & 13

    Equipment:     Macbook Pro 17" Lion 10.7.3 (Also tested on Macbook Pro 13" Snow Leopard 10.6.8) Major Bug!!!:     Airport Extreme Card (Broadcom) will _not_ connect to Channels 12 or 13 I live in an apartment that has about 8 other routers throughout

  • TextArea - Adobe ActionScript 3 (AS3 Flash) API Reference

    This question was posted in response to the following article: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/fl/controls/TextArea.ht ml