Mandatory field on Service Call

Hi Expert,
I would like to make certain fields mandatory on a Service Call. (When Status Closed, a UDF I have added must be populated, if not block the user)
Will I be able to use transaction notifications? If this is the case, would you perhaps have some sample code that will guide me in the process?
Thanks in advance,
Adriaan

Hi Adriaan,
Use the Validate Item event of the Form_Data_Add and Form_Data_Update event's check mandatory fields.
Regards,
Vítor Vieira

Similar Messages

  • Supress Mandatory field for Service Entry Sheet Creation

    Hi,
    I am using BDC for Service Entry Sheet creation as BAPI cannot fulfill the Business needs.
    During Recording when I click on Service Overview and click on Service Selection we provide the Model Service Specification Number there I can see the Services and select it, but when I select the service and adopt, an error message ocuured to enter the quantity.
    Is there any way to supress the standard error message without using acess Key.
    BR
    Aviram

    Hi Aviram,
    Messages type 'E' , 'I' or 'W' are controlled through configurations. Please check with your functional consultant with the message number you want to supress. It can be made as 'I' or 'W' through configuration.
    Similarly if you do not want that particular field as mandatory field ask functional consultant to make it optional.
    Regards
    Sachin
    Edited by: sachin G patil on Mar 9, 2011 3:13 PM
    Edited by: sachin G patil on Mar 9, 2011 3:20 PM

  • Mandatory field in Service Entry Sheet

    All,
    While doing Service Entry sheet without service Master , it is saying Service Number is a mandatory field , How to remove this from Mandatory to Optional ?
    Kindly advise.
    regards

    Hi,
    In service entry sheet,service number is not required.But it required when u didn't assign Account assignment catoagory.
    So u try to assign Account assignment category,then system doesn't ask u the service number.
    Thnaks & Regards
    Suresh
    > All,
    >
    > While doing Service Entry sheet without service
    > Master , it is saying Service Number is a mandatory
    > field , How to remove this from Mandatory to Optional
    > ?
    > Kindly advise.
    >
    > regards

  • Service Call Window - FMS for technician field

    Hi all, I would like to add a FMS search to show a list of all employees in the technician field. However, my query does not appear to be working. Please advise. Thanks! Jane
    select t0.lastname, t0.firstname, t0.empid
    from ohem t0

    Hi,
    Use below query
    SELECT T0.[empID], T0.[lastName], T0.[firstName] FROM OHEM T0
    Save the query in query manager.
    Press Shift + F2 key on technician field in service call window.
    Select search based on Saved query select the  above saved query.
    This will show all employees list in technician field.
    Thanks,
    Neetu

  • Default technician on service call

    Is there anyway to default the customer assigned technician to a service call.
    A technician is assigned to a business partner in the business partrner master. He must be assigned a role of technician.
    When you create an ecard for that customer, the techician is assigned from the BP master.  That is good. 
    However, when you create a service call for this customer, the technician does not default to the customer assigned technician.
    I hope I am missing something obvious.
    Thanks, David

    Hi David,
    Unfortunately, you didn't miss anything, that's how standard B1 work.
    You could use this formatted-search
    SELECT lastName+', '+firstName FROM OHEM
    INNER JOIN OINS ON OHEM.empID=OINS.technician
    WHERE internalSN=$[OSCL.internalSN.0]
    AND itemCode=$[OSCL.itemCode.0]
    Assign this formatted search in Technician field in Service Call document. Hope this help.
    Best Regards,
    Hendry Wijaya

  • No & Call ID field difference in service call

    Hi all,
    Just wonder what is the difference of "No" & "Call ID" field in the service call?
    It seem that "Call ID" will count +1 whenever user open a service call even without create it.
    So what is the purpose of "Call ID"?
    Thanks

    Hi,
    Please refer SAP note:
    1129900 - How the Call ID field is managed in Service Call
    Thanks & Regards,
    Nagarajan

  • Value for mandatory field is missing

    Hello again,
    I created an application how descripted in 95 Implementing Remote Persistency with CAF and RFCs (Service).
    The problem occurred when I try to search for an entry. I get the following error:
    german: "ERROR. Wert für Pflichtattribut ... fehlt:"
    english: "Value for mandatory field ... is missing"
    The option mandatory=true seems to be the problem. But I need this option to make these fields available for the mapping with the create method. After I while of tinkling I find out that the errormessage appears when I set more than to fields to mandatory.
    Do anybody know how to resolve this error?
    Thanks!

    Hi Martin,
    I reported this issue to development and they said that this is "by design".  Here is the recommendation.
    1.  set the "Mandatory" flag to false for each attribute that is not required by your external interface.
    2.  perform mappings for only the mandatory attributes in the create method.
    3.  perform mappings for mandatory and optional attributes in the update method.  The update method allows you to map optional attributes.
    4.  At runtime, first call the create method with only the required attributes, then call the update method to fill any optional attributes. 
    This should eliminate the error that you get in the Service Browser.
    Best Regards,
    Austin.

  • Seeburger BIC mapping error(on changing mandatory fields)

    Hi Experts,
    I am working on IDOC to EDIFACT file scenario with seeburger.
    Earlier my end to end scenario was working fine. I got a requirement to change all the mandatory fields of segment NAD into non mandatory field. To acheive this i changed my Seeburger BIC mapping and target XSD in PI. After this process i create .sca file and ask basis to upload it.
    But after deployment i am getting error in communication channel where i am using BIC mapping. The error is message is quite big, still i am attaching a part of it. Please help
    Message processing failed. Cause: Error in BICMODULE-module:Temporary error: BIC XI Adapter call failed. Reason: 2 errors occured. First error: BICMapping: runMapping() FATAL ERROR: java.lang.OutOfMemoryError: Java heap space (failed to allocate 16777240 bytes) Stacktrace: java.lang.OutOfMemoryError: Java heap space (failed to allocate 16777240 bytes) at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:95) at java.io.BufferedOutputStream.write(BufferedOutputStream.java:105) at sun.nio.cs.StreamEncoder$CharsetSE.writeBytes(StreamEncoder.java:336) at sun.nio.cs.StreamEncoder$CharsetSE.implWrite(StreamEncoder.java:395) at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:136) at java.io.OutputStreamWriter.write(OutputStreamWriter.java:191) at java.io.BufferedWriter.flushBuffer(BufferedWriter.java:111) at java.io.BufferedWriter.write(BufferedWriter.java:212) at java.io.Writer.write(Writer.java:126) at com.seeburger.jucon.dochandler.util.GrammarFileWriter.write(GrammarFileWriter.java:262) at com.seeburger.jucon.dochandler.EdiSegmentData.write(EdiSegmentData.java:234) at com.seeburger.jucon.dochandler.Segment.write(Segment.java:645) at com.seeburger.jucon.dochandler.EdiSegmentData.write(EdiSegmentData.java:390) at com.seeburger.jucon.dochandler.Segment.write(Segment.java:645) at com.seeburger.jucon.dochandler.EdiDocWriter.write(EdiDocWriter.java:367) at com.seeburger.jucon.dochandler.InhouseDocWriter.flush(InhouseDocWriter.java:884) at com.seeburger.jucon.mapping.Mapping.run(Mapping.java:2429) at com.seeburger.jucon.seebicapi.BICMapping.runMapping(BICMapping.java:1724) at com.seeburger.jucon.seebicapi.BICMapping.run(BICMapping.java:2518) at com.seeburger.jucon.seebicapi.BICMapping.startSyncMapping(BICMapping.java:1415) at com.seeburger.bicxiadapter.CCIInteraction.convert(CCIInteraction.java:1201) at com.seeburger.bicxiadapter.CCIInteraction.convertCalledFromModule(CCIInteraction.java:911) at com.seeburger.bicxiadapter.CCIInteraction.execute(CCIInteraction.java:313) at com.seeburger.xi.api.cci.impl.nw71.SeeXIInteractionProxy71.execute(SeeXIInteractionProxy71.java:86) at com.seeburger.bicxiadapter.module.CallBicXIRaBean.process(CallBicXIRaBean.java:384) at com.seeburger.xi.api.module.impl.nw71.SeeModuleAdapter71.process(SeeModuleAdapter71.java:78) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal
    java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:169) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:266) DESCRIPTION: BICMapping: FATAL ERROR: Internal Fault. Class could not be load or instatiated. Check Installation, access rights. Last error: java.lang.OutOfMemoryError: Java heap space (failed to allocate 16777240 bytes)
    Regards,
    Shradha

    Hi,
    Even I faced a Similar problem...
    1) make sure that the size of the data that is coming to BIC map is not larger than the size defined in the Source field (Check In BIC and SAP XI/PI map.
    2) Make sure id any other seeburger mapping are working fine , This is because you have to deploy the file in form of Active mapping.sca in SAP XI/PI after the changes are made on BIC side.
    3) Check the Adapter Engine Cache ...
    Hope this helps..
    Regards,
    Sainath Chutke

  • Dynamic - Web Service Call

    Hi All
    I am working on 12.2.3 build 165. I am trying to call web service dynamically providing url at the run time..
    I tried using wizard way- giving url, then selecting operation and it works fine. But is it possible to give url as input at run time... I have tried giving no. of inputs at run time but none worked. Pls guide in detail if this is possible.
    thanking you all , taranum

    Hello Nagaraju,
    I need to create a dynamic Webservice call for my application.
    As you mentioned on above I passed the following with link editor in Web service call,
    1. WSDL Base URL
    2. WSDL URL
    3. Opertaion
    but its showing the following error
    com.sap.lhcommon.webservice.SoapOperation.getInputMessage() of an object loaded from local variable 'oper'
    Am i missing any mandatory field value to pass to Webservice call ?
    how can I pass XML input at run time to the request object in this scenario ?
    Here I'm using this as a common transaction, so multiple transaction can use it to post to Web sphere.
    Looking forward for your assistance.
    I need to pass wsdl's dynamically, So can I pass Input XML to request object in linke editor ?
    on of the WSDL structure:
    Regards,
    Srisailam Yadav

  • Linking activities to service call with DTW

    We would like to be able to create activities and link them to service calls using a DTW import.  Is this even possible?
    Thanks in advance,
    Jon

    Ah OK.
    Use the column 'RecordKey' as the index when creating a Service Call.  Here is an example:
    RecordKey;ContactCode;ContractID;CustomerCode;CallType;Subject;Description;Origin;BelongsToAQueue;Queue
    RecordKey;ContactCode;ContractID;CustomerCode;CallType;Subject;Description;Origin;BelongsToAQueue;Queue
    1;123456;123456;C12345;0;New call request;Call Description;8;Y;Queue1;
    2;123456;123456;C12345;0;New call request;Call Description;8;Y;Queue2;
    3;123456;123456;C12345;0;New call request;Call Description;8;Y;Queue2;
    You will have to use valid codes (that already exist in the system) for ContactCode, ContractID, CustomerCode, CallType, and Origin, and also a valid Queue.  Some of these fields are mandatory, but I can't remember which.  Add extra fields if you need them.
    This should create 3 new calls in the system and generate the CallID automatically.

  • Add service call via DIServer

    Hi, I try to use this simple xml:
    <?xml version="1.0" encoding="UTF-16"?>
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
    <env:Header>
      <SessionID>8D4BEA36-89A8-41C5-9481-DB696296B72E</SessionID>
    </env:Header><env:Body>
    <dis:AddObject xmlns:dis="http://www.sap.com/SBO/DIS">
    <BOM><BO>
    <AdmInfo><Object>oServiceCalls</Object></AdmInfo>
    <Documents>
    <row>
    <customer>C42000</customer>
    </row>
    </Documents></BO></BOM></dis:AddObject></env:Body></env:Envelope>
    and get:
    Customer is not specified in service call [OSCL.customer]
    Whats wrong?  I tried to add custmrName, contctCode - nothing changed.

    Hi Vladimirov ,
    For the serviceCalls object, you need to use the property CustomerCode to set the customer for the service call:
    <?xml version="1.0" encoding="UTF-16"?>
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
    <env:Header>
    <SessionID>8D4BEA36-89A8-41C5-9481-DB696296B72E</SessionID>
    </env:Header><env:Body>
    <dis:AddObject xmlns:dis="http://www.sap.com/SBO/DIS">
    <BOM><BO>
    <AdmInfo><Object>oServiceCalls</Object></AdmInfo>
    <Documents>
    <row>
    <CustomerCode>C42000</CustomerCode>
    </row>
    </Documents></BO></BOM></dis:AddObject></env:Body></env:Envelope>
    Please note "Subject" is also listed as a mandatory field. For more information please search for the object "ServiceCalls" in the SDK help centre.
    Hope this resolves the issue for you.
    Regards,
    Niall
    SAP Business One Forums

  • What are the Mandatory Fields in Transaction ME51

    Hello Seniors,
    I have a requirement about purchase order creation. In this process, I am using the BAPI named   " BAPI_PO_CREATE1 ". I have passed all the fields but when I debug and look into the internal tables, I couldn't find certain records. I even debugged " bapiret2"  and I see an error which reads "" All mandatory fields are missing"". I have even created a PO  in ME51 and found out the mandatory fields but in vain. BAPIRET2 still says, there are some more mandatory fields missing. I need to know what are all the mandatory fields to create a Purchase order using TCODE - ME51.
    Your reply is most awaited and rewarded.
    Thanks and Regards,
    MARKIV

    hi ,
    Functionality
    Function module BAPI_PO_CREATE1 enables you to create purchase orders. The BAPI uses the technology behind the Enjoy purchase order transaction ( ME21N).
    Alternatively, the IDoc type PORDCR1 is available. The data from this IDoc automatically populates the interface parameters of the function module BAPI_PO_CREATE1.
    Functionality in Detail
    Authorization
    The following authorization objects are checked when an Enjoy purchase order is created (activity 01):
    M_BEST_BSA (document type in PO)
    M_BEST_EKG (purchasing group in PO)
    M_BEST_EKO (purchasing organization in PO)
    M_BEST_WRK (plant in PO)
    Controlling adoption of field values via X bar
    For most tables, you can determine via your own parameters in the associated X bar in each case (e.g. PoItemX) whether fields are to be set initial, values inserted via the interface, or default values adopted (e.g. from Customizing or master records) (for example, it is not mandatory to adopt the material group from an underlying purchase requisition - you can change it with the BAPI).
    Transfer
    Header data
    The header data of the Enjoy purchase order is transferred in the table PoHeader.
    Item data
    The item data of the Enjoy purchase order is stored in the table PoItem (general item data). The delivery schedule lines are stored in the table PoSchedule.
    Use the table PoAccount to specify the account assignment information. If account assignments have been specified for services and limits, you show the relevant account assignment line in PoAccount in the table PoSrvAccessValues via the package number of the service or the limit.
    Services and limits
    Services, free limits and limits with contract reference can be specified in the tables PoServices, PoLimits, and PoContractLimits.
    Conditions
    Conditions are transferred in the table PoCond; header conditions in the table PoCondHeader. Price determination is reinitiated via the parameter CALCTYPE in the table PoItem.
    Vendor and delivery address
    The vendor's address can be specified individually in the table PoAddrVendor; the delivery address in the table PoAddrDelivery. If you do not make any individual specification, the fields will be populated via the central address managementfacility.
    Note
    In this method, the following restrictions apply with regard to addresses:
    Addresses can only be created with this method - they cannot be changed. You can only change address data with the method BAPI_ADDRESSORG_CHANGE.
    When you create addresses, they are not checked by the method. An Enjoy purchase order may therefore contain faulty address data.
    Partner roles
    The partners can be maintained individually via the table PoPartner (with the exception of the partner role "vendor").
    Import/export data
    Import/Export data can be specified per item in the table PoExpImpItem. Foreign trade data can only be transferred as default data for new items.
    Texts
    Header and item texts can be transferred in the tables PoTextHeader and PoTextItem. Texts for services are imported in the table PoServicesText.
    Version Management
    You can make use of the Version Management facility via the table AllVersions.
    Return
    The PO number is returned in the parameter ExpPurchaseOrder. In addition, all information except the service and export/import tables is placed in the output structures.
    Return messages
    Messages are returned in the parameter Return. This also contains information as to whether interface data has been wrongly or probably wrongly (heuristical interface check) populated. If a PO has been successfully created, the PO number is also placed in the return table with the appropriate message.
    Example
    Example of population of BAPI interface in the Function Builder
    Parameter: POHEADER
    COMP_CODE = 1000
    DOC_TYPE = NB
    ITEM_INTVL = 00001
    VENDOR = 0000001000
    PMNTTRMS = 0001
    PURCH_ORG = 1000
    PUR_GROUP = 001
    CURRENCY = EUR
    Parameter: POHEADERX
    COMP_CODE = X
    DOC_TYPE = X
    ITEM_INTVL = X
    VENDOR = X
    PMNTTRMS = X
    PURCH_ORG = X
    PUR_GROUP = X
    Parameter: POITEM
    PO_ITEM = 00001
    MATERIAL = 100-100
    PLANT = 1000
    STGE_LOC = 0001
    QUANTITY = 15.000
    TAX_CODE = V0
    ITEM_CAT = 0
    ACCTASSCAT = K
    Parameter: POITEMX
    PO_ITEM = 00001
    MATERIAL = X
    PLANT = X
    STGE_LOC = X
    QUANTITY = X
    TAX_CODE = X
    ITEM_CAT = X
    ACCTASSCAT = X
    Parameter: POSCHEDULE
    PO_ITEM = 00001
    SCHED_LINE = 0001
    DELIVERY_DATE = 02.12.2002
    QUANTITY = 6.000
    PO_ITEM = 00001
    SCHED_LINE = 0002
    DELIVERY_DATE = 03.12.2002
    QUANTITY = 5.000
    PO_ITEM = 00001
    SCHED_LINE = 0003
    DELIVERY_DATE = 04.12.2002
    QUANTITY = 4.000
    Parameter: POSCHEDULEX
    PO_ITEM = 00001
    SCHED_LINE = 0001
    PO_ITEMX = X
    SCHED_LINEX = X
    DELIVERY_DATE = X
    QUANTITY = X
    PO_ITEM = 00001
    SCHED_LINE = 0002
    PO_ITEMX = X
    SCHED_LINEX = X
    DELIVERY_DATE = X
    QUANTITY = X
    PO_ITEM = 00001
    SCHED_LINE = 0003
    PO_ITEMX = X
    SCHED_LINEX = X
    DELIVERY_DATE = X
    QUANTITY = X
    Parameter: POACCOUNT
    PO_ITEM = 00001
    SERIAL_NO = 01
    QUANTITY = 15.000
    GL_ACCOUNT = 0000400000
    COSTCENTER = 0000001000
    CO_AREA = 1000
    Parameter: POACCOUNTX
    PO_ITEM = 00001
    SERIAL_NO = 01
    QUANTITY = X
    GL_ACCOUNT = X
    COSTCENTER = X
    CO_AREA = X
    Parameter: POCOND
    ITM_NUMBER = 000001
    COND_ST_NO = 001
    COND_TYPE = PB00
    COND_VALUE = 79.900000000
    CURRENCY = EUR
    CURRENCY_ISO = EUR
    COND_UNIT = KG
    COND_P_UNT = 1
    CHANGE_ID = U
    Parameter: POCONDX
    ITM_NUMBER =  000001
    COND_ST_NO =  000
    ITM_NUMBERX =  X
    COND_TYPE =  X
    COND_VALUE =  X
    CURRENCY =  X
    CHANGE_ID =  X
    Parameter: POPARTNER
    PARTNERDESC =  OA
    LANGU =  EN
    BUSPARTNO =  0000001100
    PARTNERDESC =  GS
    LANGU =  EN
    BUSPARTNO =  0000001200
    PARTNERDESC =  PI
    LANGU =  EN
    BUSPARTNO =  0000001000
    Help in the Case of Problems
    1. Note 197958 lists answers to frequently asked questions (FAQs). (Note 499626 contains answers to FAQs relating to External Services Management.)
    2. If you have detected an error in the function of a BAPI, kindly create a reproducible example in the test data directory in the Function Builder (transaction code SE37). Note 375886 tells you how to do this.
    3. If the problem persists, please create a Customer Problem Message for the componente MM-PUR-PO-BAPI, and document the reproducible example where necessary.
    Customer Enhancements
    The following user exits (function modules) are available for the BAPI BAPI_PO_CREATE1:
    EXIT_SAPL2012_001 (at start of BAPI)
    EXIT_SAPL2012_003 (at end of BAPI)
    The following user exits (function modules) are available for the BAPI BAPI BAPI_PO_CHANGE:
    EXIT_SAPL2012_002 (at start of BAPI)
    EXIT_SAPL2012_004 (at end of BAPI)
    These exits belong to the enhancement SAPL2012 (see also transaction codes SMOD and CMOD).
    There is also the option of populating customer-specific fields for header, item, or account assignment data via the parameter EXTENSIONIN.
    Further information
    1. Note 197958 contains up-to-date information on the purchase order BAPIs.
    2. If you test the BAPIs BAPI_PO_CREATE1 or BAPI_PO_CHANGE in the Function Builder (transaction code SE37), no database updates will be carried out. If you need this function, please take a look at Note 420646.
    3. The BAPI BAPI_PO_GETDETAIL serves to read the details of a purchase order. The BAPI cannot read all details (e.g. conditions). However, you can use the BAPI BAPI_PO_CHANGE for this purpose if only the document number is populated and the initiator has change authorizations for purchase orders.
    4. Frequently used BAPIs for purchase orders are BAPI_PO_CREATE, BAPI_PO_CREATE1, BAPI_PO_CHANGE, BAPI_PO_GETDETAIL, BAPI_PO_GETITEMS, BAPI_PO_GETITEMSREL, and BAPI_PO_GETRELINFO.
    5. For more information on purchase orders, refer to the SAP library (under MM Purchasing -> Purchase Orders) or the Help for the Enjoy Purchase Order, or choose the path Tools -> ABAP Workbench -> Overview -> BAPI Explorer from the SAP menu.
    regards
    reena

  • Error creating service call from wizard

    Hello,
    I am trying to import a static method on a ABAP class using the create service call wizard. It fails in program SAPLWDY_WB_MODEL_WIZARD with an out of bounds error :
    In the running program "SAPLWDY_WB_MODEL_WIZARD", part of a string was about to be accessed with an explicitly specified length.
    However, this length (2) exceeded the current length of the string (1).
    This kind of access is illegal.
    Termination occurred in the ABAP program "SAPLWDY_WB_MODEL_WIZARD" - in "GET_EXTENDED_RELATIVE_NAME".
    The main program was "SAPMSEU0 ".
    >>>>>
    split l_absolute_name at 'TYPE=' into str1 str2.
       if str2(2) = '%_'.           
    <<<<<
    The error occurs when the type is I, and so the string containing the type length is 1.
    I have not had this problem before even though I have imported methods containing the same type in parameters. I understand that nothing has changed on our system.
    Kind regards
    Steve

    hi
    go to service call wizard. Select the radio button "use existent controller. iN the controller field, select componentcontroller
    In the next step select function module>give the bapi name>Now you have table containing node type, name and object type. Under object type column, make all of them of type C ( context node/attribute ) and complete the wizard.
    In your component controller, you will find the nodes as per importing/exporting parameters of BAPi
    Regards
    Vishal Kapoor

  • Mandatory fields for delivery, GI BAPIs

    Hi Folks,
    scenario, i have an STO number for which i have to create an outbound delivery(like its done in VL10B). now that i have a delivery number, next i have to change the quantity of this delivery and post goods issue. after GI i need to post a GR. data is comming in from a non sap system.
    bapis are -
    BAPI_DELIVERYPROCESSING_EXEC
    to create an outbound delivery
    BAPI_OUTB_DELIVERY_CHANGE
    to change the outbound delivery and then post GI
    BAPI_GOODSMVT_CREATE
    to creat GR
    can anyone who has worked with the following bapis tell me what the mandatory fields are in each bapi. i am unable to post them. i would appreciate your help and thanks in advance.

    Sample Code for BAPI_GOODSMVT_CREATE
    Populate header data
    Posting date
        x_goodsmvt_hdr-pstng_date = <deldate>.
    Document date
        x_goodsmvt_hdr-doc_date   = <doc_date>.
    User Name
        x_goodsmvt_hdr-pr_uname   = <ernam>.
    User Name
        x_goodsmvt_hdr-ref_doc_no = <PO/Delivery No).
    Bill of lading
          x_goodsmvt_hdr-bill_of_lading =<BOL>.
    Populate item data
    Purchase order number
        i_goodsmvt_item-po_number = ebeln.
    Line item number
        i_goodsmvt_item-po_item   = ebelp.
    Plant
        i_goodsmvt_item-plant     = werks.
    Movement type
        i_goodsmvt_item-move_type =movtype.
    Movement indicator
        i_goodsmvt_item-mvt_ind   = mvt_ind.
    GR quantity
        if p_movtype = c_101.
          i_goodsmvt_item-entry_qnt = menge.
       else.
         i_goodsmvt_item-entry_qnt = menge * -1.
        endif.
    GR UOM
        i_goodsmvt_item-entry_uom = meins.
    Storage location
        i_goodsmvt_item-stge_loc = lgort.
    Production date
        i_goodsmvt_item-prod_date = doc_date.
    Delivery completion indicator
        i_goodsmvt_item-no_more_gr = c_x.
    Movement Reason
        if p_movtype = c_122.
          i_goodsmvt_item-move_reas = c_12.
        endif.
      endloop.
    For each PO create a GR document
      if not i_goodsmvt_item[] is initial.
        call function 'TRANSACTION_BEGIN'
             importing
                  transaction_id = l_trans_id.
        call function 'BAPI_GOODSMVT_CREATE'
             exporting
                  goodsmvt_header  = x_goodsmvt_hdr
                  goodsmvt_code    = x_mvt_code
             importing
                  materialdocument = l_mat_doc
                  matdocumentyear  = l_mat_doc_year
             tables
                  goodsmvt_item    = i_goodsmvt_item
                  return           = i_bapireturn.
    endif.

  • Mandatory fields error messages in HCM forms and processes

    Hi,
    This may sound to be a very simple problem but I am unable to get to the root of the issue and thus need an expert advise here.
    I have created several forms in the system out of which one is an OM form using SAP_PD service for create position. There are few mandatory fields in the form scenario such as
    TITLE
    ABBREVIATION
    EMPLOYEE GROUP
    EMPLOYEE SUBGROUP
    As expected, system issues an error message if these field are left out blank but the error message is generic for all the fields and is missing the field name.
    Actual Error Message
    Complete the required entry field ""
    Expected Error Message
    Complete the required entry field "Employee Group"
    Complete the required entry field "Employee Subgroup"
    However, there are couple of fields in the form scenario which issues a correct error message
    Complete the required entry field "Object abbreviator" (P1000-SHORT)
    I am unable to identify the difference between the couple of fields that issues a correct message and rest 20 other fields which doesn't.
    Regards,
    Murtuza Kharodawala

    No, if I enter all the mandatory fields on the form then there is no problem. It allows me to move ahead and submit the form successfully.
    As recommended by Siddharth, I tried debugging the message class and what I observed was it passes the complete_fieldname value as Personnel Subarea (I1008_BTRTL) and system expects it to be I1008-BTRTL.
    SAP as a fallback tries to read description from the table T5ASRFSCNFLDT but it has a_form_scenario as blank and complete_fieldname has a concatenated value "Personnel Subarea (I1008_BTRTL)" instead of "I1008-BTRTL".
    Not sure what am I missing which causes it to have this wrong error message.
    Regards,
    MK

Maybe you are looking for