Custom idoc segment fields not populated
Way back in 1999 someone create a custom Idoc type with custom Idoc segments in it. Unfortunately, they forgot to release one of the segments.
Recently a change was request to add new fields to this custom segment. In order to get the fields transported the segment had to be released.
All worked fine in Dev and the new Idoc segments were populated as expected. However when the idoc segment was moved to the test system all visually appears to be fine but when the idoc is created (status 50) the new fields are not popultated.
In 40B the start of the inbound process was IDOC_INBOUND_DATA. Does anyone know what the new starting point is in 4.7??
I beleive the error is actually that SData is not reading all the input values and stopping right where the old fields end in teh custom segment.
Thanks,
Anthony
additionally,
SAP will not allow us to release the basic idoc type because it was released in 40B. It also will not allow us to cancel the release since we are now in 620. So, unless anyone has input for this I think the only solution will be to create a successor IDoc type and change our apps to use the new IDoc type with it's enhancements.
Similar Messages
-
Replaced value is not getting relected in IDOC segment field
Hi,
Need your help for the below issue.
I am replacing the PO # with Delivery Doc # . But the replaced value is not getting reflected in the IDOC segment field(e1bp2017_gm_item_create-po_number.).
Function Module which I am using is IDOC_INPUT_MBGMCR as a copy.
Here is my code given below:
SELECT
SINGLE vbeln
INTO lx_vbeln
FROM lips
WHERE vgbel EQ e1bp2017_gm_item_create-po_number.
Move lx_vbeln TO e1bp2017_gm_item_create-po_number.
MOVE-CORRESPONDING e1bp2017_gm_item_create
TO goodsmvt_item.
Then this is passed as TABLE in "BAPI_GOODSMVT_CREATE".
Please do the needful.Hi Dheepa,
Check it in debug whether the filed is empty or having po#, when ur code is executed for the replacement. if it is empty, po# is populated after ur code. in this case you need to write the code in suitable place.
Reddy -
How to map idoc segment field E1IDB02-FIIKONTO with BSEG-ESRNR.
Hi,
I have searched for lot of threads in the forum , and also i tried myself but i am not able to map this fields segment with my logic, so please anyone kindly contribute in mapping idoc segment field with the logic given below:
idoc type :PAYEXT outbound idoc.
message type: PEXR2002
This is my logic: i need to populate the ISR number(BSEG-ESRNR ) in idoc segment field( E1IDB02-FIIKONTO)
DATA : str1 TYPE string,
len1 TYPE i,
len2 TYPE i,
str2 TYPE string,
str3 TYPE string.
str1 = '01-1234-4'. ---> BSEG-ESRNR "ISR Subscriber Number
REPLACE FIRST OCCURRENCE OF '-' IN str1 WITH '_'.
REPLACE ALL OCCURRENCES OF '-' IN str1 WITH space.
CONDENSE str1.
len1 = STRLEN( str1 ).
IF len1 LT '9'.
len2 = '9' - len1.
CASE len2.
WHEN '1'.
REPLACE ALL OCCURRENCES OF '_' IN str1 WITH '00'.
WHEN '2'.
REPLACE ALL OCCURRENCES OF '_' IN str1 WITH '000'.
WHEN '3'.
REPLACE ALL OCCURRENCES OF '_' IN str1 WITH '0000'.
WHEN '4'.
REPLACE ALL OCCURRENCES OF '_' IN str1 WITH '000000'.
WHEN OTHERS.
ENDCASE.
ELSEIF len1 EQ '9'.
REPLACE ALL OCCURRENCES OF '_' IN str1 WITH '0'.
ELSEIF len1 GT '9'.
REPLACE ALL OCCURRENCES OF '_' IN str1 WITH space.
CONDENSE str1.
ENDIF.
Thanks in Advance.Resolved.
-
Hi,
Iam new to idocs and a functional consultant. I need to know whenever we receive the inbound idocs and if i see the segments of the inbound idoc, do the fields which i see in the segments are the sap fields.????/ for instance if the inbound idoc needs to create a sales order, then the fields of the segments of such an inbound idoc are the normal sap sales order fields ??
do i need to give functional specs to the abapers that whenever the inbound idocs is received the segments fields need to be mapped to sales order fields if such an idoc needs to create a sales order ??
regards
sachinHi Sachin,
Most of the IDoc segment fields are simmilar to SAP transaction fields e.g. most of the ORDERS IDoc segment fields will be simmilar to what you can see in VA01/VA02 screen fields.
Some fields may have different names.
In the case of few segments which may repeate in IDoc with different qualifiers (such as partner details, date segments), fields will be same but different qualifier value decides where these field values will be populated in the Order.
If you are using standard function module to create Order, it will take care of mapping IDoc segment fields to VA01/VA02 screen fields. But if it is a Z function module, then you need to specify the mapping.
Hope this information will help you.
Regards,
Mahesh Pakhale -
Hi,
I am having a problem with the display of idoc segment fields. When i check the Idoc segment contents in WE02 it is displaying the fields which dont have the value in the DB table along with the fields which have the data. To avoid this what is the procedure. I dont want to display the fields in the content of segment which does not contains the data.
Plz help me out.
Regards
SantoshHi,
U have to use for reduced message type...U need to filter the segments which u don't want...In BD53 u need to create reduced message type....
plz go through the below link..
http://help.sap.com/saphelp_erp2005/helpdata/en/d3/06f6679aaf0e44b67ca6d6b58d91df/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/0b/2a6702507d11d18ee90000e8366fc2/content.htm
Regards,
Nagaraj -
Error While Creating Custom IDOC Segment using WE31
Could anyone please help me resolve this issue.
I am getting following error when trying to create a custom IDOC segment type using WE31.
"Name range violation: Name Z1WOHDR not permitted in SAP system"
Segment type trying to create: Z1WOHDR
Regards
VenuTry changing the name , But i am not getting any such error with the name you are using.
Just Try with some onther name -
IDOC segment fields prefixing blank space with values
Hi Experts,
I am sending data through custom IDOC from SAP to XML which generates successfully but getting 2 problems in the data.
its having 3 level idoc segments:
SEGMENT1 with 1 field (field_name(20))
SEGMENT2 with 3 fields, (code_g(20), field_name(20), value(20))
SEGMENT3 with 4 fields, (code(20), field_name(20), Language(2) & text(20))
When i check the idoc in WE02,
1. i found that segment2-value field is prefixing some space along with the values.
Eg: if the output is "0111" whihc is plant, in the output (WE02) it is giving " 0111"
2. Segment3-language is no where in the output and text which should come as "011" is coming like " EN011" means it is concatinating language field value and displaying it with the text field value with prefixing space.
This is happening in PRD not in QA & DEV. I also checked the transport req and everything, Its same everywhere.
Can anyone please help me on this.
Regards,
NikHi,
This issue happnes when u are moving the data to iDOC segement with offset.
to aviod this improper move instead of using offset statement use below mentioned code.
decalare a structure as
Data SEG1 type SEGMENT1 ,
SEG2 type SEGMENT2,
SEG3 type SEGMENT3.
then while moving
SEG2-code_g = 'XXXX'
SEG2-field_name = 'YYYY'
SEG3-value = 'ZZZZ'
here u are moving the segment values to idoc data (SDATA) and then append it.
move seg3 to idoc-sdata.
then append it to idoc.
hope this helps -
Hi,
I am working on inbound processing of idocs. The issue is to post production confirmations into SAP using idocs sent by the middleware. I have to create a custom idoc for this purpose. I know the steps for creating a custom idoc type and message type.
The problem is that the number of segments of each idoc sent by the middleware is not fixed. They wanted the idoc to be setup in such a way that each time they send an idoc they want segments repeated based on the entries in the flat file.
Please help me out.ThanksHI,
For this i have a solution.
you can make two segments one is header and other is item.
in Header segment only setno field ocours. and in item segment all three fields will be there. like this.
HEADER INFORMATION:
1
ITEM INFORMATION:
1 a i
1 b o
i c o
Now you fill your each idoc for each setno. and distribute it. and in receving system you will got a IDOC for each SETNO. Then you can loop in header segment and find all its items from item segment.
Regards,
HRA
<b>Reward points if my post helps you.</b> -
End routine field not populated
Hi,
I have made the following end routine in order to populate the field YNEGOCIO with two characters.
I´m uploading data from DSO 0FIAR_O03 to customized DSO. When i activate this DSO i don´t see the field YNEGOCIO populated but the strange thing is that when i make a debbugg to the end routine, the result package-YNEGOCIO at the end of routine IS POPULATED with the correct values.
Can anybody help me with this?
LOOP AT RESULT_PACKAGE INTO e_s_result.
**Recover characters 14,15 from YNEGOCIO.
CLEAR lv_negocio.
SELECT SINGLE
/BIC/YYKEY
FROM /BIC/AYSDLASPV00
INTO lv_key
WHERE
/BIC/YYVALUE EQ e_s_result-GL_ACCOUNT.
IF sy-subrc EQ 0.
MOVE lv_key+13(2) TO lv_negocio.
ENDIF.
LOOP AT gt_inv_gl9_doc INTO gs_inv_gl8_doc
WHERE ac_doc_no = e_s_result-ac_doc_no.
* Calculate Importe Aplicado
MOVE e_s_result to aux_s_result.
aux_s_result-record = v_count + 1.
IF aux_s_result-DEB_CRE_DC IS NOT INITIAL.
aux_s_result-PROFIT_CTR = gs_inv_gl8_doc-profit_ctr.
aux_s_result-USERNAME = gs_inv_gl8_doc-USERNAME.
aux_s_result-deb_cre_dc = gs_inv_gl8_doc-DEB_CRE_DC.
aux_s_result-/BIC/YI_WRBTR = gs_inv_gl8_doc-DEB_CRE_DC *
aux_s_result-/BIC/YI_WRBTR / aux_s_result-DEB_CRE_DC.
aux_s_result-/BIC/YNEGOCIO = lv_negocio.
APPEND aux_s_result to e_t_result.
ENDIF.
endloop.
endloop.
REFRESH RESULT_PACKAGE.
MOVE e_t_result[] TO RESULT_PACKAGE[].
Regards,
Diegohi,
check your changelog table and see data over there, i guess this situation generally happens when you do delta laod , itmight happening bcoz of two image are created which might be cancelling each other when request gets actiavted in DSO and also see for 0recordmode value.
hope it helps
regards
laksh -
How to Read Idoc - Segment fields values and status messages
Hi,
I am having one requirement as i want to read the segments along with the field values and also i want to read all the status messages.
first i read the idoc data from EDIDS and segments data from EDID4 and the staus messges from T100. but still i am not getting all the status messages.
is there any other table which contains the information of IDOC segments and field values and also the status messages.
Regards,
KumarYou need to use
V_MSGNO = EDIDS-STAMNO.
CALL FUNCTION 'MESSAGE_PREPARE'
EXPORTING
MSG_ID = EDIDS-STAMID
MSG_NO = V_MSGNO
MSG_VAR1 = EDIDS-STAPA1
MSG_VAR2 = EDIDS-STAPA2
MSG_VAR3 = EDIDS-STAPA3
MSG_VAR4 = EDIDS-STAPA4
IMPORTING
MSG_TEXT = V_TEXT.
WRITE: / V_TEXT.
a® -
Idoc segment field - maximum length ?
Hi,
what is the maximum of characters in a segment field of an idoc ?
regards,
HansMax length = 1000 characters
Check out
http://help.sap.com/saphelp_nw04/helpdata/en/1c/9fad3a05fdb92de10000000a114084/content.htm
FYI
ALE Interface
The following objects are generated from the application function module:
· Message, IDoc structure and segments: Mapping of the complex data type
· Outbound function module: Each IDoc always contains one application object only
· Inbound function module: IDocs are always transferred to the application individually or in packets of objects.
· Customizing objects required for the run
Assigning names to generated objects
· Default message (maximum 30 characters) proposed from the function module name.
· IDoc (maximum 30 characters) is derived from the message the last two characters are extended by 01 (message <= 28 characters) or are replaced by 01 (message > 28 characters).
· Generated function module name
Outbound (maximum 30 characters): ALE_function module name (default)
Inbound (maximum 30 characters): IDOC_INPUT_message (default)
· Segments
The default segment name begins with E1 for SAP and Z1 for customers, or namespace /.../. A meaningful and unique segment name is assigned as follows:
- In the application system (maximum 27 characters):
The segment name is derived from the structure name:
· If the structure name is shorter than 24 characters, the segment name is copied directly.
· If the structure name is longer than 23 characters, it is shortened to 23 and the less important characters at the front are cut off. The remaining characters are used to form a number that establishes the uniqueness of the shortened name. If numbers 01 to 99 are used, assignment continues with numbers 100 to 999 until the segment name becomes unique. This ensures that new segment names are created for the same structure, when this structure is used many times in a complex data type.
Hope thisll give you idea!!
P.S award the points.
Good luck
Thanks
Saquib Khan
"Some are wise and some are otherwise" -
hi experts,
i have one problem i have sales item,and header dso's which i have loaded the data using flat files.when am trying to load to cube some of the fields of header is not getting populated.when i am loading only header data that time it is showing the data in cube.when i am loading item data also that time some of the fields of header are not populating in cube.i have tried by taking two seperate cubes for header and item and tried to loading data to multiprovider. but same issue came.for ur reference i am providing screen shots of that. this is multi provider screen shot in this u can observe that division ,region and some fields are not populating data. in local sand box i have done this please help me to resolve this issue.
header cube screen shot before loading to multiprovider.
item cube screen shot before loading to multiprovider.
regards
jaswanthiHow are you "loading" to a MultiProvider? A MultiProvider is merely a "view" on 1 or more InfoProviders, nothing gets loaded in it.
The screen shot of your MultiProvider shows data of your items InfoCube only... have you filtered on the InfoProvider field? If not, try and filter on your header InfoCube and see whether it shows any data. If not, then there's something wrong with your mappings in the MultiProvider definition.
It's perfectly normal to have empty fields if you're combining 2 InfoProviders into 1 MultiProvider. If that's not what you want, you should consider an InfoSet (which "joins" data) or model it so that when you're sending item data to a new InfoCube, you "look up" the missing header data in your header data DSO and add it. -
Idoc segment field length changes
Hi friends,,
I am new to idoc.
My requirement is in my segment
i am having 5 fields and also this segment is already realeased one.
i wnat to change the field length from 10 to 20 . how to do this ?
actually what i did is
1. i cancel the release for that segment.
2. in that field inside the dataelement i changed the field length from 10 to 20.
3. data elemnt get chaged from 10 to 20 but Export length for that field in Idoc segment still retain the 10 only
can you plz how to resolve this
devaHi,
The way you used is right. ( cancel release or create a new segment )
After you cancel release, try delete that field, and insert a new one.
If it isn't valid still, create a new segment instead.
Regards
Sam -
Hi Experts,
I have enhanced 0fi_gl_4 extractor. appropriate data is coming into the extractor. But when I load the ODS the enhanced fields are not populating.
Can anyone help please.
Thanks in advance
YvoneHi,
The issue has to be one of the areas below. Heres a checklist-
Source system:
RSA3 check. New fields pulling the correct data?
BW:
1. Replication of DataSource - done?
2. Transfer Structure & Transfer Rules in place for the new fields?
3. InfoObjects the above fileds are being mapped to are the correct type, in the correct InfoSource & Data Target? All activated?
4. Update rule that maps these new InfoObjects. Acivated? Has the specific mappings for the new infoObjects been checked and validated?
Hope this helps
Sandeep -
SQ01 query, one field not populating in first line, pushing data to next line
Good day all
I have worked with queries for some time and have never encountered this error
I have a few table joins (FAGLFLEXA, BKPF, BSEG, EKKN, SKAT and EKPO), every thing works and displays correctly, except for the one field
EKKN (ABLAD) - Unload Point.
For some reason, when I test the query, it displays correctly with one entry, but as soon as you run the test for more entries, for some reason, the first Unloading point on the report is empty and the value reflects on the next line. If you display the physical documents where the data pulls from, you can clearly see that the entire report pushes down the field to the next line.
For example
Physical SAP Document GL and or PO:
Year Per Do Document No Profit Account Short Text Merch Amount in Grp Segm Posted on Unload Point
2014 001 XF 40000000000 ABCD 86100 Text ACD 72799.60 11 20140106 24/59/68
2014 001 XD 40000000001 ABCC 86100 Text ACC 18755.50 11 20140108 26/00/48
SQ01 report (with one line)
Year Per Do Document No Profit Account Short Text Merch Amount in Grp Segm Posted on Unload Point
2014 001 XF 40000000000 ABCD 86100 Text ACD 72799.60 11 20140106 24/59/68
SQ01 report (with more lines)
Year Per Do Document No Profit Account Short Text Merch Amount in Grp Segm Posted on Unload Point
2014 001 XF 40000000000 ABCD 86100 Text ACD 72799.60 11 20140106 2014 001 XD 40000000001 ABCC 86100 Text ACC 18755.50 11 20140108 24/59/68I found the error! The query was written in a certain format. For example it had many fields which was used to populate the data from different tables. The error occured because of the sequence. The query had to bring in a field but it had to derive it from a purchase order, but the purchase order check was after the said field therefor, when it looked at the Purchase Order, it found the field and populated it, but only on the second line. In the first line it couldnt find the Purchase order yet (as EKKO was lower down), so it didnt populate it yet....
SIGH
Maybe you are looking for
-
How to pop up alert "No Data found" if there are no values in database
Hi All, Please tell me how to pop up alert if there is no data found and all fields are null in report for given parameter value. or else is there any way to trigger user while entering parameter value that wrong parameter value. (I dnt want to use d
-
Dell u3011 intermitently goes black
Hi, I have the latest MBP up to date and I am using a Dell u3011. The screen works fine until it goes black (the LED remains blue, it does not go to sleep) then either it will come back on after a couple of seconds or it does not come back on at all
-
I lost my menu bar- how do I get it back?
I clicked on something, I suppose!, and don't have a menu bar anymore.
-
Generated WSDL doesn't work in Visual Studio
After an update of SAP we have some problems with our web service (WSDL). First of all we created a webservice using SE80. The generated WSDL url mentioned in SE80 doesn't work in visual studio which is in our opinion weird. When we use the url from
-
Iphoto just imported thousands of images from games on my computer.
Iphoto just imported thousands of images from games on my computer, how can i get rid of them without having to sit for hours deleting all of them?