Recevier Type function module

Hi workflow experts,
i want to select one workflow out of three , based on the user who triggers the event using receiver type function module. can any one suggest me the steps to be followed to design the receiver function module.

Hi James,
to get back to what you've asked for in the first place: You'd like to start one workflow (out of three) to choose among those you basically have two choices, as Saujanya gave you the second one, i.e.
Create an event linkage for each of the three workflow and suppress two of them by check function modules where the third one lets the event pass through. This is basically the same, as having one event linkage with a receiver type function.
For a solution, having multiple event linkages here, it could turn out to be tricky to program these check functions in the way that they guarantee that only one workflow starts at the same time. This is going to be more difficult the more complex the expression is.
For using a receiver type with one event linkage active, it is build-in that only one workflow may start with the event.
Any check-function modules work in addition to what the receiver type returns.
If using receiver types, do <i>not</i> enable event linkages for all three workflows, just customize the event-container binding in the event linkage section within the general workflow properties and do not activate it here. Instead create an event linkage manually within the transaction SWETYPV.
If you need additionally an check, I'd propose to have a separate check function module there.
Best regards,
Florin

Similar Messages

  • Receiver Type Function Module in SWE2 use of export parameter.

    i am trying to understand the underlying concept in following things:(neednot to say i have searched alot and read sap documentation already).
    In event type linkage table say i have an entry for BOR -> AFVC_PM.
    As per sap Documentation says all these FM will trigger in following way.
    1 Check Function Module (to place any validations/checks)
    2 Receiver Type Function Module ()
    3 Receiver Function Module.
    Thats fine.
    This is what documentation says about Receiver Type FM(2nd FM) not Receiver FM(3rd FM).
    This FM has 1 export paramter
    Export parameters
    RECTYPE type SWETYPECOU-RECTYPE Receiver type( Result of the evaluation by the receiver type function module.)
    if i am understanding this right, in this FM receiver type will be decided .
    i have placed BREAK-POINT in this FM  and passing value WS90000024 (Workflow with simple mail step) in export parameter RECTYPE.
    after everything executed successfully why i can't see that mail in my inbox.
    Please correct me if i had misunderstood the concept .

    ok,indeed i was missing this thing.
    i got the mails in inbox.
    but why i can't see this value WS90000024 of this workflow ()which is going to be triggered ) in parameter RECTYPE.(its empty).
    it is empty after the receiver type function module execution is complete.
    below is workflow template,

  • RE: Idoc types , Function modules

    HI All
    What are the generic <b>Idoc types</b> and <b>function modules</b> used for the following objects for SAP R/3 4.7
    Invoice Release (inbound)
    Payments (outbound)
    Purchase Orders (outbound)
    Goods Receipts (outbound)
    Cost Centers (outbound)
    GL Codes (outbound)
    Internal Orders (outbound)
    WBS (outbound)
    Materials (outbound)
    Invoices (inbound)
    Invoices Blocked (outbbound)
    Any help will be very much appreciated
    And How do i judge which IDOC types and function module fit my requirement( I mean what are the things i have to keep in mind while choosing idoc types and function modules)
    Thnk you
    Steve

    I have an idea.
    Build an idoc from scratch with all the fileds or use the idoc invoic01 and extend it. Comming to function module write a function module that will extract the data from the idoc and will pass the data to bapi BAPI_INCOMINGINVOICE_CREATE( MIRO SCREEN). Please comment on this!!!

  • Outbound IDOC for sales order: message type, function module ?

    Hi all,
    is there a possibility to send out sales order data with an outbound IDOC (like sending an purchase order out with ORDERS.ORDERS05)
    I've looked in WE20, for application V1 there are process codes like SD01, SD04, ... but the function modules behind are no existing on our system (release 500)
    can anybody give me an little hint?
    Thank you very much
    best regards Hans

    Hi George,
    for every process code there is a function module attached you can see in WE41(t-code)..
    double click on the Process code you will able to see the Function Module attached to Process code..
    and also you can check it out in WE57 (t-code) link between the Function module and Message type and Idoc type..
    Process code      SD01                                               
    Description       ORDRSP: Order acknowledgment, ORD_ID01 (SD_ORDRSP) 
    Function module   SD_EDI_ORDRSP_ORD_ID01                             
    Process code      SD04                                               
    Description       DESADV: Shipping notif. with DES_ID01 (SD_DESADV)  
    Function module   SD_EDI_DESADV_DES_ID01    
    regards,
    Prabhudas

  • Dialog Performance Monitoring / Customizing Call Type Function Module

    done
    Edited by: hama01 on Jun 17, 2010 1:31 PM

    Check if you have all the join conditions that you could specify in the view definition. The FM code is fairly standard.
    To do similar test, do an SE16 on your view, on the selection screen remove no of records (200 or 500 whatever it is) to select all records, and execute. Check how long it takes to show you the records from the view. If it is similar to what your FM is taking, there is not much problem with your FM. You will need to check the view definition, and/or, provide more selection values while executing it.

  • Need Appointment Function Module Name to Read any Opportunity  No.

    Hello Gurus
    Can anyone  tell me the Appointment  type Function Module Name where Header_guid and  Appt_type are to be supplied .
    Means i want to only read(not to change or create)  an opportunity no for a particular Appointment type(Date_type).  I tried for the following FMs:
    1.CRM_APPOINTMENT_READ_OW
    2.CRM_APPOINTMENT_DETERMINE_OW
    3.CRM_APPOINTMENT_CHECK_OW
    thanks in advance
    Madhusudan

    Hello Madhusudan,
    for the activities you can use the following coding (example):
    -Beginn-
      CALL FUNCTION 'BAPI_ACTIVITYCRM_GETDETAILMULT'
        TABLES
          guid   = lt_guid
          header = lt_header
          date   = lt_bapibus20001_app_dis.
      CALL FUNCTION '/DKVES/SM_ACTIVITY_GETFROMBUPA'
        EXPORTING
          iv_partner  = lv_partner
        TABLES
          et_contacts = lt_sm_activity_simple.
      LOOP AT lt_sm_activity_simple INTO ls_sm_activity_simple.
        CLEAR ls_bapibus20001_app_dis.
        READ TABLE lt_bapibus20001_app_dis INTO ls_bapibus20001_app_dis
        WITH KEY ref_guid = ls_sm_activity_simple-activity_guid appt_type = 'ORDERPLANNED'.
          ls_order_aktiv-date_from = ls_bapibus20001_app_dis-date_from.
        APPEND ls_order_aktiv TO lt_order_aktiv.
      ENDLOOP.
    -end-
    If you want the other 'one order Objects' you can perhaps modify the selection.
    I hope that helps
    Torsten

  • Receiver Function Module

    Hi experts,
    what is the use of,
    Receiver Function Module and
    Receiver Type Function Module.
    I already search for this in forum. But I didn't get the answer.
    Thanks in advance.
    Points will be rewarded for all replies.

    Hi,
    SWE2
    double click an entry
    position the cursor on the receiver FM and press F1 and read all subsequent documentation
    Kind regards, Rob Dielemans
    PS help.sap.com also has this info.

  • Question about the function module (RFC_READ_TABLE)

    Dear everyone
    Could I ask you a question about the function module (RFC_READ_TABLE)?
    I was asked if it's possible to create a report which compares the data between different SAP systems (both production systems).
    Now, the easiest way would be to use the function module (RFC_READ_TABLE) within a SAP infoset query (SQ01 type query).
    But I heard the rumor that using the function module (RFC_READ_TABLE) is not advisable due to the security reason.
    However, I am not exactly sure what sort of security problems this function module can possibly have...
    Would you help me on this?
    I also would like to know if using "remote enabled module" type function module can always overcome this possible security issue.
    Or, are there any points that I need to be careful about even when I use "remote enabled module" function module?
    Thank you very much in advance.
    Takashi

    Dear Fred-san
    Thank you very much for your support on this.
    But, may I double check about what you mentioned above?
    So, what you were mentioning was that if some user executes the query with
    the function module (RFC_READ_TABLE), under the following conditions, he can access to
    the HR data even when he does not have the authorizations for HR transactions?
    <Conditions>
    1. the user has the authorization for HR database tables themselves
    2. RFC_READ_TABLE is called to retrieve the data from HR database
    <example>
    Data: LF_HR_TABLE like  DD02L-TABNAME value 'PA0000'.
    CALL FUNCTION 'RFC_READ_TABLE'
       EXPORTING
        query_table                = LF_HR_TABLE
      TABLES
       OPTIONS                    =
       fields                     =
       data                       =    .
    But then, as long as we call this function module for a non-critical tables such as
    VBAP (sales order) or EKKO (purchase order) within our query, it wouldn't seem to be
    so security risk to use RFC_READ_TABLE...
    Besides, each query (infoset query) has got the concept of user groups, which limits
    the access to the queries within the user group.
    ※If someone does not belong to the user group, he cannot execute the queries within that
       user group, etc
    So, my feeling is that even infoset queries does have authorization concept...
    Would you give me your thought on this?
    I also thank you for your information for SCU0.
    That is an interesting transaction
    Kind regards,
    Takashi

  • Problem when using function module PYXX_READ_PAYROLL_RESULT giving dump.

    When i am using PYXX_READ_PAYROLL_RESULT function module to get HR cluster data. I am getting following dump.
    So,can any one help me to solve this issue.I want this function data.
    An exception occurred that is explained in detail below.
    The exception, which is assigned to class 'CX_SY_DYN_CALL_ILLEGAL_TYPE', was
      not caught in
    procedure "PYXX_READ_PAYROLL_RESULT" "(FUNCTION)", nor was it propagated by a
      RAISING clause.
    Since the caller of the procedure could not have anticipated that the
    exception would occur, the current program is terminated.
    The reason for the exception is:
    Call to FORM "IMPORT_RESULT" is incorrect:
    The actual parameter no. 2 has a different data type in the
    PERFORM than requested for the FORM "IMPORT_RESULT" in program "%_T0LJ20".
    Program                                 SAPLHRPAY99_IMPEXP
    Include                                 LHRPAY99_IMPEXPU02
    Row                                     1
    Module type                             (FUNCTION)
    Module Name                             PYXX_READ_PAYROLL_RESULT
    Program                                 SAPLHRPAY99_IMPEXP
    Include                                 LHRPAY99_IMPEXPU02
    Row                                     137
    Module type                             (FUNCTION)
    Module Name                             PYXX_READ_PAYROLL_RESULT

    Find below is my code can u tell me wch type is not true .i tried but not able to find prob solution.
    Plz help me waiting for reply.
    TYPE-POOLS: SLIS.
    DATA : FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
          it_sort TYPE slis_t_sortinfo_alv WITH HEADER LINE,
          gd_tab_group TYPE slis_t_sp_group_alv,
          gd_layout TYPE slis_layout_alv,
          gd_repid LIKE sy-repid,
          gt_events TYPE slis_t_event,
          gd_prntparams TYPE slis_print_alv,
          it_eve TYPE slis_t_event,
           V_LAYOUT  TYPE SLIS_LAYOUT_ALV.
          wa_eve TYPE slis_alv_event.
    *DATA header TYPE slis_t_listheader WITH HEADER LINE.
    *DATA: ls_fcat   TYPE slis_t_fieldcat_alv,
         l_lin     TYPE i.
    *DATA: ls_event TYPE slis_alv_event.
    DATA : WA_COLNO(2) TYPE N VALUE '1'.
    DATA : REPID LIKE SY-REPID.
    TABLES: PA0001,PA0002,T001P,T528T,T527X,T503T.
    DATA:BEGIN OF IT_PA0002 OCCURS 0,
          PERNR LIKE PA0002-PERNR,
         END OF IT_PA0002.
    DATA:BEGIN OF IT_PA0001 OCCURS 0,
          PERNR LIKE PA0001-PERNR,
          ENAME LIKE PA0001-ENAME,
          PLANS LIKE PA0001-PLANS,
          WERKS LIKE PA0001-WERKS,
          BTRTL LIKE PA0001-BTRTL,
          ORGEH LIKE PA0001-ORGEH,
          PERSK LIKE PA0001-PERSK,
         END OF IT_PA0001.
    DATA: BEGIN OF IT_T528T OCCURS 0,
            PLANS LIKE T528T-PLANS,
            PLSTX LIKE T528T-PLSTX,
          END OF IT_T528T.
    DATA: BEGIN OF IT_T001P OCCURS 0,
            WERKS LIKE T001P-WERKS,
            BTRTL LIKE T001P-BTRTL,
            BTEXT LIKE T001P-BTEXT,
          END OF IT_T001P.
    DATA: BEGIN OF IT_T527X OCCURS 0,
            ORGEH LIKE T527X-ORGEH,
            ORGTX LIKE T527X-ORGTX,
          END OF IT_T527X.
    DATA: BEGIN OF IT_T503T OCCURS 0,
            PERSK LIKE T503T-PERSK,
            PTEXT LIKE T503T-PTEXT,
          END OF IT_T503T.
    DATA:BEGIN OF IT_FINAL OCCURS 0,
          PERNR LIKE PA0001-PERNR,
          ENAME LIKE PA0001-ENAME,
          PLSTX LIKE T528T-PLSTX,
          BTEXT LIKE T001P-BTEXT,
          ORGTX LIKE T527X-ORGTX,
          PTEXT LIKE T503T-PTEXT,
         END OF IT_FINAL.
    *DATA: WI_RT LIKE LINE OF PAYROLL-INTER-RT,
    *DATA: WI_RGDIR LIKE STANDARD TABLE OF PC261 WITH HEADER LINE,
    DATA: IT_EVP TYPE HRPY_TT_RGDIR,
          ls_evp LIKE LINE OF IT_EVP,
          WI_RGDIR LIKE STANDARD TABLE OF PC261 WITH HEADER LINE,
          WI_PAYRESULT TYPE PAY99_RESULT.
         WI_PAYRESULT TYPE STANDARD TABLE OF PAYUS_RESULT WITH HEADER LINE.
    DATA  WG_MOLGA LIKE T500L-MOLGA.
    SELECTION-SCREEN BEGIN OF BLOCK B1.
    SELECT-OPTIONS: S_PERNR FOR PA0001-PERNR,
                    S_BTRTL FOR PA0001-BTRTL,
                    S_ORGEH FOR PA0001-ORGEH.
    SELECTION-SCREEN END OF BLOCK B1.
    START-OF-SELECTION.
      PERFORM GET_DATA.
      PERFORM BUILD_FIELD_CATLOG.
      PERFORM DISPLAY_DATA.
    *&      Form  GET_DATA
          text
    -->  p1        text
    <--  p2        text
    FORM GET_DATA .
      SELECT PERNR
        INTO CORRESPONDING FIELDS OF TABLE IT_PA0002
        FROM PA0002
        WHERE PERNR IN S_PERNR.
      IF IT_PA0002[] IS NOT INITIAL.
        SELECT PERNR ENAME PLANS WERKS BTRTL ORGEH PERSK
           INTO CORRESPONDING FIELDS OF TABLE IT_PA0001
           FROM PA0001
           FOR ALL ENTRIES IN IT_PA0002
           WHERE PERNR  = IT_PA0002-PERNR
           AND   BTRTL IN S_BTRTL
           AND   ORGEH IN S_ORGEH.
      ENDIF.
      IF IT_PA0001[] IS NOT INITIAL.
        SELECT PLANS PLSTX
          INTO CORRESPONDING FIELDS OF TABLE IT_T528T
          FROM T528T
          FOR ALL ENTRIES IN IT_PA0001
          WHERE PLANS = IT_PA0001-PLANS
          AND   SPRSL = 'EN'.
        SELECT WERKS BTRTL BTEXT
          INTO CORRESPONDING FIELDS OF TABLE IT_T001P
          FROM T001P
          FOR ALL ENTRIES IN IT_PA0001
          WHERE WERKS = IT_PA0001-WERKS
          AND   BTRTL = IT_PA0001-BTRTL.
        SELECT ORGEH ORGTX
          INTO CORRESPONDING FIELDS OF TABLE IT_T527X
          FROM T527X
          FOR ALL ENTRIES IN IT_PA0001
          WHERE ORGEH = IT_PA0001-ORGEH
          AND   SPRSL = 'EN'.
        SELECT PERSK PTEXT
          INTO CORRESPONDING FIELDS OF TABLE IT_T503T
          FROM T503T
          FOR ALL ENTRIES IN IT_PA0001
          WHERE PERSK = IT_PA0001-PERSK
          AND   SPRSL = 'EN'.
      ENDIF.
    *DELETE ADJACENT DUPLICATES FROM IT_PA0001 COMPARING PERNR.
      LOOP AT IT_PA0001.
        MOVE IT_PA0001-ENAME TO IT_FINAL-ENAME.
        READ TABLE IT_PA0002 WITH KEY PERNR = IT_PA0001-PERNR.
        IF SY-SUBRC = 0.
          MOVE IT_PA0002-PERNR TO IT_FINAL-PERNR.
        ENDIF.
        READ TABLE IT_T528T WITH KEY PLANS = IT_PA0001-PLANS.
        IF SY-SUBRC = 0.
          MOVE IT_T528T-PLSTX TO IT_FINAL-PLSTX.
        ENDIF.
        LOOP AT IT_T001P WHERE WERKS = IT_PA0001-WERKS AND BTRTL = IT_PA0001-BTRTL.
          MOVE IT_T001P-BTEXT TO IT_FINAL-BTEXT.
        ENDLOOP.
        READ TABLE IT_T527X WITH KEY ORGEH = IT_PA0001-ORGEH.
        IF SY-SUBRC = '0'.
          MOVE IT_T527X-ORGTX TO IT_FINAL-ORGTX.
        ENDIF.
        READ TABLE IT_T503T WITH KEY PERSK = IT_PA0001-PERSK.
        IF SY-SUBRC = '0'.
          MOVE IT_T503T-PTEXT TO IT_FINAL-PTEXT.
        ENDIF.
        CALL FUNCTION 'CU_READ_RGDIR'
          EXPORTING
            PERSNR          = IT_FINAL-PERNR
          BUFFER
          NO_AUTHORITY_CHECK = ' '
          IMPORTING
            MOLGA           = WG_MOLGA
          TABLES
            IN_RGDIR        = WI_RGDIR
          EXCEPTIONS
            NO_RECORD_FOUND = 1
            OTHERS = 2 .
         CLEAR WG_SUM.
        LOOP AT WI_RGDIR INTO ls_evp.
           IF ( WI_RGDIR-FPEND BETWEEN P_STDATE AND P_ENDATE AND
           WI_RGDIR-SRTZA = 'A' ) .
             IF Wg_MOLGA = '10'.
          CALL FUNCTION 'PYXX_READ_PAYROLL_RESULT'
            EXPORTING
              CLUSTERID                    = 'IN'
              EMPLOYEENUMBER               = IT_FINAL-PERNR
              SEQUENCENUMBER               = ls_evp-SEQNR
            READ_ONLY_INTERNATIONAL      = ''
            CHANGING
              PAYROLL_RESULT               = WI_PAYRESULT
            EXCEPTIONS
              ILLEGAL_ISOCODE_OR_CLUSTERID = 1
              ERROR_GENERATING_IMPORT      = 2
              IMPORT_MISMATCH_ERROR        = 3
              SUBPOOL_DIR_FULL             = 4
              NO_READ_AUTHORITY            = 5
              NO_RECORD_FOUND              = 6
              VERSIONS_DO_NOT_MATCH        = 7
              ERROR_READING_ARCHIVE        = 8
              ERROR_READING_RELID          = 9
              OTHERS                       = 10.
             endif.
        ENDLOOP.
        APPEND IT_FINAL.
      ENDLOOP.
      DELETE ADJACENT DUPLICATES FROM IT_FINAL COMPARING ALL FIELDS.
    ENDFORM.                    " GET_DATA
    *&      Form  BUILD_FIELD_CATLOG
          text
    -->  p1        text
    <--  p2        text
    FORM BUILD_FIELD_CATLOG .
      CLEAR FIELDCATALOG.
      FIELDCATALOG-FIELDNAME = 'PERNR'.
      FIELDCATALOG-SELTEXT_M = 'Emp Code'.
      FIELDCATALOG-COL_POS = WA_COLNO.
      FIELDCATALOG-OUTPUTLEN = 9.
      FIELDCATALOG-EMPHASIZE = 'X'.
      FIELDCATALOG-KEY       = 'X'.
      WA_COLNO = WA_COLNO + 1.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR FIELDCATALOG.
      FIELDCATALOG-FIELDNAME = 'ENAME'.
      FIELDCATALOG-SELTEXT_M = 'Emp Name'.
      FIELDCATALOG-COL_POS = WA_COLNO.
      FIELDCATALOG-OUTPUTLEN = 40.
      FIELDCATALOG-EMPHASIZE = 'X'.
      FIELDCATALOG-KEY       = 'X'.
      WA_COLNO = WA_COLNO + 1.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR FIELDCATALOG.
      FIELDCATALOG-FIELDNAME = 'PLSTX'.
      FIELDCATALOG-SELTEXT_M = 'Position'.
      FIELDCATALOG-COL_POS = WA_COLNO.
      FIELDCATALOG-OUTPUTLEN = 26.
      FIELDCATALOG-EMPHASIZE = 'X'.
      FIELDCATALOG-KEY       = 'X'.
      WA_COLNO = WA_COLNO + 1.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR FIELDCATALOG.
      FIELDCATALOG-FIELDNAME = 'BTEXT'.
      FIELDCATALOG-SELTEXT_M = 'Work Location'.
      FIELDCATALOG-COL_POS = WA_COLNO.
      FIELDCATALOG-OUTPUTLEN = 15.
      FIELDCATALOG-EMPHASIZE = 'X'.
      FIELDCATALOG-KEY       = 'X'.
      WA_COLNO = WA_COLNO + 1.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR FIELDCATALOG.
      FIELDCATALOG-FIELDNAME = 'ORGTX'.
      FIELDCATALOG-SELTEXT_M = 'Dept. Description'.
      FIELDCATALOG-COL_POS = WA_COLNO.
      FIELDCATALOG-OUTPUTLEN = 25.
      FIELDCATALOG-EMPHASIZE = 'X'.
      FIELDCATALOG-KEY       = 'X'.
      WA_COLNO = WA_COLNO + 1.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR FIELDCATALOG.
      FIELDCATALOG-FIELDNAME = 'PTEXT'.
      FIELDCATALOG-SELTEXT_M = 'Grade Set Code'.
      FIELDCATALOG-COL_POS = WA_COLNO.
      FIELDCATALOG-OUTPUTLEN = 21.
      FIELDCATALOG-EMPHASIZE = 'X'.
      FIELDCATALOG-KEY       = 'X'.
      WA_COLNO = WA_COLNO + 1.
      APPEND FIELDCATALOG TO FIELDCATALOG.
    ENDFORM.                    " BUILD_FIELD_CATLOG
    *&      Form  DISPLAY_DATA
          text
    -->  p1        text
    <--  p2        text
    FORM DISPLAY_DATA .
      REPID = SY-CPROG.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
      I_INTERFACE_CHECK                 = ' '
      I_BYPASSING_BUFFER                = ' '
      I_BUFFER_ACTIVE                   = ' '
         I_CALLBACK_PROGRAM                =  REPID
      I_CALLBACK_PF_STATUS_SET          = ' '
      I_CALLBACK_USER_COMMAND           = ' '
      I_CALLBACK_TOP_OF_PAGE            =  'TOP-OF-PAGE'
      I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
      I_CALLBACK_HTML_END_OF_LIST       = ' '
      I_STRUCTURE_NAME                  =
      I_BACKGROUND_ID                   = 'ALV_BACKGROUND'
      I_GRID_TITLE                      =
      I_GRID_SETTINGS                   =
      IS_LAYOUT                         = 'X'
         IT_FIELDCAT                       = FIELDCATALOG[]
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
      IT_SORT                           =
      IT_FILTER                         =
      IS_SEL_HIDE                       =
         I_DEFAULT                         = 'X'
         I_SAVE                            = 'A'
      IS_VARIANT                        =
      IT_EVENTS                         =
      IT_EVENT_EXIT                     =
      IS_PRINT                          =
      IS_REPREP_ID                      =
      I_SCREEN_START_COLUMN             = 0
      I_SCREEN_START_LINE               = 0
      I_SCREEN_END_COLUMN               = 0
      I_SCREEN_END_LINE                 = 0
      I_HTML_HEIGHT_TOP                 = 0
      I_HTML_HEIGHT_END                 = 0
      IT_ALV_GRAPHICS                   =
      IT_HYPERLINK                      =
      IT_ADD_FIELDCAT                   =
      IT_EXCEPT_QINFO                   =
      IR_SALV_FULLSCREEN_ADAPTER        =
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER           =
      ES_EXIT_CAUSED_BY_USER            =
        TABLES
          T_OUTTAB                          = IT_FINAL
       EXCEPTIONS
         PROGRAM_ERROR                     = 1
         OTHERS                            = 2
      IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    " DISPLAY_DATA

  • Function Modules in Event Linkage

    Dear all,
    In the event linkage of workflow, we can find 3 types of function modules. They are receiver function module, check function module and receiver type function module. Can anybody explain what are they used for?
    Thanks + Best Regards
    Jerome

    Hi Jerome,
    Explanation for each of the FM's(Receiver Fm, Check FM, Receiver Type FM).
    <b>1) Receiver Function Module.</b>
    This is the main function module which will actually link the Object Event and Workflow Or Task.
    Ex Event : BUS2012.ReleaseStepCreated
         Workflow : WS20000075
        FM : ZReceiver.
    An Entry in SWE2(Event linkage) with above values Does mean "The workflow WS20000075 will start when Event BUS2012.ReleaseStepCreated is triggered with the help of ZReceiver ".
    All Receiver Function Module should have standard interface(Same input and table parameters specified by SAP).
    <b>2)Check Function Module</b>
    This function module is used to prevent the event linkage.
    It is called <b>before the Receiver Function</b> Module is being called.
    Lets take the above ex:
    Ex Event : BUS2012.ReleaseStepCreated
         Workflow : WS20000075
    In this case if you want to do some checks before actually linking the  BUS2012.ReleaseStepCreated and WS20000075 using Receiver Function Module then you can use Check function module to do validation and raise the Exceptions.
    If any exceptions are raised in the Check function module then The Receiver Function module will not be called hence no EVent Linkage.
    <b>3) Receiver Type Function Module</b>
    This is the <b>First function module</b> to be called among three if it is specified in SWE2.
    This Function module is used to find the Receiver type Dynamically. ie if you have not specified the reciever type(Workflow or Task) in SWE2 you can determine that at runtime using this Function module.
    Reward if its helps. Feel free to ask for clarifications.
    Thanks
    Praveen

  • Exception while executing Function module - HRXSS_PER_READ_P0006_US

    Unable to execute any of the following Function modules(ECC 5)
    (Gave the neccesary inputs)
    HRXSS_PER_P0006_US
    HRXSS_PER_DELETE_P0006_US
    HRXSS_PER_EDIT_P0006_US
    HRXSS_PER_MODIFY_P0006_US
    HRXSS_PER_NEW_P0006_US
    HRXSS_PER_READ_P0006_US
    Getting an exception
    Runtime Errors OBJECTS_OBJREF_NOT_ASSIGNED_NO
    Exceptn CX_SY_REF_IS_INITIAL
    ShrtText
    Access with 'ZERO' object reference not possible.
    What happened?
    Error in ABAP application program.
    The current ABAP program "SAPLHRXSS_PER_MAC" had to be terminated because one of the statements could not be executed.
    This is probably due to an error in the ABAP program.
    Error analysis
    An exception occurred. This exception is dealt with in more detail below . The exception, which is assigned to the class 'CX_SY_REF_IS_INITIAL', was neither caught nor passed along using a RAISING clause, in the procedure "HRXSS_PER_CLEANUP" "(FUNCTION)".
    Since the caller of the procedure could not have expected this exception to occur, the running program was terminated.
    The reason for the exception is:
    There was an attempt to access a component using a 'NULL' object reference (points to nothing).
    An object reference must indicate an object (an instance of a class), before it can be used to access components.
    Either the reference was never set or it was set to 'NULL' using a CLEAR statement.
    Missing RAISING Clause in Interface
    Program SAPLHRXSS_PER_MAC
    Include LHRXSS_PER_MAC$04
    Row 7
    Module type (FUNCTION)
    Module Name HRXSS_PER_CLEANUP
    Trigger Location of Exception
    Program SAPLHRXSS_PER_MAC
    Include LHRXSS_PER_MACU04
    Row 13
    Module type (FUNCTION)
    Module Name HRXSS_PER_CLEANUP
    What could be the reason?
    Regards,
    Sarath

    Hi Sarath,
    The problem is caused by a program error in the CRM system.
    Solution for this is Import the Support Package or implement the correction instructions as specified in note 742720, there are some corrections attached to the note. Hope this will resolve the issue.
    Cheers,
    Shyam.

  • How to connect our outbound function module to the message type

    how to connect our outbound function module to the message type any transcation code exits to assign the message type with the function module .
    Thank in advance .
    A. Thiru

    Hi Thiru,
    Standard Transaction Codes, have their own Function Modules for generating Outbound/Indbound Idocs. Where these Function Modules will be configured to a particular Process Codes.
    For E.g for PO's
    Process code : ME10 - IDOC_OUTPUT_ORDERS - for creation
    In case if its a Z Function Module, It depends on the case how you use IDOC types. either directly through Z Program or through Inbound/Outbound Process  codes with respective Function modules.
    Regards,
    Anbalagan

  • Type conflict when calling a function module (field length)

    Dear All,
                I am getting this following error while executing:  Type conflict when calling a function module (field length)
    This is piece of coding i have writern in my action button.
    method SEARCH_MATERIAL .
      data:
            node_mat_input TYPE REF TO  if_wd_context_node,
            node_mat_output TYPE REF TO if_wd_context_node,
            material TYPE BAPIMATDET-MATERIAL,
            itab TYPE TABLE OF BAPIMATDOA.
      node_mat_input = wd_context->get_child_node( 'NODE_MAT_INPUT' ).
      node_mat_output = wd_context->get_child_node( 'NODE_MAT_OUTPUT' ).
      node_mat_input->get_attribute( EXPORTING name = 'MATERIAL'
                                     IMPORTING value = material ).
      CALL FUNCTION 'BAPI_MATERIAL_GET_DETAIL'
        EXPORTING
          material                    = material
        PLANT                       = plant
        VALUATIONAREA               =
        VALUATIONTYPE               =
        MATERIAL_EVG                =
       IMPORTING
         MATERIAL_GENERAL_DATA       = itab
        RETURN                      =
        MATERIALPLANTDATA           =
        MATERIALVALUATIONDATA       =
      node_mat_output->bind_table( itab ).
    endmethod.
    Attributes are:
    Node name = INPUT its structure is BAPIMATDET
    INPUT attributes = MATERIAL of type BAPIMATDET-MATERIAL
    Thanks,
    Gopi.

    Hi Amit,
               I have used service call to fetch records from that bapi..
    The following is the code generated by service call:-
    METHOD execute_bapi_material_get_deta .
    declarations for context navigation
      DATA:
        node_bapi_material_get_de   TYPE REF TO if_wd_context_node,
         node_exporting   TYPE REF TO if_wd_context_node,
         node_material_general_dat   TYPE REF TO if_wd_context_node,
         node_importing   TYPE REF TO if_wd_context_node,
          lri_element    TYPE REF TO if_wd_context_element.
    declarations for fuba parameters
      data:
        stru_c_material_general_dat    TYPE if_componentcontroller=>element_material_general_dat.
      DATA:
        attr_material    TYPE bapimatdet-material,
        attr_plant    TYPE bapimatall-plant.
    get all involved child nodes
      node_bapi_material_get_de = wd_context->get_child_node( `BAPI_MATERIAL_GET_DE` ).
      node_exporting = node_bapi_material_get_de->get_child_node( `EXPORTING` ).
      node_material_general_dat = node_exporting->get_child_node( `MATERIAL_GENERAL_DAT` ).
      node_importing = node_bapi_material_get_de->get_child_node( `IMPORTING` ).
    get input from context
      node_importing->get_attribute(    EXPORTING      name = `MATERIAL`
                                                         IMPORTING      value = attr_material ).
      node_importing->get_attribute(  EXPORTING       name = `PLANT`
                                                              IMPORTING       value = attr_plant ).
    the invocation - errors are always fatal !!!
      CALL FUNCTION 'BAPI_MATERIAL_GET_DETAIL'
        EXPORTING
          material =                        attr_material
          plant =                           attr_plant
    "      valuationarea =                   wd_This->Valuationarea
    "      valuationtype =                   wd_This->Valuationtype
    "      material_Evg =                    wd_This->Material_Evg
        IMPORTING
          material_general_data =           stru_c_material_general_dat
    "      return =                          wd_This->Return
    "      materialplantdata =               wd_This->Materialplantdata
    "      materialvaluationdata =           wd_This->Materialvaluationdat
      node_material_general_dat->bind_structure( stru_c_material_general_dat[] ).
    ENDMETHOD.
                                 but the problem is I  am getting the following error while compiling...
    " stru_c_materialplantdata " is not an internal table - the " OCCOURS n"  specification is missing.
    Thanks,
    Gopi.
    Edited by: Yegalaivan on Nov 18, 2009 8:30 AM

  • ERROR: -Type conflict when calling a function module

    hi to all,
    when iam executing the program in browser   Type conflict when calling a function module  error is showing, i have bind all the attribute correctly still iam getting error, WHEN I  CLICK ON THE SEARCH BUTTON DATA IS NOT COMING  TO MY TABLE ITAB1 plz help me....
      DATA:
          NODE_IP_SELECTION                   TYPE REF TO IF_WD_CONTEXT_NODE,
          ELEM_IP_SELECTION                   TYPE REF TO IF_WD_CONTEXT_ELEMENT,
          STRU_IP_SELECTION                   TYPE IF_PLANNING_HISTORY=>ELEMENT_IP_SELECTION ,
          ITAB TYPE TABLE OF ZSL_PL_UPDATE1,
          WA TYPE ZSL_PL_UPDATE1.
      navigate from <CONTEXT> to <IP_SELECTION> via lead selection
        NODE_IP_SELECTION = WD_CONTEXT->GET_CHILD_NODE( NAME = `IP_SELECTION` ).
      get element via lead selection
        ELEM_IP_SELECTION = NODE_IP_SELECTION->GET_ELEMENT(  ).
      get all declared attributes
        ELEM_IP_SELECTION->GET_STATIC_ATTRIBUTES(
          IMPORTING
            STATIC_ATTRIBUTES = STRU_IP_SELECTION ).
    CALL FUNCTION 'ZBAPI_PL_UPDATE'
            EXPORTING
              GV_LIFNR           =  STRU_IP_SELECTION-LIFNR
              GV_MATNR           = STRU_IP_SELECTION-LIFNR
              GV_GJAHR           = ' '
            GV_WEEK_LOW        =   STRU_IP_SELECTION-FROM_WEEK
             GV_WEEK_HIGH       =  STRU_IP_SELECTION-TO_WEEK
          IMPORTING
            RETURN             =
            TABLES
              GT_PL_UPDATE       = ITAB
             DATA:
               NODE_PLANN_NODE                     TYPE REF TO IF_WD_CONTEXT_NODE,
               ELEM_PLANN_NODE                     TYPE REF TO IF_WD_CONTEXT_ELEMENT,
               STRU_PLANN_NODE                     TYPE IF_PLANNING_HISTORY=>ELEMENT_PLANN_NODE,
               WA1 TYPE IF_PLANNING_HISTORY=>ELEMENT_PLANN_NODE,
               ITAB1 TYPE TABLE OF IF_PLANNING_HISTORY=>ELEMENT_PLANN_NODE.
              LOOP AT ITAB INTO WA.
               MOVE-CORRESPONDING WA TO WA1.
               APPEND WA1 TO ITAB1.
              ENDLOOP.
           navigate from <CONTEXT> to <PLANN_NODE> via lead selection
             NODE_PLANN_NODE = WD_CONTEXT->GET_CHILD_NODE( NAME = `PLANN_NODE` ).
             CALL METHOD NODE_PLANN_NODE->BIND_TABLE
               EXPORTING
                 NEW_ITEMS            = ITAB1
                SET_INITIAL_ELEMENTS = ABAP_TRUE
                INDEX                =
    ENDMETHOD.

    CALL FUNCTION 'ZBAPI_PL_UPDATE'
    EXPORTING
    GV_LIFNR = STRU_IP_SELECTION-LIFNR
    GV_MATNR = STRU_IP_SELECTION-LIFNR
    GV_GJAHR = ' '
    GV_WEEK_LOW = STRU_IP_SELECTION-FROM_WEEK
    GV_WEEK_HIGH = STRU_IP_SELECTION-TO_WEEK
    IMPORTING
    RETURN =
    TABLES
    GT_PL_UPDATE = ITAB
    Problem is here
    check out the type GV_GJAHR whether it accepts string type.
    thanks
    sarbjeet singh

  • Error:Type conflict when calling a function module RFC_ERROR_SYSTEM_Failure

    Hi Experts,
    When I run my Application in Portal, i am getting the following error.
    Type conflict when calling a function module., error key: RFC_ERROR_SYSTEM_FAILURE
    When I execute the BAPI, it is getting executed.
    My Bapi Strucute:
    Import Parameters
    IM_MAT_Search --> ZPTIP_MAT --> Import Parameters
    Tables
    IT_INFO_REC --> ZMM_GET_ITEM --> Output Parameters
    When I import the model, i am getting the structure like this
    BAPI_Name > ZMM_BAPI_Input> IM_MAT_Search(respective Parameters) , Output (respective Tables and their parameters)
                        > ZMM_Input1> Parameters
    This is the way, how i am executing in webdynpro java
    Zmm_Bapi_Ptip_Search_Input eleInput = new Zmm_Bapi_Ptip_Search_Input();
    wdContext.nodeZmm_Bapi_Ptip_Search_Input().bind(eleInput);
    Zptip_Asset eleInputAsset = new Zptip_Asset();
    eleInputAsset.setSearch("ACRS");
    wdContext.nodeZptip_Asset().bind(eleInputAsset);
    eleInput.setIm_Ast_Search(eleInputAsset);
    wdContext.nodeZmm_Bapi_Ptip_Search_Input().bind(eleInput);
    wdContext.nodeZmm_Bapi_Ptip_Search_Input().currentZmm_Bapi_Ptip_Search_InputElement().modelObject().execute();
    wdContext.nodeOutput().invalidate();
    Please let me know, how to do the same.
    Thanks in advance.
    Regards,
    Palani

    Hi David,
    I checked for the Parameter of setIm_Ast_Search, it is of Zptip_Asset.
    Hi Saleem,
    When I changed the same, i am getting the Type conflict error,
    Type conflict when calling a function module., error key: RFC_ERROR_SYSTEM_FAILURE
    Please let me know,what can be done in this regard to solve the problem.
    My BAPI Structure when imported as model
    SearchBAPI
    --> ZMM_BAPI_SEARCH_INPUT
    > IM_AST_SEARCH(zPTIP_ASSET)
    >Zptip_Asset
    >Search (Parameter)
    > OutPut(ZMM_BAPI_Search_Output)
    >IT_Asser_Rec(ZMM_Asset)
    >ZMM_Asset
    >TXT100 (output Parameter)
    --> ZMM_BAPI_SEARACH_OUTPUT
    --> ZPTIP_ASSET
    >Search (Parameter)
    Thanks & Regards,
    Palani
    Edited by: Palani Appan on Nov 11, 2009 5:31 PM

