EDI Inbound ( need code sample )

Hi Guus,
      I have an object to develop , its and EDI inbound interface . Can some one send me sample code or atleast guide me from where I can start.
Regards
Avi.......

Hi ,
plz go through the below code..
FUNCTION zsd_idoc_input_order_change.
""Local Interface:
*"  IMPORTING
*"     VALUE(INPUT_METHOD) LIKE  BDWFAP_PAR-INPUTMETHD
*"     VALUE(MASS_PROCESSING) LIKE  BDWFAP_PAR-MASS_PROC
*"  EXPORTING
*"     REFERENCE(WORKFLOW_RESULT) LIKE  BDWFAP_PAR-RESULT
*"     REFERENCE(APPLICATION_VARIABLE) LIKE  BDWFAP_PAR-APPL_VAR
*"     REFERENCE(IN_UPDATE_TASK) LIKE  BDWFAP_PAR-UPDATETASK
*"     REFERENCE(CALL_TRANSACTION_DONE) LIKE  BDWFAP_PAR-CALLTRANS
*"  TABLES
*"      IDOC_CONTRL STRUCTURE  EDIDC
*"      IDOC_DATA STRUCTURE  EDIDD
*"      IDOC_STATUS STRUCTURE  BDIDOCSTAT
*"      RETURN_VARIABLES STRUCTURE  BDWFRETVAR
*"      SERIALIZATION_INFO STRUCTURE  BDI_SER
*"  EXCEPTIONS
*"      WRONG_FUNCTION_CALLED
Work areas for the idoc tables.
  DATA: wa_data    TYPE edidd.
  status = '53'. "initial
Read the control data information of idoc.
  READ TABLE idoc_contrl INTO gwa_control WITH KEY mestyp = 'ZORDRPLY'.
  IF sy-subrc EQ 0.
Extract the data from the segments.
    LOOP AT idoc_data INTO wa_data             "LOOP AT idoc_data
    WHERE docnum = idoc_contrl-docnum.
      CASE wa_data-segnam.                     " CASE gwa_data-segnam
        WHEN 'Z1SCSK'.                          "Header data
          MOVE wa_data-sdata TO gwa_z1scsk.
          CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
            EXPORTING
              input  = gwa_z1scsk
            IMPORTING
              output = gv_vbeln.
        WHEN 'Z1SCSP'.                          "Item data
          MOVE wa_data-sdata TO gwa_z1scsp.
          CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
            EXPORTING
              input  = gwa_z1scsp-posnr
            IMPORTING
              output = gv_posnr.
          gwa_z1scsp-posnr = gv_posnr.
          APPEND gwa_z1scsp TO i_z1scsp.
      ENDCASE.                                 " CASE gwa_data-segnam
    ENDLOOP.                                     "LOOP AT idoc_data
Update the sales order
    PERFORM order_change.
  ELSE.
Begin of Mod-001
    status = '51'.
    bapi_retn_info-type       = 'E'.
    bapi_retn_info-id         = 'ZSDM'.
    bapi_retn_info-number     = '028'.
    bapi_retn_info-message_v1 =  'Wrong'.
    bapi_retn_info-message_v2 =  'Message'.
    bapi_retn_info-message_v3 =  'Type'.
   RAISE wrong_function_called.
  ENDIF.                                            " IF sy-subrc EQ 0
*Start wf
  PERFORM wf_start
             USING
                    idoc_contrl-docnum
                    gv_vbeln
                   CHANGING
                     bapi_retn_info.
*end of starting of wf
*set status
  IF status = '53'.
    bapi_retn_info-type       = 'S'.
    bapi_retn_info-id         = 'ZSDM'.
    bapi_retn_info-number     = '028'.
    bapi_retn_info-message_v1 =  gv_vbeln.
    bapi_retn_info-message_v2 =  'Changed.'.
    bapi_retn_info-message_v3 = 'Succcessfully'.
  ENDIF.
  PERFORM idoc_status_ord_change
          TABLES idoc_data
                 idoc_status
                 return_variables
           USING idoc_contrl
                 bapi_retn_info
                 status
                 workflow_result.
