Sunday, May 20, 2018

Working on Büşra Pırlanta and I'm Diamond websites

Helping the family business!
My younger brother is running Büşra Pırlanta as a business for about 5 years now and his younger brother has also started in the jewellery industry 1-2 years ago with a store named I'm Diamond. So far I have been giving them suggestions and helping a bit here and there however now I would like to be more involved and to make them good online e-commerce websites. If anyone wants to check them out, they are located in Istanbul, Turkey and the websites are:
www.busrapirlanta.com.tr
www.im-diamond.com

The websites have already been developed several years ago, busrapirlanta.com.tr with .net and im-diamond.com with Shopify. Also a developer is hired so I might be working a bit as a product manager and whenever needed I won't be afraid to get my hands dirty.

Friday, March 13, 2015

Test techniques - Partition Boundry & Category Partition method

Just learned about Partition Boundry testing while studying for my masters, and in simple words; it makes so much sense :) After learning, it feels like it is the most intuitive thing to do, but before it wasnt :) So I believe this should potentially be one of the first things any tester learns !

On top of this Category Partition method makes things more systematic so again in my opinion should be reviewed as well by every tester.

Wont get into details now but just google them !

Tuesday, September 25, 2012

Assigning responsibility

Assigning a user's responsibilities to another user can be time consuming, here is a useful code:

--Working in R12, not tested in R11
declare
cursor c1 is select fr.APPLICATION_ID, fr.RESPONSIBILITY_ID,
frt.RESPONSIBILITY_NAME, fur.end_date
FROM apps.fnd_user fu
,apps.FND_RESPONSIBILITY fr
,apps. FND_USER_RESP_GROUPS_DIRECT fur
, apps.FND_RESPONSIBILITY_tl frt
where fur.RESPONSIBILITY_ID=fr.RESPONSIBILITY_ID
and fur.USER_ID=fu.USER_ID
and frt.RESPONSIBILITY_ID=fr.RESPONSIBILITY_ID
and frt.LANGUAGE='TR'
and (fu.END_DATE is null or sysdate between fu.start_date and fu.end_date)
and fur.END_DATE is null
and fu.user_name = 'RHOSHANLI'; -- misal kullanýcý

cursor c2 is select fu.USER_id
FROM apps.fnd_user fu
where (fu.END_DATE is null or sysdate between fu.start_date and fu.end_date)
and fu.user_name in ('TESTUSER'); --sorumluluk verilecek kullanici

l_count number;

begin

for r1 in c1 loop

for r2 in c2 loop


select count(*) into l_count
FROM apps.fnd_user fu
,apps.FND_RESPONSIBILITY fr
,apps. FND_USER_RESP_GROUPS_DIRECT fur
, apps.FND_RESPONSIBILITY_tl frt
where fur.RESPONSIBILITY_ID=fr.RESPONSIBILITY_ID
and fur.USER_ID=fu.USER_ID
and frt.RESPONSIBILITY_ID=fr.RESPONSIBILITY_ID
and frt.LANGUAGE='TR'
and (fu.END_DATE is null or sysdate between fu.start_date and fu.end_date)
and fur.END_DATE is null
AND FRT.RESPONSIBILITY_ID=r1.responsibility_id
and fu.user_id = r2.user_id; -- sorumluluk verilecek kullanýcý

if (l_count = 0 ) then

apps.fnd_user_resp_groups_api.Insert_Assignment( user_id =>r2.user_id
,responsibility_id => r1.responsibility_id
,security_group_id => NULL
,responsibility_application_id => r1.application_id
,start_date =>sysdate
,end_date => NULL
,description => r1.responsibility_name);
else

apps.fnd_user_resp_groups_api.Update_Assignment( user_id => r2.user_id
,responsibility_id => r1.responsibility_id
,security_group_id => NULL
,responsibility_application_id => r1.application_id
,start_date =>sysdate
,end_date => r1.end_date
,description => r1.responsibility_name);
end if;

end loop;

end loop;

commit;

end;

Monday, September 3, 2012

Integration Design

In todays complex IT infrastructre integrations between different systems are so common
that it is almost a daily routine subject. Therefore design of integrations create huge impact on system performance, operations effort and user satisfaction. Depending on the technology of systems; data file, database link, web service methods can be used.

