このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

AppleScriptでFMPの指定したフィールドからのデーターを他のソフトへの入力方法

発言者:Naomi.N
( Date Wednesday, April 22, 1998 20:22:23 )


初めまして皆様、Naomi.Nともうします。AppleScriptの質問をさせてください。
私は、AppleScriptの素人で困っています。FMPの指定したフィールドからのデータ
をMacAuthorizeと言うソフトに入力したいのです。下記のAppleScriptがMacAuthorizeのサンプルScriptで
これをどう書き換えればいいのか何方か教えてく
ださいお願いします。出来ましたら何せ素人ですので優しくお願いします。
何方か助けてください。よろしくお願いします。

-- individual values sent to MacAuthorize throughout these examples
-- generally these should come from a record in your database. How you obtain these
-- values depends on the database you are using.

global myAccount
global myExpire
global myAmount

set myAmount to "1.00"
set myAccount to "4012345678990"
set myExpire to "1298"

-- individual values returned from MacAuthorize. These should generally be
-- returned to your database

global myStatus
global myAuthorizationCode
global myResponseText
global myReferenceNumber
global myBatchNumber
global myItemNumber
global mySequenceNumber


tell application "MacAuthorize DEMO"
  
  -- these globals are the to/from records for MacAuthorize
  
  global fromMacAuth, toMacAuth
  
  set toMacAuth to {TransactionType:SaleDeposit, Amount:myAmount, Account:myAccount,
Expiredate:myExpire}
  
  -- now actually do the authorization
  
  set fromMacAuth to (Authorize New Sale With Properties toMacAuth)
  
  -- set common responses
  
  set myStatus to Status in fromMacAuth
  set myResponseText to ResponseText in fromMacAuth
  
  
  
  if Status in fromMacAuth = Approved then -- if approved, move approval fields in
    set myAuthorizationCode to AuthorizationNumber in fromMacAuth
    set myBatchNumber to BatchNumber in fromMacAuth
    set myItemNumber to ItemNumber in fromMacAuth
    set myReferenceNumber to ReferenceNumber in fromMacAuth
    set mySequenceNumber to SequenceNumber in fromMacAuth
    display dialog "Result: " & myResponseText & " Auth: " & myAuthorizationCode buttons {"OK"}
  else
    if Status in fromMacAuth = Declined then
      display dialog "Result: " & myResponseText & " Transaction was declined" buttons {"OK"}
    else
      display dialog "Result: " & myResponseText buttons {"OK"}
    end if
  end if
end tell

SHUICHI.T さんからのコメント
( Thursday, April 23, 1998 00:55:39 )

おや、私のところ (参考ページの部分) だけでなくここにも書いているのですか>

→  SHUICHI.TによるAppleScript理論

木下@キー・プランニング さんからのコメント
( Thursday, April 23, 1998 01:21:04 )

お困りのご様子は分かりますが、マルチポストはマナー違反ですよ。

fml-mlにも同じ内容でポストされていますが、狭い世界なので、私のように
あちこちで何度も同じ内容を読む人間にとっては、迷惑です。

結果、呆れられてレスが付かなければ損をするのは自分ですから。

Naomi.N さんからのコメント
( Thursday, April 23, 1998 03:21:49 )

SHUICHI.T さん、木下@キー・プランニング さんどうも失礼いたしました。
こういった所に掲示したのは初めてなもので以後気をつけます。

田中求之 さんからのコメント
( Thursday, April 23, 1998 03:48:37 )

まず MacAuthorize がどういうソフトなのか(何をするソフトなのか)を教えて
ください。

スクリプトを見るかぎりでは

>set myAmount to "1.00"
>set myAccount to "4012345678990"
>set myExpire to "1298"

この部分を書き換えるとうまく行くのではないかと思われますが、ソフトについて
事情がわかりませんので、こちらでは確認のしようがないのです。

焦っているのはわかりますが、他の人には、あなたの状況(何をどうしようとして
困っているのか)が分からないかぎり、答えようがないのです。面倒だと思うでし
ょうが、なるべく詳しく状況を説明してくださいね。

木下@キー・プランニング さんからのコメント
( Thursday, April 23, 1998 08:34:17 )

SHUICHI.TによるAppleScript理論にデモ版のURLがあったので、ダウンロードしてみました。

