Use of BEFORE_EXPORT Method in transaction SOBJ

Hello,
   My Requirement:
      I have to add database table entries to my task before releasing the transport request, if my Transport task contains eCATT object type.
     So I have developed a function module which adds table entries to transport task and I will add this function module to BEFORE_EXPORT method in SOBJ transaction.
  My queries:
    1.  I have two import parameters in my FM:
               a) Transport Task number
               b)  eCATT object name
        I would like to understand how the FM import parameters are populated by BEFORE_EXPORT method.
  2. Whether BEFORE_EXPORT method wil be called once for one Transport Request or once for every Task in the Transport Request.
Please let me know if you need more information.
Warm Regards,
Suresh

add a before method to display something to a user decision.
What is your requirement.
Kind regards, Rob Dielemans

Similar Messages

  • Error: Sorry! We could not complete the transaction using this payment method. Please contact support.

    I am everytime getting the following error
    Sorry! We could not complete the transaction using this payment method. Please contact support.
    I have put my 2 credit card information with Microsoft. I tried calling 2 times the customer support but it was a pathetic response. In a single call I talked to 4 customer support officers and everybody passed on the call to the next without resolving the
    problem, and without telling the next officer what is my issue!! they just passed on the phone call to avoid me!!
    It is really frustrating that neither Microsoft is provide a good support (it was hard for them to understand my issue, in fact one of the support guy did not even know spelling of Azure.. he/she was saying it assure!!! and One of the guy told me that I
    cannot use credit card outside US and Canada. then why you call yourself global???
    So Microsoft you have a few things to do as your homework.
    1. Your support is pathetic, frustrating and requires better people out there who know about your products, so train them first!
    2. You got my 2 credit cards information which I see at subscriptions for Windows Azure, please remove both of them if you cannot provide a good support and subscription.
    3. Learn from other cloud providers, AWS will otherwise kill your business.
    Regards
    Kajal
    Kajal Sinha

    Hi Kajal,
    Sincerely apologize for this inconvenience, for billing & account issue, usually we need to contact the support team by creating a support ticket at
    http://www.windowsazure.com/en-us/support/contact/. Or if that doesn't work because you don't have an active subscription you will need to contact general customer support to have them create
    a support ticket for you 
    http://support.microsoft.com/gp/customer-service-phone-numbers?wa=wsignin1.0).
    If above support channels don't work, at your convenient, could you please send an email to me: dxu at microsoft.com with kindly providing your:
    Name
    Email address
    Phone number 
    We will provide help via emails. Thank you.
    Best Regards,
    Ming Xu
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Creation Dynamic session name using BDC session Method

    Hi All,
    I have one typical BDC problem. If the number of records in file are crossing 80,my bdc is giving problem .So I need to split total records into sets of 80 and submit them. So I need to create the session name dynamically, pass the data dynamically. IF you have example code  or know the procedure as how to proceed kindly inform me
    Regards
    Praveen

    Hi Rob,
    Please find my code below..
    Part of the variables are in Polish since the original developer is a polish guy..
    Praveen
    Code.
    *& Report  ZCO_I025_WSKAZNIKI_STAT_DEV                                 *
    *& Interfejs wczytywania wskaźników statystycznych                     *
    REPORT  zco_i025_wskazniki_stat_dev                                 .
    TYPES:
      BEGIN OF l_tab_dane,
        indic LIKE rk23f-stagr,
        quant LIKE rk23f-mbgbtr,
        mpk LIKE rk23f-ekostl,
        order LIKE rk23f-eaufnr,
        text LIKE rk23f-sgtxt,
      END OF l_tab_dane.
    DATA:
      it_excel TYPE TABLE OF alsmex_tabline,
      wa_excel TYPE alsmex_tabline,
      it_data TYPE TABLE OF l_tab_dane,
      wa_data TYPE l_tab_dane,
      error  TYPE C,
      msg TYPE string.
    DATA:
      iv_pole TYPE string,
      ddatum(10),
      kdatum(10),
    *Inserted By satyam Developer
       filelist    TYPE filetable,
            rc          TYPE i.
    DATA: BEGIN OF bdctab OCCURS 5.
            INCLUDE STRUCTURE bdcdata.
    DATA: END OF bdctab.
    SELECTION-SCREEN BEGIN OF BLOCK p1 WITH FRAME TITLE text-001.
    PARAMETERS:
      p_zakla LIKE tka01-kokrs DEFAULT '1000',
      p_ddate LIKE sy-datum DEFAULT sy-datum,
      p_kdate LIKE sy-datum DEFAULT sy-datum.
    SELECTION-SCREEN ULINE.
    PARAMETERS:
      p_fname LIKE rlgrap-filename.  " DEFAULT 'd:dane.xls'.
    SELECTION-SCREEN END OF BLOCK p1.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fname.
      CALL METHOD cl_gui_frontend_services=>file_open_dialog
        EXPORTING
          file_filter       = cl_gui_frontend_services=>filetype_excel
         multiselection    = 'X'
        CHANGING
          file_table        = filelist
          rc                = rc.
      IF LINES( filelist ) IS INITIAL.
        EXIT.
      ENDIF.
      READ TABLE filelist INDEX 1 INTO p_fname.
    START-OF-SELECTION.
    AUTHORITY-CHECK OBJECT 'TKA01'
      ID 'KOKRS' FIELD p_zakla.
    CONCATENATE p_ddate6(2) '.' p_ddate4(2) '.' p_ddate(4) INTO ddatum.
    CONCATENATE p_kdate6(2) '.' p_kdate4(2) '.' p_kdate(4) INTO kdatum.
    error = '0'.
    PERFORM wczytaj_dane.
    IF error = '0'.
      PERFORM utworz_sesje.
      PERFORM wprowadz_dane.
       PERFORM zamknij_sesje.   "comment by prav
    ENDIF.
      PERFORM zamknij_sesje.        "add by prav
    IF error = '1'.
      WRITE: msg, /.
    ENDIF.
    WRITE: 'Wykonano', /.
    *&      Form  wczytaj_dane
          text
    FORM wczytaj_dane.
      CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
        EXPORTING
          filename                = p_fname
          i_begin_col             = 1
          i_begin_row             = 1
          i_end_col               = 8
          i_end_row               = 65000
        TABLES
          intern                  = it_excel
        EXCEPTIONS
          inconsistent_parameters = 1
          upload_ole              = 2
          OTHERS                  = 3.
      IF sy-subrc <> 0.
        WRITE: / 'B&#322;ad importu pliku wejsciowego: ', p_fname, ' - ',
        sy-subrc.
      ELSE.
        SORT it_excel BY row col.
        LOOP AT it_excel INTO wa_excel.
          IF wa_excel-row = 1.
            CONTINUE.
          ENDIF.
          iv_pole = wa_excel-value.
          CASE wa_excel-col.
            WHEN 1. wa_data-indic = iv_pole.
            WHEN 2.
              REPLACE ',' WITH '.' INTO iv_pole.
              wa_data-quant = iv_pole.
            WHEN 3. wa_data-mpk = iv_pole.
            WHEN 4. wa_data-order = iv_pole.
            WHEN 5. wa_data-text = iv_pole.
          ENDCASE.
          AT END OF row.
            IF wa_data-mpk IS INITIAL AND wa_data-order IS INITIAL.
              error = '1'.
              WRITE:
    'Musi by&#263; podane Stanowisko kosztów lub Zlecenie wewn&#281;trzne. Rekord: ',
              wa_excel-row, /.
              EXIT.
            ENDIF.
            IF wa_data-mpk IS NOT INITIAL AND wa_data-order IS NOT INITIAL.
              error = '1'.
              WRITE:
    'Musi by&#263; podane Stanowisko kosztów lub Zlecenie wewn&#281;trzne. Rekord: ',
              wa_excel-row, /.
              EXIT.
            ENDIF.
            IF wa_data-indic IS INITIAL.
              error = '1'.
              WRITE: 'Brak identyfikatora wska&#378;nika. Rekord: ', wa_excel-row
              EXIT.
            ENDIF.
            IF wa_data-quant IS INITIAL.
              error = '1'.
              WRITE: 'Brak informacji o ilo&#347;ci. Rekord: ', wa_excel-row, /.
              EXIT.
            ENDIF.
            APPEND wa_data TO it_data.
            CLEAR wa_data.
          ENDAT.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    "wczytaj_dane
    *&      Form  wprowadz_dane
          text
    FORM wprowadz_dane.
      DATA:
        licznik TYPE i,
        l_txt TYPE string,
        pole(30) TYPE c,
        liczba(15) TYPE c.
      LOOP AT it_data into wa_data.
      PERFORM bdc_dynpro      USING 'SAPLSPO4' '0300'.
      PERFORM bdc_field       USING 'BDC_CURSOR' 'SVALD-VALUE(01)'.
      PERFORM bdc_field       USING 'BDC_OKCODE' '=FURT'.
      PERFORM bdc_field       USING 'SVALD-VALUE(01)' p_zakla.
      PERFORM bdc_dynpro      USING 'SAPLK23F1' '1200'.
      PERFORM bdc_field       USING 'BDC_OKCODE' '/00'.
      PERFORM bdc_field       USING 'COHEADER-SEND_REC_REL' '03SAP'.
      PERFORM bdc_field       USING 'RK23F-STATUS' 'L'.
      PERFORM bdc_field       USING 'COHEADER-BLDAT' ddatum.
      PERFORM bdc_field       USING 'COHEADER-BUDAT' kdatum.
      PERFORM bdc_field       USING 'BDC_CURSOR' 'EKOSTL(1)'.
      licznik = 0.
    LOOP AT it_data into wa_data.
        ADD 1 TO licznik.
        l_txt = licznik.
        CONCATENATE 'EL4(' l_txt ')' INTO pole.
        condense pole no-gaps.
        PERFORM bdc_field USING pole wa_data-indic.
        CONCATENATE 'ELR1(' l_txt ')' INTO pole.
           condense pole no-gaps.
          liczba = wa_data-quant.
          if liczba <  0.
              shift liczba circular  left up to '-'.
          endif.
            condense liczba no-gaps.
        PERFORM bdc_field USING pole liczba.
        IF NOT wa_data-mpk IS INITIAL.
          CONCATENATE 'EL2(' l_txt ')' INTO pole.
             condense pole no-gaps.
          PERFORM bdc_field USING pole wa_data-mpk.
        ENDIF.
        IF NOT wa_data-order IS INITIAL.
          CONCATENATE 'EL3(' l_txt ')' INTO pole.
             condense pole no-gaps.
          PERFORM bdc_field USING pole wa_data-order.
        ENDIF.
        CONCATENATE 'EL8(' l_txt ')' INTO pole.
           condense pole no-gaps.
        PERFORM bdc_field USING pole wa_data-text.
    call transaction 'KB31N' using bdctab mode 'A'.
    refresh:bdctab.
    clear bdctab.
      ENDLOOP.
    CALL FUNCTION 'BDC_INSERT'
       EXPORTING
         tcode            = 'KB31N'
       TABLES
         dynprotab        = bdctab
       EXCEPTIONS
         internal_error   = 1
         not_open         = 2
         queue_error      = 3
         tcode_invalid    = 4
         printing_invalid = 5
         posting_invalid  = 6
         OTHERS           = 7.
    IF sy-subrc <> 0.
       WRITE: / text-010 .
    ENDIF.
    call transaction 'KB31N' using bdctab mode 'A'.
    REFRESH bdctab.
    clear:bdctab.        "by praveen
    ENDFORM.                    "wprowadz_dane
    *&      Form  bdc_dynpro
          text
         -->PROGRAM    text
         -->DYNPRO     text
    FORM bdc_dynpro USING program dynpro.
      CLEAR bdctab.
      MOVE:
        program   TO bdctab-program,
        dynpro    TO bdctab-dynpro,
        'X'       TO bdctab-dynbegin.
      APPEND bdctab.
    ENDFORM.                    "bdc_dynpro
    *&      Form  bdc_field
          text
         -->POLE       text
         -->WARTOSC    text
    FORM bdc_field USING pole wartosc.
      CLEAR bdctab.
      MOVE:
        pole     TO bdctab-fnam,
        wartosc  TO bdctab-fval.
      APPEND bdctab.
    ENDFORM.                    "bdc_field
    *&      Form  utworz_sesje
          text
    FORM utworz_sesje.
      CALL FUNCTION 'BDC_OPEN_GROUP'
        EXPORTING
          client = sy-mandt
          group  = 'WSKASTAT'
          user   = sy-uname
          keep   = 'X'.
    **begin  of praveen
    *if sy-subrc ne 0.
    write 'hai'.
    endif.
    **end of praveen
    ENDFORM.                    "utworz_sesje
    *&      Form  zamknij_sesje
          text
    FORM zamknij_sesje.
      CALL FUNCTION 'BDC_CLOSE_GROUP'.
      IF sy-subrc NE 0.
        WRITE: /, 'B&#322;ad podczas zamykania sesji'.
        EXIT.
      ENDIF.
    ENDFORM.                    "zamknij_sesje

  • How to upload data for me01 using lsmw recording method

    *dear expert please tell me the complete procedure for how to upload data in me01 transaction using lsmw recording method.
    Moderator Message: Duplicate post locked.
    Edited by: Vinod Kumar on May 8, 2011 7:56 PM

    Hi,
    To be honest I don't understand your question. When You execute LSMW and create project, then all steps are shown in a very clear way with good description. With which one you have problems?
    Best regards
    Marcin Cholewczuk

  • Modify existing data using LSMW IDoc method

    Hi experts,
    I am trying to transfer activity data from R/3 system to CRM using Idoc LSMW method.
    It working fine that LSMW creates new activities in CRM system, & there is a check in the conversion code that if the activity we are trying to transfer exists in CRM system it will skip that transaction.
    Now the requirement is that we don't want to skip, if the activity is already present in CRM system than it should modify the existing.
    IDOC used :                       CRMXIF_ORDER_SAVE_M02
    Msg type used:                 CRMXIF_ORDER_SAVE
    Note:
    LSMW will not create activities in the system; SXDA data transfer workbench will be used to process the data in CRM system. SXDA project has following two steps:
    -     Merge files u2013 This step uses a custom function module to merge one or more than one files and creates a file which is   required for LSMW.
    -     Convert the data u2013 This step uses LSMW as the conversion method
    -     Load the data u2013 This step uses the IDoc object interface
    Now the doubt is that if i remove the check than it will create an another activity with same activity no. or modify the existing one, or is there another way to modify the existing activity in CRM system?
    Waiting for a qiuck response.
    Thanks
    d_marco

    HI,
    Thanks for your quick valuable response.
    I have a doubt, we are transferring activities from R/3 system to CRM system, & these activities are maintained in R/3 application system in the form of text files
    Now the question is if the text file contains 10 activities( transactions) with there header, partner & item details & from these 10 activities some are new & some are already present in CRM system, than will it be possible to create the new ones & update the existing ones withe single LSMW project run.
    I think that we can put a check in the conversion code where transaction begins that if the particular activity( transaction) already present in CRM system than set a flag as "U" to update, if activities are new than set it as "I"  to insert & than pass this flag in  the conversion rule to the field "OBJECT_TASK" of IDOC  structure
    or
    we need to maintain text files as for update or insert separately but not for mixed task of update/insert.
    Will this update/insert process also work's if we are using a copy of standard IDOC type with some custom segments & custom fields.
    Thanks
    d_marco

  • Multiple ALV display using SALV(Factory method)...

    Hello Experts,
    Please provide me any examples on how to display multiple ALV
    displays in a screen using SALV(Factory method).
    Hope you can help me guys.
    Thank you and take care!

    Hi Viraylab,
    Kindly check the program below, this will help you..
    *& Report  Z101754_REPORT
    REPORT  z101754_report.
    TABLES: zvbak_101754,zvbap_101754,mara.
    TYPE-POOLS: slis.
    DATA : i_fieldcat TYPE slis_t_fieldcat_alv.
    DATA: FLDNAME(24).
    DATA : BEGIN OF itab_zvbap OCCURS 0,
           zvbeln LIKE zvbap_101754-zvbeln,
      zposnr LIKE zvbap_101754-zposnr,
      zmatnr LIKE zvbap_101754-zmatnr,
      zbrgew LIKE zvbap_101754-zbrgew,
      zgi_qty LIKE zvbap_101754-zgi_qty,
      zinv_qty LIKE zvbap_101754-zinv_qty,
           END OF itab_zvbap.
    SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME TITLE text-t01.
    SELECT-OPTIONS : s_zvbeln FOR zvbak_101754-zvbeln,
                     s_zkunwe FOR zvbak_101754-zkunwe,
                     s_zerdat FOR zvbak_101754-zerdat,
                     s_zmatnr FOR zvbap_101754-zmatnr.
    SELECTION-SCREEN END OF BLOCK block1.
    SELECTION-SCREEN: BEGIN OF BLOCK block2 WITH FRAME TITLE t02.
    PARAMETERS     : invoiced AS CHECKBOX,
                     s_gi AS CHECKBOX .
    SELECTION-SCREEN: END OF BLOCK block2.
    SELECTION-SCREEN: BEGIN OF BLOCK block3 WITH FRAME TITLE t03.
    PARAMETERS     : alv_list RADIOBUTTON GROUP g1,
                     alv_grid RADIOBUTTON GROUP g1,
                     s_class RADIOBUTTON GROUP g1.
    SELECTION-SCREEN: END OF BLOCK block3.
    Screen Field Validation event
    AT SELECTION-SCREEN ON s_zvbeln.
      SELECT SINGLE *
       FROM zvbak_101754 WHERE zvbeln IN s_zvbeln.
      IF sy-subrc NE 0.
        MESSAGE e000(z754).
      ENDIF.
    AT SELECTION-SCREEN ON s_zkunwe.
      SELECT SINGLE *
       FROM zvbak_101754 WHERE zkunwe IN s_zkunwe.
      IF sy-subrc NE 0.
        MESSAGE e001(z754).
      ENDIF.
    AT SELECTION-SCREEN ON s_zerdat.
      SELECT SINGLE *
         FROM zvbak_101754 WHERE zerdat IN s_zerdat.
      IF sy-subrc NE 0.
        MESSAGE e002(z754).
      ENDIF.
    AT SELECTION-SCREEN ON s_zmatnr.
      SELECT SINGLE *
       FROM zvbap_101754    WHERE zmatnr IN s_zmatnr.
      IF sy-subrc NE 0.
        MESSAGE e003(z754).
      ENDIF.
    Start-Of-Selection Event
    START-OF-SELECTION.
      PERFORM select-data.
    End-Of-Selection Event
    END-OF-SELECTION.
      PERFORM display.
    *&      Form  select-data
          text
    -->  p1        text
    <--  p2        text
    FORM select-data .
      SELECT zvbeln zposnr zmatnr zbrgew zgi_qty zinv_qty
         INTO CORRESPONDING  FIELDS OF TABLE itab_zvbap
         FROM zvbap_101754
         WHERE  zvbeln IN s_zvbeln.
    ENDFORM.                    " select-data3
    TOP-OF-PAGE.
    AT LINE-SELECTION.
    FORMAT HOTSPOT.
    *GET THE FIELD NAME ON LINE SELECTION
      GET CURSOR FIELD FLDNAME .  "value field_value.
      IF FLDNAME = 'itab_zvbap-zvbeln'.
      SET PARAMETER ID 'BES' FIELD itab_zvbap-zvbeln.
      CALL TRANSACTION 'ZVA01_101754'.
      ENDIF.
    *&      Form  DISPLAY
          text
    -->  p1        text
    <--  p2        text
    FORM display .
      IF s_class ='X'.
        PERFORM display_header.
        LOOP AT itab_zvbap.
          WRITE : / sy-vline,
                  itab_zvbap-zvbeln ,
                  13 sy-vline,
                  itab_zvbap-zposnr ,
                  30 sy-vline,
                  itab_zvbap-zmatnr ,
                  45 sy-vline,
                  itab_zvbap-zbrgew UNIT mara-meins ,
                  65 sy-vline,
                  itab_zvbap-zgi_qty UNIT mara-meins,
                  85 sy-vline,
                  itab_zvbap-zinv_qty UNIT mara-meins,
                  105 sy-vline,
                  / sy-uline(105).
        ENDLOOP.
      ENDIF.
    *&     Creating the fieldcatalog.
      CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
       EXPORTING
         i_program_name               = sy-repid
         i_internal_tabname           = 'ITAB_ZVBAP'
      I_STRUCTURE_NAME             =
      I_CLIENT_NEVER_DISPLAY       = 'X'
         i_inclname                   = sy-repid
      I_BYPASSING_BUFFER           =
      I_BUFFER_ACTIVE              =
        CHANGING
          ct_fieldcat                  = i_fieldcat
    EXCEPTIONS
    inconsistent_interface       = 1
    program_error                = 2
    OTHERS                       = 3
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
               WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
      IF alv_list = 'X'.
        CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
         EXPORTING
      I_INTERFACE_CHECK              = ' '
      I_BYPASSING_BUFFER             =
      I_BUFFER_ACTIVE                = ' '
           i_callback_program             = sy-repid
           i_callback_pf_status_set       = ' '
           i_callback_user_command        = 'USER_COMMAND '
      I_STRUCTURE_NAME               =
      IS_LAYOUT                      =
           it_fieldcat                    = i_fieldcat
      IT_EXCLUDING                   =
      IT_SPECIAL_GROUPS              =
      IT_SORT                        =
      IT_FILTER                      =
      IS_SEL_HIDE                    =
      I_DEFAULT                      = 'X'
      I_SAVE                         = ' '
      IS_VARIANT                     =
      IT_EVENTS                      =
      IT_EVENT_EXIT                  =
      IS_PRINT                       =
      IS_REPREP_ID                   =
      I_SCREEN_START_COLUMN          = 0
      I_SCREEN_START_LINE            = 0
      I_SCREEN_END_COLUMN            = 0
      I_SCREEN_END_LINE              = 0
      IR_SALV_LIST_ADAPTER           =
      IT_EXCEPT_QINFO                =
      I_SUPPRESS_EMPTY_DATA          = ABAP_FALSE
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER        =
      ES_EXIT_CAUSED_BY_USER         =
          TABLES
            t_outtab                       = itab_zvbap[]
    EXCEPTIONS
       program_error                  = 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.
      ENDIF.
      IF alv_grid = 'X'.
        CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_INTERFACE_CHECK                 = ' '
      I_BYPASSING_BUFFER                = ' '
      I_BUFFER_ACTIVE                   = ' '
           i_callback_program                = sy-repid
        i_callback_pf_status_set          = ' '
        i_callback_user_command           = 'USER_COMMAND '
      I_CALLBACK_TOP_OF_PAGE            = ' '
      I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
      I_CALLBACK_HTML_END_OF_LIST       = ' '
      I_STRUCTURE_NAME                  =
      I_BACKGROUND_ID                   = ' '
      I_GRID_TITLE                      =
      I_GRID_SETTINGS                   =
      IS_LAYOUT                         =
        it_fieldcat                       =  i_fieldcat
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
      IT_SORT                           =
      IT_FILTER                         =
      IS_SEL_HIDE                       =
      I_DEFAULT                         = 'X'
      I_SAVE                            = ' '
      IS_VARIANT                        =
      IT_EVENTS                         =
      IT_EVENT_EXIT                     =
      IS_PRINT                          =
      IS_REPREP_ID                      =
      I_SCREEN_START_COLUMN             = 0
      I_SCREEN_START_LINE               = 0
      I_SCREEN_END_COLUMN               = 0
      I_SCREEN_END_LINE                 = 0
      I_HTML_HEIGHT_TOP                 = 0
      I_HTML_HEIGHT_END                 = 0
      IT_ALV_GRAPHICS                   =
      IT_HYPERLINK                      =
      IT_ADD_FIELDCAT                   =
      IT_EXCEPT_QINFO                   =
      IR_SALV_FULLSCREEN_ADAPTER        =
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER           =
      ES_EXIT_CAUSED_BY_USER            =
       TABLES
         t_outtab                          = itab_zvbap[]
    EXCEPTIONS
       program_error                     = 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.
      ENDIF.
    ENDFORM.                    " DISPLAY
    *&      Form  display_header
          text
    -->  p1        text
    <--  p2        text
    FORM display_header .
      WRITE : / sy-vline,
                  'ORDER NO',
                  13 sy-vline,
                   'ITEM NO',
                  30 sy-vline,
                   'MATERIAL NO',
                  45 sy-vline,
                   'ORDER QTY',
                  65 sy-vline,
                   'GI QTY',
                  85 sy-vline,
                  'INVOICED QTY',
                  105 sy-vline,
                  / sy-uline(105).
    ENDFORM.                    " display_header
    Please let me know if you have any doubt.
    Regards,
    Amit.

  • Step by step instruction for Using LSMW Recoding method for Material Master

    Guys,
    Can some one explain step by step procedure for uploading the materials master data to R/3 by using LSMW Recoding method. By the time you reply I will go through the rule of uploading the data..
    Thanks guys,
    Dhanu.

    Hi,
    The Legacy System Migration Workbench (LSMW) is a tool recommended by SAP that you can use to transfer data once only or periodically from legacy systems into an R/3 System.
    The LSM Workbench covers the following steps:
    (1)Read the legacy data from one or several files (e.g. spreadsheet tables, sequential files)
    (2)Convert the data from source format to target format
    (3)Import the data using standard interfaces (Batch Input, Direct Input, BAPI, IDoc).
    The Steps for LSME are:
    Example: Customer Master upload:
    LSMW to Update Customer Master Records with Transaction Recording
    Call Legacy System Migration Workbench by entering transaction code LSMW. Every conversion task is grouped together as Project / Subproject / Object structure. Create a Project called LSMW_DEMO and a Subproject as CUSTOMERS and Object as CUST_REC
    Step 1: Maintain Object attributes
    In this example, you will be updating the customer master records with the help of recording a transaction (XD02). Choose radio button Batch Input Recording and click on the recording overview icon to record the R/3 transaction. Enter the Recording name as XD02_REC, the description as Customer Master Updates Recording, and the transaction code as XD02.
    Step 2. Maintain Source Structures
    Give a name and a description to the source structure
    Step 3. Maintain Source Fields
    In this step, you need to list what fields are present in the source structure. The easiest way is to click on u2018Table Maintenanceu2019 icon to enter Fieldname, Type and Length for each field
    Step 4: Maintain Structure Relations
    Execute a step to u2018Maintain Structure Relationsu2019. Since, there is only one Source and Target Structure, the relationship is defaulted automatically.
    Step 5: Maintain field mapping and conversion rules
    Field RF02D-D0310 represents that you chose u2018Sales viewu2019 for the customer Master screen accordingly its value should be set to X. Keep your cursor on field RF02D-D0310 and click on Constant rule icon to choose the constant value of u2018Xu2019.
    If your source file already has the field value, you choose rule u2018Source Fieldu2019.
    Keep cursor on field u2018KUNNRu2019 and click on u2018Assign Source fieldu2019 icon to choose source field CUSTOMER from structure XD02S
    Step 6: Maintain fixed values, translations, user-defined routines
    You can also maintain re-usable translations and user-defined routines, which can be used across conversion tasks. In this case, that step is not required.
    Step 7: Specify files
    In this step, we define how the layout of the input file is. The input file is a [Tab] delimited with the first row as field names. It is present on my PC (local drive) as C:\XD02.txt.
    Step 8: Assign files
    Execute step u2018Assign Filesu2019 and the system automatically defaults the filename to the source structure.
    Step 9: Read data
    In this step, LSMW reads the data from the source file (from your PCu2019s local drive). You have the option to read only selected rows and convert data values to Internal format.
    Step 10: Display read data
    This step is optional. If required, you can review the field contents for the rows of data read.
    Step 11: Convert data
    This is the step that actually converts the source data (in source format) to a target format. Based on the conversion rules defined, source fields are mapped to target fields.
    Step 12: Display Converted data
    Again this is an optional step to view how the source data is converted to internal SAP format
    Step 13: Create batch input session
    Once the source data is converted in an internal format, you can create a batch session to process updates.
    Step 14: Run Batch Input Session
    You can execute the BDC session by Run Batch input session. Executing a batch input session is a standard SM35 transaction for managing BDC sessions. Once you have successfully executed the batch input session, the customer master records are updated in the system. You can confirm this by viewing the customer master records (XD03).
    Follow the link for material master
    http://www.sap123.com/showthread.php?t=98
    Regards,
    Biju K

  • Using Direct input method(LSMW)Can I upload only 3 fields for MM01

    Using Direct input method(LSMW)Can I upload only Matnr,mbrsh,mtart fields for MM01.Otherwise I have to give all the mandatory fields.?

    Hello TJK,
    LSMW will work in the same way as you create normal material master with the transactions, here you are giving the value through flat file and creating material master with program.
    You can create only one view with LSMW but you need to give all mandatory field on that particular view, so if you have only these three field as mandatory then yes it is possible, if you have any more field mandatory addition to these fields then it will not work out, during the last step it will throw error saying "maintain the value for field XXX"
    Hope this helps.
    Regards
    Arif Mansuri

  • Upgrade WSS content DB WSS 3.0 using database attached method‏

    i m trying to upgrade WSS content DB WSS 3.0 using database attached method. when i use stsadm command to addcontentdb getting following error. i have also run db repair command but still getting error.
    [SPUtility] [DEBUG] [3/23/2015 11:41:39 PM]: File C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\Template\sql\storeup.sql, Time out = 24595 sec
    [SPManager] [ERROR] [3/23/2015 11:54:36 PM]: Upgrade [SPContentDatabase Name=WSS_Content_DB Parent=SPDatabaseServiceInstance] failed.
    [SPManager] [ERROR] [3/23/2015 11:54:36 PM]: The transaction log for database 'WSS_Content_DB' is full. To find out why space in the log cannot be reused, see the log_reuse_wait_desc column in sys.databases
    The transaction log for database 'WSS_Content_DB' is full. To find out why space in the log cannot be reused, see the log_reuse_wait_desc column in sys.databases
    The statement has been terminated.
    pls guide how to fix.
    iffi

    sounds like the database ran out of log space. did you fill the drive? does the database's log file have a hard limit?
    Scott Brickey
    MCTS, MCPD, MCITP
    www.sbrickey.com
    Strategic Data Systems - for all your SharePoint needs

  • Can I use classes and methods for a maintenance view events?

    Hello experts,
    Instead of perform/form, can I instead use classes and methods, etc for a given maintenance view event, lets say for example I want to use event '01' which is before saving records in the database. Help would be greatly appreciated. Thanks a lot guys!

    Hi viraylab,
    1. The architecture provided by maintenance view
       for using EVENTS and our own code inside it -
       It is provided using FORM/PERFORM
       concept only.
    2. At this stage,we cannot use classes.
    3. However, inside the FORM routine,
       we can write what ever we want.
       We can aswell use any abap code, including
       classes and methods.
      (But this classes and methods won't have any
       effect on the EVENT provided by maintenance view)
    regards,
    amit m.

  • How do I use the find method to find multiple items in a single paragraph?

    I am desigining a script to find any instances where ctrl+b and ctrl+i are applied to body text and then replace those character format overrides with Italic or Bold chartag.  Here's what the script is supposed to do:
    put the find method in a while loop that searches for character format overrides.
    If a character format override is found, pass the text range returned by the find method and the CharPropsChange flag to the GetTextForRange method.
    Use a boolean compare between the idata of the text item to the character angle and character weight constants.
    Whichever boolean evaluates to true, then use the SetTextProp method to set properties of the text range to the properties of the italic or bold character tag.
    This script does work on the first character format override found however it ignores any other overrides in the same paragraph. The cause of this is that the while loop updates the text loc that the find method uses to the next paragraph in flow. I suspect that i need to add an inner loop that goes through all the text in a single paragraph, where at teach iteration the text loc used by the find method is based on the same paragraph but the offset is modified. I am just not sure how to do that.
    function removeOverrides (pDoc)
        var vDocStart = pDoc.MainFlowInDoc.FirstTextFrameInFlow.FirstPgf;
        var vBoldFmt=getCharFmt (pDoc, 'Bold')
        var vItalicFmt=getCharFmt (pDoc, 'Italic')
        initFA_errno ();
        while (FA_errno==Constants.FE_Success)
            var vTextLoc = new TextLoc(vDocStart,0);
            var vFindParams=findOverrideParams (pDoc);
            var vTextRange=pDoc.Find(vTextLoc,vFindParams);
            if (vTextRange.beg.obj.ObjectValid())
                var vTextItems=pDoc.GetTextForRange (vTextRange, Constants.FTI_CharPropsChange)
                if (vTextItems.length==!0 )
                    if (vTextItems[0].idata==Constants.FTF_WEIGHT)
                       pDoc.SetTextProps (vTextRange, vBoldFmt.GetProps())
                    if (vTextItems[0].idata==Constants.FTF_ANGLE)
                       pDoc.SetTextProps (vTextRange, vItalicFmt.GetProps())
                    } else (Log (vLogFileName, '\nERROR: No items were found in the text format array but format override was found: '+pDoc.Name))
            vDocStart=vDocStart.NextPgfInFlow;
    function findOverrideParams (pDoc)
        var vFindParams = AllocatePropVals(1);
        vFindParams[0].propIdent.num = Constants.FS_FindObject;
        vFindParams[0].propVal.valType = Constants.FT_Integer;
        vFindParams[0].propVal.ival = Constants.FV_FindCharacterFormatOverride;
       return vFindParams;

    Hi Rick,
    Well, following up on the previous posting, I actually did figure out how to make it work but it seems rather inefficient. I can insert a new paragraph right after the paragraph that has the table anchor but when i cut the table, i also cut the paragraph i just created. So to get around that, I create two paragraphs, so that there will be one paragraph left after i do the cut and that is the paragraph that I paste the table into. Once the table is pasted into the new paragraph, I delete the other paragraph that I created.
    Here's the updated code from the for loop:
    var vTbl = vDoc.GetUniqueObject(Constants.FO_Tbl, vTextItems[i].obj.Unique);                 
    var vAnchorPgf=vDoc.NewSeriesPgf (vTbl.TextLoc.obj)      
    var vAnchorPgf2=vDoc.NewSeriesPgf (vAnchorPgf);        
    var vAnchorTextLoc=new TextLoc (vAnchorPgf2, 0);             
    var vTblTextRange=new TextRange ();        
    vTblTextRange.beg.obj=vTbl.TextLoc.obj;       
    vTblTextRange.beg.offset = vTbl.TextLoc.offset;        
    vTblTextRange.end.obj=vTbl.TextLoc.obj;        
    vTblTextRange.end.offset = Constants.FV_OBJ_END_OFFSET                 
    vDoc.TextSelection=vTblTextRange;        
    vDoc.Cut (0);                
    vTblTextRange.beg.obj=vAnchorTextLoc.obj;        
    vTblTextRange.beg.offset = 0;              
    vTblTextRange.end.obj=vAnchorTextLoc.obj;       
    vTblTextRange.end.offset =0;                 
    vDoc.TextSelection=vTblTextRange;       
    vDoc.Paste (0);                   
    vAnchorPgf2.Delete();        

  • Using Calendar.set() method problem

    Hi all,
    First of all sorry to bother with such a trivial(?) matter but I cannot solve it by myself.
    I have a piece of code which I simply want to handle the current date with the GregorianCalendar object so that the date would be set to the Calendar.SUNDAY (of the current week). Simple enough?
    Code as follows:
    import java.util.*;
    import java.text.*;
    public class Foo
    public static void main(String[] args)
         Foo foo = new Foo();
         Date newdate = foo.bar();
    public Date bar()
         GregorianCalendar m_calendar = new GregorianCalendar(new Locale("fi","FI"));
         m_calendar.setFirstDayOfWeek(Calendar.MONDAY);
         Date newDate = null;
         try
              m_calendar.setTime(new Date());
              System.out.println("Calendar='" + m_calendar.toString() + "'");
              m_calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
              SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd");
              StringBuffer sb = new StringBuffer();
              sdf.format(m_calendar.getTime(), sb, new FieldPosition(0));
              System.out.println("Date in format (" + sdf.toPattern()          + ") = '" + sb.toString() + "'");
         catch(Exception e)
              e.printStackTrace();
         return m_calendar.getTime();
    This should work at least accoring to my understanding of the SDK documentation as follows with
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_01-b01)
    Java HotSpot(TM) Client VM (build 1.4.1_01-b01, mixed mode)
    Calendar='java.util.GregorianCalendar[time=1054636838494,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Europe/Helsinki",offset=7200000,dstSavings=3600000,useDaylight=true,transitions=118,lastRule=java.util.SimpleTimeZone[id=Europe/Helsinki,offset=7200000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=2,startMonth=2,startDay=-1,startDayOfWeek=1,startTime=3600000,startTimeMode=2,endMode=2,endMonth=9,endDay=-1,endDayOfWeek=1,endTime=3600000,endTimeMode=2]],firstDayOfWeek=2,minimalDaysInFirstWeek=4,ERA=1,YEAR=2003,MONTH=5,WEEK_OF_YEAR=23,WEEK_OF_MONTH=1,DAY_OF_MONTH=3,DAY_OF_YEAR=154,DAY_OF_WEEK=3,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=1,HOUR_OF_DAY=13,MINUTE=40,SECOND=38,MILLISECOND=494,ZONE_OFFSET=7200000,DST_OFFSET=3600000]'
    Date in format (yyyy.MM.dd) = '2003.06.08'
    Which is the sunday of this week. But as I run the same code with:
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1.06-020625-14:20)
    Java HotSpot(TM) Server VM (build 1.3.1 1.3.1.06-JPSE_1.3.1.06_20020625 PA2.0, mixed mode)
    Calendar='java.util.GregorianCalendar[time=1054636630703,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=java.util.SimpleTimeZone[id=Europe/Helsinki,offset=7200000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=2,startMonth=2,startDay=-1,startDayOfWeek=1,startTime=3600000,startTimeMode=2,endMode=2,endMonth=9,endDay=-1,endDayOfWeek=1,endTime=3600000,endTimeMode=2],firstDayOfWeek=2,minimalDaysInFirstWeek=4,ERA=1,YEAR=2003,MONTH=5,WEEK_OF_YEAR=23,WEEK_OF_MONTH=1,DAY_OF_MONTH=3,DAY_OF_YEAR=154,DAY_OF_WEEK=3,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=1,HOUR_OF_DAY=13,MINUTE=37,SECOND=10,MILLISECOND=703,ZONE_OFFSET=7200000,DST_OFFSET=3600000]'
    Date in format (yyyy.MM.dd) = '2003.06.01'
    Which is sunday of the previous week and incorrect in my opinion. The latter result is run on HP-UX B.11.11 U 9000/800 and first on NT.
    Any ideas why this is happening? Thanks in advance!
    Greets, Janne

    Thanks for your answer!
    The problem is that I have to work with this older SDK version. :) But I got it solved by using the roll method with the following syntax:
    int delta = [dayToSet] - m_calendar.get(Calendar.DAY_OF_WEEK);
    in which the delta is of course the difference (negative or positive to the current day of the week)
    and then using the roll call:
    m_calendar.roll(Calendar.DAY_OF_WEEK, delta);
    which doesn't alter the current week. So this works if someone else has a similar problem with the version 1.3.1
    Greets, Janne

  • Netprice Picked up from last document-Open PO load using LSMW BAPI method.

    Hi Experts,
    I m doing Open PO load using LSMW BAPI method...(BAPI_PO_CREAT1).
    Inside the LSMW BAPI picks up the NETPR value from the last document and doesnt consider the value from load file...
    Please advice me how to handle this issue...
    I tried giving values to field CALCTYPE at item level or POCOND table with with carry out new pricing options....but nothig works for me...
    PLease give your valuable inputs to achieve the requirement....
    Bharathi.J

    read OSS Note 580225 - Purchasing BAPIs: Conditions and pricing

  • How to send email using SPUtility.SendEmail method

    hi all,
             I am using SPUtility.SendEmail method to send email to list of users. but i am unable to send it. Code is not throwing any kind of error. Can anyone guide me steps to send email programmatically .
    Regards,
    Milan C.

    Hello Milan, 
    Humm, 
    Problably code is correct, need to speak with System administrator of mail server/exchange to know what rules exist on server mail.
    Verify if server mail validate IP from server to allow send mail. 
    Verify if exist some rule from server mail that validate sender with some domain "[email protected]"
    Verify if Email server have relay active to send Emails externaly
    Verify what type of authentication exist on you server Email, "Anonymous access or Login as password access", https? port number?
    This info is very important to have before you configure emails on sharepoint, to preview problems....  
    André Lage Microsoft SharePoint, CRM and Sybase Consultant
    Blog:http://aaclage.blogspot.com
    Codeplex:http://spupload.codeplex.com/http://simplecamlsearch.codeplex.com/

  • There is no printer output when using the PrintOut method

    I have a VB6 app with CR XI, and a customer found a situation that when printing a report directly to the printer using the PrintOut method, there is no printer output or error message.
    Some reports using the same code print normally, but a report that is preceded by another print call, presents this behavior.
    And when the output is directed to the screen, we can see the report.
    Could someone give me an idea of what is the problem?
    Thanks,
    Isis
    SP - Brazil
    The code used is below:
                       Set rpt = applic.OpenReport(App.Path & "SEFoto" + TipoRPT + ".rpt")
                       rpt.FormulaSyntax = crCrystalSyntaxFormula
                       rpt.FormulaFields.GetItemByName("Empresa").Text = "'" + Company + "'"
                       rpt.FormulaFields.GetItemByName("Idioma").Text = "'" + Idioma + "'"
                       rpt.FormulaFields.GetItemByName("Versao").Text = "'" + Versao + "'"
                       ' ... Some lines to compose the selection formula
                       rpt.RecordSelectionFormula = Cond
                       ' To evaluate the image length:
                       Arq = rsTMP3!FT_Arquivo
                       ImageScaling = FatorDeReducao(Arq, "F")
                       ' To reduce the image length:
                       AchouOLE = False
                       For Each oSection In rpt.Sections
                           For Each oObject In oSection.ReportObjects
                               If oObject.Name = "PictureFoto" Then
                                  Set oOleObject = oObject
                                  AchouOLE = True
                                  Exit For
                               End If
                           Next oObject
                           If AchouOLE Then Exit For
                       Next oSection
                       With oOleObject
                            .Suppress = True
                            .XScaling = ImageScaling    ' 0.5 = 50%, 1 = 100%
                            .YScaling = ImageScaling
                            .Suppress = False
                       End With
                       Aguarde.Show 1
                       If DestinoRel = 9 Or DestinoRel = 1 Then ' Padrão ou impressora
                          rpt.PrintOut True              ' <<<---- Here using true or false nothing happens
                       Else
                          PrintRPTtela rpt, "Fotos"   ' <<<--- Here it works fine
                       End If

    Hi Isis,
    Not sure if you have applied any service Packs to CR? If please do so and test again. Then you can upgrade to CR XI R2 for free, use your XI Keycode and download Service Pack 4 from this link:
    https://smpdl.sap-ag.de/~sapidp/012002523100011802732008E/crxir2_sp4_full_build.exe
    You'll find the distribution files for your app also from that same download area.
    If you don't want to upgrade to XI R2 then download all patches from XI and test again. This issues rings a bell that it may have been fixed.
    Thank you
    Don

Maybe you are looking for

  • Header and footer template

    I would like build an app with a header and footer which will be used. What is the best practice for this type of layout? Any template I can use? Thanks.

  • Updating - the best of both worlds

    Hi, Ive had a look through a lot of the topics in this forum, though nobody seems to have wanted to do exactly the same as me. My application has quite a few lengthy operations that are perfomed as part of an actionPerformed event. Im focusing on one

  • Did Firefox Update restart my Windows session?

    I left my computer with a number of windows and documents open, some in the midst of making changes. When I returned, my other activity was gone and Firefox said it had just done an automatic update. Did the Firefox update cancel all the programs I h

  • Highlight variance

    Hi, In one of the interactive report I am showing monthly billing... I can use interactive option to highlight any significant variance, but it shows a + sign that is causing some confusion... Is there a way I can highlight any significant month over

  • How do you guys reduce noise in Canon 5d mark II video?

    I am really interested to know if anybody could give me leads on how to reduce noise in 5d mark II videos. First off - Canon 5d mark II stock HD bitrate is not really nice. Even shooting in day time I have color noise and a lot of noise in shadow are