Function Point Analysis in SAP

Dear All,
I am a Technical Consultant, currently working with the Quality Team on a temporary basis.
Can anyone please point out how to perform estimation of projects in SAP with the help of Function Point (FP).
If it is difficult with FP then give some alternate methods.
Regards,
Arun Krishnan.G

Dear,
As found in other reply as: Function Point Analysis is independent of technology, methodology or platform, so there is no function point analysis specific for sap, rather you should familiarize with the fundamentals of FPA.
And as you might know, FAP is used to determine whether a given a tool, an environment or a language is more productive when compared to others.
There are lot of links you can found related to FPA and IFPUG. Check with net search.
Regards,
Syed Hussain.

Similar Messages

  • Function Point Analysis for SAP BW Projects

    Hello All,
    Have been assigned a task to come up with Function Point
    analysis for SAP BW projects.
    Any help will be appreciated.
    Thanks,
    Mainak

    Hi Mainak,
      Function Point Analysis is independent of technology, methodology or platform, so there is no function point analysis specific for sap bw, rather you should familiarize with the fundamentals of FPA.
      And as you might know, FAP is used to determine whether a given a tool, an environment or a language is more productive when compared to others.
      I can send you good links if you can give me your email-id.
    Hope this helps...
    Thanks,
    Raj

  • Function Point Analysis Report

    Hi!
    We use Function Point Analysis Report in Oracle Designer 6.0 (it exist even in Designer 1.3.2) and now we´re migrating to Oracle Designer 9i.
    I was trying to use "Function Point Analysis Report" in Oracle Designer 9i but it doesn´t exist anymore.
    Does anybody knows how to get function point analysis report now?
    Or does anybody have any suggestion on how to get this report?

    These reports were removed in the move from 6.0 to 6i. You can create your own repository reports if you need them. There is a document on OTN describing how you can do this on the Repository Site, under a section called Sample code: http://otn.oracle.com/sample_code/products/scm/index.html
    Regards
    Sue Harper

  • Template doc regarding Gap analysis of SAP BI -MM

    Hi Gurus,
    Can any one send a template doc regarding Gap analysis of SAP BI -MM

    HI,
    Gap Analysis:
    In simple terms: Gap means small cracks. In SAP world or in Information Technology world, gap analysis is the study of the differences between two different information systems or applications( ex; existing system or legacy system with Client and new is SAP), often for the purpose of determining how to get from one state to a new state. A gap is sometimes spoken of as "the space between where we are and where we want to be."
    Gap Analysis is undertaken as a means of bridging that space. Actual Gap Analysis is time consuming and it plays vital role in Business Blueprintstage.
    A through Gap Analysis will identify the gaps between how the business operates and its needs against what the package can can't do. For each gap there will be one of three outcomes which must be recorded and actioned,
    1. GAP must be closed and customised software can be developed
    2. GAP must be closed but software cannot be written therefore a workaround is required
    3. GAP does not need to be closed.
    A point worth mentioning here is that at time people confuse between user-exits and Gap Analysis. User exits are standard gate ways provided by SAP to exit the standard code and we can write our own code with the help of ABAP workbench, its not new functionality which we are trying to build in sap but its slight enhancement within the same code.
    Gap analysis is start point of Realization and once business Blueprint is finished we have to find the realization of sap system for client requirment and there will be certain gaps when compared to system fit. Those gaps can be closed either by re-engineering of business process to fit with SAP or we have to use USER exits in case of small deviations or complete enhancements with the help of ABAP to fit with the SAP system.
    The Gaps can differ from company to company. Most commonly, however, missing functionality is industry-specific.
    GAP Analysis
    Re: gap analysis
    Re: gap analysis
    Tarak

  • Calling RFC function module in other SAP system...

    Hi,
    I have a report on one SAP system and a function module on other system. The function module is RFC enabled. How can I call this RFC enabled function module from other SAP system in the report which is different SAP ?
    system.
    Thanks.
    Regards,
    Rajesh.

    call the function module in orginal system in se38 ,copy the function module ,paste the function module in other system,and maintain destination here ,otherwise you will get short dump.
    here detination should be SM59 destination,this is case sensitive.
    Reward Points if it is helpful
    Thanks
    Seshu

  • How to print the text in points wise in sap script

    hi friends,
    how to print the text in points wise in sap script.
    ex: if suppose paragraph consists of 15 lines. then according to one sentence or one fullstop (.) it should give point 1. like that...
    1. hai how ru.
    2. what r  u doing.
    3.where r u.
    like this i want numbering.. waiting for ur replys.
    thanks,
    kiran

    declare a counter
    data : cnt type char 4.
    print :
    cnt = cnt + 1.
    &cnt& &text&
    cnt = cnt + 1. and so on.
    or.
    if the data is in an internal table
    loop at internal_table.
    cnt = cnt + 1.
    write form.
    in script -&cnt& &text&
    endloop.
    Edited by: NIKHILKUMAR POOJARI on Nov 17, 2008 11:18 AM

  • Assigning a variant string to a function pointer issue?

    Hello,
    This is a little complex for me to describe, so I will try my best to explain !
    I don't know if this is doable in C?
    Basically, I need a function pointer to hold the name of a function coming form a character array!
    From the examples I have seen, it seems that what I am trying to do is not the conventional way of doing function pointers, but I don't see any other way of doing what I need to do.
    In one instance, the function pointer in my code, will require to be assigned a function name like this:
    _g_BlkFuncs_ =_BUF_FUNC_PTR_ParseBlockStatus;
    and at other instances, the same function pointer needs to be assigned to a function called:
    _g_BlkFuncs_ =_INV_FUNC_PTR_ParseBlockStatus;
    and at other instances:
    _g_BlkFuncs_ =_AND_FUNC_PTR_ParseBlockStatus;
    or
    _g_BlkFuncs_ =_OR_FUNC_PTR_ParseBlockStatus;
    etc....
    The only time I will know which function to assign is when I will retrieve the first part of the function name from a table called
    _x_UserPrgBlock_. The first part being the name differentiator such as "_BUF_", "_INV_", "_AND_", "_OR_" and so forth which
    is initially stored in the one of the table members called m_LogicElement_ residing in the _x_UserPrgBlock_ table or struct.
    In the example below, I made it simple by hard coding the assigning of the m_LogicElement_ member as "_BUF_" (see the line commented as "Manual assignment line" below). In reality the  m_LogicElement_ member is assigned from
    a user defined string which will vary from time to time. 
    Here is the sample snippet which shows the issue.
    ================================STRUCT.h
    #ifndef STRUCT_H
    #define STRUCT_H
    typedef struct USR_PRG_CNV{ // User program converter table
    char m_LogicElement_[2][knst_BUF_LOGIC_ELEM]; // Name of the logic block
    } User_Prg_Block;
    #endif
    =================================_BUF.h
    #ifndef BUF_H
    #define BUF_H
    void _BUF_FUNC_PTR_ParseBlockStatus(void);
    #endif
    ================================_BUF.c
    void _BUF_FUNC_PTR_ParseBlockStatus(void){
    int i = 0;
    i = 10;
    ===============================UPC.h
    #ifndef UPC_H
    #define UPC_H
    void AssignmentFunc();
    #endif
    ===============================UPC.c
    User_Prg_Block _x_UserPrgBlock_[2];
    void AssignmentFunc(){
    strcpy(_x_UserPrgBlock_[0].m_LogicElement_, "_BUF_"); // Manual assignment line
    ===============================DFP.c
    #include "_BUF.h"
    void (*_g_BlkFuncs_) (void);
    char volatile _g_FuncPtrStrVariant_[35];
    void SomeFunction(){
    strcpy(_g_FuncPtrStrVariant_, _x_UserPrgBlock_[0].m_LogicElement_); // Get "_BUF_"
    strcat(_g_FuncPtrStrVariant_, "FUNC_PTR_ParseBlockStatus"); // Complete the function name
    // Now try to assign the full function name to the function pointer
    //_g_BlkFuncs_ = _BUF_FUNC_PTR_ParseBlockStatus;
    //_g_BlkFuncs_ = &_g_FuncPtrStrVariant_;
    _g_BlkFuncs_ = _g_FuncPtrStrVariant_; // ???
    ==============================Main.c
    void main(){
    AssignmentFunc();
    SomeFunction();
    In reference to the following line listed above:
    _g_BlkFuncs_ = _g_FuncPtrStrVariant_;
    I do realize that conventionally, it should be:
    _g_BlkFuncs_ =_BUF_FUNC_PTR_ParseBlockStatus;
    The problem I find myself faced with is that the function that "_g_BlkFuncs_" points to, has to vary in accordance to the name of the function stored in the _g_FuncPtrStrVariant_ character array! The reason is that the _g_FuncPtrStrVariant_
    array is actually built up to the name of the function based on the current contents of m_LogicElement_ residing in the _x_UserPrgBlock_ table.
    I think!!!!! that even if I use an array of function pointers, it won't solve the issue.
    In summary, in C, is there a way to assign a name of a function built from a character array to a function pointer?
    All help sincerely appreciated!
    Thanks

    I am interpreting your question a little different than Brian.
    If I understand you correctly you are asking:  "Given the name of a function as a string, how do I get a pointer to that function".
    The unfortunately fact is that C++ does not support reflection, so getting a function by name is not possible.  By the time the linker has done its thing, the function name has been stripped from code.
    This means if you need to support string lookup of a function name you need to support an alternate mechanism to handle this.  If you were using C++, a map would be an ideal mechanism.  C can still do this, but the mechanism is a lot uglier
    due to the lack of data structures like std::string and std::map.

  • Function Module GUI_DOWNLOAD in SAP 4.6c

    Hi All,
    I have uploaded a JPG file to a database table and when using the below function modules in the SAP 4.7 server its not opening the file.
    The Below code is written for the double click event. The same code works for the ECC 6.0 version
    please  help.
    Moderator message - Please respect the 2,500 character maximum when posting. Post only the relevant portions of code. (Your orioginal post included code that was commented out.)
    Thanks in Advance.
    Regards
    Ninan
    Edited by: NINAN on Jan 27, 2010 7:50 AM
    Edited by: NINAN on Jan 27, 2010 10:07 AM
    Edited by: NINAN on Jan 27, 2010 11:12 AM
    Edited by: Rob Burbank on Jan 27, 2010 9:20 AM

    This is the code  NINAN  is talking about
    CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD
    EXPORTING
    * BIN_FILESIZE = FILENAME = FNAM FILETYPE = 'BIN'
    * APPEND = SPACE
    * WRITE_FIELD_SEPARATOR = SPACE
    * HEADER = '00'
    * TRUNC_TRAILING_BLANKS = SPACE
    * WRITE_LF = 'X' * COL_SELECT = SPACE * COL_SELECT_MASK = SPACE
    * DAT_MODE = SPACE
    * CONFIRM_OVERWRITE = SPACE
    * NO_AUTH_CHECK = SPACE
    * CODEPAGE = SPACE
    * IGNORE_CERR = ABAP_TRUE
    * REPLACEMENT = '#'
    * WRITE_BOM = SPACE
    * TRUNC_TRAILING_BLANKS_EOL = 'X'
    IMPORTING
      FILELENGTH = FILE_LENGTH
    CHANGING
      DATA_TAB = IT_PIC_TAB_DOWN
    EXCEPTIONS
      FILE_WRITE_ERROR = 1
      NO_BATCH = 2
      GUI_REFUSE_FILETRANSFER = 3
      INVALID_TYPE = 4
      NO_AUTHORITY = 5
      UNKNOWN_ERROR = 6
      HEADER_NOT_ALLOWED = 7
      SEPARATOR_NOT_ALLOWED = 8
      FILESIZE_NOT_ALLOWED = 9
      HEADER_TOO_LONG = 10
      DP_ERROR_CREATE = 11
      DP_ERROR_SEND = 12
      DP_ERROR_WRITE = 13
      UNKNOWN_DP_ERROR = 14
      ACCESS_DENIED = 15
      DP_OUT_OF_MEMORY = 16
      DISK_FULL = 17
      DP_TIMEOUT = 18
      FILE_NOT_FOUND = 19
      DATAPROVIDER_EXCEPTION = 20
      CONTROL_FLUSH_ERROR = 21
      NOT_SUPPORTED_BY_GUI = 22
      ERROR_NO_GUI = 23
      OTHERS = 24 .
    IF SY-SUBRC 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    CALL METHOD CL_GUI_CFW=>FLUSH
      EXCEPTIONS
        CNTL_SYSTEM_ERROR = 1
        CNTL_ERROR        = 2
        OTHERS            = 3.
    IF SY-SUBRC 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    CALL METHOD CL_GUI_FRONTEND_SERVICES=>EXECUTE
    EXPORTING
    DOCUMENT = FNAM
    * APPLICATION =
    * PARAMETER =
    * DEFAULT_DIRECTORY =
    * MAXIMIZED =
    * MINIMIZED =
    * SYNCHRONOUS = operation = 'OPEN'
    EXCEPTIONS
    CNTL_ERROR = 1
    ERROR_NO_GUI = 2
    BAD_PARAMETER = 3
    FILE_NOT_FOUND = 4
    PATH_NOT_FOUND = 5
    FILE_EXTENSION_UNKNOWN = 6
    ERROR_EXECUTE_FAILED = 7
    SYNCHRONOUS_FAILED = 8
    NOT_SUPPORTED_BY_GUI = 9
    OTHERS = 10 .
    IF SY-SUBRC 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.

  • Disable Wizard (limited functionality) under Analysis Editor Preference Tab In OBIEE

    Hai Experts
    I want to disable this option(Disable Wizard (limited functionality) under Analysis Editor Preference Tab) for all users globally.
    This option should not appear in Preference tab of OBIEE
    Regards
    Saurabh Anand

    Hi,
    It is a standard application privilege you can find and set under "Administration" -> "Manage Privileges":

  • Function Pointer/Parent functionality in Java?

    Hi,
    I'm fairly new to Java and still finding my way around.
    I have to write a game for a university project and need some functionality simalar to that of function pointers in C++. Basically, the game has several different types of objects (ships, planets, projectiles, etc). I have a class which runs a physics simulation, if I want an object to be included in the physics simulation, I instanciate a physics object class within that object and add a reference of the physics object to the physics simulator.
    When the physics simulator detects a collision between two physics objects, i want the appropriate methods to be called within the two objects containing the physics objects. If i was using C++, i would simply construct each physics object with a function pointer to the method i want to run in the event of a collision.
    I hope that made some sense...
    Thankyou in advance for any input =)

    If i was using C++But are you familiar with object-oriented programming? And Patterns?
    Check out the Strategy Pattern: http://en.wikipedia.org/wiki/Strategy_pattern

  • Function module for converting sap script to smartforms?

    hi ,
       wat is the name of  function module for converting sap script to smartforms?
    regard's
    Deepak sharma

    Hi,
    No function module is there..
    But go to T-code..Smartforms and in the menubar..
    Utilities-->Migration->Import SApScript Form.
    U can thus migrate SAPScipt to smartforms...
    How ever a lot of changes have to be done in the migrated one,,
    Regards

  • SAP Predictive Analysis and SAP Infinite Insight Product Road Map

    Hi everyone,
    where can I find the current SAP Predictive Analysis and SAP Infinite Insight Product Road Map?
    The latest version I found on SCN is from Dec. 2013.
    Best Regards,
    BJE

    Hi,
    The Predictive Analysis and InfiniteInsight road map was updated on SMP Sep 29:
    https://websmp209.sap-ag.de/~sapidb/011000358700001160102012E.pdf

  • Is there any query analyser in sap

    Hi,
    I would like to know if is any query analyser in SAP like the we have in MS-Sql Server, so that I could paste a query from abap program and check the results instead of using abap debugger.
    regards
    Balaji

    Hi,
    I think such a tool is not there in SAP. But yes if you want to analyse performance of a Query, you can do so by using Transactions ST05. SE30 is also for performace analysis.
    Check these trasactions once. May be of some use to you.
    Incase you need some assitance in analysing these transactions, please revert back.
    Reward if helpful.
    Regards,
    Lalit

  • Binding function pointer to class member fnction

    Hi,
    I have created a function pointer to class nonstatic member function. But facing some compilation issue. Can someone help on this.
    #include "stdafx.h"
    #include "iostream"
    #include <functional>
    using namespace std;
    using namespace std::placeholders;
    class A
    public:
    void Fun(void* param, bool b){cout<<"Hi\n";}
    typedef void (A::*fptr)(void*,bool);
    int _tmain(int argc, _TCHAR* argv[])
    fptr obj;
    auto f = std::bind(&A::Fun, &obj,_1,_2);
    f(NULL,1);
    return 0;

    See some samples about std::bind and std::function
    http://en.cppreference.com/w/cpp/utility/functional/bind
    http://en.cppreference.com/w/cpp/utility/functional/function
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Vi reference = function pointer for external DLL?

    So I'm porting this simple program from C to LabVIEW. All it does is getting some signals from an haptics hardware (Sensable Phantom Omni). It should be simple, but it has shown several complications. (been stuck for 2 weeks )
    I successfully imported the hardware's DLL with all of its functions (using LV 8.2, because 8.5 and 8.6 's wizard sucks).
    But there is a function whose argument is a function pointer:
    hUpdateHandle = hdScheduleAsynchronous(updateDeviceCallback, 0, HD_MAX_SCHEDULER_PRIORITY);
     I already have the corresponding VI for updateDeviceCallback (which gets a (void *) that does not really use, and returns an int).
    hdScheduleAsynchronous is part of the hardware's API (I can't mess with it, nor I know what's inside), and as first argument expects a function pointer.
    Can I use the Open VI reference node to get the 'pointer' for my VI and then feed it as an argument for the external DLL? How do I properly cast the VI ref datatype into a function pointer?
    Solved!
    Go to Solution.
    Attachments:
    QueryDevice.c ‏9 KB
    updateDeviceCallback.vi ‏14 KB

    JavierRuiz wrote:
    So I'm porting this simple program from C to LabVIEW. All it does is getting some signals from an haptics hardware (Sensable Phantom Omni). It should be simple, but it has shown several complications. (been stuck for 2 weeks )
    I successfully imported the hardware's DLL with all of its functions (using LV 8.2, because 8.5 and 8.6 's wizard sucks).
    But there is a function whose argument is a function pointer:
    hUpdateHandle = hdScheduleAsynchronous(updateDeviceCallback, 0, HD_MAX_SCHEDULER_PRIORITY);
     I already have the corresponding VI for updateDeviceCallback (which gets a (void *) that does not really use, and returns an int).
    hdScheduleAsynchronous is part of the hardware's API (I can't mess with it, nor I know what's inside), and as first argument expects a function pointer.
    Can I use the Open VI reference node to get the 'pointer' for my VI and then feed it as an argument for the external DLL? How do I properly cast the VI ref datatype into a function pointer?
    LabVIEW has no concept that can translate seemlessly to function pointers and there is certainly no sensible way to make the Call Library Node support something like this.
    There are possibilities to create a DLL from your callback VI and import the function using Windows API calls to pass it as a function pointer to your other function. But this is involved and quite dirty and most importantenly a total nightmare to maintain, since things go completely awry if your DLL is created in a different LabVIEW version than the LabVIEW version you call it with. This may seem like a piece of cake now but whoever will have to upgrade your software to a new LabVIEW version later will love you to the point that they will feel like sending you as the original programmer a nice little present that blows in your face when opened 
    The only feasable way is to write a wrapper DLL in C that translates between something more LabVIEW friendly like a user event and the actual callback function mechanisme.
    Rolf Kalbermatter
    Message Edited by rolfk on 06-09-2009 10:24 AM
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

Maybe you are looking for