Function module equivalent to SWE_EVENT_CREATE while using ABAP classes

Hi there,
I used to use SWE_CREATE_EVENT to fire the events linked to my BOR objects, in order to start certain workflows.
Now I am using ABAP classes within the WorkFlows, and the name of the classes MUST (in my case) be longer than 10 characters, and SWE_EVENT_CREATE is cutting the name so it does not work
Do you know any FM equivalent to start an event from a ABAP class (SE24) object?
I have tried to use SAP_WAPI_START_WORKFLOW, but I cannot find the way to include my object in the container. Any ideas on this point would be welcome as well
Thanks so much,
Miguel

Thanks for such a quick reply,
You were right. I actually did follow Jocelyn's blogs, but somehow I skipped the raising event section.
Just for information, the URL with the solution to this problem is:
/people/jocelyn.dart/blog/2006/07/27/raising-abap-oo-events-for-workflow
Have a good one

Similar Messages

  • Function modules supported by seal system used to print drawing documents

    Hi,
    As per my current requirement, while create purchase order (ME21N), the drawing document (which are linked with materials of the PO) should print along with the PO form (smartform). The drawing are stored in the Auto CAD system. Seal software has already installed to print drawing documents.
    But I would like to know the function modules supported by seal system used to print drawing documents.
    Thank you.
    Tulasi

    Tulasi,
    May be you can approach it this way
    create a ztable with fields matnr and graphic object(check STXBITMAPS table for the attributes of this field) and upload the drawings against every material.Now you will have a table containing the matnr and the corresponding drawing in the table which can be used for further  processing.
    Hope  any of the SDN experts here will suggest a better solution.
    Kiran.

  • Function module reqd for fiscal period using current date

    Hi,
    Is there any function module which gives fiscal period using current date.
    Thnaks,
    Maheedhar

    Hi Maheedhar,
    Try the code below.
    CALL FUNCTION 'GET_CURRENT_YEAR'
      EXPORTING
        BUKRS         = '1000'     " Company Code
        DATE          = SY-DATUM   " Date to find fiscal year for
      IMPORTING
        CURRM         = w_currm    " Current Fiscal Month
        CURRY         = w_curry    " Current Fiscal Year
        PREVM         = w_prevm    " Previous Fiscal Month
        PREVY         = w_prevy.   " Previous Fiscal Year
    Regards,
    Amit.

  • Is there any function module to get the variables used in a query?

    Hi experts
    Please, do you know if is there any function module to get the variables used in a query?
    Thanks and regards
    Luis

    Hi Srini
    Yes, I have checked the tables but I need a function module
    Thanks anyway!
    Luis

  • Function module to read the expired useful life of asset

    Hi,
    Is there a function module to read the expired useful life of asset. We are using the depriciation start date to calculate the expired useful life of asset, but the fiscal year shift and matching the calendar year with fiscal is causing the logic to give a month difference between the calculated value and the value in the asset.
    Please let me know if there is a Function module or BAPI for getting the values. Kindly provide example for the function module call too.
    Regards,
    Prabaharan.G

    Hi,
      Check the following function modules.
    AISC_CALC_EXPIRED_USEFUL_LIFE.
    Check the following link it might be of some help to you.
    Re: asset useful life
    Regards,
    Ram.

  • Function module or BAPI that is used to update the records in RBKP table.

    Hello All,
    Can anybody please give me the name of any Function module or BAPI that is used to update the records in RBKP table.
    Please help me
      I need to change the fiscal year in RBKP table
    Thanks in Advance,
    Regards,
    LIJO

    Hi,
    You can use the BAPIs,
    BAPI_ACC_INVOICE_RECEIPT_CHECK Accounting: Check Invoice Receipt (OAG: LOAD PAYABLE)
    BAPI_ACC_INVOICE_RECEIPT_POST  Accounting: Post Invoice Receipt (OAG: LOAD PAYABLE)
    Hope this helps.
    Regards,
    Renjith Michael.

  • No connection to the Integration Builder while using ABAP Proxies

    Hi All,
    Here am getting an error when i say SPROXY in R3 system.
       No connection to the Integration Builder while using ABAP Proxies.
    For this i have gone through the blog no 3022.
    and i did all the connection.And then i have gone through the steps
    Go to---->test connection steps.I added the address called com.sap.aii.server.name.repository in SPROXSET table.
    and i run the Tcode SPROXY.Now am getting into DUMP when is say SPROXY.
    And also i run a program called SPROX_CHECK_IFR_ADDRESS to add the address
    but i didn't found the path for Excahnge Profile it was disable.
    and later i run a program SPROX_CHECK_IFR_CONNECTION
    now it went into DUMP.
    Can Anyone suggest me how to fix this error.
    Thanks,
    Kalyan.

    hi kalyan
    1)check whether your R/3 system is based on WEBAS 640 or WEBAS620 (if it is on WEBAS 620 you need to install xi ADD ON,if on WEBAS 640 no need)
    2)check the report SPROX_CHECK_IFR_ADDRESS
    The address is taken the from following parameters in the exchange profile (section 'connections'):
    http://server:port/exchangeProfile --> Connection
    com.sap.aii.connect.repository.name: Server (e.g. pwdf0436)
    com.sap.aii.connect.repository.httpport: Port (e.g. 1080)
    com.sap.aii.connect.repository.contextroot: Root (e.g. rep)
    Furthermore, the logon data is also read from the exchange profile(section 'ApplicationSystem'):
    com.sap.aii.applicationsystem.serviceuser.name: User
    com.sap.aii.applicationsystem.serviceuser.pwd: Password
    rgrds
    kummari

  • ALV using ABAP Classes and Objects

    Hi All,
    I am trying to print the values in my internal table using ALV, using ABAP classes and objects. Here the title for columns are picked based on the title specified in the data element. I want to set the title of my columns by my own. how to achieve this ?. Please provide me a sample code if possible.
    thanks & regards,
    Navneeth.K

    Hello Navneeth
    The following sample report shows how to build and modify a fieldcatalog (routine <b>BUILD_FIELDCATALOG_KNB1</b>).
    *& Report  ZUS_SDN_ALVGRID_EVENTS
    REPORT  zus_sdn_alvgrid_events.
    DATA:
      gd_okcode        TYPE ui_func,
      gt_fcat          TYPE lvc_t_fcat,
      go_docking       TYPE REF TO cl_gui_docking_container,
      go_grid1         TYPE REF TO cl_gui_alv_grid.
    DATA:
      gt_knb1          TYPE STANDARD TABLE OF knb1.
    PARAMETERS:
      p_bukrs      TYPE bukrs  DEFAULT '2000'  OBLIGATORY.
    *       CLASS lcl_eventhandler DEFINITION
    CLASS lcl_eventhandler DEFINITION.
      PUBLIC SECTION.
        CLASS-METHODS:
          handle_hotspot_click FOR EVENT hotspot_click OF cl_gui_alv_grid
            IMPORTING
              e_row_id
              e_column_id
              es_row_no
              sender.
    ENDCLASS.                    "lcl_eventhandler DEFINITION
    *       CLASS lcl_eventhandler IMPLEMENTATION
    CLASS lcl_eventhandler IMPLEMENTATION.
      METHOD handle_hotspot_click.
    *   define local data
        DATA:
          ls_knb1     TYPE knb1,
          ls_col_id   TYPE lvc_s_col.
        READ TABLE gt_knb1 INTO ls_knb1 INDEX e_row_id-index.
        CHECK ( ls_knb1-kunnr IS NOT INITIAL ).
        CASE e_column_id-fieldname.
          WHEN 'KUNNR'.
            SET PARAMETER ID 'KUN' FIELD ls_knb1-kunnr.
            SET PARAMETER ID 'BUK' FIELD ls_knb1-bukrs.
            CALL TRANSACTION 'XD03' AND SKIP FIRST SCREEN.
          WHEN 'ERNAM'.
    *        SET PARAMETER ID 'USR' FIELD ls_knb1-ernam.
    *        NOTE: no parameter id available, yet simply show the priciple
            CALL TRANSACTION 'SU01' AND SKIP FIRST SCREEN.
          WHEN OTHERS.
    *       do nothing
        ENDCASE.
    *   Set active cell to field BUKRS otherwise the focus is still on
    *   field KUNNR which will always raise event HOTSPOT_CLICK
        ls_col_id-fieldname = 'BUKRS'.
        CALL METHOD go_grid1->set_current_cell_via_id
          EXPORTING
            is_row_id    = e_row_id
            is_column_id = ls_col_id.
      ENDMETHOD.                    "handle_hotspot_click
    ENDCLASS.                    "lcl_eventhandler IMPLEMENTATION
    START-OF-SELECTION.
      SELECT        * FROM  knb1 INTO TABLE gt_knb1
             WHERE  bukrs  = p_bukrs.
    * Create docking container
      CREATE OBJECT go_docking
        EXPORTING
          parent                      = cl_gui_container=>screen0
          ratio                       = 90
        EXCEPTIONS
          OTHERS                      = 6.
      IF sy-subrc <> 0.
    *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    * Create ALV grid
      CREATE OBJECT go_grid1
        EXPORTING
          i_parent          = go_docking
        EXCEPTIONS
          OTHERS            = 5.
      IF sy-subrc <> 0.
    *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    * Set event handler
      SET HANDLER:
        lcl_eventhandler=>handle_hotspot_click FOR go_grid1.
    * Build fieldcatalog and set hotspot for field KUNNR
      PERFORM build_fieldcatalog_knb1.
    * Display data
      CALL METHOD go_grid1->set_table_for_first_display
        CHANGING
          it_outtab       = gt_knb1
          it_fieldcatalog = gt_fcat
        EXCEPTIONS
          OTHERS          = 4.
      IF sy-subrc <> 0.
    *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    * Link the docking container to the target dynpro
      CALL METHOD go_docking->link
        EXPORTING
          repid                       = syst-repid
          dynnr                       = '0100'
    *      CONTAINER                   =
        EXCEPTIONS
          OTHERS                      = 4.
      IF sy-subrc <> 0.
    *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    * ok-code field = GD_OKCODE
      CALL SCREEN '0100'.
    END-OF-SELECTION.
    *&      Module  STATUS_0100  OUTPUT
    *       text
    MODULE status_0100 OUTPUT.
      SET PF-STATUS 'STATUS_0100'.
    *  SET TITLEBAR 'xxx'.
    ENDMODULE.                 " STATUS_0100  OUTPUT
    *&      Module  USER_COMMAND_0100  INPUT
    *       text
    MODULE user_command_0100 INPUT.
      CASE gd_okcode.
        WHEN 'BACK' OR
             'END'  OR
             'CANC'.
          SET SCREEN 0. LEAVE SCREEN.
        WHEN OTHERS.
      ENDCASE.
      CLEAR: gd_okcode.
    ENDMODULE.                 " USER_COMMAND_0100  INPUT
    *&      Form  BUILD_FIELDCATALOG_KNB1
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM build_fieldcatalog_knb1 .
    * define local data
      DATA:
        ls_fcat        TYPE lvc_s_fcat.
      CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
        EXPORTING
    *     I_BUFFER_ACTIVE              =
          i_structure_name             = 'KNB1'
    *     I_CLIENT_NEVER_DISPLAY       = 'X'
    *     I_BYPASSING_BUFFER           =
    *     I_INTERNAL_TABNAME           =
        CHANGING
          ct_fieldcat                  = gt_fcat
        EXCEPTIONS
          inconsistent_interface       = 1
          program_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.
      LOOP AT gt_fcat INTO ls_fcat
              WHERE ( fieldname = 'KUNNR'  OR
                      fieldname = 'ERNAM' ).
        ls_fcat-hotspot = abap_true.
        ls_fcat-scrtext_s  = '<short text>'.  " short text of column
        ls_fcat-scrtext_m = '<medium text>'.  " medium text of column
        ls_fcat-scrtext_l   = '<long text>'.  " longtext text of column
        ls_fcat-tooltip      = '...'.  " ALV control: Tool tip for column header
        ls_fcat-coltext    = '...'.   " ALV control: Column heading
        MODIFY gt_fcat FROM ls_fcat.
      ENDLOOP.
    ENDFORM.                    " BUILD_FIELDCATALOG_KNB1
    Regards
      Uwe

  • How to use ABAP Class to modify Web Query Result ??

    Hi all !
    We are using Web Templates to display our Query.
    What I would like to do ( and seems a really important issue for our users! ) is to have a "PAGE BREAK" everytime the value of a charateristics change in the report
    For Example :
    -Page 1-
    Division     Project
       A               1
                        2
                        3
    -Page 2-
    Division     Project
       B               1
                        2
                        3
    and so on....
    I read threads about using ABAP CLASS but no example what so ever...
    We are presently under BW 3.1 but are considering upgrading to 7.0 by the end of the year so if there is a solution to my problem on either version i'd like to know.
    If anyone has any information about how I can do this it would be most appreciated
    Thx
    JB.

    Hi Yong,
    Ravi is right, first check the blogs by Jocelyn, and if you still have specific questions you can ask them. I have used ABAP classes in workflow and I know Mike Pokraka tries to use classes exclusively.
    Regards,
    Martin

  • Hide a specific cell using ABAP classes

    Hi Experts,
    Is there a way to hide a specific cell using ABAP classes for reports?
    Marcelo

    Hello Thomas Daly
        I never saw a way to grant permission to a List, the only way I ever saw a list get its permissions is thru
    the group site it resides in, the Discussion Board is the problem in this case (it has preconfigure permissions but they seem more like properties that you select the value from RadioButtons).  However, ms-addnew gets rid of the Add new link but it
    gets rid of the one in the Discusson Board too because Discussion Board falls in the category of List.
        In other words ms-addnew in the master got rid of all of the Add new items, link etc as hoped but now
    I can't add to the Discussion Board.
        I am alright with a hack (I am open to any suggestions) that would work if it works but, the List's I am referring to are all "Links" in the Quick Launch so I dont know how you would be able to apply the jquery, how would you apply the
    jquery to a Links in a Quick Launch?
        Thank you
        Shabeaut

  • Reg:Function module SAPWL_GET_SUMMARY_STATISTIC not working in CRM ABAP 6.0

    Hi All,
      When i execute the function module SAPWL_GET_SUMMARY_STATISTIC in CRM ABAP 6.0 passing the values below,
    PERIODTYPE                    
    HOSTID                         
    STARTDATE  
    it's not showing any values in the summary.
    it's showing the exporting parameters as,
    RFC_ERROR_TYPE                  L
    SUMMARY_AVAILABLE               N
    HITLISTS_N_PROFILES_AVAILABLE   A
    if this function module will not work means kindly provide me the solution for calculating
    Average Response Time as in tcode st03 - Instance - total - Workload Overview.
    Average CPU Time and some more fileds.
    Regards,
    Suresh

    Hi
    I used the FM mentioned and found the details as below:
    VKORG
    TABNAME                        TVKO
    FIELDNAME                      VKORG
    LANGU                          EN
    POSITION                       0001
    OFFSET                         000006
    DOMNAME                     VKORG
    ROLLNAME                    VKORG
    CHECKTABLE
    VTEXT
    TABNAME                        TVKOT
    FIELDNAME                      VTEXT
    LANGU                          EN
    POSITION                       0002
    OFFSET                         000014
    DOMNAME                        TEXT20
    ROLLNAME                       VTXTK
    CHECKTABLE
    LENG                           000020
    Shiva

  • Is there a function module to import a value to abap memory

    Hi,
    My requirement is as follows.
    I have the following inputs.
    Input 1 = some value
    Input2 = ABAP Memory
    If I pass the above inputs to a function module it should import the value in Input1 to the ABAP Memory given in Input2.
    Is there any standard function module in SAP to fulfill the above requirement?
    Thanks,
    Indira

    Not sure if my grammar is correct, but you don't "import to" rather you "export to" & "import from".
    First things first. Why do you need a FM for this purpose ? A simple [EXPORT|http://help.sap.com/abapdocu_70/en/ABAPEXPORT_DATA_CLUSTER_MEDIUM.htm#&ABAP_ALTERNATIVE_3@3@] statement will do this for you.
    May be i don't get your question correctly, else you're too much obsessed with using FMs.
    Cheers,
    Suhas

  • Integrate  Function module in Web Dyn Pro for Abap

    Dear Experts,
    Im new to WDA, i want to integrate function module (which will display the smartform) in webdynpro abap.
    is there any option to do that?
    With Regards,
    P.Arun
    Edited by: Arun Padmanaban on May 27, 2009 12:30 PM

    Dear Arun,
    you can call the function module it is as same as how you call from abap editor.
    or else instead of smart form you can call adobe form.
    WD works with adobe forms to integrate smart form i am also not sure.
    to work with adobe forms just search in this forum you will get lot of links.
    or check this link to displaying a smartform in pdf format using webdynpro
    [displaying a smartform in pdf format using webdynpro |Re: displaying a smartform in pdf format using webdynpro]
    all the best.
    Regards,
    Mahesh.Gattu
    Edited by: Maheshkumar gattu on May 27, 2009 4:24 PM

  • Function module to read XML file in ABAP

    Hey guys
    is there any function module which can read an XML file into an ABAP code?
    we are getting some file on the application server in XML format and we need to read this file in ABAP code,how can i achieve this ?
    thanz
    ahmad

    Hi Ahmad,
      These are few functions to work with XML in ABAP.
      SDIXML_DATA_TO_DOM: Convert SAP data (elementary/structured/table types) into DOM (XML)       
    SDIXML_DOM_TO_XML: Convert DOM (XML) into string of bytes that can be downloaded to PC or application server
    SDIXML_DOM_TO_SCREEN: Display DOM (XML)
    SDIXML_DOM_TO_DATA
    Example of using these:
    eport z.
    data: it_table like t001 occurs 0.
    data: l_dom      TYPE REF TO IF_IXML_ELEMENT,
          m_document TYPE REF TO IF_IXML_DOCUMENT,
          g_ixml     TYPE REF TO IF_IXML,
          w_string   TYPE XSTRING,
          w_size     TYPE I,
          w_result   TYPE I,
          w_line     TYPE STRING,
          it_xml     TYPE DCXMLLINES,
          s_xml      like line of it_xml,
          w_rc       like sy-subrc.
    start-of-selection.
      select * from t001 into table it_table.
    end-of-selection.
    initialize iXML-Framework          ****
      write: / 'initialiazing iXML:'.
      class cl_ixml definition load.
      g_ixml = cl_ixml=>create( ).
      check not g_ixml is initial.
      write: 'ok'.
    create DOM from SAP data           ****
      write: / 'creating iXML doc:'.
      m_document = g_ixml->create_document( ).
      check not m_document is initial.
      write: 'ok'.
      write: / 'converting DATA TO DOM 1:'.
      CALL FUNCTION 'SDIXML_DATA_TO_DOM'
        EXPORTING
          NAME               = 'IT_TABLE'
          DATAOBJECT         = it_table[]
        IMPORTING
          DATA_AS_DOM        = l_dom
        CHANGING
          DOCUMENT           = m_document
        EXCEPTIONS
          ILLEGAL_NAME       = 1
          OTHERS             = 2.
      if sy-subrc = 0.  write  'ok'.
      else.             write: 'Err =', sy-subrc.
      endif.
      check not l_dom is initial.
      write: / 'appending DOM to iXML doc:'.
      w_rc = m_document->append_child( new_child = l_dom ).
      if w_rc is initial.  write  'ok'.
      else.                write: 'Err =', w_rc.
      endif.
    visualize iXML (DOM)               ****
      write: / 'displaying DOM:'.
      CALL FUNCTION 'SDIXML_DOM_TO_SCREEN'
        EXPORTING
          DOCUMENT          = m_document
        EXCEPTIONS
          NO_DOCUMENT       = 1
          OTHERS            = 2.
      if sy-subrc = 0.  write  'ok'.
      else.             write: 'Err =', sy-subrc.
      endif.
    convert DOM to XML doc (table)     ****
      write: / 'converting DOM TO XML:'.
      CALL FUNCTION 'SDIXML_DOM_TO_XML'
        EXPORTING
          DOCUMENT            = m_document
        PRETTY_PRINT        = ' '
        IMPORTING
          XML_AS_STRING       = w_string
          SIZE                = w_size
        TABLES
          XML_AS_TABLE        = it_xml
        EXCEPTIONS
          NO_DOCUMENT         = 1
          OTHERS              = 2.
      if sy-subrc = 0.   write  'ok'.
      else.              write: 'Err =', sy-subrc.
      endif.
      write: / 'XML as string of size:', w_size, / w_string.
      describe table it_xml lines w_result.
      write: / 'XML as table of', w_result, 'lines:'..
      loop at it_xml into s_xml.
        write s_xml.
      endloop.
      write: / 'end of processing'.
    end of code
    Let me know if you have further questions..
    BR
    Rakesh

  • Function module PTRA_WEB_EXPENSE_REPORT_GET_2 not working when used in loop

    Hi All,
    I have used a function module PTRA_WEB_EXPENSE_REPORT_GET_2  in a custom fumction module which i am developing fetch the travel expense data . The function module PTRA_WEB_EXPENSE_REPORT_GET_2  returns the travel expense data based on the employee and the trip number. I want to fetch the travel expense data for a given set of employees and trip number and hence i have used this function module inside a loop statement.
    The function module returns the travel expense data for the employee and trip in the first loop pass. From the second loop passs it doesn't return the value. I have also checked this in se37 and the same thing happens. Value is returned for the fist employee but for the next employee we have to go to initial screen of se37 and execute the Func. module again.
    I debugged this function module and found that the value of the employee and the trip number is stored in the global variable. The value passed for the employee and trip is compared with the correspomding value in the global variable and if they are not same an error message is returned. Since we are using in a loop , each time a different value is passed for the employee and trip and the check fails .
    Is there any way to clear the value in the global parameters or is there any other function module which can be used to clear the values of the global variables?
    Thanks!
    Regards
    Manipal Parkala

    Hello Archana,
    May be we can try several ways...
    1) can you try calling function module BUFFER_REFRESH_ALL ??
       after each call...
    2) May be u can call Function module "PTRA_WEB_EXPENSE_REPORT_GET_2 " in background task or seperate task , it will load the function group everytime when u call it in loop.
    ***DO let us know if it does not work.
    thanks
    ~Raj

