4 返信 最新の回答 日時: Apr 2, 2015 11:30 PM ユーザー:yamashiro.official

    スクリプトシーケンスの引数について

    yamashiro.official

      タイトル

      スクリプトシーケンスの引数について

      フォーラムに投稿

      FMサーバ上で外部に保存されたオブジェクト(テキストファイル)をAppleScriptで文字コード変換をしようと思っております。いろいろ考えた結果、スクリプトシーケンスを利用して実行しようと思うのですが、引数の渡し方がわかりません。レコードの値に合わせてテキストファイルのパスが変動するので引数に使用する予定です。

        • 1. Re: スクリプトシーケンスの引数について
          Tella

          環境がわからず内容を見る限りなので、正確な書き込みができませんが・・・。

           

          まず、外部保存に設定されているオブジェクトフィールドに保存されているテキストファイルを

          そのままいじってしまうとデータの一貫性がなくなり、ファイルが見えなくなるとかの可能性があるんじゃないかと思うのですが・・・。

          やるんなら一旦ファイルをエクスポートして、ファイルをいじってからインポートし直した方が

          よいのではないのかなとか思いました。

          • 2. Re: スクリプトシーケンスの引数について
            yamashiro.official

            すいません、ちょっと抽象的でしたね。

            【ユーザ環境】
            Webdirect

            【ホスト環境】
            FMServer13(MacOS)

            【最終目的】
            ユーザ環境からホスト側非対応の文字コードテキストファイルをDBへインポートする。

            【選択した手段】
            一度テキストファイルをオブジェクト(外部保存)としてインポート

            パスを取得し、AppleScript(サーバサイド上は無理なのでシーケンスを利用)で外部保存されたテキストファイルの文字コードをJeditで変換。

            変換されたテキストファイルを改めて正式なテーブルへとインポート

            最初にオブジェクトとして取り込んだレコードを削除
            同時に一貫性のなくなった実ファイルも削除(これもシーケンスを利用)

            【本題】
            filemakerスクリプト上で得たテキストファイルのパス情報(引数)をシーケンスのApplescriptへの渡し方
            また引数を無しに単に後処理としてシーケンスを利用してみましたが全く動作しません(コンソールでエラーは返ってきます)

            この本題の2点のアドバイスをいただけますでしょうか?
            そもそも手段が正しくなかった場合は申し訳ありません。

            • 3. Re: スクリプトシーケンスの引数について
              user14047

              FileMaker Server のスケジュールのシステムレベルのスクリプトは FileMaker からは制御できないので、FileMaker の値を使って引数を渡すことはできませんよ。
              もし、やるとするなら FMS のスケジュールでまず FileMaker スクリプトを実行させ、処理対象の引数となる値をテキストに書き出し、時間差をおいて、システムレベルのスクリプトを実行ですかね…
              fmsadmin ユーザではないファイルだとパーミッションの違いでエラーが出るので、そのあたりの考慮も必要です。
              でもオブジェクトを取り込むことはスケジュールではできないですよね。(システムレベルのスクリプトでもFileMaker スクリプトでも)

              発想を変えて、すべて FMS のスケジュールの FileMaker スクリプトで実行できるように Plug-in を導入してはいかがでしょうか?
              MBS FileMaker Pluginなら、Server のスケジュールスクリプトでも オブジェクトファイルの取り込みができますし、bBox plug-inを使えば、Shell script も使えるはずです。(未検証なので実際にできるかどうかは…)

              • 4. Re: スクリプトシーケンスの引数について
                yamashiro.official

                うすうすそのような気がしてたのですが、実現に近づけるにはかなり大回りしないとダメそうですね。

                大変参考になりました。別の手段にシフトしてみようと思います。

                ちなみにホストをWindows環境にするとファイルメーカー対応の文字コードから化けることなくインポートできるので

                そもそもこういった処理自体が必要なくなります。(これは過去にFileMaker Pro10上で検証した経験)不慣れなWindows環境も検討してみようかと思います。

                基幹システムのエクスポート書類もWindows系のコードが多いのでFM側で対応できるとかなり実用的なのですが...

                ODBCという便利なものもありますが大抵、取引先とのネットワークはプライベート同士なので使えずにいます。