You are on page 1of 31

JDEdwards E1 Interview Questions

Data Dictionary:

1. What are message data items?

Answer:

Message data item is a type of DD field used to display text in a JDE application, UBE or Workflow.
The Glossary Group type can be:
 E - Error Messages
Used for error messages within EnterpriseOne software applications.

 Y - Workflow Messages

The attached document has more information about Data Dictionary.

2. What is a VARCHAR DD item?

Answer:

VARCHAR is used for Variable Length Size variable. It uses dynamic memory allocation. It is useful
if variable length is ‘not fixed’. Varchar cuts off trailing spaces if the entered characters are shorter
than the declared length.
E.g. – if we define City as varchar(10) and the value of City is “Chicago” then it will take length ‘7’
not ‘10’. This column can have up to ‘10’ characters.

3. What is the difference between VARCHAR and Numeric or Alphanumeric?

Answer:

VARCHAR is used for Variable Length Size variable and Numeric or Alphanumeric is used to define
fixed length data items.

4. When creating a DD item what do you understand by the class?

Answer:

The Class defines the essential attributes and characteristics of a DD item and is informational only.
JDEdwards E1 Interview Questions

Item classes are used to group data dictionary items together. For example, the item class QTYINV is
used to group quantity fields. This allows for all of the fields within the item class to have the same
decimal precision.

5. How do you pass parameters to the message item?

Answer:

Parameters can be passed to the DD message using a concept called text substitution. Following are
the steps in creating an error text substitution.
 Create a data structure for the substitution data.
 Create a Glossary Data Item and attach the data structure.
 Create a data structure to pass data into the business function.
 Create or use an existing business function to be used in the application to display the text
substituted error message.

Attached document has more details about text substitution.

Tables and Business Views:

6. Maximum number of columns in a table

Answer:

[HK]
Xe / ERP8
In releases XE and ERP 8, the maximum number of columns a table can have is 254. This is a predefined
constant value.

8.9 and Newer


Starting with the EnterpriseOne 8.9  release and later, Table Design Aid (TDA) was enhanced to call the
JDB_GetTableProperties API, which retrieves table definition related constants from the table F9300 – Database
Property Values. This API can be called either for a particular database or for E1 supported values, but when
used by TDA, it always returns the ONEWORLD database type corresponding parameters values. Therefore, it is
irrelevant what database type the system actually has; the tables created via TDA will respect the ONEWORLD
constraints, not the specific database ones.
JDEdwards E1 Interview Questions

As an example, for EnterpriseOne releases 8.12 and 9.0, the maximum number of columns in a table (property
MaxNumberColumnsInTable) is 500.

Beside the Maximum Number Of Columns In Table, the following table properties can also be found in the
F9300:

 Maximum Column Name Length


 Maximum Index Name Length
 Maximum Number Of Blobs In Table
 Maximum Number Of Columns In Index
 Maximum Number Of Indexes In Table
 Maximum Table Name Length
 Maximum Total Index Length
 Maximum Total Row Length
 Minimum Column Name Length
 Minimum Index Name Length
 Minimum Number Of Blobs In Table
 Minimum Number Of Columns In Index
 Minimum Number Of Columns In Table
 Minimum Number Of Indexes In Table
 Minimum Table Name Length
 Minimum Total Index Length
 Minimum Total Row Length

Changing the defined values in the F9300 – Database Property Values table is not recommended or supported.

7. Maximum number of indices a table can have

Answer:

The default value for maximum number of indexes is 250. The value is setup in “F9300 – Database
Property Values” under Minimum Number Of Indexes in Table.

8. Maximum number of tables in Business View.

Answer:

For Simple Joins:

 If all the joins in the Business View are simple joins,


Prior to tools release 9.1.5.0, the limit is 5 tables.
JDEdwards E1 Interview Questions

Tools Release 9.1.5.0 and above, the Limit is 15 tables

For Outer Joins:

 If any one of the joins within the Business View is an outer join,
Prior to tools release 9.1.5.0, there is a limit of 3 tables allowed in the Business View.
Tools Release 9.1.5.0 and above, there is a limit of 15 tables allowed in the Business View.

For Union business view:

 If it is a union business view,


Prior to tools release 9.1.5.0, there is a limit of 3 tables allowed in the Business View.
Tools Release 9.1.5.0 and above, there is a limit of 15 tables allowed in the Business View.

When creating a union business view, all tables must exist within the view with a union
relationship. NOTE: It is not possible to create a business view that includes both a union and
a join relationship.

 If the tables exist in different data sources, and a cross data source join is being created, there
