Skip to content

/AWS1/IF_DMG=>STARTMETADATAMODELCREATION()

About StartMetadataModelCreation

Queues the creation of a metadata model in the source metadata tree. If other requests created by Start* operations are already in the migration project's queue, the creation begins after they complete.

This operation supports only Microsoft SQL Server to Aurora PostgreSQL and Microsoft SQL Server to Amazon RDS for PostgreSQL conversion paths.

To check the status of the creation request, call DescribeMetadataModelCreations using the returned RequestIdentifier as a filter.

To cancel a queued or in-progress request, call CancelMetadataModelCreation with the returned RequestIdentifier.

Calling StartMetadataModelImport with Refresh deletes metadata models created by this operation.

After the creation completes successfully:

Required permissions: dms:StartMetadataModelCreation. For more information, see Actions, resources, and condition keys for Database Migration Service.

Method Signature

METHODS /AWS1/IF_DMG~STARTMETADATAMODELCREATION
  IMPORTING
    !IV_MIGRATIONPROJECTID TYPE /AWS1/DMGMIGRATIONPROJECTID OPTIONAL
    !IV_SELECTIONRULES TYPE /AWS1/DMGSTRING OPTIONAL
    !IV_METADATAMODELNAME TYPE /AWS1/DMGSTRING OPTIONAL
    !IO_PROPERTIES TYPE REF TO /AWS1/CL_DMGMETADATAMODELPROPS OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_dmgstrtmetmdelcreat01
  RAISING
    /AWS1/CX_DMGACCESSDENIEDFAULT
    /AWS1/CX_DMGRESRCALRDYEXFAULT
    /AWS1/CX_DMGRESRCNOTFOUNDFAULT
    /AWS1/CX_DMGRESRCQUOTAEXCDFA00
    /AWS1/CX_DMGCLIENTEXC
    /AWS1/CX_DMGSERVEREXC
    /AWS1/CX_RT_TECHNICAL_GENERIC
    /AWS1/CX_RT_SERVICE_GENERIC.

IMPORTING

Required arguments:

iv_migrationprojectid TYPE /AWS1/DMGMIGRATIONPROJECTID /AWS1/DMGMIGRATIONPROJECTID

The migration project name or Amazon Resource Name (ARN).

iv_selectionrules TYPE /AWS1/DMGSTRING /AWS1/DMGSTRING

A JSON string that identifies the source schema for the metadata model. For the selection rule format and examples, see Selection rules in DMS Schema Conversion.

Usage:

  • Accepts only source selection rules, where server-name in the object locator matches the source data provider.

  • Supports only explicit rule actions.

  • Exactly one rule is allowed.

iv_metadatamodelname TYPE /AWS1/DMGSTRING /AWS1/DMGSTRING

The name for the metadata model to use in subsequent operations.

io_properties TYPE REF TO /AWS1/CL_DMGMETADATAMODELPROPS /AWS1/CL_DMGMETADATAMODELPROPS

The properties of the metadata model.

RETURNING

oo_output TYPE REF TO /aws1/cl_dmgstrtmetmdelcreat01 /AWS1/CL_DMGSTRTMETMDELCREAT01

Examples

Syntax Example

This is an example of the syntax for calling the method. It includes every possible argument and initializes every possible value. The data provided is not necessarily semantically accurate (for example the value "string" may be provided for something that is intended to be an instance ID, or in some cases two arguments may be mutually exclusive). The syntax shows the ABAP syntax for creating the various data structures.

DATA(lo_result) = lo_client->startmetadatamodelcreation(
  io_properties = new /aws1/cl_dmgmetadatamodelprops( new /aws1/cl_dmgstatementprops( |string| ) )
  iv_metadatamodelname = |string|
  iv_migrationprojectid = |string|
  iv_selectionrules = |string|
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lv_string = lo_result->get_requestidentifier( ).
ENDIF.

Create a metadata model for a SQL statement

The following example queues the creation of a metadata model for a SQL statement. The selection rule specifies the schema where the metadata model is placed, and MetadataModelName provides a unique identifier for use in subsequent operations.

DATA(lo_result) = lo_client->startmetadatamodelcreation(
  io_properties = new /aws1/cl_dmgmetadatamodelprops( new /aws1/cl_dmgstatementprops( |SELECT * FROM ExampleTable;| ) )
  iv_metadatamodelname = |ExampleStatement|
  iv_migrationprojectid = |arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS|
  iv_selectionrules = |{"rules": [{"rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": {"server-name": "example-source-server.us-east-1.rds.amazonaws.com", "database-name": "ExampleDatabase", "schema-name": "ExampleSchema"}, "rule-action": "explicit"}]}|
).