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.zipThere'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
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.
¯\_(ツ)_/¯ -
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.jsxWith 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 -
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 AMDear 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.
-
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 helpThe 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 youWindows 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.
AndrewHere'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. -
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,
andreaI 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.
ThanksHi
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 tellIan 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