Inbound idoc MATMAS - find userexit to map extension
Hi !
I have an inbound IDOC MATMAS04 with a specific extension. I need to map the fields of the extension : some of them into an append of MARA, some others into characteristics.
<b>I can't find the user exits I need.</b>
I guess there are 2 of them. The first one for mara append BEFORE the creation of the material, and the second one for the characteristics AFTER the creation of the material.
Does anyone know where I can find such user exits (even HOW to find them would be so much appreciated) ?
Kind regards,
Yann
Hi..
This is the Enhancement <b>MGV00001</b>
and The FM exit is <b>EXIT_SAPLMV02_002</b> To Enhance IDOC for MARA segment in Inbound.
<b>Reward if Helpful</b>
Similar Messages
-
Inbound Idoc Data mapping sheet
Hi experts,
I need a data mapping sheet of Inbound Idoc that will help me for mapping the segments (header, Item) both for creating material, vendor, customer etc.
That sheet will help for mapping tables and fields that are mandatory for that segments.
Thanks & Regards.
Ankur Garg.The process code you assigned to the inbound IDoc, has to be assigned to a function module which processes this IDoc, right? Now, if you use a function module of your own (CUSTOM FM!), you can do all the 'printing' you want.
So there is no option for printing by default (standard), but you will have to do it your self.
Another option would be to use a User exit. It seems there is a standard User exit (SIDOC001), or even a BAdI which you can use. I haven't used it myself, so can't help you there.
Edited by: Micky Oestreich on Mar 9, 2009 8:43 AM -
Hi,
iam working on an inbound IDOC TPSSHT01, i need to add an extrta field and segment , so i create an data element and Z segment and add the field in the segment
i have to copy the TPSSHT01 to a ZTPSSHT01 and do the IDoc extension ,
i have to copy the function module IDOC_INPUT_SHIPPL to Z_IDOC_INPUT_SHIPPL
Can any body let me know what are the steps that i have to follow to process the inbound idoc with the above requirment
Cheers,
SaiHi ,
Follow this procedure .
In bound Idoc
Step 1: Create segment
a. T.code WE31
b. Enter a new segment type and press create button
c. Give a short text
d. Enter the field names say FIELD NAME : MATNR ;; DATA ELEMENT: CHAR(18)
e. Save the segment (zkrishseg)
Step 2: Create IDOC type
a. T.code WE30
b. Enter a new IDOC type name
c. Choose the basic type and press the create button.
d. Choose the create new option button and enter a description and press enter
e. Place the cursor on the type name and then press create button.
f. Enter the segment name created in step 1 and check the mandatory segment check box
g. Enter minimum number and maximum number as 1 and press enter.
h. Then save the IDOC type. (zkrishtyp)
Step 3: Create message type
a. T.code WE81
b. Press change button.
c. Press new entries button.
d. Enter a message type and short text and press save button. (zkrishmsg)
Step 4: Assign message type to IDOC type.
a. T.code WE82
b. Press change button
c. Press new entries button.
d. Enter the created message type, IDOC type and version release (46B or 46C)
Step 5: Create a function module for inbound. (Z_IDOC_KRISH_INBOUND)
Step 5A: Create characteristics of inbound FM.
a. T.code BD51
b. Click New entries
c. Enter the IDOC function module name and 1(individual type) in input t..
d. Save it.
Step 6: Assignment of FM to log, message and type.
a. T.code WE57
b. Go for change mode and click new entries.
c. In processing by enter FM name and enter F as type.
d. Enter basic type (idoc type-zkrishtyp) and message type (zkrishmsg) in the respective text boxes.
e. Choose the direction as 2 Inbound.
f. Save the data.
Step 7. : Creation of inbound process code.
a. T.code WE42
b. Go to change mode and click create entries.
c. Enter a new process code and description (zidockrish)
d. Enter the FM name in the identification text box
e. Choose processing with ALE service
f. Choose processing by FM and click Save button
g. In the next screen, select the FM name and click save button
Step 7a : Creation of inbound process code.
h. T.code SM59
i. Select R/3 connection and click create.
j. Enter all system related things(for Eg. Connection type as 3, Target host as SAP04,
Description , and Logon details and save.
Step 8: Define a port
a. T.code WE21
b. Click on Transactional RFC and press the Create button
c. Enter a port name and description. (ztestkrish)
d. Choose the release type.
e. Choose the RFC destination.
f. To create RFC destination go to SPRO and search RFC destination and create.
g. Save the data.
Step 9. Define logical system
a. T.code SALE
b. Click down the sending and receiving systems
c. Click down the logical systems
d. Choose Define logical system.
e. Go for new entries.
f. Enter a new name and description and save it. (zkrishlog)
Step 10. Create partner profile
a. T.code WE20
b. Choose partner type LS and click create.
c. Enter the logical system name in partner number
d. Then Save . Here Type is US.
e. click + icon(create inbound parameter) in the bottom. Note: Two table control subscreens will appear. One for inbound and the other for outbound. Click + icon in inbound area.
f. Enter the message type, process code and save the data.
Step 11. Checking the Idoc
a. T.code WE19,
b. Choose radio Basic type , enter the type name(zkrishtyp) and press execute button.
c. Click on EDIDC Number.
d. Enter partner Number, Partner type, Port Number for sender and recipient ( data remains same here for sender and recipient)
e. Enter Message type and press ENTER.
f. Click on empty space corresponding to SEGMENT name and enter Paarameters like MATNR, WERKS and CHARG etc .
g. Click standard inbound properties here and press enter see the result .
h. T.code WE02
i. Enter IDOC number press ENTER see the status.
Function Module in Inbound
Import Parameters
INPUT_METHOD LIKE BDWFAP_PAR-INPU Inbound method for the IDoc inb
MASS_PROCESSING LIKE BDWFAP_PAR-MASS Flag: Mass processing
Export Parameters
WORKFLOW_RESULT LIKE BDWF_PARAM-RESULT Final value of method
APPLICATION_VARIABLELIKE BDWF_PARAM-APPL_VAR Variable to be used by
IN_UPDATE_TASK LIKE BDWFAP_PAR-UPDATETASK Flag: Application has
CALL_TRANSACTION_DONLIKE BDWFAP_PAR-CALLTRANS Flag: Application
tables
IDOC_CONTRL LIKE EDIDC Control record (IDoc)
IDOC_DATA LIKE EDIDD Data record (IDoc)
IDOC_STATUS LIKE BDIDOCSTAT ALE IDoc status (subset of al
RETURN_VARIABLES LIKE BDWFRETVAR Assignment of IDoc or documen
SERIALIZATION_INFO LIKE BDI_SER Serialization objects for one
Source code
FUNCTION ZASHOKMODULE.
""Local interface:
*" IMPORTING
*" VALUE(INPUT_METHOD) LIKE BDWFAP_PAR-INPUTMETHD
*" VALUE(MASS_PROCESSING) LIKE BDWFAP_PAR-MASS_PROC
*" EXPORTING
*" VALUE(WORKFLOW_RESULT) LIKE BDWF_PARAM-RESULT
*" VALUE(APPLICATION_VARIABLE) LIKE BDWF_PARAM-APPL_VAR
*" VALUE(IN_UPDATE_TASK) LIKE BDWFAP_PAR-UPDATETASK
*" VALUE(CALL_TRANSACTION_DONE) LIKE BDWFAP_PAR-CALLTRANS
*" TABLES
*" IDOC_CONTRL STRUCTURE EDIDC
*" IDOC_DATA STRUCTURE EDIDD
*" IDOC_STATUS STRUCTURE BDIDOCSTAT
*" RETURN_VARIABLES STRUCTURE BDWFRETVAR
*" SERIALIZATION_INFO STRUCTURE BDI_SER
data: begin of w_data occurs 0.
include structure edidd.
data: end of w_data.
data: wa_data like ZASH1.
data : i_data like standard table of wa_data initial size 0.
*tables : zhemal1.
data : begin of wa_zhemal1.
include structure zhemal1.
data : end of wa_zhemal1.
data : i_ZHEMal1 like standard table of wa_ZHEMal1 initial size 0.
read table idoc_data with key SEGNAM = 'ZASH1'.
loop at IDOC_DATA into W_DATA where segnam = 'ZASH1'.
WA_DATA = W_DATA-SDATA.
wa_data = w_data-sdata.
append wa_data to i_data.
endloop.
MOVE IDOC_DATA-DOCNUM TO IDOC_STATUS-DOCNUM.
IDOC_STATUS-MSGID = 'ZABC'.
IDOC_STATUS-STATUS = 53.
IDOC_STATUS-MSGTY = 'S'.
IDOC_STATUS-MSGNO = '001'.
APPEND IDOC_STATUS.
LOOP AT i_data into wa_data.
wa_ZHEMal1-VBELN = wa_data-VBELN.
wa_ZHEMal1-POSNR = wa_data-POSNR.
wa_ZHEMal1-MATNR = wa_data-MATNR.
wa_ZHEMal1-MATWA = wa_data-MATWA.
wa_ZHEMal1-MATKL = wa_data-MATKL.
append wa_ZHEMal1 to i_ZHEMal1.
insert ZHEMal1 from table i_ZHEMal1 accepting duplicate keys .
ENDLOOP.
ENDFUNCTION.
For Out bond Steps are
1. Create segment
2. Create Type
3. Create Message Type
4. Assign message Type to Idoc Type.
5. Create Port
6. Define Logical systems.
7. Define Partner profile.
8. Create a Report program.
Report program Out bond
REPORT ZASH1 .
Outbound standalone idoc creation *
Program Name : Y_VENMAST_OUTBOUND_STANDALONE *
Description : Outbound standalone idoc creation for training *
to Unilever offshore team members *
Created by : Satyam Computer Services Ltd. *
Created on : 04.01.2002 *
Modification Log *
Developer Date Transport # Details *
Subramony 04.01.2002 *
Tables Declaration *
TABLES : zhemal1.
Internal table declaration *
data : i_zhem1 Like standard table of zhem1 with header line.
data : control_record_out like edidc.
*data: p type p decimals 2,
c(10) type c.
start-of-selection.
p = '3.14'.
c = p.
overlay c with '0000000000000'.
write c.
DATA : BEGIN OF I_EDIDD OCCURS 0.
INCLUDE STRUCTURE EDIDD.
DATA : END OF I_EDIDD.
DATA : BEGIN OF I_EDIDC OCCURS 0.
INCLUDE STRUCTURE EDIDC.
DATA : END OF I_EDIDC.
DATA : BEGIN OF I_zhemal1 OCCURS 0,
VBELN LIKE zhemal1-VBELN,
POSNR LIKE zhemal1-POSNR,
MATNR LIKE zhemal1-MATNR,
MATWA LIKE zhemal1-MATWA,
MATKL LIKE zhemal1-MATKL,
END OF I_zhemal1.
SELECT-OPTIONS : S_vbeln FOR zhemal1-vbeln .
START-OF-SELECTION.
PERFORM F_GET_zhemal1.
END-OF-SELECTION.
Building Control record
CONTROL_RECORD_OUT-MESTYP = 'ZASH1'.
CONTROL_RECORD_OUT-IDOCTP = 'ZASH1'.
CONTROL_RECORD_OUT-RCVPRT = 'LS'.
CONTROL_RECORD_OUT-RCVPRN = 'ZASH1'.
CONTROL_RECORD_OUT-sndPRT = 'LS'.
CONTROL_RECORD_OUT-sndPRN = 'ZASH1'.
PERFORM F_PROCESS_OUTPUT.
*PERFORM F_FILL_EDIDD.
PERFORM F_CREATE_IDOC.
Form F_GET_Y1COTU110 *
FORM F_GET_zhemal1.
SELECT VBELN POSNR MATNR MATWA MATKL
FROM ZHEMAL1
INTO TABLE I_ZHEMAL1
WHERE VBELN IN S_VBELN.
ENDFORM. " F_GET_zhemal1
Form f_process_output *
FORM F_PROCESS_OUTPUT.
LOOP AT I_zhemal1.
I_zhem1-VBELN = I_zhemal1-VBELN.
I_zhem1-POSNR = I_zhemal1-POSNR.
I_zhem1-MATNR = I_zhemal1-MATNR.
I_zhem1-MATWA = I_zhemal1-MATWA.
I_zhem1-MATKL = I_zhemal1-MATKL.
i_edidd-segnam = 'ZASH1'.
i_edidd-sdata = I_zhem1.
append i_edidd.
clear i_edidd.
ENDLOOP.
ENDFORM. " f_process_output
Form f_create_edidc *
FORM F_CREATE_IDOC.
CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE'
EXPORTING
MASTER_IDOC_CONTROL = CONTROL_RECORD_OUT
TABLES
COMMUNICATION_IDOC_CONTROL = I_EDIDC
MASTER_IDOC_DATA = I_EDIDD
EXCEPTIONS
ERROR_IN_IDOC_CONTROL = 1
ERROR_WRITING_IDOC_STATUS = 2
ERROR_IN_IDOC_DATA = 3
SENDING_LOGICAL_SYSTEM_UNKNOWN = 4
OTHERS = 5.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
LOOP AT I_EDIDC.
WRITE :/ 'IDoc Generated :' , I_EDIDC-DOCNUM.
ENDLOOP.
COMMIT WORK.
ENDIF.
ENDFORM. " f_create_idoc
Please reward if useful. -
How to find Outbound Idoc number from inbound Idoc number.
Hi,
I have one inbound Idoc in my system, then
How to find the idoc number from the system which sends that idoc(Outbound Idoc number).Hello
You can use fm SREL_GET_NEXT_NEIGHBORS for this purpose.
Scenario: An EDI purchase order is received by SAP-XI and forwarded as Inbound ORDERS IDoc to R/3. SAP-XI generates an (outbound) IDoc number which differs from the (inbound) ORDERS05 IDoc in the R/3 system.
Calling fm SREL_GET_NEXT_NEIGHBORS with the following parameters:
OBJECT-OBJKEY = <IDoc number, 16-digits>
OBJECT-OBJTYPE = 'IDOC'
MAX_HOPS = '99' " <<< get all links
I get the following result:
0000000000133906 IDOC CUSTOMER OUTIDOC
0000000000407402 IDOC INIDOC
000000370383 BUS2012 CUSTOMER OUTBELEG
0010057944 BUS2032 INBELEG
Outbound IDoc number
Inbound IDoc number (ORDERS05)
PO number
Sales order (created from inbound ORDERS IDoc)
Regards
Uwe -
Hi Experts,
I have a requirement to get the Inbound IDOC for particular PO. I have used the following method:
http://forums.sdn.sap.com/thread.jspa?threadID=1082790
That means using tables:
A) SRRELROLES
B) IDOCREL
This is working for most of the cases except if the inbound IDOC is amended by the sender ( ex:- requested quantity changed ).
1. If inbound IDOC received without any changes, it will be there in SRRELROLES as roletype = 'INBELEG'.
2. If inbound IDOC received with changes it is not there in SRRELROLES.
Could you please help me to resolve this issue?
Thanks,
ChamindaHi,
Thanks for your help.
anyway, finally i had to use the time consuming way as there is no any other way.
1. Get all the ORDRSP Idocs from EDIDC based on the selected date range
select docnum status
into table lt_edidc
from edidc
where credat in p_date1 and
mestyp = 'ORDRSP'.
if sy-subrc eq 0.
sort lt_edidc.
2. Get all segment data records for the control records
select mandt docnum counter segnum segnam psgnum hlevel dtint2 sdata
from edid4
into table lt_edid4
for all entries in lt_edidc
where docnum = lt_edidc-docnum and
segnam = 'E1EDK02'.
3. to imporve the performance, i have used BINARY SEARCH when search back the IDOC from PO.
Thanks,
Chaminda
Edited by: chamindakrat on Feb 17, 2012 12:07 AM -
How to create the INBOUND Function Module for INBOUND IDOCs
Hi Friends,
Can any Suggest me How to proceed to Create an INBOUND Function Module for Processing the INBOUND IDOCS
which are recieved from XI Server ?
I am working in SAP-ISU
Here i will recieve the INBOUND IDOCs for the Meter Reading Orders.
We have a Standard INBOUND FUNCTION MODULE
IDOC_INPUT_ISU_MR_UPLOAD
which Uploads the Meter Reading Results.
I copied the Same function Module into ZIDOC_INPUT_
and working on it.
Can any one suggest me, whether i am going in correct way or not.
In IDOC_INPUT_ISU_MR_UPLOAD Inbound fun module,
BAPI_MTRREADDOC_UPLOAD is used to Update or Insert the Meter Reading Results,
My requirment is to Insert and Update the Meter Reading Orders which are Inbounded from XI.
Can I Use the Same BAPI
BAPI_MTRREADDOC_UPLOAD
to Update the below fields,
EABL-SERNR
EABL-ZWNUMMER
EABLG-ABLESGR
EABL-V_ZWSTAND
EABL-N_ZWSTAND
EABL-ABLHINW
EABL-ZSKIPC
EABL-ADAT
EABL-ATIMTATS
EABL-ADATTATS
EABL-ATIM
EABL-ZMESSAGE
EABL-ABLESER(Meter reader number)
Kindly Suggest me,
Thanks in Advance,
GaneshHello Ganesh
I think you are going completely astray with you z-function module for IDoc processing.
If you look at TABLES parameter METERREADINGRESULTS (type BAPIEABLU ) of BAPI_MTRREADDOC_UPLOAD you will find many of the requested fields already:
EABL-SERNR => BAPIEABLU-SERIALNO
EABL-ZWNUMMER =>REGISTER
EABLG-ABLESGR
EABL-V_ZWSTAND
EABL-N_ZWSTAND
EABL-ABLHINW
EABL-ZSKIPC
EABL-ADAT
EABL-ATIMTATS => ACTUALMRTIME
EABL-ADATTATS => ACTUALMRDATE
EABL-ATIM
EABL-ZMESSAGE
EABL-ABLESER(Meter reader number)
Field EABL-ZMESSAGE appears to be custom field (at least I cannot find it on ECC 6.0). If this field was added using include CI_EABL then you probably can get these values into the BAPI using the EXTENSIONIN parameter.
Check routine CHECK_UPLOADRECORDS in the BAPI which allows two extension structures:
- BAPI_TE_EABL
- BAPI_TE_EOSB
Not surprisingly BAPI_TE_EABL contains the include CI_EABL.
Regards
Uwe -
In Idoc bundling ...message mapping not found
Hi XI Friends..
In my File to Idoc scenario..i want to send multiple IDOCs from the XI without a BPM .
I am following blog by Michal.
<a href="///people/michal.krawczyk2/blog/2005/12/04/xi-idoc-bundling--the-trick-with-the-occurance-change:///people/michal.krawczyk2/blog/2005/12/04/xi-idoc-bundling--the-trick-with-the-occurance-change
I have xsd for source ..so i created one external definition .and message interface for outbound.
following the above blog by michal..
i imported idoc ..and i exported that idoc into xsd and i changed the occurance of idoc to unbounded and again imported as external definition.
i created the message mapping between these two external definitions.and tested ..
As in michal 's blog..
In Interface mapping..i given source and target interface as standard idoc.and clicked on Read interface then i am not finding the message mapping created in previous step..
i refreshed cache also..
please guide me.....
regards
ramHi bavesh...
thank you so much for very your quick responses..
i got xsd as source..based on xsd i created external definition for source xsd and i created outbound interface based on source external deifinition <b>MI_OUT_WearUnits</b>.
and i imported Idoc and exported as xsd and changed occurance to unbounded and again imported as external definition.
i did mapping between these two external definitions.
and i selected standard idoc for source and target interface for interface mapping and given message mapping of previous step.
In ID
sender agreement :
sender service :BS_external
sender interface :<b>MI_OUT_WearUnits</b>
receiver agreement:
receiver service :R/3
receiver interface : standard Idoc
Interface determination:
sender service :BS_external
sender interface :<b>MI_OUT_WearUnits</b>
reciever service :R/3
and clicked create
inbound interface : Standard IDOc
i am not getting Interface mapping which i created in IR.
i tried Enhance interface determination also..
please guide me....
waiting for your help.
regards
ram -
Inbound Idoc processing issues - Partner Profiles - error status 56
Hello All,
I'm having a little difficulty posting an idoc coming from MDM. It's a CREMDM04 xml coming from an MDM system. It is getting mapped through PI and is being split into ADRMAS02 and CREMAS04 Idocs. The message is being passed through XI and being posted to the ECC system, but certain fields in the EDI_DC40 header table are not being populated correctly (i believe). I'm using nothing but standard mapping/material from the SAP Business Content for XI. After looking through the standard XSLTs i cannot find the field-to-field mapping where the fields below are being populated.
The RCVPOR value (SAP[SID]) is correct when i view it in SOAP Header, but does not appear in the remote system under the receiver port for the inbound idoc.
The RCVPRN value ([String Value]) is incorrect in the SOAP Header and does appear in the remote system under the receiver partner number for the inbound idoc. How is the RCVPRN value being populated?
SOAP Header in IDocOutbound tag
<SAP:RCVPOR>SAP[SID]</SAP:RCVPOR>
<SAP:RCVPRN>[String Value]</SAP:RCVPRN>
<SAP:RCVPRT>LS</SAP:RCVPRT>
I've been trying to trace down the string value for the RCVPRN, but i cannot find it anywhere. Perhaps i'm just overlooking it?
When i set the proper values (port = SAP<SIDofECC> and partner number = <LSnameof ECC>) using WE19 in the remote system then the partner profile is found and i'm left with different error to please specify an address group.
Any help is very much appreciated! :-DHi Jason ,
Just check out if you have done the following steps most of us make minor mistake here ....... I think this would solve your problem
To Configure the IDOC SCENARIOS ,PROCEED AS FOLLOWS
STEP 1:ALE SETTINGS TO POST IDOC INTO SAP R/3
We need to do the following settings in XI
1) Create an RFC Destination to the Receiving System in transaction code (SM59)
a) Choose create
b) Specify the name of the RFC destination
c) Select connection type as 3 and save
d) In the technical settings tab enter the details SAP SID/URL and system number#
e) Enter the Gateway host as same details above SID/URL
f) Gateway service is 3300+system number#
g) In the Logon /Security tab, enter the client, user & Password details of Destination system
h) Test the connection and remote logon.Both should be succesful
2) Create Port Using Transaction Code IDX1
a) Select Create New button
b) Enter the port name as SAP+SID (The starting char should be SAP)
c) Enter the destination client
d) Enter the RFC Destination created in XI towards R/3
e) Save
3) Load Meta Data for IDOC Using transaction Using Transaction (IDX2)
a) Create new
b) IDOC Message Type
c) Enter port created in IDX1
SETTINGS IN SAP R/3
We need to do the following settings in R/3
Logon to Sap R/3 System
1) Create an RFC Destination to XI in transaction code (SM59)
a) Choose create
b) Specify the name of the RFC destination
c) Select connection type as 3 and save
d) In the technical settings tab enter the details SAP SID/URL and system number#
e) Enter the Gateway host as same details above SID/URL
f) Gateway service is 3300+system number#
g) In the Logon /Security tab, enter the client, user & Password details of Destination system
h) Test the connection and remote logon.Both must be succesful
2) Create communication Port for Idoc processing Using Transaction(We21)
a) First Select Transactional RFC and then click create button
b) Enter the destination port name as SAP+SID (The starting char should be SAP)
d) Enter the RFC Destination created in SAP R/3 towards other system.
e) Save
3) Create Partner Profile with Inbound Parameters (WE20)
a) Create New
b) Create the Partner no. name as same the logical system name of the destination system
c) Select Partner type LS
d) Enter details for Type: US/USER, Agent, and Lang
Then Save
e) Select Partner no. and LS which were create above
f) Now we have to give some Inbound Parameters.So click on ADD TO Create Inbound Parameter
g) Select Message type
h) Double click on Message Type and Then Enter the details for Message Type and Process Code.
I) save
4) In Transaction SALE, Create Logical System
a). Go to Basic Settings-> First Define logical systems
and then assign logical systems
b) Double click on Define the logical systems
c) Give data for your Logicaal System and Name
d) Now click on Save.Here one window may appear just click on Continue.Now the Logical System name is ready
e) Assign the logical system name to the client
do let me know if it helped
Edited by: Tom Jose on Feb 21, 2008 9:04 AM -
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. -
Custom inbound Idoc error handling/ Workflow
Dear Experts,
I have a requirement where in I created a custom inbound idoc, but now i need to handle the errors in the workflow and notify the users thru workflow on an error.
Can some one please provide me a step by step guide on how to create a organizational unit, position and assign users to the position... and any other steps that need to be configured to notify the user on the error.
I'm pretty new to all these organizational uints and workflow related stuff. Any step by step would really be helpful.
Thanks for your time.
-Amit.
Moderator message: sorry, these forums cannot replace proper training, if there is step by step guides out there, then please use the search functions.
Edited by: Thomas Zloch on Oct 31, 2010 11:50 AMVittal,
1. If your requirement is for a SAP Standard Basic Message type and a Z extension: Then you simply have to find out the 'Standard Task' associated with basic type. You shouldn't worry about extensions. The standard task will be triggered at input error.
2. If your requirement is for a Z basic type i.e. you have created a customer IDOC for a custom processing: There are many dependencies on how you can achieve this. Firstly, you need to know how you're are processing this Z_IDOC. Are you using a standard FM or custom workflow or custom FM? There should be some triggering event within the processing of this Z_IDOC which will raise a certain flag when the error you want to capture happens (or when there is a generic error). You can configure this event in binding objects to trigger a workflow task. If you take a look at any standard tasks, you'll get an idea how the triggering event happens.
Once the workflow task (you can use custom task or use a standard task i.e. by triggering a standard event within the IDOC processing program) is triggered, you can either send it to SAP inbox, e-mail, trigger another processing etc. This is altogether another story.
So bottomline: For custom IDOC processing, you need to trigger an event when error happens. This can be a custom event or a standard event. This event should be linked to a task (custom/standard - check in SWETYPV). Bind all of these in PFTC. Once the task is triggered, you can do whatever you want to do with it. -
Inbound idoc with error status 52 messege type hrmd_a07
i have an inbound idoc with status 52
error messege : Object 01 ,P ,00056786 does not exist: infotype 0302 cannot be created
Object 01 ,P ,00056786 does not exist: infotype 0006 cannot be created
i debugged but i haven't find out the reason
am updating 0000,0001,0002,0003,0006 infotypesHi rahul,
Need to check the address filed (0006) for BP mapped to postion (00056786)
Infotype 0302 (Additional Actions) :
Infotype 0302 is not maintained directly and is automatically updated by Infotype 0000 .
The additional actions Infotype (0302) is of time constraint 3 (gaps and overlaps).
Specifically in some cases if we want to have a non status-changing Action on the same day where already a personnel action is existing at that time we can activate the Infotype 302 by executing Report RPUEVSUP.
please check and let me know . I think it will be helpfull
Thanks and Regards,
Krishna -
Hi All,
I am trying to find an userexit for the Inbound Idoc.
<b>Basic type : COPAGN01.</b>
If anyone has used any user exit for the COPAGN01 kindly let me know.
Best Regards,
ManishHi,
Go to SPRO and find enhancements idoc, it will show u both exit available for idoc.
Or goto se84-> enhancements find the idoc keyword search. It will give u the desired result.
Hope this will work for u. -
Query abt Inbound IDOC.
Hi,
I am creating a custom FM for processing Inbound IDOC.
I have configured my Inbound IDOC in cutomer profile and the Process code, which is pointing to the custom FM.
In tables section of my FM, I am receiving EDIDC n EDIDD type tables.
Now If I fire my IDOC, Does the IDOC information is transfered automatically to my FM.
Cheers,
SamIt depends on the Idoc mapping in the partner profiles of WE20.
//where I have to select the inbound FM, But I don't find the entry for my FM.
Do you have an entry on that particular Fm and message type in tocde We57?
if yes then proceed as
Final check once this is over in Tcode WE57
Open tcode WE19 and give the message type of ur idoc in same and execute .
This will open your idoc . Populate it with control record details and data details .
and now click inbound function module .
this will pop up a window asking for Function module and then process the same in Debugging mode and execute it .
This is a replica of how the Fm is called manually.
Since in WE57 the mapping is done for the Message type and Fm it will pick the Fm .
regards,
vijay. -
Creation of Sales Order and Service Contract from Inbound IDOC
Hi Experts,
My requirement is to create a Sales Order as well as a Service Contract from one Inbound IDOC. I am getting the Inbound IDOC from a third Party. The message type is ORDERS and Basic Type is ORDERS02. How ever i am using an extension type IDOC which carries all the required data for Sales Order and Service Contract. My requirement is like, to create a Sales Order first.
I have created a Z FM which is attached to the Process Code and subsequently to the message type. Inside the FM i an calling FM 'IDOC_INPUT_ORDERS' for creation of Sales Order. After that i am changing the IDOC data for the Document Type. I am changing the document type which is responsible for Contract Creation.
Then I am again calling the FM 'IDOC_INPUT_ORDERS' for creation of Contract with the help of IDOC data. But here the Contract is not getting created. It's getting failed during the Batch input session.
I need to solve this problem as soon as possible. Please help me. If there are any other options also please share.
Thanks in Advance.
Regards,
PriyabrataActually there is problem with BDCDATA. Inside the FM it's calling transaction with help of BDCDATA. If i am creating a Sales order or contract alone its creating successfully. But when i am trying to create both, it's retuning sy-subrc '1001' after calling the transaction on the second attempt. Is there any problem with BDCDATA like we can't handle with less time gap? Please help and give your inputs.
Regards,
Priyabrata -
How to block the status mail for an inbound Idoc to a specific user
Hi,
I have to stop sending the error status mail to a specific user depenidng on Partner Type. This will trigger when an inbound Idoc contains status error(message type INVOIC &ORDRSP).This user needs other mails which are getting triggered with the same Idoc for the same partner. Basically, the requirement is to block only the status mail for that user. The statndard task for this is TS70008125 and it uses the agent determination rule 30000001 (Idoc Administrator).in WE46, this task is assigned to process code EDIR. I have copied the task to a custom task and changed the agent determination rule. I would like to know how will I configure this task so that this custom task will trigger for the status error, without altering other workflows for the same message type & the partner type. Or is there any other way to block the mail?
Thanks,
SantoshHi,
I have done the required coding to exclude the specific agent from the rule,copied the task and its ready. My question is how do I map this custom task to a particular partner type, for the message type INVOIC in WE20? (The message type used for the inbound Idoc is INVOIC). I checked the Partner profile in WE20. Most of the process code is using function module as the processing type.
Thanks,
Santosh
Maybe you are looking for
-
How to get the list of deployed projects in OSB through commond line
How to get the list of deployed projects in OSB through commond line; as we are able to get in weblogic.
-
Is it possible to display the values of variables in the "Process Success"
Process Success Message location? I have a single page which allows two different things which might be accomplished depending on what the user does. I'd like to give a confirmation message to the user as to what it is they just successfully accompli
-
How can I import all photos from iPhoto and delete all the ones currently on my iPad?
I uploaded all of my iPad's photos to iPhoto('08) thinking it would be easier to delete and organize them. Now that I've done that in iPhoto I need help finding out how to delete all the photos from the iPad and have the iPhoto photos imported from i
-
RE: ABAP QUESTIONS ASKED AT ONE OF THE INTERVIEW
Which software component in the work process controls both commit and rollbacks? " Woman is generally one for Commitment, Man for Rollback. Can the IDoc be passed to multiple servers ? If yes how? if no why? " The Eye Doc serves multiple p
-
Motion Tween causing disappearences
Greetings~ I have a menu I'm building in Flash, the version with no animations can be seen at http://www.brightwork.com/overview. I'm trying to make the block of text on the left tween in from the left. That block of text is a movie clip made up of t