Hoje quando estamos desenvolvendo, testando ou homologando um processo Peoplesoft seja ela um SQR, um App. Engine ou um COBOL somos questionados sobre a performance e o “tempo de processamento”. Quanto tempo este processo está onerando?
Você pode controlar o tempo de processamento de uma determinada procedure ou um passo dentro do SQR. A solução proposta também pode ser aplicada a uma determinada função em PeopleCode, um determinado Step dentro de um App. Engine ou um processo inteiro.
Abaixo segue um exemplo deste controle de tempo em SQR.
Begin-Program let $tempo_inicial = edit(datenow(), 'DD/MM/YYYY-HH:MI:SS:NNNN') do Procedure_1 let $tempo_final = edit(datenow(), 'DD/MM/YYYY-HH:MI:SS:NNNN') let #tempo_total = datediff(strtodate($tempo_final,'DD/MM/YYYY-HH:MI:SS:NNNN'), strtodate($tempo_inicial,'DD/MM/YYYY-HH:MI:SS:NNNN),'minute') show 'Tempo Total de Processamento = ' #tempo_total 'minutes' End-Program
Na primeira linha do nosso programa a variável $tempo_inicial guarda o momento exato em que o processamento foi startado. Utilizamos o comando edit para formatar o retorno da função DATENOW() que traz a data/hora do sistema.
Na segunda linha utilizamos a sentença de controle ( do ) que faz a chamada a uma procedure (Procedure_1). Neste nosso exemplo dentro da rotina principal “Begin-Program” possuímos a chamada a uma única procedure.
Caso esta procedure não esteja chamando outras procedures, o tempo total de processamento será o tempo gasto pela Procedure_1.
Caso contrário, se a Procedure_1 estiver chamando outras Procedures o tempo total de processamento será o tempo gasto por todas as procedures envolvidas no processo.
Na terceira linha a variável $tempo_final guarda o momento exato em que o processamento foi finalizado. Como foi feito na primeira linha com a variável $tempo_inicial utilizamos o comando edit para formatar o retorno da função DATENOW() que traz a data/hora do sistema.
Na quarta linha a variável #tempo_total é atribuída com a diferença entre as variáveis $tempo_final e $tempo_inicial. O resultado do tempo gasto no processamento do programa SQR é exibido em minutos.
Na quinta e última linha uma mensagem é exibida com o texto “Tempo Total de Processamento = ” concatenada com o valor da variável #tempo_final.