is a limit of 2 tables in the business view. Prior to tools release 8.98, a cross data source join
is not supported on the web client.

Attached are the Oracle Documents that have more questions and answers about Tables and
Business Views.

9. What is maximum number of table handles that can be the used in a


report?

Answer:

A report can have multiple handles. If the Open and Close Handle is used properly, there is no
limitation to the maximum number of handles that can be used in a report.

10. How is table handle made in data dictionary?

Answer:

A handle in data dictionary is defined as glossary group D with an identifier data type of 7. The Alias
as a standard should start with H and then the file name. Below are more details about creating and
using and handle in event rules.
JDEdwards E1 Interview Questions

[HK] In order to use handles in table I/O event rules, you must:
 Define the handle in the data dictionary.
 Create a handle variable in event rules.
 Open the handle explicitly.

3.5.5 Creating Handles
In JD Edwards Solution Explorer access EnterpriseOne Life Cycle Tools, Application
Development, Data Dictionary Design, select Work With Data Dictionary Items to access the
Work With Data Items form.

Figure 3-1 Data Item Specifications form

Data Item: Enter the name of the data item. This is a 32-character alphabetical field that does not allow
spaces or special characters.

Alias: Enter a unique identifier.

Glossary Group: Select a user-defined code (UDC) (H95/DG) that indicates the type of data item. A
handle is glossary group D, Primary Data Elements.

Description: Enter a meaningful description of the data item.

Product Code: Select a UDC (98/SY) from the range of values reserved for clients: 55–59.

Product System Code


JDEdwards E1 Interview Questions

Select a UDC (98/SY) that represents the JD Edwards EnterpriseOne system where the data is
used. This value is used for reporting and jargon purposes. Example values include:
01: Oracle's JD Edwards EnterpriseOne Address Book
03B: Oracle's JD Edwards EnterpriseOne Accounts Receivable
04: Oracle's JD Edwards EnterpriseOne Accounts Payable
09: Oracle's JD Edwards EnterpriseOne General Accounting
11: Oracle's JD Edwards EnterpriseOne Multicurrency

Data Type: Select the style or classification of data. Examples include, string, date, character, and
identifier. A handle is an identifier data type.

Size: Enter the field size of the data item.

Class: Select a class that defines the essential attributes and characteristics of the data item. Examples
include, name, email, and table handle.

Control Type: Select the type of graphical user control that is associated with the data item. Examples
include button, radio button, and user-defined code.

Row Description: Enter the description of the data item as it will appear in a group report.

Column Title: Enter the description of the data item as it will appear in a columnar report.

3.5.6 Using Handles with Table I/O


Open a batch application in RDA and access Event Rules Design.

 Create an event rule variable using the appropriate handle data dictionary item.

 Click the Table I/O button.

 Select Open under Advanced Operations and click Next.

 On the Data Source form, select the Handles tab.

 Select the handle that you want to open and click Next.

 Select a variable that contains the name of the environment in which you want to open the table
and click Finish.

If you want to open the table in the login environment, select the system value SL
LoginEnvironment. System values also exist for the source and target environments if you use
the Table I/O in Table Conversion feature.

 Click the Table I/O button.

 Select Close and click Next.


JDEdwards E1 Interview Questions

 On the Data Source form, select the Handles tab.

 Select the handle that you want to close, and click Finish.
JDEdwards E1 Interview Questions

11. What is difference between fetch single from a table and a business view?

Answer:

Using Fetch Single using a Business View can return values from multiple tables if it is a Join
business view. However using Fetch Single from a table will return values pertaining to that table.

12. How to debug a Table Trigger?

Answer:

If you need to debug the event rules of a Table Trigger, this can be done in the same way as standard
named event rules. Alternately MD Debug can be used to debug the table trigger.

The following are some steps that can be used to troubleshoot an error with running a Table Trigger:

 Open BusBuild from System|bin32.  


 On the Function List window, the DLLs for JDBTRG1, 2, 3 and 4 will be listed.  
 Do a Tools | Dumpbin to see the table triggers that are updated within each of these DLLs.  
 Look for the trigger name that is returning the error, e.g. F562001_UPDATEAFTER@12 to see if it
exists in any of these JDETRG DLLs.  
 If it does not, go to Object Management Workbench and do a build of the table trigger for that table.  
 Access BusBuild again, and do the Dumpbin to see if the function now exists.  
 If the issue is on the server, building a server update package for that table is recommended.

Retrofits:

13. When doing a retrofit how can you identify if a custom index is missing in
the current environment?

