Binary upward compatibility

Hi,
It's writtern on this page (http://java.sun.com/javase/technologies/compatibility.jsp#incompatibilities) that Java5.0 is upward compatible with v1.4.2 except for the list of specified imcompatibilities. Part of the list, is the new keyword enum used for typsafe enumeartions in Java 5.0.
Nevertheless, I've tried to run some 1.4 compiled bytecode making use of the enum keyword with the 5.0 JRE and I haven't noticed any issues. So the upward compatibility seems to work, even for the enum keyword.
Does anybody have some more details on this issue ?
Thks,
Tristan

Thanks for your answer. What do you mean by: "if you were using it in a manner that is consistent with version 5 requirements". enum is a reserved keyword in java 5 so I don't see how it is possible to make use of it in a consistent way to java 5.
To illustrate my first post, here is what I tested. The simple following code is compiled with 1.4.2:
String enum = "enum";
System.out.println(enum);
Then I tried to execute it with 5.0 JRE, and it works fine. But of course, if you try to re-compile the code with 5.0, it will fail as enum is now a reserved keyword for enums ...
Is there a logical explanation why this 1.4.2 byte code would work in 5.0 without needing a fix and a recompilation ?

Similar Messages

  • Being Told That The Lack Of Upward Compatibility in Mail is NOT a Bug

    Animated GiFs, which ran when viewed under Mail in Tiger, will no longer run under Leopard's version of Mail. This is a lack of Upward Compatibility and should be viewed as a bug and not as a Design Change, that will be gotten to when the maintenance load slows down: maybe. This is the wrong way to view systems maintenance. This is what I was told by the Apple Support Center. The lack of Gif execution will not be treated as a bug, but rather as a Design Change. I attempted to report this weeks ago, only to find my original Case # is now magically gone and there no record of this problem.

    After Googling a little, I'm not 100% convinced this worked in Tiger either. Here's a post about it along with it's reply:
    Post: http://forums.creativecow.net/readpost/71/854613
    Reply: http://forums.creativecow.net/readpost/71/854614
    I also just sent myself one that I found on images.google.com and it does the exact same thing. Preview doesn't show it as animated either, but it does show the other frames in the sidebar.
    I also composed a simple HTML page with the animated gif in it and used Safari's "mail contents of this page" to send it to myself. Interestingly enough, it did show as animated in the compose window, but didn't show at all when I opened the message I received.
    You might be able to accomplish it by using a data: URI [1], but that seems like it might be more work than it's worth (unless it's the same image in a signature or something).
    http://en.wikipedia.org/wiki/Data:_URL
    Also, if it is for a signature, check out http://allforces.com/2006/04/14/css-signatures/

  • Backwards and upwards compatibility on essbase, EAC and Analyzer

    we have running essbase/analyzer/EAC 7.1 environment and a running essbase/planning 9.3.1 environment.
    It occurs to us that modifying the 9.3.1 environment with the EAS7.1 tool results in a essbase crash (without any information in the essbase log files).
    Is there any information for essbase about upwards and backwards compatibility from 7.1 and 9.3.1.
    Message was edited by:
    Detlev

    In addition to Nathan's comments this would be a platform that Oracle hasn't regression tested. So even if it were to appear to work if you encountered an issue Oracle would be justified and asking you to re-create the same issue on a supported platform.
    In my opinion if this is a production application this is a risk you should not take.
    If you are playing with an internal environment and want to learn more about Win2K8 that's one thing. Realizing most folks will give you the "It's not supported line" when you start asking why EPMA, FDM, and HFM do not work with IIS 7.x
    Regards,
    John A. Booth
    http://www.metavero.com

  • Output Designer 5.5 and 5.6 Compatibility

    Hi,
    I want to purchase the Output designer Software, just wanted to confirm few question:
    1. Files(IFD) created in Older Version like 5.2 can be opened without any problem in latest Version?
    2.Can the files created in Output Designer 5.6 can be opened in Output Designer 5.5?
    3.What all other software is required to create a Form based application through Output Designer(like Output Server)?
    4.Is there any relation of Output Server and Output Designer Version Compatibility.What I know Output Server run the compiled file which are created by Output Designer.Does the Software version of Output Designer and Output Server should be same.
    Your help will be very much appreciated.
    Regards,
    Tarun

    Older files can be opened in the latest version. If the ifd is older than 5.3 and has the "Filler" aspects included, these Filler features will be removed.
    I would not expect 5.5 to open a 5.6 ifd.
    Output server includes printing, faxing, email, pdf, data transformation and along with the design tool is all you need to create a document generation application assuming the data is available. Output server uses a watched folder approach and will not go and get the data from a legacy application, the data must be pushed to Output Server.
    Output Server will happily process forms from older versions of Output Design. They do not need to be the same version but I would not trust a 5.6 design to a 5.5 server. Upwards compatibility yes, downwards compatibility no.

  • Solaris11 : binary backward compatibilty for old SPARC systems

    We have some decomisisoned SPARC servers that can be used for test & dev, but these are too "old".
    V490, V880, V890 does not support Solaris 11.
    What happened to binary backward compatibilty?
    Oracle sales people commend binary backward compatibility, but I do not get this...

    [opinion]
    To the best of my recollection, "binary compatibility" only refers to software, not to hardware.
    If you had a program or an application that ran on those systems when you had Solaris 9 or Solaris 10 on them, then the same program(s) will install and run on a system that uses Solaris 11.
    For example from a tiotally different part of the computer Universe ---
    I dare you to install Microsoft Windows XP to a computer that happens to have an ISA expansion slot and have that OS recognize the existence of the slot (let alone any cards installed to that ISA slot).
    [end opinion]
    ... now let's see what others might say...

  • ADF view access from DataForwardAction - help

    Hi,
    i want to access an view object which is unrelated to any page bindings in the findForward method of a DataForwardAction class. How do i register the Application module and view objects with the UIModel for the UIX Datapage?
    At the moment, it cannot find the view object:
    ViewObject vo = ctx.getBindingContainer().getApplicationModule().findViewObject("UserRoleFunctionsView1");
    this results in an internal server error:
    oracle.jbo.NoObjException: JBO-25003: Object UserRoleFunctionsView1 of type View Object not found
    i have tried adding a data model binding on the UIModel assigned to the page, but this does not fix the problem.
    can someone please advise what the correct setup procedure is?

    The getApplicationModule() method of binding container is for upward compatibility of JClient applications coming from pre-9.0.5 JDeveloper.
    The correct way to get your application module from your DataAction, as noted in the ADF Data Binding Primer white paper and as illustrated in the ADF Toy Store Demo, is to:
    ApplicationModule am = (ApplicationModule)ctx.getBindingContext().findDataControl("YourAMNameDataControl").getDataProvider();If you have exposed custom AM methods on your client interface, you can use this instead to cast the ApplicationModule to the YourAMName interface:
    YourAMName am = (YourAMName)ctx.getBindingContext().findDataControl("YourAMNameDataControl").getDataProvider();

  • Problem while creating Function module

    Hi All,
                   I created a TABLE and am using this table in a FUNCTION MODULE as a reference for declaring an internal table in TABLES tab in the function module  .
    But when i click on the table name its giving an error "TABLES parameters are obsolete! "
    Can any one figure out the reasons .....and help me out!!!
    Deepika K

    Hi Deepika,
       Tables option is said to be Obsolete because these days we use internal tables without header line...
    Tables Option in FM considers internally that the table name you mentioned is with a header line and the structure of the internal table will be acting as work area.
    It is still included in new version because for Upward compatibility...
    As we still use the predefine function modules so they should be even compatible with newer versions so its still there..
    But for normal practice it can be used but preferably not to use.. rather you use EXPORT parameter and include internal table like field...
    Create a structure first and then a Table type which include the previously defined structure in  SE11 and the assign the Table type to the field in EXPORT parameter with TYPE..
    Hope this would help u.
    Regards
    Narin Nandivada.

  • Source List Validity Start Date

    I have noticed that, if the source list validity start date and contract validity start date are same then, the contract price is not considered while creating PO and receive error message as "Source not included in list despite source list requirement"
    If I change the validity start date of source list to one day before the validity start date of Contract then system is picking the contract price in PO and able to save PO successfully.
    Is there any way to create PO even if the validity start date of source list and contract are same?

    from OSS Note 44368 - ME51 ME57 Contract as source of supply
    A contract that is valid on the delivery date but not on the current date is not taken into account in the source determination process.
    Cause and prerequisites
    This is programmed this way.
    Solution
    For reasons of upward compatibility, check will continue to be carried out on basis of current date.
    However, if you wish the check to be against delivery date, you can implement the modification described under the advance corrections.
    If Note 116464 is implemented in a 4.0B Release, use the advance correction from Release 4.5A, however, in Release 4.0B the program name is LMEQRF01.

  • Regarding BADI's in ABAP

    Hi,
    Can anybody tell me What is meant BY <b>BADI's</b>!
    Also what are the main diffrences between <b>User-Exits and BADI's</b>!
    Can anybody explain me wether any diffrent types of <b>BADI's</b> are available!
    Can anybody provide me documentation with the examples
    for <b>BADI's</b>.
    If anybody is having good material on the same please post it.
    (or)
    Please send the material to
    My Personnal Mail id : <b>[email protected]</b>
    Thanks in advanace.
    Thanks & Regards,
    Rayeez.

    I.What is Badi?
    1.New SAP enhancement technique
    2.To accommodate user requirements not available / too specific to be included in the SAP standard Program
    3.Based on ABAP Objects – It has Interfaces & Methods
    4.Guaranteed upward compatibility of all Business Add-In interfaces
    -Release upgrades do not affect enhancement calls from within the standard software nor do they affect the validity of call interfaces
    II.BAdi & Customer-Exit
    1.Though different enhancement technique, BAdi has following distinct features
    -Uses Object oriented approach
    -Two parts - Definition and its Implementation - definition can either be SAP provided or user may also create it
    -no longer assumes a two-system infrastructure (SAP and customers)
    -allows multiple levels of software development (by SAP, partners, and customers, and as country versions, industry solutions, and the like)
    3.BAdi – where to find
    1.Look for BAdi in IMG and in component hierarchy (using transaction SE18)
    2.Create own implementation of the add-in (complete coding for Methods) and activate
    3.Enhancement's active components are called at runtime.
    BAdi Definition (SE18)1.To include Business Add-Ins in the program
    - Define an interface for the enhancement in the SAP menu under Tools-> ABAP Workbench -> Utilities -> Business Add-Ins -> Definition (transaction SE18)
    -Call the interface at the appropriate point in application program
    -Customers can then select the add-in and implement it according to their needs
    BAdi Implementation (SE19)
    1.ABAP Workbench ->Utilities -> Business Add-Ins -> Implementation (transaction SE19)
    2.Find the suitable Business Add-Ins present in system (Use IMG or Component hierarchy)
    3.Use Add-Ins Documentation to understand functionality & to decide
    4.Implement the Add-Ins
    -a class is created with the same interface
    -Finalize coding for the method
    5.Implementations are discrete transport objects and lie within the namespace of the person or organization implementing them
    check the SAP help link on BADI's
    http://help.sap.com/saphelp_nw04/helpdata/en/e6/d54d3c596f0b26e10000000a11402f/content.htm
    /people/sergey.korolev/blog/2005/03/14/the-time-for-me-to-have-a-badi-of-my-own
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/ef6c0507-0701-0010-7395-e526c68bbc4e
    Thanks & Regards,

  • What is BADI.How to create a BADI?

    Hi all,
    Can some one explain me about , What is an BADI.Where it is used .
    How to create a BADI.
    Iam in Initial stage, I want to know how to create a BADI.
    Please help me regarding this.
    Thanks,
    Lee.

    Hi Lee,
    Business Add-Ins
    Business Add-Ins are a new SAP enhancement technique based on ABAP Objects. They can be inserted into the SAP System to accommodate user requirements too specific to be included in the standard delivery. Since specific industries often require special functions, SAP allows you to predefine these points in your software.
    As with customer exits (SMOD/CMOD [Page 40]), two different views are available:
    • In the definition view, an application programmer predefines exit points in a source that allow specific industry sectors, partners, and customers to attach additional software to standard SAP source code without having to modify the original object.
    • In the implementation view, the users of Business Add-Ins can customize the logic they need or use a standard logic if one is available.
    In contrast to customer exits, Business Add-Ins no longer assume a two-system infrastructure (SAP and customers), but instead allow for multiple levels of software development (by SAP, partners, and customers, and as country versions, industry solutions, and the like). Definitions and implementations of Business Add-Ins can be created at each level within such a system infrastructure.
    SAP guarantees the upward compatibility of all Business Add-In interfaces. Release upgrades do not affect enhancement calls from within the standard software nor do they affect the validity of call interfaces. You do not have to register Business Add-Ins in SSCR.
    The Business Add-In enhancement technique differentiates between enhancements that can only be implemented once and enhancements that can be used actively by any number of customers at the same time.
    In addition, Business Add-Ins can be defined according to filter values. This allows you to control add-in implementation and make it dependent on specific criteria (on a specific Country value, for example). All ABAP sources, screens, GUIs, and table interfaces created using this enhancement technique are defined in a manner that allows customers to include their own enhancements in the standard.
    A single Business Add-In contains all of the interfaces necessary to implement a specific task. In Release 4.6A, program and menu enhancements can be made with Business Add-Ins. The actual program code is enhanced using ABAP Objects. In order to better understand the programming techniques behind the Business Add-In enhancement concept, SAP recommends reading the section on ABAP Objects
    DEFINING THE BADI
    1) execute Tcode SE18.
    2) Specify a definition Name : ZBADI_SPFLI
    3) Press create
    4) Choose the attribute tab. Specify short desc for badi.. and specify the type :
    multiple use.
    5) Choose the interface tab
    6) Specify interface name: ZIF_EX_BADI_SPFLI and save.
    7) Dbl clk on interface name to start class builder . specify a method name (name,
    level, desc).
    Method level desc
    Linese;ection instance methos some desc
    8) place the cursor on the method name desc its parameters to define the interface.
    Parameter type refe field desc
    I_carrid import spfli-carrid some
    I_connid import spefi-connid some
    9) save , check and activate…adapter class proposed by system is
    ZCL_IM_IM_LINESEL is genereated.
    IMPLEMENTATION OF BADI DEFINITION
    1) EXECUTE tcode se18.choose menuitem create from the implementation menubar.
    2) Specify aname for implementation ZIM_LINESEL
    3) Specify short desc.
    4) Choose interface tab. System proposes a name fo the implementation class.
    ZCL_IM_IMLINESEL which is already generarted.
    5) Specify short desc for method
    6) Dbl clk on method to insert code..(check the code in “AAA”).
    7) Save , check and activate the code.
    Some useful URL
    http://www.esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
    http://www.esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
    http://www.esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
    http://www.esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
    www.sapgenie.com/publications/saptips/022006%20-%20Zaidi%20BADI.pdf
    http://www.sapdevelopment.co.uk/enhance/enhance_badi.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/e6/d54d3c596f0b26e10000000a11402f/content.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/c2/eab541c5b63031e10000000a155106/frameset.htm
    Now write a sample program to use this badi method..
    Look for “BBB” sample program.
    “AAA”
    data : wa_flights type sflight,
    it_flights type table of sflight.
    format color col_heading.
    write:/ 'Flight info of:', i_carrid, i_connid.
    format color col_normal.
    select * from sflight
    into corresponding fields of table it_flights
    where carrid = i_carrid
    and connid = i_connid.
    loop at it_flights into wa_flights.
    write:/ wa_flights-fldate,
    wa_flights-planetype,
    wa_flights-price currency wa_flights-currency,
    wa_flights-seatsmax,
    wa_flights-seatsocc.
    endloop.
    “BBB”
    *& Report ZBADI_TEST *
    REPORT ZBADI_TEST .
    tables: spfli.
    data: wa_spfli type spfli,
    it_spfli type table of spfli with key carrid connid.
    *Initialise the object of the interface.
    data: exit_ref type ref to ZCL_IM_IM_LINESEL,
    exit_ref1 type ref to ZIF_EX_BADISPFLI1.
    selection-screen begin of block b1.
    select-options: s_carr for spfli-carrid.
    selection-screen end of block b1.
    start-of-selection.
    select * from spfli into corresponding fields of table it_spfli
    where carrid in s_carr.
    end-of-selection.
    loop at it_spfli into wa_spfli.
    write:/ wa_spfli-carrid,
    wa_spfli-connid,
    wa_spfli-cityfrom,
    wa_spfli-deptime,
    wa_spfli-arrtime.
    hide: wa_spfli-carrid, wa_spfli-connid.
    endloop.
    at line-selection.
    check not wa_spfli-carrid is initial.
    create object exit_ref.
    exit_ref1 = exit_ref.
    call method exit_ref1->lineselection
    EXPORTING
    i_carrid = wa_spfli-carrid
    i_connid = wa_spfli-connid.
    clear wa_spfli.
    http://help.sap.com/saphelp_nw04/helpdata/en/eb/3e7cf7940e11d295df0000e82de14a/frameset.htm
    and
    http://help.sap.com/saphelp_nw04/helpdata/en/eb/3e7cf7940e11d295df0000e82de14a/frameset.htm
    Badihttp://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
    http://support.sas.com/rnd/papers/sugi30/SAP.ppt
    http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
    http://members.aol.com/_ht_a/skarkada/sap/
    http://www.ct-software.com/reportpool_frame.htm
    http://www.saphelp.com/SAP_Technical.htm
    http://www.kabai.com/abaps/q.htm
    http://www.guidancetech.com/people/holland/sap/abap/
    http://www.planetsap.com/download_abap_programs.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
    /people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
    /people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
    http://esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
    http://esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
    http://esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
    http://esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
    http://esnips.com/doc/365d4c4d-9fcb-4189-85fd-866b7bf25257/customer-exits--badi.zip
    http://esnips.com/doc/3b7bbc09-c095-45a0-9e89-91f2f86ee8e9/BADI-Introduction.ppt
    http://help.sap.com//saphelp_470/helpdata/EN/eb/3e7cee940e11d295df0000e82de14a/frameset.htm
    Thanks,
    Reward If Helpful.

  • NiDaq compilation

    I am using LabVIEW version 7.1. with it´s Application Builder v. 7.1.
    If I compile a program (Data acquisition) in a PC where I have installed the NiDaqmx 7.4 and I copy the compiled program (I prepear an installer)in another computer in which I have installed the NiDaqmx 7.3, when I run the program I get the error code 21. However, if I install the NiDaqmx 7.4 or I compile whith the NiDaqmx 7.3, then the compiled program works fine. (Nedless to say, that I do not use in my program any function which is avalaible in NiDaq 7.4. and not in NiDaqmx 7.3).
    The above means, that the maintenace of programs is in practice no possible, unless, there is a trick that allows you to compile them with diferent versions of NiDaqmx, without having to uninstall and re-install them.
    Does nay one know how to overcome this important problem. ?
    With kind regards
    Simbani

    Simbani wrote:
    I am using LabVIEW version 7.1. with it´s Application Builder v. 7.1.
    If I compile a program (Data acquisition) in a PC where I have installed the NiDaqmx 7.4 and I copy the compiled program (I prepear an installer)in another computer in which I have installed the NiDaqmx 7.3, when I run the program I get the error code 21. However, if I install the NiDaqmx 7.4 or I compile whith the NiDaqmx 7.3, then the compiled program works fine. (Nedless to say, that I do not use in my program any function which is avalaible in NiDaq 7.4. and not in NiDaqmx 7.3).
    The above means, that the maintenace of programs is in practice no possible, unless, there is a trick that allows you to compile them with diferent versions of NiDaqmx, without having to uninstall and re-install them.
    Does nay one know how to overcome this important problem. ?
    With kind regards
    Simbani
    While NI-DAQ strives to be forward compatible as much as possible it is almost an impossible task to also provide binary backwards compatibility. You really need to install the same or a newer version of NI-DAQ on a runtime machine as was used to create the application. Anything else is almost certainly bound to simply not work or create at least strange errors.
    Rolf Kalbermatter
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • Smart Form problem with address layout

    Hello everyone,
    I need your help please for a smart form problem. We need the address layout for great britain with street1, street2 etc. but currently street2 is alligned before street1.
    We are using the FM ADDRESS_INTO_PRINTFORM (SAP standard address node) and according to the documenation the layout for GB is different as we see it currently.
    We have checked the sold-to and all contact persons, they have as country GB and language EN maintained.
    In customizing for address screen layout there is nothing chosen (tested to set up Europe, but did not change anything).
    For the customizing 'specify my countries...' we have maintained GB as country with the address layout key 006, vehicle country key GB and language key EN.
    For the described setting shouldn't there be designed the address in our smart forms according to 006? Anyhting in customizing we missed?
    Thanks a lot for your answers.
    Torsten

    Hi,
    Try to use line priority of FM, below is a brief of documentation. You can read it more in FM documentation:
    Control Parameters
    See also the parameter documentation.
    ADDRESS_TYPE - Address type (from 3.0C)
    There are three types of address:
    Address type '1': addresses of firms or organizations; the address
    structure which is used in most SAP applications as 'Address'.
    Address type '2': address of a person
    Address type '3': work address, usually the address of a contact person
    in a company
    The default value SPACE for the address type is handled like type '1',
    and is needed for the upwards-compatibility of the function module.
    Which parameters are used for which address type is explained in the
    ADDRESS_TYPE parameter documentation.
    The three character "address layout key" of the recipient country (LAND1) controls which of the available country-specific routines is used to format addresses for the country in question. This key is stored in field T005-ADDRS and is entered in Customizing under Global settings -> Set countries -> Define countries, on the detail screen under "Address layout key".
    Keys for customer routines in the SAP enhancement SZAD0001 can be
    maintained via the transaction SM30 (extended table maintenance),table
    name T005A, in the customer name range, and be assigned in country customizing.
    The address attributes are passed in the structures ADDRESS1 (type 1), ADDRESS2 (type 2), ADDRESS3 (type 3) or ADRSWA_IN (type SPACE).
    NUMBER_OF_LINES (ADRSWA_IN-ANZZL)
    The number of lines available for the address layout. If the number of
    lines is not sufficient for the complete layout of an address, then
    lines are consecutively suppressed according to the rules of the country in question. Use the parameter LINE_PRIORITY (ADRSWA_IN-PRIOR) overrules the standard sequence in which the output lines are to be suppressed.
    LINE_PRIORITY (ADRSWA_IN-PRIOR)
    If not equal to SPACE, this field overwrites the standard sequence in
    which the lines are suppressed if the available number of lines ANZZL is
    insufficient.
    The standard sequence is defined as follows:
    Type 1:   'AP43HRT7I86LC2BS5O'       (GB:  'APRT4327I86CBS5LO')
    Type 2:   'APHRT7I86LCBS5O'          (GB:  'PRT7I86CBS5LO')
    Type 3:   'APF43HR7I86TLC2BSND5O'    (GB:  'APRT4327I86CBS5LNDIO')
    where (if they occupy a line of their own):
    A = Title
    P = Mandatory empty line 1
    F = Function of the contact person in the company
    4 = Name 4
    3 = Name 3
    H = Different city
    R = Region
    T = District
    L = Name of country
    C = Postal code
    T = District
    7 = Street 3 (field STR_SUPPL2)
    I = Street 5 (field LOCATION)
    8 = Street 4 (field STR_SUPPL3)
    6 = Street 2 (field STR_SUPPL1)
    L = Country
    C = Postal code
    2 = Name 2
    B = PO Box
    S = Street or PO Box
    5 = c/o name
    N = Name (and title) of a person
    D = Department
    O = City
    Which of these attributes are available for maintenance can vary. All
    fields exist in Business Address Services.
    STREET_HAS_PRIORITY (ADRSWA_IN-WAREN)
    'X': Street has priority over PO Box (delivery address for example)
    ' ': PO Box has priority over street. This is the default value.
    regards,

  • After upgrading from Prosight V6 to V7.5 we are having issue with API's

    Team,
    Current version 6 of prosight upgraded to version 7.5. We are having our external webservice consumes Prosight webservice which defaulted installed under ProsightWS virtual directory. After up gradation we are running into issue in external application ,application unable to communicate to Prosight new version webservices. Fails in the time of calling in Login method itself in the psPortfoliossecturiy service.
    Exception as follows:
    “System.Web.Services.Protocols.SoapException: Could not create Security Token for specified User and Password at ProSight.Portfolios.WebServices.WS.psPortfoliosSecuritySOAP.Login(String sUser, String sPassword, Int32 lTimeOut) “
    Our web application uses a dedicated user account to interact with Prosight webservice and it runs under windows authentication. Application build on ASP.NET 2.0 and later.
    The sad part here is , our web application running perfectly with Prosight v6. :( I would appreciate if anyone could help us to resolve this issue. This is blocking our up gradation from 6 to higher version of prosight.
    Thanks for your valuable time
    Regards,
    Jithesh

    Here is the offical documentation from version 8.0 on the backward-compatability of the APIs. This document comes the version 8 installer. Not sure this helps you with the 7.5 issues, but hoping it will help:
    Considerations for applications using the PPM Open API via COM
    Applications which use the Primavera Portfolio Management (PPM) Open API via any interface (COM, SOAP/RCP or Document/Literal) and were developed and used with previous versions of PPM will continue to operate without the need for recompilation, as Primavera Portfolio Management 8.0 provides full binary backwards compatibility for all of the Open API interfaces. New functionality is available only to applications that are written to take advantage of such functionality.
    Note however that any process can only load and use one version of the Microsoft .NET Framework. Therefore, applications developed with the .NET Framework 1.1 cannot use APIs to communicate with software developed using the .NET Framework 2.0 if this would cause the same process to need to load both versions of the .NET Framework.
    This means that if any part of an application that uses the Open API which was developed using .NET Framework 1.1 communicates directly with PPM using the COM API (which is in-process), that part of the application would need to be recompiled to target the .NET Framework 2.0. If on the other hand, the application developed using .NET Framework 1.1, only communicates with PPM using SOAP RPC or Web Services (which are out-of-process) then there is no issue.
    Instead of recompiling, it is usually sufficient to ”force” the existing executables to actually use the .NET Framework 2.0 instead of the native version of the .NET Framework for which they were compiled (1.1). This can be achieved by using an application config file with the following content:
    <?xml version ="1.0"?>
    <configuration>
    <startup>
    <supportedRuntime version="v2.0.50727" />
    </startup>
    </configuration>
    The application config file can easily be created using Notepad or something similar. It does not need to be compiled in any way. It should be named with the exact same name as the executable file plus the suffix “.config”. For example: if the application executable file is called “Tester1.exe” then the config file must be named “Tester1.exe.config”. It must be placed in the same directory as the executable file.
    The config file “forces” the application to use the .NET Framework 2.0, which would mean that even when using COM (in-process) Open API calls to PPM, there would still be only one version of the .NET Framework involved in the process (.NET 2.0).
    ----------------------------------------------------------------------------------------

  • Debugging of inbound ABAP proxy

    Please To show the debugging of inbound ABAP proxy, the implementation of the demo scenario is used. The demo scenario is available in any installation WebAS 6.40 or higher.

    follow this method and check debugging mode.
    Debugging of inbound proxies in WebAS 6.40 or higher
    To show the debugging of inbound ABAP proxy, the implementation of the demo scenario is used. The demo scenario is available in any installation WebAS 6.40 or higher.
    At first you have to set a break point in the ABAP code. Call transaction SPROXY. Expand the namespace http://sap.com/xi/XI/Demo/Airline, the node Message Interface (inbound) and the interface FlightBookingOrderRequest_In.
    Double click on interface II_SXIDAL_FBO_REQUEST and get the view of the proxy object properties.
    Double click on the implementing class (ABAP name) and then double click on the method name (this class has only one method).
    Now you are in the inbound proxy implementation. Set the break point on the first executable line.
    With help of the back button (F3) go back to the transaction SPROXY. Here you choose from menu Proxy -> Test Interface
    In the next pop up check the field XML Editor to maintain the payload.
    In the next screen apply suitable values or upload the XML payload of the SXMB_MONI (after mapping).
    Now the inbound proxy processing should stop at the break point.
    If the processing does not stop at the break point, there might be an error in the XML. Check at the result page for error messages.
    Debugging of inbound proxies in WebAS 6.20
    You set the break point the same way as described above.
    To start the proxy test you call the report SPRX_TEST_INBOUND.
    As parameters you enter the name of the ABAP interface and the method name of of the ABAP interface and check the parameter Edit Native XML
    In the next screen you apply suitable values or upload the XML payload of the SXMB_MONI (after mapping).
    Then you click first on save button (F11), then on back button (F3).
    Now you should see your debug session. If not, check if the XML is valid. BAPI_GOODSMVT_CREATE to post Goods Movement
    The following is an abap program making used of the BAPI function BAPI_GOODSMVT_CREATE to do Goods Receipts for Purchase Order after importing the data from an external system.
    BAPI TO Upload Inventory Data
    GMCODE Table T158G - 01 - MB01 - Goods Receipts for Purchase Order
                         02 - MB31 - Goods Receipts for Prod Order
                         03 - MB1A - Goods Issue
                         04 - MB1B - Transfer Posting
                         05 - MB1C - Enter Other Goods Receipt
                         06 - MB11
    Domain: KZBEW - Movement Indicator
         Goods movement w/o reference
    B - Goods movement for purchase order
    F - Goods movement for production order
    L - Goods movement for delivery note
    K - Goods movement for kanban requirement (WM - internal only)
    O - Subsequent adjustment of "material-provided" consumption
    W - Subsequent adjustment of proportion/product unit material
    report zbapi_goodsmovement.
    parameters: p-file like rlgrap-filename default
                                     'c:\sapdata\TEST.txt'.
    parameters: e-file like rlgrap-filename default
                                     'c:\sapdata\gdsmvterror.txt'.
    parameters: xpost like sy-datum default sy-datum.
    data: begin of gmhead.
            include structure bapi2017_gm_head_01.
    data: end of gmhead.
    data: begin of gmcode.
            include structure bapi2017_gm_code.
    data: end of gmcode.
    data: begin of mthead.
            include structure bapi2017_gm_head_ret.
    data: end of mthead.
    data: begin of itab occurs 100.
            include structure bapi2017_gm_item_create.
    data: end of itab.
    data: begin of errmsg occurs 10.
            include structure bapiret2.
    data: end of errmsg.
    data: wmenge like iseg-menge,
          errflag.
    data: begin of pcitab occurs 100,
            ext_doc(10),           "External Document Number
            mvt_type(3),           "Movement Type
            doc_date(8),           "Document Date
            post_date(8),          "Posting Date
            plant(4),              "Plant
            material(18),          "Material Number
            qty(13),               "Quantity
            recv_loc(4),           "Receiving Location
            issue_loc(4),          "Issuing Location
            pur_doc(10),           "Purchase Document No
            po_item(3),            "Purchase Document Item No
            del_no(10),            "Delivery Purchase Order Number
            del_item(3),           "Delivery Item
            prod_doc(10),          "Production Document No
            scrap_reason(10),      "Scrap Reason
            upd_sta(1),            "Update Status
          end of pcitab.
    call function 'WS_UPLOAD'
      exporting
        filename                      = p-file
        filetype                      = 'DAT'
    IMPORTING
      FILELENGTH                    =
      tables
        data_tab                      = pcitab
    EXCEPTIONS
      FILE_OPEN_ERROR               = 1
      FILE_READ_ERROR               = 2
      NO_BATCH                      = 3
      GUI_REFUSE_FILETRANSFER       = 4
      INVALID_TYPE                  = 5
      OTHERS                        = 6
    if sy-subrc <> 0.
      message id sy-msgid type sy-msgty number sy-msgno
              with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      exit.
    endif.
    gmhead-pstng_date = sy-datum.
    gmhead-doc_date = sy-datum.
    gmhead-pr_uname = sy-uname.
    gmcode-gm_code = '01'.   "01 - MB01 - Goods Receipts for Purchase Order
    loop at pcitab.
      itab-move_type  = pcitab-mvt_type.
      itab-mvt_ind    = 'B'.
      itab-plant      = pcitab-plant.
      itab-material   = pcitab-material.
      itab-entry_qnt  = pcitab-qty.
      itab-move_stloc = pcitab-recv_loc.
      itab-stge_loc   = pcitab-issue_loc.
      itab-po_number  = pcitab-pur_doc.
      itab-po_item    = pcitab-po_item.
      concatenate pcitab-del_no pcitab-del_item into itab-item_text.
      itab-move_reas  = pcitab-scrap_reason.
      append itab.
    endloop.
    loop at itab.
      write:/ itab-material, itab-plant, itab-stge_loc,
              itab-move_type, itab-entry_qnt, itab-entry_uom,
              itab-entry_uom_iso, itab-po_number, itab-po_item,
                                                  pcitab-ext_doc.
    endloop.
    call function 'BAPI_GOODSMVT_CREATE'
      exporting
        goodsmvt_header             = gmhead
        goodsmvt_code               = gmcode
      TESTRUN                     = ' '
    IMPORTING
        goodsmvt_headret            = mthead
      MATERIALDOCUMENT            =
      MATDOCUMENTYEAR             =
      tables
        goodsmvt_item               = itab
      GOODSMVT_SERIALNUMBER       =
        return                      = errmsg
    clear errflag.
    loop at errmsg.
      if errmsg-type eq 'E'.
        write:/'Error in function', errmsg-message.
        errflag = 'X'.
      else.
        write:/ errmsg-message.
      endif.
    endloop.
    if errflag is initial.
      commit work and wait.
      if sy-subrc ne 0.
        write:/ 'Error in updating'.
        exit.
      else.
        write:/ mthead-mat_doc, mthead-doc_year.
        perform upd_sta.
      endif.
    endif.
          FORM UPD_STA                                                  *
    form upd_sta.
      loop at pcitab.
        pcitab-upd_sta = 'X'.
        modify pcitab.
      endloop.
      call function 'WS_DOWNLOAD'
        exporting
          filename                      = p-file
          filetype                      = 'DAT'
    IMPORTING
      FILELENGTH                    =
        tables
          data_tab                      = pcitab
    EXCEPTIONS
      FILE_OPEN_ERROR               = 1
      FILE_READ_ERROR               = 2
      NO_BATCH                      = 3
      GUI_REFUSE_FILETRANSFER       = 4
      INVALID_TYPE                  = 5
      OTHERS                        = 6
    endform.
    *--- End of Program
    Finding the user-exits of a SAP transaction code
    Finding the user-exits of a SAP transaction code
    Enter the transaction code in which you are looking for the user-exit
    and it will list you the list of user-exits in the transaction code.
    Also a drill down is possible which will help you to branch to SMOD.
    report zuserexit no standard page heading.
    tables : tstc, tadir, modsapt, modact, trdir, tfdir, enlfdir.
             tables : tstct.
    data : jtab like tadir occurs 0 with header line.
    data : field1(30).
    data : v_devclass like tadir-devclass.
    parameters : p_tcode like tstc-tcode obligatory.
    select single * from tstc where tcode eq p_tcode.
    if sy-subrc eq 0.
       select single * from tadir where pgmid = 'R3TR'
                        and object = 'PROG'
                        and obj_name = tstc-pgmna.
       move : tadir-devclass to v_devclass.
          if sy-subrc ne 0.
             select single * from trdir where name = tstc-pgmna.
             if trdir-subc eq 'F'.
                select single * from tfdir where pname = tstc-pgmna.
                select single * from enlfdir where funcname =
                tfdir-funcname.
                select single * from tadir where pgmid = 'R3TR'
                                   and object = 'FUGR'
                                   and obj_name eq enlfdir-area.
                move : tadir-devclass to v_devclass.
              endif.
           endif.
           select * from tadir into table jtab
                         where pgmid = 'R3TR'
                           and object = 'SMOD'
                           and devclass = v_devclass.
            select single * from tstct where sprsl eq sy-langu and
                                             tcode eq p_tcode.
            format color col_positive intensified off.
            write:/(19) 'Transaction Code - ',
                 20(20) p_tcode,
                 45(50) tstct-ttext.
                        skip.
            if not jtab[] is initial.
               write:/(95) sy-uline.
               format color col_heading intensified on.
               write:/1 sy-vline,
                      2 'Exit Name',
                     21 sy-vline ,
                     22 'Description',
                     95 sy-vline.
               write:/(95) sy-uline.
               loop at jtab.
                  select single * from modsapt
                         where sprsl = sy-langu and
                                name = jtab-obj_name.
                       format color col_normal intensified off.
                       write:/1 sy-vline,
                              2 jtab-obj_name hotspot on,
                             21 sy-vline ,
                             22 modsapt-modtext,
                             95 sy-vline.
               endloop.
               write:/(95) sy-uline.
               describe table jtab.
               skip.
               format color col_total intensified on.
               write:/ 'No of Exits:' , sy-tfill.
            else.
               format color col_negative intensified on.
               write:/(95) 'No User Exit exists'.
            endif.
          else.
              format color col_negative intensified on.
              write:/(95) 'Transaction Code Does Not Exist'.
          endif.
    at line-selection.
       get cursor field field1.
       check field1(4) eq 'JTAB'.
       set parameter id 'MON' field sy-lisel+1(10).
       call transaction 'SMOD' and skip first   screen.
    *---End of Program
    u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026
    Difference Between BADI and User Exits
    Business Add-Ins are a new SAP enhancement technique based on ABAP Objects. They can be inserted into the SAP System to accommodate user requirements too specific to be included in the standard delivery. Since specific industries often require special functions, SAP allows you to predefine these points in your software. 
    As with customer exits two different views are available:
    In the definition view, an application programmer predefines exit points in a source that allow specific industry sectors, partners, and customers to attach additional software to standard SAP source code without having to modify the original object. 
    In the implementation view, the users of Business Add-Ins can customize the logic they need or use a standard logic if one is available.
    In contrast to customer exits, Business Add-Ins no longer assume a two-level infrastructure (SAP and customer solutions), but instead allow for a multi-level system landscape (SAP, partner, and customer solutions, as well as country versions, industry solutions, and the like). Definitions and implementations of Business Add-Ins can be created at each level within such a system infrastructure.
    SAP guarantees the upward compatibility of all Business Add-In interfaces. Release upgrades do not affect enhancement calls from within the standard software nor do they affect the validity of call interfaces. You do not have to register Business Add-Ins in SSCR.
    The Business Add-In enhancement technique differentiates between enhancements that can only be implemented once and enhancements that can be used actively by any number of customers at the same time. In addition, Business Add-Ins can be defined according to filter values. This allows you to control add-in implementation and make it dependent on specific criteria (on a specific Country value, for example).
    All ABAP sources, screens, GUIs, and table interfaces created using this enhancement technique are defined in a manner that allows customers to include their own enhancements in the standard. A single Business Add-In contains all of the interfaces necessary to implement a specific task.
    The actual program code is enhanced using ABAP Objects. In order to better understand the programming techniques behind the Business Add-In enhancement concept, SAP recommends reading the section on ABAP Objects.
    What is difference between badi and user-exists?
    What is difference between enhancements and user-exists? and what is the full form of BADI?
    I have another doubt in BDC IN BDC WE HAVE MSEGCALL (i did not remember the > correct name) where the error logs are stored, MSEGCALL is a table or structure.
    What is the system landscape?
    1) Difference between BADI and USER-EXIT.
        i) BADI's can be used any number of times, where as USER-EXITS can be used only one time.
           Ex:- if your assigning a USER-EXIT to a project in (CMOD), then you can not assign the same to other project.
        ii) BADI's are oops based.
    2) About 'BDCMSGCOLL' it is a structure.  Used for finding error records.
    3) Full form of BADI 'Business addins'.
    3) System land scape will be depends on your project 
        Ex:- 'Development server'>'Quality server'-> 'Production server'...... 
    List Of User Exit Related to VL01N
    I need to some restriction in fields ( Actual GI Date, T-Code:Vl01n ).
    How do you find out whcih user exits belongs to VL01n ?
    Here is the list of user exit related to VL01N :
    V02V0001   - Sales area determination for stock transport order 
    V02V0002   - User exit for storage location determination 
    V02V0003   - User exit for gate + matl staging area determination 
    V02V0004   - User Exit for Staging Area Determination (Item) 
    V50PSTAT  - Delivery: Item Status Calculation 
    V50Q0001   - Delivery Monitor: User Exits for Filling Display Fields
    V50R0001    -  Collective processing for delivery creation 
    V50R0002    - Collective processing for delivery creation 
    V50R0004    - Calculation of Stock for POs for Shipping Due Date List
    V50S0001    - User Exits for Delivery Processing 
    V53C0001    - Rough workload calculation in time per item 
    V53C0002    - W&S: RWE enhancement - shipping material type/time slot
    V53W0001   - User exits for creating picking waves 
    VMDE0001  - Shipping Interface: Error Handling - Inbound IDoc 
    VMDE0002  - Shipping Interface: Message PICKSD (Picking, Outbound) 
    VMDE0003  - Shipping Interface: Message SDPICK (Picking, Inbound) 
    VMDE0004  - Shipping Interface: Message SDPACK (Packing, Inbound)

  • 1.3 JNI libraries compatible with 1.4?

    I'm having some problems migrating my software from J2SE 1.3 to 1.4 (on Linux).
    I've not recompiled anything, hoping for Sun's binary code compatibility...
    Strangely enough, the first time I executed my program with the 1.4 VM,
    everything worked just fine. The same program had been running in the 1.3 VM just before that.
    But after rebooting the machine I encountered the first problem - the java program could
    not find my JNI libraries anymore, generating a UnresolvedLinkError.
    *Why did my 1.3- but not the 1.4-environment find the JNI ?
    Before, I didn't need the LD_LIBRARY_PATH variable, but now I used it and set it to the directory where the JNI libs are. This solved the UnresolvedLinkError problem - fine!
    BUT, when I now start up my program it takes about 2 minutes to get it up and after that it works
    real slow....
    Running with the -verbose flag I see that it hangs for a long while after loading the PlainSocketImpl
    <snip>
    [Loaded java.util.Vector$1 from /usr/j2re1.4.0/lib/rt.jar]
    [Loaded java.net.Socket from /usr/j2re1.4.0/lib/rt.jar]
    [Loaded java.net.ServerSocket from /usr/j2re1.4.0/lib/rt.jar]
    [Loaded java.net.SocketOptions from /usr/j2re1.4.0/lib/rt.jar]
    [Loaded java.net.SocketImpl from /usr/j2re1.4.0/lib/rt.jar]
    [Loaded java.net.PlainSocketImpl from /usr/j2re1.4.0/lib/rt.jar]
    *Why is it hanging after that line?
    *Is it necessary for me to recompile my JNI libs?
    *Why is it working so slowly?
    Please help me out!
    Regards
    / Lelle

    I just wanted to tell you that now I've recompiled my Java files but the program still
    stalls on start-up as before.
    I've not yet recompiled the JNI files, although I can't see why that should be needed.
    My command line looks as follows:
    /usr/j2re1.4.0/bin/java -server -verbose -verbose:jni -classpath /usr/Shared.jar:/usr/Server.jar ServerClass 123 JNIlib1 JNIlib2 JNIlib3 JNIlib4
    (123 is the port number for the server to listen to.)
    Something fishy is obviously happening during or after loading java.net.PlainSocketImpl
    <snip>
    [Loaded java.net.SocketImpl from /usr/j2re1.4.0/lib/rt.jar]
    [Loaded java.net.PlainSocketImpl from /usr/j2re1.4.0/lib/rt.jar]
    [Dynamic-linking native method java.net.PlainSocketImpl.initProto ... JNI]
    Any ideas anyone?
    / Lelle

Maybe you are looking for