MDM workflow - dynamic approver determination
Hallo,
in MDM workflow, i see that in the visio workflow definition of the approval step, it is possible to set approvers. This sound to me like a static approval definition.
Let say that according to some field value I want to determine different approvers, meaning if Product category is 1 approver is X, if Product category is 2 approver is Y, etc..
Is this possible to achieve?
How?
thank you in advance,
Regards,
Marco
Marco,
I am assuming you have 3 approvers X, Y and Z. Create 3 validations for all 3 cases:
Validation A: Category =1 => goes to approver X
Validation B: Category =2 => goes to approver Y
Validation C: Category =3 => goes to approver Z
Start -> Branch (Add validation A) -> Form 2 processes (1 which is TRUE goes to Approver X and for false it is either Y or Z)
-> (TRUE) -> Approver (Assign X)
-> (FALSE) -> Branch (Add Validation B) -> Form 2 processes (1 which is TRUE goes to Approver Y and for false it is Z)
-> (TRUE) -> Approver (Assign Y)
-> (FALSE) -> Approver (Assign Z if this the default approver else add one more iteration)
I hope this should work.
Similar Messages
-
SC Workflow: Runtime Actual Approval determination
Hi all,
I want to know who approved the Shopping Cart (SC) in runtime within the BADI so that comparing his Approval Limit with the cost of SC I can decide whether to skip or go for next approval levels.
Please help how to find it out. I have checked the history table but it contains a field "Type" whose possible values can only be either "changed" or "insert" and does not indicate "Approve" status for any agent....
Please help,
Thanks
SangharshHi
Try this BADI - BBP_WFL_APPROV_BADI.
<u>BBP_WFL_APPROV_BADI</u>
Determin. Approv. for n-Level. Dynamic Approval WFL
You need to make a logic in your case.
<u>Refer to the sample BADI logic.</u>
METHOD if_ex_bbp_wfl_approv_badi~get_remaing_approvers.
* Interface parameters:
* OBJECT_ID TYPE CRMT_OBJECT_ID "Import
* OBJECT_TYPE TYPE CRMT_SUBOBJECT_CATEGORY "Import
* GUID TYPE BBP_GUID_32 "Import
* ACTUAL_APPROVAL_INDEX TYPE SWH_NUMC10 "Import
* APPROVAL_HISTORY_TABLE TYPE BBP_WFL_APPROVAL_HISTORY_BADI "Import
* ITEM_APPROVAL_HISTORY_TABLE TYPE BBPT_WFL_ITEM_APPROVAL_BADI "Import
* APPROVAL_TABLE TYPE BBPT_WFL_APPROVAL_TABLE_BADI "Export
* ITEM_APPROVAL_TABLE TYPE BBPT_WFL_ITEM_APPROVAL_BADI "Export
* NO_FURTHER_APPROVAL_NEEDED TYPE BOOLEAN "Export
* ITEM_APPROVAL_OBJ TYPE BBPT_WFL_ITEM_APPROVAL_OBJ "Changing
* This is the 2nd example of the BADI implementation that includes
* dynamic spending limit approval for PO
INCLUDE <swfcntn01>. "Workflow
DATA:
ls_header TYPE bbp_pds_sc_header_d,
ls_approver TYPE bbp_wfl_approval_table_badi,
lv_approval_index TYPE swh_numc10,
lv_guid TYPE crmt_object_guid,
lo_new_instance TYPE swf_bor_object,
lt_approval_agent_obj TYPE TABLE OF swf_bor_object,
ls_wa_agent_obj TYPE swf_bor_object,
lo_user TYPE swf_bor_object,
ls_approval_agent TYPE bbp_wfl_approval_table,
lv_index TYPE syindex,
lv_usr01_name TYPE ad_namtext,
lt_approval_init_agents TYPE TABLE OF bbp_wfl_approval_table,
ls_wa_approval_init_agents TYPE bbp_wfl_approval_table,
ls_wa_approval_history TYPE bbps_wfl_history_line_badi.
* Business objects type (local constants)
CONSTANTS:
c_po TYPE crmt_subobject_category_db VALUE 'BUS2201',
c_biddingdoc TYPE crmt_subobject_category_db VALUE 'BUS2200',
c_quotation TYPE crmt_subobject_category_db VALUE 'BUS2202',
c_grse TYPE crmt_subobject_category_db VALUE 'BUS2203',
c_invoice TYPE crmt_subobject_category_db VALUE 'BUS2205',
c_shop TYPE crmt_subobject_category_db VALUE 'BUS2121',
c_contract TYPE crmt_subobject_category_db VALUE 'BUS2000113',
c_salescontract TYPE crmt_subobject_category_db VALUE 'BUS2000114',
c_avl TYPE crmt_subobject_category_db VALUE 'BUS2206',
c_invoicegrp TYPE crmt_subobject_category_db VALUE 'BUS2207',
c_vendor_obj TYPE crmt_subobject_category_db VALUE 'BUS1006200'.
*** workflow approval states
CONSTANTS:
c_wf_approved TYPE bbp_wfl_approvalstate VALUE '0',
c_wf_rejected TYPE bbp_wfl_approvalstate VALUE '1',
c_wf_not_instanced TYPE bbp_wfl_approvalstate VALUE '2',
c_wf_changed TYPE bbp_wfl_approvalstate VALUE '3',
c_wf_partialapproved TYPE bbp_wfl_approvalstate VALUE '4',
c_wf_step_in_process TYPE bbp_wfl_approvalstate VALUE '5'.
CLEAR: lt_approval_init_agents[], lt_approval_agent_obj[],
ls_wa_agent_obj, ls_approval_agent, ls_wa_approval_init_agents,
ls_wa_approval_history.
* map input data to local data
* map char32 to raw16
MOVE guid TO lv_guid.
CASE object_type.
* ====================== shopping cart =========================== *
WHEN c_shop.
*** get the details of the shopping cart
CALL FUNCTION 'BBP_PD_SC_GETDETAIL'
EXPORTING
i_guid = lv_guid
i_object_id = object_id
IMPORTING
e_header = ls_header.
IF ls_header-total_value < 490000000.
*** 2 step approval
CASE actual_approval_index.
WHEN 0.
ls_approver-approval_index = 1.
ls_approver-approval_agent = 'USMANAGER1'.
ls_approver-name = 'Arthur Manager1'.
ls_approver-approval_description = 'First approval step'.
APPEND ls_approver TO approval_table.
ls_approver-approval_index = 2.
ls_approver-approval_agent = 'USMANAGER2'.
ls_approver-name = 'Arnold Manager2'.
ls_approver-approval_description = 'Second approval step'.
APPEND ls_approver TO approval_table.
ls_approver-approval_index = 2.
ls_approver-approval_agent = 'USMANAGER4'.
ls_approver-name = 'Thomas Manager4'.
ls_approver-approval_description = 'Second approval step'.
APPEND ls_approver TO approval_table.
WHEN 1.
ls_approver-approval_index = 1.
ls_approver-approval_agent = 'USMANAGER1'.
ls_approver-name = 'Arthur Manager1'.
ls_approver-approval_description = 'First approval step'.
APPEND ls_approver TO approval_table.
ls_approver-approval_index = 2.
ls_approver-approval_agent = 'USMANAGER2'.
ls_approver-name = 'Arnold Manager2'.
ls_approver-approval_description = 'Second approval step'.
APPEND ls_approver TO approval_table.
ls_approver-approval_index = 2.
ls_approver-approval_agent = 'USMANAGER4'.
ls_approver-name = 'Thomas Manager4'.
ls_approver-approval_description = 'Second approval step'.
APPEND ls_approver TO approval_table.
WHEN 2.
ls_approver-approval_index = 2.
ls_approver-approval_agent = 'USMANAGER2'.
ls_approver-name = 'Arnold Manager2'.
ls_approver-approval_description = 'Second approval step'.
APPEND ls_approver TO approval_table.
ls_approver-approval_index = 2.
ls_approver-approval_agent = 'USMANAGER4'.
ls_approver-name = 'Thomas Manager4'.
ls_approver-approval_description = 'Second approval step'.
APPEND ls_approver TO approval_table.
WHEN OTHERS.
no_further_approval_needed = 'X'.
ENDCASE.
ELSE.
CASE actual_approval_index.
*** 3 step approval
WHEN 0.
ls_approver-approval_index = 1.
ls_approver-approval_agent = 'USMANAGER1'.
ls_approver-name = 'Arthur Manager1'.
ls_approver-approval_description = 'First approval step'.
APPEND ls_approver TO approval_table.
ls_approver-approval_index = 2.
ls_approver-approval_agent = 'USMANAGER2'.
ls_approver-name = 'Arnold Manager2'.
ls_approver-approval_description = 'Second approval step'.
APPEND ls_approver TO approval_table.
ls_approver-approval_index = 2.
ls_approver-approval_agent = 'USMANAGER4'.
ls_approver-name = 'Thomas Manager4'.
ls_approver-approval_description = 'Second approval step'.
APPEND ls_approver TO approval_table.
ls_approver-approval_index = 3.
ls_approver-approval_agent = 'USMANAGER3'.
ls_approver-name = 'Peter Manager3'.
ls_approver-approval_description = 'Third approval step'.
APPEND ls_approver TO approval_table.
WHEN 1.
ls_approver-approval_index = 1.
ls_approver-approval_agent = 'USMANAGER1'.
ls_approver-name = 'Arthur Manager1'.
ls_approver-approval_description = 'First approval step'.
APPEND ls_approver TO approval_table.
ls_approver-approval_index = 2.
ls_approver-approval_agent = 'USMANAGER2'.
ls_approver-name = 'Arnold Manager2'.
ls_approver-approval_description = 'Second approval step'.
APPEND ls_approver TO approval_table.
ls_approver-approval_index = 2.
ls_approver-approval_agent = 'USMANAGER4'.
ls_approver-name = 'Thomas Manager4'.
ls_approver-approval_description = 'Second approval step'.
APPEND ls_approver TO approval_table.
ls_approver-approval_index = 3.
ls_approver-approval_agent = 'USMANAGER3'.
ls_approver-name = 'Peter Manager3'.
ls_approver-approval_description = 'Third approval step'.
APPEND ls_approver TO approval_table.
WHEN 2.
ls_approver-approval_index = 2.
ls_approver-approval_agent = 'USMANAGER2'.
ls_approver-name = 'Arnold Manager2'.
ls_approver-approval_description = 'Second approval step'.
APPEND ls_approver TO approval_table.
ls_approver-approval_index = 2.
ls_approver-approval_agent = 'USMANAGER4'.
ls_approver-name = 'Thomas Manager4'.
ls_approver-approval_description = 'Second approval step'.
APPEND ls_approver TO approval_table.
ls_approver-approval_index = 3.
ls_approver-approval_agent = 'USMANAGER3'.
ls_approver-name = 'Peter Manager3'.
ls_approver-approval_description = 'Third approval step'.
APPEND ls_approver TO approval_table.
WHEN 3.
ls_approver-approval_index = 3.
ls_approver-approval_agent = 'USMANAGER3'.
ls_approver-name = 'Peter Manager3'.
ls_approver-approval_description = 'Third approval step'.
APPEND ls_approver TO approval_table.
WHEN OTHERS.
no_further_approval_needed = 'X'.
ENDCASE.
ENDIF.
* ====================== purchase order ============================= *
WHEN c_po.
*** 1) Evaluate the list of spending limit approvers from BOR attributes
swf_create_object lo_new_instance object_type guid.
swf_get_property lo_new_instance 'SLManagerUserList'
lt_approval_agent_obj[].
lv_index = 1.
LOOP AT lt_approval_agent_obj INTO ls_wa_agent_obj.
swf_get_property ls_wa_agent_obj 'User' lo_user.
swf_get_property lo_user 'NameWithLeadingUS'
ls_approval_agent-approval_agent.
swf_get_property lo_user 'Name' lv_usr01_name.
MOVE lv_usr01_name TO ls_approval_agent-name.
ls_approval_agent-approval_index = lv_index.
ls_approval_agent-approval_branch = 1.
ls_approval_agent-initial_index = lv_index.
ls_approval_agent-initial_agent =
ls_approval_agent-approval_agent.
ls_approval_agent-approval_state = c_wf_not_instanced.
APPEND ls_approval_agent TO lt_approval_init_agents.
lv_index = lv_index + 1.
ENDLOOP.
*** 2) Evaluate the list of remaining approvers. The actual approver
*** belongs to the list as well.
LOOP AT approval_history_table INTO
ls_wa_approval_history WHERE type <> 'I'.
LOOP AT lt_approval_init_agents INTO
ls_wa_approval_init_agents.
IF ls_wa_approval_init_agents-approval_index LT
ls_wa_approval_history-approval_index.
DELETE lt_approval_init_agents.
ENDIF.
ENDLOOP.
ENDLOOP.
* fill the import table
CLEAR ls_wa_approval_init_agents.
LOOP AT lt_approval_init_agents INTO
ls_wa_approval_init_agents.
CLEAR ls_wa_approval_history.
MOVE-CORRESPONDING ls_wa_approval_init_agents TO
ls_wa_approval_history.
APPEND ls_wa_approval_history TO approval_table.
ENDLOOP.
IF approval_table[] IS INITIAL.
no_further_approval_needed = 'X'.
ENDIF.
* ======================== contract ================================ *
WHEN c_quotation.
IF lv_index LT 2.
ls_approval_agent-approval_description = '1st Approval'.
ls_approval_agent-approval_index = 1.
ls_approval_agent-approval_branch = 1.
ls_approval_agent-initial_index = 1.
ls_approval_agent-name = 'Hennes Kaempfer'.
ls_approval_agent-approval_agent = 'USMANAGER4'.
ls_approval_agent-approval_state = c_wf_not_instanced.
APPEND ls_approval_agent TO approval_table.
ls_approval_agent-approval_index = 1.
ls_approval_agent-approval_branch = 1.
ls_approval_agent-initial_index = 1.
ls_approval_agent-name = 'Paul Reiter'.
ls_approval_agent-approval_agent = 'USMANAGER5'.
ls_approval_agent-approval_state = c_wf_not_instanced.
APPEND ls_approval_agent TO approval_table.
ls_approval_agent-approval_description = '2nd Approval'.
ls_approval_agent-approval_index = 2.
ls_approval_agent-approval_branch = 1.
ls_approval_agent-initial_index = 2.
ls_approval_agent-name = 'Dieter Mueller'.
ls_approval_agent-approval_agent = 'USMANAGER33'.
ls_approval_agent-approval_state = c_wf_not_instanced.
APPEND ls_approval_agent TO approval_table.
ELSE.
no_further_approval_needed = 'X'.
ENDIF.
ENDCASE.
ENDMETHOD.
Regards
- Atul -
CUP Forks & Security Approver Determinator
Hi All,
We are currently working on our CUP workflows and are planning on using forms to distinguish between manual provisioning (systems such as MDM console) and autoprovisioning (ABAP and java stacks). My question is, when we use the fork condition NON-SAP and SAP, where does CUP look to determine this? We are planning on using applications to setup our manual provisioning systems but I also know we could create them as dummy "other" connectors (although messy).
Also, what is the difference between Security Lead and Security approver determinators when configuring a stage? What IDs does CUP look at for these two? I only see Security Lead under Approvers.
Thanks!
Grace RaeHi Grace,
Forks only work for non-SAP connectors, so you's have to go for a dummy system if you really need fork. Alternatively you can chose an initiator based on roles, which will also allow you to fork the request on the first stage.
The security approver determinator is a group approver which looks for everyone with the UME role "AESecurity" and routes the request to them in parallel.
Frank. -
Workflow doesn't determine WBS owner for SC with Combination of CC & WBS
Dear Friends,
We had an issue in SRM 7.0 workflow that workflow is not determining Project Manager as approver for the SC created with combination of cost center and WBS element, instead Worklfow is triggering to CC Manager for WBS line item. If SC created with single item with WBS element then it is fine. The workflow problem comes when the SC created with combination of CC & WBS only.
Can anobody throw some light on the issue.
Regards,
KumarHi
Check if workflow is at all getting activated for this SC using SWI6.
If you are using Process controlled workflow, check SLG1 logs for evaluations of your bRF expressions whether the schema and process level are getting activated or not....
One more thing, check whether Object Type LInkage is active or not in SWE2
Virender Singh -
Sharepoint 2013 designer workflow auto approve task after due date is passed
sharepoint 2013 designer workflow auto approve task after due date is passed.
Could we approve the task automatically once due date is apssed?
MCTS Sharepoint 2010, MCAD dotnet, MCPDEA, SharePoint LeadHi Amit,
If your task is created by a workflow (first) and stored in a separate task list, you can create another workflow on this particular task list, then each workflow instance would check if current task is expired (not approved/rejected), then
determine if update current task's "Task Outcome" as approved (and update task status as complete), and then create a retention policy on this paricular task list to trigger the workflow on due date .
Thanks,
Daniel Yang
Forum Support
Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact [email protected]
Daniel Yang
TechNet Community Support -
Hi All,
I am supposed to work on MDM workflow.
I have done a primary scenario of adding record.. when a record gets added, it will go through stages of approval through workflow.
Can you please suggest some more scenarios to be implemented using workflow?
Thank You,
Mugdha KulkarniBack again
Have a decision making workflow where some records are sent back and some forwarded.
Also consider workflow after workflow in sequence.
Also can consider validating data in workflow.
Just read email notification as well.
Hope this helps too and others will feed business scenarios,
- An -
Hello All,
I am developing a dynamic approval process and here is my requirement.
We are maintaining the agents in the custom table.I am using multiline element to send the user decision tasks to all users in the table. if user approves then workflow continues..if user rejects then i need to send the user decision task to all agents in the table or just to the rejected user for reapproval..
for this..
what i have done so far is..
1. i have called a system method to pull the agents from custom table.
2. i have used the multiline element to the user decision step..and work items are going out for approvals to all agents in the table under this task which is parallel.
3.if approved..continue workflow
My question is if user 1 rejects the item can i do another user decision step which is sending the approval to all or just to the rejected user in the rejection path?
again if user2 rejects i need to follow the same..as it is dynamic am not sure how to achieve this flow..
and it continues until all approved..am not sure how to pursue this..please help..
Thanks in advance..Dear Suresh,
This means if rejected-- need to send it to all or just to the rejected user depending upon initiator decision..i believe we can add another option in second user decison as to send only to rejected user along with resubmit..i will try this option..
Yes you are right.. Provide 3 buttons to initiator like 1)resubmit to all 2) resubmit to rejector 3) exit
Have a multiline container element with name say approver. If initiator clicks the resubmit to all button in user decision then use the multiline container approver (which has all approvers populated by you). If he selects resubmit to rejector the pass the agent (who rejected the workitem in previous step) via binding for that step.
Remaining logic remains the same as mentioned by Sanju.
Regards,
Bharath -
BUS4101:- Next dynamic approver get method.
Hi All,
I have a question. We are having a weared problem. We have srm 5.0 workflow which workd thorough a customised matrix. We found situations where approver determination was failing.
We finally found out the situation when approval fails. Its in Bus4101 and the method 'nextdynamicapproverget'. This doesnt return any approver in the fm BBP_WFL_DIN_APPR_BY_RULE_GET. It only sets the flag 'no_further_approval_needed'.
So we have a unique scenario here where it can cause and unexpected result. Suppose we have 2 level approval determination for a shopping cart. Approval list is filled as soon as the Workflow is triggered. Now its waiting for person 1 to approve.
Suppose it waited for 10 days. in the mean time we update the matrix in a way that it became 3 level approval process. So after the first approval it again goes to the step method agin 'nextdynamicapprovalget'. Its gets the flag 'nofurtherapprovalneeded', the value of this flag was supposed to be 'X' after the second approval.
But now since the matrix was changed as I mentioned. the 'X' value of the flag is changed to ' ' . So it will now go for the third step. But the workflow initial had only 2 steps of approvers and now as per the new matrix and the new flag result it became a three step approval system AND THIS IS without the third approver in the workflow.
And we know in Bus4101 the method 'nextdynamicapprovalget' and the fm BBP_WFL_DIN_APPR_BY_RULE_GET doent get the list of approvers and only flag.
So finally the mail is going to everyone. I know we can handle such situations in a rule. But first of all my question is this standard BUS4101 is having some defect if you look at it from my angle.
Looking for a solution with minimum chages. please advise.A correction to the scenario of the question above:-
IF approverlist[] IS INITIAL.
CALL FUNCTION 'BBP_WFL_DIN_APPR_BY_RULE_GET'
EXPORTING
IV_TASK = task
IV_OBJECT_ID = lv_object_id
IV_GUID = lv_guid
IV_OBJECT_TYPE = lv_object_type
IV_ACTUAL_APPROVAL_INDEX = 0
IMPORTING
EV_NO_FURTHER_APPROVAL = lv_no_further_approval
ENDIF. " approverlist[] IS INITIAL
The fm in Bus4101 is for if approvallist[] is initial. So I am now changing the assumption of the scenario above. Suppose when the cart is triggered on day1. And its waiting for approval ( for some customised step). We have a customised step which is not for approval but just t6o accept the policy.
And it waited from day 1 till day 10. And now around day 8 the matrix changes from no approval needed to 2 approvals needed.
Thanks,
AC. -
How can we model dynamic approval in Oracle BPM 11g, such that a task is approved by n number of participants, where n is determined at run time.
Any help would be highly appreciated.
Thanks,I made a quick test and here's what I got.
Before the HumanTask, generate a comma separated list of the required approvers (in your examples it would generate "A,B" and "A,B,C,D") and then pass that list as an input to the human task.
Then on the Participant configuration choose
- Type: Serial
- Build a list of participants using: Names and expressions
- Specify attributes using: Value-based
And in the participants list use a single line with: User, By Expression, the payload variable containing the user list (something like /task:task/task:payload/task:usersList).
Expand the Advanced section below the participants list and select the "Specify skip rule" checkbox and put /task:task/task:systemAttributes/task:outcome = "REJECT" in the textbox that appears. This makes the approval terminate as soon as a user sets the outcome to REJECT, otherwise it would still go through all the remaining approvers.
With this you should get the desired functionality. You'll still need some java to generate the user list (or a database stored procedure, or a web service, or...), but it's, I hope, minimal enough.
There's (I think) an alternative, in which you don't need to generate the user list beforehand. In the participant configuration, if you chose Specify attributes using: Rule-based, instead of value-based, you can use a business rule to generate the list of users. But I don't have much experience with business rules, so I can't help you there. But the rest should be the same
Tell me if there's anything that's not clear and I'll try to clarify it.
Regards,
Diogo Henriques -
Invoce. N-step dynamic approval process
Hello,
I have a question.
According documentation we have BADI ONLY for SC workflow
and PO workflow.(BBP_WFL_APPROV_BADI)
I need N-step dynamic approval process for Invoice.
The question is : do i need to develop my own workflow or is there other functionality or BADI which i can use for INVOICE?
Thank you.
TaniaHi Hari,
The total value of the shopping cart changes because Manager 1 deletes an item from the shopping cart. So the new value of the shopping cart is 10.000,- euro. In this example all managers must approve up to and including the first one who has an limit higher than the shopping cart value.
Regards,
Martin -
Approver determination using HR functions
Hello,
this is my first question on this forum, so be tolerant !!
Has anybody ever used HR functions (assigned at position level (S) in org structure) and corresponding HR search paths to determine approvers, instead of using PFCG roles ?
If yes, what are the constraints ? the gains against PFCG roles ? the performance issues ?
Rgds
ChristopheGordan,
Approver determination in standard is independant from the role. It just get the first manager (hat in org. structure) of the requester, if no direct approver at requester level it goes to the next level, etc.
Usually this is not sufficient for customer and they develop their own determination (badi for dynamic wkf or adhoc object for classic wkf). It is just abap coding so any solution is possible.
About performance using HR path, I have no input. If you need to read all the organization and all beholders of the function, it certainly will be poor performance. If starting from requester and follow up the organization is enough, it should be the same as for the standard processing (manager or requester) .
Rgds,
Pierre -
Freinds,
Any idea about 'BPO' approver determinator for workflow type Complaint user provisioning in CUP and from where this would get names from.
Thanks in advance.
SrinuNo...when you go to create stage..these is a standard approver determinator ' BPO' when you select workflow type 'compliant user provisioning'.
for examlpe if you select security lead as a approver in a stage then the workflow would pick the name from the approvers-> security lead...so if you select BPO in the stage where do we have to maintain the names of the BPO's.
Thanks,
Srinu -
How to get a dynamic receiver determination based on a table an SAP PI ABAP Stack
Hello folks,
currently I get stuck dealing with a problem about the receiver determination. Let me first describe the Problem: We are using to different SAP ERP- backend system in our test enviroment. But only of this systems is marked as current "actuall" test system. Every once in a while we need to switch between these two systems and mark the other one as the actual test system.
This is the point were it get's a little bit time consuming for me: We have about 50 interfaces were I need to change the receiver from test system A to test system B or vice versa. So I thought about creating a more dynamic way to determine the actual test system:
Therefore I have created a table on the ABAP stack of our PI (7.31 double stack) with just one field that holds the current test system. Now I would like to create a dynamic receiver determination where I call the RFC-function RFC_READ_TABLE. But how can I acess a table from the grapchical mapping of the pi which is stored on the PI?
Is there mybe another fundamental way to retrieve the actuall test system within the mapping?You can go for enhanced receiver determination, where in you can determine the receiver system using a graphical mapping.
Now in that graphical mapping, use the standard function " RFC Look up" and make a call to bapi and get the actual receiver system.
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/40b64ca6-b1e3-2b10-4c9b-c48234ccea35?QuickLink=index&…
Step by Step guide to Explain Enhanced Receiver Determination - Application Server Infrastructure - SCN Wiki -
I wanted to create a simple approval workflow. Hence I opted to start from scratch rather than copy the OOTB approval WF. Using SharePoint Designer (not Visual studio) I created a reusable workflow and have added the built in 'Start approval process' action.
It's saved and published globally.
Everything works fine except that when associating the WF with a list the 'Start this workflow to approve publishing a major version of an item' check box is disabled.
Major and minor versioning is enabled for the library.
What am I missing here? Or do I have to start from the OOTB approval WF to get this to work?
Regards
HenningAgain - new ideas pop up right after defining the issue as a problem. :-) Problem solved!
I solved this by creating a new workflow from the original publishing approval workflow (copy and replace), but instead of tweaking the already defined approval process (WF action) I deleted it, then deleted all initiation form and local variables,
and then added the 'Start approval process' action again. This re-installs all the necessary local variables without any initiation form involvement, which is just what I want.
From here I can tweak the workflow to make it more user friendly, much like
described by Bobby Chiang in his great blog.
Remember to add action Set Workflow Variable 'EnableContentApproval' to Yes right before the Start Approval Process action, else the document's status won't be set to 'Approved' or 'Rejected' as an output of the workflow.
Learning every day!
Henning -
Hi there,
Despite turning on the require content approval for submitted items in the version setting. Start this workflow to approve publishing a major version of an item is still disabled in the workflow settings.
Anyone one know how to enable this option.
Thanks
Regards,
RaviHi Wendy,
I tried to copy and modify the Globally Reusable Workflow->Approval-SharePoint 2010 but the problem
that I am facing is, I cant seems to find the Assign a task in the Actions list and also when I am setting the approver variable to a value, I am missing a column name( how can I get a column which is used in a list?).
But “Start this workflow to approve publishing a major version” is enabled now using this workflow
but saying that I am unable to complete the workflow due to the action and column missing.
Previously the work flow that I created was for a specific list.
Is there any work around to this issue?
Thanks
Regards,
Ravi
Maybe you are looking for
-
IDE drives not recognized by K8N Neo 2 Bios: Revisited
I am truely reaching my wits end with this problem and I'm beginning to believe that I'm not alone in dealing with this issue. Let me recap. After building my new system around the K8N Neo 2 m.b. and a AMD Athlon 64 3200 939, (Winchester) cpu I boot
-
Problem with database access in EJB deployment to SJSAS on remote deploy
Hi, I have deployed an Enterprise application containing an EJB3.0 module to a remote sun application server (Edition 9.0_01 (build b02-p01)) using a mysql ver 5 DB with connector mysql-connector-java-5.0.0-beta-bin. It is being used by a swing appli
-
Can't download Developer Edition CF MX 7 for Windows
I can download any of the other versions... Linux, AIX, even other language versions, just not Windows, English, ColdFusion MX 7... does anyone know why? Thanks in advance for your help, M ;-)
-
In a pages doc., I'd like to insert text to form a circle. Any ideas? thx.
-
Hello Frnds, i am learning j2me..i am facing some problem in simple thread initilization.. the code is import javax.microedition.midlet.*; import javax.microedition.lcdui.*; import java.io.*; import javax.microedition.io.*; class Process implements R