Help in enhancing CRM logon function module

Hello all,
We have a situation where in the past we have allowed the creation of multiple Business Partners sharing the same e-mail address. We are about to close this loophole but we have this as a master data issue for some existing Customers/Business PArtners.
Currently, our CRM Webshop only uses e-mail address and password for login verification (not using Business Partner/Customer number).
We would like to enhance the webshop logon to include customer number as well ie. We want to determine which customer number associated with the ambiguous e-mail address is used. I have attempted to identify which function module is involved by inserting an endless WHILE loop into the following , but none of them seems to be called :
CRM_ICSS_USER_LOGIN
CRM_ISA_IUSER_LOGINr
CRM_ISAI_BP_LOGIN_BPARTNER_GET
CRM_ISA_BP_LOGIN_CHECK
CRM_ISA_LOGIN_R3USER_CHECK
CRM_ISA_IUSER_LOGIN
CRM_ISA_LOGIN_CHECK
CRM_ISAI_BP_LOGIN_BPARTNER_GET
In addition I notice the function SUSR_CHECK_LOGON_DATA can not be enhanced as it's a Basis FM.
I have attempted to look up documentation in SAP Help and not much joy. Can anyone tell me whether I'm barking up the wrong tree and this needs to be addressed by a kernel level function or recommend another place in the standard code ?
Regards,
Gabriel

Hi Pooja,
Please follow the below steps to create a function module :
1. Goto Transaction code : SE37.
2. Create a Function Group first.
   a) From the Menu Bar Choose Goto -> Function groups ->  Create group.
   b) Specify the function group name and a short text.
   c) Choose Save.
When you create a new function group, the system automatically creates a main program containing two includes. Like any other programs and includes, you can display them in the Repository Browser.
3. Now create a Function Module.
4. Enter the function's name in the field Function module.
5. Choose Create.
6. In the Enter function group dialog box, enter the function group to which you want to assign the function module.
7. In The Attributes Tab select Remote Enabled Module (since you want a RFC function module ).
8. Give the Import and Export parameters and exceptions(if any).
9. Write the functioning part of the fuction module in the Source code tab.
10. Save and Activate your function Module.
Now go ahead and use your function module where ever you want.
Hope it helps.
Reward if helpful.
Regards
Hemant Khemani