Answer:

[HK] Check the number of indexes in TDA and database.

Also the ER Compare tool will highlight the difference in index for a particular Table IO.
JDEdwards E1 Interview Questions

Business Functions:

14. What are NER’s?

Answer:

NER is an acronym for Named Even Rules, is a Business Function written in even based code. NER’s
have a data structure to allow passing of parameters between the calling object and the NER. The
NER object begins with “N”. When an NER is build the event rules are converted in to the C language
and a .c and .h file is created.

15. How to Debug an NER?

Answer:

NER can be debugged in a similar manner as that of a C business function using the Visual Studio C+
+. One can also use MD Debug to prompt the mapped values in order to troubleshoot values.

16. Any other method except MDDebug to debug an NER?

Answer:
Other than MD Debug, one has to use Visual Studio to debug the C code. Analysing the logs is
another way to troubleshoot the issues.

17. Have you worked on MBF’s?

Answer:
Yes. Master Business Function (MBF) is a Business Function written to process a record into the JDE
system, which is made up of many sub-routines. In EnterpriseOne, there are two different type of
Master Business Functions:

Transaction File Master Business Function

Master File Master Business Function

 Transactional File Master Business Function


o Provide a common set of functions (BeginDoc, EditLine, EditDoc, EndDoc,
ClearCache)
JDEdwards E1 Interview Questions

o This common set of functions contain all of the necessary defaulting and
editing for a transaction file.
o Records are dependent on each other
o Logic is broken up by event flow of an application
o The common set of functions (BeginDoc, EditLine, etc) are called in different
events in an application.
o Uses cache APIs to hold records being processed
o Support add, change, and delete logic
 Master File Master Business Function
o Each record is independent
o All logic is processed with one single call
o Generally, you can make one call to an MBF to edit, add, update or delete a
master file record.
o One Single data structure
o The fields required to make the request and provide all the necessary values
are in one data structure. The data fields should correspond directly with
columns in the associated master file.
o No cache is needed.
o Because each master file record is independent of the others, caching is
unnecessary.
o Support add, change, delete and inquiry

18. What is synchronous and asynchronous NER? How to call them in that
mode?

Answer:

An Asynchronous NER/business function is a business function called in on the OK/Cancel/Close


button's 'Post Button Clicked' event in Form Design Aid. From EnterpriseOne 8.9 release, there is a
new event called 'Post Button Click - Asynch' on the OK Button. The 'Run Process-Asynchronously'
check box is not displayed on the Post Button Clicked event for the OK button from 8.9 release. It is
only displayed for the OK button Post Button Clicked event for releases lower than 8.9. Thus, the
business function need to be called in the 'Post Button Click - Asynch' event in order to run
asynchronously. The 'Run Process-Asynchronously' check box is displayed in the 'Post Button
Clicked' event for the Cancel and Close buttons as these buttons do not have 'Post Button Click -
Asynch' event.

A Synchronous NER/Business function is a business function called in any other event OTHER
THAN OK/Cancel/Close button's 'Post Button Clicked' OR from 'Post Button Click - Asynch' on the
OK Button (EnterpriseOne 8.9 release onwards).
JDEdwards E1 Interview Questions

19. How can you tie processing options to a NER? (this actually means access
values of a processing options in a NER)

Answer:

In order to retrieve the processing option values in an NER, we will have to create a C Business
function to access particular objects processing option values. Use the API – AllocatePOVersionData
to retrieve the processing option value.

Sample code can be found in B0130020 - Retrieve P01311 Processing Options

Batch Processing / Interfaces:

20. What are Tabular reports?

Answer:

Tabular reports are reports created using tabular section. They are mostly used for financial reporting.
Tabular sections are specialized types of columnar sections. While the report data is presented in a
columnar format, tabular sections provide spreadsheet capability by enabling you to define the data in
columns, rows, and cells.

When you include fields that display numeric values, tabular sections automatically total the values.
For example, if you include an object that displays open amounts, tabular sections calculate a grand
total of all the open amounts in the section. Because totaling is automatic in tabular sections, level
break footers are not available. You must suppress totals for any columns that you do not want
calculated. 

The following options available in Columnar and Group sections are not available in Tabular
Sections:

 Level break headers. Use the Row Description column to describe the data.
 Level break footers.
 Conditional sections.
 Parent/Child Subsection Join.

The attached document has more information about Tabular Sections.


JDEdwards E1 Interview Questions

21. What is a TC?

Answer:

 Table conversion is a type of batch process that enables you to rapidly manipulate the data in
tables
 Using Table Conversion you can transfer or copy data from an input table that can be a
foreign table or business view into output tables using the logic that is necessary to perform
the transfer.
 It enables you to copy tables from one data source or environment to another data source or
environment when the tables are identical.
 It enables you to copy tables based on information from an input table. For example, the input
table might provide information about which tables are copied, where they are copied, and so
on.
 It enables you to delete records from a table or business view.

22. Can a UBE be used instead of TC?

Answer:

Yes, a UBE can be used instead of Table Conversion except it cannot access a foreign table if the
foreign table data source/Spec is not present in JDE.

23. Difference between using a TC and UBE?


Answer:

 A TC is preferred for data conversion tasks when the number of records is large. The run time
performance of a TC is better as compared to a UBE.
 A Batch UBE is preferred for data conversion tasks if the logic to be written is more complex.
 A foreign table can be used in a TC whereas if the foreign table data source/Spec is not
present in JDE, the foreign table cannot be used in a UBE.

24. Preference of one over the other and Why?

Answer: Same as above.

25. Can we export a flat file to a location on the Server?

Answer:

You can export the flat file either by using a TC or a UBE.

If using a UBE, use the following business function calls to write the flat file to the server location.
JDEdwards E1 Interview Questions

B34A1010 consists of three functions:


 Open Flat File (Call one time, one of the parameter’s has the path to which the flat file is to be
written)
 Write One Line To Flat File
 Close Flat File.

Sample Code:

Open Flat File


  "1" -> cSuppressErrorMessage
  VA rpt_dd_ERRC <- cErrorCode
  VA rpt_dd_DTAI <- szErrorMessageId
  "1" -> cAppendMode // enter '1' for append mode
  VA rpt_dd_GENLNG <- idFilePtr
  "C:\FLATFILE.txt" -> szFilePath

VA rpt_dd_VAR1="Sample text"

Write One Line To Flat File


  "1" -> cSuppressErrorMessage
  VA rpt_dd_ERRC <- cErrorCode
  VA rpt_dd_DTAI <- szErrorMessageId
  VA rpt_dd_GENLNG -> idFilePtr
  VA rpt_dd_VAR1 -> szRecord

Close Flat File


  "1" -> cSuppressErrorMessage
  VA rpt_dd_ERRC <- cErrorCode
  VA rpt_dd_DTAI <- szErrorMessageId
  VA rpt_dd_GENLNG -> idFilePtr

26. What happens when a Third Party system needs to communicate with
JDE through Inbound processing, if not using Flat File?

Answer:

The other solutions other than using a Flat file are as follows:

 Using EDI – Electronic Data Interchange


 Using Business Services
JDEdwards E1 Interview Questions

27. What does Initialize print job event do in the report?

Answer:

[HK] You can use the Do Initialize Printer event to specify a printer to be used by the system when
the batch application processes. The Do Initialize Printer event is a report-level event located on the
File menu. Using this event, you can print the same report to different printers based on criteria that
you define. The event rules located on this event are the first event rules processed at runtime. The
event rules are also processed each time a subsystem trigger record is processed. The Initialize
Logical Printer Name system function resolves and validates the printer name that you pass to it. The
batch engine uses the printer name, if valid, to obtain a printer device context. Portions of this device
context can be overridden when the appropriate settings in the report specifications are set.

The Initialize Logical Printer Name system function is ignored if placed on any event other than
the Do Initialize Printer event. If you place this system function on a different event, the system
generates a message in the jdedebug log.

28. What are sub system jobs?

Answer:

[HK] 29.1 Understanding Subsystem Jobs


Within Oracle's JD Edwards EnterpriseOne, subsystem jobs are batch processes that continually run
independent of, but asynchronously with, JD Edwards EnterpriseOne applications. These subsystem
jobs function with the system's logical process or queue defined for the server platform. You can
configure JD Edwards EnterpriseOne to use one or more subsystems.

Use subsystem jobs to:

 Off-load processor resources.


 Protect server processes.
 Perform repetitive and frequent processes to maximize output throughput.
JDEdwards E1 Interview Questions

29. How to trigger a sub system job?

Answer:

[HK] 29.1 Understanding Subsystem Jobs


Within Oracle's JD Edwards EnterpriseOne, subsystem jobs are batch processes that continually run
independent of, but asynchronously with, JD Edwards EnterpriseOne applications. These subsystem
jobs function with the system's logical process or queue defined for the server platform. You can
configure JD Edwards EnterpriseOne to use one or more subsystems.

