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
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas