on 11-25-2008 2:42 AM
My scenario relates to a Sender File Adapter and a Receiver IDoc Adapter. My Outbound Message Type / Data Type has multiple Complex elements which I later replicated to only three(3) Complex elements to simplify checking the issue. The elements defined in IR are as follows:
1.EDI_DC: Element occuring once with multiple fields
2.E2IDKU1: Element occuring 0..unbounded with multiple fields
3.E2EDKO3: Element occuring 0..unbounded with multiple fields
IDirectory has a Sender File Adapter has a Communication channel with the following specifed in FCC:
Document Name: MT_RecManager_Test_O
Document Namespace: http://mrgnetwork.com/WF/RecManager
Document Offset: <nothing specified>
RecordSet Name: RecordSet
RecordSet Namespace: <nothing specified>
RecordSet Structure: EDI_DC40,1,E2IDKU1, *,E2EDK03, *
RecordSet Sequence: Ascending
RecordSets per Message: *
KeyFieldName: SEGNAM
KeyFieldType: String(Case Sensitive)
EDI_DC40.fieldNames: SEGNAM,MANDT,DOCNUM,DOCREL,STATUS,DIRECT, EDI_DC40_FILLER1
EDI_DC40.fieldFixedLengths: 10,3,16,4,2,1,6
EDI_DC40.keyFieldValue: EDI_DC40
EDI_DC40.missingLastFields: add
EDI_DC40.additionalLastFields:ignore
EDI_DC40.endSeparator: 'nl'
E2IDKU1.fieldFixedLengths: 30,3,16,6,6,2,3,35,35,3,3
E2IDKU1.keyFieldValue: E2IDKU1
E2IDKU1.fieldNames: SEGNAM,MANDT,DOCNUM,SEGNUM,PSGNUM,HLEVEL,BGMTYP,BGMNAME,BGMREF,BGMLEV,BGMACC
E2IDKU1.missingLastFields: add
E2IDKU1.additionalLastFields: ignore
E2IDKU1.endSeparator: 'nl'
E2IDKU1.keepIncompleteFields: yes
E2EDK03.fieldFixedLengths: 30,3,16,6,6,2,3,8,6
E2EDK03.keyFieldValue: yes
E2EDK03.fieldNames: SEGNAM,MANDT,DOCNUM,SEGNUM,PSGNUM,HLEVEL,IDDAT,DATUM,UZEIT
E2EDK03.missingLastFields: add
E2EDK03.additionalLastFields: ignore
E2EDK03.endSeparator: 'nl'
E2EDK03.keepIncompleteFields: yes
ignoreRecordSetName: true
The test file contents are as follows: (please note that I have pasted the file contents in this limited "Plain Text" field, the lines are wrapping around):
EDI_DC40 4000000000000000000700 302112233445566
E2IDKU1 100000000000000000000000100000001LBXLOCKBX 1
E2IDKU1 200000000000000000000000100000001LBXLOCKBX 1
E2EDK03 10000000000000000000000020000000201120081114092712
When I run the above file contents with the FCC RecordSet as follows, the Payload is empty and I receive a message that: Empty Document found. Proceed without sending message
RecordSet Structure: EDI_DC40, 1,E2IDKU1,,E2EDK03,
When I run the above file contents with the FCC RecordSet as follows, the Payload is correctly formed and I receive my message in the Integration Engine and can see it in SXMB_MONI:
RecordSet Structure: EDI_DC40, 1,E2IDKU1,2,E2EDK03,1
I want to be able to specify an asterisk "*" in RecordSet Structure as the file contents can vary for KeyFields E2IDKU1 and E2EDK03.
I have seen various messages in SDN referring to checking the File contents and FCC and I have already done so without any results. This feature has been widely used in PI. Is there a change in PI 7.0. We are currently running PI 7.0 / SP12. Please advise.
Channel <Channel Name>: Empty document found. Proceed without sending message.
Please note that as stated before that if I change the RecordSet Structure and DO NOT specify an asterisk "*", I do not get the "Empty document found message" and the message actually appears in Integration Engine with a payload.
Thanks in advance for your input.
Edited by: Ravinder Masuta on Nov 25, 2008 3:43 AM
Edited by: Ravinder Masuta on Nov 25, 2008 3:45 AM
Edited by: Ravinder Masuta on Nov 25, 2008 3:47 AM
Edited by: Ravinder Masuta on Nov 25, 2008 3:48 AM
All,
Found the solution to the issue I have been facing. Apparently, the Keyfield values cannot handle any trailing spaces. Thereby I ending up splitting the SEGNAM field to SEGNAM and SEGNAM_FILLER where field SEGNAM would have a length equal to the value specified in the field.
Thanks to all for your valuable input.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Are you sure that the file is been read? plz check in SXMB_MONI payload.
[Sender File CC|http://help.sap.com/saphelp_NW04/helpdata/en/2c/181077dd7d6b4ea6a8029b20bf7e55/content.htm]
nikhil
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
As stated earlier in the post, the scenario does not work with the following specified in the RecordSet Structure: EDI_DC40,1,E2IDKU1,\*,E2EDK03,\*
Where as when I use the following in the RecordSet Structure, the file contents are appropriately seen in the Message Payload and can be seen in SXMB_MONI:
RecordSet Structure: EDI_DC40,1,E2IDKU1,2,E2EDK03,1
Yes - My Recordset looks exactly the same to what you have specified.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Anand,
I have already tried both the iterations with and without the spaces specified in the Recordset Structure. Thanks.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Anand,
Yes I have tried both scenarios in the Record Set: With or without spaces after the commas for a related field.
Thanks.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
what you say is if you give the following RecordSet you get empty document. Try removing the space between commas. this shdn't matter, but ur structure looks good..
RecordSet Structure: EDI_DC40,1,E2IDKU1,,E2EDK03,
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
86 | |
23 | |
11 | |
9 | |
8 | |
5 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.