Přeskočit na hlavní obsah

Code Composer v akci

Code Composer je oficiálně veden jen pro interní potřeby SAP a na ostatní použití v zákaznickém vývoji SAP SE neposkytuje podporu. O tom, jak použít Code Composer v ABAP, není v dokumentaci příliš mnoho. Paket SCCMP vidíme označen popisem "SAP INTERNAL USAGE: Code Composer" (SAP_BASIS rel.754).

Nástroj Code Composer reprezentují především třída CL_CMP_COMPOSER (ABAP Objects) a editor šablon v Object Navigator (SE80).

Umí generovat jakékoli texty, vždy na základě šablony napsané v ABAP programu, nebo uložené v jiném repository.

Šablony obvykle zakládáme v ABAP Workbench navigátoru (SE80)
Šablony obvykle zakládáme v ABAP Workbench navigátoru (SE80)

Podporu pro šablony Code Composer máme i v abapGit.

Jsme crazy vývojáři, pustíme se do toho. Následuje první ukázka, kterak tento užitečný interní nástroj použít.

@area html_body
<body>
<p>Následující přehled kódů nových léčiv byl vygenerován v systému $header-sysid$/$header-mandt$ a zaslán na rozdělovník: $header-dlist_string$</p>

  @table $material_list$ @line $material$
    @first
<table border="1">
<tr><th>Léčivo</th><th>Závod</th><th>Kód 1</th><th>Kód 2</th><th>Kód 3</th></tr>

    @body
<tr>
  <td>$material-matnr\l$ $material-date\w$</td>
  <td>$material-werks\u$
@if $material-werks+3(1)$ 3
\ (zkušební)
@end
\</td>
  <td>$material-no1$</td>
  <td>$material-no2\w$</td>
  <td>$material-no3$</td>
</tr>

    @last
</table>
    @end

</body>
@end 

Takto vypadá ukázka CC šablony, v ABAP kódu voláme metodu BUILD_CODE_DIRECT třídy CL_CMP_COMPOSER.

Základ v konstrukci většiny šablon tvoří bloky @area, formátování proměnných, v některých případech vzory složitých řádků a prostřednictvím @table průchod ABAP interní tabulkou.

Komentáře