BDC  issues on XD02 ?

Hi, expert:
The customer mass update is planned to be done using a BDC session. It is required that all updated fields go through XD02 validation with the exception of Address Management validation.  Is it possible to skip the Address Management validation for certain fields like House#, Street, Province, etc.
Thanks in advance!

if a field is mandatory or there is a check table for the field.... BDC program will validate it. You can not bypass the validation... BDC is actually the recording of what you do manually.
If you want to bypass validation then you have to use some enhancements or exits before writting the BDC..

Similar Messages

  • BDC issue

    Hi All,
    we have written a bdc for material upload for Tcode MMZ1. all works fine till the Accounting screen where we have to give the valuation type as D. (MBEW-BWTTY). and the Costing Screen we have to manually give enter to cross these screens and then save it. How can i overcome this issue.
    Points vl be rewarded for all suggestions.
    This is the Program - (Problem area is in bold)
    *& Report  Z_GMM
    REPORT  Z_GMM.
    TABLES : RMMG1,MAKT,MARA,MVKE,MG03STEUER,MARC,MPOP,MBEW,RM03M.
    DATA: BEGIN OF IT_MATE OCCURS 1,
    MATNR(16) TYPE C,
    MBRSH(1) TYPE C,
    MTART(4) TYPE C,
    WERKS(4) TYPE C,
    LGORT(4) TYPE C,
    BWTAR(10) TYPE C,
    VKORG(4) TYPE C,
    VTWEG(2) TYPE C,
    REF_MATNR(16) TYPE C,
    REF_WERKS(4) TYPE C,
    REF_LGORT(4) TYPE C,
    REF_BWTAR(10) TYPE C,
    REF_VKORG(4) TYPE C,
    REF_VTWEG(2) TYPE C,
    VERSG(1) TYPE C,
    KTGRM(2) TYPE C,
    MTPOS(4) TYPE C,
    PRMOD(1) TYPE C,
    TAXKM(1) TYPE C,
    KLART(3) TYPE C,
    BWTTY(1) TYPE C,
    END OF IT_MATE.
    DATA: BEGIN OF IT_MATE_ERR OCCURS 1,
    MATNR(16) TYPE C,
    MBRSH(1) TYPE C,
    MTART(4) TYPE C,
    WERKS(4) TYPE C,
    LGORT(4) TYPE C,
    BWTAR(10) TYPE C,
    VKORG(4) TYPE C,
    VTWEG(2) TYPE C,
    REF_MATNR(16) TYPE C,
    REF_WERKS(4) TYPE C,
    REF_LGORT(4) TYPE C,
    REF_BWTAR(10) TYPE C,
    REF_VKORG(4) TYPE C,
    REF_VTWEG(2) TYPE C,
    VERSG(1) TYPE C,
    KTGRM(2) TYPE C,
    MTPOS(4) TYPE C,
    PRMOD(1) TYPE C,
    TAXKM(1) TYPE C,
    KLART(3) TYPE C,
    BWTTY(1) TYPE C,
    MSG(100) TYPE C,
    END OF IT_MATE_ERR.
    DATA: IT_BDCDATA LIKE BDCDATA OCCURS 1 WITH HEADER LINE.
    DATA: IT_MSGS LIKE BDCMSGCOLL OCCURS 1 WITH HEADER LINE.
    DATA: V_MSG(100) TYPE C,
    V_MODE,
    V1(20) TYPE C.
    DATA: V_FILE TYPE STRING.
    SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-H01.
    PARAMETERS: P_FILE LIKE RLGRAP-FILENAME OBLIGATORY DEFAULT 'C:\'.
    SELECTION-SCREEN: BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-H02.
    PARAMETERS: P_ALL RADIOBUTTON GROUP G1,
    P_NO RADIOBUTTON GROUP G1 DEFAULT 'X',
    P_ERR RADIOBUTTON GROUP G1.
    SELECTION-SCREEN: END OF BLOCK B2.
    SELECTION-SCREEN: END OF BLOCK B1.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
      PERFORM SHOW_OPEN_DIALOG.
    START-OF-SELECTION.
      PERFORM READ_DATA.
      IF NOT IT_MATE[] IS INITIAL.
        IF P_ALL = 'X'.
          V_MODE = 'A'.
        ELSEIF P_NO = 'X'.
          V_MODE = 'N'.
        ELSE.
          V_MODE = 'E'.
        ENDIF.
        PERFORM POPULATE_BDCDATA.
      ENDIF.
    END-OF-SELECTION.
      IF NOT IT_MATE_ERR[] IS INITIAL.
        PERFORM DOWNLOAD_ERR_REC.
      ENDIF.
    *&      Form  SHOW_OPEN_DIALOG
          text
    FORM SHOW_OPEN_DIALOG .
      CALL FUNCTION 'F4_FILENAME'
        EXPORTING
          PROGRAM_NAME  = SYST-CPROG
          DYNPRO_NUMBER = SYST-DYNNR
          FIELD_NAME    = ' '
        IMPORTING
          FILE_NAME     = P_FILE.
    ENDFORM. " SHOW_OPEN_DIALOG
    *&      Form  READ_DATA
          text
    FORM READ_DATA.
      DATA: V_FILE TYPE STRING.
      V_FILE = P_FILE.
      IF NOT V_FILE IS INITIAL.
        CALL FUNCTION 'GUI_UPLOAD'
          EXPORTING
            FILENAME                = V_FILE
            FILETYPE                = 'ASC'
            HAS_FIELD_SEPARATOR     = 'X'
          TABLES
            DATA_TAB                = IT_MATE
          EXCEPTIONS
            FILE_OPEN_ERROR         = 1
            FILE_READ_ERROR         = 2
            NO_BATCH                = 3
            GUI_REFUSE_FILETRANSFER = 4
            INVALID_TYPE            = 5
            NO_AUTHORITY            = 6
            UNKNOWN_ERROR           = 7
            BAD_DATA_FORMAT         = 8
            HEADER_NOT_ALLOWED      = 9
            SEPARATOR_NOT_ALLOWED   = 10
            HEADER_TOO_LONG         = 11
            UNKNOWN_DP_ERROR        = 12
            ACCESS_DENIED           = 13
            DP_OUT_OF_MEMORY        = 14
            DISK_FULL               = 15
            DP_TIMEOUT              = 16
            OTHERS                  = 17.
      ENDIF.
    ENDFORM. " READ_DATA
    *&      Form  POPULATE_BDCDATA
          text
    FORM POPULATE_BDCDATA .
      LOOP AT IT_MATE.
        perform bdc_dynpro using 'SAPMM03M' '0060'.
        perform bdc_field using 'BDC_OKCODE' '/00'.
        perform bdc_field using 'RM03M-MATNR' IT_MATE-MATNR.
        perform bdc_field using 'RM03M-MBRSH' IT_MATE-MBRSH.
        perform bdc_field using 'RM03M-MTART' IT_MATE-MTART.
        perform bdc_field using 'RM03M-REF_MATNR' IT_MATE-REF_MATNR.
       perform bdc_dynpro using 'SAPMM03M' '0070'.
       perform bdc_field using 'BDC_OKCODE' '=SELA'.
        perform bdc_dynpro using 'SAPMM03M' '0070'.
        perform bdc_field using 'BDC_OKCODE' '=SCHL'.
        perform bdc_field using 'RM03M-KZAU1(01)' 'X'.
        perform bdc_field using 'RM03M-KZAU1(03)' 'X'.
        perform bdc_field using 'RM03M-KZAU1(04)' 'X'.
        perform bdc_field using 'RM03M-KZAU1(05)' 'X'.
        perform bdc_field using 'RM03M-KZAU1(06)' 'X'.
        perform bdc_field using 'RM03M-KZAU1(08)' 'X'.
        perform bdc_field using 'RM03M-KZAU1(09)' 'X'.
        perform bdc_field using 'RM03M-KZAU1(11)' 'X'.
        perform bdc_field using 'RM03M-KZAU1(12)' 'X'.
        perform bdc_field using 'RM03M-KZAU2(02)' 'X'.
        perform bdc_field using 'RM03M-KZAU2(05)' 'X'.
        perform bdc_field using 'RM03M-KZAU2(06)' 'X'.
        perform bdc_dynpro using 'SAPMM03M' '0080'.
        perform bdc_field using 'BDC_OKCODE' '/00'.
        perform bdc_field using 'RM03M-WERKS' IT_MATE-WERKS.
        perform bdc_field using 'RM03M-LGORT' IT_MATE-LGORT.
        perform bdc_field using 'RM03M-VKORG' IT_MATE-VKORG.
        perform bdc_field using 'RM03M-VTWEG' IT_MATE-VTWEG.
        perform bdc_field using 'RM03M-REF_WERKS' IT_MATE-REF_WERKS.
        perform bdc_field using 'RM03M-REF_LGORT' IT_MATE-REF_LGORT.
        perform bdc_field using 'RM03M-REF_VKORG' IT_MATE-REF_VKORG.
        perform bdc_field using 'RM03M-REF_VTWEG' IT_MATE-REF_VTWEG.
        perform bdc_dynpro using 'SAPMM03M' '0210'.
        perform bdc_field using 'BDC_OKCODE' '/00'.
        perform bdc_dynpro using 'SAPMM03M' '0215'.
        perform bdc_field using 'BDC_OKCODE' '/00'.
        perform bdc_dynpro using 'SAPMM03M' '0216'.
        perform bdc_field using 'BDC_OKCODE' '/00'.
        perform bdc_dynpro using 'SAPMM03M' '0212'.
        perform bdc_field using 'BDC_OKCODE' '/00'.
        perform bdc_dynpro using 'SAPMM03M' '0248'.
        perform bdc_field using 'BDC_OKCODE' '/00'.
        perform bdc_dynpro using 'SAPMM03M' '0249'.
        perform bdc_field using 'BDC_OKCODE' '/00'.
        perform bdc_dynpro using 'SAPMM03M' '0252'.
        perform bdc_field using 'BDC_OKCODE' '/00'.
        perform bdc_dynpro using 'SAPMM03M' '0260'.
        perform bdc_field using 'BDC_OKCODE' '/00'.
        perform bdc_dynpro using 'SAPMM03M' '0270'.
        perform bdc_field using 'BDC_OKCODE' '/00'.
        perform bdc_dynpro using 'SAPMM03M' '0275'.
        perform bdc_field using 'BDC_OKCODE' '/00'.
        perform bdc_dynpro using 'SAPMM03M' '0280'.
        perform bdc_field using 'BDC_OKCODE' '/00'.
        perform bdc_dynpro using 'SAPMM03M' '0290'.
        perform bdc_field using 'BDC_OKCODE' '/00'.
        perform bdc_field using 'BDC_OKCODE' '=ENTR'.
        perform bdc_dynpro using 'SAPLSPO1' '0300'.
        perform bdc_field using 'BDC_OKCODE' '=YES'.
        CALL TRANSACTION 'MMZ1' USING IT_BDCDATA
            MODE V_MODE
            UPDATE 'S' "SYNCHRONOUS
            MESSAGES INTO IT_MSGS.
        IF SY-SUBRC = 0.
          PERFORM HANDLE_SUCCESS_RECS.
          REFRESH IT_MSGS.
          CLEAR: V_MSG.
        ELSE.
          PERFORM HANDLE_ERROR_RECS.
          REFRESH IT_MSGS.
          CLEAR: V_MSG,
          IT_MATE_ERR.
        ENDIF.
        CLEAR: IT_BDCDATA,
            IT_BDCDATA[].
      ENDLOOP.
    ENDFORM. " POPULATE_BDCDATA
    *&      Form  BDC_DYNPRO
          text
         -->PROGRAM    text
         -->DYNPRO     text
    FORM BDC_DYNPRO USING PROGRAM DYNPRO.
      CLEAR IT_BDCDATA.
      IT_BDCDATA-PROGRAM = PROGRAM.
      IT_BDCDATA-DYNPRO = DYNPRO.
      IT_BDCDATA-DYNBEGIN = 'X'.
      APPEND IT_BDCDATA.
    ENDFORM. "BDC_DYNPRO
    *&      Form  BDC_FIELD
          text
         -->FNAM       text
         -->FVAL       text
    FORM BDC_FIELD USING FNAM FVAL.
      IF NOT FVAL IS INITIAL.
        CLEAR IT_BDCDATA.
        IT_BDCDATA-FNAM = FNAM.
        IT_BDCDATA-FVAL = FVAL.
        APPEND IT_BDCDATA.
      ENDIF.
    ENDFORM. "BDC_FIELD
    *&      Form  HANDLE_SUCCESS_RECS
          text
    FORM HANDLE_SUCCESS_RECS .
      READ TABLE IT_MSGS WITH KEY MSGTYP = 'S'.
      IF SY-SUBRC = 0.
    *--Formatting the message
        CALL FUNCTION 'FORMAT_MESSAGE'
          EXPORTING
            ID        = IT_MSGS-MSGID
            LANG      = SY-LANGU
            NO        = IT_MSGS-MSGNR
            V1        = IT_MSGS-MSGV1
            V2        = IT_MSGS-MSGV2
            V3        = IT_MSGS-MSGV3
            V4        = IT_MSGS-MSGV4
          IMPORTING
            MSG       = V_MSG
          EXCEPTIONS
            NOT_FOUND = 1
            OTHERS    = 2.
        IF SY-SUBRC = 0.
          MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
          WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ELSE.
          WRITE:/ V_MSG.
          CLEAR: V_MSG,
          IT_MSGS.
        ENDIF.
      ENDIF.
    ENDFORM. " HANDLE_SUCCESS_RECS
    *& Form HANDLE_ERROR_RECS
    *text
    FORM HANDLE_ERROR_RECS .
      READ TABLE IT_MSGS WITH KEY MSGTYP = 'E'.
      IF SY-SUBRC = 0.
    *--Formatting the message
        CALL FUNCTION 'FORMAT_MESSAGE'
          EXPORTING
            ID        = IT_MSGS-MSGID
            LANG      = SY-LANGU
            NO        = IT_MSGS-MSGNR
            V1        = IT_MSGS-MSGV1
            V2        = IT_MSGS-MSGV2
            V3        = IT_MSGS-MSGV3
            V4        = IT_MSGS-MSGV4
          IMPORTING
            MSG       = IT_MATE_ERR-MSG
          EXCEPTIONS
            NOT_FOUND = 1
            OTHERS    = 2.
        IF SY-SUBRC = 0.
          MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
          WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ELSE.
          MOVE-CORRESPONDING IT_MATE TO IT_MATE_ERR.
          APPEND IT_MATE_ERR.
          DELETE IT_MATE INDEX SY-TABIX.
          CLEAR IT_MATE_ERR.
        ENDIF.
      ENDIF.
    ENDFORM. " HANDLE_ERROR_RECS
    *& Form DOWNLOAD_ERR_REC
    *text
    FORM DOWNLOAD_ERR_REC .
      V1 = P_FILE(3).
      SHIFT P_FILE BY 3 PLACES LEFT.
      CONCATENATE 'ERR_' P_FILE INTO P_FILE.
      CONCATENATE V1 P_FILE INTO P_FILE.
      V_FILE = P_FILE.
      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
      BIN_FILESIZE                    =
          FILENAME                        = 'C:\ERR_MMZ1.XLS'
         FILETYPE                        = 'ASC'
      APPEND                          = ' '
         WRITE_FIELD_SEPARATOR           = 'X'
      HEADER                          = '00'
      TRUNC_TRAILING_BLANKS           = ' '
      WRITE_LF                        = 'X'
      COL_SELECT                      = ' '
      COL_SELECT_MASK                 = ' '
      DAT_MODE                        = ' '
      CONFIRM_OVERWRITE               = ' '
      NO_AUTH_CHECK                   = ' '
      CODEPAGE                        = ' '
      IGNORE_CERR                     = ABAP_TRUE
      REPLACEMENT                     = '#'
      WRITE_BOM                       = ' '
      TRUNC_TRAILING_BLANKS_EOL       = 'X'
      WK1_N_FORMAT                    = ' '
      WK1_N_SIZE                      = ' '
      WK1_T_FORMAT                    = ' '
      WK1_T_SIZE                      = ' '
      WRITE_EOL                       = ABAP_TRUE
    IMPORTING
      FILELENGTH                      =
        TABLES
          DATA_TAB                        =  IT_MATE_ERR
      FIELDNAMES                      =
       EXCEPTIONS
         FILE_WRITE_ERROR                = 1
         NO_BATCH                        = 2
         GUI_REFUSE_FILETRANSFER         = 3
         INVALID_TYPE                    = 4
         NO_AUTHORITY                    = 5
         UNKNOWN_ERROR                   = 6
         HEADER_NOT_ALLOWED              = 7
         SEPARATOR_NOT_ALLOWED           = 8
         FILESIZE_NOT_ALLOWED            = 9
         HEADER_TOO_LONG                 = 10
         DP_ERROR_CREATE                 = 11
         DP_ERROR_SEND                   = 12
         DP_ERROR_WRITE                  = 13
         UNKNOWN_DP_ERROR                = 14
         ACCESS_DENIED                   = 15
         DP_OUT_OF_MEMORY                = 16
         DISK_FULL                       = 17
         DP_TIMEOUT                      = 18
         FILE_NOT_FOUND                  = 19
         DATAPROVIDER_EXCEPTION          = 20
         CONTROL_FLUSH_ERROR             = 21
         OTHERS                          = 22.
      IF SY-SUBRC = 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ELSE.
        MESSAGE I000(Z00) WITH 'Error File downloaded at' V_FILE.
      ENDIF.
    ENDFORM. " DOWNLOAD_ERR_REC

    Hi,
    In your code just try and replace the lines
    perform bdc_dynpro using 'SAPMM03M' '0290'.
    perform bdc_field using 'BDC_OKCODE' '/00'.
    perform bdc_field using 'BDC_OKCODE' '=ENTR'.
    perform bdc_dynpro using 'SAPLSPO1' '0300'.
    perform bdc_field using 'BDC_OKCODE' '=YES'.
    with this code and see if it helps.Please add you itab fields at necessary places in this code.
    perform bdc_dynpro      using 'SAPMM03M' '0290'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'MARA-MEINS'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'MARA-MEINS'
                                  record-MEINS_014.
    perform bdc_field       using 'MBEW-EKALR'
                                  record-EKALR_015.
    perform bdc_field       using 'MARC-LOSGR'
                                  record-LOSGR_016.
    perform bdc_field       using 'MBEW-BKLAS'
                                  record-BKLAS_017.
    perform bdc_field       using 'MBEW-BWTTY'
                                  record-BWTTY_018.
    perform bdc_field       using 'MBEW-VPRSV'
                                  record-VPRSV_019.
    perform bdc_field       using 'MBEW-PEINH'
                                  record-PEINH_020.
    perform bdc_dynpro      using 'SAPLSPO1' '0300'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=YES'.
    Reward points if useful
    Regards,
    Bhavin P Shah

  • Reg : BDC issue while updating infotype 40 inside BADI class method

    Hi Friends,
         Actually in my badi class, there is a method where i need to save the infotype fields including comment fields.. So with BDC recording i recorded screen fields and passing the pernr internal table values to recorded pernr values.. by doing this im getting error and so BDC is not upadting the data.. moreover if i pass directly pernr number within single quotes, BDC is working fine and data is getting updated..
    bdc_field        'RP50G-PERNR'   pernr.  --> Error Message while calling transaction through BDC
    bdc_field        'RP50G-PERNR'   '00001234'  ---> updating successfully..
    1. Tell me whether the issue is with BADI or wat ? means we cant able to use BDC inside badi ?
    2. I also tried changing my internal table value of pernr to type 'C' of length 8.. eventhough its showing error..
    Please tell me what i need to do .... ?

    Hi  Dilek Ersoz Adak ,
      I also tried with that, but getting same error..  Below is my error im getting while updating BDC through call transaction,
    1     PA30     SAPMP50A     1000     E     K     PBAS_SERVICE     001     HRADMIN     EPPRELE 00000121     HRAdministrator          CTU     RP50G-PERNR
              Person is treated already by the HR Administrator

  • BDC issues in FB60 while posting through proxy

    Hi All,
    I have created a BDC for FB 60 & FB65. Now, the requirement is that Data will come from XI as inbound proxy and the code will get executed. XI sends a separate file for each record. That is if 10 documents are to be created from FB 60 , then XI will send 10 separate files at the same time to ECC. This particular design is creating the issue.
    What happens is 10 files are getting executed at the same time in ECC and few records are getting created properly and few are failing. The error status shows that it is holding a wrong company code. Probably the reason for this failure is the company code that needs to be set everytime in FB60 or 65 .  As we know these are two tcodes where once we set the Co. Code it holds the value for that logon .  I have written the code in such a way that everytime the co. code will be reset but since all the files are getting executed right at the same moment, somehow there is some clash.
    If I send the records as a single file from XI, it works out perfectly. But the need from Xi is to send them in separate files and at the same time.
    Please suggest me is there any way to handle this issue.

    Hi
    Try making your Inbound interface in XI as Synchronous so that you will receive files one by one. In case of any error return the reposne back to XI so that you know which records failed. This seems a good option for you.
    Else You can also make your proxy behave EOIO. Refer below link. But error handling will be an issue. If any message fails youe queue will be stucked till somebody clears that one.
    http://help.sap.com/saphelp_nw04/helpdata/en/65/40c9a4a1fa476288ac61b5fcc6bbde/frameset.htm
    Regards
    Vinit

  • BDC issue background and foreground

    Hiii
    i have already write bdc code using batch input. The data is taken from an excel file . 
    How the program work now is it create a session in SM35 and i can decide to execute the session either in background or foreground. 
    The reson why i did batch input and not call transaction is because i am told that with call transaction you can't execute batch input program in background since the excel file will be loaded from the user desktop.  With call transaction and background execution the file need to be loaded on server first and then take the file from the server to BDC tcode.
    My problem is I need my program to execute automatically without passing though the SM35.  I also need to give the option to user to either execute is in foreground or background.
    BDC code look this:
    Call function "OPEN_BDC"
    group = "ztest"  “I use constant
    keep = "X'
    perform dynpro
    perform fillfield
    call fuction "CLOSE_BDC"
    1)     I am told to use the FM file_open / file_submit / file_close but I don’t really know hat parameter to pass in those FM the file_submit is giving me exception error.
    2)     I tried to use submit program RSBDCSUB .  it create a session in sm35 and have status background job but the session haven’t executed
    3)     All the No1 and No2 is to execute the BDC in background then what about the solution if user what to execute in foreground.
    Please i need precise answer??

    Job_submit is not functioning plzzz ess sample code below because of      invalid_jobdata                   = 3
      CALL FUNCTION 'JOB_OPEN'
        EXPORTING
          jobgroup               = ‘Ztest’ //Session name in SM35
          jobname                = v_jobname
       IMPORTING
         jobcount               = v_jobcount
       EXCEPTIONS
         cant_create_job        = 1
         invalid_job_data       = 2
         jobname_missing        = 3
         OTHERS                 = 4
      IF sy-subrc <> 0.
      ENDIF.
      CALL FUNCTION 'JOB_SUBMIT'
        EXPORTING
          authcknam                         = sy-uname
          jobcount                          = v_jobcount
          jobname                           = v_jobname
         language                           = sy-langu
         report                            = sy-repid
      VARIANT                           = ' '
    IMPORTING
      STEP_NUMBER                       =
       EXCEPTIONS
         bad_priparams                     = 1
         bad_xpgflags                      = 2
         invalid_jobdata                   = 3
         jobname_missing                   = 4
         job_notex                         = 5
         job_submit_failed                 = 6
         lock_failed                       = 7
         program_missing                   = 8
         prog_abap_and_extpg_set           = 9
         OTHERS                            = 10
      IF sy-subrc <> 0.
      ENDIF.
      CALL FUNCTION 'JOB_CLOSE'
        EXPORTING
          jobcount                          = v_jobcount
          jobname                           = v_jobname
       sdlstrtdt                         = sy-uzeit
       sdlstrttm                         = sy-datum
       EXCEPTIONS
         cant_start_immediate              = 1
         invalid_startdate                 = 2
         jobname_missing                   = 3
         job_close_failed                  = 4
         job_nosteps                       = 5
         job_notex                         = 6
         lock_failed                       = 7
         invalid_target                    = 8
         OTHERS                            = 9
      IF sy-subrc <> 0. 
    ENDIF.

  • VK15 BDC issues

    Hi,
    In VK15, I am uploading Condition record through BDC,
    where Its only updating the 14 line items,If its excedding more than 14 lines I am getting error...
    How to upload all excel data at a time ..
    Can anybody suggest me ...with simple example coding
    Thanks
    Kumar

    hi kumar,
    try the below sample code for data upload ,with your transaction.
    TYPES: BEGIN OF T_CDATA,
            ATKLA LIKE CABN-ATKLA,
            ATNAM LIKE CABN-ATNAM,
            ATFOR LIKE CABN-ATFOR,
           END OF T_CDATA.
    TYPES: BEGIN OF T_CCHAR,
             ATWRT(30),
             ATWTB(30),
           END OF T_CCHAR.
    DATA: IT_CDATA TYPE STANDARD TABLE OF T_CDATA,
          IT_CCHAR TYPE STANDARD TABLE OF T_CCHAR,
          IT_BDC TYPE STANDARD TABLE OF BDCDATA WITH HEADER LINE.
    DATA: WA_CDATA TYPE T_CDATA,
          WA_BDC TYPE BDCDATA,
          WA_CCHAR TYPE T_CCHAR.
    PARAMETERS: P_ATKLA     LIKE CABN-ATKLA OBLIGATORY,
                P_FNAME  LIKE RLGRAP-FILENAME OBLIGATORY.
    CONSTANTS: C_TCODE LIKE TSTC-TCODE VALUE 'CT04'.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fname.
      PERFORM f_get_f4_help USING p_fname.
    START-OF-SELECTION.
    SELECT ATKLA ATNAM ATFOR INTO  TABLE IT_CDATA
                              FROM  CABN
                              WHERE ATKLA = P_ATKLA.
    IF NOT IT_CDATA[] IS INITIAL.
       PERFORM UPLOAD_DATA.
      PERFORM BDC_OPEN_GROUP.
       LOOP AT IT_CDATA INTO WA_CDATA.
        REFRESH: IT_BDC.
        PERFORM BDC_UPLOAD_DATA.
        PERFORM BDC_CALL_TRANS.
       PERFORM BDC_UPLOAD.
        CLEAR WA_CDATA.
       ENDLOOP.
    PERFORM BDC_CLOSE_GROUP.
    ENDIF.
    *&      Form  UPLOAD_DATA
          text
    -->  p1        text
    <--  p2        text
    FORM UPLOAD_DATA .
    UPLOAD DATA USING GUI_UPLOAD
    DATA: l_v_filename TYPE string.
    CONSTANTS: l_c_asc TYPE filetype VALUE 'ASC',
               l_c_x   TYPE char1 VALUE 'X'.
    l_v_filename = p_fname.
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
       FILENAME                      = l_v_filename
       FILETYPE                      = l_c_asc
       HAS_FIELD_SEPARATOR           = l_c_x
      HEADER_LENGTH                 = 0
      READ_BY_LINE                  = 'X'
      DAT_MODE                      = ' '
      CODEPAGE                      = ' '
      IGNORE_CERR                   = ABAP_TRUE
       REPLACEMENT                   = ','
      CHECK_BOM                     = ' '
    IMPORTING
      FILELENGTH                    =
      HEADER                        =
      TABLES
        DATA_TAB                      = IT_CCHAR
    EXCEPTIONS
      FILE_OPEN_ERROR               = 1
      FILE_READ_ERROR               = 2
      NO_BATCH                      = 3
      GUI_REFUSE_FILETRANSFER       = 4
      INVALID_TYPE                  = 5
      NO_AUTHORITY                  = 6
      UNKNOWN_ERROR                 = 7
      BAD_DATA_FORMAT               = 8
      HEADER_NOT_ALLOWED            = 9
      SEPARATOR_NOT_ALLOWED         = 10
      HEADER_TOO_LONG               = 11
      UNKNOWN_DP_ERROR              = 12
      ACCESS_DENIED                 = 13
      DP_OUT_OF_MEMORY              = 14
      DISK_FULL                     = 15
      DP_TIMEOUT                    = 16
      OTHERS                        = 17
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    ENDFORM.                    " UPLOAD_DATA
    *&      Form  BDC_OPEN_GROUP
          text
    -->  p1        text
    <--  p2        text
    FORM BDC_OPEN_GROUP .
    OPEN GROUP
    CALL FUNCTION 'BDC_OPEN_GROUP'
    EXPORTING
       CLIENT                    = SY-MANDT
      DEST                      = FILLER8
        GROUP                     = 'ZCHARU'
      HOLDDATE                  = FILLER8
       KEEP                      = 'X'
       USER                      = SY-UNAME
      RECORD                    = FILLER1
       PROG                      = SY-CPROG
    IMPORTING
      QID                       =
    EXCEPTIONS
       CLIENT_INVALID            = 1
       DESTINATION_INVALID       = 2
       GROUP_INVALID             = 3
       GROUP_IS_LOCKED           = 4
       HOLDDATE_INVALID          = 5
       INTERNAL_ERROR            = 6
       QUEUE_ERROR               = 7
       RUNNING                   = 8
       SYSTEM_LOCK_ERROR         = 9
       USER_INVALID              = 10
       OTHERS                    = 11.
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    ENDFORM.                    " BDC_OPEN_GROUP
    *&      Form  BDC_UPLOAD_DATA
          text
    -->  p1        text
    <--  p2        text
    FORM BDC_UPLOAD_DATA .
    CLEAR: WA_CCHAR.
    PERFORM bdc_dynpro USING 'SAPLCTMV' '2100'.
    PERFORM BDC_FIELD USING 'RCTAV-ATNAM' WA_CDATA-ATNAM.
    perform bdc_field using 'BDC_OKCODE' '=ANDE'.
    PERFORM bdc_dynpro USING 'SAPLCTMV' '2100'.
    perform bdc_field using 'BDC_OKCODE' '=WERT'.
    LOOP AT IT_CCHAR INTO WA_CCHAR.
      PERFORM bdc_dynpro USING 'SAPLCTMV' '2100'.
      PERFORM BDC_FIELD USING 'BDC_CURSOR' 'CAWN-ATWRT(01)'.
      perform bdc_field using 'BDC_OKCODE' '=INSE'.
      IF WA_CDATA-ATFOR = 'CHAR'.
        PERFORM bdc_dynpro USING 'SAPLCTMV' '2100'.
        PERFORM BDC_FIELD USING 'BDC_CURSOR' 'CAWN-ATWRT(01)'.
        PERFORM BDC_FIELD USING 'CAWN-ATWRT(01)' WA_CCHAR-ATWRT.
        PERFORM BDC_FIELD USING 'CAWN-ATWTB(01)' WA_CCHAR-ATWTB.
        perform bdc_field using 'BDC_OKCODE' '=/00'.
      ELSE.
        PERFORM bdc_dynpro USING 'SAPLCTMV' '2100'.
        PERFORM BDC_FIELD USING 'BDC_CURSOR' 'CAWN-ATWRT(01)'.
        PERFORM BDC_FIELD USING 'CAWN-ATWRT(01)' WA_CCHAR-ATWRT.
        perform bdc_field using 'BDC_OKCODE' '=/00'.
      ENDIF.
    ENDLOOP.
    PERFORM bdc_dynpro USING 'SAPLCTMV' '2100'.
    perform bdc_field using 'BDC_OKCODE' '=SICH'.
    PERFORM bdc_dynpro USING 'SAPLCTMV' '2100'.
    perform bdc_field using 'BDC_OKCODE' '=BACK'.
    ENDFORM.                    " BDC_UPLOAD_DATA
    *&      Form  BDC_CLOSE_GROUP
          text
    -->  p1        text
    <--  p2        text
    FORM BDC_CLOSE_GROUP .
    CALL FUNCTION 'BDC_CLOSE_GROUP'
    EXCEPTIONS
       NOT_OPEN          = 1
       QUEUE_ERROR       = 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.
    ENDFORM.                    " BDC_CLOSE_GROUP
    *&      Form  BDC_FIRST_SCREEN
          text
    -->  p1        text
    <--  p2        text
    form bdc_dynpro using program dynpro.
    CLEAR IT_BDC.
    IT_BDC-program  = program.
    IT_BDC-dynpro   = dynpro.
    IT_BDC-dynbegin = 'X'.
    append IT_BDC.
    ENDFORM.                    " bdc_dynpro
           Insert field                                                  *
    form bdc_field using fnam fval.
        clear IT_BDC.
        IT_BDC-fnam = fnam.
        IT_BDC-fval = fval.
        append IT_BDC.
    endform.
    *&      Form  BDC_UPLOAD
          text
    -->  p1        text
    <--  p2        text
    FORM BDC_UPLOAD .
    CALL FUNCTION 'BDC_INSERT'
    EXPORTING
       TCODE                  =  C_TCODE
      POST_LOCAL             = NOVBLOCAL
      PRINTING               = NOPRINT
      SIMUBATCH              = ' '
      CTUPARAMS              = ' '
      TABLES
        DYNPROTAB              = IT_BDC
    EXCEPTIONS
      INTERNAL_ERROR         = 1
      NOT_OPEN               = 2
      QUEUE_ERROR            = 3
      TCODE_INVALID          = 4
      PRINTING_INVALID       = 5
      POSTING_INVALID        = 6
      OTHERS                 = 7
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    ENDFORM.                    " BDC_UPLOAD
    *&      Form  f_get_f4_help
          text
         -->P_P_FILE  text
    FORM f_get_f4_help  USING    P_P_FILE.
    *F4 help for file path
      CALL FUNCTION 'F4_FILENAME'
        IMPORTING
          file_name = p_p_file.
    ENDFORM.                    " f_get_f4_help
    *&      Form  BDC_CALL_TRANS
          text
    -->  p1        text
    <--  p2        text
    FORM BDC_CALL_TRANS .
      DATA: IT_BDCMSGCOLL TYPE STANDARD TABLE OF BDCMSGCOLL.
      CLEAR: IT_BDC.
      CALL TRANSACTION 'CT04' USING IT_BDC
                              MODE  'A'
                           MESSAGES INTO IT_BDCMSGCOLL.
      IF SY-SUBRC EQ 0.
      ENDIF.
    ENDFORM.                    " BDC_CALL_TRANS
    hope it helps.try this and if not let us knw where exactly u face the problem.
    Regards,
    Leena.

  • Trouble shoot this BDC Issue

    Hi experts,
    Can anybody trouble shoot this,... program..  and suggest me the remedy ?
    My issue is, After giving the file name in call transaction, I was unable to execute further.
    So please suggest me what to do.....
    regards
    Ram Kumar
    << Unformatable code removed >>
    Edited by: Rob Burbank on Jul 8, 2009 9:16 AM

    That sounds like a problem between your hardware and Java3D - have you checked your OpenGL drivers?

  • XD02 transaction to change the customer data for updating KNA1 table?

    Hi all,
    How can we use XD02 transaction to change the customer data for updating KNA1 table?
    Give the steps.
    Thanks in advance
    rk

    Hi KR,
    Why don't u use BDC to run XD02.
    With Regards,
    Zafar Ali

  • BDC Delete

    I am working on a requirement where I have to delete the data using BDC for transaction XD02. BDC recording is available.
    How can I program the using the BDC available.
    Please explain with a sample program.
    Thank you.

    Hi Kathik,
    I would suggest BAPI always than BDC ,
    I deleted two customers in my system by using BDC ( I did recording )
    See the code below
    report ZTEST_DELETE1
           no standard page heading line-size 255.
    include bdcrecx1.
    start-of-selection.
    perform open_group.
    perform bdc_dynpro      using 'SAPMF02D' '0101'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RF02D-D0110'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'RF02D-KUNNR'
                                  '1010019'.
    perform bdc_field       using 'RF02D-D0110'
                                  'X'.
    perform bdc_dynpro      using 'SAPMF02D' '0110'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'KNA1-NAME1'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=0520'.
    perform bdc_field       using 'KNA1-NAME1'
                                  'p p'.
    perform bdc_field       using 'KNA1-SORTL'
                                  'P'.
    perform bdc_field       using 'KNA1-STRAS'
                                  '112 FULTON ST   s'.
    perform bdc_field       using 'KNA1-ORT01'
                                  'NEW YORK'.
    perform bdc_field       using 'KNA1-PSTLZ'
                                  '10038'.
    perform bdc_field       using 'KNA1-LAND1'
                                  'US'.
    perform bdc_field       using 'KNA1-REGIO'
                                  'NY'.
    perform bdc_field       using 'KNA1-SPRAS'
                                  'EN'.
    perform bdc_dynpro      using 'SAPMF02D' '0520'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'KNA1-LOEVM'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=UPDA'.
    perform bdc_field       using 'KNA1-LOEVM'
                                  'X'.
    perform bdc_transaction using 'XD02'.
    perform close_group.
    You can modify the above code as per ur requirement.
    Thanks
    Seshu

  • How to know KNA1 is updated through any standard programs or Z programs

    Hi Gurus,
                       As we are near to Golive , we had a problem with updation of the KNA1 table .
    Can any one tell us through which program / transaction  we can know how the perticular table is Updated.
    Note: we are facing problem with Transpotatin Zone in Kna1.
    Thanks,
    Sudhakar

    You can do a Where used list for KNA1 and search in Program's...Then see which program is trying to update the KNA1.
    You may also need to consider some of the BAPI's used to update/Create Customer Master Data and you need to do Where used on these BAPI's also.
    BAPI for Customer Creation is 'BAPI_CUSTOMER_CREATE' ,'BAPI_CUSTOMER_CREATEFROMDATA1',
    Also try to search the Program's having BDC for XD01/XD02. For String Search you can use the program "RPR_ABAP_SOURCE_SCAN".
    In case you have a doubt on any program.....Activate the SQL Trace and then Run the Program...noe goto Trace and see which DataBAse Tables are hit and whether KNA1 is there in the list or not.

  • Issue while inserting a BDC program in Inbound Proxy.JDBC-- PI-- SAP.

    The scenerio is jdbcsender-sappi-inboundproxy(ECC6.0).
    The issue is related to SAP Plant Maintenance Module where  We have a requirement for creating Maintenance item
    programmatically from (SQLDatabase)Legacy Data for one of the interface.
    since there are no standard BAPIS/Idocs or function modules available from SAP side for creating the maintenance item. So I
    have written BDC program and with the help of submit statement in inbound proxy program, I am calling BDC program for
    creation of the maintenance item.
    When I tested the program independently on proxy side  the Maintenance Item is getting created successfully but when I
    executed from end-to-end ie.  SQLDATABASE->SAP PI-->SAP. The message is getting strucked into the queue and queue  got stopped on SAP.
    ECC side and the status of the message is scheduled state  on SXMB_MONI  transaction of SAP ECC.
    As the message  is in scheduled state multiple number of Maintenance Items are getting created with the same values.
    Has any one of our SAP friends, encountered this type of issue while inserting a BDC program in inbound proxy, please help 
    in fixing this issue. FYI... I am using sap pi7.0 with service pack 24 and ecc6.0
    Waiting for your kind expert guidance...
    cheers,
    Ram

    Raj,
    Thanks for the reply. I have tried registering the queues but still the same problem. the message got stuck in the queue of ECC and showing below message in queue.
    function module                                    StatusText
    SXMS_ASYNC_EXEC                  connection closed (no data)
    I have checked in the forums especially  for this issue but no one has provided the answer for this.
    Thanks and Regards
    Ram

  • Issue with BDC of ME22N to change gross price of service.

    Hi,
    I have a requirement where I have to undelete the PO > services tab of the item details > change the gross price to the value thats calculated by the program  for each of the services of the PO > set the deletion indicator to the PO.
    The spec says to use a BDC of ME22N to acheive this but after creating the recording I have had several issues with some PO's that interrupt the BDC because they bejave differently from the recording I did.
    On most cases when im running the BDC in foreground after changing the gross price and pressing enter I get a new windowthat appears asking for the account assingment of service, on this window the G/L account information is ussualy passed automatically then the bdc clicks back and the process continues normally. On other services after changing the gross price and pressing enter I get the account assignment of service window but the G/L information is not passed and when the bdc clicks back the G/L account information gets passed instead of going back and the BDC stops, if I manually click back again the process will continue.
    With single service PO's the process is completing, this issue is happening with PO's that have multiple services.
    I know ME22 should be used for BDC and not ME22N, but the functional insists to correct the issues with the BDC of ME22N. Also I atempted to use BAPI_PO_CHANGE but I dont think this bapi can not update the gross price of each of the services, it can change the net price but this is not my requirement.
    Is there a bapi that can change the gross price of each of the services of the PO?
    Please advice me on this.
    Edited by: bodyboarder1 on Dec 2, 2010 3:33 PM

    Hi
    If you really need a BDC program, try to simulate ME22  instead of ME22N
    Max

  • Issue with BDC processing of F-65 after upgrade to ECC 6.0

    Dear ABAP gurus,
                  We have upgraded our SAP system from version 4.7 to ECC 6.0.            
    We are facing issue when processing BDC sessions for transaction code F-65.
    The screen which appears for Assignment to a profitability segment creates issue when processing BDC for F-65.
    The screen name is SAPLKEAK and the corresponding screen number is 0300.
    This screen displays the characteristic and its corrsponding values. The characteristics and its values are pulled in from FICO Config at runtime when you execute F-65 and all relevant Tcodes of business transaction RFBU.
    We checked for the characteristics maintained for Characteristic group via std. transaction code KEPA. It shows 4 characteristics listed of which 2 are optional and 2 are mandatory. The same settings are available in older version as well as in ECC 6.0. Also validated the assignment of characteristic group to the actual data i.e to the business transaction RFBU via Tcode KE4G.
    When we do recording in SHDB in both the systems, the older version shows it correctly displaying 4 fields(2 optional and 2 mandatory) in the Assignment to a profitability segment screen whereas the new system displays some 12 additional fields. Also none of the fields appear mandatory.
    The issue is we are still not able to identify whether this is a technical issue or functional issue.
    Searched for relevant OSS notes but couldn't find any.
    Anyone of you who have faced this issue, please respond immediately.
    We have this issue to be resolved on high priority.
    Help will be highly appreciated.
    Regards,
    Kavita

    This issue was also posted with an OSS-message to SAP, and the solution was to run this  program SD_PLANVALUE_UPDATE
    Berit

  • Issue with ALV sceen called using BDC in new task and in background mode

    Hi Gurus,
    Need your expert advice. I am trying to call one transaction (IS AUTO - VELO) which has ALVs on screen. VELO is being called through BDC in NEW TASK in background. So, the new session is a Dialog session and SY-BATCH is initial here.
    In two different scenarios, I am getting error at two different places:
    a) As I can't call ALV directly, I am using docking container. This is giving issue during 'CREATE OBJECT' -> CONSTRUCTOR for cl_gui_alv_grid ->   if offline( ) is initial. (AS SY-BATCH is initial) -> call method me->set_registered_events_internal exporting events = lt_events. -> call method get_registered_events importing events = lt_events. -> IF H_CONTROL IS INITIAL.     RAISE CNTL_ERROR.   ENDIF.
    b) Call to OLE_FLUSH_CALL is happening, which is resulting into dump.
    I tried to search SDN and google, but couldn't find the solution. Thanks for your help :).
    Regards,
    Alok

    I'm not sure what is eating up your system resources, but .wmv files
    are considered to be a delivery format, and are not ideal for editing.
    I have never tried to edit screen capture video from any source, but you might consider
    upgrading to Expression Encoder 4 Pro (with codecs)... at least it includes H.264.
    Expression Encoder 4 Pro

  • How to get correct index in XD02 BDC

    Hi,
      I’m using XD02 in a BDC pgm to delete multiple e-mail addresses from contact person of a customer based on the details in the spread sheet.
    There can be more than one contact person for a customer,and I’m using KNVK-NAME1 and KNVK-NAMEV to sort all contact person  through an itab to get line index of correct contact person but this index is different from what  BDC  index sequence in SM35. Can some one tell me what’s  the sorting fields that BDC XD02 used for contact person in the hidden code.
    Thanks in advance.
    G.C.

    Hi, Bhaskar :
        Can you tell me more detail of the code? How do I use KNVA-ABALAD in BDC?
    Since I don't know what sequence that BDC going to display so, how can I fill the upload point?
    Thanks,
    G.C.

Maybe you are looking for

  • Duplicate Settings suddenly appearing

    To my surprise I found I had a lot of duplicate names in my Export Templates and Develop Presets. In going to delete the extras, the cause seemed pretty clear, as only yesterday I changed the Preferences to change file names that had a space in it to

  • To create document type related number range

    Dear Experts, I want to maintain number range document typewise say ABC, XYZ, LMN. For these document type i want to maintain internal numcer range. Please suggest. Thanks

  • Rights to Files and Folders

    I've created an application object and Associated a user to it. I've also added to the "Rights to Files and Folders" tab a directory where I want the user of the object, access to a certain folder where the .fil files are at. Full rights given (SRWCE

  • ORA-01003 when using SQL*Loader

    Hi people, Can anyone shed some light on this. We have a multitasked dataload operation that is using SQL*Loader and on occasion we're seeing some rows failing due to ORA-01003 no statement parsed. Could this be due to some shortage of a database res

  • Can't connect to Windows network (ethernet)

    im trying to connect my macbook to existing, enterprise Windows network. im not at all concerned w/ sharing files on my mac... but i would like to be able to: 1) use the (ethernet-based) Windows network for internet (its DHCP-based) 2) use the Window