/AWS1/IF_APF=>CREATEFLOW()¶
About CreateFlow¶
Enables your application to create a new flow using Amazon AppFlow. You must create a connector profile before calling this API. Please note that the Request Syntax below shows syntax for multiple destinations, however, you can only transfer data to one item in this list at a time. Amazon AppFlow does not currently support flows to multiple destinations at once.
Method Signature¶
METHODS /AWS1/IF_APF~CREATEFLOW
IMPORTING
!IV_FLOWNAME TYPE /AWS1/APFFLOWNAME OPTIONAL
!IV_DESCRIPTION TYPE /AWS1/APFFLOWDESCRIPTION OPTIONAL
!IV_KMSARN TYPE /AWS1/APFKMSARN OPTIONAL
!IO_TRIGGERCONFIG TYPE REF TO /AWS1/CL_APFTRIGGERCONFIG OPTIONAL
!IO_SOURCEFLOWCONFIG TYPE REF TO /AWS1/CL_APFSOURCEFLOWCONFIG OPTIONAL
!IT_DESTINATIONFLOWCONFIGLIST TYPE /AWS1/CL_APFDSTFLOWCONFIG=>TT_DESTINATIONFLOWCONFIGLIST OPTIONAL
!IT_TASKS TYPE /AWS1/CL_APFTASK=>TT_TASKS OPTIONAL
!IT_TAGS TYPE /AWS1/CL_APFTAGMAP_W=>TT_TAGMAP OPTIONAL
!IO_METADATACATALOGCONFIG TYPE REF TO /AWS1/CL_APFMETCATALOGCONFIG OPTIONAL
!IV_CLIENTTOKEN TYPE /AWS1/APFCLIENTTOKEN OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_apfcreateflowresponse
RAISING
/AWS1/CX_APFACCESSDENIEDEX
/AWS1/CX_APFCONFLICTEXCEPTION
/AWS1/CX_APFCNCTORAUTHNTCTNEX
/AWS1/CX_APFCONNECTORSERVEREX
/AWS1/CX_APFINTERNALSERVEREX
/AWS1/CX_APFRESOURCENOTFOUNDEX
/AWS1/CX_APFSERVICEQUOTAEXCDEX
/AWS1/CX_APFVALIDATIONEX
/AWS1/CX_APFCLIENTEXC
/AWS1/CX_APFSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_flowname TYPE /AWS1/APFFLOWNAME /AWS1/APFFLOWNAME¶
The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.
io_triggerconfig TYPE REF TO /AWS1/CL_APFTRIGGERCONFIG /AWS1/CL_APFTRIGGERCONFIG¶
The trigger settings that determine how and when the flow runs.
io_sourceflowconfig TYPE REF TO /AWS1/CL_APFSOURCEFLOWCONFIG /AWS1/CL_APFSOURCEFLOWCONFIG¶
The configuration that controls how Amazon AppFlow retrieves data from the source connector.
it_destinationflowconfiglist TYPE /AWS1/CL_APFDSTFLOWCONFIG=>TT_DESTINATIONFLOWCONFIGLIST TT_DESTINATIONFLOWCONFIGLIST¶
The configuration that controls how Amazon AppFlow places data in the destination connector.
it_tasks TYPE /AWS1/CL_APFTASK=>TT_TASKS TT_TASKS¶
A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.
Optional arguments:¶
iv_description TYPE /AWS1/APFFLOWDESCRIPTION /AWS1/APFFLOWDESCRIPTION¶
A description of the flow you want to create.
iv_kmsarn TYPE /AWS1/APFKMSARN /AWS1/APFKMSARN¶
The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.
it_tags TYPE /AWS1/CL_APFTAGMAP_W=>TT_TAGMAP TT_TAGMAP¶
The tags used to organize, track, or control access for your flow.
io_metadatacatalogconfig TYPE REF TO /AWS1/CL_APFMETCATALOGCONFIG /AWS1/CL_APFMETCATALOGCONFIG¶
Specifies the configuration that Amazon AppFlow uses when it catalogs the data that's transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog.
iv_clienttoken TYPE /AWS1/APFCLIENTTOKEN /AWS1/APFCLIENTTOKEN¶
The
clientTokenparameter is an idempotency token. It ensures that yourCreateFlowrequest completes only once. You choose the value to pass. For example, if you don't receive a response from your request, you can safely retry the request with the sameclientTokenparameter value.If you omit a
clientTokenvalue, the Amazon Web Services SDK that you are using inserts a value for you. This way, the SDK can safely retry requests multiple times after a network error. You must provide your own value for other use cases.If you specify input parameters that differ from your first request, an error occurs. If you use a different value for
clientToken, Amazon AppFlow considers it a new call toCreateFlow. The token is active for 8 hours.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_apfcreateflowresponse /AWS1/CL_APFCREATEFLOWRESPONSE¶
Domain /AWS1/RT_ACCOUNT_ID Primitive Type NUMC
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->createflow(
io_metadatacatalogconfig = new /aws1/cl_apfmetcatalogconfig(
io_gluedatacatalog = new /aws1/cl_apfgluedatacatalogcfg(
iv_databasename = |string|
iv_rolearn = |string|
iv_tableprefix = |string|
)
)
io_sourceflowconfig = new /aws1/cl_apfsourceflowconfig(
io_incrementalpullconfig = new /aws1/cl_apfincrementalpullcfg( |string| )
io_sourceconnectorproperties = new /aws1/cl_apfsourcecnctorprps(
io_amplitude = new /aws1/cl_apfamplitudesrcprps( |string| )
io_customconnector = new /aws1/cl_apfcustcnctorsrcprps(
io_datatransferapi = new /aws1/cl_apfdatatransferapi(
iv_name = |string|
iv_type = |string|
)
it_customproperties = VALUE /aws1/cl_apfcustomproperties_w=>tt_customproperties(
(
VALUE /aws1/cl_apfcustomproperties_w=>ts_customproperties_maprow(
key = |string|
value = new /aws1/cl_apfcustomproperties_w( |string| )
)
)
)
iv_entityname = |string|
)
io_datadog = new /aws1/cl_apfdatadogsourceprps( |string| )
io_dynatrace = new /aws1/cl_apfdynatracesrcprps( |string| )
io_googleanalytics = new /aws1/cl_apfgooglealyssrcprps( |string| )
io_infornexus = new /aws1/cl_apfinfornexussrcprps( |string| )
io_marketo = new /aws1/cl_apfmarketosourceprps( |string| )
io_pardot = new /aws1/cl_apfpardotsourceprps( |string| )
io_s3 = new /aws1/cl_apfs3sourceproperties(
io_s3inputformatconfig = new /aws1/cl_apfs3inputformatcfg( |string| )
iv_bucketname = |string|
iv_bucketprefix = |string|
)
io_salesforce = new /aws1/cl_apfsalesforcesrcprps(
iv_datatransferapi = |string|
iv_enabledynamicfieldupdate = ABAP_TRUE
iv_includedeletedrecords = ABAP_TRUE
iv_object = |string|
)
io_sapodata = new /aws1/cl_apfsapodatasourceprps(
io_paginationconfig = new /aws1/cl_apfsapodatapaginati00( 123 )
io_parallelismconfig = new /aws1/cl_apfsapodataparallel00( 123 )
iv_objectpath = |string|
)
io_servicenow = new /aws1/cl_apfsvcnowsourceprps( |string| )
io_singular = new /aws1/cl_apfsingularsourceprps( |string| )
io_slack = new /aws1/cl_apfslacksourceprps( |string| )
io_trendmicro = new /aws1/cl_apftrendmicrosrcprps( |string| )
io_veeva = new /aws1/cl_apfveevasourceprps(
iv_documenttype = |string|
iv_includeallversions = ABAP_TRUE
iv_includerenditions = ABAP_TRUE
iv_includesourcefiles = ABAP_TRUE
iv_object = |string|
)
io_zendesk = new /aws1/cl_apfzendesksourceprps( |string| )
)
iv_apiversion = |string|
iv_connectorprofilename = |string|
iv_connectortype = |string|
)
io_triggerconfig = new /aws1/cl_apftriggerconfig(
io_triggerproperties = new /aws1/cl_apftriggerproperties(
io_scheduled = new /aws1/cl_apfschddtriggerprps(
iv_datapullmode = |string|
iv_firstexecutionfrom = '20150101000000.0000000'
iv_flowerrordeactthreshold = 123
iv_scheduleendtime = '20150101000000.0000000'
iv_scheduleexpression = |string|
iv_scheduleoffset = 123
iv_schedulestarttime = '20150101000000.0000000'
iv_timezone = |string|
)
)
iv_triggertype = |string|
)
it_destinationflowconfiglist = VALUE /aws1/cl_apfdstflowconfig=>tt_destinationflowconfiglist(
(
new /aws1/cl_apfdstflowconfig(
io_dstconnectorproperties = new /aws1/cl_apfdstconnectorprps(
io_customconnector = new /aws1/cl_apfcustcnctordstprps(
io_errorhandlingconfig = new /aws1/cl_apferrorhandlingcfg(
iv_bucketname = |string|
iv_bucketprefix = |string|
iv_failonfirstdsterror = ABAP_TRUE
)
it_customproperties = VALUE /aws1/cl_apfcustomproperties_w=>tt_customproperties(
(
VALUE /aws1/cl_apfcustomproperties_w=>ts_customproperties_maprow(
key = |string|
value = new /aws1/cl_apfcustomproperties_w( |string| )
)
)
)
it_idfieldnames = VALUE /aws1/cl_apfidfieldnamelist_w=>tt_idfieldnamelist(
( new /aws1/cl_apfidfieldnamelist_w( |string| ) )
)
iv_entityname = |string|
iv_writeoperationtype = |string|
)
io_customerprofiles = new /aws1/cl_apfcusprofilesdstprps(
iv_domainname = |string|
iv_objecttypename = |string|
)
io_eventbridge = new /aws1/cl_apfeventbridgedstprps(
io_errorhandlingconfig = new /aws1/cl_apferrorhandlingcfg(
iv_bucketname = |string|
iv_bucketprefix = |string|
iv_failonfirstdsterror = ABAP_TRUE
)
iv_object = |string|
)
io_honeycode = new /aws1/cl_apfhoneycodedstprps(
io_errorhandlingconfig = new /aws1/cl_apferrorhandlingcfg(
iv_bucketname = |string|
iv_bucketprefix = |string|
iv_failonfirstdsterror = ABAP_TRUE
)
iv_object = |string|
)
io_lookoutmetrics = new /aws1/cl_apflookoutmetdstprps( )
io_marketo = new /aws1/cl_apfmarketodstprps(
io_errorhandlingconfig = new /aws1/cl_apferrorhandlingcfg(
iv_bucketname = |string|
iv_bucketprefix = |string|
iv_failonfirstdsterror = ABAP_TRUE
)
iv_object = |string|
)
io_redshift = new /aws1/cl_apfredshiftdstprps(
io_errorhandlingconfig = new /aws1/cl_apferrorhandlingcfg(
iv_bucketname = |string|
iv_bucketprefix = |string|
iv_failonfirstdsterror = ABAP_TRUE
)
iv_bucketprefix = |string|
iv_intermediatebucketname = |string|
iv_object = |string|
)
io_s3 = new /aws1/cl_apfs3dstproperties(
io_s3outputformatconfig = new /aws1/cl_apfs3outputformatcfg(
io_aggregationconfig = new /aws1/cl_apfaggregationconfig(
iv_aggregationtype = |string|
iv_targetfilesize = 123
)
io_prefixconfig = new /aws1/cl_apfprefixconfig(
it_pathprefixhierarchy = VALUE /aws1/cl_apfpathprefixhierar00=>tt_pathprefixhierarchy(
( new /aws1/cl_apfpathprefixhierar00( |string| ) )
)
iv_prefixformat = |string|
iv_prefixtype = |string|
)
iv_filetype = |string|
iv_preservesourcedatatyping = ABAP_TRUE
)
iv_bucketname = |string|
iv_bucketprefix = |string|
)
io_salesforce = new /aws1/cl_apfsalesforcedstprps(
io_errorhandlingconfig = new /aws1/cl_apferrorhandlingcfg(
iv_bucketname = |string|
iv_bucketprefix = |string|
iv_failonfirstdsterror = ABAP_TRUE
)
it_idfieldnames = VALUE /aws1/cl_apfidfieldnamelist_w=>tt_idfieldnamelist(
( new /aws1/cl_apfidfieldnamelist_w( |string| ) )
)
iv_datatransferapi = |string|
iv_object = |string|
iv_writeoperationtype = |string|
)
io_sapodata = new /aws1/cl_apfsapodatadstprps(
io_errorhandlingconfig = new /aws1/cl_apferrorhandlingcfg(
iv_bucketname = |string|
iv_bucketprefix = |string|
iv_failonfirstdsterror = ABAP_TRUE
)
io_successrsphandlingconfig = new /aws1/cl_apfsuccrsphandlingcfg(
iv_bucketname = |string|
iv_bucketprefix = |string|
)
it_idfieldnames = VALUE /aws1/cl_apfidfieldnamelist_w=>tt_idfieldnamelist(
( new /aws1/cl_apfidfieldnamelist_w( |string| ) )
)
iv_objectpath = |string|
iv_writeoperationtype = |string|
)
io_snowflake = new /aws1/cl_apfsnowflakedstprps(
io_errorhandlingconfig = new /aws1/cl_apferrorhandlingcfg(
iv_bucketname = |string|
iv_bucketprefix = |string|
iv_failonfirstdsterror = ABAP_TRUE
)
iv_bucketprefix = |string|
iv_intermediatebucketname = |string|
iv_object = |string|
)
io_upsolver = new /aws1/cl_apfupsolverdstprps(
io_s3outputformatconfig = new /aws1/cl_apfupsolvers3outfmt00(
io_aggregationconfig = new /aws1/cl_apfaggregationconfig(
iv_aggregationtype = |string|
iv_targetfilesize = 123
)
io_prefixconfig = new /aws1/cl_apfprefixconfig(
it_pathprefixhierarchy = VALUE /aws1/cl_apfpathprefixhierar00=>tt_pathprefixhierarchy(
( new /aws1/cl_apfpathprefixhierar00( |string| ) )
)
iv_prefixformat = |string|
iv_prefixtype = |string|
)
iv_filetype = |string|
)
iv_bucketname = |string|
iv_bucketprefix = |string|
)
io_zendesk = new /aws1/cl_apfzendeskdstprps(
io_errorhandlingconfig = new /aws1/cl_apferrorhandlingcfg(
iv_bucketname = |string|
iv_bucketprefix = |string|
iv_failonfirstdsterror = ABAP_TRUE
)
it_idfieldnames = VALUE /aws1/cl_apfidfieldnamelist_w=>tt_idfieldnamelist(
( new /aws1/cl_apfidfieldnamelist_w( |string| ) )
)
iv_object = |string|
iv_writeoperationtype = |string|
)
)
iv_apiversion = |string|
iv_connectorprofilename = |string|
iv_connectortype = |string|
)
)
)
it_tags = VALUE /aws1/cl_apftagmap_w=>tt_tagmap(
(
VALUE /aws1/cl_apftagmap_w=>ts_tagmap_maprow(
value = new /aws1/cl_apftagmap_w( |string| )
key = |string|
)
)
)
it_tasks = VALUE /aws1/cl_apftask=>tt_tasks(
(
new /aws1/cl_apftask(
io_connectoroperator = new /aws1/cl_apfconnectoroperator(
iv_amplitude = |string|
iv_customconnector = |string|
iv_datadog = |string|
iv_dynatrace = |string|
iv_googleanalytics = |string|
iv_infornexus = |string|
iv_marketo = |string|
iv_pardot = |string|
iv_s3 = |string|
iv_salesforce = |string|
iv_sapodata = |string|
iv_servicenow = |string|
iv_singular = |string|
iv_slack = |string|
iv_trendmicro = |string|
iv_veeva = |string|
iv_zendesk = |string|
)
it_sourcefields = VALUE /aws1/cl_apfsourcefields_w=>tt_sourcefields(
( new /aws1/cl_apfsourcefields_w( |string| ) )
)
it_taskproperties = VALUE /aws1/cl_apftaskprpsmap_w=>tt_taskpropertiesmap(
(
VALUE /aws1/cl_apftaskprpsmap_w=>ts_taskpropertiesmap_maprow(
key = |string|
value = new /aws1/cl_apftaskprpsmap_w( |string| )
)
)
)
iv_destinationfield = |string|
iv_tasktype = |string|
)
)
)
iv_clienttoken = |string|
iv_description = |string|
iv_flowname = |string|
iv_kmsarn = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lv_flowarn = lo_result->get_flowarn( ).
lv_flowstatus = lo_result->get_flowstatus( ).
ENDIF.