Use subsystem jobs to:

 Off-load processor resources.


 Protect server processes.
 Perform repetitive and frequent processes to maximize output throughput.

When a JD Edwards EnterpriseOne application issues a request for a job to run as a


subsystem job, it places a record in the Subsystem Job Master (F986113) table. This record is
identified by a subsystem job name and version, and contains status and operational
indicators. Embedded in the record is key information that enables the subsystem to process
the record without additional interaction with the requesting application. Key information
includes the values for the processing options and the values for the report interconnect data
structure. The continuously running subsystem monitors this table for records. If the
subsystem finds a record with the appropriate status indicators for the specific report and
version being run, it processes the record and updates the status accordingly.

Understanding the Process of Adding Records to the


Subsystem Table Using an API
You can use an API to add records to the subsystem table to enable the subsystem job to
perform batch processes. To add records to the subsystem table:

1. Create a business function using Microsoft Visual C++.


2. In Oracle's JD Edwards EnterpriseOne Report Design Aid (RDA), create a report data structure in
the report template.

Add the appropriate data items to the report data structure.

3. Generate a header file in the report template.

The header file takes the form of Report_Name.h and is located in the $environ\include
subdirectory under the folder.

E812
JDEdwards E1 Interview Questions

This example illustrates the subsystem job header file:


#include <jde.h>
/************************************************************
Report : R98SSUBE * ReportId : 8123244 * DSTRId : 380813 *
* Note: * Do not edit the following typedef
* To make modifications, use the Report Design Aid Tool to
Generate a revised version.
*************************************************************/
#ifndef REPORT_DS_380813 #define REPORT_DS_380813
typedef struct tagDS_RI_380813 { char      
ProgramId[11]; } DSRI380813, *LPDSRI380813;
#define IDERRProgramId_1         1L
#endif /* #define REPORT_DS_380813*/
#endif /* #define_R98SSUBE_H */

4. Add the header file to the business function using Microsoft Visual C++.
5. In the program to be called, call the business function using the appropriate event in Event Rules
Design.

For example, you can create event rules that call a business function when the user clicks OK in
the Oracle's JD Edwards EnterpriseOne Sales Order Entry (P4210) application. The business
function uses the report's data structure and the subsystem's APIs to trigger the subsystem
report. The API record retrieves the data structure and user information from the cache. If the
server name is not passed, the API finds Object Map Record from the Data Source Master
(F98611) table. If the record exists, it uses the record to send a JDENet Message to the server's
subsystem kernel to add the record to the subsystem table on the server. However, if the user
provides an override server name, the JDENet message is sent to that server's subsystem kernel
instead. Each server is allowed to have only one subsystem kernel running.

29.2.4 Defining Reports as Subsystem Jobs


Open the report template in RDA.

1. From the File menu, select Report Data Structure.

2. On the Report Data Structure form, enter a data item alias on the QBE line to display the required
data item.

3. From Dictionary Items, drag the required data item over to Structure Members and click OK.

4. From the File menu, select Report Properties.

5. On the Properties form, select the Advanced tab and select the Subsystem option.
JDEdwards E1 Interview Questions

6. Enter an appropriate value in the Wait Time (ms) field.

The value in the Wait Time field is entered in milliseconds (1000 milliseconds equals one second).
This represents the time that the subsystem job sleeps until checking the subsystem file for new
records to process.

7. Click the Generate button to create a header file.

29.2.5 Adding Records to the Subsystem Table


Add a business function object in Oracle's JD Edwards EnterpriseOne Object Management
Workbench.

1. On the Business Function Design form, select the Design Tools tab and click Start Business
Function Design Aid.

2. Complete the function name and description and then attach the appropriate data structure.

3. In Microsoft Visual C++, open the business function include (.h) file and add the name of the
header file that you generated.

For example, the header file statement is emphasize in this business function include (.h) file:

/
*********************************************************************
******
Table Header Inclusions
*********************************************************************
*******/

/
*********************************************************************
******/
External Business Function Header Inclusions
*********************************************************************
*******/
#include <R98SSUBE.h>
/
*********************************************************************
******
Global Definitions
*********************************************************************
*******/

/
*********************************************************************
******
* Structure Definitions
*********************************************************************
*******/
* TYPEDEF for Data Structure
* Template Name:  Report Interconnect Data Structure
* Template ID:   D983059
JDEdwards E1 Interview Questions

* Generated:   Wed Oct 18 14:01:22 1995

4. In Microsoft Visual C++, open the business function source (.c) file and add lines to declare the
variable of this data structure type and populate the members of the data structure.