End of Mod-001
ENDFUNCTION.
FORM idoc_status_ord_change
     TABLES idoc_data    STRUCTURE  edidd
            idoc_status  STRUCTURE  bdidocstat
            r_variables  STRUCTURE  bdwfretvar
      USING idoc_contrl  LIKE  edidc
            value(retn_info) LIKE   bapiret2
            status       LIKE  bdidocstat-status
            wf_result    LIKE  bdwf_param-result.
  CLEAR idoc_status.
  idoc_status-docnum   = idoc_contrl-docnum.
  idoc_status-msgty    = retn_info-type.
  idoc_status-msgid    = retn_info-id.
  idoc_status-msgno    = retn_info-number.
  idoc_status-appl_log = retn_info-log_no.
  idoc_status-msgv1    = retn_info-message_v1.
  idoc_status-msgv2    = retn_info-message_v2.
  idoc_status-msgv3    = retn_info-message_v3.
  idoc_status-msgv4    = retn_info-message_v4.
  idoc_status-repid    = sy-repid.
  idoc_status-status   = status.
  APPEND idoc_status.
  IF idoc_status-status = '51'.
    wf_result = '99999'.
    r_variables-wf_param   = 'Error_IDOCs'.
    r_variables-doc_number = idoc_contrl-docnum.
    READ TABLE r_variables FROM r_variables.
    IF sy-subrc <> 0.
      APPEND r_variables.
    ENDIF.
  ELSEIF idoc_status-status = '53'.
    CLEAR wf_result.
    r_variables-wf_param = 'Processed_IDOCs'.
    r_variables-doc_number = idoc_contrl-docnum.
    READ TABLE r_variables FROM r_variables.
    IF sy-subrc <> 0.
      APPEND r_variables.
    ENDIF.
  ENDIF.
ENDFORM.                    "idoc_status_ord_change
***INCLUDE LZSD_FS007_ORDERCHANGEF01 .
*&      Form  order_change
      This Form is used for updating the DB tables(vbap,vbep)        *
FORM order_change .
Declaration of internal tables.
  DATA : i_vbap TYPE STANDARD TABLE OF vbap,
         i_vbep TYPE STANDARD TABLE OF vbep.
Declaration of workareas.
  DATA : wa_vbap TYPE vbap,
         wa_vbep TYPE vbep.
Declaration of constants.
  CONSTANTS : lc_sno(3)     TYPE c VALUE '039',
              lc_ino(3)     TYPE c VALUE '040',
              lc_msg(4)     TYPE c VALUE 'ZSD',
              lc_emsgty(1)  TYPE c VALUE  'E',
              lc_smsgty(1)  TYPE c VALUE  'S',
              lc_estatus(2) TYPE c VALUE  '51',
              lc_sstatus(2) TYPE c VALUE  '53'.
Declaration of variable.
  DATA : lv_index TYPE syindex,
         lv_zzproddt TYPE sydatum.
Fetch the data from vbap
  SELECT * FROM vbap INTO TABLE i_vbap
  WHERE vbeln EQ gv_vbeln.
  IF NOT i_vbap IS INITIAL.
Fetch the data from vbep
    SELECT * FROM vbep INTO TABLE i_vbep
      FOR ALL ENTRIES IN i_vbap
      WHERE vbeln EQ i_vbap-vbeln
      AND posnr EQ i_vbap-posnr.
Modify production option date (zzproopdt) of i_vbap
and production date(zzproddt) & original production date(zzoprodt)
of i_vbep with the data sent by SCS.
    lv_index = 1.
    LOOP AT i_z1scsp INTO gwa_z1scsp.
      LOOP AT i_vbap INTO wa_vbap WHERE posnr = gwa_z1scsp-posnr.
        IF sy-subrc EQ 0 .
  Copies the date value in gwa_z1scsp-zzproopdt to wa_vbap-zzproopdt,
  if valid date is there in gwa_z1scsp-zzproopdt
          PERFORM validate_date USING gwa_z1scsp-zzproopdt
                                      wa_vbap-zzproopdt.
          IF NOT wa_vbap-zzproopdt IS INITIAL.
            MODIFY i_vbap FROM wa_vbap TRANSPORTING zzproopdt.
          ENDIF.
  Copies the date value in gwa_z1scsp-zzproddt to lv_zzproddt,
  if valid date is there in gwa_z1scsp-zzproddt
          PERFORM validate_date USING gwa_z1scsp-zzproddt
                                      lv_zzproddt.
  If gwa_z1scsp-zzproddt is not initial then only update in VBEP.
          IF NOT lv_zzproddt IS INITIAL.
            LOOP AT i_vbep INTO wa_vbep FROM lv_index.
              IF wa_vbep-posnr GT wa_vbap-posnr.
                lv_index = sy-tabix.
                EXIT.
              ELSEIF wa_vbep-posnr EQ wa_vbap-posnr.
                wa_vbep-zzproddt = lv_zzproddt.
         Update Original Production date only when its initial.
                IF wa_vbep-zzoprodt IS INITIAL.
                  wa_vbep-zzoprodt = wa_vbep-zzproddt.
                ENDIF.
                MODIFY i_vbep FROM wa_vbep TRANSPORTING zzproddt zzoprodt.
              ENDIF.
              CLEAR wa_vbep.
            ENDLOOP.
          ENDIF.
        ELSE.
