RFC Call delivers " 0" in P(13) Field

Hello everybody,
currently I'm facing a problem I've never had before.
I'm calling a SAP default function module via RFC from our Solution Manager for different SAP systems, which works fine so far.  The function module delivers values as P(13) fields. For one SAP system the function module delivers values like '12345<0' instead of '12345'. Does anyone know what the '<0' means and how I can translate the value?
Thank you very much for your help!
Best regards
Alexander

Hi Alex,
why do you have P(13) fields? In our system (SOLMAN, ECC) we have DEC 24 fields.
Do you have different code pages, a UNICODE / NON-UNICODE system mix or other specials in your system landscape?
Please check the RFC connections in SM59, too (look at tab MDM)! Do you see differences between the connected systems there?
Regards,
Klaus
Edited by: Klaus Babl on Mar 14, 2011 12:03 PM

Similar Messages

  • How to pass table in RFC and use that table to populate fields in Mapping?

    Hi,
    I have a requirement FIle to CSV, the file consists of thousand lines...
    What I did first is to put RFC look up per line. It is taking too long to process the message.
    One work around that I could think of is to pass all the values to a table then pass the table to RFC then RFC returns another table, so only one RFC call is required.
    How am I going to use the table returned by the RFC? Please advise how to achieve this scenario.

    Hi,
    I use an ABAP RFC function, which has a parameter that contains many rows.
    In ABAP, I create a two types. First is a ROW - contains some fields, for example, param1, param2, etc.
    Second is a TABLE - contains multiple count of ROW.
    Then I create a Remotecallable Function that has this TABLE-type as parameter (you can make this parameter as INPUT and OUTPUT). So in my mapping program after import RFC Function, I see a message looks like this:
    MY_TABLE_PARAM (Occurences: 1)
    item (Occureces: 0..unbounded)
    param1 (Occureces: 1)
    param2 (Occureces: 1)
    etc (Occureces: 1)
    Regards.

  • Flat File-to-RFC question, multiple RFC calls for one file.

    Hi guys,
    I'm quite new to XI / PI and I have a question regarding a File-to-RFC scenario we're trying in NW PI 7.1.
    We have a flat file which has two lines with two fields each, let's take this as an example :
    001,001
    002,002
    The files needs to be converted to XML and then transferred to the RFC program which will update a table with the values above.
    In the ESR I've created 3 data types (z_row1,z_record1 and z_fileinput1), 1 message type (z_file2rfc_ob_mt), 1 message mapping (z_file2rfc_mm), 2 Service Interface (z_file2rfc_ob_si and z_file2rfc_ib_ztestpi) and 1 operation mapping (z_file2rfc_om).
    In the Integration Builder (ID) I've created everything required (The sender and receiver communication channels, sender and receiver agreement, receiver determination and interface mapping).
    We're also using content conversion to convert the flat file to XML, this does seem to work because I see all the lines/field in the message when it gets into PI. The problem is that the RFC can only accept two fields at a time and only the first line gets updated. I see that only the first line gets sent to the RFC.
    How can I make the RFC call for each and every line ?
    Thanks !!

    Create the RFC with table, which takes multiple lineitem as input and update the table in single call.
    If you want response back then call RFC as synchrounous else in Asynchrounous mode.
    By doing this in single call it will update the complete table.
    Gaurav Jain
    Reward Points if answer is helpful

  • RFC call results in StORAGE_PARAM_WRONG_SET

    I'm in trouble with a RFC call, the process is as following: SAP system A calls a report. This report selects FI documents via LDB SDF. After user selects one or more documents from the list I call a RFC to read the payroll posting results from system B. The call of the RFC takes place for each FI document separatly what means user selects e.g. 10 FI documents, so I have 10 RFC calls with one result list. After each RFC call I add the result table of the RFC to the output table within the report. Before calling the RFC I of course clear all relevant tables again and additionaly I also use the 'FREE' statement within the RFC to set free all the memory, so there is no data stored in internal tables. But when the user selects a great no. of FI documents to read the payroll postings sometimes the RFC cancels in system B telling me that the storage parameters were set wrong. Calling the RFC step by step by selecting the FI document in single mode from the list I don't receive this dump. Do you have an idea what to do to avoid the dump? One problem: I don't have access to system B to test there, I only can do testing in system A and therefore I have no possibility to debugg this.
    This is the code of the RFC module:
    FUNCTION y_rfc_read_payroll_postings.
    *"*"Local interface:
    *"  IMPORTING
    *"     VALUE(I_AWKEY) TYPE  AWKEY
    *"     VALUE(I_CHECKNO) TYPE  XFELD
    *"     VALUE(I_TAX) TYPE  XFELD
    *"  EXPORTING
    *"     VALUE(E_PPDHD) TYPE  PPDHD
    *"  TABLES
    *"      T_PPDIT STRUCTURE  PPDIT
    *"      T_PPOIX STRUCTURE  PPOIX
    *"      T_PPDIX STRUCTURE  PPDIX
    *"      T_PAYR STRUCTURE  PAYR OPTIONAL
    *"      T_HRPAY STRUCTURE  PC209 OPTIONAL
    *"      T_REGUTA STRUCTURE  REGUTA OPTIONAL
    *"      T_VALUES STRUCTURE  YSHR_RFC_PAYROLL_POSTING OPTIONAL
    *"      T_CSKA STRUCTURE  CSKA
    *"      RETURN STRUCTURE  BAPIRET2
    * local data
      TYPE-POOLS: pptgs.
      TYPES: BEGIN OF type_helpval,
             pernr TYPE p_pernr,
             lgart TYPE lgart,
             rel   TYPE xfeld,
            END OF type_helpval.
      TYPES: BEGIN OF type_cluster,
             pernr TYPE p_pernr,
             seqno TYPE cdseq,
             abrj TYPE pnppabrj,
             abrp TYPE pnppabrp,
             actual TYPE srtza,
             betrg TYPE ppoix-betrg,
             waers TYPE ppoix-waers,
             END OF type_cluster.
      DATA: BEGIN OF lt_ppoix_key OCCURS 0,
             pernr    LIKE ppoix-pernr,
             seqno    LIKE ppoix-seqno,
             actsign  LIKE ppoix-actsign,
             runid    LIKE ppoix-runid,
             postnum  LIKE ppoix-postnum,
            END OF lt_ppoix_key.
      FIELD-SYMBOLS: <payroll> TYPE yshr_rfc_payroll_posting.
      DATA ht_ppoix TYPE TABLE OF ppoix.
      DATA productive_runs LIKE hrpp_pernr_runtab OCCURS 0 WITH HEADER LINE.
      DATA t_rgdir TYPE TABLE OF pc261.
      DATA wa_rgdir TYPE pc261.
      DATA t_helpval TYPE TABLE OF type_helpval.
      DATA t_cluster TYPE TABLE OF type_cluster.
      DATA wa_helpval TYPE type_helpval.
      DATA wa_cluster TYPE type_cluster.
      DATA h_molga TYPE molga.
      DATA h_ltext TYPE t5utz-ltext.
      DATA wa_t512w TYPE t512w.
      DATA wa_return TYPE bapiret2.
      DATA par1 TYPE syst-msgv1.
      DATA par2 TYPE syst-msgv2.
      DATA par3 TYPE syst-msgv3.
      DATA wa_ppoix TYPE ppoix.
      FIELD-SYMBOLS: <wa_ppdit> TYPE ppdit.
      DATA wa_ppdix TYPE ppdix.
      DATA result_tab_us TYPE payus_result.
      DATA result_tab_in TYPE payin_result.
      DATA t_bt TYPE hrpay99_bt.
      DATA t_rt TYPE hrpay99_rt.
      DATA wa_bt TYPE pc209.
      DATA wa_rt TYPE pc207.
      DATA h_time(6) TYPE c.
      DATA t_inter TYPE TABLE OF pay99_international WITH HEADER LINE.
      DATA t_tax TYPE hrpayus_tax.
      DATA wa_tax TYPE pc22t.
      DATA wa_payr TYPE payr.
      DATA wa_reguta TYPE reguta.
      DATA wa_payroll TYPE yshr_rfc_payroll_posting.
      DATA t_ppopx TYPE TABLE OF ppopx.
      DATA wa_ppopx TYPE ppopx.
      DATA wa_t001 TYPE t001.
      FREE: t_ppdit, t_ppoix, t_ppdix, t_payr, t_hrpay, t_reguta,
            t_values, t_helpval, t_cluster, t_ppopx.
    * read general information
      SELECT SINGLE * FROM ppdhd INTO e_ppdhd WHERE
                           docnum EQ i_awkey.
      CASE syst-subrc.
    * everthing ok, continue
        WHEN 0.
    * get the company code and assign US flag
          SELECT SINGLE * FROM t001 INTO wa_t001 WHERE
                                    bukrs EQ e_ppdhd-bukrs.
    * exit and set err. mess.
        WHEN OTHERS.
          CALL FUNCTION 'BALW_BAPIRETURN_GET2'
            EXPORTING
              type             = 'E'
              cl               = 'HR3PRNA'
              number           = '704'
    *         PAR1             = ' '
    *         PAR2             = ' '
    *         PAR3             = ' '
    *         PAR4             = ' '
    *         LOG_NO           = ' '
    *         LOG_MSG_NO       = ' '
    *         PARAMETER        = ' '
    *         ROW              = 0
    *         FIELD            = ' '
            IMPORTING
              return           = wa_return
          wa_return-field = 'PPDHD'.
          APPEND wa_return TO return.
          EXIT.
      ENDCASE.
    * read table PPDIT
      SELECT  * FROM  ppdit INTO TABLE t_ppdit
          FOR ALL ENTRIES IN t_cska
          WHERE  docnum  = i_awkey AND
                 hkont   = t_cska-kstar.
      CASE syst-subrc.
    * everthing ok, continue
        WHEN 0.
    * exit and set err. mess.
        WHEN OTHERS.
          par1 = 'PPDIT'.
          par2 = 'document'.
          par3 = i_awkey.
          CALL FUNCTION 'BALW_BAPIRETURN_GET2'
            EXPORTING
              type             = 'E'
              cl               = '5G'
              number           = '58'
              par1             = par1
              par2             = par2
              par3             = par3
    *         PAR4             = ' '
    *         LOG_NO           = ' '
    *         LOG_MSG_NO       = ' '
    *         PARAMETER        = ' '
    *         ROW              = 0
    *         FIELD            = ' '
            IMPORTING
              return           = wa_return
          wa_return-field = 'PPDIT'.
          APPEND wa_return TO return.
          EXIT.
      ENDCASE.
    * read table PPDIX
      SELECT * FROM ppdix INTO TABLE t_ppdix
          FOR ALL ENTRIES IN t_ppdit
          WHERE evtyp  EQ e_ppdhd-evtyp AND
                runid  EQ e_ppdhd-runid AND
                docnum EQ e_ppdhd-docnum AND
                doclin =  t_ppdit-doclin.
      CASE syst-subrc.
    * everthing ok, continue
        WHEN 0.
    * exit and set err. mess.
        WHEN OTHERS.
          par1 = 'PPDIX'.
          par2 = 'runid'.
          par3 = e_ppdhd-runid.
          CALL FUNCTION 'BALW_BAPIRETURN_GET2'
            EXPORTING
              type             = 'E'
              cl               = '5G'
              number           = '58'
              par1             = par1
              par2             = par2
              par3             = par3
    *         PAR4             = ' '
    *         LOG_NO           = ' '
    *         LOG_MSG_NO       = ' '
    *         PARAMETER        = ' '
    *         ROW              = 0
    *         FIELD            = ' '
            IMPORTING
              return           = wa_return
          wa_return-field = 'PPDIX'.
          APPEND wa_return TO return.
          EXIT.
      ENDCASE.
    * read detail values on accounting level
      SELECT * FROM ppoix INTO TABLE t_ppoix
                          FOR ALL ENTRIES IN t_ppdix WHERE
                               runid EQ t_ppdix-runid AND
                               tslin EQ t_ppdix-linum.
    * read reposted documents from ppopx
      SELECT * FROM ppopx INTO TABLE t_ppopx
                          FOR ALL ENTRIES IN t_ppdix WHERE
                               runid EQ t_ppdix-runid AND
                               tslin EQ t_ppdix-linum.
      IF syst-subrc EQ 0.
    * append corresponding lines to T_ppoix
        LOOP AT t_ppopx INTO wa_ppopx.
          MOVE-CORRESPONDING wa_ppopx TO productive_runs.
          CLEAR productive_runs-runid.
          COLLECT productive_runs.
        ENDLOOP.
    * get run table
        CALL FUNCTION 'HR_EVAL_PROD_A_RUN_GET_TABLE'
          TABLES
            result_table = productive_runs.
        LOOP AT productive_runs.
          IF productive_runs-runid IS INITIAL.
            DELETE productive_runs.
          ENDIF.
        ENDLOOP.
    * fill ppoix-keys for needed ppoix
        LOOP AT productive_runs.
          LOOP AT t_ppopx INTO wa_ppopx.
            IF wa_ppopx-pernr EQ productive_runs-pernr AND
               wa_ppopx-seqno EQ productive_runs-seqno.
    * built key
              CLEAR lt_ppoix_key.
              MOVE-CORRESPONDING productive_runs TO lt_ppoix_key.
              lt_ppoix_key-postnum = wa_ppopx-postnum.
              lt_ppoix_key-actsign = 'A'.
              COLLECT lt_ppoix_key.
            ENDIF.
          ENDLOOP.
        ENDLOOP.
    * any values to append?
        READ TABLE lt_ppoix_key INDEX 1.
        IF syst-subrc EQ 0.
          SELECT * FROM ppoix INTO TABLE ht_ppoix
                   FOR ALL ENTRIES IN lt_ppoix_key
                                   WHERE pernr = lt_ppoix_key-pernr
                                   AND   seqno = lt_ppoix_key-seqno
                                   AND actsign = 'A'
                                   AND   runid = lt_ppoix_key-runid
                                   AND   postnum = lt_ppoix_key-postnum.
          IF syst-subrc EQ 0.
            LOOP AT t_ppopx INTO wa_ppopx.
              LOOP AT ht_ppoix INTO wa_ppoix WHERE
                      pernr EQ wa_ppopx-pernr AND
                      seqno EQ wa_ppopx-seqno AND
                      postnum EQ wa_ppopx-postnum.
                MOVE-CORRESPONDING wa_ppopx TO wa_ppoix.
                IF wa_ppoix-actsign <> 'A'.
                  wa_ppoix-betrg = - wa_ppoix-betrg.
                  wa_ppoix-anzhl = - wa_ppoix-anzhl.
                ENDIF.
                APPEND wa_ppoix TO t_ppoix.
                DELETE ht_ppoix.
              ENDLOOP.
            ENDLOOP.
          ENDIF.
        ENDIF.
      ENDIF.
    * check for any entries in table T_PPOIX
      READ TABLE t_ppoix INTO wa_ppoix INDEX 1.
      CASE syst-subrc.
    * everthing ok, continue
        WHEN 0.
    * exit and set err. mess.
        WHEN OTHERS.
          par1 = 'PPOIX'.
          par2 = 'runid'.
          par3 = e_ppdhd-runid.
          CALL FUNCTION 'BALW_BAPIRETURN_GET2'
            EXPORTING
              type             = 'E'
              cl               = '5G'
              number           = '58'
              par1             = par1
              par2             = par2
              par3             = par3
    *         PAR4             = ' '
    *         LOG_NO           = ' '
    *         LOG_MSG_NO       = ' '
    *         PARAMETER        = ' '
    *         ROW              = 0
    *         FIELD            = ' '
            IMPORTING
              return           = wa_return
          wa_return-field = 'PPOIX'.
          APPEND wa_return TO return.
          EXIT.
      ENDCASE.
      CHECK i_checkno EQ 'X' OR
            i_tax     EQ 'X'.
      CLEAR t_values.
    * read payroll results, determine values
      LOOP AT t_ppdit ASSIGNING <wa_ppdit>.
        LOOP AT t_ppdix INTO wa_ppdix WHERE
                evtyp = e_ppdhd-evtyp AND
                runid = e_ppdhd-runid AND
                doclin = <wa_ppdit>-doclin.
          LOOP AT t_ppoix INTO wa_ppoix WHERE
                       runid EQ e_ppdhd-runid AND
                       tslin EQ wa_ppdix-linum.
    * append anywhere for checkno
            IF i_checkno EQ 'X'.
              wa_cluster-pernr = wa_ppoix-pernr.
              wa_cluster-seqno = wa_ppoix-seqno.
              wa_cluster-abrj = <wa_ppdit>-abper+0(4).
              wa_cluster-abrp = <wa_ppdit>-abper+4(2).
              wa_cluster-actual = wa_ppoix-actsign.
              wa_cluster-betrg = wa_ppoix-betrg.
              wa_cluster-waers = wa_ppoix-waers.
              IF <wa_ppdit>-abper IS INITIAL.
    * write BONDT into field ZUONR
                CALL FUNCTION 'CU_READ_RGDIR'
                  EXPORTING
                    persnr   = wa_ppoix-pernr
                  TABLES
                    in_rgdir = t_rgdir.
                READ TABLE t_rgdir INTO wa_rgdir WITH KEY
                                 seqnr = wa_ppoix-seqno.
                IF syst-subrc EQ 0.
                  <wa_ppdit>-zuonr+0(10) = wa_rgdir-bondt.
                ENDIF.
              ENDIF.
              APPEND wa_cluster TO t_cluster.
            ENDIF.
            IF i_tax EQ 'X'.
    * check if LGART is relevant
              READ TABLE t_helpval INTO wa_helpval WITH KEY
                                 pernr = wa_ppoix-pernr
                                 lgart = wa_ppoix-lgart.
              CASE syst-subrc.
                WHEN 0.
    * relevant or not
                  CASE wa_helpval-rel.
                    WHEN 'X'.
                      wa_cluster-pernr = wa_ppoix-pernr.
                      wa_cluster-seqno = wa_ppoix-seqno.
                      wa_cluster-abrj = <wa_ppdit>-abper+0(4).
                      wa_cluster-abrp = <wa_ppdit>-abper+4(2).
                      wa_cluster-actual = wa_ppoix-actsign.
                      wa_cluster-betrg = wa_ppoix-betrg.
                      wa_cluster-waers = wa_ppoix-waers.
                      IF <wa_ppdit>-abper IS INITIAL.
                        CALL FUNCTION 'CU_READ_RGDIR'
                          EXPORTING
                            persnr   = wa_ppoix-pernr
                          TABLES
                            in_rgdir = t_rgdir.
                        READ TABLE t_rgdir INTO wa_rgdir WITH KEY
                                         seqnr = wa_ppoix-seqno.
                        IF syst-subrc EQ 0.
                          <wa_ppdit>-zuonr+0(10) = wa_rgdir-bondt.
                        ENDIF.
                      ENDIF.
                      APPEND wa_cluster TO t_cluster.
    * save values
                      MOVE-CORRESPONDING wa_ppoix TO wa_payroll.
                      wa_payroll-betrg = ABS( wa_payroll-betrg ).
                      APPEND wa_payroll TO t_values.
                    WHEN ' '.
                      CONTINUE.
                  ENDCASE.
                WHEN OTHERS.
    * determine values
                  CALL FUNCTION 'HR_COUNTRYGROUPING_GET'
                    EXPORTING
                      pernr           = wa_ppoix-pernr
    *              TCLAS           = 'A'
                      begda           = e_ppdhd-bldat
                      endda           = e_ppdhd-bldat
    *              WERKS           =
                    IMPORTING
                      molga           = h_molga
                    EXCEPTIONS
                      not_found       = 1
                      OTHERS          = 2
                  IF sy-subrc NE 0.
                    WRITE wa_ppoix-pernr TO par1.
                    CALL FUNCTION 'BALW_BAPIRETURN_GET2'
                      EXPORTING
                        type   = 'E'
                        cl     = 'HRPAYBR94'
                        number = '278'
                        par1   = par1
                      IMPORTING
                        return = wa_return.
                    wa_return-field = wa_ppoix-pernr.
                    APPEND wa_return TO return.
                    CONTINUE.
                  ENDIF.
                  SELECT * FROM  t512w INTO wa_t512w
                         WHERE  molga  = h_molga
                         AND    lgart  = wa_ppoix-lgart
                         AND    endda  GE e_ppdhd-bldat
                         AND    begda  LE e_ppdhd-bldat.
                    EXIT.
                  ENDSELECT.
                  IF syst-subrc EQ 0.
                    IF wa_t512w-vklas+77(1) = '2'.
                      wa_helpval-pernr = wa_ppoix-pernr.
                      wa_helpval-lgart = wa_ppoix-lgart.
                      wa_helpval-rel   = 'X'.
                      APPEND wa_helpval TO t_helpval.
                      wa_cluster-pernr = wa_ppoix-pernr.
                      wa_cluster-seqno = wa_ppoix-seqno.
                      wa_cluster-abrj = <wa_ppdit>-abper+0(4).
                      wa_cluster-abrp = <wa_ppdit>-abper+4(2).
                      wa_cluster-actual = wa_ppoix-actsign.
                      wa_cluster-betrg = wa_ppoix-betrg.
                      wa_cluster-waers = wa_ppoix-waers.
                      IF <wa_ppdit>-abper IS INITIAL.
                        CALL FUNCTION 'CU_READ_RGDIR'
                          EXPORTING
                            persnr   = wa_ppoix-pernr
                          TABLES
                            in_rgdir = t_rgdir.
                        READ TABLE t_rgdir INTO wa_rgdir WITH KEY
                                         seqnr = wa_ppoix-seqno.
                        IF syst-subrc EQ 0.
                          <wa_ppdit>-zuonr+0(10) = wa_rgdir-bondt.
                        ENDIF.
                      ENDIF.
                      APPEND wa_cluster TO t_cluster.
                      MOVE-CORRESPONDING wa_ppoix TO wa_payroll.
                      wa_payroll-betrg = ABS( wa_payroll-betrg ).
                      APPEND wa_payroll TO t_values.
                    ELSE.
                      wa_helpval-pernr = wa_ppoix-pernr.
                      wa_helpval-lgart = wa_ppoix-lgart.
                      wa_helpval-rel   = ''.
                      APPEND wa_helpval TO t_helpval.
                    ENDIF.
                  ENDIF.
              ENDCASE.
            ENDIF.
          ENDLOOP.
        ENDLOOP.
      ENDLOOP.
      SORT t_cluster.
      DELETE ADJACENT DUPLICATES FROM t_cluster.
      LOOP AT t_cluster INTO wa_cluster.
        CLEAR: result_tab_us, result_tab_in.
        CASE wa_t001-land1.
          WHEN 'US'.
            CALL FUNCTION 'PYXX_READ_PAYROLL_RESULT'
              EXPORTING
    *       CLUSTERID                          = 'RU'
                employeenumber                     = wa_cluster-pernr
                sequencenumber                     = wa_cluster-seqno
    *       READ_ONLY_BUFFER                   = ' '
    *       READ_ONLY_INTERNATIONAL            = ' '
    *       ARC_GROUP                          = ' '
                check_read_authority               = ''
                filter_cumulations                 = ''
    *       CLIENT                             =
    *     IMPORTING
    *       VERSION_NUMBER_PAYVN               =
    *       VERSION_NUMBER_PCL2                =
              CHANGING
                payroll_result                     = result_tab_us
              EXCEPTIONS
                illegal_isocode_or_clusterid       = 1
                error_generating_import            = 2
                import_mismatch_error              = 3
                subpool_dir_full                   = 4
                no_read_authority                  = 5
                no_record_found                    = 6
                versions_do_not_match              = 7
                error_reading_archive              = 8
                error_reading_relid                = 9
                OTHERS                             = 10
          WHEN OTHERS.
            CALL FUNCTION 'PYXX_READ_PAYROLL_RESULT'
              EXPORTING
    *       CLUSTERID                          = 'RU'
                employeenumber                     = wa_cluster-pernr
                sequencenumber                     = wa_cluster-seqno
    *       READ_ONLY_BUFFER                   = ' '
    *       READ_ONLY_INTERNATIONAL            = ' '
    *       ARC_GROUP                          = ' '
                check_read_authority               = ''
                filter_cumulations                 = ''
    *       CLIENT                             =
    *     IMPORTING
    *       VERSION_NUMBER_PAYVN               =
    *       VERSION_NUMBER_PCL2                =
              CHANGING
                payroll_result                     = result_tab_in
              EXCEPTIONS
                illegal_isocode_or_clusterid       = 1
                error_generating_import            = 2
                import_mismatch_error              = 3
                subpool_dir_full                   = 4
                no_read_authority                  = 5
                no_record_found                    = 6
                versions_do_not_match              = 7
                error_reading_archive              = 8
                error_reading_relid                = 9
                OTHERS                             = 10
        ENDCASE.
        IF sy-subrc NE 0.
          CLEAR wa_return.
          wa_return-field = wa_ppoix-pernr.
          CASE syst-subrc.
            WHEN '1'.
              wa_return-message = 'ILLEGAL_ISOCODE_OR_CLUSTERID'.
            WHEN '2'.
              wa_return-message = 'ERROR_GENERATING_IMPORT'.
            WHEN '3'.
              wa_return-message = 'IMPORT_MISMATCH_ERROR'.
            WHEN '4'.
              wa_return-message = 'SUBPOOL_DIR_FULL'.
            WHEN '5'.
              wa_return-message = 'NO_READ_AUTHORITY'.
            WHEN '6'.
              wa_return-message = 'NO_RECORD_FOUND'.
            WHEN '7'.
              wa_return-message = 'VERSIONS_DO_NOT_MATCH'.
            WHEN '8'.
              wa_return-message = 'ERROR_READING_ARCHIVE'.
            WHEN '9'.
              wa_return-message = 'ERROR_READING_RELID'.
            WHEN OTHERS.
              wa_return-message = 'OTHERS'.
          ENDCASE.
          APPEND wa_return TO return.
          CONTINUE.
        ELSE.
          CASE wa_t001-land1.
            WHEN 'US'.
              t_inter = result_tab_us-inter.
            WHEN OTHERS.
              t_inter = result_tab_in-inter.
          ENDCASE.
          APPEND t_inter.
          t_tax = result_tab_us-nat-tax.
          LOOP AT t_inter.
            t_bt = t_inter-bt.
            t_rt = t_inter-rt.
          ENDLOOP.
          LOOP AT t_values ASSIGNING <payroll> WHERE
                                           pernr EQ wa_cluster-pernr.
            CLEAR wa_rt.
            LOOP AT t_rt INTO wa_rt WHERE
                         lgart EQ <payroll>-lgart.
              wa_rt-betrg = ABS( wa_rt-betrg ).
              IF wa_rt-betrg EQ <payroll>-betrg AND NOT
                 wa_rt-cntr1 IS INITIAL.
                IF wa_t001-land1 EQ 'US'.
                  LOOP AT t_tax INTO wa_tax WHERE
                        cntr1 EQ wa_rt-cntr1.
                    EXIT.
                  ENDLOOP.
                  IF syst-subrc EQ 0.
                    <payroll>-cntr1 = wa_tax-cntr1.
                    <payroll>-taxau = wa_tax-taxau.
    * determine long text
                    SELECT SINGLE ltext FROM  t5utz INTO h_ltext
                           WHERE  taxau  = wa_tax-taxau.
                    IF syst-subrc EQ 0.
                      <payroll>-ltext = h_ltext.
                    ENDIF.
                  ENDIF.
                ENDIF.
              ENDIF.
            ENDLOOP.
          ENDLOOP.
    * check table BT abd determine check no.
          IF i_checkno EQ 'X'.
            LOOP AT t_bt INTO wa_bt.
              APPEND wa_bt TO t_hrpay.
              CASE wa_bt-zlsch.
    * check
                WHEN  'C'.
                  SELECT * FROM payr INTO wa_payr WHERE
                                 rzawe = 'C' AND
                                 laufd = wa_bt-dtadt AND
                                 pernr = wa_cluster-pernr AND
                                 seqnr = wa_cluster-seqno AND
                                 btznr = wa_bt-btznr.
                    EXIT.
                  ENDSELECT.
                  IF syst-subrc EQ 0.
    * store period in a field to find correlation later
                    wa_payr-znme4+0(4) = wa_cluster-abrj.
                    wa_payr-znme4+4(2) = wa_cluster-abrp.
                  ELSE.
                    CLEAR wa_payr.
                    wa_payr-pernr = wa_cluster-pernr.
                    wa_payr-rwbtr = wa_cluster-betrg.
                    wa_payr-waers = wa_cluster-waers.
                    APPEND wa_payr TO t_payr.
                  ENDIF.
                  APPEND wa_payr TO t_payr.
    * bank transfer
                WHEN OTHERS.
                  h_time = wa_bt-dtati+0(5).
                  h_time+5(1) = 'P'.
                  SELECT * FROM reguta INTO wa_reguta WHERE
                                 laufd = wa_bt-dtadt AND
                                 laufi = h_time.
                    EXIT.
                  ENDSELECT.
                  IF syst-subrc EQ 0.
                    APPEND wa_reguta TO t_reguta.
                  ENDIF.
              ENDCASE.
            ENDLOOP.
          ENDIF.
        ENDIF.
      ENDLOOP.
    ENDFUNCTION.

    Hi Sudhir,
    These settings need to be done by basis people. Anyhow, you can go to the tcode RZ11 and put in these parameters mentioned in the error message. There will be documentation available for these parameters. Try to see if the defaults are not met for any of these parameters. If you find something strange, report it to the basis. The documentations in this are very helpful. Hope this helps.
    Thanks and Regards
    Subray Hegde

  • RFC-Call from a xslt/javamapping error

    Hi.
    We implemented an Szenario IDOC to Mail(attachement).
    Our incomming IDOC is a standard-IDOC from SAP.
    ISU_INTERVAL_USAGE_INFORMATION.ISU_VDEW_MSCONS
    our Target is an EDIFACT-File attached to a mail.
    We did this succesfully before in a similar Szenario with UTILMD-IDOCs to a CSV-attachement of a mail.
    Because there is no Mailinformation in these IDOCs, we do a RFC-Call to a backendsystem (SAP-ISU) wich delivers the information selected by the IDOC-number.
    This is the XSLT for this call:
      <xsl:variable name="maildata" select="emailadress:new($param1, $param2, $inputparam)" />
      <xsl:variable name="from" select="emailadress:getSenderEmailAdress($maildata)" />
      <xsl:variable name="to" select="emailadress:getReceiverEmailAdress($maildata)" />
      <xsl:variable name="cc" select="emailadress:getCcReceiverEmailAdress($maildata)" />
      <xsl:variable name="bcc" select="emailadress:getBccReceiverEmailAdress($maildata)" />
    when I test the Mapping in the Integration Builder, the RFC-call gives us the following error message:
    08:42:39 Teststart
    Creating XSLT mapping iDoc_MSCONS_to_Mail
    URIResolver called with href = iDoc_to_MSCONS.xsl and base = iDoc_MSCONS_to_Mail.xsl
    Source resolved. System id = iDoc_to_MSCONS.xsl
    Call XSLT processor with stylsheet iDoc_MSCONS_to_Mail.xsl.
    Method fatalError called, terminate transformation
    javax.xml.transform.TransformerException: com.sap.engine.lib.xml.util.NestedException: -> com.sap.engine.lib.xml.util.NestedException: Variable '$maildata' has not been bound to a value at com.sap.engine.lib.jaxp.TransformerImpl.transform(TransformerImpl.java:251) at com.sap.aii.ibrep.server.mapping.ibrun.RepMappingTransformer.transform(RepMappingTransformer.java:150) at com.sap.aii.ibrep.server.mapping.ibrun.RepXSLTMapping.execute(RepXSLTMapping.java:81) at com.sap.aii.ibrep.server.mapping.ibrun.RepMappingHandler.run(RepMappingHandler.java:80) at com.sap.aii.ibrep.server.mapping.rt.MappingHandlerAdapter.run(MappingHandlerAdapter.java:107) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInterfaceMapping(ServerMapService.java:127) at com.sap.aii.ibrep.server.mapping.ServerMapService.transform(ServerMapService.java:104) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.transform(MapServiceBean.java:40) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0.transform(MapServiceRemoteObjectImpl0_0.java:167) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0p4_Skel.dispatch(MapServiceRemoteObjectImpl0_0p4_Skel.java:104) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Caused by: com.sap.engine.lib.xml.util.NestedException: -> com.sap.engine.lib.xml.util.NestedException: Variable '$maildata' has not been bound to a value at com.sap.engine.lib.xsl.xslt.XSLStylesheet.process(XSLStylesheet.java:377) at com.sap.engine.lib.jaxp.TransformerImpl.transformWithStylesheet(TransformerImpl.java:398) at com.sap.engine.lib.jaxp.TransformerImpl.transform(TransformerImpl.java:240) ... 18 more Caused by: com.sap.engine.lib.xml.util.NestedException: Variable '$maildata' has not been bound to a value at com.sap.engine.lib.xsl.xpath.ETVariableReference.evaluate(ETVariableReference.java:42) at com.sap.engine.lib.xsl.xpath.ETFunction.evaluate(ETFunction.java:83) at com.sap.engine.lib.xsl.xpath.XPathProcessor.innerProcess(XPathProcessor.java:56) at com.sap.engine.lib.xsl.xpath.XPathProcessor.process(XPathProcessor.java:43) at com.sap.engine.lib.xsl.xpath.XPathProcessor.process(XPathProcessor.java:51) at com.sap.engine.lib.xsl.xslt.XSLVariable.process(XSLVariable.java:132) at com.sap.engine.lib.xsl.xslt.XSLTopVariable.process(XSLTopVariable.java:42) at com.sap.engine.lib.xsl.xslt.XSLStylesheet.process(XSLStylesheet.java:360) ... 20 more -
    com.sap.engine.lib.xml.util.NestedException: -> com.sap.engine.lib.xml.util.NestedException: Variable '$maildata' has not been bound to a value at com.sap.engine.lib.xsl.xpath.ETVariableReference.evaluate(ETVariableReference.java:42) at com.sap.engine.lib.xsl.xpath.ETFunction.evaluate(ETFunction.java:83) at com.sap.engine.lib.xsl.xpath.XPathProcessor.innerProcess(XPathProcessor.java:56) at com.sap.engine.lib.xsl.xpath.XPathProcessor.process(XPathProcessor.java:43) at com.sap.engine.lib.xsl.xpath.XPathProcessor.process(XPathProcessor.java:51) at com.sap.engine.lib.xsl.xslt.XSLVariable.process(XSLVariable.java:132) at com.sap.engine.lib.xsl.xslt.XSLTopVariable.process(XSLTopVariable.java:42) at com.sap.engine.lib.xsl.xslt.XSLStylesheet.process(XSLStylesheet.java:360) at com.sap.engine.lib.jaxp.TransformerImpl.transformWithStylesheet(TransformerImpl.java:398) at com.sap.engine.lib.jaxp.TransformerImpl.transform(TransformerImpl.java:240) at com.sap.aii.ibrep.server.mapping.ibrun.RepMappingTransformer.transform(RepMappingTransformer.java:150) at com.sap.aii.ibrep.server.mapping.ibrun.RepXSLTMapping.execute(RepXSLTMapping.java:81) at com.sap.aii.ibrep.server.mapping.ibrun.RepMappingHandler.run(RepMappingHandler.java:80) at com.sap.aii.ibrep.server.mapping.rt.MappingHandlerAdapter.run(MappingHandlerAdapter.java:107) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInterfaceMapping(ServerMapService.java:127) at com.sap.aii.ibrep.server.mapping.ServerMapService.transform(ServerMapService.java:104) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.transform(MapServiceBean.java:40) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0.transform(MapServiceRemoteObjectImpl0_0.java:167) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0p4_Skel.dispatch(MapServiceRemoteObjectImpl0_0p4_Skel.java:104) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) -
    at com.sap.engine.lib.xsl.xslt.XSLStylesheet.process(XSLStylesheet.java:377) at com.sap.engine.lib.jaxp.TransformerImpl.transformWithStylesheet(TransformerImpl.java:398) at com.sap.engine.lib.jaxp.TransformerImpl.transform(TransformerImpl.java:240) at com.sap.aii.ibrep.server.mapping.ibrun.RepMappingTransformer.transform(RepMappingTransformer.java:150) at com.sap.aii.ibrep.server.mapping.ibrun.RepXSLTMapping.execute(RepXSLTMapping.java:81) at com.sap.aii.ibrep.server.mapping.ibrun.RepMappingHandler.run(RepMappingHandler.java:80) at com.sap.aii.ibrep.server.mapping.rt.MappingHandlerAdapter.run(MappingHandlerAdapter.java:107) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInterfaceMapping(ServerMapService.java:127) at com.sap.aii.ibrep.server.mapping.ServerMapService.transform(ServerMapService.java:104) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.transform(MapServiceBean.java:40) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0.transform(MapServiceRemoteObjectImpl0_0.java:167) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0p4_Skel.dispatch(MapServiceRemoteObjectImpl0_0p4_Skel.java:104) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Caused by: com.sap.engine.lib.xml.util.NestedException: Variable '$maildata' has not been bound to a value at com.sap.engine.lib.xsl.xpath.ETVariableReference.evaluate(ETVariableReference.java:42) at com.sap.engine.lib.xsl.xpath.ETFunction.evaluate(ETFunction.java:83) at com.sap.engine.lib.xsl.xpath.XPathProcessor.innerProcess(XPathProcessor.java:56) at com.sap.engine.lib.xsl.xpath.XPathProcessor.process(XPathProcessor.java:43) at com.sap.engine.lib.xsl.xpath.XPathProcessor.process(XPathProcessor.java:51) at com.sap.engine.lib.xsl.xslt.XSLVariable.process(XSLVariable.java:132) at com.sap.engine.lib.xsl.xslt.XSLTopVariable.process(XSLTopVariable.java:42) at com.sap.engine.lib.xsl.xslt.XSLStylesheet.process(XSLStylesheet.java:360) ... 20 more
    TransfromerException during XSLT processing:
    javax.xml.transform.TransformerException: com.sap.engine.lib.xml.util.NestedException: -> com.sap.engine.lib.xml.util.NestedException: Variable '$maildata' has not been bound to a value at com.sap.engine.lib.jaxp.TransformerImpl.transform(TransformerImpl.java:251) at com.sap.aii.ibrep.server.mapping.ibrun.RepMappingTransformer.transform(RepMappingTransformer.java:150) at com.sap.aii.ibrep.server.mapping.ibrun.RepXSLTMapping.execute(RepXSLTMapping.java:81) at com.sap.aii.ibrep.server.mapping.ibrun.RepMappingHandler.run(RepMappingHandler.java:80) at com.sap.aii.ibrep.server.mapping.rt.MappingHandlerAdapter.run(MappingHandlerAdapter.java:107) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInterfaceMapping(ServerMapService.java:127) at com.sap.aii.ibrep.server.mapping.ServerMapService.transform(ServerMapService.java:104) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.transform(MapServiceBean.java:40) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0.transform(MapServiceRemoteObjectImpl0_0.java:167) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0p4_Skel.dispatch(MapServiceRemoteObjectImpl0_0p4_Skel.java:104) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Caused by: com.sap.engine.lib.xml.util.NestedException: -> com.sap.engine.lib.xml.util.NestedException: Variable '$maildata' has not been bound to a value at com.sap.engine.lib.xsl.xslt.XSLStylesheet.process(XSLStylesheet.java:377) at com.sap.engine.lib.jaxp.TransformerImpl.transformWithStylesheet(TransformerImpl.java:398) at com.sap.engine.lib.jaxp.TransformerImpl.transform(TransformerImpl.java:240) ... 18 more Caused by: com.sap.engine.lib.xml.util.NestedException: Variable '$maildata' has not been bound to a value at com.sap.engine.lib.xsl.xpath.ETVariableReference.evaluate(ETVariableReference.java:42) at com.sap.engine.lib.xsl.xpath.ETFunction.evaluate(ETFunction.java:83) at com.sap.engine.lib.xsl.xpath.XPathProcessor.innerProcess(XPathProcessor.java:56) at com.sap.engine.lib.xsl.xpath.XPathProcessor.process(XPathProcessor.java:43) at com.sap.engine.lib.xsl.xpath.XPathProcessor.process(XPathProcessor.java:51) at com.sap.engine.lib.xsl.xslt.XSLVariable.process(XSLVariable.java:132) at com.sap.engine.lib.xsl.xslt.XSLTopVariable.process(XSLTopVariable.java:42) at com.sap.engine.lib.xsl.xslt.XSLStylesheet.process(XSLStylesheet.java:360) ... 20 more -
    com.sap.engine.lib.xml.util.NestedException: -> com.sap.engine.lib.xml.util.NestedException: Variable '$maildata' has not been bound to a value at com.sap.engine.lib.xsl.xpath.ETVariableReference.evaluate(ETVariableReference.java:42) at com.sap.engine.lib.xsl.xpath.ETFunction.evaluate(ETFunction.java:83) at com.sap.engine.lib.xsl.xpath.XPathProcessor.innerProcess(XPathProcessor.java:56) at com.sap.engine.lib.xsl.xpath.XPathProcessor.process(XPathProcessor.java:43) at com.sap.engine.lib.xsl.xpath.XPathProcessor.process(XPathProcessor.java:51) at com.sap.engine.lib.xsl.xslt.XSLVariable.process(XSLVariable.java:132) at com.sap.engine.lib.xsl.xslt.XSLTopVariable.process(XSLTopVariable.java:42) at com.sap.engine.lib.xsl.xslt.XSLStylesheet.process(XSLStylesheet.java:360) at com.sap.engine.lib.jaxp.TransformerImpl.transformWithStylesheet(TransformerImpl.java:398) at com.sap.engine.lib.jaxp.TransformerImpl.transform(TransformerImpl.java:240) at com.sap.aii.ibrep.server.mapping.ibrun.RepMappingTransformer.transform(RepMappingTransformer.java:150) at com.sap.aii.ibrep.server.mapping.ibrun.RepXSLTMapping.execute(RepXSLTMapping.java:81) at com.sap.aii.ibrep.server.mapping.ibrun.RepMappingHandler.run(RepMappingHandler.java:80) at com.sap.aii.ibrep.server.mapping.rt.MappingHandlerAdapter.run(MappingHandlerAdapter.java:107) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInterfaceMapping(ServerMapService.java:127) at com.sap.aii.ibrep.server.mapping.ServerMapService.transform(ServerMapService.java:104) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.transform(MapServiceBean.java:40) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0.transform(MapServiceRemoteObjectImpl0_0.java:167) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0p4_Skel.dispatch(MapServiceRemoteObjectImpl0_0p4_Skel.java:104) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) -
    at com.sap.engine.lib.xsl.xslt.XSLStylesheet.process(XSLStylesheet.java:377) at com.sap.engine.lib.jaxp.TransformerImpl.transformWithStylesheet(TransformerImpl.java:398) at com.sap.engine.lib.jaxp.TransformerImpl.transform(TransformerImpl.java:240) at com.sap.aii.ibrep.server.mapping.ibrun.RepMappingTransformer.transform(RepMappingTransformer.java:150) at com.sap.aii.ibrep.server.mapping.ibrun.RepXSLTMapping.execute(RepXSLTMapping.java:81) at com.sap.aii.ibrep.server.mapping.ibrun.RepMappingHandler.run(RepMappingHandler.java:80) at com.sap.aii.ibrep.server.mapping.rt.MappingHandlerAdapter.run(MappingHandlerAdapter.java:107) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInterfaceMapping(ServerMapService.java:127) at com.sap.aii.ibrep.server.mapping.ServerMapService.transform(ServerMapService.java:104) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.transform(MapServiceBean.java:40) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0.transform(MapServiceRemoteObjectImpl0_0.java:167) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0p4_Skel.dispatch(MapServiceRemoteObjectImpl0_0p4_Skel.java:104) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Caused by: com.sap.engine.lib.xml.util.NestedException: Variable '$maildata' has not been bound to a value at com.sap.engine.lib.xsl.xpath.ETVariableReference.evaluate(ETVariableReference.java:42) at com.sap.engine.lib.xsl.xpath.ETFunction.evaluate(ETFunction.java:83) at com.sap.engine.lib.xsl.xpath.XPathProcessor.innerProcess(XPathProcessor.java:56) at com.sap.engine.lib.xsl.xpath.XPathProcessor.process(XPathProcessor.java:43) at com.sap.engine.lib.xsl.xpath.XPathProcessor.process(XPathProcessor.java:51) at com.sap.engine.lib.xsl.xslt.XSLVariable.process(XSLVariable.java:132) at com.sap.engine.lib.xsl.xslt.XSLTopVariable.process(XSLTopVariable.java:42) at com.sap.engine.lib.xsl.xslt.XSLStylesheet.process(XSLStylesheet.java:360) ... 20 more
    08:42:39 Testende

    Hi Harald,
    I guess this is the IDEX package delivered by SAP?
    In the latest version of the package SAP also deliveres a package for eclipse to test the mappings.
    Also make sure that your data in IS-U (serviceanbieter) is maintained correct!
    Regards Mario

  • Passing chinese character from RFC call between unicode & non unicode syst.

    Hi Experts,
    I am making a RFC call from an ABAP in non unicode system to a Function module in Unicode system and filling the itab fields in ABAP by using move statement and using offset in order to populate amount fields correctly from flat structure tables returned by function module. But i am facing problem in getting chinese characters correctly in return from the Remote Function Module.
            CALL FUNCTION 'ZFXX_GET_CLR_OI'
              STARTING NEW TASK W_TASKNAME
              DESTINATION S_RFCDES-LOW
              PERFORMING F3100_GET_RFC_DATA ON END OF TASK
              EXPORTING
                P_WAERS               = P_WAERS             "Screen Curr
                P_AUGDT               = P_AUGDT             "Clearing date
                P_BUKRS               = P_BUKRS             "Comp Code
              TABLES
                T_SEL_TABLE           = T_SEL_TABLE
                T_OUTPUT              = T_MCDATA
                T_ERRORS              = T_EMCDATA
              EXCEPTIONS
                COMMUNICATION_FAILURE = 1
                SYSTEM_FAILURE        = 2
                OTHERS                = 3.
           MOVE : t_mcdata1-line+0(32)   TO t_succs-awsys,
                   t_mcdata1-line+32(4)   TO t_succs-bukrs,
                   t_mcdata1-line+36(10)  TO t_succs-belnr,
                   t_mcdata1-line+46(4)   TO t_succs-gjahr,
                   t_mcdata1-line+50(1)   TO t_succs-shkzg,
                   t_mcdata1-line+51(2)   TO t_succs-bschl,
                   t_mcdata1-line+53(4)   TO t_succs-gsber,
                   t_mcdata1-line+57(16)  TO t_succs-dmbtr,
                   t_mcdata1-line+73(16)  TO t_succs-wrbtr,
                   t_mcdata1-line+89(5)   TO t_succs-pswsl,
                   t_mcdata1-line+94(6)   TO t_succs-vbund,
                   t_mcdata1-line+100(10) TO t_succs-hkont,
                   t_mcdata1-line+110(10) TO t_succs-prctr,
                   t_mcdata1-line+120(16) TO t_succs-dmbe2,
                   t_mcdata1-line+136(20) TO t_succs-txt20.
            APPEND t_succs.
    Can anybody suggest or advice me on it ? Any help or suggestion would be appreciated.
    Thanks in advance,
    Akash

    .

  • RFC calls with SAP table insert - lock tables

    Hi,
    I have an external server program, which is calling a rfc function many times the same time with different transaction types. There are transaction types, which are downloading information from SAP (only send data back to the caller), and there are transaction types which are uploading data to SAP (inserting/updating data on SAP).
    The function calls are synchronous as the server needs to get feedback directly. The parallel work processes for RFC calls are limited, so a system overload can´t happen.
    The problem now is, if the server is down for while and going to be restarted, it´s opening parallel threads and calls the function in SAP at nearly the same time. That means, it will call the function with upload requests (table must be locked), and download requests the same time.
    In the upload requests, the table has to be locked, that it can´t occur that we get wrong entries...
    I can only enqueue the table with just two fields... I know, that is almost like locking the whole table, but it´s not possible to lock it in a different way.
    I tried to use the enqueue function with the parameter WAIT, but it didn´t help, as there where too many parallel calls and after some seconds, they were ending up with an error (Because the table has been locked by another call).
    It seems that it´s trying to lock the table again for all parallel calls at exactly the same time....
    The calls has to be synchronous, as the server needs to get the feedback directly. Any ideas how top solve this, that it handles all incoming calls parallel and waits for the table is unlocked again?
    Thank you for your help!

    Hi,
    thank you for your answer!
    I have investigated something new yesterday:
    I thought at the beginning, that the problem just occurs, when the system work processes are reached. The system has for example set up 15 dialog processes and the external server is calling the function 20 times in parallel. Then we normally need 5 dialog processes more. The system is taking then all 15 dialog processes and the locks got stucked.
    That means, that I´ll maybe only get 4 or 5 uploads, which have really been updated the tables. All the others couldn´t get the table locked for their process.
    But if I now let the server call the function just about 13 times in parallel, nearly all uploads have been updated the table!
    From my point of view, the lock from SAP gets stucked, when the limit of dialog processes is reached. It´s not working in the right way anymore...
    The same is happening, when you set up in the system, that only 10 work proecesses can be used by RFC. If I have more than 10, it´s going to be critical with the locks....
    WEIRD!
    Can anybody help me out of trouble?
    Thank you!

  • How to transfer the webservice username/PW to the RFC call in PI 7.0

    Hey,
    I would like to transfer the username/PW, which is supplied, when a specific web service is called. The web service is supposed to be exposed on PI 7.0 and will transfer the request to a function module in ECC 6.0 via an RFC communication channel in PI 7.0. Typically, you specify the username/PW in the RFC comm. channel in PI, but how do I dynamically specify the received username/PW from the web service call in that RFC call to ECC 6.0? Maybe SAML is the answer, but it seems a bit cumbersome in my case.
    BR
    Mikael

    Hi Michal
    Thanks for the link. I have been looking for blogs/material on how, in a mapping in PI, to place the value of SRemoteUser in a field in the target message but without luck. Is it really the case, that I have to use batch input in order for it to work?
    What is wrong with this code in a UDF where there is no input variable. Will it work?:
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/SOAP", "SRemoteUser");
    String WSuser = conf.put(key);
    return WSuser;
    Or should I skip this UDF all together and in stead use Variable Transport Binding and set XHeaderName1 = SRemoteUser   ?
    Looking forward to your book on iDocs in August
    Mikael

  • RFC Call error..

    Hi All XI Expert,
    I am facing an issue with regard to RFC call from an external system.Business flow is like, Purachase Requisition(PR) is created from Ariba system/application which is passed to SAP via TIBCO Adapter to create Purchase order(PO).As per my understanding the data flow is like this: Ariba PR data's are captured by Ariba Adater and are send to TIBCO ADAPTER.This TIBCO adapter will invoke request-response service from SAP Adapter for operation of SAP RFC calling.Now i am able to successfully create PR/PO from Ariba application with amount(more than $10mn with after decimal value as 00) say $12,000,000.00 / $15,000,000.00. But while creating PR/PO from Ariba application with amount (more than $10mn with after decimal value as other than 00 i.e .99, .78, .05 etc) say $12,000,000.99 / $15,000,000.08, it gives below error which are captured in Ariba side, hence unable to create PR/PO's more than $10mn, however for less than $10mn amount of PR/PO with after decimal value as other than 00 i.e .99, .78, .05 etc, it is successfully getting created.So the problem is amount with more than $10mn PO with after decimal value as other than 00 i.e .99, .78, .05 etc.
    Error found in Ariba side for above scenarion:
    " Thu Apr 09 12:21:49 EDT 2009 (integrationExternal:error:4745): Received a Tibco generated message: 2009 Apr 9 12:21:49:079 GMT -5 SAPAdapter.SAInboundRFC.psap1 Error Application AER3-000185 CallReceive failed for operation Z_ARIBA_PO_PUSH; exception : Unable to interpret 1.10000005E7 as a number., RFC error; Group/Key/Message: 104/CONVT_NO_NUMBER/Unable to interpret 1.10000005E7 as a number.
    Where could be the problem?Does it a TIBCO Adapter config/ SAP adapter Problem / SAP RFC code issue?
    FYI....SAP RFC that is getting called doesnot contain any code of "CONVT_NO_NUMBER" .
    Awaiting your reply guys

    The problem is that in case the value of the amount is greater than $10mn, then it is converting the numeric value into exponential number 1.10000005E7. This is a number but when RFC tries to treat it as a number, it is throwing the exception. At sender Ariba system, you may change some configuration to avoid changing of numeric field to exponential field and problem would get resolved.
    Regards,
    Prateek

  • RFC call Problem

    Hi,
    I am facing a problem in a RFC call. I am calling a RFC, residing in R3, from a ABAP Web Dynpro Component in ABAP Stack.
    When I test this RFC in R3, it returns the data perfectly. But when it is called from the ABAP Stack(with 'DESTINATION' ), it
    populates only one of the seven fields of the structure to be returned. The same RFC works perfect in Devlopment and Quality,
    but not in Production.
    I checked the structures in both the system, i.e. DEV and PRD, they are identical.
    Can anyone tell me, what are the possibler reasons for the same?
    Thanks in advance.
    Best Regards,
    Sagar

    Hi,
    Thanks for you prompt reply. The problem was with the authorization that was given to the ID, used for RFC connection. 
    Thanks once again.
    Best Regards,
    Sagar

  • Error with Asynchronous RFC call to JDBC

    Hi all,
    We are working on a scenarion where in we have to make an asynchronous RFC call to JDBC.
    We have configured RFC sender adapter following this weblog
    /people/michal.krawczyk2/blog/2005/03/29/configuring-the-sender-rfc-adapter--step-by-step
    We have created data types only for the database as RFC does not require any data types.
    And also we have created message types,message interfaces accordingly.
    In Message Mappping,we mapped the export parameters of RFC to the access fields of database message type.
    Also we have created sender agreement,interface determinations etc.... accordingly
    And for sending RFC request asynchronously we followed this weblog
    /people/swaroopa.vishwanath/blog/2006/12/28/send-rfc-to-sap-xi-150-asynchronous
    Once done with all the above steps we could able to trigger the RFC call and caught with the following errors in SXMB_MONI and no errors are seen in communication monitoring
    SOAP Error:
    +<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>+
    +- <!--  Request Message Mapping+
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>Application</SAP:Category>
       <SAP:Code area="MAPPING">EXCEPTION_DURING_EXECUTE</SAP:Code>
      <SAP:P1>com/sap/xi/tf/_curr_exg_mm2_</SAP:P1>
    <SAP:P2>com.sap.aii.utilxi.misc.api.BaseRuntimeException</SAP:P2>
      <SAP:P3>RuntimeException in Message-Mapping transformatio~</SAP:P3>
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" /> <SAP:Stack>com.sap.aii.utilxi.misc.api.BaseRuntimeException thrown during application mapping com/sap/xi/tf/_curr_exg_mm2_: RuntimeException in Message-Mapping transformatio~</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    Also trace shows the following error thogh the interface determinations are properly configured
    <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST" />
    - <!--  ************************************
      -->
      <Trace level="1" type="T">--start sender interface action determination</Trace>
      <Trace level="1" type="T">select interface BAPI_EXCHRATE_GETCURRENTRATES*</Trace>
      <Trace level="1" type="T">select interface namespace urn:sap-com:document:sap:rfc:functions</Trace>
      <Trace level="1" type="T">no interface found</Trace>
      <Trace level="1" type="T">--start receiver interface action determination</Trace>
      <Trace level="1" type="T">Loop 0000000001</Trace>
      <Trace level="1" type="T">select interface *</Trace>
      <Trace level="1" type="T">select interface namespace</Trace>
      <Trace level="1" type="T">no interface found</Trace>
      <Trace level="1" type="T">--no sender or receiver interface definition found</Trace>
      <Trace level="1" type="T">Hence set action to DEL</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-PERSIST_READ_MESSAGE" />
      <Trace level="1" type="T">Note: the following trace entry is written delayed (after read from persist)</Trace>
      <Trace level="1" type="B" name="SXMS_ASYNC_EXEC" />
    - <!--  ************************************
      -->
      <Trace level="1" type="T">----</Trace>
      <Trace level="1" type="T">Starting async processing with pipeline CENTRAL</Trace>
    the above errors are shown as part of request mapping..
    Can any one please let me know what other configurations do we need to do?
    I did not map the RFC import parameters,do we need to do that
    Any help in this regard is really appreciated
    Rgds,
    Santhosh

    Hi,
    I am really happy to hear that the problem with mapping is resolved.
    Now as per your requirment It needs to be aynschornous RFC--> XI ---> JDBC call. In XI you should map the RFC Export parameters to the traget structure of JDBC.
    then the question is to how to trigger the RFC Function Module in R/3 to XI.
    Plesae follow below steps to trigger it from SAP R/3
    1. Create a RFC in the R/3 system
    2. Configure the SM59 and Sender Communication channle as given in the Michal's blog. Also test if it is succesful.
    /people/michal.krawczyk2/blog/2005/03/29/configuring-the-sender-rfc-adapter--step-by-step
    3. Import the RFC in XI
    4. Do the mapping to the target strucutre
    5. Configure the JDBC receiver adapter
    /people/sameer.shadab/blog/2005/10/24/connecting-to-ms-access-using-receiver-jdbc-adapter-without-dsn
    6. You can trigger the RFC from R/3 sytem by using
    Async Call - in ABAP program use below syntax to call RFC. Here the export parameters will be passed on to XI which further have mapped to JDBC.
    CALL Function "RFC Name" IN BACKGROUND TASK destination <sm59 destination>
    COMMIT WORK.
    Sync Call
    CALL Function "RFC Name" destination <sm59 destination>
    Thanks
    Swarup
    Edited by: Swarup Sawant on Jan 27, 2008 9:14 AM

  • Dynamic queue selection with Asynchronous RFC call

    Hi Experts,
    I have a new requirement in designing the business process thru XI. The scenario is posting production orders from a web service thru XI to R3 ( RFC calls). The requirement is that the production orders may come from different plant (Plant and production line combination). So in order to faciliate the load balancing we need to dynamically allot all the process orders from a Plant to single or two queues ( by queues i mean the queuing of the RFC requests with QoS = EO or EOIO). So dynamic selection of queues (XBIXnn) is possible in XI ?.
    Please let me know in case you need further clarification on this
    Thanks in advance

    Rajesh,
    Some more interesting read from,
    http://help.sap.com/saphelp_nw04/helpdata/en/43/65ce41ae343e2be10000000a1553f6/content.htm
    <i>Define Quality of Service (EOIO)
           8.      Specify EOIO (Exactly Once in Order) as the quality of service, as required.
    Messages are then delivered in the same sequence that they are sent in by the integration process.
                                a.      Specify a queue in the Queue Name field.
    You can choose the name of the queue yourself.
    Max. length: 16 characters
    Permitted characters are alphanumeric characters and the following special characters:
    / (slash)
    _ (underscore)
    - (hyphen)
    All send steps that have the same queue name are delivered in the sequence that they are sent in by the integration process.</i> 
    Should be possible if you use a BPM.
    Regards
    Bhavesh

  • Finding caller program in a RFC call

    Hi experts,
    We are having lots of CALL_FUNCTION_NOT_FOUND short dumps in one of our systems. The errors are caused because other systems call a function that does not exist, so the dumps are created.
    What we would like to know is what program is doing these calls, since all we can see in the short dump is the caller system and the function it is trying to access, but not the exact program where the call is performed so we can fix the code.
    Thanks in advance for your support.

    Sorry if this is too much of a wall of text, I can't find an "attach file" type feature.
    ABAP runtime errors    CALL_FUNCTION_NOT_FOUND
           Occurred on     11.12.2006 at 10:04:34
    Function module "Y_EF_DETERMINE_PICTURE" not found.
    What happened?
    The function module "Y_EF_DETERMINE_PICTURE" was called, but cannot be
    found in the Function Library.
    The current ABAP/4 program "SAPMSSY1 " had to be terminated because
    one of the statements could not be executed.
    This is probably due to an error in the ABAP/4 program.
    What can you do?
    Note the actions and input that caused the error.
    Inform your SAP system administrator.
    You can print out this message by choosing "Print". Transaction ST22
    allows you to display and manage termination messages, including keeping
    them beyond their normal deletion date.
    Error analysis
    The program "SAPMSSY1 " contains a CALL FUNCTION statement. The name
    of the function module to be called is "Y_EF_DETERMINE_PICTURE".
    No function module exists with the name "Y_EF_DETERMINE_PICTURE".
    All function modules are stored in the Function Builder (SE37).
    Possible reasons:
    a) Wrong name specified. Particular attention should be paid
       to upper/lower case and underscores ("_").
    or
    b) Transport error
    c) In the case of an enqueue/dequeue module, the lock object
       may not have been activated (ABAP Dictionary).
    How to correct the error
    Check the last transports to the R/3 System.
    Is the program "SAPMSSY1 " currently being changed?
    If an enqueue/dequeue module is involved, is the activation
    of the lock object missing in the ABAP/4 Dictionary?
    If the error occurred in a non-modified SAP program, you may be
    able to find a solution in the SAP note system.
    If you have access to the note system yourself, use the following
    search criteria:
    "CALL_FUNCTION_NOT_FOUND"
    "SAPMSSY1 " or "SAPMSSY1 "
    "REMOTE_FUNCTION_CALL"
    Function modules with names similar to "Y_EF_DETERMINE_PICTURE":
    Y_EF_USEX_DETERMINE_TAX
    Y_GF1_DETERMINE_RECTYPE
    Y_GK_DETERMINE_PRCTR
    Y_EF_USEX_PICTURE_SUBMIT
    Y_EF_USEX_SHOW_PICTURE
    Y_EF_RFC_PICTURE_POST
    Y_GF1_DETERMINE_SBU
    Y_GF_DETERMINE_VERSION
    Y_GF_DETERMINE_DATE_PREVMON
    Y_GF1_DETERMINE_CURRENT_PERIOD
    If you cannot solve the problem yourself, please send the
    following documents to SAP:
    1. A hard copy print describing the problem.
       To obtain this, select the "Print" function on the current screen.
    2. A suitable hardcopy prinout of the system log.
       To obtain this, call the system log with Transaction SM21
       and select the "Print" function to print out the relevant
       part.
    3. If the programs are your own programs or modified SAP programs,
       supply the source code.
       To do this, you can either use the "PRINT" command in the editor or
       print the programs using the report RSINCL00.
    4. Details regarding the conditions under which the error occurred
       or which actions and input led to the error.
    System environment
    SAP Release.............. "46C"
    Application server....... "sapgp1s"
    Network address.......... "52.99.71.21"
    Operating system......... "AIX"
    Release.................. "5.3"
    Hardware type............ "00C4449E4C00"
    Database server.......... "sapgp1s"
    Database type............ "DB6"
    Database name............ "GP1"
    Database owner........... "SAPR3"
    Character set............ "en_US.ISO8859-1"
    SAP kernel............... "46D"
    Created on............... "Aug 26 2005 22:40:31"
    Created in............... "AIX 1 5 0056AA8A4C00"
    Database version......... "DB6_71 "
    Patch level.............. "2113"
    Patch text............... " "
    Supported environment....
    Database................. "DB6 06., DB6 07., DB6 08.*"
    SAP database version..... "46D"
    Operating system......... "AIX 1 4, AIX 2 4, AIX 3 4, AIX 1 5, AIX 2 5, AIX 3
    5, , System build information:, -
    , LCHN :
    User, transaction...
    Client.............. 000
    User................ "SAPSYS"
    Language............ "E"
    Transaction......... " "
    Program. ........... "SAPMSSY1 "
    Screen. ............ "SAPMSSY1 3004"
    Line of screen...... 2
    Information about Remote Function Call (RFC) Caller:
    System.............. "WP1 "
    Database release.... "46C "
    Kernel release. .... "46D "
    Connection type. ... "3 " (2 = R/2, 3 = R/3, E = Extern, R = Reg.
    Call type........... "S-" (S = synch., a/A = asynch., T = transactional
    Client.............. 510
    User................ "PC1706 "
    Transaction......... "/COCKPIT/1 "
    Function module..... "Y_EF_DETERMINE_PICTURE"
    Call destination.... "GP1590"
    Source server....... "wsdux44_WP1_10"
    Source IP address... "52.99.71.124"
    Additional information about RFC logon:
    Trusted relationship " "
    Logon return code... " "
    Trusted return code. " "
    Note: In Releases earlier than 4.0, some of the above information about
    RFC calls may not be available.
    Information on where termination occurred
    The termination occurred in the ABAP/4 program "SAPMSSY1 " in
    "REMOTE_FUNCTION_CALL".
    The main program was "SAPMSSY1 ".
    The termination occurred in line 67
    of the source code of program "SAPMSSY1 " (when calling the editor 670).
    Source code extract
    000370   ENDMODULE.
    000380
    000390   MODULE %_RFCDIA_CALL OUTPUT.
    000400       "Do not display screen !
    000410       CALL 'DY_INVISIBLE_SCREEN'.
    000420       PERFORM REMOTE_FUNCTION_DIACALL.
    000430   ENDMODULE.
    000440
    000450   MODULE %_CPIC_START.
    000460     IF SY-XPROG(4) = '%RFC'.
    000470       PERFORM REMOTE_FUNCTION_CALL USING RFCTYPE_EXTERNAL_CPIC.
    000480     ELSE.
    000490       CALL 'APPC_HD' ID 'HEADER' FIELD HEADER ID 'CONVID' FIELD CONVID.
    000500       PERFORM CPIC_CALL USING CONVID.
    000510     ENDIF.
    000520   ENDMODULE.
    000530
    000540
    000550   FORM CPIC_CALL USING CONVID.
    000560     COMMUNICATION SEND ID CONVID BUFFER HEADER.
    000570     IF SY-SUBRC EQ 0.
    000580       PERFORM (SY-XFORM) IN PROGRAM (SY-XPROG).
    000590     ELSE.
    000600       MESSAGE A800.
    000610     ENDIF.
    000620   ENDFORM.
    000630
    000640
    000650   FORM REMOTE_FUNCTION_CALL USING VALUE(TYPE).
    000660     DO.
          CALL 'RfcImport' ID 'Type' FIELD TYPE.
    000680       PERFORM (SY-XFORM) IN PROGRAM (SY-XPROG).
    000690       RSYN >SCONT SYSC 00011111 0.
    000700     ENDDO.
    000710   ENDFORM.
    000720
    000730   FORM REMOTE_FUNCTION_DIASTART.
    000740     DO.
    000750       CALL 'RfcImport' ID 'Type' FIELD RFCTYPE_RFCDIA.
    000760       PERFORM (SY-XFORM) IN PROGRAM (SY-XPROG).
    000770       "Parking position for next request
    000780       RSYN >SCONT SYSC 00011111 10.
    000790       "ALternativ : Free mode
    000800       "COMMIT WORK.
    000810       "SYSTEM-CALL FREE MODE 0.
    000820     ENDDO.
    000830   ENDFORM.
    000840
    000850   FORM REMOTE_FUNCTION_DIACALL.
    000860       SY-XCODE = '%_@no@'.
    Contents of system fields
    SY field contents..................... SY field contents.....................
    SY-SUBRC 0                             SY-INDEX 1
    SY-TABIX 0                             SY-DBCNT 0
    SY-FDPOS 0                             SY-LSIND 0
    SY-PAGNO 0                             SY-LINNO 1
    SY-COLNO 1
    Chosen variables
    Name.......................... Contents.1........2........3....+....4
    SY-XPROG
                                   2222222222222222222222222222222222222222
                                   0000000000000000000000000000000000000000
    SY-XFORM                       Y_EF_DETERMINE_PICTURE
                                   554454454544445544555422222222
                                   9F56F45452D9E5F093452500000000
    %_SPACE
                                   0
                                   0
    SY-MSGID
                                   22222222222222222222
                                   00000000000000000000
    EBC_TO_ASC-X05                 P&QéRêSëTèUíVîWïXìY~ZÜ[$*])^;_^
                                   525E5E5E5E5E5E5E5E575D5252525355
                                   06192A3B485D6E7F8C9EACB4CAD9EBFE
    RFCTYPE_QUEUE                  6
                                   0000
                                   0006
    %_PRINT                            000
                                   2222333222222222222222222222222222222222
                                   0000000000000000000000000000000000000000
    ... +  40
                                   2222222222222222222222222222222222222222
                                   0000000000000000000000000000000000000000
    ... +  80                                0 ########
                                   2222222222320000000022222222222222222222
                                   0000000000000000000000000000000000000000
    ... + 120
                                   22222222
                                   0000000
    SY-MSGNO                       000
                                   333
                                   000
    EBC_TO_ASC-X04                 @ A BâC{DàEáFãGåHçIñJÄK.L<M(N+O!
                                   424A4E474E4E4E4E4E4F4C4243424242
                                   0010223B405163758791A4BECCD8EBF1
    SY-MSGV1
                                   2222222222222222222222222222222222222222
                                   0000000000000000000000000000000000000000
    ... +  40
                                   2222222222
                                   0000000000
    SY-MSGV2
                                   2222222222222222222222222222222222222222
                                   0000000000000000000000000000000000000000
    ... +  40
                                   2222222222
                                   0000000000
    SY-MSGV3
                                   2222222222222222222222222222222222222222
                                   0000000000000000000000000000000000000000
    ... +  40
                                   2222222222
                                   0000000000
    SY-MSGV4
                                   2222222222222222222222222222222222222222
                                   0000000000000000000000000000000000000000
    ... +  40
                                   2222222222
                                   0000000000
    %_?NOT_ASSIGNED?
                                   2222
                                   0000
    SPACE
                                   2
                                   0
    SY-REPID                       SAPMSSY1
                                   5454555322222222222222222222222222222222
                                   310D339100000000000000000000000000000000
    TYPE                           3
                                   0000
                                   0003
    SYST                           ########################################
                                   0000000000000000000000000000000000000000
                                   0001000000000000000000000000000000000000
    ... +  40                      ########################################
                                   0000000000000000000000000000000000000000
                                   0000000000010000000100000000000000000000
    ... +  80                      ########################################
                                   0000000000000000000000000000000000000000
                                   0000000000000000000000000000000000000000
    ... + 120                      #######################################T
                                   00000000
                                   0000000
    Active calls / events
    No.... Type........ Name..........................
           Programm
           Include                                  Line
         1 FORM         REMOTE_FUNCTION_CALL
           SAPMSSY1
           SAPMSSY1                                    67
         2 MODULE (PBO) %_RFC_START
           SAPMSSY1
           SAPMSSY1                                    31
    Internal notes
    The termination occurred in the function "link_rfdir" of the SAP
    Basis System, specifically in line 165 of the module
    "//bas/46D/src/krn/runt/ablink.c#3".
    The internal operation just processed is "CALY".
    The internal session was started at 20061211100434.
    Active calls in SAP kernel
    => 64 bit R/3 Kernel
    => 64 bit AIX Kernel
    => Heap limit      = unlimited
    => Stack limit     = unlimited
    => Core limit      = 51200000
    => File size limit = unlimited
    => Heap address  = 0x118dba360
    => Stack address = 0xfffffffffff5d50
    => Stack low     =  0xfffffffffff5d50
    => Stack high    =  0xffffffffffff600
    => Stack Trace:
         AixStack() at 0x100059364
         CTrcStack2() at 0x10005945c
         rabax_CStackSave() at 0x10003959c
         ab_rabax() at 0x1000425b4
         link_rfdir() at 0x100540418
         ab_link() at 0x100540a18
         ab_rfcimport() at 0x1005f49f0
         ab_jcaly() at 0x100024560
         ab_extri() at 0x100487474
         ab_xevent() at 0x10059c804
         ab_dstep() at 0x10043bd98
         dynpmcal() at 0x100942f94
         dynppbo0() at 0x100941320
         dynprctl() at 0x100948f40
         dynpen00() at 0x1008f7818
         Thdynpen00() at 0x1001429f4
         TskhLoop() at 0x100146368
         tskhstart() at 0x1001576ac
         DpMain() at 0x100e06e38
         main() at 0x100de72f4
    List of ABAP programs affected
    Type
    Program
    Gen. date  time
    LoadSize
    Prg
    SAPMSSY1
    04.01.2000 19:06:59
    20480
    List of internal tables
    No dump information available
    Directory of application tables (contents)
    Program
      Name..........  Contents.1........2........3....+....
    Directory of data areas (administration information)
    Program
      No.. Name..........  Lgth  Ofsg Type Next Gen date   Gen time
      SYST
           L not assigned -15         0 IN
           M /%_LISTTABLE -14         1 CO 0
           T global stack -13  1      2 GL 0
      SAPMSSY1
           A global data    0         3 DA
           L constant dat   1         4 LI        .0 .0216
           L constant dat   2         5 LI SSY    .0 .018B
           L not assigned   3         6 IN
           L SYST           4         7 TA 0
           L SY             5         8 TA
           L RSJOBINFO      6         9 TA
           M /%_SYS%%       7         0 CO
           M field symbol   8         1 FS
           L TCPIC          9         2 TA
           M field symbol  10         3 FS
           L text pool     11         4 TP
    Directory of data areas (contents)
    Program
      No.. Name.......... Contents..1........2........3....+....
      SYST
           L not assigned   0
           L text pool    102 |SAPMSSY1
    ABAP control blocks CONT
    Include                                 Line source code
    Index Name F1 Co Par01 Par2. Par3. Par4. Tabl
    SAPMSSY1                                   60 MESSAGE A800.
      215 CLEA 00     84
      216 CLEA 00     85
      217 MESS 00     27
    SAPMSSY1                                   62 ENDFORM.
      218 ENDF 00
      219 -
      223 -
    SAPMSSY1                                   65 FORM REMOTE_FUNCTION_CALL USIN
      227 PERP 00     1
      228 PERP 02
    SAPMSSY1                                   66 DO.
      229 WHIL 00  2
      233 WHIL 00  3
      237 BRAN 05 Branch to  251
    SAPMSSY1                                   67 CALL 'RfcImport' ID 'Type' FIE
      238 CALY 00  3  86     70    71     71
    >>>>> CALY 02     87    P0
    SAPMSSY1                                   68 PERFORM (SY-XFORM) IN PROGRAM
      246 xper 02     12     13
      248 PERP 80
    SAPMSSY1                                   69 RSYN >SCONT SYSC 00011111 0.
      249 SYSC 1F
    SAPMSSY1                                   70 ENDDO.
      250 BRAX 00 Branch to  233
      251 WHIL 00  4
    SAPMSSY1                                   71 ENDFORM.
      255 ENDF 00
      256 -
    End of runtime analysis

  • Disable Vertex Tax Jurisdiction Code Validation & RFC Call

    We want to disable calling vertex for tax jurisdiction code in some cases based on sales org & division.  For a small business unit we are using SAP ECC 5.0 SD module to create customers & sales orders.  These orders are placed via a external non-SAP front-end and are entered into SAP via a BAPI/RFC create customer & create sales order call.  The front-end calculates all the prices and tax and passes that to SAP via the BAPI call.  SAP accepts the prices & tax as-is (due to how we've configured SAP for these types of orders) and does not recalculate price or tax.  However, on SAP we have external tax configured to call Vertex Q Series via Translink which we currently use to determine jurisdiction code & sales tax for other business units & for use tax.  This external non-SAP front-end does not have any address validation therefore the addresses we receive are not always good (ex. they abbreviate or mis-spell cities, etc...) and therefore when saving customer or order addresses via the BAPI calls we receive errors from SAP indicating that the tax jurisdiction code can not be determined.  In these cases we want to NOT call Vertex for automatic tax jurisdiction code check and allow SAP to accept a state level jurisdiction code that we can pass (ex. Minnesota's is 2400000000).  How can we turn off the call to Vertex for tax jurisdiction code check?  Apparently we can use SAP user exit EXIT_SAPLFYTX_USER_001 include ZXFYTU03 but what is the ABAP code to turn this call off for specific sales org & division?
    Regards,
    Jeff

    Hi,
    You can create the custom tables with the same fields on Vertex and maintain those tables with the same values.
    You can comment the section of RFC call and add your own validations.
    Hope this helps.
    Regards,
    Kranthi

  • RFC call thru Excel

    Hi,
    I am trying to call a RFC (ZTAB_FIELD_DET) by using VBA
    as I am new to this feature I dont know much about the possible causes of some errors.
    here is the code of RFC which will accept the table name, field name and language. And in turn it will return the Datatype of the field its length and description
    **************************RFC Start*******************************:
    FUNCTION ZTAB_FIELD_DET.
    ""Local Interface:
    *"  IMPORTING
    *"     VALUE(I_TNAME) TYPE  TABNAME
    *"     VALUE(I_FNAME) TYPE  FIELDNAME
    *"     VALUE(I_LANG) TYPE  LANG
    *"  EXPORTING
    *"     VALUE(E_DATATYPE) TYPE  DATATYPE_D
    *"     VALUE(E_FIELDLENGTH) TYPE  DDLENG
    *"     VALUE(E_DESC) TYPE  STRING
    *temporary FM created which can retrieve the field details of a table
      DATA : BEGIN OF wa,
        datatype LIKE dd03l-datatype,
        leng LIKE dd03l-leng,
        reptext LIKE dd03m-reptext,
             END OF wa,
        itab LIKE TABLE OF wa.
      SELECT ldatatype lleng m~reptext
       INTO CORRESPONDING FIELDS OF TABLE itab
       FROM ( dd03l AS l JOIN dd03m AS m
                   ON lfieldname EQ mfieldname AND
                      ltabname EQ mtabname )
       WHERE l~tabname EQ i_tname AND
             l~fieldname EQ i_fname AND
            m~ddlanguage EQ i_lang.
      LOOP AT itab INTO wa.
        e_datatype = wa-datatype.
        e_fieldlength = wa-leng.
        e_desc = wa-reptext.
      ENDLOOP.
    ENDFUNCTION.
    *********************RFC End**********************************
    and now here is the code that i use in VBA
    '*****************VBA start******************************
    Set functionCtrl = CreateObject("SAP.Functions")
    Set sapConnection = functionCtrl.Connection
    sapConnection.client = "xxx"
    sapConnection.user = "xxx"
    sapConnection.Language = "xxx"
    sapConnection.hostname = "xxx"
    sapConnection.Password = "xxx"
    sapConnection.SystemNumber = "xxx"
    sapConnection.Destination = "xxx"
    If sapConnection.logon(0, False) <> True Then
    MsgBox "No connection to R/3!"
    Exit Sub 'End program
    Else
    MsgBox "Connection to R/3 successful"
    ' adding the RFC to functionCtrl Object
    Set RfcCallTransaction = functionCtrl.Add("ZTAB_FIELD_DET")
    RfcCallTransaction.imports("I_TNAME") = "MAKT"
    RfcCallTransaction.imports("I_FNAME") = "MAKTG"
    RfcCallTransaction.imports("I_LANG") = "EN"
    If RfcCallTransaction.Call = True Then
       MsgBox "Datatype" + RfcCallTransaction.imports("E_DATATYPE").Value
       MsgBox "FieldLength" + RfcCallTransaction.imports("E_FIELDLENGTH").Value
       MsgBox "Description" + RfcCallTransaction.imports("E_DESC").Value
       Else
            MsgBox " Call Failed! error: " + GetCustomers.Exception
            functionCtrl.Connection.Logoff
       End If
    End sub
    '************************VBA End*****************************************
    When I run this code, connection to SAP is successful but the
    >><i>Set RfcCallTransaction = functionCtrl.Add("ZTAB_FIELD_DET")</i>
    shows 'RfcCallTransaction' value as 'Nothing'
    and the error message thrown is
    "SAP Datatype not supported"
    and in the debugger it throws
    "Object variable or with block variable not set"
    Need your valuable inputs on this
    Thanks in advance!
    Ranjit.

    It was a problem with type of export params
    after correction it got solved

Maybe you are looking for

  • Web service with attachment

    Hi, Could anyone tell me hos to call a web service with the message Payload as an SOAP attachment? I´m calling from WAS 6.20 -> XI -> WS using a client proxy, but i can´t understand how the Payload becomes an attahcment? Jakob

  • Non Domain Computers Becoming Master Browser

    Hello, I am troubleshooting an issue with the master browser service when an external user connects his workgroup laptop to our domain network and wins the election. The network consists of a domain controller which has the following registry setting

  • DB adapter, XSD not getting generated

    Hi', I am using a DB adapter and using option for "pure sql query", when I paste the sql query the XSD file is not properly getting generated. Its only creating the input part but not generating the output part of the XSD, I have checked the query it

  • [JS][CSX] ScriptUI Tip

    Hi I thought it was about time I contributed back on here, and share a quick tip I stumbled accross. I have attached a screen shot of a dialog to select different scripts from, but you may notice the top text looks bold. To make the text appear bold,

  • I need to reinstall creative cloud, but can't see how.  Nothing works anymore!

    Hi, I've had some issues with my iMac and need to reinstall Creative Cloud.  I no longer have the software to uninstall, and can't see how to reinstall on the Adobe website.  Where do I go from here?