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 ein 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.