Begin of Mod-001
          status =  lc_estatus.
          bapi_retn_info-type       = lc_emsgty.
          bapi_retn_info-id         = lc_msg.
          bapi_retn_info-number     = lc_ino.
          bapi_retn_info-message_v1 =  gwa_z1scsp-posnr.
        ENDIF.
      ENDLOOP.
       IF sy-subrc EQ 4.
        status =  lc_estatus.
        bapi_retn_info-type       = lc_emsgty.
        bapi_retn_info-id         = lc_msg.
        bapi_retn_info-number     = lc_ino.
        bapi_retn_info-message_v1 =  gwa_z1scsp-posnr.
      ENDIF.
      CLEAR: wa_vbap, gwa_z1scsp.
    ENDLOOP.
  ELSE.
    status =  lc_estatus.
    bapi_retn_info-type       = lc_emsgty.
    bapi_retn_info-id         = lc_msg.
    bapi_retn_info-number     = lc_sno.
    bapi_retn_info-message_v1 =  gv_vbeln.
    EXIT.
End of Mod-001
  ENDIF.
Update the DB tables
    UPDATE vbap FROM TABLE i_vbap.
    UPDATE vbep FROM TABLE i_vbep.
ENDFORM.                    " order_change
*&      Form  VALIDATE_DATE
Converts the date into DATS format and check if it is valid,
if valid returns date in p_date_dats else clear it.
     -->p_date_c8    Date in Char format send by SCS
     -->p_date_dats  Date in DATS format.
FORM validate_date  USING    p_date_c8 TYPE char8
                             p_date_dats TYPE dats.
  CLEAR p_date_dats.
  p_date_dats = p_date_c8.
  CALL FUNCTION 'DATE_CHECK_PLAUSIBILITY'
    EXPORTING
      date                      = p_date_dats
    EXCEPTIONS
      plausibility_check_failed = 1
      OTHERS                    = 2.
  check sy-subrc NE 0.
    CLEAR p_date_dats.
ENDFORM.                    " VALIDATE_DATE
*&      Form  wf_start
      text
     -->P_IDOC_CONTROL_DOCNUM  text
     -->P_GV_VBELN  text
     <--P_BAPI_RETN_INFO  text
FORM wf_start  USING    p_idoc_control_docnum
                        p_gv_vbeln
               CHANGING p_bapi_retn_info TYPE bapiret2.
  INCLUDE <cntn01>.
  DATA: agents  LIKE swhactor OCCURS 1 WITH HEADER LINE,
        process_type TYPE char1,
        idoc_no TYPE edidc-docnum,
        creator LIKE swwwihead-wi_creator.
  swc_container wi_container.
  swc_create_container wi_container.
  swc_set_element wi_container 'Document_no' p_gv_vbeln.
  swc_set_element wi_container 'Process_type' '1'.
  swc_set_element wi_container 'Idoc_no' p_idoc_control_docnum.
  CALL FUNCTION 'SWW_WI_START_SIMPLE'
    EXPORTING
      creator                      = creator
      task                         = 'WS90200019'
    TABLES
      agents                       = agents
      wi_container                 = wi_container
    EXCEPTIONS
      id_not_created               = 1
      read_failed                  = 2
      immediate_start_not_possible = 3
      execution_failed             = 4
      invalid_status               = 5
      OTHERS                       = 6.
  IF sy-subrc <> 0.
    p_bapi_retn_info-type   = 'E'.
    p_bapi_retn_info-id = sy-msgid.
    p_bapi_retn_info-number = sy-msgno.
    p_bapi_retn_info-message_v1 = sy-msgv1.
    p_bapi_retn_info-message_v2 = sy-msgv2.
    p_bapi_retn_info-message_v3 = sy-msgv3.
    p_bapi_retn_info-message_v4 = sy-msgv4.
  ENDIF.
