Tuesday 9 December 2014

Approved Supplier List in Oracle Apps R12

APPROVED SUPPLIER LIST CONVERSION

ASL is very helpful and purpose of ASL is to automate the Identification of the Supplier
to supply specific goods Or we cab say with ASL we are trying to automate the Source of Supply.

                or 
             
 Approved Supplier Lists in Oracle is the term used to describe a list of items and commodities
 that have approved sources from a list of suppliers.
             
Note - In Approve Supplier List (ASL)we define all the Supplier that are Approved to Supply a particular Item.



In ASL we store info. Like:
Ship- To
Ship – From
Also we store the status of the Supplier.

Status of Supplier in ASL are:
 Approve
 New
 Debarred
Along with the Statues , for each Supplier/Item combination in ASL we define the Rules
to indicate what action should allowed and Prevent

4 Action that we can assign to ASL are:
PO Allowed
Sourcing
Schedule Confirmation
Manufacture Link

Attribute that we define in ASL are:
Item
Business type
Status
Review By
Global etc

Navigation for Approved Supplier List:

PO Super User -> Supply base -> Approved Supplier List

Select the organization, then define the supplier for category or Item for which
you want to define, and status to approved.


API's used to insert the Approved Supplier List's are as follows:

po_asl_ths.insert_row
po_asl_attributes_ths.insert_row

base tables:
po_asl_attributes,po_approved_supplier_list

used columns:

         ORGANIZATION_NAME          ,
         VENDOR_BUSINESS_TYPE       ,
         STATUS                     ,
         ITEM                       ,
         VENDOR_NAME                ,
         VENDOR_SITE_CODE           ,
         COMMENTS                   ,
         CATEGORY_NAME              ,
         PRIMARY_VENDOR_ITEM        ,
         MANUFACTURERS_NAME         ,
         attribute1 to attribute 12 if required,
         COUNTRY_OF_ORIGIN_CODE     ,
         RELEASE_GENERATION_METHOD  ,
         PURCHASING_UNIT_OF_MEASURE ,
         SUPPLIER_CALENDAR

mandatory columns:      

ORGANIZATION_NAME
VENDOR_BUSINESS_TYPE
STATUS                     
ITEM                       
VENDOR_NAME                
VENDOR_SITE_CODE           
SUPPLIER_CALENDAR


validations:
.organization validation from org_organization_definitions
.item validation based on org from mtl_system_items_b
.supplir/vendor validation from ap_suppliers
.vendor site code validation based on vendor number from ap_supplier_sites_all
.calendar validation from BOM_CALENDARS

we can use api/direct base table..
using api:

BEGIN

     po_asl_ths.insert_row
                  (x_row_id                           => l_row_id,
                   x_asl_id                           => l_asl_id,
                   x_item_id                          => REC_po_asl_valid.inventory_item_id,
                   x_vendor_id                        => REC_po_asl_valid.vendor_id,
                   x_vendor_site_id                   => REC_po_asl_valid.vendor_site_id,
                   x_vendor_business_type             => REC_po_asl_valid.vendor_business_type,
                   x_asl_status_id                    => 1,
                   x_created_by                       => l_user_id,
                   x_creation_date                    => SYSDATE,
                   x_last_updated_by                  => l_user_id,
                   x_last_update_login                => NULL,
                   x_last_update_date                 => SYSDATE,
                   x_using_organization_id            => -1 ,
                   x_owning_organization_id           => REC_po_asl_valid.organization_id,
                   x_manufacturer_id                  => NULL,
                   x_category_id                      => NULL,
                   x_primary_vendor_item              => REC_po_asl_valid.primary_vendor_item,
                   x_manufacturer_asl_id              => NULL,
                   x_comments                         => NULL,
                   x_review_by_date                   => NULL,
                   x_attribute_category               => NULL,
                   x_attribute1                       => REC_po_asl_valid.attribute1,
                   x_attribute2                       => REC_po_asl_valid.attribute2,
                   x_attribute3                       => NULL,
                   x_attribute4                       => NULL,
                   x_attribute5                       => REC_po_asl_valid.attribute5,
                   x_attribute6                       => REC_po_asl_valid.attribute6,
                   x_attribute7                       => REC_po_asl_valid.attribute7,
                   x_attribute8                       => REC_po_asl_valid.attribute8,
                   x_attribute9                       => REC_po_asl_valid.attribute9,
                   x_attribute10                      => REC_po_asl_valid.attribute10,
                   x_attribute11                      => REC_po_asl_valid.attribute11,
                   x_attribute12                      => REC_po_asl_valid.attribute12,
                   x_attribute13                      => NULL,
                   x_attribute14                      => NULL,
                   x_attribute15                      => NULL,
                   x_disable_flag                     => NULL
                  );
 --write exception
