FOREACH scenario : usage of Receiver or Interface variable
Hi fellow ccBPMers
I have scenario with flat files that must be read and split up into individual files.
First file is a Header Flat File containing 4 Header records
A xxxxxxxxxxxx
B xxxxxxxxxxxx
C xxxxxxxxxxxx
D xxxxxxxxxxxx
Second file is a Detail Flat File containing the associate Detail records
A Line 1
A Line 2
B Line 1
B Line 2
B Line 3
C Line 1
D Line 1
D Line 2
D Line 3
D Line 4
This must be merged and produce another 4 files (they will be IDOCS)
File1 : A xxxxxxxxxxxx with a Line 1 and 2
File2: B xxxxxxxxxxxx with Line 1 and 2
File3 : C xxxxxxxxxxxx with Line 1
File4 : D xxxxxxxxxxxx Line 1, 2, 3 and 4
I have considered the usage of a Block FOREACH to process a multiline container that I have set up that should contain a record for each grouping of lines.
Now for the FOREACH the multiline element lets me choose either a Receivers (from a ReceiverDetermination step)
OR seems that also choose an instance variable of my collected group of records.
Question then is : If I choose the instance variable, will the FOREACH simply loop through each collected group of records and send them one at a time (if so I would not need the determine receivers step - as suggested by saphelp doco).
I'd appreciate it if somebody could consider the scenario and provide an opinion. Points awarded of course !
Thanks
Here is a description of my Integration Process.
It has a FORK with 2 steps. step1 to Receive a BODY and Collect into multiline HeaderContainer
and step 2 to Receive a HEADER and Collect into multiline BodyContainer
next has a TRANSFORMATION with source being the HeaderContainer and the BodyContainer and target CollectedHeaderandBody
next a FOREACH Block has multiline element of CollectedHeaderandBody and current line as a CollectedLine (of the CollectedHeaderandBody)
within the FOREACH block it will SEND the CollectedLine.
Does that seem correct ?
Edited by: Paulie Seikmayt on Apr 18, 2008 3:45 PM
Similar Messages
-
Receiver File Adapter:Variable substitution :FATAL ERROR
HI all
as per the previous thread :
<b>Receiver File Name Variable Substitution :payload: Fatal Error
in our idoc to file sceanrio, we are using simple <b>graphical mapping.</b>
for dynamic file name , variable field is at <b>Target message type</b>,So on using <b>Variable substitution</b>, again the error is same :
SAXException while parsing XML payload: Fatal Error: com.sap.engine.lib.xml.parser.ParserException: XMLParser: No data allowed here: (hex) .
<b>Our XI Component version : 2004
WAS 6.4 SP 15</b>
Thanks
ARAshutosh,
There is nothing to do with your mapping programs. Its the mistake in ur reciever file adapter configuration for variable substitution.I asked u whether u changed message mapping in order to implement the UDF!!
Did u tried checking the audit log. Ok just to see where u are going wrong, instead of using Payload :... in Variable substitution use Message:..... and give some interface name so that to check whether the file is created with Interface name.
Juz give a try!!!
Best regards
raj. -
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 -
Hi,
can somebode explain how succesfully create a bpm block witch Modus ForEach?
I have a multipleLine element which collects messages, now i want to send these messages seperate.
My idea was to create a block witch Modus ForEach and set the current Line property for sending with a end condition.
My Problem is that i cant set the current Line Property. The editor requeriers at this property a Interface variable.. but i cant chosse anything, its deaktive!
Can somebody give me a hint how to create a Interface Variable ?
regardsHi ,
You will have to create two interface variables . Create one variable withoption multiline checked and another with unchecked . make sure the one which you define is of type multiline should be of of type which has occurance 0..unbound . Also make sure in your message type you have a variable which contains the total number of records/instances in multiline elements.
Then in your ForEach Block select the interface variable which has only one occurance ( multiline flag is unchecked) as currentline element . This loop will get executed till the counter = total number of records/instances in multiline elements
Thanks ,
Suvarna
Award pts if it helps. -
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 -
Receiver and Interface Determination, Sender and Receiver Agreement
Hi Experts,
Could you please tell me, what Receiver Determination, Interface Determination, Sender Agreement and Receiver Agreement we have to use for the below blog.
https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/1403 [original link is broken] [original link is broken] [original link is broken]
Regards
SaraHi Sara,
WS->BP
Receiver Determination: Sender IF, Sender NS, Sender BS determine the BP
Interface Determination: Sender IF, Sender NS, Sender BS determine your start msg IF (abstr IF) and IF mapping
Sender Agreement: SOAP sender channel for that Sender IF, Sender NS, Sender BS
Receiver Agreement: not reqired
BP->DB
Receiver Determination: BP IF (abstr), BP IF NS, BP determine the 3rd party BS (DB)
Interface Determination: BP IF (abstr), BP IF NS, BP determine Inbound-IF and IF mapping
Sender Agreement: not reqired
Receiver Agreement: JDBC receiver channel for that Inbound IF, NS and 3rd party BS
BP->File
Receiver Determination: BP IF (abstr), BP IF NS, BP determine the 3rd party BS (File)
Interface Determination: BP IF (abstr), BP IF NS, BP determine Inbound-IF and IF mapping
Sender Agreement: not required
Receiver Agreement: File receiver channel for that Inbound IF, NS and 3rd party BS
Regards,
Udo -
11.5.10 RECEIVING OPEN INTERFACE를 통해 RETURN처리하는 방법
제품 : MFG_PO
작성날짜 : 2006-05-30
11.5.10 RECEIVING OPEN INTERFACE를 통해 RETURN처리하는 방법
==================================================
PURPOSE
11.5.10에서 Receiving Open Interface를 통해 Return처리하는 방법을 기술함.
Explanation
11.5.10 is ROI supports for Standard Purchase Order
. RETURN to RECEIVING transactions
. RETURN to VENDOR transactions
1. Receipt routing = Standard Receipt일 경우
A) perform a "RETURN to RECEIVING" for a standard Purchase Order
through ROI
TRANSACTION_TYPE = RETURN TO RECEIVING
PARENT_TRANSACTION_ID = (Transaction Id for DELIVER transaction)
B) perform a "RETURN to VENDOR" for a standard Purchase Order
through ROI
TRANSACTION_TYPE = RETURN TO VENDOR
PARENT_TRANSACTION_ID = (Transaction Id for RECEIVE transaction)
2. Receipt routing = Direct Receipt일 경우,
==> only 1 step return is needed,
TRANSACTION_TYPE = RETURN TO VENDOR
TRANSACTION_ID = (Transaction Id for DELIVER transaction)
3. a Lot and Serial Controlled Item의 경우,
다음 table들에 data를 Insert해 주어야 합니다.
RCV_TRANSACTIONS_INTERFACE,
MTL_TRANSACTIONS_LOTS_INTERFACE,
MTL_SERIAL_NUMBERS_INTERFACE.
TEST
step1> PO등록
1) Standard Purchase Order number: # 8415
Inventory Item = Lot-Serial-Controlled-1
Receipt Routing = Standard Receipt
Destination Type Code = Inventory
step2) Receipt처리
Receipt number :# 7970
The deliver transaction's quantity=1
item=Lot-Serial-Controlled-1
Lot Number=S336
Serial Number = SN0021
step3> Return처리
A) "RETURN to RECEIVING" for PURCHASE ORDER Example
SQL>
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,
QUANTITY,
UNIT_OF_MEASURE,
ITEM_ID,
EMPLOYEE_ID,
SHIPMENT_HEADER_ID,
SHIPMENT_LINE_ID,
RECEIPT_SOURCE_CODE,
VENDOR_ID,
FROM_ORGANIZATION_ID,
FROM_SUBINVENTORY,
FROM_LOCATOR_ID,
SOURCE_DOCUMENT_CODE,
PARENT_TRANSACTION_ID,
PO_HEADER_ID,
PO_LINE_ID,
PO_LINE_LOCATION_ID,
PO_DISTRIBUTION_ID,
DESTINATION_TYPE_CODE,
DELIVER_TO_PERSON_ID,
LOCATION_ID,
DELIVER_TO_LOCATION_ID,
VALIDATION_FLAG
VALUES
(rcv_transactions_interface_s.nextval, --INTERFACE_TRANSACTION_ID
rcv_interface_groups_s.nextval, --GROUP_ID
SYSDATE, --LAST_UPDATE_DATE
0, --LAST_UPDATE_BY
SYSDATE, --CREATION_DATE
0, --CREATED_BY
0, --LAST_UPDATE_LOGIN
'RETURN TO RECEIVING', --TRANSACTION_TYPE
SYSDATE, --TRANSACTION_DATE
'PENDING', --PROCESSING_STATUS_CODE
'BATCH', --PROCESSING_MODE_CODE
'PENDING', --TRANSACTION_STATUS_CODE
1, --QUANTITY
'Each', --UNIT_OF_MEASURE
169845, --ITEM_ID
13706, --EMPLOYEE_ID
477550, --SHIPMENT_HEADER_ID
484510, --SHIPMENT_LINE_ID
'VENDOR', --RECEIPT_SOURCE_CODE
7927, --VENDOR_ID
204, --FROM_ORGANIZATION_ID
'Stores', --FROM_SUBINVENTORY
null, --FROM_LOCATOR_ID
'PO', --SOURCE_DOCUMENT_CODE
524018, --PARENT_TRANSACTION_ID
40924, --PO_HEADER_ID
46915, --PO_LINE_ID
81963, --PO_LINE_LOCATION_ID
84349, --PO_DISTRIBUTION_ID
'INVENTORY', --DESTINATION_TYPE_CODE
null, --DELIVER_TO_PERSON_ID
null, --LOCATION_ID
null, --DELIVER_TO_LOCATION_ID
'Y' --VALIDATION_FLAG
INSERT INTO MTL_TRANSACTION_LOTS_INTERFACE
( TRANSACTION_INTERFACE_ID,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_LOGIN,
LOT_NUMBER,
TRANSACTION_QUANTITY,
PRIMARY_QUANTITY,
SERIAL_TRANSACTION_TEMP_ID,
PRODUCT_CODE,
PRODUCT_TRANSACTION_ID
VALUES
( MTL_MATERIAL_TRANSACTIONS_S.NEXTVAL,--
TRANSACTION_INTERFACE_ID
SYSDATE, --LAST_UPDATE_DATE
0, --LAST_UPDATED_BY
SYSDATE, --CREATION_DATE
0, --CREATED_BY
0, --LAST_UPDATE_LOGIN
'S366', --LOT_NUMBER
1, --TRANSACTION_QUANTITY
1, --PRIMARY_QUANTITY
MTL_MATERIAL_TRANSACTIONS_S.NEXTVAL, --
SERIAL_TRANSACTION_TEMP_ID
'RCV', --PRODUCT_CODE
RCV_TRANSACTIONS_INTERFACE_S.CURRVAL --
PRODUCT_TRANSACTION_ID
INSERT INTO MTL_SERIAL_NUMBERS_INTERFACE
( TRANSACTION_INTERFACE_ID,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_LOGIN,
FM_SERIAL_NUMBER,
TO_SERIAL_NUMBER,
PRODUCT_CODE,
PRODUCT_TRANSACTION_ID)
VALUES
(MTL_MATERIAL_TRANSACTIONS_S.CURRVAL,--
TRANSACTION_INTERFACE_ID
SYSDATE, --LAST_UPDATE_DATE
0, --LAST_UPDATED_BY
SYSDATE, --CREATION_DATE
0, --CREATED_BY
0, --LAST_UPDATE_LOGIN
'SN0021', --FM_SERIAL_NUMBER
'SN0021', --TO_SERIAL_NUMBER
'RCV', --PRODUCT_CODE
RCV_TRANSACTIONS_INTERFACE_S.CURRVAL --
PRODUCT_TRANSACTION_ID
Commit;
B) "RETURN to VENDOR" Transaction for PURCHASE ORDER
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,
QUANTITY,
UNIT_OF_MEASURE,
ITEM_ID,
EMPLOYEE_ID,
SHIPMENT_HEADER_ID,
SHIPMENT_LINE_ID,
RECEIPT_SOURCE_CODE,
VENDOR_ID,
FROM_ORGANIZATION_ID,
FROM_SUBINVENTORY,
FROM_LOCATOR_ID,
SOURCE_DOCUMENT_CODE,
PARENT_TRANSACTION_ID,
PO_HEADER_ID,
PO_LINE_ID,
PO_LINE_LOCATION_ID,
PO_DISTRIBUTION_ID,
DESTINATION_TYPE_CODE,
DELIVER_TO_PERSON_ID,
LOCATION_ID,
DELIVER_TO_LOCATION_ID,
VALIDATION_FLAG
VALUES
(rcv_transactions_interface_s.nextval, --INTERFACE_TRANSACTION_ID
rcv_interface_groups_s.nextval, --GROUP_ID
SYSDATE, --LAST_UPDATE_DATE
0, --LAST_UPDATE_BY
SYSDATE, --CREATION_DATE
0, --CREATED_BY
0, --LAST_UPDATE_LOGIN
'RETURN TO VENDOR', --TRANSACTION_TYPE
SYSDATE, --TRANSACTION_DATE
'PENDING', --PROCESSING_STATUS_CODE
'BATCH', --PROCESSING_MODE_CODE
'PENDING', --TRANSACTION_STATUS_CODE
1, --QUANTITY
'Each', --UNIT_OF_MEASURE
169845, --ITEM_ID
13706, --EMPLOYEE_ID
477550, --SHIPMENT_HEADER_ID
484510, --SHIPMENT_LINE_ID
'VENDOR', --RECEIPT_SOURCE_CODE
7927, --VENDOR_ID
204, --FROM_ORGANIZATION_ID
'Stores', --FROM_SUBINVENTORY
null, --FROM_LOCATOR_ID
'PO', --SOURCE_DOCUMENT_CODE
524017, --PARENT_TRANSACTION_ID
40924, --PO_HEADER_ID
46915, --PO_LINE_ID
81963, --PO_LINE_LOCATION_ID
84349, --PO_DISTRIBUTION_ID
'RECEIVING', --DESTINATION_TYPE_CODE
null, --DELIVER_TO_PERSON_ID
null, --LOCATION_ID
null, --DELIVER_TO_LOCATION_ID
'Y' --VALIDATION_FLAG
INSERT INTO MTL_TRANSACTION_LOTS_INTERFACE
( TRANSACTION_INTERFACE_ID,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_LOGIN,
LOT_NUMBER,
TRANSACTION_QUANTITY,
PRIMARY_QUANTITY,
SERIAL_TRANSACTION_TEMP_ID,
PRODUCT_CODE,
PRODUCT_TRANSACTION_ID
VALUES
( MTL_MATERIAL_TRANSACTIONS_S.NEXTVAL,--
TRANSACTION_INTERFACE_ID
SYSDATE, --LAST_UPDATE_DATE
0, --LAST_UPDATED_BY
SYSDATE, --CREATION_DATE
0, --CREATED_BY
0, --LAST_UPDATE_LOGIN
'S366', --LOT_NUMBER
1, --TRANSACTION_QUANTITY
1, --PRIMARY_QUANTITY
MTL_MATERIAL_TRANSACTIONS_S.NEXTVAL, --
SERIAL_TRANSACTION_TEMP_ID
'RCV', --PRODUCT_CODE
RCV_TRANSACTIONS_INTERFACE_S.CURRVAL --
PRODUCT_TRANSACTION_ID
INSERT INTO MTL_SERIAL_NUMBERS_INTERFACE
( TRANSACTION_INTERFACE_ID,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_LOGIN,
FM_SERIAL_NUMBER,
TO_SERIAL_NUMBER,
PRODUCT_CODE,
PRODUCT_TRANSACTION_ID)
VALUES
(MTL_MATERIAL_TRANSACTIONS_S.CURRVAL,--
TRANSACTION_INTERFACE_ID
SYSDATE, --LAST_UPDATE_DATE
0, --LAST_UPDATED_BY
SYSDATE, --CREATION_DATE
0, --CREATED_BY
0, --LAST_UPDATE_LOGIN
'SN0021', --FM_SERIAL_NUMBER
'SN0021', --TO_SERIAL_NUMBER
'RCV', --PRODUCT_CODE
RCV_TRANSACTIONS_INTERFACE_S.CURRVAL --
PRODUCT_TRANSACTION_ID
Commit;
step4) RUN the Receiving Transaction Processor with (GROUP_ID=30053)
step5) Check a data
Navigate to Receiving / Receiving Transactions Summary form
Example
Reference Documents
Note#360340.1I have done this by a direct insert.
I had loaded a table called xx_eam_msii. It holds the item id , org id and locator id.
The following works.
INSERT
INTO MTL_ITEM_LOC_DEFAULTS (INVENTORY_ITEM_ID ,ORGANIZATION_ID ,locator_id,DEFAULT_TYPE,subinventory_code
,LAST_UPDATE_DATE ,LAST_UPDATED_BY ,CREATION_DATE ,CREATED_BY )
(select msi.inventory_item_id,msi.organization_id ,x.inventory_location_id,2,x.receiving_subinventory
,sysdate,11531,sysdate,11531
from mtl_system_items_b msi, xx_eam_msii x
where x.segment1 = msi.segment1 and msi.organization_id = x.organization_id
and not exists (select 1 from MTL_ITEM_LOC_DEFAULTS misd
where misd.inventory_item_id = msi.inventory_item_id and misd.organization_id = msi.organization_id
and DEFAULT_TYPE = 2)
Hope this helps,
Sandeep Gandhi -
Scenario 10 senders :Receiver
hi gurus
Explain scenario 10 senders :Receiver
thanksHi,
Here you can collect all those messages using BPM and club those file contents into a single file and send it to the target.
Refer this blog..
IDOCs (Multiple Types) Collection in BPM
Regards,
yuga -
About Interface variables...
Hello everybody.
I am new to Java so please don't mind if my question looks trivial !
I would like to know why interface variables can be static but interface methods cannot be static ?
regards,
Naveen.But its still not clear, why Interface variables need to be constants ? Why cant they be assigned values by the implementing classes ? Does it have to do with optimization ?because they were designed to be like that ; if you want fields to be variable, then use abstract class ; a nice example of constants that could be contained in an interface is the value of PI
the value of PI is not supposed to change in the time, and making it variable could lead to really serious problems in the program, if a class alter its value -
APIS FOR RECEIVING OPEN INTERFACE
Hi all,
Can any one help me regarding APIS for receiving open interface for ASN(Advanc shipment notice)
regards
SREEFor 11i, all public APIs are listed at http://irep.oracle.com
For R12, use the Integration Responsibility responsibility to look up the APIs
HTH
Srini
Maybe you are looking for
-
We have all our users and mailboxes on Exchange 2007 and I have introduced two Exchange 2013 servers in my organization and both have mailbox and CAS server installed on them. With Exchange 2007 server, I had not modified any of the internal and ext
-
How to hide a view in NWDS?
Hi, We need to hide an Iview based on the condition which will be on load. But that Iview is the first to load on running the application. Can anyone please help us how to make the view hide in NWDS without affecting other views? Thanks in advance, I
-
Im going crazy. Everytime I click on a sub-menu within a document or email, the pointer takes me back to the beginning of the document. For example, I need to change the colour of my response to a series of questions. I click on red in the drop dow
-
Problem identifying name of device connected to port ???
Hi I am new to Java communications , actually my requirement is identifying USB port , for ex: when i am trying to connect (to desktop/laptop ) using tata indicom USB and when removing connection i need to identify that device based on that i have to
-
My two iphones have major differences.
Hello! I have two iPhones, one has a screen with much higher contrast ratio, than than other. I checked the brightness settings, and they are the same on both phones. I also noticed the one with the brighter screen, touch control only works with pure