API sn_erp_integration - Escopo, global
O script inclui o fornecimento de uma API encadeável para interagir com Conector zero cópia para ERP(Planejamento de recursos empresariais).
Esta inclusão de script requer Conector zero cópia para ERP(com.sn_erp_integration) armazena a aplicação e é fornecida no namespace sn_erp_integration. Para obter mais informações, consulte Zero Copy Connector for ERP.
Função necessária: sn_erp_integration.erp_user
- Metadados
- Use métodos de metadados para descobrir o sistema, o modelo e as informações do IDoc disponíveis no Conector zero cópia para ERP ambiente.
- GetAvailableSystems()
- GetAvailableModels()
- GetAvailableOperations()
- GetAvailableInputs()
- GetRequiredInputs()
- GetAvailableOutputs()
- GetAvailableIdocConfigs()
- Configuração
- Use métodos de configuração para selecionar sistemas, modelos, operações e configurações de IDoc disponíveis para processamento. Você também pode usar esses métodos para filtrar valores de retorno do campo do modelo.
- sistema()
- modelo ()
- operação ()
- IdocConfig()
- campos ()
- limite()
- deslocamento ()
- Criação de consulta
- Use métodos de criação de consulta para filtrar resultados.
- AddEncodedQuery()
- AddQuery()
- AddOrQuery()
- Entrada de dados
- Use os métodos de entrada de dados para definir valores de campo. . WithJSON() O método pode ser usado para entrada em objetos aninhados e campos IDoc. . set() o método é usado para definir um valor de campo único.
- set()
- WithJSON()
- Execução da operação
- Use o. executar() ao trabalhar com vários registros, e o. get() método para resultados de um único registro.
- executar()
- get()
API - Construtor de API
Inicializa um novo Conector zero cópia para ERP Instância da API.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum(a) |
Os exemplos a seguir mostram como criar uma instância da API para acessar um sistema ERP.
// Select the system1 system
const api = new sn_erp_integration.API().system('system1');
API - addEncodedQuery(String encodedQuery)
Filtra registros usando uma consulta codificada.
| Nome | Tipo | Descrição |
|---|---|---|
| encodedQuery | Cadeia de caracteres | AN cadeia de caracteres de consulta codificada . |
| Tipo | Descrição |
|---|---|
| Objeto | Retorna esta instância para encadeamento. |
O exemplo a seguir mostra como usar uma consulta codificada para recuperar códigos da empresa nos EUA.
const api = new sn_erp_integration.API()
.system('system1')
.model('company_code')
.operation('read')
.addEncodedQuery('company_codes_countryregion_key=US')
.execute();
AddOrQuery (campo de cadeia de caracteres, operador de cadeia de caracteres, valor de cadeia de caracteres)
Adicione uma condição de consulta OR.
| Nome | Tipo | Descrição |
|---|---|---|
| Assunto: | Cadeia de caracteres | O nome do campo a ser consultado. |
| operador | Cadeia de caracteres | Opcional. Operador de consulta. A opção de consulta usada depende de os dados fornecidos para valor o parâmetro é um número ou cadeia de caracteres. Valor padrão: Números:
Cadeias de caracteres (devem estar em maiúsculas):
Nota:
Use CONTÉM em vez do operador LIKE. |
| valor | Cadeia de caracteres | Valor no qual consultar (não diferencia maiúsculas de minúsculas). |
| Tipo | Descrição |
|---|---|
| Objeto | Retorna esta instância para encadeamento. |
O exemplo a seguir mostra como retornar todos os códigos de empresa nos EUA e Canadá.
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
}
});
AddQuery (campo de cadeia de caracteres, operador de cadeia de caracteres, valor de cadeia de caracteres, cadeia de caracteres joinType)
Adicione uma condição de consulta para filtrar dados.
| Nome | Tipo | Descrição |
|---|---|---|
| Assunto: | Cadeia de caracteres | O nome do campo a ser consultado. |
| operador | Cadeia de caracteres | Opcional. Operador de consulta. A opção de consulta usada depende de os dados fornecidos para valor o parâmetro é um número ou cadeia de caracteres. Valor padrão: Números:
Cadeias de caracteres (devem estar em maiúsculas):
Nota:
Use CONTÉM em vez do operador LIKE. |
| valor | Cadeia de caracteres | Valor no qual consultar (não diferencia maiúsculas de minúsculas). |
| JoinType | Cadeia de caracteres | Opcional. Tipo de junção. Valores possíveis:
|
| Tipo | Descrição |
|---|---|
| Objeto | Retorna esta instância para encadeamento. |
O exemplo a seguir mostra como usar o operador > para retornar resultados com prioridade um ou prioridade maior que duas.
// 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()
Executa a operação configurada.
Para executar uma operação em um único resultado, use API - Get().
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Matriz|Objeto | O resultado da operação. Erro se malsucedido. |
O exemplo a seguir mostra como criar um novo código de empresa.
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 - campos (campos de matriz)
Especifica os campos do modelo a serem retornados. Este é o método primário para seleção de campo.
Para recuperar uma lista de campos disponíveis para um modelo, use API - getAvailableOutputs().
| Nome | Tipo | Descrição |
|---|---|---|
| campos | Matriz | Um ou mais nomes de campo de modelo listados como cadeias de caracteres. |
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
O exemplo a seguir mostra como retornar campos específicos para todos os códigos de empresa nos EUA.
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()
Alias para o método execute() para recuperar um único registro nos resultados.
Consulte também API - execute().
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Objeto | O primeiro resultado da operação. |
O exemplo a seguir mostra como recuperar um documento de vendas específico.
const salesDoc = new sn_erp_integration.API()
.system('system1')
.model('sales_document')
.operation('read')
.addQuery('document_number', '0000123456')
.get();
API - getAvailableIdocConfigs()
Obtém os detalhes de configuração do IDoc disponíveis para o sistema selecionado.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Matriz de objetos | Lista de configurações de IDoc disponíveis. Emite um erro se nenhum sistema tiver sido selecionado. Consulte também API - sistema (cadeia de caracteres systemId). |
| object.id | ID do IDoc. Use este valor para selecionar um IDoc com API - idocConfig (cadeia de caracteres configId) método. Tipo de dados: Cadeia de caracteres |
| object.name | Nome de exibição do IDOC. Tipo de dados: Cadeia de caracteres |
| object.description | Descrição do IDoc. Tipo de dados: Cadeia de caracteres |
O exemplo a seguir mostra como obter todas as configurações de IDoc disponíveis para um sistema selecionado.
const idocConfigs = new sn_erp_integration.API()
.system('system1')
.getAvailableIdocConfigs();
gs.info(JSON.stringify(idocConfigs, null, 2));
Saída:
[
{
"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()
Retorna uma lista de todos os campos de entrada disponíveis para a operação selecionada.
Para obter uma lista de somente os campos de entrada obrigatórios para um modelo selecionado, use API - getRequiredInputs() método.
- API - addEncodedQuery(String encodedQuery)
- AddOrQuery (campo de cadeia de caracteres, operador de cadeia de caracteres, valor de cadeia de caracteres)
- AddQuery (campo de cadeia de caracteres, operador de cadeia de caracteres, valor de cadeia de caracteres, cadeia de caracteres joinType)
- API - sistema (cadeia de caracteres systemId)
- API - withJSON (dados do objeto)
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Objeto | Objeto que descreve as entradas disponíveis e seus tipos. Consulte também API - sistema (cadeia de caracteres systemId). |
| object.variable_name | Nome da variável do campo de entrada. Tipo de dados: Cadeia de caracteres |
| rótulo.objeto | Nome de exibição do campo de entrada. Tipo de dados: Cadeia de caracteres |
| object.data_type | Tipo de dados da entrada de operação. Tipo de dados: Cadeia de caracteres |
| objeto.obrigatório | Sinalizador que indica se o campo de entrada é obrigatório. Valores válidos:
Tipo de dados: Booliano |
Obtenha entradas disponíveis para criar um código de empresa.
const inputs = new sn_erp_integration.API()
.system('system1')
.model('company_code')
.operation('read')
.getAvailableInputs();
gs.info(JSON.stringify(operations, null, 2));
Saída:
[
{
"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()
Retorna uma lista de modelos disponíveis para o sistema selecionado.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Matriz de objetos | Lista de modelos disponíveis listados como um objeto JSON com uma propriedade de ID, nome e descrição. Emite um erro se nenhum sistema tiver sido selecionado. Consulte também API - sistema (cadeia de caracteres systemId). |
| object.id | ID do modelo. Use este valor para selecionar um modelo com API - model (cadeia de caracteres modelId) método. Tipo de dados: Cadeia de caracteres |
| object.name | Rótulo do modelo, ou seja, o nome de exibição. Tipo de dados: Cadeia de caracteres |
| object.description | Descrição do modelo. Tipo de dados: Cadeia de caracteres |
O exemplo a seguir mostra como recuperar todos os modelos disponíveis para um sistema selecionado.
// Get all available models for system1
const models = new sn_erp_integration.API()
.system('system1')
.getAvailableModels();
gs.info(JSON.stringify(models, null, 2));
Saída:
[
{
"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()
Obtém as operações disponíveis para o modelo selecionado.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Matriz | Lista de operações do modelo ERP disponíveis. Emite um erro se nenhum modelo ou sistema tiver sido selecionado. |
| object.id | ID de operação do modelo. Use este valor para selecionar uma operação de modelo com API - Operação (cadeia de caracteres operationId) método. Tipo de dados: Cadeia de caracteres |
| object.name | Rótulo de operação do modelo, ou seja, o nome de exibição. Tipo de dados: Cadeia de caracteres |
O exemplo a seguir mostra como obter todas as operações disponíveis para company_codemodelo.
const operations = new sn_erp_integration.API()
.system('system1')
.model('company_code')
.getAvailableOperations();
gs.info(JSON.stringify(operations, null, 2));
Saída:
[
{
"id": "create",
"name": "Company Code - Create"
},
{
"id": "read",
"name": "Company Code - Read"
}
]
API - getAvailableOutputs()
Obtém uma lista de todos os campos de saída disponíveis para a operação selecionada.
Os nomes de campo retornados por este método podem ser usados com API - campos (campos de matriz) método para filtrar resultados de campo.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Matriz de objetos | Lista de campos de saída disponíveis. Emite um erro se nenhum modelo ou sistema tiver sido selecionado. Consulte também API - sistema (cadeia de caracteres systemId). |
| object.variable_name | Nome da variável do campo de saída. Tipo de dados: Cadeia de caracteres |
| rótulo.objeto | Nome de exibição do campo de saída. Tipo de dados: Cadeia de caracteres |
| object.data_type | Tipo de dados da saída da operação. Tipo de dados: Cadeia de caracteres |
O exemplo a seguir mostra como obter a saída disponível fornecida lendo uma operação de modelo chamada 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));
Saída:
[
{
"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()
Obtém uma lista de todos os sistemas ERP disponíveis que podem ser acessados por meio da API.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Matriz de objetos | Lista de sistemas ERP disponíveis. |
| object.id | ID do sistema. Use este valor para selecionar um sistema com API - sistema (cadeia de caracteres systemId) método. Tipo de dados: Cadeia de caracteres |
| object.name | Rótulo do sistema, ou seja, o nome de exibição. Tipo de dados: Cadeia de caracteres |
O exemplo a seguir mostra como obter uma lista de todos os sistemas ERP disponíveis.
const systems = new sn_erp_integration.API().getAvailableSystems();
gs.info(JSON.stringify(systems));
Saída:
[
{
"id": "system1",
"name": "SAP DEV"
},
{
"id": "system2",
"name": "SAP PROD"
}
]
API - getRequiredInputs()
Retorna da lista de somente os campos de entrada obrigatórios para o modelo selecionado e a operação de criação.
Os campos de entrada obrigatórios são definidos quando os modelos são criados.
Para obter uma lista completa de campos de entrada para um modelo selecionado, use API - getAvailableInputs() método.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Matriz de objetos | Lista de nomes de campos de entrada obrigatórios. |
| object.variable_name | Nome da variável do campo de entrada obrigatório. Tipo de dados: Cadeia de caracteres |
| rótulo.objeto | Nome de exibição do campo de entrada obrigatório. Tipo de dados: Cadeia de caracteres |
| object.data_type | Tipo de dados da entrada necessária da operação. Tipo de dados: Cadeia de caracteres |
| objeto.obrigatório | Sinalizador que indica se o campo de entrada é obrigatório. Este método retorna resultados somente se o valor for verdadeiro. Tipo de dados: Booliano |
O exemplo a seguir mostra como retornar os campos de entrada necessários para criar uma fatura.
const requiredInputs = new sn_erp_integration.API()
.system('system1')
.model('invoice')
.operation('create')
.getRequiredInputs();
gs.info(JSON.stringify(requiredInputs, null, 2));
Saída:
{
"variable_name": "INVOICE01",
"label": "INVOICE01",
"data_type": "array",
"required": true
}
API - idocConfig (cadeia de caracteres configId)
Seleciona uma configuração do IDoc para operar.
| Nome | Tipo | Descrição |
|---|---|---|
| configId | Cadeia de caracteres | ID da configuração de saída do IDoc. Para recuperar uma lista de IDs de configuração do IDoc, use API - getAvailableIdocConfigs() método. |
| Tipo | Descrição |
|---|---|
| Objeto | Retorna esta instância para encadeamento. |
O exemplo a seguir mostra como selecionar uma configuração do IDoc e definir valores para processamento.
const api = new sn_erp_integration.API()
.system('system1')
.idocConfig('OBC0001002')
.withJSON({
idoc_field1: 'value1',
idoc_field2: 'value2'
})
.execute();
API - Limite (número máximo)
Limita o número de resultados retornados.
| Nome | Tipo | Descrição |
|---|---|---|
| máx. | Número | Número máximo de registros a serem retornados. |
| Tipo | Descrição |
|---|---|
| Objeto | Retorna esta instância para encadeamento. |
O exemplo a seguir mostra como recuperar somente os primeiros 10 registros de código da empresa.
// 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 (cadeia de caracteres modelId)
Seleciona um modelo para operar.
| Nome | Tipo | Descrição |
|---|---|---|
| modelId | Cadeia de caracteres | O ID do modelo. Para recuperar uma lista de todos os modelos com seus IDs, use API - getAvailableModels(). |
| Tipo | Descrição |
|---|---|
| Objeto | Retorna esta instância para encadeamento. |
O exemplo a seguir mostra como selecionar o modelo company_code no system1. Você pode encadear métodos adicionais para obter e definir dados para o modelo selecionado.
const api = new sn_erp_integration.API()
.system('system1')
.model('company_code')
.execute();
API - deslocamento (início do número)
Define o deslocamento inicial dos resultados.
| Nome | Tipo | Descrição |
|---|---|---|
| iniciar | Número | Ponto de partida no qual começar a recuperar os resultados. Por exemplo, definir este valor como 10 ignora os primeiros 10 resultados retornados em uma consulta. |
| Tipo | Descrição |
|---|---|
| Objeto | Retorna esta instância para encadeamento. |
O exemplo a seguir mostra como recuperar 10 registros de código da empresa ignorando os primeiros 10 resultados (11-20).
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 - Operação (cadeia de caracteres operationId)
Seleciona uma operação a ser usada em um modelo selecionado.
Para retornar uma lista de operações do modelo, use API - getAvailableOperations().
| Nome | Tipo | Descrição |
|---|---|---|
| OperationId | Cadeia de caracteres | O ID da operação do modelo. |
| Tipo | Descrição |
|---|---|
| Objeto | Retorna esta instância para encadeamento. |
O exemplo a seguir mostra como selecionar a operação de leitura para company_codemodelo.
const api = new sn_erp_integration.API()
.system('system1')
.model('company_code')
.operation('read')
.execute();
API - Definir (campo de cadeia de caracteres, valor de cadeia de caracteres)
Define um valor de campo único para operações de criação ou atualização.
| Nome | Tipo | Descrição |
|---|---|---|
| Assunto: | Cadeia de caracteres | Nome do campo no qual definir um valor. |
| valor | Cadeia de caracteres | Valor a ser definido para o campo. |
| Tipo | Descrição |
|---|---|
| Objeto | Retorna esta instância para encadeamento. |
O exemplo a seguir mostra como criar uma entrada de código da empresa e atribuir valores de campo a ela.
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();
O exemplo a seguir mostra como atualizar um documento de vendas com propriedades aninhadas. Para estruturas de dados aninhadas com níveis adicionais, use API - withJSON (dados do objeto).
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 - sistema (cadeia de caracteres systemId)
Seleciona um sistema para operar.
| Nome | Tipo | Descrição |
|---|---|---|
| SystemId | Cadeia de caracteres | O ID do sistema. Você pode recuperar o ID do sistema usando API - getAvailableSystems() método. |
| Tipo | Descrição |
|---|---|
| Objeto | Retorna esta instância para encadeamento. |
O exemplo a seguir mostra como selecionar um sistema. Você pode encadear métodos adicionais para selecionar um modelo no sistema e métodos adicionais para usar dados no sistema selecionado.
const api = new sn_erp_integration.API().system('system1');
API - withJSON (dados do objeto)
Define dados JSON para a operação. Para operações de leitura, este método define condições de filtro. Para operações de criação ou atualização, este método define os campos com dados a serem criados ou atualizados.
Consulte também API - Definir (campo de cadeia de caracteres, valor de cadeia de caracteres).
| Nome | Tipo | Descrição |
|---|---|---|
| dados | Objeto | Campos de listagem de dados JSON e seus valores. Formato: |
| Tipo | Descrição |
|---|---|
| Objeto | Retorna esta instância para encadeamento. |
O exemplo a seguir mostra como definir dados para uma operação de criação.
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();
O exemplo a seguir mostra como definir um filtro aninhado para uma operação de leitura.
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();