Reg: BDC & Exits

Hello All,
        For the TCode ME31L we are using some User Exits for populating some of the Import screens data.
Now I'm creating a BDC Program for the same TCode ME31L.
My QN is : Whether the User exits will be triggered  in my BDC or not ?
If not What shud I do to make them trigger ?
Regards,
Deepu.K

hello Deepu.
sure it will be trigger.
when u doing BDC u need save the some of the screen.when u save the screen or doing entry it must trigger the exit( if the exit is there).
to see the just keep a break-point in the exits then u can view the process.
try it will happen ...
Deepu nice task plz let know it is happening or not .

Similar Messages

  • Reg:User-Exit In Sales Order to Invoice

    Hi All,
    I have An requirement that to create automatic sales order and invoice  in one go, i have used BAPI_SALESORDER_CREATEFROMDAT2 to create sales order and bdc invoice to create invoice its worked fine.
    My problem is now i got an requirement as after creating sales order it should not create invoice as such because they will manually check whether the sales order is correct then only i should proceed to invoice also they need the option to create,change,delete sales order and same too invoice how can i acheive this scenario through user exits?
    Since am new to user exit can any one tell me how to use user exits and what user exits need like this scenario?

    Hi Suresh,
    For sales order following user exits can be used. These are available in include MV45AFZZ.
    USEREXIT_DELETE_DOCUMENT : At the time of deletion of sales order
    USEREXIT_SAVE_DOCUMENT : At the time of updations or creation of sales order.
    Following are the user exits available in smod.
    SDVFX007  User exit: Billing plan during transfer to Accounting
    SDVFX008  User exit: Processing of transfer structures SD-FI
    SDVFX009  Billing doc. processing KIDONO (payment reference numbe
    SDVFX010  User exit item table for the customer lines
    SDVFX011  Userexit for the komkcv- and kompcv-structures
    V05I0001  User exits for billing index
    V05N0001  User Exits for Printing Billing Docs. using POR Procedu
    V60A0001  Customer functions in the billing document
    V60P0001  Data provision for additional fields for display in lis
    V61A0001  Customer enhancement: Pricing
    Please check this exits which will help you for your requirement.
    Thanks,
    Naveen Kumar.

  • BDC & exit from tranction

    Hi,
    I am using BDC to start transaction MM01. I am only using BDC to skip the first initial screens, in which you need to enter the material number & type, views and plant/storage location data, etc. Then the user must fill the rest of the data manually.
    Now the problem is that if I want to exit the transaction (without filling the data), it is not possible. Only the green "back" button is enabled, and I cannot use that to exit the transaction, since there are mandatory fields missing, and I am getting errors due to the missing mandatory fields.
    If I launch the transaction directly, also the yellow exit button is available, and I can exit the transaction without filling the mandatory fields.
    Is there any  trick to avoid this problem? Or should I just forget the whole BDC thing?
    Regards,
    Pa

    Hi,
    Check the values exits in these fields material number & type, views and plant/storage location data, etc before calling the MM01 tcode. Depending on the value exists in these fields call the Tcode this way..
    IF material number & type, views and plant/storage location data, etc  is not initial.
    CALL TRANSACTION 'MM01' skip the first initial screens.
    ELSE.
    CALL TRANSACTION 'MM01' .
    ENDIF.

  • Reg. Exit/BADI for changing item data of PO in ME22N

    Hi all,
    My requirement is to update the field LABNR (Order Ack.) of few specific line items of a PO, in the Transaction ME22N, using Exit/BADI.
    I have tried the BADI  ME_PROCESS_PO_CUST. But the PROCESS_ITEM method of this BADI processes only the line item which has been changed/inserted in ME22N transaction. But my requirement is to update line items irrespective of whether that line item was "changed/not changed" during the process in ME22N screen.
    Could you please suggest me some suitable Exit/BADI for this requirement.
    Regards,
    Anbarasan K

    Thanks Martin.
    Problem solved by implementing the method Process_Header.
    1. Get the items from Header                              -  im_header->get_items
    2. Loop the item list and get the line item record   - re_item-item->get_data
    3. <- Logic to Update the line item - >.
    4. Update the line item                                       - re_item-item->set_data
    Thank you very much.. Martin.
    Regards,
    Anbarasan K

  • Reg : BDC issue while updating infotype 40 inside BADI class method

    Hi Friends,
         Actually in my badi class, there is a method where i need to save the infotype fields including comment fields.. So with BDC recording i recorded screen fields and passing the pernr internal table values to recorded pernr values.. by doing this im getting error and so BDC is not upadting the data.. moreover if i pass directly pernr number within single quotes, BDC is working fine and data is getting updated..
    bdc_field        'RP50G-PERNR'   pernr.  --> Error Message while calling transaction through BDC
    bdc_field        'RP50G-PERNR'   '00001234'  ---> updating successfully..
    1. Tell me whether the issue is with BADI or wat ? means we cant able to use BDC inside badi ?
    2. I also tried changing my internal table value of pernr to type 'C' of length 8.. eventhough its showing error..
    Please tell me what i need to do .... ?

    Hi  Dilek Ersoz Adak ,
      I also tried with that, but getting same error..  Below is my error im getting while updating BDC through call transaction,
    1     PA30     SAPMP50A     1000     E     K     PBAS_SERVICE     001     HRADMIN     EPPRELE 00000121     HRAdministrator          CTU     RP50G-PERNR
              Person is treated already by the HR Administrator

  • REG:USER EXIT FOR DATA SOURCE 0HR_LSO_1

    Hi ,
    I have to write the enhancement ABAP code for data source 0HR_LSO_1 which is related to module " training and event management "(also known as LMS or LSO) in ECC 6.0 .
    So how can I find out appropriate user exit for the same .I have to concentrate on the field "kostl (cost centre)" in that data source .
    Please provide some suggestions .
    Thanking You ,
    Tarun Brijwani .

    Hi Tarun...
      I this might help you.
      In the HR System:
    1) T-CODE: CMOD
    2) Choose an existing project (vg: Z12345)
    3) Modify
    4) Press Components button
    5) Look for the enhance: RSAP0001  (the BW extracting enhancement)
    6) The you have one of the following option:
    a- If the Data Source is "transaction data": The exit is "EXIT_SAPLRSAP_001"
    b- If the Data Source is "master data": The exit is "EXIT_SAPLRSAP_002"
    7) double-click in the appropriate one
    8) You'll see an INCLUDE sentence. Could be this ZXRSAU01 or this ZXRSAU02 (depending on the previous step). Double-click and you'll be redirected to the SE38
    9)  some code:
    CASE i_datasource
      WHEN '0HR_LSO_1'.
        LOOP i_t_data INTO my_struct
           my_struct-KOSTL           "Here you'll must have your Cost Center
           ...etc...etc...etc
        ENDLOOP.
      WHEN OTHERS.
    ENDCASE
    Hope it helps.
    gdmon

  • Reg: save exit and cancel buttons

    Hi,
    In normal report programs when we enable the back , exit and cancel buttons they work fine without writing any code.but its not in the case of Module pool why?
    In thr normal reports where does the code come from?
    regards
    prasanth

    Hi....
    Module pool programs is nothing but screen flow + reports...
    Here we designing the screens....
    So we hav to to give every functionality.. for all buttons and menu items of the appeared screen...
    Where as in reports...,
    We are just using the standard screen (sellection screen and list output screen ) s mostly...,
    Here also some times we hav to go for created screens.. nothing but.... interactive reports...,
    There we need to give again all those functionalities...
    And..,
    To see the BACK button logic and other logics in the reports...,
    Ex: PAI event of SAPLWBABAP program..., 
    You can find that name with...
    By giving /H and enter before ur action...
    Thanks,
    Naveen.I

  • REG : user exit

    hi,
        i am writing this code in user exit MV45AFZZ for va32 and va02 transaction.it is working fine but the problem is whatever i select the first line item it is not responding corectly.ther then first line item the other line items are working properly and in va32 transaction when i select item overview tab then also the program is not working properly please help me out
    LOOP AT XVBAP.
      IF TCTRL_U_ERF_AUFTRAG-CURRENT_LINE = SY-TABIX
      OR TCTRL_U_ERF_LIEFERPLAN-CURRENT_LINE = SY-TABIX.
      SELECT VBELN POSNR ZEILE MATNR VTWEG WERKS DISPO
             M1QTY M1QTY01 M1QTY02 M1QTY03 M1QTY04 MONYR KUNNR
             INTO CORRESPONDING FIELDS OF TABLE IDEMAND
             FROM ZSDDEM WHERE VBELN EQ VBAK-VBELN
                         AND   POSNR EQ XVBAP-POSNR
                         AND   MATNR EQ XVBAP-MATNR
                         AND   KUNNR EQ KUAGV-KUNNR.
      SORT IDEMAND BY VBELN POSNR ZEILE DESCENDING.
      LOOP AT IDEMAND.
      SELECT MAX( ZEILE ) INTO WA_ZEILE
                    FROM ZSDDEM WHERE MONYR EQ IDEMAND-MONYR
                                AND   VBELN EQ IDEMAND-VBELN
                                AND   POSNR EQ IDEMAND-POSNR.
                               AND   KUNNR EQ IDEMAND-KUNNR
                               AND   MATNR EQ IDEMAND-MATNR
      IF SY-SUBRC = 0.
      IF WA_ZEILE EQ IDEMAND-ZEILE.
      TOTQ = TOTQ + IDEMAND-M1QTY.
      ELSE.
      DELETE IDEMAND INDEX SY-TABIX.
      ENDIF.
      ENDIF.
      ENDLOOP.
      IF TOTQ > 0.
        MESSAGE E020(ZSD_AMP) WITH TOTQ.
      ENDIF.
      ENDIF.
      ENDLOOP.
      ENDIF.

    Hi,
    Can you please check the below sap note?
    Note 414421 - Creating or transferring simulat. version: CONVT_NO_NUMBER
    Please also check
    2.       0.410       PS-ST-WBS       449922       CJVB_PRPS_POST: ERR_UPDATE during update on table PRPS       27.02.2002
         3.      0.400      PS-SIM      805384      CJV2; network structure graphic; create activity: NOT_FOUND      30.12.2004
         4.      0.370      PS-SIM      379157      CJV4: SAPSQL_ARRAY_INSERT_DUPREC in SAPLV60F      24.03.2003
         5.      0.340      SV-SMB-AIO-BP-IMC      612325      Coll.note: BP Industrial Machinery & Components (IM&C)V3.46C      25.08.2003
    Thanks,
    Ramakrishna

  • Reg BDC

    Hi,
        In BDC, Call transaction method how to store error in bdcmsgcoll table.
    Thank you,

    Hi,
    when you write this automatically the error messages will be populated in table  ITAB , you can loop at that table and get the messages
    DATA: ITAB TYPE TABLE OF BDCMSGCOLL.
    CALL TRANSACTION 'SE38'  USING BDCDATA  MODE 'N'
                             MESSAGES INTO ITAB.
    You can loop at the messages and get the description
    loop at itab.
    CALL FUNCTION 'TB_MESSAGE_BUILD_TEXT'
           EXPORTING
                LANGU = SY-LANGU
                MSGID = itab-MSGID
                MSGNO = itab-MSGNO
                MSGV1 = itab-MSGV1
                MSGV2 = itab-MSGV2
                MSGV3 = itab-MSGV3
                MSGV4 = itab-MSGV4
           IMPORTING
                TEXT  = ERR_MSG.
    write : ERR_MSG.
    endloop.
    Message was edited by:
            Chandrasekhar Jagarlamudi

  • Reg BDC rec code

    hi guru's,
    i have done with the bdc recording.
    now to handle the enter code ( i.e.. in my actual target program while executing it, the pressing of enter in the transaction screen should not be there).
    What ever the default views selected in trn mm03 should be dynamically done without user interface.. Pressing of enter should also be avoided.
    here is my code snippet.
    perform bdc_dynpro      using 'SAPLMGMM' '0060'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RMMG1-MATNR'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=ENTR'.
    perform bdc_field       using 'RMMG1-MATNR'
                                  wa_final-matnr.
    perform bdc_dynpro      using 'SAPLMGMM' '0070'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'MSICHTAUSW-DYTXT(02)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'MSICHTAUSW-KZSEL(01)'
                                  'X'.
    perform bdc_field       using 'MSICHTAUSW-KZSEL(02)'
                                  'X'.
    perform bdc_dynpro      using 'SAPLMGMM' '0070'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'MSICHTAUSW-DYTXT(01)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_dynpro      using 'SAPLMGMM' '0070'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'MSICHTAUSW-DYTXT(15)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'MSICHTAUSW-KZSEL(15)'
                                  'X'.
    perform bdc_dynpro      using 'SAPLMGMM' '0070'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'MSICHTAUSW-DYTXT(01)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_dynpro      using 'SAPLMGMM' '0070'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'MSICHTAUSW-DYTXT(01)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_dynpro      using 'SAPLMGMM' '0070'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'MSICHTAUSW-DYTXT(01)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_dynpro      using 'SAPLMGMM' '0070'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'MSICHTAUSW-DYTXT(13)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'MSICHTAUSW-KZSEL(13)'
                                  'X'.
    perform bdc_dynpro      using 'SAPLMGMM' '0070'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'MSICHTAUSW-DYTXT(01)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=DEF_SAVE'.
    perform bdc_dynpro      using 'SAPLMGMM' '0070'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'USRM1-AAUSW'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=DEF_SKIP'.
    perform bdc_field       using 'USRM1-AAUSW'
                                  'X'.
    perform bdc_dynpro      using 'SAPLMGMM' '0070'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'MSICHTAUSW-DYTXT(01)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=ENTR'.
    perform bdc_field       using 'USRM1-AAUSW'
                                  'X'.
    perform bdc_dynpro      using 'SAPLMGMM' '0080'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RMMG1-WERKS'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=DEF_SAVE'.
    perform bdc_field       using 'RMMG1-WERKS'
                                  plant.
    perform bdc_dynpro      using 'SAPLMGMM' '0080'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RMMG1-WERKS'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=ENTR'.
    perform bdc_field       using 'RMMG1-WERKS'
                                  'Z201'.
    perform bdc_dynpro      using 'SAPLMGMM' '4004'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RMMG1-MATNR'.
    perform bdc_dynpro      using 'SAPLMGMM' '4004'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RMMG1-MATNR'.
    perform bdc_dynpro      using 'SAPLMGMM' '4000'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RMMG1-MATNR'.
    perform bdc_dynpro      using 'SAPLMGMM' '4000'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RMMG1-MATNR'.
    perform bdc_dynpro      using 'SAPLSPO1' '0300'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=YES'.
    perform bdc_transaction using 'MM03'.
    please help me.
    *HOW TO HANDLE THE ENTER CODE.
    WHAT CHANGES SHOULD I MAKE IN THE ABOVE CODE AND WHAT ARE THE CORRESPONDING DATA DECLARATIONS TO BE MADE.*

    See The sample code
    It consist of Item data and Header data .
    REPORT zfv11
           NO STANDARD PAGE HEADING LINE-SIZE 255.
       DO NOT CHANGE - the generated data section - DO NOT CHANGE    ***
      If it is nessesary to change the data section use the rules:
      1.) Each definition of a field exists of two lines
      2.) The first line shows exactly the comment
          '* data element: ' followed with the data element
          which describes the field.
          If you don't have a data element use the
          comment without a data element name
      3.) The second line shows the fieldname of the
          structure, the fieldname must consist of
          a fieldname and optional the character '_' and
          three numbers and the field length in brackets
      4.) Each field must be type C.
    Generated data section with specific formatting - DO NOT CHANGE  ***
    TABLES : t100.
    DATA: BEGIN OF record OCCURS 0,
    data element: KSCHA
            kschl(004),               "Condition Type
    data element: SELKZ_LIST
          selkz(001),
    data element: WERKS_D
            werks(004),               "Plant
    data element: ELIFN
            lifnr(010),               "Vendor
    data element: MATNR
            matnr(018),               "Material No.
    data element: KBETR_KOND
            kbetr(016),               "Amount
    data element: KODATAB
            datab(010),               "Condition Validity Date from
    data element: KODATBI
            datbi(010),               "Condition Validity To
    data element: MWSKZ
            mwsk1(002),
          END OF record.
    DATA : BEGIN OF it_new OCCURS 0,                    " Internal Table for Header Data
           kschl(004),
           werks(004),
           lifnr(010),
           END OF it_new.
    DATA : BEGIN OF it_item OCCURS 0,                  " Internal table for Item Data
          werks(004),
          lifnr(010),
          matnr(018),
          kbetr(016),
          datab(010),
          datbi(010),
          mwsk1(002),
          END OF it_item.
    DATA : cnt(2) TYPE n,
           fld(25) TYPE c.
    TYPE-POOLS: truxs.
    DATA: it_raw TYPE truxs_t_text_data.
    DATA : n TYPE n.
    DATA:
         BEGIN OF t_data OCCURS 0,
               data TYPE string,
         END   OF t_data.
    DATA:BEGIN OF it_mess OCCURS 0,
      msgtyp(5),
       lms(200),
       msgv1(50),
        END OF it_mess.
    DATA : p_mode    TYPE c.
    DATA:it_msgtab TYPE STANDARD TABLE OF  bdcmsgcoll WITH HEADER LINE,
       it_msgtab1 TYPE STANDARD TABLE OF bdcmsgcoll WITH HEADER LINE.
    DATA :  l_mstring(150).
    DATA : BEGIN OF bdcdata OCCURS 0.
            INCLUDE STRUCTURE bdcdata.
    DATA: END OF bdcdata.
    PARAMETERS : p_file1 LIKE rlgrap-filename.
    INITIALIZATION.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file1.
      PERFORM file_selection.
      PERFORM data_upload.
      PERFORM table_control.
      LOOP AT it_new.
        REFRESH bdcdata.
        PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'RV13A-KSCHL'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM bdc_field       USING 'RV13A-KSCHL'
                                      it_new-kschl.
        PERFORM bdc_dynpro      USING 'SAPLV14A' '0100'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'RV130-SELKZ(01)'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=WEIT'.
        PERFORM bdc_dynpro      USING 'SAPMV13A' '1363'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'KONP-KBETR(01)'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM bdc_field       USING 'KOMG-WERKS'
                                      it_new-werks.
        PERFORM bdc_field       USING 'KOMG-LIFNR'
                                      it_new-lifnr.
    DATA: "X(5) TYPE N,
             N(5) TYPE N.
       N = 0.
       LOOP AT it_item.
         N = N + 1.
       ENDLOOP.
       "X = 1.
       CNT = 1.
       DO N TIMES.
         IF CNT > 19.
           perform bdc_field       using 'BDC_OKCODE' 'KOMG-MATNR(01)'.
           perform bdc_field       using 'BDC_OKCODE' '=P+'.
           PERFORM bdc_dynpro      USING 'SAPMV13A' '1363'.
           CNT = 1.
         ENDIF.
        cnt = 1.
        LOOP AT it_item WHERE werks EQ it_new-werks AND lifnr EQ it_new-lifnr . "FROM x TO x.
          CONCATENATE 'KOMG-MATNR(' cnt ')' INTO fld.
          PERFORM bdc_field USING fld it_item-matnr.
          CONCATENATE 'KONP-KBETR(' cnt')' INTO fld.
          PERFORM bdc_field USING fld it_item-kbetr.
          CONCATENATE 'RV13A-DATAB(' cnt ')' INTO fld.
          PERFORM bdc_field USING fld it_item-datab.
          CONCATENATE 'RV13A-DATBI(' cnt ')' INTO fld.
          PERFORM bdc_field USING fld it_item-datbi.
          CONCATENATE 'KONP-MWSK1(' cnt ')' INTO fld.
          PERFORM bdc_field USING fld it_item-mwsk1.
          cnt = cnt + 1.
          if cnt = 20.
            perform bdc_field       using 'BDC_OKCODE' 'KOMG-MATNR(19)'.
            perform bdc_field       using 'BDC_OKCODE' '=P+'.
            PERFORM bdc_dynpro      USING 'SAPMV13A' '1363'.
            CNT = 1.
           endif.
    CLEAR it_item.
        ENDLOOP.
       ENDDO.
        PERFORM bdc_dynpro      USING 'SAPMV13A' '1363'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'KONP-MWSK1(01)'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=SICH'.
        CALL TRANSACTION 'FV11' USING bdcdata MODE 'A'
                                            UPDATE 'S'
                                           MESSAGES  INTO it_msgtab.
        CLEAR bdcdata[].
        PERFORM error.
      ENDLOOP.
           Start new screen   -Subroutine     for screen s                                      *
    FORM bdc_dynpro USING program dynpro.
      CLEAR bdcdata.
      bdcdata-program  = program.
      bdcdata-dynpro   = dynpro.
      bdcdata-dynbegin = 'X'.
      APPEND bdcdata.
    ENDFORM.                    "BDC_DYNPRO
           Insert field        -Subroutine   for field s                                         *
    FORM bdc_field USING fnam fval.
      CLEAR bdcdata.
      bdcdata-fnam = fnam.
      bdcdata-fval = fval.
      APPEND bdcdata.
    ENDFORM.                    "BDC_FIELD
    *&      Form  file_selection
    FORM file_selection .
      CALL FUNCTION 'F4_FILENAME'
        EXPORTING
          program_name  = syst-cprog
          dynpro_number = syst-dynnr
          field_name    = 'P_FILE1'
        IMPORTING
          file_name     = p_file1.
    ENDFORM.                    " file_selection
    *&      Form  data_upload
    FORM data_upload .
      CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
       EXPORTING
        I_FIELD_SEPERATOR        =
           i_line_header            =  'X'
           i_tab_raw_data           =  it_raw
           i_filename               =  p_file1
         TABLES
           i_tab_converted_data     = record
        EXCEPTIONS
           conversion_failed        = 1
           OTHERS                   = 2.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDFORM.                    " data_upload
    *&      Form  error
    FORM error .
      LOOP AT it_msgtab.
        IF it_msgtab-msgtyp = 'E'.
          SELECT SINGLE * FROM t100 WHERE sprsl = it_msgtab-msgspra
                                    AND   arbgb = it_msgtab-msgid
                                    AND   msgnr = it_msgtab-msgnr.
          IF sy-subrc = 0.
            l_mstring = t100-text.
            IF l_mstring CS '&1'.
              REPLACE '&1' WITH it_msgtab-msgv1 INTO l_mstring.
              REPLACE '&2' WITH it_msgtab-msgv2 INTO l_mstring.
              REPLACE '&3' WITH it_msgtab-msgv3 INTO l_mstring.
              REPLACE '&4' WITH it_msgtab-msgv4 INTO l_mstring.
            ELSE.
              REPLACE '&' WITH it_msgtab-msgv1 INTO l_mstring.
              REPLACE '&' WITH it_msgtab-msgv2 INTO l_mstring.
              REPLACE '&' WITH it_msgtab-msgv3 INTO l_mstring.
              REPLACE '&' WITH it_msgtab-msgv4 INTO l_mstring.
            ENDIF.
            CONDENSE l_mstring.
            it_mess-msgtyp = it_msgtab-msgtyp.
            it_mess-lms = l_mstring.
            it_mess-msgv1 = it_msgtab-msgv1.
            APPEND it_mess.
           WRITE: / it_msgtab-msgtyp, l_mstring(150).
          ELSE.
           WRITE: / it_msgtab.
            it_mess-msgtyp = it_msgtab-msgtyp.
            it_mess-lms = l_mstring.
            it_mess-msgv1 = it_msgtab-msgv1.
            APPEND it_mess.
          ENDIF.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    " error
    *&      Form  table_Control
    FORM table_control .
    SORT record BY lifnr matnr.
      LOOP AT record.
        ON CHANGE OF record-lifnr.
          MOVE-CORRESPONDING record TO it_new.
          APPEND it_new.
        ENDON.
        MOVE-CORRESPONDING record TO it_item.
        APPEND it_item.
      ENDLOOP.
    ENDFORM.                    " table_Control
    Reward if helpful
    Thanks
    Jagadeesh.G

  • Reg:user-exits

    hi to all ,
    iam new to user-exits.i had seen some user-exits.
    in which some are like FUNCTION EXIT_SAPMV45A_002,
    FORM USEREXIT_FIELD_MODIFICATION.so what is the difference between them
    are there any more exits.
    with regards
    satish

    Hi,
    1)
    For the FUNCTION EXIT_SAPMV45A_002, you require a project in CMOD with the enhancement in it..Then the project should be activated in order to execute the code give in the FM..
    For FM FUNCTION EXIT_SAPMV45A_002..You don't require an access key.
    2) For user exit FORM USEREXIT_FIELD_MODIFICATION. You don't require a project in CMOD..You require an access key to modify the program.
    Thanks,
    Naren

  • Reg: FI - Exit: EXIT_SAPLV60B_004

    Hi,
    The Exit 'EXIT_SAPLV60B_004' is triggred when Invoice is created or Changed.
    I have added code in this Exit which need to be triggred only when it is triggred at the time of Invoice creation and not for the Invoice change.
    How could I identify, that the Exit is triggred for Creation or for Change.
    MY identification: When triggred for creation time I see the field xvbp-UPDKZ = 'I' and when triggred at the time of Invoice change I see the field xvbp-UPDKZ = ' ' .
    My Question: My question is this the only way for identification for that triggred at the time of Creation Change ?
    Edited by: chand_100 on Mar 23, 2011 10:59 AM

    Hi,
    For the both the cases Create and Change the Invoice number is avilable in VBRK-VBELN, and if we chek the Item level structure for Create case XVBRP-VBELN = starts with & and for change case able to see the Invoice number. Only valid difference I have seen is XVBP-UPDKZ for create will be 'I' and for change will be space.
    But I was scared if the existing Invoice is changed to add new Item then XVBRP-UPDKZ would be 'I', But got conformation that there is no scope of adding new Item or delete the existing Item in there bussiness. Change in the Invoice will be mostly Accounting data - Billing date, which will not be a problem at all for the logic what I have implemented.
    Thank you for the suggestion.....
    Edited by: chand_100 on Mar 24, 2011 5:41 AM

  • Reg User Exit SUSR0001

    Hi all,
       Facing problem with user exit SUSR0001.
        When we login through GUI control is flowing through the exit, but when we login
    through RFC, control is not flowing through the exit.
      Wt to do if we want need any validation while we login through RFC.
        Suggestions pls.
    Regard's
    Jean.

    Jean wrote:
    ...when we login through RFC, control is not flowing through the exit
    Hi,
    usually in the RFC connections, Service user or Background user types are always specified...
    These kind of users are no-dialog user and therefore the userexit you implemented is not executed.
    In the link below you can find some information about RFC user management.
    [http://help.sap.com/saphelp_nw04s/helpdata/en/ed/8d7b64ee75ef4cb42358427613fa95/content.htm]
    Regards,
    Andrea

  • Reg: user Exit or BADI

    Hi Guys,
    I have a requirement like i need to save delivery header texts in VL02N transaction while  creation of return delivery order, can any one tell the which user exit or BADI..
    Regards,
    mahendar .

    Exit Name           Description
    V02V0001            Sales area determination for stock transport order
    V02V0002            User exit for storage location determination
    V02V0003            User exit for gate + matl staging area determination (headr)
    V02V0004            User Exit for Staging Area Determination (Item)
    V50PSTAT            Delivery: Item Status Calculation
    V50Q0001            Delivery Monitor: User Exits for Filling Display Fields
    V50R0001            Collective processing for delivery creation
    V50R0002            Collective processing for delivery creation
    V50R0004            Calculation of Stock for POs for Shipping Due Date List
    V50S0001            User Exits for Delivery Processing
    V53C0001            Rough workload calculation in time per item
    V53C0002            W&S: RWE enhancement - shipping material type/time slot
    V53W0001            User exits for creating picking waves
    VMDE0001            Shipping Interface: Error Handling - Inbound IDoc
    VMDE0002            Shipping Interface: Message PICKSD (Picking, Outbound)
    VMDE0003            Shipping Interface: Message SDPICK (Picking, Inbound)
    VMDE0004            Shipping Interface: Message SDPACK (Packing, Inbound)
    BADI
    DELIVERY_ADDR_SAP Address Change in Delivery Processing
    DELIVERY_PUBLISH Announcement of delivery data during database update
    Edited by: Phanindra Annaparthi on Mar 30, 2009 6:59 AM

  • Reg user exit used for reading VB items

    Dear all,
    Please give me the details of user exit used when we run plant level MRP by MDBT, so that it will create
    purchase requisitions only for consumables VB items, please explain how it works.
    Thanks in advance

    Hi,
    Can you explain what you mean by
    create purchase requisitions only for consumables VB items
    So for others you want to have planned orders?
    Regards,
    Vivek

Maybe you are looking for