cancel
Showing results for 
Search instead for 
Did you mean: 

Need of RecordSet in FCC

itabhishek9
Participant
0 Kudos

Hi SDNites,

If we can do a FCC at either sender and receiver end without Recordset, then what is the real need to RecordSet in FCC.

Regards,

Abhi

Accepted Solutions (1)

Accepted Solutions (1)

azharshaikh
Active Contributor
0 Kudos

Hi Abhi,

Can you please elaborate your query/error if any

While defining FCC (Sender) we have 4 Recordset of which 2 are Optional and 2 are Mandatory..

·  Recordset Name (O)

Specify the name of the structure: It is included in the XML schema.

·  Recordset Namespace (O)

The namespace is added to the name of the structure.

·  Recordset Structure (M)

Enter the sequence and the number of substructures as follows: <NameA,nA,NameB,nB,...>. Therefore, nA=1,2,3,... or * (for a variable, unlimited number, including 0).

·  Recordset Sequence (M)

The start and end of recordsets containing a variable number and arrangement of structures are determined

Ref: http://help.sap.com/saphelp_srm40/helpdata/en/2c/181077dd7d6b4ea6a8029b20bf7e55/content.htm

Similarly for Receiver FCC we have : Recordset Structure (M)

·  Recordset Structure to define the list of nodes including the root and substructure

Regards,

Azhar

itabhishek9
Participant
0 Kudos

Hi Azhar,

Thanks for the reply.

Actually I am using MessageTransformBean for FCC (on sender side) and when file is picked up from the shared directory, in the payload Recordset tag is not seen. So the below error is encountered.

Cannot create target element /ns0:MT_IB_MERCHANT_FILE/RecordSet. (Shown here is inbound message type)

Recordset is present on both the sides.

Note : Sender and receiver side both are File.

Regards,
Abhi

azharshaikh
Active Contributor
0 Kudos

Hi Abhi,

Can you give the screenshots of your Mapping & FCC Config...

Have you mapped something (ideally Constant[])to the Target Field RecordSet in your MM ?

Regards,

Azhar

former_member184720
Active Contributor
0 Kudos

>>>Actually I am using MessageTransformBean for FCC (on sender side) and when file is picked up from the shared directory, in the payload Recordset tag is not seen

It's not mandatory that you should have the name as "Recordset" in your structure.

It'll get created based on your Message transformation bean configuration.

Your MTB configuration should be based on your structure.

Coming to your error.. it's unable to create the target element " Recordset".

I assume your source xml is not validated aganist the source xsd.

Paste the source xml in testing tab and see if eveyrthing looks good. If not change your FCC configuration/ structure and adjust your mappings.

itabhishek9
Participant
0 Kudos

Hi Azhar, 

I tried both the options. Please find below screenshots and the associated errors,

Recorset Mapped (Error) : Cannot create target element /ns0:MT_IB_MERCHANT_FILE/RecordSet

Recorset Not mapped (Error): Cannot create target element /ns0:MT_IB_MERCHANT_FILE/RecordSet/Product.

Regards,

Abhi

former_member184720
Active Contributor
0 Kudos

Refer to my reply.. Your source strcture should be inline with your MTB configuration.

If you are using SimplePlain2XML then you don't need recordset in your strcture..

Change your strctures and adjust your mappings..

itabhishek9
Participant
0 Kudos

Source XML is not validated against source XSD -

Difference I can see in the payload and while executing it using Test tab in MM is the Recordset. I tried to process the same by manually populating RecordSet and it worked. But my query is how the same will be obtained during runtime.

Also did the configuration in MTB as,

xml.recordsetName -      RecordSet

xml.recordsetStructure - Product,*

But it is still not working.

Regards,

Abhi

azharshaikh
Active Contributor
0 Kudos

Hi Abhi,

Seems some issue wit your FCC conversion. Its not able to populate values to Mandatory fields in Target Node -- RecordSet & Product as shown in ur screenshot...

Can you give the Input Payload that you get into PI from Source FCC conversion...also share your Source FCC channel config screenshot

Regards,

Azhar

former_member184720
Active Contributor
0 Kudos

What is conversion type? (xml.conversionType)

If it simpleplain2xml then you don't have any paramter called xml.recordsetName /recordSetStructure

But looking at your strcture why do you need recordset when you just have one node(product)?

If you multiple nodes such as products and product details you might need recordset and for that you should go for StructPlain2XML conversion type..

If you check the blog which i shared in your previous post, you can get the list of paramters..

http://scn.sap.com/docs/DOC-58321

azharshaikh
Active Contributor
0 Kudos

Hi Abhi,

Please check the following link..if you have used the Type2 : Conversion type: StructPlain2XML correctly in your FCC config

Regards,

Azhar

itabhishek9
Participant
0 Kudos

Hi Hareesh,

Yes scenario is Plain2XML.

As mentioned above what I understand is Recordset will be used mandatorily only for complex scenarios and not for Simple scenarios (I was earlier comparing the MessageTrasnformBean with the FCC). Please validate.

Regards,

Abhishek


former_member184720
Active Contributor
0 Kudos

Yes. Your assumption is right. When you go for simpleplain2xml you don't need recordset.

itabhishek9
Participant
0 Kudos

Gr8 thanks. My issue has been resolved.

Based on above I also assume that in case of complex scenrio (using MTB), when recordset paramters are used then sender payload should have recordset tag present.

Regards,

Abhishek

former_member184720
Active Contributor
0 Kudos

>>> then sender payload should have recordset tag present.

In a way yes but the tagname can be anything..the name should match the value you provide to the parameter "xml.RecordsetName".

Answers (0)