Integrating New Table in Material Master

download Integrating New Table in Material Master

of 16

Transcript of Integrating New Table in Material Master

  • 8/13/2019 Integrating New Table in Material Master

    1/16

    Integration of New Tables in the Material Master

    Use

    You can include new tables in material master maintenance without modifying the programs for

    the material master.

    The procedure for the inclusion of new fields in existing tables is described in note 44410.

    This documentation is based mainly on the possibilities, number, and appearance of the mainand secondary screens that the user can define.

    Prerequisites

    You should be familiar with the main features of the material master.

    You have used the Customiing settings in Logistics - General Material Master Configuring

    the Material Masterto configure the layout of the screens. You can define the screen se!uencesthat contain a se!uence of main and secondary screens. "ach screen se!uence represents adisplay format for the material master.

    You should not ma#e any changes to the standard screen se!uence for somenew tables$ instead you should ma#e change a copy of a suitable standardscreen se!uence, and create a separate screen se!uence.

    Integration

    The following re!uirements differ for the integration of new tables in the material master%

    Partial integration

    You must be able to maintain the data from the material master. The user must be able torecognie by the type of integration that they are dealing in this case with a separate ob&ect$ theuser must not expect the same features for the integrated data as in the case of material masterdata 'such as field selection and reference handling(. )ntegration should lead to only onemaintenance simplification for the user.

    Complete integration

    The user should not be able to recognie that they are dealing with a table of the material master.The integration is therefore invisible to the user, with the only technical difference being to theconnection * as a separate material master table. +ccordingly, all the maintenance functions thatare available for the material master data are also available for the integrated data.

    +bove all, you choose partial integration for data that does not need to be maintained urgently foreach material, for additional data, and for data that does not need to be viewed urgently as part ofthe material master, such as production versions for a material.

    http://help.sap.com/saphelp_470/helpdata/en/b9/327b3ccdc09b28e10000000a114084/frameset.htm
  • 8/13/2019 Integrating New Table in Material Master

    2/16

    You choose complete integration for data that needs to be maintained for all or many materials,for your data that is displayed in normal material master tables 'no additional data(, and for datathat is to loo# the same as other material master data, such as for re!uirement groups for amaterial 'only available in the retail environment(.

    Implementation

    ecause of the different re!uirements of integration, there are also different paths toimplementation%

    )mplementation for partial integration

    -or partial integration, you can only maintain a new table in the same screen 'secondary screen(.The screen on which the new data is maintained has its own /) status, and therefore differsfrom the screens in the material master in both the functions in the menu bar, and thepushbuttons available. )n particular, you cannot &ump from the screen directly to other materialmaster screens, and you cannot accommodate the screen as your own main screen, or as asubscreen on an existing main screen. )n addition to this, not all the maintenance functions for the

    integrated data are necessarily available.You can open the secondary screen via the Extrasmenu, or via a pushbutton.

    )mplementation for complete integration

    -or complete integration, you can implement the maintenance of the new tables in the same wayas for material master tables%

    o ubscreen 'screen module( on an existing main screen, or additional screen

    own main screeno +dditional screen that can only be selected via the menu Extras

    o +dditional screen that is opened by choosing a pushbutton 'and can be selected

    via the Extrasmenu(

    The same /) status is used for the material master screens.

    artial integration is simpler than complete integration. )n addition, there are a few restrictions forcomplete integration%

    The enhancement of the material master should be substantive. )t is notaboutthe recording of one or two fields in an existing subscreen.

    This documentation describes only the integration of new material tables from theaspect of material data maintenance. The use and processing of the dataentered in this way into operative processes re!uires a separate concept.

    The field selection control in the material master cannot be enhanced foradditional tables. + separate field selection must be implemented accordingly.

    The user can decide for the reference handling whether the field is to besuggested from the reference material. You can maintain this via a Customiingtransaction, and is stored in table T120-. 3eference handling also needs to beimplemented here.

  • 8/13/2019 Integrating New Table in Material Master

    3/16

    ey fields in new tablesThe new tables usually have a #ey that does not agree with the #ey for analready existing material table 'otherwise integration would wor# by recordingnew fields in an existing material master table(. )f you have to maintain the #eysfor the data5s data records on separate screens, meaning that you need to go tothe different data records by changing the organiational level, then you cangenerally only implement partial integration. Complete integration of new #eyfields is not supported in material master maintenance.

    The recording of a new maintenance status is not possible due the integration ofnew ob&ects in the material master. 6ew ob&ects must be added to an existingmaterial status.

    Complete Integration

    6ext the procedure for complete integration is described, with partial integration only beingreferred to if relevant.

    +d) method +7)89+T"3)+:8;7 is available for the integration of new ob&ects, from which theapplication

  • 8/13/2019 Integrating New Table in Material Master

    4/16

    has the fixed prefix INIT_, followed by the name of the function group. ee INIT_WRPL. The

    module does not have parameters, and exists only of the one line.

    perform init8baustein.

    The form routine is defined in a standard include in the material master.

    The creation of the function group can, from release 2.1, be made with the help of programCOPYMGD1 'a parameter controls whether a function group is to be created for a material master

    for industry or for retail(. The main program, the function module, and even a template screen arecreated automatically in this way.

    Screen Logic

    =ithin the function group you can * as normal < develop screens with ; and +) logic. You donot need to pay any particular attention to a specific numbering. You need to be aware of thefollowing points for development%

    General

    "ach screen must be defined as a subscreen. ee screen attribute from 1000>WRPD. You

    can create multiple subscreens within the function group 'for example, for header fieldsand data fields(.

    The modules contained in the flow logic for the standard screen, or also in the template

    screens, should be used, as far as features are concerned, as templates. )f you need tocreate new header screens 'screen with #ey fields(, then you should do this my changinga copy on an existing header screen. The modules give hints on the features that shouldbe available on the screen, or can be available. +t least some of the modules containedmust be available on the subscreen 'see below(. You develop corresponding modules forothers for individual application. The flow logic for your modules is described in more

    detail further below. )f you display fields with corresponding text in the new screens 'such as material groups

    and the corresponding descriptions(, this is to ensure that, when you hide the data field'for example, in the field selection(, the corresponding text is also hidden. )f you describemodification group 1 for both the fields which belong together, with -n and Tn, n ? 01, 0@,02, et cetera, then this tas# is automatically done by the standard moduleFAUSW_BEZEICHNUNGEN.

    -or example, see screen @000>=37.

    + material is formatted for a particular activity in material master maintenance% the

    material is either created anew 'also enhanced in the industrial material master(, orchanged, or its data is displayed without the possibility for change. The activity typeresults from the combination of the two fields T130M-AKTYP and NEUFLAG 'compare

    INCLUDE MMGXV01 for the definition of the different activity types(. )t is defined globally

    within the function group.

    )n the industrial material master there is a difference between the activity types A ? add, and B ?change 'a material can be either changed * 990@ * or new screens added or created * 9901(.)n the retail material master, there is a difference between the activity types 6 ? create newmaterial, and C ? maintain material 'a material can either be created from new * 9941 * or it canbe maintained, that is to say changed or enhanced * 994@(. o that the same program logicmay also be used for the retail material master 'the activity type is !ueried at different points(, the

  • 8/13/2019 Integrating New Table in Material Master

    5/16

    activity type is set in the retail material master after the process of the initial screen in cases 6and C to activity type A 'you cannot see whether it has been changed or added in the retailmaterial master$ LMGMWFO0 OKCODE_BILD_RETAIL(. )f you need to decide for a particular

    organiational level whether it is a !uestion of changing or adding, then it needs to be decided viathe internal table PTAB_FULL, and the corresponding RCODE.

    ea! "ccess# $ata %uffering# an! $ata Transport

    The data should only be read for a particular #ey from the database once per transaction, for arepeated call it should be read from the buffer. The read access must be retained in individualaccess modules. You incorporate the call for the read routine in the +d) methodREAD_OTHER_MATERIAL_DATA.

    You can go to the function modules for the re!uirements groups or the replenishment parametersfor the creation of access modules 'function group WRPPB for accessing table WRPP, function

    group WRPLBfor accessing table WRPL(. The modules for both function groups are created

    according to the templates for access modules of the material master 'there is a function groupfor each table, which contains all the access modules(.

    The property of the material master, to be Customiable for customers, is based in principle onthe concept of data buffering, and the transport of data between subscreens, which can belong todifferent programs. The concept can be briefly described as follows%

    efore reading from the database, the authoriation is chec#ed.

    The data is read in once by the database 'setting the necessary loc#s at this time(, and

    buffered for each table in an individual function group.

    -or the ; of a screen container, the relevant data for the screen is read from the

    buffer for each function group, and set in an intermediate buffer 'wor# area( '/structures(.e.g. MARA_GET_BILD MARM_GET_BILD

    -or the ; of a subscreen, the data relevant for the subscreen is read from the

    intermediate buffer, so that the data can be displayed on the screen.e.g. MARA_GET_SUB MARM_GET_SUB

    The data is changed by the entries made by the user, and then chec#ed by the program.

    The chec#ed data is returned to the intermediate buffer for each subscreen.e.g. MARA_SET_SUB MARM_SET_SUB

    )f all subscreens for a screen have run, and the data has been chec#ed consistently, then

    the data from the wor# area is returned to the buffer.e.g. MARA_SET_BILD MARM_SET_BILD

    The database status is basically retained in the buffer ') status(. The last consistent

    status before the next consistent change is also retained in the buffer ': status(. +t thestart of the transaction the : status corresponds to the ) status. These statuses are oftenused for chec#s, the database status is also need to establish whether changes have

    arisen.

    -or reasons of consistent features, the same concept for the tables to be integrated must bechosen with regards data buffering and data transport. )n theGET_OTHER_MATERIAL_DATA_BILD +d) method, the corresponding get

  • 8/13/2019 Integrating New Table in Material Master

    6/16

    The function modules XXXX_GET_SUBand XXXX_SET_SUBare called only for subscreens that

    are to be included from new. Your call re!uires the availability and declaration of thecorresponding tables.

    Chec&ing of $ata

    7ata should be chec#ed at +). )f the chec# routines return a missing consistency of data, do notleave the screen. The user must correct his or her entries. )f you use " messages for outputtingerror messages, the system ensures that you cannot leave the screen until the error has beencorrected.

    Aowever, when using subscreens, it is not always good to output " messages for errors. ;utputerror messages as messages, rather than actual error messages '" messages(, if fields ondifferent subscreens can be affected by a correction, or if it is a steploop screen. The user canstill change all fields, and is not restricted to the field pic#ed up by an " message. To stop youfrom leaving the screen anyway, global variable BILDFLAGmust be set to in case of errors.

    This ensures that it is not possible to go to another screen. +s soon as the data is accepted bythe system, BILDFLAGmust be set to blan#.

    This case can also occur with warning messages 'not all affected fields are on one subscreen(. )nthis case, too you must output the message as an message, but in addition the warning logicusually provided by the system 'a warning can be confirmed, allowing you to leave the screen(must be programmed accordingly. '/se a flag to ensure that the warning only occurs once if theentry is not changed. 6ote that the warning must be output again if the data is changed in themeantime.(

    Compare the procedure in function group 971, +) module MARC-DISMM-FXHOR.

    Chec#s should always be implemented as function modules, because the are called again aftersaving in the posting logic. =hen creating chec# modules for chec#ing entries, remember%

    + chec# module must generate messages for errors and warnings.

    )f there is an error, the module must be left with message raising.

    Function Co!es

    +t +), actions of the user are chec#ed by a function code. These function codes are addressedin the actual program, using globally defined constants. The naming convention for constant

    names is FCODE_Dname of function codeE. The definition of these constants occurs in a separateinclude file 'see WRPP_FCODES(.

    To ensure the uni!ueness of the function code, this should comprise the name of its own functiongroup and a user

  • 8/13/2019 Integrating New Table in Material Master

    7/16

    )f the new subscreen contains a steploop screen with its own function codes for scrolling 'note%the function codes for scrolling must be uni!ue, the same as any other function codes(, theapplication must reset variable ):7-:+ after processing the function code, otherwise there is a

    &ump to the next screen.

    P%' Mo!ules

    The following modules are standard in the ; logic of a subscreen.

    9;7/:" )6)T8/

    )nitialiation% must always be present

    9;7/:" "T87+T"68/

    7ata procurement of material master data from buffers 'wor# area(% must always be present

    9;7/:" -":7+/=+A:

    -ield selection for material master fields 'T120-(

    9;7/:" ;67"3-+/

    pecial field selection for material master fields

    9;7/:" ;67"3-+/=8)68-3/"6

    pecial field selection for fields with a special field group

    9;7/:" -+/=8"F")CA6/6"6

    -ield selection for descriptions 'if a data field is hidden, the description must be hidden(

    9;7/:" ):7T+T/

    ets the screen status

    9;7/:" -":7A)T;3)"

    Change management 'deactivated(

    9;7/:" F/3"-8B;3CA:+"68

    'industry(

    7efault handling for material master fields in industry solution

  • 8/13/2019 Integrating New Table in Material Master

    8/16

    9;7/:" 3"-7+T"68B;3CA:+"6

    7efault handling for material master fields in industry solution

    9;7/:" F/3"-8B;3CA:+"68+

    'industry(

    7efault handling for material master fields in industry solution

    9;7/:" "F")CA6/6"68:""6

    3eads descriptions of data fields

    9;7/:" "F")CA6/6"68:""683T

    '3etail only(

    7efault handling for material master fields for retail solution

    9;7/:" "T87+T"68/

    3eturn of material master data to buffer 'wor# area(

    The modules for data procurement and the return of data to the buffer 'GET_DATEN_SUB

    SET_DATEN_SUB!must always be present. They also provide transport of material data between

    different function groups.

    The call of module GET_DATEN_SUBmeans that all currently entered material master data is

    available. -or example, all basic data can be accessed using MARA-"F#$%&'(#). )f the current

    status of the existing #ey combination of a material is to be used, this data is always to be used

    'perhaps the data in the GfinalG buffers does not have the current status(. Aowever, if materialdata for another organiational level than the current one is re!uired 'RMMG1( this data cannot be

    determined with the existing function modules for the material master 'see function groups inpac#age 9+, or 9=, such as 9@1 for accessing table 9+3+(. )f material master data forother #eys than the current one is re!uired to be displayed, note that the correspondingauthoriations must be chec#ed 'only relevant to industry material master, not retail materialmaster(. -or example, if you want to display material master data for a different plant from thecurrent one, you need to chec# the authoriation for this plant first.

    Template (an!ling

    The modules for template handling are only on every subscreen for industry. -or 3etail, themodule only occurs in header subscreens 'subscreens with #ey fields(, because the templatelogic runs once per screen, not per subscreen. -or customer

  • 8/13/2019 Integrating New Table in Material Master

    9/16

    )n default handling for new tables, note that the default for a table 'or table and maintenancestatus( only runs once when you first create data. )t must not overwrite changes made by theuser.

    -or each field you can control whether the field is copied from the template 'T130F-KZREF(. )f

    this control is re!uired for new fields of integrated that are to be inserted, you need to provide

    corresponding control 'see negative list(.

    -or the retail material master, call the function module for default logic for integrated ob&ects in+d) method MATERIAL_REFERENCE_OTHER_DATA_RT .

    "xample% ee the default module for re!uirements groups WRPP_GET_REFERENCEand for

    replenishment control parameters WRPL_GET_REFERENCE*

    )n +d) method MATERIAL_PREPARE_POSTING_ODrelevant chec#s can be made before

    posting, and any default data can be added to 'for example, if the screen was not processedexplicitly and therefore no default data was generated(."xample% WRPP_PREPARE_POSTINGand WRPL_PREPARE_POSTING.

    P"I Mo!ules

    The following modules are standard in the +) logic of a subscreen.

    9;7/:" "T87+T"68/

    7ata procurement of material master data from buffers 'wor# area(

    9;7/:" "T87+T"68/

    3eturn of material master data to buffer 'wor# area(

    -or each screen field there must be a field statement, because otherwise no data transport ta#esplace 'note% the field statements must be after calling GET_DATEN_SUB*You may need to insert

    chec# routines for chec#ing entries at +).

    Passing 'n of $ata )Mass Maintenance* an! +ariance (an!ling

    )n the retail material master 'not in the industry material master( there is mass maintenance inthat data for a material can be maintained simultaneously for several organiational levels 'suchas plants(. +lso, there are generic materials with subordinate variants, whereby data maintainedat the level of the generic material automatically gets passed on to all variants. 7ata from a

    superior level is only passed on to related subordinate levels if the subordinate level is notmaintained differently.

    To record variances, Gvariance pointersG are updated 'table 9+=(. These show whether avariance exists for a template and are written for all types of organiational level 'see table9+=(."xample% sales data for a variant 'distribution chain level( has been maintained differently fromthat of the generic material. + variance pointer is written for the variant and distribution chain. The

  • 8/13/2019 Integrating New Table in Material Master

    10/16

    data is also passed on if there is a variance, but only for the fields that have not been maintaineddifferently.

    Bariances can be displayed using a button 'for a specific screen and therefore organiationallevel(.

    The functionality of mass maintenance must also be supported for new ob&ects in the retailmaster record. To do this, a suitable function module must be created, to which the current #eyfields are transferred, and which then chec#s whether data must be passed on 'for example froma generic material to a variant( and any dependent data in the buffer must be adapted 'thecurrent data can be ta#en from the buffer(. The function module must be called in +d) methodMATERIAL_REFCHANGE_OTHER_DATA .

    WRPP_REFCHANGEand WRPL_REFCHANGE*

    7ata that is newly imported by a change of validity 'that was therefore not in the buffer at the time

    of passing on data( must also be reimported and adapted to any change. "xample% data fromdependent plants are adapted to the data of the template plant. ;nly the plants that have data inthe buffer are adapted, all others are not adapted until posting. )f data is imported for a plant thatwas not in the buffer, the data for this plant must be adapted to the template plant. This logic mustbe run by the corresponding function module for creating the default 'difference betweengenerating a default and passing on data(.

    WRPP_GET_REFERENCEand WRPL_GET_REFERENCE

    )f the level at which new data is maintained belongs to an existing level at which variances arewritten, the new data must be integrated in the logic of the variance pointer. To do this a functionmodule must be implemented that is called in +d) methodMATERIAL_GET_DIFFERENCES_OD_RT and specifies whether there is a variance for the data

    &ust maintained 'buffer(, and if there is, at what level.

    =38"T87)--"3"6C", =3:8"T87)--"3"6C"

    -or displaying variance reasons, you also re!uire a function module that is called in +d) methodMATERIAL_DIFFMAINT_ORGLEVS_OD and returns the fields where there is a variance.

  • 8/13/2019 Integrating New Table in Material Master

    11/16

    WRPP_GET_DIFFMAINT_ORGLEVSand WRPL_GET_DIFFMAINT_ORGLEVS*

    )f the level at which new data is maintained does not belong to an existing level at whichvariances are written, the application must write and display its own variance pointer.

    Posting LogicThree functions are re!uired for posting data%

    + function module for chec#ing whether data has changed in the transaction. This is not

    only executed when posting, but also to decide whether a confirmation prompt is shown'once all the screens have been processed(. The function module is called in +d)method CHANGE_CHECK_OTHER_MAT_DATA.

    "xample% WRPP_CHANGE_CHECK_1.

    + function module for determining in detail which changes to the database must be

    updated 'inserts, updates, deletes(. The function module is called in +d) method

    CHANGE_CHECK_OTHER_MAT_DATA 'in this case, flag P_CHANGE_CHECK_+ , Xisset(."xample% WRPP_CHANGE_CHECK_+*

    -irst, function module SET_IWRPP_TWRPPis called, which sets the logical database

    status ') status( and the actual database status '; status(. 'rere!uisite, so thatCHANGE_CHECKwor#s correctly.(

    + function module for physically updating the data. This function is only called if +d)

    method CHANGE_CHECK_OTHER_MAT_DATAhas registered a change. The function

    module posts the changed data IN UPDATE TASK. The function module is called in

    +d) method MATERIAL_POST_OTHER_DATA.

    "xample% WRPP_START_POSTINGcalls function module WRPP_POST IN UPDATE

    TASK.

    The function modules can read the data re!uired from the buffers of the function group.

    ;nce the functions for updating the database status have run in the retailmaterial master 'for example, SET_IMARA_TMARA(, no more new data can be

    imported to the material master buffer, because the change chec# wouldincorrectly interpret it as to be created. The buffer of the material master must not

    be changed in the chec# module and update module 'when importing new data,the logical database status is not provided and the records are interpreted as tobe created(.

    Customi,ing

    You have the following options for integration in the maintenance user interface of the materialmaster record.

  • 8/13/2019 Integrating New Table in Material Master

    12/16

    ubscreen 'screen module( on an existing main screen, or additional screen

    ;wn main screen

    +dditional screen that can only be selected via the menu Extras

    +dditional screen that can be opened by a pushbutton

    The necessary Customiing settings for integration of new subscreens in the material master aredefined in transaction OMT3.

    )f you want to include new subscreens in an existing main or additional screen, chec# whetherthere is space. You go to the detail display of the screen% if a subscreen with number 0001'dummy( occurs there, this can be replaced with a new subscreen in the relevant function group.)f there is no free subscreen on the screen, you must chec# whether the subscreen container canbe changed 'the subscreen container contains a certain number of placeholders for subscreensto be inserted(. ubscreen containers for industry material masters are in function group MGMM,

    those for the retail material master are in function group MGMW.

    The decision whether to include a new screen as a main or additional screen is made when youcreate a new screen, when you set the screen type. )f it is a main screen, the se!uence of mainscreens can be defined. )f it is an additional screen, you can decide whether the screen is calledby choosing a pushbutton or the Extras menu. The Extras menu should usually only containfunctions that are relevant to all screens. +ll others should be implemented as pushbutton.

    )f the call is from the Extras menu, function code ZUXXis automatically assigned to the additional

    screen. +s for the main screen, the se!uence in which additional screens appear in the menu canbe defined.)f the call is from a pushbutton, the function code must be assigned to the additional screen. Thepushbutton must be accommodated on some new or existing screen in the same function group,li#e a new field. ushbutton function codes must start with and be uni!ue. HI is reserved

    for customer pushbuttons. The name of the pushbutton should include the string /A.

    -or each additional screen, you should create an ;C;7" routing, regardless of whether thescreen is called as an additional screen in the se!uence or by pushbutton. The ;C;7" routinemust be implemented in the same function group. To call the ;C;7" routine, use +d) method"T83;3+98-;38;C;7"83;/T6 to ma#e the name of its own program #nown to flowcontrol for the material master.

    The ;C;7" routine is assigned to the additional screen in ;9T2. -or full integration, the;C;7" routine includes only the chec# whether the integrated data can be maintained 'seebelow(.

    The user can change the standard setting 'additional screen or pushbutton( atany time using ;9T2 'possibly having to define his or her own pushbutton on acustomer

  • 8/13/2019 Integrating New Table in Material Master

    13/16

    or she deletes the subscreens 'with the pushbutton( from the screen se!uence orcreates his or her own subscreens without the pushbuttons.

    The user5s control options mean that you must not program on the function codesof additional screens or pushbuttons.

    "xceptionally, an additional screen can be called from both a pushbutton and themenu 'consumption values, for example(.

    To chec# whether the integrated data can be maintained, a chec# module must be created. Thisis used in several places%

    =ithin the module for field selection, to decide whether to hide the new data

    =hen choosing the pushbutton, to decide whether to hide the pushbutton.

    )f the pushbutton is only visible when a specific material master table is relevant to the

    screen, the name of the pushbutton should begin with the name of the table 'for example,9+3C8J98/A(. The pushbutton is then hidden automatically when the table is notrelevant.

    =hen choosing a menu option, to decide whether the menu option is grayed out. The call

    is in +d) method -8T+T/8"TF"6.

    )n the ;C;7" routine of the additional screen

    Partial Integration

    =ith partial integration, you can only maintain a new table in its own secondary screen. You canopen the secondary screen from the Extrasmenu, or by choosing a pushbutton.

    /nli#e complete integration, these secondary screens are not assigned to the subscreens using;9T2. The screen that appears when the secondary screen is called is a fixed screen whosedisplay cannot be influenced by the user. The screen has its own /) status, which is different tothe /) status of the material master screens. +ccordingly, you cannot go directly to otherscreens of the material master from this screen.

    The implementation of these secondary screens is, technically spea#ing, fully encapsulated. Thescreen is called by the ;C;7" routine that is assigned to the screen.

    Creating a Frame-or partial integration, as for complete integration, the screens re!uired and the functionsbelonging to them are developed in a separate function group. Aowever, there are no specialre!uirements for this function group, unli#e complete integration.

    Screen Logic

  • 8/13/2019 Integrating New Table in Material Master

    14/16

    =e recommend that you #eep as close as possible to the procedure and functionality of thematerial master, in spite of the encapsulation involved in partial integration.

    These are the salient points for screen logic, in brief%

    You can use your own routines for retrieving and buffering data. Aowever, do #eep to the

    points in the concept described above, such as reading data once only from thedatabase, and after that from buffers.

    )f accesses to material master tables are re!uired, use the function modules of the

    material master 'see function groups in pac#age 9+ or 9=, such as 9@1 foraccessing table 9+3+(. )f data is to be displayed, you will need to ta#e account of therelevant authoriations.

    )t is also a good idea to use your own function modules to chec# data.

    There are no re!uirements for function codes of secondary screens.

    The application determines whether a field selection is re!uired.

    The application also determines whether reference handling is re!uired.

    The application must also determine whether passing on of data 'mass maintenance(

    and therefore variance handling is re!uired.

    Posting Logic

    The same principle apply to posting logic as for complete integration. You only need your ownfunction module for posting if posting is not started by Gperform on commitG. Aowever, we

    recommend in this case that you find the change by using your own function module'CHANGE_CHECK(.

    Customi,ing

    The above applies to ;9T2 settings, too. Aowever, with partial integration, you can onlyimplement an integration as its own secondary screen.

    $ata Transfer - $ata $istribution

    The transfer and distribution of the new material data uses +:" and the relevant )7ocs 'as of 3>24.0+, using +)s(. The )7ocs re!uired, and the functions for creating, posting, and manualsending of )7ocs, must be created by the application. The application also has to deal with the

    +:" Customiing settings re!uired 'change pointers and so on(.

    The serialiation of message types by +:" ensures posting in the correct se!uence in the targetsystem 'first the material, then dependent ob&ects(. You need to define Customiing settings forthis.

  • 8/13/2019 Integrating New Table in Material Master

    15/16

    -or manual sending of material data, you need a function module to which a list of materials canbe transferred. This function module must then created the relevant )7ocs. This function modulemust be integrated in +d) method MG_IDOC_CREATE_FULL_MAT 'for industry( or

    MG_IDOC_CREATE_FULL_ART'for 3etail(, and is called when you want to send a complete

    material.

    eorgani,ation - $iscontinuation an! "rchi.ing#an! $eletion Flags

    The reorganiation or discontinuation of integrated data uses the relevant function modules in thereorganiation programs of the material master. -or this, you need the following function modulesfor the tables you want to integrate%

    + chec# module for chec#ing whether the relevant data still exists for the material, and>or

    whether this data can be reorganied 'you may want to chec# for deletion flags(. Thisfunction module is called by material reorganiation 'industry( or discontinuation 'retail(.The material can only be reorganied if no more dependent data exists for the material.This module is optional, and is only re!uired if you need a chec# of this sort for theob&ect.

    + module for archiving the integrated data.

    + module for physically deleting the data.

    You can use methods of +d) +7)89989+T63 for this.-or more information, see thedocumentation on the +d).

    )f you need your own deletion flags at integrated data level, you need to provide a function forsetting deletion flags. 7eletion flags at material level are passed on to dependent ob&ects. )f youneed your own deletion flags, you must ensure that either the new ob&ect is integrated in this logicof passing on deletion flags, or the chec# for deletion flags for the integrated ob&ect !ueries thedeletion flags that are above it in the hierarchy.

    /sually, the deletion flags for the material are sufficient.

    /riting an! $ispla0ing Change $ocuments

    -or documenting changes to data, change documents are updated every time individual fields ina table are changed. To do this, a change document ob&ect must be created for the table. Thecreation of change documents is performed by the application

  • 8/13/2019 Integrating New Table in Material Master

    16/16