For example, the variable declaration for the report interconnect data structure is emphasize in this
business function source (.c) file:
#include <jde.h>
/
*********************************************************************
*******
* Variable declarations
*********************************************************************
********/
HUSER hUser=NULL;
LPSTR szServer=NULL;
DSRI380813 dsRI;
/* Declare the variable of type REPORT INTERCONNECT DATA STRUCTURE */
BOOL bRet= FALSE;
JDEDB_RESULT rcode;
/
*********************************************************************
*******
Declare structures
*********************************************************************
********/

/
*********************************************************************
*******
Declare pointers
*********************************************************************
********/

/
*********************************************************************
*******
Check for NULL pointers
*********************************************************************
********/
if ((lpBhvrCom == NULL) ||
  (lpVoid == NULL)  ||
  (lpDS == NULL))

5. In the business function source (.c) file, call the API to add the record to the subsystem table.

For example, the API call to add the record to the subsystem table is emphasize in this business
function source (.c) file:
*********************************************************************
********
Main Processing
*********************************************************************
********/
memset(&dsRI, 0, sizeof(DSRI380813));
/* Populate the members of the Report Interconnect Data Structure */
JDEdwards E1 Interview Questions

strcpy(dsRI.ProgramId,lpDS->szString01);
/* Call Subsystem API to add the record to the Subsystem Table */
/* Note : As Environment Name is set to NULL, this API will use OCM
to find the⇒
default
Environment of this UBE */
bRet=jdeAddSubsystemRecord( hUser,/* User Handle */
   "R98SSUBE", /* Name of the subsystem */
   "XJDEOOO1", /* Name of the Subsystem Version*/
   NULL, /* Name of the override env - not used */
   szServer,  /* Name of the server */
&dsRI);   /* Subsystem Connect DS */
/
*********************************************************************
*****/

6. After you call the jdeAddSubSystemRecord API to attach the record, build the business function.

7. Call the business function from the event rules process of the program to be called. This program
can be either an interactive or batch application.

30. How to call a report without getting to the Printer screen?

Answer:

Create an NER to call the UBE. Call the NER from calling object. You will not get the Printer screen.

31. How to interface text file from third party to JDE?

Answer:

The text file can be interfaced to JDE using one of the following methods:

 Using a table conversion. The text file can be accessed from a network location and
then parsed in to JDE.
 Using a UBE - The following business functions can be used to read the text file from
the network location that can be specified in the processing option.

Sample Code:

B34A1010
Open Flat File
VA evt_PX_szErrorCode_ERRC <- BF cErrorCode
VA evt_PX_szErrorMessage_DTAI <- BF szErrorMessageId
"1" -> BF cAppendMode
VA rpt_PX_mnGenericLong_GENLNG <- BF idFilePtr
PO szFilesetSourcePath -> BF szFilePath

Fetch Next Line from Flat File


PO szFilesetSourcePath -> BF szFlatFileName
VA rpt_PX_mnGenericLong_GENLNG <> BF idFilePtr
JDEdwards E1 Interview Questions

VA evt_PX_szPORecord_VAR1 <- BF szFlatFileRecord


"1500" -> BF mnRecordLength
VA evt_PX_cEndFile_EV01 <- BF cErrorCode

B34A1010
Close Flat File
VA rpt_PX_mnGenericLong_GENLNG -> BF idFilePtr

32. Can a report access a file on a shared drive?

Answer:

Yes. Please refer to the answer above.

33. What is the complex interface integration you did?

Answer:

You can mention about the third party integration done either using the EDI approach or the flat file
approach by accessing the flat file from a particular network path, parsing the data and populating in
the data in Z file. If Z table is not available, you can mention the validations done before inserting the
data in the standard files.

Applications:

34. In header detail, the event in which primary key is assigned from header
to detail.

Answer:
[HK]

1. Set the Header i.e. FC Filter criteria to ‘=’.


2. In "Row Exit & Changed – Inline" equate the Related GC column to the FC for update.
Example
GC OrderNumber = FC Order Number
GC OrTy = FC Order Type
GC OrderCo = FC Order Company
JDEdwards E1 Interview Questions

35. Can we call application from a Report?

Answer:

 Yes. An application can be called from a report having tabular section. An added
functionality in Tabular section is the "Drill Down" feature, which creates a link between the
report output and an associated application.

 Steps to Define the Drill Down Feature:

Open a financial report template in RDA.

1. Double-click the tabular report section for which you want to activate the Drill Down feature.
2. On the Tabular Section properties form, select the Financial tab.

