| Status | Revision in progress |
|---|---|
| Owner | |
| Stakeholders | CASTELEIRA, Patricia RODRIGUES, Sergio Joana Rebanda |
| Jira Request ID | ERP-60 - Getting issue details... STATUS |
| Jira Development ID | ERP-1015 - Getting issue details... STATUS |
High- Level Specification
| Parameter | Value |
|---|---|
| Application System | GTS |
| Business Process Reference | 12.02.01.02. Classify Products via Product/Worklist |
Functional Overview
The enhancement is required in GTS system as part of the Customs & Compliance Classification products where for any new replicated packaged material from S/4 to GTS, these should inherit the same classification from its "template" product, or known as unpackaged product as per the New Product Introduction process. Once the products master data are replicated from S/4HANA to GTS and the classification codes are created/maintained, the next step is to start classifying those products. There will be a manual classification performed by the user (role: GTS Trade Classification Master Data Maintainer) for the Customs unpackaged products using standard Fiori App will be used 'Classify Products - Customs Tariff Numbers' and 'Classify Products - Commodity Codes' and for Compliance unpackaged products, another user (role: ECCN classified) will manually classify using a custom Fiori UI5 (as part of ERP-1857).
Once the manual classification is performed for the unpackaged products, as part of this development the requirement is to create a background program that at the time of transfer of finish goods products (known as packaged products) from S/4 to GTS to auto-classify them in GTS using as reference the classification from its corresponding unpackaged.
Scope and Objectives
The scope of this integration process is to automatize and simplify the existing autoclassification process in GTS when comes to product customs classification.
New products are classified by applying the HTS codes, which are used by customs authorities around the world to identify the duty and rate taxes for specific types of products, as well as to know which products need license to be exported.
The benefits of this enhancement are:
Improving the accuracy of the classification
Decreasing the team’s workload and increasing the operational efficiency
Avoiding repetitive work and standardizing the process to avoid various interpretations.
Allowing traceability of the classification performed, namely by identifying the template product.
Process Flow Diagram
Entire Signavio Classify Products via Product/Worklist process:
This flow captures the auto-classification for customs products along with error handling part (both of them being part of this enhancement). The manual classification if the program fails is part of the role 'GTS Trade Classification Master Data Maintainer'.
This part captures the same auto-classification program for compliance products (part of this enhancement). The manual classification is handled by a different role than the one above, which is 'ECCN classifier'.
Step | Description | Comment |
|---|---|---|
| 1. | Perform transfer of Master Data to GTS | All unpackaged and packaged products are being replicated from S/4 to GTS. |
| 2. | Perform Autoclassification for the packaged products | Enhancement related |
| 3. | Maintain Product Classification | On both Customs and Compliance if the background program fails, the users as per the mentioned roles (GTS Trade Classification Master Data Maintainer/ECCN classifier) will do it manually. |
Assumptions
- Master Data System (non SAP)-S/4HANA communication set up accordingly. Master data System being the leading system for handling products (creation/changes/maintenance). Without products in GTS at first place, this enhancement cannot run.
- S/4HANA-GTS communication set up accordingly. Once Master data system sends the master data details to S/4HANA, GTS is being fed by S/4HANA.
- ERP-2888 and ERP-129 implemented and tested by the time of this implementation.
Interface settings are essential to have in place and work accordingly.
Dependencies
New Product Introduction process must work properly and create the unpacked and packaged products before being replicate to down systems (S/4HANA - GTS).
First ERP-2888 must be implemented as well as ERP-129.
Then this FS can be implemented.
Security, Integrity and Controls
This enhancement will be executed in the background during the interface processing from S/4HANA to GTS client as part of the product master synchronization.
Manual classification would be performed by the GTS Trade Classification Master Data Maintainer as part of process Maintain Product Classification outside this build requirement.
To detail the security requirements for processing this enhancement, any data integrity issues associated with the object and the teams that will be responsible for processing the object, i.e. authorization/roles required to who can execute the enhancements, etc.
Configuration Requirements
System and Integration:
- Logical system groups: For materials to transfer from feeder system to GTS, S/4 must be assigned to logical system groups within GTS.
- Feeder system data: The feeder system must be properly configured to send the necessary data, such as product descriptions, units of measure, and weights, which will be copied into GTS.
- Master data integrity: Ensure the master data in both the feeder system and GTS is accurate and up-to-date, including material master data, customer master data, and country master data.
- Communication interfaces: Established communication interfaces, such as RFC connections, are necessary for data to flow between systems.
Classification:
- Classification catalogs: Maintain and update your classification in GTS, which include the relevant import/export control classification numbers for different countries.
- Numbering schemes: Define the numbering schemes for commodity codes or customs tariff numbers within the system.
Custom attributes: (This is going to be covered as part of ERP-2888 and ERP-129).
1) Define Product Characteristics from the feeder system → define the attribute technical name.
2) Assign Field attributes to the product characteristics from the feeder system → assign field length to the attributes defined at step 1.
3) Define Attributes of Product Characteristics with Length 01 → define possible values for the attribute.
Below is the list of relevant tables for this functionality:
- /SAPSLL/PRGEN - Product attributes in GTS
- /SAPSLL/TCOATR - Definition of characteristics from feeder system
- /SAPSLL/TCOATC - Generic settings for general attributes maintenance
- /SAPSLL/TCOATA - Control of general attribute maintenance - assignment of attributes
Language Requirements
N/A
Special Requirements
N/A
Design Rationale
Functional Requirements
- Master data system will be the source system to create products; all will then be replicated to the down streams such as S/4 and S/4 to GTS.
- GTS will be the source system to classify all products.
During the interface synchronization transfer of products from S/4 to GTS following will take place:
Unpackaged products-> At this stage the classification is being performed manually performed by the users on both Customs and Compliance stages. For Customs User (role: GTS Trade Classification Master Data Maintainer) will classify them using standard Fiori App 'Classify Products - Customs Tariff Numbers' and 'Classify Products - Commodity Codes' while for Compliance User (role: ECCN classified) will manually classify using a custom Fiori UI5 (as part of ERP-1857). Once this stage is done, the background program will pick the classification code and assign it to the packaged products. There will always be a 1:N relationship between unpackaged and packaged. Also, to be noted, the user has no need to perform the classification for the packaged products unless only the background program (for the packaged products) fails and manual intervention is required by using the mentioned Fiori app earlier. This stage of manual classification of unpackaged products is a prerequisite for the enhancement to work on the next step.
Packaged products (replacing the existing RPA BOT with this new enhancement) -> will be linked to the unpackaged products (basic material) and within an automatized enhancement at the time of packaged products arrival in GTS, it will search for the template product (unpacked product) in order to copy the classification from. This includes an approach at any GBU level and must run in background mode.
For existing products, there will be an "Assess Materials stage" conducted by Global Trade Team that by every time a new tariff schedule gets changed will evaluate if any classified product gets impacted by this change and update the classification accordingly for the unpackaged product. Once the unpacked product is manually updated, the autoclassification custom program will run to perform the classification for the linked packaged of the unpacked product.
Proposed Technology to Use
SE37→ FM → EXIT_SAPLSLL_LEG_PRR3_004 : Customer Exit can be used. The user exit should follow standard authorization.
Import → Parameter Name: IS_MATERIAL_TABLES →Associated type: SLLR3_MATERIAL_OBJ_S (this FM will be validated considering the overall solution captured under "processing logic - agreed with Dhiraj J. Dec 2025).
See Processing GTS Logic section for more details.
Data Source Considerations
N/A
| Table | Field Name | Comments/Calculation/Field Manipulation |
|---|---|---|
Data Validation Considerations
N/A
| Table | Field Name | Comments/Calculation/Field Manipulation |
|---|---|---|
Custom Tables
Users listed under Distribution lists tc_consumer-and-resources@syensqo.com, tc_materials@syensqo.com and htsclassification@syensqo.com will be added to a Custom Business Configurations and further getting the notification via Fiori Launchpad.
This custom table will be maintained via Custom Business Configuration using role based authorization control to determine the users that can update the Custom Business Configuration:
| Client | MANDT | CLNT | 3 |
| User ID | SYUNAME | CHAR | 12 |
| GBU* | ZREG | CHAR | 3 |
*GBU will be left blank for customs users.
Since the program covers the classification for both compliance and customs that can be shared by the same material(s), the following rule will distinguish whether to go to GTS Customs stream or GTS Compliance for notifying with the unclassified products.
- Unclassified products = CCNGN blank in /SAPSLL/PRCLS (table explained in the processing logic) - extract the products unclassified (GUID_PR) along with its numbering scheme (STCTS) from /SAPSLL/PRCLS.
- Pass the STCTS of the unclassified products in order to retrieve the numbering scheme type (CTSTY) into /SAPSLL/TCONS; where for Compliance = 002 , for Customs is the rest = e.g 101, 102, etc.
- If it lies under type 002, check further the GBU linked to the impacted product(s) (from list of GUID_PR unclassified with numbering scheme type 002, pass the GUID_PR to /SAPSLL/PRGEN where the GBU will be stored per product).
- For GBU = Technology Solutions or Novecare or Aroma Performance -> trigger notification to: tc_consumer-and-resources@syensqo.com
- For GBU = Composite Materials or Specialty Polymers -> trigger notification to: tc_materials@syensqo.com
- If it lies under type 002, check further the GBU linked to the impacted product(s) (from list of GUID_PR unclassified with numbering scheme type 002, pass the GUID_PR to /SAPSLL/PRGEN where the GBU will be stored per product).
- If the rest, then is considered Customs, no GBU check, notify the user by using this DL address: htsclassification@syensqo.com.
Master Data
N/A
| Field | Description | Data Type/Length | Validation rule/ Value Help |
|---|---|---|---|
Configuration Table
N/A
| Field | Description | Data Type/Length | Validation rule/ Value Help |
|---|---|---|---|
Selection Screen Enhancement
N/A
| Field Name | Description | Select: | Data Type/Length | Default Value/ Validation rule/ Value Help | Selection Logic |
|---|---|---|---|---|---|
Processing Logic
The trigger of this logic will be whenever a new packaged product will be replicated from S/4 to GTS. The reference of the whole logic such as identifying the unpackaged and packaged link as well as the classification code reference will always be GTS.
As per the New Process Introduction (NPI) procedure, the S/4 material types relevant for these products will be known as:
- Product types:
- Unpackaged = ZBAS → will have to be mapped as custom attribute under additional characteristics master data in GTS as attribute value ATTR05A- part of ERP-2888
- Packaged = ZDIR → will have to be mapped as custom attribute under additional characteristics master data in GTS as ATTR05A- part of ERP-2888
- Unpackaged product value -> will have to be mapped as custom attribute under additional characteristics master data in GTS as attribute value ATTR20A- part of ERP-2888
All the (re)packaged products will have to be classified automatically in reference to its unpackaged products at the time of the product transfer to GTS.
Overview process (S/4-GTS)
- Basic material will be the link between unpacked and packaged product in S/4 (MARA-WRKST- reference field where the unpackaged material number will be stored for a packaged material). This link is going to refer once both products are being transferred to GTS via customer exit as attribute (TBC by tech team).
- First, the unpacked product is going to be replicated to GTS - at this stage the trade classification export is going to perform a manual classification in GTS.
- Then, the packed product is going to be replicated to GTS too - at this stage at the time of transfer a tech approach is going to use the input parameter (WRKST) in order to check the basic material link between the unpacked and packed products but also to refer to the GTS classification table in order to copy the classification from the template (unpacked) product and replicate it automatically to the packaged product.
GTS tables:
- /SAPSLL/PNTPR → This table can be used to find the GTS product number from an ECC material number.
- /SAPSLL/PRGEN → This table can be used to identify the material type if unpackaged (ZBAS) or packaged (ZDIR).
- /SAPSLL/PRCLS → This table stores the product classification codes, linking products to their classifications.
GTS logic for the autoclassification program build:
Prerequisite: ZBAS, ZDIR Material product master data must be transferred from S/4 to GTS (custom attributes included: material type, unpackaged value material number- as part of ERP-2888)
Once the products are transferred to GTS, search for the unpackaged products linked to the packaged products and copy the classification from (classified unpackaged to the packaged).
Steps for the check/implementation:
- Within /SAPSLL/PRGEN filter by ATTR20A = Unpackaged and execute it. The result should show the list of packaged products (verification: ATTR05A = ZDIR in the same table) that has the unpackaged product linked to it. The assumption at this time is that ERP-2888 will ensure the attribute values were successfully maintained and so the link between unpackaged and packaged exists under the PRGEN table.
- Once the packaged products list (that has an unpackaged to it) is obtained from step 1, start classifying these products by copying the classification from unpackaged product(s). Pass all the unpackaged material values obtained from ATTR20A field (PRGEN) to PVRSY of table /SAPSLL/PNTPR and execute. Take the GUID_PR and pass it to /SAPSLL/PRCLS where DATAB and DATBI must be valid. From the result copy the CCNGN (respectively of the STCTS numbering scheme entry) being the classification code of the unpackaged identified and pass the CCNGN value to the packaged products identified on step 1.
Volumetrics
Roughly estimation:
- Initial volume: 70k- 80k with the expectation that the auto-classification won't be running in a bulk.
- Expected frequency: daily with less number of records compared with initial volume.
Performance Considerations
Since the custom program is executed during interface between S/4 and GTS there is no significant performance consideration.
Error Handling
If the program cannot copy the classification from the unpackaged product to the product because for e.g at the time when the program runs the unpackaged was not classified by the user, then the program won't be finding the classification details and will stop. Eventually the user in GTS will have to classify manually for the packaged product for exceptional cases by using Classification Fiori tiles (it can check by the numbering scheme and legal regulation or even date, what is the list of materials unclassified). A notification must be send to the user in such cases.
Since the program covers the classification for both compliance and customs that can be shared by the same material(s), the following rule will distinguish whether to go to GTS Customs stream or GTS Compliance for notifying with the unclassified products.
- Unclassified products = CCNGN blank in /SAPSLL/PRCLS (table explained in the processing logic) - extract the products unclassified (GUID_PR) along with its numbering scheme (STCTS) from /SAPSLL/PRCLS.
- Pass the STCTS of the unclassified products in order to retrieve the numbering scheme type (CTSTY) into /SAPSLL/TCONS; where for Compliance = 002 , for Customs is the rest = e.g 101, 102, etc.
- If it lies under type 002, check further the GBU linked to the impacted product(s) (from list of GUID_PR unclassified with numbering scheme type 002, pass the GUID_PR to /SAPSLL/PRGEN where the GBU will be stored per product).
- For GBU = Technology Solutions or Novecare or Aroma Performance -> trigger notification to: tc_consumer-and-resources@syensqo.com
- For GBU = Composite Materials or Specialty Polymers -> trigger notification to: tc_materials@syensqo.com
- If it lies under type 002, check further the GBU linked to the impacted product(s) (from list of GUID_PR unclassified with numbering scheme type 002, pass the GUID_PR to /SAPSLL/PRGEN where the GBU will be stored per product).
- If the rest, then is considered Customs, no GBU check, notify the user by using this DL address: htsclassification@syensqo.com.
Testing
How to Test
Test Conditions and Expected Results
| ID | Condition | Expected Result |
|---|---|---|
| 1 | Unpackaged Product gets replicated to GTS (MDS-S4-GTS - interface step) | Exists in the Fiori App "Manage Products" and can be identify by the internal number. |
| 2 | Packaged Product gets replicated to GTS (MDS-S4-GTS - interface step) | Exists in the Fiori App "Manage Products" and can be identify by the internal number. |
| 3 | Unpackaged Product gets manually classified in GTS (manual intervention) | Classify Product Fiori App can cover the product-classification assignment |
| 4 | Packaged Product gets automatically classified in GTS by the background custom program (enhancement applies) | The custom program will copy the classification from the unpackaged ZBAR to the packaged ZDIR material. |
| 5 | Packaged Product does not gets automatically classified in GTS by the custom background program (no WKRST condition found) | Classify Product Fiori App can cover the product-classification assignment in a manual step executed by the user (covered in the Process Flow diagram) |
| 6 | Resale Product gets automatically classified in GTS by the background custom program (enhancement applies) | The custom program will copy the classification from the unpackaged ZBAR to the packaged ZDIR material. |
| 7 | Resale Product does not gets automatically classified in GTS by the custom background program (no WKRST condition found) | Classify Product Fiori App can cover the product-classification assignment in a manual step executed by the user (covered in the Process Flow diagram) |
| 8 | Rebrand Product gets automatically classified in GTS by the background custom program (enhancement applies) | The custom program will copy the classification from the unpackaged ZBAR to the packaged ZDIR material. |
| 9 | Rebrand Product does not gets automatically classified in GTS by the custom background program (no WKRST condition found) | Classify Product Fiori App can cover the product-classification assignment in a manual step executed by the user (covered in the Process Flow diagram) |
Test Considerations/Dependencies
Other Information
Development Details
Package
| Package Name | Parent Package |
|---|---|
Enhancement Implementation
| Enhancement Type | Standard Definition Name | Custom Implementation Name | Design Rationale Reference |
|---|---|---|---|
Other Development Objects
| Object Type | Object Name | Purpose/High Level Logic | Design Rationale Reference |
|---|---|---|---|
Appendix
Custom Authorization Group Naming Convention
This table is based on the Syensqo development standards document. It provides the naming conventions for authorization groups to associated with custom reports and tables to comply with security requirements.
ABAP | ZFI | ZMM | ZPS | ZCO | ZSD | ZBC | ZFI | ZCA |
|---|---|---|---|---|---|---|---|---|
| TABLES | ZFIT | ZMMT | ZPST | ZCOT | ZSDT | ZBCT | ZFIT | ZCAT |


