cancel
Showing results for 
Search instead for 
Did you mean: 

Reg:Mapping error

Former Member
0 Kudos

Hi Friends,

We have flat file with 400 lines.Can you create multiple IDOCS thru Graphical mapping.

if that is possible please share me the validating details. even i dont have test file for this.

Regards,

Naren

Accepted Solutions (1)

Accepted Solutions (1)

baskar_gopalakrishnan2
Active Contributor
0 Kudos

If you want idoc for each record in the flat file then you can go for the following blog ...

refer this [link|https://wiki.sdn.sap.com/wiki/display/XI/File%20to%20Multiple%20IDOC%20Splitting%20without%20BPM]

Please refer file content conversion link in sdn forum or sap help document or below link

http://www.riyaz.net/sap/xipi-file-content-conversion-for-complex-structures/79/

Former Member
0 Kudos

Hi Krish/Bhaskar,

Thanks For the reply!

Actually i need to create one idoc for every 10 detail records.suppose if it is 19 or 20 i need 2 Idocs.

Can we achive it thru graphical mapping.if we can its really helpful.

if not what will be the java function we need to use.

Thanks & Regards,

Naren

Former Member
0 Kudos

Hi,

Each Idoc contains header information and line item information, so in you case will each entry contain header/line-item information or how will you distinguish what data is for header and what for line-item.

Reg,

NJ

Former Member
0 Kudos

Hi NJ,

Input file is having HEADER, DETAIL & TRAILER records, We need to Create 1 IDOC for 10 DETAIL RECORDS, and if it is more than 10, than 1 more IDOC for till 20, and So on.

Regards,

Naren

PriyankaAnagani
Active Contributor
0 Kudos

Hi Narendra,

You can achieve this with graphical mapping. Please try with below logic and post your source and expected target structure for further help.

divide>ceil->splitByVAlueChange-->IDOC

divide:

input1:detail-->index(1,1)

input2:10

Regards,

Priyanka

Former Member
0 Kudos

Hi Priyanka,

Thanks for ur reply ....

With your logic we r getting 1 IDOC for 11 detail line items, but it should be 2.

i mean for 10 or less than 10, it should create 1 IDOC, from 11 to 20, 1 more IDOC should be created.

Source:

Flat File having Header, Detail, and Trailer

Target:

IDOC

Regards

Naren

PriyankaAnagani
Active Contributor
0 Kudos

Hi,

Instead of ceil try with round function.

Regards,

Priyanka

Former Member
0 Kudos

Hi Priyanka,

I have tried with round function as well.it doesn't work.

in my case what ever the value am giving in input 2 that no.of idcos r generating .i have given 10 in input 2.......that 10 IDOCS only generating. if i gv 19, even than 10 idocs are getting generated.

input1: detail>index [1,1]>divide>ceil>split by value change-->idoc

index2: constant[10]

Regards,

Naren

PriyankaAnagani
Active Contributor
0 Kudos

Hi Narendra,

input1: detail>index 1,1>divide>ceil>split by value change>collapseContext>idoc

index2: constant10

I hope this will surely work please try and let me know the result.

Regards,

Priyanka

Former Member
0 Kudos

Hi Priyanka,

When i check in Mapping display queue ......IDOC side we r getting correct number of idocs.once am excuting the test file then it showing same as what i explained u in prev message

Regards,

Naren

Former Member
0 Kudos

Hi Priyanka,

Many thanks for ur reply....

i have done with my issue.

Regards,

Naren

Former Member
0 Kudos

Hi,

I am facing 1 more issue in same logic..

I am getting perfect IDOC's are per above logic.

But

suppose we have 11 records in input file, there are 2 IDOC's

but all segments related to records are appearing in 1st IDOC only.

Nothing is coming in the second IDOC, it is empty.

Please advice, what needs to be done?

Source:

HEADER

DETAIL

TRAILER

Target:

1st IDOC: HEADER, DETAIL and TRAILER is coming for BOTH the IDOC's

2nd IDOC: Empty

Regards

Naren

PriyankaAnagani
Active Contributor
0 Kudos

Hi Narendra,

Try with the below logic to split the records into 2 idocs...please paste your sample input & expected output so tha I can provide you the logic.

formatByExample--->Segment of IDOC

formatByExample:

input1: detail>index 1,1>divide with constant 10>ceil>split by value change-->

index2: Header/detail element

Regards,

Priyanka

Former Member
0 Kudos

Hi Priyanka,

We tested it for 3 Records, 2 IDOC's are on output side, but Header/Detail segments are not coming in second IDOC.

Ideally it should show 1 header, 2 IDOC segment for detail records in 1st IDOC, and same 1 header, and 3rd IDOC segments containing detail records.

Input:

<?xml version="1.0" encoding="UTF-8"?>

<ns0:Payroll xmlns:ns0="http://gm.com/xi/GLOBALVIEW/OFS/Payroll/1">

<RECORDS>

<HEADER>

<COMP_CODE>1000</COMP_CODE>

<AC_DOC_NO/>

<FISC_YEAR>2011</FISC_YEAR>

<DOC_TYPE/>

<DOC_DATE>01102011</DOC_DATE>

<PSTNG_DATE>01152011</PSTNG_DATE>

<FIS_PERIOD>01</FIS_PERIOD>

<TRANS_DATE/>

<USERNAME/>

<REF_DOC_NO>239</REF_DOC_NO>

<HEADER_TXT>Payroll US ADP GlobalView</HEADER_TXT>

<BUS_ACT/>

<OBJ_TYPE/>

<REF_DOC_NO_LONG/>

<VATDATE/>

<BILL_CATEGORY/>

<NEG_POSTING/>

<REASON_REV/>

</HEADER>

<DETAIL>

<ITEMNO_ACC/>

<GL_ACCOUNT>S44600TEST</GL_ACCOUNT>

<ITEM_TEXT>PArea US/01/2011</ITEM_TEXT>

<REF_KEY_1/>

<REF_KEY_2/>

<REF_KEY_3/>

<ACCT_TYPE>S</ACCT_TYPE>

<DOC_TYPE/>

<COMP_CODE>1001</COMP_CODE>

<FIS_PERIOD>01</FIS_PERIOD>

<FIS_YEAR>2011</FIS_YEAR>

<PSTNG_DATE>01152011</PSTNG_DATE>

<COSTCENTER>ADP0000001</COSTCENTER>

<PROFIT_CTR/>

<WBS_ELEMENT/>

<ORDERID/>

<TRADE_ID/>

<CURR_TYPE>10</CURR_TYPE>

<CURRENCY>USD</CURRENCY>

<AMT_DOCCUR>500.00</AMT_DOCCUR>

</DETAIL>

<DETAIL>

<ITEMNO_ACC/>

<GL_ACCOUNT>S44600TEST</GL_ACCOUNT>

<ITEM_TEXT>PArea US/01/2011</ITEM_TEXT>

<REF_KEY_1/>

<REF_KEY_2/>

<REF_KEY_3/>

<ACCT_TYPE>S</ACCT_TYPE>

<DOC_TYPE/>

<COMP_CODE>1002</COMP_CODE>

<FIS_PERIOD>01</FIS_PERIOD>

<FIS_YEAR>2011</FIS_YEAR>

<PSTNG_DATE>01152011</PSTNG_DATE>

<COSTCENTER/>

<PROFIT_CTR/>

<WBS_ELEMENT/>

<ORDERID/>

<TRADE_ID/>

<CURR_TYPE>10</CURR_TYPE>

<CURRENCY>USD</CURRENCY>

<AMT_DOCCUR>500.00</AMT_DOCCUR>

</DETAIL>

<DETAIL>

<ITEMNO_ACC/>

<GL_ACCOUNT>S44600TEST</GL_ACCOUNT>

<ITEM_TEXT>PArea US/01/2011</ITEM_TEXT>

<REF_KEY_1/>

<REF_KEY_2/>

<REF_KEY_3/>

<ACCT_TYPE>S</ACCT_TYPE>

<DOC_TYPE/>

<COMP_CODE>1003</COMP_CODE>

<FIS_PERIOD>01</FIS_PERIOD>

<FIS_YEAR>2011</FIS_YEAR>

<PSTNG_DATE>01152011</PSTNG_DATE>

<COSTCENTER/>

<PROFIT_CTR/>

<WBS_ELEMENT/>

<ORDERID/>

<TRADE_ID/>

<CURR_TYPE>10</CURR_TYPE>

<CURRENCY>USD</CURRENCY>

<AMT_DOCCUR>500.00</AMT_DOCCUR>

</DETAIL>

<TRAILER>

<TOTAL_COUNT>4</TOTAL_COUNT>

</TRAILER>

</RECORDS>

</ns0:Payroll>

Output:

<?xml version="1.0" encoding="UTF-8"?>

<ACC_DOCUMENT03><IDOC BEGIN=""><E1BPACHE09 SEGMENT=""><OBJ_TYPE></OBJ_TYPE><BUS_ACT></BUS_ACT><USERNAME></USERNAME><HEADER_TXT>Payroll US ADP GlobalView</HEADER_TXT><COMP_CODE>1000</COMP_CODE><DOC_DATE>01102011</DOC_DATE><PSTNG_DATE>01152011</PSTNG_DATE><TRANS_DATE></TRANS_DATE><FISC_YEAR>2011</FISC_YEAR><FIS_PERIOD>01</FIS_PERIOD><DOC_TYPE></DOC_TYPE><REF_DOC_NO>239</REF_DOC_NO><AC_DOC_NO></AC_DOC_NO><REASON_REV></REASON_REV><REF_DOC_NO_LONG></REF_DOC_NO_LONG><NEG_POSTNG></NEG_POSTNG><BILL_CATEGORY></BILL_CATEGORY><VATDATE></VATDATE></E1BPACHE09><E1BPACGL09 SEGMENT=""><ITEMNO_ACC></ITEMNO_ACC><GL_ACCOUNT>S44600TEST</GL_ACCOUNT><ITEM_TEXT>PArea US/01/2011</ITEM_TEXT><REF_KEY_1></REF_KEY_1><REF_KEY_2></REF_KEY_2><REF_KEY_3></REF_KEY_3><ACCT_TYPE>S</ACCT_TYPE><DOC_TYPE></DOC_TYPE><COMP_CODE>1001</COMP_CODE><FIS_PERIOD>01</FIS_PERIOD><FISC_YEAR>2011</FISC_YEAR><PSTNG_DATE>01152011</PSTNG_DATE><COSTCENTER>ADP0000001</COSTCENTER><PROFIT_CTR></PROFIT_CTR><WBS_ELEMENT></WBS_ELEMENT><ORDERID></ORDERID><TRADE_ID></TRADE_ID></E1BPACGL09><E1BPACGL09 SEGMENT=""><ITEMNO_ACC></ITEMNO_ACC><GL_ACCOUNT>S44600TEST</GL_ACCOUNT><ITEM_TEXT>PArea US/01/2011</ITEM_TEXT><REF_KEY_1></REF_KEY_1><REF_KEY_2></REF_KEY_2><REF_KEY_3></REF_KEY_3><ACCT_TYPE>S</ACCT_TYPE><DOC_TYPE></DOC_TYPE><COMP_CODE>1002</COMP_CODE><FIS_PERIOD>01</FIS_PERIOD><FISC_YEAR>2011</FISC_YEAR><PSTNG_DATE>01152011</PSTNG_DATE><COSTCENTER></COSTCENTER><PROFIT_CTR></PROFIT_CTR><WBS_ELEMENT></WBS_ELEMENT><ORDERID></ORDERID><TRADE_ID></TRADE_ID></E1BPACGL09><E1BPACGL09 SEGMENT=""><ITEMNO_ACC></ITEMNO_ACC><GL_ACCOUNT>S44600TEST</GL_ACCOUNT><ITEM_TEXT>PArea US/01/2011</ITEM_TEXT><REF_KEY_1></REF_KEY_1><REF_KEY_2></REF_KEY_2><REF_KEY_3></REF_KEY_3><ACCT_TYPE>S</ACCT_TYPE><DOC_TYPE></DOC_TYPE><COMP_CODE>1003</COMP_CODE><FIS_PERIOD>01</FIS_PERIOD><FISC_YEAR>2011</FISC_YEAR><PSTNG_DATE>01152011</PSTNG_DATE><COSTCENTER></COSTCENTER><PROFIT_CTR></PROFIT_CTR><WBS_ELEMENT></WBS_ELEMENT><ORDERID></ORDERID><TRADE_ID></TRADE_ID></E1BPACGL09><E1BPACCR09 SEGMENT=""><CURR_TYPE>10</CURR_TYPE><CURRENCY>USD</CURRENCY><AMT_DOCCUR>500.00</AMT_DOCCUR></E1BPACCR09><E1BPACCR09 SEGMENT=""><CURR_TYPE>10</CURR_TYPE><CURRENCY>USD</CURRENCY><AMT_DOCCUR>500.00</AMT_DOCCUR></E1BPACCR09><E1BPACCR09 SEGMENT=""><CURR_TYPE>10</CURR_TYPE><CURRENCY>USD</CURRENCY><AMT_DOCCUR>500.00</AMT_DOCCUR></E1BPACCR09></IDOC><IDOC BEGIN=""><E1BPACHE09 SEGMENT=""></E1BPACHE09></IDOC></ACC_DOCUMENT03>

Former Member
0 Kudos

INPUT

<?xml version="1.0" encoding="UTF-8"?>

<ns0:Payroll xmlns:ns0="http://gm.com/xi/GLOBALVIEW/OFS/Payroll/1">

<RECORDS>

<HEADER>

<COMP_CODE>1000</COMP_CODE>

<AC_DOC_NO/>

<FISC_YEAR>2011</FISC_YEAR>

<DOC_TYPE/>

<DOC_DATE>01102011</DOC_DATE>

<PSTNG_DATE>01152011</PSTNG_DATE>

<FIS_PERIOD>01</FIS_PERIOD>

<TRANS_DATE/>

<USERNAME/>

<REF_DOC_NO>239</REF_DOC_NO>

<HEADER_TXT>Payroll US ADP GlobalView</HEADER_TXT>

<BUS_ACT/>

<OBJ_TYPE/>

<REF_DOC_NO_LONG/>

<VATDATE/>

<BILL_CATEGORY/>

<NEG_POSTING/>

<REASON_REV/>

</HEADER>

<DETAIL>

<ITEMNO_ACC/>

<GL_ACCOUNT>S44600TEST</GL_ACCOUNT>

<ITEM_TEXT>PArea US/01/2011</ITEM_TEXT>

<REF_KEY_1/>

<REF_KEY_2/>

<REF_KEY_3/>

<ACCT_TYPE>S</ACCT_TYPE>

<DOC_TYPE/>

<COMP_CODE>1001</COMP_CODE>

<FIS_PERIOD>01</FIS_PERIOD>

<FIS_YEAR>2011</FIS_YEAR>

<PSTNG_DATE>01152011</PSTNG_DATE>

<COSTCENTER>ADP0000001</COSTCENTER>

<PROFIT_CTR/>

<WBS_ELEMENT/>

<ORDERID/>

<TRADE_ID/>

<CURR_TYPE>10</CURR_TYPE>

<CURRENCY>USD</CURRENCY>

<AMT_DOCCUR>500.00</AMT_DOCCUR>

</DETAIL>

<DETAIL>

<ITEMNO_ACC/>

<GL_ACCOUNT>S44600TEST</GL_ACCOUNT>

<ITEM_TEXT>PArea US/01/2011</ITEM_TEXT>

<REF_KEY_1/>

<REF_KEY_2/>

<REF_KEY_3/>

<ACCT_TYPE>S</ACCT_TYPE>

<DOC_TYPE/>

<COMP_CODE>1002</COMP_CODE>

<FIS_PERIOD>01</FIS_PERIOD>

<FIS_YEAR>2011</FIS_YEAR>

<PSTNG_DATE>01152011</PSTNG_DATE>

<COSTCENTER/>

<PROFIT_CTR/>

<WBS_ELEMENT/>

<ORDERID/>

<TRADE_ID/>

<CURR_TYPE>10</CURR_TYPE>

<CURRENCY>USD</CURRENCY>

<AMT_DOCCUR>500.00</AMT_DOCCUR>

</DETAIL>

<DETAIL>

<ITEMNO_ACC/>

<GL_ACCOUNT>S44600TEST</GL_ACCOUNT>

<ITEM_TEXT>PArea US/01/2011</ITEM_TEXT>

<REF_KEY_1/>

<REF_KEY_2/>

<REF_KEY_3/>

<ACCT_TYPE>S</ACCT_TYPE>

<DOC_TYPE/>

<COMP_CODE>1003</COMP_CODE>

<FIS_PERIOD>01</FIS_PERIOD>

<FIS_YEAR>2011</FIS_YEAR>

<PSTNG_DATE>01152011</PSTNG_DATE>

<COSTCENTER/>

<PROFIT_CTR/>

<WBS_ELEMENT/>

<ORDERID/>

<TRADE_ID/>

<CURR_TYPE>10</CURR_TYPE>

<CURRENCY>USD</CURRENCY>

<AMT_DOCCUR>500.00</AMT_DOCCUR>

</DETAIL>

<TRAILER>

<TOTAL_COUNT>4</TOTAL_COUNT>

</TRAILER>

</RECORDS>

</ns0:Payroll>

Former Member
0 Kudos

OUTPUT

<?xml version="1.0" encoding="UTF-8"?>

<ACC_DOCUMENT03>

<IDOC BEGIN="">

<E1BPACHE09 SEGMENT="">

<OBJ_TYPE/>

<BUS_ACT/>

<USERNAME/>

<HEADER_TXT>Payroll US ADP GlobalView</HEADER_TXT>

<COMP_CODE>1000</COMP_CODE>

<DOC_DATE>01102011</DOC_DATE>

<PSTNG_DATE>01152011</PSTNG_DATE>

<TRANS_DATE/>

<FISC_YEAR>2011</FISC_YEAR>

<FIS_PERIOD>01</FIS_PERIOD>

<DOC_TYPE/>

<REF_DOC_NO>239</REF_DOC_NO>

<AC_DOC_NO/>

<REASON_REV/>

<REF_DOC_NO_LONG/>

<NEG_POSTNG/>

<BILL_CATEGORY/>

<VATDATE/>

</E1BPACHE09>

<E1BPACGL09 SEGMENT="">

<ITEMNO_ACC/>

<GL_ACCOUNT>S44600TEST</GL_ACCOUNT>

<ITEM_TEXT>PArea US/01/2011</ITEM_TEXT>

<REF_KEY_1/>

<REF_KEY_2/>

<REF_KEY_3/>

<ACCT_TYPE>S</ACCT_TYPE>

<DOC_TYPE/>

<COMP_CODE>1001</COMP_CODE>

<FIS_PERIOD>01</FIS_PERIOD>

<FISC_YEAR>2011</FISC_YEAR>

<PSTNG_DATE>01152011</PSTNG_DATE>

<COSTCENTER>ADP0000001</COSTCENTER>

<PROFIT_CTR/>

<WBS_ELEMENT/>

<ORDERID/>

<TRADE_ID/>

</E1BPACGL09>

<E1BPACGL09 SEGMENT="">

<ITEMNO_ACC/>

<GL_ACCOUNT>S44600TEST</GL_ACCOUNT>

<ITEM_TEXT>PArea US/01/2011</ITEM_TEXT>

<REF_KEY_1/>

<REF_KEY_2/>

<REF_KEY_3/>

<ACCT_TYPE>S</ACCT_TYPE>

<DOC_TYPE/>

<COMP_CODE>1002</COMP_CODE>

<FIS_PERIOD>01</FIS_PERIOD>

<FISC_YEAR>2011</FISC_YEAR>

<PSTNG_DATE>01152011</PSTNG_DATE>

<COSTCENTER/>

<PROFIT_CTR/>

<WBS_ELEMENT/>

<ORDERID/>

<TRADE_ID/>

</E1BPACGL09>

<E1BPACGL09 SEGMENT="">

<ITEMNO_ACC/>

<GL_ACCOUNT>S44600TEST</GL_ACCOUNT>

<ITEM_TEXT>PArea US/01/2011</ITEM_TEXT>

<REF_KEY_1/>

<REF_KEY_2/>

<REF_KEY_3/>

<ACCT_TYPE>S</ACCT_TYPE>

<DOC_TYPE/>

<COMP_CODE>1003</COMP_CODE>

<FIS_PERIOD>01</FIS_PERIOD>

<FISC_YEAR>2011</FISC_YEAR>

<PSTNG_DATE>01152011</PSTNG_DATE>

<COSTCENTER/>

<PROFIT_CTR/>

<WBS_ELEMENT/>

<ORDERID/>

<TRADE_ID/>

</E1BPACGL09>

<E1BPACCR09 SEGMENT="">

<CURR_TYPE>10</CURR_TYPE>

<CURRENCY>USD</CURRENCY>

<AMT_DOCCUR>500.00</AMT_DOCCUR>

</E1BPACCR09>

<E1BPACCR09 SEGMENT="">

<CURR_TYPE>10</CURR_TYPE>

<CURRENCY>USD</CURRENCY>

<AMT_DOCCUR>500.00</AMT_DOCCUR>

</E1BPACCR09>

<E1BPACCR09 SEGMENT="">

<CURR_TYPE>10</CURR_TYPE>

<CURRENCY>USD</CURRENCY>

<AMT_DOCCUR>500.00</AMT_DOCCUR>

</E1BPACCR09>

</IDOC>

<IDOC BEGIN="">

<E1BPACHE09 SEGMENT=""/>

</IDOC>

</ACC_DOCUMENT03>

Former Member
0 Kudos

Hi Priyanka,

That Logic Worked, But I used Input1 as what was Input2, and Input2 as what was Input1, in the solution you given.

Detail Records are coming perfectly fine for all IDOC's.

But Problem Now is, Header Segment is appearing in each new IDOC of Output, but Items under that Header Segment is appearing only in 1st IDOC, for rest only Header segment name is coming, no item level records are coming.

Please advice.

Regards,

Naren

Answers (3)

Answers (3)

Former Member
0 Kudos

great reply..very much helpful

Former Member
0 Kudos

2nd part issue

PriyankaAnagani
Active Contributor
0 Kudos

Hi Narendra,

You've only 3 detail records ryt.... so for each 10 detail records you want to create one IDOC ryt? If yes you've to get only one IDoc. Please correct me if my understanding is wrong....

Regards,

Priyanka

Former Member
0 Kudos

Hi Priyanka,

Yes, your understanding is perfect on this issue.

That Logic Worked, But I used Input1 as what was Input2, and Input2 as what was Input1, in the solution you given.

Detail Records are coming perfectly fine for all IDOC's.

But Problem Now is, Header Segment is appearing in each new IDOC of Output, but Items under that Header Segment is appearing only in 1st IDOC, for rest only Header segment name is coming, no item level records are coming.

example:

Input: 11 detailed records

Output: 2 IDOC's will Come

and they are coming

1st IDOC is showing HEADER/DETAILS

2nd IDOC is showing HEADER segment but no item level data

No issues with details in second IDOC

3rd IDOC: same as 2nd

But 2 and 3rd IDOC should also contain the same header segment and and ITeams under Header Records, as it was coming for 1st IDOC.

Please advice.

Regards,

Naren

Former Member
0 Kudos

Hi Priyanka,

Yes, your understanding is perfect on this issue.

That Logic Worked, But I used Input1 as what was Input2, and Input2 as what was Input1, in the solution you given.

Detail Records are coming perfectly fine for all IDOC's.

But Problem Now is, Header Segment is appearing in each new IDOC of Output, but Items under that Header Segment is appearing only in 1st IDOC, for rest only Header segment name is coming, no item level records are coming.

example:

Input: 11 detailed records

Output: 2 IDOC's will Come

and they are coming

1st IDOC is showing HEADER/DETAILS

2nd IDOC is showing HEADER segment but no item level data

No issues with details in second IDOC

But 2 IDOC should also contain the same header segment and and ITeams under Header Records, as it was coming for 1st IDOC.

Please advice.

Regards,

Naren

PriyankaAnagani
Active Contributor
0 Kudos

Hi,

Apply the same logic for all the other item level fields in the IDOC segment...

formatByExample--->Fields of Idoc segments

formatByExample:

input1: detail>index 1,1>divide with constant 10>ceil>split by value change-->

index2: Header/detail element

Regards,

Priyanka

Former Member
0 Kudos

Hi Priyanka,

It did not work

index1: detail >index[1,1>divide[10]>ceil>split by value-->idoc segment

index2: header/detail item

problem is with header records only.

in output IDOC header segment and records under header segment are coming for 1st IDOC,

as below:

For 1st IDOC

<IDOC BEGIN="">

<E1BPACHE09 SEGMENT="">

<OBJ_TYPE/>

<BUS_ACT/>

<USERNAME/>

<HEADER_TXT>Payroll US ADP GlobalView</HEADER_TXT>

<COMP_CODE>1000</COMP_CODE>

<DOC_DATE>01102011</DOC_DATE>

<PSTNG_DATE>01152011</PSTNG_DATE>

<TRANS_DATE/>

<FISC_YEAR>2011</FISC_YEAR>

<FIS_PERIOD>01</FIS_PERIOD>

<DOC_TYPE/>

<REF_DOC_NO>239</REF_DOC_NO>

<AC_DOC_NO/>

<REASON_REV/>

<REF_DOC_NO_LONG/>

<NEG_POSTNG/>

<BILL_CATEGORY/>

<VATDATE/>

</E1BPACHE09>

For Second IDOC:

<IDOC BEGIN="">

<E1BPACHE09 SEGMENT=""/>

no item level fields are coming, and logic is not working for header Item level.

Regards,

Naren

PriyankaAnagani
Active Contributor
0 Kudos

Hi,

For example if you want to map HEADER_TXT field in E1BPACHE09 segment of idoc...follow below logic

useOneasmany--->HEADER_TXT

useOneAsMmany:

input1: HEADER_TXT (source)

input2: detail>index 1,1>divide with constant 10>ceil>split by value change-->collapseContext

input3:detail>index 1,1>divide with constant 10>ceil>split by value change

Regards,

Priyanka

Former Member
0 Kudos

Hi Priyanka,

Many Thanks for your time and perfect replies.

It worked.

Thanks

Naren

Former Member
0 Kudos

Hi,

You need to analyse the validation rules based on the flat file. There should be some unique header or detail level field that can differentiate the number of idocs you would require.

Say for an eg., if you have only 400 detail lines where you are getting purchase order details, you can match purchase order number as validation rule for idocs.

Regards

Krish