Função responsável por alimentar informações quando o tipo de envio é Event upsert.
O conteúdo da função é responsável por buscar os valores das tabelas relacionados ou inseridos no Mapper e repassar para o Helper. Podem ser utilizadas sub-rotinas de outros fontes com regra de negócio para buscar as informações necessárias.
Utilizando a prática sugerida no LoadUsualContent não será necessário carregar os dados dos códigos da chave primária.
Sintaxe
EAIAdapter<Transação><versão>_LoadUpsertContent()
Retorno
| Tipo | Valor | Descrição |
|---|---|---|
| Bool | TRUE | Indica que os dados foram alimentados com sucesso e deverá continuar o gerenciamento do adapter |
| FALSE | Caso ocorram falhas ou parametrizações erradas. O retorno falso ocasionará na interrupção do SendBusinessMessage. |
Exemplo
#--------------------------------------------------#
FUNCTION EAIAdapterSalesOrder1_LoadUpsertContent()
#--------------------------------------------------#
### Nesse ponto serão somente carregados os dados utilizados pela mensagem do tipo 'upsert'.
IF NOT vdpm46_pedidos_leitura(mr_pedidos.cod_empresa, mr_pedidos.num_pedido, TRUE, TRUE) THEN
CALL log0030_processa_err_sql('LEITURA','PEDIDOS',1)
RETURN FALSE
END IF
LET mr_pedidos.cod_cliente = vdpm46_pedidos_get_cod_cliente()
LET mr_pedidos.num_pedido_cli = vdpm46_pedidos_get_num_pedido_cli()
LET mr_pedidos.cod_transpor = vdpm46_pedidos_get_cod_transpor()
LET mr_pedidos.cod_cnd_pgto = vdpm46_pedidos_get_cod_cnd_pgto()
LET mr_pedidos.pct_desc_financ = vdpm46_pedidos_get_pct_desc_financ()
LET mr_pedidos.pct_desc_adic = vdpm46_pedidos_get_pct_desc_adic()
LET mr_pedidos.dat_emis_repres = vdpm46_pedidos_get_dat_emis_repres()
LET mr_pedidos.ies_frete = vdpm46_pedidos_get_ies_frete()
LET mr_pedidos.pct_frete = vdpm46_pedidos_get_pct_frete()
LET mr_pedidos.cod_consig = vdpm46_pedidos_get_cod_consig()
LET mr_pedidos.cod_moeda = vdpm46_pedidos_get_cod_moeda()
LET mr_pedidos.ies_sit_pedido = vdpm46_pedidos_get_ies_sit_pedido()
CALL EAIHelperSalesOrder1_set_BusinessContent_CustomerCode(mr_pedidos.cod_cliente)
CALL EAIHelperSalesOrder1_set_BusinessContent_CustomerOrderId(mr_pedidos.num_pedido_cli)
CALL EAIHelperSalesOrder1_set_BusinessContent_CarrierCode(mr_pedidos.cod_transpor)
CALL EAIHelperSalesOrder1_set_BusinessContent_PaymentTermCode(mr_pedidos.cod_cnd_pgto)
CALL EAIHelperSalesOrder1_set_BusinessContent_FinancialDiscount(mr_pedidos.pct_desc_financ)
CALL EAIHelperSalesOrder1_set_BusinessContent_TotalDiscount(mr_pedidos.desconto_total)
CALL EAIHelperSalesOrder1_set_BusinessContent_RegisterDate(EAIHelperSalesOrder1_formata_data_saida( mr_pedidos.dat_emis_repres))
CALL EAIHelperSalesOrder1_set_BusinessContent_RequestDate(EAIHelperSalesOrder1_formata_data_saida( mr_pedidos.dat_emis_repres))
CALL EAIHelperSalesOrder1_set_BusinessContent_FreightValue(mr_pedidos.val_frete)
CALL EAIHelperSalesOrder1_set_BusinessContent_RedeliveryCarrierCode(mr_pedidos.cod_consig)
CALL EAIHelperSalesOrder1_set_BusinessContent_InsuranceValue(mr_pedidos.val_seguro)
CALL EAIHelperSalesOrder1_set_BusinessContent_CurrencyCode(mr_pedidos.cod_moeda)
IF mr_pedidos.ies_frete = 3 THEN
CALL EAIHelperSalesOrder1_set_BusinessContent_FreightType(2)
ELSE
CALL EAIHelperSalesOrder1_set_BusinessContent_FreightType(1)
END IF
CASE mr_pedidos.ies_sit_pedido
WHEN 'N' CALL EAIHelperSalesOrder1_set_BusinessContent_Status('1')
WHEN 'B' CALL EAIHelperSalesOrder1_set_BusinessContent_Status('2')
#WHEN '' CALL EAIHelperSalesOrder1_set_BusinessContent_Status('3')
WHEN 'F' CALL EAIHelperSalesOrder1_set_BusinessContent_Status('4')
#WHEN '' CALL EAIHelperSalesOrder1_set_BusinessContent_Status('5')
WHEN 'E' CALL EAIHelperSalesOrder1_set_BusinessContent_Status('6')
WHEN '9' CALL EAIHelperSalesOrder1_set_BusinessContent_Status('7')
END CASE
FOR l_ind = 1 TO 1000
IF mr_pedidos.ma_itens[l_ind].num_sequencia IS NULL THEN
EXIT FOR
END IF
CALL EAIHelperSalesOrder1_set_BusinessContent_SalesOrderItens_Item_CompanyId( mr_pedidos.cod_empresa,l_ind)
CALL EAIHelperSalesOrder1_set_BusinessContent_SalesOrderItens_Item_OrderId( mr_pedidos.num_pedido,l_ind)
CALL EAIHelperSalesOrder1_set_BusinessContent_SalesOrderItens_Item_OrderItem( mr_pedidos.ma_itens[l_ind].num_sequencia,l_ind)
CALL EAIHelperSalesOrder1_set_BusinessContent_SalesOrderItens_Item_ItemCode( mr_pedidos.ma_itens[l_ind].cod_item,l_ind)
CALL EAIHelperSalesOrder1_set_BusinessContent_SalesOrderItens_Item_ItemDescription( mr_pedidos.ma_itens[l_ind].den_item,l_ind)
CALL EAIHelperSalesOrder1_set_BusinessContent_SalesOrderItens_Item_Quantity( mr_pedidos.ma_itens[l_ind].qtd_pecas_solic,l_ind)
CALL EAIHelperSalesOrder1_set_BusinessContent_SalesOrderItens_Item_UnityPrice( mr_pedidos.ma_itens[l_ind].pre_unit,l_ind)
CALL EAIHelperSalesOrder1_set_BusinessContent_SalesOrderItens_Item_TotalPrice( mr_pedidos.ma_itens[l_ind].pre_total,l_ind)
CALL EAIHelperSalesOrder1_set_BusinessContent_SalesOrderItens_Item_CustomerOrderNumber( mr_pedidos.num_pedido_cli,l_ind)
CALL EAIHelperSalesOrder1_set_BusinessContent_SalesOrderItens_Item_DiscountPercentage( mr_pedidos.ma_itens[l_ind].pct_desc_adic,l_ind)
CALL EAIHelperSalesOrder1_set_BusinessContent_SalesOrderItens_Item_FreightValue( mr_pedidos.ma_itens[l_ind].val_frete,l_ind)
CALL EAIHelperSalesOrder1_set_BusinessContent_SalesOrderItens_Item_UnitWeight( mr_pedidos.ma_itens[l_ind].pes_unit,l_ind)
END FOR
RETURN TRUE
END FUNCTION
Import HTML Content
Visão Geral
Conteúdo das Ferramentas