心情很差,泥總把表妹微信給冰冰了,心塞。。。微信
1.簡單的單層結構:app
<?sap.transform simple?> <tt:transform xmlns:tt="http://www.sap.com/transformation-templates"> <tt:root name="ROOT"/> <tt:template> <result> <error> <tt:value ref="ROOT.error"/> </error> <message> <tt:value ref="ROOT.message"/> </message> </result> </tt:template> </tt:transform>
2.簡單的表結構:oop
<?sap.transform simple?> <tt:transform xmlns:tt="http://www.sap.com/transformation-templates"> <tt:root name="ROOT"/> <tt:template> <Repairs> <tt:loop name="I" ref="ROOT"> <Request> <Id> <tt:value ref="$I.ZID"/> </Id> <ProductName> <tt:value ref="$I.ZPRODUCT"/> </ProductName> <BrandName> <tt:value ref="$I.ZBRAND"/> </BrandName> <StoreName> <tt:value ref="$I.ZSTNAME"/> </StoreName> <RepairerName> <tt:value ref="$I.ZREPNAME"/> </RepairerName> <Created> <tt:value ref="$I.ZCREATED"/> </Created> <Updated> <tt:value ref="$I.ZUPDATED"/> </Updated> <StatusCode> <tt:value ref="$I.ZSTATUS"/> </StatusCode> <StatusText> <tt:value ref="$I.ZSTATUST"/> </StatusText> <Overdue> <tt:value ref="$I.ZOVERDUE"/> </Overdue> </Request> </tt:loop> </Repairs> </tt:template> </tt:transform>
3.既有結構又有表:spa
<?sap.transform simple?> <tt:transform xmlns:tt="http://www.sap.com/transformation-templates"> <tt:root name="OUTPUT"/> <tt:template> <TX> <REQUEST_SN> <tt:value ref="OUTPUT.REQUEST_SN"/> </REQUEST_SN> <CUST_ID> <tt:value ref="OUTPUT.CUST_ID"/> </CUST_ID> <TX_CODE> <tt:value ref="OUTPUT.TX_CODE"/> </TX_CODE> <RETURN_CODE> <tt:value ref="OUTPUT.RETURN_CODE"/> </RETURN_CODE> <RETURN_MSG> <tt:value ref="OUTPUT.RETURN_MSG"/> </RETURN_MSG> <LANGUAGES> <tt:value ref="OUTPUT.LANGUAGES"/> </LANGUAGES> <TX_INFO> <ACCNO1> <tt:value ref="OUTPUT.TX_INFO.ACCNO1"/> </ACCNO1> <CURR_COD> <tt:value ref="OUTPUT.TX_INFO.CURR_COD"/> </CURR_COD> <ACC_NAME> <tt:value ref="OUTPUT.TX_INFO.ACC_NAME"/> </ACC_NAME> <ACC_ORGAN> <tt:value ref="OUTPUT.TX_INFO.ACC_ORGAN"/> </ACC_ORGAN> <ACC_STATE> <tt:value ref="OUTPUT.TX_INFO.ACC_STATE"/> </ACC_STATE> <INTR> <tt:value ref="OUTPUT.TX_INFO.INTR"/> </INTR> <TOTAL_PAGE> <tt:value ref="OUTPUT.TX_INFO.TOTAL_PAGE"/> </TOTAL_PAGE> <PAGE> <tt:value ref="OUTPUT.TX_INFO.PAGE"/> </PAGE> <POSTSTR> <tt:value ref="OUTPUT.TX_INFO.POSTSTR"/> </POSTSTR> <FLAG> <tt:value ref="OUTPUT.TX_INFO.FLAG"/> </FLAG> <FILE_LOCSTR> <tt:value ref="OUTPUT.TX_INFO.FILE_LOCSTR"/> </FILE_LOCSTR> <DETAILLIST> <tt:loop name="I" ref="OUTPUT.TX_INFO.DETAILLIST.DETAILINFO"> <DETAILINFO> <TRANDATE> <tt:value ref="$I.TRANDATE"/> </TRANDATE> <TRANTIME> <tt:value ref="$I.TRANTIME"/> </TRANTIME> <CRE_TYP> <tt:value ref="$I.CRE_TYP"/> </CRE_TYP> <CRE_NO> <tt:value ref="$I.CRE_NO"/> </CRE_NO> <MESSAGE> <tt:value ref="$I.MESSAGE"/> </MESSAGE> <AMT> <tt:value ref="$I.AMT"/> </AMT> <AMT1> <tt:value ref="$I.AMT1"/> </AMT1> <FLAG1> <tt:value ref="$I.FLAG1 "/> </FLAG1> <ACCNO2> <tt:value ref="$I.ACCNO2"/> </ACCNO2> <ACC_NAME1> <tt:value ref="$I.ACC_NAME1"/> </ACC_NAME1> <FLAG2> <tt:value ref="$I.FLAG2"/> </FLAG2> <TRAN_FLOW> <tt:value ref="$I.TRAN_FLOW"/> </TRAN_FLOW> <BFLOW> <tt:value ref="$I.BFLOW"/> </BFLOW> <DET_NO> <tt:value ref="$I.DET_NO"/> </DET_NO> <DET> <tt:value ref="$I.DET"/> </DET> <REAL_TRANDATE> <tt:value ref="$I.REAL_TRANDATE"/> </REAL_TRANDATE> <RLTV_ACCNO> <tt:value ref="$I.RLTV_ACCNO"/> </RLTV_ACCNO> <CADBank_Nm> <tt:value ref="$I.CADBank_Nm"/> </CADBank_Nm> <Ovrlsttn_Trck_No> <tt:value ref="$I.Ovrlsttn_Trck_No"/> </Ovrlsttn_Trck_No> <ExoStm_Py_Rmrk> <tt:value ref="$I.ExoStm_Py_Rmrk"/> </ExoStm_Py_Rmrk> </DETAILINFO> </tt:loop> </DETAILLIST> </TX_INFO> </TX> </tt:template> </tt:transform>
下面就簡單說說Strans的簡單轉換:code
1.ROOT,這是轉換的根節點,開始節點,程序到這就執行轉換開始了,後面跟的NAME是對應外面的返回結構名字:好比第三個,外面調用就須要:orm
CALL TRANSFORMATION z_ccb_detail_return SOURCE XML iv_response_message_xstring RESULT output = ls_resp_mapping_result_data.
把結果返給節點output對應的參數結構。xml
2.template這個是沒有實際節點的,在簡單轉換裏都是自動生成的,表示模板結構。blog
3.後面開始帶標籤的字段了,注意結構層次,要對應到XML的結構層次,好比第一個:就是RESULT結構名,而後帶兩個字段。string
結構第一級節點,用ROOT的名字.字段名。這表示這是第一級節點,會直接默認到第一級結構對應的字段。io
若是第二級仍是結構,那麼第一級的名字做爲標籤,第二級以第一級的標籤爲前綴,加上.加上字段名。
若是有循環的表結構,這時候須要以表名做爲標籤字段。而後加上loop循環,由於通常到循環已是深結構了,因此會作個映射。如3.