Quantcast
Channel: Visual COBOL - Forum - Recent Threads
Viewing all articles
Browse latest Browse all 4356

Failure at ILASM Phase

$
0
0

I've got this error when I was trying to build the library, it's at the goback keyword -verb-

       program-id. ExecuteTransaction as "CoreBanking.Transactions.ExecuteTransaction".

       data division.
       working-storage section.
       copy 'Records\TransactionRecord'.
      
       77  operation-code              pic X(10).
       77  result-code                 pic X(50).
       77  debit-account-balance       pic S9(10)V9(03) comp-3.
       88  internal-accounti-id        values 1 thru 7.

       procedure division using by value operation-code, by reference tansaction-record returning result-code.
           copy 'DatabaseConnection'.
          
           if internal-accounti-id then
               perform debit-internal-account
           else
               perform debit-customer-account
           end-if.
          
           evaluate debit-account
               when 1 thru 7
                   perform debit-internal-account
               when other
                   perform debit-customer-account
           end-evaluate.
           goback.
      
       debit-internal-account.
           exec sql
               insert into bank_transaction(DEBIT_ACCOUNT, CREDIT_ACCOUNT, AMOUNT)
                   values(:debit-account, :credit-account, :transaction-amount)
           end-exec.
          
           exec sql
               commit
           end-exec.
          
           move 'Transaction completed' to result-code.
      
       debit-customer-account.
           exec sql
               select balance
               into :debit-account-balance
               from
               (
                  select sum(credit), sum(debit), sum(credit) - sum(debit) as balance from
                  (
                     select transaction_id as voucher,transaction_date, amount as credit, 0 as debit
                     from bank_transaction
                     where credit_account = :credit-account
                     union
                     select transaction_id,transaction_date, 0 as credit, amount as debit
                     from bank_transaction
                     where debit_account = :credit-account
                  )
               )
           end-exec.
          
           if debit-account-balance <= transaction-amount then
               exec sql
                   insert into bank_transaction(DEBIT_ACCOUNT, CREDIT_ACCOUNT, AMOUNT)
                       values(:debit-account, :credit-account, :transaction-amount)
               end-exec
              
               exec sql
                   commit
               end-exec
              
               move 'Transaction Was Successfuly Completed' to result-code
           else
               move 'Insufficient Funds!' to result-code
           end-if.
          
           exec sql
               disconnect current
           end-exec.
      
       sql-error-routine.
           move 'internal error' to result-code.
          
       end program ExecuteTransaction.


Viewing all articles
Browse latest Browse all 4356

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>