Idoc programming question

Hi friends,
I am asked to write a custom executable program (not a function module) to create outbound idocs with some data from the database tables as for the selection screen data the user entered. How do I do this and how to trigger these outbound idocs? Can you please give me a sample code for this or your valuable suggestions?
Thanks for the help.

Here is the sample code which triggers the IDoc (Outbound)..I also added comments
report z_idoc_creat_tr .
tables : ekpo,
         edidd,  " Data record (IDoc)
         tbdlst, " Text for logical system
         edmsg . "Logical message types
* Selection screen
parameters: p_ebeln like ekpo-ebeln.
data : c_seg1 like edidd-segnam value 'ZSEG1_TR',
       c_seg2 like edidd-segnam value 'ZSEG2_TR',
       itab_comm_idocs  like edidc occurs 0 with header line ,
       control_record like edidc.
*Internal Tables
data :
     itab_edidd like edidd occurs 0 with header line, "Data record(IDoc)
       itab_seg2 like zseg2_tr  occurs 0 with header line .
* zseg2_tr structure generated when you define the Segments in WE31
* Work Area
data : seg1 like zseg1_tr, " Segments Header Data
       seg2 like zseg2_tr. " Segments
select single * from ekpo  where ebeln = p_ebeln.
*Build Control Data
control_record-mestyp = 'Z_EKPO' .  "Message Type.
control_record-idoctp = 'ZIDOC_TR' ." IDoc Type
control_record-sndprt = 'LS'.
control_record-sndprn = 'LOGSYS0100' . " Logical system
control_record-sndpor = 'SAPLT1'. "SEnder Port
control_record-rcvprt = 'LS'.
control_record-rcvprn = 'SEND' ." Reveiver Logical system
control_record-rcvpor = 'A000000171'." Receiver Port
*Filling the Segment 1 ie.,Purchasing Document Number .
move-corresponding ekpo to seg1.
itab_edidd-segnam = 'ZSEG1_TR'." Segment Name
itab_edidd-sdata = seg1.  " Value for the Segment1. "Segment value
append itab_edidd .
clear itab_edidd.
*Filling the Segment 2 ie.,Item Number of Purchasing Document.
select * from ekpo into corresponding fields of table itab_seg2  where
         ebeln = p_ebeln .
loop at itab_seg2 .
  move-corresponding  itab_seg2 to seg2.
  itab_edidd-segnam = 'ZSEG2_TR'.
  itab_edidd-sdata = seg2.
  append itab_edidd.
  clear itab_edidd.
endloop.
* FM to trigger the Outbound Idoc
call function 'MASTER_IDOC_DISTRIBUTE'
  exporting
    master_idoc_control                  = control_record
  tables
    communication_idoc_control           = itab_comm_idocs
    master_idoc_data                     = itab_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.
endif.
loop at itab_comm_idocs.
  write:/2 'Docs generated', itab_comm_idocs-docnum.
endloop.
<i>* Reward each useful answer</i>
Raja T
Message was edited by:
        Raja Thangamani

