Welcome Guest Login SignUp








JDE News

Live Radio


Latest Updated Posts
JDE TECHNICAL 2020-01-27 21:52:46

FAQ - Frequently Asked Questions on Table Conversion (TC) in JDE E1 2020-01-10 09:50:09

What is MVC Architecture? 2020-01-08 03:26:12

Power Forms in JDE E1 2019-12-29 12:59:17

Difference Between EDI Process and Z files 2019-12-10 11:32:31

test 2019-07-06 14:18:19

FAQ - Frequently Asked Questions on Table Conversion (TC) in JDE E1

Dated: 2020-01-10 09:50:09

What is MVC Architecture?

Dated: 2020-01-08 03:26:12

Power Forms in JDE E1

Dated: 2019-12-29 12:59:17

Difference Between EDI Process and Z files

Dated: 2019-12-10 11:32:31


Dated: 2019-06-22 17:05:02

JD Edwards EnterpriseOne Reporting-Suppress Section Write

Dated: 2019-04-05 10:42:32


Dated: 2018-03-25 22:32:49


Dated: 2017-12-19 01:54:01

Bank e-Payment

Dated: 2017-09-11 20:48:04

Weblogic 10.3.5

Dated: 2017-08-25 10:13:53
 Click here to Start a new topic
JDE Forum Comments/Reviews/Queries
180 day(s) ago   #354
Name: Admin1
Category: Technical
Location: Singapore
Date: 2020-01-10 09:50:09


FAQ - Frequently Asked Questions on Table Conversion (TC) in JDE E1

Q1. What is Table Conversion (TC)?
TC is a type of batch process that enables you to rapidly manipulate the data in tables

Q2. What type of conversions can be done in TC?
- Data Conversion
- Data Copy
- Data Copy with Table Input
- Batch Delete

Data Conversion: enables you to transfer or copy data from an input table or business view into output tables using the logic that is necessary to perform the transfer. You can also use Data Conversion to update records in a table or business view.

Data Copy : enables you to copy tables from one data source or environment to another source or environment when the tables are identical.

Data Copy with Table Input: enables you to copy tables based on information from an input table. For example, the input table provide information about which tables are copied, where they are copied and so on.

Batch Delete: enables you to delete records from a table or business view.

Q3. What is table conversion process flow?
When you process a table conversion, the system triggers events that are similar to the events that are triggered when a report or application is run. These events are specific to the table conversion that you defined. Events provide pauses in the processing of the table conversion where you can attach logic.
In general, the event flow is the same for all table conversion types because these conversion types are all subsets of a data conversion:
Data Copy : This conversion type does not include input and output tables. All actions are accomplished through the Process Begin event.

Data Copy with Table Input: this conversion type does not include output table, all actions are accomplished through the Process Begin, Process End and Row Fetched event.

Batch Delete: As with the data copy with table input type, this conversion type does not include output table, all actions are accomplished through the Process Begin, Process End and Row Fetched event.

Q4. How many inputs a TC can have?

Q5. What is foreign table?
Tables that do not have a JD Edwards EnterpriseOne definition but reside in a database that is supported by JD Edwards EnterpriseOne. Basically Non - JDE tabless are called foreign table not defined by JDE E1.

Q6. How many outputs can be attached in a Batch Delete?

Q7. What is flow of events in TC?
Process Begin, Data Changed, Row Fetched, Format Fetched and Process End

Q8. What is difference between User Insert Row and TC Insert Row?
A User Insert Row can defined anywhere but TC Insert has to be defined at the end of the event

Q9. What is a processing option and where do you attach it in a TC?
It is a run time user input and you attach po in the external data of the navigation window

Q10. List few table conversion system functions.

Set Selection Append flag
Set User Selection
Stop Conversion Processing
Stop Event Processing

182 day(s) ago   #353
Name: Admin
Category: Technical
Location: Singapore
Date: 2020-01-08 03:26:12


What is MVC Architecture?

There is a lot of software design pattern used for developing any application. During early days of application development, the approach of designing the User Interface, building the business logic as well as coding the logic part for the application was programmed and prepared in a single file which usually created lack of maintenance, make testing of application uneasy as well as reduce the scalability of any application. To overcome this, a model came into existence and gradually became popular. known as the MVC architecture.

MVC is abbreviated as Model View Controller is a design pattern created for developing applications specifically web applications. As the name suggests, it has three major parts. The traditional software design pattern works in an "Input - Process - Output" pattern whereas MVC works as "Controller -Model - View" approach. With the emergence of the MVC model, creation of application takes different aspects individually into consideration. These aspects of the application are:

- UI Logic
- Input logic
- Business Logic

But there is a loose coupling between these aspects or elements. According to this model, each element needs to exist in an application but not tightly connected or interlinked. The UI logic deals with the view or front end of the application. The Input logic deals with the controller. Lastly, business logic deals with the model of an application. This loosely coupled element helps developers handle development complication when building any application. It helps users` enables in focus on one specific element of the implementation at a time. Take a scenario where you are working with business; you can specifically deal with that and focus on the business logic building without depending on the view logic.
192 day(s) ago   #352
Name: Admin1
Category: Technical
Location: Singapore
Date: 2019-12-29 12:59:17


Power Forms in JDE E1

A power form is a web application form that enables users to view multiple, interrelated views of data, grids, and tab pages on one form and to pass logic among them. The tab pages can have their own business views, and these business views can communicate with each other and can update data based on selection and changes that occur in other business views on the form. Power forms are designed for advanced end users.

Multiple views on a form.
Multiple grids on a form.
Multiple tab controls on a form.
Tab pages with their own business views.
Business views that communicate with each other and are updated based on selection and data changes that occur in other views on the same form.

The types of power forms are:
• Power Browse.
• Power Edit.
• Reusable Browse subform.
• Reusable Edit subform.

Power Browse Form

Similar to a Find/Browse form, a Power Browse form is designed only for browsing data. Editing capabilities are not available on this form.

Power Edit Form

Similar to a Headerless Detail form, a Power Edit form is designed for browsing and manipulating data.

Reusable Browse and Edit Subforms

Reusable subforms are discrete objects in the system that represent one data view. Reusable subforms are referenced through other applications with aliases. Subforms own the data flows between the interface and the database.

Power Form Performance

Power forms work best when you use an object-oriented design to create them. When you design modifications or applications, you need to identify objects (subforms), how the objects interact with each other (business logic or actions), and when their attributes (variables or fields) interact or change (states). This design is necessary to minimize the data passed between parent and child forms.

Power Form Key Standards

When using Power forms and subforms to create an interactive application, follow these key standards:
• Do not implement search and edit use cases on the same form.
• Avoid toolbars on Power forms.
If your application includes a hierarchical layout of subforms and these subforms include push buttons, do not use the toolbar. Hide the toolbar and provide form and subform level push buttons instead. Toolbars should be avoided as much as possible in 8.12 applications
• Follow a standard naming convention.
For example: - for Requisition Inquiry - Search for Requisitions.
• Title all subforms, unless they contain tabs.
• Name grids so that the displayed information is clearly identified, unless the grid appears alone on the form.

Power Browse Form

The Power Browse form enables:
• View-only.
• Subforms.
Power Browse forms with a business view should always have a grid with at least one column.

Power Edit Form

The Power Edit form enables:
• Data modification.
• Data browsing.
• Subforms.

Power Edit forms without a business view have the characteristics of a Headerless Detail form. Power Edit forms with a grid enable users to update and enter multiple records simultaneously.

The Power Edit form enables:
• Data modification.
• Data browsing.
• Subforms.
Power Edit forms without a business view have the characteristics of a Headerless Detail form. Power Edit forms with a grid enable users to update and enter multiple records simultaneously.

The Power Edit form enables:
• Data modification.
• Data browsing.
• Subforms.
Power Edit forms without a business view have the characteristics of a Headerless Detail form. Power Edit forms with a grid enable users to update and enter multiple records simultaneously.

Subform Types

The two subform types are:
• Standard subforms.
• Reusable subforms
Subforms can exist as discrete objects in the system. You can place the subform itself on a power form; this action is referred to as embedding. You can also reference an existing subform on a power form with an alias; this action is referred to as reusing. Typically, you reuse subforms that are designed to appear on numerous forms, such as the display of address book information. In this way, you can more easily standardize the interface.

Reusable Subforms

A reused subform is actually just a pointer; therefore, it is unaware of its parent and children in any given context. If you want a reused subform to communicate with its parent or children, you must do so through ER. While you cannot embed a subform within another subform, you can reuse a subform within another subform. In other words, you can embed or reuse a subform within a reusable subform, but you cannot embed or reuse a subform within an embedded subform. Inserting reusable subforms in a form is different from inserting an embedded subform. They exist as two different control types in the user interface. Therefore, the FDA Menu/Toolbars contain two different insert actions. If you insert an alias, you are prompted for the application. If you insert a reusable subform, you are prompted for the subform. You cannot insert a subform onto a form until the application the subform has been defined in has been saved. Reusable subforms can be written once and then reused in any other power form. They are created as their own entity within an application. The different types of reusable subforms are Browse and Edit.

A subform is a control designed for use on a power form or another subform. Although technically a control, subforms have some form characteristics as well. Each subform represents one data view. That is, each subform control can have a single business view (BSVW) attached to it. Power forms can contain several subforms, so a single power form with multiple subforms enables users to see multiple data views. For example, a user selecting a purchase order in a grid could see related shipping information in one subform and fulfillment information in another subform on the same power form. When the user selects a row in the grid, all of the data is updated. Most importantly, the user does not have to open a new form to see the updated data.

Together, power forms and subforms provides you with the ability to code:
• Multiple views on a form.
• Multiple grids on a form.
• Multiple tab controls on a form.
• Tab pages with their own business view.
• BSVWs that can communicate with each other and even react to selection and data changes that occur in other views on the form.

Processing Of power forms:-

Power Browse:-

When a Power Browse form is called, runtime initializes these items in this order:
1. Thread handling.
2. Error handling process.
3. Business view columns.
4. Form controls (FC).
5. Grid fields.
6. Static text.
7. Help.
8. Event rule structures.


The Power Browse form supports these events:
• Dialog is Initialized.
• Post Dialog is Initialized.
• End Dialog.
• Grid Record is Fetched.
• Write Grid Line-Before.
• Last Grid Record Has Been Read.
• Write Grid Line-After.
• Row is Selected.
• Notified By Child.

Power Edit Form

When a Power Edit form is called, runtime initializes these items in this order:
1. Thread handling.
2. Error handling process.
3. Business view columns (BC).
4. Form controls (FC).
5. Grid fields.
6. Static text.
7. Helps.
8. Event rule (ER) structures

Events for a Form with Grid Control

These events can occur on the Power Edit form during runtime if the form contains a grid control:
• Dialog is Initialized.
• Post Dialog is Initialized.
• Grid Record is Fetched.
• Last Grid Record Has Been Read.
• Clear Screen Before Add.
• Clear Screen After Add.
• Write Grid Line-Before.
• Write Grid Line-After.
• Post Commit.
• Notified by Child and End Dialog

Events for a Form without a Grid Control

These events can occur on the Power Edit form during runtime if the form does not contain a grid control:
• Dialog is Initialized.
• Post Dialog is Initialized.
• Clear Screen Before Add.
• Clear Screen After Add.
• Add Record to DB - Before.
• Add Record to DB - After.
• Update Record to DB - Before.
• Update Record to DB - After.
• Post Commit.
• Notified by Child.
• End Dialog.

When you place subforms on a power form or another subform, the system treats the interactions among them as parent-child relationships. The power form or subform acts as the parent, and the subforms act as the children of the power form and as siblings to each other. This hierarchical relationship governs logical relationships. It is also represented visually in the Form Design Aid (FDA) application tree view as a hierarchy to help you understand the relationships.

Similar to a form, a subform owns the data flows between the interface view and the database, including browse, insert, update, or delete. In fact, you create a subform as if it is a form, and then you place it as a control. Do not let its appearance fool you: a subform is really a control, and the FDA interface treats it accordingly. For example, if subform B is contained in power form A, then when you select B the FDA control bar still displays the title of A. Additionally, if you view the data structure, you will see the data structure for A and not for B. Hierarchical Structure

The two hierarchies in FDA are:
• Control hierarchy.
• Business view hierarchy.

Control Hierarchy

In this hierarchy, controls are contained within other controls.

Business View Hierarchy

The business view hierarchy enables you to connect business view containers (subforms) to each other. Subforms can only interact with their parent and their children. This hierarchy should be created based on relationships between business views. Data flows between parent and child in the business view hierarchy. There is no direct data flow among siblings or from the power form to the grandchild subform

Transaction Boundaries

Power forms include the transaction property, which functions in the same way with other form types. By default, the transaction property is scoped to OK button processing; however, the scope can be extended to business functions, table input/output (I/O), and form interconnects.Subforms are scoped to Save button processing; however, the scope can be extended to business functions, table I/O, and form interconnects. When you include all forms in the transaction boundary and the roll back data on any one form, the system rolls back the changes on all of the forms.

211 day(s) ago   #351
Name: Admin1
Category: Technical
Location: Singapore
Date: 2019-12-10 11:32:31


Difference Between EDI Process and Z files

Many times it came to my mind "why does JDE have 2 differently referenced systems that bring in outside data?" Why is AP and AR typically brought in via Z-file processes, but sales orders, invoicing, ASN`s and others have something called a system 47?