Thinking of nowadays's popular web service method, there is another fundamental design decision; synchronised or asynchronised? Both has different advantages and disadvantages so satisfies different requirements.
Synchronised; Provides result of service request directly to the user. This provides users to act quickly if needed. Though it is disadvantageous if too many records exist and if that causes users to wait. Also this may cause high load problems on the system.
Asynchronised; Users submit a request though does not see the result until querying it. This probably causes users extra effort because of requiring a control action to see if it is completed expectedly. Also increase operational support need because when users doesnt see results immediately a scheduled monitoring action is probably required. Also this may cause delay of other processes which are dependent of the requested action. Though it's disadvantages it can be used because synchronisation time can be scheduled to a time which system is free of load and users does not have to wait until getting a response.

Another important subject to think about is error handling. Many reasons may cause problems such as system shutdowns, missing data or unexpected cases and different solutions may required for these causes. Sending failed records twice, sending warning mails about failed transactions to related users, creating a log report and giving users the ability of retry are the basic precautions to be taken.

Taking these into consideration, will provide customer satisfaction and decrease the need for operations support.

Thursday, August 16, 2012

Cumulative Sum, Regular Expressions

I needed a sql to force users to enter data with Capital letters, a friend helped me with a regular expression, of course usage of it is not limited with this:
regexp_substr(:ATTRIBUTE_VALUES.C_ATTRIBUTE6,'[[:lower:]]') is not null

To have cumulative sums following sql can be used:
SUM(SUM( toplam_maliyet/GENEL_TOPLAM_maliyet)*100 )
OVER (ORDER BY sum (toplam_maliyet/GENEL_TOPLAM_maliyet)*100 desc ROWS UNBOUNDED PRECEDING) AS cumulative_total

Effective Software Development Process

It is said that system analysis and development of the software result differently than the real requirement most of the time. I partially agree with that; i see products varies from customers imagination-requirement thus changes are required after the expected completion time. To increase quality of work and descrease time spent, design clarity is important so supporting anaysis text with draft screens, workflows is a good idea. To help with these Lucid Spec software can be used;


"Lucid Spec - Better software through concise functional specifications!
Lucid Spec helps you rapidly prototype software and produce a concise, clear functional specification. Lucid Spec does this by combining screen design, application simulation, and user interface description all-in-one."
http://www.elegancetech.com/ls/ls.aspx

Oracle Time and Labor (OTL)

I have encountered OTL while using Projects. For me time entry was done in OTL and it was integrated with Projects. Three kinds of time entry is possible for OTL; employees entering for themselves via an OAF screen, assigned users entering for different employees (Authorized Delegate method) via an OAF screen and assigned users entering for different employees (Timekeeper method) via a Forms screen.
Following is a more comprehensive definition of the module

"Oracle Time and Labor automates the entire time and attendance record-keeping process and provides an intuitive, web-based interface for time entry and approval. It offers a simplified way to submit, review, track and approve timecards. At the same time, it helps you control costs and time worked, consolidate timecard information, and adhere to organizational time management rules.

Integrate and Streamline Your HR Processes
Oracle Time and Labor is part of Oracle Human Resources Management family of applications, and integrates seamlessly with other Human Resources applications, including Human Resources(core) and Payroll. Oracle Time and Labor also is a key module in Oracle's enterprise project management solution, Oracle Projects.

BENEFITS
Enter Time Anytime, Anywhere

Enter time via web browser, mobile device, or even offline using a timecard template that can be uploaded later.
Streamline Management

Enable approvers to search timecards and view summary information. Perform mass approvals. Gain flexible configurations for approvals workflow.
Enforce Policies

Define rotation plans based on shifts and work plans. Define which employees can charge to which organizations in your company. Support policies for holidays, overtime, and rounding.
Automate Timecard Creation

Automatically generate a timecard or group of timecards from work schedule, last timecard, or a project stored in Oracle Projects Resource Management.
Create Single Source of Entry

Improve reporting, extracting, and processing with a single database of employee time-related information. Share data with Oracle Projects, Oracle Human Resources, and Oracle Payroll."

http://www.oracle.com/us/products/applications/ebusiness/human-capital-management/053631.html