

AWS 大型机现代化服务（托管运行时环境体验）不再向新客户开放。有关类似于 AWS 大型机现代化服务（托管运行时环境体验）的功能，请浏览 AWS 大型机现代化服务（自我管理体验）。现有客户可以继续正常使用该服务。有关更多信息，请参阅[AWS 大型机现代化可用性变更](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 了解汇编器转换的代码转换功能计费
<a name="assembler-conversion-billing"></a>

在进行实际转换之前，您需要参考此页面以了解代码转换功能的计费范围和流程。费用计算部分提到了对从汇编器到 COBOL 的转换按代码行收费的流程。

## 代码转换功能计费和范围
<a name="assembler-conversion-billing-reports"></a>

汇编器代码转换只有在完成*转换*步骤后才会在您的 AWS 账户 上生成费用（账单报告）。费用根据转换的代码行数计算。如果执行了多个转换步骤，例如添加了新的汇编器代码、更改了转换配置或应用了新版本容器，则只会对更改的行和/或新添加的行计算费用。我们不会对同一程序中相同代码行的转换收取两次费用。

**注意**  
 更改了代码行的模块以及新程序或重命名程序中的所有代码行都会被收费。

为避免多次收费，代码转换功能会在项目存储桶中的 `<Project_bucket>/awsm2ccm-do-not-delete/<AWS_account_number>/Hash` 中为每个汇编器或宏模块存储一个编码二进制文件。这些编码文件不包含任何客户代码。

**重要**  
请勿手动编辑或删除这些文件。更改可能会导致对相同组件的转换多次计费。

 AWS Mainframe Modernization 代码转换分析报告（“分析报告”）为客户提供有关预期转换范围、结果和计费的详细信息，以确保对实际转化的准确预期。转换有可能导致一些代码行没有被转换，一些代码行被部分转换，一些代码行被完全转换。分析报告会显示每个类别的代码行数。**在处理任何程序、宏和副本的转换之前，必须先运行并阅读分析报告。**客户在查看分析报告并同意报告的范围、预期结果和预计费用后，即可进一步执行转换。

**注意**  
执行 AWS Mainframe Modernization 代码转换 `Convert` 命令，即表示您确认自己已经运行并阅读了分析报告，并同意预期结果和可计费的代码行数。

### 转换范围
<a name="assembler-conversion-billing-scope"></a>

AWS Mainframe Modernization 代码转换处理配置的 *S3 源位置的 scrlib 和 macrolib* *目录中可用的所有汇编器、宏*和抄写本组件的所有代码行。汇编器程序以及汇编器程序中引用的所有宏和副本都*在范围内*。未被汇编器程序引用的宏和副本组件将被视为*超出范围*，而不进行转换。在处理过程中，转换器会执行从整体上考虑每个范围内组件的高级算法。这些组件的所有代码行都参与处理，无论它们是完全转换、部分转换还是未转换。 AWS Mainframe Modernization 代码转换会忽略空行，也不会将它们算作代码行。注释行和包含任何其他文本的行（例如，嵌入到 JCL 中的汇编器的 JCL 语句）会算作计费的代码行。

### 费用计算
<a name="assembler-conversion-billing-calculation"></a>

AWS Mainframe Modernization 范围内的组件全部收取代码转换费用。这意味着它会对每个作用域内组件中的每一行代码收费，包括无法转换、部分转换和完全转换的行。 AWS Mainframe Modernization 代码转换将提供给处理的组件的所有代码行相加（包括汇编程序、引用的副本和引用的宏），并使用代码行总数进行计费。

**注意**  
 未被汇编器程序引用的副本和宏不被视为在范围内。

例如，假设一个程序有 1000 行代码：
+ 700 行已完全转换
+ 200 行已部分转换
+ 100 行未转换

这 1000 行代码都会被处理，并全部计费。

### 改进转化
<a name="assembler-conversion-billing-conversion"></a>

作为客户，如果您寻求更高的代码行转化率或有其他特定要求，则可以联系销售 AWS 代表，以获取其他参与选项，例如校准工作或专业服务帮助。