end;      

using base table directly:

here we have 2tables to insert i.e

begin
 BEGIN
   SELECT PO_APPROVED_SUPPLIER_LIST_S.nextval
   INTO v_appr_supp_list
   FROM DUAL;
 EXCEPTION
   WHEN OTHERS THEN
     FND_FILE.PUT_LINE(FND_FILE.LOG,'Error in generating the sequence number');
 END;

insert into po_asl_attributes
      (
        asl_id,
        using_organization_id,
        document_sourcing_method,
        release_generation_method,
        enable_plan_schedule_flag,
        enable_ship_schedule_flag,
        enable_autoschedule_flag,
        enable_authorizations_flag,
        enable_vmi_flag,
        vendor_id,
        vendor_site_id,
        item_id,
        country_of_origin_code,
        delivery_calendar,
        last_update_date,
        last_updated_by,
        creation_date,
        created_by,
        last_update_login
      )
      values
      (v_appr_supp_list,
        -1,
        'ASL',
        'CREATE_AND_APPROVE',
        'N',
        'N',
        'N',
        'N',
        'N',
        v_vendor_id,--vendor id
        v_vendor_site_id,--vendor site id
        v_inv_item,--inventory item
        REC_po_asl_valid.country_of_origin_code,
        REC_po_asl_valid.supplier_calendar ,
        sysdate,
        FND_GLOBAL.USER_ID,
        sysdate,
        FND_GLOBAL.USER_ID,
        FND_GLOBAL.LOGIN_ID
      );

insert into po_approved_supplier_list
      (
        asl_id,
        using_organization_id,
        owning_organization_id,
        vendor_business_type,
        asl_status_id,
        vendor_id,
        vendor_site_id,
        primary_vendor_item,
        item_id,
        attribute1,
        attribute2,
        attribute5,
        attribute6 ,
        attribute7 ,
        attribute8,
        attribute9 ,
        attribute10,
        attribute11,
        attribute12,
       last_update_date,
       last_updated_by,
      creation_date,
      created_by,
      last_update_login
      )
      values
      (
        PO_APPROVED_SUPPLIER_LIST_S.currval,
        -1,--DECODE(trim(cal.inventory_org), 'AMS', 85, 'LVD', 86, 'SSO', 88),   --- Prayas on 04-Dec-2005 -- -1,
        v_using_org_id,--org id
        'DIRECT',
        2,  --2-Approved
        v_vendor_id,--vendor id
        v_vendor_site_id,--vendor site id
        REC_po_asl_valid.primary_vendor_item,--REC_po_asl_valid.item, -- changed by sanjay 
        v_inv_item,--inventory item
        REC_po_asl_valid.attribute1,
        REC_po_asl_valid.attribute2,
        REC_po_asl_valid.attribute5,
        REC_po_asl_valid.attribute6 ,
        REC_po_asl_valid.attribute7 ,
        REC_po_asl_valid.attribute8,
        REC_po_asl_valid.attribute9 ,
        REC_po_asl_valid.attribute10,
        REC_po_asl_valid.attribute11,
        REC_po_asl_valid.attribute12,
        sysdate,
        FND_GLOBAL.USER_ID,
        sysdate,
        FND_GLOBAL.USER_ID,
        FND_GLOBAL.LOGIN_ID
      ); 

--exception
end;

1 comment:

  1. Hello! I know this is kinda off topic but I’d figured I’d ask. Would you be interested in exchanging links or maybe guest writing a blog post or vice-versa? My website goes over a lot of the same topics as yours and I feel we could greatly benefit from each other. If you are interested feel free to send me an email. I look forward to hearing from you! Terrific blog by the way! Japanese Quality Management Company

    ReplyDelete