HI All,
I have created a detailed document on DMT tool, please find the document in below link
Thanks,
Shwetha
HI All,
I have created a detailed document on DMT tool, please find the document in below link
Thanks,
Shwetha
using System.IO;
using OfficeOpenXml;
using OfficeOpenXml.ExcelPackage;
using OfficeOpenXml.ExcelRange;
using OfficeOpenXml.Style;
using OfficeOpenXml.Table;
class Export_And_Import extends RunBase
{
//Export Template
public void ExportData()
{
MemoryStream memoryStream = new MemoryStream();
using (var package = new ExcelPackage(memoryStream))
{
var currentRow = 1;
var worksheets = package.get_Workbook().get_Worksheets();
var Worksheet = worksheets.Add("Other Pay Elements");
var cells = Worksheet.get_Cells();
OfficeOpenXml.ExcelRange cell;
System.String value;
cell = cells.get_Item(currentRow, 1);
cell.set_Value("Employee Id");
cell = cells.get_Item(currentRow, 2);
cell.set_Value("Month");
cell = cells.get_Item(currentRow, 3);
cell.set_Value("Year");
cell = cells.get_Item(currentRow, 4);
cell.set_Value("Date");
cell = cells.get_Item(currentRow, 5);
cell.set_Value("Addition / Deduction");
cell = cells.get_Item(currentRow, 6);
cell.set_Value("Pay Element Code");
cell = cells.get_Item(currentRow, 7);
cell.set_Value("Payroll Amount");
package.Save();
file::SendFileToUser(memoryStream, "Other Pay Elements Import.xlsx");
}
}
//Import Data
public void ImportData()
{
System.IO.Stream stream;
ExcelSpreadsheetName sheeet;
FileUploadBuild fileUpload;
DialogGroup dlgUploadGroup;
FileUploadBuild fileUploadBuild;
FormBuildControl formBuildControl;
Dialog dialog = new Dialog("Import Pay Elements");
str ctrl = "Import";
PayElements payElements;
AddDeduct addDeduct;
dlgUploadGroup = dialog.addGroup("@SYS54759");
formBuildControl = dialog.formBuildDesign().control(dlgUploadGroup.name());
fileUploadBuild = formBuildControl.addControlEx(classstr(FileUpload), ctrl);
fileUploadBuild.fileTypesAccepted('.xlsx');
if (dialog.run() && dialog.closedOk())
{
FileUpload fileUploadControl = dialog.formRun().control(dialog.formRun().controlId(ctrl));
FileUploadTemporaryStorageResult fileUploadResult = fileUploadControl.getFileUploadResult();
if (fileUploadResult != null && fileUploadResult.getUploadStatus())
{
stream = fileUploadResult.openResult();
using (ExcelPackage Package = new ExcelPackage(stream))
{
int rowCount, i;
Package.Load(stream);
ExcelWorksheet worksheet = package.get_Workbook().get_Worksheets().get_Item(1);
OfficeOpenXml.ExcelRange range = worksheet.Cells;
rowCount = worksheet.Dimension.End.Row - worksheet.Dimension.Start.Row + 1;
for (i = 2; i<= rowCount; i++)
{
select payElements where payElements.EmplId == range.get_Item(i, 1).value
&& payElements .PayElementCode == range.get_Item(i, 6).value
&& payElements .EffectiveDate == DateTimeUtil::date(range.get_Item(i, 4).value);
if(!payElements )
{
payElements .EmplId = range.get_Item(i, 1).value;
payElements .PayslipMonth = str2Int(range.get_Item(i, 2).value);
payElements .PayslipYear = str2Int(range.get_Item(i, 3).value);
payElements .EffectiveDate = DateTimeUtil::date(range.get_Item(i, 4).value);
payElements .AddDeduct = str2Enum(addDeduct,range.get_Item(i, 5).value);
payElements .PayElementCode = range.get_Item(i, 6).value;
payElements .Amount = any2Real(range.get_Item(i, 7).value);
payElements .insert();
}
else
{
continue;
}
}
info("Pay Elements Imported");
}
}
else
{
error("File was not Loaded Properly");
}
}
}
public static void main(Args args)
{
PayElementsImport objimport = new PayElementsImport ();
DialogButton dialogButton;
dialogButton = Box::yesNo("Create Empty Excel",DialogButton::Yes,"Empty Excel","Yes OR No");
if(dialogButton == DialogButton::Yes)
{
objimport.ExportData();
}
objimport.ImportData();
}
}
Example::
[FormDataSourceEventHandler(formDataSourceStr(CustTable, CustTable), FormDataSourceEventType::Activated)]
public static void CustTable_OnActivated(FormDataSource sender, FormDataSourceEventArgs e)
{
CustTable custTable = sender.cursor(); //selected record
FormDataSource custTable_ds = sender.formRun().dataSource("CustTable"); //DataSource form CustTable
FormRun element = sender.formRun(); //form element
FormControl myNewButton = element.design(0).controlName("MyNewButton"); //New button on the form
FormStringControl strResult;
FormRealControl realResult;
FormIntControl intResult;
FormDateControl dateResult;
FormComboBoxControl comboResult;
//To Get DataSource Current Record of a Field
custTable.AccountNum = XXX.valueStr();
//Str
strResult = element.design().control(element.controlId("strResult"));
//Set
strResult.text("this is what it should say");
//Get
strResult.valueStr();
//Real
realResult = element.design().control(element.controlId("realResult"));
//Set
realResult.realValue(50.05);
//Get
realResult.value();
//Integer
intResult = element.design().control(element.controlId("intResult"));
//Set
intResult.value(50);
//Get
intResult.value();
//Date
dateResult = element.design().control(element.controlId("dateResult"));
//Set
dateResult.dateValue(today());
//Get
dateResult.dateValue();
//Date
comboResult = element.design().control(element.controlId("comboResult"));
//Set
comboResult.selection(1);
//Get
comboResult.valueStr(); //Convert to Enum to Str
myNewButton.enabled(false); //Here you do your code to enabled or disabled the button
}
Go to
preRunModifyContract() override Method in Controller class and add the below code
CODE:
this.parmReportContract().parmRdlContract().parmLanguageId(VendTable::find(vendPurchOrderJour.OrderAccount).languageId());
That’s all !!!!
Business process automation (BPA) is the use of information technology to help companies automate their business processes. It’s a broad term that can encompass anything from simple, repetitive tasks like data entry to more complex workflows like customer order processing.
Power Automate and Azure Logic Apps are workflow services that can automate your processes, business, or system and integrate with Microsoft and 3rd party services with over 300 connectors. These powerful services are designed to get you going quickly, building the workflow between business services providing that familiarity without having the steep learning curve.
Power Automate provides a user-friendly and focused experience within Office 365 that can easily get end-users going once assigned an appropriate license.
Azure Logic Apps provide a user-friendly designer surface similar to Power Automate with the option to build complex integration solutions, utilize advanced development tools, DevOps and monitoring, if required.
The main difference between Power Automate and Logic Apps is that Power Automate is a Robotic Process Automation tool while Logic Apps is an Integration Platform as a Service. Both tools can be used to automate business processes, but they differ in terms of the scale and scope of automation possible.
Power Automate is better suited for automating simple, repetitive tasks that can be performed by a robot with no need for human intervention. These tasks are typically well-defined, rules-based processes such as data entry or form submission. Power Automate can also be used to automate more complex processes by chaining together multiple actions and triggers, but this requires more setup and maintenance than using Logic Apps.
Logic Apps is designed for automating complex processes that involve multiple systems and require human interaction at various points. For example, a process might start when an order is received in an e-commerce system, then trigger an approval request in a CRM system, followed by a series of actions in an accounting system to generate invoices and payments. Each step in the process can be configured to run automatically or wait for manual intervention before proceeding to the next step.
Power automate:
1. It is available as part of O365 applications
2. Power automate is a browser-based application which means you can modify it only using the browser
3. Microsoft Flow can be accessed and modified in a Mobile app
4. For Power Automate, either you pay on a per-flow or per-user basis.
5. If you have a relatively simple application to create then you should go for Power Automate.
6. If your application is using Office 365 / Dynamics application then you can probably pick Power Automate.
7. If Citizen Developers are creating the application, you can go with Power Automate.
8. Visio Plan 2 offers the feature to create a Business Process Model and Notation (BPMN) diagrams and export for Power Automate.
Logic apps:
1. Logic apps is a part of the Azure platform
2. You can work with Logic apps in a browser as well as in a visual studio designer.
3. Logic Apps cannot be operated from a mobile app
4. For Logic Apps you pay as you use. That means whenever Logic apps run, connectors, triggers, and actions are metered and based on that the user is charged.
5. If you want to create an application that has complicated requirements then you should go for Logic Apps
6. If your application is mostly using Azure services, then you can go ahead with Azure Logic Apps
7. If Pro developers are working, then you can go ahead with Logic Apps without any hesitation.
8. Visual Studio supports working with Azure solutions, including Logic Apps, that allows you to connect to a subscription and provides a logic app editor experience.
9. Visual Studio Code is a free and open-source code editor with wide-range support for programming languages with IntelliSense, extensions to select the tools you work with extending the functionality of the tool as best fits the project you are working on.
You can install the extension (Azure Logic Apps for Visual Studio Code) from the Marketplace - Visual Studio Marketplace
What is Azure DevOps?
Azure DevOps is a Software as a service (SaaS) platform from Microsoft that provides an end-to-end DevOps toolchain for developing and deploying software. It also integrates with most leading tools on the market and is a great option for orchestrating a DevOps toolchain.
Azure DevOps comprises a range of services covering the full development life cycle.
Azure DevOps can also be used to orchestrate third-party
Azure Repos is a set of version control tools that you can use to manage your code. Whether your software project is large or small, using version control as soon as possible is a good idea.
Version control systems are software that help you track changes you make in your code over time.
Azure Repos provides two types of version control:
· Git: distributed version control
· Team Foundation Version Control (TFVC): centralized version control
Git is the most commonly used version control system today and is quickly becoming the standard for version control. Git is a distributed version control system, meaning that your local copy of code is a complete version control repository. These fully functional local repositories make it is easy to work offline or remotely. You commit your work locally, and then sync your copy of the repository with the copy on the server.
Git in Azure Repos is standard Git. You can use the clients and tools of your choice, such as Git for Windows, Mac, partners' Git services, and tools such as Visual Studio and Visual Studio Code.
TFVC is a centralized version control system. Typically, team members have only one version of each file on their dev machines. Historical data is maintained only on the server. Branches are path-based and created on the server.
In summary, Git is a distributed version control system that allows users to work locally and provides a flexible and powerful way to manage code changes, while TFVC is a centralized version control system that requires a connection to a central server and operates on a check-in/check-out model.
Without version control, you're tempted to keep multiple copies of code on your computer. This is dangerous, because it's easy to change or delete a file in the wrong copy of code, potentially losing work. Version control systems solve this problem by managing all versions of your code but presenting you with a single version at a time.
Version control systems provide the following benefits:
There are plenty of things that can take up your time as a developer: reproducing bugs, learning new tools, and adding new features or content. As the demands of your users scale up, version control helps your team work together and ship on time.
TFVC is a centralized version control system. Typically, team members have only one version of each file on their development machines. Historical data is maintained only on the server. Branches are path-based and created on the server.
TFVC lets you apply granular permissions and restrict access down to a file level. Because your team checks all its work into Azure DevOps Server, you can easily audit changes and identify which user checked in a changeset. By using compare and annotate, you can identify the exact changes that they made.
The Customization Analysis Report is a tool that analyzes your customization and extension models, and runs a predefined set of best practice rules. The report is one of the requirements of the solution certification process. The report is in the form of a Microsoft Excel workbook. By using this command you can get Complete details of your BP Errors, warnings, and Errors.
Steps to make Customized analysis report.


