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
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article