Saturday, 31 December 2016

ERP LN Year-End Procedure

https://baansupport.wordpress.com/2012/08/14/erp-ln-procedure-training-manual-year-end-procedure/

Tuesday, 27 December 2016

Issue: Trial Balance for a particular period is not coming as Zero.


  1. Check this video to know what is Trial Balance and why it should be zero at the period end -https://youtu.be/D2qPk6-erQk
  2. Run tfgld3402m000 "Print Trial Balance" to check the non zero balance value.
  3. Run tfgld3410m000 "Print Debit and Credit Amounts by Document" for period.
  4. If there are no differences, kindly run tfgld3203m000 "Rebuild Opening Balance/History from Transactions" for the same period.


Thursday, 1 September 2016

Transaction type(tfgld0511m000)-

A user-defined three-position code used to identify documents. The series linked to the transaction type give documents the sequence number. You enter transactions based on transaction types. The transaction types are grouped by transaction category. To define which sessions are used to create a transaction, use the Main Session field and the Next Session field in the Transaction Types (tfgld0511m000) session. Financials is supplied with a session for every type of transaction. However, you can copy an existing standard session to another session (in Tools), adjust its design and link your customized session to the transaction type.
Depending on the value entered in the Transaction Category field, you can select these standard sessions:
1.       Journal Vouchers
2.       Sales Invoices and Sales Credit Notes
3.       Sales Corrections
4.       Purchase Invoices and Purchase Credit Notes
5.       Purchase Corrections
6.       Opening Balances
7.       Cash

Financial business-partner group (tfacr0110m000/tfacp0110m000)-

A group of business partners with common characteristics, for which you can define the creditors' account or the debtors’' account and a set of additional control accounts such as control accounts for doubtful invoices, advance and anticipated payments or receipts, and realized and unrealized currency profit or loss. LN automatically uses these control accounts in business processes such as sales invoice registration, and the payment process.

Sunday, 15 May 2016

Important DLLs in ERP LN (List is prepared referring LN 10.3)

tccomdll0350 Date and Time

tccomdll0000 General and Parameter Functions
tcmcsdll0095 Read/Write Parameters
tcmcsdll0005 Read Company Data

tccomdll0012 Shared and Switch to Company Functions.

tcmcsdll0002 Currencies
tcmcsdll0006 Decode Amounts

tcmcsdll0012 Compare double
tcmcsdll0010 Calculate and Round Amounts
tccomdll0001 Round Values
tccomdll0007 Round quantity with given domain and unit rounding
tccomdll9001 Min/max values of numeric var with a given domain

tccomdll0010 Report Handling
tccomdll0070 File Handling

tcemmdll5000 Home Currency functions
tcemmdll5010 Multi Currency Operations
tcemmdll5015 Multi Currency Operations (only for tf)

tfglddll5005 DLL for Table tfgld005(Periods)

tgbrg0005 Text functions

Friday, 1 April 2016

Baan/LN program to create production order - (2 ways)

1.       Use standard DLL:

long tisfc.dll9010.generate.production.order( <parameters-list>)

2.       Use DLL developed by me with an AFS code in it:

table ttisfc000
table ttisfc002
#pragma used dll ottstpapihand
#pragma used dll ottdllbw

function extern domain                tcpdno tietc.dll0001.generate.lot(
               domain tcpdno                             i.pdno,
               domain  tcitem                  i.item,
               domain tcuef.effn           i.effn,
               domain  tiqep1                  i.qrdr,
ref          domain tcmcs.str100       o.error)
{
                DllUsage
                Expl        : AFS to generate production
                Pre         : NA
                Post       : NA
                Input     :
                                i.pdno -> Production Order Series
                                i.item -> Main Item
                                i.effn -> Effectivity Unit
                                i.qrdr -> Quantity
                Output :
                                o.error -> Error Msg
                Return  : Production Order number of the generated production order
                EndDllUsage
               
                                long       retval
                               
                domain tcpdno  v.pdno
               
               

                retval = 0
                o.error = ""
                v.pdno = ""
               
                retval = tcmcs.dll0095.read.parm("tisfc000")
               
                if retval or isspace(tisfc000.ngpd) then
                                o.error = "Error: Shop Floor control Parameters not maintained"
                                return("")
                endif
               
                select    tisfc002.*
                from      tisfc002
                where   tisfc002._index1 = {:tisfc000.ngpd, :i.pdno(1;3)}
                selectdo
                selectempty
                                o.error = "Error: Default Production Order Data not maintained"
                                return("")
                endselect
               
                stpapi.form.command("tisfc0101s000", 5, "exec.add.set",o.error)
                if not isspace(o.error) then
                                return("")
                endif
                stpapi.put.field("tisfc0101s000", "tisfc001.pdno", trim$(i.pdno))
                stpapi.put.field("tisfc0101s000","tisfc001.mitm.segment.1","")
                stpapi.put.field( "tisfc0101s000", "tisfc001.mitm.segment.2", trim$(i.item))
                stpapi.put.field("tisfc0101s000", "tisfc001.qrdr", str$(i.qrdr))
                stpapi.put.field("tisfc0101s000", "tisfc001.clco", tisfc002.clco)
               
                retval = stpapi.insert( "tisfc0101s000", 1, o.error )

                if not retval then
                                retval = stpapi.recover("tisfc0101s000",o.error)
                else
                                stpapi.form.command("tisfc0101s000", 2, "tisfc0105m000",o.error)
                               
                                stpapi.form.command("tisfc0105m000", 5, "exec.add.set",o.error)
                                stpapi.put.field( "tisfc0105m000", "tisfc005.dlin", str$(1))
                                stpapi.put.field( "tisfc0105m000", "tisfc005.effn", str$(i.effn))
                                stpapi.put.field( "tisfc0105m000", "tisfc005.qrdr", str$(i.qrdr))
                                retval = stpapi.insert( "tisfc0105m000", 1, o.error )
                                if not retval then
                                                retval = stpapi.recover("tisfc0105m000",o.error)
                                endif
                                stpapi.end.session("tisfc0105m000", o.error)
                               
                                stpapi.get.field("tisfc0101s000","tisfc001.pdno",v.pdno)
                                stpapi.form.command("tisfc0101s000", 5, "release.order",o.error)
                endif
               
                stpapi.end.session("tisfc0101s000", o.error)
                stpapi.end.session("tisfc0101m100", o.error)
                return(v.pdno)
               

}