You are on page 1of 8

Process related questions:

Day to day activities of IT support


--Monitor the tickets queue.
--If the tickets are un assigned then assign it to proper person
--review the tickets in the queue. If there is any inadequate information for
example if the ticket says xyz concurrent program is failing
and there is no mention of the request id then update the ticket asking for the
request id and send it back to the functional team.
-- if all information is correct then start working on the fixes.
--it its a bug in the system then it will sovled using a ticket or if a new
functionality is to be added then need to discuss with team leads to
check whether it can be taken as a ticket or it has to be done as a part of
enhancement.

How do you start working on a ticket as a technical staff:


--Understand the ticket needs. ask for MD50. go through md50 to understand the
functionality. then identify the bug.

what is the development life cycle?


--requirement gathering-- requirements are collected. people involed in this phase
are the managers, stake holders, users
design-- in this phase based on the requirements collected, system is designed.
then shared with the business for their approvals
development-- once the design is approved by the business, actual development
starts.
testing-- in this phase we make sure that the code is developed per the
requirements. various type of testing are, unit testing, integration testing,
functional testing.
maintainance-- once the product has gone live and users actually start using it,
issues can arise. These kind of issues are solved in the maintainance
phase

what is integration testing-- new changes should not impact the other existing
systems

Difference between the OUM and AIM methodology


AIM: Application Implementation methodology used in 11i
OUM: Oracle unified methodology

AIM OUM
MD50 AN050(analysis model) AN100(analysis specification)
Functional design
BR100 MC050
Application setup
TE020 TE020(unit test scenarios)/TE120(test results)
unit testing documents
TE030 TE035(integration test scenarios)/TE40(integration test results)
integration test documents
TE040 TE025/TE070
system test documents
DO070 DP070
user guide

what all requirement gathering was done during xcd id business


- understanding the xcd id business. They offered readers and cards as products to
their customers.
-understanding the product configuration and how its manfuctured in Netsuite
-how these products were ordered in Netsuite
-what all documents-reports coming out of netsuite
-checking if existing documents could print the cards and readers information or
new documents would be needed.
-understanding existing order entry in Oracle and analysisng what changes would be
required for readers and credentials order entry.
-understanding the shopfloor actitvies. like how the readers are manufactured and
the cards are printed. Boxed and labelled. It was a flow manufacturing
process

What were the inbound and the outbound interfaces defined in xcd id business?
-- these were table based interfaces.
once xcd id orders are entered and booked, order is will get a custom hold. A job
was defined to pick all such orders which had this custom xcd id hold
and place the order and line information to the staging tables. Webmethod then
picks this data and sends to third party system called as CMS and
CMS does vaidations and data is put in inbound tables. Then the inbound job picks
the records and process the order.
--The frequency of the orders were like 10 to 15 orders per day

How to define the holds


--Navigate to OM->Setup->Order->holds
enter the custom hold name, description, type , workflow item(OM order header/om
order line)
enter the workflow actitivity where at which point to apply the hold.
define which responsibilities can apply or remove the holds.

How to create XML reports.


-Create a package to print xml tags
-register the package as a concurrnt program
-create data definitions( data definition is the link between mechanism that
generates xml data and the template in which we wish to merge the data)
enter the name of data defn, code(the job short name), application
--create data template. enter name of data template, code, application, data defn,
attach .rtf file

how to build multi language xml report?

http://oracleapps4u.blogspot.com/2016/06/oracle-xml-publisher-multi-language.html

what is sub templates in .rtf.


It is a layout that can be defined once and called multiple times.
An example where subtemplates are useful is when multiple reports have same header
or footer definition. Then header and footer need not be
created everytime.
Subtemplates can either reside on the server or can be defined inside the main
template.
If it resides on the server, an import statement is needed to call the subtemplate.
below is the method of creating a sub template
<?template:header?>
template contents
<?end header?>
below is the way to call the template
<?call-template:template_name?>
If it resides on server use import statement, eg;<?
import:xdoxsl:xxedp/bin/header.rtf?>. If the sub template resides in the main
template
import statement is not required.
what are the xml functions used in the xml templates

to use extended SQL functions use xdofx function. Below examples


<?xdofx:decode('xxx','bbb','ccc','xxx','ddd')?>
<?xdofx:replace(name,'John','Jon')?>

to use extended XSL functionsx use xdoxslt functions. Below examples


<?xdoxslt:left(‘abcdefg’, 3)?> -- extract 3 characters from left of the string
<?xdoxslt:replicate(‘string’, integer)?> --- The replicate function will replicate
the specified string the specified number of times.
Example:
<?
xdoxslt:replicate(‘oracle’, 3)?>
returns

oracleoracleoracle
To print page number
<?fo:page-number?>

to add a page break


<?split-by-page-break:?>

