Page tree

Ponto de Entrada - LJ901SA1

Este Ponto de Entrada é executado nas rotinas LOJA901 e LOJA901A, para informação dos dados a serem cadastrados na rotina de geração de Clientes (MATA030).

Descrição:

Atualizações\Cadastros

Localização:

E-commerce

Eventos:

Monitor Serv. CiaShop

Programa Fonte:

LOJA901 - Compradores

LOJA901A  - Pedidos

Função:

Protheus

Parâmetos:

Nome

Tipo

Descrição

nOrigem

 

Numérico

Indicativo da rotina em execução, onde: 1 - LOJA901 - Compradores ou 2-  LOJA901A - Geração de Cliente com Endereço de Entrega

 

aCli 

Array

Array dos Campos a serem inseridos pela rotina automática

 

oAComp

 

Objeto

Objeto XML do Comprador, caso a origem seja 1

 
 oAPed ObjetoObjeto do XML do Pedido de Venda, caso a origem seja 2

 

 

Retorno:

Nome

Tipo

Descrição

Obrigatório

 aCli

 Array

Campos a serem inseridos na rotina automática; se não tiver campos a inserir, retornar array vazio

 

Sim

 

Exemplo:

#Include 'Protheus.ch'

User Function LJ901SA1()

Local nOrigem := NIL
Local aCli := {}
Local oAComp := NIL
local oAPed := {}
Local aAreaSA1 := {}
Local cCPFCli := ""
Local nPos := 0

//Tratamento dos parâmetros de entrada
If ValType(PARAMIXB) == "A" .AND. Len(PARAMIXB) >= 4 .AND. ;
  ValType(PARAMIXB[1]) == "N"  .AND. ValType(PARAMIXB[2]) == "A"
  nOrigem := PARAMIXB[1]
  aCli := aClone(PARAMIXB[2])
  If nOrigem == 1 .AND. ValType(PARAMIXB[3]) == "O"
   //Chamada pela rotina de inclusão de Compradores  -LOJA901
   oAComp := PARAMIXB[3]
   //Chamada pela origem de compradores
   aAdd(aCli, {"A1_SEXO"  , oAComp:_SEXO:TEXT, ""}) 
  ElseIf nOrigem == 2 .AND.  ValType(PARAMIXB[4]) == "O"
   //Chamada pela rotina de Pedido  - loja901A - ENDEREÇO DE ENTREGA
   oAPed := PARAMIXB[4]
   nPos := aScan(aCli, { |l| l[1] == "A1_CGC"})
   If nPos > 0
    cCPFCli :=  aCli[nPos, 02]
   EndIf
   
   If !Empty(cCPFCli)
    aAreaSA1 := SA1->(GetArea())
    SA1->(DbSetOrder(3)) //A1_FILIAL + A1_CGC
    
    If SA1->(DbSeek(xFilial("SA1") + cCPFCli))
     aAdd(aCli, {"A1_SEXO"  , SA1->A1_SEXO, ""}) 
    EndIf
    
    RestArea(aAreaSA1)
   EndIf
  EndIf
EndIf

Return aCli