FS - TS - R - PD305 Customer Part Number Genealogy

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 18

Project Arc

Functional/Technical Specifications

Functional and Technical


Specification Document for

Customer Part Number Genealogy

1 of 18
TABLE OF CONTENT

1. GENERAL OBJECT OVERVIEW........................................................................................................ 4


1.1 Generic WRICEF Descriptions......................................................................................................4
2. OBJECT SPECIFIC DESIGN............................................................................................................... 6
2.1 Reporting (operational and analytical)...........................................................................................6
2.2 Interfaces....................................................................................................................................... 9
2.3 Data Conversion / Historical Data................................................................................................11
2.4 Enhancements............................................................................................................................. 13
2.5 Output (e.g. forms, smart forms)..................................................................................................14
2.6 Workflow...................................................................................................................................... 16
3. ADDITIONAL TECHNICAL SPECIFICATIONS.................................................................................17

` 2 of 18
Functional and Technical Specifications
Document Name Team (i.e. OTC) RICEF Number

Customer Part Number Genealogy SOP PD-305


Name Telephone Number & EMAIL
address
Khaja Ahmed 219-399-5174
Form Completed By Shanker Srinivasan Khaja.Ahmed@arcelormittal.com
Jen Dorman / Amy Balka 219-787-6552
Business Contact(s) Jennifer.Dorman@arcelormittal.com
Shanker Srinivasan 219-399-5174
Functional Contact Khaja.Ahmed@arcelormittal.com

Technical Contact Baskar

Revision History (ALL)


Author Description Version # Date
Khaja Ahmed Initial version
Khaja Ahmed ED4K939852 CHG0088875 – Performance 1.1 8/1/2019
improvement
Shanker CHG0140154 - Auto Forecasting Project – Add the 2.0 05/15/2021
Srinivasan below new logic
1. Add custom table for including the history of
the Customer Part number changes from MDG
database. Call up the genealogy report from
the report.
2. Change the logic to pull back the material into
MDA Workflow even if there’s an active
Workflow in the process.
Shanker CR00006529 – ED4K946735 2.1 12/15/2021
Srinivasan Add functionality in ZOTC05 to change the CPN by
ORA’s and trigger the Workflow for Part completion.
Shanker CR00006529 – ED4K947093  2.2 01/27/2022
Srinivasan CPN changes from ORA will create CHANGE MDA
Workflow. Added a New button “Create MDA” WF
Hari Reddy CR00006339-Restrict material workflows 2.3 04/22/2022
from being created by MDA, OSA, and CIM
for any status other than active.
Srinivasan Adding 3 new fields to capture the RED legacy Item 2.4 05/25/2022
Narasimman number against SAP Material ID and Record St and
End Date

Object Overview

` 3 of 18
305 Business Master data
Object ID
Process

SAP MM
SAP Release
Module
(X ) Report
( ) Interface
( ) Conversion
Object Type ( ) Enhancement
( ) Form
( ) Workflow

Object Title Customer Part Number Genealogy

Object Description

Mock Up ID / Name

Medium High
Complexity of Object Priority
(following naming
SAP Program
SAP Transaction Name convention guidelines)
Name

Similar SAP
Similar SAP Transaction
Program

` 4 of 18
1. General Object Overview
1.1 Generic WRICEF Descriptions
JUSTIFICATION
[Provide a high level description reason from deviation from standard SAP reports or BW reports.]

SAP does not capture customer part number genealogy; thus, a table is required to allow users to search by using
previous part number iterations. Within current business practices, customer part number changes can indicate
changes to the steel characteristics.
Standard change management functionality will be leveraged to view individual change records of materials and
customer material numbers.
This spec will have two portions –
1. Complete lookup of change history of materials in bulk or of a single material will require a new report to be
developed.
2. Load mechanism will need to be created for repetitive use of loading Z genealogy history table as conversion
object.

FUNCTIONAL DESCRIPTION / DESIGN

` 5 of 18
[Provide a high level description of the Report and the business requirement that will be addressed.]

Customer Genealogy is the history of changes the customer part numbers have undergone at AMUSA. Standard SAP Customer
Material Info Records (CMIR) will be used. The change history for all parts needs to be viewed in a meaningful way, thus the need
for this report. Report will have the ability to drilldown into the specific material attributes when changes occurred.
Report details for Customer Genealogy –
1. New transaction code is needed
2. Wild card searched should be allowed for customer name and customer material number.
3. Report needs to be run in Three modes – i) ALL ii) ACTIVE iii) INACTIVE
4. Fields for overview section of the report are provided below, drilldown into the specific change record will
the show the material VC characteristic values history since conversion.
5. Z table is needed to convert the legacy records of parts genealogy table. Standard ECM records will not
be able to handle additional dates of when the history

Selection fields for Customer Genealogy Report


Name SAP Field Comments
Customer Name** KNMT-KUNNR Search on partial name or wild card
Customer Material Number KNMT-KDMAT Search on partial name or wild card
AM Material Number KNMT- MATNR Optional
Plant KNMT-WERKS Optional
Date Range Material was KNMT-ERDAT Optional
Active
Sales Org KNMT-VKORG Default value
Distribution Channel KNMT-VTWEG Default value

Output fields for Customer Genealogy Report


Description SAP Field Comments
Customer Number KNMT-KUNNR
Customer Name KNA1-NAME1
Customer Material Number KNMT-KDMAT / CDPOS-
VALUE_OLD
Customer Material Description KNMT-POSTX
AM Material number KNMT-MATNR
Plant KNMT-WERKS
Start Date Active KNMT-ERDAT
End Date Active CDHDR-UDAT
Old Value** CDPOS-VALUE_OLD All changed values will be displayed
horizontally on one row (**These fields need
to be dynamic since more than one field
could change)
New Value** CDPOS-VALUE_NEW All changed values will be displayed
horizontally on one row (**These fields need
to be dynamic since more than one field
could change)
User KNMT-ERNAM or Vlaue should be restricted to the table
CDHDR-USERNAME content on display.
Date Changed KNMT-ERDAT or CDHDR-
ERDAT
Status -- Status will be Active or History – current
record of KNMT is Active, and records from
CDHDR will be shown as History.

Table Definition for historical records


Description SAP Field Comments
Seq Number ZSEQNO Sequential number upto 3 char
Material ZMATNR
Plant ZWERKS
Field Name ZCHARECTERISTIC Length 40 char
Old Value** ZVALUE_OLD Length 40 char
New Value** ZVALUE_NEW Length 40 char
User ID ZUSER_ID Length 10 char
Change Date ZCHG_DATE Date and time stamp
` 6 of 18
Program ID ZPROG_ID May not be needed

` 7 of 18
Version 2.0 – Auto Forecasting Project

Since the AM MDG system is discontinued from the Cliff’s landscape the Part Genealogy for the existing auto parts will not be
available to the business since this data is not stored anywhere in the SAP system. So in order to build that capability inside SAP,
we are leveraging the existing program of Part Genealogy to add the below mentioned features and the requirements of the
business.

1. Add custom table for including the history of the Customer Part number changes from MDG database and call up this
report in the genealogy report. – A new custom table will be created ZPD305_KDMAT_HIS for loading the past 7 years
history data for the material. This will be a one-time load as a cutover activity for the go-live.
2. Change the logic to pull back the material into MDA Workflow even if there’s an active Workflow in the process. (Note:
Today this process happens manually using the NAFTA Part change transaction and this program would be discontinued).

TRANSACTION VOLUME
About 6500 Autoparts

FREQUENCY & TIMING


[Please indicate the frequency that the report should run; i.e.) Ad Hoc, Daily, Weekly, Quarterly etc, and any timing considerations
that should be applied; i.e.) must be run before 7am Monday morning]

Real-time

DEPENDENCIES