What is the complex xml report developed.

It was an invoice report where number of invoice lines per page should be
restricted to 20 invoices
logic below
before the start of the invoice details section, declare amd set variables as below
<?xdoxslt:set_variable($_XDOCTX, 'counter', 0)?> -- declare variable counter and
set it to 0
number of invoices printed will be 30, then 20 should be displayed on first page
and rest 10 on the second
<?xdoxslt:set_variable($_XDOCTX, 'lines_page', 20)?> declare and set variable
lines_page 20

now inside the invoice details loop, increment the counter variable by 1 every time
the loop executes as below
<?xdoxslt:set_variable($_XDOCTX, 'counter',xdoxslt:get_variable($_XDOCTX,
'counter')+1)?>
now check the mod of counter(current position) and lines per page(20), if this is
equal to 0 then call function
<?split-by-page-break:?>

how to call multiple layouts in xml publisher


-- we can create different sub templates in the main templates with different
layouts
--for example if we need to run a different report for US and CA operating units,
we can have org id as a condition to choose what sub templates to be
called

What are records?


-these are composite data structures which can have different data types. It means
that various data types can be stored in single record type variable
-advantage of record types is that one need not declare multiple data types.
for example, if one needs to output various fields in customer table, no need to
declare individual variables instead a single declaration can suffice

following are the types of records variables


-table based
DECLARE
customer_rec customers%rowtype;
BEGIN
SELECT * into customer_rec
FROM customers
WHERE id = 5;
dbms_output.put_line('Customer ID: ' || customer_rec.id);
dbms_output.put_line('Customer Name: ' || customer_rec.name);
dbms_output.put_line('Customer Address: ' || customer_rec.address);
dbms_output.put_line('Customer Salary: ' || customer_rec.salary);
END;
/

-cursor based
DECLARE
CURSOR customer_cur is
SELECT id, name, address
FROM customers;
customer_rec customer_cur%rowtype;
BEGIN
OPEN customer_cur;
LOOP
FETCH customer_cur into customer_rec;
EXIT WHEN customer_cur%notfound;
DBMS_OUTPUT.put_line(customer_rec.id || ' ' || customer_rec.name);
END LOOP;
END;
/

-user-defined
DECLARE
type books is record
(title varchar(50),
author varchar(50),
subject varchar(100),
book_id number);
book1 books;
book2 books;
BEGIN
-- Book 1 specification
book1.title := 'C Programming';
book1.author := 'Nuha Ali ';
book1.subject := 'C Programming Tutorial';
book1.book_id := 6495407;
-- Book 2 specification
book2.title := 'Telecom Billing';
book2.author := 'Zara Ali';
book2.subject := 'Telecom Billing Tutorial';
book2.book_id := 6495700;

-- Print book 1 record


dbms_output.put_line('Book 1 title : '|| book1.title);
dbms_output.put_line('Book 1 author : '|| book1.author);
dbms_output.put_line('Book 1 subject : '|| book1.subject);
dbms_output.put_line('Book 1 book_id : ' || book1.book_id);

-- Print book 2 record


dbms_output.put_line('Book 2 title : '|| book2.title);
dbms_output.put_line('Book 2 author : '|| book2.author);
dbms_output.put_line('Book 2 subject : '|| book2.subject);
dbms_output.put_line('Book 2 book_id : '|| book2.book_id);
END;
/

What is bulk processing?

BULK COLLECT clause to fetch multiple rows into one or more collections with a
single context switch. bulk collect also offers a limit use keyword
limit after select into statement.
Use the FORALL statement when you need to execute the same DML statement repeatedly
for different bind variable values

What are cursors?


-A temporary work area is created in memory when a sql statement is executed. a
cursor is pointer to that memory area. it helps in row by row
processing of data.
there are two types of cursors, implicit and explicit
explicit cursors have to be declared and are used when the sql statement returns
more than one row.
implicit cursors are automatically created when dml statements are executed.

what are cursor attributes and its importance


%found
- Returns NULL if cursor is open, but fetch has not been executed.

- Returns TRUE if a successful fetch has been executed.

- Returns FALSE if no row was returned.

%notfound - Returns FALSE if a successful fetch has been executed., - Returns TRUE
if no row was returned

%rowcouunt - - Returns the number of rows fetched.

%isopen Returns TRUE if the cursor is open

what is importance of closing a cursor


--resources are freed for reuse

how to customize workflows?


--before customizing workflow using Oracle builder, we need to set access level. In
workflow builder navigate to help->about workflow.
check the allow modifications of customized objects and set access level to 0.
-- first find the workflow activity that is triggered. Example booking workflow was
modified. book an order. In tools tab click of workflow status.
there you can get the workflow name
--open workflow builder search for the process.
--> before the booking node, add a new function, right click and new function
enter the internal name, display name, function name(this is the package)

