XSLT에서 현재 날짜 시간 넣기 / XSLT Current Date and Time

SAP EAI에서는 XSLT Mapping을 많이 사용합니다

Mapping 이란 Source 와 Target System간의 데이터를 연결시켜주는 걸 의미합니다

아래 그림을 참고 하면 이해가 편하실겁니다


"SAP EAI(PI) Message Mapping"

다시 본론으로 들어와서, XSLT Mapping을 많이 사용하는 이유는

SAP EAI에서 주고 받는 데이터가 XML 형식으로 사용 되기 때문입니다

그런데, XSLT Mapping 사용 시 Target 특정 컬럼에 현재 날짜와 시간이 들어가야는 경우가 필요하실겁니다
(XSLT Date and Time)

아래와 같이 JAVA를 이용 한 쏘스를 사용하시면 됩니다 lol

1. 선언부분
xmlns:java="http://xml.apache.org/xslt/java" exclude-result-prefixes="java"

2. Target 특정 컬럼 부분

날짜 컬럼 : <xsl:value-of select="java:format(java:java.text.SimpleDateFormat.new('yyyyMMdd'), java:java.util.Date.new())" />

시간 컬럼 : <xsl:value-of select="java:format(java:java.text.SimpleDateFormat.new('HHmmss'), java:java.util.Date.new())" />

예시)

<?xml version="1.0" encoding="UTF-8"?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sap="http://www.sap.com/sapxsl" version="1.0"
xmlns:java="http://xml.apache.org/xslt/java" exclude-result-prefixes="java">

...

<INDATE> -> Target 날짜 컬럼
<xsl:value-of select="java:format(java:java.text.SimpleDateFormat.new('yyyyMMdd'), java:java.util.Date.new())" />
</INDATE>

<INTIME> -> Target 시간 컬럼
<xsl:value-of select="java:format(java:java.text.SimpleDateFormat.new('HHmmss'), java:java.util.Date.new())" />
</INTIME>

XSLT Mapping 사용 시 도움이 되면 좋겠네요 :P

감사합니다

이 블로그의 인기 게시물

우리집 인테리어 공개(광명 이편한세상 25평)

소노벨 비발디파크 맛집 바베큐단월620 "캠핑 감성"

SAP Netweaver Developer Studio with PI