cancel
Showing results for 
Search instead for 
Did you mean: 

BPMN data type RFC

0 Kudos

PO 7.31 SP14 PAT0001

In ESR I have defined a service interface. The Service Interface's request data type refers to an imported RFC.

This service interface is imported and used as Event Trigger/message to start my BPM process.

I would have expected the data type of the RFC to have been imported together with the import of the WSDL for the service interface.

But apparently it doesn't do that.

When I want to define a Data Object, I cannot find the RFC data type in the drop down list for the Data Type property of the data object.

I have tried exporting the RFC's WSDL from ESR and then import it into my project using Data Types --> XSD Files --> Import XSD, after having cut out only the <xsd:schema>..... part of the WSDL. But to no avail.

In this particular case the data structure is very small. Therefore I could create it manually.

But next time it will be a BAPI with lots of input/output elements, tables .. etc.

Is this a bug, a known limitation .. or is there a recommend procedure for reusing RFC data types in BPM ?

Accepted Solutions (0)

Answers (3)

Answers (3)

0 Kudos

I've attached the WSDL (please rename to .wsdl ....... scn wouldn't allow me to attach .wsdl or .zip file)

The RFC data type that sits inside is called FLATFILE_TO_SPEC2K. This is the data type I expected to be available in the process for assigning to other data objects.

junwu
Active Contributor
0 Kudos

those type are anonymous, that's why there is type generated in bpm.

<xsd:element name="FLATFILE_TO_SPEC2K">

        <xsd:complexType>

          <xsd:all>

            <xsd:element name="FILEPATH">

              <xsd:simpleType>

                <xsd:restriction base="xsd:string">

                  <xsd:maxLength value="128"/>

                </xsd:restriction>

              </xsd:simpleType>

            </xsd:element>

          </xsd:all>

        </xsd:complexType>

      </xsd:element>

if your schema is like this: type will be generated.

<complexType name="yourtypename">

        <sequence>

            <element name="WorkflowId" type="string" />...........

0 Kudos

Okay. But I didn't create the wsdl manually It was imported from ESR.

So... your conclusion is that wsdls provided by ESR are not compatible with requirements of process composer in NWDS ?

junwu
Active Contributor
0 Kudos

it is not compatibility problem

you have to define the named type first, then it will be recognized properly in nwds

0 Kudos

"you have to define the named type"


Can you please elaborate on this ?

* I imported an RFC into ESR

* I defined a service interface based on the RFC data structure/data type

* I imported this service interface into NWDS

Where in this process must I do what?

arijit_mukherjee2
Participant
0 Kudos

Hi Hans,

Did you get it resolved somehow? I am facing the same problem like you. Can you please advise?

Thanks,

Arijit

0 Kudos

Hi Arijit,

As far as I'm aware there's no obvious solution to this.

My conclusion is that RFC/IDOC based data type definitions imported from ERP backend cannot be reused in NWDS without manual intervention.

What Jun Wu says is true: Only named types from the schema definition are recognized.

I edited a number of wsdl's by hand in order to make them "nwds-compliant". It works and the more you practice the easier it gets

I'd prefer a solution provided by SAP though.

arijit_mukherjee2
Participant
0 Kudos

Thanks a lot for your reply Hans.

0 Kudos

I can only repeat myself:

* start event points to a message trigger

* the message trigger points to the imported service interface

* the imported service interface is based on a WSDL

* I can open the WSDL and see the data definition I miss in the <xsd:schema>... tag

Everything looks exactly like it should.

The data type of this WSDL is simply not in the scope of the project.

junwu
Active Contributor
0 Kudos

can u show me the wsdl or scheme?

junwu
Active Contributor
0 Kudos

did you search the data type?

0 Kudos

Sure. It's not there.

junwu
Active Contributor
0 Kudos

are u sure?

if it is not there, how the start event works?