Workflow - split approved and rejected items for next step

Hi! I have just started building a simple approval workflow for any price variation of the catalog items. I have a question in regards to the handling of rejection and approval of items. Say I run the workflow which does the validation and it spits out 4 items with huge price variation which requires approval by the manager (using the Approve stencil). The manager logs in, review the items and mark 3 items for approval and reject one. It seems that using this Approve function, I can only proceed to the next step if ALL of the items are approved. Is there a way to be able to release the approved items leaving the rejected one behind? This is so that we can release the approved item first (which also means to check in the items) and leave the rejected item in check-out mode.
Appreciate your comments on the above.
Thanks!
SF

Hi SF,
Yes there is a workaround for dealing with the Approved and Disapproved Records by using the Process step instead of the Approve step.
Kindly follow the Elearning session below which will explain you how to go about this:
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/90efe90c-b03f-2b10-65bf-e572fef651cb
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/60f28084-b90e-2b10-3eb6-d6565367048a
You can also refer the other related links that discusses such common problems:
Re: SRM MDM catalog
Hope It Helped
Thanks & Regards
Simona Pinto

Similar Messages

  • Email Notifications through workflow for all Approved and Rejected Orders

    hi,
    i have to send Email Notifications through workflow for all Approved and Rejected Orders to the user who have submitted the order for approval.how could it be done.please send ur solutions.
    regards
    yesukannan

    Hi,
    An option would be use Oracle Alert. Create an event based alert on the table where you have order approvals or rejections. This alert will be raised after inserting or updating this table. Create an action linked to this alert, and choose message as action type.
    This setup can be done under Alert Manager Responsibility.
    Regards,
    Ketter Ohnes

  • How to hide Approve and reject radio buttons at item level.

    Hi All,
    On the HOME screen of EBP click Approval link ---> Under Appoval tab under Action Column click the magnifying glass icon ---> a table is displayed with Approve and Reject as two columns which contain radio buttons at item level .
    How can we hide these two columns and the radio buttons?
    Thanks & Regards,
    Anubhav

    Hi Daniel,
    As you said the template bbp sc ui its 120 is to be modified, i also located the code to be changed but when i comment the code for displaying the RBs , i get "Syntax Error in Tempate" dump in IE.
    <!--  manager view  -->
                          `if (gt_scr_itmovr_i-DEDUCT_IND[j].disabled)`
                              `if (gt_scr_itmovr_i-DEDUCT_IND[j] != "X")`
                                  `TD(align="center",valign="middle", class=tdcellclass)`
                                     <img src="`mimeURL(~service="bbpglobal",~language="", ~name="images/icon/checkedradio.gif")`"  border="0">
                                  `TD(align="center",valign="middle", class=tdcellclass)`
                                     <img src="`mimeURL(~service="bbpglobal",~language="", ~name="images/icon/uncheckedradio.gif")`" border="0">
                              `else`                
                                  `TD(align="center",valign="middle", class=tdcellclass)`
                                     <img src="`mimeURL(~service="bbpglobal",~language="", ~name="images/icon/uncheckedradio.gif")`" border="0">
                                  `TD(align="center",valign="middle", class=tdcellclass)`
                                     <img src="`mimeURL(~service="bbpglobal",~language="", ~name="images/icon/checkedradio.gif")`" border="0">
                              `end`
                          `else`
                              `TD(align="center",valign="middle", class=tdcellclass)`
                                 <input type="RADIO" name="gt_scr_itmovr_i-DEDUCT_IND[`j`]" value=""  `if (gt_scr_itmovr_i-DEDUCT_IND[j] != "X")` CHECKED `end;
                                 if ( group_hierarchy_position > -1 ); <!-- are we in a hierarchy group ? -->
                                   if ( group_hierarchy_position != j ); <!-- are we processing a subitem? -->
                                       `on click="jav asc ript:toggleSu bItemApprovalState(`j`)";`
                                     group_last_subitem_position = j;
                                   else; <!-- we are on the top of the group (the hierarchy position) -->
                                     if (GT_SCR_ITMOVR_I-HIER_EXPANDED[j] == "X");
                                       `on click="java scr ipt:setAppro valStateAllSubItems(true, `j`)";`
                                     end;
                                     group_last_subitem_position = j;
                                   end;
                                 end`>
                              `TD(align="center",valign="middle", class=tdcellclass)`
                                 <input type="RADIO" NAME="gt_scr_itmovr_i-DEDUCT_IND[`j`]"  value="X"  `if (gt_scr_itmovr_i-DEDUCT_IND[j] == "X")` CHECKED `end;
                                 if ( group_hierarchy_position > -1 ); <!-- are we in a hierarchy group ? -->
                                   if ( group_hierarchy_position != j ); <!-- are we processing a subitem? -->
                                     `on click="javas cript:tog gleSubItemApprovalState(`j`)";`
                                     group_last_subitem_position = j;
                                   else; <!-- we are on the top of the group (the hierarchy position) -->
                                     if (GT_SCR_ITMOVR_I-HIER_EXPANDED[j] == "X");
                                       `on cli ck="javas cript:setApprovalStateAllSubItems(false, `j`)";`
                                     end;
                                     group_last_subitem_position = j;
                                   end;
                                 end`>
                          `end;
                       end;
                   end`
    I guess the above mentioned code has to be modified but how?
    Thanks a lot,
    Anubhav

  • Approve and Reject of a workflow from outlook

    Hi,
      We have a requirement in which the approval and rejection of the workflow has to be done from outlook inbox. Please let me know in what way can this be achieved.
    I have gone throuigh the SWNCONFIG documentation, However I am not sure on whether it satifies the above requirement. Kindly let me know if this is possible using SWNCONFIG.
    Regards,
              Milan Thaker

    Hi MT,
    well as our friends suggested about DUET, DUET is a separate software altogether.
    Its an Outlook synchronization with SAP, but it is limited to very few business processes.
    Now question is,
    a) what is your business process which you are looking for?
    b) Your actual requirement is to approve/reject thru Outlook, well this could be resolved in a different way, that is, say for instance your business process is for Invoice Verification, where you want user to approve or reject. In this case you can integrate Outlook with SAP for this process, where the user would get the workitem in his/her Outlook, the moment the user db-clicks on it, it would take him to SAP tcode for releasing the Invoice block. This could be done thru RSWUWFML2 for all SAP versions or thru SWNCONFIG for ECC versions.
    c) If this is not you looking for, then I doubt if such an integration is possible, because getting an Approve and Reject button in your Outlook would be difficult.
    d) Else if your organization has EP or UWL installed, then Approve/Rject buttons could be populated.
    Hope it helps.
    Aditya

  • I am not using condition for Approval and Rejection.

    Hi Balaji,
    I am not using condition for Approval and Rejection.
    I am using Decision.
    I am not able to find the error.Rejection is going on Successfully.
    I am to rectify this error from past 4 days.
    Can you give the solution.
    Regards,
    Chow.

    Hi chow,
    What is the condition that u are using the Condition Statement.
    Please check the status returned from the Approval Process, by analyzing the Workflow Log for the particular step.
    Think there is a problem with the condition statement.
    Regards,
    Raj

  • Approve and reject button not appearing in the POrtal screen

    Hi All ,
    I have an issue where i create a meeting rwquets and then it goes for approval to the manager , but in this case the manager is not able to see the approve and reject button in the screen , whereas it appears in the back end , please suggest what setting are to be in place to appear those two buttons to click on .

    Hi,
    Then you will have to modify the standard UWL configuration file.
    If your task looks like a standard task (maybe you copied a standard task and modified it slightly), you have to find the ItemType corresponding to the standard task in the UWL configuration file then copy this ItemType and adjust it for you custom task. Please take a look at my last post in another thread : Re: UWL - how to approve purchase requisitions
    If your task is 100% custom then you'll have to find out what is behind the Approve and Reject buttons in the Business Workflow and modify the UWL configuration file accordingly. For instance if a function module is used to approve or reject the request you can define your approve and reject actions using the FunctionModuleActionHandler. You can find more information in the documentation : [Task Launch Customization|http://help.sap.com/saphelp_nw70/helpdata/en/36/dd4ad73c86412e81e9ce66eeb147e7/frameset.htm].
    Regards,
    Pierre

  • CCM 2.0 Approve and Reject buttons disabled

    Hi!!!
    We log into de CAT with the Catalog Approver User. And when we go to the Procurement Catalog, the approve and reject buttons are disabled.
    The procurement Catalog has the status To Be Approved (we defined it in the spro), so the items that I mapped from the Supplier to the Mater and to the Master to the Procurement catalog have this status.
    I loged in to the Procurement Catalog with the Catalog Manager and assigned the approver to the catalog (CCM_APROVER). And this user has the role of approver (we have double checked in the pfcg).
    Any idea why the buttons are disabled?
    THANKS IN ADVANCED!!!!

    Hi Jay, Hay Nimish,
    First of all, thanks for reply.
    I think that we have found the problem. Is in relation to the transaction SICF. But we won't be able to check it until monday.
    If the SICF solution doesn't work I will get back to you.
    Thanks once again!
    Message was edited by: Patricia Mussons

  • Sending a document as an mail attachment with approve and reject button

    Hi all,
         i have an infopath form where a user fills the form and on submit the form is saving as an document in the document library,
    now my question is, how can i get this document as an mail attachment with approve and reject option.

    Hello,
    You need to hide them on form load for user. Add one more hidden control in form and keep control value blank initially. Now add rule on button submit to set the control value to some other so you can hide/show the button.
    Now add rule on approve and reject buttons that, if field1 is blank then hide this control.
    http://office.microsoft.com/en-in/infopath-help/add-formatting-rules-HA101783371.aspx
    Hemendra:Yesterday is just a memory,Tomorrow we may never see
    Please remember to mark the replies as answers if they help and unmark them if they provide no help

  • LR Approve and Reject buttons missing?

    Hi,
    We have recently customised standard LR workflow and we have replaced standard LR task (TS12300097, TS12300116) to custom task.  We have updated UWL configuration file to add these 2 new task.  We could successfully see the LR raised by ESS user in the MSS UWL task list but when we click on the task we could see the task details without APPROVE and REJECT buttons, these 2 buttons are missing.
    We have made necessary changes in the SWFVISU tcode and Portal UWL XML configuration.  Is there any other configuration need to be done to fix this issue(make APPROVE and REJECT button visible)?
    NOTE: If we switch it back to standard task the buttons are visible it's invisible only when it's using new task.
    Thanks
    Praveen

    Thanks Vivek.
    I have resolve this issue, I found that in the UWL xml configuration I have configured task WebDynproApplication property incorrectly, it was pointing to LeaveRequest instead of LeaveRequestApprover.  Changing this has fixed the problem.
    Thanks anyway.
    Closing this thread.
    Praveen.

  • How to Place Approve and Reject Button in every row to approve and reject the particular order in sapui5

    Hi Experts,
       How to Place Approve and Reject Button in every row  to approve and reject the particular order in sapui5.
      Please Kindly help me.
    Thanks & Regards
    Chitti Babu

    Hi Chitti,
    You can achieve this using sap.m.CustomListItem.
    View :
    <core:View xmlns:core="sap.ui.core" xmlns:mvc="sap.ui.core.mvc"
      xmlns:l="sap.ui.layout" xmlns="sap.m" controllerName="demoallinonegrid.tablewithscroll"
      xmlns:html="http://www.w3.org/1999/xhtml">
      <Page title="Title">
      <content>
      <ScrollContainer horizontal="true" width="100%">
      <Table id="empTable">
      <headerToolbar>
      <Toolbar>
      <Label text="Employees"></Label>
      </Toolbar>
      </headerToolbar>
      <columns>
      <Column width="12em">
      <Label text="Employee Id"></Label>
      </Column>
      <Column width="12em">
      <Label text="Last Name"></Label>
      </Column>
      <Column width="12em">
      <Label text="First Name"></Label>
      </Column>
      <Column width="12em">
      <Label text="Title"></Label>
      </Column>
      <Column width="12em">
      <Label text="Approve"></Label>
      </Column>
      <Column width="12em">
      <Label text="Reject"></Label>
      </Column>
      </columns>
      </Table>
      </ScrollContainer>
      </content>
      </Page>
    </core:View>
    Controller:
    var model = new sap.ui.model.json.JSONModel();
      model.loadData("http://services.odata.org/Northwind/Northwind.svc/Employees?$format=json",null,false,'GET',false,null);
      this.getView().byId("productTable").setModel(model);
      var template = new sap.m.ColumnListItem({
      cells:[
            new sap.m.Text({text:"{EmployeeID}"}),
            new sap.m.Text({text:"{LastName}"}),
            new sap.m.Text({text:"{FirstName}"}),
            new sap.m.Text({text:"{Title}"}),
            new sap.m.Button({text:"Approve"}),
            new sap.m.Button({text:"Reject"})
      this.getView().byId("empTable").bindAggregation("items","/value",template);
    Output:
    Regards,
    KK

  • Report to find open items and close items for given vendor

    Hi All,
    What are the steps needed to write a REPORT to find out
    open and close items for a given vendor.
    Which are the fields i'll have to take and what are the comparisons i'll have to make.
    I know,
    BSIK is for open Vendor &
    BSAK for closed Vendors..
    what are the conditions i'll have to check.
    Thanks in Advance..
    Pradeep Alex

    Hi Pradeep,
    This report I developed is definitely useful to you.
    *& Report  ZFI_PROV_IT_VENDOR
    REPORT  ZFI_VENDOR.
    TYPE-POOLS: slis.
    tables: BKPF,
            BSEG,
            bsik,
            bsak,
            bsid,
            bsad,
            lfa1,
            t005u,           "Region Description
            J_1IMOVEND.
    TYPES: BEGIN OF ty_bkpf,
            bukrs type bkpf-bukrs,
            belnr TYPE bkpf-belnr,
            gjahr type bkpf-gjahr,
            blart TYPE bkpf-blart,
            budat TYPE bkpf-budat,
           END   OF ty_bkpf.
    types: begin of ty_J_1IMOVEND,
             lifnr     type lfa1-lifnr,
             J_1IPANNO type J_1IMOVEND-J_1IPANNO,
             J_1ICSTNO type J_1IMOVEND-J_1ICSTNO,
             J_1ISERN  type J_1IMOVEND-J_1ISERN,
           end   of ty_J_1IMOVEND.
    TYPES: BEGIN OF ty_bseg,
            belnr TYPE bseg-belnr,
            gjahr type bseg-gjahr,
            bschl TYPE bseg-bschl,
            umskz type bseg-umskz,
            shkzg type bseg-shkzg,
            wrbtr TYPE bseg-wrbtr,
            hkont type bseg-hkont,
            lifnr TYPE bseg-lifnr,
           END   OF ty_bseg.
    types: begin of ty_t005u,
            bland type t005u-bland,
            bezei type t005u-bezei,
           end   of ty_t005u.
    types: begin of ty_lfa1,
            lifnr type lfa1-lifnr,
            name1 type lfa1-name1,   "35
            ort01 type lfa1-ort01,   "35
            ort02 type lfa1-ort02,   "35
            pfach type lfa1-pfach,   "10
            pstlz type lfa1-pstlz,   "10
            regio type lfa1-regio,   "3
            stras type lfa1-stras,   "35
            ktokk type lfa1-ktokk,
            telf1 type lfa1-telf1,   "16
            telf2 type lfa1-telf2,   "16
           end   of ty_lfa1.
    types: begin of ty_bsik,
            bukrs type bsik-bukrs,
            lifnr type bsik-lifnr,
            augdt type bsik-augdt,
            augbl type bsik-augbl,
            belnr type bsik-belnr,
            budat type bsik-budat,
            blart type bsik-blart,
            shkzg type bsik-shkzg,
            wrbtr type bsik-wrbtr,
           end   of ty_bsik.
    types: begin of ty_bsid,
            bukrs type bsid-bukrs,
            lifnr type bsid-kunnr,
            augdt type bsid-augdt,
            augbl type bsid-augbl,
            belnr type bsid-belnr,
            budat type bsid-budat,
            blart type bsid-blart,
            shkzg type bsid-shkzg,
            wrbtr type bsid-wrbtr,
           end   of ty_bsid.
    types: begin of ty_out2,
            lifnr type bsik-lifnr,
            wrbtr type bsik-wrbtr,
            end  of ty_out2.
    types: begin of ty_out,
            lifnr type lfa1-lifnr,
            name1 type lfa1-name1,
            addr(162) type c,
            J_1IPANNO type J_1IMOVEND-J_1IPANNO,
            J_1ICSTNO type J_1IMOVEND-J_1ICSTNO,
            J_1ISERN  type J_1IMOVEND-J_1ISERN,
            opbal  type bseg-wrbtr,
            purch type bseg-wrbtr,
            PAYM  type bseg-wrbtr,
            grdeb type bseg-wrbtr,
            othdeb type bseg-wrbtr,
            othcre type bseg-wrbtr,
            tds   type bseg-wrbtr,
            bal   type bseg-wrbtr,
            blart type bkpf-blart,
            bschl type bseg-bschl,
           end  of ty_out.
    types: begin of ty_bsegtemp,
            lifnr TYPE bseg-lifnr,
           end   of ty_bsegtemp.
    types: begin of ty_bsegnew,
            wrbtr TYPE bseg-wrbtr,
            lifnr TYPE bseg-lifnr,
           end   of ty_bsegnew.
    data: it_bsik type table of ty_bsik with header line,
          it_bsid type table of ty_bsid with header line,
          it_bsak type table of ty_bsik with header line,
          it_out2  type table of ty_out2 with header line,
          it_out3 type table of ty_out2 with header line.
    DATA : it_fieldcat TYPE slis_t_fieldcat_alv,
           it_listheader TYPE slis_t_listheader,
           it_alvevent TYPE slis_t_event,
           gt_events TYPE slis_t_event WITH HEADER LINE.
    DATA: I_SORT TYPE SLIS_T_SORTINFO_ALV.
    DATA : wa_fieldcat TYPE slis_fieldcat_alv,
           wa_listheader TYPE slis_listheader,
           wa_alvevent TYPE slis_alv_event.
    DATA: WA_SORT TYPE SLIS_SORTINFO_ALV.
    DATA: ls_line TYPE slis_listheader.
    DATA : g_repid  LIKE sy-repid,                  " Program ID
           g_layout TYPE slis_layout_alv.           " Layout Workarea
    DEFINE m_fieldcat.
      wa_fieldcat-col_pos       = &1.               " Fieldcat column postion
      wa_fieldcat-fieldname     = &2.               " Field name
      wa_fieldcat-DO_SUM        = &3.
      wa_fieldcat-seltext_m     = &4.               " Column Text
      wa_fieldcat-outputlen    = &5.
      append wa_fieldcat to it_fieldcat.
      clear wa_fieldcat.
    END-OF-DEFINITION.
    DATA: wa_lfa1 TYPE ty_lfa1,
          wa_bkpf TYPE ty_bkpf,
          wa_bkpf1 type ty_bkpf,
          wa_bsegtemp type ty_bsegtemp,
          wa_bsegnew type ty_bsegnew,
          wa_bsegnew1 type ty_bsegnew,
          wa_J_1IMOVEND type ty_J_1IMOVEND,
          wa_t005u type ty_t005u,
          wa_bseg TYPE ty_bseg,
          wa_out    TYPE ty_out.
    DATA: gt_out TYPE STANDARD TABLE OF ty_out,
          gt_out1 TYPE STANDARD TABLE OF ty_out,
          gt_lfa1 TYPE STANDARD TABLE OF ty_lfa1,
          gt_bsegtemp type standard table of ty_bsegtemp with header line,
          gt_bsegnew type standard table of ty_bsegnew with header line,
          gt_bsegnew1 type standard table of ty_bsegnew with header line,
          gt_J_1IMOVEND type standard table of ty_J_1IMOVEND,
          gt_bkpf1 TYPE STANDARD TABLE OF ty_bkpf WITH HEADER LINE,
          gt_t005u type standard table of ty_t005u,
          gt_bseg TYPE STANDARD TABLE OF ty_bseg WITH HEADER LINE,
          gt_bkpf TYPE STANDARD TABLE OF ty_bkpf WITH HEADER LINE.
    selection-screen begin of block b1 with frame title text-001.
    select-options: s_budat for bkpf-budat obligatory,
                    s_ktokk for lfa1-ktokk obligatory.
                   s_wrbtr for bseg-wrbtr.
    parameters: p_bukrs type bkpf-bukrs obligatory default '1000'.
               p_gjahr type bkpf-gjahr obligatory.
               p_lifnr type bseg-lifnr obligatory default '300040',
               p_ktokk type lfa1-ktokk obligatory default 'Z200'.
    selection-screen end   of block b1.
    START-OF-SELECTION.
      PERFORM sub_fetch_data.
      PERFORM sub_process_data.
    END-OF-SELECTION.
      PERFORM sub_build_fieldcat.
      PERFORM sub_build_layout.
      PERFORM eventtab_build USING gt_events[].
      PERFORM comment_build USING it_listheader[].
      PERFORM sub_disp_data.
    *&      Form  SUB_BUILD_FIELDCAT
          text
    -->  p1        text
    <--  p2        text
    FORM sub_build_fieldcat .
    sort gt_out by name1.
    *DEFINE M_SORT.
       ADD 1 TO WA_SORT-SPOS.
       WA_SORT-FIELDNAME = &1.
       WA_SORT-UP        = 'X'.
       WA_SORT-SUBTOT    = &2.
       APPEND WA_SORT TO I_SORT.
    END-OF-DEFINITION.
    *m_sort 'NAME1' 'X'.
    *M_SORT 'ADDR' 'X'.
      m_fieldcat 1  'LIFNR' ' '  text-026 10.
      m_fieldcat 2  'NAME1' ' '  text-006 35.
      m_fieldcat 3  'ADDR' ' ' text-007 162.
      m_fieldcat 4  'J_1IPANNO' ''  text-008 40.
      m_fieldcat 5  'J_1ICSTNO'  '' text-009 40.
      m_fieldcat 6  'J_1ISERN'  '' text-010 40.
      m_fieldcat 7  'OPBAL'  '' text-011 18.
      m_fieldcat 8  'PURCH'    '' text-012 18.
      m_fieldcat 9  'PAYM' ''  text-013 18.
      m_fieldcat 10  'GRDEB'  '' text-014 18.
      m_fieldcat 11  'OTHDEB'  '' text-020 18.
      m_fieldcat 12  'OTHCRE'  '' text-021 18.
      m_fieldcat 13  'BAL'  '' text-023 18.
      m_fieldcat 14  'TDS'  '' text-022 18.
    ENDFORM.                    " SUB_BUILD_FIELDCAT
    *&      Form  SUB_BUILD_LAYOUT
          text
    -->  p1        text
    <--  p2        text
    FORM sub_build_layout .
      g_layout-zebra             = 'X'.
      g_layout-colwidth_optimize = 'X'.
    ENDFORM.                    " SUB_BUILD_LAYOUT
    *&      Form  EVENTTAB_BUILD
          text
         -->P_GT_EVENTS[]  text
    FORM eventtab_build  USING    gt_events TYPE slis_t_event.
      DATA: ls_event TYPE slis_alv_event.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          i_list_type = 0
        IMPORTING
          et_events   = gt_events.
      READ TABLE gt_events WITH KEY name = slis_ev_top_of_page
                               INTO ls_event.
      IF sy-subrc = 0.
        MOVE 'TOP_OF_PAGE' TO ls_event-form.
        APPEND ls_event TO gt_events.
      ENDIF.
    ENDFORM.                    " EVENTTAB_BUILD
    *&      Form  COMMENT_BUILD
          text
         -->P_IT_LISTHEADER[]  text
    FORM comment_build  USING    p_it_listheader TYPE
                                            slis_t_listheader.
    data: v_text(30) type c,
          v_datelow(10) type c,
          v_datehigh(10) type c,
          v_month(2) type c,
          v_day(2) type c,
          v_year(4) type c.
    v_day  = s_budat-low+6(2).
    v_month = s_budat-low+4(2).
    v_year = s_budat-low+0(4).
    concatenate v_day '.' v_month '.' v_year into v_datelow.
    clear: v_day,v_month,v_year.
    v_day  = s_budat-high+6(2).
    v_month = s_budat-high+4(2).
    v_year = s_budat-high+0(4).
    concatenate v_day '.' v_month '.' v_year into v_datehigh.
    clear: v_day,v_month,v_year.
    concatenate 'From' v_datelow 'To' v_datehigh into v_text
                                        separated by space.
    clear: v_datelow, v_datehigh.
      ls_line-typ  = 'H'.
      ls_line-info = text-116.
      APPEND ls_line TO p_it_listheader.
    ls_line-typ  = 'S'.
      ls_line-key = text-090.
      ls_line-info = v_text.
      APPEND ls_line TO p_it_listheader.
    ENDFORM.                    " COMMENT_BUILD
    *&      Form  TOP_OF_PAGE
          text
    -->  p1        text
    <--  p2        text
    FORM top_of_page.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          it_list_commentary = it_listheader.
    ENDFORM.                    " TOP_OF_PAGE
    *&      Form  SUB_DISP_DATA
          text
    -->  p1        text
    <--  p2        text
    FORM sub_disp_data .
      g_repid = sy-repid.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_callback_program = g_repid
          it_fieldcat        = it_fieldcat[]
          is_layout          = g_layout
          i_save             = 'U'
          it_events          = gt_events[]
        IT_SORT             = I_SORT[]
        TABLES
          t_outtab           = gt_out1[].
    ENDFORM.                    " SUB_DISP_DATA
    *&      Form  sub_fetch_data
          text
    -->  p1        text
    <--  p2        text
    form sub_fetch_data .
    select bukrs
           belnr
           gjahr
           blart
           budat
           from bkpf
           into table gt_bkpf
           where budat in s_budat
           and   bukrs = p_bukrs
          and   gjahr = p_gjahr
           and   blart in ('KR','KG','KZ','RE','DK','Z1','AB','SA','KA','DZ').
    select belnr
           gjahr
           bschl
           umskz
           shkzg
           wrbtr
           hkont
           lifnr
           from bseg
           into table gt_bseg
           for all entries in gt_bkpf
           where belnr = gt_bkpf-belnr
           and   gjahr = gt_bkpf-gjahr
          and gjahr = p_gjahr
           and   bschl in (21,25,29,31,50,39,38,19,35).
          and kunnr in gt_
          and lifnr = '0000300019'.
    select belnr
           gjahr
           bschl
           umskz
           shkzg
           wrbtr
           hkont
           kunnr
           from bseg
           appending table gt_bseg
           for all entries in gt_bkpf
           where belnr = gt_bkpf-belnr
           and   gjahr = gt_bkpf-gjahr
          and gjahr = p_gjahr
           and   bschl in (21,25,29,31,50,39,38,19).
    break manukapur.
    sort gt_bseg by  lifnr bschl.
    delete adjacent duplicates from gt_bseg comparing all fields.
    loop at gt_bseg into wa_bseg.
    if wa_bseg-lifnr is not initial.
    move: wa_bseg-lifnr to wa_bsegtemp-lifnr.
          append wa_bsegtemp to gt_bsegtemp.
          endif.
    endloop.
    delete adjacent duplicates from gt_bsegtemp comparing lifnr.
    select lifnr
            name1
            ort01
            ort02
            pfach
            pstlz
            regio
            stras
            ktokk
            telf1
            telf2
            from lfa1
            into table gt_lfa1
            for all entries in gt_bseg
            where lifnr = gt_bseg-lifnr
            and ktokk in s_ktokk.
           and lifnr = '0000300030'.
    select  bland
            bezei
            from t005u
            into table gt_t005u
            for all entries in gt_lfa1
            where bland = gt_lfa1-regio
            and land1 = 'IN'
            and spras = sy-langu.
    select lifnr
           J_1IPANNO
           J_1ICSTNO
           J_1ISERN
           from J_1IMOVEND
           into table gt_J_1IMOVEND
           for all entries in gt_bseg
           where lifnr = gt_bseg-lifnr.
    *select bukrs
          belnr
          blart
          budat
          from bkpf
          into table gt_bkpf1
          where budat < s_budat-low.
          and zfdbt < s_budat-low.
    select
           wrbtr
           lifnr
           from bseg
           into table gt_bsegnew
           for all entries in gt_bkpf
           where belnr = gt_bkpf-belnr
           and xopvw = 'X' .
          and zfbdt < s_budat-low.
    select bukrs
           lifnr
           augdt
           augbl
           belnr
           budat
           blart
           shkzg
           wrbtr
           from bsik
           into table it_bsik
           for all entries in gt_bseg
           where lifnr = gt_bseg-lifnr
          and   lifnr = '0000300000'
           and   bukrs = '1000'
           and   budat <= s_budat-low.
    select bukrs
           lifnr
           augdt
           augbl
           belnr
           budat
           blart
           shkzg
           wrbtr
           from bsak
           appending table it_bsik
           for all entries in gt_bseg
           where bukrs = '1000'
           and   lifnr = gt_bseg-lifnr
          and   lifnr = '0000300000'
           and   budat <= s_budat-low
           and   augdt > s_budat-low.
    select bukrs
           kunnr
           augdt
           augbl
           belnr
           budat
           blart
           shkzg
           wrbtr
           from bsid
           into table it_bsid
           for all entries in gt_bseg
           where bukrs = '1000'
           and   kunnr = gt_bseg-lifnr
          and   kunnr = '0000300000'
           and   budat <= s_budat-low.
    select bukrs
           kunnr
           augdt
           augbl
           belnr
           budat
           blart
           shkzg
           wrbtr
           from bsad
           appending table it_bsid
           for all entries in gt_bseg
           where bukrs = '1000'
           and   kunnr = gt_bseg-lifnr
          and   kunnr = '0000300000'
           and   budat <= s_budat-low
           and   augdt > s_budat-low.
    if it_bsid[] is not initial.
    append lines of it_bsid to it_bsik.
    endif.
    *delete gt_bsegnew where lifnr  <> '0000300000'.
    *break manukapur.
    *sort gt_bsegnew by lifnr.
    *loop at gt_bsegnew into wa_bsegnew.
    *collect wa_bsegnew into gt_bsegnew1.
    *endloop.
    loop at it_bsik .
    it_out2-lifnr = it_bsik-lifnr.
    *it_out1-budat = it_bsik-budat.
    *it_out1-blart = it_bsik-blart.
    if it_bsik-SHKZG = 'H'.
    it_out2-wrbtr = it_bsik-wrbtr.
    else .
    it_out2-wrbtr = it_bsik-wrbtr * -1.
    endif.
    append it_out2.
    clear: it_out2, it_bsik.
    *endif.
    *clear it1.
    endloop.
    sort it_out2 by lifnr.
    loop at it_out2.
    it_out3-lifnr = it_out2-lifnr.
    it_out3-wrbtr = it_out2-wrbtr.
    collect it_out3.
    clear: it_out3, it_out2.
    endloop.
    endform.
    *&      Form  sub_process_data
          text
    -->  p1        text
    <--  p2        text
    form sub_process_data .
    *sort gt_bsegtemp by  lifnr .
    sort gt_bseg by lifnr bschl.
    sort gt_bsegnew by lifnr.
    sort it_out3 by lifnr.
    *loop at gt_bsegnew into wa_bsegnew.
    *at end of lifnr.
    *sum.
    *endat.
    *endloop.
    sort gt_bkpf by blart.
    loop at gt_bseg into wa_bseg.
    if wa_bseg-lifnr is not initial.
    read table gt_lfa1 into wa_lfa1 with key lifnr = wa_bseg-lifnr.
    move: wa_lfa1-name1 to wa_out-name1,
         wa_lfa1-lifnr to wa_out-lifnr.
    read table gt_t005u into wa_t005u with key bland = wa_lfa1-regio.
    concatenate wa_lfa1-stras ',' wa_lfa1-ort01 ','
                wa_lfa1-ort02 ',' wa_t005u-bezei ','
                wa_lfa1-pfach ','
                wa_lfa1-pstlz ',' 'Ph:'
                wa_lfa1-telf1 ','
                wa_lfa1-telf2
                into wa_out-addr separated by space.
    read table gt_J_1IMOVEND into wa_J_1IMOVEND with key lifnr = wa_bseg-lifnr.
    move: wa_J_1IMOVEND-J_1IPANNO to wa_out-J_1IPANNO,
          wa_J_1IMOVEND-J_1ICSTNO to wa_out-J_1ICSTNO,
          wa_J_1IMOVEND-J_1ISERN  to wa_out-J_1ISERN.
          read table gt_bkpf into wa_bkpf with key belnr = wa_bseg-belnr.
    if wa_bkpf-blart = 'RE' and wa_bseg-bschl = 31 or
    wa_bkpf-blart = 'KR' and wa_bseg-bschl = 31.
    if wa_bseg-shkzg = 'H'.
    *wa_out-purch = wa_out-purch + wa_bseg-wrbtr.
    wa_out-purch = wa_bseg-wrbtr.
    else.
    if wa_bseg-shkzg = 'S'.
    *wa_out-purch = wa_out-purch + wa_bseg-wrbtr.
    wa_out-purch = wa_bseg-wrbtr * -1.
    endif.
    endif.
    endif.
    if wa_bkpf-blart = 'KR' and wa_bseg-bschl = 50.
    *wa_out-tds = wa_out-tds + wa_bseg-wrbtr.
    if wa_bseg-shkzg = 'H'.
    *wa_out-purch = wa_out-purch + wa_bseg-wrbtr.
    wa_out-tds = wa_bseg-wrbtr.
    else.
    if wa_bseg-shkzg = 'S'.
    *wa_out-purch = wa_out-purch + wa_bseg-wrbtr.
    wa_out-tds = wa_bseg-wrbtr * -1.
    endif.
    endif.
    *wa_out-tds = wa_bseg-wrbtr.
    endif.
    if wa_bkpf-blart = 'KG' and wa_bseg-bschl = 21.
    *wa_out-grdeb =  wa_out-grdeb + wa_bseg-wrbtr.
    if wa_bseg-shkzg = 'H'.
    *wa_out-purch = wa_out-purch + wa_bseg-wrbtr.
    wa_out-grdeb = wa_bseg-wrbtr.
    else.
    if wa_bseg-shkzg = 'S'.
    *wa_out-purch = wa_out-purch + wa_bseg-wrbtr.
    wa_out-grdeb = wa_bseg-wrbtr * -1.
    endif.
    endif.
    endif.
    if wa_bkpf-blart = 'RE' and wa_bseg-bschl = 21.
    *wa_out-grdeb =  wa_out-grdeb + wa_bseg-wrbtr.
    if wa_bseg-shkzg = 'H'.
    *wa_out-purch = wa_out-purch + wa_bseg-wrbtr.
    wa_out-grdeb = wa_bseg-wrbtr.
    else.
    if wa_bseg-shkzg = 'S'.
    *wa_out-purch = wa_out-purch + wa_bseg-wrbtr.
    wa_out-grdeb = wa_bseg-wrbtr * -1.
    endif.
    endif.
    endif.
    if wa_bkpf-blart = 'KZ' and wa_bseg-bschl = 25
    *or wa_bkpf-blart = 'KZ' and wa_bseg-bschl = 29
    **and wa_bseg-umskz = 'A'
    or wa_bkpf-blart = 'SA' and wa_bseg-bschl = 25.
    if wa_bseg-shkzg = 'H'.
    *wa_out-purch = wa_out-purch + wa_bseg-wrbtr.
    wa_out-paym = wa_bseg-wrbtr.
    else.
    if wa_bseg-shkzg = 'S'.
    *wa_out-purch = wa_out-purch + wa_bseg-wrbtr.
    wa_out-paym = wa_bseg-wrbtr * -1.
    endif.
    endif.
    endif.
    if wa_bkpf-blart = 'DK' and wa_bseg-bschl = 31.
    if wa_bseg-shkzg = 'H'.
    wa_out-othcre = wa_bseg-wrbtr.
    else.
    if wa_bseg-shkzg = 'S'.
    wa_out-othcre = wa_bseg-wrbtr * -1.
    endif.
    endif.
    endif.
    if wa_bkpf-blart = 'AB' and wa_bseg-bschl = 31.
    if wa_bseg-shkzg = 'H'.
    wa_out-othcre = wa_bseg-wrbtr.
    else.
    if wa_bseg-shkzg = 'S'.
    wa_out-othcre = wa_bseg-wrbtr * -1.
    endif.
    endif.
    endif.
    if wa_bkpf-blart = 'SA' and wa_bseg-bschl = 31.
    if wa_bseg-shkzg = 'H'.
    wa_out-othcre = wa_bseg-wrbtr.
    else.
    if wa_bseg-shkzg = 'S'.
    wa_out-othcre = wa_bseg-wrbtr * -1.
    endif.
    endif.
    endif.
    if wa_bkpf-blart = 'KZ' and wa_bseg-bschl = 38.
    if wa_bseg-shkzg = 'H'.
    wa_out-othcre = wa_bseg-wrbtr.
    else.
    if wa_bseg-shkzg = 'S'.
    wa_out-othcre = wa_bseg-wrbtr * -1.
    endif.
    endif.
    endif.
    if wa_bkpf-blart = 'DZ' and wa_bseg-bschl = 19
    and wa_bseg-umskz = 'A'.
    if wa_bseg-shkzg = 'H'.
    wa_out-othcre = wa_bseg-wrbtr.
    else.
    if wa_bseg-shkzg = 'S'.
    wa_out-othcre = wa_bseg-wrbtr * -1.
    endif.
    endif.
    endif.
    if wa_bkpf-blart = 'KA' and wa_bseg-bschl = 39
    and wa_bseg-umskz = 'G' or
           wa_bseg-umskz = 'H' or
           wa_bseg-umskz = 'J' or
           wa_bseg-umskz = 'L' OR
           wa_bseg-umskz = 'A'.
    if wa_bseg-shkzg = 'H'.
    wa_out-othcre = wa_bseg-wrbtr.
    else.
    if wa_bseg-shkzg = 'S'.
    wa_out-othcre = wa_bseg-wrbtr * -1.
    endif.
    endif.
    endif.
    if wa_bkpf-blart = 'KA' and wa_bseg-bschl = 35.
    if wa_bseg-shkzg = 'H'.
    wa_out-othcre = wa_bseg-wrbtr.
    else.
    if wa_bseg-shkzg = 'S'.
    wa_out-othcre = wa_bseg-wrbtr * -1.
    endif.
    endif.
    endif.
    if ( wa_bkpf-blart = 'KZ' and wa_bseg-bschl = 29 )
       and wa_bseg-umskz = 'A' or
           wa_bseg-umskz = 'B' or
           wa_bseg-umskz = 'I' or
           wa_bseg-umskz = 'M' or
           wa_bseg-umskz = 'O' or
           wa_bseg-umskz = 'V'.
    if wa_bseg-shkzg = 'H'.
    wa_out-othcre = wa_bseg-wrbtr.
    else.
    if wa_bseg-shkzg = 'S'.
    wa_out-othcre = wa_bseg-wrbtr * -1.
    endif.
    endif.
    endif.
    if wa_bkpf-blart = 'AB' and wa_bseg-bschl = 27.
    if wa_bseg-shkzg = 'H'.
    wa_out-othcre = wa_bseg-wrbtr.
    else.
    if wa_bseg-shkzg = 'S'.
    wa_out-othcre = wa_bseg-wrbtr * -1.
    endif.
    endif.
    endif.
    if wa_bkpf-blart = 'Z1' and wa_bseg-bschl = 21 .
    if wa_bseg-shkzg = 'H'.
    wa_out-othcre = wa_bseg-wrbtr.
    else.
    if wa_bseg-shkzg = 'S'.
    wa_out-othcre = wa_bseg-wrbtr * -1.
    endif.
    endif.
    endif.
    **if wa_bseg-shkzg = 'H'.
    ***wa_out-purch = wa_out-purch + wa_bseg-wrbtr.
    **wa_out-othdeb = wa_bseg-wrbtr.
    **else.
    **if wa_bseg-shkzg = 'S'.
    ***wa_out-purch = wa_out-purch + wa_bseg-wrbtr.
    **wa_out-othdeb = wa_bseg-wrbtr * -1.
    **endif.
    **endif.
    **endif.
    ***if wa_bkpf-blart = 'AB' and wa_bseg-bschl = 27.
          wa_out-othdeb =  wa_bseg-wrbtr.
    ***endif.
    ***if wa_bkpf-blart = 'Z1' and wa_bseg-bschl = 21.
          wa_out-othdeb =  wa_bseg-wrbtr.
    ***endif.
    read table it_out3 with key lifnr = wa_bseg-lifnr binary search.
    on change of wa_bseg-lifnr.
    *move: wa_lfa1-name1 to wa_out-name1,
        wa_lfa1-lifnr to wa_out-lifnr.
    wa_out-opbal = it_out3-wrbtr.
    endon.
    *if wa_out-opbal is not initial.
    *wa_out-bal = wa_out-opbal + wa_out-purch - wa_out-grdeb - wa_out-othdeb + wa_out-othcre.
    **else.
    *wa_out-bal = wa_out-purch - wa_out-grdeb - wa_out-othdeb + wa_out-othcre.
    *endif.
    wa_out-bal = wa_out-opbal + wa_out-purch + wa_out-paym + wa_out-grdeb + wa_out-othdeb + wa_out-othcre.
    at end of lifnr.
    *wa_out-bal = wa_out-opbal + wa_out-purch - wa_out-grdeb - wa_out-othdeb + wa_out-othcre.
    append wa_out to gt_out.
    *collect wa_out into gt_out.
    clear wa_out.
    clear it_out3.
    clear wa_bsegnew1.
    endat.
    endif.
    clear: wa_bseg, wa_bkpf, wa_J_1IMOVEND.
    endloop.
    loop at gt_out into wa_out.
    collect wa_out into gt_out1.
    endloop.
    endform.                    " sub_process_data
    Regards,
    Santosh Kumar M.

  • How to clear the open items and parked items for customer

    Hi Experts,
    I need to clear the open items and parked items for customer.
    So any one could let me know the transaction code and procedure for clearing the items for customer.
    Best regards,
    Kesava balaji.

    Hello,
    Parked items will have NO RELEVANCE, unless you post it.
    You CANNOT clear parked items.
    You can clear the posted items using F.13 or F-32
    Regards,
    Ravi

  • UWL Approve and Reject buttons not available in Portal 7.31?

    Hi I've been doing some research and came across some interesting articles...
    http://scn.sap.com/thread/1871429
    http://wiki.scn.sap.com/wiki/pages/viewpage.action?pageId=221611154
    I am trying to enable the Approve and Reject buttons per customer requirements but having some issues making these options available in the UWL ...
    Based on the articles above...
    Does the UWL not support this ?
    If it does, can anyone direct me on how to enable these ?
    Thanks

    After doing some research, it looks like the XML needs to be modified...
    Can anyone confirm that the code is still relevant in 7.31?
    <Action
    reference="com.sap.pct.srm.core.action.approve"/>
    <Action
    reference="com.sap.pct.srm.core.action.reject"/>

  • Validate and reject checkin for big files???

    Is there a way to validate and reject checkin for big files?
    From client side, sound like, a custom checkin policy won't work. If user overwrite the policy at checkin, then it still open up another "backdoor" for them to checkin.
    From server side, I try TFS plugin but that doesn't work. The CheckinNotification event won't notify after the fact until the checkin already committed and it's already late.
    Any other suggestion?
    Thx.

    Hi Garynguyen, 
    Thanks for your post.
    I think you need create the check-in policy and create server plugin to enforce the check-in policy, please refer to the solution in this article:
    https://binary-stuff.com/post/how-to-enforce-check-in-policies.
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Measure time of an measurement and if measurement time is less than 90 second wait until 90 second and then proceed to next steps or stop.

    Hi
    I am trying to make a program
          During execute a measurement count the time.
          If  measurement time is more than 90 second proceed to the next steps (or stop the measurement)
          If measurement time is less than 90 second, wait until 90 second and then proceed to next steps or stop
    I appreciate deeply if some help me.

    What sort of measurement are you talking about? What affects the time of your measurement? The very basic description you have is of a state machine and there are numerous examples of that
    1. Actually I would like measure the time of "Alignment" function done by wafer test equipment name Prober ( the model is "UF3000" made by TOKYO SEIMITSU CO., LTD.
    2.. Right now  the "Alignment" function is started when a  GPIB command is written as "N" and wait for resposne 70 in polling.
    Please refer to the attachment for Alignement function if it help you.
    In the attahement
    For Alignment error delay we are using =600
    Alignment counter =30000
    align loop cnt = 30000
    This is a program wriiten by another person and he is not availabe any more. What I am trying to do is
    1.  During execute a "Alignment " function count the time.
    2. If  "Alignment " function time is more than 90 second proceed to the next steps
    3.  If "Alignment " function is less than 90 second, wait until 90 second and then proceed to next steps
    Attachments:
    Alignment function.xlsx ‏153 KB

Maybe you are looking for

  • Battery BL5C charges and discharges very quickly

    Hi, I am using Nokia 1650, Battery BL5C. This battery fully charges in less than 1 hour(the messgae saying battery fully charged pops-up). And this, so-called fully charged battery discharges very quickly, in a days time and mobile gets switched off.

  • Mavericks (10.9.1) crashes & freezing

    Hi, 1 time for week my iMac (27 i5 2,9GHz, 8GB RAM, nVidia GeForce GTX 660M e Fusion Drive) FREEZE and i must RESTART !!! Here the log of today, from few minutes before the CRASH to the REBOOT: 30/01/14 12:14:55,094 icbaccountsd[3229]: -[ICBLocalDict

  • Imovie constantly crashing since upgrade

    I just upgraded to mountain lion and imovie '11 - now imovie is CONSTANTLY crashing. Like every 10 minutes - can anyone help?

  • BAPI_BUPA_SEARCH && mc_name1

    We use the function BAPI_BUPA_SEARCH to search for BP's.  This function has as input parameter: CENTRALDATA with the following fields: PARTNER - BU_PARTNER - CHAR     10 MC_NAME1 - BU_MCNAME1 - CHAR 35      - Search Help Field 1 (Name 1/Last Name) MC

  • Error in SAP_J2EE_ADMIN Role

    Hi All, I have installed EP 7.0 ( ABAP + JAVA ) stack on WIn 2003. When i login with J2EE_ADMIN to Portal it gives me error as No portal roles are assigned for this user.If this problem persists, contact your system administrator. If i checked in ABA