Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Descrição

Ponto de Entrada para customização, disponível após a gravação dos registros da tabela SLV - Tabela de Transação TEF na Baixa de Títulos - na Retaguarda, na execução do job LjGrvBatch().

Os dados virão em forma de Array, agrupados por número do título (LV_PREFIXO/LV_NUMERO/LV_PARCELA/LV_TIPO), sendo que cada linha corresponde a uma transação TEF.

VersõesProtheus 12
Parâmetros

PARAMIXB[1] :
PARAMIXB[1] [1] - Prefixo (LV_PREFIXO)
PARAMIXB[1] [2] - Número (LV_NUMERO)
PARAMIXB[1] [3] - Parcela (LV_PARCELA)
PARAMIXB[1] [4] - Tipo (LV_TIPO)
PARAMIXB[1] [5] - Sequência (LV_SEQ)
PARAMIXB[1] [6] - Filial de Origem (LV_FILORIG)
PARAMIXB[1] [7] - Código do Cliente (LV_CLIENTE)
PARAMIXB[1] [8] - Loja do Cliente (LV_LOJA)
PARAMIXB[1] [9] - Forma de Pagamento (LV_FORMA)
PARAMIXB[1] [10] - Valor (LV_VALOR)
PARAMIXB[1] [11] - Data da transação TEF (LV_DATATEF)

PARAMIXB[1] [12] - Hora da transação TEF (LV_HORATEF)
PARAMIXB[1] [13] - Número do Documento TEF (LV_DOCTEF)

PARAMIXB[1] [14] - Código de Autorização TEF (LV_AUTORIZ)

PARAMIXB[1] [15] - Instituição TEF (LV_INSTITU)

PARAMIXB[1] [16] - NSU TEF (LV_NSUTEF)

PARAMIXB[1] [17] - Tipo de Cartão (LV_TIPCART)

PARAMIXB[1] [18] - Sequência de Operação (LV_SEQOPER)


RetornoNulo
Programa FonteLOJXREC.PRW
Exemplo

#Include 'Protheus.ch'

User FUNCTION LjRecSlv()



Local aSE5Dados := ParamIxb[1]
Local nTamLvNum := TamSX3("LV_NUMERO")[1]
Local nTamLvPar := TamSX3("LV_PARCELA")[1]
Local aMDMArea  := MDM->(GetArea())
Local aMDNArea  := MDN->(GetArea())
Local nX := 0

MDM->(DbSetOrder(1))    //MDM_FILIAL+MDM_BXFILI+MDM_PREFIX+MDM_NUM+MDM_PARCEL+MDM_TIPO+MDM_SEQ+MDM_LOTE
MDN->(DbSetOrder(2))    //MDN_FILIAL+MDN_LOTE                                                                                           

For nX := 1 to Len(aSE5Dados)

    ConOut("SLV: Titulo " + aSE5Dados[nX,1]+Substr(aSE5Dados[nX,2],1,nTamLvNum)+SubStr(aSE5Dados[nX,3],1,nTamLvPar)+", Sequencia "+aSE5Dados[nX,5])
    ConOut("SLV: Data, Hora e Autorizacao TEF: "+aSE5Dados[nX,11]+" "+aSE5Dados[nX,12]+"-"+aSE5Dados[nX,14])

    //Pesquisa tabela MDM-Log de Titulos Baixados
    If MDM->(Dbseek(xFilial("MDM")+aSE5Dados[nX,6]+aSE5Dados[nX,1]+Substr(aSE5Dados[nX,2],1,nTamLvNum)+SubStr(aSE5Dados[nX,3],1,nTamLvPar)+;
       aSE5Dados[nX,4]))

        While !MDM->(Eof()) .AND. ;
        aSE5Dados[nX,6]+aSE5Dados[nX,1]+Substr(aSE5Dados[nX,2],1,nTamLvNum)+SubStr(aSE5Dados[nX,3],1,nTamLvPar)+aSE5Dados[nX,4] = SLV->LV_FILORIG+SLV->LV_PREFIXO+SLV->LV_NUMERO+SLV->LV_PARCELA

            ConOut("MDM: Lote do titulo "+MDM->MDM_PREFIX+MDM->MDM_NUM+MDM->MDM_PARCEL+ ": " + MDM->MDM_LOTE)

            //Pesquisa tabela MDN-Log de Titulos Gerados
            If MDN->(Dbseek(xFilial("MDN")+MDM->MDM_LOTE))
                While !MDN->(EOF()) .AND. MDM->MDM_LOTE = MDN->MDN_LOTE

                    ConOut("MDN: Numero de sequencia do lote "+ MDN->MDN_LOTE+ ": " + MDN->MDN_NUM)
                    MDN->(DbSkip())
                EndDo
            EndIf

            MDM->(DbSkip())
        EndDo

    EndIf

Next

RestArea(aMDMArea)
RestArea(aMDNArea)

Return nil

...