sn_erp_integration API - 범위, 전역
(전사적 자원 관리) 모델과 ERP용 제로 카피 커넥터 상호작용하기 위한 연결 가능한 API를 제공하는 스크립트 포함.
이 스크립트 포함에는 (com.sn_erp_integration) 스토어 애플리케이션이 필요 ERP용 제로 카피 커넥터 하며 sn_erp_integration 네임스페이스 내에서 제공됩니다. 자세한 내용은 Zero Copy Connector for ERP 문서를 참조하십시오.
필요한 역할: sn_erp_integration.erp_user
- 메타데이터
- 메타데이터 메소드를 사용하여 사용자 ERP용 제로 카피 커넥터 환경에서 사용할 수 있는 시스템, 모델 및 IDoc 정보를 검색하십시오.
- getAvailableSystems()
- getAvailableModels()
- getAvailableOperations()
- getAvailableInputs()
- getRequiredInputs()
- getAvailableOutputs()
- getAvailableIdocConfigs()
- 구성
- 구성 메서드를 사용하여 처리할 사용 가능한 시스템, 모델, 운영 및 IDoc 구성을 선택합니다. 이러한 메서드를 사용하여 모델 필드 반환 값을 필터링할 수도 있습니다.
- 시스템()
- 모델()
- 운영()
- idocConfig()
- 필드()
- 제한()
- 오프셋()
- 쿼리 작성
- 쿼리 작성 메서드를 사용하여 결과를 필터링합니다.
- addEncodedQuery()
- addQuery()
- addOrQuery()
- 데이터 입력
- 데이터 입력 메서드를 사용하여 필드 값을 설정합니다. withJSON()메서드는 중첩된 객체 및 IDoc 필드에 대한 입력에 사용할 수 있습니다. set() 메서드는 단일 필드 값을 설정하는 데 사용됩니다.
- 세트()
- withJSON()
- 작업 실행
- 여러 기록으로 작업할 때는 execute() 메서드를 사용하고 단일 기록의 결과에는 get() 메서드를 사용합니다.
- 실행()
- 얻다()
API - API 작성자
새 ERP용 제로 카피 커넥터 API 인스턴스를 초기화합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
다음 예는 ERP 시스템에 액세스하기 위해 API의 인스턴스를 생성하는 방법을 보여줍니다.
// Select the system1 system
const api = new sn_erp_integration.API().system('system1');
API - addEncodedQuery(문자열 encodedQuery)
인코딩된 쿼리를 사용하여 기록을 필터링합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| encodedQuery | 문자열 | 인코딩된 쿼리 문자열입니다. |
| 유형 | 설명 |
|---|---|
| 객체 | 체인을 위해 이 인스턴스를 반환합니다. |
다음 예제는 인코딩된 쿼리를 사용하여 미국에서 회사 코드를 검색하는 방법을 보여줍니다.
const api = new sn_erp_integration.API()
.system('system1')
.model('company_code')
.operation('read')
.addEncodedQuery('company_codes_countryregion_key=US')
.execute();
API - addOrQuery(String field, String operator, String value)
OR 쿼리 조건을 추가합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 필드 | 문자열 | 쿼리할 필드의 이름입니다. |
| 운영자 | 문자열 | 옵션입니다. 쿼리 연산자입니다. 사용되는 쿼리 옵션은 값 매개변수에 제공된 데이터가 숫자인지 문자열인지에 따라 달라집니다. 기본값: = 숫자:
문자열(대문자여야 함):
주:
LIKE 연산자 대신 CONTAINS를 사용합니다. |
| 값 | 문자열 | 쿼리할 값입니다(대/소문자 구분 없음). |
| 유형 | 설명 |
|---|---|
| 객체 | 체인을 위해 이 인스턴스를 반환합니다. |
다음 예는 미국과 캐나다의 모든 회사 코드를 반환하는 방법을 보여줍니다.
const api = new sn_erp_integration.API();
const companyCodes = api
.system('system1')
.model('company_code')
.operation('read')
.addQuery('company_codes_countryregion_key', 'US')
.addOrQuery('company_codes_countryregion_key', 'CA')
.fields(['company_codes_company_code', 'company_codes_company_name', 'company_codes_countryregion_key', 'company_codes_currency'])
.execute();
// Process the results
companyCodes.forEach(companyCode => {
gs.info('Company Code: ${companyCode.company_codes_company_code}, Name: ${companyCode.company_codes_company_name}, Country: ${companyCode.company_codes_countryregion_key}');
// Do something with each company code
if (companyCode.company_codes_countryregion_key === 'US') {
// Process US company codes
} else {
// Process Canadian company codes
}
});
API - addQuery(문자열 필드, 문자열 연산자, 문자열 값, 문자열 joinType)
데이터를 필터링하기 위한 쿼리 조건을 추가합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 필드 | 문자열 | 쿼리할 필드의 이름입니다. |
| 운영자 | 문자열 | 옵션입니다. 쿼리 연산자입니다. 사용되는 쿼리 옵션은 값 매개변수에 제공된 데이터가 숫자인지 문자열인지에 따라 달라집니다. 기본값: = 숫자:
문자열(대문자여야 함):
주:
LIKE 연산자 대신 CONTAINS를 사용합니다. |
| 값 | 문자열 | 쿼리할 값입니다(대/소문자 구분 없음). |
| join유형 | 문자열 | 옵션입니다. 참가 유형입니다. 가능한 값:
|
| 유형 | 설명 |
|---|---|
| 객체 | 체인을 위해 이 인스턴스를 반환합니다. |
다음 예제에서는 > 연산자를 사용하여 우선순위가 1이거나 우선순위가 2보다 큰 결과를 반환하는 방법을 보여줍니다.
// Results in: priority=1^ORpriority>2
const api = new sn_erp_integration.API();
.system('system1')
.model('request')
.operation('read')
.addQuery('priority', '1)
.addOrQuery('priority', '>', '2')
.execute();
API - execute()
구성된 작업을 실행합니다.
단일 결과에 작업을 실행하려면 을 사용합니다 API - get().
| 이름 | 유형 | 설명 |
|---|---|---|
| 안 함 |
| 유형 | 설명 |
|---|---|
| 객체|배열 | 작업의 결과입니다. 실패하면 오류가 발생합니다. |
다음 예시에서는 새 회사 코드를 생성하는 방법을 보여줍니다.
const newCompanyCode = new sn_erp_integration.API()
.system('system1')
.model('company_code')
.operation('create')
.withJSON({
company_codes_company_code: '1234',
company_codes_company_name: 'New York Office',
company_codes_countryregion_key: 'US',
company_codes_language_key: 'EN'
})
.execute();
API - fields(배열 필드)
반환할 모델 필드를 지정합니다. 이는 필드 선택의 기본 방법입니다.
모델에 사용할 수 있는 필드 목록을 검색하려면 을 사용합니다 API - getAvailableOutputs().
| 이름 | 유형 | 설명 |
|---|---|---|
| 필드 | 배열 | 문자열로 나열된 하나 이상의 모델 필드 이름입니다. |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 예는 미국의 모든 회사 코드에 대해 특정 필드를 반환하는 방법을 보여줍니다.
const companyCodes = new API()
.system('system1')
.model('company_code')
.operation('read')
.addQuery('company_codes_countryregion_key', 'US')
.fields(['company_codes_company_code', 'company_codes_company_name', 'company_codes_countryregion_key'])
.execute();
API - get()
결과에서 단일 기록을 검색하기 위한 execute() 메서드의 별칭입니다.
API - execute() 또한 참조하십시오.
| 이름 | 유형 | 설명 |
|---|---|---|
| 안 함 |
| 유형 | 설명 |
|---|---|
| 객체 | 운영의 첫 번째 결과입니다. |
다음 예는 특정 판매 문서를 검색하는 방법을 보여줍니다.
const salesDoc = new sn_erp_integration.API()
.system('system1')
.model('sales_document')
.operation('read')
.addQuery('document_number', '0000123456')
.get();
API - getAvailableIdocConfigs()
선택한 시스템에 사용 가능한 IDoc 구성 상세 정보를 가져옵니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 안 함 |
| 유형 | 설명 |
|---|---|
| 객체 배열 | 사용 가능한 IDoc 구성 목록입니다. 시스템을 선택하지 않은 경우 오류가 발생합니다. API - 시스템(문자열 systemId) 또한 참조하십시오. |
| object.id | IDoc ID입니다. 이 값을 사용하여 메서드가 있는 API - idocConfig(문자열 configId) IDoc를 선택합니다. 데이터 유형: 문자열 |
| object.name | IDoc 표시 이름입니다. 데이터 유형: 문자열 |
| 객체.설명 | IDoc에 대한 설명입니다. 데이터 유형: 문자열 |
다음 예는 선택한 시스템에 대해 사용 가능한 모든 IDoc 구성을 가져오는 방법을 보여줍니다.
const idocConfigs = new sn_erp_integration.API()
.system('system1')
.getAvailableIdocConfigs();
gs.info(JSON.stringify(idocConfigs, null, 2));
출력:
[
{
"id": "OBC0001002",
"name": "Sales Order IDoc",
"description": "IDoc for sales order processing"
},
{
"id": "OBC0001003",
"name": "Material IDoc",
"description": "IDoc for material core data"
}
]
API - getAvailableInputs()
선택한 작업에 대해 사용 가능한 모든 입력 필드 목록을 반환합니다.
선택한 모델에 필요한 입력 필드만 나열하려면 해당 메서드를 API - getRequiredInputs() 사용하십시오.
| 이름 | 유형 | 설명 |
|---|---|---|
| 안 함 |
| 유형 | 설명 |
|---|---|
| 객체 | 사용 가능한 입력과 해당 유형을 설명하는 객체입니다. API - 시스템(문자열 systemId) 또한 참조하십시오. |
| object.variable_name | 입력 필드의 변수 이름입니다. 데이터 유형: 문자열 |
| 객체.레이블 | 입력 필드의 표시 이름입니다. 데이터 유형: 문자열 |
| object.data_type | 운영 입력의 데이터 유형입니다. 데이터 유형: 문자열 |
| 객체.필수 | 입력 필드가 필수인지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
데이터 유형: 부울 |
회사 코드를 생성하는 데 사용할 수 있는 입력을 가져옵니다.
const inputs = new sn_erp_integration.API()
.system('system1')
.model('company_code')
.operation('read')
.getAvailableInputs();
gs.info(JSON.stringify(operations, null, 2));
출력:
[
{
"variable_name": "company_codes_company_code",
"label": "Company Code",
"data_type": "string",
"required": true
},
{
"variable_name": "company_codes_company_name",
"label": "Company Name",
"data_type": "string",
"required": true
}
]
API - getAvailableModels()
선택한 시스템에 사용 가능한 모델 목록을 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 안 함 |
| 유형 | 설명 |
|---|---|
| 객체 배열 | ID, 이름 및 설명 속성이 있는 JSON 객체로 나열된 사용 가능한 모델 목록입니다. 시스템을 선택하지 않은 경우 오류가 발생합니다. API - 시스템(문자열 systemId) 또한 참조하십시오. |
| object.id | 모델 ID입니다. 이 값을 사용하여 메서드가 있는 모델을 선택합니다.API - model(문자열 modelId) 데이터 유형: 문자열 |
| object.name | 모델 레이블, 즉 표시 이름입니다. 데이터 유형: 문자열 |
| 객체.설명 | 모델에 대한 설명입니다. 데이터 유형: 문자열 |
다음 예는 선택한 시스템에 대해 사용 가능한 모든 모델을 검색하는 방법을 보여줍니다.
// Get all available models for system1
const models = new sn_erp_integration.API()
.system('system1')
.getAvailableModels();
gs.info(JSON.stringify(models, null, 2));
출력:
[
{
"id": "company_code",
"name": "Company Code",
"description": "Company Code"
},
{
"id": "country",
"name": "Country",
"description": "Country"
},
{
"id": "currency",
"name": "Currency",
"description": "Currency"
},
{
"id": "customer_invoice",
"name": "Customer Invoice",
"description": "Customer Invoice"
},
{
"id": "language",
"name": "Language",
"description": "Language"
}
]
API - getAvailableOperations()
선택한 모델에 사용 가능한 작업을 가져옵니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 안 함 |
| 유형 | 설명 |
|---|---|
| 배열 | 사용 가능한 ERP 모델 운영 목록입니다. 모델이나 시스템을 선택하지 않은 경우 오류가 발생합니다. |
| object.id | 모델 운영 ID입니다. 이 값을 사용하여 메서드를 사용한 API - operation(문자열 operationId) 모델 작업을 선택합니다. 데이터 유형: 문자열 |
| object.name | 모델 운영 레이블, 즉 표시 이름입니다. 데이터 유형: 문자열 |
다음 예에서는 모델에 사용 company_code 가능한 모든 작업을 가져오는 방법을 보여줍니다.
const operations = new sn_erp_integration.API()
.system('system1')
.model('company_code')
.getAvailableOperations();
gs.info(JSON.stringify(operations, null, 2));
출력:
[
{
"id": "create",
"name": "Company Code - Create"
},
{
"id": "read",
"name": "Company Code - Read"
}
]
API - getAvailableOutputs()
선택한 운영에 대해 사용 가능한 모든 출력 필드의 목록을 가져옵니다.
이 메서드에서 반환되는 필드 이름은 필드 결과를 필터링하는 메서드와 API - fields(배열 필드) 함께 사용할 수 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 안 함 |
| 유형 | 설명 |
|---|---|
| 객체 배열 | 사용 가능한 출력 필드의 목록입니다. 모델이나 시스템을 선택하지 않은 경우 오류가 발생합니다. API - 시스템(문자열 systemId) 또한 참조하십시오. |
| object.variable_name | 출력 필드의 변수 이름입니다. 데이터 유형: 문자열 |
| 객체.레이블 | 출력 필드의 표시 이름입니다. 데이터 유형: 문자열 |
| object.data_type | 작업 출력의 데이터 유형입니다. 데이터 유형: 문자열 |
다음 예제에서는 라는 모델 작업을 vendor읽어 제공되는 사용 가능한 출력을 얻는 방법을 보여줍니다.
// Get available outputs for read operation on a vendor model
const outputs = new sn_erp_integration.API()
.system('system1')
.model('vendor')
.operation('read')
.getAvailableOutputs();
gs.info(JSON.stringify(outputs, null, 2));
출력:
[
{
"variable_name": "supplier_country",
"label": "Country",
"data_type": "string"
}
{
"variable_name": "supplier_city",
"label": "City",
"data_type": "string"
},
{
"variable_name": "supplier_location",
"label": "Location",
"data_type": "string"
},
{
"variable_name": "supplier_street",
"label": "Street",
"data_type": "string"
},
{
"variable_name": "supplier_name",
"label": "Name",
"data_type": "string"
},
{
"variable_name": "supplier_postal_code",
"label": "Postal Code",
"data_type": "string"
},
{
"variable_name": "supplier_state",
"label": "State",
"data_type": "string"
}
]
API - getAvailableSystems()
API를 통해 액세스할 수 있는 사용 가능한 모든 ERP 시스템의 목록을 가져옵니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 안 함 |
| 유형 | 설명 |
|---|---|
| 객체 배열 | 사용 가능한 ERP 시스템 목록입니다. |
| object.id | 시스템 ID입니다. 이 값을 사용하여 메서드가 있는 시스템을 선택합니다.API - 시스템(문자열 systemId) 데이터 유형: 문자열 |
| object.name | 시스템 레이블, 즉 표시 이름입니다. 데이터 유형: 문자열 |
다음 예는 사용 가능한 모든 ERP 시스템 목록을 가져오는 방법을 보여줍니다.
const systems = new sn_erp_integration.API().getAvailableSystems();
gs.info(JSON.stringify(systems));
출력:
[
{
"id": "system1",
"name": "SAP DEV"
},
{
"id": "system2",
"name": "SAP PROD"
}
]
API - getRequiredInputs()
선택한 모델 및 생성 작업에 필요한 입력 필드만 있는 목록을 반환합니다.
필수 입력 필드는 모델 생성 시 설정됩니다.
선택한 모델에 대한 입력 필드의 전체 목록을 보려면 해당 메서드를 API - getAvailableInputs() 사용하십시오.
| 이름 | 유형 | 설명 |
|---|---|---|
| 안 함 |
| 유형 | 설명 |
|---|---|
| 객체 배열 | 필수 입력 필드 이름 목록입니다. |
| object.variable_name | 필수 입력 필드의 변수 이름입니다. 데이터 유형: 문자열 |
| 객체.레이블 | 필수 입력 필드의 표시 이름입니다. 데이터 유형: 문자열 |
| object.data_type | 입력이 필요한 운영의 데이터 유형입니다. 데이터 유형: 문자열 |
| 객체.필수 | 입력 필드가 필수인지 여부를 나타내는 플래그입니다. 이 메서드는 값이 예인 경우에만 결과를 반환합니다. 데이터 유형: 부울 |
다음 예는 송장을 생성하는 데 필요한 입력 필드를 반환하는 방법을 보여줍니다.
const requiredInputs = new sn_erp_integration.API()
.system('system1')
.model('invoice')
.operation('create')
.getRequiredInputs();
gs.info(JSON.stringify(requiredInputs, null, 2));
출력:
{
"variable_name": "INVOICE01",
"label": "INVOICE01",
"data_type": "array",
"required": true
}
API - idocConfig(문자열 configId)
작업할 IDoc 구성을 선택합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| configId | 문자열 | IDoc 아웃바운드 구성의 ID입니다. IDoc 구성 ID 목록을 검색하려면 메서드를 API - getAvailableIdocConfigs() 사용하십시오. |
| 유형 | 설명 |
|---|---|
| 객체 | 체인을 위해 이 인스턴스를 반환합니다. |
다음 예제에서는 IDoc 구성을 선택하고 처리할 값을 설정하는 방법을 보여줍니다.
const api = new sn_erp_integration.API()
.system('system1')
.idocConfig('OBC0001002')
.withJSON({
idoc_field1: 'value1',
idoc_field2: 'value2'
})
.execute();
API - limit(최대 숫자)
반환되는 결과 수를 제한합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 최대 | 번호 | 반환할 최대 기록 수입니다. |
| 유형 | 설명 |
|---|---|
| 객체 | 체인을 위해 이 인스턴스를 반환합니다. |
다음 예는 처음 10개의 회사 코드 기록만 검색하는 방법을 보여줍니다.
// Get only the first 10 company codes
const api = new sn_erp_integration.API()
.system('system1')
.model('company_code')
.fields(['company_codes_company_code', 'company_codes_company_name'])
.limit(10)
.execute();
API - model(문자열 modelId)
작업할 모델을 선택합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| modelId | 문자열 | 모델의 ID입니다. ID가 있는 모든 모델의 목록을 검색하려면 을 사용합니다 API - getAvailableModels(). |
| 유형 | 설명 |
|---|---|
| 객체 | 체인을 위해 이 인스턴스를 반환합니다. |
다음 예는 system1에서 company_code 모델을 선택하는 방법을 보여줍니다. 선택한 모델의 데이터를 가져오고 설정하기 위한 추가 메서드를 연결할 수 있습니다.
const api = new sn_erp_integration.API()
.system('system1')
.model('company_code')
.execute();
API - 오프셋(번호 시작)
결과의 시작 오프셋을 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 시작 | 번호 | 결과 검색을 시작할 시작점입니다. 예를 들어 이 값을 10으로 설정하면 쿼리에 반환된 처음 10개 결과를 건너뜁니다. |
| 유형 | 설명 |
|---|---|
| 객체 | 체인을 위해 이 인스턴스를 반환합니다. |
다음 예는 처음 10개의 결과(11-20)를 건너뛰고 10개의 회사 코드 기록을 검색하는 방법을 보여줍니다.
const api = new sn_erp_integration.API()
.system('system1')
.model('company_code')
.fields(['company_codes_company_code', 'company_codes_company_name'])
.limit(10)
.offset(10)
.execute();
API - operation(문자열 operationId)
선택한 모델에 사용할 작업을 선택합니다.
모델 작업 목록을 반환하려면 를 사용합니다 API - getAvailableOperations().
| 이름 | 유형 | 설명 |
|---|---|---|
| operationId | 문자열 | 모델 운영의 ID입니다. |
| 유형 | 설명 |
|---|---|
| 객체 | 체인을 위해 이 인스턴스를 반환합니다. |
다음 예는 모델에 대한 company_code 읽기 작업을 선택하는 방법을 보여줍니다.
const api = new sn_erp_integration.API()
.system('system1')
.model('company_code')
.operation('read')
.execute();
API - set(String field, String value)
생성 또는 업데이트 작업에 대한 단일 필드 값을 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 필드 | 문자열 | 값을 설정할 필드의 이름입니다. |
| 값 | 문자열 | 필드에 대해 설정할 값입니다. |
| 유형 | 설명 |
|---|---|
| 객체 | 체인을 위해 이 인스턴스를 반환합니다. |
다음 예시에서는 회사 코드 항목을 만들고 필드 값을 할당하는 방법을 보여줍니다.
const api = new sn_erp_integration.API()
.system('system1')
.model('company_code')
.operation('create')
.set('company_codes_company_code', '1234')
.set('company_codes_company_name', 'New York Office')
.set('company_codes_countryregion_key', 'US')
.set('company_codes_language_key', 'EN')
.execute();
다음 예제에서는 중첩된 속성으로 판매 문서를 업데이트하는 방법을 보여줍니다. 추가 수준이 있는 중첩된 데이터 구조의 경우 를 사용합니다 API - withJSON(객체 데이터).
const api = new sn_erp_integration.API()
.system('system1')
.model('sales_document')
.operation('update')
.set('document_number', '0000123456')
.set('header.document_type', 'OR')
.set('header.sales_organization', '1000')
.execute();
API - 시스템(문자열 systemId)
작업할 시스템을 선택합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| systemId | 문자열 | 시스템 ID입니다. 이 메서드를 API - getAvailableSystems() 사용하여 시스템 ID를 검색할 수 있습니다. |
| 유형 | 설명 |
|---|---|
| 객체 | 체인을 위해 이 인스턴스를 반환합니다. |
다음 예는 시스템을 선택하는 방법을 보여줍니다. 시스템 내에서 모델을 선택하는 추가 방법과 선택한 시스템에서 데이터를 사용하기 위한 추가 방법을 연결할 수 있습니다.
const api = new sn_erp_integration.API().system('system1');
API - withJSON(객체 데이터)
운영에 대한 JSON 데이터를 설정합니다. 읽기 작업의 경우 이 메서드는 필터 조건을 설정합니다. 만들기 또는 업데이트 작업의 경우 이 메서드는 만들거나 업데이트할 데이터가 있는 필드를 설정합니다.
API - set(String field, String value) 또한 참조하십시오.
| 이름 | 유형 | 설명 |
|---|---|---|
| 데이터 | 객체 | 필드와 해당 값을 나열하는 JSON 데이터입니다. 체재: |
| 유형 | 설명 |
|---|---|
| 객체 | 체인을 위해 이 인스턴스를 반환합니다. |
다음 예는 생성 작업에 대한 데이터를 설정하는 방법을 보여줍니다.
const api = new sn_erp_integration.API()
.system('system1')
.model('company_code')
.operation('create')
.withJSON({
company_codes_company_code: '1234',
company_codes_company_name: 'New York Office',
company_codes_countryregion_key: 'US'
})
.execute();
다음 예는 읽기 작업에 대한 중첩 필터를 설정하는 방법을 보여줍니다.
const api = new sn_erp_integration.API()
.system('system1')
.model('sales_document')
.operation('read')
.withJSON({
header: {
document_type: 'OR',
sales_organization: '1000'
}
})
.operation('read')
.execute();