Maybe you are looking for

  • HT4433 Requesting help with the placement of dimms in relation to ram performance?

    Does the placement onto the memory cards of dimms of different capacities/size matter when it comes to performance ? I want to know if it matters how I install a new pair (2 pcs) of 4gb dimms in a machine currently with 8 x 1 gb dims? IF it matters,

  • XML Crashing FCP while importing.  Magic Bullet Looks could be the problem

    Hi All, Need a little help here. I am using FCP 6.0.5 on a power mac G-5. I am trying to open an XML which was exported out of FCP 7 as a version 4 XML. Magic Bullet Looks is being used on the project, and I think this is were the problem is. when im

  • Brightness when plugged into a LCD projector

    How do I adjust the brightness of the image when projecting through a LCD projector? As soon as I connect (through DVI port) to a LCD projector (as a professional speaker, I connect to different LCD projectors almost on a daily basis) the Brightness

  • Stop motion iMovie

    Hi Im making a school project to make a stop motion movie, but Im having problems making my pictures into clips shorter than 1 sec. is there any way to make the pictures show for a shorter period of time or do I need to use a different program? If iM

  • To get Current,Last, Next months data for Efashion report

    To Create a report with the user input prompt on Year and Month: If user select year as 2005 and month as 2 (Feb), revenue should be displayed for previous Month (Jan) and next month (March) of selected year. Sample output should looks as below. Year