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
178
179
180
181
182
183
184
185
186
187
188
189
190
|
<?xml version="1.0" encoding="UTF-8"?>
<!-- WSDL: eVCP 개발서버(60.101.108.100) <> S-ERP ECC PCR 인터페이스 -->
<!-- Program ID: IF_ECC_EVCP_PCR -->
<wsdl:definitions name="IF_ECC_EVCP_PCR" 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_PCRReq">
<xs:sequence>
<!-- ZMM_PCR 레코드 집합 -->
<xs:element name="ZMM_PCR" type="tns:ZMM_PCR" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<!-- 1.2) ZMM_PCR 테이블 구조 -->
<xs:complexType name="ZMM_PCR">
<xs:sequence>
<!-- SEQ:1, Table:ZMM_PCR, Field:PCR_REQ, M/O:M, Type:CHAR, Size:10, Description:PCR 요청번호 -->
<xs:element name="PCR_REQ" type="xs:string"/>
<!-- SEQ:2, Table:ZMM_PCR, Field:PCR_REQ_SEQ, M/O:M, Type:NUMC, Size:5, Description:PCR 요청순번 -->
<xs:element name="PCR_REQ_SEQ" type="xs:integer"/>
<!-- SEQ:3, Table:ZMM_PCR, Field:PCR_REQ_DATE, M/O:M, Type:DATS, Size:8, Description:PCR 요청일자 -->
<xs:element name="PCR_REQ_DATE" type="xs:string"/>
<!-- SEQ:4, Table:ZMM_PCR, Field:EBELN, M/O:M, Type:CHAR, Size:10, Description:구매오더 -->
<xs:element name="EBELN" type="xs:string"/>
<!-- SEQ:5, Table:ZMM_PCR, Field:EBELP, M/O:M, Type:NUMC, Size:5, Description:구매오더 품번 -->
<xs:element name="EBELP" type="xs:integer"/>
<!-- SEQ:6, Table:ZMM_PCR, Field:PCR_TYPE, M/O:M, Type:CHAR, Size:2, Description:물량/Spec 변경 Type : Q, W, S, QW -->
<xs:element name="PCR_TYPE" type="xs:string"/>
<!-- SEQ:7, Table:ZMM_PCR, Field:PSPID, M/O:, Type:CHAR, Size:24, Description:프로젝트 -->
<xs:element name="PSPID" type="xs:string" minOccurs="0"/>
<!-- SEQ:8, Table:ZMM_PCR, Field:BANFN, M/O:M, Type:CHAR, Size:10, Description:구매요청 -->
<xs:element name="BANFN" type="xs:string"/>
<!-- SEQ:9, Table:ZMM_PCR, Field:BNFPO, M/O:M, Type:NUMC, Size:5, Description:구매요청 품번 -->
<xs:element name="BNFPO" type="xs:integer"/>
<!-- SEQ:10, Table:ZMM_PCR, Field:MATNR, M/O:, Type:CHAR, Size:18, Description:자재번호 -->
<xs:element name="MATNR" type="xs:string" minOccurs="0"/>
<!-- SEQ:11, Table:ZMM_PCR, Field:MAKTX, M/O:, Type:CHAR, Size:40, Description:자재명 -->
<xs:element name="MAKTX" type="xs:string" minOccurs="0"/>
<!-- SEQ:12, Table:ZMM_PCR, Field:ZZSPEC, M/O:, Type:CHAR, Size:255, Description:Specification -->
<xs:element name="ZZSPEC" type="xs:string" minOccurs="0"/>
<!-- SEQ:13, Table:ZMM_PCR, Field:ZSPEC_NUM, M/O:, Type:CHAR, Size:25, Description:POS -->
<xs:element name="ZSPEC_NUM" type="xs:string" minOccurs="0"/>
<!-- SEQ:14, Table:ZMM_PCR, Field:QTY_B, M/O:, Type:QUAN, Size:13,3, Description:변경 전 수량 -->
<xs:element name="QTY_B" type="xs:decimal" minOccurs="0"/>
<!-- SEQ:15, Table:ZMM_PCR, Field:QTY_A, M/O:, Type:QUAN, Size:13,3, Description:변경 후 수량 -->
<xs:element name="QTY_A" type="xs:decimal" minOccurs="0"/>
<!-- SEQ:16, Table:ZMM_PCR, Field:MEINS, M/O:, Type:UNIT, Size:3, Description:단위 -->
<xs:element name="MEINS" type="xs:string" minOccurs="0"/>
<!-- SEQ:17, Table:ZMM_PCR, Field:T_WEIGHT_B, M/O:, Type:QUAN, Size:13,3, Description:변경 전 Total 중량 -->
<xs:element name="T_WEIGHT_B" type="xs:decimal" minOccurs="0"/>
<!-- SEQ:18, Table:ZMM_PCR, Field:T_WEIGHT_A, M/O:, Type:QUAN, Size:13,3, Description:변경 후 Total 중량 -->
<xs:element name="T_WEIGHT_A" type="xs:decimal" minOccurs="0"/>
<!-- SEQ:19, Table:ZMM_PCR, Field:MEINS_W, M/O:, Type:UNIT, Size:3, Description:중량 단위 -->
<xs:element name="MEINS_W" type="xs:string" minOccurs="0"/>
<!-- SEQ:20, Table:ZMM_PCR, Field:S_WEIGHT_B, M/O:, Type:QUAN, Size:13,3, Description:변경 전 사급 중량 -->
<xs:element name="S_WEIGHT_B" type="xs:decimal" minOccurs="0"/>
<!-- SEQ:21, Table:ZMM_PCR, Field:S_WEIGHT_A, M/O:, Type:QUAN, Size:13,3, Description:변경 후 사급 중량 -->
<xs:element name="S_WEIGHT_A" type="xs:decimal" minOccurs="0"/>
<!-- SEQ:22, Table:ZMM_PCR, Field:C_WEIGHT_B, M/O:, Type:QUAN, Size:13,3, Description:변경 전 도급 중량 -->
<xs:element name="C_WEIGHT_B" type="xs:decimal" minOccurs="0"/>
<!-- SEQ:23, Table:ZMM_PCR, Field:C_WEIGHT_A, M/O:, Type:QUAN, Size:13,3, Description:변경 후 도급 중량 -->
<xs:element name="C_WEIGHT_A" type="xs:decimal" minOccurs="0"/>
<!-- SEQ:24, Table:ZMM_PCR, Field:ZACC_DT, M/O:, Type:DATS, Size:8, Description:구매담당자 PR 접수일 -->
<xs:element name="ZACC_DT" type="xs:string" minOccurs="0"/>
<!-- SEQ:25, Table:ZMM_PCR, Field:ERDAT, M/O:, Type:DATS, Size:8, Description:물량 변경일 -->
<xs:element name="ERDAT" type="xs:string" minOccurs="0"/>
<!-- SEQ:26, Table:ZMM_PCR, Field:DEPTCD, M/O:, Type:CHAR, Size:10, Description:설계부서 -->
<xs:element name="DEPTCD" type="xs:string" minOccurs="0"/>
<!-- SEQ:27, Table:ZMM_PCR, Field:DEPTNM, M/O:, Type:CHAR, Size:60, Description:설계부서명 -->
<xs:element name="DEPTNM" type="xs:string" minOccurs="0"/>
<!-- SEQ:28, Table:ZMM_PCR, Field:EMPID, M/O:, Type:CHAR, Size:20, Description:설계담당자ID -->
<xs:element name="EMPID" type="xs:string" minOccurs="0"/>
<!-- SEQ:29, Table:ZMM_PCR, Field:NAME, M/O:, Type:CHAR, Size:70, Description:설계담당명 -->
<xs:element name="NAME" type="xs:string" minOccurs="0"/>
<!-- SEQ:30, Table:ZMM_PCR, Field:LIFNR, M/O:M, Type:CHAR, Size:10, Description:공급업체 -->
<xs:element name="LIFNR" type="xs:string"/>
<!-- SEQ:31, Table:ZMM_PCR, Field:NAME1, M/O:, Type:CHAR, Size:35, Description:공급업체명 -->
<xs:element name="NAME1" type="xs:string" minOccurs="0"/>
<!-- SEQ:32, Table:ZMM_PCR, Field:ZPROC_IND, M/O:, Type:CHAR, Size:1, Description:PR 상태 -->
<xs:element name="ZPROC_IND" type="xs:string" minOccurs="0"/>
<!-- SEQ:33, Table:ZMM_PCR, Field:LFDAT, M/O:, Type:DATS, Size:8, Description:PR 납품일 -->
<xs:element name="LFDAT" type="xs:string" minOccurs="0"/>
<!-- SEQ:34, Table:ZMM_PCR, Field:WAERS, M/O:M, Type:CUKY, Size:5, Description:PO 통화 -->
<xs:element name="WAERS" type="xs:string"/>
<!-- SEQ:35, Table:ZMM_PCR, Field:NETPR, M/O:M, Type:CURR, Size:13,2, Description:PO 단가 -->
<xs:element name="NETPR" type="xs:decimal"/>
<!-- SEQ:36, Table:ZMM_PCR, Field:PEINH, M/O:, Type:DEC, Size:5, Description:Price Unit, 수량에 대한 PER 당 단가 -->
<xs:element name="PEINH" type="xs:decimal" minOccurs="0"/>
<!-- SEQ:37, Table:ZMM_PCR, Field:NETWR, M/O:M, Type:CURR, Size:13,2, Description:PO 금액 -->
<xs:element name="NETWR" type="xs:decimal"/>
<!-- SEQ:38, Table:ZMM_PCR, Field:POSID, M/O:, Type:CHAR, Size:24, Description:WBS -->
<xs:element name="POSID" type="xs:string" minOccurs="0"/>
<!-- SEQ:39, Table:ZMM_PCR, Field:EKGRP, M/O:, Type:CHAR, Size:3, Description:구매그룹 -->
<xs:element name="EKGRP" type="xs:string" minOccurs="0"/>
<!-- SEQ:40, Table:ZMM_PCR, Field:EKNAM, M/O:, Type:CHAR, Size:18, Description:구매그룹명 -->
<xs:element name="EKNAM" type="xs:string" minOccurs="0"/>
<!-- SEQ:41, Table:ZMM_PCR, Field:ZCHG_NO, M/O:, Type:CHAR, Size:10, Description:(ECC 내부목적) PR 수정번호 -->
<xs:element name="ZCHG_NO" type="xs:string" minOccurs="0"/>
<!-- SEQ:42, Table:ZMM_PCR, Field:DOKNR, M/O:, Type:CHAR, Size:25, Description:(ECC 내부목적) 도면번호 -->
<xs:element name="DOKNR" type="xs:string" minOccurs="0"/>
<!-- SEQ:43, Table:ZMM_PCR, Field:DOKAR, M/O:, Type:CHAR, Size:3, Description:(ECC 내부목적) 도면문서Type -->
<xs:element name="DOKAR" type="xs:string" minOccurs="0"/>
<!-- SEQ:44, Table:ZMM_PCR, Field:DOKTL, M/O:, Type:CHAR, Size:3, Description:(ECC 내부목적) 도면문서Part -->
<xs:element name="DOKTL" type="xs:string" minOccurs="0"/>
<!-- SEQ:45, Table:ZMM_PCR, Field:DOKVR, M/O:, Type:CHAR, Size:2, Description:(ECC 내부목적) 도면문서버젼 -->
<xs:element name="DOKVR" type="xs:string" minOccurs="0"/>
<!-- SEQ:46, Table:ZMM_PCR, Field:ZAEDAT, M/O:, Type:DATS, Size:8, Description:(ECC 내부목적) 도면변경일 -->
<xs:element name="ZAEDAT" type="xs:string" minOccurs="0"/>
<!-- SEQ:47, Table:ZMM_PCR, Field:WERKS, M/O:, Type:CHAR, Size:4, Description:PLANT -->
<xs:element name="WERKS" type="xs:string" minOccurs="0"/>
<!-- SEQ:48, Table:ZMM_PCR, Field:REQUEST_CD, M/O:, Type:CHAR, Size:10, Description:Request 코드 -->
<xs:element name="REQUEST_CD" type="xs:string" minOccurs="0"/>
<!-- SEQ:49, Table:ZMM_PCR, Field:REQUEST_RSN, M/O:, Type:CHAR, Size:50, Description:Request 사유 -->
<xs:element name="REQUEST_RSN" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<!-- 1.3) 수신측 응답 구조 -->
<xs:complexType name="IF_ECC_EVCP_PCRRes">
<xs:sequence>
<!-- SEQ:50, Table:ZMM_RT (수신측 응답), Field:PCR_REQ, M/O:M, Type:CHAR, Size:10, Description:PCR 요청번호 -->
<xs:element name="PCR_REQ" type="xs:string"/>
<!-- SEQ:51, Table:ZMM_RT (수신측 응답), Field:PCR_REQ_SEQ, M/O:M, Type:NUMC, Size:5, Description:PCR 요청순번 -->
<xs:element name="PCR_REQ_SEQ" type="xs:integer"/>
<!-- SEQ:52, Table:ZMM_RT (수신측 응답), Field:EBELN, M/O:M, Type:CHAR, Size:10, Description:구매오더 -->
<xs:element name="EBELN" type="xs:string"/>
<!-- SEQ:53, Table:ZMM_RT (수신측 응답), Field:EBELP, M/O:M, Type:NUMC, Size:5, Description:구매오더 품번 -->
<xs:element name="EBELP" type="xs:integer"/>
<!-- SEQ:54, Table:ZMM_RT (수신측 응답), Field:MSGTY, M/O:, Type:CHAR, Size:1, Description:Message Type -->
<xs:element name="MSGTY" type="xs:string" minOccurs="0"/>
<!-- SEQ:55, Table:ZMM_RT (수신측 응답), Field:MSGTXT, M/O:, Type:CHAR, Size:100, Description:Message Text -->
<xs:element name="MSGTXT" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<!-- 1.4) Element 래퍼 -->
<xs:element name="IF_ECC_EVCP_PCRReq" type="tns:IF_ECC_EVCP_PCRReq"/>
<xs:element name="IF_ECC_EVCP_PCRRes" type="tns:IF_ECC_EVCP_PCRRes"/>
</xsd:schema>
</wsdl:types>
<!-- 2) 메시지 정의: SOAP 요청/응답에서 사용되는 래퍼(Message)로, XSD에서 정의한 Element를 연결 -->
<wsdl:message name="process">
<wsdl:part name="IF_ECC_EVCP_PCRReq" element="tns:IF_ECC_EVCP_PCRReq"/>
</wsdl:message>
<wsdl:message name="processResponse">
<wsdl:part name="IF_ECC_EVCP_PCRRes" element="tns:IF_ECC_EVCP_PCRRes"/>
</wsdl:message>
<!-- 3) 포트타입 정의: 실제 Operation(메서드) 집합을 선언하고, 각 Operation별로 사용될 메시지를 매핑 -->
<wsdl:portType name="IF_ECC_EVCP_PCR">
<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_PCRServiceSoapBinding" type="tns:IF_ECC_EVCP_PCR">
<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_PCRService">
<wsdl:port name="IF_ECC_EVCP_PCRPort" binding="tns:IF_ECC_EVCP_PCRServiceSoapBinding">
<soap:address location="http://60.101.108.100/api/IF_ECC_EVCP_PCR"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
|