Script help

Dear friends,
    I need to do the following task.
   For Movement 911, I need to remove hard coding (PROD) and incorporate the following logic in the script program.
Data is maintained (set-id:z_vendor_assembly_area) in both “Format Group (PRTCLASS)” and “Symbolic name (LNAME)”. Above set-id already contained PROD against cost center No. Hard coding should be removed and apply processing logic as follows:
Read PRTCLASS for LNAME = PROD
Extract FROM
If  Vendor No. = FROM  in the layout form then show “Cost Center” =  LNAME
    I don't know where to incoporte the coding in the below program, Pls anyone give me the solution to where to incorporate the coding and how.
script Coding:
TABLES: ltak, ltap, *ltap, rldru, *rldru, mgef, itcpo, usr01,
        t300, t300t, t331, t333b, t646g, t646h, tsp03, t340d,
        t329f, t329d, t329p, *t329p, t329a, t301t, *t301t, lqua,
        rl03t, *rl03t, lein, t302t, *t302t, cpkme, lprdr,
        likp, kna1, mseg, afpo, t003p, marc, makt, stxl, lips,
        lubu, cobl, ekpo, t157e, caufv, ltbp, mkpf, t156t, lfa1,
        resb, plpo, pkhd, t001w, mara, vbap, eket, qals, t024,
        ekko, vbak, sadr, t001l, t496f, t496r, tvapt, pkps,
        tvaut, vbpa, pa0105,
  table usr03 was removed for 3.1h to 4.6 conversion.
  tables usr21 & adrp were added instead.
        usr21, adrp,
  for the Ethis project Aug 2001       //EB
        inob, kssk, ksml, ausp, cawnt, cabnt, prps, prps,mseg, zmapd,
SR29757 //EB sept 2002
        t333,
SR#76047
        afko, aufk,
SR#82839
        viora, jsto, tj30, tj30t.
*{   INSERT         for Service Pack changes  Jan 20001 // EB.
DATA: humla TYPE c.
*}   INSERT
DATA:    BEGIN OF addr_groups OCCURS 3.
        INCLUDE STRUCTURE adagroups.
DATA:    END OF addr_groups.
DATA:    BEGIN OF addr_sel.
        INCLUDE STRUCTURE addr1_sel.
DATA:    END OF addr_sel.
DATA:    BEGIN OF addr_val.
        INCLUDE STRUCTURE addr1_val.
DATA:    END OF addr_val.
4.7 Upgrade Issue Resolution
DATA:   DRUCKVERBUCHER            TYPE C.  "Steuert ob Druck aus Verbu.
data    etikett type c.
DATA: batchsrc   LIKE mseg-charg,                           "GV1
      batchdest  LIKE mseg-charg,
      destmatnr(18) TYPE c,
      binflg     TYPE c,
      ctrlcycle  LIKE pkhd-pknum,
      diff       TYPE i,
      fstprnt    TYPE c VALUE 'X',                          "GV1
      item_count(4) TYPE n,
      prntmess   TYPE c VALUE 'X',                          "GV1
      negative   TYPE c,
      hotpick TYPE c,
      key(12) TYPE c,
      objnr(22) TYPE c,
      srcmatnr(18) TYPE c,
      stattext(40) TYPE c,
      valuatsrc  LIKE mseg-bwtar,                           "GV1
      valuatdest LIKE mseg-bwtar,                           "GV1
      prtbatch  TYPE c,                                     "GV1
      prtvaluat TYPE c,                                     "GV1
      supparea LIKE pkhd-prvbe,
      status_drpz LIKE   tj02-istat VALUE 'I0210',
      tot_qty   TYPE i,                                     "GV1
      vendcar(10)   TYPE c,
    vendint like mseg-lifnr,
      vendint TYPE i,
      wrkeof TYPE c.                                        "GV1
DATA: BEGIN OF t_altbin OCCURS 10,                          "GV1
        bin(6) TYPE c,
      END OF t_altbin,
      bin1(6) TYPE c,                                       "GV1
      bin2(6) TYPE c,                                       "GV1
      bin3(6) TYPE c,                                       "GV1
      bin4(6) TYPE c,                                       "GV1
      bin5(6) TYPE c,                                       "GV1
      bin6(6) TYPE c,                                       "GV1
      bin7(6) TYPE c,                                       "GV1
      bin8(6) TYPE c,                                       "GV1
      bin9(6) TYPE c,                                       "GV1
      bin10(6) TYPE c.                                      "GV1
DATA: BEGIN OF t_qty OCCURS 100,                            "GV1
         bin   LIKE ltap-nlpla,
         qty TYPE i,
         matnr LIKE ltap-matnr,
      END OF t_qty.                                         "GV1
