SQL Script Snippets für Transformationen

SQL Script Snippets

Code Snippets für die Verwendung mit SQL Script AMDP (z.B. in Transformationen). Nützliche Snippets für ABAP Routinen finden Sie hier.

Durchschnitt berechnen

outTab =
SELECT calyear, calmonth, d_nw_prid__d_nw_prcat AS d_nw_prcat, d_nw_pcurr,
' ' AS recordmode, AVG (d_nw_gamt) AS "/BIC/ZBW_AVERG", ' ' AS record, ' ' AS SQL__PROCEDURE__SOURCE__RECORD
FROM :inTab
GROUP BY calyear, calmonth, d_nw_prid__d_nw_prcat, d_nw_pcurr;

Attribute ableiten

SELECT d_nw_prid__d_nw_prcat AS d_nw_prcat ...

Error Tab DUMMY

errorTab =
SELECT '' AS ERROR_TEXT,
'' AS SQL__PROCEDURE__SOURCE__RECORD
FROM DUMMY
WHERE DUMMY <> 'X';

Kurze Version von Error Tab


ERRORTAB= SELECT * FROM :ERRORTAB;

Kalenderjahr aus Kalendermonat

SELECT SUBSTRING(calmonth, 1, 4) AS calyear

Kalendermonat aus Fiskalmonat

outTab =
SELECT company, fiscper, fiscvarnt,
CASE
    WHEN SUBSTRING(fiscper,5,3) = 001 then  CONCAT(SUBSTRING(fiscper,1,4) - 1, SUBSTRING(fiscper,5,3) - 3 + 12)
    WHEN SUBSTRING(fiscper,5,3) = 002 then  CONCAT(SUBSTRING(fiscper,1,4) - 1, SUBSTRING(fiscper,5,3) - 3 + 12)
    WHEN SUBSTRING(fiscper,5,3) = 003 then  CONCAT(SUBSTRING(fiscper,1,4) - 1, SUBSTRING(fiscper,5,3) - 3 + 12)
    ELSE CONCAT(SUBSTRING(fiscper,1,5), SUBSTRING(fiscper,5,3) - 3)
END AS calmonth,
currency, recordmode, amount, record, SQL__PROCEDURE__SOURCE__RECORD
FROM :inTab;

Kalendermonat aus einem DSO nachlesen

Lookup DSO mit USING deklarieren.

METHOD PROCEDURE BY DATABASE PROCEDURE FOR HDB LANGUAGE SQLSCRIPT OPTIONS READ-ONLY USING /BIC/AZD006R0026.

outTab =
SELECT it.company, it.fiscper, it.fiscvarnt,
lookup.calmonth,
it.currency, it.recordmode, it.amount, it.record, it.sql__procedure__source__record
FROM :inTab as it
LEFT OUTER JOIN "/BIC/AZD006R0026" as lookup
ON it.fiscper = lookup.fiscper;

ERRORTAB= SELECT * FROM :ERRORTAB;

ENDMETHOD.
0 Kommentare

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.