Business Objects Lead or Architect position open in NJ -pls contact asap

<font color="#800000"><p>Hi,</p>My name is Fahima Hilal and I am a Recruiter . We are Tier one vendors to major Fortune 100 clients. I am contacting you, with regards to your resume being posted on the internet. We have an opportunity that I have listed below. Could you please at your earliest convenience, call me at the number below and email a word copy of your resume to </font>*[email protected]*<font color="#000000">?</font><font color="#800000"> I thank you for your time, and am looking forward to hearing from you.My contact number is 201-982-1099.</font></font><font color="#800000"> <p>Please feel free to forward this requirement to anyone who you think may be interested and looking. </p><p>Regards, </p></font>
Lyndhurst, NJ
10++ months
<u><font color="#800080"><p>Business Objects Project Leader âu20AC" </p><p>we have an urgent and immediate need for a âu20ACu0153take charge/hands onâu20AC project leader to lead a team of 7+ technical Business Objects resources located in New Jersey and Mumbai India. This team is currently responsible for the global support of Business Objects 6.5.2 which is currently utilized by 2000+ users worldwide. This same team is also responsible for upgrading the same Business Objects installation(s) to Business Objects XI Release 2. We have an aggressive timeline of fully deploying BO XI to all GFIS users worldwide by the end of September 2007. This position will require a great deal of personal interaction with all technical resources as well as with several functional liaisons, technical infrastructure, architecture and QA resources. There will be a short time for knowledge transfer from the existing project leader, but the expectation is for this new resource to be able to take full lead of the technical team by mid-March 2007. Excellent oral and written communication skills are a must as the candidate for this project will be the central point of contact for providing project status as well as actively engaging with any functional and/or technical resources in order to get the job done. This candidate will need to insure the continued successful reliability of BO 6.5.2 through critical firmwide year-end usage while moving forward with the BO XI upgrade. This is definitely not an âu20ACu0153entry levelâu20AC project leader position; the candidate should have several years of proven project leader experience as well as a very strong technical background in Business Objects 6.5.X and XI.</p><p>Business Objects XI Rel 2</p><p>Business Object 6.5.X</p><p>Microsoft Project</p><p>Oral Communication</p><p>Written Communication</p><p>Financial reporting concepts</p></font></u>

This position is still accepting resumes/CVs.

