You are on page 1of 42

MD.

070 APPLICATION EXTENSION TECHNICAL DESIGN Silver Spring Networks


Shipping and RMA Receipt Customization
Author: Creation Date: Last Updated: Document Ref: Version: Approvals: Girish Kapshikar Ashish Chomal USJade Project Manager USJade Functional Lead 1.1 Sachin Thakre May 24, 2010 May 24, 2010

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 1 of 42

Document Control
Change Record
2

Date 24-May10

Author Sachin Thakre

Versio n Draft 1.0

Change Reference No previous version

Reviewers

Name Girish Kapshikar Ashish Chomal

Position USJade Project Manager USJade Functional Lead

Distribution

Copy No. 1 2 3 4

Name

Location

Note To Holders: If you receive an electronic copy of this document and print it out, please write your name on the equivalent of the cover page, for document control purposes. If you receive a hard copy of this document, please write your name on the front cover, for document control purposes.

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 2 of 42

Contents
Document Control...................................................................................2 Contents.................................................................................................3 Overview.................................................................................................5 Approach................................................................................................6 Definitions...............................................................................................7 Acronyms..........................................................................................7 Technical/Functional Assumptions ...................................................7 Document References (WIP - To be updated upon completion of all documents).......................................................................................7 High Level Process Program Flow...........................................................8 Detailed Design:.....................................................................................9 Module List........................................................................................9 Concurrent Program - SSN Forward Logistic Information Upload......9 Calling Argument..............................................................................9 Concurrent Program - SSN Reverse Logistic Information Upload....10 Calling Argument............................................................................10 Calling Argument............................................................................10 Calling Argument............................................................................11 Calling Argument............................................................................12 Program Flow will be reviewed and updated................................12 Program Logic (Pseudo Code) will be reviewed and updated.......16 Program Unit...................................................................................25 Log Summary..................................................................................25 Program Output..............................................................................25 Schema Diagram............................................................................26 Validation Logic: will be reviewed and updated..............................28 Exception Messages: will be reviewed and updated.......................28 Incompatibility................................................................................29 Performance Consideration.............................................................29 Other Consideration........................................................................30 Assumption: N/A..............................................................................30 Table and View Usage.....................................................................30 Table Definition and Mapping:........................................................31 Index / Constraint............................................................................31 Sequence........................................................................................31 Grant...............................................................................................32 Synonym.........................................................................................32 Lookup............................................................................................32 Value Set.........................................................................................32 SQL Statement................................................................................32 Concurrent Program Definition.......................................................32 Installation Requirement.................................................................37 Test Case will be updated..................................................................39 Implementation Note............................................................................40

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 3 of 42

Design Summary............................................................................40 Coding Summary............................................................................40 Testing Summary............................................................................41 Open and Closed Issue for this Deliverable..........................................42 Open Issue......................................................................................42 Closed Issue....................................................................................42

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 4 of 42

Overview
Currently SSN does not track Serial number information in Oracle. As part of RMA Warranty. Project SSN will make Top Level Items serialized at shipment. As the Quantity they ship on an Order line can be large, it will be almost impossible for the users to manually populate Serial Numbers at the time of shipment. For this purpose they need a tool which will automatically populate the Serial Number and also ship the line.

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 5 of 42

Approach
Shipping and RMA Receipt Customization Design Approach:
The following describes the standard SSN Oracle Shipping Transactions and Receipt confirmation. The user will send the shipping or receipt information of forward or reverse logistic in the form of csv file. Then our SSN Logistic Information Upload program will pick this information and load into custom staging tables. If user wants to process the forward logistic transactions for Sales Order they will submit SSN Ship Confirmation (MM lead) and SSN Ship Confirmation(SSN lead) for Purchase Order. If user wants to perform reverse logistic transactions they will submit SSN RMA and Ship Confirmation to do the receipt confirmation or ship confirmation depending on whether receipt date or shipping date is given.

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 6 of 42

Definitions
Acronyms
Key Word SSN Silver Spring Networks Meaning

Technical/Functional Assumptions
No: Pushing Assumption

Document References (WIP - To be updated upon completion of all documents)


No: Pushing 1 Reference: MD-050_Shipping_Rec_Cust.docx Description MD-050 for Shipping and receipt customization.

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 7 of 42

High Level Process Program Flow

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 8 of 42

Detailed Design:
The user will send the shipping or receipt information of forward or reverse logistic in the form of csv file. Then our SSN Logistic Information Upload program will pick this information and load into custom staging tables. If user wants to process the forward logistic transactions for Sales Order they will submit SSN Ship Confirmation (MM lead) and SSN Ship Confirmation(SSN lead) for Purchase Order. If user wants to perform reverse logistic transactions they will submit SSN RMA and Ship Confirmation to do the receipt confirmation or ship confirmation depending on whether receipt date or shipping date is given.

Module List
Concurrent Programs SSN Logistic Information Upload Flat file and Control File Forward-Logistic-definition.csv Reverse-Logistic-definition.csv XXSSN_Load_Logistic_info.ctl Database Table XXSSN.XXSSN_FORWARD_LOGISTIC_INFO XXSSN.XXSSN_REVERSE_LOGISTIC_INFO

Concurrent Program - SSN Forward Logistic Information Upload


SSN Forward Logistic Information Upload is the generic concurrent program to upload the logistic information provided in csv file into custom staging table.

Calling Argument
SSN Forward Logistic Information Upload is scheduled hourly to process the records populated in the Logistic Information staging tables. This can be also manually submitted this as a request from ORACLE from the Standard Request Submission form.
ArgumentParameter P_File_Path P_File_Name Prompt File Path File Name Value Set 80 character 80 character Mandatory Y Y Default Logistic Folder path on application server.

User can submit the concurrent program with the following parameter: P_File_Path : Logistic Folder path on application server.
MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc Page 9 of 42

P_File_Name: File name to be uploaded to staging tables.

Concurrent Program - SSN Reverse Logistic Information Upload


SSN Reverse Logistic Information Upload is the generic concurrent program to upload the logistic information provided in csv file into custom staging table.

Calling Argument
SSN Reverse Logistic Information Upload is scheduled hourly to process the records populated in the Logistic Information staging tables. This can be also manually submitted this as a request from ORACLE from the Standard Request Submission form.
ArgumentParameter P_File_Path P_File_Name Prompt File Path File Name Value Set 80 character 80 character Mandatory Y Y Default Logistic Folder path on application server.

User can submit the concurrent program with the following parameter: P_File_Path : Logistic Folder path on application server. P_File_Name: File name to be uploaded to staging tables.

1.

Concurrent Program -SSN Ship Confirmation(MM lead)


SSN Ship Confirmation (MM lead) is the generic concurrent program to validate the Shipping information and doing transaction in oracle for the same.

Calling Argument
SSN Ship Confirmation(MM lead) is submitted on demand to process the oracle shipping transactions for the information provided by the user in csv file for the forward logistic.
Argument P_File_Path P_File_Name P_Type P_Order Number P_Ship_Method P_Tracking_Numbe r Prompt File Path File Name Document Type Order Number Ship Method Tracking Number Value Set 80 character 80 character 30 char Number 80 character 80 character Mandatory Y(Hidden) Y Y ( Hidden) N(Optional) Y (Optional) N(Optional) Default Logistic Folder path on application server. SO

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 10 of 42

User can submit the concurrent program with the following parameter: P_File_Path : Logistic Folder path on application server. P_File_Name: File name to be uploaded to staging tables P_Type: Document Type whether PO or SO is given in document. P_Order Number: User will enter the Sales Order number from the file to be processed. 2.

Concurrent Program -SSN Ship Confirmation(SSN lead)

SSN Ship Confirmation(SSN lead) is the generic concurrent program to validate the Shipping information and doing transaction in oracle for the same.

Calling Argument
SSN Ship Confirmation(SSN lead) is submitted on demand to process the oracle shipping transactions for the information provided by the user in csv file for the forward logistic.
Argument P_File_Path P_File_Name P_Type P_Order_Number P_Ship_Method P_Tracking_Numbe r Prompt File Path File Name Document Type Order Number Ship Method Tracking Number Value Set 80 char 80 char 80 char 80 char 80 character 80 character Mandatory Y(Hidden) Y Y ( Hidden) N(Optional) Y (Optional) N(Optional) Default Logistic Folder path on application server. PO

User can submit the concurrent program with the following parameter: P_File_Path : Logistic Folder path on application server. P_File_Name: File name to be uploaded to staging tables P_Type: Document Type whether PO or SO is given in document. P_Order Number: User will enter the Purchase Order number from the file to be processed. 3.

Concurrent Program -SSN RMA and Ship Confirmation

SSN RMA and Ship Confirmation is the generic concurrent program to validate the Shipping information and doing transaction in oracle for the same.

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 11 of 42

Calling Argument
SSN RMA and Ship Confirmation is submitted on demand to process the oracle shipping transactions for the information provided by the user in csv file for the forward logistic.
Argument P_File_Path P_File_Name P_Order Number P_Ship_Method P_Tracking_Numbe r Prompt File Path File Name Order Number Ship Method Tracking Number Value Set 80 character 80 character 30 char 80 character 80 character Mandatory Y(Hidden) Y N(Optional) Y (Optional) N(Optional) Default Logistic Folder path on application server.

User can submit the concurrent program with the following parameter: P_File_Path : Logistic Folder path on application server. P_File_Name: File name to be uploaded to staging tables P_Order Number: User will enter the Sales Order number from the file to be processed.

The concurrent program will do the following process to automate the shipping process:

Program Flow will be reviewed and updated


Program 1 : SSN Logistic Information Upload

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 12 of 42

Start Yes

No

Is File exists on specified application server path?

Yes End Read the files from above application server path

Reverse

Forward

Insert into Reverse Logistic Staging table

Insert into Forward Logistic Staging table

Inserted Succesfully

No

Send Error

No

Inserted Succesfully

Yes End

Yes

Program 2 : SSN Ship Confirmation(MM lead) AND Program 3 : SSN Ship Confirmation(SSN lead) See below :

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 13 of 42

Start Yes Read staging table information Check If Reservation Already Exists Error Message

Yes Check whether PO or SO is Given PO

No

Do Reservations

Failure

Yes

Success

No

Validate SO for staging PO # in PO Header DFF Yes Find out those SO Lines for which BOM is defined Yes

Check If Pick Release Already Done SO Yes

No

Do Pick Release

Failure

Success

Check If Delivery already assign

No

Assign Delivery

Failure

Yes

No

Validate PO line Item as BOM component

Success

Yes

Check If Shipping/Receipt already done

No

Process Ship Confirm

Failure

No

Validate SO line Qty>=PO Line Qty Success Yes

Error Message No

Validate SO line Qty>=staging table line qty Yes

Update Forward Logistic Staging table

Failure

Success

No

Validate PO line Qty >=staging table line qty Yes

End

No

Validate If PO Receipt has been already done Yes

Yes

Check whether SO#|| SO Line#||Date Received||QTY matches with any staging table record

No

Validate Check whether duplicate record has been sent for processing No

Error Message Yes

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 14 of 42

Program 4 : SSN RMA and Ship Confirmation


Start Yes

Read staging table information

Date Received

Check whether Date received / date Shipped is given

Date Shipped

No

Check whether Line is eligible for receiving Yes

No

Check whether Line is eligible for Shipping Yes

Check If Reservation Already Exists Yes

No

Do Reservations

Failure

Success

No

SO Line Qty >= Custom table line qty Yes Vaildate SO Line Serial # attached in OE_LOT_SERIAL_NUMBER With Custom line table serial number Yes

No

SO Line Qty >= Custom table line qty Yes

Check If Pick Release Already Done Yes

No

Do Pick Release

Failure

Success

No

No

Check whether Error Record present in staging table Yes Check If Delivery already assign Yes No Assign Delivery Failure

Check whether Error Record present in staging table Yes

Success

No

Check whether SO#|| SO Line#||Date Received||QTY matches with any staging table record Yes

Check If Shipping/Receipt already done

No

Process Ship Confirm

Failure

No

Check whether SO#||SO Line#|| Date Received||QTY matches with any staging table record Yes

No No

Check Order Line Type On SO Line Yes 1.Populate Installation details With Transaction Subtype as SSN Replace with the help of API 2.number of installation detail record =staging record qty 3.Serial # in Non Source should match serial # in staging

Success Update Reverse Logistic Staging table Success

Failure

Failure Error Message

Perform RMA Receipt

Failure Error Message

Error Message

Success

End

Update Reverse Logistic Staging table

Success

End

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 15 of 42

Program Logic (Pseudo Code) will be reviewed and updated


PROCEDURE MAIN BEGIN CALL SSN Logistic Information Upload ( P_File_Path, P_File_Name ) IF Success THEN IF P_file_name=FL_format.csv THEN CALL P_forward_logistic ( p_header_seq_id ); ELSIF P_file_name=RV_format.csv THEN CALL P_reverse_logistic ( p_header_seq_id ); ELSE Message = Wrong file name END IF; ELSE Message = Could not upload the logistic information END IF; END MAIN; ----- Below For Forward Logistic validations and Transactions -------------PROCEDURE P_forward_logistic ( p_header_seq_id ) IS Cursor C_forward_logistic ( p_header_seq_id ) is Select * from XXSSN_FORWARD_LOGISTIC_INFORMATION; BEGIN FOR i IN C_ forward _logistic LOOP IF P_document_type=SO THEN IF Check_SO_line_qty =No THEN L_Line_validate_status=E; Send error message; ELSIF Check_SO_Line_Qty_With_PO =No THEN L_Line_validate_status=E; Send error message; ELSIF Check_SO_Line_Qty_With_Staging=No THEN L_Line_validate_status=E; Send error message; ELSIF Check_PO_Receipt_already_done =Yes THEN L_Line_validate_status=E; Send error message; ELSIF Check_Existing_Error_Record =Yes THEN --- all four concatenated fields are repeated mismatches L_Line_validate_status=E; Send error message; END IF; ELSIF P_document_type=PO THEN GET_SO_NUMBER(i.po_number); IF Validate_SO =No THEN L_header_validate_status=E; Send error message; ELSE FOR j in ( Order Lines For which BOM is defined) ---- Business validations

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 16 of 42

IF Check_BOM_Component =No THEN L_Line_validate_status=E; Send error message; ELSIF Check_SO_line_qty =No THEN L_Line_validate_status=E; Send error message; ELSIF Check_SO_Line_Qty_With_PO =No THEN L_Line_validate_status=E; Send error message; ELSIF Check_SO_Line_Qty_With_Staging=No THEN L_Line_validate_status=E; Send error message; ELSIF Check_PO_Receipt_already_done =Yes THEN L_Line_validate_status=E; Send error message; ELSIF Check_Existing_Error_Record =Yes THEN --- all four concatenated fields are repeated mismatches L_Line_validate_status=E; Send error message; END IF; END LOOP; END IF; END IF; ----- end for P_Document_type IF L_header_validate_status=E OR L_line_validate_status=E THEN update staging custom table as 'E' send error message END IF; --- Actual Transactions IF L_header_validate_status!=E OR L_line_validate_status!=E THEN FOR j in ( Order Lines For which BOM is defined) IF Rreservation_Done = 'Yes' THEN eligible_for_Pick_release='Y'; ELSE Do_reservation for the custom staging table qty for an item; IF SUCCESS THEN eligible_for_Pick_release='Y'; ELSE eligible_for_Pick_release='N'; update staging as error END IF; END IF; END LOOP; END IF; IF (L_header_validate_status!=E; OR L_line_validate_status!=E) AND eligible_for_Pick_release='Y' THEN IF Pick_Release_Done = 'Yes' THEN IF Delivery_assigned='Yes' THEN eligible_for_Ship_confirm='Y'; ELSE Do Autocreate delivery IF Success THEN eligible_for_Ship_confirm='Y'; ELSE eligible_for_Ship_confirm='N'; update staging as error
MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc Page 17 of 42

END IF; END IF; ELSE Do_Pick_Release for the Sales Order with Autocreate delivery set as Y IF SUCCESS THEN eligible_for_Ship_confirm='Y'; ELSE eligible_for_Ship_confirm='N'; update staging as error END IF; END IF; END IF; IF (L_header_validate_status!=E OR L_line_validate_status!=E) AND eligible_for_Ship_confirm='Y' THEN IF IS_ALREADY_SHIPPED = 'Yes' THEN Message = 'Order Line is already shipped' ELSE Do Ship Confirm with the help of an API IF SUCCESS THEN Message = The Order Line is shipped successfully' ELSE update staging as error Message = 'the Order Line could not shipped successfully' END IF; END IF; END IF; END LOOP; END P_forward_logistic; ------------------------- Below For Reverse Logistic validations and Transactions -------------------------PROCEDURE P_reverse_logistic ( p_header_seq_id ) IS Cursor C_reverse_logistic ( p_header_seq_id ) is Select * from XXSSN_REVERSE_LOGISTIC_INFORMATION; BEGIN For i IN C_reverse_logistic LOOP ----------------------------------- If received Date is given -------------------------------IF date_received IS NOT NULL THEN FOR j in ( SELECT * from oe_order_lines_all where header_id = (select header_id from oe_order_headers_all where order_number=i.order_number)) ---- Business validations IF eligible_for_receiving = 'No' THEN L_Line_validate_status=E; Send error message; ELSIF Check_SO_line_qty < custom table line qty THEN L_Line_validate_status=E; Send error message; ELSIF Validate_SO_Line_attached_Serial# !=staging Serial # THEN L_Line_validate_status=E;

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 18 of 42

Send error message; ELSIF Validate_Error_Record_already_Present_In_Staging=No THEN IF check SO#||SO Line#||Date Recd||QTY != j.(SO#||SO Line#||Date Recd||QTY) THEN L_Line_validate_status=E; Send error message; END IF; END IF; END LOOP; IF L_Header_validate_status=E OR L_Line_validate_status=E THEN update staging table as error. END IF; IF L_Header_validate_status!=E OR L_Line_validate_status!=E THEN Do_RMA_Receipt IF SUCCESS THEN Message = 'RMA Receipt for line done successfully' update staging table as Success. ELSE Message = 'RMA Receipt for line could not done successfully' update staging table as Error. END IF; END IF; ----------------------------------- If Date Shipped is given -------------------------------ELSIF date_Shipped IS NOT NULL THEN FOR j in ( SELECT * from oe_order_lines_all where header_id = (select header_id from oe_order_headers_all where order_number=i.order_number)) ---- Business validations IF eligible_for_shipping = 'No' THEN L_Line_validate_status=E; Send error message; ELSIF Check_SO_line_qty < custom table line qty THEN L_Line_validate_status=E; Send error message; ELSIF Validate_SO_Line_attached_Serial# !=Custom_table_serial_number THEN L_Line_validate_status=E; Send error message; ELSIF Validate_Error_Record_already_In_Staging=No THEN IF check SO#||SO Line#||Date Recd||QTY != j.(SO#||SO Line#||Date Recd||QTY) THEN L_Line_validate_status=E; Send error message; END IF; END IF; END LOOP; IF L_Header_validate_status=E OR L_Line_validate_status=E THEN update staging table as error. END IF; --- Actual Transactions IF L_header_validate_status!=E OR L_line_validate_status!=E THEN FOR j in ( SELECT * from oe_order_lines_all where header_id = (select header_id from oe_order_headers_all where order_number=i.order_number))
MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc Page 19 of 42

