APLNEWS2007年2月号

 

1.APLによる小規模業務プログラムの開発サンプルの紹介:

 

正月、子供たちの帰省で、福島に嫁いだ次女の道子が小学生の孫娘とともにやってきました。彼女は現在、“ふくかんねっと”(=福島韓国文化Network?)というNPOに参加し、活動の一環として、韓国文化の紹介や、韓国食品類の販売をしています。現在は一般家庭の主婦などの有志の手によりMicrosoft ExcelWordを使用して販売管理、在庫管理、発注処理などを行っているそうですが、これらは非常に便利な道具ですが、基本的には一品一葉の手作業で、より一貫性の高いシステムを作りたいので、APLを勉強しようかと思っているとのことでした。一週間弱の滞在でしたので、とりあえずきっかけになるようにと簡単なサンプルプログラムを作り、参考として手渡しました。(At the new-year family re-union, my second daughter Michiko who lives in Fukushima (about 300 km north of Tokyo) told me that she was interested in learning APL. She is currently involved in NPO called Fuku-Kan Net (meaning probably Fukushima Korean culture network?) for the promotion of cultural exchange between the citizens of the Fukushima city and the people of Korea. Amongst their activities, there are sales of Korean food items. The volunteers (mostly young women or house-wives) process the sales and other activity records with Microsoft Excel and Word very deftly. Although these tools are very convenient, but are also a collection of each independent manual processes. She was wondering if an integrated sales system of a small scale can be built with APL. I wrote a small sample program and gave it to her when she was returning home after a week stay.)

 

これは私にとってもAPL利用の推進という観点から興味を持ちましたので、その後その希望を何とか実現させる手伝いができないかと思い、システムの土台として、もう少し実用に供することのできる仕組みを作ってみましたので、ここでそれを紹介いたします。立ち上げの最初の画面は次のようなものです:(I was interested in this idea from the stand point of APL promotion, and spent a little more time to make it to satisfy their minimum needs at lease for a start, which I will introduce here, The main dialog window is as shown below:)

 

 

画面には操作メニューの下に日付(変更可)、メッセージ領域、その下に名簿リスト表示域、未処理注文リスト表示領域、戻りボタン、その下に商品購入数量入力域(含む在庫数)、その下にはさらに販売記録表示領域があり、通常は月間の販売記録の集計が表示されていますが、購入者単位の購入記録表示域としても使用します。一連の操作は画面左上で購入者(登録された会員および非会員)の名前(イニシアルでもよい)の入力、または名簿リスト選択で始まります。購入者が確定すると、その下の商品リストに会員または非会員の販売価格が表示されます。(The dialog window below operation menu has the date field and message field on top and below this there are registered name list and unprocessed order backlog list. Then there is a commodity list with prices and stock volume by item and sales volume input area. At the bottom, there is a dual purpose field, which usually displays cumulative sales summary, but upon entering purchases by individual, it displays its records are shown here.)

 

 

売上個数の入力とともに直ちに商品ごとの金額が計算され、画面の下側に表示されます。在庫数もただちに画面の上に表示され、在庫数を超えた注文は、在庫数が赤色のマイナス数値で表示されます。確認のボタンを押すまで、入力した数値は何回でも修正することができます。(As the sales volume is entered, the amount to pay and stock volume are computed immediately (in red if purchase exceeds stock volume), and the record will be shown in the purchase list below. Purchase volume can be changed any number of times before confirm button is pressed.)

 

 

最後に支払いの方法を選択し、着払いならば郵送料を加算し、確認のボタンを押します。(At end, you must select the payment type with cash payment as a default. If necessary you enter cost of shipment and handling, too. As the confirmation button is pressed, the invoice or purchase order record is printed.)

 

 

現金払いの場合は次のような納品書兼領収書が印刷されます。行数が多い場合は複数ページに印刷されます。(In the case of cash payment, following paper is printed in multiple pages if required.)

 

 

またメニューの“その他の処理”ではAPL−EXCELインターフェースが呼び込まれますので、XLSファイルをEXCELおよびAPLのどちらででも自由に加工することができます。(If The other processing item in the dialog menu is pressed, the APL program called APLEXL starts and you can process Excel XLS files either in Excel or APL anyway you like.)

 

 

このシステムのソースプログラムは次のように簡潔なもので、このサンプルプログラムを真似て、自分たちの必要な機能を持つシステムを比較的簡単に作ることができます。(The systems entire program source is shown below. You can imitate this to get your own system easily:)