Lesson 4 of 5
Content types: moving apps and integration content
10 min
SAP Cloud Transport Management transports content of different kinds, which SAP calls content types. The content type is chosen on each target node and tells the service how the import will be deployed. SAP's documentation lists four.
| Content type | What it is | Example at Contoso |
|---|---|---|
| Multitarget Application (MTA) | A .mtar archive moved between Cloud Foundry spaces in BTP subaccounts. Content created in some cloud applications is also packaged as MTA. | The fleet order status app; the Lakeside purchase order integration flow |
| BTP ABAP | A reference to ABAP objects in a Git repository (software component, commit, branch or tag), pulled into a target SAP BTP ABAP environment | A future warranty app built in the ABAP environment |
| Application Content | An archive in an application-specific format, deployable only if the target application's deployment service can handle it | Analytics or launchpad content |
| SAP HANA XS classic delivery units | Delivery units between SAP HANA instances assigned to cloud subaccounts | Not used; legacy |
Content types supported by SAP Cloud Transport Management.
Ways content enters the service
Content reaches the first node in one of three ways: directly from the application's design-time tool, uploaded from a continuous integration pipeline, or uploaded by hand from a local file system (which is why Allow Upload to Node exists). SAP's supported-content table lists, per service, whether transport can be triggered from the design-time tool, whether the SAP Content Agent service is used, and whether a pipeline upload is available. A few examples from that table: MTAs from Cloud Foundry Java, Node.js and HTML5 apps are transported as part of the application and can come from a pipeline; SAP Build Apps and SAP Build Process Automation projects are MTAs; SAP Analytics Cloud content network packages, SAP Build Work Zone content and SAP Datasphere packages are Application Content.
Integration content
SAP Cloud Integration content is packaged and transported as an MTA. In Cloud Foundry, the SAP Content Agent service assembles the integration content and exports it to the transport service, and transports can be started from the Cloud Integration interface once it is enabled for transport. One detail trips people up: when exporting through the Content Agent service, the name of the source node must match the source system ID set in the destination used for export, and it is case-sensitive.
- Change the integration flowIn the development Cloud Integration tenant, adjust the Lakeside purchase order flow
- Transport the packageStart the transport; the Content Agent service assembles an MTA
- Export to the source nodeThe MTA arrives at the source node, which must allow uploads and match the source system ID
- Import into testThe test node's destination deploys the content to the test Cloud Integration tenant
- Test end to endA purchase order from CMQ client 100 reaches the Lakeside test endpoint
- Forward and import into productionAfter sign-off, the same request moves to production
Reading import statuses
| Status | Meaning | What to do |
|---|---|---|
| Initial | Added to the node; import not started | Wait for the scheduled or manual import |
| Running | Import in progress | Monitor |
| Succeeded / Warning | Imported; warnings occurred for Warning | Read warnings, then test |
| Skipped | Intentionally skipped, for example on a virtual node; treated as success | Confirm it was expected |
| Error | Imported, but errors for one or more objects; partially imported. Reimporting the same content will not fix it. Excluded from Import All until reset. | Fix in development, export a new request; reset only for a deliberate retry |
| Fatal | Nothing imported, for example wrong destination or failed authentication, or a rollback | Fix the setup, then reimport; included in Import All |
| Repeatable | Was Error, Skipped or Succeeded and was manually reset to import again | Import deliberately, with a reason |
Import statuses in a node queue, as documented by SAP (abridged).
- Did anything get imported?No (Fatal) → fix the destination, authentication or target, then reimport · Yes → continue
- Did errors occur for some objects (Error)?Yes → read the log; if the content is at fault, fix it in development and export a new request · No → continue
- Were there only warnings (Warning)?Yes → read them, record why they are acceptable, then test · No → Succeeded or Skipped: test
Stage-specific configuration
The same archive must work in test and in production, yet some values differ by stage: URLs, destinations, memory sizes. For MTAs, SAP lets you upload MTA extension descriptors to a node so that stage-specific parameters are applied at import without changing the archive. Credentials are another matter: plan for them to be maintained in each target, not carried in the transported content. Priya's test cases include a check that the test import used the test values, and the production smoke test checks the production ones.
What would you do?
The Lakeside purchase order flow is imported into the test node with status Error. A colleague suggests resetting it and importing again. What is the right response?
- Content types: Multitarget Application, BTP ABAP references, Application Content, SAP HANA XS classic delivery units.
- Content enters from design-time tools, CI pipelines or manual upload.
- SAP Cloud Integration content travels as MTA, assembled by the SAP Content Agent service in Cloud Foundry.
- Error means a content problem (fix and re-export); Fatal means nothing was imported (fix setup, reimport).
- Use MTA extension descriptors for stage-specific parameters; manage credentials per target.
Check your understanding · not graded
Lesson check
1. How is SAP Cloud Integration content transported with CTMS?
2. What does a BTP ABAP content type carry?
3. Which status means a partial import caused by the content itself?
4. What are MTA extension descriptors used for?