cancel
Showing results for 
Search instead for 
Did you mean: 

incomplete structure issue with FILE to IDOC scenario

Bhargavakrishna
Active Contributor
0 Kudos

Hi experts,

we are working on FTP to IDOC scenario. i have to pick CSV file from FTP server.

im facing the issue  "" Format error in 'xml.recordset' argument: incomplete structure (name,number) pair ""

i have referred the following blogs but i didn't find any resolution for my problem.

http://scn.sap.com/thread/232703

http://www.riyaz.net/sap/xipi-file-content-conversion-for-simple-structure/75/

i have verified the mapping and the FCC parameters correctly. but still it is showing the same issue. and the CC channel is showing inactive.

i have tried to make inactive and activate it again. and i have checked the locks. everything is fine.

For Begin, Segment i have passed the constant " 1"

FCC parameters

so let me know if im wrong. stuck with this issue, waiting for quick reply..

guide me to resolve this issue.

thanks in advance for your help..

Accepted Solutions (1)

Accepted Solutions (1)

rajasekhar_reddy14
Active Contributor
0 Kudos

Hi Bhargav,

Alter your Data type structure and remove 'row' from data type ,dont specifiy record set name and add

ignoreRecordsetName true.

attach csv file here.

Regards,

Raj

Bhargavakrishna
Active Contributor
0 Kudos

Hi Raja Sekhar,

Thank you very much, for your response..

i did the same it worked, IDOCS also generated from PI but with status 56 " EDI: partner profiles missing ". i have sent the data from we19 it is showing the status 51 " Application document not posted.

why it is showing like that.. i have created partner profiles and rechecked it.

when i checked the control record, under partner  in Reciepent information port is missing.

my CSV file contains 734 records, PI is fetching all the records but after mapping it is only generating the first record as a output. so im getting only one record in the IDOC.

i referred some blogs, as we know there is some issue with the partner profiles, in most of the blogs mentioned the same.

i attached the CSV file in TXT format.. please have a look and give me resolution for this issue.

ambrish_mishra
Active Contributor
0 Kudos

Hi Bhargava,

<my CSV file contains 734 records, PI is fetching all the records but after mapping it is only generating the first record as a output. so im getting only one record in the IDOC.>

This depends upon your mapping logic, for creation of IDoc, for segments you want to populate in the IDoc and how many times. After you have sorted this out, you need to give Sender communication component as your PI business system in the receiver agreement under Header mapping.

In WE20, within the PI logical system in ECC, you will be having the inbound partner profile for the mentioned IDoc/message type.

this should resolve your issue.


Ambrish

rajasekhar_reddy14
Active Contributor
0 Kudos

Hi ,

1)Check IDoc contraol record values and check against configuration ,it looks control record values misisng in IDoc.

How are you handling control record values? at mapping level have u mapped constant values? or IDoc receiver adapter taking values at run time?

2)Have you understood what mapping logic you have to built?it looks mappig logic not correct.

Regards,

Raj

Bhargavakrishna
Active Contributor
0 Kudos

Hi Raja Sekhar,

I have checked the control record.. it looks fine..

For control record i have mapped the segment with constant 1.

It is just simple mapping.. we just need to map the sender fields with the IDOC fields..

previously, IDOCS are generated to ECC with status 56.

but now the IDOCs are not generating in Receiver.

CC monitoring : fine

MSG monitoring : Fine

i can able to see the message content of the file adapter..

pipeline steps are executing perfectly..

no entries in SMQ1 and SMQ2.

in Moni : messages are failed with the status:

i can able to see the idoc number here. but it is not populating in ECC.

My ALE configuration:

IN ECC

RFC DestinationSM59
DestinationPITCLNT200connection tested
Target hostoilpiapp  PI host name and address
ipaddress172.16.5.***ok
LOGon and secuname and pwd
Logical systemsBD54
PITCLNT200PI system
Portwe21
POrtA000000019Trfc
RFC DestinationPITCLNT200
Partner Profileswe20
partner noPITCLNT200
i/b parametersZCOOPDATAMSG Type
Partner statusActive
Partner type LS
Process codeZCOOP
Pro by FMTrigger immediatley
Distribution modelBD64
OILCOOPZCOOPDATA
PI SystemPITCLNT200
Production sysRP1CLNT500
ZCOOPDATAMSG for coop

in PI

RFC DestinationSM59



