I am a motivated and detailed conscious graduate who is a certified Microsoft Dynamics GP consultant. I display considerable strength across a wide range of technical as well as functional skills in particular development, customization together with problem solving. I enjoy working within a team environment together with the challenge of carrying through individual tasks which has been experienced throughout my professional career in Dynamics GP, which spans six years. This is my first article in this blog and I am proud to be able to blog with the Dynamics GP gurus.
In this post we will discuss how we can use Dexterity to customize the EFT file generation process to modify a field value in the EFT file. There would be cases where we might need to perform a calculation and show it in the EFT file. If the calculation can’t be mapped to any of the existing fields in the EFT Format Setup window, the only option left is to customize the EFT file generation process.
The field values in the EFT line can be modified by writing a trigger on the function “GenerateEFT_Line_GetFieldString” on the form cmEFTFormatSetup. In the trigger processing function, the value returned by the original function can be modified to the calculated value and returned to the calling script.
Trigger Registration Code Example
This script is used to register the trigger on function GenerateEFT_Line_GetFieldString of form cmEFTFormatSetup.
No. User Date Description
local long l_result;
l_result = Trigger_RegisterFunction(function GenerateEFT_Line_GetFieldString of form cmEFTFormatSetup,TRIGGER_AFTER_ORIGINAL,function Modify_EFT_Line_Field_Value);
if l_result <> SY_NOERR then
warning “Trigger Registration failed for Modify_EFT_Line_Field_Value” + str(l_result);
Custom function to update field value in EFT File
This script is used to modify the value of the EFT field passed in.
No. User Date Description
function returns string sFieldString;
in integer inLineType;
in integer iNationalBankSeq;
in boolean fIsCredit;
in boolean fIsPrenote;
in boolean iOpen;
in date dSettlementDate;
in date dSystemDate;
in time tSystemTime;
in string sPad;
in integer iJustify;
inout string sXMLOpen10;
inout string sXMLClose10;
inout text sXMLText10;
inout boolean isData10;
inout EFTCalculations EFTCalculations;
inout integer ioFileNumber;
inout integer ioBankFileNumber;
inout table AddressEFT,
if inLineType =
if ‘EFT Format ID’ of table cmEFTFormatDtl =
if Description of table cmEFTFormatDtl =
xxxx – The integer value representing the Line Type where the field whose value need to be modified exists. For e.g. 1 for Header Label 1, 2 for Header Label 2 so on.
yyyy – EFT Format ID value which needs to be customized.
zzzz – Description of the field on the Line type whose value need to be modified.
For example: There is a requirement to show a field named Payment Date in the format YYYY-MM-DD. The Payment Date field in the Detail Line Type is mapped to Document Date field in the PM Paid Transaction History File having the date format as YYYYMMDD. When the EFT file is generated the Payment Date field value can be modified to the format YYYY-MM-DD by customizing the EFT file generation process. The screen shot below shows the Payment Date field in the EFT Format ID named TEST
Example: Custom function to modify the field value
if inLineType = 5 then Line Type Detail
if ‘EFT Format ID’ of table cmEFTFormatDtl = “TEST” then EFT Format ID
if Description of table cmEFTFormatDtl = “Payment Date” then Field Description
l_date = mkdate( integer (substring(sFieldString,5,2))
l_modified_date = string(year(l_date)) + “-”
+ string(month(l_date)) + “-”
sFieldString = string (l_modified_date);
In the screen shot below the modified Payment Date field is highlighted
That’s all for now.
Follow this link:
How to modify a field value in a line when generating the EFT file?
Category: Blogs I Follow