Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

idoc error during syntax check - error26

Former Member
0 Likes
2,432

hi everyone

I need help understanding where this idoc error is generating and what is it about. I went through the steps many times but it's still the same.

1 ACCEPTED SOLUTION
Read only

ThangaPrakash
Active Contributor
0 Likes
2,359

Hello Allwyn,

As you see here you were not passing the segment name to the SEGNAM parameter.

TEDIDD-SEGNAM = VSEG. TEDIDD-SEGNAM = 'Z1TRANS'.    <--- It should be segment name.

TEDIDD-SDATA = VSEG.

APPEND TEDIDD.

Regards,

TP

13 REPLIES 13
Read only

nabheetscn
SAP Champion
SAP Champion
0 Likes
2,359

Kindly check your IDOC type structure in WE30 and make sure you are passing the mandatory segments needed

Nabheet

Read only

0 Likes
2,359

Hi

This is how I have created and assigned the segments.

Please take a look and reply.. thanks

Read only

Former Member
0 Likes
2,359

Hi,

Check whether the receiving idoc and the idoc in ur partner profile are identical or not.

One cause of this error is segments miss match.

One more cause for this is wrong hierarchy.

I hope it is helpful.

Regards,

VIneesh.

Read only

former_member182354
Contributor
0 Likes
2,359

Hello,

         You seem to be missing passing data to some segments defined in your 'Z' Idoc type. Hence this error.

    

Raghav

Read only

ThangaPrakash
Active Contributor
0 Likes
2,359

Hello Allwyn,

Do the below check,

1) Are you Populatoing the segments in the same way as you have defined in WE30.

If the segment popoulation is varied from what is defined in WE30, you will get the above status message 26.

2) Also check on the below link.

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

3) Might be problem in your SET's of the segment, adjust by below steps.

a) Go to transaction WE30

b) Give the Order Type. Display

c) Double click on the segment. You will see that there is a minimum and maximum number set for this

      segment. You can increase this maximum number by creating an extension to this segment.

Regards,

Thanga

Read only

0 Likes
2,359

hi

where is the section which populates the segments? Could you ask for the info you need I am happy to take screen shots because till now from all suggestions so far I'm not able to solve this.

Here is the idoc program for this:

*&---------------------------------------------------------------------*

*& Report  ZIDOCPG

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

REPORT  ZIDOCPG.

PARAMETERS PLIFNR TYPE LIFNR.

PARAMETERS PNAME1 TYPE NAME1_GP.

PARAMETERS PORT01 TYPE ORT01_GP.

DATA VSEG LIKE Z1TRANS.

DATA VEDP13 LIKE EDP13.

DATA: BEGIN OF FEDIDC OCCURS 0.

    INCLUDE STRUCTURE EDIDC.

DATA: END OF FEDIDC."MASTER IDOC

DATA: BEGIN OF TEDIDC OCCURS 0.

    INCLUDE STRUCTURE EDIDC.

DATA: END OF TEDIDC."COMM IDOC

DATA: BEGIN OF TEDIDD OCCURS 0.

  INCLUDE STRUCTURE EDIDD.

DATA: END OF TEDIDD.

SELECT SINGLE * FROM EDP13 INTO VEDP13 WHERE MESTYP = 'ZTMSG'   AND

  IDOCTYP = 'ZTRANS'.

VSEG-LIFNR = PLIFNR.

VSEG-NAME1 = PNAME1.

VSEG-ORT01 = PORT01.

TEDIDD-SEGNAM = VSEG.

TEDIDD-SDATA = VSEG.

APPEND TEDIDD.

*TO GEN IDOC CONTROL RECORD.

FEDIDC-MESTYP = 'ZTMSG'.

FEDIDC-DOCTYP = 'ZTRANS'.

FEDIDC-RCVPOR = VEDP13-RCVPOR.

FEDIDC-RCVPRN = VEDP13-RCVPRN.

FEDIDC-RCVPRT = VEDP13-RCVPRT.

APPEND FEDIDC.

CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE'

  EXPORTING

    MASTER_IDOC_CONTROL                  = FEDIDC

  TABLES

    COMMUNICATION_IDOC_CONTROL           = TEDIDC

    MASTER_IDOC_DATA                     = TEDIDD.

COMMIT WORK.

Read only

0 Likes
2,359

Hello Allwyn,

you have been using Z1TRANS segment type in the idoc.

Goto SE11 give Z1TRANS in the structure and search for the where used list, you will get the place where that segment is filled during the Idoc execution.

Check there whether the segment is populated in the same order as defined in the structure.

Regards,

TP

Read only

0 Likes
2,359

hi

I did as you said and I can see vseg-lifnr = plifnr but what I'm doing in the program is passing 3 fields to vseg i.e lifnr, name1 and ort01 as per the below code from my idoc program which i have pasted in the previous reply

SELECT SINGLE * FROM EDP13 INTO VEDP13 WHERE MESTYP = 'ZTMSG'   AND

  IDOCTYP = 'ZTRANS'.

VSEG-LIFNR = PLIFNR.

VSEG-NAME1 = PNAME1.

VSEG-ORT01 = PORT01.

 

TEDIDD-SEGNAM = VSEG.

TEDIDD-SDATA = VSEG.

APPEND TEDIDD.

Is this the error that all 3 fields are not being moved to vseg?

The entire process I'm doing is : I have made an tcode ZTC which enters lifnr,name1,ort01 into lfa1 table and then I run my idoc program(above) and again pass the same values(in parameters) i had entered into ZTC and then these values are sent to client 810 using IDOC.

Thank you. Waiting for your reply.

Read only

ThangaPrakash
Active Contributor
0 Likes
2,360

Hello Allwyn,

As you see here you were not passing the segment name to the SEGNAM parameter.

TEDIDD-SEGNAM = VSEG. TEDIDD-SEGNAM = 'Z1TRANS'.    <--- It should be segment name.

TEDIDD-SDATA = VSEG.

APPEND TEDIDD.

Regards,

TP

Read only

0 Likes
2,359

Hi,

but i have declared vseg - DATA VSEG LIKE Z1TRANS.

Also I think I add tried this suggestion it didn't workout.. I'll see again.

thanks.

Read only

0 Likes
2,359

Hello Allwyn,

It is just the declaration and VSEG has the structure similar to Z1TRANS.

But you have to pass the segment name to the parameter like this TEDIDD-SEGNAM = 'Z1TRANS'.

Regards,

Thanga

Read only

0 Likes
2,359

Hey thanks!

It worked I got the error 26 sorted but now some other errors still remain on the c810 side so I'll review them for later.

Thanks for the help.

Regards.

Read only

0 Likes
2,359

Hello Allwyn,

You are always welcome

Regards,

Thanga