Processing Inbound IDOC's from FTP.
Hi,
I have an issue where IDOC's (WPUBON01 & DEBMAS01) are being saved in ftp folder and once these IDOC's are saved, we have to process it in SAP System, i would like to know the simple way of having these IDOC's processed in Unix based SAP system as the IDOC's will be coming in at Real time evey minutes or Seconds.
is there a way to do it with out ABAP process i mean just by using the Unix Scripts or by triggering the SAP background job.
Thanks in Advance.
Hi,
for testing purposes you can trigger inbound IDoc processing in transaction WE16. Otherwise you can schedule program RSEINB00 to periodically import IDoc into system. You can make a copy of that program and made changes if you need to add some extra logic.
Cheers
Similar Messages
-
How to process inbound idoc in R/3 with status 75 - idoc received via qRFC?
Hi gurus,
we are using EOIO for source to R/3, and all the idocs a received in r/3 with this status. But they can't be processed from BD87. How to process these?
Thanks,
Olian
Edited by: Olian Saludew on Sep 11, 2008 11:44 AMHi,
Idocs Works on tRFC Queues.
Check this Report to Process Inbound Idocs with Specified Status.
RBDAPP01
Regards
Seshagiri -
Unable to process inbound EDI docs from TP-multiple Host ID's,1 transaction
Issue:
Unable to process inbound EDI documents from trading partners
(Same doctype and revision, but diff receiver ID’s for host)
Host: ISA ID’s are HOSTA, HOSTB
Transaction: X12, 210, 5010
Trading Partner A: sends EDI document with these values
Interchange Sender ID: TPA
Application Sender's Code: TPA
Interchange Receiver ID: HOSTA
Application Receiver's Code: HOSTA
B2B setups are as below
Business action: Process_210
Operational Capability for Trading Partner A : Process_210_Initiator It has
Interchange Sender ID as TPA
Interchange Receiver ID as TPA
Application Sender's Code: TPA
Application Receiver's Code: TPA
This creates a Process_210_Responder for HOST
It has
Interchange Sender ID as HOSTA
Interchange Receiver ID as HOSTA
Application Sender's Code: HOSTA
Application Receiver's Code: HOSTA
Validated Agreement and deployed, Result is success and everything works fine until here
Note: B2B validates taking everything from Process_210_Initiator except the Interchange Receiver ID that it gets from the Process_210_Responder
New Trading Partner B also sends us an X12, 210, 5010 but he uses Receiver ID as HOSTB
Trading Partner B: sends EDI document with these values
Interchange Sender ID: TPB
Application Sender's Code: TPB
Interchange Receiver ID : HOSTB
Application Receiver's Code: HOSTB
B2B setups are as below
Business action: Process_210
Operational Capability for Trading Partner B : Process_210_Initiator It has
Interchange Sender ID as TPB
Interchange Receiver ID as TPB
Application Sender's Code: TPB
Application Receiver's Code: TPB
This doesn’t create a new Process_210_Responder for HOST It has
Interchange Sender ID as HOSTA
Interchange Receiver ID as HOSTA
Application Sender's Code : HOSTA
Application Receiver's Code : HOSTA
Validated Agreement and deployed, Result the document fails with error
Validation of Interchange parameters failed. Please verify all the Interchange parameters in the B2B configuration match the Group parameters in the message. Make sure that the ecs file for this Interchange is valid
Upon looking at the log file it fails, as the Interchange Receiver ID in data is HOSTB where as in Process_210_Responder it is setup as HOSTA
Work Around that we tried, but could not succeed
Create a new business action called Process_210_HOSTB, created a new Document Protocol Revision X12_5010_HOSTB,Created a doc type 210 version 5010 under that
Used this new Business action for Trading Partner B so the new setups look like this
Business action : Process_210_HOSTB
Operational Capability for Trading Partner B : Process_210_HOSTB_Initiator It has
Interchange Sender ID as TPB
Interchange Receiver ID as TPB
Application Sender's Code : TPB
Application Receiver's Code : TPB
This creates a new Process_210_HOSTB_Responder for HOST It has
Interchange Sender ID as HOSTB
Interchange Receiver ID as HOSTB
Application Sender's Code : HOSTB
Application Receiver's Code : HOSTB
Validated Agreement, but could not deploy as I was getting AIP-11016 SQL error , may be integrity constraint issue
Note: I was able to deploy this agreement if I change the Document Type from 210 to something else like 210_new, but since the document is EDI I can’t have the Document Type as anything except 210Ramesh,
Sorry for the delay , but this was the first thing I tried and it didn't work, I tried again just to be sure, it didn't work I am getting this error
When group Receiver ID didn't match
"Validation of Group parameters failed. Please verify all the Group parameters in the B2B configuration match the Group parameters in the message. The following parameters do not match the configured parameters in B2B"
In addition, when Interchange Receiver ID did not match
"Validation of Interchange parameters failed. Please verify all the Interchange parameters in the B2B configuration match the Group parameters in the message. Make sure that the ecs file for this Interchange is valid"
Here is the log file extract
2008.07.28 at 14:31:24:917: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:ISelectorImpl Enter
2008.07.28 at 14:31:24:917: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:ISelectorImpl validateEnvelope = true
2008.07.28 at 14:31:24:917: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:ISelectorImpl Leave
2008.07.28 at 14:31:24:917: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:cloneSelector Enter
2008.07.28 at 14:31:24:917: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:cloneSelector Return = oracle.tip.adapter.b2b.document.edi.ISelectorImpl@12d8ecd
2008.07.28 at 14:31:24:917: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:getValue Param Name = SeverityConfig
2008.07.28 at 14:31:24:917: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:getValue Value = null
2008.07.28 at 14:31:24:917: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:cloneSelector Enter
2008.07.28 at 14:31:24:917: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:cloneSelector Return = oracle.tip.adapter.b2b.document.edi.ISelectorImpl@1fa5e5e
2008.07.28 at 14:31:24:917: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:reset Enter
2008.07.28 at 14:31:24:917: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:reset Leave
2008.07.28 at 14:31:24:917: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:cloneSelector Enter
2008.07.28 at 14:31:24:917: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:cloneSelector Return = oracle.tip.adapter.b2b.document.edi.ISelectorImpl@497062
2008.07.28 at 14:31:24:917: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:doLookup Enter
2008.07.28 at 14:31:24:917: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:doLookup key = InterchangeReceiverQual, val = [02]
2008.07.28 at 14:31:24:917: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:doLookup param = [02]
2008.07.28 at 14:31:24:917: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:doLookup key = InterchangeSenderID, val = [REMOTETP]
2008.07.28 at 14:31:24:917: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:doLookup param = [REMOTETP]
2008.07.28 at 14:31:24:917: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:doLookup key = InterchangeReceiverID, val = [SLCY]
2008.07.28 at 14:31:24:917: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:doLookup param = [SLCY]
2008.07.28 at 14:31:24:917: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:doLookup key = Standard, val = [X12]
2008.07.28 at 14:31:24:917: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:doLookup param = [X12]
2008.07.28 at 14:31:24:917: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:doLookup key = InterchangeControlVersion, val = [00200]
2008.07.28 at 14:31:24:917: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:doLookup param = [00200]
2008.07.28 at 14:31:24:917: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:doLookup key = ec_DataNodeName, val = [Interchange]
2008.07.28 at 14:31:24:917: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:doLookup key = InterchangeSenderQual, val = [02]
2008.07.28 at 14:31:24:917: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:doLookup param = [02]
2008.07.28 at 14:31:24:917: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:doLookup return = true
2008.07.28 at 14:31:24:917: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:doLookup return = true
2008.07.28 at 14:31:24:917: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:getValue Param Name = ecsFileKey
2008.07.28 at 14:31:24:917: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:getValue Value = 60DD87849FFE4147BFCEB66842A33298-26-1-4
2008.07.28 at 14:31:24:917: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:getValueBlob Param Name = ecsOptFileBlob
2008.07.28 at 14:31:24:917: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:getValueBlob Param Name = ecsFileBlob
2008.07.28 at 14:31:25:011: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:getStream Enter
2008.07.28 at 14:31:25:011: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:getStream Leave
2008.07.28 at 14:31:25:011: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:getValue Param Name = SeverityConfig
2008.07.28 at 14:31:25:011: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:getValue Value = null
2008.07.28 at 14:31:25:011: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:setControlNumber sName = Interchange, controlNumber = 210011217
2008.07.28 at 14:31:25:011: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:setControlNumber return = true
2008.07.28 at 14:31:25:011: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:getValue Param Name = TPName
2008.07.28 at 14:31:25:011: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:getValue Value = RemoteTP
2008.07.28 at 14:31:25:011: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:doCommit Enter
2008.07.28 at 14:31:25:011: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:doCommit NodeGUID = {156BEDFC-931E-4923-840D-3AC0BAB670F2} position = 0
2008.07.28 at 14:31:25:011: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:doCommit Leave
2008.07.28 at 14:31:25:011: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:cloneSelector Enter
2008.07.28 at 14:31:25:011: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:cloneSelector Return = oracle.tip.adapter.b2b.document.edi.ISelectorImpl@1b5c22f
2008.07.28 at 14:31:25:011: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:doLookup Enter
2008.07.28 at 14:31:25:011: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:doLookup key = GroupReceiverID, val = [STMSLCY]
2008.07.28 at 14:31:25:011: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:doLookup param = [SLCY]
2008.07.28 at 14:31:25:011: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:doLookup Value and doc parameter don't match2008.07.28 at 14:31:25:011: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:doLookup key = GroupVersionNumber, val = [005010]
2008.07.28 at 14:31:25:011: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:doLookup param = [005010]
2008.07.28 at 14:31:25:011: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:doLookup key = ec_DataNodeName, val = [Group]
2008.07.28 at 14:31:25:011: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:doLookup key = GroupSenderID, val = [REMOTETP]
2008.07.28 at 14:31:25:011: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:doLookup param = [REMOTETP]
2008.07.28 at 14:31:25:011: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:doLookup return = false
2008.07.28 at 14:31:25:011: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:doLookup return = false
2008.07.28 at 14:31:25:011: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:getValue Param Name = TPName
2008.07.28 at 14:31:25:011: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:getValue Value = RemoteTP
2008.07.28 at 14:31:25:011: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:doCommit Enter
2008.07.28 at 14:31:25:011: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:doCommit getLookUpError Key = key = [GroupReceiverID] value = [STMSLCY] param = [SLCY] Value = null
2008.07.28 at 14:31:25:011: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:doCommit NodeGUID = {6EE88EFC-B084-4FA8-8EE8-8C7BD397E9F1} position = 0
2008.07.28 at 14:31:25:011: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.document.edi.ISelectorImpl:doCommit Leave
2008.07.28 at 14:31:25:073: Thread-10: B2B - (DEBUG) iAudit report :
Error Brief :
5082: XEngine error - Guideline look-up failed. -
Processing inbound Idoc ORDERS03 with status 51
Dear ALL
While processing inbound idoc with message type ORDERS03 i am getting a status 51 with below erros
I have maintained the data under VOE2 & VOE4 but not got the solution. We are on SAP ECC6 Version
Customer 1100 is customers purchase organization
Partner no 1109 is customers plant
VKORG, VTWEG, SPART cannot be determined for customer 0000001100 , vendor REN15D
Message no. VG204
Terms of payment in IDoc E1EDK18 have been transferred: Check data
Message no. VG202
Partner number 1109 for customer 0000001100 , partner function WE does not exist.
Message no. VG140
Regards
ArunHi,
Vendor 100002 is not maintained in your system. Maintain the same or use some other vendor which is there in your system.
You should be able to post the document.
Regards,
Lalit Kabra -
Hi there,
I have an IDOC file store in the application server, I would like to know if exist a funcion module to read this Idoc and process it as inbound message in SAP.
Thanks in advance
AlexisHi,
You can use standard program RSEINB00 to process inbound IDoc file.
Regards,
Ferry Lianto -
I am trying to process inbound idoc
I am trying to process inbound idoc it will be showing error i.e
51-Purchasing document 8000200 not selectable
Pls give me adviseHi,
You inbound FI idoc is containing Purchase order no, which is not existing in receiving system, that's the reason you are getting this error. -
Hello,
I have a inbound Idoc of type HRMD_A (basistype HRMD_A07) which is processed by Function module (FM) IDOC_INPUT_HRMD with proofing. After processing an Idoc the status Monitor for ALE messages (BD87) tell me that my Idoc has status 53, which should be the result i would like to have.
Unfortunately when i go to transaction PA20 and check the infotypes, i see that infotype 0302 isn't created. When analyzing this problem i see that during the processing the Infotypes are posted with HR_MAINTAIN_MASTERDATA (dialog mode is 0 and luw_mode = 0 from include LRHA2F02 FORM save_pa_pb_infty) When this is done for infotype 0302 sy-subrc <> 0 the message is A complex application error has occured. This error message is placed in Export parameters
Return and Return1
of HR_MAINTAIN_MASTERDATA. When the program returns to the calling Form it checks if there is message of type E in HR_RETURN (see below) :
CALL FUNCTION 'HR_MAINTAIN_MASTERDATA'
EXPORTING
pernr = ins_objects-objid "#EC DOM_EQUAL
actio = 'INS'
tclas = tclas
dialog_mode = dial_mode
luw_mode = '0'
no_existence_check = $cross
no_enqueue = $cross
IMPORTING
return1 = return
hr_return = hr_return
TABLES
proposed_values = proposed_values.
REFRESH proposed_values.
IF hr_return-msgty = 'E'. "note 984409
CLEAR protocol_error.
protocol_error-msgty = hr_return-msgty.
protocol_error-msgid = hr_return-msgid.
protocol_error-msgno = hr_return-msgno.
protocol_error-msgv1 = hr_return-msgv1.
protocol_error-msgv2 = hr_return-msgv2.
protocol_error-msgv3 = hr_return-msgv3.
protocol_error-msgv4 = hr_return-msgv4.
READ TABLE t_hrobjinfty WITH KEY objid = hr_return-pernr
infty = hr_return-infty
subty = hr_return-subty.
protocol_error-segnum = t_hrobjinfty-segnum.
protocol_error-routid = 'create_prf_pa_pb_object'
As mentioned above, the error message is only placed in the parameters Return and Return1 and not in HR_RETURN.please read the first replyHi,
I think you have preety much done from your end itself .
Could you please tell me what you got in this parameters:
protocol_error-msgty = hr_return-msgty.
protocol_error-msgid = hr_return-msgid.
protocol_error-msgno = hr_return-msgno.
protocol_error-msgv1 = hr_return-msgv1.
protocol_error-msgv2 = hr_return-msgv2.
protocol_error-msgv3 = hr_return-msgv3.
protocol_error-msgv4 = hr_return-msgv4.
It may help us to track down the issue in more better way .
Thanks! -
Outbound delivery creation with inbound IDOC transfer from Java system
Dear Experts,
The scenario we are having is really very interesting. Hopefully its a good learning for me and also for others also.
The scenario is,
After sales order creation the details will be sent to one Non SAP system (Java) for performing some tasks related to forwarding agent decision, shipping date and etc. Once the details are finalized in that Java system then, the details needs to be transferred to SAP as "Inbound IDOC" process. For this proposed to use the SAP Jco middle ware.
Once the details transfered from Java system to SAP then, the outbound IDOC needs to get generated automatically. Assuming the stock for that sales order line item is available. Also one more complexity is, our client is using custom transaction (ZVl10C) for delivery creation.
Now Query is,
1. Which IDOC, message type and Functional module needs to be used for creating the delivery automatically..??
2. As per assumption, stock of that sales order line item should be available. Due to some business reason the stock was removed during inbound IDOC transfer then, what will happen to the IDOC..?. How to avoid this situation..??
3. As we told we are re going to use SAP Jco b/w SAP & Java system. In this case, how the data will get transfered from Java system to SAP..?
Thanks in advance for the replies I am going to get
Regards,
VELDidn't get any feedback from experts for long time. So we are closing the question
-
Stop Inbound IDOC's from being created
I want to stop inbound IDOC's for a particular partner (type LS) from being created in our R/3 system. Is there a way to do this? I am aware these can be stopped in the middleware, but this is not possible in our case. I am also aware that I can stop these IDOC's from being processed via the partner profile, however, there will be a huge number of useless IDOC's that will be created in our system and I want to avoid that.
Hence, I do not want the inbound IDOC's to be created in the first place even though they are transmitted to SAP. Is this possible?
Any inputs will be highly appreciated.
Thanks,
Raghu.Hi Satwik,
Choose Idoc in WE02.
Get port name, Then in WE21 get RFC name.
Go to transaction SMQS - Here we can block this RFC instead of blocking the queue.
Thanks,
Anil -
Error in re-processing inbound idocs of status 51
Hi
We are facing problems in reprocessing inbound idoc from BD87 transaction
We have an inbound process code 'STA1' which is pointing to a standard task 'TS30000206'. we have an errored inbound idoc(status 51) of message type 'STATUS' ( standard status change idoc pointing to process code STA1 for a valid port. Whenever we try to process it using BD87 transaction, we are getting errors B1033-'No function module for input process code STA1'.
We dont understand what we were missing. When we try the same for a process code which points to a function module, BD87 reprocesses it correctly.
We tried adding an entry in BD67 with an inbound function module 'APPL_IDOC_INPUT1'. Note that we still had the process code pointing to the same task. This time BD87 reprocessed idoc, but gave 51 again saying that 'Function module not allowed: APPL_IDOC_INPUT1'.
Any pointers or help in this regard will be highly appreciated.Hi,
Please check IDOC TYPE, MESSAGE TYPE & PROCESS CODE and also check the we30, we42. & try BD87 reprocess of an IDOC. -
Job cancelled while processing inbound IDOcs
Hi All,
we are sceduled job in background processing mode for the program RBDAPP01(Inbound Processing of Idocs),
but job was cancelled due to RAISE_EXCEPTION.
if i cheked in ST22 it is showing as
""The termination occurred in the ABAP program "SAPLMCS2" in "MC_SEND_MAIL".
The main program was "RBDAPP01 ".
The termination occurred in line 108 of the source code of the (Include) program "LMCS2U09""
i didn't understand why it is cancelled ?
can any one pls help me ....
regards,
sureshHello,
Sometimes if the Data / Right Data is not present in the IDoc, then it would not help the Standard SAP Program / Programs / Function Modules to fill-in Certain Field Symbols due to which the Short Dump might have occured.
Check the IDocs and try executing the Job again.
Thanks and Regards,
Venkat Phani Prasad Konduri -
Hi experts,
I am quite new in SAP, and I am finding a lot of problems trying to make probably the easiest things.
My problem is this:
I am trying to process an inbound IDoc type WPUWBW, and it has status 53, but when I try to view it in the workbench, the system does not recognize the IDoc as good movement type and I can not find the way to insert in one field of the IDoc via we19 transaction the transaction type.How can I make it?And in which field can I insert the transaction type??
Thank you very much in advance!
Best regards,
AnderHi Praveen,
First of all thank you very much for your help.
My problem continues, because I am not able to find the field inside the WPUWBW IDoc to insert the transaction type, in my case 1502. But I can find the field to introduce the goods movements type, in my case 7004 in E1WPG02 segment, movement type line.
Thank you very much.
I wait your reply.
Best regards,
Ander -
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. -
RFC to pull the Idoc's from FTP
Hey,
Is there any standard RFC to pull the IDOCs from an FTP server into the R3.
Please help.> is there a way to do it with out ABAP process i mean just by using the Unix Scripts or by triggering the SAP background job.
You can use a simple Unix script with "startrfc" and calling EDI_DATA_INCOMING as user <sid>adm (excerpt - not the full script):
#! /bin/ksh
DEST=<SID>
SYSTEMID=<SID>
USER=<SU01-USERNAME>
PASSWORD=<PASSWORD>
CLIENT=<CLIENT>
LANG=<LANGUAGE>
MSGSERVER=<MESSAGESERVER>
SYSTEM=<SYSTEMNUMER>
GATEWAY=<GATEWAYHOST>
GWSERV=<GATEWAYSERVICE>
FUNCTION=EDI_DATA_INCOMING
PROGRAM=/usr/sap/<SID>/SYS/exe/run/startrfc
LOGONGROUP=<LOGONGROUP>
for i in `ls <directory>`
do
$PROGRAM -balanced -3 -d $DEST -u $USER -p $PASSWORD -c $CLIENT \
-I $LANG -s $DEST -F $FUNCTION -g $LOGONGROUP \
-h $MSGSERVER -E PATHNAME=$i -E PORT=<WE20-PORT>
done;
You can schedule that using cron to run every minute.
You have to take care of:
- not trying to import not-yet-completely-transferred files (we use a certain naming convention such as uploading with a prefixed "tmp" and after the upload is complete renaming the file. This must be done on the FTP sender side however)
- not try to import the same file twice. You may avoid that by setting a lock (tempfile) and check for it each time the script runs. If it exists, exit the script.
Markus -
Process inbound Idocs only one at a time
Hi all,
I'm searching for a solution to the following problem:
We are receiving ORDERS-Idocs into our R/3 4.6C-system. These Idocs are processed by our own Z-function module. The function module's coding should assure that e.g. the first idoc of each day sent by a certain customer should create a new sales order (VA01), whereas the following idocs of that same customer should only add items to that sales order (VA02).
To make this work, we must make sure that no two idocs of the same sender are processed simultaneously, or even better that the function module is running only once at a time. I tried the following practices, which didn't satisfy our needs:
- create own ENQUEUE/DEQUEUE object and call the ENQUEUE at the beginning of my function module - didn't work!
- use GET PARAMETER ID to read a flag and SET PARAMETER ID to set the flag - didn't work, second idoc was too fast!
- write a record into own DB table and check existing entry with SELECT SINGLE FOR UPDATE - worked only sometimes, needs COMMIT WORK.
- check if there are any flags you can set in WE20 - couldn't find any!
Does anyone have a idea for my problem?
Greetings
KlausHi Klaus,
form the mentioned options, I would give enqueue / dequeue a second try.
I would use customer (/sender) as key field for your locking object.
If you try to set the lock right in the beginning of your FM, whole customer should be locked for processing. Second test is of course, if already a sales order exists.
Maybe here the problem occurs: when you have some parts in update task, select for sales order is not successful for some (micro-)seconds.
Solution for this part: use synchronic booking / commit work and wait. Maybe make a test with a select for VBAK in the end of your FM to test existence -> if not successfull, you know you identified your problem.
If this is your problem, you should make a new enqueue after commit (because it will be deleted by commit) and wait until DB gives you new VBAK entry.
I would start with a test, why all this different locking options don't work (instead of looking for a different locking option): make a select after your sales order creation. If this is not successfull, then here is your starting point.
Regards,
Christian
Maybe you are looking for
-
Hi there, I have 2 tables: select * from table1: FIELD1 V1 V2 V3 select * from table2: FIELD2 V1,V2,V3 I want the following query has same return as select * from table1: select * from table1 where field1 in (select field2 from table2) But, I got
-
Delayed mail delivery error with 1 internal user
We have an Exchange 2010 with 100 mailboxes 1 of our users is not getting any emails suddenly today after a server restart last night . She is not getting email from internal or external to the organization. All senders get a delayed delivery respon
-
I buy a new macbook pro but the system care not here for that is there store be buy it your self
ı buy a new macbook pro but in the web site to register the new macbook it will 2 or 4 gays to after mac buy but I'm buy the store the mac system care is 3.1 ghz ıntel-core i7 and 16 gb 1866 mhz sidearm computer buy them in store for today?
-
Sorting a vector of hashtables
I have a vector of hashtables that I need to sort. The hashtables contain several keys such as FirstName, LastName, ID. I need to sort this vector by the values for the LastName and FirstName keys stored in the hashtables. For example... Vector conta
-
hi i wanted to track any consignment settled document and i do nothave any material but i have vendor name and co code. can u please tell me how can i go in any settled document, actully i want to reverse any settled document, how can i do that? plea