I don`t think there`s a good answer as to why JDE decided "this one is 47, but this one is Z-files". If I had to guess, I`d say that they tried to marry the typical ANSI-X12 standard EDI docs that manufacturers typically exchange (850, 810, 856) to something with an overarching name called system 47. I think system 47 processes are a bit more robust/complicated. More screens and logic dedicated to them. Whereas the Z-files, though effective, are a little more "thrifty", if you would. The initial interfaces are maybe a bit more basic, the UBE`s that process them aren`t really more than shells which call the same business functions that are used in the interactive screens to process data. System 47 re-uses some BF`s too, but again in my experience they`re a bit more robust.

The bottom line answer is they both serve to process in outside data (or prep internal data for transfer), but just have different system codes.

Ref. from jdelist.
382 day(s) ago   #347
Name: JaccintoRap
Category: Technical
Date: 2019-06-22 17:05:02



460 day(s) ago   #344
Name: WY24
Category: Technical
Date: 2019-04-05 10:42:32


JD Edwards EnterpriseOne Reporting-Suppress Section Write

836 day(s) ago   #341
Name: Wayneskype
Category: Technical
Date: 2018-03-25 22:32:49



Hello and bye
932 day(s) ago   #318
Name: Mahen
Category: Technical
Date: 2017-12-19 01:54:01



I want to display the Selected Records from grid as an output to the Report. Can anyone suggest me the sort of coding
1031 day(s) ago   #297
Name: Naveen
Category: Technical
Date: 2017-09-11 20:48:04


Bank e-Payment

Hello All, I have some new requirement to implement bank e-payment process. Can you please provide me some prerequisite or setup related information. Plan is that to send payment information to bank to process the payment. For that I need information. Thanks in Advance. Naveen
1048 day(s) ago   #293
Name: Andre
Category: Technical
Date: 2017-08-25 10:13:53


Weblogic 10.3.5

Hi Guys, I have the JD Edwards 9.1 running on WebLogic 10.3.5. I detected every day the CPU use has 100% many times and the users cant to use more the system. Detail is the Web Server is online. How to detect what is ocupping the processament? Thanks, Silva, Andr
1146 day(s) ago   #272
Name: Mano
Category: Technical
Date: 2017-05-19 03:38:50


Hanldes with table from other source

Hi,I got a requirement like need to access a table from different data source, that is schema for my JDE report. How to Map different schema or data source into our JDE table. In JDE DB, we have 2 different schema . for DV env, it is like DEVDTA and other is JDERPT. DEVDTA is our regular JDE tables which we are using for report. Whereas JDERPT has different format but that data i need to use in JDE. We are not supposed to copy JDERPT data into DEVDTA(JDE) tables. Let me know if you guys get any idea.While creating a handle, in edit rule tab, we need to mention the table associated for the Handle. As of now i am able to map only JDE table on Edit rule.But I am unable to select the JDERPT schema(other source) table. Where/How it should be defined. Any help on this is appreciated.
1197 day(s) ago   #258
Name: Lorrinefem
Category: Technical
Location: Munich, Bayern, Germany
Date: 2017-03-29 01:23:07


Really informative forum.Thanks Again. Want more. Dalsanto

Really informative forum.Thanks Again. Want more.
1270 day(s) ago   #250
Name: Admin1
Category: Technical
Location: Singapore
Date: 2017-01-15 19:34:16


FAQ - Frequently Asked Questions on Form Design Aid (FDA) in JDE E1

Q1 - How can I determine what tables are updated by a specific form?
In order to determine what tables are updated by a specific form, you must determine the business view being used by the form. In order to do this, double click on the form within Form Design Aid. The description of the business view will display on the section properties form. Then within Object Management Workbench, you can search for the business view based on its description. Once you locate the business view, add it to a project and select design. Then select the option for the BUSINESS VIEW Design Aid. Within Business View Design Aid you can determine the table(s) that are included in the business view. This shows what tables will be updated by the form using that business view.

Q2 - How do you use a Combo Box?
The Combo Box has limited functionality within the software. It was originally designed for web use only, but can be used on a Window`s client also. To use a combo box, it needs to be associated to a DATA DICTIONARY item that points to a User Defined Code table. Then the combo box will display a list of the User Define Code values in the pull down window.
The steps to accomplish this within Form Design Aid are:
  • Add a combo box to the form
  • Highlight the combo box and under the Edit pull down menu, select the option for Associate.
  • Associate the combo box to an appropriate data dictionary or business view variable.
  • Run the application. The User Define Code values for the associated data item will appear in the drop down box.
To pre-populate a value into the combo box, use the "Select Item" system function under the Combo Box Functions.

Q3 - How do you make Radio Buttons mutually exclusive?
Associating two or more Radio Buttons to the same data dictionary or database item makes the Radio Buttons mutually EXCLUSIVE.

Q4 - What determines the value that is returned from a Search and Select Form?
The value that is returned from a Search and Select Form is based on the DATA STRUCTURE that is assigned to that form. Generally the data structure associated with a Search and Select Form should only contain one item in the data structure and that is the value that you wish to return from the form.

Q5 - Can you modify a version of an Interactive Application within Form Design Aid?
NO. Versions of interactive applications do not have specifications. All design changes to an interactive application must be made at the template level. Multiple versions of Interactive Applications are used only to establish different processing option values for the application.

Q6 - How does a form that allows for adds and updates determine whether it is in Add mode or Update mode?
Upon initially opening a form, a SQL select occurs based on the KEY VALUES of the form. If a record is retrieved from that select statement, then the form is in Update mode. This generally occurs when data is passed to the form within the form interconnect. If no record is retrieved, then the form is in Add mode. This generally occurs when calling the form without passing data into the form interconnect.

If a corrupt record exists in the table with all blanks/nulls in the key fields, the application will select it upon initially opening the form and put the form into update mode. It will not go into add mode unless no record is found when doing the select. Removing the corrupt record will resolve this potential issue.

Q7 - How do I indicate that a field is a required field on a form and have an error result if the field is left blank?
Within the Control Options for a field, there is a check box for "Required Entry Field". Selecting this check box indicates that a field is required and will provide an automatic error at runtime if the field is left blank. This option is accessed by selecting the OPTIONS button within the Control properties.

Q8 - When attempting to change the font on a field in FDA, I am not seeing the change?
The runtime engine has NEVER supported changing the font using the font option on the individual fields on a form even though this option does exist within FDA. Edit controls can be changed by using the "SetEditControlFont" system function. Generally this should be done on an event such as “Post Dialog is Initialized”. When you need to change font on static text, development has recommended the use of a text block control rather than static text. Font can be changed within FDA on a text block control. Fonts cannot be changed on static text. Therefore, with the combination of the “SetEditControlFont” system function and using text block controls rather than static text, you should be able to achieve the desired font changes on the fields on the form.

Q9 - I have created a new Row/Form Exit on my Application within FDA, however, when I run the application, I do not see the newly created Exit?
If any existing "HC" type USER OVERRIDES exist for the application, these user overrides are read and used when displaying the menu-bar and toolbar options for the application. In order to see any new exits created within design, locate any existing "HC" type user overrides for the application in the User Overrides application (P98950). Delete these user overrides. Then when running the application, the new exit created will display.

Q10 - When accessing my application, the sequence button on the toolbar and the sequence grid option are disabled? How do I enable this sequence option?
There is a grid property within FDA for "Hide Query by Example". When this option is selected, it not only HIDES the QBE line for the grid, but also DISABLES the grid sequence option. In order to enable this grid sequence option, the QBE line must be displayed by not selecting the option to "Hide Query by Example".

Q11 - How do I define a grid within a form in an application to work with Multiple Select?
The steps to setup a grid to allow for multiple select are to mark the Multiple Select grid property for the grid and select the "Repeat for Grid" setting under the Options pull down within the event rules defined for the menu/toolbar exit. Multiple select will ONLY work when the “interconnect” is not defined as modeless.

Q12 - How can I add a Bitmap to a Row or Form Exit?
A bitmap strip can be assigned to the BEGINNING category of menu/toolbar exits. Then all exits within that category will have the bitmap strip available and individual bitmaps can be selected for each exit.

Q13 - Is there a way to prevent a Header Detail form from exiting upon pressing the OK button?
If the interconnect that is used to call the Header Detail is defined as a MODELESS interconnect, the form will not exit upon pressing the OK button. If the Header Detail has been defined as the entry point, there is currently no way to prevent the form from exiting when the OK button is pressed.

Q14 - How do I get a Header Detail to automatically load the grid with the appropriate information when the form is opened through a Form Interconnect?
Create the appropriate key fields as filter fields in the HEADER portion of the Header Detail form. Select the grid property option of "Automatically Find on Entry" to preload the grid upon entry into the form based on the key values populated in the header through the form interconnect.

Q15 - When making modifications to a standard EnterpriseOne application such as Sales Order Entry (P4210), even though I add a new business view field to the grid, the field is not being populated to the table when records are added or updated in the application?
Many of the large transaction entry applications within the EnterpriseOne software use Master Business Functions to add and update records to the tables rather than using the business view. The forms are defined to update using these Master Business Functions rather than using the business view, so adding a new business view field will NOT update the table. In order to update the table, the new field must be passed to the appropriate parameter within the data structure of the Master Business Function (assuming the field is available within this data structure). This is true of numerous standard EnterpriseOne applications including Purchase Order Entry (P4310), Sales Order Entry (P4210), Voucher Entry (P0411), Invoice Entry (P03B11) and Journal Entries (P0911).

Q16 - I have made some changes to my custom table and added some additional fields. I have added these to the Business View and Form, however, I am not seeing the new fields on my selects and they are not being updated to the table on inserts or updates? AS400 Specific
On the AS400, SQL packages are created when doing selects and updates. If changes are made to a table, prior to being able to see the new fields on selects or update the new fields on inserts or updates, the SQL packages on the AS400 must be DELETED. This requires that all users be off the system, the services stopped, and then ALL SQL packages created by EnterpriseOne Software deleted. Once this has been done and services restarted, the new fields added to the table will display on selects and update on inserts and updates.

Q17 - How can I determine within Form Design Aid if Vocabulary Overrides exist for any fields on the form?
Any controls on a form that have had the text overridden and a vocabulary override exists will display with a GREEN triangle in the lower right hand corner of the control. Whenever a field has a text override, the description of the field at runtime will come from the text vocabulary override rather than from the description of the field within the Data Dictionary.

Q18 - When performing an add or update on my custom form, the information is not being updated appropriately to my tables.
Turning ON logging within the jde.ini will produce logging messages in the jdedebug.log that will show the SQL statements that are a result of pressing the Find button or performing an Add or Update within a form. These SQL statements will show what data and tables the system is attempting to update. Reviewing these SQL statements can provide important information as to why an update is not successful.

Q19 - How can I specify a default radio button on a form?
The STEPS to accomplish this within Form Design Aid are:
1. Create two or more radio buttons.
2. Highlight one of the radio buttons and select the menu exit for Edit.
3. Select Associate | Data dictionary item
4. Find your data item by entering it into the QBE line and clicking the find button (or Alt - I)
5. Select the data item and drag it onto the top of the selected radio button.
6. Highlight the next radio button and then repeat number 5
7. Follow these steps until the added radio buttons are associated with the same data dictionary or database item. This makes the radio buttons mutually exclusive (only one can be selected).
8. At this point, if nothing else is done, the first radio button created will be the default radio button, no matter what order the buttons are in. This means that a simple way of setting the default radio button is to create the default radio button first. Note: Starting with release Xe, the last radio button created will be set as the default.
To change the default, do the following steps.
9. Associate each of the radio buttons with a data dictionary item that edits against a User Defined Code (UDC) table.
10. Go into the properties of each of the radio buttons and set the title. (Starting in release Xe, when the title is changed the lower right corner label box will turn green to indicate it has been changed.) Also in the properties, set each radio button to a different UDC value
11. In the event rules for the form, in the "Post Dialog is Initialized" event, set one of the radio button variables, to the value of the radio button that is to be the default radio button, when the form displays.

Q20 - How is QBE Functionality set in FDA? What causes a QBE Column to be disabled or greyed-out?
Grid columns within an application NEED to be Business View columns, rather than Data Dictionary columns in order to have an enabled QBE column at run-time. You can check the column properties to see if the data item has an associated table name to determine if the data item is from the business view. Also, a blue triangle in the corner of a grid column indicates it is a business view field. A yellow triangle indicates a data dictionary field. The QBE column will always be disabled for data dictionary or variable columns that are not part of the business view.
QBE can also be disabled within Object Configuration Manager (OCM). Go to the OCM record and check to see if the table is set up as not allowing QBE. This can be done by following these steps:
  • Go to OCM
  • Select the System Data Source
  • Do a Find over the Current Environment with an Object Type of TBLE and Object Status of AV.
  • Select either the Object Name of the table on which the business view was based or the object name of DEFAULT.
  • Select and go to the OCM Revisions Form
  • Verify what is set-up in the Allow QBE Field: 1 - ALL QBE Allowed, 2 - No QBE Allowed, 3 - Indexed Fields QBE Allowed.
To be continued...
1288 day(s) ago   #244
Name: Nasrudeen
Category: Technical
Date: 2016-12-28 01:55:26


Send mail from JDE

Dear All, I want to send email from batch without SMTP server. is it possible?
1302 day(s) ago   #242
Name: Admin
Category: Technical
Location: Singapore
Date: 2016-12-14 02:09:35


Freqently Asked Questions on JDE E1 Work Center Messages

Frequently asked questions on JD Edwards’s (Release 8 and above)– Work Center Messages

Q1 - How are Work Center Messages Stored?
If the message is an ACTIVE message, the message will be in the F01131 Message Control Table, F01133 Message Detail Table and F01131T Message Attachment Tag File and the records will all have the same SERK or Key Value Serial Number.
If the message is a MULTI-LEVEL message, the way they are displayed in the Work Center and ultimately how they get deleted with the purge program is done with a parent/child type of relationship. These types of multi-level messages are stored in the F01131M Multi Level Message Table. The first F01131M record that is written will have the same SERK number as the parent F01131 record. That same record has an additional SERK number in the same F01131M record. This second SERK number is the "CHILD" and points to the next F01131M PARENT. It is this recursive relationship that makes it possible to have one F01131 record and many F01131M records. We use this same recursive relationship for deciding which F01131M records get deleted when running the purge process.
For example:
A UBE has an error and it creates a F01131 record with the number 100 as its SERK number.
Table F01131
Record 1 = SERK 100
Multiple F01131M records can be produced for detailing what that error was:
Table F01131M
Record 1 = Parent SERK 100 Child SERK 200
Record 2 = Parent SERK 200 Child SERK 300
Record 3 = Parent SERK 300 Child SERK 400
Record 4 = Parent SERK 400 Child SERK 500
Record 5 = Parent SERK 500 Child SERK 600
Each additional parent SERK (records 2, 3, 4, and 5) that is created has a record in the F00165 Media object table that displays text just like a F01131 record, but these records do not exist in the F01131 table because they are not needed. So although there are five parent SERK numbers in the F01131M there is only one true parent in the F01131 used for the starting point. The actual text of the message is encoded and stored in the F00165 media object table using the GT01131 data structure with GDTXKY as the key. For example, if there is a record in the F01131 with ZZSERK = 32526, the actual text of the message is in the F00165 where GDOBNM=GT01131 and GDTXKY = 32526.

Q2 - Why do some Messages have Unrelated Detail Attached to Them?
This may be caused by ORPHANED records appearing in the Work Center tables.

Q3 - How do I Purge Work Center Messages?
The batch process R01131P - Purge Completed Tasks can be used to purge messages in the Work Center. To ensure that orphan records are not created in the F01131M by the R01131P, apply the appropriate ESU prior to running.

Q4 - Why do Work Center Messages Need to be Purged?
Many processes within EnterpriseOne software send messages to the Work Center including workflow processes and UBE completion messages. The message tables get LARGE quickly. Messages in the work center need to be purged regularly. This will improve PERFORMANCE.

Q5 - How can EnterpriseOne software be Set Up to Send Messages to External Mail Rather than to the Work Center?
By adding the appropriate JDE.INI setting in the [JDEMAIL] section of the client and server jde.ini and also defining the appropriate e-mail preference and e-mail address for address book records within EnterpriseOne.
Work center messages can be sent to an external mail system such as Outlook, Lotus Notes, or GroupWise.

Q6 - Is it Possible to Send Some Work Center Messages to External Mail and Define Other Messages to be Sent to the Work Center?
Within EnterpriseOne software, an e-mail preference can be established by user address book record of either external mail or work center. However, this preference applies to ALL messages sent to that user. There is NOT a way to specify a different preference for certain types of messages for one user.