こんなソフトがあったのかと驚いたのですが、結構良くできてますね。で、見たら、
FileメニューのImport TransactionでExcelやFileMakerから書き出したテキストファイルを
読み込みできるようですが、これでは不味いんですか?

どの程度、AppleScriptを理解しているのか想像がつきませんが、急ぎならテキストで
FileMakerからデータを持ってきた方が早いと思いますよ。

このサンプルも、実際は260行もありますが、それを全部アップするのは現実的ではないで
すし、理解できる部分と理解できない部分と切り分けができないうちは、オンライン上で
問題の解決を図るのは少し難しいと思いますが。

木下@キー・プランニング さんからのコメント
( Thursday, April 23, 1998 08:35:39 )

>SHUICHI.T

失礼! <SHUICHI.Tさんによる>

SHUICHI.T さんからのコメント
( Thursday, April 23, 1998 09:53:37 )

>失礼! <SHUICHI.Tさんによる>
SHUICHI.Tによる... でいいですよ(笑)。
(一応それがタイトルですから...)

→  SHUICHI.TによるAppleScript理論

Naomi.N さんからのコメント
( Thursday, April 23, 1998 19:22:50 )

田中求之先生、木下@キー・プランニング さんご返答本当にありがとうございます。
田中求之先生のおっしゃるとおり他の人お伺いするのに説明不足でした。

>まず MacAuthorize がどういうソフトなのか

MacAuthorizeとはクレジットカードのカード情報を電話回線を使いカード会社に伝
えるソフトです。たとえば商店などのレジにあるクレジットカードターミナルと言わ
れるカードをスライドまたは情報を入力する端末機。それと同じ機能でその機械を使
わずにMacのソフトとしてMacAuthorizeがあります。MacAuthorizeのデモ版が
FTPダウンできます。

ftp://ftp.wustl.edu/systems/mac/amug/files/commercial-demos/general/macauthorize-2.3-demo.sit.hqx

私がMacAuthorizeを使いしたいことは、WebSTAR 3.0+Tango+FMP4.0のく見合わ
せでSSLの掛かったWebブラウザーからのクレジットカードのカード情報、他の情報
をTangoでFMP4.0に渡しそれと同時にFMPの「AppleScript実行」に用意してある
MacAuthorizeに伝えるAppleScriptをTangoより命令してMacAuthorizeのアン
サーを待ち、そのアンサーをFMP4.0に戻しそれをTangoでWebブラウザーに戻す。
 この一連の作業をしたいのですが、木下@キー・プランニング さんは
MacAuthorizeを見ていただいたそうですが、(有り難うございます。)
MacAuthorizeにあるサンプルAppleScriptを使いFMP4.0の情報をどう
MacAuthorizeへ伝えまたそのアンサーをどうFMP4.0へ返すのかがわからなく
ご相談しています。つまり、恐らく田中求之先生からのアドバイスが有ったとおり

>set myAmount to "1.00"
>set myAccount to "4012345678990"
>set myExpire to "1298"

の部分をFMP4.0の指定したフィールドから持ってきたいのですがそこがわからないの
です。

>どの程度、AppleScriptを理解しているのか想像がつきませんが、

素人です。

>このサンプルも、実際は260行もありますが、それを全部アップするのは現実的では
ない

サンプルAppleScriptは260行程有りますが、先日投函させて頂いたAppleScript
(50行程)のみ使用したい思っております。
実は私は海外に居るもので日本の書籍がなかなか手に入りませんので参考になるWeb
ページや少しのヒントでも結構ですのでどうぞお力になってください。よろしくお願
いします。

木下@キー・プランニング さんからのコメント
( Thursday, April 23, 1998 20:26:26 )

Naomi.N さんのお考えが、そんなに壮大なものとは想像していませんでした。

技術的には可能だと思いますが、公衆回線を使ってカードの認証を行う時間を
考えると、まず間違いなくタイムアウトエラーになると思います。
また、AppleScriptやファイルメーカーはマルチスレッドに対応していないので、
複数アクセスがあった場合、業務使用に足る処理速度や信頼性を実現するのは、
難しいでしょう。

堅いことを言わせてもらいますが、人のお金を扱う部分を十分なスキルのない
技術でカバーするのは問題だと思います(決して意地悪な意味でなく)。