Substitution Not triggering...

Hi All,
I wrote a Substitution at Document Level where the
Prerequisite:
Transaction Code = MRKO  and Document Type = RE
Substitution :
Reference = Constant Value
I have assigned it to company code and with call point 1 and status as active.
The problem is when i execute t-code: MRKO, Substitution is not triggering ....
Can any one let me know what i am doing wrong...
Thanks
Sivaram

Hi
Not sure about the T code MRKO and assuming it generates FI (accounting) document as you said RE.
What I suggest is take a posted document by MRKO and note that FI document number;  go to change mode of the document  and enter some thing in Reference field manually and save . Check whether it allows you to save and carries the newly entered value. If yes, then your substitution should also work.
Otherwise, just mention here your substitution (as it is), may be that would be helpful to analyse the issue by any one of the experts in the team.
regards
Sridevi

Similar Messages

  • Substitution not working for transaction F110

    Hi Folks ,
    I have created a Substitution for FI transactions for substituting a Header field. I have added 3 transactions (F-28, FB01 and F110) to the pre requisite of the substitution.
    The susbtitution works perfectly fine for the transaction FB01 and F-28, but is not triggered when I run transaction F110.
    Could you please tell me what can be the issue?
    Secondly, do the Automatic Payment Program (APP, transaction F110) creates an accounting document number BELNR? Where can I get that number in the program?
    Thanks in advance !!!!!
    Regards,
    Sud.

    F110 is the transaction code for automatic payment run program; the transaction execution happens in the background and in normal way, catching a break point in related substitution/validation exits might not be possible.
    Main programs associated with this transaction are SAPF110V (Entering Payment Run) and SAPF110S (Payment Program). In program SAPF110S, variables XDEBUG and ONLINE decides whether the run should be in online or in debugging mode. Flag the variable leads the execution to debugging mode.
    Create a payment run via F110 transaction and do a proposal run.
    Execute SE38 transaction code and select program SAPF110S and open in display mode.
    Find variable “XDEBUG” and set break point at “XDEBUG” assignment (XDEBUG = SPACE).
    Now execute OBBH transaction code and select desired substitution and go to Menu Extras -> Expert Trace -> Set Breakpoint.
    Got to the substitution include in which exit is defined. Set a session breakpoint at the U exit.
    Execute program SAPF110S with the above created payment run id and date.
    Execution of SAPF110S stops at XDEBUG variable assignment. Now change value of variables XDEBUG and ONLINE as ‘X’, which enables the debugging mode and continue execution.
    Execution stops at the session breakpoint placed in the U exit.
    Check with above method to reach your substitution. If it reached then you can use ABAP stack to get variable values used in some other programs which is already available in the ABAP stack.
    Data:     lv_stru TYPE string,
              lv_bkpf TYPE bkpf.
    FIELD-SYMBOLS: <fs_bkpf> TYPE bkpf.
    * Assign BKPF reference area in SAPF110S payment program
      lv_stru = '(SAPF110S)BKPF'.
      ASSIGN (lv_stru) TO <fs_bkpf>.

  • Validation on line items not triggering for MR41 tcode

    Hi,
    I have to put a validation on MR41 to check the amount entered on the screen. I am using OB28 to define the validation. Also, I have created user exit in the validation/substitution program where the necessary checks are done. But the validation is not triggering at the line item level. I have another validation of MR41 at header level, that is working perfectly. I want the validation to trigger at line item level also.
    Any ideas on how to do it?
    Thanks in advance.
    Regards,
    Arun Mohan

    Hi,
                  Try with user exit MM08R002 under this u can find thease exits.
    EXIT_SAPLKONT_002
    EXIT_SAPLMR1M_001
    EXIT_SAPLMRMC_001
    <b>Reward points</b>
    Regards

  • Substitution not happening for Asset Master

    Hi Experts,
    I have created a substitution rule in OACS to update Depreciation key based on the Evaluation Group while creating Asset Master Record. After this when i simulate the system was giving value for the LVA Key as designed but however when i run the actual transaction it does not populate. Currently the substitution is working for the other steps created under the same substitution rule for other fields in Asset Master record.
    Also let me know if the default made at Asset Class level for the depreciation key has any impact on this substitution
    Regards
    Zehran

    Also i notice that when i create the asset in the test system with expert total trace, the substitution is triggered when the values is entered in the Time Dependent tab and the input for the substitution is available in the allocation tab. Even if the data is entered in allocation tab first, the system is triggering the expert trace with TRUE condition for the substitution but the values are not populated in the depreciation tab for the depreciation key
    Regards
    Zehran

  • End_of_page is not triggering in ALV

    hi mates
             the code below is not triggering end-of-page event, can anyone help me. reply asap
    TABLES:VBAP.
    TYPE-POOLS:SLIS.
    DATA: BEGIN OF VBAP_TYPE OCCURS 0,
          VBELN TYPE VBAP-VBELN,
          POSNR TYPE VBAP-POSNR,
          MATKL TYPE VBAP-MATKL,
          MATNR TYPE VBAP-MATNR,
          END OF VBAP_TYPE.
    DATA:GET_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
         WA_FIELDCAT  TYPE SLIS_FIELDCAT_ALV,
         HT_EVENT    TYPE SLIS_T_EVENT,
         WA_EVENT     TYPE SLIS_ALV_EVENT,
         HT_HEADER   TYPE SLIS_T_LISTHEADER,
         WA_HEADER   TYPE SLIS_LISTHEADER.
    START-OF-SELECTION.
      PERFORM GET_DATA.
      PERFORM GET_FIELDCATALOG.
      PERFORM FIELD_EVENT.
      PERFORM FIELD_DISPLAY.
    *&      Form  get_data
          text
    FORM GET_DATA.
      SELECT VBELN
             POSNR
             MATKL
             MATNR
           FROM VBAP
           INTO TABLE VBAP_TYPE.
    ENDFORM.                    "get_data
    *&      Form  get_fieldcatalog
          text
    FORM GET_FIELDCATALOG.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-COL_POS = 1.
      WA_FIELDCAT-FIELDNAME = 'VBELN'.
      WA_FIELDCAT-SELTEXT_L = 'sales doc'.
      APPEND WA_FIELDCAT TO GET_FIELDCAT.
      CLEAR WA_FIELDCAT.
    clear wa_fieldcat.
    wa_fieldcat-col_pos = 1.
    wa_fieldcat-fieldname = 'VBELN'.
    wa_fieldcat-seltext_l = 'sales doc'.
    append wa_fieldcat to get_fieldcat.
    clear wa_fieldcat.
      WA_FIELDCAT-COL_POS = 2.
      WA_FIELDCAT-FIELDNAME = 'POSNR'.
      WA_FIELDCAT-SELTEXT_L = 'sales doc item'.
      APPEND WA_FIELDCAT TO GET_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-COL_POS = 3.
      WA_FIELDCAT-FIELDNAME = 'MATKL'.
      WA_FIELDCAT-SELTEXT_L = 'Material Group'.
      APPEND WA_FIELDCAT TO GET_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-COL_POS = 4.
      WA_FIELDCAT-FIELDNAME = 'MATNR'.
      WA_FIELDCAT-SELTEXT_L = 'Material No'.
      APPEND WA_FIELDCAT TO GET_FIELDCAT.
      CLEAR WA_FIELDCAT.
    ENDFORM.                    "get_fieldcatalog
    *&      Form  field_display
          text
    FORM FIELD_DISPLAY.
      CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
      EXPORTING
       I_INTERFACE_CHECK              = ' '
       I_BYPASSING_BUFFER             =
       I_BUFFER_ACTIVE                = ' '
          I_CALLBACK_PROGRAM             = SY-CPROG
       I_CALLBACK_PF_STATUS_SET       = ' '
       I_CALLBACK_USER_COMMAND        = ' '
       I_STRUCTURE_NAME               =
       IS_LAYOUT                      =
          IT_FIELDCAT                    = GET_FIELDCAT[]
       IT_EXCLUDING                   =
       IT_SPECIAL_GROUPS              =
       IT_SORT                        =
       IT_FILTER                      =
       IS_SEL_HIDE                    =
       I_DEFAULT                      = 'X'
       I_SAVE                         = ' '
       IS_VARIANT                     =
          IT_EVENTS                      = HT_EVENT
       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
       IR_SALV_LIST_ADAPTER           =
       IT_EXCEPT_QINFO                =
       I_SUPPRESS_EMPTY_DATA          = ABAP_FALSE
    IMPORTING
       E_EXIT_CAUSED_BY_CALLER        =
       ES_EXIT_CAUSED_BY_USER         =
        TABLES
          T_OUTTAB                       = VBAP_TYPE
       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.                    "field_display
    *&      Form  field_event
          text
    FORM FIELD_EVENT.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
    EXPORTING
       I_LIST_TYPE           = 0
       IMPORTING
         ET_EVENTS             = HT_EVENT.
    WA_EVENT-NAME = SLIS_EV_TOP_OF_PAGE .
    WA_EVENT-FORM = 'TOP_OF_PAGE'.
    APPEND WA_EVENT TO HT_EVENT.
    CLEAR WA_EVENT.
      WA_EVENT-NAME = SLIS_EV_END_OF_PAGE .
      WA_EVENT-FORM = 'END_OF_PAGE'.
    APPEND WA_EVENT TO HT_EVENT.
    CLEAR WA_EVENT.
    READ TABLE ht_event INTO wa_event
                         WITH KEY name = slis_ev_top_of_page .
    EXCEPTIONS
       LIST_TYPE_WRONG       = 1
       OTHERS                = 2
    IF sy-subrc = 0.
       wa_event-form = 'TOP-OF-PAGE'.
       wa_event-form = 'END_OF_PAGE'.
       MODIFY ht_event FROM wa_event INDEX sy-tabix.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    ENDFORM.                    "field_event
    *&      Form  top_of_page
          text
    FORM TOP_OF_PAGE.
      CLEAR WA_HEADER.
      WA_HEADER-TYP = 'H'.
      WA_HEADER-INFO = ' this is the sales document data'.
      APPEND WA_HEADER TO HT_HEADER.
      CLEAR WA_HEADER.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          IT_LIST_COMMENTARY       = HT_HEADER
      I_LOGO                   =
      I_END_OF_LIST_GRID       =
      I_ALV_FORM               =
    ENDFORM.                    "top_of_page
    *&      Form  END_OF_Page
          text
    FORM END_OF_PAGE.
      WA_HEADER-TYP = 'H'.
      WA_HEADER-INFO = ' this is the end of page'.
      APPEND WA_HEADER TO HT_HEADER.
      CLEAR WA_HEADER.
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
      EXPORTING
        IT_LIST_COMMENTARY       = HT_HEADER
      I_LOGO                   =
      I_END_OF_LIST_GRID       =
      I_ALV_FORM               =
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
      EXPORTING
         it_list_commentary       = ht_header
      I_LOGO                   =
      I_END_OF_LIST_GRID       =
      I_ALV_FORM               =
    endform.

    Hi,
    Try this code for end_of_page is not triggering in ALV
    TYPE-POOLS : slis.
    TABLES : mara,
             makt,
             marc.
    DATA : BEGIN OF itab OCCURS 0,
            matnr LIKE mara-matnr,
            maktx LIKE makt-maktx,
            werks LIKE marc-werks,
           END OF itab.
    DATA : t_fcat TYPE slis_t_fieldcat_alv,
           t_eve TYPE slis_t_event,
           st_line TYPE slis_listheader,
           t_list_top_page TYPE slis_t_listheader,
           t_list_end_page TYPE slis_t_listheader.
    DATA : t_mat LIKE mara-matnr.
    SELECTION-SCREEN : BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS : mat FOR mara-matnr.
    SELECTION-SCREEN : END OF BLOCK blk1.
    INITIALIZATION.
      PERFORM build_cat USING t_fcat.
      PERFORM build_eve.
    START-OF-SELECTION.
      PERFORM get_data.
      PERFORM build_header USING t_list_top_page[].
      PERFORM build_footer USING t_list_end_page[].
      PERFORM dis_data.
    *&      Form  buils_cat
          text
         -->TEMP_FCAT  text
    FORM build_cat USING temp_fcat TYPE slis_t_fieldcat_alv.
      DATA : wa_fcat TYPE slis_fieldcat_alv.
      wa_fcat-tabname = 'ITAB'.
      wa_fcat-fieldname = 'MATNR'.
      wa_fcat-seltext_m = 'Material'.
      APPEND wa_fcat TO temp_fcat.
      CLEAR wa_fcat.
      wa_fcat-tabname = 'ITAB'.
      wa_fcat-fieldname = 'MAKTX'.
      wa_fcat-seltext_m = 'Material Description'.
      APPEND wa_fcat TO temp_fcat.
      CLEAR wa_fcat.
      wa_fcat-tabname = 'ITAB'.
      wa_fcat-fieldname = 'WERKS'.
      wa_fcat-seltext_m = 'Plant'.
    wa_fcat-row_pos = 2.
      APPEND wa_fcat TO temp_fcat.
      CLEAR wa_fcat.
    ENDFORM.                    "build_cat
    *&      Form  build_eve
          text
    FORM build_eve.
      DATA : wa_eve TYPE slis_alv_event.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
       EXPORTING
         i_list_type           = 0
       IMPORTING
         et_events             = t_eve
    EXCEPTIONS
      LIST_TYPE_WRONG       = 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.
      READ TABLE t_eve INTO wa_eve WITH KEY name = 'END_OF_LIST'.
      IF sy-subrc = 0.
        wa_eve-form = 'END_OF_PAGE'.
        MODIFY t_eve FROM wa_eve INDEX sy-tabix.
      ENDIF.
    ENDFORM.                    "build_eve
    *&      Form  get_data
          text
    FORM get_data.
      SELECT maramatnr maktmaktx marc~werks INTO CORRESPONDING FIELDS OF TABLE itab
      FROM mara INNER JOIN makt ON
      maramatnr = maktmatnr
      INNER JOIN marc ON
      maramatnr = marcmatnr
      WHERE mara~matnr IN mat.
    ENDFORM.                    "get_data
    *&      Form  dis_data
          text
    FORM dis_data.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
         i_callback_program                = 'ZALV_PRDS'
         i_callback_top_of_page            = 'TOP_OF_PAGE'
         it_fieldcat                       = t_fcat
         i_save                            = 'A'
         it_events                         = t_eve
       TABLES
          t_outtab                          = itab
    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.                    "dis_data
    *&      Form  build_header
          text
         -->TEMP_LIST          text
         -->TTYPE              text
         -->SLIS_T_LISTHEADER  text
    FORM build_header USING temp_list TYPE slis_t_listheader.
      CLEAR st_line.
      st_line-typ = 'H'.
      st_line-info = 'Material Info'.
      APPEND st_line TO temp_list.
    ENDFORM.                    "build_header
    *&      Form  build_footer
          text
         -->TEMP_LIST  text
    FORM build_footer USING temp_list TYPE slis_t_listheader.
      CLEAR st_line.
      st_line-typ = 'H'.
      st_line-info = 'Dhwani Shah'.
      APPEND st_line TO temp_list.
    ENDFORM.                    "build_header
    *&      Form  top_Of_page
          text
    FORM top_of_page.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          it_list_commentary = t_list_top_page.
    ENDFORM.                    "top_Of_page
    *&      Form  end_of_page
          text
    FORM end_of_page.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          it_list_commentary = t_list_end_page.
    ENDFORM.                    "end_of_page
    Reward Points if usefull
    Regards
    Fareedas

  • Re: Dynamic Action is not triggering in LSMW Recording

    Hello All,
    In SAP HRMS personnel actions if i do using LSMW Recording it is not triggering  the dynamic actions.
    Is there any mechanism to Trigger dynamic action in LSMW Recording ?
    How to find the differences in process with and with out recording ?
    Small help is also highly appreciated.
    With Regards,
    Sunil,
    +91-9903695384.

    Yes. Do one  thing. First study the dynamic action. Try to understand what the dynamic action is doing. Is it creating data in other infotype or is it updating some other table. Once it is clear what the dynamic action is doing then you can try to implement the same logic in LSMW. In LSMW there is a provision to add more than one recording and this recording can be called based on some logic..
    Thanks & Regards,
    Sandip

  • OA Adapter not triggering in ESB but if the service is in BPEL its triggere

    Hi All,
    I have used Oracle Applications Adapter and choosen a Business Event in Ebiz API this is ESB. SomeTimes this ESB service is not triggered, when i did this in bpel its working fine can any one answer to this.
    Thanks.

    I suppose this is an ADF question. you might want to paste this @ JDeveloper and ADF in JDev and ADF forum to get speedier response.

  • BSP Terminating event not triggering

    Hello Friends,
    We have a scenario, where a BSP application is triggered from a Workflow, for a certain approval, and after the user clicks on Approve button on the BSP Page, the BSP would write to the workflow container using SAP_WAPI_WRITE_CONTAINER and then we call SWF_WSC_CALLBACK_LAUNCH.
    This used to work, but after an almost Fatal incident with our system, we are not able to get this to work.
    We can see in the workflow log that the container is written, but the terminating event is not triggered, and the workflow doesn't move forward
    Is there a setting that we're missing..??
    Thanks,
    Tat.

    Have you tried:
    call function 'SAP_WAPI_DECISION_COMPLETE'

  • BulkEventResult  Method  Not Triggering in Postcreate Eventhandler

    Hi All,
    My Scenario is like this ...
    When a user is created through Trusted Recon I wrote a PostCreateEventhandler to generate some field in OIM , for this in my Event handler I implemented BulkEventResult Method to trigger while a user is created through trusted Recon but BulkEventResult is not triggering . It's urgent requirement please help me .
    Thanks in Advance..

    order of you eventhandler should be between 1002 to 1008 or just FIRST or LAST as per requirement.
    update order in eventhandler.xml and import it again. make sue you run Purgechache

  • BUS2032 - ALECHANGED event not triggering

    Hi Gurus,
    I have a issue in our dev system. In our system automatic PO creation is configured through Sales order.
    This is working fine in Regression and production systems, but not working in Dev system.
    I have compared the Regression and Dev system and I found that the ALECHANGED event is not triggering in our Dev system.
    I have checked the Item Category of the Sales Order and it is same in both the systems.
    And also I have checked all possible Workflow transaction(SWUE, SWEL, SWU3, SWU0, SWETYPV), everything looks same in both the systems.
    Now I am not sure what to check and where to check.
    Please let me whereelse/whatelse I have to check. Is there any ALE configuration to be checked.
    Thanks for your help in advance.
    Thanks,
    Murali.

    Hi Susan,
    Thanks for the reply.
    I know there could be some config missing but don't know what config it is.
    There are more than 100 users in our Dev Systems, so I can't check the transports. It would be helpful for me if I get specific TCodes or areas so that I can compare my dev system with other systems where it is working fine.
    Thanks,
    Murali.

  • Subtype event not triggering and supertype event triggers twice!!!!!!

    Hi,
    We have created a subtype for object bus2030 and also an event created for that. My workflow should trigger whenever an inquiry is created.
    I've maintained this as triggering event in SWDD and done type linkage is SWE2 and everything looks fine.
    When i simulate or create event the WF is triggered but when create inquiry in VA11 WF does not triggers.
    I've checked SWEL for event trace but no event is triggered at all... Am i missing something... I've done almost everything that i used to do...
    Even synchronized buffer!!! nothing paid me a solution...
    Infact the same was working with 3.1i system but after migration to ECC6 we had to create new WF template for the same Process.
    Now I also see that the supertype bus2030-created event is triggered twice but, obviously no receiver type exists. But the zbus2030 event is not being triggered at all!!!!
    Kindly help me understanding my mistake...
    Regards,
    PB

    Hope you have already set the deletegation in SWO6.
    Now, event dont get triggered automatically, jus because they are defined in object. They have to be explicitly published in thesystem.
    Check for a suitable user exit in your transaction, which makes use of function module to create the event, from that you know how to proceed.
    If you dont find user exit, try other triggering techniques such as change documents, logistics, BTEs... etc.
    regards,
    Sandeep Josyula

  • MouseListener event not triggering sometimes

                  lineTable = atmBean1.getReturnTable();
                  //remove the other columns
                  lineTable.removeColumn(lineTable.getColumnModel().getColumn(21));
                  lineTable.removeColumn(lineTable.getColumnModel().getColumn(20));
                  lineTable.addMouseListener(new MouseAdapter() {
                      public void mouseClicked(MouseEvent e) {
                          setChargesPanel();
        public void setChargesPanel()
                lblConsdData.setText(mainPanel.formatDollar(Double.parseDouble(String.valueOf(atmBean1.tm.getValueAt(lineTable.getSelectedRow(),11)))));
                lblAllowedData.setText(mainPanel.formatDollar(Double.parseDouble(String.valueOf(atmBean1.tm.getValueAt(lineTable.getSelectedRow(),13)))));
                lineChargesPanel.validate();
                lineChargesPanel.repaint();
        }when the JTable is set with some data, i have another GUI which has some labels , when the row is selected the corresponding values are taken from the original table model and is displayes in the JLabels.
    Sometimes, when the mouse is clicked it is not triggering this

    is it just because its Swing GUI.. the JTable rows sometimes get selected but the event is not triggered when the mouse is clicked, maybe the API is not good ???????.

  • WF not triggering in Quality System

    Hi,
    We moved the Workflow to Quality System, but the event is not triggering.The event linkage is active and workflow customizing has been done.The WF-Batch user is having SUPER user group.Kindly help on this issue.
    Thanks,
    Mohan

    One reason were workflow is not triggered, WF and Event link not enabled.
    Hope you are using BOR QMSM and triggering task for notification created in QM02,
    1)     try to simulate with SWUE and check whether WF is triggered or not for a dummy task created in QMSM
    2)     Check did you made WF Generic  otherwise it will not trigger the WF 
    If you designate your workflow task as a "general task", this means that all users are authorized to start this task.
    To restrict the number of authorized persons, you can assign the task to an object from the organizational plan (organizational unit, job, user,...). This is a general procedure and can be used with all types of tasks. If you assign the task directly to a user, only this person is authorized to start the task.
    3)     check for user authorization
    4)     Check for WF consistence swu5/swu4

  • Mails not triggering in CHARM

    Hi Experts,
    I have configured Solution Manager 4.0 for CHARM.  It is working fine.  My requirement is that, it should trigger mail whenever support team changes.
    Initally, I defined a action to trigger mail once whenever a support team is assigned.  It worked fine. But the problem with this setting is that, whenever I change support team, it is not triggering a mail and this is understood because I configured to trigger once only.  So, I changed the setting of action to "unprocessed", it starts triggering mails whenever I change the support team.
    Now Issue is that, it is also triggering the mail to support team whenever the transaction is saved (Ex:  When I create change document for a support message, transaction saves automatically) even though support message is not changed.  This leads to unnecessary mails.
    In order to avoid unnecessary mails, I deleted the existing action and created a new one wherein start condition was not maintained but maintained setting under scheduled condition as per SAP note 865619 and implemented BADI also. 
    Now I am not getting a single mail whenever a support team is assigned or changed.
    Any suggestion please provide.
    Thanks in advance.
    Regards
    Kumar

    Hi Kumar,
    This can be done very well.
    For this you can implement the BADI ORDER_SAVE, method CHECK_BEFORE_SAVE.
    In this method you write a code as mentioned below,
    1. Use FM
      WA_HEADER = IV_GUID.
      Insert wa_header into table lt_header.
      CALL FUNCTION 'CRM_ORDER_READ'
       EXPORTING
         IT_HEADER_GUID                = lt_HEADER
          IT_ITEM_GUID                  =
       IMPORTING
         ET_CUSTOMER_H                  = lt_customer_h
         ET_ORDERADM_H                  = lt_orderadm_h
          ET_OPPORT_H                   =
          ET_PARTNER                    = lt_partner
          ET_STATUS                     = It_status
          ET_REFOBJ                     = lt_CRMT_refobj_WRKT
           ET_SUBJECT                    = lt_CRMT_SUBJECT_WRKT
       EXCEPTIONS
         DOCUMENT_NOT_FOUND            = 1
         ERROR_OCCURRED                = 2
         DOCUMENT_LOCKED               = 3
         NO_CHANGE_AUTHORITY           = 4
         NO_DISPLAY_AUTHORITY          = 5
         NO_CHANGE_ALLOWED             = 6
         OTHERS                        = 7
      IF sy-subrc <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    2. You will get the Business Partners entered on the screen in the internal table lt_partner, read the address number1 for the partner function of the support team.
    3. Get the contents from view CRMV_LINKPARTNER using the LV_GUID. And get the address number2 for partner function of the support team.
    4. Compare the address number2 & address number1. If they are not equal then trigger a mail  else don't.
    Let me know if you need some more help.
    Reward if it helps.
    regards,
    mahantesh

  • Events not triggering in alv list, point will be given

    Hi friends,
          I am using reuse_alv_list_display fm to display data.
    and i am using reuse_alv_events_get fm to trigger events.
    but, top_of_page, event is not triggering,
    more precisely , the subroutine is not getting recognized by system.  how to rectify this.
    Check my code.
    *& Report  ZSEN_SERVICETAX_GTA
    REPORT  zsen_servicetax_gta NO STANDARD PAGE HEADING LINE-COUNT 100.
    *****************************************TABLES USED**********************************************************************
    *TABLES: BSIS,  "Accounting: Secondary Index for G/L Accounts
           BSAS,  "Accounting: Secondary Index for G/L Accounts (Cleared Items)
           LFA1.  "Vendor Master (General Section).
    *****************************************WORK AREA / INTERNAL TABLE DECLARATION******************************************
    TYPE-POOLS: slis.
    TYPES: BEGIN OF ty_main,
           hkont    TYPE bsis-hkont,
           belnr    TYPE bsis-belnr,
           budat    TYPE bsis-budat,
           blart    TYPE bsis-blart,
           dmbtr    TYPE bsis-dmbtr,
           xblnr    TYPE bsis-xblnr,
           shkzg    TYPE bsis-shkzg,
           augbl TYPE bsis-augbl,
           kz_dmbtr TYPE bsis-dmbtr,
           kz_xblnr TYPE bsis-xblnr,
           kz_blart TYPE bsis-blart,
           kz_belnr TYPE bsis-belnr,
           kz_budat TYPE bsis-budat,
           kz_zuonr TYPE bsis-zuonr,
           name1    TYPE lfa1-name1,
           slno     TYPE i,
           END OF ty_main,
           BEGIN OF ty_bsas,
           belnr TYPE bsas-hkont,
           budat TYPE bsas-budat,
           xblnr TYPE bsas-xblnr,
           augbl TYPE bsas-augbl,
           dmbtr TYPE bsas-dmbtr,
           blart TYPE bsas-blart,
           zuonr TYPE bsas-zuonr,
           END OF ty_bsas.
    DATA: it_main TYPE TABLE OF ty_main,
          wa_main LIKE LINE OF it_main,
          it_bsas TYPE TABLE OF ty_bsas,
          wa_bsas LIKE LINE OF it_bsas.
    DATA: it_sort       TYPE slis_t_sortinfo_alv,
          fieldcatalog  TYPE slis_t_fieldcat_alv WITH HEADER LINE,
          gd_layout     TYPE slis_layout_alv,
          gt_events     TYPE slis_t_event,
          int_fcat      TYPE slis_fieldcat_alv,
          it_header     TYPE slis_t_listheader,
          wa_header     TYPE slis_listheader.
    ************************************************work variables***********************************************************************
    DATA: ven_name   TYPE lfa1-name1,
          post_date  TYPE bsis-budat,
          t_tabix    TYPE sy-tabix,
          i_prg      LIKE sy-repid.
    ***********************************************selection screen***********************************************************************
    SELECTION-SCREEN: BEGIN OF BLOCK gtn WITH FRAME TITLE text-001 .
    SELECT-OPTIONS: date FOR post_date OBLIGATORY.
    SELECTION-SCREEN: END OF BLOCK gtn.
    ************************************************data selection**************************************************************************
    START-OF-SELECTION.
      PERFORM data_retreval.
      PERFORM build_catalog.
      PERFORM layout.
      PERFORM build_events.
      PERFORM sortinfo.
      IF it_main[] IS NOT INITIAL.
        PERFORM display_alv.
      ELSE.
        MESSAGE 'No Records Matching For This Selection' TYPE 'E'.
      ENDIF.
    ******************************data display*********************************************************************************************
    *&      Form  data_retreval
          text
    -->  p1        text
    <--  p2        text
    FORM data_retreval .
      CLEAR:it_main[], wa_main, fieldcatalog[].
    ***********************************************selecting data from bsis table for the given date range**********************************
      SELECT ahkont abelnr abudat ablart admbtr axblnr a~shkzg
             b~augbl
             INTO CORRESPONDING FIELDS OF TABLE it_main
             FROM bsis AS a LEFT OUTER JOIN bsas AS b
             ON abelnr = bbelnr
             WHERE a~budat IN date
             AND   a~blart = 'KR'
             AND   a~shkzg = 'S'
             AND   a~hkont = '0002200530'.
    ***********************************************selecting data from bsas table using bsis-belnr*******************************************
      LOOP AT it_main INTO wa_main.
        SELECT belnr budat dmbtr xblnr zuonr  augbl blart
               INTO CORRESPONDING FIELDS OF wa_bsas
               FROM bsas
               WHERE belnr = wa_main-augbl
               AND   blart = 'KZ'.
        ENDSELECT.
        APPEND wa_bsas TO it_bsas.
      ENDLOOP.
    ********************************************combining two tables data******************************************************************
      LOOP AT it_main INTO wa_main.
        t_tabix = sy-tabix.
           wa_main-slno     = t_tabix.
        READ TABLE it_bsas INTO wa_bsas WITH KEY augbl = wa_main-augbl.
        IF sy-subrc = 0.
          SELECT SINGLE name1
                 FROM lfa1
                 INTO ven_name
                 WHERE lifnr = wa_bsas-zuonr.
          wa_main-kz_dmbtr = wa_bsas-dmbtr.
          wa_main-kz_belnr = wa_bsas-belnr.
          wa_main-kz_blart = wa_bsas-blart.
          wa_main-kz_budat = wa_bsas-budat.
          wa_main-kz_xblnr = wa_bsas-xblnr.
          wa_main-kz_zuonr = wa_bsas-zuonr.
          wa_main-name1    = ven_name.
        ENDIF.
        MODIFY it_main FROM wa_main INDEX t_tabix TRANSPORTING kz_dmbtr kz_belnr kz_budat kz_blart kz_xblnr kz_zuonr name1 .
      ENDLOOP.
      SORT it_main BY kz_blart kz_zuonr.
      LOOP AT it_main INTO wa_main.
        wa_main-slno = sy-tabix.
        MODIFY it_main FROM wa_main INDEX sy-tabix TRANSPORTING slno.
      ENDLOOP.
    ENDFORM.                    " data_retreval
    *&      Form  build_catalog
          text
    -->  p1        text
    <--  p2        text
    FORM build_catalog .
      DATA: col_pos TYPE i.
      col_pos = col_pos + 1.
      fieldcatalog-fieldname = 'SLNO'.
      fieldcatalog-seltext_m = 'Serial No'.
      fieldcatalog-col_pos   = col_pos.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR: fieldcatalog.
      col_pos = col_pos + 1.
      fieldcatalog-fieldname = 'KZ_ZUONR'.
      fieldcatalog-seltext_m = 'Vendor Num'.
      fieldcatalog-col_pos   = col_pos.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR: fieldcatalog.
      col_pos = col_pos + 1.
      fieldcatalog-fieldname = 'NAME1'.
      fieldcatalog-seltext_m = 'Vendor Name'.
      fieldcatalog-col_pos   = col_pos.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR: fieldcatalog.
      col_pos = col_pos + 1.
      fieldcatalog-fieldname = 'BLART'.
      fieldcatalog-seltext_m = 'BillDoc.Type'.
      fieldcatalog-col_pos   = col_pos.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR: fieldcatalog.
      col_pos = col_pos + 1.
      fieldcatalog-fieldname = 'BELNR'.
      fieldcatalog-seltext_m = 'BillDoc.Num.'.
      fieldcatalog-col_pos   = col_pos.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR: fieldcatalog.
      col_pos = col_pos + 1.
      fieldcatalog-fieldname = 'BUDAT'.
      fieldcatalog-seltext_m = 'BillPosting Date'.
      fieldcatalog-col_pos   = col_pos.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR: fieldcatalog.
      col_pos = col_pos + 1.
      fieldcatalog-fieldname = 'XBLNR'.
      fieldcatalog-seltext_m = 'BillReference Num'.
      fieldcatalog-col_pos   = col_pos.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR: fieldcatalog.
      col_pos = col_pos + 1.
      fieldcatalog-fieldname = 'DMBTR'.
      fieldcatalog-seltext_m = 'Bill Amount'.
      fieldcatalog-col_pos   = col_pos.
      fieldcatalog-do_sum    = 'X'.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR: fieldcatalog.
      col_pos = col_pos + 1.
      fieldcatalog-fieldname = 'KZ_BLART'.
      fieldcatalog-seltext_m = 'Pay_Doc.type'.
      fieldcatalog-col_pos   = col_pos.
       fieldcatalog-do_sum    = 'X'.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR: fieldcatalog.
      col_pos = col_pos + 1.
      fieldcatalog-fieldname = 'KZ_BELNR'.
      fieldcatalog-seltext_m = 'Pay_Document No'.
      fieldcatalog-col_pos   = col_pos.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR: fieldcatalog.
      col_pos = col_pos + 1.
      fieldcatalog-fieldname = 'KZ_DMBTR'.
      fieldcatalog-seltext_m = 'Payment Amount'.
      fieldcatalog-col_pos   = col_pos.
      fieldcatalog-do_sum    = 'X'.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR: fieldcatalog.
      col_pos = col_pos + 1.
      fieldcatalog-fieldname = 'KZ_XBLNR'.
      fieldcatalog-seltext_m = 'Pay_Reference Num'.
      fieldcatalog-col_pos   = col_pos.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR: fieldcatalog.
      col_pos = col_pos + 1.
      fieldcatalog-fieldname = 'KZ_BUDAT'.
      fieldcatalog-seltext_m = 'Pay_Posting Date'.
      fieldcatalog-col_pos   = col_pos.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR: fieldcatalog.
      col_pos = col_pos + 1.
      fieldcatalog-fieldname = 'AUGBL'.
      fieldcatalog-seltext_m = 'Clr.Doc.Num'.
      fieldcatalog-col_pos   = col_pos.
       fieldcatalog-row_pos   = 2.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR: fieldcatalog.
    ENDFORM.                    " build_catalog
    *&      Form  sortinfo
          text
    -->  p1        text
    <--  p2        text
    FORM sortinfo .
      DATA: is_sort TYPE slis_sortinfo_alv.
      CLEAR:is_sort.
      is_sort-spos       = 2.
      is_sort-fieldname  = 'KZ_ZUONR'.
      is_sort-up         = 'X'.
      APPEND is_sort TO it_sort.
      CLEAR: is_sort.
      is_sort-spos       = 1.
      is_sort-fieldname  = 'KZ_BLART'.
      is_sort-up         = 'X'.
      is_sort-subtot     = 'X'.
      APPEND is_sort TO it_sort.
    ENDFORM.                    " sortinfo
    *&      Form  layout
          text
    -->  p1        text
    <--  p2        text
    FORM layout .
      gd_layout-no_input          = 'X'.
      gd_layout-colwidth_optimize = 'X'.
      gd_layout-zebra             = 'X'.
    *gd_layout-totals_text       = 'Grand Total'.
    *gd_layout-subtotals_text    = 'BillBooked Not Paid'.
    ENDFORM.                    " layout
    *&      Form  display_alv
          text
    -->  p1        text
    <--  p2        text
    FORM display_alv .
      i_prg = sy-repid.
      CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
       EXPORTING
      I_INTERFACE_CHECK                 = ' '
      I_BYPASSING_BUFFER                = ' '
      I_BUFFER_ACTIVE                   = ' '
         i_callback_program                = 'I_PRG'
      I_CALLBACK_PF_STATUS_SET          = ' '
      I_CALLBACK_USER_COMMAND           = ' '
      I_CALLBACK_TOP_OF_PAGE            = 'TOP-OF-PAGE'
      I_CALLBACK_HTML_TOP_OF_PAGE       = 'TOP-OF-PAGE'
      I_CALLBACK_HTML_END_OF_LIST       = ' '
      I_STRUCTURE_NAME                  =
      I_BACKGROUND_ID                   = ' '
      I_GRID_TITLE                      =
      I_GRID_SETTINGS                   =
         is_layout                         = gd_layout
         it_fieldcat                       = fieldcatalog[]
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
         it_sort                           = it_sort
      IT_FILTER                         =
      IS_SEL_HIDE                       =
      I_DEFAULT                         = 'X'
      I_SAVE                            = ' '
      IS_VARIANT                        =
         it_events                         = gt_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_main
    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_alv
    *&      Form  build_events
          text
    -->  p1        text
    <--  p2        text
    FORM build_events .
      DATA: is_event TYPE slis_alv_event.
    break-point.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
       EXPORTING
         i_list_type           = 0
       IMPORTING
         et_events             = gt_events[]
      EXCEPTIONS
        LIST_TYPE_WRONG       = 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.
      READ TABLE gt_events WITH KEY name = slis_ev_top_of_page INTO is_event.
      IF sy-subrc = 0.
        MOVE 'TOP_OF_PAGE' TO is_event-form.
       MODIFY gt_events from is_event TRANSPORTING form WHERE name = slis_ev_top_of_page.
      ENDIF.
    ENDFORM.                    " build_events
    *&      Form  top_of_page
          text
    -->  p1        text
    <--  p2        text
    form top_of_page .
        BREAK-POINT.
        SKIP 3.
        WRITE:/20 'BILLING DETAILS', 40 'PAYMENT DETAILS'.
    endform.                    " top_of_page
    Regards.
    s.senthil kumar

    hi i modified ur program , check this and let me know
    REPORT zsen_servicetax_gta NO STANDARD PAGE HEADING LINE-COUNT 100.
    *****************************************TABLES USED**********************************************************************
    TABLES: BSIS, "Accounting: Secondary Index for G/L Accounts
    BSAS, "Accounting: Secondary Index for G/L Accounts (Cleared Items)
    LFA1. "Vendor Master (General Section).
    *****************************************WORK AREA / INTERNAL TABLE DECLARATION******************************************
    TYPE-POOLS: slis.
    TYPES: BEGIN OF ty_main,
    hkont TYPE bsis-hkont,
    belnr TYPE bsis-belnr,
    budat TYPE bsis-budat,
    blart TYPE bsis-blart,
    dmbtr TYPE bsis-dmbtr,
    xblnr TYPE bsis-xblnr,
    shkzg TYPE bsis-shkzg,
    augbl TYPE bsis-augbl,
    kz_dmbtr TYPE bsis-dmbtr,
    kz_xblnr TYPE bsis-xblnr,
    kz_blart TYPE bsis-blart,
    kz_belnr TYPE bsis-belnr,
    kz_budat TYPE bsis-budat,
    kz_zuonr TYPE bsis-zuonr,
    name1 TYPE lfa1-name1,
    slno TYPE i,
    END OF ty_main,
    BEGIN OF ty_bsas,
    belnr TYPE bsas-hkont,
    budat TYPE bsas-budat,
    xblnr TYPE bsas-xblnr,
    augbl TYPE bsas-augbl,
    dmbtr TYPE bsas-dmbtr,
    blart TYPE bsas-blart,
    zuonr TYPE bsas-zuonr,
    END OF ty_bsas.
    DATA: it_main TYPE TABLE OF ty_main,
    wa_main LIKE LINE OF it_main,
    it_bsas TYPE TABLE OF ty_bsas,
    wa_bsas LIKE LINE OF it_bsas.
    DATA: it_sort TYPE slis_t_sortinfo_alv,
    IT_fieldcatalog TYPE slis_t_fieldcat_alv ,
    WA_fieldcatalog TYPE slis_fieldcat_alv,
    gd_layout TYPE slis_layout_alv,
    gt_events TYPE slis_t_event,
    WA_EVENTS TYPE SLIS_T_EVENT,
    int_fcat TYPE slis_fieldcat_alv,
    it_header TYPE slis_t_listheader,
    wa_header TYPE slis_listheader.
    ************************************************work variables***********************************************************************
    DATA: ven_name TYPE lfa1-name1,
    post_date TYPE bsis-budat,
    t_tabix TYPE sy-tabix,
    i_prg LIKE sy-repid.
    ***********************************************selection screen***********************************************************************
    SELECTION-SCREEN: BEGIN OF BLOCK gtn WITH FRAME TITLE text-001 .
    SELECT-OPTIONS: date FOR BSIS-BUDAT .
    SELECTION-SCREEN: END OF BLOCK gtn.
    ************************************************data selection**************************************************************************
    START-OF-SELECTION.
    PERFORM data_retreval.
    PERFORM build_catalog.
    PERFORM layout.
    PERFORM build_events.
    PERFORM sortinfo.
    IF it_main[] IS NOT INITIAL.
    PERFORM display_alv.
    ELSE.
    MESSAGE 'No Records Matching For This Selection' TYPE 'E'.
    ENDIF.
    ******************************data display*********************************************************************************************
    **& Form data_retreval
    *text
    *--> p1 text
    *<-- p2 text
    FORM data_retreval .
    CLEAR:it_main[], wa_main.
    ***********************************************selecting data from bsis table for the given date range**********************************
    SELECT ahkont abelnr abudat ablart admbtr axblnr a~shkzg
    b~augbl
    INTO CORRESPONDING FIELDS OF TABLE it_main
    FROM bsis AS a LEFT OUTER JOIN bsas AS b
    ON abelnr = bbelnr
    WHERE a~budat IN date.
    *AND a~blart = 'KR'
    *AND a~shkzg = 'S'
    *AND a~hkont = '0002200530'.
    ***********************************************selecting data from bsas table using bsis-belnr*******************************************
    LOOP AT it_main INTO wa_main.
    SELECT belnr budat dmbtr xblnr zuonr augbl blart
    INTO CORRESPONDING FIELDS OF wa_bsas
    FROM bsas
    WHERE belnr = wa_main-augbl
    AND blart = 'KZ'.
    ENDSELECT.
    APPEND wa_bsas TO it_bsas.
    ENDLOOP.
    ********************************************combining two tables data******************************************************************
    LOOP AT it_main INTO wa_main.
    t_tabix = sy-tabix.
    wa_main-slno = t_tabix.
    READ TABLE it_bsas INTO wa_bsas WITH KEY augbl = wa_main-augbl.
    IF sy-subrc = 0.
    SELECT SINGLE name1
    FROM lfa1
    INTO ven_name
    WHERE lifnr = wa_bsas-zuonr.
    wa_main-kz_dmbtr = wa_bsas-dmbtr.
    wa_main-kz_belnr = wa_bsas-belnr.
    wa_main-kz_blart = wa_bsas-blart.
    wa_main-kz_budat = wa_bsas-budat.
    wa_main-kz_xblnr = wa_bsas-xblnr.
    wa_main-kz_zuonr = wa_bsas-zuonr.
    wa_main-name1 = ven_name.
    ENDIF.
    MODIFY it_main FROM wa_main INDEX t_tabix TRANSPORTING kz_dmbtr kz_belnr kz_budat kz_blart kz_xblnr kz_zuonr name1 .
    ENDLOOP.
    SORT it_main BY kz_blart kz_zuonr.
    LOOP AT it_main INTO wa_main.
    wa_main-slno = sy-tabix.
    MODIFY it_main FROM wa_main INDEX sy-tabix TRANSPORTING slno.
    ENDLOOP.
    ENDFORM. " data_retreval
    **& Form build_catalog
    *text
    *--> p1 text
    *<-- p2 text
    FORM build_catalog .
    DATA: col_pos TYPE i.
    col_pos = col_pos + 1.
    WA_fieldcatalog-fieldname = 'SLNO'.
    WA_fieldcatalog-seltext_m = 'Serial No'.
    WA_fieldcatalog-col_pos = col_pos.
    APPEND WA_fieldcatalog TO IT_fieldcatalog.
    CLEAR: WA_fieldcatalog.
    col_pos = col_pos + 1.
    WA_fieldcatalog-fieldname = 'KZ_ZUONR'.
    WA_fieldcatalog-seltext_m = 'Vendor Num'.
    WA_fieldcatalog-col_pos = col_pos.
    APPEND WA_fieldcatalog TO IT_fieldcatalog.
    CLEAR: WA_fieldcatalog.
    col_pos = col_pos + 1.
    WA_fieldcatalog-fieldname = 'NAME1'.
    WA_fieldcatalog-seltext_m = 'Vendor Name'.
    WA_fieldcatalog-col_pos = col_pos.
    APPEND WA_fieldcatalog TO IT_fieldcatalog.
    CLEAR: WA_fieldcatalog.
    col_pos = col_pos + 1.
    WA_fieldcatalog-fieldname = 'BLART'.
    WA_fieldcatalog-seltext_m = 'BillDoc.Type'.
    WA_fieldcatalog-col_pos = col_pos.
    APPEND WA_fieldcatalog TO IT_fieldcatalog.
    CLEAR: WA_fieldcatalog.
    col_pos = col_pos + 1.
    WA_fieldcatalog-fieldname = 'BELNR'.
    WA_fieldcatalog-seltext_m = 'BillDoc.Num.'.
    WA_fieldcatalog-col_pos = col_pos.
    APPEND WA_fieldcatalog TO IT_fieldcatalog.
    CLEAR: WA_fieldcatalog.
    col_pos = col_pos + 1.
    WA_fieldcatalog-fieldname = 'BUDAT'.
    WA_fieldcatalog-seltext_m = 'BillPosting Date'.
    WA_fieldcatalog-col_pos = col_pos.
    APPEND WA_fieldcatalog TO IT_fieldcatalog.
    CLEAR: WA_fieldcatalog.
    col_pos = col_pos + 1.
    WA_fieldcatalog-fieldname = 'XBLNR'.
    WA_fieldcatalog-seltext_m = 'BillReference Num'.
    WA_fieldcatalog-col_pos = col_pos.
    APPEND WA_fieldcatalog TO IT_fieldcatalog.
    CLEAR: WA_fieldcatalog.
    col_pos = col_pos + 1.
    WA_fieldcatalog-fieldname = 'DMBTR'.
    WA_fieldcatalog-seltext_m = 'Bill Amount'.
    WA_fieldcatalog-col_pos = col_pos.
    WA_fieldcatalog-do_sum = 'X'.
    APPEND WA_fieldcatalog TO IT_fieldcatalog.
    CLEAR: WA_fieldcatalog.
    col_pos = col_pos + 1.
    WA_fieldcatalog-fieldname = 'KZ_BLART'.
    WA_fieldcatalog-seltext_m = 'Pay_Doc.type'.
    WA_fieldcatalog-col_pos = col_pos.
    WA_fieldcatalog-do_sum = 'X'.
    APPEND WA_fieldcatalog TO IT_fieldcatalog.
    CLEAR: WA_fieldcatalog.
    col_pos = col_pos + 1.
    WA_fieldcatalog-fieldname = 'KZ_BELNR'.
    WA_fieldcatalog-seltext_m = 'Pay_Document No'.
    WA_fieldcatalog-col_pos = col_pos.
    APPEND WA_fieldcatalog TO IT_fieldcatalog.
    CLEAR: WA_fieldcatalog.
    col_pos = col_pos + 1.
    WA_fieldcatalog-fieldname = 'KZ_DMBTR'.
    WA_fieldcatalog-seltext_m = 'Payment Amount'.
    WA_fieldcatalog-col_pos = col_pos.
    WA_fieldcatalog-do_sum = 'X'.
    APPEND WA_fieldcatalog TO IT_fieldcatalog.
    CLEAR: WA_fieldcatalog.
    col_pos = col_pos + 1.
    WA_fieldcatalog-fieldname = 'KZ_XBLNR'.
    WA_fieldcatalog-seltext_m = 'Pay_Reference Num'.
    WA_fieldcatalog-col_pos = col_pos.
    APPEND WA_fieldcatalog TO IT_fieldcatalog.
    CLEAR: WA_fieldcatalog.
    col_pos = col_pos + 1.
    WA_fieldcatalog-fieldname = 'KZ_BUDAT'.
    WA_fieldcatalog-seltext_m = 'Pay_Posting Date'.
    WA_fieldcatalog-col_pos = col_pos.
    APPEND WA_fieldcatalog TO IT_fieldcatalog.
    CLEAR: WA_fieldcatalog.
    col_pos = col_pos + 1.
    WA_fieldcatalog-fieldname = 'AUGBL'.
    WA_fieldcatalog-seltext_m = 'Clr.Doc.Num'.
    WA_fieldcatalog-col_pos = col_pos.
    WA_fieldcatalog-row_pos = 2.
    APPEND WA_fieldcatalog TO IT_fieldcatalog.
    CLEAR: WA_fieldcatalog.
    ENDFORM. " build_catalog
    **& Form sortinfo
    *text
    *--> p1 text
    *<-- p2 text
    FORM sortinfo .
    DATA: is_sort TYPE slis_sortinfo_alv.
    CLEAR:is_sort.
    is_sort-spos = 2.
    is_sort-fieldname = 'KZ_ZUONR'.
    is_sort-up = 'X'.
    APPEND is_sort TO it_sort.
    CLEAR: is_sort.
    is_sort-spos = 1.
    is_sort-fieldname = 'KZ_BLART'.
    is_sort-up = 'X'.
    is_sort-subtot = 'X'.
    APPEND is_sort TO it_sort.
    ENDFORM. " sortinfo
    **& Form layout
    *text
    *--> p1 text
    *<-- p2 text
    FORM layout .
    gd_layout-no_input = 'X'.
    gd_layout-colwidth_optimize = 'X'.
    gd_layout-zebra = 'X'.
    *gd_layout-totals_text = 'Grand Total'.
    *gd_layout-subtotals_text = 'BillBooked Not Paid'.
    ENDFORM. " layout
    **& Form display_alv
    *text
    *--> p1 text
    *<-- p2 text
    FORM display_alv .
    i_prg = sy-repid.
    DATA:it_events TYPE slis_t_event,
           wa_events TYPE slis_alv_event.
    WA_events-name = 'TOP_OF_PAGE'.
      WA_events-form = 'TOP_OF_PAGE'.
      APPEND  wa_events TO it_events.
    CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
    EXPORTING
    *I_INTERFACE_CHECK = ' '
    *I_BYPASSING_BUFFER = ' '
    *I_BUFFER_ACTIVE = ' '
    i_callback_program = 'I_PRG'
    *I_CALLBACK_PF_STATUS_SET = ' '
    *I_CALLBACK_USER_COMMAND = ' '
    I_CALLBACK_TOP_OF_PAGE = 'TOP-OF-PAGE'
    *I_CALLBACK_HTML_TOP_OF_PAGE = 'TOP-OF-PAGE'
    *I_CALLBACK_HTML_END_OF_LIST = ' '
    *I_STRUCTURE_NAME =
    *I_BACKGROUND_ID = ' '
    *I_GRID_TITLE =
    *I_GRID_SETTINGS =
    is_layout = gd_layout
    it_fieldcat = IT_fieldcatalog[]
    *IT_EXCLUDING =
    *IT_SPECIAL_GROUPS =
    *it_sort = it_sort
    *IT_FILTER =
    *IS_SEL_HIDE =
    *I_DEFAULT = 'X'
    *I_SAVE = ' '
    *IS_VARIANT =
    it_events = 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_main
    *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_alv
    **& Form build_events
    *text
    *--> p1 text
    *<-- p2 text
    FORM build_events .
    DATA: is_event TYPE slis_alv_event.
    CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
    EXPORTING
    i_list_type = 0
    IMPORTING
    et_events = gt_events[]
    EXCEPTIONS
    LIST_TYPE_WRONG = 1
    OTHERS = 2
    IF sy-subrc NE 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    READ TABLE gt_events WITH KEY name = slis_ev_top_of_page INTO is_event.
    IF sy-subrc = 0.
    MOVE 'TOP_OF_PAGE' TO is_event-form.
    MODIFY gt_events from is_event TRANSPORTING form WHERE name = slis_ev_top_of_page.
    ENDIF.
    ENDFORM. " build_events
    **& Form top_of_page
    *text
    *--> p1 text
    *<-- p2 text
    form top_of_page .
    SKIP 3.
    WRITE:/20 'BILLING DETAILS', 40 'PAYMENT DETAILS'.
    ENDFORM.
    reward points if useful,
    venkat.

Maybe you are looking for

  • Search help for custom field in SRM

    Hi All, Im new to abap. I want to add(enhancement) custom input field with search help function for organization unit. I hv added input field and its displaying in portal also. Now i want to add f4 help. Can u please help me in this regard. Can u tel

  • What is 2032 error?

    what is 2032 error?

  • Toggle on "Highlight Hot and Cold Areas"

    Aloha all. When ever I toggle on "Highlight Hot and Cold Areas" my image turns solid red. I know I must have a setting turned on or set too high but I can't figure it out? Anyone else with this problem? Solutions? Using Aperture 2.1

  • What is a Fractured Block ?

    Hi , May anyone let me know what is a Fractured Block, how it comes and what is its impact in the database ? Thanks in advance. Deep

  • CUCM 7 - Activate Demo Licenses

    Hi all, I got a CUCM Demo version from my compnay for trial before implementing CUCM 7 company wide. As I installed the application I had no problems, however, when I try now to access the GUI / Devices / Phones and add a phone I get this error msg :