cancel
Showing results for 
Search instead for 
Did you mean: 

Sender FCC in PI 7.1

arkesh_sharma
Active Participant
0 Kudos

Is FCC possible for the above structure?

(My rest of the questions follow after this.)

Accepted Solutions (0)

Answers (2)

Answers (2)

santosh_k3
Active Participant
0 Kudos

Hi Arkesh,

>>Is FCC possible for the above structure?

Yes

Please follow the links given by Grz before you proceed.

In FCC mention the Parameters as:

Doc Name : MT_Source

Recordset Name : DT_1

Recordset Structure: DT_1_AA,*,DT_1_BB,*

DT_1_AA.fieldNames : Field_1_AA,Field_2_AA.

.

.

.

Thanks

Sai

arkesh_sharma
Active Participant
0 Kudos

Hi Sai,

Thank You for your response but I think there is a misunderstanding in the way you understood the source structure.

There is no Recordset Node (i.e. the node under which all other nodes [DT_1, DT_2, DT_3, DT_4] come into picture) in my source structure so there is no Recordset Name in my FCC.

Please let me know if you disagree with me.

Also, I will provide the FCC parameters in a while. Please have a look at them and let me know if there is any issues with that.

Regards,

Arkesh

santosh_k3
Active Participant
0 Kudos

Hi ,

Can you share your source file data.

Based on that we have to create the source structure.

Thanks

Sai

arkesh_sharma
Active Participant
0 Kudos

Hi Sai,

I cannot share the original data with you but the file looks like something as below:

F123476BHK1723888          FNÖPV6768877  6787698GFCGHB; VGCHGC:FXXRK N                           7655856398+6+        VLHVVVCUTTKXFHÖ                                 GVJVOBICX

F198798687678654564     GLJCGV ÖJ:ÖVFXYCBNK   675970897756856   CALF US 5656549+HVJHVJHJVCXHG       HVLJGCCLUVI                                            UYFCDF65653427869

F123476BHK1723888          FNÖPV6768877  6787698GFCGHB; VGCHGC:FXXRK N                           7655856398+6+        VLHVVVCUTTKXFHÖ                                 GVJVOBICX

F198798687678654564     GLJCGV ÖJ:ÖVFXYCBNK   675970897756856   CALF US 5656549+HVJHVJHJVCXHG       HVLJGCCLUVI                                            UYFCDF65653427869

The above set of data comprises of 1 record based on which the source data structure was created by me.

Please have a look at it and let me know your views on it.

Regards,

Arkesh

former_member184681
Active Contributor
0 Kudos

Hi,

This topic has already been discussed widely in SCN, you could find your answer using search function, for instance in this thread: or even in SAP Help for sender FCC: http://help.sap.com/saphelp_nwpi71/helpdata/en/44/6713ec3f914ddee10000000a1553f7/content.htm

Regards,

Greg

arkesh_sharma
Active Participant
0 Kudos

Hi Greg,

As I mentioned earlier in my post that rest of my questions will follow after the initial post. So, I have implemented the FCC for the structure mentioned above and I am getting an error as :


"Conversion initialization failed: java.lang.Exception: java.lang.Exception: java.lang.Exception: Error(s) in XML conversion parameters found: Mandatory parameter 'xml.keyfieldName': no value found"

I have tried to fix the error by providing the keyfieldName for all the nodes(DT_1_AA, etc.) but still I am getting the error.

Thus, it made me think if the FCC is able to detect the fields upto 3 levels or more.

Let me know your thoughts on this one.

Regards,

Arkesh         

former_member184681
Active Contributor
0 Kudos

Hi,

You only provide the keyFieldValue for each structure. The keyFieldName has to be common across the structures and here is where you have to put it:

Regards,

Greg

santosh_k3
Active Participant
0 Kudos

Hi Arkesh,

Maintain and field "ID' in the structure under DT_1_AA, DT_1_BB,....

then specify

Key Field Name : ID

key field is used to identify row , suppose if ID =1 for DT_1_AA

                                                         and ID =2 for DT_1_BB

then in parameters specify as

DT_1_AA.keyFieldValue : 1 

DT_1_BB.keyFieldValue : 2

Thanks

Sai.

arkesh_sharma
Active Participant
0 Kudos

Hi Greg !