DestinationR3XCLNT500connection tested
Target hostbkptestECC host name and address
ipaddress172.16.5.***ok
LOGon and secuname and pwd
gateway host and servicebkptest and sapgwoo



Port creationIDX1
Port SAPRP1SAP followed by system id of ECC
RFC DestinationR3XCLNT500



MetadataIDX2
SAPRP1

IDOC typeZCOOP

i referred below blogs but my issue is not resolved.

http://scn.sap.com/thread/1808309

http://scn.sap.com/thread/1083871

http://scn.sap.com/thread/913758

https://scn.sap.com/thread/1060740

http://scn.sap.com/thread/913758

quick reply will be highly appreciable..

we are stuck up with this issue..

Bhargavakrishna
Active Contributor
0 Kudos

Hi Ambrish,

i have just did the field to field mapping. we have only two fields, you see in the above post..

i have given the sender communication component in the receiver aggrement under header mapping.

checked the partner profiles as well.

stuck up here.. help me..

you can see the ALE config in below post..

correct me if im wrong..

ambrish_mishra
Active Contributor
0 Kudos

Hi Bhargava,

Are you populating the control record segment EDI_DC40 in the mapping ? If yes, you need to populate the mandatory fields in this segment.for ex, IDOCTYP, MESTYP and sender/receiver partner and port. In this case you have to check 'Apply control record values from payload' option. If not, you can disable the segment in the mapping and the values will be fetched from partner profile during runtime.

You mentioned you are able to see IDoc number but thats not possible unless IDoc is generated in ECC.

Now the error screenshot you have provided. Go to SM58 and check whats wrong with the message being sent for this IDoc type. It might be wrong password for user used in RFC destination or user locked in ECC.

Hope it helps.

Ambrish

pedro_baroni3
Active Contributor
0 Kudos

Hi,

In SM59, try test if logon data it's fine:

- Open Destination R3XCLNT500

- Select "Utilities';

- Select "Test";

- Select "Authorization Test".

Regards.

Pedro Baroni

Bhargavakrishna
Active Contributor
0 Kudos

Hi Raja Sekhar,

In IDOC control record receiver port is missing. and it is showing the error as

EDI: Partner profiles missing

i tried by " applying control record values from payload" as well. it didn't worked..

please send me your suggestions on this..

ambrish_mishra
Active Contributor
0 Kudos

Hi Bhargava,

Please check some things...

In PI

  • the business system of PI has got logical system associated with it in SLD.
  • If yes, put PI business system as sender component in the receiver agreement under header mapping.
  • Open the business system in ID and check if Adapter specific identifiers are there else replicate from SLD.
  • You may simply disable the segment EDI_DC40 in mapping and not apply control records from payload.

In ECC

  • Under partner type LS and PI logical system in WE20, the partner profile should exists for the mentioned message type.

I hope it helps.

Ambrish

Answers (4)

Answers (4)

ambrish_mishra
Active Contributor
0 Kudos

HI Bhargava,

Noticed that you have 2 levels of hierarchy Record and Row in your data type... you can just use 1. Under the data type, just have Record as 0..unbounded and it will work.

Your error is at the adapter level and the solution above will most likely resolve it.

Ambrish

former_member223322
Active Participant
0 Kudos

What's the file data that you are using? Also try adding the missingLastFields = ignore in the FCC and check.

~Srini

gagandeep_batra
Active Contributor
0 Kudos

Hi Bhargave,

As  Ryan said add ignoreRecordsetName = true and

check below link for more:

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

Regards,

Gagan

Ryan-Crosby
Active Contributor
0 Kudos

Hi Bhargava,

Looking at your mapping it looks like you are mapping 1 instance of your document (MT_Cooperative_Sender_04) to your structure ZCOOPDATA which is 1...5000.  In this particular case I would map Record -> ZCOOPDATA and also include the FCC parameter ignoreRecordsetName = true.

Regards,

Ryan Crosby

Bhargavakrishna
Active Contributor
0 Kudos

Hi Ryan,

thank you for your reply..

i did not find the FCC parameter.. can you please tell me where it is??

Ryan-Crosby
Active Contributor
0 Kudos

Hi Bhargava,

You would add it down here where the yellow highlighted line is:

Regards,

Ryan Crosby

ambrish_mishra
Active Contributor
0 Kudos

Bharagava,

You need to change the data type first. this may not be required

Ambrish