Requirement:

Supplier Maintenance create fields:

  • Bank Negara Code (Calcualated field get bank negara code list).
  • Beneficiary ID
  • Beneficiary Name
  • Supplier Bank (Drop down list of Bank)
  • Supplier Bank Account Number


Paybill create fields:

  • Exported
  • Exported Date
  • Exported Batch
  • Record Type
  • Transaction Type
  • PAD (Payment Amount)
  • AMOUNTSTRING (will not visible by user, this to help PAD)
  • Replacedot (will not visible by user, this to help PAD)


Customize format to export Bank file Spec.




Solutions:

Please refer this KB, how to access Customization Center.


After access into Customization Center, Expand BOModel.



then look for QnEBS.BO.AP, and Expand it.
(APPayment), (Creditors) < this 2 member is our target of Customization.

APPayment is Paybill, and Creditors is Supplier Maintenance.


Let Start from Creditors, requirement list as below:

  • Bank Negara Code (Calcualated field get bank negara code list).
  • Beneficiary ID (manual fill in, 20 Characters Limit)
  • Beneficiary Name (manual fill in, 40 Characters Limit) 
  • Supplier Bank (Drop down list of Bank)
  • Supplier Bank Account Number (manual fill in, 16 Characters Limit.) 

OK, then we create the easiest 1st, which is 'Beneficiary ID ','Beneficiary Name ','Supplier Bank Account Number '.


Same way to create this 3 Fields as below:

Expand the Creditors > Right Click the 'OwnMember' > Press Add > Press 'Persistent'


Then, Follow the ways i fill in as below:


"Benefiary ID"

Type = System.String

Size = 20

ID = BeneficiaryID

Caption = Beneficiary ID


"Beneficiary Name "

Type = System.String

Size = 40

ID = BeneficiaryName 

Caption = Beneficiary Name


"Supplier Bank Account Number"

Type = System.String

Size = 16

ID = SupplierBankAccountNumber

Caption = Supplier Bank Account Number

 


After done create for this 3 Field, Let Continue with create the another 2 field which is "Supplier Bank" and "Bank Negara Code".


1st Supplier Bank which will allow user to have drop down bank list.

Please refer this KB, how to get combo box/Drop list feature.


and copy my Predefine Value into the Field.


Affin Bank Berhad;Alliance Bank Malaysia Berhad;Al-Rajhi Banking & Investment Corporation (M) Berhad;Ambank Berhad;Bank Islam Malaysia Berhad;Bank Muamalat Malaysia  Berhad;Bank Of America Malaysia Berhad;Bank Pertanian Malaysia Berhad - AGRO Bank;Bank Rakyat Malaysia Berhad;Bank Simpanan Nasional;BNP Paribas (M) Berhad;CIMB Bank Berhad;Citibank (M) Berhad;Deutsche Bank (M) Berhad;Hong Leong Bank Berhad;HSBC Bank (M) Berhad;Industrial and Commercial Bank Of China (M) Berhad;JP Morgan Chase (M) Berhad;Kuwait Finance House (M) Berhad;Maybank Berhad;Mizuho Corporate Bank (M) Berhad;OCBC Bank (M) Berhad;Public Bank Berhad;RHB Bank Berhad;Royal Bank Of Scotland (M) Berhad;Standard Chartered Bank (M) Berhad;Sumitomo Mitsui Banking Corporation (M) Berhad;UOB Bank (M) Berhad



2nd is create "Bank Negara Code" which request system to reflect the correct Bank Negara code, after user select the "Supplier Bank".


To Create a expression field, follow as below:

Right Click "OwnMembers" > Press "Add" > Press "Calculated".



Then, fill in as below

"Bank Negara Code"

Type = System.String

Size = -1

ID = BNC

Caption = Bank Negara Code


after fill in all this, the "AliasExpression" is our main reason, why we choose to us Calculated field, because this is the key feature to help reflect to correct "Bank Negara Code" after user select "Supplier Bank".