ENDFORM.                    " wf_start..
The idoc configurations for customized idoc (inbound) are..
1>WE81
2>WE31
3>WE30
4>BD51(Attach ur zfunction mdoule)
5>WE57(Attach ur zfunction mdoule to message type and basic type)
6>we42
7>WE20...
Regards,
nagaraj

Similar Messages

  • Need code sample to execute a command line in form builder

    i need to write code in the fmb file
    to be executed when running a form

    Hi
    use this command in your fmb,
    Host(<CommandLineCommand>,No_Screen);
    hope this works for you.
    regards
    gaurav

  • EDI inbound Purch Order - Changes needed

    Hi all,
      I have EDI inbound purchase orders that get created into sales orders in sap.  This use message type ORDERS and process code ORDE.   Question is for some of  these inbound purchase orders,  i may need to add a new material to existing sales orders that are created previously.  To make changes to existing sales order, can i use the same message type and process code ?     Have anyone come across such situation ?
    thanks
    Joyce

    Hi Joyce,
    The IDOC Type remains the same for create/change/confirmation etc, the system uses the partner profile to know the kind of action it must take on a given IDOC, parameters like message type and process code help the system to process the IDOC accordingly.
    IDOC Type      Message Type      Process Code      Action taken
    ORDERS05     ORDERS                 ORDE                  Create Order
    ORDERS05     ORDCHG                ORDC                  Change Order
    ORDERS05     ORDRSP                 ORDR                  Confirmation
    My bad, the segment name is E1EDP01 --- Go to WE30, open up idoctype ORDERS05, look for E1EDP01 segment, double click on this segment and you will see the field ACTION.
    Regards,
    Chen

  • Laura, I need some code samples you mentioned...

    Laura,
    I posted a message a few days ago regarding calling Stored Procedures in my JDev 3.1 (JDK 1.2.2) BC4J application. I need to be able to call them two different ways. The first involves passing some parameters to the SP and recieving back the ResultSet. In the other instance I simply need to make a call to them to perform some tasks on the DB side. Nothing will be returned from these SP's. You discussed implementing the SQL as a VO and gave me some code showing me how I might do this. You also mentioned that it is possible to create a method on the AppMod and call this from the JSP client. I need to know which method should work best for me and to get the code samples for the second option.
    Thanks.
    Rob

    Hi,
    Here is the code I used for the custom method on my VO (same could be used from the app module rather than a specific VO). The stored procedure I am calling here performs some calculations and returns an integer value:
    public int getTotalHits(String mon, String year) {
    CallableStatement stmt = null;
    int total;
    String totalhits = "{? = call walkthru.total_hits(?,?)}";
    stmt = getDBTransaction().createCallableStatement(totalhits, 1);
    try
    // Bind the Statement Parameters and Execute this Statement
    stmt.registerOutParameter(1,Types.INTEGER);
    stmt.setString(2,mon);
    stmt.setString(3,year);
    stmt.execute();
    total = stmt.getInt(1);
    catch (Exception ex)
    throw new oracle.jbo.JboException(ex);
    finally
    try
    stmt.close();
    catch (Exception nex)
    return total;
    After adding the custom method to your appmoduleImpl.java file and rebuilt your BC4J project, do the following:
    1. Select the Application Module object and choose Edit from the context menu.
    2. Click on the Client Methods page. You should see the method you added in the Available list.
    3. Select the method and shuttle it to the Selected list.
    4. Click Finish. You should see a new file generated under the application module object node in the Navigator named appmodule.java that contains the client stubs for your method.
    5. Save and rebuild your BC4J project.
    I wrote a custom web bean to use from my JSP page to call the method on my VO:
    public class GetTotals extends oracle.jdeveloper.html.DataWebBeanImpl {
    public void render() {
    int totalhits;
    try
    Row[] rows;
    // Retrieve all records by default, the qView variable is defined in the base class
    qView.setRangeSize(-1);
    qView.first();
    rows = qView.getAllRowsInRange();
    // instantiate a view object for our exported method
    // and call the stored procedure to get the total
    ViewObject vo = qView.getViewObject();
    wtQueryView theView = (wtQueryView) vo;
    totalhits = theView.getTotalHits(session.getValue("m").toString(),session.getValue("y").toString());
    out.println(totalhits);
    } catch(Exception ex)
    throw new RuntimeException(ex.getMessage());
    I just call the render method on this custom web bean from the JSP. I am not passing parameters to the render method of the bean, but instead access the parameters I need from the session:
    session.getValue("m").toString()
    I set these session parameters from the JSP that is called when the user submits their query criteria form. For example:
    // get the view parameter from the form String month = request.getParameter("month");
    String year = request.getParameter("year");
    // store the information for reference later session.putValue("m", month); session.putValue("y", year);
    Hope this helps.

  • I need a Sample Code about flash++.h and swc.

    hi,help me !
    i need a Sample Code about flash++.h and swc.
    my Sample Code bitmapdata.cpp:
    #include <AS3/AS3.h>
    #include <Flash++.h>
    using namespace AS3::ui;
    void gettpoint() __attribute__((used,
    annotate(“as3sig:public function gettpoint(x:Number,y:Number):uint”),
    annotate(“as3package:MyLibrary”)));
    void gettpoint()
    double xx;
    double yy;
    inline_as3( “%0 = x;%1 = y\n” : “=r”(xx) : “r”(yy) );
    flash::geom::Point p=flash::geom::Point::_new();
    AS3_Return(xx);
    int main()
    AS3_GoAsync();
    return 0;
    the compile command is “$(FLASCC)/usr/bin/g++” $(BASE_CFLAGS) -O4 bitmapdata.cpp -emit-swc=MyLibrary -o bitmapdata.swc -lFlash++ -lAS3++
    It took me ten minutes to compile,but it can’t work.why?

    Compiling a SWC using Flash++ will result in poor compiler performance if you are using the Flex SDK to compile that SWC into a SWF.
    To get better performance try using the new version of mxmlc that is shipped in the Adobe Gaming SDK.  (Note that this new version of mxmlc doesn't support Flex)
    You will need to install the Gaming SDK and then extract the archive in the "AIR SDK" folder.  Once that archive is extracted you'll notice the new mxmlc compiler in the bin folder.
    Unfortunately compiling a SWF seems to be a little tricky.  You'll notice in the sample Makefile below project that it changes directory into the bin folder before calling ./mxmlc.  Ideally you wouldn't need to do this (like how it worked with the Flex mxmlc).  I'll investigate why that is the case.
    Makefile:
    # Path to your FlasCC SDK folder
    $?FLASCC=/Users/stshongr/builds/alchemy/1.0.0/sdk
    $?GAMINGSDK="/Applications/Adobe Gaming SDK 1.0/AIR SDK/air3-5_p4_sdk_asc2_mac_112112/bin"
    # The folder the source files are in
    $?SRC_FOLDER=$(PWD)
    all:
              "$(FLASCC)/usr/bin/g++" MyLibrary.c -emit-swc=MyLibrary -o MyLibrary.swc -lFlash++ -lAS3++
              cd $(GAMINGSDK) && ./mxmlc -library-path=$(SRC_FOLDER)/MyLibrary.swc $(SRC_FOLDER)/demo.as -o $(SRC_FOLDER)/demo.swf
    clean:
              rm -f *.swf *.swc *.bc *.exe
    MyLibrary.c:
    #include <AS3/AS3.h>
    #include <Flash++.h>
    using namespace AS3::ui;
    void gettpoint() __attribute__((used,
                                    annotate("as3sig:public function gettpoint(x:Number,y:Number):uint"),
                                    annotate("as3package:MyLibrary")));
    void gettpoint()
        double xx;
        double yy;
        inline_as3( "%0 = x;%1 = y\n" : "=r"(xx) : "r"(yy) );
        flash::geom::Point p=flash::geom::Point::_new();
        AS3_Return(xx);
    int main()
        AS3_GoAsync();   
        return 0;
    demo.as:
    package {
        import flash.display.Sprite;
        import flash.text.TextField;
              import flash.events.Event;
        import MyLibrary.CModule;
        public class demo extends Sprite {
                        private var tf:TextField;
            public function demo() {
                addEventListener(Event.ADDED_TO_STAGE, initCode);
            private function initCode(e:Event):void {
                tf = new TextField();
                addChild(tf);
                // start the FlasCC library
                MyLibrary.CModule.startAsync(this);
                // call the function
                                  tf.appendText("OUTPUT:" + MyLibrary.gettpoint(2,2));

  • Need official code samples

    I need official sample of BPM 11.1.1.5 with BAM. Does anyone konw where I can download it?

    I need official sample of BPM 11.1.1.5 with BAM. Does anyone konw where I can download it?

  • EDI Inbound-Port definition

    Hi,
    We are doing EDI Inbound for PO. For this I need to define the port(Sender Port) as in the control record(i.e as they r sending) .If they change their port it is not working what shold I do for this.
    regds,
    Vinsa.R

    Hi,
    As i mentioned before, the sender should inform any change in control parameter so you can change your port too.
    Check with the sender if they can provide this information before changing. I do not what is the terms of your company with this sender, but they should inform you before doing any change.
    <b>Option-2</b>
    The other option you have is, you create your custom program which runs before RSEINB00. In this program you have to,
    - read each and every file from this UNIX directory
    - read the control record.
    - check if SNDPOR is what you have defined in your system
    - if not then change it and save it back.
    You can check the source code of FM <b>'IDOC_INBOUND_FROM_FILE'</b> to see how SAP read this file. ( Program RSEINB00 calls this FM internally ). This will give you an idea, how to read control record.
    I do not know if option-2 of changing control record in file will affect anything else or not.
    Let me know if you have any question.
    Regards,
    RS

  • Need a sample program for hierarchial oops ALV report

    Hello experts,
                     I Need a sample program for hierarchial oops ALV report.

    Hi,
       Check the following sample code...
    T A B L E S
    tables : ekko.
      data definition
    types : begin of ty_ekko,
              ebeln type ekko-ebeln,
              lifnr type ekko-lifnr,
              bsart type ekko-bsart,
              aedat type ekko-aedat,
              ernam type ekko-ernam,
            end of ty_ekko.
    types : begin of ty_eket,
               ebeln type ekpo-ebeln,
               ebelp type ekpo-ebelp,
               werks type ekpo-werks,
               matnr type ekpo-matnr,
               menge type eket-menge,
               wamng type eket-wamng,
               netpr type ekpo-netpr,
            end of ty_eket.
    data : it_ekko type table of ty_ekko,
           it_eket type table of ty_eket.
    data: ob_hieralv type ref to cl_salv_hierseq_table.
    data: it_binding type salv_t_hierseq_binding,
          is_binding type salv_s_hierseq_binding.
    S E L C T O P T I O N S
    select-options : s_ebeln for ekko-ebeln.
    S T A R T O F S E L E C T I O N
    start-of-selection.
    select ebeln
           lifnr
           bsart
           aedat
           ernam from ekko
    into corresponding fields of table it_ekko
    where ebeln in s_ebeln.
    if sy-subrc eq 0.
    select aebeln aebelp
           awerks amatnr
           bmenge bwamng
           a~netpr from ekpo as a join eket as b
                     on  amandt = bmandt
                     and aebeln = bebeln
                     and aebelp = bebelp
                   into corresponding fields of table it_eket
                  where a~ebeln in s_ebeln.
    endif.
    is_binding-master = 'EBELN'.
    is_binding-slave = 'EBELN'.
    append is_binding to it_binding.
    *TRY.
    call method cl_salv_hierseq_table=>factory
    exporting
    t_binding_level1_level2 = it_binding
    importing
    r_hierseq = ob_hieralv
    changing
    t_table_level1 = it_ekko
    t_table_level2 = it_eket .
    *CATCH cx_salv_data_error .
    *CATCH cx_salv_not_found .
    *ENDTRY.
    call method ob_hieralv->display( ).
    Cheers,
    Ram

  • Accessing Party EDI details through code in 2013

    Hi,
    We are looking at options of accessing the Party EDI details from orchestration in BTS 2013 R2. But looks like the property X12Receiver belonging to the partner object  Microsoft.BizTalk.Edi.PartnerAgreementManager.Partner
    has been deprecated. Although, using the property does not give a compilation error, it throws exception during runtime with the below error:
    System.Data.SqlClient.SqlException (0x80131904): Could not find stored procedure 'edi_PartnerX12InterchangeSelect'.
    Any pointers on how the accessing of party EDI details through code/within orchestration can be achieved? Appreciate any help on this regards. Thanks.

    Refer "Custom Party Resolution" sample available in the BizTalk SDK -
    http://msdn.microsoft.com/en-in/library/aa559134.aspx and pay specific attention to the code in "PartyResolutionStream.cs". This has the logic for querying the BizTalk Party database tables.
    You can expose you own library/helper with this code and leverage it in the orchestration.
    That having said, if you use the EDI Pipelines, the party resolution is done for you and available on the received message in the orchestration as promoted property. Refer
    http://msdn.microsoft.com/en-us/library/bb226500.aspx
    Regards.

  • Inbound Process Code for ARTMAS

    Hello,
    Can any body help me which Inbound Process Code I need to use for Message type ARTMAS.
    When I used process code AFSA, Idoc created with status 51 and it says Function module not allowed: AFS_RETAIL_ARTMAS_IDOC_INPUT
    We are using SAP Retail 4.6C version
    Thanks in Advance,
    Regards,
    Murali

    Hello,
    Let me explain the Issue again,
    I have two system, One is pre production and other one is Quality system. Both are SAP Retail systems
    Article Master data is maintained in Pre Production, now we are trying to get this to Quality system.
    I have made the follwoing settings in
    Pre production: (Sender)
    1. WE20 Maintained Partner Profile (LS)
    2. BD64 Maintained ALE setting (ARTMAS is defined as a
          BAPI: RetailMaterial.Clone)
    Quality: (Receiver)
    1. WE20 Maintained Partner Profile (LS)
    2. I have tried the Process code AFSA, MATA, MAT2 in the Inbound permeate, however Idoc is still in Status 51.
    In the Sender system Idoc is created and the status is 03
    In the Receiving system Idoc is created and the Status is 51.
    Error says Function module not allowed and the application object type which were determined are not valid for this IDoc I have tried with Process code AFSA, MATA, MAT2 however I have same problem.
    Please help me which functional module I need to use for creating Article in SAP Retail system.
    Regards,
    Murali

  • Event when logistic invoice gets in the sys. through EDI with status cod 03

    Hello Gurus,
    I am trying to find the event that gets triggered when an incoming EDI logistics invoice gets posted/created in system with status code 3 (error status). I know that I can go to transaction SWELS to find the event using event trace.
    The problem is I cannot create such a test scenario manually i.e logistic invoice in the system with status code 03. So I was woneding if someone cal tell me if it would be event
    incominginvoice.created or incominginvoice.posted in business object BUS2081 when the logixtics invoice gets crated/posted with status code 03.
    Thanks.
    Regards,
    Rajesh.

    Hi Rajesh,
    The events triggered when an IDOC goes into error are associated with the inbound process code.
    Have a look in transaction BD67 for your process code, e.g. INVM under the IDOC section you will see the object and events that are invoked when any error occurs.
    Is that what you are after?
    Darren

  • IDOC: LOIPRO, inbound Process Code?

    Hello everyone,
    I'm trying to create a Production Order using IDOC: LOIPRO. I'm in the process of configuring the Partner Profile and I need to define the inbound Process Code for message type: LOIPRO. Does anyone know which Process Code to use for that message type?
    Warm regards,
    Glenn

    Hi Glenn,
    Message Type: LOIPRO
    Receiver Port: The one created in step u201CDefining a Logical Portu201D
    Basic Type: LOIPRO01
    if want to more about it pls do chk this link
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/201769e0-3174-2910-e287-baa58d198246
    if found wort pls do te req
    Thanx
    Sampath

  • Code Samples for SDK programming in Java

    I need a complete set of Code Samples for SDK programming in Java, like the one that is available in VB and .Net.
    For Example, if you look at the following directory of machine where SDK is installed,
    C:\ProgramFiles\SAP\SAP Business One SDK\Samples\COM DI\VB.NET
    we have following Sample programs in C Sharp, VB6, VB.Net
    01.BasicOperations
    02.MetaDataOperations
    03.UsingSBObob
    04.SerialAndBatch
    05.OrderAndInvoice
    06.ObjectsSchemas
    07.Permissions
    08.LoadFromXML
    09.BudgetEditor
    10.Messages Service
    11.Basic Company Settings
    12. Report Layout Service
    13.SaveXML
    14.ItemCycleCount
    15.ApprovalStagesAndTemplateServices
    16.Alert Management Service
    Iam looking for Samples like what is available above so that we can understand JCO better.

    Hi Sridharan,
    The only JCO samples I know of are posted in the [thread|;.
    Regards,
    Vítor Vieira

  • ALE INBOUND Process Code

    Hi,
          In ALE INBOUND Process Code Apart from the Function Module name, what are the important things to be filled up while creating that InBound process code in WE42. What is the importance of those? what is the importance of Object Attributes in that?

    Hi Mahesh check this may be useful to  you
    The inbound function module needs to be linked to the message type and the message type needs to be linked to the appropriate inbound process code at the partner profile level before the scenario is enabled. These steps are described below in detail.
    Link Message Type to Function Module (WE57) Client independent
    u2022 Enter transaction WE57 (ALE -> Extensions -> Inbound -> Allocate function module to logical message)
    Define FM settings (BD51) Client independent
    u2022 Enter transaction BD51 (ALE -> Extensions -> Inbound -> Define settings for input modules)
    u2022 Click on New entries
    u2022 Enter 0 for mass processing in the output column
    u2022
    Maintain process codes (WE42) Client dependent
    A process code needs to be maintained on each client. It then needs to be linked to the message via the partner profiles on each client. This allows the various clients to use a unique function module for the same message type.
    To maintain the process code follow these steps:
    u2022 Log on to the appropriate receiving system client
    u2022 Execute WE42 (ALE -> Extensions -> Inbound -> Maintaining process codes inbound)
    u2022 Choose Inbound with ALE service
    u2022 Choose Processing with function module
    u2022 Click on Processing with function module and choose create icon
    u2022 Click on New Entries
    u2022 Type in process code XXXXXXX and give it a description and save
    u2022 Now you are asked to Please maintain codes added in ALE entry methods, enter and choose XXXXXX and copy it. You should choose a FM similar to your one.
    u2022 Enter your process code XXXX
    u2022 Enter your function module XXXXXX
    NOTE: The next 6 steps are used in workflow error handling.
    u2022 Enter IDPKFIDCMT in object type
    u2022 Enter MASSINPUTFINISHED in End event
    u2022 Enter IDOCINVOIC in IDoc object type
    u2022 Enter INPUTERROROCCURREDFI in IDoc start event
    u2022 Enter INPUTFINISHEDFI in IDoc End event
    u2022 Enter IDOCINVOIC in Application object type
    You will need to determine the task associated with object XXXXXXXX, and then assign the appropriate position to it. This position will then receive the application error messages via workflow.
    To set up the workflow area please consult the Workflow config guide.
    Create inbound partner profile
    For each message type you need to maintain the inbound partner profiles.
    Maintain receiving system partner profile (WE20) Client dependent
    To maintain inbound partner profiles read the document ALE configuration procedure:
    u2022 Add the message type XXXXX with process code XXXX.
    u2022 Enter the output mode (background, immediately) for inbound processing and NO message code.
    Test
    Once the inbound function module has been debugged the scenario should be ready to test in its entirety. If problems occur, read through the relevant areas of this document to check your configuration or code.
    You can find all the inbound and outbound processcodes in we64.
    Regards,
    SMS.

  • Custom Inbound Process Code

    Hi all,
    i have created a custom inbound process code in transaction we42. I am trying to assign a function module related to the process code.
    However, i could not find my function module in the drop down list. My function module has already been activated.
    Appreciate any advice.

    I realize we need to create a new entry in transaction BD51 before we can use it.

Maybe you are looking for

  • Using Light as Motion Path for Trapcode Particular

    Hi, I am trying to make an animation for a project, but I cannot figure out some things.  I am trying to create the effect that a person is throwing money out the back of a car.  I have the live shot of the person in the car, but I cannot get the mon

  • New Mac PPC Version Works After Self-Editing

    My system: Old Emac, PPC, 10.4.8 and use primarily Safari as a web browser. I had a tough time to get Flash Player, version 9.0.28.0 to work. I finally got it to work by using TextEdit to modify the User/Library/Preferences/Macromedia/Flash Player/ve

  • 9i vs RedHat 7.1 - problem with /lib/libm.so.6

    I'm install 9i db on my RedHat 7.1 (downgraded binutils & sun jdk1.3.1) - all work fine. I try to install iFS 1.1.10.1.0 (downloaded from OTN) - all work, but after iFS start oracle DB write .trc file with error: --- Cut --- ORA-00600: internal error

  • I need to download 10.7.0 (10.7.2 max), where does Apple keep earlier versions of OS?

    i foolishly updated my MacPro and laptop to 10.7.3, but then discovered that it messed up some of my Pro apps like Nikon Capture NX2, which is only supposed to work on 10.7.2 i have been trying to find anyway to go back, and was informed that i had t

  • Return amount of times a character is in a string?

    Hello, quick question. As the title says, how can i return the amount of times a character is in a string? character such as 'a', 'b', etc. Thank you all, appreciate it!