2014 Mar 05 11:56 AM
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.
2014 Mar 07 6:20 PM
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
2014 Mar 05 12:03 PM
Kindly check your IDOC type structure in WE30 and make sure you are passing the mandatory segments needed
Nabheet
2014 Mar 05 2:43 PM
Hi
This is how I have created and assigned the segments.
Please take a look and reply.. thanks
2014 Mar 05 12:44 PM
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.
2014 Mar 05 12:45 PM
Hello,
You seem to be missing passing data to some segments defined in your 'Z' Idoc type. Hence this error.
Raghav
2014 Mar 05 5:43 PM
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
2014 Mar 06 8:17 AM
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.
2014 Mar 06 4:20 PM
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
2014 Mar 07 8:23 AM
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.
2014 Mar 07 6:20 PM
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
2014 Mar 07 6:34 PM
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.
2014 Mar 07 6:44 PM
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
2014 Mar 07 6:50 PM
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.
2014 Mar 07 6:57 PM