RFC call do not return any value

Hi All,
I have an RFC written in one R/3 system(call center R/3) and i am calling this RFC in the ERP system.
If i try to run the RFC locally in the call center system ,it runs correctly and returns me proper values.
But when i try  to call it from other R/3 system(ERP) the RFC does not return value.(both cases i am passing same parameters).
Also , RFC parameters are defined with pass by value option.
I am not able to trace why this behaviour,can anyone pin point what could be the possible cause of error.
Thanks in advance,
Swati

No ,there i snot RFC connection problem ,i have checked it from SM59.
Neither do i get any dump or error of no authorization.In fact the sy-subrc after the RFC call is 0.
St22 do not have any trace for the same.
my RCC call is something like this,
IF dest <> ' '.
CALL FUNCTION 'Z_GET_CIC061' DESTINATION dest
                  EXPORTING
                       p_comp        = itab_cic-company
                       p_asc_code    = itab_cic-customer
                       p_wbill_no    = itab_cic-bill_no
                  IMPORTING
                       e_tr_no       = tr_no
                       e_model_code  = model_code
                       e_data_origin = data_origin
                 EXCEPTIONS
                         communication_failure = 1
                         system_failure        = 2.
ELSE.
            MESSAGE i000 WITH 'RFC Destination is empty!'.
            EXIT.
          ENDIF.
Can anyone please suggest whats wrong in the above code.
Also what is transaction RFC call?is it related to what i am using in the above code of mine.
Thanks in advance,
Swati

