** Inbound IDoc - One field is missing but it is displayed in SXI_MONITOR
Hi Friends,
We have developed IDoc to IDoc scenario. Source IDoc is sent from 3rd party system. Target is an Z IDoc (Replica of VEHCLE01 IDoc).
When we test the source IDoc XML from RWB, the message processed successfully in SXI_MONITOR and target IDoc is also created in backend SAP system. But, the problem is that, in target payload there are 5 fields. But, in the physical idoc created in SAP system has only 4 fields. The last field is missing.
Since it is inbound IDoc, I deleted the IDoc meta data in IDX2 txn, and reimported again the Z IDoc. But, again the same problem is coming. i.e one field is missing in inbound IDoc. But, in the receiver payload, that field is there with value.
Kindly clarify, friends.
Kind Regards,
Jegathees P.
HI,
If that field is missing for first time in R3 means(ie Receiver system, Idoc posting in we02) , then
XI side:
1. u have check whether that field is existing in Target Interface,Target Message in Interface Mapping
2. Make sure that u have mapped that field in Message Mapping.
R3 (receiver side)
1. Plz check we30 , whether that field is there for that ZIdoc structure
2. Take the same Idoc which got posted , test in we19 whether that Idoc getting posted with that field or not?
check whether ur Idoc structure is activated in XI
Thanks
Praba
Similar Messages
-
Inbound Idoc - Date fields not getting saved
Hello,
I have created inbound idoc scenario in SAP. I receive Idoc from non SAP system to SAP system.
then data from IDoc is saved into different tables, for that I have written one function module (attached to process code)
One of the segments in IDoc type has date as a field. It is of type sy-datum.
When I receive Idoc in SAP only date fields are not getting saved in tables.
Is anything specific need to be done for date fields? please advice.check which format you are getting into sap and make sure you are coverting in into required format.
-
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 -
One field is missing in downloading the file from report
Hi Friends,
I have a problem with downloading the file from SAP.
Actually the report has to download 6 fields from the list of the report to a .txt file on the presentation server. But it is downloading only 5 fields. The missing field is DEA#. Actually now i have to fix that problem.
I found that in the download process they have not inlcuded the DEA# field.
Here in this 1 field is not getting dowloading from the list of the report to the text file.
I'm giving a portion of the code.
Like this they r calling the FM:
FORM DOWNLOAD_FILE.
CALL FUNCTION 'DOWNLOAD'
EXPORTING
FILENAME = P_OUTFIL
TABLES
DATA_TAB = I_OUTPUT.
IF SY-SUBRC <> 0.
WRITE:/ 'Error downloading file'.
ENDIF.
in code we have,
data: v_output type t_output,
data: i_output type t_output occurs 0.
and,
BEGIN OF T_OUTPUT,
RECORD(200),
END OF T_OUTPUT.
when i debug the program,
the record field is showing only the 5 fields not the missing 6th filed)DEA#).
and we have another FORM :
*& Form FORMAT_FILE_WITH_TABS
Insert tabs between fields so when uploaded in Excel, the
record will be separated into columns where a tab is found.
FORM FORMAT_FILE_WITH_TABS.
LOOP AT I_KNA1 INTO V_KNA1.
CONCATENATE: V_KNA1-KUNNR
V_KNA1-NAME1
V_KNA1-NAME2
V_KNA1-STRAS
V_KNA1-ORT01
V_KNA1-REGIO
V_KNA1-PSTLZ
INTO V_OUTPUT SEPARATED BY C_TAB.
APPEND V_OUTPUT TO I_OUTPUT.
CLEAR V_OUTPUT.
ENDLOOP.
ENDFORM. " FORMAT_FILE_WITH_TABS
If you look into this FM, there is no mention of DEA# field,
i hve tried to correct it by adding the "v_likp_dea" in the FM. when i did like this it is showing the DEA# field in the downloaded .txt file but only 1 value for all the records.
My question is for each record i have to show its unique DEA#.
I guess i could do this by putting it in loop, could anybody tell me how i can i do that, Please
Thank you very much.
Raj.In the subroutine format_file_with_tabs ,
You should read it_likp with the key that uniquely identifies for dea# . This should be done in the loop at i_kna1.
Suppose kunnr identifies a unique dea# in it_likp internal table , then you should write
FORM FORMAT_FILE_WITH_TABS.
LOOP AT I_KNA1 INTO V_KNA1.
clear v_likp.
read table it_likp into v_likp
with key kunnr = v_kna1-kunnr binary search. (should sort the itab to use binary search with read. )
CONCATENATE: V_KNA1-KUNNR
V_KNA1-NAME1
V_KNA1-NAME2
V_KNA1-STRAS
V_KNA1-ORT01
V_KNA1-REGIO
V_KNA1-PSTLZ
v_likp-dea
INTO V_OUTPUT SEPARATED BY C_TAB.
APPEND V_OUTPUT TO I_OUTPUT.
CLEAR V_OUTPUT.
ENDLOOP.
ENDFORM. " FORMAT_FILE_WITH_TABS
Message was edited by: Kalidas Cheroolil -
One field value missing in the spreadsheeet
Hi All,
I have created an ALV grid report, which displays proper output. All the headers and their field value are displayed properly in the ALV output.
But when I select the option to download the output to the spreadsheet format by using the following option, it displays all the headers and their field value, except field value for only one column.
Save List in file --> Local file --> Spreadsheet.
Can some body please let me know what could me the problem?
Regards,
ReshmaHi Reshma,
I hope the column is not added dynamically. I had faced this problem for dynamic columns.
Also, you could try and download the internal table data using 'GUI_DOWNLOAD' just to cross check that you face the smae issue.
Regards,
Shyam -
Hi Gurus,
I have Inbound Idoc which is working fine ,
but it's status is showing
51 Error: Application document not posted.
What does this mean, My Idoc FM is doing all it's part which required.
Can any please suggest me .
Thanks ,
RajHello,
What you've coded looks good. Another way of error Handling can be found as below. In the below Example, I am validating the Handling Unit Number got from the IDoc.
Validation for Handling Unit ID (EXIDV2 From IDOC) - Begin
CLEAR: i_vekp.
SELECT venum
exidv
exidv2
FROM vekp INTO CORRESPONDING FIELDS OF
TABLE i_vekp
WHERE venum NE space AND
exidv NE space AND
exidv2 = wa_z1ctrlmm-exidv2.
IF sy-subrc EQ 0.
DESCRIBE TABLE i_vekp.
IF sy-tfill GT 1.
CLEAR: wa_idoc_status.
CLEAR: wa_vendor.
READ TABLE i_vendor INTO wa_vendor INDEX 1.
ws_c_flag = c_x.
wa_idoc_status-docnum = wa_idoc_control-docnum.
wa_idoc_status-status = c_51.
wa_idoc_status-msgty = c_e.
wa_idoc_status-msgid = c_msgclas.
wa_idoc_status-msgno = '004'.
wa_idoc_status-msgv1 = wa_vendor-v_batch.
APPEND wa_idoc_status TO i_idoc_status.
CLEAR: wa_idoc_status.
Here, I am not updating the IDOC_STATUS directly. Instead, I've taken one Temporary Table I_IDOC_STATUS and finally, after all the Validations are done & all the Statuses are updated in the I_IDOC_STATUS, I am updating the IDOC_STATUS Table at the end of the Function module as below.
IF Err_Flag = space.
wa_idoc_status-docnum = wa_idoc_control-docnum.
wa_idoc_status-status = c_53.
wa_idoc_status-msgty = c_s.
wa_idoc_status-msgid = c_msgclas.
wa_idoc_status-msgno = '007'.
append wa_idoc_status to I_IDoc_status.
else.
wa_idoc_status-docnum = wa_idoc_control-docnum.
wa_idoc_status-status = c_51.
wa_idoc_status-msgty = c_e.
wa_idoc_status-msgid = c_msgclas.
wa_idoc_status-msgno = '004'.
append wa_idoc_status to I_IDoc_status.
endif.
IDOC_STATUS[] = I_IDOC_STATUS[].
ENDFUNCTION.
This is how a typical Error Handling technique should be while processing a Custom Inbound Function Module. At any point in time during the Function Module, catching the Message, either Success or Failure is important otherwise, you may end up posting the IDoc with Status 51 or 62 or 64 Status which doesn't make any sense.
Thanks and Regards,
Venkat Phani Prasad Konduri -
Good morning.
Please help me.
I must set up multiple inbound IDOCS, one of them is:
Type base : orders05.
message type : orders.
The process is : data is received xi / pi, and IDOCs must be created to fill the data transaction VA01 and VA02.
I have read many tutorials but I have not been clear what to do if we use a standard IDOC type base as ORDERS05.
what should I set in r / 3?
Thanks!!!Detailed ALE configuration as follows... This might be helpful to check both your PI and ECC or R/3.
1. First - Maintain the Sender R/3 System:
SM59 : Create a RFC destination to XI
WE21 : Create a TRFC Port ->Specify the RFC Destination Created
BD54 : Create a Logical System for the Idoc Receiver
WE20 : Create Partner Profile ->Maintain Outbound and the Inbound Parameters
2. Second - Log on to XI System:
SM59 : RFC Destination for Sender System
IDX1 : Create the port to get Idoc Metadata from Sender System ( The Port Name must match the port name in the idoc header - Usually in format SAP<System ID>. eg. SAPID1 Optional Step. Not mandatory
IDX2 : Maintain the Idoc Metadata. This is needed only by XI, and not by other SAP systems. IDX2 is needed because XI needs to construct IDoc-XML from the IDoc. No other SAP system needs to do that.
3. To Enable Acknowledgement:
SXMB_ADM ->Integration Engine Configuration ->Specific Configuration ->Add New entry -> Select parameters as:
Category: RUNTIME
Parameters: ACK_SYSTEM_FAILURE
Current Value: 1
4. GO TO SLD:
Create Technical System: Choose WEB AS ABAP if the system is R/3 -> Define SAP SID, Installation Number and Database Host Name a Maintain message Server Details according to Sender System -> Maintain Client Details of Sender System ->Select a Installed Product for Sender System
Create Business System: Choose WEB AS ABAP if the system is R/3 -> Choose the Technical System and the client Created Before -> Choose the Installed Product -> Set:
Business System Role: Application System
Related Integration Server: Integration Server
5. IDOC Tunneling in XI
To prevent performance consuming XMLization and de-XMLization IDOCs are tunneled through SAP XI IDOC adapter meaning no XMLiziation is executed before the IDOC is passed onto the pipeline. Note the message is converted to UTF-8 codepage.
6. Start transaction SXMB_ADM on SAP XI.
Select option Configuration->Integration Engine Configuration and add two parameters EXTERNAL_MAPPER in the category IDOC.
Configure the parameter according to the conditions below:
If Message Code and Message Function are specified in the partner profile:
<Snd.Syst.Id>.<Snd.Syst.Client>.ReceiverPort.<Mess.Type>.<Mess.Code>.<Mess.Function>
If only the Message Code is specified in the partner profile:
<Snd. System Id>.<Snd. System Client>.ReceiverPort.<Mess. Type>.<Mess. Code>
If only Message Function is specified in the partner profile:
<Snd.Syst.Id>.<Snd.Syst.Client>.ReceiverPort.<Mess.Type>..<Mess.Function>
7. Integration Builder Integration Directory:
Add Business System: Adapter Specific Identifiers -> 'Logical System' identical to the 'Logical System Name' in the SLD Business System
IDoc Receiver Communication Channel: port the same as XI System IDX1 -
Inbound IDOC error while processing Invoice
Hi All,
I received the following error while processing an Invoice on an inbound IDOC:
<b>Field BSEG-MEINS - does not exist in the screen SAPMF05A 0300</b>
Message no. 00349
<b>Diagnosis</b>
The specified field does not exist on the screen
<b>Procedure</b>
Check your batch input data
Any assistance will be greatly appreciated.
Thanks, InnoHi
Please check which G/L Accounts were involved and verify that the Field BSEG-MEINS was set to 'optional' in Transaction OB14. The correct Field Status Variant
for the Company Code can be viewed with Transaction OBY6 and the Field
Status Group for G/L Account can be found with Transaction FS00 under
the Create/bank/inter Tab. This should eliminate the Error 00 349.
Regards
Javier -
Collecting error messsages and need to display in one field of ALV
Hi all,
I am using application log to collect all messages.
After collecting all messages, how to display all messages in one field.
FInally in the output display, i should display all messages.
is it possible, if so please help me.
Thanks in advance,
Swapana.Swapna,
Yes, you collect all the message text into the internal table git_err in my example. if don't have actual text but have message id and message type, then you can build message text using function module.
You may use following routine to build message text to fill in git_err table. you may want to use standard FM 'FORMAT_MESSAGE' directly to format message.
*& Form build_message
text
form build_message
using in_msgid
in_msgno
in_msgv1
in_msgv2
in_msgv3
in_msgv4
changing
out_msg.
data: l_msgno type sy-msgno,
l_msgid type sy-msgid,
l_msgv1 type sy-msgv1,
l_msgv2 type sy-msgv2,
l_msgv3 type sy-msgv3,
l_msgv4 type sy-msgv4,
l_msg TYPE SY-LISEL.
move: in_msgid to l_msgid,
in_msgno to l_msgno,
in_msgv1 to l_msgv1,
in_msgv2 to l_msgv2,
in_msgv3 to l_msgv3,
in_msgv4 to l_msgv4.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
ID = l_MSGID
LANG = SY-LANGU
NO = l_MSGNO
V1 = l_MSGV1
V2 = l_MSGV2
V3 = l_MSGV3
V4 = l_MSGV4
IMPORTING
MSG = l_msg
EXCEPTIONS
NOT_FOUND = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
out_msg = 'System Error'(024).
else.
move l_msg to out_msg.
ENDIF.
ENDFORM. "build_message
I hope this helps, if you have any question please let me know.
Thanks & Regards,
Mahesh Apte -
How to drill down another one report on one field value of one row
Hi,
I have two reports that can link together on one field of respective database query command. The effect i want to reach is that when user clicks this field value on some row of one report, which i call source object, another report, target object, would use this value as input parameter and the page would jump to this linked report. I can see Format Editor provides Hyperlink feature when one field is edited, but i don't know how to associate another report as what i described here.
What if one the following conditions is met:
1.one of two objects, source object, is one chart object
2.target object is one chart object
3.two objects are both chart objects
Note: two objects is separately from different reports.
Additionally, is it possible to code for hyperlink functionality under both .NET WinForm and WebForm? what if under RDC?
Thank you
Zhi
Edited by: zhi li on Sep 24, 2008 11:53 AM
Edited by: zhi li on Sep 24, 2008 11:57 AM
Edited by: zhi li on Sep 24, 2008 11:58 AMI don't know if you can use the hyperlink to call a subreport but the following has worked for me in Crystal 10:
1. In your main report create a group on the field you want to pass to the subreport.
2. In the Group Footer, use the "Insert Section below" menu command so that you have a Group Footer 1a and a Group Footer 1b.
3. Put your table fields in the Group Footer 1b section (this would be similar to your Details data).
4. Put the sub report in the Group Footer 1a section. Set up the links to the subreport from a table field in your main report.
5. Right-click on the sub-report, select "Format Sub-report". Click on the "x-2" button to the right of the Suppress option and enter "DrillDownGroupLevel = 0" in the "Formula Workshop-Formula Format Editor-Suppress" window and save it.
When you double-click on your data field (i.e. the field in Group footer 1b) it should drill-down and run your subreport. -
Inbound IDoc: Field BVTYP is missing
Hi,
I am new to IDoc I need help with a scenario. We have an interface wherein AP documents are transported to SAP. When we are viewing these IDocs in SAP field BVTYP (Partner Bank Type) is missing
Thanks in advanceHi,
Are you dealing with inbound or outbound IDoc for sales order?
I am a bit confused ... you mentioned the IDoc successfully posted (inbound IDoc?) however outsource EDI team reported that field ZEILE is missing (outbound IDoc?)
Regards,
Ferry Lianto -
INBOUND IDOC not updating the basic data field which is created newly
Hi,
i am creating an inbound IDOC for material master creation in that in basic data1 i have created 2 custom field in general data 1 is updating and another is not updating with the value in iDOC.
User exits codes are fine. but data is not updating.
can some one help hw to resolve this..
regards,
thanigaiHi,
Are you Debug the function module in Process code of IDOC and use COMMIT WORK in that Function module. -
Some Data Missing in the inbound Idoc received from Gentran
Hi,
We are receing one custom message type with the basic type ORDER05 in SAP from Gentran. When we checked the destination file generated in Gentran, its showing data for all the segments. However in SAP when we checked the corresponding idoc we find the segment E1EDP05 is missing. The Gentran team says they are placing the destination file in the unix server of SAP. However we dont find these files in the SAP Unix server. Could anybody advise what could be the problem and where we need to check further ?Gentran will never be able to create an IDOC within SAP. Here is what happens:
> Gentran creates a flatfile/XML which is in the IDOC format (the one which you can see in WE60).
> Gentran then places this flat file/XML in a folder on Application server. This can be UNIX, Windows NT, etc..
> Gentran then triggers the Startrfc.exe which will trigger EDI_DATA_INCOMING function module.
> This FM will parse the data, check it for consistency of the defined standards, then write the control record into EDIDC and corresponding data records into EDID4 and updates the relevant statuses (i.e. 01 - added, etc). It'll then look into the partner profile setup, look for process code and moves the status to 64 and calls the inbound FM which will post the application document.
In you case, you need to find out what file is coming in and where E1EDP05 has missed. The data will only be sent by Gentran. The inbound function modules will never update IDOC data records (unless there is a customization). The status records are updated.
If E1EDP05 is not mapped and sent by Gentran and you still used to see it, then there should have been a customization in place to add values to IDOC segment fields. Try to get the final file that is mapped from either X12/EDIFACT and then see if E1EDP05 segment is present in there. If it is present then upload the same file into AL11 using CG3Z and call EDI_DATA_INCOMING or WE19 to process it. Once processed, you'll can observe if E1EDP05 is being created or not. -
Segment E1IDBW1 is missing for the inbound idoc type PAYEXT
Hello,
the above segment is missing in the inbound idoc - basic type pexr2002.
I have checked in TC-we30 and its available there.
but still the idoc is getting generated without this segment.
can someone suggest.
thanks
ArunHi All,
I have a similar query to that of Penny. We are able to get the standard IDOC to generate with segment E1IDBW1. It contains the standard fields INPWEEMP, INPWTXT1, INPWTXT2. However, we have a requirement to manipulate the standard contents of these fields. We wanted to use user exit EXIT_SAPLIEDP_002 to do this.
I have maintained user exit EXIT_SAPLIEDP_002 but when we enter this on creation of the IDOC the segment E1IDBW1 does not seem to be available in table EDIDD_TABLE for manipulation. Can you advise please if (1) you were able to get E1IDBW1 available to edit in exit EXIT_SAPLIEDP_002 and (2) were you able to manipulate the contents of INPWTXT1, INPWTXT2 etc?
We have done the following steps:
- BTE 2441 is available on our release
- house bank has been setup as an In House Cash Center which allows E1IDBW1 to be generated
- entry has been maintained in table FEDICUS with Message Type = PAYEXT, BasicType = PEXR2002, Extension = Blank, Seg Type = E1IDBW1
- code maintained in ZXF08U04
The system enters ZXF08U04 but E1IDBW1 is not available there for manipulation.
Can you advise what we might be missing please?
Thanks and regards
Mike -
How to change field values AFTER Inbound IDOC Posted successfully
Hi SAP Experts,
In my project I receive the inbound IDOC PORDCR05 from PI and posted as an Purchase Order in ECC.
I create the Z process code and Z function module (which is a copy version of IDOC_INPUT_PORDCR) and complete all the necessary configuration steps. It works perfectly.
My problem is: I have to collect some inbound idocs (that satisfied some criteria) and change the value of field EKPO-TXJCD and EKKN-KOSTL of the PO AFTER it posted successfully (means the purchase order is created and save in database).
How can I do this? I've try to put the logic code in Z function module, but it does not work, since at that time, the Inbound IDOC is not updated to the database yet.
Aprreciate your advise.
Regards,
Elaine.Hi Elaine ,
as per your cretiria pick the idocs and take created PO# from status 53 & use the BAPI (BAPI_PO_CHANGE) to change the neccessary values in the PO. We can't reprocess those idocs again.
Reddy
Maybe you are looking for
-
How can I find out the current platform type?
Hello, I want to find out the platform type (in the format of v$transportable_platform.platform_type) of a running Oracle instance (on 10g2 and 11g1). The v$transportable_platform shows a list of all supported platforms, and I want only the type that
-
I recently started working with Java 8. I have been doing Java development on and off since the early 1990's. Most recently I have been doing all my current work in Java 6. I decided to "take the plunge" and to start getting involved with Java 8.
-
Oracle JDBC thin driver on NT vs IBM mainframe Linux
We are develping an Java 3-tier web application on NT platform. The database is Oracle 9i. The JDBC Driver is Oracle thin driver (oracle.jdbc.driver in classes12.jar). Java is JDK1.3. We are told recently that we may need to deploy this application o
-
Function module to get admin within personnel area
Hi, are there any function module to get admin for certain personnel area? i want to used it in workflow, to make rule agents for employee within personnel number "A", this workflow will go to admin for personnel area "A" thanks
-
Help phone diconnects when trying to restore.
So earlier today I was just on my phone when I press the home button then sleep. A few seconds later I attempted to wake the phone trying both the home and sleep/wake button. No luck. Plugged the phone in to the power (not pc) after a few minutes the