Trigger IDOC_OUTPUT_ORDRS using custom program.

Hello.
I have a requirement to send an order response (ORDERS05) IDoc by calling FM IDOC_OUTPUT_ORDRS using a custom program.  Wanted to know if anyone had suggestions on the best approach.  We are using much of the native mapping and adding a few segments (which I would handle updating in the customer exits).
My biggest question is how to setup the call to IDOC_OUTPUT_ORDRS.  I think I need to simulate the NAST table entry.  Is that the recommended approach?  Any tips or hints would be appreciated.
Thanks,
Cal
Edited by: Cal on Feb 3, 2009 7:07 PM

Actually condition technique based on which output determination works - is designed for exactly what you are asking - triggering the output type under certain conditions.
You can create ouput condition records with key fields that represent your business conditions: for example certain sales org, distrib channel, certain sales order type can only trigger the output. You can make it as finer as you want (like even including sold-to as a criteria), like you can include any field that appears in the sales document as a criteria to trigger the idoc.
The tables that store condition records - condition tables - are custom created with your business field combination that you want to base the triggering upon.
Goto the IMG path:
IMG -> SD -> Basic functions -> Output control -> Output determination -> Maintain output determination for sales documents.
1. A o/p determination procedure is assigned to sales document type
2. A o/p determination procedure comprise a list of output types, which are checked sequentially by the system
3. Custom condition tables with new business criteria can be assigned to new or existing access sequence
4. Access sequence is attached to output type
How the system triggers a particular output type during application document processing, say sales order processing:
1. From the sales document type, the o/p determination procedure is determined
2. The system then checks the output types inside the procedure one by one
3. Say at output type 1, the system checks to see what access sequence it has
4. The access sequence comprises of 1 or more condition tables.
5. The system then checks each condition table, by comparing the key fields of the condition table with the correpsonding sales document fields - like comparing sales org, documen type in the condition record with what the sales document has. If every thing matches, the output type is triggered.
I have just simplified the whole o/p determination. There are several other features which are controlle at o/p determination, procedure, output type and access sequence levels. Spend some time one these, it is a neat, flexible and future proof concept. You will never regret! )

