ASSIGN_BASE_TOO_SHORT

Hi,
I'm calling HR_INFOTYPE_OPERATION and I'm getting a short dump with ASSIGN_BASE_TOO_SHORT error.
It's occuring on the line:
ASSIGN record TO <record> CASTING TYPE (tabname).
and it appears to be because the field symbol <record> is blank?
Can someone please explain what's going on and how I can sort this out?
Regards,
Rob

Runtime Error: ASSIGN_BASE_TOO_SHORT
Cause: The field symbol is structured and the field to be assigned is shorter than the structure.
refer the below link. Hope it helps.
Creation of record in 2001 using FM - HR_INFOTYPE_OPERATION

Similar Messages

  • ASSIGN_BASE_TOO_SHORT in DBPNPF03 (SAPDBPNP)

    Hi,
      I am getting Short Dump in this Program - ASSIGN_BASE_TOO_SHORT in DBPNPF03 (SAPDBPNP).
    Kindly advise me what I have to do for this one. Is there any SAP Note available for this Dump. Also, I have checked the SAP Note. There is no SAP note specific to this Short Dump for this program.
    Kindly check the SAP Message below.
    <i>The source field must at least be as long as the structure.
    If the error occurred in your own ABAP program or in an SAP
    program you modified, try to remove the error.
    If the error occures in a non-modified SAP program, you may be able to
    find an interim solution in an SAP Note.
    If you have access to SAP Notes, carry out a search with the following
    keywords:
    "ASSIGN_BASE_TOO_SHORT" " "
    "SAPDBPNP" or "DBPNPF03"
    "READ-INFOTYPE"</i>
    Regards
    Siva.

    I am getting it too.
    In SAPLHRMM...
    Line 271: ASSIGN record TO <record> CASTING TYPE (tabname).
    Still no solution to this?

  • EREC - ASSIGN_BASE_TOO_SHORT error

    Hi All,
    At a client, they want to enlargen the data model of e-rec. This means adding fields to the standard SAP tables. For example HRP5125.
    I created append structures to do this (best practice as far as I know). On activation, there are no problems.
    I also enhanced the structure P5125 with the same fields. No error on activation.
    Now, when i open the recruiter dashboard in the portal with all the query's (POWL), system tells me there is an error.
    When I go to ST22 I get 
    ASSIGN_BASE_TOO_SHORT
    in
    RH_BASE_READ_INFTY_NNNN
    Function Module
    This happens on line
    ASSIGN bnnnn TO <bnnnn_wa> CASTING TYPE (dbtab).
    data declaration is
    DATA : BEGIN OF bnnnn OCCURS 100.
              INCLUDE STRUCTURE hrinnnn.
      DATA : END   OF bnnnn.
    Does anyone know if I forgot something or how to solve it ?
    Thx

    Hey Jan,
    You've mentioned that you enhanced both structure HRI51xx and P51xx, It's a bit confusing... The only structure you should change, is the CI_P51xx.  The customer include is included in all others.
    The dump ASSIGN_BASE_TO_SHORT means that the structure of the field symbol (dynamicaly defined in T77D-DBTAB), is bigger than the field structure (typed TABLE HRINNNN) . 
    HRINNNN is a generic structure which is composed of the key structure, the historic structure and the VDATA field which has a lenght of 1000 char.  You may check how long is HRP5125, and if it's bigger than 1000chars you will get a dump.  Did you add a string field ?
    best regards
    Hadrien

  • Creation of record in 2001 using FM - HR_INFOTYPE_OPERATION

    Hi fellow ABAP,
    I'm new to using HR_INFOTYPE_OPERATION, I want to make this one an alternative way to create record in IT 2001 instead of using Batch Input.. but it returns me error
    Runtime Errors:         ASSIGN_BASE_TOO_SHORT
    Short text        :        Fehler in ASSIGN-Zuweisung im Programm "SAPLHRMM".
    I ran HR_INFOTYPE_OPERATION at SE37 with these parameters:
    INFTY                   =    '2001'
    NUMBER              =    '00001003'
    SUBTYPE             =    '2250'
    OBJECTID             =   ' '
    LOCKINDICATOR   =   'X'
    VALIDITYEND        =   '06/02/2009'
    VALIDITYBEGIN     =   '06/02/2009'
    RECORDNUMBER =   '000'
    RECORD               =   '2001'
    OPERATION          =   'CREATE'
    TCLAS                   =   'A'
    DIALOG_MODE      =   '0'
    NOCOMMIT            =   'X'
    VIEW_IDENTIFIER  =   ' '
    SECONDARY_RECORD =  ' '
    is there something I missed? and how can I pass value for the creation of IT2001?
    thanks so much in advance...

    Hi Dude,
    Go through this code for 2002..
    tables: pa0001, pa0171, pa0378.
    DATA  BEGIN OF i0378.
            include structure p0378.
    DATA  END   OF i0378.
    DATA: START_DATE LIKE SY-DATUM.
    DATA  RETURN LIKE  BAPIRETURN1.
    selection-screen begin of block p1.
    * This select option allows for testing on limited employees
    * or for splitting the update into multiple runs.
    SELECT-OPTIONS pernr for pa0001-pernr.
    selection-screen end of block p1.
    selection-screen skip.
    selection-screen begin of block b1.
    * The plan year date is normally the first day of the next year
    PARAMETERS: py_date LIKE SY-DATUM.
    * This date is the beginning of the enrollment period for managers
    PARAMETERS: MGR_DATE LIKE SY-DATUM.
    * This date is the beginning of the enrollment period for hourlys
    PARAMETERS: HRLY_DATE LIKE SY-DATUM.
    selection-screen end of block b1.
    INITIALIZATION.
      py_date = sy-datum.
      py_date(4) = py_date(4) + 1.
      py_date+4(4) = '0101'.
    START-OF-SELECTION.
    select * from pa0171
      where pernr in pernr
        and endda ge py_date
        and begda le py_date.
    * skip ineligible employees
      if pa0171-bstat eq 'INEL'.
        continue.
      endif.
    * determine start date of enrollment based on benefit group
      if pa0171-bengr eq 'MNGR'.
        start_date = mgr_date.
      elseif pa0171-bengr eq 'HRLY'.
        start_date = hrly_date.
      else.
    *   ERROR HANDLING GOES HERE
        continue.
      endif.
    * create IT0378 record for this person   
      clear i0378.
      i0378-pernr = PA0171-pernr.
      i0378-barea = PA0171-barea.
      i0378-event = 'OPEN'.
      i0378-begda = start_date.
      i0378-infty = '0378'.
      i0378-aedtm = sy-datum.
      i0378-uname = sy-uname.
      CALL FUNCTION 'HR_INFOTYPE_OPERATION'
           EXPORTING
                INFTY         = '0378'
                NUMBER        = i0378-pernr
                SUBTYPE       = 'OPEN'
                VALIDITYBEGIN = i0378-begda
                RECORD        = i0378
                OPERATION     = 'INS'
           IMPORTING
                RETURN        = return
           EXCEPTIONS
                OTHERS        = 1.
      if sy-subrc ne 0 or return-type ne ' '.
    *   ERROR HANDLING GOES HERE
      endif.
    ENDSELECT.

  • Dump in Zprogram using PNP logical database

    shows the following error when I run a human resources program that uses logical database PNP.
       ASSIGN_BASE_TOO_SHORT: The current ABAP program "SAPDBPNP" Had To Be terminated Because it has come across a statement Unfortunately That Can not Be Executed.
      Anybody can help me understand why this problem occurs?

    You should have run a simple search on this before raISING YOUR OWN QUESTION. sEVERAL PEOPLE HAVE HAD the same or similar issue.
    This thread quotes an oss note which might help you:
    ASSIGN_BASE_TOO_SHORT in DBPNPF03 (SAPDBPNP)

  • Dynamic internal table problem in FM - HR_INFOTYPE_OPERATIONS

    Dear All,
    I have a problem when I use a Dynamic internal table in FM - HR_INFOTYPE_OPERTATION..
    Please suggest me on the way to overcome this problem..
    We wanted to have a dynamic Program for Info type operations which can be used for any info types as we are changing only BEGDA and the related actions
    So in my program I have the parameters to accept
    P_BEGDA - 01.10.2007
    P_INFTY - P0008
    P_ACTIO - COPY
    I am able to create a dynamic table based on the parameters P_INFTY and able to read it also using the FM - HR_READ_INFOTYPE
    BUT when I pass the dynamic internal table to a FM - HR_INFOTYPE_OPERTATION I am getting a DUMP
    The DUMP is at the below statement from FM - HR_INFOTYPE_OPERTATION
    ASSIGN record TO <record> CASTING TYPE (tabname). "XDP UniCode
    It gives the below possiblities
    "ASSIGN_BASE_TOO_SHORT" C 
    "SAPLHRMM" or "LHRMMU03"  
    "HR_INFOTYPE_OPERATION"   
    But If I use the below internal table
    Data : g_t_0008 like P0008 occurs 0 with header line.
    And If I use the internal table g_t_0008 instead of dynamic tables then it works. So I strongly feel it's due to not having a header in the dynamic table below see below the sample code on how I am generating a dynamic internal table
    field-symbols: <dyn_table> type standard table.
    data: dy_table type ref to data,
          dy_line  type ref to data,
          xfc type lvc_s_fcat,
          ifc type lvc_t_fcat.
    to get the srurcute
    perform get_structure using l_f_table.
    perform create_dynamic_itab .
    assign dy_table->* to <dyn_table>.
    perform get_data tables <dyn_table01>
                      using pernr-pernr p_infty.
    below are the forms routine….
    form get_structure using p_table.
    data : idetails type abap_compdescr_tab,
           xdetails type abap_compdescr.
    data : ref_table_des type ref to cl_abap_structdescr.
    clear : ifc[], dy_table.
    Get the structure of the table.
      ref_table_des ?=
          cl_abap_typedescr=>describe_by_name( p_table ).
      idetails[] = ref_table_des->components[].
      loop at idetails into xdetails.
        clear xfc.
        xfc-fieldname = xdetails-name .
        xfc-datatype = xdetails-type_kind.
        xfc-inttype = xdetails-type_kind.
        xfc-intlen = xdetails-length.
        xfc-decimals = xdetails-decimals.
        append xfc to ifc.
      endloop.
    endform.
    form create_dynamic_itab.
    Create dynamic internal table and assign to FS
      call method cl_alv_table_create=>create_dynamic_table
                   exporting
                      it_fieldcatalog = ifc
                   importing
                      ep_table        = dy_table.
    endform.
    *&      Form  get_data
    form get_data  tables   p_table
                   using    p_pernr
                            p_infty.
    clear : p_table, p_table[].
      CALL FUNCTION 'HR_READ_INFOTYPE'
           EXPORTING
                PERNR           = P_PERNR
                INFTY           = p_infty
                BEGDA           = p_datum
                ENDDA           = p_datum
           TABLES
                INFTY_TAB       = p_table
           EXCEPTIONS
                INFTY_NOT_FOUND = 1
                OTHERS          = 2.
      CHECK SY-SUBRC EQ 0.
    IF lines( p_table ) GT 0.
    *write :/'Record exist' , 'IT', p_infty.
    clear p_table.
    PERFORM hr_operation tables  p_table
                         using  g_t_t588d-actio g_t_t588d-INFTY
                                g_t_t588d-SUBTY.
    else.
    PERFORM append_status using g_t_itab-pernr p_infty ' '
                                'Error' 'No records'.
    ENDIF.
    endform.                    " get_data
    form hr_operation  tables    p_table
                       using     p_actio P_INFTY P_SUBTY.
    data: l_f_return    LIKE bapireturn1.
    ASSIGN COMPONENT 'BEGDA' OF STRUCTURE p_table TO <l_field>.
          <l_field> = p_begda.
            CALL FUNCTION 'HR_INFOTYPE_OPERATION'
              EXPORTING
                infty         = P_infty
                number        = G_T_ITAB-PERNR
                subtype       = P_subty
                validityend   = g_f_endda
                validitybegin = P_datum
                record        = P_TABLE
                operation     = p_actio
              IMPORTING
                return        = l_f_return.
    IF sy-subrc NE 0.
    ENDIF.
    ENDFORM.

    try
    using field symbol for a wrk area instead of Field symbol for a table
    loop your inernal table (again a field symbol) assigning to <fs_wrkarea>
    in loop call HR_INFO.._OP..
    reward if helpful

  • Dump while calling HR_INFOTYPE_OPERATION

    Hi,
    I'm calling HR_INFOTYPE_OPERATION and I'm getting a short dump with ASSIGN_BASE_TOO_SHORT error.
    It's occuring on the line:
    ASSIGN record TO <record> CASTING TYPE (tabname).
    and it appears to be because the field symbol <record> is blank?
    Can someone please explain what's going on and how I can sort this out?
    Regards,

    Have you enhanced an infotype and then processing this infotype through this FM?
    The dump ASSIGN_BASE_TO_SHORT means that the structure of the field symbol (dynamicaly defined in T77D-DBTAB), is bigger than the field structure (typed TABLE HRINNNN).
    Please can you post your dictoinary declaration here (SE11). 

  • IT0002 New Infotype Framework with Secondary Infotype Short Dump

    In our new ERP 6.0 system, we are seeing a short dump, ASSIGN_BASE_TOO_SHORT  in CL_HRPA_INFOTYPE_0002_BE when hiring a Belgium employee.  It appears in the new Framework, the SPECIFIC_INITIAL_COMPUTATIONS method of CL_HRPA_INFOTYPE_0002_BE is expecting there to already be data in IT0108 (secondary infotype for Belgium IT0002).  However, during a hire, this data has not been filled yet.  That will be done during the processing of the IT0002 itself.
    I looked into IT0021 for the US, where IT0106 is a secondary infotype and the issue isn't present.  The code in the SPECIFIC_INITIAL_COMPUTATIONS of CL_HRPA_INFOTYPE_0021_US is written entirely different without the use of field symbols, so maybe it is a coding issue?
    Has anyone else run into this issue, or know if we are possibly missing configuration that would keep this issue from happening?

    Suresh,
    Yes, we have seen that note, and we have those changes implemented.  We are still having an issue.  The issue is related to any IT0002 with a secondary infotype so that includes Belgium, Brazil, Korea just to name a few.
    It appears the PNNNN2 structure within the SPECIFIC_INITIAL_COMPUTATIONS method is null (because it hasn't been created yet), and that is causing the short dump.  I can't believe this is working as expected because there is no way the IT0108 can be assumed to have a value in it, or you could never hire anyone.
    Bob

  • Error running program AI_CRM_CPY_PROCTYPE in SOLMAN 7.1

    Hi Gurus.
    I'm trying to run program AI_CRM_CPY_PROCTYPE  to copy transaction type SMIN to ZMIN in SOLMAN 7.1 SP3.
    When I choose button "start copy process", the program terminates with error "ASSIGN_BASE_TOO_SHORT".
    Do I need to change something in the screen before I choose the "start copy process"? Can you please help me how to correctly run this report to copy transaction type.
    The Central Correction Note for was already applied in our SOLMAN system.
    Thanks,
    Tess

    Hi,
    In SOLMAN 7.1, Use SOLMAN_SETUP, and go to IT Service Management-> Change Request Management.
    Apply the master note for Charm in step and in Step 3, Copy Transaction Type via Report.
    Please use the above method, it should work.
    Regards,
    Sunny

  • Infotype Update gives error

    Hi,
    I tried to update infotype 0000 with HR_INFOTYPE_OPERATION.
    It gave me a error with name  ASSIGN_BASE_TOO_SHORT
    Following is the error analysis.
    Pls guide me.
    Error analysis
        The source field is too short.
        In the running program "SAPLHRMM" a field should have been assigned to a field
        symbol, which is shorter than the type of the field symbol.
        This is not possible.
        It is a statement of the form ASSIGN f TO <fs> CASTING...
        or ASSIGN f TO <fs> with a field symbol that was created with the
        STRUCTURE addition.
    I have called my FM like this.
    CALL FUNCTION 'BAPI_EMPLOYEE_ENQUEUE'
            EXPORTING
              number = WA_p0000-pernr.
          CALL FUNCTION 'HR_INFOTYPE_OPERATION'
            EXPORTING
              INFTY                  = '0000'
              NUMBER                 =  WA_P0000-PERNR
    *   SUBTYPE                =
    *   OBJECTID               =
    *   LOCKINDICATOR          =
             VALIDITYEND            =  P0000-endda
             VALIDITYBEGIN          =  p0000-BEGDA
    *   RECORDNUMBER           =
              RECORD                 = WA_P0000
              OPERATION              = 'MOD'
             TCLAS                  = 'A'
             DIALOG_MODE            = '0'
    *   NOCOMMIT               =
    *   VIEW_IDENTIFIER        =
    *   SECONDARY_RECORD       =
           IMPORTING
             RETURN                 = w_return
    *   KEY                    =
          CALL FUNCTION 'BAPI_EMPLOYEE_DEQUEUE'
            EXPORTING
              number = WA_p0000-pernr.
    TIA.

    Hi ,
    I am also using the same function module and it is giving me the same dump can you let me know how did you solved the problem.
    Error in ASSIGN in the program "SAPLHRMM".
    Regards,
    Manohar

Maybe you are looking for