IF j.Order_type_Line_Type='SSN Replace' THEN Populate Installation details With Transaction Subtype as SSN Replace with the help of API number of installation detail record=staging record qty Serial # in Non Source should match serial # in staging IF SUCCESS THEN eligible_for_reservation='Y'; ELSE eligible_for_reservation='N'; END IF; END LOOP; END IF; IF (L_header_validate_status!=E OR L_line_validate_status!=E) AND eligible_for_reservation= 'Y' THEN FOR j in ( Order Lines For which BOM is defined) IF Rreservation_Done = 'Yes' THEN eligible_for_Pick_release='Y'; ELSE Do_reservation for the custom staging table qty for an item; IF SUCCESS THEN eligible_for_Pick_release='Y'; ELSE eligible_for_Pick_release='N'; update staging as error END IF; END IF; END LOOP; END IF; IF (L_header_validate_status!=E; OR L_line_validate_status!=E) AND eligible_for_Pick_release='Y' THEN IF Pick_Release_Done = 'Yes' THEN IF Delivery_assigned='Yes' THEN eligible_for_Ship_confirm='Y'; ELSE Do Autocreate delivery IF Success THEN eligible_for_Ship_confirm='Y'; ELSE eligible_for_Ship_confirm='N'; update staging as error END IF; END IF; ELSE Do_Pick_Release for the Sales Order with Autocreate delivery set as Y IF SUCCESS THEN eligible_for_Ship_confirm='Y'; ELSE eligible_for_Ship_confirm='N'; update staging as error END IF; END IF; END IF; IF (L_header_validate_status!=E OR L_line_validate_status!=E) AND eligible_for_Ship_confirm='Y' THEN IF IS_ALREADY_SHIPPED = 'Yes' THEN
MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc Page 20 of 42

Message = 'the Order Line is already shipped' ELSE Do Ship Confirm with the help of an API IF SUCCESS THEN update staging table as Success. Message = 'the Order Line is shipped successfully' ELSE update staging as error Message = 'the Order Line could not shipped successfully' END IF; END IF; END IF; END IF; --- End for i.shipped_date/recept_date END LOOP; -- main header cursor loop ends END P_reverse _logistic; SHIPPING INTERFACE TABLES: Create Reservation INV_RESERVATION_PUB.Create_Reservation( P_API_VERSION_NUMBER => , P_INIT_MSG_LST => , P_RSV_REC => , P_SERIAL_NUMBER => /* , P_PARTIAL_RESERVATION_FLAG => FND_API.G_TRUE-l_partial_reservation_flag , P_FORCE_RESERVATION_FLAG => FND_API.G_TRUE-, P_PARTIAL_RSV_EXISTS => TRUE-l_partial_reservation_exists */ , P_VALIDATION_FLAG => l_validation_flag , X_SERIAL_NUMBER => x_serial_number , X_RETURN_STATUS => x_return_status , X_MSG_COUNT => x_msg_count , X_MSG_DATA => x_msg_data , X_QUANTITY_RESERVED => x_quantity_reserved , X_RESERVATION_ID => x_reservation_id);

PICK RELEASE PSEUDO CODE Create Batch wsh_picking_batches_pub.create_batch (

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 21 of 42

order_type_id order_header_id ship_from_org_id auto_Pick_Confirm_Flag existing_Rsvs_Only_Flag Autopack_Flag Autopack_Level x_msg_count x_return_status x_msg_data )

=> => => => => => => => => =>

N Y N 0 x_msg_count x_return_status x_msg_data

Release Batch wsh_picking_batches_pub.release_batch ( Batch ID => Out parameter of Create batch x_msg_count => x_msg_count x_return_status => x_return_status x_msg_data => x_msg_data )

Autocreate delivery Pseudo Code


wsh_delivery_details_pub.autocreate_deliveries (p_api_version_number => 1.0, p_init_msg_list => l_init_msg_list, p_commit => fnd_api.g_false, x_return_status => l_autocreate_return_status, x_msg_count => x_auto_msg_count, x_msg_data => l_auto_msg_data, p_line_rows => l_line_rows, x_del_rows => l_del_rows )

MOVE ORDER PSEUDO CODE Perform Move Order transaction is by populating MTL_SERIAL_NUMBERS_TEMP table with the serial numbers information and then call the API INV_PICK_WAVE_PICK_CONFIRM_PUB.Pick_Confirm MTL_SERIAL_NUMBERS_TEMP Field Name
TRANSACTION_TEMP_ID

Description
Foreign key linking to

Sample Data
Get this value from MTL_MATERIAL_

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 22 of 42

MTL_MATERIAL_ TRANSACTIONS_TEMP table FM_SERIAL_NUMBER TO_SERIAL_NUMBER LAST_UPDATE_DATE LAST_UPDATED_BY CREATION_DATE CREATED_BY LAST_UPDATE_LOGIN From serial number To serial number Standard who column Standard who column Standard who column Standard who column Standard who column

TRANSACTIONS_TEMP using the move _order_line_id SR-NUM-1 SR-NUM-1 SYSDATE -1 SYSDATE -1

-1

INV_PICK_WAVE_PICK_CONFIRM_PUB.pick_confirm ( p_move_order_type => 1 p_transaction_mode => 1 p_trolin_tbl => l_trolin_tbl x_msg_count => x_msg_count x_return_status => x_return_status x_msg_data => x_msg_data ) l_trolin_tbl.line_id => move order line id Any errors in the above API call can be retrieved from x_msg_data

