Monday, November 11, 2013

Oracle iSupplier – Advanced Shipment Notice (ASN)

Oracle iSupplier – Advanced Shipment Notice (ASN): The Advance Shipment Notice (ASN) functionality of Oracle iSupplier helps a supplier to communicate the shipment information to the buyer while the goods are being shipped form the premises. It immensely helps the purchasing organization to estimate the expected arrival of goods which in turn helps to determine whether production schedule, customer delivery commitments etc. are on track or there may be a change in various schedules. It also saves the data entry time of the receiver, as an ASN can be automatically converted to a PO receipt which we will discuss later in this document.


Supplier contact actions:
Login to iSupplier as a supplier contact.
Click on the “Shipments” tab and then “shipment Notices” link.
Now click on “Create Advance Shipment Notices” link.
Now select appropriate view or perform an advanced search to extract the purchase orders eligible for shipments.
Select the respective PO, line or shipment you want to create the shipment notice for and click on the “Add to Shipment Notice” button.
Click on the “Shipment Header” link in the subsequent page and enter the shipment number. As expected, this number is unique. Also enter the shipment date and expected receipt date etc., as they are mandatory. You may optionally enter the Freight, packing and weight information.
Now click on the “Shipment Lines” tab and optionally enter the packing slip, container information. You may click on the “Default to All Lines” button to default the mentioned information to all the lines of the ASN or click on the “Show” link of the respective ASN line and enter the aforesaid fields if the values for various lines are not same.
You may also attach various supporting documents, such as packing slip, to the ASN which will be visible by the receiver and will appear as a “From Supplier” attachment. An ASN line can be split into multiple ASN lines if needed.
Finally click on the “Submit” button. This action will send the ASN information to the buyer as a For Your Information (FYI) notification, so that buyer can communicate to stores, planning etc. if needed.
The “Receiving Transaction Processor” program will process ASN records.
Receiver Actions:
While the shipment is in transit, the receiver can view the shipment details and update the same in the below navigation:
Responsibility: Inventory Superuser or similar
Navigation: Transactions -> Receiving -> Manage Shipments
Or
Responsibility: Purchasing Superuser or similar
Navigation: Receiving -> Manage Shipments
Select appropriate inventory organization.
Enter the ASN number in the Shipment field of the “Find In-Transit Shipments” form and click on the “Find” button. You will be able to see the shipment details and update the allowed fields. You may also cancel the whole ASN or a line of it by clicking on Tools -> Cancel menu.
Now, once the shipment arrives in the purchasing organization, the receiver converts the ASN to a PO Receipt.
Responsibility: Inventory Superuser or similar
Navigation: Transactions -> Receiving -> Receipts
Or
Responsibility: Purchasing Superuser or similar
Navigation: Receiving -> Receipts
Select appropriate inventory organization.
Enter the ASN number in the Shipment field of the “Find Expected Receipts” form and click on the “Find” button.
Now follow standard PO receiving process to complete the receiving.
Sometimes you may not get expected results on ASN or Receipt search activities. In that case, make sure to run the “Receiving Transaction Processor” program if it is not periodically scheduled.

The ASN aka Advanced Shipment Notice is a document that is sent to a buyer in advance of the buyer receiving the product. It is typically used within the context of an EDI environment. It can be used to list the contents of an expected shipment of goods as well as additional information relating to the shipment, such as order information, product description, physical characteristics, type of packaging, marking carrier information, and configuration of goods within the transportation equipment. In the implementation of the transaction the latest the ship notice may be sent is the time of shipment. In practice the ship notices just arrive before the shipment.
dgreybarrow Basic Business Needs
  • To receive a Shipping notice in Advance:
  • Provide user the ability to electronically receive supplier ship notice into Purchasing by loading an ASN electronically into Oracle Apps using the Receiving Open Interface.
dgreybarrow Business Flow
Typical Process with company using Oracle EBS would be similar to this:
  1. Supplier sends ASN.
  2. EDI validates the data for EDI standards and inserts data into Receiving Interface tables.
  3. Receiving Open Interface validates ASN data. If accepted shipment lines are populated.
  4. Supply details are maintained.
  5. Application Advice is generated. The supplier can check if there is a rejection of ASN through the advice.
dgreybarrowInbound Shipment Notice Transaction (856)
If you are using EDI Gateway , make sure you have done setup for Trading partner correctly. These are relevant Oracle Purchasing Profiles and Set-ups
The following is a list of the Purchasing set-ups related to the Receiving Open Interface.
  1. RCV: Fail All ASN Lines if One Line Fails:If the profile option is set to 'Yes' and any line failed validation, no further validation is performed for the ship notice.
    If the profile option is set to 'No' and any line failed validation, the process continues with the next line.
  2. ASN Control:In the Receiving Options window in Purchasing, select Warning, Reject, or
    None in the ASN Control field to determine how Purchasing handles the receipt against a purchase order shipment for which a ship notice exists.
  3. PO: Enable SQL Trace for Receiving Processor :If the profile option is set to 'Yes', more detailed error data is provided in the View Log screen of the Submit Request window when you run the Receiving Transaction Processor.
