SAP User Exit Serial Number

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 9

User exiti oprema !

Contents
1 QA11 kontrola ! .....................................................................................................................................................1 2 (premik 101) + ostali premiki (USER EXIT oprema na premikih) (Potrjevanje CO11N) .....................................................................................................................................................2 3 Lansiranje PP nalog (kreiranje serijskih) (S805, LLLTTXXX, TMP*) Splono..............3 4 Kreiranje serijskih v IT (TMP, L****, S805****) KODA , ENHACEMENT, EXIT .....................................................................................................................................................4 5 Lansiranje PP nalog kontrola, da ima EMS koda vpisan MAC naslov............................6 6 Dvig materiala za EMS kontrola, da ima EMS koda vpisan profil popisa serijskih ........6 7 Variante prikaza ZOP01 (ZSN_CREATE include).................................................................7 8 Kontrola pravilnosti MAC, procesne .....................................................................................................................................................8 9 CRM includes FMs..............................................................................................................9 SMOD, SE37, SE19 RS_ABAP_SOURCE_SCAN (program za iskanje texta po programih)

QA11 kontrola !

BADI: ZINSPECTIONLOT_UPDAT

IF_EX_INSPECTIONLOT_UPDATE~SET_UD_AT_SAVE IF_EX_INSPECTIONLOT_UPDATE~CHANGE_UD_AT_SAVE
ZCL_IM_INSPECTIONLOT_UPDAT====CP ZCL_IM_INSPECTIONLOT_UPDAT====CM00A METHOD: IF_EX_INSPECTIONLOT_UPDATE~SET_UD_AT_SAVE (ZCL_IM_INSPECTIONL

(premik 101) + ostali premiki

(USER EXIT oprema na premikih) (Potrjevanje CO11N)

Prevzem na skladie iz proizvodnje (kontrola popisanosti) Preknjiba Y09-Y10 Prevzem v prosto zalogo iz Q zaloge(321 premik)

Kontrole na premikih (101,Y10 ): FM: ZMB_CHECK_MATERIAL_STOCK

QA11: premik 321 postavi status na NABAVA * e je nalog za CEN, ki nima podrejen ih za popis , opremo oznaim kot popisano in zakl j u im if <mseg>-matnr(3) = 'CEN' .

SELECT SINGLE rsnum INTO rsnum FROM afko WHERE aufnr = <mseg>-aufnr . SELECT matnr baugr st l n r FROM resb INTO TABLE t_resb WHERE rsnum = rsnum AND shkzg NE 'S ' . "AND xloek = ' ' .

Lansiranje PP nalog (kreiranje serijskih) (S805, LLLTTXXX, TMP*) Splono Kreiranje serijskih tevilk (TMP*, S805., LLLTTSSSS (licence) )

SNUM ZSERNR ZSERNR9 ZEQ_NAD (nadrejena oprema PND) SERGE= TMPX00000000020441 ABU5001AA060 TMP000000000191632 (kreiranje za PP nalog)

Include: ZSN_CREATE_FORMS Popis CEN kod : kreirajo se dummy serijske TMPX00000000010708 (Odpadne opreme od CEN kode ?)

Kreiranje serijskih v IT (TMP, L****, S805****) KODA , ENHACEMENT, EXIT

Transakcija: SMOD

Name of Enhancement : IQSM0001 Name of Function Module Exit: EXIT_SAPLIPW1_001 Name of Include : ZXQSMU01
*&---------------------------------------------------------------------* *& Include ZXQSMU01 *&---------------------------------------------------------------------* *" IMPORTING *" VALUE(OPERATION) LIKE T377X-BELEG *" VALUE(NUMBER_SERIALNO) LIKE SY-TABIX *" VALUE(MATERIAL_NO) LIKE RIPW0-MATNR *" VALUE(STD_MATERIAL_NO) LIKE EQUI-KMATN OPTIONAL *" VALUE(CONFIGURATION_KEY) LIKE EQUI-CUOBJ OPTIONAL *" VALUE(SD_DOCUMENT_NO) LIKE LIPS-VBELN OPTIONAL *" VALUE(SD_DOCUMENT_ITEM) LIKE LIPS-POSNR OPTIONAL *" VALUE(PP_ORDER_NO) LIKE AUFK-AUFNR OPTIONAL *" VALUE(PP_ORDER_ITEM) LIKE AFPO-POSNR OPTIONAL *" VALUE(PLANT) LIKE MSEG-WERKS OPTIONAL *" TABLES *" TAB_SERNR STRUCTURE RISERNR * !!!! INCLUDE se uporablja tudi pri popisu opreme ZSN_CREATE. Pri spremembah * zato pazi, da tudi tam preveri sintakso DATA: mtart TYPE mara-mtart, s_lastst TYPE zpp_ser_num, * lweek TYPE scal-week, nalog(10), ass(40), num4(4) TYPE n, num14(14) TYPE n, num3(3) TYPE n, sernr(18). * t_sernr LIKE STANDARD TABLE OF risernr. FIELD-SYMBOLS: <nar> IF sy-uname = 'V.RIBNIKAR'. BREAK-POINT. ENDIF. SELECT SINGLE mtart INTO mtart FROM mara WHERE matnr = material_no. *CASE mtart. * WHEN 'FERT'. "by Rogac CASE material_no(3). "by Rogac WHEN 'CEN'. * CALL FUNCTION 'GET_WEEK_INFO_BASED_ON_DATE' * EXPORTING * date = sy-datum * IMPORTING * week = lweek. IF material_no(4) = 'CENB'. "LYYMMDDXXXX - XXXX tevec CONCATENATE 'L' sy-datum+2(2) sy-datum+4(2) sy-datum+6(2) "lweek+4(2) INTO s_lastst-zac. SELECT SINGLE * FROM zpp_ser_num INTO s_lastst WHERE zac = s_lastst-zac. IF sy-subrc = 0. ELSE." insertiram zaetni zapis s_lastst-lenzac = 7. "dolina zaetnega fiksnega dela s_lastst-kon = 1000. "zadnja uporabljena tevilka s_lastst-lenkon = 4. "dolina tevilnega dela na koncu INSERT zpp_ser_num FROM s_lastst. ENDIF. DO number_serialno TIMES. num4 = s_lastst-kon + sy-index. CONCATENATE s_lastst-zac(s_lastst-lenzac) num4 INTO sernr. APPEND sernr TO tab_sernr. ENDDO. s_lastst-kon = num4. UPDATE zpp_ser_num FROM s_lastst. ELSE. "ord8049999001 ( ord+t.naroila+tevec(3 znaki) * pri CO08 dobim naroilo iz glavnega programa, lansiranje pa se dela * tudi iz monitorja za oskrbovanje, takrat je pa nalog e kreiran * najprej gledam nalog - klic iz monitorja oskrbovanja CLEAR nalog. SELECT SINGLE kdauf INTO nalog FROM afpo WHERE aufnr = pp_order_no. IF nalog IS INITIAL. "naloga e ni; ass iz gl. prog TYPE ANY.

* tevilko naroila assigniram iz glavnega programa ass = '(SAPLCOKO1)AFPOD-KDAUF'. "klic iz CO08 ASSIGN (ass) TO <nar>. IF sy-subrc = 0. nalog = <nar>. ENDIF. ENDIF. IF nalog IS INITIAL. ass = '(SAPLCOKO1)CAUFVD-KDAUF_AUFK'. "klic iz MD16 ASSIGN (ass) TO <nar>. IF sy-subrc = 0. nalog = <nar>. ENDIF. ENDIF. IF nalog IS INITIAL. nalog = sy-datum. ENDIF. SHIFT nalog LEFT DELETING LEADING '0'. CONCATENATE 'S' nalog INTO s_lastst-zac. SELECT SINGLE * FROM zpp_ser_num INTO s_lastst WHERE zac = s_lastst-zac. IF sy-subrc = 0. ELSE." insertiram zaetni zapis s_lastst-lenzac = 11. "dolina zaetnega fiksnega dela s_lastst-kon = 0. "zadnja uporabljena tevilka s_lastst-lenkon = 3. "dolina tevilnega dela na koncu INSERT zpp_ser_num FROM s_lastst. ENDIF. DO number_serialno TIMES. num3 = s_lastst-kon + sy-index. CONCATENATE s_lastst-zac(s_lastst-lenzac) num3 INTO sernr. CONDENSE sernr NO-GAPS. APPEND sernr TO tab_sernr. ENDDO. s_lastst-kon = num3. UPDATE zpp_ser_num FROM s_lastst. ENDIF. WHEN OTHERS. " "TMP0.... s_lastst-zac = 'TMP0'. SELECT SINGLE * FROM zpp_ser_num INTO s_lastst WHERE zac = s_lastst-zac. IF sy-subrc = 0. ELSE." insertiram zaetni zapis s_lastst-lenzac = 4. "dolina zaetnega fiksnega dela s_lastst-kon = 0. "zadnja uporabljena tevilka s_lastst-lenkon = 14. "dolina tevilnega dela na koncu INSERT zpp_ser_num FROM s_lastst. ENDIF. DO number_serialno TIMES. num14 = s_lastst-kon + sy-index. CONCATENATE s_lastst-zac(s_lastst-lenzac) num14 INTO sernr. APPEND sernr TO tab_sernr. ENDDO. s_lastst-kon = num14. UPDATE zpp_ser_num FROM s_lastst. ENDCASE.

Lansiranje PP nalog kontrola, da ima EMS koda vpisan MAC naslov.

Dvig materiala za EMS kontrola, da ima EMS koda vpisan profil popisa serijskih .

Variante prikaza ZOP01 (ZSN_CREATE include) ZSN_CREATE

Include: ZSN_CREATE_FORMS

* preverim sernp v kosovnici za doloitev ALV izgleda - layout variante * e ima vsaj ena komponenta sernp=ZI07, to pomeni, da je to tiv PERFORM bom_read_zi07 USING matnal sernp_zi07. &---------------------------------------------------------------------* *& Form layout_variant_ins *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * -->PS_VARIANT text *----------------------------------------------------------------------* FORM layout_variant CHANGING ps_variant TYPE disvariant. ps_variant-report = sy-repid. ps_variant-handle = 'GRID'. * BREAK-POINT. IF p_aufnrc IS NOT INITIAL "pri popisu naloga doloim ALV varianto AND ( matnal(3) = 'UTA' OR matnal(3) = 'ETN' OR matnal(3) = 'PTZ' ). IF zzmac = 0. IF sernp_zi07 = 'X'. ps_variant-variant = '/4SN+P'. ELSE. ps_variant-variant = '/1SN'. ENDIF. ELSEIF zzmac = 1. IF sernp_zi07 = 'X'. ps_variant-variant = '/5SN+MAC+P'. ELSE. ps_variant-variant = '/2SN+MAC'. ENDIF. ELSE. IF sernp_zi07 = 'X'. ps_variant-variant = '/6VSE'. ELSE. ps_variant-variant = '/3VSE_BREZ_P'. ENDIF. * ps_variant-variant = '/1SN'. ENDIF.

Kontrola pravilnosti MAC, procesne

Kontrola MAC vpisan: include: ZSN_CREATE_FORMS1 Form: POPIS_NALOG_KONTROLE Za kode EMS dodatne kontrole ? Dolina serijske? MAC (MAC2-MAC) Pravilnost procesne t. ***17.11.2011 Peter Rogac *** dodane kontrole se za materiale, ki niso UTA ETN ali PTZ IF <opalv>-matnr(3) = 'UTA' OR <opalv>-matnr(3) = 'ETN' OR <opalv>-matnr(3) = 'PTZ'. utaetn = 'X'. PERFORM popis_nalog_kontrole USING <opalv> err_ex. ELSE. utaetn = 'X'. PERFORM popis_nalog_kontrole_ostali USING <opalv> err_ex. ENDIF.

1.

FORM popis_nalog_kontrole USING ls_opalv TYPE ty_opalv err_ex TYPE char1.

9 CRM includes FMs


-FM: ZCRM_CREATE_PRODUCT call function 'ZGET_EQUART' destination l_rfcdest exporting i_matnr = i_comp_data-matnr importing e_eqart = l_eqart. case l_eqart. when 'ORD' or 'DLV'. i_comp_data-objfam = 'Z001'. when 'HW'. i_comp_data-objfam = 'Z002'. when 'SW'. i_comp_data-objfam = 'Z003'. when 'LIC'. i_comp_data-objfam = 'Z004'. when others. i_comp_data-objfam = 'Z002'. endcase. else. i_comp_data-objfam = 'Z002'. endif. endif. perform create_milestone_data using e_product_guid l_product_id i_comp_data changing ok. include: ZEQUI_BADI_PERFROM_LOAD FM: ZCRM_CREATE_PRODUCT include: LZCRDF01 , Form create_milestone_data Form create_partner_data

You might also like