Similar Messages

  • Help please with enhancing CRM logon process

    Hi all,
    We have a situation in CRM where we have three dify ferent webshops all accessing the same CRM client. The webshops each represent a different Sales Org within SAP. We want to prevent a BP who is valid for one Sales Org/Webshop from accessing a webshop for another Sales Org as the standard system does not currently check for this.
    I thought I could insert an enhancement in the function module CRM_ISA_BP_LOGIN_CHECK_CONTACT as this looked ideal, however after inserting an enhancement at the beginning with an infinite loop (WHILE 1 = 1), it appears that the login process steps over this function completely.
    Does anyone have an idea what other FM I could try which is called by standard Java components of Webshop at logon time ?
    Regards,
    Gabriel Singer

    PS: Would further like to add that I've identified the various BADIs which are called at logon but none of them can fulfil the purpose of checking user against a specific Webshop/web channel.

  • Help , if there exists a Function Module

    Hello everybody,
       I want a help whether SAP has some Function Module which can take an "Internal Table" as an Import Parameter and give us "CSV File" as an export parameter , more-or-less like the "GUI_DOWNLOAD" Function Module , which downloads the file as ".DAT" or ".ASC" .
        Please remember that i would need a CSV file , which i can read later through Opening a Dataset and transferring the contents into a file.
         Your immediate answers is most needed.
    Thanks,
    Suddha Laik

    hi suddha,
    try with GUI_DOWNLOAD with filetype as 'ASC' and
    give the filename as 'C:\TEST.CSV'.
    CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
      BIN_FILESIZE                    =
        FILENAME                        = 'C:\TEST.CSV'
       FILETYPE                        = 'ASC'
      APPEND                          = ' '
       WRITE_FIELD_SEPARATOR           = 'X'
      HEADER                          = '00'
      TRUNC_TRAILING_BLANKS           = ' '
      WRITE_LF                        = 'X'
      COL_SELECT                      = ' '
      COL_SELECT_MASK                 = ' '
      DAT_MODE                        = ' '
      CONFIRM_OVERWRITE               = ' '
      NO_AUTH_CHECK                   = ' '
      CODEPAGE                        = ' '
      IGNORE_CERR                     = ABAP_TRUE
      REPLACEMENT                     = '#'
      WRITE_BOM                       = ' '
      TRUNC_TRAILING_BLANKS_EOL       = 'X'
      WK1_N_FORMAT                    = ' '
      WK1_N_SIZE                      = ' '
      WK1_T_FORMAT                    = ' '
      WK1_T_SIZE                      = ' '
    IMPORTING
      FILELENGTH                      =
      TABLES
        DATA_TAB                        = itab
      FIELDNAMES                      =
    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
       OTHERS                          = 22.
    do reward if it helps,
    regards,
    priya.
    Message was edited by: Priya

  • Help in Creation of a Function Module.

    Hi Abapers,
                    I am new to ABAP and hardly have knowledge abt it. I need to create a Function Module which is of the type RFC. Pls provide me information and steps to create the same.
    Many thanks in Advance.

    Hi Pooja,
    Please follow the below steps to create a function module :
    1. Goto Transaction code : SE37.
    2. Create a Function Group first.
       a) From the Menu Bar Choose Goto -> Function groups ->  Create group.
       b) Specify the function group name and a short text.
       c) Choose Save.
    When you create a new function group, the system automatically creates a main program containing two includes. Like any other programs and includes, you can display them in the Repository Browser.
    3. Now create a Function Module.
    4. Enter the function's name in the field Function module.
    5. Choose Create.
    6. In the Enter function group dialog box, enter the function group to which you want to assign the function module.
    7. In The Attributes Tab select Remote Enabled Module (since you want a RFC function module ).
    8. Give the Import and Export parameters and exceptions(if any).
    9. Write the functioning part of the fuction module in the Source code tab.
    10. Save and Activate your function Module.
    Now go ahead and use your function module where ever you want.
    Hope it helps.
    Reward if helpful.
    Regards
    Hemant Khemani

  • Enhancement points option: Function modules or BADI

    Hi, I am on ECC 6.0 and I need to validate and set some requirement in customer sales area data when user input the document output message in Documents tab strip screen 7003 of sapmf02d  in transaction XD01 or XD02.
      I found that there is function module EXIT_SAPMF02D_001 that I probably can use to create an implicit enhancement point to validate table T_KNVD or  I can use BADI customer_add_data.  Can someone suggest which way is better and why?  I am new to this so could someone show me screen by screen on how to create and implement BADI.
    I am confusing about should I create a ZBADI or using existing BADI customer_add_data.  If I use existing BADI how can I add my own method with my own code. 
    Thanks.

    Thanks. Could you explain to me how does the custom BADI get call to execute my code?  Say
    I have a customer document screen 7326 (Customer Master Subscreen SD Documents in program  SAPMF02D).  What I want is when user click save, I want to do some validation on the output message that they enter and issue some warning or error messages.
      I am on ECC 6.0 so I can create a BADI from Enhancement spot not from SE18.   SAP has a BADI called CUSTOMER_ADD_DATA with class CL_EX_CUSTOMER_ADD_DATA and interface IF_EX_CUSTOMER_ADD_DATA. 
    When I create a ZBADI_CUST, which interface class I put in the IF_EX_CUSTOMER_ADD_DATA
    or a ZIF_EX_XX so that I can create my own method?  How does the BADI get called when I am in transaction XD02 and click the save button?  Could you kindly show me step by step the procedure.
    Thanks.

  • Very urgent help needed in activating a function module

    Hello experts.
    I had a standard report and i copied into an z report. i need to change some field output , and that field is there in a standard function module.so i copied that fun module  into z fun module and stored in a new fun group. Now it is showing the error in the z fun module. include in the fun module is giving the error stating that it is not existing. please help me in coping the standard fun module correctly . please its very urgent.

    Hi,
    You should not copy a Function module alone, as it will have some dependant INLCUDES and global data in TOP include of the function group.
    SO if you want the function module copy the entire Function Group into Z function group.
    Regards,
    Sesh

  • Help on Parameters in RFC Function Module

    Hi,
    I am creating a RFC function module. The requirement is:
    In a report program, the user enters ABC and XYZ values on the selection screen. These 2 fields are select options so will have From-Value and To-Value. This report program will pass these values to my RFC FM and depending upon these values I have to read a DB table and pass the data back to the program.
    My doubt is, how should I intake these select options value? i.e should I specify them in import tab or tables tab? What TYPE/LIKE should I use?
    Please help me in this...
    Rgds,
    Nimma.

    Hi Anji,
    What is 'WSELKUNNR'? Is it a user defined type?
    I am doing as below in the IMPORT tab.
    Parameter name/Type Spec/Associated Type
    ABC/LIKE/
    I am not sure what type I have to use here as the incoming values will be of type SELECT-OPTIONS. Is there any standard type to specify here? If not, what should I do?
    Best Regards,
    Nimma.

  • Search help in  output(using alvgrid function module)

    HEllo Experts,
        I hav developed report using ALV grid function module, now my req is I need to provide the search help for particular field in the output.
    my output contains .MATNO, PLANT AND STORAGE LOCATION.
    Now based on mat and plant I need to provide the F4 help for storage location field in the out put.
    could u pls anbody help me on the req asap. with details code.
    will give u Full point if it suits my req....

    Hi Raja,
    This is what you can try to do....first select the sales org and distribution channel for the value entered in the material in an 2 separate internal tables.
    Then use the FM 'F4IF_INT_TABLE_VALUE_REQUEST' for each internal table to get a search help for the sales org and distribution channel for any particular material number.
    Please write the code at AT SELECTION-SCREEN ON VALUE-REQUEST event.
    or,
    try this code.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_salesorg.
    select salesorg from tablename into itab where matnr = p_matnr(selction screen value).
    if sy-subrc eq 0.
    CALL FUNCTION 'POPUP_WITH_TABLE_DISPLAY'
    EXPORTING
    ENDPOS_COL =
    ENDPOS_ROW =
    STARTPOS_COL =
    STARTPOS_ROW =
    TITLETEXT =
    TITLETEXT =
    IMPORTING
    CHOISE = W_LINEN0
    TABLES
    VALUETAB = itab
    EXCEPTIONS
    BREAK_OFF = 1
    OTHERS = 2.
    IF SY-SUBRC EQ 0.
    READ TABLE itab INDEX W_LINENO.
    IF SY-SUBRC EQ 0.
    P_salesorg = itab-salesorg.
    endif.
    endif.
    similarly for distribution channel pass sales org ....
    kindly reward if found helpful.
    cheers,
    Hema.

  • New and enhanced or changed function modules in Ecc6.0 compare to 4.6C

    Hi all Experts,
    Now i am at the middle phase of my upgrade project. How can i list module wise (like SD, FI, MM) function modules which modified or newly came to ecc 6.0 or deleted in ecc?
    I already visited the sap site and taken the delta functions. but its not having this function modules.
    where i can find and list?
    Kindly help please....
    points will awarded.
    Raghav

    Hi Sriram,
    It also helps. but my need is only what are the new/changed function modules in ECC6.0 when compared to 4.6C. How to list this?
    Kindly anyone also answer to me.
    Regards,
    Raghav

  • All sap-crm standard function module I need

    Hi Experts,
    I want to know about the function modules used for special purpose in crm.
    who see this post and know some of those function send me the name of function module because i want to document all the function modules.
    prem

    this can be searched from google.

  • Noob help with creating a new function module

    Hi everyone,
    I'm just learning SAP and trying to integrate a WMS system towards it and I'm losing hair over it hehehe
    The scenario is that I want to extract Purchase Order Rows details and that's not a hard thing to do since there are multiple BAPIs that can be invoked, for example BAPI_PO_GETDETAIL.
    I'm using .NET Connector 3 to talk to SAP.
    The problem however is that I want to see how many articles that have already been delivered into the warehouse using BAPI_GOODSMVT_CREATE. There is no information returned when using BAPI_PO_GETDETAIL that specifies that a Purchase Order Row has a quantity of 30 and that 20 has already been delivered.
    That information can be retrieved by using BAPI_GOODSMVT_GETITEMS.
    The problem with using BAPI_GOODSMVT_GETITEMS is that it returns all of the rows and I am only interrested in retrieveing the rows with quantity for a specific purchase order.
    So i decided to create my own BAPI or Function Module (or whatever it's called) that would take a PO_NUMBER and PO_ITEM and return the quantity of already delivered items. For example if one of the PO Rows (10) has 100 items and there has been 2 partial deliveries of 20 and 30. The function should return the value of 50 because it's the sum of 20 and 30.
    My code looks like this:
    FUNCTION ZBAPI_GOODSMVT_GETITEMS.
    ""Local Interface:
    *"  IMPORTING
    *"     VALUE(PO_NUMBER) TYPE  BSTNR
    *"     VALUE(PO_ITEM) TYPE  EBELP
    *"  EXPORTING
    *"     REFERENCE(ENTRY_QNT) TYPE  ERFMG
    SELECT SUM( MENGE ) INTO ENTRY_QNT FROM MSEG
      WHERE
      EBELN = PO_NUMBER AND
      EBELP = PO_ITEM.
    ENDFUNCTION.
    The problem is that when i try to Activate it it says:
    REPORT/PROGRAM statement missing, or program type is INCLUDE.          
    What am i missing? Is there an easier way to extract already delivered quantities when extracting PO information?

    A document was produced for Designer 7.1 and the principles still apply.
    http://partners.adobe.com/public/developer/en/pdf/lc_designer_perf_guidelines.pdf
    You can poke around here as well....
    http://help.adobe.com/en_US/livecycle/9.0/designerHelp/index.htm
    Steve

  • Help required in bapi or function module..

    Hi,
    Is there any BAPI or Function Module to get cost center description by giving cost center as input parameter? please suggest me.Thanks in advance.
    Regards,
    Sandy.

    Hi,
    write a simple select query instead of FM or BAPI.
    select single ltext
    into lv_ltext
    from cskt
    where spras = sy-langu
    and kokrs = lv_kokrs           " put your controlling area
    and kostl = lv_kostl             "put your cost center
    and datbi = lv_datbi.          "put your valid-to date
    Thanks,
    Srilakshmi.
    Edited by: Srilakshmi Moola Ram on Sep 17, 2009 7:19 AM

  • Need help in INBOUND idoc generation function module!

    Can anyone send me the inbound idoc function module !
    i have the outbound code but i need the inbound code

    Might be a constant C_WF_RESULT_OK is assigned to
    variable WORK_RESULT .
    Please check if they are declared in the function module ..

  • Enhancement-point in function module CO_FW_AFFW_POST

    Hi there,
    In SAP Standard FM CO_FW_AFFW_POST
    I need to change the following code:
    prot_upd_is_active = yx.
      prot_del_is_active = yx.
    * >>> To activate the writing of a protocol entry for <<<
    * >>> deleted AFFW entries delete the following line  <<<
      CLEAR prot_del_is_active.      "<<< DELETE FOR ACTIVATING PROTOCOL
    * >>> To activate the writing of a protocol entry for <<<
    * >>> modified AFFW entries delete the following line <<<
      CLEAR prot_upd_is_active.      "<<< DELETE FOR ACTIVATING PROTOCOL
    I need to set the values (prot_upd_is_active,prot_del_is_active ) back to their original value (u201Cyxu201D, before CLEAR statements happens)
    I do not want to modify SAP standard code.
    IMPLICIT enhancement is no good to me, as the Points it allows are in all the wrong placesu2026
    Iu2019m thinking I can create EXPLICIT enhancement using u201CEnhancement-Pointu201D.
    Can this only be done at an existing u201CEnhancement-Pointu201D statement in the program?
    (or can I put it directly after the last CLEAR statement)
    Can you have more than one ACTIVE enhancement per ENHANCEMENT-POINT? (forums suggest you can u2013 I know you can only have 1 active u201CEnhancement Sectionu201D )
    Any help/suggestions appreciated!
    Thanks,
    David

    Hi Roy,
    thanks for the quick response - will give that a shot and see how it goes.Will award forum points .
    I'm presuming that my new enhancement spot will not have any effect on the code that currently exists at that enhancement-point?
    Thanks,
    David.

  • Need help in enhancing CRM datasource /extract structure

    Hello Experts,
    I have come across an issue with a CRM DR phase 1 report "Program Status Management report".
    The user wants to display Mobile number and Pager number of a contact person for the customer.
    Contact person is a Business Partner (Mobile no, Pager no are attributes for Business partner), and the extractor which extracts communication information about a business partner is BUPA_DEF_ADDRESS_BW (from data source 0BP_DEF_ADDRESS_ATTR.)
    This extractor only gets First Telephone number and Fax number from the table. The same CRM table also has the info about Mobile number and Pager number. But BUPA_DEF_ADDRESS_BW is a standard extractor.
    From the searched forums, mobile number is stored in the field TEL_NUMBER from table ADR2 in which we need to filter the R3_USER = 3. We need to know how we can append/include this mobile phone/pager number fields in the extract structure since this is a standard extractor and might need to edit a BADI/FM. Please advise. Thanks!

    there is no different as generic DataSource.
    1. TC: RSA6, find your DataSource and click on " extend extractStructure" at the navigation bar.
    2. TC: SE38 to write UserExit to populate the data for append fields.
        UserExit: ZXRSAU01 if your DataSource is for Transaction Data
                       ZXRSAU02 if your DS is for Master Data
    hope this help

Maybe you are looking for

  • How can I get these devices to work together like this?

    What we have now: New iPad 2, currently blank My iPhone 4s with my itunes id which is also used for icloud Wifes iPhone 4s with her itunes id, also used for her icloud (phones are not linked in any way, other than some music synced from same pc) What

  • Delta in CO-PA

    Hi, we modified CO-PA data source in R/3 and replicated the changes to BW.Initially the update mode was a delta. We created a infopackage for full load and loaded the entire data.After that we performed a initial delta process by checking initialize

  • Infotype 7 audit trail

    Can anyone tell me where to change the actions that are going to the audit log for an infotype?   I am reading the audit log for infotypes IT07 and IT08.   All changes and inserts are being returned, but only the IT08 is returning deleted records.  

  • Bursting Engine

    Hi, I'm tying to make the example in the XMLP 561 user guide Chaptr 10 page 49. The things I changed are in the bursting cfg file, <?xml version="1.0" encoding="UTF-8"?>      <xapi:requestset xmlns:xapi="http://xmlns.oracle.com/oxp/xapi">           <

  • Delivery post Rework

    Dear Friends There is one scenario that faulty material from our customer we get back by Return Order (RE), Then return Delivery --& post goods receipt, Of the our sold material, Now co. do rework Process (assemble, dismantle ...... whatever on the b