Last active
November 16, 2021 05:30
-
-
Save vinodronold/2814462cf963495ee48b8a624581e3a4 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import PACKAGE:Utils:StringHashtable; | |
class Header | |
method Header(); | |
method init(); | |
method insert(); | |
method createFile(); | |
property string fileName get; | |
property string fullFilePathName get; | |
property number rowCount get; | |
/*** File Columns - START ***/ | |
property string InvoiceID get set; | |
property string BusinessUnit get set; | |
property string Source get set; | |
property string InvoiceNumber get set; | |
property string InvoiceAmount get set; | |
property string InvoiceDate get set; | |
/*** File Columns - END ***/ | |
private | |
instance string &_sFileName; | |
instance AD_CLOUD_FBDI:Utils:Utils &_oUtils; | |
instance AD_CLOUD_FBDI:Utils:StringHashtable &_oHeader; | |
instance array of AD_CLOUD_FBDI:Utils:StringHashtable &_arrHeader; | |
end-class; | |
method Header | |
&_sFileName = %This.fileName | "." | DateTimeToLocalizedString(%Datetime, "yyyyMMddHHmmss"); | |
&_oHeader = create AD_CLOUD_FBDI:Utils:StringHashtable(); | |
&_arrHeader = CreateArrayRept(&_oHeader, 0); | |
%This.init(); | |
end-method; | |
method insert | |
&_arrHeader.Push(&_oHeader); | |
%This.init(); | |
end-method; | |
method createFile | |
Local number &nCnt; | |
Local File &fileInvoiceHeader; | |
MessageBox(0, "", 0, 0, "START - Creating Header File - %1", %Datetime); | |
&fileInvoiceHeader = GetFile(%This.fullFilePathName, "w", %FilePath_Absolute); | |
MessageBox(0, "", 0, 0, "fullFilePathName - %1", %This.fullFilePathName); | |
For &nCnt = 1 To &_arrHeader.Len | |
&fileInvoiceHeader.WriteLine(&_arrHeader [&nCnt].GetValues().Join(",", "", "")); | |
End-For; | |
&fileInvoiceHeader.Close(); | |
MessageBox(0, "", 0, 0, "END - Creating Header File - %1", %Datetime); | |
CommitWork(); | |
end-method; | |
method init | |
/** INIT COLUMN ORDER **/ | |
&_oHeader = create AD_CLOUD_FBDI:Utils:StringHashtable(); | |
&_oHeader.Put("InvoiceID", ""); | |
&_oHeader.Put("BusinessUnit", ""); | |
&_oHeader.Put("Source", ""); | |
&_oHeader.Put("InvoiceNumber", ""); | |
&_oHeader.Put("InvoiceAmount", ""); | |
&_oHeader.Put("InvoiceDate", ""); | |
end-method; | |
get fileName | |
/+ Returns String +/ | |
Return "Interface.csv"; | |
end-get; | |
get fullFilePathName | |
/+ Returns String +/ | |
Return &_oUtils.filePath | "/" | &_sFileName; | |
end-get; | |
get rowCount | |
/+ Returns Number +/ | |
Return &_arrHeader.Len; | |
end-get; | |
/** Get / Set Column Values **/ | |
set InvoiceID | |
/+ &NewValue as String +/ | |
&_oHeader.Put("InvoiceID", &_oUtils.getQualifiedValue(&NewValue)); | |
end-set; | |
get BusinessUnit | |
/+ Returns String +/ | |
Return &_oHeader.Get("BusinessUnit"); | |
end-get; | |
set BusinessUnit | |
/+ &NewValue as String +/ | |
&_oHeader.Put("BusinessUnit", &_oUtils.getQualifiedValue(&NewValue)); | |
end-set; | |
get Source | |
/+ Returns String +/ | |
Return &_oHeader.Get("Source"); | |
end-get; | |
set Source | |
/+ &NewValue as String +/ | |
&_oHeader.Put("Source", &_oUtils.getQualifiedValue(&NewValue)); | |
end-set; | |
get InvoiceNumber | |
/+ Returns String +/ | |
Return &_oHeader.Get("InvoiceNumber"); | |
end-get; | |
set InvoiceNumber | |
/+ &NewValue as String +/ | |
&_oHeader.Put("InvoiceNumber", &_oUtils.getQualifiedValue(&NewValue)); | |
end-set; | |
get InvoiceAmount | |
/+ Returns String +/ | |
Return &_oHeader.Get("InvoiceAmount"); | |
end-get; | |
set InvoiceAmount | |
/+ &NewValue as String +/ | |
&_oHeader.Put("InvoiceAmount", &_oUtils.getQualifiedValue(&NewValue)); | |
end-set; | |
get InvoiceDate | |
/+ Returns String +/ | |
Return &_oHeader.Get("InvoiceDate"); | |
end-get; | |
set InvoiceDate | |
/+ &NewValue as String +/ | |
&_oHeader.Put("InvoiceDate", &_oUtils.getQualifiedValue(&NewValue)); | |
end-set; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment