Skip to Content
author's profile photo Former Member
Former Member

Problem in uploading inforecords through "RM06IBI0"

Hi experts,

I am facing the problem when i amuploading the purchase info record data through the program RM06IBI0 for some records only(randomly).

This program is unable to upload the condition records data in the screen SAPMV13A-0201.It is giving the error filed konp-kmein(1) does not exist in the screen SAPMM06I 0102.

Can any body suggest me what is the cause? as an urgent basis.

Thanks and regards,

Vamsi.

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

2 Answers

  • author's profile photo Former Member
    Former Member
    Posted on Nov 20, 2007 at 06:10 AM

    hi vamsi,

    kindly give the code

    regards,

    pavan

    Add a comment
    10|10000 characters needed characters exceeded

    • Former Member
      • Function to Open job

      CALL FUNCTION 'JOB_OPEN'

      EXPORTING

      jobname = y_k_jobname

      IMPORTING

      jobcount = y_v_jobcount

      EXCEPTIONS

      cant_create_job = 01

      invalid_job_data = 02

      jobname_missing = 03.

      IF sy-subrc NE 0.

      MESSAGE text-016 TYPE y_k_s.

      LEAVE LIST-PROCESSING.

      ENDIF.

      • Insert program RM06IBI0

      SUBMIT rm06ibi0 USING SELECTION-SCREEN '1000'

      WITH SELECTION-TABLE y_v_rspar_tab

      AND RETURN

      VIA JOB y_k_jobname

      NUMBER y_v_jobcount.

      • Insert program RSBDCSUB

      SUBMIT rsbdcsub USING SELECTION-SCREEN '1000'

      WITH SELECTION-TABLE y_v_rspar_tab1

      AND RETURN

      VIA JOB y_k_jobname

      NUMBER y_v_jobcount.

      MOVE: y_k_parm4 TO y_v_rspar_line2-selname,

      y_k_p TO y_v_rspar_line2-kind,

      y_k_i TO y_v_rspar_line2-sign ,

      y_k_eq TO y_v_rspar_line2-option,

      y_p_grp TO y_v_rspar_line2-low.

      APPEND y_v_rspar_line2 TO y_v_rspar_tab2.

      CLEAR y_v_rspar_line2.

      MOVE: y_k_parm7 TO y_v_rspar_line2-selname,

      y_k_p TO y_v_rspar_line2-kind,

      y_k_i TO y_v_rspar_line2-sign ,

      y_k_eq TO y_v_rspar_line2-option,

      y_p_bfil TO y_v_rspar_line2-low.

      APPEND y_v_rspar_line2 TO y_v_rspar_tab2.

      CLEAR y_v_rspar_line2.

      MOVE: y_k_parm11 TO y_v_rspar_line2-selname,

      y_k_p TO y_v_rspar_line2-kind,

      y_k_i TO y_v_rspar_line2-sign ,

      y_k_eq TO y_v_rspar_line2-option,

      y_v_fill TO y_v_rspar_line2-low.

      APPEND y_v_rspar_line2 TO y_v_rspar_tab2.

      MOVE: y_k_parm12 TO y_v_rspar_line2-selname,

      y_k_p TO y_v_rspar_line2-kind,

      y_k_i TO y_v_rspar_line2-sign ,

      y_k_eq TO y_v_rspar_line2-option,

      y_v_count1 TO y_v_rspar_line2-low.

      APPEND y_v_rspar_line2 TO y_v_rspar_tab2.

      IF sy-batch = 'X'.

      • Insert program RM06IBI0

      SUBMIT ypuuprr0200 USING SELECTION-SCREEN '1000'

      WITH SELECTION-TABLE y_v_rspar_tab2

      AND RETURN

      VIA JOB y_k_jobname

      NUMBER y_v_jobcount.

      ENDIF.

      IF sy-subrc EQ y_k_zero.

      MOVE: sy-datum TO y_t_starttime-sdlstrtdt,

      sy-uzeit TO y_t_starttime-sdlstrttm,

      y_k_x TO y_v_starttim.

      • Close job

      CALL FUNCTION 'JOB_CLOSE'

      EXPORTING

      jobcount = y_v_jobcount

      jobname = y_k_jobname

      strtimmed = y_v_starttim

      targetsystem = y_v_host

      EXCEPTIONS

      cant_start_immediate = 01

      invalid_startdate = 02

      jobname_missing = 03

      job_close_failed = 04

      job_nosteps = 05

      job_notex = 06

      lock_failed = 07

      OTHERS = 99.

      ENDIF. "if sy-subrc eq 0

      *if job not created properly delete the job

      IF sy-subrc NE y_k_zero.

      CALL FUNCTION 'BP_JOB_DELETE'

      EXPORTING

      jobcount = y_v_jobcount

      jobname = y_k_jobname

      EXCEPTIONS

      cant_delete_event_entry = 1

      cant_delete_job = 2

      cant_delete_joblog = 3

      cant_delete_steps = 4

      cant_delete_time_entry = 5

      cant_derelease_successor = 6

      cant_enq_predecessor = 7

      cant_enq_successor = 8

      cant_enq_tbtco_entry = 9

      cant_update_predecessor = 10

      cant_update_successor = 11

      commit_failed = 12

      jobcount_missing = 13

      jobname_missing = 14

      job_does_not_exist = 15

      job_is_already_running = 16

      no_delete_authority = 17

      OTHERS = 18.

      ENDIF. "IF sy-subrc NE 0.

      *Check for Foreground execution

      IF sy-batch NE y_k_x.

      DO.

      IF sy-index EQ '10' OR y_v_fill1 > y_v_fill.

      EXIT.

      ELSE.

      WAIT UP TO 3 SECONDS.

      ENDIF.

      *Fetch data from APQI

      SELECT qid groupid qstate

      INTO CORRESPONDING FIELDS OF TABLE y_i_apqi1

      FROM apqi

      WHERE groupid EQ y_p_grp

      AND datatyp EQ 'BDC'

      AND progid EQ 'RM06IBI0'

      AND creator EQ sy-uname

      AND credate EQ sy-datum.

      DESCRIBE TABLE y_i_apqi1 LINES y_v_fill1.

      ENDDO.

      *Check new entry in table

      IF y_v_fill1 > y_v_fill.

      READ TABLE y_i_apqi1 INDEX y_v_fill1 INTO y_wa_apqi1.

      IF sy-subrc EQ 0.

      APPEND y_wa_apqi1 TO y_i_apqi2.

      ENDIF.

      ENDIF.

      *check if table is empty

      IF y_i_apqi2 IS INITIAL.

      MESSAGE text-035 TYPE y_k_s.

      LEAVE LIST-PROCESSING.

      ELSE.

      READ TABLE y_i_apqi2 INDEX 1 INTO y_wa_apqi1.

      ENDIF.

      *check if Session is finished

      DO.

      IF sy-index EQ '10' OR y_wa_apqi1-qstate EQ 'F' OR

      y_wa_apqi1-qstate EQ 'E'.

      EXIT.

      ELSE.

      WAIT UP TO 3 SECONDS.

      ENDIF.

      *Read table y_i_apqi1 into y_wa_apqi1 index 1.

      SELECT qid groupid qstate

      INTO CORRESPONDING FIELDS OF TABLE y_i_apqi2

      FROM apqi

      WHERE qid EQ y_wa_apqi1-qid AND

      ( qstate EQ 'F' OR qstate EQ 'E').

      IF sy-subrc EQ 0.

      EXIT.

      ENDIF.

      ENDDO.

      *read table with status finished

      READ TABLE y_i_apqi2 INDEX 1 INTO y_wa_apqi1.

      IF y_wa_apqi1-qstate NE 'F' AND y_wa_apqi1-qstate NE 'E'.

      MESSAGE text-036 TYPE y_k_s.

      LEAVE LIST-PROCESSING.

      ELSE.

      *Use function to read session log

      CALL FUNCTION 'YTI_BATCH_INPUT_SESSION_LOGS'

      EXPORTING

      • NAME = y_p_grp

      client = sy-mandt

      date_from = sy-datum

      date_to = sy-datum

      qid = y_wa_apqi1-qid

      status = y_k_r

      TABLES

      apqltab = y_i_apqi2

      bdclm = y_i_bdclm

      EXCEPTIONS

      invalid_data = 1

      OTHERS = 2

      .

      IF sy-subrc <> 0.

      MESSAGE s305(00) WITH text-001 text-009 text-010.

      ENDIF.

      Thanks and regards,

      Vamsi.

  • Posted on Nov 20, 2007 at 06:46 AM

    Hello,

    I have faced a similar problem in my previous loading & observed that several fields are missing in the BI structures concerning conditions and failed to upload multiple conditions each with many scales.

    So I have loaded using following method:

    Load the INFOREC with zero price in first step

    In second step load the conditions with IDoc: COND_A/CONDA02.

    Hope this helps.

    Best Regards, Murugesh

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.