` 8 of 18
[Predecessors and successors]

AUTHORIZATION REQUIREMENTS
[Every authorization object needs to be documented to provide the security administrator information on the purpose and use of the
object. The following sections are the minimal documentation requirements.]

Authorization check is not needed for this report. Transaction should be open to all users.

RELATED DOCUMENTATION (ATTACH OSS NOTES, EMAILS, DOWNLOAD OF EXISTING REPORT, ETC)

ASSUMPTIONS

2. Object Specific Design


2.1 Reporting (operational and analytical)
[Reference to the RICEFW section in the BPD.]

Reporting
WRICE Description Report Type Data Elements Relevant KPI Owner
F-ID (ABAP, BI,
BOBJ)
PD305 Customer ABAP ALV
Genealogy

Selection Criteria

` 9 of 18
[Please enter the selection criteria that should be available to users before running the report. Indicate if the
criteria are optional or mandatory and if any data restrictions should apply]

Selection Criteria for Report


Table/ Field Format Default Table Select Mandatory Field
Structure Name Value Value/ Option or or Optional Labels
Name Checkbox/ Parameter
Radio
Button/
Radio
Button
Group
KUNNR Select Mandatory
KNMT
Option
KDMAT Select Optional
KNMT
Option
MATNR Select Optional
KNMT
Option
WERKS Select Optional
KNMT
Option
ERDAT SYS- Select Optional
KNMT
DATE Option
VKORG Select Optional
KNMT
Option
VTWEG Select Optional
KNMT
Option

Any grouping of selection screen fields into blocks? Title of Selection Screen Block?

Any preferred layout of the Selection Screen?

` 10 of 18
Functional Design, Validation and Variants
What is the data to be extracted? Does the Selection Criteria include the full primary keys of the tables
from which data is to be extracted?

First section of the report will read KNMT, CDHDR, CDPOS, and ZGENEALOGY tables to retrieve all
records for the customer part number. Will card searches on customer part number and customer
name need to be allowed. Based on the radio button following actions will need to be performed

1. All – tables KNMT, CDHDR, CDPOS, and ZGENEALOGY will need to be read and retrieve
records selected for input criteria. Fields to be displayed are mentioned below in the
layout section. Function module CHANGEDOCUMENT_READ_HEADERS can be used
to lookup the change records with OBJECTCLASS as SD_KNMT and OBJECTID as the
concatenated value of VKORG, VTWEG, KUNNR, MATNR. Based on the Document no,
CDHDR-CHANGENR, CDPOS records can be read for additional values.

2. Active – current record in KNMT should be shown as the only active record.

3. History - current record in KNMT should NOT be show, and all records in CDPOS and
ZGENEALOGY should be shown.

How should the data be processed in the program – functional logic?

Data needs to be shown according to the layout mentioned in the Report Output section. Record
status will be based on whether record is from KNMT table or CDPOS, Active vs History.

Version 1.1
Improve performance by adjust the selection criteria

Report Output

` 11 of 18
Output Method
[Please indicate the expected output method(s) for the report]
Example:
Saved to File / Sent to print / Send to email account / Download to excel

Main Heading
[Provide the main heading field for the report]
Example:
The main report heading will be: Customer Genealogy Report

Sub Heading
[Provide any required sub-headings and breaks required in the report]

Example:
There will be a sub section under the main contract information detailing the date and time the report
was executed and the users username

LAYOUT – Report Output


Table/Structure Field Name Format Default Column Translation Rule
Name (ie Value Name
decimal
places)
KNMT KUNNR Customer
Number
KNA1 NAME1 Customer
Name
KNMT KDMAT Customer
Or Or Material
CDPOS VALUE_OLD Number
Or Or
ZGENEALOG ZVALUE_OLD
Y
KNMT POSTX Customer
Material
Description
KNMT MATNR AM Material KNMT-MATNR =
number MARC-MATNR
or
KNMT WERKS Plant
KNMT ERNAM User
Or Or
CDHDR USERNAME
CDPOS VALUE_NEW New Value
CDPOS VALUE_OLD Old Value
KNMT ERDAT Date Date and time
Or Or Changed stamp
CDHDR ERDAT
-- -- Status

