0% found this document useful (0 votes)
506 views9 pages

SAP User Exit Serial Number

1. The document discusses various processes for managing equipment parts in SAP, including quality control checks, material movements between stock locations, and creation of serial numbers. 2. Key steps include quality assurance checks during material movements, launching production orders to generate serial numbers, and controls to ensure serial numbers and equipment codes are correctly populated. 3. The document also covers custom ABAP code for generating serial numbers in different formats depending on the material type, as well as controls for validating serial number and manufacturing data for certain equipment codes.

Uploaded by

mjel
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
506 views9 pages

SAP User Exit Serial Number

1. The document discusses various processes for managing equipment parts in SAP, including quality control checks, material movements between stock locations, and creation of serial numbers. 2. Key steps include quality assurance checks during material movements, launching production orders to generate serial numbers, and controls to ensure serial numbers and equipment codes are correctly populated. 3. The document also covers custom ABAP code for generating serial numbers in different formats depending on the material type, as well as controls for validating serial number and manufacturing data for certain equipment codes.

Uploaded by

mjel
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 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