반응형
□ 소개
입력된 제품에 Folder 생성 하는 프로그램 입니다. 제품은 id로 아력 합니다. ▷ URL (재품 아래에 폴더 만들기)
POST URL = http://WC 주소/Windchill/servlet/odata/v6/DataAdmin/Containers('OR:wt.pdmlink.PDMLinkProduct:131308')/Folders
▷ josn
{
"Name": "test 프로젝트",
"Description": "이것은 테스트 입니다"
}
▷ WC에서 폴더만들기
▷ URL (재품의 서브 폴더 아래에 폴더 만들기)
POST /Windchill/servlet/odata/DataAdmin/Containers(<oid>)/Folders(<oid>)/Folders
주의)
제품 아래에는 제품 이름과 동일한 "/Default" 폴더가 존재 합니다, 반드시 컨테이너 id > Default 폴더 id > 폴더 id를 입력 합니다.
□ 코드 - 제품 아래에 폴더 만들기
엑셀의 json
Option Explicit
Sub createForder001()
'// 오류 발생 시 오류 메시지 출력
On Error Resume Next
Call MainGetToken.GetToken001
'// 변수
Dim xmlhttp As Object
Set xmlhttp = CreateObject("MSXML2.XMLHTTP.6.0")
Dim Url As String
Dim status As Integer
Dim jsonString As String
jsonString = Cells(1, "A")
'// URL 설정
Url = "http://WC 주소/Windchill/servlet/odata/v6/DataAdmin/Containers('OR%3Awt.pdmlink.PDMLinkProduct%3A131308')/Folders"
'// 서버와의 연결 열기
xmlhttp.Open "POST", Url, False
'//요청 헤더 설정
xmlhttp.SetRequestHeader "Content-Type", "application/json"
xmlhttp.SetRequestHeader "CSRF_NONCE", NonceTorken("NonceValue")
'//요청 보내기
xmlhttp.Send jsonString
'// 오류 발생 시 디버그 창에 오류 메시지 출력
If Err.Number <> 0 Then
Debug.Print "Error " & Err.Number & ": " & Err.Description
On Error GoTo 0
Exit Sub
End If
'// 응답 상태 코드 가져오기
status = xmlhttp.status
'// 응답 상태 및 텍스트 출력 (디버깅 용도)
'Debug.Print "Status: " & status
'// 정리 작업
Set xmlhttp = Nothing
End Sub
□ 코드 - 폴더 아래에 폴더 만들기
Option Explicit
Sub createForder001()
'// 오류 발생 시 오류 메시지 출력
On Error Resume Next
Call MainGetToken.GetToken001
'// 변수
Dim xmlhttp As Object
Set xmlhttp = CreateObject("MSXML2.XMLHTTP.6.0")
Dim Url As String
Dim status As Integer
Dim jsonString As String
jsonString = Cells(1, "A")
'// URL 설정
Url = "http://WC주소/Windchill/servlet/odata/v6/DataAdmin/Containers('OR%3Awt.pdmlink.PDMLinkProduct%3A131308')/Folders('OR%3Awt.folder.Cabinet%3A131359')/Folders('OR%3Awt.folder.SubFolder%3A146353')/Folders"
'// 서버와의 연결 열기
xmlhttp.Open "POST", Url, False
'//요청 헤더 설정
xmlhttp.SetRequestHeader "Content-Type", "application/json"
xmlhttp.SetRequestHeader "CSRF_NONCE", NonceTorken("NonceValue")
'//요청 보내기
xmlhttp.Send jsonString
'// 오류 발생 시 디버그 창에 오류 메시지 출력
If Err.Number <> 0 Then
Debug.Print "Error " & Err.Number & ": " & Err.Description
On Error GoTo 0
Exit Sub
End If
'// 응답 상태 코드 가져오기
status = xmlhttp.status
'// 응답 상태 및 텍스트 출력 (디버깅 용도)
Debug.Print "Status: " & status
'// 정리 작업
Set xmlhttp = Nothing
End Sub
위 코드에서
Containers('OR%3Awt.pdmlink.PDMLinkProduct%3A131308')/Folders('OR%3Awt.folder.Cabinet%3A131359')/ ~
" Folders('OR%3Awt.folder.Cabinet%3A131359')"는 Default 폴더 입니다
'VBA For Windchill' 카테고리의 다른 글
학습 07) Open API, 엑셀 VBA - PTC Data Administration domain #2 (0) | 2024.07.09 |
---|---|
학습 06) Open API, 엑셀 VBA - PTC Data Administration domain #1 (0) | 2024.07.09 |
Windchill REST Services (WRS) (0) | 2024.07.01 |
Windchill & VBA 03) - Get Product Name (0) | 2024.06.30 |
VBA Web Parsing 2/2 (0) | 2024.06.30 |