ORDERS IDOC and Error Notification Workitem in Customer Exit

Within customer exit EXIT_SAPLEINM_011 (ZXM06U33) I'm raising an exception exactly as described in note 132905. Here's my coding:
  elseif l_ebeln is initial.
          MESSAGE ID      'ZPIIODC'
                    TYPE    'm'
                    NUMBER  '001'
                    WITH    dekko-ebeln
                    RAISING ERROR_MESSAGE_RECEIVED.
  endif.
endif.
An error message is being posted to the NAST log and I can see it in the purchase order from which the IDOC was triggered however no notification workitem is being produced (while note 132905 says it actually will). Anyone got an idea? Thanks in advance!!!
Cheers,
Andy

Hi Andy,
* If sales order item was not found, don't send IDoc
   IF l_ebeln is initial.
     sy-msgid = 'ZPIIODC'.
     sy-msgty = 'E'.
     sy-msgno = '001'.
CALL FUNCTION 'MESSAGE_TEXT_BUILD'
      EXPORTING
        msgid               =  'ZPIIODC'
        msgnr               = '001'
        msgv1               = DEKKO-EBELN
      IMPORTING
        message_text_output = sy-msgv1.
  RAISE data_not_relevant_for_sending.
Regards,
Prabhudas

Similar Messages

  • Blogs and How-to Guide on Customer-exit

    Hi All,
    There are many threads on the same.. But all points to help.sap or some other brief Document.
    Could someone please give the links of some detail step by step blog on Customer-Exit( either Function Module or Screen or Menu Exit) or some How-to Guide for the same ?

    Hi,
    check this useful links:
    [Enhancements and Modifications|http://wiki.sdn.sap.com/wiki/display/ABAP/EnhancementsandModifications-BADI%2CEnhancementFramework%2CUserExits%2C+BTE]
    [Customer Exit (CMOD)|https://wiki.sdn.sap.com/wiki/display/ABAP/CustomerExits(CMOD)]
    [Blog:How many exit routines are active in your SAP ERP system?|/people/andrea.olivieri/blog/2009/05/22/how-many-exit-routines-are-active-in-your-sap-erp-system]
    Hope this help.
    Ciao.
    Andrea

  • Purchase Order IDoc Output Error

    I'm having a problem creating IDoc output for a vender PO.  I have the vender setup in WE20 with outbound parameters:
    Partn.funct. VN
    Message Type: ORDERS
    Basic Type: ORDERS05
    Application: EF
    Message Type: NEU
    Process Code: ME10
    In the PO Output conditions I'm using the Doc.type/Purch.Org/CoCode/Vender key. 
    When I create a PO and go in to the message screen Output type NEU appears, Medium: EDI, PartFunc: VN, Partner: vend#, Lang: EN  <b>When I try and save I receive an error message indicating that I can not enter a partner function for output NEU.</b> 
    I think I have everything configured correctly.  Any suggestions on how to resolve would be appreciated.
    Thanks!

    Check the configuration of Message Control using transaction NACE.
    Also check the Condition Records you have created for the output type.
    For details refer to
    http://help.sap.com/saphelp_erp2005/helpdata/en/c8/19887b43b111d1896f0000e8322d00/frameset.htm
    Also, try to create a test idoc using the transaction WE19.
    Hope this helps.

  • Problems gifting playlist - order randomized and Error 1008

    I can purchase music fine, so I know my account is indeed working.
    But when I try to gift a playlist via the iTunes Store, 2 errors keep occuring:
    1. Track order gets randomized. (Not that it'd matter, but I don't have shuffle checked.) Each time I try clicking the "Give Playlist" button, the list opens in the Store in a different random track order, numbered incorrectly. It's only an issue because these tracks need to play in order.
    2. More important, I can't finalize the purchase. I get all the way to the last screen, after entering my password, but when I finally click "Buy Gift" I get this error popup:
    "*We could not complete your iTunes Store request. An unknown error occurred (1008). There was an error in the iTunes Store.* Please try again later."
    This has been happening all day -- even though I can purchase songs for myself just fine.
    What should I do? This is time sensitive. I'm doing this through iTunes rather than burning a CD and giving it away because I feel strongly about paying for music. Bummer not to have any info on this.
    Thanks for any help!

    Well at least we're not alone. I just sent a support request to Apple. Not sure if it makes any difference, but maybe if everyone does it'd be of use? http://www.apple.com/support/itunes/contact.html?form=el&topic=Express%20Lane%20 inquiry
    BTW, does anyone know why the playlist order gets randomly changed when I try to gift a playlist? It's confounding, I keep having to cancel and try again until, randomly, the order is right -- which can take quite a while with 5 tracks!

  • BAPI/FM Help Needed for PM Work Order Update and Notification create

    Hi,
    I am using BAPI - BAPI_ALM_ORDER_MAINTAIN to update the work order details and create notifications for the object list but i am getting errors in doing that.
    IWO_BAPI 203 -Changing the execution factor in the BAPI is not supported
    And i have to create notifications to each object in the object list. This BAPI is not supporting that.
    So i used another BAPI BAPI_ALM_NOTIF_CREATE to create notification and passed the order number , counter etc to it but in the order it is creating a new row for that equipment and linking the notification to it.
    Need some help on these.

    Dear
    1. If you want a Notification mandatory to be created for Order using IW31 you can once make this happen by User Status in Order ,   i would suggest if you are doing implementation better Use Order Types  which has got Notification integrated in it .
    Check Order type PM05 in Ideas server you have PM05 Order with notification fields integrated , which created notification in Background when order is Created or released.
    2.For Work Order B --> Notification A , Not Allowing I donot have any idea check whether is there any User exit from experts or ask ur Abaper
    Regards,
    Edited by: Srinivas Narayana Gowda on Jun 11, 2009 1:10 PM

  • Retrive open order and open delivery value x custome

    Hi,
    how can i obtain a list of open order value and open delivery value per customer?
    10x
    bye

    Check the following code which give details of pending orders & values and it can be modified as per ur requirement.
    REPORT  ZPEND_ORDER no standard page heading line-size 255.
    *& Purpose : Details of Sale order having pending deliveries           *
    *&           ( For Rake order handling )                               *
    tables : vbak, vbap, likp, lips, kna1, vbuk, vbpa, vepvg, vbfa, vbup.
    data : pend_qty like  vbap-kwmeng,
           dlv_qty like  vbap-kwmeng,
           ord_qty like vbap-kwmeng.
    data: begin of itab_vbak occurs 0,
          vbeln like vbak-vbeln,           "sales order no
          audat like vbak-audat,           " created date
          auart like vbak-auart,           " Sales Document Type
          vkorg like vbak-vkorg,           "Sales Organization
          vtweg like vbak-vtweg,           " distribution channel
          spart like vbak-spart,           " Division
          vkgrp like vbak-vkgrp,           " Sales group
          vkbur like vbak-vkbur,           " Sales office
          kunnr like vbak-kunnr,           " sold to party
          kunag like vbak-kunnr,           " ship to party
          cust like vbak-kunnr,            " sold to party
          ship like kna1-name1,            " ship to party
          city like kna1-ort01,            " ship to party location
          deliv like likp-vbeln,           " delivery
          matnr like vbap-matnr,
          arktx like vbap-arktx,           " mat description
          kwmeng like vbap-kwmeng,
          kbmeng like vbap-kbmeng,
          fkrel like vbap-matnr,
          vstel like vbap-vstel,
          route like vbap-route,
          chln_no like likp-xabln,
          grn_no like likp-bolnr,
          truck_no like likp-traid,
          dlv_dt like vbfa-erdat,           "dlvy date
          ord_qty like vbap-kwmeng,
          dlvd_qty like vbap-kwmeng,
          pend_qty like vbap-kwmeng,
          kzwi5 like vbap-kzwi5,
          posnr like vbap-posnr,
    end of itab_vbak.
    data  posnr like vbap-posnr.
    *FOR ALV DISPLAY
    type-pools: slis.
    constants: formname_top_of_page type slis_formname value 'TOP_OF_PAGE'.
    *Data Decelararion for alv display
    data: i_fieldtab type slis_t_fieldcat_alv,
          i_heading  type slis_t_listheader,
          i_layout   type slis_layout_alv,
          i_sort     type slis_t_sortinfo_alv,
          i_print    type slis_print_alv,
          i_events   type slis_t_event,
          i_repname  like sy-repid,
          f2code   like sy-ucomm value  '&ETA',
          i_save(1) type c,
          i_exit(1) type c,
          i_variant like disvariant,
          h_text(50).
    start-of-selection.
      selection-screen skip 1.
      selection-screen begin of block v1 with frame title text-001.
      selection-screen skip 1.
      select-options:
                     ord_no for vepvg-vbeln,
                     audat for vbak-audat obligatory,
                     matnr for vbap-matnr,
                     spart for vbap-spart obligatory,
                     vstel for vepvg-vstel obligatory,
                     sale_org for vbak-vkorg obligatory,
                     sale_off for vbak-vkbur.
      selection-screen skip 1.
    check box for ALV display
      parameters p_alv as checkbox.
      selection-screen end of block v1.
      selection-screen skip 1.
      data:   ftab(72) occurs 5 with header line.
      refresh ftab.
      ftab = 'VBELN'. append ftab.
      refresh itab_vbak.
    initialization.
      i_repname = sy-repid.
    start-of-selection.
      select vbeln audat vkorg vtweg spart vkbur kunnr from vbak
           into
           (itab_vbak-vbeln, itab_vbak-audat,
            vbak-vkorg, vbak-vtweg, vbak-spart,
            itab_vbak-vkbur, itab_vbak-kunnr)
           where vbeln in ord_no
           and audat in audat
           and vbtyp = 'C'
           and vkorg in sale_org
           and spart in spart
           and vkbur in sale_off.
        if sy-subrc = 0.
          select posnr kwmeng kbmeng matnr arktx  "added for mat description
                   fkrel vstel route kzwi5 spart
                   from vbap into corresponding fields of itab_vbak
                   where vbeln = itab_vbak-vbeln .
            check ( itab_vbak-fkrel = 'A' or  "Delivery-related billing document
                    itab_vbak-fkrel = 'D' )   "Relevant for pro forma
              and itab_vbak-vstel in vstel
              and itab_vbak-matnr in matnr
              and itab_vbak-spart in spart.
            select single * from vbup where vbeln = itab_vbak-vbeln
                                        and posnr = itab_vbak-posnr.
            check vbup-gbsta ne 'C'.
            dlv_qty = 0.
            select single kunnr from vbpa into itab_vbak-kunnr
                   where vbeln = itab_vbak-vbeln
                   and parvw = 'WE'.
            select single name1 ort01 from kna1 into
                   (itab_vbak-cust, itab_vbak-city)
                    where kunnr = itab_vbak-kunnr.
          in case of partially processed sale order get delivery details
            clear : dlv_qty, itab_vbak-dlv_dt, itab_vbak-dlvd_qty, itab_vbak-chln_no,
                    itab_vbak-grn_no, itab_vbak-truck_no.
            if vbup-gbsta eq 'B'. "partially processed
              dlv_qty = 0.
            get details from delivery
              select vbfavbeln vbfarfmng vbfavbtyp_n vbfaerdat
                 into (vbfa-vbeln, vbfa-rfmng, vbfa-vbtyp_n, vbfa-erdat)
                 from vbfa
                 where vbelv = itab_vbak-vbeln
                   and posnv = itab_vbak-posnr.
                check vbfa-vbtyp_n = 'J'.
                clear : dlv_qty, itab_vbak-dlv_dt, itab_vbak-dlvd_qty, itab_vbak-chln_no,
                        itab_vbak-grn_no, itab_vbak-truck_no.
                select single erdat xabln bolnr traid kunag
                   into (itab_vbak-dlv_dt, itab_vbak-chln_no, itab_vbak-grn_no,
                         itab_vbak-truck_no, itab_vbak-kunag)
                   from likp
                   where vbeln = vbfa-vbeln.
                if sy-subrc = 0.
                  dlv_qty = dlv_qty + vbfa-rfmng.
                  itab_vbak-dlv_dt = vbfa-erdat.
                  itab_vbak-dlvd_qty = dlv_qty.
                  itab_vbak-deliv = vbfa-vbeln.
                endif.
                append itab_vbak.
              endselect.
            elseif vbup-gbsta eq 'A'.
            for unprocessed sale order
            ship to party details
              itab_vbak-kunag = itab_vbak-kunnr.
              itab_vbak-ship = itab_vbak-cust.
              append itab_vbak.
            endif.
          endselect.
        endif.
        clear itab_vbak.
      endselect.
      loop at itab_vbak.
      clear with change in document / item no
        on change of itab_vbak-vbeln or itab_vbak-posnr.
          clear: dlv_qty,ord_qty,pend_qty.
        endon.
        at new posnr.
        In case full qty not delivered
          if itab_vbak-kwmeng > itab_vbak-dlvd_qty.
            select single vbpa~kunnr into vbpa-kunnr
               from vbpa
               where vbeln = itab_vbak-vbeln
                and  posnr = itab_vbak-posnr
                and  parvw = 'WE'.
            if sy-subrc eq 0.
              itab_vbak-kunag = vbpa-kunnr.
              select single name1 ort01 from kna1 into
                    (itab_vbak-ship, itab_vbak-city)
                     where kunnr = itab_vbak-kunag.
              if sy-subrc ne 0.
                select single vbpa~kunnr into vbpa-kunnr
                   from vbpa
                   where vbeln = itab_vbak-vbeln
                   and parvw = 'WE'.
                itab_vbak-kunag = vbpa-kunnr.
                if sy-subrc ne 0 and p_alv ne 'X'.
                  write :/ 'vbpadetls' , itab_vbak-vbeln, itab_vbak-posnr, itab_vbak-vbeln.
                endif.
              endif.
            endif.
          endif.
          itab_vbak-ord_qty = itab_vbak-kwmeng.
        Delivered Qty & Pending qty
          dlv_qty = dlv_qty + itab_vbak-dlvd_qty.
          itab_vbak-pend_qty = itab_vbak-kwmeng - dlv_qty.
          modify itab_vbak transporting kunag ship city dlvd_qty ord_qty pend_qty .
        endat.
      endloop.
    end-of-selection.
      sort itab_vbak by vbeln posnr audat kunnr matnr.
      if p_alv ne 'X'.
        loop at itab_vbak.
          select single kna1name1 kna1ort01
                 into
                 (kna1-name1, kna1-ort01)
                 from kna1
                 where kunnr = itab_vbak-kunnr.
          pend_qty = itab_vbak-ord_qty - itab_vbak-dlvd_qty.
          format color col_normal.
          write : /01(10) itab_vbak-vbeln,
                  12(10)  itab_vbak-audat,
                  24(8)  itab_vbak-kunag no-zero,
                  34(6)  itab_vbak-posnr no-zero,
                  42(10) itab_vbak-matnr no-zero,
                  54(15) itab_vbak-arktx,
                  72(25) itab_vbak-ship,
                  100(15) itab_vbak-city,
                  118(8)  itab_vbak-ord_qty,
                  128(10) itab_vbak-route,
                  140(10) itab_vbak-dlv_dt,
                  152(10) itab_vbak-dlvd_qty,
                  164(10)  itab_vbak-chln_no,
                  176(10)  itab_vbak-grn_no,
                  188(10)  itab_vbak-truck_no,
                  200(10) itab_vbak-pend_qty,
                  218(15) itab_vbak-kzwi5 left-justified.
          format reset.
          at end of audat.
            sum.
            pend_qty = itab_vbak-ord_qty - itab_vbak-dlvd_qty.
            format color col_background.
            write: /118(8) itab_vbak-ord_qty,
                   152(10) itab_vbak-dlvd_qty,
                   200(10) pend_qty,
                   218 itab_vbak-kzwi5 left-justified.
            format reset.
          endat.
          at last.
            sum.
            pend_qty = itab_vbak-ord_qty - itab_vbak-dlvd_qty.
            format color col_total.
            write : /5 'Grand Total : '.
            write: /118(8) itab_vbak-ord_qty,
                  152(10) itab_vbak-dlvd_qty,
                  200(10) pend_qty,
                  218 itab_vbak-kzwi5 left-justified.
            format reset.
          endat.
        endloop.
      else.
      for ALV Display
        i_repname = sy-repid.
        perform fieldcat using i_fieldtab[].
        perform eventtab using i_events[].
        perform comment using i_heading[].
        perform call_alv.
        perform build_layout using i_layout.
      endif.
    top-of-page.
      if p_alv ne 'X'.
        format color col_heading.
        write: /01 'Ord No',
                12 'Ord Date',
                24 'Sold to Party',
                34 'Item No',
                42 'Mat No',
                54 'Mat Descp',
                72 'Ship to Party',
                100 'City',
                118 'Qty',
                128 'Route',
                140 'Dlv Date',
                152 'Dlv Qty',
                164 'Challan No',
                176 'GRN No',
                188 'Truck No',
                200 'Pend Qty',
                218 'Total Value'.
        format reset.
      endif.
    *&      Form  fieldcat
          text
         -->P_I_FIELDTAB[]  text
    form fieldcat using p_fieldtab type slis_t_fieldcat_alv.
      data: l_fieldcat type slis_fieldcat_alv.
      clear l_fieldcat.
      l_fieldcat-tabname    = 'ITAB_VBAK'.
      l_fieldcat-fix_column = 'X'.
      l_fieldcat-no_out     = ' '.
      l_fieldcat-fieldname  = 'VKBUR'.
      l_fieldcat-outputlen  = 6.
      l_fieldcat-seltext_l  = 'Sales Office'.
      l_fieldcat-no_zero = 'X'.
      append l_fieldcat to p_fieldtab.
      l_fieldcat-fieldname  = 'VSTEL'.
      l_fieldcat-outputlen  = 5.
      l_fieldcat-seltext_l  = 'Shipping Point'.
      l_fieldcat-no_zero = ' '.
      append l_fieldcat to p_fieldtab.
      l_fieldcat-fieldname  = 'VBELN'.
      l_fieldcat-outputlen  = 10.
      l_fieldcat-seltext_l  = 'Order No.'.
      l_fieldcat-no_zero = 'X'.
      l_fieldcat-hotspot = 'X'.
      append l_fieldcat to p_fieldtab.
      l_fieldcat-fieldname  = 'AUDAT'.
      l_fieldcat-outputlen  = 10.
      l_fieldcat-seltext_l  = 'Doc Date'.
      l_fieldcat-hotspot = ''.
      l_fieldcat-no_zero = ' '.
      append l_fieldcat to p_fieldtab.
      l_fieldcat-fieldname  = 'POSNR'.
      l_fieldcat-outputlen  = 5.
      l_fieldcat-seltext_l  = 'Item'.
      l_fieldcat-no_zero = 'X'.
      append l_fieldcat to p_fieldtab.
      l_fieldcat-fieldname  = 'MATNR'.
      l_fieldcat-outputlen  = 10.
      l_fieldcat-seltext_l  = 'Material No'.
      l_fieldcat-no_zero = 'X'.
      append l_fieldcat to p_fieldtab.
      l_fieldcat-fieldname  = 'ARKTX'.
      l_fieldcat-outputlen  = 15.
      l_fieldcat-seltext_l  = 'Mat. Description'.
      l_fieldcat-no_zero = 'X'.
      append l_fieldcat to p_fieldtab.
      l_fieldcat-fieldname  = 'KUNNR'.
      l_fieldcat-outputlen  = 8.
      l_fieldcat-seltext_l  = 'Sold to Party'.
      l_fieldcat-no_zero = 'X'.
      append l_fieldcat to p_fieldtab.
      l_fieldcat-fieldname  = 'CUST'.
      l_fieldcat-outputlen  = 15.
      l_fieldcat-seltext_l  = 'Sold to Party Descp.'.
      l_fieldcat-no_zero = 'X'.
      append l_fieldcat to p_fieldtab.
      l_fieldcat-fieldname  = 'KUNAG'.
      l_fieldcat-outputlen  = 8.
      l_fieldcat-seltext_l  = 'Ship to Party'.
      l_fieldcat-no_zero = 'X'.
      append l_fieldcat to p_fieldtab.
      l_fieldcat-fieldname  = 'SHIP'.
      l_fieldcat-outputlen  = 15.
      l_fieldcat-seltext_l  = 'Ship to Party Descp'.
      l_fieldcat-no_zero = 'X'.
      append l_fieldcat to p_fieldtab.
      l_fieldcat-fieldname  = 'CITY'.
      l_fieldcat-outputlen  = 13.
      l_fieldcat-seltext_l  = 'City'.
      l_fieldcat-no_zero = ' '.
      append l_fieldcat to p_fieldtab.
      l_fieldcat-fieldname  = 'DELIV'.
      l_fieldcat-outputlen  = 10.
      l_fieldcat-seltext_l  = 'Delivery No.'.
      l_fieldcat-no_zero = 'X'.
      l_fieldcat-hotspot = 'X'.
      append l_fieldcat to p_fieldtab.
      l_fieldcat-fieldname  = 'ORD_QTY'.
      l_fieldcat-outputlen  = 10.
      l_fieldcat-seltext_l  = 'Qty'.
      l_fieldcat-no_zero = ' '.
      l_fieldcat-hotspot = ' '.
      append l_fieldcat to p_fieldtab.
      l_fieldcat-fieldname  = 'ROUTE'.
      l_fieldcat-outputlen  = 10.
      l_fieldcat-seltext_l  = 'Route'.
      l_fieldcat-no_zero = 'X'.
      append l_fieldcat to p_fieldtab.
      l_fieldcat-fieldname  = 'DLV_DT'.
      l_fieldcat-outputlen  = 10.
      l_fieldcat-seltext_l  = 'Delivered date'.
      append l_fieldcat to p_fieldtab.
      l_fieldcat-fieldname  = 'DLVD_QTY'.
      l_fieldcat-outputlen  = 10.
      l_fieldcat-seltext_l  = 'Delivered Qty'.
      l_fieldcat-no_zero = ' '.
      append l_fieldcat to p_fieldtab.
      l_fieldcat-fieldname  = 'CHLN_NO'.
      l_fieldcat-outputlen  = 15.
      l_fieldcat-seltext_l  = 'Challan No'.
      append l_fieldcat to p_fieldtab.
      l_fieldcat-fieldname  = 'GRN_NO'.
      l_fieldcat-outputlen  = 15.
      l_fieldcat-seltext_l  = 'GR Number'.
      append l_fieldcat to p_fieldtab.
      l_fieldcat-fieldname  = 'TRUCK_NO'.
      l_fieldcat-outputlen  = 10.
      l_fieldcat-seltext_l  = 'Truck No'.
      append l_fieldcat to p_fieldtab.
      l_fieldcat-fieldname  = 'PEND_QTY'.
      l_fieldcat-outputlen  = 10.
      l_fieldcat-seltext_l  = 'Pending Qty'.
      l_fieldcat-no_zero = ' '.
      append l_fieldcat to p_fieldtab.
      l_fieldcat-fieldname  = 'KZWI5'.
      l_fieldcat-outputlen  = 13.
      l_fieldcat-seltext_l  = 'Value'.
      append l_fieldcat to p_fieldtab.
      clear l_fieldcat.
    endform.                    " FIELDCAT
    *&      Form  EVENTTAB
          text
         -->P_I_EVENTS[]  text
    form eventtab using p_events type slis_t_event.
      data: ls_event type slis_alv_event.
      call function 'REUSE_ALV_EVENTS_GET'
        exporting
          i_list_type = 0
        importing
          et_events   = p_events.
      read table p_events with key name = slis_ev_top_of_page
                               into ls_event.
      if sy-subrc = 0.
        move formname_top_of_page to ls_event-form.
        append ls_event to p_events.
      endif.
    endform.                    " EVENTTAB
    *&      Form  BUILD_LAYOUT
          text
         -->P_LAYOUT   text
    form build_layout using p_layout type slis_layout_alv.
      p_layout-f2code       = f2code.
      p_layout-zebra        = 'X'.
      p_layout-detail_popup = 'X'.
    endform.                    " BUILD_LAYOUT
    *&      Form  COMMENT
          text
         -->P_I_HEADING[]  text
    form comment  using    p_i_heading type slis_t_listheader.
      data: hline type slis_listheader,
            text(60) type c,
            sep(20) type c.
      clear: hline, text.
      hline-typ  = 'H'.
      write : 'Pending Sale Order Details' to hline-info.
      append hline to i_heading.
    endform.                    " COMMENT
    *&      Form  TOP_OF_PAGE
          text
    form top_of_page.
      call function 'REUSE_ALV_COMMENTARY_WRITE'
        exporting
          it_list_commentary = i_heading
          i_logo             = 'ALV_REPORT'.
    endform.                    " TOP_OF_PAGE
    *&      Form  call_alv
          text
    -->  p1        text
    <--  p2        text
    form call_alv .
      call function 'REUSE_ALV_GRID_DISPLAY'
        exporting
          i_interface_check        = ' '
          i_buffer_active          = ' '
          i_callback_program       = i_repname
          i_callback_pf_status_set = ' '
          i_callback_user_command  = 'FRM_ALV_USER_COMMAND'
          i_structure_name         = 'ITAB_VBAK'
          i_background_id          = ' '
          is_layout                = i_layout
          it_fieldcat              = i_fieldtab
          it_sort                  = i_sort[]
          i_default                = 'X'
          i_save                   = 'A'
          is_variant               = i_variant
          it_events                = i_events[]
          is_print                 = i_print
        tables
          t_outtab                 = itab_vbak.
      if sy-subrc <> 0.
        write: 'SY-SUBRC: ', sy-subrc, 'REUSE_ALV_LIST_DISPLAY'.
      endif.
    endform.                    " call_alv
    *&      Form  frm_alv_user_command
          text
         -->UCOMM      text
         -->SELFIELD   text
    form frm_alv_user_command using ucomm like sy-ucomm
                  selfield type slis_selfield.
      case ucomm.
        when '&IC1'.
          if selfield-tabname = 'ITAB_VBAK'.
            if selfield-fieldname = 'VBELN'.
              read table itab_vbak index selfield-tabindex.
              if sy-subrc = 0.
                set parameter id 'AUN' field itab_vbak-vbeln.
                call transaction 'VA03' and skip first screen.
              endif.
            elseif selfield-fieldname = 'DELIV'.
              read table itab_vbak index selfield-tabindex.
              if sy-subrc = 0.
                set parameter id 'VL' field itab_vbak-deliv.
                call transaction 'VL03N' and skip first screen.
              endif.
            endif.
          endif.
      endcase.
    endform.                    "frm_alv_user_command

  • Split outbound ORDERS idoc to different ports

    Hi All,
               I was wondering whether it is possible to split an outbound ORDERS idoc and have it directed to two different ports based on document type? Client requires normal PO's to be written to one XML while STO's be written to a seperate file. Look forward to your responses.
    Regards,
    John

    Hi,
    These are the exits available for Outbound ORDERS idoc.
    1. ORDERS Purchase order / order MM06E001 EXIT_SAPLEINM_001 Customer enhancements
    for control
    record: purchasing
    document, outbound
    2. ORDERS Purchase order / order MM06E001 EXIT_SAPLEINM_002 Customer enhancements
    to data segments,
    purchasing
    document, outbound
    3.ORDERS Purchase order / order MM06E001 EXIT_SAPLEINM_011 Final customer enhancement
    EDI purchase
    order outbound
    You should create the project before implementing the exits. So that the break point is going to stop over there.
    Check this link to know how to find BADI -
    http://www.sap-img.com/abap/how-to-find-bapi-for-particular-transaction-in-sap.htm
    In your case this BADI is there for the given program.

  • Generating purchase order idoc, when a sales order is created

    Hi folks,
           we need to send purchase order idoc from SAP to some external system. Once sales order is created, it should automatically generate the purchase order idoc and send to the external system....Any document showing step by step configuration to do so? I have basic knowldege of ALE and IDOC...please suggest me the configuration steps in detail...
               Thanks in advance,
                 Shyam.

    Hi,
    1. Configure the IDoc with message type ORDERS and basic IDoc type as ORDERS05 (You have to follow common step-by-step approach)
    2. Configure Message Control to automatically generate IDoc whenever a Sales Order is created. (I mean output type)
    So whenever a Sales Order is created, output type will generate an IDoc.
    Hope this information is useful.
    Regards,
    AK

  • PRICING Procedure in SAP for an Incomming Sales Order IDOC

    Hi Friends,
    Here is a situation what we have and what we intend to do.
    We would be getting a Sales Order IDOC and when it hits the SAP..it comes with
    -Material, Qty and Price per material
    -Total Freight
    -Total Tax
    i.e the Pricing conditions are not maintained in SAP at all..we would just get the IDOC externally and the SAP needs to read the material, Qty at line item,
    take the total freight as it comes, and total Tax as it comes in the Idoc.
    My thoughts were to have all the Conditons PR00 (ZR00), KF00 (ZF00), UTXJ (ZTXJ) . ZR00 to set as Manual condition. ZF00 as header Freight and Manual condition, ZTXJ as header condition and Manual.
    I therefore was trying to figure out the best way to set the pricing procedure.
    Please let me know if I am on right track if not which is the way I need to set.
    Thank you
    Ravi

    HI Ravi,
    I think your issue is solved now...so for the benefit of SDN members....can you share the solution..as I am also working on the same requirement !!
    Thanks in advance
    Mayank

  • Hierchies and hierchies node with customer exit?

    hi friends,
    what scenerio we use hierchies and hierchies node  variable with customer exit ?
    Thanking u
    suneel.

    Hierarchy variables represent hierarchies. You can use them wherever
    hierarchies can be selected.
    Hierarchy node variables represent a node in a hierarchy. You can use them as
    an alternative to hierarchy nodes as fixed values for restricting a characteristic.
    If you use a hierarchy node variable, you can make selections by hierarchy
    node when you use the query.
    The Customer Exit processing type for variables enables you to determine
    values for variables by means of a function module exit. The function
    module used is EXIT_SAPLRRS0_001.
    You create a project in transaction CMOD by selecting the SAP
    enhancement RSR00001 and assigning this to the enhancement project.
    Activate the project.
    WHEN 'HIERARCHY'.   " Hierarchy variable
             CLEAR L_S_RANGE.
             L_S_RANGE-LOW  = 'MY HIERARCHY'. " hierarchy name
             L_S_RANGE-SIGN = 'I'.
             L_S_RANGE-OPT  = 'EQ'.
             APPEND L_S_RANGE TO E_T_RANGE.
    -> Only dependents of hierarchy 'MY HIERARCHY'
          WHEN 'HNODE'.   " Hierarchy node variable
             CLEAR L_S_RANGE.
             L_S_RANGE-LOW  = 'DEPT1'.  " Node name
             L_S_RANGE-HIGH = '0HIER_NODE'.   " InfoObject
             L_S_RANGE-SIGN = 'I'.
             L_S_RANGE-OPT  = 'EQ'.
             APPEND L_S_RANGE TO E_T_RANGE.
    -> Node 'DEPT1', that cannot be posted to
          WHEN 'HNODEVAL'.   " Hierarchy node variable
             CLEAR L_S_RANGE.
             L_S_RANGE-LOW  = 'LEAVE1'.  " node name (node is a leaf)
             L_S_RANGE-SIGN = 'I'.
             L_S_RANGE-OPT  = 'EQ'.
             APPEND L_S_RANGE TO E_T_RANGE.
    -> Node 'LEAVE1' (leaf)
    Regards
    Naga

  • Help needed in writting Customer exit - ABAP Code

    Hi Friends,
    I have a scenario in one of the query and need to write a customer exit for the same. Here is the scenario:
    I am using one input variable XXX to get input from user which feeds value to one of the charateristic  lets say "CHAR1" in query. I have one more characteristic "CHAR2" which has to get the value from the same variable XXX. This is not allowed in BI7.0 as the variable is Hierarchy Node type. It gives error that "Variable XXX is used for two different characteristics."
    So i need to create one more vaiable YYY which will get the value from XXX and then YYY will feed value to CHAR2.  I would appreciate if some one could tell me step by step how to write customer exit and give me the piece of ABAP code i need to write in my case.
    Your help will be appreciated in terms of points.
    Thanks,
    manmit

    Hi Arun,
    1. What should CHAR2 take - Hierarchy node variable or something else ?
    --> CHAR2 is a simple charateristic
    2. In your scenario - why have CHAR1 and CHAR2 ? why not have the user enter values against CHAR2 ??
    --> We dont want user to enter two input as the input values for both Chars are same.
    3. Did you try using a replacement path variable with the CHAR2 variable taking values from Variable on CHAR1 ?
    --> In BI7.0 replacement path variable only take values from Query results. So not able to do the same.
    Thanks

  • Using variable values form parametrized URL in Customer Exit in i_step = 1

    Hello BW experts,
    I call a parametrized URL to a Web Template that has a Query with the variable VAR1:
    http://XXX?...&CMD=LDOC&template_id=TEMP1&VAR_NAME_1=VAR1&VAR_VALUE_EXT_1=2006
    Then I try to access the value of VAR1 in i_step = 1 in the Customer Exit for BEx variables in order to determine the value for a customer exit variable VAR2:
    WHEN 'VAR2'.
        IF i_step = 1.
          READ TABLE i_t_var_range INTO var_range
            WITH KEY vnam = 'VAR1'.
          fl_var_range-sign = 'I'.
          fl_var_range-opt = 'EQ'.
          fl_var_range-low = *some operation with var_range
          APPEND fl_var_range TO e_t_range.
        ENDIF.
    The problem is that VAR1 contains either the default values (if the variable is set to have default variables) or is empty (if there are no default variables defined). It does not retrieve the value in the URL in the Customer Exit, but displays it correctly in the variable screen.
    Is there any way I can acces the URL parameter in the Customer Exit?
    Thanks for any answers in advance.
    Michael

    Gili,
    thanks for your answer. The problem was, though, that the first value determines the behavior of the variable screen by setting the value of a customer exit variable.
    My goal was to have two variable screens. In the first a date is chosen and in the second a node of a time-dependant hierarchy is chosen. If one enters the date in the same screen as the hierarchy, the valid hierarchy for the date is not displayed.
    I solved the problem now in following way:
    <b>1. Saving the value in SAP Memory as a parameter.</b> The parameter has to be defined in SE80. A Dummy Web Template with a query on the same Infoprovider with just the two InfoObjects (Year/Month) displays a variable screen for Month/Year. In addition there is a Dummy Customer Exit variable that is needed in order to pass the variable values (month/year) into SAP Memory. Using JavaScript in the Dummy WebTemplate the second Web Template with the actual query is called without displaying anything else than the variable screen.
    WHEN 'DUMMY_CUSTOMEREXIT_VAR'.
        data: w_date like sy-datum
        IF i_step = 2.
          READ TABLE i_t_var_range INTO var_range
            WITH KEY vnam = 'VAR1'.
        do your peration
        i.e.  w_date(4)+2 = var_range-low.
                 w_date(6)+2 = var_range-high.
          SET PARAMETER ID 'ZBW_PARA1' FIELD w_date.
        ENDIF.
    <b>2. Retrieving the value from SAP Memory</b> Before displaying the variable screen, the chosen date is retrieved from SAP Memory and used to set the date for a customer exit variable for the hierarchy validity date.
    WHEN 'VAR2'.
        IF i_step = 1.
          GET PARAMETER ID 'ZBW_PARA1' FIELD w_date.
        do some operation with     
          APPEND fl_var_range TO e_t_range.
        ENDIF.
    It is quite a comlex construct, but it works....

  • Regarding Customer exit - ABAP Code

    Hi Friends,
    I have a scenario in one of the query and need to write a customer exit for the same. Here is the scenario:
    I am using one input variable XXX to get input from user which feeds value to one of the charateristic lets say "CHAR1" in query. I have one more characteristic "CHAR2" which has to get the value from the same variable XXX. This is not allowed in BI7.0 as the variable is Hierarchy Node type. It gives error that "Variable XXX is used for two different characteristics."
    So i need to create one more vaiable YYY which will get the value from XXX and then YYY will feed value to CHAR2. I would appreciate if some one could tell me step by step how to write customer exit and give me the piece of ABAP code i need to write in my case.
    Your help will be appreciated in terms of points.
    Thanks,

    Hi Manmit,
    The following link can guide you on how to write customer exits (this has example as well)
    [http://help.sap.com/saphelp_nw70/helpdata/EN/61/579b3c494d8e15e10000000a114084/frameset.htm]
    Hope this helps.
    Cheers,
    Sumit

  • Custom Exit variable

    Hi ,
    I need to support a Bex report and need to understand the existing custome exit they have for a variable.
    Eg : in the BEx Query, i see they have created a custom variable and used that to automatically get the current month and populate the query.
    I went to BEx change mode and variable Display/change mode but that just gives the details that it is the custome exit and technical n
    Can you please tel me the steps to get to the code level behind it to understand the logic ?
    Thanks.

    Hi Chris,
    to get the what they have written,
    goto T-code   SE38 >>>> Give program name ZXRSRU01  click enter
    It will open a new window which has all the customer exit codes
    For ex:
    case i_vnam.
    when 'VAR1'.
    SOME LOGIC
    WHEN 'VAR2'.
    SOME LOGIC
    WHEN 'VARN'.
    SOME LOGIC.
    END CASE.
    Here var1 var2  and .. varn are the  customer exit variables {techical names].
    When ever user run the query which contains the customer exit it will trigger the above include program and it will trigger respected when logic.
    Do debugging through T-code RSRT  [  give query name [execute + debug } }  in order to understand the logic step by step.
    Note : you can also use the
    T-code CMOD> project >> enhancement RSR00001>>> EXIT_SAPLRRS0_001>>>ZXRSRU01
    to check / to change the customer exit program.
    Regards,
    Ranganath

  • Customer Exit EXIT_SAPLCORF_005

    Hi,
    I'm trying to use the customer-exit EXIT_SAPLCORF_005 to modify a service order after saving some order confirmations using transaction IW41.
    The customer-exit or better the coding in include ZXCOFU05 is called, but currently I've no idea how to modify the appropriate service order (given in structure/table caufvd_tab) that way it gets saved to database.
    Why do I want the service order to get saved to database this way? That's because our BW will import the order's PMCO data only when it gets triggered from a service order modification.
    Basically this means when sbdy. adds some order confirmations (which means a new PMCO record is created) the order itself is not changed at all, hence, the BW trigger is not fired and the new PMCO data is not imported into BW.
    Is it possible to change an service order from within customer-exit EXIT_SAPLCORF_005 this way so it acts like a modified document from within transaction IW32?  Or perhaps anybody knows about a better place or better way to get this new PMCO records into the BW.

    Sean,
    Have a look [here|http://www.sapfans.com/forums/viewtopic.php?p=648307] under the Confirmations section
    PeteA
    [www.pjas.com]

Maybe you are looking for

  • Java 7.20 rev 2(OSX): crash when selecting "Finder" menu

    Hi, since javagui 7.20 (rev 0, 1 and 2) sometimes when I chose its menu in the finder top bar it crashes. Is it a known bug? This is console log: 06/05/10 10.58.29     [0x0-0x5b05b].com.sap.platin[923]     Invalid memory access of location 0x18 rip=0

  • Mass approval of Leave tasks..

    Dear Team, Is it possible to Approve all leave requests at a single go. If it is Possible, What needs to be done at WORKFLOW Part and What needs to be done at EP Part. Please specicy both coding and configuration part of them. Please help. Thanks a l

  • Dynamically loading client proxy no longer works

    I've got several instances where we need to dynamically load/initialize a WebService client proxy using a URL classloader all within an Applet. The need for the classloader and dynamic loading is due to the seperate jars holding different system modu

  • Installation stuck after restart

    Downloaded Yosemite, ran the install, restarted when asked to, and now the computer has been stuck on the grey apple screen with a progress bar frozen at about 50% for the last 45 minutes. I hear intermittant activity happening with the hard drive, b

  • Is it possible to install Windows in MacBook Air?

    I want to purchase a MacBook Air as I want to get experienced with Lion and just want to take feel of Mac. But yet I am expereicned with Windows only so will it be possible to install Windows (Dual Boot/Virtual Machine) in MacBook Air?