dgreybarrow Data Flow Diagram

Here is data flow looks typically when you are using with EDI gateway.ASN DATAfLOW
Receiving Open Interface tables which got involved in this is:
RCV_HEADERS_INTERFACE
RCV_TRANSACTIONS_INTERFACE
You can use Import Programs to submit ECEASNI.sql (856) to the Concurrent Manager to populate the Receiving Open Interface tables with data from the inbound interface file.This is applicable if you are using EDI Gateway , else you can directly use Receiving Open Interface (RCVTP) program.
Use Import Programs to submit the Receiving Open Interface (RCVTP) program to the Concurrent Manager to validate the data in the Receiving Open Interface tables.
ASN – An Inside View 
dgreybarrow What exactly is an ASN and its types
ASN stands for “Advanced Shipment Notice”.
  • An ASN is a document used to transmit critical shipping information to the receiver.
  • It contains information on the carrier, the items and quantities shipped by Order, packaging information, and (potentially) labeling data from the item, package .
  • An ASN is composed of TWO parts:
    • Serial Shipping Container Code (SSCC) barcode labels on the shipping containers
    • An “856” Electronic Data Interchange (EDI) document
  • There are two types of ASNs:
    • Standard Pack ASNs
    • Pick & Pack ASNs.
  • A Standard Pack ASN is used when the same item is packaged together in one container.
  • A Pick & Pack ASN allows for different items within the same package.
dgreybarrow Levels of ASN 
  • ASN can contain many levels of information.
  • These levels, sometimes referred to as hierarchical levels, or simply "HLs" define the different levels of detail within the ASN. These levels are different from different Trading Partner.
    • Shipment Level: This is the most broad level of detail. There is one Shipment HL allowed in an ASN. It contains data such as the Pro Number, the Bill of Lading Number, etc.
    • Order Level: There may be one or more orders per ASN. Information necessary to reconcile the shipment with the customer's orders is placed here.
    • Tare Level: This HL represents a unique pallet identification. This level is used in some, but not all ASNs, depending on your Trading Partner and the manner in which you ship your goods. It normally contains a number corresponding to a bar-coded label as well as some physical characteristics of the pallet, such as weight and size.
    • Pack Level: This level identifies each carton in the shipment (or on the pallet, if the Tare Level is used). The Pack Level HL also contains a number corresponding to a bar-coded label. Usually, but not always, the pack level is used on an ASN.
    • Item Level: The item level represents an item that is shipped. Quantity and item identification data is stored at this level