what are the in and out parameters of the worklows


-- below are the mandatory parameters for workflow package
PROCEDURE check_procom_eligibility (
p_itemtype IN VARCHAR2,
p_itemkey IN VARCHAR2,
p_actid IN NUMBER,
p_funcmode IN VARCHAR2,
p_resultout OUT VARCHAR2 --(complete/incomplete)--
wf_engine.eng_completed || ':INCOMPLETE'
)

how to enable a dff


-- enabled an order header and line level DFF
--To get the DFF name, on the SO header form, navigate to help->diagnostics-
>examine-> on block click on $Descriptive Flexfield$. Now click on
field and query for the correct dff. In the value field we can see DFF title and
application name
--Once we get the title, navigate to system administrator->application->validation-
>flexfield->descriptive->segments.
query for the application and title. uncheck the freeze flex field definition check
box, click on segments button.
enter the name, window prompt, the column to be used and value set if required and
save. on the main screen check the freeze flexfield definition
check box and click on compile.

what all form personalizations have been implemented? what is xoom functionality?
--on the particular form, navigate to->help->diagnostics->custom code->personalize
requirement was as below:-
apply custom hold on virtual credential.
first select the condition then select the action
when VC item is entered, then in condition check if the order item is a VC item
through a lookup.
if yes set the header dff to cms-pending, type = property, target object is the
attribute to be updated, property name is value
line dff to cms-ready to interface
and apply a hold. the type used here is builtin, builtin type execute a procedure
and then in argument write the anonymous block

how to select triggering event and triggering object?


-Switch on the custom events. help-diagnostics-custom code->show custom events

how to setup defaulting rules-?


--Navigate to setup>rules>defaulting
defaulting rules can be setup for below types
order header, line, order payment and line
create a defaulting condition template. give name to the condition, choose an
attribute (order type) = and select the value string(ISO)
select the field on which to apply the defaulting rule (shipment priority). Select
the defaulting condition template and in the default
sourcing rules choose source type as constant value and in value select "Auto Pick
and Print"
After saving, click on Tools->Generate defaulting handler package

RDF reports?
what are bind and lexical parameters
lexical parameters are used to substitute values at run time and are identified by
preceding &. They are used to execute queries dynamically
below is an example
select empno, deptno from customers &where;
bind parameters are used to substitute single parameter at run time and are
identified by preceding :
example below
select empno, deptno from customers where empno = :empid;

what is summary column?


--it performs computation on other columms data, we can have sum, average, count,
minimum, maximum

what is place holder column


--it is defined to hold a value which can then be referred in the layout.

what is formula columns?


--it is used to define user defined computation

Explain IR-ISO flow?

-requsting material from one org to other org


create an internal requistion
approve the requistion
run the create internal orders program -- parameter is operating unit
run the order import program to import orders in order management , parameters are
OU, order source, order reference(IR#), validate only

List some of the API's


--oe_order_pub.process_order
--oe_holds_pub.release_holds
--oe_holds_pub.apply_holds

Order import?
--populate the interface table
oe_headers_iface_all
oe_lines_iface_all
oe_price_adjs_iface_all
oe_price_atts_iface_all
Run the order import concurrent request
we can use the order import corrections window to examine the order
Order import has 3 parameters, order source, order references(use this parameter if
you want to run for a specific order)
validate only (Y/N)

what are profile options


--set of changeable options that affects how the applications looks.
example OM: Debug Level set this to 5 to debug
MO: Security Profile
MO: Operating Unit

Main tables in OE
Order_headers_all
oe_order_lines_all
wsh_new_deliveries
wsh_delivery_details -- Y is released to warehouse, C is shipped. On the table
oe_order_lines_all there is a column shipping_interface_flag. If it is set to 'Y'
then the order line has a record in wsh_delivery_details.
wsh_delivery_assignments-- association between delivery_details and deliveries

GECARS interfaces
Invoice interface-- All the open invoice headers and lines information were
extracted from the tables and placed on server.
This information as extracted and placed into flat files using utl_file.
Appworx modules and chains were created to call the plsql package.

below example of UTL_FILE

declare
2 fhandle utl_file.file_type;
3 begin
4 fhandle := utl_file.fopen(
5 'UTL_DIR' -- File location
6 , 'test_file.txt' -- File name
7 , 'w' -- Open mode: w = write.
8 );
9
10 utl_file.put(fhandle, 'Hello world!'
11 || CHR(10));
12 utl_file.put(fhandle, 'Hello again!');
13
14 utl_file.fclose(fhandle);
15 exception
16 when others then
17 dbms_output.put_line('ERROR: ' || SQLCODE
18 || ' - ' || SQLERRM);
19 raise;
20 end;
21 /

You might also like