SD-Deepak-Damodhier- 2015-12-18 - 23716 - Spec - Update of Rescheduling Program (Dan by 2016-04-29) #OrderEntry #US

SPECIFICATIONS

23716-Spec- Update of Rescheduling Program


Purpose


Review rescheduling program to include all open SO's

Admin Info


Purpose
Review rescheduling program to include all open SO's
Requested By
Daniel Brennan
Spec Created By
Surya Basa
Spec Created Date
01/21/2016
Spec QA by
Surya Basa
Objects
/AFS/SDV03V02
ME_PURCHDOC_POSTED
ZRSD_RESCHEDULING_DEL
Document Status
Completed


Estimates


Original (old proposed design)
Sl.No
Activity
Estimation in Hours
1
Research

2
Documentation

3
Development/ Config
2+32
4
Unit test in DEV
2+12
5
Unit test in QUA

6
Other activity


TOTAL
50
New Proposed Design
Sl.No
Activity
Estimation in Hours
1
Research

2
Documentation
8
3
Development/ Config
8+40
4
Unit test in DEV
30
5
Unit test in QUA
30
6
Other activity


TOTAL
116
*The estimates may be revised based on changes or testing new scenarios

References


Prior Tickets

[Provide links of prior associated Spec / Break Fix BOSS document(s)]



Documents

[Attach any document(s) received for the requirement(s)]

Rescheduling Enhancements.docx

FSDE - Rescheduling (3).doc


Spec Changes


[List the changes made to program after the approval of the original requirement along with the Date on which the change request was received and the name of the initiator]

Sl.
Change Details
Requested By
Requested On
Notes if any
1
User Exit and Post processing program
Jeff/Craig/Dan
02/29/2016






Functional Requirement


Purpose/WHY:

[Explain the purpose of the project and the reason why this requirement has come]

My understanding of the issue is that if an order is placed and the RDD is outside the total replenishment lead-time, then rescheduling will not update the date on the order, regardless of whether the date on the PO was changed.

I believe this is standard behavior. However, because our pre-processing selection program only looks at POs that were updated in the past week, once the order is within the total replenishment lead-time, it is still not getting rescheduled, because the update to the PO may have occurred weeks or months ago. We need this resolved.

As we stated, there is a concern surrounding performance with evaluating documents on credit hold or outside total replenishment lead time. To help mitigate this, an idea was brought forward where-by for each material on a modified PO, the code would check whether any sales orders containing that material are on credit hold or outside RLT. If yes, that material would be rescheduled, but also placed into a temp table so that it would be included in the selections for next week as well.

Another option brought forward was the idea of triggering a user-exit within the PO which would write the materials that had a change to the date or quantity at the time of save. This would eliminate the time the pre-processing program has to spend evaluating change logs of POs, because we would be proactively writing them to a table or variant at the time of PO change.

In Scope:

[List the activities to be included in scope]

Out of Scope:

[Out of scope activities]

Solution Summary


[Discuss this section with Requester and get approval prior to beginning work]

Proposed Design (Old)

Post evaluation the following options have been arrived at to include all/as many open SO's to go through the weekly rescheduling -
  1. Include changes in PO quantities in the pre-processing program
  2. Increase the PO date change days from 7 to 21
  3. Pre-processing program to get all open PO materials (last 30 days)
  4. Include parallel processing (specify server group) - parallel_generators
  5. Create separate jobs for each plant in case each step is consuming more time

New Proposed Design

Technical

1. User Exit to be coded to save changes relevant to quantity and delivery dates into a data base table. Information of the material and corresponding plants to be saved in the tables. Only those plants which are rescheduled will be considered.
2. The materials will be sent into the variables maintained in TVARVC
3. The rescheduling job will pick these materials and run as usual.
4. A post processing program will run subsequently and check for the status of credit blocked sales orders and those that are outside the RLT. The materials already included in TVARVC only will be checked by the program. The program will retain such materials in the table for which relevant sales orders exist and send these materials into the variables.

