What are j-guar client and management applications?

adminClient: Authority is a client that user definitions and authorities are managed by period, profile and adaptation management.

serverAdminClient: The client used to create system tables. If this is the first time you will be using j-guar with an empty database, this client entry should be done for System Tables.

j-guarClient: It is the ERP application itself. 

How to Create System Tables?

From the LPT environment, open the "Debug Configurations" screen and click on "ServerAdminClient" and press "Debug" button.

User Name: LOGO
Password: LOGO

When the "System tables updated" warning was displayed, the necessary system tables for the j-guar product were successfully created.

NOTE: "Especially if you are changing versions or if you have opened a backup database, you should also run "System Tables Reference Collection" and "Reload Queries" under Database operations on this screen! "

How to Create Organizational Tables?

"Debug Configurations" screen opens and clicks on "AdminClient" and "Debug" button is pressed.

The following information is entered from the screen that opens.

User Name: admin
Password: logo

What does LbsDefinitions.jar contain?

This includes definitions of business objects, query and form definitions.If you observe the jar file over WinRAR you will understand that all the version upgrades are made to this jar

Business objects: Custom Business Objects are the data types which make the communication between the database management system and the forms. In any kind of operation on data, insertion, update, deletion, The Custom Business Objects make the corresponding modifications on the database and presents the living data in the form. Business Objects are created over tables.

Query Object: Query objects are used for defining dynamic views on a specific set of tables.Views can be a simple projection of one table or may involve many tables joined together with complex conditions.Parameters and dynamic restriction terms enable us to use the same query definition for multiple purposes.

Form Definition: You can create Custom Form Object depends on Jugnu standard forms by importing the system form template. The Browser Forms are attached to the Customs Form Objects.  Browser forms display the data while Custom Form Objects allow editing the data over the Browser Forms.

  

What is GUID? Where to find the GUID in LPT Project?

"Globally Unique Identifier"

Each Project developed as an LPT project will have its unique GUID number. Information prevents conflict between two different customization projects.

The significance of having the same GUID? 

Its needed to write the GUID value that is written on this screen to the corresponding partition under ProjectGlobals.java as follows. If you do not do this, your code will not work properly. If more people are working on the same project, their GUID number must be the same.

In this case, with ExportSettings, a person can export their settings and send them to other project team members, and after they make a GUID change, they can import this file into their systems with the Import Settings button and find the possibility to work in different media on the same project.

Note: They should still update their ProjectGlobals.java files in every case.

What is the Deploy process and settings needed? 

Deploy the project to the server is used to send the adaptation project along with all resources to a specific server. In order for a project to be deployed,

Select your project in eclipse. Right-click on your project-> select properties -> Customization and then check the mark against ignore warnings

  • Logo > Customization > Deploy 
  • Server URI from ( the location of the product to be deployed) 
  • User Name ( Product username) 
  • Password (Product user password) Complete the fields filled deploy settings.

To remove an adaptation project that has already been deployed to the server, click on the "Remove this customization" button in the "Logo> Customization> Deploy" page of the "Project Properties" page.

What does the LPT Project Definition folder contain?

You may find the following under definition folder:

What is a Business Logic Handler? How to use?

BLH is the class of handler that can be used when a business object passes through the business logic layer.

This feature makes it possible for us to make a BO or an adapted BO before/after the process.

We can achieve our goal by overriding the following methods. The working times and meanings of these methods are brief;

The format of the class must be as:

1
2
3
4

package  com.logopartner.util;
   import  com.lbs.data.factory.BasicBusinessLogicHandler;
   public  class  Example  extends  BasicBusinessLogicHandler {
   }

The functions to be overridden areas:

  • beforeInsert is triggered before the save operation. 

  • afterInsert triggered after save operation.

  • afterDelete is triggered after deletion.

  • beforeDelete is triggered before deletion.

  • beforeUpdate is triggered before the update operation.

  • afterUpdate is triggered after the update operation.

  • beforeRead is triggered before the database is read.

  • afterRead database is triggered after the read operation.

  • callDeleteHandler deletion is instantly triggered.

  • callInsertHandler instantly fires the save operation.

  • callReadHandler database is triggered on reading.

  • callUpdateHandler Fires immediately upon update.

What is LPT Database Trigger? how can we update the triggers?

trigger is a special type of stored procedure. It runs automatically in case of an event in a table or a view in the database server. Triggers are mostly used to maintain database integrity. 

