Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.

TOTVS Manufactura - Totvs Manufactura (Línea Protheus) MI - Planificación y Control de la Producción (SIGAPCP) - PA145GER - Personalizaciones en la generación de documentos MRP

time.png Tiempo aproximado de lectura: 00:15:00 min

Duda

Como funciona el punto PA145GER - Personalizaciones en la generación de documentos MRP ?

Ambiente
TOTVS Manufactura - Totvs Manufactura (Línea Protheus) MI - Planificación y Control de la Producción (SIGAPCP) - Todas las versiones 12

Solución

Punto de entrada

Descripción:
El punto de entrada PA145GER se ejecuta cuando todos los documentos MRP (PCPA712 o PCPA144) terminan de generarse.
Ubicación:

Clase ProcessaDocumentos, método process() - Responsable de realizar la generación de documentos

Eventos:

Al finalizar la generación de los documentos, se abre un nuevo hilo exclusivo para la ejecución del punto de entrada.

Programa fuente: PCPA145. PRW

Sintaxis:

PA145GER( [ cTicket ] ) --> Cero

Devolución:

Nulo. No se espera ningún retorno porque la ejecución se realiza en un proceso separado (otro subproceso), en segundo plano.

Observaciones:

El uso de cualquier componente de interfaz gráfica no está permitido en este punto de entrada, ya que la función se ejecutará en segundo plano.

La rutina principal no esperará a que el punto de entrada termine de funcionar.

 
Ejemplo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#INCLUDE "TOTVS.CH"
 
User Function PA145GER()
    Local cAliasQry := GetNextAlias()
    Local cOrigem   := "PCPA144"
    Local cTicket   := PARAMIXB[1]
 
    //
    //SC7 - Pedidos de Compra/Autorizações de Entrega
    //
    BeginSql Alias cAliasQry
      SELECT C7_FILIAL, C7_NUM, C7_ITEM
        FROM %Table:SC7%
       WHERE C7_SEQMRP = %Exp:cTicket%
         AND %notDel%
    EndSql
 
    While (cAliasQry)->(!Eof())
        //Percorre todos os registros gerados no processamento
        Conout("SC7 - Documento: " + (cAliasQry)->C7_FILIAL + (cAliasQry)->C7_NUM + (cAliasQry)->C7_ITEM)
        (cAliasQry)->(dbSkip())
    End
    (cAliasQry)->(dbCloseArea())
 
    //
    //SC1 - Solicitações de Compra
    //
    BeginSql Alias cAliasQry
      SELECT C1_FILIAL, C1_NUM, C1_ITEM
        FROM %Table:SC1%
       WHERE C1_SEQMRP = %Exp:cTicket%
         AND C1_ORIGEM = %Exp:cOrigem%
         AND %notDel%
    EndSql
 
    While (cAliasQry)->(!Eof())
        //Percorre todos os registros gerados no processamento
        Conout("SC1 - Documento: " + (cAliasQry)->C1_FILIAL + (cAliasQry)->C1_NUM + (cAliasQry)->C1_ITEM)
        (cAliasQry)->(dbSkip())
    End
    (cAliasQry)->(dbCloseArea())
 
    //
    //SC2 - Ordens de Produção
    //
    BeginSql Alias cAliasQry
      SELECT C2_FILIAL, C2_NUM, C2_ITEM, C2_SEQUEN
        FROM %Table:SC2%
       WHERE C2_SEQMRP = %Exp:cTicket%
         AND C2_BATROT = %Exp:cOrigem%
         AND %notDel%
    EndSql
 
    While (cAliasQry)->(!Eof())
        //Percorre todos os registros gerados no processamento
        Conout("SC2 - Documento: " + (cAliasQry)->C2_FILIAL + (cAliasQry)->C2_NUM + (cAliasQry)->C2_ITEM + (cAliasQry)->C2_SEQUEN)
        (cAliasQry)->(dbSkip())
    End
    (cAliasQry)->(dbCloseArea())
 
    //
    //SD4 - Empenhos
    //
    BeginSql Alias cAliasQry
      SELECT SD4.D4_FILIAL, SD4.D4_OP, SD4.D4_COD
        FROM %Table:SD4% SD4
       INNER JOIN %Table:SC2% SC2
          ON SD4.D4_FILIAL = SC2.C2_FILIAL
         AND SD4.D4_OP     = CASE SC2.C2_OP WHEN ' ' THEN
                                SC2.C2_NUM + SC2.C2_ITEM + SC2.C2_SEQUEN + SC2.C2_ITEMGRD //Operador de concatenação de string do banco pode ser diferente
                             ELSE
                                SC2.C2_OP
                             END
       WHERE SD4.%notDel%
         AND SC2.%notDel%
         AND SC2.C2_SEQMRP = %Exp:cTicket%
    EndSql
 
    While (cAliasQry)->(!Eof())
        //Percorre todos os registros gerados no processamento
        Conout("SD4 - Documento: " + (cAliasQry)->D4_FILIAL + (cAliasQry)->D4_OP + (cAliasQry)->D4_COD)
        (cAliasQry)->(dbSkip())
    End
    (cAliasQry)->(dbCloseArea())
 
Return
 
¿Fue útil este artículo?
Usuarios a los que les pareció útil: 0 de 0

0 Comentarios

Inicie sesión para dejar un comentario.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Rellene los campos siguientes para iniciar el chat:

Chat _