Similar Messages

  • Updating logs of output message of a delivery using custom program

    Hi Experts,
    I have a requirement where in i need to create processing logs for a output message type of a delivery using custom program. So basically for a delivey a output type will be triggered , furhter i will develop a custom program which i will run from se38 and update logs. I even need to update teh status of the output message type.
    Any inputs on this would be very useful.
    Thanks & Regards
    Dipak,

    many possible ways...
    1. create a report which queries table NAST for required output type and run the report in background for every 2 mins or 5 mins.
    2. you can write it in the driver program for the output message.

  • Re: Payment order Reversal using custom program

    Hello Experts,
    The requirement is when we void any chek the corresponding documents (payment request ,payment order and accounting document) related to the check has to be reversed in Fi Tresury.
    Reversal of the payment reqest and the accounting document in my program is fine but payment order reversal is not happening in the program.
    I am able to reverse it by using standard transaction ihc02.
    In the program  i have used the same function module IHC_BCA_PAYM_ITEM_REVERSE as used in the standard program and passing the same values what we are passing in the standard transaction but reversal of  the payment order was not happening using that functiona module.
    Please suggest me what to do with this requirement and how to reverse the payment order using the custom program.
    Thanks and regards
    pavan

    Hello Experts,
    The requirement is when we void any chek the corresponding documents (payment request ,payment order and accounting document) related to the check has to be reversed in Fi Tresury.
    Reversal of the payment reqest and the accounting document in my program is fine but payment order reversal is not happening in the program.
    I am able to reverse it by using standard transaction ihc02.
    In the program  i have used the same function module IHC_BCA_PAYM_ITEM_REVERSE as used in the standard program and passing the same values what we are passing in the standard transaction but reversal of  the payment order was not happening using that functiona module.
    Please suggest me what to do with this requirement and how to reverse the payment order using the custom program.
    Thanks and regards
    pavan

  • Printing Purchase Order from ME9F using custom program and smartform

    I was able to use my custom program which calls a smartform to print purchase orders from transaction ME9F. I did this using transaction NACE.
    However, when I call "Output Message" from ME9F, the output always fails (shown by an 'X' icon after the checkbox). When I try to put back the standard program in NACE, it does not show an 'X' but a check which indicates that the printing was successful.
    Do you know why this happens? What did I miss?
    Here's my call to my smartform from my custom driver program:
        " Change Smartform ZP_MMSF_P01_PURCHASE_ORDER
        " to internal Function module name
        CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
            EXPORTING
                FORMNAME   = 'ZP_MMSF_P01_PURCHASE_ORDER'
            IMPORTING
                FM_NAME    = fmname
        wa_cparam-no_dialog = 'X'.
        wa_output-tddest = 'LOCL'. "or 'LP01'.  "Spool: Output device
        CALL FUNCTION fmname
            EXPORTING
                control_parameters         = wa_cparam
                output_options             = wa_output
                i_data                     = i_data
                wa_lookup                  = wa_data_lookup
                goods_amt                  = goods_amt
                discount_amt               = discount_amt
                vat                        = vat
                total_amt                  = total_amt
                total_amt_inwords          = total_amt_inwords

    Vijaya,
    I have this problem though,
    Whenever I try to provide values for CONTROL_PARAMETERS and OUTPUT_OPTIONS to the sapscript call in your code, the PO printing (even the preview) does not proceed. I do this because I wanted to suppress the printer dialog.
    here is a fragment of the code:
    " code I added
    LS_COMPOSER_PARAM-tddest = 'LOCL'. "or 'LP01'.  "Spool: Output device
    LS_COMPOSER_PARAM-bcs_langu = sy-langu.
    LS_CONTROL_PARAM-preview = 'X'.
    LS_CONTROL_PARAM-no_open = 'X'.
    LS_CONTROL_PARAM-no_close = 'X'.
    LS_CONTROL_PARAM-device = 'PRINTER'.
    LS_CONTROL_PARAM-no_dialog = 'X'.
    DO NAST_ANZAL TIMES.
    *--In case of repetition only one time archiving
    * if sy-index > 1 and nast-tdarmod = 3.
    * nast_tdarmod = nast-tdarmod.
    * nast-tdarmod = 1.
    * ls_composer_param-tdarmod = 1.
    * endif.
    IF SY-INDEX NE 1 AND REPEAT IS INITIAL.
    REPEAT = 'X'.
    ENDIF.
    CALL FUNCTION LF_FM_NAME
    EXPORTING
    ARCHIVE_INDEX = TOA_DARA
    ARCHIVE_PARAMETERS = ARC_PARAMS
    CONTROL_PARAMETERS = LS_CONTROL_PARAM
    MAIL_RECIPIENT = LS_RECIPIENT
    MAIL_SENDER = LS_SENDER
    OUTPUT_OPTIONS = LS_COMPOSER_PARAM
    USER_SETTINGS = SPACE
    IS_NAST = NAST
    IS_REPEAT = REPEAT
    I tried to trace it to the function module generated by smartform. The error propagates this way: From the function module, there is a call to function SSFCOMP_PROCESS_DOCUMENT. Then inside that function, there is a perform operation to tr_ssfcomp_process_doc
    perform tr_ssfcomp_process_doc using startpage docstruc
                                           header.
    Inside that form, it calls the macro tr_active which checks the value of ssfcstat-trlevel (tracelevel) against c_trlevel_document. In the macro, if ssfcstat-trlevel is less than c_trlevel_document, the smartform will fail. c_trlevel_document is 15 and ssfcstat-trlevel is 0, and so the smartform fails.
    (you can see the macro tr_active in include LSTXBCMAC and the form tr_ssfcomp_process_doc is in the include LSTXBCFTR)
    When I do not put values in CONTROL_PARAMETERS and OUTPUT_OPTIONS, everything is ok.
    Do you know why this happens?
    Thanks in advance!
    Edit: I have found out about transaction SFTRACE, but this is disabled.
    Kyle

  • Write SM37 log using custom program as copy of RSPROCESS type REQUDEL

    Hi,
    I have created a custom version of RSPROCESS program for deleting overlapping requests from a cube.
    The program works well but during the execution it doesn't write the log in transaction SM37, but only in the SLG1.
    I'd like to have the SM37 log.
    In detail che function modules of RSPROCESS included in my custom program are:
    RSSM_START_DELETE_STORNO
    RSSM_PROCESS_REQUDEL
    APPL_LOG_WRITE_HEADER
    BAL_DB_LOGNUMBER_GET
    APPL_LOG_WRITE_MESSAGES
    APPL_LOG_WRITE_DB
    Any idea?

    No, I executed the program in a process chain step.
    To be honest, the first part of the program is a custom of RSPROCESS variant DTP_LOAD.
    This section works well and i can see the log in the SM37.
    After loading is complete, the same programm executes the RSOPROCESS variant REQUDEL, but for this activity i don't see the log. If you execute the standard step of the chain for deleting overlapping request you can see the job log in the SM37, i 'd like to obtain the same result.

  • I am trying to trigger a custom event using a program but does not work ..

    HI ....i am trying to trigger a custom event of a custom object type using a program but does not work. If trigger the same event using SWUE it works.
    below is the code...
    {Key = '0010001115'. "Sales Order Number (hard-coded)
    CALL FUNCTION 'SWE_EVENT_CREATE'
      EXPORTING
        objtype                       = 'ZXXXXXXXF'
        objkey                        = KEY
        event                         = 'ZEVENT'
      CREATOR                       = ' '
      TAKE_WORKITEM_REQUESTER       = ' '
      START_WITH_DELAY              = ' '
      START_RECFB_SYNCHRON          = ' '
      NO_COMMIT_FOR_QUEUE           = ' '
      DEBUG_FLAG                    = ' '
      NO_LOGGING                    = ' '
      IDENT                         =
    IMPORTING
      EVENT_ID                      =
      RECEIVER_COUNT                =
    TABLES
      EVENT_CONTAINER               =
    EXCEPTIONS
      OBJTYPE_NOT_FOUND             = 1
      OTHERS                        = 2}
    Please guide me if i am missing something.

    Hi Sunny,
    I think you should try creating the event using FM SAP_WAPI_CREATE_EVENT.
    CALL FUNCTION 'SAP_WAPI_CREATE_EVENT'
      EXPORTING
        OBJECT_TYPE             =  'ZXXXXXXXF'
        OBJECT_KEY              = key
        EVENT                   = 'ZEVENT'
    *   COMMIT_WORK             = 'X'
    *   EVENT_LANGUAGE          = SY-LANGU
    *   LANGUAGE                = SY-LANGU
    *   USER                    = SY-UNAME
    *   IFS_XML_CONTAINER       =
    IMPORTING
       RETURN_CODE             = rcode
       EVENT_ID                = event_id
    * TABLES
    *   INPUT_CONTAINER         =
    *   MESSAGE_LINES           =
    *   MESSAGE_STRUCT          =
    Regards,
    Saumya

  • Outbound IDOC process - Using standard  or Custom Program

    Hi all,
    i'm having some doubts regarding IDOC's outbound processing.
    I'm trying to understand 2 scenarios:
    1- Trigger Standard Outbound IDOC without writting any Z program ou IDOC FM.
    It's possible to trigger a outbound idoc for exemple, whenever a sales order is created. To do this is, i suposed i don't need to write any code at all, correct?
    What i need to do is create a logical system (SALE), define Transmission protocol (WE20, in here i associate the partner, and the outbound message type? After this point is the idoc automatic triggered?
    If not, what is the correct procedure?
    2 Trigger Ountbound IDOC using Z program.
    Whats is diferent from the point 1 to this situation?
    Best regards,
    Pedro

    Kali,
    1. You can search in SE37 using IDOC_OUTPUT* for finding out corresponding function modules. It is based on message types.
    2. You can search user exit in above mentioned function module. So first get the correct populating FM & then you can search for Call Customer Function inside the code for user exit.
    3.Again ans is same as in point 1.

  • How to trigger a standard workflow task in customizing program?

    Hi experts,
    Does any1 have any ideas about how to trigger a standard workflow task in customizing program? Is there any FMs can be used to do this?
    Thx in advance. Points will be rewarded.
    Vincent

    will followiign Fms help -
    'SWE_EVENT_CREATE'
    SWR_START_WORKFLOW
    SWU_START_WORKFLOW

  • Trigger special function output type through a custom program

    Hi,
    I have to trigger the special function output type from a custom program.
    This custom program contains a BAPI and the output parameters of this BAPI are required as input to the second BAPI which is contained in the form routine of the special function output type.
    I am not able to understand how to trigger the special function as I dont know how the nast-objky will be updated
    and how the BAPI parameters will be passed.
    Is this has to be done through a Idoc
    Can anyone guide me on how to handle the above functionality.

    Hello,
    I am not able to understand your requirement completely...
    agree with above post....addition-
    1. Transport medium would be '8 - Special Function' where one program would fire and that can be used for further processing.
    2. If condition record are maintained and it is matching with parameters then output type with all transport medium would be called
    Thanks

  • Report to check authorization object used in customized programs

    Hi Guys,
    An auditor came and he raised a question to us, he asked whether all of our customized transactions and programs are maintained with authorization checks? The question is how can we check what authorization objects are used for our customized programs and transaction codes? The developer did not maintain the objects used for that program in SU24 table. Is there a program or a report to show us all the authorization object used for a customised program or transaction? Example : T-code MIGO we can check in SU24 table for all the authorization object used. How do we check for customized tcodes? Please advise. Thanks!
    Edited by: Jarod Tan on Nov 25, 2010 9:42 AM

    Note that some programs are built in such a way that no (visible) auth check is necessary, or even desired at all.
    To determine the necessity of an auth check, you should check that starting it has an entry point (tcode, rfc, service) which is appropriately restricted. The rest (whether and where and how a further check is evaluated) is entirely dependent to what the program actually does.
    Well designed applications generally have centralized functions and methods, and the checks are in there or a "base check" they use.
    Others again use the same in UI programming to determine the visibility of functions, to make the application more intuitive for the user. This on it's own is however not a sufficient auth check to rely on.
    Code review is an art form!
    Cheers,
    Julius

  • Populating the Addressee field using Customer Interface program

    Hello All,
    Can any body tell me how to populate the "Addressee" column in the HZ_Party_Sites table using Customer Interface Program. Which field should be populated in RA_Customers_Interface_All table inorder to populate the "Addressee" field.
    Thank you,
    Vijay

    You can post this thread in this
    Customers as well.
    Thanks
    GM

  • Attach Documents to Custom Program Using Generic Object Services

    Hi There,
             I created Object type ZGOS and used in the custom program, when i try to attach documents it allows and then shows in attachment list.
            But When I use that program next time that document attached is not available.
    Is there any separate save Class or FM available for saving the document to the specified custom program.
    I am using following code in the program,
      CLEAR obj.
    SET OBJECT TYPE TO 'ZGOS'
      obj-objtype = objtype.
    SET OBJECT KEY = REPORT NAME
      SELECT SINGLE name
      FROM trdir
      INTO obj-objkey
      WHERE name = sy-repid.
    CALL GOS MANAGER WITHOUT CONTAINER (WILL BE DISPLAYED IN THE TOOLBAR)
      CREATE OBJECT manager
        EXPORTING
          is_object = obj
        EXCEPTIONS
          OTHERS    = 1.
    Thanks in advance.

    Check the Naimesh Patel Blog he explain very well
    http://help-abap.blogspot.com/2009/02/generic-object-services-gos-toolbar.html

  • Synchronizing Two Custom Z Tables Using Abap Program

    Hi,
        My requirement is Synchronizing two custom z tables using abap program me.
    I have vendors in two tables, i have to select the common vendors from first which are existing in second  table also.
    In first table each vendor can have more than one supplier types in one field only. In second table these supplier types are divided into
    different fields.
         My requirement is I have to check supplier types in first table and i have to pass X to corresponding supplier types in second table vendor.
    I have to pass X value for each depending in Second table depending upon supplier type in first table.
    . How to do it can any one suggest with code.
    Thanks in Advance,
    Vivek
    <subject edited by moderator>
    Message was edited by: Manish Kumar

    Hi,
    Imho, you need to get (meaning, extract into separate fields) the different supplier types from Table1 first. Your key for Table1 is the vendor no, which is also the key in Table2 (or the key for Table2 is Vendor no & Type).
    For better performance, better select multiple/all required entries from Table1 instead of doing a select endselect.
    Depending on the format of the vendortypes in Table1, put them in a new itab (for our purpose named Table1New where vendor no & type are the only 2 fields. For example, if the type length is fixed to 2 chars, or divided by space,... use your coding accordingly.
    Next step is to select all vendor no's in Table2 which you have selected in Table1. If in Table2, the vendor no is the only key (and the all vendor types are filled in a single record), then loop check the vendor types from Table1New against the types in Table2.
    If the key of Table2 is vendor no & vendor type, then do a read table for the key.
    The logic in pseudo-code:
    Select from Table1 into table. If you'd like to limit the selection size, add package size statement.
         extract the vendor types in to itab Table1New.
         Select the vendor & types from Table2 by using the for all entries option (better performance).
         loop at Table1New
              check in Table2:
                   if the unique key is vendor no: check all fields for the vendor type from Table1New
                   if the unique key combo is vendor no & type: check by using a read table.
              If not found => add entry to Table2
         endloop.
    endselect Table1 (when using package size)
    I guess the most difficult step is to extract the types from Table1 into separate fields, all the rest seems straight forward. Please keep in mind the itab type definitions for a better performance.
    Good luck!
    Best regards,
    Zhou

  • How to send multiple customer statements by email using RFKORD11 program.

    Hi All,
    How to send multiple customer statements by email using RFKORD11 program. Is it possible?
    As of now we copied the stanadard program and sending the customer statements by email, one by one.
    if i execute the z program it will show the customer statement and send mail option.
    if i click send mail it will send that customer statement to the corresponding customer.
    then again i need to click back, it will show next customer statement and click on send mail.
    Pl guide me, if any one worked on this program.
    thanks in advance.
    Regards,
    Mahesh

    Try execute the program in the background to see if that helps.

  • I have CS 6 which requests I sign in to access my serial numbers, which I have already, and it fails to connect so that I cannot use the programs. How do I get past this, is there a direct line to customer support?

    I have CS 6 which requests I sign in to access my serial numbers, which I have already, and it fails to connect so that I cannot use the programs. How do I get past this, is there a direct line to customer support in the UK?
    Thanks

    Sign in, activation, or connection errors | CS5.5 and later
    Mylenium

Maybe you are looking for

  • Opinions on which size i should get.

    ok i am looking at getting a display over the summer, probably a 23 or 30 inch. im planning to get one of the tv tuners from elgato and just use my machine/display combo as my tv along with using it for working on. im an art student but i dont do muc

  • How can I display assignment-level Work in hours and days in the same view?

    I have a view based on Task Usage and I shows the Work figure for each resource assigned to a task.  My Options settings are to display Work in hours.  Want I'd like to do is have a custom field to calculate the equivalent number of days for each ass

  • How can I reduce a fotobook pdf size for online printing

    Hello aperture, I have been creating a large customer book (33 x 28 cm) with aperture. I'm working with RAW datas and the fotobook has got around 150 pages. My online printing office accepts only PDF X3 2002 datas and I can get this with adobe acroba

  • Fonts showing up as Unix executible files in snow leopard

    Hello, We just upgraded to new imacs with Snow Leopard 10.6.4 and almost all of our fonts located on the hard drive are showing up as Unix Executable files with 0kb. Besides having problems installing these into Suitcase Fusion 2, I think the fact th

  • Accidentally deleted the whole presets folder i think?? HELP

    please help me.. I think i deleted the whole presets folder ..it happened so fast so I don´t know if its deleted or what happened!! can somebody please help me. This is what it looks like :