Creating a Database Trigger

Triggers run in tables depending on INSERT, UPDATE or DELETE operations.

 You can create three types of trigger.

  • Base Trigger: Firm or period independent.
  • Firm Trigger: Firm dependent.
  • Period Trigger: Period dependent.  

What is LPT Navigation Menu Tree? 

Navigation Menu Tree is one of the basic components in the product.  Browsers, Forms, and Reports can be added to the navigation tree as a module or they can be removed.

Where to find the tree?
Navigation tree is created under the Trees directory with ltre extension.

This file can be easily customized by using the Editor in LPT environment. You can add/remove the existing modules, forms etc. You can create a new module and add the forms that you created for the customization under this module.
Reminder: Note that in order to have this navigation tree displayed in the product, you must associate it with a profile and then add this profile to the relevant user/user group.

What is Profile? How to use?

In the LPT Development Platform, a profile must be created to associate the adaptations with the j-guar.

Profiles can be used for different roles by associating them with a user/user group basis.

Different team-based Adaptation Profiles should be defined for different working groups.

We define the customized form where we want it to appear in the profile via the profile.

What is LPT Report Class?

Report Definition Type Selection

It offers sample templates to create quick reports. The user is never restricted to the reports.

Query-Independent Report

Select this option to create query independent reports.

Regular Query Report

It is used for general reports. This report has a single query.

Master-Detail Query Report

Select this option for reports with two queries.

What are ProjectUtil and Project Global?

They are the java classes that should be under the util package of your project.

ProjectGlobal.java: When a project is created, the specified GUID value is written to this file, and it is read from this file during the project development.

ProjectUtil.java: It is a class that contains frequently used methods facilitating the customization.

 

What is Lookup? How to use?

When Lookup is clicked on combo text edit on a form it is the structure that allows us to open the relevant browser form and make our selection. That is, when ComboTextEdit button is clicked in any form, the browser screen is opened.

We call the process "RESET" to display the selected product from the list on the browser form. When we select a field in the combotext from the same screen, the tags of the fields to be reset will be selected so that after we select the item we want to come back to, we reset the combotext edit on the screen we are on.

What is the onSaveData method used for?

The event method is a working method when the Save button is pressed. For example, the form can be used for validation when it is saved.

What is PopupMenuItem?

Right-click / F9 on the form or browser to reach the menus are called popup menus. We can customize these menus with LPT

What are Basic SOAP Web Services from j-guar/jugnu?

There are 4 basic SOAP-based web services defined:

  • BatchWebService
  • DataExchangeService
  • DataQueryService
  • ReportingWebService

What are the HTTP methods for the REST API?

There are 5 methods:  GETPOSTPUTPATCH ve DELETE.

What are the steps of the Project Development? How should the sequence be created?

In order to be able to perform CRUD (add, edit, delete, read) operations of a custom table and to list the records, it is necessary to create a Table, Business Object, Form, Query and Browser Form.

Remote Service Definition Why is it necessary? 

We can run them on the server side for the efficient performance of our methods in terms of performance according to their needs. In such cases, it is necessary to define the Remote Service first.

What does LOGICALREF mean from Table Elements?

When defining a table, we can define it as a column that is automatically generated and has the unique ID of the table. When Link is created, if the reference value is not specified, the tabular LOGICALREF field is used.

What is WSDL? What is it used for?

In order to use SOAP Web services, values such as method, parameter, web service address in web service must be known. It is an XML-based description language in which we can find definitions and details of SOAP web services provided by j-guar/jugnu.

What is IClientContext and IServerContext?

j-guar/jugnu is an application with client/server architecture. While processes that require performance and memory are run on the server, operations such as form validation, which we call simple, are executed on the client side.

The IClientContext on the client side and the IServerContext interfaces on the server side provide many intermediate accesses, such as object and query.

What are the types of tables in j-guar/jugnu ERP?

System Tables: j-guar is a table that must be created for the client to open and use. They are tables that start with "S_" in the database.

Institutional tables: j-guar is a table containing information about the institution that is required to be opened for the opening and use of the client. They are tables that start with "U_" in the database.

Customization Tables: These are the tables created when the LPT is adapted. They are tables that start with "X_" in the database.

Emulating Controllers infrastructure. From where can we copy the controller jars?

 On the page  http://host:port/logo/Status “Copy Controller Jars“ 

The use of the controller starts by opening the controller for a form from the menu.

