BPM work flow implementation

Hi Experts,
I am new to BPM work flow.
I have to implement BPM work flow for Web Dynpro ABAP application. Here my requirement is while user schedule as a background job, the request goes to supervisor for approval then if supervisor was approved then it goes to schedule otherwise donu2019t schedule the job.
Please advice how to approach and if possible please give an example.
Advance Thanks,
BBC

Hey Susin,
Solution Manager is very like any other SAP systems.....So workflows can be implemented in solman systems........Try Tcodes : SWBP, SWDD, PFAC, PFTC....all these basically related to workflows which are there in solman as well.........................
Inspire ppl by rewarding !
Regards,
Anand......

Similar Messages

  • Work flow Implementation

    Hi Experts,
    I have customized Workflow using SWU3 and checked it in SBWP tcode and i received the below message
    Verification workflow completed correctly.
    The system has been configured correctly.
    Can any one help me to implement this work flow for PR Release strategy.
    regards,
    Sam

    Hi Sam,
    Your post doesn't talk about your requriement.
    If you are looking for PR release strategy, i would recomment you to go through the std workflows.
    For Overall release : WS20000077
    and lineitem release : WS00000038.
    Open this workflow in SWDD tcode and analyze them and see if they suit your requirement.
    If not, copy the std workflow & customize as per your requirement.
    Regards,
    Raj

  • BPM Work flow User escalation

    PROBLEM SUMMARY-_
    How to achieve User escalation when we have User task with one Stage, 2 Sequential Participant blocks with one user in each block.
    DETAILED DESCRIPTION-_
    In my user task I have a stage with 2 participant block configured sequentially. Each participant block is configured with a user-Jcooper for user in participant block 1 and Jstein for user in participant block 2.
    I have set Task level expiration policy with deadlines =Never Expire
    At participant/user level I have allocated duration=1 minute for User jcooper & nothing for user Jstein.
    Basically I want Jcooper to wait for 1 minute, after that it should automatically go to next user in approval hierarchy-Jstein here without expiring the task. Second user-Jstein may not be 1st user's boss. But this is not happening, after a wait of 1 minute the task itself expires
    Other options that I had tried-
    Escalate after:This would escalate the task to the user’s boss, but I don’t want to escalate it to the boss, I just want to skip the current user
    Specify skip rule:Does not provide option wherein user can wait for a stipulated time & than skip. Atleast I was unable to find such option.
    Any resolutions please?
    Edited by: user12183391 on Oct 3, 2011 10:11 PM
    Edited by: user12183391 on Oct 3, 2011 10:12 PM

    Thanks RK for your quick reply.
    I was gone through the details you have provided. every thing is fine as expected.
    Later i have checked workflow mailer, it was down, due to that notifications are not reached to users/customers.once it is up and running mail notifications sent to respective users successfully.
    Many Thanks.

  • Work flow issue in Guided Procedures

    Hi,
    I have one issue in work flow implemented in Guide procedures with Webdynpro java.
    I have webdynpro application which developed and deployed in NW 7.0 SP3 version. The particular application request has suppose to be get approved by 5 users but after approving the 2 users, with out getting approved by other 3 remaining users it got approved the request completely. i need to trouble shoot this work flow issue. Can any body tell me how to troubleshoot this issue. why work flow not triggered for the last three users.
    Please let me know what are the steps for trouble shooting or monitoring the GP issues.
    Thanks
    vijay

    Hi Vijay,
    There are a few roles for  GP Administration. Once you assign these roles to your users, you can test , edit and trouble shoot Guided Porcedures, from Guided Porcedure Runtime Tab.
    First ask the portal admin to assign these roles to you and then you can check what is wrong with the corresponding GP.
    Hope it helps,
    Sattam.

  • Work Flow configration

    Hi,
    I want to learn Work Flow,
    Can you provide some material or links that help me in starting work flow implementation.
    THANKS

    Hello Wasim,
    The following pointers should get you started :
    1. The SAP Online Documentation (http://help.sap.com). For example : http://help.sap.com/saphelp_47x200/helpdata/en/1d/ea9da87aca11d194b70000e82dec10/frameset.htm
    2. There's a book by SAP Press on Workflow, which I believe is quite good. Here's the link - http://www.sap-press.com/product.cfm?account=&product=H950
    Regards,
    Anand Mandalika.

  • Wat is work flow and how is it different from bpm

    wat is work flow and how is it different from bpm

    Hi, please put a bit more effort in your quest for knowledge. This link:
    <a href="https://wiki.sdn.sap.com/wiki/display/HOME/BusinessProcessManagement">https://wiki.sdn.sap.com/wiki/display/HOME/BusinessProcessManagement</a>
    is accessible from this forum and has everything you need to know. I suggest you first read everything there is to find there.
    Kind regards, Rob Dielemans
    Message was edited by:
            Rob Dielemans
    Rob Dielemans

  • CUP MSMP Work flow in GRC 10.0

    Hi GRC Experts,
    I am working on a MSMP Work flow requirement in GRC 10.0 and would appreciate any guidance/inputs on this.
    As per my requirement we would have to design a CUP Work flow in GRC 10.0 to decommission a user in 24-hours if the user has not activated his/her new user account. After a user account is provisioned, system should wait for 24 hours to have user login/activate the account, otherwise decommission/disable the account. I have never heard of this functionality in GRC 5.3, so was not sure if this is something that can be designed and configured in 10.0. Would really appreciate if you can please guide us with requirement and advise if this can be implemented in GRC 10.0.
    I know outside GRC , this requirement can be designed using a background job, which can monitor the provisioning and activation for a user account , however i am wondering if this can be designed and implemented with MSMP Work flow in GRC 10.0
    Thanks every one for your valuable and precious time.
    Cheers .. Vikas

    Hi Vikas,
    You doesn't require customized ABAP programs to achive this and neither GRC 10 and can be achived with the below login parameters:
    login/password_max_idle_initial
    login/password_max_new_valid
    login/password_max_reset_valid
    The login/password_max_idle_initial will make the initial password invalid if the user is not logged in, which means you are making the system secure if the user doesn't login to the system in specific number of days.
    However, this will not decomission the user IDs. You may need to look at custom options to identify the users from USR02 table and lock them using standard BAPIs.
    I am not sure on why Multi Stage/Multi Path is required for this??
    Regards,
    Raghu

  • MSMP Work flow in GRC AC 10.0

    Hi All,
    Can someone please help me with Basic Work flow documentation for AC 10. I am  part of a implementation team and we are working on implementation of MSMP work flow in AC 10 , however i didnt have any prior experience with work flow configuration . This is my my first assignment where i am working on work flow customization and are looking for some docs which can help me to understand the basics of MSMP work flow in AC 10.
    I was able to find docs on market place however they are more into configuration and customization of work flow , So can someone please assist me here to find some basic doc's for MSMP work flow which would help me to better my understanding of MSMP work flow concept .
    Thanks everyone for you help.
    Cheers .. Vikas

    Hi Vikas,
    Please check our BPX page here:
    SAP Access Control 10.0 [original link is broken]
    There are documents covering the installation process and also specific MSMP workshop setup.
    Regards,
    Luis

  • Approval work flow in 11g

    Hi All,
    I am a new bie to OIM 11g. I have created aapproval work flow and it is working fine.
    Now the requirement is to check for a certain flag and based on the falg value we need to route the request to approvers.
    If the flag value is "true" we need to route to the first level Approval. If it is "false" we need to skip the approval and the request should be rejected.The provisioning process also should be terminated.
    As far as I have tested if we skip all the approval tasks the status of the request will be updated to "Approve" by default. But according to our requirement we need to set the status to "Reject".
    Please suggest any way of implementing it or if any body has already implemented it.
    Thanks in advance.
    Thanks,
    PT

    If you are using OIM 11gR2 please refer the below document. All steps are very clear with the screenshots.
    http://docs.oracle.com/cd/E27559_01/dev.1112/e27150/request.htm#autoId27
    See section 21.3.5.7 Configuring the Human Task and BPEL Mappings
    Also see this OBE tutorial for getting idea on Java embedding activity and assigning and retrieving data from global variables in SOA
    http://www.oracle.com/webfolder/technetwork/tutorials/obe/fmw/oim/oim_11g/Request_Workflow_for_Self_Registration/request_workflow_for_self_registration.htm

  • Regarding work flow in the organisation

    Hello,
          I am new to SAP XI. I want to join as a SAP XI developer. So I want to know about the work flow in the organisation. Means who will raise issues and who will take care of it first. and how it will reach to SAP XI developer.
        What are the human roles in the SAP XI Work flow in the organization and what are their responsibilities. Who will responsible to  write the Java mapping coding or ABAP mapping coding or XSLT mapping coding.
    Thank you
    Edited by: jyotsna dm on Apr 12, 2008 6:54 AM

    Hi,
    In XI: It is separated in two parts
    1) XI basis (Administration)
    Activites are:
    1) XI installation
    2) Configuration activitie
    3) Post installation checks
    4) SLD configuration
    5) Create Users,
    6) Role assignments.
    And many more
    2) XI Implementation and development.
    Under the development you have two parts Integration repository which is desing part which involves small amount of Java knowledge whenever your requirement is not fulfilled by standard SAP XI function.
    and integration Configuration:
    This is very simple stpes once your design is over.Based on your requirement you have to use the standard adapter provided by SAP for example if file is coming then u will go for File adapter,if IDOC is psoted to R3 then you go for IDOC adapter,communication with remote client u go for SOAP adapter.
    XI Project lifecycle:
    1) Blue printing phase (Design phase).
    2) Build phase (Development)
    3) Integration testing
    4) Project go live
    5) Support.
    Now coming to ur question.
    XI Developers role and responsibilities are:
    •     Analysis of the Functional Specifications which is received from Function people.
    •      Understanding the processes related to the third party non SAP and SAP systems.
    •     Raise issue log for the business requirement which is not understood from functional spec.
    •     Prepare Technical Specification Document,
    •     Do the development: now developer has to do the coding which either involved java,XSLT,abap mapping.
    •     Prepare the UTC
    •     Reviewing Interface Technical Specifications and Unit Test Document, Interface build and Unit Test, Self and peer review of the deliverables, develop Interface Object via Design and Configuration.
    •     Project golive and give support and do bug fixing,change request n all.
    hopw u got the prefect workflow.
    chirag

  • Data/Work Flow in SAP

    Hi All,
    Plz. explain the Data/Work Flow in SAP
    Is there any difference between this if so explain,
    and kindly tell me the process.
    thank you,
    Narender

    Hii..
    Work Flow- SAP Business Workflow
    Purpose
    SAP Business Workflow can be used to define business processes that are not yet mapped in the R/3 System. These may be simple release or approval procedures, or more complex business processes such as creating a material master and the associated coordination of the departments involved. SAP Business Workflow is particularly suitable for situations in which work processes have to be run through repeatedly, or situations in which the business process requires the involvement of a large number of agents in a specific sequence.
    You can also use SAP Business Workflow to respond to errors and exceptions in other, existing business processes. You can start a workflow when predefined events occur, for example an event can be triggered if particular errors are found during an automatic check.
    SAP provides several workflows that map predefined business processes. These workflows do not require much implementation. For an overview of these SAP workflows, refer to Workflow Scenarios in Applications.
    Integration
    SAP Business Workflow uses the existing transactions and functions of the R/3 System and does not change the functions. You can combine the existing functions of the R/3 System to form new business processes with SAP Business Workflow. The workflow system takes over control of the business processes. If you are already using SAP Organizational Management, you can use the organizational structure created there to have the relevant agents carry out the individual activities. It is possible to have an activity carried out by a position. This ensures that the respective occupiers of the position can carry out the individual activities during execution of the workflow. This means that personnel changes in your organization are taken into account immediately in the execution of a workflow.
    Features
    SAP Business Workflow provides a number of tools for defining and analyzing workflows as well as for monitoring operation.
    The Workflow Builder is for displaying and making changes to workflows. You can make small extensions directly to the original workflows supplied by SAP, such as carrying out your own agent assignments or changing deadline monitoring.
    There are several Workflow Wizards to support you in the definition of workflows, with which you can create specific parts of a workflow. The Workflow Wizard Explorer gives you an overview of the existing Workflow Wizards.
    In order to make the functions of the R/3 Systems available to a workflow, you use business objects, which you can define and analyze in the Business Object Builder. These business objects are made available to the workflow in reusable tasks. The Business Wizard Explorer gives you an overview of all existing tasks.
    The end user receives information about the activities they are to carry out in their Business Workplace. This provides them with a central overview of all the activities that they are authorized to carry out. They can commence the activities from here.
    Several tools are available to the workflow system administrator, with which they can control and analyze the current workflows. The workflow system administrator is notified of problems automatically by the system.
    DATAFLOW-Data flow means flow of data from one module to another within a sap system.
    Regards,
    Aakash

  • How can we use TABLE CONTROL in BDC and WORK FLOW of ABAP.

    how can we use TABLE CONTROL in BDC and WORK FLOW of ABAP.?
    please explain the important questions.

    How to deal with table control / step loop in BDC
    Steploop and table contol is inevitable in certain transactions. When we run BDC for such transactions, we will face the situation: how many visible lines of steploop/tablecontrol are on the screen? Although we can always find certain method to deal with it, such as function code 'NP', 'POPO', considering some extreme situation: there is only one line visible one the screen, our BDC program should display an error message. (See transaction 'ME21', we you resize your screen to let only one row visible, you can not enter mutiple lines on this screen even you use 'NP')
    Now with the help of Poonam on sapfans.com developement forum, I find a method with which we can determine the number of visible lines on Transaction Screen from our Calling BDC program. Maybe it is useless to you, but I think it will give your some idea.
    Demo ABAP code has two purposes:
    1. how to determine number of visible lines and how to calculte page number;
    (the 'calpage' routine has been modify to meet general purpose usage)
    2. using field symbol in BDC program, please pay special attention to the difference in Static ASSIGN and Dynamic ASSIGN.
    Now I begin to describe the step to implement my method:
    (I use transaction 'ME21', screen 121 for sample,
    the method using is Call Transation Using..)
    Step1: go to screen painter to display the screen 121, then we can count the fixed line on this screen, there is 7 lines above the steploop and 2 lines below the steploop, so there are total 9 fixed lines on this screen. This means except these 9 lines, all the other line is for step loop. Then have a look at steploop itselp, one entry of it will occupy two lines.
    (Be careful, for table control, the head and the bottom scroll bar will possess another two fixed lines, and there is a maximum number for table line)
    Now we have : FixedLine = 9
                  LoopLine  = 2(for table control, LoopLine is always equal to 1)
    Step2: go to transaction itself(ME21) to see how it roll page, in ME21, the first line of new page is always occupied by the last line of last page, so it begin with index '02', but in some other case, fisrt line is empty and ready for input.
    Now we have: FirstLine = 0
              or FirstLine = 1 ( in our case, FirstLine is 1 because the first line of new page is fulfilled)
    Step3: write a subroutine calcalculating number of pages
    (here, the name of actual parameter is the same as formal parameter)
    global data:    FixedLine type i, " number of fixed line on a certain screen
                    LoopLine  type i, " the number of lines occupied by one steploop item
                    FirstLine type i, " possbile value 0 or 1, 0 stand for the first line of new                                                               " scrolling screen is empty, otherwise is 1
                    Dataline  type i, " number of items you will use in BDC, using DESCRIBE to get
                    pageno    type i, " you need to scroll screen how many times.
                    line      type i, " number of lines appears on the screen.
                    index(2)  type N, " the screen index for certain item
                    begin     type i, " from parameter of loop
                    end       type i. " to parameter of loop
    *in code sample, the DataTable-linindex stands for the table index number of this line
    form calpage using FixedLine type i (see step 1)
                       LoopLine  type i (see step 1)
                       FirstLine type i (see step 2)
                       DataLine  type i ( this is the item number you will enter in transaction)
              changing pageno    type i (return the number of page, depends on run-time visible                                                                             line in table control/ Step Loop)
              changing line      type i.(visible lines one the screen)
    data: midd type i,
          vline type i, "visible lines
    if DataLine eq 0.
       Message eXXX.
    endif.
    vline = ( sy-srows - FixedLine ) div LoopLine.
    *for table control, you should compare vline with maximum line of
    *table control, then take the small one that is min(vline, maximum)
    *here only illustrate step loop
    if FirstLine eq 0.
            pageno = DataLine div vline.
            if pageno eq 0.
               pageno = pageno + 1.
            endif.
    elseif FirstLine eq 1.
            pageno = ( DataLine - 1 ) div ( vline - 1 ) + 1.
            midd = ( DataLine - 1 ) mod ( vline - 1).
            if midd = 0 and DataLine gt 1.
                    pageno = pageno - 1.
            endif.
    endif.
    line = vline.
    endform.
    Step4 write a subroutine to calculate the line index for each item.
    form calindex using Line type i (visible lines on the screen)
                        FirstLine type i(see step 2)
                        LineIndex type i(item index)
              changing  Index type n.    (index on the screen)
      if  FirstLine = 0.
            index = LineIndex mod Line.
            if index = '00'.
                    index = Line.
            endif.
      elseif FirstLine = 1.
            index = LineIndex mod ( Line - 1 ).
            if ( index between 1 and 0 ) and LineIndex gt 1.
                    index = index + Line - 1.
            endif.
            if Line = 2.
                    index = index + Line - 1.
            endif.
    endif.
    endform.
    Step5 write a subroutine to calculate the loop range.
    form calrange using Line type i ( visible lines on the screen)
                        DataLine type i
                        FirstLine type i
                        loopindex like sy-index
            changing    begin type i
                        end type i.
    If FirstLine = 0.
       if loopindex = 1.
            begin = 1.
            if DataLine <= Line.
                    end = DataLine.
            else.
                    end = Line.
            endif.
       elseif loopindex gt 1.
            begin = Line * ( loopindex - 1 ) + 1.
            end   = Line * loopindex.
            if end gt DataLine.
               end = DataLine.
            endif.
       endif.
    elseif FirstLine = 1.
      if loopindex = 1.
            begin = 1.
            if DataLine <= Line.
                    end = DataLine.
            else.
                    end = Line.
            endif.
      elseif loop index gt 1.
            begin = ( Line - 1 ) * ( loopindex - 1 ) + 2.
            end =   ( Line - 1 ) * ( loopindex - 1 ) + Line.
            if end gt DataLine.
                    end = DataLine.
            endif.
      endif.
    endif.
    endform.
    Step6 using field sysbol in your BDC, for example: in ME21, but you should calculate each item will correponding to which index in steploop/Table Control
    form creat_bdc.
    field-symbols: <material>, <quan>, <indicator>.
    data: name1(14) value 'EKPO-EMATN(XX)',
          name2(14) value 'EKPO-MENGE(XX)',
          name3(15) value 'RM06E-SELKZ(XX)'.
    assign:         name1 to <material>,
                    name2 to <quan>,
                    name3 to <indicator>.
    do pageno times.
    if sy-index gt 1
    *insert scroll page ok_code"
    endif.
            perform calrange using Line DataLine FirstLine sy-index
                             changing begin end.
    loop at DataTable from begin to end.
            perform calindex using Line FirstLine DataTable-LineIndex changing Index.
            name1+11(2) = Index.
            name2+11(2) = Index.
            name3+12(2) = Index.
            perform bdcfield using <material> DataTable-matnr.
            perform bdcfield using <quan>     DataTable-menge.
            perform bdcfield using <indicator> DataTable-indicator.
    endloop.
    enddo.
    An example abap program of handling Table Control during bdc programming.
    REPORT zmm_bdcp_purchaseorderkb02
           NO STANDARD PAGE HEADING LINE-SIZE 255.
                    Declaring internal tables                            *
    *-----Declaring line structure
    DATA : BEGIN OF it_dummy OCCURS 0,
             dummy(255) TYPE c,
           END OF it_dummy.
    *-----Internal table for line items
    DATA :  BEGIN OF it_idata OCCURS 0,
              ematn(18),      "Material Number.
              menge(13),      "Qyantity.
              netpr(11),      "Net Price.
              werks(4),       "Plant.
              ebelp(5),       "Item Number.
            END OF it_idata.
    *-----Deep structure for header data and line items
    DATA  :  BEGIN OF it_me21 OCCURS 0,
               lifnr(10),      "Vendor A/c No.
               bsart(4),       "A/c Type.
               bedat(8),       "Date of creation of PO.
               ekorg(4),       "Purchasing Organisation.
               ekgrp(3),       "Purchasing Group.
               x_data LIKE TABLE OF it_idata,
             END OF it_me21.
    DATA  :  x_idata LIKE LINE OF it_idata.
    DATA  :  v_delimit VALUE ','.
    DATA  :  v_indx(3) TYPE n.
    DATA  :  v_fnam(30) TYPE c.
    DATA  :  v_count TYPE n.
    DATA  :  v_ne TYPE i.
    DATA  :  v_ns TYPE i.
    *include bdcrecx1.
    INCLUDE zmm_incl_purchaseorderkb01.
                    Search help for file                                 *
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      CALL FUNCTION 'F4_FILENAME'
        EXPORTING
          program_name  = syst-cprog
          dynpro_number = syst-dynnr
        IMPORTING
          file_name     = p_file.
    START-OF-SELECTION.
           To upload the data into line structure                        *
      CALL FUNCTION 'WS_UPLOAD'
        EXPORTING
          filename = p_file
          filetype = 'DAT'
        TABLES
          data_tab = it_dummy.
        Processing the data from line structure to internal tables       *
      REFRESH:it_me21.
      CLEAR  :it_me21.
      LOOP AT it_dummy.
        IF it_dummy-dummy+0(01) = 'H'.
          v_indx = v_indx + 1.
          CLEAR   it_idata.
          REFRESH it_idata.
          CLEAR   it_me21-x_data.
          REFRESH it_me21-x_data.
          SHIFT it_dummy.
          SPLIT it_dummy AT v_delimit INTO it_me21-lifnr
                                           it_me21-bsart
                                           it_me21-bedat
                                           it_me21-ekorg
                                           it_me21-ekgrp.
          APPEND it_me21.
        ELSEIF it_dummy-dummy+0(01) = 'L'.
          SHIFT it_dummy.
          SPLIT it_dummy AT v_delimit INTO it_idata-ematn
                                           it_idata-menge
                                           it_idata-netpr
                                           it_idata-werks
                                           it_idata-ebelp.
          APPEND it_idata TO it_me21-x_data.
          MODIFY it_me21 INDEX v_indx.
        ENDIF.
      ENDLOOP.
                    To open the group                                    *
      PERFORM open_group.
            To populate the bdcdata table for header data                *
      LOOP AT it_me21.
        v_count = v_count + 1.
        REFRESH it_bdcdata.
        PERFORM subr_bdc_table USING:   'X' 'SAPMM06E'    '0100',
                                        ' ' 'BDC_CURSOR'  'EKKO-LIFNR',
                                        ' ' 'BDC_OKCODE'  '/00',
                                        ' ' 'EKKO-LIFNR'  it_me21-lifnr,
                                        ' ' 'RM06E-BSART' it_me21-bsart,
                                        ' ' 'RM06E-BEDAT' it_me21-bedat,
                                        ' ' 'EKKO-EKORG'  it_me21-ekorg,
                                        ' ' 'EKKO-EKGRP'  it_me21-ekgrp,
                                        ' ' 'RM06E-LPEIN' 'T'.
        PERFORM subr_bdc_table USING:   'X' 'SAPMM06E'    '0120',
                                        ' ' 'BDC_CURSOR'  'RM06E-EBELP',
                                        ' ' 'BDC_OKCODE'  '/00'.
        MOVE 1 TO v_indx.
    *-----To populate the bdcdata table for line item data
        LOOP AT it_me21-x_data INTO x_idata.
          CONCATENATE 'EKPO-EMATN(' v_indx ')'  INTO v_fnam.
          PERFORM  subr_bdc_table USING ' ' v_fnam x_idata-ematn.
          CONCATENATE 'EKPO-MENGE(' v_indx ')'  INTO v_fnam.
          PERFORM  subr_bdc_table USING ' ' v_fnam x_idata-menge.
          CONCATENATE 'EKPO-NETPR(' v_indx ')'  INTO v_fnam.
          PERFORM  subr_bdc_table USING ' ' v_fnam x_idata-netpr.
          CONCATENATE 'EKPO-WERKS(' v_indx ')'  INTO v_fnam.
          PERFORM  subr_bdc_table USING ' ' v_fnam x_idata-werks.
          v_indx = v_indx + 1.
          PERFORM subr_bdc_table USING:  'X' 'SAPMM06E'    '0120',
                                         ' ' 'BDC_CURSOR'  'RM06E-EBELP',
                                         ' ' 'BDC_OKCODE'  '/00'.
        ENDLOOP.
        PERFORM subr_bdc_table USING:    'X' 'SAPMM06E'    '0120',
                                         ' ' 'BDC_CURSOR'  'RM06E-EBELP',
                                         ' ' 'BDC_OKCODE'  '=BU'.
        PERFORM bdc_transaction USING 'ME21'.
      ENDLOOP.
      PERFORM close_group.
                      End of selection event                             *
    END-OF-SELECTION.
      IF session NE 'X'.
    *-----To display the successful records
        WRITE :/10  text-001.          "Sucess records
        WRITE :/10  SY-ULINE(20).
        SKIP.
        IF it_sucess IS INITIAL.
          WRITE :/  text-002.
        ELSE.
          WRITE :/   text-008,          "Total number of Succesful records
                  35 v_ns.
          SKIP.
          WRITE:/   text-003,          "Vendor Number
                 17 text-004,          "Record number
                 30 text-005.          "Message
        ENDIF.
        LOOP AT it_sucess.
          WRITE:/4  it_sucess-lifnr,
                 17 it_sucess-tabix CENTERED,
                 30 it_sucess-sucess_rec.
        ENDLOOP.
        SKIP.
    *-----To display the erroneous records
        WRITE:/10   text-006.          "Error Records
        WRITE:/10   SY-ULINE(17).
        SKIP.
        IF it_error IS INITIAL.
          WRITE:/   text-007.          "No error records
        ELSE.
          WRITE:/   text-009,          "Total number of erroneous records
                 35 v_ne.
          SKIP.
          WRITE:/   text-003,          "Vendor Number
                 17 text-004,          "Record number
                 30 text-005.          "Message
        ENDIF.
        LOOP AT it_error.
          WRITE:/4  it_error-lifnr,
                 17 it_error-tabix CENTERED,
                 30 it_error-error_rec.
        ENDLOOP.
        REFRESH it_sucess.
        REFRESH it_error.
      ENDIF.
    CODE IN INCLUDE.
    Include           ZMM_INCL_PURCHASEORDERKB01
    DATA:   it_BDCDATA LIKE BDCDATA    OCCURS 0 WITH HEADER LINE.
    DATA:   it_MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
    DATA:   E_GROUP_OPENED.
    *-----Internal table to store sucess records
    DATA:BEGIN OF it_sucess OCCURS 0,
           msgtyp(1)   TYPE c,
           lifnr  LIKE  ekko-lifnr,
           tabix  LIKE  sy-tabix,
           sucess_rec(125),
         END OF it_sucess.
    DATA: g_mess(125) type c.
    *-----Internal table to store error records
    DATA:BEGIN OF it_error OCCURS 0,
           msgtyp(1)   TYPE c,
           lifnr  LIKE  ekko-lifnr,
           tabix  LIKE  sy-tabix,
           error_rec(125),
         END OF it_error.
           Selection screen
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS session RADIOBUTTON GROUP ctu.  "create session
    SELECTION-SCREEN COMMENT 3(20) text-s07 FOR FIELD session.
    SELECTION-SCREEN POSITION 45.
    PARAMETERS ctu RADIOBUTTON GROUP ctu.     "call transaction
    SELECTION-SCREEN COMMENT 48(20) text-s08 FOR FIELD ctu.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 3(20) text-s01 FOR FIELD group.
    SELECTION-SCREEN POSITION 25.
    PARAMETERS group(12).                      "group name of session
    SELECTION-SCREEN COMMENT 48(20) text-s05 FOR FIELD ctumode.
    SELECTION-SCREEN POSITION 70.
    PARAMETERS ctumode LIKE ctu_params-dismode DEFAULT 'N'.
    "A: show all dynpros
    "E: show dynpro on error only
    "N: do not display dynpro
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 48(20) text-s06 FOR FIELD cupdate.
    SELECTION-SCREEN POSITION 70.
    PARAMETERS cupdate LIKE ctu_params-updmode DEFAULT 'L'.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 3(20) text-s03 FOR FIELD keep.
    SELECTION-SCREEN POSITION 25.
    PARAMETERS: keep AS CHECKBOX.       "' ' = delete session if finished
    "'X' = keep   session if finished
    SELECTION-SCREEN COMMENT 48(20) text-s09 FOR FIELD e_group.
    SELECTION-SCREEN POSITION 70.
    PARAMETERS e_group(12).             "group name of error-session
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 51(17) text-s03 FOR FIELD e_keep.
    SELECTION-SCREEN POSITION 70.
    PARAMETERS: e_keep AS CHECKBOX.     "' ' = delete session if finished
    "'X' = keep   session if finished
    SELECTION-SCREEN END OF LINE.
    PARAMETERS:p_file LIKE rlgrap-filename.
      at selection screen                                                *
    AT SELECTION-SCREEN.
    group and user must be filled for create session
      IF SESSION = 'X' AND
         GROUP = SPACE. "OR USER = SPACE.
        MESSAGE E613(MS).
      ENDIF.
      create batchinput session                                          *
    FORM OPEN_GROUP.
      IF SESSION = 'X'.
        SKIP.
        WRITE: /(20) 'Create group'(I01), GROUP.
        SKIP.
    *----open batchinput group
        CALL FUNCTION 'BDC_OPEN_GROUP'
          EXPORTING
            CLIENT = SY-MANDT
            GROUP  = GROUP
            USER   = sy-uname.
        WRITE:/(30) 'BDC_OPEN_GROUP'(I02),
                (12) 'returncode:'(I05),
                     SY-SUBRC.
      ENDIF.
    ENDFORM.                    "OPEN_GROUP
      end batchinput session                                             *
    FORM CLOSE_GROUP.
      IF SESSION = 'X'.
    *------close batchinput group
        CALL FUNCTION 'BDC_CLOSE_GROUP'.
        WRITE: /(30) 'BDC_CLOSE_GROUP'(I04),
                (12) 'returncode:'(I05),
                     SY-SUBRC.
      ELSE.
        IF E_GROUP_OPENED = 'X'.
          CALL FUNCTION 'BDC_CLOSE_GROUP'.
          WRITE: /.
          WRITE: /(30) 'Fehlermappe wurde erzeugt'(I06).
        ENDIF.
      ENDIF.
    ENDFORM.                    "CLOSE_GROUP
           Start new transaction according to parameters                 *
    FORM BDC_TRANSACTION USING TCODE TYPE ANY.
      DATA: L_SUBRC LIKE SY-SUBRC.
    *------batch input session
      IF SESSION = 'X'.
        CALL FUNCTION 'BDC_INSERT'
          EXPORTING
            TCODE     = TCODE
          TABLES
            DYNPROTAB = it_BDCDATA.
        WRITE: / 'BDC_INSERT'(I03),
                 TCODE,
                 'returncode:'(I05),
                 SY-SUBRC,
                 'RECORD:',
                 SY-INDEX.
      ELSE.
        REFRESH it_MESSTAB.
        CALL TRANSACTION TCODE USING it_BDCDATA
                         MODE   CTUMODE
                         UPDATE CUPDATE
                         MESSAGES INTO it_MESSTAB.
        L_SUBRC = SY-SUBRC.
        WRITE: / 'CALL_TRANSACTION',
                 TCODE,
                 'returncode:'(I05),
                 L_SUBRC,
                 'RECORD:',
                 SY-INDEX.
      ENDIF.
      Message handling for Call Transaction                              *
      perform subr_mess_hand using g_mess.
    *-----Erzeugen fehlermappe
      IF L_SUBRC <> 0 AND E_GROUP <> SPACE.
        IF E_GROUP_OPENED = ' '.
          CALL FUNCTION 'BDC_OPEN_GROUP'
            EXPORTING
              CLIENT = SY-MANDT
              GROUP  = E_GROUP
              USER   = sy-uname
              KEEP   = E_KEEP.
          E_GROUP_OPENED = 'X'.
        ENDIF.
        CALL FUNCTION 'BDC_INSERT'
          EXPORTING
            TCODE     = TCODE
          TABLES
            DYNPROTAB = it_BDCDATA.
      ENDIF.
      REFRESH it_BDCDATA.
    ENDFORM.                    "BDC_TRANSACTION
         Form  subr_bdc_table                                            *
          text
         -->P_0220   text                                                *
         -->P_0221   text                                                *
         -->P_0222   text                                                *
    FORM subr_bdc_table  USING      VALUE(P_0220) TYPE ANY
                                    VALUE(P_0221) TYPE ANY
                                    VALUE(P_0222) TYPE ANY.
      CLEAR it_bdcdata.
      IF P_0220 = ' '.
        CLEAR it_bdcdata.
        it_bdcdata-fnam     = P_0221.
        it_bdcdata-fval     = P_0222.
        APPEND it_bdcdata.
      ELSE.
        it_bdcdata-dynbegin = P_0220.
        it_bdcdata-program  = P_0221.
        it_bdcdata-dynpro   = P_0222.
        APPEND it_bdcdata.
      ENDIF.
    ENDFORM.                    " subr_bdc_table
         Form  subr_mess_hand                                            *
          text                                                           *
         -->P_G_MESS  text                                               *
    FORM subr_mess_hand USING  P_G_MESS TYPE ANY.
      LOOP AT IT_MESSTAB.
        CALL FUNCTION 'FORMAT_MESSAGE'
          EXPORTING
            ID     = it_messtab-msgid
            LANG   = it_messtab-msgspra
            NO     = it_messtab-msgnr
            v1     = it_messtab-msgv1
            v2     = it_messtab-msgv2
          IMPORTING
            MSG    = P_G_MESS
          EXCEPTIONS
            OTHERS = 0.
        CASE it_messtab-msgtyp.
          when 'E'.
            it_error-error_rec   =  P_G_MESS.
            it_error-lifnr       =  it_me21-lifnr.
            it_error-tabix       =  v_count.
            APPEND IT_ERROR.
          when 'S'.
            it_sucess-sucess_rec =  P_G_MESS.
            it_sucess-lifnr      =  it_me21-lifnr.
            it_sucess-tabix      =  v_count.
            APPEND IT_SUCESS.
        endcase.
      ENDLOOP.
      Describe table it_sucess lines v_ns.
      Describe table it_error  lines v_ne.
    ENDFORM.                    " subr_mess_hand
    Also refer
    http://sap.ittoolbox.com/groups/technical-functional/sap-dev/bdc-table-control-668404
    and
    http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm
    Regards,
    srinivas
    <b>*reward for useful answers*</b>

  • Work flow in CRM 2007

    Hi,
    I want to implement some work flow related activities in CRM 2007. Can I implement this using Guided Procedures in CAF or workflow ? Which is the better way? pls suggest..
    Regards,
    Ajay

    Ajay,
    Your question is a little vague as you don't have a business scenario for your workflow related requirements.
    I will say that if the workflow process does not involve switching out of CRM and only involves steps in CRM, then traditional workflow will work fine.  If you need to do something where the steps involve multiple systems then guided procedures would be a better solution.
    Perhaps if you share more of your scenario you will get some better ideas on how to go about it.
    Take care,
    Stephen

  • Std Work flow for Invoice Parking & posting

    I am working om std SAP workflow for invoice document parking :
    I have done the following activities :
    1. Activate Work flow Template for Document Completion
    Here i activated the event "Complete the Parked Log. IV Document"--> Incoming Invoice Document Parked. It is showing a green traffic light .
    In agent assignment
    Complete the Parked Log. IV Document>Complete the Parked Log. IV Document>Complete the Parked Invoice--> i have assigned the user MMCONFIG
    2. In Define Release Criteria i have the following settings :
    1000 H Credit 0.01 INR US MMCONFIG
    1000 S Debit 0.01 INR US MMCONFIG
    3. In Activate Workflow Template for Release for Posting
    Here i activated the event Incoming Invoice Complete: ReleaseRel & i m getting a green traffic light .
    In assign agents i did the following
    Release the Completed Log. IV Document>Release the Completed Log. IV Document>Release the Completed Log. IV Document i assigned the user MMCONFIG
    In Invoice Parking: Approve Release i assigned the user MMCONFIG .
    For Invoice Parking: Release Invoice
    Invoice Parking: Posting an Invoice " I AM NOT ABLE TO ASSIGN ANY USER AS THESE ARE BACKGROUND TASKS ".
    Now when do a MIR7 - Park invoice & save the invoice as complete i am getting a mail in the mail box of MMCONFIG saying :
    "Invoice Release 5105xxxxxxx 2009, Completed by MMCONFIG "
    I go & release the same invoice .
    Then i executed MIRO & tried posting the released invoice . The sysem doesnt allow me 2 post the invoice .
    It automatically goes to MIR4 transaction & forces me to save as complete
    if i try to post it the system says "Parked document is release-relevant and cannot be posted"
    Pls tell me how can I post the invoice & IF MY SETTINGS FOR THE WORKFLOW IS OK ???
    Regards
    Anis

    Firstly,  check with the Binding of the event and workflow, if they are fine
    then check if the workflow gets triggered when you are posting... to check this,
    First go to transaction SWU8 - turn on the workflow trace and then
    Proceed with posting the invoice
    go to transaction SWU8 again and then turn off the workflow trace
    go to SWU9 - to check which all workflows got triggered....
    If there is any workitem in your workflow, then go to SWI1 and select the workitem of that workflow and press shift+F8 to check the status of it and also check to which all agents it had sent...
    If possible just give a hardcoded value in the workitem for testing purpose and check if that goes properly, later on implement the rule.....
    If the workflow does not triggere - go to transaction SWETYPV and deactivate and activate the event linkage with that workflow....
    Regards,

  • PO released is not going to WORK FLOW

    Hi,
    We had implemented the WORFLOW for PO and SA release process. It was working fine and system sends messages to WORK FLOW Inbox. From last few days, suddenley messages are not going to workflow inbox.
    Where as PO/SA Release strategy settings are OK and each strategies are enable for worflow.
    But messgae are not going to Work flow inbox.
    I feel some settings missed out in WORKFLOW settings.
    Please help us to resolve the isue.
    BR,
    Nagaraj S

    Hi Nagaraj,
    Can you check if the event linkage is active in t-code SWETYPV.
    Check if the reciever to the BO event is the desired workflow.
    Also check the event trace SWEL for worfklow getting invoked when PO is released.
    Regards,
    Saumya

Maybe you are looking for