Archive

Author Archive

Component Backflush with Oracle MTL Transaction Interface Table

September 22, 2011 Leave a comment

Recently, at work, we noticed the Work Order-less completions inserted into our MTL_TRANSACTIONS_INTERFACE table were not spawning component backflush transactions. It was quite the mystery to us, as they had been working in Oracle 11i (11.5.10).  At some point during our migration to R12 (12.1.3) the backflush transactions had stopped.  We searched Oracle’s documentation, support knowledge base, and all over the internet.  We couldn’t find a solution.

One of my colleagues got in touch with someone she used to work with.  They were able to provide a private API: APPS.wip_flowUtil_priv.  My colleague tried the API call explodeRequirementsToMTI and was able to get the components to backflush.  We thought all was well.

However, upon further testing, I noticed something strange.  The original Assembly was getting stuck in the interface.  And when resubmitted, I saw both the assembly and another round of components getting transacted.  What was going on?

Further testing provided me with the answer: the originally inserted assembly record was getting slightly altered by the material transaction worker before getting marked in error.  Altered to a point which would spawn component backflush transactions if marked for processing and then processed.  I tried inserting a fresh assembly record into the MTL_TRANSACTIONS_INTERFACE table with the updated fields and was able to get the components to backflush, automatically, without any errors.

We now have a functioning R12 Work Order-less completion interface which inserts assembly completion records into the MTL_TRANSACTIONS_INTERFACE table.  Records which are correctly formed and spawn component issue (backflush) transactions when processed by the material transaction manager (Process transaction interface).

These are the two fields that were changed by the transaction manager:

OPERATION_SEQ_NUM from -1 to NULL
TRANSACTION_BATCH_SEQ from NULL to 1

Below is the insert statement we are using, with Oracle 12.1.3 changes noted.

Read more…

QR Codes On Your Business Card

May 27, 2011 Leave a comment

QR Codes have become tremendously popular over the last few months.  Most companies use QR codes as a way to direct users to websites.  Users can scan a code with their mobile phone, and the phone directs the user to the marketer’s webpage.  The process saves the user time by eliminating the need for the user to type the web address into their phone.

QR Codes are two-dimensional machine readable images.  Much like normal barcodes, such as UPC codes, but with a much higher density of information, and significant redundancy/error correction.  Any simple text can be encoded in a QR Code and then read by a machine using a scanner or camera.

When I was doing some research on QR Codes I found they can be used for other purposes such as encoding VCARDs. VCARD files are simple contact or address book files saved as plain text.  Most address book applications can save and open VCARD files with ease.  Many QR scanner applications recognize QR codes with VCARDs as the encoded text.

So, when I was designing my most recent personal business card I though it would be a neat idea to include a QR encoded VCARD on them.

The first step was getting a VCARD.  Unfortunately this was not an easy task. Although there is a standard for VCARDs, most software applications interpret the standard differently, especially as related to the phone number.  It is worth mentioning that if too much information is in the VCARD text, the QR Code will get denser, and thus harder for phones to read.  Through some trial and error, I ended up with this VCARD:

BEGIN:VCARD
N;LANGUAGE=en-us:Hayes;Ed
EMAIL;INTERNET:ed@edhayes.us
TEL;CELL:440-263-4420
URL:http://www.edhayes.us
ADR:;;;CHICAGO;IL;;
END:VCARD

Any decent QR encoding software should be able to encode this.  I used the one available at http://invx.com/code.  Make sure the encoder encodes the text as the QR code, rather than encoding a URL that directs the user to a page displaying the text.

Finally I placed the encoded QR code image on my business card.   Now, when I give my card to someone, they can scan it with their phone, and my contact gets added to their address book.  Not only does this ensure that there are no typos, it’s much easier for the user to enter my contact information by scanning an image rather than typing on a tiny keyboard.

Fixed: Oracle iSetup XML Uploading Error

May 21, 2011 Leave a comment

For the past month at work we have been experimenting with Oracle iSetup as a way to migrate Oracle R12 configurations from instance to instance.  We had been using Rapid Solutions (Rapid e-Suite) in Oracle 11i in the past, but wanted to try something quicker, more robust, and seeded with Oracle.

The iSetup module worked pretty well in our proof of concept testing.  But we ran into a problem when we started migrating our multi organization/business unit configurations. We have multiple business units because we are sharing the instance with another division at our company. Migrating configurations with iSetup brings all the ORGs and sites along with each configuration, however we only wanted our division’s configurations migrated.  To solve the problem, we started editing the exported XML before loading it into the new instance.