The ILbsControllerTask interface is implemented for this use. There is only one method on this interface:

public void execute(LbsMenuController menu, IClientContext context); 

What is REST? What is JSON? How to use in j-guar?

REST (Expressive Status Transfer) is a software architecture style developed for distributed systems such as the World Wide Web (www).

JSON is a self-describing data exchange form.

Logo RESTful API

  • It stores the data as JSON files.
  • Thus, every processing performed in the product makes it possible to access "via a URL in JSON format".
  • This is just one of the features that make RESTful APIs so powerful for web and mobile applications.
  • REST is now the most common web API design model

Some of the advantages of REST;

  • scalability of component interactions
  • the generality of interfaces
  • independent distribution of components
  • At the same time, REST acts as an intermediary between application components that reduce latency, enhance security, and contain legitimate systems
  • The REST API can be used on any side that can make HTTP calls

What is SOAP? What is SOAP Message Structure? How to use in j-guar?

The WS provided by j-guar are SOAP (Simple Object Access Protocol) and REST based.

j-guar provides integration with ready-made SOAP WS. Using the LPT environment, you can also develop custom SOAP WS in addition to the ready-made services that are served from the market.

Conceptually SOAP (Simple Object Access Protocol)

SOAP is actually the implementation of Service-oriented Architecture. It enables the use of the service-oriented architecture in conjunction with the Universal Description Discovery and Integration (UDDI) on top of it.

SOAP is a protocol based on client/server logic that uses the Remote Procedure Call (RPC) model, designed for use in distributed applications and in the communication of web services. More generally, SOAP is a collection of XML-based rules for a system developed to use web-based functionality. All SOAP-related messages are delivered in XML format and can essentially consist of a SOAP message 3:

  • Method Call
  • Reply Message
  • Error message

SOAP Message Structure

Envelope

It is implicit in all SOAP messages. It must be the root element of the XML document for the SOAP message. The Envelope element contains elements such as Body or Header. The Envelope element always has a Body element, but it does not have to be a Header element. According to SOAP architecture, if there is a header element in the Envelope element, this element should be the first element in the Envelope element. Architects using soap should definitely use TCP as their access protocol

Header

We can compare the Header element in SOAP messages to the <Head> </ Head> tags found in HTML standards. The Header section is not directly related to the method call. Header section and meta-data are sent.

Body

The body element is the most important part of the SOAP message. In the Body section, the name of the web method and the parametric information of the method are sent in XML format. In the reply message, the return value of the method is added to the Body region. This method of writing the parametric structure of the method in XML format is called SOAP Serialization. Finally, error messages contain information such as the name and description of the error in the Body section.

How to Access ServerContext While Creating a Custom Web Service?

In order to access ServerContext, 3 parameters must be given to our method which is going to work on Server Side:

Firm: Company number defined in j-guar. (Type: integer)

Period: Company period number defined in j-guar. (Type: integer)

Language: Language Parameter. (Type: String | Eg: "TRTR")

Code Example (CustomWebService class)

Custom Web Service
//ServerContext'e ulaşılacağı için yukarıda belirttiğimiz 3 tane parametrede zorunluluk var.
public String[] getFirstNItems(int firm, int period, String language, int rowCount){ 
try{
    //context için 3 adet zorunlu parametre veriliyor.
    IServerContext context = WebServiceHelper.getContext(firm, period, language); 
    //Bu sayede işlemler için Object, Query vb. birçok arayüze ulaşma imkanımız var.
    IServerQueryFactory factory = context.getServerQueryFactory(); 
    QueryParams params = new QueryParams();
    QueryBusinessObjects items = new QueryBusinessObjects();
    factory.first("MMQOItemBrowser", params, items, rowCount, true);
    String[] results = new String[rowCount];
    if(items != null && items.size() > 0){
          for(int i = 0; i < items.size(); i++){
                 QueryBusinessObject item = (QueryBusinessObject) items.get(i)
                 String code = QueryUtil.getStringProp(item, "Code");
                 String name = QueryUtil.getStringProp(item, "Name");
                 String searchText = QueryUtil.getStringProp(item, "SearchText");
                 results[i] = "Code: " + code + " Name: " + name + " Search Text: " + searchText;
          }
    }
    return results;
}
catch (Exception e){
       e.printStackTrace();
}
return null;
}












Telif HakkıKullanım KoşullarıGizlilik
Copyright © 2018 Logo Yazılım