01. GENERAL DATA

Product:

TOTVS Backoffice

Product Line:

Microsiga Protheus Line

Industry:

Services

Module:

TOTVS Backoffice (Protheus Line) - Fixed Asset (SIGAFIS)

Function:

ATFA050 - AF050FPR

Country:

Brazil

Ticket:

Internal

Requirement/Story/Issue:

DSERCTR1-39974


02. STATUS/REQUISITION

Entry point AF050FPR allows selecting certain assets to be disregarded in the Monthly Calculation of depreciation.

The examples used in this document are merely illustrative.

The impacts caused by using the entry point are the total responsibility of the customer that implements them.

You may run this EP via PROCEDURE or ADVPL. If you perform the depreciation calculation without procedure, use the EP in ADVPL; whereas, if you perform the depreciation calculation with PROCEDURE, use the EP via PROCEDURE 


03. SOLUTION

Explanation and contextualization regarding the use of the EP.


Entry point when the Depreciation Calculation is performed by procedures. Note that, to use procedure AF050FPR, you must encode/develop it in the native language of the SGBD you are using.  If you use ORACLE, encode it in ORACLE, if MSSQLSERVER, encode it in SQLSERVER and if in POSTGRES, encode it in POSTGRES.

The example below is in Oracle.


Procedure to use the procedure AF050FPR or any other Entry Point in procedure.

  • Install the main procedure package and check whether the Entry Point was created, being mindful of parameter MV_DROPPE.
  • It must be set to "F" to not delete the Entry Points.


Note this procedure is always installed in the database:


Note: note that the EP is always executed in the call of the main procedure ATF001 as follows:

AF050FPR_11_T1 (vcFilial , vcN3_CBASE , vcN3_ITEM , vcN3_TIPO , vcN3_SEQ , IN_DATADEP , vcCalcula );

Example in PROCEDURE:


It is important to pay attention to the procedure in which you must encode, in the database language.


If encoded in ADVPL:

User Function AF050FPR()

	Local lRet := .F.
	Local cChave := Paramixb[1]
	Local aChave := {}

	// Monta array para itens que não serão depreciados
	// CBASE CITEM
	AADD(aChave, "100003 03 " )
	AADD(aChave, "100005 05 " )
	AADD(aChave, "111111 11 " )

	If Ascan(aChave, cChave) # 0
		lRet := .T.
		Alert("Ponto de entrada AF050FPR() executado")
	EndIf

Return lRet


04. OTHER INFORMATION



If ExistBlock("AF050FPR")
	If ExecBlock("AF050FPR",.F.,.F.,{cChave})
		DbSelectarea(cAliasSn3)
		(cAliasSn3)->( DbSkip() )
		Loop
	EndIf
EndIf
AF050FPR_11_XX (vcFilial , vcN3_CBASE , vcN3_ITEM , vcN3_TIPO , vcN3_SEQ , IN_DATADEP , vcCalcula );




Parâmetros em ADVPL:

ParâmetrosTipoDescrição
cChave - PARAMIXB[1]CaractereChave retornada para utilização


Parâmetros em PROCEDURE:

ParâmetrosTipoDescrição
IN_FILIALCaractereFilial utilizada
IN_CBASECaractereCódigo base
IN_ITEMCaractereItem do Código Base
IN_TIPOCaractereTipo do bem
IN_SEQCaractereSequencia da inclusão do bem
IN_DATACaractereData da depreciação
OUT_RESULTCaractereResultado retornado da procedure. Se "0" pula o registro, Se "1" não


Retorno do ponto de entrada ADVPL e PROCEDURE:

ModoRetornoTipo
PROCEDUREOUT_RESULTCaractere
ADVPLlRetLógico


05. RELATED SUBJECTS