Is it possible to pass personnel number in BAPI_ACC_INVOICE_RECEIPT_POST

Hi All,
We are using an external document image system where we scan and code vendor invoices. To send the invoices to our SAP system we will use BAPI_ACC_INVOICE_RECEIPT_POST. Unfortunately we are missing the possibility to pass <b>personnel number</b>. This is an important attribute for us, e.g. with learning and education cost. Is there a simple way to pass this information?
Regards,
Gerrit

Hi Romeo,
In BAPI_ACC_DOCUMENT_POST table EXTENSION1 is available. Fields you want to pass, but which are not available in one of the other tables, you can pass via the EXTENSION1 table. In the User Exit of the BAPI you will have to map these fields to the required fields.
For example, in BAPI_ACC_INVOICE_RECEIPT_POST we have now activated User Exit ZXACCU15.
Source in the user exit:
<i>* Post the personal number and partner bank type
from the EXTENSION to the ACCIT data
structure for the NL users only.
  DATA: wa_extenion LIKE bapiextc.
  DATA: wa_accit    LIKE accit.
  DATA: h_index     LIKE sy-tabix.
  LOOP AT extension INTO wa_extenion
                    WHERE field2 = 'PERNR'
                    OR    field2 = 'BVTYP'.
    READ TABLE t_accit INTO wa_accit
                       WITH KEY posnr = wa_extenion-field1(10).
    IF sy-subrc = 0 AND wa_accit-bukrs(2) EQ 'NL'.
      h_index = sy-tabix.
      IF wa_extenion-field2 = 'PERNR'.
        wa_accit-pernr = wa_extenion-field3(8).
        MODIFY t_accit FROM wa_accit
                       INDEX h_index
                       TRANSPORTING pernr.
      ELSEIF wa_extenion-field2 = 'BVTYP'.
        wa_accit-bvtyp = wa_extenion-field3(4).
        MODIFY t_accit FROM wa_accit
                       INDEX h_index
                       TRANSPORTING bvtyp.
      ENDIF.
    ENDIF.
  ENDLOOP.</i>
Table EXTENSION1 has 4 fields which you can use to your own needs. In my example we use field1 for the itemno_acc, the item number in the other table where the extension is needed. Field2 is the fieldname where the value (from field3) has to be placed. We do not use field4.
Example
FIELD1        FIELD2     FIELD3     FIELD4
0000000010 BVTYP     USD     
0000000020 PERNR     99999999     
Unfortunately I do not know how to activate a user exit, because in our case it was already there.
Hope this is of any help,
Regards
Gerrit