If you are creating an application report, the system names the tab the same names as the
Report Director template. For example, if you select the Financial Reports template in the
Director, the tab is named Financial Reports.

3. Select the Drill Down option, and click the Define button.
4. On the Work With Applications form, click Find.

You can filter the search by entering search criteria in the QBE (query by example) line.

5. Click an application, and click Select.


6. On the Work With Forms form, select a form and click Select.
7. On the Work With Versions form, perform one of these actions:
 Click a version, and then click Select.
 Click Close to avoid selecting a specific version.

If the report has processing options, the system prompts you to provide the parameters.

8. On the Form Interconnections form, click <NOT Assigned> for the field in the data structure
that you need to map.
9. Double-click the object in the Available Objects list that is associated with the field from the
application form.

Fields in the Data Item column of the data structure come from the application that you
defined. Mapping the associated field from the report ensures that the value is passed into
that field of the application form.

10. Click the directional arrow in the Dir column until it becomes a right arrow.

The arrow indicates that the data flows from the source (the report section) to the target (the
interactive application).

Ensure that you move the cursor down to the next field in the data structure before you select
the next available object.
JDEdwards E1 Interview Questions

11. When all required fields are mapped, click OK.


12. On the Tabular Section form, click OK to return to the Report Design form.
The attached document has more information about the Drill Down Feature in Tabular
Sections.

36. How many views can be attached to a Headerless Detail Form.

Answer: One.

37. What are the types of Power Form?

Answer:

Following are the types of Power Forms:

1. Power Browse Form.


2. Standard Subform.
3. Reusable Subform.
4. Power Edit Form.

The attached document has more information/questions about Power Forms.

38. How to calculate and display totals in an Application?

Answer:

Use the grid system functions, runtime grid buffer column values and business view column values to
loop through the grid rows, add up the total(s) and then add a new row to the grid containing those
values, and format it appropriately. 

As an example P41202 (form W41202A) has the code for total calculation.

Sample Code:
JDEdwards E1 Interview Questions

CONTROL: FORM
EVENT: Grid Record is Fetched
-----------------------------------------------------------------------
OPT: Using Defaults
0001 GB Order Amount = [GB Order Amount]+[BC Amount - Order Gross (F4201)(OTOT)]

-----------------------------------------------------------------------
EVENT: Last Grid Record Has Been Read
-----------------------------------------------------------------------
evt_RowCount
OPT: Using Defaults
0001 Insert Grid Buffer Row(FC Grid, <After Last Row>, <No>, <Yes>, <No>, <No>,
<Yes>)
0002 Get Max Grid Rows(FC Grid, VA evt_RowCount)
0003 Set Grid Row Bitmap(FC Grid, VA evt_RowCount, <Sigma>)
0004 Set Grid Font(FC Grid, VA evt_RowCount, <All Columns>, <,Bold,9,Blue>)

39. How to update a table manually if the update on grid is suppressed.

Answer:

The table update can be done in one of the following two ways:

a) If the standard transaction business functions are available, use


JDEdwards E1 Interview Questions

 Begin Doc
 Edit Line
 Edit Doc
 End Doc
 Clear Cache

b) Alternately, read the grid records in a loop on OK – Post Button clicked event,
insert/update the records in the table based by mapping the grid values.

Following are the details related to using the transaction business functions:

40. How to find the maximum and minimum number in a column of a grid?

Answer:

While the grid is loaded in Grid Record is Fetched event, store the value of the Grid column in a two
variables. For every grid record, compare the Grid column value with the variable value. If the Grid
column value is greater or less than the stored variable value, replace the value in respective variables.
When all the Grid Records have been read, you will get the maximum and minimum number in a
column of the grid.

41. How to load a grid in a find and browse form without a business view
attached to it?

Answer:
JDEdwards E1 Interview Questions

One can fetch the record values from a file in a loop and do a Insert Grid Buffer row to load the grid.
JDEdwards E1 Interview Questions

42. What forms (form types) are there in P4210?

Answer:

Total 8 forms available in P4210 (Sales Order Entry)