Similar Messages

  • How to transfer data between spreadsheets without using Business Objects?

    Hello, every time I try and log onto the business objects platform I keep getting "this system can be contacted but there is no central management server running at port 6400".  All I need to do is pass variables between spreadsheets. Both files are located in the same folder. Below are the links ive tried but have been unsuccessful  to pass data.
    (This link I used the swf loader component child and flash variables task Daya posted on Feb 15. However nothing loaded. The link wasnt a link i could display is in a browser. So i kept getting 0% when in preview mode.
    Passing values from dashboard to dashboard with Flash Variables
    Next I tried the following link. I did everything word for word and was able to display both files on the html page, but no link or connection between them existed. I would select a state and noting happened to the other swf files chart. Does this need to be in the Business Objects platform?
    Dashboards 4.0: Connect to an external
    Lastly , I used the link below. I followed everything and was able to get interaction from the parent to child however with only the files that were available on this thread. Their URL was this http://myxcelsius.com/wp-content/uploads/2010/10/child.swf?salesman=Schrute,Dwight. I get the concatenation but I dont get how this URL was generated? How do I develop my URL? My URL is able to display in a browser. My URL is
    http://kln-ftvp/KLNPheonix//LinkToReport.htm?fqn=MyEnterprise.Public.graphtest&run=true
    SWF Loader shows 100% instead of Dashboard.
    Even with my URL being able to display in internet explorer, I still only show 100% and a blank screen. Can anyone help me with any of the issues I am having trouble with? Your help is most appreciated. Thank you.

    It looks like you have more than one problems so it might be good to separate them out.
    Issue 1 - Logging on to BusinessObjects
    You say that when you try log on to the BO Platform you get the error message there is no central management server running on port 6400. I'm assuming you are trying to do this from the Dashboard designer.
    Does it work when you try to log on from the web browser?
    Make sure that you enter the correct system name in the system field when trying to log on from Designer. If you are unsure, either check what system name is used when you log on from your browser or check with your BO administrator.
    Issue 2 - Passing values to a child dashboard
    If you try to preview the dashboard in the designer, remember that the swf loader doesn't work in preview mode, so whatever you are trying to display won't be visible.
    First of all you need to have 2 separate flash files that works independently of each other. The one that you are planning to use as a child flash, make sure that you create the flash variables so you can pass variables to it and use them to filter your data if that is your requirement. But hold off on that for now.
    When you have 2 working flash files, save them both to the BI Launch Pad (or InfoView if you are on 3.1) and make sure they both work there. Then get the opendocument url for the child dashboard and try to open it in your browser directly using this url. If that works, use the same url in the swf viewer in the parent dashboard, save the parent dashboard back to BI Launch Pad and open it. It should now work.
    Let me know if you have any problems with these steps.
    Cheers,
    Josh

  • Business Object for FNM1 or FNM1S

    Hello alls,
    Does anyone know say what are the business object to the transaction FNM1 or FNM1S?
    It started as a workflow in these transactions for release of payment before the document be counted? The document will count only if the approver release the document for payment.
    Thanks
    Luciano

    Hi Luciano,
    There are a couple of ways to find the business object for a tcode -- both discussed recently. Pls see these threads -
    Re: Configuration settings for parked inv workflows - Z1 & F-04 Doc types
    Bo Object for a tcode
    Regards,
    KKR

  • Hyperlink to open a business object is not working in archived printlist

    Hi
    I have archived a print list in my custom http content repository.
    Generated the indexed print list by running program OACONTA4.
    Archived data file has following lines
       \PCOL5H\PHYP<<BUS2012   \PCOL0H \PHYP>>   \PCOL2HPurchase Order                         
    IDARC1<OBJTYPE>BUS2012<OBJKEY>4500000001<METHOD>DISPLAY \PCOL0H  \PCOL4H4500000001                                       
    \PCOL0H  \PCOL2HZODTIF    \PCOL0H    \PCOL2HTest Image Documents               
    \PCOL0H  \PCOL5H\PHYP<<ZW            DE0978D42F2FA9F1AEDE0019B934DDB9       \PHYP>>
    IDARC1<OBJTYPE>IMAGE<OBJKEY>ZWDE0978D42F2FA9F1AEDE0019B934DDB9<METHOD>DISPLAY                                                                            
    \PCOL0H  \PCOL2H23.02.2009\PCOL0H    \PCOL2H         
    I am able to open archived print list using OADR.
    The hyperlinks in archived file are highlighted with different color  and cusror change when moved to "BUS2012" or "ZW            DE0978D42F2FA9F1AEDE0019B934DDB9       "
    Here "DE0978D42F2FA9F1AEDE0019B934DDB9" is archived document Id
    "4500000001" is purchase order number
    "ZW" is content repository
    "ZODTIF" is document type.
    But when I try to open the business object or the document, nothing happens.
    Then I changed the DARC line in the data file in repository to
    IDARC0ZW        DE0978D42F2FA9F1AEDE0019B934DDB9       
    After this I was able to open the document from link.
    Can anybody help on this? Why hyperlink is not working to open a business object
    Version details :
    SAP ERP ECC 6.0
    SAP NW 7.0
    References :
    http://help.sap.com/saphelp_40b/helpdata/pt/4f/9938ff446d11d189700000e8322d00/frameset.htm
    http://help.sap.com/saphelp_nw70/helpdata/en/4f/9938ff446d11d189700000e8322d00/frameset.htm
    Thanks in advance !
    Ruhi

    Uninstall the ASK toolbar from addons and problem ll be solved.
    Tools>> addons >> uninstall ASK /Foxit toolbar >> Problem solved

  • Business Objects Open Connectivity Configuration in Universe Connection

    Friends,
                   i'm trying to create a Universe based on a flat file. I found out this Business Objects Open Connectivity (in Generic Sources) to use files as sources.
    But I'm not sure how to use it? Can anyone help with this or share a doc how to use this functionality?

    Hi BHARATH C S ,
    Follow the below steps.
    1. Save the Excel in Local disk.
    2. Go to Start>>Control Panel>>Administrative tools>Data Sources(ODBC)
    3. Select System DSN>>Add>>Microsoft excel Driver(*.xls)
    4. Give a new data source name and click on 'Select workbook' and point the saved excel sheet and click on OK
    5. Create a new connection in Universe designer by using the Generic ODBC connection
    6. Create a new universe and insert the table which we have defined in the Excel sheet.
    If this solve your issue then Mark the answer as a correct.
    Regards,
    Anish

  • Open  Business Objects report with J2SE

    Hi, How can I do to open a Business Objects report with J2SE aplicattion?
    Thanks,

    Depending on the version of Crystal Reports / Business Objects you have, there are Java libraries you can use to connect to the Business Objects Application server. I spent a lot of time on BO's website figuring it out. In the end i only needed a few libraries to connect, and ask the server to print a report. I remember that there was a way to have the server send a pdf as a binary stream, that you could then save as a pdf file and read. You can do a lot more with the SDK, to the extent of creating your own report creation tool. If you would like some specifics, i might be able to find the some of the documentation i used. It all came from the BO website.
    Wish i could be more help
    chip.
    Edited by: Chipper on Mar 3, 2010 3:29 PM

  • How to save the instance in standard lead from custom business object

    Hi Experts,
              I am unable to save the instance(Record) in standard Lead business object from custom business object.
    Steps:
    created one custom business object with mandatory fields for creating instance in standard lead.
    in quick create screen i bind  data elements to standard lead business object elements.
    issue:
    when i click on preview i am getting exception as Arguments not found
    can you please tell me that How to save the instance in standard lead from custom business object with step by step .

    Hi Vijay,
    Please refer this link under that mentioned that how to create lead using ABSL code
    Web 2 Lead in SAP Cloud for Customer, step by step - Part 1 - myCloudDoor myCloudDoor
    Under the "Action-CreateLead.absl" mentioned how to create lead
    the above link for convert web 2 lead functionality and under they create lead using web data from ABSL code.
    Regards,
    Mithun

  • Optimum approach to architect BI solution in Business Object and SAP BI

    Hi Expects , I as long as my experience going in delivering BI solution in Business Object and SAP BI We have option to connect to SAP BI via Building BO Universe on SAP BI cube or BEX Query . Now take a example we have 1000s of BEX queries in production. So Should I architect the solution recommending creation of 1000s of BO Universe. Which I donu2019t feel fusible option. You may reply me back saying create BO Universe on SAP BI Cube/Multiprovider, which will reduce no of universe to be created . But at the same time couple of questions comes in my mind u20131. Will I be able to leverage SAP BIA (SAP Business Intelligence Accelerator) to get best performance . 2. As of now BIA dose not accelerate queries build on Multiprovider ??? I believe When I Build Universe on BEX Query It will leverage BIA , But Not sure what will happen if I build BO Universe on Cube. Can we collectedly arrive at Optimum approach to architect Bi solution in Business Object and SAP BI ?? Comments are welcomed Regards Ashutosh D

    Ashuthosh...
    You might want to have a look at Pioneer for another option for your architecture.
    https://www.sdn.sap.com/irj/scn/subscriptions/content?rid=/media/uuid/905d0ad2-9060-2b10-73bc-ce42a5668c6e
    Arun

  • How to open Crytal report deployed in Business Objects 3.1 CMC using C# cod

    WE designed the report using Crystal report 2008 and then deployed the reports in Business Objects 3.1
    The deployment server has below details
    BO:   BO 3.1 no fix packs
    OS:   AIX 5.3
    WebSphere: 6.1.0.25
    Now we have an Intraday website devveloped with ASP.net 3.5 hosted on a Windows 2003 server. the backend is SQL server 2005. I need  sample C# code  that can be used to open the crystal report deployment in Business Object 3.1 UNIX server as mentioned above.
    Any assistance is highly appreciated.
    P:S I didn't find any documentation/sample in this website.
    Regards,
    Ashok

    The developer library documentation can be found at:
    http://www.sdn.sap.com/irj/boc/sdklibrary
    Look for "Business Objects Enterprise .NET SDK - Developer Guide and API references" links.
    There are tutorials and code snippets in developer guide.
    The samples can be found at:
    http://www.sdn.sap.com/irj/boc/index?rid=/webcontent/uuid/706de3ab-8186-2b10-15aa-e4c5e73283f1 [original link is broken]

  • Open CrystaReport on Business Object Infoview

    Hy, i have this problem: i create a crystal report and i publish on particular folder. The problem is when i try to open this report on Business Object Infoview because i receive this error message: Unable to find servers in CMS ..:6400 and cluster @...:6400 with kind cacheserver and service BlockingDocumentConnectionRepository. All such servers could be down or disabled by the administrator. (FWM 01014) [RASLIB9006]
    Could you help me?
    Thank's a lot.
    Sincerely yours,
    Andrea Maraviglia

    Hello Andrea,
    some basic checks:
    As already suggested check: Are the server running and enabled in CCM ?
    Can you open the CMC ?
    Can you open your report in CMC?
    Can you open other reports in the CMC ?
    Can you open other reprots in Infoview ?
    Thanks for keeping us informed
    Falk

  • Unable to open a Business Object iView

    Hi all,
    We have created a URL Iview with "http://" url we have a problem that when we access the link from a load balancer portal with "https://"  the url of the Business Object automatically changes into "https://" and hence it is not working
    Can you please help ? Is this a configuration Issue in the backend.

    Hi
    Usually SAP do not allow switch from secured to unsecured environment.Try putting a web dispatcher as a reverse proxy with https and keep both portal and BO in http,or configure https for BO server.
    There are wikis for BO integration with portal which you can follow.
    [http://wiki.sdn.sap.com/wiki/display/BOBJ/NetWeaver+Integration]
    Regards

  • FORTE positions Open in California

    To all Senior OO/Forte Architects/Developers
    My firm, Vicon Solutions, Inc. is a lead placement agency for positions that
    opened up for senior Object Architects within a major firm in Sacramento,
    California. They are looking for Senior OO developers/architects.
    They will immediately train you in the OO language Forte (if needed), and
    place you as a senior Architect or Developer on a major Forte project.
    The firm is a 75% employee owned firm (25% of the firm is traded on Nasdaq,
    which lets one value his shares easily)
    Their compensation includes: salary + bonus + stock + full benefits + paid
    training + relocation package
    If interested, please send a resume as verification, along with current
    salary information and desired salary for a Sacramento position.
    Positions exist for Project Leaders, Senior Architects and all levels of
    developers
    Referral Fees paid.
    Jason Denmark
    Vicon Solutions, Inc.
    email: [email protected]
    fax: 718-727-2020
    voice; 718-727-7500
    http://www.net-temps.com/vicon/index.html

    At 03:03 PM 5/29/97 -0400, garlic![email protected] wrote:
    To all Senior OO/Forte Architects/Developers
    My firm, Vicon Solutions, Inc. is a lead placement agency for positions that
    opened up for senior Object Architects within a major firm in Sacramento,
    California. They are looking for Senior OO developers/architects.
    They will immediately train you in the OO language Forte (if needed), and
    place you as a senior Architect or Developer on a major Forte project. Wait, let me get this straight... They plan to take someone who has never
    seen Forte before (which probably also implies no distributed object
    experience), send them to language training, and then put them in an
    architect position on a distributed object system?
    Please, tell me that I don't understnad something...
    Stephen

  • Use of identifier in ByD Studio business objects

    As Wed Feb 2nd in VQ3), we introduced a new identifier data type for partner BOs.
    ByD Studio contains 2 identifier:
    element ID                 : ID;                  // identifier 2 (SAP "best practiceu201D)
    element Identifier   : Identifier;           // identifier 1 (u201CCCTS compliant")
    As the CCTS-complient  data type u201CIdentifieru201D has various difficulties, we recommend urgently to use the data type "ID". The differences between the two data types is explained below:
    1. Length
    The DT Identifier has a length of 255 char.
    The DT ID has a length of 60 char.
    2. Upper case conversion
    The DT ID supports upper case only. User entries with lower case characters are automatically converted to upper case. This is the same behavior as almost all ByD identifier data types (e.g. BusinessTransactionDocumentID, ProductID, BusinessPartnerID, etc.)
    The DT Identifier supports lower case letters as well.
    3. Alpha conversion
    The DT ID supports alpha conversion. User entries which contain number characters only are filled with zeros from the left side (leading zeros). On the UI the leading zeros are suppressed automatically. This is the same behavior as almost all ByD identifier data types (e.g. BusinessTransactionDocumentID, ProductID, BusinessPartnerID, etc.) The DT Identifier does not support alpha conversion. This leads to an u201Cunexpectedu201D sort order on the UI.
    This leads to the following sort behavior:
    Sort order ID     Sort order Identifier:
    .1.1                           .1.1
    1                            1
    5                            1.1
    10                            10
    15                            100
    50                            15
    100                            5
    1.1                            50
    ABC                            abc
    (no lower case)       ABC
    4. Structure
    The ID data type is flat. There is no need for the u201C.Contentu201D suffix any longer.
    The Identifier data type is structured (contains supplementary components), so the  u201C.Contentu201D suffix  is needed (although the supplementary components are disabled in the BO).
    5. Behavior in ByD script coding:
    The following coding works fine:
    import ABSL;
    var x = 1;
    if (this.ID == "") {
    // is true if ID is initial
    this.ID = x.ToString();
    this.ID = "1";
    if (this.ID == "1") {
    // is does not work, because u201C1u201D was filled with leading zeros
    if (this.ID == "000000000000000000000000000000000000000000000000000000000001") {
    // is true now because u201C1u201D was filled with leading zeros
    raise IDMessage.Create("I", this.ID);
    // leading zeros are suppressed on the UI: u201CID: 1u201D
    6. Restrictions in Extensibility and Analytics:
    Only the ID data type will be supported in extensibility and analytics:
    Extensibility: It will be possible to add an extension field in an BO extension (planned for FP3.0).
    element ID                 : ID;                  
    Analytics: Analytics supports only character fields with a maximum length of 60 characters & alpha conversion.
    Consequence: the u201CIdentifieru201D DT cannot be used in Extensibility and Analytics.
    7. Adoption
    If you have used the data type "Identifier" before and want to change the BO to "ID", the following adoption tasks are necessary:
    a)     Business Object: change the BO definition file (see point 1)
    Note: During my tests I got a activation error. In this case I solved the problem by Clean -> Save -> Activate. In this case, test data are lost
    b)     Business Object: Implementation: remove the u201C.Contentu201D suffix
    c)     UI: After the BO change, the following runtime error occurs in the affected UI. In the error text the following text occurs: u201CMapping of proxy name of attribute  failed.u201D
    Solution: Open the UI Designer,
    (1)     Tools -> Update Meta Data
    (2)     Go to the data model and do u201CUnbindu201D and u201CBindu201D again for the affected field
    (3)     Save & Activate
    d)     MDAV, Forms, Web services -> not analyzed. Assumption here is that the dependent objects have to be cleaned and activated.

    OK, I have found your code in your previous post.
    It works in 9.2.0.1.0 and 8.1.7.0.0.
    SQL> CREATE OR REPLACE TYPE t_assoc_agents_address AS OBJECT
      2  (V_CONTACT_NAME VARCHAR2(120),
      3  V_ADDRTYPE VARCHAR2(80),
      4  V_ADDRESS_LINE1 VARCHAR2(50),
      5  V_ADDRESS_LINE2 VARCHAR2(50),
      6  V_ADDRESS_LINE3 VARCHAR2(50),
      7  V_CITY_STATE_ZIP VARCHAR2(100),
      8  V_PHONE VARCHAR2(50),
      9  V_ADDRESS_FAX VARCHAR2(30),
    10  V_ADDRESS_EMAIL VARCHAR2(80)
    11  )
    12  /
    &nbsp
    Type created.
    &nbsp
    SQL> CREATE OR REPLACE TYPE nt_assoc_agents_address AS TABLE OF t_assoc_agents_address
      2  /
    &nbsp
    Type created.
    &nbsp
    SQL> var c refcursor
    SQL> col v_address_fax format a15
    SQL> col v_address_email format a15
    SQL> declare
      2   lv_assoc_agents_add_out nt_assoc_agents_address
      3   := nt_assoc_agents_address(
      4     t_assoc_agents_address(null,null,null,null,null,null,null,
      5     'New Fax', 'New Mail')
      6   );
      7  begin
      8   open :c for select V_ADDRESS_FAX,V_ADDRESS_EMAIL from
      9   table(cast(lv_assoc_agents_add_out as nt_assoc_agents_address));
    10  end;
    11  /
    &nbsp
    PL/SQL procedure successfully completed.
    &nbsp
    SQL> print c
    &nbsp
    V_ADDRESS_FAX   V_ADDRESS_EMAIL
    New Fax         New MailWhat is your Oracle release and how are you using ref cursor (if I interpret your example right) ?
    Rgds.

  • Changing the Data source in Business Objects XI

    Hi,
      Is it possible to change the data source(not universe) in runtime to generate business objects reports. I am using BOXI 3.1.
    Below is the code I am using to change the universe in runtime. I would like to change this so that i can change the data source instead of changing the universe. My intention is to generate report from multipple database using same universe. Right now I am using multipple universes connected to multiple datasources to achieve this. I am using Report Engine SDK(Java).
               if("Webi".equals(mDocKind))
                   // Added for multiple database support
                   DataProviders dataProvs = documentInstance.getDataProviders();
                try{
                    //To support multiple queries in BO reports
                 for(int count=0;count<dataProvs.getCount(); count++){
                   DataProvider dp=dataProvs.getItem(count);
                   DataSource ds= dp.getDataSource();
                   infoUniverseObjects = getUniverseObject(infoStore,NewUniverseName);
                   infoUniverseObject = (IInfoObject)infoUniverseObjects.get(0);
                   String newDsCuid = infoUniverseObject.getCUID();
                   dataProvs.changeDataSource(ds.getID(), "UnivCUID=" + newDsCuid, true);
                   if(dataProvs.mustFillChangeDataSourceMapping())
                        // Re-map data source to target Universe objects
                        ChangeDataSourceMapping mapping = dataProvs.getChangeDataSourceMapping();
                        ChangeDataSourceObjectMapping[] maps = mapping.getAllMappings();
                        dataProvs.setChangeDataSourceMapping();
                    }//for dataProvs.getCount()
                }catch(Exception e)
                      mLogger.info("BOReportObject","createReport","Inside multiple data providers loop"+e.getMessage());
    Thanks in advance
    Shameer
    Edited by: Shameertaj on May 20, 2009 3:08 AM

    Hi Shameer,
    I think this is only possible with the Universe Designer SDK (which is only available in COM).
    Please kindly refer to the API reference for the Universe Designer SDK for more details:
    http://help.sap.com/businessobject/product_guides/boexir31/en/bodessdk.chm
    Also, please note that changing the universe connection when viewing a document on-demand is not recommended because this could lead to possible issues.
    For example:
    Two users trying to view documents that uses the same universe at approximately the same time.
    But user A wants to use connection X and user B wants to use connection Y.
    This could lead to an error while openning the document or while refreshing/retrieving the the data.
    Hope this helps.
    Regards,
    Dan

  • Business Object Repository ( B O R )

    Can some one please send me some data or links from where I can get data on Business object repository .

    Hi,
         SAP's Business Object Repository gives you an improved way to integrate business processes with external partners -- an increasingly necessary ability in the burgeoning e-marketplace economy.
    The age of e has had a profound effect on the IT industry. Not only has it changed our way of life, but it has also forced systems such as SAP to embrace a new era of openness. Marketplace demands for flexible automation of inter-business workflow and intelligent data exchange have forced formerly very proprietary ERP systems to begin helping customers integrate with other companies and with e-marketplaces data formats. For the first time, companies must expose their business processes to the outside world.
    In order to achieve this openness, SAP provides a technical infrastructure for the R/3 product, the Business Object Repository (BOR), which provides a simple yet powerful mechanism for external systems to trigger core business processes (such as placing an order) without concern for the underlying data structure. This level of abstraction is beneficial because it decouples R/3 from the external system. Either system is therefore free to change its internal business processes without affecting the other. SAP provides this technical infrastructure using a component-based view of its system. Each component or object provides a view of the data and the business processes that interact with that data. External systems can access this data via BAPI methods, which in turn access the underlying data structures of the system. It is the responsibility of the object and the BAPI to ensure the integrity of the data. This encapsulation of the data not only lends itself to external interfaces, but by using objects from within SAP, you can greatly reduce implementation, testing, and maintenance effort via the promotion of code reuse.
    Business Objects
    A business object is a problem-domain entity that you model in the SAP system, such as SalesOrder, BillingDocument, and Employee. The BOR stores all the objects in the R/3 system. The repository is a group of all the objects in the R/3 system. If the focus of objects is to model atomic business processes then it can be said that the BOR provides an enterprisewide view of business processes. By designing your ABAP code to fit your business processes you increase the ability of that code to flex when those processes are altered or integrated with external systems. This had made the object-oriented approach, which the BOR provides, essential to developing inter-business or e-business functionality.
    Attributes
    A business object is primarily represented by its attributes. You perform actions, such as create, update, or delete on the attributes by calling the methods of the object.
    Attribute NetValue of Object BUS2032 (SalesOrder).
    The majority of attributes are data-dictionary fields (for example, the NetValue attribute is defined by VBAK-NETWR). When you access an attribute of an object, you execute a SQL statement that retrieves the corresponding field in the database.
    Definition of attribute NetValue.
    You can also define attributes that do not exist in the data dictionary. These attributes are called virtual attributes. For example, a business partner has an attribute called BirthDate that is stored in the data dictionary. You can add a virtual attribute to the BusinessPartner object called Age. The age of a business partner is not stored in the database, but you can calculate it using the current date and the birth date of the business partner. If you implement the ABAP code that calculates Age, every time you access the Age attribute, the code executes and returns the business partners age.
    Definition of virtual attribute Age.
    This is an excellent example of one of the tools that a component-based approach provides. The external system does not need to concern itself with how to gather the data that it requires. The calling program needs only to access the attribute for the data to be returned. This is how business objects decouple the calling program (whether it be in R/3 or external to R/3) from the internals of R/3.
    The BOR lets you define multi-line attributes. These attributes define one-to-many relationships between an object and other fields. These objects can be defined in the data dictionary or can also be virtual attributes.
    An attribute that uniquely defines an object in the system is called a key attribute. In the case of a SalesOrder, the key attribute is VBAK-VBELN (the TableName and FieldName). It is not uncommon for an object to have several key fields. An example of this is object is the SalesArea (BUS000603) object type which has SalesOrganization (TVTA-VKORG), DistributionChannel (TVTA-VTWEG) and Division (TVTA-SPARTE) as key fields.
    Methods
    As mentioned earlier, the methods of an object represent the actions you take with objects attributes. An action in this example would include retrieving the status of one or more sales orders based on specific criteria. Methods are analogous to function modules in that they have importing and exporting parameters as well as exceptions, which you view by selecting a method and clicking on the toolbar button. This allows external systems (or internal developments) to pass and accept parameters from these methods just as if they were using function modules -- allowing external systems to call methods.
    In Figure 4, the methods shown with the green LED are BAPIs that are called specifically from external systems. They can, however, be called from within the system itself. The method shown with the stop sign is obsolete, but retained for backward compatibility, and should not be used in new developments.
    Methods of SalesOrder.
    Delegation and Subtyping
    One of the most complex concepts in object-oriented development is that of inheritance. This concept lets you extend core functionality by creating a child of the parent object that inherits all of its attributes and methods. For example, a Manager object is a subtype (child) of the Employee object. The Manager object has all the attributes of an Employee object (such as EmployeeID or Name) but also has some extra attributes (such as CompanyCar or ParkingSpace). SAP has not implemented inheritance in the BOR. However, it has provided subtyping and delegation, which offer an alternative way to extend R/3 functionality.
    Subtyping
    A subtype of an object is another object whose creation is based upon a parent object (see the preceding manager/employee example). The subtype maintains references to all the attributes and methods of its parent object. This means that any methods and attributes defined on the parent can be executed and accessed on the child object. I have often heard less-experienced developers refer to subtyping as copying the parent object. Although the effects can be similar, in order to achieve an understanding of some of the more advanced concepts, such as interface inheritance, it is important to realize that this is not accurate.
    If a subtype object were merely a copy of its parent, then all the code contained within the parent would be physically copied to the child. This is not the case. The subtype simply maintains references to its parents methods and attributes. The real difference is that the subtype lets you redefine these methods and attributes. You can easily add your own business rules to the parent methods by redefining the subtypes method. In the following example, I will show why this distinction is so important.
    Subtyping Case Study
    As an ABAP developer at Acme Tyres Pty. Ltd., you have been given the task of implementing some security measures for the companys online store. The requirement is simple: The password must be at least six characters long.
    Modifying SAP code leads to costly and complicated upgrades due to the modified code being overwritten by the newly delivered SAP code. Therefore, The challenge is finding a way of implementing the business logic without modifying SAP code.
    After some investigation, you realize that the method CHANGEPASSWORD (in BAPI) on the object KNA1 (Customer) is called when customers change their passwords. All you need to do is create a subtype of KNA1 and then redefine the CHANGEPASSWORD method adding the ABAP code to ensure that the password is a minimum of six characters long. It is of course not wise to change SAP code even assuming you have the passwords, which can be provided only be SAP. After the method is redefined, you just need to implement the business rules in ABAP.
    FIGURE 5 Redefinition of ChangePassword method.
    It is imperative that once you redefine the method it still behaves in a similar manner. You are allowed to add extra business logic, but the method must still change the password rather than do something unexpected, like delete a customer. This is particularly important when SAP is being accessed from external systems. The external system will expect a method to provide certain functionality. The developer should take care to ensure that this expectation is met.
    Delegation
    Now that you have implemented a new CHANGEPASSWORD method, you need to tell the SAP system to use the redefined version of CHANGEPASSWORD and not the version that was delivered on the KNA1 object. This is similar to object-oriented inheritance but the two concepts do have fundamental differences.
    Delegation for objects.
    By making an entry in the delegation table, you tell R/3 that before executing a method on KNA1, it should first check if that method has been redefined on the subtype. If it has, then the system executes the redefined method . If it hasn't, then the system executes the original method. Figure 7 illustrates this process.
    Execution flow for methods with delegation.
    This delegation is powerful because it lets you implement your own business logic without modifying any SAP code. As long as the objects are properly delegated, your method will be executed.
    Responsibility
    So far I have shown you two major components of an object, its attributes and methods. The difficulty in SAP is that it has traditionally been a data-driven, procedural-development approach. The BOR is not well understood by developers and managers and thus it is shunned by those that stand to gain the most from it. If managers and developers alike would take a formalized approach to development using business objects, significant savings in the development, testing, and maintenance phases would be achieved. This is due to the high level of re-use that business objects encourage.
    Having said this, when a powerful tool is put into the hands of an inexperienced person, chaos can (and usually does) ensue. If object-oriented design principals are not adhered to, then the resulting code has poor reusability and maintainability. Although an in-depth discussion of design issues is beyond the scope of this article, I will introduce in the following section one of the more fundamental design aspects of BOR programming: Responsibility.
    When you are given the task of creating a method or attribute on an object, one of the most important questions you should ask is, Does this attribute or method belong on this object? This question is fundamental to an object-oriented design and the answer can make a world of difference. Answering this question incorrectly has detrimental effects on the development effort resulting in methods and attributes strewn across myriad objects, with no coherent structure. If the methods and attributes were strewn across several objects, it would be more difficult to provide a uniform interface to external systems. If an external system wants to execute a particular business process in R/3, it may need to access several business objects, thus increasing coupling and reducing the layer of abstraction between R/3 and the external system.
    Lets take, for example, the requirement to be able to update a sales order. This is a common requirement and one that SAP usually implements for you. For the sake of the example, lets assume that SAP has not implemented this method. You will need to implement your own UPDATE method on one of the business objects. The question here is: Which object? This question is what I term as defining responsibility. Which object is responsible for having the UPDATE method on it? As shown in Figure 4, the answer in this cases is BUS2032 (SalesOrder). If you put it on any other object then you run the risk of no one else knowing of its existence. Next time there is a requirement to update a sales order, the developer will develop an additional method. You would then have two separate pieces of code that implement the same functionality. This duplication doubles development, testing, and maintenance requirements. On large projects, this can become a real problem and a maintenance and testing nightmare.
    SAP recognizes the challenges facing developers in the e-business era. It is aware that if it wants to take R/3 to the next phase, it needs to continue evolving the ABAP language and ensure that powerful development tools are available to SAP developers.
    Rising to the challenge, SAP has begun developing extensions to the ABAP language called ABAP objects (see "Introducing ABAP Objects," in the IntelligentERP feature archive for an excellent introductory article to ABAP objects by Jürgen Heymann and Horst Keller). These extensions will provide ABAP developers with a full range of object-oriented tools. Eventually, these new extensions will make BOR obsolete. However, the use of object-oriented development is sure to be an integral part of future SAP developments, regardless of where the world of e takes us.
    Reward points
    Regards

Maybe you are looking for

  • Still not working please help

    I was here a while ago about the flash player not working. I downloaded 9 and it worked for a little but some how I would have to keep re instaling it. Now it is installed but not in manage add ons. The only thing is adobe reader. I can see the other

  • Blank screen on edge inspect when viewing reflow project

    I'm trying to view my reflow project on an iphone 5 through the Chrome plugin but every time I connect to the phone all I get is a blank screen. If I add a chrome tab and view another page like google.com for instance I see it fine on the phone.  Any

  • Image not displayed on the button

    I don't know why, but I can't seem to view any image set on a button.   Image minimize = new Image(getClass().getResourceAsStream("images/min.png"));       Button button1 = new Button();       button1.setGraphic(new ImageView(minimize));Even the Butt

  • Browser close button / unload event

    Hi, In Ie8 session is carrying when i close the browser using X button. Is there any way to capture this browser close button or any portal unload event. Thanks Manu

  • How to find out iphone original carrier?

    Anyone please help me to find out..i want to unlocked my iphone....