DATA:   p_proto    LIKE rldru-proto.
*data  con_program_data   like sy-repid value 'RLVSDR00'.
DATA  con_program_data   LIKE sy-repid VALUE 'ZPJSDR00'.
*{ Added for SR:293067
DATA: BEGIN OF mseg_data_0 OCCURS 10,
         aufnr LIKE mseg-aufnr,
         mblnr LIKE ltak-mblnr,
         mjahr LIKE ltak-mjahr,
         mbpos LIKE ltap-mbpos,
END OF mseg_data_0.
DATA: mseg_data LIKE mseg_data_0.
DATA: x(1) TYPE c.
*........Reportspezifische Parameter und Select-Options.................
SELECTION-SCREEN  BEGIN OF BLOCK xxx WITH FRAME TITLE text-010.
PARAMETERS:
        druckkz  LIKE rldru-drukz,
        edrucker LIKE rldru-ldest,
        spoolpar LIKE rldru-spool,
        drucken AS CHECKBOX DEFAULT 'X'. "Kz Liste drucken
SELECTION-SCREEN SKIP 1.
PARAMETERS:
        tasch AS CHECKBOX   DEFAULT 'X',    "Druck TA-Schein
        lesch AS CHECKBOX   DEFAULT 'X',    "Druck LE-Schein
        letasch AS CHECKBOX DEFAULT 'X',    "Druck LE-TA-Schein
        leinh AS CHECKBOX   DEFAULT 'X'.    "Druck LE-Inhaltsverzeichnis
SELECTION-SCREEN END OF BLOCK xxx.
       Interne Tabellen                                             *
*........Tabelle der TA-Positionen.....................................
DATA:   BEGIN OF tap OCCURS 50.
        INCLUDE STRUCTURE ltap.
        INCLUDE STRUCTURE ltap1.
DATA:   END OF tap.
DATA: BEGIN OF lsperr OCCURS 50.
        INCLUDE STRUCTURE lein.
DATA: END OF lsperr.
DATA BEGIN OF options1.
        INCLUDE STRUCTURE itcpo.
DATA END OF options1.
DATA: BEGIN OF prlst_tmp.
        INCLUDE STRUCTURE print_co.
DATA: END OF prlst_tmp.
DATA: BEGIN OF l_qamvtab OCCURS 10.
        INCLUDE STRUCTURE qamv.
DATA: END OF l_qamvtab.
DATA: BEGIN OF l_qamv_save.
        INCLUDE STRUCTURE qamv.
DATA: END OF l_qamv_save.
*DATA: BEGIN OF G_QAMV_TAB OCCURS 10.
       INCLUDE STRUCTURE QAMV.
*DATA: END OF G_QAMV_TAB.
DATA: BEGIN OF qamvtab OCCURS 10.
        INCLUDE STRUCTURE qamv.
DATA: END OF qamvtab.
DATA: BEGIN OF qapotab OCCURS 10.
        INCLUDE STRUCTURE qapo.
DATA: END OF qapotab.
DATA: BEGIN OF qasvtab OCCURS 10.
        INCLUDE STRUCTURE qasv.
DATA: END OF qasvtab.
DATA: BEGIN OF i_qals.
        INCLUDE STRUCTURE qals.
DATA: END OF i_qals.
DATA: i_first_print(1) VALUE 'X',
      i_print_message  LIKE tq30-kzmessage VALUE 'X'.
DATA: BEGIN OF qsperr OCCURS 100.
        INCLUDE STRUCTURE lqua.
DATA: END OF qsperr.
*........Interne Tabelle zur Aufnahme der Druckinformationen zu dem.....
*........Druck von Palettenscheinen. ...................................
*........(Achtung: wird auch gebraucht im RLKOMM00-Kommilistendruck)....
DATA: BEGIN OF int_ledruck OCCURS 100,
        drukz      LIKE t329f-drukz,
        formu      LIKE t329f-formu,
        tddelete   LIKE t329p-tddelete,
        tdnewid    LIKE t329p-tdnewid,
        tdimmed    LIKE t329p-tdimmed,
        tddataset  LIKE t329p-tddataset,
        tdcopies   LIKE t329p-tdcopies,
        ldest      LIKE t329d-ldest,
        le_schtyp,
        sorco(4),
        lenum      LIKE lein-lenum,
        vltyp      LIKE ltap-vltyp,
        vlber      LIKE ltap-vlber,
        vlpla      LIKE ltap-vlpla,
        nltyp      LIKE ltap-nltyp,
        nlber      LIKE ltap-nlber,
        nlpla      LIKE ltap-nlpla,
        lgnum      LIKE ltap-lgnum,
        nidr2      LIKE t329d-nidr2,
        nidr3      LIKE t329d-nidr3,
        nidr4      LIKE t329d-nidr4,
      END OF int_ledruck.
........Protoco of Printer search instead of print out...............
DATA:   BEGIN OF iproto OCCURS 20.
        INCLUDE STRUCTURE lprdr.
DATA:   END OF iproto.
       Einzelfelder                                                 *
DATA: flg_lgtyp_barcode(1)     TYPE c VALUE ' '.
DATA:   flg_form_open             TYPE c,
        flg_tadruck_aut           TYPE c,
        flg_tadruck_man           TYPE c,
        flg_tadruck_wie           TYPE c,       " Sapscript oder Abap
        flg_taplg1                TYPE c,
        flg_taplg2                TYPE c,
        flg_druck_umbuch          TYPE c,
        flg_erster_umbuch         TYPE c,
flag for vendors with more than one address    //EB Aug99
        flg_vendor_addr           TYPE c,
        erster_durchlauf          TYPE c,
        mvmt261-flag              type c.
DATA:   kz_sort_vonlagertyp       TYPE c.
DATA:   hlp_tapos                 LIKE ltap-tapos,
        hlp_tapos_umbuch          LIKE ltap-tapos,
        sav_tapos                 LIKE ltap-tapos,
        cnt_samml                 TYPE p.            "Anz. Pos./Blatt
Umbuchungsspezifika.........................................*
DATA:   u2_taplg  LIKE rldru-taplg,
        cnt_umb_pos     TYPE   c.
DATA:   BEGIN OF u2_rl03t.
        INCLUDE STRUCTURE rl03t.
DATA:   END OF u2_rl03t.
DATA:   BEGIN OF u2_ltap.
        INCLUDE STRUCTURE ltap.
DATA:   END OF u2_ltap.
       Konstanten                                                   *
DATA:   druckaufbereitung(16)     TYPE c VALUE 'X_PAPER_NT      ',
        con_blank                 LIKE ltap-vorga VALUE '  ',
        con_eins                  LIKE ltap-tapos VALUE '0001',
        con_tb                    LIKE ltap-vorga VALUE 'TB',
        con_u1                    LIKE ltap-vorga VALUE 'U1',
        con_u2                    LIKE ltap-vorga VALUE 'U2',
        con_schein_le             VALUE '1',      "LE-Schein
        con_schein_leta           VALUE '2',      "LE-TA-Schein
        con_schein_lei            VALUE '3',      "LE-Inhaltsverzeichnis
        con_vorga_tl              LIKE t342-vorga VALUE 'TL',
        rfltn(18)                 TYPE c,
        taplg(19)                 TYPE c,
       *taplg(19)                 TYPE c,
        talgn(15)                 TYPE c.
*.......Altlasten wegen gemeinsamer Includes............................
DATA:   abap      TYPE c     VALUE 'A',
        sapscript TYPE c     VALUE 'S',
        formular  LIKE t329f-formu.
DATA: bar1 TYPE c,
      bar2 TYPE c,
      bar3 TYPE c,
      bar5 TYPE c,
      shipping TYPE c,
      afsdesc LIKE caufv-ktext,
      afsnum LIKE afpo-matnr,
      engdesc LIKE makt-maktx,
      engsernum LIKE afpo-charg,
      destplan LIKE mseg-werks,
      srcplan LIKE mseg-werks,
      deststor LIKE mseg-lgort,
      srcstor LIKE mseg-lgort,
      destbin LIKE ltap-nlpla,
      prodordnum LIKE afpo-aufnr,
      collectord LIKE caufv-maufnr,
      engnum LIKE caufv-stlbez,
      sonum LIKE ltap-nlpla,
      topass TYPE c,
      rush TYPE c,
      delnum LIKE ltap-nlpla,
      soitemnum(16) TYPE c,
      textkey(15) TYPE c,
      textkey1(10) TYPE c,
      class-text(15) TYPE c VALUE 'Classification:',
      sdgrpchk LIKE ltap-vlpla,
      temp-ltak-date like ltak-bdatu,
      temp-wm-mvmt like ltak-bwlvs.
DATA: BEGIN OF i_snum OCCURS 0,
        aufnr     LIKE zpps-aufnr,
        zmatnr    LIKE zpps-zmatnr,
        zatserial LIKE zpps-zatserial,
*{ Modification Start P913099
Added the following fields
        zatcage   LIKE zpps-zatcage,
        zatser_cage(23) TYPE c,           " Concatenate zatserial + zatcage.
*}Modification End P913099
      END OF i_snum.
DATA: w_remain LIKE sy-tabix,
      w_line   LIKE sy-tabix,
      w_start  LIKE sy-tabix,
      w_end    LIKE sy-tabix,
*{ Modification Start P913099
*Commented the two fields
    serialnum1 LIKE zpps-zatserial,
    serialnum2 LIKE zpps-zatserial.
Added the following fields
      serialnum1(23) type c,
      serialnum2(23) type c.
*}Modification End P913099
*{ Added for SR:27018
DATA: flag_watermark_cust,
      wm_text LIKE zcscf-zwmtext,
      csc_uk_wm TYPE c.
DATA: BEGIN OF i_zcscf OCCURS 10.
        INCLUDE STRUCTURE zcscf.
DATA: END OF i_zcscf.
Added for the Ethis Project...Aug 2001   //EB
DATA: temp-objek LIKE inob-objek,
      temp-lsonr LIKE rl03t-lsonr.
DATA: BEGIN OF temp_inob.
        INCLUDE STRUCTURE inob.
DATA: END OF temp_inob.
DATA: BEGIN OF temp_kssk.
        INCLUDE STRUCTURE kssk.
DATA: END OF temp_kssk.
DATA: BEGIN OF temp_ausp.
        INCLUDE STRUCTURE ausp.
DATA: END OF temp_ausp.
DATA: BEGIN OF temp_cawnt.
        INCLUDE STRUCTURE cawnt.
DATA: END OF temp_cawnt.
DATA: BEGIN OF temp_cabnt.
        INCLUDE STRUCTURE cabnt.
DATA: END OF temp_cabnt.
DATA: BEGIN OF temp_ksml OCCURS 0,
            imerk LIKE ksml-imerk,
      END OF temp_ksml.
DATA: BEGIN OF out_batch_class OCCURS 0,
            description LIKE cabnt-atbez,
            value       LIKE ausp-atwrt,
      END OF out_batch_class.
DATA: BEGIN OF i_ltap OCCURS 0,
         tanum LIKE ltap-tanum,
         vlpla LIKE ltap-vlpla,
         vltyp LIKE ltap-vltyp,
         vlber LIKE ltap-vlber,
         vsolm LIKE ltap-vsolm,
        END OF i_ltap.
DATA special-fill(18) TYPE c.
DATA float-value TYPE p DECIMALS 3.
DATA: actualen TYPE i,
      remlen   TYPE i,
      atsign(1) TYPE c VALUE '@',
      source-wbs-ele LIKE zmapd-zsourceposid,
      pono LIKE mseg-ebeln,
      vendorno       LIKE mcha-lifnr,
      linecnt  TYPE i,
      char-prodorder LIKE ausp-atwrt.
DATA: persono    LIKE usr21-persnumber,
      first-name LIKE adrp-name_first,
      last-name  LIKE adrp-name_last.
end Aug 2001 //EB
issue#MM20020808  // EB Aug 2002
DATA: BEGIN OF temp_mseg occurs 0,
        mblnr like mseg-mblnr,
        mjahr like mseg-mjahr,
        zeile like mseg-zeile,
        bwart like mseg-bwart,
        xauto like mseg-xauto,
        matnr like mseg-matnr,
        lgort like mseg-lgort,
        tbnum like mseg-tbnum,
        werks like mseg-werks,
      END OF temp_mseg.
data: temp-beskz like marc-beskz,
      temp-fevor like marc-fevor,
      temp-msg-text(10) type c,
      high-priority-flag type c.
issue#MM20020819  // EB Aug 2002
DATA: temp-indx(4) TYPE n.
SR29757 //EB sept 2002
DATA: BEGIN OF temp_afvc OCCURS 0,
        aplzl LIKE afvc-aplzl,
        plnkn LIKE afvc-plnkn,
        vornr LIKE afvc-vornr,
        objnr LIKE afvc-objnr,
      END OF temp_afvc.
DATA: stattext-oper(40) TYPE c,
      temp-drukz LIKE t333-drukz,
      oper-count        TYPE i.
end SR29757
TYPES: BEGIN OF t_storloc,
          storloc TYPE mseg-lgort,
       END OF t_storloc.
DATA: storloc_tbl TYPE STANDARD TABLE OF t_storloc WITH HEADER LINE.
TYPES: BEGIN OF t_sched1,
          fevor TYPE afko-fevor,
       END OF t_sched1.
DATA: sched1_tbl TYPE STANDARD TABLE OF t_sched1 WITH HEADER LINE.
TYPES: BEGIN OF t_sched2,
          fevor TYPE afko-fevor,
       END OF t_sched2.
DATA: sched2_tbl TYPE STANDARD TABLE OF t_sched2 WITH HEADER LINE.
INCLUDE mllvskon.
........Sort-routeenies and definition of output table OUT..........
Egidio Jan 99
INCLUDE zlvsdr30.
       AT SELECTION-SCREEN                                          *
AT SELECTION-SCREEN.
  PERFORM at_selection_screen.
wait up to 10 seconds.
       START-OF-SELECTION                                           *
START-OF-SELECTION.
  PERFORM start_of_selection.
       GET LTAK                                                     *
GET ltak.
  PERFORM get_ltak.
  clear temp-ltak-date.
  temp-ltak-date = ltak-bdatu.
  temp-wm-mvmt = ltak-bwlvs.
       GET LTAP                                                     *
GET ltap.
  CLEAR temp-indx.
  PERFORM get_ltap.
           GET NEW TABLES INFO  (CODE MOVED IN form get_ltap.)
perform new_tables_access.
       END-OF-SELECTION                                             *
END-OF-SELECTION.
  PERFORM end_of_selection.
      Unterprogramme, die zu den einzelnen Reportereignissen        *
      aufgerufen werden:                                            *
      AT_SELECTION_SCREEN                                           *
      START_OF_SELECTION                                            *
      GET_LTAK                                                      *
      GET_LTAP                                                      *
      END_OF_SELECTION                                              *
      AT SELECTION-SCREEN                                           *
FORM at_selection_screen.
*........Prüfen das eingegebene Druckkennzeichen.......................
  IF druckkz NE space.
    PERFORM t329f_lesen USING t4_lgnum druckkz.
    IF sy-subrc NE 0.
      MESSAGE a118 WITH t4_lgnum druckkz.
    ENDIF.
  ENDIF.
*........Prüfen den eingegebenen Drucker...............................
  IF edrucker NE space.
    PERFORM tsp03_lesen USING edrucker.
    IF sy-subrc NE 0.
      MESSAGE a119 WITH edrucker.
    ENDIF.
  ENDIF.
*........Prüfen das eingegebene Spoolparameterkennzeichen..............
  IF spoolpar NE space.
    PERFORM t329p_lesen USING t4_lgnum spoolpar.
    IF sy-subrc NE 0.
      MESSAGE a116 WITH t4_lgnum spoolpar.
    ENDIF.
  ENDIF.
ENDFORM.
      START-OF-SELECTION                                            *
FORM start_of_selection.
........Is used in mutual include RLVSEXTE...........................
  flg_tadruck_wie = sapscript.
........Initialize internal table out ...............................
  REFRESH out.
*........Importieren von QPSERR und LSPERR aus Memory
  IF NOT t4_kzmem IS INITIAL.
    IMPORT qsperr
           lsperr FROM MEMORY ID druck_id.
    SORT qsperr.
  ENDIF.
ENDFORM.
      GET LTAK                                                      *
FORM get_ltak.
  CLEAR cpkme.
*........Read T340D-REPID once to def. Work-area for data -> open_form
  PERFORM t340d_lesen USING ltak-lgnum.
*........Druckkennzeichen .............................................
  IF druckkz IS INITIAL.
*........Druckkennzeichen aus dem TA-Kopf..............................
    IF ltak-drukz IS INITIAL.
      MESSAGE a114.
    ELSE.
*........read necessary information about Sort-indicator and check....
      PERFORM t329f_lesen USING t4_lgnum ltak-drukz.
      IF sy-subrc NE 0.
        MESSAGE a118 WITH t4_lgnum ltak-drukz.
      ENDIF.
    ENDIF.
  ENDIF.
*........Prüfen, ob Wiederholdruck ....................................
  IF NOT ltak-druck IS INITIAL.        " Mimik für Wiederholdruck
    MOVE text-002 TO rldru-wiedr.      " Druckwiederholung
  ENDIF.
*........Lesen Text zur Transportart..................................
  PERFORM t333b_lesen USING ltak-lgnum ltak-trart.
........Lesen Kanbandaten / Read Kanbandata if necessary.............
  IF NOT ltak-pknum IS INITIAL AND NOT ltak-pkpos IS INITIAL.
    PERFORM kanban_read.
  ENDIF.
.......Füllen IKOPF / Fill internal table IKOPF......................
  PERFORM ikopf_fuellen.
ENDFORM.
      GET LTAP                                                      *
FORM get_ltap.
.......Print certificate number etc... when printing online.........
  PERFORM ltap_adding_from_qsperr.
.......Special treatment for posting changes........................
  PERFORM posting_change_special.
*.......Print extra note when TO is inventory doc. or when 0-stock-ctrl.
  PERFORM inv_nulko_note.
.......Mixing of bin location with position within bin...............
  PERFORM platz_positionen_mischen.
.......Special stock into external format............................
  PERFORM sonum_conversion.
.......Find Printer according to Printer tables etc..................
  PERFORM printer_search.
ZPJ_LVSUMBUCHEN was added for production issue #518795
  CLEAR temp_mseg[].
  IF t329f-formu = 'ZPJ_LVSTAEINZEL' OR
     t329f-formu = 'ZPJ_LVSUMBUCHEN' OR
     t329f-formu = 'ZPJ_LVSTA961ZEL'.
*issue mm515642
    SELECT mblnr mjahr zeile bwart xauto matnr lgort tbnum werks
           INTO CORRESPONDING FIELDS OF TABLE temp_mseg FROM mseg
           WHERE mblnr EQ ltak-mblnr
           AND mjahr EQ ltak-mjahr
           AND matnr EQ ltap-matnr.
  ELSE.
*issue mm20200819
    SELECT mblnr mjahr zeile bwart xauto matnr lgort tbnum werks
           INTO CORRESPONDING FIELDS OF TABLE temp_mseg FROM mseg
           WHERE mblnr EQ ltak-mblnr
           AND mjahr EQ ltak-mjahr
           AND lgort EQ ltak-lgnum.
  ENDIF.
  PERFORM new_tables_access.
.......Füllen Out / Fill internal table OUT..........................
  PERFORM out_fuellen.
ENDFORM.
      END-OF-SELECTION                                              *
FORM end_of_selection.
*........Some helper fields...........................................
  DATA:  sav_vltyp     LIKE  ltap-vltyp,
         sav_tanum     LIKE  ltap-tanum,
         sav_formu     LIKE t329f-formu,
         sav_tddelete  LIKE t329p-tddelete,
         sav_tdimmed   LIKE t329p-tdimmed,
         sav_tdnewid   LIKE t329p-tdnewid,
         sav_tddataset LIKE t329p-tddataset,
         sav_tdcopies  LIKE t329p-tdcopies,
         sav_ldest     LIKE ltap-ldest.
       DCE Project (SR 29757)
       Determine if TO is assigned to a Queue instead of printing
  DATA: to_warehouse          LIKE ltak-lgnum,
        to_nbr                LIKE ltak-tanum,
        wk_queue              LIKE ltak-queue,      "Queue
        wk_priority           LIKE ltak-tapri,
        process_hotpick       TYPE c,
        assign_msg(6)         TYPE c.
SR#83485 do not print the TO if......
  if temp-wm-mvmt is initial.
     move ltak-bwlvs to temp-wm-mvmt.
  endif.
  if srcplan = '0001' and
     destplan = '0017' and
     temp-wm-mvmt = '911'.
     exit.
  endif.
Only check the hotpicks with movement type 261
  CLEAR process_hotpick.
  IF ( hotpick = 'X' OR
       hotpick = 'A' OR
       hotpick = 'B' OR
       hotpick = 'C' OR
       hotpick = 'D' ) AND
       ikopf-bwart NE 261.
    process_hotpick = 'X'.
  ENDIF.
  CLEAR assign_msg.
  IF ikopf-queue IS INITIAL AND
     ikopf-kquit NE 'X' AND
     process_hotpick NE 'X' AND
Warehouse 17A
( ( ikopf-lgnum =  '17A' AND
   ( ikopf-bwart =  101  OR
     ikopf-bwart =  105 ) ) OR
Warehouse 1A
   ( ikopf-lgnum =  '1A ' AND
   ( ikopf-bwart =  101 OR
     ikopf-bwart =  105 OR
     ikopf-bwart =  231 OR
     ikopf-bwart =  261 OR
     ikopf-bwart =  351 OR
     ikopf-bwart =  541 OR
     ikopf-bwart =  911 ) ) ).
   ikopf-bwart =  954 ) ) ).           "KYS
    to_warehouse = ikopf-lgnum.
    to_nbr       = ikopf-tanum.
    PERFORM assign_queue IN PROGRAM zmrf_assign_queue
            USING to_warehouse to_nbr wk_queue
                  wk_priority assign_msg hotpick.
  ENDIF.
