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
-
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,
SamHi 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 -
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 PMThanks 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
vijayHi 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. -
Hi,
I want to learn Work Flow,
Can you provide some material or links that help me in starting work flow implementation.
THANKSHello 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 .. VikasHi 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 .. VikasHi 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 -
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,
PTIf 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 AMHi,
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 -
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,
NarenderHii..
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> -
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,
AjayAjay,
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
AnisFirstly, 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 SHi 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
-
How to sync two different Edge Animation's on a website?
Hello everybody, I've made 2 animations on a Website and I want to synchronise these. The 2 animations have to start simultaneously. But the animation which loaded its content starts first and then the other. The difference now is noticable and will
-
Convert Char to Date format - Evaluate
Hi, Could anyone provide us the Evaluate formula to convert Char to Date format 2009-06-20 should be converted to 06/20/2009 Regards, Vinay
-
Filtering My Open Task in SAP CRM based on Status, Transaction & Partner Function
Hello Whenever i create a Task in SAP CRM, it displays that transaction in the My Open Task of all Business Partners involved in that Transaction. I want to restrict the My Open Tasks based on Transaction Type, Status and Partner Function. 1) The sys
-
Property Editor failed! for workset creation
Hi All, I am getting "Property Editor failed!" when i create a new workset in EP.i am not seeing any properties window for the workset at all.any help greatly appreciated. Thanks Aravind
-
Query for follwing count function
Table T1: COL 1 COL 2 1 2 3 10 89 4 5 - - 6 Quest: Select COL1,count(COL1) from Table t1 group by cOL1;Ans??? Pl Edited by: 799660 on Oct 3, 2010 5:36 AM