Job Creation via BAPI using BackgroundJob

Hello,
I'm working on Access and I'm submitting a JOB in SAP; till we were in release 4.7 my database worked but after the relase change I'm not able to us it again.
When I call my function in order to do "AddABAPStep" the system give me a Run-time error '4701'
"Non-BAPI methods with export parameters are currently not supported"
Hereafter the instruction that doesn't work :
        oJobrun.AddABAPStep ExternalUserName:=pMUsrUser, JobName:=Jname, Jobcount:=Jcount, AbapProgramName:=xabap, AbapVariantName:=xvar, Return:=oReturn
Is there someone that is able to help me ?
Thank you in advance
Guido Chiappa
Edited by: Guido Chiappa on Jul 14, 2011 11:31 AM

Hi,
May help you:----
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/edab9790-0201-0010-479a-98fcc7ebc7bd?quicklink=index&overridelayout=true
Regards,
Suman

Similar Messages

  • Job Selection via BAPI using BackgroundJob

    Hi to all,
    I'm using "Set oJobList = oBAPICtrl.GetSAPObject("BackgroundJob")" to receive the list of job from SAP to my Access database.
    Someone have already used it ?
    I'm not able to understand how set selection parameter.
    Set oJobSelectParam = oBAPICtrl.DimAs(oJobList, "Select", "JobSelectParam") give me a message "Error 0"
    and so ...
        oJobSelectParam.Value("JOBNAME") = "UNIVERSE"
        oJobSelectParam.Value("USERNAME") = "COKKA00M15"
    have no impact on parameter "oJobSelectParam".
    Please help me.
    Thank's in advance

    Hi,
    May help you:----
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/edab9790-0201-0010-479a-98fcc7ebc7bd?quicklink=index&overridelayout=true
    Regards,
    Suman

  • PO creation via BAPI is not into database after run BAPI_PO_CREATION1

    Dear friends ,
    I have done an case to test PO creation via BAPI_PO_CREATION1.
    I run the BAPI and the PO number is presented to me.
    But the PO is not in the database.
    Should I done another step to write this PO into the database?
    best regards,
    Ale

    *Confirm the document creation by calling database COMMIT
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
       WAIT          = 'X'
    IMPORTING
      RETURN        =
    end-of-selection.
    *Output the messages returned from BAPI call
    LOOP AT RETURN.
    WRITE / RETURN-MESSAGE.
    ENDLOOP.

  • Create PS project via BAPI - using project templates (CJ01)

    hi anybody,
    if is pos. to create a new project with BAPI* (if yes, which one? and how?) and use a project template (not an existing project).
    thanks for help.
    regards thomas

    Thanks for welcome.
    This BAPI create a new PROJ_DEF, thats clear. But i want to create a new project (with WBS and networks etc.) via BAPI and this with using a existing project template (please look in CJ01), not an existingproject (CJ20N).
    You know what I want?
    Thomas

  • Vendor Creation Via OAWD using workflow

    Hi,
    We are currently using SAP Archvelink for attaching vendor invoices to FI docuemnt via FB60 and MIRO using a basic workflow function
    We want to be able to use the same process ie OAWD to be able to initiate the process of creating a vendor via XK01. The user woudl receive an authorised vendor creation PDF form that they woudl then attach to the vendor when cretaing
    I have tried to configure a new document type and have assigned to object type LFA1 in transaction SOA0. However, when I try to maintain the workflow parameters to link to transaction code XK01 in transaction OACA I get the following message
    Parameter TRANSACTIONCODE does not exist for method CREATE of object type LFA1
    I dont know what to do (or if it is possible) to enable the "CREATE" method for object type LFA1
    Thanks in advance

    I solved my own problem.
    I had to configure OAWS first then it allowed me to add create in SOA0
    Edited by: Tracee on Sep 14, 2010 7:43 AM

  • Promotion creation via BAPI - long text issue

    I am going to use BAPI_PROMO_CREATE to create a promotion.  Unfortunately this BAPI does not handle the long text piece of the promotion, and that is a requirement.  Does anyone know of a BAPI that will create the long text for a promotion, or is there a generic BAPI for this functionality?  I couldn't find one.
    Thanks,
    Tami

    This will resolve the issue
    SAP Note 1452700 - "New" button is disabled after
    displaying text
    Note Language: English Version: 1 Validity: Valid Since 03/25/2010
    Summary
    Symptom
    In display mode you navigate via the text hyperlink to the text view.
    When you navigate back, the "New" button on the "Notes" assignment block is
    disabled.

  • Handling unit creation in existing shipment via BAPI or IDOC

    Dear all,
    Dose any one tried and succeed packing deliveries items in an existing shipment in the shipment level via BAPI or IDOC.
    I tried to use IDOC massage type SHPADV. The problem was that it's creates a new shipment with the same deliveries and pack their items, although I entered the existing shipment number.
    With regards to "BAPI_SHIPMENT_CHANGE", it is seems like this BAPI is not an option. It is update the shipment in any shipment field but not creating HU in shipment level.
    Dose there any solution via those options or there is any other solution.
    Thanks in advance,
    Itai

    I tried simulating this LSMW (message type-  PREQCR1, Baisc type -PREQCR101) and it is working fine. I used creation indicator = R in item segment - E1BPMEREQITEM and have not updated value for this field in Header. So try without any value for CREATE_IND in HEADER and just pass R in item.
    yogesh

  • Creation of notification via BAPI

    Hi Guys,
    I'm working in ECC 6.0 version. i have found a BAPI 'BAPI_ALM_NOTIF_CREATE' to create a notification. When i'm creating the notification through IW21 by passing notification type and functional location, i'm able to create a notification
    But when i'm passing the same parameters to the BAPi,  its neither returning any error record nor the notification is getting created.
    Has anyone worked on the creation of notification via BAPI
    Thanks in advance

    Thanks martin and ravi.
    i have got the solution. Just thought of sharing with you guys.
    After calling the BAPI passing the parameters notification type and functional location, a field NOTIF_NO will be returned which you have to pass to the BAPI 'BAPI_SERVNOT_SAVE
    thats it
    Thanks a lot

  • How to give all input parameter in creation of po via bapi

    sir plez tell clear process of create po via bapi, i have done upto "BAPI_PO_CREATIVE1, then what to do, plez stepwise explain
    thank Q

    Dear Baskhar,
    After BAPI_PO_CREATE1, you have to run BAPI_TRANSACTION_COMMIT to post
    the data.
    For example, from SE37:
    You can goto menubar: Function Module
    Test-> Test sequence,
    Fill in BAPI_PO_CREATE1 then follow by BAPI_TRANSACTION_COMMIT .
    Best Regards,
    Ian Wong

  • Create Support Message via BAPI with additional partners

    Hi all,
    i need to create a support message (slfn) via  bapi / function module. The basic creation is no problem with BAPI_NOTIFICATION_CREATE.
    But i need to set additional partner(functions) like "approved by" in the support message. With this bapi i can only set the processor and creator of the message.
    How can i add additional partners via BAPI call?
    Any help would be much appreciated.
    Daniel

    Hi Daniel,
    i do not think there is a standard functionality for this.
    you can use function module CRM_DNO_UPDATE_PARTNER to set partner functions to a message. You will have to build your own RFC enabled function module around this, though.
    Then you can use it to add your partners after the message was created.
    Regards,
    Christoph

  • Start one job after another complets using PL/SQL procedure and DBMS_JOB

    All,
    I am attempting to refresh a materialized view using DBMS_JOB and having a PL/SQL program loop through each materialized view name that resides in a table I created. We do the table because they have to be refreshed in a specific order and I utilize the ORDER_OF_REFRESH column to dictate which MV comes first, second, third, etc.
    Now - I have this working to the extent that it kicks off 4 materialized views (currently set the procedure to only do 4 MVs for testing purposes) but I would ultimately like the procedure to create a new DBMS_JOB that calls DBMS_MVIEW.REFRESH of the next view in line ONLY after the preceeding materialized view DBMS_JOB completes.
    The purpose of all of this is to do a few things. One - if I simply create a procedure with the DBMS_MVIEW.REFRESH call to each materialized view in order - that works but if one fails, the job starts over again and will up to 16 times - BIG PROBLEM. Secondly, we want the job that will call this procedure to fail if it encounters 2 failures on any one materialized view (because some MVs may be dependant upon that data and cannot use old stale data).
    This may not be the "best" approach but I am trying to make the job self-sufficient in that it knows when to fail or not, and doesn't kick off the materialized views jobs all at once (remember - they need to start one after the other - in order).
    As you can see near the bottom, my logic doesn't work quite right. It kicks off all four jobs at once with the date of the whatever LAST_REFRESH is in my cursor (which ultimately is from the prior day. What I would like to happen is this:
    1.) 1st MV kicks off as DBMS_JOB and completes
    2.) 2nd MV kicks off with a start time of 3 seconds after the completion of 1st MV (based off LAST_REFRESH) date.
    3.) This conitnues until all MVs are refresh or until 2 failures are encountered, in which no more jobs are scheduled.
    - Obviously I am having a little bit of trouble with #2 and #3 - any help is appreciated.
    CREATE OR REPLACE PROCEDURE Next_Job_Refresh_Test2 IS
    V_FAILURES NUMBER;
    V_JOB_NO NUMBER;
    V_START_DATE DATE := SYSDATE;
    V_NEXT_DATE DATE;
    V_NAME VARCHAR2(30);
    V_DELIMITER VARCHAR2(1);
    CURSOR MV_LIST IS SELECT DISTINCT A.ORDER_OF_REFRESH,
                                  A.MV_OBJECT_NAME
                        FROM CATEBS.DISCO_MV_REFRESH_ORDER A
                        WHERE A.ORDER_OF_REFRESH < 5
                   ORDER BY A.ORDER_OF_REFRESH ASC;
    CURSOR MV_ORDER IS SELECT B.ORDER_OF_REFRESH,
                                  B.MV_OBJECT_NAME,
                                  A.LAST_REFRESH
                             FROM USER_SNAPSHOTS A,
                                  DISCO_MV_REFRESH_ORDER B
                             WHERE A.NAME = B.MV_OBJECT_NAME
                        ORDER BY B.ORDER_OF_REFRESH ASC;
    BEGIN
    FOR I IN MV_LIST
    LOOP
    IF I.ORDER_OF_REFRESH = 1
    THEN V_START_DATE := SYSDATE + (30/86400); -- Start job one minute after execution time
              ELSE V_START_DATE := V_NEXT_DATE;
    END IF;
         V_FAILURES := 0;
         V_JOB_NO := 0;
         V_NAME := I.MV_OBJECT_NAME;
         V_DELIMITER := '''';
    DBMS_JOB.SUBMIT(V_JOB_NO,'DBMS_MVIEW.REFRESH(' || V_DELIMITER || V_NAME || V_DELIMITER || ');',V_START_DATE,NULL);
              SELECT JOB, FAILURES INTO V_JOB_NO, V_FAILURES
              FROM USER_JOBS
              WHERE WHAT LIKE '%' || V_NAME || '%'
              AND SCHEMA_USER = 'CATEBS';
    IF V_FAILURES = 3
    THEN DBMS_JOB.BROKEN(V_JOB_NO,TRUE,NULL); EXIT;
    END IF;
    FOR O IN MV_ORDER
    LOOP
    IF I.ORDER_OF_REFRESH > 2
    THEN V_NEXT_DATE:= (O.LAST_REFRESH + (3/86400)); -- Start next materialized view 3 seconds after completion of prior refresh
    END IF;
    END LOOP;
    END LOOP;
    EXCEPTION
    WHEN NO_DATA_FOUND
         THEN
              IF MV_LIST%ISOPEN
                   THEN CLOSE MV_LIST;
              END IF;
    NULL;
    END Next_Job_Refresh_Test2;
    ---------------------------------------------------------------------------------------------------------------------

    Justin,
    I think I am getting closer. I have a procedure shown just below this that updates my custom table with information from USER_SNAPSHOTS to reflect the time and status of the refresh completion:
    CREATE OR REPLACE PROCEDURE Upd_Disco_Mv_Refresh_Order_Tbl IS
    V_STATUS VARCHAR2(7);
    V_LAST_REFRESH DATE;
    V_MV_NAME VARCHAR2(30);
    CURSOR MV_LIST IS SELECT DISTINCT NAME, LAST_REFRESH, STATUS
                             FROM USER_SNAPSHOTS
                        WHERE OWNER = 'CATEBS';
    BEGIN
    FOR I IN MV_LIST
    LOOP
         V_STATUS := I.STATUS;
         V_LAST_REFRESH := I.LAST_REFRESH;
         V_MV_NAME := I.NAME;
    UPDATE DISCO_MV_REFRESH_ORDER A SET A.LAST_REFRESH = V_LAST_REFRESH
    WHERE A.MV_OBJECT_NAME = V_MV_NAME;
    COMMIT;
    UPDATE DISCO_MV_REFRESH_ORDER A SET A.REFRESH_STATUS = V_STATUS
    WHERE A.MV_OBJECT_NAME = V_MV_NAME;
    COMMIT;
    END LOOP;
    END Upd_Disco_Mv_Refresh_Order_Tbl;
    Next, I have a "new" procedure that does the job creation and refresh show just below this which, when starting the loop, sets the LAST_REFRESH date in my table to NULL and the STATUS = 'INVALID'. Then if the order of refresh = 1 then it uses SYSDATE to submit the job and start right away, else if it's not the first job, it uses V_NEXT_DATE. Now, V_NEXT_DATE is equal to the LAST_REFRESH date from my table when the view has completed and the V_PREV_STATUS = 'VALID'. I think tack on 2 seconds to that to begin my next job.... See code below:
    CREATE OR REPLACE PROCEDURE Disco_Mv_Refresh IS
    V_FAILURES NUMBER;
    V_JOB_NO NUMBER;
    V_START_DATE DATE := SYSDATE;
    V_NEXT_DATE DATE;
    V_NAME VARCHAR2(30);
    V_PREV_STATUS VARCHAR2(7);
    CURSOR MV_LIST IS SELECT DISTINCT A.ORDER_OF_REFRESH,
                                  A.MV_OBJECT_NAME,
                                  A.LAST_REFRESH,
                                  A.REFRESH_STATUS
                        FROM CATEBS.DISCO_MV_REFRESH_ORDER A
                        WHERE A.ORDER_OF_REFRESH <= 5
                   ORDER BY A.ORDER_OF_REFRESH ASC;
    BEGIN
    FOR I IN MV_LIST
    LOOP
    V_NAME := I.MV_OBJECT_NAME;
    V_FAILURES := 0;
    UPDATE DISCO_MV_REFRESH_ORDER SET LAST_REFRESH = NULL WHERE MV_OBJECT_NAME = V_NAME;
    UPDATE DISCO_MV_REFRESH_ORDER SET REFRESH_STATUS = 'INVALID' WHERE MV_OBJECT_NAME = V_NAME;
    IF I.ORDER_OF_REFRESH = 1
    THEN V_START_DATE := SYSDATE;
    ELSE V_START_DATE := V_NEXT_DATE;
    END IF;
    DBMS_JOB.SUBMIT(V_JOB_NO,'DBMS_MVIEW.REFRESH(' || '''' || V_NAME || '''' || '); BEGIN UPD_DISCO_MV_REFRESH_ORDER_TBL; END;',V_START_DATE,NULL);
    SELECT A.REFRESH_STATUS, A.LAST_REFRESH INTO V_PREV_STATUS, V_NEXT_DATE
    FROM DISCO_MV_REFRESH_ORDER A
    WHERE (I.ORDER_OF_REFRESH - 1) = A.ORDER_OF_REFRESH;
    IF I.ORDER_OF_REFRESH > 1 AND V_PREV_STATUS = 'VALID'
    THEN V_NEXT_DATE := V_NEXT_DATE + (2/86400);
    ELSE V_NEXT_DATE := NULL;
    END IF;
    END LOOP;
    EXCEPTION
    WHEN NO_DATA_FOUND
         THEN
              IF MV_LIST%ISOPEN
                   THEN CLOSE MV_LIST;
              END IF;
    NULL;
    END Disco_Mv_Refresh;
    My problem is that it doesn't appear to be looping to the next job. It worked succesfully on the first job but not the subsequent jobs (or materialized views in this case).... Any ideas?

  • Creation of Material using BDC Session method & global class

    Hi
    Creation of Material using BDC Session method & global class by using oops.
    can anyone plz help me out

    Hi,
    it looks like it's not possible to call this BAPI wihtout material number. Here is a quote from BAPI documentation.
    When creating material master data, you must transfer the material
    number, the material type, and the industry sector to the method. You
    must also enter a material description and its language.
    Cheers

  • Service PO creation with BAPI

    Hi All,
    I have to create a file upload program to create service PO's with BAPI_PO_CREATE1. Please if anyone can give me a example of it it would be great.
    Thanks.
    Malinda

    Hi ,
           Check out this program .
    use this program for creating service po's using bapi.
    *& Report ZMM_PO_CREATE1 *
    REPORT ZMM_PO_CREATE1 .
    data : POHEADER like BAPIMEPOHEADER occurs 0 with header line,
    POHEADERX like BAPIMEPOHEADERX occurs 0 with header line,
    POITEM like BAPIMEPOITEM occurs 0 with header line,
    POITEMX like BAPIMEPOITEMX occurs 0 with header line,
    POESLLC like BAPIESLLC occurs 0 with header line,
    POACCOUNT like BAPIMEPOACCOUNT occurs 0 with header line,
    POACCOUNTX like BAPIMEPOACCOUNTX occurs 0 with header line,
    POCONDHEADER like BAPIMEPOCONDHEADER occurs 0 with header line,
    POCONDHEADERX like BAPIMEPOCONDHEADERX occurs 0 with header line,
    POCOND like BAPIMEPOCOND occurs 0 with header line,
    RETURN like BAPIRET2 occurs 0 with header line.
    data : po_no(10).
    data : begin of it_head occurs 0,
    ref(10),
    bsart like ekko-bsart,
    lifnr like ekko-lifnr,
    ekorg like ekko-ekorg,
    ekgrp like ekko-ekgrp,
    bukrs like ekko-bukrs,
    verkf like ekko-verkf,
    telf1 like ekko-telf1,
    ihrez like ekko-ihrez,
    unsez like ekko-unsez,
    kdatb(10),
    kdate(10),
    end of it_head.
    data : begin of it_det occurs 0,
    ref(10),
    knttp like ekpo-knttp,
    pstyp like ekpo-pstyp,
    txz01 like ekpo-txz01,
    matkl like ekpo-matkl,
    werks like ekpo-werks,
    afnam like ekpo-afnam,
    ktext1 like esll-ktext1,
    srvpos like esll-srvpos,
    frmval1 like esll-frmval1,
    frmval2 like esll-frmval2,
    menge like esll-menge,
    kostl like eskn-kostl,
    sakto like eskn-sakto,
    zzcode like eskn-zzcode,
    kbetr like konv-kbetr,
    end of it_det.
    data : c_col1 TYPE i VALUE '0001',
    c_col2 TYPE i VALUE '0002',
    c_col3 TYPE i VALUE '0003',
    c_col4 TYPE i VALUE '0004',
    c_col5 TYPE i VALUE '0005',
    c_col6 TYPE i VALUE '0006',
    c_col7 TYPE i VALUE '0007',
    c_col8 TYPE i VALUE '0008',
    c_col9 TYPE i VALUE '0009',
    c_col10 TYPE i VALUE '0010',
    c_col11 TYPE i VALUE '0011',
    c_col12 TYPE i VALUE '0012',
    c_col13 TYPE i VALUE '0013',
    c_col14 TYPE i VALUE '0014',
    c_col15 TYPE i VALUE '0015',
    c_col16 TYPE i VALUE '0016'.
    data : v_currentrow type i,
    v_currentrow1 type i.
    data : itab_head like ALSMEX_TABLINE occurs 0 with header line,
    itab_det like ALSMEX_TABLINE occurs 0 with header line.
    data : file_head type RLGRAP-FILENAME,
    file_item type RLGRAP-FILENAME.
    file_head = 'C:Documents and SettingsDesktophead.xls'.
    file_item = 'C:Documents and SettingsDesktopitem.xls'.
    CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
    EXPORTING
    filename = file_head
    i_begin_col = 1
    i_begin_row = 1
    i_end_col = 12
    i_end_row = 50
    tables
    intern = itab_head
    EXCEPTIONS
    INCONSISTENT_PARAMETERS = 1
    UPLOAD_OLE = 2
    OTHERS = 3
    IF sy-subrc 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
    EXPORTING
    filename = file_item
    i_begin_col = 1
    i_begin_row = 1
    i_end_col = 16
    i_end_row = 50
    tables
    intern = itab_det
    EXCEPTIONS
    INCONSISTENT_PARAMETERS = 1
    UPLOAD_OLE = 2
    OTHERS = 3
    IF sy-subrc 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    IF itab_head[] IS INITIAL.
    WRITE:/ 'No Header Data Exists '.
    STOP.
    ELSE.
    sort itab_head by row col.
    read table itab_head index 1.
    v_currentrow = itab_head-row.
    loop at itab_head.
    if itab_head-row ne v_currentrow.
    APPEND it_head.
    v_currentrow = itab_head-row.
    ENDIF.
    CASE itab_head-col.
    WHEN c_col1.
    it_head-ref = itab_head-value.
    WHEN c_col2.
    it_head-bsart = itab_head-value.
    WHEN c_col3.
    it_head-lifnr = itab_head-value.
    WHEN c_col4.
    it_head-ekorg = itab_head-value.
    WHEN c_col5.
    it_head-ekgrp = itab_head-value.
    WHEN c_col6.
    it_head-bukrs = itab_head-value.
    WHEN c_col7.
    it_head-verkf = itab_head-value.
    WHEN c_col8.
    it_head-telf1 = itab_head-value.
    WHEN c_col9.
    it_head-ihrez = itab_head-value.
    WHEN c_col10.
    it_head-unsez = itab_head-value.
    WHEN c_col11.
    it_head-kdatb = itab_head-value.
    WHEN c_col12.
    it_head-kdate = itab_head-value.
    ENDCASE.
    ENDLOOP.
    APPEND it_head.
    CLEAR it_head.
    ENDIF.
    IF itab_det[] IS INITIAL.
    WRITE:/ 'No Item Data Exists '.
    STOP.
    ELSE.
    sort itab_det by row col.
    read table itab_det index 1.
    v_currentrow1 = itab_det-row.
    loop at itab_det.
    if itab_det-row ne v_currentrow1.
    APPEND it_det.
    v_currentrow1 = itab_det-row.
    ENDIF.
    CASE itab_det-col.
    WHEN c_col1.
    it_det-ref = itab_det-value.
    WHEN c_col2.
    it_det-knttp = itab_det-value.
    WHEN c_col3.
    it_det-pstyp = itab_det-value.
    WHEN c_col4.
    it_det-txz01 = itab_det-value.
    WHEN c_col5.
    it_det-matkl = itab_det-value.
    WHEN c_col6.
    it_det-werks = itab_det-value.
    WHEN c_col7.
    it_det-afnam = itab_det-value.
    WHEN c_col8.
    it_det-srvpos = itab_det-value.
    WHEN c_col9.
    it_det-ktext1 = itab_det-value.
    WHEN c_col10.
    it_det-frmval1 = itab_det-value.
    WHEN c_col11.
    it_det-frmval2 = itab_det-value.
    WHEN c_col12.
    it_det-menge = itab_det-value.
    WHEN c_col13.
    it_det-kostl = itab_det-value.
    WHEN c_col14.
    it_det-sakto = itab_det-value.
    WHEN c_col15.
    it_det-zzcode = itab_det-value.
    WHEN c_col16.
    it_det-kbetr = itab_det-value.
    ENDCASE.
    ENDLOOP.
    APPEND it_det.
    CLEAR it_det.
    ENDIF.
    loop at it_head.
    poheader-doc_type = it_head-bsart.
    poheader-vendor = it_head-lifnr.
    poheader-purch_org = it_head-ekorg.
    poheader-pur_group = it_head-ekgrp.
    poheader-comp_code = it_head-bukrs.
    poheader-sales_pers = it_head-verkf.
    poheader-telephone = it_head-telf1.
    poheader-REF_1 = it_head-ihrez.
    poheader-OUR_REF = it_head-unsez.
    poheader-VPER_START = it_head-kdatb.
    poheader-VPER_END = it_head-kdate.
    loop at it_det where ref = it_head-ref.
    poitem-acctasscat = it_det-knttp.
    poitem-item_cat = it_det-pstyp.
    poitem-short_text = it_det-txz01.
    poitem-matl_group = it_det-matkl.
    poitem-plant = it_det-werks.
    poitem-PREQ_NAME = it_det-afnam.
    POESLLC-SERVICE = it_det-srvpos.
    POESLLC-SHORT_TEXT = it_det-ktext1.
    POESLLC-FORM_VAL1 = it_det-frmval1.
    POESLLC-FORM_VAL2 = it_det-frmval2.
    POESLLC-QUANTITY = it_det-menge.
    POACCOUNT-COSTCENTER = it_det-kostl.
    POACCOUNT-GL_ACCOUNT = it_det-sakto.
    POCONDHEADER-COND_TYPE = 'R000'.
    POCONDHEADER-COND_VALUE = it_det-kbetr.
    endloop.
    endloop.
    poheaderx-doc_type = 'X'.
    poheaderx-vendor = 'X'.
    poheaderx-purch_org = 'X'.
    poheaderx-pur_group = 'X'.
    poheaderx-comp_code = 'X'.
    poheaderx-sales_pers = 'X'.
    poheaderx-telephone = 'X'.
    poheaderx-REF_1 = 'X'.
    poheaderx-OUR_REF = 'X'.
    poheaderx-VPER_START = 'X'.
    poheaderx-VPER_END = 'X'.
    poitemx-acctasscat = 'X'.
    poitemx-item_cat = 'X'.
    poitemx-short_text = 'X'.
    poitemx-matl_group = 'X'.
    poitemx-plant = 'X'.
    poitemx-PREQ_NAME = 'X'.
    *POESLLCx-SHORT_TEXT = 'X'.
    POACCOUNTx-COSTCENTER = 'X'.
    POACCOUNTx-GL_ACCOUNT = 'X'.
    POCONDHEADER-cond_type = 'X'.
    CALL FUNCTION 'BAPI_PO_CREATE1'
    EXPORTING
    poheader = poheader
    POHEADERX = poheaderx
    POADDRVENDOR =
    TESTRUN =
    MEMORY_UNCOMPLETE =
    MEMORY_COMPLETE =
    POEXPIMPHEADER =
    POEXPIMPHEADERX =
    VERSIONS =
    NO_MESSAGING =
    NO_MESSAGE_REQ =
    NO_AUTHORITY =
    NO_PRICE_FROM_PO =
    IMPORTING
    EXPPURCHASEORDER = po_no
    EXPHEADER =
    EXPPOEXPIMPHEADER =
    TABLES
    RETURN = return
    POITEM = poitem
    POITEMX = poitemx
    POADDRDELIVERY =
    POSCHEDULE =
    POSCHEDULEX =
    POACCOUNT = poaccount
    POACCOUNTPROFITSEGMENT =
    POACCOUNTX = poaccountx
    POCONDHEADER = pocondheader
    POCONDHEADERX = pocondheaderx
    POCOND =
    POCONDX =
    POLIMITS =
    POCONTRACTLIMITS =
    POSERVICES = poesllc
    POSRVACCESSVALUES =
    POSERVICESTEXT =
    EXTENSIONIN =
    EXTENSIONOUT =
    POEXPIMPITEM =
    POEXPIMPITEMX =
    POTEXTHEADER =
    POTEXTITEM =
    ALLVERSIONS =
    POPARTNER =
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
    WAIT =
    IMPORTING
    RETURN =
    if sy-subrc = 0.
    loop at return.
    write return-MESSAGE_V1.
    write po_no.
    endloop.
    endif.
    Also check this link
    [Service Order through BAPI|Service PO creation with BAPI;

  • Nfs mount point does not allow file creations via java.io.File

    Folks,
    I have mounted an nfs drive to iFS on a Solaris server:
    mount -F nfs nfs://server:port/ifsfolder /unixfolder
    I can mkdir and touch files no problem. They appear in iFS as I'd expect. However if I write to the nfs mount via a JVM using java.io.File encounter the following problems:
    Only directories are created ? unless I include the user that started the JVM in the oinstall unix group with the oracle user because it's the oracle user that writes to iFS not the user that creating the files!
    I'm trying to create several files in a single directory via java.io.File BUT only the first file is created. I've tried putting waits in the code to see if it a timing issue but this doesn't appear to be. Writing via java.io.File to either a native directory of a native nfs mountpoint works OK. ie. Junit test against native file system works but not against an iFS mount point. Curiously the same unit tests running on PC with a windows driving mapping to iFS work OK !! so why not via a unix NFS mapping ?
    many thanks in advance.
    C

    Hi Diep,
    have done as requested via Oracle TAR #3308936.995. As it happens the problem is resolved. The resolution has been not to create the file via java.io.File.createNewFile(); before adding content via an outputStream. if the File creation is left until the content is added as shown below the problem is resolved.
    Another quick question is link creation via 'ln -fs' and 'ln -f' supported against and nfs mount point to iFS ? (at Operating System level, rather than adding a folder path relationship via the Java API).
    many thanks in advance.
    public void createFile(String p_absolutePath, InputStream p_inputStream) throws Exception
    File file = null;
    file = new File(p_absolutePath);
    // Oracle TAR Number: 3308936.995
    // Uncomment line below to cause failure java.io.IOException: Operation not supported on transport endpoint
    // at java.io.UnixFileSystem.createFileExclusively(Native Method)
    // at java.io.File.createNewFile(File.java:828)
    // at com.unisys.ors.filesystemdata.OracleTARTest.createFile(OracleTARTest.java:43)
    // at com.unisys.ors.filesystemdata.OracleTARTest.main(OracleTARTest.java:79)
    //file.createNewFile();
    FileOutputStream fos = new FileOutputStream(file);
    byte[] buffer = new byte[1024];
    int noOfBytesRead = 0;
    while ((noOfBytesRead = p_inputStream.read(buffer, 0, buffer.length)) != -1)
    fos.write(buffer, 0, noOfBytesRead);
    p_inputStream.close();
    fos.flush();
    fos.close();
    }

  • BAPI used to fetch / display Documents from Repository

    Hi
    Please let me know the BAPI used to fetch / dispaly Data from DMS Repository.
    Also, do let me know the inputs required.
    I have tried - BAPI_DOCUMENT_CHECKOUTVIEW (but while executing is always displays - 300
    The Knowledge Provider is using document type LGL as a storage system)
    Inputs given -
    Documenttype - LGL
    Documentnumber - 10000000003
    DocumentPart - 000
    DocumentVersion - 00
    Originaltype - 0 (im not sure if zero is correct)
    Getstructure - 1
    Original Path - blank
    HostName - blank
    Get Header - X
    Thanks
    Prashant

    Thanks Arun.
    Able to download file using these BAPI's from SE37.
    One query - It is downloading files in name of user (original files name not getting downloaded)
    Eg:, My file name was demo.docx but  is downloaded as myusername.doc
    Further, i hope these bapi can be called via RFC (using Java Code).
    Thanks Again.
    Regards
    HI Arun
    Further to my earlier Mail, I'm not able to upload the same using Java Code, getting the error -
    Type ::::::::E
    Message ::::::::File d:\dms\z_IPI_PRASHANT01.doc cannot be created
    While Checking the Trace in SM59, got the following error -
    Trace file opened at 20111010 142232 India Standard Time, SAP-REL 701,0,134
    ======> cannot open SAPGUI
    ABAP Programm: SAPLSYSE (Transaction: )
    User: IPI_PRASHANT (Client: 220)
    Destination: SAPFTP (handle: 3, , )
    SERVER> RFC Server Session (handle: 1, 43220900, {5D1DF3E0-ACBD-F11F-8EA0-00A0D1
    SERVER> Caller host:
    SERVER> Caller transaction code:  (Caller Program: java)
    SERVER> Called function module: RFC_START_PROGRAM
    Error RFCIO_ERROR_SYSERROR in abrfcpic.c : 1742
    FUNCTION: 'exec_sapgui'
    cannot open SAPGUI
    PROG =sapftp erpdev sapgw00 43232164 IDX=4
    Please helpe in getting this sorted out.
    I have been tring the same now for more than a month.
    Regards
    Edited by: Prashantroy on Oct 10, 2011 2:37 PM

Maybe you are looking for