cancel
Showing results for 
Search instead for 
Did you mean: 

Worfklow error: The element PURCHASINGCONTRACT does not exist in the container

Former Member
0 Kudos

WF template: WS20000077

Settings: All standard

I just simulated the workflow for the first time on an Ides System and i get the error to be

this way.

Task: 20000159

Rule: AC2000026

I have also maintained the customizing for rule, ist Container objects, defined binding.

Could not find much info over the Internet as well

Thank you

Accepted Solutions (0)

Answers (3)

Answers (3)

JL23
Active Contributor

I already admitted that I am not familiar in depth with workflow, but I get already confused when seeing 2 terms together which have rarely something to do with each other under this circumstance.

WS20000077 is for requisition overall release. What has this to do with purchasing contracts? Can you explain what is the purpose for this purchasing contract thing in a PR release?

And the error message says that the element PURCHASINGCONTRACT does not exist in a container.

Based on that message I would expect that you show us where you defined this element and where it is in the container.

Actually there is an answered question from 10 years ago about the same element error:

https://archive.sap.com/discussions/thread/775436

Former Member
0 Kudos
Hi Juergen,

This is exactly what I am wondering as well. This is a Standard workflow. So something we have not modified. We want to test the Simulation and we found out the error was related to PO. Something which is confusing me.

Check all Business objects defined and I still wonder where can this come from.

former_member186746
Active Contributor

Hi,

I wouldn't be so sure that somebody did not tinker with the standard workflow in any way. According to SAP workflows and tasks are HR objects and you will not get a registration prompt when you want to change it. In technical info of PFTC you can see who was the last person to modify it.

Kind regards, Rob Dielemans

JL23
Active Contributor

check the old discussion, follow each step of the correct answer, just keep in mind that you are doing requisition while the old discussion was about purchase order.

keohanster
Active Contributor

Please ensure that you have correctly implemented binding for the element PURCHASINGCONTRACT from the Workflow to the rule. That's what the error message is tellling you.


Good luck,

Sue

Former Member
0 Kudos

Would a Purchasing contract mean A purchase order?

Since this is a Standard workflow for PR WS20000077 and Task 20000159 with std, rule 2000026

The Container has two objects to be filled with Release code and PR number

Thanks

keohanster
Active Contributor

You should look in the container of the workflow to determine what it is looking for (and what it is working on). People use different terms, so I don't know if what you call a PURCHASINGCONTRACT is what I call a PurchaseRequisition or not.

When you look in the workflow container, you would see the object that the workflow is going to process, and if you double click on that, you will see the actual Business Object type. This is very good information to have, and you can look at the Business Object more in depth by using transaction SWo1. There is a lot of information (including attributes, events, and methods) kept about your Business Object in the Business Object Builder (again, transaction SWo1).


Good luck,

Sue

Former Member
0 Kudos

Appreciate your Response. The workflow Container,task Container and the Container in rule all have no Errors or warnings since they were copied from the Std. Workflow WS20000077

The Business object used is BUS2105 for PR

keohanster
Active Contributor
0 Kudos

When I look at Rule 20000026, it is expecting two elements - the Release Code and the Purchase Requisition. If I were using these in a workflow, I would check the binding on the task level where you specify the Rule. There is a button that says 'Binding'. Please see my screen shot below for an example of how this would look. If your screen says 'Binding (Does Not Exist)' I would press that button, and using drag-and-drop, pass those items into the Rule. If your screen says 'Binding (Exists)' then I would still go into the binding from the task to the Rule and make sure that they are correct.

Former Member
0 Kudos

please see my comment on the answer

thank you

Former Member
0 Kudos
keohanster
Active Contributor
0 Kudos

It's hard to put together the story from 8 different screen shots, and as Juergen already noted, the WF and Rule you are talking about do not deal with PURCHASINGCONTRACT, so I have to wonder if changes were made to the Rule or the WF Template. Have you tried testing the rule yourself? What is it asking for? Does it work with Release Code and Purchasing Req?

Sue

PS: It's good form to comment on prior answers, and only 'answer' questions when you are actually answering.

I know, it's confusing.

Sue

Former Member
0 Kudos

Just found an issue in debugging the function module used

ME_REL_GET_RESPONSIBLE

 Initialisieren der Tabelle ACTOR_TAB
  REFRESH actor_tab.
  CLEAR actor_tab.
  swc_get_element ac_container 'ReleaseCode' rm06b-frgab.
  swc_get_element ac_container 'requisition' object.
  IF sy-subrc EQ space.
* Objectschlüssel in das Anwendungsfeld bringen
* swc_get_object_key object ebankey.       " 4.0C GF
    ebankey-banfn = object-objkey(10).
    ebankey-bnfpo = object-objkey+10(5).
* Banf lesen
    IF ebankey-bnfpo IS INITIAL.
* Freigabeverantwortlicher für gesamte Banf
      SELECT * FROM eban UP TO 1 ROWS WHERE banfn EQ ebankey-banfn.
      ENDSELECT.
      IF sy-subrc > 0.
        RAISE nobody_found.
      ENDIF.
    ELSE.

The 6th line of the code snippet looks if the value of the object is a space or is not a space

Only if the value is blank will the function continue to move to finding a PR and steps

If not a space then it heads over to the PURCHASECONTRACT section

This FM is used for PR,PR,Purchase contract as well on an if and else basis

Planning to copy this FM and edit this line to run the program again.

This is a standard FM so wont make changes there