1. Customer Service Inquiry (Entry Form: Find & Browse Form

2. Sales Order Header: Fix inspect Form

3. Work with Sales Order Headers: Find & Browse form

4. Sales Order Detail Revisions: Header Detail Form (Header BSVW V4201B and Detail BSVW
V4211C)

5. SOE - Additional Information: Fix Inspect Form

6. Alert: Message Form

7. Override Sold To and Ship To: Fix Inspect Form

8. Warning Message: Message Form

BIP:

43. What is bursting in BIP?

Answer:

Bursting is a process of splitting data into blocks, generating documents for each block, and delivering
the documents to one or more destinations. Using BI Publisher's bursting feature you can split a single
report based on an element in the data model and deliver the report based on a second element in the
data model. Driven by the delivery element, you can apply a different template, output format,
delivery method to each split segment of your report. Example implementations include - Invoice
generation and delivery based on customer-specific layouts and delivery preference

The attached document has more information/questions about BIP.


JDEdwards E1 Interview Questions

44. Can we dynamically change the subject in Bursting through BIP?

Answer:

Using XPAT H we can change the subject line dynamically. Detail steps are as follows:-

1. Create a custom Data Structure and define DS members.

2. Create a custom Glossary DD Item. Highlighted will be the Subject line of Email.

3. Attach the custom data structure to the glossary DD item.


JDEdwards E1 Interview Questions

4. In RD, put check mark on the Burst report option and provide the section name that you want
your output to be busted out in the Burst Field.

5. Under Email Details section, provide glossary DD item (that we created) in the Data Item for
Subject and Body field. Click on Define Values.

6. Provide Structure Member values. Either it can be constant or dynamic.


Constant- Enter constant values in Structure Member Values field.
JDEdwards E1 Interview Questions

Dynamic- Dynamic values can be achieved by using an XPath (from the XML data output)
for the structure member value. For bursted reports, the XPath value could be different for
each recipient, depending on which XPath was used. The XPath must be preceded by a
forward slash to be recognized as an XPath. E.g. - /InvoiceDate_ID1.
These Structure Member values can be used in Subject line as well as Body of the Email if it
contains text-substitution placeholders (indicated by ‘&’). E.g. - Your &1 invoice

45. Can a logo be inserted into report out using BI?

Answer:

Yes. Attached is the sample RTF with logo for reference.


JDEdwards E1 Interview Questions

46. What is the complex BI development you did?

Answer:

You can answer about the complicated invoice, pick slip etc. template that you have developed. Try
to mention aspects about conditional logos, bar code scanning, multiple templates etc.

Troubleshooting:

47. Types of debugger.

Answer:

1)Event Rule (ER) Debugger to debug objects having event rules such as UBE’s, applications.
2)Using MS Visual Studio to debug the C business functions and NER.
3)MD Debug function to view the run time values
4)Troubleshooting using different logs such as jde.log, jdedebug.log, jas log etc.

48. What are the different debug logs generated?

Answer:

Following are the different types of debug logs:

JDE.LOG

This log file is always written when executing EnterpriseOne code. It is produced by the client on a
FAT client/workstation machine, or by each kernel running on an Enterprise Server. It usually
contains generic information about the client or kernel, such as start-up times, end times, etc. It also
has high-level technical error messages such as SQL failures, information on code that crashed, etc.

JDEDEBUG.LOG
JDEdwards E1 Interview Questions

In live production systems, debug logging should be turned off due to the performance impact it has.
However, for most issues that cannot be duplicated, getting this log file is essential. The files created
become large very quickly due to the amount of information that is written to the log.

This log includes detailed information on aspects of the kernel and applications code. It will log all
database operations such as fetches, inserts, updates, deletes as well as data passed between different
business functions. It will also log some system function calls, such as some grid operations, usage of
media objects, some mathematical functions within E1 and others.

JAS.LOG

A technical log related to the running E1 on the JAS/Web server. Somewhat like a JDE.LOG for the
JAS server. This log has information on failures, including extensive java diagnostic messages;
detailed information on actions taken by the JAS server. As of Tools Release 8.97, define the location
of where the logs end up in the jdelog.properties file. This file can be edited manually. As of Tools
Release 8.97, the E1ROOT.LOG logs the same messages as the JAS.LOG. You can find and
download the E1ROOT.LOG using Server Manager under Logging link for your HTML Server
managed instance.

RTDEBUG.LOG

A JAS log equivalent to the JDEDEBUG.LOG used when looking at issues that only happen in
JAS/HTML during runtime. However, for most issues that cannot be duplicated in local
environments/WebDev, getting this log file is essential. In newer Tools Releases (8.96 and above) it
is no longer a separate log, instead the details are logged in the JASDEBUG.LOG. Almost every
single line of code that is processed in a web application is logged to the RTDEBUG.LOG. It includes
parameters passed to business functions and changes to internal variables. This is a very useful log to
have when troubleshooting issues in EnterpriseOne releases 8.11 and above (web only).

You might also like