Logic behind string to integer typecasting..

hi fourm,
i'm siva. i learnt typecasting in java. but i'm still wondering how the string to integer typecasting works, what is the logic behind this casting. somebody please help me out...
Advance thanking
siva

    public static int parseInt(String s) throws NumberFormatException {
     return parseInt(s,10);
    public static int parseInt(String s, int radix)
          throws NumberFormatException
        if (s == null) {
            throw new NumberFormatException("null");
     if (radix < Character.MIN_RADIX) {
         throw new NumberFormatException("radix " + radix +
                             " less than Character.MIN_RADIX");
     if (radix > Character.MAX_RADIX) {
         throw new NumberFormatException("radix " + radix +
                             " greater than Character.MAX_RADIX");
     int result = 0;
     boolean negative = false;
     int i = 0, max = s.length();
     int limit;
     int multmin;
     int digit;
     if (max > 0) {
         if (s.charAt(0) == '-') {
          negative = true;
          limit = Integer.MIN_VALUE;
          i++;
         } else {
          limit = -Integer.MAX_VALUE;
         multmin = limit / radix;
         if (i < max) {
          digit = Character.digit(s.charAt(i++),radix);
          if (digit < 0) {
              throw NumberFormatException.forInputString(s);
          } else {
              result = -digit;
         while (i < max) {
          // Accumulating negatively avoids surprises near MAX_VALUE
          digit = Character.digit(s.charAt(i++),radix);
          if (digit < 0) {
              throw NumberFormatException.forInputString(s);
          if (result < multmin) {
              throw NumberFormatException.forInputString(s);
          result *= radix;
          if (result < limit + digit) {
              throw NumberFormatException.forInputString(s);
          result -= digit;
     } else {
         throw NumberFormatException.forInputString(s);
     if (negative) {
         if (i > 1) {
          return result;
         } else {     /* Only got "-" */
          throw NumberFormatException.forInputString(s);
     } else {
         return -result;
    }Now where is the missing "logic".

Similar Messages

  • Typecasting string to integer. need help

    Hi,
    I have the following statement which returns a String but i need to convert to an integer .
    properties.getProperty("MAXWIDTH");
    Can i do it this way,
    int width = (Integer) properties.getProperty("MAXWIDTH");
    But it gives me error stating that it cannot convert string to integer.
    Please help
    Purnima

    That's because the value returned from the
    getProperty() method is a String. You can convert it
    to an int, like this:int width =
    Integer.parseInt(properties.getProperty("MAXWIDTH"));[
    /code]oh so simple thanks
    Purnima

  • Append String to Integer

    Hi Guys,
    I am trying to append a String to Integer like this;
    String areacode = 020;
    Integer phone_no = 21354214;
    Integer full = areacode && phone_no;My problem is how to join the two datatypes to a single Integer value. Do anyone know how to go about this?
    B

    sabre150 wrote:
    Skotty wrote:
    Without debating the logic of doing such a thing...
    Concatenate them as Strings, then convert that String back to an Integer.Your are on the top floor of the Eiffel Tower and a man is trying to climb over the safety netting but having trouble climbing the netting. You ask him why he is doing this and he says he has to get down to the ground as soon as possible but he has an irrational fear of lifts. Do you help him climb the safety netting or do you advise him that this is not a good idea and try to stop him?I get him to use my camera to take my picture.

  • Extending logic behind a checkbox in iRecruitment external candidate page.

    Hi All,
    We have a requirement to extend the logic behind the check box in Irecruitment external page (AplOtherInfoPG). The logic is buit in a AM (IrcCandidatePersonalAcountAM). Its a root AM for the page AplOtherInfoPG and its referred from many other pages too. I have extended this AM using following steps
    1. FTP all the files from $JAVA_TOP/oracle/apps/per/* to your PC and configure your PC for OA Framework development
    2. Create a new BC4J package in which the extension will reside.
    3. Note down the path and the properties of existing AM that we wish to extend
    4. Create a new AM, and specify the original AM being extended.
    5. Ensure that the properties of original AM are applicable for new AM too.
    6. Perform substitution. This will create a jpx file.
    7. Upload the jpx file into Database.
    8. Deploy the custom BC4J to $JAVA_TOP by FTP'ing all files.
    9. Bounce the server
    After this change I'm getting the error 'JBO-29000: Unexpected exception caught: java.lang.StackOverflowError, msg=null'. This error is appearing on all the pages where the same AM(IrcCandidatePersonalAcountAM) is referred. Its totally clueless.
    I have got an suggestion that extending an root AM is not recommanded in OAF. If So, how I should go about it.
    Please help me to achieve this requirement.
    Thanks,
    Guru

    Hi Guru,
    As you mentioned extending the rootAM is not advisable.
    As a workaround what you can try is
    1) Extend the controller in your page,
    and get the RootAM, ChildAM, Your VO(where you have the checkbox attribute is there) and then set the value what do you wanted.
    Use the below code to get your required AM and VO, please change the sample code according to your AM name...etc.
    // Get requested AM from Root am
    public OAApplicationModule getRequestedAM(OAPageContext pageContext, String requestedAMName)
    writeLog(pageContext,"Requested AM called to check the AM "+requestedAMName );
    String amName = "";
    String objectivesAMName = requestedAMName;//"ObjectivesAM";
    String nestedAMArray[] = pageContext.getRootApplicationModule().getApplicationModuleNames();
    pageContext.writeDiagnostics(this,"Root AM=>"+pageContext.getRootApplicationModule().getName() + " Child AMs=>"+ nestedAMArray.length,1);
    OAApplicationModule currentAM = null;
    currentAM = (OAApplicationModule)pageContext.getRootApplicationModule();
    for(int i = 0; i < nestedAMArray.length; i++)
    amName = nestedAMArray;
    pageContext.writeDiagnostics(this,"Nested AM Name=>"+amName + "and amName.indexOf(objectivesAMName) "+amName.indexOf(objectivesAMName),1);
    currentAM = (OAApplicationModule)pageContext.getRootApplicationModule().findApplicationModule(amName);
                        //Get the view names
                   String[] viewNames = currentAM.getViewObjectNames();
    for (int i =0 ;i<viewNames.length ;i++ )
    writeLog(pageContext,i +" Value "+viewNames[i]);
    if(!(amName.indexOf(objectivesAMName)==-1))
    pageContext.writeDiagnostics(this,"Found Handle to My Nested AM " + amName ,1);
    break;
    return currentAM;
    Get the VO from the AM
    OAViewObject objAssessmentVO = (OAViewObject)yourAM.findViewObject("yourVO");
    Get all the attribute from a VO with Attribute Names in Custom CO
    OAApplicationModule rootAM = pageContext.getRootApplicationModule();
    OAApplicationModule apprAM = (OAApplicationModule)rootAM.findApplicationModule("AppraisalsAM");
    String offlineStatus = (String)apprAM.invokeMethod("getOfflineStatus",new Serializable[]{appraisalId+""});
    OAViewObject appraisalVO = (OAViewObject)apprAM.findViewObject("AppraisalVO");
    if(appraisalVO !=null)
    AppraisalVORowImpl appraisalVORow = (AppraisalVORowImpl) appraisalVO.first();
    if(appraisalVORow !=null)
    int attrCount = appraisalVO.getAttributeCount();
    writeLog("XXRBG",pageContext,"Attrbuute count "+attrCount);
    String[] attributeNames = appraisalVORow.getAttributeNames();
    for (int i = 0 ;i< attributeNames.length ;i++ )
    writeLog("XXRBG",pageContext," Name "+attributeNames[i] +" = "+appraisalVORow.getAttribute(i));
    Thanks,
    With regards,
    Kali.
    OSSi.

  • Convert string to integer

    package onjava;
    import java.io.*;
    import java.net.*;
    import java.util.*;
    import org.apache.soap.*;
    import org.apache.soap.rpc.*;
    import java.lang.*;
    import java.sql.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    public class CalcClient extends HttpServlet {
      public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws IOException, ServletException
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"");
    out.println("\"http://www.w3.org/TR/html4/loose.dtd\">");
    out.println("<html>");
    out.println("<head>");
    out.println("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">");
    out.println("<title>Substraction using SOAP</title>");
    out.println("</head>");
        URL url = new URL ("http://localhost/soap/servlet/rpcrouter");
    Integer p1=request.getParameter("param1");
    Integer p2=request.getParameter("param2");
    In the above statement i have to convert the string to integer because that has to be passed in my program as an argument to a function so please let me know how to do that
        // Build the call.
        Call call = new Call();
        call.setTargetObjectURI("urn:onjavaserver");
        call.setMethodName("subtract");
        call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
        Vector params = new Vector();
        params.addElement(new Parameter("p1", Integer.class, p1, null));
        params.addElement(new Parameter("p2", Integer.class, p2, null));
        call.setParams (params);
        // make the call: note that the action URI is empty because the
        // XML-SOAP rpc router does not need this. This may change in the
        // future.
        Response resp = call.invoke(url, "" );
        // Check the response.
        if ( resp.generatedFault() ) {
          Fault fault = resp.getFault ();
         out.println("The call failed: ");
         out.println("Fault Code   = " + fault.getFaultCode());
         out.println("Fault String = " + fault.getFaultString());
        else {
          Parameter result = resp.getReturnValue();
          out.println(result.getValue());
    out.println("</body>");
    out.println("</html>");

    Two possibilities: Try either java.lang.Integer.valueOf() or java.text.NumberFormat and its parse method.
    Either one will do what you want. I think Integer will be the simpler of the two.
    The code you have is obviously not correct, because getParameter returns a String:
    Integer p1=request.getParameter("param1");Do it like this:
    Integer p1=Integer.valueOf(request.getParameter("param1"));%

  • Could you please help me understand the logic behind certain things in OSX?

    Ok, so I try to be an open-minded guy, and I bear no particular allegiance to either OS. I own a Sony TZ and a Mac mini, and my wife has a MacBook Pro. I use both Oses.
    There are certain things I have trouble understanding in th Mac OS, so what I'd really like to understand the logic behind certain design decisions in the OS, and why these might be better ways of accomplishing things. I know how to get around all of the things I mention, so I'm not looking for instructions; rather I'm looking for well-thought out explanations for why these features are the way they are.
    *1. Programs don't quit when you close the window.*
    - This totally puzzles me. Why design it so that program windows are independent are from the running program itself? There must be a reason, cold someone explain how this is more efficient? To me, it's simpler to click an X on the window you are working on to completely shut down a program, rather than to either mouse through menus to select quit, or be obligated to using Command Q keyboard shortcut.
    *2. Menu bars are on the desktop.*
    - Related to the first point, why make the main thing framing your desktop be something which is always changing depending on the program? Why have file menus outside the main window of the program. Having the menu bar on the desktop then necessitates an additional area, the dock, which has to be used as a launch bar and to tell you what programs are currently running. That obligates you to having 3 different areas of screen: 1 for program menus, 1 for running programs, and the program window itself. This seems very inefficient to me. Not to mention all the messy-looking floating palettes all over the place, again because everything is separated and not nicely contained in a single program window.
    - Really, having a changing menu bar that frames the desktop isn't even consistent wth the whole desktop metaphor, which is that you place things on a desktop, like programs, files, etc. Are you changing the whole desk everytime you load a new program, yet the wallpaper stays the same? Doesn't seem to be logically consistent to me.
    *3. No delete key.*
    - This one really gets me. Why make such a commonly used key be a function key (Fn + Backspace)? Why make the user press a secondary key for a major function?
    *4. No Cut command.*
    - I read something about how Cut doesn't actually make sense when moving files around, but I obviously didn't fully understand it. Why make the user command drag, when you can just do Ctrl X??.
    *5. Launching Apps from the Finder.*
    - This seems weird to me, that you find and launch applications from the same thing you use to view files. Program icons in the finder are placeholders for the entire program, not files, yet they are found in the file viewer. Again, to me this seems logically mixed. I really dislike scrolling through Finder to look for apps. I know there is Spotlight and the dock (used as a quicklauncher), but these are really just workarounds for a setup which seems inherently illogical. To me at least, a menu of applications make more sense, ie, the start menu.
    Anyway, those are all I can think of now, although there are other things aout OSX that don't make sense to me.
    Thanks in advance! If I can understand Apple's reasoning and it is convincingly better, that will go a long way towards making me more comfortable with this OS.

    1. Programs don't quit when you close the window.
    That's really more a matter of what you're used to. It comes down to a programming decision as to what Apple and Microsoft considered to make sense. MS thinks that if there are no open windows, you're done using the app. Apple thinks you aren't necessarily done yet, as others have mentioned. I certainly wouldn't want Photoshop to quit every time I closed the last open image I was working on. Would be nice though if Safari would quit when I close the last open browser window. It's quick to relaunch if you really weren't done with it, so wouldn't be much of a bother to have it shut down with the last window.
    2. Menu bars are on the desktop.
    Makes way more sense the Microsoft's approach of repeating the same file menu on every open document in a program. How many places do you need to see File, Options and other common menu headings?
    2. Menu bars are on the desktop.
    Related to number two. The forward app is the only one you can directly work in, so why not have the menu bar change to reflect the choices for that application? When you go back to the previous app you were in, the menu bar changes back. So what loss of functionality is there? It comes back to not having menu bars on every single open window. There's no need or purpose for it.
    3. No delete key.
    Backspace does the same thing.
    4. No Cut command.
    Command+X, not Ctrl+X. This is Mac, not Windows. There's also very little need to ever do this from the keyboard. If you're moving files that are on the same drive/partition, then just drag and drop from the target folder window to the source. It's automatically a move. If going from one physical drive or partition to another, it's automatically a copy. Press and hold the Command key during the drag to make it a move.
    Besides, you don't really think Windows cuts the entire folder or file contents into RAM, do you? If your computer has 4 GB of RAM, and you cut 12 GB of data, it of course can't possibly fit in the clipboard. All Windows does when you do a cut is visually remove the files and folders from the screen. If the items are going to a location on the same drive/partition, it does the same thing as if you did a drag and drop move. The file table is simply updated to reflect the new file or folder locations. If it's to a different drive/partition, it then performs a copy then delete action, same as OS X.
    5. Launching Apps from the Finder.
    A program is just as much a file as any other file. It takes up space on the drive. The OS of course knows what to do with it when you double click an app. Same as it knows what to do when you double click a document related to an app. Windows is no different. An .exe file is also just as much a file as a .doc file. The .exe extension tells Windows to try and treat it as a program to load into RAM. It's not just a simple placeholder. The program has to be made up of something.

  • What is the logic behind the start routine

    Dear One's,
    Kindly take a moment and explain the logic behind this start routine written in update rules of ODS.
    PROGRAM UPDATE_ROUTINE.
    $$ begin of global - insert your declaration only below this line  -
    $$ end of global - insert your declaration only before this line   -
    The follow definition is new in the BW3.x
    TYPES:
      BEGIN OF DATA_PACKAGE_STRUCTURE.
         INCLUDE STRUCTURE /BIC/CST_T07_O006.
    TYPES:
         RECNO   LIKE sy-tabix,
      END OF DATA_PACKAGE_STRUCTURE.
    DATA:
      DATA_PACKAGE TYPE STANDARD TABLE OF DATA_PACKAGE_STRUCTURE
           WITH HEADER LINE
           WITH NON-UNIQUE DEFAULT KEY INITIAL SIZE 0.
    FORM startup
      TABLES   MONITOR STRUCTURE RSMONITOR "user defined monitoring
               MONITOR_RECNO STRUCTURE RSMONITORS " monitoring with record n
               DATA_PACKAGE STRUCTURE DATA_PACKAGE
      USING    RECORD_ALL LIKE SY-TABIX
               SOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYS
      CHANGING ABORT LIKE SY-SUBRC. "set ABORT <> 0 to cancel update
    $$ begin of routine - insert your code only below this line        -
    fill the internal tables "MONITOR" and/or "MONITOR_RECNO",
    to make monitor entries.
    DATA: ITAB_/BIC/AT07_O00600 TYPE SORTED TABLE OF /BIC/AT07_O00600
          WITH HEADER LINE
          WITH UNIQUE DEFAULT KEY INITIAL SIZE 0,
          DATA_PACKAGE_NEW TYPE STANDARD TABLE OF DATA_PACKAGE_STRUCTURE
          WITH HEADER LINE
          WITH NON-UNIQUE DEFAULT KEY INITIAL SIZE 0.
    sort the datapackage based on lead number and lead program definition
    SORT DATA_PACKAGE BY /BIC/TLDNR /BIC/TLDPRGFTE.
    from the resources ODS read all lead values based on the values those
    SELECT * FROM /BIC/AT07_O00600 INTO TABLE
             ITAB_/BIC/AT07_O00600
             FOR ALL ENTRIES IN DATA_PACKAGE
             WHERE /BIC/TLDNR = DATA_PACKAGE-/BIC/TLDNR.
    FIELD-SYMBOLS: <LS_DATA_PACKAGE> TYPE DATA_PACKAGE_STRUCTURE.
    FIELD-SYMBOLS: <LS_/BIC/AT07_O00600> TYPE /BIC/AT07_O00600.
    loop at internal table of ODS to check if there are lead program defin
    from the source which mean the values of lead program definition in OD
    values of lead program definition in datapackage.
       LOOP AT ITAB_/BIC/AT07_O00600 ASSIGNING <LS_/bic/at07_o00600>.
         READ TABLE DATA_PACKAGE
          TRANSPORTING NO FIELDS
          WITH KEY
          /BIC/TLDNR = <LS_/bic/at07_o00600>-/BIC/TLDNR
          /BIC/TLDPRGFTE = <LS_/bic/at07_o00600>-/BIC/TLDPRGFTE
          BINARY SEARCH.
          IF SY-SUBRC <> 0.
    new lines with zero values are inserted because there are no correspon
    DATA_PACKAGE_NEW-/BIC/TLDNR = <LS_/BIC/AT07_O00600>-/BIC/TLDNR.
    DATA_PACKAGE_NEW-/BIC/TLDPRGFTE = <LS_/BIC/AT07_O00600>-/BIC/TLDPRGFTE.
      DATA_PACKAGE_NEW-/BIC/TLDFTE = 0.
      APPEND DATA_PACKAGE_NEW.
         ENDIF.
      ENDLOOP.
    append the new records which are created for the leads in the datapack
      APPEND LINES OF DATA_PACKAGE_NEW TO DATA_PACKAGE.
    reset the sorting of the datapackage back to its original state
      SORT DATA_PACKAGE.
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    $$ end of routine - insert your code only before this line         -
    ENDFORM.
    Thanks in advance

    hi,
    it's retrieve data from table /BIC/AT07_O00600
    and add to data package, so your records will be more than from source
    hope this helps.

  • How to get the value of String in integer type

    how to get the value of String in integer

    {color:#0000ff}http://java.sun.com/javase/6/docs/api/java/lang/Integer.html#parseInt(java.lang.String)
    http://java.sun.com/javase/6/docs/api/java/lang/Integer.html#valueOf(java.lang.String){color}

  • Add logic behind 'Update Opportunity Totals' button in Oracle CRM On Demand

    HI,
    I need to add custom logic behind 'Update Opportunity Totals' button in Oracle CRM On Demand. Can anyone please let me know where can I implement this logic? Where can I find already implemented code of  'Update Opportunity Totals' button.
    Thanks,
    RM

    Pl post this in a Siebel related forum
    HTH
    Srini

  • Program/Logic behind the Copy functionality in SE38 Transaction

    Hi,
    In SE38 by using the copy option, Program along with sub-objects can be copied to another object.
    Please let me know the Program/Logic behind that functionality.
    Also let me know is there any option in SAP to copy program from one system to another system.
    Thanks,
    Madhuri.

    Hi Madhuri
    This is tha Program logic behind copying object thru se38
    where p_operation would have the value 'COPY'' in it.
      DATA: l_request TYPE REF TO cl_wb_request,
            l_wb_todo_request TYPE REF TO cl_wb_request,
            l_object_name TYPE seu_objkey,
            l_object_type TYPE seu_objtyp,
            l_program_state TYPE REF TO cl_wb_program_state.
      IF trdir-subc = 'I'.
        l_object_type = swbm_c_type_prg_include.
        CALL METHOD cl_wb_object_type=>get_concatenated_key_from_id
          EXPORTING
            p_key_component1 = space
            p_key_component2 = rs38m-programm
            p_external_id    = l_object_type
          RECEIVING
            p_key            = l_object_name.
      ELSE.
        l_object_type = swbm_c_type_prg_source.
        l_object_name = rs38m-programm.
      ENDIF.
      CREATE OBJECT l_program_state.
      CREATE OBJECT l_request
          EXPORTING p_object_type =  l_object_type
                    p_object_name = l_object_name
                    p_operation   = p_operation
                    p_object_state = l_program_state .
      CALL METHOD
        wb_pgeditor_initial_screen->mngr->request_tool_access
        EXPORTING
          p_wb_request      = l_request
        IMPORTING
          p_wb_todo_request = l_wb_todo_request
        EXCEPTIONS
          action_cancelled  = 1
          no_tool_found     = 2.
      IF sy-subrc NE 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ELSE.
        EXIT.
      ENDIF.

  • Logic behind MC46 & MC50

    Hi Everybody,
    I want to know the logic behind
    1)MC46 i.e. Report for Non moving & slow moving stock
    2)MC50- Report for Dead stock
    My client wants to know the logic behind these reports.
    What i need to explain them exactly?
    Please guide.

    The logic behind these reports is to identify dead and slow moving stock (and it's monetary value) in order to make a stocking decision such as to promote the material (reduce price), scrap the material (full or partial stock quantities). These reports may also help in future demand/forecast planning.
    Dead and slow moving stock has lots of negative impacts on an organisation such as increased inventory levels (monet tied up in stock), reduced stock turn and wasted physical warehouse space (particularly if dead/slow moving stock is preventing a fast moving item from being in the warehouse/plant).
    Regards,
    Matt

  • What is the logic behind the list of default colors in the color tab of the score options in the project settings interface?

    I desperately want to know why each note is assigned it's particular color in the score tab of the projects settings interface...
    Was this done at random or is there some logic behind it all?  Einstein and Newton have completely different ideas about note/color association...their theorys can be easily found on the internet.  I've messed around with applying their ideas to the user pallette just for fun.  Now, I really want to know if the makers of Logic chose the colors they did for the factory defaults for a particular reason.  Please help if you can!

    hi,
    it's retrieve data from table /BIC/AT07_O00600
    and add to data package, so your records will be more than from source
    hope this helps.

  • What is Apple's logic behind this?

    I open a file (any kind will do) and make some changes. After I'm done, I hit CMD + W to close the file and the program correctly asks if I want to save my changes, close without saving, or cancel closing the file. The Save button is highlighted on the button and outside the button. If I hit the tab button, the outside highlight moves to the different buttons, but the button highlight remains on the Save option, so when I hit enter, it thinks I'm saying to Save.
    Can anyone explain the logic behind this? I just don't get why Apple thinks this is an efficient/right way to do things. Thanks for any helpful answers.

    Hi--
    To actually select the button that has focus (the outside highlight), hit the space bar.
    I suspect the rationale is something like this: they don't want to override the usual functionality of the buttons, but just offer a second or third way to select buttons.
    Many, if not most apps, particularly in the situation you describe, already have pretty solid keyboard shortcuts for the three buttons. Of course, "enter" for "Save", "esc" for "Cancel", and "command"-"d" almost always works for "Don't Save". From observation, of those people who use keyboard shortcuts in dialogs, this is by far the most common way they do it. I don't think I've ever seen anyone use the tab key in dialog boxes (and I think it's off by default except for navigating between text boxes).
    charlie

  • What's the logic behind the prefixes in User Tips?

    I'm browsing through the User Tips, and maybe my memory is fuzzy, but I don't recall all those prefixes in the subject lines.
    e.g. kmosx, kmos, k.mac, kad, kaw, etc.
    Is there a logic behind it somewhere that would be useful for searching? e.g. put one in the search box and get all the User Tips on such-and-such topic?
    If so, can someone please sticky-post a glossary in the User Tips forum?
    Thanks.

    Hi, Marlinespike - These are Knowledge Base keywords. A glossary of these keywords is here:
    http://docs.info.apple.com/article.html?artnum=75178
    Tuttle
    1457/8165

  • Significance & logic behind GBB in FI MM integration

    Hi
    Can some one pls explain me the logic behind GBB in FI MM integration. I was not able to explain clearly when I was asked this question.
    Pls do reply to me
    Thanks,
    Lavanya

    Hello,
    Materials management automatic account determination is a major integration point between FI & MM.  We will configure the a/c assignment for the processing key like BSX, WRX, GBB etc., BSX is used to determine the inventory a/c to which MM transaction are posted, WRX for GR/IR and GBB for Offsettings.
    Ex: You could use it to determine which inv a/c to use to increase inventory through a goods receipt or which inv a/c to use to decrease inventory through a goods issue. Just double click on processing key BSX and system will ask you for the chart of accounts for which you wish to configure the automatic a/c assignment. After entering the appropriate chart of a/c then system presented you posting procedure rules screen. Here you will get three different control indicators that you can set like Dr/Cr, Valuation modifier and Valuation class.
    Thanks
    Para

Maybe you are looking for