dgreybarrowA typical Business senario for Inbound ASN
  1. ABC sends a Purchase Order to the Supplier A.
  2. The supplier picks the order. As the order is picked, the supplier’s warehousing/distribution system (aka “supplier’s system”) keeps track of what items are being picked into particular shipping cartons .
  3. When the carton is closed, the supplier’s system assigns an SSCC to that carton/pallet. Instead of when the carton is closed, this is sometimes done by the supplier’s system during the allocation/cubing process.
  4. The SSCC is encoded into a barcode on a shipping label and placed on the carton/pallet.
  5. Upon shipping the shipment of cartons/pallet to ABC, the supplier’s system generates the 856 EDI and transmits it to ABC so that ABC receives the EDI prior to the shipment arriving. The 856 EDI hierarchy must match the physical shipment (carton SSCC, carton detail, pallet, PO# information, etc.).
  6. ABC receives and processes the 856 EDI and stores it in their system. ABC acts on the ASN by scheduling the receipt, scheduling labor, doing prep work, etc.
  7. The shipment arrives at ABC. The ABC receiver scans the SSCC barcode and the ABC distribution system knows what is in that carton because of the 856 EDI. The distribution software system “guides” the receiver through what is supposed to be received since it knows everything about that carton because of the SSCC and 856 EDI, including what PO it is on, what items and quantities are in it, the lots and expiration dates, pedigree information, etc.

EDI and there prevalent EDI standards:

Electronic Data Interchange (EDI) is the electronic exchange of routine business transactions. These transactions include documents such as purchase orders, invoices, inquiries, payments acknowledgements etc.
EDI is the cross-industry electronic business interchange standard that enables individuals, companies and organizations to participate in global e-commerce.
EDI enables a commonly understood and standardized format of the relevant data to be transmitted from one computer system to another with minimal human intervention.
EDI extracts information from a business process (e.g. purchase order, invoice etc). The data is usually transmitted over a Value Added Network (VAN – which acts as a electronic post offices) and delivered to a trading partner. Once the trading partner receives the information, the EDI systems will automatically translate the standardized EDI data into application data and moved to the appropriate business application.


dgreybarrow EDI Standards
  • United States
    • X12
    • EDIFACT (Multi- Industry)
  • UK
    • TRADACOMS (Retail)
    • ODETTE (Automotive)
    • EDIFACT (Multi- Industry)
  • Germany
    • VDA (Automotive)
    • ODETTE (Automotive)
    • EDIFACT (Multi-industry)
  • France
    • ODETTE (Automotive)
    • GENCODE (Retail)
    • EDIFACT (Multi- Industry)
  • Brazil
    • RND (Automotive)
    • NTC (Transportation)
    • CNAB (Banking)
    • X12 (Multi-industry)
    • EDIFACT (Multi- Industry)
  • Mexico
    • X12
    • EDIFACT (Multi- Industry)
  • Japan
    • CII (Multi-industry)
    • EDIFACT (Multi- Industry)
  • Australia
    • X12 (Multi-industry)
    • EDIFACT (Multi- Industry)

Wednesday, July 31, 2013

How to find assigned Profile values from backend at different levels

This query will give the values of the profile option set at different level..
just use the profile option name or user profile option name which you see in the front end.
to query

SELECT user_profile_option_name,SUBSTR(e.profile_option_name,1,25) PROFILE
,DECODE(a.level_id,10001,'Site',10002,'Application',10003,'Resp',10004,'User') "Level"
,DECODE(a.level_id,10001,'Site',10002,c.application_short_name,10003,b.responsibility_name,10004,d.user_name) LValue
,NVL(a.profile_option_value,'Is Null') Value
,SUBSTR(a.last_update_date,1,25) UPDATED_DATE
FROM fnd_profile_option_values a
, fnd_responsibility_tl b
, fnd_application c
,fnd_user d
, fnd_profile_options e
, fnd_profile_options_tl f
WHERE 1=1
--and e.profile_option_name IN ('FND_BRANDING_SIZE','ASO_COMP_LOGO')
and f.user_profile_option_name in ('FND: Branding Size')
AND e.profile_option_id = a.profile_option_id AND a.level_value = b.responsibility_id (+)
AND a.level_value = c.application_id (+) AND a.level_value = d.user_id (+)
and f.PROFILE_OPTION_NAME(+)=e.profile_option_name
ORDER BY e.profile_option_name;

How to find Queries Running in the Database(V$SQL) and also how to kill sessions

some times we want to know what are queries that are getting executed when any process is run..one way of finding it is using the V$Sql..the SID and Serial# can be used to kill the session in case of long running queries
set pagesize 24
set newpage 1
set linesize 125
column sql_text format a100
column user_name format a12
select b.sid, b.serial# , 
substr(b.username,1,12) user_name, 
a.sql_text
from v$sql a, v$session b
where a.hash_value = b.sql_hash_value
and sql_text not like '%from v$sql s, v$session u%'
order by b.sid;


SQL> @cur_sql
sid serial user_name sql_text
5 390 apps select f.file#, f.block#, f.ts#, f.length from fet$ f, ts$ t where t.ts#=f.ts# and t.dflextpct!=0 an d t.bitmapped=0

To kill a session use the below command
ALTER SYSTEM KILL SESSION 'SID, SER#';
alter system kill session '5,390';

Sunday, July 28, 2013

Refer LOGO Location From XML

Follow the below steps for ‘Refer LOGO location from XML’
  1. Insert a dummy image in template.
  2. In the format picture dialog box select the web tab.  
  3. Enter the following syntax in the Alternative text region to reference the image URL:



url: {IMAGE_LOCATION}

Where IMAGE_LOCATION is an element from our XML file that holds the full URL to the image .
We can also build a URL based on multiple elements at run time.
Just use the Concat function to build the URL string.

For example:


url: {concat(SERVER,’ / ‘,IMAGE_DIR,’ / ‘,IMAGE_FILE)}
This method can also be used with the OA_MEDIA reference as follows:


url: {concat{‘${OA_MEDIA}’ , ‘ / ‘,IMAGE_FILE)}

Inserting A Static/Dynamic LOGO in Header

The Logo in the rtf template can be included as a Static image (or) as a Dynamic image.
1.) The Logo in the RTF template can be included as a static image as follows.
Place the cursor in the place where you need to insert the logo. Select the image from your desktop by selecting the option
Insert -> Picture from the menu.









Browse for the Image which you want to display and select the image.












After selecting image you can see the image which you are selected, the below figure shows the example which displays Newton Apples logo:-





This is how you can include a Static Logo.
2.)    Inserting the Logo Dynamically.
As of today business the logo may change periodically for a company. If the LOGO has been inserted as a static object then the developer needs to go through each of the RTF template and needs to change the same.
But with the help of this method the logo can be reflected in the entire RTF templates by changing it in one place.
The logo can be inserted dynamically with the help of a URL.
The URL may be the path in the server (or) web address where the LOGO has been placed.
This can be done as follows

?
1
2
url:{’${OA_MEDIA}/ORACLE_LOGO.gif’}
Insert a dummy image at the place where you need to have a logo.



















Select the image and go through the format Picture -> Alt Text  and mention the URL in description.