Páginas filhas
  • Automatic Routine ATFA060 - Assets Transfer

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

CONTENTS

Índice
excludeCONTENTS

01. OVERVIEW

 Example of how to use the automatic routine ATFA060 - Asset Transfer

02. EXAMPLE

...

Description

...

Automatic Routine ATFA060 - Assets Transfer

...

Examples

ACCOUNTING TRANSFER

Bloco de código
languagegroovy
themeMidnight
titleACCOUNTING TRANSFER
linenumberstrue
User Function MyATFA060()

...

 
 
Local aDadosAuto    := {}

...

  // Array with data to be sent by MsExecAuto() for automatic recording.

...

 
Local 

...

aParamAuto    := {}

...

 
Private lMsHelpAuto := .F. // Determine whether help messages must be directed to log file

...

 
Private lMsErroAuto := .F. // Determine whether any inconsistency occurred when running the routine in relation to the parameters entered

...

 
 
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿

...

 
//³ The example below was considered using only ledger account and cost center data. If ³

...

 
//³ needed, transmit the fields related to accounting items and value classes. ³

...

 
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 

...



dDatabase := cTod("08/02/2010") 

...



aDadosAuto:= { {'N3_FILIAL'

...

  ,ALLTRIM(xfilial("SN3")),Nil},; // Code of branch

...

 
               {'N3_CBASE'

...

   , "0000000002"

...

          , Nil},; // Base code of asset

...

 
 

...

 

...

 

...

            {'N3_ITEM'    , "0001"                , Nil},; // Sequential Item of asset base code

...

 
               {'N3_TIPO'

...

   

...

 , "10" , Nil},; // Asset Type 

...

 

...


               {'N4_DATA'

...

    , 

...

dDatabase             , Nil},; // Asset acquisition date

...

 
   

...

 

...

 

...

 

...

 

...

 

...

 

...

 

...

 

...

 

...

 

...

 

...

 {'N3_

...

CCUSTO'  , "123"

...

                 , Nil},; //

...

 Cost Center of Expense 
               {'N3_

...

CCONTAB' , "123"

...

 

...

 

...

 

...

 

...

 

...

            , Nil},; //

...

 Ledger Account 
               {'N3_

...

CCORREC'

...

 , "123"

...

                 , Nil},; // 

...

Asset Correction Account

...

 
 

...

              {'N3_

...

CDEPREC'

...

 , "123"

...

                 , Nil},; // Depreciation Expense Account 

...


 

...

 

...

             {'N3_

...

CCDEPR'

...

  , "123"

...

      

...

 

...

 

...

 

...

 

...

 

...

 

...

 

...

 

...

 

...

 

...

 , Nil},; // 

...

Accrued 

...

Depreciation 

...

Account 
               {'

...

N3_

...

CDESP'

...

   , "

...

123"                 , Nil},; // 

...

Depreciation Correction Account 
               {'N3_CUSTBEM' , "

...

123"                 , Nil},; // 

...

Cost Center

...

 

...

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ If you want to transmit values to the fields, Group, Location, Invoice/Series, Default Rate, consider ³
//³ how the example above uses the corresponding fields of table SN1. ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
// Question parameters of routine atfa060
aAdd( aParamAuto, {"MV_PAR01", 1} ) //Question 01 - Book it ? 1 = Yes ; 2 = No
aAdd( aParamAuto, {"MV_PAR02", 2} ) //Question 02 - Display Accounting Entry ? 1 = Yes ; 2 = No
aAdd( aParamAuto, {"MV_PAR03", 2} ) //Question 02 - Group Entries ? 1 = Yes ; 2 = No

...

MSExecAuto({|x, y, w, z| AtfA060(x, y, w, z)},aDadosAuto, 4 ,, .F.)
If lMsErroAuto
    lRetorno := .F.
    MostraErro()
Else
    lRetorno:=.T.
EndIf
Return
Aviso
titleImportant
In accounting transfer, the Execauto call for each asset must be done separately, because the automatic execution is prepared for transferring one asset type at a time.
PHYSICAL TRANSFER
#Include 'Protheus.ch'
#Include 'Protheus.ch'
#Include 'tbiconn.ch'
User Function MyATFA060()
Local   aDadosAuto  := {}   // Array with data to be sent by MsExecAuto() for automatic recording.
Private lMsHelpAuto := .F.  // Determine whether help messages must be directed to log file
Private lMsErroAuto := .F.   // Determine whether any inconsistency occurred when running the routine in relation to
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ The example below was considered using only ledger account and cost center data. If ³
//³ needed, transmit the fields related to accounting items and value classes.                    ³

...

aDadosAuto:= {{'N3_CBASE'        , "TRANSF    "           , Nil},;    // Base code of asset
               {'N3_ITEM'        , "001 "                 , Nil},;    // Sequential item of asset base code
               {'N3_TIPO'    , "10"                       , Nil},; // Asset Type 
               {'N1_FILIAL'      , "D MG 02 "             , Nil},;    // Asset Destination Branch
               {'N4_DATA'        , dDatabase              , Nil},;    // Asset acquisition date
               {'N3_CCUSTO'      , "         "            , Nil},;    // Cost Center of Expense
               {'N3_CCONTAB'     , "101010100           " , Nil},;    // Ledger Account
               {'N3_CCORREC'     , "                    " , Nil},;    // Asset Correction Account
               {'N3_CDEPREC'     , "201010100           " , Nil},;    // Depreciation Expense Account
               {'N3_CCDEPR'      , "101010300           " , Nil},;    // Accrued Depreciation Account
               {'N3_CDESP'       , "                    " , Nil},;    // Depreciation Correction Account
               {'N3_CUSTBEM'     , "         "            , Nil},;    // Cost Center of Asset Account
               {'N3_CCCORR'      , "         "            , Nil},;    // Indexation Correction Cost Center
               {'N3_CCDESP'      , "         "            , Nil},;    // Depreciation Expense Cost Center
               {'N3_CCCDEP'      , "         "            , Nil},;    // Accrued Expense Cost Center
               {'N3_CCCDES'      , "         "            , Nil},;    // Depreciation Correction Cost Center
               {'N1_GRUPO'       , "    "                 , Nil},;    // Asset Group Code
               {'N1_LOCAL'       , "      "               , Nil},;    // Asset Location
               {'N1_NFISCAL'     , "         "            , Nil},;    // Invoice Number
               {'N1_NSERIE'      , "         "            , Nil},;    // Invoice Series
               {'N1_TAXAPAD'     , "      "               , Nil}}     // Default Rate Code
              
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ If you want to transmit values to the fields, Group, Location, Invoice/Series, Default Rate, consider ³
//³ how the example above uses the corresponding fields of table SN1.                 ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

...

of Asset Account 
               {'N3_CCCORR'  , "123"                 , Nil},; // Indexation Correction Cost Center 
               {'N3_CCDESP'  , "123"                 , Nil},; // Depreciation Expense Cost Center 
               {'N3_CCCDEP'  , "123"                 , Nil},; // Accrued Expense Cost Center 
               {'N3_CCCDES'  , "123"                 , Nil},; // Depreciation Correction Cost Center 
               {'N1_GRUPO'   , "GR01"                , Nil},; // Asset Group Code 
               {'N1_LOCAL'   , "LOCAL"               , Nil},; // Asset Location 
               {'N1_NFISCAL' , "NF001"               , Nil},; // Invoice Number 
               {'N1_NSERIE'  , "SERIE"               , Nil},; // Invoice Series 
               {'N1_TAXAPAD' , "999999"              , Nil},;  // Default Rate Code  
               {'TPN_CTRAB'  , "CT01  "              , Nil},; // Asset Work Center, used only when integrated to SIGAMNT 
               {'TPN_POSCON' , "150"                 , Nil},; // First Asset Counter, used only when integrated to SIGAMNT 
               {'TPN_POSCO2' , "100"                 , Nil}}  // Second Asset Counter, used only when integrated to SIGAMNT 

 
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ 
//³ If you want to transmit values to the fields, Group, Location, Invoice/Series, Default Rate, consider ³ 
//³ how the example above uses the corresponding fields of table SN1. ³ 
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 

// Question parameters of routine atfa060 
aAdd( aParamAuto, {"MV_PAR01", 1} ) //Question 01 - Book it ? 1 = Yes ; 2 = No 
aAdd( aParamAuto, {"MV_PAR02", 2} ) //Question 02 - Display Accounting Entry ? 1 = Yes ; 2 = No 
aAdd( aParamAuto, {"MV_PAR03", 2} ) //Question 02 - Group Entries ? 1 = Yes ; 2 = No 

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ 
// You can set the fourth parameter with the following states.

...


//.T. = Mirror. 

...


//.F. = Update. 

...


//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 

...


MSExecAuto({|x, y, w, z| AtfA060(x, y, w, z)},aDadosAuto, 4 ,

...

,

...

 .F.)

...

 
 
If lMsErroAuto

...

 
    lRetorno := .F.

...

 
    MostraErro()

...

Else   

...

 
Else 
    lRetorno:=.T.

...

EndIf
Return

...

Language

...

Portuguese(Brazil)

...

Versions

...

12.1.6 and higher

...

Operating Systems Supported

...

All

...

Compatible with the following Databases

...

All

 
EndIf 
 
Return
 
Aviso
titleImportant

In accounting transfer, the Execauto call for each asset must be done separately, because the automatic execution is prepared for transferring one asset type at a time.

Bloco de código
languagegroovy
themeMidnight
titlePHYSICAL TRANSFER
linenumberstrue
#Include 'Protheus.ch'
#Include 'Protheus.ch'
#Include 'tbiconn.ch'

User Function MyATFA060()
Local   aDadosAuto  := {}   // Array with data to be sent by MsExecAuto() for automatic recording.
Private lMsHelpAuto := .F.  // Determine whether help messages must be directed to log file
Private lMsErroAuto := .F.   // Determine whether any inconsistency occurred when running the routine in relation to

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ The example below was considered using only ledger account and cost center data. If ³
//³ needed, transmit the fields related to accounting items and value classes.                    ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 

dDatabase := cTod("08/02/2010")

aDadosAuto:= {{'N3_CBASE'        , "TRANSF    "           , Nil},;    // Base code of asset
               {'N3_ITEM'        , "001 "                 , Nil},;    // Sequential item of asset base code
               {'N3_TIPO'    , "10"                       , Nil},; // Asset Type  
               {'N1_FILIAL'      , "D MG 02 "             , Nil},;    // Asset Destination Branch
               {'N4_DATA'        , dDatabase              , Nil},;    // Asset acquisition date
               {'N3_CCUSTO'      , "         "            , Nil},;    // Cost Center of Expense
               {'N3_CCONTAB'     , "101010100           " , Nil},;    // Ledger Account
               {'N3_CCORREC'     , "                    " , Nil},;    // Asset Correction Account
               {'N3_CDEPREC'     , "201010100           " , Nil},;    // Depreciation Expense Account
               {'N3_CCDEPR'      , "101010300           " , Nil},;    // Accrued Depreciation Account
               {'N3_CDESP'       , "                    " , Nil},;    // Depreciation Correction Account
               {'N3_CUSTBEM'     , "         "            , Nil},;    // Cost Center of Asset Account
               {'N3_CCCORR'      , "         "            , Nil},;    // Indexation Correction Cost Center
               {'N3_CCDESP'      , "         "            , Nil},;    // Depreciation Expense Cost Center
               {'N3_CCCDEP'      , "         "            , Nil},;    // Accrued Expense Cost Center
               {'N3_CCCDES'      , "         "            , Nil},;    // Depreciation Correction Cost Center
               {'N1_GRUPO'       , "    "                 , Nil},;    // Asset Group Code
               {'N1_LOCAL'       , "      "               , Nil},;    // Asset Location
               {'N1_NFISCAL'     , "         "            , Nil},;    // Invoice Number
               {'N1_NSERIE'      , "         "            , Nil},;    // Invoice Series
               {'N1_TAXAPAD'     , "      "               , Nil}}     // Default Rate Code
               
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ If you want to transmit values to the fields, Group, Location, Invoice/Series, Default Rate, consider ³
//³ how the example above uses the corresponding fields of table SN1.                 ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ 
// You can set the fourth parameter with the following states.
//.T. = Mirror. 
//.F. = Update. 
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 

MSExecAuto({|x, y, w, z| AtfA060(x, y, w, z)},aDadosAuto, 4, aParamAuto , .F.)

If lMsErroAuto    
    lRetorno := .F.    
    MostraErro()
Else    
    lRetorno:=.T.
EndIf

Return
Bloco de código
languagegroovy
themeMidnight
titlePARTIAL PHYSICAL TRANSFER
linenumberstrue
#Include 'Protheus.ch'
#Include 'Protheus.ch'
#Include 'tbiconn.ch'


User Function MyATFA060()
Local   aDadosAuto  := {}   // Array with data to be sent by MsExecAuto() for automatic recording.
Local aParamAuto    := {} 
Private lMsHelpAuto := .F.  // Determine whether help messages must be directed to log file
Private lMsErroAuto := .F.   // Determine whether any inconsistency occurred when running the routine in relation to

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ The example below was considered using only ledger account and cost center data. If ³
//³ needed, transmit the fields related to accounting items and value classes.                    ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 

PREPARE ENVIRONMENT COMPANY 'T1' BRANCH 'D MG 01 ' TABLES 'SN1','SN3','SN4','FNR' MODULE 'ATF'

dDatabase := cTod("02/10/2023")

aDadosAuto:= {{'N3_CBASE'        , "TRANSF6   "           , Nil},;    // Base code of asset
               {'N3_ITEM'        , "001 "                 , Nil},;    // Sequential item of asset base code
               {'N3_TIPO'        , "10"                   , Nil},; // Asset Type  
               {'N1_FILIAL'      , "D MG 02 "             , Nil},;    // Asset Destination Branch
               {'N1_QUANTD'      , 4                      , Nil},;    // Target quantity
               {'N4_DATA'        , dDatabase              , Nil},;    // Asset acquisition date
               {'N3_CCUSTO'      , "         "            , Nil},;    // Cost Center of Expense
               {'N3_CCONTAB'     , "101010100           " , Nil},;    // Ledger Account
               {'N3_CCORREC'     , "                    " , Nil},;    // Asset Correction Account
               {'N3_CDEPREC'     , "201010100           " , Nil},;    // Depreciation Expense Account
               {'N3_CCDEPR'      , "                    " , Nil},;    // Accrued Depreciation Account
               {'N3_CDESP'       , "                    " , Nil},;    // Depreciation Correction Account
               {'N3_CUSTBEM'     , "         "            , Nil},;    // Cost Center of Asset Account
               {'N3_CCCORR'      , "         "            , Nil},;    // Indexation Correction Cost Center
               {'N3_CCDESP'      , "         "            , Nil},;    // Depreciation Expense Cost Center
               {'N3_CCCDEP'      , "         "            , Nil},;    // Accrued Expense Cost Center
               {'N3_CCCDES'      , "         "            , Nil},;    // Depreciation Correction Cost Center
               {'N1_GRUPO'       , "    "                 , Nil},;    // Asset Group Code
               {'N1_LOCAL'       , "      "               , Nil},;    // Asset Location
               {'N1_NFISCAL'     , "         "            , Nil},;    // Invoice Number
               {'N1_NSERIE'      , "         "            , Nil},;    // Invoice Series
               {'N1_TAXAPAD'     , "      "               , Nil} }    // Default Rate Code
               
               
               
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ If you want to transmit values to the fields, Group, Location, Invoice/Series, Default Rate, consider ³
//³ how the example above uses the corresponding fields of table SN1.                 ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

// Question parameters of routine atfa060 
aAdd( aParamAuto, {"MV_PAR01", 1} ) //Question 01 - Book it ? 1 = Yes ; 2 = No 
aAdd( aParamAuto, {"MV_PAR02", 2} ) //Question 02 - Display Accounting Entry ? 1 = Yes ; 2 = No 
aAdd( aParamAuto, {"MV_PAR03", 2} ) //Question 02 - Group Entries ? 1 = Yes ; 2 = No 

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ 
// You can set the fourth parameter with the following states.
//.T. = Mirror. 
//.F. = Update. 
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 

MSExecAuto({|x, y, w, z| AtfA060(x, y, w, z)},aDadosAuto, 4, aParamAuto , .F.)

If lMsErroAuto    
    lRetorno := .F.    
    MostraErro()
Else    
    lRetorno:=.T.
EndIf

Return  

...

Source Program

...