Thank You for your quick response.
I really missed it ! I feel like a Dumbo now !

Just a quick question here : Is the Key Field Name should have common name across whole of the structure i.e. if DT_1_AA has key field name as Field_1_AA, will DT_2_AA, DT_3_AA and DT_4_AA will have the same key field name as Field_1_AA ?

Thanks,

Arkesh

former_member184681
Active Contributor
0 Kudos

Yes, the key field name should be common accross the recordset structures. Still, in case you don't want it in the XML structure processed by PI (only to distinct between structures in FCC), you can use Structure.keyFieldInStructure = ignore to ignore this field while importing the message payload.

Regards,

Greg

arkesh_sharma
Active Participant
0 Kudos

Hi Greg,

Thank You for your response. That was helpful.

Just one last question :

DT_1_AA node and DT_1_BB node both have different key fields in them. So, can I mention two key field names in the text box of KeyFieldName in FCC ?

i.e.

Key Field Name = Field_1_AA, Field_1_BB

Regards,

Arkesh

former_member184681
Active Contributor
0 Kudos

No, you can't, as far as I know.

Regards,

Greg

arkesh_sharma
Active Participant
0 Kudos

That means I am only left with the other option where I mention the Key Field Name as Field_1_AA and then use Structure.keyFieldInStructure = ignore

Is that correct ?

former_member184681
Active Contributor
0 Kudos

Well, you have two options: the one that you mentioned, and the other one, where you change the source message structure to have the key field name identical for all recordset structures. Things to consider for option #2:

- Do really you need these key fields in the structure for mapping? If not, just use option 1.

- Are you allowed to change the source structure (for instance, it could be imported as an .xsd, or a pass-through scenario, where you are not supposed to do so)? If not, again go for option 1.

Regards,

Greg

arkesh_sharma
Active Participant
0 Kudos

Hi Greg,

I am in trouble now.

Both field names Field_1_AA and Field_1_BB in nodes DT_1_AA and DT_1_BB are common across the whole message structure and they are suppose to be mapped to the target IDoc fields. If I use the "ignore" option then I cant pass the values to the target IDoc fields.

Just to be clear, the modified structure will look as below:

Please help me in this regard.

Thanks,

Arkesh

former_member184681
Active Contributor
0 Kudos

Dear Arkesh,

If you really have to stay with two different field names, you would have to develop a custom adapter module to perform the conversion for you, or use a Java mapping prior to the "main" mapping, to achieve the required structure. Or you can still change the field name to be common for all the structures.

Regards,

Greg

arkesh_sharma
Active Participant
0 Kudos

Hi Greg,

Many Thanks for your advice.
I will try to change my field structure and get back to you today or tomorrow in case I face any issues.

Thank You again for providing me the valuable inputs.

Regards,

Arkesh

former_member184681
Active Contributor
0 Kudos

Sure thing, I'm happy to help

Regards,

Greg

arkesh_sharma
Active Participant
0 Kudos

Hi Greg,

I am back after doing a little homework of my own. The modified structure looks like below:

The FCC parameters used are:

Recordset Structure: DT_1,1,DT_2,*,DT_3,*,DT_4,1

Key Field Name: Field_1_AA

DT_1.fieldFixedLengths: 2,1,2,2,11,2,11,8,2,2

DT_1.fieldNames: Field_1_AA,Field_2_BB,.....

DT_1.keyFieldValue: AA001

DT_1.lastFieldsOptional: YES

Same follows for DT_2, DT_3 and DT_4. Added parameters used are as below:

DT_1.lastFieldsOptional = YES (Because there are total of 320 chars but only 280 are filled in it.)

DT_1.endSeperator = 'nl'

"New line" follows for DT_2, DT_3 and DT_4

keepIncompleteFields = true

DT_4.lastFieldsOptional = YES

Error Faced :

Conversion of file content to XML failed at position 0: java.lang.Exception: ERROR consistency check in recordset structure validation (line no. 5: missing structure before type 'DT_1'
Please suggest a remedy for the above problem.

Also, I am considering the Java Mapping option and currently I am writing my code. I just want to know how the file will be picked up by the Sender file communication channel without any FCC? Do, I need to do some special configuration in my sender channel if I have deployed my Java Mapping before my Normal Graphical Mapping or will it be a normal file configuration without FCC?

Regards,
Arkesh