Is it possible to do a TRANPERFORM with Trancode "SV" in Symitar PowerOn?

420 views Asked by At

I am trying to post a dividend to a share in an on-demand specfile. How can I get the TRANPERFORM command to issue the same teller transaction sequence "SV" just like a teller would? Example code:

TRANPERFORM SV (0,SQ1,SQ2,CHKACCTCODE,CHKNUM,TRANERROR)
        DO 
         SET TOACCT       TO ACCOUNT:NUMBER
         SET TOTYPE       TO "0"
         SET TOID         TO SHAREID(S)
         SET AMOUNT       TO SHAREDIVAMT(S)
         SET ADJUSTMENT   TO 0
        END

I am unable to get this to compile and I don't understand why.

1

There are 1 answers

0
user3276194 On BEST ANSWER

Your error is "invalid action code in TRANPERFORM specification". It means the first letter "S" is invalid. "S" action code is not available for TRANPERFORM.

Below are from Episys eDoc 2014.01.

The required Tokens by Transaction:

• A  (Loan Advance)
• C  (Share or Loan Comment)
• D  (Share Deposit)
• GL (GL to GL Transfer)
• KS (Check Stop Payment)
• N  (New Loan)
• P  (Loan Payment)
• W  (Share Withdrawal)
• XF (Transfer)

The Share Dividend (SV)transaction lets you calculate and post a Closing Dividend, Periodic Dividend, Accrual Dividend or Extraordinary Dividend for a share. This transaction updates the share balance by the transaction amount and also updates fields in the Share record.

You can use the Share Dividend (SV) transaction alone or with other transactions. Another transaction is not required to balance a Share Dividend (SV)transaction, since Episys makes the offsetting General Ledger transaction automatically.

Updated Share Fields: the Share Dividend (SV)transaction updates the following Share record fields:

• Last Dividend Date 
• Last Dividend Amt 
• Dividend YTD 
• Dividend From Open 
• Ins Balance Age 55 
• Ins Balance Age 60 
• Ins Balance Age 65 
• Ins Balance Age 70 
• Dividend Due 

Below snippet is from RD.DVTRANSACTION.

 TRANPERFORM DV (0,SEQ1,SEQ2,CHECKINGACCTCODE,CHECKNUMBER,ERRORTEXT)
  DO 
   SET TOACCT       TO ACCOUNT:NUMBER
   SET TOTYPE       TO "S"
   SET TOID         TO SID
   SET AMOUNT       TO SDIVIDENDDUE
   SET ADJUSTMENT   TO 0
  END

 IF ERRORTEXT<>"" THEN
  POPUPMESSAGE(2,"Share Dividend error: "+ERRORTEXT)

 ELSE
  DO
   POPUPMESSAGE(0,"Share Dividend:          "+
                 FORMAT("###,###,###,###,##9.99",SDIVIDENDDUE)+
                 " Posted to Share "+SID) 

   FMPERFORM REVISE SHARE SID (0,0,ERRORTEXT)
    DO
     SET DIVACCRUALDATE TO SYSTEMDATE
     SET DIVACCRUAL TO $0.00
     SET DIVPERIODSTART TO SYSTEMDATE
     SET DIVPERIODBALDAYS TO $0.00
     SET MTDPRIORRATEACCRUAL TO $0.00
    END

   IF ERRORTEXT<>"" THEN
    POPUPMESSAGE(2,"FMPERFORM error: "+ERRORTEXT)

   IF (MAD - SDIVIDENDDUE)>=$0.00 THEN
    FMPERFORM REVISE SHARE SID (0,0,ERRORTEXT)
     DO
      SET MTDACCRUEDDIVS TO (MAD - SDIVIDENDDUE)
     END

   IF (CDP - SDIVIDENDDUE)>=$0.00 THEN
    FMPERFORM REVISE SHARE SID (0,0,ERRORTEXT)
     DO
      SET CURRDIVPAYABLE TO (CDP - SDIVIDENDDUE)
     END
  END