Bypass printing if TO is assigned to a queue
  IF assign_msg = 'ASSIGN'.
    ltak-tapri = wk_priority.
    ltak-queue = wk_queue.
    IF wk_queue(6) = 'PALLET'.
      SELECT SINGLE zcage INTO wk_queue
           FROM ztocage
               WHERE lgnum = ltak-lgnum AND
                     tbnum = ltak-tbnum.
      IF sy-subrc NE 0.
         wk_queue = 'PALLET_??'.
      ENDIF.
    ENDIF.
    IF wk_priority = 5.
      CONCATENATE wk_queue 'Hotpick' INTO ltak-lznum SEPARATED BY space.
    ELSE.
      ltak-lznum = wk_queue.
    ENDIF.
    CLEAR assign_msg.
  ELSE.
Ethis phase III //EB Sept 2002
    CLEAR temp-drukz.
    PERFORM check-movement-types.
    clear: mvmt261-flag, high-priority-flag.
    perform get_usrdefined_stortype.
issue #552159
    IF temp-drukz = '05'.
       move 'X' to high-priority-flag.
       PERFORM mvmt961_logic.
SR#76047
    elseif not mvmt261-flag is initial .
           move 'X' to high-priority-flag.
           perform mvmt261_special_logic.
SR#82839 (not yet implemented Feb 2006(EB)
           if mseg-werks  = '0001' and
              ikopf-bwart = '261'.
              loop at temp_mseg.
                 clear: temp-beskz, temp-fevor, temp-msg-text.
                 select single beskz fevor into (temp-beskz, temp-fevor) from marc
                        where matnr  = temp_mseg-matnr and
                              werks  = temp_mseg-werks.
                 perform get_userdefined_scheduler.
                 read table sched1_tbl with key fevor = temp-fevor.
                 if sy-subrc = 0.
                    move ' AMAX' to temp-msg-text.
                 else.
                    read table sched2_tbl with key fevor = temp-fevor.
                    if sy-subrc = 0.
                       move ' Solumina' to temp-msg-text.
                    endif.
                 endif.
                 check sy-subrc = 0.
                 if sy-subrc = 0 and temp-beskz = 'E'.
                    perform solumina_PO_signal.
                 endif.
              endloop.
           endif.
    endif.
    if high-priority-flag is initial.
      flg_form_open = con_false.
      MOVE con_x TO erster_durchlauf.
       Ausdruck der TA-Scheine / Printing normal TO papers          *
       (wenn Parameter "Druck TA-Schein" gesetzt ist)               *
      IF tasch = con_x.
*.......Einzelne TA-Positionen drucken bzw. Sammelliste................
        LOOP AT ikopf.
          PERFORM sort_out.
          PERFORM ikopf_to_original.
          CLEAR item_count.
          LOOP AT out WHERE ltap-tanum = ltak-tanum.        "GV01
            item_count = item_count + 1.
          ENDLOOP.
          LOOP AT out WHERE flg_druck_umbuch IS initial
                        AND ltap-tanum = ltak-tanum.