Shipping Exceptions l_exception_rec.new_status:= 'CLOSED'; WSH_EXCEPTIONS_PUB.Exception_Action ( p_api_version p_init_msg_list p_validation_level p_commit x_msg_count x_msg_data x_return_status p_exception_rec p_action ); => => => => => => => => => 1.0, FND_API.G_FALSE, FND_API.G_VALID_LEVEL_FULL, FND_API.G_FALSE, o_msg_count, o_msg_data, o_return_status, l_exception_rec, 'CHANGE_STATUS'

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 23 of 42

SHIP CONFIRM PSEUDO CODE (a) Update Delivery details information WSH_DELIVERY_DETAILS_PUB.Update_Shipping_Attributes ( p_api_version_number => 1.0 p_init_msg_list => l_init_msg_list p_commit => FND_API.G_TRUE p_changed_attributes => l_changed_attributes p_source_code => OE x_msg_count => x_msg_count x_return_status => x_return_status x_msg_data => x_msg_data ) (b) Update Delivery information WSH_DELIVERIES_PUB.Create_Update_Delivery ( p_api_version_number => 1.0 p_init_msg_list => l_init_msg_list p_action_code => 'UPDATE', p_delivery_info => l_delivery_info, p_delivery_name => l_delivery_name, x_delivery_id => x_delivery_id, x_name => x_name x_msg_count => x_msg_count x_return_status => x_return_status x_msg_data => x_msg_data ) (c) Ship confirm a delivery WSH_DELIVERIES_PUB.Delivery_Action ( p_action_code => 'CONFIRM' p_delivery_id => l_delivery_id p_delivery_name => l_delivery_name p_sc_action_flag => S p_sc_rule_name => ship_cofirm_rule x_msg_count => x_msg_count x_return_status => x_return_status x_msg_data => x_msg_data

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 24 of 42

Program Unit
Type Package Name XXSSN_SC_RECPT_CONF_PKG Description Package for processing shipping and receipt confirmation. Shared ( Y/N)

Log Summary
+ --------------------------------------------------------------------------+ Date : <SYSDATE> INPUT PARAMETERS ---------------<All Input Parameters> + --------------------------------------------------------------------------+ Exception Report MAC ID Order Number Line Number Error Message <Program Name>

+ --------------------------------------------------------------------------+ Successfully Processed Report MAC ID Order Number Line Number

+ --------------------------------------------------------------------------+ Total Orders Processed Total Orders Processed successfully Total Orders Failed
+ -------------------------------------------------------------------------+

: : :

Program Output
+ --------------------------------------------------------------------------+ Date : <SYSDATE> INPUT PARAMETERS ---------------<All Input Parameters> <Program Name>

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 25 of 42

+ --------------------------------------------------------------------------+ Exception Report MAC ID Order Number Line Number Error Message

+ --------------------------------------------------------------------------+ Successfully Processed Report MAC ID Order Number Line Number

+ --------------------------------------------------------------------------+ Total Orders Processed : Total Orders Processed successfully : Total Orders Failed : + --------------------------------------------------------------------------+

Schema Diagram

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 26 of 42

SSN_FORWARD_LOGISTIC _INFORMATION .tab SSN_REVERSE_LOGISTIC _INFORMATION .tab

XXSSN_SC_RECPT_CONF_PKG

WSH_PICKING_BATCHES WSH_DELIVERY_DETAILS WSH_DELIVERY_ASSIGNMENTS MTL_MATERIAL_TRANSACTIONS MTL_SERIAL_NUMBERS MTL_UNIT_TRANSACTIONS MTL_TRANSACTIONS_INTERFACE MTL_SERIAL_NUMBERS_INTERFACE MTL_SYSTEM_ITEMS_B OE_ORDER_HEADERS_ALL OE_ORDER_LINES_ALL

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 27 of 42

Validation Logic: will be reviewed and updated


Validations: Validation Forward Logistic No SO for given PO No BOM is defined for any SO Line No Component of BOM in PO Line SO Line Qty > = PO Line Qty SO Line Qty > = staging Qty PO Line Qty > = staging Qty Already receipt is done Already Shipped. No Onhand available Inventory Period is close Reverse Logistic Receipt is already done Serial Number is not valid Receipt is already done Serial Number given is staging table is not valid. There is no sales order is populated in PO Header DFF. There are no BOM is defined for any SO Line. There are no Component of BOM in PO Line SO Line Qty should be greater or equal to PO Line Qty SO Line Qty should be greater or equal to staging Qty PO Line Qty should be greater or equal to staging Qty PO Receipt of custom line table is already done. The order Line is already shipped. Insufficient Onhand quantities for the order to be shipped. Inventory period is not open for the shipped date. Validation Message

Exception Messages: will be reviewed and updated

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 28 of 42

Incompatibility
The concurrent program SSN Shipping and RMA Receipt confirmation will be incompatible to itself.

Performance Consideration
Indexes on the staging tables will be created on need basis by the development team and the document will be updated back with the information during UAT.

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 29 of 42

Other Consideration Assumption: N/A Table and View Usage

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 30 of 42

Table Name XXSSN_FORWARD_LOGISTIC_INFO XXSSN_REVERSE_LOGISTIC_INFO WSH_PICKING_BATCHES WSH_DELIVERY_DETAILS WSH_DELIVERY_ASSIGNMENTS WSH_CARRIERS WSH_CARRIER_SERVICES MTL_SYSTEM_ITEMS_B MTL_MATERIAL_TRANSACTIONS MTL_SERIAL_NUMBERS MTL_UNIT_TRANSACTIONS MTL_TRANSACTIONS_INTERFACE MTL_SERIAL_NUMBERS_INTERFACE MTL_TRANSACTION_ACCOUNTS MTL_PARAMETERS MTL_TRX_SOURCE_TYPES MTL_TRANSACTION_TYPES OE_ORDER_HEADERS_ALL OE_ORDER_LINES_ALL OE_TRANSACTION_TYPES_TL OE_ORDER_HOLDS_ALL

Select X X X X X X X X X X X X X X X X X X X X X

Insert

Update X X

Delete

X X X

X X X

X X X X X

X X

Table Definition and Mapping:


Staging table Definition

Index / Constraint
Owner XXSSN XXSSN Table XXSSN_FORWARD_LOGISTIC_INFO XXSSN_REVERSE_LOGISTIC_INFO Column HEADER_SEQ_ID LINE_SEQ_ID HEADER_SEQ_ID Index Constraint PRIMARY KEY PRIMARY KEY FOREIGN KEY File Name

Sequence
Owner XXSSN XXSSN Name XXSSN_FORWARD_LOGISTIC_INFO_SEQ XXSSN_REVERSE_LOGISTIC_INFO_S Start with 1 1 Increment By 1 1 File Name XXSSN_FORWARD_LOGISTIC_INFO_SEQ.seq XXSSN_REVERSE_LOGISTIC_INFO_SEQ.seq

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 31 of 42

Grant
GRANT ALL on XXSSN.XXSSN_FORWARD_LOGISTIC_INFO to APPS GRANT ALL on XXSSN.XXSSN_REVERSE_LOGISTIC_INFO to APPS GRANT ALL on XXSSN.XXSSN_FORWARD_LOGISTIC_INFO_SEQ to APPS GRANT ALL on XXSSN.XXSSN_REVERSE_LOGISTIC_INFO_SEQ to APPS

Synonym
CREATE SYNONYM XXSSN_FORWARD_LOGISTIC_INFO FOR XSSN.XXSSN_FORWARD_LOGISTIC_INFO; CREATE SYNONYM XXSSN_REVERSE_LOGISTIC_INFO FOR XXSSN.XXSSN_REVERSE_LOGISTIC_INFO; CREATE SYNONYM XXSSN_FORWARD_LOGISTIC_INFO_SEQ FOR XXSSN.XXSSN_FORWARD_LOGISTIC_INFO_SEQ; CREATE SYNONYM XXSSN_REVERSE_LOGISTIC_INFO_SEQ FOR XXSSN.XXSSN_REVERSE_LOGISTIC_INFO_SEQ;

Lookup
None.

Value Set
Value Set Size Type Req Validation/Values

SQL Statement

Concurrent Program Definition


1.

System Administrator Concurrent Program Executable


Field Value SSN_FRWD_LOGISTIC_INFO_UPLOAD SSN_FRWD_LOGISTIC_INFO_UPLOAD Silver Springs Application (Custom)

Executable Short Name Application

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 32 of 42

Field

Value SSN_FRWD_LOGISTIC_INFO_UPLOAD EXECUTABLE SQL Loader XXSSN_SHIP_AUTO_FWD_PROG

Description Execution Method Execution File Name

System Administrator Concurrent Program Define


Field Value SSN Forward Logistic Information Upload SSN_FRWD_LOGISTIC_INFO_UPLOAD Silver Springs Application (Custom) SSN Forward Logistic Information Upload Program. SSN_FRWD_LOGISTIC_INFO_UPLOAD Yes

Program Short Name Application Description Executable Name Use in SRS Output Format Style

System Administrator Concurrent Program Define Parameters


Parameter P_File_Path P_File_Name Prompt File Path File Name Value Set 80 Char 80 Char Required Y Y Displayed Y Y Display Size 50 50

2.

System Administrator Concurrent Program Executable


Field Value SSN_REVERSE_LOGISTIC_INFO_UPLOAD SSN_ REVERSE_LOGISTIC_INFO_UPLOAD Silver Springs Application (Custom) SSN REVERSE_LOGISTIC_INFO_UPLOAD EXECUTABLE SQL Loader XXSSN_SHIP_AUTO_REV_PROG

Executable Short Name Application Description Execution Method Execution File Name

System Administrator Concurrent Program Define

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 33 of 42

Field

Value SSN Reverse Logistic Information Upload SSN_REVERSE_LOGISTIC_INFO_UPLOAD Silver Springs Application (Custom) SSN Logistic Information Upload Program. SSN_ REVERSE_LOGISTIC_INFO_UPLOAD Yes

Program Short Name Application Description Executable Name Use in SRS Output Format Style

System Administrator Concurrent Program Define Parameters


Parameter P_File_Path P_File_Name Prompt File Path File Name Value Set 80 Char 80 Char Required Y Y Displayed Y Y Display Size 50 50

3.

System Administrator Concurrent Program Executable


Field Value SSN_SHIP_CONF_MM_LEAD SSN_SHIP_CONF_MM_LEAD Silver Springs Application (Custom)

Executable Short Name Application Description Execution Method Execution File Name

SSN Shipping Confirmation MM Lead Executable.


PL-SQL Stored Procedure XXSSN_SC_RECPT_CONF_PKG. MM_LEAD

System Administrator Concurrent Program Define

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 34 of 42

Field

Value

Program Short Name Application Description Executable Name Use in SRS Output Format Style

SSN Shipping Confirmation MM Lead


SSN_SHIP_CONF_MM_LEAD Silver Springs Application (Custom)

SSN Shipping Confirmation MM Lead Program.


SSN_SHIP_CONF_MM_LEAD Yes

System Administrator Concurrent Program Define Parameters


Parameter P_File_Path P_File_Name P_Order_Type P_Order_Numbe r P_Ship_Method P_Tracking_Num Prompt File Path File Name Order Type Order Number Ship Method Tracking Number Value Set 80 character 80 character 30 char Number 80 character 80 character Require d Y Y Y N N N Displayed Y Y N Y Y Y Display Size 50 50 50 50 50 50

4.

System Administrator Concurrent Program Executable


Field Value SSN_SHIP_CONF_SSN_LEAD SSN_SHIP_CONF_SSN_LEAD Silver Springs Application (Custom)

Executable Short Name Application Description Execution Method Execution File Name

SSN Shipping Confirmation SSN Lead Executable.


PL-SQL Stored Procedure XXSSN_SC_RECPT_CONF_PKG.SSN_LEAD

System Administrator Concurrent Program Define

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 35 of 42

Field

Value

Program Short Name Application Description Executable Name Use in SRS Output Format Style

SSN Shipping Confirmation SSN Lead


SSN_SHIP_CONF_SSN_LEAD Silver Springs Application (Custom)

SSN Shipping Confirmation SSN Lead Program.


SSN_SHIP_CONF_SSN_LEAD Yes

System Administrator Concurrent Program Define Parameters


Parameter P_File_Path P_File_Name P_Order_Type P_Order_Numbe r P_Ship_Method P_Tracking_Num Prompt File Path File Name Order Type Order Number Ship Method Tracking Number Value Set 80 character 80 character 30 char Number 80 character 80 character Require d Y Y Y N N N Displayed Y Y N Y Y Y Display Size 50 50 50 50 50 50

5.

System Administrator Concurrent Program Executable


Field Value SSN_RMA_SHIP_CONF SSN_RMA_SHIP_CONF Silver Springs Application (Custom)

Executable Short Name Application Description Execution Method Execution File Name

SSN RMA and Ship Confirmation


Executable.
PL-SQL Stored Procedure XXSSN_SC_RECPT_CONF_PKG. MAIN

System Administrator Concurrent Program Define

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 36 of 42

Field

Value SSN RMA and Ship Confirmation SSN_RMA_SHIP_CONF Silver Springs Application (Custom) SSN RMA and Ship Confirmation Program. SSN_RMA_SHIP_CONF Yes

Program Short Name Application Description Executable Name Use in SRS Output Format Style

System Administrator Concurrent Program Define Parameters


Parameter P_File_Path P_File_Name P_Order_Type P_Order_Numbe r P_Ship_Method P_Tracking_Num Prompt File Path File Name Order Type Order Number Ship Method Tracking Number Value Set 80 character 80 character 30 char Number 80 character 80 character Require d Y Y Y N N N Displayed Y Y N Y Y Y Display Size 50 50 50 50 50 50

Installation Requirement
Installation scripts must be prepared to perform the following actions in an automated way: 1. Create new Table. 2. Run Index, Sequence, Grant, Synonym script. 3. Define Lookup, Value Set. 4. Compile the custom package. 5. Register Concurrent Program. 6. Assign the concurrent program to appropriate responsibility. 7. Schedule Concurrent Program.

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 37 of 42

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 38 of 42

Test Case will be updated

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 39 of 42

Implementation Note
This document describes exactly how Shipping and RMA Receipt Customization was developed and implemented at SSN.

Design Summary
Functional Design

Functional Design Approval

Technical Design

Design Review

Final Acceptance

Coding Summary
Development was done to work with Release 12.0 of Oracle Applications. All coding follows the standards defined in the Build Standards document for SSN Coding Standards. Program Files The files required for this customization are as follows:
File Description Coded By

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 40 of 42

Testing Summary
The customizations were tested in SSN's test environment before being moved to production. See the Link Test scripts for more information.

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 41 of 42

Open and Closed Issue for this Deliverable


Open Issue

ID

Issue

Resolution

Responsibility

Target Date

Impact Date

Closed Issue

ID

Issue

Resolution

Responsibility

Target Date

Impact Date

MD070_SSN_Shipping and RMA Receipt Customization_V1_1.doc

Page 42 of 42

You might also like