Job Schedule

1. The job should be split based on regions, namely NA, EMEA and APAC so as to reduce the wait time for the job to finish with all the plants into one.

Test Plan

[List test scenarios/cases to be executed here]

Master/Transaction data

1. Create about 100 sales orders with single/multiple line/s on each in NA, EMEA, China plants. About 200 materials will be on these orders.
2. Create about 30 odd PO's for these materials.
3. Few sales orders will be on credit hold and few will have RDD outside the RLT.
4. For better testing, SO's will be modified with addition of new lines/rejected lines/quantity changes and delivery date changes.

User Exit

1. Few PO items will be changed on quantity and delivery dates. The corresponding materials should be captured by the user exit and stored in a table. The same will be updated to the TVARVC rescheduling variables based on the plants.

Post Processing Program

1. The program will look for sales orders that are on credit hold and those that have RDD outside RLT for the materials that participated in rescheduling. These will be included in the rescheduling variables. The remaining materials will be cleared from the table.

Test Scenarios - User Exit

SD-001
1. Create a PO with multiple materials in 0116 plant.
2.In ME22N , change delivery dates and quantities for the materials.
1.The materials for which the delivery dates or quantities are changed should be Written to TVARVC variable.
2.The materials for which the delivery dates or quantities are not changed shouldn't be Written to TVARVC variable.
SD-002
1. Create a PO with multiple materials in 0117 plant.
2.In ME22N , change delivery dates and quantities for the materials.
1.The materials for which the delivery dates or quantities are changed should be Written to TVARVC variable.
2.The materials for which the delivery dates or quantities are not changed shouldn't be Written to TVARVC variable.
SD-003
1. Create a PO with multiple materials in 0210 plant.
2.In ME22N , change delivery dates and quantities for the materials.
1.The materials for which the delivery dates or quantities are changed should be Written to TVARVC variable.
2.The materials for which the delivery dates or quantities are not changed shouldn't be Written to TVARVC variable.
SD-004
1. Create a PO with multiple materials in 0280 plant.
2.In ME22N , change delivery dates and quantities for the materials.
1.The materials for which the delivery dates or quantities are changed should be Written to TVARVC variable.
2.The materials for which the delivery dates or quantities are not changed shouldn't be Written to TVARVC variable.
SD-005
1. Create a PO with multiple materials in 0315 plant.
2.In ME22N , change delivery dates and quantities for the materials.
1.The materials for which the delivery dates or quantities are changed should be Written to TVARVC variable.
2.The materials for which the delivery dates or quantities are not changed shouldn't be Written to TVARVC variable.
SD-006
1. Create a PO with multiple materials in 0320plant.
2.In ME22N , change delivery dates and quantities for the materials.
1.The materials for which the delivery dates or quantities are changed should be Written to TVARVC variable.
2.The materials for which the delivery dates or quantities are not changed shouldn't be Written to TVARVC variable.
SD-007
1. Create a PO with multiple materials in 0325 plant.
2.In ME22N , change delivery dates and quantities for the materials.
1.The materials for which the delivery dates or quantities are changed should be Written to TVARVC variable.
2.The materials for which the delivery dates or quantities are not changed shouldn't be Written to TVARVC variable.
SD-008
1. Create a PO with multiple materials in 0510 plant.
2.In ME22N , change delivery dates and quantities for the materials.
1.The materials for which the delivery dates or quantities are changed should be Written to TVARVC variable.
2.The materials for which the delivery dates or quantities are not changed shouldn't be Written to TVARVC variable.
SD-009
1. Create a PO with multiple materials in 0610 plant.
2.In ME22N , change delivery dates and quantities for the materials.
None of the materials for which the delivery dates or quantities that are changed or not changed shouldn't pass to TVARVC variable as 0610 plant is not a rescheduling plant.
SD-010
Date is changed on purchase order item
Material/plant are written to TVARVC
SD-011
Quantity is changed on purchase order item
Material/plant are written to TVARVC
SD-012
Date and quantity are changed on a purchase order item
Material/plant are written to TVARVC
SD-013
On a purchase order with more than one item, date is changed on a single item
Only the updated material/plant is written to TVARVC
SD-014
On a purchase order with more than one item, quantity is changed on a single item
Only the updated material/plant is written to TVARVC
SD-015
On a purchase order with more than one item, date is changed on more than one item
All items updated have material/plant written to TVARVC
SD-016
On a purchase order with more than one item, quantity is changed on more than one item
All items updated have material/plant written to TVARVC


