Change pointer Function Module

Is there any standard function module to create idoc of message type DEBMDM like we have MASTERIDOC_CREATE_SMD_DEBMAS for DEBMAS?
thank youuuu

do one thing copy the MASTERIDOC_CREATE_SMD_DEBMAS  into ZFM and code for segments which are not in DEBMAS03 ...
Regards..
dear dont forget to give points..miniimum 2 :)..make it good habbit..

Similar Messages

  • Regarding a Change Document Function Module ----- VERY VERY Urgent

    I am using a Change Document Function module "CHANGEDOCUMENT_READ". It is taking a long time.
    I am using the parameters:
    Start date is the first date of the current month
    Enddate as last date of the current month
    Object class as 'MATERIAL'
    Table Name as 'MBEW'

    Hi ,
    When you want to read the change documents, please follow the below process.
    1. Read the change documents headers with function modules
    call function 'CHANGEDOCUMENT_READ_HEADERS'
           exporting
                date_of_change             = cdhdr-udate
                objectclass                = cdhdr-objectclas
                objectid                   = cdhdr-objectid
                time_of_change             = '000000'
                username                   = cdhdr-username
           tables
                i_cdhdr                    = gt_cdhdr
           exceptions
                no_position_found          = 1
                wrong_access_to_archive    = 2
                time_zone_conversion_error = 3
                others                     = 4.
    2. From above step you will get data of change documents very quickly into Itab (gt_cdhdr)
    3. Read the details on change documents with functiion module by using Itab in loop for each document.
      loop at gt_cdhdr.
        call function 'CHANGEDOCUMENT_READ_POSITIONS'
             exporting
                  changenumber            = gt_cdhdr-changenr
             importing
                  header                  = cdhdr
             tables
                  editpos                 = gt_cdshw
             exceptions
                  no_position_found       = 1
                  wrong_access_to_archive = 2
                  others                  = 3.
    Above is the best way to read the change documents.
    Rewards please if above info is useful.
    Thanks.

  • Changes In Function Module

    Hello abap Gurus,
    My Zdevelopment reports shows the runtime errors due to
    changes in this function module :-
    ZCFM_HIDE_INITIALFIELD_ALV
    So anybody pls. suggest me what i can do for this.I m attaching the coding also.
    FUNCTION ZCFM_HIDE_INITIALFIELD_ALV.
    ""Local Interface:
    *"  IMPORTING
    *"     REFERENCE(STRUC)
    *"     REFERENCE(FIELDCAT) TYPE  SLIS_T_FIELDCAT_ALV
    *"     REFERENCE(HIDE) OPTIONAL
    *"  EXPORTING
    *"     REFERENCE(FIELDCAT_E) TYPE  SLIS_T_FIELDCAT_ALV
    *"  TABLES
    *"      IT_TAB
    *"      IT_TAB1
    DATA S_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
    FIELD-SYMBOLS <F1>.
    FIELD-SYMBOLS <F2>.
    DATA FIELDNAME(30).
    DATA VALUE(100).
    DATA : BEGIN OF DISPLAY OCCURS 0,
    FIELDNAME LIKE DD03L-FIELDNAME,
    END OF DISPLAY.
    LOOP AT IT_TAB.
    DO .
    READ TABLE FIELDCAT INDEX SY-INDEX
    INTO S_FIELDCAT.
    IF SY-SUBRC NE 0.
    EXIT.
    ENDIF.
    ASSIGN SY-INDEX OF STRUCTURE IT_TAB1 TO <F1>.
    CONCATENATE 'IT_TAB-' S_FIELDCAT-FIELDNAME INTO
    FIELDNAME.
    ASSIGN (FIELDNAME) TO <F1>.
    IF NOT <F1> IS INITIAL.
    DISPLAY-FIELDNAME = S_FIELDCAT-FIELDNAME.
    COLLECT DISPLAY.
    ENDIF.
    ENDDO.
    ENDLOOP.
    FIELDCAT_E = FIELDCAT.
    LOOP AT FIELDCAT_E INTO S_FIELDCAT .
    READ TABLE DISPLAY WITH KEY FIELDNAME = S_FIELDCAT-FIELDNAME.
    IF SY-SUBRC NE 0.
    IF HIDE IS INITIAL.
    DELETE FIELDCAT_E.
    ELSE.
    S_FIELDCAT-NO_OUT = 'X'.
    CLEAR S_FIELDCAT-KEY .
    MODIFY FIELDCAT_E FROM S_FIELDCAT TRANSPORTING NO_OUT
    KEY.
    ENDIF.
    ENDIF.
    ENDLOOP.
    endfunction.

    This is all about the runtime error :-
    Incorrect parameter with CALL FUNCTION
    Error analysis :-
        An exception occurred that is explained in detail below.
        The exception, which is assigned to class 'CX_SY_DYN_CALL_PARAM_MISSING', was
         not caught in
        procedure "HIDE_FIELDS" "(FORM)", nor was it propagated by a RAISING clause.
        Since the caller of the procedure could not have anticipated that the
        exception would occur, the current program is terminated.
        The reason for the exception is:
        When calling the function module "ZCFM_HIDE_INITIALFIELD_ALV", one of the
         parameters
        needed according to the interface description was not specified.
        This parameter was "IT_TAB1".
    I am not changing the function module, my couligue has change this he leave it & he doesn't tel to me. So pls. give some sol. to me.
    Thanks,
    Sumit.

  • How to change a function module ??

    Hi, I am using the FM L_TO_CREATE_DN but i am having a problem. When the batch number doesn't exist the program should keep the text with the error in an internal table and should continue running with other deliveries. The problem is that the error is not in the list of exceptions, the problem occurs inside the function module, so I don't know how control it. I think I should change anything inside the function but I don't know how to do it, or maybe I could control before. Does anybody how to do it??

    Hi amcaletrio,
                         As it is a Standard Function module,it is not possible for us to change. It is better to debug the code, not complete Function module.
    In debugging first reach to the desired point by using break points.
    1.  In debugging mode, in the MENU bar you can see Breakpoints --->
    Breakpoint at -
    > statement(click here) .
    2. Here type " MESSAGE".
    3.Press F8
    4.Stop here, the that u r looking is found or not
    5.If not, again press F8
    At one place you can get ur desired message.
    Copy that FM only as user copy. Here instead calling the Standard FM call this
    copied FM.Here in this Change message type from "E" to "W".
    So that, you can get desired functionality.
    Hope, the above desc. make you understand crystal clear.
    If there is any doubts regarding this, You are welcome.
    Reward,if helps.
    Regards,
    V.Raghavender.

  • Changing IDOC function module?

    Hello everyone!
    I would like to make changes to the function module responsible for creating Sales Order Idocs: IDOC_INPUT_ORDERS. How should I go about this procedure? Do I need to copy the existing function module and create a new one? If so, how do I point the IDOC (ORDERS05) to the new function module (for example, ZIDOC_INPUT_ORDERS).
    Thanks in advance!
    Warm regards,
    Glenn

    > I would like to make changes to the function module responsible for creating Sales
    > Order Idocs: IDOC_INPUT_ORDERS. How should I go about this procedure?
    > Do I need to copy the existing function module and create a new one?
    (1)This is one possible solution, another one is to use some (2)customer function exits for inbound Idoc – these enhancements might be useful: MM06E001, VEDA0001or (depending on platform you are) you might go for e.g. (3)“Implicit enhancement”. In last two cases you probably don’t need to create Z-FM and Z-process code.
    > If so, how do I point the IDOC (ORDERS05) to the new function module (for
    > example, ZIDOC_INPUT_ORDERS).
    1) Copy FM to ZFM
    2) Specify characteristic of FM – BD51
    3) Create Z-inbound process code: WE42 and assign a Z-FM to it.
    4) Assign FM to message type – WE57
    >If you have any other information on how to properly edit the IDOC function
    > module (for example, adding ABAP checking codes before populating the IDOC
    > fields) it would be great if you could share them!
    To add some checks at the beginning you might use all three possible solutions:
    (1) in ZFM you might add you code at the very beginning and return some error message
    (2) you might use on of the available customer function exits to do some checks
    (3) you can do the implicit enhancement and also return some error code at the very beginning of standard FM
    In both cases I recommend to go for approach no (2). Useful tcodes: CMOD and SMOD.
    Regards,
    Jakub

  • Code sample for using change document function modules

    Can someone send me some sample code for using function modules CHANGEDOCUMENT_READ_HEADER and CHANGEDOCUMENT_READ_POSITIONS?  I'm specifically looking for changes that occured to the standard price field in the material master (MBEW-STPRS) and I need to pull the most recent price change for a given material.  I'm not sure how to write the code efficiently since I don't have a date to pass (again, since we're looking for the most recent change.)
    Thanks!

    hi check this..
    CHANGEDOCUMENT_READ_HEADERS
    Example:
    CALL FUNCTION 'CHANGEDOCUMENT_READ_HEADERS'
    EXPORTING
    objectclass = 'EINKBELEG'
    objectid = l_objectid
    username = space
    TABLES
    i_cdhdr = lt_cdhdr.
    LOOP AT lt_cdhdr WHERE udate IN s_aedat.
    CALL FUNCTION 'CHANGEDOCUMENT_READ_POSITIONS'
    EXPORTING
    changenumber = lt_cdhdr-changenr
    TABLES
    editpos = lt_editpos.
    LOOP AT lt_editpos WHERE fname = 'LOEKZ'
    AND f_new = 'L'.
    p_desc = text-r01. " Cancel Contract
    ENDLOOP.
    ENDLOOP.
    CHANGEDOCUMENT_READ_POSITIONS
    Example:
    CALL FUNCTION 'CHANGEDOCUMENT_READ_HEADERS'
    EXPORTING
    objectclass = 'EINKBELEG'
    objectid = l_objectid
    username = space
    TABLES
    i_cdhdr = lt_cdhdr.
    LOOP AT lt_cdhdr WHERE udate IN s_aedat.
    CALL FUNCTION 'CHANGEDOCUMENT_READ_POSITIONS'
    EXPORTING
    changenumber = lt_cdhdr-changenr
    TABLES
    editpos = lt_editpos.
    LOOP AT lt_editpos WHERE fname = 'LOEKZ'
    AND f_new = 'L'.
    p_desc = text-r01. " Cancel Contract
    ENDLOOP.
    ENDLOOP.
    Check this link.
    http://www.sap-img.com/mm001.htm
    <REMOVED BY MODERATOR>
    venkat.
    Edited by: Alvaro Tejada Galindo on Mar 18, 2008 4:05 PM

  • Changes in function module SO_DOCUMENT_SEND_API1

    Hi all,
    I've been using function module SO_DOCUMENT_SEND_API1 to send e-mail (containing some simple text) with an Excel file attached to it. As of 01.11.2009 SAP has changed a lot of the function module code - and now the Excel file contents has become faulty (rows missing).
    Can anyone give me code examples on how to use the new version of the function module?
    Regards,
    MV

    Hi all,
    I've been using function module SO_DOCUMENT_SEND_API1 to send e-mail (containing some simple text) with an Excel file attached to it. As of 01.11.2009 SAP has changed a lot of the function module code - and now the Excel file contents has become faulty (rows missing).
    Can anyone give me code examples on how to use the new version of the function module?
    Regards,
    MV

  • How to use Change doc Function Module?

    Fn mod:ZSUBTESTCHG_WRITE_DOCUMENT
    Import parameters               Value
    OBJECTID                        ZSUBTESTCHG
    TCODE                            SE37
    UTIME                             00:00:00
    UDATE                             09.03.2009
    USERNAME                        'TESTUSER'
    PLANNED_CHANGE_NUMBER
    OBJECT_CHANGE_INDICATOR            I
    PLANNED_OR_REAL_CHANGES         R
    NO_CHANGE_POINTERS
    UPD_ICDTXT_ZSUBTESTCHG               I
    N_ZSUBTEST                         2         TEST
    O_ZSUBTEST                         2         TEST
    UPD_ZSUBTEST                    I
    Tables                          Value
    ICDTXT_ZSUBTESTCHG                 0 Entries
    I have a ztable 'ZSUBTEST' with 2 fields DEPTID and DEPNAME and ticked "change document" for data element.
    I have created the above change doc write fn module. I am trying to insert a new reocrd into table.
    How to use ZSUBTESTCHG_WRITE_DOCUMENT so that even if i try to change an existing record in ztable the old and new values for a particulat ztable will be filled in CDPOS Table.
    Would appreciate if you can suggest me how to use in1) Update and 2) Insert scenarios.
    Thanks,
    Subba

    hi check this,
    Types Declaration***
    types: BEGIN OF X_audit,
    Field of ZAUDIT TABLE OR a custom created table------
           END OF X_audit.
    Data Declaration***
    Data: w_newvalues type X_audit,
          w_oldvalues type X_audit.
    DATA: BEGIN OF t_cdtxt OCCURS 0.
            INCLUDE STRUCTURE cdtxt.
    DATA: END OF t_cdtxt.
    DATA:  l_tcode type cdhdr-tcode ,
           l_time type cdhdr-utime,
           l_usnam type cdhdr-username,
           l_date type cdhdr-udate.
    **Constants****
    CONSTANTS : l_objectid TYPE cdhdr-objectid VALUE 'ZAUDIT_CD'.
    Initialization.
    Clear: l_tcode,l_time, l_usnam, l_date.
    Clear: w_newvalues, w_oldvalues.
    **Start-Of-Selection**
    Start-of-selection.
    *Populating w_oldvalues workarea with old values from the table
    Select single * from zaudit_t
                    Into w_oldvalues
                    Where belnr eq belnr_1
                    And  gjahr eq gjahr_1
                    And  bukrs eq bukrs_1. u201C where, belnr_1, gjahr_1, bukrs_1  are the fields on selection screen.
    here we are populating w_newvalues workarea with new values
    W_newvalues-f1 = w_oldvalues-f1
    f2 = u2018XXXXXXXu2019     -
    f3 = u2018YYYYYYYu2019
    f4 = u2018ZZZZZZZu2019
    l_tcode = sy-tcode.
    l_time = sy-uzeit.
    l_usnam = sy-uname.
    l_date = sy-datum.
    modify the table with new values***
    MODIFY zaudit_t FROM w_submit.
    IF sy-subrc EQ 0.
        MESSAGE 'Document Updated' TYPE 'S'.
    call function 'ZAUDIT_CD1_WRITE_DOCUMENT'
        exporting
          objectid                   = l_objectid
          tcode                      = l_tcode
          utime                      = l_time
          udate                      = l_date
          username                   = l_usnam
        PLANNED_CHANGE_NUMBER      = ' '
          object_change_indicator    = 'U'           u201CU-update, I-insert, D-delete
        PLANNED_OR_REAL_CHANGES    = ' '
        NO_CHANGE_POINTERS         = ' '
          upd_icdtxt_zaudit_cd       = 'U'
          n_zaudit_t                 = w_newvalues  u201Cpass the work area containing new values     
          o_zaudit_t                 = w_oldvalues  u201Cpass the work area containing old values
          upd_zaudit_t               = 'U'         u201C this parameter gives the values in the columns(new value, old value and changed field name) of table CDPOS.
        tables
          icdtxt_zaudit_cd           = t_cdtxt
    ELSE.
       MESSAGE 'Document Not Updated' TYPE 'S'.
    ENDIF. u201CIF sy-subrc EQ 0.

  • Table Structure changed in Function Module

    Hello All,
    How to check the strcuture of the table " yrdb_tp10_map:
    got changed in the following FM.
    As its not working properly.
    function yrdb_tp10_get_mapping.
    ""Lokale Schnittstelle:
    *"  IMPORTING
    *"     REFERENCE(VARIANTE) TYPE  YDOMAENE
    *"     REFERENCE(DOMAENE) TYPE  YDOMAENE OPTIONAL
    *"     REFERENCE(OLD_VALUE) TYPE  YOVALUE OPTIONAL
    *"  EXPORTING
    *"     REFERENCE(NEUER_WERT) TYPE  YNVALUE
    *"  TABLES
    *"      YRDB_TP10_MAP TYPE  YRDB_TP10_MAP_TYPE
    *"  EXCEPTIONS
    *"      NOT_FOUND
    *"      WRONG_IMPORT
    tp10_map Feld über Zustand der globalen internen Tabelle
    g_yrdbtp10_map
    Wert X Tabelle gefüllt
      data: import(1) type c,
            tab_in type i.
      if tp10_map eq space.      "interne Tabelle leer.
        select * from yrdb_tp10_map into table g_yrdbtp10_map.
        sort g_yrdbtp10_map.
        tp10_map = 'X'.
      endif.
    prüfen der importparameter.
    wenn import = 'initial' beide Importparameter sind leer
    wenn import = 1 domaene gefüllt
    wenn import = 2 domaene und old value gefüllt
    wenn import = 3 nur old value gefüllt --> raise Exception wrong_import
      if domaene(1) ne space.
        import = '1'.
      endif.
      if old_value(1) ne space.
        if import = 1.
          import = 2.
        else.
          raise wrong_import.
        endif.
      endif.
    Vorbereitung der Rückgabe
    wenn import = 'initial' Rückgabetabelle vorbereiten Ebene VARIANTE
    wenn import = 1 Rückgabetabelle vorbereiten Ebene Domaene
    wenn import = 2 Einzelwert zurückgeben new_value
      case import.
        when space.
          loop at g_yrdbtp10_map into yrdb_tp10_map
                             where variante = variante.
            append yrdb_tp10_map to yrdb_tp10_map.
          endloop.
          describe table yrdb_tp10_map lines tab_in.
          if tab_in le 0.
            raise not_found.
          endif.
        when '1'.
          loop at g_yrdbtp10_map into yrdb_tp10_map
                             where VARIANTE    = VARIANTE
                             and   domaene     = domaene.
            append yrdb_tp10_map to yrdb_tp10_map.
          endloop.
          if tab_in le 0.
            raise not_found.
          endif.
        when '2'.
          read table g_yrdbtp10_map into yrdb_tp10_map
            with key     VARIANTE    = VARIANTE
                         domaene     = domaene
                         old_value   = old_value.
          if sy-subrc eq space.
            neuer_wert = yrdb_tp10_map-new_value.
          else.
            raise not_found.
          endif.
      endcase.
    endfunction.

    go to tables statements -
    > double click on the structure----> it will takes you to that structure

  • Delta extraction(date) with Function module problem

    Hi All,
    FUNCTION zrsax_biw_get_data_pr_d.
    *"*"Local Interface:
    *"  IMPORTING
    *"     VALUE(I_REQUNR) TYPE  SBIWA_S_INTERFACE-REQUNR
    *"     VALUE(I_ISOURCE) TYPE  SBIWA_S_INTERFACE-ISOURCE OPTIONAL
    *"     VALUE(I_MAXSIZE) TYPE  SBIWA_S_INTERFACE-MAXSIZE OPTIONAL
    *"     VALUE(I_INITFLAG) TYPE  SBIWA_S_INTERFACE-INITFLAG OPTIONAL
    *"     VALUE(I_UPDMODE) TYPE  SBIWA_S_INTERFACE-UPDMODE OPTIONAL
    *"     VALUE(I_DATAPAKID) TYPE  SBIWA_S_INTERFACE-DATAPAKID OPTIONAL
    *"     VALUE(I_PRIVATE_MODE) OPTIONAL
    *"     VALUE(I_CALLMODE) LIKE  ROARCHD200-CALLMODE OPTIONAL
    *"     VALUE(I_REMOTE_CALL) TYPE  SBIWA_FLAG DEFAULT SBIWA_C_FLAG_OFF
    *"  TABLES
    *"      I_T_SELECT TYPE  SBIWA_T_SELECT OPTIONAL
    *"      I_T_FIELDS TYPE  SBIWA_T_FIELDS OPTIONAL
    *"      E_T_DATA STRUCTURE  ZPR_ST OPTIONAL
    *"  EXCEPTIONS
    *"      NO_MORE_DATA
    *"      ERROR_PASSED_TO_MESS_HANDLER
    * The input parameter I_DATAPAKID is not supported yet !
    * Example: InfoSource containing TADIR objects
    *  TABLES: tadir.
    *DATA: BEGIN OF zpr_st_copy,
    *        banfn TYPE zpr_st-banfn,
    *        bnfpo TYPE zpr_st-bnfpo,
    *        zebkn TYPE zpr_st-zebkn,
    *        knttp TYPE zpr_st-knttp,
    *        vbeln TYPE zpr_st-vbeln,
    *        ps_psp_pnr TYPE zpr_st-ps_psp_pnr,
    *        gsber TYPE zpr_st-gsber,
    *        werks TYPE zpr_st-werks,
    *        statu TYPE zpr_st-statu,
    *        ekgrp TYPE zpr_st-ekgrp,
    *        menge TYPE zpr_st-menge,
    *        frgdt TYPE zpr_st-frgdt,
    *        meins TYPE zpr_st-meins,
    *         loekz TYPE zpr_st-loekz,
    *      END OF zpr_st_copy.
    * Auxiliary Selection criteria structure
      DATA: l_s_select TYPE sbiwa_s_select.
    * Maximum number of lines for DB table
      STATICS: l_maxsize TYPE sbiwa_s_interface-maxsize.
    * Select ranges
    *  RANGES: l_r_pgmid  FOR tadir-pgmid,
    *          l_r_object FOR tadir-object,
        RANGES: PRNO for zpr_st-banfn,
                DATE1 FOR zpr_st-frgdt.
    * Parameter I_PRIVATE_MODE:
    * Some applications might want to use this function module for other
    * purposes as well (e.g. data supply for OLTP reporting tools). If the
    * processing logic has to be different in this case, use the optional
    * parameter I_PRIVATE_MODE (not supplied by BIW !) to distinguish
    * between BIW calls (I_PRIVATE_MODE = SPACE) and other calls
    * (I_PRIVATE_MODE = X).
    * If the message handling has to be different as well, define Your own
    * messaging macro which interprets parameter I_PRIVATE_MODE. When
    * called by BIW, it should use the LOG_WRITE macro, otherwise do what
    * You want.
    * Initialization mode (first call by SAPI) or data transfer mode
    * (following calls) ?
      IF i_initflag = sbiwa_c_flag_on.
    * Initialization: check input parameters
    *                 buffer input parameters
    *                 prepare data selection
    * The input parameter I_DATAPAKID is not supported yet !
    * Invalid second initialization call -> error exit
        IF NOT g_flag_interface_initialized IS INITIAL.
          IF 1 = 2. MESSAGE e008(r3). ENDIF.
          log_write 'E'                    "message type
                    'R3'                   "message class
                    '008'                  "message number
                    ' '                    "message variable 1
                    ' '.                   "message variable 2
          RAISE error_passed_to_mess_handler.
        ENDIF.
    * Check InfoSource validity
        CASE i_isource.
          WHEN 'ZPR_ST_DS_D' OR ''.
          WHEN OTHERS.
            IF 1 = 2. MESSAGE e009(r3). ENDIF.
            log_write 'E'                  "message type
                      'R3'                 "message class
                      '009'                "message number
                      i_isource            "message variable 1
                      ' '.                 "message variable 2
            RAISE error_passed_to_mess_handler.
        ENDCASE.
    * Check for supported update mode
        CASE i_updmode.
          WHEN 'F' OR ''.
          WHEN 'C'.
          WHEN 'R'.
          WHEN 'S'. " DELTA INITIALIZATION
          WHEN 'I'. "DELTA INITIALIZATION FOR NON CUMULATIVE
          WHEN 'D'. "DELTA
          WHEN OTHERS.
            IF 1 = 2. MESSAGE e011(r3). ENDIF.
            log_write 'E'                  "message type
                      'R3'                 "message class
                      '011'                "message number
                      i_updmode            "message variable 1
                      ' '.                 "message variable 2
            RAISE error_passed_to_mess_handler.
        ENDCASE.
    BREAK-POINT.
    * Check for obligatory selection criteria
    *    READ TABLE i_t_select INTO l_s_select WITH KEY fieldnm = 'ZPR_ST-FRGDT'.
    *    IF sy-subrc <> 0.
    *      IF 1 = 2. MESSAGE e010(r3). ENDIF.
    *      log_write 'E'                    "message type
    *                'R3'                   "message class
    *                '010'                  "message number
    *                'PGMID'                "message variable 1
    *                ' '.                   "message variable 2
    *      RAISE error_passed_to_mess_handler.
    *    ENDIF.
        APPEND LINES OF i_t_select TO g_t_select.
    * Fill parameter buffer for data extraction calls
        g_s_interface-requnr    = i_requnr.
        g_s_interface-isource   = i_isource.
        g_s_interface-maxsize   = i_maxsize.
        g_s_interface-initflag  = i_initflag.
        g_s_interface-updmode   = i_updmode.
        g_s_interface-datapakid = i_datapakid.
        g_flag_interface_initialized = sbiwa_c_flag_on.
    * Fill field list table for an optimized select statement
    * (in case that there is no 1:1 relation between InfoSource fields
    * and database table fields this may be far from beeing trivial)
        APPEND LINES OF i_t_fields TO g_t_segfields.
    *   Start tracing of extraction
    *    bice_trace_open g_r_tracer i_t_fields.
      ELSE.                 "Initialization mode or data extraction ?
    * Data transfer: First Call      OPEN CURSOR + FETCH
    *                Following Calls FETCH only
    * First data package -> OPEN CURSOR
        IF g_counter_datapakid = 0.
    * Fill range tables for fixed InfoSources. In the case of generated
    * InfoSources, the usage of a dynamical SELECT statement might be
    * more reasonable. BIW will only pass down simple selection criteria
    * of the type SIGN = 'I' and OPTION = 'EQ' or OPTION = 'BT'.
    *      LOOP AT g_t_select INTO l_s_select WHERE fieldnm = 'PGMID'.
    *        MOVE-CORRESPONDING l_s_select TO l_r_pgmid.
    *        APPEND l_r_pgmid.
    *      ENDLOOP.
    *      LOOP AT g_t_select INTO l_s_select WHERE fieldnm = 'OBJECT'.
    *        MOVE-CORRESPONDING l_s_select TO l_r_object.
    *        APPEND l_r_object.
    *      ENDLOOP.
    LOOP AT g_t_select INTO l_s_select WHERE fieldnm = 'ZPR_ST-FRGDT'.
                MOVE-CORRESPONDING l_s_select to DATE1.
                DATE1-sign = 'I'.
                DATE1-option = 'GE'.
                clear DATE1-high.
                APPEND DATE1.
          ENDLOOP.
    * Determine number of database records to be read per FETCH statement
    * from input parameter I_MAXSIZE. If there is a one to one relation
    * between InfoSource table lines and database entries, this is trivial.
    * In other cases, it may be impossible and some estimated value has to
    * be determined.
          l_maxsize = g_s_interface-maxsize.
          OPEN CURSOR WITH HOLD g_cursor FOR
    *      SELECT (g_t_fields) FROM tadir
    *                               WHERE pgmid  IN l_r_pgmid AND
    *                                     object IN l_r_object.    "#EC CI_GENBUFF
    *@ CODE FOR THE STRUCTURE TO FILL IN FROM EBAN AND EBKN@*
                SELECT a~banfn a~bnfpo k~zebkn a~knttp k~vbeln k~ps_psp_pnr k~gsber a~werks a~statu a~ekgrp a~menge a~menge a~frgdt a~meins
    * INTO CORRESPONDING FIELDS OF TABLE IT1
                FROM  eban AS a INNER JOIN ebkn AS k ON ( a~banfn = k~banfn AND a~bnfpo = k~bnfpo )
                WHERE a~banfn GE '2000000000' AND a~banfn LE '2999999999' and a~loekz eq ' ' and a~frgdt ge '20130401' and a~FRGKZ eq '2'.
    *BREAK-POINT.
        ENDIF.                             "First data package ?
    * Fetch records into interface table. There are two different options:
    * - fixed interface table structure for fixed InfoSources have to be
    *   named E_T_'Name of assigned source structure in table ROIS'.
    * - for generating applications like LIS and CO-PA, the generic table
    *   E_T_DATA has to be used.
    * Only one of these interface types should be implemented in one API !
        FETCH NEXT CURSOR g_cursor
                   APPENDING CORRESPONDING FIELDS
                   OF TABLE e_t_DATA
                   PACKAGE SIZE l_maxsize.
        IF sy-subrc <> 0.
          CLOSE CURSOR g_cursor.
    *      bice_trace_close g_r_tracer.
          RAISE no_more_data.
        ENDIF.
    *    bice_collect_table g_r_tracer e_t_data.
        g_counter_datapakid = g_counter_datapakid + 1.
      ENDIF.              "Initialization mode or data extraction ?
    ENDFUNCTION.
    in the above I_t_fields and I_T_select structures  are not getting data .....
    can any one pleasee let me know what mistake i hvae done with my code?
    and i m unbale to change data source value to F1 if i am trying to change my function module and extract structure are disappearing....
    i m not getting why it is happening .......
    thank you
    vijay

    Hi yasemin,
       I m bit confused here with the line below
                                     IF i_initflag = sbiwa_c_flag_on.(if we pass 'X' then it will enter loop and checks for F or D and then assigns values to I_T_SELECT and I_T_Fields structure)
          accordfing to my code i feel it will work for any one not both(F or D).
    one more doubt rsax_biw_get_data extraction method is F2 few of them are asking to change to F1.
    so tried running a code then in RSO2 extact structure and FM both dissapeared i did not get why it happened ?
    can you please let me know why it happend
    thanks
    vijay

  • EDI INVOICE Function module IDOC_OUTPUT_INVOIC

    Hi,
      Please help me with a solution for the Specification.
    Requirements:
    1.     EDI Invoice requires populating bottle UPC number not case UPC in IDOC and also populates customer PO number when invoice billing type is a credit.  These changes need to be reflected on EDI invoice (Idoc INVOIC02).
    Investigation:
    Requirement 1. EDI invoices are populating segment E1EDP19 qualifier 003 based on the unit of measure in the line item.  If shipment unit is CSE then it populates CSE upc, if shipment unit is EA then it populates Bottle UPC. 
    a.     It was found that the UPC populated on the EDI invoice was being read from material master – Additional data tab.  (Field SMEINH-EAN11).  For the EDI invoice, the customers expect the bottle UPC on this column.
    Requirement 2.  Need to always populate Segment E1EDK02 Qualifier 001 (customer PO) on the INVOIC02 idoc.  Standard SAP populates this information only when the billing type is F2 (regular invoice) and if the customer PO was entered in the Sales Order.
                                a) Premier requires this information to be populated in the idoc if the billing type is G2, RE, L2 also.
    Solution:
    Requirement 1.
           IDOC_OUTPUT_INVOIC function module needs to be changed to always populate the UPC number for the bottle UPC in segment E1EDP19 qualifier 003, field IDTNR.  This number is found on the material master – Basic data 1 view.  Field name is MARA-EAN11.   Please see screenshot of where in the material master to find the bottle UPC. 
         a. This change applies to all billing types (F2, G2, L2, RE etc).
           Requirement 2.
                 Change IDOC_OUTPUT_INVOIC function module to always populate customer PO information in Segment E1EDK02 qualifier 001, field BELNR.
    If billing type is equal to G2, L2, RE and VBRK-XBLNR not equal blanks then make BELNR = VBRK-XBLNR.
    Segment:  E1EDK02
                                  Field:  QUAL = 001
                                  Field:  BELNR = VBRK-XBLNR
    Waiting for your reply,
    Please,Its urgent.
    Thanks,
    Chandra

    Hi,
    Neither EXIT_SAPLV56K_001 or EXIT_SAPLV56K_002 will be called when delivery is saved.
    You can use this user exits USEREXIT_SAVE_DOCUMENT in program MV50AFZ1 for saving delivery document.
    Also check this include progams which contains all user exits available for delivery processes.
    MV50AFZZ
    MV50AFZ1
    MV50AFZ2
    MV50AFZ3
    MV50AFZK
    MV50AFZL
    MV50AFZP
    Hope this will help.
    Regards,
    Ferry Lianto
    Please reward points if helpful.

  • Function module throwing error from work area. Cannot find the problem...

    REPORT  ZPSMARTFORM1.
    tables: zptable1.
    types: begin of ty_zptable1,
          f1 type zf1,
          f2 type zf2,
          f3 type zf3,
    end of ty_zptable1.
    data: itab type table of ty_zptable1 with header line.
    data: wa type ty_zptable1.
    select f1 f2 f3 from zptable1 into table itab.
    CALL FUNCTION '/1BCDWB/SF00000005'
    EXPORTING
      ARCHIVE_INDEX              =
      ARCHIVE_INDEX_TAB          =
      ARCHIVE_PARAMETERS         =
      CONTROL_PARAMETERS         =
      MAIL_APPL_OBJ              =
      MAIL_RECIPIENT             =
      MAIL_SENDER                =
      OUTPUT_OPTIONS             =
      USER_SETTINGS              = 'X'
    IMPORTING
      DOCUMENT_OUTPUT_INFO       =
      JOB_OUTPUT_INFO            =
      JOB_OUTPUT_OPTIONS         =
      TABLES
        ITAB                       =   .
    EXCEPTIONS
      FORMATTING_ERROR           = 1
      INTERNAL_ERROR             = 2
      SEND_ERROR                 = 3
      USER_CANCELED              = 4
      OTHERS                     = 5
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    this is my driver program.In my form interface  there are tables,import,export are there where i have to declare tables data.If i am putting wa means it is throwing error.Please show me the clear information.
    Edited by: Julius Bussche on Nov 14, 2008 10:09 AM

    REPORT ZPSMARTFORM1.
    tables: zptable1.
    types: begin of ty_zptable1,
    f1 type zf1,
    f2 type zf2,
    f3 type zf3,
    end of ty_zptable1.
    data: itab type table of ty_zptable1 with header line.
    data: wa type ty_zptable1.
    select f1 f2 f3 from zptable1 into table itab.
    CALL FUNCTION '/1BCDWB/SF00000005'
    EXPORTING
    ARCHIVE_INDEX =
    ARCHIVE_INDEX_TAB =
    ARCHIVE_PARAMETERS =
    CONTROL_PARAMETERS =
    MAIL_APPL_OBJ =
    MAIL_RECIPIENT =
    MAIL_SENDER =
    OUTPUT_OPTIONS =
    USER_SETTINGS = 'X'
    IMPORTING
    DOCUMENT_OUTPUT_INFO =
    JOB_OUTPUT_INFO =
    JOB_OUTPUT_OPTIONS =
    TABLES
    ITAB = .
    EXCEPTIONS
    FORMATTING_ERROR = 1
    INTERNAL_ERROR = 2
    SEND_ERROR = 3
    USER_CANCELED = 4
    OTHERS = 5
    IF SY-SUBRC 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    Plz for this driver program. Give me the exact solution.I am passing the information like itab  like zptable1 ther ein the smart form table. Even now i am getting error.Here in this driver program i passed itab = itab means .I  am not getting solution.If i have to change any function module name means plz tell me.What i have to put there.Plz give me the correct solution

  • Remote function module is not compilable, normal function is not

    Hi,
    i have a function module with processing type "normal function", which is compilable and working well. I'm using the type definition ABAP_COMPNAME.
    If i change the function module to "remote-enabled", i'm getting a compiler error that ABAP_COMPNAME is unknown.
    Can someone explain why this is happening? For what reason ABAP_COMPNAME is no longer available when i'm chnaging the FM to remote enabled?
    PS Please dont give any hints how to change my function module, that is NOT the question. I just want to understand the mechanism behind.

    It is clearly mentioned in SAP Help that we cannot use types from type-pool
    in RFC function modules.
    Associated Type of an Interface Parameter
    ABAP associated type for an interface parameter. The associated type must be a
    global Dictionary  type or exist in a type pool. In the latter case, the type pool must
    be declared in the function group.
    Note that you cannot use types from type pools for RFC-enabled function modules.
    When assigning a type using the LIKE typ method, you cannot use types from
    type pools either.
    Additionally you can use the internal ABAP types C, I, N, X, P, D, T, F, and the
    TABLE type - to an extent in generic form.
    You can find further information about this in the Function Builder manual and in the
    ABAP online documentation under the keyword "Types".

  • Can anyone tell me steps to be taken while modifying a function module exit

    Hi guys,
    I have to make little changes to function module exits in a project .
    what are the necessary steps i need to take make the changes and make them work.
    Thanks,
    Venkat

    1.  Create a project in CMOD
    2.  Assign the exit definition name (From SMOD)
    3.  Select the function module you would like to implement from the components screen
    4.  Double click on the include name within the function module, create the include if not already created
    5.  Add your code to the include program
    6. Save and activate your code
    7.  Save and activate your CMOD Project
    Best Regards,
    Chris H.

  • Any Function Module For getting Shipment Details

    Hi All,
    I want to get all details of shipment. i tired , but unable to get any function? I was able to find the creation or change shipment function modules, but not able to find the function module for getting the details for Shipment.
    like BAPI_SHIPMENT_CHANGE           Change Shipment
    BAPI_SHIPMENT_CREATE           Create Shipment
    similary
    Do you have any idea for getting (display)the details of Shipments?
    Regards,
    Raju

    hi,
    you can use
    VTTP,VTTK
    or
    RV_SHIPMENT_READ

