Transaction code to assign the function module to the process code

Hi,
What is the transaction to assign the function module to the process code

Hello Preethi,
Try with these Tcodes:
<b>
WE41                           0000  Process codes, outbound
WE42                 RSECODIN  1000  Process codes, inbound
WE43                           0000  Funct.module: Status record display</b>
If useful reward.
Vasanth

Similar Messages

  • How could we assign customized function module to the object

    Hi Experts,
    How could we assign z made function module to the object type.
    for instance, i have prepared one z function module and want to assign segment builder.
    Please help in this regard
    Thanks
    Mahesh Babu

    Hi Thiru,
    Standard Transaction Codes, have their own Function Modules for generating Outbound/Indbound Idocs. Where these Function Modules will be configured to a particular Process Codes.
    For E.g for PO's
    Process code : ME10 - IDOC_OUTPUT_ORDERS - for creation
    In case if its a Z Function Module, It depends on the case how you use IDOC types. either directly through Z Program or through Inbound/Outbound Process  codes with respective Function modules.
    Regards,
    Anbalagan

  • Function Module for Outbound process code

    Hi,
    I have a scenario in which i have to send MBGMCR02 Idoc from SAP to XI.
    I created a new Outbound process code and now I have to code the function module that populates data into the segments.
    Does anyone have sample code for this, i.e code to put in the finction module of an outbound process code?

    hi...
    please find the below code.
    *& Report  ZPROGRAM11
    REPORT  ZPROGRAM11.
    tables : likp,vbuk,vbfa,ibin,vbap,vbak,kna1.
    types : begin of iy_tab,
             vbeln type vbfa-vbeln,
            vbelv type vbfa-vbelv,
           posnv type vbfa-posnv,
           end of iy_tab.
    types : begin of iy_tab1,
    vbeln type vbuk-vbeln,
    wbstk type vbuk-wbstk,
    end of iy_tab1.
    types : begin of iy_tab2,
    vbeln type vbak-vbeln,
    kunnr type vbak-kunnr,
    vkorg type vbak-vkorg,
    vtweg type vbak-vtweg,
    spart type vbak-spart,
    end of iy_tab2.
    data : i_ibase type ib_ibase.
    data : i_kunnr type vbak-kunnr.
    data : it_tab type table of iy_tab with header line,
      it_tab1 type standard table of iy_tab1 ,
      wa_tab1 type iy_tab1,
      it_tab2 type standard table of iy_tab2 ,
      wa_tab2 type iy_tab2.
    data : t_edidd type standard table of edidd .
    data : t_edidc type  edidc.
    data : t_edidc1 type standard table of edidc .
    data : wa type edidd.
    data : wa1 type e1edl20.
    data : wa2 type zibase.
    data : wa3 type e1edl32.
    data : wa4 type e1edl44.
    data : wa5 type e1edl37.
    data : wa6 type e1edl28.
    data : wa7 type e1edl30.
    data : wa8 type e1edl24.
    data : wa9 type e1adrm1.
    data : begin of it_tab3 occurs 10,
           vbeln type iy_tab-vbelv,
           posnr type iy_tab-posnv,
           i_ibase type ib_ibase,
           end of it_tab3.
      types :    begin of iy_tab4 ,
            valfr type ibin-valfr,
            ibase type ibin-ibase,
           amount type ibin-amount,
           unit type ibin-unit,
           end of iy_tab4.
           data : it_tab4 type standard table of iy_tab4,
                  wa_tab4 type iy_tab4.
      data : begin of it_tab5 occurs 10,
             vbeln type vbfa-vbelv,
             posnr type vbfa-posnv,
             ibase type ibib-ibase,
             valfr type ibin-valfr,
             amount type ibin-amount,
             unit type ibin-unit,
             matnr type vbap-matnr,
             kunnr type vbak-kunnr,
             vkorg type vbak-vkorg,
             vtweg type vbak-vtweg,
             spart type vbak-spart,
             name1 type kna1-name1,
             end of it_tab5.
          types : begin of iy_tab6,
                 vbeln type vbap-vbeln,
                 posnr type vbap-posnr,
                 matnr type vbap-matnr,
                end of iy_tab6.
          data : it_tab6 type standard table of iy_tab6,
                 wa_tab6 type iy_tab6.
    types : begin of iy_tab7,
            kunnr type kna1-kunnr,
            name1 type kna1-name1,
            end of iy_tab7.
    data: it_tab7 type standard table of iy_tab7,
          wa_tab7 type iy_tab7.
          data : wa_table type ytable1.
    selection-screen: begin of block b1 with frame title text-t00.
    parameters: p_vbeln type vbfa-vbeln.
    selection-screen: end of block b1.
    start-of-selection.
      select vbeln vbelv posnv  from vbfa into table it_tab
      where vbeln = p_vbeln.
      if sy-subrc eq 0.
            loop at it_tab.
        select vbeln wbstk from vbuk into table it_tab1
          for all entries in it_tab
        where vbeln = it_tab-vbeln.
            endloop.
      endif.
      loop at it_tab1 into wa_tab1.
        if wa_tab1-wbstk = 'C'.
          loop at it_tab.
            call function 'IBSD_CREATE_IBASE'
              exporting
                i_vbeln                     = it_tab-vbelv
                i_posnr                     = it_tab-posnv
                i_as_sold                   = '0'
                i_as_build                  = '0'
                i_capid                     = '0'
              I_CHANGE                    = ' '
               i_commit                    = 'X'
              I_COMMIT_WAIT               = ' '
             importing
               e_ibase                     = i_ibase
             exceptions
               order_not_found             = 1
               position_not_found          = 2
               nothing_to_do               = 3
               too_much_to_do              = 4
               missing_authorization       = 5
               foreign_lock                = 6
               others                      = 7
            if sy-subrc <> 0.
              message id sy-msgid type sy-msgty number sy-msgno
                      with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
            else.
              move it_tab-vbelv to it_tab3-vbeln.
              move it_tab-posnv to it_tab3-posnr.
              move i_ibase to it_tab3-i_ibase.
              append it_tab3.
              if sy-subrc eq 0.
               select valfr ibase  amount unit from ibin into table it_tab4
                  for all entries in it_tab3
                  where ibase = it_tab3-i_ibase.
                 if sy-subrc eq 0.
                   select vbeln posnr matnr from vbap into table it_tab6
                     for all entries in it_tab3
                     where vbeln = it_tab3-vbeln and posnr = it_tab3-posnr .
                     if sy-subrc eq 0.
              select vbeln  kunnr vkorg vtweg spart from vbak into table it_tab2
                for all entries in it_tab
                  where vbeln = it_tab-vbelv.
              sort it_tab2 by vbeln.
              delete adjacent duplicates from it_tab2 comparing all fields.
             if sy-subrc <> 0.
               select kunnr name1 from kna1 into table it_tab7
                 for all ENTRIES IN it_tab2
                 where kunnr = it_tab2-kunnr.
                 endif.
               endif.
               endif.
               endif.
               endif.
          endloop.
        else.
          exit.
       if sy-subrc eq 0.
       endif.
        endif.
      endloop.
      loop at it_tab3.
        move it_tab3-vbeln to it_tab5-vbeln.
        move it_tab3-posnr to it_tab5-posnr.
        move it_tab3-i_ibase to it_tab5-ibase.
        if sy-subrc eq 0.
          read table it_tab4 into wa_tab4 with key ibase = it_tab3-i_ibase.
          move wa_tab4-valfr to it_tab5-valfr.
          move wa_tab4-amount to it_tab5-amount.
          move wa_tab4-unit to it_tab5-unit.
          if sy-subrc eq 0.
            read table it_tab6 into wa_tab6 with key  vbeln = it_tab3-vbeln posnr = it_tab3-posnr.
            move wa_tab6-matnr to it_tab5-matnr.
            if sy-subrc eq 0.
              read table it_tab2 into wa_tab2 with key vbeln = it_tab3-vbeln.
              move wa_tab2-kunnr to it_tab5-kunnr.
              move wa_tab2-vkorg to it_tab5-vkorg.
              move wa_tab2-vtweg to it_tab5-vtweg.
              move wa_tab2-spart to it_tab5-spart.
              if sy-subrc eq 0.
                read table it_tab7 into wa_tab7 with key kunnr = wa_tab2-kunnr.
                move wa_tab7-name1 to it_tab5-name1.
                append it_tab5.
                endif.
              endif.
          endif.
          endif.
         append it_tab5.
          endloop.
        loop at it_tab5.
          move it_tab5-vbeln to wa_table-vbeln.
           move it_tab5-kunnr to wa_table-kunnr.
            move it_tab5-vbeln to wa_table-vbeln.
             move it_tab5-ibase to wa_table-ibase.
              move it_tab5-matnr to wa_table-matnr.
               move it_tab5-valfr to wa_table-valfr.
                move it_tab5-unit to wa_table-unit.
                 move it_tab5-amount to wa_table-amount.
                  move it_tab5-vkorg to wa_table-vkorg.
                   move it_tab5-vtweg to wa_table-vtweg.
                    move it_tab5-spart to wa_table-spart.
                    move it_tab5-name1 to wa_table-name1.
                    insert ytable1 from wa_table.
                    endloop.
    *INSERT ytable1 FROM TABLE it_tab5.
        loop at it_tab5.
        wa1-vbeln = it_tab-vbeln.
        wa1-vkorg = it_tab5-vkorg.
        wa-segnam = 'E1EDL20'.
        wa-sdata = wa1.
        wa-hlevel = 2.
        append wa to t_edidd.
      loop at it_tab3.
        wa2-i_ibase = it_tab5-ibase.
        wa2-i_qty = it_tab5-amount.
        wa2-i_dat = it_tab5-valfr.
        wa-segnam = 'ZIBASE'.
        wa-sdata = wa2.
        wa-hlevel = 3.
        append wa to t_edidd.
               endloop.
    wa9-name1 = it_tab5-name1.
    wa-segnam = 'E1ADRM1'.
    wa-sdata = wa9.
    wa-hlevel = 3.
    append wa to t_edidd.
        wa-segnam = 'E1EDL28'.
        wa-sdata = wa6.
        wa-hlevel = 3.
        append wa to t_edidd.
        wa-segnam = 'E1EDL30'.
        wa-sdata = wa7.
        wa-hlevel = 4.
        append wa to t_edidd.
        wa3-kunnr = it_tab5-kunnr.
        wa-segnam = 'E1EDL32'.
        wa-sdata = wa3.
        wa-hlevel = 5.
        append wa to t_edidd.
        wa8-meins = it_tab5-unit.
        wa8-vtweg = it_tab5-vtweg.
        wa8-spart = it_tab5-spart.
        wa-segnam = 'E1EDL24'.
        wa-sdata = wa8.
        wa-hlevel = 3.
       append wa to t_edidd.
        wa-segnam = 'E1EDL37'.
        wa-sdata = wa5.
        wa-hlevel = 3.
        append wa to t_edidd.
        wa4-vbeln  = it_tab5-vbeln.
        wa4-posnr = it_tab5-posnr.
        wa4-matnr = it_tab5-matnr.
        wa-segnam = 'E1EDL44'.
        wa-sdata = wa4.
        wa-hlevel = 4.
        append wa to t_edidd.
        endloop.
        t_edidc-mandt = sy-mandt.
        t_edidc-direct = '1'.
        t_edidc-rcvpor = 'A000000062'.
        t_edidc-rcvprt = 'LS'.
        t_edidc-rcvprn = 'O2C_ASSET'.
    t_edidc-rcvpfc = 'LS'.
        t_edidc-sndpor = 'SAPSIT'.
        t_edidc-sndprt = 'LS'.
        t_edidc-sndprn = 'T90CLNT090'.
    t_edidc-sndpfc = 'LS'.
        t_edidc-mestyp = 'DELVRY'.
        t_edidc-idoctp = 'DELVRY03'.
    *t_edidc-rcvpfc = 'LS'.
    t_edidc-sndpfc = 'LS'.
        t_edidc-cimtyp = 'ZDELVRY03'.
        append t_edidc to t_edidc1.
        call function 'MASTER_IDOC_DISTRIBUTE'
                                   exporting
                                     master_idoc_control                  = t_edidc
                                 OBJ_TYPE                             = ''
                                 CHNUM                                = ''
                                   tables
                                     communication_idoc_control           = t_edidc1
                                     master_idoc_data                     = t_edidd
                                  exceptions
                                    error_in_idoc_control                = 1
                                    error_writing_idoc_status            = 2
                                    error_in_idoc_data                   = 3
                                    sending_logical_system_unknown       = 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.
          else.
          CALL FUNCTION 'DB_COMMIT'
          CALL FUNCTION 'DEQUEUE_ALL'
          EXPORTING
            _SYNCHRON       = ' '
          COMMIT WORK.
        endif.
         endloop.

  • How can I  call the function module of the ECC when I save the campaign?

    HI Experts!
    I want to call function module of the ECC when I click the save button in the campaign view,A badi or userexit is needed,but I don't find, can you tell me which badi or userexit  is used to implement?

    Thanks a lot.
    I have tried,but it can't do.
    who can tell me which badi and detailed implementation step?
    waiting on line.

  • How to change call to the function module in the standard program

    Hi Guru,
    My requairment is to create the new Z function module  ZJ_1B_IM_NF_DOCUMENT_FUNCTION in the MM07MFJ1 program.
    I have created the Z Funtion module,
    plz provide me the info how to change the call to the new custom FM from the standard program.
    Points will be given to the ans.

    You use SE38 to change out the code.  When you try and change it you will get a popup asking you for a Key, since you are changing SAP Code.  If you have a Developers key you have to go to the SAP Service Marketplace and tell SAP that you are changing this code in order to get they key.  After this every time you do support packs you run the risk of this getting overlaid and you will have to change it back, also if you have a problem and SAP sees that you customized this code they probably won't spend any time on your problem.

  • Custom Function Module for the New Process Codes

    I want to distribute the custom table data . For that i have written the program using MASTER_IDOC_DISTRIBUTE. I have created the custom message & idoc types along with their assignments.
    I got struck up at the process code. I have to assign the function module for that process code. Can anyone kindly help me in writting the code at that function module ?

    Hi Friends,
    My requirement is , i need to transfer the table records. For that i have created the Message/Idoc Types and also created the Partner profile and the Distribution model view .....all alll i have done.
    My doubt is , in the we20, at the outbound parameters , i can give the Message/Idoc types that i have created. Ok thats fine
    But at the inbound parameters, i have to give the inbound process code. So i have created the Inbound process code. As we know that for every process code a function module is attached, now i have to create the function module which posts the records in receiver side.
    so 1. Does the Function module need to be RFC Enabled ?
         2. Do we need to create Object type in SWO1 once i
                  create and release the function module ?

  • Not able to use Commit after the function module STATUS_OBJECT_CREATE

    I am using function module   STATUS_OBJECT_CREATE
       CALL FUNCTION 'STATUS_OBJECT_CREATE'
              EXPORTING
               CHGKZ         = 'X'
               CLIENT        = SY-MANDT
                OBJNR         = LV_OBJNR3
                OBTYP         = 'IWE'
                STSMA         = 'ZS_RE_01'
              IMPORTING
                OBJNR         = LV_OBJNR3.
                STONR                        = LV_STONR.
            IF SY-SUBRC = 0.
                COMMIT WORK.
            ENDIF.
    i am getting error after the COMMIT WORK .
    I am not getting any issue in the function module .after the function module i am using the COMMIT WORK and i am getting the following error message
    Category               ABAP Programming Error
    Runtime Errors         SAPSQL_ARRAY_INSERT_DUPREC
    Except.                CX_SY_OPEN_SQL_DB
    ABAP Program           SAPLBSVU
    Application Component  CA-GTF-TS-SMT
    Date and Time          03/17/2014 07:01:29
    |Short text                                                                                        |
    |    The ABAP/4 Open SQL array insert results in duplicate database records.                       |
    |What happened?                                                                                    |
    |    Error in the ABAP Application Program                                                         |
    |                                                                                                  |
    |    The current ABAP program "SAPLBSVU" had to be terminated because it has                       |
    |    come across a statement that unfortunately cannot be executed.                                |
    |What can you do?                                                                                  |
    |    Note down which actions and inputs caused the error.                                          |
    |                                                                                                  |
    |                                                                                                  |
    |    To process the problem further, contact you SAP system                                        |
    |    administrator.                                                                                |
    |                                                                                                  |
    |    Using Transaction ST22 for ABAP Dump Analysis, you can look                                   |
    |    at and manage termination messages, and you can also                                          |
    |    keep them for a long time.                                                                    |
    |Error analysis                                                                                    |
    |    An exception occurred that is explained in detail below.                                      |
    |    The exception, which is assigned to class 'CX_SY_OPEN_SQL_DB', was not caught                 |
    |     in                                                                                           |
    |    procedure "STATUS_UPDATE" "(FUNCTION)", 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:                                                              |
    |    If you use an ABAP/4 Open SQL array insert to insert a record in                              |
    |    the database and that record already exists with the same key,                                |
    |    this results in a termination.                                                                |
    |                                                                                                  |
    |    (With an ABAP/4 Open SQL single record insert in the same error                               |
    |    situation, processing does not terminate, but SY-SUBRC is set to 4.)                          |
    |How to correct the error                                                                          |
    |    Use an ABAP/4 Open SQL array insert only if you are sure that none of                         |
    |    the records passed already exists in the database.                                            |
    |                                                                                                  |
    |    If the error occures in a non-modified SAP program, you may be able to                        |
    |    find an interim solution in an SAP Note.                                                      |
    |    If you have access to SAP Notes, carry out a search with the following                        |
    |    keywords:                                                                                     |
    |                                                                                                  |
    |    "SAPSQL_ARRAY_INSERT_DUPREC" "CX_SY_OPEN_SQL_DB"                                              |
    |    "SAPLBSVU" or "LBSVUU01"                                                                      |
    |    "STATUS_UPDATE"                                                                               |
    |                                                                                                  |
    |    If you cannot solve the problem yourself and want to send an error                            |
    |    notification to SAP, include the following information:                                       |
    |                                                                                                  |
    |    1. The description of the current problem (short dump)                                        |
    |                                                                                                  |
    |       To save the description, choose "System->List->Save->Local File                            |
    |    (Unconverted)".                                                                               |
    |                                                                                                  |
    |    2. Corresponding system log                                                                   |
    |                                                                                                  |
    |       Display the system log by calling transaction SM21.                                        |
    |       Restrict the time interval to 10 minutes before and five minutes                           |
    |    after the short dump. Then choose "System->List->Save->Local File                             |
    |    (Unconverted)".                                                                               |
    |                                                                                                  |
    |    3. If the problem occurs in a problem of your own or a modified SAP                           |
    |    program: The source code of the program                                                       |
    |       In the editor, choose "Utilities->More                                                     |
    |    Utilities->Upload/Download->Download".                                                        |
    |                                                                                                  |
    |    4. Details about the conditions under which the error occurred or which                       |
    |    actions and input led to the error.                                                           |
    |                                                                                                  |
    |    The exception must either be prevented, caught within proedure                                |
    |    "STATUS_UPDATE" "(FUNCTION)", or its possible occurrence must be declared in                  |
    |     the                                                                                          |
    |    RAISING clause of the procedure.                                                              |
    |    To prevent the exception, note the following:                                                 |
    |System environment                                                                                |
    |    SAP Release..... 702                                                                          |
    |    SAP Basis Level. 0010                                                                         |
    |                                                                                                  |
    |    Application server... "sds6ci"                                                                |
    |    Network address...... "11.224.101.53"                                                         |
    |    Operating system..... "Linux"                                                                 |
    |    Release.............. "2.6.18-194.el5"                                                        |
    |    Hardware type........ "x86_64"                                                                |
    |    Character length.... 16 Bits                                                                  |
    |    Pointer length....... 64 Bits                                                                 |
    |    Work process number.. 17                                                                      |
    |    Shortdump setting.... "full"                                                                  |
    |                                                                                                  |
    |    Database server... "gctsdb01lds.hsi.hugh"                                                     |
    |    Database type..... "ORACLE"                                                                   |
    |    Database name..... "DS6"                                                                      |
    |    Database user ID.. "SAPDS4"                                                                   |
    |                                                                                                  |
    |    Terminal.......... "GCTEMP02VDI"                                                              |
    |                                                                                                  |
    |    Char.set.... "C"                                                                              |
    |                                                                                                  |
    |    SAP kernel....... 720                                                                         |
    |    created (date)... "Sep 14 2013 05:28:14"                                                      |
    |    create on........ "Linux GNU SLES-9 x86_64 cc4.1.2 use-pr130820"                              |
    |    Database version. "OCI_102, 10.2.0.5.0, V2, default"                                          |
    |                                                                                                  |
    |    Patch level. 500                                                                              |
    |    Patch text.. " "                                                                              |
    |                                                                                                  |
    |    Database............. "ORACLE 10.1.0.*.*, ORACLE 10.2.0.*.*, ORACLE 11.2.*.*.*"               |
    |    SAP database version. 720                                                                     |
    |    Operating system..... "Linux 2.6, Linux 3"                                                    |
    |                                                                                                  |
    |    Memory consumption                                                                            |
    |    Roll.... 1317248                                                                              |
    |    EM...... 0                                                                                    |
    |    Heap.... 0                                                                                    |
    |    Page.... 0                                                                                    |
    |    MM Used. 1242912                                                                              |
    |    MM Free. 53400                                                                                |
    |User and Transaction                                                                              |
    |    Client.............. 160                                                                      |
    |    User................ "DV018458"                                                               |
    |    Language key........ "E"                                                                      |
    |    Transaction......... "SE38 "                                                                  |
    |    Transaction ID...... "5323C30FC9364665E10000000BE06533"                                       |
    |                                                                                                  |
    |    EPP Whole Context ID.... "002655EE0F241ED3ABB7D81260A28C44"                                   |
    |    EPP Connection ID....... 00000000000000000000000000000000                                     |
    |    EPP Caller Counter...... 0                                                                    |
    |                                                                                                  |
    |    Program............. "SAPLBSVU"                                                               |
    |    Screen.............. "RSM13000 3000"                                                          |
    |    Screen Line......... 2                                                                        |
    |    Debugger Active..... "none"                                                                   |
    |Information on where terminated                                                                   |
    |    Termination occurred in the ABAP program "SAPLBSVU" - in "STATUS_UPDATE".                     |
    |    The main program was "RSM13000 ".                                                             |
    |                                                                                                  |
    |    In the source code you have the termination point in line 60                                  |
    |    of the (Include) program "LBSVUU01".                                                          |
    |    The program "SAPLBSVU" was started in the update system.                                      |
    |    The termination is caused because exception "CX_SY_OPEN_SQL_DB" occurred in                   |
    |    procedure "STATUS_UPDATE" "(FUNCTION)", but it was neither handled locally nor                |
    |     declared                                                                                     |
    |    in the RAISING clause of its signature.                                                       |
    |                                                                                                  |
    |    The procedure is in program "SAPLBSVU "; its source code begins in line                       |
    |    1 of the (Include program "LBSVUU01 ".                                                        |
    |Source Code Extract                                                                               |
    |Line |SourceCde                                                                                   |
    |   30|  LOOP AT jsto_upd WHERE chgkz = 'X'.                                                       |
    |   31|    CHECK: jsto_upd-chgnr > '000',                                                          |
    |   32|           jsto_upd-stsma NE jsto_upd-stsma_old.                                            |
    |   33|    CLEAR jcdo_tab.                                                                         |
    |   34|    MOVE-CORRESPONDING jsto_upd TO jcdo_tab.                                                |
    |   35|    MOVE-CORRESPONDING chdat    TO jcdo_tab.                                                |
    |   36|    jcdo_tab-stsma_new = jsto_upd-stsma.                                                    |
    |   37|    APPEND jcdo_tab.                                                                        |
    |   38|  ENDLOOP.                                                                                  |
    |   39|* Änderungen zu Einzelstatus (Insert)                                                       |
    |   40|  LOOP AT jest_ins WHERE chgkz = 'X'.                                                       |
    |   41|    CHECK jest_ins-chgnr > '000'.                                                           |
    |   42|    CLEAR jcds_tab.                                                                         |
    |   43|    MOVE-CORRESPONDING jest_ins TO jcds_tab.                                                |
    |   44|    MOVE-CORRESPONDING chdat    TO jcds_tab.                                                |
    |   45|    jcds_tab-chind = 'I'.                                                                   |
    |   46|    APPEND jcds_tab.                                                                        |
    |   47|  ENDLOOP.                                                                                  |
    |   48|* Änderungen zu Einzelstatus (Update)                                                       |
    |   49|  LOOP AT jest_upd WHERE chgkz = 'X'.                                                       |
    |   50|    CHECK jest_upd-chgnr > '000'.                                                           |
    |   51|    CLEAR jcds_tab.                                                                         |
    |   52|    MOVE-CORRESPONDING jest_upd TO jcds_tab.                                                |
    |   53|    MOVE-CORRESPONDING chdat    TO jcds_tab.                                                |
    |   54|    jcds_tab-chind = 'U'.                                                                   |
    |   55|    APPEND jcds_tab.                                                                        |
    |   56|  ENDLOOP.                                                                                  |
    |   57|* Verbuchung Statusobjekte                                                                  |
    |   58|  DESCRIBE TABLE jsto_ins LINES sy-tabix.                                                   |
    |   59|  IF sy-tabix > 0.                                                                          |
    |>>>>>|    INSERT jsto CLIENT SPECIFIED                                                            |
    |   61|                FROM TABLE jsto_ins.                                                        |
    |   62|  ENDIF.                                                                                    |
    |   63|  DESCRIBE TABLE jsto_upd LINES sy-tabix.                                                   |
    |   64|  IF sy-tabix > 0.                                                                          |
    |   65|    field-symbols <fs_jsto_line> like jsto_upd.                                             |
    |   66|    loop at jsto_upd assigning <fs_jsto_line>.                                              |
    |   67|      IF <fs_jsto_line>-chgnr = '000'.                                                      |
    |   68|        <fs_jsto_line>-chgnr = '999'.                                                       |
    |   69|      ENDIF.                                                                                |
    |   70|* on change of status profile delete user status related to old profile                     |
    |   71|      IF <fs_jsto_line>-STSMA NE <fs_jsto_line>-STSMA_OLD.                                  |
    |   72|        DELETE FROM JEST CLIENT SPECIFIED WHERE                                             |
    |   73|               MANDT = <fs_jsto_line>-MANDT AND                                             |
    |   74|               OBJNR = <fs_jsto_line>-OBJNR AND                                             |
    |   75|               STAT  LIKE 'E%'.                                                             |
    |   76|        DELETE FROM JCDS CLIENT SPECIFIED WHERE                                             |
    |   77|               MANDT = <fs_jsto_line>-MANDT AND                                             |
    |   78|               OBJNR = <fs_jsto_line>-OBJNR AND                                             |
    |   79|               STAT  LIKE 'E%'.                                                             |

    i tried with out using commmit but it is not creating Status.
    When i see the function module help and they are trying to COMMIT
    FU STATUS_OBJECT_CREATE
    Short Text
    Create Status Object
    Functionality
    The function module generates a status object.
    Take the object number from the object number management (function modules OBJECT_NUMNBER_GET_xx).
    If no object number is given, the module takes a temporary object number that must be replaced later (function module STATUS_OBJECT_SWITCH_NUMBER).
    Example
    Creating an internal order with number 100123 (object type "ORC") for status profile "STATSCHEM" with final object number
    call function 'OBJECT_NUMBER_GET_OR'
      exporting
        aufnr = '100123'
      importing objnr = objektnummer.
    call function 'STATUS_OBJECT_CREATE'
      exporting
        objnr = objektnummer
        obtyp = 'ORC'
        stsma = 'STATSCHEM'.
    commit work.
    Creating the same order with a temporary object number
    data: objectkey like ionra.
    * TBO00-REFSTRUCT for object type 'OR' is 'IONRA'
    objectkey-aufnr = '100123'.
    call function 'STATUS_OBJECT_CREATE'
      exporting
        i_objectkey = objectkey
        obtyp       = 'ORC'
        stsma       = 'STATSCHEM'.
      importing
        objnr       = objektnummer.
    call function 'OBJECT_NUMBER_GET_OR'
      exporting
        aufnr = '100123'
      importing objnr = objektnummer_neu.
    call function 'STATUS_OBJECT_SWITCH_NUMBER'
      exporting
        objnr_old = objektnummer
        objnr_new = objektnummer_neu.
    commit work.
    Notes

  • How to add a created Z function module to the existing list in WE21

    Hi all,
    There is some existing function modules ( like EDI_PATH_CREATE_CLIENT_DOCNUM ) in WE21 in the function module field.
    here, i need to create one Z function module as per user requirement & want to add to that list.  is it possible???
    actually, i want the file name format is like
       " Document Number_YYYYMMDDHHMMSS.xml  ". but existing function modules are not giving this format.do anybody give any idea.
    correct answers will be rewarded.
    Thanks & Regards

    HI Pabitra,
       Yes, can always change the existing fm and add it with message type as follows pls note step 7 and step 8. (for inbound it is we42 and for outbound it is we41 )
    Basic IDOCs have supplied by SAP with standard structure. (Segments). You can extend them with your own segments.
    IDOCs does have unique number. They contain control, data, and status records.
    Useful Transaction Codes:
    WEDI : IDoc Menu
    WE02 : IDoc List (can enter IDoc number to select on)
    WE05 : IDoc List
    WE19 : Transaction WE19 can be used to test the IDoc
    WE30 : IDoc Type Development: Initial Screen
    WE31: Development Segments: Initial Screen
    WE60 : Documentation for IDoc Types. This allows you to view the IDoc you have created.
    WE81 : Display View ‘EDI: Logical Message Types’: Overview
    WE82: Display View ‘Message Types and Assignment to IDoc Types’: Overview
    WE21 - Creation of POrt
    WE20 - Partner Profile creation
    SALE - ALE (Application Linking and Enabling) settings
    For Outbound ALE Configurations: (Example)
    IDoc definitions and necessary ALE configurations settings for the outbound .
    Create Idoc segments – Transaction WE31.
    Create Idoc type – Transaction WE30.
    Create Message Type – Transaction WE81.
    Assign Message Type to Idoc type – Transaction WE82.
    Create a distribution Model - Transaction BD64
    An IDoc is simply a data container that is used to exchange information between any two processes that can understand the syntax and semantics of the data...
    1.IDOCs are stored in the database. In the SAP system, IDOCs are stored in database tables.
    2.IDOCs are independent of the sending and receiving systems.
    3.IDOCs are independent of the direction of data exchange.
    The two available process for IDOCs are
    Outbound Process
    Inbound Process
    AND There are basically two types of IDOCs.
    Basic IDOCs
    Basic IDOC type defines the structure and format of the business document that is to be exchanged between two systems.
    Extended IDOCs
    Extending the functionality by adding more segments to existing Basic IDOCs.
    for creating a IDOC
    see the below steps for outbound processing IDOCS..
    2.1 Outbound Interface
    PROCESS DIAGRAM
    Outbound Interface
    1. Analyse Hierarchy Levels
    2. Create New segment
    3. Create New IDoc Type
    4. Create New Message Type
    5. Link Message with IDoc Type
    6. Create an entry in EDP13 via transactions WE20 and BD64
    7. Populate the Custom IDoc via ABAP Program
    7b Error Handling
    7c. Send Status Email
    8. Test the Population of the Custom IDoc
    Step 1 – Analyse Hierarchy Levels:
    Analyse the data relationships being processed in the interface. Define the appropriate hierarchical Parent-to-Child relationships.
    Navigate to transaction code WEDI
    Transaction WEDI displays the IDOC main menu. This allows navigation around the various development and control areas to create a customised IDOC.
    Step 2 – Create a new segment:
    via wedi : Development - IDOC Segments or Transaction code WE31.
    • Enter segment name and click on Create.
    The? name of the segment type must start with Z1 , and have a maximum of eight characters.
    • Enter description and enter the relevant field names and data elements.
    The segment should represent a structure in the program so for? each field in the segment a field name and a data element must be defined.
    • Save the segment and enter Person Responsible and Processing Person .
    • Go to Edit and Set Release.
    • Repeat this procedure for each new Segment in the IDOC.
    Step 3 – Create a new IDOC Type
    via wedi Development - IDOC Types or Transaction WE30.
    • Enter segment name (starting with Z), click on Basic Type and then Create.
    • Create as new, enter Person Responsible and Processing Person and enter description.
    • On ‘Create Basic Type’ screen decide where segments should be inserted and go to Edit/Create Segment.
    • Complete relevant fields in the Maintain Attributes screen:
    • From the relevant segments created in Step 2 enter the Segment type and if mandatory segment.
    • The Minimum and Maximum number of segments to be allowed in the sequence. (One minimum and one maximum if segment is mandatory).
    • The Parent Segment and Hierarchy Level will be automatically created depending on where in the IDOC tree you decided to create that particular segment.
    • Repeat this process for each segment needed in the IDOC type, deciding whether to add the next segments at the same level or as a ‘Child’.
    • When IDOC created return to initial screen. Go to Edit and Set Release.
    • Go to Transaction WE60 to view the IDoc Type you have created.
    Step 4 – Create new Message Type
    via wedi Development - Message Types or Transaction WE81.
    • Display/Change and click on New Entries
    • Create a new Message Type and Save.
    Step 5 – Link Message Type to IDOC Type
    via wedi Development - IDOC Type/Message or Transaction WE82.
    • Display/Change and then click on New Entries.
    • Enter Message Type, Basic Type (IDOC Type) and Release (46C) and Save.
    Step 6 – Create an entry in EDP13 via transactions WE20 and BD64.
    The partner profile for the Idoc must be set up and generated in the transaction BD64 and transaction WE20.
    • WE20 – Add Message Type to appropriate Partner Type, Enter Message Type, Receiver Port and Idoc Type and Save.
    • BD64 – Create a Model View, Enter Sender and Receiver Ports, Attach Message Type. Go to ‘Environment’ on Menu and click on Generate Partner Profiles and generate (not save) profile.
    Step 7 – Populate the custom IDOC via ABAP Program
    See Test Program ZOUTBD_IDOC_TEMPLATE, Appendix IV.
    • Create an Internal Table for each segment type, this should be exactly the same structure as the segment type.
    • The control record is filled into a structure like EDIDC. The message type and the Idoc type for the Idoc must be populated into the eddic structure.
    - PERFORM populate_Control_structure USING c_mestyp
    c_SEGMENT_type1.
    • The data segments are filled into a structure like edidd-sdata; sdata and the segment name are populated into the edidd structure.
    - PERFORM transfer_Parent_data_to_seg.
    • The standard SAP function module MASTER_IDOC_DISTRIBUTE is called to pass the populated IDOC to the ALE Layer.
    - PERFORM master_idoc_distribute.
    • NOTE: This function module is only called for stand alone programs and Shared Master Data programs (SMD). It is not called when using extensions or output determination.
    • The ALE Layer handles the sending of the IDOC to the receiving system.
    • Error Handling (see Step 7b).
    • Commit work.
    Project SpecificStep 7b – Error Handling
    • Analyse which fields in the interface are mandatory for the receiving system and who needs to receive error notification.
    • Declare a structure of type ‘MCMAILOBJ’ for sending instructions.
    • Enter values for the internal table based on structure ‘MCMAILOBJ’
    • For selection processes, on SY-SUBRC checks and where fields are mandatory for the receiving system; insert Function Module ‘MC_SEND_MAIL’.
    • Enter values in the following parameters: -
    MS_MAIL_SENDMODE = ‘B’ (Batch Mode)
    MS_MAIL_TITLE = 'Mail Title'
    MS_MAIL_DESCRIPTION = ‘Error description’ (e.g. MATNR not given)
    MS_MAIL_RECEIVER = ‘Name of Receiver’ (To be determined)
    MS_MAIL_EXPRESS = ‘E’ (Express Delivery)
    MS_MAIL_DLINAME = Leave Blank
    MS_MAIL_LANGU = 'E' (Language)
    MS_MAIL_FUNKOBJ_NAME = Leave Blank
    TABLES
    MS_MAIL_CONT = I_MCMAILOBJ
    Note:
    It has to be determined separately for each interface how these errors and mail notifications are to be grouped – dependant upon the number of errors that are potentially likely. One possible approach is to send an email for each reason for rejection and include all the records that failed for that reason in the mail notification. Another possible approach is to send an email for every failure.
    When error checking for mandatory fields it is common SAP practice to reject a record on its first failure (irrespective of subsequent errors in that record)
    <b>Step 7
    (Transaction WE57)
    Assign the custom function module to the IDoc type and the message type.
    Set function module to type ‘F’ and direction ‘2’ for inbound.
    Step 8
    (Transaction WE42)
    Create a new process code and assign it to the function module. The process code determines how the incoming IDoc is to be processed in SAP.</b>
    Step 9
    (Transaction BD67)
    Assign the function module to the process code created above. Got to ‘New Entries’ and enter the process code and the function module name.
    Step 10
    (Transaction WE20 and Transaction BD64)
    Create a partner profile for your message and ensure that in transaction WE20 the process code is the one that points to your function module. (See step 6 of creating Outbound Idocs).
    Step 11
    Ensure that error handling functionality is present.
    If u still have doubt, i can send u the print screen doc -  hope this helps u
    <b>Reward pts if found usefull :)</b>
    regards
    Sathish

  • How to Assign a function module for customized IDOC

    Hi,
           I have created a customized IDOC. Can any body explain how to assign a FM for customized IDOC? Is same IDOC can be used for both Outbound and Inbound Process? In WE41 and WE42 we have to give the outbound and inbound function module name. can we give same function module? Is process code is same for both outbound and inbound process?
          Valuable suggetions are appreciated.
    Regards,
    Ram

    Hi ,
    Here is the Procedure for the Inbound Idoc Funtion Module
    Function Module : SE37
    Message : WE81
    Assign message : WE82
    Assgin FM : we57
    Process Code : WE42.
    Assign Partner Profile - WE20,
    To test the Inbound IDOC.
    In WE19, Give the IDOC number & execute ... then put the cursor on the idoc control record . then click on the Standard Inbound push button on the application tool bar.it will show show all the details like partner no,type , message type , process code & function module name ...
    now put a break point in the function module .. & debug .
    if u r using customised inbound function module , then click on inbound function module .. there u will get a pop screen with FM name & debugging option in both background & foreground mode...
    Reward Points if it is Useful.
    Thanks,
    Manjunath MS

  • Function module for the Inbound Delivery

    Dear ABAPers,
            I have created the Inbound Delivery in VL01N Transaction.I want to create the Post goods issue for the Delivery number.What is the Function module for the Post goods issue for the Delivery number and what all the Parameter needs to be passed.
    Thanks & Regards,
    Ashok.

    Hi,
    Try this code...
    PARAMETERS: p_vbeln LIKE likp-vbeln OBLIGATORY.
    DATA:    l_vbkok_wa   TYPE vbkok,
             l_i_prott    TYPE STANDARD TABLE OF prott,
             l_pgi_status TYPE xfeld,
             c_check      TYPE c VALUE 'X'.
    l_vbkok_wa-vbeln_vl =  p_vbeln.
    l_vbkok_wa-vbtyp_vl = 'T'.
    l_vbkok_wa-wabuc    = c_check.
    Do PGI
    CALL FUNCTION 'WS_DELIVERY_UPDATE'
      EXPORTING
        vbkok_wa                  = l_vbkok_wa
        commit                    = c_check
        delivery                  = l_vbkok_wa-vbeln_vl
      IMPORTING
        ef_error_in_goods_issue_0 = l_pgi_status
      TABLES
        prot                      = l_i_prott.
    IF l_pgi_status IS NOT INITIAL.
    WRITE:/ 'PGI Failure : ', p_vbeln.
    ELSE.
    WRITE:/ 'PGI Success : ', p_vbeln.
      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
        EXPORTING
          wait = c_check.
    ENDIF.
    Regards
    Meenakshi

  • Function modules for the following

    Hi,
    I want to know the function modules for the following purposes.
    1) Check whether a date is valid or not
    2) Calculate the no of days between two dates.
    Expecting an early response.
    Thanks n Regards,
    Amit

    Hi,
    PARAMETERS: p_list LIKE t009b-bumon AS LISTBOX
                         VISIBLE LENGTH 11 OBLIGATORY ,
                p_list1 LIKE t009b-bdatj OBLIGATORY.
    SELECTION-SCREEN POSITION POS_HIGH.
    PARAMETERS: p_list2 LIKE t009b-bumon AS LISTBOX
                          VISIBLE LENGTH 11 OBLIGATORY,
                p_list3 LIKE t009b-bdatj OBLIGATORY.
    Calling Function Module for calculating no of days between the
    selected period
        CALL FUNCTION 'NUMBER_OF_DAYS_PER_MONTH_GET'
             EXPORTING
                  par_month = p_list
                  par_year  = p_list1
             IMPORTING
                  par_days  = ws_n_days.
        CALL FUNCTION 'NUMBER_OF_DAYS_PER_MONTH_GET'
             EXPORTING
                  par_month = p_list2
                  par_year  = p_list3
             IMPORTING
                  par_days  = ws_n_days1.
    For Concatenating the month and year into the date format
        CONCATENATE  p_list1  p_list ws_i INTO ws_c_date1.
        CONCATENATE p_list3  p_list2 ws_n_days1 INTO ws_c_date2.
      date = ws_c_date1 - ws_c_date2.
    In the above sample code the selection screen has month and year as input.
    Also check this link
    http://www.sapdevelopment.co.uk/tips/date/datehome.htm
    Check FM
    <b>RP_CALC_DATE_IN_INTERVAL</b> Add/subtract years/months/days from a date
    <b>SD_DATETIME_DIFFERENCE</b> Give the difference in Days and Time for 2 dates
    <b>Also for checking valid date:</b>
    U can specify the date field as
    Select-options:  s_date like likp-date(similar to ur requirement)
    This itself ceck for the valid date no seperate validation needed.
    Thanks & Regards,
    Judith.

  • Error while using the function module..pack_handling_unit_dlvry

    Hi all...
    while using the function module pack_handling_unit_dlvry,
    we need to pass the handling unit number as per the functionality we require.
    but the mandatory field for the function module is the handling unit number in the form of bar code..
    so how to use this function module..
    All the useful answers will be regarded..
    Regards,
    Saroja.

    Have you tried using BAPI BAPI_HU_CREATE. Also view Function Module Documentation on its usage.

  • How to catch exception i defined in the function module

    I defined the exception 'no_value_found' in the function module, now, the problem is how to catach it in the program calling it

    Hi Atish
        I have used sy-subrc to handle it in the program, howerver, it is still encounter runtime error:
    Error message -
    A RAISE statement in the program "SAPLZERC" raised the exception
    condition "NO_OBJECT_INFO_FOUND".
    Since the exception was not intercepted by a superior
    program, processing was terminated.
    Short description of exception condition:
    No object information found
    For detailed documentation of the exception condition, use
    Transaction SE37 (Function Library). You can take the called
    function module from the display of active calls.
    Errors is at following position:----
    39   ELSE.
    >>     RAISE NO_OBJECT_INFO_FOUND.
    41   ENDIF.

  • Problem in transfer rules-- Calling the function module.

    Hi All,
                 when we r extracting the data from r3,  the infoobject 0wbs_elem the data pulled is in internal format in which wbs element is stored.
    wbs element gets stored in a different way compared to front end.
    Eg. The external format is /abc/123 the internal format is 00012300.
    I have written a transfer routine using the function module CONVERSION_EXIT_ABPSP_OUTPUT.
    the code goes like this
    data ifield(30) type c.
    call function CONVERSION_EXIT_ABPSP_OUTPUT
    Exporting
    input  =  tran_structure-wbselem  (Field in transfer structure---name of the field in source system) .
    Importing
    output = ifield.
    result = ifield.
    End of code.
    Problem
    When I am Scheduling the package the job doesnt get completed for a long time and fails.Is there a problem with the code. When trying for the Simulation of the datapackets,  the system says no data package number could be determined.
    Please help me out...
    Thank You
    Mahesh

    Hi Mahesh,
    Could you please check ST22 and see if there is any short dumps ?
    try to do test run for the FMs using SE37 and see what is the output for your input.
    Do you have PSA for the load ? It may also have been deleted. You get this message when there is no PSA available.
    hope it helps
    Thanks
    Soumya

  • Function module of the permissions tab in RFx

    Hi,
    Can any one let me know the function module or the table where the data gets stored for the activites which are performed in the permissions tab in RFx.
    Sunil

    Following are the tables for permissions tab details as below
    /SAPPSSRM/PRDC - pass BBP_PDHSS-PS_PERM_GUID from RFX header Permission GUID in to  /SAPPSSRM/PRDC-PHDR_GUID, fetch PERMSN_GUID,
    /SAPPSSRM/PRMP - enter the above PERMSN_GUID with STAT_IND "N" in to this table to see the different roles assigned in permission tab from portal
    Raghu

Maybe you are looking for

  • Hard drive won't mount - but only on one Macbook Pro

    Hi guys So I have a brand new Macbook Pro 2.4 with retina and 8gb (like 2 days old). I'm on Mavericks. This question also concerns a Lacie Rugged USB3 1TB drive, it is bus power only. My lacie won't mount on my new mac. An identical lacie will, as wi

  • How to count files in a folder and subfolders of the folder.

    Hello everyone, I'm having a difficulty with countin files in a Regular folder and subfolders of the folder. I've tried to use SI_ANCESTOR  in a query; however, it gives me innacurate results. I used this hierarchy to create the code below, and it wo

  • Notification will not work for Mail

    Downloaded Mountain Lion; everything appeared to go well with install. When I first launched Mail, there didn't seem to be any issues (had to convert messages into new format, etc.) However, Notifications for Mail is not working. When a new message i

  • I pod touch is stuck in recovery

    my i pod touch is stuck on the plug into itunes screen and I cant get it off

  • Operating System Error When Downloading Reader 9

    Dell Latitude D631 or D531 AMD Chip Windows XP Service Pack 2 "Operating System Error (15219.101.220) getPlus:Error" Click OK and download does not proceed HELP