Receiver RFC - Interface Objects
Hi every one,
I have a scenario, SOAP (SYNC)- XI - RFC (SYNC), MY question is do we need to create and interface objects for the receiver. Or can I use the RFC as the interface object.
Technical explanation would really help me.
Please clear.
Thanks,
-Naveen.
Hi Naveen,
<i>>>>>>do we need to create and interface objects for the receiver. Or can I use the RFC as the interface object.</i>
As RFC itself is a interface you need not create a seperate interface for an RFC.
In message mapping you will need to create two message mapping.
One SOAP_Req to RFC_Req
two RFC_Res to SOAP_Res.
When you will try to implement Interface Mapping, the source interface would be the imported 'External defination' of WSDL and the receiver would be the RFC. In the lower section of the same screen click 'Response' tab and add RFC_Res to SOAP_Res as mapping prog and under 'Request' tab add SOAP_Req to RFC_Req.
Let me know if you further assistance.
regards,
Ashish
Similar Messages
-
NWDS import RFC interface for the structure issue??
Hi Gurus,
I'm working on the SAP NetWeaver BPM with NWDS 7.3 SP12 rite now and got confused about the RFC interface structure stuff.
I have a mapping activity defined in the process and the receiver interface needs a RFC. So I go to "Process Modeling" -> "Services Interfaces", right click and choose "Import RFC",type the correct RFC/BAPI name connecting with the SAP ECC system. The issue is that when I finished importing the RFC, went to the "Data Types", the RFC interface namespace shows out but the structure shows seperately with individual segment, so the whole nested RFC interface structure messed up in parallel which is incorrect for the data object and output mapping for later process activities.
Anyone has ran into such kind of issue or experience the same, any solution or suggestion?
Thanks in advance,
RajeshWilliam,
Another two questions relates to NWDS BPM development:
1. Sometimes after I import the service interface into NWDS, the structure displays differently from it defines in ESR, I mean the fields sequence. I dont know why
2. Refer to your screenshot,
Assume the occurence of node HEADER and item is (0..1), when I want to map a blank constant to them to generate the target structure, the editor not allows and display error which is very different with ESR mapping tool, could you please help to advise? Tons of thanks!
Thanks a lot in advance,
Rajesh -
About Interface objects in Integration Repository
Hi All,
I want to know details about Data type enhancements & Context objects in Interface Objects.Please help me.
Thanks,
GOPI.Hi Gopikishor,
_Context objects:_ Its nothing but to access a element payload of the message,in Simple terms, X-Path expressions in the repoistery..
Deeply Nested elements in the Message structure.
Ex:
<Header>
<PurchaseOrgData>
<Sender>
<PurchaseData> Goods</PurchaseData>
</Sender>
</PurchaseOrgData>
</Header>
Define X-path for the above structure: \Header\PurchaseOrgData\Sender\PurchaseData\
Once we can define the "Context Objects" we can use following situations..
1) Receiver Determination: During the Receiver Condition in the Integration directory,
2) Integration Process: During the processing business process depends upon content of message.
Datatype Enhancement:
http://help.sap.com/saphelp_nw04/helpdata/en/a5/04623c4f69b712e10000000a114084/frameset.htm.
Regards,
Sateesh N. -
Hi All,
I am getting this error in communication channel monitoring for receiver RFC Adapter.
Delivering the message to the application using connection RFC_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: com.sap.aii.adapter.rfc.afcommunication.RfcAFWException: error while processing message to remote system:com.sap.aii.adapter.rfc.core.client.RfcClientException: JCO.Exception while calling Z_CRM_LEAD_CREATEMULTI in remote system (RfcClient[S10440_RFC_CallOutComes_Out]):com.sap.mw.jco.JCO$Exception: (104) RFC_ERROR_SYSTEM_FAILURE: Illegal move of the field symbol of a LOOP ... ASSIGNING.
Have gone through lots of links on SDN but not able to solve it out.
Any inputs will be greatly appreciated.
Thanks,
VenkatHi,
this one seems pretty simple
>>illegal move of the field symbol of a LOOP ... ASSIGNING.
this suggests that your error is inside FM Z_CRM_LEAD_CREATEMULTI
so correct the code (probably the table you try to loop is empty)
and try once more
Regards,
Michal Krawczyk
http://mypigenie.com XI/PI FAQ -
Extended Receiver & Extended Interface Determination
Hi Experts,
Can any tell me what is Extended Receiver & Extended Interface Determination.
And the Difference between Standard Receiver & Standard Interface Determination.
were to use Extended Receiver & Extended Interface Determination.
Thanks in advance
ShakifHi,
Standard Receiver Determination Features
Specifying Receivers
You can specify receiver parties and receiver services. To specify the receiver in more detail, you have the following options:
● Select the receiver from the Integration Directory
● Specify a constant value for the receiver
● Determine the receiver dynamically from the message content
To enter the necessary details, use the following:
● The party editor for specifying the receiver party
● The service editor for specifying the receiver service
To call the relevant editor, in the Display/Edit Receiver Determination editor in the Configured Receivers frame, call the Input Help ( ) in either the Party or Service column.
Defining Conditions
You also have the option of specifying the conditions to be applied when forwarding a message to the receiver(s) in a receiver determination.
Generally, a condition relates to the contents of a message; if a specified condition is fulfilled for a particular payload element (the corresponding element has a certain value, for example), then the message is forwarded to the specified receiver(s).
● If you want to specify a new condition for forwarding the message to a receiver, in the table in the Display/Edit Receiver Determination editor in the Configured Receivers frame, choose Insert New Condition () and call the condition editor by using the input help ().
● If you want to specify a new condition for forwarding the message to multiple receivers, in the table in the Display/Edit Receiver Determination editor in the Configured Receivers frame, choose Insert Line After Selection ( ) and call the condition editor by using the input help ().
In the condition editor, you can select an element from the message payload and specify a value with which the value of this element is to be compared at runtime.
Enhanced Receiver Determination
Use
You use an enhanced receiver determination to have a mapping program determine the receivers of the message dynamically at runtime. Instead of creating the receivers in the receiver determination manually, you assign a mapping to the receiver determination and this returns a list of receivers at runtime.
A typical usage case is if you do not yet know the names of the receivers at configuration time. In this case, you can define a mapping program, for example, which reads a list of receivers from a table or from the payload of the message at runtime.
You can of course formulate conditions in a standard receiver determination that relate to the content of the message. However, you have to specify the names of the receivers (to which the message is sent under the formulated condition) explicitly in the receiver determination. If you create an enhanced receiver determination, you do not have to specify receiver names at this stage.
Integration
During the definition of the interface mapping, you assign the abstract message interface ReceiverDetermination as the target interface. The message interface ReceiverDetermination is in the Integration Repository in the software component SAP BASIS (namespace http://sap.com/xi/XI/System).
The message interface uses the message type Receivers and the data type Receivers. The data type Receivers describes a list of receivers and has the following structure:
The following instance of the data type Receivers contains two receivers. The first receiver comprises a party and service and is identified by a DUNS number; the second receiver comprises a service without a party.
<Receivers>
<Receiver>
<Party agency=016 scheme=DUNS>123456789</Party>
<Service>MyService</Service>
</Receiver>
<Receiver>
<Party agency=http://sap.com/xi/XI scheme=XIParty></Party>
<Service>ABC_200</Service>
</Receiver>
</Receivers>
You can specify party and service for each receiver.
Activities
1. Integration Repository: Define the interface mapping. Assign the message interface ReceiverDetermination as the target interface (see above).
2. Integration Repository: Define the message mapping or mapping program that is to determine the receivers at runtime. Assign the message mapping or mapping program to the interface mapping.
3. Integration Directory: Define an (enhanced) receiver determination.
○ Enter the outbound interface of the interface mapping from step 1 in the key of the receiver determination as the outbound interface.
○ Assign the interface mapping created in step 1 to the receiver determination.
Standard Interface Determination
Use
You can specify to which inbound interfaces at the receiver the message is to be sent at runtime. You also have the option of specifying a mapping and (when multiple inbound interfaces are defined) a condition for each inbound interface.
Note the following fundamental cases when assigning multiple inbound interfaces:
Multiple Different Inbound Interfaces
Imagine you enter the following interface assignment.
Inbound Interface
Condition
Interface Mapping
IF_1
M_1
IF_2
M_2
After the interface determination is evaluated, this results in two messages with the same payload at runtime. A different mapping (either M1 or M_2) is executed for both messages and then they are forwarded to the two interfaces (either IF_1 or IF_2) at the receiver.
Multiple Identical Inbound Interfaces with Conditions
Imagine you enter the following interface assignment.
Inbound Interface
Condition
Interface Mapping
IF_1
B_1
M_1
IF_1
B_2
M_2
In this case, the conditions are evaluated during the interface determination step. If condition B_1 is true, then mapping M_1 is executed; if condition B_2 is true, then mapping M_2 is executed. The message is forwarded to the same inbound interface at the receiver in both cases. Unlike in the case described above, this does not result in multiple messages with the same payload because only one condition can ever be true at runtime.
Features
You enter the assignment between the outbound interface and the inbound interface(s) in a table. Each table line represents exactly one assignment between the outbound interface and an inbound interface. To insert or delete lines, choose Insert One Line After Selection () or Delete Selected Line ().
Enhanced (Mapping-Based) Interface Determination
Use
In an enhanced interface determination you do not enter the inbound interfaces manually, but instead first select a multi-mapping. You get the inbound interfaces from the target interfaces of the multi-mapping. The inbound interfaces are determined at runtime during the mapping step.
You typically use an enhanced interface determination if the source message has an element with occurrence 0 ... unbounded (for multiple items of a data record) and you want multiple messages (for the individual items) to be generated at runtime.
For example, you want to split an overall booking for a trip comprising connecting flights into individual booking orders (for each leg of the trip).
You cannot realize this usage case with a standard interface determination (without using an integration process). A standard interface determination does allow you to specify multiple (N) inbound interfaces (with different mapping). In this case, N messages with the same payload and different receiver interfaces are generated from the source message before the mapping step; these are then transformed differently depending on the receiver interface. Therefore it is conceivable to write the mappings in such a way that the first mapping from the source message generates a message that only contains the first item, the second mapping generates a messages that only contains the second item, and so on. However, this no longer works if the number of items can vary with each new source message.
You can use an enhanced interface determination to configure a mapping-based message split for this usage case. You assign the interface determination a multi-mapping that has a target interface with an element with occurrence 0...unbounded. At runtime, the individual messages (for the individual items) are calculated in the mapping step. First, the individual messages are grouped into a bulk message. Then, the bulk message is transferred to the Adapter Engine. The Adapter Engine then splits the bulk message up into the individual messages (see figure).
Procedure at Runtime During Message Split
Note that both the bulk message and all individual messages each have a message header with a receiver interface (see figure).
Receiver Interfaces of Bulk Messages and Individual Messages
The header of the individual messages contains the relevant receiver interface. It is based on the definition of the multi-mapping. Note that the receiver interfaces of the individual messages may be different. The receiver interface of the bulk message is always InterfaceCollection (namespace http://sap.com/xi/XI/System).
If the message split only results in one message, the original message structure remains the same. In this case, a bulk message containing just one individual message is not created.
You can also assign a multi-mapping with multiple different target interfaces to an enhanced interface determination (1:n transformation). Each target interface can contain elements with occurrence 0 ... unbounded.
Messages cannot be sent by using different Adapter Engines in a mapping-based message split. This affects configuration thus: All receiver agreements that have a receiver interface from the mapping entered in the key must only be assigned communication channels with the following adapter types:
- RFC Adapter
- SAP Business Connector Adapter
- File/FTP Adapter
- JDBC Adapter
- JMS Adapter
- SOAP adapter
- Marketplace adapter
- Mail Adapter
- RNIF adapter
- CIDX Adapter
The adapters also have to all run on the same Adapter Engine.
Adapters developed by partners also support a mapping-based message split if they run on the same Adapter Engine.
Attachments from the original message are not appended to the messages resulting from the message split.
Activities
To execute a mapping-based message split, perform the following steps:
1. Integration Repository: Define the multi-mapping (see Developing Multi-Mappings for Message Splits).
2. Integration Directory: Define the interface determination.
Note the following:
○ The outbound interface of the multi-mapping must be entered as the sender interface in the key of the interface determination.
○ The interface determination type must be set to Enhanced.
○ Select the multi-mapping you defined previously from the Integration Repository.
To do so, call input help ().
The target interfaces of the interface mapping are displayed in the Inbound Interfaces frame.
The number of messages (for an inbound interface) created in the mapping step is displayed in the Occurrence column.
Regards,
Phani
Reward points if Helpful -
SAMPLE RECEIVING OPEN INTERFACE SCRIPT(ROI 이용자를 위한 SCRIPT)
제품: MFG_PO
작성날짜 : 2006-05-11
SAMPLE RECEIVING OPEN INTERFACE SCRIPT(ROI 이용자를 위한 SCRIPT)
================================================================
PURPOSE
Receiving Open Interface(ROI)를 좀더 쉽게 사용할 수 있도록 만들어진
tool이라고 할 수 있다. 이 script를 이용을 통해 user는 PO no, user id,
Org id를 입력하면 script는 PO에서 최소한의 data를 가져와 receiving
transaction을 생성하기 위해 ROI에 data를 입력한다.
Receiving Transaction Processor는 insert 된 data를 실행한다.
Explanation
Instructions:
1.Script exroi.sql을 local computer에 copy 하거나 sqlplus 환경의 text
edior에 script 내용을 cut&paste 한다.
2.사용가능한 PO no, User id, Org id를 결정한다.
3.sqlplus prompt에서 아래와 같이 입력한다.
SQL> @ezroi.sql
4.PO no, User id, Org id를 입력하라는 prompt를 볼 수 있을 것이다.
5.exroi.sql script를 관련된 PO data를 가져와 rcv_headers_interface 및
rcv_transactions_interface tables에 insert 한다.
만일 PO shipment lind이 closed, cancelled, fully received 되었다면
ROI table에 data를 insert 하지 않는다.
Note: 이 script가 data를 validate 하진 않으며,ROI API 자체 validation
이 실행될 뿐이다.
6.Script가 끝나면 Receiving Transaction Processor를 실행하여 insert 된
lines을 처리할 수 있다. Transaction Status Summary 화면을 통해 실행된
line이 pending 인지 error 상태인지 확인할 수 있다.
Notes:
1.Org_id parameter 값을 찾는법:
a) Application에 접속, Help> Diagnostics> Examine으로 이동.
Block:$Profile$, Field: ORG_ID 를 선택한다.
b) ORG_ID 값을 note 해 놓고 ORG_ID prompt시 이 값을 입력한다.
2.User_Name parameter 값을 찾는법:
a) Application에 접속, Help> Diagnostics> Examine으로 이동.
Block:$Profile$, Field: USER_NAME 를 선택한다.
b) USER_NAME 값을 note 해 놓고 USER_NAME prompt시 이 값을 입력한다.
Example
"eZROI.sql' script...
--*** eZROI ***
--*** by ***
--*** Preston D. Davenport ***
--*** Oracle Premium Applications Support ***
--*** Oracle Worldwide Global Support Services ***
--*** Date: 23-JUL-2003 - Beta release ***
--*** Date: 09-SEP-2003 - Rev A Added multi- ***
--*** shipment line capability ***
--*** Parameters: ***
--*** ORG_ID Organization ID ***
--*** USER_NAME FND User Name ***
--*** PO_NUMBER Purchase Order Number ***
--*** This script intended for a standard Purchase ***
--*** Order document to be inserted into the Oracle ***
--*** Receiving Open Interface (ROI) via the standard ***
--*** Oracle open interface api for a simple Receive ***
--*** transaction. ***
--*** Note: This script only considers open Purchase ***
--*** Orders. This script will not allow over- ***
--*** receipt, cancelled or closed PO's to be ***
--*** inserted into the ROI and received ***
CLEAR BUFFER
SET VERIFY OFF
SET LINESIZE 140
SET PAGESIZE 60
SET ARRAYSIZE 1
SET SERVEROUTPUT ON SIZE 100000
SET FEEDBACK OFF
SET ECHO OFF
DECLARE
X_USER_ID NUMBER;
X_PO_HEADER_ID NUMBER;
X_VENDOR_ID NUMBER;
X_SEGMENT1 NUMBER;
X_ORG_ID NUMBER;
X_LINE_NUM NUMBER;
BEGIN
DBMS_OUTPUT.PUT_LINE('***ezROI RCV API Insert Script***');
SELECT PO_HEADER_ID , VENDOR_ID , SEGMENT1 , ORG_ID
INTO X_PO_HEADER_ID , X_VENDOR_ID , X_SEGMENT1 , X_ORG_ID
FROM PO_HEADERS_ALL
WHERE SEGMENT1 = '&PO_NUMBER'
AND ORG_ID = &ORG_ID;
SELECT USER_ID INTO X_USER_ID
FROM FND_USER
WHERE USER_NAME = UPPER('&USER_NAME');
INSERT INTO RCV_HEADERS_INTERFACE
HEADER_INTERFACE_ID ,
GROUP_ID ,
PROCESSING_STATUS_CODE ,
RECEIPT_SOURCE_CODE ,
TRANSACTION_TYPE ,
LAST_UPDATE_DATE ,
LAST_UPDATED_BY ,
LAST_UPDATE_LOGIN ,
VENDOR_ID ,
EXPECTED_RECEIPT_DATE ,
VALIDATION_FLAG
SELECT
RCV_HEADERS_INTERFACE_S.NEXTVAL ,
RCV_INTERFACE_GROUPS_S.NEXTVAL ,
'PENDING' ,
'VENDOR' ,
'NEW' ,
SYSDATE ,
X_USER_ID ,
0 ,
X_VENDOR_ID ,
SYSDATE ,
'Y'
FROM DUAL;
DECLARE
CURSOR PO_LINE IS
SELECT PL.ITEM_ID , PL.PO_LINE_ID , PL.LINE_NUM ,
PLL.QUANTITY , PL.UNIT_MEAS_LOOKUP_CODE ,
MP.ORGANIZATION_CODE , PLL.LINE_LOCATION_ID ,
PLL.CLOSED_CODE , PLL.QUANTITY_RECEIVED ,
PLL.CANCEL_FLAG, PLL.SHIPMENT_NUM
FROM PO_LINES_ALL PL ,
PO_LINE_LOCATIONS_ALL PLL ,
MTL_PARAMETERS MP
WHERE PL.PO_HEADER_ID = X_PO_HEADER_ID
AND PL.PO_LINE_ID = PLL.PO_LINE_ID
AND PLL.SHIP_TO_ORGANIZATION_ID = MP.ORGANIZATION_ID;
BEGIN
FOR CURSOR1 IN PO_LINE LOOP
IF CURSOR1.CLOSED_CODE IN ('APPROVED','OPEN')
AND CURSOR1.QUANTITY_RECEIVED < CURSOR1.QUANTITY
AND NVL(CURSOR1.CANCEL_FLAG,'N') = 'N'
THEN
INSERT INTO RCV_TRANSACTIONS_INTERFACE
INTERFACE_TRANSACTION_ID ,
GROUP_ID ,
LAST_UPDATE_DATE ,
LAST_UPDATED_BY ,
CREATION_DATE ,
CREATED_BY ,
LAST_UPDATE_LOGIN ,
TRANSACTION_TYPE ,
TRANSACTION_DATE ,
PROCESSING_STATUS_CODE ,
PROCESSING_MODE_CODE ,
TRANSACTION_STATUS_CODE ,
PO_LINE_ID ,
ITEM_ID ,
QUANTITY ,
UNIT_OF_MEASURE ,
PO_LINE_LOCATION_ID ,
AUTO_TRANSACT_CODE ,
RECEIPT_SOURCE_CODE ,
TO_ORGANIZATION_CODE ,
SOURCE_DOCUMENT_CODE ,
DOCUMENT_NUM ,
HEADER_INTERFACE_ID ,
VALIDATION_FLAG
SELECT
RCV_TRANSACTIONS_INTERFACE_S.NEXTVAL ,
RCV_INTERFACE_GROUPS_S.CURRVAL ,
SYSDATE ,
X_USER_ID ,
SYSDATE ,
X_USER_ID ,
0 ,
'RECEIVE' ,
SYSDATE ,
'PENDING' ,
'BATCH' ,
'PENDING' ,
CURSOR1.PO_LINE_ID ,
CURSOR1.ITEM_ID ,
CURSOR1.QUANTITY ,
CURSOR1.UNIT_MEAS_LOOKUP_CODE ,
CURSOR1.LINE_LOCATION_ID ,
'RECEIVE' ,
'VENDOR' ,
CURSOR1.ORGANIZATION_CODE ,
'PO' ,
X_SEGMENT1 ,
RCV_HEADERS_INTERFACE_S.CURRVAL ,
'Y'
FROM DUAL;
DBMS_OUTPUT.PUT_LINE('PO line: '||CURSOR1.LINE_NUM||' Shipment: '||CURSOR1.SHIPMENT_NUM||' has been inserted into ROI.');
ELSE
DBMS_OUTPUT.PUT_LINE('PO line '||CURSOR1.LINE_NUM||' is either closed, cancelled, received.');
END IF;
END LOOP;
DBMS_OUTPUT.PUT_LINE('*** ezROI COMPLETE - End ***');
END;
COMMIT;
END;
SET VERIFY ON
Reference Documents
Note 245334.1I have the same problem on ESXI 5.5 for over a month now, tried the patches, tried the LTS kernel which others say results in an immediate result without patches, nothing seems to work and nobody seems to be able to offer a solution.
Did you make any progress ??
Error! Build of vmblock.ko failed for: 3.10.25-1-lts (x86_64)
Consult the make.log in the build directory
/var/lib/dkms/open-vm-tools/2013.09.16/build/ for more information.
make[2]: *** No rule to make target '/var/lib/dkms/open-vm-tools/2013.09.16/build/vmblock/linux/inode', needed by '/var/lib/dkms/open-vm-tools/2013.09.16/build/vmblock/vmblock.o'. Stop.
Makefile:1224: recipe for target '_module_/var/lib/dkms/open-vm-tools/2013.09.16/build/vmblock' failed
make[1]: *** [_module_/var/lib/dkms/open-vm-tools/2013.09.16/build/vmblock] Error 2
make[1]: Leaving directory '/usr/src/linux-3.10.25-1-lts'
Makefile:120: recipe for target 'vmblock.ko' failed
Last edited by crankshaft (2014-01-10 11:32:32) -
Hi.
I am looking for helps on Receiving transaction Interface which is R11 Features.
I have load the receipt information for item which is serial control that means I have populate the RCV_Serial_Number table.
Please provide ur valuable inputs for the same.
Thanks in advance
SureshPlease post your query in the correct forum. In your case that happens to be Supplier Scheduling.
all the best.
wfs -
Receiving Open Interface related doubt
Hi All,
We are currently on Oracle Release 12.0.4 and need some help/information regards Receiving Open Interface tables : rcv_headers_interface & rcv_transactions_interface tables.
We import the ASN which is being sent across from the Supplier via EDI directly into the Receiving Open Interface tables and then RTP program ( Receiving Transaction Processor ) program processes these into the base tables
to complete the receipt process..
Now for some reason or the other lets say because of EDI data issues or some other system issue with the RTP program , the Interface records end up in error status & the users have to manually complete the Receipt in Oracle Forms directly..
Now this Interface data over a period in time keeps accumulating while the corresponding PO Document would already have been Received manually in Oracle.
Because of this errored interface records the Interface tables keep growing in size in terms of data volume..
Now is there a way script or a program which validates these interface records and purges these automatically based on some validations on its own..
For Example : for a po if the records are stuck in the interface table but the po shipment has already been received in manually and in Closed Status, then it would automatically purge these records from interface tables.
Could someone please help us with this as soon as possible with any suggestions or workarounds..
ThanksCurrently there is no purge program available to purge the records in RTI. Further the oracle support wont be able to provide a delete script to delete the records in RTI (The reason being, the records are populated by the customer and customers are the best persons to validate the records and delete them on their own).
However, for ASN's
You may write a query based on the RTI.po_distribution_id and then check, whether the corresponding po shipment\distribution is already received \ closed for receiving and then you may delete. -
Receiving Open Interface not picking Inter-Org records from Interface
Hi,
I am trying to receive the inter org transfer through the Receiving Open interface, but the interface not picking the data from the interface tables (RCV_HEADERS_INTERFACE, RCV_TRANSACTION_INTERFACE).
I am in 11.5.10.2, all the sources worked fine like Vendor, Internal Order, Customer but the issue is with the Inventory source (inter orgs)
Please could you advise what could be the reason for the interface for not picking the Inventory source data from the interface table.
Below are the interface insert script that am using..
INSERT INTO RCV_HEADERS_INTERFACE
(HEADER_INTERFACE_ID,
GROUP_ID,
PROCESSING_STATUS_CODE,
RECEIPT_SOURCE_CODE,
TRANSACTION_TYPE,
AUTO_TRANSACT_CODE,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_LOGIN,
CREATION_DATE,
CREATED_BY,
SHIPMENT_NUM,
RECEIPT_HEADER_ID,
SHIP_TO_ORGANIZATION_ID,
EXPECTED_RECEIPT_DATE,
EMPLOYEE_ID,
VALIDATION_FLAG
VALUES
(rcv_headers_interface_s.nextval , --Header_Interface_Id
rcv_interface_groups_s.nextval, --Group_Id
'PENDING', --Processing_Status_Code
'INVENTORY', --Receipt_Source_Code
'RECEIVE', --Transaction_Type
'DELIVER', --Auto_Transact_Code
SYSDATE, --Last_Update_Date
-1, --Last_Updated_By
-1, --Last_Update_Login
SYSDATE, --Creation_Date
-1, --Created_By
'ICR-001', --SHIPMENT_NUM
21073573, --RECEIPT_HEADER_ID
2266, -- SHIP_TO_ORGANIZATION_ID
SYSDATE+1, --Expected_Receipt_Date
5543, --Employee_Id,
'Y' --Validation_Flag
INSERT INTO RCV_TRANSACTIONS_INTERFACE
(INTERFACE_TRANSACTION_ID,
GROUP_ID,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_LOGIN,
TRANSACTION_TYPE,
TRANSACTION_DATE,
PROCESSING_STATUS_CODE,
PROCESSING_MODE_CODE,
TRANSACTION_STATUS_CODE,
CATEGORY_ID,
QUANTITY,
UNIT_OF_MEASURE,
ITEM_ID,
AUTO_TRANSACT_CODE,
SHIPMENT_HEADER_ID,
SHIPMENT_LINE_ID,
SHIP_TO_LOCATION_ID,
RECEIPT_SOURCE_CODE,
TO_ORGANIZATION_ID,
DESTINATION_TYPE_CODE,
DELIVER_TO_PERSON_ID,
LOCATION_ID,
DELIVER_TO_LOCATION_ID,
SUBINVENTORY,
LOCATOR_ID,
HEADER_INTERFACE_ID,
VALIDATION_FLAG,
SHIPPED_DATE
--SELECT
VALUES
rcv_transactions_interface_s.nextval, --Interface_Transaction_id
rcv_interface_groups_s.currval, --Group_id
SYSDATE, --Last_update_date
-1, --Last_updated_by
SYSDATE, --Creation_date
-1, --Created_by
-1, --Last_update_login
'RECEIVE', --TRANSACTION_TYPE_RECEIVE
SYSDATE, --TRANSACTION_DATE
'PENDING', --PROCESSING_STATUS_CODE
'BATCH', --PROCESSING_MODE_CODE
'PENDING', --TRANSACTION_STATUS_CODE
203, -- CATEGORY_ID
20, --QUANTITY
'EACH', --UNIT_OF_MEASURE
4379131, --ITEM_ID
'DELIVER', --AUTO_TRANSACT_CODE
21073573, --SHIPMENT_HEADER_ID
16566939, --SHIPMENT_LINE_ID
101629781, --SHIP_TO_LOCATION_ID
'INVENTORY', --RECEIPT_SOURCE_CODE
2266, --TO_ORGANIZATION_ID
'INVENTORY', --DESTINATION_TYPE_CODE
13706, --DELIVER_TO_PERSON_ID
101629781, --LOCATION_ID
101629781, --DELIVER_TO_LOCATION_ID
'FG', --SUBINVENTORY
46259, --LOCATOR_ID
rcv_headers_interface_s.currval, --Header_interface_id
'Y', --VALIDATION_FLAG
SYSDATE
Thank you,
Genoo
Edited by: Geno on May 25, 2013 4:54 AMAny suggestion/advise please!
Thanks,
Genoo -
RCV-856 , Receivables Open Interface Error
I am trying to import some receipts into
Oracle using the Oracle Open interfaces.
I get an error RCV-856 Receivables Open Interface. SHipment lines in errors. Can you help me with thatFirst of all you should check whether shipmet information matches with your PO or not.If not then correct and then run the import.
<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">quote:</font><HR>Originally posted by Venkatesh Potdar ([email protected]):
I am trying to import some receipts into
Oracle using the Oracle Open interfaces.
I get an error RCV-856 Receivables Open Interface. SHipment lines in errors. Can you help me with that<HR></BLOCKQUOTE>
null -
RECEIVING OPEN INTERFACE TABLE의 STRUCK RECORDS 정보 취합 SCRIPT
제품 : MFG_PO
작성날짜 : 2005-01-27
RECEIVING OPEN INTERFACE TABLE의 STRUCK RECORDS 정보 취합 SCRIPT
=================================================================
PURPOSE
RCV_TRANSACTIONS_INTERFACE table에 있는 struck receipt records의 정보를
취합하여, struck 원인 및 해결에 도움을 줄 수 있다.
(Oracle Purchasing - Version: 11.5.2 to 11.5.9)
Explanation
Receiving Open Interface Tables에 걸려 있는 receipt struck의 source
document의 추가 정보를 어떻게 취합할 수 있을것인가?
(RCV_TRANSACTIONS_INTERFACE)
Source document는 아래 중 하나가 될 수 있다.
* Purchase Order
* Return Material Authorization (RMA)
* Internal Requisition
아래에 소개하는 scripts는 interface tables에 많은 수의 records가 있을때,
많은 수의 records의 정보를 한 번에 취합하길 원할때 사용하면 유용하다.
만약 interface tables에 단지 몇 개의 records만 있다면 Note: 171257.1
- Oracle Procurement (Purchasing)/iProcurement Diagnostic Tests 에 소개
되어져 있는 적당한 diagnostic script를 이용하는편이 낫다.
Example
1.Error가 발생한 Purchase Order receipts의 추가 정보를 취합하는 script:
SELECT SUBSTR(POH.SEGMENT1,1,10) "PO Number",
POR.RELEASE_NUM "Release Num",
POL.LINE_NUM "Line Num",
RTI.INTERFACE_TRANSACTION_ID "Intf Trx Id",
RTI.TRANSACTION_DATE "Trx Date",
RTI.PROCESSING_MODE_CODE "Proc Mode",
RTI.TRANSACTION_STATUS_CODE "Trx Status",
RTI.PROCESSING_STATUS_CODE "Proc Status",
SUBSTR(PIE.ERROR_MESSAGE,1,75) "Error Message",
POH.ORG_ID "Op Unit Id",
RTI.PO_HEADER_ID "PO Hdr Id",
RTI.PO_RELEASE_ID "Rel Id",
RTI.PO_LINE_ID "PO Line Id",
RTI.PO_LINE_LOCATION_ID "Line Loc Id",
RTI.QUANTITY "Intf Qty",
POLL.QUANTITY "Order Qty",
POLL.QUANTITY_RECEIVED "Qty recvd",
POD.QUANTITY_DELIVERED "Qty Delv",
NVL(POLL.CLOSED_CODE,'OPEN') "Closed Code",
OOD.ORGANIZATION_CODE "To Inv Org",
RTI.DESTINATION_TYPE_CODE "Dest Type",
RTI.TRANSACTION_TYPE "Intf Trx Type",
NVL(POLL.QTY_RCV_EXCEPTION_CODE,'NONE') "Qty Exception",
POLL.QTY_RCV_TOLERANCE "Qty Tolerance",
POLL.RECEIVE_CLOSE_TOLERANCE "Receipt Tolerance"
FROM RCV_TRANSACTIONS_INTERFACE RTI,
PO_HEADERS_ALL POH,
PO_RELEASES_ALL POR,
PO_LINES_ALL POL,
PO_LINE_LOCATIONS_ALL POLL,
ORG_ORGANIZATION_DEFINITIONS OOD,
PO_DISTRIBUTIONS_ALL POD,
PO_INTERFACE_ERRORS PIE
WHERE POH.PO_HEADER_ID = RTI.PO_HEADER_ID
AND POR.PO_RELEASE_ID(+) = RTI.PO_RELEASE_ID
AND POL.PO_LINE_ID = RTI.PO_LINE_ID
AND OOD.ORGANIZATION_ID(+) = RTI.TO_ORGANIZATION_ID
AND POLL.LINE_LOCATION_ID = RTI.PO_LINE_LOCATION_ID
AND POD.LINE_LOCATION_ID = POLL.LINE_LOCATION_ID
AND RTI.INTERFACE_TRANSACTION_ID = PIE.INTERFACE_TRANSACTION_ID(+);
2.Error가 발생한 RMA receipts의 추가 정보를 취합하는 script:
SELECT RTI.INTERFACE_TRANSACTION_ID "Interface Transaction ID",
RTI.PROCESSING_STATUS_CODE "Processing Status",
RTI.PROCESSING_MODE_CODE "Processing Mode",
RTI.TRANSACTION_STATUS_CODE "Transaction Status",
RTI.TRANSACTION_TYPE "Transaction Type",
RTI.TRANSACTION_DATE "Transaction Date",
RTI.OE_ORDER_HEADER_ID "Order header Id",
OOH.ORDER_NUMBER "Order Number",
OOH.ORG_ID "Oper Unit Id",
RTI.OE_ORDER_LINE_ID "Order Line Id",
OOL.INVENTORY_ITEM_ID "Order Item",
OOL.FLOW_STATUS_CODE "Line Flow Status Code",
RTI.QUANTITY "Intf Qty",
RTI.UNIT_OF_MEASURE "Intf UOM",
OOL.ORDERED_QUANTITY "Qty Ordered",
OOL.SHIPPED_QUANTITY "Qty Shipped",
OOL.FULFILLED_QUANTITY "Qty Fulfilled",
OOL.OPEN_FLAG "Open Flag",
OOL.CANCELLED_FLAG "Cancelled",
WH.ORGANIZATION_CODE||' - '||WH.ORGANIZATION_NAME
"Ship To Organization",
WH1.ORGANIZATION_CODE||' - '||WH1.ORGANIZATION_NAME
"Ship From Organization",
OOL.BOOKED_FLAG "Booked",
SUBSTR(PIE.ERROR_MESSAGE,1,75) "Error Message"
FROM RCV_TRANSACTIONS_INTERFACE RTI,
OE_ORDER_LINES_ALL OOL,
OE_ORDER_HEADERS_ALL OOH,
ORG_ORGANIZATION_DEFINITIONS WH,
ORG_ORGANIZATION_DEFINITIONS WH1,
PO_INTERFACE_ERRORS PIE
WHERE OOL.HEADER_ID = RTI.OE_ORDER_HEADER_ID
AND OOL.LINE_CATEGORY_CODE = 'RETURN'
AND OOL.LINE_ID = RTI.OE_ORDER_LINE_ID
AND OOH.HEADER_ID = RTI.OE_ORDER_HEADER_ID
AND OOL.SHIP_TO_ORG_ID = WH.ORGANIZATION_ID(+)
AND OOL.SHIP_FROM_ORG_ID = WH1.ORGANIZATION_ID(+)
AND RTI.INTERFACE_TRANSACTION_ID = PIE.INTERFACE_TRANSACTION_ID(+)
ORDER BY RTI.INTERFACE_TRANSACTION_ID;
3.Error가 발생한 Internal Requisition receipts의 추가 정보를 취합하는
script:
SELECT RTI.RECEIPT_SOURCE_CODE "Receipt Source Code",
RTI.REQUISITION_LINE_ID "Intf Req Line Id",
RTI.SHIPMENT_HEADER_ID "Ship Hdr Id",
RTI.SHIPMENT_LINE_ID "Ship Line Id",
RTI.ITEM_ID "Item Id",
RTI.QUANTITY "Intf Qty",
RTI.UNIT_OF_MEASURE "UOM",
RTI.FROM_ORGANIZATION_ID "From Org Id",
RTI.TO_ORGANIZATION_ID "To Org id",
PRH.REQUISITION_HEADER_ID "Req Hdr Id",
PRH.SEGMENT1 "Req Num",
PRL.REQUISITION_LINE_ID "Req Line Id",
NVL(PRL.QUANTITY_DELIVERED,0) "Qty Delv",
NVL(PRL.QUANTITY_CANCELLED,0) "Qty Canc",
PRL.QUANTITY "Qty Ordered",
PRL.QUANTITY - (nvl(PRL.QUANTITY_CANCELLED,0) +
NVL(PRL.QUANTITY_DELIVERED,0))"Qty Remaining",
PRL.SOURCE_TYPE_CODE "Source Type",
PRH.TRANSFERRED_TO_OE_FLAG "XFR to OE Flag",
NVL(PRL.CANCEL_FLAG,'N') "Cancelled",
NVL(PRL.CLOSED_CODE,'OPEN') "Closed Code",
LIN.LINE_ID "ISO Line Id",
NVL(LIN.ORDERED_QUANTITY,0) "ISO Line Qty",
NVL(LIN.SHIPPED_QUANTITY,0) "ISO Ship Qty",
NVL(FULFILLED_QUANTITY,0) "ISO Fulfilled Qty",
NVL(LIN.CANCELLED_QUANTITY,0) "ISO Cancelled Qty",
NVL(LIN.OPEN_FLAG,'N') "ISO Line Open",
NVL(LIN.BOOKED_FLAG,'N') "ISO Line Booked",
NVL(LIN.CANCELLED_FLAG,'N') "ISO Line Cancelled",
OOH.ORDER_NUMBER "ISO Order Number",
PIE.COLUMN_NAME "Intf Column",
SUBSTR(PIE.ERROR_MESSAGE,1,75) "Error Message"
FROM RCV_TRANSACTIONS_INTERFACE RTI,
PO_REQUISITION_HEADERS_ALL PRH,
PO_REQUISITION_LINES_ALL PRL,
PO_INTERFACE_ERRORS PIE,
OE_ORDER_LINES_ALL LIN,
OE_ORDER_HEADERS_ALL OOH
WHERE PRL.REQUISITION_HEADER_ID = PRH.REQUISITION_HEADER_ID
AND RTI.REQUISITION_LINE_ID = PRL.REQUISITION_LINE_ID
AND LIN.SOURCE_DOCUMENT_ID = PRH.REQUISITION_HEADER_ID
AND LIN.SOURCE_DOCUMENT_LINE_ID = PRL.REQUISITION_LINE_ID
AND LIN.SOURCE_DOCUMENT_TYPE_ID = 10 --Internal Requisition
AND OOH.HEADER_ID = LIN.HEADER_ID
AND PIE.INTERFACE_TRANSACTION_ID(+) = RTI.INTERFACE_TRANSACTION_ID
ORDER by PRH.SEGMENT1;
Reference Documents
Note 263368.1Any suggestion/advise please!
Thanks,
Genoo -
Sender JDBC to Receiver RFC scenario
Hi All,
I have to configure an scenario of sender JDBC to receiver RFC wherein SAP PI will be pulling data from third party database (Oracle).
Since I am configuring such scenario of sender JDBC, I want help on every important key aspects/prerequisites of configuring sender JDBC adapter/channel. I want to understand about Database Connection, Processing Parameters, etc. details while configuring sender JDBC channel and their significance/relevance.
Also I need guidelines about the source data structure (message type or external definition) to be used/created in ESR.
How sender JDBC channel and receiver JDBC channel differs from each other?
Please guide me on this.
Thanks & Regards,
Amit PatilHi Amit,
First of all you should read the sap.help documentation:
Configuring the Sender JDBC Adapter - Advanced Adapter Engine - SAP Library
Configuring the Receiver JDBC Adapter - Advanced Adapter Engine - SAP Library
Later, you can read Rajs's blog to advance concepts and perfomance JDBC Receiver scenarios best practices part-1
Finally, search the other blogs and documents in the SCN.
How sender JDBC channel and receiver JDBC channel differs from each other?
JDBC sender always does a poll to a DB table (with join some tables) in wich table you will need a field checkbox to mark the registers read, and the the receiver JDBC you can do a typical SQL construction like SELECT, INSERT, DELETE, etc. Both cases need the JDBC DB driver installed (check the SAP notes for this, also you can find some examples in the SCN:http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/8000cffc-6b92-2d10-3493-f2ac1399242f?quicklink=index&… PI/XI: deploy a JMS/JDBC driver without JSPM? ).
Regards. -
Hi,
I'm about to implement Spec2000 to RFC interface. since XI does not support EDI (no EDI adaptors available) i'll have choose one out of two options:
1. manipulate EDI as it was regular text file.
2. use 3rd party tool as an adaptor.
i belies my first option is complicated and clearly has great risk, so i'm looking for as much leads as i can get.
Tnx in advance
Uri>
uri karagila wrote:
> Hi,
>
> I'm about to implement Spec2000 to RFC interface. since XI does not support EDI (no EDI adaptors available) i'll have choose one out of two options:
>
> 1. manipulate EDI as it was regular text file.
> 2. use 3rd party tool as an adaptor.
>
> i belies my first option is complicated and clearly has great risk, so i'm looking for as much leads as i can get.
>
> Tnx in advance
>
> Uri
Option 1 - I guess that is not a good idea considering the complexity in EDI messages. But then it denpends how many interfaces you have. If there are very less say under 10 interfaces using the EDI spec. then it is still worth investing time and money on coming up with the manipulation but else.... its a night mare.
Option 2 - There are various third party adapter available ex. seeburger, iway etc which you can make use. Only thing is it comes with a cost but life becomes much easier. -
No interface objects found in interface determination
Hi Experts,
i am configuring the multiple idoc to flat file.
for this, i am not using the bpm.
i refer the following blog.
https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/4443. [original link is broken] [original link is broken] [original link is broken]
According to this blog, we can make the scenario as file to file. xi will pick the idoc-xml file.
for this, could you please let me know the source data type?
i exported standard idoc and made occurances as unbounded and import to name space.
for the imported external defination, i creared the message interface as outbound and used as sender interface.
i made the mapping between external deficnation to flat file structure.
my IR part is ok.
i have problem with ID.
when i configure the interface determination, i found it as no interface objects found.Hi,
Normally we dont require to create DT , MT MI incase we are using IDOC.
But in your case you imported the idoc and exported it to ur desktop and changed the Occurance of that IDOC.
Then again you imported that as External Def.
This case you need to create the MI for this IDOC, why because we dont have the option to select the External def directly with out creating the MI at the time of creation of Interface mapping.
But in case of IDOC means we have the provision to select the IDOC derectly at the time of Interface mappimg
Regards
Seshagiri -
How to enable viewing of payload for receiver RFC adapter in RWB
HI All,
We can see the payload of all adapters in RWB by clicking on the message link under component >> adapter monitoirng. However when i click on message link for receiver RFC adapter, it does not show any payload. How can I enable this payload?
RegardsHey
Sync messages are Cached rather than persisted in RWB to save memory.
You need to change the following parameter in Visual admin to see sync messages in RWB
Service SAP XI AF Messaging:
messaging.syncMessageRemover.removeBody = false
its set to True by default hence it does not stores the messages.
You may have to restart the Java stack after the changes (but first try without restarting the Java stack).
Thanks
Aamir
Pl:You will see the sync messages in Message Monitoring in RWB (not sure if it will show up in Communication channel monitoring as well)
Maybe you are looking for
-
Hi, I have a requirement in R3 to trigger an update in CRM during the posting of payment run transaction. Which BTE should I be using? Cheers.
-
Essentially, while editing SD footage, on the Premiere Pro CS5 timeline, in a SD 720 x 480 resolution project, the Program Monitor image freezes. It does not seem to matter what I am doing such a playback, adding a transition, color correction, short
-
Group; I'm looking to get the new 17" MacBook Pro with a 256 GB SSD and I want to find out what the read and write speeds are. Does anyone know where I can find this out? Does anyone know who manufactures the hard drive? Thanks in Advance Eddie
-
Can anyone explain why my posts have been removed???
It seems that for some reason my posts from yesterday have been removed. I can't imagine why that would happen, I didn't breach any code of conduct, and my topics were inline with the general theme of the forums. If anyone could explain this to me I
-
Hello Illustrators. lately sometimes while im working in illustrator cs6,once i move some objects around im receiving the following error messages. i have more than enough memory on my machine.its the 1st time im coming across this message: