Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

script help

Former Member
0 Likes
1,731

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'.

2 REPLIES 2
Read only

Former Member
0 Likes
891

Hi,

Can look at your SCript program, you pasted the Driver program here, it may be there in the Script Program(SE71).

Regards

Sudheer

Read only

Former Member
0 Likes
891

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