.......Filling  because of form-handling............................
            PERFORM out_to_original.
  Batch classification description & value + vendor & PO
This was inserted for for the ETHIS project Aug 2001; by EB
       clear out_batch_class[].
            FREE out_batch_class.
            PERFORM batch_classification.
            PERFORM mvmt281_extra_info.
*........Prüfen, ob gemäß T329D-Einstellung gedruckt werden darf......
*//....../ Check with T329D if printing is allowed....................
            CHECK t329d-nidru <> con_x.
*//.....Drucken Einzeldruck / Solo-Printing (One TO-item per page) ....
            IF out-samml IS INITIAL.
              PERFORM einzelta_drucken.    " Drucken Positionen einzeln
            ENDIF.
*.......Printing Collect list / Sammelliste ..........................
*//.....Wechsel VON-Lagertyp ( nur bei Sammellisten )...................
            IF ltap-tanum   <> sav_tanum     OR
               ltap-vltyp   <> sav_vltyp     OR
              out-formu     <> sav_formu     OR
              out-tddelete  <> sav_tddelete  OR
              out-tdimmed   <> sav_tdimmed   OR
              out-tdnewid   <> sav_tdnewid   OR
              out-tddataset <> sav_tddataset OR
              out-tdcopies  <> sav_tdcopies  OR
              out-ldest     <> sav_ldest.
.........more interesting coding.....................................
              IF kz_sort_vonlagertyp = con_x AND
                t329f-samml          = con_x.
                PERFORM druck_ansteuern.
.........get back to the boring part.................................
                sav_tanum     =   ltap-tanum.
                sav_vltyp     =   ltap-vltyp.
                sav_formu     =   out-formu.
                sav_tddelete  =   out-tddelete.
                sav_tdimmed   =   out-tdimmed.
                sav_tdnewid   =   out-tdnewid.
                sav_tddataset =   out-tddataset.
                sav_tdcopies  =   out-tdcopies.
                sav_ldest     =   out-ldest.
              ENDIF.
            ENDIF.
*//.....On change of any one of the fields in the OUT before TANUM .. ..
            IF ltap-tanum   <> sav_tanum     OR
              out-formu     <> sav_formu     OR
              out-tddelete  <> sav_tddelete  OR
              out-tdimmed   <> sav_tdimmed   OR
              out-tdnewid   <> sav_tdnewid   OR
              out-tddataset <> sav_tddataset OR
              out-tdcopies  <> sav_tdcopies  OR
              out-ldest     <> sav_ldest.
.........more interesting coding.....................................
              IF out-samml = con_x AND
                kz_sort_vonlagertyp <> con_x.
                PERFORM druck_ansteuern.
.........get back to the boring part.................................
                sav_tanum     =   ltap-tanum.
                sav_formu     =   out-formu.
                sav_tddelete  =   out-tddelete.
                sav_tdimmed   =   out-tdimmed.
                sav_tdnewid   =   out-tdnewid.
                sav_tddataset =   out-tddataset.
                sav_tdcopies  =   out-tdcopies.
                sav_ldest     =   out-ldest.
              ENDIF.
            ENDIF.
*.......Drucken Sammelliste / Printing into list.......................
            IF NOT out-samml IS INITIAL.
              PERFORM sammelliste_drucken_sapscript.
            ENDIF.
            MOVE space TO erster_durchlauf.
          ENDLOOP.
          IF wrkeof = 'X'.
            CALL FUNCTION 'WRITE_FORM'
                 EXPORTING
                      element = 'EOF'.
          ENDIF.
*.......Beim Ende von Druckparameter und Drucker - Formular schliessen..
          IF NOT out-samml IS INITIAL.
            PERFORM formular_schliessen.
          ENDIF.
        ENDLOOP.
*........Formular schließen / Close last Form .........................
        PERFORM formular_schliessen.
      Drucken Umbuchanweisung / Print posting changes extra .........
        LOOP AT ikopf.
          PERFORM sort_out.
          PERFORM ikopf_to_original.
          CLEAR:  u2_rl03t, u2_ltap, u2_taplg, cnt_umb_pos.
          CLEAR item_count.
          LOOP AT out WHERE ltap-tanum = ltak-tanum.        "GV01
            item_count = item_count + 1.
          ENDLOOP.
          LOOP AT out WHERE flg_druck_umbuch = con_true
                            AND ltap-tanum = ltak-tanum.
            PERFORM out_to_original.
  Batch classification description & value + vendor & PO
This was inserted for for the ETHIS project Aug 2001; by EB
       clear out_batch_class[].
            FREE out_batch_class.
            PERFORM batch_classification.
            PERFORM umbuchungen_drucken.
          ENDLOOP.
        ENDLOOP.
      ENDIF.
      Druck der Scheine zu den Lagereinheiten./ Print LE-forms ....*
      (wenn entsprechende Parameter gesetzt sind)..................*
      IF lesch = con_x OR letasch = con_x OR leinh = con_x.
        PERFORM le_druck.                  "in Include-RLVSDR31
      ENDIF.
Ethis III // Sept 2002
    ENDIF.
SR#29757
  ENDIF.
ENDFORM.
       INCLUDES                                                     *
*........Zulesen der Gefahrenvermerke...................................
*........Preparing hazardous goods notes
INCLUDE rlvsmgef.
*........Externer Aufruf des Druckprogramms.............................
*........Call of printing from external i.e. out of posting TOs
INCLUDE rlvsexte.
*........Zulesen der Druckroutine  für SAPSCRIPT-Druck Einzel-TA.......
*........Printing Solo-formulars
*include rlvsdr90.
INCLUDE zlvsdr90.                                           "//GV1
*........Zulesen der Druckroutine  für SAPSCRIPT-Druck Sammelliste.....
*........Printing lists
*include rlvsdr91.
INCLUDE zlvsdr91.                                           "//GV1
*........Zulesen der Druckroutine  für SAPSCRIPT-Druck Umbuchungen.....
*........Printing posting changes
*include rlvsdr92.
INCLUDE zlvsdr92.                                           "//GV1
*........Drucken von Lagereinheiten. ..................................
*........Printing Storage Units
*include rlvsdr31.
INCLUDE zlvsdr31.                                           "//GV1
*........Print a different form for movement type 961/962..............
INCLUDE zlvsdr961.                                     "//sr#44937 //EB
*........New tables access
INCLUDE zpjlvsdx.                                           "//GV1
INCLUDE zspectrm.
SR#82839
include zsignal.
       FORM BARCODE_TAPLG                                           *
       Barcodeverschlüsselung mit TA-Nummer,-Position und Lgnum     *
FORM barcode_taplg.
  WRITE ltak-tanum TO rldru-taplg(10). " EinzelPositionsDruck
  WRITE ltap-tapos TO rldru-taplg+10(4).
  WRITE ltak-lgnum TO rldru-taplg+14(3).
ENDFORM.
       FORM DRUCK_ANSTEUERN                                         *
       Anstoßen des DRUCKS  über SAPSCRIPT                          *
FORM druck_ansteuern.
*........Eventuell offenes Formular schließen / Close open forms......
  IF flg_form_open = con_true.
    CALL FUNCTION 'WRITE_FORM'
         EXPORTING
              element = 'EOF'.                              "GV01
    PERFORM formular_schliessen.
  ENDIF.
*........Das neue Formular eroeffnen
  PERFORM formular_oeffnen.
  PERFORM sammelliste_kopf.
ENDFORM.
       FORM EINZELTA_DRUCKEN                                        *
       Druckvorbereitung                                            *
FORM einzelta_drucken.
  IF flg_form_open = con_true.
    PERFORM formular_schliessen.
  ENDIF.
........Hazardous materials, Barcode.................................
  PERFORM solo_prepare.
  PERFORM formular_oeffnen.            "Open
  PERFORM einzelta_drucken_sapscript.                       "RLVSDR90
  PERFORM formular_schliessen.         "Close
ENDFORM.
       FORM FORMULAR_OEFFNEN                                        *
       Formular oeffnen                                             *
FORM formular_oeffnen.
  flg_form_open = con_true.
........Füllen ITCPO ................................................
.........Anhängen an Spool oder Neueintrag ? ........................
  IF t329p-tdnewid = con_x.
    MOVE t329p-tdnewid TO itcpo-tdnewid.
  ENDIF.

Let it be more clear.
U pasted the driver program .
What I suggest u to do is use routines and do the required things.For this u will have seperate program,check out that and let me know.
Regards

Similar Messages

  • Gallery script help, please

    Gallery script help, please
    Hello,
    I'm new to actionscript in general, I do know a little...
    I foung a gallery script, modified many things, the images
    open fine, everything is working, but here's the thing:
    the gallery is in 3 sections, red, blue and yellow.
    I would like to know how, what, and where to put a script so
    that if a "the small red image #1" is clicked, I can load any sort
    of a movie on top of the "the BIG red image #1" or #2 or 3 and so
    on...same goes for the blue and yellow...
    If I figured things correctly on my own...the small thumbnail
    images of the gallery are not buttons, that's why I can't attach a
    movie (let's say) to them...but it is all written in script, using
    the horizontal and vertical position of the mouse to open the large
    images of the gallery...
    So, I don't know how to figure things out, to attach a
    specific movie to a specific thumbnail...
    p.s.: I think the script that controls the gallery is in
    symbol 120
    I really would appreciate the help
    Merry Christmas in advance to everyone
    Sandra
    here are all the files...
    http://www.gentro.ca/sandra_test.zip

    There's a great tutorial on kirupa...
    click
    here for link

  • Firefox not responding, freezes, sometimes responds after a few minutes, other times a pop-up appears asking if I want to stop script - help please

    firefox not responding, freezes, sometimes responds after a few minutes, other times a pop-up appears asking if I want to stop script - help please

    Start Firefox in [[Safe Mode]] to check if one of the add-ons is causing the problem (switch to the DEFAULT theme: Tools > Add-ons > Themes).
    * Don't make any changes on the Safe mode start window.
    See:
    * [[Troubleshooting extensions and themes]]
    * [[Troubleshooting plugins]]
    If it does work in Safe-mode then disable all extensions and then try to find which is causing it by enabling one at a time until the problem reappears.
    * Use "Disable all add-ons" on the [[Safe mode]] start window to disable all extensions.
    * Close and restart Firefox after each change via "File > Exit" (Mac: "Firefox > Quit"; Linux: "File > Quit")

  • If/then checkbox script help in Adobe Acrobat Form...

    If have an order form that has two different pricing fields (regular price per item & subscription price per item) for each line item and then a quantity and then a total field. Lastly, there is a checkbox on the form that indicate if they are signing up for a monthly subscription.
    What I am trying to do is create a script that totals each line by the regular price multipled by the quantity or subscription price by quantity if the subscription check box is checked ("Yes"). So far, I've tried several scripts I found in the forum but no luck at all.
    The check box is near the billing fields toward the bottom so all the line items appear first in the top section of the form. So, an individual would fill out each line and the calculations would just total each row (reg price * qty) as you go down the form...then when you check the subscription box all the line totals would change to reflect the subscription pricing for each row (which can be different). Just need help with one row and I can duplicate for each row.....
    Here is what I have that does NOT work yet.....:
    (function () {
    if (this.getField("sub").value==="Yes") {
         var b1 = this.getField("Price1b");
         var c1 = this.getField("Qty1");
         var d1 = this.getField("Price1");
         event.value = b1.value * c1.value;
    } else event.value = d1.value * c1.value;

    One last strange thing is that when I then do the "Value is the Sum simple total of the row total fields (where the script is) and then click the check mark for subscription, the number in the grand total field shows the opposite value as the row total field (so when you click the subscription check box, the row total goes to the subscription price and the grand total field then shows the full price)....can't figure out why that happens......?
    Any ideas?

  • PowerShell Scripting help to combine two scripts

    I have a script that helps automate virtual server builds.  The script creates a specification document which is used to perform the actual builds.
    # Spec-And-Build.ps1 - Loops through a directory and performs an
    # end to end specification generation and build on each request in that directory
    [CmdletBinding()]
    Param(
        [Parameter(Mandatory=$true)]
        [string]$RequestDir,
        [Parameter(Mandatory=$true)]
        [string]$SpecDir,
        [Parameter(Mandatory=$false)]
        [pscredential]$Credential_CPR,
        [Parameter(Mandatory=$false)]
        [pscredential]$Credential_VDC,
        [Parameter(Mandatory=$false)]
        [pscredential]$Credential_Admin
    if (!$Credential_CPR) {
        $Credential_CPR = Get-Credential -Message "CPR Domain Credentials."
        if (!$Credential_CPR.UserName.ToUpper().StartsWith("CPR\")) {
            $Credential_CPR = New-Object pscredential(
                ("CPR\" + $Credential_CPR.UserName), $Credential_CPR.Password)
    if (!$Credential_VDC) {
        $Credential_VDC = Get-Credential -Message "VDC Domain Credentials."
        if (!$Credential_VDC.UserName.ToUpper().StartsWith("VDC\")) {
            $Credential_VDC = New-Object pscredential( `
                ("VDC\" + $Credential_VDC.UserName), $Credential_VDC.Password)
    if (!$Credential_Admin) {
        $Credential_Admin = Get-Credential -UserName "Administrator or root" `
            -Message "Enter the Administrator or root password for the new VM. The user name here will be ignored"
    .\Gen-VMSpec-Many.ps1 -RequestDir $RequestDir -SpecDir $SpecDir -Credential_VDC $Credential_VDC
    $caption = "Continue Build"
    $message = "Please validate the generated specification files in $SpecDir - Then click Continue to start build"
    $opContinue = new-Object System.Management.Automation.Host.ChoiceDescription "&Continue","help"
    $opAbort = new-Object System.Management.Automation.Host.ChoiceDescription "&Abort","help"
    $choices = [System.Management.Automation.Host.ChoiceDescription[]]($opContinue,$opAbort)
    $answer = $host.ui.PromptForChoice($caption,$message,$choices,0)
    if ($answer -eq 0) {
        .\Build-VM-Many.ps1 -SpecDir $SpecDir -Credential_CPR $Credential_CPR -Credential_VDC $Credential_VDC -Credential_Admin $Credential_Admin
    } else {
        Write-Host "Build step aborted, run Build-VM-Many.ps1 manually to continue."
    This script works well.  Now I need to add a section that adds Active Directory groups to the built servers from the spec document.  I found this script which also works well:
    # Create local group on the local or a remote computer 
    Write-Host -foregroundcolor Yellow 'Admin Privileges Required!' 
    $computerName = Read-Host 'Enter computer name or press <Enter> for localhost' 
    $localGroupName = Read-Host 'Enter local group name' 
    $description = Read-Host 'Enter description for new local group' 
    if ($computerName -eq "") {$computerName = "$env:computername"} 
    if([ADSI]::Exists("WinNT://$computerName,computer")) { 
        $computer = [ADSI]"WinNT://$computerName,computer" 
        $localGroup = $computer.Create("group",$localGroupName) 
        $localGroup.SetInfo() 
        $localGroup.description = [string]$description 
        $localGroup.SetInfo() 
    My question is, how do I make one script from the two?  I am very new to PowerShell scripting.

    Here are the instructions on how to use PowerShell:
    http://technet.microsoft.com/en-us/scriptcenter/dd793612.aspx
    Your question is vague and is asking for someone to do this for you.  It is better if you do it yourself and post back with specific questions.
    In the end you have to write and debug the scripts. We will not do this for you but we will answer questions.
    ¯\_(ツ)_/¯

  • Saveas Scripting help request

    I am trying to piece together a maro that will initially resize an image and save it with a different suffix at different size increments. I found within the cs5 scripts folder the macro 'Fit Image.jsx' that would allow me to resize correctly but am lost on how to add in the subsequent save steps and additional resize and saves. I would like to have it save the image with 5 different file sizes and suffixes (400x400 '-2' suffix, 250x250 '-2T', 150x150 '-1', 100x100 '-0', and 50x50 '-2S'). I found some information on the saveas http://forums.adobe.com/message/2652204 but have no experience with javascript. I have some understanding of VBA and believe a loop could be used but haven't the slightest idea how to set this up. Is there anyone out there that could help walk me through this and lend me a hand?
    ---Below contains the 'Fit Image.jsx' file that I found---
    // c2008 Adobe Systems, Inc. All rights reserved.
    // Written by Ed Rose
    // based on the ADM Fit Image by Charles A. McBrian from 1997
    // edited by Mike Hale added option to avoid resize on images already smaller than target size
    @@@BUILDINFO@@@ Fit Image.jsx 1.0.0.21
    /* Special properties for a JavaScript to enable it to behave like an automation plug-in, the variable name must be exactly
       as the following example and the variables must be defined in the top 1000 characters of the file
    // BEGIN__HARVEST_EXCEPTION_ZSTRING
    <javascriptresource>
    <name>$$$/JavaScripts/FitImage/Name=Fit Image...</name>
    <menu>automate</menu>
    <enableinfo>true</enableinfo>
    <eventid>3caa3434-cb67-11d1-bc43-0060b0a13dc4</eventid>
    <terminology><![CDATA[<< /Version 1
                             /Events <<
                              /3caa3434-cb67-11d1-bc43-0060b0a13dc4 [($$$/AdobePlugin/FitImage/Name=Fit Image) /imageReference <<
                               /width [($$$/AdobePlugin/FitImage/Width=width) /pixelsUnit]
                               /height [($$$/AdobePlugin/FitImage/Height=height) /pixelsUnit]
                               /limit [($$$/AdobePlugin/FitImage/limit=Don't Enlarge) /boolean]
                              >>]
                             >>
                          >> ]]></terminology>
    </javascriptresource>
    // END__HARVEST_EXCEPTION_ZSTRING
    // enable double clicking from the Macintosh Finder or the Windows Explorer
    #target photoshop
    // debug level: 0-2 (0:disable, 1:break on error, 2:break at beginning)
    // $.level = 2;
    // debugger; // launch debugger on next line
    // on localized builds we pull the $$$/Strings from a .dat file, see documentation for more details
    $.localize = true;
    var isCancelled = true; // assume cancelled until actual resize occurs
    // the main routine
    // the FitImage object does most of the work
    try {
        // create our default params
        var sizeInfo = new SizeInfo();
        GlobalVariables();
        CheckVersion();
        var gIP = new FitImage();
        if ( DialogModes.ALL == app.playbackDisplayDialogs ) {
            gIP.CreateDialog();
            gIP.RunDialog();
        else {
            gIP.InitVariables();
            ResizeTheImage(sizeInfo.width.value, sizeInfo.height.value);
        if (!isCancelled) {
            SaveOffParameters(sizeInfo);
    // Lot's of things can go wrong
    // Give a generic alert and see if they want the details
    catch( e ) {
        if ( DialogModes.NO != app.playbackDisplayDialogs ) {
            alert( e + " : " + e.line );
    // restore the dialog modes
    app.displayDialogs = gSaveDialogMode;
    isCancelled ? 'cancel' : undefined;
    function ResizeTheImage(width, height) {
        var oldPref = app.preferences.rulerUnits;
        var docWidth;
        var docHeight;
        var docRatio;
        var newWidth;
        var newHeight;
        var resolution = app.activeDocument.resolution;
        var limit = sizeInfo.limit;
        app.preferences.rulerUnits = Units.PIXELS; // save old preferences
        // original width, height
        docWidth = (1.0 * app.activeDocument.width * resolution) / 72.0; // decimal inches assuming 72 dpi (used in docRatio)
        docHeight = (1.0 * app.activeDocument.height * resolution) / 72.0; // ditto
        if (docWidth < 1.0 || docHeight < 1.0)
            return true; // error
        if (width < 1 || height < 1)
            return true; // error
        if ( limit && ( docWidth <= width && docHeight <= height ) ){
            app.preferences.rulerUnits = oldPref; // restore old prefs
            isCancelled = false; // if get here, definitely executed
            return false; // no error
        docRatio = docWidth / docHeight; // decimal ratio of original width/height
        newWidth = width;
        newHeight = ((1.0 * width) / docRatio); // decimal calc
        if (newHeight > height) {
            newWidth = docRatio * height; // decimal calc
            newHeight = height;
        // resize the image using a good conversion method while keeping the pixel resolution
        // and the aspect ratio the same
        app.activeDocument.resizeImage(newWidth, newHeight, resolution, ResampleMethod.BICUBIC);
        app.preferences.rulerUnits = oldPref; // restore old prefs
        isCancelled = false; // if get here, definitely executed
        return false; // no error
    // created in
    function SaveOffParameters(sizeInfo) {
        // save off our last run parameters
        var d = objectToDescriptor(sizeInfo, strMessage);
        app.putCustomOptions("3caa3434-cb67-11d1-bc43-0060b0a13dc4", d);
        app.playbackDisplayDialogs = DialogModes.ALL;
        // save off another copy so Photoshop can track them corectly
        var dd = objectToDescriptor(sizeInfo, strMessage);
        app.playbackParameters = dd;
    function GlobalVariables() {
        // a version for possible expansion issues
        gVersion = 1.1;
        gMaxResize = 300000;
        // remember the dialog modes
        gSaveDialogMode = app.displayDialogs;
        app.displayDialogs = DialogModes.NO;
        gInAlert = false;
        // all the strings that need to be localized
        strTitle = localize( "$$$/JavaScript/FitImage/Title=Fit Image" );
        strConstrainWithin = localize( "$$$/JavaScript/FitImage/ConstrainWithin=Constrain Within" );
        strTextWidth = localize("$$$/JavaScripts/FitImage/Width=&Width:");
        strTextHeight = localize("$$$/JavaScripts/FitImage/Height=&Height:");
        strTextPixels = localize("$$$/JavaScripts/FitImage/Pixels=pixels");
        strButtonOK = localize("$$$/JavaScripts/FitImage/OK=OK");
        strButtonCancel = localize("$$$/JavaScripts/FitImage/Cancel=Cancel");
        strTextSorry = localize("$$$/JavaScripts/FitImage/Sorry=Sorry, Dialog failed");
        strTextInvalidType = localize("$$$/JavaScripts/FitImage/InvalidType=Invalid numeric value");
        strTextInvalidNum = localize("$$$/JavaScripts/FitImage/InvalidNum=A number between 1 and 300000 is required. Closest value inserted.");
        strTextNeedFile = localize("$$$/JavaScripts/FitImage/NeedFile=You must have a file selected before using Fit Image");
        strMessage = localize("$$$/JavaScripts/FitImage/Message=Fit Image action settings");
        strMustUse = localize( "$$$/JavaScripts/ImageProcessor/MustUse=You must use Photoshop CS 2 or later to run this script!" );
        strLimitResize = localize("$$$/JavaScripts/FitImage/Limit=Don^}t Enlarge");
    // the main class
    function FitImage() {
        this.CreateDialog = function() {
            // I will keep most of the important dialog items at the same level
            // and use auto layout
            // use overriding group so OK/Cancel buttons placed to right of panel
            var res =
                "dialog { \
                    pAndB: Group { orientation: 'row', \
                        info: Panel { orientation: 'column', borderStyle: 'sunken', \
                            text: '" + strConstrainWithin +"', \
                            w: Group { orientation: 'row', alignment: 'right',\
                                s: StaticText { text:'" + strTextWidth +"' }, \
                                e: EditText { preferredSize: [70, 20] }, \
                                p: StaticText { text:'" + strTextPixels + "'} \
                            h: Group { orientation: 'row', alignment: 'right', \
                                s: StaticText { text:'" + strTextHeight + "' }, \
                                e: EditText { preferredSize: [70, 20] }, \
                                p: StaticText { text:'" + strTextPixels + "'} \
                            l: Group { orientation: 'row', alignment: 'left', \
                                    c:Checkbox { text: '" + strLimitResize + "', value: false }, \
                        buttons: Group { orientation: 'column', alignment: 'top',  \
                            okBtn: Button { text:'" + strButtonOK +"', properties:{name:'ok'} }, \
                            cancelBtn: Button { text:'" + strButtonCancel + "', properties:{name:'cancel'} } \
            // the following, when placed after e: in w and h doesn't show up
            // this seems to be OK since px is put inside the dialog box
            //p: StaticText { text:'" + strTextPixels + "'}
            // create the main dialog window, this holds all our data
            this.dlgMain = new Window(res,strTitle);
            // create a shortcut for easier typing
            var d = this.dlgMain;
            // match our dialog background color to the host application
            d.graphics.backgroundColor = d.graphics.newBrush (d.graphics.BrushType.THEME_COLOR, "appDialogBackground");
            d.defaultElement = d.pAndB.buttons.okBtn;
            d.cancelElement = d.pAndB.buttons.cancelBtn;
        } // end of CreateDialog
        // initialize variables of dialog
        this.InitVariables = function() {
            var oldPref = app.preferences.rulerUnits;
            app.preferences.rulerUnits = Units.PIXELS;
            // look for last used params via Photoshop registry, getCustomOptions will throw if none exist
            try {
                var desc = app.getCustomOptions("3caa3434-cb67-11d1-bc43-0060b0a13dc4");
                descriptorToObject(sizeInfo, desc, strMessage);
            catch(e) {
                // it's ok if we don't have any options, continue with defaults
            // see if I am getting descriptor parameters
            var fromAction = !!app.playbackParameters.count;
            if( fromAction ){
                // reset sizeInfo to defaults
                SizeInfo = new SizeInfo();
                // set the playback options to sizeInfo
                descriptorToObject(sizeInfo, app.playbackParameters, strMessage);
            // make sure got parameters before this
            if (app.documents.length <= 0) // count of documents viewed
                if ( DialogModes.NO != app.playbackDisplayDialogs ) {
                    alert(strTextNeedFile); // only put up dialog if permitted
                app.preferences.rulerUnits = oldPref;
                return false; // if no docs, always return
            var w = app.activeDocument.width;
            var h = app.activeDocument.height;
            var l = true;
            if (sizeInfo.width.value == 0) {
                sizeInfo.width = w;
            else {
                w = sizeInfo.width;
            if (sizeInfo.height.value == 0) {
                sizeInfo.height = h;
            else {
                h = sizeInfo.height;
            app.preferences.rulerUnits = oldPref;
            if ( DialogModes.ALL == app.playbackDisplayDialogs ) {
                var d = this.dlgMain;
                d.ip = this;
                d.pAndB.info.w.e.text = Number(w);
                d.pAndB.info.h.e.text = Number(h);
                d.pAndB.info.l.c.value = sizeInfo.limit;
            return true;
        // routine for running the dialog and it's interactions
        this.RunDialog = function () {
            var d = this.dlgMain;
            // in case hit cancel button, don't close
            d.pAndB.buttons.cancelBtn.onClick = function() {
                var dToCancel = FindDialog( this );
                dToCancel.close( false );
            // nothing for now
            d.onShow = function() {
            // do not allow anything except for numbers 0-9
            d.pAndB.info.w.e.addEventListener ('keydown', NumericEditKeyboardHandler);
            // do not allow anything except for numbers 0-9
            d.pAndB.info.h.e.addEventListener ('keydown', NumericEditKeyboardHandler);
            // hit OK, do resize
            d.pAndB.buttons.okBtn.onClick = function () {
                if (gInAlert == true) {
                    gInAlert = false;
                    return;
                var wText = d.pAndB.info.w.e.text;
                var hText = d.pAndB.info.h.e.text;
                var lValue = d.pAndB.info.l.c.value;
                var w = Number(wText);
                var h = Number(hText);
                sizeInfo.limit = Boolean(lValue);
                var inputErr = false;
                if ( isNaN( w ) || isNaN( h ) ) {
                    if ( DialogModes.NO != app.playbackDisplayDialogs ) {
                        alert( strTextInvalidType );
                    if (isNaN( w )) {
                        sizeInfo.width = new UnitValue( 1, "px" );
                        d.pAndB.info.w.e.text = 1;
                    } else {
                        sizeInfo.height = new UnitValue( 1, "px" );
                        d.pAndB.info.h.e.text = 1;
                        return false;
                else if (w < 1 || w > gMaxResize || h < 1 || h > gMaxResize) {
                    if ( DialogModes.NO != app.playbackDisplayDialogs ) {
                        gInAlert = true;
                        alert( strTextInvalidNum );
                if ( w < 1) {
                    inputErr = true;
                    sizeInfo.width = new UnitValue( 1, "px" );
                    d.pAndB.info.w.e.text = 1;
                if ( w > gMaxResize) {
                    inputErr = true;
                    sizeInfo.width = new UnitValue( gMaxResize, "px" );
                    d.pAndB.info.w.e.text = gMaxResize;
                if ( h < 1) {
                    inputErr = true;
                    sizeInfo.height = new UnitValue( 1, "px" );
                    d.pAndB.info.h.e.text = 1;
                if ( h > gMaxResize) {
                    inputErr = true;
                    sizeInfo.height = new UnitValue( gMaxResize, "px" );
                    d.pAndB.info.h.e.text = gMaxResize;
                if (inputErr == false)  {
                    sizeInfo.width = new UnitValue( w, "px" );
                    sizeInfo.height = new UnitValue( h, "px" );
                    if (ResizeTheImage(w, h)) { // the whole point
                        // error, input or output size too small
                    d.close(true);
                return;
            if (!this.InitVariables())
                return true; // handled it
            // give the hosting app the focus before showing the dialog
            app.bringToFront();
            this.dlgMain.center();
            return d.show();
    function CheckVersion() {
        var numberArray = version.split(".");
        if ( numberArray[0] < 9 ) {
            if ( DialogModes.NO != app.playbackDisplayDialogs ) {
                alert( strMustUse );
            throw( strMustUse );
    function FindDialog( inItem ) {
        var w = inItem;
        while ( 'dialog' != w.type ) {
            if ( undefined == w.parent ) {
                w = null;
                break;
            w = w.parent;
        return w;
    // Function: objectToDescriptor
    // Usage: create an ActionDescriptor from a JavaScript Object
    // Input: JavaScript Object (o)
    //        object unique string (s)
    //        Pre process converter (f)
    // Return: ActionDescriptor
    // NOTE: Only boolean, string, number and UnitValue are supported, use a pre processor
    //       to convert (f) other types to one of these forms.
    // REUSE: This routine is used in other scripts. Please update those if you
    //        modify. I am not using include or eval statements as I want these
    //        scripts self contained.
    function objectToDescriptor (o, s, f) {
        if (undefined != f) {
            o = f(o);
        var d = new ActionDescriptor;
        var l = o.reflect.properties.length;
        d.putString( app.charIDToTypeID( 'Msge' ), s );
        for (var i = 0; i < l; i++ ) {
            var k = o.reflect.properties[i].toString();
            if (k == "__proto__" || k == "__count__" || k == "__class__" || k == "reflect")
                continue;
            var v = o[ k ];
            k = app.stringIDToTypeID(k);
            switch ( typeof(v) ) {
                case "boolean":
                    d.putBoolean(k, v);
                    break;
                case "string":
                    d.putString(k, v);
                    break;
                case "number":
                    d.putDouble(k, v);
                    break;
                default:
                    if ( v instanceof UnitValue ) {
                        var uc = new Object;
                        uc["px"] = charIDToTypeID("#Pxl"); // pixelsUnit
                        uc["%"] = charIDToTypeID("#Prc"); // unitPercent
                        d.putUnitDouble(k, uc[v.type], v.value);
                    } else {
                        throw( new Error("Unsupported type in objectToDescriptor " + typeof(v) ) );
        return d;
    // Function: descriptorToObject
    // Usage: update a JavaScript Object from an ActionDescriptor
    // Input: JavaScript Object (o), current object to update (output)
    //        Photoshop ActionDescriptor (d), descriptor to pull new params for object from
    //        object unique string (s)
    //        JavaScript Function (f), post process converter utility to convert
    // Return: Nothing, update is applied to passed in JavaScript Object (o)
    // NOTE: Only boolean, string, number and UnitValue are supported, use a post processor
    //       to convert (f) other types to one of these forms.
    // REUSE: This routine is used in other scripts. Please update those if you
    //        modify. I am not using include or eval statements as I want these
    //        scripts self contained.
    function descriptorToObject (o, d, s, f) {
        var l = d.count;
        if (l) {
            var keyMessage = app.charIDToTypeID( 'Msge' );
            if ( d.hasKey(keyMessage) && ( s != d.getString(keyMessage) )) return;
        for (var i = 0; i < l; i++ ) {
            var k = d.getKey(i); // i + 1 ?
            var t = d.getType(k);
            strk = app.typeIDToStringID(k);
            switch (t) {
                case DescValueType.BOOLEANTYPE:
                    o[strk] = d.getBoolean(k);
                    break;
                case DescValueType.STRINGTYPE:
                    o[strk] = d.getString(k);
                    break;
                case DescValueType.DOUBLETYPE:
                    o[strk] = d.getDouble(k);
                    break;
                case DescValueType.UNITDOUBLE:
                    var uc = new Object;
                    uc[charIDToTypeID("#Rlt")] = "px"; // unitDistance
                    uc[charIDToTypeID("#Prc")] = "%"; // unitPercent
                    uc[charIDToTypeID("#Pxl")] = "px"; // unitPixels
                    var ut = d.getUnitDoubleType(k);
                    var uv = d.getUnitDoubleValue(k);
                    o[strk] = new UnitValue( uv, uc[ut] );
                    break;
                case DescValueType.INTEGERTYPE:
                case DescValueType.ALIASTYPE:
                case DescValueType.CLASSTYPE:
                case DescValueType.ENUMERATEDTYPE:
                case DescValueType.LISTTYPE:
                case DescValueType.OBJECTTYPE:
                case DescValueType.RAWTYPE:
                case DescValueType.REFERENCETYPE:
                default:
                    throw( new Error("Unsupported type in descriptorToObject " + t ) );
        if (undefined != f) {
            o = f(o);
    // Function: SizeInfo
    // Usage: object for holding the dialog parameters
    // Input: <none>
    // Return: object holding the size info
    function SizeInfo() {
        this.height = new UnitValue( 0, "px" );
        this.width = new UnitValue( 0, "px" );
        this.limit = false;
    // Function: NumericEditKeyboardHandler
    // Usage: Do not allow anything except for numbers 0-9
    // Input: ScriptUI keydown event
    // Return: <nothing> key is rejected and beep is sounded if invalid
    function NumericEditKeyboardHandler (event) {
        try {
            var keyIsOK = KeyIsNumeric (event) ||
                          KeyIsDelete (event) ||
                          KeyIsLRArrow (event) ||
                          KeyIsTabEnterEscape (event);
            if (! keyIsOK) {
                //    Bad input: tell ScriptUI not to accept the keydown event
                event.preventDefault();
                /*    Notify user of invalid input: make sure NOT
                       to put up an alert dialog or do anything which
                             requires user interaction, because that
                             interferes with preventing the 'default'
                             action for the keydown event */
                app.beep();
        catch (e) {
            ; // alert ("Ack! bug in NumericEditKeyboardHandler: " + e);
    //    key identifier functions
    function KeyHasModifier (event) {
        return event.shiftKey || event.ctrlKey || event.altKey || event.metaKey;
    function KeyIsNumeric (event) {
        return  (event.keyName >= '0') && (event.keyName <= '9') && ! KeyHasModifier (event);
    function KeyIsDelete (event) {
        //    Shift-delete is ok
        return ((event.keyName == 'Backspace') || (event.keyName == 'Delete')) && ! (event.ctrlKey);
    function KeyIsLRArrow (event) {
        return ((event.keyName == 'Left') || (event.keyName == 'Right')) && ! (event.altKey || event.metaKey);
    function KeyIsTabEnterEscape (event) {
        return event.keyName == 'Tab' || event.keyName == 'Enter' || event.keyName == 'Escape';
    // End Fit Image.jsx

    With Photoshop CS5 you can use Image Processor Pro and this should do what you require...
    http://blogs.adobe.com/jnack/2011/05/new-image-processor-pro-script-for-cs5.html

  • SAP Script Help

    Hi Experts,
    I am printing 8 main windows in one page in a script. But the problem is whatever changes I make to one window it gets reflected in  all the windows. So the allignment doesnt get proper at all for the printing. what is the resolution for this.Please help me out with.
    Thank You.

    Please clarify your Question More, You are getting Problem in windows or in Pages.
    check Utilities->Printing test.
    Also,
    Settings->form Painter->Tick Graphical form Painter->Remove tick from Graphical PC Editir=>continue
    By this check the attributes and parametrs  of all windows and pages

  • Issue in running eCATT Scripts  - Help required very urgently

    Dear All,
    We are running the eCATT scripts from Solman 7.0 by connecting it to ERP system R/3 4.6C. While running the scripts, we are facing some issue.
    1. If we try to run the scripts then those are getting failed. The same scripts if we run after some time with out changing any code then those are running fine.
    We are frequently facing this probelm.
    Could you please let me know the solution. Your help is really appreciated.
    Thanks,
    Mahendra
    Moderator Message: Urgently word is not allowed in this forum. Open a new thread without the "priority" word.
    Edited by: kishan P on Sep 6, 2010 11:18 AM
    Edited by: kishan P on Sep 6, 2010 11:21 AM

    Dear Ananth,
    Scripting is getting failed at different lines of code at different runs.
    Thanks,
    Mahendra

  • Basic script help for a newbie?!?!

    Need help with a basic script, I need to display 5 input fields in a single dynamic field. And i need them to have a certain order of display, ie: input 1 is displayed on line 1, 2 on the next line, etc. any help would be appreciated
    I have been trying various scripts but i either make the second input field replace the first one, or i cant get the vars to populate the field with a button.. Im kinda lost.

    Show what you have tried so far that give you the results where you either replace fields or can't get vars to populate them with a button.

  • Shell Script Help

    I'm an IBM guy and I was assigned this MAC projet. I'm a MAC noob. I have a multi-user eMac. The user account folders are blown away when the computer shuts down leaving just the root accout and default account. I included a new javapolicy file in the default user account. A file called java.policy resides in the user home folder at log in (/users/johndoe/java.policy) for every new user that logs in. I need to create a logon shell script that finds the java.policy file in their home folder and renames it .java.policy to make it hidden. Remaming it in the default profile is not an option, and I don't know who will be using the computer at any given day. Can someone help me with the code.
    #!/bin/bash/
    I'm clueless, thanks for the help

    The generic bash rename syntax for your specified command is:
    mv /Users/shortuser/javapolicy /Users/shortuser/.java.policy
    Here's a typical script:
    #!/bin/bash
    mv /path/to/source/.java.policy /Users/shortuser/.java.policy
    The most direct mechanism would be via a computer login preference and workgroup manager, setting up a script that executes at user login. That script is invoked at login and can copy over or create the required file. Another of the usual techniques for executing commands at login is the so-called [login hook (HT2420)|http://support.apple.com/kb/HT2420], though if you're using Open Directory (OD) or OD with Active Directory (AD), it'll probably be better to go that way than the login hook.
    Other discussions [here|http://arstechnica.com/civis/viewtopic.php?f=20&t=416343] and [here|http://www-personal.umich.edu/~lsiden/tutorials/signed-applet/signed-appl et.html]
    I'd tend to expect to see the policytool used for this file, too. Launch Terminal.app and see +man policytool+ for details on that.
    I'd also tend to expect to see this sort of stuff established within the system-wide policy module from the JRE that's usually located in [the system library directory |http://stackoverflow.com/questions/4372060/java-security-file-location-on-mac- snow-leopard] (/Library/Java/Home/lib/security/java.policy) and not with a per-user setting, too, and that's a rather different approach than populating the per-user settings. (But then I'm not a Java geek.)
    FWIW, it's "Mac" and not "MAC", it's Unix, and files and directories doesn't get blown away unless there's a problem somewhere, or unless this is a school or kiosk or other environment that's using specific system-reset processing. And if there's system-reset processing here, then you'll obviously need to work within that. That processing is usually associated with OD, hence the earlier pointers. (And if there's this sort of reset processing going on, there's usually a reason for it, I'd probably try to keep as much sensitive stuff out of the local directories as I could reasonably manage.)

  • Active Directory scripting help

    I am trying to clean up our group policies so I am in need of help creating a script that will list all group policies in our domain, list all the settings that are set in each GPO, and the security filtering for each gpo and also list any settings that
    are duplicated in another policy and exports it into a readable (by me) file. I am familiar with batch scripts, VB Scripts, and PowerShell so something in these forms is good for me but I am moderately familiar with VB Scripts and beginner with PowerShell
    scripts.
    Thank you

    Windows Server has GPO CmdLets that do most of that.
    http://technet.microsoft.com/en-us/library/ee461027.aspx
    Look in the repository for scripts if you have WS2003.
    ¯\_(ツ)_/¯

  • Scripting help for image pop-up within a PDF

    Hi,
    I'm creating some sample eBooks in Acrobat Professional 9 (Mac), and I am stuck on one element that needs to be present. In the text within the PDF, there might be a phrase like, "See Fig. 1". Fig. 1 might not be on that page, however. I know how to create a link in a PDF that will navigate the reader to the page with the image referenced, but that's not good enough. I'd like to have this happen:
    User clicks on "See Fig. 1".
    Popup window appears with the referenced thumbnail image.
    The image's popup window will stay on-screen until dismissed by the user.
    Clicking on the popup thumbnail image calls up a full-size image.
    The added wrinkles are many after we figure out the scripting for the above, but here are two major ones to be addressed right away:
    1) The images are already part of the typeset document converted to PDF, so I am guessing the images would have to be bundled with the PDF somehow. Our users need to use the PDFs in an offline environment, so a call-out to a URL is out of the question.
    2) The PDFs will be read on Macs, PCs, and possibly iPads. If a bundled, local file is called out when a user clicks on "See Fig. 1", how do I set a relative filepath in the call-out?
    Thanks for any help you can provide.
    Andrew

    Here's a sample document that demonstrates some of what you're asking about: https://acrobat.com/#d=aP-2xL45pM57xVkT6d6fSg
    The images are stored in buttons, so there is no concern about having to use external images. Note that this may not work on an iPad since most (all?) PDF viewers on the iPad do not have JavaScript support.

  • UIX script help

    Hi
    I have a problem with script into UIX page.
    the page is this:
    <page xmlns="http://xmlns.oracle.com/uix/controller"
    xmlns:ctrl="http://xmlns.oracle.com/uix/controller"
    xmlns:html="http://www.w3.org/TR/REC-html40">
    <ctrl:content xmlns="http://xmlns.oracle.com/uix/ui">
    <form name="artista" method="post"
    destination="artisti.uix?event=Risultato">
    <contents>
    <rowLayout hAlign="center">
    <contents>
    <styledText styleClass="OraDataText"
    text="WORKS OF AN ARTIST"/>
    </contents>
    </rowLayout>
    <rowLayout hAlign="center">
    <contents>
    <styledText styleClass="OraInstructionText"
    text="Choose the Artist :"/>
    </contents>
    </rowLayout>
    <rowLayout hAlign="center">
    <contents>
    <html:select name="ART"
    onchange="javascript:ldchoice();">
    <option></option>
    <option>van Gogh</option>
    </html:select>
    </contents>
    </rowLayout>
    <spacer height="20"/>
    <rowLayout hAlign="center">
    <contents>
    <html:span id="typewrk"></html:span>
    </contents>
    </rowLayout>
    <script>void function ldchoice()</script>
    </contents>
    </form>
    the code of the script is:
    void function ldchoice()
    var slct = "<select name=\"tp\">";
    slct += "<option></option>";
    slct += "<option>All availables</option></select>";
    typewrk.innerHTML = slct;
    When I compile the page I receive an error that say :
    SELECT is not an understood element.
    How can I insert this inline script into this UIX page.
    Thanks for yours help,
    andrea

    I think this is just an HTML issue: have you tried writing exactly that Javascript in a plain HTML page to work through the DHTML (non-UIX) issues?

  • Scripting help needed... please

    Help,
    I know this is a fairly basic scripting question, but for some stupid reason I just can't seem to get it.
    I am creating a DVD that has 2 different menus.
    There are only one set of tracks, but 2 different menus. What I want is something that tells the track to return to menu 1 if it played from menu 1 or to go to menu 2 if it played from menu 2
    Help please.
    Thanks

    Hi
    I think this is what you are looking for: * Multiple Menus with GPRM based button jumps * (Thanks Hal!)
    Hope that helps !
      Alberto

  • Scripting help for a tedious process.

    Ian Wood wrote a script that takes a list of version names from a Word.doc or plain text doc. and opens Aperture, searches the Library and then creates an album from those gathered images. This is great, for example if a Bride gives you a list of her favorite photos for the design of the final wedding book.
    The script works well, however it looks at the whole Aperture library.
    If you have versions with the same name it only picks one.
    (You may have exactly the same version names scattered around your library because your camera cycles back to 0001 after it reaches 9999)
    If someone out there knows how to re-write the script so that it only looks in a particular project as it picks the version names, then an otherwise tedious process would be simplified.
    Any help would be appreciated.
    The following is a copy of Ian's script.
    This script is written by Ian Wood. No warranty is given or implied for the script's use.
    Feel free to copy and adapt this script for your own use. Originally written in answer to a thread on the Aperture discussion forum.
    Please visit http://www.aperture-assistant.com for more scripts and information about automation and Aperture.
    set tfile to (choose file "Pick the text file")
    set fref to (open for access tfile) -- now we read the file in
    set tSize to (get eof tfile)
    set tText to (read fref as string from 1 to tSize)
    close access fref
    log tText
    set tList to every paragraph of tText -- turn the lines into a list
    tell application "Aperture"
    activate
    tell library 1
    set this_project to make new album with properties {name:"Results of file name list"} -- you can change this if you want the Album to have another name.
    end tell
    repeat with i from 1 to the count of the tList
    set tName to item i of the tList
    set tImgID to "not found"
    try
    set tImgID to (first image version whose name is tName)
    end try
    if tImgID is not "not found" then
    try
    duplicate tImgID to this_project
    end try
    else
    log tName
    end if
    end repeat
    end tell

    Ian Wood wrote a script that takes a list of version names from a Word.doc or plain text doc. and opens Aperture, searches the Library and then creates an album from those gathered images. This is great, for example if a Bride gives you a list of her favorite photos for the design of the final wedding book.
    The script works well, however it looks at the whole Aperture library.
    If you have versions with the same name it only picks one.
    (You may have exactly the same version names scattered around your library because your camera cycles back to 0001 after it reaches 9999)
    If someone out there knows how to re-write the script so that it only looks in a particular project as it picks the version names, then an otherwise tedious process would be simplified.
    Any help would be appreciated.
    The following is a copy of Ian's script.
    This script is written by Ian Wood. No warranty is given or implied for the script's use.
    Feel free to copy and adapt this script for your own use. Originally written in answer to a thread on the Aperture discussion forum.
    Please visit http://www.aperture-assistant.com for more scripts and information about automation and Aperture.
    set tfile to (choose file "Pick the text file")
    set fref to (open for access tfile) -- now we read the file in
    set tSize to (get eof tfile)
    set tText to (read fref as string from 1 to tSize)
    close access fref
    log tText
    set tList to every paragraph of tText -- turn the lines into a list
    tell application "Aperture"
    activate
    tell library 1
    set this_project to make new album with properties {name:"Results of file name list"} -- you can change this if you want the Album to have another name.
    end tell
    repeat with i from 1 to the count of the tList
    set tName to item i of the tList
    set tImgID to "not found"
    try
    set tImgID to (first image version whose name is tName)
    end try
    if tImgID is not "not found" then
    try
    duplicate tImgID to this_project
    end try
    else
    log tName
    end if
    end repeat
    end tell

Maybe you are looking for

  • ExprHow to set default name for Express VI

    I have created an express and when I drag drop the express in block diagram, I am getting a name "A1". What should I do to set a default name (for example "B") for my express VI? I tried updating the Window title properties of the source VI. Thanks i

  • Repeating frame printing problem

    Dear All, I have a tabular report with a lot of frames. The inner frame data is not overflowing to the next page if there is no more space on the page. The outer frame has a formular coulumn based on the inner frame and sometime the summary result sh

  • ContentEditable not working as expected

    I was trying to make a rich text editor, but when I click and drag images, they seem to be removed from the DOM (they disappear). This is odd because if I view the same code on the Safari 5.0 browser, when you click and drag an image (or range of tex

  • Why my computer backup takes forever?

    It use to take less than an hour to back up my 27 Go, on the last backup everything went well except that time machine informe me that it had to erase the oldest backup since my unit was full. Now yesterday I started up another backup and after 5 hou

  • Interactive objects and quiz questions

    Hi everyone, I know that you can't add interactive objects to quiz questions, so what is the best way to accomplish my need of placing a button that, when clicked, plays a short mp3 audio file to a quiz question? Alternatively, if I am to replace my