Ponto de Entrada
Localização:
| Function A730RunCalc ()- Função utilizada para verificar o saldo da operação a ser alocado.
|
Em que ponto: | Filtra as Operações que deverão entrar na “Carga Acumulativa”. Poderá aplicar-se o filtro na tabela SH8 e/ou SG2, dependendo da opção selecionada no parâmetro MV_PAR08. |
Programa Fonte: | MATA730.PRX |
Sintaxe: | A730FILT - Filtra Operações ( [ PARAMIXB ] ) --> aRet |
Retorno: | aRet(vetor) aArray[1] = Expressão (Caracter) para filtro do SH8. aArray[2] = Expressão (Caracter) para filtro do SG2. |
Observações: |
|
Exemplo:
User Function A730FILT()
//-- Recebe a opção seta no parâmetro MV_PAR08 (Considera Informações?)
Local nTpCarga := PARAMIXB
Local cFilSG2 := ''Local cFilSH8 := ''Local aRet[2]
//-- Cria um Array com dois elementos
/*---------------------------------------------------
A tabela SC2 (Ordem de Produção) está posicionada na aplicação do filtro nas duas tabelas (SH8/SG2).
--------------------------------------------------- */
//-- Verifica se a Carga Acumulativa será pelo SH8 (Carga Maq.)
If nTpCarga == 1
//-- Não adiciona no Carga Acumulativa as Operações que utilizam o Recurso 000001.
cFilSH8 := 'Trim(SH8->H8_RECURSO) <> '000001''
//-- Verifica se o Carga Acumulativa sera pelo SG2 (Roteiro Operação).
ElseIf nTpCarga == 2
//-- Não adiciona no Carga Acum. a Operação 03 do Roteiro 01 referente ao produto PA1-CARGA.
cFilSG2 := 'If(Trim(SG2->G2_PRODUTO) == 'PA1-CARGA' .and. SG2->G2_CODIGO == '01',SG2->G2_OPERAC <> '03',.T.)'
EndIf /*
----------------------------------------------------------------------------------
Composição do aRet.aRet => Array contendo dois elementos, onde :aRet[1] => Expressão (Caracter) para filtro do SH8.
aRet[2] => Expressão (Caracter) para filtro do SG2.
Obs.: Quando não utilizar um dos dois filtros, poderá retornar Vazio para o elemento
-----------------------------------------------------------------------------------*/
aRet:= {cFilSH8,cFilSG2}
Return(aRet)