Similar Messages

  • Standar ws ProjectByPartyQueryResponse_In is not returning any values

    Hi gurus,
      I'm trying to use the standar webservice ProjectByPartyQueryResponse_In in our landscape in order to get all the projects related to the person responsible for the project but the web service is not returning any values.
    When I execute the service -using soapui- with the following values (or any other value for that matters):
    <PartyID>20000143</PartyID>
    <PartyRoleCode>ZA</PartyRoleCode>
    The web service always returns :
           <Log>
                <BusinessDocumentProcessingResultCode>5</BusinessDocumentProcessingResultCode>
                <MaximumLogItemSeverityCode>3</MaximumLogItemSeverityCode>
                <Item>
                   <TypeID>002(ECC_SE_COMMON)</TypeID>
                   <SeverityCode>3</SeverityCode>
                   <Note>No records returned for ZA 0020000143</Note>
                </Item>
             </Log>
    The party Id exists and also de party role code and there is at least one project that has that party with that role. I'm sure because I use other web service to find a project by id and in the result the project has the <Party> section with those values.
    I was looking for solutions, notes, threads in forums with no success, then i decided to debug the webservice and I did find the following line in the webservice code.
      SELECT objnr INTO TABLE it_data FROM ihpa
      WHERE  parvw = role_code AND
             parnr = party_id AND
             obtyp = 'PDN'.
    when that line executes the select always returns 0 values, then I look in the table IHPA using the SE16 without any filter and I found that my records exists!! but the select does not get it. I was wondering why the select is not working and then I filter the data in the SE16 using the same values that the query does
    for example:
    PARVW= ZA
    PARNR = 20000143
    OBTYP = PDN
    And I was surprised when the SE16 did not found any value even I was seeing in the previous screen with no filters!!!! And I supouse thats why the webservice is not working. I started making filters one by one, for example firts filtering just de PARVW = ZA and works, but when I filter just the PARNR =  20000143 the SE16 can't find any value, just when I put an * at the end of the number the SE16 returns all the values expected, Im guessing that the fields in the database has blanks at the end but this is a standar table and a standar program.
    Have any of you had the same problem? is there anything that I can do? does anyone knows if this is an unkown bug? becaus I could'n find any note on the marketplace.
    Any help would be appreciated.
    Gustavo Balboa

    Hi!
      The problem were solved but not using the Badi, because the badi only let you change the value of the var party_id and that var is declared as PARNR (of type numeric with length 10), and no mater wat you do the two 00 can´t be removed.
      We solved the problem with an enhancement point in the code at the method "party_get_data", look at the beginin and at the end. We just change the type of var used for party_id.. now we use a CHAR one insted the numeric used by the original code.
    And we repeat the select...
    Thank you very much for the help.
    METHOD party_get_data.
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""$"$SE:(1) Class CL_PRS_PROJECTPRJPARTYQR, Method PARTY_GET_DATA, Start                                                                                A
    $$-Start: (1)----
    $$
    ENHANCEMENT 1  ZPARTY_GET_DATA.    "active version
    DATA : WA_PARNR TYPE I_PARNR.
    DATA : WA_CHPAR(10) TYPE C.
    ENDENHANCEMENT.
    $$-End:   (1)----
    $$
      DATA :  temp_object_number TYPE ihpa-objnr,
              field1 TYPE char50,
              field2 TYPE char50,
              field_role TYPE char50,
              field_party TYPE char50,
              st_object_number TYPE TABLE OF bapiprexp.
      DATA : it_data TYPE TABLE OF st_data,
             wa_data LIKE LINE OF it_data,
             itab TYPE TABLE OF st_data,
             wa LIKE LINE OF itab,
             wa_project_details LIKE LINE OF project_details,
             null.
    Select Object number based on input Party and Role
      SELECT objnr INTO TABLE it_data FROM ihpa
      WHERE  parvw = role_code AND
             parnr = party_id AND
             obtyp = 'PDN'.
    Select Project ID based on input Object number
      LOOP AT it_data INTO wa_data.
        SELECT pspid post1 FROM proj INTO CORRESPONDING FIELDS OF wa_data
        WHERE  objnr = wa_data-pspid.                         "#EC CI_NOFIELD
        ENDSELECT.
        MOVE-CORRESPONDING wa_data TO wa.
        APPEND wa TO itab.
      ENDLOOP.
      IF sy-subrc <> 0.
        field_role = cl_wd_utilities=>get_otr_text_by_alias( 'PLM-SE_PRS_XI_PROXY/ROLE_CODE' ) .
        field_party = cl_wd_utilities=>get_otr_text_by_alias( 'PLM-SE_PRS_XI_PROXY/PARTY_ID' ) .
        CONCATENATE  field_role role_code_external INTO field1.
        CONCATENATE  field_party party_id INTO field2.
        MESSAGE e002(ecc_se_common) WITH field1 field2 INTO null.
        CALL FUNCTION 'PS_BAPI_MESSAGE_APPEND'
          TABLES
            return = party_return.
      ELSE.
        MESSAGE s082(ops_se_prs) INTO null.
        CALL FUNCTION 'PS_BAPI_MESSAGE_APPEND'
          TABLES
            return = party_return.
      ENDIF.
      LOOP AT itab INTO wa.
        MOVE-CORRESPONDING wa TO wa_project_details.
        APPEND wa_project_details TO project_details.
      ENDLOOP.
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""$"$SE:(2) Class CL_PRS_PROJECTPRJPARTYQR, Method PARTY_GET_DATA, End                                                                                A
    $$-Start: (2)----
    $$
    ENHANCEMENT 2  ZPARTY_GET_DATA.    "active version
      WA_CHPAR = party_id.
      SHIFT WA_CHPAR BY 2 PLACES.
      CLEAR party_return.
      REFRESH party_return.
      SELECT objnr INTO TABLE it_data FROM ihpa
      WHERE  parvw = role_code AND
             parnr = WA_CHPAR AND
             obtyp = 'PDN'.
    Select Project ID based on input Object number
      LOOP AT it_data INTO wa_data.
        SELECT pspid post1 FROM proj INTO CORRESPONDING FIELDS OF wa_data
        WHERE  objnr = wa_data-pspid.                         "#EC CI_NOFIELD
        ENDSELECT.
        MOVE-CORRESPONDING wa_data TO wa.
        APPEND wa TO itab.
      ENDLOOP.
      IF sy-subrc <> 0.
        field_role = cl_wd_utilities=>get_otr_text_by_alias( 'PLM-SE_PRS_XI_PROXY/ROLE_CODE' ) .
        field_party = cl_wd_utilities=>get_otr_text_by_alias( 'PLM-SE_PRS_XI_PROXY/PARTY_ID' ) .
        CONCATENATE  field_role role_code_external INTO field1.
        CONCATENATE  field_party party_id INTO field2.
        MESSAGE e002(ecc_se_common) WITH field1 field2 INTO null.
        CALL FUNCTION 'PS_BAPI_MESSAGE_APPEND'
          TABLES
            return = party_return.
      ELSE.
        MESSAGE s082(ops_se_prs) INTO null.
        CALL FUNCTION 'PS_BAPI_MESSAGE_APPEND'
          TABLES
            return = party_return.
      ENDIF.
      LOOP AT itab INTO wa.
        MOVE-CORRESPONDING wa TO wa_project_details.
        APPEND wa_project_details TO project_details.
      ENDLOOP.
    ENDENHANCEMENT.
    $$-End:   (2)----
    $$
    ENDMETHOD.

  • IE/ExternalInterface do not return any value if movie added with appendChild

    There is a problem with IE/ExternalInterface if movie is added to DOM f.ex appendChild. JavaScript functions are called but they do not return any value.
    MS first response was that this is 3rd party/Adobe problem.
    Fixing this with innerHTML is not the solution. Using here Any suggestions ?
    Simplified test case has
              var flashMovie = '<OBJECT id="testId" codeBase="http://fpdownload..
              // Works in IE and FF
              document.getElementById("testdiv").innerHTML = flashMovie;
              // ExternalInterface.call calls JS but does not return value in IE. Works in FF
              var tempDiv = document.createElement("div");   
              tempDiv.innerHTML = flashMovie;
              document.body.appendChild(tempDiv);
    Here is complete code
    http://pastebin.com/fbc0aa9a
    Here is AS3 code in for ajax.swf
    http://pastebin.com/d4efd47b
    -H

    You are right about that duplicate id of the movie in this example, but that is not case here.
    I appreciate if you try this and confirm that problem exist or any work-around.
    Here is more explanation to original post:
    In HTML is JavaScipt
    function fromJs()
         return "text from js..";
    that is called from AS3
    var s = ExternalInterface.call("fromJs");
    This "s" value and also ExternalInterface.objectID are null in AS3.
    Here example again only with non-working case without that duplicate id with innerHTML
    http://pastebin.com/f4e33af93
    and also movie with AS3 code is attached.
    Using plain innerHTML this case works
    document.getElementById("testdiv").innerHTML = '<OBJECT..
    and with appendChild does not work
    var tempDiv = document.createElement("div");
    tempDiv.innerHTML = "<OBJECT ..
    document.body.appendChild(tempDiv);

  • XMLTABLE function not returning any values if xml has attribute "xmlns"

    Hi,
    XMLTABLE function not returning any values if xml has attribute "xmlns". Is there way to get the values if xml has attribute as "xmlns".
    create table xmltest (id number(2), xml xmltype);
    insert into xmltest values(1,
    '<?xml version="1.0"?>
    <emps>
    <emp empno="1" deptno="10" ename="John" salary="21000"/>
    <emp empno="2" deptno="10" ename="Jack" salary="310000"/>
    <emp empno="3" deptno="20" ename="Jill" salary="100001"/>
    </emps>');
    insert into xmltest values(2,
    '<?xml version="1.0"?>
    <emps xmlns="http://emp.com">
    <emp empno="1" deptno="10" ename="John" salary="21000"/>
    <emp empno="2" deptno="10" ename="Jack" salary="310000"/>
    <emp empno="3" deptno="20" ename="Jill" salary="100001"/>
    </emps>');
    commit;
    SELECT a.*
    FROM xmltest,
    XMLTABLE (
    'for $i in /emps/emp
    return $i'
    PASSING xml
    COLUMNS empno NUMBER (2) PATH '@empno',
    deptno NUMBER (3) PATH '@deptno',
    ename VARCHAR2 (10) PATH '@ename',
    salary NUMBER (10) PATH '@salary') a
    WHERE id = 1;
    The above query returning results but below query is not returning any results because of xmlns attribute.
    SELECT a.*
    FROM xmltest,
    XMLTABLE (
    'for $i in /emps/emp
    return $i'
    PASSING xml
    COLUMNS empno NUMBER (2) PATH '@empno',
    deptno NUMBER (3) PATH '@deptno',
    ename VARCHAR2 (10) PATH '@ename',
    salary NUMBER (10) PATH '@salary') a
    WHERE id = 1;
    how to get rid out of this problem.
    Thanks,
    -Mani

    Added below one in xmltable, its working now.
    XmlNamespaces(DEFAULT 'http://emp.com')

  • UTL File not return any values in .CSV oracle plsql hrms

    Hello experts,
    We want to extract employee details from Core hrms with output as .csv file :
    i have created below package for utl but not return any values in csv file pls help me on this.:::
    CREATE OR REPLACE PACKAGE BODY APPS."XXPER_PAYROLL_XIR_PKG"
    AS
    procedure payroll_main (
    in_from_date IN date,
    in_to_date IN date,
    p_errbuf OUT VARCHAR2,
    p_retcode OUT NUMBER
    ) is
    cursor c_person is
    SELECT distinct ppf.person_id
    FROM per_person_types ppt,
    pay_payrolls_f pp,
    per_person_type_usages_f pptu,
    per_all_people_f ppf,
    per_all_assignments_f ppa
    WHERE ppf.person_id = pptu.person_id
    AND pptu.person_type_id = ppt.person_type_id
    AND ppt.user_person_type in ('Employee', 'Ex-employee' ,'Intern')
    AND ppf.person_id = ppa.person_id
    AND ppa.assignment_type = 'E'
    AND ppa.primary_flag = 'Y'
    AND ppa.payroll_id = pp.payroll_id
    -- and nvl(ppa.ass_attribute10, 'N') = 'Y' -- this is in Production
    AND pp.payroll_name = 'Calendar Payroll'
    AND trunc( ppf.last_update_date) between in_from_date and in_to_date
    AND trunc( ppa.last_update_date) between in_from_date and in_to_date
    AND trunc( ppt.last_update_date) between in_from_date and in_to_date
    AND trunc( pptu.last_update_date) between in_from_date and in_to_date
    AND trunc(sysdate) between ppf.effective_start_date and ppf.effective_end_date
    AND trunc(sysdate) between ppa.effective_start_date and ppa.effective_end_date
    AND trunc(sysdate) between ppf.effective_start_date and ppf.effective_end_date
    AND trunc(sysdate) between pptu.effective_start_date and pptu.effective_end_date
    AND ppf.employee_number <> 'NONE';
    v_person_id number;
    v_dom_eff_dt date;
    io_err_flag varchar2(1);
    io_err_desc varchar2(2000);
    io_record_update boolean;
    BEGIN
    dbms_output.put_line('in_from_date-' || in_from_date);
    dbms_output.put_line('in_to_date-' || in_to_date );
    open c_person;
    loop
    fetch c_person into v_person_id;
    exit when c_person%NOTFOUND;
    get_person_information( v_person_id ,
    in_from_date ,
    in_to_date ,
    io_err_flag ,
    io_err_desc );
    dbms_output.put_line('Per_id-' || v_person_id || ': ' || 'Payroll_main' || sqlcode || sqlerrm );
    end loop;
    close c_person;
    end payroll_main;
    PROCEDURE get_person_information(in_person_id IN number,
    in_from_date IN date,
    in_to_date IN date,
    io_err_flag IN OUT varchar2,
    io_err_desc IN OUT varchar2) is
    --v_service_date        DATE;
    v_data_file UTL_FILE.FILE_TYPE;
    v_record VARCHAR2(1000);
    v_header VARCHAR2(1000);
    v_record_mail VARCHAR2(1000);
    v_file_name VARCHAR2(100);
    v_file_name_mail VARCHAR2(100);
    v_ser_name VARCHAR2(50);
    v_dir VARCHAR2(100) :='XX_XIR_HR_PAY';
    v_con_req_id NUMBER;
    v_user_id NUMBER;
    v_resp_id NUMBER;
    v_resp_appl_id NUMBER;
    p_request_id NUMBER;
    P_status VARCHAR2(100);
    cursor c1 is
    SELECT ppf.person_id per_id,
    ppf.employee_number emp_num,
    ppf.first_name f_name,
    ppf.last_name l_name,
    ppf.national_identifier nat_id,
    ppf.date_of_birth dat_birth,
    ppf.sex sex_g,
    -- TO_DATE(ppf.attribute1,'DD-MON-YYYY') att_date,
    ppt.user_person_type per_type,
    ppf.email_address email_id,
    ppf.last_update_date last_upd_date
    FROM per_person_type_usages_f pptu,
    per_person_types ppt,
    per_people_f ppf
    WHERE ppf.person_id = in_person_id
    AND ppf.person_id = pptu.person_id
    AND pptu.person_type_id = ppt.person_type_id
    and trunc(ppf.last_update_date) between in_from_date and in_to_date
    and trunc( pptu.last_update_date) between in_from_date and in_to_date
    AND trunc( ppt.last_update_date) between in_from_date and in_to_date
    AND trunc(sysdate) between ppf.effective_start_date and ppf.effective_end_date
    AND trunc(sysdate) between pptu.effective_start_date and pptu.effective_end_date
    AND ppt.user_person_type in ('Employee', 'Ex-employee' ,'Intern')
    and ppt.system_person_type in ('EX_EMP', 'EMP') ;
    cursor c2 is
    SELECT substr(pa.address_line1, 1, 60) address_line1,
    substr(pa.address_line2, 1, 60) address_line2,
    pa.town_or_city city,
    pa.region_2,
    pa.postal_code,
    pa.region_1,
    pa.country,
    pa.date_from,
    nvl(pa.date_to, to_date('12/31/4712', 'mm/dd/yyyy')),
    pa.creation_date,
    pa.last_update_date
    FROM per_addresses pa
    WHERE pa.person_id = in_person_id
    AND pa.last_update_date between in_from_date and in_to_date
    AND trunc(sysdate) between date_from and nvl(date_to, to_date('12/31/4712', 'mm/dd/yyyy'))
    AND pa.primary_flag = 'Y';
    cursor c3 is
    SELECT pp.phone_number pnum
    FROM per_phones pp
    WHERE pp.parent_id = in_person_id
    AND pp.last_update_date between in_from_date and in_to_date
    AND trunc(sysdate) between date_from and nvl(date_to, to_date('12/31/4712', 'mm/dd/yyyy'))
    AND phone_type = 'H1';
    cursor c4 is
    SELECT ppos.period_of_service_id,
    ppos.date_start start_date,
    ppos.adjusted_svc_date,
    ppos.actual_termination_date,
    TO_DATE(ppos.attribute1,'yyyy/mm/dd hh24:mi:ss') last_day
    FROM per_periods_of_service ppos
    WHERE ppos.person_id = in_person_id
    AND ppos.last_update_date between in_from_date and in_to_date
    AND ppos.date_start = ( select max(date_start)
    from per_periods_of_service
    where person_id = in_person_id
    and trunc(date_start) <= trunc(sysdate) );
    Begin
    dbms_output.put_line('Directory:'||v_dir);
    BEGIN
    v_header := 'Employee Number'||CHR(9)
    ||'Fore Name'||CHR(9)
    ||'Sur Name'||CHR(9)
    ||'PPS'||CHR(9)
    ||'Date of birth'||CHR(9)
    ||'Gender'||CHR(9)
    ||'Person Type'||CHR(9)
    ||'Email Address'||CHR(9)
    ||'Last Update Date'||CHR(9)
    ||'Address1'||CHR(9)
    ||'Address2'||CHR(9)
    ||'Phone_Number'||CHR(9)
    ||'Start Date'||CHR(9)
    ||'Last Day';
    v_file_name :='XIR_DATA.xls';
    dbms_output.put_line('Excel_file_name:'||v_file_name);
    v_data_file :=UTL_FILE.FOPEN(v_dir,v_file_name, 'W');
    UTL_FILE.PUT_LINE(v_data_file,v_header);
    FOR i IN c1 LOOP
    FOR j IN c2 LOOP
    FOR k IN c3 LOOP
    FOR m IN c4 LOOP
    dbms_output.put_line(' excel file loop ');
    v_record:=i.emp_num||CHR(9)
    ||i.f_name||CHR(9)
    ||i.l_name||CHR(9)
    ||i.nat_id||CHR(9)
    ||i.dat_birth||CHR(9)
    ||i.sex_g||CHR(9)
    ||i.per_type||CHR(9)
    ||i.email_id||CHR(9)
    ||i.last_upd_date||CHR(9)
    || j.address_line1||CHR(9)
    ||j.address_line2||CHR(9)
    ||k.pnum||CHR(9)
    ||m.start_date||CHR(9)
    ||m.last_day;
    UTL_FILE.PUT_LINE(v_data_file,v_record);
    END LOOP;
    END LOOP;
    END LOOP;
    END LOOP;
    UTL_FILE.FCLOSE(v_data_file);
    dbms_output.put_line(' close excel file');
    EXCEPTION
    WHEN OTHERS THEN
    dbms_output.put_line('unable to create data excel file in proc1'||SUBSTR(SQLERRM,1,25));
    END;
    end get_person_information;
    END xxper_payroll_xir_pkg;
    EE Number     Forename     Surname     Dept     effective Start Date_dept     Start Date     Leave Date     effective Start Date_leave_Dt     Date of Birth     Address1     
    Thanks
    Edited by: 981527 on Feb 12, 2013 5:59 AM
    Edited by: 981527 on Feb 12, 2013 6:05 AM

    Did you make sure that the queries are returning values in the first place? From the last few lines, it looks like you have the header written to the file. Is that correct?
    -Karthik

  • Vendor Search not returning any values in SRM

    Hi Gurus
    Has any one come accross the following issue? Kindly advice.
    SRM 3.0
    Search Vendor (F4) not returning any value although Vendor exist in SRM (system allows to raise Cart if Requestioner keys in the Vendor Number manually, ie. Vendor has very much got replicated in SRM)
    Steps to replicate the issue
    1) Log on to SRM portal
    2) Expand the Go Shopping and click on Shop (Extended Form)
    3) Click on Create Limit Item
    4) Fill in the Description, Select the Product Category, Enter the Value Limit & Expected Value & fill in the required date
    5) To search for Supplier, click on the find button
    6) In the Find Vendor screen press the start button without entering any restriction
    7) System throws a message "No Vendor found"
    Kind regards,
    Mehul Shah

    Hi Muthu,
    Thanks for replying Muthu.
    Entries do exists in VENMAP.
    No filters are set while searching for Vendor.
    In fact, If I find the Vendor code from ERP and key in the vendor number in the Supplier field in SRM, it rightly picks up the vendor from the Vendor code.
    The only issue is....while I try to search for Supplier using the Supplier search functionality (by clicking on the binocular), the search functionality does not return any values (I put no restriction).
    By the way, Is there any missing Attribute in PPOMA_BBP that may be causing this?
    Regards,
    Mehul.

  • 'F4IF_INT_TABLE_VALUE_REQUEST' is not returning any value when selecting da

    *Hello Guys.*
    *I hv inserted search help in an field of screen exit in T-code IW21. Its showing value properly when i press f4 but when selecting value its nt returning any value properly....*
    *I am pasting code ..please help me out*
    *. Process of value Request*
    *field <fieldname>  module F4_AGENCY*
    *MODULE F4_AGENCY INPUT.*
      *DATA: IT_AGENCY TYPE TABLE OF ZF4_AGENCY WITH HEADER LINE,*
            *it_FIELD_TAB      type table of DFIES WITH HEADER LINE,*
            *IT_DDSHRETVAL TYPE TABLE OF DDSHRETVAL WITH HEADER LINE.*
      *REFRESH : IT_AGENCY[].*
    *clear : VIQMEL-ZZAGENCY.*
    **SELECT * FROM ZF4_AGENCY INTO TABLE IT_AGENCY.**
      *CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'*
        *EXPORTING*
      DDIC_STRUCTURE           = 'ZF4_AGENCY'**
          *RETFIELD               = 'ZZAGENCY'*
        PVALKEY                 = ' '**
         *DYNPPROG                = sy-cprog  "'SAPLXQQM'*
         *DYNPNR                  = sy-dynnr   "'0101'*
         *DYNPROFIELD             = 'VIQMEL-ZZAGENCY'*
        STEPL                  = sy-stepl**
         *VALUE_ORG               = 'S'*
       *TABLES*
        *VALUE_TAB              = IT_AGENCY[]*
        *FIELD_TAB              = it_FIELD_TAB[]*
        *RETURN_TAB             =  IT_DDSHRETVAL[]*
      DYNPFLD_MAPPING        =**
    EXCEPTIONS**
      PARAMETER_ERROR        = 1**
      NO_VALUES_FOUND        = 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.*
    *wating for any reply*

    Did you take a look at the help for FM? pass the hardcoded value for DYNPPROG and DYNNR (and see if that works)
    DYNPPROG and DYNNR cannot be passed as SY-REPID and SY-DYNNR because they are only analyzed after the function module has been called. Instead, first copy the SY fields to local variables and then pass them to the function module.

  • Function Does Not Return any value .

    Hi ,
    I am wrtting the below funtion without using any cursor to return any message if the value enters by parameters
    does not match with the value reterived by the function select statement or it does not reterive any value that
    for the parameters entered .
    E.g:
    CREATE OR REPLACE FUNCTION TEST_DNAME
    (p_empno IN NUMBER,p_deptno IN NUMBER)
    RETURN VARCHAR2
    IS
    v_dname varchar2(50);
    v_empno varchar2(50);
    V_err varchar2(100);
    v_cnt NUMBER := 0;
    BEGIN
    SELECT d.dname,e.empno
    INTO v_dname ,v_empno
    FROM scott.emp e , scott.dept d
    WHERE e.empno=p_empno
    AND d.deptno=p_deptno;
    --RETURN v_dname;
    IF p_empno IS NOT NULL AND p_deptno IS NOT NULL
    THEN IF v_dname is NULL THEN
    v_err :='Not Valid';
    RETURN v_err;END IF;
    ELSIF p_empno IS NOT NULL AND p_deptno IS NOT NULL
    THEN IF v_dname is NOT NULL THEN
    RETURN v_dname; END IF;
    ELSE
    RETURN v_dname;
    END IF;
    END;
    Sql Statement
    SELECT TEST_DNAME(1234,30) FROM dual
    AND IF I enter a valid combination of parameter then I get the below error :
    e.g:
    SQL> SELECT TEST_DNAME(7369,20) FROM dual
    2 .
    SQL> /
    SELECT TEST_DNAME(7369,20) FROM dual
    ERROR at line 1:
    ORA-06503: PL/SQL: Function returned without value
    ORA-06512: at "SCOTT.TEST_DNAME", line 24
    Where I am missing .
    Thanks,

    Format you code properly and look at it:
    CREATE OR REPLACE
       FUNCTION TEST_DNAME(
                           p_empno IN NUMBER,
                           p_deptno IN NUMBER
        RETURN VARCHAR2
        IS
            v_dname varchar2(50);
            v_empno varchar2(50);
            V_err varchar2(100);
            v_cnt NUMBER := 0;
        BEGIN
            SELECT  d.dname,
                    e.empno
              INTO  v_dname,
                    v_empno
              FROM  scott.emp e,
                    scott.dept d
              WHERE e.deptno=d.deptno
                AND e.empno=p_empno
                AND d.deptno=p_deptno;
            --RETURN v_dname;
            IF p_empno IS NOT NULL AND p_deptno IS NOT NULL
              THEN
                IF v_dname is NULL
                  THEN
                    v_err :='Not Valid';
                    RETURN v_err;
                END IF;
            ELSIF p_empno IS NOT NULL AND p_deptno IS NOT NULL
              THEN
                IF v_dname is NOT NULL
                  THEN
                    RETURN v_dname;
                END IF;
             ELSE
               RETURN v_dname;
           END IF;
    END;
    /Both p_empno and p_deptno in
    SELECT TEST_DNAME(7369,20) FROM dualare not null. So SELECT will fetch some v_dname and v_empno. Since p_empno and p_deptno iare not null your code will go inside outer IF stmt and will execute its THEN branch. That branch consist of nothing but inner IF statement. And since v_dname is NOT NULL it will bypass that inner IF and exit the outer IF. And there is no RETURN stmt after that outer IF. As a result you get what you get - ORA-06503. Also, both if and elsif in your code check same set of conditions which makes no sense.
    SY.

  • F4_FILENAME_SERVER is not returning any value

    Dear All,
    I want a popup for the application server from where I can select file for further processing. I have used F4_FILENAME_SERVER, but the function module is not working. It is giving a popup with the filenames but after selection of a particular file if I select the check button, it is not returning anything (coming blank). Please can you suggest anything on this.
    Thanks and regards,
    Atanu

    Try using FM: /SAPDMC/LSM_F4_SERVER_FILE
    *** Display Directories on the Application Server
         CALL FUNCTION '/SAPDMC/LSM_F4_SERVER_FILE'
              EXPORTING
                DIRECTORY         = <directory_name>
    *   filemask               = ''
             IMPORTING
                SERVERFILE        = P_FILE
             EXCEPTIONS
                CANCELLED_BY_USER = 1
                OTHERS            = 2.
         IF SY-SUBRC <> 0.
            MESSAGE W016 WITH P_FILE.
         ENDIF.
    Kind Regards
    Eswar

  • FM SPE_CALCULATE_PRICE - Java Call does not return Net Value of Sales Order

    Dear Experts,
    we want to make a call of FM SPE_CALCULATE_PRICE from the SAP NetWeaver Developer Studio to achieve that we receive the Net Value of a Sales Order. When we try to test the Scenario in SAP CRM (Creation of a Sales Order) Itself all is working fine. But if we try to make the call from Developer Studio it does not work for some reason. We have applied SAP Note 1936255.
    I am attaching:
    - the Pricing Trace we receive as a result from SAP.
    The Java Code we use is the following:
    Code JAVA
    import com.sap.mw.jco.*;
    import com.sap.mw.jco.JCO.ParameterList;
    import com.sap.mw.jco.JCO.Structure;
    import com.sap.mw.jco.JCO.Table;
    public class callIPCDemo {
    public static void main(String[] args) {
      System.out.println("--- START ---");
      // connect to SAP system
      JCO.Client client = null;
      try {
      client = JCO.createClient(
        "400", // SAP client
        "XXXX", // User ID
        "XXXXXXXX", // Password
        "EN", // Language
        "XXX.XXX.XX.XXX", // IP des hosts
        //"QPMR-CR20", // Hostname
              "00"); // System number
      client.connect();
      System.out.println("Connection OK\n");
      catch (Exception ex) {
      System.out.println(ex);
      return;
      // print RFC attributes
      System.out.println(client.getAttributes());
      // create JCo repository
      JCO.Repository repository = new JCO.Repository("testIPCcall", client);
      // Function Module SPE_CALCULATE_PRICE
      IFunctionTemplate ft = repository.getFunctionTemplate("SPE_CALCULATE_PRICE");
      JCO.Function function = null;
      try {
      function = ft.getFunction();
      } catch (Exception ex) {
      System.out.println(ex);
      return;
      // IS_HEADER_INPUT
      ParameterList importParameterList = function.getImportParameterList();
      Structure HeaderInput = importParameterList.getStructure("IS_HEADER_INPUT");
      HeaderInput.setValue("005056A7005E1ED3A7AD22549B279B91", "DOCUMENT_ID");
      HeaderInput.setValue("CRM", "APPLICATION");
      HeaderInput.setValue("ZCRM02", "PRC_PROCEDURE_NAME");
      HeaderInput.setValue("EUR", "DOCUMENT_CURRENCY_UNIT");
      HeaderInput.setValue("EUR", "LOCAL_CURRENCY_UNIT");
      HeaderInput.setValue("X", "PERFORM_TRACE");
      // IS_HEADER_INPUT-ATTRIBUTES (substructure/table)
      Table HeaderInputAttributes = HeaderInput.getTable("ATTRIBUTES");
      HeaderInputAttributes.appendRows(3);
      Table valuesTable = null;
      HeaderInputAttributes.setRow(0);
      HeaderInputAttributes.setValue("DIS_CHANNEL", "FIELDNAME");
      valuesTable = HeaderInputAttributes.getTable("VALUES");
      valuesTable.appendRows(1);
      valuesTable.setValue("01", 0);
      HeaderInputAttributes.setRow(1);
      HeaderInputAttributes.setValue("SALES_ORG", "FIELDNAME");
      valuesTable = HeaderInputAttributes.getTable("VALUES");
      valuesTable.appendRows(1);
      valuesTable.setValue("O 50000151", 0);
      HeaderInputAttributes.setRow(2);
      HeaderInputAttributes.setValue("SOLD_TO_PARTY", "FIELDNAME");
      valuesTable = HeaderInputAttributes.getTable("VALUES");
      valuesTable.appendRows(1);
      valuesTable.setValue("005056A7005E1ED3A7ACEFCAD95FBB91", 0);
      importParameterList.setValue(HeaderInput, "IS_HEADER_INPUT");
      // IT_ITEM_MAIN_INPUT
      String itemGuid = "005056A7005E1ED3A7AD3F004CD85B91";
      ParameterList tableParameterList = function.getTableParameterList();
      Table tableItems = tableParameterList.getTable("IT_ITEM_MAIN_INPUT");
      tableItems.appendRows(1);
      tableItems.setValue(itemGuid, "ITEM_ID");
      tableItems.setValue("005056A7005E1EE39289A0FB457C9D8A", "PRODUCT_ID");
      tableItems.setValue("M", "EXCH_RATE_TYPE");
      tableItems.setValue("10", "QUANTITY");
      tableItems.setValue("PC", "QUANTITY_UNIT");
      // IT_ITEM_ATTRIB_INPUT
      Table tableItemAttributes = tableParameterList.getTable("IT_ITEM_ATTRIB_INPUT");
      tableItemAttributes.appendRows(2);
      tableItemAttributes.setValue(itemGuid, "ITEM_ID");
      tableItemAttributes.setValue("PRODUCT", "FIELDNAME");
      tableItemAttributes.setValue("005056A7005E1EE39289A0FB457C9D8A", "FIELDVALUE");
      tableItemAttributes.nextRow();
      tableItemAttributes.setValue(itemGuid, "ITEM_ID");
      tableItemAttributes.setValue("PRC_INDICATOR", "FIELDNAME");
      tableItemAttributes.setValue("X", "FIELDVALUE"); 
      // IT_ITEM_TIMESTMP_INPUT
      Table tableTimestamps = tableParameterList.getTable("IT_ITEM_TIMESTMP_INPUT");
      tableTimestamps.appendRows(3);
      tableTimestamps.setValue(itemGuid, "ITEM_ID");
      tableTimestamps.setValue("PRICE_DATE", "FIELDNAME");
      tableTimestamps.setValue("20140225000000", "TIMESTAMP");
      tableTimestamps.nextRow();
      tableTimestamps.setValue(itemGuid, "ITEM_ID");
      tableTimestamps.setValue("PRT_DELIVERYDATE", "FIELDNAME");
      tableTimestamps.setValue("20140225000000", "TIMESTAMP");
      tableTimestamps.nextRow();
      tableTimestamps.setValue(itemGuid, "ITEM_ID");
      tableTimestamps.setValue("PRT_ORDERDATE", "FIELDNAME");
      tableTimestamps.setValue("20140225000000", "TIMESTAMP");
      // execute function module
      try {
      client.execute(function);
      } catch (Exception ex) {
      System.out.println(ex);
      return;
      // check result
      JCO.Structure structureHeaderResult = function.getExportParameterList().getStructure("ES_HEADER_RESULT");
      System.out.println("Net Value: " +
        structureHeaderResult.getValue("NET_VALUE"));
      JCO.Table tableHeaderResult = function.getExportParameterList().getTable("ET_TRACE");
      System.out.println(tableHeaderResult.getNumRows());
      for(int x = tableHeaderResult.getNumRows(); x <= tableHeaderResult.getNumRows(); x = x + 1) {
      tableHeaderResult.setRow(x);
      System.out.println("Trace: " + x + tableHeaderResult.getValue("ACCESS_TRACE_XML"));
      // disconnect from SAP system
      client.disconnect();
      System.out.println("--- END ---");

    Thanks.
    I'll have to discuss VTAA pricing types with the Business Analyst, since there are many records and I'm not sure what I'm looking at.
    In regards to your second point, it's not in calculation. It'll stay at that number until you save, check the conditions tab in the header or reprice the document.
    What's interesting is that it doesn't do this for all materials.
    For example:
    Material 1 - priced $25
    Material 2 - priced $25
    Net price would be $50, which is correct.
    But say we use Material 3 - priced $25 as well. For this one, the total net price could show up as $30.
    Can pricing types be specific to materials or material groups? What is the pricing type exactly and why 'A'?

  • P_session.get_value call does not return the value

    I have a form on a table.
    After the doInsert call in the pl/sql event handler section of the insert button, I have the sql statement
    "insert into temp
    values(56,p_session.get_value_as_varchar2('DEFAULT','A_FIRST_NAME'));"
    However, the value the call p_session.get_value_as_varchar2('DEFAULT','A_FIRST_NAME') returns is always null.
    Any comments?
    Thanks in advance.
    null

    When I user get_value_as_varchar2
    function then i get following error
    Anybody knows about solving a problem
    code works fine for number data.
    if i try to access varchar2 column then i get error.
    An unexpected error occurred: ORA-06502: PL/SQL: numeric or value error (WWV-16016)
    An unexpected error occurred: ORA-06502: PL/SQL: numeric or value error (WWV-16016)
    (WWV-00000)
    The preference path does not exist: ORACLE.WEBVIEW.PARAMETERS.8723279877 (WWC-51000)
    (WWC-00000)
    anybody knows please give reply its urgent..
    thanks in advance
    Yogesh
    null

  • Why constructor not return any(value) type?

    hello,
    why constructor does not have a return type
    thanks

    because i want to know why they made like that?The question is: why should it not be that way? A constructor is not a method. Why should it behave like one?
    The constructor's point is to set the freshly created object to a defined state. Nothing else.
    Even if it had a return value: what would you do with it?
    class X {
      int X() {
        return 17;
      public static void main(String[] args) {
        X instance = new X();
    }So tell me how you would store the returned 17. Another assignment in the same statement? Not possible.

  • Query Prepared Statement Does NOT Return ANY Values !URGENT! PLEASE HELP...

    Hi,
    Please help me in the following.I'm desperate...
    I'm using PreparedStatement to do multiple queries in the same Table of a Database(ACCESS).
    The rows of the Table look i.e like this :
    (TABLE NAME == PERSONS)
    PERSON_INDEX__TIME_PERIOD_________SPORT
    1_______________1________________Basketball
    1_______________2________________Football
    1_______________3________________Tennis
    2_______________1________________Something
    I populate my PreparedStatement using something like :
    java.sql.PreparedStatement st = con.createPreparedStatement("SELECT SPORT FROM PERSONS WHERE PERSON_INDEX=? AND TIME_PERIOD=?");
    Now, when I do something like :
    try
    st.setInt(1,1);
    st.setInt(2,1);
    st.addBatch();
    }catch(SQLException e){}
    st.executeQuery();
    ResultSet results = st.getResultSet();
    while ( results.next() )
    System.out.println("->"+results.getString("SPORT"));
    I trully get as output :
    ->BasketBall
    But when I populate it some more :
    try
    st.setInt(1,1);
    st.setInt(2,1);
    st.addBatch();
    //***Query some more***
    st.setInt(1,1);
    st.setInt(2,2);
    st.addBatch();
    }catch(SQLException e){}
    ... and I execute I DON'T GET :
    ->BasketBall
    ->Football
    but NOTHING!!! - the ResultSet HAS NO ROWS
    This thing is driving me mad.
    Can you please help me out?
    Please post the code if neccessary...

    There is something wrong in your understanding of batching the statements. Basically you will add either update or insert or delete statements to your batch.
    If you add a select statement, it will throw 'java.sql.BatchUpdateException: invalid batch command'. And moreover 'st.executeBatch()' is the method you need to invoke.
    If you don't execute the batch using 'executeBatch()' method then, it must throw the exception,
    'java.sql.SQLException: error occurred during batching: batch must be either executed or cleared'.
    You need to rework on your code, I believe.
    Sudha

  • Pl/sql package for use with workflow will not return a value

    hi all,
    just trying to intercept a requisition being turned into an order if it uses a certain cost code. so i have amended the workflow and created a package to check what cost centre a requisition is using. how over the workflow stops on the function that calls the package witha a status of complete as if the package is not returning any values.
    the package is as below:
    CREATE OR REPLACE PACKAGE APPS.xxhccWFcapitalcheck AS
    procedure XXHCC_CHECK_CAPITAL(itemtype in varchar2,
    itemkey in varchar2,
    actid in number,
    funcmode in varchar2,
    resultout out NOCOPY vARCHAR2);
    END xxhccWFcapitalcheck;
    CREATE OR REPLACE PACKAGE BODY APPS.xxhccWFcapitalcheck AS
    procedure XXHCC_CHECK_CAPITAL(itemtype in varchar2,
    itemkey in varchar2,
    actid in number,
    funcmode in varchar2,
    resultout out NOCOPY varchar2 ) is
    x_progress varchar2(100);
    x_resultout varchar2(30);
    l_doc_mgr_return_val VARCHAR2(1);
    l_doc_string varchar2(200);
    l_preparer_user_name varchar2(100);
    doc_manager_exception exception;
    p_test varchar2(100);
    l_req_id varchar2(30);
    CURSOR p_line_id IS
    SELECT
    codes.segment2 cost_center
    FROM
    po_requisition_headers_all headers,
    po_requisition_lines_all lines,
    po_req_distributions_all dist,
    gl_code_combinations_v codes
    WHERE
    headers.requisition_header_id = lines.requisition_header_id
    AND
    lines.requisition_line_id = dist.requisition_line_id
    AND
    dist.code_combination_id = codes.code_combination_id
    AND
    headers.segment1 = l_req_id;
    line_rec p_line_id%rowtype;
    BEGIN
    -- Do nothing in cancel or timeout mode
    --if (funcmode <> wf_engine.eng_run) then
    -- resultout := wf_engine.eng_null;
    -- return;
    -- end if;
    l_req_id := wf_engine.GetItemAttrNumber (itemtype => itemtype,
    itemkey => itemkey,
    aname => 'DOCUMENT_NUMBER');
    --FOR line_rec in p_line_id
    ---loop
    open p_line_id;
    fetch p_line_id into l_doc_string;
    close p_line_id;
    IF p_line_id= 'Q9DEF'
    dbms_output.put_line p_line_id;
    Then resultout := 'COMPLETE:F';
    return;
    p_test := 'USE DIFFERENT CODE';
    ELSE
    resultout := 'COMPLETE:T';
    return;
    END IF;
    END LOOP;
    end;
    END xxhccWFcapitalcheck;
    any help would be great!

    Hi Community,  first of all, english is not my native language and im not sure to use the correct terms for PowerCenter - so if im wrong please help me correct and make clear what we need. We have a kind of 3-steps ToDo. First step: Load data from an external source into a "local" datastore (its an oracle db on a server in our "hands")Second step: Check data against several verifications, this is done with a PL/SQL Package. The PL/SQL Package shall be called with an Interfacename who is set in the First PowerCenter Mapping. Our current thoghts are to do this via a stored procedure, which runs as "Target Post Load" and gets a variable "Interface Name".Is that possible? Im not quite sure about it. About the last part its even more unclear how we can solve it:Third part should be switch back to PowerCenter now - and the package (or to be correct a function in the package) should return a value for "okay everything fine => workflow continue" or "something happened => workflow is stopped" Im not sure how i can handle this. I hope my explanations are good enough so you can provide some help?!If there are any questions please ask!  Thank you alot, best regards, Christian

  • Table-Valued Function not returning any results

    ALTER FUNCTION [dbo].[fGetVendorInfo]
    @VendorAddr char(30),
    @RemitAddr char(100),
    @PmntAddr char(100)
    RETURNS
    @VendorInfo TABLE
    vengroup char(25),
    vendnum char(9),
    remit char(10),
    payment char(10)
    AS
    BEGIN
    insert into @VendorInfo (vengroup,vendnum)
    select ks183, ks178
    from hsi.keysetdata115
    where ks184 like ltrim(@VendorAddr) + '%'
    update @VendorInfo
    set remit = r.remit
    from
    @VendorInfo ven
    INNER JOIN
    (Select ksd.ks188 as remit, ksd.ks183 as vengroup, ksd.ks178 as vendnum
    from hsi.keysetdata117 ksd
    inner join @VendorInfo ven
    on ven.vengroup = ksd.ks183 and ven.vendnum = ksd.ks178
    where ksd.ks192 like ltrim(@RemitAddr) + '%'
    and ks189 = 'R') r
    on ven.vengroup = r.vengroup and ven.vendnum = r.vendnum
    update @VendorInfo
    set payment = p.payment
    from
    @VendorInfo ven
    INNER JOIN
    (Select ksd.ks188 as payment, ksd.ks183 as vengroup, ksd.ks178 as vendnum
    from hsi.keysetdata117 ksd
    inner join @VendorInfo ven
    on ven.vengroup = ksd.ks183 and ven.vendnum = ksd.ks178
    where ksd.ks192 like ltrim(@PmntAddr) + '%'
    and ks189 = 'P') p
    on ven.vengroup = p.vengroup and ven.vendnum = p.vendnum
    RETURN
    END
    GO
    Hi all,
    I'm having an issue where my Table-Valued Function is not returning any results.
    When I break it out into a select statement (creating a table, and replacing the passed in parameters with the actual values) it works fine, but with passing in the same exact values (copy and pasted them) it just retuns an empty table.
    The odd thing is I could have SWORN this worked on Friday, but not 100% sure.
    The attached code is my function.
    Here is how I'm calling it:
    SELECT * from dbo.fGetVendorInfo('AUDIO DIGEST', '123 SESAME ST', 'TOP OF OAK MOUNTAIN')
    I tried removing the "+ '%'" and passing it in, but it doesn't work.
    Like I said if I break it out and run it as T-SQL, it works just fine.
    Any assistance would be appreciated.

    Why did you use a proprietary user function instead of a VIEW?  I know the answer is that your mindset does not use sets. You want procedural code. In fact, I see you use an “f-” prefix to mimic the old FORTRAN II convention for in-line functions! 
    Did you know that the old Sybase UPDATE.. FROM.. syntax does not work? It gives the wrong answers! Google it. 
    Your data element names make no sense. What is “KSD.ks188”?? Well, it is a “payment_<something>”, “KSD.ks183” is “vendor_group” and “KSD.ks178” is “vendor_nbr” in your magical world where names mean different things from table to table! 
    An SQL programmer might have a VIEW with the information, something like:
    CREATE VIEW Vendor_Addresses
    AS
    SELECT vendor_group, vendor_nbr, vendor_addr, remit_addr, pmnt_addr
      FROM ..
     WHERE ..;
    --CELKO-- Books in Celko Series for Morgan-Kaufmann Publishing: Analytics and OLAP in SQL / Data and Databases: Concepts in Practice Data / Measurements and Standards in SQL SQL for Smarties / SQL Programming Style / SQL Puzzles and Answers / Thinking
    in Sets / Trees and Hierarchies in SQL

Maybe you are looking for