Similar Messages

  • Standard IDOCS, Programs for posting FI & bank related data.

    Hi,
    (1)Are there any idocs available for posting FI documents, Vendor master?
    (2)Are there any outbound idocs, programs for sending data to banks. EG:positive pay etc?
    Kindly reply to these questions. Correct answer will be awarded points.
    Regards,
    Akshaya.

    Hi,
    There is message type BANK_CREATE for posting the FI related Bank details. Using the change pointers you can trigger the idocs for posting the bank related data.
    Regards,
    Uday

  • Steps to write Inbound Idoc program

    Hi All
    can any body send me steps to write sample inbound idoc program
    1) from which tables i have to fetch data.
    2) wat should be the status before processing idoc and wat   is  the expected status.
    Like a complete real time program with explanation.
    along with program.
    Thanks & Regards,
    Vinay

    U have to transfer the inbound idoc to the o.s.layer.
    Then u have to sen via EDI subsystem to the Business partner.
    U have to carry out the same steps u will do in EDI outbound process..
    Reward if helpful.

  • I have a programming question

    Hi
    I have a programming question here. I spent a lot of time doing it, but I still can't get it. Here is the question :
    Write a method called countTo that takes one integer as a parameter and prints a
    comma-separated list of the numbers from 1 to the value of the parameter, or an
    appropriate error message if the parameter is less than one. In either case (if a list
    of numbers is printed, or an error message is printed), after printing, the cursor
    should be advanced to the next line.
    For example, if the parameter has a value of 1, the method should just print the
    the value 1 to the screen followed by a new-line character. If parameter has a value
    of 5, the method should print the following (exactly as shown, make sure there is
    no comma after the last value, and that all values are on one line with no spaces
    between them):
    1,2,3,4,5
    This method should only print to the screen, and should not return a value.

    I have a programming question here. I spent a lot of
    time doing it, but I still can't get it. Please post what you have done so far.

  • I want to run one IDOC program how to run

    Iam having one sales order idoc program
    I want to run one IDOC program how to run.
    That is sales order
    idoc number: XXXXXXXX
    idoc type: SDPICK (message)
    idoc status: 64
    direction: inbound
    Tell me the process plz.

    Hi,
    goto we19 ,give ur idoc number and then execute it and then in the next screen press on inbound fucntion module,give the Fm name thre andpress enter..it will be processed.
    else
    use program RBDAPP01 and thre specify the idoc number
    else
    use TCODE ->BD87 ..
    Rewrad if helpful.
    Regards,
    Nagaraj

  • Material for ale,idoc programming

    Hi folks,
    i need urgently the material for IDOC programming.i am mentioning the process below.
      1)i have created one program. i need to send some fields to a folder through IDOCS.
      when i will press a push button on my program, this idoc program should execute so that some of the fields will transfer through IDOCS.
    Thanks

    hi,
    Intermediate Documents (IDOCs)
    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.
    The two available process for IDOCs are 1) Outbound Process 2) Inbound Process.
    There are basically two types of IDOCs.:
    1.  Basic IDOC type defines the structure and format of the business document that is to be     
         exchanged between two systems.
    2. Extension Idoc: Extending the functionality by adding more segments to existing Basic IDOCs.
    -&#61664;To Create Idoc we need to follow these steps:
    1. Create Segment      ( WE31)
    2. Create Idoc Type      ( WE30)
    3. Create Message Type  ( WE81)
    4. Assign Idoc Type to Message Type ( WE82)
    1. Creating a Segment:
    nGo to transaction code WE31
    nEnter the name for your segment type and click on the Create icon
    nType the short text
    nEnter the variable names and data elements
    nSave it and go back
    nGo to Edit -> Set Release
    nFollow steps to create more number of segments
    2. Create Idoc Type      (WE30)
    nGo to transaction code WE30
    nEnter the Object Name, select Basic type and click Create icon
    nSelect the create new option and enter a description for your basic IDOC type and press enter
    nSelect the IDOC Name and click Create icon
    nThe system prompts us to enter a segment type and its attributes
    nChoose the appropriate values and press Enter
    nThe system transfers the name of the segment type to the IDOC editor.
    nFollow these steps to add more number of segments to Parent or as Parent-child relation
    nnSave it and go back
    nnGo to Edit -> Set release
    3. Create Message Type  (WE81)
    nGo to transaction code WE81
    nChange the details from Display mode to Change modenAfter selection, the system will give this message “The table is cross-client (see Help for further info)”. Press EnternClick New Entries to create new Message Type
    nFill details
    nSave it and go back
    4. Assign Idoc Type to Message Type (WE82)
    nGo to transaction code WE82
    nChange the details from Display mode to Change moden After selection, the system will give this message “The table is cross-client (see Help for further info)”. Press Enter.
    nClick New Entries to create new Message Type.
    nFill details
    nSave it and go back
    There are three types of records :
    nControl Record                          nData Record                                     nStatus Record
    Control Record - contains the key information like destination, IDoc type, message type, port and sender information. Control records are of EDIDC type of structure.
    Data Records - This contains two parts.
    nAdministrative Section and Data Section
    nAdministrative Section consists of Idoc number, Segment Name, Segment number, Version, Segment Hierarchy etc.
    nData Section contains the data of respective segment
    nData records are of EDIDD type of structure
    nStatus Record - whenever a process is taken place, system will generate status records.
    nWe can identify the process with the number of status record.
    n01 - 49  for Outbound Process
    n50 - 75  for Inbound Process
    nwhen IDoc is processed the messages are:
    n01 - IDoc is created 
    n30 - IDoc is ready for dispatch
    n03 - IDoc is processed
    check all the below links u will find lot of info
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    For ALE -- IDoc's
    http://www.sappoint.com/abap/ale.pdf
    http://www.sappoint.com/abap/ale2.pdf
    ALE/ IDOC/EDI
    http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
    http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
    http://www.sapgenie.com/sapedi/index.htm
    http://www.sapgenie.com/sapedi/idoc_abap.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
    http://www.allsaplinks.com/idoc_sample.html
    http://www.sappoint.com/abap.html
    http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
    ALE/ IDOC/ XML
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    http://www.thespot4sap.com/Articles/SAP_XML_Business_Integration.asp
    http://help.sap.com/saphelp_srm30/helpdata/en/72/0fe1385bed2815e10000000a114084/content.htm
    http://www.angeli.biz/www5/books/IDocBook/IDocBook.pdf
    IDOC Convertion
    /people/kevin.wilson2/blog/2005/12/07/changing-fields-in-an-idoc-segment
    ~~Guduri

  • Need Ebook for ALE/IDOC Programming

    Hi All,
    I am new to IDOC programming. I want a technical book for the coding purpose. Can anybody post a link for any good book. I have read functional side so plz.. post links only for technical coding things.
    Useful links will get rewarded.
    Thanks in advance,
    Jignesh.

    Below is the Complete link for ABAP and other related stuffs.
    http://cma.zdnet.com/book/abap/index.htm
    http://www.sapdevelopment.co.uk/
    http://www.sap-img.com/
    http://juliet.stfx.ca/people/fac/infosys/abap.htm
    http://help.sap.com/saphelp_46c/helpdata/en/d3/2e974d35c511d1829f0000e829fbfe/frameset.htm
    http://help.sap.com/saphelp_46c/helpdata/en/d6/0db357494511d182b70000e829fbfe/frameset.htm
    http://www.henrikfrank.dk/abapexamples/SapScript/sapscript.htm
    http://www.sapgenie.com/abap/example_code.htm
    http://www.geocities.com/SiliconValley/Campus/6345/abapindx.htm
    http://help.sap.com/printdocu/core/Print46c/en/Data/Index_en.htm
    http://help.sap.com/saphelp_40b/helpdata/en/4f/991f82446d11d189700000e8322d00/applet.htm
    http://www.sap-img.com/abap-function.htm
    http://www.sapgenie.com/abap/code/abap19.htm
    http://www.sap-img.com/abap/more-than-100-abap-interview-faqs.htm
    http://www.planetsap.com/Tips_and_Tricks.htm
    http://help.sap.com/saphelp_40b/helpdata/ru/d6/0dc169494511d182b70000e829fbfe/applet.htm
    http://www.henrikfrank.dk/abapexamples/SapScript/symbols.htm
    http://www.henrikfrank.dk/abapexamples/index.html
    http://sap.ittoolbox.com/documents/document.asp?i=752
    http://members.aol.com/_ht_a/skarkada/sap/
    http://sappoint.com/abap/
    http://members.tripod.com/abap4/SAP_Functions.html
    http://members.ozemail.com.au/~anmari/sap/index.html
    http://www.planetsap.com/Userexit_List.htm
    http://www.planetsap.com/Tips_and_Tricks.htm
    http://www.kabai.com/abaps/q.htm
    http://www.planetsap.com/Userexit_List.htm
    http://help.sap.com/saphelp_bw21c/helpdata/en/c4/3a8090505211d189550000e829fbbd/frameset.htm
    http://www.sapgenie.com/abap/bapi/example.htm
    http://help.sap.com/saphelp_45b/helpdata/en/65/897415dc4ad111950d0060b03c6b76/content.htm
    http://www.sap-basis-abap.com/index.htm
    http://help.sap.com/saphelp_40b/helpdata/en/fc/eb2c46358411d1829f0000e829fbfe/frameset.htm
    http://help.sap.com/saphelp_46c/helpdata/en/aa/aeb23789e95378e10000009b38f8cf/frameset.htm
    http://www.geocities.com/ResearchTriangle/1635/system.html
    http://www.sapdesignguild.org/resources/MiniSG/3_Managing/3_Functions_Table_Control.htm
    http://help.sap.com/saphelp_45b/helpdata/en/d1/801bdf454211d189710000e8322d00/content.htm
    http://www.sapfans.com/sapfans/repos/saprep.htm
    http://www.planetsap.com/howdo_a.htm
    http://help.sap.com/saphelp_util464/helpdata/en/69/c2516e4ba111d189750000e8322d00/content.htm
    http://www.sapgenie.com/abap/smartforms_detail.htm
    http://www.sap-img.com/abap.htm
    http://help.sap.com/saphelp_46c/helpdata/en/fc/eb2d67358411d1829f0000e829fbfe/content.htm
    http://www.geocities.com/victorav15/sapr3/abap.html
    http://www.henrikfrank.dk/abapexamples/SapScript/sapscript.htm
    http://abap4.tripod.com/Other_Useful_Tips.html
    http://help.sap.com/saphelp_45b/helpdata/en/cf/21ee2b446011d189700000e8322d00/content.htm
    http://www.sap-basis-abap.com/sapmm.htm
    http://sap.ittoolbox.com/nav/t.asp?t=303&p=448&h1=303&h2=322&h3=448
    http://sapfans.com/
    http://cma.zdnet.com/book/abap/ch03/ch03.htm
    http://help.sap.com/saphelp_40b/helpdata/en/4f/991f82446d11d189700000e8322d00/applet.htm
    http://sappoint.com/abap/
    http://www.henrikfrank.dk/abapuk.html
    http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
    http://www.sapgenie.com/abap/index.htm
    http://www.sap-img.com/abap.htm
    http://www.sapdevelopment.co.uk/tips/tipshome.htm
    http://help.sap.com/printdocu/core/Print46c/en/Data/Index_en.htm
    http://sap.ittoolbox.com/nav/t.asp?t=322&p=322&h1=322
    http://sap.ittoolbox.com/nav/t.asp?t=448&p=448&h1=448
    http://www.thespot4sap.com/
    http://www.kabai.com/abaps/q.htm
    http://www.geocities.com/mpioud/Abap_programs.html
    http://www.sapgenie.com/abap/tips_and_tricks.htm
    http://www.sapassist.com/code/d.asp?whichpage=1&pagesize=10&i=10&a=c&o=&t=&q=&qt=
    For FAQ
    http://www.sap-img.com/abap/more-than-100-abap-interview-faqs.htm
    http://www.sapgenie.com/faq/abap.htm
    BAPI-step by step
    http://www.sapgenie.com/abap/bapi/example.htm
    Weblog for receive email and processing it through ABAP
    /people/thomas.jung3/blog/2004/09/09/receiving-e-mail-and-processing-it-with-abap--version-610-and-higher
    For Logical database
    http://help.sap.com/saphelp_46c/helpdata/en/9f/db9bed35c111d1829f0000e829fbfe/frameset.htm
    very useful
    http://help.sap.com/saphelp_46c/helpdata/EN/35/2cd77bd7705394e10000009b387c12/frameset.htm
    Useful link to websites
    http://www.hernangn.com.ar/sap.htm
    Useful for background
    http://www.sappoint.com/basis/bckprsng.pdf
    http://help.sap.com/saphelp_nw04/helpdata/en/6f/08703713bf277ee10000009b38f8cf/frameset.htm
    http://publib.boulder.ibm.com/infocenter/wbihelp/index.jsp?topic=/com.ibm.wbix_adapters.doc/doc/mysap4/sap4x41.htm
    Table control in BDC
    http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm
    For posting weblog,
    /people/sap.user72/blog/2005/06/28/sdn-weblogs-making-it-easier
    Dynamic Internal table -weblog in sdn
    /people/subramanian.venkateswaran2/blog/2004/11/19/dynamic-internal-table
    Smartforms
    http://www.sap-basis-abap.com/sapsf001.htm
    http://www.sap-press.com/downloads/h955_preview.pdf
    http://www.ossincorp.com/Black_Box/Black_Box_2.htm
    http://www.sap-img.com/smartforms/sap-smart-forms.htm
    How to trace smartform
    http://help.sap.com/saphelp_47x200/helpdata/en/49/c3d8a4a05b11d5b6ef006094192fe3/frameset.htm
    Workflow
    http://www.sap-img.com/workflow/sap-workflow.htm
    http://help.sap.com/saphelp_47x200/helpdata/en/a5/172437130e0d09e10000009b38f839/frameset.htm
    For examples on WorkFlow...check the below link..
    http://help.sap.com/saphelp_47x200/helpdata/en/3d/6a9b3c874da309e10000000a114027/frameset.htm
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/PSWFL/PSWFL.pdf
    http://help.sap.com/saphelp_47x200/helpdata/en/4a/dac507002f11d295340000e82dec10/frameset.htm
    http://www.workflowing.com/id18.htm
    http://www.e-workflow.org/
    http://web.mit.edu/sapr3/dev/newdevstand.html
    ALV
    http://www.geocities.com/mpioud/Abap_programs.html
    Mail
    http://www.geocities.com/mpioud/Z_EMAIL_ABAP_REPORT.html
    http://www.thespot4sap.com/Articles/SAP_Mail_SO_Object_Send.asp
    http://www.sapdevelopment.co.uk/reporting/email/attach_xls.htm
    BOM Explosion
    /people/prakash.singh4/blog/2005/05/15/explode-boms-in-enterprise-portal-using-htmlb-tree--part-1-abap
    BOM
    http://help.sap.com/saphelp_erp2005/helpdata/en/ea/e9b7234c7211d189520000e829fbbd/frameset.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/d1/2e4114a61711d2b423006094b9d648/frameset.htm
    http://www.sap-img.com/sap-sd/sales-bom-implementation.htm
    http://www.sap-basis-abap.com/sappp007.htm
    OLE
    http://www.sapgenie.com/abap/ole.htm
    http://help.sap.com/saphelp_46c/helpdata/en/59/ae3f2e488f11d189490000e829fbbd/frameset.htm
    ALVGRID with refresh
    http://www.geocities.com/mpioud/Z_DEMO_ALV_REFRESH_BUTTON.html
    For language setting and decimal separator
    /people/horst.keller/blog/2004/11/16/abap-geek-7-150-babylonian-confusion
    Oracle queries
    http://sqlzoo.net/
    To format SQL
    http://www.sqlinform.com/
    SCOT settings
    http://www.sap-img.com/basis/basis-faq.htm
    Status Icon [ALV,Table Control,Tab Strip]
    http://www.sapdesignguild.org/resources/MiniSG-old/from_develop/norm_status_icons.htm#positioning_4
    ALV Group Heading
    http://www.sap-img.com/fu037.htm
    For multiMedia
    /people/thomas.jung3/blog/2005/05/11/using-classic-activex-controls-in-the-abap-control-framework
    Uploading LOGO in SAP
    http://www.sap-img.com/ts001.htm
    LSMW
    http://www.sap-img.com/sap-data-migration.htm
    http://www.sapgenie.com/saptech/lsmw.htm
    http://sapabap.iespana.es/sapabap/manuales/pdf/lsmw.pdf
    http://www.sap.info/public/INT/int/glossary/int/glossaryletter/Word-17643ed1d6d658821_glossary/L#Word-17643ed1d6d658821_glossary
    Here are the two links which contains lots of PDFS:
    http://www.easymarketplace.de/online-pdfs-q-s.php
    http://www.consolut.de/saphelp/sap_online_help.html
    All the best!!
    REgards,
    Abdul

  • How to create a IDOC program

    Hi All
    i have a requirement where i have to design a screen program to provide the user with a input screen. The user will input data on this screen, after the user enters the data and clicks on execute or some button on the module screen the system must generate a IDOC in the system. This IDOC will be picked up from another program within the same system.The reason we are doing this is the other program cannot be changed and it can accept only an IDOC from the external system which we are going to eliminate.
    My Questions:
    1. What are the steps in this requirement
    2. Do we require the partner profile and port and logical system definition as i am going to create a IDOC in the same system.( i am not sending the IDOC out of the system)
    3. Can i use the MASTER_IDOC_DISTRIBUTE FM to create a IDOC in the database?
    4. Can i use IDOC_CREATE_ON_DATABASE FM to do the same job?
    please guide me with deatils on how to go about this. Thanks
    ~Suresh

    Hi Suresh,
    First try to create a Module pool program.
    Assign the tcode to the IDOC.
    or else get the data into IDOC segment and try to transfer it.
    Creation of IDoc
    To Create Idoc we need to follow these steps:
    Create Segment ( WE31)
    Create Idoc Type ( WE30)
    Create Message Type ( WE81)
    Assign Idoc Type to Message Type ( WE82)
    Creating a Segment
    Go to transaction code WE31
    Enter the name for your segment type and click on the Create icon
    Type the short text
    Enter the variable names and data elements
    Save it and go back
    Go to Edit -> Set Release
    Follow steps to create more number of segments
    Create IDOC Type
    Go to transaction code WE30
    Enter the Object Name, select Basic type and click Create icon
    Select the create new option and enter a description for your basic IDOC type and press enter
    Select the IDOC Name and click Create icon
    The system prompts us to enter a segment type and its attributes
    Choose the appropriate values and press Enter
    The system transfers the name of the segment type to the IDOC editor.
    Create IDOC Type
    Follow these steps to add more number of segments to Parent or as Parent-child relation
    Save it and go back
    Go to Edit -> Set release
    Create Message Type
    Go to transaction code WE81
    Change the details from Display mode to Change mode
    After selection, the system will give this message “The table is cross-client (see Help for further info)”. Press Enter
    Click New Entries to create new Message Type
    Fill details
    Save it and go back
    Assign Message Type to IDoc Type
    Go to transaction code WE82
    Change the details from Display mode to Change mode
    After selection, the system will give this message “The table is cross-client (see Help for further info)”. Press Enter.
    Click New Entries to create new Message Type.
    Fill details
    Save it and go back
    u can also check all these links related to idocs
    http://www.allsaplinks.com/idoc_sample.html
    http://www.allsaplinks.com/
    http://www.sap-img.com/
    http://www.sappoint.com/abap.html
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDALEIO/BCMIDALEIO.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDALEPRO/BCMIDALEPRO.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFAALEQS/CABFAALEQS.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCSRVEDISC/CAEDISCAP_STC.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCSRVEDI/CAEDI.pdf
    http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
    http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
    http://www.sapgenie.com/sapedi/index.htm
    http://expertanswercenter.techtarget.com/eac/knowledgebaseCategory/0,295197,sid63_tax296858_idx0_off50,00.html
    http://sap.ittoolbox.com/documents/popular-q-and-a/extending-a-basic-idoc-type-2358
    http://help.sap.com/saphelp_47x200/helpdata/en/dc/6b7eee43d711d1893e0000e8323c4f/frameset.htm
    /thread/199996 [original link is broken]
    Regards,
    Priyanka.

  • Misc Basic PL/SQL Application Design/Programming Questions 101 (101.1)

    ---****** background for all these questions is at bottom of this post:
    Question 1:
    I read a little on the in and out parameters and that IN is "by reference" and OUT and IN-OUT are by value. To me "by reference" means "pointer" as in C programming. So it seems to me that I could call a function with an IN parameter and NOT put it on the right side of an assignment statement. In other words, I'm calling my function
    get_something(IN p_test1 varchar2) return varchar2;
    from SP1 which has a variable named V_TEST1.
    So.... can I do this? (method A):
    get_something(V_TEST1);
    or do I have to do this (method B):
    V_TEST1 := get_something(V_TEST1);
    Also, although this may muddy the thread (we'll see), it seems to me that IN, since its by reference, will always be more efficient. I will have many concurrent users using this program: should this affect my thinking on the above question?
    -- ******* background *******
    So Far:<< I've read and am reading all over the net, read and reading oracle books from oracle (have a full safari account), reading Feurstein's tome, have read the faq's here.
    Situation Bottom Line:<< Have an enormous amount to do in a very little time. Lots riding on this. Any and all pointers will be appreciated. After we get to some undetermined point I can re-do this venture as a pl/sql faq and submit it for posting (y'alls call). Some questions may be hare brained just because I'm freaking out a little bit.
    Situation (Long Version):<< Writing a pl/sql backend to MS Reporting Services front end. Just started doing pl/sql about 2 months ago. Took me forever to find out about ref-cursor as the pipe between oracle and all client applications. I have now created a package. I've been programming for 20 years in many languages, but brand new to pl/sql. However, pl/sql sql has freed me from myriad of limitations in MS RS's. My program is starting to get big (for me -- I do a lot in a little) pks is currently 900 lines with 15 functions so far. Currently SP (pls) is back up to 800 lines. I get stuff working in the sp then turn it into a function and move it to the package.
    What does application do?:<<<< Back End for MS Reporting Services Web front end. It will be a very controlled "ad-hoc" (or the illusion of ad-hoc) web interface. All sql queries are built at run-time and executed via "open ref cusor for -- sql statement -- end;" data returned via OUT ref_cursor. Goal is to have almost 100% of functionality in a package. Calling SP will be minimalist. Reporting Services calls the SP, passes X number of parameters, and gets the ref_cursor back.
    Oracle Version: 10.2 (moving to 11g in the next 3 months).Environment: Huge DW in a massively shared environment. Everything is locked down and requires a formal request. I had to have my authenticated for a couple dbms system packages just to starting simple pl/sql programs.

    Brad Bueche wrote:
    Question 1:
    I read a little on the in and out parameters and that IN is "by reference" and OUT and IN-OUT are by value. To me "by reference" means "pointer" as in C programming. So it seems to me that I could call a function with an IN parameter and NOT put it on the right side of an assignment statement. The IN parameter is not passing by reference. It is passing by value. This means variable/value of the caller used as parameter, is copied to the (pushed) stack of code unit called.
    An OUT parameter means that the value is copied from the called unit's stack to the caller (and the current value of the caller's variable is overwritten).
    To pass by reference, the NOCOPY clause need to be used. Note that is not an explicit compile instruction. The PL/SQL engine could very well decide to pass by value and not reference instead (depending on the data type used).
    Note that the ref cursor data type and the LOB data types are already pointers. In which case these are not passed reference as they are already references.
    The NOCOPY clause only make sense for large varchar2 variables (these can be up to 32KB in PL/SQL) and for collection/array data type variables.
    As for optimising PL/SQL code - there are a number of approaches (and not just passing by reference). Deterministic functions can be defined. PL/SQL code can be written (as pipelined tables) to run in parallel using the default Oracle Parallel Query feature. PL/SQL can be manually parallelised. Context switches to the SQL engine can be minimised using bulk processing. Etc.
    Much of the performance will however come down to 2 basic issues. How well the data structures being processed are designed. How well the code itself is modularised and written.

  • XML BURSTING PROGRAM QUESTION

    Hello All,
    I have customized an oracle application program with xml publisher.The program prints the report in PDF format.
    My questions is where this output copied in the server .I am not able to find the pdf report in $APPLCSF/out/.
    Do i need to use XML bursting program to achieve this?If yes i am new to xml coding can anyone help in creating busting control file.
    My object is to print the pdf report to unix server directory
    THanks

    Pl post details of OS, database and EBS versions.
    >
    My questions is where this output copied in the server .I am not able to find the pdf report in $APPLCSF/out/.
    >
    The xml and PDF output of concurrent programs should be available in $APPLCSF/$APPLOUT directory.
    >
    Do i need to use XML bursting program to achieve this?If yes i am new to xml coding can anyone help in creating busting control file.
    >
    Pl see if these links can help
    http://blogs.oracle.com/xmlpublisher/2007/04/bursting_with_bip.html
    http://blogs.oracle.com/xmlpublisher/2007/04/e_business_suite_bursting.html
    >
    My object is to print the pdf report to unix server directory
    >
    Pl clarify what you mean by this.
    HTH
    Srini

  • Calendar Program Question

    Hello! Among the lab assignments I have done for my class, I have this calendar project I've been working on for a good while now. My only question is how do I set the days of the month properly with the empty columns I have encoded in the program? This is a long program and I really haven't put any time into making it look neat, so bare with me!
    What I get so far in the interaction pane is:
    March  2008
                  1  2  3
      4  5  6  7  8  9 10
    11 12 13 14 15 16 17
    18 19 20 21 22 23 24
    25 26 27 28 29 30 31
    and what I'm looking for, obviously, is:
    March  2008
                        1
      2  3  4  5  6  7  8
      9 10 11 12 13 14 15
    16 17 18 19 20 21 22
    23 24 25 26 27 28 29
    30 31> Sometimes I over look something minor, but I'm stumped and this is the ONLY thing I have to do to finish this project!
    /* Calendar Program that displays the days of the
    * month between January 1800 to December 2099
    import javax.swing.JOptionPane;
    public class CalendarProgram
      public static void main(String[] args)
        String monthStr, yearStr, displayStr;
        int year, firstTwoYear, lastTwoYear;
        int daysinMonth = 0, dayofWeek = 0;
        int firstDayofMonth = 1;
        //asks user for input, and then checks if monthStr matches with the user, then displays it.
        monthStr = JOptionPane.showInputDialog(null, "Please enter the month (e.g. January):");
        if(monthStr.equals("January"))
            displayStr = monthStr;     
        else    
        if(monthStr.equals("February"))
            displayStr = monthStr;
        else
        if(monthStr.equals("March"))
            displayStr = monthStr;
        else
        if(monthStr.equals("April"))        
            displayStr = monthStr;
        else
        if(monthStr.equals("May"))
            displayStr = monthStr;
        else
        if(monthStr.equals("June"))
            displayStr = monthStr;
        else
        if(monthStr.equals("July"))
            displayStr = monthStr;
        else
        if(monthStr.equals("August"))
            displayStr = monthStr;
        else
        if(monthStr.equals("September"))
            displayStr = monthStr;
        else
        if(monthStr.equals("October"))
            displayStr = monthStr;
        else
        if(monthStr.equals("November"))
            displayStr = monthStr;
        else
        if(monthStr.equals("December"))
            displayStr = monthStr;
        //asks for the year from user
        yearStr = JOptionPane.showInputDialog(null, "Please enter the year between 1800 and 2099:");
        year = Integer.parseInt(yearStr);    
        //displayStr that displays the user's month and year.
        displayStr = monthStr + "  " + yearStr + "\n";
        System.out.print(displayStr);
        //computation of the first two digits and last two digits of the year.
        firstTwoYear = year / 100;
        lastTwoYear = year % 100;
        //HUGE computation to check the dayofWeek variable. This should compute where the first day of the month will display on the calendar.
        if ((lastTwoYear >= 0) && (lastTwoYear <= 99))
         dayofWeek = lastTwoYear * (1/4);
        if (firstTwoYear == 18)
          dayofWeek = dayofWeek + 2;
        else if (firstTwoYear == 19)
          dayofWeek = dayofWeek;
        else if (firstTwoYear == 20)
          dayofWeek = dayofWeek + 6;
        //Checks to see if a given year has a leap year or not.
        boolean leapYear =
          (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
        if(monthStr.equals("January"))
          daysinMonth = 31;
          if(leapYear)
             dayofWeek = dayofWeek + 6;
           else
             dayofWeek = dayofWeek + 1;
        else    
        if(monthStr.equals("February"))
           if(leapYear)
             dayofWeek = dayofWeek + 3;
             daysinMonth = 29;
           else
             dayofWeek = dayofWeek + 4;
             daysinMonth = 28;
        else
        if(monthStr.equals("March"))
             dayofWeek = dayofWeek + 4;
             daysinMonth = 31;
        else
        if(monthStr.equals("April"))
             dayofWeek = dayofWeek;
             daysinMonth = 30;
        else
        if(monthStr.equals("May"))
             dayofWeek = dayofWeek + 2;
             daysinMonth = 31;
        else
        if(monthStr.equals("June"))
             dayofWeek = dayofWeek + 5;
             daysinMonth = 30;
        else
        if(monthStr.equals("July"))
              dayofWeek = dayofWeek;
              daysinMonth = 31;
        else
        if(monthStr.equals("August"))
              dayofWeek = dayofWeek + 3;
              daysinMonth = 31;
        else
        if(monthStr.equals("September"))
              dayofWeek = dayofWeek + 6;
              daysinMonth = 30;
        else
        if(monthStr.equals("October"))
              dayofWeek = dayofWeek + 1;
              daysinMonth = 31;
        else
        if(monthStr.equals("November"))
              dayofWeek = dayofWeek + 4;
              daysinMonth = 30;
        else
        if(monthStr.equals("December"))
              dayofWeek = dayofWeek + 6;
              daysinMonth = 31;
        dayofWeek = dayofWeek + firstDayofMonth;
        dayofWeek = dayofWeek % 7;
        //this checks if dayofWeek equals 0, it will be placed on the 7th column (Saturday)
        //else the dayofWeek will enter 1-6 like normally (Sunday-Friday)
        int colnum;
        if (dayofWeek == 0)
          colnum = 7;
        else
          colnum = dayofWeek;
        for(int i = 0; i < colnum; i++)
          System.out.print("   ");
        //Displays days of the month and inserts empty columns before 1st day
        for(int day = 1; day <= daysinMonth; day++)
       if (day < 10)
         System.out.print("  " + day);
       else
         System.out.print(" " + day);
       if ((colnum + day) % 7 == 0)
         System.out.println();

    Well, I could move the displayStr = monthStr into the other section of the code where the months are at, but as far as using java.util.Calendar/GregorianCalendar classes the professor made no recommendation of it (though it would be easier no doubt.) That's what he told us to use to display the month properly. I did look in the web for other examples and they did use the java.util.Calendar/GregorianCalendar classes, but I have no idea how to properly implement it. Besides, I was not asking about redundancy.
    After I made the thread, I did work on it a little bit more, and I changed:
       if ((lastTwoYear >= 0) && (lastTwoYear <= 99))
         dayofWeek = lastTwoYear * (1/4); into:
    if ((lastTwoYear >= 00) && (lastTwoYear <= 99))
         dayofWeek = (int) (lastTwoYear * .25);The year 2008 was properly displaying everything on the correct dates, but the other years are off by a few days. So now its either the computation in the long sequence of dayofWeek variable, or (what the professor mentioned in the assignment) it could be:
         loop (for the number of days in the month)
           displayStr = displayStr + <digit in field width of 3>
           if last digit in row, then append �\n� to displayStr}The whole loop, including the "append "\n" to displayStr" doesn't make much sense. So that could be where I'm having problems.

  • Please answer a programming question for an admin

    I'm not a programmer (although my interest is growing), so I can't answer this question in a discussion regarding how Win32API w/OLE and COM is SO much better than programming for Unix/OS X applications.
    The original discussion was in regards to OS X's superior Unix based security, he devolved to this. Having only begun my venture into programming, his questions are a little above my head at this point. I'm also interested (as an amature programmer), how this would be accomplished in OS X/Unix.
    Thanks in advance.
    Here's his position:
    *(1st entry)*
    I have unsed Windows and many flavors of Unix and I have written programs in Assembler, Fortran, Pascal, Cobol, RPG, Smalltak, Basic, PowerBuilder, Delphi, C, C++, C#, Java, and Perl, and I have been programming for over 20 years, so I do have extensive knowledge about programming.
    So I have one question for you:
    If you had to build a business application that has to allow users to, spell and grammer check, and perform financial calculations, and render the HTML, how would you compare the effort to do this in Windows versus that in Linux, AIX, Solaris or any other Unix operating system?
    I can make this business application have these features in ONE DAY on Windows, because COM and OLE lets me, use Word to spell and grammer check, Excel to do the financial calculations, and IE to render the HTML!
    I make my living building complex customized business software, and Windows allow me to build these applications by myself in weeks, when it would take me and a team of programmers months to do these same things in Unix because of the lack of an the Win32 API, COM, and OLE, or I would have to BUY third party libraries that did these things, and deal with the licensing, versioning, and vendor problems that go with them, and none of those third party librabries would be close to Word, Excel, and IE in CAPABILITY!
    HONESTLY tell me and others reading this thread how you would go about create the customized business application I described above by yourself in a Unix instead of Windows, and tell us how many MONTHS or YEARS it would take you, or how you would have to BUY some other third party libraries to do what Word, Excel, and IE!
    Anyone who thinks a Unix has more CAPABILITIES than Windows, has never used Win32API/COM/OLE/.Net, and does not build customized complex business software for a living, because we people that do are the reason that you find some much customized business desktop software for Windows, and so little for any Unix.
    I have nothing against Unix, and it is great for simple business tasked server software, but for complex business tasked desktop software Windows with Win32API/COM/OLE/.Net wins hands down!
    *(2nd Entry)*
    A System administrators view of an operating system and an application developers view are entirely different, and the Win32API/COM/OLE/.NET simply make my job so much easier, and you simply don't understand because you do not have to deal with the "dirty' details of making what a user wants, which is why your definition of "integration" and mines are totally different!
    With the spell check you talked about, how will you keep in in synch with the dictionary in Word where the user is constantly adding and removing words?
    No, you would have the user to have to maintain two different spell check dictionaries, and you would totally ignore the grammer check requirement!
    Cutting and pasting data between applications is simple integration, and not the complex type that I am talking about.
    Can you make your application display and use the MacGourmet menus appear in its own window, and to access and use the MacGourmet functionality (ie. search for a recipe) in its own window?
    Give me one example of a Unix application that can display the menus of another application, yet alone control its features!
    Of course you can't, because you need COM and OLE!
    I am quite familiar with different flavors of Unix, but those operating systems do not have the rich API and program integration features namely COM and OLE that Windows has, because it violates the Unix idea of security by process isolation!
    Yes that idea of process isolation keeps the operating system safe from malicious code in applications and from one application taking the others down, but you lose the power of programs working together, and you simply cannot build the type of customized business applications that I build by myself, without reinventing the wheel over and over and without having a large team with lots of programmers.
    For example, my customers and millions of others spend all day working in Word and Excel, and the Windows idea that I can transparently integrate my complex business applications right in Word and Excel menu, and into their templates and macros, is why third party developers like me prefer Windows over Unix, regardless of how much better security in Unix is.
    Do not get me wrong, Java improves business application development on Unix, but unfortuantely it is not feasable to rewrite ever legacy application in Java, and Java does not integrate well with other programming languages.
    I used to code business application for both IBM MVS and Sun Solaris, and I never want to go back to those "bad" old days again, once I took the time to learn how to PROPERLY code using Win32API/COM/OLE/.NET!

    At risk of feeding the troll I'll wander in here:
    NOTE: Since this is an Apple programming boards and I have limited experience programming on traditional Unix systems (and most of that in college) I will confine my answers to the area I know.
    If you had to build a business application that has to allow users to, spell and grammer check, and perform financial calculations, and render the HTML, how would you compare the effort to do this in Windows versus that in Linux, AIX, Solaris or any other Unix operating system?
    I can make this business application have these features in ONE DAY on Windows, because COM and OLE lets me, use Word to spell and grammer check, Excel to do the financial calculations, and IE to render the HTML!
    Note that this scenario assumes the user has Microsoft office installed. The person argues that they don't have to purchase libraries to program but what they are effectively doing is simply transferring that cost to user. I don't have to purchase libraries but everyone of my users needs to. Good for you, very good for Microsoft but bad for your customer - IMHO. OK, I know "But all Windows business users have Office installed already." When it comes free with the system then I'll retract my objection.
    Under OS X and Cocoa many of these functions are intrinsic to the system layer and do not require any applications to be installed. Using Cocoa you can write a simple Word processor that has rulers, full font manipulation (including kerning, spacing and leading), Document Save and Load, Printing, Export to PDF as well as spell-checking in under 10 lines of actual code. Adding a custom file type and icon for full system integration will add another 5 minutes to your programing.
    In case you think I'm blowing smoke here is a tutorial from 2002 (yes, this has been possible for over 5 years) outlining the 8 line Word Processor build in Cocoa. http://www.stone.com/TheCocoa_Files/What_s_sofunny.html
    And yes, Cocoa also includes Webkit so I can add full HTML rendering by dragging in a WebKit window to my user interface. For an experienced Cocoa programmer this certainly sounds like less than a day of programming - in fact it sounds like a good tutorial for a middle-experienced training day or 2 day class in Cocoa.
    I won't include the link to the 1 line web browser you can build in Cocoa using Webkit because it's shorter than the description. Feel free to search for it if you want to.
    HONESTLY tell me and others reading this thread how you would go about create the customized business application I described above by yourself in a Unix instead of Windows, and tell us how many MONTHS or YEARS it would take you, or how you would have to BUY some other third party libraries to do what Word, Excel, and IE!
    BUT this is all done from the stock system that is on every OS X computer not simply those with Office installed. Obviously you'd need to add some features that were more complicated than this - because any halfway decent programmer could turn this stuff out - and polish takes a while but to meet the requirements of the challenge it would take 2 days tops.
    Is every *nix programming environment like this? I don't know I can only answer for the system that I have experience with and is the concern of this board. If you really have questions regarding *nix programming then I suggest you find an appropriate board and troll^H^H^H^H^H ask there.
    If you're ever serious about programming on the Mac feel free to stop by and actually take a look at it. I think you'll be surprised.
    =Tod

  • Apple iPod Nano replacement program - question

    Hello, Apple community,
    I have a question about the new replacement program of the iPod nano 1st gen.
    The program doesn't state whether or not you get a refund or a new iPod nano (the small squared once with touch screen).
    The program says that you'll get a replacement iPod Nano, but isn't very specific if it is the new generation.
    I apologise for any spelling mistakes and such.
    Thank you for any answer,
    Pool313

    Hi lindsayfromspencerport,
    I can say it is not a scam - Apple is definitely replacing the iPods.  Once I read the article and went to apple.com, that proved it.  Apple.com would never risk another class action lawsuit over this iPod.
    My First Generation iPod was given to me at work for being the winner of a give-away drawing and about a year or so ago it overheated and erased all the info on the iPod.  Now it will only charge and drain the battery.  It no longer allows me to store any thing on it.
    I am glad that Apple is doing this exchange.  I thought I was just out of luck and was glad I had not paid full price for it.  I love my Nano and used it constantly!!!
    Just send your's in using the box and label they send you and give them 6 weeks like the apple.com website says, Apple will make good on their product.  Millions of people don't stand in line and wait weeks/months for their new products to arrive for no reason, trust me.  Oh, by the way, I know this for sure.....I work for a wireless phone service that has been dealing with Apple for Yearsssssssssssss.....and every year the same thing.  People will give anything to get a product with that apple on it. 
    Knightmanxx

  • Inbound idoc program name...

    Hi all,
               i have one inbound idoc.From the data in the idoc some custom table was getting updated thrugh some program.So how to find the program name which will do that.i have only the idoc no with me....
    thanks in advance.......
    Regards,
    Rakesh.........

    GO TO WE19
    Give the idoc number
    Press F8
    Then Press 'Standard Inbound'
    Note down the function module
    Press Cancel
    Press 'Inbound Function Module'
    Give the Function mudule name which you get from the previous step
    Check 'Call in Debug Mode'
    Select in Foreground
    Debug the same and it will lead to the place where you are uploading the same.

  • Java Programming Question

    Hi,Everybody:
    I have a question about Java programming. If I want to write a java class code called if.java like below, how should I do to make it pass the java compiler and make it work. I know the words "if" and "for" are reserved words. I just try to figure it out that is it possible??? Do I need to create my own java compiler or recompiler?
    public class if
    public if() { }
    public static for test()
    return new for();
    public class for
    public for() { System.out.println("for class constructor"); }
    }

    I don't think you can bypass the compiler's rejection of this. There is little point to naming the classes after keywords. Not sure if it's case sensitive though, so maybe "If" or "For"? Otherwise, try "if_" or "for_"

Maybe you are looking for

  • Playlist will not sync

    I'm working with a client who is syncing his iPod touch.  He's been adding music to this iPod consistently for the last two years, and today, his largest and most frequently play playlist will not sync.  If you click on the device, the playlist appea

  • Presets : Interpolation vs Apply (or Undo)

    Hello, I'm quite frustrated with the preset as they are. Of course it's time saving, but most of time a preset fit perfectly for one picture, the one you were working on when you saved that preset. And they often require adjustements after being appl

  • Just setup new Draytek vigor 2750N...... + resetti...

    HI all i mentioned on another thread http://community.bt.com/t5/BT-Infinity/New-draytek-sync/td-p/517941/page/2 that i was getting a  Draytek vigor 2750N. I got it from ebay for about £100. As it was used off ebay i took some advise and factory reset

  • Never gotten this error message, what does it mean?

    When trying to access this link: http://einestages.spiegel.de/hund-images/original/2008/02/24/3/49cb6707b145cf399 ce7b386793af06e_orig.jpg I got this error: ERROR The requested URL could not be retrieved While trying to retrieve the URL: http://eines

  • How many iDevices can you use for the same apple id?

    Id just like to know for future refence if i get an iMac etc.