Editing XML is relatively time consuming and prone to error when editing in a text editor compared to a program designed to edit XML.  We tried to use the free Microsoft XML Notepad 2007, however, loading the exported files was causing iSetup to fail on upload.  I found the problem and solved it as described below.

Conditions

  • Oracle iSetup module in Oracle E-Business suite R12
  • XML Documents edited by Microsoft XML Notepad 2007

Symptoms

  • iSetup reports error when uploading edited XML files
  • Log file as seen here:
oracle.xml.parser.v2.XMLParseException: Start of root element expected.
at oracle.xml.parser.v2.XMLError.flushErrors1(XMLError.java:320)
at oracle.xml.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:341)
at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:303)
at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:205)
at oracle.apps.az.r12.api.BC4JAPI.createAPIEntityItems(BC4JAPI.java:330)
at oracle.apps.az.r12.extractor.cpserver.UploaderContextImpl.validateExtract(UploaderContextImpl.java:170)
at oracle.apps.az.r12.extractor.cpserver.UploaderContextImpl.upload(UploaderContextImpl.java:105)
at oracle.apps.az.r12.extractor.cpserver.UploaderCp.runProgram(UploaderCp.java:74)
at oracle.apps.fnd.cp.request.Run.main(Run.java:157)

Problem

  • Oracle XML files are saved in ASNI text encoding even though the XML header specifies UTF-8
  • Oracle iSetup expects ASNI encoded XML files contained within uploaded ZIP file
  • Microsoft XML Notepad 2007 saves XML files in UTF-8 encoding

Solution

  1. Download extraction ZIP file generated by Oracle iSetup
  2. Extract ZIP file to your computer
  3. Edit and save extracted XML file in Microsoft XML Notepad
  4. Open saved file in Notepad (Text Editor)
  5. Save As ASNI encoding
  6. Replace existing file within original ZIP file
    1. ZIP file compression levels and algorithms must reamin intact
    2. 7-ZIP supports replacing files within an existing file using drag and drop functionality
  7. Upload updated ZIP file to Oracle iSetup as a new extraction.
  8. Load extraction into source instance

Conclusion

It may seem like this is backwards, but from few hours of troubleshooting, this is what I concluded, and this is working for us. I may open a TAR with Oracle to get this bug fixed.  Before it is, however, this is how we are proceeding with our iSetup configurations.

Fixed: Parted Magic 6.0 USB Boot Error

My neighbor is having computer problems so I am preparing to clone his hard drive to an external disk.  I realized my version of Parted Magic is quite old, so it was time to upgrade my USB flash drive to the new version.  After downloading the new ISO from partedmagic.com and the  UNetbootin program from unetbootin.sourceforge.net as the documentation for Parted Magic instructed.  After following the directions and making my bootable USB flash drive, I got an error.  I tried searching the internet and couldn’t find a easy solution.  I finally figured out what was wrong:

Conditions

A Windows XP Professional machine creating a Parted Magic USB Boot drive.

Symptoms

Booting from the Parted Magic 6.0 USB drive, the following error is displayed:

SYSLINUX 3.85 2010-02-20 EBIOS Copyright (C) 1994-2010 H. Peter Anvin et al
No DEFAULT or UI configuration directive found!
boot:

Solution

It turns out the non-zipped ISO is corrupt.  Use the UNetbootin program to download the iso image or download the ISO zip file from Parted Magic’s website.

Support of Lakeview Wal-Mart Convenient Store Concept

March 21, 2011 3 comments

I wrote the following letter to my Alderman  Tom Tunney today.

Mr. Tunney,

My name is Ed Hayes, and I am a constituent of yours.  As a fellow member of the LGBT community, I appreciate your support of all LGBT issues.  I am also a frequent customer of your Ann Sather restaurants which I am proud to have in Lakeview.

With that said, I live at 519 W Melrose and fully support Wal-Mart entering Lakeview with its new convenient store concept.

Lakeview has had a grocery store deficit for many years since the Dominic’s burned down in 2005.  With the project to rebuild Dominic’s apparently dead, I see no reason prevent Wal-Mart from entering the area. Especially if they are planning a convenient store which does not require a parking lot.  The Lakeview long term plan designates Broadway as being a pedestrian street.  A Convenient store like Wal-Mart would conform to that more than the previously planned Dominic’s with parking lot, and more than the Trader Joe’s currently being constructed with a parking garage.