Q7 - Are Multi-Level Error Messages Sent to External Mail?
Multi-level drill down messages created by certain Batch Applications within EnterpriseOne are ALWAYS sent to the Work Center. Currently the functionality does not exist to send these type of drill down messages externally. If the user`s e-mail preference is external, they will receive a message that the UBE process completed with errors, however the specifics of the error messages will need to be viewed through the work center. SAR 5352970 exists in the system requesting an enhancement to send full detailed error messages to external mail.

Q8 - Can the UBE Completion Messages be Disabled?
There is NOT a way at the system level to disable the completion messages sent whenever a UBE report completes. There is an available API that can be used in a business function that is called within an individual report to disable the UBE messages. The API is "BOOL ubeReport_DisableSendMessage(LPBHVRCOM pBhvrCom)". A business function calling this API can be hooked up on any event in a report and this would disable the job completion messages for this specific UBE report.

Q9 - Can I Set Up the Work Center to Allow a User to View Messages of Another User?
There are a COUPLE different methods available to allow a user to view another user`s Work Center messages. Security can be defined within the Queue Security application (P01135) to allow a user access to another user`s messages within specific queues. An administrator can use the Employee Queue Manager Application (P012501) to view all queues and all messages for a user.

Q10 - When Sending a Shortcut with an External Message, How do I Specify the Type of Shortcut to Send (Windows Client or HTML Client)?
Beginning with service pack seventeen, when sending a shortcut with an external message, this shortcut can be either a shortcut for a Windows application or a shortcut for an HTML application. To specify which type of shortcut is sent with external messages, you must modify the JDE.INI file. If a EnterpriseOne user is sending a shortcut from a fat client, you must modify the jde.ini on the client workstation. If an EnterpriseOne user is sending a shortcut from a thin client or through a function that is executed on the server, you must modify the jde.ini file on the enterprise server. To specify the application shortcut type, modify the following section of the jde.ini file:
ClientType=Windows (Default) Message will contain a Windows application shortcut
ClientType=ActiveX Message will contain a Launch application attachment that opens a Web application in a new session of the Web client in Microsoft Internet Explorer.
ClientType=URL Message will contain a URL for a Web application shortcut.
When the preference is an ActiveX or URL application shortcut, you need to also modify the [JAS PREFERENCE] section of the jde.ini with the JasServer, Port, and Servlet information.

1410 day(s) ago   #232
Name: Admin
Category: Technical
Location: Singapore
Date: 2016-08-28 19:43:29


JD Edwards EnterpriseOne Translation Tools

Translating the Data Dictionary

You use three data dictionary language translation tools to translate data dictionary items:

F00165 (GT92002): Data Dictionary (DD) Glossaries.
F9202: Data Dictionary (DD) Row / Column.
F9203: Data Dictionary (DD) Alpha.

Translating Processing Options

These JD Edwards Processing Options Translation Tools have the Source Preview and Target Preview features:

F98306: Processing Options (PO)

JD Edwards Translation Tools also available for FDA and RDA:

F79750: Form Design Aid (FDA).
F79760: Report Design Aid (RDA).

Navigate to Translation Applications menu (GH791) for more details.

Click here to view detailed documentation by docs.oracle.com about JDE Translation tools.
1473 day(s) ago   #225
Name: Sounderrajan Periyasamy
Category: Technical
Date: 2016-06-26 02:47:03


Like to Join

Hello team, I would like to join in this forum as I am working as a JDE Technical for lst five years. Please advise. Thanks, Sounderrajan.
1484 day(s) ago   #224
Name: Nick
Category: Technical
Location: Singapore
Date: 2016-06-15 20:46:38


SQL to Compare Records in two Different Environments for a Table

We found it very handy in finding records for a table that are available in one environment but not in a different environment using EXCEPT clause.


It can also be used to do the insert of those records that are missing by adding an INSERT INTO statement.


Note that MINUS clause can also be used as alternative to EXCEPT.
1552 day(s) ago   #223
Name: Nick
Category: Technical
Location: India
Date: 2016-04-08 02:20:54


Error Codes Encountered while OMW Project Transfer

At times during OMW transfer we get various errors and ever wanted to know what that pesky OMW transfer error message code meant, here is the list of errors and tis description in some meaningful text.

To access the error from OMW, select the project, then the logging exit in OMW, then choose the "Transfer" entry and drill down to the object error messages.

Remember, if you get 47 your data sources are not set up in the release / data source map (fix with GH9011 -> environments menu).

0 ⇢ Transaction was successful
1 ⇢ General error
2 ⇢ Transaction not supported
3 ⇢ SAR integration has been disabled
4 ⇢ Object already present in project
5 ⇢ Object not present in project
6 ⇢ User already in project
7 ⇢ User is not in project
8 ⇢ Attempting to add invalid object to project
9 ⇢ Attempting an unauthorized action
10 ⇢ Status activity rule is inactive
11 ⇢ Transfer Activity Rule is inactive
12 ⇢ Project name is user ID
13 ⇢ Project already exists
14 ⇢ Bad handle
15 ⇢ Could not initialize user
16 ⇢ Memory errors occurred
17 ⇢ Object creation errors occurred
18 ⇢ Invalid SAR number entered
19 ⇢ Can not create default project
20 ⇢ User canceled
21 ⇢ Project is non-existent
22 ⇢ Can not rename project
23 ⇢ Invalid status change attempted
24 ⇢ Invalid string entered
25 ⇢ Invalid type entered
26 ⇢ A required field is blank
27 ⇢ Invalid user id entered
28 ⇢ TAM errors have occurred
29 ⇢ RDB errors have occurred
30 ⇢ Parameter specified does not exist
31 ⇢ Token is available
32 ⇢ Token is not available
33 ⇢ Transfer rolled back per previous call
34 ⇢ Transfer failed to commit to rollback
35 ⇢ Transfer success reference decremented
36 ⇢ Transfer success commit rollback
37 ⇢ JITI fialed
38 ⇢ Start form dynamic failed
39 ⇢ Entry point not found
40 ⇢ Not licensed to access object
41 ⇢ Deadlock has occurred
42 ⇢ Object is currently checked out
43 ⇢ Object has already been transferred
44 ⇢ Locked by vocab overrides
45 ⇢ Not authorized to install
46 ⇢ TSE not authorized
47 ⇢ Transfer not compatible
48 ⇢ Column prefix is invalid
49 ⇢ Copy errors
50 ⇢ Invalid action for project type
51 ⇢ Project is at an invalid status
52 ⇢ Invalid object ID, project ID is a duplicate
53 ⇢ Invalid object ID, project ID is too long
54 ⇢ Invalid object ID, contains invalid characters
55 ⇢ Errors occurred while cleaning up specs
56 ⇢ Object does not exist
57 ⇢ Unknown object Librarian or Version data source
58 ⇢ Could not initialize processing option data
59 ⇢ User security is not authorized
60 ⇢ Notification system is disabled
61 ⇢ SAR creation error
62 ⇢ Save location specified is not found
63 ⇢ No object to restore from
64 ⇢ There is another object in save location
65 ⇢ BSFN library in use
66 ⇢ Project already exists for SAR number specifed
67 ⇢ Role already assigned
68 ⇢ Can not remove user from SAR
69 ⇢ Token is inherited
70 ⇢ Linked project is at an inconsistent status
71 ⇢ Object already exists in an open project
72 ⇢ Object has not been checked out
73 ⇢ SAR status change error
74 ⇢ Inheritance status change error
75 ⇢ No Transfer Activity Rules exist for object
76 ⇢ Log Failure
77 ⇢ Objects are checked out
78 ⇢ Specified object is not checked out to this machine
79 ⇢ Objects are in token queue
80 ⇢ Source file does not exist
81 ⇢ Bad Transfer Activity Rule
82 ⇢ Queued for deletion
83 ⇢ Object marked for deletion
84 ⇢ Object has not been modified
85 ⇢ Mandatory rule exists
86 ⇢ Transfer Limitation exists
87 ⇢ Transfer Exception exists
88 ⇢ Attempting to transfer Version before Template
89 ⇢ Path Code release and SAR release incompatible
90 ⇢ Web Only Version Successful
91 ⇢ Invalid operation performed on Web Only Version
92 ⇢ Token not available for Web Only Version

Courtsy - shannoncncjdeblog
1594 day(s) ago   #220
Name: Nick
Category: Technical
Location: India
Date: 2016-02-26 01:10:42


SQL Used to Compare Records in Tables From Different Environments

Following SQL script is very handy in finding records that are in one table but not in the same table in a different environment.


Script can also be utilized to do the insert of those records that are missing by adding an INSERT INTO statement.


1605 day(s) ago   #217
Name: Nick
Category: Technical
Location: Singapore
Date: 2016-02-15 19:44:25


XML vs JSON: Which is better for JD Edwards Integration?

In the debate between JSON vs. XML the arguments usually run one of two directions.

The JSON proponents argue that JSON is a superior data interchange format because it is lightweight allowing for superior performance. The XML proponents argue that it is strongly typed allowing for superior transactional reliability. Both are right. So choosing the data exchange protocol that works best for your situation may depend on a number of factors.

Ask yourself these questions when considering a data interchange format:

What volume of raw data will I need to deal with? Do you need enterprise scale or web scale? Extremely large volumes of repetitively formatted data lends itself well to JSON formatting and can be handled more easily because of JSONs low overhead. XML may be sufficient for typical enterprise scale projects but may slow down significantly at scale.

How complex are the data structures you need to exchange? JSON likes predictable array structures for data. Field1, field 2, field 3, … in row after row of data. JSON is not well suited, however, to complex nested formats and data structures that are not based on arrays. Complex xml structures are common, however, and may be best suited to many requirements.

Do you need to conform to strongly typed data structures? XML is much better suited to strong data types. JSON should be avoided if transactional integrity is at risk.

JSON.org describes JSON by saying that: “JSON has a much smaller grammar and maps more directly onto the data structures used in modern programming languages.” While this may be true, it is also true that some IDEs support programming using either JSON or XML. With integration platforms, the same may be true.

One improvement in the new Magic xpi 4.5 will be the incorporation of native JSON structures in the data mapper. This gives your projects the advantages of JSON`s lightweight nature. In previous versions, JSON was supported, but the data mapper was essentially converting it to xml before doing its mappings. While this accomplished the integration task, it did not leverage the full speed of JSON.

So that`s good news for JD Edwards integration requirements where large scale data interchange and transformation is expected. This strikes me as good news for JD Edwards users all around.
1630 day(s) ago   #216
Name: Nick
Category: Technical
Location: India
Date: 2016-01-21 02:44:38


How to Check Existence, Copy, Delete or Rename a Flat File?

Business Function B0500180 - OpsysFileOperations (Operating System File Operations Delete, Rename, File Exists) can be used to achieve this.

This function enables you to check the existence, delete and rename a file depends on Action Code as input parameter.

Parameter NameData ItemData TypeI/OReqImplementation
cActionCode EV01 CHAR I  
  • D: Delete (szFileName1)
  • E: Existence to check whether such a file does exist or not for szFileName1
  • R: Rename (Copy szFileName1 and name it szFileName2 and delete szFileName1)
szFileName1 EXEP String I/O   Source file you want to delete/copy from
szFileName2 EXEP String I/O   Target file you want to rename to
cSetOneWorldErrorFlag EV01 CHAR I   This flag is to set hard code error or not
  • 0: do not stop process even if error
  • 1: set Hard Code Error
mnErrorCodeReturned MATH06 Numeric O  
  • 2 - Source File does not exist or the size is 0
  • 9 - Action Code Invalid
  • Action Code D - Delete
    • 1 - Source File (File Name 1) gets removed
  • Action Code E - Existence
    • 1 - Source File does not exist
    • 0 - Source file does exist
  • Action Code R - Rename
    • 3 - File Name 2 (Target File) is Null
    • 1 - Failed to rename it
    • 0 - Renamed successfully

For more details please refer to Oracle Support Doc ID 661013.1

Alternate method to move file from one folder to another by using BSFN B34A1030- Execute External Program

Use this BSFN to call a DOs prompt
Concat an Xcopy command and call - xcopy [source] [destination] /I /F /Y

Note:- This function will only work on a Windows platform. If the function is running on the server then Userid `JDE` should have read / write permissions to the source and destination paths respectivley. If the funtion is running locally, the local user should have the same access permissions.
1770 day(s) ago   #209
Name: Nick
Category: Technical
Location: India
Date: 2015-09-03 20:22:20


How to validate whether Number contains Decimals

We could use BSFN B0474N1 - Get Decimal Position. If return value is not equal to zero, that means, you have a decimal in the value. But this returns non zero value even though the number contains zero in decimal place e.g. 5.00.

mod() function could be used to check decimals in such case, sample code could be as below -

VA evt_mn = mod([FC mnFloat],1)
If VA evt_mn is equal to Zero
FC isWholeNum = "1"
FC isWholeNum = "0"
End If

However standard way should be to use DD item which has data type to store whole numbers only (no value for display decimals).
1797 day(s) ago   #204
Name: Nick
Category: Technical
Location: Singapore
Date: 2015-08-07 19:58:08


How to get JDE report output as XML file?

In JDE EnterpriseOne you can produce XML output for any UBE, in much the same way you can produce a CSV or PDF. Follow below steps -
  • While submitting the report in Printer Selection screen go to the "Document Setup" Tab and check the "OSA Interface Name" box.
  • That will make an entry field appear, click the flashlight and choose XML from the list.
  • Finish submitting the report.
  • When the UBE is finished running, click the View OSA row exit to see the output.
1805 day(s) ago   #202
Name: Nick
Category: Technical
Location: Singapore
Date: 2015-07-30 22:37:29


Using XML Publisher in JDE EnterpriseOne

From tool release 8.97 onwards, Oracle has embedded the XML Publisher into JDE.
This is a big improvement to the existing JDE reporting tool.

Oracle has a product called BI Publisher (formerly know as XML Publisher), it can be standalone or server running on OAS. The XML Publisher in JDE used the same methodology (so called embedded), without the need to install the BI Publisher. The BI Publisher becoming the Oracle de-facto reporting technology for all the applications under the Fusion technology stacks.

Two new objects type for XML Publisher, RPDF and XMLP
- Report Definition: define the link to existing UBE report and version, define the output document type and delivery method. It can contains multiple XML Publisher objects (template). (One time printing that output to few different reports format but with same set of data)
- XML Publisher Object: The template created using Ms.Word (RTF format), require install the XML Publisher Desktop (plugin for Ms.Word). It acts similar to Mail Merge, the different is where it pulls the data from.

XML Publisher related application
The program used to define the XML Publisher Object is P95600.
The program used to define the Report Defination is P95620.
The program that view the Report Defination output is P95630.
The P986116`s exit bar has added few links to view the RD source (XML file), RD output, etc.