` 12 of 18
SYSMT System System
Please list the sequence of the fields (SAP Field names) in which the output must be displayed?

DRILLDOWN REQUIREMENTS

Upon drill into a specific change record users should see the material attributes, VC Characteristics and Values,
associated with specified time period. Behavior of the sub-screen will depend on radio button chosen from the
overview screen.
1. All – All active and history records must be shown. Program RCUCONFCD can be run by just
providing Configuration Instance value without any dates. Configuration Instance value can be
retrieved from table MARC-CUOBJ. Additionally, ZGENEALOGY table must be read for records
of current material and associated plant on the record.

2. Active – run program RCUCONFCD with MARC-CUOBJ with date KNMT-ERDAT to display
material VC attributes from the date of material changed till present. Additionally, ZGENEALOGY
table must be read for records of current material and associated plant on the record.

3. History - run program RCUCONFCD with MARC-CUOBJ without date to display material VC
attributes from the date of material creation till present. Additionally, ZGENEALOGY table must
be read for records of current material and associated plant on the record.

TOTALING
[List any totaling or other calculation requirements for the report]
Example:
Number of contracts matching user selection criteria to be displayed at the bottom of the report

Any page-break requirements?

SORTING
[List any sorting requirements for the report]
Example:
Users will be able to sort on contract type and vendor. Default sort sequence will be by contract type.

Any page-break requirements?

PAGE BREAK
[Provide details of any page breaking requirements that should be used in addition to field breaks]
Example:
Page breaks will be used where necessary to prevent overflow of retrieved data

ERROR HANDLING
[Include potential errors, notification procedures, and contingency procedures.]
Typical errors include: No data found for given selection criteria.

` 13 of 18
Version 2.0 – Add Customer Genealogy History Custom Table

Create a custom table ZUS_305_PARTGENE with the below fields.


Field/Attribute name Field description Data type Mapping rule / Field Logic

CLIENT Client CLNT (3)

KUNNR Customer Char (10) From KNMT or Z Table

MATNR Material Char (40) From KNMT or Z Table

WRKST NAFTA ID DAT (10) From KNMT or Z Table

KDMAT CPN Char (35) Step1


From change log table for the part if available and from CDHDR & CDPOS for a given Material. Pass the MATNR
with “*” into CDHDR-OBJECTID where OBJECTCLAS = SD_KNMT and get the KDMAT. Do an inner join between
CDHDR and CDPOS on the CHANGENR and get the Old and the new values for the CPN.
Step2
Get the data from the ZTABLE for the given Material number.
START_DATE CPN Start DAT (10) Step1
From change log table for the part if available and from CDHDR & CDPOS for a given Material. Pass the MATNR
with “*” into CDHDR-OBJECTID where OBJECTCLAS = SD_KNMT and get the UDATE. Do an inner join between
CDHDR and CDPOS on the CHANGENR and get the Old and the new values for the CPN.
Step2
Get the data from the ZTABLE for the given Material number.
END_DATE CPN End DAT (10) Step1
From change log table for the part if available and from CDHDR & CDPOS for a given Material. Pass the MATNR
with “*” into CDHDR-OBJECTID where OBJECTCLAS = SD_KNMT and get the UDATE. Do an inner join between
CDHDR and CDPOS on the CHANGENR and get the Old and the new values for the CPN.
Step2
Get the data from the ZTABLE for the given Material number.
UDATE Last Updated DAT (10) Step1
From change log table for the part if available and from CDHDR & CDPOS for a given Material. Pass the MATNR
with “*” into CDHDR-OBJECTID where OBJECTCLAS = SD_KNMT and get the UDATE.
WERKS Plant Char (4) From KNMT or Z Table

USERNAME User ID Char (12)

SYSMT System Char (12) Denotes the system from where the record is created.

ACT_DATE Part Active Date DAT (10) The date when the part was made active. This is also uploaded field for all the existing material.

Red Legacy Item


