summaryrefslogtreecommitdiff
path: root/public/wsdl/IF_ECC_EVCP_PR_INFORMATION.wsdl
blob: 705c10bb2d7f854338ad500cd1e6b8b302a53ecd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
<?xml version="1.0" encoding="UTF-8"?>
<!-- WSDL: eVCP 개발서버(60.101.108.100) <> S-ERP ECC PR 정보 인터페이스 -->
<!-- Program ID: IF_ECC_EVCP_PR_INFORMATION -->
<!-- 인터페이스 정의서의 필드명을 그대로 사용했습니다 (동일하게 스키마 구성 예정) -->
<wsdl:definitions name="IF_ECC_EVCP_PR_INFORMATION" targetNamespace="http://60.101.108.100/"
  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
  xmlns:tns="http://60.101.108.100/"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema">

  <!-- 1) 데이터 타입(XSD) 정의 -->
  <wsdl:types>
    <xsd:schema attributeFormDefault="unqualified" elementFormDefault="unqualified"
      targetNamespace="http://60.101.108.100/"
      xmlns:xs="http://www.w3.org/2001/XMLSchema"
      xmlns:tns="http://60.101.108.100/">

      <!-- 1.1) 최상위 Request 복합타입 -->
      <xs:complexType name="IF_ECC_EVCP_PR_INFORMATIONReq">
        <xs:sequence>
          <!-- SEQ:1, Table:, Field:CHG_GB, M/O:M, Type:VARCHAR, Size:1, Description:"C: 생성, D: 삭제(PR 삭제된 경우)" -->
          <xs:element name="CHG_GB" type="xs:string"/>
          <!-- Header 레코드 집합 -->
          <xs:element name="T_BID_HEADER" type="tns:T_BID_HEADER" maxOccurs="unbounded" minOccurs="0"/>
          <!-- Item  레코드 집합 -->
          <xs:element name="T_BID_ITEM"   type="tns:T_BID_ITEM"   maxOccurs="unbounded" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>

      <!-- 1.2) Header 테이블 구조 (SEQ 1~8) -->
      <xs:complexType name="T_BID_HEADER">
        <xs:sequence>
          <!-- SEQ:2, Table:T_BID_HEADER, Field:ANFNR, M/O:M, Type:VARCHAR, Size:10, Description:Bidding/RFQ Number -->
          <xs:element name="ANFNR"         type="xs:string"/>
          <!-- SEQ:3, Table:T_BID_HEADER, Field:WERKS, M/O:, Type:VARCHAR, Size:4, Description:Plant -->
          <xs:element name="WERKS"         type="xs:string" minOccurs="0"/>
          <!-- SEQ:4, Table:T_BID_HEADER, Field:EKORG, M/O:, Type:VARCHAR, Size:4, Description:Purchasing Organization -->
          <xs:element name="EKORG"         type="xs:string" minOccurs="0"/>
          <!-- SEQ:5, Table:T_BID_HEADER, Field:EKGRP, M/O:, Type:VARCHAR, Size:3, Description:Purchaing Group -->
          <xs:element name="EKGRP"         type="xs:string" minOccurs="0"/>
          <!-- SEQ:6, Table:T_BID_HEADER, Field:ZBSART, M/O:M, Type:VARCHAR, Size:2, Description:Bidding:AB, RFQ: AN -->
          <xs:element name="ZBSART"        type="xs:string"/>
          <!-- SEQ:7, Table:T_BID_HEADER, Field:ZRFQ_TRS_DT, M/O:, Type:VARCHAR, Size:8, Description:Date on Creating Bidding -->
          <xs:element name="ZRFQ_TRS_DT"   type="xs:string" minOccurs="0"/>
          <!-- SEQ:8, Table:T_BID_HEADER, Field:ZRFQ_TRS_TM, M/O:, Type:VARCHAR, Size:6, Description:Time of Creating Bidding -->
          <xs:element name="ZRFQ_TRS_TM"   type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>

      <!-- 1.3) Item 테이블 구조 (SEQ 9~38) -->
      <xs:complexType name="T_BID_ITEM">
        <xs:sequence>
          <!-- SEQ:9, Table:T_BID_ITEM, Field:ANFNR, M/O:M, Type:VARCHAR, Size:10, Description:Bidding/RFQ Number -->
          <xs:element name="ANFNR"        type="xs:string"/>
          <!-- SEQ:10, Table:T_BID_ITEM, Field:ANFPS, M/O:M, Type:VARCHAR, Size:5, Description:Item Number of Bidding -->
          <xs:element name="ANFPS"        type="xs:string"/>
          <!-- SEQ:11, Table:T_BID_ITEM, Field:BANFN, M/O:M, Type:VARCHAR, Size:10, Description:Purchase Requisition Number -->
          <xs:element name="BANFN"        type="xs:string"/>
          <!-- SEQ:12, Table:T_BID_ITEM, Field:BANPO, M/O:M, Type:VARCHAR, Size:5, Description:Item Number of Purchase Requisition -->
          <xs:element name="BANPO"        type="xs:string"/>
          <!-- SEQ:13, Table:T_BID_ITEM, Field:ZREQ_FN, M/O:, Type:VARCHAR, Size:10, Description:P/R Request Number -->
          <xs:element name="ZREQ_FN"      type="xs:string" minOccurs="0"/>
          <!-- SEQ:14, Table:T_BID_ITEM, Field:ZREQ_PO, M/O:, Type:VARCHAR, Size:5, Description:Item Number of P/R Request -->
          <xs:element name="ZREQ_PO"      type="xs:string" minOccurs="0"/>
          <!-- SEQ:15, Table:T_BID_ITEM, Field:PERNR, M/O:, Type:VARCHAR, Size:20, Description:Employee ID -->
          <xs:element name="PERNR"        type="xs:string" minOccurs="0"/>
          <!-- SEQ:16, Table:T_BID_ITEM, Field:MATNR, M/O:, Type:VARCHAR, Size:18, Description:Material Number -->
          <xs:element name="MATNR"        type="xs:string" minOccurs="0"/>
          <!-- SEQ:17, Table:T_BID_ITEM, Field:TXZ01, M/O:, Type:VARCHAR, Size:40, Description:Short Text -->
          <xs:element name="TXZ01"        type="xs:string" minOccurs="0"/>
          <!-- SEQ:18, Table:T_BID_ITEM, Field:MATKL, M/O:, Type:VARCHAR, Size:9, Description:Material Group -->
          <xs:element name="MATKL"        type="xs:string" minOccurs="0"/>
          <!-- SEQ:19, Table:T_BID_ITEM, Field:PSPID, M/O:, Type:VARCHAR, Size:24, Description:Project No -->
          <xs:element name="PSPID"        type="xs:string" minOccurs="0"/>
          <!-- SEQ:20, Table:T_BID_ITEM, Field:POSID, M/O:, Type:VARCHAR, Size:24, Description:WBS No -->
          <xs:element name="POSID"        type="xs:string" minOccurs="0"/>
          <!-- SEQ:21, Table:T_BID_ITEM, Field:MENGE, M/O:, Type:NUMERIC, Size:15,3, Description:Purchase Requisition Quantity -->
          <xs:element name="MENGE"        type="xs:decimal" minOccurs="0"/>
          <!-- SEQ:22, Table:T_BID_ITEM, Field:MEINS, M/O:, Type:VARCHAR, Size:3, Description:Purchase Requisition Unit of Measure -->
          <xs:element name="MEINS"        type="xs:string" minOccurs="0"/>
          <!-- SEQ:23, Table:T_BID_ITEM, Field:BPRME, M/O:, Type:VARCHAR, Size:3, Description:Order Price Unit (Purchasing) -->
          <xs:element name="BPRME"        type="xs:string" minOccurs="0"/>
          <!-- SEQ:24, Table:T_BID_ITEM, Field:BRGEW, M/O:, Type:NUMERIC, Size:15,3, Description:Gross Weight -->
          <xs:element name="BRGEW"        type="xs:decimal" minOccurs="0"/>
          <!-- SEQ:25, Table:T_BID_ITEM, Field:GEWEI, M/O:, Type:VARCHAR, Size:3, Description:Weight Unit -->
          <xs:element name="GEWEI"        type="xs:string"  minOccurs="0"/>
          <!-- SEQ:26, Table:T_BID_ITEM, Field:LFDAT, M/O:, Type:VARCHAR, Size:8, Description:Delivery Date -->
          <xs:element name="LFDAT"        type="xs:string"  minOccurs="0"/>
          <!-- SEQ:27, Table:T_BID_ITEM, Field:PREIS, M/O:, Type:CURR, Size:15,2, Description:Price in Purchase Requisition -->
          <xs:element name="PREIS"        type="xs:decimal" minOccurs="0"/>
          <!-- SEQ:28, Table:T_BID_ITEM, Field:WAERS1, M/O:, Type:VARCHAR, Size:5, Description:PR Currency Key -->
          <xs:element name="WAERS1"       type="xs:string"  minOccurs="0"/>
          <!-- SEQ:29, Table:T_BID_ITEM, Field:PEINH, M/O:, Type:NUMERIC, Size:5,0, Description:Price Unit -->
          <xs:element name="PEINH"        type="xs:decimal" minOccurs="0"/>
          <!-- SEQ:30, Table:T_BID_ITEM, Field:KNTTP, M/O:, Type:VARCHAR, Size:1, Description:Account Assignment Category -->
          <xs:element name="KNTTP"        type="xs:string"  minOccurs="0"/>
          <!-- SEQ:31, Table:T_BID_ITEM, Field:AUFNR, M/O:, Type:VARCHAR, Size:12, Description:Order Number -->
          <xs:element name="AUFNR"        type="xs:string"  minOccurs="0"/>
          <!-- SEQ:32, Table:T_BID_ITEM, Field:ZRSLT_AMT, M/O:, Type:CURR, Size:17,2, Description:Reference Price -->
          <xs:element name="ZRSLT_AMT"    type="xs:decimal" minOccurs="0"/>
          <!-- SEQ:33, Table:T_BID_ITEM, Field:WAERS2, M/O:, Type:VARCHAR, Size:5, Description:Reference Price Currency Key -->
          <xs:element name="WAERS2"       type="xs:string"  minOccurs="0"/>
          <!-- SEQ:34, Table:T_BID_ITEM, Field:ZCON_NO_PO, M/O:, Type:VARCHAR, Size:15, Description:PR Consolidation Number -->
          <xs:element name="ZCON_NO_PO"   type="xs:string"  minOccurs="0"/>
          <!-- SEQ:35, Table:T_BID_ITEM, Field:EBELP, M/O:, Type:VARCHAR, Size:5, Description:Series PO Item Seq -->
          <xs:element name="EBELP"        type="xs:string"  minOccurs="0"/>
          <!-- SEQ:36, Table:T_BID_ITEM, Field:DISMM, M/O:, Type:VARCHAR, Size:2, Description:MRP Type -->
          <xs:element name="DISMM"        type="xs:string"  minOccurs="0"/>
          <!-- SEQ:37, Table:T_BID_ITEM, Field:KOSTL, M/O:, Type:VARCHAR, Size:10, Description:Cost Center -->
          <xs:element name="KOSTL"        type="xs:string"  minOccurs="0"/>
          <!-- SEQ:38, Table:T_BID_ITEM, Field:SAKTO, M/O:, Type:VARCHAR, Size:10, Description:G/L Account Number -->
          <xs:element name="SAKTO"        type="xs:string"  minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>

      <!-- 1.4) 수신 시스템 응답 구조 (SEQ 39~40) -->
      <!-- EV_TYPE 값 S:Success, E:Error -->
      <xs:simpleType name="EV_TYPE_Type">
        <xs:restriction base="xs:string">
          <xs:enumeration value="S"/>
          <xs:enumeration value="E"/>
        </xs:restriction>
      </xs:simpleType>

      <xs:complexType name="IF_ECC_EVCP_PR_INFORMATIONRes">
        <xs:sequence>
          <!-- SEQ:39, Table:“수신시스템에서 응답하는 항목”, Field:EV_TYPE, M/O:, Type:VARCHAR, Size:1, Description:Message Type -->
          <xs:element name="EV_TYPE"    type="tns:EV_TYPE_Type"/>
          <!-- SEQ:40, Table:“수신시스템에서 응답하는 항목”, Field:EV_MESSAGE, M/O:, Type:VARCHAR, Size:100, Description:Message Text -->
          <xs:element name="EV_MESSAGE" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>

      <!-- 1.5) Element 래퍼 -->
      <xs:element name="IF_ECC_EVCP_PR_INFORMATIONReq" type="tns:IF_ECC_EVCP_PR_INFORMATIONReq"/>
      <xs:element name="IF_ECC_EVCP_PR_INFORMATIONRes" type="tns:IF_ECC_EVCP_PR_INFORMATIONRes"/>
    </xsd:schema>
  </wsdl:types>

  <!-- 2) 메시지 정의: SOAP 요청/응답에서 사용되는 래퍼(Message)로, XSD에서 정의한 Element를 연결 -->
  <wsdl:message name="process">
    <wsdl:part name="IF_ECC_EVCP_PR_INFORMATIONReq" element="tns:IF_ECC_EVCP_PR_INFORMATIONReq"/>
  </wsdl:message>

  <wsdl:message name="processResponse">
    <wsdl:part name="IF_ECC_EVCP_PR_INFORMATIONRes" element="tns:IF_ECC_EVCP_PR_INFORMATIONRes"/>
  </wsdl:message>

  <!-- 3) 포트타입 정의: 실제 Operation(메서드) 집합을 선언하고, 각 Operation별로 사용될 메시지를 매핑 -->
  <wsdl:portType name="IF_ECC_EVCP_PR_INFORMATION">
    <wsdl:operation name="process">
      <wsdl:input  name="process"          message="tns:process"/>
      <wsdl:output name="processResponse"  message="tns:processResponse"/>
    </wsdl:operation>
  </wsdl:portType>

  <!-- 4) 바인딩 정의 (SOAP Document/Literal): 포트타입을 HTTP+SOAP 프로토콜에 연결하고, 메시지 인코딩 방식을 명시 -->
  <wsdl:binding name="IF_ECC_EVCP_PR_INFORMATIONServiceSoapBinding" type="tns:IF_ECC_EVCP_PR_INFORMATION">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="process">
      <soap:operation soapAction="" style="document"/>
      <wsdl:input name="process">
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="processResponse">
        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>

  <!-- 5) 실제 서비스 엔드포인트 정의: 물리적인 URL 주소(soap:address)를 포함해 클라이언트가 호출할 대상 포트를 지정 -->
  <wsdl:service name="IF_ECC_EVCP_PR_INFORMATIONService">
    <wsdl:port name="IF_ECC_EVCP_PR_INFORMATIONPort" binding="tns:IF_ECC_EVCP_PR_INFORMATIONServiceSoapBinding">
      <soap:address location="http://60.101.108.100/api/IF_ECC_EVCP_PR_INFORMATION"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>