Similar Messages

  • How I can pass from an iView SAP BW 3x the personnel number to a report BI

    Good Afternoon.
    I need pass as parameter the personnel number of the user that entry in the portal to a report BI.
    I did the following steps for created the iview in the portal:
    [Steps for create the iview|http://www.freeimagehosting.net/uploads/cc5306da6f.jpg]
    In the properties of the iview of have the following url:
    BEx Web Application Query String = http://10.4.33.133:8000/SAP/BW/BEX?&VARID=&VAR_ID_2=ZVEMPLEADO++++++++++++++++++++0004&VAR_VALUE_LOW_EXT_2=00000058&INFOCUBE=ZPA_C01&QUERY=ZPA_C01_Q006
    In this moment i have the value for the personnel number fixed with 00000058, But i want know What is name of the variable that i must use for not put a value fixed and this can work for any employee.
    How can pass this parameter?
    I test with <PERNR>
    BEx Web Application Query String = http://10.4.33.133:8000/SAP/BW/BEX?&VARID=&VAR_ID_2=ZVEMPLEADO++++++++++++++++++++0004&VAR_VALUE_LOW_EXT_2=<PERNR>&INFOCUBE=ZPA_C01&QUERY=ZPA_C01_Q006
    But this not work .
    Thanks in advance for your help
    Best Regards

    Good Night.
    Anyone can help me with this issue , please
    Thank in advance for your help-
    Regards

  • 2.1 EA2: is it possible to pass current line number to external tool

    When I define external tools (in Tools / External Tools...) I can pass current file name and directory to my external program.
    Is it also possible to pass current line number (where is my cursor in open file) to external program as a parameter?
    If not then it would be a feature request from me :)
    And also - is it possible to develop SQL Developer extensions for syntax color coding of other file types (meaning other than PL/SQL files)?

    raymonds,
    For line numbers, we cannot do it at the moment as it is not exposed in that API, however, you can request it on http://sqldeveloper.oracle.com at the feature request station
    For color coding for another language, you can develop a hilighting plugin, but we do not have an easy way of associating the plugin with an editor for a specific file type. Again this would be a feature request.
    Remember, all these get evaluated each month and assigned into Enhancements for the tool. If enough folks vote for the feature, it is highly likely it will appear.
    Barry

  • Is It Possible To Create Different Personnel Number For One Employee

    HI Experts,
            My Client need to get Different Personnel number for one employee,i.e for Trainee one Personnel number need to generate and same person when moving from Trainee to Probation another new personnel number should generate and again when same person move from Probation to Permanent another new personnel number should generate.
    1. How to generate 3 different Personnel number for One employee?
    2. How these 3 Personnel number should get linked, if want to get report for this one employee?
    Kindly help me.
    Thanks,
    Lavanya
    Message was edited by: Sikindar A

    Hi Lavanya,
    Your requirement can be fulfilled but not recommended...
    As you want to generate different position number at different stage of employment....
    i.e Trainee to Probation to Permanent...
    First go for Trainee Position Hiring ....  and generate first Number Say 5000000
    Then suppose employee complete training after 1 Yrs.. then again go PA 40 enter date as 01.01.2015 say... & execute... & give Ref. Personnel Number (5000000) & different position number... this time...
    This will link up all the personnel date from previous hiring record... & as per your need you can modify it.... Finally one more number be generated....
    Similarly,, you can do for Permanent employee...
    Once training or Probation period gets completed you can lock/ separate that employee  number
    Report ...
    You can get necessary details in IT0031...& with different Position numbers which you will using at different stage of hiring...
    Hope this should sort your issue..
    Regards,
    Veeram

  • Query on personnel number

    Dear Experts,
    I want the internal Personnel Number to be generated after the Personal Data information i.e IT0002. Is that feasible?
    Right now the number is generated after the action screen is executed then we fill the IT 0001, 0002.
    Thanks & Regards
    Ashwani Gupta

    Hi Ashwani,
    I don't think that would be possible.
    In table T529A it is impossible for a combination of function code Initial hiring and "Update 0000" checkbox unclicked.
    Thus, you at least need the first screen 0000.
    When you update the entries in this screen and pass to the next screen, the system needs to store the values entered into the database tables. However, without a key (personnel number in this case) this store procedure is impossible.
    Thus, technically speaking, I don't think there is a way of achieving what you require.
    Best wishes,
    Dilek

  • Is possible to pass array/list as parameter in TopLink StoredProcedureCall?

    Hi, We need to pass an array/List/Vector of values (each value is a 10 character string) into TopLink's StoredProcedureCall. The maximum number of elements on the list is 3,000 (3,000 * 10 = 30,000 characters).
    This exposed two questions:
    1. Is it possible to pass a Vector as a parameter in TopLink's StoredProcedureCall, such as
    StoredProcedureCall call = new StoredProcedureCall();
    call.setProcedureName("STORED_PROCEDURE_NAME");
    call.addNamedArgument("PERSON_CODE");
    Vector strVect = new Vector(3000);
    strVect.add(“ab-gthhjko”);
    strVect.add(“cd-gthhjko”);
    strVect.add(“ef-gthhjko”);
    Vector parameters = new Vector();
    parameters.addElement(strVect);
    session.executeQuery(query,parameters);
    2. If the answer on previous question is yes:
    - How this parameter has to be defined in Oracle’s Stored Procedure?
    - What is the maximum number of elements/bytes that can be passed into the vector?
    The best way that we have found so far was to use single string as a parameter. The individual values would be delimited by comma, such as "ab-gthhjko,cd-gthhjko,ef-gthhjko..."
    However, in this case concern is the size that can be 3,000 * 11 = 33, 000 characters. The maximum size of VARCHAR2 is 4000, so we would need to break calls in chunks (max 9 chunks).
    Is there any other/more optimal way to do this?
    Thanks for your help!
    Zoran

    Hello,
    No, you cannot currently pass a vector of objects as a parameter to a stored procedure. JDBC will not take a vector as an argument unless you want it to serialize it (ie a blob) .
    The Oracle database though does have support for struct types and varray types. So you could define a stored procedure to take a VARRAY of strings/varchar, and use that stored procedure through TopLink. For instance:
    StoredProcedureCall call = new StoredProcedureCall();
    call.setProcedureName("STORED_PROCEDURE_NAME");
    call.addNamedArgument("PERSON_CODE");
    oracle.sql.ArrayDescriptor descriptor = new oracle.sql.ArrayDescriptor("ARRAYTYPE_NAME", dbconnection);
    oracle.sql.ARRAY dbarray = new oracle.sql.ARRAY(descriptor, dbconnection, dataArray);
    Vector parameters = new Vector();
    parameters.addElement(dbarray);
    session.executeQuery(query,parameters);This will work for any values as long as you are not going to pass in null as a value as the driver can determine the type from the object.
    dataArray is an Object array consisting of your String objects.
    For output or inoutput parameters you need to set the type and typename as well:
      sqlcall.addUnamedInOutputArgument("PERSON_CODE", "PERSON_CODE", Types.ARRAY, "ARRAYTYPE_NAME"); which will take a VARRAY and return a VARRAY type object.
    The next major release of TopLink will support taking in a vector of strings and performing the conversion to a VARRAY for you, as well as returning a vector instead of a VARRAY for out arguments.
    Check out thread
    Using VARRAYs as parameters to a Stored Procedure
    showing an example on how to get the conection to create the varray, as well as
    http://www.oracle.com/technology/sample_code/tech/java/codesnippet/jdbc/varray/index.html on using Varrays in Oracle, though I'm sure the database docs might have more information.
    Best Regards,
    Chris

  • How to get personnel number of the user in the wd java code in Leave reques

    Hi all,
    we are using the standard Leave Request Applicatin ESS.
    can any one please tell me how to get the personnel number of the user in the WD java code?
    cause i have pass the pernr number to a bapi and get the details.
    please help me its urgent.
    thanks in advance.

    Hi Madhu,
    Create a model for the particular bapi in wd java and acess it in your component. Then pernr parameter will be available in the context and u can pass value for the parameter (pernr) to the model and get the output.
    If you hav any doubt, please let me know.
    Regards,
    Jithin

  • Number range 01 is internal, do not enter a personnel number

    Hi,
    Im using PA40, and when I propose a personal number, the transaction sends this message "Number range 01 is internal, do not enter a personnel number"...  BUT I NEED to propose a personal number for my employees!!!... is it possible???!!!...
    Can anybody help me?...
    Thanks in advance!.
    Alfredo.

    hi alfredo
    see "Number range 01 is internal, do not enter a personnel number"... " if the message comes like this that means that particular number range is set for the internal number range i think so you are giving the personnel number if you remove that personnel number in IT0000 then save this case if you want to take the personnel number internal. if you want to take your personnel number then go to pa04 and assign personnel number range make it as external in the last column you can see there check box just click on that check box. and assign this same personnel number range (for ex you have given in pa04 07-00000000-10000000) the 07 in my example you have to assign in the numkr feature in TCODE PE03. in that assign countrygrouping-company code-personnel area-personnel subarea-ee group-eesubgroup- number range 07. i hope it is clear
    bye
    naveen

  • Personnel number in sales customer master records

    Hi
    my users want to add an ID number in  the customer master data, currently they are using one of the name line to enter ID number.
    It is possible to add a personnel number for a customer? because i heard someone say you can link a personnel number to a customer.
    can someone please tell me how that can be done, step by step

    Dear Admire,
    Try this with the help of ABAPer
    In the IMG you can find some BADI's for customer master data through this Path,
    IMG>Financial accounting>Account Receivables and payable->Customer accounts>Master data>Preparations for Creating Customer Master Data>Adoption of Customer's Own Master Data Fields
    -->Prepare Modification-Free Enhancement in Customer Master Record
    -->Business Add-In: Processing of Master Data Enhancements
    -->Business Add-In: Customer Subscreens
    -->Business Add-In: Processing of Master Data Enhancements with Batch Input
    I hope this will help you,
    Regards,
    Murali.

  • How to pass version number of process using API's

    Locator locator = new Locator("default","bpel");
         IDeliveryService deliveryService = (IDeliveryService) locator.lookupService(IDeliveryService.SERVICE_NAME );
         // Construct a normalized message and send to Oracle BPEL Process Manager
    NormalizedMessage nm = new NormalizedMessage();
    nm.addPart("payload", xml);
    // Initiate the BPEL process
    deliveryService.post("AsyncProc1", "initiate", nm);
    When I run this code, I get the following error:
    09/03/31 15:07:46.953 workflowform: Servlet error
    ORABPEL-02178
    Process not found.
    The BPEL process "AsyncProc1", revision "" has not been loaded. Either the process was not initialized properly or the process has
    been disabled.
    Please consult your administrator regarding this error. The application server logs may provide more information regarding this error
    I had created many versions of the same process. I need to use version 4.0 of this workflow. Is it possible to pass the version number while initiating the process?
    Thanks.

    Hi Badri,
    I think you can identify the bpel with different versions as follows:
    bpelprocessName_1.1 or bpelprocessName_v1.1
    either one of these should be correct.
    Thanks
    Saikrishna

  • Personnel number in CATS_DA with BAdI

    I would like to fill the personnel number automaticly in transaction CATS_DA.
    Re: Select-options in CATS_DA using BAdI gave me some hints, but it's still not working the way it should.
    Does anyone has some example code for the method INITIALIZATION and how to pass values like PERNR?

    I would like to fill the personnel number automaticly in transaction CATS_DA.
    Re: Select-options in CATS_DA using BAdI gave me some hints, but it's still not working the way it should.
    Does anyone has some example code for the method INITIALIZATION and how to pass values like PERNR?

  • Is it possible to pass blob from java to PL/SQL ?

    Hi, I try to bind a PL/SQL function who return a blob to a java class :
    Signature of java method :
        public static Blob getBLOB(int aId, String aJDBC) {Create PL/SQL function :
    create or replace function aa_java(myPiId in number,myPiJDBC in varchar2) return blob
    as language java
    name 'zip.ReadBLOB.getBLOB(int,java.lang.String) return java.sql.Blob';
    /In java code, my blob has the right size (150 Ko) but in PL/SQL, size = 0 !!!
    Any ideas ?

A: Is it possible to pass blob from java to PL/SQL ?

Thank you, but I think I have a Java problem...
Here is my code :
package zip;
import java.sql.*;
import oracle.jdbc.OracleDriver;
import oracle.sql.BLOB;
public class ReadBLOB {
    public static BLOB getBLOB(int aId, String aJDBC) {
        BLOB vBlob = null;
        try {
            DriverManager.registerDriver(new OracleDriver());
            Connection connection = DriverManager.getConnection(
                aJDBC,
            PreparedStatement stat = connection
                .prepareStatement("select image from aa_blob where id="+aId);
            ResultSet rs = stat.executeQuery();
            if (rs.next()) {
                vBlob = (BLOB) rs.getBlob(1);
                System.out.println("Taille 1 : "+vBlob.length());
            connection.close();
        } catch (Exception e) {
            e.printStackTrace();
        return vBlob;
    public static void main(String[] args) throws Exception {
        BLOB vBlob = getBLOB(1, "jdbc:oracle:thin:@vdn-ceg5:1521:DEV5");
        System.out.println("Taille 2 : "+vBlob.getLength());
}When I run the main method, I have :
Taille 1 : 150260
Taille 2 : 86
!!!!????!!!!????

Thank you, but I think I have a Java problem...
Here is my code :
package zip;
import java.sql.*;
import oracle.jdbc.OracleDriver;
import oracle.sql.BLOB;
public class ReadBLOB {
    public static BLOB getBLOB(int aId, String aJDBC) {
        BLOB vBlob = null;
        try {
            DriverManager.registerDriver(new OracleDriver());
            Connection connection = DriverManager.getConnection(
                aJDBC,
            PreparedStatement stat = connection
                .prepareStatement("select image from aa_blob where id="+aId);
            ResultSet rs = stat.executeQuery();
            if (rs.next()) {
                vBlob = (BLOB) rs.getBlob(1);
                System.out.println("Taille 1 : "+vBlob.length());
            connection.close();
        } catch (Exception e) {
            e.printStackTrace();
        return vBlob;
    public static void main(String[] args) throws Exception {
        BLOB vBlob = getBLOB(1, "jdbc:oracle:thin:@vdn-ceg5:1521:DEV5");
        System.out.println("Taille 2 : "+vBlob.getLength());
}When I run the main method, I have :
Taille 1 : 150260
Taille 2 : 86
!!!!????!!!!????

  • Personnel number

    Hi everybody,
    can anybody solve my problem? In one organisation we hired one person, on that joining day we created personnel number all hiring related activity in Master data, now that employee is inactive he is skipped from this job, Now my client is asking for assign a new employee for the same personnel number, how can its possible for creating on the same personnel number for different employee? waiting for suggestion through i can come out with this problem-- waiting for solution

    snehavani,
    what MOHAN and SEVA said is correct.
    before doing this confirm with your client that the master data of that employee is not required.
    then delete all the infotypes through PA30UtilituesDelete personnel number or you can also use T.Code: PU00
    if your client says that he want to maintain the master data of that employee then you suggest your client that we can not give the same pernr to the new hire.
    regards,
    mohammed

  • Personnel number cost center

    Dear All,
    My requirement is I wanted to track personnel number wise expenses.So I am assigning cost center to personnel number through PP01 (A 011).System is picking up cost center correctly in PA30 but now when I am passing FI entry & when I give personnel number to that GL, system is not picking cost center maintened in PA30.
    Why it so ? Is there any other customisation I have to do ?
    Regards,
    Abhijit

    Create employees as vendors and assign the personnel number in FK01
    field
    LFB1-PERNR
    Regards,
    Ravi

  • Personnel number skipped when posting

    hi experts..
    I got one big problem in my head. When I post to FI (RPCIPE00) there are some personnel number skipped. I curious why this happened? What situation employee can be skipped?
    I never got problem like this before?
    Thanks in advance

    Hi Ahmad
    Just an idea: What about the possibility that for some employees no postings are necessary (no payment)?
    cheers,
    Benno

  • Maybe you are looking for