IDocs are not reaching SAP BC

I tried with that field with and without the correct path of the record still the problem exists …

please help me …stuck here completely…

Try documenttorecord as the first step in the flow. Next step is transformflattohierarchy. in the second step define 2 recordlists within the boundnode input record:
IDOC_CONTROL_REC_40
IDOC_DATA_REC_40
and map these to the service in for the transform step.
Map the service out of the boundnode to your idoc document as defined in SAP BC. This is how I always get my inbound idocs.

Pat
Could you please explain further ? for documentToRecord service we need to input the XML and it outputs the IData Object…

Thanks
SK

Sreedhar,

Regarding using of documentToRecord service,
Before using this service use the stringToDocument service (set input xmldata)this gives output Node (object)
and then map this Node to documentToRecord service and also set inputs(recordName=folder.subfolder:recordName)and makeArrays=false (optional)this will parse the XML string and gives output boundNode (XML Document Structure (IDATA)with values)and map this boundNode to the record structure (use as recordReference).

The pub.sap.idoc:transformFlatToHierarchy service is for parsing an IDOC file the similar way we did above for XML.

For more information refer the documentation.

HTH,
RMG

Continuing the bove post:

The pub.sap.idoc:transformFlatToHierarchy service once after parsing the IDOC against the conformsTo (SAP IDOC Schema/recordType)gives output the boundNode document that contains (IDOC_CONTROL_REC_40,IDOC_DATA_REC_40 )structures.So using recordReference map the service out of the boundNode to your idoc record structure which you might hava created based on the SAP provided IDOc Schema defined in SAP BC.

Hope Pat and me are on same page.

HTH,

To RMG - We are on the same page.
Shreedhar - I am using webmth 6.01 but came from sapbc and as I recall it worked the sameway. Documenttorecord as the first step in ur flow will take the input stream and store it as a boundnode. You need to add defintion to the boundnode in order to map to inputs within flattohierarchy. you cannot simply move the boundnode at the highest level as input the flatto… treat the boundnode as an input object that requires definition described in the earlier thread.

Pat
I’m sorry to say that i’m still not getting what you said ! input to my flow would be IDoc not XML…

RMG,
I’m doing just as you said… transformFlatToHierarchy is the first service in my flow for which ‘conformsTo’ field has ‘Record.XMLSchemas:Invoice’ value. I used the recordreference for the record created from SAP Schema for INVOIC for mapping the boundnode of this service. This recordreference structure is empty despite the presence of data in IDoc in SAP!!!

PAT - if you don’t could u pls list the services one by one which u suggest me to use? (idoc is the input to my service)…

Thanks
Sreedhar

RMG/Pat /All
I’m attaching the zip file for my package. If you could look into this and let me know wher ei’m messing i twould be very very helpful.

thanks
Sreedhar K

ZIP
ReceiveInvoice.zip (5.1 k)

Sreedhar,

Got your package,will update you if i have some sugesstions.

Regards,

Sreedhar,

I tried to install your package after activation i looked into the RecieveInvoice package it is totally empty with no folders/services,and it is loaded with no errors checked the logs.
Also i looked in to the Package filefolders (ns) folder nothing is showing under that.This means package export is not successfull.

If possible resend us the pacakge with correction.

HTH,

Sample is attached

SAMPLEIDOCPARSE
SAMPLEIDOCPARSE4WMUSERS.zip (11.3 k)

Bhavani shankar,

could you please let me know how to debug inbound idoc call to SAP BC… as of now i’m trying to log th edata through the service debugLog which logs to the server log…

sorry for the wrong zip file whic hisent… i’m not able to send the zip for my package as it exceeds maximium limit… could you please prpovide me with ur email id so that i’d send u my package… I tried not to drop both the record refrerence and bound node aswell… still the problem persists…!

PAT - thanks for the sample…as of now i don’t have write access for the server to load this package… i’m trying to get it now… as soon as i get it i’ll chekc out urs…

thanks
Sreedhar K

sreedhar,

see my RMG profile you will see my emailid and send me your ReceiveInvoice package.

Hopefully Pat provided package solve your issue.

Thanks,

Pat/RMG/Bhavani Shankar,

Thanks for all ur inputs. It’s working fine now. With the help of debugging i pointed out the problem and is working fine.
Another query from side (sorry…)

My Invoice IDoc contains multiple line items. My XML has got a node <lineitems> which is repititive. In BC Service i’m looping on /InvStruc/INVOIC02/IDOC[0]/E1EDP01 and when i try to assign it to XML node, step is failing saying that
[B2BCORE.0049.9019] More than one copy into the path with different common parent(s).

I tried mapping E1EDP01 segment separately into a reference record structure and from that record i tried mapping it to XML Node. Though system is popping error for step failure, but my XML is not filled with line item details!!!
Pls guide me thru this…
Many thanks
Sreedhar K

For this scenario use the appendToRecordList service and for doing this create a temporary record that contains only (lineitems fields)and do loop on In-Array /InvStruc/INVOIC02/IDOC[0]/E1EDP01 and inside this loop map the required IDOC fields to this temporary record structure and as a last step inside the loop use the appendToRecordList
and map the inputs fromItem(temp record)and toList (your actual recordReference XML (LineItems) and output toList map to(your actual recordReference XML (LineItems)and drop the fromItem,temp record at that point itself.

Finally come out of the loop and check the pipeline results,you should see the XML filled with <lineitem> Details.

HTH,

RMG,

I did as u said, but at the end of the loop i’m getting empty recordlist… I’m attaching now my complete package. pls have a look at it and advise me…

Thanks
Sreedhar k


ElectronicInvoicing.zip (49.3 k)

Sreedhar,

I installed your package and made some changes in the GFSInvoice:ReceiveInvoice service of Loop step and modified the mapping for appendToRecordList service.You can understand the changes.Download this attached package.

But i havent tested the flow since you didn’t provided with any sample IDOC and also there is no SAP services,Adapter here on my system.i am on IS6.01 not on BC.

Modified the code
ElectronicInvoicing.zip (56.4 k)

HTH,

RMG,

That worked like a charm. Thanks a ton.
Be back with more doubts sooon…:wink:

Thanks
Sreedhar K

Hi All,

I’m back with another question…
I built a service and is working fine… now for filling sales office address i have to call a RFC in SAP.

As we know if we create a outbound map in BC and point this service , BC would delete all flow steps in the service and insert outbound map service… in order to avoid this in the service i inserted the service sap.map:outbound manually. Untill this is fine…
but with this kind of operation all input and output parameters of the function module(RFC in sap) wouldn’t be created automatically… so in a map i mapped required input parameters before this outbound map call. Output from RFC is a record list(LINES), though it’s not in the PipelineOut , i’m looping at LINES after the oubound map assuming it would be in pipeline out…but during debugging i’m not getting any output from that outbound map service though the RFC in SAP is returning 6 lines of data …

i tried inserting the record list (LINES) in the pipeline out and pipeline in before service call, but as you know if we don’t map any data to the created elements, it would be wiped out…

Please guide me where i’m doing wrong …?

Thanks

Hi Sreedhar,

If I understand you, you have an output result table from your SAP RFC call. Is it so that you have this recordlist in you in and output parameters of you RFC cal service. I had once a problem that for example the bapi return table was not filled with a direct SAP rfc call from the business connector. What I did was yhe following: before I made the rfc call in the Business Connector I filled the recordlist with a empty line( a kind of initialisation) it worked out for me.
Is this your problem?

Regards Harrie