Maybe you are looking for

  • Verizon Wireless False Advertising on Family of 4 More Everything Plan

    I am trying to take advantage of the heavily advertised $160 family plan for 4 lines 10 GB of data.  I have 4 lines and have upgraded my data to 10 GB.  I need to be enrolled in Edge to get the $25 discount per line to actually get the deal.  Three o

  • Damaged .pdf file when exporting / printing

    Post Author: darrens CA Forum: Exporting Hi, I scoured Google, these forums, and Crystal support but haven't found a solution to my issue. I have a Crystal report (version XIR2) served from an Enterprise server.  I also have a ASP.NET C# application

  • Office 365 directory sync disable stuck on pending

    I have a situation where I have setup directory sync with the on premise AD and Office 365. I have now tried to disable directory sync and is has been a week and it still says: Active Directory synchronization is being deactivated. This process may t

  • Can I install Java 2 SDK 1.4.2 with NetBeans bundle on a Laptop?

    I'm new to programming and I'm getting an Alienware notebook with WindowsXP in a few months. I just want to be sure I can install and use Java on it. Any recommendations for literature on programming for beginners would be great too. Something easy t

  • Can I publish to a desktop folder in iWeb 9?

    Trying to sett up a website via Machighway. There is aknown bug that lets you connect to the server but can't publish the site because the publish button in iWeb is grayed out. How can I get around this? Please and thank you.