None of the products sold by local small businesses/boutiques would be in competition with Wal-Mart’s convenient store concept.  The only competition to Wal-Mart’s store are the current grocery store offerings.  The current grocery stores closest to the planned Wal-Mart lcoation (Dominic’s, Jewel, Whole Foods, Treasure Island, and Market Place) have prices much higher than Wal-Mart’s expected prices. If/when Wal-Mart enters the market, consumers will pay less on their every day groceries, giving them more buying power for local restaurants and boutiques.  That means Wal-Mart would actually help local businesses.  Furthermore, Wal-Mart would increase foot traffic along Broadway and Clark; foot traffic that could only help other local businesses.  And as I mentioned before, is already part of the long term Lakeview plan.

Accusing Wal-Mart of having poor labor relations is completely unfair.  Wal-Mart has arguably better labor relations than many other local grocers and businesses.  If Wal-Mart’s labor relations are as bad as people claim they are, nobody will want to work there, and the store will never open.  Never the less, the unemployment rate in Chicago is quite high, and adding potential jobs is important to everybody in the city.  I don’t see any point on blocking any employer from creating much needed jobs.

The recent news to rezone the storefront which Wal-Mart plans to lease is outrageous.  I am fairly certain that many other retailers on the same corner as the potential Wal-Mart have just as large of a footprint as Wal-Mart plans to have, if not larger! I don’t know their exact square footages, but Borders, TJ Maxx, World Market, and Bed Bath and Beyond are all quite large.

Trader Joe’s is coming soon; why are they getting any special treatment?  They are just as much a national chain and arguably more specialized than Wal-Mart. Trader Joe’s will provide more of a threat to local businesses than Wal-Mart ever will. If the goal is to save local businesses, why was Trader Joe’s allowed to build a store?

The building Wal-Mart plans to occupy currently has three empty storefronts.  Borders is about to provide another open storefront very close by.  And, there are countless smaller storefronts in the neighborhood which are also empty.  If a company like Wal-Mart is planning to improve and occupy two of those empty storefronts, it is preposterous to block them.

The only argument I would agree with against Wal-Mart is that it is a national chain, and our neighborhood would be better off with local small businesses.  But if National chains are so bad, why are so many other National chains already allowed to be in the area?  Walgreens, CVS, Panera, Starbucks, Hair Cuttery, Best Buy, Chipotle, TJ Maxx; I could go on and on.  Any argument against Wal-Mart must also be applied to other retailer.

If the argument was against a Applebee’s, I would be in complete agreement with you.  However, this argument is over a store which sells the same exact products as Dominic’s, Jewel, and Treasure Island.  However, Wal-Mart has a superior supply chain which allows them to sell their goods at drastically lower prices.  Personally, I prefer to pay as little as possible for commodities such groceries.  Milk or flour is the same no matter where it is purchased.  Why pay more just because a store is “local”.  A “local” grocer that sells flour provides no benefit over a national flour retailer.  When it comes to restaurants and clothing, I am willing to pay more for unique and higher quality offerings offered by local businesses.

Please reconsider your decision to attempt to block Wal-Mart from entering our community.  I would gladly discuss this with you further if given the chance.

Regards,
Ed Hayes

Related Local News:

Hot Water Tank Insulation Proposal

January 27, 2011 Leave a comment

Below is a proposal I wrote to my Condominium Association Board and Members January 27th 2011.


Board and fellow condominium association members,

The following is a proposal for insulating our building’s hot water tanks.

Summary

Insulating the two hot water storage tanks and pipes will cost $3,200, provide more than $1,371 annual energy savings, and provide an annual return on investment of more than 43% (less than 2.33 year payback period).  I urge the Board and fellow condominium association members to support this investment; it is rare to find an annual ROI of more than 43%.

Assumptions

  • Two AO Smith T-200 water tanks. (Confirmed)
  • Boiler requires well ventilated room .
    • Ventilation required to constitute combustion in water heater.
    • Exposure to external temperatures year round. (See Footnote 1)
  • Gas Prices from Peoples Gas website (See Footnote 2)
  • Pipe insulation was included in the cost, but not in energy savings.
  • Hot water temperature is 130° F (Temperature measured at faucet)
  • R Value of insulation is 10.00
  • R Value of tank wall is 0.60

Estimate

Calculations
Water Tank Insulation Proposal


Footnotes

  1. Temperature data: http://www.weather.com/weather/wxclimatology/monthly/graph/USIL0225
  2. I made a request to the Board for a copy of the utility bills on August 23rd 2010.  I did not receive a response, therefore, I used cost data based from the Peoples Gas website: http://www.peoplesgasdelivery.com/business/gas_rates.aspx#availableRates
Follow

Get every new post delivered to your Inbox.