RED_ITEM_ID ID Char (40) IBINVAL_SEL_F
START_DATE Created ON DATS (8) ZUS_305_PARTGENE-START_DATE
END_DATE Changed ON DATS (8) ZUS_305_PARTGENE-END_DATE
REC_START_DAT
E Record Start Date DATS (8) ZUS_305_PARTGENE-START_DATE
REC_END_DATE Record End date DATS (8) ZUS_305_PARTGENE-END_DATE

In the existing transaction ZPD12 in the program ZUS_SOP309_CMIR_MATERIAL, create a new radio button selection
as below and when the user selects this option and executes it, call the new excel upload program to update the data into
the table. The data in this report should be combined from both Ztable and the CMIR change log table for the Customer
part number changes and the date should be sorted in Ascending order.

Customer Part Genealogy report

Create a new button in the existing Part Genealogy report to call up the report into a new ALV display.

Below should be the ALV output layout of the custom table and the Genealogy report for the given customer part number.
Materia Part Red
Local Last Last
l NAFT CPN active Ite Rec
Paren CPN  CPN End  Plant updated update Start  End Rec End
numbe A ID  Start  Date  m Start 
t  Date  d by 
r  ID
10122 11/8/201 6/25/202 6/25/202 2055 11/8/201 11/8/201
601404  201401547  4/21/2021  4/21/2021  4/21/2021 
802055  2  8  IHE  1 USERID  1  8  8 
802055 601404  101222026037B  4/21/202 6/25/2021  IHE  6/25/202USERID  6/25/202 2055 4/21/202 6/25/2021  4/21/202 6/25/2021 
` 14 of 18
2  1  1  1  1  1 
10122 201401547 6/25/202 12/31/999 6/25/202 6/25/202 20556/25/202 12/31/999 6/25/202 12/31/999
601404 
802055  2  D  1  9 IHE  1 USERID  1  1  9  1  9 

The logic to get the part active date should be as below.

If for a given SAP material, a record is found in the table ZUS_305_PARTGENE for the field ACT_DATE where the
SYSMT=SAP then that record must be updated in the Part active Date, else take the value from CDHDR-UDATE where
the OBJECTID=MATERIAL and CDPOS- FNAME = ZZ1_PARTSTATUS_PRD and CDPOS- VALUE_NEW = A.

Change the WORKFLOW logic for the MDA button

For the WF Task for the material other than TS90000048, if there is an active WF found when the MDA user
tries to initiate a change WF, then the systema should cancel any existing Active workflow and create a new
Workflow under the Task TS90000048.

Version 2.1
Add a check box in the ZOTC05 landing page and when it is checked, call a custom pop-up screen with two fields

Field1: Existing Customer Part number (KNMT-KDMAT), display only


Field 2- Input text field to enter new customer part number.

On pressing enter, call the BDC to change the Customer material info record to change the field (KNMT-KDMAT) taking
the New material number from the input field in the above pop-up screen.

After updating the Customer material in the info record, update the material description field in MARA-MAKT field. After
successfully updating both the records call the function SWE_EVENT_CREATE to start the material workflow with the
below input Parameters

OBJTYPE = BUS1001006
OBJKEY = “MATNR”
EVENT = ‘CREATED’

Generate the below log message in the event of success or failure for the above process. Capture all the
standard error messages in case of failures to update the CMIR or Material description.

` 15 of 18
Version 2.2 – PIV fix for the above changes.

- The CPN change from ORA will now create a “Change MDA” workflow with type WS90000018 instead
of previously created functionality where it will create a “Create new Material WF” with type
WS90000014.

- A new button added into the details screen where only MDA users would be able to trigger the “Create
New Material Workflow” with type WS90000014. This is controlled with the new role Role:
Z_PD_MTF_CRT_MAT_WF and the Authorization Object assigned to it: ZOTC_WF_CR

Version: 2.3 CR00006339-Restrict material workflows from being created by MDA, OSA, and CIM for any
status other than active.

