EDI document Mapping with SAP IDOC

Thanks for your reply.
How can I debug the mapping step. Bcos i send the IDoc directly from SAP . I tried to keep break point at this point. But it doesnot stop .
Can U help me with this.
Ajay

In the flow service starting from these step there should be a Trace,Step incons under the Test menu option or it should be near the break point icon.But i have no idea about SAP BC tool.

Once you got the idoc from SAP save it using savePipelineToFile and later restore it and step thru the flow as i mentioned above.So that you will have the IDOC structure and data in the pipeline.

1.transformFlatToHierarchy Service
2. Map ORDERS05(SAP IDoc) to ORDERS97A(EDIFACT). Here in this step i map individual fields from ORDERS05 to OREDRS97A.
3. ConvertToString

HTH,

Thanks for the reply. I tried the same and found out an interesting thing. I tried to loop our the record which has internally has several records.
For example :
ORDERS05
—> IDOC(Record)
------IDOC[0]
|–> EDI_DC04 (Record)
|–> E1EDK01---->E1EDK01[0]

i can map values from EDI_DC04 but not from E1EDK01 i dont understand i am still trying it.
I need to pull the values from E1EDK01[0]-BELNR and so on
Its the same case with other segments too.
Presently i am loop over /ORDERS05/ORDERS05/IDOC

Regards
Ajay

In the /ORDERS05/ORDERS05/IDOC loop,create another sub-loop over E1EDK01---->E1EDK01[0] then map to corresponding EDIFACT segment, similarly same for others…

I know this is complex,just make sure the loops are done correctly.

HTH,

Hi OUTBOUND ORDERs works now.
I am trying to get inbound DESADV into SAP System.
As mentioned in the document i have created flow Service which has envelopeProcess, getEDIstring & convertToValues. But i am not getting Values out.

Regards
Ajay

Ajay,

Nice to know Outbound mapping worked.

If you want to parse the EDIFACT DESADV envelope data use the envelopeProcess (input edidata,validate=true,complianceCheck=true gives the Values .
and for parsing transaction (UNH) data use the converToValues (input the edidata string,EDIFFSchema)gives the EDIValues.

May be the mapping flow is messing up.Step thru the flow and check in the pipeline at what point it is breaking.

HTH,

I checked it . Problem is coming from convertToValues in EnvelopeProcess. It is not generating Values document out.
Service trying to loop over /values/UNB
I am sending the file
What I did is just copied the information using ctrl C and the pasted into input parameter edidata is it write what i did ??

Regards
Ajay

UNB+UNOA:2+5106575900:01+9610774161:12+040507:1705+0405071705’
UNH+3052+DESADV:S:97A:UN’
BGM+351+MR14256+9’
TM+11:200405071300:203’
MEA+WT+AAB+KG:0’
MOA+39:0:USD’
MOA+124:0:USD’
RFF+BM:’
RFF+FO:0’
RFF+IV:0’
RFF+PK:MR14256’
RFF+AAM:1Z1V05276642184304’
NAD+WH+++MUNI’
TDT+25++0’
CPS+1’
LIN+5++58500012:MF’
IMD+F+8+:161::’
MEA+CT+SQ+PK:5’
QTY+21:5:PK’
RFF+ON::5’
RFF+CO:11:5’
LIN+3++58500002:MF’
IMD+F+8+:161::’
MEA+CT+SQ+PK:2’
QTY+21:3:PK’
RFF+ON::3’
RFF+CO:11:3’
LIN+1++10800027:MF’
IMD+F+8+:161::’
MEA+CT+SQ+PK:2’
QTY+21:2:PK’RFF+ON::1’
RFF+CO:11:1’
LIN+2++17000423:MF’
IMD+F+8+:161::’
MEA+CT+SQ+LB:0’
QTY+21:1:LB’
RFF+ON::2’
RFF+CO:11:2’
CNT+2:4’
UNT+40+3052’
UNZ+1+0405071705’

Ajay,

The process is wm.b2b.edi:envelopeProcess
Then wm.b2b.edi.util:getEDIstring
Then wm.b2b.edi:convertToValues.

See the WmEDISamples:sampleServices:UNEDIFACTtoValues example

Hi,
I am using the same process .
But i am not able to get Values out of envelopeProcess.
I did the same thing what mentioned in the UNEDIFACTtoValues. No error no values out.

Regards
Ajay

Ajay,

Check this out for testing.

Disable the convertToValues and other services and just use the envelopeProcess service and pass the edidata.

let see what happens.

Thanks,

Ajay,

I took your DESADV data and successful in parsing of UNB and UNH data and checked the pipeline Values/UNB and EDIValues/UNH loops are populating

used these 2 steps for testing…

envelopeProcess (edidata,validate=false)
convertToValues (edidata,EDIFFSchema(DESADV 97A)

But in the envelopeProcess if i set validate =true there are few nested errors which you may have to solve those erros and move further…i think the envelope data having some compliance errors.

HTH,

Hi HTH,

Thanks for your reply. I am getting Input template object in service
wm.b2b.edi:convertToValues is null [EDICOR.000010.000822].
Do i have to call the getTemplate first before convertToValues.

Regards
Ajay

Hi,

Now i am getting wm.b2b.edi.EDIin: field stk not found

in convertToValues Sevice
Regards
Ajay

Hi Ajay,

Just for your info my name is RMG not HTH.(HTH=Hope this helps).

well i am not seeing the above mentioned error here.

Are you using SAP BC tool or IntegrationServer6.0/Developer/EDIModule?

If you are using IS6.0 version then upload any sample package and just include your flow.I will check it here.

Also lets try to minimise these threads here,debug the flow and make understanding if any thing is missed or messing the flow.

HTH,
RMG

Hi RMG,

Sorry for that.
I am using SAP BC 46 Version.

Here is the Package which i am trying here

DESADV
TestPackages.zip (14.2 k)

Hi,
Can U send me the Package where U developed inbound DESADV.
It will help me too.

Regards
Ajay

Ajay,

I am using IS6.01 but not SAP BC server.

And i loaded your TestPackages and checked your service.similarly i created another _new service and attached the package.
This service is working fine and make your flow the same way.

Starting from IS/WmEDI6.01 we use EDIFFSchema instead of Templates.For SAP BC server/EDI i think it is still template mechanism.

In the convertToValues service no need to pass the input delimiters.

HTH,

Load this Package
TestPackages.zip (18.1 k)

Hey RMG [aka HTH ;-)]
whats your call name?

  • Saurabh.

Hi RMG,

Your right SAP BC doesnot support FFSSchema but it works with Templates.
I have redesigned the flow Service . But i am getting the following error.
java.lang.reflect.InvocationTargetException: wm.b2b.edi.EDIin: field stk not found

When i map edidata to edidata object in Service convertToValues.I thing is interesting when i map to ediObject i dont get the error.But EDIValues is NULL.

In the Packages i have imported Templates for 97A. Pls check it once It will help me alot .

Regards
Ajay

DESADV
TestPackages.zip (23.9 k)

Ajay,

I have loaded this package again here in IS6.0 server.

And i noticed that you have made changes in the OutBound:UNEDIFACTtoValuesDesadv_new service (you added the getTemplate service).

Here the getTemplate service output is giving(templateObject/templateObject/templateName=EDIFFSchema.UNEDIFACT.V97A:TDESADV) and i mapped this templateName to converToValues(EDIFFSchema) and output showing EDIValues(UNH segmets) as expected.

So may be SAP BC tool users can help you and debug the flow and clear that error.

Sorry for this…

Regards,