sycm_aps_c_project
Custom Code Migration Projects
sycm_aps_c_project is a CDS View that provides data about "Custom Code Migration Projects" in SAP S/4HANA. It reads from 1 data source (sycm_aps_i_project) and exposes 16 fields with key field project_id. It has 28 associations to related views. It is used in 1 Fiori application: Custom Code Migration.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| sycm_aps_i_project | projects | from |
Associations (28)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | sycm_aps_i_scp_for_project | _number_all_objects | _number_all_objects.project_id = projects.project_id and _number_all_objects.type = 'A' |
| [0..1] | sycm_aps_i_scp_for_project | _number_scoped_objects | _number_scoped_objects.project_id = projects.project_id and _number_scoped_objects.type = 'S' |
| [0..1] | sycm_aps_i_atc_run_state | _atc_run_state | _atc_run_state.project_id = projects.project_id |
| [0..1] | sycm_aps_i_atc_fnd_by_project | _number_findings | _number_findings.project_id = $projection.project_id |
| [0..1] | sycm_aps_i_project_log_handle | _log_handle | _log_handle.project_id = $projection.project_id |
| [0..1] | sycm_aps_i_prj_field_control | _field_control | _field_control.project_id = $projection.project_id |
| [0..1] | sycm_aps_c_target_release_vh | _target_release_vh | _target_release_vh.target_release = $projection.target_release |
| [0..1] | sycm_aps_c_trans_scenario_vh | _trans_scenario_vh | _trans_scenario_vh.transition_scenario = $projection.transition_scenario |
| [0..1] | sycm_aps_c_object_provider_vh | _object_provider_vh | _object_provider_vh.data_source_id = $projection.object_provider_id |
| [0..1] | sycm_aps_i_project_status | _project_status_text | _project_status_text.project_status = $projection.project_status |
| [0..1] | SYCM_APS_I_SCOPE_STATUS | _scope_status_text | _scope_status_text.scope_status = $projection.scope_status |
| [0..1] | sycm_aps_c_request_text | _request_text | _request_text.request = $projection.request |
| [0..1] | sycm_aps_i_atc_chk_kind_ce_vh | _atc_check_kind_vh | _atc_check_kind_vh.atc_check_kind = $projection.atc_check_kind |
| [0..1] | sycm_aps_c_atc_check_kind_text | _atc_check_kind_text | _atc_check_kind_text.atc_check_kind = $projection.atc_check_kind |
| [0..1] | sycm_aps_c_project_type_vh | _project_type_vh | _project_type_vh.project_type = $projection.project_type |
| [0..1] | satc_ci_chkv_value_help_cust | _check_variant_vh | _check_variant_vh.checkvariant = $projection.check_variant |
| [0..*] | sycm_aps_c_prj_usg | _prj_usg | _prj_usg.project_id = $projection.project_id |
| [0..*] | sycm_aps_c_atc_package_include | _atc_package_include | _atc_package_include.project_id = $projection.project_id |
| [0..*] | sycm_aps_c_atc_package_exclude | _atc_package_exclude | _atc_package_exclude.project_id = $projection.project_id |
| [0..*] | sycm_aps_i_prj_nspace | _nspace | _nspace.project_id = $projection.project_id |
| [0..*] | sycm_aps_c_scp_overview | _scope_overview | _scope_overview.project_id = $projection.project_id |
| [0..*] | sycm_aps_c_atc_overview_s4h | _analysis_overview_s4h | _analysis_overview_s4h.project_id = $projection.project_id |
| [0..*] | sycm_aps_c_log | _log | _log.project_id = $projection.project_id |
| [0..*] | sycm_aps_c_check_failure | _check_failures | _check_failures.project_id = $projection.project_id |
| [0..*] | sycm_aps_c_atc_burndown | _fnd_burndown | _fnd_burndown.run_series_name = $projection.atc_run_series |
| [0..1] | sycm_aps_i_user | _user | _user.UserID = projects.created_by |
| [0..1] | sycm_aps_i_atc_bsline_for_prj | _baseline_info | _baseline_info.project_id = $projection.project_id |
| [0..1] | sycm_aps_c_atc_baseline_text | _baseline_text | _baseline_text.baseline_effect = $projection.baseline_effect |
Annotations (12)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | SYCMVCPROJECT | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| EndUserText.label | Custom Code Migration Projects | view | |
| Metadata.allowExtensions | true | view | |
| ObjectModel.transactionalProcessingDelegated | true | view | |
| ObjectModel.compositionRoot | true | view | |
| ObjectModel.createEnabled | false | view | |
| ObjectModel.deleteEnabled | EXTERNAL_CALCULATION | view | |
| ObjectModel.updateEnabled | EXTERNAL_CALCULATION | view | |
| ObjectModel.draftEnabled | true | view | |
| OData.publish | true | view |
Fiori Apps (1)
| App ID | App Name | Type | Description |
|---|---|---|---|
| F3191 | Custom Code Migration | Transactional | The Custom Code Migration app enables you to create three different kinds of projects: 1. SAP S/4HANA Migration Project: Analyze custom code that shall be migrated from an existing product like SAP Business Suite to a new product such as SAP S/4HANA 2021. To evaluate the custom objects to be adapted, it performs the SAP S/4HANA custom code checks. 2. SAP BTP Analysis Project: Analyze custom code for readiness to run in SAP BTP, ABAP environment. 3. Custom Code Analysis Project: Analyze custom code with arbitrary ATC check variants. In addition, this app supports you with identifying unused custom code based on your collected usage data. This enables you to remove unused custom code during a system conversion to SAP S/4HANA. |
Custom Code Migration
Business Role: Quality Manager - Software Development
Fields (16)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | project_id | project_id | Project UUID | |
| description | description | Well Code Des. | ||
| scope_status | scope_status | |||
| request | request | Request/Task | ||
| created_by | _user | user_description | Description | |
| created_at | sycm_aps_i_project | created_at | Uploaded On | |
| project_type | project_type | Projecttype | ||
| s4h_state | _atc_run_state | s4h_state | ||
| s4h_total | _atc_run_state | s4h_total | ||
| s4h_failed | _atc_run_state | s4h_failed | ||
| s4h_disabled | _field_control | s4h_disabled | ||
| cca_disabled | _field_control | cca_disabled | ||
| log_handle | _log_handle | log_handle | Migration Log Handle | |
| _prj_usg | _prj_usg | |||
| _nspace | _nspace | |||
| _log | _log |
Derived SQL interpretation, reconstructed from the parsed view metadata (data sources, associations, and field mappings). SAP annotations are omitted and the structure is reformulated as SQL — this is a functional approximation, not the verbatim SAP source.
-- Derived SQL interpretation of CDS view sycm_aps_c_project.
-- Reconstructed from parsed metadata (data sources, associations, fields).
-- SAP annotations are omitted and the structure is reformulated as SQL;
-- this is a functional approximation, not the verbatim SAP source. Some join
-- conditions may be unavailable and a few CDS constructs are kept as-is.
-- SQL view name: SYCMVCPROJECT
CREATE VIEW sycm_aps_c_project AS
SELECT
project_id,
description,
scope_status,
request,
_user.user_description AS created_by,
projects.created_at AS created_at,
project_type,
_atc_run_state.s4h_state AS s4h_state,
_atc_run_state.s4h_total AS s4h_total,
_atc_run_state.s4h_failed AS s4h_failed,
_field_control.s4h_disabled AS s4h_disabled,
_field_control.cca_disabled AS cca_disabled,
_log_handle.log_handle AS log_handle
FROM sycm_aps_i_project AS projects
LEFT OUTER JOIN sycm_aps_i_scp_for_project AS _number_all_objects ON _number_all_objects.project_id = projects.project_id AND _number_all_objects.type = 'A' -- association [0..1]
LEFT OUTER JOIN sycm_aps_i_scp_for_project AS _number_scoped_objects ON _number_scoped_objects.project_id = projects.project_id AND _number_scoped_objects.type = 'S' -- association [0..1]
LEFT OUTER JOIN sycm_aps_i_atc_run_state AS _atc_run_state ON _atc_run_state.project_id = projects.project_id -- association [0..1]
LEFT OUTER JOIN sycm_aps_i_atc_fnd_by_project AS _number_findings ON _number_findings.project_id = project_id -- association [0..1]
LEFT OUTER JOIN sycm_aps_i_project_log_handle AS _log_handle ON _log_handle.project_id = project_id -- association [0..1]
LEFT OUTER JOIN sycm_aps_i_prj_field_control AS _field_control ON _field_control.project_id = project_id -- association [0..1]
LEFT OUTER JOIN sycm_aps_c_target_release_vh AS _target_release_vh ON _target_release_vh.target_release = target_release -- association [0..1]
LEFT OUTER JOIN sycm_aps_c_trans_scenario_vh AS _trans_scenario_vh ON _trans_scenario_vh.transition_scenario = transition_scenario -- association [0..1]
LEFT OUTER JOIN sycm_aps_c_object_provider_vh AS _object_provider_vh ON _object_provider_vh.data_source_id = object_provider_id -- association [0..1]
LEFT OUTER JOIN sycm_aps_i_project_status AS _project_status_text ON _project_status_text.project_status = project_status -- association [0..1]
LEFT OUTER JOIN SYCM_APS_I_SCOPE_STATUS AS _scope_status_text ON _scope_status_text.scope_status = scope_status -- association [0..1]
LEFT OUTER JOIN sycm_aps_c_request_text AS _request_text ON _request_text.request = request -- association [0..1]
LEFT OUTER JOIN sycm_aps_i_atc_chk_kind_ce_vh AS _atc_check_kind_vh ON _atc_check_kind_vh.atc_check_kind = atc_check_kind -- association [0..1]
LEFT OUTER JOIN sycm_aps_c_atc_check_kind_text AS _atc_check_kind_text ON _atc_check_kind_text.atc_check_kind = atc_check_kind -- association [0..1]
LEFT OUTER JOIN sycm_aps_c_project_type_vh AS _project_type_vh ON _project_type_vh.project_type = project_type -- association [0..1]
LEFT OUTER JOIN satc_ci_chkv_value_help_cust AS _check_variant_vh ON _check_variant_vh.checkvariant = check_variant -- association [0..1]
LEFT OUTER JOIN sycm_aps_c_prj_usg AS _prj_usg ON _prj_usg.project_id = project_id -- association [0..*]
LEFT OUTER JOIN sycm_aps_c_atc_package_include AS _atc_package_include ON _atc_package_include.project_id = project_id -- association [0..*]
LEFT OUTER JOIN sycm_aps_c_atc_package_exclude AS _atc_package_exclude ON _atc_package_exclude.project_id = project_id -- association [0..*]
LEFT OUTER JOIN sycm_aps_i_prj_nspace AS _nspace ON _nspace.project_id = project_id -- association [0..*]
LEFT OUTER JOIN sycm_aps_c_scp_overview AS _scope_overview ON _scope_overview.project_id = project_id -- association [0..*]
LEFT OUTER JOIN sycm_aps_c_atc_overview_s4h AS _analysis_overview_s4h ON _analysis_overview_s4h.project_id = project_id -- association [0..*]
LEFT OUTER JOIN sycm_aps_c_log AS _log ON _log.project_id = project_id -- association [0..*]
LEFT OUTER JOIN sycm_aps_c_check_failure AS _check_failures ON _check_failures.project_id = project_id -- association [0..*]
LEFT OUTER JOIN sycm_aps_c_atc_burndown AS _fnd_burndown ON _fnd_burndown.run_series_name = atc_run_series -- association [0..*]
LEFT OUTER JOIN sycm_aps_i_user AS _user ON _user.UserID = projects.created_by -- association [0..1]
LEFT OUTER JOIN sycm_aps_i_atc_bsline_for_prj AS _baseline_info ON _baseline_info.project_id = project_id -- association [0..1]
LEFT OUTER JOIN sycm_aps_c_atc_baseline_text AS _baseline_text ON _baseline_text.baseline_effect = baseline_effect -- association [0..1]
;
Learn More
- SAP Fiori Apps Architecture — How Fiori Apps Connect to Data
- CDS View Annotations — A Complete Guide
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA
- BSEG to ACDOCA: The Universal Journal Migration
- Business Partner Migration: KNA1/LFA1 to BUT000
- Material Document Migration: MSEG/MKPF to MATDOC
- How to Find the Right CDS View for an SAP Table
- BW Extractor to CDS View Migration Guide
- S/4HANA CDS View Deprecation: What You Need to Know
- ABAP CDS View Tutorial — From Basics to Real-World Examples
- RAP and CDS Views — Building Transactional Apps in SAP S/4HANA
- Sales Document Status Migration: VBUP/VBUK Removal in S/4HANA
- CO Tables in S/4HANA: COEP, COBK, COSS, COSP to ACDOCA