Maybe you are looking for

  • A Beginners Guide to creating Photoshop HTML Extensions with Jquery-UI.

    Like alot of you here, I've been struggling to learn how to create these new HTML extensions.    I thought I'd take the time to make a tutorial of what I've discovered.  I've posted it here:  adobescripting.com/MAIN_wp/creating-photoshop-html5-extens

  • ESS/MSS: Approve Leave Request in UWL - not working

    Hi to all, we are using web dynpro ESS/ MSS (SAPESS07_12/ SAPMSS07_4) in portal NW04s for mySAP ERP2005 and are using UWL in order to approve leave requests. If employees are creating leave requests, everything works fine. After that the manager open

  • Unable to craete ABAP Webdynpro callable object

    Hi all, I am not able to create a callable object for a ABAP Webdynpro application. The SAP system has been configured properly in Endpoint Aliases and the Test Connection is successfull. The problem is that whenever I search any ABAP WebDynpro appli

  • XSAN Admin playing up!

    Two similar problems... First: Some clients do not appear at all in XSAN Admin, yet they are working happily with mounted, fully functioning volumes. All well and good, but we can't mount or unmount volumes. Second: Within XSAN Admin, some clients ap

  • Disk Quota Warning Job Not Showing Latest Data

    Hi, I received warning email about "Approaching Web Site Storage Limit". The old quota is 4GB, the old warning limit is 3.8GB. I increased the quota to 5GB and the warning limit to 4.8GB in Central Admin. The following week, I received warning email