SAP CRM Methods

Embed Size (px)

Citation preview

  • 8/10/2019 SAP CRM Methods

    1/7

    Calls to DO_INIT_CONTEXT method in views

    Perhaps the cleanup is a nice place for data loss handling and may be that is why it is

    not avoided, no matter how we try to exit the screen? This data loss handling is one of

    the things "exit" has to worry about and "entry" doesn't. Going by the standard

    components, the DO_VIEW_INIT_ON_ACTIVATIONis used for registering thehandlers and the DO_CLEANUP_CONTEXTfor deregistering the handlers as these

    two methods will be called anyways.

    The DO_INIT_CONTEXT()is called after the WD_CREATE_CONTEXT() which in turn calls

    CONNECT_NODES() on context level. Thus I thought it might be a good idea to register my

    event handlers in DO_INIT_CONTEXT() and unregister them in DO_CLEANUP_CONTEXT().The

    later method is called shortly before the CONNECT_NODES() on context level is called to

    deregister the event handlers in there.

    Modify DO_REQUEST methodYou now need to modify the DO_REQUEST code so that it callsthe event handling and controls which page to display based on the new page

    variable/attribute. The event handling is called using the 'dispatch_input( )' command.

    At output, DO_REQUESTcarries out the following tasks:

    i. DO_REQUESTdetermines whether data must be fetched from the model or from

    the global attributes.

    ii. DO_REQUESTfetches the table with the object keys from the top-level controller.

    iii. DO_REQUESTrequests a view.

    iv. DO_REQUESTsets the correct attributes for the view.

    v. DO_REQUESTcalls the view.

    DO_INIT_CONTEXTThis method is called once when a custom controller is instantiated or, for view

    controllers, each time the view becomes visible to initialize the view controller context according to the

    application's needs. This method is called by WD_CREATE_CONTEXT after all the framework

    initialization is done. You should redefine it in your controller implementation class.

    DO_CLEANUP_CONTEXTThis method is called to destroy the context of a controller. For view

    controllers, this happens each time the view becomes invisible. It is called by WD_DESTROY before the

    framework destroys the controller's context to allow a controller to cleanup its content internally.It should

    be redefined in the implementation class.

    DO_PREPARE_OUTPUT:this view displayed every time the view is displayed.

    DO_FINISH_INPUT :once u press enter in ur View, u can have validations in this method. This is usually

    used at the end of all the data input on the screen..

    DO_VALIDATE_INPUT : when ever u enter anything on the screen, this would trigger and validations

    gets triggered here.

    http://scn.sap.com/message/9282148#9282148http://scn.sap.com/message/9282148#9282148http://scn.sap.com/message/9282148#9282148
  • 8/10/2019 SAP CRM Methods

    2/7

    Functions where overwriting is required

    DO_REQUESTis the central method in a controller class.

    You mustoverwrite this method.

    In DO_REQUESTyou specify the request processing, that is, this method is called for every request. This method

    does the mainwork;in particular it should branch to the correct view.

    DO_REQUESTcan be used in two different areas:

    If it is the top-level controller of a component, then this method handles both input and output processing.

    If it is a sub-controller of a component, then this method only handles output processing.

    Functions where overwriting is recommended

    You shouldoverwrite these methods in order to determine input processing.

    Method Description

    DO_HANDLE_DATA Reacts to user input.Processes data input for this component.

    DO_HANDLE_EVENT Reacts to user input.Processes events if the component contains them.

    Exactly one view controller is called to handle the event, which contains an event such

    as a save button, for example.

    DO_FINISH_INPUT Ends the input processing.

    Functions where overwriting is possible

    You canoverwrite these methods in order to determine input processing.

    Method Description

    DO_INIT This method is called once at the start and is used for initialization.

    This method behaves like a constructor method.

    DO_INITATTRIBUTESThis method is called with every request and is used to initialize the attributes. Theparameters are read from the request. In this method, you can also execute

    initializations that are required for each request.

    You can also use this method to set additional attributes. This method is not absolutely

    necessary, since you can use DO_REQUEST to solve everything that you can

  • 8/10/2019 SAP CRM Methods

    3/7

    (theoretically) handle here.

    Service functions

    You can call these methods:

    Method Description

    CREATE_VIEW Creates or fetches a view instance

    Use either the name of the view, or theobject navigation.

    A view must always belong to the same BSP application as its controller.

    CALL_VIEW Calls the request handler of the view instance.

    CREATE_CONTROLLER Creates or fetches a controller instance

    CALL_CONTROLLER Calls the request handler (method DO-REQUEST) of the controllerinstance.

    GET_ATTRIBUTE Returns the specified page attributes.Generic method for reading an attribute value.

    GET_LIFETIME Returns the lifetime of this page (only for the top-level controller)

    GET_PAGE_URL Returns the URL of the page or the current controller

    SET_ATTRIBUTE Sets the specified page attributes.Generic method for setting an attribute value.

    SET_LIFETIME Changes the lifetime of this page (only for the top-level controller)

    TO_STRING Creates a formatted string

    WRITE Writes a formatted string in the output

    GET_OUT Fetches the current output writer

    SET_MIME_TYPE Changes the MIME type of the page or the content type of the header field

    INSTANTIATE_PARAMETER Instantiates the parameter from the request using the request data

    http://help.sap.de/saphelp_crm700_ehp01/helpdata/en/c2/231779c53011d4990400508b6b8b11/content.htmhttp://help.sap.de/saphelp_crm700_ehp01/helpdata/en/c2/231779c53011d4990400508b6b8b11/content.htmhttp://help.sap.de/saphelp_crm700_ehp01/helpdata/en/c2/231779c53011d4990400508b6b8b11/content.htmhttp://help.sap.de/saphelp_crm700_ehp01/helpdata/en/c2/231779c53011d4990400508b6b8b11/content.htm
  • 8/10/2019 SAP CRM Methods

    4/7

    SET_CACHING Changes the caching values

    There are two types of caching:

    Browser cache

    Server cache

    See alsoCaching BSPs.

    You can only use limited caching here.

    Note that the server cache is not user-specific.

    If you change the page, you should reset the cache that may be set.

    DISPATCH_INPUT Dispatches the input processing (only for the top-level controller).

    For each input, DISPATCH_INPUTcalls the correct methods in the

    correct sequence.

    This method fetches data from the request.

    This method does not have any attributes.

    GET_ID Calculates the ID from the specified ID and the component ID

    SET_MODEL Creates and registers a model instance

    CREATE_MODEL Creates and registers a model instance

    GET_CONTROLLER Fetches a sub-controller

    CONTROLLER_SET_ACTIVE Sets a controller to active/inactive.This is relevant with input processing, since you can use it to hide a

    controller.

    See alsoLifetime

    DELETE_MODEL Deletes a model instance

    FILL_MODEL_DATA Fills the model data

    DELETE_CONTROLLER Deletes a sub-controller

    GET_MODEL Fetches a model instance

    http://help.sap.de/saphelp_crm700_ehp01/helpdata/en/d7/446f3b19d99b0de10000000a11405a/content.htmhttp://help.sap.de/saphelp_crm700_ehp01/helpdata/en/d7/446f3b19d99b0de10000000a11405a/content.htmhttp://help.sap.de/saphelp_crm700_ehp01/helpdata/en/d7/446f3b19d99b0de10000000a11405a/content.htmhttp://help.sap.de/saphelp_crm700_ehp01/helpdata/en/ab/e0499c33485747badc053bd65554d0/content.htmhttp://help.sap.de/saphelp_crm700_ehp01/helpdata/en/ab/e0499c33485747badc053bd65554d0/content.htmhttp://help.sap.de/saphelp_crm700_ehp01/helpdata/en/ab/e0499c33485747badc053bd65554d0/content.htmhttp://help.sap.de/saphelp_crm700_ehp01/helpdata/en/ab/e0499c33485747badc053bd65554d0/content.htmhttp://help.sap.de/saphelp_crm700_ehp01/helpdata/en/d7/446f3b19d99b0de10000000a11405a/content.htm
  • 8/10/2019 SAP CRM Methods

    5/7

    IS_TOPLEVEL Is this controller a top (main) controller (0: no, 1: yes)?

    IS_NAVIGATION_REQUESTED Has a controller requested a navigation (0: no, 1: yes)?

    Framework functions

    These methods are provided as part of the framework and are only included here for the sake of completeness.They

    are not usually relevant for application development.

    Method Description

    IF_BSP_DISPATCHER~REGISTER Registers a sub-components

    IF_BSP_CONTROLLER~FINISH_INPUT_PROCESSING Processes or dispatches: end of input processing.

    IF_BSP_CONTROLLER~FILL_VALUES Processes or dispatches: handling values

    IF_BSP_CONTROLLER~HANDLE_EVENT Processes or dispatches: Handle event

    GET_FIELD_COMPONENT Finds components for a field name

    GET_FIELD_MODEL Finds model for a field name

    Creation and Deletion of View ControllersMethodsWD_VIEW_INITIALIZE

    This method is called to initialize a view on the framework side.Do not redefine thismethod.Use method, DO_REPLACE_INITIAL_VIEW, to adapt the view area content to yourneeds.Do not call this method yourself.BIND_VIEWBinds a view to a view area of a view set.Do not redefine or call this method yourself.DO_REPLACE_INITIAL_VIEWYou can redefine this method in the implementation class toOverride the view that isdisplayed as default in a view area.The default is taken from the runtime repository and

    can be replaced dynamically by implementing thismethod. This is useful for acustomizing-based initial view or if the initial view is dependent on thecontextcontent.NOTE: The replacing view has to be defined as content for the sameview area of the same view set.

    Initialization and Cleanup of ContextsMethodsWD_CREATE_CONTEXT

  • 8/10/2019 SAP CRM Methods

    6/7

    This method is called once when a custom controller is instantiated or, for viewcontrollers, each time theview becomes visible.The purpose is to create and initializethecontext from a framework perspective.Do not redefine that method,But useDO_INIT_CONTEXT instead, which is made exactly for that purpose.If you alreadyredefined the method, as the DO_INIT_CONTEXT is relatively new, you do not have

    tochange it. However, if you have the time, it would be nice to change it.DO_INIT_CONTEXTThis method is called once when a custom controller is instantiated or, for viewcontrollers, each time theview becomes visible to initialize the view controller contextaccording to the application's needs.This method is called by WD_CREATE_CONTEXTafter all the framework initialization is done.You should redefine it in your controllerimplementation class.WD_DESTROYThis method is called to destroy the context of a controller. For view controllers, thishappens each timethe view becomes invisible. It is used within the framework andcannot be redefined. It is also called whenthe controller instance is deleted.

    DO_CLEANUP_CONTEXTThis method is called to destroy the context of a controller. For view controllers, thishappens each timethe view becomes invisible. It is called by WD_DESTROY before theframework destroys the controller'scontext to allow controller to clean up its contentinternally. It should be redefined in the implementationclass.WD_DESTROY_CONTEXTThis method is called to destroy the context of a controller. For view controllers, thishappens each timethe view becomes invisible. It is used within the framework andcannot be redefined. It is called byWD_DESTROY after DO_CLEANUP_CONTEXT

    External List Management in SAP CRM

    his is on CRM 5.2 You can only use web IC to create the Mapping formation. Dont use winclinet for this. SAPs intention is to move every one to the Web Client(WEB -IC).

    ELM (External list management) is used to load the external data from outside system in to

    the CRM system.

    ELM is used to load the new customer information (create new BP) or update the existing

    customer information (update the BP).

    When we load the data from the excel or text (.CSV file or .txt file) the customer data will

    be created as a prospect(or any other role that you want).

    For loading the data using ELM we need to do the following steps.

    Create mapping

    Use the created mapping in the external list

  • 8/10/2019 SAP CRM Methods

    7/7

    You can create and maintain external lists in SAP CRM by acquiring specific data from external providers

    and using this data to gain new business partners. The data from external providers could include

    information on:

    Business partner addresses

    Marketing attributes of business partners

    Business transactions-related information, such as activities and leads

    Survey details

    External List Management involves procuring external data, defining mapping formats, checking and

    preparing the data, updating existing data, creating business partners, using these business partners in

    marketing campaigns, and analyzing (reporting) the methods used.

    CRMV_EVENT - what is it?

    What is callback?

    After processing each part of CRM document, eg. Partners, Customer fields, Organizational data, etc. specific events

    are executed in SAP CRM. After these events special function modules are executed. These are called "callbacks".

    These callbacks are function modules that end with "_EC" in its name. It means they have special interface that is

    needed when module is to be used as callback.

    Callbacks are executed by SAP CRM if they are connected in transaction CRMV_EVENT to certain events. And

    whether attributes set there, which work as filter, are the same as in processed activity by user.

    Each callback is configured in the same way:

    - it is connected to transaction category (eg. Service process)

    - its time and priority of execution is set,

    - it is connected to object and event (Object means part of document that is being "touched", it could be for example

    "Partner" or "Orderadm_h". Event could be "Save" - while saving, "After_change", "After_create", etc.)

    - it may have attributes set (eg. when processing Partner it could be partner function type),

    - it could be executed for headers or/and items of documents.

    What it is used for?

    Callbacks are used mainly for processing documents. For example in standard they are used to copy organizational

    data from previous document when creating new follow-up document.

    How to check which callbacks are executed?

    in CRMV_EVENT it is best to filter by specific transaction category and object. Eg. Service Process and STATUS.

    Please remember that there could be more Transaction categories used in a particular process, like Service Process,

    and also generic one so CRM Bus. Transactions.

    check also many transactions for tracing / checking (like CRM*EVENT*, eg CRMD_EVENT_TRACE,

    CRMD_EVENT_CHECK).

    How to define own?

    Create function module with proper interface (look at *_EC function modules) and assign in configuration (SPRO ->

    CRM -> Transactions -> Basic Settings -> Edit Event Handler Table).

    Dynamic Navigation & static navigation

    Static navigation is through plugs. We will define outbound, inbound plugs and then we will create a navigation link.

    This is how we do the static navigation.

    In dynamic navigation there is no need of creating any plugs and navigation link. Within the event handler itself we

    can make use of interface if_crm_ui_navigation_service methodnavigate_dynamicaly for the purpose of navigation.

    http://scn.sap.com/people/radoslaw.stefaniak/blog/2009/12/16/crmvevent--what-is-ithttp://scn.sap.com/people/radoslaw.stefaniak/blog/2009/12/16/crmvevent--what-is-ithttp://scn.sap.com/people/radoslaw.stefaniak/blog/2009/12/16/crmvevent--what-is-it