Please copy Paste the below Expression into "AliasExpression field"


Iif([Beneficiary’s Bank] == 'Affin Bank Berhad','3200000'

,Iif([Beneficiary’s Bank] =='Alliance Bank Malaysia Berhad','1200000'

,Iif([Beneficiary’s Bank] =='Al-Rajhi Banking & Investment Corporation (M) Berhad','5300000'

,iif([Beneficiary’s Bank]=='Ambank Berhad', '0800000'

,Iif([Beneficiary’s Bank]=='Bank Islam Malaysia Berhad','4500000' 

,iif([Beneficiary’s Bank]=='Bank Muamalat Malaysia  Berhad','4100000'

,Iif([Beneficiary’s Bank]=='Bank Of America Malaysia Berhad','0700000'

,Iif([Beneficiary’s Bank]=='Bank Pertanian Malaysia Berhad - AGRO Bank','4900000' 

,Iif([Beneficiary’s Bank]=='Bank Rakyat Malaysia Berhad','0200000'

,Iif([Beneficiary’s Bank]=='Bank Simpanan Nasional','1000000'

,Iif([Beneficiary’s Bank]=='BNP Paribas (M) Berhad','6300000'

,Iif([Beneficiary’s Bank]=='CIMB Bank Berhad','3500000'

,Iif([Beneficiary’s Bank]=='Citibank (M) Berhad','1700000'

,Iif([Beneficiary’s Bank]=='Deutsche Bank (M) Berhad','1900000'

,Iif([Beneficiary’s Bank]=='Hong Leong Bank Berhad','2400000'

,Iif([Beneficiary’s Bank]=='HSBC Bank (M) Berhad','2200000'

,Iif([Beneficiary’s Bank]=='Industrial and Commercial Bank Of China (M) Berhad','5900000'

,Iif([Beneficiary’s Bank]=='JP Morgan Chase (M) Berhad','4800000'

,Iif([Beneficiary’s Bank]=='Kuwait Finance House (M) Berhad','4700000'

,Iif([Beneficiary’s Bank]=='Maybank Berhad','2700000'

,Iif([Beneficiary’s Bank]=='Mizuho Corporate Bank (M) Berhad','6100000'

,Iif([Beneficiary’s Bank]=='OCBC Bank (M) Berhad','2900000'

,Iif([Beneficiary’s Bank]=='RHB Bank Berhad','1800000'

,Iif([Beneficiary’s Bank]=='Public Bank Berhad','3300000'

,Iif([Beneficiary’s Bank]=='RHB Bank Berhad','November''[Year]'

,Iif([Beneficiary’s Bank]=='Royal Bank Of Scotland (M) Berhad','4600000'

,Iif([Beneficiary’s Bank]=='Standard Chartered Bank (M) Berhad','1400000'

,Iif([Beneficiary’s Bank]=='Sumitomo Mitsui Banking Corporation (M) Berhad','5100000'

,Iif([Beneficiary’s Bank]=='UOB Bank (M) Berhad','2600000','')))))))))))))))))) ) ) ) ) ) ))) ) ) )



OK, We are now finished Supplier Maintenance requirement.


Let move into Paybills Requirement.

  • Exported (CheckBox Field)
  • Exported Date (Date Field)
  • Exported Batch (String Field)
  • Record Type (Calculated Reflect '02')
  • Transaction Type (Calculated Reflect '2')
  • PAD (Payment Amount) (Calculated Payment Amount with 11 character)
  • AMOUNTSTRING (will not visible by user, this to help PAD) (Calculated AMOUNT in String format)
  • Replacedot (will not visible by user, this to help PAD) (Calculated remove decimal point from Value of Net amount)


Let Start with some easiest field 1st, which is "Exported", "Exported Date", and "Exported Batch"


Same as others System String Field, Right Click "OwnMembers" > Press "Add" > "Persistent" .


Then, follow below Picture to fill in.


"Exported"

Type = System.Boolean

Size = 0

ID = Exported

Caption = Exported



the Next one is, "Exported Date"


"Exported Date"

Type = System.DateTime

Size = 0

ID = ExportedDate

Caption = Exported Date


Last one, will be Exported Batch (This field is optional for user if the wanted to self fill in which batch they exported transaction)

"Exported Batch"

Type = System.String

Size = -1

ID = ExportedBatch

Caption = Exported Batch


OK, now let move to the interesting Part, which is create calculated field.


To add, Calculated field in "APPayment"



1st we start from "RecordType"


"RecordType "

Type = System.String

Size = -1

ID = RecordType

Caption = RecordType


Remember that Calculated field will always have "AliasExpression"


Please copy below Expression into "AliasExpression" before Save.


Iif(IsNullOrEmpty([Creditor.SupplierBank]), '', '02')


the meaning of the above expression is

if the select Supplier Account which have blank in the "Supplier Bank", reflect for with Blank "RecordType", but if the selected Supplier Account which have filled in "Supplier Bank", reflect for me with Value of 02 in "RecordType" field. 


Then, the second will be "TransactionType"

Same Create a Calculated Field, then Fill in as Below:


"Transaction Type"

Type = System.String

Size = -1

ID = TransactionType

Caption = TransactionType 


Remember that Calculated field will always have "AliasExpression"


Please copy below Expression into "AliasExpression" before Save.


Iif(IsNullOrEmpty([Creditor.SupplierBank]), '', '2')


the meaning of the above expression is

if the select Supplier Account which have blank in the "Supplier Bank", reflect for with Blank "Transaction Type ", but if the selected Supplier Account which have filled in "Supplier Bank", reflect for me with Value of 02 in "Transaction Type " field. 



OK after finish "Record Type" and "Transaction Type", let move to the Payment Amount Part.

this is the most IMPORTANT and Interesting Part, because in order to complete the task for user able to get the amount field with Example : 00000010011, which is RM100.11.


Require to Create 3 field and Combine all the feature and get the correct Value.


1st we need to make Amount field from Decimal Value then become String Value, which is "AMOUNTSTRING".


Same, we need to create a Calculated field.


then fill in as below:


"AMOUNTSTRING"

Type = System.String

Size = -1

ID = AMOUNTSTRING

Caption = AMOUNTSTRING 


Remember that Calculated field will always have "AliasExpression"


Please copy below Expression into "AliasExpression" before Save.


ToStr([TotalAmountLocal])


the meaning of the above expression is

Change the Value of "TotalAmountLocal" From Decimal to String



After we have String Value of "TotalAmountLocal", then we need to replace the decimal to blank

Example:
100.11 to 10011


as Usual, create a Calculated Field.


Then, Fill in as Below:


"replacedot"

Type = System.String

Size = -1

ID = replacedot

Caption = replacedot 


Remember that Calculated field will always have "AliasExpression"


Please copy below Expression into "AliasExpression" before Save.


Replace([AMOUNTSTRING], '.',


the meaning of the above expression is

in Value of "AMOUNTSTRING", if system found decimal '.', replace it to blank ''.



OK, one last field to complete the Task, which is PAD.


Create Calculated field as usual


Then, Fill in as Below:


"PAD"

Type = System.String

Size = -1

ID = PAD

Caption = PAD


Remember that Calculated field will always have "AliasExpression"


Please copy below Expression into "AliasExpression" before Save.


PadLeft([replacedot], 11, '0')


the meaning of the above expression is

in Value of "Replacedot", please make me a 11 digit, if Value of "replacedot" not enough digit, fill it with zero at left side.



Customization is Done.

However if you want the Customization Format also, please click here to get the format.


Please refer this KB, to understand how above customization is work.


Thanks.


** Learn more about Bank Muamalat IBIZ Bulk Payment

** Learn more about QNE Hybrid Cloud Software