Exemplo do Ponto de Entrada SD3250I.
Exemplo do Ponto de Entrada:
//Bibliotecas
#Include "Protheus.ch"
/*------------------------------------------------------------------------------------------------------*
| P.E.: SD3250I |
| Desc: Função para gravar informações na SD3 após gerar a produção |
| Links: http://tdn.totvs.com/pages/releaseview.action?pageId=6087850 |
*------------------------------------------------------------------------------------------------------*/
User Function SD3250I()
Local aArea := GetArea()
Local aAreaD3 := SD3->(GetArea())
Local aAreaC2 := SC2->(GetArea())
Local cOP
//Pegando o número da op
cOp := Alltrim(SD3->D3_OP)
//Seleciona os apontamentos dessa OP, que estejam com o campo customizado em branco
cQuery := " SELECT "
cQuery += " SD3.R_E_C_N_O_ AS RECNUM "
cQuery += " FROM "
cQuery += " "+RetSQLName("SD3")+" SD3 "
cQuery += " WHERE "
cQuery += " SD3.D_E_L_E_T_ ='' "
cQuery += " AND D3_FILIAL = '"+xFilial('SD3')+"' "
cQuery += " AND D3_OP LIKE '" + cNumOp + "%' "
cQuery += " AND D3_X_CAMPO = '' "
TCQuery cQuery New Alias "QRY_TST"
//Enquanto tiver registros
While ! QRY_TST->(EoF())
SD3->(DbGoTo(QRY_TST->RECNUM))
//Atualizando o campo customizado
RecLock("SD3", .F.)
D3_X_CAMPO := "TESTE"
SD3->(MsUnlock())
QRY_TST->(DbSkip())
EndDo
QRY_TST->(DbCloseArea())
RestArea(aAreaC2)
RestArea(aAreaD3)
RestArea(aArea)
Return
Observações:
– Caso tenha dúvidas ou problemas com os exemplos, entre em contato;
– Se tiver sugestões de rotinas, pode entrar em contato;