Archive for Funkční moduly

Generátor náhodných čísel

Někdy může být potřeba generovat náhodné číslo v určitém intervalu. V prostředí ABAP se pro ten účel bude hodit funkce QF05_RANDOM_INTEGER
není třeba složitých deklarací. Definujeme nejprce proměnné nejvyšší a nejnižší hodnoty intervalu p_larg a p_small. Následně proměnným přiřadíme hodnoty. Zavoláme funční modul QF05_RANDOM_INTEGER a nakonec vypíšeme výsledek d_result na obrazovku.
» Read more..

Konverzní rutina

Konverzní rutina CONVERSION_EXIT_ALPHA dokáže upravit znakový řetězec o počáteční nuly. Můžeme je přidat, nebo naopak odebrat. Toto se náramně hodí pro případ, že Vám zlobí výběr pomocí příkazu select. Většinou jde o problém, že máte vstupní parametr číslo materiálu 123456 (celkem 6 znaků) ale select očekává 18 znaků včetně počátečních nul 000000000000123456. Případně naopak.
přidáváme počáteční nuly

REPORT ZCONV.

data: par1(10),

par2(10).

par1 = '123456'.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

INPUT = par1.

IMPORTING

OUTPUT = par2.

write: / par1.

write: / par2.

pokud chceme obráceně nuly odebrat pozměníme kod programu

REPORT ZCONV.

data: par1(10),

par2(10).

par1 = '0000123456'.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'

EXPORTING

INPUT = par1.

IMPORTING

OUTPUT = par2.

write: / par1.

write: / par2.

Použití konverzní rutiny též odstraní většinu problémů při použití funkčních modulů.

Jednoduchý 3D graf

Pokud potřebujete rychle zobrazit data ze sestavy (data uložena v intrení tabulce) pomocí grafu, není snadnější cesta než použít funkční modul GRAPH_MATRIX_3D. Potřebujete pouze vybrat data, načíst do tabulky a další už za vás provede funkční modul.

REPORT ZGRAF.
DATA: BEGIN OF ITAB_DATA OCCURS 0,
DATANAME(15),
QUANTITY1 TYPEI,
QUANTITY2 TYPE I,
QUANTITY3 TYPE I,
END OF ITAB_DATA.


BEGIN OF ITAB_OPTIONS OCCURS 0,
OPTION(20),
END OF ITAB_OPTIONS.


ITAB_DATA-DATANAME = 'zakazky'.
ITAB_DATA-QUANTITY1 = 155.
ITAB_DATA-QUANTITY2 = 262.
ITAB_DATA-QUANTITY3 = 359.
APPEND ITAB_DATA.
ITAB_DATA-DATANAME = 'Trzby'.
ITAB_DATA-QUANTITY1 = 135.
ITAB_DATA-QUANTITY2 = 152.
ITAB_DATA-QUANTITY3 = 424.
APPEND ITAB_DATA.


ITAB_DATA-DATANAME = 'Naklady'.
ITAB_DATA-QUANTITY1 = 110.
ITAB_DATA-QUANTITY2 = 145.
ITAB_DATA-QUANTITY3 = 360.
APPEND ITAB_DATA.
CALL FUNCTION 'GRAPH_MATRIX_3D'
EXPORTING
COL1 = '01.09'
COL2 = '02.09'
COL3 = '03.09'
TITL = 'Prehled zakazek a trzeb v KC'
TABLES
DATA = ITAB_DATA
OPTS = ITAB_OPTIONS
EXCEPTIONS
OTHERS = 1.

„Bůh stvořil člověka, ale nedal si to patentovat, a tak to teď po něm může dělat kdejakej blbec.“ Jan Werich