Application Server JDE.INI
New kernel for XML Publisher service:-

How it works
  1. Identify the UBE to use. It can be a simple report with columnar section that contains all the require fields.
  2. Create the XML Publisher Object using P95600 or OMW (records are stored in control tables, same to Solution Explorer), and upload the blank RTF document. (created using Ms.Word)
  3. Create the Report Definition. Here enter the UBE name and version(can leave blank and choose when print), the XML Publisher Object that created, output document type, and delivery method, either enter the AB number (system will get the email address in Address book), or enter a email address, or a group of email address.
  4. Submit the Report Definition to print.
  5. View the Report Definition Source. Save the XML file. (to be use as sample data when authoring the template)
  6. Open the blank template (RTF format), load the XML file, and start authoring the document to the desire format. (just like mail merge)
  7. Re-upload the completed RTF file using P95600.
  8. Submit the Report Definition to print, view the output.

The P95600, P95620 and P95630 can be run using web client, therefore, development workstation is an optional here.
1805 day(s) ago   #201
Name: Nick
Category: Technical
Location: Singapore
Date: 2015-07-30 01:32:26


In UBE, Call a third party DLL and also pass some parameters and get output from it. Is B0000192 capable?

You may not need to use B0000192, you can write your own business function (BSFN) in C to call it, a wrapper dll. Look at the following as an example:-

Pseudo code for the BSFN as below -

/* Include File Type Defininition - You need info about your 3rd Party DLL in order to create Function Type and Parm List. */

typedef YourFunctionType
(__stdcall _YourFunctionDef) (/*Your 3rd Party DLL Parmater List Here...*/);

/* Define Variables */
_YourFunctionDef YourFunction;

