In recent years, I have had the honor to participate in project management and supervision of some major development projects. I found that many developers are not very clear about some concepts or program writing, this also includes some advanced developers who will also make some basic mistakes, so I will sort out the mistakes that are easy to make and hope that you can develop good habits when writing programs.
I. Exception Handling
Many people prefer to set exception to 'null'. It should be said that this is a bad habit. If a specific exception is not defined, at least the database error information should be completely reported.
Incorrect syntax:
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
Correct syntax:
EXCEPTION
WHEN OTHERS THEN
FND_FILE.PUT_LINE (FND_FILE.OUTPUT, SQLCODE );
FND_FILE.PUT_LINE (FND_FILE.OUTPUT, SQLERRM );
END;
Ii. OUTPUT and LOG of concurrent requests are not classified
Some people do not know how to output logs when sending concurrent requests. It is actually very simple:
Output to the request: FND_FILE.PUT_LINE (FND_FILE.OUTPUT, 'xxxxxxx ');
Logs output to the request: FND_FILE.PUT_LINE (FND_FILE.LOG, 'xxxxxx ');
Generally, the report content is OUTPUT to the OUTPUT, and the debug logic in the report is OUTPUT to the log.
Iii. Initialization of running EBS programs outside the EBS Environment
We often encounter running a view in pl/SQL, which cannot display data, but there is data on the interface, mainly because the view is OU shielded, therefore, you need to initialize your identity in pl/SQL. The initialized program is as follows, so that you can run the EBS view in any pl/SQL environment, such as PO_HEADERS and PO_LINES.
BEGIN
Fnd_global.pai_initialize (USER_ID =>, RESP_ID =>, RESP_APPL_ID => );
END;
4. When using messages, I often see that some people prefer to use FND_MESSAGE.DEBUG ('xxxxx') directly in FORM to Display error or prompt information. In fact, this is very incorrect.
Gu mingsi and DEBUG are used for debugging. They are not user-friendly for human-computer interaction, nor comply with Oracle's standard usage.
The standard usage of Oracle is to use FND_MESSAGE.SET_NAME (APPL_SHORT_NAME, MESSAGE_NAME );
Use the following code to Display Error information in FORM:
FND_MESSAGE.SET_NAME (APPL_SHORT_NAME, MESSAGE_NAME );
FND_MESSAGE.ERROR;
The following code is generally used to display error information in a PACKAGE:
FND_MESSAGE.SET_NAME (APPL_SHORT_NAME, MESSAGE_NAME );
APP_EXCEPTION.RAISE_EXCEPTION;
Then define Chinese and English messages under the application developer of EBS, and then submit the request "Generate information" to generate messages. This method can be used for Multilingual messages and prompt information for modifying man-machine interfaces, instead of modifying the source program.
V. Design Principles for custom table structures in EBS:
1) A primary key must be included and a sequence must be established;
2) create five WHO fields, that is
CREATED_BY NUMBER
CREATION_DATE DATE
LAST_UPDATED_BY NUMBER
LAST_UPDATE_DATE DATE
LAST_UPDATE_LOGIN NUMBER
Use the attribute class CREATION_OR_LAST_UPDATE_DATE in FORM. The WHO field is not automatically assigned a value. You must write code in FORM to complete this task.
EBS provides a function FND_STANDARD.SET_WHO, you only need to call in form block-Level Trigger PRE-INSERT/PRE-UPDATE.
3) for business data tables, 15 elastic domain fields should be considered;
4) if data tables that require concurrent request processing are added, add four fields for the tracking request.
REQUEST_ID NUMBER
PROGRAM_APPLICATION_ID NUMBER
PROGRAM_ID NUMBER
PROGRAM_UPDATE_DATE DATE
5) check whether the table distinguishes OU from inventory organization;
6. In FORM development, do not write code directly to a TRIGGER at the FORM level, BLOCK level, or ITEM level. Use program unit to create a TRIGGER. For example:
You can create a PACKAGE in program unit in the following format:
Package body FORM_NAME/BLOCK_NAME IS
PROCEDURE EVENT_HANDLER (event in VARCHAR2)
IS
BEGIN
If event = 'when-NEW-FORM-instance' THEN
XXXXXXXX;
Elsif event = 'pre-form' THEN
XXXXXXXX;
ELSE
APP_EXCEPTION.INVALID_ARGUMENT ('event _ handler', 'event', EVENT );
End if;
END EVENT_HANDLER;
END FORM_NAME/BLOCK_NAME;
Items can be in the following format:
Package body BLOCK_NAME IS
PROCEDURE ITEM_NAME (event in VARCHAR2)
IS
BEGIN
If event = 'when-NEW-ITEM-instance' THEN
XXXXXXXX;
ELSE
APP_EXCEPTION.INVALID_ARGUMENT ('item _ name', 'event', EVENT );
End if;
END ITEM_NAME;
END BLOCK_NAME;
7. To use elastic domains or warnings in EBS, you must register TABLE and COLUMN in EBS.
This registration function is implemented by calling the AD_DD function package:
AD_DD.REGISTER_TABLE register TABLE
AD_DD.REGISTER_COLUMN register COLUMN
AD_DD.DELETE_TABLE cancel TABLE Registration
AD_DD.DELETE_COLUMN unregister COLUMN
The following are the professional skills and references required for the two routes.
1. ERP developers
(1) General Requirements for Oracle ERP development include SOL, PL/SQL, JDeveloper, workflow builder, report, form, and discover! Knowledge about Oracle, DB2, and other related databases; (the ABAP language is used for SAP Development)
(2) ERP enterprise-level development, it is best to be very familiar with the business process of the enterprise, so that development will be handy!
(3) Oracle ERP secondary development Book Collection
PL/SQL
Ü (Chinese) oracle SQL function.ppt
Ü (Chinese) plsqlprogramming design workshop
Ü (Chinese) oracle_ SQL performance optimization .doc
Ü (Chinese) SQL Performance Tuning.doc
Form part
Ü ()文forform_builder_basic_development.doc
Ü (Chinese) Form Builder Develop.doc
Ü Oracle Applications Developer's Guide.pdf
Ü (Chinese) PPT formdevelopment tutorial .ppt
Ü (Chinese) FlexField.ppt
Ü (Chinese) Detailed descriptions and differences of open_form, call_form, and new_form
Ü (Chinese) Oracle Applications 11i Secondary Development Experience summary. PDF
U (English) extend_0000_forms.pdf
U (Chinese) form builderinternal parameters description
Ü Trigger Execution Sequence in Oracle Forms
Report Section
Ü (Chinese) CrystalReport. chm
Ü Crystal Enterprise.pdf
U (Chinese) Iss Report Builder Basic Development.doc
Ü (English) ReportBuilder_ReferenceManual.pdf
Ü (English) Report Training Material (PPT)
Workflow Section
Ü (English) workflow_student_guide.pdf
Ü (Chinese) OracleERPworkflow.ppt
Ü Oracle Workflow and Approval Hierarchies.ppt
Ü Oracle WorkFlow Developer's Guide.pdf
Ü (Chinese) Work Flow usage instructions .doc
2. ERP application implementation and consulting staff
(1) generally, it is best to master SOL and simple PL/SQL statements.
(2) You must be familiar with the business process of the enterprise! Demand analysis, business process optimization, solution design, system testing, and launch all run through our profound understanding of the process!
(3) For Oracle ERP, we recommend that you first read the summary of the excellent training courseware, and then you can refer to the Chinese online help and user gudie, student guide and other materials! Pay attention to the process.