Restrict material workflows from being created by MDA, OSA, and CIM for any status other than active.
Material workflow should not be created for the material whose MARA-ZZ1_PARTSTATUS_PRD <> ‘A’ . All
the material maintenance teams are able to create workflow with ZOTC05 or ( in Fiori transaction) for the
materials which are not Active

Version 2.4 – Adding Red Legacy Item ID and its Start and End Date
 Create new fields as specified in the mapping table (RED_ITEM_ID, START DATE, END DATE,
REC_STARTDATE, REC_END DATE) in the table ZUS_305_PARTGENE.
 This Red Item number will get updated from SQL connection against SAP Material ID with validity
dates.
 Transaction - ZOTC05 Part Genealogy Report extract and display above 3 fields in the output.
 Based on the Record End Date and Start Date, the Active RED Legacy Item would be considered.
 Based on the Record Start and End Date the Latest record will be read as Active information

` 16 of 18
3. Additional Technical Specifications

1. Report: ZUS_PD305_MTF_GENEALOGY_REPORT
2. TCODE: ZOTC05
3. Function Module: ZUS_PD305_GENEALOGY_REPORT
4. TABLE: ZUS_PD305_GENAGY

Version 1.1:
1) In the function module ZUS_PD305_GENEALOGY_REPORT, Commented the code where the change
records related to customer and Material are begin fetched and processed. (lines 160 to 213)
2) In Include ZUS_PD305_MTF_GENEALOGY_REPF01, before selecting all the entries based on
gt_ibinvalues, check if the internal table is initial or not.

Version 1.2:

1. Report: ZUS_SOP309_CMIR_MATERIAL
2. TCODE: ZPD15
3. Table: ZUS_305_PARTGENE

 Adding the upload customer part number genealogy history logic in existing report
ZUS_SOP309_CMIR_MATERIAL.
 Uploading excel template with the fields Kunnr, Matnr, wrkst, kdmat, start_date, end_date, plant, sysmt
and act_date.
 Created one radio button in selection screen as Update Customer Part Genealogy.
 Using FM TEXT_CONVERT_XLS_TO_SAP to upload the excel file values into Custom table called
zus_305_partgene.

1. Include: ZUS_PD305_MTF_GENEALOGY_REPF01
2. TCODE: ZOTC05

1) Adding the logic in existing report code include ZUS_PD305_MTF_GENEALOGY_REPF01 when


‘ZBUT4’ button action to generate the customer Genealogy report.
2) Selecting custom table zus_305_partgene value with where conditions kunnr and matnr.
3) Looping custom internal table lt_zus_305_part and appending into final internal table lt_final.
4) Again selecting the value from knmt table with where condition matnr ,if custom table material is not
available we taking based on change log made in VD52 against the Customer part number.
5) For change log history using these two FM CHANGEDOCUMENT_READ_HEADERS for udate & username
and CHANGEDOCUMENT_READ_POSITIONS is for old value and new value update and last change date
and by username.
6) passing objectclass as SD_KNMT & object id as Matnr value and passing into
CHANGEDOCUMENT_READ_HEADERS to get the KDMAT value changes in change log.
7) Based on the change document read heard document changenr value we passing and loop into the
changedocument_read_positions to get the old value and new value.
8) For ending with CPN log history we adding CPN end date as default date as 12/31/9999.please refer
the ALV output screen in FS.
9) For active part date we using same FM as CHANGEDOCUMENT_READ_HEADERS and
CHANGEDOCUMENT_READ_POSITIONS but passing objectclass as MATERIAL & object id as Matnr to
get the active part date by last change date in log.

` 17 of 18
Function Module used:
Table Name Description
REUSE_ALV_GRID_DISPLAY Output of a simple list (single-line)
CHANGEDOCUMENT_READ_HEADERS Change document: Read change document
header
CHANGEDOCUMENT_READ_POSITIONS Change document: Read change document
items

Table used:
Table Name Description
ZUS_305_PARTGENE Customer Part number
KNMT Customer-Material Info Record Data Table
MARA Material master Header
ADRC Addresses (Business Address Services)
T001W Plants/Branches

` 18 of 18

You might also like