/* Load 3rd Party DLL */
YourDLLInst = LoadLibrary ("YourDLLName.dll");
if(YourDLLInst == NULL)
/* Error Handling Code Here...*/
/* Load 3rd Party Function */
YourFunction = (_YourFunctionDef)GetProcAddress(YourDLLInst,
/* ThirdPartyFunctionName is found within "YourDLL.dll" */

/* Call the Function */
YourFunction (/*Your 3rd Party DLL Parmater List Here...*/);

Don`t forget to place this new DLL in SYSTEM32(of Windows)Dirctory.
Get the function name (of functions available within DLL) from DUMPBIN command.

This function calls a user specified DLL function in response to an inbound EDI record.Follow below steps to call DLL in your UBE -
1) Make sure you define this BSFN as Client only!
2) Call LoadLibrary() to load in the 3rd party DLL.
3) Call GetProcAddress() to get a pointer to your function in the DLL.
4) You can now call your function.
5) Call FreeLibrary() to dump the Vendor DLL from memory.

1825 day(s) ago   #199
Name: Nick
Category: Technical
Location: Singapore
Date: 2015-07-10 18:53:16


Getting Logs of Running Interactive Applications in JDE EnterpriseOne

In JDE EnterpriseOne version 8.12 and above wherein mostly interactive application can be run on web only, to get logs of running Interactive Applications you need to turn it on in jdelog.properties, file located in "..E910/System/OC4J/j2ee/home/applications/webclient.ear/webclient/WEB-INF/classes".


And the log files (jas_xxxxxxxx_x.log) themselves end up in "..E900/System/OC4J/j2ee/home/log".

1849 day(s) ago   #198
Name: Nick
Category: Technical
Location: India
Date: 2015-06-16 03:08:51


How To Replace Carriage Return With a Space Character in a Text Field

When we need to fetch media object attachment specially the text attachment we use ER system function to retrieve media object text. The text is made up of several lines which may contain carriage return and linefeed characters at the end of every line so it is needed to replace the carriage return and linefeed characters at the end of every line with a space so that the text is in a single line for data export.

There are two solutions available to acheive this -

Solution#1 -

Within business function B7900008-String functions, Variable Length Strings, there are 2 function names available that converts (carriage return, linefeed, tab) characters to a space character and replace consecutive spaces to a single space within a text :-
1. Function "Strip Hex and Blanks" only converts text up to 300 characters long.
2. Function "Strip Hex and Blanks from 30,000 Variable string" converts text up to 30,000 characters long and is only available in release EnterpriseOne 8.9 and higher.

NOTE: Function "Strip Hex and Blanks" will NOT work on the AS/400 platform in release Xe/ERP8 because the function is coded to look for the ASCII character representation of the (carriage return, linefeed, tab) characters.

Function "Strip Hex and Blanks from 30,000 Variable string" will work on the AS/400 platform because of Unicode in release EnterpriseOne 8.9 and higher.

Solution#2 -

In Event Rule design, code the following :
1. Call "B0800207 Get New Line Character" to get the ASCII character representation of linefeed
2. Use Expression Manager Advanced Function TEXT length( ) to get the length of the text
3. Execute the next 3 functions in a While loop condition that does not exceed the length of the text
-Call B7500150-Find a char position in a string to find the position of the linefeed character for each line
-Use TEXT ER system function substr( , , ) to retrieve the text before the (carriage return + linefeed)
-Use TEXT ER system function concat( , ) to assemble the text in a single line

B7500150 is limited to string of 400 characters long, for longer string, you will have to create a custom business function.

NOTE:Only for non-AS/400 platform in Xe/ERP8; for All platforms in 8.9 and higher

Refer to Oracle Support Document Doc ID 644562.1 for more details.
1864 day(s) ago   #192
Name: Nick
Category: Technical
Location: Singapore
Date: 2015-06-01 20:50:23


How to send JDE UBE output to a flat file (text file) and save it into local/shared file server?

There is a standard way to do it, JDE provides some basic business functions to call to do this, namely:-

B34A1010 - OpenFlatFile - Open Flat File
B34A1010 - WriteOneLine - Write One Line To Flat File
B34A1010 - CloseFlatFile - Close Flat File

The usage is pretty simple, open the file, call the Write One Line as many times as desired and in the end close the file.
However recently we had a requirement that the files were being used to integrate to a 3rd party system, and apparently the file was in a UTF8 format and they wanted it in a UTF16 format.
After a super quick look at the business function inputs it appeared there is no way to change the file output type. However, some searching later I stumbled across P93081 Work With Flat File Encoding.
Simply type that app name into the fast path, and you can specify your UBE, Version name, environment etc and it will output the file to your desired format. What is amazing is no code changes required, it works automatically through the business functions/middleware.

Quick Reference -

E1: BSFN: How to use business function B34A1030 Execute External Program in EnterpriseOne [ID 636244.1]
E1: BSFN: How to Copy, Delete or Rename a Flat File? [ID 661013.1]
E1: FDA: How to Call an External EXE program from EnterpriseOne application [ID 642393.1]

1869 day(s) ago   #190
Name: Sudarsan Radhakrishnan
Category: Technical
Location: Boynton Beach, Florida, United States
Date: 2015-05-27 09:42:49


Page header overflow issue - JDE

What happens is, the Pick Slip program prints SO Text attachment on the Page Header or Group Header (that repeats on each page). If some well meaning user enters a ton of text on the SO that when printed exceeds a page in length then the pick slip program go into a loop reprinting the page/group headers. Can someone help fixing this issue? Appreciate your help. Thanks.
1869 day(s) ago   #189
Name: Sudarsan
Category: Technical
Location: Boynton Beach, Florida, United States
Date: 2015-05-27 09:40:31


JD Edwards

JD Edwards Technical
1870 day(s) ago   #186
Name: Nick
Category: Technical
Location: India
Date: 2015-05-26 00:12:46


Working with Flat File Encoding in JDE EnterpriseOne

JD Edwards EnterpriseOne software uses Unicode and not all third-party software does, there is a preprocessing and postprocessing intercept of all flat files. During the intercept, the software converts the flat file into the Unicode character set or back into the original character set. You can assign the conversion character set applied to a flat file—based on the user or role, the program ID, the program version, and the environment—by adding and activating a flat file encoding record.

Using Unicode Flat File Encoding Configuration (P93081), you create records for a table that specifies what character sets are used for programs. The character sets are based on the user or role, the program ID, program version, and the environment. When the pre- or post-processing intercept occurs, the intercept program calls the table, searches it, and applies the record. The search is from more specific records to less specific records.

To ensure that all files are encoded to the primary character set, set up a default flat file encoding record for the primary character set, and then add any exceptions. The system applies the more specific records before the more general records, so the default record is only used if no other records apply to the incoming flat file. If you do not add and activate a flat file encoding record, the default record is UCS2, UTF16_BE/UTF16_LS, which is a Unicode character set.

List of character sets that are currently supported could be found in UDC H95/FE.

For more details please refer to Oracle Document Working with Flat File Encoding
1878 day(s) ago   #183
Name: mnr
Category: Technical
Location: Irving, Texas, United States
Date: 2015-05-18 03:52:52


all development activities

1898 day(s) ago   #179
Name: jdethread
Category: Technical
Location: Singapore
Date: 2015-04-28 18:10:37


How to use Visual Studio 2010 for JDE Business Function Debugging in E1 9.1

Basically no setup needed at all, it is much simpler compared to older JDE versions e.g. XE. First thing we need is to build the business function (C BSFN or NER) on fat client.

There are couple of methods we can use. The simplest method i prefer is as below -
  • Login to JDE
  • Open Visual Studio (We can also start Visual Studio first)
  • In VS (Visual Studio) -
  • Open source code file(s)
  • Debug menu-->Attach To Process (this will bring up a list of running processes, choose activeconsole.exe
At this point, debugger is active and waiting. Now set breakpoints and run the required app/ube/whatever, the debugger should stop at the breakpoints.

Once done with debugging, turn off debugging by going back into the Debug menu and select the Detach All option.

The other method uses VS to start E1 by opening activeconsole.exe inside of VS. Please refer to this Oracle Docs link

2002 day(s) ago   #173
Name: Nick
Category: Technical
Location: India
Date: 2015-01-14 06:07:29


How JDE Event Rule Data Selection Works Along with External Data Selection

Some time it gets confusing when need to use Data Selection inside Event Rules (ER) for UBE which works on top of external data selection supplied at run time.
Assuming values/range of values for ER data selection is passed from Processing Options.

Following are some scenarios with details about how it looks when converted to SQL statements -

Scenario 1

Suppose we need to select all Sales orders (F4201) entered between (DRQJ=) 7/1/2011 and 7/31/2011

Set Selection (BC Date - Requested (DRQJ),,`07/01/2011`,)
Set Selection (BC Date - Requested (DRQJ),,`07/31/2011`,)

Generated SQL -
SELECT * FROM F4201 WHERE (DRQJ>=`07/01/2011` AND DRQJ<=`07/31/2011`)

Scenario 2

Now, if the UBE already has an External Data selection of DCTO=`SI`,`SO` our earlier data selection of DRQJ (in processing options) between 7/1/2011 and 7/31/2011.

Set Selection Append flag (Yes)
Set Selection (BC Date - Requested (DRQJ),,`07/01/2011`,)
Set Selection (BC Date - Requested (DRQJ),,`07/31/2011`,)

Generated SQL -
SELECT * FROM F4201 WHERE (DCTO IN (`SI`,`SO`)) AND (DRQJ>=`07/01/2011` AND DRQJ<=`07/31/2011`)

Explanation -
The Selection Append Flag specifies if to append the extra data selection after the External Data selection of the UBE. If this is set to NO, only the data select statements after that is applied.

Scenario 3

Let`s take a scenario where you have an external data selection of DCTO = `SF`.
Our situation demands that if the Processing option range is entered, then select those in DRQJ range and all the `SF` orders.

Set Selection Append flag (Yes)
Set Selection (BC Date - Requested (DRQJ),,`07/01/2011`,)
Set Selection (BC Date - Requested (DRQJ),,`07/31/2011`,)

Generated SQL -
SELECT * FROM F4201 WHERE (DCTO=`SF`) OR (DRQJ>=`07/01/2011` AND DRQJ<=`07/31/2011`)

Explanation -
How did that work? The basic understanding how to form your AND / OR conditions is that, the conditions you put at the End of your statements is what is placed before that statement. In the above scenario we had the OR condition in the first statement. The condition is placed before the Set Selection statement.

Scenario 4

Let`s take a scenario where you have an external data selection of DRQJ in range of 01/01/2011 and 01/31/2011.
Our situation demands that if the Processing option range is entered, then include that DRQJ range too along with the external data selection.

Set Selection Append flag (Yes)
Set Selection (BC Date - Requested (DRQJ),,`07/01/2011`,)
Set Selection (BC Date - Requested (DRQJ),,`07/31/2011`,)

Generated SQL -
SELECT * FROM F4201 WHERE (DRQJ BETWEEN `01/01/2011` AND `01/31/2011`) OR (DRQJ>=`07/01/2011` AND DRQJ<=`07/31/2011`)

How did that work? The basic understanding how to form your AND / OR conditions is that, the conditions you put at the End of your statements is what is placed before that statement. In the above scenario we had the OR condition in the first statement. The condition is placed before the Set Selection statement.

Scenario 5

Now suppose the above same scenario of DRQJ in range of 01/01/2011 and 01/31/2011 was given in Processing options, and along with it you also want to select only the order types SI and SO (also set in processing options). We have a tricky situation here. the Issue being that JD Edwards does not support parenthesis or does not allow you to segregate the SQL where clause to prioritize the conditions.

Lets think of the following code if you feel its its correct.

Set Selection Append flag (Yes)
Set Selection (BC Date - Requested (DRQJ),,`07/01/2011`,)
Set Selection (BC Date - Requested (DRQJ),,`07/31/2011`,)
Set Selection (BC Order Type (DCTO),,`SI`,)
Set Selection (BC Order Type (DCTO),,`SO`,)

Generated SQL -
SELECT * FROM F4201 WHERE (DRQJ>=`07/01/2011` AND DRQJ<=`07/31/2011` AND DCTO=`SI` OR DCTO=`SO`)

Do you think this will work? NO it does not.
The OR condition at the end does not have a priority or parenthesis and so messes up the statement we want to build. So how do we tackle this?

This is how we do it in JD Edwards...!

Set Selection Append flag (Yes)
Set Selection (BC Date - Requested (DRQJ),,`07/01/2011`,)
Set Selection (BC Order Type (DCTO),,`SI`,)
Set Selection (BC Order Type (DCTO),,`SO`,)
Set Selection (BC Date - Requested (DRQJ),,`07/31/2011`,)
Set Selection (BC Order Type (DCTO),,`SI`,)
Set Selection (BC Order Type (DCTO),,`SO`,)

Generated SQL -
WHERE (DRQJ >= `07/01/2011` AND DCTO=`SI` OR DCTO=`SO` AND
DRQJ <=`07/31/2011` AND DCTO=`SI` OR DCTO=`SO`)

Explanation -
Yes now, if you look at the SQL generated, you can see how the selection works. BTW, SQL conditions work from right to left. i.e. the right most condition executes first, followed by the conditions on its left.

Reference - JDESource
2068 day(s) ago   #164
Name: JDE1
Category: Technical
Location: India
Date: 2014-11-09 07:24:04


Re-size search and select boxes in JDE E1 9.1

We are on JDE E1 9.1 and we are using the 9.1.3 toolset. Since going to the new toolset, one of the client raised concern about search & select window size. Client says - When I click on the magnifying glass to search and select, the box is very small and there is no "expand" button. I can drag it to be larger but then on the next find it goes back to being small. Is this a default view that can be changed?

After googling on oracle support found the following details -

Starting with tools release 9.1, All Visual Assist forms by default open as inline pop-up/modal search windows. Prior to 9.1 tools release, it would open and fill the entire browser window. The initial size of the pop-up window is determined by the size of the Search and Select form defined in Form Design Aid (FDA) and the window re-sizing is not retained after it is closed. The default view of the pop-up window therefore depends on the design of the application that is called on the visual assist.

For a particular search and select window , suggest that the size of the Search and Select window in be re-sized in FDA so that more columns are visible. Alternatively, you could create a custom grid format to put the significant columns in the window.

Hope it is usefull.

2084 day(s) ago   #163
Name: Teo
Category: Technical
Location: India
Date: 2014-10-24 03:12:08


Turn on Logging for UBE submitted on Enterprise server from fat/web client

Recently we upgraded from XE to JDE 9.1 and found difficulty in locating the log files, found one oracle support document which details the steps to follow to retrieve the log files.Following are the steps-

Steps for Loggings:
  1. Inquire upon the report name in Batch Versions and select the version to be submitted on server.
  2. On Version Prompting screen, select the Form Exit - Advanced to go to Advanced Prompting screen.
  3. Check the option for Logging & Tracing and set UBE Logging Level = 6. Click Ok to go back to the Version Prompting screen.
  4. Specify Data Selection/Data Sequencing (if any) and review the Processing option values and submit the batch.

Retrieve UBE Log:
  1. In Batch Versions, select Form Exit - Submitted Jobs
  2. Select the grid record for the submitted job and Row Exit - View Logs
  3. Check jde.log box and click Ok to save the Report_Version_xxxxx_PDF.jde.log file to a desired location.
  4. Select the grid record for the submitted job and Row Exit - View Logs
  5. Check jdedebug.log box and click Ok to save the Report_Version_xxxxx_PDF.jdedebug.log file to a desired location.
  6. In case of logs greater than 2MB, it would be recommended to retrieve and copy the file directly from the PrintQueue folder on the Enterprise Server rather than downloading it from work with Submitted Jobs, since it may become truncated.

Refer to oracle support Doc ID 1542863.1

Hope this helps!

JDE EnterpriseOne Technical
2137 day(s) ago   #157
Name: TechZone
Category: Technical
Location: India
Date: 2014-09-01 00:11:27


JDE ER Debugger with Conditional Breakpoint

Event Rules Debugger is very important for JDE Developers, it helps in checking actual flow of program.
The JD Edwards debugger helps not just in debugging the code at run time, but at times, it gives us a good visual of the code and the parameters which itself sometimes solves the issue.

According to help file of ER Debugger : The Event Rules Debugger provides the essential debugging tools (breakpoints, step commands, and variable inspection), you need to debug a OneWorld interactive or batch application. You can use the Event Rules Debugger to debug named event rules and table event rules. When the Event Rules Debugger builds debug information for an application, it includes named event rule and table event rule information for that application.

It also has many limitations as below -
  1. Suppose there are about 10000+ records in a UBE, and you have an issue with records starting from nth one.
  2. Need to break only for a specific record.
  3. Break on the line of code when a condition satisfies (like the var is not equal to value).
  4. Break on multiples of a hit count, e.g. break on 10th, 20th, 30th, .
Now from E1 tools 8.97 onwards we got a new functionality called Conditional Debug, for ER Debugger.

Notice the ? symbol on the Breakpoint set. That is called as conditional breakpoint.
Right click on the breakpoint, and select its Properties and following window prompts-

Here we can set the Condition for break point on when to Break. Only issue here is that you have to specify the complete Name of the variable (Case sensitive) with the condition.

Now lets look at the HIT counter functionality of the Conditional Breakpoint. The hit counter can be used on the following occasions.
  • Break Always on all records
  • Break if the Hit Count is equal to a value
  • Break if hit count is greater than or equal to
  • Break if the hit count is a multiple of a value

An additional functionality that the Breakpoint Properties give us is Enable/Disable a Breakpoint, instead of deleting it.

2164 day(s) ago   #155
Name: TechZone
Category: Technical
Location: Singapore
Date: 2014-08-05 03:24:12


Business Function to Write Record into F41021 & F4111

Business Funcation N4101120 can be used to write records into F41021 & F4111, if it is required to create Item without using P4101 or R4101Z1I.
If need to write a primary location record then no need to pass any value for Location and Lot.

The issue with this business function is that, it does not check if record is already present or not in the Item Ledger (F4111). It creates new record in Item Ledger. To avoid this we can pass the Program ID as `EP4600` so that it will not execute the BSFN inside N4101120, which creates the record in F4111. And we can use other BSFN (e.g. B4100040 - F4111 Write Item Ledger) to create record in F4111.

2203 day(s) ago   #154
Name: TechZone
Category: Technical
Location: Singapore
Date: 2014-06-27 20:16:45


FAQ Report Design Aid in JDE E1

How many detail sections possible in a report template?
Multiple. But the physical page size of report template should not exceed 45 inches in length and width. Report template that exceeds this limit might faces problems at run-time.

How many detail sections can be added in a report template using report director?
Using the Director, only one detail section can be inserted in the report template. Later RDA can be used to enhance the report template and add extra detail sections.

How many numbers (max) of Page Header/Page Footer sections possible in a report template?
Only one.

How many numbers (max) of Report Header/Report Footer sections possible in a report template?
Only one

Can a business view be attached to a Page header section?
No. Business views can be attached to details sections only

what is the default font used to generate PDF reports in E1?

Is it possible to print the attachments that are inserted in the report?
No. They are just useful to explain the functionality of the report, any special logic used, documenting the changes etc.

The properties and format of report headers and footers and of page headers and footers are similar to which detail section?
Group section.

To be continued...

2207 day(s) ago   #153
Name: TechZone
Category: Technical
Location: India
Date: 2014-06-23 01:27:31


Report Templates Vs Batch Versions

Report templates are master specifications of the report. It defines the data used, how the data is Selected , Sorted, Displayed, and Formatted etc.
Batch versions read the master specifications from the associated report template and override one or more specification of the report template like:
  • Section layout
  • Section data selection
  • Section event rules
  • Section database output
  • Section sort sequence

This concept allows creating requirement specific reports (versions) without touching the Master (i.e Report Template).
Basically you create one report template and create multiple version by overriding the specifications.

Report Power points:
  • Report template is a Master specification
  • Batch version is a child i.e business need based customization of the Master

2233 day(s) ago   #146
Name: TechZone
Category: Technical
Location: India
Date: 2014-05-28 23:00:58


Send Report Output Directly to Email in JDE E1

There was a requirement where it is needed to email the pdf of UBE output as an attachment.
We have a Business function to send an email, however, the challenge here is to get the path of the email attachment, as there are many reports executed at the same time and we need to get the name of the attachment.

In order to achieve this, code needs to be written in a specific order. Please follow the steps as mentioned below -
  1. Call the report whose output needs to be emailed as an attachment through a Business Function "Launch Batch Application" (B91300C). This Business Function will return the job number.
  2. Retrieve the Batch Server so as to Set the F986110 Data Source. Use the BSFN "Retrieve Computer ID and Job Number" to retrieve the Batch Server.
  3. Now pass the Job Number and Batch Server to F986110 and retrieve FNDFUF2. FNDFUF2 is the name of the pdf or csv file generated.
  4. Now we need the print queue path, where the pdf or csv file is generated. This can either be achieved through BSFN "Read INI" (B980055) or it can be hard coded as per the different environment.
  5. Now concatenate the FNDFUF2 to the print queue file. Also concatenate the extension of the file (.pdf or .csv) to the entire path.
  6. Pass this path into the Send Email BSFN (B0500190).

  • In the jde.ini the mail server needs to be defined.
  • The print queue path needs to be shared.
  • Use trim to remove spaces from the file path retrived from print queue before passing it to Send Email BSFN.

JDE E1 Technical
2245 day(s) ago   #145
Name: TechZone
Category: Technical
Location: India
Date: 2014-05-16 19:56:00


Working with Design Aids and ER Editor

I was just wondering if any of the following is possible -
  • Open two or more UBEs in RDA at the same time.
  • Open a UBE in RDA and an App in FDA at the same time.
  • Open the ER editor in RDA and the ER editor in FDA at the same time.

I was bit worried whether doing this may cause spec corruption, but later i tried and came to know about following -
  • Two UBE in RDA cannot open at the same time but is possible using VM or Remote Connection and open it on a different client.
  • One UBE and one App can be opened at the same time.
  • Event Rules can be edited in both an App and UBE at the same time and also we can view or edit the Event Rules for NER, BSFN, just open 2 OMWs and it works too.

FDA and RDA are two separate programs with separate spec files for each. We can`t open two of the same type, but we can work normally with one of each on the same user session. We can even copy ER portions from one to another (BSFN calls etc.).

JDE E1 Technical
2252 day(s) ago   #144
Name: TechZone
Category: Technical
Location: Singapore
Date: 2014-05-09 00:03:42


Business Function called in Control Exit Changed - Async event is Not Asynchronous on the Web Client


On the Web client, business function (example BSFN_A ) is invoked in the Control Exit Changed - Async event (with HTML Post Enabled). The next business function called in the event is executed only after the BSFN_A has finished executing. It appears that BSFN_A does not execute in asynch mode. On a fat client workstation the second business function does not wait for BSFN_A to finish prior to executing. Why is the business function not executing in asynchronous mode on the Web client?


There is a difference between an asynchronous business function and a business function called in an asynch event. The former one will be triggered in its own thread when the whole form is done processing. The latter one will be executed along with other event rules and the engine will wait for the business function while it is executing.

When a business function is executed, if it is inline, it is executed right away, if it is asynch, it is put in the asynch queue and all asynch business functions are executed after the whole form is processed. Asynch business functions are only available on the OK, Cancel and Close post button click event.

If there is a business function in an asynch event, then the engine will wait until that business function is done and then continue to the next event rule. Web runtime does not care about the asynch events (except for Post Button clicked asynch events on OK, Cancel and Close buttons), all events are executed inline, including business functions called in those events. So the business function called in an asynch event executes as inline therefore all other inline business function will wait for it to finish before they start executing.

This model is different from the fat client workstation. It has been proven that the fat client`s model introduces more inconsistency into the software since there is no guarantee when the event rules in the asynch event would be executed. Our web client will not be changed since this is the intended design.

Note: Information in this document applies to any platform.

For more detials please refer to Oracle support Doc ID 636150.1

Hope it is helpful.
2396 day(s) ago   #133
Name: TechZone
Category: Technical
Location: India
Date: 2013-12-16 23:52:18


Maximum Number of Columns in a Table in JDE

It is defined differently in different JDE Releases -


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 higher Releases

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.

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 are also available 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

Note that changing the defined values in the F9300 - Database Property Values table is not recommended or supported.
Source - MOS ID 1077277.1

JDE E1 Technical
2478 day(s) ago   #124
Name: Sunny
Category: Technical
Date: 2013-09-25 03:14:46



Check M&D Debug function
2612 day(s) ago   #109
Name: BigLow
Category: Technical
Location: India
Date: 2013-05-14 02:25:37


How to create a C Business Function from OMW?

Following are the steps one need to follow to create C Business Function-

1. Create BSFN Object in OMW (B55xxxxx, B56xxxxx, etc.)
2. Create Data Structs Objects (D55xxxxxA, D55xxxxxB, etc) for the functions that will be declared inside of your BSFN
3. In BSFN Design Aid, create functions inside of BSFN. MyFunc1, MyFunc2, etc.
4. In BSFN Design Aid, for each func created in step 3, assign DS created in step 2.
5. In BSFN Design Aid, select Form|Create. Say yes to all prompts.
6. Open the .h file generated in step 5. In BSFN Design Aid select a grid row for one of your funcs and select Row|Typedef, flip over to your .h file and paste contents, repeate for all funcs/grid rows.

** At this point you have a BSFN with function definitions and everything stubbed out **

7. Compile (Build BSFN). If done correctly, you should get a clean complile.
8. Open .c file, and start writing the actual logic so your functions will actually do something.
9. repeate steps 7 and 8 until you get tired, bored or it actually works.

Following prerequisites are required in order to follow the above steps -

1. You must have a strong knowledge of pure ANSI C, if you don`t all ready have a firm foundation in ANSI C, I would stop right now with JDE C BSFNs and learn basic ANSI C. You don`t have to be a C guru to write JDE C BSFNs, but trying to write JDE C BSFNs w/o knowing basic ANSI C is like trying to put a roof on a house before the foundation is poured.
2. Read all the JDE developer guides especially any special guides on BSFNs, Unicode, etc.
3. Look at existing pristine code for examples. There is really very little specific documentation on specific JDE API calls, most of what I have learned, I have learned by reverse engineering existing JDE code!

Oracle JDE E1
Techno Functional
2632 day(s) ago   #105
Name: Teo
Category: Technical
Location: India
Date: 2013-04-24 18:40:50


Using R92TAM and R98CRTGL

What R98CRTGL does, is to go through F9860 and find all tables that are neither bootstrap nor central objects and call the JDB_OpenTable API for that table.The JDB then finds the table specs.
It looks for the specs in glbltbl.xdb and glbltbl.ddb. As normal, the specs wont be there as we are trying to build them and it then looks into local TAM.If it doesnot find the dataitem in local TAM or dddict, it will then go to the RDB specs and JITI them. It is to avoid this JITI that we need to run R92TAM prior to running R98CRTGL.

Run the R92TAM and R98CRTGL for each environment that you are trying to build the specs for.

Oracle JDE E1
2667 day(s) ago   #100
Name: Eddie
Category: Technical
Location: India
Date: 2013-03-20 21:00:56


Ship Confirmation created duplicate records in F4111

For no apparent reason, some lines on a particular sales orders are being double ship confirmed meaning that the Cardex (F4111) is getting duplicate entries for a specific line on a sales order. P4205 being for ship confirmation. We tried to duplicate the issue in test environment but we cannot. Has anyone encountered this problem?

Thanks n Regards
JDE E1 - TechnoFunctional
Xe - 7333
2696 day(s) ago   #97
Name: TechZone
Category: Technical
Location: Singapore
Date: 2013-02-19 19:37:00


Automatic Line Numbering in Grid

Using Event Rule Variables for Automatic Line Numbering

Event rules can be used to create automatic line numbering in form grids. Automatic line numbering means that each line in the grid will have a unique number and the lines will increment automatically as grid lines are added.

To create automatic line numbering event rules:

1. Create a variable to hold the value of the line number. Use the data dictionary item LNID.

VA frm_LineNumber_LNID

2. Initialize the variable on the Post Dialog is Initialized event.

VA frm_LineNumber_LNID = 0

3. On the Grid Record is Fetched event, number the lines as each line is pulled from the database.

If BC LineNumber > VA frm_LineNumber_LNID
VA frm_LineNumber_LNID = BC LineNumber
End If

4. On the Add Last Entry Row to Grid event, increment the line number and assign the new value to the next available line.

VA frm_LineNumber_LNID = VA frm_LineNumber_LNID + 1
GC LineNumber = VA frm_LineNumber_LNID

2763 day(s) ago   #94
Name: Cloud
Category: Technical
Location: India
Date: 2012-12-14 20:00:03


Using date format in conversion from string to date

Here is a quick and simple example of how to use the date format string to convert a string to a date. This helps to avoid parsing the string manually. In this example I am using "OAE" to decode the date string. The business function is B74I0010.

VA evt_DateStr_DSC1 = "08062011"
Convert String to Date Using Format Mask
VA evt_DateValue_DATE01 <- BF ConvertedDate
VA evt_DateStr_DSC1 -> BF StringToConvert
"OAE" -> BF FormatMask
VA evt_DateInvoice_DIVJ = VA evt_DateValue_DATE01

JDE Techno-Functional.
2835 day(s) ago   #86
Name: TechZone
Category: Technical
Location: India
Date: 2012-10-03 17:18:51


Using M D debug function

This itself a Business Function and basically used to debug NER. The Purpose of M&D Debug function is to see the values of variable at run time. When some issues are not duplicable in local system but there in server (if server debugging is not allowed) then this function is been used. This function pops up a seperate window that have the runtime value of the variable.
How to use: Use this BSFN "MDDebug" in appropriate place with providing some meaningful comment. Also pass all the variables for which you wanted the see the runtiime value.

JDE EnterpriseOne
2892 day(s) ago   #78
Name: Kindle
Category: Technical
Location: India
Date: 2012-08-07 03:21:20


Invalid Overwrite or Read Error

Hi All,

We are encountering the following problem-
We have a custom program (P55XXX) randomly it crashes and returns the said error, even we are not able to go in debugger.

Following is the log -

Log #1
Jan 08 15:14:47 ** 820/1007[Invalid Overwrite or Read] The system may become unstable.Please debug the Application using the Event Rule Debugger. Application:P5843060 Event :Dialog is Initialized

Any help/comments will be appreciated.

JDE Technical
2910 day(s) ago   #75
Name: TechZone
Category: Technical
Location: Singapore
Date: 2012-07-20 02:53:33


JDE E1 Release Notes - Tools Release 8.98

Hi Techies,
Here is the detailed release notes of Tools Release 8.98 (Updates 1-4).
Find the attachement in following link.

Release Notes Tools Release 8.98

Oracle JDE EnterpriseOne
Tools Release 8.98
2964 day(s) ago   #60
Name: TechZone
Category: Technical
Location: India
Date: 2012-05-27 18:58:34


Loop through all selected records in a grid

Sometimes there is a need to loop through the selected records in a grid instead of all the records in he grid.

In the past we have looped through all of the records in the grid and determined one by one which ones were selected and which ones were not. The new system functions make it much easier to work only with the selected records in a grid.

Get Selected Grid Row Count - Returns how many records have been selected.
Get Selected Grid Row Number - Returns the grid row number of the first selected record.
Get Next Selected Grid Row - Returns the row number of the next selected row.
Sample code:

Get Selected Grid Row Count(FC Grid, VA frm_SelectedCount_LNID)
If VA frm_SelectedCount_LNID is greater than Zero
Get Selected Grid Row Number(FC Grid, VA frm_GridRowNumber_INT01)
While VA frm_GridRowNumber_INT01 is greater than Zero
Get Grid Row(FC Grid, VA frm_GridRowNumber_INT01)
Get Next Selected Row(FC Grid, VA frm_GridRowNumber_INT01,
VA frm_GridRowNumber_INT01)
End While
End If
3001 day(s) ago   #56
Name: TZ
Category: Technical
Location: Singapore
Date: 2012-04-20 01:18:45


Removing carriage returns from a long string

Following Business Functions can be used to remove carriage returns( , and blanks) at the end of the string.

B1702080 - Remove illigal charachters for a string (max 80 chars)
B7900008 - Strip Hex and Blanks (max 299 chars)
3026 day(s) ago   #52
Name: TZ
Category: Technical
Location: India
Date: 2012-03-26 20:52:17


Table Design Aid Processing

When we create a new custom table, is it required to Generate the Table? Also under what circumstances is it necessary to run the Generate Header File option?
A report using the custom table seems able to write to a table only when Generate Header File is done.


When a custom table is created in Table Design Aid (TDA), there are design specifications only. When we click save in TDA, the design is saved as specs in the specs folder of the path code and at the same time the header file (.h file) of the table is created in the include folder of the path code in the local workstation.

In order to perform table operations on the custom table such as Insert, Update, Delete, Select etc. the table needs to be created in the database. When intially creating and saving a table in TDA, the custom table does not yet exist in the database. To create the table in the database, use the Generate Table option. The Generate Table is a database operation whereby there is a Drop Table and a Create Table command at the database side. The Generate Table option will generate both the table and the table indexes. The existence of the table can be verified via UTB (Universal Table Browser) or in the RDBMS after the Generate Table operation. The Generate Index option will perform a database operation of Drop Index and Create Index to update the indexes for the table. This option does not generate the table information.

There is no need to do a Generate Header File because this is done automatically when doing a SAVE of the table specs in TDA. It is only required to click on Generate Header File when there are modifications to the table such as Software Updates or modifications by other developers, a check-out of Get was done in OMW to get the updated specifications of the table and you want to bypass the Save operation within TDA.

The purpose of the table header file is for business function use. It is a
3049 day(s) ago   #51
Name: TechZone
Category: Technical
Location: India
Date: 2012-03-03 09:51:49


How to Display images on Reports in JDE

Does E1 support embedding images on reports?
JDE does not support embedding images directly on the report.The alternate way is to create a custom font using font creation tools and add that image to a report constant in RDA.
Steps at a high level-
1.Create a new font(Itzlogo) and associate the image to one of the character, say B
2.Save the font and install it to the windowsfonts folder
3.Now open RDA and add Insert report constant at the place where you wish to have the image/logo/ signature.
4.In the Variable Name enter the value say B.Navigate to Font/Color tab.. choose the itzlogo font and click ok.
5.The image will appear on the design aid... Run the report to see the image now.

Some of types of images that are added to the reports: Company logos, special symbols,Signatures ..etc

3054 day(s) ago   #48
Name: TechZone
Category: Technical
Location: India
Date: 2012-02-27 18:44:32


Using Table Handle in Oracle JDE EnterpriseOne

1). Create a table handle definition in the Data Dictionary if one does not already exist for your table (see F41021Handle for an example).
2). Create a Form or Report Level ER Variable based on the Data Dictionary handle entry.
3). If an application, use the "Table Open" and " statement in the Dialog Initialized event. Use the Close statement in the End Dialog event.
4). All I-O statements (Fetch, Select, etc) against that particularly table should use the same table handle variable.
One of the example of using table handle is to access multiple environments(data sources).
3054 day(s) ago   #47
Name: Raj jde geek
Category: Technical
Location: 185
Date: 2012-02-27 17:31:39


Value of SV File_IO_Status in Table IO Update/Delete

On an Update or Delete, SV File_IO_Status will always return CO SUCCESS even if the update or delete is not successful because the record does not exist. Per Development Standards, it is Working as Designed as stated in SAR 3434592.
According to SQL Database Standard, an Update or Delete is considered successful even when zero row records is returned by the Database Update or Delete.
The workaround is to issue a FetchSingle on the record to be updated/deleted and use the result of the SV File_IO_Status of the FetchSingle to issue the update or delete.
3079 day(s) ago   #43
Name: TechZone
Category: Technical
Location: India
Date: 2012-02-02 20:05:12


How to Identify Batch (UBE) Versions with overrides?

There is not a field in the Versions List Table (F983051) that is updated for versions with version overrides. Instead; the RDASPEC information is updated locally in the TAM spec when the version override is created, and then in Central Objects when the version is checked-in.
Whenever a new version is created, if no overrides are performed, only one RDASPEC record is created with a Record Type of 1. If additional overrides are performed on the version, then additional RDASPEC records are created. For example, if the user performs data selection overrides, then records are created in the RDASPEC for that report/version with record type 7 with the selection overrides for the version. If section layout overrides are performed, multiple records with record type 3 are created in the RDASPECS. If data sequencing changes are made, then record type 6 records are created in TAM spec and if event rule overrides are performed, record type 16 records are created.
This same information can be seen in the Central Objects when the version has been checked in. If no overrides exist for the version, there will be only one record in the F98761 RDASPEC central object table with the report name in RSOBNM, the version name in RSVERS and a record type RSRCRDTP of 1. However, for additional overrides, additional records are written to the central object table with the corresponding record type for the type of override.
3206 day(s) ago   #31
Name: TZ
Category: Technical
Location: SG
Date: 2011-09-28 20:20:06


Problems Deleting An Custom Object

One of our developers had a few objects that he wanted deleted.
So, I went to OMW and was able to delete all of the objectsexcept one (a P object).

I tried everything:
(a) deleted it locally,
(b) deleted it from the SAVE location,
(c) marked it to delete from transfer locations and then promoted it all the way to a 38 and back to a 21.

After a bunch of digging in all our developers projects, it was found that there were 3 versions of that object that had been created. Deleted the versions and was then able to delete the object.
3216 day(s) ago   #23
Name: Jef
Category: Technical
Location: SG
Date: 2011-09-18 20:53:57


Data Structure

What is a Data Structure and what are the System generated and User Defined Data Structures?
3219 day(s) ago   #20
Name: TZ
Category: Technical
Location: SG
Date: 2011-09-15 20:29:48


JD Edwards EnterpriseOne Database Insert

In the JD Edwards EnterpriseOne Report Writer When doing and insert into a table containing the Field FY, which of the following values below would result in a successful update? a) 2008 b) 8 c) 08 d) none of the above
3219 day(s) ago   #18
Name: Jef
Category: Technical
Location: SG
Date: 2011-09-15 20:18:40


JD Edwards EnterpriseOne Reporting Suppress Section Write

How would you suppress a section write with JD Edwards EnterpriseOne Report Design Aid? a) Call a Business Function b) Execute an Event Instruction c) Make the Section Conditional d) Call a System Function
3335 day(s) ago   #3
Name: Lal Kr
Category: Technical
Location: Banglore
Date: 2011-05-22 19:05:15


Override Form Properties using event rule

Hi TechZone,
Is there a way to override form properties using event rule? Regards Lal JDE E1 Technical Consultant
Post Comments/Queries
* Please keep the forum clean.  * Your comments may subject to varification.  * Your email ID will not appear in the forum.
JDE List JDE Source    JDE Upgrade JDE Fusion     The CNC Guy     Itz about ERP JDE Dev JDE Tech
E1 Tips & Tricks JDE CNC JDE Tips IT Toolbox JDE Tech Tips JDE ERP JDE Advisor JDE Wikipedia
Disclaimer: Most of the posts in this blog cater solutions/suggestions/workaround to issues for specific tools release or JDE E1 version and are just information only. Please be carefule while applying it in your environment. JDEthread will not be responsible for any data loss or spec corruption (if any).
Copyright © 2010 - 2020 JDEthread.in