Árvore de páginas

Ponto de Entrada

Descrição:

Este ponto de entrada será executado na rotina Import Peças JD (OFINJD01) e permite que o usuário manipule os vetores de Peças (SB1) e Complemento de Peças (SB5) antes da gravação na tabela.


Os vetores a serem manipulados são:

aDadosPeca -> campos do cadastro de Produto (SB1)

aDadosAdPeça -> campos do cadastro de Complemento do Produto (SB5)


Os vetores possuem a mesma estrutura, onde somente o 1º e 2º elementos devem ser considerados:

1º Elemento -> nome do campo que será atualizado (exemplo: B1_COD)

2º Elemento -> conteúdo que será atualizado no campo (exemplo: RE62419)


O 3º e o 4º elementos não devem ser alterados, podendo causar problemas no processo de gravação.

As informações que compõem os vetores aDadosPeca e aDadosAdPeça estão localizados abaixo na linha denominada Eventos.

Localização:

Atualizações \ Peças JD \ Import Peças JD (OFINJD01)

Eventos:

    aDadosPeca := {;

        {'B1_FILIAL'  , ''                  , .T. , .T. },;

        {'B1_COD'     , cPartNumber         , .T. , .T. },;

        {'B1_PESO'    , nShipWeight         , .F. , .F. },;

        {'B1_CRICOD'  , cCritCode           , .F. , .F. },;

        {'B1_DESC'    , cDescription        , IIf(nMV_PAR04==1,.F.,.T.) , .F. },;

        {'B1_QE'      , nPackageQuantity    , .F. , .F. },;

        {'B1_PRV1'    , nListPrice          , .F. , .F. },;

        {'B1_UREV'    , ddatabase           , .F. , .F. },;

        {'B1_DTREFP1' , ddatabase           , .F. , .F. },;

        {'B1_POSIPI'  , cTariffCode         , .F. , .F. },;

        {'B1_CODITE'  , cPartNumber         , .T. , .F. },;

        {'B1_CODFAB'  , cPartNumber         , .T. , .F. },;

        {'B1_PERINV'  , 180                 , .T. , .F. },;

        {'B1_CONV'    , 1                   , .T. , .F. },;

        {'B1_IPI'     , 0                   , .T. , .F. },;

        {'B1_PICMENT' , 0                   , .T. , .F. },;

        {'B1_FLAGSUG' , "1"                 , .T. , .F. },;

        {'B1_CLASSVE' , "1"                 , .T. , .F. },;

        {'B1_ANUENTE' , "2"                 , .T. , .F. },;

        {'B1_MSBLQL'  , "2"                 , .T. , .F. },;

        {'B1_BALANCA' , "0"                 , .T. , .F. },;

        {'B1_ENVOBR'  , "0"                 , .T. , .F. },;

        {'B1_LOCALIZ' , "N"                 , .T. , .F. },;

        {'B1_CONTSOC' , "N"                 , .T. , .F. },;

        {'B1_SITPROD' , "N"                 , .T. , .F. },;

        {'B1_MONO'    , "N"                 , .T. , .F. },;

        {'B1_FANTASM' , "N"                 , .T. , .F. },;

        {'B1_TIPODEC' , "N"                 , .T. , .F. },;

        {'B1_CONTRAT' , "N"                 , .T. , .F. },;

        {'B1_IRRF'    , "N"                 , .T. , .F. },;

        {'B1_GRADE'   , "N"                 , .T. , .F. },;

        {'B1_IMPZFRC' , "N"                 , .T. , .F. },;

        {'B1_TIPOCQ'  , "M"                 , .T. , .F. },;

        {'B1_APROPRI' , "D"                 , .T. , .F. },;

        {'B1_TIPO'    , "ME"                , .T. , .F. },;

        {'B1_SEGUM'   , "PC"                , .T. , .F. },;

        {'B1_UM'      , "PC"                , .T. , .F. },;

        {'B1_ATIVO'   , "S"                 , .T. , .F. },;

        {'B1_PIS'     , "S"                 , .T. , .F. },;

        {'B1_COFINS'  , "S"                 , .T. , .F. },;

        {'B1_ORIGEM'  , ""                  , .T. , .F. },;

        {'B1_GRUDES'  , ""                  , .T. , .F. },;

        {'B1_CLASSE'  , ""                  , .T. , .F. } ;

    }


    if lRemane

        AADD(aDadosPeca, {'B1_REMANE'  , cRetIndicator , .F. , .F. })

    endIF

    if lPedpro

        AADD(aDadosPeca, {'B1_PEDPRO'  , "1"           , .T. , .F. })

    endIF


    aDadosAdPeca := {;

        {'B5_FILIAL'  , ''                , .T. , .T. },;

        {'B5_COD'     , cPartNumber       , .T. , .T. },;

        {'B5_PRV2'    , nNetPrice         , .F. , .F. },;

        {'B5_PRV3'    , nCoreXNetPrice    , .F. , .F. },;

        {'B5_PRV4'    , nCoreXListPrice   , .F. , .F. },;

        {'B5_PRV5'    , nRetCredNetPrice  , .F. , .F. },;

        {'B5_PRV6'    , nRetCredListPrice , .F. , .F. },;

        {'B5_DTREFP2' , dDataBase         , .F. , .F. },;

        {'B5_DTREFP3' , dDataBase         , .F. , .F. } ;

    }


    cFilant := cFilCpl

    aMarca := aDadosMarca[ ASCAN(aDadosMarca, {|aDt| aDt[IDX4_FILIAL] == cFilAnt }) ]´´

    ////////////////////////////////////////////////////////

    // Chamada do Ponto de Entrada para manipulação dos

    // Arrays de Peças (SB1) e Complemnento das Peças (SB5)

    // Antes da gravação

    ////////////////////////////////////////////////////////

    If ExistBlock("OJD01AGR")

        ExecBlock("OJD01AGR",.f.,.f.)    

    Endif

Programa Fonte:

OFINJD01.PRW

Função:

RunProc()


Exemplo:

#Include 'Protheus.ch'

User Function OJD01AGR()

//

MsgAlert("Ponto de Entrada OJD01AGR executado com sucesso!")

//

Return