2006 Oct 06 6:28 AM
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.
MOVE:
ltap-ldest TO itcpo-tddest,
t329p-tddelete TO itcpo-tddelete,
t329p-tdimmed TO itcpo-tdimmed ,
t329p-tddataset TO itcpo-tddataset,
t329p-tdcopies TO itcpo-tdcopies.
*........Füllen ITCPO-TDPROGRAM mit dem Programmamen, in dessen Work-...
*........area die Variablen für das SAPscript-Formular stehen. .........
itcpo-tdprogram = t340d-repid.
*........Eröffnen Formular..............................................
MOVE-CORRESPONDING itcpo TO options2.
CALL FUNCTION 'Z_JSPECTRUM_PRINT_STND'
IMPORTING
print_name = tsp03c-paprosname "GV1
CHANGING
print_param = options2
save_print_dest = save_dest.
IF NOT drucken IS INITIAL.
CALL FUNCTION 'OPEN_FORM'
EXPORTING
form = t329f-formu
device = 'PRINTER'
options = options2
dialog = ' '.
ELSE.
CALL FUNCTION 'OPEN_FORM'
EXPORTING
form = t329f-formu
device = 'SCREEN'
options = options2.
ENDIF.
wrkeof = 'X'.
ENDFORM.
*----
*
FORM FORMULAR_SCHLIESSEN *
*----
*
Formular schliessen *
*----
*
FORM formular_schliessen.
IF flg_form_open = con_true.
CALL FUNCTION 'CLOSE_FORM'.
flg_form_open = con_false.
CLEAR wrkeof. "GV01
ENDIF.
ENDFORM.
*----
*
FORM INV_NULKO_NOTE *
*----
*
Add inventory note and zero stock control note *
*----
*
FORM inv_nulko_note.
*.......TO as inventory document, print note accordingly................
IF ltap-kzinv = kzinv_pe AND NOT ltap-ivnum IS INITIAL.
MOVE text-003 TO rldru-text2. " Nachplatz inventieren
ELSE.
*........Nullkontrolle andrucken wenn systemseitig erkannt.............
*........print Zero Stock Control note, when recognized by system......
IF ltap-nulko = con_nulko_ja_s OR
ltap-nulko = con_nulko_leer_s OR
ltap-nulko = con_nulko_belegt_s.
MOVE text-004 TO rldru-text2. " Vonplatz inventieren
ELSE.
CLEAR rldru-text2.
ENDIF.
ENDIF.
ENDFORM.
*----
*
FORM KANBAN_READ *
*----
*
Read Kanbanndata into structure CPKME *
*----
*
FORM kanban_read.
CALL FUNCTION 'PK_GET_DATA_FOR_TRANSFER_ORDER'
EXPORTING
ipknum = ltak-pknum
ipkpos = ltak-pkpos
IMPORTING
ecpkme = cpkme.
ENDFORM.
*----
*
FORM LTAP_ADDING_FROM_QSPERR *
*----
*
Adding missing fields when printing online *
*----
*
FORM ltap_adding_from_qsperr.
CHECK NOT t4_kzmem IS INITIAL.
READ TABLE qsperr WITH KEY lgnum = ltap-lgnum
lqnum = ltap-vlqnr
BINARY SEARCH.
CHECK sy-subrc = 0.
IF ltap-zeugn IS INITIAL AND NOT qsperr-zeugn IS INITIAL.
MOVE qsperr-zeugn TO ltap-zeugn.
ENDIF.
IF ltap-vfdat IS INITIAL AND NOT qsperr-vfdat IS INITIAL.
MOVE qsperr-vfdat TO ltap-vfdat.
ENDIF.
IF ltap-wenum IS INITIAL AND NOT qsperr-wenum IS INITIAL.
MOVE qsperr-wenum TO ltap-wenum.
ENDIF.
IF ltap-wepos IS INITIAL AND NOT qsperr-wepos IS INITIAL.
MOVE qsperr-wepos TO ltap-wepos.
ENDIF.
IF ltap-wdatu IS INITIAL AND NOT qsperr-wdatu IS INITIAL.
MOVE qsperr-wdatu TO ltap-wdatu.
ENDIF.
ENDFORM.
*----
*
FORM POSTING_CHANGE_SPECIAL *
*----
*
Special treatment for posting changes *
*----
*
FORM posting_change_special.
CASE ltap-vorga.
WHEN con_blank.
WHEN con_tb.
WHEN con_u1.
MOVE con_true TO flg_druck_umbuch.
*ltap-tapos = ltap-tapos.
hlp_tapos_umbuch = ltap-tapos.
*ltap-ldest = ltap-ldest.
WHEN con_u2.
MOVE con_true TO flg_druck_umbuch.
hlp_tapos = ltap-tapos - *ltap-tapos.
IF hlp_tapos = con_eins.
ltap-ldest = *ltap-ldest. "GV01 to match rlvsdr00
hlp_tapos_umbuch = *ltap-tapos.
ELSE.
MESSAGE a121. " Bitte Sortierung überprüfen
ENDIF.
ENDCASE.
ENDFORM.
*----
*
FORM PLATZ_POSITIONEN_MISCHEN USING LTAP *
*----
*
Mischen Platzpositionen falls es eine Platzaufteilung gubt *
*----
*
FORM platz_positionen_mischen.
IF NOT ltap-vppos IS INITIAL.
CALL FUNCTION 'L_PLATZ_POSITION_MISCHEN'
EXPORTING
lgpla = ltap-vlpla
plpos = ltap-vppos
IMPORTING
o_lgpla = ltap-vlpla.
ENDIF.
IF NOT ltap-nppos IS INITIAL.
CALL FUNCTION 'L_PLATZ_POSITION_MISCHEN'
EXPORTING
lgpla = ltap-nlpla
plpos = ltap-nppos
IMPORTING
o_lgpla = ltap-nlpla.
ENDIF.
IF NOT ltap-rppos IS INITIAL.
CALL FUNCTION 'L_PLATZ_POSITION_MISCHEN'
EXPORTING
lgpla = ltap-rlpla
plpos = ltap-rppos
IMPORTING
o_lgpla = ltap-rlpla.
ENDIF.
ENDFORM.
*----
*
FORM PRINTER_SEARCH *
*----
*
Printer search via functionmodule *
*----
*
FORM printer_search.
DATA: hlp_drukz LIKE rldru-drukz.
DATA: hlp_ldest LIKE rldru-ldest.
DATA: hlp_spool LIKE rldru-spool.
CLEAR: t329a, t329f, t329p, t329d, hlp_drukz, hlp_ldest, hlp_spool.
........Manual input has Top-priority................................
IF NOT druckkz IS INITIAL.
MOVE druckkz TO hlp_drukz.
ENDIF.
IF NOT edrucker IS INITIAL.
MOVE edrucker TO hlp_ldest.
ELSE.
MOVE ltap-ldest TO hlp_ldest.
ENDIF.
IF NOT spoolpar IS INITIAL.
MOVE spoolpar TO hlp_spool.
ENDIF.
........Printer_search and t3xxy tables..............................
CALL FUNCTION 'L_PRINT_PARAM_FIND'
EXPORTING
i_lgnum = ltap-lgnum
i_vltyp = ltap-vltyp
i_nltyp = ltap-nltyp
i_drukz = ltak-drukz
i_proto = p_proto
IMPORTING
x_t329f = t329f
x_t329p = t329p
x_t329a = t329a
x_t329d = t329d
TABLES
t_proto = iproto
CHANGING
x_ldest = hlp_ldest
x_spool = hlp_spool
x_drukz = hlp_drukz
EXCEPTIONS
printer_not_found = 01 "374
drukz_not_in_t329f = 02 "118
printer_not_allowed_in_tsp03 = 03 "119
spool_not_in_t329p = 04 "116
user_printer_not_defined = 05. "149
CASE sy-subrc.
WHEN 01. MESSAGE a374.
WHEN 02. MESSAGE a118 WITH ltap-lgnum hlp_drukz.
WHEN 03. MESSAGE a119 WITH hlp_ldest.
WHEN 04. MESSAGE a116 WITH ltap-lgnum hlp_spool.
WHEN 05. MESSAGE a149 WITH sy-uname.
WHEN OTHERS.
ENDCASE.
Check if user has overwritten configuration defined printer using
PARAMETER ID ZTRANSFER_LDEST and validate destination.
data: ztransfer_ldest type char20.
Get parameter id 'ZTRANSFER_LDEST' field ztransfer_ldest.
IF SY-SUBRC = 0.
shift ztransfer_ldest left deleting leading space.
translate ztransfer_ldest to upper case.
select count(*) into sy-dbcnt
from sh_prin
where lname = ztransfer_ldest.
if sy-subrc = 0.
HLP_LDEST = ztransfer_ldest.
endif.
ENDIF.
........These fields are relevant in table OUT .....................
MOVE: hlp_drukz TO ltak-drukz,
hlp_ldest TO ltap-ldest.
ENDFORM.
*----
*
FORM SAMMELLISTE_KOPF *
*----
*
Vorbereitung Sammeldruck Kopfdaten *
*----
*
FORM sammelliste_kopf.
CHECK NOT t329f-samml IS INITIAL. " nur Sammelliste
*........In Case of mixed prints, solo with collect print
PERFORM solo_prepare.
*.........Füllen der Multifunktionsfelder zwecks Barcodeausgabe........
*.........Fill fields for barcoded output .............................
WRITE: "ListenDruck
ltak-tanum TO rldru-talgn(10), "..TA-Nummer
ltak-lgnum TO rldru-talgn+10(3). "..Lagernummer
........Print List-Formulars header .................................
PERFORM sammelliste_kopf_sapscript.
ENDFORM.
*----
*
FORM SOLO_PREPARE *
*----
*
Read hazardous materials and Barcode into relevant fields *
*----
*
FORM solo_prepare.
*........Gefahrenvermerke ermitteln / Look for haz.notes ..............
PERFORM t300_lesen USING ltak-lgnum. " Regionalkennzeichen zulesen
PERFORM gef_vermerke. " Gefahrenvermerke
IF sy-subrc = 0.
MOVE text-001 TO rldru-text1.
ENDIF.
*........Für Barcodeverschlüsselung ein Feld für TA- und Lagernummer...
*........For barcoded output..........................................
PERFORM barcode_taplg.
ENDFORM.
*----
*
FORM SONUM_CONVERSION *
*----
*
Special stock into external format *
*----
*
FORM sonum_conversion.
*........Sondernummer ggf. in externes Format bringen ......... "Jan 95
*........Special stock into external format.................... "Jan 95
CLEAR rl03t-lsonr. "Jan 95
PERFORM sonum_conv_int_ext(sapfl000) USING ltap-sobkz "Jan 95
ltap-sonum "Jan 95
rl03t-lsonr. "Jan 95
IF NOT ltap-sonum IS INITIAL AND rl03t-lsonr IS INITIAL. "Jan 95
MOVE ltap-sonum TO rl03t-lsonr. "Jan 95
ENDIF.
get the WBS element text (for Ethis Project)// EB Aug 2001
SELECT SINGLE * FROM prps
WHERE pspnr = ltap-sonum.
ENDFORM.
*----
*
FORM SORT_OUT *
*----
*
Call of sortroutine in Include RLVSDR30 *
*----
*
FORM sort_out.
*.......Sortieren interne Tabelle wie im include RLVSDR30..............
*.......Sort internal table as in Include RLVSDR30 defined.............
PERFORM ikopf-sornr OF sort01
sort02
sort03
sort04
sort05
sort06
sort07
sort08
sort09
sort10.
ENDFORM.
*----
*
FORM TSP03_LESEN *
*----
*
Lesen des Druckers in TSP03 *
*----
*
FORM tsp03_lesen USING value(p_padest).
SELECT SINGLE * FROM tsp03
WHERE padest = p_padest.
ENDFORM.
*----
*
FORM T300_LESEN *
*----
*
Zulesen des Regionalkennzeichens *
*----
*
FORM t300_lesen USING p_lgnum.
sy-subrc = 0.
CHECK p_lgnum NE t300-lgnum.
SELECT SINGLE * FROM t300
WHERE lgnum = ltak-lgnum.
ENDFORM.
*----
*
FORM T301T_LESEN *
*----
*
Zulesen des Lagertyp-Textes *
*----
*
FORM t301t_lesen USING p_lgnum p_lgtyp.
SELECT SINGLE * FROM t301t
WHERE spras = sy-langu
AND lgnum = p_lgnum
AND lgtyp = p_lgtyp.
IF sy-subrc <> 0.
MESSAGE a249 WITH p_lgtyp p_lgnum.
ENDIF.
ENDFORM.
*----
*
FORM T302T_LESEN *
*----
*
Zulesen des Lagerbereich-Textes *
*----
*
FORM t302t_lesen USING p_lgnum p_lgtyp p_lgber.
SELECT SINGLE * FROM t302t
WHERE spras = sy-langu
AND lgnum = p_lgnum
AND lgtyp = p_lgtyp
AND lgber = p_lgber.
*........Wenn nicht gefunden ==> Löschen des T302T-Satzes...............
*........(Grund: Nicht zu jedem Lagerbereich muß ein Text vorhanden.....
*........sein (dynamische Lagerplatzvergabe))...........................
IF sy-subrc <> 0.
CLEAR t302t.
ENDIF.
ENDFORM.
*----
*
FORM T329F_LESEN *
*----
*
Lesen der TA-Druck Formulare und Sortierroutinen *
*----
*
FORM t329f_lesen USING p_lgnum p_drukz.
sy-subrc = 0.
CHECK p_lgnum NE t329f-lgnum OR
p_drukz NE t329f-drukz.
SELECT SINGLE * FROM t329f
WHERE lgnum = p_lgnum
AND drukz = p_drukz.
ENDFORM.
*----
*
FORM T329P_LESEN *
*----
*
Lesen der TA-Druck Spoolparameter *
*----
*
FORM t329p_lesen USING p_lgnum p_spool.
sy-subrc = 0.
SELECT SINGLE * FROM t329p
WHERE lgnum = p_lgnum
AND spool = p_spool.
ENDFORM.
*----
*
FORM T331_LESEN *
*----
*
Lesen der Lagertypeigenschaften *
*----
*
FORM t331_lesen USING p_lgnum p_lgtyp.
CHECK p_lgnum NE t331-lgnum OR
p_lgtyp NE t331-lgtyp.
SELECT SINGLE * FROM t331
WHERE lgnum = p_lgnum
AND lgtyp = p_lgtyp.
ENDFORM.
*----
*
FORM T333B_LESEN
*----
*
Lesen der Transporartbezeichnung
*----
*
FORM t333b_lesen USING p_lgnum p_trart.
CHECK p_lgnum NE t333b-lgnum OR
p_trart NE t333b-trart.
SELECT SINGLE * FROM t333b
WHERE spras = sy-langu
AND lgnum = p_lgnum
AND trart = p_trart.
ENDFORM.
*----
*
FORM T340D_LESEN *
*----
*
Read TO-Print-Program name *
*----
*
FORM t340d_lesen USING p_lgnum.
CHECK t340d-repid IS INITIAL.
SELECT SINGLE * FROM t340d
WHERE lgnum = p_lgnum.
ENDFORM.
*----
*
FORM UMBUCHUNGEN_DRUCKEN *
*----
*
Druckvorbereitung *
*----
*
Anstoßen des Drucks der Umbuchungsanweisung *
neu bearbeitet zu 3.0F *
*----
*
FORM umbuchungen_drucken.
CASE ltap-vorga.
WHEN con_u1.
........Verarbeitung 1. Umbuchungsposition einer Anweisung...........
cnt_umb_pos = cnt_umb_pos + 1.
*ltap = ltap.
*rl03t = rl03t.
for the Ethis Project //EB Aug 2001
*prps = prps.
IF *ltap-rltyp = space.
MOVE space TO *ltap-meins. "nur Rücklag.,sonst LTAP-MEINS anz.
MOVE space TO *ltap-altme. "nur Rücklag.,sonst LTAP-altme anz.
ENDIF.
........Barcodeverschlüsselung von 1. Umbuchungsposition.............
IF ltap-pquit IS INITIAL.
PERFORM barcode_taplg.
MOVE rldru-taplg TO *rldru-taplg.
ENDIF.
WHEN con_u2.
........Verarbeitung 2. Umbuchungsposition einer Anweisung...........
cnt_umb_pos = cnt_umb_pos + 1.
u2_rl03t = rl03t.
u2_ltap = ltap.
........Barcodeverschlüsselung von 2. Umbuchungsposition.............
IF ltap-pquit IS INITIAL. "Ist Position quittiert ??
PERFORM barcode_taplg.
u2_taplg = rldru-taplg.
ENDIF.
ENDCASE.
........Drucken nach jeder 2.ten Position............................
IF cnt_umb_pos = 2.
rl03t = u2_rl03t.
ltap = u2_ltap.
rldru-taplg = u2_taplg.
*........Umbuchung am Platz ?...............................
if the TO is a posting change do not print the text
Ethis project // EB
IF t329f-formu <> 'ZPJ_LVSUMBUCHEN'.
IF ltap-nlpla = *ltap-vlpla.
MOVE text-005 TO rldru-text1.
ELSE.
MOVE space TO rldru-text1.
ENDIF.
ELSE.
MOVE space TO rldru-text1.
ENDIF.
PERFORM umbuchungen_drucken_sapscript.
CLEAR: u2_rl03t, u2_ltap, u2_taplg, cnt_umb_pos.
ENDIF.
ENDFORM.
*&----
*
*& Form BATCH_CLASSIFICATION
*&----
*
text
*----
*
--> p1 text
<-- p2 text
*----
*
FORM batch_classification.
CLEAR pono.
actualen = strlen( ltap-matnr ).
remlen = 18 - actualen.
MOVE ltap-matnr TO special-fill.
DO remlen TIMES.
REPLACE ' ' WITH '?' INTO special-fill+actualen.
ENDDO.
CONCATENATE special-fill
ltap-werks
ltap-charg INTO temp-objek.
DO remlen TIMES.
REPLACE '?' WITH ' ' INTO temp-objek+actualen.
ENDDO.
SELECT SINGLE * FROM inob INTO temp_inob
WHERE objek = temp-objek.
IF sy-subrc = 0.
SELECT SINGLE * FROM kssk INTO temp_kssk
WHERE objek = temp_inob-cuobj.
IF sy-subrc = 0.
SELECT imerk FROM ksml INTO temp_ksml
WHERE clint = temp_kssk-clint.
COLLECT temp_ksml.
ENDSELECT.
IF sy-subrc = 0.
LOOP AT temp_ksml.
SELECT SINGLE * FROM ausp INTO temp_ausp
WHERE objek = temp_kssk-objek AND
atinn = temp_ksml-imerk.
IF sy-subrc = 0.
PERFORM batch_class_description.
PERFORM batch_class_value.
COLLECT out_batch_class.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
ENDIF.
ENDFORM. " BATCH_CLASSIFICATION
*&----
*
*& Form BATCH_CLASS_DESCRIPTION
*&----
*
text
*----
*
--> p1 text
<-- p2 text
*----
*
FORM batch_class_description.
SELECT SINGLE * FROM cabnt INTO temp_cabnt
WHERE spras = sy-langu AND
atinn = temp_ausp-atinn.
IF sy-subrc = 0.
MOVE temp_cabnt-atbez TO out_batch_class-description.
ENDIF.
ENDFORM. " BATCH_CLASS_DESCRIPTION
*&----
*
*& Form BATCH_CLASS_VALUE
*&----
*
text
*----
*
--> p1 text
<-- p2 text
*----
*
FORM batch_class_value.
IF out_batch_class-description CS 'Receiving' OR
out_batch_class-description CS 'receiving'.
char-prodorder = temp_ausp-atwrt.
IF char-prodorder CS 'RS_' OR char-prodorder CS 'rs_'.
SHIFT char-prodorder BY 3 PLACES LEFT.
ENDIF.
SELECT SINGLE ebeln INTO pono FROM *mseg WHERE
mblnr = char-prodorder.
mjahr = ltak-mjahr.
ENDIF.
IF NOT temp_ausp-atwrt IS INITIAL.
SELECT SINGLE * FROM cawnt INTO temp_cawnt
WHERE atinn = temp_ausp-atinn AND
atzhl = temp_ausp-atwrt.
IF sy-subrc = 0.
MOVE temp_cawnt-atwtb TO out_batch_class-value.
ELSE.
IF temp_ausp-atwrt = 'n' OR
temp_ausp-atwrt = 'N'.
MOVE 'No' TO out_batch_class-value.
ELSE.
IF temp_ausp-atwrt = 'y' OR
temp_ausp-atwrt = 'Y'.
MOVE 'Yes' TO out_batch_class-value.
ELSE.
MOVE temp_ausp-atwrt TO out_batch_class-value.
ENDIF.
ENDIF.
ENDIF.
ELSE.
MOVE temp_ausp-atflv TO float-value.
MOVE float-value TO out_batch_class-value.
ENDIF.
ENDFORM. " BATCH_CLASS_VALUE
*&----
*
*& Form MVMT281_EXTRA_INFO
*&----
*
for Ethis Project // Nov 2001
*----
*
--> p1 text
<-- p2 text
*----
*
FORM mvmt281_extra_info.
WBS element for the source dtails
select single zsourceposid from zmapd into source-wbs-ele
where posid = prps-posid and
charg = ltap-charg.
vendor for each item
SELECT SINGLE lifnr FROM mcha INTO vendorno
WHERE matnr = ltap-matnr AND
werks = ltap-werks AND
charg = ltap-charg.
purchase order per item
ENDFORM. " MVMT281_EXTRA_INFO
*&----
*
*& Form PRINT_CLASS_VALUE
*&----
*
text
*----
*
--> p1 text
<-- p2 text
*----
*
FORM print_class_value.
The element class was created because of the
batch classification value & description for the Ethis project.
for form #6847
//EB Aug 2001
IF bar3 = 'X'.
MOVE 'Classification:' TO class-text.
LOOP AT out_batch_class.
IF out_batch_class-description CS 'Quality' OR
out_batch_class-description CS 'quality' OR
out_batch_class-description CS 'Serial' OR
out_batch_class-description CS 'serial' OR
out_batch_class-description CS 'Receiving' OR
out_batch_class-description CS 'receiving' OR
out_batch_class-description CS 'Number' OR
out_batch_class-description CS 'number'.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'CLASS'.
CLEAR class-text.
ENDIF.
ENDLOOP.
ENDIF.
ENDFORM. " PRINT_CLASS_VALUE
*&----
*
*& Form CHECK-MOVEMENT-TYPES
*&----
*
text
*----
*
--> p1 text
<-- p2 text
*----
*
FORM check-movement-types.
SELECT SINGLE drukz INTO temp-drukz FROM t333
WHERE lgnum = ikopf-lgnum AND
bwlvs = ikopf-bwart AND
trart = ikopf-trart.
IF sy-subrc NE 0.
SELECT SINGLE drukz INTO temp-drukz FROM t333
WHERE lgnum = ikopf-lgnum AND
bwlvs = ikopf-bwlvs AND
trart = ikopf-trart.
ENDIF.
ENDFORM. "CHECK-MOVEMENT-TYPES
INCLUDE ZLVSDR261.
*&----
*
*& Form get_usrdefined_stortype
*&----
*
text
*----
*
--> p1 text
<-- p2 text
*----
*
form get_usrdefined_stortype .
if ikopf-bwart = '261'.
clear: storloc_tbl, storloc_tbl[].
select valfrom into table storloc_tbl
from setleaf
where setname = 'ZMAT_STOR_LOCATION'.
if sy-subrc = 0.
read table storloc_tbl with key = mseg-lgort.
if sy-subrc = 0.
move 'X' to mvmt261-flag.
endif.
endif.
endif.
endform. " get_usrdefined_stortype
*&----
*
*& Form get_user_defined_scheduler
*&----
*
text
*----
*
--> p1 text
<-- p2 text
*----
*
form get_userdefined_scheduler .
clear: sched1_tbl, sched1_tbl[], sched2_tbl, sched2_tbl[].
select valfrom into table sched1_tbl
from setleaf
where setname = 'ZSAP2AMA_PW600_SCHEDULER'.
select valfrom into table sched2_tbl
from setleaf
where setname = 'ZSAP2SOL_PW600_SCHEDULER'.
2006 Oct 06 6:33 AM
Hi,
Can look at your SCript program, you pasted the Driver program here, it may be there in the Script Program(SE71).
Regards
Sudheer
2006 Oct 06 6:36 AM
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