Test Scenarios - Post processing program

Test ID
Test Scenario
Expected Result
SD-001
1. Create a SO with multiple materials and corresponding PO.
2.Change the delivery date and quantities for the materials in PO.
3.Rescheduling is done for the materials .
4. Exceute post processing program .
1. The materials should be updated in TVARVC table in corresponding variable after the changes in the PO.
2.After post processing program , the materials should be deleted from the TVARVC variable.
SD-002
1.Create a SO with single materials and the SO should be blocked for credit block on saving the order.
2. Create coresponding PO and change the delivery date and quantities for the materials .
3.Rescheduling is done for the materials .
4. Exceute post processing program .
1. The materials should be updated in TVARVC table in corresponding variable after the changes in the PO.
2.After post processing program , the materials shouldn't be deleted from the TVARVC variable as the SO is on credit hold.
SD-003
1.Create a SO with single materials and the SO should be blocked for credit block on saving the order.
2. Create coresponding PO and change the delivery date and quantities for the materials .
3.Rescheduling is done for the materials .
4. Exceute post processing program .
5.Remove the credit block for the SO and rerun the rescheduling program and post processing program.
1. The materials should be deleted from the TVARVC table in corresponding variable as the SO is released from credit block.
SD-004
1. Create a SO with multiple materials (external procurement) and corresponding PO.
2.Change the delivery date and quantities for the materials in PO.
3.Rescheduling is done for the materials .
4. Exceute post processing program .
1. The materials should be updated in TVARVC table in corresponding variable after the changes in the PO.
2.After post processing program , the materials should be deleted from the TVARVC variable as the SO delivery date is within RLT.
SD-005
1. Create a SO with multiple materials (external procurement) and corresponding PO.
2.Change the delivery date and quantities for the materials in PO.
3.Rescheduling is done for the materials .
4. Exceute post processing program .
1. The materials should be updated in TVARVC table in corresponding variable after the changes in the PO.
2.After post processing program , the materials shouldn't be deleted from the TVARVC variable as the SO delivery date is outside RLT.
SD-006
1. Create a SO with multiple materials (both procurement) and corresponding PO.
2.Change the delivery date and quantities for the materials in PO.
3.Rescheduling is done for the materials .
4. Exceute post processing program .
1. The materials should be updated in TVARVC table in corresponding variable after the changes in the PO.
2.After post processing program , the materials should be deleted from the TVARVC variable as the SO delivery date is within RLT.
SD-007
1. Create a SO with multiple materials (both procurement) and corresponding PO.
2.Change the delivery date and quantities for the materials in PO.
3.Rescheduling is done for the materials .
4. Exceute post processing program .
1. The materials should be updated in TVARVC table in corresponding variable after the changes in the PO.
2.After post processing program , the materials shouldn't be deleted from the TVARVC variable as the SO delivery date is outside RLT.



Solution Details


[Provide complete technical details for configuration or programming here]

1. Implemented Badi 'ME_PURCHDOC_POSTED' to store the Changes of Purchase Order Relevant to Quantity and Delivery Dates in TVARVC variable (pattern 'ZRSD_RESCHEDULING_PO_' )
2. Developed rescheduling post processing program ZRSD_RESCHEDULING_DEL to delete the materials from TVARVC variable in case the open sales orders of the material does not have the credit block and the item delivery date is falling between the order creation date and RLT

Process Flow:


fCapture.JPG

Issues


[List Issues / Bugs identified in configuration or development]

NA